From aa5a3d59185cb81a862e5194ba799c144d9f246a Mon Sep 17 00:00:00 2001 From: tdreyno Date: Fri, 13 Nov 2009 12:25:16 -0800 Subject: [PATCH] runcoderun --- .document | 0 .gitignore | 24 +- Gemfile | 17 + LICENSE | 0 README.rdoc | 0 Rakefile | 4 + VERSION | 0 bin/mm-init | 1 + deps.rip | 0 lib/middleman.rb | 2 + lib/middleman/base.rb | 0 lib/middleman/builder.rb | 0 lib/middleman/config.ru | 0 lib/middleman/fastimage.rb | 0 .../features/automatic_image_sizes.rb | 0 lib/middleman/features/cache_buster.rb | 0 lib/middleman/features/growl.rb | 0 lib/middleman/features/maruku.rb | 0 lib/middleman/features/minify_css.rb | 0 lib/middleman/features/minify_javascript.rb | 0 lib/middleman/features/relative_assets.rb | 0 lib/middleman/features/slickmap.rb | 0 lib/middleman/features/smush_pngs.rb | 0 lib/middleman/features/sprockets.rb | 0 lib/middleman/haml.rb | 0 lib/middleman/helpers.rb | 0 lib/middleman/rack/sprockets+ruby19.rb | 0 lib/middleman/rack/sprockets.rb | 0 lib/middleman/rack/static.rb | 0 lib/middleman/sass.rb | 0 lib/middleman/template/init.rbt | 0 lib/middleman/template/views/index.html.haml | 0 lib/middleman/template/views/layout.haml | 0 .../template/views/stylesheets/site.css.sass | 0 lib/middleman/templater+dynamic_renderer.rb | 0 middleman.gemspec | 0 spec/auto_image_sizes.rb | 1 - spec/builder_spec.rb | 0 spec/cache_buster_spec.rb | 1 - spec/fixtures/sample/init.rb | 0 spec/fixtures/sample/public/images/blank.gif | Bin .../public/javascripts/to-be-included.js | 0 spec/fixtures/sample/public/static.html | 0 .../sample/public/stylesheets/auto-css.css | 0 .../sample/public/stylesheets/static.css | 0 .../public/stylesheets/sub1/auto-css.css | 0 .../public/stylesheets/sub1/sub2/auto-css.css | 0 spec/fixtures/sample/views/_partial.haml | 0 spec/fixtures/sample/views/auto-css.html.haml | 0 .../sample/views/auto-image-sizes.html.haml | 0 spec/fixtures/sample/views/index.html.haml | 0 .../fixtures/sample/views/inline-js.html.haml | 0 .../views/javascripts/empty-with-include.js | 0 spec/fixtures/sample/views/layout.haml | 0 spec/fixtures/sample/views/maruku.html.maruku | 0 .../sample/views/page-classes.html.haml | 0 .../sample/views/services/index.html.haml | 0 .../stylesheets/relative_assets.css.sass | 0 .../sample/views/stylesheets/site.css.sass | 0 spec/generator_spec.rb | 0 spec/helpers_spec.rb | 1 - spec/minify_javascript_spec.rb | 1 - spec/relative_assets_spec.rb | 1 - spec/spec_helper.rb | 5 +- vendor/gems/cache/builder-2.1.2.gem | Bin 0 -> 22528 bytes vendor/gems/cache/compass-0.8.17.gem | Bin 0 -> 395264 bytes vendor/gems/cache/configuration-1.1.0.gem | Bin 0 -> 9216 bytes vendor/gems/cache/cucumber-0.4.4.gem | Bin 0 -> 208384 bytes vendor/gems/cache/daemons-1.0.10.gem | Bin 0 -> 31232 bytes vendor/gems/cache/diff-lcs-1.1.2.gem | Bin 0 -> 27136 bytes vendor/gems/cache/eventmachine-0.12.10.gem | Bin 0 -> 220672 bytes vendor/gems/cache/extlib-0.9.13.gem | Bin 0 -> 65024 bytes vendor/gems/cache/haml-2.2.13.gem | Bin 0 -> 144896 bytes vendor/gems/cache/highline-1.5.1.gem | Bin 0 -> 55296 bytes vendor/gems/cache/json-1.2.0.gem | Bin 0 -> 385536 bytes vendor/gems/cache/launchy-0.3.3.gem | Bin 0 -> 15872 bytes vendor/gems/cache/polyglot-0.2.9.gem | Bin 0 -> 7168 bytes vendor/gems/cache/rack-1.0.1.gem | Bin 0 -> 134656 bytes vendor/gems/cache/rack-test-0.5.1.gem | Bin 0 -> 18944 bytes vendor/gems/cache/rake-0.8.7.gem | Bin 0 -> 104960 bytes vendor/gems/cache/rdoc-2.4.3.gem | Bin 0 -> 177664 bytes vendor/gems/cache/rspec-1.2.9.gem | Bin 0 -> 208384 bytes vendor/gems/cache/sdoc-0.2.14.1.gem | Bin 0 -> 260608 bytes vendor/gems/cache/shotgun-0.4.gem | Bin 0 -> 7680 bytes vendor/gems/cache/sinatra-0.9.4.gem | Bin 0 -> 119808 bytes vendor/gems/cache/sinatra-content-for-0.2.gem | Bin 0 -> 6656 bytes vendor/gems/cache/sprockets-1.0.2.gem | Bin 0 -> 13312 bytes vendor/gems/cache/templater-1.0.0.gem | Bin 0 -> 32256 bytes vendor/gems/cache/term-ansicolor-1.0.4.gem | Bin 0 -> 15360 bytes vendor/gems/cache/thin-1.2.5.gem | Bin 0 -> 152064 bytes vendor/gems/cache/treetop-1.4.2.gem | Bin 0 -> 43008 bytes vendor/gems/cache/yui-compressor-0.9.1.gem | Bin 0 -> 817152 bytes vendor/gems/environment.rb | 205 + vendor/gems/gems/builder-2.1.2/CHANGES | 85 + vendor/gems/gems/builder-2.1.2/README | 210 + vendor/gems/gems/builder-2.1.2/Rakefile | 263 + .../doc/releases/builder-1.2.4.rdoc | 31 + .../doc/releases/builder-2.0.0.rdoc | 46 + .../doc/releases/builder-2.1.1.rdoc | 58 + .../gems/gems/builder-2.1.2/lib/blankslate.rb | 113 + vendor/gems/gems/builder-2.1.2/lib/builder.rb | 13 + .../builder-2.1.2/lib/builder/blankslate.rb | 20 + .../gems/builder-2.1.2/lib/builder/xchar.rb | 115 + .../gems/builder-2.1.2/lib/builder/xmlbase.rb | 139 + .../builder-2.1.2/lib/builder/xmlevents.rb | 63 + .../builder-2.1.2/lib/builder/xmlmarkup.rb | 328 ++ .../gems/builder-2.1.2/scripts/publish.rb | 17 + .../gems/builder-2.1.2/test/performance.rb | 30 + .../gems/gems/builder-2.1.2/test/preload.rb | 29 + .../gems/builder-2.1.2/test/test_xchar.rb | 37 + .../gems/builder-2.1.2/test/testblankslate.rb | 183 + .../builder-2.1.2/test/testeventbuilder.rb | 133 + .../builder-2.1.2/test/testmarkupbuilder.rb | 449 ++ .../gems/compass-0.8.17/CHANGELOG.markdown | 557 +++ .../gems/gems/compass-0.8.17/LICENSE.markdown | 29 + .../gems/gems/compass-0.8.17/README.markdown | 44 + vendor/gems/gems/compass-0.8.17/REVISION | 1 + vendor/gems/gems/compass-0.8.17/Rakefile | 127 + vendor/gems/gems/compass-0.8.17/VERSION.yml | 4 + vendor/gems/gems/compass-0.8.17/bin/compass | 8 + vendor/gems/gems/compass-0.8.17/deps.rip | 1 + .../compass-0.8.17/examples/README.markdown | 4 + .../examples/blueprint_default/config.rb | 7 + .../blueprint_default/images/grid.png | Bin 0 -> 206 bytes .../blueprint_default/index.html.haml | 85 + .../parts/elements.html.haml | 282 ++ .../blueprint_default/parts/forms.html.haml | 190 + .../blueprint_default/parts/grid.html.haml | 274 ++ .../blueprint_default/parts/test-small.jpg | Bin 0 -> 1886 bytes .../examples/blueprint_default/parts/test.jpg | Bin 0 -> 35467 bytes .../blueprint_default/parts/valid.png | Bin 0 -> 1669 bytes .../examples/blueprint_default/src/ie.sass | 3 + .../blueprint_default/src/images/grid.png | Bin 0 -> 206 bytes .../examples/blueprint_default/src/print.sass | 3 + .../blueprint_default/src/screen.sass | 8 + .../examples/blueprint_plugins/config.rb | 8 + .../images/buttons/cross.png | Bin 0 -> 655 bytes .../blueprint_plugins/images/buttons/key.png | Bin 0 -> 455 bytes .../blueprint_plugins/images/buttons/tick.png | Bin 0 -> 537 bytes .../blueprint_plugins/images/grid.png | Bin 0 -> 206 bytes .../images/link_icons/doc.png | Bin 0 -> 777 bytes .../images/link_icons/email.png | Bin 0 -> 641 bytes .../images/link_icons/external.png | Bin 0 -> 46848 bytes .../images/link_icons/feed.png | Bin 0 -> 691 bytes .../images/link_icons/im.png | Bin 0 -> 741 bytes .../images/link_icons/pdf.png | Bin 0 -> 591 bytes .../images/link_icons/visited.png | Bin 0 -> 46990 bytes .../images/link_icons/xls.png | Bin 0 -> 663 bytes .../blueprint_plugins/images/test-small.jpg | Bin 0 -> 1886 bytes .../blueprint_plugins/images/test.jpg | Bin 0 -> 35467 bytes .../blueprint_plugins/images/valid.png | Bin 0 -> 1669 bytes .../blueprint_plugins/index.html.haml | 96 + .../plugins/buttons.html.haml | 67 + .../plugins/fancy_type.html.haml | 100 + .../plugins/link_icons.html.haml | 61 + .../blueprint_plugins/plugins/rtl.html.haml | 100 + .../blueprint_plugins/src/buttons.sass | 49 + .../examples/blueprint_plugins/src/ie.sass | 3 + .../blueprint_plugins/src/images/grid.png | Bin 0 -> 206 bytes .../blueprint_plugins/src/link_icons.sass | 13 + .../examples/blueprint_plugins/src/print.sass | 3 + .../blueprint_plugins/src/rtl_screen.sass | 13 + .../blueprint_plugins/src/screen.sass | 11 + .../examples/blueprint_scoped/images/grid.png | Bin 0 -> 199 bytes .../examples/blueprint_scoped/src/ie.sass | 3 + .../examples/blueprint_scoped/src/print.sass | 3 + .../examples/blueprint_scoped/src/screen.sass | 4 + .../blueprint_scoped_form/images/grid.png | Bin 0 -> 199 bytes .../blueprint_scoped_form/src/ie.sass | 3 + .../blueprint_scoped_form/src/print.sass | 3 + .../blueprint_scoped_form/src/screen.sass | 10 + .../examples/blueprint_semantic/config.rb | 7 + .../blueprint_semantic/images/grid.png | Bin 0 -> 206 bytes .../blueprint_semantic/index.html.haml | 86 + .../parts/fancy_type.html.haml | 100 + .../blueprint_semantic/parts/liquid.html.haml | 100 + .../blueprint_semantic/parts/test-small.jpg | Bin 0 -> 1886 bytes .../blueprint_semantic/parts/test.jpg | Bin 0 -> 35467 bytes .../blueprint_semantic/parts/valid.png | Bin 0 -> 1669 bytes .../examples/blueprint_semantic/src/ie.sass | 3 + .../blueprint_semantic/src/images/grid.png | Bin 0 -> 206 bytes .../blueprint_semantic/src/liquid.sass | 70 + .../blueprint_semantic/src/print.sass | 3 + .../blueprint_semantic/src/screen.sass | 71 + .../examples/compass/compass.html.haml | 39 + .../compass-0.8.17/examples/compass/config.rb | 7 + .../examples/compass/images/blue_arrow.gif | Bin 0 -> 51 bytes .../examples/compass/src/compass.sass | 47 + .../compass/src/images/blue_arrow.gif | Bin 0 -> 51 bytes .../examples/compass/src/sticky_footer.sass | 11 + .../examples/compass/src/utilities.sass | 108 + .../examples/compass/sticky_footer.html.haml | 14 + .../examples/compass/utilities.html.haml | 189 + .../examples/logo/logo.html.haml | 40 + .../compass-0.8.17/examples/logo/src/ie.sass | 6 + .../examples/logo/src/print.sass | 6 + .../examples/logo/src/screen.sass | 29 + .../examples/yui/divisions.html.haml | 179 + .../examples/yui/index.html.haml | 19 + .../examples/yui/src/screen.sass | 13 + .../examples/yui/sub_divisions.html.haml | 169 + .../examples/yui/templates.html.haml | 54 + .../gems/compass-0.8.17/examples/yui/test.jpg | Bin 0 -> 35467 bytes .../examples/yui/typography.html.haml | 132 + .../compass-0.8.17/frameworks/blueprint.rb | 2 + .../blueprint/stylesheets/_blueprint.sass | 3 + .../blueprint/stylesheets/blueprint/_ie.sass | 93 + .../stylesheets/blueprint/_print.sass | 83 + .../stylesheets/blueprint/_reset.sass | 3 + .../stylesheets/blueprint/_screen.sass | 15 + .../blueprint/modules/_buttons.sass | 84 + .../blueprint/modules/_colors.sass | 33 + .../stylesheets/blueprint/modules/_debug.sass | 9 + .../blueprint/modules/_fancy_type.sass | 82 + .../stylesheets/blueprint/modules/_form.sass | 55 + .../stylesheets/blueprint/modules/_grid.sass | 178 + .../blueprint/modules/_interaction.sass | 58 + .../blueprint/modules/_link_icons.sass | 44 + .../blueprint/modules/_liquid.sass | 141 + .../stylesheets/blueprint/modules/_reset.sass | 56 + .../stylesheets/blueprint/modules/_rtl.sass | 104 + .../blueprint/modules/_scaffolding.sass | 47 + .../blueprint/modules/_typography.sass | 155 + .../blueprint/modules/_utilities.sass | 37 + .../blueprint/templates/buttons/buttons.sass | 49 + .../templates/buttons/buttons/cross.png | Bin 0 -> 655 bytes .../templates/buttons/buttons/key.png | Bin 0 -> 455 bytes .../templates/buttons/buttons/tick.png | Bin 0 -> 537 bytes .../blueprint/templates/buttons/manifest.rb | 5 + .../templates/link_icons/link_icons.sass | 13 + .../templates/link_icons/link_icons/doc.png | Bin 0 -> 777 bytes .../templates/link_icons/link_icons/email.png | Bin 0 -> 641 bytes .../link_icons/link_icons/external.png | Bin 0 -> 46848 bytes .../templates/link_icons/link_icons/feed.png | Bin 0 -> 691 bytes .../templates/link_icons/link_icons/im.png | Bin 0 -> 741 bytes .../templates/link_icons/link_icons/pdf.png | Bin 0 -> 591 bytes .../link_icons/link_icons/visited.png | Bin 0 -> 46990 bytes .../templates/link_icons/link_icons/xls.png | Bin 0 -> 663 bytes .../templates/link_icons/manifest.rb | 10 + .../blueprint/templates/project/grid.png | Bin 0 -> 206 bytes .../blueprint/templates/project/ie.sass | 15 + .../blueprint/templates/project/manifest.rb | 6 + .../templates/project/partials/_base.sass | 11 + .../blueprint/templates/project/print.sass | 3 + .../blueprint/templates/project/screen.sass | 40 + .../gems/compass-0.8.17/frameworks/compass.rb | 2 + .../compass/stylesheets/_compass.sass | 1 + .../compass/stylesheets/compass/_layout.sass | 1 + .../compass/stylesheets/compass/_misc.sass | 24 + .../compass/stylesheets/compass/_reset.sass | 3 + .../stylesheets/compass/_utilities.sass | 6 + .../compass/layout/_sticky_footer.sass | 17 + .../compass/utilities/_general.sass | 6 + .../stylesheets/compass/utilities/_links.sass | 3 + .../stylesheets/compass/utilities/_lists.sass | 3 + .../stylesheets/compass/utilities/_print.sass | 24 + .../compass/utilities/_sprites.sass | 1 + .../compass/utilities/_tables.sass | 3 + .../stylesheets/compass/utilities/_text.sass | 2 + .../compass/utilities/general/_clearfix.sass | 24 + .../compass/utilities/general/_float.sass | 17 + .../compass/utilities/general/_hacks.sass | 6 + .../utilities/general/_inline_block.sass | 6 + .../compass/utilities/general/_reset.sass | 134 + .../compass/utilities/general/_tabs.sass | 0 .../compass/utilities/general/_tag_cloud.sass | 19 + .../compass/utilities/links/_hover_link.sass | 5 + .../compass/utilities/links/_link_colors.sass | 24 + .../utilities/links/_unstyled_link.sass | 5 + .../compass/utilities/lists/_bullets.sass | 21 + .../utilities/lists/_horizontal_list.sass | 52 + .../compass/utilities/lists/_inline_list.sass | 29 + .../utilities/sprites/_sprite_img.sass | 12 + .../tables/_alternating_rows_and_columns.sass | 20 + .../compass/utilities/tables/_borders.sass | 27 + .../utilities/tables/_scaffolding.sass | 9 + .../compass/utilities/text/_ellipsis.sass | 13 + .../compass/utilities/text/_nowrap.sass | 3 + .../compass/utilities/text/_replacement.sass | 17 + .../compass/templates/ellipsis/ellipsis.sass | 6 + .../compass/templates/ellipsis/manifest.rb | 2 + .../templates/ellipsis/xml/ellipsis.xml | 14 + .../compass/templates/project/ie.sass | 6 + .../compass/templates/project/manifest.rb | 3 + .../compass/templates/project/print.sass | 6 + .../compass/templates/project/screen.sass | 13 + .../gems/compass-0.8.17/frameworks/yui.rb | 2 + .../frameworks/yui/stylesheets/_yui.sass | 7 + .../yui/stylesheets/yui/modules/_base.sass | 60 + .../yui/stylesheets/yui/modules/_fonts.sass | 38 + .../yui/stylesheets/yui/modules/_grids.sass | 341 ++ .../yui/stylesheets/yui/modules/_reset.sass | 61 + .../yui/templates/project/manifest.rb | 1 + .../yui/templates/project/screen.sass | 4 + .../gems/gems/compass-0.8.17/lib/compass.rb | 23 + .../compass-0.8.17/lib/compass/actions.rb | 110 + .../lib/compass/app_integration.rb | 5 + .../lib/compass/app_integration/merb.rb | 43 + .../lib/compass/app_integration/rails.rb | 12 + .../rails/action_controller.rb | 15 + .../app_integration/rails/sass_plugin.rb | 5 + .../rails/templates/compass-install-rails.rb | 80 + .../lib/compass/app_integration/rails/urls.rb | 14 + .../lib/compass/commands/base.rb | 33 + .../lib/compass/commands/create_project.rb | 19 + .../commands/generate_grid_background.rb | 24 + .../lib/compass/commands/installer_command.rb | 31 + .../lib/compass/commands/list_frameworks.rb | 16 + .../lib/compass/commands/print_version.rb | 23 + .../lib/compass/commands/project_base.rb | 112 + .../lib/compass/commands/stamp_pattern.rb | 33 + .../lib/compass/commands/update_project.rb | 34 + .../lib/compass/commands/validate_project.rb | 21 + .../lib/compass/commands/watch_project.rb | 64 + .../compass/commands/write_configuration.rb | 28 + .../compass-0.8.17/lib/compass/compiler.rb | 54 + .../lib/compass/configuration.rb | 324 ++ .../compass-0.8.17/lib/compass/core_ext.rb | 14 + .../lib/compass/dependencies.rb | 10 + .../gems/compass-0.8.17/lib/compass/errors.rb | 7 + .../gems/compass-0.8.17/lib/compass/exec.rb | 251 + .../compass-0.8.17/lib/compass/frameworks.rb | 29 + .../lib/compass/grid_builder.rb | 72 + .../compass-0.8.17/lib/compass/installers.rb | 5 + .../lib/compass/installers/base.rb | 158 + .../lib/compass/installers/manifest.rb | 58 + .../lib/compass/installers/rails.rb | 135 + .../lib/compass/installers/stand_alone.rb | 60 + .../gems/compass-0.8.17/lib/compass/logger.rb | 42 + .../lib/compass/sass_extensions.rb | 5 + .../lib/compass/sass_extensions/functions.rb | 19 + .../sass_extensions/functions/display.rb | 22 + .../sass_extensions/functions/enumerate.rb | 6 + .../sass_extensions/functions/inline_image.rb | 35 + .../sass_extensions/functions/selectors.rb | 39 + .../compass/sass_extensions/functions/urls.rb | 105 + .../compass/sass_extensions/monkey_patches.rb | 3 + .../monkey_patches/stylesheet_updating.rb | 23 + .../compass-0.8.17/lib/compass/test_case.rb | 38 + .../compass-0.8.17/lib/compass/validator.rb | 10 + .../compass-0.8.17/lib/compass/version.rb | 57 + .../gems/compass-0.8.17/lib/vendor/fssm.rb | 41 + .../lib/vendor/fssm/backends/fsevents.rb | 37 + .../lib/vendor/fssm/backends/polling.rb | 26 + .../compass-0.8.17/lib/vendor/fssm/cache.rb | 193 + .../compass-0.8.17/lib/vendor/fssm/ext.rb | 37 + .../lib/vendor/fssm/fsevents.rb | 129 + .../compass-0.8.17/lib/vendor/fssm/monitor.rb | 25 + .../compass-0.8.17/lib/vendor/fssm/path.rb | 91 + .../compass-0.8.17/lib/vendor/fssm/state.rb | 54 + .../compass-0.8.17/lib/vendor/fssm/support.rb | 22 + .../compass-0.8.17/lib/vendor/fssm/tree.rb | 176 + .../test/command_line_helper.rb | 102 + .../compass-0.8.17/test/command_line_test.rb | 66 + .../gems/compass-0.8.17/test/compass_test.rb | 141 + .../compass-0.8.17/test/configuration_test.rb | 118 + .../fixtures/stylesheets/blueprint/config.rb | 9 + .../stylesheets/blueprint/css/typography.css | 158 + .../stylesheets/blueprint/images/grid.png | Bin 0 -> 199 bytes .../stylesheets/blueprint/sass/ie.sass | 3 + .../stylesheets/blueprint/sass/print.sass | 3 + .../stylesheets/blueprint/sass/screen.sass | 17 + .../blueprint/sass/typography.sass | 3 + .../fixtures/stylesheets/compass/config.rb | 9 + .../stylesheets/compass/css/layout.css | 13 + .../stylesheets/compass/css/print.css | 18 + .../stylesheets/compass/css/reset.css | 60 + .../stylesheets/compass/css/utilities.css | 17 + .../stylesheets/compass/sass/layout.sass | 3 + .../stylesheets/compass/sass/print.sass | 5 + .../stylesheets/compass/sass/reset.sass | 10 + .../stylesheets/compass/sass/utilities.sass | 6 + .../fixtures/stylesheets/image_urls/config.rb | 17 + .../stylesheets/image_urls/css/screen.css | 3 + .../stylesheets/image_urls/images/grid.png | Bin 0 -> 199 bytes .../stylesheets/image_urls/sass/screen.sass | 6 + .../test/fixtures/stylesheets/yui/config.rb | 9 + .../fixtures/stylesheets/yui/css/mixins.css | 13 + .../fixtures/stylesheets/yui/sass/base.sass | 3 + .../fixtures/stylesheets/yui/sass/fonts.sass | 3 + .../fixtures/stylesheets/yui/sass/grids.sass | 3 + .../fixtures/stylesheets/yui/sass/mixins.sass | 16 + .../test/rails_integration_test.rb | 83 + .../test/sass_extensions_test.rb | 31 + .../compass-0.8.17/test/test_case_helper.rb | 13 + .../gems/compass-0.8.17/test/test_helper.rb | 21 + .../compass-0.8.17/test/test_rails_helper.rb | 20 + vendor/gems/gems/configuration-1.1.0/README | 197 + .../gems/gems/configuration-1.1.0/README.erb | 69 + vendor/gems/gems/configuration-1.1.0/Rakefile | 241 + .../gems/gems/configuration-1.1.0/config/a.rb | 5 + .../gems/gems/configuration-1.1.0/config/b.rb | 19 + .../gems/gems/configuration-1.1.0/config/c.rb | 8 + .../gems/gems/configuration-1.1.0/config/d.rb | 5 + .../gems/gems/configuration-1.1.0/config/e.rb | 13 + .../configuration-1.1.0/configuration.gemspec | 28 + .../configuration-1.1.0/lib/configuration.rb | 199 + .../gems/configuration-1.1.0/samples/a.rb | 11 + .../gems/configuration-1.1.0/samples/b.rb | 11 + .../gems/configuration-1.1.0/samples/c.rb | 11 + .../gems/configuration-1.1.0/samples/d.rb | 14 + .../gems/configuration-1.1.0/samples/e.rb | 12 + .../gems/gems/cucumber-0.4.4/.gitattributes | 1 + vendor/gems/gems/cucumber-0.4.4/.gitignore | 17 + vendor/gems/gems/cucumber-0.4.4/History.txt | 1269 +++++ vendor/gems/gems/cucumber-0.4.4/LICENSE | 22 + vendor/gems/gems/cucumber-0.4.4/Manifest.txt | 0 vendor/gems/gems/cucumber-0.4.4/README.rdoc | 26 + vendor/gems/gems/cucumber-0.4.4/Rakefile | 63 + vendor/gems/gems/cucumber-0.4.4/VERSION.yml | 5 + vendor/gems/gems/cucumber-0.4.4/bin/cucumber | 16 + .../gems/gems/cucumber-0.4.4/cucumber.gemspec | 750 +++ vendor/gems/gems/cucumber-0.4.4/cucumber.yml | 4 + .../examples/dos_line_endings/Rakefile | 6 + .../features/dos_line_endings.feature | 9 + .../examples/i18n/README.textile | 18 + .../cucumber-0.4.4/examples/i18n/Rakefile | 32 + .../cucumber-0.4.4/examples/i18n/ar/Rakefile | 6 + .../i18n/ar/features/addition.feature | 17 + .../step_definitons/calculator_steps.rb | 24 + .../examples/i18n/ar/lib/calculator.rb | 11 + .../cucumber-0.4.4/examples/i18n/bg/Rakefile | 6 + .../i18n/bg/features/addition.feature | 12 + .../features/consecutive_calculations.feature | 19 + .../i18n/bg/features/division.feature | 17 + .../step_definitons/calculator_steps.rb | 24 + .../examples/i18n/bg/features/support/env.rb | 6 + .../i18n/bg/features/support/world.rb | 8 + .../examples/i18n/bg/lib/calculator.rb | 24 + .../cucumber-0.4.4/examples/i18n/cat/Rakefile | 6 + .../step_definitons/calculator_steps.rb | 21 + .../examples/i18n/cat/features/suma.feature | 17 + .../examples/i18n/cat/lib/calculadora.rb | 16 + .../cucumber-0.4.4/examples/i18n/da/Rakefile | 6 + .../i18n/da/features/sammenlaegning.feature | 18 + .../step_definitons/lommeregner_steps.rb | 24 + .../examples/i18n/da/lib/lommeregner.rb | 11 + .../examples/i18n/de/.gitignore | 1 + .../cucumber-0.4.4/examples/i18n/de/Rakefile | 6 + .../i18n/de/features/addition.feature | 17 + .../i18n/de/features/division.feature | 10 + .../step_definitons/calculator_steps.rb | 24 + .../examples/i18n/de/lib/calculator.rb | 14 + .../examples/i18n/en-lol/Rakefile | 6 + .../step_definitions/cucumbrz_steps.rb | 16 + .../i18n/en-lol/features/stuffing.feature | 8 + .../i18n/en-lol/features/support/env.rb | 8 + .../examples/i18n/en-lol/lib/basket.rb | 12 + .../examples/i18n/en-lol/lib/belly.rb | 11 + .../examples/i18n/en/.gitignore | 1 + .../cucumber-0.4.4/examples/i18n/en/Rakefile | 6 + .../i18n/en/features/addition.feature | 17 + .../i18n/en/features/division.feature | 10 + .../step_definitons/calculator_steps.rb | 24 + .../examples/i18n/en/lib/calculator.rb | 14 + .../cucumber-0.4.4/examples/i18n/es/Rakefile | 6 + .../examples/i18n/es/features/adicion.feature | 17 + .../step_definitons/calculador_steps.rb | 21 + .../examples/i18n/es/lib/calculador.rb | 14 + .../cucumber-0.4.4/examples/i18n/et/Rakefile | 6 + .../i18n/et/features/jagamine.feature | 10 + .../i18n/et/features/liitmine.feature | 17 + .../step_definitions/kalkulaator_steps.rb | 24 + .../examples/i18n/et/lib/kalkulaator.rb | 14 + .../examples/i18n/fi/.gitignore | 1 + .../cucumber-0.4.4/examples/i18n/fi/Rakefile | 6 + .../i18n/fi/features/jakolasku.feature | 10 + .../features/step_definitons/laskin_steps.rb | 24 + .../i18n/fi/features/yhteenlasku.feature | 17 + .../examples/i18n/fi/lib/laskin.rb | 14 + .../cucumber-0.4.4/examples/i18n/fr/Rakefile | 6 + .../i18n/fr/features/addition.feature | 18 + .../step_definitions/calculatrice_steps.rb | 25 + .../examples/i18n/fr/lib/calculatrice.rb | 10 + .../cucumber-0.4.4/examples/i18n/he/Rakefile | 6 + .../i18n/he/features/addition.feature | 17 + .../i18n/he/features/division.feature | 10 + .../step_definitons/calculator_steps.rb | 24 + .../examples/i18n/he/lib/calculator.rb | 14 + .../examples/i18n/hu/.gitignore | 1 + .../cucumber-0.4.4/examples/i18n/hu/Rakefile | 6 + .../i18n/hu/features/addition.feature | 17 + .../i18n/hu/features/division.feature | 10 + .../step_definitons/calculator_steps.rb | 25 + .../examples/i18n/hu/lib/calculator.rb | 14 + .../examples/i18n/id/.gitignore | 1 + .../cucumber-0.4.4/examples/i18n/id/Rakefile | 6 + .../i18n/id/features/addition.feature | 17 + .../i18n/id/features/division.feature | 10 + .../step_definitons/calculator_steps.rb | 24 + .../examples/i18n/id/lib/calculator.rb | 14 + .../cucumber-0.4.4/examples/i18n/it/Rakefile | 6 + .../examples/i18n/it/features/somma.feature | 11 + .../step_definitons/calcolatrice_steps.rb | 24 + .../examples/i18n/it/lib/calcolatrice.rb | 11 + .../examples/i18n/ja/.gitignore | 1 + .../cucumber-0.4.4/examples/i18n/ja/Rakefile | 6 + .../i18n/ja/features/addition.feature | 17 + .../i18n/ja/features/division.feature | 10 + .../step_definitons/calculator_steps.rb | 24 + .../examples/i18n/ja/lib/calculator.rb | 14 + .../examples/i18n/ko/.gitignore | 1 + .../cucumber-0.4.4/examples/i18n/ko/Rakefile | 6 + .../i18n/ko/features/addition.feature | 17 + .../i18n/ko/features/division.feature | 11 + .../step_definitons/calculator_steps.rb | 24 + .../examples/i18n/ko/lib/calculator.rb | 14 + .../examples/i18n/lt/.gitignore | 1 + .../cucumber-0.4.4/examples/i18n/lt/Rakefile | 6 + .../i18n/lt/features/addition.feature | 17 + .../i18n/lt/features/division.feature | 10 + .../step_definitons/calculator_steps.rb | 24 + .../examples/i18n/lt/lib/calculator.rb | 14 + .../cucumber-0.4.4/examples/i18n/lv/Rakefile | 6 + .../i18n/lv/features/addition.feature | 17 + .../i18n/lv/features/division.feature | 10 + .../step_definitons/calculator_steps.rb | 24 + .../examples/i18n/lv/lib/calculator.rb | 14 + .../cucumber-0.4.4/examples/i18n/no/Rakefile | 6 + .../step_definitons/kalkulator_steps.rb | 17 + .../i18n/no/features/summering.feature | 19 + .../examples/i18n/no/features/support/env.rb | 6 + .../examples/i18n/no/lib/kalkulator.rb | 11 + .../examples/i18n/pl/.gitignore | 1 + .../cucumber-0.4.4/examples/i18n/pl/Rakefile | 6 + .../i18n/pl/features/addition.feature | 17 + .../i18n/pl/features/division.feature | 10 + .../step_definitons/calculator_steps.rb | 24 + .../examples/i18n/pl/features/support/env.rb | 6 + .../examples/i18n/pl/lib/calculator.rb | 14 + .../cucumber-0.4.4/examples/i18n/pt/Rakefile | 6 + .../examples/i18n/pt/features/adicao.feature | 11 + .../step_definitions/calculadora_steps.rb | 20 + .../examples/i18n/pt/features/support/env.rb | 6 + .../examples/i18n/pt/lib/calculadora.rb | 10 + .../cucumber-0.4.4/examples/i18n/ro/Rakefile | 6 + .../step_definitons/calculator_steps.rb | 24 + .../examples/i18n/ro/features/suma.feature | 11 + .../examples/i18n/ro/lib/calculator.rb | 11 + .../cucumber-0.4.4/examples/i18n/ru/Rakefile | 6 + .../i18n/ru/features/addition.feature | 11 + .../features/consecutive_calculations.feature | 17 + .../i18n/ru/features/division.feature | 16 + .../step_definitons/calculator_steps.rb | 19 + .../examples/i18n/ru/features/support/env.rb | 6 + .../i18n/ru/features/support/world.rb | 8 + .../examples/i18n/ru/lib/calculator.rb | 24 + .../cucumber-0.4.4/examples/i18n/se/Rakefile | 6 + .../step_definitons/kalkulator_steps.rb | 24 + .../i18n/se/features/summering.feature | 18 + .../examples/i18n/se/lib/kalkulator.rb | 11 + .../examples/i18n/sk/.gitignore | 1 + .../cucumber-0.4.4/examples/i18n/sk/Rakefile | 6 + .../i18n/sk/features/addition.feature | 17 + .../i18n/sk/features/division.feature | 10 + .../step_definitons/calculator_steps.rb | 24 + .../examples/i18n/sk/lib/calculator.rb | 14 + .../examples/i18n/sr-latn/Rakefile | 6 + .../i18n/sr-latn/features/sabiranje.feature | 18 + .../step_definitons/calculator_steps.rb | 24 + .../examples/i18n/sr-latn/lib/calculator.rb | 12 + .../cucumber-0.4.4/examples/i18n/sr/Rakefile | 6 + .../i18n/sr/features/sabiranje.feature | 18 + .../step_definitons/calculator_steps.rb | 24 + .../examples/i18n/sr/lib/calculator.rb | 12 + .../examples/i18n/tr/.gitignore | 1 + .../cucumber-0.4.4/examples/i18n/tr/Rakefile | 6 + .../examples/i18n/tr/features/bolme.feature | 10 + .../hesap_makinesi_adimlari.rb | 24 + .../examples/i18n/tr/features/toplama.feature | 18 + .../examples/i18n/tr/lib/hesap_makinesi.rb | 15 + .../cucumber-0.4.4/examples/i18n/uz/Rakefile | 6 + .../i18n/uz/features/addition.feature | 10 + .../features/consecutive_calculations.feature | 17 + .../i18n/uz/features/division.feature | 17 + .../step_definitons/calculator_steps.rb | 19 + .../examples/i18n/uz/features/support/env.rb | 6 + .../i18n/uz/features/support/world.rb | 8 + .../examples/i18n/uz/lib/calculator.rb | 24 + .../examples/i18n/zh-CN/Rakefile | 6 + .../i18n/zh-CN/features/addition.feature | 18 + .../step_definitons/calculator_steps.rb | 26 + .../examples/i18n/zh-CN/lib/calculator.rb | 10 + .../examples/i18n/zh-TW/.gitignore | 1 + .../examples/i18n/zh-TW/Rakefile | 6 + .../i18n/zh-TW/features/addition.feature | 17 + .../i18n/zh-TW/features/division.feature | 11 + .../step_definitons/calculator_steps.rb | 24 + .../examples/i18n/zh-TW/lib/calculator.rb | 14 + .../features/one_passing_one_failing.feature | 8 + .../examples/junit/features/pending.feature | 5 + .../junit/features/step_definitions/steps.rb | 11 + .../python/features/fibonacci.feature | 19 + .../features/step_definitions/fib_steps.py | 11 + .../examples/python/lib/.gitignore | 1 + .../cucumber-0.4.4/examples/python/lib/fib.py | 7 + .../examples/ramaze/README.textile | 7 + .../cucumber-0.4.4/examples/ramaze/Rakefile | 6 + .../cucumber-0.4.4/examples/ramaze/app.rb | 21 + .../examples/ramaze/features/add.feature | 11 + .../features/step_definitions/add_steps.rb | 15 + .../examples/ramaze/features/support/env.rb | 32 + .../examples/ramaze/layout/default.html.erb | 8 + .../examples/ramaze/view/index.html.erb | 5 + .../ruby2python/features/fibonacci.feature | 19 + .../features/step_definitions/fib_steps.rb | 7 + .../ruby2python/features/support/env.rb | 21 + .../examples/ruby2python/lib/.gitignore | 1 + .../examples/ruby2python/lib/fib.py | 7 + .../cucumber-0.4.4/examples/selenium/Rakefile | 6 + .../examples/selenium/features/search.feature | 9 + .../features/step_definitons/search_steps.rb | 13 + .../examples/selenium/features/support/env.rb | 19 + .../examples/selenium_webrat/Rakefile | 6 + .../examples/selenium_webrat/config.ru | 0 .../selenium_webrat/features/search.feature | 9 + .../features/step_definitons/search_steps.rb | 13 + .../selenium_webrat/features/support/env.rb | 45 + .../examples/self_test/.gitignore | 1 + .../examples/self_test/README.textile | 6 + .../examples/self_test/Rakefile | 6 + ...ackground_tagged_before_on_outline.feature | 12 + .../background/background_with_name.feature | 7 + .../background/failing_background.feature | 12 + .../failing_background_after_success.feature | 11 + .../multiline_args_background.feature | 32 + .../background/passing_background.feature | 10 + .../background/pending_background.feature | 10 + ...cenario_outline_failing_background.feature | 16 + ...cenario_outline_passing_background.feature | 16 + .../call_undefined_step_from_step_def.feature | 7 + .../features/failing_expectation.feature | 4 + .../features/lots_of_undefined.feature | 8 + .../self_test/features/multiline_name.feature | 27 + .../self_test/features/outline_sample.feature | 15 + .../self_test/features/sample.feature | 21 + .../self_test/features/search_sample.feature | 32 + .../features/step_definitions/sample_steps.rb | 81 + .../self_test/features/support/env.rb | 18 + .../self_test/features/tags_sample.feature | 17 + .../self_test/features/tons_of_cukes.feature | 52 + .../features/undefined_multiline_args.feature | 12 + .../examples/self_test/list-of-features.txt | 1 + .../examples/sinatra/README.textile | 13 + .../cucumber-0.4.4/examples/sinatra/Rakefile | 6 + .../cucumber-0.4.4/examples/sinatra/app.rb | 14 + .../examples/sinatra/features/add.feature | 11 + .../features/step_definitions/add_steps.rb | 15 + .../examples/sinatra/features/support/env.rb | 30 + .../examples/sinatra/views/add.erb | 5 + .../examples/sinatra/views/layout.erb | 8 + .../features/step_definitions/steps_lib1.rb | 8 + .../features/step_definitions/steps_lib2.rb | 8 + .../examples/test_unit/Rakefile | 6 + .../step_definitions/test_unit_steps.rb | 23 + .../test_unit/features/test_unit.feature | 9 + .../cucumber-0.4.4/examples/tickets/Rakefile | 20 + .../examples/tickets/features.html | 138 + .../examples/tickets/features/172.feature | 28 + .../examples/tickets/features/177/1.feature | 29 + .../examples/tickets/features/177/2.feature | 21 + .../examples/tickets/features/177/3.feature | 18 + .../examples/tickets/features/180.feature | 7 + .../tickets/features/229/tagged_hooks.feature | 8 + .../tickets/features/229/tagged_hooks.rb | 14 + .../examples/tickets/features/236.feature | 13 + .../examples/tickets/features/241.feature | 13 + .../examples/tickets/features/246.feature | 4 + .../examples/tickets/features/248.feature | 11 + .../tickets/features/270/back.feature | 14 + .../tickets/features/270/back.steps.rb | 14 + .../tickets/features/272/hooks.feature | 26 + .../tickets/features/272/hooks_steps.rb | 53 + .../features/279/py_string_indent.feature | 25 + .../features/279/py_string_indent.steps.rb | 12 + .../tickets/features/279/wrong.feature_ | 11 + .../filter_background_tagged_hooks.feature | 6 + .../filter_background_tagged_hooks_steps.rb | 12 + .../features/306/only_background.feature | 4 + .../tickets/features/lib/eatting_machine.rb | 18 + .../examples/tickets/features/lib/pantry.rb | 20 + .../tickets/features/scenario_outline.feature | 95 + .../features/step_definitons/246_steps.rb | 3 + .../features/step_definitons/248_steps.rb | 15 + .../step_definitons/scenario_outline_steps.rb | 42 + .../features/step_definitons/tickets_steps.rb | 81 + .../tickets/features/table_diffing.feature | 13 + .../examples/tickets/features/tickets.feature | 28 + .../examples/watir/README.textile | 16 + .../cucumber-0.4.4/examples/watir/Rakefile | 10 + .../examples/watir/features/search.feature | 12 + .../features/step_definitions/search_steps.rb | 26 + .../examples/watir/features/support/env.rb | 32 + .../watir/features/support/screenshots.rb | 44 + .../examples/webrat/features/search.feature | 12 + .../features/step_definitions/kvasir_steps.rb | 14 + .../examples/webrat/features/support/env.rb | 17 + .../cucumber-0.4.4/features/announce.feature | 122 + .../features/background.feature | 308 ++ .../cucumber-0.4.4/features/bug_371.feature | 32 + .../cucumber-0.4.4/features/bug_464.feature | 16 + .../cucumber-0.4.4/features/bug_475.feature | 43 + .../features/call_many_steps.feature | 124 + .../features/cucumber_cli.feature | 652 +++ .../cucumber_cli_diff_disabled.feature | 52 + .../features/cucumber_cli_outlines.feature | 105 + .../features/custom_formatter.feature | 46 + .../features/default_snippets.feature | 42 + .../features/drb_server_integration.feature | 174 + .../features/exception_in_after_block.feature | 100 + .../exception_in_after_step_block.feature | 102 + .../exception_in_before_block.feature | 78 + .../features/exclude_files.feature | 20 + .../cucumber-0.4.4/features/expand.feature | 60 + .../features/html_formatter.feature | 7 + .../features/html_formatter/a.html | 183 + .../features/junit_formatter.feature | 88 + .../features/language_from_header.feature | 30 + .../features/language_help.feature | 70 + .../listener_debugger_formatter.feature | 41 + .../features/multiline_names.feature | 43 + .../features/negative_tagged_hooks.feature | 61 + .../features/post_configuration_hook.feature | 37 + .../cucumber-0.4.4/features/profiles.feature | 112 + .../cucumber-0.4.4/features/rake_task.feature | 152 + .../report_called_undefined_steps.feature | 34 + .../cucumber-0.4.4/features/simplest.feature | 11 + .../cucumber-0.4.4/features/snippet.feature | 22 + .../step_definitions/cucumber_steps.rb | 154 + .../features/step_definitions/extra_steps.rb | 2 + .../step_definitions/simplest_steps.rb | 3 + .../features/step_definitions/wire_steps.rb | 14 + .../cucumber-0.4.4/features/support/env.rb | 141 + .../features/support/env.rb.simplest | 7 + .../features/support/fake_wire_server.rb | 63 + .../features/table_diffing.feature | 45 + .../features/table_mapping.feature | 35 + .../cucumber-0.4.4/features/tag_logic.feature | 258 + .../cucumber-0.4.4/features/transform.feature | 231 + .../features/unicode_table.feature | 35 + .../usage_and_stepdefs_formatter.feature | 169 + .../features/wire_protocol.feature | 177 + .../features/work_in_progress.feature | 156 + .../gem_tasks/contributors.rake | 13 + .../cucumber-0.4.4/gem_tasks/environment.rake | 7 + .../cucumber-0.4.4/gem_tasks/features.rake | 16 + .../cucumber-0.4.4/gem_tasks/fix_cr_lf.rake | 10 + .../gems/cucumber-0.4.4/gem_tasks/flog.rake | 4 + .../gems/cucumber-0.4.4/gem_tasks/rspec.rake | 15 + .../gems/cucumber-0.4.4/gem_tasks/sass.rake | 4 + .../gems/cucumber-0.4.4/gem_tasks/sdoc.rake | 12 + .../gems/gems/cucumber-0.4.4/lib/README.rdoc | 12 + .../cucumber-0.4.4/lib/autotest/cucumber.rb | 6 + .../lib/autotest/cucumber_mixin.rb | 131 + .../lib/autotest/cucumber_rails.rb | 6 + .../lib/autotest/cucumber_rails_rspec.rb | 6 + .../lib/autotest/cucumber_rspec.rb | 6 + .../cucumber-0.4.4/lib/autotest/discover.rb | 9 + .../gems/gems/cucumber-0.4.4/lib/cucumber.rb | 15 + .../gems/cucumber-0.4.4/lib/cucumber/ast.rb | 30 + .../lib/cucumber/ast/background.rb | 75 + .../lib/cucumber/ast/comment.rb | 31 + .../lib/cucumber/ast/examples.rb | 36 + .../lib/cucumber/ast/feature.rb | 85 + .../lib/cucumber/ast/feature_element.rb | 68 + .../lib/cucumber/ast/features.rb | 40 + .../lib/cucumber/ast/outline_table.rb | 166 + .../lib/cucumber/ast/py_string.rb | 59 + .../lib/cucumber/ast/scenario.rb | 111 + .../lib/cucumber/ast/scenario_outline.rb | 100 + .../cucumber-0.4.4/lib/cucumber/ast/step.rb | 121 + .../lib/cucumber/ast/step_collection.rb | 76 + .../lib/cucumber/ast/step_invocation.rb | 190 + .../cucumber-0.4.4/lib/cucumber/ast/table.rb | 655 +++ .../cucumber-0.4.4/lib/cucumber/ast/tags.rb | 122 + .../lib/cucumber/ast/tree_walker.rb | 201 + .../lib/cucumber/ast/visitor.rb | 11 + .../lib/cucumber/broadcaster.rb | 13 + .../lib/cucumber/cli/configuration.rb | 195 + .../lib/cucumber/cli/drb_client.rb | 32 + .../cucumber/cli/language_help_formatter.rb | 72 + .../cucumber-0.4.4/lib/cucumber/cli/main.rb | 121 + .../lib/cucumber/cli/options.rb | 403 ++ .../lib/cucumber/cli/profile_loader.rb | 82 + .../lib/cucumber/constantize.rb | 34 + .../lib/cucumber/core_ext/instance_exec.rb | 98 + .../lib/cucumber/core_ext/proc.rb | 30 + .../lib/cucumber/core_ext/string.rb | 16 + .../lib/cucumber/feature_file.rb | 54 + .../cucumber-0.4.4/lib/cucumber/filter.rb | 41 + .../lib/cucumber/formatter/ansicolor.rb | 157 + .../lib/cucumber/formatter/color_io.rb | 23 + .../lib/cucumber/formatter/console.rb | 205 + .../lib/cucumber/formatter/cucumber.css | 132 + .../lib/cucumber/formatter/cucumber.sass | 139 + .../lib/cucumber/formatter/debug.rb | 33 + .../lib/cucumber/formatter/duration.rb | 13 + .../lib/cucumber/formatter/html.rb | 369 ++ .../lib/cucumber/formatter/junit.rb | 140 + .../cucumber/formatter/ordered_xml_markup.rb | 24 + .../lib/cucumber/formatter/pdf.rb | 234 + .../lib/cucumber/formatter/pretty.rb | 239 + .../lib/cucumber/formatter/progress.rb | 73 + .../lib/cucumber/formatter/rerun.rb | 48 + .../lib/cucumber/formatter/stepdefs.rb | 14 + .../lib/cucumber/formatter/steps.rb | 49 + .../lib/cucumber/formatter/summary.rb | 35 + .../lib/cucumber/formatter/tag_cloud.rb | 30 + .../lib/cucumber/formatter/unicode.rb | 35 + .../lib/cucumber/formatter/usage.rb | 127 + .../lib/cucumber/language_support.rb | 30 + .../language_support/language_methods.rb | 110 + .../cucumber-0.4.4/lib/cucumber/languages.yml | 611 +++ .../cucumber-0.4.4/lib/cucumber/parser.rb | 8 + .../lib/cucumber/parser/common.rb | 170 + .../lib/cucumber/parser/common.tt | 21 + .../lib/cucumber/parser/feature.rb | 1517 ++++++ .../lib/cucumber/parser/feature.tt | 281 ++ .../lib/cucumber/parser/i18n.tt | 44 + .../lib/cucumber/parser/natural_language.rb | 81 + .../lib/cucumber/parser/py_string.rb | 276 ++ .../lib/cucumber/parser/py_string.tt | 45 + .../lib/cucumber/parser/table.rb | 305 ++ .../lib/cucumber/parser/table.tt | 60 + .../lib/cucumber/parser/treetop_ext.rb | 53 + .../cucumber-0.4.4/lib/cucumber/platform.rb | 31 + .../lib/cucumber/py_support/py_dsl.py | 10 + .../lib/cucumber/py_support/py_language.py | 10 + .../lib/cucumber/py_support/py_language.rb | 81 + .../lib/cucumber/rails/action_controller.rb | 38 + .../lib/cucumber/rails/active_record.rb | 30 + .../lib/cucumber/rails/rspec.rb | 10 + .../lib/cucumber/rails/test_unit.rb | 9 + .../lib/cucumber/rails/world.rb | 30 + .../cucumber-0.4.4/lib/cucumber/rake/task.rb | 166 + .../lib/cucumber/rb_support/rb_dsl.rb | 102 + .../lib/cucumber/rb_support/rb_hook.rb | 19 + .../lib/cucumber/rb_support/rb_language.rb | 179 + .../cucumber/rb_support/rb_step_definition.rb | 75 + .../lib/cucumber/rb_support/rb_transform.rb | 37 + .../lib/cucumber/rb_support/rb_world.rb | 81 + .../rb_support/regexp_argument_matcher.rb | 21 + .../lib/cucumber/rspec_neuter.rb | 23 + .../lib/cucumber/step_argument.rb | 9 + .../lib/cucumber/step_definition_light.rb | 20 + .../cucumber-0.4.4/lib/cucumber/step_match.rb | 107 + .../lib/cucumber/step_mother.rb | 351 ++ .../lib/cucumber/webrat/element_locator.rb | 89 + .../lib/cucumber/webrat/table_locator.rb | 1 + .../lib/cucumber/wire_support/connection.rb | 42 + .../cucumber/wire_support/request_handler.rb | 19 + .../cucumber/wire_support/wire_exception.rb | 10 + .../cucumber/wire_support/wire_language.rb | 52 + .../lib/cucumber/wire_support/wire_packet.rb | 34 + .../cucumber/wire_support/wire_protocol.rb | 64 + .../wire_support/wire_step_definition.rb | 21 + .../rails_generators/cucumber/USAGE | 11 + .../cucumber/cucumber_generator.rb | 117 + .../cucumber/templates/cucumber | 17 + .../cucumber/templates/cucumber.rake | 46 + .../templates/cucumber_environment.rb | 30 + .../cucumber/templates/env.rb | 49 + .../cucumber/templates/paths.rb | 27 + .../cucumber/templates/spork_env.rb | 57 + .../cucumber/templates/version_check.rb | 31 + .../cucumber/templates/webrat_steps.rb | 241 + .../rails_generators/feature/USAGE | 12 + .../feature/feature_generator.rb | 40 + .../feature/templates/feature.erb | 31 + .../feature/templates/steps.erb | 14 + .../spec/cucumber/ast/background_spec.rb | 54 + .../spec/cucumber/ast/feature_element_spec.rb | 41 + .../spec/cucumber/ast/feature_factory.rb | 62 + .../spec/cucumber/ast/feature_spec.rb | 44 + .../spec/cucumber/ast/outline_table_spec.rb | 21 + .../spec/cucumber/ast/py_string_spec.rb | 51 + .../cucumber/ast/scenario_outline_spec.rb | 73 + .../spec/cucumber/ast/scenario_spec.rb | 45 + .../spec/cucumber/ast/step_collection_spec.rb | 17 + .../spec/cucumber/ast/step_spec.rb | 66 + .../spec/cucumber/ast/table_spec.rb | 422 ++ .../spec/cucumber/ast/tags_spec.rb | 29 + .../spec/cucumber/ast/tree_walker_spec.rb | 11 + .../spec/cucumber/broadcaster_spec.rb | 15 + .../spec/cucumber/cli/configuration_spec.rb | 396 ++ .../spec/cucumber/cli/drb_client_spec.rb | 77 + .../spec/cucumber/cli/main_spec.rb | 172 + .../spec/cucumber/cli/options_spec.rb | 338 ++ .../spec/cucumber/cli/profile_loader_spec.rb | 10 + .../spec/cucumber/core_ext/proc_spec.rb | 68 + .../spec/cucumber/formatter/ansicolor_spec.rb | 31 + .../spec/cucumber/formatter/color_io_spec.rb | 27 + .../spec/cucumber/formatter/console_spec.rb | 20 + .../spec/cucumber/formatter/duration_spec.rb | 22 + .../spec/cucumber/formatter/html_spec.rb | 200 + .../spec/cucumber/formatter/junit_spec.rb | 107 + .../spec/cucumber/formatter/progress_spec.rb | 38 + .../spec/cucumber/formatter/spec_helper.rb | 50 + .../cucumber/parser/feature_parser_spec.rb | 400 ++ .../spec/cucumber/parser/table_parser_spec.rb | 52 + .../rb_support/rb_step_definition_spec.rb | 132 + .../regexp_argument_matcher_spec.rb | 18 + .../spec/cucumber/sell_cucumbers.feature | 19 + .../spec/cucumber/step_match_spec.rb | 56 + .../spec/cucumber/step_mother_spec.rb | 270 ++ .../treetop_parser/empty_feature.feature | 4 + .../treetop_parser/empty_scenario.feature | 9 + .../empty_scenario_outline.feature | 3 + .../treetop_parser/fit_scenario.feature | 8 + .../treetop_parser/given_scenario.feature | 9 + .../invalid_scenario_outlines.feature | 7 + .../treetop_parser/multiline_steps.feature | 17 + .../treetop_parser/multiple_tables.feature | 27 + .../treetop_parser/scenario_outline.feature | 16 + .../cucumber/treetop_parser/spaces.feature | 12 + .../cucumber/treetop_parser/test_dos.feature | 25 + .../treetop_parser/with_comments.feature | 23 + .../cucumber/treetop_parser/with_tags.feature | 18 + .../wire_support/wire_language_spec.rb | 47 + .../cucumber/wire_support/wire_packet_spec.rb | 26 + .../spec/cucumber/world/pending_spec.rb | 46 + .../gems/gems/cucumber-0.4.4/spec/spec.opts | 4 + .../gems/cucumber-0.4.4/spec/spec_helper.rb | 18 + vendor/gems/gems/daemons-1.0.10/LICENSE | 29 + vendor/gems/gems/daemons-1.0.10/README | 223 + vendor/gems/gems/daemons-1.0.10/Rakefile | 84 + vendor/gems/gems/daemons-1.0.10/Releases | 126 + vendor/gems/gems/daemons-1.0.10/TODO | 6 + .../gems/daemons-1.0.10/examples/call/call.rb | 56 + .../examples/call/call_monitor.rb | 55 + .../examples/daemonize/daemonize.rb | 20 + .../daemons-1.0.10/examples/run/ctrl_crash.rb | 17 + .../daemons-1.0.10/examples/run/ctrl_exec.rb | 16 + .../daemons-1.0.10/examples/run/ctrl_exit.rb | 15 + .../examples/run/ctrl_keep_pid_files.rb | 17 + .../examples/run/ctrl_monitor.rb | 16 + .../examples/run/ctrl_multiple.rb | 16 + .../examples/run/ctrl_normal.rb | 12 + .../daemons-1.0.10/examples/run/ctrl_ontop.rb | 16 + .../examples/run/ctrl_optionparser.rb | 43 + .../daemons-1.0.10/examples/run/ctrl_proc.rb | 25 + .../examples/run/ctrl_proc.rb.output | 101 + .../examples/run/ctrl_proc_multiple.rb | 22 + .../examples/run/ctrl_proc_multiple.rb.output | 2 + .../examples/run/ctrl_proc_simple.rb | 17 + .../daemons-1.0.10/examples/run/myserver.rb | 12 + .../examples/run/myserver_crashing.rb | 14 + .../examples/run/myserver_crashing.rb.output | 30 + .../examples/run/myserver_exiting.rb | 8 + .../gems/gems/daemons-1.0.10/lib/daemons.rb | 283 ++ .../daemons-1.0.10/lib/daemons/application.rb | 372 ++ .../lib/daemons/application_group.rb | 152 + .../daemons-1.0.10/lib/daemons/cmdline.rb | 117 + .../daemons-1.0.10/lib/daemons/controller.rb | 134 + .../daemons-1.0.10/lib/daemons/daemonize.rb | 263 + .../daemons-1.0.10/lib/daemons/exceptions.rb | 28 + .../daemons-1.0.10/lib/daemons/monitor.rb | 127 + .../gems/daemons-1.0.10/lib/daemons/pid.rb | 101 + .../daemons-1.0.10/lib/daemons/pidfile.rb | 111 + .../gems/daemons-1.0.10/lib/daemons/pidmem.rb | 10 + vendor/gems/gems/daemons-1.0.10/setup.rb | 1360 ++++++ vendor/gems/gems/diff-lcs-1.1.2/ChangeLog | 46 + vendor/gems/gems/diff-lcs-1.1.2/Install | 6 + vendor/gems/gems/diff-lcs-1.1.2/README | 76 + vendor/gems/gems/diff-lcs-1.1.2/Rakefile | 116 + vendor/gems/gems/diff-lcs-1.1.2/bin/htmldiff | 112 + vendor/gems/gems/diff-lcs-1.1.2/bin/ldiff | 45 + .../gems/gems/diff-lcs-1.1.2/lib/diff/lcs.rb | 1105 +++++ .../gems/diff-lcs-1.1.2/lib/diff/lcs/array.rb | 21 + .../gems/diff-lcs-1.1.2/lib/diff/lcs/block.rb | 51 + .../diff-lcs-1.1.2/lib/diff/lcs/callbacks.rb | 322 ++ .../diff-lcs-1.1.2/lib/diff/lcs/change.rb | 169 + .../gems/diff-lcs-1.1.2/lib/diff/lcs/hunk.rb | 257 + .../gems/diff-lcs-1.1.2/lib/diff/lcs/ldiff.rb | 226 + .../diff-lcs-1.1.2/lib/diff/lcs/string.rb | 19 + .../gems/gems/diff-lcs-1.1.2/tests/00test.rb | 626 +++ .../gems/gems/eventmachine-0.12.10/.gitignore | 14 + vendor/gems/gems/eventmachine-0.12.10/README | 82 + .../gems/gems/eventmachine-0.12.10/Rakefile | 374 ++ .../gems/eventmachine-0.12.10/docs/COPYING | 60 + .../gems/eventmachine-0.12.10/docs/ChangeLog | 211 + .../eventmachine-0.12.10/docs/DEFERRABLES | 133 + .../gems/gems/eventmachine-0.12.10/docs/EPOLL | 141 + .../gems/gems/eventmachine-0.12.10/docs/GNU | 281 ++ .../gems/eventmachine-0.12.10/docs/INSTALL | 13 + .../gems/eventmachine-0.12.10/docs/KEYBOARD | 38 + .../gems/gems/eventmachine-0.12.10/docs/LEGAL | 25 + .../docs/LIGHTWEIGHT_CONCURRENCY | 70 + .../gems/eventmachine-0.12.10/docs/PURE_RUBY | 75 + .../eventmachine-0.12.10/docs/RELEASE_NOTES | 94 + .../gems/gems/eventmachine-0.12.10/docs/SMTP | 2 + .../docs/SPAWNED_PROCESSES | 89 + .../gems/gems/eventmachine-0.12.10/docs/TODO | 8 + .../eventmachine-0.12.10/eventmachine.gemspec | 40 + .../examples/ex_channel.rb | 43 + .../eventmachine-0.12.10/examples/ex_queue.rb | 2 + .../eventmachine-0.12.10/examples/helper.rb | 2 + .../gems/eventmachine-0.12.10/ext/binder.cpp | 125 + .../gems/eventmachine-0.12.10/ext/binder.h | 46 + .../gems/eventmachine-0.12.10/ext/cmain.cpp | 827 ++++ .../eventmachine-0.12.10/ext/cplusplus.cpp | 202 + .../gems/gems/eventmachine-0.12.10/ext/ed.cpp | 1893 ++++++++ .../gems/gems/eventmachine-0.12.10/ext/ed.h | 424 ++ .../gems/gems/eventmachine-0.12.10/ext/em.cpp | 2282 +++++++++ .../gems/gems/eventmachine-0.12.10/ext/em.h | 232 + .../gems/eventmachine-0.12.10/ext/emwin.cpp | 300 ++ .../gems/eventmachine-0.12.10/ext/emwin.h | 94 + .../gems/eventmachine-0.12.10/ext/epoll.cpp | 26 + .../gems/eventmachine-0.12.10/ext/epoll.h | 25 + .../eventmachine-0.12.10/ext/eventmachine.h | 122 + .../ext/eventmachine_cpp.h | 96 + .../gems/eventmachine-0.12.10/ext/extconf.rb | 148 + .../ext/fastfilereader/extconf.rb | 83 + .../ext/fastfilereader/mapper.cpp | 214 + .../ext/fastfilereader/mapper.h | 59 + .../ext/fastfilereader/rubymain.cpp | 127 + .../gems/eventmachine-0.12.10/ext/files.cpp | 94 + .../gems/eventmachine-0.12.10/ext/files.h | 65 + .../gems/gems/eventmachine-0.12.10/ext/kb.cpp | 81 + .../gems/eventmachine-0.12.10/ext/page.cpp | 107 + .../gems/gems/eventmachine-0.12.10/ext/page.h | 51 + .../gems/eventmachine-0.12.10/ext/pipe.cpp | 349 ++ .../gems/eventmachine-0.12.10/ext/project.h | 151 + .../eventmachine-0.12.10/ext/rubymain.cpp | 1166 +++++ .../gems/eventmachine-0.12.10/ext/sigs.cpp | 89 + .../gems/gems/eventmachine-0.12.10/ext/sigs.h | 32 + .../gems/eventmachine-0.12.10/ext/ssl.cpp | 460 ++ .../gems/gems/eventmachine-0.12.10/ext/ssl.h | 94 + .../gems/eventmachine-0.12.10/java/.classpath | 8 + .../gems/eventmachine-0.12.10/java/.project | 17 + .../src/com/rubyeventmachine/EmReactor.java | 570 +++ .../rubyeventmachine/EmReactorException.java | 40 + .../rubyeventmachine/EventableChannel.java | 69 + .../EventableDatagramChannel.java | 189 + .../EventableSocketChannel.java | 364 ++ .../application/Application.java | 194 + .../application/Connection.java | 74 + .../application/ConnectionFactory.java | 37 + .../application/DefaultConnectionFactory.java | 46 + .../application/PeriodicTimer.java | 38 + .../rubyeventmachine/application/Timer.java | 54 + .../tests/ApplicationTest.java | 109 + .../rubyeventmachine/tests/ConnectTest.java | 148 + .../com/rubyeventmachine/tests/EMTest.java | 80 + .../rubyeventmachine/tests/TestDatagrams.java | 53 + .../rubyeventmachine/tests/TestServers.java | 75 + .../rubyeventmachine/tests/TestTimers.java | 90 + .../eventmachine-0.12.10/lib/em/buftok.rb | 138 + .../eventmachine-0.12.10/lib/em/callback.rb | 26 + .../eventmachine-0.12.10/lib/em/channel.rb | 57 + .../eventmachine-0.12.10/lib/em/connection.rb | 564 +++ .../eventmachine-0.12.10/lib/em/deferrable.rb | 192 + .../eventmachine-0.12.10/lib/em/file_watch.rb | 54 + .../eventmachine-0.12.10/lib/em/future.rb | 61 + .../eventmachine-0.12.10/lib/em/messages.rb | 66 + .../lib/em/process_watch.rb | 44 + .../eventmachine-0.12.10/lib/em/processes.rb | 119 + .../eventmachine-0.12.10/lib/em/protocols.rb | 36 + .../lib/em/protocols/header_and_content.rb | 138 + .../lib/em/protocols/httpclient.rb | 263 + .../lib/em/protocols/httpclient2.rb | 590 +++ .../lib/em/protocols/line_and_text.rb | 125 + .../lib/em/protocols/linetext2.rb | 161 + .../lib/em/protocols/memcache.rb | 323 ++ .../lib/em/protocols/object_protocol.rb | 45 + .../lib/em/protocols/postgres3.rb | 247 + .../lib/em/protocols/saslauth.rb | 175 + .../lib/em/protocols/smtpclient.rb | 357 ++ .../lib/em/protocols/smtpserver.rb | 547 +++ .../lib/em/protocols/socks4.rb | 66 + .../lib/em/protocols/stomp.rb | 200 + .../lib/em/protocols/tcptest.rb | 53 + .../gems/eventmachine-0.12.10/lib/em/queue.rb | 61 + .../eventmachine-0.12.10/lib/em/spawnable.rb | 85 + .../eventmachine-0.12.10/lib/em/streamer.rb | 130 + .../eventmachine-0.12.10/lib/em/timers.rb | 56 + .../eventmachine-0.12.10/lib/em/version.rb | 3 + .../eventmachine-0.12.10/lib/eventmachine.rb | 1592 +++++++ .../gems/eventmachine-0.12.10/lib/evma.rb | 32 + .../eventmachine-0.12.10/lib/evma/callback.rb | 32 + .../lib/evma/container.rb | 75 + .../eventmachine-0.12.10/lib/evma/factory.rb | 77 + .../eventmachine-0.12.10/lib/evma/protocol.rb | 87 + .../eventmachine-0.12.10/lib/evma/reactor.rb | 48 + .../eventmachine-0.12.10/lib/jeventmachine.rb | 257 + .../lib/pr_eventmachine.rb | 1022 ++++ .../gems/gems/eventmachine-0.12.10/setup.rb | 1585 +++++++ .../tasks/cpp.rake_example | 77 + .../eventmachine-0.12.10/tests/client.crt | 31 + .../eventmachine-0.12.10/tests/client.key | 51 + .../eventmachine-0.12.10/tests/test_attach.rb | 126 + .../eventmachine-0.12.10/tests/test_basic.rb | 284 ++ .../tests/test_channel.rb | 63 + .../tests/test_connection_count.rb | 35 + .../eventmachine-0.12.10/tests/test_defer.rb | 47 + .../eventmachine-0.12.10/tests/test_epoll.rb | 160 + .../tests/test_error_handler.rb | 35 + .../eventmachine-0.12.10/tests/test_errors.rb | 82 + .../eventmachine-0.12.10/tests/test_exc.rb | 55 + .../tests/test_file_watch.rb | 49 + .../tests/test_futures.rb | 198 + .../tests/test_get_sock_opt.rb | 30 + .../tests/test_handler_check.rb | 37 + .../eventmachine-0.12.10/tests/test_hc.rb | 218 + .../tests/test_httpclient.rb | 218 + .../tests/test_httpclient2.rb | 153 + .../tests/test_inactivity_timeout.rb | 50 + .../eventmachine-0.12.10/tests/test_kb.rb | 60 + .../eventmachine-0.12.10/tests/test_ltp.rb | 182 + .../eventmachine-0.12.10/tests/test_ltp2.rb | 317 ++ .../tests/test_next_tick.rb | 133 + .../tests/test_object_protocol.rb | 37 + .../eventmachine-0.12.10/tests/test_pause.rb | 70 + .../tests/test_pending_connect_timeout.rb | 48 + .../tests/test_process_watch.rb | 48 + .../tests/test_processes.rb | 128 + .../tests/test_proxy_connection.rb | 92 + .../eventmachine-0.12.10/tests/test_pure.rb | 125 + .../eventmachine-0.12.10/tests/test_queue.rb | 44 + .../tests/test_running.rb | 42 + .../eventmachine-0.12.10/tests/test_sasl.rb | 72 + .../tests/test_send_file.rb | 242 + .../tests/test_servers.rb | 76 + .../tests/test_smtpclient.rb | 83 + .../tests/test_smtpserver.rb | 85 + .../eventmachine-0.12.10/tests/test_spawn.rb | 322 ++ .../tests/test_ssl_args.rb | 79 + .../tests/test_ssl_methods.rb | 50 + .../tests/test_ssl_verify.rb | 82 + .../eventmachine-0.12.10/tests/test_timers.rb | 162 + .../eventmachine-0.12.10/tests/test_ud.rb | 36 + .../gems/eventmachine-0.12.10/tests/testem.rb | 31 + .../gems/gems/eventmachine-0.12.10/web/whatis | 7 + vendor/gems/gems/extlib-0.9.13/History.txt | 77 + vendor/gems/gems/extlib-0.9.13/LICENSE | 47 + vendor/gems/gems/extlib-0.9.13/README | 0 vendor/gems/gems/extlib-0.9.13/Rakefile | 180 + vendor/gems/gems/extlib-0.9.13/lib/extlib.rb | 50 + .../gems/extlib-0.9.13/lib/extlib/array.rb | 36 + .../extlib-0.9.13/lib/extlib/assertions.rb | 8 + .../gems/extlib-0.9.13/lib/extlib/blank.rb | 89 + .../gems/extlib-0.9.13/lib/extlib/boolean.rb | 11 + .../extlib-0.9.13/lib/extlib/byte_array.rb | 6 + .../gems/extlib-0.9.13/lib/extlib/class.rb | 177 + .../gems/extlib-0.9.13/lib/extlib/datetime.rb | 29 + .../extlib-0.9.13/lib/extlib/dictionary.rb | 433 ++ .../gems/extlib-0.9.13/lib/extlib/hash.rb | 442 ++ .../gems/extlib-0.9.13/lib/extlib/hook.rb | 401 ++ .../extlib-0.9.13/lib/extlib/inflection.rb | 434 ++ .../extlib-0.9.13/lib/extlib/lazy_array.rb | 457 ++ .../extlib-0.9.13/lib/extlib/lazy_module.rb | 18 + .../gems/extlib-0.9.13/lib/extlib/logger.rb | 198 + .../gems/extlib-0.9.13/lib/extlib/mash.rb | 155 + .../gems/extlib-0.9.13/lib/extlib/module.rb | 47 + .../gems/gems/extlib-0.9.13/lib/extlib/nil.rb | 5 + .../gems/extlib-0.9.13/lib/extlib/numeric.rb | 5 + .../gems/extlib-0.9.13/lib/extlib/object.rb | 175 + .../extlib-0.9.13/lib/extlib/object_space.rb | 13 + .../gems/extlib-0.9.13/lib/extlib/pathname.rb | 20 + .../gems/extlib-0.9.13/lib/extlib/pooling.rb | 235 + .../gems/extlib-0.9.13/lib/extlib/rubygems.rb | 38 + .../extlib-0.9.13/lib/extlib/simple_set.rb | 66 + .../gems/extlib-0.9.13/lib/extlib/string.rb | 175 + .../gems/extlib-0.9.13/lib/extlib/struct.rb | 17 + .../gems/extlib-0.9.13/lib/extlib/symbol.rb | 21 + .../extlib-0.9.13/lib/extlib/tasks/release.rb | 15 + .../gems/extlib-0.9.13/lib/extlib/time.rb | 43 + .../gems/extlib-0.9.13/lib/extlib/version.rb | 3 + .../extlib-0.9.13/lib/extlib/virtual_file.rb | 10 + .../gems/extlib-0.9.13/spec/array_spec.rb | 39 + .../gems/extlib-0.9.13/spec/blank_spec.rb | 85 + .../extlib-0.9.13/spec/byte_array_spec.rb | 7 + .../gems/extlib-0.9.13/spec/class_spec.rb | 157 + .../gems/extlib-0.9.13/spec/datetime_spec.rb | 22 + .../gems/gems/extlib-0.9.13/spec/hash_spec.rb | 537 +++ .../gems/gems/extlib-0.9.13/spec/hook_spec.rb | 1234 +++++ .../spec/inflection/plural_spec.rb | 564 +++ .../spec/inflection/singular_spec.rb | 497 ++ .../spec/inflection_extras_spec.rb | 93 + .../extlib-0.9.13/spec/lazy_array_spec.rb | 1932 ++++++++ .../extlib-0.9.13/spec/lazy_module_spec.rb | 38 + .../gems/gems/extlib-0.9.13/spec/mash_spec.rb | 311 ++ .../gems/extlib-0.9.13/spec/module_spec.rb | 70 + .../extlib-0.9.13/spec/object_space_spec.rb | 9 + .../gems/extlib-0.9.13/spec/object_spec.rb | 114 + .../gems/extlib-0.9.13/spec/pooling_spec.rb | 511 ++ .../extlib-0.9.13/spec/simple_set_spec.rb | 57 + vendor/gems/gems/extlib-0.9.13/spec/spec.opts | 3 + .../gems/extlib-0.9.13/spec/spec_helper.rb | 10 + .../gems/extlib-0.9.13/spec/string_spec.rb | 220 + .../gems/extlib-0.9.13/spec/struct_spec.rb | 12 + .../gems/extlib-0.9.13/spec/symbol_spec.rb | 8 + .../gems/gems/extlib-0.9.13/spec/time_spec.rb | 29 + .../gems/extlib-0.9.13/spec/try_call_spec.rb | 73 + .../gems/extlib-0.9.13/spec/try_dup_spec.rb | 45 + .../extlib-0.9.13/spec/virtual_file_spec.rb | 21 + vendor/gems/gems/haml-2.2.13/.yardopts | 5 + vendor/gems/gems/haml-2.2.13/CONTRIBUTING | 4 + vendor/gems/gems/haml-2.2.13/MIT-LICENSE | 20 + vendor/gems/gems/haml-2.2.13/README.md | 347 ++ vendor/gems/gems/haml-2.2.13/REVISION | 1 + vendor/gems/gems/haml-2.2.13/Rakefile | 378 ++ vendor/gems/gems/haml-2.2.13/VERSION | 1 + vendor/gems/gems/haml-2.2.13/VERSION_NAME | 1 + vendor/gems/gems/haml-2.2.13/bin/css2sass | 7 + vendor/gems/gems/haml-2.2.13/bin/haml | 9 + vendor/gems/gems/haml-2.2.13/bin/html2haml | 7 + vendor/gems/gems/haml-2.2.13/bin/sass | 8 + .../gems/gems/haml-2.2.13/extra/haml-mode.el | 662 +++ .../gems/gems/haml-2.2.13/extra/sass-mode.el | 206 + .../gems/haml-2.2.13/extra/update_watch.rb | 13 + vendor/gems/gems/haml-2.2.13/init.rb | 16 + vendor/gems/gems/haml-2.2.13/lib/haml.rb | 40 + .../gems/gems/haml-2.2.13/lib/haml/buffer.rb | 302 ++ .../gems/gems/haml-2.2.13/lib/haml/engine.rb | 299 ++ .../gems/gems/haml-2.2.13/lib/haml/error.rb | 22 + vendor/gems/gems/haml-2.2.13/lib/haml/exec.rb | 459 ++ .../gems/gems/haml-2.2.13/lib/haml/filters.rb | 341 ++ .../gems/gems/haml-2.2.13/lib/haml/helpers.rb | 561 +++ .../haml/helpers/action_view_extensions.rb | 55 + .../lib/haml/helpers/action_view_mods.rb | 177 + .../haml-2.2.13/lib/haml/helpers/xss_mods.rb | 95 + vendor/gems/gems/haml-2.2.13/lib/haml/html.rb | 262 + .../gems/haml-2.2.13/lib/haml/precompiler.rb | 1035 ++++ .../gems/gems/haml-2.2.13/lib/haml/shared.rb | 78 + .../gems/haml-2.2.13/lib/haml/template.rb | 85 + .../haml-2.2.13/lib/haml/template/patch.rb | 58 + .../haml-2.2.13/lib/haml/template/plugin.rb | 71 + vendor/gems/gems/haml-2.2.13/lib/haml/util.rb | 265 ++ .../gems/gems/haml-2.2.13/lib/haml/version.rb | 64 + vendor/gems/gems/haml-2.2.13/lib/sass.rb | 24 + vendor/gems/gems/haml-2.2.13/lib/sass/css.rb | 404 ++ .../gems/gems/haml-2.2.13/lib/sass/engine.rb | 475 ++ .../gems/haml-2.2.13/lib/sass/environment.rb | 79 + .../gems/gems/haml-2.2.13/lib/sass/error.rb | 57 + .../gems/gems/haml-2.2.13/lib/sass/files.rb | 139 + .../gems/gems/haml-2.2.13/lib/sass/plugin.rb | 223 + .../gems/haml-2.2.13/lib/sass/plugin/merb.rb | 57 + .../gems/haml-2.2.13/lib/sass/plugin/rails.rb | 24 + vendor/gems/gems/haml-2.2.13/lib/sass/repl.rb | 58 + .../gems/gems/haml-2.2.13/lib/sass/script.rb | 59 + .../gems/haml-2.2.13/lib/sass/script/bool.rb | 17 + .../gems/haml-2.2.13/lib/sass/script/color.rb | 183 + .../haml-2.2.13/lib/sass/script/funcall.rb | 50 + .../haml-2.2.13/lib/sass/script/functions.rb | 199 + .../gems/haml-2.2.13/lib/sass/script/lexer.rb | 191 + .../haml-2.2.13/lib/sass/script/literal.rb | 177 + .../gems/haml-2.2.13/lib/sass/script/node.rb | 14 + .../haml-2.2.13/lib/sass/script/number.rb | 381 ++ .../haml-2.2.13/lib/sass/script/operation.rb | 45 + .../haml-2.2.13/lib/sass/script/parser.rb | 222 + .../haml-2.2.13/lib/sass/script/string.rb | 12 + .../lib/sass/script/unary_operation.rb | 34 + .../haml-2.2.13/lib/sass/script/variable.rb | 31 + .../haml-2.2.13/lib/sass/tree/comment_node.rb | 84 + .../haml-2.2.13/lib/sass/tree/debug_node.rb | 30 + .../lib/sass/tree/directive_node.rb | 68 + .../haml-2.2.13/lib/sass/tree/for_node.rb | 48 + .../gems/haml-2.2.13/lib/sass/tree/if_node.rb | 54 + .../haml-2.2.13/lib/sass/tree/import_node.rb | 65 + .../lib/sass/tree/mixin_def_node.rb | 29 + .../haml-2.2.13/lib/sass/tree/mixin_node.rb | 48 + .../gems/haml-2.2.13/lib/sass/tree/node.rb | 251 + .../haml-2.2.13/lib/sass/tree/prop_node.rb | 121 + .../haml-2.2.13/lib/sass/tree/rule_node.rb | 223 + .../lib/sass/tree/variable_node.rb | 34 + .../haml-2.2.13/lib/sass/tree/while_node.rb | 31 + vendor/gems/gems/haml-2.2.13/rails/init.rb | 1 + .../gems/gems/haml-2.2.13/test/benchmark.rb | 99 + .../gems/haml-2.2.13/test/haml/engine_test.rb | 1231 +++++ .../gems/haml-2.2.13/test/haml/helper_test.rb | 282 ++ .../haml-2.2.13/test/haml/html2haml_test.rb | 130 + .../test/haml/markaby/standard.mab | 52 + .../haml-2.2.13/test/haml/mocks/article.rb | 6 + .../haml/results/content_for_layout.xhtml | 12 + .../test/haml/results/eval_suppressed.xhtml | 9 + .../test/haml/results/filters.xhtml | 62 + .../test/haml/results/helpers.xhtml | 93 + .../test/haml/results/helpful.xhtml | 10 + .../test/haml/results/just_stuff.xhtml | 68 + .../haml-2.2.13/test/haml/results/list.xhtml | 12 + .../haml/results/nuke_inner_whitespace.xhtml | 40 + .../haml/results/nuke_outer_whitespace.xhtml | 148 + .../test/haml/results/original_engine.xhtml | 20 + .../test/haml/results/partial_layout.xhtml | 5 + .../test/haml/results/partials.xhtml | 21 + .../test/haml/results/render_layout.xhtml | 3 + .../test/haml/results/silent_script.xhtml | 74 + .../test/haml/results/standard.xhtml | 162 + .../test/haml/results/tag_parsing.xhtml | 23 + .../test/haml/results/very_basic.xhtml | 5 + .../haml/results/whitespace_handling.xhtml | 89 + .../test/haml/rhtml/_av_partial_1.rhtml | 12 + .../test/haml/rhtml/_av_partial_2.rhtml | 8 + .../test/haml/rhtml/action_view.rhtml | 62 + .../test/haml/rhtml/standard.rhtml | 54 + .../gems/haml-2.2.13/test/haml/spec/README.md | 97 + .../test/haml/spec/lua_haml_spec.lua | 30 + .../test/haml/spec/ruby_haml_test.rb | 19 + .../haml-2.2.13/test/haml/spec/tests.json | 488 ++ .../haml-2.2.13/test/haml/template_test.rb | 296 ++ .../test/haml/templates/_av_partial_1.haml | 9 + .../haml/templates/_av_partial_1_ugly.haml | 9 + .../test/haml/templates/_av_partial_2.haml | 5 + .../haml/templates/_av_partial_2_ugly.haml | 5 + .../test/haml/templates/_layout.erb | 3 + .../haml/templates/_layout_for_partial.haml | 3 + .../test/haml/templates/_partial.haml | 8 + .../test/haml/templates/_text_area.haml | 3 + .../test/haml/templates/action_view.haml | 47 + .../test/haml/templates/action_view_ugly.haml | 47 + .../test/haml/templates/breakage.haml | 8 + .../haml/templates/content_for_layout.haml | 8 + .../test/haml/templates/eval_suppressed.haml | 11 + .../test/haml/templates/filters.haml | 66 + .../test/haml/templates/helpers.haml | 95 + .../test/haml/templates/helpful.haml | 11 + .../test/haml/templates/just_stuff.haml | 83 + .../haml-2.2.13/test/haml/templates/list.haml | 12 + .../haml/templates/nuke_inner_whitespace.haml | 32 + .../haml/templates/nuke_outer_whitespace.haml | 144 + .../test/haml/templates/original_engine.haml | 17 + .../test/haml/templates/partial_layout.haml | 3 + .../test/haml/templates/partialize.haml | 1 + .../test/haml/templates/partials.haml | 12 + .../test/haml/templates/render_layout.haml | 2 + .../test/haml/templates/silent_script.haml | 40 + .../test/haml/templates/standard.haml | 42 + .../test/haml/templates/standard_ugly.haml | 42 + .../test/haml/templates/tag_parsing.haml | 21 + .../test/haml/templates/very_basic.haml | 4 + .../haml/templates/whitespace_handling.haml | 87 + .../gems/haml-2.2.13/test/haml/util_test.rb | 97 + .../gems/haml-2.2.13/test/linked_rails.rb | 21 + .../haml-2.2.13/test/sass/css2sass_test.rb | 251 + .../gems/haml-2.2.13/test/sass/engine_test.rb | 914 ++++ .../haml-2.2.13/test/sass/functions_test.rb | 126 + .../test/sass/more_results/more1.css | 9 + .../more_results/more1_with_line_comments.css | 26 + .../test/sass/more_results/more_import.css | 29 + .../sass/more_templates/_more_partial.sass | 2 + .../test/sass/more_templates/more1.sass | 23 + .../test/sass/more_templates/more_import.sass | 11 + .../gems/haml-2.2.13/test/sass/plugin_test.rb | 222 + .../haml-2.2.13/test/sass/results/alt.css | 4 + .../haml-2.2.13/test/sass/results/basic.css | 9 + .../haml-2.2.13/test/sass/results/compact.css | 5 + .../haml-2.2.13/test/sass/results/complex.css | 87 + .../test/sass/results/compressed.css | 1 + .../test/sass/results/expanded.css | 19 + .../haml-2.2.13/test/sass/results/import.css | 29 + .../test/sass/results/line_numbers.css | 49 + .../haml-2.2.13/test/sass/results/mixins.css | 95 + .../test/sass/results/multiline.css | 24 + .../haml-2.2.13/test/sass/results/nested.css | 22 + .../test/sass/results/parent_ref.css | 13 + .../haml-2.2.13/test/sass/results/script.css | 16 + .../subdir/nested_subdir/nested_subdir.css | 1 + .../test/sass/results/subdir/subdir.css | 3 + .../haml-2.2.13/test/sass/results/units.css | 11 + .../gems/haml-2.2.13/test/sass/script_test.rb | 261 + .../test/sass/templates/_partial.sass | 2 + .../haml-2.2.13/test/sass/templates/alt.sass | 16 + .../test/sass/templates/basic.sass | 23 + .../haml-2.2.13/test/sass/templates/bork.sass | 2 + .../test/sass/templates/bork2.sass | 2 + .../test/sass/templates/compact.sass | 17 + .../test/sass/templates/complex.sass | 307 ++ .../test/sass/templates/compressed.sass | 15 + .../test/sass/templates/expanded.sass | 17 + .../test/sass/templates/import.sass | 11 + .../test/sass/templates/importee.sass | 19 + .../test/sass/templates/line_numbers.sass | 13 + .../test/sass/templates/mixins.sass | 76 + .../test/sass/templates/multiline.sass | 20 + .../test/sass/templates/nested.sass | 25 + .../test/sass/templates/parent_ref.sass | 25 + .../test/sass/templates/script.sass | 101 + .../subdir/nested_subdir/_nested_partial.sass | 2 + .../subdir/nested_subdir/nested_subdir.sass | 3 + .../test/sass/templates/subdir/subdir.sass | 6 + .../test/sass/templates/units.sass | 11 + .../gems/gems/haml-2.2.13/test/test_helper.rb | 38 + vendor/gems/gems/highline-1.5.1/CHANGELOG | 222 + vendor/gems/gems/highline-1.5.1/INSTALL | 35 + vendor/gems/gems/highline-1.5.1/LICENSE | 7 + vendor/gems/gems/highline-1.5.1/README | 63 + vendor/gems/gems/highline-1.5.1/Rakefile | 82 + vendor/gems/gems/highline-1.5.1/TODO | 6 + .../highline-1.5.1/examples/ansi_colors.rb | 38 + .../examples/asking_for_arrays.rb | 18 + .../highline-1.5.1/examples/basic_usage.rb | 75 + .../highline-1.5.1/examples/color_scheme.rb | 32 + .../gems/highline-1.5.1/examples/limit.rb | 12 + .../gems/highline-1.5.1/examples/menus.rb | 65 + .../gems/highline-1.5.1/examples/overwrite.rb | 19 + .../highline-1.5.1/examples/page_and_wrap.rb | 322 ++ .../gems/highline-1.5.1/examples/password.rb | 7 + .../highline-1.5.1/examples/trapping_eof.rb | 22 + .../highline-1.5.1/examples/using_readline.rb | 17 + .../gems/gems/highline-1.5.1/lib/highline.rb | 758 +++ .../lib/highline/color_scheme.rb | 120 + .../lib/highline/compatibility.rb | 17 + .../highline-1.5.1/lib/highline/import.rb | 43 + .../gems/highline-1.5.1/lib/highline/menu.rb | 395 ++ .../highline-1.5.1/lib/highline/question.rb | 463 ++ .../lib/highline/system_extensions.rb | 193 + vendor/gems/gems/highline-1.5.1/setup.rb | 1360 ++++++ .../highline-1.5.1/test/tc_color_scheme.rb | 56 + .../gems/highline-1.5.1/test/tc_highline.rb | 823 ++++ .../gems/highline-1.5.1/test/tc_import.rb | 54 + .../gems/gems/highline-1.5.1/test/tc_menu.rb | 429 ++ .../gems/gems/highline-1.5.1/test/ts_all.rb | 15 + vendor/gems/gems/json-1.2.0/.require_paths | 4 + vendor/gems/gems/json-1.2.0/CHANGES | 136 + vendor/gems/gems/json-1.2.0/COPYING | 58 + vendor/gems/gems/json-1.2.0/GPL | 340 ++ vendor/gems/gems/json-1.2.0/README | 360 ++ vendor/gems/gems/json-1.2.0/Rakefile | 287 ++ vendor/gems/gems/json-1.2.0/TODO | 1 + vendor/gems/gems/json-1.2.0/VERSION | 1 + .../GeneratorBenchmarkComparison.log | 52 + ...markExt#generator_fast-autocorrelation.dat | 1000 ++++ .../GeneratorBenchmarkExt#generator_fast.dat | 1001 ++++ ...rkExt#generator_pretty-autocorrelation.dat | 900 ++++ ...GeneratorBenchmarkExt#generator_pretty.dat | 901 ++++ ...markExt#generator_safe-autocorrelation.dat | 1000 ++++ .../GeneratorBenchmarkExt#generator_safe.dat | 1001 ++++ .../GeneratorBenchmarkExt.log | 261 + ...arkPure#generator_fast-autocorrelation.dat | 1000 ++++ .../GeneratorBenchmarkPure#generator_fast.dat | 1001 ++++ ...kPure#generator_pretty-autocorrelation.dat | 1000 ++++ ...eneratorBenchmarkPure#generator_pretty.dat | 1001 ++++ ...arkPure#generator_safe-autocorrelation.dat | 1000 ++++ .../GeneratorBenchmarkPure#generator_safe.dat | 1001 ++++ .../GeneratorBenchmarkPure.log | 262 + ...nchmarkRails#generator-autocorrelation.dat | 1000 ++++ .../GeneratorBenchmarkRails#generator.dat | 1001 ++++ .../GeneratorBenchmarkRails.log | 82 + .../ParserBenchmarkComparison.log | 34 + ...serBenchmarkExt#parser-autocorrelation.dat | 900 ++++ .../ParserBenchmarkExt#parser.dat | 901 ++++ .../ParserBenchmarkExt.log | 81 + ...erBenchmarkPure#parser-autocorrelation.dat | 1000 ++++ .../ParserBenchmarkPure#parser.dat | 1001 ++++ .../ParserBenchmarkPure.log | 82 + ...rBenchmarkRails#parser-autocorrelation.dat | 1000 ++++ .../ParserBenchmarkRails#parser.dat | 1001 ++++ .../ParserBenchmarkRails.log | 82 + ...erBenchmarkYAML#parser-autocorrelation.dat | 1000 ++++ .../ParserBenchmarkYAML#parser.dat | 1001 ++++ .../ParserBenchmarkYAML.log | 82 + .../benchmarks/generator_benchmark.rb | 165 + .../json-1.2.0/benchmarks/parser_benchmark.rb | 197 + vendor/gems/gems/json-1.2.0/bin/edit_json.rb | 9 + .../gems/gems/json-1.2.0/bin/prettify_json.rb | 75 + vendor/gems/gems/json-1.2.0/data/example.json | 1 + vendor/gems/gems/json-1.2.0/data/index.html | 38 + vendor/gems/gems/json-1.2.0/data/prototype.js | 4184 ++++++++++++++++ .../json-1.2.0/ext/json/ext/generator.bundle | Bin 0 -> 67104 bytes .../ext/json/ext/generator/Makefile | 157 + .../ext/json/ext/generator/extconf.rb | 11 + .../ext/json/ext/generator/generator.bundle | Bin 0 -> 67104 bytes .../ext/json/ext/generator/generator.c | 935 ++++ .../ext/json/ext/generator/generator.o | Bin 0 -> 94284 bytes .../ext/json/ext/generator/mkmf.log | 21 + .../ext/json/ext/generator/unicode.c | 180 + .../ext/json/ext/generator/unicode.h | 53 + .../ext/json/ext/generator/unicode.o | Bin 0 -> 19812 bytes .../json-1.2.0/ext/json/ext/parser.bundle | Bin 0 -> 50688 bytes .../json-1.2.0/ext/json/ext/parser/Makefile | 157 + .../json-1.2.0/ext/json/ext/parser/extconf.rb | 11 + .../json-1.2.0/ext/json/ext/parser/mkmf.log | 20 + .../ext/json/ext/parser/parser.bundle | Bin 0 -> 50688 bytes .../json-1.2.0/ext/json/ext/parser/parser.c | 1880 ++++++++ .../json-1.2.0/ext/json/ext/parser/parser.o | Bin 0 -> 75860 bytes .../json-1.2.0/ext/json/ext/parser/parser.rl | 737 +++ .../json-1.2.0/ext/json/ext/parser/unicode.c | 154 + .../json-1.2.0/ext/json/ext/parser/unicode.h | 58 + .../json-1.2.0/ext/json/ext/parser/unicode.o | Bin 0 -> 18276 bytes vendor/gems/gems/json-1.2.0/install.rb | 26 + vendor/gems/gems/json-1.2.0/lib/json.rb | 10 + .../gems/gems/json-1.2.0/lib/json/Array.xpm | 21 + .../gems/json-1.2.0/lib/json/FalseClass.xpm | 21 + vendor/gems/gems/json-1.2.0/lib/json/Hash.xpm | 21 + vendor/gems/gems/json-1.2.0/lib/json/Key.xpm | 73 + .../gems/json-1.2.0/lib/json/NilClass.xpm | 21 + .../gems/gems/json-1.2.0/lib/json/Numeric.xpm | 28 + .../gems/gems/json-1.2.0/lib/json/String.xpm | 96 + .../gems/json-1.2.0/lib/json/TrueClass.xpm | 21 + .../gems/gems/json-1.2.0/lib/json/add/core.rb | 135 + .../gems/json-1.2.0/lib/json/add/rails.rb | 58 + .../gems/gems/json-1.2.0/lib/json/common.rb | 371 ++ .../gems/gems/json-1.2.0/lib/json/editor.rb | 1371 ++++++ vendor/gems/gems/json-1.2.0/lib/json/ext.rb | 15 + vendor/gems/gems/json-1.2.0/lib/json/json.xpm | 1499 ++++++ vendor/gems/gems/json-1.2.0/lib/json/pure.rb | 77 + .../json-1.2.0/lib/json/pure/generator.rb | 443 ++ .../gems/json-1.2.0/lib/json/pure/parser.rb | 303 ++ .../gems/gems/json-1.2.0/lib/json/version.rb | 8 + .../gems/json-1.2.0/tests/fixtures/fail1.json | 1 + .../json-1.2.0/tests/fixtures/fail10.json | 1 + .../json-1.2.0/tests/fixtures/fail11.json | 1 + .../json-1.2.0/tests/fixtures/fail12.json | 1 + .../json-1.2.0/tests/fixtures/fail13.json | 1 + .../json-1.2.0/tests/fixtures/fail14.json | 1 + .../json-1.2.0/tests/fixtures/fail18.json | 1 + .../json-1.2.0/tests/fixtures/fail19.json | 1 + .../gems/json-1.2.0/tests/fixtures/fail2.json | 1 + .../json-1.2.0/tests/fixtures/fail20.json | 1 + .../json-1.2.0/tests/fixtures/fail21.json | 1 + .../json-1.2.0/tests/fixtures/fail22.json | 1 + .../json-1.2.0/tests/fixtures/fail23.json | 1 + .../json-1.2.0/tests/fixtures/fail24.json | 1 + .../json-1.2.0/tests/fixtures/fail25.json | 1 + .../json-1.2.0/tests/fixtures/fail27.json | 2 + .../json-1.2.0/tests/fixtures/fail28.json | 2 + .../gems/json-1.2.0/tests/fixtures/fail3.json | 1 + .../gems/json-1.2.0/tests/fixtures/fail4.json | 1 + .../gems/json-1.2.0/tests/fixtures/fail5.json | 1 + .../gems/json-1.2.0/tests/fixtures/fail6.json | 1 + .../gems/json-1.2.0/tests/fixtures/fail7.json | 1 + .../gems/json-1.2.0/tests/fixtures/fail8.json | 1 + .../gems/json-1.2.0/tests/fixtures/fail9.json | 1 + .../gems/json-1.2.0/tests/fixtures/pass1.json | 56 + .../json-1.2.0/tests/fixtures/pass15.json | 1 + .../json-1.2.0/tests/fixtures/pass16.json | 1 + .../json-1.2.0/tests/fixtures/pass17.json | 1 + .../gems/json-1.2.0/tests/fixtures/pass2.json | 1 + .../json-1.2.0/tests/fixtures/pass26.json | 1 + .../gems/json-1.2.0/tests/fixtures/pass3.json | 6 + .../gems/gems/json-1.2.0/tests/test_json.rb | 320 ++ .../json-1.2.0/tests/test_json_addition.rb | 164 + .../json-1.2.0/tests/test_json_encoding.rb | 67 + .../json-1.2.0/tests/test_json_fixtures.rb | 34 + .../json-1.2.0/tests/test_json_generate.rb | 120 + .../gems/json-1.2.0/tests/test_json_rails.rb | 146 + .../json-1.2.0/tests/test_json_unicode.rb | 62 + vendor/gems/gems/json-1.2.0/tools/fuzz.rb | 139 + vendor/gems/gems/json-1.2.0/tools/server.rb | 61 + vendor/gems/gems/launchy-0.3.3/HISTORY | 57 + vendor/gems/gems/launchy-0.3.3/LICENSE | 31 + vendor/gems/gems/launchy-0.3.3/README | 49 + vendor/gems/gems/launchy-0.3.3/Rakefile | 62 + vendor/gems/gems/launchy-0.3.3/bin/launchy | 12 + vendor/gems/gems/launchy-0.3.3/gemspec.rb | 41 + vendor/gems/gems/launchy-0.3.3/lib/launchy.rb | 53 + .../launchy-0.3.3/lib/launchy/application.rb | 174 + .../gems/launchy-0.3.3/lib/launchy/browser.rb | 98 + .../launchy-0.3.3/lib/launchy/command_line.rb | 48 + .../gems/launchy-0.3.3/lib/launchy/paths.rb | 53 + .../gems/launchy-0.3.3/lib/launchy/version.rb | 17 + .../launchy-0.3.3/spec/application_spec.rb | 58 + .../gems/launchy-0.3.3/spec/browser_spec.rb | 50 + .../gems/launchy-0.3.3/spec/launchy_spec.rb | 18 + .../gems/launchy-0.3.3/spec/paths_spec.rb | 15 + .../gems/launchy-0.3.3/spec/spec_helper.rb | 5 + .../gems/launchy-0.3.3/spec/version_spec.rb | 11 + .../gems/launchy-0.3.3/tasks/announce.rake | 39 + .../gems/gems/launchy-0.3.3/tasks/config.rb | 107 + .../launchy-0.3.3/tasks/distribution.rake | 46 + .../launchy-0.3.3/tasks/documentation.rake | 32 + .../gems/gems/launchy-0.3.3/tasks/rspec.rake | 29 + .../gems/launchy-0.3.3/tasks/rubyforge.rake | 52 + vendor/gems/gems/launchy-0.3.3/tasks/utils.rb | 80 + vendor/gems/gems/polyglot-0.2.9/History.txt | 57 + vendor/gems/gems/polyglot-0.2.9/License.txt | 20 + vendor/gems/gems/polyglot-0.2.9/Manifest.txt | 7 + vendor/gems/gems/polyglot-0.2.9/README.txt | 87 + vendor/gems/gems/polyglot-0.2.9/Rakefile | 4 + .../gems/gems/polyglot-0.2.9/lib/polyglot.rb | 81 + .../polyglot-0.2.9/lib/polyglot/version.rb | 9 + .../gems/polyglot-0.2.9/test/test_helper.rb | 2 + .../gems/polyglot-0.2.9/test/test_polyglot.rb | 44 + vendor/gems/gems/rack-1.0.1/COPYING | 18 + vendor/gems/gems/rack-1.0.1/KNOWN-ISSUES | 18 + vendor/gems/gems/rack-1.0.1/RDOX | 428 ++ vendor/gems/gems/rack-1.0.1/README | 364 ++ vendor/gems/gems/rack-1.0.1/Rakefile | 164 + vendor/gems/gems/rack-1.0.1/SPEC | 164 + vendor/gems/gems/rack-1.0.1/bin/rackup | 176 + .../gems/rack-1.0.1/contrib/rack_logo.svg | 111 + .../gems/gems/rack-1.0.1/example/lobster.ru | 4 + .../rack-1.0.1/example/protectedlobster.rb | 14 + .../rack-1.0.1/example/protectedlobster.ru | 8 + vendor/gems/gems/rack-1.0.1/lib/rack.rb | 90 + .../rack-1.0.1/lib/rack/adapter/camping.rb | 22 + .../lib/rack/auth/abstract/handler.rb | 37 + .../lib/rack/auth/abstract/request.rb | 37 + .../gems/rack-1.0.1/lib/rack/auth/basic.rb | 58 + .../rack-1.0.1/lib/rack/auth/digest/md5.rb | 124 + .../rack-1.0.1/lib/rack/auth/digest/nonce.rb | 51 + .../rack-1.0.1/lib/rack/auth/digest/params.rb | 55 + .../lib/rack/auth/digest/request.rb | 40 + .../gems/rack-1.0.1/lib/rack/auth/openid.rb | 480 ++ .../gems/gems/rack-1.0.1/lib/rack/builder.rb | 63 + .../gems/gems/rack-1.0.1/lib/rack/cascade.rb | 36 + .../gems/gems/rack-1.0.1/lib/rack/chunked.rb | 49 + .../gems/rack-1.0.1/lib/rack/commonlogger.rb | 61 + .../rack-1.0.1/lib/rack/conditionalget.rb | 47 + .../rack-1.0.1/lib/rack/content_length.rb | 29 + .../gems/rack-1.0.1/lib/rack/content_type.rb | 23 + .../gems/gems/rack-1.0.1/lib/rack/deflater.rb | 96 + .../gems/rack-1.0.1/lib/rack/directory.rb | 153 + vendor/gems/gems/rack-1.0.1/lib/rack/file.rb | 88 + .../gems/gems/rack-1.0.1/lib/rack/handler.rb | 69 + .../gems/rack-1.0.1/lib/rack/handler/cgi.rb | 61 + .../lib/rack/handler/evented_mongrel.rb | 8 + .../rack-1.0.1/lib/rack/handler/fastcgi.rb | 90 + .../gems/rack-1.0.1/lib/rack/handler/lsws.rb | 60 + .../rack-1.0.1/lib/rack/handler/mongrel.rb | 87 + .../gems/rack-1.0.1/lib/rack/handler/scgi.rb | 62 + .../lib/rack/handler/swiftiplied_mongrel.rb | 8 + .../gems/rack-1.0.1/lib/rack/handler/thin.rb | 18 + .../rack-1.0.1/lib/rack/handler/webrick.rb | 71 + vendor/gems/gems/rack-1.0.1/lib/rack/head.rb | 19 + vendor/gems/gems/rack-1.0.1/lib/rack/lint.rb | 546 +++ .../gems/gems/rack-1.0.1/lib/rack/lobster.rb | 65 + vendor/gems/gems/rack-1.0.1/lib/rack/lock.rb | 16 + .../rack-1.0.1/lib/rack/methodoverride.rb | 27 + vendor/gems/gems/rack-1.0.1/lib/rack/mime.rb | 204 + vendor/gems/gems/rack-1.0.1/lib/rack/mock.rb | 163 + .../gems/rack-1.0.1/lib/rack/recursive.rb | 57 + .../gems/gems/rack-1.0.1/lib/rack/reloader.rb | 106 + .../gems/gems/rack-1.0.1/lib/rack/request.rb | 246 + .../gems/gems/rack-1.0.1/lib/rack/response.rb | 183 + .../rack-1.0.1/lib/rack/rewindable_input.rb | 100 + .../lib/rack/session/abstract/id.rb | 142 + .../rack-1.0.1/lib/rack/session/cookie.rb | 91 + .../rack-1.0.1/lib/rack/session/memcache.rb | 109 + .../gems/rack-1.0.1/lib/rack/session/pool.rb | 100 + .../rack-1.0.1/lib/rack/showexceptions.rb | 349 ++ .../gems/rack-1.0.1/lib/rack/showstatus.rb | 106 + .../gems/gems/rack-1.0.1/lib/rack/static.rb | 38 + .../gems/gems/rack-1.0.1/lib/rack/urlmap.rb | 55 + vendor/gems/gems/rack-1.0.1/lib/rack/utils.rb | 401 ++ vendor/gems/gems/rack-1.0.1/rack.gemspec | 54 + .../gems/rack-1.0.1/test/cgi/lighttpd.conf | 20 + vendor/gems/gems/rack-1.0.1/test/cgi/test | 9 + .../gems/gems/rack-1.0.1/test/cgi/test.fcgi | 8 + vendor/gems/gems/rack-1.0.1/test/cgi/test.ru | 7 + .../gems/rack-1.0.1/test/multipart/binary | Bin 0 -> 26667 bytes .../gems/gems/rack-1.0.1/test/multipart/empty | 10 + vendor/gems/gems/rack-1.0.1/test/multipart/ie | 6 + .../gems/rack-1.0.1/test/multipart/nested | 10 + .../gems/gems/rack-1.0.1/test/multipart/none | 9 + .../gems/rack-1.0.1/test/multipart/semicolon | 6 + .../gems/gems/rack-1.0.1/test/multipart/text | 10 + .../rack-1.0.1/test/spec_rack_auth_basic.rb | 73 + .../rack-1.0.1/test/spec_rack_auth_digest.rb | 226 + .../rack-1.0.1/test/spec_rack_auth_openid.rb | 84 + .../gems/rack-1.0.1/test/spec_rack_builder.rb | 84 + .../gems/rack-1.0.1/test/spec_rack_camping.rb | 51 + .../gems/rack-1.0.1/test/spec_rack_cascade.rb | 50 + .../gems/rack-1.0.1/test/spec_rack_cgi.rb | 89 + .../gems/rack-1.0.1/test/spec_rack_chunked.rb | 62 + .../rack-1.0.1/test/spec_rack_commonlogger.rb | 32 + .../test/spec_rack_conditionalget.rb | 41 + .../test/spec_rack_content_length.rb | 43 + .../rack-1.0.1/test/spec_rack_content_type.rb | 30 + .../rack-1.0.1/test/spec_rack_deflater.rb | 127 + .../rack-1.0.1/test/spec_rack_directory.rb | 61 + .../gems/rack-1.0.1/test/spec_rack_fastcgi.rb | 89 + .../gems/rack-1.0.1/test/spec_rack_file.rb | 75 + .../gems/rack-1.0.1/test/spec_rack_handler.rb | 43 + .../gems/rack-1.0.1/test/spec_rack_head.rb | 30 + .../gems/rack-1.0.1/test/spec_rack_lint.rb | 521 ++ .../gems/rack-1.0.1/test/spec_rack_lobster.rb | 45 + .../gems/rack-1.0.1/test/spec_rack_lock.rb | 38 + .../test/spec_rack_methodoverride.rb | 60 + .../gems/rack-1.0.1/test/spec_rack_mock.rb | 157 + .../gems/rack-1.0.1/test/spec_rack_mongrel.rb | 189 + .../rack-1.0.1/test/spec_rack_recursive.rb | 77 + .../gems/rack-1.0.1/test/spec_rack_request.rb | 504 ++ .../rack-1.0.1/test/spec_rack_response.rb | 218 + .../test/spec_rack_rewindable_input.rb | 118 + .../test/spec_rack_session_cookie.rb | 82 + .../test/spec_rack_session_memcache.rb | 240 + .../rack-1.0.1/test/spec_rack_session_pool.rb | 172 + .../test/spec_rack_showexceptions.rb | 21 + .../rack-1.0.1/test/spec_rack_showstatus.rb | 72 + .../gems/rack-1.0.1/test/spec_rack_static.rb | 37 + .../gems/rack-1.0.1/test/spec_rack_thin.rb | 91 + .../gems/rack-1.0.1/test/spec_rack_urlmap.rb | 185 + .../gems/rack-1.0.1/test/spec_rack_utils.rb | 387 ++ .../gems/rack-1.0.1/test/spec_rack_webrick.rb | 130 + .../gems/gems/rack-1.0.1/test/testrequest.rb | 57 + .../rack/handler/unregistered.rb | 7 + .../rack/handler/unregistered_long_one.rb | 7 + vendor/gems/gems/rack-test-0.5.1/.document | 4 + vendor/gems/gems/rack-test-0.5.1/.gitignore | 4 + vendor/gems/gems/rack-test-0.5.1/History.txt | 94 + .../gems/gems/rack-test-0.5.1/MIT-LICENSE.txt | 19 + vendor/gems/gems/rack-test-0.5.1/README.rdoc | 57 + vendor/gems/gems/rack-test-0.5.1/Rakefile | 39 + vendor/gems/gems/rack-test-0.5.1/Thorfile | 114 + .../rack-test-0.5.1/lib/rack/mock_session.rb | 60 + .../gems/rack-test-0.5.1/lib/rack/test.rb | 276 ++ .../lib/rack/test/cookie_jar.rb | 170 + .../rack-test-0.5.1/lib/rack/test/methods.rb | 80 + .../lib/rack/test/mock_digest_request.rb | 29 + .../lib/rack/test/uploaded_file.rb | 46 + .../rack-test-0.5.1/lib/rack/test/utils.rb | 101 + .../gems/rack-test-0.5.1/rack-test.gemspec | 73 + .../rack-test-0.5.1/spec/fixtures/config.ru | 3 + .../rack-test-0.5.1/spec/fixtures/fake_app.rb | 115 + .../rack-test-0.5.1/spec/fixtures/foo.txt | 1 + .../spec/rack/test/cookie_spec.rb | 190 + .../spec/rack/test/digest_auth_spec.rb | 48 + .../spec/rack/test/multipart_spec.rb | 87 + .../spec/rack/test/utils_spec.rb | 97 + .../rack-test-0.5.1/spec/rack/test_spec.rb | 413 ++ .../gems/gems/rack-test-0.5.1/spec/spec.opts | 2 + .../gems/rack-test-0.5.1/spec/spec_helper.rb | 52 + vendor/gems/gems/rake-0.8.7/CHANGES | 440 ++ vendor/gems/gems/rake-0.8.7/MIT-LICENSE | 21 + vendor/gems/gems/rake-0.8.7/README | 196 + vendor/gems/gems/rake-0.8.7/Rakefile | 430 ++ vendor/gems/gems/rake-0.8.7/TODO | 20 + vendor/gems/gems/rake-0.8.7/bin/rake | 31 + .../rake-0.8.7/doc/command_line_usage.rdoc | 102 + .../gems/rake-0.8.7/doc/example/Rakefile1 | 38 + .../gems/rake-0.8.7/doc/example/Rakefile2 | 35 + vendor/gems/gems/rake-0.8.7/doc/example/a.c | 6 + vendor/gems/gems/rake-0.8.7/doc/example/b.c | 6 + .../gems/gems/rake-0.8.7/doc/example/main.c | 11 + vendor/gems/gems/rake-0.8.7/doc/glossary.rdoc | 51 + vendor/gems/gems/rake-0.8.7/doc/jamis.rb | 591 +++ .../gems/gems/rake-0.8.7/doc/proto_rake.rdoc | 127 + vendor/gems/gems/rake-0.8.7/doc/rake.1.gz | Bin 0 -> 1369 bytes vendor/gems/gems/rake-0.8.7/doc/rakefile.rdoc | 534 +++ vendor/gems/gems/rake-0.8.7/doc/rational.rdoc | 151 + .../doc/release_notes/rake-0.4.14.rdoc | 23 + .../doc/release_notes/rake-0.4.15.rdoc | 35 + .../doc/release_notes/rake-0.5.0.rdoc | 53 + .../doc/release_notes/rake-0.5.3.rdoc | 78 + .../doc/release_notes/rake-0.5.4.rdoc | 46 + .../doc/release_notes/rake-0.6.0.rdoc | 141 + .../doc/release_notes/rake-0.7.0.rdoc | 119 + .../doc/release_notes/rake-0.7.1.rdoc | 59 + .../doc/release_notes/rake-0.7.2.rdoc | 121 + .../doc/release_notes/rake-0.7.3.rdoc | 47 + .../doc/release_notes/rake-0.8.0.rdoc | 114 + .../doc/release_notes/rake-0.8.2.rdoc | 165 + .../doc/release_notes/rake-0.8.3.rdoc | 112 + .../doc/release_notes/rake-0.8.4.rdoc | 147 + .../doc/release_notes/rake-0.8.5.rdoc | 53 + .../doc/release_notes/rake-0.8.6.rdoc | 55 + .../doc/release_notes/rake-0.8.7.rdoc | 55 + vendor/gems/gems/rake-0.8.7/install.rb | 88 + vendor/gems/gems/rake-0.8.7/lib/rake.rb | 2506 ++++++++++ .../gems/rake-0.8.7/lib/rake/alt_system.rb | 108 + .../rake-0.8.7/lib/rake/classic_namespace.rb | 8 + vendor/gems/gems/rake-0.8.7/lib/rake/clean.rb | 33 + .../lib/rake/contrib/compositepublisher.rb | 24 + .../rake-0.8.7/lib/rake/contrib/ftptools.rb | 153 + .../rake-0.8.7/lib/rake/contrib/publisher.rb | 75 + .../lib/rake/contrib/rubyforgepublisher.rb | 18 + .../lib/rake/contrib/sshpublisher.rb | 47 + .../gems/rake-0.8.7/lib/rake/contrib/sys.rb | 209 + .../rake-0.8.7/lib/rake/gempackagetask.rb | 97 + .../rake-0.8.7/lib/rake/loaders/makefile.rb | 42 + .../gems/rake-0.8.7/lib/rake/packagetask.rb | 184 + .../rake-0.8.7/lib/rake/rake_test_loader.rb | 5 + .../gems/gems/rake-0.8.7/lib/rake/rdoctask.rb | 209 + .../lib/rake/ruby182_test_unit_fix.rb | 23 + .../gems/gems/rake-0.8.7/lib/rake/runtest.rb | 23 + .../gems/gems/rake-0.8.7/lib/rake/tasklib.rb | 23 + .../gems/gems/rake-0.8.7/lib/rake/testtask.rb | 161 + vendor/gems/gems/rake-0.8.7/lib/rake/win32.rb | 55 + .../gems/rake-0.8.7/test/capture_stdout.rb | 26 + .../gems/rake-0.8.7/test/check_expansion.rb | 5 + .../rake-0.8.7/test/check_no_expansion.rb | 5 + .../gems/rake-0.8.7/test/contrib/test_sys.rb | 47 + .../gems/rake-0.8.7/test/data/chains/Rakefile | 15 + .../rake-0.8.7/test/data/default/Rakefile | 19 + .../gems/rake-0.8.7/test/data/dryrun/Rakefile | 22 + .../test/data/file_creation_task/Rakefile | 33 + .../rake-0.8.7/test/data/imports/Rakefile | 19 + .../gems/rake-0.8.7/test/data/imports/deps.mf | 1 + .../rake-0.8.7/test/data/multidesc/Rakefile | 17 + .../rake-0.8.7/test/data/namespace/Rakefile | 57 + .../rake-0.8.7/test/data/rakelib/test1.rb | 3 + .../rake-0.8.7/test/data/rbext/rakefile.rb | 3 + .../gems/gems/rake-0.8.7/test/data/sample.mf | 14 + .../test/data/statusreturn/Rakefile | 8 + .../rake-0.8.7/test/data/unittest/Rakefile | 1 + .../gems/gems/rake-0.8.7/test/filecreation.rb | 32 + .../gems/gems/rake-0.8.7/test/functional.rb | 15 + .../gems/rake-0.8.7/test/in_environment.rb | 30 + .../gems/rake-0.8.7/test/rake_test_setup.rb | 24 + vendor/gems/gems/rake-0.8.7/test/reqfile.rb | 3 + vendor/gems/gems/rake-0.8.7/test/reqfile2.rb | 3 + .../rake-0.8.7/test/session_functional.rb | 339 ++ .../gems/gems/rake-0.8.7/test/shellcommand.rb | 3 + .../gems/rake-0.8.7/test/test_application.rb | 675 +++ .../gems/gems/rake-0.8.7/test/test_clean.rb | 14 + .../gems/rake-0.8.7/test/test_definitions.rb | 85 + .../gems/rake-0.8.7/test/test_earlytime.rb | 35 + .../gems/rake-0.8.7/test/test_extension.rb | 63 + .../test/test_file_creation_task.rb | 62 + .../gems/rake-0.8.7/test/test_file_task.rb | 143 + .../gems/rake-0.8.7/test/test_filelist.rb | 623 +++ .../gems/rake-0.8.7/test/test_fileutils.rb | 251 + vendor/gems/gems/rake-0.8.7/test/test_ftp.rb | 59 + .../rake-0.8.7/test/test_invocation_chain.rb | 81 + .../rake-0.8.7/test/test_makefile_loader.rb | 26 + .../gems/rake-0.8.7/test/test_multitask.rb | 45 + .../gems/rake-0.8.7/test/test_namespace.rb | 55 + .../gems/rake-0.8.7/test/test_package_task.rb | 118 + .../gems/gems/rake-0.8.7/test/test_pathmap.rb | 210 + .../rake-0.8.7/test/test_pseudo_status.rb | 26 + vendor/gems/gems/rake-0.8.7/test/test_rake.rb | 41 + .../gems/rake-0.8.7/test/test_rdoc_task.rb | 88 + .../gems/gems/rake-0.8.7/test/test_require.rb | 35 + .../gems/gems/rake-0.8.7/test/test_rules.rb | 349 ++ .../rake-0.8.7/test/test_task_arguments.rb | 89 + .../gems/rake-0.8.7/test/test_task_manager.rb | 173 + .../gems/gems/rake-0.8.7/test/test_tasklib.rb | 12 + .../gems/gems/rake-0.8.7/test/test_tasks.rb | 374 ++ .../gems/rake-0.8.7/test/test_test_task.rb | 77 + .../test/test_top_level_functions.rb | 86 + .../gems/gems/rake-0.8.7/test/test_win32.rb | 72 + vendor/gems/gems/rdoc-2.4.3/.autotest | 14 + vendor/gems/gems/rdoc-2.4.3/.document | 4 + vendor/gems/gems/rdoc-2.4.3/History.txt | 260 + vendor/gems/gems/rdoc-2.4.3/Manifest.txt | 126 + vendor/gems/gems/rdoc-2.4.3/README.txt | 47 + vendor/gems/gems/rdoc-2.4.3/RI.txt | 58 + vendor/gems/gems/rdoc-2.4.3/Rakefile | 71 + vendor/gems/gems/rdoc-2.4.3/bin/ri | 5 + vendor/gems/gems/rdoc-2.4.3/lib/rdoc.rb | 398 ++ vendor/gems/gems/rdoc-2.4.3/test/binary.dat | Bin 0 -> 1024 bytes vendor/gems/gems/rdoc-2.4.3/test/test.ja.rdoc | 8 + vendor/gems/gems/rdoc-2.4.3/test/test.ja.txt | 8 + .../rdoc-2.4.3/test/test_attribute_manager.rb | 76 + .../rdoc-2.4.3/test/test_rdoc_any_method.rb | 10 + .../rdoc-2.4.3/test/test_rdoc_code_object.rb | 80 + .../rdoc-2.4.3/test/test_rdoc_constant.rb | 15 + .../gems/rdoc-2.4.3/test/test_rdoc_context.rb | 250 + .../gems/rdoc-2.4.3/test/test_rdoc_include.rb | 17 + .../gems/rdoc-2.4.3/test/test_rdoc_markup.rb | 626 +++ .../test_rdoc_markup_attribute_manager.rb | 243 + .../test/test_rdoc_markup_to_html.rb | 81 + .../test/test_rdoc_markup_to_html_crossref.rb | 161 + .../test/test_rdoc_normal_module.rb | 26 + .../gems/rdoc-2.4.3/test/test_rdoc_parser.rb | 29 + .../rdoc-2.4.3/test/test_rdoc_parser_c.rb | 401 ++ .../rdoc-2.4.3/test/test_rdoc_parser_perl.rb | 74 + .../rdoc-2.4.3/test/test_rdoc_parser_ruby.rb | 1040 ++++ .../gems/rdoc-2.4.3/test/test_rdoc_require.rb | 25 + .../test/test_rdoc_ri_attribute_formatter.rb | 44 + .../test/test_rdoc_ri_default_display.rb | 302 ++ .../rdoc-2.4.3/test/test_rdoc_ri_driver.rb | 94 + .../rdoc-2.4.3/test/test_rdoc_ri_formatter.rb | 320 ++ .../test/test_rdoc_ri_html_formatter.rb | 141 + .../test/test_rdoc_ri_overstrike_formatter.rb | 71 + .../gems/rdoc-2.4.3/test/test_rdoc_task.rb | 64 + .../rdoc-2.4.3/test/test_rdoc_top_level.rb | 85 + vendor/gems/gems/rdoc-2.4.3/test/xref_data.rb | 46 + .../gems/rdoc-2.4.3/test/xref_test_case.rb | 48 + vendor/gems/gems/rspec-1.2.9/.document | 7 + vendor/gems/gems/rspec-1.2.9/History.rdoc | 1496 ++++++ vendor/gems/gems/rspec-1.2.9/License.txt | 22 + vendor/gems/gems/rspec-1.2.9/Manifest.txt | 377 ++ vendor/gems/gems/rspec-1.2.9/README.rdoc | 55 + vendor/gems/gems/rspec-1.2.9/Rakefile | 145 + vendor/gems/gems/rspec-1.2.9/Ruby1.9.rdoc | 31 + vendor/gems/gems/rspec-1.2.9/TODO.txt | 17 + vendor/gems/gems/rspec-1.2.9/Upgrade.rdoc | 199 + vendor/gems/gems/rspec-1.2.9/bin/autospec | 4 + vendor/gems/gems/rspec-1.2.9/bin/spec | 5 + vendor/gems/gems/rspec-1.2.9/cucumber.yml | 5 + .../rspec-1.2.9/examples/failing/README.txt | 11 + .../examples/failing/diffing_spec.rb | 36 + .../failing_implicit_docstrings_example.rb | 17 + .../examples/failing/failure_in_after.rb | 10 + .../examples/failing/failure_in_before.rb | 10 + .../examples/failing/mocking_example.rb | 38 + .../examples/failing/mocking_with_flexmock.rb | 26 + .../examples/failing/mocking_with_mocha.rb | 25 + .../examples/failing/mocking_with_rr.rb | 27 + .../examples/failing/partial_mock_example.rb | 18 + .../examples/failing/pending_example.rb | 7 + .../examples/failing/predicate_example.rb | 32 + .../examples/failing/raising_example.rb | 47 + .../examples/failing/syntax_error_example.rb | 7 + .../rspec-1.2.9/examples/failing/team_spec.rb | 41 + .../examples/failing/timeout_behaviour.rb | 5 + .../examples/passing/custom_formatter.rb | 11 + .../examples/passing/custom_matchers.rb | 54 + .../examples/passing/dynamic_spec.rb | 7 + .../examples/passing/file_accessor.rb | 18 + .../examples/passing/file_accessor_spec.rb | 37 + .../examples/passing/filtered_formatter.rb | 17 + .../passing/filtered_formatter_example.rb | 31 + .../examples/passing/greeter_spec.rb | 30 + .../examples/passing/helper_method_example.rb | 12 + .../passing/implicit_docstrings_example.rb | 16 + .../examples/passing/io_processor.rb | 8 + .../examples/passing/io_processor_spec.rb | 20 + .../examples/passing/mocking_example.rb | 25 + .../multi_threaded_example_group_runner.rb | 26 + .../passing/nested_classes_example.rb | 35 + .../examples/passing/options_example.rb | 29 + .../examples/passing/options_formatter.rb | 20 + .../examples/passing/partial_mock_example.rb | 27 + .../examples/passing/pending_example.rb | 18 + .../examples/passing/predicate_example.rb | 25 + .../passing/shared_example_group_example.rb | 79 + .../examples/passing/shared_stack_examples.rb | 36 + .../passing/simple_matcher_example.rb | 29 + .../rspec-1.2.9/examples/passing/stack.rb | 36 + .../examples/passing/stack_spec.rb | 63 + .../stack_spec_with_nested_example_groups.rb | 66 + .../examples/passing/stubbing_example.rb | 67 + .../examples/passing/yielding_example.rb | 31 + .../access_to_constants_spec.rb | 85 + .../before_and_after_blocks.feature | 167 + .../command_line/line_number_option.feature | 56 + ...r_option_with_example_with_no_name.feature | 22 + .../define_example_attribute.feature | 41 + .../example_group_with_should_methods.feature | 29 + .../implicit_docstrings.feature | 59 + .../example_groups/nested_groups.feature | 32 + .../expectations/customized_message.feature | 54 + .../expectations/expect_change.feature | 65 + .../expectations/expect_error.feature | 44 + .../extensions/custom_example_group.feature | 19 + .../formatters/custom_formatter.feature | 30 + .../examples_and_tests_together.feature | 84 + .../features/interop/rspec_output.feature | 25 + .../interop/test_but_not_test_unit.feature | 26 + .../test_case_with_should_methods.feature | 46 + .../load_paths/add_lib_to_load_path.feature | 20 + .../load_paths/add_spec_to_load_path.feature | 20 + .../matchers/define_diffable_matcher.feature | 26 + .../features/matchers/define_matcher.feature | 179 + .../define_matcher_outside_rspec.feature | 38 + ...fine_matcher_with_fluent_interface.feature | 27 + .../matchers/define_wrapped_matcher.feature | 29 + .../use_flexmock.feature | 27 + .../use_mocha.feature | 27 + .../mock_framework_integration/use_rr.feature | 27 + .../mocks/mix_stubs_and_mocks.feature | 22 + .../mocks/stub_implementation.feature | 26 + .../features/pending/pending_examples.feature | 81 + .../runner/specify_line_number.feature | 32 + .../features/spec_helper/spec_helper.feature | 25 + .../step_definitions/running_rspec_steps.rb | 43 + .../features/subject/explicit_subject.feature | 31 + .../features/subject/implicit_subject.feature | 43 + .../gems/rspec-1.2.9/features/support/env.rb | 82 + .../features/support/matchers/smart_match.rb | 12 + vendor/gems/gems/rspec-1.2.9/init.rb | 9 + .../gems/rspec-1.2.9/lib/autotest/discover.rb | 3 + .../gems/rspec-1.2.9/lib/autotest/rspec.rb | 47 + vendor/gems/gems/rspec-1.2.9/lib/spec.rb | 8 + .../spec/adapters/mock_frameworks/flexmock.rb | 24 + .../spec/adapters/mock_frameworks/mocha.rb | 25 + .../lib/spec/adapters/mock_frameworks/rr.rb | 22 + .../spec/adapters/mock_frameworks/rspec.rb | 21 + .../gems/gems/rspec-1.2.9/lib/spec/autorun.rb | 3 + .../gems/rspec-1.2.9/lib/spec/deprecation.rb | 40 + vendor/gems/gems/rspec-1.2.9/lib/spec/dsl.rb | 1 + .../gems/rspec-1.2.9/lib/spec/dsl/main.rb | 92 + .../gems/gems/rspec-1.2.9/lib/spec/example.rb | 164 + .../lib/spec/example/args_and_options.rb | 27 + .../spec/example/before_and_after_hooks.rb | 93 + .../rspec-1.2.9/lib/spec/example/errors.rb | 25 + .../lib/spec/example/example_group.rb | 10 + .../lib/spec/example/example_group_factory.rb | 82 + .../spec/example/example_group_hierarchy.rb | 53 + .../lib/spec/example/example_group_methods.rb | 282 ++ .../lib/spec/example/example_group_proxy.rb | 61 + .../lib/spec/example/example_matcher.rb | 43 + .../lib/spec/example/example_methods.rb | 148 + .../lib/spec/example/example_proxy.rb | 41 + .../lib/spec/example/module_reopening_fix.rb | 43 + .../rspec-1.2.9/lib/spec/example/pending.rb | 18 + .../lib/spec/example/predicate_matchers.rb | 46 + .../lib/spec/example/shared_example_group.rb | 59 + .../rspec-1.2.9/lib/spec/example/subject.rb | 108 + .../gems/rspec-1.2.9/lib/spec/expectations.rb | 35 + .../lib/spec/expectations/errors.rb | 12 + .../lib/spec/expectations/extensions.rb | 1 + .../spec/expectations/extensions/kernel.rb | 52 + .../lib/spec/expectations/fail_with.rb | 45 + .../lib/spec/expectations/handler.rb | 50 + .../gems/rspec-1.2.9/lib/spec/interop/test.rb | 44 + .../lib/spec/interop/test/unit/autorunner.rb | 6 + .../lib/spec/interop/test/unit/testcase.rb | 56 + .../lib/spec/interop/test/unit/testresult.rb | 6 + .../interop/test/unit/testsuite_adapter.rb | 34 + .../test/unit/ui/console/testrunner.rb | 61 + .../gems/rspec-1.2.9/lib/spec/matchers.rb | 195 + .../gems/rspec-1.2.9/lib/spec/matchers/be.rb | 210 + .../rspec-1.2.9/lib/spec/matchers/be_close.rb | 32 + .../lib/spec/matchers/be_instance_of.rb | 26 + .../lib/spec/matchers/be_kind_of.rb | 26 + .../rspec-1.2.9/lib/spec/matchers/change.rb | 151 + .../lib/spec/matchers/compatibility.rb | 14 + .../gems/rspec-1.2.9/lib/spec/matchers/dsl.rb | 20 + .../gems/rspec-1.2.9/lib/spec/matchers/eql.rb | 42 + .../rspec-1.2.9/lib/spec/matchers/equal.rb | 53 + .../rspec-1.2.9/lib/spec/matchers/errors.rb | 5 + .../rspec-1.2.9/lib/spec/matchers/exist.rb | 16 + .../spec/matchers/extensions/instance_exec.rb | 31 + .../spec/matchers/generated_descriptions.rb | 36 + .../gems/rspec-1.2.9/lib/spec/matchers/has.rb | 35 + .../rspec-1.2.9/lib/spec/matchers/have.rb | 151 + .../rspec-1.2.9/lib/spec/matchers/include.rb | 44 + .../rspec-1.2.9/lib/spec/matchers/match.rb | 21 + .../lib/spec/matchers/match_array.rb | 71 + .../rspec-1.2.9/lib/spec/matchers/matcher.rb | 87 + .../lib/spec/matchers/method_missing.rb | 9 + .../lib/spec/matchers/operator_matcher.rb | 78 + .../rspec-1.2.9/lib/spec/matchers/pretty.rb | 37 + .../lib/spec/matchers/raise_error.rb | 129 + .../lib/spec/matchers/respond_to.rb | 71 + .../rspec-1.2.9/lib/spec/matchers/satisfy.rb | 47 + .../lib/spec/matchers/simple_matcher.rb | 133 + .../lib/spec/matchers/throw_symbol.rb | 104 + .../lib/spec/matchers/wrap_expectation.rb | 55 + .../gems/gems/rspec-1.2.9/lib/spec/mocks.rb | 200 + .../lib/spec/mocks/argument_expectation.rb | 51 + .../lib/spec/mocks/argument_matchers.rb | 237 + .../lib/spec/mocks/error_generator.rb | 92 + .../gems/rspec-1.2.9/lib/spec/mocks/errors.rb | 10 + .../lib/spec/mocks/example_methods.rb | 69 + .../rspec-1.2.9/lib/spec/mocks/extensions.rb | 1 + .../lib/spec/mocks/extensions/object.rb | 3 + .../rspec-1.2.9/lib/spec/mocks/framework.rb | 15 + .../lib/spec/mocks/message_expectation.rb | 329 ++ .../rspec-1.2.9/lib/spec/mocks/methods.rb | 89 + .../gems/rspec-1.2.9/lib/spec/mocks/mock.rb | 71 + .../rspec-1.2.9/lib/spec/mocks/order_group.rb | 29 + .../gems/rspec-1.2.9/lib/spec/mocks/proxy.rb | 245 + .../gems/rspec-1.2.9/lib/spec/mocks/space.rb | 28 + .../rspec-1.2.9/lib/spec/rake/spectask.rb | 230 + .../rspec-1.2.9/lib/spec/rake/verify_rcov.rb | 52 + vendor/gems/gems/rspec-1.2.9/lib/spec/ruby.rb | 9 + .../gems/gems/rspec-1.2.9/lib/spec/runner.rb | 66 + .../lib/spec/runner/backtrace_tweaker.rb | 77 + .../spec/runner/class_and_arguments_parser.rb | 14 + .../lib/spec/runner/command_line.rb | 15 + .../lib/spec/runner/configuration.rb | 194 + .../lib/spec/runner/differs/default.rb | 93 + .../lib/spec/runner/differs/load-diff-lcs.rb | 12 + .../lib/spec/runner/drb_command_line.rb | 26 + .../lib/spec/runner/example_group_runner.rb | 59 + .../lib/spec/runner/extensions/kernel.rb | 9 + .../spec/runner/formatter/base_formatter.rb | 139 + .../runner/formatter/base_text_formatter.rb | 142 + .../failing_example_groups_formatter.rb | 25 + .../formatter/failing_examples_formatter.rb | 20 + .../spec/runner/formatter/html_formatter.rb | 338 ++ .../runner/formatter/nested_text_formatter.rb | 47 + .../runner/formatter/no_op_method_missing.rb | 21 + .../runner/formatter/profile_formatter.rb | 47 + .../formatter/progress_bar_formatter.rb | 33 + .../spec/runner/formatter/silent_formatter.rb | 10 + .../runner/formatter/snippet_extractor.rb | 52 + .../runner/formatter/specdoc_formatter.rb | 33 + .../runner/formatter/text_mate_formatter.rb | 16 + .../lib/spec/runner/heckle_runner.rb | 72 + .../spec/runner/heckle_runner_unsupported.rb | 10 + .../lib/spec/runner/line_number_query.rb | 78 + .../lib/spec/runner/option_parser.rb | 223 + .../rspec-1.2.9/lib/spec/runner/options.rb | 400 ++ .../rspec-1.2.9/lib/spec/runner/reporter.rb | 171 + .../rspec-1.2.9/lib/spec/stubs/cucumber.rb | 5 + .../gems/rspec-1.2.9/lib/spec/test/unit.rb | 10 + .../gems/gems/rspec-1.2.9/lib/spec/version.rb | 14 + .../rspec-1.2.9/resources/helpers/cmdline.rb | 8 + .../rspec-1.2.9/resources/rake/examples.rake | 7 + .../resources/rake/examples_with_rcov.rake | 9 + .../rake/failing_examples_with_html.rake | 9 + .../resources/rake/verify_rcov.rake | 7 + .../gems/gems/rspec-1.2.9/spec/README.jruby | 15 + .../spec/autotest/autotest_helper.rb | 8 + .../spec/autotest/autotest_matchers.rb | 38 + .../spec/autotest/discover_spec.rb | 8 + .../spec/autotest/failed_results_re_spec.rb | 31 + .../rspec-1.2.9/spec/autotest/rspec_spec.rb | 111 + .../gems/gems/rspec-1.2.9/spec/ruby_forker.rb | 13 + vendor/gems/gems/rspec-1.2.9/spec/spec.opts | 6 + .../rspec-1.2.9/spec/spec/dsl/main_spec.rb | 95 + .../example_group_class_definition_spec.rb | 51 + .../example/example_group_factory_spec.rb | 180 + .../example/example_group_methods_spec.rb | 758 +++ .../spec/example/example_group_proxy_spec.rb | 107 + .../spec/spec/example/example_group_spec.rb | 643 +++ .../spec/spec/example/example_matcher_spec.rb | 86 + .../spec/spec/example/example_methods_spec.rb | 162 + .../spec/spec/example/example_proxy_spec.rb | 57 + .../spec/spec/example/helper_method_spec.rb | 24 + .../spec/example/nested_example_group_spec.rb | 71 + .../spec/spec/example/pending_module_spec.rb | 58 + .../spec/example/predicate_matcher_spec.rb | 41 + .../spec/example/shared_example_group_spec.rb | 257 + .../example/subclassing_example_group_spec.rb | 25 + .../spec/spec/example/subject_spec.rb | 103 + .../spec/expectations/differs/default_spec.rb | 194 + .../expectations/extensions/kernel_spec.rb | 45 + .../spec/spec/expectations/fail_with_spec.rb | 96 + .../spec/spec/expectations/handler_spec.rb | 206 + .../expectations/wrap_expectation_spec.rb | 30 + .../test/unit/resources/spec_that_fails.rb | 10 + .../test/unit/resources/spec_that_passes.rb | 10 + .../test/unit/resources/spec_with_errors.rb | 10 + .../unit/resources/spec_with_options_hash.rb | 13 + .../unit/resources/test_case_that_fails.rb | 10 + .../unit/resources/test_case_that_passes.rb | 10 + .../unit/resources/test_case_with_errors.rb | 10 + .../resources/test_case_with_various_names.rb | 22 + .../testsuite_adapter_spec_with_test_unit.rb | 38 + .../spec/spec/interop/test/unit/spec_spec.rb | 48 + .../test/unit/test_unit_spec_helper.rb | 18 + .../spec/interop/test/unit/testcase_spec.rb | 50 + .../test/unit/testsuite_adapter_spec.rb | 9 + .../spec/spec/matchers/be_close_spec.rb | 50 + .../spec/spec/matchers/be_instance_of_spec.rb | 36 + .../spec/spec/matchers/be_kind_of_spec.rb | 33 + .../rspec-1.2.9/spec/spec/matchers/be_spec.rb | 311 ++ .../spec/spec/matchers/change_spec.rb | 349 ++ .../spec/spec/matchers/compatibility_spec.rb | 28 + .../matchers/description_generation_spec.rb | 160 + .../spec/spec/matchers/dsl_spec.rb | 34 + .../spec/spec/matchers/eql_spec.rb | 33 + .../spec/spec/matchers/equal_spec.rb | 57 + .../spec/spec/matchers/exist_spec.rb | 65 + .../spec/spec/matchers/has_spec.rb | 81 + .../spec/spec/matchers/have_spec.rb | 396 ++ .../spec/spec/matchers/include_spec.rb | 88 + .../spec/spec/matchers/match_array_spec.rb | 108 + .../spec/spec/matchers/match_spec.rb | 57 + .../spec/matchers/matcher_methods_spec.rb | 63 + .../spec/spec/matchers/matcher_spec.rb | 228 + .../spec/spec/matchers/matchers_spec.rb | 2 + .../spec/matchers/operator_matcher_spec.rb | 191 + .../spec/spec/matchers/raise_error_spec.rb | 333 ++ .../spec/spec/matchers/respond_to_spec.rb | 116 + .../spec/spec/matchers/satisfy_spec.rb | 36 + .../spec/spec/matchers/simple_matcher_spec.rb | 93 + .../spec/spec/matchers/throw_symbol_spec.rb | 96 + .../spec/mocks/any_number_of_times_spec.rb | 36 + .../spec/mocks/argument_expectation_spec.rb | 23 + .../spec/spec/mocks/argument_matchers_spec.rb | 19 + .../spec/spec/mocks/at_least_spec.rb | 97 + .../spec/spec/mocks/at_most_spec.rb | 93 + .../spec/spec/mocks/bug_report_10260_spec.rb | 8 + .../spec/spec/mocks/bug_report_10263_spec.rb | 27 + .../spec/spec/mocks/bug_report_11545_spec.rb | 32 + .../spec/spec/mocks/bug_report_15719_spec.rb | 30 + .../spec/spec/mocks/bug_report_496_spec.rb | 19 + .../spec/spec/mocks/bug_report_600_spec.rb | 22 + .../spec/spec/mocks/bug_report_7611_spec.rb | 19 + .../spec/spec/mocks/bug_report_7805_spec.rb | 22 + .../spec/spec/mocks/bug_report_8165_spec.rb | 31 + .../spec/spec/mocks/bug_report_8302_spec.rb | 26 + .../spec/spec/mocks/bug_report_830_spec.rb | 21 + .../spec/spec/mocks/double_spec.rb | 12 + .../mocks/failing_argument_matchers_spec.rb | 95 + .../spec/mocks/hash_including_matcher_spec.rb | 90 + .../mocks/hash_not_including_matcher_spec.rb | 67 + .../spec/spec/mocks/mock_ordering_spec.rb | 94 + .../spec/spec/mocks/mock_space_spec.rb | 54 + .../rspec-1.2.9/spec/spec/mocks/mock_spec.rb | 594 +++ .../spec/mocks/multiple_return_value_spec.rb | 113 + .../mocks/nil_expectation_warning_spec.rb | 53 + .../spec/spec/mocks/null_object_mock_spec.rb | 54 + .../spec/spec/mocks/once_counts_spec.rb | 53 + .../spec/spec/mocks/options_hash_spec.rb | 35 + .../spec/spec/mocks/partial_mock_spec.rb | 164 + .../partial_mock_using_mocks_directly_spec.rb | 66 + .../mocks/passing_argument_matchers_spec.rb | 145 + .../spec/spec/mocks/precise_counts_spec.rb | 52 + .../spec/spec/mocks/record_messages_spec.rb | 26 + .../spec/spec/mocks/stub_chain_spec.rb | 42 + .../spec/mocks/stub_implementation_spec.rb | 31 + .../rspec-1.2.9/spec/spec/mocks/stub_spec.rb | 203 + .../stubbed_message_expectations_spec.rb | 26 + .../spec/spec/mocks/twice_counts_spec.rb | 67 + .../spec/spec/mocks/unstub_spec.rb | 127 + .../spec/spec/package/bin_spec_spec.rb | 16 + .../spec/spec/rake/spectask_spec.rb | 150 + .../runner/class_and_argument_parser_spec.rb | 23 + .../spec/spec/runner/command_line_spec.rb | 141 + .../spec/spec/runner/configuration_spec.rb | 320 ++ .../spec/spec/runner/drb_command_line_spec.rb | 107 + .../spec/spec/runner/empty_file.txt | 0 .../spec/runner/example_group_runner_spec.rb | 26 + .../rspec-1.2.9/spec/spec/runner/examples.txt | 2 + .../rspec-1.2.9/spec/spec/runner/failed.txt | 3 + .../runner/formatter/base_formatter_spec.rb | 30 + .../formatter/base_text_formatter_spec.rb | 113 + .../failing_example_groups_formatter_spec.rb | 45 + .../failing_examples_formatter_spec.rb | 33 + .../formatter/html_formatted-1.8.6-jruby.html | 377 ++ .../formatter/html_formatted-1.8.6.html | 377 ++ .../formatter/html_formatted-1.8.7.html | 377 ++ .../formatter/html_formatted-1.9.1.html | 377 ++ .../runner/formatter/html_formatter_spec.rb | 118 + .../formatter/nested_text_formatter_spec.rb | 305 ++ .../formatter/profile_formatter_spec.rb | 70 + .../formatter/progress_bar_formatter_spec.rb | 149 + .../formatter/snippet_extractor_spec.rb | 18 + .../formatter/specdoc_formatter_spec.rb | 159 + .../text_mate_formatted-1.8.6-jruby.html | 371 ++ .../formatter/text_mate_formatted-1.8.6.html | 371 ++ .../formatter/text_mate_formatted-1.8.7.html | 371 ++ .../formatter/text_mate_formatted-1.9.1.html | 371 ++ .../formatter/text_mate_formatter_spec.rb | 106 + .../spec/spec/runner/heckle_runner_spec.rb | 78 + .../spec/spec/runner/heckler_spec.rb | 20 + .../line_number_query_fixture.rb | 70 + .../spec/runner/line_number_query_spec.rb | 129 + .../runner/noisy_backtrace_tweaker_spec.rb | 51 + .../spec/spec/runner/option_parser_spec.rb | 545 +++ .../spec/spec/runner/options_spec.rb | 547 +++ .../spec/runner/output_one_time_fixture.rb | 7 + .../runner/output_one_time_fixture_runner.rb | 7 + .../spec/spec/runner/output_one_time_spec.rb | 15 + .../runner/quiet_backtrace_tweaker_spec.rb | 105 + .../spec/spec/runner/reporter_spec.rb | 244 + .../spec/spec/runner/resources/a_bar.rb | 0 .../spec/spec/runner/resources/a_foo.rb | 0 .../spec/spec/runner/resources/a_spec.rb | 1 + .../resources/custom_example_group_runner.rb | 14 + .../spec/runner/resources/utf8_encoded.rb | 8 + .../rspec-1.2.9/spec/spec/runner/spec.opts | 2 + .../spec/spec/runner/spec_drb.opts | 2 + .../spec/spec/runner/spec_spaced.opts | 2 + .../gems/rspec-1.2.9/spec/spec/runner_spec.rb | 13 + .../gems/gems/rspec-1.2.9/spec/spec_helper.rb | 112 + .../gems/rspec-1.2.9/spec/support/macros.rb | 29 + .../rspec-1.2.9/spec/support/spec_classes.rb | 133 + vendor/gems/gems/sdoc-0.2.14.1/.gitignore | 3 + vendor/gems/gems/sdoc-0.2.14.1/LICENSE | 21 + vendor/gems/gems/sdoc-0.2.14.1/README.rdoc | 38 + vendor/gems/gems/sdoc-0.2.14.1/Rakefile | 44 + vendor/gems/gems/sdoc-0.2.14.1/VERSION.yml | 4 + vendor/gems/gems/sdoc-0.2.14.1/bin/sdoc | 11 + vendor/gems/gems/sdoc-0.2.14.1/bin/sdoc-merge | 12 + vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc.rb | 23 + .../sdoc-0.2.14.1/lib/sdoc/c_parser_fix.rb | 31 + .../sdoc-0.2.14.1/lib/sdoc/generator/shtml.rb | 356 ++ .../generator/template/direct/_context.rhtml | 172 + .../generator/template/direct/class.rhtml | 40 + .../sdoc/generator/template/direct/file.rhtml | 30 + .../generator/template/direct/index.rhtml | 14 + .../direct/resources/apple-touch-icon.png | Bin 0 -> 86447 bytes .../template/direct/resources/css/main.css | 263 + .../template/direct/resources/css/panel.css | 383 ++ .../template/direct/resources/css/reset.css | 53 + .../template/direct/resources/favicon.ico | Bin 0 -> 1150 bytes .../template/direct/resources/i/arrows.png | Bin 0 -> 477 bytes .../direct/resources/i/results_bg.png | Bin 0 -> 696 bytes .../template/direct/resources/i/tree_bg.png | Bin 0 -> 207 bytes .../direct/resources/js/jquery-1.3.2.min.js | 19 + .../direct/resources/js/jquery-effect.js | 593 +++ .../template/direct/resources/js/main.js | 22 + .../template/direct/resources/js/searchdoc.js | 628 +++ .../direct/resources/panel/index.html | 71 + .../sdoc/generator/template/merge/index.rhtml | 14 + .../generator/template/shtml/_context.rhtml | 164 + .../sdoc/generator/template/shtml/class.rhtml | 46 + .../sdoc/generator/template/shtml/file.rhtml | 37 + .../sdoc/generator/template/shtml/index.rhtml | 14 + .../shtml/resources/apple-touch-icon.png | Bin 0 -> 86447 bytes .../template/shtml/resources/css/main.css | 191 + .../template/shtml/resources/css/panel.css | 383 ++ .../template/shtml/resources/css/reset.css | 53 + .../template/shtml/resources/favicon.ico | Bin 0 -> 1150 bytes .../template/shtml/resources/i/arrows.png | Bin 0 -> 477 bytes .../template/shtml/resources/i/results_bg.png | Bin 0 -> 696 bytes .../template/shtml/resources/i/tree_bg.png | Bin 0 -> 207 bytes .../shtml/resources/js/jquery-1.3.2.min.js | 19 + .../template/shtml/resources/js/main.js | 34 + .../template/shtml/resources/js/searchdoc.js | 628 +++ .../template/shtml/resources/panel/index.html | 71 + .../gems/sdoc-0.2.14.1/lib/sdoc/github.rb | 64 + .../gems/sdoc-0.2.14.1/lib/sdoc/helpers.rb | 26 + .../gems/gems/sdoc-0.2.14.1/lib/sdoc/merge.rb | 217 + .../sdoc-0.2.14.1/lib/sdoc/templatable.rb | 58 + vendor/gems/gems/sdoc-0.2.14.1/sdoc.gemspec | 89 + vendor/gems/gems/shotgun-0.4/COPYING | 18 + vendor/gems/gems/shotgun-0.4/README | 46 + vendor/gems/gems/shotgun-0.4/Rakefile | 56 + vendor/gems/gems/shotgun-0.4/bin/shotgun | 136 + vendor/gems/gems/shotgun-0.4/lib/shotgun.rb | 99 + vendor/gems/gems/shotgun-0.4/shotgun.gemspec | 34 + vendor/gems/gems/sinatra-0.9.4/AUTHORS | 41 + vendor/gems/gems/sinatra-0.9.4/CHANGES | 385 ++ vendor/gems/gems/sinatra-0.9.4/LICENSE | 22 + vendor/gems/gems/sinatra-0.9.4/README.rdoc | 573 +++ vendor/gems/gems/sinatra-0.9.4/Rakefile | 138 + .../gems/sinatra-0.9.4/compat/app_test.rb | 282 ++ .../sinatra-0.9.4/compat/application_test.rb | 262 + .../gems/sinatra-0.9.4/compat/builder_test.rb | 101 + .../gems/sinatra-0.9.4/compat/compat_test.rb | 12 + .../sinatra-0.9.4/compat/custom_error_test.rb | 62 + .../gems/sinatra-0.9.4/compat/erb_test.rb | 136 + .../gems/sinatra-0.9.4/compat/events_test.rb | 78 + .../gems/sinatra-0.9.4/compat/filter_test.rb | 30 + .../gems/sinatra-0.9.4/compat/haml_test.rb | 236 + .../gems/gems/sinatra-0.9.4/compat/helper.rb | 33 + .../sinatra-0.9.4/compat/mapped_error_test.rb | 72 + .../sinatra-0.9.4/compat/pipeline_test.rb | 45 + .../gems/sinatra-0.9.4/compat/public/foo.xml | 1 + .../gems/sinatra-0.9.4/compat/sass_test.rb | 67 + .../sinatra-0.9.4/compat/sessions_test.rb | 42 + .../sinatra-0.9.4/compat/streaming_test.rb | 133 + .../sinatra-0.9.4/compat/sym_params_test.rb | 19 + .../sinatra-0.9.4/compat/template_test.rb | 30 + .../compat/use_in_file_templates_test.rb | 47 + .../sinatra-0.9.4/compat/views/foo.builder | 1 + .../gems/sinatra-0.9.4/compat/views/foo.erb | 1 + .../gems/sinatra-0.9.4/compat/views/foo.haml | 1 + .../gems/sinatra-0.9.4/compat/views/foo.sass | 2 + .../sinatra-0.9.4/compat/views/foo_layout.erb | 2 + .../compat/views/foo_layout.haml | 2 + .../compat/views/layout_test/foo.builder | 1 + .../compat/views/layout_test/foo.erb | 1 + .../compat/views/layout_test/foo.haml | 1 + .../compat/views/layout_test/foo.sass | 2 + .../compat/views/layout_test/layout.builder | 3 + .../compat/views/layout_test/layout.erb | 1 + .../compat/views/layout_test/layout.haml | 1 + .../compat/views/layout_test/layout.sass | 2 + .../compat/views/no_layout/no_layout.builder | 1 + .../compat/views/no_layout/no_layout.haml | 1 + vendor/gems/gems/sinatra-0.9.4/lib/sinatra.rb | 8 + .../gems/sinatra-0.9.4/lib/sinatra/base.rb | 1119 +++++ .../gems/sinatra-0.9.4/lib/sinatra/compat.rb | 266 ++ .../sinatra-0.9.4/lib/sinatra/images/404.png | Bin 0 -> 23305 bytes .../sinatra-0.9.4/lib/sinatra/images/500.png | Bin 0 -> 31056 bytes .../gems/sinatra-0.9.4/lib/sinatra/main.rb | 35 + .../lib/sinatra/showexceptions.rb | 303 ++ .../gems/sinatra-0.9.4/lib/sinatra/test.rb | 128 + .../sinatra-0.9.4/lib/sinatra/test/bacon.rb | 19 + .../sinatra-0.9.4/lib/sinatra/test/rspec.rb | 13 + .../sinatra-0.9.4/lib/sinatra/test/spec.rb | 11 + .../sinatra-0.9.4/lib/sinatra/test/unit.rb | 13 + .../gems/gems/sinatra-0.9.4/sinatra.gemspec | 125 + .../gems/gems/sinatra-0.9.4/test/base_test.rb | 160 + .../gems/sinatra-0.9.4/test/builder_test.rb | 65 + .../gems/gems/sinatra-0.9.4/test/contest.rb | 64 + .../test/data/reload_app_file.rb | 3 + .../gems/gems/sinatra-0.9.4/test/erb_test.rb | 81 + .../sinatra-0.9.4/test/extensions_test.rb | 100 + .../gems/sinatra-0.9.4/test/filter_test.rb | 99 + .../gems/gems/sinatra-0.9.4/test/haml_test.rb | 90 + vendor/gems/gems/sinatra-0.9.4/test/helper.rb | 76 + .../gems/sinatra-0.9.4/test/helpers_test.rb | 503 ++ .../sinatra-0.9.4/test/mapped_error_test.rb | 155 + .../sinatra-0.9.4/test/middleware_test.rb | 68 + .../gems/sinatra-0.9.4/test/options_test.rb | 372 ++ .../test/render_backtrace_test.rb | 145 + .../gems/sinatra-0.9.4/test/request_test.rb | 18 + .../gems/sinatra-0.9.4/test/response_test.rb | 42 + .../gems/sinatra-0.9.4/test/result_test.rb | 98 + .../test/route_added_hook_test.rb | 59 + .../gems/sinatra-0.9.4/test/routing_test.rb | 784 +++ .../gems/gems/sinatra-0.9.4/test/sass_test.rb | 79 + .../gems/sinatra-0.9.4/test/server_test.rb | 47 + .../gems/sinatra-0.9.4/test/sinatra_test.rb | 13 + .../gems/sinatra-0.9.4/test/static_test.rb | 80 + .../gems/sinatra-0.9.4/test/templates_test.rb | 122 + .../gems/gems/sinatra-0.9.4/test/test_test.rb | 152 + .../sinatra-0.9.4/test/views/error.builder | 3 + .../gems/sinatra-0.9.4/test/views/error.erb | 3 + .../gems/sinatra-0.9.4/test/views/error.haml | 3 + .../gems/sinatra-0.9.4/test/views/error.sass | 2 + .../sinatra-0.9.4/test/views/foo/hello.test | 1 + .../sinatra-0.9.4/test/views/hello.builder | 1 + .../gems/sinatra-0.9.4/test/views/hello.erb | 1 + .../gems/sinatra-0.9.4/test/views/hello.haml | 1 + .../gems/sinatra-0.9.4/test/views/hello.sass | 2 + .../gems/sinatra-0.9.4/test/views/hello.test | 1 + .../sinatra-0.9.4/test/views/layout2.builder | 3 + .../gems/sinatra-0.9.4/test/views/layout2.erb | 2 + .../sinatra-0.9.4/test/views/layout2.haml | 2 + .../sinatra-0.9.4/test/views/layout2.test | 1 + .../gems/sinatra-content-for-0.2/.gitignore | 3 + .../gems/gems/sinatra-content-for-0.2/LICENSE | 22 + .../gems/sinatra-content-for-0.2/README.rdoc | 41 + .../lib/sinatra/content_for.rb | 58 + .../sinatra-content-for.gemspec | 34 + .../test/content_for_test.rb | 156 + vendor/gems/gems/sprockets-1.0.2/Rakefile | 19 + .../gems/gems/sprockets-1.0.2/bin/sprocketize | 54 + .../sprockets-1.0.2/ext/nph-sprockets.cgi | 127 + .../gems/sprockets-1.0.2/lib/sprockets.rb | 42 + .../lib/sprockets/concatenation.rb | 36 + .../lib/sprockets/environment.rb | 52 + .../sprockets-1.0.2/lib/sprockets/error.rb | 5 + .../sprockets-1.0.2/lib/sprockets/pathname.rb | 37 + .../lib/sprockets/preprocessor.rb | 91 + .../lib/sprockets/secretary.rb | 106 + .../lib/sprockets/source_file.rb | 54 + .../lib/sprockets/source_line.rb | 82 + .../sprockets-1.0.2/lib/sprockets/version.rb | 9 + .../assets/images/script_with_assets/one.png | 1 + .../assets/images/script_with_assets/two.png | 1 + .../assets/stylesheets/script_with_assets.css | 1 + .../test/fixtures/constants.yml | 1 + ...be_ignored_when_strip_comments_is_false.js | 8 + ...t_requires_should_be_removed_by_default.js | 2 + ...e_comments_should_be_removed_by_default.js | 4 + ...already_been_required_should_do_nothing.js | 5 + ...at_does_not_exist_should_raise_an_error.js | 1 + ..._require_comment_with_the_file_contents.js | 3 + ...ring_the_current_file_should_do_nothing.js | 1 + .../test/fixtures/src/constants.yml | 3 + .../sprockets-1.0.2/test/fixtures/src/foo.js | 1 + .../test/fixtures/src/foo/bar.js | 4 + .../test/fixtures/src/foo/foo.js | 1 + .../test/fixtures/src/script_with_assets.js | 3 + .../test/test_concatenation.rb | 28 + .../sprockets-1.0.2/test/test_environment.rb | 64 + .../gems/sprockets-1.0.2/test/test_helper.rb | 55 + .../sprockets-1.0.2/test/test_pathname.rb | 43 + .../sprockets-1.0.2/test/test_preprocessor.rb | 107 + .../sprockets-1.0.2/test/test_secretary.rb | 83 + .../sprockets-1.0.2/test/test_source_file.rb | 34 + .../sprockets-1.0.2/test/test_source_line.rb | 89 + vendor/gems/gems/templater-1.0.0/History.txt | 3 + vendor/gems/gems/templater-1.0.0/Manifest.txt | 64 + vendor/gems/gems/templater-1.0.0/README.rdoc | 266 ++ vendor/gems/gems/templater-1.0.0/Rakefile | 23 + .../gems/templater-1.0.0/lib/templater.rb | 49 + .../lib/templater/actions/action.rb | 43 + .../lib/templater/actions/directory.rb | 22 + .../lib/templater/actions/empty_directory.rb | 57 + .../lib/templater/actions/file.rb | 60 + .../lib/templater/actions/template.rb | 61 + .../lib/templater/capture_helpers.rb | 62 + .../lib/templater/cli/generator.rb | 175 + .../lib/templater/cli/manifold.rb | 59 + .../lib/templater/cli/parser.rb | 85 + .../lib/templater/core_ext/kernel.rb | 14 + .../lib/templater/core_ext/string.rb | 17 + .../lib/templater/description.rb | 78 + .../lib/templater/discovery.rb | 86 + .../lib/templater/generator.rb | 644 +++ .../templater-1.0.0/lib/templater/manifold.rb | 98 + .../lib/templater/spec/helpers.rb | 67 + .../gems/gems/templater-1.0.0/script/console | 10 + .../gems/gems/templater-1.0.0/script/destroy | 14 + .../gems/gems/templater-1.0.0/script/generate | 14 + .../spec/actions/directory_spec.rb | 21 + .../spec/actions/empty_directory_spec.rb | 108 + .../templater-1.0.0/spec/actions/file_spec.rb | 112 + .../spec/actions/template_spec.rb | 141 + .../spec/core_ext/string_spec.rb | 39 + .../spec/generator/actions_spec.rb | 111 + .../spec/generator/arguments_spec.rb | 225 + .../spec/generator/desc_spec.rb | 10 + .../spec/generator/destination_root_spec.rb | 9 + .../spec/generator/empty_directories_spec.rb | 148 + .../spec/generator/files_spec.rb | 199 + .../spec/generator/generators_spec.rb | 63 + .../spec/generator/glob_spec.rb | 94 + .../spec/generator/invocations_spec.rb | 173 + .../spec/generator/invoke_spec.rb | 21 + .../spec/generator/options_spec.rb | 46 + .../spec/generator/render_spec.rb | 21 + .../spec/generator/source_root_spec.rb | 18 + .../spec/generator/templates_spec.rb | 209 + .../templater-1.0.0/spec/manifold_spec.rb | 146 + .../spec/options_parser_spec.rb | 20 + .../gems/templater-1.0.0/spec/results/erb.rbs | 1 + .../templater-1.0.0/spec/results/file.rbs | 1 + .../templater-1.0.0/spec/results/random.rbs | 1 + .../spec/results/simple_erb.rbs | 1 + .../gems/templater-1.0.0/spec/spec_helper.rb | 65 + .../templater-1.0.0/spec/spec_helpers_spec.rb | 85 + .../templater-1.0.0/spec/templater_spec.rb | 7 + .../templater-1.0.0/spec/templates/erb.rbt | 1 + .../spec/templates/glob/README | 1 + .../spec/templates/glob/arg.js | 3 + .../spec/templates/glob/hellothar.%feh% | 1 + .../spec/templates/glob/hellothar.html.%feh% | 1 + .../templates/glob/subfolder/jessica_alba.jpg | 1 + .../spec/templates/glob/subfolder/monkey.rb | 1 + .../spec/templates/glob/test.rb | 1 + .../spec/templates/literals_erb.rbt | 1 + .../templater-1.0.0/spec/templates/simple.rbt | 1 + .../spec/templates/simple_erb.rbt | 1 + .../gems/templater-1.0.0/templater.gemspec | 54 + vendor/gems/gems/term-ansicolor-1.0.4/CHANGES | 22 + vendor/gems/gems/term-ansicolor-1.0.4/COPYING | 340 ++ vendor/gems/gems/term-ansicolor-1.0.4/README | 31 + .../gems/gems/term-ansicolor-1.0.4/Rakefile | 86 + vendor/gems/gems/term-ansicolor-1.0.4/VERSION | 1 + .../gems/term-ansicolor-1.0.4/doc-main.txt | 119 + .../term-ansicolor-1.0.4/examples/cdiff.rb | 19 + .../term-ansicolor-1.0.4/examples/example.rb | 89 + .../gems/gems/term-ansicolor-1.0.4/install.rb | 15 + .../lib/term/ansicolor.rb | 102 + .../lib/term/ansicolor/version.rb | 10 + .../term-ansicolor.gemspec | 20 + vendor/gems/gems/thin-1.2.5/CHANGELOG | 268 ++ vendor/gems/gems/thin-1.2.5/COPYING | 18 + vendor/gems/gems/thin-1.2.5/README | 69 + vendor/gems/gems/thin-1.2.5/Rakefile | 36 + vendor/gems/gems/thin-1.2.5/benchmark/abc | 51 + .../gems/thin-1.2.5/benchmark/benchmarker.rb | 80 + vendor/gems/gems/thin-1.2.5/benchmark/runner | 82 + vendor/gems/gems/thin-1.2.5/bin/thin | 6 + .../gems/gems/thin-1.2.5/example/adapter.rb | 32 + .../gems/gems/thin-1.2.5/example/async_app.ru | 126 + .../gems/thin-1.2.5/example/async_chat.ru | 247 + .../gems/thin-1.2.5/example/async_tailer.ru | 100 + vendor/gems/gems/thin-1.2.5/example/config.ru | 22 + .../gems/thin-1.2.5/example/monit_sockets | 20 + .../gems/thin-1.2.5/example/monit_unixsock | 20 + vendor/gems/gems/thin-1.2.5/example/myapp.rb | 1 + vendor/gems/gems/thin-1.2.5/example/ramaze.ru | 12 + vendor/gems/gems/thin-1.2.5/example/thin.god | 80 + .../thin-1.2.5/example/thin_solaris_smf.erb | 36 + .../example/thin_solaris_smf.readme.txt | 150 + vendor/gems/gems/thin-1.2.5/example/vlad.rake | 64 + .../gems/thin-1.2.5/ext/thin_parser/Makefile | 157 + .../gems/thin-1.2.5/ext/thin_parser/common.rl | 55 + .../thin-1.2.5/ext/thin_parser/ext_help.h | 14 + .../thin-1.2.5/ext/thin_parser/extconf.rb | 6 + .../gems/thin-1.2.5/ext/thin_parser/mkmf.log | 12 + .../gems/thin-1.2.5/ext/thin_parser/parser.c | 452 ++ .../gems/thin-1.2.5/ext/thin_parser/parser.h | 49 + .../gems/thin-1.2.5/ext/thin_parser/parser.o | Bin 0 -> 30364 bytes .../gems/thin-1.2.5/ext/thin_parser/parser.rl | 157 + .../gems/thin-1.2.5/ext/thin_parser/thin.c | 433 ++ .../gems/thin-1.2.5/ext/thin_parser/thin.o | Bin 0 -> 63084 bytes .../ext/thin_parser/thin_parser.bundle | Bin 0 -> 58736 bytes .../thin-1.2.5/lib/rack/adapter/loader.rb | 79 + .../gems/thin-1.2.5/lib/rack/adapter/rails.rb | 180 + vendor/gems/gems/thin-1.2.5/lib/thin.rb | 46 + .../gems/thin-1.2.5/lib/thin/backends/base.rb | 141 + .../lib/thin/backends/swiftiply_client.rb | 56 + .../lib/thin/backends/tcp_server.rb | 29 + .../lib/thin/backends/unix_server.rb | 51 + .../gems/gems/thin-1.2.5/lib/thin/command.rb | 53 + .../gems/thin-1.2.5/lib/thin/connection.rb | 222 + .../lib/thin/controllers/cluster.rb | 178 + .../lib/thin/controllers/controller.rb | 183 + .../lib/thin/controllers/service.rb | 75 + .../lib/thin/controllers/service.sh.erb | 39 + .../gems/thin-1.2.5/lib/thin/daemonizing.rb | 174 + .../gems/gems/thin-1.2.5/lib/thin/headers.rb | 39 + .../gems/gems/thin-1.2.5/lib/thin/logging.rb | 54 + .../gems/gems/thin-1.2.5/lib/thin/request.rb | 157 + .../gems/gems/thin-1.2.5/lib/thin/response.rb | 101 + .../gems/gems/thin-1.2.5/lib/thin/runner.rb | 212 + .../gems/gems/thin-1.2.5/lib/thin/server.rb | 247 + .../gems/thin-1.2.5/lib/thin/stats.html.erb | 216 + vendor/gems/gems/thin-1.2.5/lib/thin/stats.rb | 52 + .../gems/gems/thin-1.2.5/lib/thin/statuses.rb | 43 + .../gems/gems/thin-1.2.5/lib/thin/version.rb | 32 + .../gems/thin-1.2.5/lib/thin_parser.bundle | Bin 0 -> 58736 bytes .../spec/backends/swiftiply_client_spec.rb | 66 + .../spec/backends/tcp_server_spec.rb | 33 + .../spec/backends/unix_server_spec.rb | 37 + .../gems/gems/thin-1.2.5/spec/command_spec.rb | 25 + .../gems/thin-1.2.5/spec/configs/cluster.yml | 9 + .../gems/thin-1.2.5/spec/configs/single.yml | 9 + .../gems/thin-1.2.5/spec/connection_spec.rb | 106 + .../spec/controllers/cluster_spec.rb | 267 ++ .../spec/controllers/controller_spec.rb | 129 + .../spec/controllers/service_spec.rb | 50 + .../gems/thin-1.2.5/spec/daemonizing_spec.rb | 192 + .../gems/gems/thin-1.2.5/spec/headers_spec.rb | 40 + .../gems/gems/thin-1.2.5/spec/logging_spec.rb | 46 + .../thin-1.2.5/spec/perf/request_perf_spec.rb | 50 + .../spec/perf/response_perf_spec.rb | 19 + .../thin-1.2.5/spec/perf/server_perf_spec.rb | 39 + .../gems/thin-1.2.5/spec/rack/loader_spec.rb | 29 + .../spec/rack/rails_adapter_spec.rb | 106 + .../rails_app/app/controllers/application.rb | 10 + .../app/controllers/simple_controller.rb | 19 + .../app/helpers/application_helper.rb | 3 + .../rails_app/app/views/simple/index.html.erb | 15 + .../thin-1.2.5/spec/rails_app/config/boot.rb | 109 + .../spec/rails_app/config/environment.rb | 64 + .../config/environments/development.rb | 18 + .../config/environments/production.rb | 19 + .../rails_app/config/environments/test.rb | 22 + .../config/initializers/inflections.rb | 10 + .../config/initializers/mime_types.rb | 5 + .../spec/rails_app/config/routes.rb | 35 + .../thin-1.2.5/spec/rails_app/public/404.html | 30 + .../thin-1.2.5/spec/rails_app/public/422.html | 30 + .../thin-1.2.5/spec/rails_app/public/500.html | 30 + .../spec/rails_app/public/dispatch.cgi | 10 + .../spec/rails_app/public/dispatch.fcgi | 24 + .../spec/rails_app/public/dispatch.rb | 10 + .../spec/rails_app/public/favicon.ico | 0 .../spec/rails_app/public/images/rails.png | Bin 0 -> 1787 bytes .../spec/rails_app/public/index.html | 277 ++ .../public/javascripts/application.js | 2 + .../rails_app/public/javascripts/controls.js | 963 ++++ .../rails_app/public/javascripts/dragdrop.js | 972 ++++ .../rails_app/public/javascripts/effects.js | 1120 +++++ .../rails_app/public/javascripts/prototype.js | 4225 +++++++++++++++++ .../spec/rails_app/public/robots.txt | 5 + .../thin-1.2.5/spec/rails_app/script/about | 3 + .../thin-1.2.5/spec/rails_app/script/console | 3 + .../thin-1.2.5/spec/rails_app/script/destroy | 3 + .../thin-1.2.5/spec/rails_app/script/generate | 3 + .../rails_app/script/performance/benchmarker | 3 + .../rails_app/script/performance/profiler | 3 + .../spec/rails_app/script/performance/request | 3 + .../thin-1.2.5/spec/rails_app/script/plugin | 3 + .../spec/rails_app/script/process/inspector | 3 + .../spec/rails_app/script/process/reaper | 3 + .../spec/rails_app/script/process/spawner | 3 + .../thin-1.2.5/spec/rails_app/script/runner | 3 + .../thin-1.2.5/spec/rails_app/script/server | 3 + .../thin-1.2.5/spec/request/mongrel_spec.rb | 39 + .../thin-1.2.5/spec/request/parser_spec.rb | 215 + .../spec/request/persistent_spec.rb | 35 + .../spec/request/processing_spec.rb | 49 + .../gems/thin-1.2.5/spec/response_spec.rb | 91 + .../gems/gems/thin-1.2.5/spec/runner_spec.rb | 168 + .../thin-1.2.5/spec/server/builder_spec.rb | 44 + .../thin-1.2.5/spec/server/pipelining_spec.rb | 110 + .../thin-1.2.5/spec/server/robustness_spec.rb | 34 + .../thin-1.2.5/spec/server/stopping_spec.rb | 55 + .../gems/thin-1.2.5/spec/server/swiftiply.yml | 6 + .../thin-1.2.5/spec/server/swiftiply_spec.rb | 32 + .../gems/thin-1.2.5/spec/server/tcp_spec.rb | 57 + .../thin-1.2.5/spec/server/threaded_spec.rb | 27 + .../spec/server/unix_socket_spec.rb | 26 + .../gems/gems/thin-1.2.5/spec/server_spec.rb | 96 + .../gems/gems/thin-1.2.5/spec/spec_helper.rb | 219 + .../gems/gems/thin-1.2.5/tasks/announce.rake | 22 + vendor/gems/gems/thin-1.2.5/tasks/deploy.rake | 13 + vendor/gems/gems/thin-1.2.5/tasks/email.erb | 30 + vendor/gems/gems/thin-1.2.5/tasks/gem.rake | 74 + vendor/gems/gems/thin-1.2.5/tasks/rdoc.rake | 25 + vendor/gems/gems/thin-1.2.5/tasks/site.rake | 15 + vendor/gems/gems/thin-1.2.5/tasks/spec.rake | 43 + vendor/gems/gems/thin-1.2.5/tasks/stats.rake | 28 + vendor/gems/gems/treetop-1.4.2/LICENSE | 19 + vendor/gems/gems/treetop-1.4.2/README.md | 164 + vendor/gems/gems/treetop-1.4.2/Rakefile | 19 + vendor/gems/gems/treetop-1.4.2/bin/tt | 112 + ...contributing_and_planned_features.markdown | 103 + .../doc/grammar_composition.markdown | 65 + .../gems/treetop-1.4.2/doc/index.markdown | 90 + .../pitfalls_and_advanced_techniques.markdown | 51 + .../doc/semantic_interpretation.markdown | 189 + vendor/gems/gems/treetop-1.4.2/doc/site.rb | 112 + vendor/gems/gems/treetop-1.4.2/doc/sitegen.rb | 65 + .../doc/syntactic_recognition.markdown | 100 + .../treetop-1.4.2/doc/using_in_ruby.markdown | 21 + .../examples/lambda_calculus/arithmetic.rb | 551 +++ .../lambda_calculus/arithmetic.treetop | 97 + .../arithmetic_node_classes.rb | 7 + .../lambda_calculus/arithmetic_test.rb | 54 + .../examples/lambda_calculus/lambda_calculus | 0 .../lambda_calculus/lambda_calculus.rb | 718 +++ .../lambda_calculus/lambda_calculus.treetop | 132 + .../lambda_calculus_node_classes.rb | 5 + .../lambda_calculus/lambda_calculus_test.rb | 89 + .../examples/lambda_calculus/test_helper.rb | 18 + vendor/gems/gems/treetop-1.4.2/lib/treetop.rb | 16 + .../treetop/bootstrap_gen_1_metagrammar.rb | 45 + .../treetop-1.4.2/lib/treetop/compiler.rb | 6 + .../lib/treetop/compiler/grammar_compiler.rb | 44 + .../treetop/compiler/lexical_address_space.rb | 17 + .../lib/treetop/compiler/metagrammar.rb | 3258 +++++++++++++ .../lib/treetop/compiler/metagrammar.treetop | 436 ++ .../lib/treetop/compiler/node_classes.rb | 20 + .../compiler/node_classes/anything_symbol.rb | 18 + .../node_classes/atomic_expression.rb | 14 + .../compiler/node_classes/character_class.rb | 28 + .../treetop/compiler/node_classes/choice.rb | 31 + .../node_classes/declaration_sequence.rb | 24 + .../treetop/compiler/node_classes/grammar.rb | 28 + .../compiler/node_classes/inline_module.rb | 27 + .../compiler/node_classes/nonterminal.rb | 13 + .../treetop/compiler/node_classes/optional.rb | 19 + .../node_classes/parenthesized_expression.rb | 9 + .../node_classes/parsing_expression.rb | 146 + .../compiler/node_classes/parsing_rule.rb | 55 + .../compiler/node_classes/predicate.rb | 45 + .../compiler/node_classes/predicate_block.rb | 16 + .../compiler/node_classes/repetition.rb | 55 + .../treetop/compiler/node_classes/sequence.rb | 71 + .../treetop/compiler/node_classes/terminal.rb | 20 + .../compiler/node_classes/transient_prefix.rb | 9 + .../compiler/node_classes/treetop_file.rb | 9 + .../lib/treetop/compiler/ruby_builder.rb | 113 + .../lib/treetop/ruby_extensions.rb | 2 + .../lib/treetop/ruby_extensions/string.rb | 42 + .../gems/treetop-1.4.2/lib/treetop/runtime.rb | 5 + .../lib/treetop/runtime/compiled_parser.rb | 109 + .../lib/treetop/runtime/interval_skip_list.rb | 4 + .../runtime/interval_skip_list/head_node.rb | 15 + .../interval_skip_list/interval_skip_list.rb | 200 + .../runtime/interval_skip_list/node.rb | 164 + .../lib/treetop/runtime/syntax_node.rb | 114 + .../treetop/runtime/terminal_parse_failure.rb | 16 + .../runtime/terminal_parse_failure_debug.rb | 21 + .../treetop/runtime/terminal_syntax_node.rb | 17 + .../gems/treetop-1.4.2/lib/treetop/version.rb | 9 + .../gems/gems/yui-compressor-0.9.1/Rakefile | 21 + .../lib/yui/compressor.rb | 200 + .../test/compressor_test.rb | 94 + .../vendor/yuicompressor-2.4.2.jar | Bin 0 -> 851219 bytes .../gems/specifications/builder-2.1.2.gemspec | 33 + .../specifications/compass-0.8.17.gemspec | 36 + .../configuration-1.1.0.gemspec | 27 + .../specifications/cucumber-0.4.4.gemspec | 72 + .../specifications/daemons-1.0.10.gemspec | 30 + .../specifications/diff-lcs-1.1.2.gemspec | 34 + .../eventmachine-0.12.10.gemspec | 40 + .../gems/specifications/extlib-0.9.13.gemspec | 28 + .../gems/specifications/haml-2.2.13.gemspec | 45 + .../specifications/highline-1.5.1.gemspec | 31 + vendor/gems/specifications/json-1.2.0.gemspec | 34 + .../gems/specifications/launchy-0.3.3.gemspec | 38 + .../specifications/polyglot-0.2.9.gemspec | 34 + vendor/gems/specifications/rack-1.0.1.gemspec | 53 + .../specifications/rack-test-0.5.1.gemspec | 36 + vendor/gems/specifications/rake-0.8.7.gemspec | 32 + vendor/gems/specifications/rdoc-2.4.3.gemspec | 47 + .../gems/specifications/rspec-1.2.9.gemspec | 58 + .../gems/specifications/sdoc-0.2.14.1.gemspec | 35 + .../gems/specifications/shotgun-0.4.gemspec | 37 + .../gems/specifications/sinatra-0.9.4.gemspec | 40 + .../sinatra-content-for-0.2.gemspec | 40 + .../specifications/sprockets-1.0.2.gemspec | 31 + .../specifications/templater-1.0.0.gemspec | 54 + .../term-ansicolor-1.0.4.gemspec | 30 + vendor/gems/specifications/thin-1.2.5.gemspec | 41 + .../gems/specifications/treetop-1.4.2.gemspec | 32 + .../yui-compressor-0.9.1.gemspec | 29 + 2741 files changed, 259502 insertions(+), 9 deletions(-) mode change 100644 => 100755 .document mode change 100644 => 100755 .gitignore create mode 100755 Gemfile mode change 100644 => 100755 LICENSE mode change 100644 => 100755 README.rdoc mode change 100644 => 100755 Rakefile mode change 100644 => 100755 VERSION mode change 100644 => 100755 deps.rip mode change 100644 => 100755 lib/middleman.rb mode change 100644 => 100755 lib/middleman/base.rb mode change 100644 => 100755 lib/middleman/builder.rb mode change 100644 => 100755 lib/middleman/config.ru mode change 100644 => 100755 lib/middleman/fastimage.rb mode change 100644 => 100755 lib/middleman/features/automatic_image_sizes.rb mode change 100644 => 100755 lib/middleman/features/cache_buster.rb mode change 100644 => 100755 lib/middleman/features/growl.rb mode change 100644 => 100755 lib/middleman/features/maruku.rb mode change 100644 => 100755 lib/middleman/features/minify_css.rb mode change 100644 => 100755 lib/middleman/features/minify_javascript.rb mode change 100644 => 100755 lib/middleman/features/relative_assets.rb mode change 100644 => 100755 lib/middleman/features/slickmap.rb mode change 100644 => 100755 lib/middleman/features/smush_pngs.rb mode change 100644 => 100755 lib/middleman/features/sprockets.rb mode change 100644 => 100755 lib/middleman/haml.rb mode change 100644 => 100755 lib/middleman/helpers.rb mode change 100644 => 100755 lib/middleman/rack/sprockets+ruby19.rb mode change 100644 => 100755 lib/middleman/rack/sprockets.rb mode change 100644 => 100755 lib/middleman/rack/static.rb mode change 100644 => 100755 lib/middleman/sass.rb mode change 100644 => 100755 lib/middleman/template/init.rbt mode change 100644 => 100755 lib/middleman/template/views/index.html.haml mode change 100644 => 100755 lib/middleman/template/views/layout.haml mode change 100644 => 100755 lib/middleman/template/views/stylesheets/site.css.sass mode change 100644 => 100755 lib/middleman/templater+dynamic_renderer.rb mode change 100644 => 100755 middleman.gemspec mode change 100644 => 100755 spec/auto_image_sizes.rb mode change 100644 => 100755 spec/builder_spec.rb mode change 100644 => 100755 spec/cache_buster_spec.rb mode change 100644 => 100755 spec/fixtures/sample/init.rb mode change 100644 => 100755 spec/fixtures/sample/public/images/blank.gif mode change 100644 => 100755 spec/fixtures/sample/public/javascripts/to-be-included.js mode change 100644 => 100755 spec/fixtures/sample/public/static.html mode change 100644 => 100755 spec/fixtures/sample/public/stylesheets/auto-css.css mode change 100644 => 100755 spec/fixtures/sample/public/stylesheets/static.css mode change 100644 => 100755 spec/fixtures/sample/public/stylesheets/sub1/auto-css.css mode change 100644 => 100755 spec/fixtures/sample/public/stylesheets/sub1/sub2/auto-css.css mode change 100644 => 100755 spec/fixtures/sample/views/_partial.haml mode change 100644 => 100755 spec/fixtures/sample/views/auto-css.html.haml mode change 100644 => 100755 spec/fixtures/sample/views/auto-image-sizes.html.haml mode change 100644 => 100755 spec/fixtures/sample/views/index.html.haml mode change 100644 => 100755 spec/fixtures/sample/views/inline-js.html.haml mode change 100644 => 100755 spec/fixtures/sample/views/javascripts/empty-with-include.js mode change 100644 => 100755 spec/fixtures/sample/views/layout.haml mode change 100644 => 100755 spec/fixtures/sample/views/maruku.html.maruku mode change 100644 => 100755 spec/fixtures/sample/views/page-classes.html.haml mode change 100644 => 100755 spec/fixtures/sample/views/services/index.html.haml mode change 100644 => 100755 spec/fixtures/sample/views/stylesheets/relative_assets.css.sass mode change 100644 => 100755 spec/fixtures/sample/views/stylesheets/site.css.sass mode change 100644 => 100755 spec/generator_spec.rb mode change 100644 => 100755 spec/helpers_spec.rb mode change 100644 => 100755 spec/minify_javascript_spec.rb mode change 100644 => 100755 spec/relative_assets_spec.rb mode change 100644 => 100755 spec/spec_helper.rb create mode 100755 vendor/gems/cache/builder-2.1.2.gem create mode 100755 vendor/gems/cache/compass-0.8.17.gem create mode 100755 vendor/gems/cache/configuration-1.1.0.gem create mode 100755 vendor/gems/cache/cucumber-0.4.4.gem create mode 100755 vendor/gems/cache/daemons-1.0.10.gem create mode 100755 vendor/gems/cache/diff-lcs-1.1.2.gem create mode 100755 vendor/gems/cache/eventmachine-0.12.10.gem create mode 100755 vendor/gems/cache/extlib-0.9.13.gem create mode 100755 vendor/gems/cache/haml-2.2.13.gem create mode 100755 vendor/gems/cache/highline-1.5.1.gem create mode 100755 vendor/gems/cache/json-1.2.0.gem create mode 100755 vendor/gems/cache/launchy-0.3.3.gem create mode 100755 vendor/gems/cache/polyglot-0.2.9.gem create mode 100755 vendor/gems/cache/rack-1.0.1.gem create mode 100755 vendor/gems/cache/rack-test-0.5.1.gem create mode 100755 vendor/gems/cache/rake-0.8.7.gem create mode 100755 vendor/gems/cache/rdoc-2.4.3.gem create mode 100755 vendor/gems/cache/rspec-1.2.9.gem create mode 100755 vendor/gems/cache/sdoc-0.2.14.1.gem create mode 100755 vendor/gems/cache/shotgun-0.4.gem create mode 100755 vendor/gems/cache/sinatra-0.9.4.gem create mode 100755 vendor/gems/cache/sinatra-content-for-0.2.gem create mode 100755 vendor/gems/cache/sprockets-1.0.2.gem create mode 100755 vendor/gems/cache/templater-1.0.0.gem create mode 100755 vendor/gems/cache/term-ansicolor-1.0.4.gem create mode 100755 vendor/gems/cache/thin-1.2.5.gem create mode 100755 vendor/gems/cache/treetop-1.4.2.gem create mode 100755 vendor/gems/cache/yui-compressor-0.9.1.gem create mode 100755 vendor/gems/environment.rb create mode 100755 vendor/gems/gems/builder-2.1.2/CHANGES create mode 100755 vendor/gems/gems/builder-2.1.2/README create mode 100755 vendor/gems/gems/builder-2.1.2/Rakefile create mode 100755 vendor/gems/gems/builder-2.1.2/doc/releases/builder-1.2.4.rdoc create mode 100755 vendor/gems/gems/builder-2.1.2/doc/releases/builder-2.0.0.rdoc create mode 100755 vendor/gems/gems/builder-2.1.2/doc/releases/builder-2.1.1.rdoc create mode 100755 vendor/gems/gems/builder-2.1.2/lib/blankslate.rb create mode 100755 vendor/gems/gems/builder-2.1.2/lib/builder.rb create mode 100755 vendor/gems/gems/builder-2.1.2/lib/builder/blankslate.rb create mode 100755 vendor/gems/gems/builder-2.1.2/lib/builder/xchar.rb create mode 100755 vendor/gems/gems/builder-2.1.2/lib/builder/xmlbase.rb create mode 100755 vendor/gems/gems/builder-2.1.2/lib/builder/xmlevents.rb create mode 100755 vendor/gems/gems/builder-2.1.2/lib/builder/xmlmarkup.rb create mode 100755 vendor/gems/gems/builder-2.1.2/scripts/publish.rb create mode 100755 vendor/gems/gems/builder-2.1.2/test/performance.rb create mode 100755 vendor/gems/gems/builder-2.1.2/test/preload.rb create mode 100755 vendor/gems/gems/builder-2.1.2/test/test_xchar.rb create mode 100755 vendor/gems/gems/builder-2.1.2/test/testblankslate.rb create mode 100755 vendor/gems/gems/builder-2.1.2/test/testeventbuilder.rb create mode 100755 vendor/gems/gems/builder-2.1.2/test/testmarkupbuilder.rb create mode 100755 vendor/gems/gems/compass-0.8.17/CHANGELOG.markdown create mode 100755 vendor/gems/gems/compass-0.8.17/LICENSE.markdown create mode 100755 vendor/gems/gems/compass-0.8.17/README.markdown create mode 100755 vendor/gems/gems/compass-0.8.17/REVISION create mode 100755 vendor/gems/gems/compass-0.8.17/Rakefile create mode 100755 vendor/gems/gems/compass-0.8.17/VERSION.yml create mode 100755 vendor/gems/gems/compass-0.8.17/bin/compass create mode 100755 vendor/gems/gems/compass-0.8.17/deps.rip create mode 100755 vendor/gems/gems/compass-0.8.17/examples/README.markdown create mode 100755 vendor/gems/gems/compass-0.8.17/examples/blueprint_default/config.rb create mode 100755 vendor/gems/gems/compass-0.8.17/examples/blueprint_default/images/grid.png create mode 100755 vendor/gems/gems/compass-0.8.17/examples/blueprint_default/index.html.haml create mode 100755 vendor/gems/gems/compass-0.8.17/examples/blueprint_default/parts/elements.html.haml create mode 100755 vendor/gems/gems/compass-0.8.17/examples/blueprint_default/parts/forms.html.haml create mode 100755 vendor/gems/gems/compass-0.8.17/examples/blueprint_default/parts/grid.html.haml create mode 100755 vendor/gems/gems/compass-0.8.17/examples/blueprint_default/parts/test-small.jpg create mode 100755 vendor/gems/gems/compass-0.8.17/examples/blueprint_default/parts/test.jpg create mode 100755 vendor/gems/gems/compass-0.8.17/examples/blueprint_default/parts/valid.png create mode 100755 vendor/gems/gems/compass-0.8.17/examples/blueprint_default/src/ie.sass create mode 100755 vendor/gems/gems/compass-0.8.17/examples/blueprint_default/src/images/grid.png create mode 100755 vendor/gems/gems/compass-0.8.17/examples/blueprint_default/src/print.sass create mode 100755 vendor/gems/gems/compass-0.8.17/examples/blueprint_default/src/screen.sass create mode 100755 vendor/gems/gems/compass-0.8.17/examples/blueprint_plugins/config.rb create mode 100755 vendor/gems/gems/compass-0.8.17/examples/blueprint_plugins/images/buttons/cross.png create mode 100755 vendor/gems/gems/compass-0.8.17/examples/blueprint_plugins/images/buttons/key.png create mode 100755 vendor/gems/gems/compass-0.8.17/examples/blueprint_plugins/images/buttons/tick.png create mode 100755 vendor/gems/gems/compass-0.8.17/examples/blueprint_plugins/images/grid.png create mode 100755 vendor/gems/gems/compass-0.8.17/examples/blueprint_plugins/images/link_icons/doc.png create mode 100755 vendor/gems/gems/compass-0.8.17/examples/blueprint_plugins/images/link_icons/email.png create mode 100755 vendor/gems/gems/compass-0.8.17/examples/blueprint_plugins/images/link_icons/external.png create mode 100755 vendor/gems/gems/compass-0.8.17/examples/blueprint_plugins/images/link_icons/feed.png create mode 100755 vendor/gems/gems/compass-0.8.17/examples/blueprint_plugins/images/link_icons/im.png create mode 100755 vendor/gems/gems/compass-0.8.17/examples/blueprint_plugins/images/link_icons/pdf.png create mode 100755 vendor/gems/gems/compass-0.8.17/examples/blueprint_plugins/images/link_icons/visited.png create mode 100755 vendor/gems/gems/compass-0.8.17/examples/blueprint_plugins/images/link_icons/xls.png create mode 100755 vendor/gems/gems/compass-0.8.17/examples/blueprint_plugins/images/test-small.jpg create mode 100755 vendor/gems/gems/compass-0.8.17/examples/blueprint_plugins/images/test.jpg create mode 100755 vendor/gems/gems/compass-0.8.17/examples/blueprint_plugins/images/valid.png create mode 100755 vendor/gems/gems/compass-0.8.17/examples/blueprint_plugins/index.html.haml create mode 100755 vendor/gems/gems/compass-0.8.17/examples/blueprint_plugins/plugins/buttons.html.haml create mode 100755 vendor/gems/gems/compass-0.8.17/examples/blueprint_plugins/plugins/fancy_type.html.haml create mode 100755 vendor/gems/gems/compass-0.8.17/examples/blueprint_plugins/plugins/link_icons.html.haml create mode 100755 vendor/gems/gems/compass-0.8.17/examples/blueprint_plugins/plugins/rtl.html.haml create mode 100755 vendor/gems/gems/compass-0.8.17/examples/blueprint_plugins/src/buttons.sass create mode 100755 vendor/gems/gems/compass-0.8.17/examples/blueprint_plugins/src/ie.sass create mode 100755 vendor/gems/gems/compass-0.8.17/examples/blueprint_plugins/src/images/grid.png create mode 100755 vendor/gems/gems/compass-0.8.17/examples/blueprint_plugins/src/link_icons.sass create mode 100755 vendor/gems/gems/compass-0.8.17/examples/blueprint_plugins/src/print.sass create mode 100755 vendor/gems/gems/compass-0.8.17/examples/blueprint_plugins/src/rtl_screen.sass create mode 100755 vendor/gems/gems/compass-0.8.17/examples/blueprint_plugins/src/screen.sass create mode 100755 vendor/gems/gems/compass-0.8.17/examples/blueprint_scoped/images/grid.png create mode 100755 vendor/gems/gems/compass-0.8.17/examples/blueprint_scoped/src/ie.sass create mode 100755 vendor/gems/gems/compass-0.8.17/examples/blueprint_scoped/src/print.sass create mode 100755 vendor/gems/gems/compass-0.8.17/examples/blueprint_scoped/src/screen.sass create mode 100755 vendor/gems/gems/compass-0.8.17/examples/blueprint_scoped_form/images/grid.png create mode 100755 vendor/gems/gems/compass-0.8.17/examples/blueprint_scoped_form/src/ie.sass create mode 100755 vendor/gems/gems/compass-0.8.17/examples/blueprint_scoped_form/src/print.sass create mode 100755 vendor/gems/gems/compass-0.8.17/examples/blueprint_scoped_form/src/screen.sass create mode 100755 vendor/gems/gems/compass-0.8.17/examples/blueprint_semantic/config.rb create mode 100755 vendor/gems/gems/compass-0.8.17/examples/blueprint_semantic/images/grid.png create mode 100755 vendor/gems/gems/compass-0.8.17/examples/blueprint_semantic/index.html.haml create mode 100755 vendor/gems/gems/compass-0.8.17/examples/blueprint_semantic/parts/fancy_type.html.haml create mode 100755 vendor/gems/gems/compass-0.8.17/examples/blueprint_semantic/parts/liquid.html.haml create mode 100755 vendor/gems/gems/compass-0.8.17/examples/blueprint_semantic/parts/test-small.jpg create mode 100755 vendor/gems/gems/compass-0.8.17/examples/blueprint_semantic/parts/test.jpg create mode 100755 vendor/gems/gems/compass-0.8.17/examples/blueprint_semantic/parts/valid.png create mode 100755 vendor/gems/gems/compass-0.8.17/examples/blueprint_semantic/src/ie.sass create mode 100755 vendor/gems/gems/compass-0.8.17/examples/blueprint_semantic/src/images/grid.png create mode 100755 vendor/gems/gems/compass-0.8.17/examples/blueprint_semantic/src/liquid.sass create mode 100755 vendor/gems/gems/compass-0.8.17/examples/blueprint_semantic/src/print.sass create mode 100755 vendor/gems/gems/compass-0.8.17/examples/blueprint_semantic/src/screen.sass create mode 100755 vendor/gems/gems/compass-0.8.17/examples/compass/compass.html.haml create mode 100755 vendor/gems/gems/compass-0.8.17/examples/compass/config.rb create mode 100755 vendor/gems/gems/compass-0.8.17/examples/compass/images/blue_arrow.gif create mode 100755 vendor/gems/gems/compass-0.8.17/examples/compass/src/compass.sass create mode 100755 vendor/gems/gems/compass-0.8.17/examples/compass/src/images/blue_arrow.gif create mode 100755 vendor/gems/gems/compass-0.8.17/examples/compass/src/sticky_footer.sass create mode 100755 vendor/gems/gems/compass-0.8.17/examples/compass/src/utilities.sass create mode 100755 vendor/gems/gems/compass-0.8.17/examples/compass/sticky_footer.html.haml create mode 100755 vendor/gems/gems/compass-0.8.17/examples/compass/utilities.html.haml create mode 100755 vendor/gems/gems/compass-0.8.17/examples/logo/logo.html.haml create mode 100755 vendor/gems/gems/compass-0.8.17/examples/logo/src/ie.sass create mode 100755 vendor/gems/gems/compass-0.8.17/examples/logo/src/print.sass create mode 100755 vendor/gems/gems/compass-0.8.17/examples/logo/src/screen.sass create mode 100755 vendor/gems/gems/compass-0.8.17/examples/yui/divisions.html.haml create mode 100755 vendor/gems/gems/compass-0.8.17/examples/yui/index.html.haml create mode 100755 vendor/gems/gems/compass-0.8.17/examples/yui/src/screen.sass create mode 100755 vendor/gems/gems/compass-0.8.17/examples/yui/sub_divisions.html.haml create mode 100755 vendor/gems/gems/compass-0.8.17/examples/yui/templates.html.haml create mode 100755 vendor/gems/gems/compass-0.8.17/examples/yui/test.jpg create mode 100755 vendor/gems/gems/compass-0.8.17/examples/yui/typography.html.haml create mode 100755 vendor/gems/gems/compass-0.8.17/frameworks/blueprint.rb create mode 100755 vendor/gems/gems/compass-0.8.17/frameworks/blueprint/stylesheets/_blueprint.sass create mode 100755 vendor/gems/gems/compass-0.8.17/frameworks/blueprint/stylesheets/blueprint/_ie.sass create mode 100755 vendor/gems/gems/compass-0.8.17/frameworks/blueprint/stylesheets/blueprint/_print.sass create mode 100755 vendor/gems/gems/compass-0.8.17/frameworks/blueprint/stylesheets/blueprint/_reset.sass create mode 100755 vendor/gems/gems/compass-0.8.17/frameworks/blueprint/stylesheets/blueprint/_screen.sass create mode 100755 vendor/gems/gems/compass-0.8.17/frameworks/blueprint/stylesheets/blueprint/modules/_buttons.sass create mode 100755 vendor/gems/gems/compass-0.8.17/frameworks/blueprint/stylesheets/blueprint/modules/_colors.sass create mode 100755 vendor/gems/gems/compass-0.8.17/frameworks/blueprint/stylesheets/blueprint/modules/_debug.sass create mode 100755 vendor/gems/gems/compass-0.8.17/frameworks/blueprint/stylesheets/blueprint/modules/_fancy_type.sass create mode 100755 vendor/gems/gems/compass-0.8.17/frameworks/blueprint/stylesheets/blueprint/modules/_form.sass create mode 100755 vendor/gems/gems/compass-0.8.17/frameworks/blueprint/stylesheets/blueprint/modules/_grid.sass create mode 100755 vendor/gems/gems/compass-0.8.17/frameworks/blueprint/stylesheets/blueprint/modules/_interaction.sass create mode 100755 vendor/gems/gems/compass-0.8.17/frameworks/blueprint/stylesheets/blueprint/modules/_link_icons.sass create mode 100755 vendor/gems/gems/compass-0.8.17/frameworks/blueprint/stylesheets/blueprint/modules/_liquid.sass create mode 100755 vendor/gems/gems/compass-0.8.17/frameworks/blueprint/stylesheets/blueprint/modules/_reset.sass create mode 100755 vendor/gems/gems/compass-0.8.17/frameworks/blueprint/stylesheets/blueprint/modules/_rtl.sass create mode 100755 vendor/gems/gems/compass-0.8.17/frameworks/blueprint/stylesheets/blueprint/modules/_scaffolding.sass create mode 100755 vendor/gems/gems/compass-0.8.17/frameworks/blueprint/stylesheets/blueprint/modules/_typography.sass create mode 100755 vendor/gems/gems/compass-0.8.17/frameworks/blueprint/stylesheets/blueprint/modules/_utilities.sass create mode 100755 vendor/gems/gems/compass-0.8.17/frameworks/blueprint/templates/buttons/buttons.sass create mode 100755 vendor/gems/gems/compass-0.8.17/frameworks/blueprint/templates/buttons/buttons/cross.png create mode 100755 vendor/gems/gems/compass-0.8.17/frameworks/blueprint/templates/buttons/buttons/key.png create mode 100755 vendor/gems/gems/compass-0.8.17/frameworks/blueprint/templates/buttons/buttons/tick.png create mode 100755 vendor/gems/gems/compass-0.8.17/frameworks/blueprint/templates/buttons/manifest.rb create mode 100755 vendor/gems/gems/compass-0.8.17/frameworks/blueprint/templates/link_icons/link_icons.sass create mode 100755 vendor/gems/gems/compass-0.8.17/frameworks/blueprint/templates/link_icons/link_icons/doc.png create mode 100755 vendor/gems/gems/compass-0.8.17/frameworks/blueprint/templates/link_icons/link_icons/email.png create mode 100755 vendor/gems/gems/compass-0.8.17/frameworks/blueprint/templates/link_icons/link_icons/external.png create mode 100755 vendor/gems/gems/compass-0.8.17/frameworks/blueprint/templates/link_icons/link_icons/feed.png create mode 100755 vendor/gems/gems/compass-0.8.17/frameworks/blueprint/templates/link_icons/link_icons/im.png create mode 100755 vendor/gems/gems/compass-0.8.17/frameworks/blueprint/templates/link_icons/link_icons/pdf.png create mode 100755 vendor/gems/gems/compass-0.8.17/frameworks/blueprint/templates/link_icons/link_icons/visited.png create mode 100755 vendor/gems/gems/compass-0.8.17/frameworks/blueprint/templates/link_icons/link_icons/xls.png create mode 100755 vendor/gems/gems/compass-0.8.17/frameworks/blueprint/templates/link_icons/manifest.rb create mode 100755 vendor/gems/gems/compass-0.8.17/frameworks/blueprint/templates/project/grid.png create mode 100755 vendor/gems/gems/compass-0.8.17/frameworks/blueprint/templates/project/ie.sass create mode 100755 vendor/gems/gems/compass-0.8.17/frameworks/blueprint/templates/project/manifest.rb create mode 100755 vendor/gems/gems/compass-0.8.17/frameworks/blueprint/templates/project/partials/_base.sass create mode 100755 vendor/gems/gems/compass-0.8.17/frameworks/blueprint/templates/project/print.sass create mode 100755 vendor/gems/gems/compass-0.8.17/frameworks/blueprint/templates/project/screen.sass create mode 100755 vendor/gems/gems/compass-0.8.17/frameworks/compass.rb create mode 100755 vendor/gems/gems/compass-0.8.17/frameworks/compass/stylesheets/_compass.sass create mode 100755 vendor/gems/gems/compass-0.8.17/frameworks/compass/stylesheets/compass/_layout.sass create mode 100755 vendor/gems/gems/compass-0.8.17/frameworks/compass/stylesheets/compass/_misc.sass create mode 100755 vendor/gems/gems/compass-0.8.17/frameworks/compass/stylesheets/compass/_reset.sass create mode 100755 vendor/gems/gems/compass-0.8.17/frameworks/compass/stylesheets/compass/_utilities.sass create mode 100755 vendor/gems/gems/compass-0.8.17/frameworks/compass/stylesheets/compass/layout/_sticky_footer.sass create mode 100755 vendor/gems/gems/compass-0.8.17/frameworks/compass/stylesheets/compass/utilities/_general.sass create mode 100755 vendor/gems/gems/compass-0.8.17/frameworks/compass/stylesheets/compass/utilities/_links.sass create mode 100755 vendor/gems/gems/compass-0.8.17/frameworks/compass/stylesheets/compass/utilities/_lists.sass create mode 100755 vendor/gems/gems/compass-0.8.17/frameworks/compass/stylesheets/compass/utilities/_print.sass create mode 100755 vendor/gems/gems/compass-0.8.17/frameworks/compass/stylesheets/compass/utilities/_sprites.sass create mode 100755 vendor/gems/gems/compass-0.8.17/frameworks/compass/stylesheets/compass/utilities/_tables.sass create mode 100755 vendor/gems/gems/compass-0.8.17/frameworks/compass/stylesheets/compass/utilities/_text.sass create mode 100755 vendor/gems/gems/compass-0.8.17/frameworks/compass/stylesheets/compass/utilities/general/_clearfix.sass create mode 100755 vendor/gems/gems/compass-0.8.17/frameworks/compass/stylesheets/compass/utilities/general/_float.sass create mode 100755 vendor/gems/gems/compass-0.8.17/frameworks/compass/stylesheets/compass/utilities/general/_hacks.sass create mode 100755 vendor/gems/gems/compass-0.8.17/frameworks/compass/stylesheets/compass/utilities/general/_inline_block.sass create mode 100755 vendor/gems/gems/compass-0.8.17/frameworks/compass/stylesheets/compass/utilities/general/_reset.sass create mode 100755 vendor/gems/gems/compass-0.8.17/frameworks/compass/stylesheets/compass/utilities/general/_tabs.sass create mode 100755 vendor/gems/gems/compass-0.8.17/frameworks/compass/stylesheets/compass/utilities/general/_tag_cloud.sass create mode 100755 vendor/gems/gems/compass-0.8.17/frameworks/compass/stylesheets/compass/utilities/links/_hover_link.sass create mode 100755 vendor/gems/gems/compass-0.8.17/frameworks/compass/stylesheets/compass/utilities/links/_link_colors.sass create mode 100755 vendor/gems/gems/compass-0.8.17/frameworks/compass/stylesheets/compass/utilities/links/_unstyled_link.sass create mode 100755 vendor/gems/gems/compass-0.8.17/frameworks/compass/stylesheets/compass/utilities/lists/_bullets.sass create mode 100755 vendor/gems/gems/compass-0.8.17/frameworks/compass/stylesheets/compass/utilities/lists/_horizontal_list.sass create mode 100755 vendor/gems/gems/compass-0.8.17/frameworks/compass/stylesheets/compass/utilities/lists/_inline_list.sass create mode 100755 vendor/gems/gems/compass-0.8.17/frameworks/compass/stylesheets/compass/utilities/sprites/_sprite_img.sass create mode 100755 vendor/gems/gems/compass-0.8.17/frameworks/compass/stylesheets/compass/utilities/tables/_alternating_rows_and_columns.sass create mode 100755 vendor/gems/gems/compass-0.8.17/frameworks/compass/stylesheets/compass/utilities/tables/_borders.sass create mode 100755 vendor/gems/gems/compass-0.8.17/frameworks/compass/stylesheets/compass/utilities/tables/_scaffolding.sass create mode 100755 vendor/gems/gems/compass-0.8.17/frameworks/compass/stylesheets/compass/utilities/text/_ellipsis.sass create mode 100755 vendor/gems/gems/compass-0.8.17/frameworks/compass/stylesheets/compass/utilities/text/_nowrap.sass create mode 100755 vendor/gems/gems/compass-0.8.17/frameworks/compass/stylesheets/compass/utilities/text/_replacement.sass create mode 100755 vendor/gems/gems/compass-0.8.17/frameworks/compass/templates/ellipsis/ellipsis.sass create mode 100755 vendor/gems/gems/compass-0.8.17/frameworks/compass/templates/ellipsis/manifest.rb create mode 100755 vendor/gems/gems/compass-0.8.17/frameworks/compass/templates/ellipsis/xml/ellipsis.xml create mode 100755 vendor/gems/gems/compass-0.8.17/frameworks/compass/templates/project/ie.sass create mode 100755 vendor/gems/gems/compass-0.8.17/frameworks/compass/templates/project/manifest.rb create mode 100755 vendor/gems/gems/compass-0.8.17/frameworks/compass/templates/project/print.sass create mode 100755 vendor/gems/gems/compass-0.8.17/frameworks/compass/templates/project/screen.sass create mode 100755 vendor/gems/gems/compass-0.8.17/frameworks/yui.rb create mode 100755 vendor/gems/gems/compass-0.8.17/frameworks/yui/stylesheets/_yui.sass create mode 100755 vendor/gems/gems/compass-0.8.17/frameworks/yui/stylesheets/yui/modules/_base.sass create mode 100755 vendor/gems/gems/compass-0.8.17/frameworks/yui/stylesheets/yui/modules/_fonts.sass create mode 100755 vendor/gems/gems/compass-0.8.17/frameworks/yui/stylesheets/yui/modules/_grids.sass create mode 100755 vendor/gems/gems/compass-0.8.17/frameworks/yui/stylesheets/yui/modules/_reset.sass create mode 100755 vendor/gems/gems/compass-0.8.17/frameworks/yui/templates/project/manifest.rb create mode 100755 vendor/gems/gems/compass-0.8.17/frameworks/yui/templates/project/screen.sass create mode 100755 vendor/gems/gems/compass-0.8.17/lib/compass.rb create mode 100755 vendor/gems/gems/compass-0.8.17/lib/compass/actions.rb create mode 100755 vendor/gems/gems/compass-0.8.17/lib/compass/app_integration.rb create mode 100755 vendor/gems/gems/compass-0.8.17/lib/compass/app_integration/merb.rb create mode 100755 vendor/gems/gems/compass-0.8.17/lib/compass/app_integration/rails.rb create mode 100755 vendor/gems/gems/compass-0.8.17/lib/compass/app_integration/rails/action_controller.rb create mode 100755 vendor/gems/gems/compass-0.8.17/lib/compass/app_integration/rails/sass_plugin.rb create mode 100755 vendor/gems/gems/compass-0.8.17/lib/compass/app_integration/rails/templates/compass-install-rails.rb create mode 100755 vendor/gems/gems/compass-0.8.17/lib/compass/app_integration/rails/urls.rb create mode 100755 vendor/gems/gems/compass-0.8.17/lib/compass/commands/base.rb create mode 100755 vendor/gems/gems/compass-0.8.17/lib/compass/commands/create_project.rb create mode 100755 vendor/gems/gems/compass-0.8.17/lib/compass/commands/generate_grid_background.rb create mode 100755 vendor/gems/gems/compass-0.8.17/lib/compass/commands/installer_command.rb create mode 100755 vendor/gems/gems/compass-0.8.17/lib/compass/commands/list_frameworks.rb create mode 100755 vendor/gems/gems/compass-0.8.17/lib/compass/commands/print_version.rb create mode 100755 vendor/gems/gems/compass-0.8.17/lib/compass/commands/project_base.rb create mode 100755 vendor/gems/gems/compass-0.8.17/lib/compass/commands/stamp_pattern.rb create mode 100755 vendor/gems/gems/compass-0.8.17/lib/compass/commands/update_project.rb create mode 100755 vendor/gems/gems/compass-0.8.17/lib/compass/commands/validate_project.rb create mode 100755 vendor/gems/gems/compass-0.8.17/lib/compass/commands/watch_project.rb create mode 100755 vendor/gems/gems/compass-0.8.17/lib/compass/commands/write_configuration.rb create mode 100755 vendor/gems/gems/compass-0.8.17/lib/compass/compiler.rb create mode 100755 vendor/gems/gems/compass-0.8.17/lib/compass/configuration.rb create mode 100755 vendor/gems/gems/compass-0.8.17/lib/compass/core_ext.rb create mode 100755 vendor/gems/gems/compass-0.8.17/lib/compass/dependencies.rb create mode 100755 vendor/gems/gems/compass-0.8.17/lib/compass/errors.rb create mode 100755 vendor/gems/gems/compass-0.8.17/lib/compass/exec.rb create mode 100755 vendor/gems/gems/compass-0.8.17/lib/compass/frameworks.rb create mode 100755 vendor/gems/gems/compass-0.8.17/lib/compass/grid_builder.rb create mode 100755 vendor/gems/gems/compass-0.8.17/lib/compass/installers.rb create mode 100755 vendor/gems/gems/compass-0.8.17/lib/compass/installers/base.rb create mode 100755 vendor/gems/gems/compass-0.8.17/lib/compass/installers/manifest.rb create mode 100755 vendor/gems/gems/compass-0.8.17/lib/compass/installers/rails.rb create mode 100755 vendor/gems/gems/compass-0.8.17/lib/compass/installers/stand_alone.rb create mode 100755 vendor/gems/gems/compass-0.8.17/lib/compass/logger.rb create mode 100755 vendor/gems/gems/compass-0.8.17/lib/compass/sass_extensions.rb create mode 100755 vendor/gems/gems/compass-0.8.17/lib/compass/sass_extensions/functions.rb create mode 100755 vendor/gems/gems/compass-0.8.17/lib/compass/sass_extensions/functions/display.rb create mode 100755 vendor/gems/gems/compass-0.8.17/lib/compass/sass_extensions/functions/enumerate.rb create mode 100755 vendor/gems/gems/compass-0.8.17/lib/compass/sass_extensions/functions/inline_image.rb create mode 100755 vendor/gems/gems/compass-0.8.17/lib/compass/sass_extensions/functions/selectors.rb create mode 100755 vendor/gems/gems/compass-0.8.17/lib/compass/sass_extensions/functions/urls.rb create mode 100755 vendor/gems/gems/compass-0.8.17/lib/compass/sass_extensions/monkey_patches.rb create mode 100755 vendor/gems/gems/compass-0.8.17/lib/compass/sass_extensions/monkey_patches/stylesheet_updating.rb create mode 100755 vendor/gems/gems/compass-0.8.17/lib/compass/test_case.rb create mode 100755 vendor/gems/gems/compass-0.8.17/lib/compass/validator.rb create mode 100755 vendor/gems/gems/compass-0.8.17/lib/compass/version.rb create mode 100755 vendor/gems/gems/compass-0.8.17/lib/vendor/fssm.rb create mode 100755 vendor/gems/gems/compass-0.8.17/lib/vendor/fssm/backends/fsevents.rb create mode 100755 vendor/gems/gems/compass-0.8.17/lib/vendor/fssm/backends/polling.rb create mode 100755 vendor/gems/gems/compass-0.8.17/lib/vendor/fssm/cache.rb create mode 100755 vendor/gems/gems/compass-0.8.17/lib/vendor/fssm/ext.rb create mode 100755 vendor/gems/gems/compass-0.8.17/lib/vendor/fssm/fsevents.rb create mode 100755 vendor/gems/gems/compass-0.8.17/lib/vendor/fssm/monitor.rb create mode 100755 vendor/gems/gems/compass-0.8.17/lib/vendor/fssm/path.rb create mode 100755 vendor/gems/gems/compass-0.8.17/lib/vendor/fssm/state.rb create mode 100755 vendor/gems/gems/compass-0.8.17/lib/vendor/fssm/support.rb create mode 100755 vendor/gems/gems/compass-0.8.17/lib/vendor/fssm/tree.rb create mode 100755 vendor/gems/gems/compass-0.8.17/test/command_line_helper.rb create mode 100755 vendor/gems/gems/compass-0.8.17/test/command_line_test.rb create mode 100755 vendor/gems/gems/compass-0.8.17/test/compass_test.rb create mode 100755 vendor/gems/gems/compass-0.8.17/test/configuration_test.rb create mode 100755 vendor/gems/gems/compass-0.8.17/test/fixtures/stylesheets/blueprint/config.rb create mode 100755 vendor/gems/gems/compass-0.8.17/test/fixtures/stylesheets/blueprint/css/typography.css create mode 100755 vendor/gems/gems/compass-0.8.17/test/fixtures/stylesheets/blueprint/images/grid.png create mode 100755 vendor/gems/gems/compass-0.8.17/test/fixtures/stylesheets/blueprint/sass/ie.sass create mode 100755 vendor/gems/gems/compass-0.8.17/test/fixtures/stylesheets/blueprint/sass/print.sass create mode 100755 vendor/gems/gems/compass-0.8.17/test/fixtures/stylesheets/blueprint/sass/screen.sass create mode 100755 vendor/gems/gems/compass-0.8.17/test/fixtures/stylesheets/blueprint/sass/typography.sass create mode 100755 vendor/gems/gems/compass-0.8.17/test/fixtures/stylesheets/compass/config.rb create mode 100755 vendor/gems/gems/compass-0.8.17/test/fixtures/stylesheets/compass/css/layout.css create mode 100755 vendor/gems/gems/compass-0.8.17/test/fixtures/stylesheets/compass/css/print.css create mode 100755 vendor/gems/gems/compass-0.8.17/test/fixtures/stylesheets/compass/css/reset.css create mode 100755 vendor/gems/gems/compass-0.8.17/test/fixtures/stylesheets/compass/css/utilities.css create mode 100755 vendor/gems/gems/compass-0.8.17/test/fixtures/stylesheets/compass/sass/layout.sass create mode 100755 vendor/gems/gems/compass-0.8.17/test/fixtures/stylesheets/compass/sass/print.sass create mode 100755 vendor/gems/gems/compass-0.8.17/test/fixtures/stylesheets/compass/sass/reset.sass create mode 100755 vendor/gems/gems/compass-0.8.17/test/fixtures/stylesheets/compass/sass/utilities.sass create mode 100755 vendor/gems/gems/compass-0.8.17/test/fixtures/stylesheets/image_urls/config.rb create mode 100755 vendor/gems/gems/compass-0.8.17/test/fixtures/stylesheets/image_urls/css/screen.css create mode 100755 vendor/gems/gems/compass-0.8.17/test/fixtures/stylesheets/image_urls/images/grid.png create mode 100755 vendor/gems/gems/compass-0.8.17/test/fixtures/stylesheets/image_urls/sass/screen.sass create mode 100755 vendor/gems/gems/compass-0.8.17/test/fixtures/stylesheets/yui/config.rb create mode 100755 vendor/gems/gems/compass-0.8.17/test/fixtures/stylesheets/yui/css/mixins.css create mode 100755 vendor/gems/gems/compass-0.8.17/test/fixtures/stylesheets/yui/sass/base.sass create mode 100755 vendor/gems/gems/compass-0.8.17/test/fixtures/stylesheets/yui/sass/fonts.sass create mode 100755 vendor/gems/gems/compass-0.8.17/test/fixtures/stylesheets/yui/sass/grids.sass create mode 100755 vendor/gems/gems/compass-0.8.17/test/fixtures/stylesheets/yui/sass/mixins.sass create mode 100755 vendor/gems/gems/compass-0.8.17/test/rails_integration_test.rb create mode 100755 vendor/gems/gems/compass-0.8.17/test/sass_extensions_test.rb create mode 100755 vendor/gems/gems/compass-0.8.17/test/test_case_helper.rb create mode 100755 vendor/gems/gems/compass-0.8.17/test/test_helper.rb create mode 100755 vendor/gems/gems/compass-0.8.17/test/test_rails_helper.rb create mode 100755 vendor/gems/gems/configuration-1.1.0/README create mode 100755 vendor/gems/gems/configuration-1.1.0/README.erb create mode 100755 vendor/gems/gems/configuration-1.1.0/Rakefile create mode 100755 vendor/gems/gems/configuration-1.1.0/config/a.rb create mode 100755 vendor/gems/gems/configuration-1.1.0/config/b.rb create mode 100755 vendor/gems/gems/configuration-1.1.0/config/c.rb create mode 100755 vendor/gems/gems/configuration-1.1.0/config/d.rb create mode 100755 vendor/gems/gems/configuration-1.1.0/config/e.rb create mode 100755 vendor/gems/gems/configuration-1.1.0/configuration.gemspec create mode 100755 vendor/gems/gems/configuration-1.1.0/lib/configuration.rb create mode 100755 vendor/gems/gems/configuration-1.1.0/samples/a.rb create mode 100755 vendor/gems/gems/configuration-1.1.0/samples/b.rb create mode 100755 vendor/gems/gems/configuration-1.1.0/samples/c.rb create mode 100755 vendor/gems/gems/configuration-1.1.0/samples/d.rb create mode 100755 vendor/gems/gems/configuration-1.1.0/samples/e.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/.gitattributes create mode 100755 vendor/gems/gems/cucumber-0.4.4/.gitignore create mode 100755 vendor/gems/gems/cucumber-0.4.4/History.txt create mode 100755 vendor/gems/gems/cucumber-0.4.4/LICENSE create mode 100755 vendor/gems/gems/cucumber-0.4.4/Manifest.txt create mode 100755 vendor/gems/gems/cucumber-0.4.4/README.rdoc create mode 100755 vendor/gems/gems/cucumber-0.4.4/Rakefile create mode 100755 vendor/gems/gems/cucumber-0.4.4/VERSION.yml create mode 100755 vendor/gems/gems/cucumber-0.4.4/bin/cucumber create mode 100755 vendor/gems/gems/cucumber-0.4.4/cucumber.gemspec create mode 100755 vendor/gems/gems/cucumber-0.4.4/cucumber.yml create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/dos_line_endings/Rakefile create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/dos_line_endings/features/dos_line_endings.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/README.textile create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/Rakefile create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/ar/Rakefile create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/ar/features/addition.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/ar/features/step_definitons/calculator_steps.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/ar/lib/calculator.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/bg/Rakefile create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/bg/features/addition.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/bg/features/consecutive_calculations.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/bg/features/division.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/bg/features/step_definitons/calculator_steps.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/bg/features/support/env.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/bg/features/support/world.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/bg/lib/calculator.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/cat/Rakefile create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/cat/features/step_definitons/calculator_steps.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/cat/features/suma.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/cat/lib/calculadora.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/da/Rakefile create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/da/features/sammenlaegning.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/da/features/step_definitons/lommeregner_steps.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/da/lib/lommeregner.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/de/.gitignore create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/de/Rakefile create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/de/features/addition.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/de/features/division.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/de/features/step_definitons/calculator_steps.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/de/lib/calculator.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/en-lol/Rakefile create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/en-lol/features/step_definitions/cucumbrz_steps.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/en-lol/features/stuffing.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/en-lol/features/support/env.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/en-lol/lib/basket.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/en-lol/lib/belly.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/en/.gitignore create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/en/Rakefile create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/en/features/addition.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/en/features/division.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/en/features/step_definitons/calculator_steps.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/en/lib/calculator.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/es/Rakefile create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/es/features/adicion.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/es/features/step_definitons/calculador_steps.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/es/lib/calculador.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/et/Rakefile create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/et/features/jagamine.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/et/features/liitmine.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/et/features/step_definitions/kalkulaator_steps.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/et/lib/kalkulaator.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/fi/.gitignore create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/fi/Rakefile create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/fi/features/jakolasku.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/fi/features/step_definitons/laskin_steps.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/fi/features/yhteenlasku.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/fi/lib/laskin.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/fr/Rakefile create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/fr/features/addition.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/fr/features/step_definitions/calculatrice_steps.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/fr/lib/calculatrice.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/he/Rakefile create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/he/features/addition.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/he/features/division.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/he/features/step_definitons/calculator_steps.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/he/lib/calculator.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/hu/.gitignore create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/hu/Rakefile create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/hu/features/addition.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/hu/features/division.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/hu/features/step_definitons/calculator_steps.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/hu/lib/calculator.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/id/.gitignore create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/id/Rakefile create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/id/features/addition.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/id/features/division.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/id/features/step_definitons/calculator_steps.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/id/lib/calculator.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/it/Rakefile create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/it/features/somma.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/it/features/step_definitons/calcolatrice_steps.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/it/lib/calcolatrice.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/ja/.gitignore create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/ja/Rakefile create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/ja/features/addition.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/ja/features/division.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/ja/features/step_definitons/calculator_steps.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/ja/lib/calculator.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/ko/.gitignore create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/ko/Rakefile create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/ko/features/addition.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/ko/features/division.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/ko/features/step_definitons/calculator_steps.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/ko/lib/calculator.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/lt/.gitignore create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/lt/Rakefile create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/lt/features/addition.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/lt/features/division.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/lt/features/step_definitons/calculator_steps.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/lt/lib/calculator.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/lv/Rakefile create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/lv/features/addition.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/lv/features/division.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/lv/features/step_definitons/calculator_steps.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/lv/lib/calculator.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/no/Rakefile create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/no/features/step_definitons/kalkulator_steps.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/no/features/summering.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/no/features/support/env.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/no/lib/kalkulator.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/pl/.gitignore create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/pl/Rakefile create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/pl/features/addition.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/pl/features/division.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/pl/features/step_definitons/calculator_steps.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/pl/features/support/env.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/pl/lib/calculator.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/pt/Rakefile create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/pt/features/adicao.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/pt/features/step_definitions/calculadora_steps.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/pt/features/support/env.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/pt/lib/calculadora.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/ro/Rakefile create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/ro/features/step_definitons/calculator_steps.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/ro/features/suma.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/ro/lib/calculator.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/ru/Rakefile create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/ru/features/addition.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/ru/features/consecutive_calculations.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/ru/features/division.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/ru/features/step_definitons/calculator_steps.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/ru/features/support/env.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/ru/features/support/world.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/ru/lib/calculator.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/se/Rakefile create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/se/features/step_definitons/kalkulator_steps.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/se/features/summering.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/se/lib/kalkulator.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/sk/.gitignore create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/sk/Rakefile create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/sk/features/addition.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/sk/features/division.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/sk/features/step_definitons/calculator_steps.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/sk/lib/calculator.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/sr-latn/Rakefile create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/sr-latn/features/sabiranje.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/sr-latn/features/step_definitons/calculator_steps.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/sr-latn/lib/calculator.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/sr/Rakefile create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/sr/features/sabiranje.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/sr/features/step_definitons/calculator_steps.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/sr/lib/calculator.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/tr/.gitignore create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/tr/Rakefile create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/tr/features/bolme.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/tr/features/step_definitons/hesap_makinesi_adimlari.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/tr/features/toplama.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/tr/lib/hesap_makinesi.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/uz/Rakefile create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/uz/features/addition.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/uz/features/consecutive_calculations.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/uz/features/division.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/uz/features/step_definitons/calculator_steps.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/uz/features/support/env.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/uz/features/support/world.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/uz/lib/calculator.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/zh-CN/Rakefile create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/zh-CN/features/addition.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/zh-CN/features/step_definitons/calculator_steps.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/zh-CN/lib/calculator.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/zh-TW/.gitignore create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/zh-TW/Rakefile create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/zh-TW/features/addition.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/zh-TW/features/division.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/zh-TW/features/step_definitons/calculator_steps.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/i18n/zh-TW/lib/calculator.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/junit/features/one_passing_one_failing.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/junit/features/pending.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/junit/features/step_definitions/steps.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/python/features/fibonacci.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/python/features/step_definitions/fib_steps.py create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/python/lib/.gitignore create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/python/lib/fib.py create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/ramaze/README.textile create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/ramaze/Rakefile create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/ramaze/app.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/ramaze/features/add.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/ramaze/features/step_definitions/add_steps.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/ramaze/features/support/env.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/ramaze/layout/default.html.erb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/ramaze/view/index.html.erb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/ruby2python/features/fibonacci.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/ruby2python/features/step_definitions/fib_steps.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/ruby2python/features/support/env.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/ruby2python/lib/.gitignore create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/ruby2python/lib/fib.py create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/selenium/Rakefile create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/selenium/features/search.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/selenium/features/step_definitons/search_steps.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/selenium/features/support/env.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/selenium_webrat/Rakefile create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/selenium_webrat/config.ru create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/selenium_webrat/features/search.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/selenium_webrat/features/step_definitons/search_steps.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/selenium_webrat/features/support/env.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/self_test/.gitignore create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/self_test/README.textile create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/self_test/Rakefile create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/self_test/features/background/background_tagged_before_on_outline.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/self_test/features/background/background_with_name.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/self_test/features/background/failing_background.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/self_test/features/background/failing_background_after_success.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/self_test/features/background/multiline_args_background.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/self_test/features/background/passing_background.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/self_test/features/background/pending_background.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/self_test/features/background/scenario_outline_failing_background.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/self_test/features/background/scenario_outline_passing_background.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/self_test/features/call_undefined_step_from_step_def.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/self_test/features/failing_expectation.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/self_test/features/lots_of_undefined.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/self_test/features/multiline_name.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/self_test/features/outline_sample.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/self_test/features/sample.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/self_test/features/search_sample.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/self_test/features/step_definitions/sample_steps.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/self_test/features/support/env.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/self_test/features/tags_sample.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/self_test/features/tons_of_cukes.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/self_test/features/undefined_multiline_args.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/self_test/list-of-features.txt create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/sinatra/README.textile create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/sinatra/Rakefile create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/sinatra/app.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/sinatra/features/add.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/sinatra/features/step_definitions/add_steps.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/sinatra/features/support/env.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/sinatra/views/add.erb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/sinatra/views/layout.erb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/steps_library/features/step_definitions/steps_lib1.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/steps_library/features/step_definitions/steps_lib2.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/test_unit/Rakefile create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/test_unit/features/step_definitions/test_unit_steps.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/test_unit/features/test_unit.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/tickets/Rakefile create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/tickets/features.html create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/tickets/features/172.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/tickets/features/177/1.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/tickets/features/177/2.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/tickets/features/177/3.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/tickets/features/180.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/tickets/features/229/tagged_hooks.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/tickets/features/229/tagged_hooks.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/tickets/features/236.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/tickets/features/241.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/tickets/features/246.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/tickets/features/248.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/tickets/features/270/back.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/tickets/features/270/back.steps.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/tickets/features/272/hooks.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/tickets/features/272/hooks_steps.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/tickets/features/279/py_string_indent.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/tickets/features/279/py_string_indent.steps.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/tickets/features/279/wrong.feature_ create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/tickets/features/301/filter_background_tagged_hooks.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/tickets/features/301/filter_background_tagged_hooks_steps.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/tickets/features/306/only_background.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/tickets/features/lib/eatting_machine.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/tickets/features/lib/pantry.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/tickets/features/scenario_outline.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/tickets/features/step_definitons/246_steps.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/tickets/features/step_definitons/248_steps.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/tickets/features/step_definitons/scenario_outline_steps.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/tickets/features/step_definitons/tickets_steps.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/tickets/features/table_diffing.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/tickets/features/tickets.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/watir/README.textile create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/watir/Rakefile create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/watir/features/search.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/watir/features/step_definitions/search_steps.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/watir/features/support/env.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/watir/features/support/screenshots.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/webrat/features/search.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/webrat/features/step_definitions/kvasir_steps.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/examples/webrat/features/support/env.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/features/announce.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/features/background.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/features/bug_371.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/features/bug_464.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/features/bug_475.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/features/call_many_steps.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/features/cucumber_cli.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/features/cucumber_cli_diff_disabled.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/features/cucumber_cli_outlines.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/features/custom_formatter.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/features/default_snippets.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/features/drb_server_integration.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/features/exception_in_after_block.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/features/exception_in_after_step_block.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/features/exception_in_before_block.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/features/exclude_files.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/features/expand.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/features/html_formatter.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/features/html_formatter/a.html create mode 100755 vendor/gems/gems/cucumber-0.4.4/features/junit_formatter.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/features/language_from_header.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/features/language_help.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/features/listener_debugger_formatter.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/features/multiline_names.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/features/negative_tagged_hooks.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/features/post_configuration_hook.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/features/profiles.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/features/rake_task.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/features/report_called_undefined_steps.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/features/simplest.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/features/snippet.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/features/step_definitions/cucumber_steps.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/features/step_definitions/extra_steps.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/features/step_definitions/simplest_steps.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/features/step_definitions/wire_steps.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/features/support/env.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/features/support/env.rb.simplest create mode 100755 vendor/gems/gems/cucumber-0.4.4/features/support/fake_wire_server.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/features/table_diffing.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/features/table_mapping.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/features/tag_logic.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/features/transform.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/features/unicode_table.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/features/usage_and_stepdefs_formatter.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/features/wire_protocol.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/features/work_in_progress.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/gem_tasks/contributors.rake create mode 100755 vendor/gems/gems/cucumber-0.4.4/gem_tasks/environment.rake create mode 100755 vendor/gems/gems/cucumber-0.4.4/gem_tasks/features.rake create mode 100755 vendor/gems/gems/cucumber-0.4.4/gem_tasks/fix_cr_lf.rake create mode 100755 vendor/gems/gems/cucumber-0.4.4/gem_tasks/flog.rake create mode 100755 vendor/gems/gems/cucumber-0.4.4/gem_tasks/rspec.rake create mode 100755 vendor/gems/gems/cucumber-0.4.4/gem_tasks/sass.rake create mode 100755 vendor/gems/gems/cucumber-0.4.4/gem_tasks/sdoc.rake create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/README.rdoc create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/autotest/cucumber.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/autotest/cucumber_mixin.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/autotest/cucumber_rails.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/autotest/cucumber_rails_rspec.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/autotest/cucumber_rspec.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/autotest/discover.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/ast.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/ast/background.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/ast/comment.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/ast/examples.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/ast/feature.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/ast/feature_element.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/ast/features.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/ast/outline_table.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/ast/py_string.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/ast/scenario.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/ast/scenario_outline.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/ast/step.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/ast/step_collection.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/ast/step_invocation.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/ast/table.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/ast/tags.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/ast/tree_walker.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/ast/visitor.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/broadcaster.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/cli/configuration.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/cli/drb_client.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/cli/language_help_formatter.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/cli/main.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/cli/options.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/cli/profile_loader.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/constantize.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/core_ext/instance_exec.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/core_ext/proc.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/core_ext/string.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/feature_file.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/filter.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/formatter/ansicolor.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/formatter/color_io.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/formatter/console.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/formatter/cucumber.css create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/formatter/cucumber.sass create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/formatter/debug.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/formatter/duration.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/formatter/html.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/formatter/junit.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/formatter/ordered_xml_markup.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/formatter/pdf.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/formatter/pretty.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/formatter/progress.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/formatter/rerun.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/formatter/stepdefs.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/formatter/steps.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/formatter/summary.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/formatter/tag_cloud.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/formatter/unicode.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/formatter/usage.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/language_support.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/language_support/language_methods.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/languages.yml create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/parser.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/parser/common.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/parser/common.tt create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/parser/feature.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/parser/feature.tt create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/parser/i18n.tt create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/parser/natural_language.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/parser/py_string.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/parser/py_string.tt create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/parser/table.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/parser/table.tt create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/parser/treetop_ext.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/platform.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/py_support/py_dsl.py create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/py_support/py_language.py create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/py_support/py_language.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/rails/action_controller.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/rails/active_record.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/rails/rspec.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/rails/test_unit.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/rails/world.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/rake/task.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/rb_support/rb_dsl.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/rb_support/rb_hook.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/rb_support/rb_language.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/rb_support/rb_step_definition.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/rb_support/rb_transform.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/rb_support/rb_world.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/rb_support/regexp_argument_matcher.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/rspec_neuter.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/step_argument.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/step_definition_light.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/step_match.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/step_mother.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/webrat/element_locator.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/webrat/table_locator.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/wire_support/connection.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/wire_support/request_handler.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/wire_support/wire_exception.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/wire_support/wire_language.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/wire_support/wire_packet.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/wire_support/wire_protocol.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/lib/cucumber/wire_support/wire_step_definition.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/rails_generators/cucumber/USAGE create mode 100755 vendor/gems/gems/cucumber-0.4.4/rails_generators/cucumber/cucumber_generator.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/rails_generators/cucumber/templates/cucumber create mode 100755 vendor/gems/gems/cucumber-0.4.4/rails_generators/cucumber/templates/cucumber.rake create mode 100755 vendor/gems/gems/cucumber-0.4.4/rails_generators/cucumber/templates/cucumber_environment.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/rails_generators/cucumber/templates/env.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/rails_generators/cucumber/templates/paths.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/rails_generators/cucumber/templates/spork_env.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/rails_generators/cucumber/templates/version_check.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/rails_generators/cucumber/templates/webrat_steps.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/rails_generators/feature/USAGE create mode 100755 vendor/gems/gems/cucumber-0.4.4/rails_generators/feature/feature_generator.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/rails_generators/feature/templates/feature.erb create mode 100755 vendor/gems/gems/cucumber-0.4.4/rails_generators/feature/templates/steps.erb create mode 100755 vendor/gems/gems/cucumber-0.4.4/spec/cucumber/ast/background_spec.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/spec/cucumber/ast/feature_element_spec.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/spec/cucumber/ast/feature_factory.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/spec/cucumber/ast/feature_spec.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/spec/cucumber/ast/outline_table_spec.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/spec/cucumber/ast/py_string_spec.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/spec/cucumber/ast/scenario_outline_spec.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/spec/cucumber/ast/scenario_spec.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/spec/cucumber/ast/step_collection_spec.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/spec/cucumber/ast/step_spec.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/spec/cucumber/ast/table_spec.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/spec/cucumber/ast/tags_spec.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/spec/cucumber/ast/tree_walker_spec.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/spec/cucumber/broadcaster_spec.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/spec/cucumber/cli/configuration_spec.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/spec/cucumber/cli/drb_client_spec.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/spec/cucumber/cli/main_spec.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/spec/cucumber/cli/options_spec.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/spec/cucumber/cli/profile_loader_spec.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/spec/cucumber/core_ext/proc_spec.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/spec/cucumber/formatter/ansicolor_spec.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/spec/cucumber/formatter/color_io_spec.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/spec/cucumber/formatter/console_spec.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/spec/cucumber/formatter/duration_spec.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/spec/cucumber/formatter/html_spec.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/spec/cucumber/formatter/junit_spec.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/spec/cucumber/formatter/progress_spec.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/spec/cucumber/formatter/spec_helper.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/spec/cucumber/parser/feature_parser_spec.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/spec/cucumber/parser/table_parser_spec.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/spec/cucumber/rb_support/rb_step_definition_spec.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/spec/cucumber/rb_support/regexp_argument_matcher_spec.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/spec/cucumber/sell_cucumbers.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/spec/cucumber/step_match_spec.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/spec/cucumber/step_mother_spec.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/spec/cucumber/treetop_parser/empty_feature.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/spec/cucumber/treetop_parser/empty_scenario.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/spec/cucumber/treetop_parser/empty_scenario_outline.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/spec/cucumber/treetop_parser/fit_scenario.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/spec/cucumber/treetop_parser/given_scenario.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/spec/cucumber/treetop_parser/invalid_scenario_outlines.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/spec/cucumber/treetop_parser/multiline_steps.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/spec/cucumber/treetop_parser/multiple_tables.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/spec/cucumber/treetop_parser/scenario_outline.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/spec/cucumber/treetop_parser/spaces.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/spec/cucumber/treetop_parser/test_dos.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/spec/cucumber/treetop_parser/with_comments.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/spec/cucumber/treetop_parser/with_tags.feature create mode 100755 vendor/gems/gems/cucumber-0.4.4/spec/cucumber/wire_support/wire_language_spec.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/spec/cucumber/wire_support/wire_packet_spec.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/spec/cucumber/world/pending_spec.rb create mode 100755 vendor/gems/gems/cucumber-0.4.4/spec/spec.opts create mode 100755 vendor/gems/gems/cucumber-0.4.4/spec/spec_helper.rb create mode 100755 vendor/gems/gems/daemons-1.0.10/LICENSE create mode 100755 vendor/gems/gems/daemons-1.0.10/README create mode 100755 vendor/gems/gems/daemons-1.0.10/Rakefile create mode 100755 vendor/gems/gems/daemons-1.0.10/Releases create mode 100755 vendor/gems/gems/daemons-1.0.10/TODO create mode 100755 vendor/gems/gems/daemons-1.0.10/examples/call/call.rb create mode 100755 vendor/gems/gems/daemons-1.0.10/examples/call/call_monitor.rb create mode 100755 vendor/gems/gems/daemons-1.0.10/examples/daemonize/daemonize.rb create mode 100755 vendor/gems/gems/daemons-1.0.10/examples/run/ctrl_crash.rb create mode 100755 vendor/gems/gems/daemons-1.0.10/examples/run/ctrl_exec.rb create mode 100755 vendor/gems/gems/daemons-1.0.10/examples/run/ctrl_exit.rb create mode 100755 vendor/gems/gems/daemons-1.0.10/examples/run/ctrl_keep_pid_files.rb create mode 100755 vendor/gems/gems/daemons-1.0.10/examples/run/ctrl_monitor.rb create mode 100755 vendor/gems/gems/daemons-1.0.10/examples/run/ctrl_multiple.rb create mode 100755 vendor/gems/gems/daemons-1.0.10/examples/run/ctrl_normal.rb create mode 100755 vendor/gems/gems/daemons-1.0.10/examples/run/ctrl_ontop.rb create mode 100755 vendor/gems/gems/daemons-1.0.10/examples/run/ctrl_optionparser.rb create mode 100755 vendor/gems/gems/daemons-1.0.10/examples/run/ctrl_proc.rb create mode 100755 vendor/gems/gems/daemons-1.0.10/examples/run/ctrl_proc.rb.output create mode 100755 vendor/gems/gems/daemons-1.0.10/examples/run/ctrl_proc_multiple.rb create mode 100755 vendor/gems/gems/daemons-1.0.10/examples/run/ctrl_proc_multiple.rb.output create mode 100755 vendor/gems/gems/daemons-1.0.10/examples/run/ctrl_proc_simple.rb create mode 100755 vendor/gems/gems/daemons-1.0.10/examples/run/myserver.rb create mode 100755 vendor/gems/gems/daemons-1.0.10/examples/run/myserver_crashing.rb create mode 100755 vendor/gems/gems/daemons-1.0.10/examples/run/myserver_crashing.rb.output create mode 100755 vendor/gems/gems/daemons-1.0.10/examples/run/myserver_exiting.rb create mode 100755 vendor/gems/gems/daemons-1.0.10/lib/daemons.rb create mode 100755 vendor/gems/gems/daemons-1.0.10/lib/daemons/application.rb create mode 100755 vendor/gems/gems/daemons-1.0.10/lib/daemons/application_group.rb create mode 100755 vendor/gems/gems/daemons-1.0.10/lib/daemons/cmdline.rb create mode 100755 vendor/gems/gems/daemons-1.0.10/lib/daemons/controller.rb create mode 100755 vendor/gems/gems/daemons-1.0.10/lib/daemons/daemonize.rb create mode 100755 vendor/gems/gems/daemons-1.0.10/lib/daemons/exceptions.rb create mode 100755 vendor/gems/gems/daemons-1.0.10/lib/daemons/monitor.rb create mode 100755 vendor/gems/gems/daemons-1.0.10/lib/daemons/pid.rb create mode 100755 vendor/gems/gems/daemons-1.0.10/lib/daemons/pidfile.rb create mode 100755 vendor/gems/gems/daemons-1.0.10/lib/daemons/pidmem.rb create mode 100755 vendor/gems/gems/daemons-1.0.10/setup.rb create mode 100755 vendor/gems/gems/diff-lcs-1.1.2/ChangeLog create mode 100755 vendor/gems/gems/diff-lcs-1.1.2/Install create mode 100755 vendor/gems/gems/diff-lcs-1.1.2/README create mode 100755 vendor/gems/gems/diff-lcs-1.1.2/Rakefile create mode 100755 vendor/gems/gems/diff-lcs-1.1.2/bin/htmldiff create mode 100755 vendor/gems/gems/diff-lcs-1.1.2/bin/ldiff create mode 100755 vendor/gems/gems/diff-lcs-1.1.2/lib/diff/lcs.rb create mode 100755 vendor/gems/gems/diff-lcs-1.1.2/lib/diff/lcs/array.rb create mode 100755 vendor/gems/gems/diff-lcs-1.1.2/lib/diff/lcs/block.rb create mode 100755 vendor/gems/gems/diff-lcs-1.1.2/lib/diff/lcs/callbacks.rb create mode 100755 vendor/gems/gems/diff-lcs-1.1.2/lib/diff/lcs/change.rb create mode 100755 vendor/gems/gems/diff-lcs-1.1.2/lib/diff/lcs/hunk.rb create mode 100755 vendor/gems/gems/diff-lcs-1.1.2/lib/diff/lcs/ldiff.rb create mode 100755 vendor/gems/gems/diff-lcs-1.1.2/lib/diff/lcs/string.rb create mode 100755 vendor/gems/gems/diff-lcs-1.1.2/tests/00test.rb create mode 100755 vendor/gems/gems/eventmachine-0.12.10/.gitignore create mode 100755 vendor/gems/gems/eventmachine-0.12.10/README create mode 100755 vendor/gems/gems/eventmachine-0.12.10/Rakefile create mode 100755 vendor/gems/gems/eventmachine-0.12.10/docs/COPYING create mode 100755 vendor/gems/gems/eventmachine-0.12.10/docs/ChangeLog create mode 100755 vendor/gems/gems/eventmachine-0.12.10/docs/DEFERRABLES create mode 100755 vendor/gems/gems/eventmachine-0.12.10/docs/EPOLL create mode 100755 vendor/gems/gems/eventmachine-0.12.10/docs/GNU create mode 100755 vendor/gems/gems/eventmachine-0.12.10/docs/INSTALL create mode 100755 vendor/gems/gems/eventmachine-0.12.10/docs/KEYBOARD create mode 100755 vendor/gems/gems/eventmachine-0.12.10/docs/LEGAL create mode 100755 vendor/gems/gems/eventmachine-0.12.10/docs/LIGHTWEIGHT_CONCURRENCY create mode 100755 vendor/gems/gems/eventmachine-0.12.10/docs/PURE_RUBY create mode 100755 vendor/gems/gems/eventmachine-0.12.10/docs/RELEASE_NOTES create mode 100755 vendor/gems/gems/eventmachine-0.12.10/docs/SMTP create mode 100755 vendor/gems/gems/eventmachine-0.12.10/docs/SPAWNED_PROCESSES create mode 100755 vendor/gems/gems/eventmachine-0.12.10/docs/TODO create mode 100755 vendor/gems/gems/eventmachine-0.12.10/eventmachine.gemspec create mode 100755 vendor/gems/gems/eventmachine-0.12.10/examples/ex_channel.rb create mode 100755 vendor/gems/gems/eventmachine-0.12.10/examples/ex_queue.rb create mode 100755 vendor/gems/gems/eventmachine-0.12.10/examples/helper.rb create mode 100755 vendor/gems/gems/eventmachine-0.12.10/ext/binder.cpp create mode 100755 vendor/gems/gems/eventmachine-0.12.10/ext/binder.h create mode 100755 vendor/gems/gems/eventmachine-0.12.10/ext/cmain.cpp create mode 100755 vendor/gems/gems/eventmachine-0.12.10/ext/cplusplus.cpp create mode 100755 vendor/gems/gems/eventmachine-0.12.10/ext/ed.cpp create mode 100755 vendor/gems/gems/eventmachine-0.12.10/ext/ed.h create mode 100755 vendor/gems/gems/eventmachine-0.12.10/ext/em.cpp create mode 100755 vendor/gems/gems/eventmachine-0.12.10/ext/em.h create mode 100755 vendor/gems/gems/eventmachine-0.12.10/ext/emwin.cpp create mode 100755 vendor/gems/gems/eventmachine-0.12.10/ext/emwin.h create mode 100755 vendor/gems/gems/eventmachine-0.12.10/ext/epoll.cpp create mode 100755 vendor/gems/gems/eventmachine-0.12.10/ext/epoll.h create mode 100755 vendor/gems/gems/eventmachine-0.12.10/ext/eventmachine.h create mode 100755 vendor/gems/gems/eventmachine-0.12.10/ext/eventmachine_cpp.h create mode 100755 vendor/gems/gems/eventmachine-0.12.10/ext/extconf.rb create mode 100755 vendor/gems/gems/eventmachine-0.12.10/ext/fastfilereader/extconf.rb create mode 100755 vendor/gems/gems/eventmachine-0.12.10/ext/fastfilereader/mapper.cpp create mode 100755 vendor/gems/gems/eventmachine-0.12.10/ext/fastfilereader/mapper.h create mode 100755 vendor/gems/gems/eventmachine-0.12.10/ext/fastfilereader/rubymain.cpp create mode 100755 vendor/gems/gems/eventmachine-0.12.10/ext/files.cpp create mode 100755 vendor/gems/gems/eventmachine-0.12.10/ext/files.h create mode 100755 vendor/gems/gems/eventmachine-0.12.10/ext/kb.cpp create mode 100755 vendor/gems/gems/eventmachine-0.12.10/ext/page.cpp create mode 100755 vendor/gems/gems/eventmachine-0.12.10/ext/page.h create mode 100755 vendor/gems/gems/eventmachine-0.12.10/ext/pipe.cpp create mode 100755 vendor/gems/gems/eventmachine-0.12.10/ext/project.h create mode 100755 vendor/gems/gems/eventmachine-0.12.10/ext/rubymain.cpp create mode 100755 vendor/gems/gems/eventmachine-0.12.10/ext/sigs.cpp create mode 100755 vendor/gems/gems/eventmachine-0.12.10/ext/sigs.h create mode 100755 vendor/gems/gems/eventmachine-0.12.10/ext/ssl.cpp create mode 100755 vendor/gems/gems/eventmachine-0.12.10/ext/ssl.h create mode 100755 vendor/gems/gems/eventmachine-0.12.10/java/.classpath create mode 100755 vendor/gems/gems/eventmachine-0.12.10/java/.project create mode 100755 vendor/gems/gems/eventmachine-0.12.10/java/src/com/rubyeventmachine/EmReactor.java create mode 100755 vendor/gems/gems/eventmachine-0.12.10/java/src/com/rubyeventmachine/EmReactorException.java create mode 100755 vendor/gems/gems/eventmachine-0.12.10/java/src/com/rubyeventmachine/EventableChannel.java create mode 100755 vendor/gems/gems/eventmachine-0.12.10/java/src/com/rubyeventmachine/EventableDatagramChannel.java create mode 100755 vendor/gems/gems/eventmachine-0.12.10/java/src/com/rubyeventmachine/EventableSocketChannel.java create mode 100755 vendor/gems/gems/eventmachine-0.12.10/java/src/com/rubyeventmachine/application/Application.java create mode 100755 vendor/gems/gems/eventmachine-0.12.10/java/src/com/rubyeventmachine/application/Connection.java create mode 100755 vendor/gems/gems/eventmachine-0.12.10/java/src/com/rubyeventmachine/application/ConnectionFactory.java create mode 100755 vendor/gems/gems/eventmachine-0.12.10/java/src/com/rubyeventmachine/application/DefaultConnectionFactory.java create mode 100755 vendor/gems/gems/eventmachine-0.12.10/java/src/com/rubyeventmachine/application/PeriodicTimer.java create mode 100755 vendor/gems/gems/eventmachine-0.12.10/java/src/com/rubyeventmachine/application/Timer.java create mode 100755 vendor/gems/gems/eventmachine-0.12.10/java/src/com/rubyeventmachine/tests/ApplicationTest.java create mode 100755 vendor/gems/gems/eventmachine-0.12.10/java/src/com/rubyeventmachine/tests/ConnectTest.java create mode 100755 vendor/gems/gems/eventmachine-0.12.10/java/src/com/rubyeventmachine/tests/EMTest.java create mode 100755 vendor/gems/gems/eventmachine-0.12.10/java/src/com/rubyeventmachine/tests/TestDatagrams.java create mode 100755 vendor/gems/gems/eventmachine-0.12.10/java/src/com/rubyeventmachine/tests/TestServers.java create mode 100755 vendor/gems/gems/eventmachine-0.12.10/java/src/com/rubyeventmachine/tests/TestTimers.java create mode 100755 vendor/gems/gems/eventmachine-0.12.10/lib/em/buftok.rb create mode 100755 vendor/gems/gems/eventmachine-0.12.10/lib/em/callback.rb create mode 100755 vendor/gems/gems/eventmachine-0.12.10/lib/em/channel.rb create mode 100755 vendor/gems/gems/eventmachine-0.12.10/lib/em/connection.rb create mode 100755 vendor/gems/gems/eventmachine-0.12.10/lib/em/deferrable.rb create mode 100755 vendor/gems/gems/eventmachine-0.12.10/lib/em/file_watch.rb create mode 100755 vendor/gems/gems/eventmachine-0.12.10/lib/em/future.rb create mode 100755 vendor/gems/gems/eventmachine-0.12.10/lib/em/messages.rb create mode 100755 vendor/gems/gems/eventmachine-0.12.10/lib/em/process_watch.rb create mode 100755 vendor/gems/gems/eventmachine-0.12.10/lib/em/processes.rb create mode 100755 vendor/gems/gems/eventmachine-0.12.10/lib/em/protocols.rb create mode 100755 vendor/gems/gems/eventmachine-0.12.10/lib/em/protocols/header_and_content.rb create mode 100755 vendor/gems/gems/eventmachine-0.12.10/lib/em/protocols/httpclient.rb create mode 100755 vendor/gems/gems/eventmachine-0.12.10/lib/em/protocols/httpclient2.rb create mode 100755 vendor/gems/gems/eventmachine-0.12.10/lib/em/protocols/line_and_text.rb create mode 100755 vendor/gems/gems/eventmachine-0.12.10/lib/em/protocols/linetext2.rb create mode 100755 vendor/gems/gems/eventmachine-0.12.10/lib/em/protocols/memcache.rb create mode 100755 vendor/gems/gems/eventmachine-0.12.10/lib/em/protocols/object_protocol.rb create mode 100755 vendor/gems/gems/eventmachine-0.12.10/lib/em/protocols/postgres3.rb create mode 100755 vendor/gems/gems/eventmachine-0.12.10/lib/em/protocols/saslauth.rb create mode 100755 vendor/gems/gems/eventmachine-0.12.10/lib/em/protocols/smtpclient.rb create mode 100755 vendor/gems/gems/eventmachine-0.12.10/lib/em/protocols/smtpserver.rb create mode 100755 vendor/gems/gems/eventmachine-0.12.10/lib/em/protocols/socks4.rb create mode 100755 vendor/gems/gems/eventmachine-0.12.10/lib/em/protocols/stomp.rb create mode 100755 vendor/gems/gems/eventmachine-0.12.10/lib/em/protocols/tcptest.rb create mode 100755 vendor/gems/gems/eventmachine-0.12.10/lib/em/queue.rb create mode 100755 vendor/gems/gems/eventmachine-0.12.10/lib/em/spawnable.rb create mode 100755 vendor/gems/gems/eventmachine-0.12.10/lib/em/streamer.rb create mode 100755 vendor/gems/gems/eventmachine-0.12.10/lib/em/timers.rb create mode 100755 vendor/gems/gems/eventmachine-0.12.10/lib/em/version.rb create mode 100755 vendor/gems/gems/eventmachine-0.12.10/lib/eventmachine.rb create mode 100755 vendor/gems/gems/eventmachine-0.12.10/lib/evma.rb create mode 100755 vendor/gems/gems/eventmachine-0.12.10/lib/evma/callback.rb create mode 100755 vendor/gems/gems/eventmachine-0.12.10/lib/evma/container.rb create mode 100755 vendor/gems/gems/eventmachine-0.12.10/lib/evma/factory.rb create mode 100755 vendor/gems/gems/eventmachine-0.12.10/lib/evma/protocol.rb create mode 100755 vendor/gems/gems/eventmachine-0.12.10/lib/evma/reactor.rb create mode 100755 vendor/gems/gems/eventmachine-0.12.10/lib/jeventmachine.rb create mode 100755 vendor/gems/gems/eventmachine-0.12.10/lib/pr_eventmachine.rb create mode 100755 vendor/gems/gems/eventmachine-0.12.10/setup.rb create mode 100755 vendor/gems/gems/eventmachine-0.12.10/tasks/cpp.rake_example create mode 100755 vendor/gems/gems/eventmachine-0.12.10/tests/client.crt create mode 100755 vendor/gems/gems/eventmachine-0.12.10/tests/client.key create mode 100755 vendor/gems/gems/eventmachine-0.12.10/tests/test_attach.rb create mode 100755 vendor/gems/gems/eventmachine-0.12.10/tests/test_basic.rb create mode 100755 vendor/gems/gems/eventmachine-0.12.10/tests/test_channel.rb create mode 100755 vendor/gems/gems/eventmachine-0.12.10/tests/test_connection_count.rb create mode 100755 vendor/gems/gems/eventmachine-0.12.10/tests/test_defer.rb create mode 100755 vendor/gems/gems/eventmachine-0.12.10/tests/test_epoll.rb create mode 100755 vendor/gems/gems/eventmachine-0.12.10/tests/test_error_handler.rb create mode 100755 vendor/gems/gems/eventmachine-0.12.10/tests/test_errors.rb create mode 100755 vendor/gems/gems/eventmachine-0.12.10/tests/test_exc.rb create mode 100755 vendor/gems/gems/eventmachine-0.12.10/tests/test_file_watch.rb create mode 100755 vendor/gems/gems/eventmachine-0.12.10/tests/test_futures.rb create mode 100755 vendor/gems/gems/eventmachine-0.12.10/tests/test_get_sock_opt.rb create mode 100755 vendor/gems/gems/eventmachine-0.12.10/tests/test_handler_check.rb create mode 100755 vendor/gems/gems/eventmachine-0.12.10/tests/test_hc.rb create mode 100755 vendor/gems/gems/eventmachine-0.12.10/tests/test_httpclient.rb create mode 100755 vendor/gems/gems/eventmachine-0.12.10/tests/test_httpclient2.rb create mode 100755 vendor/gems/gems/eventmachine-0.12.10/tests/test_inactivity_timeout.rb create mode 100755 vendor/gems/gems/eventmachine-0.12.10/tests/test_kb.rb create mode 100755 vendor/gems/gems/eventmachine-0.12.10/tests/test_ltp.rb create mode 100755 vendor/gems/gems/eventmachine-0.12.10/tests/test_ltp2.rb create mode 100755 vendor/gems/gems/eventmachine-0.12.10/tests/test_next_tick.rb create mode 100755 vendor/gems/gems/eventmachine-0.12.10/tests/test_object_protocol.rb create mode 100755 vendor/gems/gems/eventmachine-0.12.10/tests/test_pause.rb create mode 100755 vendor/gems/gems/eventmachine-0.12.10/tests/test_pending_connect_timeout.rb create mode 100755 vendor/gems/gems/eventmachine-0.12.10/tests/test_process_watch.rb create mode 100755 vendor/gems/gems/eventmachine-0.12.10/tests/test_processes.rb create mode 100755 vendor/gems/gems/eventmachine-0.12.10/tests/test_proxy_connection.rb create mode 100755 vendor/gems/gems/eventmachine-0.12.10/tests/test_pure.rb create mode 100755 vendor/gems/gems/eventmachine-0.12.10/tests/test_queue.rb create mode 100755 vendor/gems/gems/eventmachine-0.12.10/tests/test_running.rb create mode 100755 vendor/gems/gems/eventmachine-0.12.10/tests/test_sasl.rb create mode 100755 vendor/gems/gems/eventmachine-0.12.10/tests/test_send_file.rb create mode 100755 vendor/gems/gems/eventmachine-0.12.10/tests/test_servers.rb create mode 100755 vendor/gems/gems/eventmachine-0.12.10/tests/test_smtpclient.rb create mode 100755 vendor/gems/gems/eventmachine-0.12.10/tests/test_smtpserver.rb create mode 100755 vendor/gems/gems/eventmachine-0.12.10/tests/test_spawn.rb create mode 100755 vendor/gems/gems/eventmachine-0.12.10/tests/test_ssl_args.rb create mode 100755 vendor/gems/gems/eventmachine-0.12.10/tests/test_ssl_methods.rb create mode 100755 vendor/gems/gems/eventmachine-0.12.10/tests/test_ssl_verify.rb create mode 100755 vendor/gems/gems/eventmachine-0.12.10/tests/test_timers.rb create mode 100755 vendor/gems/gems/eventmachine-0.12.10/tests/test_ud.rb create mode 100755 vendor/gems/gems/eventmachine-0.12.10/tests/testem.rb create mode 100755 vendor/gems/gems/eventmachine-0.12.10/web/whatis create mode 100755 vendor/gems/gems/extlib-0.9.13/History.txt create mode 100755 vendor/gems/gems/extlib-0.9.13/LICENSE create mode 100755 vendor/gems/gems/extlib-0.9.13/README create mode 100755 vendor/gems/gems/extlib-0.9.13/Rakefile create mode 100755 vendor/gems/gems/extlib-0.9.13/lib/extlib.rb create mode 100755 vendor/gems/gems/extlib-0.9.13/lib/extlib/array.rb create mode 100755 vendor/gems/gems/extlib-0.9.13/lib/extlib/assertions.rb create mode 100755 vendor/gems/gems/extlib-0.9.13/lib/extlib/blank.rb create mode 100755 vendor/gems/gems/extlib-0.9.13/lib/extlib/boolean.rb create mode 100755 vendor/gems/gems/extlib-0.9.13/lib/extlib/byte_array.rb create mode 100755 vendor/gems/gems/extlib-0.9.13/lib/extlib/class.rb create mode 100755 vendor/gems/gems/extlib-0.9.13/lib/extlib/datetime.rb create mode 100755 vendor/gems/gems/extlib-0.9.13/lib/extlib/dictionary.rb create mode 100755 vendor/gems/gems/extlib-0.9.13/lib/extlib/hash.rb create mode 100755 vendor/gems/gems/extlib-0.9.13/lib/extlib/hook.rb create mode 100755 vendor/gems/gems/extlib-0.9.13/lib/extlib/inflection.rb create mode 100755 vendor/gems/gems/extlib-0.9.13/lib/extlib/lazy_array.rb create mode 100755 vendor/gems/gems/extlib-0.9.13/lib/extlib/lazy_module.rb create mode 100755 vendor/gems/gems/extlib-0.9.13/lib/extlib/logger.rb create mode 100755 vendor/gems/gems/extlib-0.9.13/lib/extlib/mash.rb create mode 100755 vendor/gems/gems/extlib-0.9.13/lib/extlib/module.rb create mode 100755 vendor/gems/gems/extlib-0.9.13/lib/extlib/nil.rb create mode 100755 vendor/gems/gems/extlib-0.9.13/lib/extlib/numeric.rb create mode 100755 vendor/gems/gems/extlib-0.9.13/lib/extlib/object.rb create mode 100755 vendor/gems/gems/extlib-0.9.13/lib/extlib/object_space.rb create mode 100755 vendor/gems/gems/extlib-0.9.13/lib/extlib/pathname.rb create mode 100755 vendor/gems/gems/extlib-0.9.13/lib/extlib/pooling.rb create mode 100755 vendor/gems/gems/extlib-0.9.13/lib/extlib/rubygems.rb create mode 100755 vendor/gems/gems/extlib-0.9.13/lib/extlib/simple_set.rb create mode 100755 vendor/gems/gems/extlib-0.9.13/lib/extlib/string.rb create mode 100755 vendor/gems/gems/extlib-0.9.13/lib/extlib/struct.rb create mode 100755 vendor/gems/gems/extlib-0.9.13/lib/extlib/symbol.rb create mode 100755 vendor/gems/gems/extlib-0.9.13/lib/extlib/tasks/release.rb create mode 100755 vendor/gems/gems/extlib-0.9.13/lib/extlib/time.rb create mode 100755 vendor/gems/gems/extlib-0.9.13/lib/extlib/version.rb create mode 100755 vendor/gems/gems/extlib-0.9.13/lib/extlib/virtual_file.rb create mode 100755 vendor/gems/gems/extlib-0.9.13/spec/array_spec.rb create mode 100755 vendor/gems/gems/extlib-0.9.13/spec/blank_spec.rb create mode 100755 vendor/gems/gems/extlib-0.9.13/spec/byte_array_spec.rb create mode 100755 vendor/gems/gems/extlib-0.9.13/spec/class_spec.rb create mode 100755 vendor/gems/gems/extlib-0.9.13/spec/datetime_spec.rb create mode 100755 vendor/gems/gems/extlib-0.9.13/spec/hash_spec.rb create mode 100755 vendor/gems/gems/extlib-0.9.13/spec/hook_spec.rb create mode 100755 vendor/gems/gems/extlib-0.9.13/spec/inflection/plural_spec.rb create mode 100755 vendor/gems/gems/extlib-0.9.13/spec/inflection/singular_spec.rb create mode 100755 vendor/gems/gems/extlib-0.9.13/spec/inflection_extras_spec.rb create mode 100755 vendor/gems/gems/extlib-0.9.13/spec/lazy_array_spec.rb create mode 100755 vendor/gems/gems/extlib-0.9.13/spec/lazy_module_spec.rb create mode 100755 vendor/gems/gems/extlib-0.9.13/spec/mash_spec.rb create mode 100755 vendor/gems/gems/extlib-0.9.13/spec/module_spec.rb create mode 100755 vendor/gems/gems/extlib-0.9.13/spec/object_space_spec.rb create mode 100755 vendor/gems/gems/extlib-0.9.13/spec/object_spec.rb create mode 100755 vendor/gems/gems/extlib-0.9.13/spec/pooling_spec.rb create mode 100755 vendor/gems/gems/extlib-0.9.13/spec/simple_set_spec.rb create mode 100755 vendor/gems/gems/extlib-0.9.13/spec/spec.opts create mode 100755 vendor/gems/gems/extlib-0.9.13/spec/spec_helper.rb create mode 100755 vendor/gems/gems/extlib-0.9.13/spec/string_spec.rb create mode 100755 vendor/gems/gems/extlib-0.9.13/spec/struct_spec.rb create mode 100755 vendor/gems/gems/extlib-0.9.13/spec/symbol_spec.rb create mode 100755 vendor/gems/gems/extlib-0.9.13/spec/time_spec.rb create mode 100755 vendor/gems/gems/extlib-0.9.13/spec/try_call_spec.rb create mode 100755 vendor/gems/gems/extlib-0.9.13/spec/try_dup_spec.rb create mode 100755 vendor/gems/gems/extlib-0.9.13/spec/virtual_file_spec.rb create mode 100755 vendor/gems/gems/haml-2.2.13/.yardopts create mode 100755 vendor/gems/gems/haml-2.2.13/CONTRIBUTING create mode 100755 vendor/gems/gems/haml-2.2.13/MIT-LICENSE create mode 100755 vendor/gems/gems/haml-2.2.13/README.md create mode 100755 vendor/gems/gems/haml-2.2.13/REVISION create mode 100755 vendor/gems/gems/haml-2.2.13/Rakefile create mode 100755 vendor/gems/gems/haml-2.2.13/VERSION create mode 100755 vendor/gems/gems/haml-2.2.13/VERSION_NAME create mode 100755 vendor/gems/gems/haml-2.2.13/bin/css2sass create mode 100755 vendor/gems/gems/haml-2.2.13/bin/haml create mode 100755 vendor/gems/gems/haml-2.2.13/bin/html2haml create mode 100755 vendor/gems/gems/haml-2.2.13/bin/sass create mode 100755 vendor/gems/gems/haml-2.2.13/extra/haml-mode.el create mode 100755 vendor/gems/gems/haml-2.2.13/extra/sass-mode.el create mode 100755 vendor/gems/gems/haml-2.2.13/extra/update_watch.rb create mode 100755 vendor/gems/gems/haml-2.2.13/init.rb create mode 100755 vendor/gems/gems/haml-2.2.13/lib/haml.rb create mode 100755 vendor/gems/gems/haml-2.2.13/lib/haml/buffer.rb create mode 100755 vendor/gems/gems/haml-2.2.13/lib/haml/engine.rb create mode 100755 vendor/gems/gems/haml-2.2.13/lib/haml/error.rb create mode 100755 vendor/gems/gems/haml-2.2.13/lib/haml/exec.rb create mode 100755 vendor/gems/gems/haml-2.2.13/lib/haml/filters.rb create mode 100755 vendor/gems/gems/haml-2.2.13/lib/haml/helpers.rb create mode 100755 vendor/gems/gems/haml-2.2.13/lib/haml/helpers/action_view_extensions.rb create mode 100755 vendor/gems/gems/haml-2.2.13/lib/haml/helpers/action_view_mods.rb create mode 100755 vendor/gems/gems/haml-2.2.13/lib/haml/helpers/xss_mods.rb create mode 100755 vendor/gems/gems/haml-2.2.13/lib/haml/html.rb create mode 100755 vendor/gems/gems/haml-2.2.13/lib/haml/precompiler.rb create mode 100755 vendor/gems/gems/haml-2.2.13/lib/haml/shared.rb create mode 100755 vendor/gems/gems/haml-2.2.13/lib/haml/template.rb create mode 100755 vendor/gems/gems/haml-2.2.13/lib/haml/template/patch.rb create mode 100755 vendor/gems/gems/haml-2.2.13/lib/haml/template/plugin.rb create mode 100755 vendor/gems/gems/haml-2.2.13/lib/haml/util.rb create mode 100755 vendor/gems/gems/haml-2.2.13/lib/haml/version.rb create mode 100755 vendor/gems/gems/haml-2.2.13/lib/sass.rb create mode 100755 vendor/gems/gems/haml-2.2.13/lib/sass/css.rb create mode 100755 vendor/gems/gems/haml-2.2.13/lib/sass/engine.rb create mode 100755 vendor/gems/gems/haml-2.2.13/lib/sass/environment.rb create mode 100755 vendor/gems/gems/haml-2.2.13/lib/sass/error.rb create mode 100755 vendor/gems/gems/haml-2.2.13/lib/sass/files.rb create mode 100755 vendor/gems/gems/haml-2.2.13/lib/sass/plugin.rb create mode 100755 vendor/gems/gems/haml-2.2.13/lib/sass/plugin/merb.rb create mode 100755 vendor/gems/gems/haml-2.2.13/lib/sass/plugin/rails.rb create mode 100755 vendor/gems/gems/haml-2.2.13/lib/sass/repl.rb create mode 100755 vendor/gems/gems/haml-2.2.13/lib/sass/script.rb create mode 100755 vendor/gems/gems/haml-2.2.13/lib/sass/script/bool.rb create mode 100755 vendor/gems/gems/haml-2.2.13/lib/sass/script/color.rb create mode 100755 vendor/gems/gems/haml-2.2.13/lib/sass/script/funcall.rb create mode 100755 vendor/gems/gems/haml-2.2.13/lib/sass/script/functions.rb create mode 100755 vendor/gems/gems/haml-2.2.13/lib/sass/script/lexer.rb create mode 100755 vendor/gems/gems/haml-2.2.13/lib/sass/script/literal.rb create mode 100755 vendor/gems/gems/haml-2.2.13/lib/sass/script/node.rb create mode 100755 vendor/gems/gems/haml-2.2.13/lib/sass/script/number.rb create mode 100755 vendor/gems/gems/haml-2.2.13/lib/sass/script/operation.rb create mode 100755 vendor/gems/gems/haml-2.2.13/lib/sass/script/parser.rb create mode 100755 vendor/gems/gems/haml-2.2.13/lib/sass/script/string.rb create mode 100755 vendor/gems/gems/haml-2.2.13/lib/sass/script/unary_operation.rb create mode 100755 vendor/gems/gems/haml-2.2.13/lib/sass/script/variable.rb create mode 100755 vendor/gems/gems/haml-2.2.13/lib/sass/tree/comment_node.rb create mode 100755 vendor/gems/gems/haml-2.2.13/lib/sass/tree/debug_node.rb create mode 100755 vendor/gems/gems/haml-2.2.13/lib/sass/tree/directive_node.rb create mode 100755 vendor/gems/gems/haml-2.2.13/lib/sass/tree/for_node.rb create mode 100755 vendor/gems/gems/haml-2.2.13/lib/sass/tree/if_node.rb create mode 100755 vendor/gems/gems/haml-2.2.13/lib/sass/tree/import_node.rb create mode 100755 vendor/gems/gems/haml-2.2.13/lib/sass/tree/mixin_def_node.rb create mode 100755 vendor/gems/gems/haml-2.2.13/lib/sass/tree/mixin_node.rb create mode 100755 vendor/gems/gems/haml-2.2.13/lib/sass/tree/node.rb create mode 100755 vendor/gems/gems/haml-2.2.13/lib/sass/tree/prop_node.rb create mode 100755 vendor/gems/gems/haml-2.2.13/lib/sass/tree/rule_node.rb create mode 100755 vendor/gems/gems/haml-2.2.13/lib/sass/tree/variable_node.rb create mode 100755 vendor/gems/gems/haml-2.2.13/lib/sass/tree/while_node.rb create mode 100755 vendor/gems/gems/haml-2.2.13/rails/init.rb create mode 100755 vendor/gems/gems/haml-2.2.13/test/benchmark.rb create mode 100755 vendor/gems/gems/haml-2.2.13/test/haml/engine_test.rb create mode 100755 vendor/gems/gems/haml-2.2.13/test/haml/helper_test.rb create mode 100755 vendor/gems/gems/haml-2.2.13/test/haml/html2haml_test.rb create mode 100755 vendor/gems/gems/haml-2.2.13/test/haml/markaby/standard.mab create mode 100755 vendor/gems/gems/haml-2.2.13/test/haml/mocks/article.rb create mode 100755 vendor/gems/gems/haml-2.2.13/test/haml/results/content_for_layout.xhtml create mode 100755 vendor/gems/gems/haml-2.2.13/test/haml/results/eval_suppressed.xhtml create mode 100755 vendor/gems/gems/haml-2.2.13/test/haml/results/filters.xhtml create mode 100755 vendor/gems/gems/haml-2.2.13/test/haml/results/helpers.xhtml create mode 100755 vendor/gems/gems/haml-2.2.13/test/haml/results/helpful.xhtml create mode 100755 vendor/gems/gems/haml-2.2.13/test/haml/results/just_stuff.xhtml create mode 100755 vendor/gems/gems/haml-2.2.13/test/haml/results/list.xhtml create mode 100755 vendor/gems/gems/haml-2.2.13/test/haml/results/nuke_inner_whitespace.xhtml create mode 100755 vendor/gems/gems/haml-2.2.13/test/haml/results/nuke_outer_whitespace.xhtml create mode 100755 vendor/gems/gems/haml-2.2.13/test/haml/results/original_engine.xhtml create mode 100755 vendor/gems/gems/haml-2.2.13/test/haml/results/partial_layout.xhtml create mode 100755 vendor/gems/gems/haml-2.2.13/test/haml/results/partials.xhtml create mode 100755 vendor/gems/gems/haml-2.2.13/test/haml/results/render_layout.xhtml create mode 100755 vendor/gems/gems/haml-2.2.13/test/haml/results/silent_script.xhtml create mode 100755 vendor/gems/gems/haml-2.2.13/test/haml/results/standard.xhtml create mode 100755 vendor/gems/gems/haml-2.2.13/test/haml/results/tag_parsing.xhtml create mode 100755 vendor/gems/gems/haml-2.2.13/test/haml/results/very_basic.xhtml create mode 100755 vendor/gems/gems/haml-2.2.13/test/haml/results/whitespace_handling.xhtml create mode 100755 vendor/gems/gems/haml-2.2.13/test/haml/rhtml/_av_partial_1.rhtml create mode 100755 vendor/gems/gems/haml-2.2.13/test/haml/rhtml/_av_partial_2.rhtml create mode 100755 vendor/gems/gems/haml-2.2.13/test/haml/rhtml/action_view.rhtml create mode 100755 vendor/gems/gems/haml-2.2.13/test/haml/rhtml/standard.rhtml create mode 100755 vendor/gems/gems/haml-2.2.13/test/haml/spec/README.md create mode 100755 vendor/gems/gems/haml-2.2.13/test/haml/spec/lua_haml_spec.lua create mode 100755 vendor/gems/gems/haml-2.2.13/test/haml/spec/ruby_haml_test.rb create mode 100755 vendor/gems/gems/haml-2.2.13/test/haml/spec/tests.json create mode 100755 vendor/gems/gems/haml-2.2.13/test/haml/template_test.rb create mode 100755 vendor/gems/gems/haml-2.2.13/test/haml/templates/_av_partial_1.haml create mode 100755 vendor/gems/gems/haml-2.2.13/test/haml/templates/_av_partial_1_ugly.haml create mode 100755 vendor/gems/gems/haml-2.2.13/test/haml/templates/_av_partial_2.haml create mode 100755 vendor/gems/gems/haml-2.2.13/test/haml/templates/_av_partial_2_ugly.haml create mode 100755 vendor/gems/gems/haml-2.2.13/test/haml/templates/_layout.erb create mode 100755 vendor/gems/gems/haml-2.2.13/test/haml/templates/_layout_for_partial.haml create mode 100755 vendor/gems/gems/haml-2.2.13/test/haml/templates/_partial.haml create mode 100755 vendor/gems/gems/haml-2.2.13/test/haml/templates/_text_area.haml create mode 100755 vendor/gems/gems/haml-2.2.13/test/haml/templates/action_view.haml create mode 100755 vendor/gems/gems/haml-2.2.13/test/haml/templates/action_view_ugly.haml create mode 100755 vendor/gems/gems/haml-2.2.13/test/haml/templates/breakage.haml create mode 100755 vendor/gems/gems/haml-2.2.13/test/haml/templates/content_for_layout.haml create mode 100755 vendor/gems/gems/haml-2.2.13/test/haml/templates/eval_suppressed.haml create mode 100755 vendor/gems/gems/haml-2.2.13/test/haml/templates/filters.haml create mode 100755 vendor/gems/gems/haml-2.2.13/test/haml/templates/helpers.haml create mode 100755 vendor/gems/gems/haml-2.2.13/test/haml/templates/helpful.haml create mode 100755 vendor/gems/gems/haml-2.2.13/test/haml/templates/just_stuff.haml create mode 100755 vendor/gems/gems/haml-2.2.13/test/haml/templates/list.haml create mode 100755 vendor/gems/gems/haml-2.2.13/test/haml/templates/nuke_inner_whitespace.haml create mode 100755 vendor/gems/gems/haml-2.2.13/test/haml/templates/nuke_outer_whitespace.haml create mode 100755 vendor/gems/gems/haml-2.2.13/test/haml/templates/original_engine.haml create mode 100755 vendor/gems/gems/haml-2.2.13/test/haml/templates/partial_layout.haml create mode 100755 vendor/gems/gems/haml-2.2.13/test/haml/templates/partialize.haml create mode 100755 vendor/gems/gems/haml-2.2.13/test/haml/templates/partials.haml create mode 100755 vendor/gems/gems/haml-2.2.13/test/haml/templates/render_layout.haml create mode 100755 vendor/gems/gems/haml-2.2.13/test/haml/templates/silent_script.haml create mode 100755 vendor/gems/gems/haml-2.2.13/test/haml/templates/standard.haml create mode 100755 vendor/gems/gems/haml-2.2.13/test/haml/templates/standard_ugly.haml create mode 100755 vendor/gems/gems/haml-2.2.13/test/haml/templates/tag_parsing.haml create mode 100755 vendor/gems/gems/haml-2.2.13/test/haml/templates/very_basic.haml create mode 100755 vendor/gems/gems/haml-2.2.13/test/haml/templates/whitespace_handling.haml create mode 100755 vendor/gems/gems/haml-2.2.13/test/haml/util_test.rb create mode 100755 vendor/gems/gems/haml-2.2.13/test/linked_rails.rb create mode 100755 vendor/gems/gems/haml-2.2.13/test/sass/css2sass_test.rb create mode 100755 vendor/gems/gems/haml-2.2.13/test/sass/engine_test.rb create mode 100755 vendor/gems/gems/haml-2.2.13/test/sass/functions_test.rb create mode 100755 vendor/gems/gems/haml-2.2.13/test/sass/more_results/more1.css create mode 100755 vendor/gems/gems/haml-2.2.13/test/sass/more_results/more1_with_line_comments.css create mode 100755 vendor/gems/gems/haml-2.2.13/test/sass/more_results/more_import.css create mode 100755 vendor/gems/gems/haml-2.2.13/test/sass/more_templates/_more_partial.sass create mode 100755 vendor/gems/gems/haml-2.2.13/test/sass/more_templates/more1.sass create mode 100755 vendor/gems/gems/haml-2.2.13/test/sass/more_templates/more_import.sass create mode 100755 vendor/gems/gems/haml-2.2.13/test/sass/plugin_test.rb create mode 100755 vendor/gems/gems/haml-2.2.13/test/sass/results/alt.css create mode 100755 vendor/gems/gems/haml-2.2.13/test/sass/results/basic.css create mode 100755 vendor/gems/gems/haml-2.2.13/test/sass/results/compact.css create mode 100755 vendor/gems/gems/haml-2.2.13/test/sass/results/complex.css create mode 100755 vendor/gems/gems/haml-2.2.13/test/sass/results/compressed.css create mode 100755 vendor/gems/gems/haml-2.2.13/test/sass/results/expanded.css create mode 100755 vendor/gems/gems/haml-2.2.13/test/sass/results/import.css create mode 100755 vendor/gems/gems/haml-2.2.13/test/sass/results/line_numbers.css create mode 100755 vendor/gems/gems/haml-2.2.13/test/sass/results/mixins.css create mode 100755 vendor/gems/gems/haml-2.2.13/test/sass/results/multiline.css create mode 100755 vendor/gems/gems/haml-2.2.13/test/sass/results/nested.css create mode 100755 vendor/gems/gems/haml-2.2.13/test/sass/results/parent_ref.css create mode 100755 vendor/gems/gems/haml-2.2.13/test/sass/results/script.css create mode 100755 vendor/gems/gems/haml-2.2.13/test/sass/results/subdir/nested_subdir/nested_subdir.css create mode 100755 vendor/gems/gems/haml-2.2.13/test/sass/results/subdir/subdir.css create mode 100755 vendor/gems/gems/haml-2.2.13/test/sass/results/units.css create mode 100755 vendor/gems/gems/haml-2.2.13/test/sass/script_test.rb create mode 100755 vendor/gems/gems/haml-2.2.13/test/sass/templates/_partial.sass create mode 100755 vendor/gems/gems/haml-2.2.13/test/sass/templates/alt.sass create mode 100755 vendor/gems/gems/haml-2.2.13/test/sass/templates/basic.sass create mode 100755 vendor/gems/gems/haml-2.2.13/test/sass/templates/bork.sass create mode 100755 vendor/gems/gems/haml-2.2.13/test/sass/templates/bork2.sass create mode 100755 vendor/gems/gems/haml-2.2.13/test/sass/templates/compact.sass create mode 100755 vendor/gems/gems/haml-2.2.13/test/sass/templates/complex.sass create mode 100755 vendor/gems/gems/haml-2.2.13/test/sass/templates/compressed.sass create mode 100755 vendor/gems/gems/haml-2.2.13/test/sass/templates/expanded.sass create mode 100755 vendor/gems/gems/haml-2.2.13/test/sass/templates/import.sass create mode 100755 vendor/gems/gems/haml-2.2.13/test/sass/templates/importee.sass create mode 100755 vendor/gems/gems/haml-2.2.13/test/sass/templates/line_numbers.sass create mode 100755 vendor/gems/gems/haml-2.2.13/test/sass/templates/mixins.sass create mode 100755 vendor/gems/gems/haml-2.2.13/test/sass/templates/multiline.sass create mode 100755 vendor/gems/gems/haml-2.2.13/test/sass/templates/nested.sass create mode 100755 vendor/gems/gems/haml-2.2.13/test/sass/templates/parent_ref.sass create mode 100755 vendor/gems/gems/haml-2.2.13/test/sass/templates/script.sass create mode 100755 vendor/gems/gems/haml-2.2.13/test/sass/templates/subdir/nested_subdir/_nested_partial.sass create mode 100755 vendor/gems/gems/haml-2.2.13/test/sass/templates/subdir/nested_subdir/nested_subdir.sass create mode 100755 vendor/gems/gems/haml-2.2.13/test/sass/templates/subdir/subdir.sass create mode 100755 vendor/gems/gems/haml-2.2.13/test/sass/templates/units.sass create mode 100755 vendor/gems/gems/haml-2.2.13/test/test_helper.rb create mode 100755 vendor/gems/gems/highline-1.5.1/CHANGELOG create mode 100755 vendor/gems/gems/highline-1.5.1/INSTALL create mode 100755 vendor/gems/gems/highline-1.5.1/LICENSE create mode 100755 vendor/gems/gems/highline-1.5.1/README create mode 100755 vendor/gems/gems/highline-1.5.1/Rakefile create mode 100755 vendor/gems/gems/highline-1.5.1/TODO create mode 100755 vendor/gems/gems/highline-1.5.1/examples/ansi_colors.rb create mode 100755 vendor/gems/gems/highline-1.5.1/examples/asking_for_arrays.rb create mode 100755 vendor/gems/gems/highline-1.5.1/examples/basic_usage.rb create mode 100755 vendor/gems/gems/highline-1.5.1/examples/color_scheme.rb create mode 100755 vendor/gems/gems/highline-1.5.1/examples/limit.rb create mode 100755 vendor/gems/gems/highline-1.5.1/examples/menus.rb create mode 100755 vendor/gems/gems/highline-1.5.1/examples/overwrite.rb create mode 100755 vendor/gems/gems/highline-1.5.1/examples/page_and_wrap.rb create mode 100755 vendor/gems/gems/highline-1.5.1/examples/password.rb create mode 100755 vendor/gems/gems/highline-1.5.1/examples/trapping_eof.rb create mode 100755 vendor/gems/gems/highline-1.5.1/examples/using_readline.rb create mode 100755 vendor/gems/gems/highline-1.5.1/lib/highline.rb create mode 100755 vendor/gems/gems/highline-1.5.1/lib/highline/color_scheme.rb create mode 100755 vendor/gems/gems/highline-1.5.1/lib/highline/compatibility.rb create mode 100755 vendor/gems/gems/highline-1.5.1/lib/highline/import.rb create mode 100755 vendor/gems/gems/highline-1.5.1/lib/highline/menu.rb create mode 100755 vendor/gems/gems/highline-1.5.1/lib/highline/question.rb create mode 100755 vendor/gems/gems/highline-1.5.1/lib/highline/system_extensions.rb create mode 100755 vendor/gems/gems/highline-1.5.1/setup.rb create mode 100755 vendor/gems/gems/highline-1.5.1/test/tc_color_scheme.rb create mode 100755 vendor/gems/gems/highline-1.5.1/test/tc_highline.rb create mode 100755 vendor/gems/gems/highline-1.5.1/test/tc_import.rb create mode 100755 vendor/gems/gems/highline-1.5.1/test/tc_menu.rb create mode 100755 vendor/gems/gems/highline-1.5.1/test/ts_all.rb create mode 100755 vendor/gems/gems/json-1.2.0/.require_paths create mode 100755 vendor/gems/gems/json-1.2.0/CHANGES create mode 100755 vendor/gems/gems/json-1.2.0/COPYING create mode 100755 vendor/gems/gems/json-1.2.0/GPL create mode 100755 vendor/gems/gems/json-1.2.0/README create mode 100755 vendor/gems/gems/json-1.2.0/Rakefile create mode 100755 vendor/gems/gems/json-1.2.0/TODO create mode 100755 vendor/gems/gems/json-1.2.0/VERSION create mode 100755 vendor/gems/gems/json-1.2.0/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkComparison.log create mode 100755 vendor/gems/gems/json-1.2.0/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_fast-autocorrelation.dat create mode 100755 vendor/gems/gems/json-1.2.0/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_fast.dat create mode 100755 vendor/gems/gems/json-1.2.0/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_pretty-autocorrelation.dat create mode 100755 vendor/gems/gems/json-1.2.0/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_pretty.dat create mode 100755 vendor/gems/gems/json-1.2.0/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_safe-autocorrelation.dat create mode 100755 vendor/gems/gems/json-1.2.0/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_safe.dat create mode 100755 vendor/gems/gems/json-1.2.0/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt.log create mode 100755 vendor/gems/gems/json-1.2.0/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_fast-autocorrelation.dat create mode 100755 vendor/gems/gems/json-1.2.0/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_fast.dat create mode 100755 vendor/gems/gems/json-1.2.0/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_pretty-autocorrelation.dat create mode 100755 vendor/gems/gems/json-1.2.0/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_pretty.dat create mode 100755 vendor/gems/gems/json-1.2.0/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_safe-autocorrelation.dat create mode 100755 vendor/gems/gems/json-1.2.0/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_safe.dat create mode 100755 vendor/gems/gems/json-1.2.0/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure.log create mode 100755 vendor/gems/gems/json-1.2.0/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkRails#generator-autocorrelation.dat create mode 100755 vendor/gems/gems/json-1.2.0/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkRails#generator.dat create mode 100755 vendor/gems/gems/json-1.2.0/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkRails.log create mode 100755 vendor/gems/gems/json-1.2.0/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkComparison.log create mode 100755 vendor/gems/gems/json-1.2.0/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkExt#parser-autocorrelation.dat create mode 100755 vendor/gems/gems/json-1.2.0/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkExt#parser.dat create mode 100755 vendor/gems/gems/json-1.2.0/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkExt.log create mode 100755 vendor/gems/gems/json-1.2.0/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkPure#parser-autocorrelation.dat create mode 100755 vendor/gems/gems/json-1.2.0/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkPure#parser.dat create mode 100755 vendor/gems/gems/json-1.2.0/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkPure.log create mode 100755 vendor/gems/gems/json-1.2.0/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkRails#parser-autocorrelation.dat create mode 100755 vendor/gems/gems/json-1.2.0/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkRails#parser.dat create mode 100755 vendor/gems/gems/json-1.2.0/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkRails.log create mode 100755 vendor/gems/gems/json-1.2.0/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkYAML#parser-autocorrelation.dat create mode 100755 vendor/gems/gems/json-1.2.0/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkYAML#parser.dat create mode 100755 vendor/gems/gems/json-1.2.0/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkYAML.log create mode 100755 vendor/gems/gems/json-1.2.0/benchmarks/generator_benchmark.rb create mode 100755 vendor/gems/gems/json-1.2.0/benchmarks/parser_benchmark.rb create mode 100755 vendor/gems/gems/json-1.2.0/bin/edit_json.rb create mode 100755 vendor/gems/gems/json-1.2.0/bin/prettify_json.rb create mode 100755 vendor/gems/gems/json-1.2.0/data/example.json create mode 100755 vendor/gems/gems/json-1.2.0/data/index.html create mode 100755 vendor/gems/gems/json-1.2.0/data/prototype.js create mode 100755 vendor/gems/gems/json-1.2.0/ext/json/ext/generator.bundle create mode 100755 vendor/gems/gems/json-1.2.0/ext/json/ext/generator/Makefile create mode 100755 vendor/gems/gems/json-1.2.0/ext/json/ext/generator/extconf.rb create mode 100755 vendor/gems/gems/json-1.2.0/ext/json/ext/generator/generator.bundle create mode 100755 vendor/gems/gems/json-1.2.0/ext/json/ext/generator/generator.c create mode 100755 vendor/gems/gems/json-1.2.0/ext/json/ext/generator/generator.o create mode 100755 vendor/gems/gems/json-1.2.0/ext/json/ext/generator/mkmf.log create mode 100755 vendor/gems/gems/json-1.2.0/ext/json/ext/generator/unicode.c create mode 100755 vendor/gems/gems/json-1.2.0/ext/json/ext/generator/unicode.h create mode 100755 vendor/gems/gems/json-1.2.0/ext/json/ext/generator/unicode.o create mode 100755 vendor/gems/gems/json-1.2.0/ext/json/ext/parser.bundle create mode 100755 vendor/gems/gems/json-1.2.0/ext/json/ext/parser/Makefile create mode 100755 vendor/gems/gems/json-1.2.0/ext/json/ext/parser/extconf.rb create mode 100755 vendor/gems/gems/json-1.2.0/ext/json/ext/parser/mkmf.log create mode 100755 vendor/gems/gems/json-1.2.0/ext/json/ext/parser/parser.bundle create mode 100755 vendor/gems/gems/json-1.2.0/ext/json/ext/parser/parser.c create mode 100755 vendor/gems/gems/json-1.2.0/ext/json/ext/parser/parser.o create mode 100755 vendor/gems/gems/json-1.2.0/ext/json/ext/parser/parser.rl create mode 100755 vendor/gems/gems/json-1.2.0/ext/json/ext/parser/unicode.c create mode 100755 vendor/gems/gems/json-1.2.0/ext/json/ext/parser/unicode.h create mode 100755 vendor/gems/gems/json-1.2.0/ext/json/ext/parser/unicode.o create mode 100755 vendor/gems/gems/json-1.2.0/install.rb create mode 100755 vendor/gems/gems/json-1.2.0/lib/json.rb create mode 100755 vendor/gems/gems/json-1.2.0/lib/json/Array.xpm create mode 100755 vendor/gems/gems/json-1.2.0/lib/json/FalseClass.xpm create mode 100755 vendor/gems/gems/json-1.2.0/lib/json/Hash.xpm create mode 100755 vendor/gems/gems/json-1.2.0/lib/json/Key.xpm create mode 100755 vendor/gems/gems/json-1.2.0/lib/json/NilClass.xpm create mode 100755 vendor/gems/gems/json-1.2.0/lib/json/Numeric.xpm create mode 100755 vendor/gems/gems/json-1.2.0/lib/json/String.xpm create mode 100755 vendor/gems/gems/json-1.2.0/lib/json/TrueClass.xpm create mode 100755 vendor/gems/gems/json-1.2.0/lib/json/add/core.rb create mode 100755 vendor/gems/gems/json-1.2.0/lib/json/add/rails.rb create mode 100755 vendor/gems/gems/json-1.2.0/lib/json/common.rb create mode 100755 vendor/gems/gems/json-1.2.0/lib/json/editor.rb create mode 100755 vendor/gems/gems/json-1.2.0/lib/json/ext.rb create mode 100755 vendor/gems/gems/json-1.2.0/lib/json/json.xpm create mode 100755 vendor/gems/gems/json-1.2.0/lib/json/pure.rb create mode 100755 vendor/gems/gems/json-1.2.0/lib/json/pure/generator.rb create mode 100755 vendor/gems/gems/json-1.2.0/lib/json/pure/parser.rb create mode 100755 vendor/gems/gems/json-1.2.0/lib/json/version.rb create mode 100755 vendor/gems/gems/json-1.2.0/tests/fixtures/fail1.json create mode 100755 vendor/gems/gems/json-1.2.0/tests/fixtures/fail10.json create mode 100755 vendor/gems/gems/json-1.2.0/tests/fixtures/fail11.json create mode 100755 vendor/gems/gems/json-1.2.0/tests/fixtures/fail12.json create mode 100755 vendor/gems/gems/json-1.2.0/tests/fixtures/fail13.json create mode 100755 vendor/gems/gems/json-1.2.0/tests/fixtures/fail14.json create mode 100755 vendor/gems/gems/json-1.2.0/tests/fixtures/fail18.json create mode 100755 vendor/gems/gems/json-1.2.0/tests/fixtures/fail19.json create mode 100755 vendor/gems/gems/json-1.2.0/tests/fixtures/fail2.json create mode 100755 vendor/gems/gems/json-1.2.0/tests/fixtures/fail20.json create mode 100755 vendor/gems/gems/json-1.2.0/tests/fixtures/fail21.json create mode 100755 vendor/gems/gems/json-1.2.0/tests/fixtures/fail22.json create mode 100755 vendor/gems/gems/json-1.2.0/tests/fixtures/fail23.json create mode 100755 vendor/gems/gems/json-1.2.0/tests/fixtures/fail24.json create mode 100755 vendor/gems/gems/json-1.2.0/tests/fixtures/fail25.json create mode 100755 vendor/gems/gems/json-1.2.0/tests/fixtures/fail27.json create mode 100755 vendor/gems/gems/json-1.2.0/tests/fixtures/fail28.json create mode 100755 vendor/gems/gems/json-1.2.0/tests/fixtures/fail3.json create mode 100755 vendor/gems/gems/json-1.2.0/tests/fixtures/fail4.json create mode 100755 vendor/gems/gems/json-1.2.0/tests/fixtures/fail5.json create mode 100755 vendor/gems/gems/json-1.2.0/tests/fixtures/fail6.json create mode 100755 vendor/gems/gems/json-1.2.0/tests/fixtures/fail7.json create mode 100755 vendor/gems/gems/json-1.2.0/tests/fixtures/fail8.json create mode 100755 vendor/gems/gems/json-1.2.0/tests/fixtures/fail9.json create mode 100755 vendor/gems/gems/json-1.2.0/tests/fixtures/pass1.json create mode 100755 vendor/gems/gems/json-1.2.0/tests/fixtures/pass15.json create mode 100755 vendor/gems/gems/json-1.2.0/tests/fixtures/pass16.json create mode 100755 vendor/gems/gems/json-1.2.0/tests/fixtures/pass17.json create mode 100755 vendor/gems/gems/json-1.2.0/tests/fixtures/pass2.json create mode 100755 vendor/gems/gems/json-1.2.0/tests/fixtures/pass26.json create mode 100755 vendor/gems/gems/json-1.2.0/tests/fixtures/pass3.json create mode 100755 vendor/gems/gems/json-1.2.0/tests/test_json.rb create mode 100755 vendor/gems/gems/json-1.2.0/tests/test_json_addition.rb create mode 100755 vendor/gems/gems/json-1.2.0/tests/test_json_encoding.rb create mode 100755 vendor/gems/gems/json-1.2.0/tests/test_json_fixtures.rb create mode 100755 vendor/gems/gems/json-1.2.0/tests/test_json_generate.rb create mode 100755 vendor/gems/gems/json-1.2.0/tests/test_json_rails.rb create mode 100755 vendor/gems/gems/json-1.2.0/tests/test_json_unicode.rb create mode 100755 vendor/gems/gems/json-1.2.0/tools/fuzz.rb create mode 100755 vendor/gems/gems/json-1.2.0/tools/server.rb create mode 100755 vendor/gems/gems/launchy-0.3.3/HISTORY create mode 100755 vendor/gems/gems/launchy-0.3.3/LICENSE create mode 100755 vendor/gems/gems/launchy-0.3.3/README create mode 100755 vendor/gems/gems/launchy-0.3.3/Rakefile create mode 100755 vendor/gems/gems/launchy-0.3.3/bin/launchy create mode 100755 vendor/gems/gems/launchy-0.3.3/gemspec.rb create mode 100755 vendor/gems/gems/launchy-0.3.3/lib/launchy.rb create mode 100755 vendor/gems/gems/launchy-0.3.3/lib/launchy/application.rb create mode 100755 vendor/gems/gems/launchy-0.3.3/lib/launchy/browser.rb create mode 100755 vendor/gems/gems/launchy-0.3.3/lib/launchy/command_line.rb create mode 100755 vendor/gems/gems/launchy-0.3.3/lib/launchy/paths.rb create mode 100755 vendor/gems/gems/launchy-0.3.3/lib/launchy/version.rb create mode 100755 vendor/gems/gems/launchy-0.3.3/spec/application_spec.rb create mode 100755 vendor/gems/gems/launchy-0.3.3/spec/browser_spec.rb create mode 100755 vendor/gems/gems/launchy-0.3.3/spec/launchy_spec.rb create mode 100755 vendor/gems/gems/launchy-0.3.3/spec/paths_spec.rb create mode 100755 vendor/gems/gems/launchy-0.3.3/spec/spec_helper.rb create mode 100755 vendor/gems/gems/launchy-0.3.3/spec/version_spec.rb create mode 100755 vendor/gems/gems/launchy-0.3.3/tasks/announce.rake create mode 100755 vendor/gems/gems/launchy-0.3.3/tasks/config.rb create mode 100755 vendor/gems/gems/launchy-0.3.3/tasks/distribution.rake create mode 100755 vendor/gems/gems/launchy-0.3.3/tasks/documentation.rake create mode 100755 vendor/gems/gems/launchy-0.3.3/tasks/rspec.rake create mode 100755 vendor/gems/gems/launchy-0.3.3/tasks/rubyforge.rake create mode 100755 vendor/gems/gems/launchy-0.3.3/tasks/utils.rb create mode 100755 vendor/gems/gems/polyglot-0.2.9/History.txt create mode 100755 vendor/gems/gems/polyglot-0.2.9/License.txt create mode 100755 vendor/gems/gems/polyglot-0.2.9/Manifest.txt create mode 100755 vendor/gems/gems/polyglot-0.2.9/README.txt create mode 100755 vendor/gems/gems/polyglot-0.2.9/Rakefile create mode 100755 vendor/gems/gems/polyglot-0.2.9/lib/polyglot.rb create mode 100755 vendor/gems/gems/polyglot-0.2.9/lib/polyglot/version.rb create mode 100755 vendor/gems/gems/polyglot-0.2.9/test/test_helper.rb create mode 100755 vendor/gems/gems/polyglot-0.2.9/test/test_polyglot.rb create mode 100755 vendor/gems/gems/rack-1.0.1/COPYING create mode 100755 vendor/gems/gems/rack-1.0.1/KNOWN-ISSUES create mode 100755 vendor/gems/gems/rack-1.0.1/RDOX create mode 100755 vendor/gems/gems/rack-1.0.1/README create mode 100755 vendor/gems/gems/rack-1.0.1/Rakefile create mode 100755 vendor/gems/gems/rack-1.0.1/SPEC create mode 100755 vendor/gems/gems/rack-1.0.1/bin/rackup create mode 100755 vendor/gems/gems/rack-1.0.1/contrib/rack_logo.svg create mode 100755 vendor/gems/gems/rack-1.0.1/example/lobster.ru create mode 100755 vendor/gems/gems/rack-1.0.1/example/protectedlobster.rb create mode 100755 vendor/gems/gems/rack-1.0.1/example/protectedlobster.ru create mode 100755 vendor/gems/gems/rack-1.0.1/lib/rack.rb create mode 100755 vendor/gems/gems/rack-1.0.1/lib/rack/adapter/camping.rb create mode 100755 vendor/gems/gems/rack-1.0.1/lib/rack/auth/abstract/handler.rb create mode 100755 vendor/gems/gems/rack-1.0.1/lib/rack/auth/abstract/request.rb create mode 100755 vendor/gems/gems/rack-1.0.1/lib/rack/auth/basic.rb create mode 100755 vendor/gems/gems/rack-1.0.1/lib/rack/auth/digest/md5.rb create mode 100755 vendor/gems/gems/rack-1.0.1/lib/rack/auth/digest/nonce.rb create mode 100755 vendor/gems/gems/rack-1.0.1/lib/rack/auth/digest/params.rb create mode 100755 vendor/gems/gems/rack-1.0.1/lib/rack/auth/digest/request.rb create mode 100755 vendor/gems/gems/rack-1.0.1/lib/rack/auth/openid.rb create mode 100755 vendor/gems/gems/rack-1.0.1/lib/rack/builder.rb create mode 100755 vendor/gems/gems/rack-1.0.1/lib/rack/cascade.rb create mode 100755 vendor/gems/gems/rack-1.0.1/lib/rack/chunked.rb create mode 100755 vendor/gems/gems/rack-1.0.1/lib/rack/commonlogger.rb create mode 100755 vendor/gems/gems/rack-1.0.1/lib/rack/conditionalget.rb create mode 100755 vendor/gems/gems/rack-1.0.1/lib/rack/content_length.rb create mode 100755 vendor/gems/gems/rack-1.0.1/lib/rack/content_type.rb create mode 100755 vendor/gems/gems/rack-1.0.1/lib/rack/deflater.rb create mode 100755 vendor/gems/gems/rack-1.0.1/lib/rack/directory.rb create mode 100755 vendor/gems/gems/rack-1.0.1/lib/rack/file.rb create mode 100755 vendor/gems/gems/rack-1.0.1/lib/rack/handler.rb create mode 100755 vendor/gems/gems/rack-1.0.1/lib/rack/handler/cgi.rb create mode 100755 vendor/gems/gems/rack-1.0.1/lib/rack/handler/evented_mongrel.rb create mode 100755 vendor/gems/gems/rack-1.0.1/lib/rack/handler/fastcgi.rb create mode 100755 vendor/gems/gems/rack-1.0.1/lib/rack/handler/lsws.rb create mode 100755 vendor/gems/gems/rack-1.0.1/lib/rack/handler/mongrel.rb create mode 100755 vendor/gems/gems/rack-1.0.1/lib/rack/handler/scgi.rb create mode 100755 vendor/gems/gems/rack-1.0.1/lib/rack/handler/swiftiplied_mongrel.rb create mode 100755 vendor/gems/gems/rack-1.0.1/lib/rack/handler/thin.rb create mode 100755 vendor/gems/gems/rack-1.0.1/lib/rack/handler/webrick.rb create mode 100755 vendor/gems/gems/rack-1.0.1/lib/rack/head.rb create mode 100755 vendor/gems/gems/rack-1.0.1/lib/rack/lint.rb create mode 100755 vendor/gems/gems/rack-1.0.1/lib/rack/lobster.rb create mode 100755 vendor/gems/gems/rack-1.0.1/lib/rack/lock.rb create mode 100755 vendor/gems/gems/rack-1.0.1/lib/rack/methodoverride.rb create mode 100755 vendor/gems/gems/rack-1.0.1/lib/rack/mime.rb create mode 100755 vendor/gems/gems/rack-1.0.1/lib/rack/mock.rb create mode 100755 vendor/gems/gems/rack-1.0.1/lib/rack/recursive.rb create mode 100755 vendor/gems/gems/rack-1.0.1/lib/rack/reloader.rb create mode 100755 vendor/gems/gems/rack-1.0.1/lib/rack/request.rb create mode 100755 vendor/gems/gems/rack-1.0.1/lib/rack/response.rb create mode 100755 vendor/gems/gems/rack-1.0.1/lib/rack/rewindable_input.rb create mode 100755 vendor/gems/gems/rack-1.0.1/lib/rack/session/abstract/id.rb create mode 100755 vendor/gems/gems/rack-1.0.1/lib/rack/session/cookie.rb create mode 100755 vendor/gems/gems/rack-1.0.1/lib/rack/session/memcache.rb create mode 100755 vendor/gems/gems/rack-1.0.1/lib/rack/session/pool.rb create mode 100755 vendor/gems/gems/rack-1.0.1/lib/rack/showexceptions.rb create mode 100755 vendor/gems/gems/rack-1.0.1/lib/rack/showstatus.rb create mode 100755 vendor/gems/gems/rack-1.0.1/lib/rack/static.rb create mode 100755 vendor/gems/gems/rack-1.0.1/lib/rack/urlmap.rb create mode 100755 vendor/gems/gems/rack-1.0.1/lib/rack/utils.rb create mode 100755 vendor/gems/gems/rack-1.0.1/rack.gemspec create mode 100755 vendor/gems/gems/rack-1.0.1/test/cgi/lighttpd.conf create mode 100755 vendor/gems/gems/rack-1.0.1/test/cgi/test create mode 100755 vendor/gems/gems/rack-1.0.1/test/cgi/test.fcgi create mode 100755 vendor/gems/gems/rack-1.0.1/test/cgi/test.ru create mode 100755 vendor/gems/gems/rack-1.0.1/test/multipart/binary create mode 100755 vendor/gems/gems/rack-1.0.1/test/multipart/empty create mode 100755 vendor/gems/gems/rack-1.0.1/test/multipart/ie create mode 100755 vendor/gems/gems/rack-1.0.1/test/multipart/nested create mode 100755 vendor/gems/gems/rack-1.0.1/test/multipart/none create mode 100755 vendor/gems/gems/rack-1.0.1/test/multipart/semicolon create mode 100755 vendor/gems/gems/rack-1.0.1/test/multipart/text create mode 100755 vendor/gems/gems/rack-1.0.1/test/spec_rack_auth_basic.rb create mode 100755 vendor/gems/gems/rack-1.0.1/test/spec_rack_auth_digest.rb create mode 100755 vendor/gems/gems/rack-1.0.1/test/spec_rack_auth_openid.rb create mode 100755 vendor/gems/gems/rack-1.0.1/test/spec_rack_builder.rb create mode 100755 vendor/gems/gems/rack-1.0.1/test/spec_rack_camping.rb create mode 100755 vendor/gems/gems/rack-1.0.1/test/spec_rack_cascade.rb create mode 100755 vendor/gems/gems/rack-1.0.1/test/spec_rack_cgi.rb create mode 100755 vendor/gems/gems/rack-1.0.1/test/spec_rack_chunked.rb create mode 100755 vendor/gems/gems/rack-1.0.1/test/spec_rack_commonlogger.rb create mode 100755 vendor/gems/gems/rack-1.0.1/test/spec_rack_conditionalget.rb create mode 100755 vendor/gems/gems/rack-1.0.1/test/spec_rack_content_length.rb create mode 100755 vendor/gems/gems/rack-1.0.1/test/spec_rack_content_type.rb create mode 100755 vendor/gems/gems/rack-1.0.1/test/spec_rack_deflater.rb create mode 100755 vendor/gems/gems/rack-1.0.1/test/spec_rack_directory.rb create mode 100755 vendor/gems/gems/rack-1.0.1/test/spec_rack_fastcgi.rb create mode 100755 vendor/gems/gems/rack-1.0.1/test/spec_rack_file.rb create mode 100755 vendor/gems/gems/rack-1.0.1/test/spec_rack_handler.rb create mode 100755 vendor/gems/gems/rack-1.0.1/test/spec_rack_head.rb create mode 100755 vendor/gems/gems/rack-1.0.1/test/spec_rack_lint.rb create mode 100755 vendor/gems/gems/rack-1.0.1/test/spec_rack_lobster.rb create mode 100755 vendor/gems/gems/rack-1.0.1/test/spec_rack_lock.rb create mode 100755 vendor/gems/gems/rack-1.0.1/test/spec_rack_methodoverride.rb create mode 100755 vendor/gems/gems/rack-1.0.1/test/spec_rack_mock.rb create mode 100755 vendor/gems/gems/rack-1.0.1/test/spec_rack_mongrel.rb create mode 100755 vendor/gems/gems/rack-1.0.1/test/spec_rack_recursive.rb create mode 100755 vendor/gems/gems/rack-1.0.1/test/spec_rack_request.rb create mode 100755 vendor/gems/gems/rack-1.0.1/test/spec_rack_response.rb create mode 100755 vendor/gems/gems/rack-1.0.1/test/spec_rack_rewindable_input.rb create mode 100755 vendor/gems/gems/rack-1.0.1/test/spec_rack_session_cookie.rb create mode 100755 vendor/gems/gems/rack-1.0.1/test/spec_rack_session_memcache.rb create mode 100755 vendor/gems/gems/rack-1.0.1/test/spec_rack_session_pool.rb create mode 100755 vendor/gems/gems/rack-1.0.1/test/spec_rack_showexceptions.rb create mode 100755 vendor/gems/gems/rack-1.0.1/test/spec_rack_showstatus.rb create mode 100755 vendor/gems/gems/rack-1.0.1/test/spec_rack_static.rb create mode 100755 vendor/gems/gems/rack-1.0.1/test/spec_rack_thin.rb create mode 100755 vendor/gems/gems/rack-1.0.1/test/spec_rack_urlmap.rb create mode 100755 vendor/gems/gems/rack-1.0.1/test/spec_rack_utils.rb create mode 100755 vendor/gems/gems/rack-1.0.1/test/spec_rack_webrick.rb create mode 100755 vendor/gems/gems/rack-1.0.1/test/testrequest.rb create mode 100755 vendor/gems/gems/rack-1.0.1/test/unregistered_handler/rack/handler/unregistered.rb create mode 100755 vendor/gems/gems/rack-1.0.1/test/unregistered_handler/rack/handler/unregistered_long_one.rb create mode 100755 vendor/gems/gems/rack-test-0.5.1/.document create mode 100755 vendor/gems/gems/rack-test-0.5.1/.gitignore create mode 100755 vendor/gems/gems/rack-test-0.5.1/History.txt create mode 100755 vendor/gems/gems/rack-test-0.5.1/MIT-LICENSE.txt create mode 100755 vendor/gems/gems/rack-test-0.5.1/README.rdoc create mode 100755 vendor/gems/gems/rack-test-0.5.1/Rakefile create mode 100755 vendor/gems/gems/rack-test-0.5.1/Thorfile create mode 100755 vendor/gems/gems/rack-test-0.5.1/lib/rack/mock_session.rb create mode 100755 vendor/gems/gems/rack-test-0.5.1/lib/rack/test.rb create mode 100755 vendor/gems/gems/rack-test-0.5.1/lib/rack/test/cookie_jar.rb create mode 100755 vendor/gems/gems/rack-test-0.5.1/lib/rack/test/methods.rb create mode 100755 vendor/gems/gems/rack-test-0.5.1/lib/rack/test/mock_digest_request.rb create mode 100755 vendor/gems/gems/rack-test-0.5.1/lib/rack/test/uploaded_file.rb create mode 100755 vendor/gems/gems/rack-test-0.5.1/lib/rack/test/utils.rb create mode 100755 vendor/gems/gems/rack-test-0.5.1/rack-test.gemspec create mode 100755 vendor/gems/gems/rack-test-0.5.1/spec/fixtures/config.ru create mode 100755 vendor/gems/gems/rack-test-0.5.1/spec/fixtures/fake_app.rb create mode 100755 vendor/gems/gems/rack-test-0.5.1/spec/fixtures/foo.txt create mode 100755 vendor/gems/gems/rack-test-0.5.1/spec/rack/test/cookie_spec.rb create mode 100755 vendor/gems/gems/rack-test-0.5.1/spec/rack/test/digest_auth_spec.rb create mode 100755 vendor/gems/gems/rack-test-0.5.1/spec/rack/test/multipart_spec.rb create mode 100755 vendor/gems/gems/rack-test-0.5.1/spec/rack/test/utils_spec.rb create mode 100755 vendor/gems/gems/rack-test-0.5.1/spec/rack/test_spec.rb create mode 100755 vendor/gems/gems/rack-test-0.5.1/spec/spec.opts create mode 100755 vendor/gems/gems/rack-test-0.5.1/spec/spec_helper.rb create mode 100755 vendor/gems/gems/rake-0.8.7/CHANGES create mode 100755 vendor/gems/gems/rake-0.8.7/MIT-LICENSE create mode 100755 vendor/gems/gems/rake-0.8.7/README create mode 100755 vendor/gems/gems/rake-0.8.7/Rakefile create mode 100755 vendor/gems/gems/rake-0.8.7/TODO create mode 100755 vendor/gems/gems/rake-0.8.7/bin/rake create mode 100755 vendor/gems/gems/rake-0.8.7/doc/command_line_usage.rdoc create mode 100755 vendor/gems/gems/rake-0.8.7/doc/example/Rakefile1 create mode 100755 vendor/gems/gems/rake-0.8.7/doc/example/Rakefile2 create mode 100755 vendor/gems/gems/rake-0.8.7/doc/example/a.c create mode 100755 vendor/gems/gems/rake-0.8.7/doc/example/b.c create mode 100755 vendor/gems/gems/rake-0.8.7/doc/example/main.c create mode 100755 vendor/gems/gems/rake-0.8.7/doc/glossary.rdoc create mode 100755 vendor/gems/gems/rake-0.8.7/doc/jamis.rb create mode 100755 vendor/gems/gems/rake-0.8.7/doc/proto_rake.rdoc create mode 100755 vendor/gems/gems/rake-0.8.7/doc/rake.1.gz create mode 100755 vendor/gems/gems/rake-0.8.7/doc/rakefile.rdoc create mode 100755 vendor/gems/gems/rake-0.8.7/doc/rational.rdoc create mode 100755 vendor/gems/gems/rake-0.8.7/doc/release_notes/rake-0.4.14.rdoc create mode 100755 vendor/gems/gems/rake-0.8.7/doc/release_notes/rake-0.4.15.rdoc create mode 100755 vendor/gems/gems/rake-0.8.7/doc/release_notes/rake-0.5.0.rdoc create mode 100755 vendor/gems/gems/rake-0.8.7/doc/release_notes/rake-0.5.3.rdoc create mode 100755 vendor/gems/gems/rake-0.8.7/doc/release_notes/rake-0.5.4.rdoc create mode 100755 vendor/gems/gems/rake-0.8.7/doc/release_notes/rake-0.6.0.rdoc create mode 100755 vendor/gems/gems/rake-0.8.7/doc/release_notes/rake-0.7.0.rdoc create mode 100755 vendor/gems/gems/rake-0.8.7/doc/release_notes/rake-0.7.1.rdoc create mode 100755 vendor/gems/gems/rake-0.8.7/doc/release_notes/rake-0.7.2.rdoc create mode 100755 vendor/gems/gems/rake-0.8.7/doc/release_notes/rake-0.7.3.rdoc create mode 100755 vendor/gems/gems/rake-0.8.7/doc/release_notes/rake-0.8.0.rdoc create mode 100755 vendor/gems/gems/rake-0.8.7/doc/release_notes/rake-0.8.2.rdoc create mode 100755 vendor/gems/gems/rake-0.8.7/doc/release_notes/rake-0.8.3.rdoc create mode 100755 vendor/gems/gems/rake-0.8.7/doc/release_notes/rake-0.8.4.rdoc create mode 100755 vendor/gems/gems/rake-0.8.7/doc/release_notes/rake-0.8.5.rdoc create mode 100755 vendor/gems/gems/rake-0.8.7/doc/release_notes/rake-0.8.6.rdoc create mode 100755 vendor/gems/gems/rake-0.8.7/doc/release_notes/rake-0.8.7.rdoc create mode 100755 vendor/gems/gems/rake-0.8.7/install.rb create mode 100755 vendor/gems/gems/rake-0.8.7/lib/rake.rb create mode 100755 vendor/gems/gems/rake-0.8.7/lib/rake/alt_system.rb create mode 100755 vendor/gems/gems/rake-0.8.7/lib/rake/classic_namespace.rb create mode 100755 vendor/gems/gems/rake-0.8.7/lib/rake/clean.rb create mode 100755 vendor/gems/gems/rake-0.8.7/lib/rake/contrib/compositepublisher.rb create mode 100755 vendor/gems/gems/rake-0.8.7/lib/rake/contrib/ftptools.rb create mode 100755 vendor/gems/gems/rake-0.8.7/lib/rake/contrib/publisher.rb create mode 100755 vendor/gems/gems/rake-0.8.7/lib/rake/contrib/rubyforgepublisher.rb create mode 100755 vendor/gems/gems/rake-0.8.7/lib/rake/contrib/sshpublisher.rb create mode 100755 vendor/gems/gems/rake-0.8.7/lib/rake/contrib/sys.rb create mode 100755 vendor/gems/gems/rake-0.8.7/lib/rake/gempackagetask.rb create mode 100755 vendor/gems/gems/rake-0.8.7/lib/rake/loaders/makefile.rb create mode 100755 vendor/gems/gems/rake-0.8.7/lib/rake/packagetask.rb create mode 100755 vendor/gems/gems/rake-0.8.7/lib/rake/rake_test_loader.rb create mode 100755 vendor/gems/gems/rake-0.8.7/lib/rake/rdoctask.rb create mode 100755 vendor/gems/gems/rake-0.8.7/lib/rake/ruby182_test_unit_fix.rb create mode 100755 vendor/gems/gems/rake-0.8.7/lib/rake/runtest.rb create mode 100755 vendor/gems/gems/rake-0.8.7/lib/rake/tasklib.rb create mode 100755 vendor/gems/gems/rake-0.8.7/lib/rake/testtask.rb create mode 100755 vendor/gems/gems/rake-0.8.7/lib/rake/win32.rb create mode 100755 vendor/gems/gems/rake-0.8.7/test/capture_stdout.rb create mode 100755 vendor/gems/gems/rake-0.8.7/test/check_expansion.rb create mode 100755 vendor/gems/gems/rake-0.8.7/test/check_no_expansion.rb create mode 100755 vendor/gems/gems/rake-0.8.7/test/contrib/test_sys.rb create mode 100755 vendor/gems/gems/rake-0.8.7/test/data/chains/Rakefile create mode 100755 vendor/gems/gems/rake-0.8.7/test/data/default/Rakefile create mode 100755 vendor/gems/gems/rake-0.8.7/test/data/dryrun/Rakefile create mode 100755 vendor/gems/gems/rake-0.8.7/test/data/file_creation_task/Rakefile create mode 100755 vendor/gems/gems/rake-0.8.7/test/data/imports/Rakefile create mode 100755 vendor/gems/gems/rake-0.8.7/test/data/imports/deps.mf create mode 100755 vendor/gems/gems/rake-0.8.7/test/data/multidesc/Rakefile create mode 100755 vendor/gems/gems/rake-0.8.7/test/data/namespace/Rakefile create mode 100755 vendor/gems/gems/rake-0.8.7/test/data/rakelib/test1.rb create mode 100755 vendor/gems/gems/rake-0.8.7/test/data/rbext/rakefile.rb create mode 100755 vendor/gems/gems/rake-0.8.7/test/data/sample.mf create mode 100755 vendor/gems/gems/rake-0.8.7/test/data/statusreturn/Rakefile create mode 100755 vendor/gems/gems/rake-0.8.7/test/data/unittest/Rakefile create mode 100755 vendor/gems/gems/rake-0.8.7/test/filecreation.rb create mode 100755 vendor/gems/gems/rake-0.8.7/test/functional.rb create mode 100755 vendor/gems/gems/rake-0.8.7/test/in_environment.rb create mode 100755 vendor/gems/gems/rake-0.8.7/test/rake_test_setup.rb create mode 100755 vendor/gems/gems/rake-0.8.7/test/reqfile.rb create mode 100755 vendor/gems/gems/rake-0.8.7/test/reqfile2.rb create mode 100755 vendor/gems/gems/rake-0.8.7/test/session_functional.rb create mode 100755 vendor/gems/gems/rake-0.8.7/test/shellcommand.rb create mode 100755 vendor/gems/gems/rake-0.8.7/test/test_application.rb create mode 100755 vendor/gems/gems/rake-0.8.7/test/test_clean.rb create mode 100755 vendor/gems/gems/rake-0.8.7/test/test_definitions.rb create mode 100755 vendor/gems/gems/rake-0.8.7/test/test_earlytime.rb create mode 100755 vendor/gems/gems/rake-0.8.7/test/test_extension.rb create mode 100755 vendor/gems/gems/rake-0.8.7/test/test_file_creation_task.rb create mode 100755 vendor/gems/gems/rake-0.8.7/test/test_file_task.rb create mode 100755 vendor/gems/gems/rake-0.8.7/test/test_filelist.rb create mode 100755 vendor/gems/gems/rake-0.8.7/test/test_fileutils.rb create mode 100755 vendor/gems/gems/rake-0.8.7/test/test_ftp.rb create mode 100755 vendor/gems/gems/rake-0.8.7/test/test_invocation_chain.rb create mode 100755 vendor/gems/gems/rake-0.8.7/test/test_makefile_loader.rb create mode 100755 vendor/gems/gems/rake-0.8.7/test/test_multitask.rb create mode 100755 vendor/gems/gems/rake-0.8.7/test/test_namespace.rb create mode 100755 vendor/gems/gems/rake-0.8.7/test/test_package_task.rb create mode 100755 vendor/gems/gems/rake-0.8.7/test/test_pathmap.rb create mode 100755 vendor/gems/gems/rake-0.8.7/test/test_pseudo_status.rb create mode 100755 vendor/gems/gems/rake-0.8.7/test/test_rake.rb create mode 100755 vendor/gems/gems/rake-0.8.7/test/test_rdoc_task.rb create mode 100755 vendor/gems/gems/rake-0.8.7/test/test_require.rb create mode 100755 vendor/gems/gems/rake-0.8.7/test/test_rules.rb create mode 100755 vendor/gems/gems/rake-0.8.7/test/test_task_arguments.rb create mode 100755 vendor/gems/gems/rake-0.8.7/test/test_task_manager.rb create mode 100755 vendor/gems/gems/rake-0.8.7/test/test_tasklib.rb create mode 100755 vendor/gems/gems/rake-0.8.7/test/test_tasks.rb create mode 100755 vendor/gems/gems/rake-0.8.7/test/test_test_task.rb create mode 100755 vendor/gems/gems/rake-0.8.7/test/test_top_level_functions.rb create mode 100755 vendor/gems/gems/rake-0.8.7/test/test_win32.rb create mode 100755 vendor/gems/gems/rdoc-2.4.3/.autotest create mode 100755 vendor/gems/gems/rdoc-2.4.3/.document create mode 100755 vendor/gems/gems/rdoc-2.4.3/History.txt create mode 100755 vendor/gems/gems/rdoc-2.4.3/Manifest.txt create mode 100755 vendor/gems/gems/rdoc-2.4.3/README.txt create mode 100755 vendor/gems/gems/rdoc-2.4.3/RI.txt create mode 100755 vendor/gems/gems/rdoc-2.4.3/Rakefile create mode 100755 vendor/gems/gems/rdoc-2.4.3/bin/ri create mode 100755 vendor/gems/gems/rdoc-2.4.3/lib/rdoc.rb create mode 100755 vendor/gems/gems/rdoc-2.4.3/test/binary.dat create mode 100755 vendor/gems/gems/rdoc-2.4.3/test/test.ja.rdoc create mode 100755 vendor/gems/gems/rdoc-2.4.3/test/test.ja.txt create mode 100755 vendor/gems/gems/rdoc-2.4.3/test/test_attribute_manager.rb create mode 100755 vendor/gems/gems/rdoc-2.4.3/test/test_rdoc_any_method.rb create mode 100755 vendor/gems/gems/rdoc-2.4.3/test/test_rdoc_code_object.rb create mode 100755 vendor/gems/gems/rdoc-2.4.3/test/test_rdoc_constant.rb create mode 100755 vendor/gems/gems/rdoc-2.4.3/test/test_rdoc_context.rb create mode 100755 vendor/gems/gems/rdoc-2.4.3/test/test_rdoc_include.rb create mode 100755 vendor/gems/gems/rdoc-2.4.3/test/test_rdoc_markup.rb create mode 100755 vendor/gems/gems/rdoc-2.4.3/test/test_rdoc_markup_attribute_manager.rb create mode 100755 vendor/gems/gems/rdoc-2.4.3/test/test_rdoc_markup_to_html.rb create mode 100755 vendor/gems/gems/rdoc-2.4.3/test/test_rdoc_markup_to_html_crossref.rb create mode 100755 vendor/gems/gems/rdoc-2.4.3/test/test_rdoc_normal_module.rb create mode 100755 vendor/gems/gems/rdoc-2.4.3/test/test_rdoc_parser.rb create mode 100755 vendor/gems/gems/rdoc-2.4.3/test/test_rdoc_parser_c.rb create mode 100755 vendor/gems/gems/rdoc-2.4.3/test/test_rdoc_parser_perl.rb create mode 100755 vendor/gems/gems/rdoc-2.4.3/test/test_rdoc_parser_ruby.rb create mode 100755 vendor/gems/gems/rdoc-2.4.3/test/test_rdoc_require.rb create mode 100755 vendor/gems/gems/rdoc-2.4.3/test/test_rdoc_ri_attribute_formatter.rb create mode 100755 vendor/gems/gems/rdoc-2.4.3/test/test_rdoc_ri_default_display.rb create mode 100755 vendor/gems/gems/rdoc-2.4.3/test/test_rdoc_ri_driver.rb create mode 100755 vendor/gems/gems/rdoc-2.4.3/test/test_rdoc_ri_formatter.rb create mode 100755 vendor/gems/gems/rdoc-2.4.3/test/test_rdoc_ri_html_formatter.rb create mode 100755 vendor/gems/gems/rdoc-2.4.3/test/test_rdoc_ri_overstrike_formatter.rb create mode 100755 vendor/gems/gems/rdoc-2.4.3/test/test_rdoc_task.rb create mode 100755 vendor/gems/gems/rdoc-2.4.3/test/test_rdoc_top_level.rb create mode 100755 vendor/gems/gems/rdoc-2.4.3/test/xref_data.rb create mode 100755 vendor/gems/gems/rdoc-2.4.3/test/xref_test_case.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/.document create mode 100755 vendor/gems/gems/rspec-1.2.9/History.rdoc create mode 100755 vendor/gems/gems/rspec-1.2.9/License.txt create mode 100755 vendor/gems/gems/rspec-1.2.9/Manifest.txt create mode 100755 vendor/gems/gems/rspec-1.2.9/README.rdoc create mode 100755 vendor/gems/gems/rspec-1.2.9/Rakefile create mode 100755 vendor/gems/gems/rspec-1.2.9/Ruby1.9.rdoc create mode 100755 vendor/gems/gems/rspec-1.2.9/TODO.txt create mode 100755 vendor/gems/gems/rspec-1.2.9/Upgrade.rdoc create mode 100755 vendor/gems/gems/rspec-1.2.9/bin/autospec create mode 100755 vendor/gems/gems/rspec-1.2.9/bin/spec create mode 100755 vendor/gems/gems/rspec-1.2.9/cucumber.yml create mode 100755 vendor/gems/gems/rspec-1.2.9/examples/failing/README.txt create mode 100755 vendor/gems/gems/rspec-1.2.9/examples/failing/diffing_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/examples/failing/failing_implicit_docstrings_example.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/examples/failing/failure_in_after.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/examples/failing/failure_in_before.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/examples/failing/mocking_example.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/examples/failing/mocking_with_flexmock.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/examples/failing/mocking_with_mocha.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/examples/failing/mocking_with_rr.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/examples/failing/partial_mock_example.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/examples/failing/pending_example.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/examples/failing/predicate_example.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/examples/failing/raising_example.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/examples/failing/syntax_error_example.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/examples/failing/team_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/examples/failing/timeout_behaviour.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/examples/passing/custom_formatter.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/examples/passing/custom_matchers.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/examples/passing/dynamic_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/examples/passing/file_accessor.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/examples/passing/file_accessor_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/examples/passing/filtered_formatter.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/examples/passing/filtered_formatter_example.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/examples/passing/greeter_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/examples/passing/helper_method_example.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/examples/passing/implicit_docstrings_example.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/examples/passing/io_processor.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/examples/passing/io_processor_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/examples/passing/mocking_example.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/examples/passing/multi_threaded_example_group_runner.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/examples/passing/nested_classes_example.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/examples/passing/options_example.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/examples/passing/options_formatter.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/examples/passing/partial_mock_example.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/examples/passing/pending_example.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/examples/passing/predicate_example.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/examples/passing/shared_example_group_example.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/examples/passing/shared_stack_examples.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/examples/passing/simple_matcher_example.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/examples/passing/stack.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/examples/passing/stack_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/examples/passing/stack_spec_with_nested_example_groups.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/examples/passing/stubbing_example.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/examples/passing/yielding_example.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/examples/ruby1.9.compatibility/access_to_constants_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/features/before_and_after_blocks/before_and_after_blocks.feature create mode 100755 vendor/gems/gems/rspec-1.2.9/features/command_line/line_number_option.feature create mode 100755 vendor/gems/gems/rspec-1.2.9/features/command_line/line_number_option_with_example_with_no_name.feature create mode 100755 vendor/gems/gems/rspec-1.2.9/features/example_groups/define_example_attribute.feature create mode 100755 vendor/gems/gems/rspec-1.2.9/features/example_groups/example_group_with_should_methods.feature create mode 100755 vendor/gems/gems/rspec-1.2.9/features/example_groups/implicit_docstrings.feature create mode 100755 vendor/gems/gems/rspec-1.2.9/features/example_groups/nested_groups.feature create mode 100755 vendor/gems/gems/rspec-1.2.9/features/expectations/customized_message.feature create mode 100755 vendor/gems/gems/rspec-1.2.9/features/expectations/expect_change.feature create mode 100755 vendor/gems/gems/rspec-1.2.9/features/expectations/expect_error.feature create mode 100755 vendor/gems/gems/rspec-1.2.9/features/extensions/custom_example_group.feature create mode 100755 vendor/gems/gems/rspec-1.2.9/features/formatters/custom_formatter.feature create mode 100755 vendor/gems/gems/rspec-1.2.9/features/interop/examples_and_tests_together.feature create mode 100755 vendor/gems/gems/rspec-1.2.9/features/interop/rspec_output.feature create mode 100755 vendor/gems/gems/rspec-1.2.9/features/interop/test_but_not_test_unit.feature create mode 100755 vendor/gems/gems/rspec-1.2.9/features/interop/test_case_with_should_methods.feature create mode 100755 vendor/gems/gems/rspec-1.2.9/features/load_paths/add_lib_to_load_path.feature create mode 100755 vendor/gems/gems/rspec-1.2.9/features/load_paths/add_spec_to_load_path.feature create mode 100755 vendor/gems/gems/rspec-1.2.9/features/matchers/define_diffable_matcher.feature create mode 100755 vendor/gems/gems/rspec-1.2.9/features/matchers/define_matcher.feature create mode 100755 vendor/gems/gems/rspec-1.2.9/features/matchers/define_matcher_outside_rspec.feature create mode 100755 vendor/gems/gems/rspec-1.2.9/features/matchers/define_matcher_with_fluent_interface.feature create mode 100755 vendor/gems/gems/rspec-1.2.9/features/matchers/define_wrapped_matcher.feature create mode 100755 vendor/gems/gems/rspec-1.2.9/features/mock_framework_integration/use_flexmock.feature create mode 100755 vendor/gems/gems/rspec-1.2.9/features/mock_framework_integration/use_mocha.feature create mode 100755 vendor/gems/gems/rspec-1.2.9/features/mock_framework_integration/use_rr.feature create mode 100755 vendor/gems/gems/rspec-1.2.9/features/mocks/mix_stubs_and_mocks.feature create mode 100755 vendor/gems/gems/rspec-1.2.9/features/mocks/stub_implementation.feature create mode 100755 vendor/gems/gems/rspec-1.2.9/features/pending/pending_examples.feature create mode 100755 vendor/gems/gems/rspec-1.2.9/features/runner/specify_line_number.feature create mode 100755 vendor/gems/gems/rspec-1.2.9/features/spec_helper/spec_helper.feature create mode 100755 vendor/gems/gems/rspec-1.2.9/features/step_definitions/running_rspec_steps.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/features/subject/explicit_subject.feature create mode 100755 vendor/gems/gems/rspec-1.2.9/features/subject/implicit_subject.feature create mode 100755 vendor/gems/gems/rspec-1.2.9/features/support/env.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/features/support/matchers/smart_match.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/init.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/autotest/discover.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/autotest/rspec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/adapters/mock_frameworks/flexmock.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/adapters/mock_frameworks/mocha.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/adapters/mock_frameworks/rr.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/adapters/mock_frameworks/rspec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/autorun.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/deprecation.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/dsl.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/dsl/main.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/example.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/example/args_and_options.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/example/before_and_after_hooks.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/example/errors.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/example/example_group.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/example/example_group_factory.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/example/example_group_hierarchy.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/example/example_group_methods.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/example/example_group_proxy.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/example/example_matcher.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/example/example_methods.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/example/example_proxy.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/example/module_reopening_fix.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/example/pending.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/example/predicate_matchers.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/example/shared_example_group.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/example/subject.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/expectations.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/expectations/errors.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/expectations/extensions.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/expectations/extensions/kernel.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/expectations/fail_with.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/expectations/handler.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/interop/test.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/interop/test/unit/autorunner.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/interop/test/unit/testcase.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/interop/test/unit/testresult.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/interop/test/unit/testsuite_adapter.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/interop/test/unit/ui/console/testrunner.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/matchers.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/be.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/be_close.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/be_instance_of.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/be_kind_of.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/change.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/compatibility.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/dsl.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/eql.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/equal.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/errors.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/exist.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/extensions/instance_exec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/generated_descriptions.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/has.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/have.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/include.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/match.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/match_array.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/matcher.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/method_missing.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/operator_matcher.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/pretty.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/raise_error.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/respond_to.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/satisfy.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/simple_matcher.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/throw_symbol.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/wrap_expectation.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/mocks.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/mocks/argument_expectation.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/mocks/argument_matchers.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/mocks/error_generator.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/mocks/errors.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/mocks/example_methods.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/mocks/extensions.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/mocks/extensions/object.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/mocks/framework.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/mocks/message_expectation.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/mocks/methods.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/mocks/mock.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/mocks/order_group.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/mocks/proxy.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/mocks/space.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/rake/spectask.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/rake/verify_rcov.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/ruby.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/runner.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/runner/backtrace_tweaker.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/runner/class_and_arguments_parser.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/runner/command_line.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/runner/configuration.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/runner/differs/default.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/runner/differs/load-diff-lcs.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/runner/drb_command_line.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/runner/example_group_runner.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/runner/extensions/kernel.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/runner/formatter/base_formatter.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/runner/formatter/base_text_formatter.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/runner/formatter/failing_example_groups_formatter.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/runner/formatter/failing_examples_formatter.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/runner/formatter/html_formatter.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/runner/formatter/nested_text_formatter.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/runner/formatter/no_op_method_missing.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/runner/formatter/profile_formatter.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/runner/formatter/progress_bar_formatter.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/runner/formatter/silent_formatter.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/runner/formatter/snippet_extractor.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/runner/formatter/specdoc_formatter.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/runner/formatter/text_mate_formatter.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/runner/heckle_runner.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/runner/heckle_runner_unsupported.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/runner/line_number_query.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/runner/option_parser.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/runner/options.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/runner/reporter.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/stubs/cucumber.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/test/unit.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/lib/spec/version.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/resources/helpers/cmdline.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/resources/rake/examples.rake create mode 100755 vendor/gems/gems/rspec-1.2.9/resources/rake/examples_with_rcov.rake create mode 100755 vendor/gems/gems/rspec-1.2.9/resources/rake/failing_examples_with_html.rake create mode 100755 vendor/gems/gems/rspec-1.2.9/resources/rake/verify_rcov.rake create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/README.jruby create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/autotest/autotest_helper.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/autotest/autotest_matchers.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/autotest/discover_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/autotest/failed_results_re_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/autotest/rspec_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/ruby_forker.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec.opts create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/dsl/main_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/example/example_group_class_definition_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/example/example_group_factory_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/example/example_group_methods_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/example/example_group_proxy_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/example/example_group_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/example/example_matcher_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/example/example_methods_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/example/example_proxy_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/example/helper_method_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/example/nested_example_group_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/example/pending_module_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/example/predicate_matcher_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/example/shared_example_group_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/example/subclassing_example_group_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/example/subject_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/expectations/differs/default_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/expectations/extensions/kernel_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/expectations/fail_with_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/expectations/handler_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/expectations/wrap_expectation_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/interop/test/unit/resources/spec_that_fails.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/interop/test/unit/resources/spec_that_passes.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/interop/test/unit/resources/spec_with_errors.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/interop/test/unit/resources/spec_with_options_hash.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/interop/test/unit/resources/test_case_that_fails.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/interop/test/unit/resources/test_case_that_passes.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/interop/test/unit/resources/test_case_with_errors.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/interop/test/unit/resources/test_case_with_various_names.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/interop/test/unit/resources/testsuite_adapter_spec_with_test_unit.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/interop/test/unit/spec_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/interop/test/unit/test_unit_spec_helper.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/interop/test/unit/testcase_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/interop/test/unit/testsuite_adapter_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/be_close_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/be_instance_of_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/be_kind_of_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/be_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/change_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/compatibility_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/description_generation_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/dsl_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/eql_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/equal_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/exist_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/has_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/have_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/include_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/match_array_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/match_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/matcher_methods_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/matcher_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/matchers_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/operator_matcher_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/raise_error_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/respond_to_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/satisfy_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/simple_matcher_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/throw_symbol_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/any_number_of_times_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/argument_expectation_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/argument_matchers_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/at_least_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/at_most_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/bug_report_10260_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/bug_report_10263_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/bug_report_11545_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/bug_report_15719_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/bug_report_496_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/bug_report_600_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/bug_report_7611_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/bug_report_7805_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/bug_report_8165_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/bug_report_8302_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/bug_report_830_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/double_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/failing_argument_matchers_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/hash_including_matcher_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/hash_not_including_matcher_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/mock_ordering_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/mock_space_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/mock_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/multiple_return_value_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/nil_expectation_warning_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/null_object_mock_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/once_counts_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/options_hash_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/partial_mock_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/partial_mock_using_mocks_directly_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/passing_argument_matchers_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/precise_counts_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/record_messages_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/stub_chain_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/stub_implementation_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/stub_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/stubbed_message_expectations_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/twice_counts_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/unstub_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/package/bin_spec_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/rake/spectask_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/runner/class_and_argument_parser_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/runner/command_line_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/runner/configuration_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/runner/drb_command_line_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/runner/empty_file.txt create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/runner/example_group_runner_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/runner/examples.txt create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/runner/failed.txt create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/base_formatter_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/base_text_formatter_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/failing_example_groups_formatter_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/failing_examples_formatter_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/html_formatted-1.8.6-jruby.html create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/html_formatted-1.8.6.html create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/html_formatted-1.8.7.html create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/html_formatted-1.9.1.html create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/html_formatter_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/nested_text_formatter_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/profile_formatter_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/progress_bar_formatter_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/snippet_extractor_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/specdoc_formatter_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/text_mate_formatted-1.8.6-jruby.html create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/text_mate_formatted-1.8.6.html create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/text_mate_formatted-1.8.7.html create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/text_mate_formatted-1.9.1.html create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/text_mate_formatter_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/runner/heckle_runner_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/runner/heckler_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/runner/line_number_query/line_number_query_fixture.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/runner/line_number_query_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/runner/noisy_backtrace_tweaker_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/runner/option_parser_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/runner/options_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/runner/output_one_time_fixture.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/runner/output_one_time_fixture_runner.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/runner/output_one_time_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/runner/quiet_backtrace_tweaker_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/runner/reporter_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/runner/resources/a_bar.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/runner/resources/a_foo.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/runner/resources/a_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/runner/resources/custom_example_group_runner.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/runner/resources/utf8_encoded.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/runner/spec.opts create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/runner/spec_drb.opts create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/runner/spec_spaced.opts create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec/runner_spec.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/spec_helper.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/support/macros.rb create mode 100755 vendor/gems/gems/rspec-1.2.9/spec/support/spec_classes.rb create mode 100755 vendor/gems/gems/sdoc-0.2.14.1/.gitignore create mode 100755 vendor/gems/gems/sdoc-0.2.14.1/LICENSE create mode 100755 vendor/gems/gems/sdoc-0.2.14.1/README.rdoc create mode 100755 vendor/gems/gems/sdoc-0.2.14.1/Rakefile create mode 100755 vendor/gems/gems/sdoc-0.2.14.1/VERSION.yml create mode 100755 vendor/gems/gems/sdoc-0.2.14.1/bin/sdoc create mode 100755 vendor/gems/gems/sdoc-0.2.14.1/bin/sdoc-merge create mode 100755 vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc.rb create mode 100755 vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/c_parser_fix.rb create mode 100755 vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/shtml.rb create mode 100755 vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/direct/_context.rhtml create mode 100755 vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/direct/class.rhtml create mode 100755 vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/direct/file.rhtml create mode 100755 vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/direct/index.rhtml create mode 100755 vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/direct/resources/apple-touch-icon.png create mode 100755 vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/direct/resources/css/main.css create mode 100755 vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/direct/resources/css/panel.css create mode 100755 vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/direct/resources/css/reset.css create mode 100755 vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/direct/resources/favicon.ico create mode 100755 vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/direct/resources/i/arrows.png create mode 100755 vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/direct/resources/i/results_bg.png create mode 100755 vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/direct/resources/i/tree_bg.png create mode 100755 vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/direct/resources/js/jquery-1.3.2.min.js create mode 100755 vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/direct/resources/js/jquery-effect.js create mode 100755 vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/direct/resources/js/main.js create mode 100755 vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/direct/resources/js/searchdoc.js create mode 100755 vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/direct/resources/panel/index.html create mode 100755 vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/merge/index.rhtml create mode 100755 vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/shtml/_context.rhtml create mode 100755 vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/shtml/class.rhtml create mode 100755 vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/shtml/file.rhtml create mode 100755 vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/shtml/index.rhtml create mode 100755 vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/shtml/resources/apple-touch-icon.png create mode 100755 vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/shtml/resources/css/main.css create mode 100755 vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/shtml/resources/css/panel.css create mode 100755 vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/shtml/resources/css/reset.css create mode 100755 vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/shtml/resources/favicon.ico create mode 100755 vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/shtml/resources/i/arrows.png create mode 100755 vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/shtml/resources/i/results_bg.png create mode 100755 vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/shtml/resources/i/tree_bg.png create mode 100755 vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/shtml/resources/js/jquery-1.3.2.min.js create mode 100755 vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/shtml/resources/js/main.js create mode 100755 vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/shtml/resources/js/searchdoc.js create mode 100755 vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/shtml/resources/panel/index.html create mode 100755 vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/github.rb create mode 100755 vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/helpers.rb create mode 100755 vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/merge.rb create mode 100755 vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/templatable.rb create mode 100755 vendor/gems/gems/sdoc-0.2.14.1/sdoc.gemspec create mode 100755 vendor/gems/gems/shotgun-0.4/COPYING create mode 100755 vendor/gems/gems/shotgun-0.4/README create mode 100755 vendor/gems/gems/shotgun-0.4/Rakefile create mode 100755 vendor/gems/gems/shotgun-0.4/bin/shotgun create mode 100755 vendor/gems/gems/shotgun-0.4/lib/shotgun.rb create mode 100755 vendor/gems/gems/shotgun-0.4/shotgun.gemspec create mode 100755 vendor/gems/gems/sinatra-0.9.4/AUTHORS create mode 100755 vendor/gems/gems/sinatra-0.9.4/CHANGES create mode 100755 vendor/gems/gems/sinatra-0.9.4/LICENSE create mode 100755 vendor/gems/gems/sinatra-0.9.4/README.rdoc create mode 100755 vendor/gems/gems/sinatra-0.9.4/Rakefile create mode 100755 vendor/gems/gems/sinatra-0.9.4/compat/app_test.rb create mode 100755 vendor/gems/gems/sinatra-0.9.4/compat/application_test.rb create mode 100755 vendor/gems/gems/sinatra-0.9.4/compat/builder_test.rb create mode 100755 vendor/gems/gems/sinatra-0.9.4/compat/compat_test.rb create mode 100755 vendor/gems/gems/sinatra-0.9.4/compat/custom_error_test.rb create mode 100755 vendor/gems/gems/sinatra-0.9.4/compat/erb_test.rb create mode 100755 vendor/gems/gems/sinatra-0.9.4/compat/events_test.rb create mode 100755 vendor/gems/gems/sinatra-0.9.4/compat/filter_test.rb create mode 100755 vendor/gems/gems/sinatra-0.9.4/compat/haml_test.rb create mode 100755 vendor/gems/gems/sinatra-0.9.4/compat/helper.rb create mode 100755 vendor/gems/gems/sinatra-0.9.4/compat/mapped_error_test.rb create mode 100755 vendor/gems/gems/sinatra-0.9.4/compat/pipeline_test.rb create mode 100755 vendor/gems/gems/sinatra-0.9.4/compat/public/foo.xml create mode 100755 vendor/gems/gems/sinatra-0.9.4/compat/sass_test.rb create mode 100755 vendor/gems/gems/sinatra-0.9.4/compat/sessions_test.rb create mode 100755 vendor/gems/gems/sinatra-0.9.4/compat/streaming_test.rb create mode 100755 vendor/gems/gems/sinatra-0.9.4/compat/sym_params_test.rb create mode 100755 vendor/gems/gems/sinatra-0.9.4/compat/template_test.rb create mode 100755 vendor/gems/gems/sinatra-0.9.4/compat/use_in_file_templates_test.rb create mode 100755 vendor/gems/gems/sinatra-0.9.4/compat/views/foo.builder create mode 100755 vendor/gems/gems/sinatra-0.9.4/compat/views/foo.erb create mode 100755 vendor/gems/gems/sinatra-0.9.4/compat/views/foo.haml create mode 100755 vendor/gems/gems/sinatra-0.9.4/compat/views/foo.sass create mode 100755 vendor/gems/gems/sinatra-0.9.4/compat/views/foo_layout.erb create mode 100755 vendor/gems/gems/sinatra-0.9.4/compat/views/foo_layout.haml create mode 100755 vendor/gems/gems/sinatra-0.9.4/compat/views/layout_test/foo.builder create mode 100755 vendor/gems/gems/sinatra-0.9.4/compat/views/layout_test/foo.erb create mode 100755 vendor/gems/gems/sinatra-0.9.4/compat/views/layout_test/foo.haml create mode 100755 vendor/gems/gems/sinatra-0.9.4/compat/views/layout_test/foo.sass create mode 100755 vendor/gems/gems/sinatra-0.9.4/compat/views/layout_test/layout.builder create mode 100755 vendor/gems/gems/sinatra-0.9.4/compat/views/layout_test/layout.erb create mode 100755 vendor/gems/gems/sinatra-0.9.4/compat/views/layout_test/layout.haml create mode 100755 vendor/gems/gems/sinatra-0.9.4/compat/views/layout_test/layout.sass create mode 100755 vendor/gems/gems/sinatra-0.9.4/compat/views/no_layout/no_layout.builder create mode 100755 vendor/gems/gems/sinatra-0.9.4/compat/views/no_layout/no_layout.haml create mode 100755 vendor/gems/gems/sinatra-0.9.4/lib/sinatra.rb create mode 100755 vendor/gems/gems/sinatra-0.9.4/lib/sinatra/base.rb create mode 100755 vendor/gems/gems/sinatra-0.9.4/lib/sinatra/compat.rb create mode 100755 vendor/gems/gems/sinatra-0.9.4/lib/sinatra/images/404.png create mode 100755 vendor/gems/gems/sinatra-0.9.4/lib/sinatra/images/500.png create mode 100755 vendor/gems/gems/sinatra-0.9.4/lib/sinatra/main.rb create mode 100755 vendor/gems/gems/sinatra-0.9.4/lib/sinatra/showexceptions.rb create mode 100755 vendor/gems/gems/sinatra-0.9.4/lib/sinatra/test.rb create mode 100755 vendor/gems/gems/sinatra-0.9.4/lib/sinatra/test/bacon.rb create mode 100755 vendor/gems/gems/sinatra-0.9.4/lib/sinatra/test/rspec.rb create mode 100755 vendor/gems/gems/sinatra-0.9.4/lib/sinatra/test/spec.rb create mode 100755 vendor/gems/gems/sinatra-0.9.4/lib/sinatra/test/unit.rb create mode 100755 vendor/gems/gems/sinatra-0.9.4/sinatra.gemspec create mode 100755 vendor/gems/gems/sinatra-0.9.4/test/base_test.rb create mode 100755 vendor/gems/gems/sinatra-0.9.4/test/builder_test.rb create mode 100755 vendor/gems/gems/sinatra-0.9.4/test/contest.rb create mode 100755 vendor/gems/gems/sinatra-0.9.4/test/data/reload_app_file.rb create mode 100755 vendor/gems/gems/sinatra-0.9.4/test/erb_test.rb create mode 100755 vendor/gems/gems/sinatra-0.9.4/test/extensions_test.rb create mode 100755 vendor/gems/gems/sinatra-0.9.4/test/filter_test.rb create mode 100755 vendor/gems/gems/sinatra-0.9.4/test/haml_test.rb create mode 100755 vendor/gems/gems/sinatra-0.9.4/test/helper.rb create mode 100755 vendor/gems/gems/sinatra-0.9.4/test/helpers_test.rb create mode 100755 vendor/gems/gems/sinatra-0.9.4/test/mapped_error_test.rb create mode 100755 vendor/gems/gems/sinatra-0.9.4/test/middleware_test.rb create mode 100755 vendor/gems/gems/sinatra-0.9.4/test/options_test.rb create mode 100755 vendor/gems/gems/sinatra-0.9.4/test/render_backtrace_test.rb create mode 100755 vendor/gems/gems/sinatra-0.9.4/test/request_test.rb create mode 100755 vendor/gems/gems/sinatra-0.9.4/test/response_test.rb create mode 100755 vendor/gems/gems/sinatra-0.9.4/test/result_test.rb create mode 100755 vendor/gems/gems/sinatra-0.9.4/test/route_added_hook_test.rb create mode 100755 vendor/gems/gems/sinatra-0.9.4/test/routing_test.rb create mode 100755 vendor/gems/gems/sinatra-0.9.4/test/sass_test.rb create mode 100755 vendor/gems/gems/sinatra-0.9.4/test/server_test.rb create mode 100755 vendor/gems/gems/sinatra-0.9.4/test/sinatra_test.rb create mode 100755 vendor/gems/gems/sinatra-0.9.4/test/static_test.rb create mode 100755 vendor/gems/gems/sinatra-0.9.4/test/templates_test.rb create mode 100755 vendor/gems/gems/sinatra-0.9.4/test/test_test.rb create mode 100755 vendor/gems/gems/sinatra-0.9.4/test/views/error.builder create mode 100755 vendor/gems/gems/sinatra-0.9.4/test/views/error.erb create mode 100755 vendor/gems/gems/sinatra-0.9.4/test/views/error.haml create mode 100755 vendor/gems/gems/sinatra-0.9.4/test/views/error.sass create mode 100755 vendor/gems/gems/sinatra-0.9.4/test/views/foo/hello.test create mode 100755 vendor/gems/gems/sinatra-0.9.4/test/views/hello.builder create mode 100755 vendor/gems/gems/sinatra-0.9.4/test/views/hello.erb create mode 100755 vendor/gems/gems/sinatra-0.9.4/test/views/hello.haml create mode 100755 vendor/gems/gems/sinatra-0.9.4/test/views/hello.sass create mode 100755 vendor/gems/gems/sinatra-0.9.4/test/views/hello.test create mode 100755 vendor/gems/gems/sinatra-0.9.4/test/views/layout2.builder create mode 100755 vendor/gems/gems/sinatra-0.9.4/test/views/layout2.erb create mode 100755 vendor/gems/gems/sinatra-0.9.4/test/views/layout2.haml create mode 100755 vendor/gems/gems/sinatra-0.9.4/test/views/layout2.test create mode 100755 vendor/gems/gems/sinatra-content-for-0.2/.gitignore create mode 100755 vendor/gems/gems/sinatra-content-for-0.2/LICENSE create mode 100755 vendor/gems/gems/sinatra-content-for-0.2/README.rdoc create mode 100755 vendor/gems/gems/sinatra-content-for-0.2/lib/sinatra/content_for.rb create mode 100755 vendor/gems/gems/sinatra-content-for-0.2/sinatra-content-for.gemspec create mode 100755 vendor/gems/gems/sinatra-content-for-0.2/test/content_for_test.rb create mode 100755 vendor/gems/gems/sprockets-1.0.2/Rakefile create mode 100755 vendor/gems/gems/sprockets-1.0.2/bin/sprocketize create mode 100755 vendor/gems/gems/sprockets-1.0.2/ext/nph-sprockets.cgi create mode 100755 vendor/gems/gems/sprockets-1.0.2/lib/sprockets.rb create mode 100755 vendor/gems/gems/sprockets-1.0.2/lib/sprockets/concatenation.rb create mode 100755 vendor/gems/gems/sprockets-1.0.2/lib/sprockets/environment.rb create mode 100755 vendor/gems/gems/sprockets-1.0.2/lib/sprockets/error.rb create mode 100755 vendor/gems/gems/sprockets-1.0.2/lib/sprockets/pathname.rb create mode 100755 vendor/gems/gems/sprockets-1.0.2/lib/sprockets/preprocessor.rb create mode 100755 vendor/gems/gems/sprockets-1.0.2/lib/sprockets/secretary.rb create mode 100755 vendor/gems/gems/sprockets-1.0.2/lib/sprockets/source_file.rb create mode 100755 vendor/gems/gems/sprockets-1.0.2/lib/sprockets/source_line.rb create mode 100755 vendor/gems/gems/sprockets-1.0.2/lib/sprockets/version.rb create mode 100755 vendor/gems/gems/sprockets-1.0.2/test/fixtures/assets/images/script_with_assets/one.png create mode 100755 vendor/gems/gems/sprockets-1.0.2/test/fixtures/assets/images/script_with_assets/two.png create mode 100755 vendor/gems/gems/sprockets-1.0.2/test/fixtures/assets/stylesheets/script_with_assets.css create mode 100755 vendor/gems/gems/sprockets-1.0.2/test/fixtures/constants.yml create mode 100755 vendor/gems/gems/sprockets-1.0.2/test/fixtures/double_slash_comments_that_are_not_requires_should_be_ignored_when_strip_comments_is_false.js create mode 100755 vendor/gems/gems/sprockets-1.0.2/test/fixtures/double_slash_comments_that_are_not_requires_should_be_removed_by_default.js create mode 100755 vendor/gems/gems/sprockets-1.0.2/test/fixtures/multiline_comments_should_be_removed_by_default.js create mode 100755 vendor/gems/gems/sprockets-1.0.2/test/fixtures/requiring_a_file_after_it_has_already_been_required_should_do_nothing.js create mode 100755 vendor/gems/gems/sprockets-1.0.2/test/fixtures/requiring_a_file_that_does_not_exist_should_raise_an_error.js create mode 100755 vendor/gems/gems/sprockets-1.0.2/test/fixtures/requiring_a_single_file_should_replace_the_require_comment_with_the_file_contents.js create mode 100755 vendor/gems/gems/sprockets-1.0.2/test/fixtures/requiring_the_current_file_should_do_nothing.js create mode 100755 vendor/gems/gems/sprockets-1.0.2/test/fixtures/src/constants.yml create mode 100755 vendor/gems/gems/sprockets-1.0.2/test/fixtures/src/foo.js create mode 100755 vendor/gems/gems/sprockets-1.0.2/test/fixtures/src/foo/bar.js create mode 100755 vendor/gems/gems/sprockets-1.0.2/test/fixtures/src/foo/foo.js create mode 100755 vendor/gems/gems/sprockets-1.0.2/test/fixtures/src/script_with_assets.js create mode 100755 vendor/gems/gems/sprockets-1.0.2/test/test_concatenation.rb create mode 100755 vendor/gems/gems/sprockets-1.0.2/test/test_environment.rb create mode 100755 vendor/gems/gems/sprockets-1.0.2/test/test_helper.rb create mode 100755 vendor/gems/gems/sprockets-1.0.2/test/test_pathname.rb create mode 100755 vendor/gems/gems/sprockets-1.0.2/test/test_preprocessor.rb create mode 100755 vendor/gems/gems/sprockets-1.0.2/test/test_secretary.rb create mode 100755 vendor/gems/gems/sprockets-1.0.2/test/test_source_file.rb create mode 100755 vendor/gems/gems/sprockets-1.0.2/test/test_source_line.rb create mode 100755 vendor/gems/gems/templater-1.0.0/History.txt create mode 100755 vendor/gems/gems/templater-1.0.0/Manifest.txt create mode 100755 vendor/gems/gems/templater-1.0.0/README.rdoc create mode 100755 vendor/gems/gems/templater-1.0.0/Rakefile create mode 100755 vendor/gems/gems/templater-1.0.0/lib/templater.rb create mode 100755 vendor/gems/gems/templater-1.0.0/lib/templater/actions/action.rb create mode 100755 vendor/gems/gems/templater-1.0.0/lib/templater/actions/directory.rb create mode 100755 vendor/gems/gems/templater-1.0.0/lib/templater/actions/empty_directory.rb create mode 100755 vendor/gems/gems/templater-1.0.0/lib/templater/actions/file.rb create mode 100755 vendor/gems/gems/templater-1.0.0/lib/templater/actions/template.rb create mode 100755 vendor/gems/gems/templater-1.0.0/lib/templater/capture_helpers.rb create mode 100755 vendor/gems/gems/templater-1.0.0/lib/templater/cli/generator.rb create mode 100755 vendor/gems/gems/templater-1.0.0/lib/templater/cli/manifold.rb create mode 100755 vendor/gems/gems/templater-1.0.0/lib/templater/cli/parser.rb create mode 100755 vendor/gems/gems/templater-1.0.0/lib/templater/core_ext/kernel.rb create mode 100755 vendor/gems/gems/templater-1.0.0/lib/templater/core_ext/string.rb create mode 100755 vendor/gems/gems/templater-1.0.0/lib/templater/description.rb create mode 100755 vendor/gems/gems/templater-1.0.0/lib/templater/discovery.rb create mode 100755 vendor/gems/gems/templater-1.0.0/lib/templater/generator.rb create mode 100755 vendor/gems/gems/templater-1.0.0/lib/templater/manifold.rb create mode 100755 vendor/gems/gems/templater-1.0.0/lib/templater/spec/helpers.rb create mode 100755 vendor/gems/gems/templater-1.0.0/script/console create mode 100755 vendor/gems/gems/templater-1.0.0/script/destroy create mode 100755 vendor/gems/gems/templater-1.0.0/script/generate create mode 100755 vendor/gems/gems/templater-1.0.0/spec/actions/directory_spec.rb create mode 100755 vendor/gems/gems/templater-1.0.0/spec/actions/empty_directory_spec.rb create mode 100755 vendor/gems/gems/templater-1.0.0/spec/actions/file_spec.rb create mode 100755 vendor/gems/gems/templater-1.0.0/spec/actions/template_spec.rb create mode 100755 vendor/gems/gems/templater-1.0.0/spec/core_ext/string_spec.rb create mode 100755 vendor/gems/gems/templater-1.0.0/spec/generator/actions_spec.rb create mode 100755 vendor/gems/gems/templater-1.0.0/spec/generator/arguments_spec.rb create mode 100755 vendor/gems/gems/templater-1.0.0/spec/generator/desc_spec.rb create mode 100755 vendor/gems/gems/templater-1.0.0/spec/generator/destination_root_spec.rb create mode 100755 vendor/gems/gems/templater-1.0.0/spec/generator/empty_directories_spec.rb create mode 100755 vendor/gems/gems/templater-1.0.0/spec/generator/files_spec.rb create mode 100755 vendor/gems/gems/templater-1.0.0/spec/generator/generators_spec.rb create mode 100755 vendor/gems/gems/templater-1.0.0/spec/generator/glob_spec.rb create mode 100755 vendor/gems/gems/templater-1.0.0/spec/generator/invocations_spec.rb create mode 100755 vendor/gems/gems/templater-1.0.0/spec/generator/invoke_spec.rb create mode 100755 vendor/gems/gems/templater-1.0.0/spec/generator/options_spec.rb create mode 100755 vendor/gems/gems/templater-1.0.0/spec/generator/render_spec.rb create mode 100755 vendor/gems/gems/templater-1.0.0/spec/generator/source_root_spec.rb create mode 100755 vendor/gems/gems/templater-1.0.0/spec/generator/templates_spec.rb create mode 100755 vendor/gems/gems/templater-1.0.0/spec/manifold_spec.rb create mode 100755 vendor/gems/gems/templater-1.0.0/spec/options_parser_spec.rb create mode 100755 vendor/gems/gems/templater-1.0.0/spec/results/erb.rbs create mode 100755 vendor/gems/gems/templater-1.0.0/spec/results/file.rbs create mode 100755 vendor/gems/gems/templater-1.0.0/spec/results/random.rbs create mode 100755 vendor/gems/gems/templater-1.0.0/spec/results/simple_erb.rbs create mode 100755 vendor/gems/gems/templater-1.0.0/spec/spec_helper.rb create mode 100755 vendor/gems/gems/templater-1.0.0/spec/spec_helpers_spec.rb create mode 100755 vendor/gems/gems/templater-1.0.0/spec/templater_spec.rb create mode 100755 vendor/gems/gems/templater-1.0.0/spec/templates/erb.rbt create mode 100755 vendor/gems/gems/templater-1.0.0/spec/templates/glob/README create mode 100755 vendor/gems/gems/templater-1.0.0/spec/templates/glob/arg.js create mode 100755 vendor/gems/gems/templater-1.0.0/spec/templates/glob/hellothar.%feh% create mode 100755 vendor/gems/gems/templater-1.0.0/spec/templates/glob/hellothar.html.%feh% create mode 100755 vendor/gems/gems/templater-1.0.0/spec/templates/glob/subfolder/jessica_alba.jpg create mode 100755 vendor/gems/gems/templater-1.0.0/spec/templates/glob/subfolder/monkey.rb create mode 100755 vendor/gems/gems/templater-1.0.0/spec/templates/glob/test.rb create mode 100755 vendor/gems/gems/templater-1.0.0/spec/templates/literals_erb.rbt create mode 100755 vendor/gems/gems/templater-1.0.0/spec/templates/simple.rbt create mode 100755 vendor/gems/gems/templater-1.0.0/spec/templates/simple_erb.rbt create mode 100755 vendor/gems/gems/templater-1.0.0/templater.gemspec create mode 100755 vendor/gems/gems/term-ansicolor-1.0.4/CHANGES create mode 100755 vendor/gems/gems/term-ansicolor-1.0.4/COPYING create mode 100755 vendor/gems/gems/term-ansicolor-1.0.4/README create mode 100755 vendor/gems/gems/term-ansicolor-1.0.4/Rakefile create mode 100755 vendor/gems/gems/term-ansicolor-1.0.4/VERSION create mode 100755 vendor/gems/gems/term-ansicolor-1.0.4/doc-main.txt create mode 100755 vendor/gems/gems/term-ansicolor-1.0.4/examples/cdiff.rb create mode 100755 vendor/gems/gems/term-ansicolor-1.0.4/examples/example.rb create mode 100755 vendor/gems/gems/term-ansicolor-1.0.4/install.rb create mode 100755 vendor/gems/gems/term-ansicolor-1.0.4/lib/term/ansicolor.rb create mode 100755 vendor/gems/gems/term-ansicolor-1.0.4/lib/term/ansicolor/version.rb create mode 100755 vendor/gems/gems/term-ansicolor-1.0.4/term-ansicolor.gemspec create mode 100755 vendor/gems/gems/thin-1.2.5/CHANGELOG create mode 100755 vendor/gems/gems/thin-1.2.5/COPYING create mode 100755 vendor/gems/gems/thin-1.2.5/README create mode 100755 vendor/gems/gems/thin-1.2.5/Rakefile create mode 100755 vendor/gems/gems/thin-1.2.5/benchmark/abc create mode 100755 vendor/gems/gems/thin-1.2.5/benchmark/benchmarker.rb create mode 100755 vendor/gems/gems/thin-1.2.5/benchmark/runner create mode 100755 vendor/gems/gems/thin-1.2.5/bin/thin create mode 100755 vendor/gems/gems/thin-1.2.5/example/adapter.rb create mode 100755 vendor/gems/gems/thin-1.2.5/example/async_app.ru create mode 100755 vendor/gems/gems/thin-1.2.5/example/async_chat.ru create mode 100755 vendor/gems/gems/thin-1.2.5/example/async_tailer.ru create mode 100755 vendor/gems/gems/thin-1.2.5/example/config.ru create mode 100755 vendor/gems/gems/thin-1.2.5/example/monit_sockets create mode 100755 vendor/gems/gems/thin-1.2.5/example/monit_unixsock create mode 100755 vendor/gems/gems/thin-1.2.5/example/myapp.rb create mode 100755 vendor/gems/gems/thin-1.2.5/example/ramaze.ru create mode 100755 vendor/gems/gems/thin-1.2.5/example/thin.god create mode 100755 vendor/gems/gems/thin-1.2.5/example/thin_solaris_smf.erb create mode 100755 vendor/gems/gems/thin-1.2.5/example/thin_solaris_smf.readme.txt create mode 100755 vendor/gems/gems/thin-1.2.5/example/vlad.rake create mode 100755 vendor/gems/gems/thin-1.2.5/ext/thin_parser/Makefile create mode 100755 vendor/gems/gems/thin-1.2.5/ext/thin_parser/common.rl create mode 100755 vendor/gems/gems/thin-1.2.5/ext/thin_parser/ext_help.h create mode 100755 vendor/gems/gems/thin-1.2.5/ext/thin_parser/extconf.rb create mode 100755 vendor/gems/gems/thin-1.2.5/ext/thin_parser/mkmf.log create mode 100755 vendor/gems/gems/thin-1.2.5/ext/thin_parser/parser.c create mode 100755 vendor/gems/gems/thin-1.2.5/ext/thin_parser/parser.h create mode 100755 vendor/gems/gems/thin-1.2.5/ext/thin_parser/parser.o create mode 100755 vendor/gems/gems/thin-1.2.5/ext/thin_parser/parser.rl create mode 100755 vendor/gems/gems/thin-1.2.5/ext/thin_parser/thin.c create mode 100755 vendor/gems/gems/thin-1.2.5/ext/thin_parser/thin.o create mode 100755 vendor/gems/gems/thin-1.2.5/ext/thin_parser/thin_parser.bundle create mode 100755 vendor/gems/gems/thin-1.2.5/lib/rack/adapter/loader.rb create mode 100755 vendor/gems/gems/thin-1.2.5/lib/rack/adapter/rails.rb create mode 100755 vendor/gems/gems/thin-1.2.5/lib/thin.rb create mode 100755 vendor/gems/gems/thin-1.2.5/lib/thin/backends/base.rb create mode 100755 vendor/gems/gems/thin-1.2.5/lib/thin/backends/swiftiply_client.rb create mode 100755 vendor/gems/gems/thin-1.2.5/lib/thin/backends/tcp_server.rb create mode 100755 vendor/gems/gems/thin-1.2.5/lib/thin/backends/unix_server.rb create mode 100755 vendor/gems/gems/thin-1.2.5/lib/thin/command.rb create mode 100755 vendor/gems/gems/thin-1.2.5/lib/thin/connection.rb create mode 100755 vendor/gems/gems/thin-1.2.5/lib/thin/controllers/cluster.rb create mode 100755 vendor/gems/gems/thin-1.2.5/lib/thin/controllers/controller.rb create mode 100755 vendor/gems/gems/thin-1.2.5/lib/thin/controllers/service.rb create mode 100755 vendor/gems/gems/thin-1.2.5/lib/thin/controllers/service.sh.erb create mode 100755 vendor/gems/gems/thin-1.2.5/lib/thin/daemonizing.rb create mode 100755 vendor/gems/gems/thin-1.2.5/lib/thin/headers.rb create mode 100755 vendor/gems/gems/thin-1.2.5/lib/thin/logging.rb create mode 100755 vendor/gems/gems/thin-1.2.5/lib/thin/request.rb create mode 100755 vendor/gems/gems/thin-1.2.5/lib/thin/response.rb create mode 100755 vendor/gems/gems/thin-1.2.5/lib/thin/runner.rb create mode 100755 vendor/gems/gems/thin-1.2.5/lib/thin/server.rb create mode 100755 vendor/gems/gems/thin-1.2.5/lib/thin/stats.html.erb create mode 100755 vendor/gems/gems/thin-1.2.5/lib/thin/stats.rb create mode 100755 vendor/gems/gems/thin-1.2.5/lib/thin/statuses.rb create mode 100755 vendor/gems/gems/thin-1.2.5/lib/thin/version.rb create mode 100755 vendor/gems/gems/thin-1.2.5/lib/thin_parser.bundle create mode 100755 vendor/gems/gems/thin-1.2.5/spec/backends/swiftiply_client_spec.rb create mode 100755 vendor/gems/gems/thin-1.2.5/spec/backends/tcp_server_spec.rb create mode 100755 vendor/gems/gems/thin-1.2.5/spec/backends/unix_server_spec.rb create mode 100755 vendor/gems/gems/thin-1.2.5/spec/command_spec.rb create mode 100755 vendor/gems/gems/thin-1.2.5/spec/configs/cluster.yml create mode 100755 vendor/gems/gems/thin-1.2.5/spec/configs/single.yml create mode 100755 vendor/gems/gems/thin-1.2.5/spec/connection_spec.rb create mode 100755 vendor/gems/gems/thin-1.2.5/spec/controllers/cluster_spec.rb create mode 100755 vendor/gems/gems/thin-1.2.5/spec/controllers/controller_spec.rb create mode 100755 vendor/gems/gems/thin-1.2.5/spec/controllers/service_spec.rb create mode 100755 vendor/gems/gems/thin-1.2.5/spec/daemonizing_spec.rb create mode 100755 vendor/gems/gems/thin-1.2.5/spec/headers_spec.rb create mode 100755 vendor/gems/gems/thin-1.2.5/spec/logging_spec.rb create mode 100755 vendor/gems/gems/thin-1.2.5/spec/perf/request_perf_spec.rb create mode 100755 vendor/gems/gems/thin-1.2.5/spec/perf/response_perf_spec.rb create mode 100755 vendor/gems/gems/thin-1.2.5/spec/perf/server_perf_spec.rb create mode 100755 vendor/gems/gems/thin-1.2.5/spec/rack/loader_spec.rb create mode 100755 vendor/gems/gems/thin-1.2.5/spec/rack/rails_adapter_spec.rb create mode 100755 vendor/gems/gems/thin-1.2.5/spec/rails_app/app/controllers/application.rb create mode 100755 vendor/gems/gems/thin-1.2.5/spec/rails_app/app/controllers/simple_controller.rb create mode 100755 vendor/gems/gems/thin-1.2.5/spec/rails_app/app/helpers/application_helper.rb create mode 100755 vendor/gems/gems/thin-1.2.5/spec/rails_app/app/views/simple/index.html.erb create mode 100755 vendor/gems/gems/thin-1.2.5/spec/rails_app/config/boot.rb create mode 100755 vendor/gems/gems/thin-1.2.5/spec/rails_app/config/environment.rb create mode 100755 vendor/gems/gems/thin-1.2.5/spec/rails_app/config/environments/development.rb create mode 100755 vendor/gems/gems/thin-1.2.5/spec/rails_app/config/environments/production.rb create mode 100755 vendor/gems/gems/thin-1.2.5/spec/rails_app/config/environments/test.rb create mode 100755 vendor/gems/gems/thin-1.2.5/spec/rails_app/config/initializers/inflections.rb create mode 100755 vendor/gems/gems/thin-1.2.5/spec/rails_app/config/initializers/mime_types.rb create mode 100755 vendor/gems/gems/thin-1.2.5/spec/rails_app/config/routes.rb create mode 100755 vendor/gems/gems/thin-1.2.5/spec/rails_app/public/404.html create mode 100755 vendor/gems/gems/thin-1.2.5/spec/rails_app/public/422.html create mode 100755 vendor/gems/gems/thin-1.2.5/spec/rails_app/public/500.html create mode 100755 vendor/gems/gems/thin-1.2.5/spec/rails_app/public/dispatch.cgi create mode 100755 vendor/gems/gems/thin-1.2.5/spec/rails_app/public/dispatch.fcgi create mode 100755 vendor/gems/gems/thin-1.2.5/spec/rails_app/public/dispatch.rb create mode 100755 vendor/gems/gems/thin-1.2.5/spec/rails_app/public/favicon.ico create mode 100755 vendor/gems/gems/thin-1.2.5/spec/rails_app/public/images/rails.png create mode 100755 vendor/gems/gems/thin-1.2.5/spec/rails_app/public/index.html create mode 100755 vendor/gems/gems/thin-1.2.5/spec/rails_app/public/javascripts/application.js create mode 100755 vendor/gems/gems/thin-1.2.5/spec/rails_app/public/javascripts/controls.js create mode 100755 vendor/gems/gems/thin-1.2.5/spec/rails_app/public/javascripts/dragdrop.js create mode 100755 vendor/gems/gems/thin-1.2.5/spec/rails_app/public/javascripts/effects.js create mode 100755 vendor/gems/gems/thin-1.2.5/spec/rails_app/public/javascripts/prototype.js create mode 100755 vendor/gems/gems/thin-1.2.5/spec/rails_app/public/robots.txt create mode 100755 vendor/gems/gems/thin-1.2.5/spec/rails_app/script/about create mode 100755 vendor/gems/gems/thin-1.2.5/spec/rails_app/script/console create mode 100755 vendor/gems/gems/thin-1.2.5/spec/rails_app/script/destroy create mode 100755 vendor/gems/gems/thin-1.2.5/spec/rails_app/script/generate create mode 100755 vendor/gems/gems/thin-1.2.5/spec/rails_app/script/performance/benchmarker create mode 100755 vendor/gems/gems/thin-1.2.5/spec/rails_app/script/performance/profiler create mode 100755 vendor/gems/gems/thin-1.2.5/spec/rails_app/script/performance/request create mode 100755 vendor/gems/gems/thin-1.2.5/spec/rails_app/script/plugin create mode 100755 vendor/gems/gems/thin-1.2.5/spec/rails_app/script/process/inspector create mode 100755 vendor/gems/gems/thin-1.2.5/spec/rails_app/script/process/reaper create mode 100755 vendor/gems/gems/thin-1.2.5/spec/rails_app/script/process/spawner create mode 100755 vendor/gems/gems/thin-1.2.5/spec/rails_app/script/runner create mode 100755 vendor/gems/gems/thin-1.2.5/spec/rails_app/script/server create mode 100755 vendor/gems/gems/thin-1.2.5/spec/request/mongrel_spec.rb create mode 100755 vendor/gems/gems/thin-1.2.5/spec/request/parser_spec.rb create mode 100755 vendor/gems/gems/thin-1.2.5/spec/request/persistent_spec.rb create mode 100755 vendor/gems/gems/thin-1.2.5/spec/request/processing_spec.rb create mode 100755 vendor/gems/gems/thin-1.2.5/spec/response_spec.rb create mode 100755 vendor/gems/gems/thin-1.2.5/spec/runner_spec.rb create mode 100755 vendor/gems/gems/thin-1.2.5/spec/server/builder_spec.rb create mode 100755 vendor/gems/gems/thin-1.2.5/spec/server/pipelining_spec.rb create mode 100755 vendor/gems/gems/thin-1.2.5/spec/server/robustness_spec.rb create mode 100755 vendor/gems/gems/thin-1.2.5/spec/server/stopping_spec.rb create mode 100755 vendor/gems/gems/thin-1.2.5/spec/server/swiftiply.yml create mode 100755 vendor/gems/gems/thin-1.2.5/spec/server/swiftiply_spec.rb create mode 100755 vendor/gems/gems/thin-1.2.5/spec/server/tcp_spec.rb create mode 100755 vendor/gems/gems/thin-1.2.5/spec/server/threaded_spec.rb create mode 100755 vendor/gems/gems/thin-1.2.5/spec/server/unix_socket_spec.rb create mode 100755 vendor/gems/gems/thin-1.2.5/spec/server_spec.rb create mode 100755 vendor/gems/gems/thin-1.2.5/spec/spec_helper.rb create mode 100755 vendor/gems/gems/thin-1.2.5/tasks/announce.rake create mode 100755 vendor/gems/gems/thin-1.2.5/tasks/deploy.rake create mode 100755 vendor/gems/gems/thin-1.2.5/tasks/email.erb create mode 100755 vendor/gems/gems/thin-1.2.5/tasks/gem.rake create mode 100755 vendor/gems/gems/thin-1.2.5/tasks/rdoc.rake create mode 100755 vendor/gems/gems/thin-1.2.5/tasks/site.rake create mode 100755 vendor/gems/gems/thin-1.2.5/tasks/spec.rake create mode 100755 vendor/gems/gems/thin-1.2.5/tasks/stats.rake create mode 100755 vendor/gems/gems/treetop-1.4.2/LICENSE create mode 100755 vendor/gems/gems/treetop-1.4.2/README.md create mode 100755 vendor/gems/gems/treetop-1.4.2/Rakefile create mode 100755 vendor/gems/gems/treetop-1.4.2/bin/tt create mode 100755 vendor/gems/gems/treetop-1.4.2/doc/contributing_and_planned_features.markdown create mode 100755 vendor/gems/gems/treetop-1.4.2/doc/grammar_composition.markdown create mode 100755 vendor/gems/gems/treetop-1.4.2/doc/index.markdown create mode 100755 vendor/gems/gems/treetop-1.4.2/doc/pitfalls_and_advanced_techniques.markdown create mode 100755 vendor/gems/gems/treetop-1.4.2/doc/semantic_interpretation.markdown create mode 100755 vendor/gems/gems/treetop-1.4.2/doc/site.rb create mode 100755 vendor/gems/gems/treetop-1.4.2/doc/sitegen.rb create mode 100755 vendor/gems/gems/treetop-1.4.2/doc/syntactic_recognition.markdown create mode 100755 vendor/gems/gems/treetop-1.4.2/doc/using_in_ruby.markdown create mode 100755 vendor/gems/gems/treetop-1.4.2/examples/lambda_calculus/arithmetic.rb create mode 100755 vendor/gems/gems/treetop-1.4.2/examples/lambda_calculus/arithmetic.treetop create mode 100755 vendor/gems/gems/treetop-1.4.2/examples/lambda_calculus/arithmetic_node_classes.rb create mode 100755 vendor/gems/gems/treetop-1.4.2/examples/lambda_calculus/arithmetic_test.rb create mode 100755 vendor/gems/gems/treetop-1.4.2/examples/lambda_calculus/lambda_calculus create mode 100755 vendor/gems/gems/treetop-1.4.2/examples/lambda_calculus/lambda_calculus.rb create mode 100755 vendor/gems/gems/treetop-1.4.2/examples/lambda_calculus/lambda_calculus.treetop create mode 100755 vendor/gems/gems/treetop-1.4.2/examples/lambda_calculus/lambda_calculus_node_classes.rb create mode 100755 vendor/gems/gems/treetop-1.4.2/examples/lambda_calculus/lambda_calculus_test.rb create mode 100755 vendor/gems/gems/treetop-1.4.2/examples/lambda_calculus/test_helper.rb create mode 100755 vendor/gems/gems/treetop-1.4.2/lib/treetop.rb create mode 100755 vendor/gems/gems/treetop-1.4.2/lib/treetop/bootstrap_gen_1_metagrammar.rb create mode 100755 vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler.rb create mode 100755 vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/grammar_compiler.rb create mode 100755 vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/lexical_address_space.rb create mode 100755 vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/metagrammar.rb create mode 100755 vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/metagrammar.treetop create mode 100755 vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes.rb create mode 100755 vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/anything_symbol.rb create mode 100755 vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/atomic_expression.rb create mode 100755 vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/character_class.rb create mode 100755 vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/choice.rb create mode 100755 vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/declaration_sequence.rb create mode 100755 vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/grammar.rb create mode 100755 vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/inline_module.rb create mode 100755 vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/nonterminal.rb create mode 100755 vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/optional.rb create mode 100755 vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/parenthesized_expression.rb create mode 100755 vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/parsing_expression.rb create mode 100755 vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/parsing_rule.rb create mode 100755 vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/predicate.rb create mode 100755 vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/predicate_block.rb create mode 100755 vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/repetition.rb create mode 100755 vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/sequence.rb create mode 100755 vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/terminal.rb create mode 100755 vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/transient_prefix.rb create mode 100755 vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/treetop_file.rb create mode 100755 vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/ruby_builder.rb create mode 100755 vendor/gems/gems/treetop-1.4.2/lib/treetop/ruby_extensions.rb create mode 100755 vendor/gems/gems/treetop-1.4.2/lib/treetop/ruby_extensions/string.rb create mode 100755 vendor/gems/gems/treetop-1.4.2/lib/treetop/runtime.rb create mode 100755 vendor/gems/gems/treetop-1.4.2/lib/treetop/runtime/compiled_parser.rb create mode 100755 vendor/gems/gems/treetop-1.4.2/lib/treetop/runtime/interval_skip_list.rb create mode 100755 vendor/gems/gems/treetop-1.4.2/lib/treetop/runtime/interval_skip_list/head_node.rb create mode 100755 vendor/gems/gems/treetop-1.4.2/lib/treetop/runtime/interval_skip_list/interval_skip_list.rb create mode 100755 vendor/gems/gems/treetop-1.4.2/lib/treetop/runtime/interval_skip_list/node.rb create mode 100755 vendor/gems/gems/treetop-1.4.2/lib/treetop/runtime/syntax_node.rb create mode 100755 vendor/gems/gems/treetop-1.4.2/lib/treetop/runtime/terminal_parse_failure.rb create mode 100755 vendor/gems/gems/treetop-1.4.2/lib/treetop/runtime/terminal_parse_failure_debug.rb create mode 100755 vendor/gems/gems/treetop-1.4.2/lib/treetop/runtime/terminal_syntax_node.rb create mode 100755 vendor/gems/gems/treetop-1.4.2/lib/treetop/version.rb create mode 100755 vendor/gems/gems/yui-compressor-0.9.1/Rakefile create mode 100755 vendor/gems/gems/yui-compressor-0.9.1/lib/yui/compressor.rb create mode 100755 vendor/gems/gems/yui-compressor-0.9.1/test/compressor_test.rb create mode 100755 vendor/gems/gems/yui-compressor-0.9.1/vendor/yuicompressor-2.4.2.jar create mode 100755 vendor/gems/specifications/builder-2.1.2.gemspec create mode 100755 vendor/gems/specifications/compass-0.8.17.gemspec create mode 100755 vendor/gems/specifications/configuration-1.1.0.gemspec create mode 100755 vendor/gems/specifications/cucumber-0.4.4.gemspec create mode 100755 vendor/gems/specifications/daemons-1.0.10.gemspec create mode 100755 vendor/gems/specifications/diff-lcs-1.1.2.gemspec create mode 100755 vendor/gems/specifications/eventmachine-0.12.10.gemspec create mode 100755 vendor/gems/specifications/extlib-0.9.13.gemspec create mode 100755 vendor/gems/specifications/haml-2.2.13.gemspec create mode 100755 vendor/gems/specifications/highline-1.5.1.gemspec create mode 100755 vendor/gems/specifications/json-1.2.0.gemspec create mode 100755 vendor/gems/specifications/launchy-0.3.3.gemspec create mode 100755 vendor/gems/specifications/polyglot-0.2.9.gemspec create mode 100755 vendor/gems/specifications/rack-1.0.1.gemspec create mode 100755 vendor/gems/specifications/rack-test-0.5.1.gemspec create mode 100755 vendor/gems/specifications/rake-0.8.7.gemspec create mode 100755 vendor/gems/specifications/rdoc-2.4.3.gemspec create mode 100755 vendor/gems/specifications/rspec-1.2.9.gemspec create mode 100755 vendor/gems/specifications/sdoc-0.2.14.1.gemspec create mode 100755 vendor/gems/specifications/shotgun-0.4.gemspec create mode 100755 vendor/gems/specifications/sinatra-0.9.4.gemspec create mode 100755 vendor/gems/specifications/sinatra-content-for-0.2.gemspec create mode 100755 vendor/gems/specifications/sprockets-1.0.2.gemspec create mode 100755 vendor/gems/specifications/templater-1.0.0.gemspec create mode 100755 vendor/gems/specifications/term-ansicolor-1.0.4.gemspec create mode 100755 vendor/gems/specifications/thin-1.2.5.gemspec create mode 100755 vendor/gems/specifications/treetop-1.4.2.gemspec create mode 100755 vendor/gems/specifications/yui-compressor-0.9.1.gemspec diff --git a/.document b/.document old mode 100644 new mode 100755 diff --git a/.gitignore b/.gitignore old mode 100644 new mode 100755 index db30aef9..33eed9a3 --- a/.gitignore +++ b/.gitignore @@ -3,4 +3,26 @@ coverage rdoc pkg -.sass-cache \ No newline at end of file +.sass-cache +bin/autospec +bin/compass +bin/css2sass +bin/cucumber +bin/edit_json.rb +bin/haml +bin/html2haml +bin/htmldiff +bin/launchy +bin/ldiff +bin/prettify_json.rb +bin/rackup +bin/rake +bin/ri +bin/sass +bin/sdoc +bin/sdoc-merge +bin/shotgun +bin/spec +bin/sprocketize +bin/thin +bin/tt diff --git a/Gemfile b/Gemfile new file mode 100755 index 00000000..c3b8af8e --- /dev/null +++ b/Gemfile @@ -0,0 +1,17 @@ +source "http://gemcutter.org" +disable_rubygems + +gem "thin" +gem "shotgun" +gem "templater" +gem "sprockets" +gem "sinatra" +gem "sinatra-content-for" +gem "rack-test" +gem "yui-compressor" +gem "haml" +gem "compass" + +gem "rspec" +gem "sdoc" +gem "cucumber" \ No newline at end of file diff --git a/LICENSE b/LICENSE old mode 100644 new mode 100755 diff --git a/README.rdoc b/README.rdoc old mode 100644 new mode 100755 diff --git a/Rakefile b/Rakefile old mode 100644 new mode 100755 index be52b2a1..6d51c2ec --- a/Rakefile +++ b/Rakefile @@ -1,4 +1,5 @@ require 'rubygems' +#require 'lib/middleman' require 'rake' require 'cucumber/rake/task' @@ -25,6 +26,9 @@ begin gem.add_development_dependency("rspec") gem.add_development_dependency("sdoc") gem.add_development_dependency("cucumber") + + # Ignore vendored files + #gem.files = gem.files.exclude("vendor/*") end Jeweler::GemcutterTasks.new diff --git a/VERSION b/VERSION old mode 100644 new mode 100755 diff --git a/bin/mm-init b/bin/mm-init index 99005033..37a1dfd7 100755 --- a/bin/mm-init +++ b/bin/mm-init @@ -1,4 +1,5 @@ #!/usr/bin/env ruby +require 'rubygems' require 'templater' module Generators diff --git a/deps.rip b/deps.rip old mode 100644 new mode 100755 diff --git a/lib/middleman.rb b/lib/middleman.rb old mode 100644 new mode 100755 index 158577dd..020d9a3c --- a/lib/middleman.rb +++ b/lib/middleman.rb @@ -1,4 +1,6 @@ libdir = File.dirname(__FILE__) $LOAD_PATH.unshift(libdir) unless $LOAD_PATH.include?(libdir) +# Bundler +#require File.join(File.dirname(libdir), "vendor", "gems", "environment") if ENV["RUN_CODE_RUN"] require 'middleman/base' \ No newline at end of file diff --git a/lib/middleman/base.rb b/lib/middleman/base.rb old mode 100644 new mode 100755 diff --git a/lib/middleman/builder.rb b/lib/middleman/builder.rb old mode 100644 new mode 100755 diff --git a/lib/middleman/config.ru b/lib/middleman/config.ru old mode 100644 new mode 100755 diff --git a/lib/middleman/fastimage.rb b/lib/middleman/fastimage.rb old mode 100644 new mode 100755 diff --git a/lib/middleman/features/automatic_image_sizes.rb b/lib/middleman/features/automatic_image_sizes.rb old mode 100644 new mode 100755 diff --git a/lib/middleman/features/cache_buster.rb b/lib/middleman/features/cache_buster.rb old mode 100644 new mode 100755 diff --git a/lib/middleman/features/growl.rb b/lib/middleman/features/growl.rb old mode 100644 new mode 100755 diff --git a/lib/middleman/features/maruku.rb b/lib/middleman/features/maruku.rb old mode 100644 new mode 100755 diff --git a/lib/middleman/features/minify_css.rb b/lib/middleman/features/minify_css.rb old mode 100644 new mode 100755 diff --git a/lib/middleman/features/minify_javascript.rb b/lib/middleman/features/minify_javascript.rb old mode 100644 new mode 100755 diff --git a/lib/middleman/features/relative_assets.rb b/lib/middleman/features/relative_assets.rb old mode 100644 new mode 100755 diff --git a/lib/middleman/features/slickmap.rb b/lib/middleman/features/slickmap.rb old mode 100644 new mode 100755 diff --git a/lib/middleman/features/smush_pngs.rb b/lib/middleman/features/smush_pngs.rb old mode 100644 new mode 100755 diff --git a/lib/middleman/features/sprockets.rb b/lib/middleman/features/sprockets.rb old mode 100644 new mode 100755 diff --git a/lib/middleman/haml.rb b/lib/middleman/haml.rb old mode 100644 new mode 100755 diff --git a/lib/middleman/helpers.rb b/lib/middleman/helpers.rb old mode 100644 new mode 100755 diff --git a/lib/middleman/rack/sprockets+ruby19.rb b/lib/middleman/rack/sprockets+ruby19.rb old mode 100644 new mode 100755 diff --git a/lib/middleman/rack/sprockets.rb b/lib/middleman/rack/sprockets.rb old mode 100644 new mode 100755 diff --git a/lib/middleman/rack/static.rb b/lib/middleman/rack/static.rb old mode 100644 new mode 100755 diff --git a/lib/middleman/sass.rb b/lib/middleman/sass.rb old mode 100644 new mode 100755 diff --git a/lib/middleman/template/init.rbt b/lib/middleman/template/init.rbt old mode 100644 new mode 100755 diff --git a/lib/middleman/template/views/index.html.haml b/lib/middleman/template/views/index.html.haml old mode 100644 new mode 100755 diff --git a/lib/middleman/template/views/layout.haml b/lib/middleman/template/views/layout.haml old mode 100644 new mode 100755 diff --git a/lib/middleman/template/views/stylesheets/site.css.sass b/lib/middleman/template/views/stylesheets/site.css.sass old mode 100644 new mode 100755 diff --git a/lib/middleman/templater+dynamic_renderer.rb b/lib/middleman/templater+dynamic_renderer.rb old mode 100644 new mode 100755 diff --git a/middleman.gemspec b/middleman.gemspec old mode 100644 new mode 100755 diff --git a/spec/auto_image_sizes.rb b/spec/auto_image_sizes.rb old mode 100644 new mode 100755 index b065a84b..a691fbf2 --- a/spec/auto_image_sizes.rb +++ b/spec/auto_image_sizes.rb @@ -1,4 +1,3 @@ -require 'rack/test' require File.join(File.dirname(__FILE__), "spec_helper") base = ::Middleman::Base diff --git a/spec/builder_spec.rb b/spec/builder_spec.rb old mode 100644 new mode 100755 diff --git a/spec/cache_buster_spec.rb b/spec/cache_buster_spec.rb old mode 100644 new mode 100755 index 9e89b781..c44fe6bc --- a/spec/cache_buster_spec.rb +++ b/spec/cache_buster_spec.rb @@ -1,4 +1,3 @@ -require 'rack/test' require File.join(File.dirname(__FILE__), "spec_helper") base = ::Middleman::Base diff --git a/spec/fixtures/sample/init.rb b/spec/fixtures/sample/init.rb old mode 100644 new mode 100755 diff --git a/spec/fixtures/sample/public/images/blank.gif b/spec/fixtures/sample/public/images/blank.gif old mode 100644 new mode 100755 diff --git a/spec/fixtures/sample/public/javascripts/to-be-included.js b/spec/fixtures/sample/public/javascripts/to-be-included.js old mode 100644 new mode 100755 diff --git a/spec/fixtures/sample/public/static.html b/spec/fixtures/sample/public/static.html old mode 100644 new mode 100755 diff --git a/spec/fixtures/sample/public/stylesheets/auto-css.css b/spec/fixtures/sample/public/stylesheets/auto-css.css old mode 100644 new mode 100755 diff --git a/spec/fixtures/sample/public/stylesheets/static.css b/spec/fixtures/sample/public/stylesheets/static.css old mode 100644 new mode 100755 diff --git a/spec/fixtures/sample/public/stylesheets/sub1/auto-css.css b/spec/fixtures/sample/public/stylesheets/sub1/auto-css.css old mode 100644 new mode 100755 diff --git a/spec/fixtures/sample/public/stylesheets/sub1/sub2/auto-css.css b/spec/fixtures/sample/public/stylesheets/sub1/sub2/auto-css.css old mode 100644 new mode 100755 diff --git a/spec/fixtures/sample/views/_partial.haml b/spec/fixtures/sample/views/_partial.haml old mode 100644 new mode 100755 diff --git a/spec/fixtures/sample/views/auto-css.html.haml b/spec/fixtures/sample/views/auto-css.html.haml old mode 100644 new mode 100755 diff --git a/spec/fixtures/sample/views/auto-image-sizes.html.haml b/spec/fixtures/sample/views/auto-image-sizes.html.haml old mode 100644 new mode 100755 diff --git a/spec/fixtures/sample/views/index.html.haml b/spec/fixtures/sample/views/index.html.haml old mode 100644 new mode 100755 diff --git a/spec/fixtures/sample/views/inline-js.html.haml b/spec/fixtures/sample/views/inline-js.html.haml old mode 100644 new mode 100755 diff --git a/spec/fixtures/sample/views/javascripts/empty-with-include.js b/spec/fixtures/sample/views/javascripts/empty-with-include.js old mode 100644 new mode 100755 diff --git a/spec/fixtures/sample/views/layout.haml b/spec/fixtures/sample/views/layout.haml old mode 100644 new mode 100755 diff --git a/spec/fixtures/sample/views/maruku.html.maruku b/spec/fixtures/sample/views/maruku.html.maruku old mode 100644 new mode 100755 diff --git a/spec/fixtures/sample/views/page-classes.html.haml b/spec/fixtures/sample/views/page-classes.html.haml old mode 100644 new mode 100755 diff --git a/spec/fixtures/sample/views/services/index.html.haml b/spec/fixtures/sample/views/services/index.html.haml old mode 100644 new mode 100755 diff --git a/spec/fixtures/sample/views/stylesheets/relative_assets.css.sass b/spec/fixtures/sample/views/stylesheets/relative_assets.css.sass old mode 100644 new mode 100755 diff --git a/spec/fixtures/sample/views/stylesheets/site.css.sass b/spec/fixtures/sample/views/stylesheets/site.css.sass old mode 100644 new mode 100755 diff --git a/spec/generator_spec.rb b/spec/generator_spec.rb old mode 100644 new mode 100755 diff --git a/spec/helpers_spec.rb b/spec/helpers_spec.rb old mode 100644 new mode 100755 index da15e8cb..c564a885 --- a/spec/helpers_spec.rb +++ b/spec/helpers_spec.rb @@ -1,4 +1,3 @@ -require 'rack/test' require File.join(File.dirname(__FILE__), "spec_helper") base = ::Middleman::Base diff --git a/spec/minify_javascript_spec.rb b/spec/minify_javascript_spec.rb old mode 100644 new mode 100755 index a1a06a91..0081d354 --- a/spec/minify_javascript_spec.rb +++ b/spec/minify_javascript_spec.rb @@ -1,4 +1,3 @@ -require 'rack/test' require File.join(File.dirname(__FILE__), "spec_helper") base = ::Middleman::Base diff --git a/spec/relative_assets_spec.rb b/spec/relative_assets_spec.rb old mode 100644 new mode 100755 index 5940a170..d982aedb --- a/spec/relative_assets_spec.rb +++ b/spec/relative_assets_spec.rb @@ -1,4 +1,3 @@ -require 'rack/test' require File.join(File.dirname(__FILE__), "spec_helper") base = ::Middleman::Base diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb old mode 100644 new mode 100755 index cfbd9d72..2ac601b5 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -1,9 +1,8 @@ require 'rubygems' require 'spec' +require 'rack/test' -$LOAD_PATH.unshift(File.dirname(__FILE__)) -$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib')) -require 'middleman' +require File.join(File.dirname(File.dirname(__FILE__)), 'lib', 'middleman') Spec::Runner.configure do |config| diff --git a/vendor/gems/cache/builder-2.1.2.gem b/vendor/gems/cache/builder-2.1.2.gem new file mode 100755 index 0000000000000000000000000000000000000000..c9016972303d7e44eef49007e5999ecab3dd9673 GIT binary patch literal 22528 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 literal 0 HcmV?d00001 diff --git a/vendor/gems/cache/compass-0.8.17.gem b/vendor/gems/cache/compass-0.8.17.gem new file mode 100755 index 0000000000000000000000000000000000000000..fcde600ed06b79bb793eb3be751aede9eb0bd2ec GIT binary patch literal 395264 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 &uU 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∨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

qjTTnVYZ_=>UgTh?5c#FjW|TDh~ry^># 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

R*MQLW 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

  • aA!bm7Po-V97W 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
  • HQo@`y1@h(jkX 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

    DA^3O#%$C$=X@%(I_ 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 Y{C|_V_uq5*Zw>sn2L4+E|DOi_2hHPzR{#J2 literal 0 HcmV?d00001 diff --git a/vendor/gems/cache/configuration-1.1.0.gem b/vendor/gems/cache/configuration-1.1.0.gem new file mode 100755 index 0000000000000000000000000000000000000000..25cc4965e2148b1c29b27836734cb76ba9c57d6e GIT binary patch literal 9216 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�B5|5?%d+fv_dIj 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 z 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 literal 0 HcmV?d00001 diff --git a/vendor/gems/cache/daemons-1.0.10.gem b/vendor/gems/cache/daemons-1.0.10.gem new file mode 100755 index 0000000000000000000000000000000000000000..248c9507af87f738ba669d1d9ccd634a1b31351a GIT binary patch literal 31232 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

    GeJ8TdVd2&Z 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 T{3!l=i2u&Oe`nzTyA1pfJINSE literal 0 HcmV?d00001 diff --git a/vendor/gems/cache/diff-lcs-1.1.2.gem b/vendor/gems/cache/diff-lcs-1.1.2.gem new file mode 100755 index 0000000000000000000000000000000000000000..aa0be73b28f78ca4dfe0c0dd607cf57a78e51c99 GIT binary patch literal 27136 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

    vQYu{^R`y%C2+SMK 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

    bmIpVuz~EvD7-w;1A^vD(mzvM33C!` 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°4ajrmdEF+Y@7z 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 M@IM;(|E_`m12K?e1^@s6 literal 0 HcmV?d00001 diff --git a/vendor/gems/cache/haml-2.2.13.gem b/vendor/gems/cache/haml-2.2.13.gem new file mode 100755 index 0000000000000000000000000000000000000000..0785a0ec779cbb304ade941ef084cc65538c2ed6 GIT binary patch literal 144896 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

    9^t%cZ{iBBs3AXN*Kc?`b=b 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 literal 0 HcmV?d00001 diff --git a/vendor/gems/cache/highline-1.5.1.gem b/vendor/gems/cache/highline-1.5.1.gem new file mode 100755 index 0000000000000000000000000000000000000000..e1a10f51717e15ae71aa0edf83cb77fbf782499d GIT binary patch literal 55296 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 H%mV)fr@WKd literal 0 HcmV?d00001 diff --git a/vendor/gems/cache/json-1.2.0.gem b/vendor/gems/cache/json-1.2.0.gem new file mode 100755 index 0000000000000000000000000000000000000000..0fefc67cbefb1ea16ae54636b893bd6073ea371e GIT binary patch literal 385536 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

    $WY^2j}2CeEK`=(UsK)V+r@RVu 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 z zoOPo-IhYL(E9oS`?BK|Qf5p`XB6Mm82q!Cp-)aNV0K?4)0JHV8W)(U?c9vX?@H_X# zO3%WsIC0PqnApH!pi@XVKsYqKnr!6-TB$}lPbnxN>O5-;27&m*pU+yjJSz(_ryi9d zEbzL82K0VS&~QNLZaN0*yy2W=3Ss`oF<1_hOc8FM!}$H#J>6lV$c*$Zd~@sr?l4hw zM3LBGwD4PKfW5t2@{I6r*+K(kj|ZUSVQS>2Gq7IRFe)2^5C>Bln7@k@OtI2rj@Pnc zOE{9oXhj;bRMQ$*%O-&VW5*&}Qx1RLY(N=kpN#PNm?w^ghoJ)Zg9pjQ28>&g5J*DM zCc4-FFko(SMwIg)Hn8|_EjI)I^vu8=#`$d;S?xh;z%WJJ89D`BbxRFU$PS}2{yt8S zD-A>{!6>F`R#d;01}N@244Ps*iCbyFs#U6SQkI&Pt79f73Pjk8=$4mdqD{sUWHJNCLcEcoHvYt^GQhjng6GW`)p<6J0qY|` zCIoyvqexw*;ANraC|Xf(BO~Y%1Nhk7IE?%oV_I$#bTEahK3y!ADO&c!JX?^%TV5c+ zWlB5)N3d^o0VDt8h?B1Zb!b^zOqjW|*5iEf#3$ToJ!~=MwxVPka+7P5erGYCX zVCPAd1`>ggUbVWyk{2x;w6}+G%oxG`Ou%*SDyB9K(@Qf!0h%FH>UMcYbal%KumdNH znNb#pa!Gc?s9~N-jFot>yy}O`5vhqiOqfokSJpn|1 zhN&W!$y~ntB^WTlilJW8n7`ulS}iziX<+c)W$(iloFTi_U?<-ZCetc5y~V)dUJ)ij zw{#!p>AU3wFg@}Y!QKI*eAI8ZAESofoOppxG&*@i(5oM zk77iwARGhw9qu?;Y9B2{Fic^K2$-TeJAYs!Xj?;o5Fs*Ou!b?WE7}AGt{I*T{foW@ z1fnUNqNT>su;l{)YJe?5g|D#qhaWi{-Dp^nd+1v{AeyZib9b>#WEN$TfrtAoAZo!N zCw{3L(KZ(p%fOg!fUO6JW6AbKV?ryF@C-!|?uj?s5UZpCRhhkHJT|)dDbLBeaf2GP1=2EPX&R1RGo1QUMS$!Mg^f zn8v!L0;0vIsfP-dr*fqLP18g#>DY+Vk(nA>9>Cb}xd@XaPR-N-mOD5Q2tjWYMxyF&6LVxb#to^tEfAoe z1-jdl32+3{2e9@41tr|J&DhagARrnuSvN>yfl5C5$ph{S_Z;F(69}-!g>?s>PN+(m z!4+}>m1mes{k*ZG$E8q9!kybES{Bjd0qlf6u!U9- zzJ)Rm4h|CrU?>b5x>9X9%}R@02Hq5+=}OCKs{%|Z#AMVnR1vx;0816a=FuoxcTIq3 zS}5HTMR*7<2>@9p0S;iWAi-S`!1BF-8l#cKZb1Nw6bCt$IQ=2l1F+CkhkF8aV%>58 z0gOMq!H^^wA^+Z-pt(eelO1G>0bq8Gzs4WHU|lktU=4&C2GnnNDF6!b5cnP35Op4y z764}qJ}MUjyag896uTt$4pxWsct!nUX6L$T6Y1R(I!91oQkEg&2rmsuv1sxDe)QlE z5lIc)2plm)^QjldbU0stw?0yqE;2h$jE&zL-WvMZ$#(YxHG_Ts7QSEgWq%Uu%QC8ZD1G&Wm( zM~;N-J0aADxw+is;NT$Um!PfK-2X%#o2jIupMcL6JMub`wa8QuSUm)&$Ws-+X6(fzN@3$iw9YMO}#td&bn1Pl!|)f^`- z#l)V2l-B^KQjPC_n!*GqnV2-DX^18e9x#h&;y}ON`TmLdCX+*nrtUE_b=V#^P&wtG z#*FQMHpA!%%0s(U+FbvJfFp+k3OV1Y{;Ac?!wB;zAKXm;;Mr#_8TYuhiT;UX!z9O* znt+V+{FA(}D~}Z>-f8}0Ff9f6n254(mj4L%cR}0@`%IhUA5W}N3PM_u!`7896BAp> z0};yF6#u~<*b0tK&D9zHkz^PM1rQj&^ZQe$VJRH4ZLC5Ux}=OdSb+;P?Z)nJy+l*N zMa_qz$YWl6j0qfq>}F8KwnQ!g9d>FI36^G~^=G34F2xzqi7fX!sXt8N3C3Pi0)X`1 z1(#T{CQA>;N7$tPz{TMFhjWn#C^UfFvi^__2xnSw6_s0oCRL*rv)-HHklC7X$0i!n*hj0)jl0 zj?ior{t{T24(nX<#oC?*D*QHezai2x z<@I2s>Spc_i2ZPQWjj*Ztq}nRY7mHZJ83_TBqX*Z80N3K2X&Z0 z8CQ46cAc^xw;OtVvTc+}IAcH3kB23_G92Zbupc&Aiu{JHkh=N$wS(wpR;OcFjIDom zgYHqb6k>%!K20q^9fAm{8i%Q|?62(!PBDB&Z6vUX&x{>pf!WGK$eM4ie(E=a*(@e%Rn~Fu|Liwp z0`wX;SwAr_0|gp*v2Lz@kTiIxYNrTxQ}q*S2765%rRjONs3l|!MyyEbTiHbYKtvL( z9aa>#Y5Ie~4QIi&Hj2&C503{%pA2+VHcLN6x}>^+tqtSJcS&hLu+a+YfYr3J2)tp@ zN>+cDiV^g)aB4D00=2sYzS_*#!KhC~KW~RB-8M6J#Qos+$CHs6Z)$#$W7J8Yx)$!l z{1gN9=3sBA`;0L?Pr39=i%1zF{PqG-d1com%;ZDCFDy5+S zOh|8U^8El9oEafT$2-_M;b=mb<|h)Dn|dEh!~M#}V%;|LzF8Xh3-AdXI$I~4>>_~; zE(mwxebh6ealOcfVY#2|V9*jn+Q)k3I@>1N3B}iD>Xq4wAKJ{@k#R1w>M4&&xzCIc zyEPSgh|Eef#(nb;On`$RJJ{?=xWBesixI)NL0GD}N;td%CUTskiF3H`WWan-(xiKh zaer+qrdn$Fbo*I1;!%ymRa4%KZ-4Ef7W}0iSp96meaHk&{@sdi^XA*9f*oKhR1?(o zI^90YqnYRc7G?GyIwM4u?$gIN3Uhea8JD?qmE_~zP&AfMnyn$;?sY(EeqiwI5V zEQHMbSSqw!l!<)J$YP(FyVgwN0qq~|>PED0^J<|wgzc#Qy7TNqh+!H^lfY;5?1O`a z9ulhd3IlQQ#|_+j?OqAg#cB2ftToNTsi;xjS@wYeSU#s1*YRfA2jvSS0*Ef!5>B!o zit%~^?<2*wIrgbUpcrhJd}H4f`|viP0z(dqsyJuZ=Xl|RI_c)_1p9F25*xI%iw($i z!n2{2p};Ba&aXcpW=}Ss+32aAuhqDZ$4bX zQ=jQOL*fniL1HsiS?_M+Zf{Im>m6EepU|TVam)g**9D$JWzKC z?{_j<>Md1C7MJ=9BqVs#TPggopael)l*OG^ANjUo?D<2#i3!zLmnM zJ)`gqH3)1m?e$wo_v6XSlJ1=Pr2eKbi!s>WIrYapC~-%i;}3Y#za3eKNJl?pJU2n+4%GiBZnX)N1%i1 z-f*YWhu<9P6)b{U+D)fVfNz-a0eQ`Mr_%>8raL^DgJ2}?9+n!Q@3J9XrX6kdBeqwg zQ!-k~O{dQ>!kv{ZpNNdJ>FZTy?nL^?p9~0Bx)FKaiS((2C+Ewc?X7O*@Mgk@faDC7yovN- zF7L;Dy+)GW_H!el2%8BN-Q!NAPYn`9N|4VDHjOPE9xauPPp6YM8j=2CS-=5~hZ{me zyu*bl53BB+_`+r+`tuM>rg%xlqH&BkD{D5LT^Ll%;ka|?H!G?j@xla!JBNNThLdI_ z{*xia1y&jy_4u0+bsozsQO@M&dLh9*Xr0Htimq)Ht=YW zo@xcDmaSnZK38)v~{>(XW7d&Ef$iQgXa_$`Z*|2JpnjFyZ=Fl$y zA5+fkX*oP_=##^T{)gR^Wd7#RuSkhNbVuPX+uV{onk22pdQT|2&-5Q`0LBxG7%q;= zR;QdHAlr{adtlJVfZ@faRJ`J4ID6)Vx;M6evO~ zcLsebBaBHLWVaDtxs5|s0G}=;lQ2X(gMPOlBGFjVAnneeZ)_QW7)^`pfj}RLH^}Hv zWQ4lP3G`w2rq&QwD&OhzjVgq^A7L2y+?_w4;Kjin(J4E8pwB1v$^T(PHX{BlU&pls zp1^1%&|&5l%)`J5w4jO;=o6BLF^nan_htn8%RQzZ-Y%KR*z@O)8n-)HSK=f6PM;5U z5122~o|HRo`h0D+Etz~JEa2l#pI?ZE1vvCs$MH^|k4`L{T-x6_dGGZ3l`z+^xWarz zPM_a!0qZQXPsU)s_cB0f#-2ws6&2W&Zj0wCqFgcXn~Kr z(h<3dVwYy_F`GG`nzk7V0VO!@%=vg}xc8=jl+v9!-*TDjjSm=@-7AARv?4x<{C3HA z=KMkeNM{0oPAEb)bv{S}F7jv;!K$^X^I;anz$-w$&re__2vncKa>qO0%=so2W28`!l|3@&19ON}pi(Dy zXU;dNStOwj3pW{a{`>$zVEl!|wWvN&=c5@7_>Y)f9}nF5aCjE7eL60fzRjIa>~}HU`rrq59htOKLRkeEWdZq6rNeEN9%g z^P#sQL7O4pFr|yWF#&-nP%&*L*uI84YKV+y8}xV zt1F>wLt`68r9a-mP18-bfpYNwk*W0mfBEk+|Nnpbrw{MG`Tn<8e&h4}|3uQubN>H` zeAmD6|NkZa{rZ#to=C#};>f=^!rzAatCD_|TpT7U@ z2|IcU@A|v?^fPtXf1&>y!qe}+{P5N9zIp$T@4tD{DgN`P|NHCO>o30f`nx~;)Bp4C z_J982yYKk^Uwzd4{_5#B-~aFw^pc;x{=mmyfB)T&zx?+7hu?kw_fJ3j>ichh|K$(w z|L()r-@gC#5AVPH=I6K1jQ1`7ZnwYv-Pb=p{pRZ*e*B>4`|e5q@%?w-{LzN>-@p9f z+dusN-R+|zzsqL)-EY49@x!lfPp|$l;%5yXzW?x|<>?PUzW?FzzkmGWk00KD`*i#9 z58rx|-Z+Fr(39R<^0Li)OM2dNSbTQ2+`j$#yQh0QIWJu($3x4j?|!D`_Tz`Y|HW)x z2N@c{^`V7$yxiXBEnGeyzeQ$APjvhC{g>Z8{7SHgjn7*0i;;x+u+PR8_SpWXhxSa> zTzY)cYP`(HvzB@v+w3jHHMTGR>EXS}8`8BRK8)@4JOA7)Xl#$OU=DTe4=vC!Js%rP zF)zm!=GfHRzn^oT+dB{`Xdnb@iMhU`$cpN;xLWi#a5_-6K?A+KqaLP$DtNm6PPYE| zhC#xn@bvuOcYCHj-*Wry`|ls06zwzJXP(X11$+C4`#9FM9z?@id;9kNvsnn4+(LhA zZ~x%q@ZQiWd2?@1ul|MmUp_s_BY%e?czyiExn5p>^{X$x`R2#x|Mkls-+#4R^uPc3 zOPX)D)fe!kr(gWP`#*KT)_?wo{oi`?4ss8U@fB4!knw`LAxj`}()P`?VhBAK(A*$G@}x zpgi>Upa0t*zWePj{#SJ?m*d0NKYsZ7s~>;$^bfxdWrqKre)i=zzyIBr^jiM<>FvH`3-EGbF)BmieG~tM+U;oY1|MvaU3(X!KJog89cl%dx{*Vh`BfGb}*ys40&+L4! z&L8+NAFcS(DtUSSkog+vp#@pW65F#D<2ru))+f&&d)Q|!FHf5=ANJYUK5_o&!d0K` zRn>A|?Xe~0``A8v{xk@%_pbbBpFgB@>f_i*5j`JUwgAravAsHfN`99JBS0Q)E!qR$ zfiE-ex!IEYJ1dhNIoOHxC(j@1jmy*Xe}BgLgDU*9`MR>lzc_yYB;<47{YY=G&L8sn z<*mJauzO}cfSN~p|KMnbXXZF0-%TIFtRN3~!`6Dm&+4;kk@o=Q{{QUgsk6)&U z<=OdD>a+7_we-(y zcoW03ZTr%qe|enR*z!XQN%8C(p0}VX^Z2b#9H-G9_Hk@+KJ2rW{%UL=KTZqL%JO&| zLHe7YZN|+s1DlU*j^o{v5>Q}-2OT| zkMyo0dPJ^bwd8k(mIZuA!=E@#0gviHetQ1zt;Z=@SUt+K`MPpsJwHwnsgQ^D*4|zm zrxB>n+Yi7O$0=Ru#{Aaao?iWXcATbuyfaF$$6uW5~6 zMn2&2KeNXD@Sh<)J3o7U>xg2U~|A3spT zI#B=S*N-Ra|MKVE=KcZ)P#Qpxk8wYM;D3KKx}kmljYfFTBfoX@u0$M*aHG79qJ;V;h|K+neZ zI134G|L4a|vZ&x^TOND!1E{}4#sYbkIW~@)WNJeFsGn%L|Fa|G)d2)e*71?QJk#>} z0D_zP?RTbE2N1P*Z|&{X0fg}RPj>(r0qI+NdwTtEJRU%;7?srHn_TPVCpmzg-_SVN zo*h83x5tl<0(;sufBeG_@4tQj-3R@$xhcQ+8#9)l{UY!z|NiIyI`3;ge)*gC z|Ez~4)Vfrc9}g|hm)z@?&mES*s$26%{_;%A>)YA^fx<%zTr|1#Pqlphu;gLm@x0~5 zNM5%*j_uiP4f?zB_?IwUJs-*ImiyRVB;QQg?IDQwXC0Q%mc(aaUX)y)kK}dBV{d*~ zws*!k1mxUWVu4|&~k|M#)Oa)z{#oqv_+0F>AJ0;8 zxMh#A&(Z#3vCmfi^jTS+UDo3G^kEsZ@e{_+1V7tPo_qV}KYq|OhA;S`<+%~RZu$K2 zgHQQp-}zPU4P}G)&;k;MpqM(63wW|2}^F zMCu4X@|R~?UL8Ljo`s+4u78_m)$s#!%ukkkqq;u4`JjDz_3!!dlhZp>8h-fh zS}#A%UG4etQ~G#zS4+n;Xvp#GbfSd)`CaYV)h#?byC7tFcK(d)? zfwH*e|M33z@4wV-)XjTmpV0+*`q?~Vf6g_PZ@kN8{L{lKT07ayO~*g^!<^%v`r*Cw zDAj)b!*T&%{_tLy=}-Rf4ENei`{nO?ct&>+EtyxptD(O7-PggJ`{Gvz%!YUH@ocvZp++j*zI{Hu5ShhFZPw!8miKlY0k-M{$pf1anD_VO2d z&iQlyB2UVa{EIy&KlX{I{Fg4)_-FWcx&G(>(Da_L{>R_Ii}`f@Pl0afdHoN1b^liX z^B4K|@4or+w_m)Nzgzf1XUffL4ns3u8(=8`CXzH8Q)^sr5wbuRX*QyJidq6prQv2p zhSb-`VDj%ZK(9RivW+$(MdFYR-c0(6dTQcIjq2`vqg1{o)B7Q*2=eJR=9hJwLw7L4 zQ5bHMn+mB9D~E+hH}~6Qrh?-Tb)jftyX_X%BL!mwYZSsC=@!;A9h7NCgzaHQH)3?- zMNViy>7G{grxb_BHtDEgfEr!Bu7}E<%6BTXb$z)_`U8ucq=J-FKC)W-dMhQvC=w`Z zRuA*ZaKucc2kpalTdW5ZpTGcXI+88jOnI-GcuZ~`{m(FNlYT0pn>wtZ7ygsmWIG6O z8$rkf4KA&7x+>fysG!0haGNv-Li~S(WLusaY``5($4(AHG zy{`!0A8yL14H0j9gl4&1BiYu|jayoCMv|==s3ahOx#kQdAqb1*O_|p5dN&7?4oB2L za&tZz_5OOh2o)n;%akP(KSNWD@8687Ga=vt6Nssdqrp1AZCWstN(Ymco-+n784(C{ zlY%;(GgcraL!PHVHgcQX1*Y3n49ARs({1ueAp*-|MNs|7wJ~8b*4$vpfutJoyf}?M zvSJcYJXFW#Qza;X`=p9Rch2X_7+y1yFBvtuHCj{uf;1@&B-CaPfx=;u@g{|6^VQL1 zfz*kGgB%#940#>AtcX9O%r@!Fsjp7P%ne!BZBi4U76>VF(Q-18j<8w-dU(Nf3s5GS z!_tFyXpE=@MzY83zyuX~Dd;%s-Q0|Z6V7(nv?7%D8Mzl4A%ZT@TBHv1c$qpO$Qm=d zh&Z#wtQmt|35m{Rs(EG27R=Dd=Al&v`yZURCj9~> zFlF%!sz9_oMU){1L9|ahQiSk+KA5ciXoGY$oR+sq2!&*MrSQ2^VBKz$Z~#JacxQ)^ z!>8L~8_@f&tlZ517!UXtrmH=gm5pQ6ux?vpLG=+{;sm|N78FKj3NEY3%xt}~B@N2v zE5y6dAg?ucP=0Q!A;S$k2WC4f>^qcj-zLXqLew1DQW%1u6E!8)Wb~~tCBh1Ro4R;} zMH9>s18v>gWP5@i+!%YIw1U2L&KcSg=)=PP5j27|XYfLGlXjtkd@=|a`!#et+7>a= zsq2EkSk3VBbt5P+>Hrk-jQI~KW7(*Yk%wps%F%dq;Y3Q44jZ)(<7m~StJgVYMv8$H z0dft{nXUKLkXl3+)JV>pHWapUgmDXs?zc&!2}uUh9te1+3NO?oHf`L=*=*p5yG;_! zVG?!S@?(%AEfUQG$u0C^VPZ#kcrpX%J_m!QOg$mHI7tCQoZAmV3>6ZLDScO}@%W)% z1hv4D3xg_KbB^c%L@P_=BS&;gP%WtkEEhIjv@MVX&`u7~!4~uGCJEC~R)+szEvjl- zfE9gEs0ZdBcT;~rg;+b>&`CX+Uk9X+Xn?|g5Y-%9ae*`TFj8OsdJ_8TEJE8H2H9xM zi%~JNA09==%~9!OvK_$s1&hgJ}Lw5wsU}Uv>5` zvdnG*qKF9xJ0L<>^6bXC1}&u)Ce4#NGVAnbr9*z0=zY@G!1M~$B>I+-&L<@`+#ih} zfLMq0`U9E-|jIKmKxu}@fTq4wAIx3I_2`+S(INt-922Hu%z!GbL^8gu&3=o~(C(XDH zGN^aagFqZ1q)n-=FJilz!=M*1dB#b&7}>YQ;j@}2T_S$AiMYTUqgEHoMQxm8lNGE7 zoyx#ujOt|F2877#olXpRT!`#PH>M?xX35;4qS81HIPdkSE)EPsFc@ESlUR6D>5d&B z6tll*ljpok>R*S~QO!%kl$;ZDK(1&SF5Q$^gL7hXI8l>D=9;TSm`W`s_ZM-x5w;tA z!D&Es>|-(P{vgt+YM*v& z+XkwEu$!S_5H|4=iW>vfRTe+rm~1q1qBH&`+c@I0Veu}(&x*q~tb&be#!})mhHNn5~mil1Po+7m%X8{mvVxQW&cSyF#W1{XZ z>Vexb>S$Ef(Uj&G{$w48NsXIY4W`!=Ch0g@6DT5^N*uG*wj@GrMvtp=jlP}cbr5mY zos9GN-~$&Qg>oEGTvUtHyu61B_g%&jm);Mk79bTlP=sZyC zB#lE25eB2g^&vRjIGjyL#6$YY!26b_(RX#Jkwa{gx0Qm!bS)CZ_WZqbaGTs8B8qZ$ z)jTKlm;_;HB4d+NtED2|g2o6uQyh1FnlS8ta5KqO(__)@45yH%q5-{=PRi{~Qugd_rretH4J^#Qc8H*;`hm1?#Lg~cuuyB=0MdZtdWaeonyK=!ZD$tK2w zh82k~v=B5IE)@(?f%}%cTyzY>qE5lVw_y#4e?q{>Og#jd;W5r8p3N$Cwz@zMMpo8mL8OV~xK>*J**Hp1pO7V5oiS(je~6 z$%8zSCMqtqI~f6!1=Te^Wt`5Fenk6%8DK}4C%Q~9+G%`3SS0i3t|*HmZBm*hyBQa` zCEIX-gxch6=*Ru1gFA>x*#?9qq6@VU1=5sjlhAn7JO$utAT5KxsB4q{db&@+$ZOHB z)>_btkBil^*daOfRbT;&(Px!i4FVGQ=bGBrB~&LS1n|VbBJ(|2#-oWS6C&6D9!+r5b|pkiD2>$xov5y2DHNrVbJe?KP{s4@BuxFRJm`Zcjsi@+>j zAlcN!x==8k<1AH_B=l5E?vCL_2-%EtUCnb3)>#bWC-DLql$xhkY!t+39O}rV@9fub zsC2am?d7T6muqdD_Nc7tSJhs9-B1aL26INPCMMsUaPnvGiKk0b@b_$uEU=2$}KvdI5aVhxFdhAzn{KS#vkdRjjLVrV_9*^3R^WA zsAy@bd0ko~gKuLBlc{+taY77_q*dUC6_?utsd|7Fll_mqW3g4jOR7Id!mHYzQZ`LK z+T*a&SEC$`(``aXmD>mUs`9hdy!0B;$+UQvN&m(fEQ-k#-#GluVU9KI%>#mYSOB#j zseR2WJT|x@Fem8J5M8IGna~ReFuC$-UW|osJ0l;3C(-O@r>HmV)4{Hd@cgN{&XW#- zE-rGWWT<98afp@Z-W}mI=Ao9$L>RwvV?kX2b6PHw?uBfK?6%Y9UFR-Sv(p>lz`&+8 zT_!v+M z#uwdZg3+`WyAdK_7+t7kE?_7{_4*m)^oNIOE@xw`wx6973j?+cqj0=eLf2CVz~T=H zY3pbUcDYS(JHtG#k&|$U%WEpQ?T7(Yh+;K%mkEx@j^`1Lhgr>eIYJ1R5I&>;mv)<0 zR7@TjnbMUSgmVb*~GZFBYjJ}f6Z&- z{*246nP3-kzX^%VNw<$&oZ4Mr6$J(&IT3nfwYwGTe1&*e|8K(Cj?-^~%N5BVj=ajB zPq)b|7twY(`7zwmvBDGZ?z0sUFe++xRZ8Tw?UE+bOUq}<+!2NeG9I&iD_X!ZAF*HL z&Gf;XScpIonQ6!*>*kxL-xP)^TySSWt1?Zu$@D-8>JARnq~>{P*9(M={2&HQmd(AU z!2OPE9lJ5V>0T4#IZ*PHt*Q4Jb7GxoQ`C+#xop+GDMg_ytH#=i&W}Es)0$bth=4%i zOY=NmW!GG_vP}rhuIiwpn+RSfc}B{{uQ(Q`Bcx%QQwlz>@HDZObvGiJvK=Sbvbm11 zSQzJ=)`UQ4F+l=u>?!!X!X1kIgK>_h=ub;9&mw>_$>aiehuz}I?r^JCdvvGIay1nP zjAox#u7&WeLg(N3z*&+LClQ+M6=r^YFejFat2T3Zhh?{Fo-@n7$-@@ANvF6bw$2Ds zf{s`(zy0dUP5aDZxGvzv)p%bZP~hW^*=5;g0HARfl*tq=Oz>x}k%B&JxeZ8}iFgmRE3 z;VJZ3bv-T;lPHL5Im>|5?lk@eOOM2_5M0s+uA9YLMmw8)2w&I%iVl0lFhL}ll?$VLK zyCWSDjIci=NSfMm8%eIAT#g*CwmE&^0u_*qP#n*-=+I=|Mehb`a!52)OMkn@kljvs z<>c4+?V0`v!yZGfL_j1fO=k*?tO8s0Xw`1^X|sDnO3_gFQV8`87Tw_`@jqk>w~^eD+%>W%ir+}~i_Z(J`EYhwkXjy$>e zwaXz^#Rn_kHel^%-u1FEF6Z>d)DGleiYZv7&FGCxaYo~hRmg*REDEigiU-DCub!4m zrKO@pR&6KMJ5_sJtA>jgIa3Z+HM`CZUK!XGUMN=QRNjz`7v^2=cn0v`Oy1otJiG}s z5@ki3$QwN{)N4#?vGIw^I3lh=BC6@jYMu@=nEf2=O%q2+W3$)eSIHy_vzKrAF1>=V ztL{O_(Y2}%mK({Thx0;QRo0SS0?+a!D5G=Q@b?}w9| zbD{P*%>)p+5q5a$i<+xPcyYU;30H)ncK0~Ico0e8!T|u|So*6O;RFCD@*4{6F4HOV zF`*edxNbRk%)BF}fQp?cz|)-L@o7(CpeP9598OD_)Ea zj~qNn&@Jy2>>cWXw}kM(Z79Z6$av-h<2E9%ge30J^ST6{sod#8U?>VT&ox}M*Je&< ztufhjo(|SAkyiwW^fm+N6yLVkP)K{gg)av*yW$GU)h1BPlBC_`ggA21h=RLUM?s#+ zJ*fV{&X_BwQ$+1f(67-{P&fpRwYu{X!K)-D*(eB>RlSC|ARze2Q*XmyFmX%%fwIEQ zA`+u^r==&dq_=`APJCLQxb8@_J+0eDb<3`|5^*C4FzLV~CYxt~N;_{J2m*k3g5f_; zPYYxR9t&6u_G-2J1h)=+Z0L~Sr}Tl#WtlWtCSOQCUmwgzW>KILK>CPVY~B)htjR&X z8w=Jua&LZDZjIW6^udxiJkWYB=2dXL%qzp&DP@6}`<0htvSx&xg;Zpfe+iH?@nRgCMA zw}H6%t$183LOgA%klYy5?oL-R9Ri}@gEV!Cd%vy*z9DZF0O9UdA$_qx23P5B#0;>Fi9=g2KNdn?j zvn)d@c6ToBcYy{QfVpsWHUBHd1?&Oy!&c;(s}-d7bzy{g0AM^S?acG?yRf(n#;2NUrrOtX?uIu8!^T9YeLXYr4Djhl z5gv@R`#A`b+XO%7jP~)y787A{CuQ>6J;pV#VSjB zSSM*?>4QFQdJ(Q}*8zGK#)+({3~YzF67UF=f!X%x$fck3RD_&>o{-nkC+nIVQK;70 zJJ7)6H&&w1vOT8vr=5gnm>U?E(F0HdI+cUJ_gS6^4ZB!tk1wuo2LKb`C$LizN2T0v z6p1W2Q69AW%7R%D|4u*#iO3JxQMun3AyOHdH|{$6V2f93hXGPS46JIbWkm)C35jSJ z_=9E-gtUowOeoXR?pjwUadK)Ct!5K;Z97eTC&5VK7i?!)4%h%`M&$w!3P9`r%%F*( zW3ddk9<8oRvPt<8G((n{FSuocR)peI^W2#ommUUJR#^`jgos|ZXAKk8Fxq~S?bCW0 z?t+1OtgLgBGm~vBAB>Z>F=@!eu$^xojJL*SE=Pm7P^sOW`(P=d3<5#TeoxjJg~P5b zPdmY_ET~oB<}6P(v(K@ZgBvUZ6GSS60lJJE<{?hq6YVFc1_2uhai zgIOT}Zz?mj`e0#Tlj*S@Y{JZf$GZ@(?*QTTg5Up zEHeN~!@aJ!3l`)IbbCwMny{C?{cJ*`8M$}VR`tQUS!AxCfHKxvdu)y{qoZShROV4o^9|b)^y`Y3D#5jq_2>escux$#JC3j!KW| zegz9~M^o~XO{;lDG&|i=EEY^|wR$R%6bv14Yid-dl$8gt6Nj)004h3K^Q$*Yq8vCF zs?~M*UKxN2Ian(npd(k5miZvfDYsKwAiwOv5EEzy1OQ@J54dqIy zV;;C8`x~g4S-wakWDaCgcEwPa?}e5mDv*U6rG9utyBf*(g!Qm(YNXTmBAiyu6$MAD z#aFlUHM(in69KREv*o09Y67G~&9d>qoL~@Pa4=9%1n9B4$}mx?Y7$u$@Zzm5G#0TA zxj4h>r!;IlgtE;qxO9&qjIX{#F4`<-xG@@B8`O)M@%31 zM^gN zKP9AwhH=K^m+wW%5|_|fc&MSe@0F@mCuAT+vIBjv&nKOURJHU$w5q!E6(N|(u;k0M z13$gI>};h~kup$O{jIJfV z_#i;a>8N8|AGkuiDaS_k_=F!)SKN#Ku^3<_)Njf4O7HqqxsMHS()5_?^1X;@A{uTW zBHs1%y&@c4V|ZQ77LIM(#yLTQ25oHHMq{UOlQy<(+qRuFww;{V?mgfAx96EX*bDE% zo@b3-FRlq79NDwhjY^fe)PSIb`&QR&xgyn?9TbjI)m^I(+__i{ocwwNy6v0^Tk6FA z;8@XPt?&`{rr?Cj`>uL=;$E$&a4)7>l>+@~1Wt=?Ot9)cASwwt8qSc4)vi6-fvE0APNTm*CMoHc8FI6%n1k+(DdO zhP_-1vyi=|VyAX_o( z(9$*aW_xjC5kzRSB2OxTei1RTaE0q%Qr2aj@HNP(Qkf${PU?0~{IDul48nJVWX~!! zT=MTx(fmz+8IPh1y+!M#*j2aV-#AFx;&xr%-kS6+1E)E?no*JU!KGjXsxGbLAuCPL zy|wAmu&}58)}k-r@DxTspZsK=uex+~N}_+wMu9JBGgQ#b35qi^#-f#5Y=}(6E!eE8 zKwK5|WuyFHoGuKu4SiR-cw)5I@SG1#K1q4&R`>zjCk5YtxJ2?&PEbR*i%NSbZ;*+Nq(_!M zGQx=FTjDsvk~50fGr>!P?-~!RglIX}YpM9t5`Ov_KUOjmNd8!ks%v?Th*6~e)=8&2 zCrw7y_T*zT^2mm4?88(p%mezzN5onO+h4Jz6f`bF>1J1HMmqJjzS$X9tyA$X&n8P8n-Uh3Y(vR$mTdn z6eVeE_eON_PrZRqLu=lN-Mv)A6+Wl~@fv!sH4-%BE}tpRXA0k1k#sp=(+2bxzWw`H zi{cq`5eV1Yrb7oeY`tYRIISr>%>{VJ7o-anv@8-@2)s3@bDa9dL#w*L(%!1URjiBI zkE}oEi0V(RCa)A#rRs%%nS3`dTI;_clR%)%(H|2QL`iLDW!iLw1rk5rTw| zE>j&TbPg(B-!L&EY15(QSYX&4l_*-H#)bW)Z7{|@HpLN_2c_|H03Y2c+;vp*I}58S zv;CpTK*!%p1)D3FjN*nI{hGrhA-H5Ja-fp3LcrT?y?=s)|6Lds^O~>sk%W-WgiPUm zucvo1U$_?D8iMUoNe1rJFZ#3evX39ky|C>Klj~4JG}eZ7WShw56dHB>E7cnlBSu#n_&A6liuMpoN~%egEE6W5#4Ivx&5Xbkw5~;e5!VC3I`h@~+VZ5dl6E zs{d@bcn*mUZCHzFhKA`|TODG~k$(cufb8I=P~{gb;$XK=5R8o~|r1Y=owk6Lv;4lO* zO2MWVmI)Zi^wvmso6@BFB>38#YzaGtobreQ#r^|N6I^`t!Q@Hm9nlVzIcH_1KRjuH zzE^IFlo>&&GBuu|E?sl%E_X6`4I-9L?rOz|ju2dOQ(?srIBKdr%BVD}6bbNmVA(kB z?D&mFx{%O}JHcdT*2pQ;Hc$tG05})n=|XE_Yq3tWo%MzL9R!?Aad4TMkFzS_g~dR0 zYQD)Z;QjF8g*%Pb@Aa)P3Yv2M&Nw+QijF?7G8#}|t$xtr_k0FRfYgPCOJR*RQBb=B zt3;U!xzG)z^QUc*Qf4tk=c%vaiMP^^^jy{OrV@=e?DpsHNZ2E^njbYRE;|?`Q`Xzd zuvogme@lhbUZ-hw4o7pnv`gC7G;<5SB!BNyRA6cX?l3lGaxD^e_qaV(5P6aa?Qr0f zdcG>q*5@dRm(h<%UiPtvg>e+wFY47lki8=bFhZOex71v&u>Ot@HiG7uMt{R9ww3!P z&8=6mCRjfpYx)GKI!ic%BtzUwqEr#BKpX>qU7lnM&2bRA0B_?ReABCufNS)0sJ%Pu zOb-v0pR_5MiYxrA$y_kMnh(kPH~g97nCsXh@H?%iPl6B^S+`%n_ng1{D38V`K2!zP zhS+lTqE%{zoTG=D+Kc3)K~ikpcLCeKRwr4SWjNaIAT~wy4m#T+A(GTPLawl~4g47) za?Y1{{37IGcgU>JQLXw~TFb=GRY#ydTD{d#h0*Pc37r&vK5JyqD%TnN>UjB@W1@!( zjdvc#IjBHaIYPHJfX6gW@9}sAz`0e~!h5RTR<=d8M$$y3}epmIS za{3oNWQixblupzo(d`jE;Eqt$N?gh#mlOSq^48j^V!^iC(0C90b3a=8_bm|(vgvPB zx|n}b2lQHSxaEa53H|kV+zHyP_JKq6EeLu+1`jE(-ytWH_5A9%GcfnCJ5ZJojM^nI z`apY6El15H2^GwqRKFz@$@@*l&N+YH+E@2F1QGxAr7ez=?Thwa`k^>kHUDh)%@&P- zwo_COl_#lWT#vZM>R`C}34>Tqitt!3H&L%`FSoy@5V15^lDr}p1`sOeNIIq8@)SgK z27&3ATO=D-Y>`H@gO}OKvq#P^bl&nECGt*+{AC*uK1$>st#doP5=FvN#Wg5Y42~5z z#R9RM`L8Sq;kNF9JjAoN&1_;D`@h>P$n3>`gpi(-Bw>hew2##Hj=OFwME@IvH(+qo zik1&`H-zM0>kA||Q9J*mrTf3bpW@|tZKL}a zGxG|Rd-`#i^o|3JT%Fuh_orA1=EulnjR#7D=nIA%v&^~bW!B~;6q=(Nm-hHgN1N8F zu6ic7rU_FtXBmGs)p;#O+{G5~t8t=Hb>~{C?VBc`e|~xR;akhrf)UVn%85Apy5giW zM;DA%qb3zSfNs&>Wg9wd$VD>3g%Q2ixL95N_d)o6ox&{f8drFy51wp4AURTzVQ=Y@ zJNXWl7FXS8M-{O=GD(ic$>iC2(x~NLQwn)PGgr%-<+wtabdYnv)Qr@V07yib zlPpHK)a_Cdb*?wKpBUpseCfB^J#axiAjf{+_j}qUk75BkU;-_~iByB6Zz@|}XY2I3 zbx9b5kysivAgEAL11`yfGgX6$kZJpxS)Ar!ENUs0J%rzAaRoa}ApYyY$U54oD^g=X zrHvv{g~$!XZ@*r);lXmxO-BE`vY60_SBac)dw+J;kP2J z=gc~qg+DQK+tHC3Md4K&?zBT)aGsQ@>^+cNOX54@vy}VdkE5x90@{UwQ_>b1qVZ$B zGNHw0$BUMtPBo^jG23H#hF3=T@h3=w97A4`gNBMw792JnL0MwbP9=X35f5`kc30?3 z0gTjQtK)6w$jaQe8z50IBrHCkt)3*McnRVzW3_#Z^fvNg@r&|iCn<(=Uf z^~Zbr^0U{l!_Bm%O!gPiS&TFR@eYb1MPKdcZT<4egW8d=19_u?ln&VhAW06U-IZ z3*v9fgUttxkVf_FtUQwtxJUVY9()_9vaQv;qIM+BLYt`6eDGy-j2tfzuf278YPV){ z1@5ei@Y$|Z;nQT$4^g`%O*2Vy+}A6|YEuwPAE>P!eJ_Yb{aiY0u1OH#8q|~;j{>MgZ+i~j&1|rG=;rcKeZT(yCZ_Y_@lrA z1{j{-x4T791e;|flCv0PdR`99iXW;jeopt{c*hbs4E${EZPfmhJh<<L%RlN*3*YH~F%>rs@BebO1qHHPHNbk?N}sr<+GztZT1lH zdt5Pa&W>-=$OvvvPKw)ocFdk^XS(%V5mTwif$92xg7mFsK;Vm^GbND>DQ6G6WS6G?JsM zS-dQ7*jv^)*|#SZl7u&eEQ&Bxj*P9&0(jnE&-}7LbdrudfxEe#Qk%;{RZn`BBX!A%N%lQ=fLkk`+3A z;(^;=kjsCS*~(|`+dg{`p9So!@uEo^pYcwZRnl>bGY4GupV5Ffy{>CM)6StL^Y{_! z&2c-BYRpF+4`j@y&PqFZZ+QT@PE92y@6l56>h99+c&bL(>q{58MF&?I-XYJZVUI~p zZ2nhz)%ghj-xa}*r^;)IUm;h&gbw3bJ6Vk1Zxp7}jO$cDwC(&Li1>SO-@yin3ko!Y z&x55<(Zti?vu9?2W`vtW*df@b|8-ZeFGV+9uP^|Klpu2Ib1D`bFuq(4K#{O+L1Z6Ry4DD*jC%+tUMIQz!Ur7=>4LWc@fg2 z#9*yyXYqD(o(UFV)suF7j0aM9GF`=9iOw4nltfA$Mf(Ta{} z-F^ZIiI#*R=f}GAay1qX%iE*X5ER9e2FK+&ublQ+HVlWup3R?~>-Lah1#D@LR z7IhOFacgi*=#)-ps-*fa**k$PI!b@OEX;d5mbKJJ{~U#tyBst;e)%cPb-dQ;)sP<9 z3Xx-(Q?RW;*VCJW`a;CkW#f(iKw^WQHHIisHBt2aYqXafE^~XSnY26rsJ}V}n(L$j z@syU43q{Lz*8W-YsF)Cf)QBsF33Io?!I7E*7-U{z!BCGO98UvZE*|0T)L z(5Q}=BrizfX%{US+hrxs3BeXd+AM8GukXbchocNaDnGiKCn>*SJn%B4btaj<#HNUYu;B-&7V?L$xWHC& zRrzTRBB9BxtLeEmWq*{_p9L0X>v=%3@OdDPzz-eEeEqpzvP9aHYqoR3@2_BC+H}3x z5N5M_OC+uI@*<$PS}N=v{N6hUoGwndLz;B#{xaLrc&8y!;nOYw)zK7s5RI?-zQZ*5WPUDdnix-!xcyH@ly&yqOe z`=MCAGNqV_9;dPRIXOQ8ZeE*&zTuiEYSu83>r|Y8%9HmXT=>rZi!y>X={?u>dj|6` za<~IjNUo%V!8CeriYh^#ReQ6A6Ac#b16BBQieLQXm{VpyCQGHe?s4dPe;^mBgu?6l zo@xqY*EJEL8ve?qg7oUoi+IX;*Yo*wG?#RP;)1)rFBIJPoR!g@joqh60oJJ`nRRh%?!w&GA_x9H!!iafeyQDzNH@6>OJ|Ik{}U);FtFm|jG8QPBVcLO8;roj0q11oY@Vr_(*S6q)Nn zEEb{OZ|~aEJsNW|6)X6u(5@MMso#L8v<}9~S`@j2d2Dwk$yKc=jLHSJN^aC2UG?G8 zfS{%Z1u?{XmVFT)f2Q=>2HD^w@rSBJS^jv&+SiXybMF270TfLIan-zl(JCAXJtwxs z08k~|I9+5~;PXq-a`?3GJt`jQ&w2(ooHTg4o z;6=emPE-!B`~bchMUY!d2r`l1;~bD~Y9T;&Y)`u{9~yWvivQH4rSFL+n+I2|?%0@u zM}gHXTZ(tf#8i$H`Vc`lyQ066?2@=f1wQwoHhNlzlF~=}6=TLSDZ+*EqVOuiqMFq- z>o}7zS3Cxpn5(|{w0k7oUr>x0-%z@};zoo|v5H`)-jCHSN3SEL0uxg?pn(X9%N;E7dn}+9-untn@J;IaCK!K` zKK@*n;*J^UB!~=)i8q8=yx}&bARp;zHLDy8J@Vb{S{3%=Cgi)X4HwtJc?a_s6pg6b zg;Ir{h^o)`xY)r{Z7Vul!4kY|>VCwVy&;O92}wt$rEip!9Ar1L>rz`-3oDYjty>4{ zH6k8pDV5n!zZVDnC3>)GCBN97>L!F5&FiXOz*65i+J1=CX zLK(^tLU=q?IM8NHK5oF}76^Oq5-dM9s^}#UYY!n&Mg#kismthgx{~wQ!*#iin_B9J zx@Xl2i;LtQitaj?`$vW#eSi%dB_r%|;y%-8NcfORIr{j1k68-?Uq+5!>zujf?V?lc z^AWg#?s3-d+%%%#1OFP%n1AS${zy}5<*SY$+b=?Mz0L#l1#7JHk#O|>pd1YPHrLlh3+D@$9N#pnuY&RRYnKh! ziFFxPl|d1bTBHD2#f?8$HVIEiDa|1FR{PFF_+Z@CCMQPl9aIeyllyA~cd)Q7_)AU^ zbkYtsBcW-GGT-$)KJNLg#%Ruu&+=+9MflEWfP&MB9XY^e^HJDRfwn|G^wD0PZF5Fy z=(Xf(3weeEH0BKPL!%H#>ejw2vWUv12JO<>ei5SwL;Mk{j;vkRGl5xMV{xDpsNtJx z!lIW#gb*4PG^Ea$jp=EfuZ=p%m^CKu4El^MO~9#c#9}y*t3fMRdj`#@AfU zw#MIzF=FoPKj(VYgotQpH936Ggt992aSq{dHZZhPneT2azemxlz_;vt2C~zmhi{TMmMeEeLc$7adJJCo#e;=CT7;%5~w;azm$?#XdW`aR+o#ktIA$j1p1SfU`de z5Bn-zGO=B7_{oxD=w~stNTZ4xQ=>Y9S3$#&ESa7MHn_~f%|rqg5O=AVdE}bQjr zlgq@E-C!oR@*uxG^F~rUrkmyh7NXu7YR59#Jv(ru)ZklitA(m{bp;>(E#pxXsn7bZ zhI#YkX2&jD8vN!wfOM*Eq2Re_F9BG$Ml|GaM^j0fX4J8$G5ZbwZ@ zDu}w&4*8Jp`HDXxq7SO}f)rkjg8qc*JH;%Mg zd}v#Mh+RqPW-;M;SMT6ml4q-3351JhjUN(U3^%muCzr5I7Mq1}E@fID70ep5F$(ax z*Ih9?3(@RnD;g=x#E&QMf7A#n#Vua)u@V%=@{Ye?jgp`4XpxNDLHQ}Y6ndTt@_ZM^ z>zFe}NbRGu>9MLWVCk7PFBNHTDih~sTcc&7rWT=TBEfm-fFD_2Q z0Thh3T>>@5sw?CX%-!$JkD7H^AkQg=YMSx`>Uc~4=w`mKsR4K3%8JWfzrE+yR74~- z$ViIb!4GfBdVWra~fAh4)+Kw~oV=$Yz#t(I@BT)H!wIuK_tD|^_}3Z7izG^S&+ zesK7}ath#6q9^-SN_SV{t<|Y!1&eEWpI)Q6(ap^qVU9Aqi-q z=7)ZOiYGkL_JUZitr$ibmG3L`RO-l>REcIkhHc^iuv0}pGY>%vh7~pG4lYoK=Q*bI zBwcD_!%M4L{=;QT&gs@EtAvtBGv7saZU>3*-<3$_<`vRAw`7X^>Ydt z7ugs-bcUy4-IF=2eq~B9mAIeKY56UOEP}+7{4g=sw ze)mYh0CB0WiV7Jr`h9#~Ncd!xZNB-NYj(8z7`D6;h8H(VJNkWSBfkODh@6DTiSGG? z_rz)3s7V)2W!-CT)!$v2ax9If1F=9<%HrfBCm+9HV=7msev@?58Ad&qP;9-xj7SXJ zLgO=N12W&+pi#Y_Se20V622xws0uM+a2*Loz_W$F>o)OSmojX~g08A*U1l}fkLk;w zNK@$jl8)aEjlw4Dm$D#;)d0>{H7OqE|JeZ;g3RYNbMKSWxv&JvDc8xL2%OtYz{j}* zv$TpktoZDjMCGra@Av;{JGur|eN`;{u`Ded*b+W}^4-E680z$C!|`JqtwsH2JjiQW zsoo(|!c}DcP$xFALuJf&rY$YM+K#vEiM1d%f>mPZ;rJ?kbhZj4z&iXrx9l{V1K?QA z`Uq!;9b8)?9EO8%D@au?PA5^*!4$I?nOcUAORvKehp>vi*I-i;7%A=! zqBVwK=Roqhp~AB)nLzJ%4%cng&|hYJrFK(-)h~L)ze~jpEwkO z&5(1~I|A;6iip>Lz*~nhWVZ%9?FBA^QnDeVlwc~+tgsqe5u`RA=Eg2ZVJnXLq(_c` zWnM=4+ooltq(?xJr*gWNd*7F|ijpo27GWRUH1HXBt+Sovwdr{%EuPUWS~x2=N7?Lq zqO-YCpIDy`j(C9gW@a!)Q@k`WFlX;vs{MSiVoZ6?mN4nXPp>t{HLXI^uPa`Im%mSc z_^dG)zE46ms(rk?3Si$I(Z5(>dDNUxvzgS+;_lg5DAd?Q3M<`dlQn9hd81ikK@dh< znh6B#p+R%RbsZEQNDjTm14)(&?baW4HNnr$Ak4Eji1#+cty~S4p{r3{qUQ*JOMW> zN=+|-o>$XunK0i3Y(&z2`h$>pxcaD*u6v5AP`MgZ1vAa_}u7Y~Cr zo4z{|7Gn*O;WzwSQUxA*XCSDmk(<@`F*Y*$%c26Mem(2SOMAlEokrOmBoK<~w1u#+ z(BtGxgIPzg?La*_BUm>zW&Zr!kQ0X+R==L~LX=B!cz^G0_6RomO|!^@ap=Jb1BAB< zJ=ofI8y&13UH*ZCMg81vj(65-RpzdOUpU*6ZIbZLL^hx8-{RTc?zPMs3=lQ=0sr_W z0MX(a#92|Ieks+JT&FT_L49(h8}*hw24hfJCk}0L6muT61d@9C zuIzf;thD~%syR-3vX~~-bRxM+gr)u(%OAHm0JjYRDkgEymmzVu4!8CLy(hEjADst8 zINIma{_3V1#HC~UI(*`Ipuo^1Dnvn}<%zC-vl_I8u{9&gnwfzg@prAR4J<##+J?>u zF3y%*2dY=38taa2R! zf60O$MYJydRSKY5UNC?yx)@ds?I3yMlb4K}2z~^)LXU^#3IVG2m?HFXc?I`U@1z_@ z^y(6rBC0A(*a;)#%jrJ6%yBifE0242B4)ZCOGiX@4Lq3ZSKBwWvkZtZx~G$9O27`* z{xOGeXGIM!i0;qM|q6@Ba!991~g#WWBZuE!#gzWkp*37rLAX+W+ z2D_`eN&5pKg%s{0x`@rN+LU{IOY-6|6G2Qm{0V|g=kk=_jbMeW6vWG^0fYxf)aS`_ zcW@Z%cf_Oh6%2c^mY1Q~dro+rD(Ex?CnVhET#Dg!1a-MqJ_;}=0py%S8|Hs%SEXyw z-=FS5+19TdEq>|kXiAT4ewo`JHCZl0v^gReVIk{&G%;`JfI>lQUbE?p^wPvX8=f~7 ztaUH z{nvXQhkrPG%0m_5mQ^E^wh+2NppV?l2mwi@+7*ro2SXagj$>35mdP8{$?zD;Hxv7M$hFED8<=Yb~6U z*Q&bkcHVUf>(|v&F|qJ|;!JGn5rt1KA@`uy2=FB@M!t87WxUVgO~fLD}UA(uw zxzK-SdYme!DUL!{KU$17`gfR~=A{~b%bsm0U(mtv35QnAZYOwGPL_}6*B`F*94kqX z)NgK$g(HOfof!oV74X|e@YFK^{a0}$4>zZ~^uHn|LD?AJdK#%=wJS?{whXFD0ro@K zMh=U_F&x@|f2lJ~WW0ZuG|p^V4aMuaszp4Ng^oy(o!}j}u>3^c66s1YdY;}_C2WYH zodvrmtMM`p3GT}9E%lxl*kY`!TK(0nPydmju`j~wa-KSF_VOH`%1hclgHt<;EKJVb zvZpbFqU?)5x_&)&TBVJD*Q9u6%L+q;e8dsLf)A5b#dWssu=Hd5tpVF`q|Bf&|3wii zF0F?PYf}wiVM@ju zGIQ~t?mmL15*&EYwO#WL@7cTT3)M>p*qG<^yJh*Y)~{y0&ApBzBf2>;)UWD)Cb?!G zGojxmL_8LNcqgm{pB`lLPtW({EFB_^wJFIz6=02$`Z^O`gVeoFU0_V9Mc!R2gZNw+FFau2<^6bp_PW(J8U|-8dDp_zyXIS__kPr%&e@KJz`vplw_GE3 zESR=0SZQE@+oIblsM!_(eWc%?R~F%>+1#|U_@eLZUzqrb>u-!J_~Y6!NH#?Mo5R#F ztJTFgFUlT#sZ&dW(nbc>VlxjZlf_~|l~0bv*UUpm2!3YL_3?+dxjz+Q{_kL}~kOhASk zk{FE|LMUDgS`Jy5t$R^VZU^rH!v>ZMuz6qrf-PHi_gLb30yL&LplB!{i4Eo>c z>DVEFt1?^bT5Zbc*%sz{uM-lIIv=|;g$!HSqKa!wpon-l*9;)YThWV=wV@xi7$|{iIJV;+wfOnS+!3wZG5GMGZCbN5jcbAF z2oU}Gm$i=~V)L|y2U)2c*=?T^+KwiObZ(+Z;d`{LI~XCgI`Yx%xi03#=FI?Sq*TI+DZ**$<1tE0uKwMzMfl$8#oK56$a9l1!8NHdpBVV~>EhDy zezc~6kN5vU6jHqq@gm8E)zzpW_R&G1{Km{pA!Si@-$E;FCG<1 zHK~Jv;?N@Z!PoAcs=#B6X|m0bN~ihAAgQFF->E^i zbf3Z*I$dO02Quw=;jR=K2iW!|n{<+4Il7_$iQ=$-R8**==z)<64E21E|Zsf;Ss8epFOWJH0au6Ma&`1Wi@0e4xur&$vD7MX@Sl_5zBs-rW0;Ln* zZA%X>3ZlSeK{z?Z%ZtX^{XUl@sGLS&_Fz-j1#iiz)&YwX8c4GM-l(+3zk*DWWG`%M zK`af&@)MYGUe9bv@_(Pbf9N5xZqu7Lz7nC}D9hF&HaV~oFj|P>Sw*TFZl|EM*q&y| z5Nd=kDoFP(vf^-?wM_{-%Qzp;r+j~dmnlMS24b6Rs*B)|FNJa{L(vRE8)q4OZP}v7 znf{NH%H?yCGsjCJ%foj@CEb2$1#kSt<2Qi_H3qPcs2@ZBJvk6eGV;hqQprM9e`*8> zFK^LMY}{&6Revr8SnW580h0*0l3=7p;YDw$#4jFQhkLbPw9$j6U_p(E7erjSmLU)} zd2DB__AM09(s1wD5lzLfB4i&Tma$W&=H);GJLCk=qLq_y}Xo$X316ypsO_3fU$ zHBdVyWO3t3{$*3pQnoX2g@=s$B#=fP!`77nOqSwvOVUbNkB1)wQL?!`BnnmJsR?eV zF(JyWZ}lMfVJgVw>mOR6jJcNNTyJ$S`yW^k8x8gY}ldKWlfy?j~0B7AX%#&x4=~%Ji0&fAlYvY za*VVAOQy!#uAcm`c6dJov6c!IzLY!_Lr0zOv&?kIu^~zooK){_ZYfGqjp~p@+COE` zI_M6@MP&x9@}Lb@%qY?7*7x2>fu}^0sGpiYdx{qGp%D@>I3qyN(RFfu-w!~jcc5HZ z7Ec_3#xxUzk?3Z|)4j208KK5Bnxgh|$=%j>*tg}gd;=m^O9ZSWe2#IXIqVHE9!2b& z3D-Kvr2c&}#5CGw)2i5d1ekr3@ekxJ=+lU?!DfO(O{5y_HfH1Hb>*~c4Hq@VH2dCf zlw)&B1)1W)rJT+dGM%F}BI&D7r8m}G%o^!NMm?GUfq27F>t2%_I$xwqYnb*uGuF0&Ven#f;9od5*G}+&#Q!F&g2Yk^7{g0wA zd5_cx!w|-?KX*o)<=c{H_Y= z?cR0#P8Mpk{(+|{ z^^M%jp>KfEZsl4r)jZd$%8(flnBh2;2VXL9ESoQB0_qUz$>0;@q;fCu)Zg`EefNzF zb4p93PJf^4qCL8eys1vQ8!xS3xLBFF9UiHvgxIk3cKi07JWl=79lmnsqZIXjz(`fY z+}$p*5i%122|&>$(lXIC%5a*6Do{SsioB;U@A$B&ranv?-4EEbmpxg3 z6|;;G2-3Pj;Z}+fw=@b{B$5WBlzJ=&`?PeHf?OyDXco9CkZ?)qs)V2rCIs58X{MHN zb<$$*nZfxX_|A1DK>q8bOGM%m+mmBuP&r4+5VEvfQ@4@$k)Cqt zDv=EFHr&mmU*Y-++tv?OG~0cUg7<#^_1xthu7OA;r+kUb?0l7M@uqR~wq&Spf#LJ0 ztpe396=G|pGWwTZmy3ZIv%I?@?cWtYVb-(eLifKuyxs7^ESqmLM7ahv>#hb(_t3U_ zv98Etx~%$LDM>ehg#e@#e~o`b)xxA8SzrBv`SMyG`{JkoUR`g%kF=2wE<;QzGNaC` znmoZ?XR6%t`{zd=sVEfSil$)VhUQjJrY5h`1uVQZnA>#-n~@`=W~N|R^LmeX-6eJ? z#&H+>4pwUq5KQO5Z$CtR>j$?m55o4_%AfRzG*ZyCV5_7Z6Xk+K>P@_RGmE#d44gn& zJ`HKey_Vs^SxWJ@(RoHr@KM+Q3(Ar)BbV*v`rdEI%N`aXrr&_&G?jvQWAmB@wml7G zpHv%-C$`)Y4CpFQ)i1+6-GE_%1xB#WZt=YjBZvK3I>=^q!ZKh@X`FBr<6C^oyHo&o z0x|Q^BEPzzJ(4B+PyE`yi`JHo#i=M6yGH}U$eJ#iVL49mJTFSKHQipWXw?hZ>;lUg z1MU=i>O~Omu^b5roew`H_GblLuU19SeBHql8mJY(j%Sh;z!Or_?4<*7_l|GV9(>0< zyf-+SGX4o_sZwJu`?O*7JT{ZYh`0KR8W}qD_i6>|l~`mK+2dbWq;JG@Z?Ju@ev9?D z=?*edu`Bp?AdN{a3jQW{s5k2X1s)en>nyaox%qkxq#!RER55T*GvxYhkJ&vhX_yj- zy>^T-S+?Mx)F4(87%dXozGZ}fseD(uCNjMBVeWoh)}#uvwkL1@eJYO`6Kg;E4`oG| z+Wf4jMK@R$w)?tGyiifZOCNZ(LfZIbWnyFgTY9+f+gJ|`Sa}W()hc=H&+MVI%g2}& z(uD!Af65n`lCYrcaDP-(tT}jfk=y4m&3Iw1oX^l4>)T`An1Z?ATD;h0ZiW8WA`+^^ zMiq87M#ISPFaSnFGPa39i#$jd=Y6Xzu-O^ctO}AYu|dU=57A-$kL8g9u0a=!?HFH3 zLDHj3UX^Ol@?*hebBRd$_1O(D-GeK0vI17r3(HB~0q#-TnGEdG@O&06W(oeJk3)|X zFST0|{>>1xw(qO#NpskdV_175|KX?$Mh^$O!cRqPlXdj8L$oI+Y?JL1 za0ajU|EBD9afQ<~QlA5pD3k)M;PSVDh61qb6JQ5LfGK%#aW{#a&VQ6}1y+l>foe+9 zqPx1~XAI*ip!adv?pmE{pHZ%T=gcgWFNE=O)=p6TDp5c7;dwbWC_DX2A46WW16WeP zWyZDFRBQ~I2nZsC-eyrzst+?QYx{-4MrU%h$%dx&-()Y~@^@v5|Ll@nGBN9rh?6*C zYcUTr$iuYze9hwtyMhOc`Yrt_p)_Y7<0i4C4f+tpYoLp!OA9F>^2= z@ipw!XDH;&1EFC+y;AMZbvO(1`LCCTUyh3eBIk}!e*@xZY-~L5A6#j`%_o*9nK4$` zpSI-ayKX*at{>IfdpANb%REqUs2`|9Hz*I@31HF0tVN>y=4SNOJra#_Y2WZqAPz7+ zoYEbsZk}UOdcTCFbR$6QtFJDW+=w-ctL;XUZr%q^kS6*s*0edniElSrHam8KTFCyV zXp)lMEYy}kE8+k772~U7G`Yi}VqlPPM16DX_XN8$D^@ArHrQ%+V;8WrNOs-Yb0U_M zXs#deID<;AUvDYqM)IV{VFtpn9OY}kiJ11~qT@#i(qq;7Kuu(SD|C=RGlAaIsOn&eVyT|Um&xht*DU=)UC^*i;qVLt2=U& zZ_eSqk(_(I0U^|G!B$>G%6SEBa^l2m^;c^Ca$A88{sPXm#?E3{FN0X0_2}IYTbJyr zKv=pZ%aAt{ZS%VSSyFG>thgdoRaF(U|1eb`Id;5DJ6SgoP8aNqu)mE>goC4p9?mIU zFyEDA$tP(sJs*u;!oZm8Z4oE3eMLz9B^CnFiA(pMPkntw?by`sOe^k(FZ&U4Qdnk!5KE_aQW$b6Q50+OLLgit z+JrBC>a-y$>9j&3ER*Y{2}I^IH(zS`r2QYRQ{)0^3ykjF;E%=pA8vtV;MzTaKBeDc zdJ1cgr%GU#bOO0|X5NinNZk8LDsZqhpH^0K*@iKhOqVniTcC}r*}xAE}lgf#5vt!>Gz*~B&%cEsSgNRHEaB}#PrPk zd}Lq{y8+q{fyIS2Dpp}kqzb;5Xh;Ee`bcSB&DW4)i{+1iRaGOSBNf}&?@G)Jkaj+L zW#a!hy6U(nn=blN(%mQ^-65SKOE=OiDcvF6T_Pjda8J@cjk+ zcG-Pq=H5H^o^$R@NZh%@YwNDdpAQFhMms=JWc(DT+=u5VU?wL^Vk&;cPa%h+vQof; z2$a#qHgZwFWUi~tARKD_8pv~k50`_U)PPIskgE3B4g9s`O=PTcHd&7I!eFGwV_FoZ z;V=lFIa_XPw}Vk;=t|bN(hqtct#-%o=YRVT{hfLJk5^W{iYQ^`_zpw%BY|6vqEvuK zrv;B|`}&3d!I*m`^8-?BIas-O5CeM^Kf&4wMnKdTnR>!>5&vdF2W0Mjhq`Sy@s?=S zRJRnCUOxju#cF!X5F!2TB2BMxt6dzJyDOvGWvT2*BTDeuePB&5U8RoK9(UH9x!}(DBsaGW$t$HJJNsbYW^LrQ;H6w zdZOT%RNzX_RJ6I~%byN2$vb)t)Jj=UAt*iuKY|wqUfkXR!KuK5jXNAmPM3ZaOm&y3 z9i4u89eQ+Q8Lo#L5H~@f+cjYqjV2A4pQAo`t$W)HwbX4DFpGiDcYHIk((->d{w!OV z*Op1d|I*}zqSuf-&QsP6j2u7hOzQ7}DkrJ8|6(f>R-UuD+qlzA@8MobxS!t^ zx__$gPz|dRCNE^IjJB2szJd6NY0w^UpQoh&5Ch1p($p2-i9hXUaLr@{I3a*Tk$%9K zn!~fyD}UO)!{TZWP_7bonnm-CKQ)%`go)kphg0e^Pdo_sPs>JM{+rohi)2`@<+SMG zm(NNKIf@94Qetl%Nmo=goA~{gy7@wR4L;P-PLnSZl*7^^g0L<)RoQQjZ?%HRZHzoJ z@`jE$30T^P3OtDvTC#vwMmvD{dUhv~7%~5Fe`kHb8!^{FPNqL!%jwjjM%5Ab_F&6o zg-=R?1gM?1Ozy%t*+O0Uj$Y=$!!4i+s)|?zTmC|^XE#gy`J1)OvyxdZ^+-yxA4bMw z_s3(dAmPW=q;NFosM&alPQoc>K!0{8tD zQdqiDI`;bO8ex6X4Zr1LYoi-WGQ!=jd;S)NL3htf9UYHb)X&E!&;6qvPuCp}!$FU? z4SCNGqnD#w5|6<3P&+2TjbYFH!yUI=63=((CV`I$Px;RWJI`0RLAMn_%ec?rJc)bk zVojT;l;OjZXHjQ@a*2R<=RwUycLtA>L5Sc|q{e=h2Smt@NOqu+c|@ zpy#`-C*0d>-Jsi+yrBD|bd#XF%k;eGwUQO!R-wn0pz-~ui}aw!A>algT=AzJlfb7V z->FiZJe-BYMajkBT9uhPIfcsnL8o%(=(C|VjgIHd5`S^y&vOQB<5y6hh{JT!v6koE zakZ`Tr~AX-D%<9BvP>N&)jO765j2)p{OKA<9V=D+9g-`v+OD5*s}DqP9|OhfgBaUv z1PU^X5sri(Gp;^T_MZvuG1tRoG-)-S$#BjPy7&Io zCo&o5cwbxGWUST$`{ArxuZ^uD)51QeHpKl2#wN<@6=-&GfL;O|d6ci#l+G(hxqm2D zMtVdhyfRJR`kE@nrX}5-QR6C=X&Js}k+>dRaDz+}n@GLwo^0p?Jr~#^r5u zbIgj(xq#A!heM2LAebt`BRZyl?!m{EqmUC>3RQ?QjP@sU`VorAKH7JYh{fLltOdqu z4ymoFp$X2#a~&x|SE!S7oOBQA-423dZ&c$wMZN?ASJoG}es@>pM?9XC1P=O@{GKsZ zIYA85!`gDeJ7+ECC(K?c+R}$~ER{ujh<8nOnF!839;?(+2i)E=`Txt2lYrls#rD%~ru;xFsB*(A2uWeme+DG^(Zqe z@eo)NUqtJxA6z!-U{adZe2l@At2~_N{QZGb^sIIPvXvMes2^eyS;Qvkbh)&mJ4B`aTl$KaQmK%I{jaMC?vd|$p;V&r*tO!C9?QbR+4-n^$N6r_bhQ=u+={sN zKSl4e2mU_zq1epwgm|rO!i}VNG}_(JYg*4VVRzeYL-8E+=Ang9&`$;%>%+ESG?Cxp zL4`Hiw87lxUb`(p4^+?yUcCYf#-hqxcMlOXivIVsHi!(cr8c#hGGwsx`+hk_QtOL^ zl#8+Q9}L<0ncw|4E@hrCCqItiji~2mAszPDa)KIA=exx7oaYEGJxGejLdWt3E_%l7 zH?s~eNX8fWLhGUl;v`VNck`wWT$14^&wN*zd>eKRDUu*UK-xZ+E6_+pa$%ksaPJPf zeM7RSaKdEwd54;kWJOfMw1Y2UT!l}OGy|pIU{l7lPrwGhIB4Wtw3e3JghC{W^OMYV zhU}$-G%_Ego|fmL@M`{*?550W8{egx^M##wHQmqP4`WAPa?)3LW}406m>XN?^R`RS zupd&&n8H6wul&BM>{kz5P21*D)gApq&Yu_^Jx?QaaDlUYOfU`uby({PX7&tS-P;`a zc#~;v>-xv;$?CCpocm+BXwNF?$*CXwbl)HRxxL~pq5K&fLj*!93b3-Y0vG$wZJ*+$ ze7h9StDbuGr)NVxo;k*7`kFb0zcgd|N;wVJr<9&~-w)Sq?m}w^?76&Wum0MSKqrjj zo5plv{M%$(r=K~bN+!pdw7imJlOt!5=Zve|3L_zLr1pHg<|z zGTan)L871gV_k`D>m6_WYG9_G~ z)+Ke<-(fM@V^Z%MDI5Hy|N5nfj}V9r<&|#Lm5bcTzlK0*<97`KEF+AmX?otWnbd&g zUzy*PYI?86xRCnmjCJfddZmFdl(M$=d9{zv~(Ui#HD zY-579ayd$vf3?pD^{{+OqTKk{8`~pBm^x{MRiVl8CZ`~Q@5pcM{=E;87GipkFd}fY zxO-_t=zrI(i@&p33MTXg{i^9kA*z^vc7%yE5NWn$=iNiC z=zn%flF8e;g>oy*@h4@;^w9SRbl~~@{Vb1dm4k$qz^LfEFgXc@&aM1@o?GO?>Rvm# zgr7;$d@G6Dx=u-xu)%KorzCA(F@iOC)tB!*bKg<1i%-VpE!N-I9Db-u?T)+3IqR3mBwT}sDq8MbjANK>t!AUu zz}wU*WJ9a|Dpki%(gEczyDhzKl2k|N@oT`wcnt~tVZuR4Z+%&%qajX>pnpYKAFuwV z*NGbrlKNoH#N*oRNz{tnClK{}c_&NL4YuI;qqaqZ*`BsYLzd2jOACTQmtysP_sLy`1PK5ft zoxKdL3W1A0Q~c;FTVOS8PQJ^1CxZMovo%%`a?F*O_{73?0NHwvEKjI0T$ZY|UrR$U z_nWN{l$mHJ$;3zF5OHrt*j&Uf32W*C51rgcQYJ{71|X^tt#tlKvB=xn@lchVK+(Yz zm*k}r{lVdj6~!rFa&*So1M-B zG+&DskJxIMkeao;uHrFg`SRn)!a)^SDLL&UGl~!9>f!Yxc&5W!G9|9^f*S2%o}GB6 z9OoN-pWF6~)3&{sMV@Ww5f5GRIt$s~W}B6sm@GHorS?S_FStj5W`PXZs_~E6R%zF_ z(U34_G|2D2IxKw#2lrjkf#piC27iv4d6LN;w8Fw5p4%6laqdtFBElzg$ksH`7#2mP{M7Zw6mvJZ=` zvW)sdI=jY^7iDITyy#aTlGhv z_^>>AnU&YKee1G>P9O2`b5und>8m8a9-aW8(*L_wep~pULINoY&Re%YuQ~YrCgVaH zzS$>mN?<1bg@0!|K8*bWr-v-(H_p8c;#px4HW#Q zVshH`HpbprQO9*^{`Hb|;ch=#bUQOGAZgS{*+*CX^VUnj2r-Zph;VZX1oJ=%^5}>GR zKXR_gQ=u>6Wa>$v*(mNCAH}@(Kyn&XmTDdZjICVZZ)~gx1QWwll5Inbnairjdh#7& zOZ$?y=|`0D5m@N&Dv0Y{a)e{wb0AO_oS5`|fGl*D7h(k@M!dn5HoX)|tD?UVVVc^= zr;V597(BN=%D_m{TS4hcN}>FxNm(^mW)>ec2S_8258V$cFTyxIQR1)I%JqiS-N1nQvoRyx}L|?sL zP}j9`DNx0t31yI24X85xy#l|p8`nn$N{Se~gI={vJ1}LT7A_ zQILIIMIKf)x3~s}+lp<(581~_bF@8iXzSv%Sj^LyW+qE;?FW)*6OqsvrCy(xJqES* zZrifXPiNN=S(hv9uDE{9#THp7)*?v?aY8;EEA`oeHUIE+(>_mC#c;T_XgwcdMY>dy zjNTdP(nP!*?Juy9QoT;<9Hx2q!ygk) zjfIld$mz8MEt=_r!nX_MZ4GI1mCaC$8aV#FO7r@jJP;wQiJJ@Tjrm$ww0zhR(pzMC zurL3NeG*&h4+6sZrEgiePpT0Q%YQgzUE1FK*40jeB9RrAW)W7>-T_m02Nw#L_2m_s z-?Y}?@k2SZ4W4dvbk4%L_-nBFh{*TleS;*YRtNXG^%*)_wK8foOYiUT?|VBW8uR$N z;AUX*5zGHpz+bWrR7@}bl*L!1gysY;9+XdfJWQ@M$ucYmx>p*kMo^az2NVlZO^!g28_hd-J2Y~_L<8(P z!g71+=YG>2lQVmugSwCl+MB?lWjPpDjpkSPeE6bstpZ6iJ5nPaxMghLQk#cqAdigK zhu~uGK)uVkzVpq$iuf~u3sI_=vAZ-KxDgt?=6s5SsvK>PuWM>Ny8|?}j1@Z$nBHie zPxt9r6jvml=<$p>a$)!24?H1)qR_|4e|LvBALZE!Nr$q^z3f_W);zrR?Y4gXD7Ow5 z7{N0X&y_L1dgqLlOaPk4GaUYP06THywL}l6wI^`#fktK`QMPS1rK%I@0>DKon?VM> z{LLz;8fh<__flTU3#0)>!bHb69L83o+K$2%z7Pqmm@A`i0zKipwk>@xi&*6#$-zhP zCWRWiLRF3jMX$QK;2hDKsdqL%CI_(+1@@=#ap~}yosH;Ka`4cQf=xrSjp}e0VdgAL z&-`ehh%CVNniaF9+8}+F+qnTyoE~3F64JZ)b}z*fa~jYgA)F!yt5nhPhA%Wp(}Rab z@!f{@{dF#%3@ck>52(^epG6$5V&Bk*{SHB)GqsKOV6uOOz^siCbLUBQgbITC#te{3 z6jZ7{ouu=Awv*vn18nKr@?VssQ4C69B^zK`e`iLi3X!K@p8BIf(ipYUuJSI{DX1KU zJjyxp;pX5Jk!hL3o`=$x?TORN^3<8wh{cY%O$L~)uOUYI>_ae7uLqXDBt7q)+9!6) zQ~ooQDmx}{A?6w@PqEU6YO&_S#(B|eLMC`58!(Lqtp{v@sA@LvaoyfCnq)Q5#)ObQ z-Xq1o#Qlm7i&qv`?G0e0UY4I|KdCYuFna?RfPJR54AkDsl2Y-RXnm`ubF}LzWcFjQ-_p- z-CbyS2Eu|tv9dJjIi77|dyr2}c06lqYDD4g2^8fqj70&llGJv|UCX{rty?3%0pGMu zK6bIFvf>x}TH@%-u+bO|?&N8{N`C#tA$n*RfO4Phn|H;D zQY3lxQjEwsR{NLE%&$%a3usIM=lfaa06ooBLd~~MSU^Na^gbYm{g-cyPQX08Qf-m=y+)XpGDyi5|9K37fsnNA zI}DPg%o#8rc*hAC7*?u9SmBD%K5m0EvChGP?-ouU0R&I31~8zAPc+-$i4m`AehVC} zd^je|od%Ev29E!~TKQ(WuT|MezM3jW&K|B1@;%znwFn}{)xvmi3Z@N-_t$1eM_s)fzsyj92Lw zBjB&^Z0Lq|VsvRF5WqsdS2r5JCavO^A|?TbAZz@cJ7NFs$F-0)lS(j5Y1}Hxu_ECD z99I%c*XhYbdY2h^bK%ka-@;NVoML(MV;D>U_^%P}sWr*hv-anU9zUy1j%NpIH)oc7 zt3v$?8`XjDI|d^s^OSA(W_nS@OPOARA)ikSnLkq)pxIEqGF75oMD{Yo@<*b+`%S<4 zIqe+uEXhik+2@wq_M=*<2R9}X=hJkAc7lCZE?T$Mm!e~ZPHnMT{=r2y=)_3=JQ{kV zSX!H{E@KB|ss3nKCc^3XFZT#;~U6)Ag)l zmsH`LlsDz^AJ)z1L9~19gbcAV-G1qUJ~x$@?_2K+U;QAgF#6io9S5HnU~V%W zn+GFzBR9maRF9HbI_ItI3r`PjHaK6?76F;!yZg&J^f&^SCUbLLQczcI`AW8G1X>N% zTzPX6DS_-t?V=_PsPZ<>*0}l+rpxlJ39zhnf2sKZ5f}I6*^i#ZMJ4}4+Pn>}UsG=H zg=t-0SccD7_AW?=&byT~Y`-=M+`x^`W@w#n0eyML!lz32+078KA_7LC(4Y}V4B8o} zVE+XF2@Y3vnit(9W~Bk>h}&y$m6F~im_tnNZi-^qDWxA24op9>!!*}xHtLS}Uv|xM z+)T6)qv!Fx=xM*2v%LbU7}{=nQt41f3fO|bBO$d!7N6cx*Dw@w14$ zZfE$-uA6PUNt>pA^rbyenEFGpE8*#vC(lM<0}3GGYC^yUB$hM2(($j+8?#+>Ne;YO z3~BFPzdb;#7l;Vy0gV zoIffe;VN5P1Bw~%K@vEAUpD1j0D+4(*W8_hAU5z-{S_Bt2y01-(R6CSr=OwCaFY4V zQ-yES19Z{MM2K9>zq&9q=1u zZ}M5;PBiY`r#IBghxOo5c1h2I%IPty6Ld(0-m)>PBkQrQe+pJXtOARTMr6aI_63k( zw2i)6N~kl10oPHycK`|l7Q?xhiTSik#0katTo4jTr!1?Hxb(6rDQHa>AD6#rGH<`= z0H?^N`~Trg)VxeO!6#bETZMdFmRZ_Xl8WHH#9v<@*4~PVbA9>Gz}PwMq7Lhnp(mG# zd-ouHXK^y{q}U}>-p3&XMHkmW#kRf`bMOE|9|;PpeasxZO@i@yfn4MPI4C`dlg@X2 z&zUQ0eeGau{tw8Y#X+-v+^)+X-kfDXuBManIKNFg@&}mw>g{P}@j4M6?QE+jA_n)y z^5v?C9>uc#hpSkz0LnGEFj}nYXU=V|^c#R^}Epn%~?3fJ-M;LrIKNIHLu~<<>2^q1H}CQxpyovk|)0^Udj|0=6-hO?KAS zCZu2!5|B~7J9SAf2&XJr_4z}CvBcb>9@#Imm{$h1`L)YLfxgRhri6Sw=w2K56#t{SR^iM}QSiun%=(>!iyHNQ2D zqSr1A%AZtgX7YEo%qvMK!DW_cBXI*)L`+iAmyG(0?h00aKhEOPczW}ZbcaA&9{Y~3 zq@rP~Ity(GC7s;?LOjVVJrrWPstcCim*e9~=)Qw0g@xIUJpJ~=sgB1|eKBfOW#vzN zR1RmC=%lLYdQ_{|i@5}FroKzTx`BPnsY_8MMTRe3TZ-CCfY^+q5&mj~bZGdCN+sTb zMR@b(hvA#vrIQPf-AOw^&QfxZnV4=w@KnRe>L+-U={ zZuOkvGD8T-ev&JD7rdh0$$@X$zVQWczpeV(h7%WY)XtBpTQ3tkNFw|hFjuO3kA~4n$$GFV&EyMnzF#l@P$v5B z4=;kMTrxus_N?EI&j?keDj@kdZHB1%_5%MSmg1sK_Q{T0P-&&3wYA*Q8tQqf`V~t> zAsvr5`%_hFF;~k#y4=xF9z-H@pPpsoY+Eo@p3=dhEls^90x%i#ZXMc;yN=DQh%M>rcas6-{ ziHEt91nFRYx*FgP%<`lavC%rG2?ZAq5a>IDpwp}G6T@Vh9XHpgkfxM>cH!Y!Ryogg zk8WZjn*x9Yjl2rA-AT|>gf7(nbK}IATYOZ}JE%aY{h9aSj{oD`6I`qvc9rVOKslTg zTiMP_13InAUG?$Zg)E}BKtl@e^;&`>6# zOgGqI@~p~+4ZZoZ^5Vn_(eqAUD(l3ihs7}=#?aI?z2ePKPda=W85h_;5=h(*vmjN9 zx_AXJo0G<0o#eDcN9O;Uc=>7(b-_a=Y6DO!(_8k1&8%LOp`r(jAGNFk62_AiJGVG& zI#O~xM3@jOqZ;n!Iq0oMXoAv!K~lvP_1J1AhM)Zd#DUyfBCo^ma`+ZAigW;-$#j<% zC#hgBN`44h6@1?2_n5qZGuw8xD4apt<#Lx~@ZlHT#56aQPus;qpc|_r0{XFnAGr3o z+GKdBo}d?hdWjC&s%;7+`Flhnq8+<8es?^G2SYMwA3rR7wVq5lIa=xnKNE{Lwcf;O|-OK~&@WoWV1M{1^yQeQ#V z4;IUDRkyOhavOu;wX>WN{hRzroQ*e z9i9MAV!#tm5ptyxLjnSm8pa_<>SP`CvFT=ie#E0Ua)IrVe7r(Vak^QbMbSN}DY{?& zIa!EdR>#`t>wZudegllgSU;o&C*tBtO~ml^i?<7$&j?V43FwgOMO{bFAkH+`O@H2f zOO05;LahPXX8qUQv!4r03029f$iX*!PvJ2sa#1KafFEs>-w>gEX%7${=Zg@+^ekgO zNB}I!01ET_UQK@J3{<^-@_PiuC{(t7Y*I>ezi=8}c`LOgO|!W#Vts;dfLYvPb1m;l zK}h&u@v6%`UVAjiq+%nfO=>=(qojO_az1Tj2;de+cQX~u4g=WR>1Wl_L>F8uWc(8 zBoej9V29J$E4HNI94ww3W81M+~d`3!&G(tUO;g+rPHD9X+DwK0OH zOW#25otG%Qs{UwfYR9^vCdDGDIjc$11#xk_}+Su!gbr&7+ z>y{t^IH^-CVfBXsAHV9RNpgHcN1RjYkEB{+#LrW4t>HSj4wtgDntxL21M)*ED^{E- zztXE4n3!XS0d}I?u{>4t@kXqD=HHb89bHy5J$|lSsV%II);$owO~pjaw7%?pHX3s- z3T6b7Ni1yy`cxUA8x=osO8K_d$a?h&&0Ph;zhXd;_PHmYL~yhr0sB7L|m^F!QnM5FzzI8IMBufs%Y6b%`Wu_GPM@~7|y@x2zF7}s}!d6a6L+9X9GyywH|f@|bgsGcE)2Xo+4NBl-cH7%1-W)Axft}HnA z2t_61cci_CmpxM=8;EvP%>M`nQm(-oFIfZXGrm7jdd5Hn1Jo7 z&8|Wjf<1mGXmqJAPi&l%=pvt=ijcqR73wY_?N6+CB$zLL^OgY{8wjnk*hguU#vW;c z&iMDDC4D#3m+!D>wM~JzEsD*W{Wkj{Uhbivi>`D!sCo;G0#A=k47{8`-on1l!@$=P zFK3WaGnc0h=Ppr)gqFMEcki~@&8YB19m@l&51_To(fc(YK@Vg=<6eSY9F9k^Q>l3% z6Ut4L{UkEnDzc(#HN2P*=Leo_=GeR#vXX4NvTM#^O{@+fSiD%9x6K0Tw{R0Lw*fpr zBwwB6}K_a1ChW#B@h+q8i9Ox3>p*5jna%> zvL~pT4hoK!v;!_GLqpPGUU})TszoJil@x{v#=F}!0B@!RbDMX5m=ej49O&^}yA;0m zN(VRAvYxKW*JcA#yyoF5R}i-jeL^j%n2eZ7|MD*dK?J>V(Pd^>+N^N8{BVUj?(rVT z55ekeuEaAm%CmGtH0i-Z4z=ShyQyhz)qMhPcJ2VVH;7h-Lr=5GP$?EjNi!V^7HKDq z3Cc|W5eJW$Jw~a)b6{uwa*sw%WE35+hgOsvP2w_mD>3T>aeu9zoK#W z+ZAgKj##zKotS#yI0Jfq z#`fP)mnGeM#TfO2kacnGT-Q6fm$Q4GZak3nc4*mKqz=ESqC2&-bW)IhD$cv{CUZK( zyE}UwWa`U_032~gZ!vy<7dCfcbIs8Oe`*#Ei>@6dGJh$ITpO2>B~YA;u8+ zoJR~v691IR2fz#}K3NtJFTLTXqp<@x7l3JyoTwSh(E*+zebr79a^ijqU=1%rw7 zsa?Q^nMb2ll1xtcYb5>nSs|oMZWo%3L+Gq~pe0^ba!mQwU0)Ae-$cxvB) zD?X%)7fr6F5$xjrV93Q}A;c)pTuV;o6K6mec)Zn35<02K0w&eC@oF^citsG22X*^MA zNf&JlO6lBRW5;22m>K_?eC@tKzXta~+rvw~cJ-Kv9+gGpRMVNDY{dUMad{b^p$l{x z)|OZW)h@*V?lcDx0y+~fY?S1HId3pnpr=;Sef@J)JVF7`K>y%haJtC7%K<4!0Z*f& z^rIr_R>@phoWLb6Jxbj`Z*@Uyl%~@P05)KZHBVJEt z5vF6%nyeiKK4l{Th2yU|B@-Sa8dz8udn@oMOh5RM-?5K?y_WQlnPj42H77UNSP5+M z25boF*Ui-}mAdtvOKnBFWq34KmbCQ5bImGwQEV5N_CmP%E^^k8j|R+xDnL&!SHSlS zq{d!*<^doxx=dO6O2)(NZZV9P_Z7&TbD0MiIEwu0v?J4WZ7#3CumeY^fH#}emv%G= z$ymYQ;L-8V0V4oOIX%Oh*o(c8G;#+iHe*1Xi_(_q@x!pM0)fp3$+la>7S*lN)C(7w zC@K45mIE^TR{U8ys7^kd4dzROUpw?CGvDPUS9WXs5R$OBPg#Il%?Kogf}tSP@5bv` zqQD$-Ma60zl(+m;8OW{fu0Vy6$me)%b(0d(woW(XxUR&U=&j?QBq1CA4h8cK_DHNu zW-$c{B{Q~);C>1fh`_Pw5^V#vbqdL_T?4O!kDzuGpq-H&xguzac>TO`Wjpm5K{4~+ zyqKSQebg%4RP1@#fu=*boaGOY})`SM}MJYn$~%8cy#>AHx^XUS|A~~1etm%)F*DRO*p)iBDA7NMB1x?11>|q?082Vq9r60te;QW* zZh%Vgd$}ks+s~35w_PFzDHm76+n-uCg)o}$pm2(Q@@~wy!Kvu z_HB}u9T9J2XMkkH_^8=*=5~w$&`PxW`f=oZs_Wv~p*q@_!8dMeBdM~%yomU~1C$+A zGFM4N8-~WI?!G!efCn?DfN0*$cU!*C?07uZJ;0?>h+b`OmFo(fCG&ebZ7mJ>zTce= zB&U6Zz%-BY!_n|b1%;~07a%o`43{x6kHz!x&gZwNz*J& zHRJglr&-Fe1~+gBKuURe7LIbbMzj7#`*J}6T?7mgIiR~%5fcvpbt*b)4-;nn3{ExbwlLNpzCbhGe#W>pdlHUs@Z zz6lTzm+T`6F)S&z4VXG6{DR3=!kbgXmpW0&i^;JiaEg&}PUmFGMG$w^Y<5zPRLN(-8l!n#d!WhsxY7Ib64btE}Z6F3r+~ zc=--;lQA*u<7+!`*U;z zb-E{oSwbr`@fg4GN6Z;9llxKv0zm^UrVXMFlP|%%--z3p z$ZeXxmf%}r00q*m+8%+#o_pdrpRUxVQF-V7Cyrg8?ex8CAX%B-KU%dY zNP1c@$4Yro``Pt|$k=b;D@y|GdD;CQel^=P6HYrT^!?5e*>#jbl`KIEAipeR_`I{X z6MZ{J$6^JH(pdS!+;wRdB5mPh`PhChSSBpM*UF%Kc&{BuZTn&MB9koaKi?7A0==dp zD4!PIGaEe|<16C7G*2=HFaNw-$srj<2*e54`mB*i@7)@*H!BoAWA%np#CL5*UsRB{ z02zqU%R&z6DEj?F>j8ku5!Tkrm7I?m4+S5V+H_aQ)vxkyD{_mGZ;&x`SIE>;z{!!h z_9_T9kX5`r5J7s?meb#!JbQ$RCV&JuSp5p02l_bSa|~(c#Mi+v_$RIVx!3$54;abl zow@z;*u&x*vHS7#l^fvrG{8y4^>Z{50=;JJUM4#y1W#?c;M!DwWv~8rgB%|`JgB(n zCV=}(hI=AHhYN1^MkrHD^*mT*A_9IK@yi5Xib^f&$NUnWUL2-*mT+3@TZ9?t4;@zU z@_vpgEhzHGT`3g{0V{_k#o}DKfGY7Io*qZ3cIjQ3-J7NeM2)+rEtsF-q^GGbjHE#9 zrC^n%XsY&F$mTl1(-1G_KOU}1EvOs-9-S%#-oh8dpvwqtm(ru83UR!cnB9u2SvbH0 zM@5;!HuxH}cc#&DI;30zh?=X;<8Ux#sRn*d#ts6KjbiQdb~z>z5g;NrX2zhG5VywX zT!bZ(+GA8rE+NvFVc%`lXKYwwR8ztCzin0tWMt01PzhylON>>!L!KMNeH)DGk@o|J zP^~6N@5l;EYx`l?{3A+Vm}wf&A|*Q_*Tk3lXj?Za!-EF6s934C2*;2Gn4w7n@=Q;cXo05 za!TF-d#GO7KYaS@%<%y;gK8{TeBG-O)@lUKFPOt25;T9Zd*7;iT&7YRJ|kFsNrBik zv_oK=&fB=Fl8F@(Em?~U--02>X6SXLQ??9qNy5ueT@x3z1$JtgFHgHG?S(IYI3cms zxaxcbsQ^}Bs8`VdF|utWNKWFkC&WT(oE|bHln^0q_fiLfpxy&9BL-r?oRTU|39yGK zsmw$ab7D~ZQDkxV0qp#gLN6fHUc=6K*9DOv;PEWF+jAZ#^XXNV9N^7*43eqAMxRM8 zVDg?!R~5k5Z%Y9KCUD?fC9&h#kB!WL+TI6 zrkmFXI>p-;`HJkv%DN8P)l8VstEfiq>PN@%<&!)2d%`I1h8M)kaI=Es>?H+z}iR0tC?B0BqS+$!*)KOZQDN8{5O%ZNIQ6Bu)%>cat( z5dAgKkgD2kC^ib4oMGr*g4CX`Iz<-`zM#M3iYpqme~!r{pg^l+s6PFo6mU5HH)7Xh zU>RDEb>{c>aIy@r&SY#ZX*s;xZ7NC4d8UESz(QD(JW=2s1cQ*dfxhx1!ecN61yuHD zCpE%)3mFTjBBIvxgECV4!Et_BT{^zb(YX+^?$Gyy2(yQm5O+bVR70@gMliLpMGS7s znr`!yn)63R$^~8<5s@EPP8;4=sZ{l_#|O8`SB%$|VOk^a(N=2$gKfv)Z@_R8LN(K5f(^YMAUe7F+SB`~Q&Yx$V5WCIU8 zY@j_boeD~ZkhaqB=fj&&=Qcog=qIa;P?75&mB!zzyx@=YQ~WQ7{9M?d#5H<8{?K}# zrIQc)j-=$p&YtzLb**Rb<9N6Zrsdj@64BO4>-E?W8f01NAeSD))V9gP{fejC&dZBU zYuEAoZ`4E@kjK5L_=d2h)o{*2FKxqbuPA`NEo~WNMV|^B2DH^07KYWdC=bVk)4jL} zIQAQFD&wS*aXcdovur6_H;$sZMr45tv<$$T>u;R$3fW(n228Zopzn273Anj!UlZ*F zD04gCK}OgFia_NuwcAD}{n9Q*;o8oH{Cy+Fhgrcl50;UM`(MMz?+sGAdwHQpk%@My z>r)skYa(4|SVd@nOTJ-Kt2RAg%AsQ##?w%FhAnM*MUjL~iiA(EVfE1W4G7rf>i9OF zMvjSy(PV`eF^O_cA-s6TShJfjFT*W9SPv*V76UE^4?hErTL&&GLvXQuy-UK~kkcOD}SQvV4Gl$sYFFB~N(XGW+!g4Bxl})!4F7a=Pq!Dp4W;qx#^|blmF?nlc@o zes{&5q~3Lt84NpPAe(*d^5|y~Z0WY&n8*W=>s)@&3F~V-c^~plr2|>_9IQ!EOEv$& znI7nLU})rYE-!;%HbfCxP>q(a+VvsjbQTg66+m`w_Rcu-FR{&CslTfc{z)`51XYk) zOWyt{V-6Tm7ybn}zb>x-G}!P!@%l)a%zWJMW3?7y8um)Z(?!S5%F5GOLeTZ~^9InO zcyIEw-SPCWFdFo3y>u@&J)d!PJe}!2 zCrCVXJm1ck1l}K+JU^UwJY1;-U8{9G-3>`RJS+s=mjpf758mCx#bp>jTku}OgPi3y z^4c>7C62^)?n<6ro=-A@gKmeMC7#Rkp7Vm9hq#{qq2}E;JUv|wJyM^YR6nilJnxiL z>zpV`6m_&$KTPJGbg1%SQHnz8HGdgdN_?B+VdaP(ILgrtpwcK&5y3!)?b%&%AF*D1 z*3E7Skf5&+(!CiFu+IE|J3Lf5CF?dmL~5Wv@3CqbUWS^x3F}aD<-*?t-Xli&^;vs%ncePs1k5d5>srt74M^i#PjM!r9^>RSDJ({89d4KwG?L|8_xzgA>6H`rEBF|$;ogx=*laKTh~^cmeZ zr!);pvo^`R1NkH_|BNbnWU}lRFX>0RTKaK(FZ=b{L+_M+ZLp=FCgbnwyL@Y>nR*yS zTRJmuVNB*X-(_cyNi}yD`|V%!9MIV>*vUuk2n@`r)n`?D_M1@_UAwGvRL8{BsmT(O zW6O@+L5fQ_OA%E^bS2{Hkp>NQ$5k^|KDz5M<}TeFvIbXKOZ2zsmG>aY^WSHcdJ8pg zAVtN>y7|EGKb@17Ay$(5v{?F2lp_CC&B2 ziKP7v#k{!mFDOqv9&gKFN=UWGr zYcHI$L^|IcTCfTk^0Sjb@RZ)Vg;D*>3_mjahLWqp!o!AkVap`JCi{nNxm~fsOI)Qs zYrZYzGcR9+ZXE-iwq*2lf{t(5d#+c!L>#)|i&+AL?D`W)YL7%^m4b+RJmpKPs0J!0 z0h5hcYWsJy18-TmF(zAlF&RXV#HEj34?9xyNmjPANd=Ba!;9?`$!P1iy2>Wzoi{UJ$)dzp+b!jfEP%X)eE>ZlvC3(c`z)mCv;<*eNNjUTjE zZyG`7V7C0}SKzb~GiS?oxeeo|)D<%pf{d&YBSD>v0rKGY_2dbRLqPM2arLRo(q6B6 z?S>Box{&?*m&5_18x&>o%eSQx1&vRY{*hzRuL~wwkEZ+UOc#3cuQ?W9b5A&Giw}Cw z#@O;X%nG_sm0THa87rcG3)m<|6x~o|(8kzbYcsvOjg(D#b;ObXTv8#C*({}ruD#FG zGp418OBnFB>b6yXu5cneo=?Y4X2LC;=uNSxQL0E3gyi)7E?wNKnyKbmvltTR!bI%Z z_bmK#8mJ#bu{NValfOD=8R|+p_J~bXaRsC)-z#>2PB@!A4M#m?|O7jqLb8HDz$sLaRnE%@B;MDblVr2^jI?)9hdqo#F zUOzslxm}NKXpL>O%`u|OPSYKTg~n7hCMecZ*gyPL ztMg5vrPcRc%u7;Q!%Vp|Qp~^fo-K(A2S?wpNPZ!q?iKW!q1_YzQz?Qj(7)gTYh=%^N+&>=!5N zWb$eCKXN2_lR;0&jH@Zp|5+LjjgA?>-@GqFnZWE}uFq(Q z;QkIIRXThq-HIyn<}rf4(WB6! zD`(lOn)1ipv18SR$R9aY8l$xzWyI~H?U0lIWB$*{4y6EZ?Eu}vWOdOxi*5FVU&t>dZo>VH#5+Bg@*UEq znUpte5*nHQ@@Ls|=`nohl&;-`5iiBU?s*(F8N(5Vf<;Ca_qoSNxJepsd1q}Cj?f>T zS0)#=)%+Y|OvQL!8S;CUr;^kxi!D8IgnJWlRw`2`3!&%FE91Qe$0ToH=%-D=t z3z5t$V()T@2327s74egc zCa!;e7HzLG!OQ`{1B?NCX>^zsVx-b=g^{kulF**kj^k#@{a91<*hx2gZ|-zy_>6$v z<51HJ*PY2tbYF9)=g-+ghd``Ns;p2OtC~`}w}xFDdZ2XK3$I;mSNo==Oqz*hu-wRDm`&q+uDaI%saOukJu z3k~{C-X#i^-?doCE)Az36k6TO`b9#khc!$)cqpT#`V9VULvF&Y*pT9Ds~Hn$Wd>7W zdgWxMeWq6$y`W|IAl|GeLWnyUqSY0uBq(K{`4C=ok!`5wj^!nLg(ON1 zbvt671YQ)?f-IrXqU6et1;ug;e&gOr(^{&>fPx)ct2?nR#)L0ZulLO6LeUN(jZ3$F zHrw8%I2VI)7pLQqd0ag=slNJcE-#ral+BKk_A9uBbVg6IobpEn>4bz}aUJI4dvQs2 zz^Sfl8!a^S*l@f6C9Sovukb|K;_f?%=6Z99NKEm?C9=MA?=xhE`SJSP6xPojyr=$J za*9J)qr{llSrz8wzW7;$u`5GRJ6B3n z&!44jG`4~T`?0~UZ03|yBbpuME~UfgO);Z>IlrLJr#J1DAA5@G%LP&EB9w^tEj{XS zaNg~nW>RAp$wtp4fMDFDJEvLCi;a^U3%!C2>%`w+ zd5E#3B31>DBOGsf`XmKOGeXj$b<(kZSt%4o9KN~TJ|?qHb=mqoHDI)ss;G))o(7o^ zI`29e-SmFRk8cPoi$M2+6>4vW=6jak#S@_mm2R~8$>X9$F%~X%wPxe;B-h3dB=Ws6 zLG`$~l)7~v%_{e3-aWgvS#ZN%s&{R+XLX2RkdU2Bg==nh>ygz2Cfl|L_4wJbxZ9ql z#Zqxv)W@QdF$SeShRVJ5mbEp-`H4S)BS5#fZ1z+p!cOs>U{LtYZi}jE>Wo5=ZZ~3V zzwYLn1Z%kz^V}8{Qh}Z2BFntvoqdj4DFaO+rO#AQ>+z$EWwBsB;ueDc>1Al4HdC`p zA|qPGtSPPP*s;h-CZFcr97vh+2Ye(IU4irWSymbHnqct07^a^4cEv}i(KlK=YZ5Hx zB{N{|H2F@!j2>I1%)TX{U-3EVv7NF^{M8ly_g@(-*!_9A5-zZz)cvcZlwRero=~Rv z)AsqU-ECdyq}?fc)~FVAyn6gtil}^YbV*5-)urdIgtZj-$=Xgp&~sZ?ZnLx>q(HCo zd0W@TJ&+)cPO8Dr_Qz?kbrMGBz4joDg^ZhC-x+y8zF3_bPH?G$vGZFI@*uc@giSPr z3wK?`Y$qujdKEAM%(9**A7sWyNUK%I)r*-UT-j9k}zaVwO{(d}hKE4SJ@Y zzlNefDwIuV5+x`5y6PYoh*9gjtCc6=G)P>9gdeFO?~uu*3J=NJW|bbB-E`BrF6|bu zv|Q92xZzY6r6=e_^1k)F+3+(F5Z#&wM#xnj2NcL5tD6G}dUgaE1u^NOBsR2Xt(-KD z)1O!&mmdc796C3|woepKhW%B{a1t!4jt(w{bsHbWEGI2E%J|-wc|v1mOB51*WNY>3 zx?Uc`3DtHJQrw+x^{a39AH5Zg1EhpxD;M)Zk@l<2iocOSly$ZxiJmwg3`PQ~9@}N7 zZ-0$8JsxbH+m_9=OoT-O%SJ0@b`xF8q)HmZ9gwJ(>J1qvav9rJlx1B!>A&o@iA)?O zs8wq0$WJc&(3vBH@cLyaHdi*SE-Uemi{KMB$9yb(amWyy> z8!|E*P?VZSGn%BYH|+#YK@juUO!rRBlAf8UOdw!sUJb4*ZQTafqelL?p)#z}LL{~<#&lk^fVwR46bH=Wv>Zgfbk#0qGZER+W+h~PvpdWU1tXNcD(y`ESn0M^ zA@G8hWfH#BW6Q(Z_f*_|w0qLy$FGP_v7$IgF%Wbg57Z7kYIh@E6QIX-SARND@5?av z&SC~rp|gPo$1V`s_1srfqf2l{b_kCzO9V}D>e1S$;}ztwGm&xy+u)#OwDEWDI|HY) zrcGy&ow0Zh|1_#(2ttI#L>sJNGbLGIKN}$c8eF2$XuMWe}Y;_+z8eATO zDMR+x=s!a~0FR$lC9*B$Gk1s?5Ij*i?h?9?(1-+0a22zc^eN7=-Mlm--Rvdu`bq5F z_94Kw(A*R0+K#y)+gEe>SWIw);Kf**U6RMPRdG#@LcC0Hy(|}%b_|1HV8VaTuRaSa zLlTu-ITI_WF^dU5T+KVu#kE||?OfGyP1Ev>LtRHr^)THH!ySILn~f+Ns6HlB<_gD_ zXO<_ApQXh^lDTwJ$lmnW{HGPGe|ufm7GK?~RJc9S+*H?DJ$D5>#&&@hJl0Fk&Fa55 zk@<*i~OPIB3jL0+W45(JB&}e3htP5i3BBxnX3isCXO~t z|3(i+jm3OT^sKJXX|s&FD#ok4my`6})f*S6nQi?)`QDf_Zwz*XYe6u9bn zdk2Y<$6e3aSIt}^F#r<7hD&>B{jzP?i7#Pu^3o=;KGqTqEFT~7=A_l*Wje0l4%fWx zyLc_OUvXAR5#^n{p~tqWB(WttWeKWYNq?=SN`HbK5F^xDi*MM(J-IQ%+KEW2HkX4; z2Ws#Lb?SMuL!^?!(m_6HagV{Y6GL{A{bHW=_<2`&fk4c7^5v@gnaWnpJD9g0n<8EW z@X6)UDZoCnY$MbV(QGnU7L0k;K6S@nglcvHt~zV$t|q*eb*Eoo4P4ct zcbip-PK5j1*ECr44!>&?nDTZKT}Fd}DqIAW#&f^d^JmKvh{qSJfp48?(K`~1AeBW6 zp(dI;!(}hQWGW~S?5k!rVIbphW!DkIsoni*I>GV5t(~WFSzFCS62Kx?ygoy5G&h(kr|4u zD#j<#L|zJmsy>#}<`C#4D3ZUxV4f|zVEIG268e@HGn^9sN;vShKU|NKyVG?L+`HKg zy}9)Vk7AK_)=0nESrc`b`z4{V^1WR%GE3@XJKcoAw&egp35jwRwac_KAlgi^6;tV~ zcd)}`5;}2{=&{EsxmpsITC|JecWu*>{nq-<2B6tU^{AazukYq584^7W$WoXf1k%lU z=V5J~^Vm<|kJu$!hs#wp`{~~8dtqfD(xk_aHcs#^%CskB0-mNV?Y)z~u=8nKQq6k8 z|EsAP`-YMDxLHqwPRF#em15nQfgZjh+NkrW?LO0&aaAT#Akk_>9YN)^Ggj&q5AJqm z=<%|HN0+SuQ3w7gcI;DzaRd3AU~o{1CsVwP;7Cc_p+REabGQ2fAaQo z4L78AIx#J2@hfU39z%*EBT`(1ksD{*WrQ~*;u01ZSfwmib~IC)#I>l>uYo_CK%bBxDQ)#&-nI=4{Sc-Rr)VGxwpSW z$w?Ijkp|sqlsp2=6#xTCtB$Lb2#X+IV#$7MNMRTFQiX9zG@kEK@#j1_Xl`!AAkR18aNUvJf`}Cc`LN-3JGl3xO~3Y^#pc8%w(+# z;w?+D5rc&0QWGcD)@t)Dy+~l9o#GyiZ(UMXJ4aL^L0NxrCn`CCSlgUY!kU>IiVJ*1Jdy%yOL_#%$g$Q zV*7n|yAVBgy}V7>nOQFx1Nwt|XE>a9!(Mdi)y$kK6Gb? zpxOvzW^f+!c{ixYo1?P2)7ZM1K}CiPWx06Fn4IqWmSPoBKViY&VxHF}lVJ-X4kLTG znMqX%$>Lhv3`jhG7PkV`N_BXr4XK{n>rxd>W^YHFKJU3un&++AU{)^r-KV}h15HvZ zcP5MUmzz}ZqhtacGERvs>My37o9^bfER?ysZtJ-@Q*ow`ecJb(&;J-zI-a=u)A12? zuE!P;Xm|??axilA{MovN1Ru62?Ts_y?Hs}}MvlqaB=^pBlM00AU5%|n=rX!z8awKj2Ad0~cbnBGpWItcj7cg_dn$d& zH?ADI6E~3t`2_F?!Z-4iNYuO03)465-r_it@Pb^;bD(4Z^zER)`_DOQKB?_A*ES?< zyAN-(sz#@aq>e<~G_si6vgCqF_9bEd%C)_D2Gqb;MSj{yE@-=+2`^&O^EY)wuTMG{RRvAYO;uGCExv40%e$W2^3tt# zk|#`wj~>4^q>l96FiLlXHZE(jgdc48=ekkEQ;$8|LmMT+s%!V!&>x1YJVL__obYsd zY=mwrowIJ&eOM$fb9W@!hm?6;p1S#^wq4H&ExWVv*!1$k=gi%YbaYKl%6=#2nj!^4 z9`w~;uN0m=vZ)q5K2X8IX|~YqFWZ!y*nI(O|FW-u$yb@-kp48ktD(MGNvA~ zD(Ck2lQ%$(%wts%uOl2r>b8!Y%Nhslv_rmt<4ZJuP&?cUI1TiAUW z(%lu37tFhE))d*y`3VH<#9#fv9IQBnsab<-NBX6E;TsiH9qJk)$GT5+b5GqIGkCPN zD^-szpFC5OPJ|9el^&a#8av67)CyTidaSiwf6b{utbu4wTRWk(n?02&V3BTZJELAp z=y_0j0v&C^*}yo9ZC!x`XZ@hKL2GLU6`4zrC`~KDIySN!MZ|-8{`l&M*qIR9m-O`|TkauSQ6WP7GWkEf~P1Jr-5QzpfYYOvtB*g%V{b0T?6jio|yJpqAu zM9^twOzCZR4kF3WOt2YK6HZ)I@h&XXV>2x{I?=h%!6C#<3(Cw!r)q#ydObG}1}FoR zjWQ0#INc`0mDhJA(%@I$GrIg|8Gm zEuzF%w>&5km>XHM`d!?s-IK{1*_@mV6!xHP%r!+mNF&Fg;`h>H+pu^_FoN#!h=0~K zQRS4=j&p`r` ze%Aafk7E*)CJw8AnulfAJw`uwd_OauCl%_Z4jy7Y$dd`5cXv%~C)|W=OJ@*A*m74K z?)iPuBw0_-%@sGdnI_b74QDv^!a8g3of$%5--g5Tt{9!G7d(x!>-sXoV!KRcBGZw$#>=~#~67eQ_pSJQiM0i z4Im<;#}=X{jY7u>1u)Wz<2EBXQ^%@3g4<3uthHmlvD*e+KBT&+I2x}Nm3MPA3Jb~N z8JE7Yj~SIorlbIK>tjA{Cga#Sn)nMLL(y~7Q2a3E z{+#f7`q&lFAyhn-lp^K*@#b^G&RqmK_FE-)(_}1xhR0!-{SV8CN|f!(M#Wb{Y1l9; ziaytClZq0$(__nD+?RZsHlqb8;Pq-eEjRpUI8EcMPuW+t#7)?`$)UIIx`?o0n@nGPV`TE9W5&=)!n6%LIT*__1w(lOe&ftqO$k& zIGa&TiYWeUVnTXsW+UBcG~_~Io~F5Y4gwrCvk~a1pa>o?O zeOzpz62e{`W=JJ6oOYHm304yC>EwhgcYt4rlf5uJ(6<|N6mH#QdgytxMbu%6U#x8J zw4R$EZV>KC`w~iVc{M*A`Hki2B_=~u6Y(TUu~kSME}*Vv;&8{>i^5$yY^_3W!HK9+V8JOfDkye)irVA+y@>3k|4+*WLuC3 z7=~dG#bI%#<-QE7YDA9VAMgFFbBV||Gv17-ZZ;)ja(J1F+4l8uKab*lT-i=ZbUyE-KaHs32KS&WxXr0%{@!qIUZ9tyIWR z=Eg(z(9}vHV*(*sg|y8*-=`pvImC;y9(H+FtU>SwV1VLx>#Y%+BGguK^qCv>QoTlx zh`WuqNPP!`u#CW?icP>etn{({VjU65f_ycwWBaJqy~D2}DmZUYO- z^hlYpz1t|$gHR8D4kZ$b-E()YNQVMUAvcNtnmcH!!Rg=#NyypfGIn2B7-8yIIlS5R z+QWK4xJWdvLbv5Qj(#w{QuYn6Jq^t=y{tGw(hkS^--A>u0IASCVJ!vSyGn$>3aBq= zWbHv~pTm^wCSp3OZ?^0Gjcra95(M~rkaXwnU1^c?Z1h1j@z6|+1ku6~o{*zcUMi2| zpY2kFi)<>hg7X$5>RMEY78g(~{#Lq&ML?7~0%|L(UG3AD1S(Mvib`yNl^&)-i);lT zmx1)s+XQ~f@;_=`a4_q+kI05h}h*(tOp+kqio^$Y}b2vG5k!m>chhCU6u|| zAgYXs#qgn(J2E$1?e~0DuUr4 zw8~5XT9>cvLH0R$q7FJ=ltDnS2mj1251(T}ptNwfV-1kxed|kDRte=%SZ6nrj(uOl z72!*y6QDBc+VuGOj-$D?PpGhrnmxi#ye*(Chv3}E0mde<%Ff4l8M5#khSI80P4G)X z?`^eU{wE-vBxr|rJN02UFJY4@>}Qf=Z)-Jf5mkX1dc~oz4g`QoV!W4tobIUETZ`&y zSBgU1kU?*1OE9fayUmwdM}aZ^x&9_e+IJna07%VbF+xc%VrY;rI&z|g0RoMh1z;j}3N(x+KDV*2!roUK2=UlLnNG8t5q8GZz+E zcEDo*I@@KbRr&>nuIk8`q%_^5M6j7rO-LHH3<2pz5ux@aBp^-b?gI!IvdSlizov(+ zpaD|bwW$=3%BN6Z>NICG6BUpebGtE+Vh-P+KqS+g$4W;O4Ss!_B2uF+BdFJu0Vzk- zAM|$)83p2~dOC(;i(4sdP*5I`3(&=iDM*asKSEM*;MZL<-izo&wR#K+3 zl|`E zD8Z)xrAnepw>l9lfP$v}(+@RPU_w!RLn$hP$WlP1q@iy*;*t_KP1V$sLshzo|WYdn(4ClI8>Ju|YS zte~eNMx(vTO(8~Y=wyYJ+pbb*9BURdQ9u=`M8WeItOz8e+4-`7Y-KoGfXnfZS=uGZ z-BW^vgNtWx1>KZ~Rv}?*s$%IF(jQ&hN9Syy5gv2|U!wb23nk+b?=LWKl9U45P*fk= zs+;irgVg`p+&2G?rCq#*67*}k2Fw!yUF}t2hdNl!bcBhp=t#v0LjlqWMX3q6U&VxKq#4M(rxX5 zINt(-U<5TawjM->b->=WK#wy7)`-HX-iL!MoMPR}qHvc3t`l}=$e=-Vm`JIKJ!1-+ zvDraU1WrDQ@O_=Jol^C}6cH53kG1Qhr75FSk+c-Wy2p`V8*zd$x*-zg#AaYeWf(P( zFzQ*sOfZ~zR3vycw7d}QprV@60u|JCc`hY%3S^{IrlS(svw}{6wM6a`)Tv~&+I8p% z;F!jpTcwQEx+{pTk@S&MF=icEK_>^#jvEBEhJY2t!D!hMc27vT`Cj(cSVi$usB@Rj zR6jQ?I=1DwYNfB!#Uco6ODJI?6lq2@O9i9CK`HH6M^>Q@vD`4hPXmEq!frN$qh6m9qtUZFe7(m4_QUL6b9*>NtCC}g39-IY%}gnoKElikR@He@K7y+$(VylbLMp*( zj|=LXkWYI~5=5*^#PE`|dB!Q6!*HTZol3&4x1)zA_y_;1!$J`SOQ^%i ziX8LU7K#Ker9jg5FgAVL>iK0r9dP6cK@L+R3_vNMk2MIWC==jhtI!;OktfSxgvpY` zWz@{f9oVgzB;vUR0>z#z1d%3g8wPQd@^w?xv<@&kC@>f#oO){NQ-DSxE9d|=BJJ6IEsyJNE=Ljv zO_GR2+gJe?W;L`*M`0u$SOJ;+iHMP;9@>5323+91BfS(P-_U*mM-eDP%1Yp#oD@`$ z6^gQ-6)X>(1-xIVwStP)yrdIGv;y+fEJ85&@i6 z%b+i2jSA$y!5>J8pdan3N?IX8LCj_Zw{RH&1%Su(?4ot7*se+o1-}9vyv^StsR)&( z!jR(i@8@*ZJgAw_Z(wa0E*GmFpaCK)#5hI5-+n{MFNMrm=fxmu{jcM@A|wv=8_9;T z@FJZrA2=8n*=U{MI(2d?uxJDUDS6fP=i;RQ)6dWM^9KL_e|-P((}z3q|KID{W6J+$ zKX35=lbm_Z|F6P~Kk@(n96xXJ|C8zmE&v0rdHIbO8bFaFATC@*=l@r^x)V`u0mt7g zNyEyKBpTTH|AQdaPLTw2Zu0nZ;83EIOm=YA8dNwJdV+v3mD-MAOBT^js*A-l536fi zk?jm&uB`{iM3`o10KfxJt`;UlF~jy3pw^qc0l#=?0N4V_M!cvz4eru*HB*1h3aJ=p zI~57sgt&kRJYrV?SVW)$3!(XSFjMPHl*PgUbs!+8a+_?s6ov(gUIC;H82}Guk9Vp) z6ANH}2&6by@i>bXuU(C827zya$-loG_`WDaPJ)%KzZ@WjNSTVAVx$GoPU8eRCB;es zqmDsI$U^z_)Dqvu83;Ks5o^)7v;fpDUkrklK#b$o4nP1h78Sig8dtg)0R92sRe|uu zmea=wfQ6Mpa!$fs3cv?dwb4b?m$ZXVq^cg~XY$?Vk14Lq_UTpLUYAD4A=5=*N+V?j!EA|jHT<|=o zU*{Ph$OxdFAfBYK6JHR}ZAnmPWaU^|5Si#1S@23p1l4N2*H(y-o$A^t*=s|RQUY;% zkhw@h3?Qh+xPmqXv(&`^$euv#0ixaCLhm$1k*LO5gDU&J((A(K(AbYtlLCOW3KXj* zJEau7mII1Zvq<4di*_Y|RRoX~&I5DayAXg!{E^%<;f6Sb0Pv-WOss(LC{t-;hJrv% zNfHOQc7mZOwh(nvQZ#fa0M;a!aT)fJ(gvP&m4cDjry(fPxrO5xEEAESB~@9S0Xa0G zG2hC^QdiqBZ%5Te5}duIv4Q}y*SU>&Oj^gP5LTT4qoCEDex2Mjs#|L$QgPEk1+1Ei zKZ>X{Z>dQfkl!O*OSy%l0NTBPe&d3omeRb|BKY>AXf^ECsgtjJ-Uzh_NULvYPBA!2 zJtaV_t$q23(o#@BF8eM8fD6uJ!g2%S+D&H?&^D0XC?j5h&+xQx5)s0W)V8^<1h9&q zgKQh|fLlL_2%gG9o)?L+(*K(LT`%;wOL^ z!5(xq0Coq&Ko?c*wIFWM>JH$Aa=FyR033(yRT40P61>_qhy|V|v!!Ha?c7I6yfM7t z5~dgcJSare=m^lEZgFFAwjGk=Hgs2#0?-lw4;nElVt-Q#0D2LUH6H9Re8MeoOHr{M z21TGnVUJsyKn2)$7}*wx+a&}b2q#T@EfeOgE_g25-lnep!%55qig6xJ5Oc8pk&AZ?l{-!@xlJEs%C4Y-kOdvBq?x# zFbD~jcM$-RbTH&7ngAPjD~h$1e1#aEm`hF40BBn=r)m_Jke-zWKznFPuWfijE19MS zfbBwdxL0-S8ui%fNNUD$p)z<)XskO88^Iq{f>RGSBmkhfgP4qB_~fp|$I&o7Mw8I|u)Z zpl}tTzaPsDrx5jhif2nNJ<|kb@2bQ+*9*LCV&`{^Rv>|qbx#7r+TK7qOw$V z*XFjeyh{K;uPJ3fAQaqM?Ei}>(C`B#>L3#99+FK_nM08KRh;diZ|hVwQZy)ad(r=E zF$Vmk`a)Z8avl8t1P`giVdXSO%7vNXcb%M9ove5)&W#h~dqq@TmL-`2QRZQqlp0k1dj&@e=aH_LYO^X+76(ET)rpQM^eRLZIMh>8@4CW~(voZ~ z9B{&<{$Iq*f@hUT7iDq(FG|0`oZCKH%%c8p+b0A&e04a;lBoZ+6%ebWrT}MGy#H-{ zMF7+ZMkV5UE)PwI6*!X<*wt;M|2PKJ2o-90y-5ExeaZfkCWnp$xr97UNuseN{U&X< zUJOYx0yGUv6iY^rxIzL59eIEfQsM-;9R@%`Qt^);vx@Qm>lOp1I54WFkOO9(2s093 z5@n0x(I2IdUKyc^%Db5TT|X;BjSFQeTmCA>e|-a@>a0>h(2L3U55~TT4~`m$jqo25 zstDvCVVjV|_s`=83a!aPEfoenH-fDMgaJK~;`2!IbiRKPG^lQs@<%7W{}#P;jjEr0 zCbG8oSZfj~orj+!NN%sEw(%Pa%yb}u+@$*#YdwiJfaZ+)P9OsLc*ugNdq2tkxtmh} z6kV@6$^MD70}d%Lo8`1)`v;{&<`nm9*|YtxVo%3g6QkN-`-d`A6b&p|44&o~shBcW z$+s1DkRDzo7SDMN77o_ibyT`0$_*H9jjp__B#}TMP%MN&oNWK%3WnE(8ddhVLHCbO z3@A_)1hDxI0yav4Ai*JTxK6fz3jI0JazdvJu(SO;Jse3-7KbRde@%W+)37Ho#FL+N z|BAXN3L*e_R?+=yd&ZxJvMnnYJ=p$X(yaDf#eIN8%b@#TIb;_WzbdZh0UiYYh)>H- z4Q>6%X+vhDQ?*%oltnt<|H?^3nQ(2KlkcBw4`C%Vu3$KreE$i+bx;8f8`av9+DYp< zcqh*Bb))-dZzRJ=Y8=h5b+E9BKd6X0H9%tBi!_2r#@PZ?2sar2fxZDoXDKCyvW_BV z+vwreOYjPmN%wF2x`V|q!9)V(^pCDBT246*0FM{lzXmevv}g!aWH;FUTT#1?g4B!VH2MDFxF^AB zx8~%t@%@LQIc1-F6-ji14YDp~81^FJfgryBaTH20>w(N-0Unh90E<`DR&2aLzp?hD zc7{Fy3LheLh(ffaHU!@Ac!2#T5H}eA7a&WS6dVv{hG9nz!v3qHp<5f@{m5#=xGnYp z!F>kfKUFcn&4EQYT^@`JRCx*m0&)?JjSd_H{0;zU1-B>y{*efy`b;FHkS2JM{_};{ zI1mqoUyb=S_-i@g1MdRt#`GHeAxydoLpnN-PQ?Fh8wJ}B;|P$LD&l{6Si04F8q1+~`)vVG;MIf}mS*42le`!%!i5f^$EluWs*cn93i;urTkv@2AshOg4 zBG}z3^8Yr$z{QuGMBf|+`+p%L4rN&v)@{Xb-74Lw1JxUv63UKhc#!*Q+v>n1#d z*8`y=JS1z&XY&oHAW!JS^7)5L1xSV3WY|2UMKFke3J7kBzVJ0W`#&F_=Y$Xx%DW`~ zf1VzgJgbQ~{>qO2-^t^yAn*AIgUuF7%LFb5RgtvO|HDIolL+F5SaL7WNKndB7$V|q z(f{|gzZS9ivQ5#sd2}unOVpiv0iA~cKx+wAQ(|U}+U8ef{y^*yD8be#0Kk|Bo5r~T z<)t+bhD^95;WGyAA0+_L9hoF%4lzu#S#(aeMUvw9NLlTaQG!FfWGtYYB>Recdbnbpfv=~c7!}fQd4U$eubvl{9tIl0c1}h0FVc8B~Tp@M9SX_=mgsr zM-o`qt^>fczzhWyDZSo{GmyIlUgar>XA`MIo`ll`b!H2(jVT1c)AIpPWFd4gr2z0) z9NrnF;8{ulZSA)UUc!S!aHbLf+kKES7{`IU(*cl#8x?_2EOs3LLdHb0Lo39cIsnw3 z5dkcM@}#K)utGbv!lf_ilBokAVw6OeNxdshApmh^z-z;~SC7;2ppbdjD%OjVf|LN- z)&=AWW|XXQlOY8V!CkV`q1on!6abzgX)t2J(j|7Im@LE2EG;Mq-G>l>xbgtkW*Z81 z3IW)7fdCZ;lkiEF5383wL zxIFf~z_j~yNC7BMh<8MsUC%hmUKQ6{r2w0cbW*;Omi~rL z0Qv$TI!V?6xmqOy(1!gASu{XI&`i<+=$GXOY5{O|uUV)N8;3&+fQ4P*KO!7HOADa& zEXQ|N9t7^<5Ch<_m`IUv)T+AP4@1aq5^jy;YNONu+8SOOhA2t7YpMZ=HJh_4-x>$L z%K_l$7mZig*M=H^1CxSZNM0yTHGmZ{!$b>Y1Cqo5+9YH!IdQe}VLD3CGXmw_fw?SG z3?Q~j>L`*+dOQrK6wvQBEg^MVhZulF2jQ2-?SM*P$N@m^Nr`X-u7#R;mjg(m-ioeG z=OG6`hNUPc2c=G&asco@*tkGHJb8%$=ra}xojBfy>Pg@6fl2CUtCG1&*Y|Q)Dy68m zb4lqq$pJKnlIhko;0TipK>!5ifoO|)TRH)ac3WDswo(@AX`|!-bXhuaJonlp3+gz7 z+O906S%`&(AOJCN2z7&Gsz}YIk&hx$RTNi@Zk>_-OW!mB+SDWw%V|(TCB4oS5;0FvN9}q|IPp>xuwG*@?g4 zMiHs$iU36QpRnMD$WN zg1>So15ne{q#+_q=0h34_8t_LB(I0=Sr-OiuRvQ}Rc^o;W?)K?fzU`Z>l6lnO`M^} ziOeHq(;QLIOg?k3_5C%ynVS|U+Mm=Ex;yXhb!2UtQgx|?z3}pal zs}yL1vVd>U!%{)~I-I@!17BL zpnn8H7u0tpv9K>)+(IFFKdny2#%Zg1np&3J&len z5(Q`jUxnPHTEHem$pW-+l@iR2)n_e|1?XWQpOqk@$TUb7pg9{XqLNy5BDEf@wlMls zgsrPod_zy(!3ymZtb$`#vHhEZCKaT4=@qQXRjL4OcvH-kP@%SaBfKy` zMFq}>grGR&FA@f5Psy($T+~!~PGtaGVAY)=5S5xVK${KL$=#)c47E!G;FVFzp`(>Z z_d8Fdln9CNfu|qB0K^-KN&%oI+Y*NR#Gz17+(b?>OlbgVa*1^!5fqrx08TOoVo64j zZj%P!lnc~w{|0Ng-~24WoQu!A3Zo1_3G)|A!dzNZQ# zb||f0@WewJz>~>~VgQIxX7_j$X?5t+r5jkJ46ro$Z&*{9u8}W4T&Gx?;tXpUl{iBh zK+j;KLj@IeQwBhSw1_Xmi&{7Ic$CQITXv$ZBI57NRaHc&;535NEkYLrgCjzsC8Qpu z44`ix*fbGe0+}LR06jek2t+IsWy6~+K&+}+A^jn&M(D99NOcpTMbcm_I9(P1Xn&5J zRx&gPp~s>Syo#P;0O@~87+`6owq&?PP{q482Z|$8bS=VXClJX3=*x?A)J}FpC)`j4 z@X!=NKnVgpB&h(p>{$-K0iPn&fThK_~!BPT4DMYC{;nzO0x+QR@X@6*^A{n6aX18Np)?U4XzE ztp89mQid)705Qq4kb+*OE&wPM$W^IzB!fA00ag+rg~L=18e=^K1ymhoBO2SArCho=%%80DvU+B7(Vm$X2x)g#{#COYS>K6@XV-q;dxs6RAvT z0`TnYp^i*`MEr3|0^pNUf=ZnMdqs~vQS<_JDEw#k-G(3l`M))b+A2#zrWaADWT1*u zi!wPW0zTB3Z)Nn1fR2?8ul`V4Uyib*LV3w4w3BRyiDmr@n!0ko(H zprt|;KgaP+5CHFh7vPwm7C!|6SOlq}mxdhP#BiM|Fgs~Fup3GaK*Po%%OR;Z5uz_{ zcsw8t@FD@^b};~;mgbkjaxVS%*dtGYxb3QvP@;uW1L$E6)!Uxi{ab6TpA^=P;8Gz>9!6yOgoiDZo=>Vu>`IT=(UQo2ewNF^;6jdnAz>*ArHZDXz zIo?;;-z5T|FAsE>nnO8rQv)E8I4|O-QnmQd0Dvb56d6IasHdONQz|f>R6?TPL;#xT ztP|!pM~MKmsQ_*b#{_}tRVo0BfD^i(F;Kx@*zu(R(1x~vO}J8`#2*nSpmvD2D%>Fc|Gq@@6gXB0)BXhutY^E04yzv?r=zeZrD1p2>`633Zu;33D(>~PRMFd&#A{TDNc8`0Iwf)%ji?>@k{)!*Vn6|?OL%ad^#4h^-H>gQ_%EXW zUlis6uOz6f#@^8F&V=DOEdd9b^#A62u{}v)gtGL`{%@lNCPI*^0mnb~a@55&P7Iq> zt0V^ossaQTkXxb)LEQfuz&IoDaS(;A8}~o{Nakq8rx9!a`c-|0el>gUf<$*vxm+AU zr>e=9l<%m6{9jrdRPp8@>Cf1lCaAz032z3eGnoGYJ%GSnan~WvA2BBq#H2lWo z%I1f_s#fv0A4yZW1xS4>7qp+q{<2v$-q`N>W5lHaJe`w5b+gVuXZ_T?XjGOIlzH;Cq^*kGf5u?!+%c+gcm*_HiE?T+jn;TOiGsqA^+R7c=5gd?)z6{U*Tc-L+OUVW%CDIh~OA1?vfB*%g>U=9=W)i&7Oy zDs?4$?O&Zu+*2TuPk!F=*#bt&*DGeCuV2rWL|dE~yxLagAv{_Su1&81FeVya)KuvkoI*;vV zXSH3IWJ`o4>DA;?^B|&m;Tww0cw@}VMJOZaw}y_c4%JSCxJFgZfE3mz6QK3+8TI5) z1snptCyI?*jQGyfcb0=-`tAFlghWlzTxK`^i^fsQZJLzVBF95$<~VP9d38=;wu^r* zk&~XysH65ic_-f|*|V*REPSu-+ZTgdDm7=!QOo#DV-Gk#<_OBj@FG?12fij;?V2n< zhOo4-X+-53$|d?@pmKHdr+7_F5}t{w#%W^@=(W^r&l@ta$h=sLl5Dh7c=E*bK*9MJ zuln)-!lv?tC$#v}DOZb+W6=4~s!c&1f*~tt-%YhfTwxB&kU=_$u3^!|LvEeC19xw| z7|E|piEoPOqKva}i$m)~#@&csUpbyk2dHwp(f%Y|@4H^P?M*g_h}91&i8y1zXKP^G zR(F5;mjjdd>+5<~(yj`T)YpR*0$558_QM5IBA18SthST~n<&Gr2ZYQMuZr0^Fx%d9 zFA;>F(*u3#gsFN~FYp@TSAIxlXFn7TY7C$22m6Zq=f96>OYv^yjW@LID$K;HNTA(- z-u@;GQ+hg(oP7|Bp=^3Em-%;Q-RkbmI_{Vr-Dy26ZeL>cvjShFUuXaI@x`Xq&X75A zKZxN&_&aR27l{*-o2jb&u~WVG-E4Q3UC^+z1~NP&8I8jFLU5Vue=QLwOlBa;miR%{ z^v{@8x}neqKi0A(@G&wUuUMX(*8`KQ%Edj{9zs~7afeL5e|44&n1Af_WsvwCQdX}D zr4qOoVgq4s56NwAGM=yydr&7a~d-|LFbjBTMo=(;-t6 z@F(=&hx_?3mTbl0sfM$$Fhp5wd)epu1y_s5p3Cf8xxZDYr$JelUxULuSa+=?C!v>( z+QOQIOK(5i?(DUP<{uX2FTI?U!}osCI-e$%3krXG$o*N*(END7NJWHKF`=+78oj6+ zVaBNXLBF{?9UaIK=Pb7OaImAS6uro&RD*l>L)l&To(QZ$LtP;pWYjF7Sxn6a)*$^n z_f#KaP`}RbNgNil59P59%D|>`RSqMq!c@as8KPCoQp$uyQ>0&O*@SzBhjyk)H&1f( zn<#rmE9PaLV`~c#!s)OdWPHSICUS)(0$UZh-=AM|&K`5`8pTk~gL=v#KH z{bBe+oLDo#L`^dctM<32Z<2_4SF986AK~;P|NKXb;k{SMZnl(LHMy;^D1wC2UX zN~&Qp!@SCUrBm8O0h~jNQ7?Qzh_gc7dm%?7$?TVCyDsF*G;BdsZ&&<9mGDtAHv{tm zl~M_3E+}|3lAkQxI?JOOUwJJ+mE|T)WWvTy9O_NqhxxXw`0@#sx;zzT zzXhL;sLW7h{NuHlY1l0HmQ6x3GAO6CpGzB`YfJfL<@@$KnSBSUUV37T6^w8u@!4() zZ5NdH?VtH2J@KdSPf-vY#%!i&Cbri5VkG+(HO`lx`+v1UKsC}fA`RX@B7(j@QYYbl zNMGFS8ExO2J5L}QM6g96MpTG&U8I0%ggo%K=L-P^uPI63?py0yi3Nay>qZ?|G$X!E z^&|4I-YSL>dNOQY*M9h&Jou>B1~2Jj4eI2 z;BUzfJn7O79}{F=&$6)PY@(wRC=>?upRTQW`G5!;RP|Odp*D=0=rf+9p=P-jM;oN; zfxwwT?|VZ{?wlniNxgGLuD2m;jf!LRnMy{>UEogAiMtY?$Xmr(RJ{&Lk4Y`Do29t( zBN7iip!WDH|CiO79Q}62Z!gPdQ%TO1`Z6Eeb5jwry5j|qs%1~9-ATy{2p>u}*c6T& zyWsHKrDGKm(kUNRk6gzm{d}>;|Mi}Ls6a+dKK^uJD@nR^UMc8x?0WLFoM@w_YRIJS z(`@uMK}~9vKCiw$^Kb<|zu1#X``JD%2$Qp(fB1Gr-G{Gh!n+8zwVm&w^ri z&%Y@vmG$t=!{?>4zD!i4Nd)E9T6iex9K<|M1TFGBZz%21Df`+F4ffTw&d1*a9DHY} zL-+{1zU;DbTCGi^%@au^;D2W*kSMQSoOGwQ5symZ7{Vsl5~Bo3EB*cz@F$au21G~q zfOuvK|N3PdsPZh^&75B~QL>!tDX6{N=pDJ-KtmoInxi=kPszeO=sd@G zwt%pZ%hyPhJyNb)g_xI(=VTHuLhkuA+oaFV&mTH=n~vre7oSgLDrOY9zY@+Xdq1<` z`Kx+|B|NmIoFjtke(kgrkY?R^+J`eR+sOEI>j~8JMqKI1U946_X5`kWTn_eexX|EYY6U&F2)sa6A95p z65-`>;uva}WGvlt?NQRbU=vw^v$Ob+?rH$<+QrMyhY-4xVENHe(tCr*Eb<2lb%h;X ziQy40yz8ESJ>s*Eezs5`-mfO@MsXVKTj17fP@&?Ul#W7Sch`n8Eo$y+j^1Zda#b;R zreC;!A?mZH;D7LjMBLo&f%+|P6(gjZ4Z$w-K{3wICFya_(1V+UdVG>EtvV`qUu#O$ ztrMS8J7NlV8NzfJR`czdCQI0U+j%9a3K7qS49*&7l@6Cjzal34R`lv(PRHXzGI*s+ zoVv8__f+buTSYTs+#gm_%FHiVr@^k6%Uyrd*Xx7^XQN-^;o|&o3VIIHEQ$@@Wm}s#U22?gzP2w~O$^8wH&jV#!A~c351d zK^4NBD8@iWWwMKh>qM*%UTiBwgnO7`sR@2cVm$A0akd-X^kORC|U|GUrk!SY+o z)7)KQ%xr|=OewfOiHtwrA00fVv}Kb2&JtY%t&H_idO81a#7H@ijckZS+1-!qZdBnf zUsLTSrL(%h>E(zC@!w6q$!BGS2Xh1L2a0i=9A!0=mtcz|yjK=jA*Yv+THIisQIqWg z=HG(YNmlzBQ#ow?4HQ>BIM985!d*el?vT*^Fy>(ktT9Vu;c5f><0yzzl`^M{B`5lW z4#lFPNJ|KOR+gUNZT++PT)f+_30TuOf0|#RLb9p5OAOW{X6b_NKVC=_zNAT`VmF5x zDs#VL_V~eWE>|NG_>m*o*x^0J)ri_@<=xxW%vUXFyFB43>lMCNZ1BV+c@}IjRerqM zOUTcs&P=C17r|wJZ&4c&0&Lr)Wll+#kYe&!AB%TVKS?J)d=8N~WanyRH-<*=22n?l z-bzK3=Y?Y3P8R=e2%i1@F1q96mjsH*^YK6Nbm1g)g+;I5q!BPieI((FS$HUxam(mJ zF|1={QV^Xxo+2Uru~m&;ky=iiy1ee?M=hKbRM$ILs*~06q?+Ux+mF~wR*e6~XTb53k%TXk_ zGvh)Z6fCOViYN-rKjU{`*>jy6qQ3r>Yf)r$Ynu1K=huIUtFAN}AQbkY{53T}dD!e{N&9W3C$q0j<>5}5pa_4v)g9&P4h*)Gs(|y zn1_M=ZWr%9PfQs#a}QuU47gZ|X9Fno7@P%M8Y! z8A6T4@E-Wb>Roq8ty4s$NBGc8ms4lB^7t1U+;P*KniU#@)tXVmCLYmlbm@N-;Uelv zE}!p%LadbEPCk?&K&7#C*`xeog?@w&{f*CLoTp3?1JDYQTP^Z<9>w^m8<7Y%4WFTq z#(sVHB?8P8-MTKP84#jYd>>Qy&ER9&ws_*xjO=@kT|X?`QAZW;=i}4uz4Iv>|G|U_ z(K_C=9NAW;l=hgvKeY8<5|=+Lmu!3WFo~o6VH1mw(FVtAQXvJa5bY7Q}`_ypVqfwi?K9)uDnAyL?pG8Zxazlg1AK#nY`Xw3-MA!hep5o6R-GWF24UzbqHHrP&6pCgp7nHX6*G$ z5}p`7A5qW^d&9V(nmaScW#%|3JhbsyDTU?RL(y-;!3kH7i;2}0L)rc&Ua`JQdfXeL z(@UCMFIRK2u_o}bTpYCst}BQ>eI{&mM8VBw^t@MxQ|mj+q3aQ=XUn%=irx0!WkE&m z{bwq6Q3xh8yzIx1`9EN#41ceeE9ICW_`|V(cRIVuB~Dq@i+$I>ptVb;`rctn(B^24 zl$H3~(Pzo%KNKzDxrxdA58vzaXikN2**ga^dyEM4O3k86-Cm450b8FiK9GH^z|t_J z4E=p>JjAD8b8m2WtylKICWPIn;z9`btnF)WjG(R{hYSJ7`v?EAcDd^(UO_%RFp+q@ zdVQgpegDZ(l`DWbNz+Mc7~MI^Fjz!lKS<+~a*r+FX{MP*2X#I z{wSh`EHRxeWm~jAM3ki1GMzrUpkoXJOlP8?n3Mac_+vRtjZP<~6?AvE17$SC+#;Fe zg3xyZcuU83(wiXmr%l&^Xk=eCXdQ%+2tnUXyDo#!cWWDlOmc0Qt8$oJP$LEvrFC_z z1-iSq>GAcsK{73aXcWqSeeG=M%5`-^SMsynx1X1;J zD5{g#Hi6G0rc+mypT&8b{KzriWvl)#o{+Y;%zFPx*Yr^dlcHtw6?LSNi|RDg+1?i_ z>}Rub{VY!W>geievNH%aVKh0&IVaW1_20bMqUXr-ECa94dfG1?6A=rZ$-zHR?+N{h zzM{7}+8d@Phe^$7ZnuBFLLS{HXqSgH;Qrnqj^JANl4}}rSd4fdM7pbX4!Mqmdm$=_9n*HxXDbENWr=QVQS$`^-J$$koN5r?x~ zZ6m9ZIkeQSP}k2iAgnKo=84leoK>sy8B=sWUsWis`ygXj&VxNEqb2;j zUJ?s72}biQdrL~^92~xT_;ZtTj*cwva`ooz4xURgfr-i9!ZKNi->duVY-9uod_J;D z{+>%`Gegv)b$N4q{HuP`yu#beR_(v$ayJHSJs$)p)oA{sy;(1gIEAEcxcz#lCvR+@ zmgogTvoV_0sdVS_yUZx)i=OVDu7j0yoT^=Km zlSnk?7#zr4?8iDoXQe45y^{HFmo!n95NT&nJoEwXZ16}Pd)BG?2~FZFB=aNv6bIUj zyB%ailjx}Ttsm28L6O*k{NAc2+GMDySOhKK`Pr;2i9ldFic9_HYs<^a%kIGbxCLVY z+^PFcO2jW*GqAPhk$MhwSaQhi{JgEZoNw#sQ!BI_RgkZbvf0GQ0cvnQ@~H_zJW%T4 zsMgGXE5Q{_#4jDoR&sRZisz2UveSPKc;IJi2fRFhd*J7|Wy?;T3gXH55Wn%+L2+o7 z{g+D=MBrS8?RkutYbqyejLb2oO!Efu3Vf4F%Gg5(eoQnSA+^EPk88gm;gtnF`S@3I zVj5PO+7g&YX|b$B`D0a-_~#JLaxkXetHl{7XRXcT>lzX*jWL^8L3(3N)UfuYl^sjM zTTzt}u35V3Mr3vQ3~PuRJ=Rsk;zMk7BTMK+8-$2u)55|Rk5?K*72)fO_Y|2=H5jv_ z6)}OTg=IYLL7x5K!`<`GeCz&0lLBIaI4TqGY|Wt`*QpMW!{quu$zC&&(&3mDHbKmm zE~)mSqzR@}!&FzT;7!s|7^rTs*il3ep zER9JpD|;Sp(P7U>jEGPB+!8$%T<_~wQK?CF9IUB8z%}D*_*@o~t9?B8cr9vQnG)Kz zWjE9RWaa3&p^4K$D9{n%%@)ZqC1<3hp>94z**~USisjv%cUAoWUYd!Ln%w(|o=40K zRU=s;2^qx00WJr>e>x7Y%)J+`0Ur>*WR!~Nte@Tb^u{srRUmHigMm&P)#c;ySJ9ME z=!^On6FkpL-Rx=clx4>ho^lbCxs4rBZr$U*n2!oyk|Mee!WbD-p+@Kzx4E{_kezKV zQq9#G~`rIiPWn^y0;G zs4{)N=Kyw*#t0!GWgW>T+d)Ut?CWPw>?LJki7uA**?Zz0I2wnNk2Lgy@&i=c{oBCh zdX}pL*>5W23f`RXkK;iOB^5PT?C>-$)+;`ULOPVx&-hz6#mgCj0CuQn{BWP<0lYfYzu3?Efk{vi&Mpenvx%%2HTw zS%T=Q1+og*3cPXH$S4^lEKNSYIOo^mO>t6v)F3p4Ks2g#n%)xh}pTkj34grmbu!hxnr zH^HuIR+SL6NRhr2sq7pg#Ie**+Dqy~M+~8x(`cdjCp`=ro&o_2|)Yv5gd&mGtU~ z`mmO5o0Sl@f!`)^8b1y6z+&0t{4!a0c}PGCCg$%W(RjQrJP6V;U53nn517^2S-X{t zNaG4Khs_&ZQ}b1s@Jmf%-e_cW?fCd7$`8{S(b7`aAIrYk;=K{1b~VjF!zJ6Q5*Y6{F1dBj-kwJdKydO{*QA z#nDX_IsPc$wD;n~oc>}{rQUy~d;GaKq!-X6P+$7? ziH&4$yr1}W8e}8VVqdOZ%us;q&vrF(_*8E(JI!x$FmX{qy6|=A5AEhw(`P1%-;~0h zS&~s`p;i$G}5FE})|-W+vx{ zSoX8{ei*TKm%DNz_ELxM@mIUyFOghjqmf{lrNtX&+)IA)ofmIK>_rWWFUUbye242T8T%$bd(R$!zfaT;EpyLuTDC>v+ll&Z zdwCt0uO+0Y9lvm{c(i{ix)HHi{bLSZ1SYCk>8*QqM5w#{^g#IIbNrVNNTBpFQ=6IA zF+E0-94J4nH_5OW(Bmjl#&I8|BP9Z zK_!2HGWQom^=B(VunHr*;@3mnD5+ls0 z!Y@sk0d%SmsCRMP5Iu9VQ#~@~YE*)%x$}|pvN~8aHjMwzCRoZXn*3{Zl*QCIuQOK! zUptuSSi*pSiLX&tVX1C6ik-in-@bS+(L6C>ZEAN}h~<0ZCx~K~nsi~c#zhTZY*{Ws z;)gv_kpAm)QK^0YpNloifx33AI=xqi>zA*I+I^}@bKsK7l$Kv-ve8%CM^Rfx(_Hlh z=C+Bc`P${D3v>|9Molig=*lK#=0?I*c9 zWyvG-C2y5}bOQXT8Tu`VD5!6v{{K2F-ZmYZ|bQ zz?EgBJ_6Y9EVGAye;^Y|^2&aKuPWza;Ef#LxPYOXWRbx0S&uCfGhtKq}rPhTRy`5wdF7f$Cqi5ta z!9V%XfQzW(PV=(IAl&ai8JT9(y;FYA0c1kGQX`36AiEWM-S}8Z2ZvYbf&!9=M@CM z%Q_?q6`ydGZ#F-79cS+P7QFJtpsqalB_qqmnB8Cvx-_V`LBPwDX?t(=1Ch|+g;lJw zT#9+xn?7aoq%V~m2*0%NI^EU5TyVS;Se35;Nyc9>#H`ncEXF*w1)T#TjPQ@&tOr9w z6@!jLj6j{FXn19Dy)rzV_b^{Gs)#~n@(G9J z_xjhB)OPv1BiwWkhZltsF05t>_az^xZJSKv)Tpf>^)ml!jz>z=2idDFo!;ir4(;*E zovCs^xgc-|Z&{XnUdBv~~rk7V0~^n~a-C;J-w*lR+KCFX#uC^pTgZG%^!fJv4`0rrMjb=X|-x0!q0>HrumrCsjyfwZV< zHwUZ#cdgCp)$w=+akw;L_=C}8Y7>b#;4D}o6zcaPmWcEgbawc~S0#?$peBmUaF6F- zhV!X+H?JJmSWrA|<^S-G?ESaQpC_?7X|X=95^DOLp5r*Z4xfnWX26&HWr!tK+Bd*F z%ld5L`ag81^A{W8#8NI>A1R41PUn_38T7MzC&Ds|h`My-5~NZs!?uuxQ;A9e(^?*taQ? zx&FzU{Jj_Am>~N?{-xI%+S8P#VFtnwe^0@5D-uxQbuj@`!!mShP`X)Yf`IOC7(u753u(ha#jKgLlR*^AJhE*3K zH02fKr#SdrQ(8B4)1s{HQA`k8q_Wz667H_Xx(RWQQDV#$9_>F|=1o+hV0KCT^}&+M z*mqoYI<1Jmg2aiv?fyR5dnXpSs?R#)yAZi|kbDfsP)X0D@yG!PV!0{fySaJsE<}Fj zRQHR=9Zj^Pj}G|%*Rvar^&g6MOz~|=$WO30YNzD9Nl?ES+~YAHJe|*Duz6I8Fss_TydJB| z7-b76yg$jlGH+}MKXyu`I`&=$W50NasZ4f7x{id zi@#sIb+oL6W{G<~9RW_8Plt~lE%C+dSWX+ewnFs0?LPPj4W=Xp=)q>soqx#Pw1Ho>C&Z90$s87yHUJsq#Ky!Lg#*ZMvEbqFg^(p3BI->at(lhJ~ z%$&pLcC&s3N*#>;mb(c@opuiZW>NgwkXdkcaa2lY*i>y?>+GUK990Ot`8-rhRTOBW z`N!N04%m348~54aK0sUy2Hp8Dr`=$T5#b8xS3*0x2V8gmh=qI_|C`#I3lA>0>S2*)BLBG@s}O|t?kLJn76`}Bu@53 zbU!|8FTQGk!(o!1<=>>F!!yTt;y5V%r5BUh^i7XPD}?N+zV7&c`Py`HJ-cX{vNw^Z zRK@+t;n#)&O@)-${x3!7G~fr``Y0Wji`XfZQw^J`7HPh>bD`4Ss`7k1z)1vA1fu_R zNS66*lMy$sVUP41#XT5_%h-!)E=z>H6Y8bXA@{l(vLVwtLfGd>D83sYQmN@!vQdr7 zAOmhB8S~OlbP$Eq7o>KiPtPsX_$+U8iqL}trS?Nv0=}6los^!z0AH#kerJsW+;d(b z5f3$__&ociK?uC-V?i*EYulpr3_#x4s{rM@A2=6V$Qrb>PI2nSi**hEy2U){Wz$Eq zgMamfEc(K|wuxZu#=yM9^dpBH02SCsCY-sk-qB_0*7UC#8t;DvK3Kfb%Bv`6chW0W z3O*{OKaRHpdX2*QE+us^JT!XI*{3?2njE;-^mqQBRtXl^B|t4Of9uhk_8!}Ia`n|| zAH43;c3IagDp0qvV>D{5J1586PWD}5-tkZ8_V&a;IX~WmvC5AKKfU4EEZ4c-f1|BI zZzXDn+z=8f#rpL`@$5<=l{6%g_8++2^?7D|O?bIQjS-%`tXk^e& zi8+Apa?ZkqM!guig|bW+cA;bu$9A4?0Yar^Zv%+Uo)MOpNYl7?mRTMsh7B*$E^l{E-6{wiz!aF}l!Qwxw)z|1%zWcH6~A5bkiibC2V zGe~9h0acD_0`z}Jef%%ix|lXG^!#|QLMlFT*9QqkER}7O%7B1NAfB5XXLi1H)NLns zvnz-rrR@21bD7iJ**sH&C3h%b2k=?&C@lO_uF+4v6~ce9)Fa54^BssTQUMA83a}?? zuk9CbCmv$W+@G6*a-SOs0)w^b)_n3$$UJZ}K(L1K2nZOA&Q5h7Fv$ED+Q~4MrW{{} z6`zS(lGfq^Zr@v(_RAd_=Kwdk11*e?K2z}Jq1HtS1fAVgOe^BR9#1eE-f-r#IswGs z)%F^$Gr(_#!0!2>S140iiZ^vD>2NbgsJNHSCnKr$k|QFC!nx|1xXifuPqk4!sV|JQ zTy#AKWT-0Gdwi^9Y(6T|Nkl!F*kPPC`GGjk#a=glG^={7ddxB1PeblDW{!!G<*Tyt%HUpSH7}`g@>juECsRvt}05P4568{D4?mgt0 z%@bOZ`DFh{27b=8usHM`=}LHXw*?FTNSApf z%H9EJ-&0~d%L250nb3yM($dZ#L2X0TiTvLd7Q;8{7rKcCb!6=`<>WsCI4Gu;^=QGK#?$7^l+R}`IYcbhKo zi&I1aFkUob%iW0gv73dN>MX5s!hlF|DMM!6-wcq=&H<0ar-mdzw9)PR{UM&sSUY-9 z3uvC*5Vg<@=$bXVM2na7kEOhj0&FwRF19L#&qfCv;7?XGSAiZi*!TIF|AlOdx*R5R zvc)qglqsOa&VyTM-0M*HU#v|aPoF&lqNA<}C9`>GLRVS6VQqPgunTVHoMeojcL?@p z83hC&eF~a^ewkmb2eH36IN%}mrrY|LrSuCIfs6yx$UVB6fTzA1KfJX+PDn#Nike>< z?%%j)U7o)6+_;f_)dWzw)aS0l!wNaEchjc|ET$lryLVA*?|{2z^JEjgpEz#W@^#k$ zwv=3!Fv`lDX3Pz)0QfRlypktkKMOaSP!?cx+L-OTdcUYD-g@eYC)Wj*lkmZIxWOom7{kCtAsv5Q|ohis|YIl|f|*P@tM zwACiU+A6m~s|<4fF_WQ9N{XHsaC3~%#B6`%DE}YpLHN5-=P$gY%_6Rv#J_z%G#gpE z3a>>?8UQNC1su7I=bDGbcwfCV^i}=-A3)HOLO7l-CRYP+l3be{2?{N;wl6k0&D68) znZVB0SsL+Tw;%bIQcHPR#Qqsc`$qz$D@wC!0F93T2I8`?<#1?nQ8MSg&x6OQJ9962 zxnIVhO?Ht44i7DzoeZvUFXJJnsZ9R#$=;q(CS3oCg}n`T+(sn;7_)}mBW|=ZlRQzeQ3*_3ffp^6M-Kx~B{)Gu=ndSgfnU@TJ zPLmmYxEnX|P!oGsii#e}7yr~`rUevL55`JBDOPLss@6HfiHo)&Ixb5%uy0#fAxgponr-hW2+<_A2giS3eJ3mRsB{B*i zxGs$Ev%rdR}p1tM8CwKwWJ);ESCJKHZh2xH= z!~Uu0vGT8c9m28s_rRSkwX!wT;_*m<@nt;V%El_`VF`ev$0w%UlSTpSetD7>{TrgF zzWALLAye1w$0*yzBd2eqmrHx;*5Esb(cWFJfCg;6@0l>@k{D`4M4Bg z@8iE!0seTixf?d~86Y9+{}4e;)Bp+9c?E5A&8D$>^b%o9H5K1^+;GmOvD0Pz!|b-e zzht3+4zz70I(BSt$B8F>d;_T9IUxOx>)%5IF`VL2Y{t_5OMc&I=)Y4wdcIWi| zU|bCy%)nVXo0W`0b@iK6is5}3n#Up&sJ&*1b$n@eVSJ zEf+E3$O{xQ4|Lw@Dt9*r$gF&U*_y`OXmITvxI%BxWSDDEd+U9PTo6VEgrUXjIp)hn zBckH9-sP6K%6>Q*1B|)d@@106Aflkbw|%Z5*9hdXT*&nSY$XV}HuwJpL42-cxz}$) zTp-X}xL6)=e^z{+>>_;#<|F2M4dsd{9k`7`GC@&2$18Bs+EstU7zb+H~b5bU#d zPL_9EC4Ij(9TkrPfo?ZSU`!o>Ey1@vzW2jVSFnhC=AIb*pY z#~n9l$5u^j;;DOhDlG_gHY{k0y0~$LE>|V*gY`OFTI*C`0;luTp0=K!Xgl6J=`dJc zIRk5ypslVmBir_dv#s_qN49w~rs=RNIp9Qvt|tU8zLAG%?P&C{4e9FsRprm6yrX+L zL`Rl{8F}olBlY0ZR0|7t)N!NJSf#{Y9hO7rrb(_`miZ80?ij=#Jd0LtW!RSzib<_< zFf0tDJ*?mQbWFTR9T*~S7a;0sIMSN^-qX77{?C!G=!CCjdU41}E2^qIhf#41R+Vm= z95r@*vm9`KwMZs+xIDu!b9giZaa}Rv^u)IUc#^>Nu23|^T2O5NlI(3x_tGElaQ1u@2u|`jS8As%4S07^>Jw1@H zRXzCqw2IOaW_sBZbRfbeGrX0zcmzWA>;N!2Ih~$f3Aw&o6U(cFVAir=(7@X)CiLkZ zas_>Ivv&`H-mmS^iV}ACWA3XL@i{POds$G-pxntF0LGPeOdQW1^y=yudIxxCSf<{h1;q8|PwqvY_)UEoi_k%2F!u%9m7jti%#n znTCW0YPHVpuAt%78)s?9E>+&w)6m<7_R^g1N5I+jmNNGTz&f`zF}a|->owC)p^c}` zd?$!2SR3YVopsb?%_8Vx33iot>tP1-Kli|VwVtmol5@e-dde?Dw%?nQ=A6T-l!o&c zBO5WF|7aeKjNF&BAD(j~QCflX_OQl|4onKeQA%BFcev>lioQa<3UTZJ`*91FSphkN zj1EHL?%YvY=JVlKmV#S5u>Mq97|jA$W)W1!NS5sX87^3LESQr2r{mPeRzo%%ytd*) zNp{R7(6#zH*cLM+FbB_Ca7hMp!;pFPi*W<6a#TG0!*A3*J9&~x515g0asY7~SVgD~ZyUneF4ARhCD-tpyyT%*%`nUjm?h8ib3guqZgvEwr|qV;zSC{rpp zc+LlU9&wJLKh48jql=EN&V4WlCOJ!@``xJ8bAB}V9_a(`_q9M%VQwTsG+{rrLAF)* zFb0gj#2va7|Gq8gP!7}1dq3U0bQK3i5^)UMwkGAdF8REWal6WGU23w+ZbllC!b8&x zeRv_+_J%>m`z@{O1;&>9U~X)_+~y^1wuN6oJ03*c|M8&?)jI+y=Pa(~!Ob_$QfXPj zS~buWb2W)iu-WR~qj?jjkR#aD=+>20?cr|-_gbG}fdAIumPOF05AS?)&P>XZ486fi zBy4*DtdSOIPKnUMemG?UPVSQO^c*v00=3d$cy+p{^pe2p+{f>CJ!$Q~BXUMQ?S!o- z)5AnVI`U*LuZMw#XFTk8o<#>+sZwc+xg;Q-U`HpIIU@3LfcZgMgUdT=RTEcuHhsij!c}IP+RNqkR8J8DlB?x4}?#g@?s>%6?JojdHeP(dUrPYiv&LUz5= zfQMm6wyRzCbYwYOu2e}Q>zmhe&Hbq!Jw$#wxRbrSUUy}B5tUnFt`M#Gw4pT|5wJWU zct|*<#BL+sQJ)sL91A*tA)z;^# zX-pYDmz-NIhaFi&veF>Ysy4qy6x~E}{PAJfV}(3)WN?W6m?4$QfzOM8nLv{>lsmDi z0UvBl_j&V~?Dr3bP2xeTr{~{};atCw0&nu_f;a4kj#Hw2+PCvoZk7|^ys-YohDp>C z@=El{f0tyKD;+0Tuq*0$^rEzMjErQ?KltYQ;GED-fkXDrw@TDnXU`a}rfpt(I1Mzs zXxY)uzkb!4nHv$DZVc0{bw94gqhChR-|n|e%T!+{fnJI+IH0$`EH-caxp4BMK^gbd zPBYGBFZX#HgVe8Ka&x5mhxw6$|79DVof~(hrb$guoD9e|?6y$V{OSdm>kjkZ-hob+BBn>fb<7C*4~2ck0%JYCDy2@M_^c`L2`^ zAMtrB1_`E>n$V3FhjGi@kftP84!25O-JB&K$~y%#GH(RR>x{>R0xgh-ka}HO8-p6}?Kx5R_Wr?`Qy_l?wP8ZrK!$qtA}EaENuGAd z))|cP@q%kTMqj7kUMA$D*{;dm&dR>meVojC>T~jl9fiAr_eeKO%vJw#ja6ad!)hH>`T++j_qxY6M=0jBJB~;YQv^TU(dr#U*Ge2`~Rw4wbsxssK~WlmtfN` zEPJV~?bk`wpB5HzKaor{6oqL)F`)xzSxnA5H}#kpI4;^Pw5Bh3o}6>!j8r$)OhR>; zB=Mr^_QEE*-fSU_BykjCVr@mVh8BA7X?ZL~a=}k}%B{GmRC2QgZ`m$O>M)cX+d^p` zP3}%%Xw?-mXjd zf|kt}snAF?b|dba-T9)oJC@IvY@l+zG)>e)A`4l1pl7b;6a2Jzp6XwAh0XjhUXPuW z$i?215In0?DWJQW-P@fqyqO)$oTZ%8J%3pgbcQut$tnC3TO{7!dg%7-4jDmQ1kY2= z9huL~PoByRdH`8k0I^b0G5Z)#FF05>qoQ$o5shZ!0XBxLCBk_PE+ z1O^yVV(3OdT7jWMxv|OB zAAte@a4IZh(-jV^7|q?WUbqL%2|?&S|frhfyg;8JwL%N#LvoyZ-tU?SNWv! z;oZVVvN+lsWFvE9zy6RoMEO#3Oy^3v`SMR=MWehGjs{w&-!#SdS8sBuXZ@RRI`kLP z-gIU8>fNVEtuBqmArd);-)Sgy-N^MXge~bHj1|a&zmh2}2h#`Z+bqL7w}kvzg@FU7NF*s^k8@Ty4yqwp8AoVIN9VB|-8IM}2X7 zzt_VkM;#O&tMP_3?M>NJ>0LxIxL%mx1kw0Mct;QK;4Iv!eB1nW&7bGn+$T==x%d>D zXA*IOm+Kn}AVR=Df%futiN39yHa6fO!Gqy9N~)a#N{LgqmI0lPj=SYM4mE_oM)v;7 z@~4f*m3*KyC$wApBA(CKlB69Fh?x^1Rgc3u#DT|e@|}D=1tpH)91`|GE0bo{ez|rK}6%~ zr<|JUvwcJ7#-k?sKbofEG0ZkbJ5lw^6GG4h&$`2*d#Qk3mA3&Z>p$$ojRN1f;csJ^ z<23g7w%(ev6?tuEYjM($Cebt@^(2M+jR=k65hpvh4>U6~)xIec9Bz%H?iAr*H*)h6 zt33J@VX4|1FZWNb-5s*x^#O=T=l$G*oR@Zy>Y88Oi%05mv>ckb65U72e%R@dmuXx* zgKmG$SR7O^q0q+uer3A*!K{milq);&h2n8}5l788W{6`bE+4Mlxxm{GpE)M{n3pm{ zZFALl zpM(|r=a`~*73!PpJBILW^Ve7mZEXHx-nxFWIwJ5&7CDjkVQj&aEETIN^IzBn_(wC& zbkU%t=9Lnb3$nB}*NJ1jU5N#DV%y>9J^Fr%(xLX{;B;YfD-*PfUh$f)FV&^R=ghyF ztt1tzJxXZQ4}RHjT3nTC+`eYEyWq(JL5W|ng$ z(*NAEwVx(h5WAyEaNe8jDMsMirOr7%QskS{MsKup`8ccg_AhSZC8QhF-b@+~?{AEJ zh0k5ZyvjVTebxEliV|Dzyh9Z>4{fC@^XW?oUiPX=+!|pLVd5m4_WqJL5V;WB%-_%7 ze4%`R*0WusI3H%kR{v9&^Z9eBgQd*BBOkRHZ;TCXrf(*<|G%s-7rZ zjYR~WwYEL%hX0Uge0%$2#QbEE!Qv;IN+rJ|RcCAkr^?|=FS3pj{!cO2JiXaTmnG3; z1$39&)3Q6`-ESICOjRsfoIln*s~~!i11mKcGOqp6z3qEkp5NJ}cKP*bQt;iGG)C9s zyaBmQan8f@L5vMyuJ;L*ku^zJB2J--2AhdSsr-)n%2@0<0=z=q)h8h7&o!pPAd%nc z^WS@8CwX#Kg0p!={LVZWSEZb}TLwsLhQW|#SHw3~+P-&MTLH%qmhm^(TD+G-YHul9}G zQl7mxJ0&4P^nq1C*)S2Sme9dRTG3{gHSXQy1mLVs=xXQo%4f*(pf>(-g`v^e#lf-~YL+YUW* zcB!%{$$q3204cCWBuGg84~Z6GB>9Bw6z3ROlE40<_A~@B1m{bq3m&+}y*uS`}Cl@yL59TwOoHo9XEj z{^H^<=Ft3$`r<{t=@N-@{HX+OX~zDBR^mwn7|!qL!dPBE4~2@S6b*A-r_J?4U7#%V zW5jF=UeFKOX4PXYwuNrysZe&?)U6k81r~jG*Yd486&h+X1;L8^ zd7QK2E-V0>)?=JhLU5M5f3Z62_{S@tqY%Y%%E|L($jBPa(W*C0=!=-Pl<5z~#x;N0 zl)}QmIvv~6OIhs{_rxZO9{zW47Bols9;|a-9wZg5adI5Zh3zQ{W?*R_Pz)lIRWv}h zKQ2R(t{MzeVbL?WPgQ-uWuXj0tx)ayv=+xNTmoQ)A!|(9Puo*&5r6V*d!9jY`xg#J zd7OW!-5!Z$N`JEPgYY!>|ZVYMxaj1koxH z>5oQCoHFIL&vRE!D#)=UMMZb`Wcy@5d+THMI&*eJOD_9NdcywO|3U6&co5TWw>6v+ zB84!W*VanN#5%KZW~aIEy!DyornzDMUB5wUciU2ke~A=poR_Sm$+jJr+zn#%o^A1X zx+OHqfXcYNfjNhW3TL6$e8dd_e>yvqdQfJH8GTA`DLoz>$FcRFa-P+@Xpp(K7~P(c z24c1+CZ{T}wqZPBhK(}?nAA5(*2ta~ZC$bGnUB*8%!PyM!b?2R38Qq+{{XC?HRRQo z_LpD3ZHsyQ7w~2&$BBL=or?AH{fU`&A)aUZ2O*x1ik1QXhG`k19D%>h>fLr;CI<{o z|N5uRH%Q)iy~>m48|!RnWr?F`7Mb$=rW7w2vOoJtC(n6%!<(X2&cq@!tZW#{W0rH)W%* z2%F=Z0S+Sa-<%E}wr~eCYT!P73dV3*0|kPVE=`0s1K;tzi)Q3|<%ABrj+Qb~IH5LH z*$^quUeDMuJ{wYzgO4P~M68*P8!JtcoefiIeANWkYl#~%+vF+*)2Sr2S@J_K7Q?Yap>4;J78}o72yj6x7+Mk*3a#_NOe%19wgJNDl(2HQqxxWKM2MH6-O z&<`7X#tIC%Ij+m{d%slYwz=QUEF73{NrL{nzb4bUhjZiCK2zrkP$&BPO%Cxs-&G>q zyN??sIx88uEEF!xI*3Qu)5fI!3zkQQTAQpmTmMdtH0s(oP@+G*o+atxHSrFb_;4d4_ z)w&v2K*tA)^Zo-RM#J1D+bY)G-9ncw<{9fKR!xlH<>FMcN2GwJkL6H5R)Y1E&AzvF zQltQQJy65T5Fa%JScA!}q?T z_dK7O{)x+}Umqmwto?5RcTe#5ZHWX>w6x|hdK|tp6wjzYrQAN% zT-l5CY|Oe@F6oGdq8c|6izYQbdv=O2`J|a>^QO1b{(BiEEzoe`cqYilrm;5m3~!b% zK(M83UE}Bt1=}w_BOk42)EXE?RkL8NwzzWji_ut0jxfd^S1|CdU(R2 zzVFU#D$Omn;W(O={npGYn*Po=X`)#MsC#A3YwYV7QoY2zYX7n=NJ^{zP5G4kJ5dD- zJD{@WNPbXzSG;~#Es4m?EfWx4i*biM=eakyfNUO>1!NsgIGZSCRHI(Ntte2jd9IRA zceGjL>{^Voa6le|N#w&`9DPx&8bGy!u=#jz{}f$Fc&5W4#6(~e$l9~NcKb-BXGf}x zzs9)9zFTFD0*+Q=Qew95AEG{PK%Hz*2cPtx_-iLc?s+xhryJOoIqi-$$xy`pecxN% zw4Zk*ko>mP_eD5{X3HAL2(hjs4t3ZslJI|*UvEbP84Z|Xs}ZVoq44jcNr{5m=Z}T^ zHMvd^$m_nS8l66!JzVUWOG^HV62cxHph?+Eo!(gT7`7VW$vvcHguXJU!ZNj6?EYzf zG?UV7qvKDw=m}4l2`Qe!g}l`^HLiS&OB=jvY7G>4-=TFoKpsmh7RG3HQyj+Nb~|8f z?5lw-`O77@HqEz6c{5_4ucBH(H1ilM?gbi%gBNpTy>g4B$^bLW#OWZL_#0StgjTd( z39mCXw+lXI?@kli_Gu2!qf=FQcYlX|(1jl_9{L^5&~EG}Kg4=2ocmnSI202f zeMerVy+%4JTpSe@TVD@yi;-pwb{$$ZqNH;REiNPf*5v48Q^jlD&-mHo-r=;1umn|; zgA<0LuVwP`5(z6HAlg1qPBz3!m>&{e1L1Wh_Q57bK9u?rN6Y?ol<*9TPf01L7rrs~ z<{E$SGOyvICQ6k;3UB|8K^#U;(xcFm%8=+%Tvu=X5Mjz~ekDDUnm8`0-gCu+{HNJ(@IQFu%f~onC=BzYAk7!D%?&FlE6GS!V^!XA#y-vb-_uHrl zLs{1`c9wah{Msw)TIkm?JzEDPXMUc)diX2`ugf5j$NhXhjA_tdS}2 zFgG=Y?XiG>KP{G#(pIo~-N;rSiV`9kRcJ(bAorX;We0vNg(5v7#gEJB@Vb|=u=*Ut z!!({avEI_#Vs25aWpJZjDlViO;@e< zG4r%ZORPZv?S+{VO9e)qsVe2Svp!j;1pVuJM+MVSlDO&dFK^OYpDGou&k?ekEj^%g zPGKPs??llgM@*or91Lt20@0t^vGqJK#4x&iD<|+ihc4^cz9&DO+u0_j#T3@28kvSH zHn5U4EcW4nWtFWH13yT+_uh`$l#OJl#uBJUy%}q(kDFZH6j2=2woLw+(a2UT8Ro0P za+4UEsCV{F;FzXnbJt&WtIb0Hoh5@yg%$1!jlcWaSlujGS5#m3+cpM~$8uHrE$L_b zmmbS+$M%Sc7(Wl9R~K*?F0`Mr7)VjH6Luq-oxQaWX{t zQ;O$hP}7ut{-^E*vLLP`1$_oI`DiO zs!jSrCz_M?sfYgp`7&hwYF($TkZ~qrbta07`37|JY<+9Ub+eETg&w!0Y_SO|?OVBT z@@fRPx|mZ$1ba(m)Zw}ZuKL-fn%_JBp?_@p&EUjXcIVdg^8Hp06t}wl_DUY%ECtkJ zHf9Kt&Gw5(7+3B$l#mJx32q-<|H-vV@%Bv|ZbbZ)hlj;V!hK2S7pB?h*6b?O;X}|9AyuLcLg8w*OyRWeb-vGyv42V0!{UCXzIGMQ4V@3 zp-e0l2i{yH*;VPuzUMnyrl}$y#^P|)V>tEg6%dF8k~afqC?%vxAQofmS)GnF!*2M= zQRJpELidc_brd~Yr+k-di0&0V$Qfb`9ArlQOZ zWJG&WyI#`P_Kxzss6!(vq&!_(sza`a@f9+OJrE^CPd|X=)=c)zv11+Iy}^kmL2vfd zK77QSGaNgxWgqt2?Dwxkv@qHLZnUcULXaGs?(dWmRq+2mr~O=cm{&6Q)9OAvV9(Q5 z(k&ELc92#Dnm=IMQ|L-z=Vn^^@eH|TF<$H*2tDvs&i=c#&3(o+^B+!#KG5}OG- zE34X}{avb+9k>P2F}`#6`m$=-GRC5Mu{5ZqOSA80pYtqVOtik^jtykfH)2imFHG9K zcO>owiqwEr|A>xB>S<51#hW_r6vr6`NX)e;{M8^!4ZWFWEga z%|qcDdL9@W6#h)Oikq$HlqP*t8YV+1#l2rkW>Mr$PMW^8^?IR9)ZqJfId#5pqIO^= zr(tuaOn#wF(&9Yr%?y&$4z6_3l4*i0B)*lU!-c2Mvl3U+dM}>>fK9< z+)}fCi%yIOa`0<%qxr!=7LKZ}DzrBKv%g118s|66z+3XfW;O-=4cR)b=>1WkYAeI{ ze=dDwLQo%JOD-WmB)&|TDM`UPDXY4%I>7~^=b9#ZgX)6(U%}BzOm4BPW~+wSAL@%< zI95tx&A`f>g(U2^cC()A#Y{ha4-X0}ov&F)l8HqLAwNkz$kRL?#P{#0B&w*Y_5;aV z)F9k+EeO{WOphLWPz|ldb9Q#e&@=^OOf+@WwArw9p%MT>%S-IJ`@Xa>nr8yiLF5C1 zo>rV`z>^dmoYZ{BLH2PZDc2(_uq+hjoxb?Cm#o0*I)#H7#@=`R`(umrGoWnlq;y!*%FDT!|Xm_XM@?WL0^vw6NbMyg?X?h=+9g{e(uceyIs1rLQS z6QR*Kuqg7s?WAbznp#%U2nR5yRZqFHaKJoohxW=sr@DkD9jC`jMoKx>!K5;`LPvR2 z@c6dp!r7bHQWI**a^!dM;l)gJbQ2D$F6W)79B!sXTGeqw;DlK&JZzPIK11%vt)&n% zy{dj=$UiFR3`-hLa@UW==iW>dG07H?^l{^YX|11(MGaM5Ik2j|mv z$ivd{{d+H5Ab@w^Z4+w>wzU1&VT@~a#RcIEl5nSMKf(IYKsE=0PC?)Vk;&3eu65Tj z#6>2jgUwN2flwY;{chmvW=&B?5we|B-sMWB?9|N?GGUBYji(Soa@NTKNYY6hRga9R zMo)Z-*a#@Yvg`8?%ivE2hts-fw=pm_cbRcJLxA_@`tx@Y;XB%t_wP<&fr5Y)m$xzI z$Z7Bx6tO zsQbJAZHM=+TgpDEYtaE2PZbxNf1mA-r7J)M1nG%(LL##o_uDiHGF07BFi)29)Y z%aW#`T2?!xLl|Cz{}i!v{##T0YX;QbudH#LBAH(`uy*MHP+i#%8g-Pd5N#<{u_wNm zsNfV-#)2=E6=ig*Gr8EYDjI9S^{KfhXD6YNj^4@mKcKSykt!mr*0ol;f-D$Db88@| z_8)L}f@q2uun-gvAk8dxk2Em>$ugueBxOC?leIed_IwmCz6E#@WqqHh+#E_7Dd0)q zMRWCm1`Gj3P&3tNP{vJ7)SpmbY31uWH0HtFB4g)5rVa^Nu^BCsbn8nFGuS@*wkv4O zp>X!;+9DexvKM(aLB}`Owt}y=`lhf^ypN@3=ho ztfXmsX8Hyc}_xw@GORl^LDxEZgcd4oDjeu_p7r(c%zC9 zC-OC_ZjCn_Y(9aUOZfTOnGuCP_3u;VJsVI2FzjzX(yyed1 zn5d=`LxZ-^w7mhskEx)*@EOw2O=0otAH~@Yf1Yi(;=mtbl zcB+zZ-)_^Oy*Ql$NB3eulsSsSqD25`@{%-wz^2}c^xz259%C~v^?^>Ohe@NBf+z5l zIo`r}MF~LlFHGP}XjPCmln}uJfleu<3xYmw^vNYdWs>zh4#9%LM&jP;S`}E!Ek|{% zaW0HFzU7O%SGnAhjCAF=g3k`v@*W7hysa6-7r|*NT~A3R;7`d)N6O36DAMfJuj5%hb$wqJLxuvu zTW4%hj1$PsZ{cLjjh|2HV*MANHW7GypJ6R?GMLI5r==To? zCN=jXJHkdvv?{YoSS>FUb(cnWB}==q6CGUm?~Zf^S0Xk9t3;^<9WArXpOdLL7~m~1 z9bEziXGcq3Y9dmxln-Rd-0i~Jv{5Lq{^bE4Rt=L^4xz&|i`{TUD(JOa>}2)4x_*p8PE!DH(p@N+}-R*w*ue1 zGFWtZ$_Yu5IK-C=rgfH&BP0caJU*(DYr>z~^0xPn8M!~w$EMUMNomX4*@7K-7{eUM zsiYt~iqvQBMU=q2QbUJKGr({!Lfs60w5pb1kb%?{y;FUGK)ibX+k8)v)m&^6u1s&U+A!326uz5F0!`| zxUAHEM)e;hB2AQ5qgC#lV z$vq#xaSDG(d9t@|fIBlegnE~QH_UJl{FQTS8gUIRHd;8C40q@q4md*{L9I0V^ zau8lJNRO7?5mM;yfRS_b1+6%`yF%$5m3|ezi4h(UFUQ1!9H~>$jGK;tD#k40Uiz^8 zVbneAcpZ3aI>(!fcKdj|&b=cxCTYGK&M+=9a#Y==9N4nXWOhdeo@U*q+U{hWMrQl~ zgA9<%ujQ;YmXKLtHM)p&@Fe{#56o3uL^g1OCJD4lIZghwR`3N76bH)z``Y4u92DsW zIa3~F=&HK1P=QqJp(k#2qzqA@tJ`^w|8Rj3@q6AGva}%hpDU!2Wj&f9Q0j_FlhF3} z6et|Z>%^C)&{StyiN`t87JK9V3gO_=A(Y`gH7704jx^D@5fRDf3)vr(gNJRIyXx5+ zr>M}nv^NV;K+y{D@0<%1&Nt^C{zABPEt%giB6rM)YR?n2A7CgGB=O4BFqucf`mjri zm*N?M#$_n^k9ypJ%d+kcpf`==`Kxmi)oO6bFgbd{v5zUn>B zh#zD_uQ7kp3oHpmWqA{&alu0axTW22AcYHZ9Gr*<6q4`&)DjeRFrK&G|I_^*$OAp6 z`X*k(4y!`b8UH|Vv?2?O#+bS0TK+#%A%;}Ls8&Od%~`c14T%;Ubq?B#c6TWtv2cz( zKFrhzyB}Y!KcJL|Fz^#wZrCg3GOz%H1Z$tzGpBPTjnSheAAJNloO!FKO-Sy7_zcq4 zU&$F~H0L&v0|F;AXS`#)oh@^{PLxs+;Yq9zUiQyt2kC;%@7Myr^X#<6A#?CRu*(7~ z`}3*NJ{YgFtgn#xG#xd2VFvUJVCf+&UR*z)X{K%;fjz#^AsIk>HH@^b#yYV8rF7H2 zii|qo3HaJeuuq4C78SkRir`5jWn16%0Z65=^7pY{PV>$xRk^$X?DH|WkoT9~7`W~t ze|EMwi%2eUz?KDY#B;GV54SQv4()*nIazF27^v8DOKKIQZDLPy~QV2(Giw9Fqk z$Y+CR?x$2C}$Zhdj;MibmqIIN|CXqKjTHsWdUNL^}UQvlXXk)Xk%Rv{r{=M`#j8K6k4>5 z$xe8Mj+$1ZJ;)N4O8K#rD>f7(q=K#!TggD>&-T-&Yh;Bo4n!5jhc|{A8%U6b!6zDL zuP~E+rilGAJtp0OfY6>Pv&;yWM@qRO ztLgvN+R|Par*(^lStI}o1qH5Rs93uT3K)b*EWQYY62Xi1rGgg!?kWxdG60>wKs3Lz zey$x!kCx84*YTE>h@c>CZAV5M2Us4~y{uSQKvWj%(1qgnU$>5$6VIpsCL04}V{v@# zFl8%1JPunGh~ikPO;=i?bc3K|RNCZkB^c;pM4(Y#B5_i2q(A@DGGLY{;#$0% z!(1-Tub^moMDa6LCK9rJQa}<_KOEOneZEEtIJ_>=1BsCBXS?6)NWxPTz7GafwhDZ1 z1(4FQr9i8!<+ZX5|NOsR1j@uaVu&&cKN$RKk6g@8mniTBZdQRJ*hwuyWyhEHd3?w3 zOO_XvpWB5_ohV|l(RUY|*CuBY19vBMEUB>OIKMB&dcFg`IYTq0kQjX)9{q+2uw3P* zjDIH4ATD}gLT>`0n_BJgpq>bilaMPwU?HUpR1fqZivma(6d>QY#lX2KoDD_;fJLvu zj?>2*mhtQ8)`(XKfy3feFLGrL7w=~S!it`sMXfg9nhbz8ROrW87NQL+eJRp6qJE7O z`Id!J?OL%UmacvAz!!|pmy8f{9!?n(yI@NyBG~psmb!tVyQn}Ale8L`Ir|8dDF{8k zPgAL1;;p3c*ae;{nca%5LgD4wB6#rXBTAWEp(b_9gms3}iO?(%W1D-rxC-yJ>*Ed> zKnh(*0T+{ratel0H_iX3)xM(Nev42tifT+FS52?4-K&$>aTv;^S<7Te6ZXoMQd;S}%PIh)l;nMijFP>;$;YPm7ihq`V@@gPyc^t6!nG7)5O6T@?wfZL zq7AVh>L|L6`bnk#acR;G`~r&9I=+6PZu(Jb$Be`5^Hi|&)}Ln9H$c?#0h@qttOJ0;BGPZl1>E0S+;np$PO^Z=t4P<3wIJYawMcKz zye9Mi1T-~nie%|~Vioz=yUzw8j?fFO6~;!ZYh>ny=&QG7$b+ z6}^m&67nwRzLY6uV={?K)A)qh&FS|8_b@6A6~M*GA+5|F-bb7*|8?A;SLMR^H!eFw zj{Iz~J?G5`n#Lqa8dP1rp$-rJNUP{w6og^H)WMeobopM#_60!IQ(sg)2b34eo;~A5 zgVYJoZwiDa`yEekstY2}r$}O?2dZQu{r>D=69CmUrnZ_H*FI$K^0(77H^+Hhk>{`& zGyT&!j)J!JE1<7LicEQ0E+nT+m3MA|19D&M*jZd7?veoH!3b}RBrD;g_=N1yI!5ER zS^$_RQh{Z)Of7qvcKa3uJ`Rb$+gL;`ZA3EBJiGo6qXa6QzrU$5=72r9YGWxP0+S~& z%xlQ37Ku@@;g{aSiV(PVZl)VBX?B+O1@No1FHZU(^a_K}sVk5qxxaqem0rqOb7qO> zKb|Uo!yYijDf`j{s%X_Gz~tOh7nU4de5z__1Hjhef<;@3Wr5TC8L;plv{bkXLeXVS zo0NeViNAoo!=#e;$rz}K_jN0eD+{t)+uS<(6b87pBV4dg#GMM9ym6Khfi@>0gRyL^ zYv?6&tBvMD4D2SXEHkKIgjyvS{_crTUU1Zkg_-yb6igXZMjL$>8hQ?-mWXOOS`2@3 zt}zQgP_|yJ%p`n|buW-nrR^~RGMDL0qwMibiK|C54KR)+2?KZ#^CMEmahO>){qvrk z+S+$)M`(Achwa+|71R>bMzP($GRB9Z8Pj;3EtrLxbzUazqv)d-&fV5OeBq5-vnRut z@IPyJD{y|R_b+MlEkl2vn$H`{CY1P4qVCzhNr?e16R~~*Oz4KE_SDF4owvC9uTz6- zO~b;Y0s)g_`p+J5mrjJ^toCeRV7cM@vdBLiY=h0s?Eb)5v94BL7}0V*OF!ZSc^nJJ z*Co9q0Pq|0zO?+}d+?<#D;;8pIYZMpra5dsRwe&^C0B6cMD+c->5`zre*;csp?W2} z97E8jHEo3Wh27K=TDa^*tB6-^vzDy)0qb zXY>^51Oy9Lg5NiKc3Czmv3osUI)r9&Y|eWc+c}E|!0riv?1}><8g@s+@rnuCaHUYk zQW6UGlVa(v6y?#L@kg0_M;scMA;5acW0Fk-ke=C&FHT6_NR58XNdVA@A%B=#gMUd1^?0ApPd5uGbtnsigv0}ymE&G3+a-JO(&h(_s*S_ARIYxT zY1|;!yUHJ^h*^q}*TKWx-hwn5=;_mT()@i_dSBc%h5wVzao%@-XpdRAE8Vj@?1H_7 z2tTzb7rJT@V5(&*I~m=fs?NlOtkL)2IZbiAIyq;rKymYkza=&N&|7W4%5054L`N~F zFa$J<*dN}PW^?Z^7_(=Ei>vt4(r1-4#-`SenCnUc6hU7zW|oUVN?UOrweA^67Z)zf z>Y+l@YI}L!_dXv$eqrRFP-y+o!#V;5*??A(R9XF=UyOzJ3RwKwU6_tfciZB8$tSx& zq%??WjQ5Y$NQO%rb=SNJZ?SxxQP7$0B&tp0dtxMGxtoeJi5@R41zUff>?ffdxBjz- z+cbY~TK9M;5lhE{h?U!h>#c@};t~;y|8Nql{@diF*x@JSUZJaZ#HzX+<2I)^04_n$ zjHSWNj{{#kJ`@XU8Y8u!sQf=gI#OzZmd=#DYI~!!P@q`rDK15T8?GY!!B#1<7kRsu zd&DAypam(@4Nf%Qt))sB4g*p&77AHRMd9bTJf0MzL2<(>@+{e-PpWL4`47rx6`Bd4Ac?@CZo4 zHk3X>~bV<&ERh(EG6 z8}u|!XSzr=+H+*UmW-gdUokrXd|!6cJwquT0G$&xSp3?!(@n>+z3m(-R zlQ{re=0MJqkQ=FjXck=5nWzTr5{B2ZQ4p)wK;l$6f+0V_-@lqi`jxDx{I?+9x@K+y zaoFk}XQhH;GH&wO>iF!qi)BYVavQ4tw`GD!?13 z|F)@;)`cJT*TJ9X+qZOt7?2OYYWZgiMJr`vW}3NniAHWr&%)Ck zRb`giDR!9eFSxHU$_x}1Q`cOn(y&Q#ml5=D_GRL(`N`1d>dtl;M*R_F(Tc)1%Tr=w ze1w{Ss_?)^5Xc2;74BsbTk_J>avh?f&iq(ozWmBXSGx1)o*{{uT%{bsK>H;*E^R7z zvJfDb(Tea$flm${mg9Jx{g(UMus&_E?X}PUnGbJC$_}LXIUM7afDZLi9r*oAhlI;1 z2(AY+YPx|FSc~eIo^fuwUbYLt@R#@ZpC3rb)R!6!jUF`3O3|{yMbb|?!IScwKzq8# z6aMAbA-&uA0gEIs#R~491(Jv8yM-LpXFQfS zgmaiccjm3ckoVu$N)=@PwV6qiUP`2#>i7J6Q36OwOSwU2JAJa^=vaJUqUm5F-JLed zw*PiKp~DTW>#0Wzg?RzDt&;t@x+Klvy3R#Zc_tQc=S!9jJ(RbZt$j4^EsXdTRi$9G z?+hHeGV0+2@vAeLuP&p7XGcZ&T7G>6D41GcW@YZcpOgQZ|05m8A9?VL8tfF{sTwnu zZuK7knllpXt#a*k>kQbTlq~U_nVF!`T#;pPe2X*)wqxWl)NCJ1%^PMCZS}q&gP~Qz z&&uz=5dw}?)_gad=<=j}*_eR$=8l@7Yd2PbB|Etw6N7)obhg`ig>$N-rEp;D^rvh5 z{1x&wm>YCl`zsLOq`^}(32QARR`SkF*u3|YI*ci<9$3lgIy8r*fQrfao#)nlo{;l8 z0INhpwybpdVQfgU)9=s^;QJ~HEahjm6;;w~7)HI&B1@0BdCk|U?fyVpUXRATcxaUN zZIYSu>}P;OD(?9#;sCh@yYfqNqDGw|U&vnb(Yp0ArZHBBw4#D4<;(V|&1mOljx$bX z4D_>U8-~E{LFcPsD3H$w4Hcgy;C^lUvAr{(wdqOi@qV=W>3Y(k^WlCtuJitW@^!%d z;dtjsXTVL$)6;(E!|lTOQ_p(9!%fKwr$~!jMgj3ho3y)mpU(GfgtQOjoM)Wo1Vaf& zkEYRKgdIm0UIR8fXywo6ma_B=SGHxUeNTY9(yK_+f3X@XS9{yha?+a&munKs`@U?Q zzbm{vV@e+OHTl4r0>apR?WreDrdbWUU#3@?RB7p^#&T=Tl`-%_XM~L_$B5^lgr76! z4`qChHC<&?*w{vMm6doYtfC34yPfbXesN@j$^JE)0y@TGzvW@=Z9+#MViRf>d^Ot1i>ej>i4C-Uk7hkMROTt9X>AgNO+xp-qGa_ zR&59`tFN3qT^%6mN1*>e!I9g7DGcmVxS6n_MDs@+@i-5AS)}Af{muV&DZQ*YMZ@`~ zf4HF9@3JH2>c?B&k~+mSOp{65SoZ!ChG#yewktI%VQ6i0m4dXw|?;?XYOC;0H;|K90)b`u^Vvc;@G&IuaJ+e#H-< zG~<}JKX%9oOcaNJ;>T*7U9RV5*`buY|GZ&n6rNeEyC?g!myYCx$X_|)KzJzUp93@?`b%U?`-Kmd}JFl(0WlLVKZCFszLTOwYlpiHhH#m2aEL*Vc_l(->Oq7)9fknZ`zk9+TCJO zP=riV(R3Q(DSK{%sejY9N6g1gcIzrKfRL`h+dfeh8l>efU(~G$)+ULsWIaCw`KUDM zxRSsiOH;1Csf3A39WRKg%_yxjKbKUo^Q7fMCN8M2Sl>aI8cSW%hUPv#T^FMG|Jxb( zN@VWEs``e7&@=@`o7)aE8on!K$H;Z|FFuhf9wyr_O-s3r(J$!r($@93(Iz@HaDt@N zFYPdWVV)x?=Y;w^juedPbS9Ob1P9KL)oD(ixmoTWt6X(}_@!`*4HR2ZK7DTy*G5Ph z29@avUF7~`G%0j)6Z5l7=mT@y)y5D;?RTVy-YU&AG2{;DuU$#W9gs0hm5zgP;m{9d z>!sU&vk%7)rq-#3hcr*Rr4PqdH^ELnyc-NBe($nR!3RDgRd#w1((^TjGq)CQ1)MZJmt+M;9j$h_=^n_mjrX@OVdek6e5U;<;Xy+eR z&(UYdG+=O+R<&uxxJ-Y!YjB<@X||}`@uDx=ioR^i(CuC;bWq8pZJ$${WySf;i5;F+ zT}0oxvHb(rfYzZIZ$v@82}?(Kcq&?P`DEnn%p%80iC4!9IhC|`N`BKqr^yj> zqEXcau>B421?`T`St;SmI=5h&YkB>q9os^CYhv(UzKGk^g1G=n7NU{UMYq7kXZEA0+=%gf^$9{!#Z6(!yp*|MNcD zGq2yjDnGYCkyM@)IxD2vXLg0@NUVUfRj!e=9{H-)PjmkUsVaGZ!vwcg!_RLqzYYnU z{j#?!m~#ktFTr|l6I;RGxDGB$d|s058%1znmgdi;5PmS|$b24QOwZJ%)%QC-n(s6k z*wkx~>^ibs;P^-j?A#r+VYj^Fm-@hs#sm|=86MU-IGWOZK}cB0e)j;IBq31`;pwV=tP*;|UA z;vT9t*6ya%r>7oqeSr04jWWqaa9~A-W&%~!Q69W3C{8fb&0%ahZR3Mukd_^R-mXQ18L>1*AN@nn| zn3l*Z^;a9!NguRpA4ity!g&*{om}s8e*i4msXmQtop`n)Y84w`+a$g@`wLs#z6czz z;x!M{`JCrFv$A=<&X$jaKD>p=X^N-5+e`x*9o-XO-2$j2PEXhap>Q7+9#H1D>TEn>-&@M-=;wqJmnTC z9+?HI9@T;Y{SwjApZ(=H1BEY{bOZjAN7g83W!klJ9{$ZF`S!O;$*uZd&P+S{OQNm2 zTuE+EmdX-$oObzdN(oBR2bB}=1M8&HFa6$ zOm)LBVyn?PnOcN+=!uWW-njAr*MGA9x?*Z6Sfbx^<@tn+dN5y0sVGJhx5oz@Tk5Lb z#D4Li!6#qfQjd=QoB0z6?D)j2s|>TM#d1hkk0K_!_&73Tmw>8upof z80o@p>fxS&JXdDPwwk{&cqVB)Z=U7>t4l9C%E`6H3xp#4$uk%zaC&#%X$YF5AW6D# z_TuyXwUwil zc@YuZXV5c&T`6oe&{%G(S1NZL`F|D05&x(w)i()oDm<+3}!Xi zGxu6(0Uz1o)@8R`=L>Vxp%2eP6loXExbAQ$QsNiuoi7gxvMjeu@%+ZqV`JBqRtm|&?F$5o6deOqyIFvNQL93!m{r6osy3ze7D*7B@*%Z~ zm{qh?&8pgalOSrZ8m+2LjZnMxrgo|EyS~5w?#<0Ox%ZrRJn!?oM^Uz3L8ceTr}~PZ zBhR5wrGM@G=Vx-km@u4*uJEF|VO#TOHUiYI5P~qr?@2R?@AY0Q(6~3TCc}m3p#zcY z&D}<{?y6f6<6$2rBju@wI%5EcgX?<0r=H%5m4ov4<9nw^Lax8R7w?JpJaHjM{PW5W#my0JqSg{f z+xG5em$`t6U%dLXgwT8^%(|$p3sC2ko@_22)tM*K*AL0Hl(j_li96(P~2sTTp0CZ_>9^aZaPYNT{;>+#3x{l@8+9t-ub|2)Q+0W3exk@p%o2m zY)vIX2t6$%XTH|OgwfDHQ4BLR1Rcr1qj0^Eiwektl%41=i>vtzhXHhCqnE9j=gCoo zrHpw{X0nG*e~`QTUIAvTuVRzy{x>cbhn{SJ1(*cB7^?2j^>Fa#{2hsZb8V~7dT)kb z#^my*mU$W890k%24}M`JpkW~j88(@(`VXqNH*Flqf2$19hx6a6S2U;6D3=X_E49fn z`1-V@QXsNdeEJ8foJz9Q+y0erd{QSj9Jo3#!WftTD!@vZNoU4JxCk+XU4 zYaadc$^&$42FF?2tIncaDZg;nQqA1OY_DW&i7^9%aJs<3q-wkm?#bt=vd6!v4HJko z6X~f#gU2jj#|U+~Om#900&%?iN--Tc68PDrg>}4>C!QU-pNuA=v#30OBIkTJs{%)i z2Nn8HWL)|xK1I#*j7C~VnsG?`8vxkp)>V)?!>cchaZ{4>x5z#s4Uc|{UpIFf^c#kq z4}sgG)4T2iC=UsSVQV+9@oS9-I2>HS!p)<#xh~Y~X$kn;urXZpazFf)PuGoAR)Rc% z&R__}S(&>=2{4QW=V^$oL%-lrv|7YaQ{OCnhd_FEl+d7jaFa2eNBzJ-O4gFf0J!y{ zpzu^E+*N%K`Oa!pVP!gdn}DnCPOC0S3E~CM!*foShsSF#ci#I3=)eQh!5$6w_D^(j z>UxS5RW#jNub(M`h-m4@=|;vX!;<^76%?TWibRH?AP-OVE&Z8oX9SFM1p~c1pOGb; z#)b!svFPFvW=1sk7uZ!2;NDn_z_}8N)8cvky8&W|J_s3u>ur|Flm-0YzTr?@TfC2! zv?L7pP7>IH+?s;){;R`va#8)n@ovtVYW~Hq>v{y>A=5iTm8!jO?^2 zxgpT$9Y1N=_5}>pZKIypCQxG^>i+eEsJXWEb6!CEhbT9m@@YH<@&da8gqYfrMDpry z3WvXmd4)#DJ|odG;011m+!my)c4Eq0s%H-au{ z6-bk|q%w(F#rT^g`^w$@3>1xR|E`8Zd+Og>rUOjnG!!jNIzol?w;7emY+0ZcqjZo0 zO&n@=#2_r8{!_R_hs+#sY6Fq5tnBDVr$sb~>}Wl`;*+2%%iN;X{2u6(jaA~IH58&W zC;M3PFS>cpVqtJWPGz=U56U$X;EZ_oZs~^iPj_L`nU9_4%ltr+6;-yin7#_QdER{g+f@xy{l4h_gcV@%>Z=lG*Iq!?(Xj ztRHxD|JM4kUcAcsCSsf5L-q~VCF3=8ZtHs)nLPns>T-^WlWj1c0I$1s%46}X_>hkP z-HE9Zt#Jk|GH{aQD3HEAc=w%zR-1n4&DtY@o8OdcRV~jfyK}M+uq5#3hJoDRH($v= zbHiCxNHX5RLEc~3Iq<(OTLTk7aj3x2hWjujK?j}>5Tka?{=eKY(YElVX_6BnXw1T% zTGYoK`Mior86siIlc*m?59eIF0_&0}42)AKO7*;>o1D~*Ki?-zHubQ1(=uLVDiwP} z?lUMXP}KYOO=y!(#OAO48p7ZitHIQ{BaZbh5W8K#DBijs@5vS2K%u3DT21Q=9o!LH;zY^H#UeQ%gKKspD zERGlACdyoY@Z?5LqycxL&B;&pY967bbuSz^>#7&9yhv^IY306CfLwZUa;yAEQ>?ev`b#v6Gb?*D6)A60%&?B$DUz@ttVm| zl7N!1#<6hXhPx04dIE}xK*KdUyX1h1jNnom$?F*3uTvnR00MDi&z(RCCl5xFzy zL+YPR%!Km~eZV55HOMlG3`iDpz{!yw0Om6yqaykDGER!v{&xwoWzerP@Fo=?V3jgr zzOk_g4Kzib&KkF6gqvKPHbT^1(A}5zXA?i~ttSNO)_=Y)ug+u$XiBOWg3Hu85!S0F zl)w{B#kzT>#xi!es}$&~u!=n7{0@Wr(Voq(MqwVYF@K`KrF^Hcm4#FgVe=0cLEZOoQHN;7{~MXw%D@-o!WH&Z?JMm<|ZOpfg3I51-F;T zK!#vXqXmn_4f`<8)WNCsR=o-^{d%}=arECkF#g|U-C&WC1C;+u=wvzWxiH$;rMPOi ztX?XCJhN1UEe-FBGKPbAc0KJ@4wUXE4>1uVj0>;@2()MZTS2o`Um!6wxrWW~4EC=t zKko*5$M|SUoV)%UW?|)2d1vJZXbU1WV*Ez&S;9rZc-?c!%V$er6dPWmBxOl1@Z4>i zh@&Rg_UcZCIFwMyav$vQ$i<#*2q*>>Xz4I-UfWnW(-h}kIeM3f5yP9uQ(o1(5|;cp zFCI~9q*L!xh-oCi51jK}&mJP>cx?$w>^Jn~L79D8q7lN0SOS=x&{HL_qqjb<$wVyR z^5J)Kb;vZ>ag2TB4P~UyR86;0WUcHHnSZ_1Ax|Zy+Mb{cEKZ$Ww`d6sVooX`$_W>G zl0d#s2#;v9DBBke`kB2CghsIZOJHZv{Oni)Ttyo;Ia?LG>oIg|Pr>}F>n(Hd>10T` zV1(G|+oBiQ6(l)GiA4WI%-z4U=`?nr9EA8)o2F1iuz;Bz7DDzibvBNbf0e4OYWNDz z0Am-!&|2J~zyEZ$CTPX!LR^5E^^l+hp$ku3c{iB;wzLtn^s&+uJ1^D$VS)&1e4aoN zckIB96&w;Bd%78Egn=iQaQe?p{sbQMd=DAsm@%OJ1?ps??YJ7oq{jV~9&1n(>1&ES zX)y~%fw2wN3G8XS0q?cRpYC|)4PN{VR*jQ0b|otj&`TWqp$Um7)EIXy6QlDuFaCscxNS$ zYA(mOIFrn|psjSnKhEp@nu{QP<<;t4ZE*)Gbjr^Ce3`?;NnMl&sGR3sHy<@23z}Ya zfOA}X75(fO4Pz;Hh)Z@+Sl9~w>vz^z19HV^@;<{m=Wnlm7xVyMnDhx!qQ@pXadEGh zcM^zP^Xa*t89l~_R}mT*hhigqGmQA=)D*lUPY7Y*nI)U}8ZCQszWaa>r^G))GcE-a zCAjFz#epWlROP|Ao@dqQ2y>!VU!1@Q%WtnJI!xfOse3ZeMz>u!WXo{-o|jO-vn1Ln zCs0V-+tT!5<4SUPlGp=oe6lk@uGq%5?cpzgj85(E>G&5pb8WTnBZdGYSRxg3CU!#S z&MdF5Cy68{|0KV3+W?>g2qZW48qZnMiLnY7S**-e!s4v@mM=WZ3%NTsOQfw5Ljm3Pyb7aL&)=?lW{*dp4=#Ln;D=SZTbft(k1 z`lvS z#ZeIi_`g??=Fd_2i_RqP0W4uSdjy?G=2B??-~V5mv+v1vMcpb*-`jJE{0E54HY0Uy zGWZko^W?pfxo^H)G^jRj7t78zoTvqW5h>HxvLw5JAZjU!UcT)fr|NQ=oc&w!2E>nN zI#mh{5Y@Ha-uq7h(VE=xtOxj(d7pxDJI;FaWzaM(Ye$2qMD1*Xw^qfLzh1zNfY5j{ zA!xqf4gkH5SF&`<(r3Bm34h^jPm5MpC3~^c`_ALh2Owytfq{IN2b=5FPkmW9@Ivz!HB4x->M3E8D^_GSFPA4p+a+jnPzgbcll&W;wmvN>RIr#M zeV%^%#~>J@ODQ1)Yj{;VPV|RnE-mPmIggwCvFtVjklTZxp0rq8zK<0T2@x()b;RMP zh_(LyLL;!^gK4AAO1B>^f7!tRq;o_ysHC5fio5UMgOG|6^@>M+zus+Ig|EI+657_}P>0R`rK+k5gYUST^3WM3`pa|LKfic+7Lc|Fu@oN@-nt@Ice7gXpeTxE4+ zh6zrBQ9I>zy?AJux}aU7+76H26^Wq3eaV}YodsIW_yl9^d`f@H-x;!HF{%9n%kl4n1O30T zmyzQ9M`}d5K%(vT?cfrw>6NZ+>sqscd4mKwMn9~@rYl(~Fv|-Ls1;H_f?ZMoZnniy zc;gJ3v79A!$uAhreW6VeCfGNPZuR-x^cMDh;{bkmCT)%dm+jJm0+9K=_cHa02odG6 z5Nv^Xl-$Kh29~%0M+;{J8V8wK8v=m1L-3f5M&e;ThPLYL=$a4_?uTvlQKgEL5&VR$ zGvlY~-S*&o4!kE7M*M8zJg^}&7+#uBAIM4Rhb$S8etIS*u7Bj!z1Q&k zi}aeeQK+uFFs1fdqOXy{ys$3^Bexd3L~9nQ4iLLr9zD)Ac;4i33EH8s8bIF zs{gMku+o7&?R~WRj{^djeKWPirxTjSkRuRHYsKCDq4!Qf7TX!YNA_ zEV1w438vPQd}lS@Eb0wg$%`VLorPx0nLI~>UNsRS=0u-qZUCNW>jirR zxS@YAJc!$NQuZGsF#>QW(h!J&k!E2B2gJH|n+QKXras)~9ur)OShf>g&k|e}c=f8H?Qd+4`PWTX{o|zUMF2SmqI0CmkM5yJHP+bCH;>vo-6`vVMfAhA#^LCpX_l!*M5r zWz8xv9((@Q5N5v117#mIcAPrIs?dQ zwXiIu&@mIe12BfT0GR?Q`7Fmj+tRo=M&2;xBDi_)nltyDN!?p2zrrCAHjgg`rhIs_ zeccc0D)w&&jbO+#@&>_I5am=+0iS5XGv9}|IT6RFNrVgT>Ib#!*$VDc?5+2Jhj0Na z;oQvq#{8S25tztZCZMRusn3NqDe&0;MrdtYgE}z?vhRmx$qUK+HkE@#wAGh}e^?#J z8<3A&AuBUs%p}`u6I2}{rRmGGSf!RHWAlUgc7R#jGRVZpI*R3?(S!=YcZ_T8#nUi%lU`)>^FJd3kZ6n@0>trJP=sG=ObwlYzt3YX`@HbjctV4hk1d*d5xh! z^R22_xS@*{FC-7@DM(ttGM{Z?{v-2y*c^~2L-Rixp)D&my`$|K#iHGoVUT|`tM-tnS7(f`s+akL+B zt7~xEo%pn_GXhWkhr)Wuy)l$vmxMM{cM{-N^yt419_^9# z6-#B28PrO_nO@}5yF?G|FmT>3d1yp9M|wR(8&7~0y$X~J1_I?2!{emZ3lnk^AWWNw z?%h;`jdK6?eG=7PHBYBN#O&_{-1!NN;kNd1*U||1tS2>yt>yf%5e+Eje;v~(BqaaddXpJE@8DM3jFggu)-N;A@T2UWzV`4DyWYg zgsML_hb?(3u<3uNSVGuJ_aAhkt(@4lK@2J{qu98UFpkO~W>;TVreNrCa#Y$vvIKK? zb%3(KDF`xpZ1gJP?@v1sI zbnAHq2Rgi@HB~19=rSgbe!trGz$+4u-36>HdSl&A<|<*8?UimgFmX!_ZHh{+Q=;oj zU-A>-9K3?o2Vc!szx(O=NHPwEhix9>1+`X8b%-%T2Y&S^ruOkUG*E|h-~jHj?5^S) zWZ<%)MGZCJaNfcnYoGO{DUVUd1_G>pDai6y@&oR_GEBhwTD=I;KJh#Ezi%>Iju}%k z6vFLoI%)%$Us*#?=B)L>NeNp8NeRn>73HGm(_BnzRz7({8r{{vkg;&}2o7B*VyJE8@ro&1$fO^xJ^f-Vcc-92ZQ=C2pG~){2yzh@)0;W7% zFH!mz8KnMAIQ1YK;DQKi`Ldx3I>rh&vd+6ORb~YL6nbFUL5f|(h0TU!JYY+%5E1AdoM&o}F&Hg7V20V1AJ^m7w zs5FCD?FPCv%4rOUJ5{Jtt*%D)0-=O(!X7j8Age5Kf$+4HUUKZ_C=yL_MdxnXD|V`E zKyy+9`e?^#jh}+TkKfXX2AUz(7Sahz#}hW2F@Rlc61{p!9WqY)S;c(8=9c*^5!_;7 z0WY%rN)%XFnV8;jp^RtdvurL*gvn=T-;YZv?lKGRTnGZ~j-vCpP7VL^^K1t&sN5uq z7*!ImUu}Yi3reY54EwNA2oahAU#q9;sIaHolU*{H4^rWMkw8l3Viy|5l}HTz?jeJR}-xQ1-&c zX%jkOH~s%-uarXpP+*&V*5K<{X5Q;BtU0JJLHq)hIxZXX-~_d1S0HlL?|L-S=9C%|<884#=+YgVFBUf7|K;WI<0}fg6E8M5 zKn;ixMC%9@h~73{H*alqOKkO=g#4_#l75G<~>9RV?fQIugsVS2h& zrc>J1xGo1?{dyMZI>p=!(q>PXH49HZP3a3Zap4`_T-;hos+?09S zsmpuifiM2|co(p!hi=v(a#PRTS?!oJ9Ax!)2ZG`Qczw<7$s5jh)p^?J=Oh2pn6q1u z7OVa3I?E-05L6#81H?pnG5h+$KRK&jk1sWC0vcmw2^KSrREkQEFVME`#aRuw{Ug8&@=2V&DZGbX3@oczWrC{r#sL`lp2Aq z>ifLi=s4aGOfiy%(AY`|TZT*1dfGi+x9lYfDigjhFA!~t|ExpjFjR;5jEqqSgN=Gj zWmL#d`a^#vXn>8K@Mc3ZvH~k7R)?p+x4&uBVMf5bj02>bee+)bb ztHEIJCAtCc)VNL{hr@pqxb6ybTGytj7S_ZUe@$A;!dTQX#-xyXbKM6;U_(0Dc}H@>rmY;bWAApE75k!ya14|ORg&f~de@8U_4Y6E&S`3fV!kA9 z^`<)me!T3~pjalS`HcPkD(ld#5~MN2vd2Q&B(ZL(>5q&xFy%RugbHWEm!(x?Ols?3 zb~*=!AD@FJwsx%1;Ep|V3+kJ0u3CjArts^UX(o3dlX~(Y(zb(td+KOOo&=kIpdaIp z?9Veg-sU%u=xuX*;%Or%meuB$2hp25huA7|SXFSbu2@ zQT_Gr*Gewlsba)A)Z$p!&Je4X`*&*Qm{9nBakM;1(wIa)dM)!mpx;4PinZoYL+Sj_Dwxq_! zwe{`|{drMF4j;J#T82tojT#k@#+_ftJ~4H!pL+Cw!S|-wY@f!&-wV}(2es1^BP>7y zFAv`pE}I>B%Z=^()0d((S`#W2?qHGpg3TJu?~zx_%okpJjCVWrHT#OKE%IOEyqQN5 zRf?+YB=Nh>mT!Xl$gMjA%OYtL-n-xAb;i-y{<)1!4Ga}mmu)+$#t1H-vqIe8I=FF@ zRgUAH;AC#W?k!GzBuDtXfWW~sC9@QB%??C}Y#)A^dTcX0&%S5T0L_!zoH=O8V*ly0 zzrNBrzzS}i7!FxTJ|>|V>F(t!-e124;@Qkn(EZ=S&Tigu%HkJQ&K;+%{Ws8JHh8;= z9Yz{h+Edh5;YBk^jh1@w^JDf6^WWX6-7Lo{fSoEi>h&*K>@$)~{5+QKzOQWp5Bchp3 zklIrqA3b-oNGLn|1+*^QjD*=RjVt7*F)}a1Im~IXHbJ@MU1$4iF$MV7BhB@K0l}QU$l__+xjq|!lXbfmpV2SnGEpofjA*k>qm3ib3LTwkS&Et?Hh=msDzh}mZNuj z8PMMamY7$^5c$VD8wqd6c4E~Av^KNOGbu|+%63m++eLYn1JNG=!~s8>h3)pOxOi#b zC(6d$NBA?OaZzQUQ@8KW3+Glv^adi(#8PfFTma~C5R(sw7i0F{b6Mj22#hFU5s6%7 zBb*a(W5P{sAM8KIK+!0V&&fAvfd*Vs(w<{>7+rt}ZfY{>(b?gmrW5^cw0dw}|2mf% z$nj?}-}(z6rts5NK)@zzAdz6n@^Ee9)y;KmH=rP1gxOBE;bZVfe3l+j3XTts+vaHn!Khk|bfE8ht!PkXkoTz&i zCZ1t#zQf&K8EUiNrHi9kRnoesKa6Y7!zNG`R5FceAt1+{3Cv|be{ zG-gMi2l9)?=&Pqt(c7_BR=D}6XZD#SGtE@Z)QIL(qZuzwABo-rKU%R}vRzhd3N_3)4m%i%J-KtYfEaIo+kx6>5UHT}BKNi2-F8$t=4Y|1J#DG= z_(I?IQ?z6ew3tm0jtgS)RbyFCw{!Us?`hB7v6xmdh6Ad zmMOi!d&DIyOIEIs3zyEWxFMjKa9+@G$-ohPwyak$e&DY$N~0RocR6{Z4(9-V0F}5` zACvHkbd{i_?>aupoQ97<8kXz^bhiN)Ldl`3yVC06i;C?VcMCRUQq=EN4-Zx+bXy)R_3hV!x(t$qMIg#tCAY9}q(K{o9l7d9ZN4aD9CkG?pFo_e}r#@6h$Zs0gsv zZreW*#mkdX_A7~N&dbZ7bM~OWDLw==I?t`|I;Qx1g&o;Bp_JV%w;{K3`M36ngXeR5mmhc}PR4=XPbvg5060_)xUZZsT-MqW=Hp9sn$1`IAl}yfnz7(x zt+vg>#~9&4jkVS1%*JN=XW}mMdOG%ca{9yK%Al9kn;H$p+ZcZ@ZTen~h4*G$32s?- zsrFkNi*i8@bZ?}nwOR5y8opI4MAO3J1WCE690q%86^1_+Y4S0Qok=erk81t7j@2lhk3E}7$ zADulAcS#a*yUn79xIk>G0zKG;|CT}7s&hidAL}9n(Iv_f3Z)E*+}BK=ruG_qW|bA$ z*pb^Wf%354`O-SmNI4$1ih9$ZCjl5CrO#nsF? z+~d+ln!)zm_QgK;>iZ89&(XF@@SRq+WX_*98Esh_{sx#bA z?<}feKgE-uw*tIMad4sa@d4=*lng|L9=a&Ujf7RWU^Gmb@nL}u`S3&0%k=Xg+X0x8 z$lf*tZ@F{S{>YxQxol;Y4{I8M6Jx-~`sy}3nG8%p=9#qhenuA*s2K2smR$CJ{jHknZs2K}^#=%2j|jo84CVTv|v4fSbM49{c( z-tOOR7OSj4MQvkk%Q7z+v|rT1^^#1M^TwhK=jRsg&_`;G}6A?3Q2Jm~8VTSL4GmHIv4qMS;&1z(zOH-tdjc z*vY|h2HwI?O(*YdYNzzj``o4NhLvx|$ETzl{-UCwl`7N6Wnv|PsYTt=?7Z*}8C5BP zU(xTV0!J<_)nRa^P260@rjPHjwR+|Z7ndm9>FuW4gkdslzg(e}^$tW*3bcUH!I;WLH{6jj9 z2hhngw?Rn~PGtNd;1W$jgSX0$O^IL472o@wKV$P%uP>5k`cqEc&lLsq-~O=kGOx=Q z5B|k8^^RFX*H$H}EOPvwyolKhF1**9rcu_^SG1+%N9S!6`6&OfurXZ%)idXA+wzIk zNHPz>?m;i)Q)*6?w>sY6}(F84*;(!4vw{`iE=P*OXFfY%4ohgtg zs{WFxmC(SRC>75|jI$awgzyVC?_=$O7xESAu&5w4?yJ^ZQJB*V!npP!pqlZ)idi7>0pBG3N=*(UWGet}<4A z4r1{8HSg?_tOuop-+!WM>!=^te-hBClq`QCp!8++4B-{Mxwcb#&al04>v}erXQyC%N**RKm56@(`^bAK8R;=ETqF}gro;o;FtiIQ z%ke3+b|SKIJPo;G@6>a#>5OGR_fKj342Ri#t;stItxJgJoaP4l$$JH$^p#Rh7F9)h zdmoXuV#}7!5Z5poT>cY9#kRRW1-{Ey0(p)rmEexWnE$d@6APTC_!Hy31Zr6g8hBH@ z3lI(#GR6Lnft!;-Z#rcV9xRNPNC?!!&^D>=e?XZQar77oP+MPN(uzMne&9sA=%%z~ zbC~j<=9Zr!2h2@(M_Xh?1=#R&PXpxls=}f!3e#Mz={Fj}OYz3K37Xns6W^PgM|-N` z+$AV8%-JVz_V{w+HwzcuZp}{;>$0%#iPS|g73DMLnUC81&?@GCDD%jWXd_onXYpHB zW96aX%Bj37Y_4??qUy|d_{FR&T~iSf1H*D*Xv9)9lVes)xpP8ykv#$}+tt`oZkw|P_dt1(`FR@9uP?bHn^=qLDXVoAT$RX#k z#ueA}KJJ5+pRVp?q|Gnp!e0NC&eD18>p54>m#_K4F?^mU6dkUdg*+0{G7NdkXWyzH z$8s@hoiY1bbqqdtb-_PNRu7D*pH(*GAEfz@cwY6(&N!SUqRBR5L3V$Jn!nO$;)#)f zz=!&HP83lr-!2`)Z^x!FT1u}^Jc4H7YcCpEO*E;*QS_q4c2*UTwn}^6DGBhuSI13W zYK~9N&s>YbEpe@nGPNf*IlIAKKEe{tq=glKAM|Q>ZyUcB7zFvs$uHdF4-7R;ZLixX z&VGy4v7+fJq;h<{rlY^cV?BqRVak0fKIj|C=dha!iKLJ{@_Kh`EL=c9G-dxRY56>q zM9SkY0}7rLy;^C7O*qvgF0&LEhG7IdGzJNs7SbYGVAPIBIIg?YH9s7~6Nu(NiEv@) z5YhkgLFg}1e%17@wlyD~XsfpFHHzqr!uXvZZtQ(ZF56r?O^sd%p_dwYthIISt((D3T^2A5^I4@hK~-^*yF@in-#?^t z@n{=I$OQVU`U1_6CM3-Y*B%`0IARl!#xo05~V;z*v?xF*xusYmONLS@ZQ#`0Mg6{BHv_4I|t1%drd zbT~(?1n76XGR*eT&>}Psw&}aYaOYd~>yD8;S2|JS#*GBwA(3u}eve-mnz)g(>ekvq zHA13&5xz{S7x5$_5-2EUL)lrTJgw+C+cT$VY~fm-_4MB;2a0TZE%XEN+jIX$3JT=- z%9SQ3xscJ5uk!ush~eGZuhUKXUk7EC`qBII4GlPzB%yK=B)M%rIJQ1?`t-?MM^9N= zZsPu`hH;F*6uH&=WjDFLal3AzmaMgt$Ywc%s^04EjHMHqJMi!bGYZ)H*^{tG*OQcW zuy7CaSl-83>G~$}6psnBru{z(?D4TnC69rUw=|1Fzktr~Y+kUII>pXV^S$*j=-vMC zL9H-acJk-cNW}L-!O$yMeUe7ynynqrD zXXJFAmqIfRJ)UB61Mr8A*w_T)k1ZZ@n~lUM~E;uKs?rY++ zdv0LHBK006V|;2reDUFzNxD*7ayX)dB5uuL2i?L|Ig+3HLic3Sc00EMyAn4wraGFx z{1Pr?6T29(=J#vJo+G^LPS;_%I;XTYH~VHdz3#{O4UF)rsfMjWk>-YD#=_lUn~g>% zs5vapE-mKV_e)YKrGV~nV^29F@K&@4FO-4e*JICTA=DP~dDH42*3OW^^DU8n*n5QN zU#TpGkOR%uyv4^mt^805&i7tsmUsD!h9C21*=k{3V(vNmwKDcMa?g0W{CBxnuHJJQ zzKMV#zv63-_#`AUl3mjwqW5Kh=lSDNNeQpEdE{6P;_WY2_9Vnr-t<|w0L|u`;m(v^ zE5X^y-gRNrV%{FsV&nBNIFaeBp^QQ1kv)WOm_uLWwW0Z9odmEW`e5(xT{$cD>LYo0 z^pKQc#6_4iOQYf#tvXI;gSqF3zn0A?-&unCw%n7gr}*3Uu1}y9UTwZ`)m*Ly_p1F@ zZ4P02EHC5Y(x0XZ|4sj+;LGnc=H(taCNzq2uf!#gK&-?`WnQQV3mJ8!CM zFp7J7?0gt>ST+57`C)A=j?BQtPSX`K_DzA&tZ6~qhF)C?YRq@C@kyK%c z$!}zbhQBnws(Whby4A*V*SRUw^9bAp+gC*Kn+(;rOgyhra7!_E!X~8cmB@B{+4FP7 z!Vqhc=(RXrjTe?p3Fk{My9jS{CZsZ&dHxJ}@=tzHDgfC#HV|35nANZS4_#=BQ}^4^ z&e&-y_`zdT>}8~u`qsHlVYpC_FsQbgVJ(iuXiKDjKV>hqJcq)>_0iQg290BevnxC zKRmV|?8$&pbSQ#}I!6L|JfZxz;$XGKf8H&--B*IR$@uH%dlmtL zn(^ZDuXp}}ZqpKJMp)c^?Zf+%a+`v3qeBbnc$@qUhhU_<#AwTA-)C&vGWq$wKRc!5 zP+5PkgYU;h+gx4h@G>dh?a+Xf^z`YKK!LLGrdJ@__=dg)vbU}eEn3S!%>ulVh);Tc z8y=+;E6ZZOx2fuI(vHTDa4(O*VgbWCW``59O?Z9-@25GoC$F~{B1yDJWn!Jhdk!>G zj!F599`h$_jyog>$>^JkB#V5Cw(5;Q2GIYKcRGVP%YdP$N-u0YvMC@0(#lga>vJP$ zt5)KCVS$l9Gar@}K$RpeU3|h{!+^u%V#jzt?WXN!p^$F9-So_Dja}%+H>61*Ios`q zW|*{CY;3A-=crv9ke2o`fbLJol4)Rwi1%&eBjm(kK`gx zA>{9T@HM0O8A&kbmA}Y%bNI!I3O!wqv3#6^1exT|l%rCwl;9ABKhJABH)O8Z$(p!D z>LWGeG;>t$X-up|jc;-N%PAbNOl(=^H$`;z6Q|ppq!srMB7|8f0yrjK1nMj1`l!^# z;F^aFU%r*#J0d<~8`d!R`O=}7NAKB*Bm7O7dOD}xT|7^+PvUK(1)iW3a~ zlk)2ilp^B^Dvs#rqhB2|RwG1j;qzCYihLXoozgVUm$B&;2^)IZ=8WN6$htbRt8L49 zwtXFMS8)#{{g~36kRH7Z%8%^)`|+2D-ycx^w*a{ig!w*w=h&j`)D^v@#C@$R_=WWoGYlTbH$7f5icS6>tUAH83H*fBNC^f{&luq zD}mmjI~OB3hGu{Ht}GGjEld8N{>jVD>ZCw0ZLR5Z;JEv3K=DW7Q61le$Y*zlg>8o; z$O65}HK<8?N4PQ`Om@JaX;gx@D{q5KKgb0Nw6}<__ki?RVT%7YYv0f`JQK7ir+GIY zB9N}xt+f7fd66+nr$LA+ps0$9vG6d|FugHgvZeIpf&!|TbD(T%>lR-O^Jm8UdnF3) z;ZW+wza9N04gG7(OKo0~`M(mKo3s#^EhUzadN0*=;eN==^8B$Zcxm``dzX&4Y`lf_ zhqYK~hw=OCdPpi62BWbjEdoTS??7@xAK#C+&|(!t5y-rJEe}6FPt&82T=+uBnpqq` zQk+sqyCU=_@968R$;6I2hqPE%N6#u*6T-n3J?r-_8WR&eA!{TF#J9ei8^`F9wMSD+ z5WQ=}WjfJ9@&+k_1Opi3pp_^+@n9bH6G4s`i_DTwi1b%wGc#&NPdcPwEL>#50qa_% zhC@GV1>XG5*_udwWN4Sy8U3Ne6Yee2=b^^f{AAk0&y-aCnFQa$aDV*(D$zBVeQN$Q zbK3HT{Uo(rSRG^Nf_g>%UW6>f>?uj^yC$t-4PWTruL)W@+2fPeNa@JCHX|!enc^=s z1|2v`Snu}o+|A&=t=^Nt`gL0v!LeoVKDk?Xb9lB>MmM=<@L5OER;jy|aMaFJh?l;l zO=(Fc10&_n&u6Xo%hg7Hm2v&NJR9!fV$NOg77K6MeH%7yfSOa1{q*XzvV^qu;x2Xk z!~f1qGE}I>SzB*goF1{8rK$QjV+5Hfu@y7rA{p{_Wu5nLTi+cel;96I_@Grh>i$ME zht<#58Z5^{{%@VOlx4!BQV$_fSeT(wGInHZZouRVw9cpwZ~Q=FDw$;*Z`Y%MkaNVB zJEVN0_ipiE@Tm$`;0u+b+O%6IX0PFYDW>J+WU$Z5QT#B{r*>3h5e?BB{*qg#B%^gM*&0PcI z+O*tcnjaP4hpbIESLpAibQE0xLI_s24wVW9e@8gX!+=JTp|Rj2BU`Z}F1eejMT{38mAEl6bGngGQ-NsG`xrgz6Qj zE+3li?GT#~=4NHdM3R)|?1Zd&9omKTw7rPA%ggrHQ22t)BkU=C@O~^f_3<}`g1ozF zcE8^A;*DSMkd4#FCXRn<9zuJ#=En#36I%_9600zV#8I^{8o0| z7k=gcA4gXi)<)Asad#_P+zW-`?(UM{?(Qzdt%c(5PJ+7^DQ?A`LU9Z3(l77#FPqJ? zyL08-bM9Cd-+RZr)V(e6HSIEVc4Vq2X`O_($wq=-$7d< zrWuQoNwBrWAg!w0t2m`E|2G5}fv+Wh|Jr2~Fu&1M7*9_Wcg_H^-Ok~xWigXPb?+xY z?w0>5QRa{#?hU%leD=HcxdL~g*uuK7GQ(6SRQenH#j4S?-u8~Xf%VPnC*#V48Wz}g zh^LsLqGb0`UntnGEuIgkHswu$l-fRgaBm3&mUQAvN?z-WSE*<=lw98PhmH40dF)7t zy1w^Tf=1-FQ+E)$%HMqlPlP3Q6V2qFw!v{-Mp@m+G8;g`@>ShgHq?yIS)jWj*XW;4 z(?2xT$NR776mKkKIKL(j=P4!sbgEHja@mWR!ZsYkKYc58Ei*t5`{@Y(+2*g_~4B3r(-OHrD2i&5<#wdoU9ix z+hO_^zcRrJ%&i%O>*AT*5~`ctw-aP#Vfv<_Xbdks`C+GH*`tFfD5TwM-r< zdx=9rC=o}?S8l3vhJ05mI!5DOH;3td1*H(%|AG~0rL?McBC!v(cUJE+t!pkaM(fwW z(=UY^cNIcvWPYkQyRrzXXQ`KM>E>4qq5tSSawJro&4Dv?7=F!!Ca05lJyd+)+NrvA`A~(K<+K)yt~%L zhkd|<`rVL7WFFK9+j30?`P%r7N3TqtkGr4#$qEm&U3{msp!<_rCDCu+a_LSR5{p|! zrtPIsQ=O(ecr7NeT^jL8LZApca67)mx+p<0p|q3L`d3*}@gWvkw&-Qj?*8dlc&E!) zp};*-r2Y@%5AgB)kl5oEO$uVB_3fS z5GRi+G!(T;1#yf_afbZ)1XM2; z0S&iw!k!AOhNXxKfF9lzTpHOh9cW79$EMoPu_a8xT{-dgc}^K9m@T6%P1Iwo)xn=GR0(=BS9fS7+rp`|QG222Ft zqkF=#<`Y38&R9}b<%bx`t50i9mI!1W`TjfCp%r9>`;a9;e{G*hUEy<3J7NZavRXu` zmVpzGg?>**`(cta0fw3K(ycn{Qx_8p?+RfJ#(gCui-*N(9#AEVFK$F=urQdcS_s0t zn?7ZW{vIt|h9z;(Da?iCl4|AE8R%z-ZMi#vYk9spXT27iz)65mh&%DC=17z?lqTF3-RwX&Zhma3Ua9i z+|}JqrVAb9i9_X& zO)fYY?Z5gr6hC`5xTxgNg>x1j?B_N`Xg|{Y_%I=12NJz>!#2l0s~V!Yg>xY?2hvjgbGEO!LE9XBaVt2^g*)6O#ri6 z7mAQ&D;mUK;#fUjF3Us(CDKm)!)ZxvJ_Zzp9@=zNmg%g4f0^DQCE@R=Qgfco62ie zTtmc$)1e@R?3eMNEt)zN5iuXbQ?~p4cH?G^OL*@4!}SqcgyYr;S>Jbg?3?@7v<*u@e6`GtE+q8T{4#b$T5POGa*^9mop_wHG)1F4(QJc@4ILMGUW4Ko)f!H&@%WroJq~ z7FNwjAb#SFr#Y<7PbE^5e(Crm+rLebW$SP>j_o=)pJNw;~ z(o;kZ@jCwn25!?HqR2~-1u%2Ar2`%Jo6RvZ{ah2WADD>JKe46xYebCabUFBbw>&Hp zC%J6(?r_ldu?HZe7Xhbdg_Dt%KLqhKKj9KPd=UH+{k3zc|F3Y;1%xzu2mhV7x^y_P z!l-Fv$5v`t-=O6#yj?&;JbRP79^C;q>dN}m$YfOh${jvi&C0LKO!+#qH()0@kv7yp z!&$*Yj!i3Z(XN*vNS^Qg5)hiM@%WKhNhn*$K5|Z#^jMya=PgReJ}a3jgf>L$)bsKs z^Ee=`zf+^n$$3Hp-EnhuqYgg;#%F=)E1jVg4!P}5A$vqIT2jJoJMg*)Pxj9m7L__7 z4lPL4F{4D6{Sq$uQ(+yfCW+J#g#cX8HtlC`mXh7^?3=agg-_fB$I(SUaboP;juDcV&D`!j zi%gY^-!1LKUAeNm>?1ZcTgKfJ-kweKMD#uj_F_oxZZrrJtq8|?(T|Z+Oa<{&&hvz8 z>y6S}K`|6ojJ2b0Y9g?HOQ0o3+S!f?wy<9gE0^|MeBtE_*2CgaE;*1|9yjEp&yzg| zffT%%F-mbaA_;c1T=DPZdG|rRQy07|+JW<=6aI;E?uVtlN{t88Ac8r9pzSAnmf?Mf zeGv|R#(i1bc^cuMFj*gA3Jw?&%TF4@hlN357P3*M{L#cbCJ$ zUwk>o2r0qh@!gvN2gB-f#pO-4A@qX`{NW!JPB$x*a77^SUj!r1jQ9bus*u?fH%q&Z zMoq@Aib1~!9qhmzNsb@)4~_@0Y(E++ZIZr^4(S^gb*!gfw)h6Xu-A_mJLj~D@;lTV zVE*gwSZ9z(qlh}B*Wl?`7r23O=VI5SH@errCodc=GEBrdmps~CfmbR795k79%%tPh z@Zr`evcywSa@EpDibj4v;_rNMB#-L~MKNsviTXAsB?WvGmz6NN5G8vX%PM45q2UPX znvu=(;4!6Decsq9!7A_4#DuO@(P!daZ>|e!MXfsx_adj|Q)9_|A1djZAo?80G9c^; zdkpVm1k#8nkxdWYJAyQ7JcP_vu!>wt=)xn5!~yvjWV!yTlF^ft+KpMx1ut&em86br zJ5(#+Xh6D%Q3+RBpMSs1LccvkK!`>7K{FX=hPi<@*0{4TpYx*VHXcIwJId;jIrAr_#$;L2s=n6)$yfYc%M1oHJ2_Yp@)K%4b@2p5k7(B@ctaUM z)JmT2-K&yJ&8VI}Yo$7^|4x+qWbLG{-Z1+(rALJ5ek^`}md@WF!S{+@pbRHDNrj~L zZr>vba^GTG*cFVRJ<;TK5~N%6LA*?wa(5~ox08AmpWx%KwI?U7*DmC*EaeY2ltE{2AT2WPhZj4gV{`tc;(k;QIUWU zW56`-BI*E_(TB(ttKALD)IT1-Eyu=?J<{uB_e2U%EPfsFr!&wV_8PNbMk?bnhpfcA zzC0JskKxutrJ`j+63F_mq)CKb5n&!Xc4a>Z9Z3V@Tyj?-jhdM`$7acT%EM;oB~2-; zk;r>7{(6I=n2%T(Y-^I8FHRB2Ud8eY_JDRWO7!Vlra|IiTBou>PcmwG&s ziOW~arymE@N&6j{;X&RhJesG5c0XsAM#E=qEc)UDH{V+2g$?b+XX3Lc9@fRr8Kyv2 z_~<82n7IcCLL$F~Y+pOI@P_^^jADixAG7`wc~AmPbSb#X{^ zniZU2p8YYcJE2s3l7CMo2p1pWty*}`YFKE#UX43pyp-;J<&0UMHkjTpWIU59+0yf4 zezu+8^bk2WdvpS)uV(mEFoOhE^Ljm`-m}CZFW8aZkV=HH!dk4+{2P-t22wZCXXC{u zSe|Bbp|a&q6%ERrh+cOu3s>|N;$>7B=|+J~4m0{mykT?V>*`N4`THaq;rydSDU1&0 z2&K!&&6`)c-9DH6%dHhjvDd|1OAT}LpBB;$ z-PE5Xb&eBq28t27cJ6bB@Es)N?9WG=#nxlwYHA@Zelgp&AeqhYaw`3YawJLNOg**} zY*6TiewpMwr{)lt{+`c`)UJaOz(%aHe}{_uVHCQ-`-Zoh+O!(e8lx=Y-?#?N+BPiu z$XPACq)uO&IyE$}rFbUG@nzlDM9FWc#}dWA5J#PT{;0AJRxQ4(MGa59@eRmFRH{u6 zF>V+_`f#I5ZwP0S`*}VcpY|pL|)hoZ+X?=`88kY=A*S`#- z{Y*Moe!>)UUwn|!@HmG~@`XEFN zzZR~^6~@JP_vrWOt9i2U3ZOfR;*58ynxy$jF*#p73BIlPpG;Nmef$?e5Y^c-t?(y) z_osM3Ep{h2(@63QAU@wof94y1Q!WC0V^ZxCa$ydxLP_^Z%)&;ir6zf4qabX$W_n^+LH=Z>LO)-uqbO<)zf8+*)vMtA-*#{R-O~EbXcA3q4 zMo;%8UsZKpm0{7AU-O_9-4upI(7m|+Nbr{t9!dBk#e|PkRX3kw8b8OlAG?-6MOpAm zy*gjk5+SmbePT8Llg5Z$9LU8!HFq!;yYGbaOQkBi&lfJePPFMM1Zlgl#~pKnFX;3^ z)e$d)LrM77FbEZ5Db926gZ5x!9M~1nUw|($X^3qpEyzym@80-^-wKj*0rG+>qdA$;H zhr!-ytaAd}uOby@mZVwC=eOO7ymDCG;%%-FKN05}c!y&8>`n$6$m*)cr)_c66GVFy zfI<%Kk3yrQqcn8neVrWm3Y!hZ^-+Jby)|-v0);&+d|(0_cq&xRKdrB%Gl56-%b-M0 z3QxjPn|bkTyZ>5wZdj5!KiTBsNjlqfoP|#A&X8)dh`xM$W8Pjh8xS_eLRlhmOUr|S zhymeefvVv4cn*HGu5HwkYLD2tS-rgvB|j)O*0iMN8_NDTB5q$}BjQURvg!@`{mP|n zqgJ|ZSU6EES~W^ca7t9fAR`kq0gKhQ9A$Uhn|lt}Gwp3{ezTa4IqheS;85^39o4}w z{GPmpYV!x7gHeUV0WpVj-ZMwq7ZO49zgL6uE^1g#;namN_t(!z@2J z__-=GGAUvzRhYILT1%)J`ORaNWZ_}x^$Lp-o0RbpZkq~M%KJ40T^5iL{rkuFb^R6l z-+RWxMLv%B>&{!(56XX!Vb?n;Vvjh+`(I&Hb_D)O?frf>d7^x$e}BInY;zF{4t#hA zKU{3RUoMUmh@C(;@hJTI^>H`)$3^hMzF2p_%T?wlf$c`z#3|jn)47zN%N?ErZn#q+ zd88N*Gpnch$&1Q(%^4ZJaU(-YsdgRJrbg;o)*1QlYo{AL$FBK4I55ZW;F?}K|7VQw z>C)e0BXqPFNc9N(mQ!^i7l%>m2?|%d7!)b*RlPFVdOuq6hC&BEnoH?)U!)X#t22C7 zWPEWzSz;N@p<`*`L|(&Zhy9HNgCUVMNc47u%TU!teTFAnE@fjuH0Wo@BGbdM9`R;%!DDiCao=1MJ*@c7$}z)%6;FqigEDqwJa|h2J12Ie9l>I`B;H^*X#J$Bw&9| z2ZmiO4`C)Wgqq{H?rqPepqTsvaq=C8hWtdArUCEk8QQixz3je55Tq|-$yn%93oMRZM z_fbjCd5P6~RN;N91WN5!Xd?!inliT>#o!Ejp}1(tnc9K#4z*(3QH z)9RK6+wbi1<5Kt~bx;1@^B5Q+hq%HTTC!BDQNc3 z%%~L*Um4WBlG8!U#1Z#^ov)j^XJe01wG|v2u=>f?Hp`nG9L_XaY*Ym~fbQt#Ce%_l zOU4hs)^z0@PlP5u706*Ze{Q^cDF3pma1qB5TsqH^h0o!e`Z$U0(yJX3u;Gm-FMm6g zYiAQ5V#DcV)9h;2GSs>65O&I`!y+JMuTpieg{zTp_HJEW^PcAg*Ip0m2<3u)^6bX+FWPg&f2DM{2N~Z`uL-%U+d<$OHkYy^5$8D$;<*i)^b%N8DQhB98M^rcie1d)W0 zWmj^vz6C727uBOUz7=rk)v`Z3ti_VPQb5XYo|@KDcX)-q>EOf8blW41AazPkfE`~` zQE0hr!m`IX24^os^XzwP#UEPKX1G7C8C~MCrm{XR{!ZrPz*UN3N2==Zg6=^@mP2i2 zl(AEtj?74}l5sh$O^m#Arz(U9vv=yh+R)QO9`rG$&>*r7=P0t~gZW<6vQU}d%J#r~ z`o+fjY=!%Q;wlkOTFT%%M7+`<8$L8MZ2;AO$vZzRyXdqGxc1NYih#rM(}LT_d6}~9 zg+~(Pz8*4=OiyHvs^Y!;Pq>aN$()?_OqB2s?Q(g zoU;qQjs1qO&mxQ{TUqaX^7u==Bx0=!?T5UNjMMgZI8GNip%zvC--gw zPXJjho{rQ+P?pP6+K|!#(<4cKgi512U`w~#jF_<|_P3|{=lQ;}KUwp>q+e@Rzkr%{ zVg+}XuA|qMJ>){&1x{g<3&wD}1@UY-OBi{(8Zw5xhkJyxHC9z~6sbN4WBR)?tnJMI z)RBV4GY#zGB|a&#ha>l37;qL-;B?<|$be0ayZ4d&O2(xbKk|SF>nMvLVyb#_o)M7r zJ}n~`(@63<3d|>jjAY6D-TaNB(6c?P9;JbrBZK&coZ1M0b$wu-v->sJdSF`x+wr-B z%j;o(z$!0Y22txr?XlllJ6|TjkF4TC6g;NM+)B>1FXPN4Z&!EjYA{yvA-O?HV^o(a z&Kf@_Nz2Vk$Co|CSx{U(3KVYF!>fjWI?lkJpx@=E;Vr};+72%Ss`B~#PJ;nor1K%X zoJ=w8c^jUUd_ zobW#W3H)x$y^sMY?;}fWYCKNex6EBUvUL>zy_7t**xq!QzitQYIfAqv?9r_CdQXaHE)%oxnYi)+odfzQmXekI>|d2- zU+z8#fA4$2OKQHkcSFqcLDEvSc;Th?BFOb_w^|$aNOe_?d}JiIQsgFb3*Z8_IfkAp zl)1557Ouy;zT&|Wv2V`%r8{lp|8P9p%NW2fFMaEATFi!h7PuKHxLLo5FB3d|vH|Hj zi^+M!d455|p`0%XO0U^Xob8%9*g}sZiW&5q?CiQAsxTR;3R6I-HSdIYM`_I{EISLN z%Q}#~-5y3U!tHq98CJ&Q;cRyUge0P$EW;S(Xm)XHL!MP#S%`PK7^T1R_}o96vd29+ z9J{l_Q#Rf8>{3e~>nz1WJI!Fds=DXfs4?T4>tsu9TIk=P5KkCj6A{scLXGT594xfgcwyCs^2E`&X+3ut|p5CL=xd6n3zf;5pS?%1ZuX%$2Md;n$Yh zqNGQ$+2}*Mnj?|Xmgm%@q$k2A6V6o`8zOcwg(@>W-#pNp-k({L6tKG~Z=hq2HtGm= z7JBgRW_O~PNA^wf?=fOwbGq9jAfP}1DmXY|Sj+1~Q`TVUR)zfOAdDf`T+;i3ErJCr zuD*Ni5U^*{Hbrek;jHt*AxJ75i}}G+9v~uxXei0~1+-l7dJ~=mn*K!C@(3eIuA)?7UBPT46nU5DN#);(aTAEa%F>+_V&k~ z+J<_X5fFUWqGWRXPU~MgUO(GU#=gt7e_JPl)TilY1(L5G%<4I|mW`Pf(TXIK2pnd5 z=OxNRkRR1vFvY}*;v+C&STWIBKw0gv0U1ZcxL}vd$5d#+3d8sF&vX_-bACkF%EqFx zRxM}18PfgS8sUpdc?TyA4pso4I2FUdgJcKqw*2v!9Wn`-479$0v*{$+%+iEaL9ygZX-T z^6WV`U%Q7P|RF%J6K#H{BJ(57dojg9w(|@ zDGx%h=?EK&MvRMH^VBMNtDx*{{Ynb)xcZg}I=hn-KSlLh*t&-f=Mo)89tE|YL)5=% zFnkgl&62U{-HSSKtor+tYY#}YDtUqQ@Y7-LSIWxW3poya3V@U@Pz4F@IZ))R9rQa; zdPZkf6!2ZWu=K?bz>jUNA5_9|0A0jYvYm%^Zn4=A;Mxl7u3!+2V$1V)Qm4OA*`1Hr zX?fVR6wGCSnB1*VL{hmlZQAJRMH7uJrOSeeRh@VC9g=~;2by`IaN%=S)Dy9gacN9< zE?e+*C>iri^tUH`ZgZ8%<^>w3gKBx1oIE=Q|A?+LxM0hII!TK(;Vvkml55Vs{}*dZ zhSZ;zCYQQ*;Vi382suJvLrk^8?$~>+W5gVCnzVVk%n&=!t0|xNco_holPPuee@XVq z@LwSj)=o0H*apS2Ki`y^IRk=?#rBD<13l%6w9PhxpM>{``*m`sL|%aQE8ZT zCnS{!P19FM>Vh~Itv~5Q1k3PthIaC>-khlC0BX9kKT*Qci01O^^r7RnLNqA{Z2xxc z)*7INjUIF;ov;6?=AX>_SBOJ&=u3LScUY@k_nZqX*|n2R4NOVgqiy{)GUc>ZV_8}U zQWn7ej~X&Q6P2_^|KV{{Ess{krXJ*^PM}&Xk|GUiK-rAAYqua6Fn%JU$(U%>&SiEc zfCoJ?(u@yIH+vm0kO_e??ZCHmyCJ+^BmSH``-!k6WY_5(qT~DjDoN*-90|dEv%+u7vXS>DLegHEYoHh3OaRe<3hs|l&Px+87qVDbK9zRWm~LTWeJ0q4%z@p^=P*Nub$8PJ5L z&_?~`qM}08-oV4C3A`ve38_%^`cofc1nTs!)WxN!oF{4Qd4odfqRbt*ow-g7Ig>F% z!|BprNepjt!^~#WtLj8q$0|XFD%#I-|G)x@sXA6iV}12Y?N;Ma+>7&Am=}|zN!EVD zo6Hn*+83pug)KN4@dz8G7;Z2AThye#vSyx-7}K+0{4b>y^TxzsI&;Su372dl6m#<= z+#!!yoiVmSG(r>3@>(JWh`9EHn@;&boiEO%Rrz&cd~kD{!qaTJh|o&;0Fam+zqAg- zGKMTVS%=JU#oJfwsL9xgI1bSuqlmCJD1MbY2YK^_uP*V#Ix?gF0JzWXosxBDvGl$B^$Tm=2 z*!V8rV5)Nl(NBk#SH}4`hn|?d9!#k#6?0U(R)W%0R=yrJ*1v+wLR3`L+fzWDe^awUZ9T6)4 z%uCb+xnRPJ0|WHX;ttOIyznmMdg9#EGH2o2B41yD_QdCVz?+|s)skf(h#T|JG5cY!OJ!3Szj&K{`z z99vpLESp&e8>hl<=4eYD-@u5&<`w{&TD-#NGSX$}H!(zXx3oB2pSwF0E39k>G_O4l zri$d1=DDj5G>yuBIaMeT%sr)c!}T4-aBWN%^ydY=36xe~Ej|noZ{=%O9mAc5f2-4+ zYHwSlx2t*pCRK#JR;0EQPD0Dxl{n!><}r(GJLSZ}Io?hv2!oB@lgi1ZU|e%Sp%7h) z#8NDjcuN&S0*=no>|P{1zEgx&6QHJ(7awl)dyUe-l*E;^^h_oMfog@?ef>x-44%rb z@gxwd*!@MIw0g_XD_Q1uSB)PyMCUj_vL1^vWbuh5_0>Sh3R({y88b z_OG?7YL-4u3|O9Nl)fn+TB{oLM8zEM-tRZ*`2c3H#nYX#pp`D!c9ero87N_YgaKY% z&nczj780m^43Z*8&eV|5UATpC<12;Jmi^GBHdhMH2eS-sqqUg6Va%O_=hsTB z&Ur@Ty8io+59%Ccq>in2nt-*{1R_6%+lWe`qMM!mzxDzEemzgj@@MCVFaZB04Kl{O z*J!}4_cAx19XR}zurnJybX&d&OGBw}nvm~J=du2pkO5CNDKQtn+RxSB2UZ%{t&ZdQK22aEA!KJvw< z>Ll!CJ{MS!^a5Hd1F-_`%5Wpt0Y+6IT~n?oD`#|KM8)<69pf}Dacow2Uk?t=1&H+` zQ-@>DDkvwslvCiSfRHvBN1^H0DWsE36L3)-)>XR?M{&0@*GLVx^8~;KU&e7Qv-x<* z11Mg9sPe!G-Q{+S2FweVg0)hL74bHK##^u}x#gnm%hReLOEY;Q@B zWs}3#hnr;<=@s0#`RrgGp9E$I%z_xgb*b8WTwst~->~2xt;EAR|BdR@#+9(x#VBXC zos+{t`9hdMh;*kyr@ymIEY-?Hg_dF}uc^Xh0pfb#`OuMf?BxLqoC}-7@}`A(VhF7e z4pp>}cemjSk!>23sYq(nY|Dgj{cH(R3W@L~q`DHKEu1uXW``EEsFuD9!)lN7-rm#u z!5c>cE;5k(Y8eiHSHxpSoNCxyNbLsPXj%v@@&imC_iQL3(d}N+2UiB#)1VN5A$|di z2{yiV_u!aYkR$K=OB`%BLZHyc`Bvb#H+D%8>A_Io0?Ed6<=^_)^`OwC5JhTzssN3| z8kR=q!XcQ@2AOxcGe7d3B)D&Ro0t8h7spbCR04|zaa~B^*b{beb zcZyG_5c4Vj+uD|{b?f9>|6av;DJ#H_trgD~1yjfs5o`S^X*>DVf}jnr-+pjVSmS`SZZ^$#cX>^!&c!z44-NUoj!zIYT_yL>&`;{k;@u&N0% zrca_7xp9NL&mDu^=>~rD4b9tiE##$}B)F>k1aKRVBdD%#AcTpb#cFj&U)Dqt#yq3j ze^#OM1*CPlnWx26-rb|9Rn)cy7a3@vZ%wC_p|_aKrfpq%A_84cO2xKZ*kb5IDK(6& zGXT~qru=|{1SuDVF<|`|aS}(xZLp^dAmb|sOp54 zd|SNVe9R!|wbSGaxi!GR`Upvw)4QGKKWXN(I0{qRzpc~ONQ&pW*Lh}7H61W6c<$#5 z=-(wJinp4y45kci_P|2^Z>elK~_h{bx+CD zbJAS$yZ+59Rod~ZGuDU^n$hgywiQLd$W{+!M^}|r9o{WyRDoJo(d3Kd&eOlL3blws z4dx7F&MwgmaAePBu<~*TRk8`^)=QQ3)azulvdi}!o`pS>wr<-0}vet^(r5wSX3?1$P@|Qvrsu0EpQ=wbz z0{Il>z2VjNzfVuKxWHT;d&j!Eq@k#^OCHv}9UT@(fdn^9BAM%zfiHPOLZvn6cpS4o z9L0Twk|L;$D5lYOhB+B-AQ|axmpH=xWhmM8>G{OPqFk6ha~lWz#<9!#0MVz2fqNf3#pV76A&{!EE z0I$pY@L~UK2gg9KYV7*s?ssxkOKVN77c@(a(V70?RA&TFw??d6B$W$(U5w%G9qnud z^4(9;iQEx^KM*RkA=9d;G~r)5^6*dHtGWW=5*i=Dwmeg5tv5BPQP2o*utywI<62*n zMa+jf1AtVhS4QRA1g8UsRd*Vg<=iVmTm^d2J+2Rc`%Egk5kfEzCCO7ECh|{I&;rAz zEg+d?=&_V^lYN+zCXVNtDq~8xA5O>dXINGy8G5~}y0CweUm5)(dKA)X{l5{;#*}lm zh^WyiX-%-``pG`IyD-W4KcgT&R!hD>)Z@6l=5%;CvMre;8uG{%=S|)SZOWnA(By9P zCeWE83+n6ga{ICf<>$aAVqGX97XYi9gu6C2jS(=P6xR)iRlf+c;<+l{x(F_s5f%x9 z&h&oK0KDM93uCl^{fRBS~|WF8lF2t02sA3vrwei zrRJT5$LpF!Z+<5xh0I^StRkgzoGP8B!fGaFYx6Vsc0mgOY#+&XbMOt|n48Z6jT7Yj zFpV%3GEh#-7sT8C_P2Wd0_fif6(l&}g{y-^0snOl9Y9c+Q;9p-0BD1c&X)#|dYg{2 z3A}odI@Sn$iG>DahdQ0b$dNc5&U5D3$V^%T|1qfK^%pv>!><4mW<4LKxQ{^(Iy`Y) zauet&M+c>fS|12Z=gTqQt#iLuv=u=4_$FXQivot-xv_>MsaDW0&CqI_?<2B@&koP= z$)xs<(5+<9aEH&QQ_V#?Z0dx(MmQWSbI%!OH1P0+5t+!{Af?kbmR$!qu5okk_HRYclvO3zZL`Pi=;x_FGOj z|8H2PHRf2Z@vie;U|P#-d>}GC(!PLi1h!SbB>s1gLEdHTSt8Dd*@~b3PD2G9bkv#v zn_9T9;l?5DtA^B2+>{Baf3j8f=W(+rAkkc0G?dY3PXEWy)d6kB)q&x{W>yXv{`8+W z$V1IWr5p(8)mu5TU)W6MkOILQT~sAY6AOWzznAzIkNY=Subu_bLvsT+FypB)Ob3;} z9Jl-wE8k0T>lujr1L{j|P$Cfb)!;6#EwXeF-Ox%T8N(wc!QRtDvXM?%uBFVMH}BO? zNJzjM3cC~K_lBlB7(=AheBR1XB3q$1<-XBn%oc=cpf*SM%L&ws(%g~U3d-{QX~|D; z=~0-G)5M~JIiaN@m`eYqvni>Q5>nz{ej;Q005J{oT+9OVFXE=~#O%L>qs}di8OX@D z%_4nT4*EtZ15KheZ7DbsOPaqxi3lhjjA(ZR&%!$4%Kj(rz;R)B`IUUD{4^)`CAHd% z9{fB1Rc=*fxo?rN}w-Yn2 zVJ~}?rl`S z;VhcTvibr6Te(2!^JxcBXNDkRCXJ3)@YrdB9wF5YCuF%aE{}ub+JBN!Wy|D;xl<%HwDJ!mT5NkT~aeh9w#fJ zM%4paV4bzYCz+iYg7}0i?4UDe{UNK}0lo61t*w&`fIG)U1qbgVL96?kv;VMK8Ad%6 zCkIzF`sLTne}1k^enQVMX=z#Kf!0p|k1p$EIEukO1RA>Ede{2W_WsRy{8Ax=&P&y@ zJiRx@ev$r0dG(($b!u6Ze#*-%jierJF0YqW2W2gCyCaE;IYnOlSN>Y@W-tVSLn8W; z(C0&Mzt#&F>Crofl1?y-z;H_b!;qtQz$Z<>2%M#08TEC|bYmHf(fG+KsCE-g^g;{C zzT!?53b^MWZ6mPHRqV#cc+bTYfd3qp=H$omaAz^l4N#*pJvYnIL9!HVK~rs4CXX`g zRoDGrhnf~l(KuQ>Wi2NKWx)L1`l=L#eG|QgMPn z6P~m3Mrk{2EL}J(O3`49kwvpI8iQ~WIU$O+>j(^ao9xKBM<~au>rR0RcdEXo-tipl z;um_0beItT@IikF%aI-+V42;!HUDhb`iw%lF6foCo)b#}`7<>iLcU?RH+BjD_ z*F+H&kc{snT9`PYQQ8>heuIUIeY3)VJ2<}6d(Y+)KTsTT+jrs?YlF-iJXh`+K!bPu z(DE3r^E7C|vj|4?!n;Q(lZq!#HTqs*t&zPqhJsHEil#I$rYq>;8U~|eoo|_;f*U_R zjzzIMrgu58%WH_}$e7uT;K$l|$d*={?f=6U#}_1a%JueYqiZi&`x|o1NmRH0Q>X&U zH330(FVM0PbNH{IiS`fqcLE;Y0>x}?D#*W_1^%BG z;>AQd+c!IE-vc9^qLxnaiGb1BCTi@QwhQQ4bNdt2TUAwn;gSXPUpKwT zMNp*#YN$HHX%RE4={O#P=8mCSZJWJ7Q@auql;VAH07%SCci4_>qT@mvHIv4GPLdTc z3|>3LSMYsV6*?tpd))H)Z?m5cN~E>vS)^qHO20u3LkCR|!bl-?*vJO>-5O|{JyeR; zHX~l}7Y8_{;I-%DW)jqWH$Q`AY!bH&wpd_Np~(*>HT|v<8Mm0%FR#;66(^Emp?qqE z4)-5JXaZ$j_763*?!(eSi3wmVwlLYW31aM{6z1|zo%V#9Nb=YD2-GT7EKcYg)5vJ3 zj5HTU;OsI`el;mSm8)%J4Uro(VYIYhZPOBtH~gH_XrQA})@dR2iZsk>bPM~vDR+|q zqWRhrDzjaa2j$)}UKrw04fPjo!!&?A5di9*>J3oy&-nk1pbbEbDO{!*)c5&v0c|H; z6bBZuAJ%>lr{Uem`ebyc4G^k%$bavtQAmTLHcN)@K?O#xPqZeqR#nbjX`ZU8;+4@n zK#wc)tHNHR^J!SSVHr7vO zjLuy`q|kX8z!;0y+P~)g$QmF3nr|1dg|c*14vZWn>pxm`!FZ;!od{veOCHdcAl#*r zADDjImP^ly9=9-t&Sk6TB@CSE1*Z+43!b$d^hBxe8icNEuLhLJGYH!U@r5vWc1iQ2 zUEX*coF68(0v~_{H#S>&ODs-#V=Vk*cS>qUeJ*0L&0gi;Js6z7)YW*;OX)ggH6G#f z&;{=T^SijeK|2$|D3>x3oY3TdkEMsfb8U`dFRcnlGNUk^32|z?U z))k}02>@i;E(7G<1_q2YA>ALWFm3;*gy> z5^goVNNlVPB&6p`a~%ej#6bD$1)Ob!pJ&3T-8V7`=+qO#{0V*Inh&eZf7P29CVG=- zU1qQ04yt+8bTrzvc&M%L7j@whf~U7Z#&xY-)=Hlp&$6K*`LV%XdWz1%alhN^r={=M zIF(>Y_-V(ybM5+%-fKV=&WgOqMX1VulVnQ!Od?Z zWh^I5xT)7ND7&EC>XR=wsFM~AvLiz=hQ>xY;Jj>Z6PChc1GNTp|HZTI zTG+DNS}oglH`lV=;>|5v%eHOXu4U_HEq8zS`}^;CJ+FtK^Ev0dkALkUdo}EP$o=2Y^NkQg zmd3%lkx?Uyp#r7b z<_jtzXgX6?iNd?0oj}B!-(#CR^8SA90=cWtLxo($!GWBLdgo+IUxN>Atmp!U3i5*1 z8We^=1deHebO~hc_Tx&VUOKzI67Q+UVoo`Y1^|qyqj8h(ndYb*#8e2Z98H3vv-8y5 zd4~K2Dynczh}Yh?vr~r{iFDrYnqFnm&Rh+qxJ=Ju+ci(++UX#A|0c6?Dtf<7%d8~` zzhOhYVq;PLi&KG+mLCS{EIKofV^1@_1&(x6yJFa-Jj^>$2O?JMcn5e&eGGGt+!56Z zOI;AcFS6Bd#4;Oy|0fiMyKn+=i??Cip0@zqM(wJ4Y z{c0+xrMsJrPtod-8|y4(8|~$`oWjaE+_HH;Q>P46%|z^PZDwIwK?3;NWbuWzD;(0j za{zCR!>**#hF8rK1&CnmuNYS%yA{>pFPZUK$+DVXvYN_Zp3@*`N;`xYE-iDiYnE1j~HL>HWSO!3`prOu@1T_rG#ySOoYGCLh_QC`b{}z^S z=`TU;kVvkyhGav$zw8&*A@t2nYvy9}n{F$GmAEL%2J(VcpW8f5AgN%ds>>2O51GFo zo3S9tXIdJeRDx1#J1}z>p|E0fYvqM!P7m7~z8Ga7S*@{c{Hi|{%kt`*w|-FVLax zsj@?fjfT1!)w)_Y|MA~X32Z->GH#Ti&0T2?LW11o$jP_Q2Cfun;w==wCV=A+6=*I~Vx$3dB)QEWNTu;_Vd2?+?z_=WQ42Cm ziYz2#;+i-+%Y~p{;eXm?SKiVJF1YyE0Fdpopkd~U(%AHCUhy6R<4xUQ)dR~pxNJQt z{=?Y%@I@-|Y${nO5G7k5+^PcfmF*PxL-_@OmD|f*G+@1SwiXBr!C5ybHZN1AqOMTe zYuD5}MA`K(qHqcjaJ1FT819%cj(GAYGv@mG&AeMy(VIjvK7G0hsT*S8pjF18aZ_He zIKdW)KrC`s%|2*oGGfqJmOLaT5JsqFfj->Y$W`m_3IVevC_N+!@fjZdIF3<6Izw_x zazBqZGSsX<8*ys%)cjmn<{UXf7d;h1Wo;t#4W1${u5tjlLzVXUGy77 zgOkIII!{?LP9AGA)xwbu)Iqs9Qn1j$Ms3bM(rdUaGd_!co_19|=Br?pRXbKuBo{9- z;$%LlSa)I6kB-rS-^Gh;xsN`tv==geS7na&h0*Q*KI;ncP?SYBf+8a*AuGcVfDcPm z;rArJx$IC-T}-Z+&&z5jq}tuWfuP3u@?lfn(4*;kIaLk1Dr-w9R`Ydh+u8So-9n9! zV$mr*n@A*WQyDn`SSB{x(Fto^*p3tV(O$T5LPdhb>(%9oFGfRWK=YjqdB(==~rAs zD+jP>MlrrW6}hjvu7o4)7Vo`A9S$J2n10==82eA}-%#buQf>QUFxX^Qqhfw5%}QG> z?>J+X1JLCf+pFmMCI312v*vCA2^?uvaEu5yV(V>QQ`Wmek1{of8o%vVl^y{h7osrp>RlslEzLW zzL<}_ceXpk{oD^4`nI>#s99$1ru2Xs??AodSdPl0&TN<~yr9{f3gTQ^EHzcMSo)97`P)rsQt9GDecNjsL~Axdsq) z^mn3={;b5P*v&5zUxtzqZ}8gTnM4Zxm)lY2-yJ-xfLt19w{Jry?NOke( z*e~r-gxNXK1>(TiZDVY+`aFGbuv?uG6rXR9trzek(K%SLOnXb)O(B9;w?cJE1ddpz zkMF}TG5;4=83|&hOIIw*$A5;Pnd-vWn03?6Ht;(n9#&S~pt@&e8Ox{A!YZLJ?9VU( zu2H74O-_f9xkIlfQ%M+x`hXXcBt;p0wsV*TPY9XYT#nE~WpPUD=l)TmGyu?yQa`pl zPpRD|KnF>QXicW>)Ga?7^uF7K#87oiu0u8Ll0=`#`7HZYM`xz{uG zd~G7=a+&$4sp0asy4ycZv-wG9q=P!esJV<8NRorPM!6S8R(aHnjRo&-^(8e8$D!av z`Z;nUe~9eig6X%~vW&3)M5NdLPPC;1??|qnZ)dB4edasnm?2w3%z(V!5s z>hHvxs+uKye3}T3sNgLuYiMCacNSl(CU{=Dpd$`7I62pfFV0HRoDFDcxQugr8}oaA zW!t}U*m}Rea2M(Zg8hI`Qx4m{KCcfHw=1W9PZZ#*nr-kcmmk_Y7x?4i74vEf{0Te{ zhRi%E@q0W9&GGAb{6sHR^{iB!%@6KT_;I3?eKMD$wg2lqG4u|c@x|}uaUwLD>E$uHW0+0;XT% z$jfWXmEYSTrbEmO|6|TaU-kRa&GlaF@!LT^q^?o0GyVhvl)vy5^Css zFZZmF$Ex*Vp#`}8^YY|Tdw|jKs70a;K#qSl9ewL zmuhP(ddU9Bq4#6>XD=Sk65jI3;9?8!$A2Ys^S7LTO90haNeN7>Bd-Kbn_uwD zraw&dOHsw@dUq!UPq0B|_Vq*3HA8$5WC?3keAFr|70&i0@5b}mn_7|m0k>TBv~3MMO@wZDz5m;vx$2R5c{F@my4if}0bgdQQhZ!) zz6yOvy-FeNbAN35y&RTo`@K6*YuXQwTnYKSeXL{pJzTeJA0%znp1cg?^t|t4Zg)x8 zK0_Y(ahc)#F_b~2$M(8w2rO{I*we+_eya%ed!HDAT=@JBS_4>a$Z6)v$DhsGw1TignVndf}r{bq_V=hfi^i#kAAJqQ54%BH@h7zevg;C5UG!zbkt1j@^VV_Y=ka)LK>+nU73$#kHs$wneW%ppNkIIpM{jCh<8c3+)1|$) zEtv7uy9qp)^YoH7`HEutGVjhL9B>8V2^rh+j=i?&rjd{i&HgVNo zP-rI8jHo5AK~dI-TgeUaR_We`YGG``wxy=MO;*4x($CnX@U5Ot>iW7Nk7%3h>mUxZSyW$ zG*#3yHPnxkl<1c-3a1#HoxSu!G!VL#>OLtAKU+X%S8?Gn)i6z=Ina{-ww+&!xFJTl zGqrz^+$p9Wk$3Wbn`Zbs>aAEja*5s!O-@~}b`C@8bIk$?$13Vq=`lle z{;hciq-$zZ43#@0yaBqXvJ2_z@@rMZ^# zubCwn&sVrq;+FcVQ%JmnHl?z}z%|oS8Zi3@%g*>#<;W(uL%RC->r=l+63=*)0UFU6 zXzZ}nw;rSG)Ae{m@RJRPWrgiju4;V3aiV(F0^CVs@e%#dl1|Hn&w)6@v`Tq}sFY`6 zU!ya{kb>f3ph*^Ov}!&uPPmAmmq3wwcbv3vDFEFcPYJ5^OfRO=)Cwb69-G{HMPvUV zCH-e?zslyxEMCPDW<0Nt%h;42!e*IT5y|I400!>3% zc60nBDWuBSwT-pF<}fkee43@yf}}5oNTtw{^`07FC}+VyUQDv(MGk4p2u11$7}vx6?leB}B2KvkS@w?-o2XL0WK94x4<3R`Nc2|v?gAk#mmMjAvL>reFzIRg=pdZ8P1DpG)SfXiAWsm>nfWP0X#N2o-{?m zp=}cb6tl=$947v`ga4EPS74%-RVS8lbBbWm>jA&$vwSxDa1fcR=9O(G{(#$lS%F<` z2;#bz{ChUD7YWeR0K+CYR<|2$8d=&@t(oOMF}Gh9Bzw=UBQ?4>J(Jj-)GJl;p8+y+3U{=iz3JPSN8qUljogG* zSA|9TP4f8%NXe`u6m)9f$C~NQG|h}r9)pr7%#p2I2rypYq1Ac&@7?IZBkX~+pQ-SR zYYNasMU9rN3n^STrDRH271U2}H;Y?vZ^VqUDsu}?+cr1*;EgmiO8ebbfzT{00vK#6 z6-P)5+ahQYSvvlb ziQ)-A@NwwV*ApzJ`8I-$i#daekz&~2IdNB~8OSUXI__Ff=5}6!r-iJ{Vq7Z+EvM}j zwYw{(OoA&%xEqgi1&FRhGsIa=$A}(BXxZ2gOFr8QICiRW_@mOJc)_P1L@hpf?Oj36 z1!tH00n?T@GQiQhClAEIjZCy17QW9cJzHLhsM?>)%Q*m{=j4F|mFKkW=^l#i!C#A{ zgDO9vPuc_dN`~zh1>UMVL{+auC)!Uj6+2>6$L-dVl)Uv92vIVvELTR#!uY32SrKxG z8YgRQld5NSvzMu)QKjmwGA^;yqQdu>#l@6sj}U(FGN606bh^i&9NnR>XY>`$vRcz2 zm7C|9T2T1cA@Gq`#v#LMmmZbS6E!u`LN^;Z-aJ?}G<{{F(}shJA0NJRgv4jlIxOic zkTbzM({Yp5W~I3yb>ibXwLy}PypPRaH}j-7kP4TevSPN%Ud43gU6uBxglR~M#qd5y z1Zx*T-B-$FlB@We9>{AB=y2mMHJN@v`*HiVvamz^wybe|pchd9guOw>c#G!9{L@g1 zrbJB~Q!?NbnU<{mcW>NUYErK!uv=Lte>X1FsA6aO`~#wO!4cxRG!Z4~zuZnZ!A zic+P;c^ypj>qCk4B|oK0I`9sZFvJ)Zzwz0$Ub0E(*~sI`cqxEg)3}jHlqx6njyzLl z2D9-Z-QP@z&$n$L3gojUh)M~$RM4@Q-> zf%qz-hm&wf9kRM-YKL8`e%8qJ@;`SHHvnvTSK zk}31Im;YeL0C(9C+}Ds~;S1-U@fQ)c&|meZ!nl_CpGu)j2@ZMkzIR%tqd~GrSCNyK zHPZ)3V_Eq5upIMNm&?Kz63V+1Ut9|bc{`Yw64JT%V%&4oKXi?n_vHnz3Yx^3&ur5^ zQv55$1wkV+`u@y`tgl*9&Gjq(7JROogv{8H#rPOOFuUkNBSx8!hC~?NnazWQF^*m= zCBU9n6PSKl!pee1Dc2r`UhNVV3N)4H2d5W>Isg5l2S?DDy#yw%)k0ttGNYR)&)mMa zs=HPv2_igCi4#IZqq7IOReI-H1S#fMWuuBv`1iuQj-huxJ3Z{lGPoO2v=3+4nvD91 zF#V`YVd&>|=(V|3fGp`|5J{7%mMQ4hvQ+`j>rH=qr z!E$6Jh1Q#(KD$Ro!RcO^p40&DfvCq?bW`m8#T!c(Lz{G z6fmW9@W(=qjL_Nf8I+VLrvZgWS1i#u>Q(uG!k8Wr;7>xS*b^>^)-M~cmi*(y!%gdK z>R5J$(Hr(>#erlvERInDDg8r+)#^^47wM!CEq%%|6N)1>7MRgzyK7LGAqM*wM&f?W zV*3S^w&@?$y$BL?<{rqDUu(U`2GVOEVH3K^!s=Iob)I+E3Tz9r;s;sno0l8W{-?0# zZ?*k|-`Xt8y%o&#;L-=B(y|UYv9nIlQvQTjzoryOjV+54e~yY`3Um#u6u+5&- zMlR8R*RO{o7codJpjG@>jtJ-8hO?UKL_G>dx}bHmc6IAsTidNga8s-n-2R0*hxK9h zK@wHleraN6b4oh?m7ra4WUZ947K3Of!ELjPj&g3$fyAJ+`c(^&8aJSg>YOKw&ckE} zf&BBRRM$;~QY{IV#32^izgpJy>Vo7icdN*+M$<8<)HpHsy`Pc*mOAGbo&!4Qrm*a0 zLN}o5psML|viqbG{pR^g5r$|3*wOy_xe<63`YWhK&R0Y4^VQSe6)M`PI`-O$8k?Aq zQhwyGNpRVwF$oP(SyX0>wV$S9t3BZ5(JsED;|#B5a&%X+_YNK5^*~& zy&O3L8r0nT>tT-S-TkTB22rczhE& z0duo>h}xbht>}ob-4pXo1-@8%RZDsDWE~t8kQ0FB3S06g(T7gMN#fS3^{7(HR(w0V zl^4OF6f!~Dy!%rPu2HdeVZe016_$jV8)+7^^PUFk>*xXdixg35QBeSh&*; z;z4+YePA?`gtz)(=C8t24rrZz1GqwODz5rKh2$));<%=5*G){2rOyvW2LAEJOxmy@ zQ+3zH=(lRbjNVSGS}PLQsOkkg*s^1t!&YX<7R+Uh*|6#&Wgk2>|^^ zvLAsGBPIk$*a>_J1meTgCxnIZV_CHSy!IkDCx_zshf<A* zAG3%j@YQM0YHw2Qqv(wM&!~sb0UK(sDnoTI+_ANfb(y$QZE*G@CX)TM9$FBwY{v3&f(nu+Hr_m?4ddzaRbcM*_@cQ(1ji_*FI z?%u(ooFHu*QmF4hphfoclvmaFCuiQbII-$NRwe%2%BomL-<9gIL_=U>aJXrg86wWz zNoEind=1EawVX*X1zNKpZNjdm=5BprbnTokF=W#IjU z0ByhXThRiV^|*=til3<+RP5rz-X~@SqhMKSRnX}KN=QRuV5n?QdiCq?#HL-W898BX zke5y@)m1{F&LKnOx?!t}8*kDsW1-!qRYb7I=z|5SdvX0DfW+zw#%qO&r3Bd#Aqln^ zf9eRgB-|Bg_g}<=V@(;ZOTQZw{gpJi6C+0_j1(;)Z(PU2Qu=2FQ3XV4>oUQ1+}iI8 zMvCH08t!z$0GO!}W8L=4A@nEjV|@7mlF2ySl=9u}uR=sU#LfwGG$R{Pb3wb)afwl| zX_}U#0mln&6s$E(^%p16-&iSF5%o*YPYh_D&xtE+39`iG&Am2&C5y3qRSE{#%yZ zqSeLbqR~F)F)?SPm>*8%5 zix#>Mlwba3;%Wo&Wtl}405n#-#YDkDY;2v<>HsY&G6eaU# zQNZNMy5>HTo&M8cn*N0@a3#|?QKd`e;OmGDRBPIK_S={21+oamc@@dvt>a$@3nLk$ za=J(ew(sObRxi*XRyj zJ<4v9Ca`iRMPn#dZ|YG9G^Lz;TiULq>1EHbMi-q--E+AwoyD2s2ES~xu!nnE=k-N_ zq`Hkb83=Yemt~Ug8gS`xO=Z?Z9K)V(L)aF$+pzhVE%RAlw_xo^N^tA|dcPKhYMmRL z2FEN$cO&}YK4@^MEQ~Gr0nIU{*ueGM!?2dK+w-5ap3$*zqa68k>kC%iWY9pY85b?r z%wSwseo{xQgHz72%6RSzgpR3|O`E;H!sg6ajVpW+XIa)E1Ag@1=jq+kuJGh?m!#U| zLTAnualf(z^zZ4M>`q^D;8Xs7EBs+s2R&GI9FuT%?@UqtXprKfi#Ut{eqzCyeO@j)jkp*N-18Zd zQHmRpV#C%R8gCXqwan+`pSzsq+rQ}D^M8b^enlR)8SDRKcTltP2w26DGT5Zu*C|!H zrODtn%BtOxKuOvNo!?Iko&6a&CAG2{x~EZ3W0gkj+tU65=bX~!NV)gY^s4-46q+Jv z#E19JE3ZVjM^R98AdA~OBwwT-*oh}_5KK^!6#Y~B!icYInpKZ%Rm^~XN7%<62MJpf%SXV2fpDq|G_tvF@L!)E^_g#G9m0Mi7=jT9TV|h>VU&#;l^ir|_(uP3wo6uXs?!sMCnd z6|sk9KP#Q{ctQ>IpLO-~S8^;wra{U~yuT+eI<;hc*x`uk)g1`1CP3$e2=Vd=K1JmI z9&w)^sz;|9iqxhkaFJx`rusd&vzU}rOKAsY^L}i$R!B8Fett4+ z$=jDT=A+z$304Ym=*6S`hOmmG!BBg-wQpsD+fdG~ZzKD8T{)b7Hgj7DU^`qKyQS;5 zt|%*M^5>Xm-0j1=G=n?-sdM`Z8wxUih1)r2oqsanYW#avBf~LLzWPwOhf+y?m+#iD znxgpJ_Bg?EY{siLy8I$fb*AFGmkB-Zh4^g<<-Y~sT+%;KV4N3p?)fUyFSpooHcnpp zkWQDUu;o&qAYLOY}CBRBx!}s`Pac-)3^~LRz!mPVG zjtSo6O+HXwVsl_SdUBY85~Q7w;-HqQvzuJ%Vp+~iaAIT%9{tfdk8z0@PS|WUE1Crv zDb+8X`~$;!#+S5j7Mtp>ScBsacQ=YFt^E}8jF?=UTUH6`m~JCS#8IO%oQN%Tmyo$g zH({AcLzzkdyg{!tD(89L=seHcn#z^$R3*HWU3i|fe(vImoWB5JtY!C0T%438V%8bi zUTV2zIk5`M@wfRVm8jnD9%w%aG^Ph+$d+eDa5U(AWh7+lJAJpPhT7$77{#^v~s& zvbn6~Q{UL;QY>Q0!|hqBcXeoA!#*>GIZ-uO$tM%qHJX|MOh1xc;7s^Q z1z$hyw--RbM`sj44i2*=K(&W^gwX9^g^TjJo8*W~ z1N&23qRqO^zqmvtp=dBK4(Qy@J!7C`)psUsX_~-MND*5HGLEWX@vcm4kt`PP@Pig1 zUyG=Npd=u^(PG_$OALP!a3Hou71P&mqh^v)UsGRDDe)$Iq_drM79*S*q;(cvI+|AW z#Jcym$re2{9xkCT`g_jrI;vO9Kd&rM;%J74U1h#Z)#*W<<_;JmuMYf)*MPmjo= zLJ6-}M$uwrQ+D_1WAD(=U99uF09}Ir!zl)P%VF!~z6{s9>+KG!{3bs>N=k+AMqFW1 zb*f8QU|#I20Hd}b2x3oHPFyymFlNNCMF{)3bk9{H;J8@Fn++-_c>hx#`OVurLBBqWe?u4#S%j#X?`~txkTHl`+ERSBpq~K#$i5 zW3~S4Wk?n5Ocb{k_uQ@r9&MUy6^Qp?YpeNYfvi>(*E+eFL-7TV?R=ojtwcwET!i5nOkiJ`k&2*2*^xrfNoe8^0GRr7#7hhhs)~rq29b(~XrXo$|Qc zJJYF1rD)O;^kqQ9vlLnrI8H@}uf!4RQX@sUj#Q#45h};XaCpYv&tUUd)UZEhpzOt6 z3TnQWnk}NYch& zEPhOo_6;_763s?OXOOhr&37EB=1Gh@h#&iD1)LuWaH`eO)+w17^qafVou88d9ye?F z%w2g0Q8(#2IKkH#x)KvX)8^&r__Ovkb6$-9%=1f(`*7uEW|<<-1Urqhr~E7!5SFYd zZubHH+N^hsrf|`>naq7zu2y7kjxUX`8lF;W8`+c`Un7Ytq?L7N`9kHWr^&}2arqpR zT5Lp@@fGv3&UERz(yZ`y=urfz67%VP}p-neBmGEMruPQ`JAY zXU?$x4X2h#L`p=^!GMuz4@K)LDW;LWC^WyZ_p@ldNT1qcjvGW~5*(A@4a_$jq?diH~1`SF`{;_08DeDXQ4Iiu1JkUFcRf=7J z`c^2D7w|yAcn{Wm!tOw0xw?s|>JOk0>2mUNfySOoQPscD5v`zkPVc7SjizH4f*T?y zn=DU3`v%X*jc6PW+#67_%gEYz!;syIdqYf%k9J^Ldf3+6Yd0O?F2$PwATXz5L_adf z3mS9BT{ZNrDSH14^f0Z*WY9}nbDi4h?=MVDuEyO&d4PB6SQaa5{WK6ERfC#qeU@9J>&&szwm}@LKh@Z!CCvpM@;OdTT0gBndr|Hosw=r8eEyRej{Mb_-RSy4 zzFyNp?|qNN1km_XaoGvLb$CW}<`K^Sp?vSW-zBKEEsXw`wI6oN8Bl?_++eebn%yvE zV0UJx8mV0vZQ61c!H+h7F#YcyLqK*E;6Aj#TJCgGz1|opG;)FR_0Z_RWa^(Lm3sCv zqWDd&GcelYTs|*yaNJL4`-sQB*&{Y4Gwx5dZ{>E`Rte(sC@dLvT7-|&CsEWD^^{n) zYAm{6KhOYac{2LK?k^fr(Y!$x(#?gqLSG!Wz(`|_jikJA*bmYB>?;l&(LptZnbPmZ z_ImP6$*T%iFRj~u&P{h2_v<{ZsHi)F%Hsdwq^!&w%WbJcl_Aw%8A47{w*9)o1WwOz zin2T6Dy-5iX-ALOU?<>rVFa$}>O;1Bu<555M(9jZaWXh6Y9@C$1yQB(VVi@_Hyp7^ z-PJMc@6HA#-S@mX_CZAKdB>ed!XQ@YA6QLyGfRmEa>ev<7~vhz9?^uC%>TsQ^)1J$ zZ8lo3^M3~~&cS5ch+7OH1NIjf0Q7@!0fk6kK3HAUPlIAUYv=qKBfMkaxY zy4U<|9y8eG-XdNrF0vb9%Mh3kSoR$#0hF+%hEYxH25xZ7Dul1ME;G4kmj%(CJLrj7G4@7f4gG1e9O*O>~f~dvk9*tqLN6xBP25bpIBFOgZR??foN;A z^@2q&fMoCDmgzBU+8WO&mLTv- zMAPFB2X6%#HMwukV*-2M4-Lvr^G(&2pdQ0!IO?o88&l%5HmL;p=)HfHnCUS36^s<> z8pA0_@2{w}gC9Jj2oRnT-r(7`J zxJB@UBo=Q_F)y?>*Ar6KR5Hy9^w)QpVgD^vD_vq6{&KerRT6$EL$JSfjAU^p7Tw6h zuua97sMQ28)P6jZh%T)p=RZY%jCzAe7KIUr50-SdOR(Ie`}E%9(h8y4;@w-^%vQnd zx8eh8jitDm)uQSRZ<;G4DEN&ABvkb!?uFHCS)ic4Ab3NRlJ3Ec!X>JKwau0bT6}|w zvEfQLf^~d%i12;7st5oykELHQWTjA?ImF_PrpN(aO`?QylnVa$G?{-2J zXrk|*1oVsfTaN}LoF@IgUFtP(l+|ij*Ib>FCaym#@EJ!7gJ1wXMDE?iR&E72+~^h9 z`6?(pR$Inecb37Hyo#wD(>X+pLXSvuuEZcG`R4{nc=xnCl!iO6GIt`4he)U6H0Sgn z|6jmwR~sH-!p=5^_q`mJQJl{MUc9Zk4D)qY2d^3>D=IU^k4Q6)_83DZ@XM+W)%a8j zXdYFQb`>=z=fR!1pMQ(g)V$63S$M@hP2T8{=G8zMS_NC&!*E8)&&Bt>3iN+JBXHJL z|NL;`6?-kOJ+_&9_tS>=_FLbu*IIPFNRhR zPi<2Ensnub9fk3(^6$o3XNm%ij71~Fb-r~|OM!aIL8Sxg5OwujHLYCo6yFGZ-}|FB z5bv_op`uJI(bH&fCy1|Eq@xZ)~kR3k>uK?$NU{4&3_Wn!E3zTip0L{sK|&^=Uh zy`Mh{Y(1MHMlTblT^*AnbC4IQtGP{ekV#x(S8AK(w0rECikU^jtrZ*EjLqeLggz)m zSxynl6&HS3k$F5s*10z*S8b1-;-YO(>7gp3%hbipkcFP|{f*t~qt=VS>V4m>vX6)IS9EZI=O;oYm_G;Y#B zp{W|sUN|EJ{_4s|v%Y)Gi6^%EO_uTHkL5KbnAXIn8q~nUcB9vJ8kaveS2WQPOq`6pTKt$*pe} z^VP{HF@TyHeEDqb@-a0^?h8-)hfB#)+FeRqDs&n?gC1f&ZViAwZgyq@1ifgk&vJ9f z42q{#ymz|r3v<5T8Bg$wath2a<~JV4FwP(?Eg$5H1vdyRLFAttFrINkh0le9w2fn` z-uXFw!Oc~ODwUR}uoYR{vrdJqt&!J|n#yW#rk@meFrUd12E7yq=Q}f6#B*z%rc3pJ znEuIu)Q>@%-+1linO6`{#5*7#fZ`=NdDJ=k^0#h1n|tYzt#e(J_-c{x^;wX!5FI3s zgMEEU_U+SZ5rSm$%`2qU#d~-!aZ=;$X67fUN%NF3IpyH1-!EaS%k+4oyb|4YR#)JF zIqF9j{xpuRVo#9$Mw<3Yng_=BhuP$>ahfAYN5fP`E+?y08T|dU5vQK7l5Kh+PExVa zWG^23c%*&%Iz{{g*bQHzuwi(*oP8rNJiz8%^TZ+xO*QVFgCkFQ8}nUX`n-lIJ7e7= zB1VYM>X3#WU#~8Oko7?_$_`Fh&~|CW0qY6V@Hn(skxx1``zuMr05q}ZQ=H?Ak7yl# z+3|o(&k@BA;N5J^UsQe0&RrgBLj07p+RIu>k8Baocl7RyDg=C|AG+=_389G@)Si!F1b^qQL9^xGLRPu=xRMLo z;Z77%G~laWL1)yR z7}pHBx45gEWHGgohn?<*`)el3$?MTgj;%WX2hd|DZ@MXNWf*!E+N^b28)Fa zdp!w`Ro7T8FuY9u0rBM^uaBWbh|TmwhW~_1=c|1SU1<$8z4@-dxir1CWVcf#VlBd{rw!Vwy+2 z&g(8%clL@YZWW$C+a|D$iAwKa6}XdP*Gw;|Uy!?KS={l}47h`j6DBCeM+#S{#X#^O zy6X;v^xxnQX%@@FCzkBA2e9hsqPGSQm&IKB+S>3wjU%#hWkz10mArX6waEmHkOde! z-#PggDPsn^GUsK4i1+Ukd5_J)sn9JCb}+rL#^L}EWUZPDb56RFZp$v zq+ygmnaT17h`WqTOjNz9px1nd5aL5W5d1^X91NcmHkO0mGCirm;%1gPwlT^ffq7&vP^>9{ab;+rDNM zv+WzPZ)0f3i)D#(8k4=@6nVI)i{e(fB9Zrvo0!&;JbgL(XNJO(FA3%?rTYdDA)LJI z*W5HTzU<;C^(Fc}A~zW_g3iR}*k)?5c94yAV4!E8rE^gKV36aeCk3_(YvqN)G)@VhpgEx1QkB?> zinC!Ig+t>qL?&5-oFvj!y-4Esb84fRZt-SZIQ$%IyAZ{vCojt#_Q5J40 z>d2Pn>VcM!V;f%lN`!JQX|rM|G#1zCYJvXoJL_m2aKu-Vi<}6TLcet<#!YJE5F|wz zJuE)QwBXp5a6!}CLj$!Rd?ONGHqM8nt&KZSV95BA)91pUl`LnhJ+sOn3fj~Q?Gm09 zw9rZ|8QLf2m*rQ0Q)-L0nRiC^pfOk(?ORSwsTiv;_#UpMJYHZW?jHO@qOw%k6>(zU z)qA|D5|)-V6%(7qCrjwula_TwFycp7h?J9}-sNvbiAnkabnO=ymn&CIiW}lTof}ia z<+}RsBSs#$sjuRq>R7_PFo>)xa3c>ZOP&gP_LtI!hUFxD4)@#T1T|ythXL@4t6<}BEMuE-TPUYD|R_jLC1$Fk7 z=_nm50MSe*X)HU3F!dAm=bvOxeh{8SA#xK~2xk6|)NM*u((v(jzD{j)y7(ID93`Et zdZ#}EKT~R-Ov?D`HZ)7al%}9V7_A%KnrT#uxj)=@;g?%e!cpV|I{UvoTi4pmMm<+z z`cS!JYRV&|To7nLY`0w)r&;D}+YrOUo976OS;nrKSQAzTi)AjA56ojv4wi4BMN2qP z?L#+7i<<;4eSKs)+jh4Ke2DgArP89`|5h%)6~p>6-6nV1{O>(n`kC6{2k)W#WCY9T z#`TGe3f}gNztAHbPAzfVp}VE5jYpecidLkF0vYG;gTX^qseRuy_e+Rm0xn*!)|q)Z zwThP9vdwIDvmRLfS(5rdAyxe_BL#u*k@V%3lE8~5kuWTXIj`mwh58B9; zwqcvRT;-Jj4wMx>aJe_ckI3(_gH2rSn(AzgpPVK<{Q-Zgd(@>TQXm$P?qD@?`wBrd zXQT;+(m(a7ZGTB1?X!~x!HnTu0_b=hJ?u!oo1C&-mOunz3ddk6VV z%LOk3F(;7eFdIlyIOCf&oW^a0P9XJAS9H3-t;1|!ONPC^6%g=7&7C9XktWj*yoa0H zqnJISbxN!C<>nG0Wgb7-WG6Qlfanx~Je`j_=p}VkVUz=P?Wv9K+bcnL&a?vBt&!j4 zZ0%48PN+^>Bfnw22u6w^>OTPdx&q@?ep_I(1(nJVt$2u((aL zL&ycX<&0uSYiZEi#R+RL!{rH3YmSs40J7vOhSMkCfq0kwM^=P=&NTCB=Z(of*K47`p zNhur35vcE+u7?`GeTb5DoBbf0*35@$#sJt3^jKwIA`>kh`LX>x&1&QBTY#`7WhHV4Xg1E88(+WQWOtRp$e!Y z^#tcq*OCp&_v75n1XN^TAu+QL9MMxsVR7B4>%xo8t-~O4K4A~~;Kb&x4Y>CR!X`CW zw?lY-;fuc1Txk-$3+WihU+v9Yn$?Sz7g>Zrb4BSqD|FLnFu8-wt#cU;oqOeNYd-_b z&7`HX1fZbg+5^n3A725%YDrIY9bPW5DnN_k??IUULCYmu+_i>^j6=)yBQ=_F9zyha~kU@5ZVy|`TD=sh-p4nE=K_H&IUc_|*7X^6Rf#VJ>sAfPF(Aaloxu%*rJ(ybL{ zZd(z=H-PO@d}pY+`8+JvdubKbGuYfV%w&&9Vi|jsfOFe*Dmvk>;N2Y|=e7qF#+8l- zjSyky&ZEJJVJKjECOkLIb5cnXCm!6ym#h#Oa5$1Tlbx%Hi$0m2!flQ431!}3qaA%d z;JH_d%@4uE9`5g?(b}T#Up+?;%Z1o}LoOuGb9Sx@DE2xbHPGj< zi9wCk5kd*u;{0-?S9HL0t<=(7`gDrnI*=vT(){Ig6yG24Tzl9Kk);*#W#?*Lkia9_ zHj$s1k#PvO6&p1AUp+57_b@m2+-+Ek0|9qvi*@daA63}7Cefp@#VN8L&Vtk(tqTNG7+l98 zr4@E=x5KLI-*H7P7jkZbhdPt_45#Dj3^-Rnu*$qq9;p}TnCN{rkym zr*+bct8FIm-2VF^Y1F;b2`}{A9?cQ$OFg64zxZ5sygKmDx@+Da_}snuX9a$a`8e>o z!Z8P;c+6feK3BN721gN!+T`b|0Rnr`DLm!n=Nd7RM4O(mG6A}*rPHllWa7f-on2-u zWOD8Slz0)kizo+pS%L2*=w7V0$+vCM>r2q}50Ug~NJ6X~H+)|KfhF}m`MGj5O09d4 zATK|cypX0+kN~W>&vVayWJ2%Em0o`C72^vfG?LGkpZh?TONHghe(-ZSWK*UeF&mlu z+#}s4+?AvjCqH)$`|}JYS0-fQbMbKX0ApUB<;CY__A^fcy)!#t|~Bc?I;9)NCNjWGm(=j$vjlb{Qckoq4pQP|=UKPg!ATGZC!`JOXe zj2`Jpm|R|h?$r+D`sXo!20?fA_QhNf=$`Kc=-z5GM`IRVFF=>c0Cdq4JmE{w-4qu? zU_{`U0Nvf5%;b@+<^BS6$@r0o9YzDno!#!%>b+5lJ)aRvt$s_1M$_f_5_Dti8(+3~ ziwuJ9B9zWH>91R7XV1kFyP_f;`dA2uN{>=neK0+merg0%U~G~n^$BXHKi-fkn1d@P zt?~iUm3~#xt$R}qRwqQ)TerQ+N9Es-K6jQlHIikfV!Ijb7LGSDU6rfCxxHo)M98Zb zE!d@r(G64;+&n#dlcHN3l8F;=FUyP3Jv3%r0U4G2`|*mObckDg!cLx`68nu#zFQ*v z4o7#K$Ra$U^gYAT9j|5$;{&&CzT4fglJ$gdLeEZGVd%ep;0CCFy2`_VQ%J&zGc| zB(1~wCMo_w($!lk+@>!qFG=?xBvxOIUGz)R-2xd9PZ^XGq-&|Zyj?ePydYgpl4vG0 zu~?Ur0=FyfIWa9@Z0EFa(%Kqdzf`;?NSAw#BOQ;?WqU!odPL48EJn2R0n+t4n0Rvt z54GT&9j`@|{X{LZ^t~uu&By95m`2Ei6Qygx1K*XiJ6@D7RgdN=dt=bMBeSZDR|}SC zf0A_d%GB_7vnn(3dr`V3Q*tp6iDkvP*HY2}`$6w?}NblfZ9RV7g=ZiYeFoT<3#9Pa`-s&J7Z}E3S~}}8@NN%ZC6^NE`zDL!xfzYm3MV0mWQozPEUd@ypQy< zc|s$iQmW7#l6IPHaCMzrLz2^^isZXDbzjOLcWixTWwzpfd7fhV4Ceve!wXD{PiPPQI)LLyzw;LPH5GvlxE)kg(rUy?qH9b-w%CIM3 z+R>>l4Gia1@aV4~b;q^Jkp-S(pp2+0L{_9c(cclM?g#-0sJ4KraKcAiWgR}^oK7MZ zuI^YIJdD6attP{mfS~<~n}(1jWZnLf1=3P^1WyyK+bAPD&ZUxn$hz&$YRIX#h}nfI z_+;yXeAZFK5KMR9IXhWnOJ&Aj=^USI-6XyvmfT;oE_vS(Icz$ZUbL=V^byoe6pF)c^aDXtNe`kdc3hm<8VcbrnE(OP)>293~J$IZD z5CF6lQ#Njss>@_oB0k<0a+VXT`)EejR#uP9GJfZDDNysKF>(%m!qsj6!IM%jShn3K zXx%>AS_AY(p9Z8i&?1jkh>|{ul?JygGY!e6nqh}D{T{$>U)Fbe)f6Gl5O({RP$fPc z!_j8S2(QwTiZvM5rBHU;ThQJl@TR(YCT2Hj5$iXE2pHptuVUlIm2=l~J1M(@cuhm< z;;LGMvbzWhJ9ZvM(ykLYoH4g=+{h7PIR+-NsLFLs)UFOIT7*Mx_s-q*@`1dILb5|# zL+uJIBK#&4q@3SF+ReXyvI0Fuvde6RKQu~`{=&HWY?$3F5iltLhkJUeOYi#+2oQRm+Cl6J2Ui(w{og@?4;|FrOk zPBqe#$=Vg$BH_z!G;ZsNwdxToZtnH@lf+HdE*@j__c4%qVY{||A;}smj}O=`(JLXy z%@<(8c0Gc^UAdG1RR(J}zkej`RE?Xc-2g8yaSgpr;JFh#YjT*C_QrM6c9-r8Pbjkm z>pjA)0w=Y_fi2F%lef$AgW|2A5?C@v_o*^W{N&L`Lk1p%@Ku2ZKEN?{eTlo5WnZ>+ zqsu;D;%*K2t;+_hzQsqRxIACbu=y~p(&TjI=AcMr&X9w*r z(Lc#iKQ8^gLfLIGhO8%b8~ohM*p-qu_Ya=l`S&xljPE!fxL}h`bb|X@L1SSQrat!-Tnt2e>PHfPxzYooB)A!BrLhonP!J)!y8TIuZ--K zJpE>si}GoLcGuVfpfZ;|fbLNdymH!Ff{kfp-icm~Pcmg}96u&$H>v1kQ;yVFCTUj< zNxQX3hsa@)c1Z@dMu|A{`54pYzH^*r^z{R@i^ZxA;y{S?H$l7BSEUpr5=+J4giwvv zAhhI9oG)m%PJuJc#_6wlCTDjExL5^7p3BldoeZKFBp`4ZFK2gM+s-9pU`S6ZgOw_u zB;yQ)e1=_Ou_T;zeNN0SjzzOXr$O2$Wp_nJ9o91;z>3Rqw&A)zfCu zzkpqV4A*xMkKlDP)0Q~2Z;>P4f$O%#$sfg0(HwV$t(zrc-xA{q-Oep&T_2w@DLjO8 zdJeAUsCfWbDvaw;08JcVkixYg#+3D*fQB1bS5n`(TZ|BJZv*Sn1RGg zE2Nuc#g->%-S$N+HA`@_^#ByOZr{s@IIlA)wR9_Zjh5395H&PpsRHdeackpM2ee)=_eDlQ%hDzV4Ck@EXJgi1p%imzbqXu97aV z_siEc($^sQ%w9Oe0R;&J(P7j=y{s=_S8OZWP{Wrqbl*V*p z(Ea@Ei~s5hCQSTTI_+`KKQ!nPeQ#V$^_3GQ5aV#g&`%P zATi(4VUyU^3tIC&jybPs-FCPrY|Vel*QH`Aq(9FGUY9nCCPGosBRmEafNdlO*+QE4 zgs+?b0-Ynwdp8Na*=mSfNs`fpXR51rC+sdUh;Z`KYZ&rwo8A{;;uT+YjaePBizgBH zsEb&vyolY@_EWts;iPuL?sJ3@$HU|Cp3gD@4=w@Bfisdu{8gan7tD@Z{rrQk`{+Dc zk92!nFJ3o0*h&zF)$~EvP5&eM7bev4(sivQYnEwa=J}xO@~+?mL=0j!PQ!yU_Jt6- zfXW|qUFqt&3UL3`U+~g(?^M?A&fWi@>t4Yx)Ifk(@TKd*gs-VGQv8+=yzZUu3k!;R z<%`#iJsb9exrYTjl3rS+s11#pEnf`c$Cenw1HY0rxvrkHKGKRPW^DX#;n?w~?T%4f z5$YWc%`gGG_VrB@$r10U<0b4mu}f6|XWfvgv!W< zY6c1tdm!9oo^*8h69EE03~#*34*S?q}_nnHg$|$Nd1y_>m{AB zC)S4uyE&t?SYo2CZ>i=?((V~6p%MoVZith#OHz;66-4q`K1jRu|C_Qo-31oy;J3jS z8sUM?eUf&eypB6N%d>uvc15Ex7-pP;?l-bxmRH=pM^fvbkaiuKVvcu5%r{B9NpA+x zC2M-Vq}_lMS1-wlE1=yh2+G*usXj3*yPFCg(^=j}=F-XI?({aIK&)VG0OY-Qvp^5! zj(Y(_sf6Xk>@IQgz15Y#>GqeiOO{&~4td?15Mpw6wH}B+GP&!(pPXIGP@_oF2W&5A zSI6>sg=4GO_;Pj&m6iAO#BcrO?AD{p!+7jc;6P%YaT-&bG$;WkTp{iD%}0D~&gq`p z!rGmyU=2b&!8E+xBT!>i&FMiFG_2kJ&)FPU>DYLcm$qAicT|kMEov`qx9|v#CO`+z z2W|I^V4gKH0qy=l+YJhoh5Ht5?xgJ=_E7n8j@~BHr0vFk`qmPcE#{@|D%zaSnu<0Y z=7`anE1aw(V%i?suC)MSibA9=iJH6aR*NKf*|W^}`*&mQW0wgHa=#g-JIdy9f-H6NPRWnisN*YxN`& z(=Yo0*>&E2f{jv|d?CAP6LrW^8B*B4kX>TfGgcd+PQHxY_^A^BIl7h)#x9wJHIwN2 zzF)@fniIVySe(Z_jNLY5E+Q?MvWIf>Zd&4-iW zW1*oz_yRXn%@;G1VvpD2AX#&~nB6noE8xHEgkQ?8%R^)Luxx1e=*Qg+3w7}hYUk}ngoTYrlDi9l*;f8%)X&tVags~DWq1p$Nq3?6yM zyPuTZBb_5>#9ynGe8gzZK6UuTFr|Gl$GOoN(?hl(FJu>Z=M?Q?H5h~wvU_mpiM4fn z-e1VBfCp9bVlKA7klhUe<_e^iFd~rMwjA7u9durbjCTjJSwf$*0^Mz!Z#*`!>ZZ#$ z^wSrw3r%c`*ZrXBcj9%~{Dq%Preg3w;2A2ld&1~g^6q#>4pr2+2x};rQN}aM2 zuyN^=yJ#<66&F-4gV)U<13;#p zGu7%8U|Q_^OW55(zP7lGX0@AyU1(VOebqp`;pv1BcSz3<7;t?7yL(zWl7dSWauRkG zF_Cg4N)*GMkxSdbym)vahXtfN^9v6;&k8T3t7;Nj=`AYpZdJy(x}f zz^)TZT2SE8{|R6>-L}8 z^$VKJB~0UyM~l)iKr4XA=Oyfh&J`8R7I&!$*bVmlO3C(a6y0&xnr4|rWy}4b>nf_J zrlB71a!0Hd2goN$ZUNE@*HtaTbz%Hhcj}j|OS-5ZWQ#)TY-ru~g~0}MBX-(fvM!)4 zSOig3P^=?bTVrA?j66H=cHFsuGKwME>F34j#z&1X(5h;s8qpdZ)T4lj7k$1^UBx0R zrwZa@mW^ml;_Z%q;gamqi_}%aS54Jj1_C>gx`jAd%X$`p7pV)+u%$SP?^#0B?O&YO zq_VB&VGv5IoqyWWjDH3>eD*bZhHM4w>blc~9YCirWn=G1cAB?)bE+LGt#H*T4rYzCCi=JfO% zkM^lvCv{`k=>GrrfBy>q_dopoKm6mLU-<9;{P+L+fBeUP z_n-6OzXJXJ_}{<6|0Npur~F^S?fu{QzyBlt_t*Kqq5ozpbOO7qfKQGeKiLJb*A9I& zW^Y}5j`pFh!}LunbN^)TTaVbVDwQb9{FL@D^?WX&$Huy@e~7ifl8+zUPltRV36Zz0 ztts8=2T>I`O=}DKX-62RAj~sDpB-j!?N^E=^JudHUvGz(HMS!*#T)V9XYF^jwmQ(h zN&Eb?a|?wS<%EI=Vt6~WtVs7ZpL&0cJX%)y3cBTfA}&Q%w94fG;klq3`GLDXSEsXB z>xvcHIVDsYk57M2f#vI;?#?ggmALAsolw>wU-U*6k=W1HZ%t`S57-L1|I^MU0W~}P zrB!eLiMEnEV8r!WoPzeMAKJ0&rhg}^2wm0w^EE~pbSd>1@zXNKHOjS3!-~?n{%vL{0ilps@fd7U zrxqmk?RN|TfA%>LHf9qFJkNX;wg3WWAyeSX^MA&wBz?aupT?Ry_HmrmRp zJ+Ekn8G{y>>XGTtJk)N?`%+7N^wd8;sluPB3_ht#rY$e*(nfA#IDMxztG};DaZyZ1 z7yr}F3G`BWI5|9UaA}8xl}O!z_mNkoweAy7ze>W_hkmk8u@h0123k+-& zp)_@?%LRv~eNRg#&1NQEjSiIqHj;<^r}S5*q7nt;!w9n-1lCk3Ptq{w^q(?@BDU>g z8I{5>W0HxLROOQVxR$Y0#b>e(8KuRZv<2&B7eanwSxWFvc2mssB`MpV7WwN`UBzt* zdn(j@VNANb#;fvfR1)p4p(n4&;>KZi+#8RfkSWQauYPYr=O{3hr+-?0b`AVIx%lRU z>JsD|Wk{H|Jh3Qswej=GDOl^uPYdudG~qIyb~^sK`*7s7maOTit)P|6r6(@9x=7HT zpH?p?Z>OG)&78_YzbsO5y(9$GKX<<|r^9*#l<>J^rCkEJbNozC?e)^L8MzyJ3zN$& z{&Bf6`NSudH@azL>iQq^WFIQa)2Xnp_*{GV2P^wZ@w9&{&*5;Q$%DI5pMEwuaMREw zpFYt@#=Ls{EkQfHvs@Ev<;4}WfIYB*Ou**N{Pb7WoC7KSSo}SG zrqw5QP`Sc)Ty>xBQw?r2d`K#gm<_a7;b9zGP}gU?2gWk8E9P(lj`KjB?}3=EFh6M5 z@g1CeeW$w)te{v=`cw(zyXQdmPko%YCD{B+pKxge!P+~5 z7GL@;>cN2twTFP{d`d%C(b8-)d0bAY9{_p~%d<_PKZ7NozPVJu?t^6d&JY(1pn}Q&%^{bJV zI6=a`_dKaUZgo6AC{m}nKsGR9;MPXetp%){2Y<2}dcg*FX92G4ZpF-Bw`nY(v7J7C zO^eU{8VgWnNu2JgN_&h2>SZf|r{~2>h^v4RPdemaU2@SqF&gWr(iknvYbhWxnRb8m z4gM89RN0=;)z+lQj$tUkn~&%nu*ja={RE=wi>G|Er(Ij+n%I!vu)3jCc5@RDUXrfy z8;aA#(IQN*RpsJ{m}2dT(2^04f|PcY_zASx#Ed!XcZTILw!p24riy&euoD0ei71YE zz)L^+P4W_;D0=pW?_b)Ie8`E&ISJk4CE&7a)CGuAhb9xyH8MiYIl37ryPppq0m+#q zW>H&SV-H@OG5CH3oOKN!0m*aXA8Qvy(y$RAvgcoin;oY7*>4gwQg>tF$F#QEv^per z+XSwbw3MbDpY+5yA}mXD5b%!`@%A*1>;&q=K>%AzBJ6-gU|i6{7;BnD9BvLaf9Vlg z(s=r0_qbY=ewS^U`Y*ENmOdjR@0J-?qgd0qvD%RDu=Y+2(zP_e{7UB=Wg3O&+VYw7 z5&BaOa+3HSwD}ly%)uWu%9CLopbe1N8@O8%yE_NKS; zs|b_#8SC-b2EbdZ9?AP^20G&!;NW4iq7;oEeLMp)o=6oe*;#R?WxyR@W4a=Lb{m!f zYhwJp6;1D97?AZMj)<&X%J2)Q%at^tPUaH7ie7ETUZ)V-V|0GTE};Hv>R3Gw_1=$e z7EmwSksD-giwk(H0<3ZhSMg_5l6sv2NGvw3{muf;vpu}2YeCxdMBLXNtAO_WG_R4u z)(0K0fP6~pM88{K^S;L{AS>&o`%YsH(ahcL0(jrnx3Ht)ALc>wlsNF{3Mw~L&T9vZ zJZV~6Bl7opduf^OWsAq(qvScf0-&Md0pY2}5}*xMvlrx4BGe>%%9yDKvo+*#d(iW` zKWy1jZW4kR1uUr=tXNQ5HJtHNPu^lhO70@Pd&VTdb?Z`py4t3cX%YZpD^u$Xb6;h+ z1VEEIKBUNn+`jbT3RzA!kQ&A?30RHby7CAsH6U+|(dN|DP$$l#(3w z(}j^~%i;q&8%=rX#YC)A)Q2FP_F)eYqf=z&8f`eQcXt3yXF}z({ticzZVr$n1Pk># z2T5VOH-L4gM5TL?vBVm{gwpQ;eV;`59cKWe1pfp7KCSHW1u#>Q4e|DOvv0Zrtn5OQ zB+-X*4_AORyPIJ*LDD%)0rdC_$1Rvoe&y+Nfm-zn1$A|oy;RI@euK6R1SFmSu3P7N zedz~tob8M!0OJfR!KMna1pVJxd&eEI8R^@ z53h>>=N&tMJZ}v%Sao%nKx%Hi9&DwTxW7XjyW$AYVn8aBOZ&BI$#4XCv|!e$qPBC# zK%l+OI~9oFe*#t58a(82jEbBJk7AD@K&(oXz7%D7lf(`nm!dmTukZmBINbo!GnBHw z;?O$W09MV2K?L*qm}US8{;wd~uJg45uqs)Tbr3Kv8dd;F$fWnEAd$ohAU~qcw_S|} z7$bo8#GNgjMRX2tjlkwe7|Be1B!?BE*M0ZM5u=)=_#8F>y62)ouG3Z8uIFp~=oZYZ zEavn8cpOCzqPpAiHa!3iW;ZbRxEI0qXV?nOx$n48MhIt{nT?Jc@5-&j0YF4bBv?<_ z?i1d;M?FV`rQF=e4z_6kfDj^HyRw;<=>YKLBTa*6bSlFE;DHNdw7_@j!vWxozvx3R zuZp}ylBdfBeX1VlB!I*J7nI^q(6b8juF(HoA*v$VZfBP=+5e)A8z<$A$L(PMuW6e+ znb-m{P4vILl`VpR<96M>oU1j*8U~Y0h(6i>WOme~N3xb-|H}z#<02$kutP%r7gpV= z`(c3z-?vuC)sNz&Wp(58zIE|ktlpl;#_Q#jaR1wt<59-2I4f#b-epVL0xmcy$F^%s z&YQ#6!z_Eb2K+yap%WxO`J=Vd|49H9AX(L4#$n30YczgA{L{{a{ck9j^xno#HSf5q z?c{lPDXH0zg0Y7H%o%Ov`g(!I%WEBaBlbCyCG0<85Z8?*WO%=r?R%iI*Lpi^9RtkpD|ll$~H+OsvjE{Le{LV^pjL_)Bjo(#p+kt&Ar5 z5!%0(CREhLAWCE4(q(nguxRAb8m4H_BcQCX@d^Ti-6rh+j@8Q%5d3Ab^q$lUeUD?K zRR`3#ML~_aghQ&d9@Kx*lC0P2^2Ysl3+X@W7{4Me40~|N&8*%=fcoWS7;OXde}S(f z`Gx_rPt3o>XqxzZw@%7G9ZU9VJPN@5uA{p$U6VovKnmvHZGvTH$>AQohVpMT*Lyqk zCnO*bp({$2T@ujUC?*}-@){vYjy&L+;29!jr4rGj+o(mwb_55|8C zn{kJ!N};j4c8=q@WE1l^{d5iTPm~~~P=9&LKhE5w4{k6jx$KVkXDh#i^IK0M@dIcA z141qV2(UX)_=tg0NP9wCxt|yE|2PQkF$tkg4&*=Aof?GUvjgEx%0K+?5>HX|kSCP? zTsL98PDf~lF#h{84t*|{4h-K&A2jvpVvs1y$AfTLC#;+%Skk>u!2c5iYFNBem^}gi z)aZ3qQL)#UmbSil2IZKw7-HBR3M=ePS1<> zXD4t)^i((Kp#6IyYs|pme2dP zVhO7=tJ!kxlj=`_hUiW+pSRbQa0(5mLmS%^bnF%m(OTYgKBZ9^_LQzdw;&?A6^QmQ z{gYr8>mG3;+5+@XY?G8reXwUr8-wS+#Q-~QXe?hQ&tEICvzVOk7U2Fq4)`&@*wYtq zPN09i@FNYJx@z}3K>sBGJnu5Dj90_?=cKI8-N=N9>ZxKSS;6p9RGq(gx3!P_6DSmj zwW0hog_Hr7Gr5BB!h0~(wWYLCGC;}=6{4X7%5XB@EtJ!`_aA^lT>`T3G;V4KcrTVtfv#^e`PI} zPLC*dZ}HIG=8eDbPdNTd(zCHI7JlX7_Gl;! zE*TpAlSWH#4UNlKJ=By0ruT&SYYf#pEXu{Z9uWUn>e|v2AdjLg%SR)lCOM@cmg@A34|SNeAH_dVgD4;X9wSk1h?~zoZ}IjPcvu zCx4Txkr-=jJg<1>O>}=ydfbmxe=%x%ALt#z1v8@(nCr2ODayQ--u>WKFxmZTYrCFm zwZFZS`=dgqtE%h7Ro_G-_pbpqC*6ojGr;|HDi0k@A$LCqxIZz76O6udbnOukNq}A< zkKODckKR~dsm#P$RTA%@``a4Qj^FhGsLxDx|Iz?jw?Z8uZ|ME`{p?RCWGnCCV{LnA zWSSF(AOU%J#B_)+5^@*;9h;?>ny5386n1-Uw){_MVU=Y>j82{W;-CKc@_(1#B|= z)6g$Mvm6~{RfF1}LVbNan}%3e@SY-aP(bqmn?3ReMkR&h07EPY`cV6q*m8yzA$Aw+ z9j$i&!w#)RRC;)=t#`n|Q5)=%jNC#y96X5$meu>QZXGpStJiE0bT%KBO_|}iY!v2D6189&H(o7+Qh6% zFY`Kq{datkPi?b~3jy}G#i}ljYfx-wsQ+RAeTw|IoIW1ae9G=4erp0h4EQ>yJFb>(AS(v+`DXP|iAn>-Vp9 z%V=Q7Jq{gzZO>f+uHKA**jVZz5+-P-Ln8id!ulnAafA1i%brQ=KXm}e=TI-yO?A-v zL)~L4qAG0`w=jvO3Uy}Ng31i5KO+oH?qNr{YFRp3!K?(YeGrm`m2ouvzsza+7LI7_ zCa2%qyc9T0;=u3wUZcs;5C;8rEj?{yB)S<=O7M2ET7_^Vjbhtl7IusZqf)_+s> zK>8CVfSBVfpwn$(^yk5>0n-~9@)AeW{qrJVUtm}l{P-Rxr6QoLnhKYr6DaLO<1hr+!hZ%h8qrr&ZgXeEEj})l1 zjy3ym@5;O+0G*PQ-Jizi&!v-bN!nSN$P$NE=-ShQvBz=j3ZXyixLN^o!#ljRd+=pdlt!7c{I)I=|5LjuoQ5i^1ks zWEF$QQ3e^eSJ3ugVD%A(J$H7OBf)jt+0>uTkoopgVJqb5SW9OKGr?Mtd#K*y3 zW@p--%zjBB?U-bKB?l|}ZL@*zT}S+DA6N0%&?_gIU!rVJI(UhT#M#27kUC+jSu*T< z!2E68p}>eoS2g*w;W5aW2#$AK&=n?s8!iPOD?njX?8%FTrd~+qg!>c8Pi_VHP+Gxx zBKd8D)ES|x8HEFAa2hS7)YJK zM`--6e9zepRv|E*b9!rQkc{v286dZ zLWjiP*M?gMkARUbc5l0kV$6m9B%~;V!+)fgS0H*R-3|^v)rKv6vzvS9Jxbcj5wMQt zc7g8M)k8#=_r7&w)e;bYo^E~bW^gi;5Zpb9bTlud5--B7OceipCQ4Ny0`~|&B zOoDG+LyCdo*Lo+Kb)NHFI*VUpW2AQwZ~J8NC-Wo2X%1Wy#Sf~wr%CQfxn`jF$v)c` z2~8%7e~(Ze)$ zG6mH6Obox0k6nFp+zG|LPtz-sHDZB7Bt9_wGUOg$2`%fM82*j6QcK$%YC|ym`R5*` zHmN&qB&n%c15m?rD%6#Jwj`1*s&V90O7;-=U7`nj2dB%ldjj}RB&ibnCxrP4;E$9D z5L?E5dHMS!rt;qsGMO~P)2I$~?WkhK;?cAy$;mjh*(-{%!1tG)<#(=VCCIa-k(%aA ze51Bq0^ZMn!6+cEK>1lGcmHH{y4%E=bq(r1IwAmyetITKgSt=u8)c?U80C2x-GZ7S z)2&SF7wUdy3=c4>H7<2WnERR2&z7;IS=arvJQ9o|GU6Hi*%{z|rsG50yk(`ckoNef zzQMG%+hZ3?!!=^TBT_G@b(T5j$R%Adh6l1L`c=-svtavLmc94smjT?DqB`OWA?I@q z;6BkS=`3>qrb-jI|A6z84(xbU9k?HKgFpIzBn)Y;p{oWAC?6NK!s_1tKL%;1Zw-DKpY%}UZ++Q00{|G{XlynbqKQr$H zWC3&CG8}s|q=YLw7;&7o>H*v*>Sl4fM0q_SWiZIaLE5+Ya(E zK3#b%xy9YcUhV&%@)&pc4O&u2*sAyZM- ziyp3iRzeitJHDSG{I;Bu!V`sU?3%B#fGZi4)62= zTdc!K9ZOFt@#VQ&>z5Nrxcb>VkE``n1A>;x)n`<`hm~T#3Ri!L!=J;lq|6!Y^1xAm zq@tLf$updjtFIY%ry>IKy(U+G4`ku?qH#qgSD&Gn1j*9sr<1GCuR!-4jV{9I;Ocvs zjENasX6Wsm^SOa^n%sUeSp9^GR9F}T3eDG~>Wj44uCg1uu^r0ZL7(QBXg*x8N!8ye zkx1V}>be%E+C(?vH1{n2ue8rjJIUGf5jZb;5w@TRE66oM@WoHd*=+ zXdht&gk(He`sM-8DMfILT44JAeV#2E&Dz$QW&(Mpflcz25BwRFex59F(L=k>p?b5^wbJdK{; z0{fEQ!b9N~n zoS&#!Ct64q&T--9XJv}(DR&Syl%eM5!RQ>Y%VCS`FEif?z=|MIxc0zafFrcyS)v;! zdq^+99oZ$efN!a(2Qq(;F^|&_lH(m>el|KC3?)oHv2AHVQ&hEUY~bWig3C{^^N4lo zlTa%yf#qk_4u^A>Uo3X0VNnFKta|kHRk)YnSo%D1lM8fyqVkWF0wqt9)tsn&Xsey{ zPy*;YgUV0z!XqQTubJ}$#%dKH!`wp~DJ`uet1J-!aUqXfdI|2KJS;gTt@)8QfH5%K z>h^>OH!=BEaQB;Wu)dW1BZ3|2=qF}U1ClSM=V!u%wnh!1_Bsb&qCv+jyp5LFBig z#G{DeaJ_}AG4k8BJA=j2OgMJ+i0Mk-1qb?bOJ8V9Lu@T6avGA`0OS)Purqe~D%n@d zDy3N9AiyOQwY!H)s=yMcB+5rV?}L|_HzlZK{qn-`54C6cQ1S<4=AKy6poXG$Y7WLQ zUwf{QY4^E_-}CX-E69R!G;i@&u=p8_SN`Z7H=G8=Uz$wbSwOCU8QnnQlgzLLQbQA7 z4I+LHI#_W*=$;dZFC0{eq^gtq8a({H36ahS366%t7huIvSNn4MYeK`%Y66xTInx>f zbxSNAjVup6$6fWGaPYTQQj#|q`=sF0%WH#{spV=i zAoy#{W+UbVPYMG+F?o$j?FUC>L?Ph2`Yr67^-N#$6aIbQoOg~cT&X;o;hC+mM<*+5 zwd;l7@9H3NhFRGlPxieO>Z#K=%%FRs@Aa*oY4N^fhhOylse2)oEIVC7(D&_W3f~K{ z_70ETig1b}n5Wt^Wf89Km>q1;33N<{J)!q>RlBA_oifWcq4yDeB4Zz_{acv#?dsV! zvP+??-zM^2jv5nL>QRxX6YmvrN(*#k__u+)Ct}7TcjRh-{I=ihF>}>cPv<*{_q1z) zN70w>lX$P&kaye#-B^wg@7qOsnxX<*T8Q^;(AP^ulP31yki?xzmFR-H1J6iP4I1-u(#*Shq0{sH^liIEYCGDT27ky5C`dl@zq)pzQY| zTnLPu4%C@3!Fv%dwg^d9!GEk1bnoQ9IVNiPM)&U#(@tAS9~ZE7F!$L%>c3y(QxoIJ zs|+{gv>4Sd*?9zU->%X6!;Y&^4Gh4&s)6@s1?ZDhpDMoQwx*SJGVJ%jh3s&V%uj?pm;*(X zqWEco-D9)iqT&6hkDn7@zmZIIIi=E{pt@2%Gm{ zi>`^cE-RrEq@VodlnY-Je;Erl|jr?yn zHI)FVA=O3lrvk+aYiL=fiRD+$$X8liQW^XSQ8WcNBI*JZrcj2dZaldMgs*~6D9;#W ztS^t{n$^VI9idb}V22#L-7!PyRf=S}`um@QwF4m;qh((AlJ=`0=f%NU?E?jJS9dvM zDv#S>JR}bc9G`l(ek+$^)nOI)S)uE)_x+fkk)pjn$@_<>&h^dZF3 zIXI;m)Md?rF2rqEDS_LPE>pBsEL5))dlUs+KX!-bSxOxgH)^3&t^i5j^mEs2bEZ{r zu$wyc!T{c;&C}m89p7L4whtz~+#t|@_aD}uXQSF?tS%~KVv}#JwMH=&&-#kgpZ=1} z)^faFYEXuhEuA_j>ZNU;EHr3J#~Co$@+e+J(?T@eUY$+>r`rsK{8sYk5ag4%IJ?7# zJQw43Br6pXVY1P#p{%$iTkhw@rJVSA+=VaMB4Yi*u3t%94rUe|Qz&LNL(o`3#?#F2 zhyCL3w7LKte)M~aAyUi$+|h%O%j%rM>c)NAX>%g(2j~B`h2LdFZIIkD1)7}wvKocu z*`N@l470iDF?Hi{i$8aL+)?y=7wbKJe#)Pi_TRt&wr}^4yE6Vc;hhuhB-beF@PD~y zSkDffGD|-tiiO}JFp~XRP0R8Ms;nEG3MX1%FaE=$iSz$^+$7|kp!;izH4sx|gZgux z*ofF!3h&g-z26&79T{pIB;mgQ75a})EKCW+Cd21m%h z)-`{DPvG~_p5MzVQT-#*ib<9+Ob3$$c=4+}_Kq!!AFnu-+RcS5o^|;$ znW?uJ<*I|wL$kadumm(khP9{23T~L{Fn%RaySVKhR0!&h>#5nk;#DuS+8xAaHo6V$ zka_DnV^-g$_U*&V)KUi$VXn8aJ|iXc%xGE&n%#zHcDp*-O~FT~<9mmt5^vnv_g-_I zTo>8Sui|z152}<%LCVwy@(6+MUS9Sl2odu)`Wv=pawLXTI|%ouJHJ+^;pn5do2}hh zY1r_vXXVz!kKpVnsZ?n!(a}t1ak#-a{jsEJJH~73Cv8sg*bBd_zN?x()SpN^;F4q0`5{Y%0Dcv{_YCj+95n41`@ z9DNogN&#R$WziQootQXfg`!<=LK)TR5Xo2eq*I#%-oyPG705-7fdQzix^>pKIaVQt zn=9S}QZ9y1ufHO(a~Asx)(zxcZAFy22h9rX(HG>Bouw(JS#Vj?r+UBDP-DQm3Jpaff{@=^1s{uM(X`*u{k@V z5b0K-=~JnYfwGq6ft%#*(XXf6RD_o~1a6(?Usj8hkf7$*ltHDJv{?Vye#VIh@6a-q zNF52AICL^%iHWs6lh}ffu|ZPpYFb}Od>B}kA7Cy_DF+un@>T^jRy!+y%aHGAA*4ai zB%`nvI8=;NzbilT!^M3J9}XRBg$KtQAwOZvNxVp%Jh(j`zy81wcWby!IKRmA%^OCL z5}tTr2E9YuPD=im=UvA!hV}lDaKovOhru&v%3Cm<4sBxp5j8GIi?&l?75W`)(>ab; zrE(s#4!oLR>cGDf_!cb`Y!lxyxgOP>%9q= z!l$eKXr^-y6XJEHtJ2^8-M!uh`rq*nxguL}Vgj@ zR$bG3_R$p>lAnYR*}FtUM!^e5L_VFeZ>mhlpNa$(mvQQre5c5XM=tW#Yg)5xXuZft zvk2a@lr>X7q=;P_%GBcT+kEX?EDd>TfIydQ^-^Lm} z4*o$Fg<5}bE7>BH>ok06E-**vD35Y_gAUmdk19@~5HtDENrX$~R%nm?JMcnK=D!NZ z(TZ&x>h1tqPcFY(Y5`Az0mR4}YZ#X;bP)~eEJ<5b-d7bf87<@xaCIRll>VyNA@pVb z!lcag3{F!x!A9Ud>PqXm|LMnk&1rM2W^ub<(+#oNS$QWX=CSWO;RNE3XNNeBIXRt& zn+L^d9|JX7kAD3%(sn|6hx*r>lc@aXPb}iC;#FJwiXfl7O{PEd>SAj1ZZP>Vq&azO zNjmc64qfwpg7-4@LqG(QE=lJ$u9zB!vfFqjnqM=&(n(XfG;IEnc}tvPRr=JAU;OhX zQk$8U!;?xyzyRs=T2@#R@g*|)B@=V-_0@>|1&+L_UW%SiM4kFLnfm%~{7`k2(+AwM z!Y`F`nq62gHy&F}C*K$hBQp2in10zunNqTM>>9eW9F%wMk<0jqHBBz(f2Tgd;?&lQ zsA0dCrZ1)2@oS3~kxs}U;=;NVI%n%b0ply(n-FWi@Nn+Z+**O;GJfSml2Tj+6%Rha zp8`gLo(P_H-af9Lo&-_+edK!l`}8d+1K6b|zTM-Fd=PxR`*-wQN6KSxnd&9%4T4|i(#Kts;w75UH zM&{qwJ-!I(2n@*6k?A-pxIgXbxtV^uqR!Tgyb2c3__JShJlTUF`V+KMEPj=5zE8pT z_NC0lS0vb^@6`Q@Z3@LSlFj(r!`NG)Af+BOW)1RyoM|p6RHh9*2u`ov)N~TUO48NLIx;VhH73-MB0pnY{1s-8s1K_5QovzOj{;74v{BOdUyST@Q&> zjj2Dmi5E}x;x0|}aQ}H+*1+(06t8_&cfG&wbQrsRPTIN0Tc+T zb>(c9qFa3m$`2VazuThwe2U~^r~tFp>|9#~I&=H!7hNWztX9PNPOdrE6p2ccW%?D! zGcKMxS8v(;M+Cx};ZxSx=$Hu-X79yb$+y_%q-xm1K1EK)$t~pNQ!R6^_?d_2crMU4$u7|hcyB06^`zz*P$J^rGyG1l`YXaB$K|J^Duufw0``fXHAE1Vj z_>#$KJUtg>)3XKoSCdw;Dp!OP3Wj^CPi~(3w8x^tHma4GC4YOmBg}6OioAa1SSaSz zIXt`I|5`Z;xa({`;%v`;|&fxa#k_pvUtb{sE6?v9j7p z*S~H8^EN2o^3h#TiJ=IuC6s>HV2G>U{K;s<;X2vT@&GF#2-gSm>9iu}^v_wkTciCB zc0YXyZ#NAlZ{EqamZX{WU2>wL;^TVG1&+l5HP%^4t^Ti4Z(D7d7P!JV=x@mieOL+87&wsqbkU7==v~%@i z`=bd`zR-GPP^<{;cGrOA?y5LZZp0<%FEX1K+g5&KYO?Vzar8=U2mIfUz3T%!;5MzF zCyXYu8%9Gnv+_k(EF}n*vFmiyhY=HTlZj>}FCPso6k+(!xM*CNIS( z(>cm%$Oks|*lB(t^2pZf&<+hEvQAbjmN=xO^^i{?=BuXm9uGDkh`Fg zOhEg|CYcfQ@cNai6y{{WQRGRXKb1SbU3xRKz}Wje!r9Eplrn3AZ4z|At<);)c8q!A73RBv6*pO z(&(F}N&94ph_&;hnlCQ;A`j|rO50p0ou}8$ca+rf89mqUh`u|odHi9Sx3EU`veUk1 zx3n%OWy54?|B@&fKk`$)o=|ZDx8iJHrV8A%c4tj|P*?h?FW#JbEXa@c z$B#yM3^luU4l?F5=%FU)wmQ-3maoG=x!Kv1;;O4S^@71Ho?~1OhYxQW`5zjpblRt@ zvE=mQVaVG|&FT7q%k_hco`A}`X*@$=`!kLj^{Y-1w8I5)o);!5gIoUS`{(mojT!m0 z7_Q{XQl~r#J-110>vfJ|#f%oAALCDSb=Twl7N86`rLiune;~rB`{;`jJF-oLGGGBkshRG;`$}QUpXKKfoG$?@4PjHU^ zsWhdTcUTI1B;f!4j?l2nKDXy=J}rkE>8Kp_oY09==2TBy%j_r{Vg~HZME$+b9<@=; zB+rXBk@m;Fr@wEtJ1aom9q)=C&Ra5TbrJMeA#anr%4pD4<<$bpk^kd-4}935{cRm< zm3?KHabsYUSDt+fmnYSw#}IqA;?LJ2UG6apu6MYF7Y?yo%ejxYB3JpE2WXz&Gcg+N zdn;Tu+t3)dbcA(Gah_b(&h4Sdgg0l)X@hO`4a?2Fz=fFdi>!>NYWGneJaOxJB5ERa z;e4*pAu_cDbJ8;^cA}@5n(AL~tfuR~dpxicOw=TM0odVKGkH(c3KMFsX$)I-LTHAy zdqq#Q*TQqDpO9=zTcEW(oOATed0`%oo~~pu>V>5y3ub`|wjZ7w!08)MdQZRFKP0lY z$DnRd{P!ii#)cBH-@%Q`{-wM_ZbtI5cC4q2@dQVDSfAbS{G6u7%t`Zm{6xLRJJ0E{ z*Z++9w1bUDU+tY-sYnGOnof-oosSa!{S85OTr0Y8v$6Ae$rwY=vL)I%8zTgK>8b$C zM&06_*g}XTYTOnFN1(^Hie8ugw$)+%D^TCm<6m8;cB1^dP@9wL3S6PqnpagU$5!O*!riIwyU}Z(TI!+?eIF0 zs2gNCJMPNt8DB=cg>LwP$ujtksnCv4b4r3Az9G7PH5fSDGZf`q z+pU;=|4&KReidUWIY=*ScdcXn3ApIy7F`_4V(4=LvKaV%d+2%S-6j8l=Fggx*i)s^ zz`8k=x7+{~C`1RT*S69Tzo^;$xn3K*)+1K81{qYlFi*Od%{VMO*ih{$i(k;}6-ka( zv-<-J|5Y*2#5K(RKI0oG@8p)=gVQsv<}by$PdpvCBJ7Z0?(Kmxtdi*>P%LW|oO_ce zVw6vN;Me#Lp>ul7N!QbzEMg>z&5PGAqHrO0?OKDPr)BkXsgVB{#>(6zeOI`8>?DKFw0B?~du?_+N-o!A3EtVHI-Wn9ky_=n8;4yelO5g7Fs7G(HUf7E79Mz$2>9?pcBAws<)(Nt} zt|X^VPZ#sI8#(rvc$CIXHpHaA-7l-`#in@!5DfE7w6BRiux7l70==~*l3YKCP77UdSS@2 z<6pHclY$1XO;T6N?dEIIemz_Nb00wSSx z2Dj<*=I)c~AKfx`Q{n-$q0ORw9&04qi*&t^Tcv$c!&{#H@L$ z+T2>u(;BfOIP(1BxnE@8)uWX0M`~HloEV$)B`@w;O|yEgW>+QTKj!dXK0!V%GWq)* zxSYJm0l#e)NKk{lBcyer5}}PAdk&gOI{%UO8`67B?>iJSBU7IPj?GZRj1~tb(5usA`LANxboI_I0~wtlSMK zGxI`q3=Fo>{-(Wef0TGgV$z}U{5A72W9ZoITscIbc}hUZ5OTc9E4r2serE4SRab0( z2p;b331ET@QkxIbZPsUhV!Qc~MhO|b`mOikR}ZHQl3(zv{Dxm^F#xfF3jy)EpY zPmca}o7Xe*~|3QE3fn3GhtKHM$I#o+;K{rLM+5Cyg9hi2LlNvZm9Ooux^zIj(Ia%IK=+($ZskI_JX+Y^%wKdI22&a9 zUH-HwF^1q*gW(r?RJCGUuO>rizSrD!JUggFzsfr8?SAoXT#sTw2kUp0qp`Akb%gN4 zq0(V+*YK^cn5wmiNNZpKBc%80kn|k=;ib{*ZaWxC`bu@Y;!^fBEi&=sj1zcjSN{-W zq7E)7=;oMYflySW4qsOQUu8k#?CC0Vj&Q}V?#lPOfxgW7_N^Vf2MIk2YVJ-Gx~GK) z>9Ey^YXp@f=%))RjV<QuFpP_U~pavw&xayCEba~K>TC(#Rw0$=+2d&vOJqi3A%oyWqAc`{FeekaY0 zBajkX1pJ=0sJEI<0<|EYpyZp=b6KU|h2QLwwY(Ba(%4Wig4r2)rhQ%x>AG`T{ooyU z+!){Kl|WP>GC{Z>yoh#!9oJ=wtc_6Uw7E=ca_=2YaGK zy|3@kWM83jeo&xs(N{*qChccITc6{0o9#Sf(T)%zL?y(DL-DJ4)AVemN=BWK1#KdR zx|xB#S**hQjXND0-OPkc?;HN{Z#zD5zD5lF#j==O<#XowB>pA1>f7V2Y^F4|sflq7 zCSSR>3Sikuj}6jqqvB$)c%Tu;8l6c_t`>f=n5bB~t>+F{*Z8c-o0aZ=MZ6y z8KH2D#T?d(-g37a5lt6@UjG#fVO5y|Xc4vqnUD-#p$P7J1yP4CwONvYL|>|yL1|19Mdxh?12GagcTv-Ks(3uRB2TE z&*ll(15rqSU%QBX3+r(TNIVpAa=+@p5fu!@a7k;5qf(U|C5Ms;NEvwqrLn5W7k@B; z4b^Hk%M!c?^*ZumlTO&n08LszyQ+yUazPjjWpD``FEHQV8|c{!X5hs#F=ewz|0&D{8Z!|81S)3ncD2K!E3R{RhhHRN`Pb|z$@xu14=<5|G~ zyi2%IbZcJ}Vy|a86d_xHO+h&-q(edlI(x4pDbS< zdlyc4y?v!;C9g)>^%4W68V~F15q52<$AdM58|}%y4HxD6gK$)`@-D&YFCGq&l)M$M zYJ44H-fcdgq@JfYa6p7K9L~&thL8{@(vD5CpwSU^FXWB8H!Ren5X(r&NI^>bz_RB( zB4d*ZSczY8pM}X~5f8{L&70v9)_C$(GfLIje{G&3ZPZz{@)2#59a0xvcQLFgF|I{6#~Ztd)B<@#m@} zs5yP7tQR##l;t^aj}ow#rS_RpdfxiQ2M2fj9FrGFa(8pM21|YwrL$uN-Nm@byWaNnHhLk}*(asBQ7owX(~dR7a8?X3`)JhS`r)KVlJUg4iP-_H z)5G^L)T7_HWAt<;m$jt1k$;jB^U}hxXwhVYfomFNTh({>zL5MRMI}^>X8R`D7+m@m znVJ$P(em4hbJa|4-*wvBlIYN98oMj)r;+&2S7Wo!UZAu!13Tuv)v;-qDyJOFhq+DVMqKkaD&?%e0G3!K8{j?#=!@f61h+yQJpq)2BZMDI!sNYiv^8R6iWqClX6J)V2^%Th)>*JLI_j%NTh&Cp>Ja z5AchgQrzvc+D7WvQ7)}&=sLrc`8w2*Q!KqcIv7gQ>8Up3^@GfyXBb;3U74k=S}#)Q z}yNM()AKz!jM%w3>M@`G{)991pvH08?HFj+g;5R zz9UU2AxWAtkbnPFHbH)E6<6{q=@(HQB1%WGD?DR}>w^RE*dpLSPv;O*vhS2@3K%jB zqlmux)&ukGC>>Tbx-C0=+tyHbi78o2^8%oR@Y&rHT3atBX{@#o}~HoFvs%Hk;q^j^%_k>Jr z${v43`C#3#2+{_9L$Bkw?BA#35_Ks)i3L|$#>r4pD1@2SY1%Wejg7HnTuM{`K0MWq z_-Va~s`T`y*)yL_kyd-m(I-iY@Fn4%-Yqf}N1Mah(T=>n^-#%uqjDq4kt>a<>6)Jo zgf~PjU3$uA(A8*DKslesKoBCy=a}T2(H(yc;aqw5YME+@(*SO4cWR&NsN-JoF*A*W z6OE3?+7|saojL5geURkXB4W*Yrk9^IxiV|~yoPiHliZY}4cg%DaCVyom6#T&?!wP0 z0?r%h6!Nd&vmLA>L>!`9b4vK7JNC%ki+D8?!KTIaq?#wD!M1^`avDf-=yks<)G&Jq z>Dyt&?J?>^|CN#7zyE!rY0@)&Ry0}Bkw%Y~+T#e7%n@CBr?@YqYJ3NF0XpGG&jW=) zc$}ZHq87S4xN$jWf)X%!VGl_07RAUtAEG~XXji>dRoZi(Lz!B-sL+JrjMB;Vi4KlhUCtQ3+jlNC+hD9zj=c%B-0K@r3%n zD~XrJsr#7v60(2@Z0BX1{iX{~4PwasA>ll9~aD~04J?}MM2HZh3$M50ygoz0KmhNj)W81W0Usy0c=mU}O^9d+A zW9@tN|5DiHkVA07>2^l~Z9pHeK-2QDw%ASQssd(Xz+zuZ_h3Z5)Nzb3gc3%yC)5Mg z9+w4Db{N4PIZ6{4SB`KLO^ObN%1BlX+HWX-+jZ)Ze34xQqSWV6b-?N{?x`)10L-;& zfPVTIxMJaQATe0${xQb?+pvF_k0T!zcU5GQ?{Z2@6J-7SvM{>wdug9%O(?j`?RM z>9!V77#Pk?<>n`Say9SCT{+IyA&)wIINymdimxG<48MreM|CYRQ~yQE07g4*5A!t@ z>4?A9#2xXQ{*2~bUj+)sks+edVEWqm1bWi~N3+YVH-*kHWDSR^P1l4_%)HzwEK)ew zl?5Kd{wLaip0Ed#a&w-PNEwSK%9y^|QZ+&Xl&+SyBak~-jjFJiDcw;>^nvY%Dqx63 zh@H}vNoEuWJz99ig%=`KkaAlGKU)P5mX10eZ;)kym^ntn)hUbobcS6`esWQlCYj1z zjQ?-57h(p?BRfFYXk=ai z4!^k)0qmyeS1RmhpczE^URXJMCA|qM!-1-xz(6-?K&uQcV@1QqCxoMGWG#Pree?>I zFv?*8M9C#qIo?k@yDi(xHC>F-nBX7;7GtCv0N?V2LdWBtOKu*Odg&Mp)dEjHrc89= zjTArESG@Y}ts8T*7L$VKP1J)Vms6bD=WwBlDaU3xMAm{12>sbvtz)nn1% z0}&v?nlaxAur9I>927e*^A+fZdyk8 zUa10KJuaQvmZc&4?#V~ypD9Q^Xy9!Ji0Kjt%Dr=mpVFJ@y729n4VdJG_*v~v9HWdd z)--JBH&uO3+!0#c+)z*piEWd9Q~XE0Kd4_T83)GyGuihcK_$#gX}GgZRH?LeNa81| zvrDx#WoSZ}@YH-U#)xLIc3>wUf}VE@<>zs=m(P;-%65HR=y0Kl`vT#dCzoeibJ`{Y zizLg9FU!zY&7pk$Wy~}lk4?O0RH>81*wEmY(H+;yuhis%?-?Nc`7-I+?{7$UE-sx0 zhVlhEUOD4TBcH+A5ddbRH)Ko_bO({kyMs3u{)EwYmrNOBS0?mUxrPp^ABirs0#~Zc zxc<5L=QQDIg!IDBkn@HAbd!5CY;k_tqW-#yq(Lq-ea<;`&#@+SNM^9g*nxIB%%=3@6M|!isYzQLU4lkOL{Cuhd39R`oIj8wzEE$A+MZWGP$K88Dl~VHzg? z9t{3!_5IuhzzaqVn#|^*LcF^aK;L%gwhE-l#7!!#M8J?U4LP()q%!FVTjXSvvolIW zKR+6*)d5CZ-CIV!^$&HgKAf5T`l@GwqgiQrRxM&ag>hEI)j>Se>idh6p$kVfIVd$( zJJe=A?71Hd5|WlUuQRGy(usp^1*WJdz8dxBKOD6U|vxNfw8HJQHTS?oLZp@o0wXb zK1;Tpim}R(l)4TZs$c`3E_aTwG8Q2^wf|_V!~Y&@UPyMJr_>}_l9J-ID&%YEa^Dhu zyd7WUFnF`YC<%nEix(A)W-!S3aSE2ySaq{gg+1R-? zcIqBz;;HCY=5N&%mXd#^hj543}%Xi3lYsVm%?JbPvJedFf56Dt$?ZPnX0EfGO2h75%@7Jb|A9_=D-dxZlGt zgBPr9&dHSl`WgR&Mifn(=%#B$)FLN@1R2bj(QP4E<`08^Q!wm~u&T%84Z^7>l0jOE zDb%-ZPL`*DY#{{1$&!$Wgrenyh$OSCJx1e8bWqOo4jN~(p&HF99W7%cig?-VoiF)= zHQGW(hU~-lAX`F~+cte=srJm@FUN^$08*T&3s^xtSyp=ZPJ|Am_uH@+hB9S{|sx(!{@kiD-7--ivzJJC0! z0UYZG?kc8)EOg;8N#2TxK#Uny>nDJ^!dB9VShEn5wL!{d7Q{)P^gltquFcf~co~?$ zYepe1v(}%t+Bu1qAbix67%fvo%p@8_{?m;EFI46fAq>-d-+;~+z1_*niw6?zh)X+; zKe_VG7xTYt{&9QKpLcgsMl)y*IYZ28Le0DQe7HTLL+=OHa;64Xb z4#WF;5K7b!lHB6;{hOlvQ!G(*NebJ&+!1@TMW}5WCaz#`d`>t9J&>+4z2;a>F`2fC zIsm;u?trvPqli*x!dBQ*^?|Mc5X)Kg~&)U?Y;8OvJM`C^Wi0WdTG>SeUI0dy19ybR9aKsllsV%Yi;$PBFYi7NR9 zvnbp#XQIJfAeb|jRJr-A zy_k%levLyg#6*^{`!#j{;e=NAh|XGqR91VQIM%{P1z=OF`83@C)*VhP6n%_np?9*f zBK(J{*u`rtuJ&$|jD&1otOujR8 z3Gq*1!4Tg=Jg(ymNSJ{EQ!XdzD3{jQOyzLX1Hs2}ZTaf=P?ct-&a`yW6hg?Nbo?Jb z~-v(K(HU|jzzCq+7lu$%iU3Z)&YTE{89Nispgf{8T*0p zOMN(cE!jmo8tf#Epvpb&RTK*IWVR!-YSTGyn*l=Ad%0vC!(gUCSp`hkcoc5Rg|U z5XtO(*$W~ctdy3pm~Z@$LieBLW;;+;aCu9ri=0}qO)6u>-WjB@y=Smm z)3q55i#++u`m<)mFQt_q4YWXh&p{p4%5T>QVmo$e@kitU6C?*KEpi#O<=qwT`&vP^ z8=UTNHdr>NY!Ep_?7)v#*)C?&>sd2x)6^JoeZ@jH~cbQ&_Z zSjiUs^THn;NwfcH&%5XsUki&kSz)i!v55&m3>b!=8Q0@|mhJ%9n$+SQlF`AlL*&vq z)W9+t zjp=jv(eM;$O{m%gapkq5OzCsx-7p4{2$_vkfNXcODyzu(XY7ao?2{};H0`ZzCMLWv z)_u6Q=vnn3+&u)r(GUTogR3y47{TkF*jD~_+dgY_%)U7*Mk-+5a(zT|x-N8k-wN)Q z-~kLG)RR2UeKj|iFaQa<{W1H_Dc9U!Yi|EzesOEG1o!xl#-BQFud_ZhXk$csOUbw> zPsvYgE@f1!ayY@Q*K{JuKFz!9g#rp> z-R4|Cg;*b9o-0Ddv&O0Afw5P=XzZnyjX4BLgoa3icCA<%9g}))`}6rNL|dA!Dw<1^ z_Eo(DXb3*7G-i^Kv((91?b}V(DFuV~!CIzM4a9T-QpquJj)D~J$DOcn$p0|wIoJp)U+wY>=pN2v8=wrierOD-2ynMdP(3@Po z*9C`!YQ{Ns5s?4d#UU)7_!3HAXbAGZ_388`Gn*@)tQ?gR2!4B#(C95SSV=h8?*gy- zE4Rx!4b|&PAbnX*zj(uEKKb$wT!{Zifq)|}Loj}AFNyv;8BpCJI9doO!fq*6^U){1 zue>e%p~V0?Jv7RNG?i^^g+TT8m_S|lF7JY~1mxEohAO6|Vp0rmgOqEg*gc(xst9}0 znDt;hSB@DwvadqSz91W_o;f@}vCc$;f0;iQdl&q-G%i->h_`D>@g3UGd#u{vzJfzW zJq!=C1?*3k@VQ%_OZo3aa=DBAX!?#^I6NNG;yaB0^sr1il7nyzQ06S2R5=%@Nt8Bj zQjEY_h?I3&y=^PCrLMjPP%?#8!F5X!;DC%h{uz3@wM-mb})EJS7|*^rRI>Mk~TuG&dmLscYuZqw_I z2o&^pil1Gt)H(AAUF|>G@Oy;hNxWeHE7R|6VggjFtsx4-PRk%YDwH#$ULry@(Hw6f|dwNx7`;OFKZ?~g|?(cg?i6(<5!SyjUGDjo`%a5kkLUc=Ua5Z zC-T7^u9ldj5E*nc8Za}}R zplrXvjmz;72>&x6`>DWD(Fqvo>kzu&BjDs*>#f2Qz()*^1Xch){~Z z%o8k|kmkjnG-H;sEB7Xt=_Z)lj->L1U?l@tx@fdcF(A!zWMLdW+`MnhRA(1fTMZ+`9pR4BX|XhD zk=`Z@>8Bt}#taRG&{S~1&WwSuMmndppTZtTK!K)e=iE5I4&a0&QxB3 z-E4c2IxgV4}9&Ci-1^s?{j=yc81|tI|t5 z%x^PEFX)I^(Kw=-h%TjDu!7M?)=D2oQf?5VNp80FJR_^rJYVEaM!fVY z@Sk*HJf>!8#=4|mu!+s1O)v2v906QvwplsEF9FO|H-kum=Jm6{qzwo&-399M#6oa{ z!-lCk_efj=C`PB)OIHytoaR^P%1Irm55as>0#_27`<3*o9R5#G>DtpP!;jqz7osEx z;d_5Se&l4Nvx<9(;2+!!pM7Tq`7>78$e=|NFSW_CBccPW6A7ExW3(J1C0l^u}j<4H4{!$Fq?F7sXdhSEN z*7k0tGj}1{kZKTCSv3+XLwD-X(bz#Gn5_>Ot*<6D&DC_>qK^(BO>bpKxH_XHov6+~ znSb4cx%X1JeFMG6pBENoxYunU;(jnJ#iWF2^xRsoz}58HQ1{J+zYSo`@Yq^tbJi97 zh+fGh#`$k0;*yNCZo~F?xz1ls#1-a@0C{$%FJ$jo#!0Upa2MlLgGys_b0o^Ji8WKI4IHCrkQ865TH%26U!(I82fHf1`mR+Y!fmhhLKJpY=x=M+ zP>Fxx&n<@y8^V&4v*nvIYVPdvhRBi4(N2e!^8f0~1q5!ZLutrcG3F7JJ>z!1F7GA+ zFcN!r%Z7h`fgH7aqWf?N?!Lgj1h1d#WgWLO0xJ4pMBf51;|KYQbI`B>@3N7S!TL`X z&Lqetz=9TDmWzrllkFP1G)ctJ)yiL_&+vJ{Sjy|$6p7!d-KQ6x#1$07GTHOk8W_>j z#rmLy85%mK8bU*niqKa6&-!Ul4@MVNh%PAi|8*Rl3Ortv(6kJ7PP8E*m_@MM!TTcy zWgaUCz}=En5stk2-+_c;d(1i{<;YAtEiaAKRE#Yk5=mpW80n~Z%}(nt zseoi42D0Mx0{{RgsKZubT6yS9xIrY^U_{~793sP$$*-TbJ>$@)c#*$fe*qNAMIH6; z)la4ca<%y#$R9wo%$eel7^p7B7*<=Pa52$2L1w#U`dnR+tNFakbl)WO9w+dOYr;#x`=O9K0%!(+Hq{srK(YQ4vLBVyS?XDSBlp-(k(_r;{#FxEEtXKWi8r^2-doo8}oK zK^Wi{)u7OvOxsbzd-~&qPB)HBcWw5eK>1CDf%`k%I2O{1&uN}68EH{P0K@p}q5Q$4 z6po**_5N?LlJ_gkr_UwqSB~j5|JH8|nliM^RE@uPLjT315!vO!`734-4ISa-FrXcy zJ6d0t5{;F<=(bQt&Gl6n${+g)1G%4FKST9zG*H>Rfr7L*=PtJZRKhzLBwJW37VMGi z5jDWN%ODytOufsNN9qoUi3P7Yq#4rgT!%mE-}7uCf{7VkH66mKwAVWTYSx^xTN`z7 zMvpSL{#jEY{BPyRs>|_}1|iE=;b`GK(cFQ48t}MVUAk_Ty$Yd5!hX^ zO0LO{cqZnE+uaS72e|xV6wM)%!C^_zKsO6um|r+ryhbxmG}<^egYXb$sHL`|2B^(H zp3-&@t{FWaqV@rA5G%Vg3CLUGOSjz;k5|(MTCup#hHV{(s@y4&poXRJZ5u$!j-c6) z{0wQ@fS4ug7al_y# zKqq>^>FLp*&xQ61Y=+<~Y6j>mQuTx9N>Bene)=HE;n(q@Dl`@`u*^wmp8rg`F8g$f zVRgZS~F> zXL8J(an~dY(Cw+x=;EEu=_q-6UrUX5(hDu*Du{N^t!ZrVJcH9^g`hjaBU%w%?hhhb zftl%YKMfU|cENB7#YdT*6QZ8+LeyYJq|5Ts(?GkLvW#3lQr7W#P z!a&m!EZVrQg?}(q;(k$CLT7aQ5+3QcUi!Mm_u~1*L^RoTAp6g3uw0Hv2H2FwZo4RW zFHX9Xybji0fj!r}y^3$gN_cwsg5G;busu}|px8OEPH+Q=qUjxOv zGGzjzgABRM-r)AXSvh~QTfX37B5auWQRkG2WI!7t{!s_|vDCU!=6lc>59B9c)CGE~ zB&siIH2)H$dXhR36snK>!qw}V?;=8PP#iVx0Jt~JNW`(RPQ63UTq5%ughLscOR z-)Ut5mT3P6MaxaD~b; znZbD-auK?vWrS-iX;1t$|MyyvrR?NCG<@j>D&kS#y+{4xDzA!dm%s=S?kL0AlU&Iv z_1-iBX?a%MUiaRY&8v3je+-?Fk6?GybhmTk3Z`6Ka9><7NQ+Ip}fL>zRWA#0zl$bW8hfMyD<5R`iyn zwK{URz312dD-D*%UGV(m_K(w)*IWx_K|+2{2eT6chQti3k3Jnj>>5n{9j&g4V z%%@jmdGJd92X#P-zmb>e2^-pxF*3oxnyXL zqDwy^PzdVuUg(`NZRpKR*s}H&YtdFnP9b}@Xne)25LHvHm#f;MNh>x`HCz+K#s^k7 zl1YQ;H&8ILN(ytWVHj3=UkpRS8_9vLwZnzq>6jVB3PqD%O!sKATN(Nz_j-9>1tXsx|T}e#nS>vcw?_tk~Be1sGaGJ-hu;#B05^?mUb%(Er`H?e($UqlW^kO2WlaLWjz!!0z$)7RqTbMq%>1X?4q}V8 zvjmf>Fc%2ET`E7C(Nd&}q^b68ja5Nqc14DGJ37-$WQR2a?W1*XTCxcM7cfwP?9x_F zOV-nT+xleoUDFon=mXNPvMvnZ*Hnd_%`AfU&LEN{?dn;u8q^PE)jT_Ke4Axo>{jAAPJH@tZ3lW zQT-!J1IRM}CW=or`=FMA$CM=E*z#%>O(#GBu+<{)LkrT%xCvN}!DJUR+7rZR7%PjV zO)(4-QzWl6pz%(2wbb|TPR#ptVLSexTSw>3(B(rV%G0rpax zv7{uiNfKfj=%t2CZLK_rFB5B_ril?pEHvUYfQ^! zD4o1(W7S}3wb<^o>KuSXD*}6+U`fNa!|hQd3y8)}Lr<|sr`aaK!3Izh^(w8`1E~|X zT&#Zrv+sx+G)X+^*qlhNmLRB!7yELF<2x{rK+ndXZ8w9PLtYH+TPz@JFNRhtPQybj z@q&lO2FBeQg*J?iNDNTBT9fQVtqzeJtQHdm9Ido9#CjS`VfF)4uhnv-4C%5hT1lf5 z^7IE1hdYk)WQ6q5=b*3x*E zb{o2!c#>vdwSi2JqaFTbT0W#IdyuS$9xC>lbo`-?R!gJp$f=&JC@DQiQoxL*5>+Wr zNC&_u2A=3|^o7dSk(!s< zzO$z(H&l{CqLR#|@QRA3mfI7Hf?e6r_QYD`>9U*DNPB5vBm;NcokFZV0*#~-Nt%*z zPid-1_S0Fy`04*8j&X5I)*aZiEeRUB?&f!iQ&Jz%GFV@l5<#@F2sh|8JCdMvIT@YA z+wg;uM!?8Z)UHOMY2Y5Pkfa%<(2)jCHke*@l=v9AJsk+t^mij}YDx=q*>6gQW#}m!#&S+I(Xr09N^)F^yI^m!5y0vqsuP9y+_8UR9fp)HyoJQxhhp zO*117*8nA0CctwF8U)za!p;<)GOP-2Z_`0vS_B>L>gnh%-Kt7)S76dvJUhtQddaWG zTlE$LMY+%yBt53I1ZAm*vLnb(6q#9-(F;g4^j6wc;AgOb(p#p(2xx$k(Df!U2TB;xPi=u9E~=#C zh}CLR4E2&V-bG#a)vZVw)N4poYS-y{%2MkRAi4(7vADhSu}&iP!HD_AzVCf;X(gPfZI$#LVu>|b0APPg;uKZVcsRL$uy1$~Nl_k1%q%sKqQshPW?+M=87yxCbV#$= z5=p93@C9F}7}OwW!Jnv-XI8w1j)2rcjm2*BZA&Cy8Y`Wx(MhVL0D-}Ynk#;&upV^X znVHy<#JLUt_Li>qNpb-lD7mbIwX(f3__2!V+rgXk{?z5f$RG~VW|@9hjaX{%ckMv& zMi`^`ih9z9h)m1GpyHKikY+#WLnV!sr1>y06?ux)=$x!0xR*4LBmksF*ON4so&e|! zx((ess^ksEqI6bek0k(wz4C=DkK#qqhC1Srgd$THpgC}xvZ}HyGnG5 zw4HY~E9$N44P#QsC#?RovRHe8j%oB@@qZrC}N z6-Cjtt|xT@$u7w?kgeQsdt<61g(2`S+moBy*!p_&kv6RZ2}uP_tc|+t>#?Rw_kh-^ z>wU-&{ZC^DsIcRDTG*C8Gw1=0r8nxj@7bnLi2+Q%_){OGb}6)@!K$V4nADp(X-?8$ zB-C{(Ndh-`Ba-_DC8-0jL#K`QroJ{gaI|dNPb0{FgLH1LyM!Xy1#D=IQE#s6zOs@- zq@!w8&`@+eVTx)e)RfJ2pvgnV^7+pnLH4U(+npKio6G~V>utmH}{Az#U{i62Oy~$29sX3 z!`)bsvDst9>-y*#_ekuNdbbW#+1gboF#tKu;Gp7WE9#^|VJr5womvhiT~2WU+DJ&7 zZ839jzD1Y`2xQX{BsO%}`Ilst0UNys!mp^4<0pY<5HTdrwSl-VE155-?kyWcV|N9L z?yVa5VCsO;Nur6`few!%`;Xf_p+f2@+msRq&AO+d;q9A14d4VR>Mq!KGW0jH(=ZZs z3OMIc)vL44+(R0ot4`?n_-0TNIJj!Bxz`q*7#nbSt!B}4wd~bfx_Q+!KCP4H1Zao8 z4Y*dC_0*v^4Vp+PRk#JU+PdyiiTpW@o2*ano)4Q5w3?3AxG=A)O?rcFFau48h(?mU zLOmX>nnP$9?W!#&t;$I69nfs_@}57W*T5NB5wK^}t}uZpHDG_Xv`W>S^kK|(Bdt9_ zgldQe>x|$%m%GriCqqNW^Qq|ycM+4+0L(ylcdq+#Y9a9LNjo4NP}f5-v<6nF4q$-t zKnii9YE4N?0U4l9IT2cCDwC1w;Mo+B3pnD~z-``AwO5Ctq&jri_pPeRHra~ znKGbs77w;1bv>;q;BUA@4J>Tb#7t$#OTAKO+pFS~bwvrtsTQX<)#4npo<79h>I@&R z1HI3I2E>b$`gS8w-dy!H#REwHhLM=RE<5j5U^i84A_|su-S_B(C1<7*cDAn1+P;+l z0})8ZXPx{?H6Edoo>wHnLnb+vv;{CnI6062jn@&@2pb%gM16|Jb)+)&+(CCm+ph>Y zxQ&j}55~sjs`F0o>;|4Lv?fhzX1GbdB@oo4F?7JnX!q!HTGfF-iSz`CbL`nBRnFmy zp%Dw#op`hGmZtb3WIPNUzuKO<><5hW+Y#4NZH1}@0s17pFo8NihbOR@n#zq}t|HlLSho>?1a!Ic z(-9lDqDZSnw{EIX2$AMvm5|=KKfSAj2vu&Km51u8FRG{_3I=#kSKV2d>eciUS7hCBlw0&MTS}^WxozKS*AV8 z{4paIN&s4frw`Z}E^f+I|j<~+r}a9mg{Mw%b? zg|4SH#cY$-fa{6aVAHrnGS?99Ds5t2O`0Hz2N}zifz%XD#J~Va6GKwHM+nSa5R_QL zNZLvxmt7H@EGu6Rh*}42w`HifEomIs08pgs&bos+L~z95UTl(g2?LLXN81x6T~0=7 z4Xp1#{a#Ot)TZ%lBSHWZ289f4y?k575&?oR;eY7ZT<%>G*@=2J`XWmP6io_=v3s@m zQP+AL6q7zktZOLgboxa;7h<(k%GyIr_1478f@G|32VAU zH*IJQ$>G@$ZfzOn=thM>!E_c2F+#34kmHZQB3`M>Gk#P<3nYt!!qr{Kq|Q7T#F$Y2 z^?{>25%1Iz>LsNj>at6u*0NPCX@*0;aoew#> zo(YU^eQi>d%yG`_ceDi^i$4B6N~9?pmU?6$uBF?pUZe=}ORHyOGy4;mZl^Uu}UN z5Kq%;iYED$0DZ%nrrj2bf8&0ojH_T!+ttfboPchu+GK`;}U}&pjRH3{hU! z+wh%&X<^w0gWaFlnC+{-cSGmm@9<#}ZKQeM))8)9OWf2qj{M zqqz<`$d7&uk&--82`8q|<>@EWLqZ(H7sw;1+q6lNV@Z>2t?AIm5&o0!S@cE1Bi2q3 z@gJTgu@mWECEFJD!aYkGxI~R6i%vNlE=gyqaN&ToN6HE(eag=;+0siMe8aPhCL@GBG=;MZRygOesMsCjhGO+?23fNf{EZ@Qb>-r?pvyf zs1sucMMeU%b>9+_T5mkTwwz-6!1X3nwPCd87(L&cHmx-f#doX?s3TL?lhcsS+>+D- z-aE_1NWLW^uu|Rz3t~b&d`nJ*zGGKK$+*u2b8g0MO@TGyS(QYx(|m-KI4c42HSU<-lA*4;~Z$}M=-leR%_OVTRvjuN@kBidcMoV1FH zYz-X?S}_1E+d72Q0Qfmke{zi=lk|$3Fz1LlN=8i4hI@&M-4Yml@s8!r#LAM(k75Dl zr{*{*P*$@%PFA-}|7Bfol3XWnNwN%~pA!1%^ueuyq15AED4~-iGHw!Hz*0{5+TJ%m zJ|n`pxHci+oDo8mg{eep0p@L@kH^THObPVw0`>3#QEx)aCyfz zOb({fTJwoJN~(1<8jsLnU38d6lD;sAdzh$%r*nttyVRApZRr1m6$x@{qM2lOF_Fy< zI+2EnCBy@LY%Ak}8lK{Q57A9%MD!{HG?H0MP9}Cg8Az1Tlq^a+h43=WeA8ZZkhSh- zs;CRY*;1iK=>=Sms#0(O6B)+s9M-(LfJsdC)zo2i>~_tB$KJN z!X6D)=0NKnC&Px~^wVc8S)6U}ye#pJS_hKT$ugw2dz{<4T*WL9?6ae+Wuv?2 ziAkjCSWAW!F~D|==sImc39n;laox2Gn>KJJk=wc)M-V3%5i5c!B_AZ+(ZXSzhn$S; z=y8s&n`zR6J4=kLXvdJuEuOj2up>GcWel?b)Udj-vbc`PP6}0-R+sRK_5e~Kxu6WH zn2tL-OijwTLWS>{*ew5%8rr%CiX7hw)U1&bU|n`@W`QLvx{91B&betmhb*yn7)ax2 zr#a%RIiE<^;k4GmOm5v`j#E`ojVbkUC*X|9K|M)}YA|^=fwsRP-V9_A7M(}xL>6xr zBOO4y*9X4B4QV2^ZAhFa-s01`>q+?{ISD;O*PB^pkegviZ$0<>K?Ky54h3yu^a@>% z*QErA+$<9RDqT;a+2HX;a$0az>vD)HJb++-NCJ_68NoWj1^CIdmber3LDHzuX9sJs z2$rdKMpwC-LE3DK6^03~FLs@Zj^=FA5;LZ$$q@B72C|66rl|o|O4mcvs4de&2U-Ut zkv<45vSmLK-@|(1iEj3SVFYw$PxpEYSFCiKI0RbHASJg>GeT+=Yd2C;*pka zrEd=H%F+r3(l|>FKYifuEWt7oDW66wr7FD9Zb>-IKu(C5@yZ^(Ggl$U9;IL%vlr=4 z9hx!TOk%KF(9p1O+u*Q5)&joWB@K($MQlwpu&Nkqa!`RsM8JsU*6v}fO=Jd<0d7VL zxu-l)#{o*L)$-UeTZ^uVrAAbgz@)Xf*7ZT+?y|RtngJn>#!a3HRijUht)+#wc0I|j z9+x9pWo7M=2(!^f+*0SJ zCcDMi((Bz^)sng+p{2#viwt_R)|p#3QJgFxVCG#Hx>iq8CoNh^yvWdxg|11b&_ntv zo9;FegwVOCGT}h+4Sh(M-V~u8{gSC@gS+85x-lBygRYNm7ZYH!3N$TI(S@>A8^j}d zil{3^*Lm#HrhYJ$Xw=uvx)zz0m7P$eGIX7%%n+X4u_Mjhl{QRuK^8QS}Y6T$`*N2bn_ayA8%O~+7?FG#6)0= z@?xQaBw)Ve&61MPrRW|*BG5e1lZ!U@Uf3qqX)F*-9%D<|xt~v(oYInj%^J{k_gk6T zscmMGRhQjPf@x6_FbD>2cj49G2$qV|!FPJ$-n}^}d3X*iqRaj6-e?RiT^o%wEiFu> zL{Y>x68?izMy*Wmi8Gxv1A?S29ua*(Xk0A@ku}`XIVeJdbM$CrYJx7>Wx5{vWk>23 zGSeK-`XC)qCAp871k}P;@WkLtOkoB{4!A72-;XFVZ!ogWPt6ykH=f8VmllCjN>ixo zaYhlbq1KRG2rcB`3~dWz{&{RxU5^DGKnElvm3}7r;-qwO3{k-#lcPn&>_X|X#vJ5P zQW2{ON)9ZJI5JsqiLhR-ap_Poi83LgIM_$`OJbiI*0GeWhU;BeS2!D}#Tb$t9cOnP z4m)!=Qw7z{{wt}9gi{+V8Zl5PT4*L=se_SJAh1-#+;*k zkXD$lvR7lh%FBX#lMhulI zSoTF1Y8Q@uu~%tfGAVnVhyG~ojZ3Gq=mPR46fZ)mIFc=ejKvJa3muKhpblJ%qK_0Q znwy~FQvF3SM7XlR)UGKSswoU8`p~&JFtup~cC zg}2NkJBExQt1r+V=-rc5nS%uL9|fB4bzeIHV0wuYB$XP~yC+NXlbF^-`Z{jJz6`Be zN4m~qg0i3z6@7#NJ4A(usOOu zx&crlAjA@+ZtC(BQ>Vjj!d%wQ(NZRdR)ykW@|bECEr16DOGADJOH&#Hz?8j*1547R zVQkrwRQc+INDU)K$bs7%YxT7Uj|R&Cqjm|Suy>CZ)o!>Ysh;4Q^g+_C30X_^0aCwZ z-dy8qEy_VO7?nZqRgbaFEZ2oXL#=_XyWib%2}!NAKz-4B$~mbLWKmR9sc_kqOv|g# z>Xx)RluqA=y46{(w>GJcJc7=B#03d@is#S(nf@kBCn8oBK-Sb-1=DOxkgA2Diz`^y z!+2u<_EsWixpRFao|869)R0)JjE_FtTH+r3ImjoyvaU~VY%vlt85nTUw-MFmHs;&j zStAX<7G*Y6nwk2^NIg7Qk?=8DRF0H|!XY6_3pe#}?LZNxu7|co%(Lyyu_kWU2d-A5 zK&EpPwYzZqAaWQ6u;%cHbqpxIa7P=nk{m6fnOqMiE$$K$;W<1QXA;%5p)XJ=L~ASE z-?{2hTNXHFtvHPO&fgbH!5V4dKI}D|&NFUka!tb6K#i3yH{t!H42ZLpP;TL^m5}ze z`L9ja;I-VfMa7xap%$+?87+P1?tmUu(Y!18e0AN$^nk%bp?inzp@~k)7P-toH=_oU z(b0FVO;cL~ou0}F(RWpgP@g7FW3^VSy6$dT@VIDoNAR+u7B0ywZ1j%rz{esTrcb&S zM>ihwx+A(S6{Al*O05W@)%yyS*u z(+!Et7`A{;Vj3g#ytb}SzKXS3AF|Pbl8R@gH37h;o9m*12qp3!4F26 zJRj0bv6abqpv2YDH$i)4VkmggBthR<8HbsUZ^B6f+zC zY6LO{e0?$-dUtG*AkkRvh1iNE4=oG*9g$7?Aofb{T2@ELGE$#NJm$dmFkwllQcqTu zNPb|Z1ln@0UfOe=P;<06dd)F3o2?e$R>|#g^tKj<(05=? z6oYG5*ae*xZ((;hL(;D*Qid(QP0I@|yB819#rXt|@1)DEU$zh# zCoO2|!|c=|JDf9DN3{{}!(D3mk0fb{hjcx{D^|=$`ZO6Ax<0y1rG=Wn9O8dm_h6DN zl$uu(S80O|?$Tm$YmQMIi>-!J#l|I>QpdT(Q?ILW265WZ7`~+tsu*0as*}@zq#>#$ zbv+bGvRbJe!xPN?$^DKiP3u=$C7Gr;`LeW~Ic7jQpr~4x2X}{(*v@MavKZWxRf#7n zL?v0GJ!71<6GrqDsm}U^Bg=XcRfq($n1gWz`MIaV5oJzw z1B4wVYPg9zx{>R0!O1;z1bN2>o`psv{zciEJZdqoz92DyUi;O&>=C#V(Ww zcG#Um>p2YMW|kI=13c0D+mez{cUC)TVGdpQV5qncw}PqSx;+Z`EWk@DKFPdDiEvpV zm=G(K&4sRenxJJpkfe*lSM<9$c_`VECWXDDHF1X(#iSH0k}=O!S1It5mShV|xcLWH zpzxm?X^O>~9^x*VaLRSmr%?=#OhBxi!$S>;Y&|B02IT6k(97bfP62p)lHuT}T z0VtrwAOWSb@UDzxn>4uE8Y<`bTDJ!p^Yf85VVU8MDhxIS-Jx5{tvMDv_p|}0f>){!Tt?Lt8V*tr zEN@QNBd||WOhe{7a5{RkF_cEKNDN1o@?2ea3)fm1kj-ycD?@Tsks5BO^F5u1#XX@z zQ8-MA6U9*-8$CjU)VnvxcaCgX;=>eyl#%xWW2UFdVTf!ib9vD=mqI*yzym1+ttfNG zxY0O0I4GhzQhFkCCGVSZt*jUWcWiGdr<%CXqVSX(-T{%xfd|5aQ4v)l)06~1U5{`m z@M{(CiwI@og`W!V-bhrwt4y{9`T^Nf_>jl~t%|WM!}%wDL(-aR@eAWK=IQuEy|FwJEE+$H4^p#^?dUhPvFkvEnWRns8mp{KTCBW>}O+A9%2g zOooc$Ju1_6IZQs1ax9YtyyRLR#91U2%A${S^5)fik*OH(trY<|Try`z*QX5jXvBjF z)(bct5mO-Vd$cBE`mJyzb$YcmrIpsP{JI?ONZhnINqciD=!0-%)P%LI5$}))`8$(P zM+wM4mI$fhV-?{t63Yh;2UI|7V(%s)YGsQ-G=Wp%Jpq|#nZ%?VqtQ*#ZJr|o-xHNB zE$~gFYgTx5I6x_H0Zzuc!np zoQMCTDJ>=dN|vXuBa4xvfHlzrYmN}M7A(=;A?Vy#FLd|Pz{DL$8$I3GYIo0B4JC+G z9R;If9SLV#r@GhD1UqX(o>&#$?Ey|_U8A>ng*RJ^K=KhCeY|ToPTiEmfv;1y$4b8x{D7j>M#&`i$26C-;EVnS_ET^=E4NFtiQ0iJu7P$93qgA7|rcF_`!9p z%0ecXpV)7Wb@fe*4rdNlhD8`QI`twOQ=K5XVok@((6-n}=;S23TfMjU)GY_|i!>B2 z8eW+<%0(1Sr1k=P3=Hzv&pud#o|EcLVbEm#Y#;c^1;~(&XgVZx)}z)BadaM1$uJbA z=sSy76;xQlXrwVkD_H^prW`VL1Sq^atgct18AIX>+fNZ7q)v0PWVyPrdem{&yC}*g z6`6JAD~3?1iS&~MX_=F~bzDtStuYe;_m!ze-bGdVQcnQdOvcn*H7&LH6R+_ErWP2l zbUSSynlG`zphFZ{e106_n8Gz!gOr7zqqeT3eppas1CKP`XVg6wV&Ik-UPEVRhfYB4 z>J6!cRPN{nisP{dKZ7b|+(q8s6U$(?`=z>s&mtj!XJxyV!YFGHnHYkO$l$T#B&n@oW0G7Ib<`xt5a#cq zk0Xd&HRTv6>DCW%tAbb;qtX(X=WdInSc0EHN);{#YoO?cHYLksQ-O|XT@lj;7aNeE zk5bBJa_7}(rm##BvPEq?UIU3XY1RG)GB-}M0)lofN&}%IaK$~%z0&?Ay_2Ykp={0h zqhh<%XP)n!LgyOE2p@3*;g*f&ewH^fk$5H6sX*B;Bi@bD4xj)SfYE^uvDaB5z4?)% zr(S7n4VcxCki@1?xL|Bpc`$cDWv%ZLv*B*RR)tAB>t~k^rh%gpUoROvbC0?b9p9?> zTPpneXgh~B57-f*1=7f)lbmJTknM}_skB~qZvTVQMM#6N51`fI!Lo8nL!3c#ur6+H zma$yeoTL;-V>WX;NHs9UWUxkQZbsnI9;}$1xYQKsSfzExn7|bx`=*MvXjuB3=(uFb zLbgt4Nw`Xzp2!Xa^_+D_aT+iS6Of8iga+|}Q-ww*ZDk+0E2{>E%K)lu&D@oh z;!7QcpB3?&DO9b_KqookFz=>NwWyr3MiebdxHarb6GWD4iN~NCc;h-$YCa-k4g)Xx zYL(zz7-td?gCX3HWl)y{Q-Fk+qWhKUn$%U+jlnZVLn{gwC!zrWapF{(LeUzrySu>( zBMIA0O_U$i1i{ECo~&s}6V7Ki1oH%CYl;R@rKJUpz)X_4H$=}T@-%wDdPYhhr|9B@ zFH7r%3(5Lb&T5tw6qLk)K;W@fOX&kp9jKb64F%h`jnKjb`~>z@Z9vy;*ogR*2se|8 zTt%CslA0eX<_tZ4h{i?a+0n|SMeNd{%~h<@oKVsrkr0#uOp$;!a5hyq@{t3LH4RDw zwNfPnkW>%=&D+@x(Avp600KonIu8rdQ^zvr$xYx5I*%=Mja9CYE)Mu!Xj+C~E9L~I za-`iz7j-!lKNG4X69vHi$if1fb4+|;uI#CcB=8|QbntdH)+@+gyEhvc(76%R&gfWE zk=YJ-3E4i@KgP8VEJsdGlwL$`7g;NySpeABn7`k8#kiPj;eN~qaEYw{i(7Hj)Aa^E z(bGRPz^Qsd>SQYRmeLZfT1rd)vU9+IrK0-^0Hht7Uk_YcZ5>ton`Phhcw&1)f}6If zSiq^mHMp4?>wJ>F8N@{^@h*)8JU&=jA}j`CZv}ACp(J&E>``P#dSXV?5wZ|#;&D0= zsGapTA}Fd2r6m?;W}}6g1z0FbglH#TogG}wKq!V{cXFz&hewh)mN8FF9_nXjeL4J) zM!ax7wU+Sgy*5a9Oj;jFnp3pTAXL)XI}<>sg<~YZ>)`GBs=-tzBGX!jts|5=~7n zhd%lxAWiU(NckYKaBhKMF>7&5ZP;RlobN#;YADF1vA7tALioB$i@1^GLHZyKL_8B7 zuM_cq;C=9Ew$@d^O;3Y{;f%-0Xq^Jm2lzFlOW^|mAj8rBtpt_aP`svtHCu3pH4+g| zDj|T;8W%*+g@|E~;{9CiM;Y|5oLG8UNps4}Zk}|7-lb^SAF`oSnY^`0)7s&G8>sw0$Vv zSv~sdA3p!`7ay#C{q1KD#-cdg{FjTv)6MGL)5lLvj-MSqf4BJh*FXQy2mkoVx4-=8 zv%{m!!+$zCJihzLKKtNrei-PnVN?_jLV-&Aa!uV|#pYbaeLO@ciB4$@*-w`sC|h{N~}a!_%|#LQ8kN zdUx|DeY9H5_y5z`iQbuu>GM|?rTGlL?BQ>JfA_t6EAH66>w1HYM<*{|o*e7R!{aAM z7f+qgOzHgMm408X)~k*VC0|NEWQM<1{5JpSkZhnw&Gmy3%(*%iC(ht==x zdtP0fpRLvp&rc4R54-g59v?o}x35?4t)yq@lD$wGpb3$~CkLk+4fWvV=KRIU)AW$8 zTpXRR*2hod_lIYP|8=wacvY`{y6Qy?y6M`<=}MEWRg63J^=JM?SLb-1!D|zD+rkn3^V<}M?>w|(*T(c$`Rm0tNKqWfp&H6x+3%D$1@b`a3Z z9>lBD&H4HF`-YJ|x%HH!$M=uNNIW@OpPlVl!cYHnzWUkf=f2rL_~7f!tIhiSk+%Gm zEpwGG^znD=)0Y>oR`&D#28KF3=bpop~_IIE{8X}cZ0da*t@ z+Wc{Iw36=A*~RZ9jZVHhFqZ8~yL5JR@@jLiK7KClEFV@o6LPu7%4_MqT>t6dX#M<* z-<|F=iNw`vcj!h}|2?@l*B(8PSX^!8rv0W%$kw|D2cLcZ#is`c_arrWr+4pdAA>G8 z?X152`P0?A506fsBkg#^?(;8xad>uq^89rD(*Az!V$m$<$JIL9(*4)GSYLCzy?M1> zCslu3vbVluHw))0QrS+=?J>Pf4!=eKA3j_Cn{xHhN2_=}QQNWxO!1H@*IFh8gm1g5 zd1(cAb+6TadHzr|=37Gz+jlSG#v{mYuITdHG7qe4yEQ1EKkjnDB=@yOuC@uD;G+ zOLhw(d?FMn089z1{k^s&1~UabGPIe4*IKi!<( zy@Mm@{j>9jFYer1{kQ+Ny7XDPyyt$&ual>T$ItEKC#M@!$(QRtY)prGcV^;ue-u)0 z{<&fQUmPE5jyDgVyp8X8{r(3CX}G%o+q(O4|Nk|9-U+krPAvJ0J4Nx1Ope3j&C0JG zY|fsnUv2I_zIgU*BPHRWyp>dx+ z`=>kiS9dRt&kmm-Z=TAOJioWPyQOmPLx0?UP9Gnfou3|v!hx*B`AdyrfA7Phc>ld( z_1@~y$*b>A51+p{Uja}2K>uo2zfR-5zxw?6$wO}9|Nn4!CX@H@<>oZ5d@B=cb#`)b z`ed`>{+0fGb$as0!>1aY%q9K#`1{MmR$rd1jLO+cYB)q*N+NOd`H5`D^W%+d>Sr>j z*2mwkq)VS4KDjtrpJEccI+3Zw^RkXl*T?6Fo3qu)Gj4>;A7tV}QaZo%xU(~jKvWK2 zzB)SGJbkF4Ze+bZIec}vIX+*lpPz0v_LWaJnz)x*BWSE&>Fy`%$A?FU=ifv7@K{56 zne5SMi^)=0x=7$>jv%lc^ba`W_Xy?SRqR`hImG3zq9UQ)n-E@yb?2*LNn-{typw1~Jzfwx;{(#S;YMZR@zeF`)BENO*H?3Ri4k8pXI!GsOfnJ(Ftge_8<}=TERSS%`hA`N2BC#L zI?=bnn@~DF(IVOav_R`aP2c+beEsBwSV9-ykNx!d@zc$pAb(=-biRIkgxBKeOV|kk**pBHx zIpV7h(}I6_a=uCTy?3;EzCL=-zv_?cqYF`ZvOa$I+_Z&N%S3b!jB?s8Y2=4z&^g*X z(^s86IGi`FPQW1wIPpf>7SlxC{JE!36B4`IX%-P-q$^cy7JxH$gCM#TKvuW zRD2*(N6$}AH7_sE(k!0An@=F28A7zpZ~b$I_Swm)-eCM~-SyI-R)02eSKfd9KX1I@ zM=Jl~RI2;0|L2W27?t||>;G9b_b>m``afOzr}$w$_kOj0E(aCY(d+z!#FNjk4r z>9|avuby6T=$ zC*{sx{F?q+ZD;K(lTVTkj}On!lJJo{KgW%hWL^?Y5?1yy_mk+<|JIt4vp=l9`uf4< zX?kH7kXu=JUkBPN*)~j!%pu^Jw@reys}0}YLkvoBases4ih%pBim8uy!`ped!`E=?^4$(#dnM6MeGAe#U~%_ zKOEjmI_d9!T776df_Cs?yRN*YR>s~lsV(d8bc!85+cFEsqAl>20gcih^=)ugyb!9U zSTCkz9RvG#)jI2+Zq6@GB@@cTxuLx9ycq|Fq3|S@d48f*xOl~4wGS?Fqo0q(;qeix z>3lQW0(Mj$o_)bvF$s5fILhbaKAX-*c&|uDr+vQu(0;%4#Oae)=ck(B^yp91Q|Z1l zy{pdjyH3duVSe;R>x-lF5B#lH<%e5yB!1q1Z}q8``+M}%=N3>P?s3FU6{kLbkwOx8 zsyl4D_uiigSWKk-fMvRSm#mGu?>%^shI#Ma>SqY765q#KlVASn=bzo%GYF&6yagKd zO*F1QcYOwSrqEYrcMkW=*YSx>(Sw+w5ORmd$J)nEYiFvi{@9R_7irXMd(%(Kol&kH zOZEQ4p4GZS;U9tm?>T*zPvNsmW0-C+hR@pFF^oB5nAvl+GlsF;x5~ReKNOc2ze)q} zwOf7sQR17w|NGczM)y&DmF^Gr?@N!``&_-x|B~?1H~;bE@To=i50c_>e!vDjI6pby z;@#hT^2M(|U4?C*{=$YietzHODw@h?7NmW~zhmQ@ywGzxV6N`|_rj(ZZzpMRZ}s&z z-+ul1m%ljp$8W#Bo9N%W>9J2GZbNRYemXz-#iw6xpG;Bd7uaTZ=Q*1n-`x&L<#~dv z-&vkn?47-kZHNJPy0#kpegEb92y-tAT1?dA2`_pGIEdGOIS+vMsx{C?*^gnjwi zk5<3_^7DgVee$0Ue*UX})Iu>?->y&bf0*I0-5ftd)PAO)tCRMAQn{;MmYg{D`C5z; z)|WK8m~d?_Zj(T{^1Kh_<200Se*N{qFF*gqFAu)?_LHx_MX+y&$!A}D^&byD{qi67 zo!SsGIZMU|;_k`$Rt(>C%=r_TDN?5|k+yL4p6PNf z(8|4g=iQqY>#|$Do(Fs9cfb4Ho!7ki4)Ndp?pD-)_h#y*i`3s=p`hdrLCl^#qIke_h!W^ZDYmE)O7EWM_+OLZj#V1kPVwHeVCXH!jKTMe?;} zxJ+ELbH4X**Wr9>ku5*sALy5=V8@>tD}Dca0%Fwr9V2aro@~ zp7j3fXa2o=*+l=|X#Q$__J>`Ps0!C8{@~`|4?kvB{IBwJL;lD7+uO(hd42u|7~=i4 z`oF&aG5_PQ@iXUt{4Du69=`av*ye=gk;$x;33{uKR+UaLBlqC~N|y+l zKaKG`_;_cCtG|^cVn)f8uljg({pNd@2=X(lNt-XzEv67jj}0;>&sKkT^c02S{DhpI z&8s{2uYQ*$NBs~^#}X&xN(?uO9!?=E?aL z#q8xT*Jm&E;U}l3>+kj7&yUYH&rug%es*-ShWa<|q4i%5^qpGet7N`Cz1TcLA>>I) zL*kDw50CuU&1D_&3Wd$1!&6J2`iJ%TT5{>)$+=~{Uz*14JQ#ygA$mXkm-CEYk2l}( zpF{1`<8yvHd$qP`Qu^iK@kR>fX7{@f4^C`i4vvqwjeM=|{rAMaPkdlp*;)F_G%Q=> z;CO9=&^P^o|6Ux&Z=SJw_|*22&7j_eu&!13+Uq9I`8-Jnwv^wbkCIxN7C*h)hdWp7 z)vjIecip`{zv=G9c;j@9u-oPLzC?JlIo|#I<>uwd?%!!6Znx{sd~L~Nz-<4TXYNCB z{Jtspa4S!K@#(i{sNa5i7cbIICgPsmy^qxDJ=?+`?z~Ua7>fhfrVj+7u#ALMQU3u@`E|v8w5=;`EYj<9a(!GJ~pZ5)O_Y3^;`QgjWSr7;z znkMz$rSD|5^!|G68HJrkM|XFAwPg?ST;97RqU-y<`ZL``_L0e)ZzU1$rW;vyUdcbd zVcgv7cYO8pe}C}#m!Ez5=-X=_-7rJDVsgnO?R#u@QuedJ2X_{X;*Cq6?)vbC$@ks$ z7Uuafe^+l|@^`nQNbYX#o&Bp%^x&nS@}+J0!_{mOKY-9*lIS@5I_W6IRzxe9QU);U43UdYT z&df@6Ax-7pzNy*$)+_S~@mk+L^;~IrcrLfNGYt%`k5{k{!OCwG7?yF}PrzAV3 zue6u6uMAqxsHP#OH!N(I<@zY?$<_MFlao_C8Asn=N@U$VLSjbEBsqQlB(~Fg`s0st zwi2horOkEujJGSX?oNWhFWt-(NZ_Vp+fZ{ELHs zjALZ=Z&&5&gBwm4Hm~2E1nRC-vr)b7oLhE2Ejv&a9sq|iaZ8BLGV@x<<_24VpEr1- zt|VC{iGJA(z8YQIa)iwKG*e=G{eE>WXL0)Nr{8>gH)dmfx_LHhfU>IZ2dR74(w}@b z+^w|VPjYj(Eyiz{Bdhrds}YKVrOng7y%ub{^w&IUnU{M$AL0h8jx9-(FFSD(zkLupNog}s!Me1*NcmM0T z`U;)>YWJSuQ*mSMgu-}#V~?AO^q#!}bi=uJy!83vc{-mb!qUhEfd@;2<}!Ck65>hnzNiVFSa z;a;DYA2RmdpO;R`jr{!j=az5Md)E(_E2J-P)!*+^t=@bpUON$&NwGJ}g8zBt+`ld< z_T$!nD_j3Ii~9D&#b06D|8Rp2`7i4sSf}vt>m3B9vHmaVAxOITau>m+c(%}rJO`Gx z^O_m3&-35^HQ5xn2Y&s<7a#5sc^culxwkL77M`A5fOwE9fhsV!SG~kk)ogEP*i-pb*$t>4&hQ*w-cf;~?EkJSe z^FDiS%3jI4THX1(iw{PfA|YUN*doo&nta;*RqsCyrg`-v(P^DbZrkR_fwXfa@$l`-*Mtn0r0Us=lZ&ILhFxX}ua1?G zieEo5DydKgoDpwy5fwC7CG=GaRllN%1}U=AcjsCXFn1vGyNiFTpV!RqTR5|J)x1j< z4^Q0?CY{xZR5AFv%;nhZdl-6~ODwJHqmQm89`8zln*juNb&dPi%b#vgc6NaV_V2c| zQi<8FjO)XkVR@$PO#}1f>A&zDJ;!>%QoWUZBH8$zXUN{Yv|~I;FlDyF`?}H1It%XY z*ml}ZSY8PQ((vL=4AtkVs}%5?z#*DV%yrQAVg>tl17l1B*ltFqS2tOMqW0kpyVG2GY|Sf~ zGZvfJaWTxoGG&2Z$}TQb*1y%}S=WKP?)pyEdTFCOeO_$ueu%u~YW8TP0M4WL?%aFB z*tR!oF7DhzWBdMXvf^E&-P!9I(S-21PLKrIWQdPxnhn6vg}AvbuC3dQ#pq||qBYO; z2*iBpE3v_DW}+Qsc*l&?hnSEA@2{qlUCw3L)tRZ!_)FKphL`5~?#XPPXk&fj8w>mb zoBdR4aJIT@ldn4xWS3#ENxw>Z6kZ>5871SzygZ~QCDuv6j$dCq{@%%lC`kiwsYe8fv@)t_KpqfLa ztPP6iajLoj!_RPhUu~Wo8ltfs6z}*z0eVfib~v)dJ!dB`!!f;&b&^c`%Vz%mYxU5} zR^N`uiPyiHXgG`gD<;CO;J<``m9x5+D_cx|*k9P`alt2nyGnke2oap! z-{Jxr2J^}4#ffw|v@I)0vHCYJL)nQ&Y|r+!{;?zCvMTxTQjv-)!>%fXzj4z%~C-BkV8-gCKz;HF#mBvkLc?@DCr#&6!te*K$nA?f@L zw}el4o2a~hR@1cOJfZv7-DU2?Prmr#t4Dj6=`y?i|Lncna$85!DE8lqPq73_0!V@o z*20+-Wr83e)20rlXv_X28Xrh5lCVes20$Gw(HHwJRe6A1BvnaOZc?=$A(e~dO?Fjw zejrcYV)Ya$^WP4<)%}}V^~Sh9NQrH;aOXIHp>uciP>0!M9y>??;~zz*3|T+K)epEjBwDOli*Dbc5|=1dTm zdlS0My8rxWk}_{Xk99a@egx@4lPJ>Fhc;On5=P_pdB6Yqa*#2XGN29N6`y>7wCU{( zRTQN;hyV*mnh6P^zoZY{3GKB{_Y<0oiq;(gs)*W6Il=B^ptKmim}UiKZqpZDJh9|& zpHx?R(AxR=$&ZgiD<829)7yHZjELoNVnNo~*sJSxK)p5;6o7snBYN=&)bNxvIXMeW zA2EvukB78~s)yP)onaRSfe}R?BjHTkkJ1^jZ)+DcAr8SqFi?`2WquY82gVM^IQ8#8@M<3#N7(-}S#vp(s}?BrsM)th>0g679ZfZ8eMb%WxFRO!y*Q22_uIoex*yqV8Z98Fx9H`_UR>s{fI$F0Ywzfy^b@`N90YBPXM8%1)=@ z+By6f)y@7^cCNv0vChdDZaC>E7Av2RH%mg&;t6H3>LwM*-Ubvo=yZqEiqx8%NFt@v zfpu4mSzE{SLM1v}q$u~bN~G{>EQvuqSEZs-s$mFUNWd*=*E`-lVJ*!Z_j`Vp!gCZ8 z<|>zHCFrg4({s`g=?PYyPdZN^nG>cUcu#YlRRK*cRH%CPG4AywRLkp~gl7Aqv3O>ZhwX~Fjw8v#OYk1@ zk+<>AUBuamOrvQ6ZL#|*z$@SH#Si9Iq(ve8(CeNDp36qvohSQf$n!J0IS>@1J-5NY zf?gZ5jWvbPB#=PKuiysrF;9&#&R}A97?LvvUpq^27C(!@R4Z+URSX6yE_>Ezddo1R zDd9n)8>Ti35n=W8H%RY7eDEi@S%wp_`%&y*2X9%x145%VB?F} zQOg$Zzgm$zF;cObO|LdG?81Id+S}k_MO8*>p3oX={w3S~BO&`}dz}quLc`JCP8Ze) zHaT<%TXo*?Tb~mXjr*_t-iVTR$*zY{(&Dy+PO;7#iIDFiOKQkQhGr69zBvg}WpZW{ zDqkiyQKmA6PGJO(pw|{G4!gjJ^jcarBeI1YP2&Jpd2_kyE9IuNilr>`y)WLxNwU^N zT|?w@ZQu-&H=fZ{j%mLqNeSZoc04JLjy)`ujly#Syvz+p?xkc_nTl_u3f3)xlUlWr zF%$N`sC@}~V9_<35?D7xPSgO~lby^ZagFC7dMqlL8M>w$$=X~FIiV37868^rQmsjl ztf6Bz!J6AXC(6~D$V_BNa2oPWIN&(M`-DysXU*1x8B6kyaW-zIv9k4H%Dgj3Mtg8G z(NBqV#WKK}M%kLs<%2o))(wT)y|}y}Ck-=12biJH>UD9x0AJ{ty~Eev2E)y?;X{`T zyAX(p$&9kEnz$a1CWY9hab|;$fCl=CKfW$oVt9g_;7h7i0v%_fWY(Y98E1J#roAyaKpgLlDS!DJ z9=F2#=GyRi8yhb}CGLgloU0l7@q7GM(g@>51ZxM*@UoY4l6^4sWuSq<5qFm6&T@wb zmlogABz0M&@tg}+nw$-s3|748jsskcBDMg>gIy~7{J-e8kdMl7-}%D#g=sRSEGJ|wLOG@MQ* zaJ#LW>r;rDqF@ZtexZi8j%B=o0WkQ6hY+TsT zWD>LF7AnJp_)Qt+8SDeILiUMeK=8-@o4};t#+vU`1v*85^;M%*j@M~=9Mnj()4 zrf-=SLG!gCnRb0e=>CV`Ila)lS5Q-Q=3Xj;m=Zh+pXB9q zbr9D{&zg|`Q>SE{M~=zK`9JesrI-)r|15gm*ZiMf;up>JsdHPlA2pve_v-sk_u4-` z*-<^C+5Wbz)33$9)oJYf-sOe!Vd2)1zOLly_psQIb#C2XcFa>}ba`~-k47h#=Mb~I zMG2vs@6I}xa7joOum_zX#884MmkAM)gpHlE?ikk+p#aL!94w&Q8(p59g_34#kZf4n&TOGsP2w&lX99g(^?)SQCR58y3rL`c( zw^i6>Z`3`7bINeJ<1J;H3f?+U+JQ|@ozd7Sc+O#WJOZjB-;B=s!|^S=fhhP9-bj@2 z5ilOUsp2QD(P|NwXB*Q^7rdqXJLnm$R%<(e4hhb;9zTmz8YzHtKF=YZK z7inQ4p&Wfzx~v3ANrE^_xC0wl^O)Klx7gs(c6b3}&Eb3X&WJEj3Nb}8m4lulW7O}* z-Ss3?NFt7?g;opDCr6K$Y0ixXSa6V(ql<_}ba4X^Q-~BrNf0-Yzf;s7n*B2-01q}`lDMpxH zSm>TOji*mqJC9zb8;$gVv+<{M|MckSzH&+LG+Mj$N6(#=4JYlazEFcgT0LD1K7N{a zR!>il57P@uB^MUpv`_oY@4$S~${oJseEjGH-qGU_zK_q?)xYSxR=wj~kxQDJzJ}xb z^@qQ>{!jnphLhC&I={*NzvLB*Ua0?&0mjQI)Wa;3?S(Nu=&%@uJSC(<+9}h$O&sROzJb&XQQ(vht6Q*->VPDhv!yS z`U!LY5YaLVN2=nJ-NSTTp|v}sQU3_eLuT+XPWshUzpCf=nWd%BO+q@xP=DUo*=bj| zcJ?DTPlg}3<*jBmCPd+ucbj3{g0~g(Y`3YMILw}IuH-Z~V9HIfx%4}9OiO!BEN8^ z8y4=m!Dw(OKRW}RZ(>7<>ej@q)?Dyfc?Yj9Kb5hfZ*v#!mm%}0KFNnOblDL~vZ8q4? z1MIl6TW17EbmA)ZQ4>LE!f^{Ql*yuX>!g;_WD|fS1mz@vEUmI>Jg}O(Ias{pGZi zaXP*C%g(Bk!GF`s_tW%bN&OEXE@3c;lmR6uY$9=4{mZD4ssPoH@X;=ed;e(<7CAzn zsHS~%0(fv2ZF}S^CBeOLLd6;riM=NDUcJup>!09?!YHrdsbJ9I@-PP71j#74Z8m~} zw_-Ae8dstcNvo%VpzU=4L7oa$(6kHIY6$JnKkfF&URZ^_?468LuU21vc(QY#n0VYh z?T&4HJ_%zg|G>q;B4_X=zP<|7MkoHQ*DtNFgD>&*LEvjX(P3Vv0ANgf zeyCA%jEv4YZ zJEaBD4;iP87i+*-S+qFIw$42?jWQH5TFCJ5V~u8a!iScWWv^4G+jG`70)5Y7dWOl$ zNNr&|M(>xFm%g!`NJh4L>?SmxmH#uiKyuO@d^lJ`hnbb_l4+3!IzrTqQ?H>$ebP;Q zT2TRdX)h$-yT@OId`IV@6G4u>zArEj$T}(czJKD}J;u8{`hDlv_XnwLd`(LMU0c>y zEb)yJRzo1OZQ!m3XAQR_(`D-Z+qPU(kjZCZSu5}@bK&k?wm@L%*MpBh_bp~ANj%)J zO7(d!6%e0u{ROiW?~IdgKBy>!M4RX5c)9wj$wjf`-J(p`(k6O_yp_7ugmb zPKsicv>qu))u>ar%4+*-nLb75Z~0hig5sTA5@mZ>4qSq3|AKj0uNIoV$n8{Wn5KF*BK9@cJ-9Ys+Jazus@4-4~`tB$lNaZt7?zFcQ9YG`Q z=!$oD)5e%!#piEPb(R*fb9XbRAkvZM;Sh*kqqi8P%dRXlP{TKnqq<`a2A$iA&fd|* zAQSM#nc`Z+e#{`dko-asr!Xe93#~&w=54$mn5YHw(S(qli?eEBY14FmMq%F;VMjgD zaJdqE`1F!vSQ)29G`IQSOwgiO?_p&nxe*jTn%0EaVpmr`M^|BIat^I@qJHP!qMeCz z1aZ_ep?*V=gH3CQ{20cdA#l?k42I7&I-hnvIxpST+QG}b`p@!`llc|@q8a1T6cKz%jQ4s%;K>}_ zXE&HxFic>QXk_sM%2a-gsl-^7fXB~=OfqKUZN_|qDUt2j$9!FQ94c?>!e2utLj5%p zrzGiI+QGk9oXpFnf8e}ad9`}*4Lw@=W+_z0$M{lWJ`H`jl?S4aMQuBy{eiVgxzRA$1rsK%`&>gODcRKTGWK<}0PsLXXyJu#PSU7tBRZ{?@@o z_-{D2Xf=aFi=d&iL>BEYuj}~Ori{v&;`dB4H}jfvUPZF>U@VTD)wU{XbkrI6nTR&c zmdjR6{#U6T!YxW2l^Hk>l+g*tQkT)-q+h*ChYilao(Kv00N4qo*q05#_G)BJ@NVhz z4&E*P3Yfvi6YSzfZ@c58GoT;d8NN*UZ!5Xg8eD^TrU64Jz0Y78%m<^`2OKZZ#X`nCzolM9(Gnw>Z`4T55+6S zqXG!?^5CPCvb5~nwK=(j_08g-e!>>H36sj@u*U)3Mk-}4HJIP5lU3sre6`u9hDo}d ztoE^C=E(GKN-#K>mmxe`j1M#4`;03~ye2T;X2dQE%()fP8D+W`j0q)2a6`e~q?m93 zX-R6~4mdqAEOo!Y{jVc)13#TKak>`+nx3lZ118yOICx4QhR2+=Jyr>7h@@ z8V}*3%CU9REEb>R;x`fr(rGj~9WZ^cAs3D3hABrKAo6-Nr3^Rsb4M*!u4whVuVY2LRtQ-5iC3QUa`SFLdZeDobD~+AG^G}q($Ens z_fG}6sJo^WnKvuXKZV%OOr2Yf zqfSoyp+(^9%lRl;%oWrymy$j}i6$RfnI=unGPtoT;?0@-V{}QiFX<-QRHRNiIj?e* zOZv8ZejfBm!3%|NIB6N|w9QRUa|uP+nJ#C`i3$I+)-smYlwWOf1yHuQ{)tWwfP2_5 zu^N_#F77c-^f)o2PC1ctw!0(DcTR=q?2hOruLZ6Idq|huf9!S7KjtAF8x>|JM09I$ zX&iS>z*Wc01bFK{z6)NwAG&v+l0IPBT@;RL++M5U6w6+PCjs0j761t|kgCxpj7rmY z^kag{&?(OVorsyWN_LL>{-~E8^HE7EPk-z9Z&Yu@OX4p&W0+?mX+jsdubrB8qZE~TeiNL@*o%60x2EUj zNFTw�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®htgPl_x_fFZ)}N!t)ax29 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 V|3}{<|LWGiM&Mr~@c-io{5Jx8H+BF3 literal 0 HcmV?d00001 diff --git a/vendor/gems/cache/launchy-0.3.3.gem b/vendor/gems/cache/launchy-0.3.3.gem new file mode 100755 index 0000000000000000000000000000000000000000..b915520e1e233d5316fe53eaf50b9f07713ac01a GIT binary patch literal 15872 zcmeHuQ;;T1v*z2LHl}Ucwr$(?w5Dy_wrxxs)3$Bf_PgKN6T5rj-0a?*-M#qpCaWT& zvNE$O3mNg48o3zJyBImqTX+KgtBCO*VrOLq{2Tv={u5_mWM%rFvVWH|v9K^R0SFoY zs|@;&dVf3r>`@hN{Sk*u5bWCDqa*E6jzs&sd0M4W8JU4*R-mV z;S^F($(7WM9r-v*6Z~CSPfxG4w)VR7JJW*V+mIPJA;NcY+qJn}>bE!c-PzOfCH*CL z!|~@22gi5+G65X%l~my>LczyG#DRNjvd%LfPa9AnH|5uIBBkyH7#8O@1Z>iGm+Co> z$qECLyYPuY1P*sKv1PF`Opawd=Otl%SPdhbu=tU=E3Z-ATJ8l`sxw>Dml2{t&3u#r z=*o#7{MKx1*|c?CYpdVv`BP;}qgjfL+00d1mD+aEl{kX4#N|fl(K{Fe7Wc1mkN0=G zARnO5JB!P{gTB+JQH4t%NHgSLm&h%z+8a%y{W|uI8^7xBZOiXgAHajtSKV4u#tFjZ zD!ez%<&FVCYaKAArbgo;;|b_w{flC;k}PP{3k*;_Gns5?IdBSXO(&o$xxmy0J;|{PtkuI*y%ID*#7d zglz+Nh2+~u(BlOG#G4$sP0ER2x2!1BYyTdE-de?~6_@Ij0H~?`!sdEVKnPP$UCfl# zp)F4iG*~2tHw1Af!Bk_=sNjI8Ldu7_;de>cHnCHD#| zT|FCTV;^3#4Ne#jKw>dEIZK_Ts_Za)?!|)>WbV?x!lkA3dHBOZC>Z=B*d13&Y#Dc2`LW!kWqPGONW?nGRK6$RsC`RI4$ z^9&FsQD!SW*$ao?B8nd{?6+k{2qgL-J8c47v?Fg={PY^#_kRLIa!#9!skxji?XC&@ ztmZ4ipXVycBSh5+6UbGM&DugtVWA0J3ztG?$9}C`vBKlnn7UT#jQmkdoyw9k^uS@x zlWGE%&1vAWXZvG33nFzy z`UqWLvf%FJN5TID+9b&G*{e}&q|1Spy_sSYiy{BSM*4vY0}^oKDYi)5L+k;U$msH! zu0}3|3T9GSPl=E)DPhD&W>=2FG>w_WXy%jsqtv;);2j)wL6(430l|&m``m}~+{H^G zXIu+?s1<>;f0{+EezzZ5#O<`+aFCj2WoTYZ7r& zNS~GHSBxj-@BX z2b+;d9+et1xn6Qf@)fYa_NTLa`Z9})KYTIBpUR%Vow|dP53VAF_51`qfzU=65lDsw zk##SFMUVJQt4l@u18YMDj`F)LICHAs5WU0o5^yJR;>Z{@k71Abs-i3O*3 zl%)Z{?B>SRGxrpMPIsI{C*5;KOu)4k1owNpHybvmKw57Nq-=g)Ti$E+ta>|wl(Dt8^4bRQ*IEgiZ6&0ap1gj5$12=y$7N16HIdyWi*b&Ng?R% z@TVB_0BG?f!n;sINPru};4r%)2%8k0IH&v^UO(Wp5z5inOL4uO*uipNv}%qwGN)o0 zCyRTb=cjmMR)mj`av%H}gq_u&uQSjDt@SRy0)D6ybdLFMY^AM>aV$orOj|>!8p{WNA-U z_APhTYI|6WP^6YFYvHpGKQ&fk^K+*M1F(>isvs%W-_PeF;Je zMR_)%67&DY`A_WK?SFx%*82$ef9i0FE9$S;gOB5 zH#9A)u1=#m2}36joH479jnygFX4xd20J)gFlp!#JofTwF1$gVVhm!wFcSvjVWd+NH zQa7ngI%QkEP>taT*@NNXJ^zEvy(_8GM4Al&Sj>h{;fM`LlNC%c^|3Id$n5VR{th8R zDPM)j9Or~|-CGB>2x=@|_#v=5*AF?KjbMsnM()80Rf7=O=Yn3g7i@(!`Ezw3Z+8F2F7P&4V|NH`~5e*MRT z5WetjxSR>bJAzQ6{eKiL31lJfeL|=*%e8+UBM99Z1sO_OPUtJolbxd@BlxDv&b|H^ zfv(`2c}G}u%EkKqDpCnOhA$S(=pgt7p&m^Rp(be+j`WKu&0dMQWGOMYup&^p(ed36 zwcUi68C8a^kAji6-v7!ha!wypAo zeNW}AZ)p$cv@+D~I-~wX664ze$_1A8b zDe&d!ISM1=D-VN#ojvc_5C34y{`Ne}zio}ChrFQE-Q*On4ClGKL2Pj7yil$XG^(27 zw2p$aby#d?yMmMI?@EWj&uEu-u8(j3qY`UZM=GEq%MXSDfmBe6^ zH)|>QQu42WDGIk^k|MLY3gHL1zzV4bsT!#95n~>!CxDX02<*<-;X60~lp>5d6vy=U zb{42mgUqtJKYi|b= zmN$DXG~(?n!D~dr`i@Q6cN`nDS;zFeh2F+^G}+#R)A{G*o7$!etr*5qx>axVtpEbSboCw`#Aj~3kmKj$F?)SJBc{P=9< z57C=-34!0*SL0aRJf~5fMQrt2YTL$FSL!XZ5p+zUFprp;0qQ25l`(4jp;&DR--po! z)Y+rt30SF_*^G)*a}O@s2}m|L+TvJ9s&1LD3lRE4LsRs}&z@2?hiiu1?>ne|c-;7m zbNFzdnLgKk=033Mi#RTpb6!I4g+kR zvoY8~eGjvp;f$T%C&VLEfC;{0e==IPr;O6)$haFB$i@>-LUVs6^w>fFCQC}H4X>=C zHe(FBw<|cr;_JaA8FckTQ(ws`?pA4Ntp^v-3fOp;~@_%x*0@`m_zAwyGeC zg~Wz@hRa#9y>z>Om|B992oqT3}r3$#U1{^PWUT(5p7mfG5e@L>dm35T8a;a zuQZUwok~`8C`(ZYthX#)%31rl^nNTzPA?2ML|oBbm? z$#E_MWs0+Pl0HHP&i#mx4p675*oDtU>Vz7OdohbMie%_)Hs?gjR;&;G83dSvjd;qy3~sSrwVK46T@S-PUqv z(#udkn7buJjR~VtCF^qmezQaas5s3L%VV}Od=UIGB-dV0Hs>}RkQ+hIAU#B-J_ry~ zC_o|^&q>>i1l3)wky5j>y#sM`1FEXthxX06pDrpI-WskbL|^z4rF&zhB)Fv2j{XZf zhCs(II*BoOK+g~soIa4UHYkM>baR}I>46k3JHltL5DhvJbBxUuD#9WRj%H8&_I|84 z2GlfM9~pi$1Fi4gj-u3BsAcr8Cdm=FIwtDfR1P$q`$>TJZf=LHY zb?x~5o#vT<7w%pJ8w~m=)9_rm{YP5#Pkm02sD@ZDUSq$q->X&y1%Dt#JDpuVt$??D z$c*-r?fRxE>bU|8HHR&*oAIHgP|Xc6ldxLS@uI}O+fO9X-s1e=HisCGB;hTfRYv{+ z9EH$x*A0<#+Q_LwU@}W2CkB}xGE%uF@()5tFQN9M=K}Qz5SmzY&0>>E8krxT;W(P8 zrsq+wFq&hd$OTvcX8$Glo4kQ{PkL=ED9d~@79~vTdEaXMjNpwG|5@@V5kV~U6A6e# zssP}J-?vUPB%EiqKQ(x049jA^n7q_*8gA0!)FP%3kIvGo8Shy^z93MuD1oPMy6E$)!%VBPhUL1P>O7rqrWY;7 zf+PoBMI;on-hkhAJ=I^{7gh}k!cuh3t!r1gc{Zu&X0KS~HEoqVf)XE)+22OH3k(N9 z6@|6wP?3T4a2Ra~Gn1Dvx+SY$@4b31{$&ve&og=y1b4ASn^Qrc>#)EDjW*v7jr^K$u8z%-A;12*(@_hc*q{}^<8&jbItpsh^y zhvKr)EtmXkzoF{slV>+^fo*=2zQ5*f+$cVvI`>=0>i6?4V9A}OYZl#)u%EZJ9VO1I;VG{)%J zgOJ5dUAg#r@#*hu(0Sp(qWfO=o~r|*BXwu2n2_K~g?hKmTd(urtQWsJ2aKF_6$g@)%S zcjnkz*FMG=tS3D*n03Xy;8T|rZQFxbHBc}u2) zRiA70B*7wqUEkbN$U{LznLSVt4r6El;ZS)-%|r|+KN!cVMV*ThLM~lcEKe2_`YY)s z3^lVv-15

    y#{b%V)NX6>KX&&Xui}3#<*5+=LrMQC!ofn)ocx#+7{LoTtS}L%oa?hVH>@ml z(wQw~JDxMLC+`u!aG5sPYM#AGABm{b+X2RZ~PL_8Io_`*M5esoJa<9ow zhi!BUz#=LxD-I@L`m=qvu<{_8G)w|f2St7|deNP64DSm|c@=*7_y-!1Z^QDjzrS0F`LK8MP2EcwFzB*F?w)rqIq zBTQ^ezKkbsf11K2e>5_Og8xB!${rVnH?z5y#@{SM0HC_{EsfF**(HcB=-h`AK8z(^ z6;P#$ybGL@u&I5cDw>u-S{9oCNN6N4YJl)H304BSA3v8LdgBF-0AVzDN(62XE}GGc zDfroiqt^iEkUmDK@;F>!G$s_PA@Ci{7Z-&**;APTG?Ns*NJLE!Aa5F{^oa8M(o?$o0waoR7jDoVV#zAasU+PHHc-;!?bJ5*mgL%;D`w#ovapC{FVc&T!Q zD8D0|Zxym-WvsE-Or7;Be*t&Gx{Ry*5e{JMNH9qx{}4|HsEAWe2q#`ZWaGfQXa=(p z(8{^&Ia2agAji~mqd|BXXbl`4zdrnYtg0XY1~grNggSy$V{K=53Lfw1X1y}P@k%m4N&|KD<+ z>iK_|EH2Lf+K)V(^DYQeRfNO!2-+H%N91dAIg8BSeI~3}4LlH)bXS9BUmR7G|6*%F z49A8FM0E@2y$D7AXR#8~`9F21e*eDozulcyYW}xcEB$XN&m8j~ndSD%3pP_v)?coj z%z7huZw5$cEV7FX4fpWN!7+CmrM|+#ObQD%ZPp?Uq6T?+}jcI~K*P9uS=DCZ|+eE2WGJw1U1uwAaLKsKh|? zsz#=iV?S5nN(}vcJGOK(J^b&B3mHuW1tyV)z9)ST?2ED+m6Q$_xC0C|`5cy!ZtfP7 zo3iKneoD2Fo#gq^I$|b<(U;&iI0$9jDRT_>pp-2Iyroi;?RvltI`Ct-%rj64rbt-4 zzFD0dw*iy!bpmGKj|>oUSdaf5{oRQ@7b@+}YA&BuN@rDWqX0z>8eLQKbOf9nBzYS0F}e zbpG&q`dvM!|MTO^J8}Xk(Es-yr~E(m9^#5f%)%E{l&Md`VAJlE3*zZFsi_s-H zKh`Y}6v9qhx6qgwb6=0d8Q2d3u%|IMwrBKTR4T0wQG`S}Xb!`11|Gk{k=O_p<$Yoa zpMo0mY1je%#C}g*9d_0ee~}DF6`%(!B3*V2+NI54VeT+d2x60#Y+wu@teRMM=_h8? z1vS|ZzgvFTxQxhdfI}+5i8gVBFP=qS(%1~VXuh!KHbF7$&pfuA8{Ah|OdcU_*ith} zR+@xk2vqbBs{m*FmKS^S71HcD_?7;1`_6y8l(2Ch1e=}Sh{0I%ZS#Uy1r2Xq}| z4cwS!df|~60ig|n3Qb>jJ3MwO;IUHJqO^zAPBCgN>oQwECzZL%25BF_E3oZvg^|+ci;>25&j(@E4{WJ^%PE*r!XzZ^1u|ZBQC& z%@mS?bKv{}ug(^D7)Yj6H0XnWnrI`(p@#%v~nm z9a2}s#A3jDhRz@-BXv(PM5hxg-kNnBBv9`vltgStNju(@q>51={V)&0WMmzGWn*PuBfARGG{Qn}WUt!O+gIEQB8nZ;Qz<^dMlQ?$$Dy#D8l5APeW?9^c1 zYK|_fU{|P3?8S*gb5!tX-i9htRP&?@wK^^0oJyVMpP#WLpLj-qSw11%r;_ROo1Ewq z9!Ses<7qjaP4)0R^5|j)UajmWsCh)I<&m5C>r<(g7hE)ElL2gVB{EnT(w>KJ!J`;jMJwb<)q0Z3mQW6rq}8uCS62=9F1Sv?O~lb131Xs54v|8j8L zgyWnhB>!&y`uVu|`r!S+@quF2HAUmBIixB^QDUS1>EJ&<9~>QbKO7vtJ$wxVk9BY; z%?&`8Wm=eJHt@Mjeab@_O)zYWTVZKSmE|)#2oXPEg2DBzr`EQiYqpwh8pnkwBvdoJ zW~ZCU<$6X?!t=XrQNMyEez)Ut#88Y8>0W90v_n*X)6wbfLC0ERwCwVUqw5Q66%gq$wZF@MfN z$_-p>7{)}%QQ57K)>}7?gIO3EBWQ49#gXM)D0lvx&2d9G&Ut| ztjeugyks`p)hJxq{a~~~=;rvv@tb3F5A>7XxD@6urvvb9#r9hbNaC_Q`@o=< zIju9#Py7oRTukd5Lq9dWjMQD^_P=mPQXv~nUG~H9i%-L#Inu4~l-qI&msf{}|MBi1 z4;v-Z@BBmm>hR++8I|twKYu;Y=Q#>V+!cZ%#>qz}y)T({(XCG?GBu%%y{0y?O+7lC za#w{m$;6GdF9}(Ah*U^#7P;il4ysQjvf6f5m*2k=88~u>88JXu&LHr7mbJ{cL=PtI zU?OdiN1K&x$P$OYOO`7L45)CTrLviE=qN_Kv7D61xKUKHVOwGEUm&;G-kzSKFgI#H zxFGDwEaFmVNI_e$l9QEcU-L7d)VIEqF1Q*hN=hfjLO=NLB!y(k&4|)Y_2Fc#Y0D?L zgae>t3iweNK$HW(3XMSEYs&Tm0(hMh!7riKk!sV(FoRhiaHep)g1rYd^qcn=rr}{` zs8oMaSLy}=_v8{Etx1e&_tvel ze7R3kcdD-E<#hK~-Tj^OaJu_ccMtthV|CKuEpZ%pGr5i6VR;g0T~lLE8j^!E{l(D} zA;d+jzy=pEY1N1t2X28E>f)4b?07sb+05hjA<6S);fuq?MG%f+$C+>fcM7u{9E>#i@7bV8)IrE;Y> z{$t2};D9v&lo$(9%IoDE?12WSvY?5VG<*JUbd*Gbc8c1en3GF2Zmtuvm79%g3)bvf zH6M^L0_ji(_=$QlqDwRzCJ#Atlq zkKec?$PVEq`4hvhHy{R%RlEh<(&()WR1*d_)AXSaqkt@LVk&DVD4Y)IPGfl!_LTSA z9^DCA<>@}ROBt>aE;RePE%0_C)MXPy?eBielit+o5Qt^@HIPCJZVa zU9?4!-~x->Cug8=k^@HobqXLo26cKDLU4iI?KbODKBPN4$;E`i=k6Zcq+yD-05=u_ z70&_gzJkJ)N|yx3uJmQKQg2?ta{3IW;XV){>LxHC@B}0v|rjqQ?%ig+x zhVU?fK+s;;nL>yUa~0aH{%<7Ei|Fp@PITAtA^&9r^aNs{uMgYR0{L8@IF3B^pSFMF z$4~0(8NihF{xU|N3>+3pbiXE;KHS&KE8vs%&x`*J|Cec>825SqziAzj0*A>o2AIS4 zE;t4Tz1Nonsd#s8RE3}B{S=t(2wVKa(w+KevT-UJzbxf4NoD!fQ2@0(f2?uHsp~x4 z>K&Q=q`(IiRNX%H$j|)Dh3G1LH#@x0@}ok8ZGchXuwrqMyWJgA8*!n23mcm6D$HEf z*>q;-oo0sQwXCkni^Jz$RSk@ue=d4OL+vTjxQK|&$ohHWRh07bkciDshUWj+r1^Xk zsD9{x*ae}M-d}~iy2v~8TAZ#{T4b>6Y-s^EFN zs^^&&tR`5}yyHDBOxg^X*#Rzry&3Xr@9wW#$)g@p6)3Qw=ib?ef(VDevYM zB`zYDk;u*tJjj2YhX_J$F0y;3d2f+<$phE8+A=D}2Y`oX6;Jt(gwb693;UC0iUbcc z2f^Oe=G#e(N<``H_iD$~R4YyFrB+&Wf|6*<>fU5r{V~snw&nsf>+IY;SNow`w7=J;Z;)C70lH~NtzON zQbH2@m8wE1j?HpHALR||j*l{xTDr5Byn?KJjmwVHsn=d&X4!UHS9~>BrTxo;ADxJu z(hX)4_o&!Wrbm=zI95k0PG2{kcC{dujaCrQ2ekn&^=I`D6}}%R77t;5kXhSS0XmGz zZ)f7)N5=g=qWOJvgfXV|g4h%3`8$Z3E$MUZ{__2EhV*itaSQtFdW_hh_=k}_HLFSc z4c6D<$XbQj;y=vFz`0~1V}<;{(l4a~-G6}Ws*WZ$qO&b*)D`QGWhmukb?lS$McE?J z?YWQQagSsEpyO-RN&*f)Fn4|!_2P=6Mdd}*^@Oq|8z)m|mQqCWJDJ1`1F`z1%+)i@ z-uW^-6p7uCD@@eOZ&Qc6#cp^vnR?J8m0L}A(!=Vg_hxUzY~Gr56cPONtZwLlZWw30 za27#Mp_HnYik{Uco}E{cU=&m=6u*uf<=)(1f=KEEZ-!)(erf<8EB~;5XW?j~c()yv z#3Vi^Ywf1<{jZA3gXSyj_Ds^;h*9#7%&&Ebtn4GDk?<^c&MIh^*GBpSzz(4eQgL zE6`X@d$XpA+UUq`hcX2DmWG7(b!}s{{MM;?%o=}x0bDlO+sR#&iC(a!Q^Bv?52CG! zy{GMYIly6OAvx9-5S7WN$+kfo&wy(Ze9he$xV!3|CrvP(O8-qG;ul(9Jn+Q>Up(;t H;ekH^ZAlW# literal 0 HcmV?d00001 diff --git a/vendor/gems/cache/sinatra-content-for-0.2.gem b/vendor/gems/cache/sinatra-content-for-0.2.gem new file mode 100755 index 0000000000000000000000000000000000000000..f2e0528b125196c327a88c60a379edc2adf65759 GIT binary patch literal 6656 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 literal 0 HcmV?d00001 diff --git a/vendor/gems/cache/sprockets-1.0.2.gem b/vendor/gems/cache/sprockets-1.0.2.gem new file mode 100755 index 0000000000000000000000000000000000000000..6e7b9b9ede426aeefff35899ef0e74bc1ad20647 GIT binary patch literal 13312 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 nUx7Kf;%U%y9 literal 0 HcmV?d00001 diff --git a/vendor/gems/cache/templater-1.0.0.gem b/vendor/gems/cache/templater-1.0.0.gem new file mode 100755 index 0000000000000000000000000000000000000000..58c86afb049032c91ce0f174fa03a1e121dd716e GIT binary patch literal 32256 zcmd3MQ;;T6w`JM3ZTl-2Zs||JPgMC>Rh}@HANv@XKyH zw++b#8qXfXYEB?%ehZ*Hy&$K>id)lkR1+=xN-Fho>QDQ2hdv2xWSxvZK1j9okK7&K zi+KlrX<3RRilNL1i9F)v|FWl79{EP@c6*Cn3!t6GtRO#fT-=$F`=;N^3o-wK-@!*v z;X#-baB{;4SA2wBfn6xzx;9jVrGf@<(aG1gGyeP6uYJO%XT6W@z3=ZG*B4-i*Q>SN zh2D+#dUq(Y--G9!`@WS4fFNY;X~iI@(>#@)grD%-~w=eq1&)K`}rUnR&O#EX7 z$eWYP3EW|`F}e7BJbOqhtu7*dX_@&#?k6FD)GMs(OoKcaADay{r}j^#yleiX^$eWV<^$XidMm_aAO{J>ZKInCA1KBk-^?B zewORk_|qCe{B+>-?Sls(=4I)l~JPuEt(*}mP}-rk<}r2wA+_dA|B z=r`5+;O>|BmTN`bt!}uMgEp;@R=wRXDyttX_fOAoN4rz6mb^qC<4-H871tr|kg6^I=mo5S5BKYXm z#4kdpltf-icaz9OESAVPqS3wXQFluPFD10kzMkJ=a>y%UZ;<9YOHt4uM;v#?abpY5 zD=RfG$rhlscjS*^0;XRSIRi{YMGA!$tT;3ZC^&kpf91fwNiMFM^3HOXPP--X%vU|w z2qWT{hl!weFjBjm;ih7HdkM)n{M}A%Arw4KAjolFyFrxSe#2lUZr|dam?T2rlEkzd zY$Roon{b9k&M|d$K2t4T(_ErnCQ*FCn6aIVeuM~#A*QcWfM`=CaU;HS;Dba7;X!^e zraSg=8{@8)@$}^bS(Up3Fple^As5fBh}bq99j^@bkke1?YKZ}RS|CTKR!~+*Ij1Fn z=-O8c2&M&Dg<|3Q=VtJ2bJNPdgxBGw<1|vHcMf!4>{f3 zivs6l6(us7{?m&)-W240#G>H9!n5$G{aI5LPRkpByB!i`C&>XCgdEa zP3XiILqj|Ld+1qk9s!nA1Vy&%=e_pWNMY-U57P#C*H z3eqBtd;IV@t{cldL|Q(~=1=*=79?Gw1sImrid#Hk0Y0gyMphrl*JJBOR=uXuODc9y zZNOD1w+ue*0MV|<&u*h89MkR(yP*^3#=WlDR125EfZ+LN9J*-98n7syj9lEX6$n?`!xrRnf*OdK$TluCB)LZG-^` z-K#fRM|h(oZV{9cQSamrUg?-6mC()sb2v(4zbVxy=IG#&q6p%8XcTpofncIMa7()a zC*wd;)1#h2(QCQAvS;H5^VauU_S>rEE5q_5QkJd@@5S_>+Hg@vqY;x}?7_gWJMlB}uf*LoZ`-Ryaal!=OBgRT(GqybnXbKk+?e2AsjkFvlFtKq~_v z50L|ML;b^;G>*?8=ey8+QRu}o0cCPlDEyq};~4Sai0|YyIPA2B3*w3aQ$yPM;!=r{r@}+S=|9mfKyga@0Fq9hpj78#!ckTp1!)kr-#)U@ z@vBDHlnwH~J9m5aYt~F=GB5NRl`34IF8N@LVg03l)-k4!vVh$&O`U>35JSd|CBQDA zimhPVQOLi}k!rSVmkMt#NZ@d4-`SVuRJ+80=SpegzqaN-6R>%&n!;9-nbU zjS9;N=vJ}(Dk1_s!HPwQIARlys3jgz+jsZ^;f0C^C)UJGlOTd1eD`T)Y@mq(zlE(D z+ocodv>$cfMUlE>I93a2*BvI!i=*aiCQ#9Pi2)p0sA>6eM4pK&-)kNm$vojfIsD zR7cVJ=DeB;JjZ~8{5z*gGUXv<7y?o=i~*|4J2FFYC{}9gidk7vUJ+%nH#)Um_w7aO ze>{Zn>nL=7ES8LTS(Q9yR79$vX0U97wPf>*{1vgaGZ`ykzCo*3YiUkE@B}6!uw~dE zc|u`ZHB`{PfMya>#X;N_Jv~MSWLh%A5B33(tp+RIxG@AhL6sVzI46h-%CCdNu@|P| z14e~T0?-{I>BIɢ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≫Zl74F*uOmj&VYsx4a{rH5yMR%N!jZzf z;AQEg=tyscg+e6PjQa`sl?kP&pxDQAcg(Fj;b~#0H;Q@VUDf-Y>f7YzMw?@+09Dr; z4AlRzm20h12_d}^*JGH#d{^T2dB9V4i$5v5Gs3N zottq&TO3QpC%dGBU~jK(@S{EPv%X?F+@IJEBjqeAs)Br#@rp1uHlg~MA6Dj^;B$As7wpL8EF08OIx~PHTIO)D!wK8jn=fQn~Zbn z*S2z15-$6P?IVYpCWKQj<5l|P@0(Hi>RITZwJ%%WjU>bu?okWH(+ceIdvi33abT1(*2w28?SCCK! zEaT5NPGS~Y)hCi0aw`Mu3u3-qknLzzDu=q;?QuIQhnmN2o=U3EjZZ(Hk?ukfu-i0X zuPhj_^9%u3C9>FgItb1_7T9^8kghU9v8n1pu-ESKY-zMhh|Rj=IQ0tzI3hsC1~^wG z3^-IZk&lIi5o;AukByE0sOZPNe&qbntQ5Iw{7`|4*hf!i8OiuOeaeE5Z6D2IL!iZ| zD0f~AxNUlLS2YSdYlr{6Ir_i&!~IjD4ut|>w*UF|z|{Z0TCe`Eef{r6;G2b;srkQg zK>n}sKY(070j~eb|KR7-E_!>RXsfK044j5! z+pPpq%bXH&!Km|xSQ~q!HOUSCX~D794LF|=^fq{w_AtZoI~wblp}g+qy^Iu1-MIq^Mm*~uG^89Tw`(55EEi+usTPhqXYQg| z(y99cXq-(X6xIEi4>g>Sh{A_1dw^Le#R+Ol!qEqExBfpWqz^G zWfbc7<>VN{?ot>Y(*3+Nt@4Y+p%hzMiDZ|ZqN;Tusa+fR`}CRc7ERC_Wz`DFVKnot zRDml1lkAU8*kVjdG}7f#pvsM=+qysz1;Zm#O%(W-r=@LMQGwL?z}_kkSue~eyUgXL zoDAZ@N(0vP*r%VeX;~27LeK(~xe`UlZFixfu*njp>mBJeqgRz%-Ev~AyEK*=^HE~- z;@Z)LKZj?Db%;H~9)*#292co)n-b9%Y09wQc}7Ioq+z8daPg-Ha$JAOo$QF{+>DAL mLH|3(e>@K^xv#VH@c+}h^e^MT5cn4Y|3ctj2>kzpz<&eK{|9CO literal 0 HcmV?d00001 diff --git a/vendor/gems/cache/thin-1.2.5.gem b/vendor/gems/cache/thin-1.2.5.gem new file mode 100755 index 0000000000000000000000000000000000000000..25fc506df4b50fdfa308a98e5685a62fde94ebcb GIT binary patch literal 152064 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 J{GUbOzX6OHD)|5a literal 0 HcmV?d00001 diff --git a/vendor/gems/cache/polyglot-0.2.9.gem b/vendor/gems/cache/polyglot-0.2.9.gem new file mode 100755 index 0000000000000000000000000000000000000000..29a97ee15fd694397bd1f06eb9f2851afc0017c1 GIT binary patch literal 7168 zcmeHLXEYq%wpT{)B}$ZpF$tm*hS3S4CVER4j8634Lq_mNFnWuqV+126%wHmUjS{_! z7NTSjz0Avfcis2yy%DZcfYu#q=Y!ZZLz;9p?{9+@B6FzU)KjZ!(i_J?D)6!|K?u4YTimDC%6GaX%i6dScMwRX)!KEnwgx@Hr(;YsF2U`qy}Z_anh^2@7{24 zm|@mwc5rid1L`ck0_+nmU138t=s1W@VvI5J2wR=8vD%!iEgMPBW+-!fGedat$551M zG^XK$UeQRVlH1&zX!?(X@T0Edp`k$3f%DCEOHK_8!G0Fg(1*}X?(a6zdmJvIp(wlY zq$!kXRm);*8lBG^h&Kr7Q;_@us zD7XNfTIispNkE1mB(D)^4D##w2=ReqZow%1PmAjBffHYrDUcJ3CWG@p5kH^n1hB^& z@Nkf-;-G7vM~C|>Y7M?~xwx-)W#OZMLLh6H1!auIsoI^*uC(G@ zOW}DkMKwi|532Wdns}${IaY-HpPN&k@d&APE76?^`9M{zm6Dov>ufW|dbsMl#e77A z%z}xf_KUM1u6r)R-ne>5K=|Ci{^1#DP_n04|MCUU<*b5q+>jXActHc!Dvz7914DlLEXS2R5oP!-)K8IG=Cnu!EW8lyy`&q!@a^JLLOj?u3`b9KWC z=<=idRK?z4VajG1?EoHrM8EEg8S{lDOZtuy3ysY?D=##?-#V-HAXAax3zI&tzy`}1 z)Wjal`OI^zU6)YJ6K;Jmt8&g@HOA$mv}SX3S?fOKS%AmY%i)WPcgY%L0p$-nwL2ts z=`cTgV zCvVNuzCM(NJZ|2r#4R}yMMkga55_Npc5iX*PRE!NJ^rjlE3&DFahzqK(HeE!9MNiy zUwf(_vsD6GE_o~zMlWFhp18_XnQ<$MR76XW5?9<^YR7h(oXFBE^mBmgAkc`mLmy&~FxB^%MU52@ZOs>DLbsy{>5$^&+c+H%)xeP z8@e7%}c4-)e-mNG|510b%lUY_Tpe^BCsdn6XHHCzRD$J6Rab%MU zu2Ok?NN>v7K&{rRbHkMBWO-YsUi@CPW)Ft}|jDS5`WL%6n zn*7+(1a=iUbAD2;-Ctgc7b7K3`8(PzVkgX9q)2VTbH}?LcJn#bPI?cfL zcxmxyZ($=J6|;soc0$H5#ogQ-5i-X&6fIaV*ueb~LDy<>u{Zsql%r(b{tf|MJ|6Ks z!2j$rvf0S00BpnuE(`zhM)1{I`FHPVpC<<+h7PL-v=_wRq#EHiO zMT+5q{Hh(4w?SC*_?H`!g*}wWq_}WnjnyJxyiLZTeeSkKE>}vGVtWFT<&nC$OF>FM z$ylkfmMw9ES^HgdHdETq*UOB;%E-_W4>W^*9hx)Y;A-T#>}?Vp%t)X4 z4Ji>l;UCmL-34;k3P>a=ZX9R-2$8#(`$YAksDJjvxq@M^spw1Q%*6eO)=AsPHILi0 z^i>GFn4B0dH7Mr{Nd(0vK=t*jQqIO-_||l!Izsr>lQx)LN7`8!?LeP(YYY9cv*3z?L^Y!(f|o zwAs1{+$9h^ZMwDJ?^I*^ke+B{Uf8yOI$&6#JPD4AtifJh;AcHO;_yYKWiF(E_E(Ta z!{LnktVJ#Z3+V)goA=`8uaoEJlUN?x zsvE;Jo@)IeU2pgIEz6fr5exDc8kj*Fq%gvp`$4zbX)C573IE=$abe;*GU2$zvoiwh zt;qls+h`(!npZ6;y~}lMwHZ=X_IW~LTO6}PAr`ZCUel@Ja{}Kv4@r5lpj;YsYc7>x z&Yr`_{fHwZr?wT5#m6krGQx;Ut^4drb(yiic`DupOT&<`-wWI;9rt`rx8Y49xfpXE z+Gigln`-WbO)u_UYm9qO<)@!|KIw)KXQZ3|A9oZ0ER-&>p2bc90a=O<>c?aA!)HmPx9;jdcvUk-O1 z#fXUKavYCw@P%%Hcw;jXOYF?YO&vWOiktYyKLgf%PDpwx< z#3z<#OnIaNl4b)`zVN$nBA;&euVWLVv|9>(b1F{hgD9V)?M}I9oTf$}K&v zkNlFhdu;sL=yeWY=PpjNTF_$!fg(~87GsDX;h(; zT>4#|LP2s6?O;RCor|(AS?_huz7mg6Ax80GJuPt3;Z)UegrmHS`HLFA&*NDoe7h6* z?;O&W^H?3j%D=J!SZUW`gKI=NmQRp;If*yj%*r6`-Q5-{)Rf;~K)`(UBvgu|Abb*&gOwZ$Mfm4XQBK$Ldq@xuKjFnf3*x8E5k^X-I{mA3f#N`J2?pHPyc(^oX5#XI0P zJJ9MejV2fBxd2CyZ~TY%&rFd-AF(g8KaZ!mB>LhSCCgh)FWPH8@U;@$o%qJxvP=BB zC(Iv@e>iJ+XL#~^#4j`C-kK`yJMF5~)Ht~XcLpY=ZEeocxSxvn+6H*nF4 z{`33_pZ<<{VN5liP=M8_Gcr&m%A;;26Y9Qhki6nL9PvhY4xeI15@w5^dOE*|pMzAN zFQvbWw67H{q~2@PkBh_##w$igiD}I% zMN__^JS=c3hGpHa&2;!l%!$T@Ad>9qA zaAuiEU0PH8c?A8}#`=%vOqlAQ-TK{E8v`NhBOd2H0ihIbb{5*N17v$z>UPE)6ek`b z7ZI4uDrLNJ^6Tr$AKbOC0>Y>0p1{Z2ly$GE{GSaY4g}xcU!TCwMBQ*SZ#1!LG`Sd_ zYX$t8P4ReQ0$nA(T*h(%`^{CY zdHZQPH#274QDk011y)|6co>@+q)CPMq_9jC?^)*qIif7@uN#vd{qyr$%g_ zygxbjpSGUkBJRfkZ1k>w&Slx=6>V5~JFG}`3OXAAPWZdY2bP$ib+D4lpp!@Nct+$%+C`aZ-o)1%-l)np zk!u5_5>FIH&l^tc+uc#^pA#Zzx8yHKjo%SslsRsb w)%H@DwUpxS81GFys%wiR{(B=S5pHY;k^bvH`)&P3;5P!l5%`V3e-;A&1^ky=O#lD@ literal 0 HcmV?d00001 diff --git a/vendor/gems/cache/rack-1.0.1.gem b/vendor/gems/cache/rack-1.0.1.gem new file mode 100755 index 0000000000000000000000000000000000000000..bae1ede2b13d5ecd895594cd1af590c7ee474d5b GIT binary patch literal 134656 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%0DR+1kB0)oyuLoSXPFjp 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 IfR-Tu07-PhU;qFB literal 0 HcmV?d00001 diff --git a/vendor/gems/cache/rake-0.8.7.gem b/vendor/gems/cache/rake-0.8.7.gem new file mode 100755 index 0000000000000000000000000000000000000000..0740cec7b0b979c2ef51fc19144bb36092f70be7 GIT binary patch literal 104960 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 literal 0 HcmV?d00001 diff --git a/vendor/gems/cache/rdoc-2.4.3.gem b/vendor/gems/cache/rdoc-2.4.3.gem new file mode 100755 index 0000000000000000000000000000000000000000..8d24281d2772de3d5227117bfd97097be648b90e GIT binary patch literal 177664 zcmd42Q;;r95GB~QZQHhO+qSLSwrzgheY^X%ZQHhO+w;$EY{cxm?9)W-dC9CgkyUjb zGAbf7(#+V+n8D51g~8GX=>HU${sRXa8_@r>|Ka~_*_qkcIXVBIz5knMW@Tk#0U~1h zKlPyh^;~z?|J46?y{DDAx!wOt{BQpM7yo}r`(MQUZ{h!cT@uDX0lj=KN&|sjbzhon zN+dIVe8=SjBxS-=#Z@qOQEJR}lgxBkTaHP`$IZwQA<2YMn4z42<{C_VcaQldz3Ww5 zdw>hgxZ@jlYq(Kkz&a`&mzUL--Os@uN$3Z<-UI`-EI|c49kv0zchtYzZLXj3?+UY= zjt)Crp8-oFglm+KS*PNO!jGpZOtFmAp39#Pdq0ftRpp%XO_dVLco>+CPP{pov3Tp#pmgKFJ~(XX;H;Np-m!^(#Cl_O}AeY4NpU-sozp|_1p z1*PM4nk9&8nlO%x!rR7Dx0b@pK^fh`ct_qSa)TBl3I*tvCX{aNP1`5OZ9^kaqiBa+30&9EOJTM+QgJGbPALlJQDv)k6J zzVnOg+1hjS%XsgNax9*$?-t!UyfFVWv(xzJ$44l@sP+e#>-G6@_w=ypmvCj|`1AK< zWO{n~;iuRA^YZ;yTwrr^)27n3(p9y(vN|q~a09n>12;!jmUAin!&xBw@zp+a5ZO)i z`mZ(yLbOw4#JUkc!dk*EB)a&>y?u-+_>rwm={$0BYGK{4rKv=Blcjpw&T;!>C0`s` zXiJeom<8%y%p{X{khssb)pDM$gd@f~U2I%yf4_V|?06Vy=75S?<@xAnUA0UF!gA9G z`KUGsS1E*zIylk>f(Ew8a|@<_DtL9D2P0zvztrG_IB#Z6uGJT0Ry{dil-C;>LKJTe zS?$8(p1L4U=%D!41QL$&kyr4H;cnYrVt$ z@&)l`sdAQ@r`Lcf2~iT6?h@{TUfutBPOXIZUUBHS{p5p!bBKooSN zk&+mb`rYsJ3}Q>+10PoaR^b-dvHaFJP52vwOFzHp12MT9R$8m z7}X?xAnwv>aSRc0xo>|Cm8bDc!ideu&8;kuQJ2{v8zc-?|wfCp;ae9M2v}r**R(L?iFZ{@lEZezLytV02)lY<3u{ z2cuF5W3C}+ZpB7oc-g_-jjb(_w}24r+2upJK6gF@(Hq2>4JNRwnD6#LVpJXq1IA#x z*xF!fMbG>J5`+c1AOZMbzNW_R_IB@-46N%}v<;{^16a;Cb;IwWuub|%u>BKwR-CR}DQKUbO^e+$hR5-&?p>*qK z@C#5PT4KLnNf5yfopO3N8l_{R0x$&~G@fD<%q~lFP?B5-*UAuBA%93s#pymCM?2lU zawKE`)SoC6p`^OJvPV0l2fT$UbtfpPl}IP50rMGy1b`pFD9hq;VCFiUx3#tIRFE!v zGXPlJE@7!8bL3YAnRHz+F}#&B&=%9LWJnkzj^qquy4oDcJA)vdb$%L z!?VHKzzm|OV7BbfnowPLG&BPte7IFSPl6Cz%1Y2e9N?Z$6z@=bWe`k9iu^>0G}5>m zmCRH;auJcG90%B^(y@Tx=IYttDwhwqf=B5ZHS65^0|MgiEMimS#0f;QKSzxRZ9#gO zp#RgEtCVN99AXAMDI%b6*BOe8D3HClXBM@@#S0K7D#Cze8og}H=UnyS*3cD&F)Xu)|xAhc>`O5)2>Z)~*axTv*P)zZ$SEnmWI0nm^yz17OCw~0} zVk76RYWD4}V!Gq!K z-R+7Kvgmh$IvSQV5i?pE?OWO(I55tL0G~x7P*V_u6}t{rf_I`u@b5H2SuBub&I^jn znY$PVvq1VGRB}X4*c-~H6fF}KoP&1N3oQo1Sqn3DOZ2cS9%P$}N;L;|OY$K77oPpi zm09H>VZEV84nAg%u2BeKRE#r?df?_FpWwjrWYyUH%&)p&*j=GDW|J$MLh5UJ%&Nx-qz@DFJ_+k<-}ER%tfwfRC5T$)g@Ih z7D(%qyVLWhb2#AkP62T1`M#b<|L&V}nwY6)LosDsWsYbk$ zG7<^Pf$;B_EyUthn0U<~3HpDaT5n3n-&zif08K_-l#&uK_C=0mQ&pR!Ej@aTSQrV)h+9(+e_kJ=R5cT(YvwCZ;!a zQ2!oOB2LUp>dqIxa9y_l9x{`BgsYwwKq%H~&O1{%>;ZJaBpZKdm^qSjXvr@93`GU0 zaDK=g1Ra6ZfYU$}(z{-dXsYRoW$RNM2l2Wc8az=?*B_8#N3WbYlC%Ie&%fBB= z9t>fl45r+@u;1M(M{5fH;Bk+HvL93f=Uq6nZ(v`ywdZ%gCJ7O$SB7O^c5UA}GtRk+ zsl!+aOpX?0Q5ea(YHyh)Md+e})wyrQCOd{C0^R7x*h9eW4rrYD0%p1I^Z`BS^8nHiCIx>t)P$Z=o(n#q| zoi_>*u-6fZJz{w8K)wPDY>wH!e?ovYxJ=STOA~In8~BZno!d4?G$En=DU&5$Z7sfOs;c zagL2Vm_y`>lFXF~sX1bfLrNgr)T=EtGH*ocDsE09mP=+TXCRodFliJ)vbdB7B6#TK z?KEUm1VP-rp`qRR6$3gpVezPyNWt2l5E5JJ&m$Q)NU!%Jq^n&|(D>iWP^KFm zFft6kz=e3`@Wt?c{w!A(d`QH!AD{B5lp@yH4H#m3k!PazIp!LOit`@07=ta5q-1_e z@9)nG;CzpsbH{6hl)P%>O5{!gNGP@;#_T5MMqa!EP$xZ4!+PDLG!p248@?6zy z6o%*Htl7dt81o|r+Ue#_v{TDeglr>U#-!~LQ{hjA*1!4%m5$I-K*1B%poT23gx;CP zN$7(Xrm<(1k`^ocd0Cc|BHL%Yb-jP2oW_sZ%n zy4cDOX8=E4Mi8?7bf)^+dzM7-NDjG@W8#34tYeH)>hQ{27F)zKRLXA@9gI>bVVCRMJ_*};f8WPM8wvo+b%6*T}PgX!ws)=p= z*)BV>QYf%{CDyx6j7B7<(grwdY*Gy6M2PTxC@&{O&WKQ16@yG&C0pW{?!ZVS3{Q5k z(d@MMPLdDYcHR)u`Xf1UnLP4b65j^T3R*kygG*GLLM%Y>@kp`2VO@U9{>Q(<`Z7+x zVD8V}&}K+u>O}{XMm(t~pJHS&g^5GyaGO#w`r!77RFYRBJSFI8)>$xsO4+tN5$ z@bW1+;$1}TIFe)KVE^!oU~-TO*z4T5NbCXHxy3)Qr=$}h)`B>*#y6R9Vk3xP4Iqx{)d?GIMrJaC%%R@~63AAF z#pmj{TQyXIUp#WrJz-so)n`?*DsL=>pqP+2WQ&D9*x~|n^yo%j@%Ly|1v36Pbb?$d z-Ne}ELFqe+g$@2iW#g4e6d*?z?(|3`=*AMo8T<_%@@EJ;MFAPDpjaD{YFM*sl)MA3 zv}@FJhLl;upmPW?)9Ho*R4*(uQAn2jk@7~Ce~Ioq89CfLpy#xD<}^T6KRzh=uTP*$ z&d8*($$&&Yl|7XNsU#qM7u%`@@JD+S4r#nAAI@a!B)~Z?iTv1W3D8b^(iS|*^iD-A z`M|CC-SM|PWY}aF6U78MnPWiW)c_W8rZHE;I_uho(gzjR*9%VKsrwUh-&L%Q58M!o zbRGctb;izInWpZE45eTP!R}pk&@X8~upm@S20v}nh{av<4$I3VlglW70Pi^J0Z6YX zv>8TB2uYBoqX951ipm8^BRh;t$ABdEY>HMUzOQc&F;&_poO)iV!Bae&wBG`f?vwgg zC?`1f%rR(mrF}5@Qe|pPNc&0zqeuALzUovHfszq@XkDF_k{PDibfJ6THx)F?3Q%@PEH47C1s5R`G#;cjA+k#2&Q6xOcq6c_ zsOxfFG!zL>KizO=*E$%kv@jOwP-uWj`0p(@PG!rHo4o6%jzN->VjW+-U{+i44WkBJ6qrm+d17=gr}@bt)|9X!fQQlrTm zGmm+;;$e+xe{}`4EQWtuDt@@Ktsv}=nyxFU<@ZGK7Ocdh3a{)yJPF7?=qd`RMh>Ri z6IS%8fRWz1HE)Hjxq!WAWTa}Y8&G%&vL-s-TlBZmie%8F_c%^vF9Hn&w76&qQlN64 zF_QKs11_Y5=CMhk%XKE>OYNM5c#;FXIZ=HE?;BU`tzpRV^CUO`PfldMbwX+&FtFAjqo9aVr{tt`RrZIz)!UtK!h#fq7VaLdD4v*Efw2WQ%f z!JUh}7THS4kd&rFL>U%xL8iwC0%n1;lsk<|bKJ~QV}+5c8bH4N!TL(x@b;lPs#!!_*Fb4O znTv6o`kY(?Zr5Gg+OwINHVsQO)C7Mb#pD`(X!^Hq>n6)T?((wPf|ltBWa66D$oLMO?Xeu+tUDFjwLP|-h&>J@SrEb*gkAFy%-RWX{uVAe>e$R#3pgyAmxsTfp-0_RxjS|dk&!P(0@j7fQZou5o>Gmz=8NRyv(E1DeETU1QA_<%d&Bz;gi@v0dfId zl)$``xRj;Uo0G_(h1{3UFRs{+ErIhY;^5>s!T@@up90(A0I_im!@XD$Iq;L?8oc7S z%l|I+$3@I9;z0)U1rGD-ykd*w$3wTm*jB z|FsM1Z(_9v;6TQ+U_Zg9W5EdMbET&%F8_e$t$gBrW z#7ajo`P&Qc2|(-b36St#3W(_H^&SiZ#nxrlosIh+yPkrrwcm-g0qwI#T(1SC{@An^ z%L4j@(M9LMt0G4ih8FX|nAs6bbF0@l0cy_KaxNv~V@vPFG{ii5tqN@7f5vP9C>p$d_n5hgNR%K#N9qXY&b%lm#rCF1nx4&m+c;xnaf+*6OpAL=8`oN?-9G zr}K50dW1rJkQ^Ty%Tk1H+cHEVe-7C4NJ+iE`<62Ea#?GHhy17M zv47cr&v<%&d=XeC+-<&m5x^46BQMoJnXT?R3VQ5|zcnOAYzX!9;va->((_Bal|7|m zrc+;IhuZTa|Lo*sr^FFf?_lQ7k~R4|7D1t{g|YSGT48sT3)97G$FBPVa503pJL(sW;8`gcZM>8_~D0?a=Zh?f?ycaieBIU>{CYMoT`%>Xz{ zfd?0ThC(sTZVdd#2uhF39!a7nXV=!3d?#Kr*AsPy66isq7h3A!~+t?j=;96lcDy zS+wR8(VRi}0`)^eAAc|RGXHne-U`&hfImwBqzhh~t-yk`IAAAi3f`+90HhSLsoQ$v z@QwcMX~F;IZh3iQIA3a(^X+f29~QK+DY(PW$5Mg2-{@OlQ>HSyY5w3PB!@~e? z?^!eWgyQ>-BuwO#%Y#k-Ho__hwXPIgc=yWAjbr|3zBza=2~4|9?4{C85H(f;?X0Xc zaIf**3uOpKXR-qIoeT$^2G(MpsV9)wyIu)oRcp|h6%`d2PfBpC718vk$}E(p2Db}4N@ebp}@!m<%*P+T!k~mK~tga3m45? zO{XB?Aqin2vAKp(S18dX$jr?t7FZ%&$5?p#o_ZnkaD97pTaf~TMG;qey{?(DzRo!h z94!8!dbme*F)NkkG@Z@8{lX>?_O|*HZr{ZV4m^fyq(Rn*1;j|Du7%qua{b^$S8YTw zz1FyeM9r=h>K;AOuz(scGsy^Sw6i{Y1qb?Y*swfsK%K0rGQ8n2QL`Bzpq$y%2^&Gv z9tgOrKUJ4_=iZ7dEi7XZ3}fChWgQd%V)y*L3UofSax%RsP&D^+_(Gdm7J@9EBAkX% zND5b9YBUBcUPx3XlbbMLfCe*ednCK?f<821|Ben$u`qL|KQK}T+4(t}@QM%8Yzy~3 zcjagcI*8u49(nI3;vx?BfRUBnEmVOK_m!m9s4tW5nQlSq#cU z5NG&=QqMSKx;M^P2By6-4)NSZzAB}<7_hq-dk&Fb@=-zr*Kcy0uB&Uki-wLW@DTq&m1HQdq?qQVA*^` z(KpFZP$`;e&bOmKDr;W4NLF{xGZYi}dXZ`Zb`Nk4QfhQf+i zk_q|PUe-1Fs+*WE^U5;Tq-DjS*zrKe^4#g@ZgA=e^mA3Drl!+vgFuHZ09@ZkCdfu2 zzmzRY(OER`*W~j0mcPjl4}r9ZUUs6j!7UJ2@bSOeDys|b%2tUjYt%H-sWWk*TP9J% zpM>Z-`q=TprG&qnge#-Kn08U%eai^3JOlMAjcs|Z7(XM_n|&GIHq?d0Q2NA)uNaH`^$Q7?ap7TqLDWPYVS$+&0qUg^RKP5*YBW9_M!Fu{qkxLNp05`cH zgq&4@(b$OL+Jc}c&rFEtCoc>@^f>IzcokTc%jn+BQ6|q|XQEq(jm+sZ1N~${G~;^* z#F2B#TfjQ%n$KYPPVvH-1*c#=fxCIR0fKnpXpm&svu6uLb zdGcxV?EO1WywS|7Ap(5?je6UiWeV~F@K*x?+nPCfIdPgDd?*D3>Jy5%4LG75Ey9Z7 z`C6!)2F8##j;h-m|Hkr3kdKpL)mz|a1nYxwpy1@tj%wLI<3lt3jH7@R-H~u69|ne| zA;*q9GBkjKRSwIwB7W<@v5YPAQ;_p@gb@e{rkK;kit?{+uYf5D5DY-i%Y5E*LZ9d_ zftb9jpDe?=8y>w4BkZ-6(ik{o)ur*Y_0VZz{#i-gdzcq08*uhuh`00jydN^+fnv-g zJ+px#-JR{d_fMMoz?GqgJ6)U)n(NZHo~~cDqZ(B>gMRoH?+bDlydyUJ6xMg89%GL8 zg`jtN-%}TMK?aWWrso%W3pBN+j^jXk+zS4lH|@tEGM#_>E}yxry#GE|ZVL%vk`wi+ z0k1tn(1h5SHh;Nrkc~p2NLY8rR?ZmZ8-tNQZ48scMcBI;3E5|0@bgZ}Mt1$3Sf1c@)DWby-->oDStVR~9z0Gc$5pqL&|Dg<^s2?+YXiXO^ZK}-L3<{@ zFe>g56z<;U35Xc;dKW-unR`LuhVS1b)2{3Zp5^NFH281x_=)L{X0~^ceY~?5E(O0u zejL%Lbar$!G>*(r7$<*VbHIRh>{u{21xNfd9EjC7-CY8Xs(~l;kn$I&O7U z^yusSV@1%qh%j~Gl^9tZ=@LFiC&WR-ZgzcoqYO+$JSpN4s@CKvFn;QHd<6MOc4q?e zJTKGX03Re?pn~(N;9yTRmEo&HoUJP*nh^cA_@$RH8=>Cmsa3Maj9Y5;{S@r++Y)8; zj@A}KC^fJxzxi99wX8Wwdpm$I(lLyCp16q4P(W@u{19<0V|`_nyDFTexN&~OC{qP< z_s=iA^qVW!qf&|CTmjx}@9e$Mt~J6qU}h!{OHd`tU=d7(4L@t7mhAH};4Smlbh9n^ z$I(vXq1S%9tMNYVCm>1@|C@19-u`gM$QGR_6LR||f9-TYfI{Zo67lHrG(`Zx_a~y+ zx&7z&WSUnu?JI$k^Tu!c*YM!b1$&bw%0%tKgE`Vnllx{zmUhf6s=m&q@nOsoA*++v zBDO}IzD~q|Tbdad&*O_GQ8Msx4-O$t;N&0@)df8F;mqT;-N4MqI^{~d4#DMLm+gv1 zAEr=jDnoX#UYtxk5nbRN2Nx1(V}|vX1X_H~#G4xxf8acS-5T#nO3kOylt#O~h|8)6 z56kL29>>2OHJAuvDjy2R9Y?w9)xWRjg3xP`>0ydt3_`Gf_o!AxPh7;r^li>O4n%WT&rI zzsiArJlo+ zStwWtHI^Wyluw6t7SpGwgIhfEI}nofS&u(unusm!7G;xQk*?B7=47cbtZ!dGG%030 zv39|I#*bLyLI0kob(gsh;mMn!rMZ_19+}+`-;hu*kDtkPjnIK9hU_d{GYY4<-ILYB z&UT&Ann&d3Y8P{_251^tQT~IL9$1cCDY<(LLRu^z8}w@0xR)@Yu8UoS1~XX1keFNi z+p6WI*~wG2W|m-1{0ywIhJCaUVkWB?jZwVE088{o=qW$^InFe74raAEhu+37)Ri^2?#l0~wrW>clO zy$$%Jn`W|W;LJcrl>+OZ@ey!ycHre?cb2(Q;~|dStPIKnd=m7rXfh zb3*&@TVx{MX5#X4#Tn9^&de=)w%l(KSh3Aw?Q`!!>ov_g+QL}S80@ke; zP3l`HWRdQVG;p-7)DB+QW>NAOc;)4!_#XO1IdW#?^7x^J_QzIMyv!QlXdfi68-WI$ z%|=mj7$YH5E5Z>G-WC)jul-Yv{k8wCILJOrLjHQS?24zxxhG19gGT_*arGH&kR%NF zbBu<#TtX%r6rOBk3km)B-`+`@T?ECQCK-#cxd&ss9ZWl}5`wnG4+1#lKBuwGo%Pau z!_Y%;aoF=woh2H|wf&-;WsF}^U{@KISr-tTH0Q)c1f;0f+62E^=RGLN;(!?^eC-zPKINeGD1B=LX9I6J)(2Z~ z3NzXIrSMLPC$STIUtj{Bha)<`(6vcFQE3Q`(v%A=5iZYzwqDMPQZc>Jt2!sBj`9)9 z#pWVvn*GQUY756cr4t$Bvi994^G$N-3U1 z`PkT&z#f3W3hS2NM?x}IL7nUbDGAecCBueCF8mu|Y3UJhprm>buU)kQy^!nFi&p0S zenqEEL5%EuPj+N4B)R7egOoI+S-D54-GYbvm<3=j??CQ^et2>N0VO`=XDTFp${hA< zS~*X1GG_QEu7lBw-)r8b$U2sN09LZCPkd6a(IGHh<3L!BW!`^`73|1Q$WEO zj7DC&S`gY@kekTlH*#$zbTS%VNHSED-cYA{Id4z*drz}5=PEF>B9xnIQJp!9rA1=Q z&xi454%ULh1|hWVMnj|)nW8Ur&#F%Kbfnm2S}cBCP6m!l^A?#hn^QQqd#I`-{5+(5 zEhh&$iV*|;>`%u}kLG9Yx2UlcyjXu*zu3Q5$FCv=$?vz2MkNKZZ&7SL%+=bBUG$2n zrDOaVnp{;o63+J8!T020ybg_nv*&dk%tgJr3K9;SgTj1U_s5zPny=&r?@)vWhRnU$ z;ufj!c5&j^(9di4Q@jIB$(eyIhNReAtN7Y=-O~E=@WOy~I$oM&u{AjB&(r0kB$AQD^7)-2lu0FmY>PHhw=^eIen{RH5?bVb=q!`wf`5iP@u{`5;vUE`zp;mtmhslap8dSP-DwSF@B~{hUtT z(w_0L{O@zOp`LjPTr7uWA#0cxRMaI;`wjkK?p}G7?AsW`4$t5W;~ecO)yAp!St`se z5+k%mC{O>JgoPZ8i422M__q!Eut+k?H_0Q`&(V^^uZoH=+z}w$rUURRQL?}g^TjWQ zTYwu+AER5M*)~fQZCo#&!bz5NoDj$Z7$)KZVNLIE73vE9*?d^~1{>r`Bk`nQKCW(9 zhY;QW^V~>J_QxWPEO(RP7Tw9h0XH%@OIn^+LHUHgGicT!aSyg+Rt!MNkc5Zo__XNd z1vayduiWj#1B#8rD)cnbyjr)lK^|ALAFq>Qqjq1A~o{puaz5- z%8-VgX^bVgSe}@woLlWr1rps=#1@blz>#B)Jp9#ZH6B+)JqT@*8CF_}5rFPR_4@H@ zoy42xd-?t8Bej}2?z_Jv5_ns{Q}#*%OVQCp8Wr4tY}aBHm{{ipj`c-4Hv_fQymDbK z;(Bt=A}Co)n$@QPU47gDJ$OuHPK@+NY+Hyg<(Wc!8S<()$?4Ul+8Qqr9B2EE>J(+w zB}@aKIF{=o;(=?7GP_1q0=nmvASqs&8X?*GBfj4U36~GQ{coINlfqywd*;kaqRa!7 zt+B>8%nEolavQs?gK@(;D)jNBHJ?0{AntvQ@s4_1#;&sR4k6g_AoaDa6^3CifY1lw zB}|&Bqi)N^qY18LqqKbd%c)4Qs0(vR1oJUsAgEBXw5!{|tXRzeKpVsC1MQXjRT3c0g{AJZ*F#-oulzNElJRuJ?2A}N-CpbzeGF$(*K zJLFqv)SJ;A?Nx-wK3hZ=$zj0E`f)^>6!^;T!1`?we^|l)b_tJ$Qsgc z`3~4eBW(Oi&;+jm6|ISqBtmi)SKxspVZ{w6;U4kMSgP^CM#dh2O-#B@-_y4cMM0Y- zpCj2TBB&5ck?-!c3g`QSBx4w>ey~STNF2uR-9QGbi|iW*O1az!$&H~_%HGp-uW@uiq(JY+`uzHirO}Km8Bx!~gjrhN!e)!?b}dF3I01Pr&@)Z+Gx}bK|x+wI|t?s)*w5( zIWT@cJ~a91{DoW>0v?;NYS54) zc3L&Skf@RZmHiWMdVn>QFXA5cAGUoGoXrXP0#hs57b1t2w}s&fbHTR{c&@#6v+NXM zDDepW)j?OJ+8|%P+(uC1mo00d(-Nj|bS;Om1*yG}-L!3aMlkp+|Mm)h_(um({rL|p z`5B!~`fr`ZaWV8|R^4_J^$2xykrKpX2F=e z`+2K+szz^Eh=0a75V2-Rlfmbt)W=lgT}}fmhwn!P1tfl0{RXdwy2-GL*J0x^b~XFZ z)|Kx!k<)W>AC@I@98}SFDg=saB-*S_S<)FhDK4U8ZJZ*$qV%oM-p1AGZQN0(8Z}hB z)5PBvx%B-I6CCYIY9S$Hl}?iA;ZH^nVCvSMBf&fNURR z6H6S8C=6U1r+dLu)UR#?8sMFcvNMeW?vDDIyxn}C;o_GH7QISh@QT`=Ua9f{3<$Gk z7k9Qkfv#E&Hml1ofxzF$_CBU(igb&8%q4PbhuxAUz;-LQ)@)EId{0c*o)VD~1*m~9 z+#+0z)mFhD&ceCoN`jEs2BrF1uEg8W=?F$ea~QVR?Q4EnAEnoxNevN>>l$Fn7SSZM z*v!mw$%b*vW|JG=00X|g$8@ziz4?lfQ-Ud^og_46!RX>(`h7{{F&=M&G;7O8yL1&R zA7xypMDK=P(@Wm#={RA?S!iNsATv)GOZ8}E*k&4I!hlL&tHNl`<)=qMsRSZriuS%1 zw5Du?O#QF{N4%p@Y! z8ZWbx18+#@6|cBiu0Y|)&1Dmyd|nc1_EIc1gkJ-|tJIg+-#4U1t*P}pOD+GTQRxX3 zglVVr3YO4b+b?k3gX-fGWRDkNLP)p38$n=#6qi0jZH|abo`)pzW~p{b`+}KFAE*5{ zL$@8*y4$V3dyJnAF-{KIt9!TmZT_6cqi-V5-%1Mc9;(-EwU(R_SU^?%U`4n=&D4Do zT>IsKZq3N}8r3ncPJ3I<4}TtFv%5OWHil>!#h1h!FlVgz#`RV_8}cEyRnQtod-glB zBEkK0d##&ec=+p|q!{(XyT14gTouV3 z?7b~YHQGgDsF;!;0!SzX$ACz(e=K9+1eu6vN9w1q1%D?^u0a%V&h)2qD6xQ&>R{G| zoJ;}?Y9M&4Cd!4~aD(1hNuGPs zV-+w5m_++%nomnK=u04@;e2x90}v)r$s?X%Ik4q~UWBH3?FUSm47Dy*3RH!}`fhx4 zMbgZIN)WN%KhTpTv-1`U6HU+{075A0<*qvc$DA!9F7mUaH3*<mb{6)(h76z0VN92G}p^_zEV=03J0cZ!zZbPl6wTFMLgP23S*fdH$j~8U+&c(}H7fKDAVoqNcozGc z1SR$~a3lTI4xb{!n{Bvq3q!>Y<3=5B{*>R);7ck)wBLuc5p`d-h@pH$ z$51a*Yf)8=G*lXw(ewxxO$5i*UKt}XB>U>%5A22s7tIGy2pT?9KJD=9_iUl8lSmG} zP{r(tU%j8%?4>rZC!sOtEpipS=3JKj!fo_+>*zXGNOabJFpCuFk6tfy2q;Zr6-pzz z9Ou1eQ(O#QuuSC{d?$xS{i;siJ}f62d52k5gvmb!RQF37`0oZ*>nd~86o*7)wnXz{aq4A857mz_1>~eHAl_!Tb{=QVLhn z%R*>chXx68_$%w${S5SXua@civQqXTe^4s+{f~Qas$gg(#TdfIOqhfnL?8V3W7T-v z*lnYFtvmwCcC)>+Na~=1U?u z;N8QBpCBpH-4rachXFL!!yKo+Q?^xIk-~^lfbOlrtCRF zT}_I=imI5d(VZCkTg1t<#=mE%T%v>qJ&D#B(G05+Rl@Ss!XS$kSw=o+ z12Tz%&f2F1bXklaik{NqiVJY33f=$U)neFDwGugI*whz%n{>r(nNTS8K5CCF^72CN zEYMcG=RV+LLosddl6F(=ydmoEm(aL(@%c;;c!Yz#a@?j}EseTxKrL@IF*A}18cEc& z>3udv-3EjtaQ{+QKNpz(IzO&x4F4RiXnrOzJ}{pOhKu&4E}jJKZ@^RbIm94`^$!hP z^I;VME#?P%W$8OvJjL_$wMibuiv&^Z5$7aCAE;cB8Y=newi6Q_P%0#qXAs43+}GT{ zhw0l5sz(s4S~c!9%V#_Ap#wuNyC#K3SXMjyQ+j zIMP|=47ehY3ikm-B)4gU$X<8FbVE!>bx<<(vKJObZ?or?)p;@Tr;<6wRoos=;LLZX z@&%NT9;eW(;Z7rd0+jkhlbr-7i-i>EP)t^*qt zHRr;{QQhEdc003KG$0APRf8ib-Uh@E=3UOyCp^ zfjS1HhPEdY7)EqH^Q(0w+1$z%uTf6pg;PR33QHLnwa-6;^0mAH91wF}P!tsq&GMAR zZ6jK)5k$V2c(CZYMk%K|UqfCyUVthQc%G-J1kAnjznlr2-Ca<#iyv7={122?qUOQH zyoYQ5RNTM}YGd%_0F>bm><7!me$rpsPfN;cia(FV3%=lxs=LhGQ z6yjl=vCd-MPaxC9m|ZPP>qnE(ht`D&L<&V+f)u#y2;kZ>#fx6T+&DL)W4p=UvT-?; zpy`p4+6Ddx09-($zlV=AoKb17QWih;JY_9ExoETyQyk4Y*=F!$EF)xRdX>4%pHc9$ z>RxdO#VTEYdF}f%b9}|jkTGx#?X!=zn@)3|WqgYW9bNv}pB*N5{H(nCVPTNlwo$Z1ww@~CFyhlmT^LE+Rzh@##o1HTrKg1bvFTr^GrDo z9iB;8)zM=w#at~WvNfiM8BC&h2q(>hN_AbVr;A()2uRJFFuw!}(jw1NE@Tjig@cT8 zGXhR?7!5h83>-W8o{j69}j0z;Ss*jH6QxW-5G6HLrHorQ>%2TVcXemQCbzS5Bq z5EeQvV~{EG#e5Tm=j0Ll;{`c{hI%~^`cLqZE{E{SCLN@4OP9x3G6c-=ZGsw8#s(9w zKR0TvPVF5J!t#w5MQwDBL2%Gh7&||Mbc1-poa5I zkC45-)p1J6j3l*}#7-wjyb(>1ppx-pi>EtALqm!pt7Sm4x1szi1jY8T186|8E=_(C z%-x(*gk0(a-FWDpYIol$x?&@C`@o1~%x9d4Ypx|w&!Dl~V-e|Yh@F~9aZZ7pWP^7f zm}l`<%vvZ(_0Bw@I2$!@C~ML%RqsuAi354BwN-ADr+%3ZGBvMU8L?J*=8L;#EAo;M z!W%lp$-y|bEH0Hp*y=T)`l8Rst`(w)w~E<3EWM>>{5L**^6fHfD2-o02+j5a;cymX zhnJ{Q z--cZbOaz0eI|vpVY4t>^?!m(KOmqX>Alv|@Vvxa97HGR!d9=ECEvttf%l-?yA#+k! z@Apqj-CPLE&eN_80TO$2o{+@3T9w+LU)9hhZCEwP7 z%kXCTh?djY;)WesTGz6t#Q9$?{{FB3)XD#!+XMKj`~QutyOsN&t*`h0U*tn#meu~E ze4vw(PNMOo&AAqc&o^0CBmfv^5x^@4iRvV=s`9Q)&1QlbTjAd(XIT1Z=RiB)4;qc z0|T+8X5J`dTlu;CDnAyRipJLy;eXA?q5q63e}Dh^z&Nfhz8(ZkGIqsRg%ormqfu~jS&^T z%+$JKS(+Z*OkgEZcwHz4JBx z%NO}9w*OpA5X3-7Q2s}4i1q+Q_8NjV>J$?`5U$XxUh6#K@R362G$M^8@mB>1{7v92| z88B8;gOcT$2Eh~Dqx6$ib(~{i5x%W>R8E^!}(+bzc}u5SsM- z%7Mx10gc2%%W~~mD9KRzoi3_?}8=qxI z!9m>CC+i}_lvq_zfhysD-Q)e;lY_(OU7NPSygQ+McSCB2m-N^our%$=uzMZ7_(IyL zrwI}bR|ARZUMos!pjb6;P2)O_zK+q|#JhP+b_58xS_4d%UjUA0qFT*){_vq`b6YLL zJknXWTzc25n9i3b!DH0)$}yitjn(jH6%LJOrp3K3@o4TPlFXny<^c8E?pP~5uQxS! zi&12czt|Vfq&S6!^O+QJT(R=7=-GrGniq76l$S-4#Q&R;Axd8Ni&A+16@O)Mrna|T zcRSa=i_9H4WDm}=(|LK^G0?n@Eq0PCIhd*MX4i8rduS6v=-r5)R|_Ym@X}5g2Q!UH zCi$$1lJ2J@IT#5f6N#SV@SC8=CRIlZ9X+ENWl6$oXUReXl(6Us4C9=kgDk|Qq!}(~ zJQ*C|lmQ@3UkfN62&Sf!WF}*@z;RNVu&)NSf`$i@y_s&}=N$f==T6TQ{@0I#iT%gE zaEjCu#5$6wFWC(aH%t3YOn?2$Q;qwPxqemK|E1RdxpJz`idQ$xgmiA4CF{NgE@wE{ zR^R^1Ji^JxCygcZD3ZGvdrNCj%Sv8Y&%7xa=9Y?e$Xj&f9RnRq(&_BO*?)R5C)}tL z9lo%L3Ev3U;wvUAk-sSi0f! zUVY33q)BQbNm$t7p(gi0b#52Hw#?}@+J_mFozL~ye`Ex zjr7nkPU)H~zAu%C9TtWKduU{MU0mMR%{#J4wd-+O=_Pv;3Odz8>&)i)#BbJ+S?B5H z(@zG2q{2u!8roWA%4s&5{%r8j zp-tsK^NZ@hcgiVhA|5&A>`}D5W5S}Ht*pGGw~lKI{WddV04!-t(EHFnubp;HZTv~r zPn+i3ssT(W<|e2!aRh3c&<;|3IJzESuJZ$u25~4McUnx)#PxQyA#=BTP=r&?*F+A< zIw|9tDYE8zKM*u)dWKHUnEx`&>wpv34iAuDdApxs&Bj@PbX5jH#8IoGL}Cso4~d;g zdd)$ZdgvRZLxx=9&-PlLn(DnYlT*taSfa>V08*3ogON2b%`7FZ%&E=pZS z(OgtBB?Lq)XrZY0yi~<&*Qw$@FITZl2GEvd0Bc4yd=(mhH1p#R$?=SHc;?cKxSc*N zO$D0KzBVpe28Mp*(~JY=QXxO z_O$z}Y0F){!F7_b`{4q2MeSVWyFD)OdemYO zT-3v74+mn*H10dSGSCvIKS_*G-kZSsZ?lsO|K1ww+RACGwkr(&?(d# zUI02{cnslfi`;?XEUkfnx!0Pov4n!Nehc5UVC&36%0MSc=^RK__iwXVVru6j_nN&1?y3?BAfJ~GYdWDS8__H3^pVD61oE8Cm4s@s@6Ysz20DJ{tA zRC0?%Hwl^S!sSO^Tx7|n;Aub{eTdhxb3C@3tCj1@P|~EO2hpe=f`f6ja+UF9DZPDf z5UM08mddqkBxwF*)$!{7rMt&T z)Vb0yE{jTM%{4wDTT5hRXPoQS9fy=}%HLIuW|y%cC4GUt>X&cj^IS|^oaX$Jixzv0 zOcB;hzFR}{K<>n31>TM=(k4AbL4z*LsEd@-;NCrcMl0Z3*CQ8*2ULZKQ+29ULmK({ zrF6A49GzQ1vz0YBxf~^lUQ;6mSIGFNM(+WfPMyS3i5XG?UeRJ|AZu#6KzB+^u+w|M zURI=8(Y)M2%Q3-*a)L5s>^8}yPl51)3GvTefK_iuM?P8m5^SmmnfX6d3rCz zg+qC-x*aj9301e89aM2rmvr4LI^&v#*e+;OJEvXesCIS1diVo9{J|B&FCFTB!#W0> z)2=rS9FDHPwdijN2>j(?}k0O(ba&Q5m22r zNN1tfGVuCwiaJoi=}HfT8vpgL`dFcAwT0^^gTnrP>_iw}Ker3UPeB5(FDkhJGfb>_ zo#f^t`%-@!;H-^{uLe!v*?VP_zXn-g{{B+ZK`+K1?K`d)-%;9XLq7Bk<@-kA%<_wA zKaFuj!f!1Y6_BYQ?s4fR{}H_it*bj!d8;HKZyl!A6)Eqlx-uUA)D>`+*LJdgw#@q4 zm|oXh>CdsiS8YSLFO*zbW%K?8u!*=Q`KLpl7jH7U!ABlQDEg_s>nX9nE@O-}B6Qu% z-KRP{nGGiGh9|p(I_N_FaG$2>YqZJ72K+@~~>~@=-8>^l5O2Yz3>DRrUIo@bFc*UH6igY@%_!G|F`?ur@=!i-D~Pr7dxDtDeG-SIV)aa23AXpHplW%Xr=lURhTF z!shtv`w|>E)d-yaVQ1}?mn6>B8H=!0Ub#>}Ek z^#mHaY_$?vP$ClIFy5$J^O6UeRTnYS{N^sKZL7^igi3fRvdyIKZkul8c-;VenU^%Q zMw@}d2=p*St5G|g;0lGUR(h2+Qze$yv#8T&`~szy)Y8Ei z2#F&TH6){=bXuU&v1!Vcv|^*$#C(+{~+EOM)s)iVODIO!nQr%azH|rcmKFSu^ugLX`MKWxe zE0y|AU~6+vLXu#5o}dN4?zP!hE`fe%cVuMr+7Fz^+#y@axqk4T+8_F&0?2+8*InQ& z1g?knHG0th?H}X+EkW(Sy#M#s-P_gtKX*63`hS0s5BgD_gVY&jAj`q=Ie1NSP^yMm za1IjK;5Fvy5#-24@kbsBX`x?tmN2a~yIKKDjebZ)NRd|6-+~DcPR#AS4@3q?J(Pvg zzoc_Dg_*a0Y(H&w?xM)WRphY81iZ;x!Eej!&Q2WIh;7G!AAR z^&~xq>RF3yW#c>*rYX>RMwrP4R2hfp$6Mg^YP%^XgNL<;K1tEf4f%-aj17^O*cA-* zkb6QU;8biz$tYb__--a9$i3QOi1N(X1iwl>j9o7{{{BamFGnr=yW0CPnMlWQK$1pk*P!^BEEZhQDF znj*IIl3=I<=qu*AqWXaCoUlrnECwV1L`fcI1y^NbU|!-qo6AJ0M~BZ($O1nDrf8X; z?H!)i z2!RZI0p+&Bv7&)^b?hX|-oTHRyJY4%K+;01nEW;`fM#c%S%%TBmj#>hu3D}X8O3vB zP3jt0;X-ll7G$J*5gY<<`I5Xvo$t{iS&b5#yp;UaC#t1gH0foEoQ-Pq4g!}XT zCv~Jh2BMi}4Mi~GXgnzf7eTW5Nx)DQig7f!Ll|MS;arnoVmJyk4pJX_!P8;?-KvTj zQ^Z0zdVeDdz%+tRMRXV{#N5|`gV-w`i3&tNdmq5-2C@(>+;ezUUNtO!_1HdPeHt>4 z*hoKyp?zd4W&yuas%s0f`x0M zrb%Law$EzjG|2S<%SfjQk9ywUy87NCereGh|6at zFIN(n&$s_SaT-5?2Gmdi`|7ey?v_J)_{Dp3>hDeXr8nuvu7T`j{j+-Q=PZ2!CWgZMp=4#!VOt(i_cZezB>^u5>a>IYy} z0_6Su&RXj#4Os&8IX!i~qVSIsenkdhOQ2b=Lth*#P+derg$8Y=zJPCzlxYP^5P;E+6&7Ohr_EX zygYge#|2jS?%ndrJDAN6%O9>913|Y2+DRU)CfNdccBAr)tgtJ zThYhp{%|bEC>l^OwgQ&+J{d>Lt5>83=<2v+wb>okB>8S^E}&uG7oG3 z2Vo2>7oe=EXdaR^0iY8b18Y{*Jk%w1Oe$?HMM`qkPz>kO=>;huR1<9i&;w{B;jk!3 zthJ}sBwi1Y%w43Toho)*zQgdt3swW;6P8VH5CQuU70#n!F=3(3PPpO6#qc&Lq4!lE z3&^+NT~!aR?9fK%?rl2XH#!?1AzU^lA&R0*Qa-YZLxg5A^pl(vR~@umDi6cUPhC<; z3}SSX zqoMH;(D853xJ@3PZnU;u;k)H~_m*vCKCGckon+ylO+S=!CDF4UKOEHR#9=Z9?%}?N z0}K%8k7}GHrwvDpE`MB5B37$+@1ysZ&uB@>xUldCc4H$x1-k2|EVeSPDtwVVGoTsf=Y-=$jARlAth-qgn1t zU-j&XDe%Eg%0Nq_=4hd5T3t+5E+G&c1Z`la-{))1SvK$%sIpWGTV&)SBFgCv$ksTB z-`6$rCWtR@#)Jl~Keg->{SGoN+oCMhP5oVQsZ=)=nQjpK?B(@^x<8Ar^f=1}o9q+e zUSG2Fr=%tn&L_)W*Ob0~kNoxLNnpQQ2K$^+*vHCY*O0`jve4HWxe^3U0E)) zaBF_*w!F@ktaRpbcH?SPv3sfv`g(9aVn0>(Qn|$iqWkqW(j_x={R#Snom9&*)Ci{f zNC!yX#k_kt!S7oB?V0svaupb*D?7Ta>r>oFuX0{w`VN`$b<1OIq3zixokC#_;ZuDq z_0pMyBD3lbGP*)%fN7v@eTHcv5~=0n&Hp#S+ZOO!={#O64z48?UR*v z(tosiAkfS06uv?Mt1)_>p4VAj6VfWSBZE4BTdq z*9ofgV4$sfD>cRf^wunVWXZ}Gvc`CA|80>4(#b&_g-OxQqoH&dV`g*QQfRVek`iD@ z%2XR3hK_Zg8Raa4sn0sD55oB*1tho!Z|`?H_oC_eKKeHFqa@&Xl=(a=C>ybMH(p^i zT2A(ziG+F`J9o%e&kno(FFW{%#o*Du5H;H;QI0=>4rPN6I^@5RPnv&`@>(%v&?aM& z_}x1kjf#fb%kX!ZE-?A){j;-(xuE}UA8K8rWI%_u1 zhHI-W`uA+L^1FF@wtjZrc?Cc68{~`cQBLo|e)%OZ05f(X6)RG`$lbGKf4+2D8O49Tlio8vHlpjPxV!b$|Km%19Jh%7V4QWHbi2T4 zATpoq{D@)0fu-XgTks2?-B4TPOrg!Y*#j0YWQHMdl35^raL*6-_IrmfPADH9?Gj^| z#{6W%`(f35&I4lPo!?}#CBNl5L4NV=i2Ps{-Tb%+4bUt|wDM4-Yxf6oNag`473Bx= z>iG3lb>!i2Tps!U-sAGfy^#&kCl}6a^E>+VS%`*L51MZU^$*hH$Pb{*ahTK&`JAV> ze$Xsd_@jP&wDaQ06$>8X)r9%QY9x0_O6Vbmhvs*J0Nk0gHYlGuf7Myb!+)FU39@ly zre_MA*)%d3hbW(iGxIa|-oimhA@1$(NP9!;N61Ij;U#`|Py&BC?a+Li6>~;XL0G$V zfy&ZUM>3_bhRKBrFxYj1olKKNJ1& z!=?3mvmnaqfY1wo^g6tt^w1ih{#}NQBK}!#&^FzkK!S11t;65F!3BJg6huF43ovCmwn zPQW4_z>nKSAW8X%Zu+C6Dp%{!1!jFMy4>_%`Bl?dsk}U>oEQKEdDwn zH#GERv=LucXJ-hm{-$1PZ3#kGy7KepN%Gq1B+ibJ6MMD_qOybc5GdboZ`ple1ha@37zpm{R<<`Rc>6cOZVy zVaN2)T6$bfL94$Iu04=9T^fyNJ;BBN;V-|^8j2Ea$;IHua%#Cv|B9+VHnr=|nbQdp zPVhQmK84vjAyQ@5PDB25BIR)V*P&8;@;EFE{`PqodD6AMq7PAdhe=t19Ka0gd0E5` zINpie-lr2W?(XG8tiIAUXqc4$2pYx}CPTcD(0jwq%?D++$~$KpSvGFbj$yvlv+h8) z1~!gizpmOi+$?S!sQJOAY6RjzeQBhNSpIDJik)T%h%+vYN-}@-1fZj5kXv6h4b%a) z)4OJ7ZB5!);|c$;V6SRsixAW7GjTRVE=h3q3vDxh!wjR+eyQm=%0*TfLLtf02CPQGY+qE3-scR*G*a-H#zV%$;W8Ou%QpCeIF3L zNdKfG$%plzzWCX)RJhjO(r8|HBz=wh^grce^#3Mm$>+ZXxLp6gv9Y;X*8kt$y7N{4 z|3yAtsHDcy(h7!WdLBq77*_C_cs8ZWfyesAS9@)ykFu!NDVr@$Jd7|S%@-cmXI`@PD~x3}DIYEX0>PV>eR z{3|4*r5g9Q)mGT!kv zg)`M0hr@@Df-sB1XD|0UX*OQfjY3^aT}4y9g3*BZ607Dg>t{ifJj}x}^7MB*Nm#heJdFlnl85@qZaTZj@B&aZ2dg;F zyDj|p`&PO49ZE4qMJcF#n7s*y9S!Cv97Z{J9}S3%=~ANdbe;`3$~9UaWfVvm`F{%V z3MUZ$P3HwdfdeQSMFTNW!Z6+-F-$RD9EM*{-$dvINZM?Q@&#;nN&&bAX)=shjKfOP zu;}WJ-6(Y}$5?98rva*ODNtbO z4#FAT^Dv^SF22-oDNCYk*J2&pG#E;A{iR7%Or3P!R^4NQzO~01VWcrUli8 z$-+Af=q_NS&ifq+xI7&d=Rp=~G}C!F1{fp-u}{Jg5~Ag~JED^(2gmC8@X^W7J4gEp zzP~s+{OMqCe^34R3%uM{yN54+IXZa!fqUnrw0HJ8aUc{j`99m>frhA)0cY(&mXrGz);T* zPt?$)a0XsljqpnBWQ0&z1TTAIoN&q zbmvIDczN{V@OWRr;D|IH9Pd8eIe50e*MUAjyK4WZ{pTm@_{q-Gr={T@{``FZ2nXPe z^~Zha>CTT&2^=*Cquo0=+TT6FVcBoHFp1E~r!95-Vt@AlzwG~GA4aru^h-;?9`FA@ zFQE{;q|WU;+j$IQY+f-tutK{pkM^Ho$6-E>U;cP}a&YqUWM4f#Jlw-MM`*|UM?W3x z?jQe$dU|+F6Zi6XzXgq)>`?On1!fIi!}lLw9v{&B9XvnTKRSB(;^g4)`6?{<&oDg% zZFdK1@6lWzKBqCmWE~#;f^cy@XenCi=O_E{{0QfkW^D)O;uvOc_rxiN0HIZw&l6{` z>iPcTrw5PspYQJD+d~BO^TF}{DlFc?F%~%BmVe%XW?$0SamAox1n`lM%Pm@3b?`{- z?EQ3rotN@}50ZM~7oNV|Co=WCDOhP#k`KCFeX1@keZ%kYUrO+4&S8D~2}N{Xzx|^h zyIl+l3C~tgZ-x;V@$ksPH%s3f|MdJQe51D2ci+O_E*`?)mJ1&2QMrR575ju^8{xe` zR|cIPmF$9YomI{WN%~SK5arn_!s#sLkmVTf6^R}~f=Q#z8)n>sqa%~J`P-zcP z9cC5HLYBUP4SswqJxXNa7XxJH{7b++I(WM8LIZHW_d_7Q*;P-0Rsq5S0e`0U6%bf; zsP@$H=V*aosN(|GF35&f09K=b=Rq=NyPk1f~FJ1q}ZWn}h?S%Ee5G;kiv#_a=bDzmMzR4`K8nr31hW4m>Tc4%nTSnwYTm zp%X=oLP$X;zR_FByR^{H-oIB3y`vj$=^pG%G+TapxU)yD5*@S*M-y+9H{L_ZZ|sJ{ zM=j-TNZ5TERHJ3KGgO0hG8EyB?XndB;L#~mGlepnjr3z4NLYXNmCd^^L$3OK^1TX>bK^Zum|Z%}xq ziG+EE57EP<)Wqz3=t36^|3+geXGb!>k&a+6;{Tt$?*M3OSsD&iiXaLq_835V=peld zs3=WAiVz?`Xo)0%G(i+WR8+8lND&bg6)P%M6h#HQf{2KSioI8C{AW+gNdU{e@80iw z-|uV2ZHl+IjdPLb0e&Zj-4pkwmL4RS|Lp`-oJ5|xn-e!h_znk53Tj(9pAD>$U z`6fJ1u|G1fxR4|Qz$bB#_n6cp^a+~60#%NYk7uA6WVrGalKW^FY*?l;z&9erA-Dw8 z2?tAAPM-^0uaL%}D*V~8f&PT5VYb4$lNuGlH%PEq2L};HHj;tIAUljsM^j_LS~&}x z8iBYRDAAE%IS{oBkZO@?xHBMv3DB15{&02vaD5OS_*jrBpj9wjY+zOdArlA%0wFk< zkxd|^0+|rcm|GABNdx2=VY1+-!7&Lju^#d{ zDixq#06W-KQk>XdXryg23W|3Q#v!N#fym4fgOT8^p^qL%gee5BK@jkO>!kvVm65zcmkBlYbqLL_K2`M*`oZCb}YtEN?g-VNz>?iH+qaa#__!+qgqyup06(O%nwykA-e-uIG%u}m;+SE2ARIl1F8r$!tapMU?q*q0epfM zmj?tUb_3DGWAGdsc!N|bl|oeM(Noa9W_Y*+H3mujNzjpzlhDM{RG>KVniTeKHi%d! z7SkZZS)P^6ERey#b#hP%>V3>pFYN3HNFB+mVh+}9gF%W&ScIbU8LmwS(jko%j0XM! zZvaV!qJn2=L9|v_8ct&(Nig}OVV~v&0)wQ)rGub7G&qwDA}+})5CSoiwc?I4>Yq_j*q5+wuXVWA4P))Q*l2&8OvpPs1P=O*aWHGYbwPD6B|oR zQ%BT2SgYaE4PqJ~DSDXL1c0_foRj^~t`5Nupp%v3Ax#kMNn$6^5q(ZPBn&y%u7c?x z@K?d?Ar1$v;l;ocw&D<{cm)2Zi1f>9d|49V&cbs9A>l%JIf-{7C18ct3GaHqt8sk! z7o*7vT=jE;exkyvGI7KZ zJCvZ0sS_Y!`lm9U;D+E_^6=b?JXJwjLv$hD zFN?wDmO>I*aS8>l5Y&OZ^~d^Bg-2j$a0P@0h7^pMii#DOHJ`J1!> zp7WCiH((gTT+nSY--z-LDLg9Ji2f4&z$FOegH`UwM-zXMC@`^x;L0P;|4l03(=t&% z&R}Rph+za`Qzk76&fE)BAVw5!q=&)@Orv9?0wEKhi7q3s>0lEONgPFwi2~VR!eXPK zc^;&*iUqiW)xBVdtk{f5%%lgk`Ule^IW*LfR0Xexu&SaAi)u){0*FR2qGLI9WjLe} z3Tj5yp(2mDWmK@2TKG%E+6JVBSE7!?X&GvR4Qd?_{1J})$VQThbK5Y`M(be{Fr$Gv z3(mS02I+HrSQ+P+LCY%C}me8vUpl5wz)*DtA!1jj}^ooEJ z0PNLLJe?lVXH(!sueNxhdD;T62#tYT{?_!UQ4qs~^@lC|k~p$3a4(D#=(L!AY5=bY z6@Xi|GM7onN^}0g?hXan9D)~!J?!1UMv4~HzAvcC7hZ5x@pT9BJAiHgHG-*s$eUoo z8+bzsewd`6q6z)gMgIa21+pEG;VQGBOVim|)6Py61J+G3A^i15pgjN=t2jEEI6IrT zyL+R+@mOb`CaYI)+;XHundN)V&g^=_X#xhp=6Q-F9PCkkj43=w&tHE}{JZcb)1(l;C>OOcAj2IGN&_F_6HYDWXM}SO$?1E)7JaJ$x zg7GxLO$jm__X|e=ehDFgdw@ePouIiW6gb9%=c)(@p>Y7hz2$iggf^U#p|=Q!5sqfY z!?9n;nuHpVCp_(d&nL74-Ga9%JhRkPCM_5qYh=`oyz~mtWl!fi5r}-`1ql*2}AtE;zVHnzS+rx z4UV}6_gyb56nXkfrYH>Bhdqi^ff%K|%}YLA5Z^ZWnE}bfEJ)^Wnvg)j#f?bJ(?|)d z6vAmbQF9Vr5JD?NkD>Bvyj+bD`U6sp_v?S5KsI4>m@JU59e8`AvkfjjF%NI>)E0f{ zjIK8;V2R#QhM$J%miQ#Df`~XE;DhK4u(uQ&jd<+QgH^HZau}2=4v{q|_ycH>3>w=X z%~xuIKx$w=*gVQGo2%Ipm0B~bVGA;@)PYueX?U=&i5l5ZyU(T(a1HDSf77so+E1EC z^+C`$pK6FV&DA^mKmioeK>qnF%_FKKyb;QyM52xB>SGFPA5B9gG~mCy4gXTRuyTm* z1R_8AS~fzp+CJI^1vHR<{>mpq+6^Zfc0NTnWC{2DpHD@R>jMkCm}aav`w? zwo&IYfV(8h1N^!&ij|&r|9t}&(Ln$GE7-sqb6?27FL<9NjD8OW zfa+cNhr#!n1ab41(4~bksbm#8KnW>MK)?b=5`x0efqwE1H2wu9CYTDw>mT&H7=>_9 zWeZcR;BG^zLi$bz7d2EE`Uky-zVEa1)QO!3`=im|0ffv4%ypI)6ACXUK{GzFRj|wjXB0JEC?Tn>PP<|I0Bbw@mrd8alsA_oe=oy~B6!@lbN zKYp~SkMlpsd5HhuF~Fb1|AYRo&v*XE(BRMczklcAJro0uJNTnk&o7^(LFh#bnj^px zuzyetlg*ByhhT>Z9U)sQk`5b=keGoF)F36u92y(lodv#x%vd(r7HWSw>h{skSwj;O zXSg(cWL*J1w~nongVjvj4RwawRIZ~xYRSQVyNEBZIyCBF*#X?EgSueh2chlHVX6?` zA&0&Z9FT^AqlP2&p;X{=g|8=r@a2f-3!yOKaQ&}fstyZA7$e->mFb z{|=UTAq{e$ID+v?z@s9=IkafV5o#@`YVUox^b z1*S5jdaP3XIb0E71!V`##fR1^eqhO2j1nidy8la-I0{zq=6WizQAzLIaId|nB(&?gz z{e?K|0j8p29frJDfeL`dtSBbD*%3p-TxwN`{iuu|+JnH+h-G-AkN;;dzO;PiV~sL6#NNRkc*fNn{Z1IEJjO z0DS(S|M3NQL1IwjLqcK2w^xc z7924euSgZ^L@gz@78q+Fc?g||R!!zD#Xr!XkUIZsz9pqEvN}5^2<==zxTvnprh>DJk-%9O4SJ5On8P5D9!^8g3c^*v=LLa_3>Z3y?xBA` zj1Ht7m?ePkBzZ2lG>|HSp$ix6!N6}Xn(mJ_4dSQcT?wxsLR{l(O;tn7!kZ90jDz52 zPDTTMLk16)R}3VKBEvaC0E9ZIjtV;$0UtO#1p|m83IPFNcr^}PZNfvQfmYEvuo6%` zp(sOWfz>cPCJDl55aviJtZ4$a+=~MJPYp6YLG$WlUH)7$ePj%R$|xx$fdVPPCSH*HHMhI%0LE2K->t4A380HD}#AOuzwI1e5#kU zwSvq0BjwS#3SJ+kpdpQT0JvM}94vSY>{*Ofh7E)Q_EoSeCRCZb$E>OL{?67eJ{-g+ z5(}b*0R(~5L>#^@gTq6jvt?{xf(JkZn#Ur*i8~MLX G9R-{P*Tifq{!B^z)iK2r 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 literal 0 HcmV?d00001 diff --git a/vendor/gems/cache/rspec-1.2.9.gem b/vendor/gems/cache/rspec-1.2.9.gem new file mode 100755 index 0000000000000000000000000000000000000000..4a712d64035a004cd5a81671426db67614dbc46f GIT binary patch literal 208384 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 bi;NU5$h8_JTaQfz8 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 z z{O3YN7{8;o0Rt{c^b(FbZ<>Tv+Nm0cFx`k`t|x2S4ZNEMKgY?)J5;RJt;NmSc`U%R_9E`WToV^ju;`4c}TRZ+{PG1zf zA?6B`qAAV9-l8DC)jSJdnvrl0TU4wqh`g$hP#fwje&lvJPA?41x^)@plkK-+RG5-g z@+(nnf3}lF80UQ3p#YCWX>T0N&VWmNI<>FFmur^Chg4Wu8&HKApsD29@Fv_E}UiYD?a&zd3B9ucyc@N zN~XiNNns&U#ERw8QJchmL;^SY`>T;mZD5%c7PGGRiy;r8}%%ZP{nEG&|F}4e#t|kgZBoqy3ct=HVU;<;o@2$k@ zx^XN{o*Ch7sBo1gl-*3ORM%9R{lnrInPy_1-24p7lC_4h2q2jr3x#pp79!+wWZ@c` zBp71}x-h@jQie0XgL3R)6#A|V4*cnlkxGnKs=ePUSt<(mOPgkS*lW;ev~=0Kx_~RQI>F0zfEywkbZQ#I%L*~lC-m{ zi3v`%nD(nOdrd2q)*r+chwbWn2GZ86tZY?*S&QK8f%^qqflB*GY@=dY2?QuWjCY>> z^8BY2ZW)Lg8-!L~L!KjQVG3ugPYQx_i1f6k;FsJ6Ng`-K&a1?iRt@a?!}qBJqIgi3 zhk^#UO%bvyL^>B;HM5_L#L!)qq;=_da7AZ+AD^3?cZc;TuH+h?1vVEJUFs8Jg4uwx zeo&wkh1Bga*=nMA3i&39BL)f$$xX~+!OHCKlgE zu4E4EC&jq!@y7|E=p3WeYVRlX@vDao8>ZfcTJ-G!8q!KiS{N3eTlU3Q|T>vDLX z2xY8HzxS`4ohj52GTb(0Q-gotPB5*AKu1Tz0G&fmT6!H7=m11$jA*GI69GkmFUhD# ztDhB)5d^IdGZ4xlVehs}&^4#uc6_m|)$@Me2UulSzw=eEDzeP#Kc+I<1D!z1OtEqx z4{Q`3Gug0pf}n!44`A+@hb;Wvpgl<*h%w0Mi{tsdJjgg>oKaXX#b1$Mer16Z?NbVy zwMbsgF@@$%P>v!UI2JjDr5)CHN>UOfl=#XILyookvQmjl%2@fId?XUHyNv-C`JMbt ztfLV%dy%e$AW)Q`B7l zHCNHtISJR0o@O2)&Qrs$8fnssw=uMDudsPb=V8_8SuYp2&Hk2|U{Jwh!b+EiJgiDA zeY}0$?rf~v9sjGwAk1rtO`N?IoIckmwbfZG_Nxa!-F)+!JNyEm$qczZ3 zeaYghIK%}?Cd?fA1`qb{q)69NAFOyb7z2X3f>54lPo;(Tvu5w=L7mS;L5#TUNi=0;yIBB=1WNRYuxlk$eFNa_+{N)j!78*y3OzknHW;W7o7P@!WtraobPw>q?(Yoxv{ zyg`5D(-vpiZ2tAqV>CSCbHyGpEhv{dZ3Q+=Q0&V`4c)Pc?veREk+3k-FvDqnHRr1E z?ECB}=-xqpI;Ql3-i$Ou+tVc7}LSl?XYg21>c5(;Of;e&#__A2Th(5TW} zPIH6>s80%7y1#j7gt6>usA+L~!v>0qW<;WEoH$#=eo#`&MfB^tG8Y|mJC@UeJ`H#W zfCe%&tsFHOX^Ef5Y9{u{?cv3Bg`&_Zjm>-@dtlK*Zbl604@FinK1AuElHBH4Dg}gv zn#Mr8@!B@v6XqzT^Z;NSVs(C6_QNjc_-=|%fZD*OTeUqjpgTQ`SJ^7O083J z68kzvIbFoU8If+rMXs0gQ3-yh$|bk_Q6I+hKU53Bu}5QrI3RT15Y{Ws#6XZ@s74r| zMN`3w)*Ab4`M}heHQGa(nlUz|>W>6h*@|sLDAgd1H#A390Z*AvLBCFP0uva{F&#{l3$mqf(N5%Gy@XCYqutR!W0!`_ zrpVm;i4U)|4@FA7Cyj)|oZKOg-ZC1EhwPo*a{EXQ+AB*v(ZKqciU&(dFO z)tc)+TPN%F{7VuzMI!~y7Ab2eQo1#4fB3C2fjuga0qAWVZC@LRIj-zL_Vygy5)MLq zI?(fumB2Qr=c=)h%4x;3Wa$vo z-0gpYHfphO;H=J(m^_Yzw6sYVn{?K)az$M;nTr}o9w_*b_tRLj@}h<#pz62@LU5Df zF}tt1E@En`5KF9Lj8ClIxvW|U^POybzMotU;moroVU+asxhlrJzL66px*I*Am1m%K zi7>{xO*VB#BM4e>mw*LKq0(z9t58AW10@m8Pd3u)|1 zj62cjSFw*}#Bs43HpB014&bW=h+%sO;j^DfOxZ-`>t7Dbcs%*0+-&j_5v7c+S z>rt_}kATN@fO=;|Tld&qDCGMm#6&SNN~F+|m_d;=jhTj#e05b!euLWmv;Y zlFoxO-t`q7&J*!F-Rp|))VXmLaZ$}tZx$|@>PqD7i+HnRQfXZ`Kxnfwlbm5BSQJB` zLFh2fJ?%9EWUcHgKgtK#`)zN|j5WT-EixMikCsVZsB+Z#Eg7=wPG>VHuFpk&2vtH} zpC>t8aSa=7?HC?;Mw@}@^cA+bA-cHI_%#>@9Ff&J;`8~H^L~`nCkHY$teZ z^m+@Z8M@)a^j&Nz^aE{)Gn~x<*>`h*`37!c3DjNNpir7uLu;Xe_f{PDN_mtxiX4PM zN&-Rpn1;2u%A^ppLvJMfR0#GE*2J3^W9nv0^oP1q1e2%Q6u6RiV!% zyW@^Cs{nH{hS1tGcfafk0ZI`L7i{2NWyRZolOkj69H_|_)>lv$7syPUVqa$GDAZRd z$a+hVpM~AZ%BQIpi>=Ssv$ggD$1ijdZ>oBx=eUzQH3QqmOvNMlSHv=H-T?4!&f4(5 zugrjF(}_GRFm=TA==L4s#+*+>tGqMZkQ{Zi+F++sVEVk+$k3x94xvEd8N|$`X|<5! zi)D=){lL~$h3arm>-n@Gh-&EEc(L#^EGyReHH)FoOr#~Xz`6QusEMe^lw)xyN4(ZC zAx$*#-D8Uub)!5dnU14i-Zca zW$*RK>#}9)61l{ZvpB@nHND?-#|J@ZNot$0m1M;XC*r)Bq@Y#w2W2?Krc0o&kZ@WP zc`pN!Szh@9*fIlf+*?Cw=+<}cG2Goco26iN`TcNRB=l;IEOZuiS9P!qM)Vb~MN4(+ zqx5tw8LMsRlbKVLAB30&CpHGu4h>7>8H4Fs=ZWtC4HTLpubOgoDBVZ6&eou}Fh3xI zd-mJTkmbW?QtYi4;u=lRWyeP(P%Z}@kM^5L0^ro3%gHct*HWY`6Q-<&*U9L1qjf;m zH}7k!>}rk-UTcN4{<`O|e&Hw`k?al*e!G?q9M{mSCd2_+T330n$6g&icjouMg;Sd& zg`)wLWZ3s)o%91y7XBs6zoBf+fyUgqDUCm`310&YI?hkt1SaAFdI&Ye;89}${Xz;@ zfRO(Fd@R7G=j-=!;=^A3N+X~5KMN3r-lBBLNI1J#9Ay-*QDHAchTwPHkRxP1U*)}a zg#aXR6_5?6fW4w-b-5bFE==HP+u$NVF_xc1?!bL7Fz#BxeZbnL#%Vwm@YL(>h)N(p zdWLiQV^5FGRO4Pc*%Nvw<>=^S5>}ZMpg52iNTDtyh*ojS@0QJk&4Zs{pz23nNkdl3 z{^h+zmQ;UBVV1Ow0Pgd1Lu@(q41l`&1tD9i1aoYO$EV2n755AYIq_{UjgR$lTFr~~ z9B`gc69yy$VMkxk_~Xl4m-3f9h!kO1eKym$2o|S_uyKDfXa}iNAK^R$%4AcKs;dOC z*D~H82WHHS-`3+Y#IgRLPg`EU$wZlc;MuEUA4aKfLJtS6`|9=n47~Gr#)-S^+s9#; zVaS@N-^Nu}$RaF8Jj6bgbk}f(@(ZhU%hZ2-Ii+QiK+du;mY$( z!3?U3?x|=C(g#589QqT%n=!pUhg%{9t(rn$Gvvd{u$^196&VTlOLXkT1VFstX-12^ zWCbz122g}^`qbqEx3DdcX!`ta0%`boZ$8Y!5snw*c*2zkiaIm zyGwBQ4g2z+Tes@edAU!w>Qvp+FSB~4)>_m3Fg4v@_19|(-%jdO&I*(Eo2odVq+?+) zsxNh|Ax&C@TYADm#ASA9i7f|g?xK*PHda$dI4qOPEOSs_I%^%7?5la_xT{DJcFcsI z$6lMxl$BE_zqwJ~Y-iWS-`LL4-`I}gLpt0>t+??Ow=e!V#-GE$DMQegIU z?gDetTUJH>$ALVobW28Spl&8k9RNO1$zt-Cm&z{+ii*5^@Wv z3?o^UFvPWc!Cp#iApCR8aWbvgF^*)8%m+t44pgLYTX=^wT;E}<%QFiDZu zf}<85Lr30jspMw9zap8#m4w0f!!K^I6-m6>YT|#&jP8|K=LDAo*yq8$8&eFvBhY~` z7k)ojKo7JcWb(Y?3@Xg~EV1H0e+zY+{3g3$j?O~dzqkId$CadP^{n8`n*cu%#ms1B zJRAz$FNuMEr5T;uz+SuBlJ`>yCJHFhUB;j7r?Y5izYT{+TU=1%b~YYi&f>3RkiNki zyq?9|{EWGgOjcwsEoj3Yd2by)xnrqw&dWZR=fswPpYW`*XOP1tgv9-tj{V~^J|vi2 zlhu2JPw!zws~k1syQ0tmF zic&4pQ%cXeBFd{2(N>u7<-;Lk4dqqZO@Ty1`0qL|zAX>&)^M_nT;rQDeKL$?dn{;( zwl?!=4!tzfdozkMjT~L-zxokT;^~GFZjV5DKo~!Kv-FWpy{czN%{8c{F4laJQ6Z5m ztBP;m*Ao1nRmx~AgN_za1XA<6p`2Jdy;0nv@tRt{2-SN?cc?Gj?zE~0hjXs!JVS83 zkcxR4mEeA0IAmE%q6`pE+&U68^(>#()_jQd&=StCFK^aI?8^Y65&y1ZIc{zT>B@8J zvvz*0bSm-mf6^V85)e*5!Q)5OQF;nyYnHW18A$pu=b|QM>(CBRuC`ON{?cC6^J!a$ zo=I37q)qhu0!`D425zhX(8=G|J1K}nsRkNmaUfW)*(Hj(DENc{5{yz-OJTv25>gZe z{@|7eOOZ^U_jpjhx7k!6Gj!%9%pbXE!Fwzvrul14{VKrq{=pgf^%?xy^nAy7x)vZk zfz1#DQASGS@b3W)Xeds;9n6>$Nn>!v!fYu=fi~I0V`ReBRlbIq`3aGtd(L9&_9{an z6o=S{yv?T1xNsIQb`pDFqe952p{#IS^*G&%LoZ+U!y?lcpUQ5vJ99~Pmr%sHD39Cz zuBcxpm870Fb9J@~heK5^Ruyim9;{uwZsIFk z_(=&SlRz?z10Q0e%tMVM`-8x|%7jn0LG(f*m z3sP|~$Ap)7Qpj>jmvwSV!_OA$?wEM~2pewG!yLt?$g|#Si8|oM$APWfIYA#{*WHus z66L~nlnF#teu@_@Fc{Udgj>LV5^~n_m;;SwR$&_C+mO_ztFMKRubD?snFwfII%6wTzzgA99rRugQrP|4(+^!5X^bf7 zgJo$#7Z_BXdO-3PHf<4K+r*)|UY%mJgEZ1kHNbYDy)&PBpnRtb>3tb^>G}KOv^d2P zaDdY?5UZf|R@rn}u54R4+Awrr;~`3;wIh#wxTv zJ$f9fs0r_ti|ai3$}_PRGAdf@q8G$mZf?T-P%OZ zrvA~gLgekXSkoza4(hwiq&8}UvHV!AgjPlkJ;5b+yQSw5?Z>Q-s1s?no1adc)t&!v zdU{fCi?sD6uVwa1OrVe`UKU@3juoi`B{DD;;)NDONucBv;i17XCq7x%* z#iGmAR5k}|)&iD;OtsOz6+iosudfdar?VlPRcNTwk zlgl(*Bu{sjSUpc)S|+O6BCEeI(5dSJvxy1GDTP)5NQlLl?#s zGSbQ2p(d^lwq-^p1~G@E&y**JF&}%%HnOTyY#q0-CLn$N6z1);a3vzjFqk&tUa2Lz zgx(p&YofnLhB;qZWR;!hOCwA;sWInp!po>P-C z+~K&=^fGi~)`vV`WrCd4W43axpF~3gX;}jO15aWtwc-VphBJFXgiB>Rfee=yDE-DMjPNOuCMF@Gf(x_%z}Ujw2LSPIT`th1^f&=232g`@_#gA z_EK;OoI819<1^oId)nfyF52jfZT@pjw%4x=1|_J9yVt0z`U$%vNM~WcqFB{J#e=pJ zW0EVslib*bfM&NN*oB!QawlSJrk-**dCKm3t(lzzQ8mq>_en{Zde6|!J|ML9YLK7# zCNMFn1BDAH?Q>(x>x(i79!67$@AG$+bGOFQSEsCxx*;+z>iyu=JQ zW7uVPYl_K-(58k|L{~{CgJQFTfSP_qdex1aLbS%<+}tV`dNSVo^f1fc9jyTa)yOJ zrF{Y_)TvV#rhsPzxE$u$s9^_potL@k_z5O*0@HDhwCdb)SyBpJLS-Qz{Z5jB^}T~o z8|0en6gv7(hDrR958YlcPwy~K>faiCFLbO1@*v>qp0$FBoyyKv#tUxnUpP6w2?(O& z|A9sf%)U-+rCdUt4wj^9Ylbg{iN;FXY35^SsbalE4jHjWZ@aTfN(fgkgTPV)B^7`(JidTWMK_RV2f64jWGRfgoIW zq+o6VQ&^R=!>kf(YV};<0M~Zh*0cpTDPM?;>W2Zx8P6@UJi?NJXIkA-uy}+ zj9vL6;=x*IZ4fg@b{C zfkNS7P)8oJV1n`AwEsWiY~y8NZQ*6XVHfa!W;EBE@bmJ*{5`(OzmEJoJRkmN?!VW$ zd3d?_V5qqM&vx`rANKb2vhaBOy|2BEjnhBP|Lf!bw*C*({>iw1egEH7r;JB|5$hjO zhJl|oF|J){!wJ5x)w~AuwdSeub5EAAH`r5lEXsA9s%T++hVILPLMy7mzK9#B~C{i7vRjgkFSR zTk3c}TM03-07BSSFGsdl^u)EewpN$ zj4vT@L>KkorR)|tnML&9%TeWs%Aq`@IiE2w zDj?ifLtU{H!Yu`F=ytUm&i&2bWcO)k?bf+p z((Pa@JNL`Nswo|QPN?$TU1b)EzgYJ+5E;$)HAxKg`FSseyly2I21BHDD5rg>y5{ab zxAFv4&u<)zbT2v4@0=xMuXZdUuSBkI2Pzxc+o%J~e0 zJ&2rYe)RXGKM3zOmw89XQNxSGWQtc==_JUmInBP@T8Sy2N=icpXpEy=b{6@A|G*vVH zx(%sxApGt5$a};`IL0x(4_u#K0*B?|S{NEYEC<{A=JH{*teZKJZzU6CadMGoj)TEx z#p^GtrEt&f1C^}lje2pGZ?r%ObImFE3znxo=%{bFOOA%ndl)O>(=l?jQK6A?wV8{Y zbs<(!6;4p}n5?19Ret!(Tj!j{7bRLnq_{~cTWZSgUORUPKP6m0@kNuYV4aU-qz;JV?b~>l7+0Tk=TILIA%bfnp{MI4YWw(A(#oHQ8rE!pDin@tK7C`tOSf}UQ)8|9?28Z{@+|F}?X1<%pC;xQ-{KS; zB|6@n!Oe`W4iMTXs#hh+9;9&WH?i77FJS#w+4Q92H?BacmKS#JT_AN%UEn8 zfcLA}m@X=J$`l9u&#he7I$!U&IDVKb<@DGCjt0_{-GM2~X9!vgAE=p~{1_t(tR+nJ z3ro9$3ov58JDpYEwXUBwpC>hJ7x$_Y$Fk2}Hy(&a9?3T|FP2W!$m67X96APY1 z;foxcwgSGyZGMWM-vxGvnfaFyGX)O_GNGYl5Kiwfeg7o1>g<>uPR_nz6->L?aul5L z>ufS_eY;{t=pEBv>G4bC(Oxxa)d@K6cSSDb7+H8010F=)S&QwGo{lSNi$qwJWiH#P zoobh#vq(Ey+x9I_j6XV{ydiqW6X`*hAm^8)O+6NSX z77$iLrDwVc<1GjNq6z?+nj)iPD9qGpbtH67+jd5P=u4%MxjMZG3Zihu__+8ldP1VA zcIC_T@1L{LDhe!QHIOo#;%0CzrOBd@o`5ui5SR|tF!}6;dcB{IBVt^bKDGBJT$l@7 z^eZz}a=Mfi?Ap$9RBa4B796rgQB>BL#dE2id^crTeGD9Y`@U9j-vr8g`E=EuXLwO+ zx#?4|?KQxD!~D)hbuawwN)A4bbP1unA4wE_`n*u*2mjKy!lzr+7P^cO&Oq17e=JK^ zx$l?e(rJBU&ldrsqBz2=oSCe_rZb~rjhYq~(7uGlMc(d_1DsSFhSCpUI>OYq4Lhzo z+;L9lAgqG5YKDWQ&U&tEyDYHTn3nhrTPDhdQU1GMmPmi62gKD|T`j zc*ZJURk18bs?g=1U#$aGPX>0BI)h63n|_=Ufkv|$klm?3qm*~sQu7%P?(1*{E)8Ph z^LGI_f-3Yv4mZr7)9+_bpQ995LYo z1m=z&#ohrWTuw{^!N(uvf*inX9CICkM9@lXPCPAg(Dx9O+baYO1RDE}ONw`mb90&RWEPZ_Ne>Q-;m84?ky#oINQ*i!0q!)!EhiM7;!gqOn)-G?`l)#c+a4mTg>uSRkvxPO zO}a&9f1N(Gy4m94gEbNyfq7q3P3{qyQ(r+4R@>Ktn@R z5ng=XomiHTW%1^D`l23${7Uukw~}`r(nG*a0qP)klsb|by$v7q&sVCA_r8=q=dB&u z?K0B=`wR6!P|}v<&K;wcVLd}pj99Dud{@~<_B@Zl%kgmznx!K!syz7$gxm_WEJzQ* z>f%Og8YQccL$46%*(0T#L%+NZi#Ibq~U48%=@t>A0^Lzu#I^Xvn)!mUgT=g5e{R#*GnLW=su!g`m!)UWhtx)Khu;pexBX0hs29Av$N2?n@kpZal#lD?KExW^_|^ z;T5Ki>NiWJ2bqQpuFDhajg;Lsl$S{_n+LM%??O&(L`%?F=b$s+f!4a<*R>$gce8M( z6Dy-bL91e?>(2PSfAAlEol#*Iznt%g7HN>pNyl)W>*u`Ol9?8^*6vvyKndO=tiPjp d4%a_YUJC!F;nsh)^&b!X#{>WIz`uuG6(|^Rl#s>61^?&sLtT{P2SXr3=@3H@j&&C00+j;v6nEQG)W^p~8&StHgna;));fj}qwPe~*iw?YI2AdO8Red(R zcLS`=&ud+?(s8mdb1snjXYT_dWrRdG3JB%m3+v--6#0|J^CZ~|kB*MiTD$&_>Ewi8Da@DxwPqEWlIq1ZOJLdQspZk<1rv7I0WN=PAfCp`?ddQ&V3d zG%irAIWY;~xuy`Quu>yZL8$#GGcWBw)OJyUXV2rA=|MN>Ir6}_^r+kE@C_W zb#{G%l=T)sT_+_@u0XfslHA=M-|U0*ZfNqX@eh}`?EK`qAobX-7f2#j?dAve8CRGe zL=^|w^yV_wBKniezzQO?|AsA~K%#?}f4vRFK)9}jhc$f~xTWwD@S8ohH8H!e6WtF% z@kV%cWceEyvN3%7&{w>1_YN@hu0B*56^bvYR;3aTO{CzT}{f-lr83H>6o^n$j6>w3kov^YIFrf3>&c!0pQD+miF*Op~ixg1~Cbg zh&P=(8#OZ9vB19DxS=)HkG(?~2~>%25J5m7tMR}JZx9ngRM5lF-3zyX9WwDm1`T3k zg^4>e2MiQcG3D(m@BB7cQBRR>`pI9;W4)7T;e!1nAR}TQ%O{kTz%7di4tgQ| zOjgVu1w%j)91e!+jH9f3;$<_2bs?#lV?x za7M=a3FCr<;(!j-fsNmSp#ceNC+f(c6rnbOh=#Qc^^O2%(b17Kw}{ynNS|o3n1$z`*Wh2q2hJ$f+`h$nc+}%)tZ8-!^1QriW~;5Ku5C%**8J6AhC&$eD&G?1Ov`!mjyS*=Dz!?i?!cg z`m!G!0e}WR5!^|LkRS&Tk<{qSI~{~>oIQX^>tmHZ`bLPo3ia>ctx6Q(UJ($7u277E9BT|aE*9idwe>w1VTkT#lt&k6C@*T=r<%Fu*{j# z67dB!52#d8bhKg%hP26IA}-76A{AwLNRHGY@giI@p}v_C6{m0DpawE1VG&}HY#>{# zehzT7f59kHf^;PJm_s~XLfkT&Ufm9BFjh@n%Sxsrwqd4&HQIJaBSaldLA+4}K&LFy zW+0I=kRJ2`z$j@!alv9pVQsSzxY8uX45_2@1EgO1^GKDrJ1v3R3q?jmuZSwx_)(c}@1S|?$W{&^)8s&w!UF>|FuHz!waIS2*90c~Ak2{6(S zXoYq~B`!6AD&~PSBRHWCXDFOgXCbpwxp)@NH((NR*iz+rBXll(HmsvWQVNO)Ab%hn zW|oZuF^+UR8L(tl*m2&4b)(TbrWpwXiFs}j^$qAW3A)!?p3TsCLC{ZC~O zrC-;>5+O7!=u%EMS;{zR#PVk1LM7y}NJ*yP1mkA-Qmc6|h)yG!g^iMCXk(*6HzsW4 zb4VKS&M+o|e1#AmkX&P8x>a6+(M~UaBm9zmLr{))T8L2PFc_vN46zH&lpazI2;L5~#{G~!b8}@Gle}KZSKz#uL7?UMHi%{?Z5D`(rGw``L?lt(| zop$7dfPjeV_D1t&NVQME3Q=T(_%@?+M0idEQJWrr4%FoSg)BhA0d=nhm=P)wPE*L8 zs{-WX{s#+X7f(3;05}Qin8gSp<-<&b%*9Ios1F-$!g(Kn2q8rbMhQiV#zK7<%V9FeJI@;D5v_V6aKJrGKfv|IF$w?X3UWqxgJ#BJ>4=_%4+D`Of}T zWMjYW{pDn4`>6u}MoaA#_L;emTbLXO3k=T3oI~{G^7yu$ul{kxR7QQM{)bC%9_p_ z)!^C-s1q_{`UCG) zKL@U3eTxC&;VHA+-T)RAsDW32z6UpTZ8@+gCHqz+L>ssau>oTVWzsBWC^__Um-kLl z;BaL)hDabH;}Gij$vJBHBW5bCU4~rf=`d#CZ^X#)rNJa1J{zk2Xy9+75JZ%`!j1ct z;67aXJ$ca{rRM1w{4gBIIXWpSDCpC{etWQMTsDJGEmO64_m9r8NRXJZqJi^x**XxGtdL>QzW^gSq$18FV998BWlc`zOUfSA@Ryx)qGnO4EPRR!H{uYi z6?e7oe`F7e7~+Odco_I}D^91UT>2nXCo!A@QNnX?A;Xj4X!lzv?jYb#=u*q!L-1xu zrEbt_EaV|zb5T;~)?_}@($V|OBri=z6JZQbH0N|cb+92~BI^uHEljodk)n`c`)-}n zK@9bjyqzpvwr3C$!aGEw>uN5VDolX+EzSkY1LSLT} zKwI_a&o^k|Jis${=r@(PKk=upsi|7}?I*C2OAE?D5$dovX zN>?_XOwxi#rIP<^o2_*GRZAq1yphb8!Nnn`J^u{s*RB#ELt&=yMw68wYYs|sGIE3i z`M!bgj{m5oN6Ljp>|FKCgpxXA7-JNh%8)K40urKLG9e4bLOM%9ARPr#9#$U|{RkpD zdk6LstB+D^?{kQGh365TB7c%(!~%JG%@x8xU6e5ot6)5Kju)HQm8qV%4vaiKh&&sF z5Rw2qYW%H*?EKiq$yqocKEx%A-IjhWchq?=;)C`Tb6PH$56i)f<(ikzm)Cvc$KNBJ zP`~R`jYYJHF_aP~d`^>sqwn8j&#LCqxdLfy)tZEjcTKXQ_gsRRi!)iO)FcFU5cEQP zz3Z8gi8?VbGdl)((4f44;z?u1H$C2LhefHD>$dFP(gvP#Gp zWD{*#WEe~Ufl4V~7`7k4^ycQa=TzjCOv%h|fF+KZ7AY08GDQ(m_q0X=0YYQ)NlQ&d zZ9?E!jEtU0+VguhvMMP68%WE;dzXbO9kP>z$nhp0r0%E6c!I z9H0P|*SwPsO^C`a0qZ+|EXA^yKiqrVf6_r{#t9ue)wc3HR(|ORns;dQ32r*nEL|EgVf`oMQ6&W5 z+R}ogc+CS$1#dYdFOCDMl}U9i!35rQo&g`V=|?HejkfG+xis9T2RSynB_RrF=k}QNe7;KsvFBV10Rfx#F~Evd ztt*?3MpRM@VOjZWZM(4+juZA|w!x7Ih>f2typb z5p=K?$kpwTd1>~KNcJVjQt5cNByvV|oI}UHl8W0%!~$m_Gg}Xq%s^YA5hFxCsH|+7 zqX{mlmbfSOzHPG?2Vcf9yyJqY{{<-sg~-Y%9nq@SX<}=4Z19cl+{o7`8~#t|0tg>p zpw=l?9<7EQyqO$R_^BHO>2~FujulN4Neh|sGC15Wvp{TWP3Z3my2w2ygCL0Tjf5eP z|5g-(9;Qw-K`>(kP%ZTEKVj53wc*`i2a9sZ5<@n|@8El1w04%p^9CL4E~Vc2B2SJc zn{k82WGwjydvS%U^n1eXe zI-zfz0eEq&;ovkQplClcKWa8`KJeV+_J~oYV%-0ie*rDAY}on(o%<*F>NcSfGl;>2 zb~GT^76bi(-kYWX^cQ_~hMR{AwxN%B&^+vpXjxN+hg;oFdh2+%a z&)F*ntMRPVCQRBafRYlF^pSZ{n}h^XSba?38lnXfiMsfAU2h)mkE9?)3^jp7XcE)4 zZ9@j;&y*+CU^*pb2(~B)aCH_!4$8Up z65rerNq^lq*Bov>x=hULORe1Pp;EFYf6s z#e^#Yd0>iOrVSll1G!`81&#hqqaE}cG9t@)$yI+GNj8mn*stS2E590o@bG?|?^=1rs-OEtmZw z)dtmn9ZwY~7L_=2QJ@?Lb1sk<%-d)b|)M^ub#aiA+M_ zd-%Ab-+xci{7_QP5goXrBSvQkRZR3W$MCy)ZSoY;3_sdSr`!pbWXdvVJdk^M%=BJ> zMJg)#+!}}1iv^Vj>E!v1ipGG;W!p$K0(%US(NCAj&BL+Eq)u(5P^5vBESNY5M+CL% zpVFmfuHO(OAX@&_J3M`fN40q4+}?9(U-7c0IKg9~+}{10=EGwm~5p;=IMszVy0 zM;{=KQ7ZhQ<*TLW7v%A(dW9n;LH12&fl6^^^{bQ{ynyX@7xuKXLG!~Ujr%kFg(9c0 z2L>y38xFzO?FIVu)PbyYOzL%@<|bGO-Pi9a@gfC<@;x<1tRzea*N*AiifI@~QXMkh zWt$iFLyAVc-j#)BOiqLsZ>%(qS7S8DCFU;&)aj5l;2BcV{&wKY^+AbH0*|m@8~7gf z?7|Z4UmDT?l7Ce{r>{WTwF$Q_XyMmYEd8Hr1Ce?@29uhXZV1{le4m+3>$6en`j)I8 z8%#Ji%e5ayC<<;G8y5;B>gvE&)@Sc38PiN?(15Eq#QujtvMddXN!KpG20PHcEOaD^ zk3%0x=l&yjF^qghIPE{fMZv)1{Gp;g2!yv|T10bU(388LU9b<+&F2W5f*=bTjZ_Oa zLiBq**}a_tm*bZ9rs^vn?P3z$!s=@p37-+3~m^SFXD`6k%*Jf{=C`4#DSP7X>p#2K6k8@%!m3z8zs``6-rQ<(~(_L)3*c?=4ETGlZlaE8kP?2wYx+J zhR|q9IR9WMqS8Vp^W#6GU;AGsazvBqn8bCIJ`)ZW-sn%+XOIC~i?vL&4FJ>J+kReUX%1VWMFg5fG)(9hn^3 zE0I}R<3j_>IB@PGVUt9dYCj4w|IUVp1WA9&I!q-vHW^U{sFsYm5>c*`->f@6q#5Cd ze zdap|&+N{N+7EdGVH4y60uDg%uzw_;4cHq;hISERHv{>M99ZzF(Ol6c@9RUmhdEp*| zm42ERWE~I^1*yHq(LEUQP?X}TX!}u^VYsxzmj@6C&q}ZglfjSD3+xxAt6g(dEt%^Q zPBCD{PFWYL!j$cq^@mioK>bX8@P@0gN7sOn?dVUWa}KJD;x+v-YBDuC70|l(N;m#> zk}T43FX48l1SunBa+`>o&KSBdt$3?3=-h$Z<^J^s$p$=(Y~l!+bv*jJ;Nmm8&-YF5 zuN>HQQjR(RC+}W6{Ee>;FeLE@79{C!r#8B0!y!WcT@G?``ETO8JMbpqzc<4az-|g= z;6~j;;<&NR%v`ImlG3mJ0HZCcStr%9yR{dHXzY#0bdQ8eyY$>R+YlgK@8@K}g1 zF^TebQ-Ih5Vwl(~9Gcr&WFKwn&c=*ck>JHcrU_(iIG61LnlD+{1VVXp-F<{tm`M4O z_WemloD=Ogm|uehR4V`kq%qd#URLwgWkZTBTLIQm>)@XpMsF^Lt0=hG;1BXM{WM6c zkaM&gPJb((UWPc~G3$lW zc&*cD2ZLyEz6t3?O`{;TBq!^J{^EQ#K-@Ugtf(*l>1xq}((bVknUfg0s@r()H>3YR zxuDs!6S$ue=n+d)-e?TySfA13SL*y;gn9JIJR$K+(q+4xK2NunzOQ`U43+CVdB8CH zu~5!wtua>=CYrPuLeYx;fYVAi|^v*xxM-cAwgMW}#CFEr&F%$Uyf?)g^A0sGQoLi3gua(|20hCo- zr!lhnd4wxxR29J#SQ9j6bG0tTXyW;xkQ4uiAs$pI&W^=7z1H1AhGL@AX+KfW7O1eI zV=OS57N6W@6Gl(~iT{lEKETM zFGQrc%$T`^3if?RqD;aiC{`B%EehE+FEsz!_k^8Mr6*D|BWV96j17<>%`POJpPv$y zD{`#3V+H3K%h1q;8k`8^o+_`j7N(c}wA6yMf5?7qvE#Wb!@J+bUj%`qA-`U7VzCZx z?C}NY=Y^$}v4A;AN+vbM%y&_=`-8$OYuq0+lo1%B_+rVTAEfT9Kjc0F>+Zr{eUe^| zN|N6}HE)n{SfO{QHHhxPiXxij1J)y^9Vo5aEr$p5D9%d8NDSW>()H*GXd;xL!pKmG zQA&C2jiT%52Zb|+gqOjqDBAvNP#%k48TiEyai&;M!_|%~T6Q%ZOP4jeL2w+cj4-}y zpM559K8Q&3mF;iwQ8&gW^nk4~oW4Rszkq{pMY^}gyO)QfCqdCvXp4xQIY3-|Kp)`E z(3{TQr1V^hEgjx)(>9!y1nV$}1C$hWZJvvObJ_@H7Q*TUOHvUsOC#>*F?J2kms1lG z%uYYZIS|v(lM{?c$Zx|8A`;+BAy$$KnZXc>`X!u(h5B5nH5+LX=qKKj z);dJ@uQy}WjTr^Mj0C*Q0Tm!f=pMXRT0rzVg(@aVfUj~9rI3o?&^5*}?8g{E4w94i zA-SuI2{=4ks;sN=Ksk3f6E%X9jE=a!xRu$7wC6-2+p^B1nKyeMq$5DI%wx64s!%z!MF^Kn|rszDN)eX-R4lNY_mA-P5d6CBI9sI)gzpHq;WpnKo|cI zca8+m+qe-N)ejcHK+5J=224Au!FVN@K-UaOHoG?=IIW&~xIAwo*@M ze%Nd@g_4h2f_21+KgU#U5vy!hWz%Ok;jr>=PgS&rUl`S2c-Y;KX(8DOVmylcvGP~{ zX=09w`cRYtzXr&5H<+ zqSwrq=kXiw;}<~S@rrmcaOnj03D38p{4ECu9JeExTQ93j=)cH`=!~*XqpsUIF4cbt z2gEV5SM;XMU3(`fVR3{$^yfCfC=WoufhLB7$hPrB>3L~;{v__fkzjY z>&!2oO`e5=eM!`h*L~NU;GW#f?FpM5fEHUoWL{f$p4L2(4`vC|S^^;_)O1I=QJED^ z0{ZOmyiy<^Lf6#foaO-bK@tHWFdM4hT27R}H^e;$B~CmxG>X@P$uxHH-8ET^L*ZfL zUPt?&F(Xg^17evnQ*t|oXb`r_fw?-DK`k^B3^UvGkS+@N5%T6BAbN@!06NFG9(W)x zOOicOq6*(3M?gLZ)LWC?ZxRL&A)F_8{rGh}f{s9?bn64K4on}v-35Nr&Z#gWo(Vse z7V#juxH~^*BqgN;0SM;_zn|D&A3X2pr0P=z*CMe;=9rECYk*@d$-dO&R4{!l$I^*3U|B+56Utn+_` zZO-aR-VJ2$yoY_4v#ZN&n=U8h3D|D-r;)~`JG% zCAZVS#3F=F&~@rUpb;D1+ybKSo8;^V`jx+heZ?_F;v%fz;(kd%l^>1SeN!oH1a?;@ z+HO~?&#zEVD{@y=JTKnv9D9Z1_sQyP>EtWiFHP2yNe)7vzbEG>`_GFScdP5ve7JX+ z*)5r+2zWKe{xrM-eXkaa;}zs1o^SF29_}aUj$MUf4F&nKolM^{MSpcpnugY<>(2aP z*4D=qI+_80Lt>6IIO3&0w)`0z*b1?I8_&nvexfg?%(W8nC@ULOJ>c}Vd!2FBTEDwfHqJ>u~nxh=x1}f92n(NOl3hgJIl(-%DtVC8#1!52Z+7|9M6yZ(Z?YGT-@9m7+?sHvG<;; zoFwM=-ag(tvp|+)h%c2y}Eg4 zE9cKuk0xIq&)&2OVV*+emTBH9oMj5Q6BwzzenERcsqY2FJ(s-+_ux0pp7^XB_QNFjiH~lQvEZ1 zdwfAC-@}*5wGe={n)LNNSJgL}h5bwd-*R2$M*yIzr$_#Q1dT|?vu1k5?e!G!Y`Fk_ zEW@QHhjvd9XioW3wO*qwYZf)glqEwtYie#Q;JR0?30MJ|EssMBU&kcf!?h1pi`2c< zR@+v~4z%>o{)Tw^V${UTMGe79Oxh?r?kEL}+UQC?v4L(}1WcV+*6gZ2s%mitQF=og zeic0~aDL_v`IZ-EgcF+6LUs$X2+aj*EX>T3+KKlB#M2*@HwTZ7Vo>1|xYxPH?8)%b zUuafRtd6j`kAAhV}0EXssG;bDggx|BEI z?C2B-UcI;clO%I0p7ljAbB6#!^kdcDv|f9HN8!rG%5Lka4!6iobb#;k{9aAj4{+se zYuLLKyvh*XOs+8ZB$V5Gv7 zUFImG!S0r-6_>fLXJyR5YAAbmOnN=#u2!g0i0w{eer$`y5w*SvnwhkwjND-84l-r` z`LL@j93D;4#3wb3r2aSpd61{SsYgXH?3UR#2P1FDh<{{Nx`{gP@HXpPJbPt6l9RPO zll?M_XgMwSr{&Mf@GBcQ``1Iv5qQ;qZ9i>`b+Wgxd$)jE&hFU;M)>TO$*23UPyfOt zE3QqgZ-Nx9U3^qGg&R+4oDV&V_uog9JR z$4Xu!%Fz_{gzYN9PnNxa_0SeQDYhxn#OO1lXeOSyEs`Mm?AxEIvi9NQSYEreFGt^Zue{+K*g z$4E1;(e|eAFRDSJpKj>JZM90c_hSi0t8qwos;mghG_e23k8NvY{!w|+&hX9J3L&WL zs$c0m3>d*$>Tk{F_Ub{67MFO&fcbItosG5S>`VTlM(q7kcSaziGX9M+1_R?P$E=z*ELo>sHP+=&;f`>}X#ua2yYNuw0(bkk z``o^1o&A}*I?ItV%eTrj!+7yJ^Ol=Si%_NAm^GSKu-x$WbG*x0Sa-3l$+upgoi~eS(IK_JNuOM`H z-Idg!{k*3NW|^TwlmRajC!Ejw&f&Pkz)$sMVfjmzwk(yVPIT1(4v*ZE;>5+;{Nuhm zbimS#K?M|M?Ilzdt(^B`JBf2?D{J6R?_0B-QNP7_!{5?UmruY8RXrTnMVI(s0Y$q( z^Q=HHj^FCw#iOxxut2gw(jmZI;-Gh=W+oAWfF`#GnDV3A`)Q<1{dwSyAn7flsdV-> z-j!*aH?ml?xA(8r1nPN$`D49CexL^8)mNCfVtm^V~g4R=VW@{{08`hzV1tstuL7`*WsM2%0Kw^8JISz z?E?5i!)(MCg6=A4kbEtbW$n!1A9oYmromaFAmZmO3_PwA%~fov`fWApjgIE2;$MMo zd)t*`+=2}6N5|eC9iJklCF*)r(;d!I^e50E$nW@MLHmfPWn@W4%&k!^Q z%MqTFfxn{mgms=VzeR)UvKrojy*1asXP-;Bmrsg&O{)!B9ans+tVcmtnRjRYH9xPt zEc#{@rp9bD9#?h++Vy+lK=09tKQpqxN+9lj9UkoPmAW>Wp59rt0(=gR zVrn{KD#u@m1UGU&BokQC`!tduaS%xAc`P|ywu9m`V3X-nAIlvPbkXVY-)_T?2Weeq zj%5a)E}!B9ZKTQH+0f4V(gFr-_NZ61Oeo2ZmK?7xJw6pOlV8TnJOy| zcg=0n7yAlvNY%xE)^kYJjb(W%YTPb#CW~EZ;XoKM`}|~*n!-Cb0hGXEmr%8sdukhi34!PT>F)=u+NOpu?B>iQKvnR}i4me?;^-nnC7 zEEVc|F`!Ok#c|pZTlKwHas?GJ{WT1`0l-)K_4B}C3h~VC}`6%ENwaY_CKUMYHYegAYD(*swEs8Z{?QZO~|&qclyNb zeh#q@Y4X!(?Q3ZA?%n!-bCTYkW!MjWsgvmo3;v+P-mBx$Lo>B2@KJ- ziJL(`lk#Ijp4-OyD_)M?H9wl9E6>tty=gG~M?+j9{x8j46z4jRRK}XzzY`W+-oS_% z>%_4?y*|}m(h7Mbs7*TD?&FiTDLIwu3~B|8JcVzc_a6B z((E4lJIIr|mwvqbv z_Sj}LHUl(WKb9}^IOz=|?D=bq8ASi({fnoECZ*~7P_{L6B=0J$G5Fn-+m(FT=0prn z$oUY>$%K@1n_t%LXZLev^fUACNb_ZPsBF-2x~Wu@l}!9q%RSI)W*#)&NtwEXs7xb= zaQx@65M(!()Y@HTtc+30T>h8XAb#bs%tj^kHoif=>rqFql(kZ+ZTY5mDY=E2esInr z;V+3M=Z^L$`H=Xp~}xwv=IDd)@NrH;JTD*44~InL$@jS59DAu@qVqH z{ZshG&(}D9xlvwI`t{Vh*OPCZe`>TrBMjGc(Y@{LY}9n8&bGb7YVg|ZyptKx4{X2J zumX1Mep|;;D`+nIt7BWNqmJ(}ZeMu1b|Y*}B_oB2d29Wgoi zhuoyCmybG`o#X3VW^=}J3nEu8(CK~kkGS|l&17YtV_mb~4a(-{&OMy`pG%wb#-%QK zGD-ckraoFzRYiM&QN4*K9E|#Qr3R8G{(yVqS+`VT;wyBK`2W&>#`b<UJ1UpAC$!(mIpDsIy{_hUS<+*4cw+#PFFQ`Qvg%kv zw#%+rCFzo#xuXjU88@gl3>^S15fg@s7?d-tS{$8Oj~jGr)g1nBp^_TSw!zU+S8_aD zmWorfuzI~Ch18%RcL+&Ix{X20IUgf78ZJ*|*sG@}px?Ey4!6Mur)?79 z4tA?2xpO~9ZuptAZw-I>gz*=bcU@#&+(xKZTqi-Q&lW-}H8s3%gQ#zv&3#b4PULpBtTFD4ueGC1@C zLa*}VUwv0tFurIpcRmXQ?q_wbne+3)7h8ExB=X7y!chtUP?vyK|j zWuYn@#Ky!L#yeUpyeTugnfJQe4)eF3W@+CN+;+Q;`5IXLGj{3U+A{FU!vm#qE^pUV z5~U})SS7aF+!}1`Wemt}%R3Q{)FXWKufq6_J^3my5hJWbEy8{&!K3vu1iATu2f z;zgHTDY1R(|0Zj3|2g`OJeJzc;u}1Ih#s43{+h5tkKCY^^Wv#45VP*yFtm*w)ckG< zkjIX18sQ}`nbv1d8QZ?UP?NIZBlTYqzriQgEiY?}YuqFb46vy5aSl-%EbHWU8ZvvL zGnMbt$BDFU9?zGrcOKyQ$v%@PkhOuC^g?#@P@STF-X5>Xx)0Uu-+U6k{Eq42gAFtp z_~<-?th~!u_4Xe{nx098D=53>y}5omAT0^q9KC4QTlJd{*fn#PUrm|t$|bgy#Jrm= zCGc$)cwAWo3(xwtiwu@+xx5pXzIC*Yv%~-3+3FSBGB{G&aMl~XDuHX4>awLV3*3DB z;ovYZb)K+(CqLr9mcbdLth`dMwO=7X#w2Zeelfe#iRO9y9WUBys-~VK9rM#IqV%sZ z(*CN|tDUz{~3FWC~^3AXguK82+buGK*MPCgA6&G)cS3b0?6@U7pd(_qO8{NGYoFL|w$t%$aH7^3*Ee0bLQj{{>i^M|hez0$W1!ltyeX(4n)om3a}#1h z_s`#jbG!A%)O>Ya_1wa)tK}+229KFj{+EB&0o!}J8VvdLxU}^CL{e`O#TL;r9|J7a z%gg$x^aZ?goNqLBYY7StZEKE!N$ERWTb6#quSN2Py%C8`=V?x?eqR2CSHsXPb2iro7zN{_Wx~OMoOW! z+tg-ws}%+|$v7O~q#MV)?2%6scGB|qMeF5Jn0sunE6RLMhj~w%o>mZT>v-9|47(`& zn`s2jIl8@`QW5+j|I>0|?jUuRe=IJc@JBGN>w#U(SLAz4_aWzka*2I3lX|$Un`;NV zw%G=NUuv^)2m_hzinsDtzD_+=CnBKdc|ZUH&_efQQeJ+TBzF}@VqhWsaeNo8qf${_ zj~UsHYI$^LL!!HiEATb6>XmU>neTv|od(u9{SE3iI;3p-eX4bp9O1Lm&B6Aw`}*hd zWbx(?7ieC3x?XF=b`{=ElS=t&ul&*Q)w6Rao6o_n^P&*?GyRzd&3ob%Rxr`jB#xk? zmd0mY*{77et#-fy6qCSeT9rV1%orK z$EWgMU0sJt2Zv<;p2<^ln=R$ZLEl^uvWBk{0z*>XJNJy>j0wKf~WGd%I06oFP~0Wb_)cyGlAQ>g4VZIcfi*J2LMa{j_*`Qgj;^ zqf=5JZB9p&mr`x9}7FLdu;h zOeYrzl<^n;m-JD#qA1G%KHQsY3&W6Ko^+STz_-w=@ffuA+XK@eK)a}WJG=ZQt+4ay zAEI4-RAJIsmdb{wT~*&QXSy}KQ{75U{b0KZJ6zm6^BW{ld6n(DNFRD7yki7|sw8{0ov`GYhZ`DZvvS*}S*>VEw zQwh6;e$wN0NBf=B&R1P-<@;74ALi@AlB*6XXkn*t4#&*vDz^1lHtSpd`VBJa0d@P# zX-}NakU;DTVY7taT2<#^5zo~)Y&*-Rg?4y6E=zi^-o1C~$Gh*gX#62I?wCF&p8~c& zf2YL(-jDW&`G72dDhES3py@w{(CnaK1mf<(x%T#HwL%=-jP&SA+Q?4)y9p`fT}C7Q zrTo`X#fP@zt2nJ6<0N$wp6~R@^J4A&uQ4uYwT!g^5FXnjCl+mZO*V(b_8Dcb9;9$)m;*EBMiJz))a44%vzhw zTGdM@#-muz3Q-{1wXMMZOF}|L>UNkaN`NTb91*C9K@p&bwU56^X}v4JE^X4Jyt+&Y zm$Z!Q{C<}S*f?qINT>eCs;^gY6pDzS&97%8WJKQ{UsI=aoxY*>pMhdmI*w@-O+v3}^HjyWIQAKnA6UMQ7mi(1;K+ z^2g!w?d1fm0A3n;uT9=WAwGVKexrSjH$zV~(C?e~&oxT*%QC0=*j*j8e9D|1oh(f| zMF$o47Q@W6Z*9F6pctY)kwcLR>(Lz7J-F5KqV)d&LO{L0jc<{6JMHK#9cD)wmy{Je z-f-dmS^u&fPh^50O;RcE*EHpvw4)W$xXjb5nRIuG=(|LplX<<{Xf zNu-Q|p;PKEjHW2QWJ;ZtV?9A^Q=gW-(I}Tm$*iuF30|kXG?kYb5>i6osME5uY_>?O zy7BotyS(n{lJAm7J2*;5uB9w=Y8i6*Y;b+dN}N*a$*iH1?yB2LIEG$3l9Y1j&EXVT zbZb%n{PMRQ2^!au2kXh=Yn%NG&wq)rDZHMWxRUq2`p}2iFS93QE4vy@O!ZTDlG-KV zeSOp_bGiDIxxS`0%A4>XBRPq?r6Z1{t3B#aY`--%RMB6xx_$GD`bkq5mxle3+P-(> zr9VG!y&}OIQC^bJHoV@mwk)$<(I(}AyJvyUhYXg-y~1^i>uh`}`x=!Mt{xxWY#VU> z8xhyf{d4=k%+8r7zfSf0dVE02sD9a@;|3^J#mnkh(pzh z>^-w&rOlz-gmJc4Eg5PLUt4%g-K=y)aZ15+;^Y=Dmw* z+Q-z=4J7+Zzpj0>W4S|8W6Y|%hntDR9#s`;1g=z2aZOySsBO539 zOAo8_s#E>0Gi>6K;TlJG$Eb|S{TP%xHh=5D%dJ}DJ#AIA(sTMvss5P%_Rn{l<~K`n zt-c&@CXSG92BG}Gma($r`VE(M=FO9?=9%2!a`SbD8#Py5Ddp6$-D+P@1~uM0akp@o zwHB%E_@#<)m3J!pi6>azhqhmTa#y;z=Em}R`<+swX=Mu%h(pVDO>B_tMi|1_(5{Y=J&kL z=cMJWuNur1Y?{+IAIqAwt5sTZ?e+VX`$y+T+|)+s8RteIcGdlENaSa1eQta5;=wzY zwUN)9opvQ}?+wW}FdfqQ-6G@2>hGo>6Exbxx5-gnS<=sbn4(~Lyhy>TJgMWR+l4(& z)`p`T9Gq@&mX5lmxqX_ghsj{`EQR`FvxB6sZ|w_e(ze|(#kFQ%F}{4@^$eP2I9TEx z-^zMaqB!fr)T10)gpy~%=e4I>|JX-vtvhUHQRcR9TnDls=~30-qV}yfpJcj9?V3Ms z^WgPUa@@Ac+$b}d=RSU3-s9)1ZtXf9r?ppO_V$|t6H3p$TJF>FHTi~RHLcV}G6PvM zZ%v^#xssfC?(W%lHxpLvdZz(bKE~ky0w6G19%O-D--cvD{l~ZKsrLm*n?J^7R_|+qcru)DqGjdhK@ghT+uT$~ zmJM7b<#HgBo?&6@I4AAX_z&l#Uwm7|m7ttzf0^;obK2Pv#Os@FT8DXDY|}Cvx6gLk z*e@Av3e=`88%rZ?7U^Giy{j!d+^Fj6s_RRov}ALp@6J$j%d6>EU?6*Sn7ZahZ=2@r%3A1WLt20 zn#;}&$vpaMe$BTd9m}(>zkP4DH;Z&jHpchr38lOXufEGU%Q`;EG~!yHsCo53a_`f# zsc}+{W>#~39p<*E9vwL}D^}s%ON-S(Y_GY*=)K2=?3?qY-&akZX>Ci@60cFColYLK zP+Hb(MVL9^R>m~u*rp3b_4X~KEBXn%#iRC8>;|SD)d?9t4RIWGny!&N-hacmg6V;F zD%rYAlP|cQTz+?BuuMTb`I>|K*e5ybbZ9e*p3Y9D*K3|l9_x4U!#jUYQM}QKwW*zI zuSW$KY-`&)cv=d#{dBFw_%b`^Gt#e5PCk^Me_h6AV!nz}toviNO-w`9j`>v=7oV>x zyzs_;TVu72A&#Y>CHZD2FLJ6nPd8?LzSSdk{td}YJ;RssSC5WTc*^K^G4O<%;j;Yd zjp|_`l}9QjpY#vFv$rJ3*yBA7)V?NMc{57V2`1p4;jG$DypE`X!Dfj7QrTo`v&MJ9w^JJTo9;wb& zTE9v19_Q$H_jet~t}!?=wDdQF_t%|~;pUGb%Veh%J<%K0RG|5Fm&v>)o>|C;fp-mE zZ69h!G17w9FMF3#sKmNoS$@w|0xvyWx61g9;uLrG{mUmSrz5l0Ee(6F^kTU3>$rnB z_olR+$+)sh1Il;j`YGg_%Cxn&D#f{5<0>z?JuACkXK(17YUp+3qB(t_ zzQgC7pLo|pTCeu%%iQ^r8W$SY-p5Z_z1<-p$#&$GIjbAzp@W1|8KovTLj4(k=G~Iqc4vs@&*u``hl7U(YUmbm#OQm`Vif}Mb3PAx=ZWc z{{3%e%#+>YR!uHZrOLT+CblNeyE!3C zy5e%;HE$mknbU{*-wmJQmX?1=Qmt*@?dfvrn;ym%&Fmb0Lhaz%MRvwv$5SgNc_*Hc zdHbkiu_SX{R@Riac^=lsiSy(A+ZI|3Gfb!s9<(%REwmm%v3{4zjx|Uc|Vp<1MukJ3*ix{>m`M)=kAL(*l{gfWFQmMgHRujRC+a zf4!WzLYCrwrD$Wa0`Y9qh^lQin(xw2r-UtCtNl2C^QH|F+ZBCG4@pm6r#ePw>sZLZ_nhlACFPF%qT^bOZSct30j#|Au`>M_5wW%^g29rCZ z33}6pf=K9aLHOs^fqLF@C2<`c&Ng32{v97T2D6?>-)K6Li5q=r+_h;c4i0IXytO5j z4G!o@dP&9DKGR12ykk78d`rz>r5$ON(yFD3iLv`>n%63FEoH+=$wS`TG}8Q7!Oz`a zUBA3uI_diOQN&r14;Q$toF_Tw==(h`3w@WVEmaKF(WOjOMc^TQQ+cMe&%IC z<$&1rkc-njj$ZEk;61yu;W?{BZ%1a~;f`&Sqqp39hJR@%Gk29;u;bX{ADe@Eo zn!WAoPQ@$1dp1^{-c%HFW>mV|_mNYS*g0H7_bRAOlhuch3i)qIw7I?YQB@XQ)kX?@VqcIsZAIk)Ar!fI0XFWa4Y_}YSvmt^Ca z7lzEn$Ipx3^@ygjG*fTh8r8YHao&y8QPKy#PULwis(m~4_46JTT))uDr7fSl;|X&2 zNY73r&bA(ILc1S+DZN80vtXHLg2FXrYaVZA+kkT;?FI**l|MSi#_EW%ZUc4u5$B8g z<4s@3J+duJNIQN>`_oj%x~#|dZB}#h8WQ~cbO)xa@!PnuK)!ikzhp-3i~5?}@}`a3 zR$3{v-5JoCv2E?4IWe}Yh6m)1l^8Rd{#ZW^tmbdb8kJ@sIpBoMV@gfLaSMq?e<_vI z(qG%-_cdObT${F>Rm|*6zo@lgr>U`Zq=iylyw8~amNvM1NO92(J2O3w|A#|E{dOxB zmofazKb_qo&D2%K-(Q+B$Yo3oGs0%9*`Aihd9^!%%M3|hiH z0NeDOwsn0G418L9i}ACbPB$3bNUso$%vYb#06jF~(t$HO560#3u}_%+qSZ%+8-NKA0>g0wDpSz4dG>YH$ZP#Qk)3DM-(cUU$oK?zqGnQu#1E zd?zLzhvVx!XB+0k${BW}LI9~^8fBL2$rks+S?eh&P0v2=wYcB^wGfcu(zreR(2`;_ zmh54b9Xh#;4aQ!or&@MuTPgzvgP)!M!>7IfwaMCFD?Rk#vjZXF5qni1^koZKl0z&e znKIvh=X?6sbF7U)(9C!GxyJhq((?cHs4FT)zA!GC5wt3NA>l|nYaWK=1N^go#@B5B zP;^Z)@;00APd!O@M8S_8crk5AFo|t zTglXKMklLuW-$Om0qOr@C%!(`FsArt01D`Ftd&J}SDA9RcFP!DYd;GDnF)fa{ zeD2tgE*$!?R^FMu*KHT*3E_E<$pAxFD&O+;y?FzHt8;y#S#{>JR%!c(R+vA>)cwP0 z2tIdp8F{hJbiC>mB@5?t5{hL9it$cEbSO2MtRBZ_XiI%2?a%=Ien%g4eO=uEWnPX))7KZpDo>e(dp=RQ-hIS28V+VOb|Q1M<~!y>69AYTA2?b|D6E z;`Rzn+7nZ}3QJ6VF9HLb450F9%SI;k)Bg7wvKHh8E zHS@uCq?==LstMu(Y22-ut#R?N1vy}DDX7YQewELuj*cCwUQVuCc#6IfcH;mDA7pPb zGJWA=FFq|c9ILUvXL>SjmeB!WyO~V~s(?f;n|BhajUYQ_4|FsisK|)Sm!eCF?k8z5 zSAq*kgAJZn;TUUW+u0|Z!6l22{`W%Z=}Nvs&|v?}Z^}O-hn;meqWFM~$6GW6{3ALj z`Q!{X0d?%x9?(2t7vzl?NH>mow50-2F2NA(?(cG&u%9@k7Wl{@zif1lmk&zZrgGi* zu=r}8Yc3}P0x2?et6_+9T0lJkCj7PXY3C)uGXLQi zGrC8|9yn#d5Tjfm02B*>0I02_NMz6x>hQrUZtkaXSIlNL7*^|zp={F=OY*PH!r^Z< zv38w|Z|v~KyB94|n44oEyKU+x_-R$4W()AIg$0ren_zv$wQ(ZEw#}?Wf^ZPHK3Twc}o#Kd7BFIy&RAzX=)HmFIwVN%7)Vt-(hQ1kZVZEsqz~-5NREeQbdj?91p`aR6I+(*af$tO5=!)?Q z2~}u8!QhVaL>a;I;P&`8WrMc2gmw$77=kYjN9)w!n-J&)A=t2OWu0DG>O0$H3bjcoIp)Gkx?rqaUJa1c%K%KV7W{GZV!+ z8+kW@O|D0_B%=SZ{w}X<#{lYAA1k{8ht@UCvNjM#(T|ol{67v&3AhLSEppDf@Qi3! zs`_w!TWa&Z0c7$K2<|!*UOSS`!6goiG}!|&_!XT$h6JJwIiR2dx;@owUsGy_;^koE z4KV$GS@Yq_>zAfI{gwyeqo?tfr~XTEEpx`)LxWAX<`9&|ky=?`eJoK!QIL-LX^{!WlJu~g? zui?Zl`L426T#b2KxlJip`|}jlI&o;gCln6b!&QtxAXOsbC&2c!&@8{a|9IHhg%XHC zUl{3b)ZXQTU-1F|I+9V6O*C3s&#aDKE}F}~2UlYZDA)mCmD|DC3IV{%0}%MCKDYzF zPx~hmM#tZJ8%QR1$jt>5bq+&oPTX*5;ue=o_Wl05iy({~<+kga72VfUrp;~)@j)w( zORoFr%xOIxBiXbRSIf8rZSzZjuI;@2)CoqcNM0k*Gnz}@3a^5^JPsQTz+A#RHJV^5Y!q-JnO~-0Vu+O ze#GdQVC$`Dpq7T@f33Ke|gKk9iaF!JeU`p6NN1{o#X#|Z{X#_7*l9hA;nCav2T_Mtt za*+TX>u|bI8BZeowx0_ba^S$Ze2PUF@U#v&_3fpsbLRcng_NR}qpq#&rFe14d9oIR z@U+2)SZC0MBB4cu8HCHEo{T9>L5nsNoR_>jmajH`}+VhBxQu+nS$PcY8D#X?K8%tr=F2p5kAMOmQSfdPSrvh92 zT!Qc3#A1ueL}V*Ic!xa1%c#TiLvF@?K{`E&07r#x&MdlU#v}s};}!*#A?SAqTZaJA zpeK<_UXa(QrG3k7`vHKh2_|95v$x_;Qggz74D%!ck%)P@F6XgpqbwDLI#Gf~Pk*h0 zDNQ5CO^+>0F6Z7&H`&{aYkxw!1i@reH=OYSHzBQ;m7fWI_O_L_%T~cNwHk7-Qt!UQ2S;43#L686=rXE zMlo!z5%kH59_-_;+Z0qy67bk>1b2wduD_xrm=@O`P zjwtE1Nqsce)}bhB-V-Znu_CW6Te56CHu5~{P(ixLFT)0LIFwCpfm7@q6aSGE;ql;s z6SLGqEvCwyf5#P@lT87u*W))ozQ-FyXrLIl*~?_vV|R&pfxff|Uklcv@0X)WScpy5 zhEd2bNSFAVbIDpe5)w)L{*z01QJ0aribYvH2BEmse8TYOhQ3wqJj0u9JO8{bFA{qa zcT>j?m_9;(*#EAEZmN$`FH2Y!>{8qTBJZc6vfp=69RnX>kPjVI?~2qfr?eV~3n&4$ zRRRC45lxVCzAu8$VysD7f^j#QMRuDKcv}2o@4*3;z|SFQ^{0PUKJD$q%XvW?Wkh|f z2YEHMXcPNtDWD0!mFhv9maBNeM7(eH{{|I;*D;iyYH&L)4~n@KY@_X35k9AF9Vf2l z)PVnN1b+*^ttpU&hgjFoDnEBBygMwl0&=g!pCqni*&>;5Iek?C6wo(?D9Zg%1rhUX zP)veaVBcO4hf!lPfLJ`BeFSZv9%9kOF`X>7O!;D4r8d)}eJ-@4%y$J0fS$wvqCAep{Fd{)Of1`?pGz z$OV`mB#^Y*TmH^f34x{aytz|T>ffR{H*u+(Z)9sKb>*;T2R+?vIC`T+w!NwUxKUr` zft(tE!)f3h5zlJ6YawDoEbRYJSMEA5sXYo|KB^-lP^1;t_7=QHwxRu&h~p`!!qI3rxNmJS32Dn<4@7rtZDgE1e0hWPbMl1`{8oj$Dm$!|T%} zr7FlgV5i&c!12wrI+%kko@?gA-r>20E-vlt>CyEr1;~O@x&+yvpI`p|rn+%!QJdvK zLe_J%7Rir6rY8#*sL+kCTzOrMp0Yyip@R?q1<)JUl8u<1IjFW5Ob2p!OhOdP5|J2*LH{j2*L>|R-!GSs7j1FwKwwb zaZ)`7K+paq2EgpzjP*^cby9XX_d=P}4y`gB2uk7>*=Ec*NbZxf)v~cY+n@iwo?X)A za8-`1ryF6}7HjE5H{?aoV{Jm;eY8`h;A3s0jdz}oUhr4hD^L`rym=i9W8co@515f- z@b@3hCq_~i<*X3kJAPOtzcHQ+h@07@z%mYvW7Aa|z*MU;uRMu5d4R4M ze@$&?MH1ulCD&{wTqfG4Yjgk?@DsUyQ=*^7CQKHVdqHZaZwvg{Pl$Zd*9nm=k9 z0U(spsOxkh&dwm`*-9l5oHQA=9up6k_=D#NLKrb14gkkgRRO4S(~5T_dsa!11Fw$O z^oS=IRn@1VvBpF%tqUGKf@V+*=1DY?L$ow_t#5f3Pl+CaP+?MAj6E^GAj;Iyv}$k@OPcr6R7SGT=7DOmbRl>ZWtQ^m z0y~naU9i9I{Kdnjw`9E<1cc$5T(wX@O*(%NLbQpsrh6&-^QSOI$>3f)!HElg@Y%b2 zw;z`f^iXU_<2Vo1bCH~$@3r5N?-(dD=03&kf#llN(9=FQ%jj*9Yso6|SPX16=k-10 z3=baaC}T!*6CHY8d6eXBzI)(&m*f(qZVJWpUj!fb;C~8+Byq@IG;?OjLIy5 z!+iJ~vDTQGwnq6l8+e8MAM)h|)5+p(5~;J1%js%&`s)b3#L;Slr59E0u>JLF&ReUz zfx}NEI~(_b84GUrna3}+G1KAen=OR?2L_)_+T=9r8fD>EFN}nEk(^TUrS#~%Lm;^a zkpap`>0AnfgeQ1?_@Hdg&a57tR1eN^5~D}iZJcK-0iKIATzQT3L0@VE>;;~g5n~kg zXGzPj@pImUTW^7LZ3_)-%*q|)Sez8dIY+VCBIF-H@r%Hw2t@VizN)HTM_I7Cd!WG> zDmDKYwlr^`S8 z5lHAdY0fA|t!9E*QlM=ZkNMRCuysjno_a*h8`(6d zmcoaMnzBJ{uGuN=?w!aN{cemv9V`%dcunz+I$$sSM_t3%Sv+&tlM>9|1mo*Je*1-z zj4-jK-~!TQJZ2~h`$qmJX!BBw(XVWK{KnDDR5|cJV)Pz0?nB#Pf74@ruf+f^JrfUB z5`UsVXpqsE=2FSACKwv|-niMpaom*%ATmxFy#REb%Sn@kmkp|IPzZTgUmb1v4@E;L zBQ1|w=LTnv)VlWAKxH^o%fsWA0%Q2t-oXOv2ODe%;^iWsO;+hcX+;Rw|Clk(WIDDK zoJ^lN_UVwb_-;?WD(j~@0q>#!e^|Gx+VKLZ_hoTsb~HB{9UZ+MG%MMoNw!zEUy8a^ zhyAb&(%9qK)8*P%f(Qnly6W%ow%MU9ocuNKPzzQejA@+u{Rb~Vy zHbBE1XV|O&`?hK1Z25m({^CLSA0a=!Mu_B7c$`U=>oQA}gXbbhreO|=fDo1JiS@CJ zB61u#OrK@o4$+4dj=(m{b(_@tI;Piw^XFfqEocWuWFkqih0%~7Xf$sSrFb>Y!NBrQ(6?|(5# zY?g(c^YLOn6M;F#u$)#Qxvz%bLR0J6?p`rr^YhE!Ewg@GBeERoSYw9fs;kfKEI32F zWt!hxjV0KvIn33^eKXCruiihpq7f6!qzZ!u{qNtak5ns; z{Pl8m4G*WM6rzb>f!{AL0+(T0w)xMxa*EpGK6F5Xte29fA8q(>j!)?M^ z{pJ}ifnX~r3kH1YyYx|0{#W={y`iBEy0toQK&=LU9KiZsMK=rKL(qqIm)43=;3zOm z@#ANJM#!pydpaCps+3mwOdHfaKx;HN$bqa?=T&}7wH%X{?}RPa)~`J~)?fbmvs|$- z)bssJLNkW@V*mXqdz+pYk=Q@h3jlS}ogl$u?Vwce2k$g0vb^#e_#PrVF|H<5km)(< zI;`m1?sU;bZpQ>oJgOp4ll4Zh25_o36Uw?|FblKHYD%;Jm%am2i@mF`J}Y zw!|LF<>95PgyGQ-pc$VDKOK#`w61Pu^ z&d4EIvGe<*jWIoI(wIq1ZgGf2pqhkSx?IG~l1eYoRJgk=jH4y?p7#0cUe zGIyqaXb;Tw&fj7o`veK$6I5~$wQAe25P5P4-$!V#$ONo}FZ5kjusng% zG>aC|#T59)lVz#SByT3KuI}fLJQOkdPx9*zgG+yotW%=MF3LMQ%x*#maIQ}8A0;Dg z)%fd54X5U#Fv#9}B(C#7^__uMzTdtvnY^=KI_9hJ9r|CcZ~3O=?dK}VgBj%1qA37t zkt=?_7#PR(i_!lz$R~4K9 zQB~9SerJPiiJGKmK>j5JPy%<7-h0;Th*Q5CiIhXtJdoU($pPk#WCA$c;khst$v6F3 z4@NG3jUB}R`t5d}<4H|H0!tk10RFG>ah&7h1GC@sQ~eeRUnhGGCD?^BdII=^tzMya zoFh&FlPRDddye=XRYq#G@Ye*U3jX5AK|{iQCYv|uj>(kwn%+&i4ZeWyZ>ki(^e6kP z>kvl5ToWNWnYh#;Z5U$XF2W0?e{>lNUPa9t+lwC2kJUexD&Z71!2$)8UB;}0omkd zrLm>W$){Pqb9l4yAN*OrRz|Vp@hVO}PYA@g%|{%8C{EH)@CE;-IB00oiSiRnrcIZz z)kO=A|2?<#6&T^|IIZAdjz}a)B1{a=K1?>a8iU|dhQ-T>;nxFQB>`Z)IE2PA9!)Tf z7RP_A4A)C9oCyyOCWq;;V336dAkaKe`^&R#79@MAp;s%=xT#cgVCrt`%u}h{I>^gL zy3#e+LJ#b(cV5wCY1bWVU1^x?4Jlcf4o3ccFFZ-rI$M?2{x^R+Ua&F{!iaBICB|xF z5}t-=*H*Yk=_L~q1S7Iq5s7C@aal04p$dP)UR$q+ppnHRMZMNF2;P4QuT68~?v6Zp zgYQm4W^$K$Q0~+~eAMBLQ;Z+L2?VDecEFSdyZQeRX#U~*lWa}rUZTVaYqBg(6a#f; z4GoKtLG2|$PxAt?B|(e(Wm||2QCYTm-oT=!(4-8;AkC3M#4LsggqIo@pRI$zT#%?vgD$7Z4H1rI+nc9CO1#^zA@e@MLMu z@}3ocdWU&dTbekdC{E!;M>_cpO$c(6b#(hL_PYx4n=9FF$c8QSXaSPV0L>7Zcb}US zr4_VqSO~;@q*gNc8hQt*$fXp2wA1sl8ibR&Ft$Y`F}m>HwGM)+i8+aPn+~UPKxzzN z*Nj>X)ZBAIIHRruGr2C}2oCO~;a)BP{(4H5dsB2EZHGF>as{4y?)06~n>A&fW=QKF zvCUY^;4FN9Z3oKF@f)=Qd{<-ID2=2`&Dlhp1-zjiHb^eRygDZm`X^t93KaLH^Uab_ zs@)#@+!U9sPNuvM@uEwN<9(AUc569e|Vo%FDC z_+K#MPBjL{c8o;;iS@FTdi6x=V}$WR1JLs48|Z`G~nxXca<%0 z-gOJnp85M)`Xs(Bqa6|cRWjg4o*cg5HHyuz4qyzNKy~Qp3-lRto2vpJjxWb-RDvLL z@Z)%k*`;@uZ5$@ z`q>7$v8-yd7eSc=G!YL?f7+kDc@}$$X-5c}Z*|#8F1=#U5a|r7xwo7r#)hEAmcyV4 zm&LK01L3~_)xpdF{&M_r4nJG-293e_0{(d!T`*LSu~=SmmU=`pbN`a~26uEN$eAdM zqM%NATq)XvOHX_^9noOdYGUAh(z^a|e-=76V>pP@2ai;ov{InX*9M*S!dq07H&q=j zVu68(j)9UBYb2MIv0V5aYvJsex7Pp58Mswnv!w>}Zj5ZD0iT@AbYhYh6{ z8jijWo3=-ZSH?e_MHq=|ty2)U@RhDnME-*Kj1zKk3%%@S8KKfZuA)xwdc(ELejC1P zxGN_)kEa>I<$X&UUZy1aLnogy`)@f*&r)4fIGfgoC&I~ul@UJ5L|tc`?X7OHkm}Hx zHeFXhSxF9hIyZMHi4#!DA5h4vP&|Bicdrn*v8UI4!}HjkM(5Ay z#2+XGmYNdoeaW^L)$52-~DTl>Cf*Wx9{h=uGN)1aVZN33C8yiEIO{Y4NXW_>M$iC z(lngJG}3IoqxKm#pRRpU(%%Vj8ywA5z3|jH}NYlj@}*YbziZ)wc1UVH4EsHqse5 zG(3?9*#y4$5H!>9MG9Nv3~h#m;xDopZu1U*tXF3;1_8z$!Vg;CiU%AJsMsvaK6FHd z%Af4pkn<=L5y>FxN;jOHHwzKZw$D(F{h$$(OQ{kv#8d1N0#EX!ZOcgk>s&h-DKV ztrQDjL@^NU?M)qZF)BEr!sBVhZqWWleGPD)C*)q^4dUj&*PqhYJ+PR!=>d5=K)gpO zw6BD)`H|s!cs@P!zi&?fgZFTH0V%1&ev+CW7GnGt-4(heJ}TDowR{dt+DrCZW`G76 z8^8VO`~qP4MHDLWo0>`@V5t0)Y~k#^0?Dg`aW=bHnL7a~RqsrB$j)bwtg6j$#Tfcp_}9OuDG}ib+q>t0Mn(kN3n@;Dw27R&dX`+P&6&0V zdgyeST}2Q3VG?1@y$gMyY0=(e-Iow^zk=vg=Zb%?#a~$E*KY*X1 zRJh<=T>rJJOJR)MXhrfpVD77W14xTExA>KfcCR{$U+SmKg?zw79jYo%xZm| z&gwW17ZqUE56>P`AQ%3`Pd)PBPDVl@)!DM>hYVZNIH@OotCzv&=9afy^v3?M>HzJG zsx|?!07c_jm5z9+Ob8#er6_gRM44<&l-Bs9gn>EZgUHwJP{f!4ulD<2ge+Fqba!E- z>`BP|y>pS#?!Wp$#5y;7o4w~CMXOx9CxF^VQ2VW82T^ZiFZBqqH(;5A+7^P4#{edW zIL~j*kec2)%cqpM;{%~Wl99$H9>B}kHXV|)!Hh$p4?g_yq!~S?Ndbj_)Zm2q^LBAk zhBsIObqoOAbAHAOKvh#?II-O&Y2 z?#;dK(1D!25+>XwxqWKXHsx3ZA(-f>$v50oEpEYXSv3fX!Dk(lf7JQZn` zMr5@s1V@Lr2@*NT9PKfDko;BXiPi$G-QJ!8f@By-p>7X=^yIR+oPh0K!wL{CEmDG_ z+@Idt>_|IBMI~XIlf3d$Y@pG7`~{E8i@OCJB4 z33JWAif#CCi#AjB2x4Rm5?OW*@(2>W)1PCXvMM(L(y#eS`O}?h=oA*ZkrD{ZA<79z z{|bVtbfYLiwl#c)XyDTuW={OtXKk_&@SohAn z%o_#V_YoWvjm!T={Do>fX;h{Z07-paU_)`7>5Go|0wVHBEYG7T24<-UMyafnichw} zoe$x>koqFW46_XEHbOK8P+>)(cn=xghxpC7nMda|QN-(de!civ-g_zDgzYn=c^ic0 zz7`)~NvL)b?PD2vaTh%);L{$z`{seRw+Zy119|U8u(B)g3R1CFO8516x#L;6)3TXl ze!a6`b-PJi@Lx09E3M5B%?#GxxMP@q|F7<~wP;L1U}szC!|ZZl5XFz|0g#riO!nD@#--Q7Kz=Z=Kk^7b~~aQ>yxeu%8% z|NpS9n|)Ixj9?^Sk?&y(4i#+XK9UK?T+!J#^!nif+{oL2eO|Wx7uVJsHz$fPG}Y>y zQr-3%$3qd3gf1^VkAh5jp+Ic82O~phRz4tw;10krp0vb-Rc|}dIS?8jcrM#}7Aad; zA$KXNmtPtRdFTx%Z31(v!KuCBf2pZ@Sdd0anr$B$4Ez?K_X-+O`wf0#nG^Cj-?u%3 zF%ns)hO-%bO%=bvI-XJj<*95`Kx7|Oaz}wlLJluQ(M!~_fP`T`VH7dk@3&|uwm4vk zTF>D)FDO<#?@Fqgc{f^&dNFv&(i^_4@Tdu#MUZ80J-6fWzjtIK)7e?;a_O(&+BSYGOsu3c>ZarmSD;A5aX3;i<{^rKUwG@ zyrw^-54bgXFNA(#F1n32P#Z&`)@=cZ^(_{gFL|MSQg0yaJS!BPY!z;{2H)Ew*wFp) zt#p3slq?v1O1PwvtW)6#gxlO`PW;Q}`y+YvJc!REw+9jY8^y|oPT?(EK)Zi}thvQn z4W?mRMs(jfKmYje#r4JLrN#Z7zt~l|sb9rFMyaR=6`$7Ve|1Nb+NZhvp4XMQ#oIgw zj3v@o*qqC9mW)kL^0{s{Ek=FbzfSz3v^IDxyZ|gM87+M8Y7g{=4;a2HY-eF7s25g4 z4sax(S(Zz=8lSePjd~w_mb&;d+KNBIQgySM49;r)w>&~t;rxz#3H)pSzdMce|E#PX z4$UHrL%rUDvo_J+BktdlWGO(hWfS3TN&sliH&o^euQG=uX>WWx@hxl(5HMxQ^N$pn zdi$O-;e0s2rn1YAUVQ%Z?`0Z6F?0U8L*4elYY!YEmT6yJOo&$|`;aC>YfFbFG7 zyWi0%OY?ezB=~cfH)t^G#9107PX08>fE#WZX@2?)6mTQLNBtg8LwlU({Wz@|Q~GL3 z+~pcZA1uf*m+c%EE=b<1h?Ew+YeXS;jfjj{Jv8G9if64jc+iN5mw{kJZteRF2H<{S zX(-tjX%XC3Mhth84o~IJe_V<`tUJU`wRKm=(!vX&7^LmKX!1Nzy=FgijY7>DTA>ed zyt=#LX(+VgP-!WUp*n7;cUL%yV6SbT?L%G;k;cTuwa}Z7ejY&~z6=F(_s%nA^xQo5 zZKBR}!=Hn~84BKmb``7YWpn^3f=sE$`)?sAg_Y$t_LARabI$F7`azIR(RQ6V!ljxc z=~qKEfImp~KfIezHII3u@Ktaccm@q`4?mLX`ljC!mFoU|R>ouaONP%8G~vU8#~r3p zoDz;VffE$f&^v={|KjQM5ukuTCtlIkI{5CbkWC0Xy{tm#RPTbaX_JW}fF~|Z&CsDCMZY7A_UwPt6NOeE9>+VBK+THT4 z#|U3f9nU*U+(fWGDr~*sAsO)4Z&FtMNWys{#POhrIah6p^Q-mIe!S1Mxp?qgRUm=v8#7MU%m}NAZIw zr%)Ul6XqRP^^X-YpZtPt_VGA$YL!9=PxTqD=pU*8Wj=~K9>wpCf1fSaiLt_BWJ@MY zMU;l`_HZ?KPyZ+7#NO+SbPnirgk1HD4`|DLr1pPSuM5XD84JEj|8C12`i7ZEB)kt) zkM$vXS@r@1%KlhSBa&a(k*Sv~rYe#@khD&n16rpH`& zod4yZn_ul(;FG(79q(gAFe@3aM-10>yWzz2Q5BtKh zXh6MS01L#tjT3Na^N62~;wN_PpscH7>E_q{6V=GI{Nizz5z92B9wk|h`rQWZo*IZm zFvwZqqz3TGqvZ;3vnUK#T++vD^nTs5yeI7Ap4A|IATJYYXfqC{P$5F{|bx8JB z9Zmp0K)}BpkS(;my#3EdNX*$p9l03U0{UnU?F^;=WGJhu^pt6;u9o-)+`z_h?jJ#@ zCjjB~?Gh9E>Po44wgJIFI+E*%0@2&=#RT7;tHY}>?V9dHe`@`y)+r+ANRCC9HFMq? zo(0FVkISnz3gpKtgjJr#&y3>7^H+Wzp6~x$8BiGSXKH>Un8igHx zZxE;AcUGK>eH3&ZvY3;q9{{+xW+|WX6H5Ch{VDm zVFA5&2OXA>ujgQFgaKr9;QTVq@RieF))$R&w!D{xx_~M8OZ$4;rC#Cl;HlZ0t($OT zN6R%2Vj6`fE^%L1)nwY$;B+e0n(xy9u|^C4mf!6NZa3Jc>q6{96rN(I&P%Y3{AYRV z@2ti21bRWYm^k)6g#z_Whl)SdwKZ$6@>; z>@S&fq?d~6;)~6q^S_Cw!o(PV{Gh3@$LfZ9kvT=IR-~xZbr9U7gq!?C*x_pktD^{E z#!IXduI7xR6f1{Z7(Vi#G7HJFGCzrT@;SQ!HNDHINOueCNo0 z^8n!ME6QIKC84=DAMUSkWJ(*sm$1+KIpWda0}Z4bQMC)ek_kfScj=kHgCxS8=K7GO zwcztBVP}E(W`^%890?}c#3`aSH@BLj*e)%d(VV=baJC4D%iuLt3zFi@F@k|vjoRH~ z5u>eeD`$ekyE2d>IRWSZgH{ASR-CM)@u*|E&QHLth1<19VonXNv6nv&Y)?Zqb20d@|{;dFWoRUuwJ;O@KdAC9IQ8m zvel9HM4SF)q6@a$j;5c!m-}n%`40@@JAUeitku8`9Oe$si;;IVTaO`R{MqQG0O(3_ z64_84W8wfZ{`G~PYsR2GctR8JxQ;*H>uN{bHBT4A?kE>5w)OA1hfm}|Vo#uH?&V{X!ne=Q9l_i$Kp&dk-C*c);3iZ;AE zVVC!-{M(-i00wk+&Fq<2GSb!vWHk0KVN%$TuZRw5wdl{V!Hlr{=Dt^t@h+U@A+LXb z6KEXQ<}4|!DO4!cEcYpntgB4ZbcboxvoYF6m#)tE?mPMN@^3~&za zmoE1jBjHA+9z&|bYUMSa04we8DIY%p{_+KxX#Io`x{c!@LI)>yRx{U6bqXD{w9PMY zZ(B{B3uD^y1Q^a{S@!ZqnJf9smg~%@xEhtJ?pz*;&Lgd*VxQ2d2?nY zchqsfF=yqegzMxE8G`n+j6AshfkwY1Rp+l6y#6vu{oG5NPP_g}V?;)VCJ=l5vF-k9 zwnT-g;4YweGI~hIDk(>~K*?n}QwZ0(pau{mqUZ5Q@%Yf^MZin`uWY*+qk%V0{35cM zUFr)MvR!|>n99Y(*3+*O^v9#0Dwf;N=k$Y4VBUj2G^jK6Md3SbT$cOj%Ph5aLn?%q z7E}vpzKsE-s7CG04WUwdmLm4&w+_!~saFpiu4C_Jy7DwwdIGJxu71K~vlS8m4A4q< z!qN3c{_(ZVCqRX!#`~3jp}aIc{5&Ak>_BuRuS}2Kd|P7tmj(3%NSy|_Pfu^p;_%(y zJOoYKHDAOQZ>8Y%_FsIfoI-e@_dLm%VIQARAY%}>!>iSU)M;+^VKsmbW2Za8UY|#X z_s^q2Dz8;3AaOn7+Ga?Y2?}77^$7P~2bpg;3EOaNKQYQ9@oD`=KiAXqhoa?$-mOr&G&^=i8wzj0jkhI$XekO8hg@0#Wqt zIg4S(U6ctwsdCHoUSGV{|A!L{BFuamR>Y}MW%ZgHKB)HtqqwFJ@CUy_*UF-STlMsO zH-Kqdf>^y!EtC}v?O7@+Um2jHBDgvX>O& zZ`yQR%O1v3tYYF3fKMx~YkrXi9p?t16j^h^{c(^I#Q0+#ZxcA=Y_#a1U%V_?PvF0u ztLh)Gpw|Zt<7bcV9P34gGsTZ&q`#e1kp2cpXwT+LFp=5h{=Q8iUOy8vJG5wN3PC3>SkLA8hn3_=>Pabi>a!Ni$5I*_(ymmB5J!Evps9v=L% z);i2{MGoNd>K-yHAR*OsGwN*~Ud(IhoL=Vo^KL#TH)MjJvYf&jJ{>JDfC2PL3KpwN z_9={iB;k9BK_VBY1M-;c7f@%Kh@RVXanEd=*4wSa9!)wVgTV9kWL)(Nl7;E4z-aqZ zk^Z=?W|hcC^Aok7JLW0MDHmFvs*#>A5pXu^d~@toQ>bEJuUHfeo9g}L%$*-GWF=hq z1RyS*np!8L|Dj>M+-I$4sg&Z9OWp53`gqYHj-oEIdCRB4X+och)IhUmtePFZ9+RFd zhj|B`WA3JT{fB2uhk}~>v+V}xf3PWmipUhUC3@|9mjwjo?q8q#Xi~xfQkZEtgn{5agTUFNK|ptrVw*f;B-Y7 z?1_{`pMyTtgH3vzl4Ma&wW@--QJF?A|7|+F)_^MwkHfwHx2U`TP+Z$lRk3HL|HoTd zGL{iYhyR@0O(2UB$i~#UQV#=kYg(#GA~Ldl*#Ycb1W0hfcMEmXfc^xoACmVAt%Dbh zv_r>^`1y+OeL|hNqlZ#se_RWNphttNq5(Iu{N*lX_2*gq72bm#z2}K8h&D6}mD&UL z0}7Yc5sNPtWBP90n)=ZXGU0qS8t9lz<;X&RO8ZRC@x-prdADpHPfSw!dteP#L}&A7 zl-7-6z6nnM9pt`{Pj(@P)dRy--OEm36Ndn@@`fBE>5ZR{BGmUwT?*;F-)}{ZWOb#D zEZ6bncE6L=o(_r~`?o9qky#(8L!4qm$!k2BKh$7$b|abz@ThVlcv2VpXzpVZf#anz zY=Kye>H9hbvE0WPD~W-E-Kyl#2Tn^KePT^uqs!a^PfDK&{9)b&6@}cfO|iHu{%B5@ znK^heQH$&*b_^RTPVn-#^UTN$)M?6d6e~d^vbm21 zS}RU{qU7E>QK^H)t(eguBrcOEs7vSK`9Xl@tkiLSSQJ-B{bn*-gu-`G5FFIA6VU*E z#`Zq?J9*qs@yFhG!L3t4=LH53m}A*~ocAeT5U>0n3;Jvq56JHnE27AX3TGp9b9p}l zWNcgke~3ua{sK54H0G*~?OdSX>^bw3+m)OMfEQGxxi?;?82Cm6l zD^MgJt0uO-$8c+w_^#>;;G{hZQ}_5h@RD)Qpp~Q{7n0TNL0r|wn#utoX9u1d2^eV^ z{bQ}RFgNcQeqF?aeyF=fH`MhShS#$8_j}zG-uFdTsD48sA;AMaw>YoiVe| zZFxC^-9p&hoqd3T6<$EbH<_ePU>B+|G~!D9dgN3v zTKkI!wH|&go(REmAXFHnFi|=di&fehHDG#QY*38TbeLwu2FPRKd+=)}v;g@C3ZK_< z4oF%1G4!czC)cB61C^?0!Bc8&qbL2l11U_1H@5=wURwy&3Ul^DXf!EQsUl^Hy`OHFHij^&jU!Sg#J8$8MbxjO1VW zZS2rzw4So8WvCA8oJiVB!x?#c2K-L`Lq)F9LoQK*g!8^LXKDl+Cocgj8;b>yoyR}U ze*uQ_(%qziEB^6ac!CFoVsc!5)w9%M0Nkvf(+RGAwTi8W3wFh@vl>-m_qfh7Yb?3f zpCP)HMAjoCJva~i>jZ&dDCm<_u!^%hN}+L`l*P3sDH(cVy7uFs?u$pAGe4bLWG18g z>Ste-g>}9<6oY)XRWC0Y&>@*;yCk&{VQ}O@o~KQUjM#;}H=iCdYIXJj?13(HESoK#c`2c(wCW(0L{DqG zf>+nYKJx25Dun(NQDv{UE1~qj3Dk%&If zuj!Xmp1gUmJjp5PS)6sfNpS+q0M5H{i>J5a@E$o!w6qJww!;gP+mUrKj2D3kN=6)l zUedvo#H8XF?=w8#UY^K3?YL@gdea=#w(zA^a+@-|nQvO`0HQ_X6rt?6El}z5#Uv50 zh;$d6HV`|7ert_uA}I>x4(@$YtEx6HXup7dKTa9)n-)`0pt-W#4iG$9tzk2f{K*7? z59C_WBAFv1KKt7dxV>Y}>%;2p%&%y`4&21C#!A0#Oj`3o@KV%K_JCBffd(ZZ|HJor z7oo1SP(yhZhKuQ^HPW$d>aPM zbCuMMiKN}zAOcegVc^&l5xV5F;DQO41AQi=`j89o@j$d#mhATTc1?UW^Xse}d*E^- zT3N4YXE4eh%ZZCZ;0YM=YXbUnuTJxo)iXNL8}Z>PP>+)hd(y z#>?904a0e(YvndT>#Phq$fJ#{DR}>H^3qA&d{~bYR{FhG8GP4!@-RC7x58BS28y%e zkZS%`ZTxt#Ot8^9ynR1@I!Kd9Fz~!IgUqTZV?&UvON99)+%c*0V<_Hp++-v!cDlXo z7vM%g;J;xkyr@mSAiL{&NoJ^;IJHxxgB)=8XggGAMtCjw zX)5k6TJMAn0FBr<`(XwHL^~z(^!dttUDkl{z(CHtXp7teBa?J0A)?~yp8g~$sN>FW z>4pit&V^DCRIY!@^Ej9@?Q?CEOfV-+vF{am#7u5u^>J+D~a##huwKg zR|PigU;b3@#)}|V1@5h|C>wu0bNs@_%>Yd#WGj+Tt3O{7@xBhK0Zm?o>O7&Zc~`xf z(=-t=`l9|53$GXt#V&sd!>8_d$!C{+@H9!EqT!!=j%Mwa1eo?if8j8xckDF4=)-F7 z%HdCx<4@t55k+7Kgl|KVRWt>-p6Y43H1pB zM16K$-GHs@K*R;`iu2_Y@}ek=aws?9l=J56C}4vZdPb_2A_(=fYLj%v*g=ZicXUoR zyw8j*_W;})E#T|Ov$&fMiu`~4qH?BGCiiy#O|o0juh+$jl4B6G!H9YbF<{K)yS7E5 z4+BC-s{~qoojBsDD)U@uLA&!(c=psAbQon@#=NX*nv^G{@w-*2*fjUi)k$&Y596th zae8l}y|B_j!b7WmhhuH%Ga}j3ujobKeV?MKsD3Kt^ zd%Im#|L;zK_6wept7!f8(uD#Q1`Yv%WE7&+F%Mi}|L?uALvgTVDR+^fqg~2ylEK)k za3wUg+25D>Aj!G+$mc<}->FYWT;*{~4>FJntV)HL+AJ*0e>6K&oUoGR4;|~jHbiuT zc>j5B>K8_ctUmHzF@VS3Xa64YwU`lw5}o{Muym8!|He}!@h2!Df)dT1j+sd zB7nv0iKQzx=RwnUNZud56vXXlHNVnfEP9v3r=L6u`ot%UxyF59e{<7v)I4spr~{|V zd@S$E-dTxS8Ch!Y%?(#SZ&W<_thBy$B;$uHyTN;iT9afwU;L1lG%5YDR^PXovG+vC zA-}AHkLi*9yRa6F_mtRpu-*HmKJQV?!b`T!o{%<=kzbz#T#F@|0L7WYzzxVFJEo@7 zdan$X1$Qh|n9Ryg`6jF5Yv0e;H(RNLX4>YSt&?ISc_WDrCaE}`_Ok~h3%QZuV6Tfx z$WG-KWgT`b#60X|j6xZxHlPR1Aae)lLBjpry0jqjfNL^atYkaK*e7|X56GayvW_2B zUMta%$g_k2>O4ojm=ixnOlHN8lU(i@%7H3f5C>cu8q)@xs&QHR7MOo{57z52YW@KA z-k3k<`PWWZn(D`2pWWkffL_l&Oum9y55W^^jCb;cPb|5o?S*Io&qj;JAny@JNNm0Y zif(MXjFfc1!;V@q&BN=DDv%nV459~pgX;gqCA9-T1iFRDfyw!21nI>%Ufws<9k-Ie zG5*`oYG$V#LFygM(9KW zdr2`01z5f1gGH&TP<|d3;204+4;4%KG4tuvS{~f{uVsWON?rm zPP`d^nvpeA{vX)&J6A1Dh^nP7G-v3vhk?m29Wq&GiZLzQBo|zjSkMLR#t1j zun5C*{3a3-_54MWcvUbFDtD{6l~Uv$_q{(Py~f|n420qF9QBW0^n6zc~$!bgd=H7UuXFHKLvg$ORkvY#Jxs7gCI(t*eXAhASivl5ODb@!Lk zLX9x7otvk7;UH2$8gWWfiqMRWKXJR*6Em$q&TZg-&;ui3+0$yL8yx6=IDD?Hqx>qE zYtCNuC{4Lb0A^1MnDlIG;$wJMsF-?70)eXPeX7ve2$BEN7cObFHh@#vc5**p5#>{h zioh;ASAWsMNTdINF>X1yIWCTKPJ<|z>^t8~8tCn}6>K^HbWcv$`w2lDT-DnV*i#}S zpHJuY%wXPpjpvpFx?L8BMlLv=We3Q`5v{^|8V7#{Wm{UZoUc;|BWygw8Qej8R;(4w z?YH1`9S@pF%*6D4fa9X&F@Eglnyn?&{cZMR{rBC;#SVI_?Z8HQ?aj`o-8a6qkYywF z8r+Hg{<>p5)4JU#864s4dN!e@I;e4|UCHTwQtBPf0dg+kRXO}+4(MIMm2_O2)NNy>LC6i@~b#xygay zTDK02jDj$q9{mWEExyK(=vS zbd?*(t;CB*c-27hORZe!G77ygOk4*h^9wL(tqNI_h^&C3%p#5<+@I7xZY*uf;f(r! zewZekTW1jg6`aGqXrZf#@Sj&Bg$g09w}ggN%iOM5TNv;}GUgxc2r}J;JDP6$$tXt3 z-^Y=|$ZCxb{s^Cy3vGs*f$@)E^yiShqxZedH=4iCwK3dIqI7UhlizS|6O8o|0zH4x zw>f`|0;e1fo7cr>`f=boIs9xzDydj%BPj@U?>Q>rTRHskTgYb`U?9x(CTO#=rf>c0 z!_hq4Vh8?l9Z`m)62?%b#iV5`Vy5`tcLL)mn)**wc-y4bz8khPR9f7<{|Elnloj$OWt_CxCXCit7y-j!Pcd3a6hB&M*d*d*)s4|G`wSd#lF?WqV}{9tF|`|}>{ z^#V=FUyV`JL`jG+G^+h`I5t|tczZR6?#l^gm4M+48qgA}{|z8x`;S$f^dOaZDuZ>P zDCzY(rg#KvM`i6UG>k>h0gDv;Xy_qDKn*(|ajG`qt5=}Ne>nNxidL&OPSo;I~M@~J(1Lndw=1q5vpg)0;lICDW3gg zyG-k7H6Q?X1$0Blv+wL)4d6~Fez`9p8F!*>>^r`%oPBT{QM7Uwu)tg+`VXVN4i(&#=#L z3d@cLMC9s{Qz)94;L){+;TF6optxK~kNMq-3uun|$jJb1GiW>G@uW=db)Bx@_nNl` zaeMJ;e9==VKgLV_C4Y4ADjrW5twtEnIa-B*WY?i5P$y|C92-;;-mpwpH*uQ-cNVNnxagJwF`lAVXIM%HRJ zyOUrz^aZDOXSTV8eM@|hNTDCpWp4u5VWq6Hfff*wV^MpPB)xkLx%3MqthPXkkt8{~ z%_>714|KZUXwN!wdbFZLduR>A?=9wjBPXpEGutc8aFwI}`im4DVf!iu4`cpNqICHg?Cr;up~$e(jfMghD6> zDmrnk6d`Vr4XY>%hKJ~JatS&IVp~*3;rtKO1n+pqq88ZNgz;0QFmNoL9^`2hEm`kR z)j#*O|FGb5`*@h>73&8+-sw2+Hb2+=oUL}JP+Nv=a<1m%>VHWJd?%~b8+pfOqd1)> zJ?=Ln8Q^v_VR&2{#Wy`w zOclM*mLHzVcU0GuDEUk?DeqnFpMPH{QO4wifc^~} z6Wx_i_&}-2#)O*&)n;cX`u520oF_~Ke34{euJc4oT(dCfZjsT?3U`I(VdAkd`$0z8 z3c%VyS3KUcxvMg85vDn_G=PG#M+r=b$(Y7xIoR{PZzEg zGa+$*IGo2<#>*Qd2U`BjuN{W9v?V%a< zAoE4iqU$pL&HU-GRXz@qJZ?JuZlqe(a@Fty7(X2#4hPkdC+-(^ES>3~5!dU9=J(X8 zzg}luzRAEF{J8Zj>?pW65swrPJeXGs8^X!FZsZZgh+-Y89jwQT#QaoxeluFR-mMc% z_FiAprQu<)E$i+dd@&YA`1rhZpIiU(r6b@pD~+*^IlWgbCKW|RpVU<&b4((`5P}Ks zDwAV%fX-`#d00RhwM$uO$1VG5xP-L>2d(N~OEs^+8{A)GqvBzUZ8Ss(>hAxonvy9~ zzbERd$|(^nq4CB{9&f9R>g+|vDwPlh{!xd{I-=JnCq<$dLo^O!_Z2>v3(}b91w9e0 zTMww|yqgO)p?Rc+`B3b5+{z!`GGM}c2Cv%x2m)tU&VQx52@%+-|9P~eL%useC~~Xx zmY$I4y%#t3zL^n}@G(|YJ6@Lc=aWMu!Y;wedWKL9HlT!sAlt{JWTVLCgjUH3E4`i5AW$7| zw@gCId&bi;@ufUkz^TTV69*Mwmb7rtvAYzJvu#RO!H}#rz@C0T$ts4F8U>9>;@EA{-wHqtXQQ+_5g7Gcfxk4)0?T_AbgR zW&_z?2qB&Njd%+0$;$SK+2+z-hfK?0>I(_P$VLNWy0xtJ%9kyENc`?nybg+Y)5L4qO?9Fns=psSc}+TZ#(_r<^S0LX%*? zW|Et;<(KU1*Gki!km-X;yt&AVT>@naL~3KE9ka3@ws1V2Ka+&17_W>A-}Q2bxiPEN z$29?->&=jr?Rf-UfJ^C`Ko8*rp^~D(+s(CE!=BFijE?`%W3v(PsC1C*=MkIZQ#EPtoQqM)h8=c%iym+F?vy{0>hD*-(UfsNuhYYbdi`iO#XXg zdb~2*SZ1hgPb1Y%O}QRnK{bbxh!Lml|yW+@i!HN+`t=l+1_U zTU+|a#VF)ZZ{BCz-*niD2Fgb8=scuWVmnrs=#RkD0(j$k&*D66e`cKPJpCbp=D9(E zIFCvvgkwxmq6b$tsPK@0l|*;+h3yPouXYxorte%cGDL`xCI^tQK}}-RKoq)0sZB}i zh;BFRnFFj#0w7w7K`_~8P3oNS!>pdG*BNI!7Y-_4yrKh1HM;7JsorL7e&B&+7pp=Y2Y|~69ZG3%500Z=0hf`?uS+fC zFLODi5(Gtl_6M;+pHO}f1Su{?wrY3QMPT0dVR5mRaLb9?cI8CO*7R>%-qOul+-EJF z?HpQbA`dDj15f##5-NU#THuO0*Ua%7PpOI6pu78(&V^!Vm~q4ef4wEQ9T^aWzk8}| zNPzm%sPNL0Q~NBSdYn)aL(x7BYoq`yy>|5xva5OB1X+QYI#9=fygpyu>!ZStmw1oS zI}&aSmI0)2+w!E0 zhrx3)%_GT3>7w6;$;G;1W5I&7u~m2(5bK9bUS(03qyOcm>zvUVI!SULj?_NBT`4${ zy#13@)a2?4pk9}03dDg(FV;px0NNL!fl(1ibD}Eo>aLaO8*VIkU+?_6;X+bKSS=_%BJPSh6 z+-CmEhV`h)q;W7hpJa0lViA5^yb5jwEZD?-B;y zP`~j?zcT}^JQu{@Cf>vjOMZyL&UmfQl5sb_k6KiPz(-1~02}xI3MLq- z40<>ElY}e3S0F+=><-a+^XQK4`G#t(gmb$a^fDGNCUD`uph$NuV0Xddt?+_QWn zz;zKF_5X>-_Dc0%m>oS>y@plOGJEG_ z0LkYt-h2Da`+J7iWPy7oKbW`hGV}PyNN6iV_?jR0k7tpw6i+_se|W^nQ%)%p9AZ-2 zDjZVevhd=YZVt>LklRCEpcaHLr2w6J3!M+JpBIjh{!unly~4aYS2QC}p%G^ajyIg2 zq0>Xtlr08FHI$kd5kUrgiVZZh$0|!y3hXNACW^=M``-<3*H>Hr&-p*#>(P+7(x?Sht>eskG&G-CRpr(Zf+mS zl(BSGvtL&PIE-(X|2Has>xm|8tN0ZjBcq_-a=jWAu%U|#mIT_lt=Ji$z1fJ~A>YAn zP)Qp6&4{&n6y}H5x}SibdXhztQdW3ylZM1N`Fm%#;NfYXx%`%OaO3Vcv~XrWu^pmS zDC}I)lCypjTVSb>{Ny|7E7YhI{{f9lf^^1L<0x~IV}5UK0=4>>Bw)o?vkCxliF zvOaVdyneOXlTL&(cg6V>N>|Yd)6_7a;g(&Ts&>xAKh%uURF@KOnCtl<#-r_wK`%051#%H$H<0P z`Qbe-K%IYwr~19kLjandpe3MKT>f}fJGikUfbAhFG>)sc{88&P=P^-et+vn>3&7{{ zeoakGdVc=7)k=qqL$OiWo053%L|Qu^O=pIRthGVfp4+0LJCHhA_etZX4|Ty(=8n>f zHk_e5fZuWa3vAh|GLkqEESuiYi^$1xBL`X_9&c|n;8m{k$MZ*my@wHuB9~LOt%YN< zjTiVm*S;!UkVQe#B&4B1d!=IYyQOQ?L&4ylD4gLH=34gbL0;C6<$qQWHyuP{Ifxk3 ztm9ZTBC6pLxtJ0Pal|4ej?Z(KJXjcoYD+S^PBCV9A-L2j$qt8>YV5Ehc|Rq@1AYgR zekdOAZ01|0`wVOp`kt1wZO8Xg?xU(f;myP%>h}A@Qvj3kg8t|7|+ZUi|ize(#euZiGh2r zdCb^eDAyAVa`)0a3SnAW(D?z4e?Hp9?E0>Dzhc(pDKdFVJIIuf`l zl?~e z*Qi6aMngrjF9oOH+eygzznT5>! z#k|}~hvPQp4d)gi*WXAlA^&B4Z2{H91ivfSuco0q?WaG?P9=67>P{|B1`Y+_d$^Cl zS%p-|>%f8=E$lW={4NH7yG9|moF3XoLoi?@JVEDa?N$!l2I;(=P2RsEkkr7aqy+BWZZWLoES<37>f&-&C)(wqIy1CGs)${C$utt>LUgz(y?!d|8V zJ9BoUW+BsXj>9y&@mcoIa)Pmog2#78jqk}H0vOZZ{<9xJ4hNN#l}+eedk-SuQ&~^v zoONFs>BP`7Zx_^a(_;BQ2u7y`qA@L`?cdaN1Ml*$Ofs*xkI@f|Gjv)^Yhs3%(Z&hI z^nF@~rLvgNcve~X!7^EOv?!Y4yZRLggm=Rc=PCcmNxXy9q#{r zhY5m|QfcP%D~$YRKNH^;`oGzkUs*AqzeDEZJvL95lqg;Cb#MO^tD zeybxs)3>+KVac4gW*eVW^nHMNh$e}1-~PwhzQ8i_amz0nq*E!a!(|Wy7F_Yl0Ma^8 z$zM>3Meu?&YR&U*3-UrVUTDZNjkp=!HES&lG%^>jCqYsebGnO7Vc2aJ7b$8=!uBU} ztJN3?CMC1aYnSyg22@zAN(wYxV6jhgcmO``HL#%w#izi0AR``Rh~Do3ef!-j7>Sv+ z+p+GQxtW?|5j~{E>6mE#6FoN{aa;2|X0susD^P z`y9mdo}rLI$+b1~IykyT;(-KZfRDV?_sAk4aC!~oVUwdvveDewu=9RBo%1GlLb}JJ z0az9x!qB9a%GvT5eWx?A&_tbM;o~{H_F@q)IHL4$xiBiXVKNfX;sor9I zoKDbhgh&dM0x>C1&ASd2VAex&FpK6jgCdAQL&@a4X;h5;yWd?{W~J!yNbSK+p|&D~^ElA2#l|OE5|++#x0Zz{_UhSY-dP%fAH|O3%3bStVpAyO5>6Se8 z+lEWMU>PO!B1FW^IGbRwlMA0#JM(SOa>inR6vFs2I+5hwwBZFc<^XilT8&~21zNOK z)&U%pTV#X9g^OF@A~<;=@wW*vYS)nQw6fys5mVgV%Xjw%!v`FuUEdl!>v168aMx&c z4_9+)Y~L%=v;vhb=-TDai>eO8zM?p!}@N%!)XV8+~Agp zqld8>GRyj+e<;Ka?MD6wWZj%;b2p54xP1wv z+Qn4qU(nZN!HaFl05lhUCu)}qZ)!9vL~p;tiNHpGn)g&fS7c8x5bd76hxMr&u;ON` z9SUjG#PqpY`ZsmO&v-I>8Qlvv8-tVMf!`TMDDSK=FG6s^%q$FR%d)*hV5dAXQe47F z&d_dOzb?X%XQDnSuOh;7YnO1L{_sczJ{7{~>b|VfPkgz(eN6XU;&PkVzcz1z&rAp& zA)BIC){Mwk>^=mOTmN|a(XS}cB%OvKkC4E08q6++gtH;4mN(`5m3)K6jcL!@!`rMe;Ejj9h%~@>46PCvzH{6HCNO1+T5*cl zf~SexrtM$nt0*yFZzjw>mdNjxynn81ybj0*PEfFIe3nfs#V`;A8R(rO@xizn^lTlW zx=svR@Sp;+iCQm!)S3%l7^L|(Ab4}~=Uz^d?Pgj*MjNa$oRKMnx}yD|*24pF6-*<_ z^hqSC7ICBXd25uXAXGp@Pno0|v7GFoOfws?>NexBRcr6|qD?xjSciKp@bNThFUFftvJNubeC$r5;;5y=L%upxxU2u2Z2YCH=e(ksUMr*x9*a+N3}{!g}%qw z)1wPISE7M>Y^=^o_=L*lbe(*DAgiHM z-s}PKW0W~QfGxflZdCqKh5E|ESt8$pUB2pAr|ul7A-x|i)w zl$NG{BsuJ3I|-4i@Vv#ljJ3zxhhevRax+iKkc!EB<41B!@~2EYnxIX^g^stLJfFR( z#P76JUF~3CV?O)EIu7~g(_#V){lPfzhoZV$(e;g?&DO+hw+;53IFuOgVz2(P3)cnQ zlI}3Ik~CL+b|w|LOS&a#AEE`x;$El%mgl>e;@$^%v7C=RWbl~<>h%k(B`y6-Yut~Z zbDU^;;-V$}!e@-tCQ<^_F)RzpFSG2t-l%SHPW8%QXt56J*}D_L`8>rNyY_r|)Y!EtP8LkOfxFgshN* z)yB!54Gr|wzDVm#bub2>*=`agMA(+5_&DUy<&5FbjnPTxd%SSoL0lrAHM0E1{WQq< z3Fq-Ha_nIA=+8R4>#HuGysh=huLGTyBH3G>0Y+W_>HdrVIE2uu0Wp8)l?{fB-bp2! zjHO(ZYx6<|uSpP#TfV3TiTHCNBu)DR?cBrw(?S2W*1PZR^r~xbiDbij7CBCSJi{md z^&rgV^U`{f4qFwvE&Ia>8CF4apg+!HhCpIakfQhzi)5y%mssC-D@v>so)> z**0OaiH89ZT^&gfYa2PuaQ^*W^S=g`vUz@!-Tg#aLMPIMqynZ>N{C5S^yIM^$2Y<1 ztqtMBUvnq?UcV`X1|4tgy!bsnDuN4MFa_cCN9N*0%p*!>;D;%7v)M*_gti+@9d1k! zpiX6YBAK|}aR;?S5GW!N;1!6PA9|T$66~RR(*u%!rfl?(sde^nE8}qm^fx)I+N6$78 zNyh=VZ@>uVsRz-W3JUE@l_LjmnJ{ zJQ$1-a`SG%@>jcz#L67`e=fGR@dLaPaj_M`2O_q!A@6426Qz;oK+UobsX{>(xvZ$e7o0Xm@?8bJa*xvE#CIUWFns}X) z7&yz`FJ2z>EA&eJ)mc)%_Pf#25s-`b{m~C zYEb;nb{;d>{L0}XHU`s)kPaFx-ym-1*7O64A!yGXJ_OeCAGUA8-8+X8)$^x+SA8nq>>rtc$*kLi}yJXs9 z*!@oNy(mlfNf!@&%};;me_DC??Ipv13 z>C$Z(q(7v**t}9iSXfUL9*WNgTN@49(1X%HEPLRspl=mPt_q|M*Tysa7l;OF0L{}~ z<5y27)|H%2=JCHSV5H5kwz^o8Tt~hbzusj`>J&r}+^%(lG!Tp#^u&Zw$>LBa-YFT% zw*y#MCKwK)Lb}Why0i3|M_ZL;GAw%2!;&WqAHQgSl4M|Zlhl2)Ny2cG&bcv_6ijSO zFTPXrcCBT#clM_JDTnQ_kv@}%6i;nkYfY!7cBJb8^Rx3(WeI56TZQwVQ|;=1BRoR8 zm8)VSBWq4XDZxu@N~@L(qkrg0aVGPk-lq4*6w02?@%02%FPjstL0sFeFQBaZJ*>SXHkLB7&by~vt|&ejmhji{S=t&SlE~Lv+-b_ONM%2s>1b9*4Zx_M-y*h`-?*RpffbKe}8gauY9cFd?e7 zFRy{os;COmt4m1bRsOI4l%FXPARw%rD?U}@>iu%IMstmS#3v5v;y{mbI98qzB1Ele zEu_gpYm(~kB2zu5c*y}-a#8(I-XF6Z{xc@<;m`i|fA4qb%8R4BFHs+G@9pTwKHGL_ z;DSFy7Vl#S#6$bKLH40WgGOsvM8*7JTsl8USQ&tHfl}T-bo05gJI`|t-mGs_L82&7 zYdYt1P4VmQOfV9EbWi2cxseSmf%SMtQ4>%4SAn`oGbnF>nN1ddklS~}S2lmQQT{4Z zAEPS00kalco}3T*OV1FwF+rnoS{sI2*Tp4=prKXHswY;XwGKJ;?(|Pooo6p3+9%9; z*C3=gYw+s1{MiFpYaFW+k2&CzHw9|&z7|1c4DCXFr;4HPGJ2z%ev*zuM(BIgz^ zex}QRs6auIR?;uq`<|$QAU_WVxP0=kXT+d-w;n#<_=UZHPqOEz=wBqZQ4foFrRMJ& zU6Fq_!hl2dTo;TEh#J9&p$8tW=P4NKKZ`7D6j^tYv@cqWi96)E1&b@>_`kJ^0eRKu zj9-Ie+4rCM5?}6+q$$$?b7>N#K%t;`{a*l&1>EHYt+?Tz&QlX+V3zh^Rz)~TGDqW) z5@nZZF~5opowb|HkK8_k&{Bu2QDn`(GecpDiX?znVN}GyySW}}kX~mvS)lnx(ZCWm zGuajX--;6$>d^9-`0CAJc@n&EF-}4+FV!a#Uq0Sa-4s>TUS&!V+Y@3uuOq5pSI=V> z%sn~EL9e@B<-V+|nvZd#UAw8CGyQ6)Wal*?3>=3#xRa=Rf;3x(HpKJ&;W4+IeiH*d*Krj7U@xCXuRGq#A&{+&~X&It9`j zJ4kT>wN@5N-v1s`{nDb?%n!u6fHIQ=*0@O(yTaFEVv}lWVv-lN1bG;k`vrIyI1lVg z;hMmQr*XYfubi<2y$kQp?SGywpA0+~cq9y2#12y6-qpMU@xKPvkqoxBnV7tapS=zomN2OD6!o zGZK+srQdOY7>_J56C#8T{*co;jgE!+xASy~0Zef>jtvCt3fz*(-2SKvJWWIZe!AH1=NB=RI_n75_)xc3 zW!!9tQ1tM$PIoyIN_N)ro<^v^V^@4B=+8^OQ*=2IN_<&1m7Ms{t9DJ1 z3gtgx^S=fm;^IkyPppa;H}O-b#D|_69~9b0P&$y_r(bgRF(+@>C_Hxiq6Vbf`fyQh z3&l2U-*7s)4}QEF1hTTD7Tm$czfnl#;4NYfljSyD_EaW7=Ax4rJW<4wJcQ~03I|?h zi75PfqWAOo4e8Wl5)D~Q92()uZzmxx9PZyA>fP=1Y-5+}zs@xUCA`ZDs31))2{H7* z0=kPysSL1;RRP;lBhHS^f=4W~^Wt$Eo6R#tl99vwrj3Fs6b1pwGKssJEbD2S(#NWj zA*w%nyE5ac&!V2wfB7ON^iisjQdMOdx8LQ*E8if4wb~DIy2U3D+|zM+;?&!~{ISV0 zNJ2Na5ivQV_1f3?F^tnk@Vp*GCX3>A{_Bjz5w(cK zn{JSQqx{^$3 z#LUqXQ49cE5n5tSs8WUd^Xl*(c7S&5*nc6r@41@4*gt3L;L);xfzE7RgQW1CvT3MI zEB?nlb!v}Ow#^V8m(xu~`j3*1ecaUD2ZGPjGHMp6Kse>YT*u`VCpym(m0s}1eEKYG zW$UW>JlS2x@xCiA6?0w+7qf_?nb;O^8n6b!2%NB}(|@J}ZiwMRJMnKKhNZH6MfF| z$o}(N;~ZHZp0_Ja(5JvhY4Nj(u++rp*N>?*vuR5+Ss>`dL3Z(u{o~`a_gn`151BTk zQR=H5gtyb_n-gXytNjFHpOs7_I69$UfLWGLbt5p@!a}!goflk z-^Gyc%ocekD_Ws{Xwr&zU@kVo!QG z-E~8f!5&|Xl6~6q`o)F}Cs|TX#XIYWei`fvDYteG9xa@Gr@vxax5?~>oOZY==@&09 zk_cY22Cy1M#{yzsrQF*cm9s{^6?B+{pu1E1LNMT5f1`MB8_H|4Z#LgR|-fG9pjhTqpZvo|*z*B0Lj{xv@SaeC1Rnd6XDJ!=_@NyUmitT)5P z7+0SE5E&7Xg%Dl`o>}lmu?f}1d`fYHV^8|bxa!ZCXqlZ}H?3cGG!IkNk(>IXdUn0g zix!^X4;pR!e5d-6#IWGBbLrb}qQ6M7>;boD&!R}H%}8+v>N-r6H@6T~e{QI6c9IxE z&?RfNK{F7E4=&oP)Zczq1G8W&W(~vu0mO@cf?~v^A}W)Yn)Ip{)2ZpHv?RJ2-AjI> zv-(i^UKgfBB*8MChP`tS{Ji-F9*p2wWGf(Nu6?%F^pr5^Y98RkSc`X5jr$i=qwuY8 zXAtk(7SRIMtuYn*yqX>pE}Rj_4e6=`b+E6G6i`mJmUJ>TvNkG+9PvD zui4T4gn`S|8Hu7Nx4#OLz05xUm*EOU&M}JQ9fIzpq4@-LRynLKzp>G*MLd`&#YO&< z%gjsD^g4>N-V=@6R&6IEk#@<2s9c1sZ_pEUt2a3aF+=_|#lMabub~58*-2 z=l;@Gd1n-z@O>NmMy?>y#az7yw#<>3F^hR$9+I-9z@8*#zQ5Ap&ZTzb(}8H7>ed*G z#1*C^Q}M%KPVwc`M@8*ZVA|7QE@;CH#B{!)7fUmCN%AfSbox|I9=JFXrQQsG4ZaOO z=~tR-ohyFKu7Mct>Riaqj?(fBJXDZADB2aKe+XPn0lgNT(4^p|j`*!|E%j2~!l2D; znupGaoVf}o%U1f?H`+(4K4ewKZF$&$UZMh5!DS|OSlwqhc@otEAp%>l*X%W6C+I*- z4i^*pIQdPR_a#6W3wTS=UqK7s^}TDuIuPKdQ|_VYFo%*xV2&D{n+x~p+!DeP1+?i7 z^lm0k6_cG}e8buPj**^S_i&LCCxhn8-Ua<1#bv?P1j9z*6=QTsccaoF%|?Tuq=JBi zq;xmiC;>?UX&4G3A`${3Jwiabq`SMj_PyUBq^V~0DLIV(`rSI9^Knj6!KL*|~vDURcm*Jm%yR@EE9<&7n5 zFCLa_o#awEE-RTtBb7)Oe@?ajC8tWrBrmMEQL3TUAm-=jP=*u- z4Xdf^$NEsnR$)uTo_DNG1T(0^ua7*x4-PKnNj4M8HlIq5r3rXxtBDP7=-6zh6bX4` zBg`k&)g;mDK<}b3N@ioVj|^Wigro&@6DtGnes5UpW_;wmqoAI7xqGGDni#WNm9WcC z^pXJ45c?iDnFw41Xur20eZ#A#N)IsK6B@0Go9^Zc%;oF@S%W^$*IA6?m&px|Qo>Ab z9nG3h-u&g<0Lag_j*mAIoVMsstF4eaOUe&IX(afo0qx-<1bmJVuD}EC@8F-_AmcRn z9xxko7WMm5p0)LInDGk>V0>}A%&6(XP4k__5HC-z^%pyt3az(G={ovUUS;11CH>tI z0zPlPi#*Ao)13>fsgpx<*3Ig~7?bOn?%RjA=-hp^$Wk>XoK$1W8#MwWr1X^-NE+52 zih-06%8kK*DV9oNB)dj9d&# zdXBU%(BA&t_o<^JK{u5=;c^0$QZsj(}SLfyef=Cid6KM_UfIg+pPlyVApVOEy<-zjw{dkY`;L`?p$!tf^P{2VHwY zflrFun*M@tYaZ@YWfi8Y;#ZVVpNDNz^%Ew(nZ+VW3)RMFcw_rwLD09b@pCDo_b*7jdb#~8)qls{f_`Yvyu5*czz;-w@4%O2FB{bK!#p;33tee20M4l-Tbnz4YNh%K-){N9D3?(2EE#|7QEvp zLx7)kRWwD7sf%`B_|JwIUQre8QV-t`ANiQ>z!z@()@k1ufyuo*W-C?nSkW9%bj3A! zHeXGp2wjz$QqC)#CiJ=A2WMwq2;wu|P>y1#hCUlpD?1@;#T6r065u&>ceN6z8|4Yn z|9MB%HIn~I*Idhr=25;l=smR`1wW|b+dqOZHN=QV8mT&YSB14XuEZd*{m;Q~2400d z`bd@}-+{f_~7whY>SbTLtl2!9JY<>-{*!diS(m*ZcA^M#<0Rw6jL zZMb7;W|n}7>@N1;?)2@8nN$hDOBf@7A3uLMOd8HwFwlnWpBUo}*K)UYa<$K2O;Nsk z8j8roa64S3%AP^O&*j?uc<`Wv!>jX;vJ^JW5mU5yO?lrB5oZ=uv2``2dNuTzCCXQP$h(@b*2_ITOG0 zf?asagX%cM>$w9u{SP$#)Q~Jml0r+a_Z@emhWCc_M343hmWc2n_9cRdJM|g&iZXPe zWaAe!*X`i`e;e3GFwfQtu)I#PxK>vhGww*?ZCyHqDqT)oC@}!I94UC@coUi|Jv9UV zdr^4Kl?~(qNITj*+dmNBM_=mjGc9VtzQ%pI4fsojufYwaJfdt>qywT=cw5XkvB%f; zp+_X&J(d`8r1s61mI z1LNq52&#)p@^-b+cpnf0B3rtT-|qq$oCoW-yX-IyE?)2m^-Qeurr}ejzidxAfxso?zvd}XKAEA;u0J1-)bg9FC&^pA{_+gHQ>#cyg7J|k(VP2y@{+O)!Bzimc^?$U z!}LXa7XGV=y#%6xhuVO5=F_3AOVh{tOe|^`3TaNku#bD0MRQ!;_oeIJm$7;8bhq-) zn!tx0sxOv*LD!$h&!{FXB%Y8b+}3oi{b{hZ~&FHGkh~2BF;YaeA&x) zke94&!ESugK~nkRqAtdzgbMsZ^Egcc^xpeejHGu5gP+iRDra_d@8mHSnVuF%$8tNg zu+m)HGHh2`9jGjwpMVamu>5iDH_5!-D2L8lQi$RV!SNp&z1}$xAW3#Zf7zRHoqn=d zh8|A#PY!-KwbA#Q#h4mBrf<JUsxC2u;LM&fpHLv8&(Co{=NH+|3YC+!9{j${W=`G z!?JmY3}S@T$pBRg!$Oyj+w}7q`KZ_`hWCk8LtatQwwyh3t~>UL?76vI%d2f9B}1(` zHhdKNKn`OFy&eIbacISIC(-{&e0C*5Mg98fz5T5+@UoYV{cSvQl@1{KU$rS02k&#= zJvt)L{7ETW**;nz^%4-?GY%XOgB~MW0Vm$PsbF?u~ zXAb;Qz0Dw2<0On~CuRriKhic_*@{d)1>UYIZu^40Ga)S$dfv_&C3K1jXs4Kr2kauB zerh8qI@!h@V3Z_rgxe7Rxf_|ZiI$`HMDACz<(M-;R$q0&NmaE7vRl5V=W$lH*MhQz{6HN@J=J%2g{HEsH>j(V`JYf(AIA5|_sM|jvdlW8SHGFnF;9V- zut80R04hA>!Q2C`Q-5d=ph6Toy)Ci1JHIB0_ZjkGJhsCXPn)xr%*Sslq$?-@hO)-rRQ$z-xJ^2Km>7_%-rgp%iEgkZpBnF>U71D>}=vuQC)Bmj`=(ohV2979~xTiUa1?G^V5>R4M>)cY0kA zqy@%Bzph2;LeZz6B}|LUU%Al(WCg(a>$sy8gx*w4Wfc3q;ybd_XQRz8Tngh)BXK7l~Qz2ko#1H^OGR~)+&F+1*yIjDK{MTD! zzaZO8G)J7GT>*RX@I%W0D*2ZaExwerjpro(V;0SXHIgI%Gl_kio; zm~BN5$e6N+!uMiIg<;z9_;Ij^&8Ke6cQuRJYnu5lZB38t{xI~Q$jCl7{OjR0m%+^ z2IXFa79+5@DA#?{%g(swTZqeZcrzS|B)X^uGoZPHHvobFJ{BT2`1 zU7U>qf~TMep;RZ~b@=F5q*ys^J?@nyjJzoOxw!ZfChI6r-}A1rOb_9VqE1XWktNr! z5%1?YO9_&@80-ZQhAvzO6{gEtx_=4!>&N@}8JGCx_68%5IR6?^!aK5{>7`2ZUvNx6 z;_f}@_d{sJcV9M<_y37{H#VK-TpZ#c#iaY2FyE3F&i(rC@)5LM@5HqEEwfY9#OLsXI;*;6qNEFfNGp9@G;b zo&UZb*HZeeTlHW9t1_-+|7{e7Z|httls6sAMM3}O`Lm&~m7lc{k-4`vZNMuvfNEF$ zoFfUzM&oMT@6%@oZL6ItsdJlAZcPNWw_6y?_2wYGY&upMT|J~6Xa36@S1^=3}GH9lf}<7P{0nMLux~cnBi?Q8$5n{qX~(e`gUwS zC=S?E>IO_ALMqhhE<+9$!~n#M(T-_AY-4Sa#D@#gT|cf+<@d;F?vpPj_N0Mc^f&^S z@VXT0Hy{TgmDl)2(Q18!8^3qm0ndcMaUdT<6XTUms7%CC<)>tJ6hH5?zBN|=Z>Z?* zgOLYEpE;J$N@{=y5n#Hx1rM8G$s81v<*w|zN81Xf&|7KYBK%J z0WnK_O^NPOY{kT|YI6AuUd2s#9jJ9d-BQDFdVqHMKUd;J58pBG_~sc)#t_X1Qx619 zeb>d9717+b-~?ummp48I9p=AImI0kn6dTou7sND6v-mBYjPM?&*Q*uQ2PIt-$6o(N zO#;vd)zoK~1xCigRTd9!r#$oBplE40Esk4ndV%^2K_yU-$dctJ&zz6?Obl9^CgWKf zQkt!8SwZ87C43h-VSPaRNYYl&qMVNc%B_zhlgZ5BnV{>0SGeX zA1%Y>Ownvii^I2-DvGu79-CFgX^6t?PY=5x0KSh1K1$MP2H;!(VN=;swY?l(ddu3J zvDfvh9^QmKi#k%j=JRr^zCmTDns*>GHH7?X%cqXdrjmXJoEegDpK5v4)ZCXuAfLJw zD8*Q~8B%-TI#&L5Pywm!&No0U4J1&{s&Fd+?A4mVr1*2(O&eVfaA>A>;t61Kbw=vi z__U~~^s7p2jr+4>mXszvk)o&R9*TWWchv5l~7SyfvW>h;IJkHj6pm**;evXyC z{T<|S!)K}P1)(%0@w$R(&JpJhgr-)RgU7?pdtqpV6q?|bU+KauG@4HjbGz+`7V;eMA>`-r3pUc0PlQ)>tE21zNWDx{rM3P)=~*N6k;wn;yTK% zA)&dL!24CQtRUju_OX5~=yuAmCAtffk57(|JXmrb&n2xC84Rz;}+_!2$ z)@S3l?)~z1k|aXAMTRYB@4x&3n11Lihbd@I-D}YI65)NAq%Zgs!uH8T(d!JX(hmF* z2e63(8?Ugu9BtX1tdYXm3e|4izk5@^V7h;EB5SqlEIuxh5uCH(j5})ei2mGtZ*tnDH%dRc9@Tj^wnGcVIY`UK+-nW(KL%SK z69ar=x0JcjX0r=gq^l{QhSzjAzW<@;JJg|c0X?wK%w{4GeM6OAjs)kZDLmKA$KSQ@=noHsX+#b<*IT4o0=ZWHN|mNholMPY$R zkwvn0dNA(p&KeN*2;ggyc2bGz;RYsaXy&^S8&i4u-Lw~DDyGgmJD<qT%=3wEvPDj~EqOcmQh6u3%`h47I8GwYE0Z%?JvfjiM|0AONkC;fte%)Ej%iuwX zM6Wibv6zEhdb5;NO6uTf?FSR)q+cZY;rHu+ODKQ}Xu>FPS1`SFq+| z^8fZg>S$WCoFEX8y!#AZ&^F5K2d|GIaZ_4bguhEvomr%Y6t6%}JWMhGPH8a?|_H7hJIY%kgg%6Xam+8yC4WSa%tPVgJfjeHu|--tB_b z!=To62j0u+l+)OO1kS=MRZz~kPc31n)1sxNL-T6!9~x4RH!irZG5yu&O+Jeha@$D(fQ&zaBCcU64@azMHr z^f=v})c*KwlazWX4{{D~{~X}{ZpO~OT)x9?yGemK z?RJ%4ZHfZMT+gF6kAJ#2=Gbox9glrKR@Z08;Z8ZwqJiwmzEi;S1*q2;t)$dMuM{`jHe&2Gz3zI zqZBxW`4@%qP+0O$3`0 z@0rRmg_S^q5D9=36uZ`bwb~*)6qN;3jgNTFm>c9;O9J>+{alKIXof|}?|?=2RqXGn zYl6L6o`lOU=&R8eDca`D1VYQe_-umK$l z`|V}z63#J#lp0r%V(`>p+=-(7EuErLPajASDZK<>lO8S?Qy4)L53gI(L1c9JlWLAK|UeX zxtl!h78sl(!Mh{~iK(r|Gm#;AWh6ScA6E5E-H_y}ye^_Wl|aC3eLaotXE30)d4UZ7 z_q;;PJFvrH(5*WFWW}nWH*^CGmO{4`;M$kaW0kNH8u79(mGV7W8ij9?oB2E4`b=lO zfxjx8`FZ?VXe8(|4^*{a9S@hhWs<~Ad5Hw!!rv^yL1(IXyIR~Tqa2XJFbn0!a&C{F zLPxQ1r&8W?1FBi4kMr zAY@O12T7|B>Y1%KUOSRmA7ia~G4H1u4&u7OK>(KsS8fInwvb4}01>A}$ho+DGq0|u zG!;LQM;p^c{d~>qJ<@s0Qh^Cw?TV)Owm3P7E|Sz-)I&3}YOxe@`IK&n@FKfI?LnX_ z-p5RqCKI(?GG`JJIk$!CE6M3CG`x2MDf#~#LvoGDZf{ZUqp^9hbw5l$>4+P||Dn)j zonrClZc#iAe)9U~aNnfPKgyP;53V14ys^DQ(g+fC-EAStTMF>7kDAS*bVB4&oAvf? zoP~lz_E0n#a3})OlIn{UUy`jCPCR#WJ^L@9ahO1;%+1B;29$-`oUhQ>kx(PuRpoZ^ zYI&Y}0mXmV9nkK#6I7bvzRe0QMqH5Me{x6Tx8>CC|5<4dQy{SBY{L7TqWO#B!voSo zCDPj`jcINB@vI^sy2@6^tDUrhrYk?zSgo=~LSFf$n4wdX1>Wsk+`Z86vo%!cK!uDbsDO>6^i68f&0;N*KA~P}=v6 zM4k&(PuS;KG;Ra<@51pHP`K+YsRP4^Hz275On&dYbk1nGi;_8&*vVymS#EvYr@nM3 zgo0L$l0K}BgjMTyDJ-YoMt<{mXOX#JCTO;<_2QH<8K|UHJ~puuMV?M1xCB?4YRkX=ql$LkC>`=OH7=YAWbia*o_45&m#R z8o=TQw$NKPt$)I7xZ|x(5T#(yA19C9Kk1n5DAkbiSI z6irVDu(q5d}<+$lR;YiH&Bo90;1S3kSdF!@rjCQ!BQ_SKOBc z!6Ouv%;B2S5>1D`nzN9j6L2!iGX?%OtxH0i!>D@Tv=oE+aR-rz+5L8n?g~*;#5?` zx~k?bcp*SnEZ~*p<$OT3m!*J9sB z6YQ(p-d2WO;EM3Gmg#2J`%Au}J;|=V`MkH`sJTFR5ry~;1=)h={vQ|Nc zWWj?Vj}V+nqyjZD=plzB|G|}P9fjfVp$fup79Wfth#!l zrmLAIb{EyaT^NWAdiUpoI@sm;jj&DeFhm_mmKrhYz#D%^M=cb}) z0BR|F8H3^@PFU3P6+mZ-W<)wP#(r0-pN-da&L>CZaBnscES-$W%=er5Wrbg7x4#dj z0dT8<$XAEmppmw?op=+v!?jKau{O)dC)71DWUGw`4PoWO!*`sexT(Z^>#J+8_;TS9J(c_S9NL!qywA4wC|*p#GVG z+D0DcDjxxfg!WhJ00l?+wcK+PW-<5`=}Wnr!A}CFADk`59W&&dh)$0@`sRIjEdzcw zzsb)%D4Hp%(P=Q4Ul~_s2$Q3v>e)Ks%yG8*j?=sE_GwvRp`65TZd0(NJaxChyqm(` zUWas4Up0AYHcp15^dsqiQXJEk^Z(c;aPB7sU`7?Usp#3Yb zz)DJ%;g1Dt<9EILnA;AxU6k67KgQ@y@XAB}Uk`)y`ZC7y{4+(cN_ZrcaRu#!$p5Sj zrfYP?=&Z=LBcU@EiWAjh|HBc-ZL_>L&DJP{lexikzYrUQfb^9CR{bVQ!g=qDJ$&) zo=T3m`YUZF+Or?Kb+i8`G}|?7+!1d++=sGZJY_O6Q~FM&W#@M%w$xN{h|4tt4T;PS zr^I6jy04Yh}9wIR2if^4FX}?{8-sukvx@ zUzYc96;kzEjDj5n*Cd>u57m`kL&7O#C%CxY#ZGYPQmuC4uaq7HbO%!nF_&HlQznyf+no|Gavs1Yn=jGm)f&(z}4`HN`qq<>o@jOXt^RhS*mvQ^S zL{!|s*aJr@s{8Y37s%L9@3$~^dW_F2n+O@T0)uevp*J7#vQiR1j7K{{#?+y@Ms?zI zvn&O|m*2aY7dy`t7Z&Uf-q7Rjnv!kL$3`E0+tB&O)IHaEe=i1TosxZWvD#_omKA^p z8y5C!*Rf=hfrY3x*Oo{aM`EuWSiJbxkzV*RL4LBy4RI7hV4R%h(O~xEo~HRkh*56D z3iV<4QiTZ{tDXDBGQr8r%s+}U5_fvguaH~=_G(6`=LV9>!AcJpfVU1K_Jt3`HAP0sIXqTw)W~L9&VH!4 zeR0j*Fd-yjQ+j%AoxzSZ=PxL-lUWLdGWjAbRM29ev!xbNqy?bjCLT8T-SBw-<;T;n zS-BOqNZNu6vNB3QGmCD0SDr^gWFwNp2EkOkJpUsGL;J|r^=&8leQY3AZq&Z=%|NyY za%v@lEW?MQwA>^-@&}pa{(aDptpAX7X#IZBUxmq=gR_c|<@=O>p!C5-vJjnQQ{`iJ z^x>~lwpQU&<^@DIvBbGZrj_OB4Kt%|R|1@3C0plDmO7kehxLN1nx8ZJ-_Zr@W>d~P zE;n<)qF9z@<$_qq#A_+%rbfYVJ-0A>phip#+M?EeFZ(0iKouf+OBht@9V-Hn_-yxv z0eD6!ob@!vV3`3>MFD1mLl-cf@Tnf~2Wu+=lmth*t#DEnj;W|)NT3U=0zy70+t7(W z>6${5dkF);SYn^=6pbbz+Q|@W-=K{9dz_FhU^2=Y255Z43v}yx6R<`dLD>bLo`Q zJ6wT4UPY!`uc@Y6T@?scAW+sm1{@?UiDy2GREPkdE(n{>0S&z^LEAg<+b0#cB1Vyu z!!4|xJQuozumvarbY zbHw=U{Zp*K_LUL4q#0O0_5L0Ct(T`5@#n@oIMtI zj+ZCNgavZ|X$eJ~i-2MFLG4nd+4JlXd(E`cw@J3YUb%tMO0freUZUW z^;b+SbH7ktA^i+vFMp_ctq^3$tuSf3N-qSW6kMGGDUMJelFU;K-XqOl8 zD8ic{^y~xS*b5f*{${sgp9P)`AhFW2QITd+x3ry8wYb5xG?T_(OgBvoW{@O0%(uiG z(e@-b9N@7@=GG!h4n_Coaw?$(L%s;0CP9CuSW&g9KrF`grD(VLN{bIPFp6vns%C#7 z=EF5ReR#bE?A}qd%g0Q1VF$%?_9`4f>;L>3&S7aO zhzxxA6IbBPqd1r8xb@1eSMPc>X(m~tifl`TTMI_!gX5AV@qh{d%Phr-E}(+yu{7s7 z#y=PqsOj*7=X}ANYTb9YdLTP3$U>SQZ2+DYl2^{7x4c#Ea(Ue!5jCmY@s#+CFfvLF zAzwP4Otuw9`|ye*j%-3(7Hb8 zDw1^<7A7>%67!{IytVWewc8X>DqtGOditYeItX(#aMAq9qIL#3=Tf^dS@~>va){Yl z*Ew9b)Y#LSyIaLL2|%I5cF&fNeozQwe-{m5jG*MEkRtCQ_5U^FJH6NG)o^D{R=(hV z5OOeJKkM}(q}1)jzj=w$8pj_D7t($cK|X^lB`<%xcKUZ6vU1Q4buHV~vnrs7Lv0vT z1Ya=IHQt6ojhqFE&6;@5=ZxSS+Iy|5IYf{|tEhV$-Ku`Bpk}UlX104?gJeu`2PC9%{hH4~9b$osPq0h1xdHi9ow^?T@jIit%;v zBaH#DHKc#v)h-dw9VphC^ia`dKRx?27W7WxIUBV-0)&u4pui}w!b%8l8^e25%K~P1ya1B# zb%$JRj88#F-ip4z0AwRM!Ln!}Lf)s}(MsLr?v zRQQ~gq7p&ec>Zgn9i3W5E`*}2*UwoHT9>_%@4JiCBIl=Ac`)7Uv z#Di9di@kWK_i#-VE#$Bj$roHxXa0!o)Irr^7H)B5 zW=P#`+<(R?jfnt$FsCzx%F(<<2RvQg02Lcp-Zge=sKl}Jg#kl;U*6t7-qU@0GILkz zvhtL|jj@REha|(4g`kLftcB`|BsEuRER~t-YKjM>;cp;8$HiL0o z#-{xXHeNN03xDp)y3Q<+bY=R$zxRXUe>9BG04)zL#Xd?b7RrA&082o$zq~qW8noCm zWMB}N8#%MQ+I%gA+i3BWhM+&bWa?B5vtkmadn)0|js03e}k@QINa;T^#<3GW`wOB~H}j2M_>}8_IqB<7vTxOZ?o#L*+bWp(=EiLm)br z(E5)zuf7~8zxipCz>UZbN%&}dUxIhX&4ep$(^!HILSB6jqom`ew;*x2qxY1qIXo<; z1+q0WKOUJ;8i+bA`*dFR`Dy&|JNN5YI9L*SDMS>DRRsqF_eCbl&BG%#&8Z^G`)Z8V zw;x9kzbI4a76pn6;v?{|PH*r>LPI?m6E@nm7~Qac)0-PhPK|k1Hl`lRFF_AyUO&#b zV&_QaE4c?KkS`%gML4}?@Y*ET7!sK|Az&&dj3z1 z?mE0lOWM4UbBPSOK+t|g){r_`G;aysx<9Z&Ca+){tgHxV-Ti$_WBWi@@4=%ZS~6=Z zv_w7H+|qJEShsdAf)R~-_t5%dm|phUML7)$k=4>L_1WT!;5Sm!qTdRoCs$fnRze!Q ztxJ{~A1Ar+D3|g)K%|{@>!0PrQ`mFlImS5+Kprmp?0G;=t!j?x8vB|=>Q4$ z=ct8)Gp!C@Jx{m#=9r{Hr%X-EtAve-1k!w2$$-(P1B)deJa=SFQ4216j(tmfn;p$8 z>|#ylb!+WrJ(VD<6{XKXE^NE+#`n_#c#B7axIQWTFDKd=Xu4jIOqKt@aIlX`SLDgy z?Yr*Yuff;m<3FSpFpowFEZ-}lKBlDuEP;!ofJ{6~9-#Bs<;)j6zcynSA3!`6GWP|j z5S07R4L}f}OS<@KAkm^z&^TJQn*bI^6nr8k2)J!!_1Z%@RBBsVJm;k`k3M73OJf4c>1afR|M;@kzM;=q!VJzv=^~Jve+gaoxWH%lU-g zRgR+INyL;9N&U<0?pp&nP0~|qDkl8;$-)zemBTS^clH zYL%SE?foMc1}>hfu?@VF2L43FUj~&{jBN2$NS@`}1F;rOHfe}*W8yW!r*f*V z@dw~{PUO#d!(7U*gJW71hWDj6?fb5-68L(jpCWWV*AUhIib<5~KTW?fx7UMN*9QC| zD_&YK`Z)Iy^pnGrwY5+UF!=|ld&tVVa+PB5e)>mJtghTA9Y0E%Ba3BE^ef}*YU61R z%ZCt~79%3y&y^6pmSokf$j6FoJnYkiV8+@#wtsl;kNVr6w_>h)dK_KN%=h4RJpUk; z8D%s?|1JHRNsF`hIR4<}_Y-pn+Mj(+sNp7>yWK|0`j4p_tg3b%EmlH)DZk)WI%mCH zdr=T3r&o!Ql7YJj;>Tl}pqLOA^4`hwo~N5V02Zy=(>2vVXC#IzrM1JwY6#v%kDY3| zalamrch`T2aS*_0l>&nG&MJ}ofbW%;6{lW$z1)_95F6)rO61WIq0vvIBPdk%LHH)i z43n-eXQCsl?ds)xQ}%hYjS2|=-A#|&&v4y7oC&75Ssd%%kQ}-ua(yRqnghKIEeUww z;6+)+&APk-zd5teCjz`RP|iI6?BAr)`I*y6r& zO=>t5rl}-8IjGPxn+=tbcYlkV!BSNy_E`v=WnC@&*K6UXjhLL{%LBIg?bM-a%f$VIC;i# zaw&7sbOn;uPm!^dkDq-Hw^04X33PsjWqT>Wk*djDYNW!q%5c2`_kaDs!4X+$8OAQW znXjKufKIQ2Y*)KHuGS5LND*uj>z9Gt9us>z>OUt0_mhBuFOaBGcNc?0KYG_O`JJjY z?#)&>{AFqJM7jy-15ihyB#^E1oz-hZ?cIn6b4KHZVDNer3f6pfa4*FaeE3+UZa!{` z>3CX7WAbnux#1kjTyc2yb<4YV)3sOsM3>$&-4+6QXx~zesZCz#p>omg@tV4@)H6PE2xR=&XYNzzh~v(99ro^onIe_*t7vvfeI}ohr9yXGrv@} zxBw>j^KRbXhi+qkCIJaQ`~S2QzVAC|cf$R#h;qA{!5O5Mqzircjt3{f63IQKme#I1 zu~m@7^Vfx}eFVy_i#sPli5Y;w8FYXC0b0r)v(bvi0h-w~A}MQO-8TsFVp(OWz!jH_ z+??>0sg9DF5FI51T4C(5UvhO{9E~@XBEptL7<}f*j_u6Ca-{*IW1=+Z*xDEdmoHo- zWlKNb?7%#xY(@vw(Q?()h49R$BhIlON<3@4AXCuD8RDKK{$r}gI&iToM? zFkBtmnYw&>olYhCK18>U$H{c>(d=y;~Qnh=+4&d?u27iq26rC$C zlf{aa?N2;e(xL567*|hWwA3M(=2;vR_kidhemzLIsRoon0M72!J}TUWF7i^@%8Msa z?H+iHOX;Xv-o5 z1H3g0x5UX}uvJ2Hc=n4D#~nMfK&QtDFS{9WoaGBA^i!B_?$;GqF-OE^Vn2-nK?EDQ zDhIb2Shms@J4Xnrd7`J6NCebce?Zd1tbhB4_`V=(aX~!mg8od17T|u@IJt4s+hYBt zO*xSU-OYXZlo?S=FBJvuxSEYB_?xWtd6;T3PR;##dSfXUb(y%xi8@;VqeRm(N?jm; zXRQqUz5ga`DZBgE?Lu^`PXEr}t3ERSFg?L%1V52COnk_<1>e0C09<-`cB+1B6sn6c zLybO}%~FB)zlUb8Tewx?BNPUxugL^8+;Z-pjBF)om0@@exz7l9{fXAl7srKMIq3io{CZv6Wot9MQ^|D0o7>us%a<9Q1hq)JTye>dJ ze2Q27?2lIVs?V-3kIw=1z3?Zx&)PHMm^py!S+0aXf?&e9@Ra}-BID!WdStq#+OHPe!P&Sxh5+v>tLr5d+tF2Md5Vo529c&pH&y)gkq9hbDw z0q!|1$OkJQ=5Hh?^p5~Iw?;R}+6qqoJk9p>Oqr%9U7Xjs6Z78+f|IuIOmHq^^hr#~ z4*7qGJoY-<1B?j@euAa`0$|F;jn}IrX+^m%x=p%`QTxPZbnsy43NLTnChm!N%x$~r z9HAv=Nhuz%$XWf{6k{j&L69{sq+)#kXj+uKgFhlBCTQ=`f8%sqz-#s}_>h*g3dysL zZmCdspgsLBucue((%{!HA!VA%`HncUhLMfvwyvDzlm~D)rU)x&Fa7L>LAKwh>Pd6}66TQr1y*anP2YMOm1$?O zA^U;(2|K-Io*NUKWcN>kOn?Mn(O7 zUHm&UbazULAPv$W9V(JaOAOtmfPexsLkZF)^+Ql3q`PGXP?7Ei8Kg@(28Nl(|FhP8 zao^mv?%Mb4vp?thnm#Mmtp2IMw$|Uz^3!mX3=ALk_hAPtLYMyg^?W=hW;vR#u+0MA zTt)3^5C8F9llw0EU8r8n%Qveu@6Uc@h3QHPeJE)}$)F0DPC*?hocP4rdm?o4pTksC z%etmXXpAiyXfEwQKr7+1!t(CrM~O@&**(~s5Sku(F@V7*bR>UG?4N?cfUK z@6}Ib*izTEK``44dcd5FwOk0%4pu16A&7ZN;H>e;oonbliM`4rZsor@Z%zIK7>;3~ zhk`@*$^ER&O#jwkQ8i7^9)b$14VR-3H9EsxqGLW%F2M5-hzHC>N-8Q3+Y-Q?-+R>P zh}F#Cg#NmRLHPly{+|n~8}Vd{Zw8}Ookc}hay@S=W$&XLV?97;E}$cGA)=Yq%;-wQ z75@qQadssBE-LdPx$a{LnZYMJ)M?P)-d-qPy7OcUClW>aAjK^5!}#*&kn;S%FRI(| zWbRS%dfbJQ(<3P>YTb^72GfJCioc@o6{GLJHPmxG<@>MmErU%~Ta#Mn?_M8QLJ1kK z9SC+HE|Lts==Z`d(5{Aw*l0tlS+Y)1WAJ^WDZ>n6nPCzgw+n6 zAO5A1BgM^~_-2=Wj$^Y2>4l}V;J;@AZyN#bI}zVGsNI@1KJ!CUg6&+wfyYwNUG{O& zhbCH^%TVmS&ZE*U?Wy!+AxL$1>V{g4w2>j{3>#NyOda*VipiWMi4E7xp|+h?HDacH zPNJ@ttIW;1uO-mWAUO(F+59~@Cssl(AL2(*y(ioJ%fxWkv5Co}@;EGi&GM_tOg?+z zuqVSFeXAd*XMd3e3yY29(?5YWaLMt;7tJclfxJwz3oH8W#h$C*nOBE^q%ala-M4Bg z)erbNkHcn)2m#wER7jPPNl$hkJr|ayJN4>ufbsIN63fb4YEIZ@&}#AFHPsQbuBdYL zhoqK-QOjbPbQQo!DL#1cP&7>WOC=(G#2E80kCzpMosyLzxSU%$gkB%ZU^D@XK>CRgxb?hSp70);|EVM`c1gAms@~n zeRk#xz)Z*`F;83}%MTq&+jG2Rp8KtloJm!X0vvqQZ`fPqdo3U_$~X-cW~>}{-xhkU ztZNWjRH$U5&Z#d7a$klA*z-n1ZHduu5QQWs6PIxSiYvqQvVipYS49v!@H;^c4SH%y zzZ@vnBN=OUgs0nF9V~XmxZlKKR+vSiQYBJM#FpX+!OUVMdGPB_-d%8OG1|90C{8wi z?0INMb_u=&7Fiz6J;Jx3@AYXDgT43<01Ov6BPGdE1{{Uv-e0m+{>5(%1-)MV_vKX@ zgRV2CJID*dRtzN+(k;XyanSq0f2!zvjgK*t`QxC90EKnEvma`zDQD`0SW-Q6NU$>6 z71T+A-Z-@Xfor)lx_UM)c$Ud5PRvxY(JnP?=o?W#yLlB)wD0XL;+U2wN%r$@8;#bB z)g&}~tHpQCh|J{68);MKLa~k_g&)3IpVb$i;pcW)QZcX`hM|EUCK>CeiwM{mzV#r) zoDKpPH)k``-%$f&>8o!GL?M0_7)UkaJuLA1cHOu8yas1y%_l*OY6g(kzX{O(8jq4- zT;l|2b*R=8rqEJI@Q+Ii&B$3$==|HwR=DW5BJGU(5sLK_{e$uZNuH!oa;zCNr)a?DsRr11{Q(O&D{|I8cWm?t=!C zC#mB3t>2zAl5ECXbG%WAFR;l}qldTD-GwiSrVyPah<~F%^K7Nd5d`N<#k>ZRomWl^ z!mqapLdEvmB9+#HC$V^egBaU&3H#2PwM$=k(TW7G-Lj?&EHO!x?7)(9rZ@retW2QX zdb`qto+eILKm?NaQ{%}ki(STngt?Y_&U0*%(D9A0F>a_bTtE`klgU_E*66YZq5OxM zf|0J?qaF3qYJF$btT_^x8pV8K37u5joCQD@AF~Em&FfuTx#ev=!9A>FEWCGVv)X4) zcP0>qwXEV`WCc&$)hNkrWT<7I*glnOq(Tc<$A|ux{9BpH`D2GYL&Muv!TkZzI&dT8 zgLdKX+{?UgDTNu-!&8z>RWr3~I-&rvHDB|2mKoWm<017Y7MIoIULb&5Nulik)B;sK=v)v=8z=MVm6IcKUI`;Jc^>J?RzQdT9>jA^|`% z9?(GR!JxEzbV&jSW<62ndI0V_XXt>pBJ#VwQVOv$)^uxmWFasCejq+-{uy(it9jU) z1^Xl?BH5OD820n7oVpWhtOL;_j^}jL4l})k*;&N=M_e+Mn3hks(Cz-Tw{nl$w{~&? zB6Lk4Yb|yw>RWm3x)B8Sbz80lgIkES*5r1|}{%D}Gg5b7uM!bfAy?u7&B$?dgTauCsPYn;@_mj|jO zpGhX-*4n{&@fgl&>Kg)%DtkN>Fs9&Ey-@H={2CE`b)Qk!vs{+ zMEF>4z}fbfm;T{R7kYyvrjTK8;P=MLM7M2*ZSX+WuoRQ~UPmZmajSsNaY2Hw-XT%J zfC-TNuejWYK^itO^4enYiy}v}L)Go&Gx^g#^2bREvTATgbeQxek_0Sn|^b}PCRK}Lyys(t0Ymxrf zI@+|g&Oh=WI_&oDOzKc1HM{(jy}}PJ4qAbXcyeVe!$t?JZPn|L30+wIZCGyFRYF_D zH(!>#zd^><5Yr`syEG{+n$D@rWIZ0@7Z~$*-G86Ida1csUVeL@y$%#3V#+!uQjd%c z)Dx5RlYhA9Q2sWzz(C`Gaj&D`{q<+#CpXj}R9!Ht;!PsQC}Qnx@+x-x!JSS&${vYE z$k~hB08aFS4v#F;33@0i+1<2oHb^L6x90LFBT^k})xQM`mqyG7i%Cj*0pIeXZA8gC>bWUMN;q{|_`v968&yX?Wo5R=(Z24Y zyZWL!dviS}G?>opqf?c`!r;_!JpY*tJwM-6iwxfbOQO37?$7sM>qdb*;;qT=4-Ljv zfU)_tj{pab{1!gHpJp$-&keM`!buRn?!`%h*e0$g`|>aOf$zEdv4_N)m!wjvk~9l2 z3ygaCfP?;vt;rV7?s%>+!q+wXkIeuhw@J#eH{4M5zifE zMM&REvi4?5JnWmL9WJcvoxL7ar7**k`0|07Kr2a@eg@~WwiN9iHIud!axj)>F}Z@d ze5T`>HK%+XtD?e@?_*cr>dZl=tE>X69x(T=XzjFO>94IU#6!0R$Y=4tm#&~#*#Tf~ z8uX39-@$!*>T&kx{0nMehQ9L&^^o0zkG%~oT)o08t>UB>6&2%hkfTk0tPtGyx1m>x zehUBTdMH(TLv%{Q-qDr4;h-KJX19Arx@$SNfueS8@9anfQ-N?WcXu$73ekEu%^_80x<$M+M!A#h4o)Ls#dO- zI-oqLxk*8WU0A^OYD^cM#;RzuGiqWy66wzI;&%kaSm7h+grQfqzR|4V3BEu{nRyeI z`rchRDG&lUCw~ol+i29mCX9N$=wlj<2pr&!6!ec)J4z6N^a#~%vK6+1UNH~Jv+UP% z7d`QoTpi^nrj-qAVkOcrar7J$6VPIWtIq%483ofUztcPbir%E9Um(?L|3NzlZpsg| zf%y9zgI`~gE@8@C40`JmDfX+f63N%$jSE*84PDIj zdRp0bDpi%=_QO>% zSr(Of+EN5HRCJ?~2SB?fZ8v){CONu&0ce!d*!cHV4qvuNiPW^^yZ zQB~y0D;mpwI(zZpu}<5Q=sm0#k4;Ydi-g5k4wAy(p}!+;UrV*kG7wz-k%Z^pxhhrv zW5;SqlJv-{$nC3`@TwtZ0p3ID2UvE|GhS8bM7&auNX5fuS^zsGB;CNu%h)ESK@S|P z={5gza4C84n@hn?d{Kv`uv%ne=N!v?NyoVj<5RLe_W}@~ufqkIc_yb2F5pJE&9dGzgo=P7I3~ujf@zAzc$DEN6-Pze+ z`rzZp7IHyE6%g8GtO(EYIBo`N>K>Ww-~Vt{5v&v`B?ernlYHFEc(ZuGrDcVKRbtSt z$WjY9kF+nY1?)I;_NRsLrt9YYgDYe!g|?)n{jF14y(D&niW%%9O7oF2E_`l8Bk<*O zoUHIJ7vtWj(kP)_yCG4eL*`)(e&7zjN6cQ*46lGwr`Nwuqj3ca#*h_X|0*qp+1Qzc^ZUq)8 zG#Tb1xiokN4U0KSy0}h=e1>^>?EZd1B3q+Wmk}^cLvhG6Ci$URI%hIdv%3Nkn63M@ zATfY<55PQ0j;zgLFK6jl5JX_r-v(R?E(NdVN|?Ws6+|RLIv-t?_48Y>qD4jT?p!*Z z6eMLye7x$}nAmJba8w!A@7*(l56?bo(fF|$sTwI9O4;7qy`s)a-cQde)RF}l zV&cCV8(25-VciXG41YTC6Tr(1BKeDJqS&HB*;HDSKEGZ}JpHF&>Uip_7 z^AFrGmR`4!^jY6fx6-g|;Ai#m4f!#FllYE|zfour6jYenF1}=y@}2@qrrUVQs16j}A9K zeRdz{d|u*urE!B~VdDP-3J%4yTDNuiG6!ePCIq75`9Ba!U;U;#a=sM+LbYc#%AwhZ z_xo8@dgd{oQ~S#E0h9|t!uN#@v+W<+5R{Kvr>idE-fL`HDekFSuIf`1wEDaPrFzS8 z`)wy(WCZ=)6KNu0Tidp1_Llb8rd5bM!Orx+@Hzy$9AbW{dmq@(QdYemPDeODwAm>C z>)t00WtGUCd4|`QF`ja8%CVU*kuY;=7|-#Y%Gcu1ZDKVlm7Wh{e4HV;p@3OI%JU!Y<6pPKoTUG>pv8^I27^-9zAA+ z;8sq_1yz-B0hv!iYqcW98?+eydj7R|0}E&e0*{bw7rtwyzG-;qs1CQPigYYtEo0yw ze1^Y|$~tuO`?YqJ&q>n>5mba8?Rws*SsaryR>qY^Q|ojzM_x5az)lO1HMsGui2zs8 zG7zgBkMc0xVj26+54s3}a)Q>1H+NjHfBz#Ey~>qX6IO6%Zl!n%<32#Tzn==I+LtBH55*gDe(XuiyBR+hTA#=}-8D~WpCth- zTE5qqJ?h>kn4WUxF2G})NKduho}isn%DpAC<rVN_B@z-!4=!y0{odySLPu3FJR>^P)G#SBbNL0s;X`{vO8HQW@Y}1bcQ_NCJ4bwyWdC@5>jG9{ z0XqM(@SKZj%Bw)%>%m>rLjAAs`ql4_Ptj~2qsi90$<$0=`!#Tnu(2jK6Qt_X8PFZU zQX}!)#)P3Ho*WYskOS;C0^noPqIvHC#p~sOG4a zTjvl)ls=cZG^hOMkUxwZ0IA8wX7JNyUgt;6Jq?s5I-fL4a0Fecr83$n=Jbw?a6cvW zs;@QJOm+qpvZ-7@M`dvuWA)wq(p}?eTuuv90kyoMTneD_Z9v&ClCt`VL^D{ShGBA|5 zm!Zx1)0Pna4EInSv*%0Iuf@TmP5>GCpg|J66W#mkyVWzHr@dEbq`5FB1p8;&q zH`9$5h6tFy*Wm;I7oRP(6B*IR=?|8=+L&$HBo&fK`;-4VF3H2iJ66=6?8Cw{n0_s6 z;C(Bm`5lPq-97`)o+1@1+oM&k}I(5q)rS>-#aM z^g3j{gVXSX-z&*z_Sx6wLvS~nKjxHI#deen+_$f4eQ1s{FGVhu-SLwl0Daf}eb_Mb zLATk~qs$Kh-20KrMP@ce?IflQ;x|mDXGJEea0D5)n*wVZ9xfBi5KT^hlx#e`%Ek;P z!VZV^F*mv9AGpmfl<0`$9JdNZD>{Jw3!L`lpdBlReZOi^bNg|LZ0E4>?f&|T)4e{q zz+iP@RYEs-mJthUo>kE47y`JP2vzW?Djd?<7n&sRsf#kZ zX?Ym=)8Wo_PJq5~+I^jwzIxrD4&o^?FtJRl(d1IgXWJ=qZ0KBZ>|REgm;mfkSWc8B%@?~wVmZ8@ z*e%UR&f)Le_kQ5aZpbcPZm^-2Y_mBrj%MabDr!Sby!0%uR<;&@b!ODv|I;pXd_A-- zS7|sqMxtl;cRwAhDVAufYs`uCWK`u9el&`DFB27f>r0%*n828s z>x7tfzvV}ZFBs7bIAOrq{N8?)I32tezzaJEZFUEC?Z0DwZF?q1zLP{8K_~xfX@%_H z!0bYSk}z#hCWmj&Cg`?pfto$8p*A!fTaYK=+mn+DoqqnzL}HP(p!Bev^SYRR+YmjO z24o}Uk4xz`Qf!tJt;0E&meg=ZmrQs0h+5)Rq?(e^YZsUa9Fe%QvRR$yfoJygL?S(3 ztHM2bT++U=*&hk_Z;4M{TN-!>d?|EaC|uFV5#fUK6d-kj>G}#~j$(tp++I3f8^Sb| z04>tc$YMrKDfH-Y&SiV(D-$qkF!h2u(HNJj(qr=jY{bouX*3*R^1Hb<_);7hL&ePN z?i@%_uKwscEVSz)`_BfMSLbEKUNpv_3y2{61SWD-Zt0TY}Zii z2pXuOe5L1AAXjLkUL;QA+Z(~+-bdR#%E^z0#&0&6?6o+6GeUhnpKrae;Lt)|@~K2B zI~|FM%tk%>7MnHfiJ$YMo;Y=4a!`^RBfB#0ZCtsCtG7?Ti$= zT}Fe%88!< zVBFptzW$oUh8l$-Cw^L9+;OpEv}1ycpPn*XbLfdpk$@7TzUXi}+`F^pAT)Q(`<_Du z_eL1*nMR6gx2+dDoH_GlQoucE^3^(WDHw%LU4N6$^fFvUgjx z!WCY-Qu=sKEhaG7)d4g|H_~>VJPY@T?(wlaXGIhL(`^)c^k&vxtrGFBZRD;R^=N-E z>0}Od5kmO$d1h|P)V-PqEqRRyZMgX4b{zp)_b|1d0>pI9{0ihQN$$`eIn4>OX)jbL zTqFWy*Ej_pJ~ii6BgSnkz?v8o7ajAO1g7>nyd}O|Si8KY1mi0*Hkl>;q~b%IhpT0( z3N}(YpL%fXhW&bVxk~1bHl+ji5GFhjVLz+1l#7d6Z-+b9}3{<{cfwAk#G`BL1zm9~c7GKw8plbUu*mhY9 zv9ZE!NxK)G(X~;2FE4tBAm0swul&6<6t!Zb8g`w%6cFmmk=%B zw0o*AcWFw>Ch{0#>c2IKxe@4J$!g|tXPCt6q~WAWzr4bGF90^| zUlSW)fAq?B@qLsza?3X4JYE?S**39nmkO3^e}9Ur*rR&fX|>9Rl~XQ2>cRgV5Uhe8 zl*dMC+-(iXBnQcHn3sJGM!48#g|e(k{Q7N3-knljY0QVxM}xMd=~6#^B&{9HKpii= zo9qWyb5Zb+Je=AdTp07%d;JeOYXer2OYL0(-BoC6ZqAUh4F+jX5qibonX%lwF`RxR zKDU+HRDoQtW-&@Ql1W1nbKgDuhxXD~)}o^dGHzz{71scwK&K7dX+gr$1Llmv?f&N@ zs$_!-kvWcGsC-FN435c7pv26@!G7<&kU!atpBWxJ4r_;$35-on5?ar5%xU+V1HpT; zyWmhub^$K-`dFi5E*Iysia|V-Ypkv)TGN@1A%>yEg{U_1s)doIU8#Aru~+dRRaTc4 zCw{{C_C7O<6(5ITL#yY4n@T;D4BPCj_F(CqgH=}qIS8_eTDBXPmxoGE!f-dIW670D zZgSPfHwIEb09efxL9(L=g!O@9NyR=dGfP8}@>kTSM78`Um~Ioe1TiT+ z`ok=5Sr%LNfBN0_Usk(DIbz)|Td*OHPA{4H%(Pmn%E6m@wrUJG&z=D*R??Sx-pNHNVjsD7uL0 zJBM66xh;&@jm(UrUeq#mAJSK zM$4?w7iAu5I^kx^@p&Wo75(diUHMct6FOx}LTp|Lr$zkcjgS0w#T{6>=dD~1L*abJ zY}1$EruX~im@V%`BTKeyiVJ5%T;Mb!PVmjY;08&XD^U~$PQ9JDZqOZ9>Ts?8=gM{WyYr48VR6f#0WwU{HUqcC=i1s zx9qC=*heG1M*HskfU(%HkzR6~ zvJ1ieF`!|*(DAZ&+(Fh?Ctvi6S;*Z)r}MB)x;|z>d5HS zhv>Tu*LB|d1mOBIv05G4lBsY11$`6yN&tZImds$a!`!Y%633A=Nk4Vx*xTvSm4w15 z-3rHxKA9zx6xR{C6{-n$gEqX!zTBIHv0|t%q<33Er$f!uq}mc6+y-qJH9R2Oi%69Q zpS?FvRA4}sv%>8n0p8^VqyF_=DpL?R!(i^=D`xJ5_5lFBE zVerA_IjGBnJ!0V%Z3I_&JU(M*Ru+Swp2QE(UFYiD_tFrcG0RL~gj*IsH*)KXzu6oV zG=&@LKg!$`1>u_{UY$9T9?9j8LQVJN2yx{YtkAzyG_qYGN)H$N`*1~7`i}-`0wKrT zATZ*<+l1d-ELsU+x}s&QHAVB20$z3QU{vwcU;RMc)k#ts1Ag7sF!}f3wlTnq!4e`; zH66Lj5=W|P{x$g%=WEsv;!DMfSaM@(g%Niq5!q-{53H}R4sc!*VitAhik#@QG0JA17D`R zM+6HuAQ9SX`g{p{2?UF>6B1wIbQu07r;q`koHFN>+LPkHBewFVdztNXc+Nh`H@q)$;*q^Np#P50BU%GRkIh^9@D1nGiNCOQT9e z!Ij51?vBc_zrt9S{=5ZCzdATSSwEEnVWaoqJ<7tM@Shp#u~BZ~t(q(c@<(m+1pF)? zV!QGTuZozT(SmX8U-?mpy&val37bUj`20R#`{!r>7aC(qbLXQ{o;t4?MCba_H^{K$ zg%R^hAvrb*=`is>>nf+D4DM!Ze?lkeU-9+@vvy&2jf&XXNF!LSp$0!Mi`3f~lFYSK7}-C809))Z}XS8A17!<7ek)97L}ETrPt&G1W@3 zWKAPZ86Nxp^DN>~L6B~t$)KDkuQ#rx0Pal;JgpREy8HBBBX-f?ch~Tttoyb3a0Zkq zQ4tuV{}o2wqpdP+X%wkLI9c z?Mq@GTiTg)@-DQGrOU|#T4^i>z(yXlZ;048!B^N4&nwfI8jq*wyCkblT~Ui~i}b<( z4pb!Q-;$3cL+ANGcuDPc=m{m*zTgA%31XQe@GAl2{dWfb``L)=LLqPAY8WjB%a|N}lrPyr$r7HKzW@qeNNoB9!kuk7=`62p!6tu$I#u#ew?C|%zMFhPEC%eNb!cLz z-{%mAi`{Hj7yzv;U*%dv^`SwWl#~5a@7NzgQf;G}0GPMrHph|wyGf`2#Kv;5#Bx49 zUR??g7#2V?Eyo{Qb?&MnmHNXVa9z>CZxQ0w4LEXO83ixiYJEoB5f^(7lK z)p(S52cq+y%l(!(<L`aiPdgtE;Zvgrp~LgQfG}Yl4uB?=lH70LyF<0iNRQTr z1Wz?~)BQ^yDLga)2lG1P@!gfDZS1d=TmkBH?|7=0_s}tCjDs8Un&gjU8ek2_v);rwXP9u#4U`UZ8*-GT zbs9u~vm?ZDC+?5pfN%O!2~lM^q2VPQ?!B_v)rWdcy`8XD$VxqokjR>bL~&+j(JeYW zuZ%4A6YZ>~(pmIVc$gVPuQ{lLmBcFym0M4f@;X$J+^+F(oykXfY;L#;%kfO!b4U$<5ex z!M|q=W#7FSd3tTJPl>?gchhu5l7ol?K`UYj{=B8)UOQjKjB0d~!j_A^U8Xa_d^crXbMGoHXV zY5=oL)|&xTxM?}5pGd_LeC)KZ_sL^^8~Hu$3t?uLvLERC_HP=9!Y4CSY;KzF-k26v z0pWo+8^u|In&@^pxbGs84Ec|JT-&6(^<{4>nx$5t=J_IAvpQU0HOr+Rdo<(Vpms+6 zl{|mj=Uiwn+RCRpLi!hFvNyW=7jEwLeHj$Rk~fZZl=BaIyfy}Z!OE3XrbQI>i2$D% zTRTBij{tzYyMLF9#&EOIPCibdX%j5)`+O*cvxf}^S=-0cC#IO@IS*HX`TsAzu_N$1s2|c&rcJC`l-^@E? zLmU%)W$i|=k%7d`<7A0}yt{mk1ol$$a@7vq=v!YiMx@qe3Y=(=Xzjx^SnRx4@Yg4y z_#axi?otPS&zuP|ULKlHV=LSbDqlZT%u+Kk{}{)B?7eESXKTFqwPo(U&nFmmA}bcI zqACDK2Cp16i2kCh9lUcTD@K4_06{>$zg?&JoiqB}8gyRJRU!kkdAp^~ozJcvqw|P0 zGCv*2AptT-k2o8%NyoG~Urug4`@Q>}+Wx1^Cda#t@^8+4vW9F?3M~L6ED!}o=?>wF zr|}HcAI|QZ+$OUCd%{7@JFx%#%^Y`nmFp*nDh>TQvmD{@OZ@{%8>JpYSkVw(XM&LK z12%$gS-IEe6yYvfDlrt{d`@bn5jO+U;YMfUCTrpx^t!8vnJ1EXeB7y_*>9|92#vgbBXn;8xJl>@QpP3)842KzydNO{}q`CRd z592+8-g=VY^r&%#1TZtTZXuEIlCy6mXzHhaA0B1Tg7F&cLL;CO7J7jajSt11{MEl| zR+Qns3#trzmKKwIaE@wlkLjJ~rfLM6wHj}nM9hn+ppYIf9?zN=pVaIRvu}W;%nI(ij66a=L+_5Nzhb^*cOlqiSN2}~iOav0D zXRaXQP{`OpRkE|i_z+s!>;5fYjlJ0jk9Qbs@e7zH1{=bKe6d&ab5iXNE7$Mk$ka8| zVSd2}KSD19G9Jt0UtqNaxSSo0lxa!dL;pz5qp*c{geWb*Es-2N6At|DKym+WhN!NB|)i6Pj|0!lr z?fljH=^%VXz_GXRJ@2zUI{UGLwpWzld;0_*#ptWy!%o!qW+jTj4)$Z@)$o_lr?Kw0 z(JOy@o#yzM0TZR<@6E>V3pL}pl~M>!b&%rJ>zX>H4J-G%V}C$)9My3}vA8~4t^)pR zzdA5*+C#<`E8?xC)R?NAB5}REN`IgY!d13Pu)$%I|Hh+#Zq;8uZ7?{+NO_-;;0hVq z158FdKo0%PRhqMrhwX15wwy^YisY40tMNmD3Lp~-7{Pl;R>LWwMas| zr!mUc^P+|v*HJfvOkcn7J;jIzs=y|_zw~8hRMWz4OKYs(t#A~evP$XWrMv&m5b~jINQ@- zILSmLL!)QYvzf;dPj(t+ukuE=+wwYKkk%|IhJfT z3~$nVz)uF&?*Xc*Vmt??d*BVkVU~cN4ZuKrB)A~D$1RTP-wp=%gw!Y zo}J3xXH4iKL>Z1e{t+$dt;PUY$c5DiAK*ilXnIHfrg^s)RCDagxZjBTqmlhVC1CuL zf3a*|-qvXaVo0gVusf#MoNae=RljRvVqwV)MI;=*l$pR^NS}a^uv>*~_AlmNbt9+5rO| zCP9$?ufgQi2?_}^7g4hzF=4-%-$VTVE1LnW_odNZH9XD}1I8{YLJLT{yZ8>epeR?D zS))6T;+I06Ordh4n;qfiumY{=N9px>XGl>z{#xFuaJpbTK^JbSBz{A&|1;$F9?AU= z0IzpGW0S6O*#}STb$}A(ksQ-}4RN@!(X>0(WhZ#JF;%?BM1M`L;*Xnj_1ETqC^EgQ zyh?R7Jju%<{FE%H%|Of3%bGFeL7R3QY4h@L5g_SD-M=6;n5=NlqP=-D*|o_=G?Wm) zdq0%!T2M_?YQ844L^m8go3_a%vTl@j#{8I6VP1c+e^{Ma9w z3Y14KMxgtP5r?WjF7d6@g=PCUHJ^7H$inDK42ZTuCv0@bn;i5Tka3S{zJaToetiyk z>Vs<$uZhg$VM!%i^1&lHA zTb!(znF>-NvH;g5RdnHfg85WQ8Q+#l-Ts9Io)^gzioF)Sn(C)jvK|r@1r4k8eRU|0hcgA&W{_%1zt~q)+4yMIk}cjDdbN@Od#5}M0idDmDPm!aicko z2QewB&Sxr<-u(Q?C7zalM!DZw|L&6g<(8ennv3*T+ zzKO573(zp5N^@xdi^S03YW*9#2i{Sm@3^|yKQn!|f?N$TpO}$62AhdqAm8HfxGR#I z0sO2Dy9_JH+Y`6mcZaNMB|1_*kwU*w(@muSNm{kis8y3W<2xBcaP_c%%N+5V-g^#= zd{2*hzL(`3W<>TIWq(v!4Q1{@apmWeIoAyx&#(IzjQud|rK#?lnXPO~SUxlc{Dl5H zMangi6m8U109_Fl1MmAH?#0$r-gefa*6%+}Hneda`3xt0vT^HZ4<$a}TLR5rYPYXw zsM#rAi7)^3$TA{wY)r|s0>(V_K0!_v1_$uI7k32Y`4c`id7zQiOOMsVIjx^vmvszo z&2DANWsi>TuAee5Zi^H^Ppkq{F&pk-MBXOj*UmwDa&k`_Wb0M$k#=7<3(uk#t8JmD z!~rEf-xJ{R+A+C`j3mJ&3HUuY$5@5m$l>uVH3pYhm1kLzePQ_{I?GgoO7L@rV0(BE z)VjOrXB9zFhE?H`1Kgvb>$_fs2k+Q=hTQ0kFB33#aV|DlQbf``em(ftjIQ7CYZ${S zlDVc!fRLm&6h~Kuj0+7nu7YlD5s!h83u+b$1<>ifl17}$3C48IV=+c(d!jZ}>N|lt z6c$YKuo_aJqC%$s8eA{gO^Ag;^;k5rvWj0L+j1pYI*DQeH6y%;M#}?3$iALya z(V?6W9bm3ceyF;npL47b%H&P(;&~1ZgTMJiI@CZlJ=0}RJ-bBcnJWMi8ik7mJ zdlp!@{$Jgo9YfSB39a)RM);m|mt+Mn&>y0iS}~j;J$Q|BbE)oo(OzwnEdC0xdmWy_ z4v^E=l=rLB(!8r{gF)}zDIdNqB#fn!?wC2n=p&$69CkVJD|RZ#{262j2Ah~9JeZW3 z%(FB!`m4P?x?Q0f-KGZdds&+@etaH&sMu zNldYw4b`SVI%uE@oS2&_WJZYcscz9Jxs_cK(@BK4Ys0C6g=gDHY9ZQ}S&UaLxueug zs1<2G!%{=9Q_Qs7}Jo=jxC3%q*DUhhYzLDWMvK@ zJBc;4s?K|GbdDP8$G-~+upAwl(*hI!o#lhN7!glpP{jQjGVJoTND9O!LSyb+5eYf?^#_g{= zcJIWv1u@O1H&Xmp97^0wPr1jOW%`rKkGyL< zU=%&WG}^p<|M8J)Nx=~qh1lu3L%-xyZSXb2mgL!W7@dJ033GOSk4>sAK5F^lk!s^I z(%UN=+_q5}uG|>M1YCbipv`of*V=9M8Msrdx_v22v1>G5qxknop$9h#y z*86x{X;J%g_7%k)!Iiu9A4D&!sJ0nWGS}`}ZgiiO+voLJG_9?l`^mYZ79KZ=WJKIv z?P9L&WWMmYjry2RLm**=%3D2SIt1 zRK`^lWu9FW=+YK{!>TZ^_e`6xqj<(CyJZY{I$&@7%kDz1R=xg}gNhoYQQ zS9);I-Rkl28p}(9%QY8xy>qo%bimNS%|N6kcKANW}EFkD} zMZupTHKQkr?vI>>P>QvA?uqh+bC;K0UVY{>B|EplYO%q7XRUD)F+beT9K7T)aHsy5 zmxNW2fzHS6m&pfp_RqhdyyxNib?*D8sN_!8O5U{xb7}VKx#Ne;vy1vX-zCt!xPj!e z?1rC0%8SfZdv=CsYA?Arpd>6)Gv@HMdUF1KyW;5G2h#U^Yg%4iGHB9#VF$6aK5~K~ zzij5o+*`^e3uZN*Hpy^ndzjTwF?eLc5%q#gP^fnvyP;vUaa7}Bj>@^D{d=Ls4aK!T zW?#|OzJBlWbp_$XlurvqfrnRC`H+xlII@$%ii+ncW-6Rlr)kwP-mLGkxr%!umNzP-O5WSYJACVj@viRx#Mk4wdC8)%NDm^`TnJO${`DcWefa0f%9C>KbBoG8YrfCadv++acy6o0wOgyN#46M-n5MW$gY;Z+ zWrUeRtws&hzXnR!ePQ?R@zlK=ZcrK%h)OJm%H-)JVx*dC_DaG8!n=O?tBP|b@FxGQ z8a(k{p_#+cB&RaJ14=8r@f&8&aU5zAr#A1vvk`;*+wO(7UYHlE61aDF$f(K@hWab_ z*;#U3D0jvjRKQuGoS@6DRaHT7)CKjOh~i+}Y%!Kv_xa+~wj`W15nx3;wXT~T8b zr!?x-bL$;s_Z@SEeQTo^`HjerVy0ot7kK1uywO(nrEW#c?2>0?UtS-mO-&)r%*863 zVjNh@a&9M$DBq@nd59lYJG;5V(!$}P>L=UPYpNGiA5asD9+{dnJy@vqbjlcF+h*Gj zZ*z|KzxPJLRKcCuQDf5qwcec(Y!ox-xLw|!7d~;}H}RLX8J{R4@xvdvgk_I%Ho2{s zt28AqclmpdwgQRvj;D&u334v zEU%?4^RME3_eK3}H0v2fal}W(6xaGk(ZaEfEjg{HXK&h;o9zG0a;u`@h;aJAk4Fq+ z1}kEoY=?|-t7|=uTqv;!E*nyNZ0Cp(D;3gR?hhnaXpDJsZ!~Sgo{8~F{m%}6?9m#% zWXz6xjl~TZcbdb?@`lo=k$;~(_{AuA=&=cI=ax0@e|6e#^wdf3l1L4kUahR{yK{bRrM3RWRr(m=N;QQAs`O=y(-Re0ftU>+%3l5`yVS(NyFS*w^7_<6 z?dON|Y7a$UTKs14x`qr2P66}iZhXu6ZxL~g4OZluuTJ-4AGNEi^z*T_{ARuV_63Ek zQ-i`>Zzkb}Jyh~r)&F_*wmF)4`Y*hTF68GgIbb*ZfYz`|gMG6Mp!LdXt%1c24ppN% z^2*QC-YwAB9%HwylGN`?Qe@PmjZBW8Yng6yDrs(OOWOur%#7H^Xw~M_kBWtXxph`L zuT6G+Z0gvp)~ICCF{-)6zGhbCk|~5qnCk{S1>)JJ5<-6>=37p|CU1_>MvM zw{D9b#w**mt%S9j9HK>Pw`g(2#%{1X;%Jasm$pA5y>2KzDP_qm=xwyKV#mke_T3X=$%8?n8^h+3UdCoY6b2S@!krqsFSsj@psij$nvwW5%nzEb*MRf~<-? z-R`EpRkdUGGWX+O##5bxO;$Zoxs|W?S%rS!U5dhnNL}?;nIo?5+gla=A?w;!>%)^U zub(G=duVt0PJ^K2Q`7eLV^8dlq$+G2V6#1Gref(u+PDY9{NF@YCoQka)lbnN>P9Wt z=Q&Z?P&e)QN|jA(gQ0$G4PLav&XsD*OGh5Gsao|dgnP}}*8j$=x-UjYvb|k%cp-(t zY(i<^)_xP|^rfZ7w??ZNs18}E+IYGodqi97qo&#~p+&iSemEV?J=BsvXyfHCwN_e~ z!(-iR(?7L`-_tX&-qe)5dck(1@<|c-XV&o*Vw!{sL>6af;kAo@Pvl$gV6Rrw-)nOr zSb@Oeom$&r+wuLa{hhL`HI!G{^gQ~5J5RQhUgOoRcQ;ipR{d=97k>5l85avJG{4r| zn5&F2s4VwZJm{)@d=W)3@U@?&{R48j^dwlt1|G3em+G#hErS7bgH%AetY9`lT%IV5o%i_6u#cPEbt*$ zHJ3N9h{Rymzc6|6gRIyOSHK&ZOX7cdboXoO?#bmQG4oXJuOmK8QBt37zkNl&FD-L# zbJ%NF9@5y>akcbFWZk&Hu;n^6=F^914mPO1;Trtdkgy{v%+83p*0jH(-+=qH#rg+c zIGr8hVW~}@f~AcT;M&0K z60XvFotT6ZECox;TV|2*kL{+u%e#Mxx4?(GBklBc3rt_~D*CJX7w4zje1rMOe!XbU zru#SY%x{gDNV1?`KC6H6O!4i;dw11&1{t{0#mi^nPta(c>6wvMs-H)fx5RpQSF|}f{$`&KdF$G9Zr_65kLp|Nt%(_)T=T@G zuq^y`PFZcumhVM-+tqDuri{BkVq|t&*oMKH$+n+8uL%#0oPEYfp)iC#cEI_3MaEd| ziK7e5JIqF(BN?&%%k>*p9XdGG;lQej`7`w^FRRAKhPb<9R2p|5N!@vo^PIFOKkJi2 zWLsWorSX%pmO3MqN#$hG8;k7Xdw`7^&g%K8X9yhzkw(A27xgwZV=uIzp{5p_T~fIf zSCdk#6&xLydTr!&Rt}~h&g9{xf%mpTwE94syU}{i(Y3oZ^$wO79l2P;7z(|5bLC0& z-r&YEzjU+cLltR*s+v!%!%Q5s!E)P$>lcTd&oOOf7d_TB{(2!=cb3{y_qHeX`TK`G zHq^~&P;Z)HRMzyo>GH#cLF=F7n%9vTp0tAwM5X!pX0E0`43=C}+CRX&zlXZXiBu&Y zCB5uV^EqcP3v`w24Ttv6(_3=k^ZU0|x-0sft@puTb1I`>{-`dcHSaa8^Vl-r?Ze?O z6ylp={=W5f)v9ajS2o~vV~WgjZWs@@K6vx*9npnUi^+CEjL|Hpxc{bpjn4a93=CI9 z|7h6CDP_KhsX4PDK3?;g-LZWtEBB=@q-f;tsnxG^nDHshJSUAIZj$zQEM*Y`BO~cyilSY@?ppK+T z&(zL*AJ(W9EmRu1HpFWdW(wxw)jH40)bXaDR*b`JD7-Z^du4;0vwD6>#2osi&v@w7 z<&3uqu5aISN4?8?nLbx@tfx``lS=og#r9hUK7V-X@c=02_M4m!5uD9m9WL4$8T{SA zUhpbBTW|mE-QN^C*05SDb=HsEMva|k{aA>lv7Z?2)6iY1ygKvU*{Nd_ZcUglS;ygi z*v6p;t<=+J1hVJezf!KEVrckX?NipL6=fzq-z+wNesFncm|tbXi@$c6SC|b+&wKd! z+|Bg!wkbcjCTEIf=2P0rE=5Uwb)Et+d%JXgC~ zJ@S9jztOtI^W00ka?(Xp>jJJeQ;0Xk|@b4P*pC&;+DBYD)4`R2vJ;oC&8^3(`lA~;0J12Bs zrcy;NU5TH38)Bt?Ie02}n{CGF3!BnAp!3%nxU}Vw%GPC@mUmO&S6+nda* z4qNIHCtbcdVaxK7?Ae(E&ZWIy?y%~5SS9_?NUs~42Osa_H(HPU1KwP3q_`3liT%atE>N-<;H2HaTQmT(n{J{{b5S^v}OZREqtvj(c?koMK& zteO7cqr=kpz{KSd^NbojXE5~l%}{DJpR@jK>Z}b$_ad(L9kr#llJ=5adb&){IpXHY z1ILb?I#AX$ry>R{`CL9>-@VDLCd?lZSAFeoekZ^B?lSO2N>(N5iNk zSFjxN87GuvPuT!YOm(J8Oaaqn}Z9yk1NwZ^x~O7jx=r(1FW+Jf==8ydVkL>W5= z{5U!_A^M@4tM7{&!<%Olu%QdqrNrbYKh|fy#2qS6nRq^6L4YGgomx5Nb9$JjVuWgi zfJ3RBX7t#^p^BAW`=ma3T^aA&mCHByCLc4NwjI(N`s77P0pBd|X(oS#vqR*4=CE(xZJ@D!GY2Y|lVb zNXl*3u#M4?8D>uo-v0W*{gg#*!o#?h1v5@xsmMLwVYD5ht*hJ(Vaf~heRZ2RQocm5 z-*D!te)5^QQ|rI%-8F!*1Aut zn@tmreNV46eq5{_IkGfsdRjwkl`e1ZkJIhXxJTUvxIEt;eCE~N>(=*ZMGmjYInS}JeRFcQF=tR^mJ<2CiT35SXWA}0A6tIv$%ti->lAZ+ zPQNfGEp9v?6D-=AeJiAaaLApTUQxHN`dRYioR6Q|f0Vj>uPI#KQB-wlNQ_6~?QKkx zZ^5eyPQP+`8ME5Zx^~YX@54KW6r~>gaA4U8rSLNW%eL-w`0f={H*ZMs{Jv-QUOpaL z!3?`-8kBVJQ`R+RT}Xsd%pz{b{K}cM!}J4-a-6nDWSOK~fpC>KW-HBJ$17|-&!~Fw z=%jO>?5arJSIsTAZ>Re#4D4G9;7|9#G*Ifl?k4|CdZqpDy`mhVx6A!`Vj8);QdW$$M^d*|HonR898 zV4c-L?BM>c;lVZ9&DU*3kw3-{$~fwrE8^(x61v%{gr`Wq4-;`^$Zlv$c z9KJsNLyr0IzyIzykXC&w;xnH4x4)6;`PkOS>}#8RAGa&it}JMqQP8+Fr~UQY82!%; zLyfgh)m^@obIHSDa%^)<^|z4Ycd4(;t2XO>YzSTT;*@V>%QxSmj~}x>{?+%*;&-!V zFAc3;_E(9M%beD;CEqSSn4)}_wKrvRpR+i--M;U02W)@uP0VKUrw>?C&#M1i*AMeo zOUtpx`Z=701I>@-SJVy*+!TCX6;l?wD=KVt_Ji{}E|c!4IXJAEQmT-#`(??k{m?RI z+usvyX3naKQNRxVR6hAf{h(}p-%l_2Q}WXf9nN8us-3QD3qQQtZkf@-is$@gszOCJ z`R*l^fx*Vts}xpmx>4;LG5-}OR4?LQ@vLWW*1t34x;;&QoDh*U^b5bC?C>GaK^Iq~ zJI3T>x}34sI6K9U=C|ItCjIn?hQ}?FOpI@&R<3_nYgASBtV3{Ol$&u%oA2u8hc8X? z_;U_43?6oUZFyw#_qebhX^%89+w`uIQ*J=_6A!elxyH{Kepx?e(D`Jqb0wReOj2%h zQL`NqT9NxBVZQCM3Cuo3O(1mplV8|`_>jYE(%#! zZ0G1(tFg(+SY-|4^TnALtNI)7-#NE#juP3e;f*eTedD=$rOM+u=e`KDZ;AFDC)cbG zX;^5SekJewTBW8p3*S{al)7c5rrXyRQ@^h~)coZ3lFLMG&lSNv;Bv>YHCb!!jmcuc}lyH2Qi|+_?1cca!dY*#UJQrhJIex@saDULpZb|=|zNR6xZUN z!M!Ut8CB<~m60K%p&7-g7ek$2xp&ZC@4v9fF+JM2&~JFDJ$GHp?F*kTKY8$V<>)Y7 z<9qekA-rU222{1M_S(n~KaMRddKO)luKg(aWMqJr`$yAu4YGDlCg)7sV6EyOGdAe$ z(`sJFZ1q0m{ovD*a~t(B3uX*c`d;=~(f#PuP}`>56TaUz;;tB`crEi+?AS5<^@WYE zL{H1h_SO(Y7Upq--L7cZ3;V7MvA$SX$4#p$(^9|WxFd}IacS9lesZ(m<^Cp@%2oUi zZBK1E?lmdNk5`>`E~Z9dU7sbB9ZQQ^h8mZCe6zPASMWM)TEj=7YC~0hZ2XA>j&7E3 z!iqLU3>{wV;&8xm-Gx_zQOi9Wo+RTRrDd&G&TZZ(TH>Y-y-GaZR>>aFG3iTQ(~-P$ zFKyH8)EkonhlK4vC%jiscc~!HLzFx1ea`($pMpO_oBIj2em!#kl*tXns2g98)t2q7 zDh(U+PTfoL_sO zC_~s^HPo|Qq)U8(c`90nRm);$a%B9R>x+3|8TS)=I|qks-7QRH@dv+WaFu_g99AM z(}L@C6w3Cx)nrV$rlmFf+n1R$-zsTed8;(%waLlnZfnY$qDvzC7i4dF<5rv}TthK@ zHR+1hFw-poJLBD5t+tmO{`{KE3(h=S)7sV^*72}j>z?(kQpeJTE%m-_`|H%#X0^sZaO^w%9<*B@7OnBLGZ;$(=eRFM>EKC^MID6HGopa{dD~fJ? zR%!0D_0`1Cx7wdQ3)6H{9`@#YYLfopIRlZ48j0vCThqk1@d^Gh|Qb+nTg{;{H zP9Ghs9z_h^zV?%E+se3k^qh-%&M^ac!9V7N=GUHhw{EC|E+ez}6F)w*ZG_8Y(v5zD zGG1;rIp5JtIYBbQpPdjBrFhq4&#Ku6mRzdAHNncuh`TZFeX#v`lSknsNX<>Xqy0j8 zyFpEA`r?6Oo~N-M`p&N!bLB$5BlCM$vOO~D?3Ry9M(&o&aToLB&rwSK$h#?bj5 zbgHW3^N0N8QJOof$hTte4%#vQkU?DV%nzHEIMQsjjS7Ap9@d)nh`k~LXncelP%UFYYyO)tbWx(sd(_MNys zZ5D3r_3Mds$}jg1fB$lW=$eA)tZlucTKe?UwfwgO4Yn*Sjk#X)!Q<^{(A2H)U^Z+WwnL&HK{B86t>fb;ohCR>TT9$XnNIZ#i`Kme$KNOIEqdt zAA_ZUH3Ku%(Y1cov!V~z`$NI6_lFWyKSqD0HhFri{Sk@nqv*K*p@#Z(O!hOsGXtu8 z`)a>FyQpnRrg`2wo2ZFb%*ZC@hu5g?Qh(`qWz4Rqvx>{DheZ2e-LEIS`El4R(m%>K zy&#k^Zr+NvXWtz0p+jOVeO5L$XxwS|)bJ|eQTA&qhq{=Ys_L@JqE+i=W)v5{Zm>%8 zI<`8gZlrUY&{dWGmzyair*CV;f@){-LLZZhuLKKzJoDVL*!fe9msaSm{Wrh#V}1Mh z0g;80`NRTyLRd`c3@GjJSLjs3iQ>tnRh6X_O3*w_%l97Vidy4O&5bFCRjuYC(>93l zKIhfVufb;rzbcPP%%E5GGZR@g@cYK?;lAIdbS6lBTxN{%b}Q^HY|>K-&-LYw zwE94p{mSdbEalREQ%|sK*uWeltK`n##0+-00iAwk)vU&zV?xt{X0O=yrNn~T^vI!u^ZL55cOjeq)i9az--;c-dT zm(SzL<+PGG_EOImyC&k7t5)F1Md4Zj}_d#QN)!w${JclRScS(~ZntCs&g?DW=eGh5f_J)6DN ztnJR;w`7lwnhN#i?3eAQAD$dB;niXweMd_+fBkS_3}0KQcvEk=)}e#WYi*v4KUcTl zP0sePwgkQVgUx+Mv{*iSXL-2a>k*3=ugx!i^i;)}549Ya(>fLGlzR7fzvB}ZXbX$*VEMq_J`(W~G`mxpw z3${<@VC$5U=xs%_uEK=3wc+K#=G%^6u2y>(ernNTF6Gx=Nhme%k6v_+9TJS`uah>2Kdx}hYwa8AbrHSPRO zJJw7%b-4_)Sfr%#L*J*O{o?WTf?}`jMW>YyU<<7)`)+bvaSj?l&Rt2{ZnHUxcA|aM z(|hYiwL)#_L;JL^eEGJNQ+%iWRC|nbr8&3FI&?;I)Cf*{VSebhiD@Z!9(~N1D+)`q zt-Ch(=JWc&fgXP!6@9!Fa;~`4Cs&xGx~;~%U?(MKKk??wr`1>IzKvRPO-*aT;Lj0jxpQ5AGsUf1dV1`j5HLj*|BEF+pzXe7e`DI zTynhsVT1RY(6zknSMMBAsSXYuIEql&e{1RRi*A!!ryB$n&P^gM{tM{e1YodI{W6oze3|8g68uaPi2sIhhAk*4w9 z#aq(i_#cl1x#*5vRp6mDS2IgZb*}0HXz$yICvULq2@f8vJYMhpowl6Sw-8Tr1oa_(lJVLl%TmKF03w;F5DnsLN}v@Hwjwi>Sfu?K>vlA!de6be*n1k5CDI>Gxse zx51w~guB9q?s>m*^3jM^Y?JA$#K>=XyRRu+YV|KMNR4u-5L{P_u3XkMtwB&CylS5^ zzbty%SV7$PgBBZqyrPYt9CmzC!TW2*S0xr zC{HKpjkYtqqn|+@tl04K=1a$8*UlH5UR^jF)Bm*6r<^RhXS7d2eRIT%tJ|?@JNQ#( z8|)vv=ZQvD^3J3o^{0qOX5*Kh3})6mn(QB~r9E-$?uau=m!2G6^Sba!>t7m=?jQP_ z1Xv3DR5+Q|M>`+fmZouq$^bpe9!j}zjrt%A@^k}(Jmsrm;3s`3xXrvAbN0{&^J{y~ zt;c}N-#f%>-{_cp%)k3$F=NSmIwy{tz+f|YGy#W47BG^zESi8prZahrI02c*;B!)W zaST2=j?X72)0k`$xcP%QDB!ZUwMD+c)%DxX+Qv$9kCt26Sc5Mt<=?*A9>|RejgR{aUJPY=%W5gPD*haKc)WtZd<8k)|dM0jzUCWPAZ5LtsH? z#Bl(#GC5#mHiykXn>!_P(il9sPS)1e-2wG>K-zPWmMDN0u^fSblMJR8&z)$A)XG6@ zMY2Qz7MG@rL1uG!$ut&P(RD474iY?Al57~sSPEFZJ^YQ%Wz~HyOOjppt`6d^4rtdu z1_YkVx~I8pBy*v78)j>3`wOspog1FRMm$IN-nLzOivbV=M~Y)HXgp1{Gji{Q1%ydN zJESw|f<(YK&REH^Q1sCSnzGYLNl77D_eic-4vUU493Gv)>s$sm1Iy>Im~`y0xVSj9371BvGua8q8etgap%u@AO|;bP zfpxlZI7JpX&h;k)d8jr!2&|M-(#g6P0(a+20HQ<}NyhAvDyRzT#z~akrh%0YkAdx(ZKcAH%n&4U=zOe{zr_L| zuY@FYu!$v$G9Ve--h z0-gmg9RXQF7V+}LjD}cT8jG0#kP`>6#o)==dDv7)2V&Eb8J+G#S8#e7U)q(<;KzZk z;8`H(973{uOIx|dX*5z&nEuqg~Dwk|AgxFb% zt|^W~XY{0uq;8I+eWH!TI(8QXG0ejp9UZ$^L9u9cx+>iq3x^(6uw@q&j5wb%OX}1O zKLrReV?6+5Y1DGUzP(MdkvBq%Lq>a~J4ECQs)e`WGz{A%A5M5G~*_ zfC&X6kjfJ9iE>rqLZH{-HeFEF&4Z8|9AMp#K?4Q=piPj7<%38!E)m#-jILzpoDNG$ zM0!YzJLl>Z{jwymazu@D=heG&D78S{3D08y)xb<+$k$6K*p0N^sL61E|8+J1`n>0L z0t}}0ver)HXD_=ZQEwv&Xt69tFJtwNo*psUJGjUsSOLA4dD0j>m?>EjM>?5Fr?a|X zQP$D!THpJ`ELyBsP`l6iGl7LKS#QCrD+1)4hVJ;050JXnO1w>}cO|Vz{@2l50j4soHR%-#h~i)7Api{EOP&WKH73Vy3?msrz6oYm-QI2xA=grCNa z10+DzKs=LyMoXQSlnC8uL?%n>XsH5DPqOeUeZyeWrP`)jr*UEx_Y`@5tc1fK0cs@hmhqT06V680) z1o>g$lyW?alWqaX2_g~>i`7d#FiMF)Xc_D-gq9tkrv^PF?y#vm7M?^RGs$8b6CImC z;<6LEfYy^SL|2X&HOrrh7dkSWBa_s~lTO~1mIM;N#QHy9&7VOH=Z1O)TtamlyRK{{ zRc5x`IF3y2mLHO@{t27Oc@UCILiL_$E{*JLfYG%C&;VOz*$pU(s^oH*lB~;bAqLLW z_KX`@ecw%G_nHut!Xv+_(s^|a<-3{EM5cgYfh1<&k<)oJ?(Z*#`x|Sq?9KfAXF*N0 z#4?G$SPhBKW&)kxo5t+XZvJZC*k24LPEY;TU?jkGNN&C7A?4)T+QHt|%l?mt26*~8 zmZS}PqrGHdUS3}RWcFWCsdN6{q?R<<{wHw!ifVF!51eEE*{JB==P#DUXRts(&*;rZ zm7^`40{{EtRiSYF&IDGDcDA0f6QE!6K1grVVM(zxdO~kbeb?;*o37?dKH*O3Oq5A3 z+08KbgzXezcFgF#pkdtbT7jKGvSr|MGf% zYc59zFMAKqf4m;+-?K(;UBNZ=6B}sviJ1(2Xk~?&u`7; zVK4*qJ%&4$S{ns{qhH2{z3@vfNyOh?C6**UqR^X=$nSAGbcI_|j|hux*IH?M zzFWUvgs(qI2mgv+;59M9qIy}76k)x=+C7ae!)H?dqVaf~bbb#!-r3rsa}^YQ%vsO0YFxX1RY(|XIL%Wj%?Mf`8gN@65)1)0B4rCl=h*k7tGnW1|O^}99t zRhZw69zCBH_>+bIOIeOTnBdRl)&j`~$}6Nln(`lO40Pt7$NW94uve|oTO#8(#{3mW zczSyN;gG+_kMfOw1x1%6-EYw7_tPW4k$>q9_rH*R`33YOKCo=uUdQfXySsB#X*3{? z6FOr7&CcTo;=2Fs^AP{9U4MN32RtzZ|IYJ26ia(MyRPSdY$?|NJ^%BcxPSmA3Itpy zGC7%%$>60kVnM`_OlI(yaby99!;&F784mG5`!q`u1uMi_Q78@+D@y=3K*+x4!%KKW&#l#$Ap{0M;D2j zbOwNe9uH<_fOfE#0Om{vjhJlEJSmn=#HIk);Ilxut8&f zYApN*03!hX(`Y=RCMZY+qY%XhputS=M4*-qhU9?zRPbRjiJHjnJs)0kJaEW}=;;jb z#Q^d}Cu$<68Nets^k6GifTBzg&*6YB0{F}W_~OC0-~%6()sQ)kuhE&71`m=$xbQtE zRRBk&=!2|}iv*q;T~D9H()bKCiq(*{3IZOD%||mC@JUPYZ^Ja?PmjVi=!((0u7~YG zKN%9Hz>Sc5eoqaYVi^EW3|X=}(c%#dr%3Bk&?0ywaWw3N9XZlj=1KY+Fu~JPehG`l<%88o?xbvDAsz``Xs7)Dk^YaTrNKTW>{$MZjzNCpX=Bry z{LCYoAFcSKaTpEV!^>qfU zSgk*3QH`e7rZ?(38=orcuD+>mu4pS4G{`fb>%-GB2^oq;Y9e@mg)3e327Owht$>gK$<$6AqDL<5JvkiNLhCwq^`Ff((Y3N=^7n_ z42{o1M#FAF#)OBEA#NXpcX~thp9} zK~ZNF(qBbqHl(J#6w=V$1F0DWwBh$Zw)%uk_^_x@$vFCk&CZ@fE$X?Zu zlG=LEe;w$*67*k!z@Y^0RrMA^s)q9*WrMkpdY=uD!GH@f6rYE8E?0krb{+W$9jR!9 zPG0x|^%=As!lN1?vlCL&n+K^I%z;!4=R>Nx>mg0uBfK4l8n4Fl z9z*>{9*6o4T?VoF$Dqu-o5(s8^^QQQeZa>M{_FyM765#LwHVHY6xCKjO3IsOmY(@| zQO~p#QqnJiFq$(VjN$@lxYZ75LhLnYxa}3laQHc>pVTCQrKoP2#_R+#;VqdM3NT_)7sz zmqIFfiy&o7(KG|<%<*=gz(n`;}U4qft3)Xr7z;Oan8h94qvl5yuSyE@+pFag8g-kZ83S z7NZfvW42*Pf`6p2{(Jo!uRpT?vU&ACnBy1mAI09Szwq z1h+c=eqQ6icVF-^R96Lm!*6uJUVt)xwEuW@a0%7vbHK9(*KZ04|1}%okHY9ZHY-7) zvA}z>AdC|)NC)u)#)Hm@Wng^(1Eq6#NqnqlnDxrLK1!fnKe(MIkAe8Y*zwF{2F99f zX+x$szL?^=6u299{$3vA9SZj@tw=db(f6*IJ`OX)-AQ9zsdD^s=V$Eei!`5yY$#ZY z5yXsYHfBATci_G8XY#?i?cbuWuUIr=_~Z8X9|v2_Tf61Z7UHDg)h6YCKS@fDuIuj= zGS1@7OlyD4`=+cBUvwH(){a&W77Vx^k`jM+!H{iJ71U}gpIjYyj5>0sa>klG1-tTN zCrk2P7>;DF;}1wxx}twJ;=p?ALvd9!rL~Dojh10M>aV?5xNUK-oV{^O^@Y)6nH5^e zSxqxX8$JAP<{0?Ak!+Rjc6*lXyB)iBS?s^0@JJDFls$Ff#VPw;A zpfPv$vn}rvhb`Lm=2e&lPsQD6@ojbCsFCa0@!uDl)X$Zhg$9ZJ4?V0bVu^p@_%z!Mb4aG0on@V1yglz;gXyuZm~zsmnu z*?0Z@m#w9(&41uF;EdLp6Kiu=s z!C>{vDdlDLo~nU~{obFXS|0)f*EnDvP!&$4t1Np9(+zkG%-%|IzCY^}o!yo!_71 zSN@;1rG2;G|62Yx|NkGkdhq{Lz=wqB|61kSKk@$tpMpOMCys46iTU^We;7Qh|M83C z+CVUyqiRz=gG3qSFhj+%91hesJNq8Q4qG1Km!F2YIaxEbYR{W}@G}0Z7XIP&NAf=n z{Fjo-;AL7^lB`Kqq+}+WH0{?Lfj^ahOIv$8o38m^TRX~sfB*jC-qKefQ(;|TD!pd&VblgNgT z2Qw4k241N&_>e*zgAE@`No6BH>rG@}gZ;;2X>2;ycTA9^nop9M3a}-gBr{(S+D1IB z7hq8*WI79qm4&4v*3#a|+Q!Ms5^F)RrBJZ=@rkKKEGYM3#3IcIaIbNUG$tR}g|V}; zvD1WiQSkApY~NQ?|d9NwD%&*W=nhW8D(j1&q@{Ro6CxCA`GAaRhl`LXfg za6u#hQ^a8L8ORv^R0*)81ctzy#ei=|XZq7YXX{90Tz@k&e-e{!N<~T}$mQS(qZV9Q5&#u0@InAMp>KIK0mF`G`<3qyzeOj)>NP$vGq@-$#mJg3R=i zu?Zw#!RVPtF9hF`nas?*C4iu)mw`cg+XeTMJCO_xKwE(ak4MWyfI;uP32xp_98xkZ zi6JQf%q1Dr35O%1!s3KOgce6c_JC!$TXuYu4@5*j02ywQwt)$s;D$`o$$TU}ET*J5 z8jFRTdM7v`%;g;^B63stiD3d-TvF#?K14sFw}fdpcprkZFBpoE7K$7OK!gmGNU$J_ z5|{z}V9tXn1NhFj6Nz#tHOI?6y5X=mfCYlNx0I58Kk1Ak;mrNaad@1$w>gf06G_nT z3*!_;z8q#`#fReD6*VvdNbq@wOav&faygMAGH7v$vbgC)HHQS(p}pX85fMFx-vdA}%hK=NT4;1Czk~Cxbp@4hhOk!SLu&7Mz(Gcw(or zSn^VZoErp63Vy8vP%3yS8pSsxPC9V2yu@0hQ)v@Oaj;9w7!PKLe?)?Z*NhSkhjSKl zh>uW+AVx-_Wq5}am&jz%;m&d`VDRBui9s->Isol#PVG`?=_W0h2)|p;39(@?GVtMW zO(a4BDNlQgi0~n24;D*~O~sReg`zA6>t~cPyRDr7A5&#B@QAjTwCMa54ImZ?J##S{ zIRzpeSL6c}Ah)Z{_C?i6IzRyf?+Y|Kk1z0q@d4zYD*N0i42{OpPNsPwkV6pQVjtBJ^%9u^T*SGQX+QK*)qS)>S0|LK`XY#>fy%vcuCxyY6B8YuaWFSr|U;w}I!9lP(GWAF60>pK)dP}UR#ZD_8M`xzt z2+jd=0)(n#cy2_O!(u@oIQvrr09UZlX++Y6i@juj;8B9GJC1=Ti^H)9x;YhxcXI;Y zLd4SG$O%N?-gGvMir|kT!$pwvPq4`~Mjc|fNJIeAN=i;;379^}gn*-a?BChjM@BhPEyc_acSYEr zi2Rm=FYls@J!%sCBUB&(g1AJ|n9wj_toZ^sMgS(4-~=-aLO|J7_Fy>uWDTdEnVDY~ zD~&{SZoVYMB?a!ZtA(W#5;QUSNMs}-C2*loNO3Zn!B6Bz^^;MG&M;MA#mD9dx~Zq0 z0!~mKFIiXb1e3=%f@p-li8wG1f=02k+EY`&E2tv$7Arg8ScgmQEi5AeD<=Tu(HT+8 zVH715zPl3laqINe#qod(1@UrCsosdiq0@hh8#~n}gO`B1L2%Fv#IpyCp|tN3BEmr; zli$;1rl#I7fA@eC@%mjUB4Q$q@5!R^dmjL`=X^XIPr)pkMw4+00}&zyqOnD%;s)vp z$x{%}a9g4$!1Oo{ax@wzr8fw!VLzQ23p6yJguM7!D9i%x8=uRFW5zQXbT@Cb*vT7l zSVi52L_%p~{LuAijPBnE7ObrwviV^-DMepetNf6{FiI=4A#BVzfh+#nUHeG{NSa!w3OkxTW zd(}>euM7&ooXMOt5WxXQHl^3rNXiHZp}DuYC7i87Jk{QuUa8*eIq@WuUXi-uK+7YQ zIO0!|Rh_L#(>P2v9!JE%S~2-2A(@F&AqX#Y{~73g-@3{^kV)OcWu4GZm!`0MNPJ!#k`|jr%fM%)@>ott z5s}8vWXCz7u_o+h!7A7ZhrSmdClaed;9s&hu{4%9Y(9JtT_hBu-=1hP0)CWg3dC9< zDDIMNk%?VV!A6%2oLZ3-W=1C`o5LF&@E(i^c0|E6bYy*!`z~%~097i22x_xLfVC`% z{+-2Q&HxOBuGd#4R~Z1Ctym5RW?US+w-DegJD?>pptB#!x=_jnYsKT36i{@)bhjei8w3`qz1r2O%T;r zZ02FmfegcGAtpPOfov9-nFRr_2?aBVDhFne%*G8o5>~S`wTeNeh^K}04HChZm|g)QXBfa(DtWqv8{*9ik>82Ap>J*wa^T+w2{MK7i%f*b zFO=NSOe&d4OzGUO5x>D=B9oDhP?1kX6_||P6>!23Z`4@|dlrbqIqZ0#kLBHdcoU5) z_5-CmYnjr}70v`n zR;|H5EEH?CPEyK)4J41=i*6HZ9D=jhE5^afg*=UxMibXKBmS5q?}8S>zyn#8)1h4^ zkY>BVI>a#=qPM8NBA>1aG#}aYptFyhjzaQ860G;U$>JlWikVsGJ>b;|@UPlEX?&pC zsIb>BThMja#+Mift865U0s4yq^p~&1^r1!zRVc6o!rH-GtQp`4NbJ1$hI_-gGtdT6 zbA+r|fQclL*ddhao-TcWD(bnHRPKA56?IMENxg~i*Ux4~6}2xMn*kWi%*4F|hNhL|kk7Kt0AvlN|o$IBo{c$sf*;fZ!A%e3pDnP3&|c;H?ulNP^R&0uUnc&B+8= zXU-1+Q&zGq5t|_$n*^d@P%nKZ!kgVP&*oIwTIoilAL7)btlE9+%3D4!E;9fX-fBv4 z6Q_=3DtcQ%XGGo=Xw)ecyS-Qt0DzDW3F>>16GSmdHW`V)OOOr++z5hHx#Q)L3Fn2t zu>5qI9258w{UuR9Fwk8MCc1HmZUDmOvhx-(pCSp55W4l0X$cP^>asToxQZAc<~<*o z?Li-z?Lh>rAfhidOZoy7oa9YUI3j#VB$f%*m+6E<-++Z9O5SmSLw>6atVAHSb8xqC zTo5B(00N6~$oP>?;kfY}E_fb|yfg?G+3ETD1E(lRwy&S~opF$bu@f_sJol0t6@N#6KX%nRjN%2tpx6B$)*Lu{oF|$h@~9 z#7(-6fM}84Cl*7G^fJdG3&qLw79lRF93FrKP=KbuOWj$fVaLAOMzt^Qp*VC#(1)QJa_eHDGz=wNSOpPSKvA@M|OB^h}L7a4neM3CLU~2bS z09p_q7sf*{3{^1PWDHR8z$9lP8^my6&<#t-qT%*n-7>aG@_HKa3Q#*E17(B-J|Z0k zQc4!tz%I0lQ6@MCQRRmOC=&|16a^sew<$R)f^LrIW)R$llbNXX2!eA}pqMOqlw`u; ztZ%#kh_ye7mkRv#WCk)6QtI48Sr;hKcIY5f5NA;UoZciZGlRi`RRdzMB-MUBju$B7 zuLr@F4a7ULYB~^Br-9T!`NLk4+@8GG21_%1)DC_D0(^!Bbn6=E2O=jE0)KKW0pU-7 z*kkJ4IFyDiKJclsuE)dtsN^UYKuvQ(1b?+Hs6NnRuj;55-3=juYnnU4qGAk0UkG*lL%DA?vATY>!4SQKcW0WB## ziT7BlX(+mT6B>`lxp271(U@>cBF+WPN@9`pKbOUzj+ESubOmj+zbUuMTp;BbH;E^|*2$39#5P8`NjF$vq9F0pLONK)7HRw3v+pZJCsTW~J zCz%6DPB2tJz$7#l_mpW69w~M5f~g_W?KkIOS1QHX!XmiqMo~z3a3oQZbOXb|&objl z)9*-mFR3lK4n&S!Pyv)K>>^EqU+IXv(Gjs0e6j=?aB@>FHVy0=&4x)CAKsrQAi2~a zxzjCSa+?#fh(L^Lm`oPP7v28}6T3n1zAw5H=nIscct>A$vmBty7dCzY;_Q_S&fs#Q zG?+It1Fi?WV-9OTp-_4&uR~z9*frWmLLUSwq*Et$-MT!>VH>U^I3a(fo&nNccK;hW zuE~{2_WKgU1I#Unz(mDy*l~zc*@-x$d(R0EDX72~^q0#)pb&H(4d@JExZlQ$6Cd8#u{k5|E+*xg4(Sll+zw%v8Q`>=a;T24FBn<4<&N0Ui>j zJ5DZ99zet)77OMR`B~r>7o{UTuw1c2h>fGMM+&g93~XE?jhz5M69s?;0)IxH0l}c~ zTd~kF0o^<#`?``OkOYxE)^;9F6iL9Q#UjhYNj64$=qJ-i;+i98%R6_E{l&Y-0i9_f zvHaq}C;|>!Y`f7Up%6u^5Ecs9bQ55kP3fUCZ~+k8j#zbg!7y1tOX(3*7)4!l4?=K+ zLY4-X3BTlMA$aN$Tc9X+pxa3kjEoY`-QkkZnkE zlF-XSp1=J&7fF_E2k7pe^E~hK9(D`1ER9B^(P%UpjoQDtot1N!v>njnadFuI6>!JR z+BU%75B6b^Wy8`Pvpb?XADX>VEELeKTP+1;J=hie6wPR=9PZ&(9BmD&@`_%SIT-nF61D2hnzSJx9WPk0U4mZbG^mMl2Jb8 zDCM!AkKs7OIMO=kZeE^Ez8O2ObyydvZPz+)yRrr#e6n_cYuFp1ic{Vl{wBx2a!vS@ zUe0O!z zvAGTJZAUFHn+>j}HWqf>hZ)2oYttVFpZiyM z3Nm*K8s5eg?p2s;s!{F&L*Rhqy89eX=qQ=9DWyX$>r_gU&-eY={Uo^Whi>~kU$Qz* z`@EOyWI|#-Vlte@0 zaD|?IIJ<`Iu!Pclq-}OW|NKY^%+ep-PPI}9Bz`s_j#)}Yj}=L&Y08fah#fIK;588hLz@Qwh3Nv*;Q*yXX|{HQe$xXue{7)L2Bk?F7kqb+%!wdZOc5 z?6ry-ggl{>a*QJa!5Sj%#0I@y(qmNLms0NARkb_zZ~@_IrpnAlS67308M)gi{bHA5 zP9uq}F~OU2Exlc>*npjleU4R%GjDW?H?fT;COOoCE~WRZI4q^?4KmZ23KL z;zxM4Yc0i&;@5XLor|+7sx!9=ebAje!5SZI6nb!s)wMpdBR~Q`f%DP9=60 z+T?wP;kSXRROFb_h1$c?-JIO33|7Kjp&D+|4JsR@TA5{9t$oeg3U!oQ_~vJ`pM_Ho z@)v?b_2w>m7Jf!s?3fd!BTcrH_FFMNlt3s!k;Q`j3@^H_UakdNSesvX2>cOx#01;)wRDxZ~rLy*t?X~NG9WNE|RPdE> z>6ap`CMhV7epS^JBeD}Bd{mCl^%Od8Ddkw0K*h1A={R^>sghAu&NCQJF=>P2u``u% zVe0Xz%2)?W=L~%oQMw9rBn}_w)VU;BTgPl# zzz+e`<(*&P`*O|5+p)?c-Gsacb*FTv8xCEu=YS71F3{oLJ=%o z!~&TTZof}u;E`n5jzd51pu;==YX9cAo$R@L&krs>p11K+yZu}Hywh1Z@7%XDcBlOt z{93`Md-?zmn7ea-ex8FA>rM8*Jm$nKOf11t$a-G#P$C zh4jP=F1?`dH9<-9j=fX12OQGA5Fbt`h^gN>@eg_D_RK}+FJ4oBU@3WmRxiZ!q`e07 z#<71GURA%2bHo*!B8Y?VFN0hkl-u|6@}2^Er+tBuw1!q$d7oVS1Bs-&;1U-1_?-QK z3+9#(*^nI1TWPmCr5XSfQW)}zmV8i>?9Bh53uz6+8Ps)_jXuw*;xnL@n)r~0LFfnF z${ilOD*-7+W2gsYS*hwkf6hxaJ}fD}d@y#+Tlz+c{!(grzd9|~Ekm6(sYwPQ9q;o3 zwB*kST}8zL(53G~otJ_fr|grs1tYx7!zjuf1SqdAn4dp*r^LcRph-cA`3cD4 zV-OAGY$lOEd3{_yk<08e`L%u0VMxv?BoT%n1z0!%Y~d8tl9CPmb2g*sG%ewI0S|Jk z8ik~Neh#d8iprUDO6L;Hqj~3Sk}rRtV>QDb)aaaY<7k9S(Nzyt7U zmlk5bI`kmrY|z6mO86*lx}fvhqCP%Rai&NfTu7StTvy+PX!)`T=JA4Skj3Su;9}&& z0GN=)4Nrp&JWf?pB~aSOl2D!p*g_aLC*B8E)X&_zCWu8E=1Op!sU!00;0BTVENa#% zjAj^<&`<4CY1uEI%3*RzGPMN{K(f1Lcbw8T<40L?kL)^-zu5OIkRA<#m! zE7UMk(3c{?EsFwz9}phuq%=aVn34MPpa*@KU?(K2ufiCLMs2(C&i3s6jlC-TX>M%U9gom1-8J5o@;{)K z*FOJpep@JX3#;e1HTe0sN?Mznb@Sfl?#9tkDSw`OEF;zc`Pz8I)JHXN<>3;P<-C*k zHk!>tEC_nw!zD07rR1C+ReX9T2(FVuXR`Hs@{$r%j? z-|mOA>wDDQ?#Tq>u97K-wP3U--H&>``}TQnm|cY`&s|Vhz4r%4SR6}+|GdAN-48@* z1|*BQ4CTDX<(!J&{teK00VupbsYDeg;IVlmGbkobLSj)P=P*cgc$o@ z>;>b}olW*QyJRc7oK2nskb=%pHF)COyr?bR;f8j!2-5xWjQwjH^Vz(9WHkor%GxD! zruo1E2y|mss+-!5CrE1l6n9e2PsGMa)Ai0MDY&3PeF2Xja2z*dTf62Q1>#*Ccxy!y z6pF?cN|X~&DCF)TtPOIpjR!ZjAOJ04PNjTU3bf=$I!NIA%?hk7NQjhL_$mdNQZ<_> z6-9s$&witk;{z%bL5v(NjU3owlN_K5-eD6ety0S*fU<%g0|A=8)KbgGubbuLXnOw8 zJ|<(<87G|hXLPzV@ z=%_z|L~PGX$7IfdhEO6K4zVY?1?4yv<8jGwOa`2UzR~pKIh__QGv!#Ww40q$8%>2I zvsI19FvWh*Ydka6A$b%}_l9N-15}$+KP9(wOcm=Rw&|Zn`eaiL*HajDF&Q(Y?KU7g z0l91ORE-&#p?a!PkR?HSB*j3SMO@riH4 zjErmdq)M8FPpnp{T2JPhuH&7RK`Uyd=sIV-kpIm&i?&f<{e)F%DG1+H4mT$hD}mJ% z&@Y-yqcbf8C#1GC?MG3L-#wk0Jq=&!8_iETW8oik-Pi5yh zi3~B63oAxx|Jxb2RPn5^J2XM$nH;Jeeu+hBI>jXu9#`RXVjk^FWWXi0UL(iBk-=ll z-0hI9RWuJpeJF!nO-py-5dE!t>8eq$Kc%md_m`KOG`L(7dQRXw(%D|Z~rE^N=1S`7<9lZh*Rl+AM~8;w40Wd zzeIUKRxUgW?%Qu$&E~;AMgu_i-?YAEzu=fd@IBX(*69>jxF!cDv0H3jk}Qsj!Q8_I zS&R!&w~|@`WI9piCt&T*x)YHB?jLImaHJoQPUZk0gLs8eb+4N|Yj{_S^SqIHhI#-Y zGZSY)rP_!av?!B`-FFwC5I&G5Di+mQCU5B>>lk@(H>^h+P7K>*bSZnn`EktMAQ>DgQ6*N_aKp(9y6|_MI`^0i@sQvbOk9}wC%6*}Yj%BB zk;`-kE!X`&$OQrBJXks}@nEIdMy-wt)OoO`z0e~ewaQOvS1W?&XS1jCxmKlrHW$Wr zt=83`D_Rvb2Q8fieKQ@D^nYLuXm^l5rl@0cQzbUWWNg!-6ZR_Q>dA25CV0* z5_^ZmMd=LwioiMeSUNN7KX$zjelu&^AVY}FTJYy(ryR*-Dtd~J@|Iz0~!eU zZ3SNy<}DNq`~j5R3Q^#L**MO!)T)5)+>{|UO0tT|hb0O5w-{uU=ltabeG%Ic(%i8s zSD0>u+`YsV#hJ)o@MOkpk+Np(Ra@9oOpTMZ?=!hp$0db#g6HMcj0Ved+7gZykWlED z%o8ZM#9?zyA68QFfOiP!gL^0K(+3@~`Qk(=IlhV}n|CTp?cdJZXo_|D*}-!nu$1B) z^3;pTiY@i#>R7pZ5DP~#MZ zN8H(`wJ=r{A29TeeR%{l>&QrT~Yr4We9eOxc| zuC#!Dk~l6Iho8*B3PW@jQ^2f%_FB3k^K4lv;6~HbjIA~j&K|8jnS*PWtvZXTHmC5v zf!WD?-Zb2mTkhP2-jB0Wb0Ir%sEOu7QOq_+H=Gw#7n(s9@5XB$JfinO=h8*UnWWKK zI*^uhylM&a*NQC}KszmEie$2l9mm~DP7FZ}8jm*Kn#SM=EZjEpGe2bByv_%2Y;L1| z>R)b@>4*RIo{RVE!i;i<4h#HXBatE{j!vy=v@)&ZaS+}b`PQ^j1I9tR6LyL}MmVD^VNj&+##kLp0e~A@(9h*@%CU>2}I6SJ*gq znBJSsDEfvL>CFzm2U-+afm@N8OrLGy%cp;ukHJg_sT*O|6MCsmV0XtsDS zin>^x-gr;jq-W@BijFs3;gNXZgJzc4Si~*#ZaKC~-b;1jYQhJYZ-lxomh;V+fNN?i z?J~WcgpIBL^C$`EMfB&)v5A}mGTFK z+Z4bUp*c0lM{P&Z@96&-`U#Jvhe;^d_JiT%%)UuXQL-2bPa~;8tBsrw9xPDx893^J zd9n}qxLzbh(w7>Q1s0bFRwl(C=L_sK(5&Y2GMY$)HL?;tLdg=l8;GDzsT(ZjB+z_X zVA^IpFzv5SGaiq&%qJQ(qocICp718RZ3CNqA`H&@WGK^eyp@*TVOqFDoGNfX zLXZ7OM*CEt6rXYsJ__|s0_K|q5QAYKC?59GK#Dk|qa4Pon`mM1TgHw>D+f?-=4w~0 zY#i*30OKZZi|wU&cEBzTM=&$vvdguj9ui6e=B6&{^$id$Da!CvgMW-7i8&3_p_3&w za;cgV^W>^#WF8F*&N9EBX6)E( z7DRMY#n@GeOx{UMvhyTkIg!cm;9D$%yHyg0?pv3@*u}Ydi)w`!s3jn zZ^p^R2$*#d>8N2wInrNMlq2@F)uMbXFE^I_0S5IQkV|qscXiwEVUSk*%ZJeLDVxR5 zJ4@<-+Lm80i|ePxlhN02=#*Zk(_a40T%NI`!(WZ)nkYQq7fbUn2Ku&^_nH7sN%!$Is|b@~6oxNI?08xdS`>bo*a$e0u4mirPiJ@mIW75O zY0kd4%@^*unpXuZ41tc6QLGc?t7DIbc6J}by~59KoB6N<%q9`!=<3)SGBn}UY;>28 zhZ##n5q%wx1;@{P?@%mk#9+r9Dm$q|#WttiWSu(gQEJ{)%rSV)L0$0fq>NW{(T2I;$ofK#JYbIe z6*(^A$OHdZ#gX`VUs~&J=Qr{IwzI!3;LsKLj4o#mp0Ru3vis0h`+!C1wmP?rN$qX! zKGW#@o|-O8?28a-nEic6-ZrEIdEa4&_7t8!NFNFZ04EG4J2T_)bI?8IA(>W&Uf z*W~4c<`6hY85XIKjd8IfdNVdOQj?tnFXAsL_~OH5C)W$L;bOeFoSO?p{Zblz_YDx7}>ZJWWA7Gmh)o%q#SJIWQUfzcL4P~@h}Z$zc4 zn>?|NG2wU~t&2c*fFMOj)FTH%sQ|+U(sckp@lO=EwcaM)-RfwM8n9?gsdn(rCb0&V z!IDdjTz~qGuQho;Av%UV2g4;jhQOVEs2wzCT7II<4FNmSu(peawOCGdiis-M7~=@| zWQ^6zBmDaHiP%rZ!i-Mrr}us>@=j-RCnAe&!xXe*T+8E2K$rcm&d&Y)fM2nH%`T<8 za(JZgaLiC`Uf>jeS4|Gv{*nxN14P}4#)vrmlbAMkpFC|;@tU?MJbg|qXxSEWrAUJV{JZ>-w z6LXw{1WQN<8mBwJ8jYKqu-AumSvrrXqkwe%#uURK&UV6Y7Fx|WDHJC?A_rR+w->Nt zoLcOjh9NtrGF@%PN?&L#r{XY{^>gs^Y|=?^Sw%KPhJ8d{f= z(Ty-PSb}`kr|=sA#)#JlXc&H>tr=?stlA$20|6467M{}YGYjd%nP{;e(q_4Q7Wt>$ zNf-`K#osfFSPd(fPP!5Y7FX76BojXO!!OpC>o6R=3kT2yST1(2ZOOV8&YFGAd9p4- z3*z}`6{b)0e;I>T@f=ZewIFqJEi+cvS#6iM%JO6&SCM!T4(MODvffTU<0r zF`J9pVg_WFS#%L@6cnGeP;Fd?K||CmwJt*d#&_TN>?^Ppc#tG58F?5t>PmK%A?1}> zNfV<$P1fX8BB3|4Q@@WD*0xMKV)q-z+M=3;1HV5dC-vVmXoO zt3(rncbCRa0Lsh?ef1g}D*V0Ad zyj~4tO6a&h2k$ z!k1?)AX}O;k%Hv|ItQT3m%1h@^^#;See%+pOvw+_QToK&4MD`u^3FB7Ge(=EgvA#* zcZn#-Ti#XQh*PQ}lrfb_w^I3Q%)B*L?^5l1anTk9O1&A~PD2=!lafu3*zAezaq{g< zqz=O1bEwCSBzYRQ3RF9OTzaL6E-&B!h$#{=O;AAolo(?dcxqEaXG^~TjI5x8QP8tF zq!)&wtKvG2<31{IB9L1w zMqEF3NpQ`Nq&voYjxRcDDJF?{?bz!QXj#qoys(+eAe<>N#Z_Oxv{@8mwD!8HCRMZB zf&LsF+X$CNYiuW;Q&-M8MqMxk-3;;IOOdq%)Ytw|L&Y!Nb`?!BRsxVnXDM-hp6+(O zrt!YGOCv#mS7b*5z~K<0sMqN8^jkIsVa&oq{7BaT>JG%-NL_$NrP1!kTRvuhxw%Ig zkT%d34Kr8hW?5gmn|w6MZk0!>RyRjOuJ14hs7$W;8jVPSL$4pde^ZAk26Er2#i3R! zcVv4Pn3;&x=6q|pQI#Ggw2S<}ZB3|Yyr|a{HE)ZiM33T&E0fz|ovq!`gpx4+S6OS@ zmMR;23yjp#%*7DCQ_g~r@eUa5<{i3d89VO|O>(6j?{Zk$p0kLqvAIK4wvD%asU28C zkav+hTR^wnRk^_x|1eLxA1g8>UJj#Bf?Txj$q$5ZWU&wucT2p_Bl)@&scn5-QnqcR zoQ-l&J1LyQlfwU>9uCRElzZFlL_1gNGHK^d358lb)x+hK?>)A!}lQgOe5piF0=$?=6T zc8o_gd?DizX5?dfH)Gs~uri6z4{|VJny!YX z;1(T80dgOM=-3!g%$7D{7&=pSO$W6xv7zi05GTFG$zbnO_>JJgUkVk44*;HmNvTVEZO?WSDswW_x)epMtJ3s>`cTP;H(TYf z=gt6PK%KupOlwlX)wxbxGol4WW?8?4&K5FMakV2B2MN_Lkwfmf%uRoDb-@U3rL(HG z&>pt+=#|{w&cm**-u5F0A$IsWp`5tg7SFB@LmQGK57~@mS+DWt!u%U~!JW9dPWp!1 z`M|aa4i3`6Xi}Ply)s=$TB2Jq#kD!5+^e$vCO|iGar@vKypa$H^9GOGzRrsmb@$+F z-mrV~nyyQP`tu?oBVu3gEOxf{stdmcww#f1Gi*s-00WQFf?MmS#FcQR9o>Unv%`9H zBVB1}QN`lII%yr|#-RObX<-quWr+wsda%GV?hbqaDE4Mlih8b;hdvX5GO96`dT|q# z>zOx4mE!r>dmlwLFoY*Ny((Bt-kk)W3%OS|-q}o-ECHS}i%jyOJLH7|FdS{-tq3IO z$raMO7=7IX$`436oR_y2-A#`IdFx5n(A!`59t=CXowZ@4BLB zbkB}V3P2m*g6o07lR4(gi%C z|T-c&RW zh5%yp1rmq02XdRd8A{Q;cyrS@^bx1V5+#vZK(E@ea$EQc%DY_BLQd1{OMrm0=e+5o zxlvfW_un923SPHKM~a50jPGULy`tfYyA|!NYSR{;1493*sTC9M-TK?*ZC21@2Vb`} z2N2wn8|7$Hfl_4v`~KjlX$!}1j+_r<34Ra0I(N5|K?&Bu0Hsu?iy~0ibN||Wam2PK zRnv%4dmi7fh<9R7Z@XPkbnN^4U5*ZMGwRXhgBVkuE_`*Wm61b7QSxtWSMa>Eht`(y z2*eJ`sA%Q%nk9>qyFZ`0E0yy+zrW#NOfH9^uDT_&Jem1v2`X-mZ=2t}U5_tBjVdZw;-J_71AyQ zvXR|ku{D`_{4^TV!=~VEdZ|*#SNhIO&ChtdQmW=2-2qce)!ZY!y(X?FLb^sRSq6ji|*B>g4;(2`$jQuD^U>5tM>2H(U7hm8%@8jh0$p}vwbATp4LF_ICI04 zmNn8RPGp$j1!uJFpeK|_E)GUrG9T0FOzAjF>X}AvamyHsO|-D~xlsP=>X$EHR`JO8 zDgX-$;>3R=>6->VkyZrd|dXgeV2Dyzco(nnUdl)LX(lJsTd#?|x-RbCZ zmOI_stv8$RZMTHk@NG65AL7LrQydUp0OT6apn+d+1~GhZ2A)L<=2w*cD7Z_kaPnlp zJWz`3pq`}z(R5P}yWgw=Q$!tlMhX|kaA6MU!%Y6MCpJLsmHZ0KTof&8Ps}UmyNsQs zO-JtCp0E0rNV(^k?@%Vz=X)*>#}lvS=l%1Fvy1_Nue?L=7}lnH^1f(2Y$$N-9+?pF zst2tj)hS{AYG@6dq$Xs3rP+!fd2vN!Wo)ZUi;=b1^tYD-?hYA(Wq_pI;e>G|_Y z-mTcnpoUfOD%rgpfxExAQSZG7P@@H{XTYgB$~xY1 zWi`Ola?xQKJj`=iZU7VP!aw?WRo3o{!W6NdI)n98pYC0%8!CBI+{bPZL{x{A5C;p{ znMl4Wr%v@<1~iP=gtg32==H5wQ}fPw<$l@y=;u}hk9*MSkI?)oG=Ghnj|6IEF&;A) zb}J9@mraF{8|K=Gi12v=i*g}Bc%IP+6bo58pAwLW!$WTIy}M{Gw^?)k)zAOtoPWud zTu>L!^B9XeU-35la`de8hFp?r$XC6MtEvH*NBRc7FmoWDHW%C-ZiJRd8sV+bIu}|babs|sO z@G7~P89l6-B>O+l}33bPPB3}*&}-|2a~B3*?8aWkPg#t=SBblbWEZt{HEF0i?YC@RC&b) zKzb3EY~h+XqWj6kL|dnbnT{=X9#)axY$&Pe3S#K=FXgP34xw?mDl@De^@rUME#UfO z*e0y-GLGi;t!EXA)^;$oiog6+unL6|{cmmU!Kj?4fj?ap2>_mM0QGEBWw7ydSF+p& zX%W~YIh;^{3EiR{rFJT*sae~zaAGg1uQ@s6OQX~g3(>tC-(!k8I93t8IomLU8z)ON z>9M*h<;OzlF&Yz1f(vrPmaL?STL!kMJl(k3-ljz*pAgdL3S7b)gP}la@7=rZ0M=3R zbRi^^-!r@aIsCQxd}n!i8^)|z?aTZ7Qy7Ue-h8pigdn%#79%r1^z~8|^;80}jCYoa z)seFe5}kK8N;)g!jsj-eA1OA)-r|YHun?4#^#CzC)T{~Y?R4xjBswj#t+5;QeH7c{ z(6{N{%n9Q{ldK7g0w&UQedceYa6S~K0m;z2Fr?H-v-P+kv0=Kre1=_;G6elIDRdi- zJf1cZ+a`$Tnh`9J7M8L??*kEj)wW#*;HrWE3OL(Cwd5v z{%f0UrcB?)6AJF#z7z2SXx6GMydZ&axRZ5;^;9()lTD$;;Su`{D=hc*7#R&m3{24z zs2Yez=NL)xgn=gdP>!_-_^t#l=NVF(#Iv*gH1Klyui*d5aVW&cwmgwSRMNdg>Yj9E zs^y4H$y7zOpK&V{JZ)5JwHi@!me4IKnB7j7mlIkI#XKFr z0`~sik=fq(YlXt{vV48LUck#|<*Vj`61 z*^x|4>b@TvmQ|^c*HZB@FWB7n)a|FWbP*vY?^Rst(FPpUXyZ~DH`#zrNGfFo#&kSR z=QaFlWm{PyVR9{P8+OSudnY#%yXiAl8hul?$vcV+dDo}=$G2$2*2GOzXp@fK$&#jp z8EN>w8D^v&sl&*8%!atRgQwoacQ)tXQTVnU!Y8}q*p8iTU}%GA2s9{Sd2nOcUDzCm z5dh@qt+T(;R$H3HJ3gC8T89lBl%pYP!VO$m+S!yZ+wNT0kHk&xE;``-p_AtRpbm1t@Db!Q`qxY=R7u&u>Sw+2{sd#m*Cd z6EEUp$7|cPO{GfV{*-z-6u`B;tLTkCA_TGHX?L_A#%ks_Hd@xqc8fn-IWKcb)&0@_~GDU3i8|Dy6a(9v#;xP`a!!8 zxLki-E7xTxp{j8?aJ}Q%qd`yXr`f{)zut-Mv*BINHoIkYr_-pYD#tOjhoLR$B;kk= z@9kje8#?>CEdGo!z<2R_@s6N_!)hgZb?F*OyKG}2v zR$PgW)%ZK}2il7VSm#e5Tsl=AA|w*b@b(1x-0vCpQa4ygE$m~=PkoG8%|6~rpt=R9 zZl(9}R=khJXf&Y ziBjA33J=#3_b47T7Vb`3XEP?$-PlBQ*XxDNk-5WAOXrn4>9?^prz@#Jh2k&qm@(Q- z=+ki+_8d;sHxJuYzTjFeLSZcg%?8~068BD=06US18bo>3_4d47Uv0jr&^M_R^7xb` z9mm|Gh|(Nnq`lYS8%;ucd3pE#UL+6^L4Vy5`<0G5PD8sn z=U4woU48Ai(y;lP)6TATe7EAX&wJU`Tqle7AG$B{7?=1E8^L}i_xAnQua-1HrO&TCb;E6uW&xtV>B zbpMs^>e`0_zw*6JtGJv#zME~%5x^Am0;lQid+$YiwZtQeP^RykQ(zfBcNO!9 zmqB4Tn3g!hPuNtF=M%(A7f{V3N#gD%%sS9x0mXBCRDA&xhp=8OtMy~C}a zZ^?j>b-tQO!nf8Hz&F5*G$%Y%Kw_w)89oD+s;g+fqN~#6tk@P7*Mhe*~-6`LW z8Z2Y*s1U|Vg^AuPXUgjvix1Z6U9hl+jR%+K4scd(s3P&#mHL zU2@7eWO%e!kmPRAABMriq`$taUd`54VBVR2!Q6{-InL@{FuR5}Or5P2dVJq-^J{Ll zkbC8>)Us7Po z52fCYd&UeI9kmd(fXE5QX2p~gKZhYEyDwt3qnOv#pSohADekeMF;Sg& z<|Mx%xN6w*>-=~-?9coy(SCdp^O)>%KPoM_a5PnEFj5QJS>b3sS<}{aRpJR;_}7@7 zRhwvu6+P!ZG2 zwzv|WKB^Odrcr(9mWTcouvT%M?#MD0udyM6V^C+95k&}hVl1WgVA&jT*GOiH(?fn= zJbx#LhB;is7^)OY1y7WlKr4kx&VK#`8ofu%b=lvGKEhsrKB43lNaYAMm7^{d4&j^u zGt$-@-+(G-kF3ei0(Hfhz{#m>Srpt&63~fZEc8>o&4j<;WPCKNN@<0YvQ$E?ftV2& zwO8d;p{(-6O9(k;Xw{mSGZk~yTOzd_&n~56S{0^UL!8UgEE{r-{HUajHvv0e&c}l1 zFo|d6L{7oMI^)M82d0yH0Y^5xBp)}>L}x-tte?ao7{j!z77N?{)~d;KWsR@4^Ql}K z@gORts8zI$e4Iw%!}u{r$^c;=%rTZrU~e*m}Oy5Xiace zByz4fD9l^j%9@Ye_3$b)21&|;B7^kNtVM4Owd`fQF$Q1Y8k;Imbl(ztUuo0(xgf9$y3RXC$dW1yQh zDeBH4XyB~x3$OmT2L_oK3MxR;9WJ&C9-cTV71RL2$Y#7A!Xq^19XMza)EqOp7D_#! zM|G%vuGt~^AWjlhN17lK^?0~nf>6CGJj73V?V@HLg&C?DF^9Yz^_7De)y&XF9`0g5 zyR*(T99(jgBgP%IM0qYE7TTy5y|}Bp9xo^_XBv#thhRuVqBnPSr>ylsgZrR9S9`qw z6S`1+>;t2+S9%W{m`D{~VyZK}E$B7Q^`7F2V1IfCm}vC!9#HZi(Y-s6Mt#4FA9(~G z_rov13%kfjxM6cU3wuX6s2tuicD;R7C3F&WvV22o%b4ohkQxO#0ab1rro$cnQ%8T# z#qi7ft58^Rf!By$sRrCG0Fr~2yPq{N$(pFpY$qt#8->&T(QKpFdrOy7a12H5qxw=C zO`7O|zcK7>;^~#;<@|3m2UG5Q_t)+V=|jIQE&k}{2$+!G4vHf>y$~QkiH`bsMcjEU zAbN>Bh^L-uUh}sST{_nrGQGW+O@i)hs<1r}ssJ?am}9S_t4(CA^KB85-ToW#tonN* zB$2p40F41M1ip=%dHM&O$ogHbf5+^x9j(Wb5HI^*=_Cr2qqX!+@D-y0E8f`Aqy<7t zWJ0hi7m0(pHk$W&G&ktDvJe7y(O^qkGiw9Xh^4%1#)tE2j~sr5Wtz7Sy2~D{`nT1A zGqocKLo-8nyojT#k|?F%VmcbYm?@JqDzh{yb2)h6?kc?+f3+ZAzi0gbtID$2{e$nc zhA0)sU(395phugolaV*e@NYUr`|qjU!h>NVlW!OJU7Q-jcR*$W|9W_~mwrvuDc?+a z&%aaH*%Ce5(`B_M@$&?J1&^as+$N2Y9A2GHT_J#_mJ8b-(8Lm!2j zb{cu7ylWoBta-b}LCm_ZAIyY-Ue{k6@TvvY*U#~4*SoScG$zh`XDb?3FyvpkQND$e z&3776A)gA>7uoYY`9+P+XtWE>_z8l^Koe?QeHER&RID#fTI%g=47-EdUbshD8pF40 z2KAj?17INy-ZrG^-l#P}9Bn9zP-M~698+PxZ+6}Sy(kiLHTAY=R$ACR_ijrQ#>yO2 zHCzX1ktv0D?ZN!)44@a#rQsHjml_A|)AsDu0E<~)8h*i}z2tH~7UN088`WnqrGko7 z2c2;8zah!*@ra6=STTa2np-QT)>Yb4rOVr>Tdw-Qi_NTvBKQgO$G=hQF~kt+r0{La zv&|WhK9aVne^qlIe6IO~4_8fq7&B2JmsY+ZwYjHLAWpt&q&8}~qKK*-XjBD~bC%Mm zRaK;-ND#2Lhu)SQMvHnm`BI=vQ?Zb$sSHEGTPbZ@IE^4NJ6_rrkxUb13);+>{_Dka%PshUp#?ZqI=;iG>^6i>^<#d#1vQasA!me7Ofsv_dhk)=D< zL)+XB!d(NuY zFtBhp2(uz4Q@_Eqa3B!!|lCh@U(Kw`X ztgfj-9)NoWI`|Y-H_K+a+1~T#&+>WeDEJ&st-t~iVZk6rYbdN+`j7_eoPZ&%S=0vSIJIi@JnFTc^UVQO~j#~zx^XJdzqD_Y(mNlEjH&G70S=ff2-cF1U zpJ?fXLHw&5ivl**y2S)=jdnsBPH+Z>o^^v(HmbLOX*u|2L8Te?ZOOP6r$Alkn3fTa zX^>vAGPwVeu}W43_hvH4W7ZK+4_aw)aR4gjT!c~t0&|XVg`>7XyFZY!^7mSc+qb$SY( zMH5dXBvkV?9nmhuy_4V55GCm;GNj}AHNvxK;7L{#g{I(>Imx+%^MU~ zNtZw)15b}KaT_(N2r?0-$h{QF33}v?D<~->NH3>V1UuAumauG@Ie5V#vt$UVOv#W; zBGI*|U*#7>$jN9IPuofIs8D;Cqv327BRQ6eg~C6|7-!&$8d92}C}4s~dm(N+M@B?t zF0_R$GDGr@f?f%l_=_k{a^_M@;*y6@0GOmk5rMA)UW^Bb1hOzt0R<^9qBCOTiE@66DN9f&A>yz|YNP_gF9MnW3)o?nwKb3v zEPMFN2*&V)_0?$@+zdkeph)!mnJ7zF!D|GgDm_a&QGfvzRfi1e#a;I5)sj zfrJRosIZI>4w#fS8t`^2#>Rwin1wwwWGGE!kW5DOu|(7?1u}u1kYTXK;OVbzj7Nya zB<&8Ul`GcK>~`Gm4ZhI{h^ohP1x?QugUjV`NyHUXFNwo3s6`T@pv6&d#=cgVjf9n7 za=Q2ogydJ4S7M*a7RdnOb-&S0K=0Vk**#X7Qp-ooBE#>rb?O4)~-cCwIKb zI?XGCk|llRP&m+MR}M5s;qQw6>h*Lo;0F@rIu%4#vGJkh7N6DhFbu!^4{BNx--lWk zBZO)icdFHdIsPU9Zqp?S#`L1upLvcJIxHzjXhiF~A@ZrDj+proWqB>L{L~)e5>J;2 z%ge?`VEz4(!eL5!9+F1a1)1-kVaezm^4{nVoAi&>qGf*J<)-?`HQbE;=nn?Kz~k_b z{$;-lS}s{MqH1z_Jtq2+!v(?^)sx4{l*Pz3te-6o@d8RaEVD2MH?It#?l=sl31xx?>m$0!dI)yyI_Z^}+!6 zcR_!jU0V!U%ObFKg#g0t@b$i;fx}{phk!Uy!r9GfO`F!mLVQC^r`Trz6sXySN?|e3 zg^?>K5FQwW1{4vuHL_F;WJG0)CO06sS`At?XzG+iJW2O2AyWYIkW)3)*$ZxlQrOG! zB!-iirDBtjG1uIsXVT^wpp|WxpOQ_Vs9+vo^*gPcXJlo;6_Z@5*puY4%>A%v#wxlO zE@&Y7sZC3}(~}s1g&nC>^XK&TTnW36Lm3ZyLzZ%YCvI40plJ;V5#XvG7#siQ6gP}$ zn&$|GAoM9yi4+Sw-VEHC6DFmbGJ_&d(TBh-CBcm%*I8iBuuuA2cXT7Ib8&xHOGuk( z2!MNv7HA_8wZ9POm7tCSPCU$7;wz41abO9)b7F~$i1SMHr-OpvMcQE{ZmCl3e2T^| zUQl>IDed%8fae046l)#JP0g_`bF6nP>Pn&MwFBIhu|^)F8R@1t{-49}&*!T&RTDjK z!rAqxM+OD9mp^}@@86SVjRs%jWSRN-vyXI~!J@4A=s^-45#S_z#3XrGnN!7SWk{FI zEP z-y^4R&${EvppFQ1Nj~u6DH5`!c%7w)JLaxX;nf0;$ZcruG|HFsn~sS~^o013+$RR6 zYAc6}rQ(pK~e z9~S(Y2*~M%0t3bNodp$^tf&f$?skPbL={Rdt96bNj2dDt%YbKwU`%U3D(t_2Jy-ah z4bT;nWE%|G{pZ@?C<6$$1~+g&z}jKp9cI>_)QuW zCt^+DTgqt!zmn+@65Ack$Y`}Q;Z4TNjK9LKf8fI`(=n}%Xd!gf&MB?If45V9E$_ZD&6gdM+P ziRdO4OCm?HSXy&5Rw-TiFuI-L_A7rdI|tW8)Hg5GnQu(Ob(E%xMK%%`;gk=TnlQEt zmi+YW8K+OsE=fissEjhxX+&CIT4Di2c~QlsoQGR)IUgj547>_{CJGDR0Ew49xw>#{ zD{Hj{Fy*kt5B;HIDQkm+N9ISc__iFb0;k?pOXAA2W>$Ykql9Ozy?O<|;ptD+Q8el( z#_A~kEp@CJb*#neSc}y`Rme*ZJsb1duFWgWvKT*kF={qPL*ZPanYL)zb`2aiK(4C= zy$}n${bs!#1pSG%hw>^M;O;%93m+Nb9s|p^@$C$B@w@?m$I*LiqS(%#T7%K(6Pi#i zrIp8;-Hu_{SZ!#DC;oM!m9XF+${L9;zAsj69a@`s(*~?=tuJ9_5~?j@!&(yzh06jA zTDC5U9U*}Q%v|&kSEwisUG$Z$clcr5Vwwv{MV}=?yU<8#A#yUTTRrj56?HQD!0LI( zaPFK>SDbcX^_R|F(OaLp@ajD&>0HLyX6hLDv=wJ@Wr``|>1zwp*D1ZTs7e3u)UU@{ zm31nm^Bh0A75DrfMr*$R>*LMlsYNy1U0KTkV_C^>YY%)|7vGX3_#r4<6uWDQX8+){ zgVoE8)f)BE+T4BY{X4tw#|7P&mcCBuDY#!=UOtStyZGh1@XbDodG^sZWFKh_Fk0Xg zJWKpfMn}y}0k;8;g3Dmix7O2`G&t7^Kg3onG1?goc1B@yfX1&c{b}e40dzB(&Oo8~ z6b|A-$igU?JqGtY4*dm2oxKs&o9@(5*ZjF56nXlMrrt<4Mv|yE5_30;IJB{eb0u0i z-g3cq?1bUix*8$2x5HU~fOcTK^a*9Ba=+jWg(=s9-eQ>Rx<4Zo34NR+J%Vdp@~uop z2~c{~smK;Pc?*(2OaxUF6870M;o3xR0q<7YG40A`R}4CH0d*rBu>-E1X0?nxSz~Ge z0`nAkG`b1(ZlWFQFQdsP>O#y>!!U8gr)Y{OC$9n>|aqTq~O1`0;LYncm?I*KYqUr z`BfI1U}&v&@yA!*%Qg5P)4Jb+VXV$xF!>afEw29}6J=gV(vzMe39g`ffCN~9QS%6|d=}t-euZVcm#Wxkf}0y9QX7gd zwVFng?sdNh;9jkJub_#Am-5Rb?8#bG?r8uz4ZvSp2c#f-acxb0`rLr1{28fP zEaHdD+wS$WA8@^j##f_3kCWDluNZhlhP9tL1%^`pYE)|f^op8EX@V@&)9VFn2&R$- z#hp?7X&qqxh+owg?vb^%mwNxv7g1^PC45@{8Nj{NKS6&%D?IT}eHr(Mp9CF$Uh|5- ztgA2I!U0B)h*YyR0q-W1+(THYE;NX86HG=(S|R{v90s4i2?ksH855|BIg6r`(X&5_ zDl{a2S%Xd`B*(WC&>dwB0;K9TJ(0Seu_JKP{s2^9$n?vaC;nmb7rc$NWT>K$8Ycrm z(1chiro7JMi`6Rog?ujN)>fzpz zbx^ZfM^(VkKwD%v7>7fP4{c~m=(k7jtX*C@=Ms+nunPa#+6qULD_CoHxBA0D2(t19 z#VF+4fE6_5o1!`&PCkb{3F0v9^{2dDiPIgf(Ql{ZEG!Vfl#Bi_03^{VVCwPwin9^? zh2^ltR~>M;b&vf2VPYPK6R3U0-sGSANHLnw$OUMD8+M>8Om$F9-nyafOdtX`qm7mBcf8oRIpy9p<`G!&pJ zjSvzAXkPEO8$JyS1WT);Ct)F7wxu&kAiF3J)MvjgG?(EGjbxNjl%^h{l3D{~kMD~u zMB3ek$yd642Di|i6Tmt8G!@7)44g)9V1;%e+!}!4Vet&9AvKF!C~iix&|;DRvjOY& z@jwABc-c#RbUFKiT`iesIu5(!hB2P>k*6leG(%>e=~P3zS#KO!M+dd$$;M&Tg6H># z2gi+f)pyq0Gx%7wHV@vP9X7V=O{;#e`>uL;WNqxfgVg=zVdHJ9c>oFa#u1dX>BGkU z8G@~zzCWxU!GJup8hh_|8vqX~INaE8HmXOS)!5(MZM|#kZ+RBLu=Wp{)^203(S&Tx z1CQ!W7K71^p!ceWn{`Opc-z=*G|#BkTBEs-)zzTB4eR~JVY9K>+TA#`-nS0lAAm%_ z#=UDCZSHO~_Nwo4fB;l#RgbItP3x$>vAc_P(%4tcJviB~9%2KGw!WkZZ@$^(bFbS5HQ^JtfTkU%?3O$QL50Wjl(lffIX`I+Jb!W-FmmNx3L9nbRHoM zbkAn%u)2qcgS0zpy*+9+nyn@wzjbi%j%a>VJv?q~R*%Zo?!l21iylq;?~WS+d66HO;iw@Phsd{C7o?{FAq=N59}15#3nTn_ z)a7n^BOZs(|)b=b{Q7O>Y?-XK-UEH+LTV?ay6r0(fgF4*{ zFH2SiO}z)VvtMt6UWU!>!>h;^ZaH5;{sCfu2UN>zr+hvbgp-+qCcWfzd$j!4)-!ct z(1eK}QD_VigGVZstH2d!miK$^%FN1I7a9=Jj;BFc?OGC!Gh1DAW3U>-r$NI79D&IL zh}TxpmFF(H`L&gqLNTf}zlNquXLWTZD_+G?@!B_UFZ$i@rAHb?z7LQy^Jn?qYEc49 z!R(1JA0teHG?)%0R{b?uc}k~1k4$FYPnHF&@>EdBE0#$cfSB5EPXzopbr!RZA`#(` zN~HeqPZ24dOy2`6MxzIK=qYfYLZ!#}XfZDx8Rz;Q?SB>Y7#fKEAR-?FY6!ZUq}8G6LI5o{#^(&vuHVK1bs!OE(} zS*#&3y2jCC!LWc$s(3-yqjMWM2KdF?Ple*EpDC`#Sj2}8{BAj&k1R_y%k}-D!AtyY zY3u@=-b!v=f(W4Xgnn=_b-FHk2V(^m*FVm`#M2$Z9f{IF`y1z-H5HXz_719Gmeb7# zx{kK$1S=ZP6$_}3_{g7{G=g@l^j4>!t3*)qV=Hwu|35@KgK{ufk)fVIwUmj1Mbp27 zbTFEH;QhtKb8_n|#oR0RUra*6(j3>hS1W%9GcN3%?|`+EdzIQtZ^`v_LH~HxG!k7? z++0J;-zCh^&~-=_*=ebom*Y&cC@(=gO;g6zzo2GaO;fdJx%TwQ^KV1qL7mQ-5kk&% z#dm-c*Iv19M41%%t|@wHr9_KT=1+_t+OeWuH)aD%D$^(Y`2`OZMJVYKp`g zki;qG*K$9-a$Up46ngEa+^ZkgUaiccnN^;tmP5)}d$=f43rQq$5sC0=Avl%wA%JVS zH51}5>q(domj5vh;OCbHh&VGom8RGTVzii9BByf!mtI-ZdU3@fDWG%P0~`QlS9{6Q z-4z9d9rI|bBV`w%xaVR0G>RSlrHzE5bvU{RCo}7Ph+)zGvw`rR4TS$}ApBeI=ug!@cGt4$HnUfa;iz9#Jdo$n4RL(@l2jY=#C~~?)NDX zYGL@foN~g|oxDeUc2qxHz?ZMZ15%(vEr&7^PG4e)77n6-6rKuZq`SE{&<`ZzB^}>0 z;?|JJXAa|(Nf!hLFAk+ftq|eTC`j5!U7$kQFwO;^Pg6n9FstqWM@KxPD`YSQO4;cC zc=^jOHkEtF8$6NMvvSN6fg?5rq;SA@`^J6FWbh(uqxU<^n|x?Oq91%_+(qmf1R`SN zSR#s_wQL`g74l$hO#TPkrm;-e(cQfr%v3t&qC>^5cEI?dQ{aHHx&)Dy1bi%M7VxW&FhJ95( z7!UQQSFaYte=QW@zgYa&^`F+){}cc9-|?fxY{6rCN7U1f)$dvE^SkF38P#4)CtaFP zGCyQsHQDdE;vhMW1B=oJALSQ}o9vl2_ zh``FEH~NypPn7Ig_R&G>aI^Yx^Wa_8hF9Rz{vUYtg8vQAM^aqpi(oRP*V$-O>8ApoFt5CKQIh#K2sWfs9`A zgVX-)hfWr6I;LD8crcSJgg-#Opp9!CA4!N`@yJrv%5*Yr6vd3iqmxl+z(j**R&C+L2S(F!^C0SqkaRHmXSB40x$bN-*x{HH@iK`fx5iIxF#be$5B;xnd#u-+8*fvn zR$PzqMzz^GjFH!9;0xgcFD*#n0M}aPr$_rXY6KHpP#5h~VQz|MKce+xHRzHwE|M4N zN0d*|Saz96aLX}GV z87W;QG(KOA7ST)L{4rT`96$V_Y;A5g8ZYF4AOi-=#7rkX5)9Z(LJTf0nsPNlkIaIb z#y=^&6f3!=O3qcYpBqIFK-5YO2fFQUB}G3j$?%mr~U?_yfS zgMc*Q!c;+x7DOXkf*Qlwh=M3Tc}b%gq)ZS|F!;~#rW=4{cvwv5DN0Y~e(os!?i_%>Pr>}{OFBzV-?Z5}av0^b{-3Vm`OzLnJO^Xw|xu~RrIW>e2PZn?Qkmgnj!)bOpUIzml|K#VR32Q)J6p1w1hrPt~D6qpgARpt%r%#l|OBDQxymFa^d0aRj)v)qpzj~4r zJfrhGCQ_`YsEdQ?9`dU%F{LiT0Cp7Hkdm3?zBr7sSxqS@r;M;f3#hX(+MChKdP&EeVDl>$ z3rvf&WGOu@^i?2oVDE5bEjD?yP|pw2UYgzL2=G3()bqyM3xf~!b zlZjTevDO0Hs|F87!>c{)KJFTaf?9f%+~7wcW@KxiFi{LghJshTSTtnUycHA~wGsfG&K&%7aiUJiKHE@5nd0-J<629UlMwF<^2}vd0(k#+?D!paGTxiYLD7 zt)e`|WS((=0e<=OTH5DHa5I$|){_~g!~S?oMmWmxGMVEd=v^rce(XGjJds%E#V#6U z7RhvTRs22c;TWZP*zTk;y+YrkS5H-}x|uVnQ)mEuKbghA3GaAPdU?`VArM9xW=QOqEg?EPY1W+(j0@{t z``hbYdve{Z*E|V=-ozgg*=5yP*l{GIQ#zHzwntfE#g~FQtMwoa`kfrzTPMt9 zE}c{B4{yU{3&?$4Hrdhmn8a~xFi~1UKVG;?8=+#F6XQQpCZa(`P*k?#(J6nyCa*@i z)z!zgb?4>e07(pJ>othlR5P05DcwA#fEl90w31QX@&Ir;SW&3Ih@YaTCn|=fInhxj z#Qt;_FAUNU5mpqshQhF%nb&rZ=?zV8+8tU6sB`58Oc*`qO_Fgi3tbFIt3%MnmHhM zPQ2U>9x6f@A>Q~`2PMto`u;b6!JQ{zx|cO-_n)hL={rKxXfp|Iddck|M@)*q@j5i5 zU!qJC5*=(Re$`qj$<5adM?lb*QaG*0dd}E{GOnLZbJ+A2?^DTrpYn6F+V6MVq}|dB zIte~mR2qLiYIGI52Fx_5r1S0DsoJZSQ@C@=+T8R^-9f+mNy~&9(@oILOvSyLm;G?i zi-vll%h_BWIgLIr=A(86z1|`jp|#3QsaCQkqy3nxs^oX$Hq4Aj%%nOlXhQ^sZf+J# zu0j}L-N9&zcb#Ph{fu@M=fkjsyGwdKOn!CbB5HNYMn{UzuoLgk6yMo}J_bT1*7#3^ zw`7cKs3DV8*<@Gnx6qx0oJ%lrBuI2-en1A%#q~6%-l0obHn8`SeQZF2VH5DVI(^y)`_eTY?LOm(r9uUFI3nQ~@ViUhhPQ{EA1W$`+aq|nAAfW~QvNjGs8f)u`7bkJ=QUP6&f zE|({3>7<+1nN&utdt56mm1;|yNRVuc6d8rKNjXv?QN+!zGj0mdhh6R@?n^Nj*0^5= zo!}gT&Zh>t?6}CG5kHeNBRcn*u8dd(70)GY+DZO+&rzuqUVCKxV5u}g z^60i-BpQUQi%ZV|E;{9*qa2$;tIWo%9mO1yW;ZCVG87S}WdUJ2rQOhnS*tAW5=={#%RzPg?n-1LByL_YaB5 zsIx?VO#^^ICK9zijp&8yg09Yqybo?=M{9=1HAeEH+8FjWsE)Xrs34IAwcuIF>NTBl zu_+{K&!ek(n#+~iuC2?H-jOe8eiE6@WqVR1l-aI>shE`e-4Te>G)pWm+eH8fs3q>t zxX9FMm;zGD#qAyV^VEg^LhVv99^O*-xN4bH;}FrfCKoA#W-}-pF7HUf2V_olTAtRn zA8Gc&946)@$F1pBx@)#btqM?%1T8ECp^ zEpfd`$q-lf7arS@T^iT+QwbQ|%w5*nn*N?KclpTj|7y|#euDRWY$3mBSLW;sz$>bj6lcy0hY1FaZ1 z>*x$nM7htDKKG~ni$N%<`H)rO-?u7^>NVPw-zhurNN~J(#f6_Yb7Sjepd}qNY#O5I}#v z9(`G;Cjd=AvcLSR)dVA28RLSMF|vv=1DFG!GN1#HK@SW{NHx>#*0C}9*L(J1L;6Ez z@_&I+BPsBha$_D!F_u$Ke};ER)6C*o7vW{>5S6gAS!66z_BgFji~+l|Ftvd~qK-W;X;3JFoF~~-k9E7R~ zOWy-JU(7m=R-ikandS)e@xp;=&aX?U26RVE`UKz3fY)ENKv!yp|AQ53x|v((rTy);e*ODAx4;!s*r= zmZ`p(T?#e!AS;&>B}_gb`$#!HKui=NODdLnr_gC_4zyjSL-r>925P^3y@r{zNsW+OR-}Bz#oxI%JhtqLW^?Jz{p5RlE@UBJ)^b9 zqB&F+jC7P}rLmw6O`S=s;&EUnr+RceH)RY^r6h@xt~-<@C1NuR;#A^4DP5`ri_{za zg)}gbHZ4*y65ujRC_tGf%l^15OIqCVMv&sqE2@g|S7ix98#(;^CmQJgGe6%I|C6kf zc|IwJ`!-Lk_{+d7oI>V`-Qn>ibFTZdR8#9## z0b&>qq3G*tm@3~qfA*U8$KQbb9o^1e=lKni2mRqEkbVQ-CLukAuAJExI)(UlE|-VN z3z;0ZNv2cV!mTmio`F7+r}vw%*AJj5s0mOTUWGk@yuN)qy9DA``6t%Eru{!%1AOd{ zXXv^D8ELBf$OG|r6X5T`=YaDj0KIvg=Pz-1Vn_5Z!-1CmKF#x$8LP$IdTuRuL*e58 zCdhj5;lBd%i6!aQgx5>$O}q@I{rs6R&(enV^=JSKEw)fU6SHi}Ueq+W3?_Ze3@h_u z=yYz>>L9oP1k{8XJN%em};IOS@H_8;)^H=SYMgNGbByB@peN;I@2U% z>J*Z&;;aB}(5FV5G)^UPKhIqn>YWbC2qi9F=XqLrjeEy$sMKp%8%m!a?&QdG*|z#U zk!rtDb?7A!TsYA_$_#H3t$9sciAEYXV zmDfZ1|4lf#3Wd5q`3`+Q{)77Pk1t;?zW-%?J*NM!71sZM_TB<4s_yFpouZ^c5s(-f z2}z}yp+P`Ec#%*#rArzHPyt0cq(Kx=X%GqN1_?z0r9lK~>E_N5w!Z)RzVEsB{`d1J zXU^Gm)?RDv-&%X^v$_6@|Nl4A_rU&;QU8SQIib=AlasOIAfIVyUH z_)#VQWzY}(75uj{cGN#Oy^Y=2&dL0S2(84Sx0YQEskdmMN50!5%~Gl)RphdbpNM86mlUnYg)cR`)*h3q;HCnp;V?cqj40~`ATmB>X4{ps@HEHDvT zx(f&Cr~oSb^uXTYI#MTxwI4#?AB}F>!|nTDHSWRLF-H>*l;h_LP%m;&T=yV2i9z(Z z2vY2kK;fW_Fvs!x{NJgf|EB+g^e6rAfZ_uV-2<_4as1b(fIs_xxOn(3aQ~?PFL3ex zSO5QSqyt2QLS#qE@mK*dK%J~DjU61I%tpozs825(a{=ln3LhiwiL-}0wO~k<@)J7# zCL8U6Dm|!%;ajkVY{S^v2vzupCciKoN{b_5)*qU2Fg`HP4m2XI=;gx#Mo?*UWJTXL z^&JRf_(co)hGwYH5)b4ZkK=|8GFzG-bl(h#VeJm~3LLxy^6t0w9lgi*fbZw`JL;{& zH{?9NbsT!?4)r*?<#C+-=u0`CUt0J=s4s>8Q34&!hkqi?*E)|$@})mNl12Z>!9|B6 z&~axSP)8)9jwMIVGe?yB{yk9S)Bl%A_}#MoH*`c!{bn{sx`#(xAEhHI!H>_WL|OQ{ z`j+3HxN=m_m#8dM2B^D-l?T-7+(C#N>I0>&D9?eQt&@SJxgl!9$W)YF=-wCM_}54G2L)hmZD{Fa^iL=Nxx)fRs3T^b z{xKEswT)vsAn*J{gzs&-FCA4q_>>ru15gOd5Ov_K(*cKnpZ%DCC|Vsiiz1+|qs=$P z&K;w(BdPi3iHVb?rS3Q6{joO(VRApVdaw!VYgJ#0AKd?`hOgsuoK)4sE~^P1ljj=~ z_TSTezt=0jA66s<4-xD4`s5#0HQ!D--%e{s6BP8T_WD<5w{M7XIL#eb`-LjMnDYK1 z{y%8V*g;nxsg@2|;h#|Thh-1G@Adc6!2Csz9yNnf8>sD7-}mI;_StV##;^3nw;TOX z4x=L_fz%MFU+0``4-RSh!is;E4^*-51Os*BM|t=UsT<^9Bp5_akN?bkdRXFH(jIuF zjx9eXP9~_Kv8Clvz>x^kd8S{gArwh|>M;lwFAEemP z=(v;mj*j;1DEb_W#X((PRltv4K9t)}c5VPmEv zo;#}NPkj7cS=87bmOU!@&0wEHeFoI_pBnPN8Q|}ssDrM7tL}lq`=TvTzfkAF93e+@ zV+W5fEgb}jo11+1^oTLOOVtcRQeIf{2mq{2ljx%hWfVVjz~UrL$SrdH2k$!=NxTx9e&7R^%Hdd zX28FY=?}R0$9^4Vq5YZtzgvAc?DenLR~WvI&_QglE)v}Q*y5MW-@>7v06A(tH24;m zA6IwI)WOMsnS))FgAK~WXs>T?FT`~AKmZJW+o@k6%YU{TWI_idAOP&Fk^TFE+C!bU}PB89?C-_Qc;jQYUp z_dJh^CpUJ{M=gCFTwm0`p|5(-h^(rohk zDAZBk^w(7TVPZQRd8XrXOlOe>AyOF4n61u!bu0X1l>OaMe4+Ur7grsljU;{m@+X$-f@H>Y2u@lFljBMv8IsQ`YPcRf&@JIU$b?bLF z**`$Ae}TeZHH4#$g|W3Rat1TjxB5+HD}8&5g9ChziX8sdMJ?X{-Dn(!`=N6FPFvZ2 zpOqaI{`8x?sHA$3OYkd+zee2%9_}_d%zV#Wp`~*_tjm*5 zfzBQEYM!(Q%T0%07Z9P|G{#xq)8D;Qm)N+u%Ws&3SZ=8*X zCBOIo|NZ*U0b%~__5VM`|8nyE82`)7dEvr;*MI&u(x2mh4_C$ix%gjBsG7aLwSzed zc<5VxjS~1rg9IGEDSZ?g{2vSwI1rbw3;bqKiv#xl-lKH1)_;)q--szVh#)vNrjBkN z=)>bh`aeYtA1PGiQ(dGwF)?@XJcuH;(l@t03?e>ItbYz9K5pmRNZMc2d;O@|>p$1} zj|J8q2Spr(${pyRZ=Dm)=0=WYsNgS72HM|xDvo|1$3h(ZKD6Zx^if~P`qq*0Qz+P1 zPn8LB(q=z45WjUretp1x_~M5^?r{7M-JUSiPMt$%>A`-T10O2WS68L5fjyF@f8d*6 z_#+P8C$#pcF97_?Ks=<-w{K316v1yPL(Ba;81~gYL+fZ``=<#D*)ut7!Jm8hW2Qf1 z1>`hy_}1pux+rRX1FTU$e~YZYl-K_~Z_~M(K~a?)pzK4~a75^XyZQzWHkM9~#=l(! z`9)t*bLXGB^m}Uj9BcSZwMfKtNQJ{sXrcCm9<#~sM(NKqS3Zc+{SOQdvS;5cNF8?4 z!3k+g9(3?;M~C5GDTDG5Als$+vE(^xbIV_vecu)TmLU#nI5xO`s_zHu>!;^`TqFBc zzkiP-4|4o#%<)@m?-xP0zjHi(?`AxPt|-ka@m-9@VUq_dkEkU&-DBJaW%@p3hlvg9 zE_ieYDk6GFIyR`_SMfvL{YDsnTDbZlNEP+${~EXaH~nYQ-{b!S{rm60|G&fk+eIfb-H2bv`@$DM& z-&zzXm*Fprg&&yA=*L$7U?lvSkpG0O@Jsx8h&vt4euFwukH6_Tl4bN!$0YpT()l$k z`fbxl8_V3p+}P-Enm=e9^`9>4oThVDj^_VF^S{7czt~9hL#`ikeA!}jFqS9&rw|$H z75^PT_HXF_zn}mAGy8x3F#mIL@^Ssw|M!2C{y((;=RiXKhbHascLg11`tRBHad|KvW;dEq?YkKcc}!1Z7I?|&r) zDqoVpJwc8VXIwd1$;$u$2!Q&BiH`iU;__w-`G?F=O2bjr#>CNC-`*G?W@KYv43)Fe zH#NSDI`Yo0#aI{sR8f(W6jO6~KkJE+LMc_cZ?hKJZ@-`@E`CD9QLq$VzBy#m&0fe({y2&$OUfDb8Zm8u#0_9&T3Ko#N&&_br&o5{qZtQYs9R5fD_bG^w~P4kyzDLo0F8{icd_?_Zb>}~37 z3vBjDG(4zD0%hvZj9f)Su~NKa$|q(B6?YdjMi@051D0(@^t;PT^g`#du7w zHL$OjHzUuxv5!5mnY7E|}v4tNPnm8Y*Y0$9*W6y zUx(iJk}SQo{o{hpjm3bH&N2Q^J|?S%W=rdS zzCAuG+Uh0?CcL`k;2~aYHUX^6*k&5u#E2(>B7KSkmX*DrYq-{@ z{hF^*n{=F>o4f%gXtI;E#+!Bo*K@Vqt=24(zn%}EHIjMwIC)=N4|`kyEcKv28bAwi zhU}#KH1UOWw~=%fwfXCzUEfQLir3I=U`M|LK7LnMYknrd=Uo~`-af5ruxg0GcAoEgUyiSL{*r3HIOpN`MIuKpCU1#cV{aF&`z=9u zdz{`=B}HJ_=&KLLMYcqQ1OWhCT}yLYZR`P{AAuGvum27F?lJfy&`A-i6WtrPrf)=w zh)VL|F9GWZ+Xe7yhICANxoZ&K;SmMXDT4gbAL7WYX`sN>faR0^1@=@NvrTU53n7-9 z&RJRN2U@pKg=R#hC)Z?RHSfWOHk~#z9UwO694U@)&{;Yk5-Q=yu2ZTbg%tc**y7l5 zV_02&@~FV`QGVyf(e++hUsBwrJaHk$2jQfcH0l5!dtLA(sRW31J79e8`nGI6Xfav% zp-sZI?#M>E?R#CLG`v?MLb8}xpLw=$S#BCye%{R*XlPy6M z!uk^SAp+k)hDK>7$DQBf1)USjmcKpBWKIl<;a(Cldf49R)Z2<&@hFW2WCOzZ1u zXan*Ew`#~_nYm~Y$}u#slL=rMNPzM+14#rQK9I>O0%ws)F4laX1dS#fIv=#RK1oAc zlOFJa-ZzAeKSGNO98$O>ukQ7-^<(VD=+jc9LXAzVRowBIdK04I8X2|U)QYW5vXeOI zE*hfX4J+!n6!MtjuRsT}E zH>S4uPvCda+Y`8ev3QcMf~>J6Z0A8X1cvNFDe`If6#k|b6JxL3#ae|}(r@N{@O$e? z(e$yF$@xB1@S?&@2429uJM;J;XVVM%D({Dw*Vq4S?w2)v+E$W=jp5J@&c2+e=A_UH<4AWH)PM5u&0X!vsRa zE4di->9@JEk1~u)q7!>f<5qbbCh2%=fZP}q0R!QFuUrQLo2gydmYNc(i*`%Z9jgGI zMM+d2>;)pxF~l+$pNy|f5CdI(goF4=3F~V@UxEoZX`zb)L$5Gz4BigGT%0B0rbYD4 zT%7HEn4TuvmIQ!3Pp2ff&oqh`@OncIP|}tNUi`S>EXT*Xa5HM#7X!!Zb`;a$Jnf<-YbE2(&W-ALlyBE6MT1LA?d0-{($QWZ41JmKTQd4o^%wQ zi=A?5ZE2=-yuYonDQu5@TAZ3n+|?!XwpZAzeX+BC6OGGFWP~G*Lds30WA`vQwd^Gk zQ8giYcXqW$Hn%fRZ;S)W0yrgccm3#9Fz<1|1GK9}^zl2{ZAG=4{2RSOqH^n6FZA6I zXMXhLsoDc06U^ty%aS6w&!6qm)w#)w<|M>V2{bDS=bac|9}0ZjL@njIPZhb&b zZYAxaY@;_Hys)7TdMvlR^+I(3lr1T#S7FzHji^wEF0K)6Cvg(Ud3ePh#k$ z#=@$1sBhp+zuGhIzlqQUct+nOKigN&;^DKqhgC&6$9pCPg)57y79~X{-=}!TDMD^O z2*HWhgB35G3xe5Fr&D*zaZ;x%=Q*6REs8~l|~eQZu#j?i*3GDgf8;hWGn{%UaR zsn8o>*NFk(%{r_N{mFCvGcQ)3(1AQumwKuP!2`Ctsi4(fF%U!*Ek115GF6sru@ED* zyTFfwV0aV>kohkUM-T*TJ*NRp8BcF#fkxrFg`@;k4T$XWd+b+hdIsN}gTPVh%Uo%c zad)zANyeVoyGpsu6wX&VuOF1FpW@vM<8oWKO22Irqz!-K#92|v1BMm#3NnmsixJLR zI9>VNb8;`;n)s=^P<9w#p1RXnLn5Y+#n1>q=e@(;XuTsMc!?j&GuK^cOJ|wH=pzT* z>+|JEAt9Cb75xw+hbKC9@q4`ioWsOEn>vk;^yn!F^)^iK=!1=Y82G z*%SahdF=k~ZrypW#OSLFI8HAltcl$nv}{15cD?19tX!nwuW# zh_^78JASZL6x9ObKO>Pf-&>jt(9+!`c=6FYY;A#_f6qyyA$S#do#E8wb11M&AAKh< z8Dm8R!#CA^U{b`s3C8I-qs!IGyW8S4LkcBl6dBobXOG9laN00zlhvZH{tH%e=}qX0 zGLbUyf;7Y|jL?TTxB*CALR2yNqUA;2SWY7I+&g1*t~k%6lc7yq!!cIgUZgJA9j6K7 z0l<;%^=?X8xdy$3tC4rmGA-#9y7@R;;8oQ{UJmp(;SuSnEzTdr_+PG5^994VC}d~1 zW%A^!A@-u=OV_OlM{E-8fha_!?q(G+7O$`PeCF;L-w9RH^7TtNdvk8Y8+WxYNKmu- zIdTqknvyM=f)rE2)Hr zovEbvm)t3AH{VY2ubpjPS$mMTDR(18+AwY*t$oic#@9?8rXz#zcs4)=A{!)2kpDzb z2C}&QG6GMDYb5y%w&(~(t;whZBMZGR=JuB97Ph-T0B9yp#n-U|CSv3f-Rye%=3?Gz zvRMs{9|{+~7OWM*p=#(v&g`J1w2DD&r58N;^ZK*f;~ZQb{q6TXHuOm&jLn2|FG(9h zV{jp|gwVT@X5!+-{-KDjEjt5{_>5`{JKXVJdP^CPjc?D?YOns%e1HBTak9*C{5i?f zbf8=8N)JkUlhD-fUYa6~h6mJNgs8paxGpVbLxl(uNd~OGG*%Y6?GTJe(cCinh{*|z z&%Xbr?f&b#UH1wk&xwwKTc(Ue=)1I_()}r#`}LpEUO&Di^1f=SAhVi&;=>hDUkTxD z0EYo=zhL?TPQ&8%8{xi@am1K_>w)pG6} zW@FcGHwL1Fl9$`}95E!dK=gw^TYx*QGvGQjW7SE|{_P1%?{Q6yok88SiQrb2~i1X9kkLt3hT&GIomO%*JvTb-UQVei0WjHx&+DSOl zIWn1iDm3CwL8{?{tCBva!jg6I?4|UWVmz2+BSLsq@PU&71c_7`A+5l5WqNy{@X zd>dsk6zGBDT%96;?N7JZX$8#OT(#IH8%q)Ir5C5l9xkFa8*2$tun=n?($_HG%7np` z8ECzInfzHUiS@3scn7eKMr_lcc69~>jtN|z2Q27kT3mbS;)5V0qgnT31wXI7v#Xhl zl9oC49d|d9tW@`eQED=^{5-=mYdasA`gZ%1^~b`R6pb&n5gWM|R#M5G-X#4bNnre`xbS8UAi% zxrxq41)vDxz0P4K|7cfAc`-#{TUJjQiVN6hwgE?7W6}sNCcU5LWnGl*XOWRscNvMW zJ!^fEI&m7imy$@*yMke5B;`4~RBL;mPczSw=OLP5#$OWT1SJ&7sHx@3${MOF0hHYL^=c+qBZbLB^( z=K&B6$dj2(TU}A{k%_DCgXTpr$8eRIoGRX*iYMLZS7e@} zyxk+0;`C0nRj^3oG6q(FJ%$Sy{P^10<|gW1qLHV=ARnIx7lis{+ys^T7U^$zZ-}$) zzDiD6)ly|KOT2b}dBv1QXdj@!`MNPf?!tL<|23*8ST(h5=H@dmf2mX=&Z%}WcxLaZ z(e`U2!yz0oPL$&js?3q;a9pj#=6oHj^>TluH^dj|%~k}A*sxTLq@wEs0wILg_o4J7 z{MN(X%EXzEBzK~t3SZSfzJ)T_=!e$rPq5k`qB2c2&1B3;Nz0biEw?+aaN5qatJfys zL3x;nLAG8*01Vm7V;FRgoN2r@VyrIWg!@EvTnXP*vo+=E|y;xm2g>^HW=oJ3q7C`W|B0+yEv{D|# zS0k4P0+*h*vndqhMZ&F{ZDAKi97bTLFsT{aGm=1v_@96-e~jN^myf5vdf{x)Ikl6i{gC$2+plZI-9Bx6k_OM32}RDY5kf! zTwO<$RrjQFYs1Na&cu4k5%6xP1EvfifgGK5^W>SmV4`{P9ja$z0gPwOEt}FA!AMbH z6TZHWqrtd$8VbELy!tu%PTzX(O#a;VaP?vZtG>cX(y9K$^J7ZUbO}3+%YHW<+g?S? zY*;kK5n#3_!)L@5|C3*UA&{7pC*=qtfqOyE7J8G_~CE{Q|wiy9wRt!qJwhanz{~X zy13!jH5`ZDWOo@{1lUIi#Zrb) z*r(*vTU1kZ5~P~>0}8{Iu^2cp(IEuO6{_PQZ?;@tQ}z56!`R4KWO%0W#@tOEHqGi` zy}(B;@@6BIt3^o;Hy@GUC9Nv;>?l!kSoCFi)6NaMc9<>0uudp=Bv_5_zFBii9?!Ue zv(=JS3uGviEeT9Eo!n+*eX5UJ?kYvGNbUYXEX#8}K7V?mvuPf-e=GZJe2r(MSt?ty zTWu&EI4V;%A~k3DO<|#$8aHmvf{0uA1v>FMhvL}RDNl(h=nC4CEN})c(IsPlnu3px z%5bjK*+^C??>cZTyexdR&c+%RiuGpgWZhd=G>R&V8E)W=$SMz+S?P;+=kRufsIK~r zwrlG}#^LTQsm|Y4<;4f6Zr+4*i+R&`l+sY8Gbh*k-z@lxyyi_^^>B@eYcL}BimaT7 zlqMkZrTQqNS5j<9{Klqod|yuPV4O<%XYX*cl-G|q2$)K#~ScGOt^P4-b0o^1|Ara_l6RG@zWg2K8ihGOT3(5>?f+! z*B$c#I*}@7xw*%ezv@3+`zE@gt4w1!=`BRBo1bU|ZB4oyEGY>+hehyQKmdy%EM_a0 zYk(3igRQanS!oQ>mJ{x!8&rEzdZFTsA^xBZs0_>YEfntaZg`w(1cC^enS|&?5(fG> zg%}w0o^zlyPf3Qw0YaNUZ`qG5yz}1z7VJ3?sIS7mc*CN}CyC3#Es2aTSSTUI9H#C}FEIY%R8go5^oj%TFe{xyY;!h!z zW53{|PALU?0Jz*p9x8~nh`6rC3nRSGG;QJFnFcn?51{DY!{2SYXoRmpIv*OTCq9kVQ~GTZa2anBnC*76sT6GTX$l2gH)jicjb@g6Yxiz0DHLoF<;v7J+TbY8gW`qu3AEv}7 z%xgjf;%*;(S0L*3yqGG>2SaKPV=kgqz(dPZK~dN1MP;+m0^hzr1uL6+jYGmix=7Ic@6NX1?2_O zE#^}f@=2%)(wvECa;LB5GE~Q7*KE_VD8Y&701`Peh=&IB_JMfGXPqU+AH8Tm<##CLO!-BoS{D2|uYUi_#rc{7{H%DWF|v-R3pbR3Pvc1wzrYoeLTQoS%Twu^*lG`*rVb4=oAez%~M63zPXDY=eOj zja|Z-XR6Iw>7kZE<)@)yGic3#>Y(_3cyZ;^_8NNVXNOd=-VdF`)$F{)`&&Xm`C(hU z(;ig2rU_VvL&BD2pQLewi&}7$N4)l06)GM|iE@%lNJuq11d_K=C(6Sw@!$z2<1F^@ zJ=IfrGgjfs)7Ph?4C`8T#7` zIebFH3K@)hP(QEkDZG~5_|~@}a-aupjInr8(pd`ekmg|?J4F_|yf^)!Z4XLZ>C&mR z5?ir7`pSpys_w0LHw(|0_rZWcP=CAdCVKrzeb4favWZrY&7^pEKQKcv<4J-+6d#FU z#PT92d!YbCn|7BLaPj?L8}4psth#cqdlfn7tlGk?_%cpYizOZeA#J^##q?) zsY{hRbexPCaCwI1pdB3JwYZo*3)n5TM!61p3=*!X`q0Ke5FJLAN?H(wLf#x&Ejvd2 zDN5=XXuV>&JOgj9;~>!flV^k8)m&Fy+5pb_>u|arl`$B?cExvlM3`lD0InKVkDVe7 zWH!gxq-CYPQ%)RGFyuD3p1*fDx$(nCk@RHUHVkLA`ey`r6+>HCG8mF?L%1A8pUn-u z0;az!^Kk`9@`+qmleoS~T0nL(*#&1}P$=x0z4CRA8|j6_89K{oE7VTB^P5xt%H(IH zik}J*+}RL0cjbIrkh~4UT1CsE_@-_hn}^eF@^nKnY@Y&V0~UFxBzcJ?l{bqaK$V)P)j?)nW9iVSbFBALzqYI&#SZMjHY=FOm9`DsGKp~ao+S%l9% z#TdCZd%{jSo;<>Fw`3l`GAt%j3LYyK$gZw#gupIT6A`#5zM;5p!)cr3HdT51#Z*(p zxOl?q42+Z37KaWvp6Xc%lMnU`SDx!jZRw4_vT`f%ZZ%V&55Zm}mnLQ*-_ zy!LI1Zq3qmo5k)eP>=T~RgJx+(}t6Z&r6EDa^DFMRFC<}5anUnVQhGHlWGw}-3N9$ z6l^I@>=iaxJ3!0>#_=*2N+FKb0UBt*m|Z zqV7x}nh0#WCPzBu08C(#vs2vT_|l5@T{Xp%Dp1YHK$Cug0TRM7*Qd0KYrd)8w8K@H zBWbznIMuw6o!xB$S4C0U$ts2S!(9vFoH9O~%K62e+u@ZCNMK|x^~rdGDeJ|Bj!R(H z`TD_JHy~BTQbZS%bXcN34G zlVQWzuA3Ow^YeDF@ClC1Ij3}~6k$=IpAvm!_{~y(+la~!vTIsZXCFfgtQS0XLzBH^m+%k{M2m9oI0PDzzLZgc*KXZJe2mne|>?j>Xt zujdSbVZdEcE*}}#D&fHHofy4gO4iU%H_$h+1n&mOZl|N8w+7i^JXDy`?G8v2vU-b-eD@O;9H#y zq}a)Lse(m$|FuiYm3@+D6i*{=iE*10`Hb>k_AG^b=-#^xw24ekmi~};NwkQ=&0S;X zrqC%)j~PAOK(7dt_PFMvUNu~}1bRogHoVC((Bi*#ZJB}eksSISJ*Qg-c4+hs68HJ!kjED7FpPj4NWJ9QH0TfU zt-^HiY@!`au?oAJQV*+%@PQEH>F?h-$0~mkiG*@$O+RmAvtGvPb=}*Ofi3H5>`lk$ z*}ergujPl(p2=oxkSCIm@V$ST9!SXkm=&lDa)!UBhdycN)*OkO!y`!YodlEi;d{Dd zno~E7<_cq&>UtA@gsqyZ+v@cz4mH+9fxQ}8$T>7EUi&Eo+W~b7K0cJasdk4V5Z{RT ztoao07`=+Q_qc{ot*pXG>0s?7rb`rxiYk{1YW6=}*4kg{x9w$33TevOOAxpb*ZH1l zPz-WCR7_8jp=f$TkM6<(hH3d-q#X4VAwHIa$F$6*Z(z{lcs)c{eqUVrn7YX~BH1Tq zaFLJAeXi8xDnOCzbWKq|F=oCPtWFk=PNrTEM6ej%mS?cn)8~dup36#V2fwDLK-<1w z>%`R}mM~Wv*|22pEz#>rUwj5m2w>=D_Yl+-ecYL;{2i)l_cyH;sa6KhcYG&m&&1 zwJYw+y1Y&~y*H(mu#$>jr}r>svgCe?K`D6v))tvGfqj-ECwEuWD1*hW@xv59tIoo3 z2K8&N3LQ#GX>ad|5xJP(Y(TV{&wa*{Dsl4BR!TlKDf(0relcBD=jDlHlQ~4@owSgg z2EUjp40oFfVl5_jJNF0O=0t%Ztajm~*PR$IuNsqsAFo_+Qo^TLf4=hhArUQ_(PZG} z>}B_JSe?4>pLuGDlJJ;!nN|ht(S_9BQS!iPAQW|Sy0U{=P9}z@S9YR62PTrweRjz> zF<+*VjfHp2wHrR{;agNiKYLMfA^A-gEX*-)$wOWJEH)xsJtn61#0EB+xApwM;#}^? zT1-N)2+mGB=6+B@M7EAIJd{K`mjOVdW%-897irBmYm)o212LaL-WblA6$t@WH9$lq z;FVqXjMX}UdEdLXJvRFRm2}amyxgJ|LIex$sx;`rFxpONPfN2HAFG4Lr|gsJY4|JE}q9qW?lm~=>caW0QK}hOwgH@o;J06cy981oCMtKq3PSRL>QKho9%mN7y53`h>0S$jpb!p&#+fz@a|ly zdg6DX;1m`ZQVt-n`Ar4@7aMS?Cgc+y;TwN+?Jz@R%~6X=E0<~Ny<8m3-%U$5wg8?C21W!$Y#jIbeV1xkr>X9@)$Ww zV@&g!=;=Kz2NOtw==~UcK9+#Ry9cgkcU#?fnH)0dH6z5odsi3q3Uh^wilR@Ji^3*w z-eo?{3XPK;V|F6mkO*8y4{=z1KkTLMMyfJp(7&8z1j%QNZsgKEBSH^=yU1se(a|`?h7DI++ddUfsiCE;Ox<$f1Tov(;sC zR!y=6!Cm7$-`o#+tC*SMcL@)uyjKrB;? ze*?S-ulCb?_XKIirEBxs?Oi0@P?czkfNe0&yS>%y^Im89u(4Q)Be(Oar%>trJV29O z;K{u=sVwr^cw-tMk0y&^Aw*-L4t-^#;4)+pubk7o1E=r0{l?Rdns>c}h+Ca5Ch?58 zabAn~aRJQNt-&YOr+iN!EN00*D8vAz@SSNQaaLj+Um6?hJPz8FvM7z=^0O`$u_0}? zp8+~S7_QIX2V;%q|HagzrUrq_(cK~*x1lqVt{STr9ax`#KDH;%A!TRVb#da%^0?I< zAvmoS=RGKpm$46`gs*VMkR{~)CH_F{I(bm-HBztb?V?gJ#p>=%KvZ@P+AUKY;cX>8 z{dc9ghV%$+7RR^Pax0Vt5hocmbLzqOA*luv&&M(N`<$mv4h8{M>@Qbi*6fIrEo;PT zcfIQLS}&NeMsgtG%>9KDxeI*`_0V1*Ca%m6y(f61ASZ2#-bX^wfV)PdGWJ1rg zN7GlvRtAT_28Dr1*`Pv)fpI3Q=cl1qa=ExF>8sUST=p~ou7&tX@-vA{(8sHfHD5n7 zBh*>x*1cZ`q275P1C$1FZ@!ogBhrFQ>yjubkVp%14`f$oW1I??r^pAVWBX`G74DH2 z3)Mh-UVyWP&Y~Pj=SI`az1myf)#AVG`dt5f46uhgs`e<=Gr(zcc3xwW0_a-%9H;KHT3pIe7aPJ^i`hEehRd^HfG3JK}X#3~*ClaNYh(VbQdnT+MV} zduF48e|~3~)ASP&+kT%6=L>ys!QkMD4P&1xqUMe0p?eI9Q{Zja=SMMC>h9GVgI9e>eBpEN^l7fGoCB6~sc*@WK z=TU{bZI^k*Sl0e76-lxi%N@hTU}Ey5#iF! z`gx42uD8v`8>zjpoh#OiNnh;i8%@f3P&!#=&Bo^Nz>Yk z+Lez3=wB;ooP2Jt_WD5=piMdyAQ>XcDb$XJJ>#N$VMG-JekRHII>*cLp_1f9czE{-9ogt&xibfv(M)Y&dZD}nKNCpFw4OkQH7w4AzgaHcW z48;T`lAqp@y_N>P%mjREfrF3prp&YUpXBm^O+$u*gn%xm24)p=o0 z7UDI^lC|A>TJNNjMF6#;*mw>dhe=u%(5{BDl_*q;3c;ua5+~kd%)9Y0Ihn>-9?&0p z&E9t9))d1U`;-B3CGJ-AZ4S=4D{$RjIxN7jf64SV7J%ubq%&LLYD2!tOPCQ>()ymW z;p(%hnx3e2x`;MkGafp&EULVFOzr2ln_k?wWSrcwx2J-Hz2<)V&vX_!W(V(`M*_)y zFKer=mRHlgd5i?n+JFm^;8s4bseW!N3$eUp;p1{=3A6Q?ni8 zMbE2%gS!rk8?c!8epfu;qs{03ow^2_Q+e)>kTO|f&&8^{UMb|aK799WjLywnRw{T7 ze!l9X;wM7TvseHuuyBYFKqVUd{P6&Gc)LAD37m3t9?;8WmT;k5sJyGXTDlB8f{&Bc z0H7cZ-f!>~faG#}C>h;8?I-AjvH!`<76;L`V3XTR$ptv~9MStgS;!{#)V;yTjEbd( zsrccL^Lzt16&kmr+nE<_KpT9Z4UwuCm9|ry>B!ExO+bFE-J9X3|EUWu*hjvhLb zYqK+>V26Rp4emWZt~0hB^*{(3z9CrxmVECy{Q(>I1_tK@|8w2}G`%3a*zv_~D8TwO zV3-7LF-mYK406L4I?Y5}rmtw|P|p)A)0=QGDm{si7EC8s>VHXS-W=GvmJX?V-!<;ZcCwOnzjU+=a zr5K2D)~9f2ohz6Cns~&ZT4U5D>pXn4@Ib>?Yp&zQOv>gwhfA3Aa(~)bfK@+ zt>MUDqM5uXTDk8NqT|cty@qY1L7h4w*Ny0T%WcXun7RB$4m4H*W}&XgdMw;*Iy5B= zyrdj*@yx8CG=(!fU;-K_RK40N8w#-T#49OnkPrQY%?N00hB`_Ep1j)kF>wiO-s7xZ zGhZEoOKe~5P(hQf?~+ij;=Ki{- zYoP-}=VaCNn6tq~SX0HzBS?C_?$}D`^V!mfA1p zdIfEBRGn-Xk*^OC5D-VBK27YjR_t`@sxUW&kdr2v)bR=WRKE%Bd_Vk1uPCR$) zU$m~$06Z+U^c4I#KT&SIcu-KNtY^!t7mZd~1OW5AM@?6?S&XlK15IB9huX(vUHe6l zqqFl!&0l9Yg?WQ#c|!=y8a3Qm994rYSnSjbNa98@w1MEO4jb-359m82?Kc5GU@Vw=|3`oz} zg#nOYOZ$FY-TFMlQ;aj&^hG6yNj3QOB@hA0yM;E~l$kw+n{Nd$XEX1$X32M8h4<}0 z3J)HtJSV(dl=it99G`D7Nx)5p%T7TOdZNb6pf*X`7Z$^yhSa7+wLA$s!BLZHLeKJ5 zgco%eni{G1NVSHjXM3N}rz8#lY2^W*`+!J6Tzl474B_pdgdT`1{qr0Avv^!g1WQ_= z07JS@Q}8C0raQ@8eESPSCW;Mh>qI6i*tCF4xG-9DD9#FH+dMy5t3Ubj>5}d{EkUnY zUOgVdXc&#~!&F&2ozD%narw0Oys|qI_PX`3%ov;z*j-3TrJpYMl8v{i0Yb)jbaXt5L}?M8WYolOX!k=PONQ6Ng0kw3m&xt3J6ywU2}McNI#zh z$(;3)lU4Z3C36i(fP;qYGFFVCMrqBSMe9_VjBTfoZb;2Gb@avgG+DT>C;2D5P>9;| z>x!3^-q1y`LZ7sUkwkTEy`qPg#PIRw;W)xpKS6=rlhMy%<|g}e?<{9Ouj{MqMX#M( z+MdA!>EjDzAxf{L>4n|%x0~4E)>Af=D$Qth9`$eZ~(40rCb%4w; zO@Jrw^*T$hEssZvL_o--tuE?k2*9d6Y&1bTdQ{Wsn0-1lXjxMCVYz3N+^1<=EO#&A z;3z=*5rm+N%Sv^tVjC+_4oJxvJ4H3Menunqfxh8{`| zMFTKitNJ_-;DDp!{XZOAWmpv7+nxQaG3r!a$iK&l^%#JTH9Hz$a%(>D zPOWuNvOD)g8P^W3FzyS8V;5MaP1%U9V^jN7mC0GjEBubfOz_ z!{`pIg5NsYsFLwKXrqa9nu?nDRoTr~5Fx+OiIHdB%Hj2!mZA6c9myj=QWa$_yPQWUfsJfn(&LA-XJ?*7#utJtl9vfSdn_=0qf)fxnO)XypY1b0I%=4}V(6IOR*Tk`ab)k%d$LQG4zOMk$WCOeJ7#^s}BV zSHj@LNvO5xIAHt_jx7LTNRQYDjw!1AP~|2SZ;5s-5~2H^9j%|k_%N!fPl98NU@tB6 zA3Y*WBOAzl+DHn0@toW8mV4n8_7IE;>Ax)Ti%XHgX+L1;$+**5Qu&)lV^`C@8R`O~ z@>@OfNosJ0p6H)YC8{VIHMsFR>i3cqhSJaGKx)#oK{yp9=JM-&8=}b_h_CkC#lxmI zB)!k^@Iy5?Y6*dw&%6N$k){VV-HVwKpF$YK1AA=*#xHmwXKyKQ9TyRFga<*5V_X!< z!dX29wFStx^kiwXpJI2xGVN;UsgE~H=q=%E@hZ|7jQmQL4kdD$3rA=#WlDV$6?|QJ zl;~x)v+s20{qG3`{qX=drQInvKL+_%fi*JjbAftGG>bON}(kQapVNaaeY%;4G0g}xSTjh=36l#R85 zSIGV$U79zU_`XFXaW;H8RqaN19mbO|Qmw!EUsb#O-dZ*LtwnDC;U}W)^?RVSdDnYP zW0#tksnE5J7JT1*{RrbW8I8I|Y53KDhJxHkb_v;1I`r-#h}0dXk1|v|m%t$5@tz+( zD4DS`sYfN&L$Vx1=}~8_;aq zd;<%UQU~b)Rs!slrO<31^bb(T=HC#8sy^9MRn_e%3siUW*B?cN236QgO0{df-+1pA zlq)gm5zY=&>B%iaabLnFmKLIhI?zAD;`cJy60qv|UFyg`XPu`jQ2fvjgk+q_A1sI) zAz2=_3aXQjv=lv;-z~a4pB4XFzeYIhI&D4}rkeMe3BdyNF6=p?$ip|u$1j38uDX;u z$`4^CpNII(^uJYAz_O=FYIhlf9m9hmnKss+^;{DZqE5KFeDfZG1+PPfW)Asv7v36F zBL2$OZ!nklY=)NpCG@w}h&N62w+`VlyP5~JE{e`k4Xb$}n+DX9c~Fs)R;Z0t8^xX7 z6WO9)jbW($c|3Q|N$wH5gA3mgmk?HFk1W>2c(d1mxO&I0KT+ag#@1vUAnLTo^kpGm zN&f_FT)trNDcc&mu{SkQ^8Z1A-lf8RXdCEjdd%y&;K!kB?EZkr7v@hGU^uF=SaPfZ zAq;w~@e~2U}I`IR2D-(%3T_>YL{s9lh?<%b6pI)>qcqMO`YeUM6t|FXYXo#fJ!I z*hdA~GHH0DRU#+)jkjn+pl@Hog!9PU&&12MnVyzIX2Xc4~98&r# zIi^34L+4l7p{rOJoP+(A(c*>JYeR=4U3&BY2}ns#NEXy!7P zcpRtz(SS6wR}Mx#^8bFeK3((qdZxZh_U)vNs_^I`k_M~!`+qh`bcUIg{qaH`Bc2(? zpqxf7>30pUxyFlUJGK?_#AWjOcGLU~$UB z4VonkfF&W@9gVkHwVSPv{c4hFTfKL5MJ+0jP7y*F@V~!TAE{Ox`Re9q8yrqe%0etV(@pzj78S?{u@s$}=WtN2saJb;the-~xLlzy*yH_ld^3jgV(^=$_ZgDGQEi(^mKSH3yjI(f(2k%-s!N4kdaSy+OQbP2jFn9$LDB9~yO^ zFfBsls_Si;*8+I|Y0Rq>0^3j`J#8$y&phQG`P*Z{lG{0(gsqdJGg4><%{)l`%-+BY znJ4d%QW7}e4pRzr@0bT2^x%Em;H5E;ez@%hJ7Do2@~=Fgj~2j%rEgDu)9jz^ox44N z?%~CUR&4rx*M=ReQpKw=tX5lx1j&*@c^nCQg~#Pfc!J+%1j^zmPBFiLT}(o5JeU{j zjB}@R>*|WX<)R4Cf0A@Q3@rXRvP_O7xhU`KFue)F!@4-Uf0Tr@R^zQJHJF@>#2|Yq ziCpGD>f8OTJiol7)46A|JLalz9eUZ*=wwzHL_f%GzJQDnes__7a{FF>IK2p08u ztf5JRa7PBatG&N4NADZkO{Ft_cDL^p`DE1-;z$KyXQqW4-o?A87d$%B;F)LIuc2nv zzxxduQtyc<83<@BxAs5z70O~7rQs!U5%xZVpMq}c4z|ek8TND5R%x^oq3vCq>T``p zQw@`N0okJ?i07=0K!QjCS%~NJhZ!uAU1c;XIS#dI)mqOUwuc=(E{Y z#u1x<`4`z(0p2fhvFu}G{WD+nQhXNhb&@;=<86W&JOJK6i&v;^r?69CA{qQ`*B;lS z%0Pt{`V!Ar!TUXYzyN=b(dzYQ`y_J8rneKW1OLJIHdMa9^d87G<8vBn(^IV-SF%n znPb^T;}`0_z0upk1J06=-dgjkIgqvknH$V`F#v;ZNb{ZG^~)qZD~%~_PCCu-p2eAt zedEpexjb?}8mHp$kq=Ll(`?utgkmQShFtJ&h=B(;9LPV(OSNe;v^u|l<9^L9egTDf z*-y#YnIRI067ds4GY^yWuSTJ`CB2LW|)XD?@cZ7fy!; z29nBaF=LR0`e5)JNHhCcH#3s8)WEY9WYkou(LZ^II@4qdrxxsBub}WG<;B^Gq~^c5+p+xR{vZZiyDGtfCMNz#kY;U#TcmCh zK3*UqqZN^GwiufsZ#r1vYtU=$`4Bw3aHOEyx(dblF5)z)Z`|CFC$DkciO6)$Qg`z0 z8t6xLIKw2v2S_~Lsk;p*xxr@c2LjDIbZ>&C>D*I!d}@XqC-TQWscjws3|xxjUhl|_%kSgVNl7eNbgr5GgOjv>Z!W6u$q}MT(SBx zWGT0~$^mFtI@VqNnG^|Bm-{88kn06FSK<1|O~Og#se=*Qfi?~dbW_8})rvU)yU-=+ zQil4=J}QdDAlhfok)Nb6@hx}G7M=ry`E%%I+I^3{VS|0$mlQZzoP9@W!TY(xETb(| zj6nn|_g}|n(i`d^-Mt-l8aDg>{uq`RT()`Um%&`f&5G{HHy*$ELE0o#Uof2<>w zqW+iQyON5WOL0frJuj=lScwZGYeXW0GxuHUz^fXcefoC8?oRR%~*F|iBft}QxOZlLmPe^iZiuNUKP{#)x{^uUszfb8*n=($*B=wG1rY)tg=H5TI z{AFi(4O;>4mFPBdL&;Jz7GWoTFG6=KB!@w6odXda-WT!EPFm zt-vx{uguiG!;^u<*fXbZ)AEH}tlv`?_|hFf;Vv)M7P9l^K*BvFj*7u*z&1(1D&=vB zxbZ=sIKeqf8v?IS=Bmv%c5A5!w6b%H4fuU{9=PReAHuzNcwYK-83vI*jR%k$V$#(~ z2n31fS&^PsvS_+uF8PGmF;ECT)Zm&bl6w2zD=SguL5Rl!1?f&(RwlMThesq~9-; zbpu4EPFhq89YO@ta znE@JzhbG0gXRn{doMPG$0%n_CHsXt~Skr_%Lux3Oaz$AXR0rkqgz=Z(V>bFje*)Ek zOaN~=?l_B=rForN|9l>&Tt*v6sLSwOR(ytPSR;M!lHdk=bS1!^AdMoUiho=w(u4h+ z@OCP!!KT$%-|M7x?cv@G;pnu%09Fq&TyfG$hB{vzaMBHJQBm4ZwY!J``6D{|OHM42 z98!;Jg{cI;HU&c%3od)uHcy{S-nLYc^Vn~G!lTBs0@=D4boUJzNX|DLeHk)oj})tn zdpLtI6nn8oM$p1jx=I%Q6Z&xspMz8IWjFIM#dG8e>hvx*Ts!Zz;kt&pvXXMSnh_jc zx5S}kiXz{%^2js)mNWM()KX&B4xVn)b^*#tvd~jG zIfIGpKq;?ZA-CN3p~Jg*h2rc(s;F$$UeE|g|Ej?s1~Y57v9n}Ywx0HPD#3TfJn~bKzbi&)FoiMT z>TSs_I|LVNc98p>lQrRc@n1DK<6N+<7cvvd=>i*n4i4#w6M1gl35xkG?4v0~>0cyo zT5`MS4~x7$du9PeYwWAetNX1&&i+B#Mh`m5{x0Hc4v|@gr`ibgrm`zUgm&V^cO#q_{X%lv`@aee&@_G@i}H&CEspr?HMnIA zxJCuL478c%>33huOi;Dgi%Y!xwVIoHf8hWsPj#MLKD2YCKk*WZ`WvFkblXXcHNu`S z;$vwu2l@GF%dd0yFvvRq$O?+y%&dFBKH5yV1viF40q~g56$XI6yE3OzPy&~YjAKuQ zk6?oxzb0D^KE_4*dYbQk5ksbazq-uxJ3p+sx-iqqdqL_EESmziXS4f4`#2TaE{uAJUx{4{PiN zFFU2;{Zt(`+c<^-95(ZhKd%^%`|kzVx-kV${5Mrok9m}08+Ls8D#G)EoblCcyM9(g z0{ergqQ=c_3g=?Q8HKmBcHE@z?8*A+^|J~R9R53cD+a#Vku0ZJqQ{8rAw-Lf0e%iA zn>F8()hyogIe%$P*)4r-hTo8^OX7n$_8xrg7@s?!+)fHAw!{nj^Pe*1VTR!hSIaoyCi1^wz9pnz2YA3=)hsFw10nsa&{8N6A z3-556Z)Xj3IJta;gpL<*%ROg5$-Xi+XU@~_?2VjNa5bpxrq}84df!?p>c@bhhwbi8 z9(6IuIiN!0Xhd(&zJ|XW;9Pv9o?{JSW+0tUpV!!xM3@|c!Q|$B~@Ge_~ z@aZoqil=^q<)5SrXDIW*j=E-Mb26a612U|U-{qnfeax3+>05Vl)8=kCci5`rUKl8E z^xIzu8_K2B!yi%6xw4a8$?m?D5-zrQZqPwcvtSw|+Ot|0x^7ym8ZRUPLN$G32gbPP zf-d-V7xv}_YrJSNejAK}2WY8PpNQ8*BdLW4$wkyTl-Jd)gwBDU8eZ^|laA6AGE@@& zm8SGPH`9wz^tI5>e@~LbLgTk~&Vfb-1j~OC>}09qS-JJhITjn!ZT)nFQ)M<4J*0>)z#6zm#1y1<4zl2H>OwlZJ-P+8WXJ~~^)kcO2%*OUzyEqp{ z%ZyYcQG#+_)yuIDXDkg>0oJ4z@%)<4D3OKF<$2|;*5v&JzLr_6t=VBxMO#9%O zqjID|pLnT;@88i#Ftj>T8vT%dQxYq|=d*Gdcy9LYmV?g7SH9X$Gp(wPU(`>*Xhx+Y zP9h!3L)cQ3vSX}7vMNGjbW%dkl=eaROLs70RG(Y({ZD*mi)-3DGg8JEbZ_@uc%=KU zUI2mC&F)6;Iat9W$A%B6eMD%xd2A=*h3usoCh!85*r=?b2w4m;G01*?Yl_tH(powt z#~$ws77`6NHgN$jW7@Qc&IZyB1wVY`jU!I$F-i0*{G$fP&zrM}l`yzbQ%oc*Naczb z$~HF8yN~4VS17qjPq7JqDtCp$!r}sUc6wbmfbT{|2Oq=Rhv%aOaMs0@A02 zB5(FS#$DVEWN)Ni44PZE$7JgyC<5A^z^HPKOrs?3EDF zZ?s(a@&S{#^(bp;baO(xV}{TqC7W$hsNKc)L2~#=>J zi{8AteoOD@tRU%R?2B7ZD~`2Xb6(FD&Vd}v2~pwuWJt)=m?!LYwZSvn8Xa!RNh=x; z_Xj^i>~K!REfXVu&%aiCkykI6IAJ=Vm=Vf}NnXIA` zzr{{kc`4dolI=5_EREt{3<1JRP66%#B6s|A{IRUcm7n-ao?_lqry4q$nRd7YDsLC*0HS*ZMOC_zl_1+1 zzQ*YIdRbihE`*MdW-3zO{?U)A)ua;KbI2_74{tio#P|+B4h+=36ECwyez!dY8(HJh zzhPg&8V_ofNjV_#cNfG!3~TaVM_fLPbmD;PQ6xQ+L>PlaMsmd`YoX4EaBgUQk$swJ z+QAk=BpRr&AXA`3hW(=b~(RZh>-PKj5B75fHrS|(VW*}{mk*z4kEvq zhyS~?o@DST_g}x~K-RbMbl`niuSSTH3+M`3v06&|<#?&%S-HcKsd!$!lR&lKf(=%0 z*HN4q>;ft(6y?cQLpRDy{JUAGWnKZ;FHv z40z14JuHF20?nL9QlXeDTHA(RAFQ7%X&dObr*+@OwdMNFiGnAmdQF&L;dp z6CEW%-=;WoK9VI9hO;UG(Cn`%%;sOE4~o;=cz5DjSQ?-Z@)Bi7vUJ@&4=J&kT2i=% zOIxT$J`FtDu)smx`cjb~JWP|F1`hslYEa~qoOXs7xrW%>xb+?MH3_wv%c84rUErCS zK1*OjQssklaG0+0z6Qr&{D>+i*k&`G zVnYQ;dlit9B6o=>=q?eFFsTQp@u9d@zXuK&!no=2hGkX@rZIrq#XAG>-{IzgZDj;- zSIN*6-n_@9xWl@`gUPn;>KGb$At457y(f}12U4%uOJ5~Zvm~t0gW6x+&F~Z|pPXP$b@N+aAk@+$`Ah@r!H0*N#5!0YTpM`LmSg=~B9`?t4~|XWF64;86Pf z_uw6cs(L9cAX$Jh<#_K66eYL3)W%x!t8CV(-Cr*N+9}emHH*Jkb0qm{kQ(@dWc|av zL8#_FhZMRBOodFN;q9SE5?x>QS|U^23TC9-hqBW?9udZWxc|7rM1uXP{f+-PSvBFE zK(=Rld~^il5a@&}np!*W-DQ$-A%~Y$=-gZ$MLRAaz8_^p@Dj=z(VUht8TN*5v624V zZ|PaGN_WDRhLfi}>JWp>XK)Y^9pF@i+WeIzsDxJc9dzA2w4~mFZ#jyuGjX`K;bAdt z#bWUzp4)@}+NlX|ZA8d&-Cf-8v2nq259Hcz?0}>EZ(Eq`5lz@O-l|w6b2P!`fG&9Y z_s_0T5!==co9TK^fLm~_n(nUMNSiL}_H$r+atEIj-jl0gmbg#gS@vo?0% z(CQH{3t92O>V8>Q$KuV;dnc;lt9jqYn1|n`B6Z10vefSoxVvkB31g5mLWvEKlSfMx zUZ#;4j@U%UYxG{-vs^ybu`yCHYyd-hK!)GBD?>o1Ea@iV;zHUHPoggkt?T{{-k)yw zgHd_)QqmiPYj%{#6uskVze|de62w2vl`ntmH;$gSAM;tda-J#vAkMNu3o5LU*}j@p z^KF1Mdl-wd{$e)MpilGN9&?%MVhR7d-h%TA_RqCFIgU(vqeZm4Vs~nXY@zAp?o%En zGGh_3=U`y*`%QglV<7n_O-WUyr%Xe2rNrCsMt%(I<_Jdd0YYnACB}5sl@j$V{Q~~9 zMAu>YBDV$K@xCgn!>cgu8g8&ZwZ0T-2>z7gc|DT2yF=+q`PE54!-2z5{`kN(ENQeiVZ?%M**#h!P7ZCi^JkYx}BL& zUA~_2LD}9j&l(f=fL~uej*`KxgXk|ria-V_AT{wOrajO%mF8Kuc_JiK{ zT^aTbkVPcW+uv{CtvKAR+IB7`gRRQt7!zrknbUBEiH1N!{Ce*OIwU?%*Urcg1Eh6e zebUZwl~dVk3r1LL?#n`LU=se)w%&TNSLi%&a^`09Ce+CO-KskQwH%*w?3WcasdhCu ztxC1V`&1ytkRD+E)sEnFmH%{Ic<>N~BipX?6lfzYE^qynvG6&bPQW!fmi4z>zWRn; z#h>chnpIiW(!aGAGoRanBzO0Nyz+4LMV;?w$InXXny)==FPX9=7r)cSeK(ED`zn?q zFUs)k8+C>4fp)Mbi9^^*MY2j=2i{F`sBtmE23Lb$9f>b*wD@4$#f)KuZ26D_!$TTS zW-gvtI7RMU(;O`3W8e)YKK*L9_~U#k+5DAF1Id7M0b9=N`+&E%2yap3Q;prZP+z$t z6Phrd_&x53utx*;pCesi)y}{>Mkv0|rAIs$5{5m^`ACx5g3GIvKl8^m(-$nW#T#o9 zB#T(x+-i&*biL3T$;wR(WeI~i4_s5UAj!_`!|0jRsNCEaFq(3=GR9b(3q3KC9YFi( zw<2&cVk9MvM;%jjKK!mNoGv|2XVu`(ck|{z?WxG8p0EQ`eDZQ@*-dSh2C7TQ{ch~i z`CTp=CdU6MISRN1G>_N(^sRp89`J9xw{*41Nq9OP?EP0p(t^;G68&uJxM@rI${!G&uwFBR&{&T>OAQypmw+wd(DnYZ4uH~Cah z?)!Y#w|@ZFQLGoVS_9X&n>{@Lj=YQ6y7WO~&qgl!!B+|s$cE}@V>__X&ulu5Y5n%V zaSfdP8t#0zs~vHdJe>`?Bb^TpTK}HE`^zIw_SHZx^*v63b2Rj2Io_NZqng`cKlg!*dZnskTq;a%vwpO~l2VE$ygge=>WH zvQ9fiU*n#y^C5HWa}uY0YpH>p!y)lmQx{7DFT}|!n$Yg}9quo(Z;ImqdUR&Z%$aBs z(%KMgIQlPsLdbxph!$zF;7h;Ggn0MWZMPodRXD>%TL1pW-zc`tNnA)nuu!5|=2I+5 zSDA*%Hsgv%W0aLPZJp8Gp1iqvH=>@FT#c(%9uMB@J&zQVEcYBG;zXq!L#sn-WuNnb zDs3p0j`=`8y}`yWilO+fV>qbb{)vsn^z{?1Lc155W*68uttL)|(QUc>^k*~7yLqie z1u_!x425DSCgF67@*xqN_b5)+^3IqzUkd0pHuH+#oEgd-b?mdvT6id8J2`^}3Hz9b z?_YmIqhAuM^VSSpXOB=Rduq~Z)?YmzmXf0OKe%>mySI}0w8BJS2lze_HK=8gn5C4j z=)9CJh;5x$0|a1nT<*#4AAWn{ag+Wl+iJ!<#~CGL3vXnWdIN*jYi|}(I2c)a`m_T6 zxc5=SaQb{a{h;Nad;bqL>P&q>=#CqgWE{PjBvx;T1#yxBYJSbP(Ll0l6h$YTK&hyQ`xKa_+j#j!s%_To5lW6IX)e4T&S(g)WBf!3)FkbFYb;utc)qSuhv+s>l++&0!j zRr#YOhG?0e_YI#+E*+k41-CFDaIN_6+DHWGt%C)3t+E4QrW1R6R)sjdfJ_eXl;ZAi|L&5(*(5>JA|w*1U!%}n*m&D; z)jw%=-ImHBUNk{S2wD&#HfU;u{8$Znx-7#_g#1-2hGri2JZBAIdeJW{sPEM~p1D$f z#U%Clf$?OR{86tWouR*gTG)O1eA>`7JEaYsh~U4(XO(%!1;_yFU|GVA_Alq%f>ETa zoma)u6MEo_$B6zjA$MQj0?oB4{2++XrBe_p{LrFpqeo4@SW|$iKu1!JFE;{=$RBZK-Tl zo8bxjY^DxFz$;Su6GJ0vbl$eK*kRvKlfS*{_mIVa=3_%|(qa2kwR`oXJ#X`Z*1lmr zD^bLg%qH?ziQrcmXabRu!1yXu_laj&+Dseyx$&iWa`*FI&xGwH!trh9RDj+KUNiO@ zgFKs7UAvR}=YaU_x$N3QCdAsttIG>7?5U5VP<9JLtC_O2?S<0O{MQG9VWiz};I-1` z%$mniF19m{2ch2+n&S4y&(zWWG%Y)vC|@?VYgP5oz?Zd_As)*zfb%O#WQJdSipfUg zn_Qfz=i)h?)OEy89y=#=oR_?u%nLphCCiTiev1oyR~P>+H|9vh^AdwZE=>95GTP3g z&NL7`x94IWnb;R^HV=C=Xp!{%%4i>x5r!xGbY)^&zVmF&r!XM3z*G6>Ak(HCr zw>(iJK3~LRZ`S&1->W89#ky9pAP_Ry`_qXtFKp04sE`j3lT1melhXUpuvY$YwP&%E z?2<#>=LcP!$RJx$7s=eaCxNMgpNiDLGiMJpI=tN{JeUu2_d7@3Omh1U&lV2_H1=lV zG;FvTobR%3Bb?b;HD8DPoAki8338HIwS2r--%=TFA`K(lbyIdAhgeg69jOc239e)7 zx54ph+p5?`eFRXEpo+DXlGkow_wivBH*Ip!NBIs{w1FN-Y4kbxQ$57E$01P~_2flW zASWu_(D}!Poz8Q(;?Nk}>wiGy`hjEHj;g+Ur29JFN|P`TLpywDU2puE6~R^}PL;YC zkZaRoRU*vL`eg^GcL8|H0pBUqP6hemxqL|4E3^z;Fw_hlJ>up0PWcIS=7t_jiTQRd z7=#`Ptcn6|q|+UC5xKW4?tI3{eLeCG7O=CqGjhvDQSW$%ANx7~$tF3I%GZNJ zRo%)?czks+k7ga4@a!*@=X|1H`CF}%#l_aOf`jyue~pdgbuw)!sSf;*bkW?~AQNO(bV6Ek`cEam(7<$|)c z^R}cX*T)#Cl0=iG!cNH2*You7G}LLbGU@?dBeMB7GhwY5)rq28>v*Ns0e0Dx8u9cp zk&LQzHjWnzG-srY@ybVXbkuJov4qJLh=AeXp6##($TODrQ3a&2#bS@W?u=WfoYsFB zz(4C<`*H54JOP~24`%e)4i3oc6fGjlhzw=HcXfV04Pt0qhI|N1)yxL=@r^jDV>;)_ z*n9RPR##3ifs^(O zOx@#i|4W8l{Z^ue9B4+fJ3&?3gA_I>DJ$sIkl*ly;lBsf=4NIcLpnuV=!e>?w1Ztb z^0*h4zCJolp}(`G1?$)4;gWR_s|~xIaty*{p_J&T2asze9=^+=-&oq0xkXg#Q=hczr^?O zSDSL<2Co?8<*wvhYh;~l=snJbKDgR<8ohOhHGwJLfeK%xgI=Np@aMdz&(!eNPhJAc>kIkN?Z@BFe*%NKpIs$E%f4}4IK2CXqB0yl z)iYG00CvX5;RIX1QpM84A%8``y%Jes^SJI^#%NNnFMU)ik+gf-=fGUZ&l3cKKL5A0 zoJH)rqhxBA32AI=qN0HZrfV;j&~4$UbGq1}MQS4Icm2$(vXIVKhoaB|YxVMyel4Q8 z2b?Qzqq+UBuhP`Jdh)NdIf&|>Ux_kTIEZUd`)Gw@ZBB8%ajzjumd=T7FbtM7z~i(@ zf#G0&_w}cT3@4s&M?Ws=_HDPp3EdLM6aD`2LZfy~iTKai)e#f~qvQL^(@2>-_!*u$ zhazUm?q36?w4S<>mn59)(Jpa9W4EZ=Z2%pI(E9Hy)L)T3O(X|CtFL##so~14%WczQ z^p?Z*mq|6bZ*HM*?r$7fdzl5VxvZe9CQtHb2p$q;C}XezNH_T*5dTsR$sC-1{Pedl zxFoY#ocKdP*P>ZRQjX!YQpI+3Rd3|jV9+#Zdt51sVc4#5H%8)RK_LD;YkVa+#V7G& z(Rz)`K>G^i`OWt~doLZC?lnBErkOfpoKwE9du_U(@wH=i!u~wL7BB{QE{9AWTnr&P zWKD5W@2S_U|1-SkUls%Z=N+S{&n@UIg0N|FZ-bFw6RXN(YIy#N4dlr zO>iUsnAnc|3p(2nC7U&YqW3=xV+m0d8?dCFh*6xYIf0>sDEzTs=lyaO)hR)%X`Igx zjsGA$L{OlysK62s++Qr?FqEigkw^4on$h2~hJ<|gv?TuUku|Fe+KJ9CtitnN!8eB{ zpVh`KIV1U~D`+}E%IQFrqLAmVPu6juJw04cj*aPfsz;~vft*=4ShO_ai^_}X+<36- z)&rXa8BiiP;92$(FT+34Z~h~N(FlR@-=Rp}XR{H&NanrWMnb!8 zrx8QmII%RDwdz(4BGtENX&F|)$-giq?Yi~eP%EhILu!HhF!_dIc>QLD#w)X*Lh=5_ z!fjl|% zb=X3auU_OMHe5z_!=eWjMt}Xo^0e*Vo4QaP!p!Ci)|v;mZby&#YLE(gALXS|nxRtv z2~xI;us%oF#1*9k5(t!2s++I@6y zCY1NV?CzSoij6tQnqZT@O=Y~F&*TYR;pK7jrSKa-JtE4gkLeAvm4ywS{Z=d1NQuoyP7@b~&U@j=pb%wC<;``_oNHN1*QPLq-=MsPld&iQ}4Sia&sn;lXKOoY~RpB112<5)%|9RO?va!S^*uz9t69 zeopl|A<#sWt>S&Tm;fg{dC#JfKe)7%&2z7f&G33iKtwp0whDx1z&3YZudHhY(9M>& z-816;@K&-!264dUoS*jLYzFJgfF##l;fo5cpGie|l& z<(_=o2kBQN$j^r5Zc~|xt68j0!F}3pmNA?SP^CI&8i1`2_80S zIx$FK;&NkkOfN$NwPdbki{rMMR4H`MNdI<0u-b;C+z4o#~dqNAl~# zm1*-?u4!!eW1#SK|2cNSdBB&S!%V!|r_X^eZ&Bc%)$@9_UxXo4D!`Q)l%}?U%jO5i zV|@DdM%{48pZ_YqvGIxVQg1x@%Jl8m$N0mO zE<}=q8>+8<)5f^flo(?5dj=68`H_Px7str9-<@5Pdfg|vt)&#M9dl+@zMxDL&L{!%3 zp5c|{-Aa}VI+ZV>p|VVZ@4%t1@^6?k`OhqFal2mr6vYC~?zY^~_lmOK(}OmqBnho( z|1p5`R}J{sRW)e#^P)G36Y=P-!b;+z-d+zS+C*vVhB-r%LBhWmJ$46LaEGKa2c@`L zWkmkFTcYM&1!0izii!%FLKyU@jPC9D2J)*od6w&1apl&f0R0a_MSIc8v$vrQJP&}z%a!1{}yMBZbRo{eQfU)-C4SHX%nTH~4L*&vBYpW8>i7S*%|{q}MM zc{{1M3haux5KT5V*1sC)1Y2ml+^$V!X;sKC5Z{*5icW5b$l}eDQzqDePx@fLyUDmH zoOJ(hmFWk`?Vr3T@xQ(?A@rc+{{qzw{BJpb$O}MOouDtpCLQTocB#69=X@XAm`yFT z8HirS@$1C@0e#~ahAchau{u9*+G`woH>-tU_YlX6ZT>mob?A}=`_XJj9Qj{Oba1nj?v*8$JQbG`q`-*7@SY?nKw@0mP~fD2Qac_^KywUu_&zdm10 z>^0VW>(o3V)}PfMdu^DAkG7iFA)n6t6by4dE|Om_`k|!72}Mo?><>^Y0VQu3LF2cX zy^J8??q4tIK~!F6lorrdCkuqZs$|tEvi2GdTi$H=!l0wi$x7>yU#u=(b(XXBIJv zcO+nuCj{>;_)Da5&pzO^Kj8!CnQ7%(M6XCMyWxfpKrv}}m+(@m;iNjNT*5~d|I|d~ z!spK>t5b0Q-IT@d5=C_ZW&;5MVJ+#ib+9@=EOqT>T)09Gw6mZWm8b%L!pjC=kbYBe zv4ooOZwKabu#S4Nn&x{QzxJxI82+gX*bpBXwrVW)eCR=H+IYbovFo50O$|v)B#$-5 z88rKVksoc+X@}3k-zzNoePqQ-vI*B(+o_nDEj2(%f-^jZV`8;EMdJ9BAxP!RMS>zp zD#xqN8VTni-SM6vLf*aZKgZp$dt_=%Fc)qVfrTIuj4#MTcq+mCT9)KSyk$vJV(&-Y z{a_*DlY#U{J8ddbwl)kPN&)!@(xnM;8|#XzlQE&%0I~J+2b;kl3PHN3G)B~cssH{) zZQu=$Hv<_L-gl%2yA4PmQ$6^{joZTKw{QOQL>aPV=gf%JkUaqctmpy5jx`M;uuGw` zk&6W2t)kYY0-p#Gxl><+gxOLLeo@Q*RgX!iTRAoaFaJpGzb0lnoon!rY46I=Q~V=3 zWX?#}(MnuTXSao5-45__f1k6P1jPNYWGw`5RHXm=!IZXffD3=^k!jD%c9UKG_xR}i zo!i;|7r9q-)}BmC7W9-ErK3oFJVL#3f?g|j=mKQT6_%{!NcRa6o4gHhA2;1Z57aMN zn8F=g({C!PH%4aL7|qtaYZ*0H&<}o{yO+z)>#LO!40m@|V6=@YHbSNGh0`lJgyt&X z27#7e54PhHFY$M7Cu3d}Af9J{KIWWCMYTv?p#AG_`%Qx;G!9nheX~}*r@1;nKhltM zF1`5Y?9m`)DQcmIg2!BF@^&G*ryg2qqbZ;F?zH4xKNx4m?mZRd+WlW@sd z=MF!4N$!++9DC#0R_BKikvQqiIr)PiWIcncK4oIvwu;&{>Lp+cdINpv6p|n0#v)_5 zAR+mx1Jo-F4P|A5`=)Lfj#aMh%Nwe#PfGX!EwZx^d)c1MBEo2-a~Yf{&+I)zYOXWb z(7tCRI|o8%F@w9v_^aDcJFKPquZ6w4ga&heLfD=Ex0fibgAhL_)MUhkT?41Fm8Dam7vcygt$o{&Bi07x?0B zUnR-hGOYxXif?RGte=dPT&^yLMV1|1#krRTk8>qKm8IiiQ_Wp*5%VWu9=AH~F`h={ zmjz}(7Gd2oxlzDrM4Y+LHHhc9E#&j_J_Zos^^^Bd_^5t30|*%;tkO%!72^($ZSF)b zkno;2(QP0$$A-5_BS>}JAGFS%VOQ|Zr_n4VzkvX@LRLqashqQ*2(hA^peudq`Ag4& zK^fbHJmK`e|>Py|KVt!lz>rnG$cqp{qn!N1AoexFHR?M zT^WAt;sN-*Z|KR?X1pjl?zjrg2vUx|_huPD#l8N>5{+bUD=OcB2eD~eLn&Z4dXAFB zv;jx`wk3xAl?v3^*ZbAYIMot^*cWapk6DWXrBVP7JACx!yAOZ=E1B^V_ME@5-;8P3 z^c4LBwpd1zc_6s_U6`w)iEEqwXJ!rpCXgl4I~sMjE_4~&klT_+z430a`UQGCei2CrGO1IvvWli# za7GJ?fFLj6C9F(lxJg%O`+gpm<(~46KDR+?)3z$)r^PwjKpYwIjXjF#0yZn~Y`%yQ zQf>ASXber^VS=^1X*uL|qKWUcA1i#~JY^1g?98wJLtCK$Lzvhgx3|-f;47bxY2&}q z*=P6>m+~E`wbEnYhAbfr%8Psvb60CS73Y|+mrh(-p?9SzBLy86`=l=wzGge)EhDSr zf1}`IrdqFfPzV3Vky*Gk{XJ~>vyJW$Y3UG=E~$+MX%y-1?vmK(l$Mfi1t}Fox}_u~ zq(%rxH>0-q`+NU{b6wAQp8Gy0EN0U4r>VA;ME8N-D6(#|Hzf>*zVO8M)aFCc!18lw zwBR@D@;3qOVP&k+LFQ1>BN02}6x~}jnapzqtd1bc(G(fF%^Cx1cTA?=Sl{}?%vfcY z)-V$6=MC9w=AzYPX4BJ%bUx8oeVm4KRFR)y8SwCm?e0TApvvE83*3Lcu9OL-5x2O0 z@$2CgYBv7UDSlv|lH?8k@AJeMHg<=gl9#awt$P(&;m}7zmECxj@=(|4FKcLXhP&7a z3UNAn5*u_@(ZV2;86C&AVzx*(Xv$zx3gRqvlz?qB5c^5MBJjC4O0N5Am@4~WZQnfTCC-WK`<}vY zoYyx6Ne+6J>%;JTjv9#30#abhqH#b6-$w4MhQQN%m~VvW2kqWfDJB|%ld4i1H65V^ z|97Cr9KW$)CaW~ey)ix0A{4Vf$art+fB*aR2yH|`1iZS2Lohw>itZk1urc9fz_i#I zikt5FobrW;flm?)%ncqG@hcVvoh@?uIia5LdqAyO~tG7*7+S?+Rjl~r3 zS9VBoLlQ0aVLkt(<=~?~pRym`@wGj!0d;>>;y*_(+|CpsOPC(;zS*B8RVB&lrv_Pk zFR1@1%kd6Kqhx#TKa2Y$^fgN{YJoj6QDfI(#;4FK9249>zj(@Q4?i`NI!$r>QSeZN zx6G3Nc?0CO{GiYM@BoE9zQ4)y5#M)|1U{snc6u=UlwW!vFbxizDJN zq$C-i3?KJrep%QsPWDyvGZAnM>u~+gM*L_c>VvvSgNGs^4W#j7?KUU#i++Jg&lfsrdXowNiz5k1vf(g^02l}$cF&S4}?Tx7{ z{#H5F>C3D&DnT&8VVCwgqTeSkO}qpwk_g_>Bf#Z`Hs^c7js+Ul1M0eO=0l8W?y19k zD7W2FvIi&z2)ys-W#?}J;Plezk7O?q0z3Ubj+U@5a07^hQ3~GlM8t1Bd9e3P4Piw0 z@gk~;wwTfS`rcF;62hM32maT45A@tRUjH3XWKrom~1ss`xwQ;+kHw9u~>!vKW5H zIwLL|bbx8f;(pi8a#Y@56S_)M=i*HnN$?Oxr2*)=VO>0BVD?EK*~230Uy_y21#&$Rg4&H6Nt9kw zRh?0DKg#;;vn@iX&&4qdKZ+LmoPzw7X^XXR-Fd8dZQnjjktvSI5|_okAF5U9_^s$r z_j$JW)!&;LiY4Ycmj$0bFtIqVWn~>#^GXxq6IOowAD7p;R+cjSNw)?I7hLZ^hOhO3 z+L^Uc6lwFrg~~#}Qh}q!tfevOvl6W?+bekFC%uN7vx zp)>nc`18?~JA{gqi1g-cTV_Q+Y@sB4e7pSxO#Zv$y1Y_aEx7=%1goSoWP|S;Ymd^r+Al!p%#~V+7MIK&j6O`s>SnI~#@`=q~t7 z_?wJa(!kgV@12HKN^Qm)lKm0*ngDNN|7oJT&G)P`?I+)aG0(2iAg;r*Nuf9sw8;LY zH99ghU^Uqdb8a(B*RPcWsJwEj8yzMBXUG8LY%t?E6%eJ4VR}o-I-=JVdv+h|f)I#( z!61<8gM4wum@ud7;(5x|$&G_95UcEZpc-5Af~a;_neDq{89MbIn6v1pTw=lx1QaUq zbhl_~KZFh3>WiUjenPkv7O6q-7f3&Uq$94QEPb&Yr&w1 z%#+&&R}&4K?$OWlJm^SV^!b`#*FNApN{3eXxeLcpt%OTS6f~rl^OZZFPzivdKl+2% zV2>Xq2!Q05qT98)8=@e$16bUwr93iXHa&S!b9IA%El_lG=C?V^r`rcs8V~zbQ$Z(u zj_)eJg`4AvIMvPb8BMDQTVr|$70v|XXqa(C1zNo+Y(|F!;DJvR4G7Vnn&s3zxU^0K zYA1*!!18t(SfhowlE};V&>fAd7U(L}#GX14;wU}b~-NFt~DhedXy)89Y?>Z_%kobc)H?)qkr&G&E* zwOT1-$|gn6yvn&9teOl$YNaZVI_*(H;H_6}txp1-OP_3Af`sk}Ci`ub%9aNDn;vuW zvRS%2KjC%+h)S1JUNWhNWaH#716N<@pT3OP7z93keTy*oP5B%{uX@hXas+qn+07Pg za-;#WZlF&j&zQnUagV+eUn)Z?m#+1Fbj5cglnSC?$skoCTvc#wQW!ih+bo)#j4swY zLMGl78!IeW3tNeo0kM9-49_qx9KIlv8{$Jl)P8X+cU{IXu7QJPN}xJf{9D294;clnGo+ z0qG_ZY94u1=f*tFjT(J>Z!{QTcm&HE(pFLon?Bn5`as^c&?5xAp?>3;d1DG%eJVh( zQG}}&fhD7C@rpq6Od=r$JL~l;maLnJJ@k??6h2yN30S)gRx*W=Nnv(ktHoXTJcAHg z5jTkL>w7nBk2h4vQm((fAoY0sxS+-Vh9c9Yklh)Jx6%{Vm4vXu$8Ct}YWxpO{y7YE zcZFgYB~aQ-F=-?QeiEdGTgA0c7S&<=E8jcs7kD=RL!-OpkM>(9D z1QA6JRL2Jy*kP3?D+Kiv_7W#y`Tg&Ox978s|Hp!F@by?|V%d`q+IRfRp@bx1H_kM% zq>_thS(L-o@7s=<%`q9Z)OBFIYU)z7w*H+?Uz0<{uGFTtp zp(V?$N{PZWoI~Pj*i~ne1X=y+UUHD89~|2G2|h}>q256o;(ZuEn=qEGX$^`^I4QYTZC7hC0UJ6GAre3*k0m<;tUnjgKkWOn7gU-7e=};O8Usmq zty2wr*Oe%~e_@FaH~x~GD0}PV8Zt8DGhfiQj@!I50V|r_OYVef7700(w&kr~#}``2 zr9S>jriUJT!M9K2{7y3Kvr&v0=@Fk7@!#~z*MUWUYanM(k1y*ToPh@aE)UgP z>$?C9Jz-lwiJ0usnpQ}2R{+~xOn4%9f5pA#N#1?3AhN#51`8nI_IgcCLUwlcvE5Re zoKwD8(d!Y(?y;m+0fx>L9bIqzU~^`Jj_rET&bdvQFu7|8d12-txn#{1z76;tCB4L! zzAPtA6vndd4?mBdsxY*t1(NW0#{%>|IK4l+C)~Xo1s6M?sBA4Bk#D>t=)3Y&>VYl^ zkfl5r=yz7h{|H>ZLf;ks+!cW{=s}RVbNl%@-&X!v-d%SQkLMxcOmdFmF^HHi_YX^H z;ZO%GGLocxH;MhlF_@MFv&%GNmM4N+^%42O@N%6kb~JDGyClGGU&0Ul%qy1}#dMp6 zjmF&4l67qRUI>4b&@>;s<733^xZI608vH@$oa@y5Gi-LIy&6Bv{%+6XeDSxZ=p_Qm z-pt~C^D$BK2O+c4S4cvVzKquI-jm8XA4xQEae`IRrKCU-PB+f}rMQ}f2Go=P3bRLD z-C|5)=(DR}Muy9Uw)qi|!wBC<%?zz+{Q~ANl`poHD9$8LB_jcDxfdYu{V?vwU<$Xg zd`cl&TF}`(jeh~g+4SnBexq9YM4XrbRh43Oi@Vm4@o?ZUDl!_h_98cIgGBm$-l9{< z=13LeL2Lhi%~xjJ@1D@H!A|1&DK`0k zkf@#By9KT7qiOej9-$32G2!(gSg~CgkGXR(dxOR9&)-j(>f0BSnUyfma5fU!e31ZC z9;xmW^(DXA9~HDn@+F7-&dS$)O}|I;D`Agb8lPxxnaf?mo}YHqZhpY|}^C7FXy4m1YBZ(@%vb zUpq-D_&y)&V$8XK{V2*keViyJ1#OX^!yr%F$c!9B?V`TE1kBfz{F7OQr8Xxj?hV%# z5%-^HPeK2cS6cka$?yCwT|S$HKkGdCW_lvNW8ZLmemr!*58uVR2Tm(rl)ersyw=3- z@F3`60C?);K2*@d251O}4234?Jgi(xqi=GtKVWmqd{pP6{B&n}kP{c-CiTK-4AU5FPXps7C>p(W;+F)DZVa2>QrrbFW_tg#8+{lFE-f#g)V}iiiGWY%JehaWQ8(0%qh}W)n~yIs|p}%0G0j$m70evN}`b- zH(St`B1wY778xWz;5~CzLO?Tf$$APjjWMsc#3T&6!~8r=MM22!SZ1vjj9^kQ{fNA1 zjMJyWVpWi%>A@APp2r6W@UDOjc^CmD^o+DA@p#qq%HVE*}g}fybCl_0&^UQrbMvyO;@I#`?4p!<5P%YO+mjA)fHwCb{JhQgx4=XGtq@x#0A&=zE zFe27*+N_8IqD~8{mSxaEwUBs2v+U+xU@@Hct8AW4gc5(gr1$Q|@EzPvewbYOwlaJr zKJXr83rLE7diKbrN}l8g89P1=X>Sbi-~QyM3^IuKqXN(`Oh3km)DnV5rloX%Wu>HD zR^;&)kms}JxK~2e?`4^+b1`50Uns@Mi8fnaw5@CZIXh{f0a6;xCno3w{6>id>?=$7 zO}5`2kZZ4w#g{PSHjg*ilm=8HOR92OoLTgn0g35?6^ zBH>Sqe-+QpoEps`*zs&_A1}xu^BDQ)CW! z4bv~)@crb%-wwj?&=F8gk;H{M7zy}AmM$I+aLmV-r?;l@_IQz8e^; z?(HuRk@Osjr;*1Hvf6AKNuY|OnR_*D>5im}mh9_PNC9SX12Msm+JJ>SKNoy2<#iq8ImQ*+ZS+ zO9SA6hlhY?U0awX!vx^L>0J=syF|XFk=oi3041}3`Lz~wDAOi*{$Z&^oW2Am>dNHq#F;{E46 zJ*c``2)q{-@IG;|OyEy9twAS4%G>=r?;iNxlEqLVzv-s$h0S5e)Au+0Fe6StC!^gk-hjVNOKBazLAyqOF+X>9 z4O+rYT}=LEOoHAqU_7a+{Cvoic%vS8t3R^OY0}g5#iJ1i+JuLs)j3$ptF!T5lz6=T zr%^hKoA1r%GlRN0i}3kEAL_)nXrpfDAFhZPX*H{xg)YZ!_|X^F><6khE1#|Z5knx| zbZBWlkIC6f=r>@^*93Ex`w*VwL1C$4bFYCd@Yz-%@9@}6Vmy>V(?WuKmzs=mUlS}e z-N9qCs;_qzG#KH?)y1loW_SB64)L#)7?(_C-lE1y0waULt?JwwS#~>mI8$jnE`sih zTs9&`${v)YSIScoCbxc`_9~GoNRJmWv3j{u{03S5$hN*2!9VzW0i@f;)x0{Vugig# z*pLGlZu)NY4mbYvSWc+!UY8@G^{W})6LB5kU4bBsTjnlSbuVDa!&W~W+N=TbxnBM^ zeaXjoJa-Y>4>ui$Q{dwU8bm2>uQD$|@o<@07?3N{{lvJA`Q&7HMA2N~y}o`uM4=oa zK52SU5g+Q8@nHV&Xu0P~M6tC4Ic3$)KlBeU-Exb`Y+|==UWc3-6W&8NMJ}xvAN1IL z2&cCGJsZU6J;IQ78-(6NgEDC#Jq+(ohrPOColyqX7Xaz&o;?uY;;GTIb%pCVGHk(v3&|(z zJpnQ+ZUP~Y#-D(Y&8hFZc_}uV8HHILVO5cgOrg}3op<%_?ug3}8WE;y;govBwdTjI zv1f(h{A#+2q_v2ZRCh(1xu`YQSvM!-;v)9w9IN~)RKN5rHvJpg*$LD8ITTw4qd563 z+~9l>!D=3I*11(rYLjiWv6hb~nm=CJBJUNh%i0{czQ*IHIHa^3zl&(V zT`)~rBWlD&CShZ}(^}@8F_h?Dd9Aktn|Z~~e(KrHY`q$^j%b4Mt_<_DDOi*XmF{}* zk6>M}F_8Vy2L0|{B^o$;CBB}(e=q#Tqm`NZz6FkQlRzETD=-!L9%0XnEoxti1nIJ| zIw@3Og*hG>rSidTkMrKq<=JSCjqzrJF>dOZ)suDo? zLHuo&;DTTb@%>^`pC}l|8jxOkTfisec~mELa3|*zE}hqN{PB*wj!tp255xy9ceukf z|75UH)v65hm4+t zBmFOPY`r7$uJI7!(K|*AjS<_9fKrXu^8X9Xt|igoKcOuCB2kz~PdY_}vkhoyHG5jF zm6)Cw_=ta+x#q7k(_#3oFQcti)YyPfE?914Ex=Lgz!=iww;j|AYuLeA*7C^XBLx64 zdFHF*=U-Y@usY0lw%}z?+F;_a0N3yI%*$InCvN+%X%#84SIhyt5zI6Xne_3ZZ-Bfm zFGK2LD-S?5hXBVm0&#{&@Uu9e2y$7A)#L|-#FTX0{ zV5~KM!A~8>vZxrxJ;s>2B0hV6HSmPQ^7JhZx~da}{T=zhq~I39>JxmZ@}z$*pyTm* zz?ypyn$o`#?wDSoRw(&S%DcVan1U`NPNg7oPs?$+Oe>E(sAe{Fl>%2~f}CS`XrTUO zMt8cs5$>tYCh@x{o3b`d}mrmP=iwBNomS1?)KN+iW?r);U_s0%@ zud}=8_4wp(tyg^>>b4Nh-SP-9?D-G(U;fua2+cYW^H*N!5a`&=i&W$BwDSrrUg*y& zQpD1hFM3ft=}ho}rt^+=esYLufAC5(@M|Z%GSZt^I)f64J zGVHJPH%Dy9qZlA&5>F>IZ@dl?W3qatoPQn@usw(3mktzv61L;gc+%Z5X}pOKhKj6> zz7y>jJ;`$V^;P3P154XHyUy)>tSGJ>ZA@Ajrd>t^p(=iSUxMTN&eGeO=Kwl+MBr(i-M+4R?ubHki6xnW8}5ituD|G2Nps zYWrYNR5ZZLAG0v5o@N~4u6*4Gk_}YJL8#WOX`B{iIzu+-$Qma>OeA=WuNpmJ>Dgxb z)|Sv8c!Ps-4FPh){=H4V@jvANRO>*Qf-b!aGUD1Sah(5W%LfOK4iIVAK96s}F%U0y zNsFb)7tvBW#K|L=k2_1Tt4_#hauQqTLc`<{aa2F(!oMZ=>?f+8;{Gldj*P`V_+T!r zCLn%V?@}t79}mCRGk&i+2Ux1XC$fyJ*3)7ScjW+zSFh=Ng;G#uq zr9RA)~B^YKts~#;nvM64>Wdj=Y#0((b^^gK3kT2m6see$37@l5!@Pn zsj7FHGN=_eR#u8HuDv0vrW_LO9jo|7#)QuIJc*iRA8%-7!?*GUA%tNur}EXL=JpVYwM>5qrqw;EHVCDXEd<6a_4PbUurXkI?qDvws1 zea0L$itA~Ej%Or@{5N5bKb-?$7u;Jvk=3Ql;J3wME^yAa1Ka*e^F1%m^vM(pf6YgK z;D2rsyqf#{p3+ zy68Y`A;ik?r!_q&GhxLYe-(q0C%r6uae$o2@?RwWNdst{>=@}inOs+JJYFF9ya>*i zWo>u1BE5=!IdQean9?nPAVeX1L23xbEP4{6m{c*CBk#1-Bkv(BEMu^}h@cKLgU%d% z_Tg4lxfF};%!tG>!~0KK)e;QMt`a(LHc1(-Gr2aVQ$k2==*70{ype5d{d3oyPdIHx z3|}z`zj#*P&|cTAp%v}2&&+XFrYH_8_m(^RKHaJMC(1p%SFt8OI=b#ymVO%F;P^N)t?h{evySI2#L31?u>yZ6Dvp_^Lg6t< z@y9Wz%SW9=lqI|0GfyuG_#o<6!q1Z={!W-92-mK?W(UuivR5o_M4I6jp}%C_)Np0q z4mf$I)n!Oq@r#e{(32|t^*eu!D))m_FOaAQNR@MP4jM0ri_7E9j}%#)TW5hozH_Kk9YIvmv9{;%^5h#`F?Fklbymzc4cOH82HfyO0@ zKbN?)(#Z#;HXc-3C@p6^Qxw=_kz|JC!4vYs<@WL@$7_R0PpsL2ms1tS@N{N}`JXeS z5~kuGMC^W_MdQH!@x|yzL(+fgQmrF+*}4yOKKzx$6dZTw8g%}mEC1{6GM_E`57AX; z(#NJ5Dr8?Xb`<*ZuOAiYThjIOF?nu1zOj`m;p-&v{YeqcJy|tyySy?;x8Yqnui}6H zQ*o+5h=8(oulm$Xs1C~57|u8U7MnbvO9b7^;8=PrhKHLFU9tz}Pl65fg6zT# ze;Oilh)eh)xV68LvN8af{AIkq=@vdnZ$Hi3f3v<(1C60XBel=wTawn@n8HZ?F@05s zXNK0agjN$>#VyY=Kl3+CnZkGjOs#YHf?dBNKC}6|j`7u)_!!pc4w<&uJj+XXwakI| z5End_sJUUVbyZS&02*H7s(EZVR&Srz=tloo*=g=vymQiw7YQZ9LBeb23+DEvt#B-l z-RFU7FG{Y)>zBllqt$+n0oD?4=#Kp;wfBpd6&HgkdWLOe;;nYJJw?Fagrc*Gh!-|$ zQFhFxhTZe{C*A&WeV`F};L|(cr=M}s8?LzgGM-XM@~Prf0nVEOAD%kY7Ie$`c4^<} z`eBZ=ovICUdOkTgc#s@+Dv2o-2@)f-k9gbD+~v(1m4||ho$Bx%$WfAJlnzSwza{=c zSdbqEI9I#dF@mWA*CQ92Kd}$)O7tBT|BJ>p>|+tD()e|)BmB==2(Yi6?+K#=Vn)Gn z^uXQK0wqJ^N8uH zTIx_FWzIsNDH==YzWnwBHF%9%S}jB&d|lRC<-~m;5AH6;=_KRJ%DM zONt*U%0=Yqsr-2I(|Z)vb#YDoW%dgaJ0kGY2I5L~)qG}w566djn01%S59$py3vsTr z$m`m9lg|bUww^;mz`+^x@n({yM%0HKKa3m;A8CDSx~wkQukkBw3XE6yiZGF5IW20n0L~%o2F+w%HB@g?Y+FG2xLlm*Y z`_4zu&@Hg+h@DkE@UXAs*n;9do&XY|nyh`Bk4OHjbg7|0Yo93#)q>}YE*tIpkA4l$ z!&m0^CDMAf@7pOiiT(nHq)P9m9+a`j)BstTp+443$_Fp(VEIKfvOJt(@GV63!o0-P z55&5NHkAO7JY@1ck;u6Cl)AdO)Fn-UXAI1P{LdJ;_U+2x8bHF6#Qqn0PFMn7MYm^m z-%nPKho17^6AE&=9=k7}=Ve>o4(^v|YhZCj6Tm88=9$jkJuVqmG6La;WqlHGj?%J9 zOIM*J9?ktY@B6h)nHQIj*mv~#-fQ%T?%_iwit0W;lMpx1P*`@2e%l^uG`h@8gb>{S zO+o88HXh;M=8p{s1HB>?#I#tAYO9hwj>7Qa96!@9yUZcW@JXYw}J^RJ!f%C zBUtFZBeop;TmAV7rh*tP_Lsl6fi!}XdYOYtMr>HGQ$x5?@pr^R>rbedSc<@7%aWx{ zf;1|z;ipFXMRrk-?8$C3FSrJnQ#Y*T?t6XFLy{c>cxczf5^J_5oNk`|Z+bt0oZOg2 zH(aA%=m*7+EfP-Sl@1;DbS6ORyqg4fvX~`x7~-#o124Bg6n#F{{eJX@Z2CThhCD72 zgK*)q6&DkV^dAiO>UHGU*x~-qxu#)6H#q^7WT~a02JTouZwVQdK9-R(U{hwu)wNl8 zk7asRGGT4Kc`8pjdQi}^QCNcp6Oyiwy17cTo@6MzuPGg-`n|g&HIdE{^OXM6CsD!o zFPa}IE6v~yI)Bsi4c152C&=iO97FL=CS*y{Q9%XcQ{~Wiy*!2_q`iPZG}E#9M9HZU zHoy{=R~UKyBiKW?6UhfQ${fY_yc3=(PSXC*8B3z-5y{uRApd6B`NdgE^y$ZtdQ#Be zU|g&Y0Pnk2yu7lN6LTu5OZps)c)El-v%(~$#TDb^9QhmS?T0Jc1=)Qm`}2Jidj z!EM++#-VHPrSzW1TEWubyotSg+aef~{R0V2dw#;ErZOY{U+<|>yPvRahCXvX*<_@D zFX1r2L*2VC@H8W!V5e| zG3O5w8^CeM3Wy+d#G=mpo))wriU;c^K&`coM=s1)It4G!ej~6R4wyYZYNhDPBnsPb zxQktij=3X?${-fK-W}^N#9p72OMfl+m$SCkI5f=@A;cey*9%e#OLWzo7<2>oZYm5_`|jhka+aD7smnM`ObzB*n~y zXmsw|$*sH}TyM_gwV$VYKp94Kk?v9xc-+|iyKqXDwEqv?#sgI`BHl6+!_aWGEbRF& zRyOwAjs@>Mf&taFHrP>rqwZTps^Fsh=Y}G0YCncOMSZ5{nly_&sRS+kr0@014Jj`2 zl)TD7tEfRK?8+Ceot)1!arPYlh-#uz*$=pE@zOHSU!JEBzGe+zHH?i1L_fc9>vT}e z8Eq=;G7iP`rVoUI;oN^>cu`*}>T+cXa&B3P0f3aG7a%it-8cLqRxeeM%RL{I2um?d zM_RGxufZG{m>C#BxZa|4?3YTHw~^AJTJ5noutNiilSTAN6oTx6!IK{E#rhI6J6RIP zdShJ=GAOs-O{P{U37{ot6DTr}lYlv9Qz*lXf@~IFrP)O-i15#xx46!~D!k@3Mb(j( zwfc9Qg!#h{)dP_Q9#O3Vq~k~MG@Z>No_cl4K|2jUk)q0LqpEh4?D%=-rW?vJe)Fs- zATQ`~@8=lGlmh$w`k%T9PqKk?LGu~G-;cYlNA%_rt(JHYQlh>(P0J~m{2;U>CO2jv z4{L!w3dGDC<2LpS@kb4@s;HWu(_w|0lk(caxF!^_Qalk@2<+p-Co-zM3W#~m$nfh* zd+z#rIAX|ZP08?v8oG=XH@6TqzptsUw^JBGF{Q}*;9016g0t2db<_7+U=G)k zSq(8n2=(Nfq#QM_jLGJuCcEs1IJP{Il)(JJ^iy1GuiaI>)d^D|7H65rz}~(EzF#-t z{)~FI#8ybbT+e}Qc|w$Oxd3p1kx359iT{G@JsAIf5n0q5^DN9{uOtwqaNO62*^!wv93Z5` zK2xl$?mlJL-D3|PENjfj7I;?ao;cXyk{&tQ8J#zF#f}*y3R=3 zYK7^GYByn)%CdGy^Dl<92b7NQxH*$wyczi%f{HvIRG4p{FS*aHgBt8;pG(h;(LNix zt0cRVw=K#{2wF=6y%w3&pyZ*B`lWRBLS5Eezr%Fq8J!^oa}7?8jU-1C?LF1NLroT{ zB4S84S&qB#BAYs*;Ukz}%vi%t+JH6`TCL>7& zEtCfa>&J%&!D?$0n60tOLDEgX(k@j3vPv7U%HQrArQ@Ix0H&?|w=%l*F z@@~K8-$}5ZWtd&QG2K#Wht#)!V%C3JuYO+q_3P+IvOjinT#ikg4*lGRH#L*j{7Q?@ za4_Nj?i>(Z_L^YP^n7mXok``d$)_w)7>fkA56}?11a;Y!fpM~>m>=@bd`bHA zll^T0+ZfmeT)Nt7F^5|xJuyRpXMFE$+5z|Ft>*x+ntJ=+--)u>AxgG-uv#rC()hE8 zakql{BB$}Wow3;89&^+{ntZ{ASr-xmRb<@#wDe!D5n& zv%sdpUa~>mX+2w8kJ6{^BY}9JC+xYOb&a4{4vo&r+i$JX2)5Q`?RY~nU6Uh+$S&=N zDvLZNLxKfm=E4~R2uwmxo{qTf?^9v0JWQcI1V}$R;CvmfQ}^bD^i+nWyfATgr;0QK z^6g<*X|W3y)>k<10$Il6?K^D69+_Gx1mdcSycMa64fgPii-8CcbG<+H*JXL~-|Zor z1jr7&m??z>?QEpFuxFg-0L+I&7oAf7!lCL@s>0l@El z)%X#iC1@xjZT!`^b2St&?P_U_#h zio7X$@YJ!{=tzn~0_384L3A7}H#Wx$cxm(a-1^weFTW)=pTDpBvj*HKeUN8GnC=hhqZ_5)XTE#^2=Bte zUqNrv2oGZ*s4Xe;PVw4ZYLSQdxyqp*pdaf9_K(P~zryqG5;e6xNvJ(dRZhpf$q)Zp z-twBW7$(6SV457u-vQ6n3gb2}=ytv{;utA2ztl55$+|9)6?}^Mx)Mz7ez!I;cu?;V z@Zt9L2O(+j-nx8sHn??V8uZ++>(9Z{?;f+^F>)c-$=UyaTSo}>dJ)$E5)A7mkU?b zV`k`KAz*5_p=VD8v~Ui#8bLa--dK7~50pdG#YQ^j>Q;|=ibcQ)Q~~6?;D(RC@go3D zK(fD-Vbfk&Br0S>4L0VOPp?w?29CeeamgOiMn6ean8y$Wv|mK$z)_$Nzv)1i8{j>j z>-n#+NGI?G>!2iix5axEX6$`l3O;L!uT zxW!WuFQ80izk0jJ=V!Sh)jjQ8+#QOyG87(OhQo4;I2>;>r7p1|q%Biau_-C&MWq*X@ORJahp0GJr1@)I_SyrrPobrpFQB#dX zwPFo7v~Yy_YLIAFfu~+ctj%6FwC@mp#lY*jW*^!0=xY+pY~`3nFYWO-6;_@&ak(XX zLjS|eYxHYcLY||tbwXS$hfjR42bCqyhB`#KczXqc{eI%;zYQG2Uu7NzEN@dSZdK%G z4f`{=de%>HZGdZU;S8|7?w_4DDh{AcL@Jc#}q`%j@FO3KthtlR{K&s+~2BhfY*|h4bBw-2^;@u`6sq zeM%~XMzSsC8MuU8hm<9e*=qCMKf21d%AB4x0EQ%?j(C!5+P2kxj@Z>3=;j|Q zM6b_npMC;)&B;G9zs;3}OOdVb8NO^sRQdvJ9tQbK_Q5{6!qhi1iWssz6)`B+7{M1| z7af>D15z6@VrS?cxg#3ghaR08AkVHtv0Q%r(L=4SxP@a1;5S`XW8*K7U9*T=Jgogs z$>AK}+Z$<)%LhS4q{YXhF8NRlS&m>26JGyAhV1;Xj?CuM?g>6Fg)e520zh6I)!GgX zhd{}0Gpqd?IW4^)N*;q@|Brzf?XtVtm%y&ZHB)6@5vpjbqJtCaTM zJe?)GC#ByLSmzF=)459X1W=cb-E{0J9GzSm%X5|Y#7I0cyI9EW>M$t<9ROB_9eGvI zfDUS#<~rWROY#Nw?Ry~hUl+)Fe1FFPP7{Yv^9%{bdy@0OHO*HX^OBsPt#i=FaH zZX*>(p2+QVm;Zw2?N8mUhKjIEYHj%VPjHd;uG!BmIEpJ=U$@4)eWHZutDR+uf)jkt zgo#J@i*S=WFQiRR(Jo%I(b-vVX`b9qu5EUWtk zltPUtsk<(DTwBllqDSsfe+ygMNl4*a&Ta4c)5!4X!f&U+m#pfE9I3PeDVjHelvHLn z2@dxPAk-)gi_^QXEgC@RzpG7woIn@E@SNhS{ioUL$XSDWzjk;fj_M1KLL5B_l9T-& z(khXy##>2Xxqu>*f-|@g`3~oLaHjpO_6p>UO7E*g)$<6-{rG)I;B@a)V^3K61?YZD zZqFa$n~T*&uIuZn`iVv^8Q~J2^N2;Tq)7utKFB=hh(|%3M6ibyxN;|%HQ#lbK_+QXlm1j7ZWV0HzBJj9^cH?>i+vLs)YF7HFCa<#`l&X95j zZe*VXF``R9`*5%S3+vUr!;ya;rpk`h?J*=ev)F8C%}nV_K91xvmtfYTEmqnM{azHk zL^{-VHt-dz)TT8x5+CK3CNtMv9`0P6WT{Oz&M(O)oLjFbwf@x;fY$YuhZrQUN6dH7 znV6%+9eGX6_qLD6e<6Q$g$epUj2e8tn+0LWb@(-l>-IvL;Pg=)c-ybefKQKZ)yf_c zzmN@tOZm|!q@&Y;uXVYt21ef*Rf=AM)bJ+M=z=J*!;V)Tv0nt@i~tQn-GBB(cMn$o zier~zrOhSwyJKsxwUGJ+{0kil4kr;%R)9!GT*-8eGw_sQFLPr?zm3AmHKRwk%j3f{8P0f$QKPE=omBs_TtBXaT9`km7C3 z%Zak>_t$x zY-lNActb>309`u9uaDV2;j5=~(4uL<;Y?`Y_AGu+&I@Z+!ArL0ma!QGQ?-T@;~UaMctfdL zA$u~I@>BoeBJf@jlgcw!g4fggJJ5nxH-^JBfJ&d!X9hUlQ-iD>(M~TJ^x%&&0RxwX zIORawh7Y$V8J+4&OGTF(t7Y&kQ$gnXn8FLP`Ntdj*e*R+aW1Z8eD23bdcxy|OXuZ8 zVF=C$&*_D7X9)WUv5E$K zYl+_+WL^#vPrQC`51sPyL~=pp+-^{K)hW!yb>2n1SeDenEcuvpcnC*N5x4s=q0;Fs zK@W8IEc>CxZX#A~)&*pnbunuH7BqbMM51{wqfd^EA zESsr&=Od5dN5KzA4$_eBcBePD;$l|W;JwkT$S2Fko=1)Lvbw3oPL=KlS;(HkX>%d& zv<3&F%9pC?N4hG`3;4KL7ac`zu)Yzvn4k84)Z<=D`|n;Q1mCKTJw0#_PVV2cl8M8W z-OWx;Ypta@S=Cso0gEoUx9tVpC<97EKUSQHiFew!TEAat9`|kyZf36R#(H$%x7`0L zvfSucAuf_$qEPO_uf$bcQJGkUT|Y% z=@JgGPvDr@mLdH5KAjo*Zf~a}ENt=PnfZhWuq*!)Sb&8#sL-H7kJp3&BKkPzEKqlQ zOQmSqHOWB$d$>YESRBWBg|P$4TOV2szFTB#29-6~kzdga*C0-Lj9};cfhVBJ4@m<1 zy*4)79K?}~T5l{#XMyu_X^#D63j7F<`*}S5=(Ln|9U-p_Jc@$QtgLz2hKT3Gah^QX z)p+%87M1(TuU$tTBd@yNl0Wu$ZRvqy&8qO}7zFX!JPy>LWgU7UQBou_$!H%6KmJlY zY9V^v@_fGT#gx;cTU5ubYf6#r5Nc&Y?a$TS5HRUqow4@)|0pgCwx%C83jY>#cZak} z2`J4*C?F`QARwL6A|bJjhCeAFT?!&1DcvKaySpW%M%Q4k?^k%P`?=3KW&Wx(O^8^s z+=8>eRf-11P=~4!884d6g9dTvX3N){w((Q{re(tJPlRRXTg{$aE=f>nsDEXyw%$G2 zElxs^&rLp0DZHnPIye-fDQSkz+gjDbnz|_@wGF?0s=x~W7`ZCY9Oov*Sx8D)MJb=k zuec4X2e&P&nycy04Kb|!+e+N1(Ob4%uWUofNRlOgx*@;WpV~Pl1@zcfoY2DY+SV68 zOzztR8SoiZp+U7oUSx|jyZ7qJ7(XVZ;aPrzU;H&`)O8(l20$HF(Vbo985oLIn$cos z-{-pGqoiRBI9{E(Wx8)f6(C^}bM{|+i=L|Uktj|2)EDgtY0maF1+^pg;622&)dlrq zrNp51Km5Kq3TllxmA5pY^FWSkhaMJ5|!*xrRq|^<7a2;<;;{Qly!yKAk(RbA7Ut21I9j zz6EY=B*TAS8EgR%zWJj!Bk>Y<)6SR)8kw)1ege#F%u8Jxo)#1oe^-gBc6)Kmp4hA| z9F9_@sgnVC?zf^k^-l;Hz&#q4cuz+BY>N^MN$aYd-U zNSZYim{e&BnF>1ZCq%)eP(*LMi9>F`n<*N7nKy_>Gf_7GG? z%BIsub;ubPWcLe9_kwBsExkGUug^eGYXul1!d7O$bCgj{Mt?DlS5vg6@aRMP=Y~Ii z*jfG7i0+(R0!jkJ;qsf^oZwq=z;F{$UJOlv!1YLhLvg-p#}Bfij3nijbX`xfqOWca z-8qs8Im7$TQEp5eXFF*tnnpQ~n!QQ`wY@m5(&rf&aRyQ80DX%FtivIO>+G+`TlZ$FrEoSP zwL5oVmJQ3s2RAp~tJ&Vozo$GB3(xVOfKGBN5#A zmhr~xpL%}c+ZQjRh7Q;`jf5g@Xi^HiZ2+)q1-&?BJB5;nttgN2_t>#qJC#e`z)v*n zS})g2gFH>rSKRiiYg`! zQ4EF59Gw==7b+}u=9wOon!NjX`%r7nWH8g2x$f}xunLWHrpHWY=8yj?Th8Uez{IQU z@AU36&~y8y7Qfz|n}>yG!^|2chpn#DDWT@o*4G6=zKBOF6dgGD<$F zK=$#164calT}cgT-h1D46y}uAo_BSlrYcHc00Sm7$z#* z;%#h($ou)#pnkR$1BpfQKrCLq#UEHpm53qhSwzcz4bwb$;Bf|Kv(6i-`Vk`MO?9+3|6H733K_ zz#8QFd8>5@8fXGK`MSb!6J0n-!uZda2$n(Zg`C&^!_de5n$(8k_O>Z4Qc{UY!{fD| zjM(C9$Z~`4Hi1igfCgm5B6OQK%7eCl&q)H=TZXKoO(&)}Vm68RzakD@M>1sWr`KsX z;ysbFA!CdqH%orovhovRsa9hFu!UV>#&Y6p{ueYd%Q`&0l(N!(6O&|oUXi)Ieb9RP zwsc1*6fEyHkLULnX;Q-PsZZLR+#cfN9A0k{swRc*XA!M`(piu}Npx{ZWY2Stm$4gd z#{Hf*=ywdz53O|3JD)56qi=#umt2dsQy?%ZF`ez~N9X*$sYM)A7QT?kibZg1a|B+a zO7W~foAwjr!z4$0jdvUn_n2$;bSoK9%PoHdw5vZ8oSWo$G z&IL#Sn^%sOW6(dX@sCzs5X-TczZhB!Kd2@H@WEF6SwTA)uH~EdLKsuB7M_u)Nm*Vd zucf>T&dE%lCUIddj)AF1mwKDdVwgbjrFR`rJ;)>5eF&_l7@`Bxk$ zpM(h!${h++gf~a;%2xM=%}uy4b^AR6g;{NHvd=~BAk$3b*=C;momn&3*z{Ca!l1bL zG;n`!Ioufc_vy@S&T`0;CAUd-RU04fT=s#hsvEF9!u7Dv@%E&)q|Q1%=~5o-6x{JO zqWkv8nrzn&k@@YKuu_9qsGL{Dz@5p;R>C|*vAgBIl<@T~?4OW+A7wnq*>2R+tGjwS z+?MT%WT>_o)ZN!+U_QC`U;zm+MDZkTiGvhC^#pT*HGxKK= zmyC8^ZjOrvoSa2;bzd4HPS-GNvLH-wf81fHA}dvvpErS~Fq%MIUM9PX2GV@H?JM9N zD3rchb^GPhP+;H=N?UL_?ncj5(De$R=|jb)Qt8$Z3FOG?z8!0*XDrPzd0lL9L9UZq zIu*Lq*>C6H?N3ULwLyN5Hih4DP21aZy5qLLhirh6y}oy>WjXm3AiaRcfD}IZPsi0p ztLR90I_POk$V-+iKbKlEpr-1j6cx!lyOQ@IyX>2&y4h>0lBE&j=RwdWQ8-m8zI^&3 zM+kr&Q&_ys#C!oA@V_StZwXXXo0(a;aFtrNw!<`{q6q6etek_n#t>3d3R2AP)mV1J z8S11HRT`Lli9)4U0Z!@BGI7<>)Didd967p_roWz2n?X@G_+ph53sEdN7pkcZf4nC6 zj05me{u!C<-ym_<-$hB!!7!?!*{#K$u9z&jOGjmlV5&^eL3Lq%Hf(l%c)2V4ju{}i z2Z2-Y0$uNLFL*TYDn;QG`!|T-qk1O$^~5LJTA7F^6V_ z`AebN^Kc!jsEG=~B6^9^Zx!-=8fy8L2`z$Mt^>yNKOo-~&b-}!FE7!RUMvH9dH=1~K=_+Rc*cGo{&>>1>9`Zn~F$JpMyC?U*aD zqN-d_R6kZ`W>5u^>MJ@Z77h*ed>+r@ok#qLob~89m$l~Mp&zuEglh%JBexsuT)FdwN9^!X6rhn1Xls%eT4GhU zK{W2%)#dCTpwT(L_%b&aUmKBT&lbHzCXPg!7_Tb+7H*VfyX8^+)9#SwpslddJTErg zzYu;wPVmJIMbMsEd+>X`BS?YBin|%_YodA$)hAkVj1oEaNmFwBK@7(uFk?mAyQ|&g zyyh!!jwp@NCSrd1)yR=kqhf=Rt=cWMfS&PV4{w$>4jz%ui1Nho?qLa68-`Cye@m&((|5N;6?sr;;&m! ze(ag$5qmC8I%UdnJIF}(5@e7#!F<$Bm(4!Mb z0{aUE!FG*HVrxuz18D9MLW{H~rhim)kx__A^WFW-*Ma6$jhdyPlE?k!e~>T|W7A7& zr>2#!fiI^D9GEW9VPTv}ZfSdjwV=sjc17k(o{#&1Q6E=- zx3#{DTyC-=lDz6|{aZEcoxFMmr98c?Ot_)ez#p%nB0vl`Njcq)n?X?hAknY*@M30^ zBrw2f#3n{d3L$B2Vag&nR9x@WQ@%-;+80bcNe(OzaO9-fW3v>5QWl}TD<}ei(2Jv z{nMWDMZ^}U?_1wX>-PEoMlm4zw^6>ZzvrGP#L`L9L+N!_YwC|0tQU}!7hh8d1)g6h zmu8#wq1&HVgB7AA?gGZ#nK=3CywD~{l-iAH5IlmQw74v%ByQt%YulZ?Romk(?CXw+*e@3{ z_<#GmD|RSyg2r=hzDupTw+0(II&E)$s2sm1+j5dMXIN>0^Xj-xsWz~&oo=$YeHJ`( z^vaeny1one+vDj_Ci$wvt7cGXzHc%H9LS%r9$foU`d+T+_PBP7qEb~3)Cr!el*-95zyiHfFyTf& zhGiNeMplROt~;1;neWZo4e!bcy>**R2)s%i!hc_o6-%AbW@0+|*OTlND0XWzDJEa= z>I>f>jz|Wa0%m^U{!T&PS(0asD7Qz0Uz`4p4s;0SrJ-sBX()Rbf@4BX*q`MpfX@_7 zNVMn;y|12rHTJ~J+dv)qEScd;a}-EHTV=6_%K`*S!Mz-{;<-eByInvdLj|FIlM zz48~;rPX^%!32?Ocy?z?bJ^CMircxMAp)>YHO8>Emp|FE=8-JH)lM!lVlA24bZKTgx8xrWt*{b}tRhcc89nCuV{>_8WFFgBP zl=*fJwY=dQ=Ib)B7hhM=Wg!JPWk%{nJ+mf-Iuw6p4}*+ac)CO{jXuu<<9 z_oHI>**i|fYSipL+TPmCbt2m*?GaiDkBmAxuY(xzZ?zF>8(gtCDRS;U)|v>!iSFD) zWqvoZ95ciHx^rlYa+JE>xt}eszNsQblItYdrpDK%PZy_FlW&|GVi&^y?lO{EH>E$X z(2?xJK`YDt%|ZK2{p<_tu9q@&)qfs7^5_=YW|Lci1TQk6Ph*uYc<&tcUYAJ=0nW~E z%YK@Ep&7x{c+7#SmTZXyHn*O^(8G(>w=2Pv*377pEQzzWDGANb75D*h!vUp}KR;y?I-lOHQ-`fFy zTt+=UVEor{+UmDW-0wYCm+tl{f_*XN@0r6New?Yj$;C~5TieH#OEv7U2zTaPlW~8= zs4BgM22;yU^YDa4P4j5eY;+N<7a#g{E|#u(KRT@)%~Q~bPui!L&g0GWcCu=5m~l>@ zRW0${t=Nn9a2rU(0W5+eIZ}vm?I5`rzW8TLvbaaiQ+C5~$mpR7+IKWGcjpn#(20@$ zA3^t+ay;KyhsZq3(+k!dvHXmeo*4IOD&ieAq9NAM=5;`*X`v2F2(GRoD=M z?W~U9(sH~PqD0FK!rG77<6Ja$moBMls)dR-)qi%_VEgh?s;^>G`o$>OHin zU|xZ(%xWM$s~6l%1tktXTWuvrm;vQCF@%dh^^Xr;e?I-5o>gvxV92|mD5VBk*tHwF zv)yAun-E;qaMr@LrIN@Th6i3Q4qcRYQNA=;;Rnh$Lm7_{v+E%gsh(8DWk$iFB^2fd zcYY(XJ|ohB4F`U`3Ntr{XXOEFcZrkWl;IVM0IdXL<>PxOOwB20o9HRqGQ5ZM@%f`P z3-j?CHWuyfSQyoMhSu+NRT%p&#|2N7Aa}&%(FMnLb7mNit0}M|o~~Z8EFLiZR?4Zl zNjO-?HOLO678!{$tF_zD_{=y|2~XG&1s8vadIWv^)z*?3bVetwXN) zh!R_o&mhT2_?>Tim*CR~-5;_DLl}tu)poVTuOgD&OUK0i(Q-KADm2CF&(jo(t32Uy zIMT{fkBh7|?#y$A2L92r8_KD5NY7+L)E)+Lcv6llV0m(gdQL zbQea6^>{B%`n4$=MssOZ9C(tm1ZM=inQDhR)5YL9z8R9~skgu5%vl!*0w#?<_Rk$N zcWd1VMLWwd?eEX;VNvI?s^((1;OCIOW!Ubs(&l~d^OI|!^Yuvrao!>z{a6v_ETo@t zSi4$b@-k!0PCdEUA>O7gnyr>-{d-oVI>}y2mUo3v%s@N)XCR;|K-}KTZ_EDVyCEs; z>ZGbP{!vF@R%x2U-gO&=^VLQ^sc~zdnji!G>7NgxL$0Bu{DJYW=qMY%qAp+Ir4677 zCsHH|8Lrq&rE_D;YwYQ!-@F<#)4|ksu%*{a9ayI0s)dLag3Yutvmn}(*u>|M4vzC4 zb5ej`K06s1l*mn(Tsyy5OCS!r1--`JiAU)<`I42aOMdZOAliPxp=8(XB`9}H=}T~7 zjN~}KZ=dXqeuwc1g(X~9a_ORztU!BoF;X-u$o7v71$w_!->|kW)*w9s2AL;bmpt=W zCrXuDXVr9(UiL-G{e5WglWKc)=OVtF{k-9Jec;sx&4{h;&g_I8#Fn$Z+yk+x>%rm! zhW&pr`Pykb`!Y;i60 zT;|&Xkt(ej6sX7dNZUGAN$6cmv#Ryx^w3A<43k9!c@>$$+n@Lc1Mb@tuC20^_^AFY zZY7j(z&9b}4EXmf2eLK^gwC;fE!JbY-s*|(8%{Bc|IF?}_=A^AZ46{;HU6AlP^)t5 zR1EV`W^nhi|Niw3sApHvHaBOc8$B$MxnKScygBLJcuts{2u~$|J#hiuJcxFli{7m0 zeiPQGPCvsDUSLx!+LkxA>ebwzt_|BI<&}@3` zRSjh%`lL1ozF?nh(p7l!R3pm5*YWLg7Z8t256dT zw_j7-<)am{LT#{)k?S|Aw-4Wj`r_HXale!M!s()Ejnei+Rg!Hwv$LW=<~iT0r`n3K z$i3!|#X`ou9H%8kbACBTLl-Sy%xdQmi_W!MGZin^W=7bow4H*riw)mf@%E?~#sgGJ zoOhhLDB66&dtnh!mJn)QDk;ita-W)cuetp$kH%Y5in3+5!+^sfy9JL|0mZJbCYK%; zSHCM^zL55w_VXNOFM3__)^YMWVEwQI-=%a<$0Cm^8o8xc?tj6?*n|zlH*gXrHEHHM zUo?PmY3{deWRgJREUuCc`MXWvQehaZNor1TFJsUS5BOM=lIj|LvF%xASL583LK{Jl9SF34u(si2wKlsR^qx>_V+)(d=QS4j3@!#x{8&8s0kxt;*-xi zpNbX=kUA;euAv(CZyAm37v84rWiT&)3g&Xb7n#i@v9x@`Fr}FE>iBAs`xWus=^@RC zU)&rOu;z>sfDLUwx^MHJTO0D2va9tPy4y4|M{nuh3Ep0|eM z)OG@qweaRq_~K@A9SCbOS5D+s`{T-B^iDj8EDDjbPdcBJ1Y5LFR3eI=%6)6Ft5vJW z16P#w__Y8=Y2Rz2ewAK)YKYGdyU?1W1M+`LPV;(u{a%^|^Pv=?qb|a9?*9=(iP-Oi z3iwyon?B$?wSVgNjC5!j!IB+t@OYItevo?B?-#fZ3o|=1(WmP$96aNe&Itj1GG#Qz zm!o$;eSE&Q1uoPxzisMLQ;EJO5CjUSyTsl-+}D17GJjj_y#AcZm8F2VM3Q;d?A>Fv zfQv#768Hy$vZLE_qFjR|`%*<3Aq-ZdtZiGFBUGdQn;_vQFAjPkQoIpT4`ylmpuPWc zzTfW87DfMhqC{k<>dYDRqzpE=NuayRyC!R5Or<;R&gOG!j5CY8GP6jht^gFd(PmHA zCFyvA3>kCBjA);WMT7?C>n?=iU2U;Wl*Gix^F!aYTMtL`7#a^QTYFTmEdRbO?LIR@ zFqZ0qdhdoMeybUt0j;!`;-4R{g3zpP_<;TZw3pAGMd z@NRioamDRwtN6pvH$Q`@8F`t^$n0;K-b+_wFog^t&K9_l`8azfh2?p;CN_9OMaDe?0xxFe9ZjYhpAWh_>u#m8^J!`;YvlPjBoIJG+C!# z*i~a}NhZh^q?|6ZNq-Qg5(@67{3$bfw{l&i?A);Yn+tniw$1L%-zPtl6f&d&2fUd^ zSF5y0fO^0rFPwzzur}InmJNLxRo1abk`ugGcC$HXx+uWHiU08v8z=VCf{OB6Zst_# ztK9pesUCqogkc{Vbq8SsXCijeY9yq(C1!N0xxdtU>hWgG8L|V;AE(Osf)C2mM^q^y z_>1s1eL&?h*?E5<%8EeSULBU+hE`OE_Q4SYg_Q;BaRbWK+jtHda<6T$hVd)aJld z;FlQ)i$@Q?KFR;biDoK_u^%i`=`%Fy@2S!qdNPa+>*@dQe{DKdBDI|JV4TSOKSku{ zkzu|ee8xjft5=qd-Zy*J~tVvgZ=%Y6I%A27$vo2x72-zMY z!e|oz6LDbx+s5IskF>AQG`F~)OVIVyj*ha&$P{fb{Y=~f{fw~3k>a5RAdrWOBuIvW zEtu?seC$akvRswP0$geKK+UKR3CvX22Zys=)a$IbDxUC zI=o24I>a6=q{?{$4`XK_Bq(SBDOV0WWs*%uwxCiZQWpdKtGCSxqh*V5*H z&@u!oEoT*Y>{8NIivQuw04SLjbAS4JaGfyo3qf}ol8P@br<6o$GOcIe57=>riB4TH zcCwDBZ{VVMqcK`qjGl0F;{n=`F+vFP!h_67v6&Zy(p8>Kr$GC&zDE!K9Wpto@CH5S zx)bs0%W>hZ`2;syHMBB<^{a#483b`A9`fUJwv3A;?OM!*?~Yg?G{@m?gr( zom=yq=K{Xua>U*{uZF{a@?mB4(4Ri&H@GS5(`az%bpD$Gk`dQuKr$iN2HyI_O>F1m z&bo^4J)Cuz&H##mfRbFd9ZlaO>1cccQURl`7(G=_6LABpXqctpuB12l4V~_tzIWE^ zS+vZzVWo8g8v+%w7rAyIv{|!tGQ7-?^bhfKxuowyrd*lY=@44geypJ=TwON!y!aXXi|ai{TmCa(<~K+i z!@;qBm1yU7`dd=GzRWX)AY7U&oqb>IJImWD!#OVV`%vpv0}{}$^#GmLgr_^94;4B2 z?#&THSZenN6FYIa3eb2Z10Co-R>7S>*PKX?y#I{anixF5i6MDA!#_f7Y-c9#@j=fNhMls;8b5?;6 z1b$XrmY;g)^z)hvL#>^{lqe%Y0wbPChft{;fC-G&m}gvG&qst<**3^|B_8l+7~~O8 z-p-BP>UI&-+u|tV|4UNse5TxP(1A&BVV9Ec!@m??GM4%dxf&yE!w{B>^1t6kaXU zFt_CNHHTN@Q@k5*riXt6D~*b{kRbXN0?HjA=)!?AbvhVLPIFOAf?xjo3{GTf_T5nm zI%fbqn2Otn04FS;Nyxus83MNTL!yNT)Y@sIeS#pddsah-y>e5V2|&BWbH*7X{Dx(@ zd#PX4ZmjXqWr_9~YZnHuE`I)3#n5r;dcGjS)TcNvnq#)LWk5_Z+O4-OLa4n^kV}_4 zE#%qg=XU%PMj^R$3EtD;g?*VFXQ$f-jbW_H<7UpdPA+9Gnyz zSD3|Hc}^+maVmoF z&-HrrtlJ+_sm#IYf;V#N++qFIzEw5gBqHbuPX?zA6C<2fd8Miaqp+MIT6RM8$O7L; zcK6AmNbgx0B$GiJqgC^Xgi{l!^i^mj!|)4f&ey2y@Bl^xORgV&j$osH#e;~y`us8% zy&E{}aK!yK3wOPm$LS>%rHFj`i3cM?lgK@%lh&*}u~Cr3^U;R>`3#cVlyHj2CuIit zr!xMY1X@cUax#cT11+3tq13g6JvVTPLRn=g-*xBItjyr`+0LT*04*grN@3!mcS6-b zH2nt}MYs)_DCF$@J#<$(nkN|)5gD$=$l1<3ymsL%DO>#YW|z=i!^8E>XX3!g!8`R* zByP@^Aq3_%9CwKE>$q3J+3ooLDs3-K9CByvHDs_q=6O^wTM#(RRON_lEa?!LedBn>-!&_Yl-?jCka!4jZ9PLayZ{?khg+*bm&>4Z%Rfd(7E zeX&;3{ph6S>5vchw75lET76pJ(&K&C(;rPD^^qpX@h1!EDzL%-@H5sgv|Ov0h1ZJ- zB_=POuYir$!HIW*fcpM_GMpmyTZK{rq*Uyg!);rrUo2ZD#6b+DLQA+GIbjBfmEpGS zb0I>8sJ^H6+IoswWuu#r1+-W^CC@jcBK5YNwn~qhmB@WA>j}iMj3Csc?I zK!CYCtG#y$aSJz%`C-jYLFv9x-A&FosNpbNB=Xg~wersfGccp~MqE!@h{|T8k7OxMxI`uBfQY9gQ+>qRp6ZW8_M`ej zXVeJG@z3AA1}YWIounUKEm9qgsO&jPw%OB3mb)MylG1L`PvUW&+=!)p6WYA)H_?!N zDPSU9XK`VZScTg#6}s08HK&$@J1DejZcT%b$3?A-z#X?4<#5IQ+^vMz!7+e)XMBsI zJ@4fA^NjcJ6X%%7SC+JH#eH`CVB{UU)7)!0x@5)_7{QW94?WKIfeB&ZFN8@oKu(#2 z;bx^IgBZ_6k5P{y@_^KY5$2D-&d*=Jje8;yiS006BsS+RD#im9IH~@aW$A*@`dRTq z%cl;G=ENvF1w$eu{q`UH3#a2eev|wD7zXl61m9m&Yqmb+XF& zt^}f*g_8tZU&emQ2VmyC@e&L~c@Sb1-IHCU_6If;+h4J}RE>a6kI7~v#)ei0=M3z(WS zlR$`g-4jgfVwfTjvUsmz+Z?P9GL|&HUY(2ju6RXk7RxI%~vrR9Ir8v=;}$ShvCBOV|SLr};{gR_< zVb1^2wnVW7e^d*Co?S3>Hl1iKE{PD~4r%7G9~aIsD?Qtt&t(SI|2=YqWax_N`|ye) zjg%m*OOb%SYTOTwKb?G%$_0L+!@)a#6f284w|G8hst7f0NXpSol#O9VGQlyY3>%y4 z&^NT;e}t3&fq=K4vVT1YoV*_;-ulS(mCiTi(k^M{_1<2_F0El=Flx}lg#|G5U&!py z9Zd^c4CT$OH$>HxP&itkes?N!a;=2>YlgY|u2TMY`a2~+L+n9vK^6KjI*0xQ)ELi> ziz(+3q>lO;pa3gunIxptGpwY%Fb4s3csjX7ZHv!h=nGQYu{R$n+i8RWT9q((*N-O06&SF$?I1KWmt4swT>((w^VB}B(O|AM-e-OL}_y7icJp1FT>lca$ipN+sX8V@_bw2_tVm}JK@c2@}qs5QeO>k zTIz7I!xMe%v;)ERMFtb2=G~0UJ0;CxbUyJMf4ER+6oUB2eY!vo2N?-ZR;(g3* z5rC?=*Q%hQR(xCfBZwoiZHWfIz2L{rQh{$Ujq|A_fKO&Ebt zPNOiLglRKS=@Kexrpt3O?WqX#(uxg(6*iZ~XM_t#q&~WlmhL{O>CxBvYgJAEuJ|Y* zYyHg+g{dr-+(Ad$U79*KcE{d4Lq^88V$at+-=f4utBh(C3LQ6X=g6+WPIO-839n%C=9Jsvqrf6rOC0i(ZlR#HeoRyIL{AF4{AfHmRq`Sw^nXK%Kn@b)+VcpA7)mBvq-bDEWY2_fb~4Qd|QF_hRbKCiy`_qCS&b(sWe+ z$<>SMyHocqKMD4+@WTs1S`IQxrE1K7m)y(BgyU}he-E_ z3<%}f2~DG1nV5J{1Qcl!j?`G865n3#&$om*+(ce2GYE!!5{=gvUWmj4GYA)Cpst&^ z|AOnjt+*C>M?T3K(e-akEx;8ZgNs5rhj`~+IDOf?!k%XWfYuy)uowyYC0nk6bAGDA zzxXX9rP2J=xwuOCvgMSXwe=jY?uyI|()NH+biX6nVIe2Wlc+`EzLT`>vLCc=dGj{^@515d!*xKMmr8TCPFArZ+F6@b{dZ z1+5Zd#E84N>M2!>R%2IK>I^%TgFeSy+(^7)$Q5qP05(9$zmxv$n(|d~UI#bxm+{jT zGL3ei@3(%^#>spj@)TFM|IvUNf)X)ce*Izx4#v`y-sT8F+zhWErF1-4VCiygv7(fw{cv4wOHg{DaNT&mfu|Jcm?-eaA^X`wfM=NgHAfn@ z^VDjegDPng$&fY*R0I-qoB5E$!f<>herI%qn^7igzS2=SZ$HCnP_-3Ys0E>T{L^TW zX3~{=TZxiTpR|cEFCfll`6LH%y$$sj-m4FmTlX2q;so}?OgBU=n#$HMTv2(;qTJ?- z%C^XuSRvy5H|$g2q9Hnk0!1d<#qVe+BQ*pBAsJmtYPXE$N&BJ(DvD{k*w_b0H?Dej z1H}jdF;M$wy4=Dl+jR)pzp8mZ*v@&l@s|X=`?QoPP4ucvCW}B+{nOoyAwV1zwvK{j zbgVDma@QT-$yU(i@?5-K?KYr36$rq-DPf~y0*`Si6{J_uma~j)pGa1buRJV`^3RN0 zlBc)HZnU7S^sBqS*C$i~u7V^#&0R{r$Y@>`qU8>8VY$`Ys2TYEh2R>kv>`|C@3S--|dM>M(S4>1!5<@wnVzgqr z{bmnbHB*Eo{xddRY6{D#4!qP90zM4K zYypnI}^@b}OVgu?Cr@4_rcQSb8lP(!A`nNA+s^k0SK1Bvw3Wv93O8aaDlvdLG}GpA9_rJN zuvCZjZox7JRyU5`+`Ddl*zt9cuHC1rqJ6gbl~-#Ky79ib|LC=&3lry%H#MP&FsT%4 zJky>za8n^VLO%^CX}<4#JRt4yWv^FV0(YsWob=%6K93(gRuRYEeKu)UrBvzfaIXejHtZ0mvyv-Q z;b!zehy`KjSdBxj#ETMfun%6{gFvy(r1k~s$gt9&kOX2UkGnxA#l$&_ho@uIZNcQx z-VWoY-h;b!YeaaAR%^edq7K|#Kt8I382g0GDW$&(k@h6n2+h#`Y9(^6I9pAK)SM#m zwB2?QO2mOCs{0m*3f6be(XhBa{9;p#5h}6suynE3q=fW>OiPc-;y%+t`;7AKAElpL zg4AxW;c?#hOD1>X+3x!=!Y}$as)Lrs*DG$h(nx=Bw`((rq*(xy3dq;Wym&XSc5+*% zuQtwpHL(nY`E_AGcNmQh8AFVue>mOFclSV4pKJCLzJd%o151CF$J$JjOnv%N2F2+e zb{qWz=eKgGt>#2|e_6&zzoZAmGQSnM&`Kc3hP({t^JUm-EK6=LE+&Xb0Q$fjbx+)a z_j?bd@T5UgJ%!LXkn#qI*vB;Nu<77EeW4UmX+u~LxKjMr{~j`$1HC?d&~|3vQX*>u z!8}Ko0mTtTH%4znD{3YFsiXd>%2_twq2=F>opE*2*c#ieCzrVX`F>-N_Pz8cZvuw< zOiUFkTBBRAFSe2C3766JLCvm=83*2aCXiPPP%g^&T4kG048-m4M9!}a!rKmX-@7Z% z7Zu&|vs8e>1Ya?Y2>xn~@YEC*bCZ(YwJh>W&v~h|Pq*8c^WXJXJ+&JO5W2z#{nIyw zZ8&hsZ=3SsFkP!6*0^^I ziI51K^$`}6Z~~e$Lf;A{gt*55_+`Ct^tu%bcjL9BfS@#fQe&4wHY&|d=?U>qesnGX$Hh5#wI#Qlfiw0bEeD+f12Z}JThbK}D#5{IA-ko*9 z2Xvkbw#IAO+oCuE@Vv_QR9^$y_TywDi+>;6p^5|p z48`$A$X9HpOOmM>@$a$9%Rsu_i5qIjaLDF2=63-t;TD?Y#SdvGL>Bj73)B$?yhvi# zsgHl!4%e@bCjn#c&By&@D4J^2F=3agV3Lu>xT@N@mVWN1zf8$7ZU=Mz6)K;U`QEdY z5-4k53Hd5=aA60Ec+v;VOoEzeJuDrzCsb3vW}Q<2Q#4I#6a(guvO6kkIXWIL*NG4r z{`@&A3BhdgVIQDem$aPXU&QmBZ1|HWR))q$?_w@3wE8uvul}}8Nwh4cSCW>`G)R0A z>%tCJGH&#W#S=mtF2+%7gixXK#QVF(SyAQ?yZ01<$iX)}kBFhx9|yC0OF&*LT4mqg zk_HZewRgx9h>*P(RI>~@tz%q{oIJxO^3#6~^0A%}z$WfTfM1n%BlAPF*SyQC&_K^V&fxnVp>RyJ zAf)|4`6hF29q2v7fE452FU~wQXR*~`J_4#I0o6?SO8QogBf9 z7hR<8rWBs`xSkx1s|&iF4dTqYe^I8n5Ez5Z8$G!wMM0?-RnGGjgtuld%c|z@Ga)&S?WZVMX^=Hzg2bCtfRUy(sny&9Skf zB@%mG1L!jkCjy})=pRR-=8(i#U9c8=7Mf|fti|oIEq)c`xdi@8vRq>@;wO-U(;A0BEzf|OQ}HCRZ&xt1I>kw;yu!Evrs(%ZivxYI()Lz z@i=}D=gaSq-|-}6DT$lB^mpX%n43`f_Bm$a%T+me5!Ypf&Z^TbJMuI`-;bVOq{RQ2 zV;A8)G=YF!7Zb~6l~GKPPD~~NHrom~sUsMNQO}cFSVz3^u$EAvN8k#o@Rt{&orI6y z?8LQWn>**(7cz<{c<+`ojVl#OUH(9yx{)?5G&(IdMpchdzdpl)jyGY7clmx;!$%ls z>RU{Fts!3i2MKQHbi`Hm1y(}FB23@sHyFRjZ|Nd4bdbnKfA91~0?8fRPj1PW;x#Mn zdnug5-InjTOG)wTf?fpkfACcMQ)BUa56VWjeZS3Hh%ug?{$&b3ifyG5jjjPAyDZh< zx!y-#fw~4mt9{{jr&ZzVvGP*Dr4D)VUiQnS177{7cvv+S{R~lI3+Gn|z_)^3XHQpK zNv^xDU&~%1+NcfW?3{1h-ZskNHfY(v{*v^?G|ABUaov#TkMK(3ySyxW6Y3KrPSry>!X~ zAbKBL8#2ft>=2}x+2*R_k`#ATJDIQ2)D#%WS`935#cqXsRBbUYK=A7FkC>Nnmv`|V zllqSd@H_qegg~^#X{|)V^vtD+9T4qa%GAydp4#vJEFO3 z%p3RaSi{HW3|n>kHe&Xmwpln^pa7_CigU_tu9zf5f|n~uwbJ2vtbbUm|)o6zdpn_zBP&u8Sb_R9pG zzXD-Ws6bn_FS)zep@cDG?DU&O6LO&E<(Ta|I;6L~o#qQP)aK-&Fwps^{Mn`MHG-X0 zXcZJ5Nw{U--W9+Wo;#Nkf_x+Njzr<|HzUUVMg)j7nA5F<gg>7B{T7`wWPX{@R_-j7j!Fac?W|53~!k9v~sLXH`h88}6I$J6RIr=pQ}^D;dZ7 z_9g3A3`Y)aVpJ(kj}OeRB5*4aHW$Xiz<#cVmN1l&WMOo(S!M9fdu|QQ*qsID(2E2g zWjM{`>?bNE(<6EL1!Wpc22prCJo}|N2O)U3cOhK#jG#=h?Ox1Q)DO9*HJJQbcRPd= zFspL!2&=+x1d9iI)s%(?1Y!_717+p;JpcBSLi5g4TdU$;+ zEm`knnFjadj6}_CxJJh_JWdy%{zW`bO{JZ@Zkc}EIxJ^7qNr`vGEJiXDjZxFxpANv zV>`Lx|KOK~)!z#JNs$(KTsuQgi&`)0?IEmzoa7qiJ{{-&l#$xD!lQ5Y4m1M(-B-i7 zxVR8Rjv=GCtb)jmh1p@uH4z+gf$iB>KlI3-e*d^6*)DIzoYW9)wP%xBRlvcnRz>`o z3AjJBFm1Z;Dm8XB&t*gz>%!r*)&QgtrStxWq>_dZ8N%ZyEu#4}G73O7<-9=7{m6R# zSm`Ex=D$9FZC}EIJAe=jqWwHzts>wp0Wx94r=_WoL{iTZvIn0P8lbh0-28E6P~(5x za!d-5U_w7TYt}1E$e;Yo`|KuXT8C(44fTw zkpPv%ZB;M1JaB*iBa^%=kXhpoh^!ZR5T#b!`!h?v?WTu?q0QR!{q4Ivp%j?>5#@}^ z&&1YNP;;h;25ps+%PPARMF2rtx9gluAMsH#=5_}N#dVBRCRpsB>+DIe@)Yb&!Sw)^hs^uz0@Q;LS-<3~gso}eP|1>l<}B{!{uUu4BbQba>rANm2|`rAhmgCpT}AC6rdd*e#lz=>^VAnX*8 zp@sDQ;W2il6vHSbHtwvG!BfKapIcl!DUaM^-pg?oU)^|s)!Bj0zwG>HQhF+ykk=+~ z5ADbomju(=#G?~5M{zvmdN-x^70+ieb^z(L^IR(8~ zYRQ*-Vne3FlQ7Z1?iac$LAnC&dmpl~enDfO8AY{Swetft-Fq8cqDZsmQl9berFJHZlUjc7_&DDK3g5H=CX`_@$b|RMruGLp0*e&+Bs}O7kv! zcAsq$lpeO9%;ayS*d2=g?uUV(!dAhy{neknl=?sL@udT!se9Q5JpGO&@Q3)jI@rAc z+97>zejQ?>@pro9;XCoYgT*Uue>?p^rM1BCNin|Zchk~FQyLqKTDQ!(VgaN#j&LS$ zwUkTv*sLwK&S>q~-u|omYct^`$1A<^RGuXTG6DkvBu&h4DNsFj@%R{9h$hZx(OdEh z?xwk=9t4i3x6rwVAdZHGywu)1m!P)R(K&wt>wk0#Kl~>ENA&ef^SOC6?1k^4?29KK zYzCJB;qt87MdCXA>i4TjhxQ8HD9}++$lI)U zE5>gk(jMWho=rvx%9XNQ&T-B~R0mv$0e9>G7k^3F^44j6TnLZ0us83gwdIGWEu4SK*R3zy5}J=o_39?b zq>SQeKP}v>_I;0zg!hr6(3`y^>ypr*nStTtNdV7%eTTt zvjdIBVeiIC>dSF{3l{++pvmk~?FL}r*^4}rclBDweEO=Fa)Q;&Z%97SqV4W%J0&k@ zO{cwQDa9;lXSU~E>4uu*XJ~6(o-RwbBMMo8`RZ_f79p%1kBlTH*N)MIx3Ob_fuPP2rl~#JBEZBRgxXpf?96TuUhNP&x*A#FsckLqbUCsW)Etl%;P2vD){zXigEiE z=&Sb?#DV_X7SVm^_Vl!BXW$DqQmNQ_P*&8=Swq5*V}yxf6QY@>??R!S0+;K?;Bv;R zFF*FJOR>9hTs!qLR$JX7)B|P(k51h|ZPpfg6WDxw5D1@8Ew~TA$J_55&KU8bE$Qhi zJ2P*QPo-Xqr6}Ee30^pV3Bov>aiCNYlN9#p=EC*L9HyrZ=u-jQe2sk;>zt7OHY;eDBy zqVQ5C$tU}3reF&O3sxzv{YWsqvlb-nH2tG}zU`}1Q<*DhxP~Uk#J5Db)IsN?G<`sC z47=9=L-z!a5E}Akv&Cw!)did#>Hpzu>xnJ5KH@@9GgiY5BPB5xXZSrScg%+{A4oTK z;>PNtt~^P3Y1!Mne*Nt`6`(MY9%DfbwOQ2ii4fZvFY`Q~-g(5_s=Cap%`S%QB7Xi# zej(Qj^E#nny$74Vd14_0G_qRR-<6O0R{F4_sF|g7I6&sQ^T|5G>o4KOLpr3>;|G+x zor5Hh+gCdMDV~lY9Iz}b&K+4deK`Y)`x!cLq|Y7Q+8dt)dOA!2}KdvEOOOD+d;0*09Cw>#(Z zaAI*{g-f5Du-S8)Nc|!QrN(_S;&ZvfwdNu=el%D0Mh{8o;WG zmu(5q$9R-XKz?1lZ-|6C1jD#7Y;Ip01kq|GeLS4qPut+Cq0eaieSR&aFgrB>^q6Y} zCm;UBJEV66*&p3Pll{YO0*84y=d4{Fo!CBpTbpiTD4b$CpYCI{_=mHcf{b5x>SS9B zo1+cj($m`w#AxHg%tmSu>lIrN$V-mOWhi!r2jtLEs#>~43Mj4dh}?Z(BcM%&-&lmT zFsm)O7Pg4|+WY1w^Xc5)Ba{YAsLI}ClM9r86X8Bqt5{RAkFimU`PV%Plo&}P(t0y^4b@#$?-PJ)|;@*r4d=Qu2!a)-?>QTeUtXqsP4S9Q;d zF9WiviKH{qH7tk5VraQmy|Z@cHxJsUCHl*&CTeG?QNk#>Sz*fdJ%v`;U;H?)w?8dz zQ6cv?pSKmM|-dH=^qZ9vPKEQ1paS*0P{ zH9~;!PBwgu*K=oNPGBzgAgxcmY-M5ZQ2#p7+^cqwsbtK6mp*2BCCtYDRFK=esm*86 zQ?n65iTmoOExVlP^0X_43PiMtTygrTq5@HvhT*SICey3cJ(X*ZuFd3uV6gVHX!0F3 zAZh@VL?QKIg-zz^K5~50&Z~5DCt~G#+poKe`gFQRhBcocYOEW84#NiY*1rgBMlLRv3$jP169%aBnpq2J93e9q;_`_Hu7`O}}S z3GO7%i&k8OtJ`xnL2Lcino97d$<1+tc*@XH;cZ~~utUIs4Ls$iX$Kl-!*p?e%S1(5 zDqcMS0)F=g^H7c?t>t+&&i`DS7vj}+#Q`5oe6v|BX8kP-V3s}L&|qlG#I6Bh`r7Ay zC*Fj(#hDZ?eNPinN%QX7+1)D|t0`ptHupX`y6!hx7s(hi!*$5ZU(m{u*UZK;L1ple zFI`qNYgMQL*d>OWwf>{dU`d#|Bl4h^KU^wH{%B?rnYy$MMk}J2KIRg&jv8 z^|^a=a`mq#I<1FkdlbeCc^C^xq5crt$9;Y#_jIL)=Xvp;bvaA@i3A0K=`DfbZivlT z;F*uLA22F<6OgY+aJ`ovW`iTlciYo)3iJEvjy$7DpZAbHrl=sik-fYp%fV4Yefk6; ziugtmC=d8;!Xr5M>Y+um5H?(vqlE}sQHnV7AdrrBjXHXy{DxD@6lXZzYq9So1ZemL zd)N!_P{TEwfX$UBfNhPl=Z1PEWB5BN(jNtj;WbM2ryTAaHOwi zB6Od|-lWcW5iZaGwwl2$1yd;K30Zx&Zx+R-kG03l<|@p>yQRuMHkYJFLS6p_OT);R z{TGb>ba_;eiFo)No23dRk)(6RN_bfJ8Or2UG8LQ{F2aNivIqSQ`40U;3>Qdh185h? zU;vSE$brsRjYOW|lL#QIo$i%@@@-OGqpb#Vj7h7C^PgW5DPFaiWZ~G5Q4mz|mMq!A z(KR362~4Dpa<->;hLxc8wevpvQ&5nuHUd5Im zDF5~Szp(F8Ux)!P!Hx~AeOS=tM&_mgE1#bgwwoe)`chpY)-mNS`#0b&Vrn z#P;YnIS6ehLA>mZ0wX!N3pU3E%$~v5hQR*Zw9Xk+q!L8oG9=*#7iXX@Z_b#-Ach#; z$~T1UojD~eVP={z%y?B`Bm>tA z{bRHc1>oD@1xA+r`fD0u{AZei-b~22ElTAzxP21vWws-dsF{h~WlyHiviXw!o+tFy zJLv*1DU^s%1&5s#IJKoDGO-_dj@=#MD{Y_7~GXydkMrU`v z@G#~@6BcI*N0_9sYRG!dlCCdZB6ruqJL2|U#fCi3cpV)s-h_xY&^8rJ*-If_ zQks(alx)QOH$8(Ac<+`ouilaN=0`NIJF!JZ#`Nw=)7iDMjX_3>iqghA5->pn`jbs% z*HYtpQg;vb`xraYjQ`MH;uWoR6?v0J{pXOA+8Heq9;F%YZvTi~dWOk?%j&Ag>Q>;y zb9n>ggGv=rKvM9b6+Phj@xLF3^Pl3IIFS=P223v-$(=?odNW%eq!SSZ&M5wF9&$W$ zPY%<;YY=6U8m()c4J+7e{7QId$a$AVDThyRG}hCKq-jL~SuP2#KDzdD)kqqQVqac; z1y%?;I6GcHQ3m1S_u)Mn;vi^$woX!;EwVzT(PJzp8O(zMUpk_lgwLQ49J_^7KI9><1rSX=KfmVz$gRDt>`L%% ze@i$W8}8EJk)#|%v5}5STbKn@MDz3X%$l3@*$ZBe5&DE$^(4xcakp&m{r_n;+OQHh$BP{L-`Wa~hRlzUqB_+NOy_#sWxh|4-q8~F4q3l?eDsJsyH7YzeI8vyj z6ltTk9R^!?GrT0_+yr0Z%6%>$C)9aAK;I_+0aN1J}mtGh=ULFX`4U+>rs4i{;A%HlY#- zcrmr*JqUlg(rt}+AKTE8f_ zN}58#cxa}FekF3=CCYS+YXM+>a@*XP7m3qu|4B_2;K-Ey{e8PsWtkU2vmQOaqG3z3 zshZ(LZ`&i7ZY^tnz5SuR6N|IZDk;g|I!JjIB;AQSPWv<=Zec$vh#Nyw!DrOn7&Ku!WECm-t?7IG08z2^10Aco(8NHPz0bMzh z-%a~gN%ZLL+0O_;Z6**JS_lTjNgD6~B&~v6xJi(Uc7=rrZ9o+MtGS!;pZmxYAi;Q; z?Hl`je}_@J#i5`sdYK%~E$xK2^gfH8N)myGyp0 zfX;j(f9=X1I^mRMWJ5)d%22Th)^s%IM}~KYiRWKK7_m1Im|XpnFk-wD37#)?e*zDD zH~p0o_c=cjTF&j&tCUxJXyVq}32P%lHNr?p?di$YW@nc?aQ?4KUM=4^2_!*owbgh$4xxwuZUum_ND$| zI`PAdEp?x@|2a_o)$bEz452Fbe*f^jJ;m?=0_5b9KUYU^Dkd(g-liDMGU@Fvn`Y8BB|xQI_vV zsFf3vW&-?=~Skvw3{(Lkl~4 zB?KknU-o&{uF!3&bW`);stBlE%)uw{{)A1u$ZC>UpPMEMf);TKiCm7 zJ^!q9ZESk(>D4%pOD%_4101O{7wBA341FhKJ)F~AfkcUL_||ED;%|UE!xaX?&*EJ z%uLl?IZqCIE_dunGwC0t-(wpquvN znCoE$sKx0|t2JqECgVTRv-jl)gyb7>nIQYio?z8r1P@L#FuYnvcQ)C!r{BoI8x2{}b?G~h7H2_KgCdi2*ngkS;~$c+y<-h>WcN({5s?iQ1P zmY;qvN7FqBd}o+92PWupij9NH*_lMjb>Efw2-ObOp)}wDi(1TkcDB=kaPC@g&ttAf zkF|+6>vdnck59?1y|Ntzd1}!iFT~Qw2!(_#F2y=B{~y$!z3M5lqK;mf z;?y~Cv&+#h5O`1LvTsXL1lSUX?zFB>UcBbc)KmzGP7Vr@j6@`jXi=Uny@_C8xEk6D z(A}Gh@lM3z%AUaVu($|b#FM?c{%LKlTfDzlVl&r}heajt0!e($DEaM<2Ep1XaAhZY z`N!o0cVEQvV4@ZiNs#)0XDSukK^tveqP#W5O#!kYt<_`&-u&v2LqfQj5cRTu*cL@V zINa?{>ZLB98}-VllN*}|q5Id*?G$Oal+ndYDZP*X9ESbSWd?66-qXV*E}{e8P6P~5 zlxkL=MM7_=D}N@)UdBG}DBsupgoOn*lMzArC_q^<%~E%Mk^V7XcwurWLl;wxyiLXK zo-#_{yhWtV=?=DtTO}*L_dnxIUAuK}oM>)l@4YS9P$b{pRx-mpg4>EfdVE9XtlAk& zQtl8FiYOgauugL!fBbYKc0>{DVTqS<4EK*AN*uJdruq6WOnl|I7TP#b{&2Rmb)x(@ z`k~My)?Pi*y;(p4gcys5TcRc?Kr1Bp1>XvLfV@oCZ19b@Y=D(|`j4-cuS@mb z@Tq4IpBN#e>DKj(DwltH1^@aMDA`ktE@#uil)gks))n z@`vfb0EDk@li`5FrvKHWe`+;dKWQ>M!OHuclH*I6JA$poy+JNRY&Cjwv4^^373c0@DUTUqhDe>{Op@QEMtp7-3hVddE)fX;#;!|? zBxuRO0$CSX^VUg1=+h%9Vq$U|hj&C6Jjk)o#Bc}3FTd&?@V5F(p|+y0$zA_@B2Ed2 zQd`mb8e71V9hWurSvmaG++?cv$EEd?SkBl-nfp6UbC-qV zTgu|!s{!@Y-+n}*Lr-iUL19*Bpk_oHHWsC$O=({O?!Y^+615BnI3o( zS(F`M;s7v{VMMnhs$3UayJ)kb5o*dO64VB-DGLg2+~F&rVQxL%uR59^F1SC9^>n($yy6eL13J&YtgIGfWP5m*9)e zXS60(^YIEOSm_t4rgyB3UlpP@6jv!Uwum%n7|z*aEvn91D}EL>GxUk+lReam3gmE^ ze?$g&r+do)76Bpi`#6|n-s{E>X0ZaFt~#OKkJ)`#vKPZr5yyGAzfXuDrO9yhxBgwJ znKuUL+*XI*U8I+fGjB}2_Gvawp1S+mHZxEZl0&}1fV*i#h!>$?s@fFQ6vgwnxrl_Q z-)ygm0{{Cw3tAs|%W&CruTTn@JgbA7 z(VsEQYAifOND>HFDo;yiN`9so!yl_lUsLb*N8H>Y7k&o__!Y6V7;Aif=YzWnR;R%z zvo6$;K`kw2yl@^n;bYC2(mhtDYsyuto(i>JzW$3MGbXe>HGNF zvt-D&8zfVFUHL5mr1drYGg7nZD)(H5>zC7An;fL0DZv85k&IWO+LH1Mb?FcD_J5Y9 z{yV(a$uo$f1{F>H%L{$ zZ5b+FcUDnTIV#2mpa8Z(_T-c( z7nMo^r4RR!1GT8Qs$yX|(p~jbQxXboGc(UpGQ zzpneR(?l7?SZ+qT6*=W#{IkWyvN)bpv_<&NbQwIZ}| zA23EMo0ch%;Bnzu^noGhZba~nP-FoWC}6x?Wh87<}zCT0;3>7-sOxqNR#DI+c(>snI_6BReUS;E)+fH3fx~30ya@>8B$SWOw z?d|h00%`cv4xD%WO*-;MDkZOT%>z1531nAoyu2GMMu%zva zUpO~y8!F;}G{r3a4;53^+nzD41?H6dV4z(M!aT1KHAH5kFucrjdaFT)I!*L zki11jlk7H>47cKMzTl*j(z)#q;`TXS1E%6StLyXz-xOWP79kmIKz znb-}lC{jPGpI7c-Cd$eWnv@!~?of1JeHEWWFV#9iPRN4G{ePsu-xwqmsIicTm!}Z+ z;M|i{f#ZiqH*{EhYE7YCRo=N>UwrOk8CuZ~*`giL9*BK+OMeaV$Ly!2%Pw&5rmi0* zRo()V>)FZ^vjMEY{P~&Gbooc}uRpIw{#r8*nSY65{)1qv>k=U$?~TMW)*zB2p_Vm} ztu3-i5Moi=R<#5&Gf>`)*F45PUh`f`5Zj)rkCgvGtOJ3Cli#f+D$&$r)Qrdt89==H zYTthWZsK;^|E@XrRt$_3MG@*2!EkCSpNu10$oNzgc2AG9OnT9$yt#2pwxKq#)xh9YPJn=o2JOS& zhIv-bd+f~0ssP4iky=-8?PF9`vt1X?suj68RllBDD0x zR-zo*U$z7ySlXO95zuqylr=E{7md~03(}Clnn2yd*fgPgO3Uoj*7hL3x+HxvuG(e- zH4EluW-Rl7(-TyBkba5hj3nTPsai;GrH_%%P@v`QlpltauK(9C;=~*mB%^v(3 z=#r}fhKC~bGONZ?6h^L)o*uOWPdaKH(xrm{r%-4HCqTtiS2?7`K%dyq4ujm`svNs1 zB}t-H_%?fjHI0Vkay#X}K{;t6ie?cJSX^qF_()n#I{)&*LiAyK)ID49U(<>Y^%hS9 zjpyu%qtQh3XPqs4^dUaW6&!zNR4#-oseo#3yc8 z(-!km3ieIW-0YT9!V$(m;rYlQSuDYH$z%YWw=Mhm=he^;n4r?dD^(xMLOeQkcncEM zHMXTpdO&)DO&ypq40n>ao46*OtaiB@NY0DsjfYp5qes>n_^7@0$mv=C$iz{w0q3N# z%m(F`TYn8$0BHUp40#dY9UT1)UeHx}1GghR(7eLj_XInmeD9$0OWyGp zCMjlg-BoG?#=J|I-)Zg)?b>>XOgkZVyn9z3P5IdczZaRT;DUmfFCUV5SDr<{S=jH zT>59PHirwbPNW&eJ#Uw=f!$*n#pl}y`XaX%KM@>)@q{sH;8%)822xdi_G;&S#Wud` z3!r7-KYi#_V1a`oA$7EFi%yg@P4_TldT0+rL`jbK z4fVdfQt%OH&|6^-rP@VoU!{9g{jV(!j5Krg{SbXO1icNiWe?N928rW`h~Lz=3;!o& zY7c;1UefZMz{X4O3GvlME8*F?2uqQ$FXt{k=#sCp2TP=w9I4&mQmt|gcg;X2)n~U^ z0b_-i3ft5idE}G>D%JWx{j{p-8D7YaXdeue@V@68BG)GI5%jzMCs*Zr-422!2o8)E z42yg6-o0=F1)rUuJYe^_X?J~_{xEw}?{Y9lJVxy@i;lNv$3=8I&c|mlWgghd9Er9M zy&Ze+7ihbN(a91F7|7xsx(FdBec5HU*NgmX4XN|WpvbkW9n~NTXA-n7GN%k;0{f8w zIEH93j>PnvFS8|u46y{-O%ZZM+J~MD3g*1wFQq~F#`obFK~5{h=35~Cqiqos`pS@cGnzDCc97M zTDv3BufgioKlalpdEqq+ywiU4Dj5Vs5UI8z43-rb#V|}b7j3(vU_PX@%5+5AhM`2& zePVqgJZotC+N-#X$H-ct%{%<;K=JOh(iGdA!Fi!O?RE>EdeXBQ${qM@bf0GZBsX^| zM^cBfBvH&YR`eMA6bzFghHbPpR?kjYc~HEoGeuIS= zwo<*RFE)PrSNu6BMU*};%Ji5(#NygfN;_W);g@Q;J|J@ zhCNy^|5X2|9D~auLdiiiEbt{RD5aJq*OeGX+W00yule1 zQmf!Rdm#{-0!3g&5uR1`RaIGO)Ra!jV4g`3`MQ(XzLb)1AR~q5i9QzHV~NQxfjthg zogp=~o=X){`Rb#FxZgmOYamh@pQOse>q_>z;g2AP5pK@>s_(TqiE&Mpnb?3JBYj@I z$eoxTz6L3ouZ?Q@VEtgOnpeqz{Ce1!79DpjkIe;;TIvch?(WD|ZnAM17B|z4Qg9^_ z+gz3ZEUo=HIg%L-$+#~VxB(O6u>+maaV3|0lo zE%$U+iKP-5&8;O!prpB^N~7K{7Kh2|5_%ghAehH>goml3D-ag-PLj`!d#Eu z_~`?;uy+kCsf^Z>SE&l;kGgfGO6M!iWb+&JDVGf!z-p=7!QCZ7kGbC8>Cig6O*2Wt zgwX%$4lPHKSnTe8`Zx0E)ofnxw^%tkw z7R(APetv*P{kewh5Mlg?E*B?H^Tt#E z#z5%-V*MI1co86?xlBF0-ML7;+C+zLf(&Nva26eg%iIP5OS2x>A7}Qim_s>f)T!FM z%hC-w35%hu?3sMUbRXzdCx@lxPoLWYi$wSHSyv~@lPII<*9_A8Vq&rylqqFaW>NovvC_XJJLMUZDu(Wu#I0fPIjGcumV7fpaHO_o9CGk#v`oI)2H0Np zJX=&6`gIswcXUy4)4HPE5(0Y9u2A6<4{qysezYK9wBs=0^KKkY|C~aC)-k14&zhK# zHgq+QLZw`1uL@;0sokR87JjXKY8wsODAwjDFCjhVeJfI671y6CNqLHzOeO{x29O5eMosGW z44Gi=qXn6-3K>hf=sP`P{oO-uR?K>QvKP3<@?-1?>haK)4g8zcn)2XQE+t9(o{SM} zYQT7fK1PPzDFEGl(RsyEugrzy?YtnjCo8iDo&FpOHk2N}L|*1P0DQ%3yldCeV3yml zK|FA&7bi=zry*6gNM5JcB=bcQi_eM3Un*DRvYcR(rvv=|%WI-2$B(qNIBYyJwtPo} z5`QT`$;mJ=scE{*DEisaQi;v$KYmv5efD|hO!|g3wH|IAS!y>sK4;y|^corg<+Kp` z2AXQ^8GGPyd|=X~zNS`oENm*o&=04!-!)dWaAv*0w7^ z|MWGh(Abn_`?urLgH|k_S4W?PEBWIDC)yZV7f7^EzOE%xV)8jA)#Y!I{%^%y(y1zp&WR6-nT}+`SEKIu-dTt+a*}Uc zmd_xvu=3ha4SXgxS(7&r@bOIEz~ayF?F=9Bloc7&QS=3cF|y)!m#`e^u`UwpqN5M5 z$mB#H|0B~4F-q$}44jj=UP3_ni_tfqGxU?_*8DmPY-hz5Jqb~oJx0Uk2Uy{o)la5_ z=%O3g^b}!Vj2Ue}3Ec5Rt*ECWo=(FMXw;|k^qL!Tg`dwK%?k=cLoG`=Dg6|W^+qF` zgcG~iK&fVK57~djfZZQbTkFP(^ACo36&|tIAm0K%ohg4y7Dd#-kK{TIByv%%tGkyLeN!|bdAXL zmVT5w4`Fj>cm+~pib32D6M{5#hjNTxb`$~D9Hp}5ePjLHKVbY<{^`rKT&H~y+61!S z+PIain0kR_Mq1b*`9&NX;$rn;Xfe&Ccm*!LA?>c`+^8Z!^d?3~lmD6_tDmTzU7S^i zoVO!{$dHH*dh{lsXDFDKNSTp`HJUD~?|6TAoHm!GXUh=agAG8|uP54^FKhTWbUv}~ zF5X!Kd0aTnOr7TEj~3@0iqJZx3&AG2?#MU(ocRn%)sVDRiUima2qml^STJ|%u?&p4 zkn6*;fHto+CsbFdhX>^!rPf-KyxOod8H$){H2r`|+>xcuEJ^pi2;Pv3#vfN42QfiNF))@e`fj#fF003vY|H+V#R-y`v@pao#KJ!9ctYrkEydyavMArA#4tX?}9XU z_XEZDqSwQcDIe;wv3?_(*CCu;Vlvh8^5<-aOB zmntW^9rb_gy$O61Mf*5j?)wHoK}i=Z3E3uT%hjYyD5dG$B2DiW*fwb!NRyDHEu{&k zii&_2h}@pw1tO@ZoPvOefF~*;%O_oKglz18f+;XtEuuH2f| z`cGevE4M28K0iabB(2~LZ)y1(_WRFYJachUUF{+K)HrLQu#n^yN3w)fTUA9qUZ)@^G<>o01by0mPM{Lt)2AD#B~@U^m&D?fE+ z?0v3Biw*~`f8B2LujL_2YA+v7I6iU6;u#~Sg{*sM<;|oGz9!B7?8E5Se%$SauI;SP zJ-uw;rWd_uBj%lLvo>V7zT4ipH_E>Bjar}9dCq<7o8M5cnOl2*^GT`|2PZ9<@YC5r zFO;T~&n-o4x&Fxn_+UT0{iN&8)KEAZ;zQQj%_kHcqcJ`=k?fQ-FbcJ7ky6U5k z)~(uj`H6EGJ(tW}>1c82N=+A7?W~Rs3%5?{_t(w+t(sI;ly$gX)Ns<^haDh?oNBmE z_RgQpS>ugmuQpq;^1`O975j3p^|V|s{4!zS*O%1CFU8z{WL)ib)qz3X_IK;BZ~4N| zoToN8f4ugLTT!JS?3k`BGk#J%BzsKf&kMb6Pxe^z(~Z&n<~g3x>wC$`v(4fMGfG!ytiQT@{|woXiM!k%{#Euu;~y^18{b`{ zp7_!^{mI7<>yHlI^d%LxRGD^AHhE>6O?xH{>9qF*)%*Kq=YMb9=&5qo`m2)wY-#fL zOV169^^SkD+w~9g%SQdIADnPxZ|^J96|#({7mXV|sqruEEk~)_`NdvW&$Huyy|KF8LkEtmoTk~@ z>(Gl0bo;|(jlU>0!J6^LeT=`wI(a&BQ^})4_uRd?D z%YWjN9lne;Hyv?FwW_w8E-lFZamJ~QBmQVJ@`-UnzGyb@t?W&`^FJQ`>5<=`?A0OZ zT=TDbH0iF5d$CcZ{-kHm#rtmj`0bX>nn9yfv#+k|ymiu&NrR6M@ob&q`}*yim5VRV zeaNwCk@8xxw>hHyYI~s=CCb zWuD!a(2Hdf`-WYMC<~eLVb6q1ncAg$cTXE$oA6DF*-gbrk#RogidCnZJ&iwJu;va7P-S|+e zz18p5^j=(jW|Fe^_ut=IRki1v!V7ZC_eottw-#Uf#kT8}gkNqpI5cnCjYp@Qe__(i zlfRE{f8pFiJzB3j_Qf}ocEk?KExs~(&)?}E|G*qq?tZo1*>f2$9a)!9boK9q*=Ntz zo_((Ksb^0=KK+G^J#(I0sf~H!+Gi{O-u6>o;~%W=j(fG!XVieV6aJXoZP_33^hAqm zLbvBnSWjFy)+OY*t5-kzrTrv(*{Uo1XKX&yE9I56txZEV7QZzzbNk3D{HbOTxUKR4xGKk>lC_6dI;apg^|UcF|Lb#1ft z$8Hp?nLl7o*IAo?bIob$X=qdbu%pTSX+6H$-C+JJd-o(1&Nyz*Xjiyz$>WDlEk51R zq5rk|m$Jgzhc3F#ZCtZD?tyJDR!5JXR1>pdV2jW464}JXx`Wm0A3pcX)tsI^_Ev6R zeELw=-MbIpa(~iS-(%d3g!xx~KH77N>xot8y7&5O;ijT1mr63PSM6^Z@0M?aIkXvu)+ghMS}(e`Mvzfzslka{0Omy|A9y1eruN~-EboJZMFMM&}r@!V6&1~Ca-wD}+ z&I)F{Z}+T2yZW5D{?V-2hevI!ZoR+a)1u^7L(YcYY@u#Fsm8wHM)y{Gu0Oi8-HKLM z7Fn*vua5ue&*!(i+&<*#M|(B8wDCg2As^;v^uIj$lZ3xtrgnB5H*8K)!&}RHpZxsg z8{_|VxXtO(!&o;~&M=E?4pnPbkK^)x-V`$Tc+ zC#$0M5vMX|zf$;6?=>$o|`{q>F1$JeJ(xg^!KzzBZ=NI;LIH#jsWbnmOJdzh~{-iA(x^ z(01*%_2XVn<30B^&4}C7WZ&AJAH2? z9l4~WdF_hr{UZG6AmAoZBEV{IC2d{=*PeBQ2Bt$P1`@v+B#Z`69{?~R@~ z+4Ixi^b0m!9<{RQzG)L*JEdPT#j`-u@p#V8R=q-BOMbI-$l%CjE7x2&sdlE-e0K2K zjhmUbem>D^U(`2iqu0*5dLrS*d&inDti5q=VI!U8Sm#j_m(199B&plNnDgGg@olHi zT7Bru^iOB$HXdt}_@$v^?;Qud+KZ1}4}bc4!pmca-FPmy<*?BOH=_UUZ+hg>2@OxS z9^L)uhX+1vI3%IfR~_PRtgOCo#-u|{&Q6NF{7c4_#kI0_9p9Pz%DzwDSgD)--JF}D zJr?es(&Tq@*3n!0-Wig!;>rHc&nkQ9{PdTWzWKyc0~>n3xzOZFr`L~XXZ+s!Lfp)% zw&Q-j@9OqWecx(O^3t2T6UOc~XI+?)akcvB{`_yo-l{&_pmzE+?b+zv`wP1-Tli+cnI>(Uq8r`KnRfk&jH!n{IlbtiL2b=7Oa63~X54r>j@JNb$+ftoD%FGFQAtw#xU?6<@{Sm+76KJnh?f?eA~&<~Em7*X_P_ z;mp*EzAcwWs=q1z;eq8dR(B{#`(@^hZ+A4vmVY*F$HEPV4l>6_4?aBkhN-zD^^_^9 z^}!iw=i1erzV-5v!M`4vyr+r#6)W@lP{rjJXJn2k?-MpZ`nC7pO7F41Q^p(1rfy>X zoVI1>Ya1e$HR_vovLN$X)qdNHg&~QjK3j6}v-1bXl^vecbM4_#i`uQ5w558HuKCVQ z6I;p7wY@Us^{$akpPv@`#|UpoUN6%_5Bu~VHadCc)RMg6$wTy=^9RqEqMtA`n@|7Jl_r`LV`F-|PLy(WTy94ZNTAKM~!mdcyicuHWzP@Y<}kqrW_*4XFC$-E zmvJdkH~r~o@23?Xpw;<(fqN;`si+W1~)Z5rw`Rk>U?eU(|dI4S%#k5j=P_} zemL&6XLWxb9M&r1t@pmZ*v0zy*)w=Ateinl8>q+}z4lRG)tbM2>&|_$BzNuZ?Q1of z)TdfT{1Lll_O;S=PmbP%NNvk!LT~uYe@r_5^J;wI~`-`Wb%S89-{oQu-iF$NW)@vJgd>b+QyP}kt*WcM* zajAIhn&^qYUQU{0Ken#5yrSU6A5MJyAgso%ycf7PF^Jv3w&n$0Qbo$4_Kcm8$Pi?yC`(Eo`|NF6P3)&r?{(9Jr@811g z9eeBG=H^!>9=*B#=T9HbI{qx|z7JQv`q!Dyhr3#P8h+hwZmZSr>lXGqVBB)-=~I)I zW!@-j_hWZu!oyc14xf%#)8*vD&px|w>Zbj_Hqp6!HyX$O{JUZH)^|D_OWros*JHsT zTjg`Lp3Gi9eem{6yQ9~Xw($*Xdf>IK&A$9$jH`2nsmUW1qsFwo_F;=TwqH8`lzYbaMyzfKEJpo^D1adnXH&~J-=&pkhLR^F_e4KAeJ`0coU<=B?HdX4?!_YJ$h$yt)| ze2Y;R^2?GgzyAZftM{ff-Bfno_P1q*BYvOS51|bhZHUf zUAnSj<`cKFnzf$#%JKzS>%Q0+@~pQ}lk4pbn{RIWxO&=>VasN(Z@fx2GirP1SE66s z;_IfKJda)0@70m)CpY{4x^Ge6YrY%R4|TdZ@96Jq?MuG9x$fp@-FBtpMpVY56(b+E z-<&x$x=VySjh<+llTevEP5_J^M}imL+QqlRcA~zHv}F?M=<3 z_vo)5`*qKkPyRmg`CZLgJ^gIeqn|{48-2d(na#51Qn^CcqliKz=G{BHCnj@|{!7cBoh^X8x19?o&^i2m`+()a}#3!Tfp{O*G$d(txQ@2l8; z-|K68Z`0>qo6sS3=96Pp&tA{m^&ope+j<5gcb^&fNgL?^{_^?};5s?~iTYxXt9#(?gus8YMiq(KP?mlxNP}N447&)^o~;!P}~P7JDXd z9QFCC+FO%1KL2L&cdZ)qTH5^Lx4u7Glub`Pf3434myPjDUaKl`o&6v+rtKpyO^a>y zWXsxSO`mM~wC~;D3lE%<*|L7xKkwrc@t4@S*3L8Ktll-hY;nVbh7VRRm@{L{$S+rX ze<19QRZT1(#LkSasM0?3)#9alla4lyZQn0sMZ*VVm%26nYi*aVdpD2oe&oJw4?dlt zIa|Cu)}fxXl9_vOr^`Nnjh9KYEnA-Z9bJ=|J$OO`Q(=>|qlstw{N4S+Ezet-554op zyxb29ugNZl9xpHYd&=9p8tk~1w6a6x$e7LUubPe8KIih7bMBR%F9(jBv2oOxN8BZs z-VcBI`f=8noB46hv_E$BP*1ydsbt60w6070_Q8ugX>!LChKDwm#LVxtJ4f?tPP?H4 zI)2xFyt;eCb4R~E8vW6(t<%=epE*6`zV(g%oK$Oy8)cYw;!5F>FPF)xmb>z%cX+S+ zI|o|qu6T3ogD2L}A553O@M)Um;QrjCQLS2Mzy5aNhDJLMtXXh!=7DR^wb=jT>hD#6 zQnFt?xooG_Q{i!KmBZ5*z|%Ok(PWg<{DBbswl@U7O>G*2-rD=pZYVc}e75?Ga@RXs z7KgwmDL#GJilL*YhWxufR!gzkWwMv3%gi>jlXcsjYPY$Ar5XrlOMk{;PFqTj#}ndaX<+aRAxmz#A$ z_toWQv-LLR?vx)mx&KE#tgN=BOjcsI+MQZiFO9~agIBkCygS@vF0lhbSnM{f%x1Tl zbuGOuTe8}6dzINKsWfn4@Jf|7li6vta5anVrW#u2HqkN%u3c)kxx-7@3X8QyE2D;5 z+%C7%%vQ*<0SjfBtj$Hy=-I^DSXvhAw6IoMmT0zCncbEWNO3`laF^L>DMfu3vn6B8 zoOb9D#$zzx@%ZPYL9Z38v&;gc(m2NJ`0ibn31+R#Rl!=Vc#LFZq-40;?ts#&{^kmQ z_3&c5+ikB9(xFbT5@^Y6bBn5KWs#CfR&%LaD~k$f%4sPp_a~#4OlDV!)8atTlSzhB zw^xKHE7X!;MFfvwT+?n-oz~q>*nAGw35yhL zP~{Oa*r4T+=wB(Gq6Ds4Dcvy`G(uHEVMqh~b3ijfGT&Gbs$?(>B=a!U*un`1!}%tQ z3%FYiPtyY6R$5wWG7kzuK6ubU3A3iSSZ0DvWi}y5N{9>EQfLSHpMq_0!JqdwVm0_q1yOYyj2 zlRG#=#d)USxH%9n^Z&L8``^#M@VQt0&%xTv)_YU{Z?FGFYG4Zl>VHuY|JDEgBOi5N z*>JR^GI_BXHn&37SB>Rk6<%okNCal|aoAlJqT8{>K$a@qm@1M_wZ-Hv2YRE?JnT;_ z=Lm^3l^44CcS3qa3BlAk@|l2H%y{51{xqp3Dd>o@baSN{lt>CIk5r(_NIq)y1Ur@x zNRk)-D+0hMP)b3{f;~`ab-QRu7MBQ83Mvx-sybq(q;Y_HqL~E(4PbMZ%UovGSyB$< zc6{J6_`8#-%5e=L+22>a;1@4JWHgbv{GT8~65%zy1`HS=E$Ux*rx{3trOGVL=U1@K z($-l`^C0w}zW{KT;PV6sR@F0CLE4rL6wk?9UrTPb*lMn)t@^=VN8s$jLbc&x>JS7n9G zZ?Rz@7F+E^@~Yb$>u|v4XKf|O5QWJ=sl`kLOaDh$ggR@aR`YpmrQ05CFWiaVm~AG3 z+SI8uf+KOap-O}b{zLr3OP6$Z@*rc@4_)@%z{XmJC<3P{Lf z{4hh5AzoJLw8~W~wMEVGm{G-LDu=BsU}(XZA(=U5Y7w{HUZiDNWqqVWL>e@zK}4yz z3#k9|+1%TxfjZrRqW2pRh*knI>t6@s)arme8<>3?G?PdW{D)ul;A<}EYyE)fM!;x* zmqpYW6i+H0b_;I~y(_@T$|LT)s1bEYwnX)_*_{<^0IKseJt`_HC@bK%Z5=9AU2buk z!?DE%wOs9F9d|z&$6d@NqCWQXpB-v>gv>(UVKyq4%>p#PK8hKXZ{Dfj;yX0P*)Z>_ zF%@7PqK@@6DcRpqg9i2=Ht?RC1~}awNzgUEMLLQ2+l6 zl@h`H4*F!&-LW;idi5%h|6mYaf9*T;TCet3ug)X}Y;dUgS2wbbZgfZeupWG=$B1~> zvy`d0@S^%Qi8Q`uP~f=ve7sru2j&Xq`8xIPpuXP59DFByL36Uer0SWF0I>STTGxy% z!ZQKCSf|ro?Fxe9{?g(8S!iV8b(*~s`QacQSPcWZ4mf$NG?`0TAer|9Emeut?lPNh z3$%JBbx*taKVUbIh|B2n?^eb|Q~8&y26g-&|KdRTr`y9`RxeGf&z3HZ#0UiZUG=Im zS2)}?cOaz!mU`J8$(E?;psIeILU&U0>#Rrc5R`kF_`hW3xQ7nzecy&-d!Upc-BXwU zm|~EgZ?E$QnPI(Dqdr5%U9@>8jEIYiyT>N)4j-k3?=*@4Bi&uB(cPOz?!x|3cijJi z_2mwuSGj<*IqGdYh`Zb0s-O*UdV*gUXz33>;PU>r<01a9eeN~>2j0x?e{1}YCSu@# z0d?Yk259~p|MQ>tzy>ULyB%7!y24yzc2=8?k(${{HM`mBIL78?{FTWq3b<6vwk7O28Ox5Otu;Kl8$~uVS5aOGv1MR%q^I0`!DBf?N|cX@}=Z__JE*me_mmLUS$!fs7{68SrI>{bizC z;%EkFh2^4$-Q2O5Qo9|hxKYdld^yo0O+xQm2+=OOmM#2dX?Wp7Jkhhg(v7rI@*-h}f>fSyisg}I^_MUL2!z6E24r6{R%$?zy$ zp$K2KB&AjgxVrVrVa`@;#{mQa7(yfV3Uj%=8n*&zsEK+{O93_p&ByR`mjlqt%K2U~ zVxTcvtX7%L4B}g#60_BcR0>#dhSE@dUY?krK(3_e5h5Jsi-lUw!mH5*R=r{nzvx@L&4>pZPR^|Jt`l z-?EVM#vvj1L7E)?APG`PI{)dVB7gj+MaRYM+jM(ze)|WWIoPt*E2o;bdHL7IZRda8 zyu(XdTXkCaL8~rHUvGWit1q;<|IKM_yRUF{3|(7%f8R|bLi>F&r1e7!nz!t@Xil5X z^L(v3F7`EV{*JF@n^%1eS}*X0w0_Rlxa}-o^LC4Utvjvswe9+muVatTd|i8eU*k5<`kF(Vtvh_; z>(F(puTzg5zUEyP`Wkn7&i9b=x0vSbUp>{T^GaW+ZojW*^Z{Ro2R`;SZn+STp<$bs zaQ!B2ru&+;e!UU-M2&eI2@eK3Ze=`MWRn{N;P=gR{O5 zHlO!>`uRm)rw5k#LYgh|HEQ>ouVLF|z6NdIhQBv`&DuTXYu@1rUz3hAd`;Uf_O)#L zfphul^Iw)afAQVd=VM>zhvxWfu8({*Q@+OYXxQ!pU(-(T*Ae}_1$CYVc*0ydKIv=N zY@V-C<5wSByW#A%cA;y1joQ!lg|vLk7t-))U+>7}zO3S1zTW+J`a1UB;_DLjxvy2% zw*aoQVGc8V&D&4+HE1-)7ZNi6#jQI|PY7u>6X5;0uR(|BeGR%S_Jy>2+1IAWa$oM4 zy}lgR5ud*3fUjN8x1jwOU`=1}HEH*ZuW^gnsQz15uU>B#$t*n_(sUNC+u**};1A~C zVVSRGm$!Yh7asPl-gMsAyz|SxkQPe-ri(F5o3?$z*P!8?bqEL7uK%q(r1gAXNGHIZ zECZ^GZ(z7SZiZhb!VEqnWruSJ*TFvd504cfd6ZOr#IZucy#(=%V9`aYkpS@pC% zn?jmEADvO%cYF;xuYkYzd?C%>^Xb!e`c%wz7}JNoCS5-8HSWB|*R;bTU(0q=f9ChW zEuXJ_iGAlMA&uXFa_{204LYrc?~i@0dT#LzG4AtqRDR{_)aMIdt8Q-tPCo&E6Hkfv z;jLS~R@GC!T^Z8qU6|`C7{@2RM)!XP@Z9d3@YE^aqIb{wx+_-uTC|(*Yu)jAUz^U; zj|J{!m`l_5K0Gl`rTzSTNSlo?XBc;zJ-!!TKI<#7d;xg%3gFR8zE+)P_}bq;abbNl z;qsN6Jy)zbW2>BWZ0ponzaO18d*qxOF}|gwwMg%CWj0z*%YE;4~1CG=R=&98zCz9 zKO$KF{rnq0_rm|hX7zjN;|}_tW?)qRK>i=8iTp4B|4)3L9G;%grsV@I;jv9p;;<3$ z-5LHmHg5|57VN!+q=3e*p-IN(@bNS^Jpu169Eo|L|F=Ak{u&H@r{6qC?BR~jb!Xa3 z-PNE!gv6Tc#b%ko;xt#=onu|HxXh?|KNuQ8xh|+&oYRbDVVTiVVGfB>NAy!`qL1Va zegVXd0ZGGRje};s`@-gNpK031ADl2ErS(cZt@{Nrr*$fp**w)!|j8eJqPy-6|XHZ2wu|s>M;OOLnu37M5Q=ACbBI#I8RYd>g)RlkMfzTJs9nTDRHW||O*>9VBz8Ky0*{-UYvtA$d%gyB4r){B+ zR(Df1S>0gHcdpV)GrIR&zvt_D-;RoQT#mc;kot#Jz0;f--?V)>KztKr}HsSr>CHes*;`|5pe4M3M66(;|ms__5*=gQV5&n#;^I_t-&mFV?< z>>{N9qn~@D|Dv#+d+6g%@*g_v8z}z`{IC80Kk^A8|22U>6{i1(8h?8m`LFvr^w;2% zkCuKK^6!)XLga}4%bzW|0m|&8ru{ZOs?ziw^k|caO-NCHRhRI-tk>Ma#Hm#wU+1>W z*!|9_6=)j&B@6%Xb1(aU4E#T?((J4Wk5EOaB2^U@n`+EmI0A3G|0DVj9MCV&{@cG_ z|Nox<|BrmseOt=<%Eml`mQ|L_RgyE@two4`I z3eeJ}67`o#%5dEd0~FQb?!q;Z;StfYh=JOue%iM0>COrB5>QRMN2CMp!QC41<3~P~3vE+X32U|D zsCR`HBUgNpmv&UT$}`<;$yk4520D?B=aI%PHz;%o(3H6<0|x`(O$I4E6vQAw2#|;{ z53LN~U4kEo5|Aq8l2<(?qW}sDWxTMGiMOdtsVHTll9E%(cqOHvygc|55KIa1C6Ezs zAB`>$Gzb7H6z@=j2L&^iY$@8zmXwQO;|H}}h4M%(l}(F;WfB~LX2Zhl1qmJxg&L)bVmd@&kDt$`_%j1mt6 z8ltI^N@rYVCIy`!{1br>_rZfK6q+ZYEL2z+yxA(PR_U(7af3jl(6tUgROA8}xd)ZK z8pNz&92M~sZH1}?iNt0j^o|aZ$kCk1qEVEN!w`eVg8?Jj(IVVYm6ThoCRABc0u3MK z@(dxA83fc>$pj=u=!JxAbOojs^DqPqc>&5P!b>3Fbi9{FLC&#Os{~EC&S0VhoouYbOiG31VT=#0R(1w0#J0P%N>W{ z0sEg3zxy}2ut;RzNH!~)TN1ijGT0^zg5agyMd6Ndv;Z&%>rynZpYhJO1~0BjE!qP0RW@$55WsmACU>IxDKI~zE)La=uYxrR3kyYpRBl=-5FoO<6r3!I8?sjd0wfyKQV}@{O(J>8T%MS2 zafF%^TIH0t^Ms2u+#M^0)wo zNJK#SDM(DTE&_Okm(c}WfUYA@!z;*n5jXj^a?~BxK*je>b?y* z7bC1h_6Gq-RR#bL#9Wca7f%FYl;l;wZdFxOTHO`{?hr6KXnlWegNQgX5ghWPsu=xg ze3ru{7123~T7?dw!VYkkl&gkkWCF8xxsi?lELWjL2!j_;Jj)=AGf~Vq6T`w11GqHS z==2FHERupaJvcl5=MFCd`A&lpU9SGJ1{Bw9j5ukDz5D&jbErBRmDtTQZ zZqWN>bxt3M(O@Yzl!?b2$7H%IZ1j^)v$KqdK}cza?HL4OWbFe~M5H8IT){dE4UI?m z9Rw)c{0D2ibUEvav$C%G8zB7LB}e)cLfI--BowCLMNA>Og`aQ(xx#h|1yQ$oIsx5N zb{rZ_3F{5YHImaU#XzB5Dtte?$5RX9o6BJ?v6NcOCVf0f*2ZIj)mx`YqViD!#g7+m zLPjU=sC7S`D3yzLgQ$ zG!BG1LrgNldw$!d0nx)$SQvw%HU-4w1O=J|5r-3nE>gUy7#jeNf`Y~K4tYEe4GB{y zbP_hf7cUc;bI>|awn`M<47)1@_zQI#wJn(P5FwCq&Q3zmECmRq+R2(Mc27yUxnyjy zeY~1%TwEV@ui#`PoNqQUa_I&kbD>idgBcAXqLMsx-#^Jxh>SGC65|aPu*&I-cpIcB zbapw9S{#Z8PF7?csCRhjL5GL1j$|naiw#ZZRzILsjBZSL1ZQgUH_W7XF=0d&_xjB- zyb`46^(8@^xNG47GX`R}2~<|m-sPIfvAE0YrA}B@hD7MI!d?X$90;=G>Me~;Mz9H$ z@yZBft-_LOeL}B5_ktUqMCKJi6bCAgGb#Eu#wvel)fl_QCZ}i$QN@besALibQ&(~g z%KwS<3bdUFO7%^XmtI6dK2+kh41cX;I*m@Pt5hd3g1#JJP2h`hGAf^8aI$4sSVbZo zFK{N)cWQ-BQUD=L5~*bzZQ@B@0;8chIh><)2{G}y1Vrmn2~1K*9|_3(ON$B)j_`OA z25a<5fg-9li5OH3f@#A*Pf$o~OFAAtvJ`nbogsiW4Y4wTB&5?6J{>_RB*__&45Uvl zPZwF9T|;Y(Y#Gj{@PQl(iPIiWx9Cb`f(t-ox<_gL(N7ReSO%5L zS%S@CW7zTX+DfNYi<4;9RbwmB5?vFCS%?H{De?;fl$RrgAYWST#jG_Ru@3{LMII0N zjw8kh^eRva%q=j81FS6~-IZ)?GHnoQy~3EyeoR&(M+fr3c#$9q-I(zF_~!sIGno;# zAO>x%7f>sLPVy&nm;ney=9?h0RVE|0RcyB-#HEmLAz3GGFakHIOJpKNtS(t%tP7Qh z^~t~^l9^hJX-S}}pf`+K;o*sxq3aT3l5~j(k&%TlLDW}bk%G7T37jA4C!AWE!XzW5 zCY4Fx*gP6K>|taUve+uk*jW%3mI_i68D=UY8D^@;af4c7c;EuEq_?goo&i@6%FqKhE}Ohk9x_Dn2|>V&b^f+lXal>$AMiv7rm z=HTQ&!LwE)sK!Wa<<~42opuo-6R$upEFeIX@fC_FRK2bh|8{k8X;P6G3WBm?vBDOO z%yi+T)O#d0}1ERXSa7m|nu4|`QYLjyVxtlcmV zPDjIZi%IYr0u5*ev3XEukkBY>C*q+V+{t1PRwXRV{|vaAg-*4{u`VEO43hfA34val z1UdzgY^=rr{n7yaO5j-^VOoTspdE;)Lp(>NK84U$^U-5b6Y^o52{u!noSWbRwM$RFBltp%O|Z(7{@- z*ky+NHhxGY(n)jz_GZ=brzQc;CV^Oi+fGDA6P~#fikKwQQNqF!;DvL}0C_AHj2uZy z$}yhOCLs$6D5rSgYo$6h?H3}D>jWuD$UN!>70IPkE5yQFA|9rAXGdV3A+)UmEg15J zcN#gnMej;RoGUmY6R}WFP_?e>DqdYIUIBM%%j5lT6+R|X0I zsC-zduV42*h131tzi!L9?!ER)PcxbP})i1A`7^n8a~N9Ds;j z`X4d-^zt~Os8dr^5;fut@C^c1(a9X{8AR?ugUCIIhm}evFtx%3C=`Fw6GfvSkzxzX zuSQFe8?Y#vzvF_!XO)3Vq%i)*^#xR_xzr7c#R%Mfk+y&`+8yvd6ki%d75OE z;S^6Y(pYynXlLW)8X7<1bL{d|g+gRr=Z63&f$XXH)sHGkSZm{uAs)yQMl2nNIGj*K z1W2B}afxUR?Ys+FC@I)JL9nAJJrzM|Q;D>V4YhK0DFTh!qCnp0YLpWS936S{0gq9W z7@v8nJ`S<-ID3TykkXWiM#d=&K^mj*3*|L12ER2xUJx6eU!*{~e|YZ*3hm!ido|DB zutb=~)a?bpf@NF;hcq;*G*o0bka%FpHP}In6oWcY!jnejVcsI%#9vRt&4BP3(I^YU z<%QK~kixQv6}yZ8rmWDVGSVgiWFAjIQZg35L)9Y-O-i|Ayh7hwZ6Vwv71^pFS&Pz()J3sm$|aAZQtZNd^TekLJ_ z$?rH6R2Kt^Dhmt`OJvj|V_-Fvib7Z4LbZNyZ#4-QL#3t0&4Pdt%M(%LSP`+uCm@q- zJo+b<2`tC?+yn!G0HNV@rr4K|DY15DVrwUwP^Q?1DK0C_B$LS$?IAKB9I&TX6siY{ z5jBg>ri}us8u^VmQjYE{@xcEjcB{uyQRczFV1g8@v7QREoAm&lWGg)7P7kQvtOwmV zVNw8!D)d>}Y$Y`~MolS=@C|A{-lZAh5sgGV7rO#omBnPxKmj8(!M67!OlSu2-ei=@ zsTjKhhsG2{&{PbuO3JYL-(fW~efXz7gMn|ws7d}{3I+Fx+pwC;gf{s5PDl;^8`Q}V zfDt3dH=B5{jl_d5J3(+M^OUd-g_>^)+iOTW++$$J$aDjRBZa~-xJ9lGeiYZ0ODn@J z2yCyMQlJK-0vm*$xJI3WgS9Ma1!fX_SVB!SS71#J(x&hxY0=MLkPSG~jDEDrGQmt> z0|*}jf22NsfGPzVKmqu_NSEq2?=X+RCQ@c9A1R0|;=Fo~z|IQ~M^rgg1+p9$2P1Wr zXDQ$eRokw~ztg^tjtiu5vI0HQZhK#~@X3N{$O##~KNfr27I$V+3= z1^1gSZ7`$Jg@>mFI*QT@(u!!_=myQ9cTszS`5mX%W7tM_=qL2XG}I=9kP_uS76I>9nBChlPRYfjs7j0(v~cqm+gqvKXlCW7P+b3Rm(& zS0C^$fi}uhXz{;-WPr(q7QTMb)^5%)tqSvJ%$T$1N*1%Sy^wTNw<^ zn+y{Kc}9wW&?veUi?j*r7R&o}c_R=H$e_9Y;6yJ!Y_=FrkK!F8LF$PL@uE47E%$qm zlQ{2jvfnJk?O!>x;2m#k(ojvD8u4||8Alqq~1shGpSNYe3r zvA|(WxIcql3OlGAsn7$(4FBqvP>RYJ5(hkV+NV!Y`5imueq$p@VolOTNivrah6_<0}F);1E5gH8& z>lRc&z8|y{Cgjzy}395S|FG~qUZ`pFaqz> zAQVVq)Fcb-@o<82f=E!tj&Q$aF9GB$6xQHQLU-g5^Doj75(vE~(ue^ihKKVu9uXm? zIkS^iYMA3WTRfwo4NM|GwD=fxfK?Pu}B^b4nkP$&Z zIfIu*wnwq{ne0E!A(GaJ8Jt%TC62Su_)sP^88pAdB5W_^L>ct15SxyrZg@J`KXaXQ z!tp^T3}jy(k9^F8MJDl3HWcuqDq@m^{tTQT!O0f|_%H*fWW_Nyw#rh5PC=?FLBfkI zL%s^BPGwgWqdRbba@AIuo%kr3JdURhDy3Ynbyj&SZjY1oSj>uoLbX;_Brhm5sfv_9 zEr`^vp^6aQpj~V!>$GUqMjxl35m#lkYW(F-t#Db)S~dDtNCQ@0r<8qy#cGAx z+=Ha7yu@DNVBHoF!abx@g^=&%73x~T?SuQi{E~o|CeJ|w!vF;>*e>QTk0_B%a=1cV z+~zKa;-Er_Vx%b&gkE)r8mNfHUg;9mLX8BTO$Z!WkdE$DB}h*$@>mZLxLmmyZX!j1 zM0lbn$h=bvV*P>Uj~Ubh8d2;UxpI|K=;Qgb34Sw=kdyy#679rGOWhdA z=Z~mwAZJNrL}4=q{-~gzhxlzRi2-4mi0Dg#(t<=oCMswgD()4mK($1~H`+lIz)uu^ zegP$Mj}$Fd+_V%qV8Exw;xhmg4sW9PNGOC7lqf2Sx?2Dw6WbLE?DI!9V=Bh`@O3Fb z#ZvrKOrA1WqxZ*ca{)0VRt-md;-C@~R!vBkU7m`9qUj`sE*T_WPCrVj4|vISKt{B) zSc%r-Kb}RRR*?k3pU??%jKkjqkr1&bmNl8`MvRL6QbPE4yx<+XeFZMkOsM0wmz7xq z>+s%2J}x#iAZVnHYmCE9uPD7BUQfa3D75CNOYY1YKE+$djmI%LBn6f7(X-rPDZ&0= zN1^jvz#*D8pI_(14;R@knkiZ+@;VH$bMCB)uozOEOnUf4tao!k&R!aa`-x-HgfmMV z1(N$i`Z&{3;ISO>qKl3?NDl7Yaf1Xo`eYEr^C1isTxDYN#vR&hZ+2)|HsNW7`_KXY+L2_!JbpN?RXAV|M@NrpC&N4H^tbka?PTCIpHyZ^GgNL0~A*l zNFvIisXF5VtO2@SDGlD>-110cV6c``3QD|^!UZWEe+mN2x(G0MVG@W=LRc3TIz>fj zF<(nmD5S@Pv2dEGkVG|@%mKp^ou;*`a2`&g(fI*axuw)C7si1#B{XDMF@&MmT}H6L zzi$jDW~pnvrE6f-=4?#UnSDU+P-0=SoznVpHO z&13} z9#|r=i=abYC<3ri5(Zpbi-{B-`K_c*eo4tm}Z23!ph00047 zl3PGBEfXeK%`%{kdh8OzPGVfHb0nE|=q z@x?y4+z4odt#joEEgPCSj215bNEKiFAxi^!45$*a5^|TNb9aHb@Yu$<_=`vCUfVH( zQOi-lJNc(zq+C&?EL3>Ng91Gk7ND$xf{_JUmE@tdUYAdcu1(LKMIm;MPaacbQaAP(`<>N zmMv!3Vsv|jE{n;M`gF5Ih6UtumApp_9#mpK%oB_=c@k{pFo7+`%rGAbq&YNOO0yQ) z2tpd2P3IDOzzFOYB8L++9P5|oFe8ZPHcx?qzlctqPpD)LvU;I$<`hH%-^gZ0n9JhF zJ5(4e;Xck%W z-FUbH6g2=B3j=+Ya^T1%p?TiG`Qjm$GyHhiGKM8aF44@{as=jb4vIE3GF7L}JUx;E5NFwcw$#rNSHW7G&1g-0XOn+3B=9X&?tqbBVpohK$dmU((dd zD5ab&_jvNSU?6gI!xAh+mx$iEXb*{R-as46;%Dnw0lp<(4`W$CbJkM8vPHyLq+?mm zW<^rN!ng$U`aqx3rfzgO5{yr-DWO&6Iw$@#yNMAxPSya5iqzID9dT8{*e}QP{9x3=%ydk zBKFwHAt9WOP>7?>f%fRQXeG1DPXvvyJB5ftc*Cbv@jtM`bz~d)OS3GZSH%RM^XXiS z!YnJIg8ayHfEH&1X~4l|{NQt9vUNGUnw`hz7UUF>mgKpRghvQefDk8Wn+poc;wc-7 z&x!NjPLst&UcdwIszyYTDl7!l%tgYPJQtr!kRHt|Bqn)XK0a1sGeM8?TrxSl!+Fys ztN_aj_58!bm4(<}1crQ|$&9fcCum>6`%#OiR6dOf7t4AHjIsa44`mZz4%*K-Wa`-r zO0giWfre8;=fObp;Q{cp1S?{X$ngVDXIT@<5r~g~O~v^9HrF3HQIRKroGs>IZc-@3 zUWhD)uY$_ZY&pf7YIk5a711>xPif)=bu(C>}J@LuucWJyk%dP%WsoXOjEPq0l=0E-4X*c@Q<94 zp`nBdvmiOM zIw7!f)}2tJXfyHng_<)lOg3)K$n$}FB)O1{G zY-XlbU8uTKLDU13D?mp~86*bwy?qT_q_9X$#~O_zP(_dfZ(joy&}-#|nR*64;}#Th z6$&Pc^58f*Xbz^RRgVnTQej`o#1fNI0RURL-Da)v*xcnFB)fUA2}Ti)O*upgM)o9+ z-DL6<6q;WmkJY{Z=m8(q};;Si0D}^RfPp)SQM#3<9!w`mN z#%B%7K#kmX-lPF;wwzF2$P49#k%jU?LY6l?%E zvP9rOGnRq_M8R4#1$~w_O9}wN3Z4xBFfzQ9s>_Zs>azXpIlmwq8?*9ALJpHBzCZ%y zGCAVuW$AOY9Ep_5TX)?JZZlUe?nf(rL7iZr<%)ooMd$M{1E7gumIE-$<2h)mQVC9N;7%8`IRpyXY^-YQaMNgFyuNyu>5% zl8c5AMV17_=7=pQ*#UPvhDrjHVN9I7VPpbJ%CoSV$?s)-fw4$ifJ}v$W(z%L1B=ZU z_n0RYhxns-;%I0hVSs3p%LFMc&&C~#cdU`g^~;k+VY}wSrVF4kHtcQ#u;WH*vk0q3 z1^rI%EWc)`(IdX91q{P1AgG9(6Ixh*%}`n&TD8I&_{6q@t`KvQ8dR_4O zfl;353QkDP5=lP-d#HdgVgojRldY3gW=9FQ`Zx zrCjG6J0@RTmE9*$*ljrO zuJIaCbPmuAVT*Z*R3l6!m&2bto+;)qxj|u!DO^6X;BZVFp*vB8#7UTn;u$g2L{kD8BtM&AidFlA6no&qe6KcY)v6K4X*`As_0Uk zU}eF@s|Z!S?^JBh8mh>G-jlu+W=7bZ?Lr`alrur!5-2} zutmog3mf>&iP0^9FYzdj1OqRP6tVy;M6wkx6+odJ!TbcMT_p}8k~H^lBx%qtJ|JDU z1T(gZVNx@dZNCLZk>1swMXZ)mKQkyRSBoA>?C8lvhx)u)sy< z3U(t`K^7MAbA?88p-K)^f+~I+F%fw!)-!Q1QdnH=mQVT?LgwFR+3XsQIT znL?HVN{b&c&QV&TS_acBgPF~x<3Yk6zM31gB;{79Z`=(+TyZbri%;*|gQ!W;91^0m zL|j7-Cz>sR?J@*Om!51Oa#+sLr8evtn)| zXh#~nc%ai3i*G{8(%sFxvi$8aN@cFsE9#QT^K!;^QLo`_2{$YMbdaS}BX*{Pkp3_# z0rO_n+4$BmuT&(K?8yM9MOJ{mVliQD#TZOX=K8}HkiL}I>VW6x@klKVUOGVk5I2IP zJOGgBI)T8E5UYXq%k@T8XUjBK%jUEyd}uBQy_eXn zR@UL-0+Dq_ae*xK9#DX=%WQsGhT>o#XU%ZC1>J{_`%z^YV@DWA88b%3rw;>oVe#w^ z(8xu^BQV$}tKPe+$N@t-o8gauD&_o5bvTR~{o)u*H%oM6nu@`KybQa5`cTSjCDlhg zm_!&FnfewV03bOA4C^nsq6*mwLhJjTn{0Fm5_SQrl7@*l|7}c}L5-*RelvMM7rA2N zX^uWeWkLEf@k(>8=hQha8Q6Z^5=3C|pT*?b)PwY@EyLzn9WQ`OrY3M~!I6-6$KLCf zAieXm$_o%}a^Zi;$a1`1qa<88OW{?(>Ib5ev0ii{S4|jicZ*q^y@Hel(FJpm`n~a@ z2p(?rLFN*ZkUSnndBGdW;sdX;IP+Iuibnv^X(=g5#G;=}*ql?zV?ULn{j-f2IJ zR}j+pHAE&GnHjAjx@99Uhfk-1Y;$2Wa>^WhHI4q;H$*qRQRaJT&42wiALPWvUPaIv zn!?%_Opl{2_*G0@ZsVB~_ZiGX$BQQQ4Ks`QqVN(6r#FUUH)$Szq1o3?Ohuk*2M~FQBRbnKLp*WEdi3mN$Z2~2}L>8vVpq=zwJNtioh%1H0Y zMK@q3ayK0%NpCq4zY4b;kyu;NEgxZFNui7tUFvJaA<2oVvPz2yUDAra$ssiKq*S8p zlu+S-S^|@(<9>e1;k1vhK|$$>__P<3;^oiS;lp1^{-23L=lcTEXmkg9vZ!o1Rv4sZ zxis-@sl2;@uoZh9v4=mC%N<)YoAi7NX^cN~AY5UOtaN5G-UXrqt=cj#`hhT%$|MQ5 z7S?ljjuCh;tSF-kLO2?uRLO{ zAo)Xv|H!c<87*w3gV-CB=oC5wOYEVkLlzy%hE9@{@m?j7+Q-BQpp_K7ugLkC7S7BLYUE>~!8*PsvB(2w+P2NIe+Z7qU^v znH-(5>#ZQ+LkR^Lgp?)==ax}YK{8oBsnK~jo;qJ6ox36p6(3&2|Jsnak>N!opgjoA zX9V908PJZIb(%mD;(p77euM<^8vK3x4@?{QA0L!%fs7#AB52E!eUZYgX28}6nk>(t z{rJTbzQFC0qB5C9+ePw9wo9;9(Ec%yU_TKo@edXG;Sc}>LV4=8g;p355kdy>Zj&6y z6>Sb(Ux*Exh7ONFdbfFeiM7%N0xF>_7IIYpx>eflK-VX; zWh`Mn!Zi*YElMa7F01EG#RvNlUjicTd^UOEYl=A)1`002F)9Rfd}5f4$m2n**U1i>?jCKL-F1AB!(;O)S8;n@}Wr6gB4GQ^GumXA`3as)K6&f9!pG zf7>>)=>0eT6f~1sWJK%XJld5^d(%YnJ4tP)+g?T0ktNz@B8ys4ik-Ff-S0dA5Fjbp zPSW1juEheg5Ba9=UlMz-gukh>P6LFl3jTzn8&ma9}Vx7+2o$)NT3roZW>@!qb7dXY=SBt~0zbsweK&S2{b41+!$t)ZDcV0Fc z7^W?851&LcSIriitiNwwVDa)mGIVic2$Y?lN zyxo%o*OXor1SRf~#SMC4Vv2LH!!q1~=II`g#?Hk>&<|l>mQN$j999XC0=t3wOEYW?|$KW#oMvvDBXc%15(To)VsfNSuK!Aj%1;5e1 zzgyTpoQXF30UeghXOTbdje}tLoA~>?MWlum#N(dCf!UQciDbg3Fu1fX&x2s_Di}Z$ zV7u5mw{&jR(#cM><)tuDHz0633v)Zk1)n#}o;rVrS z6$oz|o$)o{AF*X(Y;n^h*=#9ki|LSEX3<%=QBZu=T(xl>MjxVNsSOzdFuwc7XJ3Kc zga_HBH6st>MnlP_G9LG~GvvXa7Q*eq7J8$icqXBudeS;N5>y|AQXq_^+lEP%dR>o{*4h0KD7(T)U>-W9?^8 zip#q5Dr9%;K9WWj#uI)e5f-mn{K(;(#A_vO_G6$f`L0vPIdf9HTef090OvwxCsD0$) zhHgU7GUgh^jM3I8q47n^U8Wx7BkzW9_$gH$%D9(Fwo>_LBQT3Ut4b#81;&fkxX;bFVzs<#pKsVh%^lV-%1-$H&+S z-rCgA+0p}mkrs3ib^A8E^g>sZoTWC$r&I<RU;4Qcs9dEGhVqs)WuhVB;n-Gb$laOJA6RZICFf8 ztFeG(vnu9jbG@M!Rdd*(|JggX;VzB#*iJg9E}XNEx^4`z8REe~k+lSr*M4ZC;FoT@ z@+O%o0Z8PNl(;`nv7OIpzRw@hgb`qf?1TY0>_Qaf8hxGqnN>mPv+xiLs`IYrY)n&Lb`_5sR!sS}0-GyPmH zFBQ)l2ueHwNsa@?*eM#-@P&*=n31pPU5xM?!qy14^U# z{dh|7RkE&^tb1Ov=y^N{;-QtB!%_%bT`eih>kgkdwZLvAXh<=$I^3-K!+MBBY zBY2d~qS{=2*w(EfxxKx`rmo)ZEf*p7IGj*PM7PDetHZ#C1xaKDi#6jq;{AagZiuGxkbd0B_e$5#RAWW9k>7}j%HGdMy^(dF%yn58Yz={ z5sAw6%*au-bUwD;M^+64;mJX72ojUAli+iu^vuSX%@kw_@RV6(l9$Ag7XrXAdWlgH zh|!ZNq<0cs9YD_yNI0C;x8}vBM~1w0r!e&PCC9;6m2^}LQh$JOpc}bhy@84o}zb{6a!e0CGO~j-|RlRRlF-Wd)2w;rdJ_X^UF0rTd|K({!kggW-p@{Tb zw6emWglD3gn{vvTi}d26!r#z+BglstZrHT@MmoW{iG%LAcW#tn1py#uG_fI-Gh4n? za>62!sHV1ruK{umm&CK!ayL1u(w450Pyw~Cv5B=NwbbL7mOC(*wVd=VNavtJT0kHh z$sIOZO7)pm9OoK zsQ()5Jgk|-)un>FM{iym#k{RdK~%5WAL3|8;m4x*el1LH>zVB%K6bYT^1zt~rnIe* zHgO`u1OuGWv4fsaBfdC@dZa$4+nLgEmc%oyyG4{SW}B#C4Y^SHYW4E+auu&^uL7`O z*o#R00P83sOyNBURyY1U?D6B(`8bD*3`#G0crWBPj>E8tI~^m%u@6Gn?Z(mRr1aat z{`T?lTidN+Hhh~*Mu!*}BgP5gb)maP6KLSo#UO?6#lW*jz`R1Vgb5LWU|UmSqikIRo?tU z4}3MY)RhOG`3_}LV}9WBbo`gs^vnMHO=kri0H1k>-mkDXJ&^IDb+@5Fu?M6=#83~~ zK&o59{MC>eI7uzY{7S18Kl0{^=E}%cL5q>JSoL>M0_qXI|C%nsgZHBE=;`J6n`L*? zUI8&|6GO=!lnC6-jg4~eNf#wr5c)Um#ANQ z0p6BNF3aF$p5N*_Km_~nKYcu_Yw@BmMeL`3hy7GYahJ9Yk^ET1V>dcPREIqwE*7#e zk$hD~o$9-EXqb=*OPPU?>))lCT6W%V-mJJCzw}tpxCgE7K=T{W{55JmcF?;b`eWw8 z?&c!;vZ*jq!%UkI2|jlqQ7$Apo>w#i#Y~p&r*w(M;U%~9*8gPWUQT5I}; zb6DJ5X?K}_`&(%y(32u-XBJ=Nmdh>P5gqqMSV`C`Ddz z0FYnAC0)42jwn94SZKG&W2R$^lZRELHycW7vVxd8;i+8J@*(V;uF4FnN8zv+paxuD z3|oX12IDwBpL$lMYVCH1R`nl0R;)^;M*mq`2QVvVdEkFr6$t>IB7l0fDKgl2yDMAn z1xXRuBsrasfeG27m87;eb5o19XW_zLQ(sGR#g|H{BW9upC5~f?GB{R|yg9qDf*UtW zH14swD*4A;?h%csPr4^$hAl}+W48=!UU`bR+S;W}CEpOz*9zRi8Z-@-T?Md z@^&F4)Za3>e;NMTdcL=^vI}$8toG^6&2KOhCw%x~lL|o|#mz@%cIfM+Hq}!N*fPc} z6T2g47dSefY}9m8#uEk1_Bv8zilfB~i=iQ?DeVDbbf{?)*xKn=pCQq0nO%+CVC)m$ z9*4e7aWlt^3oWuHEOMAg%k}U6E;8psp&F0`y$@4L%`{v08=EfU8iw6Sy!yj}0mo$WJQ`i*XfF!^yU%vi34h6k-5^<=sl=4*FTo!4IViQsTz zgz)OWcGza}^j*B6;9kFW5_$m1T9t(t>>!-(q@7_oRn5k1Q)qK|#CF39%h$S(j2%Zz zOfeED8i+^dSL}*AOf)fua;_!7_a$(-&XCX~o}JyhftTBV1^)}@pwm79kezRov>)0UXq5<5n3D*`S}WtCSWP z)A2f;x8pZ9caWy5qBOcnmy9KK~p|Cea1F zijyb)CSJtHw%4-hm`atx^C|UmD1d8cSIHZHLi59`0*pOxza%+=T^V ztL^pG;YY(Yt_^H)5OMVCkeFf_XE^bBbg9qVeR;83SGo$19}aG&AiwQBaXrjxj`cR( ze$WB}*SFW3^=;`&s9^*L-fnw#H0X=-G+WsJZ?{wDY#7VgX0xnb94AFpIrgDF3~bp? z5{{Vh-X4~|pu4YoKK@N&H|+R$kYX3NingVlr5r;lAHLW3{2i({sgDj{wMzGV`vew% zk2c+a6(P~F8h>xLpuKp3b#{l2%kPy%9f=)gSbGA04*N!2>K$fMbH^C-(->n`bBwn# zsBQtOTlr(Wl^$bpo0cLai~d`X-_yo?OCNKs>lWZ6%H<#2njO>;2Ff%u_&IB{oLI@q z^GqazlPChQe`wd0irvt`qwuaJG+nkn5*6m#5ZA<+4zS?OxdEZKVI|zE$s?fV%nf!59%}}|5a?sS==Hup{Ps~xqS z9W8RsFaD7VeeJkXvH6G7Dz3JDchhOT?-y4~?IOlMbRU(`FYzHZg6&LhZYqe)FO2DH zpF}t^h;UG)=z4GcUs_L4lY?d=xItg`@sSim*hlCz+Us?Ye&M)HtG*PcDZ@R+cRl_M^TH5_Elgb(N1ra8)4>8{&EsO3o-S zY`3}fvn}Z`a+@Rdy7HPCpNos=@aD~e%4nz?POpp^=t-AJY-}3KyR9^Dnss$k-{0c7LDw>=dGHs{ z-Nk*nEB#XHbksLi$mFVps0CO~FfuEqr1U)uvDjUT-IBxO2^m`oF*V9qTq%XQ(-CDS zX@a(F>51m@h4socER~Q*SVA72dB8~x^@;LL1BEmkmxT)eaYB-S6qqClS|M?=m$d-W z@(9mx+R~7$wptfrUZ9xdwiigK8>`g{{5Bgkv-EWQ^5`fJfQu^l#E8 zxbbf?Ijc6&GUJfs$`gaHAvMv@&CtCb8cNd~p-e1RatYc6WOmp0q~TVRlip`si#UE^k};^B>>T18DD^lZlaA-qCk#=t?1pk|oK zwNUCCdQ_L{XPO?8FXCiTb)*U+Q;&z|B?#4Pz(e|$*FH+-iJPIO;d98_Q(xJcQPXs7 zw7clU!Qhm=95L=FCCYmdDc45LE-Z(8 z{AU~OJ?F!(zg~sHiVD1)tZu&Rp?jvbKzbiHVXyyo*klYS}BO1LBAV7(( z`gm15d95INnLLQ6o@v(fw=zRI(;E^`PbTATZxSnP-w06vn)fUFUPn`#L|NzC!X>-? z4e@OF2f`(h2q1vU0OcW}reN&JpFwp1Nwr$(CZQHiBV|#XN+t!Y4>pwfTt=qe+tGc>}yZY|w>gwxM zC6#p2o%BPJN~Qb9gB)6^U4X^-_q^&dRp*5)9)ij8d^qlWI__K#fxxT7W==vA;}G^^ zRdii_b>xiDubf}3mZz)gVK$h+9)^;Xbn3R>E#|qta_3KsF-eM}=BxfT&XA{&1>Dce zode?+t46yY>=WpZjZ>}RL}=ZkHwbz_VI>MeNqmCZMhkqw)EcDK zGcj3gTVN0ejQkbHy@CH;Pvpkqb6m{tt-b(eREqbu?=H~#EK~n4f_jYIwAMmuk7Hil ziIx!RpK1B~nIpTt<`lI1%K2wL|31q8ijB-^4`S@SU}kJ9k+|x)-w4RHn`{pX_#; z8T&ln-cn}MQUn{UGSHTZ)amX{CP7@#Q*bwjj**AbiTIBeR$ul(mCX$N{=W;_F8p$D zUMSxZPwH|}1tcrNq&fG5>qnek;^Oo*r@~6Lwb^CM>RT$M7u{64b?=13#u|&Huh0+W z{mK^$BS@1axAs%bGw6u|$t{(E>b8V_4)39en({$dtjfe08g0ZgndL7+T^~46>lH^b zd{s@w%12VO+Orq6;pa5>V8FhwTT{Fw zP2R$-G4MrbY=TnWa$PxcbN^`Rt}eH;7u2fNF6!*8&Y6%g)YDebNlVh;5^mf3KBoiox`qZ3hio$9bl^4oP~UxWAyNn_SqS z7P@_OaX^`)unBUPsh?*l5T)b7!H)6B8mJX#(kVpcH|?$@GtT=^<6`BfP`e1%+Bx63 zy-Is4u>}UwizW!%QWubRB}fG!;Fz)$7J*)_p`0C6<-`ZFDKkRoQyIMF*Y*DaEgzR* z!@|l#E!-k-89tGdufvW`9@EpdQSw`Dmg}VJrB--j&KtlqE%$~(T}9a zIl$9L&T@ni@+`WQOIT%$3IDbQWaum6y_LAV+&V@3D{5+I@LF`L&hijzG z&10&0qQp(508By^IHs8I2kyB5w&2&JbK)@} z{X8$RerDNQI9o*&^es3(IBtOxtsTlb) z7w~fUbGZ+4zh{Z8HT{#XPGdW#`uTJAKxw=8_G5U*n+yu`@6r#^Q=``wzN1LY3m&fA zrg8K6Z%*?v_2_Uwu@DhadUReHiwIcStpD)GXcZwJL?KuLlnj@LNN2FiZyA5vd4b?# zee?8)6HMj=X9wjV2c4Zdj1cE*b3t+n2&mPX^`ot$@qLx)HIu6ct?&h}($e&cM8?y( zmmIGMVP9BqH1%>t3V`234NKlJ)M)UR=G1o(w) z)XeL&e#2*%O`PP=DN;{GiPL2J`&!&hzj<}z~R(`>J_sc6H|P2V>#02LBY|hrFYv1)Mdi~r zoS*%Cj4@#Lto1wv&7LiO55KHy%?dz@446)`i09pJE`vN1=GJvDa*vOhAX65esLLXN~z%0!5=b=QB7@S-| z%B2SW*iFC{VCnIGtzGkNgvZTTl^6P!%`<&?lf(JouM3)_2D));u0T*{aI8$pnFCB2 zGGMMgr=N;tXZ3{D%>s%g#908<6D^T#d4{vrigN>`E0RPiyCn~xf7vX{!d)Q+7Nul$ zxhQm0r9LcGOk%u{u8MStqN`Y`BURCEn7~i+{xB-Z&e*y!xN(p7_;v(!*~bT;Q<-TF z8Uwx%ql^+Jydw2ES=t}N@(Fd(xgErj7+OgYeq_eW(>^VQZi*|LKmY(n92=krdbb1x zOkTnI2!%VLFGU1(Q^rLy8dt^H5DM&1@u7)aOY*gXx%0#Q>29!OFPWL)8kjl}zrY_NbD+KQZY>8_pjh+dhJ=3-4e^x)(%$eQ9fCr~4n)b@ zL^D~+k?b>+kwpgOY%v~DdAf=sguRdzYaIX89L@*l*!J{E#&`lk_~Lg^gQsO;QVVu}G?9MBvmiT{1Yg^)hBePE;VU zkj(%}mV$UdEs<#sw!FA3jdE-yB^7}E>%^I|R3bXO1DBAf_Z>wQhr~z|J(Z6OIs)by*@hu)zGu;szI%Gr@jj$7N4K4ChVm%XOKq2fuz`_(=_r zvk>^1F()N6l}Xu=Fm+a(gGTx0%psj0VCRD9Yi6eo4P3MO}Q7~qXNh!7*)W4Rzu(G z?{X`dJ3Nj>RKp$+Lnb^m3k@Yaf!I(pD4qZTPDBr!cWTd2LdeYcs*v$HvljoEj2u)b zT~p+cFOpf6yVTx*v}Ksrhz?_v;NNAnv;utKLi9HM&F_l$=DnR|>LLgqiymuDNwqGD zk#Y+(9k~JkbD#t=g<~+YhO3YCf>2ernQdp|VnoV#9EMbfjN1LC*>e-(;tKk2Zh0 z0YtmIwfk<5x=Pad@)FfnQrTlFMw|BU;9X-^?{rV7s4~4)rU2*TK4L(vNkHeGJp1Ff-aXMDM35&>xeJe2;uE{&L?1PdmK~*e1 z$GuWtl(yMyeYMHygR|qhSAmaxHN}V71PtoJ3L0zaE}pZ)<`I3xHGR7EiotYxEE68w zcPz4S**#?p51Nhb98<%I*kNUt$aFW0N)s94kWI|F?E*w8=sKFzq>E{JKQWpgu}q7A zvR2&QRj+ZVTjTiq5C%}G(vW2$G9GZz86o$-AZetkRzQA&*&_qcw+e^%HBBN!v3%2j zb!vSP6AbIsT;o{R3xkhi_xhbqhjiQPP$7d=?Qg5U30fZd@E8bqcc(eRB+Nm_k|DmBAj(`y7wJ{Ub)D zfRLh8p23gcGF$|ORxdjAJ(bEGE(Vz$ZP=CE(PM$mhdtuy*w35*I4b9R}_qv^Ba0^_Qnot>Q@6_RC> zsbtc1`V7OYs~OaS2KPRpHV4-UHC>C-WHd{8b^iSE;1#+`!&$B)ofZ3RUsjd8djzi^ zD|(J5Wvy^1TwycVHyG9h`+;Co9+jf`Bqx@Vb*%NGg`$7+j&gG95Y8Z zYA{ohnFI(soL?(q*$JaJBD#$b zIvXlvHk4hlIJNPKBv9HEO$E!s;oPxevlcnmTTe!+E8VGRl;@WAcaLMjU1`Y3FW{w3 z7PjghBc@N9lC=|jkk<&`cCo$S0m@wCKZuj#RsMxnf;H0wM>;H3P}XFo;8Kww`+9mf zhftxlTZK1ww{e2gFRw;NtZb=-p%?MN7C2Pb9DTnRh3G^ut zuZX{H3VyiCEyprb!rH&;ak|Kt;X6F5xwOkXxTkcaVs!?u6v>u-NGLFa<=R zC3E$y+f};+91EJuZ^ij_Gq8MDs#0S)Zj=vHfn*ZY)Tfjlq6DqNI z@1eYvh}+eilGP7u5eQ>CHQaC+(rU5+L7j7{3X9Vl`%NIRk8CQ?>y`&e&|zfz8_dQD zvj(vMd5|D!3Y1o6`FGe6aQz%qZ%hJnO5gA;a*3uQALh&c0-i;aq7X5hNT^` zx2nVv{`Tu*YkEzS?l#6b9Z7+rCuuW|_ABiuB@5o0Q4?hZU*v`*K6yIFtquK9(AJVG z?2}3zcy%F#&XzvVK+m1mxikj&42JfYbZuq?WO-SaC?+coP)W%gsXvfp3hw%O&u#cR zy-X2N+;`6Q9L*IK&M%L-@L>ZWawqx@UCkBg$fZV=S+p%@x#J~`Km`KZ4U>zzGrk{c7QkMPbg^ z75CWgF?gT92f%H}2q%%%-MltqecHqGi|_kgd6tD9 zuwZ2spmLEJ3zflAU*qI(FKX6DT`$%lEruxBAUgFxJV1d7cHMU7OuH!6Ys?n+qcEIt zyjm)TWWG{Hre}`&xdMYRda|1WExQv)GUNDJ%Y)JCR}>0#&pKN1o09T#!vw_VfHqQ@ zk%^%Ko3s`SHHiC;8WaZz`wJLak2T)hMn&UMD<^ zo}{p*Z2uanrge!#x$10x`)D;My|XQo--W#`G4&!7g#te@pd>Gkh$6bz>UT`30F|3= zH(|W;6%b&knYbD{m{|U{%)t$&W^F|_G)2Vj%gx+4w!o++&>JjgY6US3%(1c!9_SUd zlT4A3ih+%hQa(21kStTKa)ouncUo7}d{9h6+5^Y+e114{nt_1Q!=qAi$Tek5sD9b3 z{BR0^eFL>J4cxivEgh`SyUu0%dgtqRsDn;fj*Pp)@hR)#tI^_-Lc+gW3k ziCZa~aRq6_-s0X>+U>_p{rk??4<$9_l%Fz!;7)72?x&!jf1if*+mD|{aLLWL;7`cj z`|--iz&l#3DGa9yy}BJO)-wqL>ce$M=X*+TXJbp>=lRUk!QLLn>*K>!cm9i~fzGo{ z=Vv`7%KPN280s+<6H1fWC3%DKE?e zewp3h@gYE*8sqv{x1~^aZ(>%G_lP30N;Rf&*T* z*!L!d5N|9`Q9b?V{xpW8)%r8SJ}~CQCcK0`E+wlUVfhyl6%cV<&TujVw5i4Tkio|1 zO!B_sR8UIz_a5>dqCtnApSm`UVchVOGo;3s@Ea%5ldkg-Al%v0x9#(GK5`ecx(I5T zTMBydUa}B8cNII9cmuP9)sG-q4~s2 zS&3VzA{`NN^x;-X=q5xMqvtuhvlBjS``;&DFJQmTURY9HzB1BMnKp&^cHayPYSla5 zf$9gQxzjmP%RK!q=68wiH>AY5LwVl-mJ!Kc-w}`aJ7$qlHHJmM#Yo$@W0V~@g-#Iv z;iB*v{R04c+Z8c^7z<0wPMHb(P`F4)^H`wIMqk*;$!RtO+d(vPhT6ryHd;nZv@{+Q z`)!j>EZzjuxR^}^t+kg~%4(+GedbY||IG!P2@%Fs(?J^q`PjKj5vME7H_Mt)=F=U= zC(;=6#KK5>;pNdITuP;t)9|)0tU#AxPkR}o<}12Vm?7jesP#d`YG~h0%gZEQky}oieQCso}My$w|DQes&f*A#`bVU^d z=zznYnd`2@z~UUl1a!jUfN{^8{63J2J3lXVlya{RAvGdj(4R-~I}qf)kNQV5U%>a9 z|9i^tzB}@LN!SR#H`=FlQ-fy(NV zqh#Rr3d_rgHI%W9A=?`C?^E{~J9rf)xt<>KxqIpFT-B}QY2cqid82t#${>@^2VS%B z_c@BkKxpI<&ns45-P6aRMp5nYFwEm$XbG}|sw(5+sPw_lfxua-L_EzJ)vM>{P@zW? zmV~{eZj|iVjg0~8ZM6|=S^>|761aEY4s_(Wv!4PCJU0nS9mw1q^lBg4?BW4cZ|l3A zB@Zk1=i)<4Nd7_v8w3Oo@*wLA;g${TAz8=m2N8FzfXVp+jm}jMnS`Aeaw%Un*-f(c zN$J)5AzQoC8b6jug-MU9!J`Ycb64lI#>unt9nvxQqIvq-4mzE66JW%-^0(Boxq#i(E5?$xADz-4hL z@<&$G5~X|^Cam?ILXaa=HyUES)Qfh#co0;OIuV8ue}1|#OKnpB60&m zfV^TpHERXD^U{9;{N69SKVLLI;ocmxt%aP(9;Fw8<2J~!JZDE2+z$1?QXVQ0c`wjm zn8#wH1@@(NEs4@puuUIT2ADtCeOxod1+4W8TRzUQRA=p7PKyl-H@6S)QVnB_? z(&vx$(Z}}><6GRXK*b?vBlMz$P?Jr}bTt&1x^dJNvTaXA%6+2MMSOwR3f~q5X(E;@PZ$ayRv0Xy~_O5vR&DpypC`yzhcLEr=;CQX^ zQcc5#?;+}vOA}T+6RQ^$yFzf(zBhcQ{+Cu)Cp(OG_!9UKOG&th3MIS8MGL2_*0wF0 zr+=|DF>$~eAyG|$S_+Hvjcq0>ip(2Bd^rJl_=UI3JVREU8`QTULoeZryC!|iPaH7l zw^!lmbd4^9zGo#d8BR&dyCXZz1s24}^(ZnLvO*5JI(t&|u@Iy78ScuyU z`njy|TA9z-$;C{-KBC%yjnZl|7DmJ|eb61PL36hlh~K4Q1aQm)lMPmTLt^^Y>K$*V z;OlozH{4Q5ElQGNu_mm{S`Du7I1C8-xj%Co_+Thb;THeyYg~Qh{7TG{&3CAE__J~+ zXN!M>cf%RG`6{}|$+gPOKAGv`8>U*9Xc2g^voC-MoE#Wis368JRX}cgviy!GU;84u zMT5h`bJuM8hb0!e_V=eb3h%EIStCEx3$li;-ia38*Vs@(ki!y$rq3Dc7$Z3wwp!kV zvdP}F>xuQRHQ3^G&&J;wAN6;RQ8uM?J>$TOK*;vGe*Y%(%eiX{yy zbA#2mbG(7g!ya}8`6iQ_^GR{FK`k|Df%Y)+gNB6ybP*vWj6gSU6%p47ddzomkIBRP zaGW=R0KMlLvL+xujM_bZpNA}8b+5K+eYbj^A)>qjOiiSde7=;ASm+T<$4X{)PT=+X zB6T89(!muoI5ZM2Y-aDnD`|^$rb^2;q9Z*JM#MsCJ@Y{1KNlCF5yDuHiusp-lz6nI zr@GuIaAr11y{=cN5gt<2V(@wWv;@a$5fr&b+258_=gfooGUr_M`tiVu<%w{>c?i{R zO@f(X_^D)%{t3c$I%8T@rl}|jB>=Lbu0~ylmO_yc#%hX{hHUFA+nlRfDE}OT= zr2DO^U@thm_G`R9l-4>Ty%JYSnCxDFYzuU%u(W+zCV>Sd-PZV%wFdj!1n&VELIlP7 za7|pu%3XK)+T#LyTJK3^!7%TFam6EhS)~@W7Z7D|E5_(mgg)(JCOz$fx2Qi8M~NNe zg~^J|uc<4JJ$3QPeWc3Gjuj1Y538d3D7!goC!dA<&m~$C!2Z1O>+DCa4SLi5#+Om) zE%ta$uVNbF;v((&Xw{sy`?dNY`)#`|5lb6$I6k@#e zRL3z_ZfbW-ys64fCvg3$$aaVq^-$xy3wpj~$2UyU+EovR*R_b;07ZFQp1x8U=^n~ zz%iU~iIW+`D#@S;>_r=a{3$KTCBH3`IfYg?)8S3-kl$tqOHHa&;a&U0^yDB2avfgi zasV`LiIOyGDMce9FW%-=K`1aBSTke<_Ln~Wm?kKqurH}aCg?{Dr)^&IghT)}oqY$1 zLvTA8BH*6xHGSaczL>-PyO{d2|A~5@{^UoIb}qkUHZYI><8JKcL@;nfF>iBS3ha3? z*%+~aaFWmK^|r8;FgPgcUler&YsX)AQ7Fz#eC%bpVfi72>dWN$MPXAsftE&hRHtF( z6^!)BsXpw~Itpv=nc!r!Ja0g(Q|K#6Uns893}3FHRd~%1(>iD>>d0TJa*+NxHTM8h zcccI~FhB=c`DXdG5VUPPbq#dSZKRlV1rc{~3^YCA#EuTe>o(VCrlR(vNyBV7=wn8w za)VnUxjm`TKv=K%^b4;-NV5|aS1ipa#%cWUB1%t4?SO$KWQ#O~hj6-)X=lKp6KZyI z;|kvMc#G_08sT4@PsAaX#sI9&wx?fZx6=jZXP?bvTG{E5nw)gqpkSb;%R2rVcX{ec ztd4&Z1lQ$BBU2o1NGErWS*q@qd6mdi^aU}#QO;k{@S45Azkw@{AN;`8kRbie{F&thwF z%G)p6*o(y-rQO-lj8B{2>9^=X*WQbui9HzWYIEhjYjc7*4v8X&9S4+^m--)P)`vmc z5I8v8lc>*5J;pfo}V)ln9u_`7kFYqY9`pkTku zW|%k!Yh}$3cf2IXidcN@@2yEmu*#s;k_<>+Bv>zj8Kf2+A#>Z3csnTdcsui{*KqUGAtHe{@HGQCIO5M-I_i|AskVq z1_=e!s=STa9F?z}t2&4{Ex<#5o}s3GV|_iqsovVejXR+akVJ2h)ctx^Ah;=9w~|^G zwmF!^%0+2>ie$rT`1feRVL-@kM@+C45rZ%kJ=AD{>vpSH zXk0f}Y-#t6rjr~Oey$G=g@+utiy&DsnK3-EgZ<3}De5MT5yW}(OAH_Q#}7NGVH>}= zJf87pvVqQ_!&70l4+6%U;R6TBb-Uh=yaw=yCg2ZGRMcEg<>(dgMnYtLqV5?Y(sQ%x zn*L?s4=nmOz4^64qaPst=e|2DFQlaT3%?P$Ly`KOlz+e!nl4O8gtF)iwD3jDE~7(4N&NSXHP6L zwiFY?FftJ8R+IQOn#984+(|BH_e#|*mPgmz6i{;`q!yO)5R|4SVwt@wi}jJNb9K}` zG&Fi~FuSldI+c4oJB2w$1mqb?G#$OJ5+L69WG0{(>q`(A2ngus2NbAHrgaQR z0`gz&Kj}YU0ef>dV>4qnV+Ko~|G=pKSXZWh#KFb}^k2(=^uLzO9IWjBqwT-*nOWJG zIDm+l{$pzX?|Qqtx*5CtQ}1bIZf^I#5%GWG|F@<6PmBBCi28qtMHmAGbi*Ge0|dIP zsqDDLffR6354h)%YEl(+1L3jL+9_IJ1)f;VFh;UEr&~alPAl1d-FuOmbf)hPF6nKF zGCmvsh#x!Hc{5EWdxTuFN66g04C?-*ALr|L434PTsorBPi`}IsE(Vi97A61)WOYGO`b>WS~v<`*mDQfh=S~WS=t;JQ^3;8 zunVOLo1hkehCF~VU=1Gq`ASGk=2q*}rwfq5U`#oRX29@%ohQVk^-Dx)tFhGsP8i@F zMHiK1lfT-F~$1l5vF0W*BrK)xjiB zlw;%GF$EDgHKbuI)suCZO#6*b{BS^;WJDtb4>`Hj!VIs>QFB{J)AkqY<6y_};^oEG zuUq%${e8|IN5nfzk#=9KlxeBIDi*~T2=OkgsjoZmW$ojU2sgC>r)jtG!1hK@1h;X5 zPk=V;2&X+iOJ4BuX|^;Llb#g=uIroYca>1Eu~uwmZLVD(&xO!C45Z#XV8IN0ZPHjt z<-quWsmFL#0r<5+ZeffABtaDjqUIV7GP|+Op2)fDz@5a&(Ym^-lB1&)yX?2jojF3A zIZRfkQR=`9u;Ye+9aevti1=viLjGlr5%f>I|JFYQXo6krpiBUMfPjY)0(6`FCwPjN zRrf>^uXgYiM)`3j6gDfYbuhNUhf6*JV&^L6bfgcozom$Om<3C%wAlD70rHb%dt`-x zJLFHbFr2*HDdJjz>DCbY<@z<#aJ(ae=waxt6Ljt}4#WNd?+_AiHM1TwOI<}h5aseC z(wChytfpu7V7)KAe9W*l6ON2O(`x-0v}z7CSuu$99f7co1t{xeB`bcSj;xh-m|2rY z-AwbrU#Xs^@nMo$YcR=ZaQ;D?R`)Qa)y6VvGA&%X#DNYsfNPQ}IkW*n;&g}R&*v9~ zx3rH+6x`T~GH9t%-LWXd_L2`_af_i#4EQ>C<^vCKUFR`d9( wwVW?bN(R?}-l=uV%Ngsxo#DTpWpi+t8^Z|yFKrY5IhX&mz<*lc|3eG>7sScf%K!iX literal 0 HcmV?d00001 diff --git a/vendor/gems/cache/shotgun-0.4.gem b/vendor/gems/cache/shotgun-0.4.gem new file mode 100755 index 0000000000000000000000000000000000000000..1876bfb687f3251ae183726fc0863620b8549926 GIT binary patch literal 7680 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 literal 0 HcmV?d00001 diff --git a/vendor/gems/cache/sinatra-0.9.4.gem b/vendor/gems/cache/sinatra-0.9.4.gem new file mode 100755 index 0000000000000000000000000000000000000000..c30a6f7883a294eb92ad96fa3f646a7523e736e0 GIT binary patch literal 119808 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\Gh_dB*JtxTr{7H9X6&oAp~B)`N_HX%@8T6Alj{ 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" + @output.puts "" + end + @output.puts "
    " + @output.puts "
    " + @output.puts "
    #{h(example_group.description)}
    " + @output.flush + end + + def start_dump + @output.puts "
    " + @output.puts "
    " + @output.flush + end + + def example_started(example) + @example_number += 1 + end + + def example_passed(example) + move_progress + @output.puts "
    #{h(example.description)}
    " + @output.flush + end + + def example_failed(example, counter, failure) + extra = extra_failure_content(failure) + failure_style = failure.pending_fixed? ? 'pending_fixed' : 'failed' + @output.puts " " unless @header_red + @header_red = true + @output.puts " " unless @example_group_red + @example_group_red = true + move_progress + @output.puts "
    " + @output.puts " #{h(example.description)}" + @output.puts "
    " + @output.puts "
    #{h(failure.exception.message)}
    " unless failure.exception.nil? + @output.puts "
    #{format_backtrace(failure.exception.backtrace)}
    " unless failure.exception.nil? + @output.puts extra unless extra == "" + @output.puts "
    " + @output.puts "
    " + @output.flush + end + + def example_pending(example, message, deprecated_pending_location=nil) + @output.puts " " unless @header_red + @output.puts " " unless @example_group_red + move_progress + @output.puts "
    #{h(example.description)} (PENDING: #{h(message)})
    " + @output.flush + end + + # Override this method if you wish to output extra HTML for a failed spec. For example, you + # could output links to images or other files produced during the specs. + # + def extra_failure_content(failure) + require 'spec/runner/formatter/snippet_extractor' + @snippet_extractor ||= SnippetExtractor.new + "
    #{@snippet_extractor.snippet(failure.exception)}
    " + end + + def move_progress + @output.puts " " + @output.flush + end + + def percent_done + result = 100.0 + if @example_count != 0 + result = ((example_number).to_f / @example_count.to_f * 1000).to_i / 10.0 + end + result + end + + def dump_failure(counter, failure) + end + + def dump_summary(duration, example_count, failure_count, pending_count) + if dry_run? + totals = "This was a dry-run" + else + totals = "#{example_count} example#{'s' unless example_count == 1}, #{failure_count} failure#{'s' unless failure_count == 1}" + totals << ", #{pending_count} pending" if pending_count > 0 + end + @output.puts "" + @output.puts "" + @output.puts "" + @output.puts "" + @output.puts "" + @output.puts "" + @output.flush + end + + def html_header + <<-EOF + + + + + RSpec results + + + + + + + + +EOF + end + + def report_header + <<-EOF +
    + +
    +
    +

    RSpec Code Examples

    +
    + +
    +

     

    +

     

    +
    +
    + +
    +EOF + end + + def global_scripts + <<-EOF +function moveProgressBar(percentDone) { + document.getElementById("rspec-header").style.width = percentDone +"%"; +} +function makeRed(element_id) { + document.getElementById(element_id).style.background = '#C40D0D'; + document.getElementById(element_id).style.color = '#FFFFFF'; +} + +function makeYellow(element_id) { + if (element_id == "rspec-header" && document.getElementById(element_id).style.background != '#C40D0D') + { + document.getElementById(element_id).style.background = '#FAF834'; + document.getElementById(element_id).style.color = '#000000'; + } + else + { + document.getElementById(element_id).style.background = '#FAF834'; + document.getElementById(element_id).style.color = '#000000'; + } +} +EOF + end + + def global_styles + <<-EOF +#rspec-header { + background: #65C400; color: #fff; height: 4em; +} + +.rspec-report h1 { + margin: 0px 10px 0px 10px; + padding: 10px; + font-family: "Lucida Grande", Helvetica, sans-serif; + font-size: 1.8em; + position: absolute; +} + +#summary { + margin: 0; padding: 5px 10px; + font-family: "Lucida Grande", Helvetica, sans-serif; + text-align: right; + top: 0px; + right: 0px; + float:right; +} + +#summary p { + margin: 0 0 0 2px; +} + +#summary #totals { + font-size: 1.2em; +} + +.example_group { + margin: 0 10px 5px; + background: #fff; +} + +dl { + margin: 0; padding: 0 0 5px; + font: normal 11px "Lucida Grande", Helvetica, sans-serif; +} + +dt { + padding: 3px; + background: #65C400; + color: #fff; + font-weight: bold; +} + +dd { + margin: 5px 0 5px 5px; + padding: 3px 3px 3px 18px; +} + +dd.spec.passed { + border-left: 5px solid #65C400; + border-bottom: 1px solid #65C400; + background: #DBFFB4; color: #3D7700; +} + +dd.spec.failed { + border-left: 5px solid #C20000; + border-bottom: 1px solid #C20000; + color: #C20000; background: #FFFBD3; +} + +dd.spec.not_implemented { + border-left: 5px solid #FAF834; + border-bottom: 1px solid #FAF834; + background: #FCFB98; color: #131313; +} + +dd.spec.pending_fixed { + border-left: 5px solid #0000C2; + border-bottom: 1px solid #0000C2; + color: #0000C2; background: #D3FBFF; +} + +.backtrace { + color: #000; + font-size: 12px; +} + +a { + color: #BE5C00; +} + +/* Ruby code, style similar to vibrant ink */ +.ruby { + font-size: 12px; + font-family: monospace; + color: white; + background-color: black; + padding: 0.1em 0 0.2em 0; +} + +.ruby .keyword { color: #FF6600; } +.ruby .constant { color: #339999; } +.ruby .attribute { color: white; } +.ruby .global { color: white; } +.ruby .module { color: white; } +.ruby .class { color: white; } +.ruby .string { color: #66FF00; } +.ruby .ident { color: white; } +.ruby .method { color: #FFCC00; } +.ruby .number { color: white; } +.ruby .char { color: white; } +.ruby .comment { color: #9933CC; } +.ruby .symbol { color: white; } +.ruby .regex { color: #44B4CC; } +.ruby .punct { color: white; } +.ruby .escape { color: white; } +.ruby .interp { color: white; } +.ruby .expr { color: white; } + +.ruby .offending { background-color: gray; } +.ruby .linenum { + width: 75px; + padding: 0.1em 1em 0.2em 0; + color: #000000; + background-color: #FFFBD3; +} +EOF + end + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/formatter/nested_text_formatter.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/formatter/nested_text_formatter.rb new file mode 100755 index 00000000..5caec5a4 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/formatter/nested_text_formatter.rb @@ -0,0 +1,47 @@ +require 'spec/runner/formatter/base_text_formatter' + +module Spec + module Runner + module Formatter + class NestedTextFormatter < BaseTextFormatter + def initialize(options, where) + super + @last_nested_descriptions = [] + end + + def example_group_started(example_group) + super + + example_group.nested_descriptions.each_with_index do |nested_description, i| + unless nested_description == @last_nested_descriptions[i] + output.puts "#{' ' * i}#{nested_description}" + end + end + + @last_nested_descriptions = example_group.nested_descriptions + end + + def example_failed(example, counter, failure) + output.puts(red("#{current_indentation}#{example.description} (FAILED - #{counter})")) + output.flush + end + + def example_passed(example) + message = "#{current_indentation}#{example.description}" + output.puts green(message) + output.flush + end + + def example_pending(example, message, deprecated_pending_location=nil) + super + output.puts yellow("#{current_indentation}#{example.description} (PENDING: #{message})") + output.flush + end + + def current_indentation + ' ' * @last_nested_descriptions.length + end + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/formatter/no_op_method_missing.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/formatter/no_op_method_missing.rb new file mode 100755 index 00000000..350e29f7 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/formatter/no_op_method_missing.rb @@ -0,0 +1,21 @@ +module Spec + module Runner + module Formatter + module NOOPMethodMissing + def respond_to?(message, include_private = false) + if include_private + true + else + !private_methods.any? {|m| [message.to_s, message.to_sym].include?(m)} + end + end + + private + + def method_missing(sym, *args) + # a no-op + end + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/formatter/profile_formatter.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/formatter/profile_formatter.rb new file mode 100755 index 00000000..3784f3ac --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/formatter/profile_formatter.rb @@ -0,0 +1,47 @@ +require 'spec/runner/formatter/progress_bar_formatter' + +module Spec + module Runner + module Formatter + class ProfileFormatter < ProgressBarFormatter + + def initialize(options, where) + super + @example_times = [] + end + + def start(count) + @output.puts "Profiling enabled." + end + + def example_started(example) + @time = Time.now + end + + def example_passed(example) + super + @example_times << [ + example_group.description, + example.description, + Time.now - @time + ] + end + + def start_dump + super + @output.puts "\n\nTop 10 slowest examples:\n" + + @example_times = @example_times.sort_by do |description, example, time| + time + end.reverse + + @example_times[0..9].each do |description, example, time| + @output.print red(sprintf("%.7f", time)) + @output.puts " #{description} #{example}" + end + @output.flush + end + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/formatter/progress_bar_formatter.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/formatter/progress_bar_formatter.rb new file mode 100755 index 00000000..862f87a4 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/formatter/progress_bar_formatter.rb @@ -0,0 +1,33 @@ +require 'spec/runner/formatter/base_text_formatter' +require 'spec/runner/formatter/no_op_method_missing' + +module Spec + module Runner + module Formatter + class ProgressBarFormatter < BaseTextFormatter + include NOOPMethodMissing + + def example_failed(example, counter, failure) + @output.print colorize_failure('F', failure) + @output.flush + end + + def example_passed(example) + @output.print green('.') + @output.flush + end + + def example_pending(example, message, deprecated_pending_location=nil) + super + @output.print yellow('*') + @output.flush + end + + def start_dump + @output.puts + @output.flush + end + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/formatter/silent_formatter.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/formatter/silent_formatter.rb new file mode 100755 index 00000000..43cce33b --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/formatter/silent_formatter.rb @@ -0,0 +1,10 @@ +require 'spec/runner/formatter/base_formatter' + +module Spec + module Runner + module Formatter + class SilentFormatter < BaseFormatter + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/formatter/snippet_extractor.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/formatter/snippet_extractor.rb new file mode 100755 index 00000000..4f34e5fe --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/formatter/snippet_extractor.rb @@ -0,0 +1,52 @@ +module Spec + module Runner + module Formatter + # This class extracts code snippets by looking at the backtrace of the passed error + class SnippetExtractor #:nodoc: + class NullConverter; def convert(code, pre); code; end; end #:nodoc: + begin; require 'syntax/convertors/html'; @@converter = Syntax::Convertors::HTML.for_syntax "ruby"; rescue LoadError => e; @@converter = NullConverter.new; end + + def snippet(error) + raw_code, line = snippet_for(error.backtrace[0]) + highlighted = @@converter.convert(raw_code, false) + highlighted << "\n# gem install syntax to get syntax highlighting" if @@converter.is_a?(NullConverter) + post_process(highlighted, line) + end + + def snippet_for(error_line) + if error_line =~ /(.*):(\d+)/ + file = $1 + line = $2.to_i + [lines_around(file, line), line] + else + ["# Couldn't get snippet for #{error_line}", 1] + end + end + + def lines_around(file, line) + if File.file?(file) + lines = File.open(file).read.split("\n") + min = [0, line-3].max + max = [line+1, lines.length-1].min + selected_lines = [] + selected_lines.join("\n") + lines[min..max].join("\n") + else + "# Couldn't get snippet for #{file}" + end + end + + def post_process(highlighted, offending_line) + new_lines = [] + highlighted.split("\n").each_with_index do |line, i| + new_line = "#{offending_line+i-2}#{line}" + new_line = "#{new_line}" if i == 2 + new_lines << new_line + end + new_lines.join("\n") + end + + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/formatter/specdoc_formatter.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/formatter/specdoc_formatter.rb new file mode 100755 index 00000000..7204f214 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/formatter/specdoc_formatter.rb @@ -0,0 +1,33 @@ +require 'spec/runner/formatter/base_text_formatter' + +module Spec + module Runner + module Formatter + class SpecdocFormatter < BaseTextFormatter + def example_group_started(example_group) + super + output.puts + output.puts example_group.description + output.flush + end + + def example_failed(example, counter, failure) + output.puts(red("- #{example.description} (FAILED - #{counter})")) + output.flush + end + + def example_passed(example) + message = "- #{example.description}" + output.puts green(message) + output.flush + end + + def example_pending(example, message, deprecated_pending_location=nil) + super + output.puts yellow("- #{example.description} (PENDING: #{message})") + output.flush + end + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/formatter/text_mate_formatter.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/formatter/text_mate_formatter.rb new file mode 100755 index 00000000..4c0a9c7d --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/formatter/text_mate_formatter.rb @@ -0,0 +1,16 @@ +require 'spec/runner/formatter/html_formatter' + +module Spec + module Runner + module Formatter + # Formats backtraces so they're clickable by TextMate + class TextMateFormatter < HtmlFormatter + def backtrace_line(line) + line.gsub(/([^:]*\.rb):(\d*)/) do + "#{$1}:#{$2} " + end + end + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/heckle_runner.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/heckle_runner.rb new file mode 100755 index 00000000..5c81ea84 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/heckle_runner.rb @@ -0,0 +1,72 @@ +if Spec::Ruby.version.to_f < 1.9 + begin + require 'rubygems' unless ENV['NO_RUBYGEMS'] + require 'heckle' + rescue LoadError ; raise "You must gem install heckle to use --heckle" ; end + + module Spec + module Runner + # Creates a new Heckler configured to heckle all methods in the classes + # whose name matches +filter+ + class HeckleRunner + def initialize(filter, heckle_class=Heckler) + @filter = filter + @heckle_class = heckle_class + end + + # Runs all the example groups held by +rspec_options+ once for each of the + # methods in the matched classes. + def heckle_with + if @filter =~ /(.*)[#\.](.*)/ + heckle_method($1, $2) + else + heckle_class_or_module(@filter) + end + end + + def heckle_method(class_name, method_name) + verify_constant(class_name) + heckle = @heckle_class.new(class_name, method_name, Spec::Runner.options) + heckle.validate + end + + def heckle_class_or_module(class_or_module_name) + verify_constant(class_or_module_name) + pattern = /^#{class_or_module_name}/ + classes = [] + ObjectSpace.each_object(Class) do |klass| + classes << klass if klass.name =~ pattern + end + + classes.each do |klass| + klass.instance_methods(false).each do |method_name| + heckle = @heckle_class.new(klass.name, method_name, Spec::Runner.options) + heckle.validate + end + end + end + + def verify_constant(name) + begin + # This is defined in Heckle + name.to_class + rescue + raise "Heckling failed - \"#{name}\" is not a known class or module" + end + end + end + + class Heckler < Heckle + def initialize(klass_name, method_name, rspec_options) + super(klass_name, method_name) + @rspec_options = rspec_options + end + + def tests_pass? + @rspec_options.run_examples + end + + end + end + end +end \ No newline at end of file diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/heckle_runner_unsupported.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/heckle_runner_unsupported.rb new file mode 100755 index 00000000..35ff86e1 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/heckle_runner_unsupported.rb @@ -0,0 +1,10 @@ +module Spec + module Runner + # Dummy implementation for Windows that just fails (Heckle is not supported on Windows) + class HeckleRunner + def initialize(filter) + raise "Heckle is not supported on Windows or Ruby 1.9" + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/line_number_query.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/line_number_query.rb new file mode 100755 index 00000000..0a907d3f --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/line_number_query.rb @@ -0,0 +1,78 @@ +module Spec + module Runner + # Parses a spec file and finds the nearest example for a given line number. + class LineNumberQuery + attr_reader :best_match + + def initialize(run_options) + @best_match = {} + @run_options = run_options + end + + def spec_name_for(file, line_number) + best_match.clear + file = File.expand_path(file) + determine_best_match(file, line_number) + if best_match[:example_group] + if best_match[:example] + "#{best_match[:example_group].description} #{best_match[:example].description}" + else + best_match[:example_group].description + end + else + nil + end + end + + def example_line_for(file, line_number) + determine_best_match(file, line_number) + best_match[:line] + end + + protected + + def determine_best_match(file, line_number) + best_match.clear + file = File.expand_path(file) + @run_options.example_groups.each do |example_group| + next unless example_group.location + consider_example_group_for_best_match(example_group, file, line_number) + + example_group.examples.each do |example| + consider_example_for_best_match(example, example_group, file, line_number) + end + end + end + + def consider_example_group_for_best_match(example_group, file, line_number) + example_group_file, example_group_line = parse_location(example_group.location) + if is_best_match?(file, line_number, example_group_file, example_group_line) + best_match.clear + best_match[:example_group] = example_group + best_match[:line] = example_group_line + end + end + + def consider_example_for_best_match(example, example_group, file, line_number) + example_file, example_line = parse_location(example.location) + if is_best_match?(file, line_number, example_file, example_line) + best_match.clear + best_match[:example_group] = example_group + best_match[:example] = example + best_match[:line] = example_line + end + end + + def is_best_match?(file, line_number, example_file, example_line) + file == File.expand_path(example_file) && + example_line <= line_number && + example_line > best_match[:line].to_i + end + + def parse_location(location) + location =~ /(.*)\:(\d*)(\:|$)/ + return $1, Integer($2) + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/option_parser.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/option_parser.rb new file mode 100755 index 00000000..fbbf444a --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/option_parser.rb @@ -0,0 +1,223 @@ +require 'optparse' +require 'stringio' + +module Spec + module Runner + class OptionParser < ::OptionParser + class << self + def parse(args, err, out) + parser = new(err, out) + parser.parse(args) + parser.options + end + + def spec_command? + $0.split('/').last == 'spec' + end + end + + attr_reader :options + + OPTIONS = { + :pattern => ["-p", "--pattern [PATTERN]","Limit files loaded to those matching this pattern. Defaults to '**/*_spec.rb'", + "Separate multiple patterns with commas.", + "Applies only to directories named on the command line (files", + "named explicitly on the command line will be loaded regardless)."], + :diff => ["-D", "--diff [FORMAT]","Show diff of objects that are expected to be equal when they are not", + "Builtin formats: unified|u|context|c", + "You can also specify a custom differ class", + "(in which case you should also specify --require)"], + :colour => ["-c", "--colour", "--color", "Show coloured (red/green) output"], + :example => ["-e", "--example [NAME|FILE_NAME]", "Execute example(s) with matching name(s). If the argument is", + "the path to an existing file (typically generated by a previous", + "run using --format failing_examples:file.txt), then the examples", + "on each line of that file will be executed. If the file is empty,", + "all examples will be run (as if --example was not specified).", + " ", + "If the argument is not an existing file, then it is treated as", + "an example name directly, causing RSpec to run just the example", + "matching that name"], + :specification => ["-s", "--specification [NAME]", "DEPRECATED - use -e instead", "(This will be removed when autotest works with -e)"], + :line => ["-l", "--line LINE_NUMBER", Integer, "Execute example group or example at given line.", + "(does not work for dynamically generated examples)"], + :format => ["-f", "--format FORMAT[:WHERE]","Specifies what format to use for output. Specify WHERE to tell", + "the formatter where to write the output. All built-in formats", + "expect WHERE to be a file name, and will write to $stdout if it's", + "not specified. The --format option may be specified several times", + "if you want several outputs", + " ", + "Builtin formats:", + "silent|l : No output", "progress|p : Text-based progress bar", + "profile|o : Text-based progress bar with profiling of 10 slowest examples", + "specdoc|s : Code example doc strings", + "nested|n : Code example doc strings with nested groups indented", + "html|h : A nice HTML report", + "failing_examples|e : Write all failing examples - input for --example", + "failing_example_groups|g : Write all failing example groups - input for --example", + " ", + "FORMAT can also be the name of a custom formatter class", + "(in which case you should also specify --require to load it)"], + :require => ["-r", "--require FILE", "Require FILE before running specs", + "Useful for loading custom formatters or other extensions.", + "If this option is used it must come before the others"], + :backtrace => ["-b", "--backtrace", "Output full backtrace"], + :loadby => ["-L", "--loadby STRATEGY", "Specify the strategy by which spec files should be loaded.", + "STRATEGY can currently only be 'mtime' (File modification time)", + "By default, spec files are loaded in alphabetical order if --loadby", + "is not specified."], + :reverse => ["-R", "--reverse", "Run examples in reverse order"], + :timeout => ["-t", "--timeout FLOAT", "Interrupt and fail each example that doesn't complete in the", + "specified time"], + :heckle => ["-H", "--heckle CODE", "If all examples pass, this will mutate the classes and methods", + "identified by CODE little by little and run all the examples again", + "for each mutation. The intent is that for each mutation, at least", + "one example *should* fail, and RSpec will tell you if this is not the", + "case. CODE should be either Some::Module, Some::Class or", + "Some::Fabulous#method}"], + :dry_run => ["-d", "--dry-run", "Invokes formatters without executing the examples."], + :options_file => ["-O", "--options PATH", "Read options from a file"], + :generate_options => ["-G", "--generate-options PATH", "Generate an options file for --options"], + :runner => ["-U", "--runner RUNNER", "Use a custom Runner."], + :debug => ["-u", "--debugger", "Enable ruby-debugging."], + :drb => ["-X", "--drb", "Run examples via DRb. (For example against script/spec_server)"], + :version => ["-v", "--version", "Show version"], + :help => ["-h", "--help", "You're looking at it"] + } + + def initialize(err, out) + super() + @error_stream = err + @out_stream = out + @options = Options.new(@error_stream, @out_stream) + + @file_factory = File + + self.banner = "Usage: spec (FILE(:LINE)?|DIRECTORY|GLOB)+ [options]" + self.separator "" + on(*OPTIONS[:pattern]) {|pattern| @options.filename_pattern = pattern} + on(*OPTIONS[:diff]) {|diff| @options.parse_diff(diff)} + on(*OPTIONS[:colour]) {@options.colour = true} + on(*OPTIONS[:example]) {|example| @options.parse_example(example)} + on(*OPTIONS[:specification]) {|example| @options.parse_example(example)} + on(*OPTIONS[:line]) {|line_number| @options.line_number = line_number.to_i} + on(*OPTIONS[:format]) {|format| @options.parse_format(format)} + on(*OPTIONS[:require]) {|requires| invoke_requires(requires)} + on(*OPTIONS[:backtrace]) {@options.backtrace_tweaker = NoisyBacktraceTweaker.new} + on(*OPTIONS[:loadby]) {|loadby| @options.loadby = loadby} + on(*OPTIONS[:reverse]) {@options.reverse = true} + on(*OPTIONS[:timeout]) {|timeout| @options.timeout = timeout.to_f} + on(*OPTIONS[:heckle]) {|heckle| @options.load_heckle_runner(heckle)} + on(*OPTIONS[:dry_run]) {@options.dry_run = true} + on(*OPTIONS[:options_file]) {|options_file|} + on(*OPTIONS[:generate_options]) {|options_file|} + on(*OPTIONS[:runner]) {|runner| @options.user_input_for_runner = runner} + on(*OPTIONS[:debug]) {@options.debug = true} + on(*OPTIONS[:drb]) {} + on(*OPTIONS[:version]) {parse_version} + on("--autospec") {@options.autospec = true} + on_tail(*OPTIONS[:help]) {parse_help} + end + + def order!(argv, &blk) + @argv = argv.dup + @argv = (@argv.empty? & self.class.spec_command?) ? ['--help'] : @argv + + # Parse options file first + parse_file_options(:options_file, :parse_options_file) + + @options.argv = @argv.dup + return if parse_file_options(:generate_options, :write_options_file) + return if parse_drb + + super(@argv) do |file| + if file =~ /^(.+):(\d+)$/ + file = $1 + @options.line_number = $2.to_i + end + + @options.files << file + blk.call(file) if blk + end + + @options + end + + protected + + def invoke_requires(requires) + requires.split(",").each do |file| + require file + end + end + + def parse_file_options(option_name, action) + # Remove the file option and the argument before handling the file + options_file = nil + options_list = OPTIONS[option_name][0..1] + options_list[1].gsub!(" PATH", "") + options_list.each do |option| + if index = @argv.index(option) + @argv.delete_at(index) + options_file = @argv.delete_at(index) + end + end + + if options_file.nil? && + File.exist?('spec/spec.opts') && + !@argv.any?{|a| a =~ /^\-/ } + options_file = 'spec/spec.opts' + end + + if options_file + send(action, options_file) + return true + else + return false + end + end + + def parse_options_file(options_file) + option_file_args = File.readlines(options_file).map {|l| l.chomp.split " "}.flatten + @argv.push(*option_file_args) + end + + def write_options_file(options_file) + File.open(options_file, 'w') do |io| + io.puts @argv.join("\n") + end + @out_stream.puts "\nOptions written to #{options_file}. You can now use these options with:" + @out_stream.puts "spec --options #{options_file}" + @options.examples_should_not_be_run + end + + def parse_drb + argv = @options.argv + is_drb = false + is_drb ||= argv.delete(OPTIONS[:drb][0]) + is_drb ||= argv.delete(OPTIONS[:drb][1]) + return false unless is_drb + if DrbCommandLine.run(self.class.parse(argv, @error_stream, @out_stream)) + @options.examples_should_not_be_run + true + else + @error_stream.puts "Running specs locally:" + false + end + end + + def parse_version + @out_stream.puts ::Spec::VERSION::SUMMARY + exit if stdout? + end + + def parse_help + @out_stream.puts self + exit if stdout? + end + + def stdout? + @out_stream == $stdout + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/options.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/options.rb new file mode 100755 index 00000000..e0179e80 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/options.rb @@ -0,0 +1,400 @@ +require 'ostruct' + +module Spec + module Runner + class Options + FILE_SORTERS = { + 'mtime' => lambda {|file_a, file_b| File.mtime(file_b) <=> File.mtime(file_a)} + } + + EXAMPLE_FORMATTERS = { # Load these lazily for better speed + 'silent' => ['spec/runner/formatter/silent_formatter', 'Formatter::SilentFormatter'], + 'l' => ['spec/runner/formatter/silent_formatter', 'Formatter::SilentFormatter'], + 'specdoc' => ['spec/runner/formatter/specdoc_formatter', 'Formatter::SpecdocFormatter'], + 's' => ['spec/runner/formatter/specdoc_formatter', 'Formatter::SpecdocFormatter'], + 'nested' => ['spec/runner/formatter/nested_text_formatter', 'Formatter::NestedTextFormatter'], + 'n' => ['spec/runner/formatter/nested_text_formatter', 'Formatter::NestedTextFormatter'], + 'html' => ['spec/runner/formatter/html_formatter', 'Formatter::HtmlFormatter'], + 'h' => ['spec/runner/formatter/html_formatter', 'Formatter::HtmlFormatter'], + 'progress' => ['spec/runner/formatter/progress_bar_formatter', 'Formatter::ProgressBarFormatter'], + 'p' => ['spec/runner/formatter/progress_bar_formatter', 'Formatter::ProgressBarFormatter'], + 'failing_examples' => ['spec/runner/formatter/failing_examples_formatter', 'Formatter::FailingExamplesFormatter'], + 'e' => ['spec/runner/formatter/failing_examples_formatter', 'Formatter::FailingExamplesFormatter'], +'failing_example_groups' => ['spec/runner/formatter/failing_example_groups_formatter', 'Formatter::FailingExampleGroupsFormatter'], + 'g' => ['spec/runner/formatter/failing_example_groups_formatter', 'Formatter::FailingExampleGroupsFormatter'], + 'profile' => ['spec/runner/formatter/profile_formatter', 'Formatter::ProfileFormatter'], + 'o' => ['spec/runner/formatter/profile_formatter', 'Formatter::ProfileFormatter'], + 'textmate' => ['spec/runner/formatter/text_mate_formatter', 'Formatter::TextMateFormatter'] + } + + attr_accessor( + :autospec, # hack to tell + :filename_pattern, + :backtrace_tweaker, + :context_lines, + :diff_format, + :dry_run, + :profile, + :heckle_runner, + :debug, + :line_number, + :loadby, + :reporter, + :reverse, + :timeout, + :verbose, + :user_input_for_runner, + :error_stream, + :output_stream, + # TODO: BT - Figure out a better name + :argv + ) + attr_reader :colour, :differ_class, :files, :examples, :example_groups + + def initialize(error_stream, output_stream) + @error_stream = error_stream + @output_stream = output_stream + @filename_pattern = "**/*_spec.rb" + @backtrace_tweaker = QuietBacktraceTweaker.new + @examples = [] + @colour = false + @profile = false + @dry_run = false + @debug = false + @reporter = Reporter.new(self) + @context_lines = 3 + @diff_format = :unified + @files = [] + @example_groups = [] + @result = nil + @examples_run = false + @examples_should_be_run = nil + @user_input_for_runner = nil + @after_suite_parts = [] + @files_loaded = false + @out_used = nil + end + + def add_example_group(example_group) + @example_groups << example_group + end + + def line_number_requested? + !!line_number + end + + def example_line + Spec::Runner::LineNumberQuery.new(self).example_line_for(files.first, line_number) + end + + def remove_example_group(example_group) + @example_groups.delete(example_group) + end + + def require_ruby_debug + require 'rubygems' unless ENV['NO_RUBYGEMS'] + require 'ruby-debug' + end + + def project_root # :nodoc: + require 'pathname' + @project_root ||= determine_project_root + end + + def determine_project_root # :nodoc: + # This is borrowed (slightly modified) from Scott Taylors + # project_path project: + # http://github.com/smtlaissezfaire/project_path + Pathname(File.expand_path('.')).ascend do |path| + if File.exists?(File.join(path, "spec")) + return path + end + end + end + + def add_dir_from_project_root_to_load_path(dir, load_path=$LOAD_PATH) # :nodoc: + return if project_root.nil? + full_dir = File.join(project_root, dir) + load_path.unshift full_dir unless load_path.include?(full_dir) + end + + def run_examples + require_ruby_debug if debug + return true unless examples_should_be_run? + success = true + begin + runner = custom_runner || ExampleGroupRunner.new(self) + + unless @files_loaded + ['spec','lib'].each do |dir| + add_dir_from_project_root_to_load_path(dir) + end + runner.load_files(files_to_load) + @files_loaded = true + end + + define_predicate_matchers + plugin_mock_framework + ignore_backtrace_patterns + + # TODO - this has to happen after the files get loaded, + # otherwise the before_suite_parts are not populated + # from the configuration. There is no spec for this + # directly, but features/before_and_after_blocks/before_and_after_blocks.story + # will fail if this happens before the files are loaded. + before_suite_parts.each { |part| part.call } + + if example_groups.empty? + true + else + set_spec_from_line_number if line_number + success = runner.run + @examples_run = true + heckle if heckle_runner + success + end + ensure + after_suite_parts.each do |part| + part.arity < 1 ? part.call : part.call(success) + end + end + end + + def before_suite_parts + Spec::Example::BeforeAndAfterHooks.before_suite_parts + end + + def after_suite_parts + Spec::Example::BeforeAndAfterHooks.after_suite_parts + end + + def examples_run? + @examples_run + end + + def examples_should_not_be_run + @examples_should_be_run = false + end + + def mock_framework + # TODO - don't like this dependency - perhaps store this in here instead? + Spec::Runner.configuration.mock_framework + end + + def colour=(colour) + @colour = colour + if @colour && RUBY_PLATFORM =~ /mswin|mingw/ ;\ + begin ;\ + replace_output = @output_stream.equal?($stdout) ;\ + require 'rubygems' unless ENV['NO_RUBYGEMS'] ;\ + require 'Win32/Console/ANSI' ;\ + @output_stream = $stdout if replace_output ;\ + rescue LoadError ;\ + warn "You must 'gem install win32console' to use colour on Windows" ;\ + @colour = false ;\ + end + end + end + + def parse_diff(format) + case format + when :context, 'context', 'c' + @diff_format = :context + default_differ + when :unified, 'unified', 'u', '', nil + @diff_format = :unified + default_differ + else + @diff_format = :custom + self.differ_class = load_class(format, 'differ', '--diff') + end + end + + def parse_example(example) + if(File.file?(example)) + @examples = [File.open(example).read.split("\n")].flatten + else + @examples = [example] + end + end + + def parse_format(format_arg) + format, where = ClassAndArgumentsParser.parse(format_arg) + unless where + raise "When using several --format options only one of them can be without a file" if @out_used + where = @output_stream + @out_used = true + end + @format_options ||= [] + @format_options << [format, where] + end + + def formatters + @format_options ||= [['progress', @output_stream]] + @formatters ||= load_formatters(@format_options, EXAMPLE_FORMATTERS) + end + + def load_formatters(format_options, formatters) + format_options.map do |format, where| + formatter_type = if formatters[format] + require formatters[format][0] + eval(formatters[format][1], binding, __FILE__, __LINE__) + else + load_class(format, 'formatter', '--format') + end + formatter_type.new(formatter_options, where) + end + end + + def formatter_options + @formatter_options ||= OpenStruct.new( + :colour => colour, + :autospec => autospec, + :dry_run => dry_run + ) + end + + def which_heckle_runner + ([/mswin/, /java/].detect{|p| p =~ RUBY_PLATFORM} || Spec::Ruby.version.to_f == 1.9) ? "spec/runner/heckle_runner_unsupported" : "spec/runner/heckle_runner" + end + + def load_heckle_runner(heckle) + @format_options ||= [['silent', @output_stream]] + require which_heckle_runner + @heckle_runner = ::Spec::Runner::HeckleRunner.new(heckle) + end + + def number_of_examples + return examples.size unless examples.empty? + @example_groups.inject(0) {|sum, group| sum + group.number_of_examples} + end + + def files_to_load + result = [] + sorted_files.each do |file| + if File.directory?(file) + filename_pattern.split(",").each do |pattern| + result += Dir[File.expand_path("#{file}/#{pattern.strip}")] + end + elsif File.file?(file) + result << file + else + raise "File or directory not found: #{file}" + end + end + result + end + + def dry_run? + @dry_run == true + end + + protected + + def define_predicate_matchers + Spec::Runner.configuration.predicate_matchers.each_pair do |matcher_method, method_on_object| + Spec::Example::ExampleMethods::__send__ :define_method, matcher_method do |*args| + eval("be_#{method_on_object.to_s.gsub('?','')}(*args)") + end + end + end + + def plugin_mock_framework + case mock_framework + when Module + Spec::Example::ExampleMethods.__send__ :include, mock_framework + else + require mock_framework + Spec::Example::ExampleMethods.__send__ :include, Spec::Adapters::MockFramework + end + end + + def ignore_backtrace_patterns + @backtrace_tweaker.ignore_patterns Spec::Runner.configuration.ignored_backtrace_patterns + end + + def examples_should_be_run? + return @examples_should_be_run unless @examples_should_be_run.nil? + @examples_should_be_run = true + end + + def differ_class=(klass) + return unless klass + @differ_class = klass + Spec::Expectations.differ = self.differ_class.new(self) + end + + def load_class(name, kind, option) + if name =~ /\A(?:::)?([A-Z]\w*(?:::[A-Z]\w*)*)\z/ + arg = $2 == "" ? nil : $2 + [$1, arg] + else + m = "#{name.inspect} is not a valid class name" + @error_stream.puts m + raise m + end + begin + eval(name, binding, __FILE__, __LINE__) + rescue NameError => e + @error_stream.puts "Couldn't find #{kind} class #{name}" + @error_stream.puts "Make sure the --require option is specified *before* #{option}" + if $_spec_spec ; raise e ; else exit(1) ; end + end + end + + def custom_runner + return nil unless custom_runner? + klass_name, arg = ClassAndArgumentsParser.parse(user_input_for_runner) + runner_type = load_class(klass_name, 'example group runner', '--runner') + return runner_type.new(self, arg) + end + + def custom_runner? + return user_input_for_runner ? true : false + end + + def heckle + heckle_runner = self.heckle_runner + self.heckle_runner = nil + heckle_runner.heckle_with + end + + def sorted_files + return sorter ? files.sort(&sorter) : files + end + + def sorter + FILE_SORTERS[loadby] + end + + def default_differ + require 'spec/runner/differs/default' + self.differ_class = ::Spec::Expectations::Differs::Default + end + + def set_spec_from_line_number + if examples.empty? + if files.length == 1 + if File.directory?(files[0]) + error_stream.puts "You must specify one file, not a directory when providing a line number" + exit(1) if stderr? + else + example = LineNumberQuery.new(self).spec_name_for(files[0], line_number) + @examples = [example] + end + else + error_stream.puts "Only one file can be specified when providing a line number: #{files.inspect}" + exit(3) if stderr? + end + else + error_stream.puts "You cannot use --example and specify a line number" + exit(4) if stderr? + end + end + + def stderr? + @error_stream == $stderr + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/reporter.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/reporter.rb new file mode 100755 index 00000000..0fae7d13 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/reporter.rb @@ -0,0 +1,171 @@ +module Spec + module Runner + class Reporter + attr_reader :options + + def initialize(options) + @options = options + @options.reporter = self + @failures = [] + @pending_count = 0 + @example_count = 0 + @start_time = nil + @end_time = nil + end + + def example_group_started(example_group) + @example_group = example_group + formatters.each do |f| + f.example_group_started(example_group) + end + end + + def example_started(example) + formatters.each{|f| f.example_started(example)} + end + + def example_finished(example, error=nil) + @example_count += 1 + + if error.nil? + example_passed(example) + elsif Spec::Example::ExamplePendingError === error + example_pending(example, example.location, error.message) + else + example_failed(example, error) + end + end + + def example_failed(example, error) + backtrace_tweaker.tweak_backtrace(error) + failure = Failure.new(@example_group.description, example.description, error) + @failures << failure + formatters.each do |f| + f.example_failed(example, @failures.length, failure) + end + end + + def start(number_of_examples) + @start_time = Time.new + formatters.each{|f| f.start(number_of_examples)} + end + + def end + @end_time = Time.new + end + + # Dumps the summary and returns the total number of failures + def dump + formatters.each{|f| f.start_dump} + dump_pending + dump_failures + formatters.each do |f| + f.dump_summary(duration, @example_count, @failures.length, @pending_count) + f.close + end + @failures.length + end + + class Failure + def initialize(group_description, example_description, exception) # :nodoc: + @example_name = "#{group_description} #{example_description}" + @exception = exception + end + + # The Exception object raised + attr_reader :exception + + # Header messsage for reporting this failure, including the name of the + # example and an indicator of the type of failure. FAILED indicates a + # failed expectation. FIXED indicates a pending example that passes, and + # no longer needs to be pending. RuntimeError indicates that a + # RuntimeError occured. + # + # == Examples + # + # 'A new account should have a zero balance' FAILED + # 'A new account should have a zero balance' FIXED + # RuntimeError in 'A new account should have a zero balance' + def header + if expectation_not_met? + "'#{@example_name}' FAILED" + elsif pending_fixed? + "'#{@example_name}' FIXED" + else + "#{@exception.class.name} in '#{@example_name}'" + end + end + + def pending_fixed? # :nodoc: + @exception.is_a?(Spec::Example::PendingExampleFixedError) + end + + def expectation_not_met? # :nodoc: + @exception.is_a?(Spec::Expectations::ExpectationNotMetError) + end + end + + private + + def formatters + @options.formatters + end + + def backtrace_tweaker + @options.backtrace_tweaker + end + + def dump_failures + return if @failures.empty? + @failures.inject(1) do |index, failure| + formatters.each{|f| f.dump_failure(index, failure)} + index + 1 + end + end + + def dump_pending + formatters.each{|f| f.dump_pending} + end + + def duration + return @end_time - @start_time unless (@end_time.nil? or @start_time.nil?) + return "0.0" + end + + def example_passed(example) + formatters.each{|f| f.example_passed(example)} + end + + EXAMPLE_PENDING_DEPRECATION_WARNING = <<-WARNING + +********************************************************************* +DEPRECATION WARNING: RSpec's formatters have changed example_pending +to accept two arguments instead of three. Please see the rdoc +for Spec::Runner::Formatter::BaseFormatter#example_pending +for more information. + +Please update any custom formatters to accept only two arguments +to example_pending. Support for example_pending with two arguments +and this warning message will be removed after the RSpec 2.0 release. +********************************************************************* +WARNING + + def example_pending(example, ignore, message="Not Yet Implemented") + @pending_count += 1 + formatters.each do |formatter| + if formatter_uses_deprecated_example_pending_method?(formatter) + Spec.warn EXAMPLE_PENDING_DEPRECATION_WARNING + formatter.example_pending(example, message, example.location) + else + formatter.example_pending(example, message) + end + end + end + + def formatter_uses_deprecated_example_pending_method?(formatter) + formatter.method(:example_pending).arity == 3 + end + + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/stubs/cucumber.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/stubs/cucumber.rb new file mode 100755 index 00000000..b801ef44 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/stubs/cucumber.rb @@ -0,0 +1,5 @@ +# This plugs RSpec's mocking/stubbing framework into cucumber +require 'spec/mocks' +Before {$rspec_stubs ||= Spec::Mocks::Space.new} +After {$rspec_stubs.reset_all} +World(Spec::Mocks::ExampleMethods) diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/test/unit.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/test/unit.rb new file mode 100755 index 00000000..fb4eb493 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/test/unit.rb @@ -0,0 +1,10 @@ +require 'spec/interop/test' + +# Hack to stop active_support/dependencies from complaining about +# 'spec/test/unit' not defining Spec::Test::Unit +module Spec + module Test + module Unit + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/version.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/version.rb new file mode 100755 index 00000000..b1088cd6 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/version.rb @@ -0,0 +1,14 @@ +module Spec # :nodoc: + module VERSION # :nodoc: + unless defined? MAJOR + MAJOR = 1 + MINOR = 2 + TINY = 9 + PRE = nil + + STRING = [MAJOR, MINOR, TINY, PRE].compact.join('.') + + SUMMARY = "rspec #{STRING}" + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/resources/helpers/cmdline.rb b/vendor/gems/gems/rspec-1.2.9/resources/helpers/cmdline.rb new file mode 100755 index 00000000..0e337579 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/resources/helpers/cmdline.rb @@ -0,0 +1,8 @@ +require 'spec' + +# Uncommenting next line will break the output feature (no output!!) +# rspec_options +options = Spec::Runner::OptionParser.parse( + ARGV, $stderr, $stdout +) +Spec::Runner::CommandLine.run(options) diff --git a/vendor/gems/gems/rspec-1.2.9/resources/rake/examples.rake b/vendor/gems/gems/rspec-1.2.9/resources/rake/examples.rake new file mode 100755 index 00000000..32d0ad0e --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/resources/rake/examples.rake @@ -0,0 +1,7 @@ +require 'rake' +require 'spec/rake/spectask' + +desc "Run all examples" +Spec::Rake::SpecTask.new('examples') do |t| + t.spec_files = FileList['examples/**/*.rb'] +end diff --git a/vendor/gems/gems/rspec-1.2.9/resources/rake/examples_with_rcov.rake b/vendor/gems/gems/rspec-1.2.9/resources/rake/examples_with_rcov.rake new file mode 100755 index 00000000..4bf35c6b --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/resources/rake/examples_with_rcov.rake @@ -0,0 +1,9 @@ +require 'rake' +require 'spec/rake/spectask' + +desc "Run all examples with RCov" +Spec::Rake::SpecTask.new('examples_with_rcov') do |t| + t.spec_files = FileList['examples/**/*.rb'] + t.rcov = true + t.rcov_opts = ['--exclude', 'examples'] +end \ No newline at end of file diff --git a/vendor/gems/gems/rspec-1.2.9/resources/rake/failing_examples_with_html.rake b/vendor/gems/gems/rspec-1.2.9/resources/rake/failing_examples_with_html.rake new file mode 100755 index 00000000..6e53551f --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/resources/rake/failing_examples_with_html.rake @@ -0,0 +1,9 @@ +require 'rake' +require 'spec/rake/spectask' + +desc "Generate HTML report for failing examples" +Spec::Rake::SpecTask.new('failing_examples_with_html') do |t| + t.spec_files = FileList['failing_examples/**/*.rb'] + t.spec_opts = ["--format", "html:doc/reports/tools/failing_examples.html", "--diff"] + t.fail_on_error = false +end \ No newline at end of file diff --git a/vendor/gems/gems/rspec-1.2.9/resources/rake/verify_rcov.rake b/vendor/gems/gems/rspec-1.2.9/resources/rake/verify_rcov.rake new file mode 100755 index 00000000..a2fab00b --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/resources/rake/verify_rcov.rake @@ -0,0 +1,7 @@ +require 'rake' +require 'spec/rake/verify_rcov' + +RCov::VerifyTask.new(:verify_rcov => 'spec:rcov') do |t| + t.threshold = 100.0 + t.index_html = 'coverage/index.html' +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/README.jruby b/vendor/gems/gems/rspec-1.2.9/spec/README.jruby new file mode 100755 index 00000000..7eddb567 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/README.jruby @@ -0,0 +1,15 @@ += Running specs on JRuby = + +svn co http://svn.codehaus.org/jruby/trunk jruby +cd jruby/jruby +ant clean +ant +# put JRuby's bin dir on your PATH +jruby -S gem install rake --no-ri --no-rdoc +jruby -S gem install diff-lcs +jruby -S gem install syntax +cd ../testsuites/rspec +mkdir target +jruby -S rake checkout_code +cd target/rspec +jruby bin/spec spec -c diff --git a/vendor/gems/gems/rspec-1.2.9/spec/autotest/autotest_helper.rb b/vendor/gems/gems/rspec-1.2.9/spec/autotest/autotest_helper.rb new file mode 100755 index 00000000..b7b873d9 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/autotest/autotest_helper.rb @@ -0,0 +1,8 @@ +require 'spec_helper' +begin + require 'autotest' +rescue LoadError + raise "You must install ZenTest to use autotest" +end +require 'autotest/rspec' +require 'spec/autotest/autotest_matchers' diff --git a/vendor/gems/gems/rspec-1.2.9/spec/autotest/autotest_matchers.rb b/vendor/gems/gems/rspec-1.2.9/spec/autotest/autotest_matchers.rb new file mode 100755 index 00000000..2bfca4ac --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/autotest/autotest_matchers.rb @@ -0,0 +1,38 @@ +module Spec + module Matchers + class AutotestMappingMatcher + def initialize(specs) + @specs = specs + end + + def to(file) + @file = file + self + end + + def matches?(autotest) + @autotest = prepare(autotest) + @actual = autotest.test_files_for(@file) + @actual == @specs + end + + def failure_message + "expected #{@autotest.class} to map #{@specs.inspect} to #{@file.inspect}\ngot #{@actual.inspect}" + end + + private + + def prepare(autotest) + find_order = @specs.dup << @file + autotest.instance_eval { @find_order = find_order } + autotest + end + + end + + def map_specs(specs) + AutotestMappingMatcher.new(specs) + end + + end +end \ No newline at end of file diff --git a/vendor/gems/gems/rspec-1.2.9/spec/autotest/discover_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/autotest/discover_spec.rb new file mode 100755 index 00000000..fc8d483a --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/autotest/discover_spec.rb @@ -0,0 +1,8 @@ +require 'spec/autotest/autotest_helper' + +describe Autotest::Rspec, "discovery" do + it "adds the rspec autotest plugin" do + Autotest.should_receive(:add_discovery) + load File.expand_path(File.dirname(__FILE__) + "/../../lib/autotest/discover.rb") + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/autotest/failed_results_re_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/autotest/failed_results_re_spec.rb new file mode 100755 index 00000000..f4a1488e --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/autotest/failed_results_re_spec.rb @@ -0,0 +1,31 @@ +require 'spec/autotest/autotest_helper' + +describe "failed_results_re" do + it "should match a failure" do + re = Autotest::Rspec.new.failed_results_re + re =~ "1)\n'this example' FAILED\nreason\n/path.rb:37:\n\n" + $1.should == "this example" + $2.should == "reason\n/path.rb:37:" + end + + it "should match a failure when matcher outputs multiple lines" do + re = Autotest::Rspec.new.failed_results_re + re =~ "1)\n'other example' FAILED\n\nreason line 1\nreason line 2\n\n(additional info)\n/path.rb:37:\n\n" + $1.should == "other example" + $2.should == "reason line 1\nreason line 2\n\n(additional info)\n/path.rb:37:" + end + + it "should match an Error" do + re = Autotest::Rspec.new.failed_results_re + re =~ "1)\nRuntimeError in 'this example'\nreason\n/path.rb:37:\n\n" + $1.should == "this example" + $2.should == "reason\n/path.rb:37:" + end + + it "should match an Error that doesn't end in Error" do + re = Autotest::Rspec.new.failed_results_re + re =~ "1)\nInvalidArgument in 'this example'\nreason\n/path.rb:37:\n\n" + $1.should == "this example" + $2.should == "reason\n/path.rb:37:" + end +end \ No newline at end of file diff --git a/vendor/gems/gems/rspec-1.2.9/spec/autotest/rspec_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/autotest/rspec_spec.rb new file mode 100755 index 00000000..6dea29dd --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/autotest/rspec_spec.rb @@ -0,0 +1,111 @@ +require 'spec/autotest/autotest_helper' + +describe Autotest::Rspec do + describe "adding spec.opts --options" do + before(:each) do + @rspec_autotest = Autotest::Rspec.new + end + + it "should return the command line option to add spec.opts if the options file exists" do + File.stub!(:exist?).and_return true + @rspec_autotest.add_options_if_present.should == "-O spec/spec.opts " + end + + it "should return an empty string if no spec.opts exists" do + File.stub!(:exist?).and_return false + Autotest::Rspec.new.add_options_if_present.should == "" + end + end + + describe "commands" do + before(:each) do + @rspec_autotest = Autotest::Rspec.new + @rspec_autotest.stub!(:ruby).and_return "ruby" + @rspec_autotest.stub!(:add_options_if_present).and_return "-O spec/spec.opts" + + @ruby = @rspec_autotest.ruby + @spec_cmd = File.expand_path(File.join(File.dirname(__FILE__), '..', '..', 'bin', 'spec')) + @options = @rspec_autotest.add_options_if_present + @files_to_test = { + :spec => ["file_one", "file_two"] + } + # this is not the inner representation of Autotest! + @rspec_autotest.stub!(:files_to_test).and_return @files_to_test + @files_to_test.stub!(:keys).and_return @files_to_test[:spec] + @to_test = @files_to_test.keys.flatten.join ' ' + end + + it "should make the appropriate test command" do + @rspec_autotest.make_test_cmd(@files_to_test).should == "#{@ruby} #{@spec_cmd} --autospec #{@to_test} #{@options}" + end + + it "should return a blank command for no files" do + @rspec_autotest.make_test_cmd({}).should == '' + end + end + + describe "mappings" do + + before(:each) do + @lib_file = "lib/something.rb" + @spec_file = "spec/something_spec.rb" + @rspec_autotest = Autotest::Rspec.new + @rspec_autotest.hook :initialize + end + + it "should find the spec file for a given lib file" do + @rspec_autotest.should map_specs([@spec_file]).to(@lib_file) + end + + it "should find the spec file if given a spec file" do + @rspec_autotest.should map_specs([@spec_file]).to(@spec_file) + end + + it "should ignore files in spec dir that aren't specs" do + @rspec_autotest.should map_specs([]).to("spec/spec_helper.rb") + end + + it "should ignore untracked files (in @file)" do + @rspec_autotest.should map_specs([]).to("lib/untracked_file") + end + end + + describe "consolidating failures" do + before(:each) do + @rspec_autotest = Autotest::Rspec.new + + @spec_file = "spec/autotest/some_spec.rb" + @rspec_autotest.instance_variable_set("@files", {@spec_file => Time.now}) + @rspec_autotest.stub!(:find_files_to_test).and_return true + end + + it "should return no failures if no failures were given in the output" do + @rspec_autotest.consolidate_failures([[]]).should == {} + end + + it "should return a hash with the spec filename => spec name for each failure or error" do + @rspec_autotest.stub!(:test_files_for).and_return "spec/autotest/some_spec.rb" + failures = [ + [ + "false should be false", + "expected: true,\n got: false (using ==)\n#{@spec_file}:203:" + ] + ] + @rspec_autotest.consolidate_failures(failures).should == { + @spec_file => ["false should be false"] + } + end + + it "should not include the subject file" do + subject_file = "lib/autotest/some.rb" + @rspec_autotest.stub!(:test_files_for).and_return "spec/autotest/some_spec.rb" + failures = [ + [ + "false should be false", + "expected: true,\n got: false (using ==)\n#{subject_file}:143:\n#{@spec_file}:203:" + ] + ] + @rspec_autotest.consolidate_failures(failures).keys.should_not include(subject_file) + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/ruby_forker.rb b/vendor/gems/gems/rspec-1.2.9/spec/ruby_forker.rb new file mode 100755 index 00000000..6ab03875 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/ruby_forker.rb @@ -0,0 +1,13 @@ +require 'rbconfig' + +module RubyForker + # Forks a ruby interpreter with same type as ourself. + # juby will fork jruby, ruby will fork ruby etc. + def ruby(args, stderr=nil) + config = ::Config::CONFIG + interpreter = File::join(config['bindir'], config['ruby_install_name']) + config['EXEEXT'] + cmd = "#{interpreter} #{args}" + cmd << " 2> #{stderr}" unless stderr.nil? + `#{cmd}` + end +end \ No newline at end of file diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec.opts b/vendor/gems/gems/rspec-1.2.9/spec/spec.opts new file mode 100755 index 00000000..48e51f93 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec.opts @@ -0,0 +1,6 @@ +--colour +--format +profile +--timeout +20 +--diff \ No newline at end of file diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/dsl/main_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/dsl/main_spec.rb new file mode 100755 index 00000000..752b07f8 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/dsl/main_spec.rb @@ -0,0 +1,95 @@ +require 'spec_helper' + +module Spec + module DSL + describe Main do + before(:each) do + @main = Class.new do; include Spec::DSL::Main; end + end + + [:describe, :context].each do |method| + describe "##{method}" do + it "should delegate to Spec::Example::ExampleGroupFactory.create_example_group" do + block = lambda {|a,b|} + Spec::Example::ExampleGroupFactory.should_receive(:create_example_group).with( + "The ExampleGroup", hash_including(:location), &block + ) + @main.__send__ method, "The ExampleGroup", &block + end + + it "raises with no description" do + block = lambda {|a,b|} + lambda do + @main.__send__ method, &block + end.should raise_error(ArgumentError, /No description supplied for example group declared on #{__FILE__}:#{__LINE__ - 1}/) + end + end + end + + [:share_examples_for, :shared_examples_for].each do |method| + describe "##{method}" do + it "should create a shared ExampleGroup" do + block = lambda {|a,b|} + Spec::Example::ExampleGroupFactory.should_receive(:create_shared_example_group).with( + "shared group", hash_including(:location), &block + ) + @main.__send__ method, "shared group", &block + end + end + end + + describe "#describe; with RUBY_VERSION = 1.9" do + it "includes an enclosing module into the block's scope" do + Spec::Ruby.stub!(:version).and_return("1.9") + + module Foo; module Bar; end; end + + Foo::Bar.should_receive(:included).with do |*args| + included_by = args.last + included_by.description.should == "this example group" + end + + module Foo + module Bar + describe("this example group") do; end + end + end + end + end + + + describe "#share_as" do + def self.next_group_name + @group_number ||= 0 + @group_number += 1 + "Group#{@group_number}" + end + + def group_name + @group_name ||= self.class.next_group_name + end + + it "registers a shared ExampleGroup" do + block = lambda {|a,b|} + Spec::Example::ExampleGroupFactory.should_receive(:create_shared_example_group).with( + group_name, hash_including(:location), &block + ) + @main.share_as group_name, &block + end + + it "creates a constant that points to a Module" do + group = @main.share_as group_name do end + Object.const_get(group_name).should equal(group) + end + + it "complains if you pass it a not-constantizable name" do + lambda do + @group = @main.share_as "Non Constant" do end + end.should raise_error(NameError, /The first argument to share_as must be a legal name for a constant/) + end + + end + end + end +end + \ No newline at end of file diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/example/example_group_class_definition_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/example/example_group_class_definition_spec.rb new file mode 100755 index 00000000..96bd2111 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/example/example_group_class_definition_spec.rb @@ -0,0 +1,51 @@ +require 'spec_helper' + +module Spec + module Example + class ExampleGroupSubclass < ExampleGroup + class << self + attr_accessor :examples_ran + end + + @@class_variable = :class_variable + CONSTANT = :constant + + before(:each) do + @instance_variable = :instance_variable + end + + after(:all) do + self.class.examples_ran = true + end + + def a_method + 22 + end + + it "can access instance variables defined before(:each)" do + @instance_variable.should == :instance_variable + end + + it "can access class variables (Ruby 1.8 only)" do + with_ruby 1.8 do + @@class_variable.should == :class_variable + end + end + + it "can access constants" do + CONSTANT.should == :constant + end + + it "can access methods defined in the Example Group" do + a_method.should == 22 + end + + end + + describe ExampleGroupSubclass do + it "should run" do + ExampleGroupSubclass.examples_ran.should be_true + end + end + end +end \ No newline at end of file diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/example/example_group_factory_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/example/example_group_factory_spec.rb new file mode 100755 index 00000000..0819d3a3 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/example/example_group_factory_spec.rb @@ -0,0 +1,180 @@ +require 'spec_helper' + +module Spec + module Example + describe ExampleGroupFactory do + describe "#get" do + attr_reader :example_group + before(:each) do + @example_group_class = Class.new(ExampleGroupDouble) + ExampleGroupFactory.register(:registered_type, @example_group_class) + end + + after(:each) do + ExampleGroupFactory.reset + end + + it "should return the default ExampleGroup type for nil" do + ExampleGroupFactory[nil].should == ExampleGroup + end + + it "should return the default ExampleGroup for an unregistered non-nil value" do + ExampleGroupFactory[:does_not_exist].should == ExampleGroup + end + + it "should return custom type if registered" do + ExampleGroupFactory[:registered_type].should == @example_group_class + end + + it "should get the custom type after setting the default" do + @alternate_example_group_class = Class.new(ExampleGroupDouble) + ExampleGroupFactory.default(@alternate_example_group_class) + ExampleGroupFactory[:registered_type].should == @example_group_class + end + end + + describe "#create_example_group" do + attr_reader :parent_example_group + before do + @parent_example_group = Class.new(ExampleGroupDouble) do + def initialize(*args, &block) + ; + end + end + end + + it "should create a uniquely named class" do + example_group = Spec::Example::ExampleGroupFactory.create_example_group("example_group") {} + example_group.name.should =~ /Spec::Example::ExampleGroup::Subclass_\d+/ + end + + it "should create a Spec::Example::Example subclass by default" do + example_group = Spec::Example::ExampleGroupFactory.create_example_group("example_group") {} + example_group.superclass.should == Spec::Example::ExampleGroup + end + + it "should raise when no description is given" do + lambda { + Spec::Example::ExampleGroupFactory.create_example_group do; end + }.should raise_error(ArgumentError) + end + + it "should raise when no block is given" do + lambda { Spec::Example::ExampleGroupFactory.create_example_group "foo" }.should raise_error(ArgumentError) + end + + it "should run registered ExampleGroups" do + example_group = Spec::Example::ExampleGroupFactory.create_example_group "The ExampleGroup" do end + Spec::Runner.options.example_groups.should include(example_group) + end + + it "should not run unregistered ExampleGroups" do + example_group = Spec::Example::ExampleGroupFactory.create_example_group "The ExampleGroup" do Spec::Runner.options.remove_example_group self; end + Spec::Runner.options.example_groups.should_not include(example_group) + end + + describe "with :type => :default" do + it "should create a Spec::Example::ExampleGroup" do + example_group = Spec::Example::ExampleGroupFactory.create_example_group( + "example_group", :type => :default + ) {} + example_group.superclass.should == Spec::Example::ExampleGroup + end + end + + describe "with :type => :something_other_than_default" do + it "should create the specified type" do + Spec::Example::ExampleGroupFactory.register(:something_other_than_default, parent_example_group) + non_default_example_group = Spec::Example::ExampleGroupFactory.create_example_group( + "example_group", :type => :something_other_than_default + ) {} + non_default_example_group.superclass.should == parent_example_group + end + end + + it "should create a type indicated by :location" do + Spec::Example::ExampleGroupFactory.register(:something_other_than_default, parent_example_group) + custom_example_group = Spec::Example::ExampleGroupFactory.create_example_group( + "example_group", :location => "./spec/something_other_than_default/some_spec.rb" + ) {} + custom_example_group.superclass.should == parent_example_group + end + + it "should create a type indicated by :location (with location generated by caller on windows)" do + Spec::Example::ExampleGroupFactory.register(:something_other_than_default, parent_example_group) + custom_example_group = Spec::Example::ExampleGroupFactory.create_example_group( + "example_group", + :location => "./spec\\something_other_than_default\\some_spec.rb" + ) {} + custom_example_group.superclass.should == parent_example_group + end + + it "should create a type indicated by location for a path-like key" do + Spec::Example::ExampleGroupFactory.register('path/to/custom/', parent_example_group) + custom_example_group = Spec::Example::ExampleGroupFactory.create_example_group( + "example_group", :location => "./spec/path/to/custom/some_spec.rb" + ) {} + custom_example_group.superclass.should == parent_example_group + end + + it "should use the longest key that matches when creating a type indicated by location" do + longer = Class.new parent_example_group + Spec::Example::ExampleGroupFactory.register(:longer, longer) + long = Class.new parent_example_group + Spec::Example::ExampleGroupFactory.register(:long, long) + custom_example_group = Spec::Example::ExampleGroupFactory.create_example_group( + "example_group", :location => "./spec/longer/some_spec.rb" + ) {} + custom_example_group.superclass.should == longer + end + + describe "with :shared => true" do + def shared_example_group + @shared_example_group ||= Spec::Example::ExampleGroupFactory.create_example_group( + "name", :location => '/blah/spec/models/blah.rb', :type => :controller, :shared => true + ) {} + end + + it "should create and register a Spec::Example::SharedExampleGroup" do + shared_example_group.should be_an_instance_of(Spec::Example::SharedExampleGroup) + SharedExampleGroup.should include(shared_example_group) + end + end + + it "should favor the :type over the :location" do + Spec::Example::ExampleGroupFactory.register(:something_other_than_default, parent_example_group) + custom_example_group = Spec::Example::ExampleGroupFactory.create_example_group( + "name", :location => '/blah/spec/models/blah.rb', :type => :something_other_than_default + ) {} + custom_example_group.superclass.should == parent_example_group + end + + it "should register ExampleGroup by default" do + example_group = Spec::Example::ExampleGroupFactory.create_example_group("The ExampleGroup") do + end + Spec::Runner.options.example_groups.should include(example_group) + end + + it "should enable unregistering of ExampleGroups" do + example_group = Spec::Example::ExampleGroupFactory.create_example_group("The ExampleGroup") do + Spec::Runner.options.remove_example_group self + end + Spec::Runner.options.example_groups.should_not include(example_group) + end + + after(:each) do + Spec::Example::ExampleGroupFactory.reset + end + end + + describe "#create_shared_example_group" do + it "registers a new shared example group" do + shared_example_group = Spec::Example::ExampleGroupFactory.create_shared_example_group("something shared") {} + shared_example_group.should be_an_instance_of(Spec::Example::SharedExampleGroup) + SharedExampleGroup.should include(shared_example_group) + end + end + + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/example/example_group_methods_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/example/example_group_methods_spec.rb new file mode 100755 index 00000000..c9f10b8c --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/example/example_group_methods_spec.rb @@ -0,0 +1,758 @@ +require 'spec_helper' + +module Spec + module Example + describe 'ExampleGroupMethods' do + with_sandboxed_options do + attr_reader :example_group, :result, :reporter + before(:each) do + # See http://rspec.lighthouseapp.com/projects/5645-rspec/tickets/525-arity-changed-on-partial-mocks#ticket-525-2 + method_with_three_args = lambda { |arg1, arg2, arg3| } + options.formatters << mock("formatter", :null_object => true, :example_pending => method_with_three_args) + options.backtrace_tweaker = mock("backtrace_tweaker", :null_object => true) + @reporter = FakeReporter.new(@options) + options.reporter = reporter + @example_group = Class.new(ExampleGroupDouble) do + describe("ExampleGroup") + it "does nothing" + end + end + + after(:each) do + ExampleGroupDouble.reset + end + + ["describe","context"].each do |method| + describe "##{method}" do + describe "when creating an ExampleGroup" do + before(:each) do + @parent_example_group = Class.new(ExampleGroupDouble) do + example "first example" do; end + end + @child_example_group = @parent_example_group.__send__ method, "Child" do + example "second example" do; end + end + end + + it "should create a subclass of the ExampleGroup when passed a block" do + @child_example_group.superclass.should == @parent_example_group + options.example_groups.should include(@child_example_group) + end + + it "should not inherit examples" do + @child_example_group.should have(1).examples + end + + it "records the spec path" do + @child_example_group.location.should =~ /#{__FILE__}:#{__LINE__ - 15}/ + end + end + + describe "when creating an example group with no description" do + it "raises an ArgumentError" do + lambda do + Class.new(ExampleGroupDouble).describe + end.should raise_error(Spec::Example::NoDescriptionError, /No description supplied for example group declared on #{__FILE__}:#{__LINE__ - 1}/) + end + end + + describe "when creating a SharedExampleGroup" do + before(:each) do + @shared_example_group = @example_group.__send__ method, "A Shared ExampleGroup", :shared => true do; end + end + + after(:each) do + SharedExampleGroup.instance_eval{@shared_example_groups}.delete @shared_example_group + end + + it "should create a SharedExampleGroup" do + @shared_example_group.should_not be_nil + SharedExampleGroup.find("A Shared ExampleGroup").should == @shared_example_group + end + end + + end + end + + [:example, :specify, :it].each do |method| + describe "##{method.to_s}" do + it "should add an example" do + lambda { + @example_group.__send__(method, "") + }.should change { @example_group.examples.length }.by(1) + end + + describe "with no location supplied" do + describe "creates an ExampleProxy" do + before(:all) do + @example_group = Class.new(ExampleGroupDouble).describe("bar") + @example_proxy = @example_group.__send__(method, "foo", {:this => :that}) {} + @location = "#{__FILE__}:#{__LINE__ - 1}" + end + + specify "with a description" do + @example_proxy.description.should == "foo" + end + + specify "with options" do + @example_proxy.options.should == {:this => :that} + end + + specify "with a default backtrace (DEPRECATED)" do + Spec.stub!(:deprecate) + @example_proxy.backtrace.should =~ /#{@location}/ + end + + specify "with a default location" do + @example_proxy.location.should =~ /#{@location}/ + end + end + end + + describe "with a location supplied" do + describe "creates an ExampleProxy" do + before(:all) do + @example_group = Class.new(ExampleGroupDouble).describe("bar") + @example_proxy = @example_group.__send__(method, "foo", {:this => :that}, "the location") {} + end + + specify "with the supplied location as #backtrace (DEPRECATED)" do + Spec.stub!(:deprecate) + @example_proxy.backtrace.should == "the location" + end + + specify "with the supplied location as #location" do + @example_proxy.location.should == "the location" + end + end + end + + + end + end + + [:xexample, :xit, :xspecify].each do |method| + describe "##{method.to_s}" do + before(:each) do + Kernel.stub!(:warn) + end + + it "should NOT create an example" do + lambda { + @example_group.__send__(method,"") + }.should_not change(@example_group.examples, :length) + end + + it "should warn that the example is disabled" do + Kernel.should_receive(:warn).with("Example disabled: foo") + @example_group.__send__(method,"foo") + end + end + end + + describe "#examples" do + it "should have Examples" do + example_group = Class.new(ExampleGroupDouble) do + it "should exist" do; end + end + example_group.examples.length.should == 1 + example_group.examples.first.description.should == "should exist" + end + + it "should not include methods that begin with test (only when TU interop is loaded)" do + example_group = Class.new(ExampleGroupDouble) do + def test_any_args(*args) + true.should be_true + end + def test_something + 1.should == 1 + end + def test + raise "This is not a real test" + end + def testify + raise "This is not a real test" + end + def should_something + # forces the run + end + end + + example_group.examples.length.should == 1 + example_group.run(options).should be_true + end + + it "should include methods that begin with should and has an arity of 0 in suite" do + example_group = Class.new(ExampleGroupDouble) do + def shouldCamelCase + true.should be_true + end + def should_any_args(*args) + true.should be_true + end + def should_something + 1.should == 1 + end + def should_not_something + 1.should_not == 2 + end + def should + raise "This is not a real example" + end + def should_not + raise "This is not a real example" + end + end + example_group.should have(4).examples + descriptions = example_group.examples.collect {|e| e.description} + descriptions.should include( + "shouldCamelCase", + "should_any_args", + "should_something", + "should_not_something") + descriptions.should_not include( + "should", + "should_not" + ) + end + + it "should not include methods that begin with test_ and has an arity > 0 in suite" do + example_group = Class.new(ExampleGroupDouble) do + def test_invalid(foo) + 1.should == 1 + end + def testInvalidCamelCase(foo) + 1.should == 1 + end + end + example_group.should have(:no).examples + end + + it "should not include methods that begin with should_ and has an arity > 0 in suite" do + example_group = Class.new(ExampleGroupDouble) do + def should_invalid(foo) + 1.should == 2 + end + def shouldInvalidCamelCase(foo) + 1.should == 3 + end + def should_not_invalid(foo) + 1.should == 4 + end + def should_valid + 1.should == 1 + end + end + example_group.should have(1).examples + example_group.run(options).should be_true + end + + it "should run should_methods" do + example_group = Class.new(ExampleGroupDouble) do + def should_valid + 1.should == 2 + end + end + example_group.should have(1).examples + example_group.run(options).should be_false + end + end + + describe "#set_description" do + attr_reader :example_group + before do + class << example_group + public :set_description + end + end + + describe "given a String" do + before(:each) do + example_group.set_description("abc") + end + + specify ".description should return the String passed into .set_description" do + example_group.description.should == "abc" + end + + specify ".described_type should provide nil as its type" do + example_group.described_type.should be_nil + end + end + + describe "given a Class" do + before(:each) do + example_group.set_description(ExampleGroup) + end + + specify ".description should return a String representation of that type (fully qualified) as its name" do + example_group.description.should == "Spec::Example::ExampleGroup" + end + + specify ".described_type should return the passed in type" do + example_group.described_type.should == Spec::Example::ExampleGroup + end + end + + describe "given a String and a Class" do + before(:each) do + example_group.set_description("behaving", ExampleGroup) + end + + specify ".description should return String then space then Type" do + example_group.description.should == "behaving Spec::Example::ExampleGroup" + end + + specify ".described_type should return the passed in type" do + example_group.described_type.should == Spec::Example::ExampleGroup + end + end + + describe "given a Class and a String (starting with an alpha char)" do + before(:each) do + example_group.set_description(ExampleGroup, "behaving") + end + + specify ".description should return the Type then space then String" do + example_group.description.should == "Spec::Example::ExampleGroup behaving" + end + end + + describe "given a Class and a String (starting with a '.')" do + before(:each) do + example_group.set_description(ExampleGroup, ".behaving") + end + + specify ".description should return the Type then String" do + example_group.description.should == "Spec::Example::ExampleGroup.behaving" + end + end + + describe "#set_description(Class, String starting with #)" do + before(:each) do + example_group.set_description(ExampleGroup, "#behaving") + end + + specify "should return the Class then String" do + example_group.description.should == "Spec::Example::ExampleGroup#behaving" + end + end + + describe "#set_description(Class, String containing .)" do + before(:each) do + example_group.set_description(ExampleGroup, "calling a.b") + end + + specify ".description should return the Type then space then String" do + example_group.description.should == "Spec::Example::ExampleGroup calling a.b" + end + end + + describe "#set_description(Class, String containing #)" do + before(:each) do + example_group.set_description(ExampleGroup, "is #1") + end + + specify ".description should return the Type then space then String" do + example_group.description.should == "Spec::Example::ExampleGroup is #1" + end + end + + describe "#set_description(String, Type, String)" do + before(:each) do + example_group.set_description("A", Hash, "with one entry") + end + + specify ".description should return the first String then space then Type then second String" do + example_group.description.should == "A Hash with one entry" + end + end + + describe "#set_description(Hash representing options)" do + before(:each) do + example_group.set_description(:a => "b", :location => "blah") + end + + it ".location should expand the passed in :location option passed into the constructor" do + example_group.location.should == File.expand_path("blah") + end + + it ".options should return all the options passed in" do + example_group.options.should == {:a => "b", :location => "blah"} + end + + end + end + + describe "#description" do + it "should return the same description instance for each call" do + example_group.description.should eql(example_group.description) + end + + it "should not add a space when description begins with #" do + child_example_group = Class.new(example_group) do + describe("#foobar", "Does something") + end + child_example_group.description.should == "ExampleGroup#foobar Does something" + end + + it "should not add a space when description begins with ." do + child_example_group = Class.new(example_group) do + describe(".foobar", "Does something") + end + child_example_group.description.should == "ExampleGroup.foobar Does something" + end + + it "should return the class name if nil" do + example_group.set_description(nil) + example_group.description.should =~ /Class:/ + end + + it "should return the class name if nil" do + example_group.set_description("") + example_group.description.should =~ /Class:/ + end + + it "is cached" do + example_group.set_description("describe me") + example_group.description.should be(example_group.description) + end + end + + describe "#description_parts" do + it "should return an Array of the current class description args" do + example_group.description_parts.should == [example_group.description] + end + + it "should return an Array of the description args from each class in the hierarchy" do + parent_example_group = Class.new(ExampleGroupDouble) do + describe("Parent") + end + + child_example_group = Class.new(parent_example_group) + child_example_group.describe("Child", ExampleGroup) + child_example_group.description.should_not be_empty + + grand_child_example_group = Class.new(child_example_group) + grand_child_example_group.describe("GrandChild", ExampleGroup) + grand_child_example_group.description.should_not be_empty + + grand_child_example_group.description_parts.should == [ + "Parent", + "Child", + Spec::Example::ExampleGroup, + "GrandChild", + Spec::Example::ExampleGroup + ] + end + + it "caches the description parts" do + example_group.description_parts.should equal(example_group.description_parts) + end + end + + describe "#described_type" do + it "should return passed in type" do + child_example_group = Class.new(example_group) do + describe Object + end + child_example_group.described_type.should == Object + end + + it "should return #described_type of superclass when no passed in type" do + parent_example_group = Class.new(ExampleGroupDouble) do + describe Object, "#foobar" + end + child_example_group = Class.new(parent_example_group) do + describe "not a type" + end + child_example_group.described_type.should == Object + end + + it "is cached per example group" do + klass = Class.new + group = Class.new(ExampleGroupDouble) do + describe(klass) + end + group.should_receive(:description_parts).once.and_return([klass]) + group.described_type + group.described_type + end + end + + describe "#include" do + it "should have accessible class methods from included module" do + mod_method_called = false + mod = Module.new do + class_methods = Module.new do + define_method :mod_method do + mod_method_called = true + end + end + + self.class.class_eval do + define_method(:included) do |receiver| + receiver.extend class_methods + end + end + end + + @example_group.__send__ :include, mod + + @example_group.mod_method + mod_method_called.should be_true + end + end + + describe "#number_of_examples" do + it "should count number of examples" do + proc do + @example_group.it("one") {} + @example_group.it("two") {} + @example_group.it("three") {} + @example_group.it("four") {} + end.should change {@example_group.number_of_examples}.by(4) + end + end + + describe "#class_eval" do + it "should allow constants to be defined" do + example_group = Class.new(ExampleGroupDouble) do + FOO = 1 + it "should reference FOO" do + FOO.should == 1 + end + end + success = example_group.run(options) + success.should be_true + Object.const_defined?(:FOO).should == false + end + end + + describe '#register' do + after(:each) do + Spec::Runner.options.remove_example_group example_group + end + it "should add ExampleGroup to set of ExampleGroups to be run" do + Spec::Runner.options.add_example_group example_group + options.example_groups.should include(example_group) + end + end + + describe '#remove_example_group' do + before(:each) do + Spec::Runner.options.add_example_group example_group + end + it "should remove ExampleGroup from set of ExampleGroups to be run" do + Spec::Runner.options.remove_example_group example_group + options.example_groups.should_not include(example_group) + end + end + + describe "#run" do + describe "given an example group with at least one example" do + it "should call add_example_group" do + example_group = Class.new(ExampleGroupDouble) do + example("anything") {} + end + reporter.should_receive(:add_example_group) + example_group.run(options) + end + end + + describe "given an example group with no examples" do + it "should NOT call add_example_group" do + example_group = Class.new(ExampleGroupDouble) do end + reporter.should_not_receive(:add_example_group) + example_group.run(options) + end + end + end + + describe "#matcher_class=" do + it "should call new and matches? on the class used for matching examples" do + example_group = Class.new(ExampleGroupDouble) do + it "should do something" do end + def self.specified_examples + ["something"] + end + def self.to_s + "TestMatcher" + end + end + + matcher = mock("matcher") + matcher.should_receive(:matches?).with(["something"]).any_number_of_times + + matcher_class = Class.new + matcher_class.should_receive(:new).with("TestMatcher", "should do something").and_return(matcher) + + begin + ExampleGroupMethods.matcher_class = matcher_class + + example_group.run(options) + ensure + ExampleGroupMethods.matcher_class = ExampleMatcher + end + end + end + + describe "#options" do + it "should expose the options hash" do + group = describe("group", :this => 'hash') {} + group.options[:this].should == 'hash' + end + end + + describe "#before" do + it "stores before(:each) blocks" do + example_group = Class.new(ExampleGroupDouble) {} + block = lambda {} + example_group.before(:each, &block) + example_group.before_each_parts.should include(block) + end + + it "stores before(:all) blocks" do + example_group = Class.new(ExampleGroupDouble) {} + block = lambda {} + example_group.before(:all, &block) + example_group.before_all_parts.should include(block) + end + + it "stores before(:suite) blocks" do + example_group = Class.new(ExampleGroupDouble) {} + parts = [] + ExampleGroupMethods.stub!(:before_suite_parts).and_return(parts) + block = lambda {} + example_group.before(:suite, &block) + example_group.before_suite_parts.should include(block) + end + end + + + describe "#after" do + it "stores after(:each) blocks" do + example_group = Class.new(ExampleGroupDouble) {} + block = lambda {} + example_group.after(:each, &block) + example_group.after_each_parts.should include(block) + end + + it "stores after(:all) blocks" do + example_group = Class.new(ExampleGroupDouble) {} + block = lambda {} + example_group.after(:all, &block) + example_group.after_all_parts.should include(block) + end + + it "stores after(:suite) blocks" do + example_group = Class.new(ExampleGroupDouble) {} + parts = [] + ExampleGroupMethods.stub!(:after_suite_parts).and_return(parts) + block = lambda {} + example_group.after(:suite, &block) + example_group.after_suite_parts.should include(block) + end + end + + describe "#run_before_all" do + it "does not create an instance if before_all_parts are empty" do + example_group = Class.new(ExampleGroupDouble) { example("one example") {} } + example_group.should_not_receive(:new) + example_group.__send__ :run_before_all, nil + end + end + + describe "#run_after_all" do + it "does not create an instance if after_all_parts are empty" do + example_group = Class.new(ExampleGroupDouble) { example("one example") {} } + example_group.should_not_receive(:new) + example_group.__send__ :run_after_all, true, {}, nil + end + end + + describe "#examples_to_run" do + it "runs only the example identified by a line number" do + example_group = Class.new(ExampleGroupDouble).describe("this") do + it { 3.should == 3 } + it "has another example which raises" do + raise "this shouldn't have run" + end + end + options.examples << :ignore + options.line_number = __LINE__ - 6 + options.files << __FILE__ + example_group.run(options).should be_true + end + + it "runs the example identified by a line number even if it's not the example line number" do + example_group = Class.new(ExampleGroupDouble).describe("this") do + + it { raise "foo" } + + end + options.examples << :ignore + options.line_number = __LINE__ - 3 + options.files << __FILE__ + example_group.run(options).should be_false + end + + it "runs all the examples in the group " do + first_example_ran = false + second_example_ran = false + example_group = Class.new(ExampleGroupDouble).describe("this") do + + it { first_example_ran = true } + it { second_example_ran = true } + + end + options.line_number = __LINE__ - 6 + options.files << __FILE__ + options.examples << :ignore + example_group.run(options) + first_example_ran.should be_true + second_example_ran.should be_true + end + + it "doesn't run any examples in another group" do + example_ran = false + example_group_1 = Class.new(ExampleGroupDouble).describe("this") do + it "ignore" do + example_ran = true + end + end + example_group_2 = Class.new(ExampleGroupDouble).describe("that") do + end + options.examples << :ignore + options.line_number = __LINE__ - 3 + options.files << __FILE__ + example_group_1.run(options) + example_group_2.run(options) + example_ran.should be_false + end + end + + describe "#define" do + let(:counter) do + Class.new do + def initialize + @count = 0 + end + def count + @count += 1 + end + end.new + end + it "generates an instance method" do + counter.count.should == 1 + end + + it "caches the value" do + counter.count.should == 1 + counter.count.should == 2 + end + end + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/example/example_group_proxy_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/example/example_group_proxy_spec.rb new file mode 100755 index 00000000..6af4ef18 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/example/example_group_proxy_spec.rb @@ -0,0 +1,107 @@ +require 'spec_helper' + +module Spec + module Example + describe ExampleGroupProxy do + before(:each) do + @group = stub("example group").as_null_object + end + + attr_reader :group + def proxy + @proxy ||= ExampleGroupProxy.new(@group) + end + + describe "#description" do + it "provides the example group's description" do + group.stub!(:description => "the description") + proxy.description.should == "the description" + end + end + + describe "#nested_descriptions" do + it "provides the example group's nested_descriptions" do + group.stub!(:nested_descriptions => ["the description"]) + proxy.nested_descriptions.should == ["the description"] + end + end + + describe "#filtered_description (DEPRECATED)" do + before(:each) do + Spec.stub!(:deprecate) + end + + it "is deprecated" do + Spec.should_receive(:deprecate) + proxy.filtered_description(/(ignore)/) + end + + it "builds the description from the group's nested_descriptions" do + group.stub!(:nested_descriptions => ["ignore","the","description"]) + proxy.filtered_description(/(ignore)/).should == "the description" + end + + it "filters out description parts that match the supplied regexp" do + group.stub!(:nested_descriptions => ["ignore the","description"]) + proxy.filtered_description(/(ignore )/).should == "the description" + end + end + + describe "#examples" do + it "provides a collection of example group proxies" do + group.stub!(:example_proxies => ["array","of","proxies"]) + proxy.examples.should == ["array","of","proxies"] + end + end + + describe "#backtrace (deprecated - use #location)" do + before(:each) do + Spec.stub!(:deprecate) + end + + it "provides the location of the declaration of this group" do + group.stub!(:location => "path/to/location:37") + proxy.backtrace.should == "path/to/location:37" + end + + it "warns deprecation" do + Spec.should_receive(:deprecate) + group.stub!(:location => "path/to/location:37") + proxy.backtrace + end + end + + describe "#location" do + it "provides the location of the declaration of this group" do + group.stub!(:location => "path/to/location:37") + proxy.location.should == "path/to/location:37" + end + end + + describe "#options" do + it "provides the options passed to the example group declaration" do + group.stub!(:options => {:a => 'b'}) + proxy.options.should == {:a => 'b'} + end + + it "excludes :location" do + group.stub!(:options => {:location => 'b'}) + proxy.options.should == {} + end + + it "excludes :scope" do + group.stub!(:options => {:scope => 'b'}) + proxy.options.should == {} + end + + it "preserves the original hash" do + hash = {:a => 'b', :location => 'here', :scope => 'tiny'} + group.stub!(:options => hash) + proxy.options.should == {:a => 'b'} + hash.should == {:a => 'b', :location => 'here', :scope => 'tiny'} + end + end + + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/example/example_group_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/example/example_group_spec.rb new file mode 100755 index 00000000..086c166c --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/example/example_group_spec.rb @@ -0,0 +1,643 @@ +require 'spec_helper' + +module Spec + module Example + class ExampleModuleScopingSpec < ExampleGroup + describe ExampleGroup, "via a class definition" + + module Foo + module Bar + def self.loaded?; true; end + end + end + include Foo + + it "should understand module scoping" do + Bar.should be_loaded + end + + @@class_variable = "a class variable" + + it "can access class variables in examples in Ruby 1.8" do + with_ruby 1.8 do + @@class_variable.should == "a class variable" + end + end + + it "can NOT access class variables in examples in Ruby 1.9" do + with_ruby 1.9 do + lambda do + @@class_variable.should == "a class variable" + end.should raise_error(NameError) + end + end + + + end + + class ExampleClassVariablePollutionSpec < ExampleGroup + describe ExampleGroup, "via a class definition without a class variable" + + it "should not retain class variables from other Example classes" do + proc do + @@class_variable + end.should raise_error + end + end + + describe ExampleGroup, "#pending" do + it "should raise a Pending error when its block fails" do + block_ran = false + lambda { + pending("something") do + block_ran = true + raise "something wrong with my example" + end + }.should raise_error(Spec::Example::ExamplePendingError, "something") + block_ran.should == true + end + + it "should raise Spec::Example::PendingExampleFixedError when its block does not fail" do + block_ran = false + lambda { + pending("something") do + block_ran = true + end + }.should raise_error(Spec::Example::PendingExampleFixedError, "Expected pending 'something' to fail. No Error was raised.") + block_ran.should == true + end + end + + describe ExampleGroup, "#run with failure in example", :shared => true do + it "should add an example failure to the TestResult" do + example_group.run(options).should be_false + end + end + + describe ExampleGroup, "#run" do + with_sandboxed_options do + attr_reader :example_group, :formatter, :reporter + before :each do + method_with_three_args = lambda { |arg1, arg2, arg3| } + @formatter = mock("formatter", :null_object => true, :example_pending => method_with_three_args) + options.formatters << formatter + options.backtrace_tweaker = mock("backtrace_tweaker", :null_object => true) + @reporter = FakeReporter.new(options) + options.reporter = reporter + @example_group = Class.new(ExampleGroupDouble) do + describe("example") + it "does nothing" do + end + end + class << example_group + public :include + end + end + + after :each do + ExampleGroup.reset + end + + it "should not run when there are no examples" do + example_group = Class.new(ExampleGroupDouble) do + describe("Foobar") + end + example_group.examples.should be_empty + + reporter = mock("Reporter") + reporter.should_not_receive(:add_example_group) + example_group.run(options) + end + + it "should report the start of an example run" do + reporter.should_receive(:example_started) do |example| + example.should equal(example_group.examples[0]) + end + example_group.run(options) + end + + it "should report the end of an example run" do + reporter.should_receive(:example_finished) do |example, execution_error| + example.should equal(example_group.examples[0]) + execution_error.should be_nil + end + example_group.run(options) + end + + describe "when before_each fails" do + before(:each) do + $example_ran = $after_each_ran = false + @example_group = describe("Foobar") do + before(:each) {raise} + it "should not be run" do + $example_ran = true + end + after(:each) do + $after_each_ran = true + end + end + end + + it "should not run example block" do + example_group.run(options) + $example_ran.should be_false + end + + it "should run after_each" do + example_group.run(options) + $after_each_ran.should be_true + end + + it "should report failure location when in before_each" do + reporter.should_receive(:example_finished) do |example_group, error| + error.message.should eql("in before_each") + end + example_group.run(options) + end + end + + describe ExampleGroup, "#run on dry run" do + before do + @options.dry_run = true + end + + it "should not run before(:all) or after(:all)" do + before_all_ran = false + after_all_ran = false + ExampleGroup.before(:all) { before_all_ran = true } + ExampleGroup.after(:all) { after_all_ran = true } + example_group.it("should") {} + example_group.run(options) + before_all_ran.should be_false + after_all_ran.should be_false + end + + it "should not run example" do + example_ran = false + example_group.it("should") {example_ran = true} + example_group.run(options) + example_ran.should be_false + end + end + + describe ExampleGroup, "#run with specified examples" do + attr_reader :examples_that_were_run + before do + @examples_that_were_run = [] + end + + describe "when specified_examples matches entire ExampleGroup" do + before do + examples_that_were_run = @examples_that_were_run + @example_group = Class.new(ExampleGroupDouble) do + describe("the ExampleGroup") + it("should be run") do + examples_that_were_run << 'should be run' + end + + it("should also be run") do + examples_that_were_run << 'should also be run' + end + end + options.parse_example "the ExampleGroup" + end + + it "should not run the Examples in the ExampleGroup" do + example_group.run(options) + examples_that_were_run.should == ['should be run', 'should also be run'] + end + end + + describe ExampleGroup, "#run when specified_examples matches only Example description" do + before do + examples_that_were_run = @examples_that_were_run + @example_group = Class.new(ExampleGroupDouble) do + describe("example") + it("should be run") do + examples_that_were_run << 'should be run' + end + end + options.parse_example "should be run" + end + + it "should not run the example" do + example_group.run(options) + examples_that_were_run.should == ['should be run'] + end + end + + describe ExampleGroup, "#run when specified_examples does not match an Example description" do + before do + examples_that_were_run = @examples_that_were_run + @example_group = Class.new(ExampleGroupDouble) do + describe("example") + it("should be something else") do + examples_that_were_run << 'should be something else' + end + end + options.parse_example "does not match anything" + end + + it "should not run the example" do + example_group.run(options) + examples_that_were_run.should == [] + end + end + + describe ExampleGroup, "#run when specified_examples matches an Example description" do + before do + examples_that_were_run = @examples_that_were_run + @example_group = Class.new(ExampleGroupDouble) do + describe("example") + it("should be run") do + examples_that_were_run << 'should be run' + end + it("should not be run") do + examples_that_were_run << 'should not be run' + end + end + options.parse_example "should be run" + end + + it "should run only the example" do + example_group.run(options) + examples_that_were_run.should == ["should be run"] + end + end + end + + describe ExampleGroup, "#run with success" do + before do + @special_example_group = Class.new(ExampleGroupDouble) + ExampleGroupFactory.register(:special, @special_example_group) + @not_special_example_group = Class.new(ExampleGroupDouble) + ExampleGroupFactory.register(:not_special, @not_special_example_group) + end + + after do + ExampleGroupFactory.reset + end + + it "should send reporter example_group_started" do + reporter.should_receive(:example_group_started) + example_group.run(options) + end + + it "should run example on run" do + example_ran = false + example_group.it("should") {example_ran = true} + example_group.run(options) + example_ran.should be_true + end + + it "should run before(:all) block only once" do + before_all_run_count_run_count = 0 + example_group.before(:all) {before_all_run_count_run_count += 1} + example_group.it("test") {true} + example_group.it("test2") {true} + example_group.run(options) + before_all_run_count_run_count.should == 1 + end + + it "should run after(:all) block only once" do + after_all_run_count = 0 + example_group.after(:all) {after_all_run_count += 1} + example_group.it("test") {true} + example_group.it("test2") {true} + example_group.run(options) + after_all_run_count.should == 1 + @reporter.rspec_verify + end + + it "after(:all) should have access to all instance variables defined in before(:all)" do + context_instance_value_in = "Hello there" + context_instance_value_out = "" + example_group.before(:all) { @instance_var = context_instance_value_in } + example_group.after(:all) { context_instance_value_out = @instance_var } + example_group.it("test") {true} + example_group.run(options) + context_instance_value_in.should == context_instance_value_out + end + + it "should copy instance variables from before(:all)'s execution context into spec's execution context" do + context_instance_value_in = "Hello there" + context_instance_value_out = "" + example_group.before(:all) { @instance_var = context_instance_value_in } + example_group.it("test") {context_instance_value_out = @instance_var} + example_group.run(options) + context_instance_value_in.should == context_instance_value_out + end + + it "should not add global before callbacks for untargetted example_group" do + fiddle = [] + + ExampleGroup.before(:all) { fiddle << "Example.before(:all)" } + ExampleGroup.prepend_before(:all) { fiddle << "Example.prepend_before(:all)" } + @special_example_group.before(:each) { fiddle << "Example.before(:each, :type => :special)" } + @special_example_group.prepend_before(:each) { fiddle << "Example.prepend_before(:each, :type => :special)" } + @special_example_group.before(:all) { fiddle << "Example.before(:all, :type => :special)" } + @special_example_group.prepend_before(:all) { fiddle << "Example.prepend_before(:all, :type => :special)" } + + example_group = Class.new(ExampleGroupDouble) do + describe("I'm not special", :type => :not_special) + it "does nothing" + end + example_group.run(options) + fiddle.should == [ + 'Example.prepend_before(:all)', + 'Example.before(:all)', + ] + end + + it "should add global before callbacks for targetted example_groups" do + fiddle = [] + + ExampleGroup.before(:all) { fiddle << "Example.before(:all)" } + ExampleGroup.prepend_before(:all) { fiddle << "Example.prepend_before(:all)" } + @special_example_group.before(:each) { fiddle << "special.before(:each, :type => :special)" } + @special_example_group.prepend_before(:each) { fiddle << "special.prepend_before(:each, :type => :special)" } + @special_example_group.before(:all) { fiddle << "special.before(:all, :type => :special)" } + @special_example_group.prepend_before(:all) { fiddle << "special.prepend_before(:all, :type => :special)" } + @special_example_group.append_before(:each) { fiddle << "special.append_before(:each, :type => :special)" } + + example_group = Class.new(@special_example_group).describe("I'm a special example_group") {} + example_group.it("test") {true} + example_group.run(options) + fiddle.should == [ + 'Example.prepend_before(:all)', + 'Example.before(:all)', + 'special.prepend_before(:all, :type => :special)', + 'special.before(:all, :type => :special)', + 'special.prepend_before(:each, :type => :special)', + 'special.before(:each, :type => :special)', + 'special.append_before(:each, :type => :special)', + ] + end + + it "should order before callbacks from global to local" do + fiddle = [] + ExampleGroup.prepend_before(:all) { fiddle << "Example.prepend_before(:all)" } + ExampleGroup.before(:all) { fiddle << "Example.before(:all)" } + example_group.prepend_before(:all) { fiddle << "prepend_before(:all)" } + example_group.before(:all) { fiddle << "before(:all)" } + example_group.prepend_before(:each) { fiddle << "prepend_before(:each)" } + example_group.before(:each) { fiddle << "before(:each)" } + example_group.run(options) + fiddle.should == [ + 'Example.prepend_before(:all)', + 'Example.before(:all)', + 'prepend_before(:all)', + 'before(:all)', + 'prepend_before(:each)', + 'before(:each)' + ] + end + + it "should order after callbacks from local to global" do + fiddle = [] + example_group.after(:each) { fiddle << "after(:each)" } + example_group.append_after(:each) { fiddle << "append_after(:each)" } + example_group.after(:all) { fiddle << "after(:all)" } + example_group.append_after(:all) { fiddle << "append_after(:all)" } + ExampleGroup.after(:all) { fiddle << "Example.after(:all)" } + ExampleGroup.append_after(:all) { fiddle << "Example.append_after(:all)" } + example_group.run(options) + fiddle.should == [ + 'after(:each)', + 'append_after(:each)', + 'after(:all)', + 'append_after(:all)', + 'Example.after(:all)', + 'Example.append_after(:all)' + ] + end + + it "should have accessible instance methods from included module" do + mod1_method_called = false + mod1 = Module.new do + define_method :mod1_method do + mod1_method_called = true + end + end + + mod2_method_called = false + mod2 = Module.new do + define_method :mod2_method do + mod2_method_called = true + end + end + + example_group.include mod1, mod2 + + example_group.it("test") do + mod1_method + mod2_method + end + example_group.run(options) + mod1_method_called.should be_true + mod2_method_called.should be_true + end + + it "should include targetted modules included using configuration" do + mod1 = Module.new + mod2 = Module.new + mod3 = Module.new + Spec::Runner.configuration.include(mod1, mod2) + Spec::Runner.configuration.include(mod3, :type => :not_special) + + example_group = Class.new(@special_example_group).describe("I'm special", :type => :special) do + it "does nothing" + end + example_group.run(options) + + example_group.included_modules.should include(mod1) + example_group.included_modules.should include(mod2) + example_group.included_modules.should_not include(mod3) + end + + end + + describe ExampleGroup, "#run with pending example that has a failing assertion" do + before do + example_group.it("should be pending") do + pending("Example fails") {false.should be_true} + end + end + + it "should send example_pending to formatter" do + @formatter.should_receive(:example_pending).with("example", "should be pending", "Example fails") + example_group.run(options) + end + end + + describe ExampleGroup, "#run with pending example that does not have a failing assertion" do + it_should_behave_like "Spec::Example::ExampleGroup#run with failure in example" + + before do + example_group.it("should be pending") do + pending("Example passes") {true.should be_true} + end + end + + it "should send example_pending to formatter" do + @formatter.should_receive(:example_pending).with("example", "should be pending", "Example passes") + example_group.run(options) + end + end + + describe ExampleGroup, "#run when before(:all) fails" do + it_should_behave_like "Spec::Example::ExampleGroup#run with failure in example" + + before do + ExampleGroup.before(:all) { raise NonStandardError, "before(:all) failure" } + end + + it "should not run any example" do + spec_ran = false + example_group.it("test") {spec_ran = true} + example_group.run(options) + spec_ran.should be_false + end + + it "should run ExampleGroup after(:all)" do + after_all_ran = false + ExampleGroup.after(:all) { after_all_ran = true } + example_group.run(options) + after_all_ran.should be_true + end + + it "should run example_group after(:all)" do + after_all_ran = false + example_group.after(:all) { after_all_ran = true } + example_group.run(options) + after_all_ran.should be_true + end + + it "should supply before(:all) as description" do + @reporter.should_receive(:example_failed) do |example, error| + example.description.should eql("before(:all)") + error.message.should eql("before(:all) failure") + end + + example_group.it("test") {true} + example_group.run(options) + end + end + + describe ExampleGroup, "#run when before(:each) fails" do + it_should_behave_like "Spec::Example::ExampleGroup#run with failure in example" + + before do + ExampleGroup.before(:each) { raise NonStandardError } + end + + it "should run after(:all)" do + after_all_ran = false + ExampleGroup.after(:all) { after_all_ran = true } + example_group.run(options) + after_all_ran.should be_true + end + end + + describe ExampleGroup, "#run when any example fails" do + it_should_behave_like "Spec::Example::ExampleGroup#run with failure in example" + + before do + example_group.it("should") { raise NonStandardError } + end + + it "should run after(:all)" do + after_all_ran = false + ExampleGroup.after(:all) { after_all_ran = true } + example_group.run(options) + after_all_ran.should be_true + end + end + + describe ExampleGroup, "#run when first after(:each) block fails" do + it_should_behave_like "Spec::Example::ExampleGroup#run with failure in example" + + before do + class << example_group + attr_accessor :first_after_ran, :second_after_ran + end + example_group.first_after_ran = false + example_group.second_after_ran = false + + example_group.after(:each) do + self.class.second_after_ran = true + end + example_group.after(:each) do + self.class.first_after_ran = true + raise "first" + end + end + + it "should run second after(:each) block" do + reporter.should_receive(:example_finished) do |example, error| + example.should equal(example) + error.message.should eql("first") + end + example_group.run(options) + example_group.first_after_ran.should be_true + example_group.second_after_ran.should be_true + end + end + + describe ExampleGroup, "#run when first before(:each) block fails" do + it_should_behave_like "Spec::Example::ExampleGroup#run with failure in example" + + before do + class << example_group + attr_accessor :first_before_ran, :second_before_ran + end + example_group.first_before_ran = false + example_group.second_before_ran = false + + example_group.before(:each) do + self.class.first_before_ran = true + raise "first" + end + example_group.before(:each) do + self.class.second_before_ran = true + end + end + + it "should not run second before(:each)" do + reporter.should_receive(:example_finished) do |name, error| + error.message.should eql("first") + end + example_group.run(options) + example_group.first_before_ran.should be_true + example_group.second_before_ran.should be_false + end + end + + describe ExampleGroup, "#run when failure in after(:all)" do + it_should_behave_like "Spec::Example::ExampleGroup#run with failure in example" + + before do + ExampleGroup.after(:all) { raise NonStandardError, "in after(:all)" } + end + + it "should return false" do + example_group.run(options).should be_false + end + end + end + end + + describe ExampleGroup, "subclasses" do + it "should have access to the described_type" do + example_group = Class.new(ExampleGroupDouble).describe(Array) + example_group.__send__(:described_type).should == Array + end + + it "should concat descriptions when nested" do + example_group = Class.new(ExampleGroupDouble).describe(Array) + nested_group = example_group.describe("when empty") do; end + nested_group.description.to_s.should == "Array when empty" + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/example/example_matcher_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/example/example_matcher_spec.rb new file mode 100755 index 00000000..1a7e5da2 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/example/example_matcher_spec.rb @@ -0,0 +1,86 @@ +require 'spec_helper' + +module Spec + module Example + describe ExampleMatcher, "#matches?" do + def match_examples(examples) + simple_matcher do |actual, matcher| + matcher.failure_message = "expected matcher.matches?(#{description.inspect}) to return true, got false" + matcher.negative_failure_message = "expected matcher.matches?(#{description.inspect}) to return false, got true" + actual.matches?(examples) + end + end + + it "should match correct example_group and example" do + matcher = ExampleMatcher.new("example_group", "example") + matcher.should match_examples(["example_group example"]) + end + + it "should not match wrong example" do + matcher = ExampleMatcher.new("example_group", "other example") + matcher.should_not match_examples(["example_group example"]) + end + + it "should not match wrong example_group" do + matcher = ExampleMatcher.new("other example_group", "example") + matcher.should_not match_examples(["example_group example"]) + end + + it "should match example only" do + matcher = ExampleMatcher.new("example_group", "example") + matcher.should match_examples(["example"]) + end + + it "should match example_group only" do + matcher = ExampleMatcher.new("example_group", "example") + matcher.should match_examples(["example_group"]) + end + + it "should match example_group ending with before(:all)" do + matcher = ExampleMatcher.new("example_group", "example") + matcher.should match_examples(["example_group before(:all)"]) + end + + it "should escape regexp chars" do + matcher = ExampleMatcher.new("(con|text)", "[example]") + matcher.should_not match_examples(["con p"]) + end + + it "should match when example_group is modularized" do + matcher = ExampleMatcher.new("MyModule::MyClass", "example") + matcher.should match_examples(["MyClass example"]) + end + end + + describe ExampleMatcher, "#matches? normal case" do + it "matches when passed in example matches" do + matcher = ExampleMatcher.new("Foo", "bar") + matcher.matches?(["no match", "Foo bar"]).should == true + end + + it "does not match when no passed in examples match" do + matcher = ExampleMatcher.new("Foo", "bar") + matcher.matches?(["no match1", "no match2"]).should == false + end + end + + describe ExampleMatcher, "#matches? where description has '::' in it" do + it "matches when passed in example matches" do + matcher = ExampleMatcher.new("Foo::Bar", "baz") + matcher.matches?(["no match", "Foo::Bar baz"]).should == true + end + + it "does not match when no passed in examples match" do + matcher = ExampleMatcher.new("Foo::Bar", "baz") + matcher.matches?(["no match1", "no match2"]).should == false + end + end + + describe ExampleMatcher, "called with nil example" do + it "does not puke" do + matcher = ExampleMatcher.new("Foo::Bar", nil) + matcher.matches?(["anything"]).should == false + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/example/example_methods_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/example/example_methods_spec.rb new file mode 100755 index 00000000..9a681095 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/example/example_methods_spec.rb @@ -0,0 +1,162 @@ +require 'spec_helper' + +class Thing + attr_reader :arg + def initialize(arg=nil) + @arg = arg || :default + end + def ==(other) + @arg == other.arg + end + def eql?(other) + @arg == other.arg + end +end + +module Spec + module Example + describe ExampleMethods do + module ModuleThatIsReopened; end + + module Spec::Example::ExampleMethods + include ModuleThatIsReopened + end + + module ModuleThatIsReopened + def module_that_is_reopened_method; end + end + + describe "with an included module that is reopened" do + it "should have reopened methods" do + method(:module_that_is_reopened_method).should_not be_nil + end + end + + describe "#should" do + before(:each) do + @example_group = Class.new(ExampleGroupDouble) + @options = ::Spec::Runner::Options.new(StringIO.new, StringIO.new) + end + + context "in an ExampleGroup with an implicit subject" do + it "delegates matcher to the implied subject" do + @example_group.describe(::Thing) + @example_group.example { should == ::Thing.new(:default) } + @example_group.example { should eql(::Thing.new(:default)) } + @example_group.run(@options).should be_true + end + end + + context "in an ExampleGroup using an explicit subject" do + it "delegates matcher to the declared subject" do + @example_group.describe(::Thing) + @example_group.subject { ::Thing.new(:other) } + @example_group.example { should == ::Thing.new(:other) } + @example_group.example { should eql(::Thing.new(:other)) } + @example_group.run(@options).should be_true + end + end + + context "in an ExampleGroup using 'self' as an explicit subject" do + it "delegates matcher to the ExampleGroup" do + @example_group.describe(::Thing) + @example_group.subject { self } + @example_group.example { should == self } + @example_group.example { should eql(self) } + @example_group.example do + self.instance_eval("def method_ok?; true end") + should be_method_ok + end + @example_group.run(@options).should be_true + end + end + end + + describe "#should_not" do + before(:each) do + @example_group = Class.new(ExampleGroupDouble) + @options = ::Spec::Runner::Options.new(StringIO.new, StringIO.new) + end + + context "in an ExampleGroup with an implicit subject" do + it "delegates matcher to the implied subject" do + @example_group.describe(::Thing) + @example_group.example { should_not == ::Thing.new(:other) } + @example_group.example { should_not eql(::Thing.new(:other)) } + @example_group.run(@options).should be_true + end + end + + context "in an ExampleGroup using an explicit subject" do + it "delegates matcher to the declared subject" do + @example_group.describe(::Thing) + @example_group.subject { ::Thing.new(:other) } + @example_group.example { should_not == ::Thing.new(:default) } + @example_group.example { should_not eql(::Thing.new(:default)) } + @example_group.run(@options).should be_true + end + end + + context "in an ExampleGroup using 'self' as an explicit subject" do + it "delegates matcher to the ExampleGroup" do + @example_group.describe(::Thing) + @example_group.subject { self } + @example_group.example { should_not == ::Thing.new(:default) } + @example_group.example { should_not eql(::Thing.new(:default)) } + @example_group.example do + self.instance_eval("def method_ok?; false end") + should_not be_method_ok + end + @example_group.run(@options).should be_true + end + end + end + end + + describe "#options" do + it "should expose the options hash" do + example = ExampleGroupDouble.new ExampleProxy.new("name", :this => 'that') do; end + example.options[:this].should == 'that' + end + end + + describe "#set_instance_variables_from_hash" do + it "preserves the options" do + example = ExampleGroupDouble.new ExampleProxy.new("name", :this => 'that') do; end + example.set_instance_variables_from_hash({:@_options => {}}) + example.options[:this].should == 'that' + end + end + + describe "#description" do + it "returns the supplied description" do + example = ExampleGroupDouble.new ExampleProxy.new("name") do; end + example.description.should == "name" + end + it "returns the generated description if there is no description supplied" do + example = ExampleGroupDouble.new ExampleProxy.new do; end + Spec::Matchers.stub!(:generated_description).and_return('this message') + example.description.should == "this message" + end + it "warns if there is no supplied or generated description" do + example = ExampleGroupDouble.new ExampleProxy.new(nil, {}, "this backtrace") do; end + Spec::Matchers.stub!(:generated_description).and_return(nil) + Spec.should_receive(:warn).with("No description supplied for example declared on this backtrace") + example.description + end + end + + describe "#expect" do + it "aliases #should with #to on the proc" do + a = 3 + expect { a += 1 }.to change{a}.from(3).to(4) + end + + it "aliases #should_not with #to_not on the proc" do + a = 3 + expect { nil }.to_not change{a} + end + end + + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/example/example_proxy_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/example/example_proxy_spec.rb new file mode 100755 index 00000000..de845c9e --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/example/example_proxy_spec.rb @@ -0,0 +1,57 @@ +require 'spec_helper' + +module Spec + module Example + + describe ExampleProxy do + + describe "#description" do + it "provides the submitted description" do + proxy = ExampleProxy.new("the description") + proxy.description.should == "the description" + end + end + + describe "#update" do + it "updates the description" do + proxy = ExampleProxy.new("old description") + proxy.update("new description") + proxy.description.should == "new description" + end + end + + describe "#options" do + it "provides the submitted options" do + proxy = ExampleProxy.new(:ignore, {:these => :options}) + proxy.options.should == {:these => :options} + end + end + + describe "#backtrace (DEPRECATED - use #location)" do + before(:each) do + Spec.stub!(:deprecate) + end + + it "is deprecated" do + Spec.should_receive(:deprecate) + proxy = ExampleProxy.new(:ignore, {}, "path/to/location:37") + proxy.backtrace + end + + it "provides the location of the declaration of this group" do + proxy = ExampleProxy.new(:ignore, {}, "path/to/location:37") + proxy.backtrace.should == "path/to/location:37" + end + end + + describe "#location" do + it "provides the location of the declaration of this group" do + proxy = ExampleProxy.new(:ignore, {}, "path/to/location:37") + proxy.location.should == "path/to/location:37" + end + end + + end + + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/example/helper_method_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/example/helper_method_spec.rb new file mode 100755 index 00000000..3653aec7 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/example/helper_method_spec.rb @@ -0,0 +1,24 @@ +require 'spec_helper' + +# This was added to prove that http://rspec.lighthouseapp.com/projects/5645/tickets/211 +# was fixed in ruby 1.9.1 + +module HelperMethodExample + describe "a helper method" do + def helper_method + "received call" + end + + it "is available to examples in the same group" do + helper_method.should == "received call" + end + + describe "from a nested group" do + it "is available to examples in a nested group" do + helper_method.should == "received call" + end + end + + end +end + diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/example/nested_example_group_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/example/nested_example_group_spec.rb new file mode 100755 index 00000000..83e4a9d7 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/example/nested_example_group_spec.rb @@ -0,0 +1,71 @@ +require 'spec_helper' + +module Spec + module Example + describe 'Nested Example Groups' do + parent = self + + def count + @count ||= 0 + @count = @count + 1 + @count + end + + before(:all) do + count.should == 1 + end + + before(:all) do + count.should == 2 + end + + before(:each) do + count.should == 3 + end + + before(:each) do + count.should == 4 + end + + it "should run before(:all), before(:each), example, after(:each), after(:all) in order" do + count.should == 5 + end + + after(:each) do + count.should == 7 + end + + after(:each) do + count.should == 6 + end + + after(:all) do + count.should == 9 + end + + after(:all) do + count.should == 8 + end + + describe 'nested example group' do + self.superclass.should == parent + + it "should run all before and after callbacks" do + count.should == 5 + end + end + end + + describe "Nested Example Groups" do + describe "description options", :other_options => "other options" do + it "includes :location" do + self.class.options[:location].should match(/#{__FILE__}/) + end + + it "includes any other options" do + self.class.options[:other_options].should == "other options" + end + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/example/pending_module_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/example/pending_module_spec.rb new file mode 100755 index 00000000..275abc7d --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/example/pending_module_spec.rb @@ -0,0 +1,58 @@ +module Spec + module Example + describe Pending do + + context "when no block is supplied" do + it "raises an ExamplePendingError if no block is supplied" do + lambda { + pending "TODO" + }.should raise_error(ExamplePendingError, /TODO/) + end + end + + context "when the supplied block fails" do + it "raises an ExamplePendingError if a supplied block fails as expected" do + lambda { + pending "TODO" do + raise "oops" + end + }.should raise_error(ExamplePendingError, /TODO/) + end + end + + context "when the supplied block fails with a mock" do + it "raises an ExamplePendingError if a supplied block fails as expected with a mock" do + lambda { + pending "TODO" do + m = mock("thing") + m.should_receive(:foo) + m.rspec_verify + end + }.should raise_error(ExamplePendingError, /TODO/) + end + end + + context "when the supplied block passes" do + it "raises a PendingExampleFixedError" do + lambda { + pending "TODO" do + # success! + end + }.should raise_error(PendingExampleFixedError, /TODO/) + end + end + end + + describe ExamplePendingError do + it "should have the message provided" do + ExamplePendingError.new("a message").message.should == "a message" + end + end + + describe NotYetImplementedError do + it "should have the message 'Not Yet Implemented'" do + NotYetImplementedError.new.message.should == "Not Yet Implemented" + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/example/predicate_matcher_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/example/predicate_matcher_spec.rb new file mode 100755 index 00000000..a0185850 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/example/predicate_matcher_spec.rb @@ -0,0 +1,41 @@ +require 'spec_helper' + +module Spec + module Example + class Fish + def can_swim?(distance_in_yards) + distance_in_yards < 1000 + end + end + + describe "predicate_matcher[method_on_object] = matcher_method" do + before(:each) do + Spec.stub!(:deprecate) + end + + it "is deprecated" do + Spec.should_receive(:deprecate) + group = ExampleGroupDouble.describe("foo") do + predicate_matchers[:swim] = :can_swim? + end + group.run(Spec::Runner::Options.new(StringIO.new, StringIO.new)) + end + + it "should match matcher_method if method_on_object returns true" do + group = ExampleGroupDouble.describe(Fish) do + predicate_matchers[:swim] = :can_swim? + it { should swim(100) } + end + group.run(Spec::Runner::Options.new(StringIO.new, StringIO.new)) + end + + it "should not match matcher_method if method_on_object returns false" do + group = ExampleGroupDouble.describe(Fish) do + predicate_matchers[:swim] = :can_swim? + it { should_not swim(1000) } + end + group.run(Spec::Runner::Options.new(StringIO.new, StringIO.new)) + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/example/shared_example_group_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/example/shared_example_group_spec.rb new file mode 100755 index 00000000..bbebbf15 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/example/shared_example_group_spec.rb @@ -0,0 +1,257 @@ +require 'spec_helper' + +module Spec + module Example + describe ExampleGroup, "with :shared => true" do + with_sandboxed_options do + attr_reader :formatter, :example_group + before(:each) do + @formatter = Spec::Mocks::Mock.new("formatter", :null_object => true) + options.formatters << formatter + @example_group = Class.new(ExampleGroupDouble).describe("example_group") + class << example_group + public :include + end + end + + after(:each) do + @formatter.rspec_verify + @example_group = nil + Spec::Example::SharedExampleGroup.clear + end + + describe "#register" do + it "creates a new shared example group with the submitted args" do + block = lambda {|a|} + group = SharedExampleGroup.new("shared group") do end + Spec::Example::SharedExampleGroup.should_receive(:new).with("share me", &block).and_return(group) + Spec::Example::SharedExampleGroup.register("share me", &block) + end + + it "registers the shared example group" do + lambda do + Spec::Example::SharedExampleGroup.register "share me" do end + end.should change {Spec::Example::SharedExampleGroup.count}.by(1) + end + end + + it "complains when adding a second shared example_group with the same description" do + describe "shared example_group", :shared => true do + end + lambda do + describe "shared example_group", :shared => true do + end + end.should raise_error(ArgumentError) + end + + it "does NOT add the same group twice" do + lambda do + 2.times do + describe "shared example_group which gets loaded twice", :shared => true do + end + end + end.should change {Spec::Example::SharedExampleGroup.count}.by(1) + end + + it "does NOT complain when adding the same shared example_group again (i.e. file gets reloaded)" do + lambda do + 2.times do + describe "shared example_group which gets loaded twice", :shared => true do + end + end + end.should_not raise_error(ArgumentError) + end + + it "does NOT complain when adding the same shared example_group in same file with different absolute path" do + SharedExampleGroup.register( + "shared example_group", + :shared => true, + :location => "/my/spec/a/../shared.rb" + ) + SharedExampleGroup.register( + "shared example_group", + :shared => true, + :location => "/my/spec/b/../shared.rb" + ) + end + + it "complains when adding a different shared example_group with the same name in a different file with the same basename" do + SharedExampleGroup.register( + "shared example_group", + :shared => true, + :location => "/my/spec/a/shared.rb" + ) + lambda do + SharedExampleGroup.register( + "shared example_group", + :shared => true, + :location => "/my/spec/b/shared.rb" + ) + end.should raise_error(ArgumentError, /already exists/) + end + + it "adds examples to current example_group using it_should_behave_like" do + shared_example_group = SharedExampleGroup.register("shared example_group") do + it("shared example") {} + it("shared example 2") {} + end + + example_group.it("example") {} + example_group.number_of_examples.should == 1 + example_group.it_should_behave_like("shared example_group") + example_group.number_of_examples.should == 3 + end + + it "adds examples to from two shared groups" do + shared_example_group_1 = SharedExampleGroup.register("shared example_group 1") do + it("shared example 1") {} + end + + shared_example_group_1 = SharedExampleGroup.register("shared example_group 2") do + it("shared example 2") {} + end + + example_group.it("example") {} + example_group.number_of_examples.should == 1 + example_group.it_should_behave_like("shared example_group 1", "shared example_group 2") + example_group.number_of_examples.should == 3 + end + + it "adds examples to current example_group using include" do + shared_example_group = describe "all things", :shared => true do + it "should do stuff" do end + end + + example_group = describe "one thing" do + include shared_example_group + end + + example_group.number_of_examples.should == 1 + end + + it "adds examples to current example_group using it_should_behave_like with a module" do + ::AllThings = describe "all things", :shared => true do + it "should do stuff" do end + end + + example_group = describe "one thing" do + it_should_behave_like ::AllThings + end + + example_group.number_of_examples.should == 1 + end + + it "runs shared examples" do + shared_example_ran = false + shared_example_group = SharedExampleGroup.register("shared example_group") do + it("shared example") { shared_example_ran = true } + end + + example_ran = false + + example_group.it_should_behave_like("shared example_group") + example_group.it("example") {example_ran = true} + example_group.run(options) + example_ran.should be_true + shared_example_ran.should be_true + end + + it "runs before(:each) and after(:each) from shared example_group" do + shared_setup_ran = false + shared_teardown_ran = false + shared_example_group = SharedExampleGroup.register("shared example_group") do + before(:each) { shared_setup_ran = true } + after(:each) { shared_teardown_ran = true } + it("shared example") { shared_example_ran = true } + end + + example_ran = false + + example_group.it_should_behave_like("shared example_group") + example_group.it("example") {example_ran = true} + example_group.run(options) + example_ran.should be_true + shared_setup_ran.should be_true + shared_teardown_ran.should be_true + end + + it "should run before(:all) and after(:all) only once from shared example_group" do + shared_before_all_run_count = 0 + shared_after_all_run_count = 0 + shared_example_group = SharedExampleGroup.register("shared example_group") do + before(:all) { shared_before_all_run_count += 1} + after(:all) { shared_after_all_run_count += 1} + it("shared example") { shared_example_ran = true } + end + + example_ran = false + + example_group.it_should_behave_like("shared example_group") + example_group.it("example") {example_ran = true} + example_group.run(options) + example_ran.should be_true + shared_before_all_run_count.should == 1 + shared_after_all_run_count.should == 1 + end + + it "should include modules, included into shared example_group, into current example_group" do + @formatter.should_receive(:add_example_group).with(any_args) + + shared_example_group = SharedExampleGroup.register("shared example_group") do + it("shared example") { shared_example_ran = true } + end + + mod1_method_called = false + mod1 = Module.new do + define_method :mod1_method do + mod1_method_called = true + end + end + + mod2_method_called = false + mod2 = Module.new do + define_method :mod2_method do + mod2_method_called = true + end + end + + shared_example_group.__send__ :include, mod2 + + example_group.it_should_behave_like("shared example_group") + example_group.include mod1 + + example_group.it("test") do + mod1_method + mod2_method + end + example_group.run(options) + mod1_method_called.should be_true + mod2_method_called.should be_true + end + + it "should make methods defined in the shared example_group available in consuming example_group" do + shared_example_group = SharedExampleGroup.register("shared example_group xyz") do + def a_shared_helper_method + "this got defined in a shared example_group" + end + end + example_group.it_should_behave_like("shared example_group xyz") + success = false + example_group.it("should access a_shared_helper_method") do + a_shared_helper_method + success = true + end + example_group.run(options) + success.should be_true + end + + it "should raise when named shared example_group can not be found" do + lambda { + example_group.it_should_behave_like("non-existent shared example group") + violated + }.should raise_error("Shared Example Group 'non-existent shared example group' can not be found") + end + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/example/subclassing_example_group_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/example/subclassing_example_group_spec.rb new file mode 100755 index 00000000..969014a7 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/example/subclassing_example_group_spec.rb @@ -0,0 +1,25 @@ +require 'spec_helper' + +module Spec + module Example + class GrandParentExampleGroup < Spec::Example::ExampleGroup + describe "Grandparent ExampleGroup" + end + + class ParentExampleGroup < GrandParentExampleGroup + describe "Parent ExampleGroup" + it "should bar" do + end + end + + class ChildExampleGroup < ParentExampleGroup + describe "Child ExampleGroup" + it "should bam" do + end + end + + describe ChildExampleGroup do + + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/example/subject_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/example/subject_spec.rb new file mode 100755 index 00000000..c0e4fd80 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/example/subject_spec.rb @@ -0,0 +1,103 @@ +require 'spec_helper' + +module Spec + module Example + describe "implicit subject" do + describe "with a class" do + it "returns an instance of the class" do + group = Class.new(ExampleGroupDouble).describe(Array) + example = group.new(ExampleProxy.new) + example.subject.should == [] + end + end + + describe "with a Module" do + it "returns the Module" do + group = Class.new(ExampleGroupDouble).describe(Enumerable) + example = group.new(ExampleProxy.new) + example.subject.should == Enumerable + end + end + + describe "with a string" do + it "return the string" do + group = Class.new(ExampleGroupDouble).describe('foo') + example = group.new(ExampleProxy.new) + example.subject.should == 'foo' + end + end + + describe "with a number" do + it "returns the number" do + group = Class.new(ExampleGroupDouble).describe(15) + example = group.new(ExampleProxy.new) + example.subject.should == 15 + end + end + + end + + describe "explicit subject" do + describe "defined in a top level group" do + it "replaces the implicit subject in that group" do + group = Class.new(ExampleGroupDouble).describe(Array) + group.subject { [1,2,3] } + example = group.new(ExampleProxy.new) + example.subject.should == [1,2,3] + end + end + + describe "defined in a top level group" do + before(:each) do + @group = Class.new do + extend Spec::Example::Subject::ExampleGroupMethods + include Spec::Example::Subject::ExampleMethods + class << self + def described_class + Array + end + end + def described_class + self.class.described_class + end + + subject { + [1,2,3] + } + end + end + + it "is available in a nested group (subclass)" do + nested_group = Class.new(@group) + + example = nested_group.new + example.subject.should == [1,2,3] + end + + it "is available in a doubly nested group (subclass)" do + nested_group = Class.new(@group) + doubly_nested_group = Class.new(nested_group) + + example = doubly_nested_group.new + example.subject.should == [1,2,3] + end + end + end + + describe ".its (to access subject's attributes)" do + with_sandboxed_options do + it "passes when expectation should pass" do + group = Class.new(ExampleGroupDouble).describe(Array) + child = group.its(:length) { should == 0 } + child.run(options).should == true + end + + it "fails when expectation should fail" do + group = Class.new(ExampleGroupDouble).describe(Array) + child = group.its(:length) { should == 1 } + child.run(options).should == false + end + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/expectations/differs/default_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/expectations/differs/default_spec.rb new file mode 100755 index 00000000..3bc3c45a --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/expectations/differs/default_spec.rb @@ -0,0 +1,194 @@ +require 'spec_helper' + +module Spec + module Fixtures + class Animal + def initialize(name,species) + @name,@species = name,species + end + + def inspect + <<-EOA + + EOA + end + end + end +end + +describe "Diff" do + before(:each) do + @options = ::Spec::Runner::Options.new(StringIO.new, StringIO.new) + @differ = Spec::Expectations::Differs::Default.new(@options) + end + + it "should output unified diff of two strings" do + expected="foo\nbar\nzap\nthis\nis\nsoo\nvery\nvery\nequal\ninsert\na\nline\n" + actual="foo\nzap\nbar\nthis\nis\nsoo\nvery\nvery\nequal\ninsert\na\nanother\nline\n" + expected_diff= <<'EOD' + + +@@ -1,6 +1,6 @@ + foo +-zap + bar ++zap + this + is + soo +@@ -9,6 +9,5 @@ + equal + insert + a +-another + line +EOD + + diff = @differ.diff_as_string(expected, actual) + diff.should eql(expected_diff) + end + + it "should output unified diff message of two arrays" do + expected = [ :foo, 'bar', :baz, 'quux', :metasyntactic, 'variable', :delta, 'charlie', :width, 'quite wide' ] + actual = [ :foo, 'bar', :baz, 'quux', :metasyntactic, 'variable', :delta, 'tango' , :width, 'very wide' ] + + expected_diff = <<'EOD' + + +@@ -5,7 +5,7 @@ + :metasyntactic, + "variable", + :delta, +- "tango", ++ "charlie", + :width, +- "very wide"] ++ "quite wide"] +EOD + + + diff = @differ.diff_as_object(expected,actual) + diff.should == expected_diff + end + + it "should output a friendly message if comparing simple hashes" do + expected = { "foo" => "bar" } + actual = { "foo" => "baz" } + + expected_diff = <<'EOD' + +Expected the key "foo" to be "bar", but was "baz" + +EOD + + + diff = @differ.diff_as_hash(actual, expected) + diff.should == expected_diff + end + + + it "should output a friendly message if comparing simple hashes that contain different keys" do + expected = { "bar" => "foo" } + actual = { "foo" => "baz" } + + expected_diff = <<'EOD' + +Expected hash contains keys that target hash does not: ["bar"] +Target hash contains keys that expected hash does not: ["foo"] +Expected the key "bar" to be "foo", but was nil + +EOD + + + diff = @differ.diff_as_hash(actual, expected) + diff.should == expected_diff + end + + it "should output diff message if the hash is complex (containing Array or Hash)" do + expected = { "foo" => "bar", "fizz" => [1, 2, 3] } + actual = { "foo" => "baz", "fizz" => [1, 2] } + + # UGH - 1.8.7 seems to order hash keys differently than the others + if RUBY_VERSION =~ /^1.8.7/ + expected_diff = <<'EOD' + +Expected the key "fizz" to be [1, 2, 3], but was [1, 2] +Expected the key "foo" to be "bar", but was "baz" + + +@@ -1,2 +1,2 @@ +-{"fizz"=>[1, 2, 3], "foo"=>"bar"} ++{"fizz"=>[1, 2], "foo"=>"baz"} +EOD + else + expected_diff = <<'EOD' + +Expected the key "fizz" to be [1, 2, 3], but was [1, 2] +Expected the key "foo" to be "bar", but was "baz" + + +@@ -1,2 +1,2 @@ +-{"foo"=>"bar", "fizz"=>[1, 2, 3]} ++{"foo"=>"baz", "fizz"=>[1, 2]} +EOD + end + + diff = @differ.diff_as_hash(actual, expected) + diff.should == expected_diff + end + + + it "should output unified diff message of two objects" do + expected = Spec::Fixtures::Animal.new "bob", "giraffe" + actual = Spec::Fixtures::Animal.new "bob", "tortoise" + + expected_diff = <<'EOD' + +@@ -1,5 +1,5 @@ + +EOD + + diff = @differ.diff_as_object(expected,actual) + diff.should == expected_diff + end + +end + + +describe "Diff in context format" do + before(:each) do + @options = Spec::Runner::Options.new(StringIO.new, StringIO.new) + @options.diff_format = :context + @differ = Spec::Expectations::Differs::Default.new(@options) + end + + it "should output unified diff message of two objects" do + expected = Spec::Fixtures::Animal.new "bob", "giraffe" + actual = Spec::Fixtures::Animal.new "bob", "tortoise" + + expected_diff = <<'EOD' + +*************** +*** 1,5 **** + +--- 1,5 ---- + +EOD + + diff = @differ.diff_as_object(expected,actual) + diff.should == expected_diff + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/expectations/extensions/kernel_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/expectations/extensions/kernel_spec.rb new file mode 100755 index 00000000..9a0ed3ce --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/expectations/extensions/kernel_spec.rb @@ -0,0 +1,45 @@ +require 'spec_helper' + +describe Object, "#should" do + before(:each) do + @target = "target" + @matcher = mock("matcher") + @matcher.stub!(:matches?).and_return(true) + @matcher.stub!(:failure_message_for_should) + end + + it "accepts and interacts with a matcher" do + @matcher.should_receive(:matches?).with(@target).and_return(true) + @target.should @matcher + end + + it "asks for a failure_message_for_should when matches? returns false" do + @matcher.should_receive(:matches?).with(@target).and_return(false) + @matcher.should_receive(:failure_message_for_should).and_return("the failure message") + lambda { + @target.should @matcher + }.should fail_with("the failure message") + end +end + +describe Object, "#should_not" do + before(:each) do + @target = "target" + @matcher = mock("matcher") + end + + it "accepts and interacts with a matcher" do + @matcher.should_receive(:matches?).with(@target).and_return(false) + @matcher.stub!(:failure_message_for_should_not) + + @target.should_not @matcher + end + + it "asks for a failure_message_for_should_not when matches? returns true" do + @matcher.should_receive(:matches?).with(@target).and_return(true) + @matcher.should_receive(:failure_message_for_should_not).and_return("the failure message for should not") + lambda { + @target.should_not @matcher + }.should fail_with("the failure message for should not") + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/expectations/fail_with_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/expectations/fail_with_spec.rb new file mode 100755 index 00000000..639b7f95 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/expectations/fail_with_spec.rb @@ -0,0 +1,96 @@ +require 'spec_helper' + +describe Spec::Expectations, "#fail_with with no diff" do + before(:each) do + @old_differ = Spec::Expectations.differ + Spec::Expectations.differ = nil + end + + it "should handle just a message" do + lambda { + Spec::Expectations.fail_with "the message" + }.should fail_with("the message") + end + + after(:each) do + Spec::Expectations.differ = @old_differ + end +end + +describe Spec::Expectations, "#fail_with with Array" do + before(:each) do + Spec.stub!(:warn) + end + + it "is deprecated" do + Spec.should_receive(:warn) + lambda { + Spec::Expectations.fail_with ["message", "expected", "actual"] + }.should raise_error + end +end + +describe Spec::Expectations, "#fail_with with diff" do + before(:each) do + @old_differ = Spec::Expectations.differ + @differ = mock("differ") + Spec::Expectations.differ = @differ + end + + it "should not call differ if no expected/actual" do + lambda { + Spec::Expectations.fail_with "the message" + }.should fail_with("the message") + end + + it "should call differ if expected/actual are presented separately" do + @differ.should_receive(:diff_as_string).and_return("diff") + lambda { + Spec::Expectations.fail_with "the message", "expected", "actual" + }.should fail_with("the message\n\n Diff:diff") + end + + it "should call differ if expected/actual are not strings" do + @differ.should_receive(:diff_as_object).and_return("diff") + lambda { + Spec::Expectations.fail_with "the message", :expected, :actual + }.should fail_with("the message\n\n Diff:diff") + end + + it "should call differ if expected/actual are both hashes" do + @differ.should_receive(:diff_as_hash).and_return("diff") + lambda { + Spec::Expectations.fail_with "the message", {:a => :b}, {:a => 'b'} + }.should fail_with("the message\n\n Diff:diff") + end + + it "should not call differ if expected or actual are procs" do + @differ.should_not_receive(:diff_as_string) + @differ.should_not_receive(:diff_as_object) + @differ.should_not_receive(:diff_as_hash) + lambda { + Spec::Expectations.fail_with "the message", lambda {}, lambda {} + }.should fail_with("the message") + end + + after(:each) do + Spec::Expectations.differ = @old_differ + end +end + +describe Spec::Expectations, "#fail_with with a nil message" do + before(:each) do + @old_differ = Spec::Expectations.differ + Spec::Expectations.differ = nil + end + + it "should handle just a message" do + lambda { + Spec::Expectations.fail_with nil + }.should raise_error(ArgumentError, /Failure message is nil\. Does your matcher define the appropriate failure_message_for_\* method to return a string\?/) + end + + after(:each) do + Spec::Expectations.differ = @old_differ + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/expectations/handler_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/expectations/handler_spec.rb new file mode 100755 index 00000000..e7d6a6ed --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/expectations/handler_spec.rb @@ -0,0 +1,206 @@ +require 'spec_helper' + +module ExampleExpectations + + class ArbitraryMatcher + def initialize(*args, &block) + if args.last.is_a? Hash + @expected = args.last[:expected] + end + @expected = block.call if block + @block = block + end + + def matches?(target) + @target = target + return @expected == target + end + + def with(new_value) + @expected = new_value + self + end + + def failure_message + "expected #{@expected}, got #{@target}" + end + + def negative_failure_message + "expected not #{@expected}, got #{@target}" + end + end + + class PositiveOnlyMatcher < ArbitraryMatcher + undef negative_failure_message rescue nil + end + + def arbitrary_matcher(*args, &block) + ArbitraryMatcher.new(*args, &block) + end + + def positive_only_matcher(*args, &block) + PositiveOnlyMatcher.new(*args, &block) + end + +end + +module Spec + module Expectations + describe PositiveExpectationHandler do + describe "#handle_matcher" do + it "asks the matcher if it matches" do + matcher = mock("matcher") + actual = Object.new + matcher.should_receive(:matches?).with(actual).and_return(true) + Spec::Expectations::PositiveExpectationHandler.handle_matcher(actual, matcher) + end + + it "returns the match value" do + matcher = mock("matcher") + actual = Object.new + matcher.should_receive(:matches?).with(actual).and_return(:this_value) + Spec::Expectations::PositiveExpectationHandler.handle_matcher(actual, matcher).should == :this_value + end + + it "calls failure_message_for_should if the matcher implements it" do + matcher = mock("matcher", :failure_message_for_should => "message", :matches? => false) + actual = Object.new + + ::Spec::Expectations.should_receive(:fail_with).with("message") + + Spec::Expectations::PositiveExpectationHandler.handle_matcher(actual, matcher) + end + + it "calls fail if matcher.diffable?" do + matcher = mock("matcher", + :diffable? => true, + :failure_message_for_should => "message", + :matches? => false, + :expected => [1], + :actual => 2 + ) + actual = Object.new + + ::Spec::Expectations.should_receive(:fail_with).with("message", 1, 2) + + Spec::Expectations::PositiveExpectationHandler.handle_matcher(actual, matcher) + end + + it "calls failure_message if the matcher does not implement failure_message_for_should" do + matcher = mock("matcher", :failure_message => "message", :matches? => false) + actual = Object.new + + ::Spec::Expectations.should_receive(:fail_with).with("message") + + Spec::Expectations::PositiveExpectationHandler.handle_matcher(actual, matcher) + + end + + it "appends the :or message in the options hash passed to should" do + matcher = mock("matcher", :failure_message_for_should => "message", :matches? => false) + actual = Object.new + + ::Spec::Expectations.should_receive(:fail_with).with("custom") + + Spec::Expectations::PositiveExpectationHandler.handle_matcher(actual, matcher, "custom") + end + end + end + + describe NegativeExpectationHandler do + describe "#handle_matcher" do + it "asks the matcher if it doesn't match when the matcher responds to #does_not_match?" do + matcher = mock("matcher", :does_not_match? => true, :negative_failure_message => nil) + actual = Object.new + matcher.should_receive(:does_not_match?).with(actual).and_return(true) + Spec::Expectations::NegativeExpectationHandler.handle_matcher(actual, matcher) + end + + it "asks the matcher if it matches when the matcher doesn't respond to #does_not_match?" do + matcher = mock("matcher") + actual = Object.new + matcher.stub!(:negative_failure_message) + matcher.should_receive(:matches?).with(actual).and_return(false) + Spec::Expectations::NegativeExpectationHandler.handle_matcher(actual, matcher) + end + + it "returns the match value" do + matcher = mock("matcher") + actual = Object.new + matcher.should_receive(:matches?).with(actual).and_return(false) + matcher.stub!(:negative_failure_message).and_return("ignore") + Spec::Expectations::NegativeExpectationHandler.handle_matcher(actual, matcher).should be_false + end + + + it "calls failure_message_for_should_not if the matcher implements it" do + matcher = mock("matcher", :failure_message_for_should_not => "message", :matches? => true) + actual = Object.new + + ::Spec::Expectations.should_receive(:fail_with).with("message") + + Spec::Expectations::NegativeExpectationHandler.handle_matcher(actual, matcher) + + end + + it "calls negative_failure_message if the matcher does not implement failure_message_for_should_not" do + matcher = mock("matcher", :negative_failure_message => "message", :matches? => true) + actual = Object.new + + ::Spec::Expectations.should_receive(:fail_with).with("message") + + Spec::Expectations::NegativeExpectationHandler.handle_matcher(actual, matcher) + + end + + + it "calls fail if matcher.diffable?" do + matcher = mock("matcher", + :diffable? => true, + :failure_message_for_should_not => "message", + :matches? => true, + :expected => [1], + :actual => 2 + ) + actual = Object.new + + ::Spec::Expectations.should_receive(:fail_with).with("message", 1, 2) + + Spec::Expectations::NegativeExpectationHandler.handle_matcher(actual, matcher) + end + + it "appends the :or message in the options hash passed to should" do + matcher = mock("matcher", :failure_message_for_should_not => "message", :matches? => true) + actual = Object.new + + ::Spec::Expectations.should_receive(:fail_with).with("custom") + + Spec::Expectations::NegativeExpectationHandler.handle_matcher(actual, matcher, "custom") + end + + end + end + + describe PositiveExpectationHandler do + include ExampleExpectations + + it "should handle submitted args" do + 5.should arbitrary_matcher(:expected => 5) + 5.should arbitrary_matcher(:expected => "wrong").with(5) + lambda { 5.should arbitrary_matcher(:expected => 4) }.should fail_with("expected 4, got 5") + lambda { 5.should arbitrary_matcher(:expected => 5).with(4) }.should fail_with("expected 4, got 5") + 5.should_not arbitrary_matcher(:expected => 4) + 5.should_not arbitrary_matcher(:expected => 5).with(4) + lambda { 5.should_not arbitrary_matcher(:expected => 5) }.should fail_with("expected not 5, got 5") + lambda { 5.should_not arbitrary_matcher(:expected => 4).with(5) }.should fail_with("expected not 5, got 5") + end + + it "should handle the submitted block" do + 5.should arbitrary_matcher { 5 } + 5.should arbitrary_matcher(:expected => 4) { 5 } + 5.should arbitrary_matcher(:expected => 4).with(5) { 3 } + end + + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/expectations/wrap_expectation_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/expectations/wrap_expectation_spec.rb new file mode 100755 index 00000000..9ef7d007 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/expectations/wrap_expectation_spec.rb @@ -0,0 +1,30 @@ +require 'spec_helper' + +module Spec + module Matchers + describe "wrap_expectation" do + + def stub_matcher + @_stub_matcher ||= simple_matcher do + end + end + + def failing_matcher + @_failing_matcher ||= simple_matcher do + 1.should == 2 + end + end + + it "should return true if there is no error" do + wrap_expectation stub_matcher do + end.should be_true + end + + it "should return false if there is an error" do + wrap_expectation failing_matcher do + raise "error" + end.should be_false + end + end + end +end \ No newline at end of file diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/interop/test/unit/resources/spec_that_fails.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/interop/test/unit/resources/spec_that_fails.rb new file mode 100755 index 00000000..b2c48410 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/interop/test/unit/resources/spec_that_fails.rb @@ -0,0 +1,10 @@ +rspec_lib = File.dirname(__FILE__) + "/../../../../../../lib" +$:.unshift rspec_lib unless $:.include?(rspec_lib) +require 'spec/autorun' +require 'spec/test/unit' + +describe "example group with failures" do + it "should fail" do + false.should be_true + end +end \ No newline at end of file diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/interop/test/unit/resources/spec_that_passes.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/interop/test/unit/resources/spec_that_passes.rb new file mode 100755 index 00000000..4203af3a --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/interop/test/unit/resources/spec_that_passes.rb @@ -0,0 +1,10 @@ +rspec_lib = File.dirname(__FILE__) + "/../../../../../../lib" +$:.unshift rspec_lib unless $:.include?(rspec_lib) +require 'spec/autorun' +require 'spec/test/unit' + +describe "example group with passing examples" do + it "should pass" do + true.should be_true + end +end \ No newline at end of file diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/interop/test/unit/resources/spec_with_errors.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/interop/test/unit/resources/spec_with_errors.rb new file mode 100755 index 00000000..a18ce72f --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/interop/test/unit/resources/spec_with_errors.rb @@ -0,0 +1,10 @@ +rspec_lib = File.dirname(__FILE__) + "/../../../../../../lib" +$:.unshift rspec_lib unless $:.include?(rspec_lib) +require 'spec/autorun' +require 'spec/test/unit' + +describe "example group with errors" do + it "should raise errors" do + raise "error raised in example group with errors" + end +end \ No newline at end of file diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/interop/test/unit/resources/spec_with_options_hash.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/interop/test/unit/resources/spec_with_options_hash.rb new file mode 100755 index 00000000..7dc344bd --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/interop/test/unit/resources/spec_with_options_hash.rb @@ -0,0 +1,13 @@ +rspec_lib = File.dirname(__FILE__) + "/../../../../../../lib" +$:.unshift rspec_lib unless $:.include?(rspec_lib) +require 'spec/autorun' +require 'spec/test/unit' + +describe "options hash" do + describe "#options" do + it "should expose the options hash" do + group = describe("group", :this => 'hash') {} + group.options[:this].should == 'hash' + end + end +end \ No newline at end of file diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/interop/test/unit/resources/test_case_that_fails.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/interop/test/unit/resources/test_case_that_fails.rb new file mode 100755 index 00000000..0a977cb1 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/interop/test/unit/resources/test_case_that_fails.rb @@ -0,0 +1,10 @@ +rspec_lib = File.dirname(__FILE__) + "/../../../../../../lib" +$:.unshift rspec_lib unless $:.include?(rspec_lib) +require 'spec/autorun' +require 'spec/test/unit' + +class TestCaseThatFails < Test::Unit::TestCase + def test_that_fails + false.should be_true + end +end \ No newline at end of file diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/interop/test/unit/resources/test_case_that_passes.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/interop/test/unit/resources/test_case_that_passes.rb new file mode 100755 index 00000000..078a5f77 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/interop/test/unit/resources/test_case_that_passes.rb @@ -0,0 +1,10 @@ +rspec_lib = File.dirname(__FILE__) + "/../../../../../../lib" +$:.unshift rspec_lib unless $:.include?(rspec_lib) +require 'spec/autorun' +require 'spec/test/unit' + +class TestCaseThatPasses < Test::Unit::TestCase + def test_that_passes + true.should be_true + end +end \ No newline at end of file diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/interop/test/unit/resources/test_case_with_errors.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/interop/test/unit/resources/test_case_with_errors.rb new file mode 100755 index 00000000..dc5f52e4 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/interop/test/unit/resources/test_case_with_errors.rb @@ -0,0 +1,10 @@ +rspec_lib = File.dirname(__FILE__) + "/../../../../../../lib" +$:.unshift rspec_lib unless $:.include?(rspec_lib) +require 'spec/autorun' +require 'spec/test/unit' + +class TestCaseWithErrors < Test::Unit::TestCase + def test_with_error + raise "error raised in TestCaseWithErrors" + end +end \ No newline at end of file diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/interop/test/unit/resources/test_case_with_various_names.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/interop/test/unit/resources/test_case_with_various_names.rb new file mode 100755 index 00000000..186db49d --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/interop/test/unit/resources/test_case_with_various_names.rb @@ -0,0 +1,22 @@ +rspec_lib = File.dirname(__FILE__) + "/../../../../../../lib" +$:.unshift rspec_lib unless $:.include?(rspec_lib) +require 'spec/autorun' +require 'spec/test/unit' + +class TestCaseThatPasses < Test::Unit::TestCase + def test_should_allow_underscore + assert true + end + + def testShouldAllowUppercaseLetter + assert true + end + + def testshouldallowlowercaseletter + assert true + end + + define_method :"test: should allow punctuation" do + assert true + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/interop/test/unit/resources/testsuite_adapter_spec_with_test_unit.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/interop/test/unit/resources/testsuite_adapter_spec_with_test_unit.rb new file mode 100755 index 00000000..5182b820 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/interop/test/unit/resources/testsuite_adapter_spec_with_test_unit.rb @@ -0,0 +1,38 @@ +rspec_lib = File.dirname(__FILE__) + "/../../../../../../lib" +$:.unshift rspec_lib unless $:.include?(rspec_lib) +require 'spec/autorun' +require 'spec/test/unit' + +module Test + module Unit + describe TestSuiteAdapter do + def create_adapter(group) + TestSuiteAdapter.new(group) + end + + describe "#size" do + it "should return the number of examples in the example group" do + group = Class.new(Spec::ExampleGroup) do + describe("some examples") + it("bar") {} + it("baz") {} + end + adapter = create_adapter(group) + adapter.size.should == 2 + end + end + + describe "#delete" do + it "should do nothing" do + group = Class.new(Spec::ExampleGroup) do + describe("Some Examples") + it("does something") {} + end + adapter = create_adapter(group) + adapter.delete(adapter.examples.first) + adapter.should be_empty + end + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/interop/test/unit/spec_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/interop/test/unit/spec_spec.rb new file mode 100755 index 00000000..83ff5226 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/interop/test/unit/spec_spec.rb @@ -0,0 +1,48 @@ +require 'spec/interop/test/unit/test_unit_spec_helper' + +describe "ExampleGroup with test/unit/interop" do + include TestUnitSpecHelper + + describe "with passing examples" do + it "should output 0 failures" do + output = ruby("#{resources}/spec_that_passes.rb") + output.should include("1 example, 0 failures") + end + + it "should return an exit code of 0" do + ruby("#{resources}/spec_that_passes.rb") + $?.should == 0 + end + end + + describe "with failing examples" do + it "should output 1 failure" do + output = ruby("#{resources}/spec_that_fails.rb") + output.should include("1 example, 1 failure") + end + + it "should return an exit code of 256" do + ruby("#{resources}/spec_that_fails.rb") + $?.should == 256 + end + end + + describe "with example that raises an error" do + it "should output 1 failure" do + output = ruby("#{resources}/spec_with_errors.rb") + output.should include("1 example, 1 failure") + end + + it "should return an exit code of 256" do + ruby("#{resources}/spec_with_errors.rb") + $?.should == 256 + end + end + + describe "options hash" do + it "should be exposed" do + output = ruby("#{resources}/spec_with_options_hash.rb") + output.should include("1 example, 0 failures") + end + end +end \ No newline at end of file diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/interop/test/unit/test_unit_spec_helper.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/interop/test/unit/test_unit_spec_helper.rb new file mode 100755 index 00000000..1f6c223e --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/interop/test/unit/test_unit_spec_helper.rb @@ -0,0 +1,18 @@ +require 'spec_helper' +require 'ruby_forker' + +module TestUnitSpecHelper + include RubyForker + + def resources + File.dirname(__FILE__) + "/resources" + end + + def run_script(file_name) + output = ruby(file_name) + if !$?.success? || output.include?("FAILED") || output.include?("Error") + raise output + end + output + end +end \ No newline at end of file diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/interop/test/unit/testcase_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/interop/test/unit/testcase_spec.rb new file mode 100755 index 00000000..c1b25260 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/interop/test/unit/testcase_spec.rb @@ -0,0 +1,50 @@ +require 'spec/interop/test/unit/test_unit_spec_helper' + +describe "Test::Unit::TestCase" do + include TestUnitSpecHelper + + before(:each) do + @dir = File.dirname(__FILE__) + "/resources" + end + + describe "with passing test case" do + it "should output 0 failures" do + output = ruby("#{@dir}/test_case_that_passes.rb") + output.should include("1 example, 0 failures") + end + + it "should return an exit code of 0" do + ruby("#{@dir}/test_case_that_passes.rb") + $?.should == 0 + end + end + + describe "with failing test case" do + it "should output 1 failure" do + output = ruby("#{@dir}/test_case_that_fails.rb") + output.should include("1 example, 1 failure") + end + + it "should return an exit code of 256" do + ruby("#{@dir}/test_case_that_fails.rb") + $?.should == 256 + end + end + + describe "with test case that raises an error" do + it "should output 1 failure" do + output = ruby("#{@dir}/test_case_with_errors.rb") + output.should include("1 example, 1 failure") + end + + it "should return an exit code of 256" do + ruby("#{@dir}/test_case_with_errors.rb") + $?.should == 256 + end + end + + it "should find all Test::Unit test methods" do + output = ruby("#{@dir}/test_case_with_various_names.rb") + output.should include("4 examples, 0 failures") + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/interop/test/unit/testsuite_adapter_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/interop/test/unit/testsuite_adapter_spec.rb new file mode 100755 index 00000000..59743039 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/interop/test/unit/testsuite_adapter_spec.rb @@ -0,0 +1,9 @@ +require 'spec/interop/test/unit/test_unit_spec_helper' + +describe "TestSuiteAdapter" do + include TestUnitSpecHelper + it "should pass" do + dir = File.dirname(__FILE__) + run_script "#{dir}/resources/testsuite_adapter_spec_with_test_unit.rb" + end +end \ No newline at end of file diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/be_close_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/be_close_spec.rb new file mode 100755 index 00000000..cc0e5bd4 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/be_close_spec.rb @@ -0,0 +1,50 @@ +require 'spec_helper' +module Spec + module Matchers + describe "[actual.should] be_close(expected, delta)" do + it "matches when actual == expected" do + be_close(5.0, 0.5).matches?(5.0).should be_true + end + it "matches when actual < (expected + delta)" do + be_close(5.0, 0.5).matches?(5.49).should be_true + end + it "matches when actual > (expected - delta)" do + be_close(5.0, 0.5).matches?(4.51).should be_true + end + it "does not match when actual == (expected - delta)" do + be_close(5.0, 0.5).matches?(4.5).should be_false + end + it "does not match when actual < (expected - delta)" do + be_close(5.0, 0.5).matches?(4.49).should be_false + end + it "does not match when actual == (expected + delta)" do + be_close(5.0, 0.5).matches?(5.5).should be_false + end + it "does not match when actual > (expected + delta)" do + be_close(5.0, 0.5).matches?(5.51).should be_false + end + it "provides a failure message for should" do + #given + matcher = be_close(5.0, 0.5) + #when + matcher.matches?(5.51) + #then + matcher.failure_message_for_should.should == "expected 5.0 +/- (< 0.5), got 5.51" + end + + it "provides a failure message for should tno" do + #given + matcher = be_close(5.0, 0.5) + #when + matcher.matches?(5.49) + #then + matcher.failure_message_for_should_not.should == "expected 5.0 +/- (< 0.5), got 5.49" + end + it "provides a description" do + matcher = be_close(5.0, 0.5) + matcher.matches?(5.1) + matcher.description.should == "be close to 5.0 (within +- 0.5)" + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/be_instance_of_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/be_instance_of_spec.rb new file mode 100755 index 00000000..e6abd0b1 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/be_instance_of_spec.rb @@ -0,0 +1,36 @@ +require 'spec_helper' + +module Spec + module Matchers + [:be_an_instance_of, :be_instance_of].each do |method| + describe "actual.should #{method}(expected)" do + it "passes if actual is instance of expected class" do + 5.should send(method, Fixnum) + end + + it "fails if actual is instance of subclass of expected class" do + lambda { 5.should send(method, Numeric) }.should fail_with(%Q{expected 5 to be an instance of Numeric}) + end + + it "fails with failure message for should unless actual is instance of expected class" do + lambda { "foo".should send(method, Array) }.should fail_with(%Q{expected "foo" to be an instance of Array}) + end + + it "provides a description" do + matcher = be_an_instance_of(Fixnum) + matcher.matches?(Numeric) + matcher.description.should == "be an instance of Fixnum" + end + end + + describe "actual.should_not #{method}(expected)" do + + it "fails with failure message for should_not if actual is instance of expected class" do + lambda { "foo".should_not send(method, String) }.should fail_with(%Q{expected "foo" not to be an instance of String}) + end + + end + + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/be_kind_of_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/be_kind_of_spec.rb new file mode 100755 index 00000000..d3f05e80 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/be_kind_of_spec.rb @@ -0,0 +1,33 @@ +require 'spec_helper' + +module Spec + module Matchers + [:be_a_kind_of, :be_kind_of].each do |method| + describe "actual.should #{method}(expected)" do + it "passes if actual is instance of expected class" do + 5.should send(method, Fixnum) + end + + it "passes if actual is instance of subclass of expected class" do + 5.should send(method, Numeric) + end + + it "fails with failure message for should unless actual is kind of expected class" do + lambda { "foo".should send(method, Array) }.should fail_with(%Q{expected "foo" to be a kind of Array}) + end + + it "provides a description" do + matcher = be_a_kind_of(String) + matcher.matches?("this") + matcher.description.should == "be a kind of String" + end + end + + describe "actual.should_not #{method}(expected)" do + it "fails with failure message for should_not if actual is kind of expected class" do + lambda { "foo".should_not send(method, String) }.should fail_with(%Q{expected "foo" not to be a kind of String}) + end + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/be_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/be_spec.rb new file mode 100755 index 00000000..db6258ab --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/be_spec.rb @@ -0,0 +1,311 @@ +require 'spec_helper' + +describe "should be_predicate" do + it "should pass when actual returns true for :predicate?" do + actual = stub("actual", :happy? => true) + actual.should be_happy + end + + it "should pass when actual returns true for :predicates? (present tense)" do + actual = stub("actual", :exists? => true, :exist? => true) + actual.should be_exist + end + + it "should fail when actual returns false for :predicate?" do + actual = stub("actual", :happy? => false) + lambda { + actual.should be_happy + }.should fail_with("expected happy? to return true, got false") + end + + it "should fail when actual returns false for :predicate?" do + actual = stub("actual", :happy? => nil) + lambda { + actual.should be_happy + }.should fail_with("expected happy? to return true, got nil") + end + + it "should fail when actual does not respond to :predicate?" do + lambda { + Object.new.should be_happy + }.should raise_error(NameError, /happy\?/) + end + + it "should fail on error other than NameError" do + actual = stub("actual") + actual.should_receive(:foo?).and_raise("aaaah") + lambda { + actual.should be_foo + }.should raise_error(/aaaah/) + end + + it "should fail on error other than NameError (with the present tense predicate)" do + actual = Object.new + actual.should_receive(:foos?).and_raise("aaaah") + lambda { + actual.should be_foo + }.should raise_error(/aaaah/) + end +end + +describe "should_not be_predicate" do + it "should pass when actual returns false for :sym?" do + actual = stub("actual", :happy? => false) + actual.should_not be_happy + end + + it "should pass when actual returns nil for :sym?" do + actual = stub("actual", :happy? => nil) + actual.should_not be_happy + end + + it "should fail when actual returns true for :sym?" do + actual = stub("actual", :happy? => true) + lambda { + actual.should_not be_happy + }.should fail_with("expected happy? to return false, got true") + end + + it "should fail when actual does not respond to :sym?" do + lambda { + Object.new.should_not be_happy + }.should raise_error(NameError) + end +end + +describe "should be_predicate(*args)" do + it "should pass when actual returns true for :predicate?(*args)" do + actual = mock("actual") + actual.should_receive(:older_than?).with(3).and_return(true) + actual.should be_older_than(3) + end + + it "should fail when actual returns false for :predicate?(*args)" do + actual = mock("actual") + actual.should_receive(:older_than?).with(3).and_return(false) + lambda { + actual.should be_older_than(3) + }.should fail_with("expected older_than?(3) to return true, got false") + end + + it "should fail when actual does not respond to :predicate?" do + lambda { + Object.new.should be_older_than(3) + }.should raise_error(NameError) + end +end + +describe "should_not be_predicate(*args)" do + it "should pass when actual returns false for :predicate?(*args)" do + actual = mock("actual") + actual.should_receive(:older_than?).with(3).and_return(false) + actual.should_not be_older_than(3) + end + + it "should fail when actual returns true for :predicate?(*args)" do + actual = mock("actual") + actual.should_receive(:older_than?).with(3).and_return(true) + lambda { + actual.should_not be_older_than(3) + }.should fail_with("expected older_than?(3) to return false, got true") + end + + it "should fail when actual does not respond to :predicate?" do + lambda { + Object.new.should_not be_older_than(3) + }.should raise_error(NameError) + end +end + +describe "should be_true" do + it "should pass when actual equal(true)" do + true.should be_true + end + + it "should fail when actual equal(false)" do + lambda { + false.should be_true + }.should fail_with("expected true, got false") + end +end + +describe "should be_false" do + it "should pass when actual equal(false)" do + false.should be_false + end + + it "should fail when actual equal(true)" do + lambda { + true.should be_false + }.should fail_with("expected false, got true") + end +end + +describe "should be_nil" do + it "should pass when actual is nil" do + nil.should be_nil + end + + it "should fail when actual is not nil" do + lambda { + :not_nil.should be_nil + }.should fail_with("expected nil, got :not_nil") + end +end + +describe "should_not be_nil" do + it "should pass when actual is not nil" do + :not_nil.should_not be_nil + end + + it "should fail when actual is nil" do + lambda { + nil.should_not be_nil + }.should fail_with("expected not nil, got nil") + end +end + +describe "should be <" do + it "should pass when < operator returns true" do + 3.should be < 4 + end + + it "should fail when < operator returns false" do + lambda { 3.should be < 3 }.should fail_with("expected < 3, got 3") + end +end + +describe "should be <=" do + it "should pass when <= operator returns true" do + 3.should be <= 4 + 4.should be <= 4 + end + + it "should fail when <= operator returns false" do + lambda { 3.should be <= 2 }.should fail_with("expected <= 2, got 3") + end +end + +describe "should be >=" do + it "should pass when >= operator returns true" do + 4.should be >= 4 + 5.should be >= 4 + end + + it "should fail when >= operator returns false" do + lambda { 3.should be >= 4 }.should fail_with("expected >= 4, got 3") + end +end + +describe "should be >" do + it "should pass when > operator returns true" do + 5.should be > 4 + end + + it "should fail when > operator returns false" do + lambda { 3.should be > 4 }.should fail_with("expected > 4, got 3") + end +end + +describe "should be ==" do + it "should pass when == operator returns true" do + 5.should be == 5 + end + + it "should fail when == operator returns false" do + lambda { 3.should be == 4 }.should fail_with("expected == 4, got 3") + end +end + +describe "should be ===" do + it "should pass when === operator returns true" do + Hash.should be === Hash.new + end + + it "should fail when === operator returns false" do + lambda { Hash.should be === "not a hash" }.should fail_with(%[expected === not a hash, got Hash]) + end +end + +describe "should_not with operators" do + it "should coach user to stop using operators with should_not" do + lambda { + 5.should_not be < 6 + }.should raise_error(/not only FAILED,\nit is a bit confusing./m) + end +end + +describe "should be" do + it "should pass if actual is true or a set value" do + true.should be + 1.should be + end + + it "should fail if actual is false" do + lambda {false.should be}.should fail_with("expected true, got false") + end + + it "should fail if actual is nil" do + lambda {nil.should be}.should fail_with("expected true, got nil") + end +end + +describe "should be(value)" do + it "should pass if actual.equal?(value)" do + 5.should be(5) + end + it "should fail if !actual.equal?(value)" do + lambda { 5.should be(6) }.should fail_with("expected 6, got 5") + end +end + +describe "'should be' with operator" do + it "should include 'be' in the description" do + (be > 6).description.should =~ /be > 6/ + (be >= 6).description.should =~ /be >= 6/ + (be <= 6).description.should =~ /be <= 6/ + (be < 6).description.should =~ /be < 6/ + end +end + + +describe "arbitrary predicate with DelegateClass" do + it "should access methods defined in the delegating class (LH[#48])" do + require 'delegate' + class ArrayDelegate < DelegateClass(Array) + def initialize(array) + @internal_array = array + super(@internal_array) + end + + def large? + @internal_array.size >= 5 + end + end + + delegate = ArrayDelegate.new([1,2,3,4,5,6]) + delegate.should be_large + end +end + +describe "be_a, be_an" do + it "should pass when class matches" do + "foobar".should be_a(String) + [1,2,3].should be_an(Array) + end + + it "should fail when class does not match" do + "foobar".should_not be_a(Hash) + [1,2,3].should_not be_an(Integer) + end +end + +describe "be_an_instance_of" do + it "passes when direct class matches" do + 5.should be_an_instance_of(Fixnum) + end + + it "fails when class is higher up hierarchy" do + 5.should_not be_an_instance_of(Numeric) + end +end \ No newline at end of file diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/change_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/change_spec.rb new file mode 100755 index 00000000..e70daf37 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/change_spec.rb @@ -0,0 +1,349 @@ +#Based on patch from Wilson Bilkovich + +require 'spec_helper' +class SomethingExpected + attr_accessor :some_value +end + +describe "should change(actual, message)" do + before(:each) do + @instance = SomethingExpected.new + @instance.some_value = 5 + end + + it "should pass when actual is modified by the block" do + expect {@instance.some_value = 6}.to change(@instance, :some_value) + end + + it "should fail when actual is not modified by the block" do + expect do + expect {}.to change(@instance, :some_value) + end.to fail_with("some_value should have changed, but is still 5") + end + + it "provides a #description" do + change(@instance, :some_value).description.should == "change #some_value" + end +end + +describe "should_not change(actual, message)" do + before(:each) do + @instance = SomethingExpected.new + @instance.some_value = 5 + end + + it "should pass when actual is not modified by the block" do + expect { }.to_not change(@instance, :some_value) + end + + it "should fail when actual is not modified by the block" do + expect do + expect {@instance.some_value = 6}.to_not change(@instance, :some_value) + end.to fail_with("some_value should not have changed, but did change from 5 to 6") + end +end + +describe "should change { block }" do + before(:each) do + @instance = SomethingExpected.new + @instance.some_value = 5 + end + + it "should pass when actual is modified by the block" do + expect {@instance.some_value = 6}.to change { @instance.some_value } + end + + it "should fail when actual is not modified by the block" do + expect do + expect {}.to change{ @instance.some_value } + end.to fail_with("result should have changed, but is still 5") + end + + it "should warn if passed a block using do/end instead of {}" do + expect do + expect {}.to change do; end + end.to raise_error(Spec::Matchers::MatcherError, /block passed to should or should_not/) + end + + it "provides a #description" do + change { @instance.some_value }.description.should == "change #result" + end +end + +describe "should_not change { block }" do + before(:each) do + @instance = SomethingExpected.new + @instance.some_value = 5 + end + + it "should pass when actual is modified by the block" do + expect {}.to_not change{ @instance.some_value } + end + + it "should fail when actual is not modified by the block" do + expect do + expect {@instance.some_value = 6}.to_not change { @instance.some_value } + end.to fail_with("result should not have changed, but did change from 5 to 6") + end + + it "should warn if passed a block using do/end instead of {}" do + expect do + expect {}.to_not change do; end + end.to raise_error(Spec::Matchers::MatcherError, /block passed to should or should_not/) + end +end + +describe "should change(actual, message).by(expected)" do + before(:each) do + @instance = SomethingExpected.new + @instance.some_value = 5 + end + + it "should pass when attribute is changed by expected amount" do + expect { @instance.some_value += 1 }.to change(@instance, :some_value).by(1) + end + + it "should fail when the attribute is changed by unexpected amount" do + expect do + expect { @instance.some_value += 2 }.to change(@instance, :some_value).by(1) + end.to fail_with("some_value should have been changed by 1, but was changed by 2") + end + + it "should fail when the attribute is changed by unexpected amount in the opposite direction" do + expect do + expect { @instance.some_value -= 1 }.to change(@instance, :some_value).by(1) + end.to fail_with("some_value should have been changed by 1, but was changed by -1") + end +end + +describe "should change{ block }.by(expected)" do + before(:each) do + @instance = SomethingExpected.new + @instance.some_value = 5 + end + + it "should pass when attribute is changed by expected amount" do + expect { @instance.some_value += 1 }.to change{@instance.some_value}.by(1) + end + + it "should fail when the attribute is changed by unexpected amount" do + expect do + expect { @instance.some_value += 2 }.to change{@instance.some_value}.by(1) + end.to fail_with("result should have been changed by 1, but was changed by 2") + end + + it "should fail when the attribute is changed by unexpected amount in the opposite direction" do + expect do + expect { @instance.some_value -= 1 }.to change{@instance.some_value}.by(1) + end.to fail_with("result should have been changed by 1, but was changed by -1") + end +end + +describe "should change(actual, message).by_at_least(expected)" do + before(:each) do + @instance = SomethingExpected.new + @instance.some_value = 5 + end + + it "should pass when attribute is changed by greater than the expected amount" do + expect { @instance.some_value += 2 }.to change(@instance, :some_value).by_at_least(1) + end + + it "should pass when attribute is changed by the expected amount" do + expect { @instance.some_value += 2 }.to change(@instance, :some_value).by_at_least(2) + end + + it "should fail when the attribute is changed by less than the expected amount" do + expect do + expect { @instance.some_value += 1 }.to change(@instance, :some_value).by_at_least(2) + end.to fail_with("some_value should have been changed by at least 2, but was changed by 1") + end + +end + +describe "should change{ block }.by_at_least(expected)" do + before(:each) do + @instance = SomethingExpected.new + @instance.some_value = 5 + end + + it "should pass when attribute is changed by greater than expected amount" do + expect { @instance.some_value += 2 }.to change{@instance.some_value}.by_at_least(1) + end + + it "should pass when attribute is changed by the expected amount" do + expect { @instance.some_value += 2 }.to change{@instance.some_value}.by_at_least(2) + end + + it "should fail when the attribute is changed by less than the unexpected amount" do + expect do + expect { @instance.some_value += 1 }.to change{@instance.some_value}.by_at_least(2) + end.to fail_with("result should have been changed by at least 2, but was changed by 1") + end +end + + +describe "should change(actual, message).by_at_most(expected)" do + before(:each) do + @instance = SomethingExpected.new + @instance.some_value = 5 + end + + it "should pass when attribute is changed by less than the expected amount" do + expect { @instance.some_value += 2 }.to change(@instance, :some_value).by_at_most(3) + end + + it "should pass when attribute is changed by the expected amount" do + expect { @instance.some_value += 2 }.to change(@instance, :some_value).by_at_most(2) + end + + it "should fail when the attribute is changed by greater than the expected amount" do + expect do + expect { @instance.some_value += 2 }.to change(@instance, :some_value).by_at_most(1) + end.to fail_with("some_value should have been changed by at most 1, but was changed by 2") + end + +end + +describe "should change{ block }.by_at_most(expected)" do + before(:each) do + @instance = SomethingExpected.new + @instance.some_value = 5 + end + + it "should pass when attribute is changed by less than expected amount" do + expect { @instance.some_value += 2 }.to change{@instance.some_value}.by_at_most(3) + end + + it "should pass when attribute is changed by the expected amount" do + expect { @instance.some_value += 2 }.to change{@instance.some_value}.by_at_most(2) + end + + it "should fail when the attribute is changed by greater than the unexpected amount" do + expect do + expect { @instance.some_value += 2 }.to change{@instance.some_value}.by_at_most(1) + end.to fail_with("result should have been changed by at most 1, but was changed by 2") + end +end + +describe "should change(actual, message).from(old)" do + before(:each) do + @instance = SomethingExpected.new + @instance.some_value = 'string' + end + + it "should pass when attribute is == to expected value before executing block" do + expect { @instance.some_value = "astring" }.to change(@instance, :some_value).from("string") + end + + it "should fail when attribute is not == to expected value before executing block" do + expect do + expect { @instance.some_value = "knot" }.to change(@instance, :some_value).from("cat") + end.to fail_with("some_value should have initially been \"cat\", but was \"string\"") + end +end + +describe "should change{ block }.from(old)" do + before(:each) do + @instance = SomethingExpected.new + @instance.some_value = 'string' + end + + it "should pass when attribute is == to expected value before executing block" do + expect { @instance.some_value = "astring" }.to change{@instance.some_value}.from("string") + end + + it "should fail when attribute is not == to expected value before executing block" do + expect do + expect { @instance.some_value = "knot" }.to change{@instance.some_value}.from("cat") + end.to fail_with("result should have initially been \"cat\", but was \"string\"") + end +end + +describe "should change(actual, message).to(new)" do + before(:each) do + @instance = SomethingExpected.new + @instance.some_value = 'string' + end + + it "should pass when attribute is == to expected value after executing block" do + expect { @instance.some_value = "cat" }.to change(@instance, :some_value).to("cat") + end + + it "should fail when attribute is not == to expected value after executing block" do + expect do + expect { @instance.some_value = "cat" }.to change(@instance, :some_value).from("string").to("dog") + end.to fail_with("some_value should have been changed to \"dog\", but is now \"cat\"") + end +end + +describe "should change{ block }.to(new)" do + before(:each) do + @instance = SomethingExpected.new + @instance.some_value = 'string' + end + + it "should pass when attribute is == to expected value after executing block" do + expect { @instance.some_value = "cat" }.to change{@instance.some_value}.to("cat") + end + + it "should fail when attribute is not == to expected value after executing block" do + expect do + expect { @instance.some_value = "cat" }.to change{@instance.some_value}.from("string").to("dog") + end.to fail_with("result should have been changed to \"dog\", but is now \"cat\"") + end +end + +describe "should change(actual, message).from(old).to(new)" do + before(:each) do + @instance = SomethingExpected.new + @instance.some_value = 'string' + end + + it "should pass when #to comes before #from" do + expect { @instance.some_value = "cat" }.to change(@instance, :some_value).to("cat").from("string") + end + + it "should pass when #from comes before #to" do + expect { @instance.some_value = "cat" }.to change(@instance, :some_value).from("string").to("cat") + end + + it "should show the correct messaging when #after and #to are different" do + expect do + expect { @instance.some_value = "cat" }.to change(@instance, :some_value).from("string").to("dog") + end.to fail_with("some_value should have been changed to \"dog\", but is now \"cat\"") + end + + it "should show the correct messaging when #before and #from are different" do + expect do + expect { @instance.some_value = "cat" }.to change(@instance, :some_value).from("not_string").to("cat") + end.to fail_with("some_value should have initially been \"not_string\", but was \"string\"") + end +end + +describe "should change{ block }.from(old).to(new)" do + before(:each) do + @instance = SomethingExpected.new + @instance.some_value = 'string' + end + + it "should pass when #to comes before #from" do + expect { @instance.some_value = "cat" }.to change{@instance.some_value}.to("cat").from("string") + end + + it "should pass when #from comes before #to" do + expect { @instance.some_value = "cat" }.to change{@instance.some_value}.from("string").to("cat") + end +end + +describe Spec::Matchers::Change do + it "should work when the receiver has implemented #send" do + @instance = SomethingExpected.new + @instance.some_value = "string" + def @instance.send(*args); raise "DOH! Library developers shouldn't use #send!" end + + expect { + expect { @instance.some_value = "cat" }.to change(@instance, :some_value) + }.to_not raise_error + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/compatibility_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/compatibility_spec.rb new file mode 100755 index 00000000..3987e590 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/compatibility_spec.rb @@ -0,0 +1,28 @@ +require 'spec_helper' + +Spec::Matchers.define :have_public_instance_method do |method| + match do |klass| + klass.public_instance_methods.any? {|m| [method, method.to_sym].include?(m)} + end +end + +(Spec::Matchers.constants.sort).each do |c| + if (Class === (klass = Spec::Matchers.const_get(c))) + describe klass do + if klass.public_instance_methods.any? {|m| ['failure_message_for_should',:failure_message_for_should].include?(m)} + describe "called with should" do + subject { klass } + it { should have_public_instance_method('failure_message_for_should')} + it { should have_public_instance_method('failure_message')} + end + end + if klass.public_instance_methods.any? {|m| ['failure_message_for_should_not',:failure_message_for_should_not].include?(m)} + describe "called with should not" do + subject { klass } + it { should have_public_instance_method('failure_message_for_should_not')} + it { should have_public_instance_method('negative_failure_message')} + end + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/description_generation_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/description_generation_spec.rb new file mode 100755 index 00000000..51b483c7 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/description_generation_spec.rb @@ -0,0 +1,160 @@ +require 'spec_helper' + +describe "Matchers should be able to generate their own descriptions" do + after(:each) do + Spec::Matchers.clear_generated_description + end + + it "should == expected" do + "this".should == "this" + Spec::Matchers.generated_description.should == "should == \"this\"" + end + + it "should not == expected" do + "this".should_not == "that" + Spec::Matchers.generated_description.should == "should not == \"that\"" + end + + it "should be empty (arbitrary predicate)" do + [].should be_empty + Spec::Matchers.generated_description.should == "should be empty" + end + + it "should not be empty (arbitrary predicate)" do + [1].should_not be_empty + Spec::Matchers.generated_description.should == "should not be empty" + end + + it "should be true" do + true.should be_true + Spec::Matchers.generated_description.should == "should be true" + end + + it "should be false" do + false.should be_false + Spec::Matchers.generated_description.should == "should be false" + end + + it "should be nil" do + nil.should be_nil + Spec::Matchers.generated_description.should == "should be nil" + end + + it "should be > n" do + 5.should be > 3 + Spec::Matchers.generated_description.should == "should be > 3" + end + + it "should be predicate arg1, arg2 and arg3" do + 5.0.should be_between(0,10) + Spec::Matchers.generated_description.should == "should be between 0 and 10" + end + + it "should equal" do + expected = "expected" + expected.should equal(expected) + Spec::Matchers.generated_description.should == "should equal \"expected\"" + end + + it "should_not equal" do + 5.should_not equal(37) + Spec::Matchers.generated_description.should == "should not equal 37" + end + + it "should eql" do + "string".should eql("string") + Spec::Matchers.generated_description.should == "should eql \"string\"" + end + + it "should not eql" do + "a".should_not eql(:a) + Spec::Matchers.generated_description.should == "should not eql :a" + end + + it "should have_key" do + {:a => "a"}.should have_key(:a) + Spec::Matchers.generated_description.should == "should have key :a" + end + + it "should have n items" do + team.should have(3).players + Spec::Matchers.generated_description.should == "should have 3 players" + end + + it "should have at least n items" do + team.should have_at_least(2).players + Spec::Matchers.generated_description.should == "should have at least 2 players" + end + + it "should have at most n items" do + team.should have_at_most(4).players + Spec::Matchers.generated_description.should == "should have at most 4 players" + end + + it "should include" do + [1,2,3].should include(3) + Spec::Matchers.generated_description.should == "should include 3" + end + + it "array.should =~ [1,2,3]" do + [1,2,3].should =~ [1,2,3] + Spec::Matchers.generated_description.should == "should contain exactly 1, 2 and 3" + end + + it "should match" do + "this string".should match(/this string/) + Spec::Matchers.generated_description.should == "should match /this string/" + end + + it "should raise_error" do + lambda { raise }.should raise_error + Spec::Matchers.generated_description.should == "should raise Exception" + end + + it "should raise_error with type" do + lambda { raise }.should raise_error(RuntimeError) + Spec::Matchers.generated_description.should == "should raise RuntimeError" + end + + it "should raise_error with type and message" do + lambda { raise "there was an error" }.should raise_error(RuntimeError, "there was an error") + Spec::Matchers.generated_description.should == "should raise RuntimeError with \"there was an error\"" + end + + it "should respond_to" do + [].should respond_to(:insert) + Spec::Matchers.generated_description.should == "should respond to #insert" + end + + it "should throw symbol" do + lambda { throw :what_a_mess }.should throw_symbol + Spec::Matchers.generated_description.should == "should throw a Symbol" + end + + it "should throw symbol (with named symbol)" do + lambda { throw :what_a_mess }.should throw_symbol(:what_a_mess) + Spec::Matchers.generated_description.should == "should throw :what_a_mess" + end + + def team + Class.new do + def players + [1,2,3] + end + end.new + end +end + +describe "a Matcher with no description" do + def matcher + Class.new do + def matches?(ignore); true; end + def failure_message; ""; end + end.new + end + + it "should provide a helpful message when used in a string-less example block" do + 5.should matcher + Spec::Matchers.generated_description.should =~ /When you call.*description method/m + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/dsl_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/dsl_spec.rb new file mode 100755 index 00000000..9c280e5a --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/dsl_spec.rb @@ -0,0 +1,34 @@ +require 'spec_helper' + +module Spec + module Matchers + module DSL + describe "#create" do + it "is deprecated" do + Spec.should_receive(:deprecate) + mod = Module.new + mod.extend Spec::Matchers::DSL + mod.create(:foo) + end + end + + describe "#define" do + it "creates a method that initializes a new matcher with the submitted name and expected arg" do + # FIXME - this expects new to be called, but we need something + # more robust - that expects new to be called with a specific + # block (lambda, proc, whatever) + mod = Module.new + mod.extend Spec::Matchers::DSL + mod.define(:foo) + + obj = Object.new + obj.extend mod + + Spec::Matchers::Matcher.should_receive(:new).with(:foo, 3) + + obj.foo(3) + end + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/eql_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/eql_spec.rb new file mode 100755 index 00000000..5cdf541e --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/eql_spec.rb @@ -0,0 +1,33 @@ +require 'spec_helper' + +module Spec + module Matchers + describe "eql" do + it "should match when actual.eql?(expected)" do + 1.should eql(1) + end + + it "should not match when !actual.eql?(expected)" do + 1.should_not eql(2) + end + + it "should describe itself" do + matcher = eql(1) + matcher.matches?(1) + matcher.description.should == "eql 1" + end + + it "should provide message, expected and actual on #failure_message" do + matcher = eql("1") + matcher.matches?(1) + matcher.failure_message_for_should.should == "\nexpected \"1\"\n got 1\n\n(compared using eql?)\n" + end + + it "should provide message, expected and actual on #negative_failure_message" do + matcher = eql(1) + matcher.matches?(1) + matcher.failure_message_for_should_not.should == "\nexpected 1 not to equal 1\n\n(compared using eql?)\n" + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/equal_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/equal_spec.rb new file mode 100755 index 00000000..cb2fc1e5 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/equal_spec.rb @@ -0,0 +1,57 @@ +require 'spec_helper' +module Spec + module Matchers + describe "equal" do + + def inspect_object(o) + "#<#{o.class}:#{o.object_id}> => #{o.inspect}" + end + + it "should match when actual.equal?(expected)" do + 1.should equal(1) + end + + it "should not match when !actual.equal?(expected)" do + 1.should_not equal("1") + end + + it "should describe itself" do + matcher = equal(1) + matcher.matches?(1) + matcher.description.should == "equal 1" + end + + it "should provide message on #failure_message" do + expected, actual = "1", "1" + matcher = equal(expected) + matcher.matches?(actual) + + matcher.failure_message_for_should.should == <<-MESSAGE + +expected #{inspect_object(expected)} + got #{inspect_object(actual)} + +Compared using equal?, which compares object identity, +but expected and actual are not the same object. Use +'actual.should == expected' if you don't care about +object identity in this example. + +MESSAGE + end + + it "should provide message on #negative_failure_message" do + expected = actual = "1" + matcher = equal(expected) + matcher.matches?(actual) + matcher.failure_message_for_should_not.should == <<-MESSAGE + +expected not #{inspect_object(expected)} + got #{inspect_object(actual)} + +Compared using equal?, which compares object identity. + +MESSAGE + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/exist_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/exist_spec.rb new file mode 100755 index 00000000..f95c86ff --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/exist_spec.rb @@ -0,0 +1,65 @@ +require 'spec_helper' + +class Substance + def initialize exists, description + @exists = exists + @description = description + end + def exist?(arg=nil) + @exists + end + def inspect + @description + end +end + +class SubstanceTester + include Spec::Matchers + def initialize substance + @substance = substance + end + def should_exist + @substance.should exist + end +end + +describe "should exist" do + + before(:each) do + @real = Substance.new true, 'something real' + @imaginary = Substance.new false, 'something imaginary' + end + + describe "within an example group" do + + it "passes if target exists" do + @real.should exist + end + + it "passes if target exists with args" do + @real.should exist('this arg') + end + + it "fails if target does not exist" do + lambda { @imaginary.should exist }.should fail + end + + it "describes itself" do + exist.description.should == "exist" + end + + it "passes should_not exist if target doesn't exist" do + lambda { @real.should_not exist }.should fail + end + end + + describe "outside of an example group" do + + it "should pass if target exists" do + real_tester = SubstanceTester.new @real + real_tester.should_exist + end + + end + +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/has_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/has_spec.rb new file mode 100755 index 00000000..b6f25991 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/has_spec.rb @@ -0,0 +1,81 @@ +require 'spec_helper' + +describe "should have_sym(*args)" do + it "should pass if #has_sym?(*args) returns true" do + {:a => "A"}.should have_key(:a) + end + + it "should fail if #has_sym?(*args) returns false" do + lambda { + {:b => "B"}.should have_key(:a) + }.should fail_with("expected #has_key?(:a) to return true, got false") + end + + it "should fail if #has_sym?(*args) returns nil" do + klass = Class.new do + def has_foo? + end + end + lambda { + klass.new.should have_foo + }.should fail_with("expected #has_foo?(nil) to return true, got false") + end + + it "should fail if target does not respond to #has_sym?" do + lambda { + Object.new.should have_key(:a) + }.should raise_error(NoMethodError) + end + + it "should reraise an exception thrown in #has_sym?(*args)" do + o = Object.new + def o.has_sym?(*args) + raise "Funky exception" + end + lambda { o.should have_sym(:foo) }.should raise_error("Funky exception") + end +end + +describe "should_not have_sym(*args)" do + it "should pass if #has_sym?(*args) returns false" do + {:a => "A"}.should_not have_key(:b) + end + + it "should pass if #has_sym?(*args) returns nil" do + klass = Class.new do + def has_foo? + end + end + klass.new.should_not have_foo + end + + it "should fail if #has_sym?(*args) returns true" do + lambda { + {:a => "A"}.should_not have_key(:a) + }.should fail_with("expected #has_key?(:a) to return false, got true") + end + + it "should fail if target does not respond to #has_sym?" do + lambda { + Object.new.should have_key(:a) + }.should raise_error(NoMethodError) + end + + it "should reraise an exception thrown in #has_sym?(*args)" do + o = Object.new + def o.has_sym?(*args) + raise "Funky exception" + end + lambda { o.should_not have_sym(:foo) }.should raise_error("Funky exception") + end +end + +describe "has" do + it "should work when the target implements #send" do + o = {:a => "A"} + def o.send(*args); raise "DOH! Library developers shouldn't use #send!" end + lambda { + o.should have_key(:a) + }.should_not raise_error + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/have_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/have_spec.rb new file mode 100755 index 00000000..07c29497 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/have_spec.rb @@ -0,0 +1,396 @@ +require 'spec_helper' + +share_as :HaveSpecHelper do + def create_collection_owner_with(n) + owner = Spec::Expectations::Helper::CollectionOwner.new + (1..n).each do |number| + owner.add_to_collection_with_length_method(number) + owner.add_to_collection_with_size_method(number) + end + owner + end + before(:each) do + if defined?(::ActiveSupport::Inflector) + @active_support_was_defined = true + else + @active_support_was_defined = false + module ::ActiveSupport + class Inflector + def self.pluralize(string) + string.to_s + 's' + end + end + end + end + end +end + + +describe "should have(n).items" do + include HaveSpecHelper + + it "should pass if target has a collection of items with n members" do + owner = create_collection_owner_with(3) + owner.should have(3).items_in_collection_with_length_method + owner.should have(3).items_in_collection_with_size_method + end + + it "should convert :no to 0" do + owner = create_collection_owner_with(0) + owner.should have(:no).items_in_collection_with_length_method + owner.should have(:no).items_in_collection_with_size_method + end + + it "should fail if target has a collection of items with < n members" do + owner = create_collection_owner_with(3) + lambda { + owner.should have(4).items_in_collection_with_length_method + }.should fail_with("expected 4 items_in_collection_with_length_method, got 3") + lambda { + owner.should have(4).items_in_collection_with_size_method + }.should fail_with("expected 4 items_in_collection_with_size_method, got 3") + end + + it "should fail if target has a collection of items with > n members" do + owner = create_collection_owner_with(3) + lambda { + owner.should have(2).items_in_collection_with_length_method + }.should fail_with("expected 2 items_in_collection_with_length_method, got 3") + lambda { + owner.should have(2).items_in_collection_with_size_method + }.should fail_with("expected 2 items_in_collection_with_size_method, got 3") + end +end + +describe 'should have(1).item when ActiveSupport::Inflector is defined' do + include HaveSpecHelper + + it 'should pluralize the collection name' do + owner = create_collection_owner_with(1) + owner.should have(1).item + end + + after(:each) do + unless @active_support_was_defined + Object.__send__ :remove_const, :ActiveSupport + end + end +end + +describe 'should have(1).item when Inflector is defined' do + include HaveSpecHelper + + before(:each) do + if defined?(Inflector) + @inflector_was_defined = true + else + @inflector_was_defined = false + class ::Inflector + def self.pluralize(string) + string.to_s + 's' + end + end + end + end + + it 'should pluralize the collection name' do + owner = create_collection_owner_with(1) + owner.should have(1).item + end + + after(:each) do + unless @inflector_was_defined + Object.__send__ :remove_const, :Inflector + end + end +end + +describe "should have(n).items where result responds to items but returns something other than a collection" do + it "should provide a meaningful error" do + owner = Class.new do + def items + Object.new + end + end.new + lambda do + owner.should have(3).items + end.should raise_error("expected items to be a collection but it does not respond to #length or #size") + end +end + +describe "should_not have(n).items" do + include HaveSpecHelper + + it "should pass if target has a collection of items with < n members" do + owner = create_collection_owner_with(3) + owner.should_not have(4).items_in_collection_with_length_method + owner.should_not have(4).items_in_collection_with_size_method + end + + it "should pass if target has a collection of items with > n members" do + owner = create_collection_owner_with(3) + owner.should_not have(2).items_in_collection_with_length_method + owner.should_not have(2).items_in_collection_with_size_method + end + + it "should fail if target has a collection of items with n members" do + owner = create_collection_owner_with(3) + lambda { + owner.should_not have(3).items_in_collection_with_length_method + }.should fail_with("expected target not to have 3 items_in_collection_with_length_method, got 3") + lambda { + owner.should_not have(3).items_in_collection_with_size_method + }.should fail_with("expected target not to have 3 items_in_collection_with_size_method, got 3") + end +end + +describe "should have_exactly(n).items" do + include HaveSpecHelper + + it "should pass if target has a collection of items with n members" do + owner = create_collection_owner_with(3) + owner.should have_exactly(3).items_in_collection_with_length_method + owner.should have_exactly(3).items_in_collection_with_size_method + end + + it "should convert :no to 0" do + owner = create_collection_owner_with(0) + owner.should have_exactly(:no).items_in_collection_with_length_method + owner.should have_exactly(:no).items_in_collection_with_size_method + end + + it "should fail if target has a collection of items with < n members" do + owner = create_collection_owner_with(3) + lambda { + owner.should have_exactly(4).items_in_collection_with_length_method + }.should fail_with("expected 4 items_in_collection_with_length_method, got 3") + lambda { + owner.should have_exactly(4).items_in_collection_with_size_method + }.should fail_with("expected 4 items_in_collection_with_size_method, got 3") + end + + it "should fail if target has a collection of items with > n members" do + owner = create_collection_owner_with(3) + lambda { + owner.should have_exactly(2).items_in_collection_with_length_method + }.should fail_with("expected 2 items_in_collection_with_length_method, got 3") + lambda { + owner.should have_exactly(2).items_in_collection_with_size_method + }.should fail_with("expected 2 items_in_collection_with_size_method, got 3") + end +end + +describe "should have_at_least(n).items" do + include HaveSpecHelper + + it "should pass if target has a collection of items with n members" do + owner = create_collection_owner_with(3) + owner.should have_at_least(3).items_in_collection_with_length_method + owner.should have_at_least(3).items_in_collection_with_size_method + end + + it "should pass if target has a collection of items with > n members" do + owner = create_collection_owner_with(3) + owner.should have_at_least(2).items_in_collection_with_length_method + owner.should have_at_least(2).items_in_collection_with_size_method + end + + it "should fail if target has a collection of items with < n members" do + owner = create_collection_owner_with(3) + lambda { + owner.should have_at_least(4).items_in_collection_with_length_method + }.should fail_with("expected at least 4 items_in_collection_with_length_method, got 3") + lambda { + owner.should have_at_least(4).items_in_collection_with_size_method + }.should fail_with("expected at least 4 items_in_collection_with_size_method, got 3") + end + + it "should provide educational negative failure messages" do + #given + owner = create_collection_owner_with(3) + length_matcher = have_at_least(3).items_in_collection_with_length_method + size_matcher = have_at_least(3).items_in_collection_with_size_method + + #when + length_matcher.matches?(owner) + size_matcher.matches?(owner) + + #then + length_matcher.failure_message_for_should_not.should == <<-EOF +Isn't life confusing enough? +Instead of having to figure out the meaning of this: + should_not have_at_least(3).items_in_collection_with_length_method +We recommend that you use this instead: + should have_at_most(2).items_in_collection_with_length_method +EOF + + size_matcher.failure_message_for_should_not.should == <<-EOF +Isn't life confusing enough? +Instead of having to figure out the meaning of this: + should_not have_at_least(3).items_in_collection_with_size_method +We recommend that you use this instead: + should have_at_most(2).items_in_collection_with_size_method +EOF + end +end + +describe "should have_at_most(n).items" do + include HaveSpecHelper + + it "should pass if target has a collection of items with n members" do + owner = create_collection_owner_with(3) + owner.should have_at_most(3).items_in_collection_with_length_method + owner.should have_at_most(3).items_in_collection_with_size_method + end + + it "should fail if target has a collection of items with > n members" do + owner = create_collection_owner_with(3) + lambda { + owner.should have_at_most(2).items_in_collection_with_length_method + }.should fail_with("expected at most 2 items_in_collection_with_length_method, got 3") + lambda { + owner.should have_at_most(2).items_in_collection_with_size_method + }.should fail_with("expected at most 2 items_in_collection_with_size_method, got 3") + end + + it "should pass if target has a collection of items with < n members" do + owner = create_collection_owner_with(3) + owner.should have_at_most(4).items_in_collection_with_length_method + owner.should have_at_most(4).items_in_collection_with_size_method + end + + it "should provide educational negative failure messages" do + #given + owner = create_collection_owner_with(3) + length_matcher = have_at_most(3).items_in_collection_with_length_method + size_matcher = have_at_most(3).items_in_collection_with_size_method + + #when + length_matcher.matches?(owner) + size_matcher.matches?(owner) + + #then + length_matcher.failure_message_for_should_not.should == <<-EOF +Isn't life confusing enough? +Instead of having to figure out the meaning of this: + should_not have_at_most(3).items_in_collection_with_length_method +We recommend that you use this instead: + should have_at_least(4).items_in_collection_with_length_method +EOF + + size_matcher.failure_message_for_should_not.should == <<-EOF +Isn't life confusing enough? +Instead of having to figure out the meaning of this: + should_not have_at_most(3).items_in_collection_with_size_method +We recommend that you use this instead: + should have_at_least(4).items_in_collection_with_size_method +EOF + end +end + +describe "have(n).items(args, block)" do + it "should pass args to target" do + target = mock("target") + target.should_receive(:items).with("arg1","arg2").and_return([1,2,3]) + target.should have(3).items("arg1","arg2") + end + + it "should pass block to target" do + target = mock("target") + block = lambda { 5 } + target.should_receive(:items).with("arg1","arg2", block).and_return([1,2,3]) + target.should have(3).items("arg1","arg2", block) + end +end + +describe "have(n).items where target IS a collection" do + it "should reference the number of items IN the collection" do + [1,2,3].should have(3).items + end + + it "should fail when the number of items IN the collection is not as expected" do + lambda { [1,2,3].should have(7).items }.should fail_with("expected 7 items, got 3") + end +end + +describe "have(n).characters where target IS a String" do + it "should pass if the length is correct" do + "this string".should have(11).characters + end + + it "should fail if the length is incorrect" do + lambda { "this string".should have(12).characters }.should fail_with("expected 12 characters, got 11") + end +end + +describe "have(n).things on an object which is not a collection nor contains one" do + it "should fail" do + lambda { Object.new.should have(2).things }.should raise_error(NoMethodError, /undefined method `things' for # false + + describe "respond_to?" do + before :each do + @have = Have.new(:foo) + @a_method_which_have_defines = Have.instance_methods.first + @a_method_which_object_defines = Object.instance_methods.first + end + + it "should be true for a method which Have defines" do + @have.should respond_to(@a_method_which_have_defines) + end + + it "should be true for a method that it's superclass (Object) defines" do + @have.should respond_to(@a_method_which_object_defines) + end + + it "should be false for a method which neither Object nor nor Have defines" do + @have.should_not respond_to(:foo_bar_baz) + end + + it "should be false if the owner doesn't respond to the method" do + have = Have.new(99) + have.should_not respond_to(:problems) + end + + it "should be true if the owner responds to the method" do + have = Have.new(:a_symbol) + have.should respond_to(:to_sym) + end + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/include_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/include_spec.rb new file mode 100755 index 00000000..2b959b58 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/include_spec.rb @@ -0,0 +1,88 @@ +require 'spec_helper' + +describe "should include(expected)" do + it "should pass if target includes expected" do + [1,2,3].should include(3) + "abc".should include("a") + end + + it 'should pass if target is a Hash and has the expected as a key' do + {:key => 'value'}.should include(:key) + end + + it "should fail if target does not include expected" do + lambda { + [1,2,3].should include(4) + }.should fail_with("expected [1, 2, 3] to include 4") + lambda { + "abc".should include("d") + }.should fail_with("expected \"abc\" to include \"d\"") + lambda { + {:key => 'value'}.should include(:other) + }.should fail_with(%Q|expected {:key=>"value"} to include :other|) + end +end + +describe "should include(with, multiple, args)" do + it "should pass if target includes all items" do + [1,2,3].should include(1,2,3) + end + + it 'should pass if target is a Hash including all items as keys' do + {:key => 'value', :other => 'value'}.should include(:key, :other) + end + + it "should fail if target does not include any one of the items" do + lambda { + [1,2,3].should include(1,2,4) + }.should fail_with("expected [1, 2, 3] to include 1, 2, and 4") + end + + it 'should pass if target is a Hash missing any item as a key' do + lambda { + {:key => 'value'}.should include(:key, :other) + }.should fail_with(%Q|expected {:key=>"value"} to include :key and :other|) + end +end + +describe "should_not include(expected)" do + it "should pass if target does not include expected" do + [1,2,3].should_not include(4) + "abc".should_not include("d") + end + + it 'should pass if target is a Hash and does not have the expected as a key' do + {:other => 'value'}.should_not include(:key) + end + + it "should fail if target includes expected" do + lambda { + [1,2,3].should_not include(3) + }.should fail_with("expected [1, 2, 3] not to include 3") + lambda { + "abc".should_not include("c") + }.should fail_with("expected \"abc\" not to include \"c\"") + lambda { + {:key => 'value'}.should_not include(:key) + }.should fail_with(%Q|expected {:key=>"value"} not to include :key|) + end +end + +describe "should include(:key => value)" do + it "should pass if target is a Hash and includes the key/value pair" do + {:key => 'value'}.should include(:key => 'value') + end + it "should pass if target is a Hash and includes the key/value pair among others" do + {:key => 'value', :other => 'different'}.should include(:key => 'value') + end + it "should fail if target is a Hash and has a different value for key" do + lambda { + {:key => 'different'}.should include(:key => 'value') + }.should fail_with(%Q|expected {:key=>"different"} to include {:key=>"value"}|) + end + it "should fail if target is a Hash and has a different key" do + lambda { + {:other => 'value'}.should include(:key => 'value') + }.should fail_with(%Q|expected {:other=>"value"} to include {:key=>"value"}|) + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/match_array_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/match_array_spec.rb new file mode 100755 index 00000000..be75ec16 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/match_array_spec.rb @@ -0,0 +1,108 @@ +require 'spec_helper' + +class UnsortableObject + def initialize(id) + @id = id + end + + def inspect + @id.to_s + end + + def ==(other) + false + end +end + +describe "array.should =~ other_array" do + it "should pass if target contains all items" do + [1,2,3].should =~ [1,2,3] + end + + it "should pass if target contains all items out of order" do + [1,3,2].should =~ [1,2,3] + end + + it "should fail if target includes extra items" do + lambda { + [1,2,3,4].should =~ [1,2,3] + }.should fail_with(<<-MESSAGE) +expected collection contained: [1, 2, 3] +actual collection contained: [1, 2, 3, 4] +the extra elements were: [4] +MESSAGE + end + + it "should fail if target is missing items" do + lambda { + [1,2].should =~ [1,2,3] + }.should fail_with(<<-MESSAGE) +expected collection contained: [1, 2, 3] +actual collection contained: [1, 2] +the missing elements were: [3] +MESSAGE + end + + it "should fail if target is missing items and has extra items" do + + lambda { + [1,2,4].should =~ [1,2,3] + }.should fail_with(<<-MESSAGE) +expected collection contained: [1, 2, 3] +actual collection contained: [1, 2, 4] +the missing elements were: [3] +the extra elements were: [4] +MESSAGE + end + + it "should sort items in the error message if they all respond to <=>" do + lambda { + [6,2,1,5].should =~ [4,1,2,3] + }.should fail_with(<<-MESSAGE) +expected collection contained: [1, 2, 3, 4] +actual collection contained: [1, 2, 5, 6] +the missing elements were: [3, 4] +the extra elements were: [5, 6] +MESSAGE + end + + it "should not sort items in the error message if they don't all respond to <=>" do + lambda { + [UnsortableObject.new(2), UnsortableObject.new(1)].should =~ [UnsortableObject.new(4), UnsortableObject.new(3)] + }.should fail_with(<<-MESSAGE) +expected collection contained: [4, 3] +actual collection contained: [2, 1] +the missing elements were: [4, 3] +the extra elements were: [2, 1] +MESSAGE + end + + it "should accurately report extra elements when there are duplicates" do + lambda { + [1,1,1,5].should =~ [1,5] + }.should fail_with(<<-MESSAGE) +expected collection contained: [1, 5] +actual collection contained: [1, 1, 1, 5] +the extra elements were: [1, 1] +MESSAGE + end + + it "should accurately report missing elements when there are duplicates" do + lambda { + [1,5].should =~ [1,1,5] + }.should fail_with(<<-MESSAGE) +expected collection contained: [1, 1, 5] +actual collection contained: [1, 5] +the missing elements were: [1] +MESSAGE + end + +end + +describe "should_not =~ [:with, :multiple, :args]" do + it "should not be supported" do + lambda { + [1,2,3].should_not =~ [1,2,3] + }.should fail_with(/Matcher does not support should_not/) + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/match_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/match_spec.rb new file mode 100755 index 00000000..e5dc800a --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/match_spec.rb @@ -0,0 +1,57 @@ +require 'spec_helper' + +describe "should match(expected)" do + it "should pass when target (String) matches expected (Regexp)" do + "string".should match(/tri/) + end + + it "should pass when target (String) matches expected (String)" do + "string".should match("tri") + end + + it "should fail when target (String) does not match expected (Regexp)" do + lambda { + "string".should match(/rings/) + }.should fail + end + + it "should fail when target (String) does not match expected (String)" do + lambda { + "string".should match("rings") + }.should fail + end + + it "should provide message, expected and actual on failure" do + matcher = match(/rings/) + matcher.matches?("string") + matcher.failure_message_for_should.should == "expected \"string\" to match /rings/" + end +end + +describe "should_not match(expected)" do + it "should pass when target (String) matches does not match (Regexp)" do + "string".should_not match(/rings/) + end + + it "should pass when target (String) matches does not match (String)" do + "string".should_not match("rings") + end + + it "should fail when target (String) matches expected (Regexp)" do + lambda { + "string".should_not match(/tri/) + }.should fail + end + + it "should fail when target (String) matches expected (String)" do + lambda { + "string".should_not match("tri") + }.should fail + end + + it "should provide message, expected and actual on failure" do + matcher = match(/tri/) + matcher.matches?("string") + matcher.failure_message_for_should_not.should == "expected \"string\" not to match /tri/" + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/matcher_methods_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/matcher_methods_spec.rb new file mode 100755 index 00000000..291a2afa --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/matcher_methods_spec.rb @@ -0,0 +1,63 @@ +require 'spec_helper' + +module Spec + module Matchers + context %Q{The Spec::Matchers module gets included in the execution context of every spec. +This module should provide the following methods, each of which returns a Matcher object.} do + it "be_true" do + be_true.should be_an_instance_of(Be) + end + it "be_false" do + be_false.should be_an_instance_of(Be) + end + it "be_nil" do + be_nil.should be_an_instance_of(Be) + end + it "be_arbitrary_predicate" do + be_arbitrary_predicate.should be_an_instance_of(Be) + end + it "change" do + change("target", :message).should be_an_instance_of(Change) + end + it "have" do + have(0).should be_an_instance_of(Have) + end + it "have_exactly" do + have_exactly(0).should be_an_instance_of(Have) + end + it "have_at_least" do + have_at_least(0).should be_an_instance_of(Have) + end + it "have_at_most" do + have_at_most(0).should be_an_instance_of(Have) + end + it "raise_error" do + raise_error.should be_an_instance_of(RaiseError) + raise_error(NoMethodError).should be_an_instance_of(RaiseError) + raise_error(NoMethodError, "message").should be_an_instance_of(RaiseError) + end + it "satisfy" do + satisfy{}.should be_an_instance_of(Satisfy) + end + it "throw_symbol" do + throw_symbol.should be_an_instance_of(ThrowSymbol) + throw_symbol(:sym).should be_an_instance_of(ThrowSymbol) + end + it "respond_to" do + respond_to(:sym).should be_an_instance_of(RespondTo) + end + end + + describe "Spec::Matchers#method_missing" do + it "should convert be_xyz to Be(:be_xyz)" do + Be.should_receive(:new).with(:be_whatever) + be_whatever + end + + it "should convert have_xyz to Has(:have_xyz)" do + Has.should_receive(:new).with(:have_whatever) + have_whatever + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/matcher_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/matcher_spec.rb new file mode 100755 index 00000000..76b2e260 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/matcher_spec.rb @@ -0,0 +1,228 @@ +require 'spec_helper' + +module Spec + module Matchers + describe Matcher do + context "without overrides" do + before(:each) do + @matcher = Spec::Matchers::Matcher.new(:be_a_multiple_of, 3) do |multiple| + match do |actual| + actual % multiple == 0 + end + end + end + + it "provides a default description" do + @matcher.description.should == "be a multiple of 3" + end + + it "provides a default failure message for #should" do + @matcher.matches?(8) + @matcher.failure_message_for_should.should == "expected 8 to be a multiple of 3" + end + + it "provides a default failure message for #should_not" do + @matcher.matches?(9) + @matcher.failure_message_for_should_not.should == "expected 9 not to be a multiple of 3" + end + end + + it "is not diffable by default" do + matcher = Spec::Matchers::Matcher.new(:name) {} + matcher.should_not be_diffable + end + + it "is diffable when told to be" do + matcher = Spec::Matchers::Matcher.new(:name) { diffable } + matcher.should be_diffable + end + + it "provides expected" do + matcher = Spec::Matchers::Matcher.new(:name, 'expected string') {} + matcher.expected.should == ['expected string'] + end + + it "provides actual" do + matcher = Spec::Matchers::Matcher.new(:name, 'expected string') do + match {|actual|} + end + + matcher.matches?('actual string') + + matcher.actual.should == 'actual string' + end + + context "with overrides" do + before(:each) do + @matcher = Spec::Matchers::Matcher.new(:be_boolean, true) do |boolean| + match do |actual| + actual + end + description do + "be the boolean #{boolean}" + end + failure_message_for_should do |actual| + "expected #{actual} to be the boolean #{boolean}" + end + failure_message_for_should_not do |actual| + "expected #{actual} not to be the boolean #{boolean}" + end + end + end + + it "does not hide result of match block when true" do + @matcher.matches?(true).should be_true + end + + it "does not hide result of match block when false" do + @matcher.matches?(false).should be_false + end + + it "overrides the description" do + @matcher.description.should == "be the boolean true" + end + + it "overrides the failure message for #should" do + @matcher.matches?(false) + @matcher.failure_message_for_should.should == "expected false to be the boolean true" + end + + it "overrides the failure message for #should_not" do + @matcher.matches?(true) + @matcher.failure_message_for_should_not.should == "expected true not to be the boolean true" + end + end + + context "#new" do + it "passes matches? arg to match block" do + matcher = Spec::Matchers::Matcher.new(:ignore) do + match do |actual| + actual == 5 + end + end + matcher.matches?(5).should be_true + end + + it "exposes arg submitted through #new to matcher block" do + matcher = Spec::Matchers::Matcher.new(:ignore, 4) do |expected| + match do |actual| + actual > expected + end + end + matcher.matches?(5).should be_true + end + end + + context "with no args" do + before(:each) do + @matcher = Spec::Matchers::Matcher.new(:matcher_name) do + match do |actual| + actual == 5 + end + end + end + + it "matches" do + @matcher.matches?(5).should be_true + end + + it "describes" do + @matcher.description.should == "matcher name" + end + end + + context "with 1 arg" do + before(:each) do + @matcher = Spec::Matchers::Matcher.new(:matcher_name, 1) do |expected| + match do |actual| + actual == 5 && expected == 1 + end + end + end + + it "matches" do + @matcher.matches?(5).should be_true + end + + it "describes" do + @matcher.description.should == "matcher name 1" + end + end + + context "with multiple args" do + before(:each) do + @matcher = Spec::Matchers::Matcher.new(:matcher_name, 1, 2, 3, 4) do |a,b,c,d| + match do |sum| + a + b + c + d == sum + end + end + end + + it "matches" do + @matcher.matches?(10).should be_true + end + + it "describes" do + @matcher.description.should == "matcher name 1, 2, 3, and 4" + end + end + + it "supports helper methods" do + matcher = Spec::Matchers::Matcher.new(:be_similar_to, [1,2,3]) do |sample| + match do |actual| + similar?(sample, actual) + end + + def similar?(a, b) + a.sort == b.sort + end + end + + matcher.matches?([2,3,1]).should be_true + end + + it "supports fluent interface" do + matcher = Spec::Matchers::Matcher.new(:first_word) do + def second_word + self + end + end + + matcher.second_word.should == matcher + end + + it "treats method missing normally for undeclared methods" do + matcher = Spec::Matchers::Matcher.new(:ignore) { } + expect { matcher.non_existent_method }.to raise_error(NoMethodError) + end + + it "has access to other matchers" do + matcher = Spec::Matchers::Matcher.new(:ignore, 3) do |expected| + match do |actual| + extend Spec::Matchers + actual.should eql(5 + expected) + end + end + + matcher.matches?(8).should be_true + end + + it "lets you override the actual() in messages" do + matcher = Spec::Matchers::Matcher.new(:be_foo) do + match do |actual| + @submitted = actual + false + end + + def actual + "replaced" + end + end + + matcher.matches?("foo") + matcher.failure_message_for_should.should =~ /replaced/ + end + + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/matchers_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/matchers_spec.rb new file mode 100755 index 00000000..51f5efc4 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/matchers_spec.rb @@ -0,0 +1,2 @@ +require 'spec_helper' + diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/operator_matcher_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/operator_matcher_spec.rb new file mode 100755 index 00000000..86e637e0 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/operator_matcher_spec.rb @@ -0,0 +1,191 @@ +require 'spec_helper' + +require 'spec/runner/differs/default' + +describe "should ==" do + + it "should delegate message to target" do + subject = "apple" + subject.should_receive(:==).with("apple").and_return(true) + subject.should == "apple" + end + + it "should return true on success" do + subject = "apple" + (subject.should == "apple").should be_true + end + + it "should fail when target.==(actual) returns false" do + subject = "apple" + Spec::Expectations.should_receive(:fail_with).with(%[expected: "orange",\n got: "apple" (using ==)], "orange", "apple") + subject.should == "orange" + end + +end + +describe "should_not ==" do + + it "should delegate message to target" do + subject = "orange" + subject.should_receive(:==).with("apple").and_return(false) + subject.should_not == "apple" + end + + it "should return true on success" do + subject = "apple" + (subject.should_not == "orange").should be_false + end + + it "should fail when target.==(actual) returns false" do + subject = "apple" + Spec::Expectations.should_receive(:fail_with).with(%[expected not: == "apple",\n got: "apple"], "apple", "apple") + subject.should_not == "apple" + end + +end + +describe "should ===" do + + it "should delegate message to target" do + subject = "apple" + subject.should_receive(:===).with("apple").and_return(true) + subject.should === "apple" + end + + it "should fail when target.===(actual) returns false" do + subject = "apple" + subject.should_receive(:===).with("orange").and_return(false) + Spec::Expectations.should_receive(:fail_with).with(%[expected: "orange",\n got: "apple" (using ===)], "orange", "apple") + subject.should === "orange" + end + +end + +describe "should_not ===" do + + it "should delegate message to target" do + subject = "orange" + subject.should_receive(:===).with("apple").and_return(false) + subject.should_not === "apple" + end + + it "should fail when target.===(actual) returns false" do + subject = "apple" + subject.should_receive(:===).with("apple").and_return(true) + Spec::Expectations.should_receive(:fail_with).with(%[expected not: === "apple",\n got: "apple"], "apple", "apple") + subject.should_not === "apple" + end + +end + +describe "should =~" do + + it "should delegate message to target" do + subject = "foo" + subject.should_receive(:=~).with(/oo/).and_return(true) + subject.should =~ /oo/ + end + + it "should fail when target.=~(actual) returns false" do + subject = "fu" + subject.should_receive(:=~).with(/oo/).and_return(false) + Spec::Expectations.should_receive(:fail_with).with(%[expected: /oo/,\n got: "fu" (using =~)], /oo/, "fu") + subject.should =~ /oo/ + end + +end + +describe "should_not =~" do + + it "should delegate message to target" do + subject = "fu" + subject.should_receive(:=~).with(/oo/).and_return(false) + subject.should_not =~ /oo/ + end + + it "should fail when target.=~(actual) returns false" do + subject = "foo" + subject.should_receive(:=~).with(/oo/).and_return(true) + Spec::Expectations.should_receive(:fail_with).with(%[expected not: =~ /oo/,\n got: "foo"], /oo/, "foo") + subject.should_not =~ /oo/ + end + +end + +describe "should >" do + + it "should pass if > passes" do + 4.should > 3 + end + + it "should fail if > fails" do + Spec::Expectations.should_receive(:fail_with).with(%[expected: > 5,\n got: 4], 5, 4) + 4.should > 5 + end + +end + +describe "should >=" do + + it "should pass if >= passes" do + 4.should > 3 + 4.should >= 4 + end + + it "should fail if > fails" do + Spec::Expectations.should_receive(:fail_with).with(%[expected: >= 5,\n got: 4], 5, 4) + 4.should >= 5 + end + +end + +describe "should <" do + + it "should pass if < passes" do + 4.should < 5 + end + + it "should fail if > fails" do + Spec::Expectations.should_receive(:fail_with).with(%[expected: < 3,\n got: 4], 3, 4) + 4.should < 3 + end + +end + +describe "should <=" do + + it "should pass if <= passes" do + 4.should <= 5 + 4.should <= 4 + end + + it "should fail if > fails" do + Spec::Expectations.should_receive(:fail_with).with(%[expected: <= 3,\n got: 4], 3, 4) + 4.should <= 3 + end + +end + +describe Spec::Matchers::PositiveOperatorMatcher do + + it "should work when the target has implemented #send" do + o = Object.new + def o.send(*args); raise "DOH! Library developers shouldn't use #send!" end + lambda { + o.should == o + }.should_not raise_error + end + +end + +describe Spec::Matchers::NegativeOperatorMatcher do + + it "should work when the target has implemented #send" do + o = Object.new + def o.send(*args); raise "DOH! Library developers shouldn't use #send!" end + lambda { + o.should_not == :foo + }.should_not raise_error + end + +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/raise_error_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/raise_error_spec.rb new file mode 100755 index 00000000..785065ad --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/raise_error_spec.rb @@ -0,0 +1,333 @@ +require 'spec_helper' + +describe "should raise_error" do + it "should pass if anything is raised" do + lambda {raise}.should raise_error + end + + it "should fail if nothing is raised" do + lambda { + lambda {}.should raise_error + }.should fail_with("expected Exception but nothing was raised") + end +end + +describe "should raise_error {|err| ... }" do + it "passes if there is an error" do + ran = false + lambda { non_existent_method }.should raise_error {|e| + ran = true + } + ran.should be_true + end + + it "passes the error to the block" do + error = nil + lambda { non_existent_method }.should raise_error {|e| + error = e + } + error.should be_kind_of(NameError) + end +end + +describe "should_not raise_error" do + it "should pass if nothing is raised" do + lambda {}.should_not raise_error + end + + it "should fail if anything is raised" do + lambda { + lambda {raise}.should_not raise_error + }.should fail_with("expected no Exception, got RuntimeError") + end +end + +describe "should raise_error(message)" do + it "should pass if RuntimeError is raised with the right message" do + lambda {raise 'blah'}.should raise_error('blah') + end + it "should pass if RuntimeError is raised with a matching message" do + lambda {raise 'blah'}.should raise_error(/blah/) + end + it "should pass if any other error is raised with the right message" do + lambda {raise NameError.new('blah')}.should raise_error('blah') + end + it "should fail if RuntimeError error is raised with the wrong message" do + lambda do + lambda {raise 'blarg'}.should raise_error('blah') + end.should fail_with("expected Exception with \"blah\", got #") + end + it "should fail if any other error is raised with the wrong message" do + lambda do + lambda {raise NameError.new('blarg')}.should raise_error('blah') + end.should fail_with("expected Exception with \"blah\", got #") + end +end + +describe "should_not raise_error(message)" do + it "should pass if RuntimeError error is raised with the different message" do + lambda {raise 'blarg'}.should_not raise_error('blah') + end + it "should pass if any other error is raised with the wrong message" do + lambda {raise NameError.new('blarg')}.should_not raise_error('blah') + end + it "should fail if RuntimeError is raised with message" do + lambda do + lambda {raise 'blah'}.should_not raise_error('blah') + end.should fail_with(%Q|expected no Exception with "blah", got #|) + end + it "should fail if any other error is raised with message" do + lambda do + lambda {raise NameError.new('blah')}.should_not raise_error('blah') + end.should fail_with(%Q|expected no Exception with "blah", got #|) + end +end + +describe "should raise_error(NamedError)" do + it "should pass if named error is raised" do + lambda { non_existent_method }.should raise_error(NameError) + end + + it "should fail if nothing is raised" do + lambda { + lambda { }.should raise_error(NameError) + }.should fail_with("expected NameError but nothing was raised") + end + + it "should fail if another error is raised (NameError)" do + lambda { + lambda { raise }.should raise_error(NameError) + }.should fail_with("expected NameError, got RuntimeError") + end + + it "should fail if another error is raised (NameError)" do + lambda { + lambda { load "non/existent/file" }.should raise_error(NameError) + }.should fail_with(/expected NameError, got #") + + ran.should == false + end + + it "should NOT yield exception if error message is not matched" do + ran = false + + lambda { + lambda { + raise "example message" + }.should raise_error(RuntimeError, "different message") { |err| + ran = true + } + }.should fail_with("expected RuntimeError with \"different message\", got #") + + ran.should == false + end +end + +describe "should_not raise_error(NamedError, error_message) { |err| ... }" do + it "should pass if nothing is raised" do + ran = false + + lambda {}.should_not raise_error(RuntimeError, "example message") { |err| + ran = true + } + + ran.should == false + end + + it "should pass if a different error is raised" do + ran = false + + lambda { raise }.should_not raise_error(NameError, "example message") { |err| + ran = true + } + + ran.should == false + end + + it "should pass if same error is raised with different message" do + ran = false + + lambda { + raise RuntimeError.new("not the example message") + }.should_not raise_error(RuntimeError, "example message") { |err| + ran = true + } + + ran.should == false + end + + it "should fail if named error is raised with same message" do + ran = false + + lambda { + lambda { + raise "example message" + }.should_not raise_error(RuntimeError, "example message") { |err| + ran = true + } + }.should fail_with("expected no RuntimeError with \"example message\", got #") + + ran.should == false + end +end + +describe "should_not raise_error(NamedError, error_message) with String" do + it "should pass if nothing is raised" do + lambda {}.should_not raise_error(RuntimeError, "example message") + end + + it "should pass if a different error is raised" do + lambda { raise }.should_not raise_error(NameError, "example message") + end + + it "should pass if same error is raised with different message" do + lambda { raise RuntimeError.new("not the example message") }.should_not raise_error(RuntimeError, "example message") + end + + it "should fail if named error is raised with same message" do + lambda { + lambda { raise "example message" }.should_not raise_error(RuntimeError, "example message") + }.should fail_with("expected no RuntimeError with \"example message\", got #") + end +end + +describe "should raise_error(NamedError, error_message) with Regexp" do + it "should pass if named error is raised with matching message" do + lambda { raise "example message" }.should raise_error(RuntimeError, /ample mess/) + end + + it "should fail if nothing is raised" do + lambda { + lambda {}.should raise_error(RuntimeError, /ample mess/) + }.should fail_with("expected RuntimeError with message matching /ample mess/ but nothing was raised") + end + + it "should fail if incorrect error is raised" do + lambda { + lambda { raise }.should raise_error(NameError, /ample mess/) + }.should fail_with("expected NameError with message matching /ample mess/, got RuntimeError") + end + + it "should fail if correct error is raised with incorrect message" do + lambda { + lambda { raise RuntimeError.new("not the example message") }.should raise_error(RuntimeError, /less than ample mess/) + }.should fail_with("expected RuntimeError with message matching /less than ample mess/, got #") + end +end + +describe "should_not raise_error(NamedError, error_message) with Regexp" do + it "should pass if nothing is raised" do + lambda {}.should_not raise_error(RuntimeError, /ample mess/) + end + + it "should pass if a different error is raised" do + lambda { raise }.should_not raise_error(NameError, /ample mess/) + end + + it "should pass if same error is raised with non-matching message" do + lambda { raise RuntimeError.new("non matching message") }.should_not raise_error(RuntimeError, /ample mess/) + end + + it "should fail if named error is raised with matching message" do + lambda { + lambda { raise "example message" }.should_not raise_error(RuntimeError, /ample mess/) + }.should fail_with("expected no RuntimeError with message matching /ample mess/, got #") + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/respond_to_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/respond_to_spec.rb new file mode 100755 index 00000000..8d8f3c1a --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/respond_to_spec.rb @@ -0,0 +1,116 @@ +require 'spec_helper' + +describe "should respond_to(:sym)" do + + it "passes if target responds to :sym" do + Object.new.should respond_to(:methods) + end + + it "fails if target does not respond to :sym" do + lambda { + "this string".should respond_to(:some_method) + }.should fail_with(%q|expected "this string" to respond to :some_method|) + end + +end + +describe "should respond_to(:sym).with(1).argument" do + it "passes if target responds to :sym with 1 arg" do + obj = Object.new + def obj.foo(arg); end + obj.should respond_to(:foo).with(1).argument + end + + it "fails if target does not respond to :sym" do + obj = Object.new + lambda { + obj.should respond_to(:some_method).with(1).argument + }.should fail_with(/expected .* to respond to :some_method/) + end + + it "fails if :sym expects 0 args" do + obj = Object.new + def obj.foo; end + lambda { + obj.should respond_to(:foo).with(1).argument + }.should fail_with(/expected # to respond to :foo with 1 argument/) + end + + it "fails if :sym expects 2 args" do + obj = Object.new + def obj.foo(arg, arg2); end + lambda { + obj.should respond_to(:foo).with(1).argument + }.should fail_with(/expected # to respond to :foo with 1 argument/) + end +end + +describe "should respond_to(message1, message2)" do + + it "passes if target responds to both messages" do + Object.new.should respond_to('methods', 'inspect') + end + + it "fails if target does not respond to first message" do + lambda { + Object.new.should respond_to('method_one', 'inspect') + }.should fail_with(/expected # to respond to "method_one"/) + end + + it "fails if target does not respond to second message" do + lambda { + Object.new.should respond_to('inspect', 'method_one') + }.should fail_with(/expected # to respond to "method_one"/) + end + + it "fails if target does not respond to either message" do + lambda { + Object.new.should respond_to('method_one', 'method_two') + }.should fail_with(/expected # to respond to "method_one", "method_two"/) + end +end + +describe "should respond_to(:sym).with(2).arguments" do + it "passes if target responds to :sym with 2 args" do + obj = Object.new + def obj.foo(a1, a2); end + obj.should respond_to(:foo).with(2).arguments + end + + it "fails if target does not respond to :sym" do + obj = Object.new + lambda { + obj.should respond_to(:some_method).with(2).arguments + }.should fail_with(/expected .* to respond to :some_method/) + end + + it "fails if :sym expects 0 args" do + obj = Object.new + def obj.foo; end + lambda { + obj.should respond_to(:foo).with(2).arguments + }.should fail_with(/expected # to respond to :foo with 2 arguments/) + end + + it "fails if :sym expects 2 args" do + obj = Object.new + def obj.foo(arg); end + lambda { + obj.should respond_to(:foo).with(2).arguments + }.should fail_with(/expected # to respond to :foo with 2 arguments/) + end +end + +describe "should_not respond_to(:sym)" do + + it "passes if target does not respond to :sym" do + Object.new.should_not respond_to(:some_method) + end + + it "fails if target responds to :sym" do + lambda { + Object.new.should_not respond_to(:methods) + }.should fail_with(/expected # not to respond to :methods/) + end + +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/satisfy_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/satisfy_spec.rb new file mode 100755 index 00000000..e50c395a --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/satisfy_spec.rb @@ -0,0 +1,36 @@ +require 'spec_helper' + +describe "should satisfy { block }" do + it "should pass if block returns true" do + true.should satisfy { |val| val } + true.should satisfy do |val| + val + end + end + + it "should fail if block returns false" do + lambda { + false.should satisfy { |val| val } + }.should fail_with("expected false to satisfy block") + lambda do + false.should satisfy do |val| + val + end + end.should fail_with("expected false to satisfy block") + end +end + +describe "should_not satisfy { block }" do + it "should pass if block returns false" do + false.should_not satisfy { |val| val } + false.should_not satisfy do |val| + val + end + end + + it "should fail if block returns true" do + lambda { + true.should_not satisfy { |val| val } + }.should fail_with("expected true not to satisfy block") + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/simple_matcher_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/simple_matcher_spec.rb new file mode 100755 index 00000000..8071a9f3 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/simple_matcher_spec.rb @@ -0,0 +1,93 @@ +require 'spec_helper' + +module Spec + module Matchers + describe SimpleMatcher do + it "should pass match arg to block" do + actual = nil + matcher = simple_matcher("message") do |given| actual = given end + matcher.matches?("foo") + actual.should == "foo" + end + + it "should provide a stock failure message" do + matcher = simple_matcher("thing") do end + matcher.matches?("other") + matcher.failure_message.should =~ /expected \"thing\" but got \"other\"/ + end + + it "should provide a stock negative failure message" do + matcher = simple_matcher("thing") do end + matcher.matches?("other") + matcher.negative_failure_message.should =~ /expected not to get \"thing\", but got \"other\"/ + end + + it "should provide the given description" do + matcher = simple_matcher("thing") do end + matcher.description.should =="thing" + end + + it "should fail if a wrapped 'should' fails" do + matcher = simple_matcher("should fail") do + 2.should == 3 + end + lambda do + matcher.matches?("anything").should be_true + end.should fail_with(/expected: 3/) + end + end + + describe "with arity of 2" do + it "should provide the matcher so you can access its messages" do + provided_matcher = nil + matcher = simple_matcher("thing") do |given, matcher| + provided_matcher = matcher + end + matcher.matches?("anything") + provided_matcher.should equal(matcher) + end + + it "should support a custom failure message" do + matcher = simple_matcher("thing") do |given, matcher| + matcher.failure_message = "custom message" + end + matcher.matches?("other") + matcher.failure_message.should == "custom message" + end + + it "should complain when asked for a failure message if you don't give it a description or a message" do + matcher = simple_matcher do |given, matcher| end + matcher.matches?("other") + matcher.failure_message.should =~ /No description provided/ + end + + it "should support a custom negative failure message" do + matcher = simple_matcher("thing") do |given, matcher| + matcher.negative_failure_message = "custom message" + end + matcher.matches?("other") + matcher.negative_failure_message.should == "custom message" + end + + it "should complain when asked for a negative failure message if you don't give it a description or a message" do + matcher = simple_matcher do |given, matcher| end + matcher.matches?("other") + matcher.negative_failure_message.should =~ /No description provided/ + end + + it "should support a custom description" do + matcher = simple_matcher("thing") do |given, matcher| + matcher.description = "custom message" + end + matcher.matches?("description") + matcher.description.should == "custom message" + end + + it "should tell you no description was provided when it doesn't receive one" do + matcher = simple_matcher do end + matcher.description.should =~ /No description provided/ + end + end + + end +end \ No newline at end of file diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/throw_symbol_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/throw_symbol_spec.rb new file mode 100755 index 00000000..402f812f --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/throw_symbol_spec.rb @@ -0,0 +1,96 @@ +require 'spec_helper' + +module Spec + module Matchers + describe ThrowSymbol do + describe "with no args" do + before(:each) { @matcher = ThrowSymbol.new } + + it "should match if any Symbol is thrown" do + @matcher.matches?(lambda{ throw :sym }).should be_true + end + it "should match if any Symbol is thrown with an arg" do + @matcher.matches?(lambda{ throw :sym, "argument" }).should be_true + end + it "should not match if no Symbol is thrown" do + @matcher.matches?(lambda{ }).should be_false + end + it "should provide a failure message" do + @matcher.matches?(lambda{}) + @matcher.failure_message_for_should.should == "expected a Symbol but nothing was thrown" + end + it "should provide a negative failure message" do + @matcher.matches?(lambda{ throw :sym}) + @matcher.failure_message_for_should_not.should == "expected no Symbol, got :sym" + end + end + + describe "with a symbol" do + before(:each) { @matcher = ThrowSymbol.new(:sym) } + + it "should match if correct Symbol is thrown" do + @matcher.matches?(lambda{ throw :sym }).should be_true + end + it "should match if correct Symbol is thrown with an arg" do + @matcher.matches?(lambda{ throw :sym, "argument" }).should be_true + end + it "should not match if no Symbol is thrown" do + @matcher.matches?(lambda{ }).should be_false + end + it "should not match if correct Symbol is thrown" do + @matcher.matches?(lambda{ throw :other_sym }).should be_false + end + it "should provide a failure message when no Symbol is thrown" do + @matcher.matches?(lambda{}) + @matcher.failure_message_for_should.should == "expected :sym but nothing was thrown" + end + it "should provide a failure message when wrong Symbol is thrown" do + @matcher.matches?(lambda{ throw :other_sym }) + @matcher.failure_message_for_should.should == "expected :sym, got :other_sym" + end + it "should provide a negative failure message" do + @matcher.matches?(lambda{ throw :sym }) + @matcher.failure_message_for_should_not.should == "expected :sym not to be thrown" + end + it "should only match NameErrors raised by uncaught throws" do + @matcher.matches?(lambda{ sym }).should be_false + end + end + + describe "with a symbol and an arg" do + before(:each) { @matcher = ThrowSymbol.new(:sym, "a") } + + it "should match if correct Symbol and args are thrown" do + @matcher.matches?(lambda{ throw :sym, "a" }).should be_true + end + it "should not match if nothing is thrown" do + @matcher.matches?(lambda{ }).should be_false + end + it "should not match if other Symbol is thrown" do + @matcher.matches?(lambda{ throw :other_sym, "a" }).should be_false + end + it "should not match if no arg is thrown" do + @matcher.matches?(lambda{ throw :sym }).should be_false + end + it "should not match if wrong arg is thrown" do + @matcher.matches?(lambda{ throw :sym, "b" }).should be_false + end + it "should provide a failure message when no Symbol is thrown" do + @matcher.matches?(lambda{}) + @matcher.failure_message_for_should.should == %q[expected :sym with "a" but nothing was thrown] + end + it "should provide a failure message when wrong Symbol is thrown" do + @matcher.matches?(lambda{ throw :other_sym }) + @matcher.failure_message_for_should.should == %q[expected :sym with "a", got :other_sym] + end + it "should provide a negative failure message" do + @matcher.matches?(lambda{ throw :sym }) + @matcher.failure_message_for_should_not.should == %q[expected :sym with "a" not to be thrown] + end + it "should only match NameErrors raised by uncaught throws" do + @matcher.matches?(lambda{ sym }).should be_false + end + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/any_number_of_times_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/any_number_of_times_spec.rb new file mode 100755 index 00000000..9a3f6eda --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/any_number_of_times_spec.rb @@ -0,0 +1,36 @@ +require 'spec_helper' + +module Spec + module Mocks + + describe "AnyNumberOfTimes" do + before(:each) do + @mock = Mock.new("test mock") + end + + it "should pass if any number of times method is called many times" do + @mock.should_receive(:random_call).any_number_of_times + (1..10).each do + @mock.random_call + end + end + + it "should pass if any number of times method is called once" do + @mock.should_receive(:random_call).any_number_of_times + @mock.random_call + end + + it "should pass if any number of times method is not called" do + @mock.should_receive(:random_call).any_number_of_times + end + + it "should return the mocked value when called after a similar stub" do + @mock.stub!(:message).and_return :stub_value + @mock.should_receive(:message).any_number_of_times.and_return(:mock_value) + @mock.message.should == :mock_value + @mock.message.should == :mock_value + end + end + + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/argument_expectation_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/argument_expectation_spec.rb new file mode 100755 index 00000000..496f7507 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/argument_expectation_spec.rb @@ -0,0 +1,23 @@ +require 'spec_helper' + +module Spec + module Mocks + describe ArgumentExpectation do + it "should consider an object that responds to #matches? and #description to be a matcher" do + argument_expecatation = Spec::Mocks::ArgumentExpectation.new([]) + obj = mock("matcher") + obj.should_receive(:respond_to?).with(:matches?).and_return(true) + obj.should_receive(:respond_to?).with(:description).and_return(true) + argument_expecatation.is_matcher?(obj).should be_true + end + + it "should NOT consider an object that only responds to #matches? to be a matcher" do + argument_expecatation = Spec::Mocks::ArgumentExpectation.new([]) + obj = mock("matcher") + obj.should_receive(:respond_to?).with(:matches?).and_return(true) + obj.should_receive(:respond_to?).with(:description).and_return(false) + argument_expecatation.is_matcher?(obj).should be_false + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/argument_matchers_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/argument_matchers_spec.rb new file mode 100755 index 00000000..fc816558 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/argument_matchers_spec.rb @@ -0,0 +1,19 @@ +require 'spec_helper' + +module Spec + module Mocks + module ArgumentMatchers + describe AnyArgsMatcher do + it "represents itself nicely for failure messages" do + AnyArgsMatcher.new.description.should == "any args" + end + end + + describe AnyArgMatcher do + it "represents itself nicely for failure messages" do + AnyArgMatcher.new(nil).description.should == "anything" + end + end + end + end +end \ No newline at end of file diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/at_least_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/at_least_spec.rb new file mode 100755 index 00000000..0b76d321 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/at_least_spec.rb @@ -0,0 +1,97 @@ +require 'spec_helper' + +module Spec + module Mocks + describe "at_least" do + before(:each) do + @mock = Mock.new("test mock") + end + + it "should fail if method is never called" do + @mock.should_receive(:random_call).at_least(4).times + lambda do + @mock.rspec_verify + end.should raise_error(MockExpectationError) + end + + it "should fail when called less than n times" do + @mock.should_receive(:random_call).at_least(4).times + @mock.random_call + @mock.random_call + @mock.random_call + lambda do + @mock.rspec_verify + end.should raise_error(MockExpectationError) + end + + it "should fail when at least once method is never called" do + @mock.should_receive(:random_call).at_least(:once) + lambda do + @mock.rspec_verify + end.should raise_error(MockExpectationError) + end + + it "should fail when at least twice method is called once" do + @mock.should_receive(:random_call).at_least(:twice) + @mock.random_call + lambda do + @mock.rspec_verify + end.should raise_error(MockExpectationError) + end + + it "should fail when at least twice method is never called" do + @mock.should_receive(:random_call).at_least(:twice) + lambda do + @mock.rspec_verify + end.should raise_error(MockExpectationError) + end + + it "should pass when at least n times method is called exactly n times" do + @mock.should_receive(:random_call).at_least(4).times + @mock.random_call + @mock.random_call + @mock.random_call + @mock.random_call + @mock.rspec_verify + end + + it "should pass when at least n times method is called n plus 1 times" do + @mock.should_receive(:random_call).at_least(4).times + @mock.random_call + @mock.random_call + @mock.random_call + @mock.random_call + @mock.random_call + @mock.rspec_verify + end + + it "should pass when at least once method is called once" do + @mock.should_receive(:random_call).at_least(:once) + @mock.random_call + @mock.rspec_verify + end + + it "should pass when at least once method is called twice" do + @mock.should_receive(:random_call).at_least(:once) + @mock.random_call + @mock.random_call + @mock.rspec_verify + end + + it "should pass when at least twice method is called three times" do + @mock.should_receive(:random_call).at_least(:twice) + @mock.random_call + @mock.random_call + @mock.random_call + @mock.rspec_verify + end + + it "should pass when at least twice method is called twice" do + @mock.should_receive(:random_call).at_least(:twice) + @mock.random_call + @mock.random_call + @mock.rspec_verify + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/at_most_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/at_most_spec.rb new file mode 100755 index 00000000..744c9ff1 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/at_most_spec.rb @@ -0,0 +1,93 @@ +require 'spec_helper' + +module Spec + module Mocks + describe "at_most" do + before(:each) do + @mock = Mock.new("test mock") + end + + it "should fail when at most n times method is called n plus 1 times" do + @mock.should_receive(:random_call).at_most(4).times + @mock.random_call + @mock.random_call + @mock.random_call + @mock.random_call + @mock.random_call + lambda do + @mock.rspec_verify + end.should raise_error(MockExpectationError) + end + + it "should fail when at most once method is called twice" do + @mock.should_receive(:random_call).at_most(:once) + @mock.random_call + @mock.random_call + lambda do + @mock.rspec_verify + end.should raise_error(MockExpectationError) + end + + it "should fail when at most twice method is called three times" do + @mock.should_receive(:random_call).at_most(:twice) + @mock.random_call + @mock.random_call + @mock.random_call + lambda do + @mock.rspec_verify + end.should raise_error(MockExpectationError) + end + + it "should pass when at most n times method is called exactly n times" do + @mock.should_receive(:random_call).at_most(4).times + @mock.random_call + @mock.random_call + @mock.random_call + @mock.random_call + @mock.rspec_verify + end + + it "should pass when at most n times method is called less than n times" do + @mock.should_receive(:random_call).at_most(4).times + @mock.random_call + @mock.random_call + @mock.random_call + @mock.rspec_verify + end + + it "should pass when at most n times method is never called" do + @mock.should_receive(:random_call).at_most(4).times + @mock.rspec_verify + end + + it "should pass when at most once method is called once" do + @mock.should_receive(:random_call).at_most(:once) + @mock.random_call + @mock.rspec_verify + end + + it "should pass when at most once method is never called" do + @mock.should_receive(:random_call).at_most(:once) + @mock.rspec_verify + end + + it "should pass when at most twice method is called once" do + @mock.should_receive(:random_call).at_most(:twice) + @mock.random_call + @mock.rspec_verify + end + + it "should pass when at most twice method is called twice" do + @mock.should_receive(:random_call).at_most(:twice) + @mock.random_call + @mock.random_call + @mock.rspec_verify + end + + it "should pass when at most twice method is never called" do + @mock.should_receive(:random_call).at_most(:twice) + @mock.rspec_verify + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/bug_report_10260_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/bug_report_10260_spec.rb new file mode 100755 index 00000000..783782f6 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/bug_report_10260_spec.rb @@ -0,0 +1,8 @@ +require 'spec_helper' + +describe "An RSpec Mock" do + it "should hide internals in its inspect representation" do + m = mock('cup') + m.inspect.should =~ /#/ + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/bug_report_10263_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/bug_report_10263_spec.rb new file mode 100755 index 00000000..8a0bc505 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/bug_report_10263_spec.rb @@ -0,0 +1,27 @@ +describe "Mock" do + before do + @mock = mock("test mock") + end + + specify "when one example has an expectation (non-mock) inside the block passed to the mock" do + @mock.should_receive(:msg) do |b| + b.should be_true #this call exposes the problem + end + begin + @mock.msg(false) + rescue Exception + end + end + + specify "then the next example should behave as expected instead of saying" do + @mock.should_receive(:foobar) + @mock.foobar + @mock.rspec_verify + begin + @mock.foobar + rescue Exception => e + e.message.should == "Mock \"test mock\" received unexpected message :foobar with (no args)" + end + end +end + diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/bug_report_11545_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/bug_report_11545_spec.rb new file mode 100755 index 00000000..7eb7c6e4 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/bug_report_11545_spec.rb @@ -0,0 +1,32 @@ +require 'spec_helper' + +class LiarLiarPantsOnFire + def respond_to?(sym, incl_private=false) + true + end + + def self.respond_to?(sym, incl_private=false) + true + end +end + +describe 'should_receive' do + before(:each) do + @liar = LiarLiarPantsOnFire.new + end + + it "should work when object lies about responding to a method" do + @liar.should_receive(:something) + @liar.something + end + + it 'should work when class lies about responding to a method' do + LiarLiarPantsOnFire.should_receive(:something) + LiarLiarPantsOnFire.something + end + + it 'should cleanup after itself' do + (class << LiarLiarPantsOnFire; self; end).instance_methods.should_not include("something") + end +end + diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/bug_report_15719_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/bug_report_15719_spec.rb new file mode 100755 index 00000000..efd7a782 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/bug_report_15719_spec.rb @@ -0,0 +1,30 @@ +require 'spec_helper' + +module Spec + module Mocks + describe "mock failure" do + + it "should tell you when it receives the right message with the wrong args" do + m = mock("foo") + m.should_receive(:bar).with("message") + lambda { + m.bar("different message") + }.should raise_error(Spec::Mocks::MockExpectationError, %Q{Mock "foo" received :bar with unexpected arguments\n expected: ("message")\n got: ("different message")}) + m.bar("message") # allows the spec to pass + end + + it "should tell you when it receives the right message with the wrong args if you stub the method" do + pending("fix bug 15719") + # NOTE - for whatever reason, if you use a the block style of pending here, + # rcov gets unhappy. Don't know why yet. + m = mock("foo") + m.stub!(:bar) + m.should_receive(:bar).with("message") + lambda { + m.bar("different message") + }.should raise_error(Spec::Mocks::MockExpectationError, %Q{Mock "foo" received :bar with unexpected arguments\n expected: ("message")\n got: ("different message")}) + m.bar("message") # allows the spec to pass + end + end + end +end \ No newline at end of file diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/bug_report_496_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/bug_report_496_spec.rb new file mode 100755 index 00000000..fb172a6b --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/bug_report_496_spec.rb @@ -0,0 +1,19 @@ +require 'spec_helper' + +module BugReport496 + class BaseClass + end + + class SubClass < BaseClass + end + + describe "a message expectation on a base class object" do + it "should correctly pick up message sent to it subclass" do + pending("fix for http://rspec.lighthouseapp.com/projects/5645/tickets/496") do + BaseClass.should_receive(:new).once + SubClass.new + end + end + end +end + diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/bug_report_600_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/bug_report_600_spec.rb new file mode 100755 index 00000000..c5c50d5a --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/bug_report_600_spec.rb @@ -0,0 +1,22 @@ +require 'spec_helper' + +module BugReport600 + class ExampleClass + def self.method_that_uses_define_method + define_method "defined_method" do |attributes| + load_address(address, attributes) + end + end + end + + describe "stubbing a class method" do + it "should work" do + ExampleClass.should_receive(:define_method).with("defined_method") + ExampleClass.method_that_uses_define_method + end + + it "should restore the original method" do + ExampleClass.method_that_uses_define_method + end + end +end \ No newline at end of file diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/bug_report_7611_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/bug_report_7611_spec.rb new file mode 100755 index 00000000..ff1ef879 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/bug_report_7611_spec.rb @@ -0,0 +1,19 @@ +require 'spec_helper' + +module Bug7611 + class Foo + end + + class Bar < Foo + end + + describe "A Partial Mock" do + it "should respect subclasses" do + Foo.stub!(:new).and_return(Object.new) + end + + it "should" do + Bar.new.class.should == Bar + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/bug_report_7805_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/bug_report_7805_spec.rb new file mode 100755 index 00000000..9a3d493d --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/bug_report_7805_spec.rb @@ -0,0 +1,22 @@ +require 'spec_helper' + +module Bug7805 + #This is really a duplicate of 8302 + + describe "Stubs should correctly restore module methods" do + it "1 - stub the open method" do + File.stub!(:open).and_return("something") + File.open.should == "something" + end + it "2 - use File.open to create example.txt" do + filename = "#{File.dirname(__FILE__)}/example-#{Time.new.to_i}.txt" + File.exist?(filename).should be_false + file = File.open(filename,'w') + file.close + File.exist?(filename).should be_true + File.delete(filename) + File.exist?(filename).should be_false + end + end + +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/bug_report_8165_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/bug_report_8165_spec.rb new file mode 100755 index 00000000..8d8d0177 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/bug_report_8165_spec.rb @@ -0,0 +1,31 @@ +require 'spec_helper' + +describe "An object where respond_to? is true and does not have method" do + # When should_receive(:sym) is sent to any object, the Proxy sends + # respond_to?(:sym) to that object to see if the method should be proxied. + # + # If respond_to? itself is proxied, then when the Proxy sends respond_to? + # to the object, the proxy is invoked and responds yes (if so set in the spec). + # When the object does NOT actually respond to :sym, an exception is thrown + # when trying to proxy it. + # + # The fix was to keep track of whether :respond_to? had been proxied and, if + # so, call the munged copy of :respond_to? on the object. + + it "should not raise an exception for Object" do + obj = Object.new + obj.should_receive(:respond_to?).with(:foobar).and_return(true) + obj.should_receive(:foobar).and_return(:baz) + obj.respond_to?(:foobar).should be_true + obj.foobar.should == :baz + end + + it "should not raise an exception for mock" do + obj = mock("obj") + obj.should_receive(:respond_to?).with(:foobar).and_return(true) + obj.should_receive(:foobar).and_return(:baz) + obj.respond_to?(:foobar).should be_true + obj.foobar.should == :baz + end + +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/bug_report_8302_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/bug_report_8302_spec.rb new file mode 100755 index 00000000..55d8d3ac --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/bug_report_8302_spec.rb @@ -0,0 +1,26 @@ +require 'spec_helper' + +module Bug8302 + class Foo + def Foo.class_method(arg) + end + + def instance_bar(arg) + end + end + + describe "Bug report 8302:" do + it "class method is not restored correctly when proxied" do + Foo.should_not_receive(:class_method).with(Array.new) + Foo.rspec_verify + Foo.class_method(Array.new) + end + + it "instance method is not restored correctly when proxied" do + foo = Foo.new + foo.should_not_receive(:instance_bar).with(Array.new) + foo.rspec_verify + foo.instance_bar(Array.new) + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/bug_report_830_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/bug_report_830_spec.rb new file mode 100755 index 00000000..ed16f419 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/bug_report_830_spec.rb @@ -0,0 +1,21 @@ +require 'spec_helper' + +module Spec + module Mocks + describe 'Calling a method that catches StandardError' do + class Foo + def self.foo + bar + rescue StandardError + end + end + + it 'still reports mock failures' do + Foo.should_not_receive :bar + lambda do + Foo.foo + end.should raise_error(MockExpectationError) + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/double_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/double_spec.rb new file mode 100755 index 00000000..0d6ee982 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/double_spec.rb @@ -0,0 +1,12 @@ +require 'spec_helper' + +describe "double" do + it "is an alias for stub and mock" do + double().should be_a(Spec::Mocks::Mock) + end + + it "uses 'Double' in failure messages" do + double = double('name') + expect {double.foo}.to raise_error(/Double "name" received/) + end +end \ No newline at end of file diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/failing_argument_matchers_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/failing_argument_matchers_spec.rb new file mode 100755 index 00000000..30742157 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/failing_argument_matchers_spec.rb @@ -0,0 +1,95 @@ +require 'spec_helper' + +module Spec + module Mocks + describe "failing MockArgumentMatchers" do + before(:each) do + @mock = mock("test mock") + @reporter = Mock.new("reporter", :null_object => true) + end + + after(:each) do + @mock.rspec_reset + end + + it "should reject non boolean" do + @mock.should_receive(:random_call).with(boolean()) + lambda do + @mock.random_call("false") + end.should raise_error(MockExpectationError) + end + + it "should reject non numeric" do + @mock.should_receive(:random_call).with(an_instance_of(Numeric)) + lambda do + @mock.random_call("1") + end.should raise_error(MockExpectationError) + end + + it "should reject non string" do + @mock.should_receive(:random_call).with(an_instance_of(String)) + lambda do + @mock.random_call(123) + end.should raise_error(MockExpectationError) + end + + it "should reject goose when expecting a duck" do + @mock.should_receive(:random_call).with(duck_type(:abs, :div)) + lambda { @mock.random_call("I don't respond to :abs or :div") }.should raise_error(MockExpectationError) + end + + it "should fail if regexp does not match submitted string" do + @mock.should_receive(:random_call).with(/bcd/) + lambda { @mock.random_call("abc") }.should raise_error(MockExpectationError) + end + + it "should fail if regexp does not match submitted regexp" do + @mock.should_receive(:random_call).with(/bcd/) + lambda { @mock.random_call(/bcde/) }.should raise_error(MockExpectationError) + end + + it "should fail for a hash w/ wrong values" do + @mock.should_receive(:random_call).with(:a => "b", :c => "d") + lambda do + @mock.random_call(:a => "b", :c => "e") + end.should raise_error(MockExpectationError, /Mock "test mock" received :random_call with unexpected arguments\n expected: \(\{(:a=>\"b\", :c=>\"d\"|:c=>\"d\", :a=>\"b\")\}\)\n got: \(\{(:a=>\"b\", :c=>\"e\"|:c=>\"e\", :a=>\"b\")\}\)/) + end + + it "should fail for a hash w/ wrong keys" do + @mock.should_receive(:random_call).with(:a => "b", :c => "d") + lambda do + @mock.random_call("a" => "b", "c" => "d") + end.should raise_error(MockExpectationError, /Mock "test mock" received :random_call with unexpected arguments\n expected: \(\{(:a=>\"b\", :c=>\"d\"|:c=>\"d\", :a=>\"b\")\}\)\n got: \(\{(\"a\"=>\"b\", \"c\"=>\"d\"|\"c\"=>\"d\", \"a\"=>\"b\")\}\)/) + end + + it "should match against a Matcher" do + lambda do + @mock.should_receive(:msg).with(equal(3)) + @mock.msg(37) + end.should raise_error(MockExpectationError, "Mock \"test mock\" received :msg with unexpected arguments\n expected: (equal 3)\n got: (37)") + end + + it "should fail no_args with one arg" do + lambda do + @mock.should_receive(:msg).with(no_args) + @mock.msg(37) + end.should raise_error(MockExpectationError, "Mock \"test mock\" received :msg with unexpected arguments\n expected: (no args)\n got: (37)") + end + + it "should fail hash_including with missing key" do + lambda do + @mock.should_receive(:msg).with(hash_including(:a => 1)) + @mock.msg({}) + end.should raise_error(MockExpectationError, "Mock \"test mock\" received :msg with unexpected arguments\n expected: (hash_including(:a=>1))\n got: ({})") + end + + it "should fail with block matchers" do + lambda do + @mock.should_receive(:msg).with {|arg| arg.should == :received } + @mock.msg :no_msg_for_you + end.should raise_error(Spec::Expectations::ExpectationNotMetError, /expected: :received.*\s*.*got: :no_msg_for_you/) + end + + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/hash_including_matcher_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/hash_including_matcher_spec.rb new file mode 100755 index 00000000..d757f619 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/hash_including_matcher_spec.rb @@ -0,0 +1,90 @@ +require 'spec_helper' + +module Spec + module Mocks + module ArgumentMatchers + describe HashIncludingMatcher do + + it "should describe itself properly" do + HashIncludingMatcher.new(:a => 1).description.should == "hash_including(:a=>1)" + end + + describe "passing" do + it "should match the same hash" do + hash_including(:a => 1).should == {:a => 1} + end + + it "should match a hash with extra stuff" do + hash_including(:a => 1).should == {:a => 1, :b => 2} + end + + describe "when matching against other matchers" do + it "should match an int against anything()" do + hash_including(:a => anything, :b => 2).should == {:a => 1, :b => 2} + end + + it "should match a string against anything()" do + hash_including(:a => anything, :b => 2).should == {:a => "1", :b => 2} + end + end + + describe "when passed only keys or keys mixed with key/value pairs" do + it "should match if the key is present" do + hash_including(:a).should == {:a => 1, :b => 2} + end + + it "should match if more keys are present" do + hash_including(:a, :b).should == {:a => 1, :b => 2, :c => 3} + end + + it "should match a string against a given key" do + hash_including(:a).should == {:a => "1", :b => 2} + end + + it "should match if passed one key and one key/value pair" do + hash_including(:a, :b => 2).should == {:a => 1, :b => 2} + end + + it "should match if passed many keys and one key/value pair" do + hash_including(:a, :b, :c => 3).should == {:a => 1, :b => 2, :c => 3, :d => 4} + end + + it "should match if passed many keys and many key/value pairs" do + hash_including(:a, :b, :c => 3, :e => 5).should == {:a => 1, :b => 2, :c => 3, :d => 4, :e => 5} + end + end + end + + describe "failing" do + it "should not match a non-hash" do + hash_including(:a => 1).should_not == 1 + end + + it "should not match a hash with a missing key" do + hash_including(:a => 1).should_not == {:b => 2} + end + + it "should not match a hash with a missing key" do + hash_including(:a).should_not == {:b => 2} + end + + it "should not match an empty hash with a given key" do + hash_including(:a).should_not == {} + end + + it "should not match a hash with a missing key when one pair is matching" do + hash_including(:a, :b => 2).should_not == {:b => 2} + end + + it "should not match a hash with an incorrect value" do + hash_including(:a => 1, :b => 2).should_not == {:a => 1, :b => 3} + end + + it "should not match when values are nil but keys are different" do + hash_including(:a => nil).should_not == {:b => nil} + end + end + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/hash_not_including_matcher_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/hash_not_including_matcher_spec.rb new file mode 100755 index 00000000..9df69fe6 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/hash_not_including_matcher_spec.rb @@ -0,0 +1,67 @@ +require 'spec_helper' + +module Spec + module Mocks + module ArgumentMatchers + describe HashNotIncludingMatcher do + + it "should describe itself properly" do + HashNotIncludingMatcher.new(:a => 5).description.should == "hash_not_including(:a=>5)" + end + + describe "passing" do + it "should match a hash without the specified key" do + hash_not_including(:c).should == {:a => 1, :b => 2} + end + + it "should match a hash with the specified key, but different value" do + hash_not_including(:b => 3).should == {:a => 1, :b => 2} + end + + it "should match a hash without the specified key, given as anything()" do + hash_not_including(:c => anything).should == {:a => 1, :b => 2} + end + + it "should match an empty hash" do + hash_not_including(:a).should == {} + end + + it "should match a hash without any of the specified keys" do + hash_not_including(:a, :b, :c).should == { :d => 7} + end + + end + + describe "failing" do + it "should not match a non-hash" do + hash_not_including(:a => 1).should_not == 1 + end + + it "should not match a hash with a specified key" do + hash_not_including(:b).should_not == {:b => 2} + end + + it "should not match a hash with the specified key/value pair" do + hash_not_including(:b => 2).should_not == {:a => 1, :b => 2} + end + + it "should not match a hash with the specified key" do + hash_not_including(:a, :b => 3).should_not == {:a => 1, :b => 2} + end + + it "should not match a hash with one of the specified keys" do + hash_not_including(:a, :b).should_not == {:b => 2} + end + + it "should not match a hash with some of the specified keys" do + hash_not_including(:a, :b, :c).should_not == {:a => 1, :b => 2} + end + + it "should not match a hash with one key/value pair included" do + hash_not_including(:a, :b, :c, :d => 7).should_not == { :d => 7} + end + end + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/mock_ordering_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/mock_ordering_spec.rb new file mode 100755 index 00000000..4bd15478 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/mock_ordering_spec.rb @@ -0,0 +1,94 @@ +require 'spec_helper' + +module Spec + module Mocks + + describe "Mock ordering" do + + before do + @mock = mock("test mock") + end + + after do + @mock.rspec_reset + end + + it "should pass two calls in order" do + @mock.should_receive(:one).ordered + @mock.should_receive(:two).ordered + @mock.one + @mock.two + @mock.rspec_verify + end + + it "should pass three calls in order" do + @mock.should_receive(:one).ordered + @mock.should_receive(:two).ordered + @mock.should_receive(:three).ordered + @mock.one + @mock.two + @mock.three + @mock.rspec_verify + end + + it "should fail if second call comes first" do + @mock.should_receive(:one).ordered + @mock.should_receive(:two).ordered + lambda do + @mock.two + end.should raise_error(MockExpectationError, "Mock \"test mock\" received :two out of order") + end + + it "should fail if third call comes first" do + @mock.should_receive(:one).ordered + @mock.should_receive(:two).ordered + @mock.should_receive(:three).ordered + @mock.one + lambda do + @mock.three + end.should raise_error(MockExpectationError, "Mock \"test mock\" received :three out of order") + end + + it "should fail if third call comes second" do + @mock.should_receive(:one).ordered + @mock.should_receive(:two).ordered + @mock.should_receive(:three).ordered + @mock.one + lambda do + @mock.three + end.should raise_error(MockExpectationError, "Mock \"test mock\" received :three out of order") + end + + it "should ignore order of non ordered calls" do + @mock.should_receive(:ignored_0) + @mock.should_receive(:ordered_1).ordered + @mock.should_receive(:ignored_1) + @mock.should_receive(:ordered_2).ordered + @mock.should_receive(:ignored_2) + @mock.should_receive(:ignored_3) + @mock.should_receive(:ordered_3).ordered + @mock.should_receive(:ignored_4) + @mock.ignored_3 + @mock.ordered_1 + @mock.ignored_0 + @mock.ordered_2 + @mock.ignored_4 + @mock.ignored_2 + @mock.ordered_3 + @mock.ignored_1 + @mock.rspec_verify + end + + it "should pass when duplicates exist" do + @mock.should_receive(:a).ordered + @mock.should_receive(:b).ordered + @mock.should_receive(:a).ordered + + @mock.a + @mock.b + @mock.a + end + + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/mock_space_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/mock_space_spec.rb new file mode 100755 index 00000000..87823930 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/mock_space_spec.rb @@ -0,0 +1,54 @@ +require 'spec_helper' +require 'spec/mocks' + +module Spec + module Mocks + describe Space do + before :each do + @space = Space.new + klazz = Class.new do + def rspec_verify + @verified = true + end + def verified? + @verified + end + def rspec_reset + @reset = true + end + def reset? + @reset + end + end + @m1 = klazz.new + @m2 = klazz.new + end + it "should verify all mocks within" do + @space.add(@m1) + @space.add(@m2) + @space.verify_all + @m1.should be_verified + @m2.should be_verified + end + it "should reset all mocks within" do + @space.add(m1 = mock("mock1")) + @space.add(m2 = mock("mock2")) + m1.should_receive(:rspec_reset) + m2.should_receive(:rspec_reset) + @space.reset_all + end + it "should clear internal mocks on reset_all" do + @space.add(m = mock("mock")) + @space.reset_all + @space.instance_eval { mocks.empty? }.should be_true + end + it "should only add an instance once" do + @space.add(m1 = mock("mock1")) + @space.add(m1) + m1.should_receive(:rspec_verify) + @space.verify_all + end + end + end +end + diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/mock_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/mock_spec.rb new file mode 100755 index 00000000..9c636a33 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/mock_spec.rb @@ -0,0 +1,594 @@ +require 'spec_helper' + +module Spec + module Mocks + describe Mock do + treats_method_missing_as_private :subject => Mock.new, :noop => false + + before(:each) do + @mock = mock("test mock") + end + + after(:each) do + @mock.rspec_reset + end + + describe "deprecated #stub_everything method" do + before(:each) do + Kernel.stub!(:warn) + end + + it "creates a mock that behaves as a null object" do + stub_everything.should be_null_object + end + + it "provides deprecation warning" do + Kernel.should_receive(:warn).with(/DEPRECATION: stub_everything.* is deprecated./) + stub_everything + end + end + + it "should report line number of expectation of unreceived message" do + expected_error_line = __LINE__; @mock.should_receive(:wont_happen).with("x", 3) + begin + @mock.rspec_verify + violated + rescue MockExpectationError => e + # NOTE - this regexp ended w/ $, but jruby adds extra info at the end of the line + e.backtrace[0].should match(/#{File.basename(__FILE__)}:#{expected_error_line}/) + end + end + + it "should report line number of expectation of unreceived message after #should_receive after similar stub" do + @mock.stub!(:wont_happen) + expected_error_line = __LINE__; @mock.should_receive(:wont_happen).with("x", 3) + begin + @mock.rspec_verify + violated + rescue MockExpectationError => e + # NOTE - this regexp ended w/ $, but jruby adds extra info at the end of the line + e.backtrace[0].should match(/#{File.basename(__FILE__)}:#{expected_error_line}/) + end + end + + it "should pass when not receiving message specified as not to be received" do + @mock.should_not_receive(:not_expected) + @mock.rspec_verify + end + + it "should pass when receiving message specified as not to be received with different args" do + @mock.should_not_receive(:message).with("unwanted text") + @mock.should_receive(:message).with("other text") + @mock.message "other text" + @mock.rspec_verify + end + + it "should fail when receiving message specified as not to be received" do + @mock.should_not_receive(:not_expected) + lambda { + @mock.not_expected + violated + }.should raise_error(MockExpectationError, "Mock \"test mock\" expected :not_expected with (no args) 0 times, but received it once") + end + + it "should fail when receiving message specified as not to be received with args" do + @mock.should_not_receive(:not_expected).with("unexpected text") + lambda { + @mock.not_expected("unexpected text") + violated + }.should raise_error(MockExpectationError, "Mock \"test mock\" expected :not_expected with (\"unexpected text\") 0 times, but received it once") + end + + it "should pass when receiving message specified as not to be received with wrong args" do + @mock.should_not_receive(:not_expected).with("unexpected text") + @mock.not_expected "really unexpected text" + @mock.rspec_verify + end + + it "should allow block to calculate return values" do + @mock.should_receive(:something).with("a","b","c").and_return { |a,b,c| c+b+a } + @mock.something("a","b","c").should == "cba" + @mock.rspec_verify + end + + it "should allow parameter as return value" do + @mock.should_receive(:something).with("a","b","c").and_return("booh") + @mock.something("a","b","c").should == "booh" + @mock.rspec_verify + end + + it "should return nil if no return value set" do + @mock.should_receive(:something).with("a","b","c") + @mock.something("a","b","c").should be_nil + @mock.rspec_verify + end + + it "should raise exception if args don't match when method called" do + @mock.should_receive(:something).with("a","b","c").and_return("booh") + lambda { + @mock.something("a","d","c") + violated + }.should raise_error(MockExpectationError, "Mock \"test mock\" received :something with unexpected arguments\n expected: (\"a\", \"b\", \"c\")\n got: (\"a\", \"d\", \"c\")") + end + + it "should raise exception if args don't match when method called even when the method is stubbed" do + @mock.stub!(:something) + @mock.should_receive(:something).with("a","b","c") + lambda { + @mock.something("a","d","c") + @mock.rspec_verify + }.should raise_error(MockExpectationError, "Mock \"test mock\" received :something with unexpected arguments\n expected: (\"a\", \"b\", \"c\")\n got: ([\"a\", \"d\", \"c\"])") + end + + it "should raise exception if args don't match when method called even when using null_object" do + @mock = mock("test mock", :null_object => true) + @mock.should_receive(:something).with("a","b","c") + lambda { + @mock.something("a","d","c") + @mock.rspec_verify + }.should raise_error(MockExpectationError, "Mock \"test mock\" received :something with unexpected arguments\n expected: (\"a\", \"b\", \"c\")\n got: ([\"a\", \"d\", \"c\"])") + end + + it "should fail if unexpected method called" do + lambda { + @mock.something("a","b","c") + violated + }.should raise_error(MockExpectationError, "Mock \"test mock\" received unexpected message :something with (\"a\", \"b\", \"c\")") + end + + it "should use block for expectation if provided" do + @mock.should_receive(:something) do | a, b | + a.should == "a" + b.should == "b" + "booh" + end + @mock.something("a", "b").should == "booh" + @mock.rspec_verify + end + + it "should fail if expectation block fails" do + @mock.should_receive(:something) {| bool | bool.should be_true} + lambda { + @mock.something false + }.should raise_error(MockExpectationError, /Mock "test mock" received :something but passed block failed with: expected true, got false/) + end + + it "should fail right away when method defined as never is received" do + @mock.should_receive(:not_expected).never + lambda { + @mock.not_expected + }.should raise_error(MockExpectationError, "Mock \"test mock\" expected :not_expected with (no args) 0 times, but received it once") + end + + it "should eventually fail when method defined as never is received" do + @mock.should_receive(:not_expected).never + lambda { + @mock.not_expected + }.should raise_error(MockExpectationError, "Mock \"test mock\" expected :not_expected with (no args) 0 times, but received it once") + end + + it "should raise when told to" do + @mock.should_receive(:something).and_raise(RuntimeError) + lambda do + @mock.something + end.should raise_error(RuntimeError) + end + + it "should raise passed an Exception instance" do + error = RuntimeError.new("error message") + @mock.should_receive(:something).and_raise(error) + lambda { + @mock.something + }.should raise_error(RuntimeError, "error message") + end + + it "should raise RuntimeError with passed message" do + @mock.should_receive(:something).and_raise("error message") + lambda { + @mock.something + }.should raise_error(RuntimeError, "error message") + end + + it "should not raise when told to if args dont match" do + @mock.should_receive(:something).with(2).and_raise(RuntimeError) + lambda { + @mock.something 1 + }.should raise_error(MockExpectationError) + end + + it "should throw when told to" do + @mock.should_receive(:something).and_throw(:blech) + lambda { + @mock.something + }.should throw_symbol(:blech) + end + + it "should raise when explicit return and block constrained" do + lambda { + @mock.should_receive(:fruit) do |colour| + :strawberry + end.and_return :apple + }.should raise_error(AmbiguousReturnError) + end + + it "should ignore args on any args" do + @mock.should_receive(:something).at_least(:once).with(any_args) + @mock.something + @mock.something 1 + @mock.something "a", 2 + @mock.something [], {}, "joe", 7 + @mock.rspec_verify + end + + it "should fail on no args if any args received" do + @mock.should_receive(:something).with(no_args()) + lambda { + @mock.something 1 + }.should raise_error(MockExpectationError, "Mock \"test mock\" received :something with unexpected arguments\n expected: (no args)\n got: (1)") + end + + it "should fail when args are expected but none are received" do + @mock.should_receive(:something).with(1) + lambda { + @mock.something + }.should raise_error(MockExpectationError, "Mock \"test mock\" received :something with unexpected arguments\n expected: (1)\n got: (no args)") + end + + it "should return value from block by default" do + @mock.stub!(:method_that_yields).and_yield + @mock.method_that_yields { :returned_obj }.should == :returned_obj + @mock.rspec_verify + end + + it "should yield 0 args to blocks that take a variable number of arguments" do + @mock.should_receive(:yield_back).with(no_args()).once.and_yield + a = nil + @mock.yield_back {|*x| a = x} + a.should == [] + @mock.rspec_verify + end + + it "should yield 0 args multiple times to blocks that take a variable number of arguments" do + @mock.should_receive(:yield_back).once.with(no_args()).once.and_yield. + and_yield + a = nil + b = [] + @mock.yield_back {|*a| b << a} + b.should == [ [], [] ] + @mock.rspec_verify + end + + it "should yield one arg to blocks that take a variable number of arguments" do + @mock.should_receive(:yield_back).with(no_args()).once.and_yield(99) + a = nil + @mock.yield_back {|*x| a = x} + a.should == [99] + @mock.rspec_verify + end + + it "should yield one arg 3 times consecutively to blocks that take a variable number of arguments" do + @mock.should_receive(:yield_back).once.with(no_args()).once.and_yield(99). + and_yield(43). + and_yield("something fruity") + a = nil + b = [] + @mock.yield_back {|*a| b << a} + b.should == [[99], [43], ["something fruity"]] + @mock.rspec_verify + end + + it "should yield many args to blocks that take a variable number of arguments" do + @mock.should_receive(:yield_back).with(no_args()).once.and_yield(99, 27, "go") + a = nil + @mock.yield_back {|*x| a = x} + a.should == [99, 27, "go"] + @mock.rspec_verify + end + + it "should yield many args 3 times consecutively to blocks that take a variable number of arguments" do + @mock.should_receive(:yield_back).once.with(no_args()).once.and_yield(99, :green, "go"). + and_yield("wait", :amber). + and_yield("stop", 12, :red) + a = nil + b = [] + @mock.yield_back {|*a| b << a} + b.should == [[99, :green, "go"], ["wait", :amber], ["stop", 12, :red]] + @mock.rspec_verify + end + + it "should yield single value" do + @mock.should_receive(:yield_back).with(no_args()).once.and_yield(99) + a = nil + @mock.yield_back {|x| a = x} + a.should == 99 + @mock.rspec_verify + end + + it "should yield single value 3 times consecutively" do + @mock.should_receive(:yield_back).once.with(no_args()).once.and_yield(99). + and_yield(43). + and_yield("something fruity") + a = nil + b = [] + @mock.yield_back {|a| b << a} + b.should == [99, 43, "something fruity"] + @mock.rspec_verify + end + + it "should yield two values" do + @mock.should_receive(:yield_back).with(no_args()).once.and_yield('wha', 'zup') + a, b = nil + @mock.yield_back {|x,y| a=x; b=y} + a.should == 'wha' + b.should == 'zup' + @mock.rspec_verify + end + + it "should yield two values 3 times consecutively" do + @mock.should_receive(:yield_back).once.with(no_args()).once.and_yield('wha', 'zup'). + and_yield('not', 'down'). + and_yield(14, 65) + a, b = nil + c = [] + @mock.yield_back {|a,b| c << [a, b]} + c.should == [['wha', 'zup'], ['not', 'down'], [14, 65]] + @mock.rspec_verify + end + + it "should fail when calling yielding method with wrong arity" do + @mock.should_receive(:yield_back).with(no_args()).once.and_yield('wha', 'zup') + lambda { + @mock.yield_back {|a|} + }.should raise_error(MockExpectationError, "Mock \"test mock\" yielded |\"wha\", \"zup\"| to block with arity of 1") + end + + it "should fail when calling yielding method consecutively with wrong arity" do + @mock.should_receive(:yield_back).once.with(no_args()).once.and_yield('wha', 'zup'). + and_yield('down'). + and_yield(14, 65) + lambda { + a, b = nil + c = [] + @mock.yield_back {|a,b| c << [a, b]} + }.should raise_error(MockExpectationError, "Mock \"test mock\" yielded |\"down\"| to block with arity of 2") + end + + it "should fail when calling yielding method without block" do + @mock.should_receive(:yield_back).with(no_args()).once.and_yield('wha', 'zup') + lambda { + @mock.yield_back + }.should raise_error(MockExpectationError, "Mock \"test mock\" asked to yield |[\"wha\", \"zup\"]| but no block was passed") + end + + it "should be able to mock send" do + @mock.should_receive(:send).with(any_args) + @mock.send 'hi' + @mock.rspec_verify + end + + it "should be able to raise from method calling yielding mock" do + @mock.should_receive(:yield_me).and_yield 44 + + lambda { + @mock.yield_me do |x| + raise "Bang" + end + }.should raise_error(StandardError, "Bang") + + @mock.rspec_verify + end + + it "should clear expectations after verify" do + @mock.should_receive(:foobar) + @mock.foobar + @mock.rspec_verify + lambda { + @mock.foobar + }.should raise_error(MockExpectationError, "Mock \"test mock\" received unexpected message :foobar with (no args)") + end + + it "should restore objects to their original state on rspec_reset" do + mock = mock("this is a mock") + mock.should_receive(:blah) + mock.rspec_reset + mock.rspec_verify #should throw if reset didn't work + end + + it "should work even after method_missing starts raising NameErrors instead of NoMethodErrors" do + # Object#method_missing throws either NameErrors or NoMethodErrors. + # + # On a fresh ruby program Object#method_missing: + # * raises a NoMethodError when called directly + # * raises a NameError when called indirectly + # + # Once Object#method_missing has been called at least once (on any object) + # it starts behaving differently: + # * raises a NameError when called directly + # * raises a NameError when called indirectly + # + # There was a bug in Mock#method_missing that relied on the fact + # that calling Object#method_missing directly raises a NoMethodError. + # This example tests that the bug doesn't exist anymore. + + + # Ensures that method_missing always raises NameErrors. + a_method_that_doesnt_exist rescue + + + @mock.should_receive(:foobar) + @mock.foobar + @mock.rspec_verify + + lambda { @mock.foobar }.should_not raise_error(NameError) + lambda { @mock.foobar }.should raise_error(MockExpectationError) + end + + it "should temporarily replace a method stub on a mock" do + @mock.stub!(:msg).and_return(:stub_value) + @mock.should_receive(:msg).with(:arg).and_return(:mock_value) + @mock.msg(:arg).should equal(:mock_value) + @mock.msg.should equal(:stub_value) + @mock.msg.should equal(:stub_value) + @mock.rspec_verify + end + + it "should not require a different signature to replace a method stub" do + @mock.stub!(:msg).and_return(:stub_value) + @mock.should_receive(:msg).and_return(:mock_value) + @mock.msg(:arg).should equal(:mock_value) + @mock.msg.should equal(:stub_value) + @mock.msg.should equal(:stub_value) + @mock.rspec_verify + end + + it "should raise an error when a previously stubbed method has a negative expectation" do + @mock.stub!(:msg).and_return(:stub_value) + @mock.should_not_receive(:msg).and_return(:mock_value) + lambda {@mock.msg(:arg)}.should raise_error(MockExpectationError) + end + + it "should temporarily replace a method stub on a non-mock" do + non_mock = Object.new + non_mock.stub!(:msg).and_return(:stub_value) + non_mock.should_receive(:msg).with(:arg).and_return(:mock_value) + non_mock.msg(:arg).should equal(:mock_value) + non_mock.msg.should equal(:stub_value) + non_mock.msg.should equal(:stub_value) + non_mock.rspec_verify + end + + it "should return the stubbed value when no new value specified" do + @mock.stub!(:msg).and_return(:stub_value) + @mock.should_receive(:msg) + @mock.msg.should equal(:stub_value) + @mock.rspec_verify + end + + it "should not mess with the stub's yielded values when also mocked" do + @mock.stub!(:yield_back).and_yield(:stub_value) + @mock.should_receive(:yield_back).and_yield(:mock_value) + @mock.yield_back{|v| v.should == :mock_value } + @mock.yield_back{|v| v.should == :stub_value } + @mock.rspec_verify + end + + it "should yield multiple values after a similar stub" do + File.stub!(:open).and_yield(:stub_value) + File.should_receive(:open).and_yield(:first_call).and_yield(:second_call) + yielded_args = [] + File.open {|v| yielded_args << v } + yielded_args.should == [:first_call, :second_call] + File.open {|v| v.should == :stub_value } + File.rspec_verify + end + + it "should assign stub return values" do + mock = Mock.new('name', :message => :response) + mock.message.should == :response + end + + end + + describe "a mock message receiving a block" do + before(:each) do + @mock = mock("mock") + @calls = 0 + end + + def add_call + @calls = @calls + 1 + end + + it "should call the block after #should_receive" do + @mock.should_receive(:foo) { add_call } + + @mock.foo + + @calls.should == 1 + end + + it "should call the block after #should_receive after a similar stub" do + @mock.stub!(:foo).and_return(:bar) + @mock.should_receive(:foo) { add_call } + + @mock.foo + + @calls.should == 1 + end + + it "should call the block after #once" do + @mock.should_receive(:foo).once { add_call } + + @mock.foo + + @calls.should == 1 + end + + it "should call the block after #twice" do + @mock.should_receive(:foo).twice { add_call } + + @mock.foo + @mock.foo + + @calls.should == 2 + end + + it "should call the block after #times" do + @mock.should_receive(:foo).exactly(10).times { add_call } + + (1..10).each { @mock.foo } + + @calls.should == 10 + end + + it "should call the block after #any_number_of_times" do + @mock.should_receive(:foo).any_number_of_times { add_call } + + (1..7).each { @mock.foo } + + @calls.should == 7 + end + + it "should call the block after #ordered" do + @mock.should_receive(:foo).ordered { add_call } + @mock.should_receive(:bar).ordered { add_call } + + @mock.foo + @mock.bar + + @calls.should == 2 + end + end + + describe 'string representation generated by #to_s' do + it 'should not contain < because that might lead to invalid HTML in some situations' do + mock = mock("Dog") + valid_html_str = "#{mock}" + valid_html_str.should_not include('<') + end + end + + describe "mock created with no name" do + it "should not use a name in a failure message" do + mock = mock() + expect {mock.foo}.to raise_error(/Mock received/) + end + + it "should respond to initially stubbed methods" do + mock = mock(:foo => "woo", :bar => "car") + mock.foo.should == "woo" + mock.bar.should == "car" + end + end + + describe "==" do + it "sends '== self' to the comparison object" do + first = mock('first') + second = mock('second') + + first.should_receive(:==).with(second) + second == first + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/multiple_return_value_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/multiple_return_value_spec.rb new file mode 100755 index 00000000..08a6b066 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/multiple_return_value_spec.rb @@ -0,0 +1,113 @@ +require 'spec_helper' + +module Spec + module Mocks + describe "a Mock expectation with multiple return values and no specified count" do + before(:each) do + @mock = Mock.new("mock") + @return_values = ["1",2,Object.new] + @mock.should_receive(:message).and_return(@return_values[0],@return_values[1],@return_values[2]) + end + + it "should return values in order to consecutive calls" do + @mock.message.should == @return_values[0] + @mock.message.should == @return_values[1] + @mock.message.should == @return_values[2] + @mock.rspec_verify + end + + it "should complain when there are too few calls" do + third = Object.new + @mock.message.should == @return_values[0] + @mock.message.should == @return_values[1] + lambda { @mock.rspec_verify }.should raise_error(MockExpectationError, "Mock \"mock\" expected :message with (any args) 3 times, but received it twice") + end + + it "should complain when there are too many calls" do + third = Object.new + @mock.message.should == @return_values[0] + @mock.message.should == @return_values[1] + @mock.message.should == @return_values[2] + @mock.message.should == @return_values[2] + lambda { @mock.rspec_verify }.should raise_error(MockExpectationError, "Mock \"mock\" expected :message with (any args) 3 times, but received it 4 times") + end + end + + describe "a Mock expectation with multiple return values with a specified count equal to the number of values" do + before(:each) do + @mock = Mock.new("mock") + @return_values = ["1",2,Object.new] + @mock.should_receive(:message).exactly(3).times.and_return(@return_values[0],@return_values[1],@return_values[2]) + end + + it "should return values in order to consecutive calls" do + @mock.message.should == @return_values[0] + @mock.message.should == @return_values[1] + @mock.message.should == @return_values[2] + @mock.rspec_verify + end + + it "should complain when there are too few calls" do + third = Object.new + @mock.message.should == @return_values[0] + @mock.message.should == @return_values[1] + lambda { @mock.rspec_verify }.should raise_error(MockExpectationError, "Mock \"mock\" expected :message with (any args) 3 times, but received it twice") + end + + it "should complain when there are too many calls" do + third = Object.new + @mock.message.should == @return_values[0] + @mock.message.should == @return_values[1] + @mock.message.should == @return_values[2] + @mock.message.should == @return_values[2] + lambda { @mock.rspec_verify }.should raise_error(MockExpectationError, "Mock \"mock\" expected :message with (any args) 3 times, but received it 4 times") + end + end + + describe "a Mock expectation with multiple return values specifying at_least less than the number of values" do + before(:each) do + @mock = Mock.new("mock") + @mock.should_receive(:message).at_least(:twice).with(no_args).and_return(11, 22) + end + + it "should use last return value for subsequent calls" do + @mock.message.should equal(11) + @mock.message.should equal(22) + @mock.message.should equal(22) + @mock.rspec_verify + end + + it "should fail when called less than the specified number" do + @mock.message.should equal(11) + lambda { @mock.rspec_verify }.should raise_error(MockExpectationError, "Mock \"mock\" expected :message with (no args) twice, but received it once") + end + end + describe "a Mock expectation with multiple return values with a specified count larger than the number of values" do + before(:each) do + @mock = Mock.new("mock") + @mock.should_receive(:message).exactly(3).times.and_return(11, 22) + end + + it "should use last return value for subsequent calls" do + @mock.message.should equal(11) + @mock.message.should equal(22) + @mock.message.should equal(22) + @mock.rspec_verify + end + + it "should fail when called less than the specified number" do + @mock.message.should equal(11) + lambda { @mock.rspec_verify }.should raise_error(MockExpectationError, "Mock \"mock\" expected :message with (any args) 3 times, but received it once") + end + + it "should fail when called greater than the specified number" do + @mock.message.should equal(11) + @mock.message.should equal(22) + @mock.message.should equal(22) + @mock.message.should equal(22) + lambda { @mock.rspec_verify }.should raise_error(MockExpectationError, "Mock \"mock\" expected :message with (any args) 3 times, but received it 4 times") + end + end + end +end + diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/nil_expectation_warning_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/nil_expectation_warning_spec.rb new file mode 100755 index 00000000..f8f72baf --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/nil_expectation_warning_spec.rb @@ -0,0 +1,53 @@ +require 'spec_helper' + +module Spec + module Mocks + + describe "an expectation set on nil" do + + it "should issue a warning with file and line number information" do + expected_warning = %r%An expectation of :foo was set on nil. Called from #{__FILE__}:#{__LINE__+3}(:in `block \(2 levels\) in ')?. Use allow_message_expectations_on_nil to disable warnings.% + Kernel.should_receive(:warn).with(expected_warning) + + nil.should_receive(:foo) + nil.foo + end + + it "should issue a warning when the expectation is negative" do + Kernel.should_receive(:warn) + + nil.should_not_receive(:foo) + end + + it "should not issue a warning when expectations are set to be allowed" do + allow_message_expectations_on_nil + Kernel.should_not_receive(:warn) + + nil.should_receive(:foo) + nil.should_not_receive(:bar) + nil.foo + end + + end + + describe "#allow_message_expectations_on_nil" do + + it "should not effect subsequent examples" do + example_group = Class.new(::Spec::Example::ExampleGroupDouble) + example_group.it("when called in one example that doesn't end up setting an expectation on nil") do + allow_message_expectations_on_nil + end + example_group.it("should not effect the next exapmle ran") do + Kernel.should_receive(:warn) + nil.should_receive(:foo) + nil.foo + end + + example_group.run(Spec::Runner.options).should be_true + + end + + end + + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/null_object_mock_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/null_object_mock_spec.rb new file mode 100755 index 00000000..8af6b49d --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/null_object_mock_spec.rb @@ -0,0 +1,54 @@ +require 'spec_helper' + +module Spec + module Mocks + describe "a mock acting as a NullObject" do + before(:each) do + @mock = Mock.new("null_object", :null_object => true) + end + + it "should allow explicit expectation" do + @mock.should_receive(:something) + @mock.something + end + + it "should fail verification when explicit exception not met" do + lambda do + @mock.should_receive(:something) + @mock.rspec_verify + end.should raise_error(MockExpectationError) + end + + it "should ignore unexpected methods" do + @mock.random_call("a", "d", "c") + @mock.rspec_verify + end + + it "should expected message with different args first" do + @mock.should_receive(:message).with(:expected_arg) + @mock.message(:unexpected_arg) + @mock.message(:expected_arg) + end + + it "should expected message with different args second" do + @mock.should_receive(:message).with(:expected_arg) + @mock.message(:expected_arg) + @mock.message(:unexpected_arg) + end + end + + describe "#null_object?" do + it "should default to false" do + obj = mock('anything') + obj.should_not be_null_object + end + end + + describe "#as_null_object" do + it "should set the object to null_object" do + obj = mock('anything').as_null_object + obj.should be_null_object + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/once_counts_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/once_counts_spec.rb new file mode 100755 index 00000000..95129832 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/once_counts_spec.rb @@ -0,0 +1,53 @@ +require 'spec_helper' + +module Spec + module Mocks + describe "OnceCounts" do + before(:each) do + @mock = mock("test mock") + end + + it "once should fail when called once with wrong args" do + @mock.should_receive(:random_call).once.with("a", "b", "c") + lambda do + @mock.random_call("d", "e", "f") + end.should raise_error(MockExpectationError) + @mock.rspec_reset + end + + it "once should fail when called twice" do + @mock.should_receive(:random_call).once + @mock.random_call + @mock.random_call + lambda do + @mock.rspec_verify + end.should raise_error(MockExpectationError) + end + + it "once should fail when not called" do + @mock.should_receive(:random_call).once + lambda do + @mock.rspec_verify + end.should raise_error(MockExpectationError) + end + + it "once should pass when called once" do + @mock.should_receive(:random_call).once + @mock.random_call + @mock.rspec_verify + end + + it "once should pass when called once with specified args" do + @mock.should_receive(:random_call).once.with("a", "b", "c") + @mock.random_call("a", "b", "c") + @mock.rspec_verify + end + + it "once should pass when called once with unspecified args" do + @mock.should_receive(:random_call).once + @mock.random_call("a", "b", "c") + @mock.rspec_verify + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/options_hash_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/options_hash_spec.rb new file mode 100755 index 00000000..f8275782 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/options_hash_spec.rb @@ -0,0 +1,35 @@ +require 'spec_helper' + +module Spec + module Mocks + describe "calling :should_receive with an options hash" do + it "should report the file and line submitted with :expected_from" do + begin + mock = Spec::Mocks::Mock.new("a mock") + mock.should_receive(:message, :expected_from => "/path/to/blah.ext:37") + mock.rspec_verify + rescue Exception => e + ensure + e.backtrace.to_s.should =~ /\/path\/to\/blah.ext:37/m + end + end + + it "should use the message supplied with :message" do + lambda { + m = Spec::Mocks::Mock.new("a mock") + m.should_receive(:message, :message => "recebi nada") + m.rspec_verify + }.should raise_error("recebi nada") + end + + it "should use the message supplied with :message after a similar stub" do + lambda { + m = Spec::Mocks::Mock.new("a mock") + m.stub!(:message) + m.should_receive(:message, :message => "from mock") + m.rspec_verify + }.should raise_error("from mock") + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/partial_mock_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/partial_mock_spec.rb new file mode 100755 index 00000000..c19ecd30 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/partial_mock_spec.rb @@ -0,0 +1,164 @@ +require 'spec_helper' + +module Spec + module Mocks + describe "using a Partial Mock," do + before(:each) do + @object = Object.new + end + + it "should name the class in the failure message" do + @object.should_receive(:foo) + lambda do + @object.rspec_verify + end.should raise_error(Spec::Mocks::MockExpectationError, / expected/) + end + + it "should name the class in the failure message when expectation is on class" do + Object.should_receive(:foo) + lambda do + Object.rspec_verify + end.should raise_error(Spec::Mocks::MockExpectationError, //) + end + + it "should not conflict with @options in the object" do + @object.instance_eval { @options = Object.new } + @object.should_receive(:blah) + @object.blah + end + + it "should_not_receive should mock out the method" do + @object.should_not_receive(:fuhbar) + lambda do + @object.fuhbar + end.should raise_error(MockExpectationError, / expected :fuhbar with \(no args\) 0 times/) + end + + it "should_not_receive should return a negative message expectation" do + @object.should_not_receive(:foobar).should be_kind_of(NegativeMessageExpectation) + end + + it "should_receive should mock out the method" do + @object.should_receive(:foobar).with(:test_param).and_return(1) + @object.foobar(:test_param).should equal(1) + end + + it "should_receive should handle a hash" do + @object.should_receive(:foobar).with(:key => "value").and_return(1) + @object.foobar(:key => "value").should equal(1) + end + + it "should_receive should handle an inner hash" do + hash = {:a => {:key => "value"}} + @object.should_receive(:foobar).with(:key => "value").and_return(1) + @object.foobar(hash[:a]).should equal(1) + end + + it "should_receive should return a message expectation" do + @object.should_receive(:foobar).should be_kind_of(MessageExpectation) + @object.foobar + end + + it "should_receive should verify method was called" do + @object.should_receive(:foobar).with(:test_param).and_return(1) + lambda do + @object.rspec_verify + end.should raise_error(Spec::Mocks::MockExpectationError) + end + + it "should_receive should also take a String argument" do + @object.should_receive('foobar') + @object.foobar + end + + it "should_not_receive should also take a String argument" do + @object.should_not_receive('foobar') + lambda do + @object.foobar + end.should raise_error(Spec::Mocks::MockExpectationError) + end + + it "should use report nil in the error message" do + allow_message_expectations_on_nil + + @this_will_resolve_to_nil.should_receive(:foobar) + lambda do + @this_will_resolve_to_nil.rspec_verify + end.should raise_error(Spec::Mocks::MockExpectationError, /nil expected :foobar with/) + end + end + + describe "Partially mocking an object that defines ==, after another mock has been defined" do + before(:each) do + stub("existing mock", :foo => :foo) + end + + class PartiallyMockedEquals + attr_reader :val + def initialize(val) + @val = val + end + + def ==(other) + @val == other.val + end + end + + it "should not raise an error when stubbing the object" do + o = PartiallyMockedEquals.new :foo + lambda { o.stub!(:bar) }.should_not raise_error(NoMethodError) + end + end + + describe "Method visibility when using partial mocks" do + class MockableClass + def public_method + private_method + protected_method + end + protected + def protected_method; end + private + def private_method; end + end + + before(:each) do + @object = MockableClass.new + end + + it 'should keep public methods public' do + @object.should_receive(:public_method) + with_ruby('1.9') do + @object.public_methods.should include(:public_method) + end + with_ruby('1.8') do + @object.public_methods.should include('public_method') + end + @object.public_method + end + + it 'should keep private methods private' do + @object.should_receive(:private_method) + with_ruby('1.9') do + @object.private_methods.should include(:private_method) + end + with_ruby('1.8') do + @object.private_methods.should include('private_method') + end + @object.public_method + end + + it 'should keep protected methods protected' do + @object.should_receive(:protected_method) + with_ruby('1.9') do + @object.protected_methods.should include(:protected_method) + end + with_ruby('1.8') do + @object.protected_methods.should include('protected_method') + end + @object.public_method + end + + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/partial_mock_using_mocks_directly_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/partial_mock_using_mocks_directly_spec.rb new file mode 100755 index 00000000..a69aa6ac --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/partial_mock_using_mocks_directly_spec.rb @@ -0,0 +1,66 @@ +require 'spec_helper' + +module Spec +module Mocks +describe "PartialMockUsingMocksDirectly" do + before(:each) do + + klass=Class.new + klass.class_eval do + def existing_method + :original_value + end + end + @obj = klass.new + + end + + # See http://rubyforge.org/tracker/index.php?func=detail&aid=10263&group_id=797&atid=3149 + # specify "should clear expectations on verify" do + # @obj.should_receive(:msg) + # @obj.msg + # @obj.rspec_verify + # lambda do + # @obj.msg + # end.should raise_error(NoMethodError) + # + # end + it "should fail when expected message is not received" do + @obj.should_receive(:msg) + lambda do + @obj.rspec_verify + end.should raise_error(MockExpectationError) + + end + it "should fail when message is received with incorrect args" do + @obj.should_receive(:msg).with(:correct_arg) + lambda do + @obj.msg(:incorrect_arg) + end.should raise_error(MockExpectationError) + @obj.msg(:correct_arg) + + end + it "should pass when expected message is received" do + @obj.should_receive(:msg) + @obj.msg + @obj.rspec_verify + + end + it "should pass when message is received with correct args" do + @obj.should_receive(:msg).with(:correct_arg) + @obj.msg(:correct_arg) + @obj.rspec_verify + + end + it "should revert to original method if existed" do + @obj.existing_method.should equal(:original_value) + @obj.should_receive(:existing_method).and_return(:mock_value) + @obj.existing_method.should equal(:mock_value) + @obj.rspec_verify + @obj.existing_method.should equal(:original_value) + + end + +end +end +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/passing_argument_matchers_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/passing_argument_matchers_spec.rb new file mode 100755 index 00000000..a364df0a --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/passing_argument_matchers_spec.rb @@ -0,0 +1,145 @@ +require 'spec_helper' + +module Spec + module Mocks + describe "mock argument matchers", :shared => true do + before(:each) do + @mock = Mock.new("test mock") + Kernel.stub!(:warn) + end + + after(:each) do + @mock.rspec_verify + end + end + + describe Methods, "handling argument matchers" do + it_should_behave_like "mock argument matchers" + + it "should accept true as boolean()" do + @mock.should_receive(:random_call).with(boolean()) + @mock.random_call(true) + end + + it "should accept false as boolean()" do + @mock.should_receive(:random_call).with(boolean()) + @mock.random_call(false) + end + + it "should accept fixnum as kind_of(Numeric)" do + @mock.should_receive(:random_call).with(kind_of(Numeric)) + @mock.random_call(1) + end + + it "should accept float as an_instance_of(Numeric)" do + @mock.should_receive(:random_call).with(kind_of(Numeric)) + @mock.random_call(1.5) + end + + it "accepts fixnum as instance_of(Fixnum)" do + @mock.should_receive(:random_call).with(instance_of(Fixnum)) + @mock.random_call(1) + end + + it "should NOT accept fixnum as instance_of(Numeric)" do + @mock.should_not_receive(:random_call).with(instance_of(Numeric)) + @mock.random_call(1) + end + + it "should NOT accept float as instance_of(Numeric)" do + @mock.should_not_receive(:random_call).with(instance_of(Numeric)) + @mock.random_call(1.5) + end + + it "should accept string as anything()" do + @mock.should_receive(:random_call).with("a", anything(), "c") + @mock.random_call("a", "whatever", "c") + end + + it "should match duck type with one method" do + @mock.should_receive(:random_call).with(duck_type(:length)) + @mock.random_call([]) + end + + it "should match duck type with two methods" do + @mock.should_receive(:random_call).with(duck_type(:abs, :div)) + @mock.random_call(1) + end + + it "should match no args against any_args()" do + @mock.should_receive(:random_call).with(any_args) + @mock.random_call() + end + + it "should match one arg against any_args()" do + @mock.should_receive(:random_call).with(any_args) + @mock.random_call("a string") + end + + it "should match no args against no_args()" do + @mock.should_receive(:random_call).with(no_args) + @mock.random_call() + end + + it "should match hash with hash_including same hash" do + @mock.should_receive(:random_call).with(hash_including(:a => 1)) + @mock.random_call(:a => 1) + end + + end + + describe Methods, "handling block matchers" do + it_should_behave_like "mock argument matchers" + + it "should match arguments against RSpec expectations" do + @mock.should_receive(:random_call).with {|arg1, arg2, arr, *rest| + arg1.should == 5 + arg2.should have_at_least(3).characters + arg2.should have_at_most(10).characters + arr.map {|i| i * 2}.should == [2,4,6] + rest.should == [:fee, "fi", 4] + } + @mock.random_call 5, "hello", [1,2,3], :fee, "fi", 4 + end + end + + describe Methods, "handling non-matcher arguments" do + + before(:each) do + @mock = Mock.new("test mock") + end + + it "should match non special symbol (can be removed when deprecated symbols are removed)" do + @mock.should_receive(:random_call).with(:some_symbol) + @mock.random_call(:some_symbol) + end + + it "should match string against regexp" do + @mock.should_receive(:random_call).with(/bcd/) + @mock.random_call("abcde") + end + + it "should match regexp against regexp" do + @mock.should_receive(:random_call).with(/bcd/) + @mock.random_call(/bcd/) + end + + it "should match against a hash submitted and received by value" do + @mock.should_receive(:random_call).with(:a => "a", :b => "b") + @mock.random_call(:a => "a", :b => "b") + end + + it "should match against a hash submitted by reference and received by value" do + opts = {:a => "a", :b => "b"} + @mock.should_receive(:random_call).with(opts) + @mock.random_call(:a => "a", :b => "b") + end + + it "should match against a hash submitted by value and received by reference" do + opts = {:a => "a", :b => "b"} + @mock.should_receive(:random_call).with(:a => "a", :b => "b") + @mock.random_call(opts) + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/precise_counts_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/precise_counts_spec.rb new file mode 100755 index 00000000..5b64ef28 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/precise_counts_spec.rb @@ -0,0 +1,52 @@ +require 'spec_helper' + +module Spec + module Mocks + describe "PreciseCounts" do + before(:each) do + @mock = mock("test mock") + end + + it "should fail when exactly n times method is called less than n times" do + @mock.should_receive(:random_call).exactly(3).times + @mock.random_call + @mock.random_call + lambda do + @mock.rspec_verify + end.should raise_error(MockExpectationError) + end + + it "should fail when exactly n times method is never called" do + @mock.should_receive(:random_call).exactly(3).times + lambda do + @mock.rspec_verify + end.should raise_error(MockExpectationError) + end + + it "should pass if exactly n times method is called exactly n times" do + @mock.should_receive(:random_call).exactly(3).times + @mock.random_call + @mock.random_call + @mock.random_call + @mock.rspec_verify + end + + it "should pass multiple calls with different args and counts" do + @mock.should_receive(:random_call).twice.with(1) + @mock.should_receive(:random_call).once.with(2) + @mock.random_call(1) + @mock.random_call(2) + @mock.random_call(1) + @mock.rspec_verify + end + + it "should pass mutiple calls with different args" do + @mock.should_receive(:random_call).once.with(1) + @mock.should_receive(:random_call).once.with(2) + @mock.random_call(1) + @mock.random_call(2) + @mock.rspec_verify + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/record_messages_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/record_messages_spec.rb new file mode 100755 index 00000000..bed2fbff --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/record_messages_spec.rb @@ -0,0 +1,26 @@ +require 'spec_helper' + +module Spec + module Mocks + describe "a mock" do + before(:each) do + @mock = mock("mock", :null_object => true) + end + it "should answer false for received_message? when no messages received" do + @mock.received_message?(:message).should be_false + end + it "should answer true for received_message? when message received" do + @mock.message + @mock.received_message?(:message).should be_true + end + it "should answer true for received_message? when message received with correct args" do + @mock.message 1,2,3 + @mock.received_message?(:message, 1,2,3).should be_true + end + it "should answer false for received_message? when message received with incorrect args" do + @mock.message 1,2,3 + @mock.received_message?(:message, 1,2).should be_false + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/stub_chain_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/stub_chain_spec.rb new file mode 100755 index 00000000..3536e176 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/stub_chain_spec.rb @@ -0,0 +1,42 @@ +require 'spec_helper' + +module Spec + module Mocks + describe "A chained method stub" do + before(:each) do + @subject = Object.new + end + + it "returns expected value from chaining only one method call" do + @subject.stub_chain(:msg1).and_return(:return_value) + @subject.msg1.should equal(:return_value) + end + + it "returns expected value from chaining two method calls" do + @subject.stub_chain(:msg1, :msg2).and_return(:return_value) + @subject.msg1.msg2.should equal(:return_value) + end + + it "returns expected value from chaining four method calls" do + @subject.stub_chain(:msg1, :msg2, :msg3, :msg4).and_return(:return_value) + @subject.msg1.msg2.msg3.msg4.should equal(:return_value) + end + + it "returns expected value from two chains with shared messages at the end" do + @subject.stub_chain(:msg1, :msg2, :msg3, :msg4).and_return(:first) + @subject.stub_chain(:msg5, :msg2, :msg3, :msg4).and_return(:second) + + @subject.msg1.msg2.msg3.msg4.should equal(:first) + @subject.msg5.msg2.msg3.msg4.should equal(:second) + end + + it "returns expected value from two chains with shared messages at the beginning" do + @subject.stub_chain(:msg1, :msg2, :msg3, :msg4).and_return(:first) + @subject.stub_chain(:msg1, :msg2, :msg3, :msg5).and_return(:second) + + @subject.msg1.msg2.msg3.msg4.should equal(:first) + @subject.msg1.msg2.msg3.msg5.should equal(:second) + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/stub_implementation_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/stub_implementation_spec.rb new file mode 100755 index 00000000..1487277f --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/stub_implementation_spec.rb @@ -0,0 +1,31 @@ +require 'spec_helper' + +module Spec + module Mocks + describe "stub implementation" do + context "with no args" do + it "execs the block when called" do + obj = stub() + obj.stub(:foo) { :bar } + obj.foo.should == :bar + end + end + + context "with one arg" do + it "execs the block with that arg when called" do + obj = stub() + obj.stub(:foo) {|given| given} + obj.foo(:bar).should == :bar + end + end + + context "with variable args" do + it "execs the block when called" do + obj = stub() + obj.stub(:foo) {|*given| given.first} + obj.foo(:bar).should == :bar + end + end + end + end +end \ No newline at end of file diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/stub_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/stub_spec.rb new file mode 100755 index 00000000..e0b7b264 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/stub_spec.rb @@ -0,0 +1,203 @@ +require 'spec_helper' + +module Spec + module Mocks + describe "A method stub" do + before(:each) do + @class = Class.new do + def self.existing_class_method + :original_value + end + + def existing_instance_method + :original_value + end + end + @instance = @class.new + @stub = Object.new + end + + [:stub!, :stub].each do |method| + context "using #{method}" do + it "should return expected value when expected message is received" do + @instance.send(method, :msg).and_return(:return_value) + @instance.msg.should equal(:return_value) + @instance.rspec_verify + end + end + end + + it "should ignore when expected message is received" do + @instance.stub!(:msg) + @instance.msg + lambda do + @instance.rspec_verify + end.should_not raise_error + end + + it "should ignore when message is received with args" do + @instance.stub!(:msg) + @instance.msg(:an_arg) + lambda do + @instance.rspec_verify + end.should_not raise_error + end + + it "should ignore when expected message is not received" do + @instance.stub!(:msg) + lambda do + @instance.rspec_verify + end.should_not raise_error + end + + it "should handle multiple stubbed methods" do + @instance.stub!(:msg1 => 1, :msg2 => 2) + @instance.msg1.should == 1 + @instance.msg2.should == 2 + end + + it "should clear itself when verified" do + @instance.stub!(:this_should_go).and_return(:blah) + @instance.this_should_go.should == :blah + @instance.rspec_verify + lambda do + @instance.this_should_go + end.should raise_error(NameError) + end + + it "should return values in order to consecutive calls" do + return_values = ["1",2,Object.new] + @instance.stub!(:msg).and_return(return_values[0],return_values[1],return_values[2]) + @instance.msg.should == return_values[0] + @instance.msg.should == return_values[1] + @instance.msg.should == return_values[2] + end + + it "should keep returning last value in consecutive calls" do + return_values = ["1",2,Object.new] + @instance.stub!(:msg).and_return(return_values[0],return_values[1],return_values[2]) + @instance.msg.should == return_values[0] + @instance.msg.should == return_values[1] + @instance.msg.should == return_values[2] + @instance.msg.should == return_values[2] + @instance.msg.should == return_values[2] + end + + it "should revert to original instance method if there is one" do + @instance.existing_instance_method.should equal(:original_value) + @instance.stub!(:existing_instance_method).and_return(:mock_value) + @instance.existing_instance_method.should equal(:mock_value) + @instance.rspec_verify + @instance.existing_instance_method.should equal(:original_value) + end + + it "should revert to original class method if there is one" do + @class.existing_class_method.should equal(:original_value) + @class.stub!(:existing_class_method).and_return(:mock_value) + @class.existing_class_method.should equal(:mock_value) + @class.rspec_verify + @class.existing_class_method.should equal(:original_value) + end + + it "should yield a specified object" do + @instance.stub!(:method_that_yields).and_yield(:yielded_obj) + current_value = :value_before + @instance.method_that_yields {|val| current_value = val} + current_value.should == :yielded_obj + @instance.rspec_verify + end + + it "should yield multiple times with multiple calls to and_yield" do + @instance.stub!(:method_that_yields_multiple_times).and_yield(:yielded_value). + and_yield(:another_value) + current_value = [] + @instance.method_that_yields_multiple_times {|val| current_value << val} + current_value.should == [:yielded_value, :another_value] + @instance.rspec_verify + end + + it "should yield a specified object and return another specified object" do + yielded_obj = mock("my mock") + yielded_obj.should_receive(:foo).with(:bar) + @instance.stub!(:method_that_yields_and_returns).and_yield(yielded_obj).and_return(:baz) + @instance.method_that_yields_and_returns { |o| o.foo :bar }.should == :baz + end + + it "should throw when told to" do + @mock.stub!(:something).and_throw(:up) + lambda do + @mock.something + end.should throw_symbol(:up) + end + + it "should override a pre-existing stub" do + @stub.stub!(:existing_instance_method).and_return(:updated_stub_value) + @stub.existing_instance_method.should == :updated_stub_value + end + + it "should limit " do + @stub.stub!(:foo).with("bar") + @stub.should_receive(:foo).with("baz") + @stub.foo("bar") + @stub.foo("baz") + end + + it "calculates return value by executing block passed to #and_return" do + @mock.stub!(:something).with("a","b","c").and_return { |a,b,c| c+b+a } + @mock.something("a","b","c").should == "cba" + @mock.rspec_verify + end + end + + describe "A method stub with args" do + before(:each) do + @stub = Object.new + @stub.stub!(:foo).with("bar") + end + + it "should not complain if not called" do + end + + it "should not complain if called with arg" do + @stub.foo("bar") + end + + it "should complain if called with no arg" do + lambda do + @stub.foo + end.should raise_error + end + + it "should complain if called with other arg" do + lambda do + @stub.foo("other") + end.should raise_error + end + + it "should not complain if also mocked w/ different args" do + @stub.should_receive(:foo).with("baz") + @stub.foo("bar") + @stub.foo("baz") + end + + it "should complain if also mocked w/ different args AND called w/ a 3rd set of args" do + @stub.should_receive(:foo).with("baz") + @stub.foo("bar") + @stub.foo("baz") + lambda do + @stub.foo("other") + end.should raise_error + end + + it "should support options" do + @stub.stub!(:foo, :expected_from => "bar") + end + + it "should use 'Stub' in the failure message" do + stub = stub('name') + expect {stub.foo}.to raise_error(/Stub "name" received/) + end + end + + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/stubbed_message_expectations_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/stubbed_message_expectations_spec.rb new file mode 100755 index 00000000..03c8fecd --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/stubbed_message_expectations_spec.rb @@ -0,0 +1,26 @@ +require 'spec_helper' + +module Spec + module Mocks + describe "Example with stubbed and then called message" do + it "fails if the message is expected and then subsequently not called again" do + mock_obj = mock("mock", :msg => nil) + mock_obj.msg + mock_obj.should_receive(:msg) + lambda { mock_obj.rspec_verify }.should raise_error(Spec::Mocks::MockExpectationError) + end + + it "outputs arguments of all similar calls" do + m = mock('mock', :foo => true) + m.should_receive(:foo).with('first') + m.foo('second') + m.foo('third') + lambda do + m.rspec_verify + end.should raise_error(%Q|Mock "mock" received :foo with unexpected arguments\n expected: ("first")\n got: (["second"], ["third"])|) + m.rspec_reset + end + end + + end +end \ No newline at end of file diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/twice_counts_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/twice_counts_spec.rb new file mode 100755 index 00000000..4538eb8f --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/twice_counts_spec.rb @@ -0,0 +1,67 @@ +require 'spec_helper' + +module Spec + module Mocks + describe "TwiceCounts" do + before(:each) do + @mock = mock("test mock") + end + + it "twice should fail when call count is higher than expected" do + @mock.should_receive(:random_call).twice + @mock.random_call + @mock.random_call + @mock.random_call + lambda do + @mock.rspec_verify + end.should raise_error(MockExpectationError) + end + + it "twice should fail when call count is lower than expected" do + @mock.should_receive(:random_call).twice + @mock.random_call + lambda do + @mock.rspec_verify + end.should raise_error(MockExpectationError) + end + + it "twice should fail when called twice with wrong args on the first call" do + @mock.should_receive(:random_call).twice.with("1", 1) + lambda do + @mock.random_call(1, "1") + end.should raise_error(MockExpectationError) + @mock.rspec_reset + end + + it "twice should fail when called twice with wrong args on the second call" do + @mock.should_receive(:random_call).twice.with("1", 1) + @mock.random_call("1", 1) + lambda do + @mock.random_call(1, "1") + end.should raise_error(MockExpectationError) + @mock.rspec_reset + end + + it "twice should pass when called twice" do + @mock.should_receive(:random_call).twice + @mock.random_call + @mock.random_call + @mock.rspec_verify + end + + it "twice should pass when called twice with specified args" do + @mock.should_receive(:random_call).twice.with("1", 1) + @mock.random_call("1", 1) + @mock.random_call("1", 1) + @mock.rspec_verify + end + + it "twice should pass when called twice with unspecified args" do + @mock.should_receive(:random_call).twice + @mock.random_call("1") + @mock.random_call(1) + @mock.rspec_verify + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/unstub_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/unstub_spec.rb new file mode 100755 index 00000000..89e5ac38 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/unstub_spec.rb @@ -0,0 +1,127 @@ +require 'spec_helper' + +module Spec + module Mocks + describe Mock do + context "unstubbing a mock object with a stub" do + it "should remove the stub" do + a_mock = mock 'an object', :foo => :bar + + a_mock.unstub! :foo + a_mock.should_not respond_to(:foo) + end + end + + context "unstubbing a real object with a stub" do + before do + @obj = Object.new + end + + it "should raise a NoMethodError if the message is called after unstubbing" do + @obj.stub!(:foo).and_return :bar + @obj.unstub!(:foo) + + lambda { + @obj.foo + }.should raise_error(NoMethodError) + end + + it "should only clear the stub specified" do + @obj.stub!(:foo).and_return :bar + @obj.stub!(:other).and_return :baz + + @obj.unstub!(:foo) + + @obj.other.should == :baz + end + + it "should no longer respond_to? the method" do + @obj.stub!(:foo).and_return :bar + @obj.unstub!(:foo) + + @obj.should_not respond_to(:foo) + end + + it "should unstub using a string (should convert the string to a symbol)" do + @obj.stub!(:foo) + + @obj.unstub!("foo") + + @obj.should_not respond_to(:foo) + end + + it "should restore a previous method definition" do + def @obj.foo + :a_result + end + + @obj.stub!(:foo).and_return :stubbed_result + @obj.unstub!(:foo) + + @obj.foo.should == :a_result + end + + it "should have unstub as an alias of unstub!" do + @obj.stub!(:foo).and_return :bar + + @obj.unstub(:foo) + + lambda { + @obj.foo + }.should raise_error(NoMethodError) + end + + it "should raise a MockExpectationError if it is not stubbed" do + lambda { + @obj.unstub!(:foo) + }.should raise_error(MockExpectationError, "The method `foo` was not stubbed or was already unstubbed") + end + + it "should raise a MockExpectationError if it was already unstubbed" do + @obj.stub!(:foo) + @obj.unstub!(:foo) + + lambda { + @obj.unstub!(:foo) + }.should raise_error(MockExpectationError, "The method `foo` was not stubbed or was already unstubbed") + end + + it "should use the correct message name in the error" do + @obj.stub!(:bar) + @obj.unstub!(:bar) + + lambda { + @obj.unstub!(:bar) + }.should raise_error(MockExpectationError, "The method `bar` was not stubbed or was already unstubbed") + end + + it "should raise a MockExpectationError if the method is defined, but not stubbed" do + def @obj.meth; end + + lambda { + @obj.unstub!(:meth) + }.should raise_error(MockExpectationError) + end + + it "should be able to restub a after unstubbing" do + @obj.stub!(:foo).and_return :bar + + @obj.unstub!(:foo) + + @obj.stub!(:foo).and_return :baz + + @obj.foo.should == :baz + end + + it "should remove only the first stub if multiple stubs have been defined" do + @obj.stub!(:foo).and_return :first + @obj.stub!(:foo).and_return :second + + @obj.unstub!(:foo) + + @obj.foo.should == :first + end + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/package/bin_spec_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/package/bin_spec_spec.rb new file mode 100755 index 00000000..6628fad7 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/package/bin_spec_spec.rb @@ -0,0 +1,16 @@ +require 'spec_helper' +require 'ruby_forker' + +describe "The bin/spec script" do + include RubyForker + + it "should have no warnings" do + output = ruby "-w -Ilib bin/spec --help" + output.should_not =~ /warning/n + end + + it "should show the help w/ no args" do + output = ruby "-w -Ilib bin/spec" + output.should =~ /^Usage: spec/ + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/rake/spectask_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/rake/spectask_spec.rb new file mode 100755 index 00000000..ea834bad --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/rake/spectask_spec.rb @@ -0,0 +1,150 @@ +require 'spec_helper' +require 'spec/rake/spectask' + +module Spec + module Rake + + class MockTask + class << self + attr_accessor :last_instance, :last_cmd + end + + def self.tasks + @tasks ||= {} + end + + def self.reset_tasks + @tasks = {} + end + + def self.task(name) + tasks[name] + end + + def self.register_task(name, block) + tasks[name] = block + end + + def initialize(name, &block) + MockTask.register_task(name, block) + MockTask.last_instance = block + end + + def self.create_task(name, &block) + new(name, &block) + end + end + + class SpecTask + def task(name, &block) + MockTask.create_task(name, &block) + end + + def system(cmd) + MockTask.last_cmd = cmd + true + end + + def default_ruby_path + RUBY + end + end + + describe SpecTask do + + before(:each) do + MockTask.reset_tasks + end + + it "should execute rake's ruby path by default" do + task = SpecTask.new + MockTask.last_instance.call + MockTask.last_cmd.should match(/^#{task.default_ruby_path} /) + end + + it "should execute the command with system if ruby_cmd is specified" do + task = SpecTask.new {|t| t.ruby_cmd = "path_to_multiruby"} + task.should_receive(:system).and_return(true) + MockTask.last_instance.call + end + + it "should execute the ruby_cmd path if specified" do + SpecTask.new {|t| t.ruby_cmd = "path_to_multiruby"} + MockTask.last_instance.call + MockTask.last_cmd.should match(/^path_to_multiruby /) + end + + it "should produce a deprecation warning if the out option is used" do + SpecTask.new {|t| t.out = "somewhere_over_the_rainbow"} + STDERR.should_receive(:puts).with("The Spec::Rake::SpecTask#out attribute is DEPRECATED and will be removed in a future version. Use --format FORMAT:WHERE instead.") + MockTask.last_instance.call + end + + it "should produce an error if failure_message is set and the command fails" do + task = SpecTask.new {|t| t.failure_message = "oops"; t.fail_on_error = false} + STDERR.should_receive(:puts).with("oops") + task.stub(:system).and_return(false) + MockTask.last_instance.call + end + + it "should raise if fail_on_error is set and the command fails" do + task = SpecTask.new + task.stub(:system).and_return(false) + lambda {MockTask.last_instance.call}.should raise_error + end + + it "should not raise if fail_on_error is not set and the command fails" do + task = SpecTask.new {|t| t.fail_on_error = false} + task.stub(:system).and_return(false) + lambda {MockTask.last_instance.call}.should_not raise_error + end + + context "with ENV['SPEC'] set" do + before(:each) do + @orig_env_spec = ENV['SPEC'] + ENV['SPEC'] = 'foo.rb' + end + after(:each) do + ENV['SPEC'] = @orig_env_spec + end + it "should use the provided file list" do + task = SpecTask.new + task.spec_file_list.should == ["foo.rb"] + end + end + + context "with the rcov option" do + + it "should create a clobber_rcov task" do + MockTask.stub!(:create_task) + MockTask.should_receive(:create_task).with(:clobber_rcov) + SpecTask.new(:rcov) {|t| t.rcov = true} + end + + it "should setup the clobber_rcov task to remove the rcov directory" do + task = SpecTask.new(:rcov) {|t| t.rcov = true; t.rcov_dir = "path_to_rcov_directory"} + task.should_receive(:rm_r).with("path_to_rcov_directory") + MockTask.task(:clobber_rcov).call + end + + it "should make the clobber task depend on clobber_rcov" do + MockTask.stub!(:create_task) + MockTask.should_receive(:create_task).with(:clobber => [:clobber_rcov]) + SpecTask.new(:rcov) {|t| t.rcov = true} + end + + it "should make the rcov task depend on clobber_rcov" do + MockTask.stub!(:create_task) + MockTask.should_receive(:create_task).with(:rcov => :clobber_rcov) + SpecTask.new(:rcov) {|t| t.rcov = true} + end + + it "creates an rcov options list" do + MockTask.stub!(:create_task) + task = SpecTask.new(:rcov) {|t| t.rcov = true, t.rcov_opts = ['a','b']} + task.rcov_option_list.should == "a b" + end + end + end + end +end \ No newline at end of file diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/class_and_argument_parser_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/class_and_argument_parser_spec.rb new file mode 100755 index 00000000..1168818f --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/class_and_argument_parser_spec.rb @@ -0,0 +1,23 @@ +require 'spec_helper' + +module Spec + module Runner + describe ClassAndArgumentsParser, ".parse" do + + it "should use a single : to separate class names from arguments" do + ClassAndArgumentsParser.parse('Foo').should == ['Foo', nil] + ClassAndArgumentsParser.parse('Foo:arg').should == ['Foo', 'arg'] + ClassAndArgumentsParser.parse('Foo::Bar::Zap:arg').should == ['Foo::Bar::Zap', 'arg'] + ClassAndArgumentsParser.parse('Foo:arg1,arg2').should == ['Foo', 'arg1,arg2'] + ClassAndArgumentsParser.parse('Foo::Bar::Zap:arg1,arg2').should == ['Foo::Bar::Zap', 'arg1,arg2'] + ClassAndArgumentsParser.parse('Foo::Bar::Zap:drb://foo,drb://bar').should == ['Foo::Bar::Zap', 'drb://foo,drb://bar'] + end + + it "should raise an error when passed an empty string" do + lambda do + ClassAndArgumentsParser.parse('') + end.should raise_error("Couldn't parse \"\"") + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/command_line_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/command_line_spec.rb new file mode 100755 index 00000000..c22b3066 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/command_line_spec.rb @@ -0,0 +1,141 @@ +require 'spec_helper' + +module Spec + module Runner + describe CommandLine, ".run" do + with_sandboxed_options do + attr_reader :err, :out + before do + @err = options.error_stream + @out = options.output_stream + end + + it "should run directory" do + file = File.dirname(__FILE__) + '/../../../examples/passing' + run_with(OptionParser.parse([file,"-p","**/*_spec.rb,**/*_example.rb"], @err, @out)) + + @out.rewind + @out.read.should =~ /\d+ examples, 0 failures, 3 pending/n + end + + it "should run file" do + file = File.dirname(__FILE__) + '/../../../examples/failing/predicate_example.rb' + run_with(OptionParser.parse([file], @err, @out)) + + @out.rewind + @out.read.should =~ /3 examples, 2 failures/n + end + + it "should raise when file does not exist" do + file = File.dirname(__FILE__) + '/doesntexist' + + lambda { + Spec::Runner::CommandLine.run(OptionParser.parse([file], @err, @out)) + }.should raise_error + end + + it "should return true when in --generate-options mode" do + # NOTE - this used to say /dev/null but jruby hangs on that for some reason + Spec::Runner::CommandLine.run( + OptionParser.parse(['--generate-options', '/tmp/foo'], @err, @out) + ).should be_true + end + + it "should dump even if Interrupt exception is occurred" do + example_group = Class.new(::Spec::Example::ExampleGroup) do + describe("example_group") + it "no error" do + end + + it "should interrupt" do + raise Interrupt, "I'm interrupting" + end + end + + options = ::Spec::Runner::Options.new(@err, @out) + ::Spec::Runner::Options.should_receive(:new).with(@err, @out).and_return(options) + options.reporter.should_receive(:dump) + options.add_example_group(example_group) + + Spec::Runner::CommandLine.run(OptionParser.parse([], @err, @out)) + end + + it "should heckle when options have heckle_runner" do + example_group = Class.new(::Spec::Example::ExampleGroup).describe("example_group") do + it "no error" do + end + end + options = ::Spec::Runner::Options.new(@err, @out) + ::Spec::Runner::Options.should_receive(:new).with(@err, @out).and_return(options) + options.add_example_group example_group + + heckle_runner = mock("heckle_runner") + heckle_runner.should_receive(:heckle_with) + $rspec_mocks.__send__(:mocks).delete(heckle_runner) + + options.heckle_runner = heckle_runner + options.add_example_group(example_group) + + Spec::Runner::CommandLine.run(OptionParser.parse([], @err, @out)) + heckle_runner.rspec_verify + end + + it "should run examples backwards if options.reverse is true" do + options = ::Spec::Runner::Options.new(@err, @out) + ::Spec::Runner::Options.should_receive(:new).with(@err, @out).and_return(options) + options.reverse = true + + b1 = Class.new(Spec::Example::ExampleGroup) + b2 = Class.new(Spec::Example::ExampleGroup) + + b2.should_receive(:run).ordered + b1.should_receive(:run).ordered + + options.add_example_group(b1) + options.add_example_group(b2) + + Spec::Runner::CommandLine.run(OptionParser.parse([], @err, @out)) + end + + it "should pass its ExampleGroup to the reporter" do + example_group = describe("example_group") do + it "should" do + end + end + options = ::Spec::Runner::Options.new(@err, @out) + options.add_example_group(example_group) + + ::Spec::Runner::Options.should_receive(:new).with(@err, @out).and_return(options) + options.reporter.should_receive(:add_example_group).with(Spec::Example::ExampleGroupProxy.new(example_group)) + + Spec::Runner::CommandLine.run(OptionParser.parse([], @err, @out)) + end + + it "runs only selected Examples when options.examples is set" do + options = ::Spec::Runner::Options.new(@err, @out) + ::Spec::Runner::Options.should_receive(:new).with(@err, @out).and_return(options) + + options.examples << "example group expected example" + expected_example_was_run = false + unexpected_example_was_run = false + example_group = describe("example group") do + it "expected example" do + expected_example_was_run = true + end + it "unexpected example" do + unexpected_example_was_run = true + end + end + + options.reporter.should_receive(:add_example_group).with(Spec::Example::ExampleGroupProxy.new(example_group)) + + options.add_example_group example_group + run_with(options) + + expected_example_was_run.should be_true + unexpected_example_was_run.should be_false + end + end + end + end +end \ No newline at end of file diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/configuration_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/configuration_spec.rb new file mode 100755 index 00000000..ea545d64 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/configuration_spec.rb @@ -0,0 +1,320 @@ +require 'spec_helper' + +module Spec + module Runner + describe Configuration do + with_sandboxed_options do + with_sandboxed_config do + + describe "#mock_with" do + it "should default mock framework to rspec" do + config.mock_framework.should =~ /^spec\/adapters\/mock_frameworks\/rspec$/ + end + + it "should set rspec mocking explicitly" do + config.mock_with(:rspec) + config.mock_framework.should =~ /^spec\/adapters\/mock_frameworks\/rspec$/ + end + + it "should set mocha" do + config.mock_with(:mocha) + config.mock_framework.should =~ /^spec\/adapters\/mock_frameworks\/mocha$/ + end + + it "should set flexmock" do + config.mock_with(:flexmock) + config.mock_framework.should =~ /^spec\/adapters\/mock_frameworks\/flexmock$/ + end + + it "should set rr" do + config.mock_with(:rr) + config.mock_framework.should =~ /^spec\/adapters\/mock_frameworks\/rr$/ + end + + it "should set an arbitrary adapter module" do + adapter = Module.new + config.mock_with(adapter) + config.mock_framework.should == adapter + end + end + + describe "#include" do + + before(:each) do + @example_group_class = Class.new(::Spec::Example::ExampleGroupDouble) {} + Spec::Example::ExampleGroupFactory.register(:foobar, @example_group_class) + end + + it "should include the submitted module in ExampleGroup subclasses" do + mod = Module.new + config.include mod + Class.new(@example_group_class).included_modules.should include(mod) + end + + it "should scope modules to be included for a specific type" do + mod = Module.new + config.include mod, :type => :foobar + Class.new(@example_group_class).included_modules.should include(mod) + end + + it "should not include modules in a type they are not intended for" do + mod = Module.new + @other_example_group_class = Class.new(::Spec::Example::ExampleGroupDouble) + Spec::Example::ExampleGroupFactory.register(:baz, @other_example_group_class) + + config.include mod, :type => :foobar + + Class.new(@other_example_group_class).included_modules.should_not include(mod) + end + + it "accepts an Array of types" do + mod = Module.new + @other_example_group_class = Class.new(::Spec::Example::ExampleGroupDouble) + Spec::Example::ExampleGroupFactory.register(:baz, @other_example_group_class) + + config.include mod, :type => [:foobar, :baz] + + Class.new(@example_group_class).included_modules.should include(mod) + Class.new(@other_example_group_class).included_modules.should include(mod) + end + + end + + describe "#extend" do + + before(:each) do + @example_group_class = Class.new(::Spec::Example::ExampleGroupDouble) {} + Spec::Example::ExampleGroupFactory.register(:foobar, @example_group_class) + end + + it "should extend all groups" do + mod = Module.new + ExampleGroup.should_receive(:extend).with(mod) + Spec::Runner.configuration.extend mod + end + + it "should extend specified groups" do + mod = Module.new + @example_group_class.should_receive(:extend).with(mod) + Spec::Runner.configuration.extend mod, :type => :foobar + end + + it "should not extend non-specified groups" do + @other_example_group_class = Class.new(::Spec::Example::ExampleGroupDouble) + Spec::Example::ExampleGroupFactory.register(:baz, @other_example_group_class) + + mod = Module.new + @other_example_group_class.should_not_receive(:extend) + + Spec::Runner.configuration.extend mod, :type => :foobar + end + + end + end + + describe "ordering methods: " do + + before(:each) do + @special_example_group = Class.new(::Spec::Example::ExampleGroupDouble).describe("special_example_group") + @special_child_example_group = Class.new(@special_example_group).describe("special_child_example_group") + @nonspecial_example_group = Class.new(::Spec::Example::ExampleGroupDouble).describe("nonspecial_example_group") + Spec::Example::ExampleGroupFactory.register(:special, @special_example_group) + Spec::Example::ExampleGroupFactory.register(:special_child, @special_child_example_group) + Spec::Example::ExampleGroupFactory.register(:non_special, @nonspecial_example_group) + @example_group = @special_child_example_group.describe "Special Example Group" + @unselected_example_group = Class.new(@nonspecial_example_group).describe "Non Special Example Group" + end + + describe "#prepend_before" do + it "prepends the before block on all instances of the passed in type" do + order = [] + config.prepend_before(:all) do + order << :prepend__before_all + end + config.prepend_before(:all, :type => :special) do + order << :special_prepend__before_all + end + config.prepend_before(:all, :type => :special_child) do + order << :special_child_prepend__before_all + end + config.prepend_before(:each) do + order << :prepend__before_each + end + config.prepend_before(:each, :type => :special) do + order << :special_prepend__before_each + end + config.prepend_before(:each, :type => :special_child) do + order << :special_child_prepend__before_each + end + config.prepend_before(:all, :type => :non_special) do + order << :special_prepend__before_all + end + config.prepend_before(:each, :type => :non_special) do + order << :special_prepend__before_each + end + @example_group.it "calls prepend_before" do + end + + @example_group.run(options) + order.should == [ + :prepend__before_all, + :special_prepend__before_all, + :special_child_prepend__before_all, + :prepend__before_each, + :special_prepend__before_each, + :special_child_prepend__before_each + ] + end + end + + describe "#append_before" do + + it "calls append_before on the type" do + order = [] + config.append_before(:all) do + order << :append_before_all + end + config.append_before(:all, :type => :special) do + order << :special_append_before_all + end + config.append_before(:all, :type => :special_child) do + order << :special_child_append_before_all + end + config.append_before do # default is :each + order << :append_before_each + end + config.append_before(:each, :type => :special) do + order << :special_append_before_each + end + config.append_before(:each, :type => :special_child) do + order << :special_child_append_before_each + end + config.append_before(:all, :type => :non_special) do + order << :special_append_before_all + end + config.append_before(:each, :type => :non_special) do + order << :special_append_before_each + end + @example_group.it "calls append_before" do + end + + @example_group.run(options) + order.should == [ + :append_before_all, + :special_append_before_all, + :special_child_append_before_all, + :append_before_each, + :special_append_before_each, + :special_child_append_before_each + ] + end + end + + describe "#prepend_after" do + + it "prepends the after block on all instances of the passed in type" do + order = [] + config.prepend_after(:all) do + order << :prepend__after_all + end + config.prepend_after(:all, :type => :special) do + order << :special_prepend__after_all + end + config.prepend_after(:all, :type => :special) do + order << :special_child_prepend__after_all + end + config.prepend_after(:each) do + order << :prepend__after_each + end + config.prepend_after(:each, :type => :special) do + order << :special_prepend__after_each + end + config.prepend_after(:each, :type => :special) do + order << :special_child_prepend__after_each + end + config.prepend_after(:all, :type => :non_special) do + order << :special_prepend__after_all + end + config.prepend_after(:each, :type => :non_special) do + order << :special_prepend__after_each + end + @example_group.it "calls prepend_after" do + end + + @example_group.run(options) + order.should == [ + :special_child_prepend__after_each, + :special_prepend__after_each, + :prepend__after_each, + :special_child_prepend__after_all, + :special_prepend__after_all, + :prepend__after_all + ] + end + end + + describe "#append_after" do + + it "calls append_after on the type" do + order = [] + config.append_after(:all) do + order << :append__after_all + end + config.append_after(:all, :type => :special) do + order << :special_append__after_all + end + config.append_after(:all, :type => :special_child) do + order << :special_child_append__after_all + end + config.append_after(:each) do + order << :append__after_each + end + config.append_after(:each, :type => :special) do + order << :special_append__after_each + end + config.append_after(:each, :type => :special_child) do + order << :special_child_append__after_each + end + config.append_after(:all, :type => :non_special) do + order << :non_special_append_after_all + end + config.append_after(:each, :type => :non_special) do + order << :non_special_append_after_each + end + @example_group.it "calls append_after" do + end + + @example_group.run(options) + order.should == [ + :special_child_append__after_each, + :special_append__after_each, + :append__after_each, + :special_child_append__after_all, + :special_append__after_all, + :append__after_all + ] + end + + end + + describe "#ignore_backtrace_patterns" do + it "adds patterns to ignore in backtrace" do + config.ignore_backtrace_patterns /custom_pattern/, /shoulda/, /spork/ + config.ignored_backtrace_patterns.should include(/custom_pattern/) + config.ignored_backtrace_patterns.should include(/shoulda/) + config.ignored_backtrace_patterns.should include(/spork/) + end + end + + describe "#predicate_matchers (DEPRECATED)" do + it "is deprecated" do + Spec.should_receive(:deprecate) + config.predicate_matchers[:foo] = :bar? + end + end + + end + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/drb_command_line_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/drb_command_line_spec.rb new file mode 100755 index 00000000..0c17a7f6 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/drb_command_line_spec.rb @@ -0,0 +1,107 @@ +require 'spec_helper' + +module Spec + module Runner + unless jruby? + describe DrbCommandLine do + + context "without server running" do + it "prints error" do + err = out = StringIO.new + DrbCommandLine.run(OptionParser.parse(['--version'], err, out)) + + err.rewind + err.read.should =~ /No server is running/ + end + + it "returns nil" do + err = out = StringIO.new + result = DrbCommandLine.run(OptionParser.parse(['--version'], err, out)) + result.should be_false + end + end + + context "with server running" do + class ::CommandLineForDrbSpec + def self.run(argv, stderr, stdout) + orig_options = Spec::Runner.options + tmp_options = Spec::Runner::OptionParser.parse(argv, stderr, stdout) + Spec::Runner.use tmp_options + Spec::Runner::CommandLine.run(tmp_options) + ensure + Spec::Runner.use orig_options + end + end + + before(:all) do + DRb.start_service("druby://127.0.0.1:8989", ::CommandLineForDrbSpec) + @@drb_example_file_counter = 0 + end + + before(:each) do + create_dummy_spec_file + @@drb_example_file_counter = @@drb_example_file_counter + 1 + end + + after(:each) do + File.delete(@dummy_spec_filename) + end + + after(:all) do + DRb.stop_service + end + + it "returns true" do + err = out = StringIO.new + result = DrbCommandLine.run(OptionParser.parse(['--version'], err, out)) + result.should be_true + end + + it "should run against local server" do + out = run_spec_via_druby(['--version']) + out.should =~ /rspec \d+\.\d+\.\d+.*/n + end + + it "should output green colorized text when running with --colour option" do + out = run_spec_via_druby(["--colour", @dummy_spec_filename]) + out.should =~ /\e\[32m/n + end + + it "should output red colorized text when running with -c option" do + out = run_spec_via_druby(["-c", @dummy_spec_filename]) + out.should =~ /\e\[31m/n + end + + def create_dummy_spec_file + @dummy_spec_filename = File.expand_path(File.dirname(__FILE__)) + "/_dummy_spec#{@@drb_example_file_counter}.rb" + File.open(@dummy_spec_filename, 'w') do |f| + f.write %{ + describe "DUMMY CONTEXT for 'DrbCommandLine with -c option'" do + it "should be output with green bar" do + true.should be_true + end + + it "should be output with red bar" do + violated("I want to see a red bar!") + end + end + } + end + end + + def run_spec_via_druby(argv) + err, out = StringIO.new, StringIO.new + out.instance_eval do + def tty?; true end + end + options = ::Spec::Runner::Options.new(err, out) + options.argv = argv + Spec::Runner::DrbCommandLine.run(options) + out.rewind; out.read + end + end + + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/empty_file.txt b/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/empty_file.txt new file mode 100755 index 00000000..e69de29b diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/example_group_runner_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/example_group_runner_spec.rb new file mode 100755 index 00000000..2b1601ac --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/example_group_runner_spec.rb @@ -0,0 +1,26 @@ +require 'spec_helper' + +module Spec + module Runner + describe ExampleGroupRunner do + before(:each) do + err = StringIO.new('') + out = StringIO.new('') + @options = Options.new(err, out) + @runner = Spec::Runner::ExampleGroupRunner.new(@options) + end + + after(:each) do + Spec::Expectations.differ = nil + end + + describe "#load_files" do + it "should load UTF-8 encoded files" do + file = File.expand_path(File.dirname(__FILE__) + "/resources/utf8_encoded.rb") + @options.files << file + @runner.load_files(@options.files_to_load).should == @options.files_to_load + end + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/examples.txt b/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/examples.txt new file mode 100755 index 00000000..2fcbd355 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/examples.txt @@ -0,0 +1,2 @@ +Sir, if you were my husband, I would poison your drink. +Madam, if you were my wife, I would drink it. \ No newline at end of file diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/failed.txt b/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/failed.txt new file mode 100755 index 00000000..07c5442c --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/failed.txt @@ -0,0 +1,3 @@ +heckler_spec.rb +command_line_spec.rb +reporter_spec.rb \ No newline at end of file diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/base_formatter_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/base_formatter_spec.rb new file mode 100755 index 00000000..a904bf38 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/base_formatter_spec.rb @@ -0,0 +1,30 @@ +require 'spec_helper' + +module Spec + module Runner + module Formatter + describe BaseFormatter do + subject { BaseFormatter.new(nil,nil) } + it {should respond_to(:start ).with(1).argument } + it {should respond_to(:example_group_started).with(1).argument } + it {should respond_to(:example_started ).with(1).argument } + # -3 indicates that one of the arguments is optional, with a default + # value assigned. This is due to deprecated_pending_location. Once + # that is removed, this should be changed to 2. + it {should respond_to(:example_pending ).with(-3).arguments} + it {should respond_to(:example_passed ).with(1).argument } + it {should respond_to(:example_failed ).with(3).arguments} + it {should respond_to(:start_dump ).with(0).arguments} + it {should respond_to(:dump_failure ).with(2).arguments} + it {should respond_to(:dump_summary ).with(4).arguments} + it {should respond_to(:dump_pending ).with(0).arguments} + it {should respond_to(:close ).with(0).arguments} + + it "deprecates add_example_group" do + Spec.should_receive(:deprecate) + subject.add_example_group(stub('example group')) + end + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/base_text_formatter_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/base_text_formatter_spec.rb new file mode 100755 index 00000000..e3677ad4 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/base_text_formatter_spec.rb @@ -0,0 +1,113 @@ +require 'spec_helper' +require 'spec/runner/formatter/base_text_formatter' + +module Spec + module Runner + module Formatter + describe BaseTextFormatter do + + before :all do + @sandbox = "spec/sandbox" + end + + it "should create the directory contained in WHERE if it does not exist" do + FileUtils.should_receive(:mkdir_p).with(@sandbox) + File.stub!(:open) + BaseTextFormatter.new({},"#{@sandbox}/temp.rb") + end + + context "(deprecations)" do + before(:each) do + Kernel.stub!(:warn) + @io = StringIO.new + @options = mock('options') + @options.stub!(:dry_run).and_return(false) + @options.stub!(:colour).and_return(false) + @options.stub!(:autospec).and_return(false) + @formatter = Class.new(BaseTextFormatter) do + def method_that_class_magenta(message) + magenta(message) + end + def method_that_class_colourise(message, failure) + colourise(message, failure) + end + end.new(@options, @io) + @failure = stub('failure', :pending_fixed? => false) + end + + context "#colourise" do + it "warns when subclasses call colourise" do + Spec.should_receive(:deprecate) + @formatter.method_that_class_colourise('this message', @failure) + end + + it "delegates to colorize_failure" do + @formatter.should_receive(:colorize_failure).with('this message', @failure) + @formatter.colourise('this message', @failure) + end + end + + context "#magenta" do + it "warns when subclasses call magenta" do + Spec.should_receive(:deprecate).with(/#magenta/) + @formatter.method_that_class_magenta('this message') + end + + it "delegates to red" do + @formatter.should_receive(:red).with('this message') + @formatter.method_that_class_magenta('this message') + end + end + + end + + describe "#colour (protected)" do + before(:each) do + @original_RSPEC_COLOR = ENV['RSPEC_COLOR'] + end + + it "does not colorize when output_to_file? returns true" do + out = StringIO.new + options = stub('options', :colour => true, :autospec => false) + formatter = BaseTextFormatter.new(options,out) + formatter.stub!(:output_to_tty?).and_return(true) + formatter.stub!(:output_to_file?).and_return(true) + formatter.__send__(:colour, 'foo', "\e[32m").should == "foo" + end + + it "colorizes when colour? and output_to_tty? return true" do + out = StringIO.new + options = stub('options', :colour => true, :autospec => false) + formatter = BaseTextFormatter.new(options,out) + formatter.stub!(:output_to_tty?).and_return(true) + formatter.__send__(:colour, 'foo', "\e[32m").should == "\e[32mfoo\e[0m" + end + + it "colorizes when ENV['RSPEC_COLOR'] is set even if colour? and output_to_tty? return false" do + out = StringIO.new + options = stub('options', :colour => false) + formatter = BaseTextFormatter.new(options,out) + formatter.stub!(:output_to_tty?).and_return(false) + + ENV['RSPEC_COLOR'] = 'true' + + formatter.__send__(:colour, 'foo', "\e[32m").should == "\e[32mfoo\e[0m" + end + + it "colorizes when autospec? is true even if colour? and output_to_tty? return false" do + out = StringIO.new + options = stub('options', :colour => true, :autospec => true) + formatter = BaseTextFormatter.new(options,out) + formatter.stub!(:output_to_tty?).and_return(false) + + formatter.__send__(:colour, 'foo', "\e[32m").should == "\e[32mfoo\e[0m" + end + + after(:each) do + ENV['RSPEC_COLOR'] = @original_RSPEC_COLOR + end + end + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/failing_example_groups_formatter_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/failing_example_groups_formatter_spec.rb new file mode 100755 index 00000000..b390131a --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/failing_example_groups_formatter_spec.rb @@ -0,0 +1,45 @@ +require 'spec_helper' +require 'spec/runner/formatter/failing_example_groups_formatter' + +module Spec + module Runner + module Formatter + describe FailingExampleGroupsFormatter do + attr_reader :example_group, :formatter, :io + + before(:each) do + @io = StringIO.new + options = mock('options') + @formatter = FailingExampleGroupsFormatter.new(options, io) + @example_group = Class.new(::Spec::Example::ExampleGroup) + end + + it "should add example name for each failure" do + formatter.example_group_started(Spec::Example::ExampleGroupProxy.new(Class.new(::Spec::Example::ExampleGroupDouble).describe("b 1"))) + formatter.example_failed("e 1", nil, Spec::Runner::Reporter::Failure.new("g", nil, RuntimeError.new)) + formatter.example_group_started(Spec::Example::ExampleGroupProxy.new(Class.new(::Spec::Example::ExampleGroupDouble).describe("b 2"))) + formatter.example_failed("e 2", nil, Spec::Runner::Reporter::Failure.new("g", nil, RuntimeError.new)) + formatter.example_failed("e 3", nil, Spec::Runner::Reporter::Failure.new("g", nil, RuntimeError.new)) + io.string.should include("b 1") + io.string.should include("b 2") + end + + it "should delimit ExampleGroup superclass descriptions with :" do + parent_example_group = Class.new(example_group).describe("Parent") + child_example_group = Class.new(parent_example_group).describe("#child_method") + grand_child_example_group = Class.new(child_example_group).describe("GrandChild") + + formatter.example_group_started(Spec::Example::ExampleGroupProxy.new(grand_child_example_group)) + formatter.example_failed("failure", nil, ::Spec::Runner::Reporter::Failure.new("g", nil, RuntimeError.new)) + io.string.should == "Parent#child_method GrandChild\n" + end + + it "should remove druby url, which is used by Spec::Distributed" do + @formatter.example_group_started(Spec::Example::ExampleGroupProxy.new(Class.new(::Spec::Example::ExampleGroupDouble).describe("something something (druby://99.99.99.99:99)"))) + @formatter.example_failed("e 1", nil, ::Spec::Runner::Reporter::Failure.new("g", nil, RuntimeError.new)) + io.string.should == "something something\n" + end + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/failing_examples_formatter_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/failing_examples_formatter_spec.rb new file mode 100755 index 00000000..76d03fa3 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/failing_examples_formatter_spec.rb @@ -0,0 +1,33 @@ +require 'spec_helper' +require 'spec/runner/formatter/failing_examples_formatter' + +module Spec + module Runner + module Formatter + describe FailingExamplesFormatter do + before(:each) do + @io = StringIO.new + options = mock('options') + @formatter = FailingExamplesFormatter.new(options, @io) + end + + it "should add example name for each failure" do + example_group_1 = Class.new(::Spec::Example::ExampleGroupDouble).describe("A") + example_group_2 = Class.new(example_group_1).describe("B") + + @formatter.example_group_started(Spec::Example::ExampleGroupProxy.new(example_group_1)) + @formatter.example_failed(example_group_1.it("a1"){}, nil, ::Spec::Runner::Reporter::Failure.new("g", nil, RuntimeError.new)) + @formatter.example_group_started(Spec::Example::ExampleGroupProxy.new(example_group_2)) + @formatter.example_failed(example_group_2.it("b2"){}, nil, ::Spec::Runner::Reporter::Failure.new("g", nil, RuntimeError.new)) + @formatter.example_failed(example_group_2.it("b3"){}, nil, ::Spec::Runner::Reporter::Failure.new("g", nil, RuntimeError.new)) + @io.string.should eql(<<-EOF +A a1 +A B b2 +A B b3 +EOF +) + end + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/html_formatted-1.8.6-jruby.html b/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/html_formatted-1.8.6-jruby.html new file mode 100755 index 00000000..029cee62 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/html_formatted-1.8.6-jruby.html @@ -0,0 +1,377 @@ + + + + + RSpec results + + + + + + + + +
    + +
    +
    +

    RSpec Code Examples

    +
    + +
    +

     

    +

     

    +
    +
    + +
    +
    +
    +
    Mocker
    + +
    should be able to call mock()
    + + + +
    + should fail when expected message not received +
    +
    Mock "poke me" expected :poke with (any args) once, but received it 0 times
    +
    examples/failing/mocking_example.rb:11:
    +spec/spec_helper.rb:42:in `run_with'
    +./spec/spec/runner/formatter/html_formatter_spec.rb:41:
    +./spec/spec/runner/formatter/html_formatter_spec.rb:29:in `chdir'
    +./spec/spec/runner/formatter/html_formatter_spec.rb:29:
    +
    9  it "should fail when expected message not received" do
    +10    mock = mock("poke me")
    +11    mock.should_receive(:poke)
    +12  end
    +13  
    +
    +
    + +
    + should fail when messages are received out of order +
    +
    Mock "one two three" received :three out of order
    +
    examples/failing/mocking_example.rb:20:
    +spec/spec_helper.rb:42:in `run_with'
    +./spec/spec/runner/formatter/html_formatter_spec.rb:41:
    +./spec/spec/runner/formatter/html_formatter_spec.rb:29:in `chdir'
    +./spec/spec/runner/formatter/html_formatter_spec.rb:29:
    +
    18    mock.should_receive(:three).ordered
    +19    mock.one
    +20    mock.three
    +21    mock.two
    +22  end
    +
    +
    + +
    + should get yelled at when sending unexpected messages +
    +
    Mock "don't talk to me" expected :any_message_at_all with (no args) 0 times, but received it once
    +
    examples/failing/mocking_example.rb:27:
    +spec/spec_helper.rb:42:in `run_with'
    +./spec/spec/runner/formatter/html_formatter_spec.rb:41:
    +./spec/spec/runner/formatter/html_formatter_spec.rb:29:in `chdir'
    +./spec/spec/runner/formatter/html_formatter_spec.rb:29:
    +
    25    mock = mock("don't talk to me")
    +26    mock.should_not_receive(:any_message_at_all)
    +27    mock.any_message_at_all
    +28  end
    +
    +
    + +
    + has a bug we need to fix +
    +
    Expected pending 'here is the bug' to fail. No Error was raised.
    +
    examples/failing/mocking_example.rb:31:
    +spec/spec_helper.rb:42:in `run_with'
    +./spec/spec/runner/formatter/html_formatter_spec.rb:41:
    +./spec/spec/runner/formatter/html_formatter_spec.rb:29:in `chdir'
    +./spec/spec/runner/formatter/html_formatter_spec.rb:29:
    +
    29
    +30  it "has a bug we need to fix" do
    +31    pending "here is the bug" do
    +32      # Actually, no. It's fixed. This will fail because it passes :-)
    +33      mock = mock("Bug")
    +
    +
    +
    +
    +
    +
    +
    Running specs with --diff
    + + +
    + should print diff of different strings +
    +
    expected: "RSpec is a\nbehaviour driven development\nframework for Ruby\n",
    +     got: "RSpec is a\nbehavior driven development\nframework for Ruby\n" (using ==)
    +
    + Diff:
    +@@ -1,4 +1,4 @@
    + RSpec is a
    +-behaviour driven development
    ++behavior driven development
    + framework for Ruby
    +
    +
    examples/failing/diffing_spec.rb:13:
    +spec/spec_helper.rb:42:in `run_with'
    +./spec/spec/runner/formatter/html_formatter_spec.rb:41:
    +./spec/spec/runner/formatter/html_formatter_spec.rb:29:in `chdir'
    +./spec/spec/runner/formatter/html_formatter_spec.rb:29:
    +
    11framework for Ruby
    +12EOF
    +13    usa.should == uk
    +14  end
    +
    +
    + +
    + should print diff of different objects' pretty representation +
    +
    +expected <Animal
    +name=bob,
    +species=tortoise
    +>
    +
    +     got <Animal
    +name=bob,
    +species=giraffe
    +>
    +
    +
    +(compared using eql?)
    +
    +
    examples/failing/diffing_spec.rb:34:
    +spec/spec_helper.rb:42:in `run_with'
    +./spec/spec/runner/formatter/html_formatter_spec.rb:41:
    +./spec/spec/runner/formatter/html_formatter_spec.rb:29:in `chdir'
    +./spec/spec/runner/formatter/html_formatter_spec.rb:29:
    +
    32    expected = Animal.new "bob", "giraffe"
    +33    actual   = Animal.new "bob", "tortoise"
    +34    expected.should eql(actual)
    +35  end
    +36end
    +
    +
    +
    +
    +
    +
    +
    A consumer of a stub
    + +
    should be able to stub methods on any Object
    +
    +
    +
    +
    +
    A stubbed method on a class
    + +
    should return the stubbed value
    + +
    should revert to the original method after each spec
    + +
    can stub! and mock the same message
    +
    +
    +
    +
    +
    A mock
    + +
    can stub!
    + +
    can stub! and mock
    + +
    can stub! and mock the same message
    +
    +
    +
    +
    +
    pending example (using pending method)
    + + +
    should be reported as "PENDING: for some reason" (PENDING: for some reason)
    +
    +
    +
    +
    +
    pending example (with no block)
    + + +
    should be reported as "PENDING: Not Yet Implemented" (PENDING: Not Yet Implemented)
    +
    +
    +
    +
    +
    pending example (with block for pending)
    + + +
    should have a failing block, passed to pending, reported as "PENDING: for some reason" (PENDING: for some reason)
    +
    +
    + + +
    +
    + + diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/html_formatted-1.8.6.html b/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/html_formatted-1.8.6.html new file mode 100755 index 00000000..1461d03e --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/html_formatted-1.8.6.html @@ -0,0 +1,377 @@ + + + + + RSpec results + + + + + + + + +
    + +
    +
    +

    RSpec Code Examples

    +
    + +
    +

     

    +

     

    +
    +
    + +
    +
    +
    +
    Mocker
    + +
    should be able to call mock()
    + + + +
    + should fail when expected message not received +
    +
    Mock "poke me" expected :poke with (any args) once, but received it 0 times
    +
    ./examples/failing/mocking_example.rb:11:
    +./spec/spec_helper.rb:44:in `run_with'
    +./spec/spec/runner/formatter/html_formatter_spec.rb:41:
    +./spec/spec/runner/formatter/html_formatter_spec.rb:29:in `chdir'
    +./spec/spec/runner/formatter/html_formatter_spec.rb:29:
    +
    9  it "should fail when expected message not received" do
    +10    mock = mock("poke me")
    +11    mock.should_receive(:poke)
    +12  end
    +13  
    +
    +
    + +
    + should fail when messages are received out of order +
    +
    Mock "one two three" received :three out of order
    +
    ./examples/failing/mocking_example.rb:20:
    +./spec/spec_helper.rb:44:in `run_with'
    +./spec/spec/runner/formatter/html_formatter_spec.rb:41:
    +./spec/spec/runner/formatter/html_formatter_spec.rb:29:in `chdir'
    +./spec/spec/runner/formatter/html_formatter_spec.rb:29:
    +
    18    mock.should_receive(:three).ordered
    +19    mock.one
    +20    mock.three
    +21    mock.two
    +22  end
    +
    +
    + +
    + should get yelled at when sending unexpected messages +
    +
    Mock "don't talk to me" expected :any_message_at_all with (no args) 0 times, but received it once
    +
    ./examples/failing/mocking_example.rb:27:
    +./spec/spec_helper.rb:44:in `run_with'
    +./spec/spec/runner/formatter/html_formatter_spec.rb:41:
    +./spec/spec/runner/formatter/html_formatter_spec.rb:29:in `chdir'
    +./spec/spec/runner/formatter/html_formatter_spec.rb:29:
    +
    25    mock = mock("don't talk to me")
    +26    mock.should_not_receive(:any_message_at_all)
    +27    mock.any_message_at_all
    +28  end
    +
    +
    + +
    + has a bug we need to fix +
    +
    Expected pending 'here is the bug' to fail. No Error was raised.
    +
    ./examples/failing/mocking_example.rb:31:
    +./spec/spec_helper.rb:44:in `run_with'
    +./spec/spec/runner/formatter/html_formatter_spec.rb:41:
    +./spec/spec/runner/formatter/html_formatter_spec.rb:29:in `chdir'
    +./spec/spec/runner/formatter/html_formatter_spec.rb:29:
    +
    29
    +30  it "has a bug we need to fix" do
    +31    pending "here is the bug" do
    +32      # Actually, no. It's fixed. This will fail because it passes :-)
    +33      mock = mock("Bug")
    +
    +
    +
    +
    +
    +
    +
    Running specs with --diff
    + + +
    + should print diff of different strings +
    +
    expected: "RSpec is a\nbehaviour driven development\nframework for Ruby\n",
    +     got: "RSpec is a\nbehavior driven development\nframework for Ruby\n" (using ==)
    +
    + Diff:
    +@@ -1,4 +1,4 @@
    + RSpec is a
    +-behaviour driven development
    ++behavior driven development
    + framework for Ruby
    +
    +
    ./examples/failing/diffing_spec.rb:13:
    +./spec/spec_helper.rb:44:in `run_with'
    +./spec/spec/runner/formatter/html_formatter_spec.rb:41:
    +./spec/spec/runner/formatter/html_formatter_spec.rb:29:in `chdir'
    +./spec/spec/runner/formatter/html_formatter_spec.rb:29:
    +
    11framework for Ruby
    +12EOF
    +13    usa.should == uk
    +14  end
    +
    +
    + +
    + should print diff of different objects' pretty representation +
    +
    +expected <Animal
    +name=bob,
    +species=tortoise
    +>
    +
    +     got <Animal
    +name=bob,
    +species=giraffe
    +>
    +
    +
    +(compared using eql?)
    +
    +
    ./examples/failing/diffing_spec.rb:34:
    +./spec/spec_helper.rb:44:in `run_with'
    +./spec/spec/runner/formatter/html_formatter_spec.rb:41:
    +./spec/spec/runner/formatter/html_formatter_spec.rb:29:in `chdir'
    +./spec/spec/runner/formatter/html_formatter_spec.rb:29:
    +
    32    expected = Animal.new "bob", "giraffe"
    +33    actual   = Animal.new "bob", "tortoise"
    +34    expected.should eql(actual)
    +35  end
    +36end
    +
    +
    +
    +
    +
    +
    +
    A consumer of a stub
    + +
    should be able to stub methods on any Object
    +
    +
    +
    +
    +
    A stubbed method on a class
    + +
    should return the stubbed value
    + +
    should revert to the original method after each spec
    + +
    can stub! and mock the same message
    +
    +
    +
    +
    +
    A mock
    + +
    can stub!
    + +
    can stub! and mock
    + +
    can stub! and mock the same message
    +
    +
    +
    +
    +
    pending example (using pending method)
    + + +
    should be reported as "PENDING: for some reason" (PENDING: for some reason)
    +
    +
    +
    +
    +
    pending example (with no block)
    + + +
    should be reported as "PENDING: Not Yet Implemented" (PENDING: Not Yet Implemented)
    +
    +
    +
    +
    +
    pending example (with block for pending)
    + + +
    should have a failing block, passed to pending, reported as "PENDING: for some reason" (PENDING: for some reason)
    +
    +
    + + +
    +
    + + diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/html_formatted-1.8.7.html b/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/html_formatted-1.8.7.html new file mode 100755 index 00000000..5e489bba --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/html_formatted-1.8.7.html @@ -0,0 +1,377 @@ + + + + + RSpec results + + + + + + + + +
    + +
    +
    +

    RSpec Code Examples

    +
    + +
    +

     

    +

     

    +
    +
    + +
    +
    +
    +
    Mocker
    + +
    should be able to call mock()
    + + + +
    + should fail when expected message not received +
    +
    Mock "poke me" expected :poke with (any args) once, but received it 0 times
    +
    ./examples/failing/mocking_example.rb:11:
    +./spec/spec_helper.rb:42:in `run_with'
    +./spec/spec/runner/formatter/html_formatter_spec.rb:41:
    +./spec/spec/runner/formatter/html_formatter_spec.rb:29:in `chdir'
    +./spec/spec/runner/formatter/html_formatter_spec.rb:29:
    +
    9  it "should fail when expected message not received" do
    +10    mock = mock("poke me")
    +11    mock.should_receive(:poke)
    +12  end
    +13  
    +
    +
    + +
    + should fail when messages are received out of order +
    +
    Mock "one two three" received :three out of order
    +
    ./examples/failing/mocking_example.rb:20:
    +./spec/spec_helper.rb:42:in `run_with'
    +./spec/spec/runner/formatter/html_formatter_spec.rb:41:
    +./spec/spec/runner/formatter/html_formatter_spec.rb:29:in `chdir'
    +./spec/spec/runner/formatter/html_formatter_spec.rb:29:
    +
    18    mock.should_receive(:three).ordered
    +19    mock.one
    +20    mock.three
    +21    mock.two
    +22  end
    +
    +
    + +
    + should get yelled at when sending unexpected messages +
    +
    Mock "don't talk to me" expected :any_message_at_all with (no args) 0 times, but received it once
    +
    ./examples/failing/mocking_example.rb:27:
    +./spec/spec_helper.rb:42:in `run_with'
    +./spec/spec/runner/formatter/html_formatter_spec.rb:41:
    +./spec/spec/runner/formatter/html_formatter_spec.rb:29:in `chdir'
    +./spec/spec/runner/formatter/html_formatter_spec.rb:29:
    +
    25    mock = mock("don't talk to me")
    +26    mock.should_not_receive(:any_message_at_all)
    +27    mock.any_message_at_all
    +28  end
    +
    +
    + +
    + has a bug we need to fix +
    +
    Expected pending 'here is the bug' to fail. No Error was raised.
    +
    ./examples/failing/mocking_example.rb:31:
    +./spec/spec_helper.rb:42:in `run_with'
    +./spec/spec/runner/formatter/html_formatter_spec.rb:41:
    +./spec/spec/runner/formatter/html_formatter_spec.rb:29:in `chdir'
    +./spec/spec/runner/formatter/html_formatter_spec.rb:29:
    +
    29
    +30  it "has a bug we need to fix" do
    +31    pending "here is the bug" do
    +32      # Actually, no. It's fixed. This will fail because it passes :-)
    +33      mock = mock("Bug")
    +
    +
    +
    +
    +
    +
    +
    Running specs with --diff
    + + +
    + should print diff of different strings +
    +
    expected: "RSpec is a\nbehaviour driven development\nframework for Ruby\n",
    +     got: "RSpec is a\nbehavior driven development\nframework for Ruby\n" (using ==)
    +
    + Diff:
    +@@ -1,4 +1,4 @@
    + RSpec is a
    +-behaviour driven development
    ++behavior driven development
    + framework for Ruby
    +
    +
    ./examples/failing/diffing_spec.rb:13:
    +./spec/spec_helper.rb:42:in `run_with'
    +./spec/spec/runner/formatter/html_formatter_spec.rb:41:
    +./spec/spec/runner/formatter/html_formatter_spec.rb:29:in `chdir'
    +./spec/spec/runner/formatter/html_formatter_spec.rb:29:
    +
    11framework for Ruby
    +12EOF
    +13    usa.should == uk
    +14  end
    +
    +
    + +
    + should print diff of different objects' pretty representation +
    +
    +expected <Animal
    +name=bob,
    +species=tortoise
    +>
    +
    +     got <Animal
    +name=bob,
    +species=giraffe
    +>
    +
    +
    +(compared using eql?)
    +
    +
    ./examples/failing/diffing_spec.rb:34:
    +./spec/spec_helper.rb:42:in `run_with'
    +./spec/spec/runner/formatter/html_formatter_spec.rb:41:
    +./spec/spec/runner/formatter/html_formatter_spec.rb:29:in `chdir'
    +./spec/spec/runner/formatter/html_formatter_spec.rb:29:
    +
    32    expected = Animal.new "bob", "giraffe"
    +33    actual   = Animal.new "bob", "tortoise"
    +34    expected.should eql(actual)
    +35  end
    +36end
    +
    +
    +
    +
    +
    +
    +
    A consumer of a stub
    + +
    should be able to stub methods on any Object
    +
    +
    +
    +
    +
    A stubbed method on a class
    + +
    should return the stubbed value
    + +
    should revert to the original method after each spec
    + +
    can stub! and mock the same message
    +
    +
    +
    +
    +
    A mock
    + +
    can stub!
    + +
    can stub! and mock
    + +
    can stub! and mock the same message
    +
    +
    +
    +
    +
    pending example (using pending method)
    + + +
    should be reported as "PENDING: for some reason" (PENDING: for some reason)
    +
    +
    +
    +
    +
    pending example (with no block)
    + + +
    should be reported as "PENDING: Not Yet Implemented" (PENDING: Not Yet Implemented)
    +
    +
    +
    +
    +
    pending example (with block for pending)
    + + +
    should have a failing block, passed to pending, reported as "PENDING: for some reason" (PENDING: for some reason)
    +
    +
    + + +
    +
    + + diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/html_formatted-1.9.1.html b/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/html_formatted-1.9.1.html new file mode 100755 index 00000000..5d0be3bf --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/html_formatted-1.9.1.html @@ -0,0 +1,377 @@ + + + + + RSpec results + + + + + + + + +
    + +
    +
    +

    RSpec Code Examples

    +
    + +
    +

     

    +

     

    +
    +
    + +
    +
    +
    +
    Mocker
    + +
    should be able to call mock()
    + + + +
    + should fail when expected message not received +
    +
    Mock "poke me" expected :poke with (any args) once, but received it 0 times
    +
    ./examples/failing/mocking_example.rb:11:in `block (2 levels) in '
    +./spec/spec_helper.rb:42:in `run_with'
    +./spec/spec/runner/formatter/html_formatter_spec.rb:41:in `block (4 levels) in '
    +./spec/spec/runner/formatter/html_formatter_spec.rb:29:in `chdir'
    +./spec/spec/runner/formatter/html_formatter_spec.rb:29:in `block (3 levels) in '
    +
    9  it "should fail when expected message not received" do
    +10    mock = mock("poke me")
    +11    mock.should_receive(:poke)
    +12  end
    +13  
    +
    +
    + +
    + should fail when messages are received out of order +
    +
    Mock "one two three" received :three out of order
    +
    ./examples/failing/mocking_example.rb:20:in `block (2 levels) in '
    +./spec/spec_helper.rb:42:in `run_with'
    +./spec/spec/runner/formatter/html_formatter_spec.rb:41:in `block (4 levels) in '
    +./spec/spec/runner/formatter/html_formatter_spec.rb:29:in `chdir'
    +./spec/spec/runner/formatter/html_formatter_spec.rb:29:in `block (3 levels) in '
    +
    18    mock.should_receive(:three).ordered
    +19    mock.one
    +20    mock.three
    +21    mock.two
    +22  end
    +
    +
    + +
    + should get yelled at when sending unexpected messages +
    +
    Mock "don't talk to me" expected :any_message_at_all with (no args) 0 times, but received it once
    +
    ./examples/failing/mocking_example.rb:27:in `block (2 levels) in '
    +./spec/spec_helper.rb:42:in `run_with'
    +./spec/spec/runner/formatter/html_formatter_spec.rb:41:in `block (4 levels) in '
    +./spec/spec/runner/formatter/html_formatter_spec.rb:29:in `chdir'
    +./spec/spec/runner/formatter/html_formatter_spec.rb:29:in `block (3 levels) in '
    +
    25    mock = mock("don't talk to me")
    +26    mock.should_not_receive(:any_message_at_all)
    +27    mock.any_message_at_all
    +28  end
    +
    +
    + +
    + has a bug we need to fix +
    +
    Expected pending 'here is the bug' to fail. No Error was raised.
    +
    ./examples/failing/mocking_example.rb:31:in `block (2 levels) in '
    +./spec/spec_helper.rb:42:in `run_with'
    +./spec/spec/runner/formatter/html_formatter_spec.rb:41:in `block (4 levels) in '
    +./spec/spec/runner/formatter/html_formatter_spec.rb:29:in `chdir'
    +./spec/spec/runner/formatter/html_formatter_spec.rb:29:in `block (3 levels) in '
    +
    29
    +30  it "has a bug we need to fix" do
    +31    pending "here is the bug" do
    +32      # Actually, no. It's fixed. This will fail because it passes :-)
    +33      mock = mock("Bug")
    +
    +
    +
    +
    +
    +
    +
    Running specs with --diff
    + + +
    + should print diff of different strings +
    +
    expected: "RSpec is a\nbehaviour driven development\nframework for Ruby\n",
    +     got: "RSpec is a\nbehavior driven development\nframework for Ruby\n" (using ==)
    +
    + Diff:
    +@@ -1,4 +1,4 @@
    + RSpec is a
    +-behaviour driven development
    ++behavior driven development
    + framework for Ruby
    +
    +
    ./examples/failing/diffing_spec.rb:13:in `block (2 levels) in '
    +./spec/spec_helper.rb:42:in `run_with'
    +./spec/spec/runner/formatter/html_formatter_spec.rb:41:in `block (4 levels) in '
    +./spec/spec/runner/formatter/html_formatter_spec.rb:29:in `chdir'
    +./spec/spec/runner/formatter/html_formatter_spec.rb:29:in `block (3 levels) in '
    +
    11framework for Ruby
    +12EOF
    +13    usa.should == uk
    +14  end
    +
    +
    + +
    + should print diff of different objects' pretty representation +
    +
    +expected <Animal
    +name=bob,
    +species=tortoise
    +>
    +
    +     got <Animal
    +name=bob,
    +species=giraffe
    +>
    +
    +
    +(compared using eql?)
    +
    +
    ./examples/failing/diffing_spec.rb:34:in `block (2 levels) in '
    +./spec/spec_helper.rb:42:in `run_with'
    +./spec/spec/runner/formatter/html_formatter_spec.rb:41:in `block (4 levels) in '
    +./spec/spec/runner/formatter/html_formatter_spec.rb:29:in `chdir'
    +./spec/spec/runner/formatter/html_formatter_spec.rb:29:in `block (3 levels) in '
    +
    32    expected = Animal.new "bob", "giraffe"
    +33    actual   = Animal.new "bob", "tortoise"
    +34    expected.should eql(actual)
    +35  end
    +36end
    +
    +
    +
    +
    +
    +
    +
    A consumer of a stub
    + +
    should be able to stub methods on any Object
    +
    +
    +
    +
    +
    A stubbed method on a class
    + +
    should return the stubbed value
    + +
    should revert to the original method after each spec
    + +
    can stub! and mock the same message
    +
    +
    +
    +
    +
    A mock
    + +
    can stub!
    + +
    can stub! and mock
    + +
    can stub! and mock the same message
    +
    +
    +
    +
    +
    pending example (using pending method)
    + + +
    should be reported as "PENDING: for some reason" (PENDING: for some reason)
    +
    +
    +
    +
    +
    pending example (with no block)
    + + +
    should be reported as "PENDING: Not Yet Implemented" (PENDING: Not Yet Implemented)
    +
    +
    +
    +
    +
    pending example (with block for pending)
    + + +
    should have a failing block, passed to pending, reported as "PENDING: for some reason" (PENDING: for some reason)
    +
    +
    + + +
    +
    + + diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/html_formatter_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/html_formatter_spec.rb new file mode 100755 index 00000000..bbff1ef4 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/html_formatter_spec.rb @@ -0,0 +1,118 @@ +# require 'spec_helper' + +begin # See rescue all the way at the bottom + +require 'nokogiri' # Needed to compare generated with wanted HTML +require 'spec/runner/formatter/html_formatter' + +module Spec + module Runner + module Formatter + describe HtmlFormatter do + + treats_method_missing_as_private + + attr_reader :root, :expected_file, :expected_html + + before do + @root = File.expand_path("#{File.dirname(__FILE__)}/../../../..") + suffix = jruby? ? '-jruby' : '' + @expected_file = "#{File.dirname(__FILE__)}/html_formatted-#{::RUBY_VERSION}#{suffix}.html" + raise "There is no HTML file with expected content for this platform: #{expected_file}" unless File.file?(expected_file) + @expected_html = File.read(expected_file) + end + + # Uncomment this line temporarily in order to overwrite the expected with actual. + # Use with care!!! + # describe "file generator" do + # it "generates a new comparison file" do + # Dir.chdir(root) do + # args = [ + # 'examples/failing/mocking_example.rb', + # 'examples/failing/diffing_spec.rb', + # 'examples/passing/stubbing_example.rb', + # 'examples/passing/pending_example.rb', + # '--format', + # 'html', + # "--diff" + # ] + # err = StringIO.new + # out = StringIO.new + # run_with ::Spec::Runner::OptionParser.parse(args, err, out) + # + # seconds = /\d+\.\d+ seconds/ + # html = out.string.gsub seconds, 'x seconds' + # + # File.open(expected_file, 'w') {|io| io.write(html)} + # end + # end + # end + + it "should produce HTML identical to the one we designed manually with --diff" do + Dir.chdir(root) do + args = [ + 'examples/failing/mocking_example.rb', + 'examples/failing/diffing_spec.rb', + 'examples/passing/stubbing_example.rb', + 'examples/passing/pending_example.rb', + '--format', + 'html', + "--diff" + ] + err = StringIO.new + out = StringIO.new + run_with ::Spec::Runner::OptionParser.parse(args, err, out) + + seconds = /\d+\.\d+ seconds/ + html = out.string.gsub seconds, 'x seconds' + expected_html.gsub! seconds, 'x seconds' + + doc = Nokogiri::HTML(html) + backtraces = doc.search("div.backtrace").collect {|e| e.at("pre").inner_html} + doc.css("div.backtrace").remove + + expected_doc = Nokogiri::HTML(expected_html) + expected_backtraces = expected_doc.search("div.backtrace").collect {|e| e.at("pre").inner_html} + expected_doc.search("div.backtrace").remove + + doc.inner_html.should == expected_doc.inner_html + + expected_backtraces.each_with_index do |expected_line, i| + expected_path, expected_line_number, expected_suffix = expected_line.split(':') + actual_path, actual_line_number, actual_suffix = backtraces[i].split(':') + File.expand_path(actual_path).should == File.expand_path(expected_path) + actual_line_number.should == expected_line_number + end + end + end + + it "should produce HTML identical to the one we designed manually with --dry-run" do + Dir.chdir(root) do + args = [ + 'examples/failing/mocking_example.rb', + 'examples/failing/diffing_spec.rb', + 'examples/passing/stubbing_example.rb', + 'examples/passing/pending_example.rb', + '--format', + 'html', + "--dry-run" + ] + err = StringIO.new + out = StringIO.new + run_with ::Spec::Runner::OptionParser.parse(args, err, out) + + seconds = /\d+\.\d+ seconds/ + html = out.string.gsub seconds, 'x seconds' + expected_html.gsub! seconds, 'x seconds' + + html.should =~ /This was a dry-run/m + end + end + end + end + end +end + +rescue LoadError + warn "nokogiri not loaded -- skipping HtmlFormatter specs" +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/nested_text_formatter_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/nested_text_formatter_spec.rb new file mode 100755 index 00000000..29e96ff5 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/nested_text_formatter_spec.rb @@ -0,0 +1,305 @@ +require 'spec_helper' +require 'spec/runner/formatter/nested_text_formatter' + +module Spec + module Runner + module Formatter + describe NestedTextFormatter do + with_sandboxed_options do + attr_reader :io, :options, :formatter, :example_group + before(:each) do + @io = StringIO.new + options.stub!(:dry_run).and_return(false) + options.stub!(:colour).and_return(false) + @formatter = NestedTextFormatter.new(options, io) + @example_group = Class.new(::Spec::Example::ExampleGroupDouble).describe("ExampleGroup") + @example_group.example("example") {} + end + + describe "where ExampleGroup has no superclass with a description" do + def example_group_started + formatter.example_group_started(Spec::Example::ExampleGroupProxy.new(example_group)) + end + + before do + example_group_started + end + + describe "#dump_summary" do + it "should produce standard summary without pending when pending has a 0 count" do + formatter.dump_summary(3, 2, 1, 0) + io.string.should == <<-OUT +ExampleGroup + +Finished in 3 seconds + +2 examples, 1 failure +OUT + end + + it "should produce standard summary" do + formatter.dump_summary(3, 2, 1, 4) + io.string.should == <<-OUT +ExampleGroup + +Finished in 3 seconds + +2 examples, 1 failure, 4 pending +OUT + end + end + + describe "#example_group_started" do + describe "when ExampleGroup has a nested description" do + + describe "when ExampleGroup has no parents with nested description" do + it "should push ExampleGroup name" do + io.string.should eql("ExampleGroup\n") + end + end + + describe "when ExampleGroup has one parent with nested description" do + attr_reader :child_example_group + def example_group_started + @child_example_group = Class.new(example_group).describe("Child ExampleGroup") + end + + describe "and parent ExampleGroups have not been printed" do + before do + formatter.example_group_started(Spec::Example::ExampleGroupProxy.new(child_example_group)) + end + + it "should push ExampleGroup name with two spaces of indentation" do + io.string.should == <<-OUT +ExampleGroup + Child ExampleGroup +OUT + end + end + + describe "and parent ExampleGroups have been printed" do + before do + formatter.example_group_started(Spec::Example::ExampleGroupProxy.new(example_group)) + io.string = "" + formatter.example_group_started(Spec::Example::ExampleGroupProxy.new(child_example_group)) + end + + it "should print only the indented ExampleGroup" do + io.string.should == <<-OUT + Child ExampleGroup +OUT + end + end + end + + describe "when ExampleGroup has two parents with nested description" do + attr_reader :child_example_group, :grand_child_example_group + def example_group_started + @child_example_group = Class.new(example_group).describe("Child ExampleGroup") + @grand_child_example_group = Class.new(child_example_group).describe("GrandChild ExampleGroup") + end + + describe "and parent ExampleGroups have not been printed" do + before do + formatter.example_group_started(Spec::Example::ExampleGroupProxy.new(grand_child_example_group)) + + end + + it "should print the entire nested ExampleGroup heirarchy" do + io.string.should == <<-OUT +ExampleGroup + Child ExampleGroup + GrandChild ExampleGroup +OUT + end + end + + describe "and parent ExampleGroups have been printed" do + before do + formatter.example_group_started(Spec::Example::ExampleGroupProxy.new(child_example_group)) + io.string = "" + formatter.example_group_started(Spec::Example::ExampleGroupProxy.new(grand_child_example_group)) + end + + it "should print only the indented ExampleGroup" do + io.string.should == <<-OUT + GrandChild ExampleGroup +OUT + end + end + end + end + + describe "when ExampleGroup nested description is blank" do + attr_reader :child_example_group + + describe "and parent ExampleGroups have not been printed" do + def example_group_started + @child_example_group = Class.new(example_group) + formatter.example_group_started(Spec::Example::ExampleGroupProxy.new(child_example_group)) + end + + it "should render only the parent ExampleGroup" do + io.string.should == <<-OUT +ExampleGroup +OUT + end + end + + describe "and parent ExampleGroups have been printed" do + def example_group_started + @child_example_group = Class.new(example_group) + formatter.example_group_started(Spec::Example::ExampleGroupProxy.new(example_group)) + io.string = "" + formatter.example_group_started(Spec::Example::ExampleGroupProxy.new(child_example_group)) + end + + it "should not render anything" do + io.string.should == "" + end + end + end + + describe "when ExampleGroup nested description is blank" do + def example_group_started + example_group.set_description + super + end + + it "should not render anything" do + io.string.should == "" + end + end + end + + describe "#example_failed" do + describe "where ExampleGroup has no superclasss with a description" do + describe "when having an error" do + it "should push failing spec name and failure number" do + formatter.example_failed( + example_group.it("spec"), + 98, + ::Spec::Runner::Reporter::Failure.new("g", "c s", RuntimeError.new) + ) + io.string.should == <<-OUT +ExampleGroup + spec (FAILED - 98) +OUT + end + end + + describe "when having an expectation failure" do + it "should push failing spec name and failure number" do + formatter.example_failed( + example_group.it("spec"), + 98, + ::Spec::Runner::Reporter::Failure.new("g", "c s", Spec::Expectations::ExpectationNotMetError.new) + ) + io.string.should == <<-OUT +ExampleGroup + spec (FAILED - 98) +OUT + end + end + end + + describe "where ExampleGroup has two superclasses with a description" do + attr_reader :child_example_group, :grand_child_example_group + + def example_group_started + @child_example_group = Class.new(example_group).describe("Child ExampleGroup") + @grand_child_example_group = Class.new(child_example_group).describe("GrandChild ExampleGroup") + formatter.example_group_started(Spec::Example::ExampleGroupProxy.new(grand_child_example_group)) + end + + describe "when having an error" do + it "should push failing spec name and failure number" do + formatter.example_failed( + grand_child_example_group.it("spec"), + 98, + ::Spec::Runner::Reporter::Failure.new("g", "c s", RuntimeError.new) + ) + io.string.should == <<-OUT +ExampleGroup + Child ExampleGroup + GrandChild ExampleGroup + spec (FAILED - 98) +OUT + end + end + + describe "when having an expectation" do + it "should push failing spec name and failure number" do + formatter.example_failed( + grand_child_example_group.it("spec"), + 98, + ::Spec::Runner::Reporter::Failure.new("g", "c s", Spec::Expectations::ExpectationNotMetError.new) + ) + io.string.should == <<-OUT +ExampleGroup + Child ExampleGroup + GrandChild ExampleGroup + spec (FAILED - 98) +OUT + end + end + end + end + + describe "#start" do + it "should push nothing on start" do + formatter.start(5) + io.string.should == <<-OUT +ExampleGroup +OUT + end + end + + describe "#start_dump" do + it "should push nothing on start dump" do + formatter.start_dump + io.string.should == <<-OUT +ExampleGroup +OUT + end + end + + describe "#example_passed" do + it "should push passing spec name" do + formatter.example_passed(example_group.it("spec")) + io.string.should == <<-OUT +ExampleGroup + spec +OUT + end + end + + describe "#example_pending" do + it "should push pending example name and message" do + formatter.example_pending(example_group.examples.first, 'reason', "#{__FILE__}:#{__LINE__}") + io.string.should == <<-OUT +ExampleGroup + example (PENDING: reason) +OUT + end + + it "should dump pending" do + formatter.example_pending(example_group.examples.first, 'reason', "#{__FILE__}:#{__LINE__}") + io.rewind + formatter.dump_pending + io.string.should =~ /Pending\:\n\nExampleGroup example \(reason\)\n/ + end + end + + def have_single_level_example_group_output(expected_output) + expected = "ExampleGroup\n #{expected_output}" + ::Spec::Matchers::SimpleMatcher.new(expected) do |actual| + actual == expected + end + end + end + end + end + end + end +end \ No newline at end of file diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/profile_formatter_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/profile_formatter_spec.rb new file mode 100755 index 00000000..338df708 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/profile_formatter_spec.rb @@ -0,0 +1,70 @@ +require 'spec_helper' +require 'spec/runner/formatter/profile_formatter' + +module Spec + module Runner + module Formatter + describe ProfileFormatter do + + treats_method_missing_as_private + + attr_reader :io, :formatter + before(:each) do + @io = StringIO.new + options = mock('options') + options.stub!(:colour).and_return(true) + options.stub!(:autospec).and_return(true) + @formatter = ProfileFormatter.new(options, io) + end + + it "should print a heading" do + formatter.start(0) + io.string.should eql("Profiling enabled.\n") + end + + it "should record the current time when starting a new example" do + now = Time.now + Time.stub!(:now).and_return(now) + formatter.example_started('should foo') + formatter.instance_variable_get("@time").should == now + end + + it "should correctly record a passed example" do + now = Time.now + Time.stub!(:now).and_return(now) + parent_example_group = Class.new(::Spec::Example::ExampleGroupDouble).describe('Parent') + child_example_group = Class.new(parent_example_group).describe('Child') + + formatter.example_group_started(Spec::Example::ExampleGroupProxy.new(child_example_group)) + + formatter.example_started('when foo') + Time.stub!(:now).and_return(now+1) + formatter.example_passed(stub('foo', :description => 'i like ice cream')) + + formatter.start_dump + io.string.should include('Parent Child') + end + + it "should sort the results in descending order" do + formatter.instance_variable_set("@example_times", [['a', 'a', 0.1], ['b', 'b', 0.3], ['c', 'c', 0.2]]) + formatter.start_dump + formatter.instance_variable_get("@example_times").should == [ ['b', 'b', 0.3], ['c', 'c', 0.2], ['a', 'a', 0.1]] + end + + it "should print the top 10 results" do + example_group = Class.new(::Spec::Example::ExampleGroup).describe("ExampleGroup") + formatter.example_group_started(Spec::Example::ExampleGroupProxy.new(example_group)) + formatter.instance_variable_set("@time", Time.now) + + 15.times do + formatter.example_passed(stub('foo', :description => 'i like ice cream')) + end + + io.should_receive(:print).exactly(10) + formatter.start_dump + end + + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/progress_bar_formatter_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/progress_bar_formatter_spec.rb new file mode 100755 index 00000000..ea96ca6c --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/progress_bar_formatter_spec.rb @@ -0,0 +1,149 @@ +require 'spec_helper' +require 'spec/runner/formatter/progress_bar_formatter' + +module Spec + module Runner + module Formatter + describe ProgressBarFormatter do + + treats_method_missing_as_private + + before(:each) do + @io = StringIO.new + @options = mock('options') + @options.stub!(:dry_run).and_return(false) + @options.stub!(:colour).and_return(false) + @options.stub!(:autospec).and_return(false) + @formatter = ProgressBarFormatter.new(@options, @io) + end + + it "should produce line break on start dump" do + @formatter.start_dump + @io.string.should eql("\n") + end + + it "should produce standard summary without pending when pending has a 0 count" do + @formatter.dump_summary(3, 2, 1, 0) + @io.string.should eql("\nFinished in 3 seconds\n\n2 examples, 1 failure\n") + end + + it "should produce standard summary" do + example_group = ExampleGroup.describe("example_group") do + specify "example" do + end + end + example = example_group.examples.first + @formatter.example_group_started(Spec::Example::ExampleGroupProxy.new(example_group)) + @formatter.example_pending(example, "message", "#{__FILE__}:#{__LINE__}") + @io.rewind + @formatter.dump_summary(3, 2, 1, 1) + @io.string.should eql(%Q| +Finished in 3 seconds + +2 examples, 1 failure, 1 pending +|) + end + + it "should push green dot for passing spec" do + @formatter.stub(:output_to_file?) {false} + @io.stub(:tty?) {true} + @options.stub(:colour) {true} + @formatter.example_passed("spec") + @io.string.should == "\e[32m.\e[0m" + end + + it "should push red F for failure spec" do + @formatter.stub(:output_to_file?) {false} + @io.stub(:tty?) {true} + @options.stub(:colour) {true} + @formatter.example_failed("spec", 98, Spec::Runner::Reporter::Failure.new("g", "c s", Spec::Expectations::ExpectationNotMetError.new)) + @io.string.should eql("\e[31mF\e[0m") + end + + it "should push red F for error spec" do + @formatter.stub(:output_to_file?) {false} + @io.stub(:tty?) {true} + @options.stub(:colour) {true} + @formatter.example_failed("spec", 98, Spec::Runner::Reporter::Failure.new("g", "c s", RuntimeError.new)) + @io.string.should eql("\e[31mF\e[0m") + end + + it "should push blue F for fixed pending spec" do + @formatter.stub(:output_to_file?) {false} + @io.stub(:tty?) {true} + @options.stub(:colour) {true} + @formatter.example_failed("spec", 98, Spec::Runner::Reporter::Failure.new("g", "c s", Spec::Example::PendingExampleFixedError.new)) + @io.string.should eql("\e[34mF\e[0m") + end + + it "should push nothing on start" do + @formatter.start(4) + @io.string.should eql("") + end + + it "should ensure two ':' in the first backtrace" do + backtrace = ["/tmp/x.rb:1", "/tmp/x.rb:2", "/tmp/x.rb:3"] + @formatter.format_backtrace(backtrace).should eql(<<-EOE.rstrip) +/tmp/x.rb:1: +/tmp/x.rb:2: +/tmp/x.rb:3: +EOE + + backtrace = ["/tmp/x.rb:1: message", "/tmp/x.rb:2", "/tmp/x.rb:3"] + @formatter.format_backtrace(backtrace).should eql(<<-EOE.rstrip) +/tmp/x.rb:1: message +/tmp/x.rb:2: +/tmp/x.rb:3: +EOE + end + + it "should dump pending with file and line number" do + example_group = ExampleGroup.describe("example_group") do + specify "example" do + end + end + example = example_group.examples.first + file = __FILE__ + line = __LINE__ - 5 + @formatter.example_group_started(Spec::Example::ExampleGroupProxy.new(example_group)) + @formatter.example_pending(example, "message", "#{__FILE__}:#{__LINE__}") + @formatter.dump_pending + @io.string.should =~ /Pending:\n\nexample_group example \(message\)\n#{file}:#{line}/m + end + end + + describe "ProgressBarFormatter outputting to custom out" do + before(:each) do + @out = mock("out") + @options = mock('options') + @out.stub!(:puts) + @formatter = ProgressBarFormatter.new(@options, @out) + @formatter.class.__send__ :public, :output_to_tty? + end + + after(:each) do + @formatter.class.__send__ :protected, :output_to_tty? + end + + it "should not throw NoMethodError on output_to_tty?" do + @out.should_receive(:tty?).and_raise(NoMethodError) + @formatter.output_to_tty?.should be_false + end + end + + describe ProgressBarFormatter, "dry run" do + before(:each) do + @io = StringIO.new + options = mock('options') + options.stub!(:dry_run).and_return(true) + @formatter = ProgressBarFormatter.new(options, @io) + end + + it "should not produce summary on dry run" do + @formatter.dump_summary(3, 2, 1, 0) + @io.string.should eql("") + end + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/snippet_extractor_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/snippet_extractor_spec.rb new file mode 100755 index 00000000..c683c39a --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/snippet_extractor_spec.rb @@ -0,0 +1,18 @@ +require 'spec_helper' +require 'spec/runner/formatter/snippet_extractor' + +module Spec + module Runner + module Formatter + describe SnippetExtractor do + it "should fall back on a default message when it doesn't understand a line" do + SnippetExtractor.new.snippet_for("blech").should == ["# Couldn't get snippet for blech", 1] + end + + it "should fall back on a default message when it doesn't find the file" do + SnippetExtractor.new.lines_around("blech", 8).should == "# Couldn't get snippet for blech" + end + end + end + end +end \ No newline at end of file diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/specdoc_formatter_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/specdoc_formatter_spec.rb new file mode 100755 index 00000000..ac4e0eee --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/specdoc_formatter_spec.rb @@ -0,0 +1,159 @@ +require 'spec_helper' +require 'spec/runner/formatter/specdoc_formatter' + +module Spec + module Runner + module Formatter + describe SpecdocFormatter do + with_sandboxed_options do + attr_reader :io, :formatter, :example_group + before(:each) do + @io = StringIO.new + options.stub!(:dry_run).and_return(false) + options.stub!(:colour).and_return(false) + @formatter = SpecdocFormatter.new(options, io) + @example_group = ::Spec::Example::ExampleGroup.describe("ExampleGroup") do + specify "example" do + end + end + end + + describe "where ExampleGroup has no superclasss with a description" do + before do + example_group_started + end + + def example_group_started + formatter.example_group_started(Spec::Example::ExampleGroupProxy.new(example_group)) + end + + describe "#dump_summary" do + it "should produce standard summary without pending when pending has a 0 count" do + formatter.dump_summary(3, 2, 1, 0) + io.string.should have_example_group_output("\nFinished in 3 seconds\n\n2 examples, 1 failure\n") + end + + it "should produce standard summary" do + formatter.dump_summary(3, 2, 1, 4) + io.string.should have_example_group_output("\nFinished in 3 seconds\n\n2 examples, 1 failure, 4 pending\n") + end + end + + describe "#example_group_started" do + it "should push ExampleGroup name" do + io.string.should eql("\nExampleGroup\n") + end + end + + describe "#example_failed" do + describe "where ExampleGroup has no superclasss with a description" do + describe "when having an error" do + it "should push failing spec name and failure number" do + formatter.example_failed( + example_group.it("spec"), + 98, + Spec::Runner::Reporter::Failure.new("g", "c s", RuntimeError.new) + ) + io.string.should have_example_group_output("- spec (FAILED - 98)\n") + end + end + + describe "when having an expectation failure" do + it "should push failing spec name and failure number" do + formatter.example_failed( + example_group.it("spec"), + 98, + Spec::Runner::Reporter::Failure.new("g", "c s", Spec::Expectations::ExpectationNotMetError.new) + ) + io.string.should have_example_group_output("- spec (FAILED - 98)\n") + end + end + end + + describe "where ExampleGroup has two superclasses with a description" do + attr_reader :child_example_group, :grand_child_example_group + + def example_group_started + @child_example_group = Class.new(example_group).describe("Child ExampleGroup") + @grand_child_example_group = Class.new(child_example_group).describe("GrandChild ExampleGroup") + formatter.example_group_started(Spec::Example::ExampleGroupProxy.new(grand_child_example_group)) + end + + describe "when having an error" do + it "should push failing spec name and failure number" do + formatter.example_failed( + example_group.it("spec"), + 98, + Spec::Runner::Reporter::Failure.new("g", "c s", RuntimeError.new) + ) + io.string.should have_nested_example_group_output("- spec (FAILED - 98)\n") + end + end + + describe "when having an expectation" do + it "should push failing spec name and failure number" do + formatter.example_failed( + example_group.it("spec"), + 98, + Spec::Runner::Reporter::Failure.new("g", "c s", Spec::Expectations::ExpectationNotMetError.new) + ) + io.string.should have_nested_example_group_output("- spec (FAILED - 98)\n") + end + end + + def have_nested_example_group_output(expected_output) + expected_full_output = "\nExampleGroup Child ExampleGroup GrandChild ExampleGroup\n#{expected_output}" + ::Spec::Matchers::SimpleMatcher.new(expected_full_output) do |actual| + actual == expected_full_output + end + end + end + end + + describe "#start" do + it "should push nothing on start" do + formatter.start(5) + io.string.should have_example_group_output("") + end + end + + describe "#start_dump" do + it "should push nothing on start dump" do + formatter.start_dump + io.string.should have_example_group_output("") + end + end + + describe "#example_passed" do + it "should push passing spec name" do + formatter.example_passed(example_group.it("spec")) + io.string.should have_example_group_output("- spec\n") + end + end + + describe "#example_pending" do + it "should push pending example name and message" do + formatter.example_pending(example_group.examples.first, 'reason', "#{__FILE__}:#{__LINE__}") + io.string.should have_example_group_output("- example (PENDING: reason)\n") + end + + it "should dump pending" do + formatter.example_pending(example_group.examples.first, 'reason', "#{__FILE__}:#{__LINE__}") + io.rewind + formatter.dump_pending + io.string.should =~ /Pending\:\n\nExampleGroup example \(reason\)\n/ + end + end + + def have_example_group_output(expected_output) + expected = "\nExampleGroup\n#{expected_output}" + ::Spec::Matchers::SimpleMatcher.new(expected) do |actual| + actual == expected + end + end + end + end + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/text_mate_formatted-1.8.6-jruby.html b/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/text_mate_formatted-1.8.6-jruby.html new file mode 100755 index 00000000..bbef5eb8 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/text_mate_formatted-1.8.6-jruby.html @@ -0,0 +1,371 @@ + + + + + RSpec results + + + + + + + + +
    + +
    +
    +

    RSpec Code Examples

    +
    + +
    +

     

    +

     

    +
    +
    + +
    +
    +
    +
    Mocker
    + +
    should be able to call mock()
    + + + +
    + should fail when expected message not received +
    +
    Mock "poke me" expected :poke with (any args) once, but received it 0 times
    + +
    9  it "should fail when expected message not received" do
    +10    mock = mock("poke me")
    +11    mock.should_receive(:poke)
    +12  end
    +13  
    +
    +
    + +
    + should fail when messages are received out of order +
    +
    Mock "one two three" received :three out of order
    + +
    18    mock.should_receive(:three).ordered
    +19    mock.one
    +20    mock.three
    +21    mock.two
    +22  end
    +
    +
    + +
    + should get yelled at when sending unexpected messages +
    +
    Mock "don't talk to me" expected :any_message_at_all with (no args) 0 times, but received it once
    + +
    25    mock = mock("don't talk to me")
    +26    mock.should_not_receive(:any_message_at_all)
    +27    mock.any_message_at_all
    +28  end
    +
    +
    + +
    + has a bug we need to fix +
    +
    Expected pending 'here is the bug' to fail. No Error was raised.
    + +
    29
    +30  it "has a bug we need to fix" do
    +31    pending "here is the bug" do
    +32      # Actually, no. It's fixed. This will fail because it passes :-)
    +33      mock = mock("Bug")
    +
    +
    +
    +
    +
    +
    +
    Running specs with --diff
    + + +
    + should print diff of different strings +
    +
    expected: "RSpec is a\nbehaviour driven development\nframework for Ruby\n",
    +     got: "RSpec is a\nbehavior driven development\nframework for Ruby\n" (using ==)
    +
    + Diff:
    +@@ -1,4 +1,4 @@
    + RSpec is a
    +-behaviour driven development
    ++behavior driven development
    + framework for Ruby
    +
    + +
    11framework for Ruby
    +12EOF
    +13    usa.should == uk
    +14  end
    +
    +
    + +
    + should print diff of different objects' pretty representation +
    +
    +expected <Animal
    +name=bob,
    +species=tortoise
    +>
    +
    +     got <Animal
    +name=bob,
    +species=giraffe
    +>
    +
    +
    +(compared using eql?)
    +
    + +
    32    expected = Animal.new "bob", "giraffe"
    +33    actual   = Animal.new "bob", "tortoise"
    +34    expected.should eql(actual)
    +35  end
    +36end
    +
    +
    +
    +
    +
    +
    +
    A consumer of a stub
    + +
    should be able to stub methods on any Object
    +
    +
    +
    +
    +
    A stubbed method on a class
    + +
    should return the stubbed value
    + +
    should revert to the original method after each spec
    + +
    can stub! and mock the same message
    +
    +
    +
    +
    +
    A mock
    + +
    can stub!
    + +
    can stub! and mock
    + +
    can stub! and mock the same message
    +
    +
    +
    +
    +
    pending example (using pending method)
    + + +
    should be reported as "PENDING: for some reason" (PENDING: for some reason)
    +
    +
    +
    +
    +
    pending example (with no block)
    + + +
    should be reported as "PENDING: Not Yet Implemented" (PENDING: Not Yet Implemented)
    +
    +
    +
    +
    +
    pending example (with block for pending)
    + + +
    should have a failing block, passed to pending, reported as "PENDING: for some reason" (PENDING: for some reason)
    +
    +
    + + +
    +
    + + diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/text_mate_formatted-1.8.6.html b/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/text_mate_formatted-1.8.6.html new file mode 100755 index 00000000..54d76190 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/text_mate_formatted-1.8.6.html @@ -0,0 +1,371 @@ + + + + + RSpec results + + + + + + + + +
    + +
    +
    +

    RSpec Code Examples

    +
    + +
    +

     

    +

     

    +
    +
    + +
    +
    +
    +
    Mocker
    + +
    should be able to call mock()
    + + + +
    + should fail when expected message not received +
    +
    Mock "poke me" expected :poke with (any args) once, but received it 0 times
    + +
    9  it "should fail when expected message not received" do
    +10    mock = mock("poke me")
    +11    mock.should_receive(:poke)
    +12  end
    +13  
    +
    +
    + +
    + should fail when messages are received out of order +
    +
    Mock "one two three" received :three out of order
    + +
    18    mock.should_receive(:three).ordered
    +19    mock.one
    +20    mock.three
    +21    mock.two
    +22  end
    +
    +
    + +
    + should get yelled at when sending unexpected messages +
    +
    Mock "don't talk to me" expected :any_message_at_all with (no args) 0 times, but received it once
    + +
    25    mock = mock("don't talk to me")
    +26    mock.should_not_receive(:any_message_at_all)
    +27    mock.any_message_at_all
    +28  end
    +
    +
    + +
    + has a bug we need to fix +
    +
    Expected pending 'here is the bug' to fail. No Error was raised.
    + +
    29
    +30  it "has a bug we need to fix" do
    +31    pending "here is the bug" do
    +32      # Actually, no. It's fixed. This will fail because it passes :-)
    +33      mock = mock("Bug")
    +
    +
    +
    +
    +
    +
    +
    Running specs with --diff
    + + +
    + should print diff of different strings +
    +
    expected: "RSpec is a\nbehaviour driven development\nframework for Ruby\n",
    +     got: "RSpec is a\nbehavior driven development\nframework for Ruby\n" (using ==)
    +
    + Diff:
    +@@ -1,4 +1,4 @@
    + RSpec is a
    +-behaviour driven development
    ++behavior driven development
    + framework for Ruby
    +
    + +
    11framework for Ruby
    +12EOF
    +13    usa.should == uk
    +14  end
    +
    +
    + +
    + should print diff of different objects' pretty representation +
    +
    +expected <Animal
    +name=bob,
    +species=tortoise
    +>
    +
    +     got <Animal
    +name=bob,
    +species=giraffe
    +>
    +
    +
    +(compared using eql?)
    +
    + +
    32    expected = Animal.new "bob", "giraffe"
    +33    actual   = Animal.new "bob", "tortoise"
    +34    expected.should eql(actual)
    +35  end
    +36end
    +
    +
    +
    +
    +
    +
    +
    A consumer of a stub
    + +
    should be able to stub methods on any Object
    +
    +
    +
    +
    +
    A stubbed method on a class
    + +
    should return the stubbed value
    + +
    should revert to the original method after each spec
    + +
    can stub! and mock the same message
    +
    +
    +
    +
    +
    A mock
    + +
    can stub!
    + +
    can stub! and mock
    + +
    can stub! and mock the same message
    +
    +
    +
    +
    +
    pending example (using pending method)
    + + +
    should be reported as "PENDING: for some reason" (PENDING: for some reason)
    +
    +
    +
    +
    +
    pending example (with no block)
    + + +
    should be reported as "PENDING: Not Yet Implemented" (PENDING: Not Yet Implemented)
    +
    +
    +
    +
    +
    pending example (with block for pending)
    + + +
    should have a failing block, passed to pending, reported as "PENDING: for some reason" (PENDING: for some reason)
    +
    +
    + + +
    +
    + + diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/text_mate_formatted-1.8.7.html b/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/text_mate_formatted-1.8.7.html new file mode 100755 index 00000000..54d76190 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/text_mate_formatted-1.8.7.html @@ -0,0 +1,371 @@ + + + + + RSpec results + + + + + + + + +
    + +
    +
    +

    RSpec Code Examples

    +
    + +
    +

     

    +

     

    +
    +
    + +
    +
    +
    +
    Mocker
    + +
    should be able to call mock()
    + + + +
    + should fail when expected message not received +
    +
    Mock "poke me" expected :poke with (any args) once, but received it 0 times
    + +
    9  it "should fail when expected message not received" do
    +10    mock = mock("poke me")
    +11    mock.should_receive(:poke)
    +12  end
    +13  
    +
    +
    + +
    + should fail when messages are received out of order +
    +
    Mock "one two three" received :three out of order
    + +
    18    mock.should_receive(:three).ordered
    +19    mock.one
    +20    mock.three
    +21    mock.two
    +22  end
    +
    +
    + +
    + should get yelled at when sending unexpected messages +
    +
    Mock "don't talk to me" expected :any_message_at_all with (no args) 0 times, but received it once
    + +
    25    mock = mock("don't talk to me")
    +26    mock.should_not_receive(:any_message_at_all)
    +27    mock.any_message_at_all
    +28  end
    +
    +
    + +
    + has a bug we need to fix +
    +
    Expected pending 'here is the bug' to fail. No Error was raised.
    + +
    29
    +30  it "has a bug we need to fix" do
    +31    pending "here is the bug" do
    +32      # Actually, no. It's fixed. This will fail because it passes :-)
    +33      mock = mock("Bug")
    +
    +
    +
    +
    +
    +
    +
    Running specs with --diff
    + + +
    + should print diff of different strings +
    +
    expected: "RSpec is a\nbehaviour driven development\nframework for Ruby\n",
    +     got: "RSpec is a\nbehavior driven development\nframework for Ruby\n" (using ==)
    +
    + Diff:
    +@@ -1,4 +1,4 @@
    + RSpec is a
    +-behaviour driven development
    ++behavior driven development
    + framework for Ruby
    +
    + +
    11framework for Ruby
    +12EOF
    +13    usa.should == uk
    +14  end
    +
    +
    + +
    + should print diff of different objects' pretty representation +
    +
    +expected <Animal
    +name=bob,
    +species=tortoise
    +>
    +
    +     got <Animal
    +name=bob,
    +species=giraffe
    +>
    +
    +
    +(compared using eql?)
    +
    + +
    32    expected = Animal.new "bob", "giraffe"
    +33    actual   = Animal.new "bob", "tortoise"
    +34    expected.should eql(actual)
    +35  end
    +36end
    +
    +
    +
    +
    +
    +
    +
    A consumer of a stub
    + +
    should be able to stub methods on any Object
    +
    +
    +
    +
    +
    A stubbed method on a class
    + +
    should return the stubbed value
    + +
    should revert to the original method after each spec
    + +
    can stub! and mock the same message
    +
    +
    +
    +
    +
    A mock
    + +
    can stub!
    + +
    can stub! and mock
    + +
    can stub! and mock the same message
    +
    +
    +
    +
    +
    pending example (using pending method)
    + + +
    should be reported as "PENDING: for some reason" (PENDING: for some reason)
    +
    +
    +
    +
    +
    pending example (with no block)
    + + +
    should be reported as "PENDING: Not Yet Implemented" (PENDING: Not Yet Implemented)
    +
    +
    +
    +
    +
    pending example (with block for pending)
    + + +
    should have a failing block, passed to pending, reported as "PENDING: for some reason" (PENDING: for some reason)
    +
    +
    + + +
    +
    + + diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/text_mate_formatted-1.9.1.html b/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/text_mate_formatted-1.9.1.html new file mode 100755 index 00000000..24c98046 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/text_mate_formatted-1.9.1.html @@ -0,0 +1,371 @@ + + + + + RSpec results + + + + + + + + +
    + +
    +
    +

    RSpec Code Examples

    +
    + +
    +

     

    +

     

    +
    +
    + +
    +
    +
    +
    Mocker
    + +
    should be able to call mock()
    + + + +
    + should fail when expected message not received +
    +
    Mock "poke me" expected :poke with (any args) once, but received it 0 times
    + +
    9  it "should fail when expected message not received" do
    +10    mock = mock("poke me")
    +11    mock.should_receive(:poke)
    +12  end
    +13  
    +
    +
    + +
    + should fail when messages are received out of order +
    +
    Mock "one two three" received :three out of order
    + +
    18    mock.should_receive(:three).ordered
    +19    mock.one
    +20    mock.three
    +21    mock.two
    +22  end
    +
    +
    + +
    + should get yelled at when sending unexpected messages +
    +
    Mock "don't talk to me" expected :any_message_at_all with (no args) 0 times, but received it once
    + +
    25    mock = mock("don't talk to me")
    +26    mock.should_not_receive(:any_message_at_all)
    +27    mock.any_message_at_all
    +28  end
    +
    +
    + +
    + has a bug we need to fix +
    +
    Expected pending 'here is the bug' to fail. No Error was raised.
    + +
    29
    +30  it "has a bug we need to fix" do
    +31    pending "here is the bug" do
    +32      # Actually, no. It's fixed. This will fail because it passes :-)
    +33      mock = mock("Bug")
    +
    +
    +
    +
    +
    +
    +
    Running specs with --diff
    + + +
    + should print diff of different strings +
    +
    expected: "RSpec is a\nbehaviour driven development\nframework for Ruby\n",
    +     got: "RSpec is a\nbehavior driven development\nframework for Ruby\n" (using ==)
    +
    + Diff:
    +@@ -1,4 +1,4 @@
    + RSpec is a
    +-behaviour driven development
    ++behavior driven development
    + framework for Ruby
    +
    + +
    11framework for Ruby
    +12EOF
    +13    usa.should == uk
    +14  end
    +
    +
    + +
    + should print diff of different objects' pretty representation +
    +
    +expected <Animal
    +name=bob,
    +species=tortoise
    +>
    +
    +     got <Animal
    +name=bob,
    +species=giraffe
    +>
    +
    +
    +(compared using eql?)
    +
    + +
    32    expected = Animal.new "bob", "giraffe"
    +33    actual   = Animal.new "bob", "tortoise"
    +34    expected.should eql(actual)
    +35  end
    +36end
    +
    +
    +
    +
    +
    +
    +
    A consumer of a stub
    + +
    should be able to stub methods on any Object
    +
    +
    +
    +
    +
    A stubbed method on a class
    + +
    should return the stubbed value
    + +
    should revert to the original method after each spec
    + +
    can stub! and mock the same message
    +
    +
    +
    +
    +
    A mock
    + +
    can stub!
    + +
    can stub! and mock
    + +
    can stub! and mock the same message
    +
    +
    +
    +
    +
    pending example (using pending method)
    + + +
    should be reported as "PENDING: for some reason" (PENDING: for some reason)
    +
    +
    +
    +
    +
    pending example (with no block)
    + + +
    should be reported as "PENDING: Not Yet Implemented" (PENDING: Not Yet Implemented)
    +
    +
    +
    +
    +
    pending example (with block for pending)
    + + +
    should have a failing block, passed to pending, reported as "PENDING: for some reason" (PENDING: for some reason)
    +
    +
    + + +
    +
    + + diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/text_mate_formatter_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/text_mate_formatter_spec.rb new file mode 100755 index 00000000..a35ad89f --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/text_mate_formatter_spec.rb @@ -0,0 +1,106 @@ +require 'spec_helper' + +begin # See rescue all the way at the bottom + +require 'nokogiri' # Needed to compare generated with wanted HTML +require 'spec/runner/formatter/text_mate_formatter' + +module Spec + module Runner + module Formatter + describe TextMateFormatter do + attr_reader :root, :suffix, :expected_file + before do + @root = File.expand_path(File.dirname(__FILE__) + '/../../../..') + @suffix = jruby? ? '-jruby' : '' + @expected_file = File.dirname(__FILE__) + "/text_mate_formatted-#{::RUBY_VERSION}#{suffix}.html" + end + + def produces_html_identical_to_manually_designed_document(opt) + root = File.expand_path(File.dirname(__FILE__) + '/../../../..') + + Dir.chdir(root) do + args = [ + 'examples/failing/mocking_example.rb', + 'examples/failing/diffing_spec.rb', + 'examples/passing/stubbing_example.rb', + 'examples/passing/pending_example.rb', + '--format', + 'textmate', + opt + ] + err = StringIO.new + out = StringIO.new + + run_with ::Spec::Runner::OptionParser.parse(args, err, out) + + yield(out.string) + end + end + + # Uncomment this spec temporarily in order to overwrite the expected with actual. + # Use with care!!! + # describe "functional spec file generator" do + # it "generates a new comparison file" do + # Dir.chdir(root) do + # args = ['examples/failing/mocking_example.rb', 'examples/failing/diffing_spec.rb', 'examples/passing/stubbing_example.rb', 'examples/passing/pending_example.rb', '--format', 'textmate', '--diff'] + # err = StringIO.new + # out = StringIO.new + # Spec::Runner::CommandLine.run( + # ::Spec::Runner::OptionParser.parse(args, err, out) + # ) + # + # seconds = /\d+\.\d+ seconds/ + # html = out.string.gsub seconds, 'x seconds' + # + # File.open(expected_file, 'w') {|io| io.write(html)} + # end + # end + # end + + describe "functional spec using --diff" do + it "should produce HTML identical to the one we designed manually with --diff" do + produces_html_identical_to_manually_designed_document("--diff") do |html| + suffix = jruby? ? '-jruby' : '' + expected_file = File.dirname(__FILE__) + "/text_mate_formatted-#{::RUBY_VERSION}#{suffix}.html" + unless File.file?(expected_file) + raise "There is no HTML file with expected content for this platform: #{expected_file}" + end + expected_html = File.read(expected_file) + + seconds = /\d+\.\d+ seconds/ + html.gsub! seconds, 'x seconds' + expected_html.gsub! seconds, 'x seconds' + + doc = Nokogiri::HTML(html) + backtraces = doc.search("div.backtrace a") + doc.search("div.backtrace").remove + + expected_doc = Nokogiri::HTML(expected_html) + expected_doc.search("div.backtrace").remove + + doc.inner_html.should == expected_doc.inner_html + + backtraces.each do |backtrace_link| + backtrace_link['href'].should include("txmt://open?url=") + end + end + end + + end + + describe "functional spec using --dry-run" do + it "should produce HTML identical to the one we designed manually with --dry-run" do + produces_html_identical_to_manually_designed_document("--dry-run") do |html, expected_html| + html.should =~ /This was a dry-run/m + end + end + end + end + end + end +end + +rescue LoadError + warn "nokogiri not loaded -- skipping TextMateFormatter specs" +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/heckle_runner_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/heckle_runner_spec.rb new file mode 100755 index 00000000..287ff856 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/heckle_runner_spec.rb @@ -0,0 +1,78 @@ +require 'spec_helper' +unless [/mswin/, /java/].detect{|p| p =~ RUBY_PLATFORM} || Spec::Ruby.version.to_f == 1.9 + require 'spec/runner/heckle_runner' + + module Foo + class Bar + def one; end + def two; end + end + + class Zap + def three; end + def four; end + end + end + + describe "HeckleRunner" do + before(:each) do + @heckle = mock("heckle", :null_object => true) + @heckle_class = mock("heckle_class") + end + + it "should heckle all methods in all classes in a module" do + @heckle_class.should_receive(:new).with("Foo::Bar", "one", Spec::Runner.options).and_return(@heckle) + @heckle_class.should_receive(:new).with("Foo::Bar", "two", Spec::Runner.options).and_return(@heckle) + @heckle_class.should_receive(:new).with("Foo::Zap", "three", Spec::Runner.options).and_return(@heckle) + @heckle_class.should_receive(:new).with("Foo::Zap", "four", Spec::Runner.options).and_return(@heckle) + + heckle_runner = Spec::Runner::HeckleRunner.new("Foo", @heckle_class) + heckle_runner.heckle_with + end + + it "should heckle all methods in a class" do + @heckle_class.should_receive(:new).with("Foo::Bar", "one", Spec::Runner.options).and_return(@heckle) + @heckle_class.should_receive(:new).with("Foo::Bar", "two", Spec::Runner.options).and_return(@heckle) + + heckle_runner = Spec::Runner::HeckleRunner.new("Foo::Bar", @heckle_class) + heckle_runner.heckle_with + end + + it "should fail heckling when the class is not found" do + lambda do + heckle_runner = Spec::Runner::HeckleRunner.new("Foo::Bob", @heckle_class) + heckle_runner.heckle_with + end.should raise_error(StandardError, "Heckling failed - \"Foo::Bob\" is not a known class or module") + end + + it "should heckle specific method in a class (with #)" do + @heckle_class.should_receive(:new).with("Foo::Bar", "two", Spec::Runner.options).and_return(@heckle) + + heckle_runner = Spec::Runner::HeckleRunner.new("Foo::Bar#two", @heckle_class) + heckle_runner.heckle_with + end + + it "should heckle specific method in a class (with .)" do + @heckle_class.should_receive(:new).with("Foo::Bar", "two", Spec::Runner.options).and_return(@heckle) + + heckle_runner = Spec::Runner::HeckleRunner.new("Foo::Bar.two", @heckle_class) + heckle_runner.heckle_with + end + end + + describe "Heckler" do + it "should say yes to tests_pass? if specs pass" do + options = mock("options", :null_object => true) + options.should_receive(:run_examples).and_return(true) + heckler = Spec::Runner::Heckler.new("Foo", nil, options) + heckler.tests_pass?.should be_true + end + + it "should say no to tests_pass? if specs fail" do + options = mock("options", :null_object => true) + options.should_receive(:run_examples).and_return(false) + heckler = Spec::Runner::Heckler.new("Foo", nil, options) + heckler.tests_pass?.should be_false + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/heckler_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/heckler_spec.rb new file mode 100755 index 00000000..00869df6 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/heckler_spec.rb @@ -0,0 +1,20 @@ +if Spec::Ruby.version.to_f < 1.9 + require 'spec_helper' + unless [/mswin/, /java/].detect{|p| p =~ RUBY_PLATFORM} + require 'spec/runner/heckle_runner' + + describe "Heckler" do + it "should run examples on tests_pass?" do + sub = Class.new(Spec::Runner::Heckler) do + def initialize(klass_name, method_name, rspec_options) + @rspec_options = rspec_options + end + end + opts = mock('options') + opts.should_receive(:run_examples).and_return(true) + heckler = sub.new('klass','method',opts) + heckler.tests_pass? + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/line_number_query/line_number_query_fixture.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/line_number_query/line_number_query_fixture.rb new file mode 100755 index 00000000..82a257d3 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/line_number_query/line_number_query_fixture.rb @@ -0,0 +1,70 @@ +require 'spec_helper' + +describe "c" do + + it "1" do + end + + it "2" do + end + +end + +describe "d" do + + it "3" do + end + + it "4" do + end + +end + +class LineNumberQuerySubject +end + +describe LineNumberQuerySubject do + + it "5" do + end + +end + +describe LineNumberQuerySubject, "described" do + + it "6" do + end + +end + +describe LineNumberQuerySubject, "described", :something => :something_else do + + it "7" do + end + +end + +describe "described", :something => :something_else do + + it "8" do + end + +end + +describe "e" do + + it "9" do + end + + it "10" do + end + + describe "f" do + it "11" do + end + + it "12" do + end + end + +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/line_number_query_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/line_number_query_spec.rb new file mode 100755 index 00000000..e4e11050 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/line_number_query_spec.rb @@ -0,0 +1,129 @@ +require 'spec_helper' + +describe "LineNumberQuery" do + with_sandboxed_options do + attr_reader :parser, :file + + before do + @parser = Spec::Runner::LineNumberQuery.new(options) + @file = "#{File.dirname(__FILE__)}/line_number_query/line_number_query_fixture.rb" + load file + end + + it "should find spec name for 'specify' at same line" do + parser.spec_name_for(file, 5).should == "c 1" + end + + it "should find spec name for 'specify' at end of spec line" do + parser.spec_name_for(file, 6).should == "c 1" + end + + it "should find context for 'context' above all specs" do + parser.spec_name_for(file, 4).should == "c" + end + + it "should find spec name for 'it' at same line" do + parser.spec_name_for(file, 15).should == "d 3" + end + + it "should find spec name for 'it' at end of spec line" do + parser.spec_name_for(file, 16).should == "d 3" + end + + it "should find context for 'describe' above all specs" do + parser.spec_name_for(file, 14).should == "d" + end + + it "should find nearest example name between examples" do + parser.spec_name_for(file, 7).should == "c 1" + end + + it "should find nothing outside a context" do + parser.spec_name_for(file, 2).should be_nil + end + + it "should find context name for type" do + parser.spec_name_for(file, 26).should == "LineNumberQuerySubject" + end + + it "should find context and spec name for type" do + parser.spec_name_for(file, 28).should == "LineNumberQuerySubject 5" + end + + it "should find context and description for type" do + parser.spec_name_for(file, 33).should == "LineNumberQuerySubject described" + end + + it "should find context and description and example for type" do + parser.spec_name_for(file, 36).should == "LineNumberQuerySubject described 6" + end + + it "should find context and description for type with modifications" do + parser.spec_name_for(file, 40).should == "LineNumberQuerySubject described" + end + + it "should find context and described and example for type with modifications" do + parser.spec_name_for(file, 43).should == "LineNumberQuerySubject described 7" + end + + it "should find example group" do + parser.spec_name_for(file, 47).should == "described" + end + + it "should find example" do + parser.spec_name_for(file, 50).should == "described 8" + end + + it "should find nested example" do + parser.spec_name_for(file, 63).should == "e f 11" + end + + it "should handle paths which contain colons" do + fixture = + { "c:/somepath/somefile.rb:999:in 'method'" => "c:/somepath/somefile.rb", + "./somepath/somefile:999" => "./somepath/somefile" } + fixture.each_pair do |input, expected| + parser.send(:parse_location, input ).should == [expected, 999] + end + end + + it "should handle paths which contain colons and backslashes" do + fixture = + { "c:\\somepath\\somefile.rb:999:in 'method'" => "c:\\somepath\\somefile.rb", + ".\\somepath\\somefile:999" => ".\\somepath\\somefile" } + fixture.each_pair do |input, expected| + parser.send(:parse_location, input ).should == [expected, 999] + end + end + + it "ignores example group base classes which have no location" do + options = stub('options', :example_groups => [ + stub('example_group', :location => nil) + ]) + parser = Spec::Runner::LineNumberQuery.new(options) + parser.spec_name_for('foo',37).should == nil + end + + describe "#example_line_for" do + it "should find example declared on same line" do + parser.example_line_for(file, 5).should == 5 + end + + it "should find example declared on the line above, while still inside the example" do + parser.example_line_for(file, 6).should == 5 + end + + it "should find example declared from empty line below the example" do + parser.example_line_for(file, 7).should == 5 + end + + it "should find the group declared on the same line" do + parser.example_line_for(file, 3).should == 3 + end + + it "should find the group declared above the first example" do + parser.example_line_for(file, 4).should == 3 + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/noisy_backtrace_tweaker_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/noisy_backtrace_tweaker_spec.rb new file mode 100755 index 00000000..13b79432 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/noisy_backtrace_tweaker_spec.rb @@ -0,0 +1,51 @@ +require 'spec_helper' + +module Spec + module Runner + describe NoisyBacktraceTweaker do + before(:each) do + @error = RuntimeError.new + @tweaker = NoisyBacktraceTweaker.new + end + + it "gracefully handles nil backtrace" do + lambda do + @tweaker.tweak_backtrace(@error) + end.should_not raise_error + end + + it "cleans up double slashes" do + @error.set_backtrace(["/a//b/c//d.rb"]) + @tweaker.tweak_backtrace(@error) + @error.backtrace.should include("/a/b/c/d.rb") + end + + it "preserves lines in lib/spec" do + ["expectations", "mocks", "runner", "stubs"].each do |child| + @error.set_backtrace(["/lib/spec/#{child}/anything.rb"]) + @tweaker.tweak_backtrace(@error) + @error.backtrace.should_not be_empty + end + end + + it "preserves lines in spec/" do + @error.set_backtrace(["/lib/spec/expectations/anything.rb"]) + @tweaker.tweak_backtrace(@error) + @error.backtrace.should_not be_empty + end + + it "preserves lines in bin/spec" do + @error.set_backtrace(["bin/spec:"]) + @tweaker.tweak_backtrace(@error) + @error.backtrace.should_not be_empty + end + + it "ignores custom patterns" do + @tweaker.ignore_patterns(/custom_pattern/) + @error.set_backtrace(["custom_pattern"]) + @tweaker.tweak_backtrace(@error) + @error.backtrace.should_not be_empty + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/option_parser_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/option_parser_spec.rb new file mode 100755 index 00000000..a516bc68 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/option_parser_spec.rb @@ -0,0 +1,545 @@ +require 'spec_helper' +require 'spec/runner/resources/custom_example_group_runner' +require 'fakefs/safe' +require 'fakefs/spec_helpers' + +describe "OptionParser" do + before(:each) do + @out = StringIO.new + @err = StringIO.new + @parser = Spec::Runner::OptionParser.new(@err, @out) + end + + def parse(args) + @parser.parse(args) + @parser.options + end + + # FIXME - this entire file should run w/ fakefs + describe "with fakefs" do + extend FakeFS::SpecHelpers + use_fakefs + + it "should not use colour by default" do + options = parse([]) + options.colour.should == false + end + + it "should use progress bar formatter by default" do + options = parse([]) + options.formatters[0].class.should equal(Spec::Runner::Formatter::ProgressBarFormatter) + end + end + + it "should leave the submitted argv alone" do + args = ["--pattern", "foo"] + @parser.order!(args) + args.should == ["--pattern", "foo"] + end + + it "should accept files to include" do + options = parse(["--pattern", "foo"]) + options.filename_pattern.should == "foo" + end + + it "should accept debugger option" do + options = parse(["--debugger"]) + options.debug.should be_true + end + + it "should accept -u form of debugger option" do + options = parse(["-u"]) + options.debug.should be_true + end + + it "should turn off the debugger option if drb is specified later" do + @parser.stub!(:parse_drb).with(no_args).and_return(true) + options = parse(["-u", "--drb"]) + options.debug.should be_false + end + + it "should turn off the debugger option if drb is specified first" do + @parser.stub!(:parse_drb).with(no_args).and_return(true) + options = parse(["--drb", "-u"]) + options.debug.should be_false + end + + it "should accept dry run option" do + options = parse(["--dry-run"]) + options.dry_run.should be_true + end + + it "should eval and use custom formatter when none of the builtins" do + options = parse(["--format", "Custom::Formatter"]) + options.formatters[0].class.should be(Custom::Formatter) + end + + it "should support formatters with relative and absolute paths, even on windows" do + options = parse([ + "--format", "Custom::Formatter:C:\\foo\\bar", + "--format", "Custom::Formatter:foo/bar", + "--format", "Custom::Formatter:foo\\bar", + "--format", "Custom::Formatter:/foo/bar" + ]) + options.formatters[0].where.should eql("C:\\foo\\bar") + options.formatters[1].where.should eql("foo/bar") + options.formatters[2].where.should eql("foo\\bar") + options.formatters[3].where.should eql("/foo/bar") + end + + it "should not be verbose by default" do + options = parse([]) + options.verbose.should be_nil + end + + it "should print help to stdout if no args and spec_comand?" do + Spec::Runner::OptionParser.stub!(:spec_command?).and_return(true) + options = parse([]) + @out.rewind + @out.read.should match(/Usage: spec \(FILE\(:LINE\)\?\|DIRECTORY\|GLOB\)\+ \[options\]/m) + end + + it "should not print help to stdout if no args and NOT spec_command?" do + Spec::Runner::OptionParser.stub!(:spec_command?).and_return(false) + options = parse([]) + @out.rewind + @out.read.should == "" + end + + it "should print help to stdout" do + options = parse(["--help"]) + @out.rewind + @out.read.should match(/Usage: spec \(FILE\(:LINE\)\?\|DIRECTORY\|GLOB\)\+ \[options\]/m) + end + + it "should print instructions about how to require missing formatter" do + lambda do + options = parse(["--format", "Custom::MissingFormatter"]) + options.formatters + end.should raise_error(NameError) + @err.string.should match(/Couldn't find formatter class Custom::MissingFormatter/n) + end + + it "should print version to stdout" do + options = parse(["--version"]) + @out.rewind + @out.read.should match(/rspec \d+\.\d+\.\d+/n) + end + + it "should require file when require specified" do + lambda do + parse(["--require", "whatever"]) + end.should raise_error(LoadError) + end + + it "should support c option" do + options = parse(["-c"]) + options.colour.should be_true + end + + it "should support queens colour option" do + options = parse(["--colour"]) + options.colour.should be_true + end + + it "should support us color option" do + options = parse(["--color"]) + options.colour.should be_true + end + + it "should support single example with -e option" do + options = parse(["-e", "something or other"]) + options.examples.should eql(["something or other"]) + end + + it "should support single example with -s option (will be removed when autotest supports -e)" do + options = parse(["-s", "something or other"]) + options.examples.should eql(["something or other"]) + end + + it "should support single example with --example option" do + options = parse(["--example", "something or other"]) + options.examples.should eql(["something or other"]) + end + + it "should read several example names from file if --example is given an existing file name" do + options = parse(["--example", File.dirname(__FILE__) + '/examples.txt']) + options.examples.should eql([ + "Sir, if you were my husband, I would poison your drink.", + "Madam, if you were my wife, I would drink it."]) + end + + it "should read no examples if given an empty file" do + options = parse(["--example", File.dirname(__FILE__) + '/empty_file.txt']) + options.examples.should eql([]) + end + + it "should use html formatter when format is h" do + options = parse(["--format", "h"]) + options.formatters[0].class.should equal(Spec::Runner::Formatter::HtmlFormatter) + end + + it "should use html formatter when format is html" do + options = parse(["--format", "html"]) + options.formatters[0].class.should equal(Spec::Runner::Formatter::HtmlFormatter) + end + + it "should use silent formatter when format is s" do + options = parse(["--format", "l"]) + options.formatters[0].class.should equal(Spec::Runner::Formatter::SilentFormatter) + end + + it "should use silent formatter when format is silent" do + options = parse(["--format", "silent"]) + options.formatters[0].class.should equal(Spec::Runner::Formatter::SilentFormatter) + end + + it "should use html formatter with explicit output when format is html:test.html" do + FileUtils.rm 'test.html' if File.exist?('test.html') + options = parse(["--format", "html:test.html"]) + options.formatters # creates the file + File.should exist('test.html') + options.formatters[0].class.should equal(Spec::Runner::Formatter::HtmlFormatter) + options.formatters[0].close + FileUtils.rm 'test.html' + end + + it "should use noisy backtrace tweaker with b option" do + options = parse(["-b"]) + options.backtrace_tweaker.should be_instance_of(Spec::Runner::NoisyBacktraceTweaker) + end + + it "should use noisy backtrace tweaker with backtrace option" do + options = parse(["--backtrace"]) + options.backtrace_tweaker.should be_instance_of(Spec::Runner::NoisyBacktraceTweaker) + end + + it "should use quiet backtrace tweaker by default" do + options = parse([]) + options.backtrace_tweaker.should be_instance_of(Spec::Runner::QuietBacktraceTweaker) + end + + it "should use specdoc formatter when format is s" do + options = parse(["--format", "s"]) + options.formatters[0].class.should equal(Spec::Runner::Formatter::SpecdocFormatter) + end + + it "should use specdoc formatter when format is specdoc" do + options = parse(["--format", "specdoc"]) + options.formatters[0].class.should equal(Spec::Runner::Formatter::SpecdocFormatter) + end + + it "should use nested text formatter when format is s" do + options = parse(["--format", "n"]) + options.formatters[0].class.should equal(Spec::Runner::Formatter::NestedTextFormatter) + end + + it "should use nested text formatter when format is nested" do + options = parse(["--format", "nested"]) + options.formatters[0].class.should equal(Spec::Runner::Formatter::NestedTextFormatter) + end + + it "should support diff option when format is not specified" do + options = parse(["--diff"]) + options.diff_format.should == :unified + end + + it "should use unified diff format option when format is unified" do + options = parse(["--diff", "unified"]) + options.diff_format.should == :unified + options.differ_class.should equal(Spec::Expectations::Differs::Default) + end + + it "should use context diff format option when format is context" do + options = parse(["--diff", "context"]) + options.diff_format.should == :context + options.differ_class.should == Spec::Expectations::Differs::Default + end + + it "should use custom diff format option when format is a custom format" do + Spec::Expectations.differ.should_not be_instance_of(Custom::Differ) + + options = parse(["--diff", "Custom::Differ"]) + options.parse_diff "Custom::Differ" + options.diff_format.should == :custom + options.differ_class.should == Custom::Differ + Spec::Expectations.differ.should be_instance_of(Custom::Differ) + end + + it "should print instructions about how to fix missing differ" do + lambda { parse(["--diff", "Custom::MissingFormatter"]) }.should raise_error(NameError) + @err.string.should match(/Couldn't find differ class Custom::MissingFormatter/n) + end + + describe "when attempting a focussed spec" do + attr_reader :file, :dir + before(:each) do + @original_rspec_options = Spec::Runner.options + @file = "#{File.dirname(__FILE__)}/line_number_query/line_number_query_fixture.rb" + @dir = File.dirname(file) + end + + after(:each) do + Spec::Runner.use @original_rspec_options + end + + def parse(args) + options = super + Spec::Runner.use options + options.filename_pattern = "*_fixture.rb" + options + end + + describe 'with the --line flag' do + it "should correctly identify the spec" do + options = parse([file, "--line", "13"]) + options.line_number.should == 13 + options.examples.should be_empty + options.run_examples + options.examples.should eql(["d"]) + end + + it "should fail with error message if specified file is a dir" do + options = parse([dir, "--line", "169"]) + options.line_number.should == 169 + options.run_examples + @err.string.should match(/You must specify one file, not a directory when providing a line number/n) + end + + + it "should fail with error message if file does not exist" do + options = parse(["some file", "--line", "169"]) + proc do + options.run_examples + end.should raise_error + end + + it "should fail with error message if more than one files are specified" do + options = parse([file, file, "--line", "169"]) + options.run_examples + @err.string.should match(/Only one file can be specified when providing a line number/n) + end + + it "should fail with error message if using simultaneously with --example" do + options = parse([file, "--example", "some example", "--line", "169"]) + options.run_examples + @err.string.should match(/You cannot use --example and specify a line number/n) + end + end + + describe 'with the colon syntax (filename:LINE_NUMBER)' do + + it "should strip the line number from the file name" do + options = parse(["#{file}:13"]) + options.files.should include(file) + end + + it "should correctly identify the spec" do + options = parse(["#{file}:13"]) + options.line_number.should == 13 + options.examples.should be_empty + options.run_examples + options.examples.should eql(["d"]) + end + + it "should fail with error message if specified file is a dir" do + options = parse(["#{dir}:169"]) + options.line_number.should == 169 + options.run_examples + @err.string.should match(/You must specify one file, not a directory when providing a line number/n) + end + + + it "should fail with error message if file does not exist" do + options = parse(["some file:169"]) + proc do + options.run_examples + end.should raise_error + end + + it "should fail with error message if more than one files are specified" do + options = parse([file, "#{file}:169"]) + options.run_examples + @err.string.should match(/Only one file can be specified when providing a line number/n) + end + + it "should fail with error message if using simultaneously with --example" do + options = parse(["#{file}:169", "--example", "some example"]) + options.run_examples + @err.string.should match(/You cannot use --example and specify a line number/n) + end + end + + end + + if [/mswin/, /java/].detect{|p| p =~ RUBY_PLATFORM} + it "should barf when --heckle is specified (and platform is windows)" do + lambda do + options = parse(["--heckle", "Spec"]) + end.should raise_error(StandardError, /Heckle is not supported/) + end + elsif Spec::Ruby.version.to_f == 1.9 + it "should barf when --heckle is specified (and platform is Ruby 1.9)" do + lambda do + options = parse(["--heckle", "Spec"]) + end.should raise_error(StandardError, /Heckle is not supported/) + end + else + it "should heckle when --heckle is specified (and platform is not windows)" do + options = parse(["--heckle", "Spec"]) + options.heckle_runner.should be_instance_of(Spec::Runner::HeckleRunner) + end + end + + it "should read options from file when --options is specified" do + options = parse(["--options", File.dirname(__FILE__) + "/spec.opts"]) + options.diff_format.should_not be_nil + options.colour.should be_true + end + + it "should default the formatter to ProgressBarFormatter when using options file" do + options = parse(["--options", File.dirname(__FILE__) + "/spec.opts"]) + options.formatters.first.should be_instance_of(::Spec::Runner::Formatter::ProgressBarFormatter) + end + + it "should run parse drb after parsing options" do + @parser.should_receive(:parse_drb).with(no_args).and_return(true) + options = parse(["--options", File.dirname(__FILE__) + "/spec_drb.opts"]) + end + + it "should send all the arguments other than --drb back to the parser after parsing options" do + Spec::Runner::DrbCommandLine.should_receive(:run).and_return do |options| + options.argv.should == ["example_file.rb", "--colour"] + end + options = parse(["example_file.rb", "--options", File.dirname(__FILE__) + "/spec_drb.opts"]) + end + + it "runs specs locally if no drb is running when --drb is specified" do + Spec::Runner::DrbCommandLine.should_receive(:run).and_return(false) + options = parse(["example_file.rb", "--options", File.dirname(__FILE__) + "/spec_drb.opts"]) + options.__send__(:examples_should_be_run?).should be_true + end + + it "says its running specs locally if no drb is running when --drb is specified" do + Spec::Runner::DrbCommandLine.should_receive(:run).and_return(false) + options = parse(["example_file.rb", "--options", File.dirname(__FILE__) + "/spec_drb.opts"]) + options.error_stream.rewind + options.error_stream.string.should =~ /Running specs locally/ + end + + it "does not run specs locally if drb is running when --drb is specified" do + Spec::Runner::DrbCommandLine.should_receive(:run).and_return(true) + options = parse(["example_file.rb", "--options", File.dirname(__FILE__) + "/spec_drb.opts"]) + options.__send__(:examples_should_be_run?).should be_false + end + + it "should read spaced and multi-line options from file when --options is specified" do + options = parse(["--options", File.dirname(__FILE__) + "/spec_spaced.opts"]) + options.diff_format.should_not be_nil + options.colour.should be_true + options.formatters.first.should be_instance_of(::Spec::Runner::Formatter::SpecdocFormatter) + end + + it "should save config to file when --generate-options is specified" do + FileUtils.rm 'test.spec.opts' if File.exist?('test.spec.opts') + options = parse(["--colour", "--generate-options", "test.spec.opts", "--diff"]) + IO.read('test.spec.opts').should == "--colour\n--diff\n" + FileUtils.rm 'test.spec.opts' + end + + it "should save config to file when -G is specified" do + FileUtils.rm 'test.spec.opts' if File.exist?('test.spec.opts') + options = parse(["--colour", "-G", "test.spec.opts", "--diff"]) + IO.read('test.spec.opts').should == "--colour\n--diff\n" + FileUtils.rm 'test.spec.opts' + end + + it "when --drb is specified, calls DrbCommandLine all of the other ARGV arguments" do + options = Spec::Runner::OptionParser.parse([ + "some/spec.rb", "--diff", "--colour" + ], @err, @out) + Spec::Runner::DrbCommandLine.should_receive(:run).and_return do |options| + options.argv.should == ["some/spec.rb", "--diff", "--colour"] + end + parse(["some/spec.rb", "--diff", "--drb", "--colour"]) + end + + it "should reverse spec order when --reverse is specified" do + options = parse(["some/spec.rb", "--reverse"]) + end + + it "should set an mtime comparator when --loadby mtime" do + options = parse(["--loadby", 'mtime']) + runner = Spec::Runner::ExampleGroupRunner.new(options) + Spec::Runner::ExampleGroupRunner.should_receive(:new). + with(options). + and_return(runner) + runner.should_receive(:load_files).with(["most_recent_spec.rb", "command_line_spec.rb"]) + + Dir.chdir(File.dirname(__FILE__)) do + options.files << 'command_line_spec.rb' + options.files << 'most_recent_spec.rb' + FileUtils.touch "most_recent_spec.rb" + options.run_examples + FileUtils.rm "most_recent_spec.rb" + end + end + + it "should use the standard runner by default" do + runner = ::Spec::Runner::ExampleGroupRunner.new(@parser.options) + ::Spec::Runner::ExampleGroupRunner.should_receive(:new). + with(@parser.options). + and_return(runner) + options = parse([]) + options.run_examples + end + + it "should use a custom runner when given" do + runner = Custom::ExampleGroupRunner.new(@parser.options, nil) + Custom::ExampleGroupRunner.should_receive(:new). + with(@parser.options, nil). + and_return(runner) + options = parse(["--runner", "Custom::ExampleGroupRunner"]) + options.run_examples + end + + it "should use a custom runner with extra options" do + runner = Custom::ExampleGroupRunner.new(@parser.options, 'something') + Custom::ExampleGroupRunner.should_receive(:new). + with(@parser.options, 'something'). + and_return(runner) + options = parse(["--runner", "Custom::ExampleGroupRunner:something"]) + options.run_examples + end + + it "sets options.autospec to true with --autospec" do + options = parse(["--autospec"]) + options.autospec.should be(true) + end + + describe "implicitly loading spec/spec.opts" do + extend FakeFS::SpecHelpers + use_fakefs + it "uses spec/spec.opts if present" do + File.open('spec/spec.opts', 'w') { |f| f.write "--colour" } + options = parse(['ignore.rb']) + options.colour.should be(true) + end + + it "does not try to load spec/spec.opts if not present" do + FileUtils.rm 'spec/spec.opts' + options = parse(['ignore.rb']) + options.colour.should be(false) + end + + it "uses specified opts if supplied" do + options = nil + File.open("spec/spec.opts",'w') { |f| f.write "" } + File.open("spec/alternate.opts",'w') { |f| f.write "--colour" } + options = parse(['-O','spec/alternate.opts']) + options.colour.should be(true) + end + end + + +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/options_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/options_spec.rb new file mode 100755 index 00000000..bb1e0e8c --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/options_spec.rb @@ -0,0 +1,547 @@ +require 'spec_helper' +require 'spec/runner/resources/custom_example_group_runner' + +module Spec + module Runner + describe Options do + before(:each) do + @err = StringIO.new('') + @out = StringIO.new('') + @options = Options.new(@err, @out) + + before_suite_parts = [] + after_suite_parts = [] + @options.stub!(:before_suite_parts).and_return(before_suite_parts) + @options.stub!(:after_suite_parts).and_return(after_suite_parts) + end + + after(:each) do + Spec::Expectations.differ = nil + end + + describe "#require_ruby_debug" do + it "should require ruby-debug" do + @options.stub!(:require) + @options.should_receive(:require).with("ruby-debug") + @options.require_ruby_debug + end + end + + describe "#examples" do + it "should default to empty array" do + @options.examples.should == [] + end + end + + describe "#include_pattern" do + it "should default to '**/*_spec.rb'" do + @options.filename_pattern.should == "**/*_spec.rb" + end + end + + describe "#files_to_load" do + + it "should load files not following pattern if named explicitly" do + file = File.expand_path(File.dirname(__FILE__) + "/resources/a_bar.rb") + @options.files << file + @options.files_to_load.should include(file) + end + + describe "with default --pattern" do + it "should load files named _spec.rb" do + dir = File.expand_path(File.dirname(__FILE__) + "/resources/") + @options.files << dir + @options.files_to_load.should == ["#{dir}/a_spec.rb"] + end + end + + describe "with explicit pattern (single)" do + before(:each) do + @options.filename_pattern = "**/*_foo.rb" + end + + it "should load files following pattern" do + file = File.expand_path(File.dirname(__FILE__) + "/resources/a_foo.rb") + @options.files << file + @options.files_to_load.should include(file) + end + + it "should load files in directories following pattern" do + dir = File.expand_path(File.dirname(__FILE__) + "/resources") + @options.files << dir + @options.files_to_load.should include("#{dir}/a_foo.rb") + end + + it "should not load files in directories not following pattern" do + dir = File.expand_path(File.dirname(__FILE__) + "/resources") + @options.files << dir + @options.files_to_load.should_not include("#{dir}/a_bar.rb") + end + end + + describe "with explicit pattern (comma,separated,values)" do + + before(:each) do + @options.filename_pattern = "**/*_foo.rb,**/*_bar.rb" + end + + it "should support comma separated values" do + dir = File.expand_path(File.dirname(__FILE__) + "/resources") + @options.files << dir + @options.files_to_load.should include("#{dir}/a_foo.rb") + @options.files_to_load.should include("#{dir}/a_bar.rb") + end + + it "should support comma separated values with spaces" do + dir = File.expand_path(File.dirname(__FILE__) + "/resources") + @options.files << dir + @options.files_to_load.should include("#{dir}/a_foo.rb") + @options.files_to_load.should include("#{dir}/a_bar.rb") + end + + end + + end + + describe "#backtrace_tweaker" do + it "should default to QuietBacktraceTweaker" do + @options.backtrace_tweaker.class.should == QuietBacktraceTweaker + end + + it "adds custom ignored backtrace patterns" do + Spec::Runner.configuration.stub!(:ignored_backtrace_patterns).and_return([/custom_pattern/]) + @options.run_examples + @options.backtrace_tweaker.ignored_patterns.should include(/custom_pattern/) + end + end + + describe "#dry_run" do + it "should default to false" do + @options.dry_run.should == false + end + end + + describe "#debug" do + it "should default to false" do + @options.debug.should == false + end + end + + describe "#context_lines" do + it "should default to 3" do + @options.context_lines.should == 3 + end + end + + describe "#parse_diff with nil" do + before(:each) do + @options.parse_diff nil + end + + it "should make diff_format unified" do + @options.diff_format.should == :unified + end + + it "should set Spec::Expectations.differ to be a default differ" do + Spec::Expectations.differ.class.should == + ::Spec::Expectations::Differs::Default + end + end + + describe "#parse_diff with 'unified'" do + before(:each) do + @options.parse_diff 'unified' + end + + it "should make diff_format unified and uses default differ_class" do + @options.diff_format.should == :unified + @options.differ_class.should equal(Spec::Expectations::Differs::Default) + end + + it "should set Spec::Expectations.differ to be a default differ" do + Spec::Expectations.differ.class.should == + ::Spec::Expectations::Differs::Default + end + end + + describe "#parse_diff with 'context'" do + before(:each) do + @options.parse_diff 'context' + end + + it "should make diff_format context and uses default differ_class" do + @options.diff_format.should == :context + @options.differ_class.should == Spec::Expectations::Differs::Default + end + + it "should set Spec::Expectations.differ to be a default differ" do + Spec::Expectations.differ.class.should == + ::Spec::Expectations::Differs::Default + end + end + + describe "#parse_diff with Custom::Differ" do + before(:each) do + @options.parse_diff 'Custom::Differ' + end + + it "should use custom differ_class" do + @options.diff_format.should == :custom + @options.differ_class.should == Custom::Differ + Spec::Expectations.differ.should be_instance_of(Custom::Differ) + end + + it "should set Spec::Expectations.differ to be a default differ" do + Spec::Expectations.differ.class.should == + ::Custom::Differ + end + end + + describe "#parse_diff with missing class name" do + it "should raise error" do + lambda { @options.parse_diff "Custom::MissingDiffer" }.should raise_error(NameError) + @err.string.should match(/Couldn't find differ class Custom::MissingDiffer/n) + end + end + + describe "#parse_example" do + it "with argument thats not a file path, sets argument as the example" do + example = "something or other" + File.file?(example).should == false + @options.parse_example example + @options.examples.should eql(["something or other"]) + end + + it "with argument that is a file path, sets examples to contents of the file" do + example = "#{File.dirname(__FILE__)}/examples.txt" + File.should_receive(:file?).with(example).and_return(true) + file = StringIO.new("Sir, if you were my husband, I would poison your drink.\nMadam, if you were my wife, I would drink it.") + File.should_receive(:open).with(example).and_return(file) + + @options.parse_example example + @options.examples.should eql([ + "Sir, if you were my husband, I would poison your drink.", + "Madam, if you were my wife, I would drink it." + ]) + end + end + + describe "#examples_should_not_be_run" do + it "should cause #run_examples to return true and do nothing" do + @options.examples_should_not_be_run + ExampleGroupRunner.should_not_receive(:new) + + @options.run_examples.should be_true + end + end + + describe "debug option specified" do + it "should cause ruby_debug to be required and do nothing" do + @options.debug = true + @options.should_receive(:require_ruby_debug) + @options.run_examples.should be_true + end + end + + describe "debug option not specified" do + it "should not cause ruby_debug to be required" do + @options.debug = false + @options.should_not_receive(:require_ruby_debug) + @options.run_examples.should be_true + end + end + + describe "#load_class" do + it "should raise error when not class name" do + lambda do + @options.__send__(:load_class, 'foo', 'fruit', '--food') + end.should raise_error('"foo" is not a valid class name') + end + end + + describe "#reporter" do + it "returns a Reporter" do + @options.reporter.should be_instance_of(Reporter) + @options.reporter.options.should === @options + end + end + + describe "#number_of_examples" do + context "when --example is parsed" do + it "provides the number of examples parsed instead of the total number of examples collected" do + @example_group = Class.new(::Spec::Example::ExampleGroup).describe("Some Examples") do + it "uses this example_group 1" do; end + it "uses this example_group 2" do; end + it "uses this example_group 3" do; end + end + @options.add_example_group @example_group + @options.parse_example("an example") + @options.number_of_examples.should == 1 + end + end + end + + describe "#add_example_group affecting passed in example_group" do + it "runs all examples when options.examples is empty" do + example_1_has_run = false + example_2_has_run = false + @example_group = Class.new(::Spec::Example::ExampleGroup).describe("Some Examples") do + it "runs 1" do + example_1_has_run = true + end + it "runs 2" do + example_2_has_run = true + end + end + + @options.examples.clear + + @options.add_example_group @example_group + @options.run_examples + example_1_has_run.should be_true + example_2_has_run.should be_true + end + + it "keeps all example_definitions when options.examples is empty" do + example_1_has_run = false + example_2_has_run = false + @example_group = Class.new(::Spec::Example::ExampleGroup).describe("Some Examples") do + it "runs 1" do + example_1_has_run = true + end + it "runs 2" do + example_2_has_run = true + end + end + + @options.add_example_group @example_group + @options.run_examples + example_1_has_run.should be_true + example_2_has_run.should be_true + end + end + + describe "#add_example_group affecting example_group" do + it "adds example_group when example_group has example_definitions and is not shared" do + @example_group = Class.new(::Spec::Example::ExampleGroup).describe("Some Examples") do + it "uses this example_group" do + end + end + + @options.number_of_examples.should == 0 + @options.add_example_group @example_group + @options.number_of_examples.should == 1 + @options.example_groups.length.should == 1 + end + end + + describe "#remove_example_group" do + it "should remove the ExampleGroup from the list of ExampleGroups" do + @example_group = Class.new(::Spec::Example::ExampleGroup).describe("Some Examples") do + end + @options.add_example_group @example_group + @options.example_groups.should include(@example_group) + + @options.remove_example_group @example_group + @options.example_groups.should_not include(@example_group) + end + end + + describe "#run_examples" do + describe "with global predicate matchers" do + it "defines global predicate matcher methods on ExampleMethods" do + Spec::Runner.configuration.stub!(:predicate_matchers).and_return({:this => :that?}) + group = Class.new(::Spec::Example::ExampleGroupDouble).describe("Some Examples") + example = group.new(::Spec::Example::ExampleProxy.new) + + @options.run_examples + example.this + end + + after(:each) do + Spec::Example::ExampleMethods.class_eval "undef :this" + end + end + + describe "with a mock framework defined as a Symbol" do + it "includes Spec::Adapters::MockFramework" do + Spec::Runner.configuration.stub!(:mock_framework).and_return('spec/adapters/mock_frameworks/rspec') + + Spec::Example::ExampleMethods.should_receive(:include).with(Spec::Adapters::MockFramework) + + @options.run_examples + end + end + + describe "with a mock framework defined as a Module" do + it "includes the module in ExampleMethods" do + mod = Module.new + Spec::Runner.configuration.stub!(:mock_framework).and_return(mod) + Spec::Example::ExampleMethods.should_receive(:include).with(mod) + @options.run_examples + end + end + + describe "when not given a custom runner" do + it "should use the standard" do + runner = ::Spec::Runner::ExampleGroupRunner.new(@options) + ::Spec::Runner::ExampleGroupRunner.should_receive(:new). + with(@options). + and_return(runner) + @options.user_input_for_runner = nil + + @options.run_examples + end + end + + describe "when given a custom runner" do + it "should use the custom runner" do + runner = Custom::ExampleGroupRunner.new(@options, nil) + Custom::ExampleGroupRunner.should_receive(:new). + with(@options, nil). + and_return(runner) + @options.user_input_for_runner = "Custom::ExampleGroupRunner" + + @options.run_examples + end + + it "should use the custom runner with extra options" do + runner = Custom::ExampleGroupRunner.new(@options, 'something') + Custom::ExampleGroupRunner.should_receive(:new). + with(@options, 'something'). + and_return(runner) + @options.user_input_for_runner = "Custom::ExampleGroupRunner:something" + + @options.run_examples + end + end + + describe "when there are examples" do + before(:each) do + @example_group = Class.new(::Spec::Example::ExampleGroup) + @options.add_example_group @example_group + @options.formatters << Formatter::BaseTextFormatter.new(@options, @out) + end + + it "runs the Examples and outputs the result" do + @options.run_examples + @out.string.should include("0 examples, 0 failures") + end + + it "sets #examples_run? to true" do + @options.examples_run?.should be_false + @options.run_examples + @options.examples_run?.should be_true + end + + describe "and the suite passes" do + before do + @example_group.should_receive(:run).and_return(true) + end + + it "invokes after_suite_parts with true" do + success_result = nil + @options.after_suite_parts << lambda do |success| + success_result = success + end + + @options.run_examples + success_result.should be_true + end + end + + describe "and the suite fails" do + before(:each) do + @example_group.should_receive(:run).and_return(false) + end + + it "invokes after_suite_parts with false" do + success_result = nil + @options.after_suite_parts << lambda do |success| + success_result = success + end + + @options.run_examples + success_result.should be_false + end + end + + describe "when using heckle runner" do + before(:each) do + @heckle_runner_mock = mock("HeckleRunner") + @options.heckle_runner = @heckle_runner_mock + end + + it "should heckle" do + @heckle_runner_mock.should_receive(:heckle_with) + @options.run_examples + end + + it "shouldn't heckle recursively" do + heckled = false + @heckle_runner_mock.should_receive(:heckle_with) { + heckled.should == false + heckled = true + @options.run_examples + } + @options.run_examples + end + + it "shouldn't load spec files twice" do + example_runner = mock("ExampleGroupRunner") + example_runner_inside_heckle = mock("ExampleGroupRunner inside Heckle") + + ExampleGroupRunner.should_receive(:new).twice.and_return( + example_runner, example_runner_inside_heckle + ) + + example_runner.stub!(:run) + example_runner.should_receive(:load_files) + @heckle_runner_mock.stub!(:heckle_with).and_return { @options.run_examples } + example_runner_inside_heckle.stub!(:run) + example_runner_inside_heckle.should_not_receive(:load_files) + + @options.run_examples + end + end + end + + describe "when there are no examples" do + before(:each) do + @options.formatters << Formatter::BaseTextFormatter.new(@options, @out) + end + + it "does not run Examples and does not output a result" do + @options.run_examples + @out.string.should_not include("examples") + @out.string.should_not include("failures") + end + + it "sets #examples_run? to false" do + @options.examples_run?.should be_false + @options.run_examples + @options.examples_run?.should be_false + end + + it "invokes after_suite_parts with true" do + success_result = nil + @options.after_suite_parts << lambda do |success| + success_result = success + end + + @options.run_examples + success_result.should be_true + end + end + end + + describe "#add_dir_from_project_root_to_load_path" do + it "handles nil gracefully" do + load_path = double().as_null_object + @options.stub(:project_root).and_return(nil) + @options.add_dir_from_project_root_to_load_path(nil,load_path) + end + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/output_one_time_fixture.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/output_one_time_fixture.rb new file mode 100755 index 00000000..8a3a9fc7 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/output_one_time_fixture.rb @@ -0,0 +1,7 @@ +require 'spec_helper' + +describe "Running an Example" do + it "should not output twice" do + true.should be_true + end +end \ No newline at end of file diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/output_one_time_fixture_runner.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/output_one_time_fixture_runner.rb new file mode 100755 index 00000000..b6b3761e --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/output_one_time_fixture_runner.rb @@ -0,0 +1,7 @@ +require "spec_helper" + +triggering_double_output = Spec::Runner.options +options = Spec::Runner::OptionParser.parse( + [File.dirname(__FILE__) + "/output_one_time_fixture.rb"], $stderr, $stdout +) +Spec::Runner::CommandLine.run(options) diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/output_one_time_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/output_one_time_spec.rb new file mode 100755 index 00000000..c91bb0ff --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/output_one_time_spec.rb @@ -0,0 +1,15 @@ +require 'spec_helper' +require 'ruby_forker' + +module Spec + module Runner + describe CommandLine do + include RubyForker + it "should not output twice" do + output = ruby "-Ilib bin/spec spec/spec/runner/output_one_time_fixture_runner.rb" + output.should include("1 example, 0 failures") + output.should_not include("0 examples, 0 failures") + end + end + end +end \ No newline at end of file diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/quiet_backtrace_tweaker_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/quiet_backtrace_tweaker_spec.rb new file mode 100755 index 00000000..30eaa736 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/quiet_backtrace_tweaker_spec.rb @@ -0,0 +1,105 @@ +require 'spec_helper' + +module Spec + module Runner + describe QuietBacktraceTweaker do + before(:each) do + @error = RuntimeError.new + @tweaker = QuietBacktraceTweaker.new + end + + it "gracefully handles nil backtrace" do + lambda do + @tweaker.tweak_backtrace(@error) + end.should_not raise_error + end + + it "gracefully handle backtraces with newlines" do + @error.set_backtrace(["we like\nbin/spec:\nnewlines"]) + @tweaker.tweak_backtrace(@error) + @error.backtrace.should include("we like\nnewlines") + end + + it "cleans up double slashes" do + @error.set_backtrace(["/a//b/c//d.rb"]) + @tweaker.tweak_backtrace(@error) + @error.backtrace.should include("/a/b/c/d.rb") + end + + it "preserves lines from textmate ruby bundle" do + @error.set_backtrace(["/Applications/TextMate.app/Contents/SharedSupport/Bundles/Ruby.tmbundle/Support/tmruby.rb:147"]) + @tweaker.tweak_backtrace(@error) + @error.backtrace.should be_empty + end + + it "removes lines in lib/spec" do + ["expectations", "mocks", "runner"].each do |child| + element="/lib/spec/#{child}/anything.rb" + @error.set_backtrace([element]) + @tweaker.tweak_backtrace(@error) + @error.backtrace.should be_empty, "Should have removed line with '#{element}'" + end + end + + it "removes lines in bin/spec" do + @error.set_backtrace(["bin/spec:"]) + @tweaker.tweak_backtrace(@error) + @error.backtrace.should be_empty + end + + it "removes lines in mock_frameworks/rspec" do + element = "mock_frameworks/rspec" + @error.set_backtrace([element]) + @tweaker.tweak_backtrace(@error) + @error.backtrace.should be_empty, "Should have removed line with '#{element}'" + end + + it "removes custom patterns" do + element = "/vendor/lib/custom_pattern/" + @tweaker.ignore_patterns /custom_pattern/ + @error.set_backtrace([element]) + @tweaker.tweak_backtrace(@error) + @error.backtrace.should be_empty, "Should have removed line with '#{element}'" + end + + it "removes custom patterns added as a string" do + element = "/vendor/lib/custom_pattern/" + @tweaker.ignore_patterns "custom_pattern" + @error.set_backtrace([element]) + @tweaker.tweak_backtrace(@error) + @error.backtrace.should be_empty, "Should have removed line with '#{element}'" + end + + it "removes lines in mock_frameworks/rspec" do + element = "mock_frameworks/rspec" + @error.set_backtrace([element]) + @tweaker.tweak_backtrace(@error) + @error.backtrace.should be_empty, "Should have removed line with '#{element}'" + end + + it "removes lines in rspec gem" do + ["/rspec-1.2.3/lib/spec.rb","/rspec-1.2.3/lib/spec/anything.rb","bin/spec:123"].each do |element| + @error.set_backtrace([element]) + @tweaker.tweak_backtrace(@error) + @error.backtrace.should be_empty, "Should have removed line with '#{element}'" + end + end + + it "removes lines in pre-release rspec gems" do + ["/rspec-1.2.3.a1.gem/lib/spec.rb","/rspec-1.2.3.b1.gem/lib/spec.rb","/rspec-1.2.3.rc1.gem/lib/spec.rb"].each do |element| + @error.set_backtrace([element]) + @tweaker.tweak_backtrace(@error) + @error.backtrace.should be_empty, "Should have removed line with '#{element}'" + end + end + + it "removes lines in spork gem" do + ["/spork-1.2.3/lib/spec.rb","/spork-1.2.3/lib/spec/anything.rb","bin/spork:123"].each do |element| + @error.set_backtrace([element]) + @tweaker.tweak_backtrace(@error) + @error.backtrace.should be_empty, "Should have removed line with '#{element}'" + end + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/reporter_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/reporter_spec.rb new file mode 100755 index 00000000..556387dc --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/reporter_spec.rb @@ -0,0 +1,244 @@ +require 'spec_helper' + +module Spec + module Runner + describe Reporter do + attr_reader :formatter_output, :options, :backtrace_tweaker, :formatter, :reporter, :example_group, :example_group_proxy, :example_proxy + before(:each) do + @formatter_output = StringIO.new + @options = Options.new(StringIO.new, StringIO.new) + @backtrace_tweaker = stub("backtrace tweaker", :tweak_backtrace => nil) + options.backtrace_tweaker = backtrace_tweaker + @formatter = ::Spec::Runner::Formatter::BaseTextFormatter.new(options, formatter_output) + options.formatters << formatter + @reporter = Reporter.new(options) + @example_group = create_example_group("example_group") + @example_group_proxy = Spec::Example::ExampleGroupProxy.new(@example_group) + @example_proxy = Spec::Example::ExampleProxy.new + example_group.notify(reporter) + end + + def failure + Mocks::ArgumentMatchers::DuckTypeMatcher.new(:header, :exception) + end + + def create_example_group(text) + example_group = Spec::Example::ExampleGroup.describe(text) do + it "should do something" do + end + end + example_group + end + + it "should assign itself as the reporter to options" do + options.reporter.should equal(@reporter) + end + + it "should tell formatter when example_group is added" do + formatter.should_receive(:example_group_started).with(example_group_proxy) + example_group.notify(reporter) + end + + it "should handle multiple example_groups with same name" do + formatter.should_receive(:example_group_started).exactly(3).times + formatter.should_receive(:example_started).exactly(3).times + formatter.should_receive(:example_passed).exactly(3).times + formatter.should_receive(:start_dump) + formatter.should_receive(:dump_pending) + formatter.should_receive(:close).with(no_args) + formatter.should_receive(:dump_summary).with(anything(), 3, 0, 0) + create_example_group("example_group").notify(reporter) + reporter.example_started(description_of("spec 1")) + reporter.example_finished(description_of("spec 1")) + create_example_group("example_group").notify(reporter) + reporter.example_started(description_of("spec 2")) + reporter.example_finished(description_of("spec 2")) + create_example_group("example_group").notify(reporter) + reporter.example_started(description_of("spec 3")) + reporter.example_finished(description_of("spec 3")) + reporter.dump + end + + def description_of(example) + ::Spec::Example::ExampleProxy.new(String === example ? example : example.description) + end + + it "should handle multiple examples with the same name" do + error=RuntimeError.new + passing = ::Spec::Example::ExampleGroupDouble.new(example_proxy) + failing = ::Spec::Example::ExampleGroupDouble.new(example_proxy) + + formatter.should_receive(:example_group_started).exactly(2).times + formatter.should_receive(:example_passed).with(description_of(passing)).exactly(2).times + formatter.should_receive(:example_failed).with(description_of(failing), 1, failure) + formatter.should_receive(:example_failed).with(description_of(failing), 2, failure) + formatter.should_receive(:dump_failure).exactly(2).times + formatter.should_receive(:start_dump) + formatter.should_receive(:dump_pending) + formatter.should_receive(:close).with(no_args) + formatter.should_receive(:dump_summary).with(anything(), 4, 2, 0) + backtrace_tweaker.should_receive(:tweak_backtrace).twice + + create_example_group("example_group").notify(reporter) + reporter.example_finished(description_of(passing)) + reporter.example_finished(description_of(failing), error) + + create_example_group("example_group").notify(reporter) + reporter.example_finished(description_of(passing)) + reporter.example_finished(description_of(failing), error) + reporter.dump + end + + it "should push stats to formatter even with no data" do + formatter.should_receive(:start_dump) + formatter.should_receive(:dump_pending) + formatter.should_receive(:dump_summary).with(anything(), 0, 0, 0) + formatter.should_receive(:close).with(no_args) + reporter.dump + end + + it "should push time to formatter" do + formatter.should_receive(:start).with(5) + formatter.should_receive(:start_dump) + formatter.should_receive(:dump_pending) + formatter.should_receive(:close).with(no_args) + formatter.should_receive(:dump_summary) do |time, a, b| + time.to_s.should match(/[0-9].[0-9|e|-]+/) + end + reporter.start(5) + reporter.end + reporter.dump + end + + describe "reporting one passing example" do + it "should tell formatter example passed" do + formatter.should_receive(:example_passed) + reporter.example_finished(description_of("example")) + end + + it "should not delegate to backtrace tweaker" do + formatter.should_receive(:example_passed) + backtrace_tweaker.should_not_receive(:tweak_backtrace) + reporter.example_finished(description_of("example")) + end + + it "should account for passing example in stats" do + formatter.should_receive(:example_passed) + formatter.should_receive(:start_dump) + formatter.should_receive(:dump_pending) + formatter.should_receive(:dump_summary).with(anything(), 1, 0, 0) + formatter.should_receive(:close).with(no_args) + reporter.example_finished(description_of("example")) + reporter.dump + end + end + + describe "reporting one failing example" do + it "should tell formatter that example failed" do + example = example_group.it("should do something") {} + formatter.should_receive(:example_failed) + reporter.example_finished(description_of(example), RuntimeError.new) + end + + it "should delegate to backtrace tweaker" do + formatter.should_receive(:example_failed) + backtrace_tweaker.should_receive(:tweak_backtrace) + reporter.example_finished(example_proxy, RuntimeError.new) + end + + it "should account for failing example in stats" do + example = ::Spec::Example::ExampleGroupDouble.new(example_proxy) + formatter.should_receive(:example_failed).with(description_of(example), 1, failure) + formatter.should_receive(:start_dump) + formatter.should_receive(:dump_pending) + formatter.should_receive(:dump_failure).with(1, anything()) + formatter.should_receive(:dump_summary).with(anything(), 1, 1, 0) + formatter.should_receive(:close).with(no_args) + reporter.example_finished(description_of(example), RuntimeError.new) + reporter.dump + end + + end + + describe "reporting one pending example (ExamplePendingError)" do + before :each do + @pending_error = Spec::Example::ExamplePendingError.new("reason") + end + + it "should tell formatter example is pending" do + example = ExampleGroup.new(example_proxy) + formatter.should_receive(:example_pending).with(description_of(example), "reason") + formatter.should_receive(:example_group_started).with(example_group_proxy) + example_group.notify(reporter) + reporter.example_finished(description_of(example), @pending_error) + end + + it "should account for pending example in stats" do + example = ExampleGroup.new(example_proxy) + formatter.should_receive(:example_pending).with(description_of(example), "reason") + formatter.should_receive(:start_dump) + formatter.should_receive(:dump_pending) + formatter.should_receive(:dump_summary).with(anything(), 1, 0, 1) + formatter.should_receive(:close).with(no_args) + formatter.should_receive(:example_group_started).with(example_group_proxy) + example_group.notify(reporter) + reporter.example_finished(description_of(example), @pending_error) + reporter.dump + end + + describe "to formatters which have example_pending's arity of 3 (which is now deprecated)" do + before :each do + Spec.stub!(:warn) + + @deprecated_formatter = Class.new(@formatter.class) do + attr_reader :example_passed_to_method, :message_passed_to_method + + def example_pending(example_passed_to_method, message_passed_to_method, deprecated_pending_location) + @example_passed_to_method = example_passed_to_method + @message_passed_to_method = message_passed_to_method + end + end.new(options, formatter_output) + + options.formatters << @deprecated_formatter + end + + it "should pass the correct example description to the formatter" do + proxy = Spec::Example::ExampleProxy.new("name") + example = ExampleGroup.new(proxy) + example_group.notify(reporter) + reporter.example_finished(description_of(example), @pending_error) + + @deprecated_formatter.example_passed_to_method.should == proxy + end + + it "should pass the correct pending error message to the formatter" do + example = ExampleGroup.new(example_proxy) + example_group.notify(reporter) + reporter.example_finished(description_of(example), @pending_error) + + @deprecated_formatter.message_passed_to_method.should == @pending_error.message + end + + it "should raise a deprecation warning" do + Spec.should_receive(:warn) + + example = ExampleGroup.new(example_proxy) + example_group.notify(reporter) + reporter.example_finished(description_of(example), @pending_error) + end + end + end + + describe "reporting one pending example (PendingExampleFixedError)" do + it "should tell formatter pending example is fixed" do + formatter.should_receive(:example_failed) do |name, counter, failure| + failure.header.should == "'example_group should do something' FIXED" + end + formatter.should_receive(:example_group_started).with(example_group_proxy) + example_group.notify(reporter) + reporter.example_finished(description_of(example_group.examples.first), Spec::Example::PendingExampleFixedError.new("reason")) + end + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/resources/a_bar.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/resources/a_bar.rb new file mode 100755 index 00000000..e69de29b diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/resources/a_foo.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/resources/a_foo.rb new file mode 100755 index 00000000..e69de29b diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/resources/a_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/resources/a_spec.rb new file mode 100755 index 00000000..d9b67cc7 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/resources/a_spec.rb @@ -0,0 +1 @@ +# Empty - used by ../options_spec.rb \ No newline at end of file diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/resources/custom_example_group_runner.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/resources/custom_example_group_runner.rb new file mode 100755 index 00000000..edcf54e9 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/resources/custom_example_group_runner.rb @@ -0,0 +1,14 @@ +module Custom + class ExampleGroupRunner + attr_reader :options, :arg + def initialize(options, arg) + @options, @arg = options, arg + end + + def load_files(files) + end + + def run + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/resources/utf8_encoded.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/resources/utf8_encoded.rb new file mode 100755 index 00000000..7cbdd690 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/resources/utf8_encoded.rb @@ -0,0 +1,8 @@ +# encoding: utf-8 +module Custom + class ExampleUTF8ClassNameVarietà + def self.è + così = :però + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/spec.opts b/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/spec.opts new file mode 100755 index 00000000..fd816a42 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/spec.opts @@ -0,0 +1,2 @@ +--diff +--colour \ No newline at end of file diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/spec_drb.opts b/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/spec_drb.opts new file mode 100755 index 00000000..61f260b7 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/spec_drb.opts @@ -0,0 +1,2 @@ +--colour +--drb diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/spec_spaced.opts b/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/spec_spaced.opts new file mode 100755 index 00000000..6b3efd20 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/spec_spaced.opts @@ -0,0 +1,2 @@ +--diff --colour +--format s \ No newline at end of file diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec/runner_spec.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec/runner_spec.rb new file mode 100755 index 00000000..3b55be7a --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec/runner_spec.rb @@ -0,0 +1,13 @@ +require 'spec_helper' + +module Spec + describe Runner do + describe ".configure" do + it "should yield global configuration" do + Spec::Runner.configure do |config| + config.should equal(Spec::Runner.configuration) + end + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/spec_helper.rb b/vendor/gems/gems/rspec-1.2.9/spec/spec_helper.rb new file mode 100755 index 00000000..3cffe875 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/spec_helper.rb @@ -0,0 +1,112 @@ +require 'stringio' + +$_spec_spec = true # Prevents Kernel.exit in various places + +require 'spec' +require 'spec/mocks' +require 'spec/runner/differs/default' +require 'spec/autorun' + +require 'support/spec_classes' +require 'support/macros' + +def jruby? + ::RUBY_PLATFORM == 'java' +end + +module Spec + module Example + class NonStandardError < Exception; end + end + + module Matchers + def fail + raise_error(Spec::Expectations::ExpectationNotMetError) + end + + def fail_with(message) + raise_error(Spec::Expectations::ExpectationNotMetError, message) + end + + def exception_from(&block) + exception = nil + begin + yield + rescue StandardError => e + exception = e + end + exception + end + + def run_with(options) + ::Spec::Runner::CommandLine.run(options) + end + + def with_ruby(version) + yield if RUBY_VERSION =~ Regexp.compile("^#{version.to_s}") + end + end +end + +def with_sandboxed_options + attr_reader :options + + before(:each) do + @original_rspec_options = ::Spec::Runner.options + ::Spec::Runner.use(@options = ::Spec::Runner::Options.new(StringIO.new, StringIO.new)) + end + + after(:each) do + ::Spec::Runner.use(@original_rspec_options) + end + + yield +end + +def with_sandboxed_config + attr_reader :config + + before(:each) do + @config = ::Spec::Runner::Configuration.new + @original_configuration = ::Spec::Runner.configuration + spec_configuration = @config + ::Spec::Runner.instance_eval {@configuration = spec_configuration} + end + + after(:each) do + original_configuration = @original_configuration + ::Spec::Runner.instance_eval {@configuration = original_configuration} + ::Spec::Example::ExampleGroupFactory.reset + end + + yield +end + +module Spec + module Example + module Resettable + def reset # :nodoc: + @before_all_parts = nil + @after_all_parts = nil + @before_each_parts = nil + @after_each_parts = nil + end + end + class ExampleGroup + extend Resettable + end + class ExampleGroupDouble < ExampleGroup + ::Spec::Runner.options.remove_example_group self + def register_example_group(klass) + #ignore + end + def initialize(proxy=nil, &block) + super(proxy || ExampleProxy.new, &block) + end + end + end +end + +Spec::Runner.configure do |config| + config.extend(Macros) +end \ No newline at end of file diff --git a/vendor/gems/gems/rspec-1.2.9/spec/support/macros.rb b/vendor/gems/gems/rspec-1.2.9/spec/support/macros.rb new file mode 100755 index 00000000..6322060b --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/support/macros.rb @@ -0,0 +1,29 @@ +module Macros + def treats_method_missing_as_private(options = {:noop => true, :subject => nil}) + it "should have method_missing as private" do + with_ruby 1.8 do + described_class.private_instance_methods.should include("method_missing") + end + with_ruby 1.9 do + described_class.private_instance_methods.should include(:method_missing) + end + end + + it "should not respond_to? method_missing (because it's private)" do + formatter = options[:subject] || described_class.new({ }, StringIO.new) + formatter.should_not respond_to(:method_missing) + end + + if options[:noop] + it "should respond_to? all messages" do + formatter = described_class.new({ }, StringIO.new) + formatter.should respond_to(:just_about_anything) + end + + it "should respond_to? anything, when given the private flag" do + formatter = described_class.new({ }, StringIO.new) + formatter.respond_to?(:method_missing, true).should be_true + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/spec/support/spec_classes.rb b/vendor/gems/gems/rspec-1.2.9/spec/support/spec_classes.rb new file mode 100755 index 00000000..c8900a78 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/spec/support/spec_classes.rb @@ -0,0 +1,133 @@ +# This file contains various classes used by the specs. +module Spec + module Expectations + class Person + attr_reader :name + def initialize name + @name = name + end + def == other + return @name == other.name + end + end + + class ClassWithMultiWordPredicate + def multi_word_predicate? + true + end + end + + module Helper + class CollectionWithSizeMethod + def initialize; @list = []; end + def size; @list.size; end + def push(item); @list.push(item); end + end + + class CollectionWithLengthMethod + def initialize; @list = []; end + def length; @list.size; end + def push(item); @list.push(item); end + end + + class CollectionOwner + attr_reader :items_in_collection_with_size_method, :items_in_collection_with_length_method + + def initialize + @items_in_collection_with_size_method = CollectionWithSizeMethod.new + @items_in_collection_with_length_method = CollectionWithLengthMethod.new + end + + def add_to_collection_with_size_method(item) + @items_in_collection_with_size_method.push(item) + end + + def add_to_collection_with_length_method(item) + @items_in_collection_with_length_method.push(item) + end + + def items_for(arg) + return [1, 2, 3] if arg == 'a' + [1] + end + + def items + @items_in_collection_with_size_method + end + end + + class HandCodedMock + include Spec::Matchers + def initialize(return_val) + @return_val = return_val + @funny_called = false + end + + def funny? + @funny_called = true + @return_val + end + + def hungry?(a, b, c) + a.should equal(1) + b.should equal(2) + c.should equal(3) + @funny_called = true + @return_val + end + + def exists? + @return_val + end + + def multi_word_predicate? + @return_val + end + + def rspec_verify + @funny_called.should be_true + end + end + class ClassWithUnqueriedPredicate + attr_accessor :foo + def initialize(foo) + @foo = foo + end + end + end + end +end + +module Custom + require 'spec/runner/formatter/base_text_formatter' + class Formatter < Spec::Runner::Formatter::BaseTextFormatter + attr_reader :options, :where + + def initialize(options, where) + @options = options + @where = where + end + end + + class BadFormatter < Spec::Runner::Formatter::BaseTextFormatter + attr_reader :where + + def initialize(options, where) + bad_method + end + end + + class Differ + attr_reader :options + def initialize(options) + @options = options + end + + def diff_as_object(target, expected) + "" + end + end +end + +class FakeReporter < Spec::Runner::Reporter +end diff --git a/vendor/gems/gems/sdoc-0.2.14.1/.gitignore b/vendor/gems/gems/sdoc-0.2.14.1/.gitignore new file mode 100755 index 00000000..cc4adf63 --- /dev/null +++ b/vendor/gems/gems/sdoc-0.2.14.1/.gitignore @@ -0,0 +1,3 @@ +pkg +doc +/test.rb \ No newline at end of file diff --git a/vendor/gems/gems/sdoc-0.2.14.1/LICENSE b/vendor/gems/gems/sdoc-0.2.14.1/LICENSE new file mode 100755 index 00000000..bbb8a1a3 --- /dev/null +++ b/vendor/gems/gems/sdoc-0.2.14.1/LICENSE @@ -0,0 +1,21 @@ +Copyright (c) 2009 Vladimir Kolesnikov + +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/vendor/gems/gems/sdoc-0.2.14.1/README.rdoc b/vendor/gems/gems/sdoc-0.2.14.1/README.rdoc new file mode 100755 index 00000000..23a22fbe --- /dev/null +++ b/vendor/gems/gems/sdoc-0.2.14.1/README.rdoc @@ -0,0 +1,38 @@ += SDoc +== What's in? +- shtml - RDoc's generator to build searchable documentation +- sdoc-merge - comand line tool to build merge multiple sdoc documentations + packages into a single one +- sdoc - command line tool to run rdoc with generator=shtml + +== Getting Started + gem sources -a http://gems.github.com + sudo gem install voloko-sdoc + sdoc -N projectdir + +== Command line sdoc +sdoc is simply a wrapper to rdoc command line tool. see sdoc --help +for more details. --fmt is set to shtml by default. +Default template -T is shtml. You can also use 'direct' template. +Example: +sdoc -o doc/rails -T direct rails + +== Rake + # Rakefile + require 'sdoc' # and use your RDoc task the same way you used it before + + Rake::RDocTask.new do |rdoc| + rdoc.rdoc_dir = 'doc/rdoc' + rdoc.options << '--fmt' << 'shtml' # explictly set shtml generator + rdoc.template = 'direct' # lighter template used on railsapi.com + ... + end + +== sdoc-merge + Usage: sdoc-merge [options] directories + -n, --names [NAMES] Names of merged repositories. Comma separated + -o, --op [DIRECTORY] Set the output directory + -t, --title [TITLE] Set the title of merged file + +Example: +sdoc-merge --title "Ruby v1.9, Rails v2.3.2.1" --op merged --names "Ruby,Rails" ruby-v1.9 rails-v2.3.2.1 \ No newline at end of file diff --git a/vendor/gems/gems/sdoc-0.2.14.1/Rakefile b/vendor/gems/gems/sdoc-0.2.14.1/Rakefile new file mode 100755 index 00000000..c5b526bb --- /dev/null +++ b/vendor/gems/gems/sdoc-0.2.14.1/Rakefile @@ -0,0 +1,44 @@ +require 'rake/testtask' +require 'rake/gempackagetask' + +task :default => :test + +Rake::TestTask.new("test") do |t| + t.libs << 'test' + t.pattern = 'test/**/*_test.rb' + t.warning = true + t.verbose = true +end + +desc "Generate file list for .gemspec" +task :gem_file_list do + f = FileList.new + f.include('lib/**/**') + f.include('rdoc/**/**') + f.exclude('rdoc/test/**/**') + print "%w(" + f.to_a.select{|file| !File.directory? file }.join(' ') + ")\n" +end + +begin + require 'jeweler' + jewler = Jeweler::Tasks.new do |gem| + gem.name = "sdoc" + gem.summary = "rdoc html with javascript search index." + gem.email = "voloko@gmail.com" + gem.homepage = "http://github.com/voloko/sdoc" + gem.authors = ["Volodya Kolesnikov"] + gem.add_dependency("json", ">= 1.1.3") + gem.add_dependency("rdoc", ">= 2.4.2") + + # gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings + end + + desc "Replace system gem with symlink to this folder" + task 'ghost' do + path = Gem.searcher.find(jewler.gemspec.name).full_gem_path + system 'sudo', 'rm', '-r', path + symlink File.expand_path('.'), path + end +rescue LoadError + puts "Jeweler not available. Install it with: sudo gem install technicalpickles-jeweler -s http://gems.github.com" +end diff --git a/vendor/gems/gems/sdoc-0.2.14.1/VERSION.yml b/vendor/gems/gems/sdoc-0.2.14.1/VERSION.yml new file mode 100755 index 00000000..1a8ea358 --- /dev/null +++ b/vendor/gems/gems/sdoc-0.2.14.1/VERSION.yml @@ -0,0 +1,4 @@ +--- +:major: 0 +:minor: 2 +:patch: 14 diff --git a/vendor/gems/gems/sdoc-0.2.14.1/bin/sdoc b/vendor/gems/gems/sdoc-0.2.14.1/bin/sdoc new file mode 100755 index 00000000..215a06ac --- /dev/null +++ b/vendor/gems/gems/sdoc-0.2.14.1/bin/sdoc @@ -0,0 +1,11 @@ +#!/usr/bin/env ruby -KU + +require File.dirname(__FILE__) + '/../lib/sdoc' # add extensions + +begin + r = RDoc::RDoc.new + r.document(ARGV) +rescue RDoc::RDocError => e + $stderr.puts e.message + exit(1) +end diff --git a/vendor/gems/gems/sdoc-0.2.14.1/bin/sdoc-merge b/vendor/gems/gems/sdoc-0.2.14.1/bin/sdoc-merge new file mode 100755 index 00000000..88e00cd1 --- /dev/null +++ b/vendor/gems/gems/sdoc-0.2.14.1/bin/sdoc-merge @@ -0,0 +1,12 @@ +#!/usr/bin/env ruby -KU + +require File.dirname(__FILE__) + '/../lib/sdoc' # add extensions +require 'sdoc/merge' + +begin + m = SDoc::Merge.new + m.merge(ARGV) +rescue RDoc::RDocError => e + $stderr.puts e.message + exit(1) +end diff --git a/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc.rb b/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc.rb new file mode 100755 index 00000000..23acc747 --- /dev/null +++ b/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc.rb @@ -0,0 +1,23 @@ +$:.unshift File.dirname(__FILE__) +require "rubygems" +gem "rdoc", ">= 2.4.2" + +require "rdoc/rdoc" + +module SDoc +end + +require "sdoc/generator/shtml" +require "sdoc/c_parser_fix" + +unless defined? SDOC_FIXED_RDOC_OPTIONS + SDOC_FIXED_RDOC_OPTIONS = 1 + class RDoc::Options + alias_method :rdoc_initialize, :initialize + + def initialize + rdoc_initialize + @generator = RDoc::Generator::SHtml + end + end +end diff --git a/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/c_parser_fix.rb b/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/c_parser_fix.rb new file mode 100755 index 00000000..7cae0188 --- /dev/null +++ b/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/c_parser_fix.rb @@ -0,0 +1,31 @@ +require "rdoc/parser/c" + +# New RDoc somehow misses class comemnts. +# copyied this function from "2.2.2" +if ['2.4.2', '2.4.3'].include? RDoc::VERSION + + class RDoc::Parser::C + def find_class_comment(class_name, class_meth) + comment = nil + if @content =~ %r{((?>/\*.*?\*/\s+)) + (static\s+)?void\s+Init_#{class_name}\s*(?:_\(\s*)?\(\s*(?:void\s*)\)}xmi then + comment = $1 + elsif @content =~ %r{Document-(?:class|module):\s#{class_name}\s*?(?:<\s+[:,\w]+)?\n((?>.*?\*/))}m + comment = $1 + else + if @content =~ /rb_define_(class|module)/m then + class_name = class_name.split("::").last + comments = [] + @content.split(/(\/\*.*?\*\/)\s*?\n/m).each_with_index do |chunk, index| + comments[index] = chunk + if chunk =~ /rb_define_(class|module).*?"(#{class_name})"/m then + comment = comments[index-1] + break + end + end + end + end + class_meth.comment = mangle_comment(comment) if comment + end + end +end \ No newline at end of file diff --git a/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/shtml.rb b/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/shtml.rb new file mode 100755 index 00000000..5be784fd --- /dev/null +++ b/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/shtml.rb @@ -0,0 +1,356 @@ +require 'rubygems' +gem "rdoc", ">= 2.4.2" +if Gem.available? "json" + gem "json", ">= 1.1.3" +else + gem "json_pure", ">= 1.1.3" +end + +require 'iconv' +require 'json' +require 'pathname' +require 'fileutils' +require 'erb' + +require 'rdoc/rdoc' +require 'rdoc/generator' +require 'rdoc/generator/markup' + +require 'sdoc/github' +require 'sdoc/templatable' +require 'sdoc/helpers' + +class RDoc::ClassModule + def document_self_or_methods + document_self || method_list.any?{ |m| m.document_self } + end + + def with_documentation? + document_self_or_methods || classes_and_modules.any?{ |c| c.with_documentation? } + end +end + +class RDoc::Generator::SHtml + RDoc::RDoc.add_generator( self ) + include ERB::Util + include SDoc::GitHub + include SDoc::Templatable + include SDoc::Helpers + + GENERATOR_DIRS = [File.join('sdoc', 'generator'), File.join('rdoc', 'generator')] + + # Used in js to reduce index sizes + TYPE_CLASS = 1 + TYPE_METHOD = 2 + TYPE_FILE = 3 + + TREE_FILE = File.join 'panel', 'tree.js' + SEARCH_INDEX_FILE = File.join 'panel', 'search_index.js' + + FILE_DIR = 'files' + CLASS_DIR = 'classes' + + RESOURCES_DIR = File.join('resources', '.') + + attr_reader :basedir + + def self.for(options) + self.new(options) + end + + def self.template_dir template + $LOAD_PATH.map do |path| + GENERATOR_DIRS.map do |dir| + File.join path, dir, 'template', template + end + end.flatten.find do |dir| + File.directory? dir + end + end + + def initialize(options) + @options = options + @options.diagram = false + @github_url_cache = {} + + template = @options.template || 'direct' + + templ_dir = self.class.template_dir template + + raise RDoc::Error, "could not find template #{template.inspect}" unless + templ_dir + + @template_dir = Pathname.new File.expand_path(templ_dir) + @basedir = Pathname.pwd.expand_path + end + + def generate( top_levels ) + @outputdir = Pathname.new( @options.op_dir ).expand_path( @basedir ) + @files = top_levels.sort + @classes = RDoc::TopLevel.all_classes_and_modules.sort + + # Now actually write the output + copy_resources + generate_class_tree + generate_search_index + generate_file_files + generate_class_files + generate_index_file + end + + def class_dir + CLASS_DIR + end + + def file_dir + FILE_DIR + end + + + protected + ### Output progress information if debugging is enabled + def debug_msg( *msg ) + return unless $DEBUG_RDOC + $stderr.puts( *msg ) + end + + ### Create class tree structure and write it as json + def generate_class_tree + debug_msg "Generating class tree" + topclasses = @classes.select {|klass| !(RDoc::ClassModule === klass.parent) } + tree = generate_file_tree + generate_class_tree_level(topclasses) + debug_msg " writing class tree to %s" % TREE_FILE + File.open(TREE_FILE, "w", 0644) do |f| + f.write('var tree = '); f.write(tree.to_json) + end unless $dryrun + end + + ### Recursivly build class tree structure + def generate_class_tree_level(classes) + tree = [] + classes.select{|c| c.with_documentation? }.sort.each do |klass| + item = [ + klass.name, + klass.document_self_or_methods ? klass.path : '', + klass.module? ? '' : (klass.superclass ? " < #{String === klass.superclass ? klass.superclass : klass.superclass.full_name}" : ''), + generate_class_tree_level(klass.classes_and_modules) + ] + tree << item + end + tree + end + + ### Create search index for all classes, methods and files + ### Wite it as json + def generate_search_index + debug_msg "Generating search index" + + index = { + :searchIndex => [], + :longSearchIndex => [], + :info => [] + } + + add_class_search_index(index) + add_method_search_index(index) + add_file_search_index(index) + + debug_msg " writing search index to %s" % SEARCH_INDEX_FILE + data = { + :index => index + } + File.open(SEARCH_INDEX_FILE, "w", 0644) do |f| + f.write('var search_data = '); f.write(data.to_json) + end unless $dryrun + end + + ### Add files to search +index+ array + def add_file_search_index(index) + debug_msg " generating file search index" + + @files.select { |file| + file.document_self + }.sort.each do |file| + index[:searchIndex].push( search_string(file.name) ) + index[:longSearchIndex].push( search_string(file.path) ) + index[:info].push([ + file.name, + file.path, + file.path, + '', + snippet(file.comment), + TYPE_FILE + ]) + end + end + + ### Add classes to search +index+ array + def add_class_search_index(index) + debug_msg " generating class search index" + + @classes.select { |klass| + klass.document_self_or_methods + }.sort.each do |klass| + modulename = klass.module? ? '' : (klass.superclass ? (String === klass.superclass ? klass.superclass : klass.superclass.full_name) : '') + index[:searchIndex].push( search_string(klass.name) ) + index[:longSearchIndex].push( search_string(klass.parent.full_name) ) + index[:info].push([ + klass.name, + klass.parent.full_name, + klass.path, + modulename ? " < #{modulename}" : '', + snippet(klass.comment), + TYPE_CLASS + ]) + end + end + + ### Add methods to search +index+ array + def add_method_search_index(index) + debug_msg " generating method search index" + + list = @classes.map { |klass| + klass.method_list + }.flatten.sort{ |a, b| a.name == b.name ? a.parent.full_name <=> b.parent.full_name : a.name <=> b.name }.select { |method| + method.document_self + } + unless @options.show_all + list = list.find_all {|m| m.visibility == :public || m.visibility == :protected || m.force_documentation } + end + + list.each do |method| + index[:searchIndex].push( search_string(method.name) + '()' ) + index[:longSearchIndex].push( search_string(method.parent.full_name) ) + index[:info].push([ + method.name, + method.parent.full_name, + method.path, + method.params, + snippet(method.comment), + TYPE_METHOD + ]) + end + end + + ### Generate a documentation file for each class + def generate_class_files + debug_msg "Generating class documentation in #@outputdir" + templatefile = @template_dir + 'class.rhtml' + + @classes.each do |klass| + debug_msg " working on %s (%s)" % [ klass.full_name, klass.path ] + outfile = @outputdir + klass.path + rel_prefix = @outputdir.relative_path_from( outfile.dirname ) + + debug_msg " rendering #{outfile}" + self.render_template( templatefile, binding(), outfile ) + end + end + + ### Generate a documentation file for each file + def generate_file_files + debug_msg "Generating file documentation in #@outputdir" + templatefile = @template_dir + 'file.rhtml' + + @files.each do |file| + outfile = @outputdir + file.path + debug_msg " working on %s (%s)" % [ file.full_name, outfile ] + rel_prefix = @outputdir.relative_path_from( outfile.dirname ) + + debug_msg " rendering #{outfile}" + self.render_template( templatefile, binding(), outfile ) + end + end + + def index_file + if @options.main_page && file = @files.find { |f| f.full_name == @options.main_page } + file + else + @files.first + end + end + + ### Create index.html with frameset + def generate_index_file + debug_msg "Generating index file in #@outputdir" + templatefile = @template_dir + 'index.rhtml' + outfile = @outputdir + 'index.html' + index_path = index_file.path + + self.render_template( templatefile, binding(), outfile ) + end + + ### Strip comments on a space after 100 chars + def snippet(str) + str ||= '' + if str =~ /^(?>\s*)[^\#]/ + content = str + else + content = str.gsub(/^\s*(#+)\s*/, '') + end + + content = content.sub(/^(.{100,}?)\s.*/m, "\\1").gsub(/\r?\n/m, ' ') + + begin + content.to_json + rescue # might fail on non-unicode string + begin + content = Iconv.conv('latin1//ignore', "UTF8", content) # remove all non-unicode chars + content.to_json + rescue + content = '' # something hugely wrong happend + end + end + content + end + + ### Build search index key + def search_string(string) + string ||= '' + string.downcase.gsub(/\s/,'') + end + + ### Copy all the resource files to output dir + def copy_resources + resoureces_path = @template_dir + RESOURCES_DIR + debug_msg "Copying #{resoureces_path}/** to #{@outputdir}/**" + FileUtils.cp_r resoureces_path.to_s, @outputdir.to_s, :preserve => true unless $dryrun + end + + class FilesTree + attr_reader :children + def add(path, url) + path = path.split(File::SEPARATOR) unless Array === path + @children ||= {} + if path.length == 1 + @children[path.first] = url + else + @children[path.first] ||= FilesTree.new + @children[path.first].add(path[1, path.length], url) + end + end + end + + def generate_file_tree + if @files.length > 1 + @files_tree = FilesTree.new + @files.each do |file| + @files_tree.add(file.relative_name, file.path) + end + [['', '', 'files', generate_file_tree_level(@files_tree)]] + else + [] + end + end + + def generate_file_tree_level(tree) + tree.children.keys.sort.map do |name| + child = tree.children[name] + if String === child + [name, child, '', []] + else + ['', '', name, generate_file_tree_level(child)] + end + end + end +end diff --git a/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/direct/_context.rhtml b/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/direct/_context.rhtml new file mode 100755 index 00000000..c79cf3b2 --- /dev/null +++ b/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/direct/_context.rhtml @@ -0,0 +1,172 @@ +
    + <% unless (desc = context.description).empty? %> +
    + <%= desc %> +
    + <% end %> + + <% unless context.requires.empty? %> +
    Required Files
    +
      + <% context.requires.each do |req| %> +
    • <%= h req.name %>
    • + <% end %> +
    + <% end %> + + <% sections = context.sections.select { |section| section.title } %> + <% unless sections.empty? %> +
    Contents
    + + <% end %> + + <% + list = context.method_list + unless @options.show_all + list = list.find_all {|m| m.visibility == :public || m.visibility == :protected || m.force_documentation } + end + %> + <% unless list.empty? %> +
    Methods
    +
    + <% each_letter_group(list) do |group| %> +
    <%= group[:name] %>
    +
    +
      + <% group[:methods].each_with_index do |method, i| %> +
    • <%= method.name %><%= ',' unless group[:methods].size == i+1 %>
    • + <% end %> +
    +
    + <% end %> +
    + <% end %> + + <% unless context.includes.empty? %> +
    Included Modules
    +
      + <% context.includes.each do |inc| %> +
    • + <% unless String === inc.module %> + <%= h inc.module.full_name %> + <% else %> + <%= h inc.name %> + <% end %> + START:includes +
    • + <% end %> +
    + <% end %> + + <% sections.each do |section| %> + + <% unless (description = section.description).empty? %> +
    + <%= description %> +
    + <% end %> + <% end %> + + <% unless context.classes_and_modules.empty? %> +
    Classes and Modules
    +
      + <% (context.modules.sort + context.classes.sort).each do |mod| %> +
    • <%= mod.type.upcase %> <%= mod.full_name %>
    • + <% end %> +
    + <% end %> + + <% unless context.constants.empty? %> +
    Constants
    + + <% context.each_constant do |const| %> + + + + + + <% unless (description = const.description).empty? %> + + + + + <% end %> + <% end %> +
    <%= h const.name %>=<%= h const.value %>
     <%= description %>
    + <% end %> + + <% unless context.attributes.empty? %> +
    Attributes
    + + <% context.each_attribute do |attrib| %> + + + + + + <% end %> +
    + [<%= attrib.rw %>] + <%= h attrib.name %><%= attrib.description.strip %>
    + <% end %> + + <% context.methods_by_type.each do |type, visibilities| + next if visibilities.empty? + visibilities.each do |visibility, methods| + next if methods.empty? + next unless @options.show_all || visibility == :public || visibility == :protected || methods.any? {|m| m.force_documentation } + %> +
    <%= type.capitalize %> <%= visibility.to_s.capitalize %> methods
    + <% methods.each do |method| %> +
    +
    + <% if method.call_seq %> + <%= method.call_seq.gsub(/->/, '→') %> + <% else %> + <%= h method.name %><%= h method.params %> + <% end %> +
    + <% unless (description = method.description).empty? %> +
    + <%= description %> +
    + <% end %> + <% unless method.aliases.empty? %> +
    + This method is also aliased as + <% method.aliases.each do |aka| %> + <%= h aka.name %> + <% end %> +
    + <% end %> + <% if method.token_stream %> + <% markup = method.markup_code %> +
    + +
    +
    <%= method.markup_code %>
    +
    +
    + <% end %> +
    + <% end + end + end + %> +
    \ No newline at end of file diff --git a/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/direct/class.rhtml b/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/direct/class.rhtml new file mode 100755 index 00000000..032f407a --- /dev/null +++ b/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/direct/class.rhtml @@ -0,0 +1,40 @@ + + + + + <%= h klass.full_name %> + + " type="text/css" media="screen" /> + " type="text/css" media="screen" /> + + + + + + + +
    + <%= include_template '_context.rhtml', {:context => klass, :rel_prefix => rel_prefix} %> +
    + + \ No newline at end of file diff --git a/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/direct/file.rhtml b/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/direct/file.rhtml new file mode 100755 index 00000000..ba85bec4 --- /dev/null +++ b/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/direct/file.rhtml @@ -0,0 +1,30 @@ + + + + + <%= h file.name %> + + " type="text/css" media="screen" /> + " type="text/css" media="screen" /> + + + + + + + + +
    + <%= include_template '_context.rhtml', {:context => file, :rel_prefix => rel_prefix} %> +
    + + \ No newline at end of file diff --git a/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/direct/index.rhtml b/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/direct/index.rhtml new file mode 100755 index 00000000..4d0c4a69 --- /dev/null +++ b/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/direct/index.rhtml @@ -0,0 +1,14 @@ + + + + + + <%= @options.title %> + + + + + + diff --git a/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/direct/resources/apple-touch-icon.png b/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/direct/resources/apple-touch-icon.png new file mode 100755 index 0000000000000000000000000000000000000000..50f98b0ffa6eb390c9c022c5affbcecf0db2c7d7 GIT binary patch literal 86447 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 z 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∾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 Tx-exV00000NkvXXu0mjf5Awjp literal 0 HcmV?d00001 diff --git a/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/direct/resources/i/results_bg.png b/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/direct/resources/i/results_bg.png new file mode 100755 index 0000000000000000000000000000000000000000..199ba692349c83b68ac3479f107cdf2f79c39509 GIT binary patch literal 696 zcmeAS@N?(olHy`uVBq!ia0y~yV15B)r*N9O>AjNQC0nj*yCP#Ll5JNK`P=t|97DzJjSOG~Ei4q{mVF2=s rK*9w^1_lL)hK3QP0qFZ74t^YAov@rGA@oL5Daa?Du6{1-oD!M<--cx* literal 0 HcmV?d00001 diff --git a/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/direct/resources/i/tree_bg.png b/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/direct/resources/i/tree_bg.png new file mode 100755 index 0000000000000000000000000000000000000000..7d236633d723288991f4cafe4ee2908c6746d0e7 GIT binary patch literal 207 zcmeAS@N?(olHy`uVBq!ia0vp^tU#>C!3HEBuv``ZQY^(zo*^7SP{WbZ0pxQQctjR6 zFi7tKVa8qC7wiTK%9OZ9lmzFem6RtIr7}3Cl$uzQnV+W+l9`*zV61OwqHkdNIMQwkP=SW0i(`n!#NDtd0LD|QyIg>2rmC~YhJDc>S6G7^>bP0l+XkKJ?K7d literal 0 HcmV?d00001 diff --git a/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/direct/resources/js/jquery-1.3.2.min.js b/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/direct/resources/js/jquery-1.3.2.min.js new file mode 100755 index 00000000..b1ae21d8 --- /dev/null +++ b/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/direct/resources/js/jquery-1.3.2.min.js @@ -0,0 +1,19 @@ +/* + * jQuery JavaScript Library v1.3.2 + * http://jquery.com/ + * + * Copyright (c) 2009 John Resig + * Dual licensed under the MIT and GPL licenses. + * http://docs.jquery.com/License + * + * Date: 2009-02-19 17:34:21 -0500 (Thu, 19 Feb 2009) + * Revision: 6246 + */ +(function(){var l=this,g,y=l.jQuery,p=l.$,o=l.jQuery=l.$=function(E,F){return new o.fn.init(E,F)},D=/^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/,f=/^.[^:#\[\.,]*$/;o.fn=o.prototype={init:function(E,H){E=E||document;if(E.nodeType){this[0]=E;this.length=1;this.context=E;return this}if(typeof E==="string"){var G=D.exec(E);if(G&&(G[1]||!H)){if(G[1]){E=o.clean([G[1]],H)}else{var I=document.getElementById(G[3]);if(I&&I.id!=G[3]){return o().find(E)}var F=o(I||[]);F.context=document;F.selector=E;return F}}else{return o(H).find(E)}}else{if(o.isFunction(E)){return o(document).ready(E)}}if(E.selector&&E.context){this.selector=E.selector;this.context=E.context}return this.setArray(o.isArray(E)?E:o.makeArray(E))},selector:"",jquery:"1.3.2",size:function(){return this.length},get:function(E){return E===g?Array.prototype.slice.call(this):this[E]},pushStack:function(F,H,E){var G=o(F);G.prevObject=this;G.context=this.context;if(H==="find"){G.selector=this.selector+(this.selector?" ":"")+E}else{if(H){G.selector=this.selector+"."+H+"("+E+")"}}return G},setArray:function(E){this.length=0;Array.prototype.push.apply(this,E);return this},each:function(F,E){return o.each(this,F,E)},index:function(E){return o.inArray(E&&E.jquery?E[0]:E,this)},attr:function(F,H,G){var E=F;if(typeof F==="string"){if(H===g){return this[0]&&o[G||"attr"](this[0],F)}else{E={};E[F]=H}}return this.each(function(I){for(F in E){o.attr(G?this.style:this,F,o.prop(this,E[F],G,I,F))}})},css:function(E,F){if((E=="width"||E=="height")&&parseFloat(F)<0){F=g}return this.attr(E,F,"curCSS")},text:function(F){if(typeof F!=="object"&&F!=null){return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(F))}var E="";o.each(F||this,function(){o.each(this.childNodes,function(){if(this.nodeType!=8){E+=this.nodeType!=1?this.nodeValue:o.fn.text([this])}})});return E},wrapAll:function(E){if(this[0]){var F=o(E,this[0].ownerDocument).clone();if(this[0].parentNode){F.insertBefore(this[0])}F.map(function(){var G=this;while(G.firstChild){G=G.firstChild}return G}).append(this)}return this},wrapInner:function(E){return this.each(function(){o(this).contents().wrapAll(E)})},wrap:function(E){return this.each(function(){o(this).wrapAll(E)})},append:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.appendChild(E)}})},prepend:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.insertBefore(E,this.firstChild)}})},before:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this)})},after:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this.nextSibling)})},end:function(){return this.prevObject||o([])},push:[].push,sort:[].sort,splice:[].splice,find:function(E){if(this.length===1){var F=this.pushStack([],"find",E);F.length=0;o.find(E,this[0],F);return F}else{return this.pushStack(o.unique(o.map(this,function(G){return o.find(E,G)})),"find",E)}},clone:function(G){var E=this.map(function(){if(!o.support.noCloneEvent&&!o.isXMLDoc(this)){var I=this.outerHTML;if(!I){var J=this.ownerDocument.createElement("div");J.appendChild(this.cloneNode(true));I=J.innerHTML}return o.clean([I.replace(/ jQuery\d+="(?:\d+|null)"/g,"").replace(/^\s*/,"")])[0]}else{return this.cloneNode(true)}});if(G===true){var H=this.find("*").andSelf(),F=0;E.find("*").andSelf().each(function(){if(this.nodeName!==H[F].nodeName){return}var I=o.data(H[F],"events");for(var K in I){for(var J in I[K]){o.event.add(this,K,I[K][J],I[K][J].data)}}F++})}return E},filter:function(E){return this.pushStack(o.isFunction(E)&&o.grep(this,function(G,F){return E.call(G,F)})||o.multiFilter(E,o.grep(this,function(F){return F.nodeType===1})),"filter",E)},closest:function(E){var G=o.expr.match.POS.test(E)?o(E):null,F=0;return this.map(function(){var H=this;while(H&&H.ownerDocument){if(G?G.index(H)>-1:o(H).is(E)){o.data(H,"closest",F);return H}H=H.parentNode;F++}})},not:function(E){if(typeof E==="string"){if(f.test(E)){return this.pushStack(o.multiFilter(E,this,true),"not",E)}else{E=o.multiFilter(E,this)}}var F=E.length&&E[E.length-1]!==g&&!E.nodeType;return this.filter(function(){return F?o.inArray(this,E)<0:this!=E})},add:function(E){return this.pushStack(o.unique(o.merge(this.get(),typeof E==="string"?o(E):o.makeArray(E))))},is:function(E){return !!E&&o.multiFilter(E,this).length>0},hasClass:function(E){return !!E&&this.is("."+E)},val:function(K){if(K===g){var E=this[0];if(E){if(o.nodeName(E,"option")){return(E.attributes.value||{}).specified?E.value:E.text}if(o.nodeName(E,"select")){var I=E.selectedIndex,L=[],M=E.options,H=E.type=="select-one";if(I<0){return null}for(var F=H?I:0,J=H?I+1:M.length;F=0||o.inArray(this.name,K)>=0)}else{if(o.nodeName(this,"select")){var N=o.makeArray(K);o("option",this).each(function(){this.selected=(o.inArray(this.value,N)>=0||o.inArray(this.text,N)>=0)});if(!N.length){this.selectedIndex=-1}}else{this.value=K}}})},html:function(E){return E===g?(this[0]?this[0].innerHTML.replace(/ jQuery\d+="(?:\d+|null)"/g,""):null):this.empty().append(E)},replaceWith:function(E){return this.after(E).remove()},eq:function(E){return this.slice(E,+E+1)},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments),"slice",Array.prototype.slice.call(arguments).join(","))},map:function(E){return this.pushStack(o.map(this,function(G,F){return E.call(G,F,G)}))},andSelf:function(){return this.add(this.prevObject)},domManip:function(J,M,L){if(this[0]){var I=(this[0].ownerDocument||this[0]).createDocumentFragment(),F=o.clean(J,(this[0].ownerDocument||this[0]),I),H=I.firstChild;if(H){for(var G=0,E=this.length;G1||G>0?I.cloneNode(true):I)}}if(F){o.each(F,z)}}return this;function K(N,O){return M&&o.nodeName(N,"table")&&o.nodeName(O,"tr")?(N.getElementsByTagName("tbody")[0]||N.appendChild(N.ownerDocument.createElement("tbody"))):N}}};o.fn.init.prototype=o.fn;function z(E,F){if(F.src){o.ajax({url:F.src,async:false,dataType:"script"})}else{o.globalEval(F.text||F.textContent||F.innerHTML||"")}if(F.parentNode){F.parentNode.removeChild(F)}}function e(){return +new Date}o.extend=o.fn.extend=function(){var J=arguments[0]||{},H=1,I=arguments.length,E=false,G;if(typeof J==="boolean"){E=J;J=arguments[1]||{};H=2}if(typeof J!=="object"&&!o.isFunction(J)){J={}}if(I==H){J=this;--H}for(;H-1}},swap:function(H,G,I){var E={};for(var F in G){E[F]=H.style[F];H.style[F]=G[F]}I.call(H);for(var F in G){H.style[F]=E[F]}},css:function(H,F,J,E){if(F=="width"||F=="height"){var L,G={position:"absolute",visibility:"hidden",display:"block"},K=F=="width"?["Left","Right"]:["Top","Bottom"];function I(){L=F=="width"?H.offsetWidth:H.offsetHeight;if(E==="border"){return}o.each(K,function(){if(!E){L-=parseFloat(o.curCSS(H,"padding"+this,true))||0}if(E==="margin"){L+=parseFloat(o.curCSS(H,"margin"+this,true))||0}else{L-=parseFloat(o.curCSS(H,"border"+this+"Width",true))||0}})}if(H.offsetWidth!==0){I()}else{o.swap(H,G,I)}return Math.max(0,Math.round(L))}return o.curCSS(H,F,J)},curCSS:function(I,F,G){var L,E=I.style;if(F=="opacity"&&!o.support.opacity){L=o.attr(E,"opacity");return L==""?"1":L}if(F.match(/float/i)){F=w}if(!G&&E&&E[F]){L=E[F]}else{if(q.getComputedStyle){if(F.match(/float/i)){F="float"}F=F.replace(/([A-Z])/g,"-$1").toLowerCase();var M=q.getComputedStyle(I,null);if(M){L=M.getPropertyValue(F)}if(F=="opacity"&&L==""){L="1"}}else{if(I.currentStyle){var J=F.replace(/\-(\w)/g,function(N,O){return O.toUpperCase()});L=I.currentStyle[F]||I.currentStyle[J];if(!/^\d+(px)?$/i.test(L)&&/^\d/.test(L)){var H=E.left,K=I.runtimeStyle.left;I.runtimeStyle.left=I.currentStyle.left;E.left=L||0;L=E.pixelLeft+"px";E.left=H;I.runtimeStyle.left=K}}}}return L},clean:function(F,K,I){K=K||document;if(typeof K.createElement==="undefined"){K=K.ownerDocument||K[0]&&K[0].ownerDocument||document}if(!I&&F.length===1&&typeof F[0]==="string"){var H=/^<(\w+)\s*\/?>$/.exec(F[0]);if(H){return[K.createElement(H[1])]}}var G=[],E=[],L=K.createElement("div");o.each(F,function(P,S){if(typeof S==="number"){S+=""}if(!S){return}if(typeof S==="string"){S=S.replace(/(<(\w+)[^>]*?)\/>/g,function(U,V,T){return T.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?U:V+">"});var O=S.replace(/^\s+/,"").substring(0,10).toLowerCase();var Q=!O.indexOf("",""]||!O.indexOf("",""]||O.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"","
    "]||!O.indexOf("",""]||(!O.indexOf("",""]||!O.indexOf("",""]||!o.support.htmlSerialize&&[1,"div
    ","
    "]||[0,"",""];L.innerHTML=Q[1]+S+Q[2];while(Q[0]--){L=L.lastChild}if(!o.support.tbody){var R=/"&&!R?L.childNodes:[];for(var M=N.length-1;M>=0;--M){if(o.nodeName(N[M],"tbody")&&!N[M].childNodes.length){N[M].parentNode.removeChild(N[M])}}}if(!o.support.leadingWhitespace&&/^\s/.test(S)){L.insertBefore(K.createTextNode(S.match(/^\s*/)[0]),L.firstChild)}S=o.makeArray(L.childNodes)}if(S.nodeType){G.push(S)}else{G=o.merge(G,S)}});if(I){for(var J=0;G[J];J++){if(o.nodeName(G[J],"script")&&(!G[J].type||G[J].type.toLowerCase()==="text/javascript")){E.push(G[J].parentNode?G[J].parentNode.removeChild(G[J]):G[J])}else{if(G[J].nodeType===1){G.splice.apply(G,[J+1,0].concat(o.makeArray(G[J].getElementsByTagName("script"))))}I.appendChild(G[J])}}return E}return G},attr:function(J,G,K){if(!J||J.nodeType==3||J.nodeType==8){return g}var H=!o.isXMLDoc(J),L=K!==g;G=H&&o.props[G]||G;if(J.tagName){var F=/href|src|style/.test(G);if(G=="selected"&&J.parentNode){J.parentNode.selectedIndex}if(G in J&&H&&!F){if(L){if(G=="type"&&o.nodeName(J,"input")&&J.parentNode){throw"type property can't be changed"}J[G]=K}if(o.nodeName(J,"form")&&J.getAttributeNode(G)){return J.getAttributeNode(G).nodeValue}if(G=="tabIndex"){var I=J.getAttributeNode("tabIndex");return I&&I.specified?I.value:J.nodeName.match(/(button|input|object|select|textarea)/i)?0:J.nodeName.match(/^(a|area)$/i)&&J.href?0:g}return J[G]}if(!o.support.style&&H&&G=="style"){return o.attr(J.style,"cssText",K)}if(L){J.setAttribute(G,""+K)}var E=!o.support.hrefNormalized&&H&&F?J.getAttribute(G,2):J.getAttribute(G);return E===null?g:E}if(!o.support.opacity&&G=="opacity"){if(L){J.zoom=1;J.filter=(J.filter||"").replace(/alpha\([^)]*\)/,"")+(parseInt(K)+""=="NaN"?"":"alpha(opacity="+K*100+")")}return J.filter&&J.filter.indexOf("opacity=")>=0?(parseFloat(J.filter.match(/opacity=([^)]*)/)[1])/100)+"":""}G=G.replace(/-([a-z])/ig,function(M,N){return N.toUpperCase()});if(L){J[G]=K}return J[G]},trim:function(E){return(E||"").replace(/^\s+|\s+$/g,"")},makeArray:function(G){var E=[];if(G!=null){var F=G.length;if(F==null||typeof G==="string"||o.isFunction(G)||G.setInterval){E[0]=G}else{while(F){E[--F]=G[F]}}}return E},inArray:function(G,H){for(var E=0,F=H.length;E0?this.clone(true):this).get();o.fn[F].apply(o(L[K]),I);J=J.concat(I)}return this.pushStack(J,E,G)}});o.each({removeAttr:function(E){o.attr(this,E,"");if(this.nodeType==1){this.removeAttribute(E)}},addClass:function(E){o.className.add(this,E)},removeClass:function(E){o.className.remove(this,E)},toggleClass:function(F,E){if(typeof E!=="boolean"){E=!o.className.has(this,F)}o.className[E?"add":"remove"](this,F)},remove:function(E){if(!E||o.filter(E,[this]).length){o("*",this).add([this]).each(function(){o.event.remove(this);o.removeData(this)});if(this.parentNode){this.parentNode.removeChild(this)}}},empty:function(){o(this).children().remove();while(this.firstChild){this.removeChild(this.firstChild)}}},function(E,F){o.fn[E]=function(){return this.each(F,arguments)}});function j(E,F){return E[0]&&parseInt(o.curCSS(E[0],F,true),10)||0}var h="jQuery"+e(),v=0,A={};o.extend({cache:{},data:function(F,E,G){F=F==l?A:F;var H=F[h];if(!H){H=F[h]=++v}if(E&&!o.cache[H]){o.cache[H]={}}if(G!==g){o.cache[H][E]=G}return E?o.cache[H][E]:H},removeData:function(F,E){F=F==l?A:F;var H=F[h];if(E){if(o.cache[H]){delete o.cache[H][E];E="";for(E in o.cache[H]){break}if(!E){o.removeData(F)}}}else{try{delete F[h]}catch(G){if(F.removeAttribute){F.removeAttribute(h)}}delete o.cache[H]}},queue:function(F,E,H){if(F){E=(E||"fx")+"queue";var G=o.data(F,E);if(!G||o.isArray(H)){G=o.data(F,E,o.makeArray(H))}else{if(H){G.push(H)}}}return G},dequeue:function(H,G){var E=o.queue(H,G),F=E.shift();if(!G||G==="fx"){F=E[0]}if(F!==g){F.call(H)}}});o.fn.extend({data:function(E,G){var H=E.split(".");H[1]=H[1]?"."+H[1]:"";if(G===g){var F=this.triggerHandler("getData"+H[1]+"!",[H[0]]);if(F===g&&this.length){F=o.data(this[0],E)}return F===g&&H[1]?this.data(H[0]):F}else{return this.trigger("setData"+H[1]+"!",[H[0],G]).each(function(){o.data(this,E,G)})}},removeData:function(E){return this.each(function(){o.removeData(this,E)})},queue:function(E,F){if(typeof E!=="string"){F=E;E="fx"}if(F===g){return o.queue(this[0],E)}return this.each(function(){var G=o.queue(this,E,F);if(E=="fx"&&G.length==1){G[0].call(this)}})},dequeue:function(E){return this.each(function(){o.dequeue(this,E)})}}); +/* + * Sizzle CSS Selector Engine - v0.9.3 + * Copyright 2009, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * More information: http://sizzlejs.com/ + */ +(function(){var R=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?/g,L=0,H=Object.prototype.toString;var F=function(Y,U,ab,ac){ab=ab||[];U=U||document;if(U.nodeType!==1&&U.nodeType!==9){return[]}if(!Y||typeof Y!=="string"){return ab}var Z=[],W,af,ai,T,ad,V,X=true;R.lastIndex=0;while((W=R.exec(Y))!==null){Z.push(W[1]);if(W[2]){V=RegExp.rightContext;break}}if(Z.length>1&&M.exec(Y)){if(Z.length===2&&I.relative[Z[0]]){af=J(Z[0]+Z[1],U)}else{af=I.relative[Z[0]]?[U]:F(Z.shift(),U);while(Z.length){Y=Z.shift();if(I.relative[Y]){Y+=Z.shift()}af=J(Y,af)}}}else{var ae=ac?{expr:Z.pop(),set:E(ac)}:F.find(Z.pop(),Z.length===1&&U.parentNode?U.parentNode:U,Q(U));af=F.filter(ae.expr,ae.set);if(Z.length>0){ai=E(af)}else{X=false}while(Z.length){var ah=Z.pop(),ag=ah;if(!I.relative[ah]){ah=""}else{ag=Z.pop()}if(ag==null){ag=U}I.relative[ah](ai,ag,Q(U))}}if(!ai){ai=af}if(!ai){throw"Syntax error, unrecognized expression: "+(ah||Y)}if(H.call(ai)==="[object Array]"){if(!X){ab.push.apply(ab,ai)}else{if(U.nodeType===1){for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&(ai[aa]===true||ai[aa].nodeType===1&&K(U,ai[aa]))){ab.push(af[aa])}}}else{for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&ai[aa].nodeType===1){ab.push(af[aa])}}}}}else{E(ai,ab)}if(V){F(V,U,ab,ac);if(G){hasDuplicate=false;ab.sort(G);if(hasDuplicate){for(var aa=1;aa":function(Z,U,aa){var X=typeof U==="string";if(X&&!/\W/.test(U)){U=aa?U:U.toUpperCase();for(var V=0,T=Z.length;V=0)){if(!V){T.push(Y)}}else{if(V){U[X]=false}}}}return false},ID:function(T){return T[1].replace(/\\/g,"")},TAG:function(U,T){for(var V=0;T[V]===false;V++){}return T[V]&&Q(T[V])?U[1]:U[1].toUpperCase()},CHILD:function(T){if(T[1]=="nth"){var U=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(T[2]=="even"&&"2n"||T[2]=="odd"&&"2n+1"||!/\D/.test(T[2])&&"0n+"+T[2]||T[2]);T[2]=(U[1]+(U[2]||1))-0;T[3]=U[3]-0}T[0]=L++;return T},ATTR:function(X,U,V,T,Y,Z){var W=X[1].replace(/\\/g,"");if(!Z&&I.attrMap[W]){X[1]=I.attrMap[W]}if(X[2]==="~="){X[4]=" "+X[4]+" "}return X},PSEUDO:function(X,U,V,T,Y){if(X[1]==="not"){if(X[3].match(R).length>1||/^\w/.test(X[3])){X[3]=F(X[3],null,null,U)}else{var W=F.filter(X[3],U,V,true^Y);if(!V){T.push.apply(T,W)}return false}}else{if(I.match.POS.test(X[0])||I.match.CHILD.test(X[0])){return true}}return X},POS:function(T){T.unshift(true);return T}},filters:{enabled:function(T){return T.disabled===false&&T.type!=="hidden"},disabled:function(T){return T.disabled===true},checked:function(T){return T.checked===true},selected:function(T){T.parentNode.selectedIndex;return T.selected===true},parent:function(T){return !!T.firstChild},empty:function(T){return !T.firstChild},has:function(V,U,T){return !!F(T[3],V).length},header:function(T){return/h\d/i.test(T.nodeName)},text:function(T){return"text"===T.type},radio:function(T){return"radio"===T.type},checkbox:function(T){return"checkbox"===T.type},file:function(T){return"file"===T.type},password:function(T){return"password"===T.type},submit:function(T){return"submit"===T.type},image:function(T){return"image"===T.type},reset:function(T){return"reset"===T.type},button:function(T){return"button"===T.type||T.nodeName.toUpperCase()==="BUTTON"},input:function(T){return/input|select|textarea|button/i.test(T.nodeName)}},setFilters:{first:function(U,T){return T===0},last:function(V,U,T,W){return U===W.length-1},even:function(U,T){return T%2===0},odd:function(U,T){return T%2===1},lt:function(V,U,T){return UT[3]-0},nth:function(V,U,T){return T[3]-0==U},eq:function(V,U,T){return T[3]-0==U}},filter:{PSEUDO:function(Z,V,W,aa){var U=V[1],X=I.filters[U];if(X){return X(Z,W,V,aa)}else{if(U==="contains"){return(Z.textContent||Z.innerText||"").indexOf(V[3])>=0}else{if(U==="not"){var Y=V[3];for(var W=0,T=Y.length;W=0)}}},ID:function(U,T){return U.nodeType===1&&U.getAttribute("id")===T},TAG:function(U,T){return(T==="*"&&U.nodeType===1)||U.nodeName===T},CLASS:function(U,T){return(" "+(U.className||U.getAttribute("class"))+" ").indexOf(T)>-1},ATTR:function(Y,W){var V=W[1],T=I.attrHandle[V]?I.attrHandle[V](Y):Y[V]!=null?Y[V]:Y.getAttribute(V),Z=T+"",X=W[2],U=W[4];return T==null?X==="!=":X==="="?Z===U:X==="*="?Z.indexOf(U)>=0:X==="~="?(" "+Z+" ").indexOf(U)>=0:!U?Z&&T!==false:X==="!="?Z!=U:X==="^="?Z.indexOf(U)===0:X==="$="?Z.substr(Z.length-U.length)===U:X==="|="?Z===U||Z.substr(0,U.length+1)===U+"-":false},POS:function(X,U,V,Y){var T=U[2],W=I.setFilters[T];if(W){return W(X,V,U,Y)}}}};var M=I.match.POS;for(var O in I.match){I.match[O]=RegExp(I.match[O].source+/(?![^\[]*\])(?![^\(]*\))/.source)}var E=function(U,T){U=Array.prototype.slice.call(U);if(T){T.push.apply(T,U);return T}return U};try{Array.prototype.slice.call(document.documentElement.childNodes)}catch(N){E=function(X,W){var U=W||[];if(H.call(X)==="[object Array]"){Array.prototype.push.apply(U,X)}else{if(typeof X.length==="number"){for(var V=0,T=X.length;V";var T=document.documentElement;T.insertBefore(U,T.firstChild);if(!!document.getElementById(V)){I.find.ID=function(X,Y,Z){if(typeof Y.getElementById!=="undefined"&&!Z){var W=Y.getElementById(X[1]);return W?W.id===X[1]||typeof W.getAttributeNode!=="undefined"&&W.getAttributeNode("id").nodeValue===X[1]?[W]:g:[]}};I.filter.ID=function(Y,W){var X=typeof Y.getAttributeNode!=="undefined"&&Y.getAttributeNode("id");return Y.nodeType===1&&X&&X.nodeValue===W}}T.removeChild(U)})();(function(){var T=document.createElement("div");T.appendChild(document.createComment(""));if(T.getElementsByTagName("*").length>0){I.find.TAG=function(U,Y){var X=Y.getElementsByTagName(U[1]);if(U[1]==="*"){var W=[];for(var V=0;X[V];V++){if(X[V].nodeType===1){W.push(X[V])}}X=W}return X}}T.innerHTML="";if(T.firstChild&&typeof T.firstChild.getAttribute!=="undefined"&&T.firstChild.getAttribute("href")!=="#"){I.attrHandle.href=function(U){return U.getAttribute("href",2)}}})();if(document.querySelectorAll){(function(){var T=F,U=document.createElement("div");U.innerHTML="

    ";if(U.querySelectorAll&&U.querySelectorAll(".TEST").length===0){return}F=function(Y,X,V,W){X=X||document;if(!W&&X.nodeType===9&&!Q(X)){try{return E(X.querySelectorAll(Y),V)}catch(Z){}}return T(Y,X,V,W)};F.find=T.find;F.filter=T.filter;F.selectors=T.selectors;F.matches=T.matches})()}if(document.getElementsByClassName&&document.documentElement.getElementsByClassName){(function(){var T=document.createElement("div");T.innerHTML="
    ";if(T.getElementsByClassName("e").length===0){return}T.lastChild.className="e";if(T.getElementsByClassName("e").length===1){return}I.order.splice(1,0,"CLASS");I.find.CLASS=function(U,V,W){if(typeof V.getElementsByClassName!=="undefined"&&!W){return V.getElementsByClassName(U[1])}}})()}function P(U,Z,Y,ad,aa,ac){var ab=U=="previousSibling"&&!ac;for(var W=0,V=ad.length;W0){X=T;break}}}T=T[U]}ad[W]=X}}}var K=document.compareDocumentPosition?function(U,T){return U.compareDocumentPosition(T)&16}:function(U,T){return U!==T&&(U.contains?U.contains(T):true)};var Q=function(T){return T.nodeType===9&&T.documentElement.nodeName!=="HTML"||!!T.ownerDocument&&Q(T.ownerDocument)};var J=function(T,aa){var W=[],X="",Y,V=aa.nodeType?[aa]:aa;while((Y=I.match.PSEUDO.exec(T))){X+=Y[0];T=T.replace(I.match.PSEUDO,"")}T=I.relative[T]?T+"*":T;for(var Z=0,U=V.length;Z0||T.offsetHeight>0};F.selectors.filters.animated=function(T){return o.grep(o.timers,function(U){return T===U.elem}).length};o.multiFilter=function(V,T,U){if(U){V=":not("+V+")"}return F.matches(V,T)};o.dir=function(V,U){var T=[],W=V[U];while(W&&W!=document){if(W.nodeType==1){T.push(W)}W=W[U]}return T};o.nth=function(X,T,V,W){T=T||1;var U=0;for(;X;X=X[V]){if(X.nodeType==1&&++U==T){break}}return X};o.sibling=function(V,U){var T=[];for(;V;V=V.nextSibling){if(V.nodeType==1&&V!=U){T.push(V)}}return T};return;l.Sizzle=F})();o.event={add:function(I,F,H,K){if(I.nodeType==3||I.nodeType==8){return}if(I.setInterval&&I!=l){I=l}if(!H.guid){H.guid=this.guid++}if(K!==g){var G=H;H=this.proxy(G);H.data=K}var E=o.data(I,"events")||o.data(I,"events",{}),J=o.data(I,"handle")||o.data(I,"handle",function(){return typeof o!=="undefined"&&!o.event.triggered?o.event.handle.apply(arguments.callee.elem,arguments):g});J.elem=I;o.each(F.split(/\s+/),function(M,N){var O=N.split(".");N=O.shift();H.type=O.slice().sort().join(".");var L=E[N];if(o.event.specialAll[N]){o.event.specialAll[N].setup.call(I,K,O)}if(!L){L=E[N]={};if(!o.event.special[N]||o.event.special[N].setup.call(I,K,O)===false){if(I.addEventListener){I.addEventListener(N,J,false)}else{if(I.attachEvent){I.attachEvent("on"+N,J)}}}}L[H.guid]=H;o.event.global[N]=true});I=null},guid:1,global:{},remove:function(K,H,J){if(K.nodeType==3||K.nodeType==8){return}var G=o.data(K,"events"),F,E;if(G){if(H===g||(typeof H==="string"&&H.charAt(0)==".")){for(var I in G){this.remove(K,I+(H||""))}}else{if(H.type){J=H.handler;H=H.type}o.each(H.split(/\s+/),function(M,O){var Q=O.split(".");O=Q.shift();var N=RegExp("(^|\\.)"+Q.slice().sort().join(".*\\.")+"(\\.|$)");if(G[O]){if(J){delete G[O][J.guid]}else{for(var P in G[O]){if(N.test(G[O][P].type)){delete G[O][P]}}}if(o.event.specialAll[O]){o.event.specialAll[O].teardown.call(K,Q)}for(F in G[O]){break}if(!F){if(!o.event.special[O]||o.event.special[O].teardown.call(K,Q)===false){if(K.removeEventListener){K.removeEventListener(O,o.data(K,"handle"),false)}else{if(K.detachEvent){K.detachEvent("on"+O,o.data(K,"handle"))}}}F=null;delete G[O]}}})}for(F in G){break}if(!F){var L=o.data(K,"handle");if(L){L.elem=null}o.removeData(K,"events");o.removeData(K,"handle")}}},trigger:function(I,K,H,E){var G=I.type||I;if(!E){I=typeof I==="object"?I[h]?I:o.extend(o.Event(G),I):o.Event(G);if(G.indexOf("!")>=0){I.type=G=G.slice(0,-1);I.exclusive=true}if(!H){I.stopPropagation();if(this.global[G]){o.each(o.cache,function(){if(this.events&&this.events[G]){o.event.trigger(I,K,this.handle.elem)}})}}if(!H||H.nodeType==3||H.nodeType==8){return g}I.result=g;I.target=H;K=o.makeArray(K);K.unshift(I)}I.currentTarget=H;var J=o.data(H,"handle");if(J){J.apply(H,K)}if((!H[G]||(o.nodeName(H,"a")&&G=="click"))&&H["on"+G]&&H["on"+G].apply(H,K)===false){I.result=false}if(!E&&H[G]&&!I.isDefaultPrevented()&&!(o.nodeName(H,"a")&&G=="click")){this.triggered=true;try{H[G]()}catch(L){}}this.triggered=false;if(!I.isPropagationStopped()){var F=H.parentNode||H.ownerDocument;if(F){o.event.trigger(I,K,F,true)}}},handle:function(K){var J,E;K=arguments[0]=o.event.fix(K||l.event);K.currentTarget=this;var L=K.type.split(".");K.type=L.shift();J=!L.length&&!K.exclusive;var I=RegExp("(^|\\.)"+L.slice().sort().join(".*\\.")+"(\\.|$)");E=(o.data(this,"events")||{})[K.type];for(var G in E){var H=E[G];if(J||I.test(H.type)){K.handler=H;K.data=H.data;var F=H.apply(this,arguments);if(F!==g){K.result=F;if(F===false){K.preventDefault();K.stopPropagation()}}if(K.isImmediatePropagationStopped()){break}}}},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(H){if(H[h]){return H}var F=H;H=o.Event(F);for(var G=this.props.length,J;G;){J=this.props[--G];H[J]=F[J]}if(!H.target){H.target=H.srcElement||document}if(H.target.nodeType==3){H.target=H.target.parentNode}if(!H.relatedTarget&&H.fromElement){H.relatedTarget=H.fromElement==H.target?H.toElement:H.fromElement}if(H.pageX==null&&H.clientX!=null){var I=document.documentElement,E=document.body;H.pageX=H.clientX+(I&&I.scrollLeft||E&&E.scrollLeft||0)-(I.clientLeft||0);H.pageY=H.clientY+(I&&I.scrollTop||E&&E.scrollTop||0)-(I.clientTop||0)}if(!H.which&&((H.charCode||H.charCode===0)?H.charCode:H.keyCode)){H.which=H.charCode||H.keyCode}if(!H.metaKey&&H.ctrlKey){H.metaKey=H.ctrlKey}if(!H.which&&H.button){H.which=(H.button&1?1:(H.button&2?3:(H.button&4?2:0)))}return H},proxy:function(F,E){E=E||function(){return F.apply(this,arguments)};E.guid=F.guid=F.guid||E.guid||this.guid++;return E},special:{ready:{setup:B,teardown:function(){}}},specialAll:{live:{setup:function(E,F){o.event.add(this,F[0],c)},teardown:function(G){if(G.length){var E=0,F=RegExp("(^|\\.)"+G[0]+"(\\.|$)");o.each((o.data(this,"events").live||{}),function(){if(F.test(this.type)){E++}});if(E<1){o.event.remove(this,G[0],c)}}}}}};o.Event=function(E){if(!this.preventDefault){return new o.Event(E)}if(E&&E.type){this.originalEvent=E;this.type=E.type}else{this.type=E}this.timeStamp=e();this[h]=true};function k(){return false}function u(){return true}o.Event.prototype={preventDefault:function(){this.isDefaultPrevented=u;var E=this.originalEvent;if(!E){return}if(E.preventDefault){E.preventDefault()}E.returnValue=false},stopPropagation:function(){this.isPropagationStopped=u;var E=this.originalEvent;if(!E){return}if(E.stopPropagation){E.stopPropagation()}E.cancelBubble=true},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=u;this.stopPropagation()},isDefaultPrevented:k,isPropagationStopped:k,isImmediatePropagationStopped:k};var a=function(F){var E=F.relatedTarget;while(E&&E!=this){try{E=E.parentNode}catch(G){E=this}}if(E!=this){F.type=F.data;o.event.handle.apply(this,arguments)}};o.each({mouseover:"mouseenter",mouseout:"mouseleave"},function(F,E){o.event.special[E]={setup:function(){o.event.add(this,F,a,E)},teardown:function(){o.event.remove(this,F,a)}}});o.fn.extend({bind:function(F,G,E){return F=="unload"?this.one(F,G,E):this.each(function(){o.event.add(this,F,E||G,E&&G)})},one:function(G,H,F){var E=o.event.proxy(F||H,function(I){o(this).unbind(I,E);return(F||H).apply(this,arguments)});return this.each(function(){o.event.add(this,G,E,F&&H)})},unbind:function(F,E){return this.each(function(){o.event.remove(this,F,E)})},trigger:function(E,F){return this.each(function(){o.event.trigger(E,F,this)})},triggerHandler:function(E,G){if(this[0]){var F=o.Event(E);F.preventDefault();F.stopPropagation();o.event.trigger(F,G,this[0]);return F.result}},toggle:function(G){var E=arguments,F=1;while(F=0){var E=G.slice(I,G.length);G=G.slice(0,I)}var H="GET";if(J){if(o.isFunction(J)){K=J;J=null}else{if(typeof J==="object"){J=o.param(J);H="POST"}}}var F=this;o.ajax({url:G,type:H,dataType:"html",data:J,complete:function(M,L){if(L=="success"||L=="notmodified"){F.html(E?o("
    ").append(M.responseText.replace(//g,"")).find(E):M.responseText)}if(K){F.each(K,[M.responseText,L,M])}}});return this},serialize:function(){return o.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?o.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password|search/i.test(this.type))}).map(function(E,F){var G=o(this).val();return G==null?null:o.isArray(G)?o.map(G,function(I,H){return{name:F.name,value:I}}):{name:F.name,value:G}}).get()}});o.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(E,F){o.fn[F]=function(G){return this.bind(F,G)}});var r=e();o.extend({get:function(E,G,H,F){if(o.isFunction(G)){H=G;G=null}return o.ajax({type:"GET",url:E,data:G,success:H,dataType:F})},getScript:function(E,F){return o.get(E,null,F,"script")},getJSON:function(E,F,G){return o.get(E,F,G,"json")},post:function(E,G,H,F){if(o.isFunction(G)){H=G;G={}}return o.ajax({type:"POST",url:E,data:G,success:H,dataType:F})},ajaxSetup:function(E){o.extend(o.ajaxSettings,E)},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:function(){return l.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest()},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(M){M=o.extend(true,M,o.extend(true,{},o.ajaxSettings,M));var W,F=/=\?(&|$)/g,R,V,G=M.type.toUpperCase();if(M.data&&M.processData&&typeof M.data!=="string"){M.data=o.param(M.data)}if(M.dataType=="jsonp"){if(G=="GET"){if(!M.url.match(F)){M.url+=(M.url.match(/\?/)?"&":"?")+(M.jsonp||"callback")+"=?"}}else{if(!M.data||!M.data.match(F)){M.data=(M.data?M.data+"&":"")+(M.jsonp||"callback")+"=?"}}M.dataType="json"}if(M.dataType=="json"&&(M.data&&M.data.match(F)||M.url.match(F))){W="jsonp"+r++;if(M.data){M.data=(M.data+"").replace(F,"="+W+"$1")}M.url=M.url.replace(F,"="+W+"$1");M.dataType="script";l[W]=function(X){V=X;I();L();l[W]=g;try{delete l[W]}catch(Y){}if(H){H.removeChild(T)}}}if(M.dataType=="script"&&M.cache==null){M.cache=false}if(M.cache===false&&G=="GET"){var E=e();var U=M.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+E+"$2");M.url=U+((U==M.url)?(M.url.match(/\?/)?"&":"?")+"_="+E:"")}if(M.data&&G=="GET"){M.url+=(M.url.match(/\?/)?"&":"?")+M.data;M.data=null}if(M.global&&!o.active++){o.event.trigger("ajaxStart")}var Q=/^(\w+:)?\/\/([^\/?#]+)/.exec(M.url);if(M.dataType=="script"&&G=="GET"&&Q&&(Q[1]&&Q[1]!=location.protocol||Q[2]!=location.host)){var H=document.getElementsByTagName("head")[0];var T=document.createElement("script");T.src=M.url;if(M.scriptCharset){T.charset=M.scriptCharset}if(!W){var O=false;T.onload=T.onreadystatechange=function(){if(!O&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){O=true;I();L();T.onload=T.onreadystatechange=null;H.removeChild(T)}}}H.appendChild(T);return g}var K=false;var J=M.xhr();if(M.username){J.open(G,M.url,M.async,M.username,M.password)}else{J.open(G,M.url,M.async)}try{if(M.data){J.setRequestHeader("Content-Type",M.contentType)}if(M.ifModified){J.setRequestHeader("If-Modified-Since",o.lastModified[M.url]||"Thu, 01 Jan 1970 00:00:00 GMT")}J.setRequestHeader("X-Requested-With","XMLHttpRequest");J.setRequestHeader("Accept",M.dataType&&M.accepts[M.dataType]?M.accepts[M.dataType]+", */*":M.accepts._default)}catch(S){}if(M.beforeSend&&M.beforeSend(J,M)===false){if(M.global&&!--o.active){o.event.trigger("ajaxStop")}J.abort();return false}if(M.global){o.event.trigger("ajaxSend",[J,M])}var N=function(X){if(J.readyState==0){if(P){clearInterval(P);P=null;if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}}else{if(!K&&J&&(J.readyState==4||X=="timeout")){K=true;if(P){clearInterval(P);P=null}R=X=="timeout"?"timeout":!o.httpSuccess(J)?"error":M.ifModified&&o.httpNotModified(J,M.url)?"notmodified":"success";if(R=="success"){try{V=o.httpData(J,M.dataType,M)}catch(Z){R="parsererror"}}if(R=="success"){var Y;try{Y=J.getResponseHeader("Last-Modified")}catch(Z){}if(M.ifModified&&Y){o.lastModified[M.url]=Y}if(!W){I()}}else{o.handleError(M,J,R)}L();if(X){J.abort()}if(M.async){J=null}}}};if(M.async){var P=setInterval(N,13);if(M.timeout>0){setTimeout(function(){if(J&&!K){N("timeout")}},M.timeout)}}try{J.send(M.data)}catch(S){o.handleError(M,J,null,S)}if(!M.async){N()}function I(){if(M.success){M.success(V,R)}if(M.global){o.event.trigger("ajaxSuccess",[J,M])}}function L(){if(M.complete){M.complete(J,R)}if(M.global){o.event.trigger("ajaxComplete",[J,M])}if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}return J},handleError:function(F,H,E,G){if(F.error){F.error(H,E,G)}if(F.global){o.event.trigger("ajaxError",[H,F,G])}},active:0,httpSuccess:function(F){try{return !F.status&&location.protocol=="file:"||(F.status>=200&&F.status<300)||F.status==304||F.status==1223}catch(E){}return false},httpNotModified:function(G,E){try{var H=G.getResponseHeader("Last-Modified");return G.status==304||H==o.lastModified[E]}catch(F){}return false},httpData:function(J,H,G){var F=J.getResponseHeader("content-type"),E=H=="xml"||!H&&F&&F.indexOf("xml")>=0,I=E?J.responseXML:J.responseText;if(E&&I.documentElement.tagName=="parsererror"){throw"parsererror"}if(G&&G.dataFilter){I=G.dataFilter(I,H)}if(typeof I==="string"){if(H=="script"){o.globalEval(I)}if(H=="json"){I=l["eval"]("("+I+")")}}return I},param:function(E){var G=[];function H(I,J){G[G.length]=encodeURIComponent(I)+"="+encodeURIComponent(J)}if(o.isArray(E)||E.jquery){o.each(E,function(){H(this.name,this.value)})}else{for(var F in E){if(o.isArray(E[F])){o.each(E[F],function(){H(F,this)})}else{H(F,o.isFunction(E[F])?E[F]():E[F])}}}return G.join("&").replace(/%20/g,"+")}});var m={},n,d=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];function t(F,E){var G={};o.each(d.concat.apply([],d.slice(0,E)),function(){G[this]=F});return G}o.fn.extend({show:function(J,L){if(J){return this.animate(t("show",3),J,L)}else{for(var H=0,F=this.length;H").appendTo("body");K=I.css("display");if(K==="none"){K="block"}I.remove();m[G]=K}o.data(this[H],"olddisplay",K)}}for(var H=0,F=this.length;H=0;H--){if(G[H].elem==this){if(E){G[H](true)}G.splice(H,1)}}});if(!E){this.dequeue()}return this}});o.each({slideDown:t("show",1),slideUp:t("hide",1),slideToggle:t("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(E,F){o.fn[E]=function(G,H){return this.animate(F,G,H)}});o.extend({speed:function(G,H,F){var E=typeof G==="object"?G:{complete:F||!F&&H||o.isFunction(G)&&G,duration:G,easing:F&&H||H&&!o.isFunction(H)&&H};E.duration=o.fx.off?0:typeof E.duration==="number"?E.duration:o.fx.speeds[E.duration]||o.fx.speeds._default;E.old=E.complete;E.complete=function(){if(E.queue!==false){o(this).dequeue()}if(o.isFunction(E.old)){E.old.call(this)}};return E},easing:{linear:function(G,H,E,F){return E+F*G},swing:function(G,H,E,F){return((-Math.cos(G*Math.PI)/2)+0.5)*F+E}},timers:[],fx:function(F,E,G){this.options=E;this.elem=F;this.prop=G;if(!E.orig){E.orig={}}}});o.fx.prototype={update:function(){if(this.options.step){this.options.step.call(this.elem,this.now,this)}(o.fx.step[this.prop]||o.fx.step._default)(this);if((this.prop=="height"||this.prop=="width")&&this.elem.style){this.elem.style.display="block"}},cur:function(F){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null)){return this.elem[this.prop]}var E=parseFloat(o.css(this.elem,this.prop,F));return E&&E>-10000?E:parseFloat(o.curCSS(this.elem,this.prop))||0},custom:function(I,H,G){this.startTime=e();this.start=I;this.end=H;this.unit=G||this.unit||"px";this.now=this.start;this.pos=this.state=0;var E=this;function F(J){return E.step(J)}F.elem=this.elem;if(F()&&o.timers.push(F)&&!n){n=setInterval(function(){var K=o.timers;for(var J=0;J=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var E=true;for(var F in this.options.curAnim){if(this.options.curAnim[F]!==true){E=false}}if(E){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(o.css(this.elem,"display")=="none"){this.elem.style.display="block"}}if(this.options.hide){o(this.elem).hide()}if(this.options.hide||this.options.show){for(var I in this.options.curAnim){o.attr(this.elem.style,I,this.options.orig[I])}}this.options.complete.call(this.elem)}return false}else{var J=G-this.startTime;this.state=J/this.options.duration;this.pos=o.easing[this.options.easing||(o.easing.swing?"swing":"linear")](this.state,J,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update()}return true}};o.extend(o.fx,{speeds:{slow:600,fast:200,_default:400},step:{opacity:function(E){o.attr(E.elem.style,"opacity",E.now)},_default:function(E){if(E.elem.style&&E.elem.style[E.prop]!=null){E.elem.style[E.prop]=E.now+E.unit}else{E.elem[E.prop]=E.now}}}});if(document.documentElement.getBoundingClientRect){o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}var G=this[0].getBoundingClientRect(),J=this[0].ownerDocument,F=J.body,E=J.documentElement,L=E.clientTop||F.clientTop||0,K=E.clientLeft||F.clientLeft||0,I=G.top+(self.pageYOffset||o.boxModel&&E.scrollTop||F.scrollTop)-L,H=G.left+(self.pageXOffset||o.boxModel&&E.scrollLeft||F.scrollLeft)-K;return{top:I,left:H}}}else{o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}o.offset.initialized||o.offset.initialize();var J=this[0],G=J.offsetParent,F=J,O=J.ownerDocument,M,H=O.documentElement,K=O.body,L=O.defaultView,E=L.getComputedStyle(J,null),N=J.offsetTop,I=J.offsetLeft;while((J=J.parentNode)&&J!==K&&J!==H){M=L.getComputedStyle(J,null);N-=J.scrollTop,I-=J.scrollLeft;if(J===G){N+=J.offsetTop,I+=J.offsetLeft;if(o.offset.doesNotAddBorder&&!(o.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(J.tagName))){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}F=G,G=J.offsetParent}if(o.offset.subtractsBorderForOverflowNotVisible&&M.overflow!=="visible"){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}E=M}if(E.position==="relative"||E.position==="static"){N+=K.offsetTop,I+=K.offsetLeft}if(E.position==="fixed"){N+=Math.max(H.scrollTop,K.scrollTop),I+=Math.max(H.scrollLeft,K.scrollLeft)}return{top:N,left:I}}}o.offset={initialize:function(){if(this.initialized){return}var L=document.body,F=document.createElement("div"),H,G,N,I,M,E,J=L.style.marginTop,K='
    ';M={position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"};for(E in M){F.style[E]=M[E]}F.innerHTML=K;L.insertBefore(F,L.firstChild);H=F.firstChild,G=H.firstChild,I=H.nextSibling.firstChild.firstChild;this.doesNotAddBorder=(G.offsetTop!==5);this.doesAddBorderForTableAndCells=(I.offsetTop===5);H.style.overflow="hidden",H.style.position="relative";this.subtractsBorderForOverflowNotVisible=(G.offsetTop===-5);L.style.marginTop="1px";this.doesNotIncludeMarginInBodyOffset=(L.offsetTop===0);L.style.marginTop=J;L.removeChild(F);this.initialized=true},bodyOffset:function(E){o.offset.initialized||o.offset.initialize();var G=E.offsetTop,F=E.offsetLeft;if(o.offset.doesNotIncludeMarginInBodyOffset){G+=parseInt(o.curCSS(E,"marginTop",true),10)||0,F+=parseInt(o.curCSS(E,"marginLeft",true),10)||0}return{top:G,left:F}}};o.fn.extend({position:function(){var I=0,H=0,F;if(this[0]){var G=this.offsetParent(),J=this.offset(),E=/^body|html$/i.test(G[0].tagName)?{top:0,left:0}:G.offset();J.top-=j(this,"marginTop");J.left-=j(this,"marginLeft");E.top+=j(G,"borderTopWidth");E.left+=j(G,"borderLeftWidth");F={top:J.top-E.top,left:J.left-E.left}}return F},offsetParent:function(){var E=this[0].offsetParent||document.body;while(E&&(!/^body|html$/i.test(E.tagName)&&o.css(E,"position")=="static")){E=E.offsetParent}return o(E)}});o.each(["Left","Top"],function(F,E){var G="scroll"+E;o.fn[G]=function(H){if(!this[0]){return null}return H!==g?this.each(function(){this==l||this==document?l.scrollTo(!F?H:o(l).scrollLeft(),F?H:o(l).scrollTop()):this[G]=H}):this[0]==l||this[0]==document?self[F?"pageYOffset":"pageXOffset"]||o.boxModel&&document.documentElement[G]||document.body[G]:this[0][G]}});o.each(["Height","Width"],function(I,G){var E=I?"Left":"Top",H=I?"Right":"Bottom",F=G.toLowerCase();o.fn["inner"+G]=function(){return this[0]?o.css(this[0],F,false,"padding"):null};o.fn["outer"+G]=function(K){return this[0]?o.css(this[0],F,false,K?"margin":"border"):null};var J=G.toLowerCase();o.fn[J]=function(K){return this[0]==l?document.compatMode=="CSS1Compat"&&document.documentElement["client"+G]||document.body["client"+G]:this[0]==document?Math.max(document.documentElement["client"+G],document.body["scroll"+G],document.documentElement["scroll"+G],document.body["offset"+G],document.documentElement["offset"+G]):K===g?(this.length?o.css(this[0],J):null):this.css(J,typeof K==="string"?K:K+"px")}})})(); \ No newline at end of file diff --git a/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/direct/resources/js/jquery-effect.js b/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/direct/resources/js/jquery-effect.js new file mode 100755 index 00000000..5b25307c --- /dev/null +++ b/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/direct/resources/js/jquery-effect.js @@ -0,0 +1,593 @@ +/* + * jQuery UI Effects 1.6rc6 + * + * Copyright (c) 2009 AUTHORS.txt (http://ui.jquery.com/about) + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI/Effects/ + */ +;(function($) { + +$.effects = $.effects || {}; //Add the 'effects' scope + +$.extend($.effects, { + version: "1.6rc6", + + // Saves a set of properties in a data storage + save: function(element, set) { + for(var i=0; i < set.length; i++) { + if(set[i] !== null) element.data("ec.storage."+set[i], element[0].style[set[i]]); + } + }, + + // Restores a set of previously saved properties from a data storage + restore: function(element, set) { + for(var i=0; i < set.length; i++) { + if(set[i] !== null) element.css(set[i], element.data("ec.storage."+set[i])); + } + }, + + setMode: function(el, mode) { + if (mode == 'toggle') mode = el.is(':hidden') ? 'show' : 'hide'; // Set for toggle + return mode; + }, + + getBaseline: function(origin, original) { // Translates a [top,left] array into a baseline value + // this should be a little more flexible in the future to handle a string & hash + var y, x; + switch (origin[0]) { + case 'top': y = 0; break; + case 'middle': y = 0.5; break; + case 'bottom': y = 1; break; + default: y = origin[0] / original.height; + }; + switch (origin[1]) { + case 'left': x = 0; break; + case 'center': x = 0.5; break; + case 'right': x = 1; break; + default: x = origin[1] / original.width; + }; + return {x: x, y: y}; + }, + + // Wraps the element around a wrapper that copies position properties + createWrapper: function(element) { + + //if the element is already wrapped, return it + if (element.parent().is('.ui-effects-wrapper')) + return element.parent(); + + //Cache width,height and float properties of the element, and create a wrapper around it + var props = { width: element.outerWidth(true), height: element.outerHeight(true), 'float': element.css('float') }; + element.wrap('
    '); + var wrapper = element.parent(); + + //Transfer the positioning of the element to the wrapper + if (element.css('position') == 'static') { + wrapper.css({ position: 'relative' }); + element.css({ position: 'relative'} ); + } else { + var top = element.css('top'); if(isNaN(parseInt(top,10))) top = 'auto'; + var left = element.css('left'); if(isNaN(parseInt(left,10))) left = 'auto'; + wrapper.css({ position: element.css('position'), top: top, left: left, zIndex: element.css('z-index') }).show(); + element.css({position: 'relative', top: 0, left: 0 }); + } + + wrapper.css(props); + return wrapper; + }, + + removeWrapper: function(element) { + if (element.parent().is('.ui-effects-wrapper')) + return element.parent().replaceWith(element); + return element; + }, + + setTransition: function(element, list, factor, value) { + value = value || {}; + $.each(list, function(i, x){ + unit = element.cssUnit(x); + if (unit[0] > 0) value[x] = unit[0] * factor + unit[1]; + }); + return value; + }, + + //Base function to animate from one class to another in a seamless transition + animateClass: function(value, duration, easing, callback) { + + var cb = (typeof easing == "function" ? easing : (callback ? callback : null)); + var ea = (typeof easing == "string" ? easing : null); + + return this.each(function() { + + var offset = {}; var that = $(this); var oldStyleAttr = that.attr("style") || ''; + if(typeof oldStyleAttr == 'object') oldStyleAttr = oldStyleAttr["cssText"]; /* Stupidly in IE, style is a object.. */ + if(value.toggle) { that.hasClass(value.toggle) ? value.remove = value.toggle : value.add = value.toggle; } + + //Let's get a style offset + var oldStyle = $.extend({}, (document.defaultView ? document.defaultView.getComputedStyle(this,null) : this.currentStyle)); + if(value.add) that.addClass(value.add); if(value.remove) that.removeClass(value.remove); + var newStyle = $.extend({}, (document.defaultView ? document.defaultView.getComputedStyle(this,null) : this.currentStyle)); + if(value.add) that.removeClass(value.add); if(value.remove) that.addClass(value.remove); + + // The main function to form the object for animation + for(var n in newStyle) { + if( typeof newStyle[n] != "function" && newStyle[n] /* No functions and null properties */ + && n.indexOf("Moz") == -1 && n.indexOf("length") == -1 /* No mozilla spezific render properties. */ + && newStyle[n] != oldStyle[n] /* Only values that have changed are used for the animation */ + && (n.match(/color/i) || (!n.match(/color/i) && !isNaN(parseInt(newStyle[n],10)))) /* Only things that can be parsed to integers or colors */ + && (oldStyle.position != "static" || (oldStyle.position == "static" && !n.match(/left|top|bottom|right/))) /* No need for positions when dealing with static positions */ + ) offset[n] = newStyle[n]; + } + + that.animate(offset, duration, ea, function() { // Animate the newly constructed offset object + // Change style attribute back to original. For stupid IE, we need to clear the damn object. + if(typeof $(this).attr("style") == 'object') { $(this).attr("style")["cssText"] = ""; $(this).attr("style")["cssText"] = oldStyleAttr; } else $(this).attr("style", oldStyleAttr); + if(value.add) $(this).addClass(value.add); if(value.remove) $(this).removeClass(value.remove); + if(cb) cb.apply(this, arguments); + }); + + }); + } +}); + + +function _normalizeArguments(a, m) { + + var o = a[1] && a[1].constructor == Object ? a[1] : {}; if(m) o.mode = m; + var speed = a[1] && a[1].constructor != Object ? a[1] : o.duration; //either comes from options.duration or the second argument + speed = $.fx.off ? 0 : typeof speed === "number" ? speed : $.fx.speeds[speed] || $.fx.speeds._default; + var callback = o.callback || ( $.isFunction(a[2]) && a[2] ) || ( $.isFunction(a[3]) && a[3] ); + + return [a[0], o, speed, callback]; + +} + +//Extend the methods of jQuery +$.fn.extend({ + + //Save old methods + _show: $.fn.show, + _hide: $.fn.hide, + __toggle: $.fn.toggle, + _addClass: $.fn.addClass, + _removeClass: $.fn.removeClass, + _toggleClass: $.fn.toggleClass, + + // New effect methods + effect: function(fx, options, speed, callback) { + return $.effects[fx] ? $.effects[fx].call(this, {method: fx, options: options || {}, duration: speed, callback: callback }) : null; + }, + + show: function() { + if(!arguments[0] || (arguments[0].constructor == Number || (/(slow|normal|fast)/).test(arguments[0]))) + return this._show.apply(this, arguments); + else { + return this.effect.apply(this, _normalizeArguments(arguments, 'show')); + } + }, + + hide: function() { + if(!arguments[0] || (arguments[0].constructor == Number || (/(slow|normal|fast)/).test(arguments[0]))) + return this._hide.apply(this, arguments); + else { + return this.effect.apply(this, _normalizeArguments(arguments, 'hide')); + } + }, + + toggle: function(){ + if(!arguments[0] || (arguments[0].constructor == Number || (/(slow|normal|fast)/).test(arguments[0])) || (arguments[0].constructor == Function)) + return this.__toggle.apply(this, arguments); + else { + return this.effect.apply(this, _normalizeArguments(arguments, 'toggle')); + } + }, + + addClass: function(classNames, speed, easing, callback) { + return speed ? $.effects.animateClass.apply(this, [{ add: classNames },speed,easing,callback]) : this._addClass(classNames); + }, + removeClass: function(classNames,speed,easing,callback) { + return speed ? $.effects.animateClass.apply(this, [{ remove: classNames },speed,easing,callback]) : this._removeClass(classNames); + }, + toggleClass: function(classNames,speed,easing,callback) { + return ( (typeof speed !== "boolean") && speed ) ? $.effects.animateClass.apply(this, [{ toggle: classNames },speed,easing,callback]) : this._toggleClass(classNames, speed); + }, + morph: function(remove,add,speed,easing,callback) { + return $.effects.animateClass.apply(this, [{ add: add, remove: remove },speed,easing,callback]); + }, + switchClass: function() { + return this.morph.apply(this, arguments); + }, + + // helper functions + cssUnit: function(key) { + var style = this.css(key), val = []; + $.each( ['em','px','%','pt'], function(i, unit){ + if(style.indexOf(unit) > 0) + val = [parseFloat(style), unit]; + }); + return val; + } +}); + +/* + * jQuery Color Animations + * Copyright 2007 John Resig + * Released under the MIT and GPL licenses. + */ + +// We override the animation for all of these color styles +$.each(['backgroundColor', 'borderBottomColor', 'borderLeftColor', 'borderRightColor', 'borderTopColor', 'color', 'outlineColor'], function(i,attr){ + $.fx.step[attr] = function(fx) { + if ( fx.state == 0 ) { + fx.start = getColor( fx.elem, attr ); + fx.end = getRGB( fx.end ); + } + + fx.elem.style[attr] = "rgb(" + [ + Math.max(Math.min( parseInt((fx.pos * (fx.end[0] - fx.start[0])) + fx.start[0],10), 255), 0), + Math.max(Math.min( parseInt((fx.pos * (fx.end[1] - fx.start[1])) + fx.start[1],10), 255), 0), + Math.max(Math.min( parseInt((fx.pos * (fx.end[2] - fx.start[2])) + fx.start[2],10), 255), 0) + ].join(",") + ")"; + }; +}); + +// Color Conversion functions from highlightFade +// By Blair Mitchelmore +// http://jquery.offput.ca/highlightFade/ + +// Parse strings looking for color tuples [255,255,255] +function getRGB(color) { + var result; + + // Check if we're already dealing with an array of colors + if ( color && color.constructor == Array && color.length == 3 ) + return color; + + // Look for rgb(num,num,num) + if (result = /rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(color)) + return [parseInt(result[1],10), parseInt(result[2],10), parseInt(result[3],10)]; + + // Look for rgb(num%,num%,num%) + if (result = /rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(color)) + return [parseFloat(result[1])*2.55, parseFloat(result[2])*2.55, parseFloat(result[3])*2.55]; + + // Look for #a0b1c2 + if (result = /#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(color)) + return [parseInt(result[1],16), parseInt(result[2],16), parseInt(result[3],16)]; + + // Look for #fff + if (result = /#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(color)) + return [parseInt(result[1]+result[1],16), parseInt(result[2]+result[2],16), parseInt(result[3]+result[3],16)]; + + // Look for rgba(0, 0, 0, 0) == transparent in Safari 3 + if (result = /rgba\(0, 0, 0, 0\)/.exec(color)) + return colors['transparent']; + + // Otherwise, we're most likely dealing with a named color + return colors[$.trim(color).toLowerCase()]; +} + +function getColor(elem, attr) { + var color; + + do { + color = $.curCSS(elem, attr); + + // Keep going until we find an element that has color, or we hit the body + if ( color != '' && color != 'transparent' || $.nodeName(elem, "body") ) + break; + + attr = "backgroundColor"; + } while ( elem = elem.parentNode ); + + return getRGB(color); +}; + +// Some named colors to work with +// From Interface by Stefan Petre +// http://interface.eyecon.ro/ + +var colors = { + aqua:[0,255,255], + azure:[240,255,255], + beige:[245,245,220], + black:[0,0,0], + blue:[0,0,255], + brown:[165,42,42], + cyan:[0,255,255], + darkblue:[0,0,139], + darkcyan:[0,139,139], + darkgrey:[169,169,169], + darkgreen:[0,100,0], + 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], + darkviolet:[148,0,211], + fuchsia:[255,0,255], + gold:[255,215,0], + green:[0,128,0], + indigo:[75,0,130], + khaki:[240,230,140], + lightblue:[173,216,230], + lightcyan:[224,255,255], + lightgreen:[144,238,144], + lightgrey:[211,211,211], + lightpink:[255,182,193], + lightyellow:[255,255,224], + lime:[0,255,0], + magenta:[255,0,255], + maroon:[128,0,0], + navy:[0,0,128], + olive:[128,128,0], + orange:[255,165,0], + pink:[255,192,203], + purple:[128,0,128], + violet:[128,0,128], + red:[255,0,0], + silver:[192,192,192], + white:[255,255,255], + yellow:[255,255,0], + transparent: [255,255,255] +}; + +/* + * jQuery Easing v1.3 - http://gsgd.co.uk/sandbox/jquery/easing/ + * + * Uses the built in easing capabilities added In jQuery 1.1 + * to offer multiple easing options + * + * TERMS OF USE - jQuery Easing + * + * Open source under the BSD License. + * + * Copyright 2008 George McGinley Smith + * 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 author nor the names of 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. + * +*/ + +// t: current time, b: begInnIng value, c: change In value, d: duration +$.easing.jswing = $.easing.swing; + +$.extend($.easing, +{ + def: 'easeOutQuad', + swing: function (x, t, b, c, d) { + //alert($.easing.default); + return $.easing[$.easing.def](x, t, b, c, d); + }, + easeInQuad: function (x, t, b, c, d) { + return c*(t/=d)*t + b; + }, + easeOutQuad: function (x, t, b, c, d) { + return -c *(t/=d)*(t-2) + b; + }, + easeInOutQuad: function (x, t, b, c, d) { + if ((t/=d/2) < 1) return c/2*t*t + b; + return -c/2 * ((--t)*(t-2) - 1) + b; + }, + easeInCubic: function (x, t, b, c, d) { + return c*(t/=d)*t*t + b; + }, + easeOutCubic: function (x, t, b, c, d) { + return c*((t=t/d-1)*t*t + 1) + b; + }, + easeInOutCubic: function (x, t, b, c, d) { + if ((t/=d/2) < 1) return c/2*t*t*t + b; + return c/2*((t-=2)*t*t + 2) + b; + }, + easeInQuart: function (x, t, b, c, d) { + return c*(t/=d)*t*t*t + b; + }, + easeOutQuart: function (x, t, b, c, d) { + return -c * ((t=t/d-1)*t*t*t - 1) + b; + }, + easeInOutQuart: function (x, t, b, c, d) { + if ((t/=d/2) < 1) return c/2*t*t*t*t + b; + return -c/2 * ((t-=2)*t*t*t - 2) + b; + }, + easeInQuint: function (x, t, b, c, d) { + return c*(t/=d)*t*t*t*t + b; + }, + easeOutQuint: function (x, t, b, c, d) { + return c*((t=t/d-1)*t*t*t*t + 1) + b; + }, + easeInOutQuint: function (x, t, b, c, d) { + if ((t/=d/2) < 1) return c/2*t*t*t*t*t + b; + return c/2*((t-=2)*t*t*t*t + 2) + b; + }, + easeInSine: function (x, t, b, c, d) { + return -c * Math.cos(t/d * (Math.PI/2)) + c + b; + }, + easeOutSine: function (x, t, b, c, d) { + return c * Math.sin(t/d * (Math.PI/2)) + b; + }, + easeInOutSine: function (x, t, b, c, d) { + return -c/2 * (Math.cos(Math.PI*t/d) - 1) + b; + }, + easeInExpo: function (x, t, b, c, d) { + return (t==0) ? b : c * Math.pow(2, 10 * (t/d - 1)) + b; + }, + easeOutExpo: function (x, t, b, c, d) { + return (t==d) ? b+c : c * (-Math.pow(2, -10 * t/d) + 1) + b; + }, + easeInOutExpo: function (x, t, b, c, d) { + if (t==0) return b; + if (t==d) return b+c; + if ((t/=d/2) < 1) return c/2 * Math.pow(2, 10 * (t - 1)) + b; + return c/2 * (-Math.pow(2, -10 * --t) + 2) + b; + }, + easeInCirc: function (x, t, b, c, d) { + return -c * (Math.sqrt(1 - (t/=d)*t) - 1) + b; + }, + easeOutCirc: function (x, t, b, c, d) { + return c * Math.sqrt(1 - (t=t/d-1)*t) + b; + }, + easeInOutCirc: function (x, t, b, c, d) { + if ((t/=d/2) < 1) return -c/2 * (Math.sqrt(1 - t*t) - 1) + b; + return c/2 * (Math.sqrt(1 - (t-=2)*t) + 1) + b; + }, + easeInElastic: function (x, t, b, c, d) { + var s=1.70158;var p=0;var a=c; + if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3; + if (a < Math.abs(c)) { a=c; var s=p/4; } + else var s = p/(2*Math.PI) * Math.asin (c/a); + return -(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b; + }, + easeOutElastic: function (x, t, b, c, d) { + var s=1.70158;var p=0;var a=c; + if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3; + if (a < Math.abs(c)) { a=c; var s=p/4; } + else var s = p/(2*Math.PI) * Math.asin (c/a); + return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b; + }, + easeInOutElastic: function (x, t, b, c, d) { + var s=1.70158;var p=0;var a=c; + if (t==0) return b; if ((t/=d/2)==2) return b+c; if (!p) p=d*(.3*1.5); + if (a < Math.abs(c)) { a=c; var s=p/4; } + else var s = p/(2*Math.PI) * Math.asin (c/a); + if (t < 1) return -.5*(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b; + return a*Math.pow(2,-10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )*.5 + c + b; + }, + easeInBack: function (x, t, b, c, d, s) { + if (s == undefined) s = 1.70158; + return c*(t/=d)*t*((s+1)*t - s) + b; + }, + easeOutBack: function (x, t, b, c, d, s) { + if (s == undefined) s = 1.70158; + return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b; + }, + easeInOutBack: function (x, t, b, c, d, s) { + if (s == undefined) s = 1.70158; + if ((t/=d/2) < 1) return c/2*(t*t*(((s*=(1.525))+1)*t - s)) + b; + return c/2*((t-=2)*t*(((s*=(1.525))+1)*t + s) + 2) + b; + }, + easeInBounce: function (x, t, b, c, d) { + return c - $.easing.easeOutBounce (x, d-t, 0, c, d) + b; + }, + easeOutBounce: function (x, t, b, c, d) { + if ((t/=d) < (1/2.75)) { + return c*(7.5625*t*t) + b; + } else if (t < (2/2.75)) { + return c*(7.5625*(t-=(1.5/2.75))*t + .75) + b; + } else if (t < (2.5/2.75)) { + return c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b; + } else { + return c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b; + } + }, + easeInOutBounce: function (x, t, b, c, d) { + if (t < d/2) return $.easing.easeInBounce (x, t*2, 0, c, d) * .5 + b; + return $.easing.easeOutBounce (x, t*2-d, 0, c, d) * .5 + c*.5 + b; + } +}); +/* + * + * TERMS OF USE - EASING EQUATIONS + * + * Open source under the BSD License. + * + * Copyright 2001 Robert Penner + * 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 author nor the names of 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. + * + */ + +})(jQuery); + +/* + * jQuery UI Effects Highlight 1.6rc6 + * + * Copyright (c) 2009 AUTHORS.txt (http://ui.jquery.com/about) + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI/Effects/Highlight + * + * Depends: + * effects.core.js + */ +(function($) { + +$.effects.highlight = function(o) { + + return this.queue(function() { + + // Create element + var el = $(this), props = ['backgroundImage','backgroundColor','opacity']; + + // Set options + var mode = $.effects.setMode(el, o.options.mode || 'show'); // Set Mode + var color = o.options.color || "#ffff99"; // Default highlight color + var oldColor = el.css("backgroundColor"); + + // Adjust + $.effects.save(el, props); el.show(); // Save & Show + el.css({backgroundImage: 'none', backgroundColor: color}); // Shift + + // Animation + var animation = {backgroundColor: oldColor }; + if (mode == "hide") animation['opacity'] = 0; + + // Animate + el.animate(animation, { queue: false, duration: o.duration, easing: o.options.easing, complete: function() { + if(mode == "hide") el.hide(); + $.effects.restore(el, props); + if (mode == "show" && $.browser.msie) this.style.removeAttribute('filter'); + if(o.callback) o.callback.apply(this, arguments); + el.dequeue(); + }}); + + }); + +}; + +})(jQuery); \ No newline at end of file diff --git a/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/direct/resources/js/main.js b/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/direct/resources/js/main.js new file mode 100755 index 00000000..31e96c3a --- /dev/null +++ b/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/direct/resources/js/main.js @@ -0,0 +1,22 @@ +function toggleSource( id ) +{ + var $src = $('#' + id).toggle(); + $('#l_' + id).html($src.css('display') == 'none' ? 'show' : 'hide'); +} + +function openCode( url ) +{ + window.open( url, "SOURCE_CODE", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=480,width=750" ).focus(); +} + + +window.highlight = function(url) { + var hash = url.match(/#([^#]+)$/) + if(hash) { + $('a[name=' + hash[1] + ']').parent().effect('highlight', {}, 'slow') + } +} + +$(function() { + highlight('#' + location.hash); +}); diff --git a/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/direct/resources/js/searchdoc.js b/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/direct/resources/js/searchdoc.js new file mode 100755 index 00000000..06b278ec --- /dev/null +++ b/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/direct/resources/js/searchdoc.js @@ -0,0 +1,628 @@ +Searchdoc = {}; + +// navigation.js ------------------------------------------ + +Searchdoc.Navigation = new function() { + this.initNavigation = function() { + var _this = this; + + $(document).keydown(function(e) { + _this.onkeydown(e); + }).keyup(function(e) { + _this.onkeyup(e); + }); + + this.navigationActive = true; + } + + this.setNavigationActive = function(state) { + this.navigationActive = state; + this.clearMoveTimeout(); + } + + + this.onkeyup = function(e) { + if (!this.navigationActive) return; + switch(e.keyCode) { + case 37: //Event.KEY_LEFT: + case 38: //Event.KEY_UP: + case 39: //Event.KEY_RIGHT: + case 40: //Event.KEY_DOWN: + case 73: // i - qwerty + case 74: // j + case 75: // k + case 76: // l + case 67: // c - dvorak + case 72: // h + case 84: // t + case 78: // n + this.clearMoveTimeout(); + break; + } + } + + this.onkeydown = function(e) { + if (!this.navigationActive) return; + switch(e.keyCode) { + case 37: //Event.KEY_LEFT: + case 74: // j (qwerty) + case 72: // h (dvorak) + if (this.moveLeft()) e.preventDefault(); + break; + case 38: //Event.KEY_UP: + case 73: // i (qwerty) + case 67: // c (dvorak) + if (e.keyCode == 38 || e.ctrlKey) { + if (this.moveUp()) e.preventDefault(); + this.startMoveTimeout(false); + } + break; + case 39: //Event.KEY_RIGHT: + case 76: // l (qwerty) + case 78: // n (dvorak) + if (this.moveRight()) e.preventDefault(); + break; + case 40: //Event.KEY_DOWN: + case 75: // k (qwerty) + case 84: // t (dvorak) + if (e.keyCode == 40 || e.ctrlKey) { + if (this.moveDown()) e.preventDefault(); + this.startMoveTimeout(true); + } + break; + case 9: //Event.KEY_TAB: + case 13: //Event.KEY_RETURN: + if (this.$current) this.select(this.$current); + break; + } + if (e.ctrlKey && e.shiftKey) this.select(this.$current); + } + + this.clearMoveTimeout = function() { + clearTimeout(this.moveTimeout); + this.moveTimeout = null; + } + + this.startMoveTimeout = function(isDown) { + if (!$.browser.mozilla && !$.browser.opera) return; + if (this.moveTimeout) this.clearMoveTimeout(); + var _this = this; + + var go = function() { + if (!_this.moveTimeout) return; + _this[isDown ? 'moveDown' : 'moveUp'](); + _this.moveTimout = setTimeout(go, 100); + } + this.moveTimeout = setTimeout(go, 200); + } + + this.moveRight = function() { + } + + this.moveLeft = function() { + } + + this.move = function(isDown) { + } + + this.moveUp = function() { + return this.move(false); + } + + this.moveDown = function() { + return this.move(true); + } +} + + +// scrollIntoView.js -------------------------------------- + +function scrollIntoView(element, view) { + var offset, viewHeight, viewScroll, height; + offset = element.offsetTop; + height = element.offsetHeight; + viewHeight = view.offsetHeight; + viewScroll = view.scrollTop; + if (offset - viewScroll + height > viewHeight) { + view.scrollTop = offset - viewHeight + height; + } + if (offset < viewScroll) { + view.scrollTop = offset; + } +} + + +// searcher.js -------------------------------------------- + +Searchdoc.Searcher = function(data) { + this.data = data; + this.handlers = []; +} + +Searchdoc.Searcher.prototype = new function() { + var CHUNK_SIZE = 1000, // search is performed in chunks of 1000 for non-bloking user input + MAX_RESULTS = 100, // do not try to find more than 100 results + huid = 1, suid = 1, + runs = 0; + + + this.find = function(query) { + var queries = splitQuery(query), + regexps = buildRegexps(queries), + highlighters = buildHilighters(queries), + state = { from: 0, pass: 0, limit: MAX_RESULTS, n: suid++}, + _this = this; + this.currentSuid = state.n; + + if (!query) return; + + var run = function() { + // stop current search thread if new search started + if (state.n != _this.currentSuid) return; + + var results = performSearch(_this.data, regexps, queries, highlighters, state), + hasMore = (state.limit > 0 && state.pass < 3); + + triggerResults.call(_this, results, !hasMore); + if (hasMore) { + setTimeout(run, 2); + } + runs++; + }; + runs = 0; + + // start search thread + run(); + } + + /* ----- Events ------ */ + this.ready = function(fn) { + fn.huid = huid; + this.handlers.push(fn); + } + + /* ----- Utilities ------ */ + function splitQuery(query) { + return jQuery.grep(query.split(/(\s+|\(\)?)/), function(string) { return string.match(/\S/) }); + } + + function buildRegexps(queries) { + return jQuery.map(queries, function(query) { return new RegExp(query.replace(/(.)/g, '([$1])([^$1]*?)'), 'i') }); + } + + function buildHilighters(queries) { + return jQuery.map(queries, function(query) { + return jQuery.map( query.split(''), function(l, i){ return '\u0001$' + (i*2+1) + '\u0002$' + (i*2+2) } ).join('') + }); + } + + // function longMatchRegexp(index, longIndex, regexps) { + // for (var i = regexps.length - 1; i >= 0; i--){ + // if (!index.match(regexps[i]) && !longIndex.match(regexps[i])) return false; + // }; + // return true; + // } + + + /* ----- Mathchers ------ */ + function matchPass1(index, longIndex, queries, regexps) { + if (index.indexOf(queries[0]) != 0) return false; + for (var i=1, l = regexps.length; i < l; i++) { + if (!index.match(regexps[i]) && !longIndex.match(regexps[i])) return false; + }; + return true; + } + + function matchPass2(index, longIndex, queries, regexps) { + if (index.indexOf(queries[0]) == -1) return false; + for (var i=1, l = regexps.length; i < l; i++) { + if (!index.match(regexps[i]) && !longIndex.match(regexps[i])) return false; + }; + return true; + } + + function matchPassRegexp(index, longIndex, queries, regexps) { + if (!index.match(regexps[0])) return false; + for (var i=1, l = regexps.length; i < l; i++) { + if (!index.match(regexps[i]) && !longIndex.match(regexps[i])) return false; + }; + return true; + } + + + /* ----- Highlighters ------ */ + function highlightRegexp(info, queries, regexps, highlighters) { + var result = createResult(info); + for (var i=0, l = regexps.length; i < l; i++) { + result.title = result.title.replace(regexps[i], highlighters[i]); + if (i > 0) + result.namespace = result.namespace.replace(regexps[i], highlighters[i]); + }; + return result; + } + + function hltSubstring(string, pos, length) { + return string.substring(0, pos) + '\u0001' + string.substring(pos, pos + length) + '\u0002' + string.substring(pos + length); + } + + function highlightQuery(info, queries, regexps, highlighters) { + var result = createResult(info), pos = 0, lcTitle = result.title.toLowerCase(); + pos = lcTitle.indexOf(queries[0]); + if (pos != -1) { + result.title = hltSubstring(result.title, pos, queries[0].length); + } + for (var i=1, l = regexps.length; i < l; i++) { + result.title = result.title.replace(regexps[i], highlighters[i]); + result.namespace = result.namespace.replace(regexps[i], highlighters[i]); + }; + return result; + } + + function createResult(info) { + var result = {}; + result.title = info[0]; + result.namespace = info[1]; + result.path = info[2]; + result.params = info[3]; + result.snippet = info[4]; + result.badge = info[6]; + return result; + } + + /* ----- Searching ------ */ + function performSearch(data, regexps, queries, highlighters, state) { + var searchIndex = data.searchIndex, // search by title first and then by source + longSearchIndex = data.longSearchIndex, + info = data.info, + result = [], + i = state.from, + l = searchIndex.length, + togo = CHUNK_SIZE, + matchFunc, hltFunc; + + while (state.pass < 3 && state.limit > 0 && togo > 0) { + if (state.pass == 0) { + matchFunc = matchPass1; + hltFunc = highlightQuery; + } else if (state.pass == 1) { + matchFunc = matchPass2; + hltFunc = highlightQuery; + } else if (state.pass == 2) { + matchFunc = matchPassRegexp; + hltFunc = highlightRegexp; + } + + for (; togo > 0 && i < l && state.limit > 0; i++, togo--) { + if (info[i].n == state.n) continue; + if (matchFunc(searchIndex[i], longSearchIndex[i], queries, regexps)) { + info[i].n = state.n; + result.push(hltFunc(info[i], queries, regexps, highlighters)); + state.limit--; + } + }; + if (searchIndex.length <= i) { + state.pass++; + i = state.from = 0; + } else { + state.from = i; + } + } + return result; + } + + function triggerResults(results, isLast) { + jQuery.each(this.handlers, function(i, fn) { fn.call(this, results, isLast) }) + } +} + + + + +// panel.js ----------------------------------------------- + +Searchdoc.Panel = function(element, data, tree, frame) { + this.$element = $(element); + this.$input = $('input', element).eq(0); + this.$result = $('.result ul', element).eq(0); + this.frame = frame; + this.$current = null; + this.$view = this.$result.parent(); + this.data = data; + this.searcher = new Searchdoc.Searcher(data.index); + this.tree = new Searchdoc.Tree($('.tree', element), tree, this); + this.init(); +} + +Searchdoc.Panel.prototype = $.extend({}, Searchdoc.Navigation, new function() { + var suid = 1; + + this.init = function() { + var _this = this; + var observer = function() { + _this.search(_this.$input[0].value); + }; + this.$input.keyup(observer); + this.$input.click(observer); // mac's clear field + + this.searcher.ready(function(results, isLast) { + _this.addResults(results, isLast); + }) + + this.$result.click(function(e) { + _this.$current.removeClass('current'); + _this.$current = $(e.target).closest('li').addClass('current'); + _this.select(); + _this.$input.focus(); + }); + + this.initNavigation(); + this.setNavigationActive(false); + } + + this.search = function(value, selectFirstMatch) { + value = jQuery.trim(value).toLowerCase(); + this.selectFirstMatch = selectFirstMatch; + if (value) { + this.$element.removeClass('panel_tree').addClass('panel_results'); + this.tree.setNavigationActive(false); + this.setNavigationActive(true); + } else { + this.$element.addClass('panel_tree').removeClass('panel_results'); + this.tree.setNavigationActive(true); + this.setNavigationActive(false); + } + if (value != this.lastQuery) { + this.lastQuery = value; + this.firstRun = true; + this.searcher.find(value); + } + } + + this.addResults = function(results, isLast) { + var target = this.$result.get(0); + if (this.firstRun && (results.length > 0 || isLast)) { + this.$current = null; + this.$result.empty(); + } + for (var i=0, l = results.length; i < l; i++) { + target.appendChild(renderItem.call(this, results[i])); + }; + if (this.firstRun && results.length > 0) { + this.firstRun = false; + this.$current = $(target.firstChild); + this.$current.addClass('current'); + if (this.selectFirstMatch) this.select(); + scrollIntoView(this.$current[0], this.$view[0]) + } + if (jQuery.browser.msie) this.$element[0].className += ''; + } + + this.open = function(src) { + this.frame.location.href = '../' + src; + if (this.frame.highlight) this.frame.highlight(src); + } + + this.select = function() { + this.open(this.$current.data('path')); + } + + this.move = function(isDown) { + if (!this.$current) return; + var $next = this.$current[isDown ? 'next' : 'prev'](); + if ($next.length) { + this.$current.removeClass('current'); + $next.addClass('current'); + scrollIntoView($next[0], this.$view[0]); + this.$current = $next; + } + return true; + } + + function renderItem(result) { + var li = document.createElement('li'), + html = '', badge = result.badge; + html += '

    ' + hlt(result.title); + if (result.params) html += '' + result.params + ''; + html += '

    '; + html += '

    '; + if (typeof badge != 'undefined') { + html += '' + escapeHTML(this.data.badges[badge] || 'unknown') + ''; + } + html += hlt(result.namespace) + '

    '; + if (result.snippet) html += '

    ' + escapeHTML(result.snippet) + '

    '; + li.innerHTML = html; + jQuery.data(li, 'path', result.path); + return li; + } + + function hlt(html) { + return escapeHTML(html).replace(/\u0001/g, '').replace(/\u0002/g, '') + } + + function escapeHTML(html) { + return html.replace(/[&<>]/g, function(c) { + return '&#' + c.charCodeAt(0) + ';'; + }); + } + +}); + +// tree.js ------------------------------------------------ + +Searchdoc.Tree = function(element, tree, panel) { + this.$element = $(element); + this.$list = $('ul', element); + this.tree = tree; + this.panel = panel; + this.init(); +} + +Searchdoc.Tree.prototype = $.extend({}, Searchdoc.Navigation, new function() { + this.init = function() { + var stopper = document.createElement('li'); + stopper.className = 'stopper'; + this.$list[0].appendChild(stopper); + for (var i=0, l = this.tree.length; i < l; i++) { + buildAndAppendItem.call(this, this.tree[i], 0, stopper); + }; + var _this = this; + this.$list.click(function(e) { + var $target = $(e.target), + $li = $target.closest('li'); + if ($target.hasClass('icon')) { + _this.toggle($li); + } else { + _this.select($li); + } + }) + + this.initNavigation(); + if (jQuery.browser.msie) document.body.className += ''; + } + + this.select = function($li) { + this.highlight($li); + var path = $li[0].searchdoc_tree_data.path; + if (path) this.panel.open(path); + } + + this.highlight = function($li) { + if (this.$current) this.$current.removeClass('current'); + this.$current = $li.addClass('current'); + } + + this.toggle = function($li) { + var closed = !$li.hasClass('closed'), + children = $li[0].searchdoc_tree_data.children; + $li.toggleClass('closed'); + for (var i=0, l = children.length; i < l; i++) { + toggleVis.call(this, $(children[i].li), !closed); + }; + } + + this.moveRight = function() { + if (!this.$current) { + this.highlight(this.$list.find('li:first')); + return; + } + if (this.$current.hasClass('closed')) { + this.toggle(this.$current); + } + } + + this.moveLeft = function() { + if (!this.$current) { + this.highlight(this.$list.find('li:first')); + return; + } + if (!this.$current.hasClass('closed')) { + this.toggle(this.$current); + } else { + var level = this.$current[0].searchdoc_tree_data.level; + if (level == 0) return; + var $next = this.$current.prevAll('li.level_' + (level - 1) + ':visible:first'); + this.$current.removeClass('current'); + $next.addClass('current'); + scrollIntoView($next[0], this.$element[0]); + this.$current = $next; + } + } + + this.move = function(isDown) { + if (!this.$current) { + this.highlight(this.$list.find('li:first')); + return true; + } + var next = this.$current[0]; + if (isDown) { + do { + next = next.nextSibling; + if (next && next.style && next.style.display != 'none') break; + } while(next); + } else { + do { + next = next.previousSibling; + if (next && next.style && next.style.display != 'none') break; + } while(next); + } + if (next && next.className.indexOf('stopper') == -1) { + this.$current.removeClass('current'); + $(next).addClass('current'); + scrollIntoView(next, this.$element[0]); + this.$current = $(next); + } + return true; + } + + function toggleVis($li, show) { + var closed = $li.hasClass('closed'), + children = $li[0].searchdoc_tree_data.children; + $li.css('display', show ? '' : 'none') + if (!show && this.$current && $li[0] == this.$current[0]) { + this.$current.removeClass('current'); + this.$current = null; + } + for (var i=0, l = children.length; i < l; i++) { + toggleVis.call(this, $(children[i].li), show && !closed); + }; + } + + function buildAndAppendItem(item, level, before) { + var li = renderItem(item, level), + list = this.$list[0]; + item.li = li; + list.insertBefore(li, before); + for (var i=0, l = item[3].length; i < l; i++) { + buildAndAppendItem.call(this, item[3][i], level + 1, before); + }; + return li; + } + + function renderItem(item, level) { + var li = document.createElement('li'), + cnt = document.createElement('div'), + h1 = document.createElement('h1'), + p = document.createElement('p'), + icon, i; + + li.appendChild(cnt); + li.style.paddingLeft = getOffset(level); + cnt.className = 'content'; + if (!item[1]) li.className = 'empty '; + cnt.appendChild(h1); + // cnt.appendChild(p); + h1.appendChild(document.createTextNode(item[0])); + // p.appendChild(document.createTextNode(item[4])); + if (item[2]) { + i = document.createElement('i'); + i.appendChild(document.createTextNode(item[2])); + h1.appendChild(i); + } + if (item[3].length > 0) { + icon = document.createElement('div'); + icon.className = 'icon'; + cnt.appendChild(icon); + } + + // user direct assignement instead of $() + // it's 8x faster + // $(li).data('path', item[1]) + // .data('children', item[3]) + // .data('level', level) + // .css('display', level == 0 ? '' : 'none') + // .addClass('level_' + level) + // .addClass('closed'); + li.searchdoc_tree_data = { + path: item[1], + children: item[3], + level: level + } + li.style.display = level == 0 ? '' : 'none'; + li.className += 'level_' + level + ' closed'; + return li; + } + + function getOffset(level) { + return 5 + 18*level + 'px'; + } +}); diff --git a/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/direct/resources/panel/index.html b/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/direct/resources/panel/index.html new file mode 100755 index 00000000..683c6269 --- /dev/null +++ b/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/direct/resources/panel/index.html @@ -0,0 +1,71 @@ + + + + + + layout + + + + + + + + + +
    +
    +
    + + + +
    + +
    +
    +
    +
      +
    +
    +
    +
      +
    +
    +
    + + diff --git a/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/merge/index.rhtml b/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/merge/index.rhtml new file mode 100755 index 00000000..3a7e0cb7 --- /dev/null +++ b/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/merge/index.rhtml @@ -0,0 +1,14 @@ + + + + + + <%= @title %> + + + + + + diff --git a/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/shtml/_context.rhtml b/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/shtml/_context.rhtml new file mode 100755 index 00000000..984a40ea --- /dev/null +++ b/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/shtml/_context.rhtml @@ -0,0 +1,164 @@ +
    + <% unless (desc = context.description).empty? %> +
    <%= desc %>
    + <% end %> + + <% unless context.requires.empty? %> +
    Required Files
    +
      + <% context.requires.each do |req| %> +
    • <%= h req.name %>
    • + <% end %> +
    + <% end %> + + <% sections = context.sections.select { |section| section.title } %> + <% unless sections.empty? %> +
    Contents
    + + <% end %> + + <% + list = context.method_list + unless @options.show_all + list = list.find_all {|m| m.visibility == :public || m.visibility == :protected || m.force_documentation } + end + %> + <% unless list.empty? %> +
    Methods
    +
      + <% list.sort{ |a, b| a.name <=> b.name }.each do |method| %> +
    • <%= method.name %>
    • + <% end %> +
    + <% end %> + + <% unless context.includes.empty? %> +
    Included Modules
    +
      + <% context.includes.each do |inc| %> +
    • + <% unless String === inc.module %> + <%= h inc.module.full_name %> + <% else %> + <%= h inc.name %> + <% end %> + START:includes +
    • + <% end %> +
    + <% end %> + + <% sections.each do |section| %> + + <% unless (description = section.description).empty? %> +
    + <%= description %> +
    + <% end %> + <% end %> + + <% unless context.classes_and_modules.empty? %> +
    Classes and Modules
    +
      + <% (context.modules.sort + context.classes.sort).each do |mod| %> +
    • <%= mod.type.upcase %> <%= mod.full_name %>
    • + <% end %> +
    + <% end %> + + <% unless context.constants.empty? %> +
    Constants
    + + <% context.each_constant do |const| %> + + + + + + <% unless (description = const.description).empty? %> + + + + + <% end %> + <% end %> +
    <%= h const.name %>=<%= h const.value %>
     <%= description %>
    + <% end %> + + <% unless context.attributes.empty? %> +
    Attributes
    + + <% context.each_attribute do |attrib| %> + + + + + + <% end %> +
    + [<%= attrib.rw %>] + <%= h attrib.name %><%= attrib.description.strip %>
    + <% end %> + + <% context.methods_by_type.each do |type, visibilities| + next if visibilities.empty? + visibilities.each do |visibility, methods| + next if methods.empty? + next unless @options.show_all || visibility == :public || visibility == :protected || methods.any? {|m| m.force_documentation } + %> +
    <%= type.capitalize %> <%= visibility.to_s.capitalize %> methods
    + <% methods.each do |method| %> +
    +
    + <% if method.call_seq %> + <%= method.call_seq.gsub(/->/, '→') %> + <% else %> + <%= h method.name %><%= h method.params %> + <% end %> +
    + <% unless (description = method.description).empty? %> +
    + <%# TODO delete this dirty hack when documentation for example for JavaScriptHelper will not be cutted off by + + + + + + + + + +
    + <%= include_template '_context.rhtml', {:context => klass, :rel_prefix => rel_prefix} %> +
    + + \ No newline at end of file diff --git a/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/shtml/file.rhtml b/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/shtml/file.rhtml new file mode 100755 index 00000000..9d8113e7 --- /dev/null +++ b/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/shtml/file.rhtml @@ -0,0 +1,37 @@ + + + + + <%= h file.name %> + + " type="text/css" media="screen" /> + + + + + + +
    + +
    + <%= include_template '_context.rhtml', {:context => file, :rel_prefix => rel_prefix} %> +
    + + \ No newline at end of file diff --git a/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/shtml/index.rhtml b/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/shtml/index.rhtml new file mode 100755 index 00000000..4d0c4a69 --- /dev/null +++ b/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/shtml/index.rhtml @@ -0,0 +1,14 @@ + + + + + + <%= @options.title %> + + + + + + diff --git a/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/shtml/resources/apple-touch-icon.png b/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/shtml/resources/apple-touch-icon.png new file mode 100755 index 0000000000000000000000000000000000000000..50f98b0ffa6eb390c9c022c5affbcecf0db2c7d7 GIT binary patch literal 86447 zcmXuKby$?&^FF=>OQ#|ru{456D$Onp0s?|acM3{(EunyPOM@Vw(jd~^T@unD-5m?N z-+jG5zu#Zad9K~PuCp^|X72l*IT0GK6p0CF2><{9v9glfYXAU*U4j63xY)!#&s?dECbVg-=4bTqeuDZe+fv3hM~X6fzRZzTZ$YHBLWNo#xk-S>y)(#zLl z950jRU5?abWC$eP$EZ?R4&fin$wNjV zgVdl75$7ezL{PB3OyblO zXq40XjrjjwApig3D<1OyKK?344*1{qzRE=~1OEE~c9C$IRMLQheX;wR**73sk~ug) zTw*xtFXPwvFyuC4q(^wX>&o2GBo`zy04HYD%73Z+t6h zicZ$jOS32sq~*4$JXNCiC;x3uQe74DP(W>_cXTk`hmbqb_N&!Jw(O?9A@c84@WlQ8 z(FgmvP2yi4cTHxF9d~te-;}NDzZHjG>|4BdIs%83K6XD^`w&uY#6ayzBhC>FJAppAy#`nePExC^SY_RO6GavZyVFj-){r#lP_@h z9PyXaO4rk?+D*e}QLj;63hwaNi?Mc#wBJj&-1nDjd=3W!XfDI1M~X!McExmF<^S=B z*Dp6|rs_0Qq}!@4>lTx8-nU^Wa`EddJ|Ut2rr$A$v}I|x$B4c4`q^KZS?nJk32~Z~ z6Ae!ymoxlypBjR(O`!y-dYiF65fyWxU& z^iJoQeaIQVBcK)(SR7>6vkJ;JUt0nA@j5%@Wc>QR3p$R&b8U@65_v7qZ1QLRw`&`T zf{)XeTW!P1%LFN6V~f$%#^x}AN02XMa@n}4dk8tPU>>NZP9(uw>QOQsq9iQI)Q^Ivou>9Bg6aX{C6LMD=)GHi2IY>2HGZmoDXqll)2_oZJ@IQpj zNcT9l%m~C-=%#>QyUSBQ-wU>HjiMP+qWeIWh?hnlT>B6a+RW^9`QvY%4j^@A2~D$R zO{U9i$Z>gdul&5MrR$k{lu=+j^t}!bHQE+EP+3fNa?ivrG^^hR)`~SpRRmwnmIVh^ zo@&j@@cp0vlCa)OtvIFCMc?C0{vk^kPB;Cjt_Eya9sg%l<3vGD77idbajyacWB_~XJ3hY`O7A0w4GPa%(Xh#MnBv$R_iixEB zOQ-q31Or}#pFIexa$(@z@Ac6+igmd0EGg0XU)HVGWLnXjF1OyesQ7wqz+%A30!S-+ zMolCU^@Jseia{c2?4j05HJwNap$s9y3f@_nvnu*~Rm8Jr^=gJWn3}k^LPnhZYXUVM zlMW!r#RR-XEeqmCg|DOEp_IBn$2k%Oj+sW2Nj)s6=&@BMA;ZMj5)STP{{8$8Hx>>j z_azJ616O7^X4>`Y&w6Y^ zP0Q*~yYt(giq-W_O2+gK5E@Y3Wi9$j#i|CvYerthey4j=EiPPb&`rOuXlU&>thxMt z$+LWh6^v3E`s)3+;N~yuJ9Xl988_Rt8}5Z|L)MOAvtIU~_pm>kYWzy{(*x9#FUKNQ z!2w%R=7}wawD|SN_Svl!s*0bc^^g`TgWe>Z{|e*#C!&p%>za3trW;DS@%IrQQ$CL= zDk3;IOutxBxS0b6zck<^{$V%r*plAe41F1UZsf@QCNC zuY1t#`Vb+3pdJo@t?Dah02g_-8xB~Bjr zvxsA|PdEEVZ2Mc{v!~^HH(cEI5C4~0#rxVTRPUPZGSndd#CyzvxZsPmX*Esio5%#T-d>(*b_e-A7hdSw{N`@x&yBL`#el!d+KY!mRK zJ86F14*s@bBX6=UZ@Iyf`C^u26(4BcqDPMvn_V>z)k8PZQE<0zmMMS3rhD!!iDgW3?qY#w^#9}fcSBY^plW{ zp0i#W@)b96jo$jTXgofB7dd2dd#vf_dxMo5RPm$hbznm{pB(Xh2&*PuG%q6DpiR<@ zbd<+Q%Ahx_Cm=StymR2itcMKew;w;Xzgk-3{mwa)lPv%J>z<|4M@6bEGh54zv$Iu2w)ab-BiYq<4@(^;$3OUDNMbtHem`kFQ$Vv1q5tGUC z9y=6nbb%C`P20=ku03;o^geaNQcqVyzcx8CMtxU4yKU0i(iT{}LSY zB)=;qdY3b>HHH4cmo2DiUK+gZj?sf;cN}dsABxli_@{)@KAG*}@(a30>dCMjH)7^&cI^kVYKM#-Ev??!KXug<};jC7y_ZIv~Sr01()HHX)5Q-Kke}A+blW0$!RbB^bTK0h zf@tAn#NRvQDbXBPL-Qu9LU_rRSFr$DZ|PcTb-whE|h_-8iO_n;rc_fsB*L1z!^Bd&(-_FPmWOrh#&5J z%`Jjpc+HF$+ZsxmeBa*v?aA~5bm0fepT6Ry@qk0dQBPgj)LAYIO8`sY9Z%1PJ4vxu zBKZF0zT&sWXH=G(yoi94*Gb~yntz+;A(pN`j5{;XGvR#8ltDMfJ>N`O>Bvp5tw~s8 zEaf}2+mpknUih2XzB9fN1^xK$I~UpcJRmE@@QBF0N%jK;Vr88@_=?>&Bl9MwOYE8a zwQZ2dmQx?0ZvDsP(dtvH8fj~3D{L+)@DH`WdT= z8c5Jk3b;cH_VpGR%k*zmw=HEjmQUmmfFpxt%5V=jR2 z*dD%q_8-_~P5B&=13j072Iu)MY)QKG!uj0xO!xifU|YA?c(N8}j*;0o$$l3q!<+w{mV=`&8T1FPz!Fke5SwXG(=l{FNRSeV!E`A=G8 z=!#J|260QLw2xA(P-%m>NYS3Y`#`?pnCSxi4^ip(yiZ)qFjM=z7r7=(phewy^@<36 z;6r&GY4AdpkvqhVZ(-Di=GX?Lw#S^OO=o(zzaR1V@%~|y+)S#iY*JYJ1_^T6-!#2P z{1lcI1(j%F5MTCWP{5q}(mCDy*%rBc(szFOwc%L*zpdL<#ciw` z|K3Uk%SxaCyykFBJGzB%TD$9iaJPU9+AeT(c4~-sciVknP=P7j<2(KhH#$gJJkK(s`*o1mHL3S8xT2Q=VG)N^(op;sz(-CV5Ae)btOew-?@LWycbl;-v8H5+y5+04W7+Pqd{~z+2&8R+$c#YX$5z+Xjxny14{f+ZxmRO1 zIY`P}H3ccnlZh+^JggC1Bj+4Mp!3*`Em0Jq*wxu1%?Xv3%zI`vkr6q`Rj%qQ{IDFB z+q?0taAyATzi|9w4plEV&Yu{L%PRt%mjB5C)mUob@~QNowGVwjFpwDO+xVWY^b8$w09LFM#8tcyS=fG@Kr;2o^!!rj#64}nAAx}NUcqDlVQPEp?0 zHKpck3$a#)a4;1?in8$+8C@ZIr=CO^5tc8>WA-gq4EX|zNb!$O-CtK~0bVw25B6=BFnY zoTMbP>F(?>`f?FI^&~hTMi1Sz6KLIuGz(Oqn5&sZR?-6mU@w?oy)Lc$P~sbGZC0Ubf9A7DGSn2l5j+GX766 zNz)Tx)cML#c93I+xm5Nxh2uIl(liEK8bvMm3Jimi6H%;>ygdOCYof0Y0Y_%V_C`ZqK}d2MrmGNc@b8Y#_j=|3 zDFO#PcfLMUC3(J?tBf?-l@%6`FYh)vX7A^7%+}(2)vR6(Qd;^}w=gI_5PCGKeK;xY zcL*p?F;3lpv3Vkr*xHUroVEyZ9|X0>7F2_8w>domw?R*DmY2UA0uqM5qGl=MGQ=4v z_ZX}!9Yi{CR&X6(#cKMmZWmjxN2b4ne$ylBbJi`;RcwGFv!11dFV($E` zmnBFOpav3p$7`$d?OtBvI9C;=WU2up24FZH!O2D(x-qrXU-AP!)RczU7v*=p#u9k{ zj-c#OqMpgqY^uVs7ul4 zIoEwoYe1|<_cath+y&|d27fnt($~v4L$UI6859)s^@aGnqK}xy>@llH;I+)t`|+II z3wT8n57(Y=QAJOmd7-X zn>pVKWADEyR-#LicdYcKCNDA=;vtjAZ7tjQp$QZZNsn&IJ6_9Ydas>!n z|J>QJT1*HFw?YTwU#z&Uz#rlFOVqZ=&4csS9T`uKx#ifFEeTS}SgELf z_t=gV(OZ8OkWi3v3)MZZKF0_nEIpa;?>B^i9`$~nYE-O+p993_yTgYG+5{bADQ=So z8Ux)A!bh{Z=vTn^ajtlZT#vbDOC?px&O(dcLNf!jgH{a~2ZnHaMQRcWvLBPKGy} zgW#;du$j$AXlL9E1*P3U*W%!dL3dRap`%|6fIT|pH3?AXwbd_iMFK!FLqP%s)qfVR zVA`LvfqbSqG9z6gOlfp9?R_f&N#4)E1jsLDG>k;==@uQp&uG? zGFoqGi0;l_obCM)tJ5iDgY=mmQvk)|fqi6g=M+Jo5|HownHM+vb|N&l+&W_9ElQ9} zZ(C?p0Xnatk(Bu;2N)KIM?YtCH&-s9B{H9v}Dm7 z`v;}Nf{(;v-?W2{)&>i+;kw>m_ldyos>OvwODCibHzRMKY6S*m+&&kcmHRS{rF1|( znqGRcqF0$O@`DbMNZ*9Jj<555MnDUUr=&tT=AjQ}U9H3a*T}2$>`OySQp2dqKUY{f zukdG_L6o@-_4qU&=tT!8N$UPs$xn3jHz?vBMg4?thzuY^c4sBUd@}ZX1<@#E1B~*e z<8qZ=@>g;_EV4j7GTngM&O&4cK)IH+10dZ=w`{0AD7)U-gF&wuq>dgfsyy1vNK??2 zscp30RaaNJ{J;^E0=82@4Az6?-o7pRmH)~UppKsj--OVe7Kz928!E`WT(YuT;FJ9 z%$AjZ$KvoC1Cx#s6ZC_R{`rMH>Re3IastJr_$kP~b^I4td?&Lj+({AF@=KQN?W)lm zPMGg;p2&HuC(L&&@AZ*VgxyA`=i;Ze5&A-vTx*~c>ZbVw_?!?>ZjS>wWh$U$92`Xk zIBavwb?84g<}zg53LWs1>G0YwEj5B=mfYwTAA^? zqdHbUT#mgbg(Jt+)H^tLqMTlh_9lHgf@@n8U62!X)lgj{40^73nQ_!k?g?WtZ)?wA z>YUf$A!%`PE!pu%w|$}95)P;*CI9wBXWQt1uSJZS^rM%o-WjDCtIdkyS``v58236l zTLvIzeWPr>y54I=*+_g7Uj3218Rvpf>Ugwb(7)oFLlT&!?Oc8Ef$mM=-=J_WqAPCCA+@$O0KzMv}@ z5?fJQzUO-3kNSxPiZ8%-*IofM7teLU505mCsBbwRzNn;PsLJ=GU@G4=DralUAZ$mm zaH%6GSi(zi6!v!8{{7ha;&TmjlRT@r=6wXd#zJ|*8#bufaY}1mg)?~1U9iv1t&Nk4 z|9ZP~*7e9m^>D$0_+s?eNbf@_7L&W0)>Rvd4T@skUrw(}vwHrFfT#OMM5tMK0jcsO zhV35yHngL<#9-}-vJSzE`|k|LTeP!>k1Ygu( zY~=!B>R(5qku(H2g|)?bf!e0}35>U4ah9_2)wJ2YweTFDLp^Ox2%=w=Tv4SucjW+`OQ&l(`~n{8Z*)Iy&J_DSs7&BB3EurTL@URJX$ zGyleshK&KgxUUmL2aI`J1nKeW&klH_YsshlV|15;RCA-3!!;j0!IL71f4>)L8tw5K zYs8Xx(yCLij?dba!-Gc01`^NK{pI7?BB_t3+tgLf5bdAe@dWmlGuofVh$D1VNTysg z!^9C)!!`J~g$V3b5i1(Xt%n2SUmkE5^+TC##vn4RpTrS#yky%6 zFmq;dH@d9=OJX z;DxI=H-N?O`^BhTb(Mxkygg}f)WcUTcPxDDMFRlax?^U^K8B2?~AEWex7uY;v=VBuUtkT*z9Sn{2=?7JK4Dw+p5UPK#<;_*f<8t-^L z3acrLjL&e+8Qp~rZ??lUXdlbh{uC$sd@cFx?eoDX6-Tzq=Kf=u8;)fn2&N>>Zkh(iFK*A_AM0Ya>TeO(7k=X5F%CY=26ys{Wh)IsHI~ zW5$L+Hl3E84PDoMU;bZ-K^VF)wutq&N>&9_L< zRYglQ_W`HH@E0B5=eE66dTaBo%2m-?T>}o6bU%m;hdK}4xnJixUNPq>9ClFt0Fj@a z7s#3*5&rtIpy)@QoNrhwr`dJ<$u(&|MGe~De*{ej?r7nt)ZJ?{WKe$5d!q-WPkLn?AZM0^PTx9r=Jswdk5>!b>5E@SPrTbeMvqzLPI zvIQ#gHSeFyYL~%zfy~RTcq{qkIz(+kkh^;nnYWr0^H!_s-{r9*89v1zK8?!SQB*>U zD;5~p$?sTgaFjH?7_ifOMUMua(qZ%65M-5P`Z1YBc%&46kRtqoeBu6cs_8O4cifH#?hU?JWVjNl5EpkK z${AXqx@R^+ZH2Fdq22R@_8Ew$Ti~0{hD}U!m_@}1orC*Evm&?rQGw0_&vU@5?f%`b zwJ0EUrMM$D3aY_vr9is7q9ILu`Y#h+{ckZ;zvzA@ev}rlt_fNddF@{h`8SFF1awTw z$x--M@k*+O*T+})E>!#>pWmJ-aYR7kf7!#xOQ&_Y`V=%rf4O|ayU-tYX>`U${Y@Dc z&C2I9LKs)M0Iaz=1mt0Xy3G=wCqk7%BUT*tGQ=TC97(WC$$*E=%IEF=(NGJu&i>Ru zBHo6}N86cj#*Oegq;*6h>r`9XmlQx2sg_VFSTu>6i8F%@nsxu8rbLgkKmFvvlHV=! zGMtPS$aw1CyBG!uZpHKR?`2-ieIFm0+XZh=41!RSm|;AgajRh4z1UK1bAlq|evLol zjYccN&rEdDyQ!v5f53g0m9fl^OWC_sC}d@Wzr1DzlJk7$25Nvj5r0`>KZXVLR?-hh z$g+dCz|^y({$9m)jNPl{5>OkHK*~+{g`JL*>Ac!fPkS;rpofc=SI>STL^Z}4Xk4{f zpcJb8nJ$9VlJkk(w$K`@rd{B=u6T!%>Pr1$#}=Mf@_$y;d{xzs*?FyxIh}W!;m(fj zEkkFDdZds3fy*6ceaRjw#jKs##JOy&I5xk~vyXygEB?>6O)%aUm z|DCZnI58(Eb@5pEsqaC(wIM)_|51C*JSASGG`v#@flH%P6-9QOFj!%Zo}Tp~rY+~D zc19SPsxl8_I^6mDr85sYlDbdr0%d2sS!*97u)}+kJbq#(Qr}1OG#^HHJeWQcYT3$+ z4)SH>6TFFk8gU;_po}OGN8%>n>LH_s+GY@*$ZOi~)O@n+SlfS?G^`)o;?Z#|c!_h3U9iP?xh`Pz8+}+>a;Wg4olbALTR2jo1 zD+QjMT4hx#wmjt$TJxSnEc*pxwZ;9Haz{B+WAJ#lic>!wohO9I1fA5>4uWe!oWKu< z3&#iLE0?L6F_J`g!+4me%*0Y-PedG*K{*?MN#9}WX)u<}_vz6F^8oRFL8dGYY-_{; z7rG#dI`H|uZ_!1k=wWcA)3hTdyoDttPe?$@UYzX6SBnW(0?s@No9^$E7Up)<-6?&b zlTSLm{6R--zabs$_=KEeEFy|niRr-67S1MIaC6~&n1?-cg|Z`I&!-$e=zfcMpHX>w zH?z`C8i@C8m0$3?x^2KhC@bJeBA|;EhzEMyKRu`&P2!^>%tt106<3Jbr+_;2+zg|i z9L5 z+#lrWWHmMC2tH=Ih=;t+A!l#Hi9h}#@#WU;zx@1Wb@C=)8BGPY>b+>~&f@idR(pTw zV>z3uJG_}%AsC*oJf#BS)Mrsg(Ah)fT|r>GP&NSnQ{ZWP><$U}R2Z(on(VIR9Uj($ z_>YW2Pc51L6i8PGJ@6`pE-+@>a5r*t03Z0{%EP%`^+XXxUy2@YHZatdCZ3ei{Y?G# zoa};OJ}%Q)<4d84DIAu*~GbyVA+`9z!{?TLF9GBKMIdpmDr&8V0&qC4M@` zh(oW#^!GS?Jkb4(3=0ZyCo9DD;_q^Rjt{lww)y;7i6x|x^V6r@s8}?bqw9)sl=)af zuO~MckSwH9X1hx zvJ2}{F)$b`bG3#^c~`Z?FiF}2ZC3CzMg)d*&Klp1JisS&SS;}xU*>Vd06Ar)6;Lw-|#;TsI z9^hj{TZrD=4=jxO&8?XYhNpl?5Q?pZRrs^gB+7I^4X0L&AxNF{yEYyW&iU>GnBZzVm;hY$&^HNp6WJaWo7(5>PFtaK9xV@L#?DEb)U-~ z&>h0|?(hp3f3@-rN58f<1fk6Gk#gOU#ZsYltxam->hSj(T7_5M*=g+M#^bZ~_n*ZP z%SGJ8*e|a{A_zNGKpjTZ0Vq^WJ(%v|elI+^v<&B?4Uq&&UD#}{ zzTAQpX~5<7hfw*PzAEtnn_gKL_zNV@eB<{zRAkn3`@v!q;N0bP8(#aJ49%Htn!(uk zXuws~#s};PBoEDG`cjxSg%>Paum(sXL@4JM%;RFtLb&!D_e{KwJ5x=M(TZ`;c~V$g z(pq9-;foT$>{3v*>%uz6``?dX_{!zPnuQl_xBMf-}NSb*^(Qd zPnvw`gfQOyO$91|1a6vk<0Dg+&UBK|bTnFjU*h$xKG&I(4lWUt2hkHytS2FPnBaiZNUN2|?w;Q4@ z1k#M58*i=vl)s>fboF(*k2{E;QSyJHn_o6Q&(495*Q$VO;QW5Oz%rlt1p+BDcKJmU zW6yfoA4Qc9C{f$gKxF^?V)t2Jq4P;j3$A|{!)M>}22l67rlpve_UIHWj&$i21!LoF z#`SXlQ{N>$w3QfcfG(uX=cjwH{Ch5c}@JE-l!hibkSF~g+8+i_6zS%w(C8N0fe5- zmsZqG7&FT)B|k>@IHW=piINN`A&P`-SoUcC@ICk;^p~a(J0D+#8a^1@SspLOTaIl$ zYL^XL-{aaWt{>uL*`01sfbW9wuW`X%uGg!q81X~nY?rd%ctLLhCk##KW+PidQdZBLCh41j`jJmoHhn*g%<#Ad{3&uwzjhC+U#@mQ-IrRus|Oi=0D`+u z`2U@XW}@Q<#~N*chnQ9MAw3+y`buR@_c_TDZ(e zS^BaS)xKv^K}<=Vw0~022Z0o!cu#@tDIw`TIX~E7FupiEP!{c@J0+uh@M{j>AA2HF zqNxUR%enROnI(>w-El2M>nQ;E%Xl?)`}*PFPuh zf{vkWs#A9?s_3OL4s^~$@7&p1l#0IQ#m7oS5nLcp04`)=9UN2+e zwazaAI=8bAP{ipoAlb1xJLL^~g-1b74wID%U_Q>s#p(RxHrpl7wmD@B@omZ{UcQ63 z2$LBWe86&8-7X3r!0|xN^J(=(cctbK+!8R{KL7_5>e*50;1(2WX~%e}7*f zOc-{7)*PWjJKpW7Iz#aUz%$R+jn`1gU&Ubw*K&1W zxxfCq{|JdapnMx5zl9cXOruEB){iG)fDexV%TzeW$zn_K5RYKkE(c|UnVN-bmtc(I zOy;YFz|KP?Qs1$v+2df%>jehO|+DFGZAKdbW;_i^>GVD;zw7 zIWc0&i2UHYi7H5!I}~tQ=;BDP*+!e73!>d7A=3kO1T%K>K!@F-PB{S{xsmqwRp*)G4 z{v%++u~>XIr3_lD19LGpmwcD#vsv1f0KU?QeffA_Oo7f55xxP75O2E}P>KUM`jgbv zcdNwh5V8Y$`e1GffFI+SAZxFPJ~Ut3rQO96LKbB>qKTu>H72XmD)Pbfl{!gL)4oti zvjuT&*|K@VnZEmFrvlPRas@t&M(0{(7rc+gM&cSl5e5SuJU2-`QF~muyLMKwHQng9 zj+(qH{uZkrrjkp;3M&(bMepIU1NnD*>#bKyLV&)?4d7i*|G#J zq66p#I#7oB?ie2rsr2&^1z_ujDCi-R>AxT~>H!I|xW(wiS8x)^MbQ#pQx)+T8#c{3$_QnaTl2<6^O3%C6m2GsZb$89v{5rljelL0Q=yJ(s6^rYyf}#bpNYB91(0; z_g7B-eIfQ>DHRZV#Q!94Cdv>YHkDf##B2QcY3Bm(fB z`?Zg?*`@}Ybu-N-@@jA9n7AB++&n#3+TT3plMss87m6jb?a}q+`hHQ=pi1j;7lQ4Y zF>_0d?v(3!$GdJ=nA|>KKrh(nhP_s(jTC~8?ZJS`;wjeH1|NWG1E$0#&=PbAa0cb} zG=SHPE%rS_g1+`3D$Zt$Ak$Bd7C>VC!U9PXplH} z53L&dM-*?rIC`K&WduKA7V|A3W~t?w#92-LNgp_)(te9ffQFcdjw+6z-PXJ#TOk;p z%BGFYrW755nRhYCTiW8kDm5jJO^$kd7}3=FON{$7KUj0K7J$qufRkAuHV`j=_0&Ry zM(APx3s=_P9wPfB{2XMb`k-(N7Hk{1SF`tX4!_F`kas%@QN7Dj0+<= zryo2N0qf7_yna+S`ME!8f@}Qy5>fA^i?pItYPVKSfJlR{hxu8eufvt{nJ&Vo-A@3f zZXLX7qIYN!*r1#CA1jD+f{*j+dFxoon=Lbx+>QP=M-dAfpaV)rGSQQ!__l1GNWw8} zq_XZd2B@SB*lUp{l6eA}a#g_q3akpAV9Y`%hYgh6mmW<4x>6w1ex^QNN$ryRqs55R zZ2IY-OxY8V^k4d#w}hvz>Bl&-V50yGvaS7PkF={Bgc#_l&B5{Y6|UT(JNF)X-x1KSOXPNU)`vF#|v zl$VG3N{C>8+8vTOi1zPyYOmF&SQ5FhGFCiQ^4RS-cDz4TSfql;4Sul$15R$G{D#|E zV_4=K_D`AN&9NvH68-Ku5 zDfL1gG~o#i#lgMZ6Bqg`qVGN=0o)X&&<8cKw#`@<(BCOpG=i~fPGDAV4r@TM4^4M8 zX-G<;F4J@5n3dd5@X@@zdxG7&)&ruI_XUedPi#Kb`gi|8_ z1z!GG-FKJC%i;bN5s@lv9!U;*d8XcZA$@(G?23(?wTBGbSC4hmzN*goES5Vj`|={3 zy+CPYR8i+SOsp_k7!H8lsP*I!z>B~oS&cNq&#gRErtn1mIZMC_^VHbcX8@gR)3J9- z?Rz=9E00{m+L86gN4&!5CB``uCW42=jJ1r6G6xIaHZn@O?QYAFb&tmAcZ8a|+Uj${ zsE@5ej6T>Xl5jAzK8SUkja>9q*e{S4B)!v$hQoHUx&7uOXncLg^ReTAMVYHO7N4c92+32{Pi90QOj(8|`99h1s5sPbI$DirmaQ$9OpmH(ujuS%lyZfeUL=EQroQ8-Adbz07|%;IQkI2o~cESoMXe_+l!e{-bIF>Do+zU zP4|u*u}Cgn^gdB8+#pF1MOztJ$`$zu^6A@Daur=)52S1OBkbY! zBNo26`$<&hBZ3^G)m4;f6mgKH>l>{Awmi~rpE$&F#1#JG*e!h07HWx_Yi*E>u|iZx z4iT>`8c%=UArQG7yP2(VrACEu#E;kLF2Ag9haYUzFyC9`44!->*xh^x{IclskZ$tk z)#2=?jjd)}-y_`!!&V8^-woo3+n4%$>_}!2$x`aJ{SzRu8&o$}U-nAm5Q&KMaBz?_ zh0!TTCe(p5-wRRa+H78B$O7aA>Tf;9uyWHYfGv-V3ErX9!C%6%+);cA%)J(^(dz?CP&Ok^3pQ!d_IYUH#qGJHOx@ zks0@JWb+Hb?{p5g8!kXk@LD&G! zbhnjOoOz-y>#=IS?5r{`{IzZaf6QghY$QxEKb06*~I&ghyw|NUt*R zk7V5zeR=Qpr_w+8{?@8-CJFx5p=_qNi@=s;p#_RDB~N7Iuu>97?&le++^v5$vU~gI zl0_X2VYx?(IBp&@?BjOF*S_PJfE2&jwl;e+9cs~v%Eds_8p0YkcOL|w#*ODoho(jGlI&{ zxy_ts%>@RCiT$HR1_!I-;6RNfK&!Z{Luo}Y*!PS!#&9;e6r4z%Hu3R<`8(E6-U=HR z>V8I_0YeNs)$JIb2NmCnvSH_FwF@dWEz>#U+~1!y0g@Ow|>9riA1gcH2gvmIf7&mWKI7N|6wxC8R;R zBsW5kZlsx{N=x?$N$HT1kdzqB$nD+l{b!%;ujlMO=Q(*@=Z++qQ*=lILRGS-HzzYn z$uZ=L2CTz4iQcbq1a-dKv`M?CWp)#^g#Hp^NjE$$^NIARBnI*oiR5j<+jnv-k%fN! z7ila6`8`ME3$Lp$v?X5M!b*=x-J8ewb!>~)>}sZ}MnJ_;HeytaHf;7!v=lH3nqD3I z?nNs1K8*@xCctG2C{e?OT)N$r#~u=qP%h3pW~*2B_#-Q@pdZg-|0ju2@6ec`pSsP@ zhsda9C`LFEGotuRA!orWF^;qzWev{vUhwk!tlx zfPS8i(ed1Gg&0D`pyI2`pjE|Jwg=)xMku&`$ChCy*A$s*D_*Fi#3(CO45Zgji`(=; zo!)<#MEsrLEJcvE--?Td{Evt)`lF*;^c#)7K*LM^c)*&vx{sCMA^3flTSxT-XaW@e z%q0qV8M?0E`56i`Q%bM-PZQiXOlQ0}!U1nk=Y9T$YBe^!(D|rJ)1cwv)L`{XS=Fcld#An+q4?himjF#N&LKhL?1-rxM{qvsQ&mj?9yKgGDZV~Th*=qN z6JA=dH&=R@*E3CZtp7F9DW?^xbM9`TL*NB1p7jw@G(w ziM*ayMO3U4M8w=D&WIAb{`t1jcNu*6H12g8k$nV-fer>aWSMr4^6e>c`Q4IT(!aCP z3vx&n-5-$pg_Dslyin0OtvqA|M+yn?>iGjY>c{`E%}-|}`*7Ej@Q5vFEU4y)F;)m0 znYsJ>tLE_Hz|!3jl z(j4n6!pq-yx8AHPji&kY`HhWbU-J<}$X_YC??+aComi(vlU-Kz_L$#>;$z&M9UrB@ zZPoZ2D~x_GMWf&Y)FkdpAobnh4!&-`*i7Dq+@7UcY>z?i%^lxwdHcm0@(@NjwHOLu zF7Z$YzK#pn$z!zJvS24SnC*m(jCEO9;4wabs6cHB}m0Ehf`bh)&eJ* zy+ao1N^FlSr-nQdku>9EzCiBe1g!6Lym{Y#B`E)c1wM(%Q;(@E`CFlOZh0Jv=Gz45 zwYon|yv(OBYox!&j}E3OC``w@B1s+RWGoSgo0SCdF2$q^%}IF!E(z?ADE5WS&~-H@ zAf{^8HRNje?`eJVe<1!980abH?DN3IfD=X?cO+5{wM!s!S7rxAUpO=1fRpFaM6}SX ztO*ak`Xz1x1q|8kDq~5_z=A6r>;V6lgm})Wso{kJgEaqT0^Jnv(L}p2CU1a0#OgI- z*ERASm`w$L-FL$Ft1{6bMZP35SMz`SG-5<>z-*)U*(rsRy7ld>$H)ul!M4gb?EtbF z9fxodmikDs*`$>oX`@gZPf=cChDTRncVX_FM)KNDLe_?R)SH;=8S+@{=jVV zi;B34wv_WMzeTM1)K~tjA8QjwKnPCKFuY6tZ3*z`wln2NMVU?= zrVh7PP;B?&$`??iuhX1@g9R*!B$*&7BKtVS@Ol!0O&yb{B!b=y|11y0(~pO}JjEjM z=a3RumzoIu&n5E_AtB_7TC6B|i6I!g1k%j?ua6bZUSZ_Z0WxW=&=~%W(>lxVG;S^U zRSSK^hT@-o#TnoH(%FiixVP4wmf7Bj@&WVV_}}7^v$R(i>(ZKkm+q#D)`mlwuwAM| zN1CX_C!v}R)t=G%DFpZ-u&fRok#i+JOVNC^I>2ba*5@I3eEH;=e#Zs`8?b`aq`md@ zgrDhQ`;y_A+!bDwyY-L{>QJWNOz-g$@z1^NK&j1kOW$Eg{;_+rY^`V?F`~o`SypF? z;YRc3=H*YpUFE?~@`H}bgO?8~cVInYvTRGdL8Yx>$r((+8sncq!AzsiElLf#Ls%iw z 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∾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 pre { + padding: 0.5em; + border: 1px dotted black; + background: #FFE; +} + +dt { + font-weight: bold +} + +dd { + margin-bottom: 0.7em; +} \ No newline at end of file diff --git a/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/shtml/resources/css/panel.css b/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/shtml/resources/css/panel.css new file mode 100755 index 00000000..5390c923 --- /dev/null +++ b/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/shtml/resources/css/panel.css @@ -0,0 +1,383 @@ +/* Panel (begin) */ + .panel + { + position: absolute; + width: 100%; + height: 100%; + top: 0; + left: 0; + background: #FFF; + z-index: 2; + font-family: "Helvetica Neue", "Arial", sans-serif; + //zoom: 1; + } + + .panel_tree .results, + .panel_results .tree + { + display: none; + } + + /* Header with search box (begin) */ + .panel .header + { + width: 100%; + height: 29px; + border-bottom: 1px solid #666; + position: relative; + left: 0; top: 0; + background: #e8e8e8; + } + + .panel .header div + { + margin: 0 7px; + } + .panel .header table + { + height: 29px; + width: 100%; + } + + .panel .header table td + { + vertical-align: middle; + text-align: middle; + } + + .panel .header label + { + position: absolute; + font-size: 12px; + line-height: 29px; + margin-left: 3px; + color: #999; + cursor: text; + } + + .panel .header table input + { + width: 100%; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + display: inline-block; + -webkit-appearance: searchfield; + height: 22px; + //height: auto; + } + + /* Header with search box (end) */ + + + /* Results (begin) */ + .panel .result + { + position: absolute; + top: 30px; + bottom: 0; + left: 0; + width: 100%; + //height: expression((this.parentNode.offsetHeight - 31)); + overflow-y: scroll; + overflow-x: hidden; + -overflow-y: hidden; + background: #EDF3FE url(../i/results_bg.png); + z-index: 2; + //zoom:1; + } + + .panel .result ul + { + font-size: 0.8em; + width: 100%; + background: #EDF3FE url(../i/results_bg.png); + //zoom:1; + } + + .panel .result ul li + { + height: 46px; + -height: 50px; + //display: inline; + //width: 100%; + //zoom: 1; + overflow: hidden; + padding: 4px 10px 0 10px; + cursor: pointer; + } + + .panel .result ul li h1 + { + font-size: 13px; + font-weight: normal; + color: #333; + margin-bottom: 2px; + white-space: nowrap; + } + + .panel .result ul li p + { + font-size: 11px; + color: #333; + margin-bottom: 2px; + white-space: nowrap; + } + + .panel .result ul li h1 i, + .panel .result ul li p.snippet + { + color: #999; + } + + .panel .result ul li b + { + color: #000; + } + + .panel .result ul li.current + { + background: #3875D7; + } + + .panel .result ul li.current h1, + .panel .result ul li.current p + { + color: #DDD; + } + + .panel .result ul li.current h1 i, + .panel .result ul li.current p.snippet + { + color: #AAA; + } + + .panel .result ul li.current b + { + color: #FFF; + } + + + .panel .result ul li:hover, + .panel .result ul li.selected + { + background: #d0d0d0; + } + + .panel .result ul li.current:hover + { + background: #2965C0; + } + + .panel .result ul li .badge + { + margin-right: 0.4em; + margin-left: -0.2em; + padding: 0 0.2em; + color: #000; + } + + .panel .result ul li .badge_1 + { + background: #ACDBF4; + } + + .panel .result ul li.current .badge_1 + { + background: #97BFD7; + } + + .panel .result ul li .badge_2 + { + background: #ACF3C3; + } + + .panel .result ul li.current .badge_2 + { + background: #98D7AC; + } + + .panel .result ul li .badge_3 + { + background: #E0F3AC; + } + + .panel .result ul li.current .badge_3 + { + background: #C4D798; + } + + .panel .result ul li .badge_4 + { + background: #D7CA98; + } + + .panel .result ul li.current .badge_4 + { + background: #A6B0AC; + } + + .panel .result ul li .badge_5 + { + background: #F3C8AC; + } + + .panel .result ul li.current .badge_5 + { + background: #D7B198; + } + + .panel .result ul li .badge_6 + { + background: #F3ACC3; + } + + .panel .result ul li.current .badge_6 + { + background: #D798AB; + } + + /* Results (end) */ + + /* Tree (begin) */ /**/ + .panel .tree + { + position: absolute; + top: 30px; + bottom: 0; + left: 0; + width: 100%; + //zoom: 1; + //height: expression((this.parentNode.offsetHeight - 31)); + overflow-y: scroll; + overflow-x: hidden; + -overflow-y: hidden; + background: #EDF3FE url(../i/tree_bg.png); + z-index: 30; + } + + .panel .tree ul + { + background: #EDF3FE url(../i/tree_bg.png); + } + + .panel .tree li + { + cursor: pointer; + overflow: hidden; + //height: 23px; + //display: inline; + //zoom: 1; + //width: 100%; + } + + + .panel .tree li .content + { + padding-left: 18px; + padding-top: 5px; + height: 18px; + overflow: hidden; + position: relative; + } + + .panel .tree li .icon + { + width: 10px; + height: 9px; + background: url(../i/arrows.png); + background-position: 0 -9px; + position: absolute; + left: 1px; + top: 8px; + cursor: default; + } + + .panel .tree li.closed .icon + { + background-position: 0 0; + } + + .panel .tree ul li h1 + { + font-size: 13px; + font-weight: normal; + color: #000; + margin-bottom: 2px; + white-space: nowrap; + } + + .panel .tree ul li p + { + font-size: 11px; + color: #666; + margin-bottom: 2px; + white-space: nowrap; + } + + .panel .tree ul li h1 i + { + color: #999; + font-style: normal; + } + + .panel .tree ul li.empty + { + cursor: text; + } + + .panel .tree ul li.empty h1, + .panel .tree ul li.empty p + { + color: #666; + font-style: italic; + } + + .panel .tree ul li.current + { + background: #3875D7; + } + + .panel .tree ul li.current .icon + { + background-position: -10px -9px; + } + + .panel .tree ul li.current.closed .icon + { + background-position: -10px 0; + } + + .panel .tree ul li.current h1 + { + color: #FFF; + } + + .panel .tree ul li.current p + { + color: #CCC; + } + + .panel .tree ul li.current.empty h1, + .panel .tree ul li.current.empty p + { + color: #999; + } + + .panel .tree ul li:hover + { + background: #d0d0d0; + } + + .panel .tree ul li.current:hover + { + background: #2965C0; + } + + .panel .tree .stopper + { + display: none; + } + /* Tree (end) */ /**/ + +/* Panel (end) */ \ No newline at end of file diff --git a/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/shtml/resources/css/reset.css b/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/shtml/resources/css/reset.css new file mode 100755 index 00000000..13f8e0a1 --- /dev/null +++ b/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/shtml/resources/css/reset.css @@ -0,0 +1,53 @@ +/* http://meyerweb.com/eric/tools/css/reset/ */ +/* v1.0 | 20080212 */ + +html, body, div, span, applet, object, iframe, +h1, h2, h3, h4, h5, h6, p, blockquote, pre, +a, abbr, acronym, address, big, cite, code, +del, dfn, em, font, img, ins, kbd, q, s, samp, +small, strike, strong, sub, sup, tt, var, +b, u, i, center, +dl, dt, dd, ol, ul, li, +fieldset, form, label, legend, +table, caption, tbody, tfoot, thead, tr, th, td { + margin: 0; + padding: 0; + border: 0; + outline: 0; + font-size: 100%; + vertical-align: baseline; + background: transparent; +} +body { + line-height: 1; +} +ol, ul { + list-style: none; +} +blockquote, q { + quotes: none; +} +blockquote:before, blockquote:after, +q:before, q:after { + content: ''; + content: none; +} + +/* remember to define focus styles! */ +:focus { + outline: 0; +} + +/* remember to highlight inserts somehow! */ +ins { + text-decoration: none; +} +del { + text-decoration: line-through; +} + +/* tables still need 'cellspacing="0"' in the markup */ +table { + border-collapse: collapse; + border-spacing: 0; +} \ No newline at end of file diff --git a/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/shtml/resources/favicon.ico b/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/shtml/resources/favicon.ico new file mode 100755 index 0000000000000000000000000000000000000000..e0e80cf8f15fa622499bd8879479cbbe1dcd9ba9 GIT binary patch literal 1150 zcmZ8fYfKzf6h5;%yF0tHGqW?ZyF3GKON82FHI4qT(#H>D{8Q5ywf<>hOKOT5ntoKE zbIjb(M@elCdD82Ca>*UblF~je zs-YW_-a09p;kfK;d*AKvY*f;E%G8X35+g9WKkcE3X9JH;?{sIKkz7WkN%6KoHlmQE zKDd-l2<|f=cRfV429g$q+Z=?Nasfu>Wu$EU3YnYcU~Cvb-q!gb-@o8g+n{A!gpoA~ zS?z|^9cKQ!uqq7@mD7+or&}L~o-zqD^BN>y7@}E^tj&x0lBaW7_6{QO#1F`R{3i7D zF^H~kvIdLNn&jJ*ayZj*hmzTi7hm}jdrFqD zWA9C9*)h)F$Zy&Rn^p(W$@ftxcJJO_+Lmo?3uLcJas~fc2!7VDcfsZBMQwNi!xO8J zyzL<8d+cd6>8V|F0JrBDc zflE6vm*6MH8sI57G&4@(IX>5)>D(-n+k%j@j* zd2J2y;nJ@MN$zK@A8;Mxu%=yRKd<6w_a2J zv;?KQcs1>qV1y9&pX`D2cZ=S5>-OY{ znqPk|t6Ex0&zo7aYL^y7wc~r2UR|%HmTE-#uM%zFO;mV@X!ky%;%A5sdbVG7wVRUJ4ZXi@?ZDjy6FEKPPFgfE{K9m3e0X9iQ zK~y-6t(3uW!Y~j;-+EF29Y8t>owx*MmOJ5Y&5#P>PN0L70CZp~_#AB6im~h*@-MRG zr}baWmym=c-2LqC8#0QVq_d4h^%0POdBCG!pN1)M?% zO>`K|PH|?|j2)(00SDm6-OCxbJtwIIc$f?6>;cm)*T8O}P|w9eQE9;oZF~2HLKoWhCOJ#u@GmlVKhuUa>!_-# zEwIP|+X5&Tep-&kS+3~ztj<7nRaJL@ZqKqDaEIZf>}Vs9s_EuaEpi1w7m?Ele92%J zkrytFj-_AR{Yra`ZXtws7%l~~0hQEqX7-C4AHC1fnA2Z5aQ8#{9xv9hBu#Qp(hi|Z Tx-exV00000NkvXXu0mjf5Awjp literal 0 HcmV?d00001 diff --git a/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/shtml/resources/i/results_bg.png b/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/shtml/resources/i/results_bg.png new file mode 100755 index 0000000000000000000000000000000000000000..199ba692349c83b68ac3479f107cdf2f79c39509 GIT binary patch literal 696 zcmeAS@N?(olHy`uVBq!ia0y~yV15B)r*N9O>AjNQC0nj*yCP#Ll5JNK`P=t|97DzJjSOG~Ei4q{mVF2=s rK*9w^1_lL)hK3QP0qFZ74t^YAov@rGA@oL5Daa?Du6{1-oD!M<--cx* literal 0 HcmV?d00001 diff --git a/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/shtml/resources/i/tree_bg.png b/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/shtml/resources/i/tree_bg.png new file mode 100755 index 0000000000000000000000000000000000000000..7d236633d723288991f4cafe4ee2908c6746d0e7 GIT binary patch literal 207 zcmeAS@N?(olHy`uVBq!ia0vp^tU#>C!3HEBuv``ZQY^(zo*^7SP{WbZ0pxQQctjR6 zFi7tKVa8qC7wiTK%9OZ9lmzFem6RtIr7}3Cl$uzQnV+W+l9`*zV61OwqHkdNIMQwkP=SW0i(`n!#NDtd0LD|QyIg>2rmC~YhJDc>S6G7^>bP0l+XkKJ?K7d literal 0 HcmV?d00001 diff --git a/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/shtml/resources/js/jquery-1.3.2.min.js b/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/shtml/resources/js/jquery-1.3.2.min.js new file mode 100755 index 00000000..b1ae21d8 --- /dev/null +++ b/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/shtml/resources/js/jquery-1.3.2.min.js @@ -0,0 +1,19 @@ +/* + * jQuery JavaScript Library v1.3.2 + * http://jquery.com/ + * + * Copyright (c) 2009 John Resig + * Dual licensed under the MIT and GPL licenses. + * http://docs.jquery.com/License + * + * Date: 2009-02-19 17:34:21 -0500 (Thu, 19 Feb 2009) + * Revision: 6246 + */ +(function(){var l=this,g,y=l.jQuery,p=l.$,o=l.jQuery=l.$=function(E,F){return new o.fn.init(E,F)},D=/^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/,f=/^.[^:#\[\.,]*$/;o.fn=o.prototype={init:function(E,H){E=E||document;if(E.nodeType){this[0]=E;this.length=1;this.context=E;return this}if(typeof E==="string"){var G=D.exec(E);if(G&&(G[1]||!H)){if(G[1]){E=o.clean([G[1]],H)}else{var I=document.getElementById(G[3]);if(I&&I.id!=G[3]){return o().find(E)}var F=o(I||[]);F.context=document;F.selector=E;return F}}else{return o(H).find(E)}}else{if(o.isFunction(E)){return o(document).ready(E)}}if(E.selector&&E.context){this.selector=E.selector;this.context=E.context}return this.setArray(o.isArray(E)?E:o.makeArray(E))},selector:"",jquery:"1.3.2",size:function(){return this.length},get:function(E){return E===g?Array.prototype.slice.call(this):this[E]},pushStack:function(F,H,E){var G=o(F);G.prevObject=this;G.context=this.context;if(H==="find"){G.selector=this.selector+(this.selector?" ":"")+E}else{if(H){G.selector=this.selector+"."+H+"("+E+")"}}return G},setArray:function(E){this.length=0;Array.prototype.push.apply(this,E);return this},each:function(F,E){return o.each(this,F,E)},index:function(E){return o.inArray(E&&E.jquery?E[0]:E,this)},attr:function(F,H,G){var E=F;if(typeof F==="string"){if(H===g){return this[0]&&o[G||"attr"](this[0],F)}else{E={};E[F]=H}}return this.each(function(I){for(F in E){o.attr(G?this.style:this,F,o.prop(this,E[F],G,I,F))}})},css:function(E,F){if((E=="width"||E=="height")&&parseFloat(F)<0){F=g}return this.attr(E,F,"curCSS")},text:function(F){if(typeof F!=="object"&&F!=null){return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(F))}var E="";o.each(F||this,function(){o.each(this.childNodes,function(){if(this.nodeType!=8){E+=this.nodeType!=1?this.nodeValue:o.fn.text([this])}})});return E},wrapAll:function(E){if(this[0]){var F=o(E,this[0].ownerDocument).clone();if(this[0].parentNode){F.insertBefore(this[0])}F.map(function(){var G=this;while(G.firstChild){G=G.firstChild}return G}).append(this)}return this},wrapInner:function(E){return this.each(function(){o(this).contents().wrapAll(E)})},wrap:function(E){return this.each(function(){o(this).wrapAll(E)})},append:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.appendChild(E)}})},prepend:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.insertBefore(E,this.firstChild)}})},before:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this)})},after:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this.nextSibling)})},end:function(){return this.prevObject||o([])},push:[].push,sort:[].sort,splice:[].splice,find:function(E){if(this.length===1){var F=this.pushStack([],"find",E);F.length=0;o.find(E,this[0],F);return F}else{return this.pushStack(o.unique(o.map(this,function(G){return o.find(E,G)})),"find",E)}},clone:function(G){var E=this.map(function(){if(!o.support.noCloneEvent&&!o.isXMLDoc(this)){var I=this.outerHTML;if(!I){var J=this.ownerDocument.createElement("div");J.appendChild(this.cloneNode(true));I=J.innerHTML}return o.clean([I.replace(/ jQuery\d+="(?:\d+|null)"/g,"").replace(/^\s*/,"")])[0]}else{return this.cloneNode(true)}});if(G===true){var H=this.find("*").andSelf(),F=0;E.find("*").andSelf().each(function(){if(this.nodeName!==H[F].nodeName){return}var I=o.data(H[F],"events");for(var K in I){for(var J in I[K]){o.event.add(this,K,I[K][J],I[K][J].data)}}F++})}return E},filter:function(E){return this.pushStack(o.isFunction(E)&&o.grep(this,function(G,F){return E.call(G,F)})||o.multiFilter(E,o.grep(this,function(F){return F.nodeType===1})),"filter",E)},closest:function(E){var G=o.expr.match.POS.test(E)?o(E):null,F=0;return this.map(function(){var H=this;while(H&&H.ownerDocument){if(G?G.index(H)>-1:o(H).is(E)){o.data(H,"closest",F);return H}H=H.parentNode;F++}})},not:function(E){if(typeof E==="string"){if(f.test(E)){return this.pushStack(o.multiFilter(E,this,true),"not",E)}else{E=o.multiFilter(E,this)}}var F=E.length&&E[E.length-1]!==g&&!E.nodeType;return this.filter(function(){return F?o.inArray(this,E)<0:this!=E})},add:function(E){return this.pushStack(o.unique(o.merge(this.get(),typeof E==="string"?o(E):o.makeArray(E))))},is:function(E){return !!E&&o.multiFilter(E,this).length>0},hasClass:function(E){return !!E&&this.is("."+E)},val:function(K){if(K===g){var E=this[0];if(E){if(o.nodeName(E,"option")){return(E.attributes.value||{}).specified?E.value:E.text}if(o.nodeName(E,"select")){var I=E.selectedIndex,L=[],M=E.options,H=E.type=="select-one";if(I<0){return null}for(var F=H?I:0,J=H?I+1:M.length;F=0||o.inArray(this.name,K)>=0)}else{if(o.nodeName(this,"select")){var N=o.makeArray(K);o("option",this).each(function(){this.selected=(o.inArray(this.value,N)>=0||o.inArray(this.text,N)>=0)});if(!N.length){this.selectedIndex=-1}}else{this.value=K}}})},html:function(E){return E===g?(this[0]?this[0].innerHTML.replace(/ jQuery\d+="(?:\d+|null)"/g,""):null):this.empty().append(E)},replaceWith:function(E){return this.after(E).remove()},eq:function(E){return this.slice(E,+E+1)},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments),"slice",Array.prototype.slice.call(arguments).join(","))},map:function(E){return this.pushStack(o.map(this,function(G,F){return E.call(G,F,G)}))},andSelf:function(){return this.add(this.prevObject)},domManip:function(J,M,L){if(this[0]){var I=(this[0].ownerDocument||this[0]).createDocumentFragment(),F=o.clean(J,(this[0].ownerDocument||this[0]),I),H=I.firstChild;if(H){for(var G=0,E=this.length;G1||G>0?I.cloneNode(true):I)}}if(F){o.each(F,z)}}return this;function K(N,O){return M&&o.nodeName(N,"table")&&o.nodeName(O,"tr")?(N.getElementsByTagName("tbody")[0]||N.appendChild(N.ownerDocument.createElement("tbody"))):N}}};o.fn.init.prototype=o.fn;function z(E,F){if(F.src){o.ajax({url:F.src,async:false,dataType:"script"})}else{o.globalEval(F.text||F.textContent||F.innerHTML||"")}if(F.parentNode){F.parentNode.removeChild(F)}}function e(){return +new Date}o.extend=o.fn.extend=function(){var J=arguments[0]||{},H=1,I=arguments.length,E=false,G;if(typeof J==="boolean"){E=J;J=arguments[1]||{};H=2}if(typeof J!=="object"&&!o.isFunction(J)){J={}}if(I==H){J=this;--H}for(;H-1}},swap:function(H,G,I){var E={};for(var F in G){E[F]=H.style[F];H.style[F]=G[F]}I.call(H);for(var F in G){H.style[F]=E[F]}},css:function(H,F,J,E){if(F=="width"||F=="height"){var L,G={position:"absolute",visibility:"hidden",display:"block"},K=F=="width"?["Left","Right"]:["Top","Bottom"];function I(){L=F=="width"?H.offsetWidth:H.offsetHeight;if(E==="border"){return}o.each(K,function(){if(!E){L-=parseFloat(o.curCSS(H,"padding"+this,true))||0}if(E==="margin"){L+=parseFloat(o.curCSS(H,"margin"+this,true))||0}else{L-=parseFloat(o.curCSS(H,"border"+this+"Width",true))||0}})}if(H.offsetWidth!==0){I()}else{o.swap(H,G,I)}return Math.max(0,Math.round(L))}return o.curCSS(H,F,J)},curCSS:function(I,F,G){var L,E=I.style;if(F=="opacity"&&!o.support.opacity){L=o.attr(E,"opacity");return L==""?"1":L}if(F.match(/float/i)){F=w}if(!G&&E&&E[F]){L=E[F]}else{if(q.getComputedStyle){if(F.match(/float/i)){F="float"}F=F.replace(/([A-Z])/g,"-$1").toLowerCase();var M=q.getComputedStyle(I,null);if(M){L=M.getPropertyValue(F)}if(F=="opacity"&&L==""){L="1"}}else{if(I.currentStyle){var J=F.replace(/\-(\w)/g,function(N,O){return O.toUpperCase()});L=I.currentStyle[F]||I.currentStyle[J];if(!/^\d+(px)?$/i.test(L)&&/^\d/.test(L)){var H=E.left,K=I.runtimeStyle.left;I.runtimeStyle.left=I.currentStyle.left;E.left=L||0;L=E.pixelLeft+"px";E.left=H;I.runtimeStyle.left=K}}}}return L},clean:function(F,K,I){K=K||document;if(typeof K.createElement==="undefined"){K=K.ownerDocument||K[0]&&K[0].ownerDocument||document}if(!I&&F.length===1&&typeof F[0]==="string"){var H=/^<(\w+)\s*\/?>$/.exec(F[0]);if(H){return[K.createElement(H[1])]}}var G=[],E=[],L=K.createElement("div");o.each(F,function(P,S){if(typeof S==="number"){S+=""}if(!S){return}if(typeof S==="string"){S=S.replace(/(<(\w+)[^>]*?)\/>/g,function(U,V,T){return T.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?U:V+">"});var O=S.replace(/^\s+/,"").substring(0,10).toLowerCase();var Q=!O.indexOf("",""]||!O.indexOf("",""]||O.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"","
    "]||!O.indexOf("",""]||(!O.indexOf("",""]||!O.indexOf("",""]||!o.support.htmlSerialize&&[1,"div
    ","
    "]||[0,"",""];L.innerHTML=Q[1]+S+Q[2];while(Q[0]--){L=L.lastChild}if(!o.support.tbody){var R=/"&&!R?L.childNodes:[];for(var M=N.length-1;M>=0;--M){if(o.nodeName(N[M],"tbody")&&!N[M].childNodes.length){N[M].parentNode.removeChild(N[M])}}}if(!o.support.leadingWhitespace&&/^\s/.test(S)){L.insertBefore(K.createTextNode(S.match(/^\s*/)[0]),L.firstChild)}S=o.makeArray(L.childNodes)}if(S.nodeType){G.push(S)}else{G=o.merge(G,S)}});if(I){for(var J=0;G[J];J++){if(o.nodeName(G[J],"script")&&(!G[J].type||G[J].type.toLowerCase()==="text/javascript")){E.push(G[J].parentNode?G[J].parentNode.removeChild(G[J]):G[J])}else{if(G[J].nodeType===1){G.splice.apply(G,[J+1,0].concat(o.makeArray(G[J].getElementsByTagName("script"))))}I.appendChild(G[J])}}return E}return G},attr:function(J,G,K){if(!J||J.nodeType==3||J.nodeType==8){return g}var H=!o.isXMLDoc(J),L=K!==g;G=H&&o.props[G]||G;if(J.tagName){var F=/href|src|style/.test(G);if(G=="selected"&&J.parentNode){J.parentNode.selectedIndex}if(G in J&&H&&!F){if(L){if(G=="type"&&o.nodeName(J,"input")&&J.parentNode){throw"type property can't be changed"}J[G]=K}if(o.nodeName(J,"form")&&J.getAttributeNode(G)){return J.getAttributeNode(G).nodeValue}if(G=="tabIndex"){var I=J.getAttributeNode("tabIndex");return I&&I.specified?I.value:J.nodeName.match(/(button|input|object|select|textarea)/i)?0:J.nodeName.match(/^(a|area)$/i)&&J.href?0:g}return J[G]}if(!o.support.style&&H&&G=="style"){return o.attr(J.style,"cssText",K)}if(L){J.setAttribute(G,""+K)}var E=!o.support.hrefNormalized&&H&&F?J.getAttribute(G,2):J.getAttribute(G);return E===null?g:E}if(!o.support.opacity&&G=="opacity"){if(L){J.zoom=1;J.filter=(J.filter||"").replace(/alpha\([^)]*\)/,"")+(parseInt(K)+""=="NaN"?"":"alpha(opacity="+K*100+")")}return J.filter&&J.filter.indexOf("opacity=")>=0?(parseFloat(J.filter.match(/opacity=([^)]*)/)[1])/100)+"":""}G=G.replace(/-([a-z])/ig,function(M,N){return N.toUpperCase()});if(L){J[G]=K}return J[G]},trim:function(E){return(E||"").replace(/^\s+|\s+$/g,"")},makeArray:function(G){var E=[];if(G!=null){var F=G.length;if(F==null||typeof G==="string"||o.isFunction(G)||G.setInterval){E[0]=G}else{while(F){E[--F]=G[F]}}}return E},inArray:function(G,H){for(var E=0,F=H.length;E0?this.clone(true):this).get();o.fn[F].apply(o(L[K]),I);J=J.concat(I)}return this.pushStack(J,E,G)}});o.each({removeAttr:function(E){o.attr(this,E,"");if(this.nodeType==1){this.removeAttribute(E)}},addClass:function(E){o.className.add(this,E)},removeClass:function(E){o.className.remove(this,E)},toggleClass:function(F,E){if(typeof E!=="boolean"){E=!o.className.has(this,F)}o.className[E?"add":"remove"](this,F)},remove:function(E){if(!E||o.filter(E,[this]).length){o("*",this).add([this]).each(function(){o.event.remove(this);o.removeData(this)});if(this.parentNode){this.parentNode.removeChild(this)}}},empty:function(){o(this).children().remove();while(this.firstChild){this.removeChild(this.firstChild)}}},function(E,F){o.fn[E]=function(){return this.each(F,arguments)}});function j(E,F){return E[0]&&parseInt(o.curCSS(E[0],F,true),10)||0}var h="jQuery"+e(),v=0,A={};o.extend({cache:{},data:function(F,E,G){F=F==l?A:F;var H=F[h];if(!H){H=F[h]=++v}if(E&&!o.cache[H]){o.cache[H]={}}if(G!==g){o.cache[H][E]=G}return E?o.cache[H][E]:H},removeData:function(F,E){F=F==l?A:F;var H=F[h];if(E){if(o.cache[H]){delete o.cache[H][E];E="";for(E in o.cache[H]){break}if(!E){o.removeData(F)}}}else{try{delete F[h]}catch(G){if(F.removeAttribute){F.removeAttribute(h)}}delete o.cache[H]}},queue:function(F,E,H){if(F){E=(E||"fx")+"queue";var G=o.data(F,E);if(!G||o.isArray(H)){G=o.data(F,E,o.makeArray(H))}else{if(H){G.push(H)}}}return G},dequeue:function(H,G){var E=o.queue(H,G),F=E.shift();if(!G||G==="fx"){F=E[0]}if(F!==g){F.call(H)}}});o.fn.extend({data:function(E,G){var H=E.split(".");H[1]=H[1]?"."+H[1]:"";if(G===g){var F=this.triggerHandler("getData"+H[1]+"!",[H[0]]);if(F===g&&this.length){F=o.data(this[0],E)}return F===g&&H[1]?this.data(H[0]):F}else{return this.trigger("setData"+H[1]+"!",[H[0],G]).each(function(){o.data(this,E,G)})}},removeData:function(E){return this.each(function(){o.removeData(this,E)})},queue:function(E,F){if(typeof E!=="string"){F=E;E="fx"}if(F===g){return o.queue(this[0],E)}return this.each(function(){var G=o.queue(this,E,F);if(E=="fx"&&G.length==1){G[0].call(this)}})},dequeue:function(E){return this.each(function(){o.dequeue(this,E)})}}); +/* + * Sizzle CSS Selector Engine - v0.9.3 + * Copyright 2009, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * More information: http://sizzlejs.com/ + */ +(function(){var R=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?/g,L=0,H=Object.prototype.toString;var F=function(Y,U,ab,ac){ab=ab||[];U=U||document;if(U.nodeType!==1&&U.nodeType!==9){return[]}if(!Y||typeof Y!=="string"){return ab}var Z=[],W,af,ai,T,ad,V,X=true;R.lastIndex=0;while((W=R.exec(Y))!==null){Z.push(W[1]);if(W[2]){V=RegExp.rightContext;break}}if(Z.length>1&&M.exec(Y)){if(Z.length===2&&I.relative[Z[0]]){af=J(Z[0]+Z[1],U)}else{af=I.relative[Z[0]]?[U]:F(Z.shift(),U);while(Z.length){Y=Z.shift();if(I.relative[Y]){Y+=Z.shift()}af=J(Y,af)}}}else{var ae=ac?{expr:Z.pop(),set:E(ac)}:F.find(Z.pop(),Z.length===1&&U.parentNode?U.parentNode:U,Q(U));af=F.filter(ae.expr,ae.set);if(Z.length>0){ai=E(af)}else{X=false}while(Z.length){var ah=Z.pop(),ag=ah;if(!I.relative[ah]){ah=""}else{ag=Z.pop()}if(ag==null){ag=U}I.relative[ah](ai,ag,Q(U))}}if(!ai){ai=af}if(!ai){throw"Syntax error, unrecognized expression: "+(ah||Y)}if(H.call(ai)==="[object Array]"){if(!X){ab.push.apply(ab,ai)}else{if(U.nodeType===1){for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&(ai[aa]===true||ai[aa].nodeType===1&&K(U,ai[aa]))){ab.push(af[aa])}}}else{for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&ai[aa].nodeType===1){ab.push(af[aa])}}}}}else{E(ai,ab)}if(V){F(V,U,ab,ac);if(G){hasDuplicate=false;ab.sort(G);if(hasDuplicate){for(var aa=1;aa":function(Z,U,aa){var X=typeof U==="string";if(X&&!/\W/.test(U)){U=aa?U:U.toUpperCase();for(var V=0,T=Z.length;V=0)){if(!V){T.push(Y)}}else{if(V){U[X]=false}}}}return false},ID:function(T){return T[1].replace(/\\/g,"")},TAG:function(U,T){for(var V=0;T[V]===false;V++){}return T[V]&&Q(T[V])?U[1]:U[1].toUpperCase()},CHILD:function(T){if(T[1]=="nth"){var U=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(T[2]=="even"&&"2n"||T[2]=="odd"&&"2n+1"||!/\D/.test(T[2])&&"0n+"+T[2]||T[2]);T[2]=(U[1]+(U[2]||1))-0;T[3]=U[3]-0}T[0]=L++;return T},ATTR:function(X,U,V,T,Y,Z){var W=X[1].replace(/\\/g,"");if(!Z&&I.attrMap[W]){X[1]=I.attrMap[W]}if(X[2]==="~="){X[4]=" "+X[4]+" "}return X},PSEUDO:function(X,U,V,T,Y){if(X[1]==="not"){if(X[3].match(R).length>1||/^\w/.test(X[3])){X[3]=F(X[3],null,null,U)}else{var W=F.filter(X[3],U,V,true^Y);if(!V){T.push.apply(T,W)}return false}}else{if(I.match.POS.test(X[0])||I.match.CHILD.test(X[0])){return true}}return X},POS:function(T){T.unshift(true);return T}},filters:{enabled:function(T){return T.disabled===false&&T.type!=="hidden"},disabled:function(T){return T.disabled===true},checked:function(T){return T.checked===true},selected:function(T){T.parentNode.selectedIndex;return T.selected===true},parent:function(T){return !!T.firstChild},empty:function(T){return !T.firstChild},has:function(V,U,T){return !!F(T[3],V).length},header:function(T){return/h\d/i.test(T.nodeName)},text:function(T){return"text"===T.type},radio:function(T){return"radio"===T.type},checkbox:function(T){return"checkbox"===T.type},file:function(T){return"file"===T.type},password:function(T){return"password"===T.type},submit:function(T){return"submit"===T.type},image:function(T){return"image"===T.type},reset:function(T){return"reset"===T.type},button:function(T){return"button"===T.type||T.nodeName.toUpperCase()==="BUTTON"},input:function(T){return/input|select|textarea|button/i.test(T.nodeName)}},setFilters:{first:function(U,T){return T===0},last:function(V,U,T,W){return U===W.length-1},even:function(U,T){return T%2===0},odd:function(U,T){return T%2===1},lt:function(V,U,T){return UT[3]-0},nth:function(V,U,T){return T[3]-0==U},eq:function(V,U,T){return T[3]-0==U}},filter:{PSEUDO:function(Z,V,W,aa){var U=V[1],X=I.filters[U];if(X){return X(Z,W,V,aa)}else{if(U==="contains"){return(Z.textContent||Z.innerText||"").indexOf(V[3])>=0}else{if(U==="not"){var Y=V[3];for(var W=0,T=Y.length;W=0)}}},ID:function(U,T){return U.nodeType===1&&U.getAttribute("id")===T},TAG:function(U,T){return(T==="*"&&U.nodeType===1)||U.nodeName===T},CLASS:function(U,T){return(" "+(U.className||U.getAttribute("class"))+" ").indexOf(T)>-1},ATTR:function(Y,W){var V=W[1],T=I.attrHandle[V]?I.attrHandle[V](Y):Y[V]!=null?Y[V]:Y.getAttribute(V),Z=T+"",X=W[2],U=W[4];return T==null?X==="!=":X==="="?Z===U:X==="*="?Z.indexOf(U)>=0:X==="~="?(" "+Z+" ").indexOf(U)>=0:!U?Z&&T!==false:X==="!="?Z!=U:X==="^="?Z.indexOf(U)===0:X==="$="?Z.substr(Z.length-U.length)===U:X==="|="?Z===U||Z.substr(0,U.length+1)===U+"-":false},POS:function(X,U,V,Y){var T=U[2],W=I.setFilters[T];if(W){return W(X,V,U,Y)}}}};var M=I.match.POS;for(var O in I.match){I.match[O]=RegExp(I.match[O].source+/(?![^\[]*\])(?![^\(]*\))/.source)}var E=function(U,T){U=Array.prototype.slice.call(U);if(T){T.push.apply(T,U);return T}return U};try{Array.prototype.slice.call(document.documentElement.childNodes)}catch(N){E=function(X,W){var U=W||[];if(H.call(X)==="[object Array]"){Array.prototype.push.apply(U,X)}else{if(typeof X.length==="number"){for(var V=0,T=X.length;V";var T=document.documentElement;T.insertBefore(U,T.firstChild);if(!!document.getElementById(V)){I.find.ID=function(X,Y,Z){if(typeof Y.getElementById!=="undefined"&&!Z){var W=Y.getElementById(X[1]);return W?W.id===X[1]||typeof W.getAttributeNode!=="undefined"&&W.getAttributeNode("id").nodeValue===X[1]?[W]:g:[]}};I.filter.ID=function(Y,W){var X=typeof Y.getAttributeNode!=="undefined"&&Y.getAttributeNode("id");return Y.nodeType===1&&X&&X.nodeValue===W}}T.removeChild(U)})();(function(){var T=document.createElement("div");T.appendChild(document.createComment(""));if(T.getElementsByTagName("*").length>0){I.find.TAG=function(U,Y){var X=Y.getElementsByTagName(U[1]);if(U[1]==="*"){var W=[];for(var V=0;X[V];V++){if(X[V].nodeType===1){W.push(X[V])}}X=W}return X}}T.innerHTML="";if(T.firstChild&&typeof T.firstChild.getAttribute!=="undefined"&&T.firstChild.getAttribute("href")!=="#"){I.attrHandle.href=function(U){return U.getAttribute("href",2)}}})();if(document.querySelectorAll){(function(){var T=F,U=document.createElement("div");U.innerHTML="

    ";if(U.querySelectorAll&&U.querySelectorAll(".TEST").length===0){return}F=function(Y,X,V,W){X=X||document;if(!W&&X.nodeType===9&&!Q(X)){try{return E(X.querySelectorAll(Y),V)}catch(Z){}}return T(Y,X,V,W)};F.find=T.find;F.filter=T.filter;F.selectors=T.selectors;F.matches=T.matches})()}if(document.getElementsByClassName&&document.documentElement.getElementsByClassName){(function(){var T=document.createElement("div");T.innerHTML="
    ";if(T.getElementsByClassName("e").length===0){return}T.lastChild.className="e";if(T.getElementsByClassName("e").length===1){return}I.order.splice(1,0,"CLASS");I.find.CLASS=function(U,V,W){if(typeof V.getElementsByClassName!=="undefined"&&!W){return V.getElementsByClassName(U[1])}}})()}function P(U,Z,Y,ad,aa,ac){var ab=U=="previousSibling"&&!ac;for(var W=0,V=ad.length;W0){X=T;break}}}T=T[U]}ad[W]=X}}}var K=document.compareDocumentPosition?function(U,T){return U.compareDocumentPosition(T)&16}:function(U,T){return U!==T&&(U.contains?U.contains(T):true)};var Q=function(T){return T.nodeType===9&&T.documentElement.nodeName!=="HTML"||!!T.ownerDocument&&Q(T.ownerDocument)};var J=function(T,aa){var W=[],X="",Y,V=aa.nodeType?[aa]:aa;while((Y=I.match.PSEUDO.exec(T))){X+=Y[0];T=T.replace(I.match.PSEUDO,"")}T=I.relative[T]?T+"*":T;for(var Z=0,U=V.length;Z0||T.offsetHeight>0};F.selectors.filters.animated=function(T){return o.grep(o.timers,function(U){return T===U.elem}).length};o.multiFilter=function(V,T,U){if(U){V=":not("+V+")"}return F.matches(V,T)};o.dir=function(V,U){var T=[],W=V[U];while(W&&W!=document){if(W.nodeType==1){T.push(W)}W=W[U]}return T};o.nth=function(X,T,V,W){T=T||1;var U=0;for(;X;X=X[V]){if(X.nodeType==1&&++U==T){break}}return X};o.sibling=function(V,U){var T=[];for(;V;V=V.nextSibling){if(V.nodeType==1&&V!=U){T.push(V)}}return T};return;l.Sizzle=F})();o.event={add:function(I,F,H,K){if(I.nodeType==3||I.nodeType==8){return}if(I.setInterval&&I!=l){I=l}if(!H.guid){H.guid=this.guid++}if(K!==g){var G=H;H=this.proxy(G);H.data=K}var E=o.data(I,"events")||o.data(I,"events",{}),J=o.data(I,"handle")||o.data(I,"handle",function(){return typeof o!=="undefined"&&!o.event.triggered?o.event.handle.apply(arguments.callee.elem,arguments):g});J.elem=I;o.each(F.split(/\s+/),function(M,N){var O=N.split(".");N=O.shift();H.type=O.slice().sort().join(".");var L=E[N];if(o.event.specialAll[N]){o.event.specialAll[N].setup.call(I,K,O)}if(!L){L=E[N]={};if(!o.event.special[N]||o.event.special[N].setup.call(I,K,O)===false){if(I.addEventListener){I.addEventListener(N,J,false)}else{if(I.attachEvent){I.attachEvent("on"+N,J)}}}}L[H.guid]=H;o.event.global[N]=true});I=null},guid:1,global:{},remove:function(K,H,J){if(K.nodeType==3||K.nodeType==8){return}var G=o.data(K,"events"),F,E;if(G){if(H===g||(typeof H==="string"&&H.charAt(0)==".")){for(var I in G){this.remove(K,I+(H||""))}}else{if(H.type){J=H.handler;H=H.type}o.each(H.split(/\s+/),function(M,O){var Q=O.split(".");O=Q.shift();var N=RegExp("(^|\\.)"+Q.slice().sort().join(".*\\.")+"(\\.|$)");if(G[O]){if(J){delete G[O][J.guid]}else{for(var P in G[O]){if(N.test(G[O][P].type)){delete G[O][P]}}}if(o.event.specialAll[O]){o.event.specialAll[O].teardown.call(K,Q)}for(F in G[O]){break}if(!F){if(!o.event.special[O]||o.event.special[O].teardown.call(K,Q)===false){if(K.removeEventListener){K.removeEventListener(O,o.data(K,"handle"),false)}else{if(K.detachEvent){K.detachEvent("on"+O,o.data(K,"handle"))}}}F=null;delete G[O]}}})}for(F in G){break}if(!F){var L=o.data(K,"handle");if(L){L.elem=null}o.removeData(K,"events");o.removeData(K,"handle")}}},trigger:function(I,K,H,E){var G=I.type||I;if(!E){I=typeof I==="object"?I[h]?I:o.extend(o.Event(G),I):o.Event(G);if(G.indexOf("!")>=0){I.type=G=G.slice(0,-1);I.exclusive=true}if(!H){I.stopPropagation();if(this.global[G]){o.each(o.cache,function(){if(this.events&&this.events[G]){o.event.trigger(I,K,this.handle.elem)}})}}if(!H||H.nodeType==3||H.nodeType==8){return g}I.result=g;I.target=H;K=o.makeArray(K);K.unshift(I)}I.currentTarget=H;var J=o.data(H,"handle");if(J){J.apply(H,K)}if((!H[G]||(o.nodeName(H,"a")&&G=="click"))&&H["on"+G]&&H["on"+G].apply(H,K)===false){I.result=false}if(!E&&H[G]&&!I.isDefaultPrevented()&&!(o.nodeName(H,"a")&&G=="click")){this.triggered=true;try{H[G]()}catch(L){}}this.triggered=false;if(!I.isPropagationStopped()){var F=H.parentNode||H.ownerDocument;if(F){o.event.trigger(I,K,F,true)}}},handle:function(K){var J,E;K=arguments[0]=o.event.fix(K||l.event);K.currentTarget=this;var L=K.type.split(".");K.type=L.shift();J=!L.length&&!K.exclusive;var I=RegExp("(^|\\.)"+L.slice().sort().join(".*\\.")+"(\\.|$)");E=(o.data(this,"events")||{})[K.type];for(var G in E){var H=E[G];if(J||I.test(H.type)){K.handler=H;K.data=H.data;var F=H.apply(this,arguments);if(F!==g){K.result=F;if(F===false){K.preventDefault();K.stopPropagation()}}if(K.isImmediatePropagationStopped()){break}}}},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(H){if(H[h]){return H}var F=H;H=o.Event(F);for(var G=this.props.length,J;G;){J=this.props[--G];H[J]=F[J]}if(!H.target){H.target=H.srcElement||document}if(H.target.nodeType==3){H.target=H.target.parentNode}if(!H.relatedTarget&&H.fromElement){H.relatedTarget=H.fromElement==H.target?H.toElement:H.fromElement}if(H.pageX==null&&H.clientX!=null){var I=document.documentElement,E=document.body;H.pageX=H.clientX+(I&&I.scrollLeft||E&&E.scrollLeft||0)-(I.clientLeft||0);H.pageY=H.clientY+(I&&I.scrollTop||E&&E.scrollTop||0)-(I.clientTop||0)}if(!H.which&&((H.charCode||H.charCode===0)?H.charCode:H.keyCode)){H.which=H.charCode||H.keyCode}if(!H.metaKey&&H.ctrlKey){H.metaKey=H.ctrlKey}if(!H.which&&H.button){H.which=(H.button&1?1:(H.button&2?3:(H.button&4?2:0)))}return H},proxy:function(F,E){E=E||function(){return F.apply(this,arguments)};E.guid=F.guid=F.guid||E.guid||this.guid++;return E},special:{ready:{setup:B,teardown:function(){}}},specialAll:{live:{setup:function(E,F){o.event.add(this,F[0],c)},teardown:function(G){if(G.length){var E=0,F=RegExp("(^|\\.)"+G[0]+"(\\.|$)");o.each((o.data(this,"events").live||{}),function(){if(F.test(this.type)){E++}});if(E<1){o.event.remove(this,G[0],c)}}}}}};o.Event=function(E){if(!this.preventDefault){return new o.Event(E)}if(E&&E.type){this.originalEvent=E;this.type=E.type}else{this.type=E}this.timeStamp=e();this[h]=true};function k(){return false}function u(){return true}o.Event.prototype={preventDefault:function(){this.isDefaultPrevented=u;var E=this.originalEvent;if(!E){return}if(E.preventDefault){E.preventDefault()}E.returnValue=false},stopPropagation:function(){this.isPropagationStopped=u;var E=this.originalEvent;if(!E){return}if(E.stopPropagation){E.stopPropagation()}E.cancelBubble=true},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=u;this.stopPropagation()},isDefaultPrevented:k,isPropagationStopped:k,isImmediatePropagationStopped:k};var a=function(F){var E=F.relatedTarget;while(E&&E!=this){try{E=E.parentNode}catch(G){E=this}}if(E!=this){F.type=F.data;o.event.handle.apply(this,arguments)}};o.each({mouseover:"mouseenter",mouseout:"mouseleave"},function(F,E){o.event.special[E]={setup:function(){o.event.add(this,F,a,E)},teardown:function(){o.event.remove(this,F,a)}}});o.fn.extend({bind:function(F,G,E){return F=="unload"?this.one(F,G,E):this.each(function(){o.event.add(this,F,E||G,E&&G)})},one:function(G,H,F){var E=o.event.proxy(F||H,function(I){o(this).unbind(I,E);return(F||H).apply(this,arguments)});return this.each(function(){o.event.add(this,G,E,F&&H)})},unbind:function(F,E){return this.each(function(){o.event.remove(this,F,E)})},trigger:function(E,F){return this.each(function(){o.event.trigger(E,F,this)})},triggerHandler:function(E,G){if(this[0]){var F=o.Event(E);F.preventDefault();F.stopPropagation();o.event.trigger(F,G,this[0]);return F.result}},toggle:function(G){var E=arguments,F=1;while(F=0){var E=G.slice(I,G.length);G=G.slice(0,I)}var H="GET";if(J){if(o.isFunction(J)){K=J;J=null}else{if(typeof J==="object"){J=o.param(J);H="POST"}}}var F=this;o.ajax({url:G,type:H,dataType:"html",data:J,complete:function(M,L){if(L=="success"||L=="notmodified"){F.html(E?o("
    ").append(M.responseText.replace(//g,"")).find(E):M.responseText)}if(K){F.each(K,[M.responseText,L,M])}}});return this},serialize:function(){return o.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?o.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password|search/i.test(this.type))}).map(function(E,F){var G=o(this).val();return G==null?null:o.isArray(G)?o.map(G,function(I,H){return{name:F.name,value:I}}):{name:F.name,value:G}}).get()}});o.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(E,F){o.fn[F]=function(G){return this.bind(F,G)}});var r=e();o.extend({get:function(E,G,H,F){if(o.isFunction(G)){H=G;G=null}return o.ajax({type:"GET",url:E,data:G,success:H,dataType:F})},getScript:function(E,F){return o.get(E,null,F,"script")},getJSON:function(E,F,G){return o.get(E,F,G,"json")},post:function(E,G,H,F){if(o.isFunction(G)){H=G;G={}}return o.ajax({type:"POST",url:E,data:G,success:H,dataType:F})},ajaxSetup:function(E){o.extend(o.ajaxSettings,E)},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:function(){return l.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest()},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(M){M=o.extend(true,M,o.extend(true,{},o.ajaxSettings,M));var W,F=/=\?(&|$)/g,R,V,G=M.type.toUpperCase();if(M.data&&M.processData&&typeof M.data!=="string"){M.data=o.param(M.data)}if(M.dataType=="jsonp"){if(G=="GET"){if(!M.url.match(F)){M.url+=(M.url.match(/\?/)?"&":"?")+(M.jsonp||"callback")+"=?"}}else{if(!M.data||!M.data.match(F)){M.data=(M.data?M.data+"&":"")+(M.jsonp||"callback")+"=?"}}M.dataType="json"}if(M.dataType=="json"&&(M.data&&M.data.match(F)||M.url.match(F))){W="jsonp"+r++;if(M.data){M.data=(M.data+"").replace(F,"="+W+"$1")}M.url=M.url.replace(F,"="+W+"$1");M.dataType="script";l[W]=function(X){V=X;I();L();l[W]=g;try{delete l[W]}catch(Y){}if(H){H.removeChild(T)}}}if(M.dataType=="script"&&M.cache==null){M.cache=false}if(M.cache===false&&G=="GET"){var E=e();var U=M.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+E+"$2");M.url=U+((U==M.url)?(M.url.match(/\?/)?"&":"?")+"_="+E:"")}if(M.data&&G=="GET"){M.url+=(M.url.match(/\?/)?"&":"?")+M.data;M.data=null}if(M.global&&!o.active++){o.event.trigger("ajaxStart")}var Q=/^(\w+:)?\/\/([^\/?#]+)/.exec(M.url);if(M.dataType=="script"&&G=="GET"&&Q&&(Q[1]&&Q[1]!=location.protocol||Q[2]!=location.host)){var H=document.getElementsByTagName("head")[0];var T=document.createElement("script");T.src=M.url;if(M.scriptCharset){T.charset=M.scriptCharset}if(!W){var O=false;T.onload=T.onreadystatechange=function(){if(!O&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){O=true;I();L();T.onload=T.onreadystatechange=null;H.removeChild(T)}}}H.appendChild(T);return g}var K=false;var J=M.xhr();if(M.username){J.open(G,M.url,M.async,M.username,M.password)}else{J.open(G,M.url,M.async)}try{if(M.data){J.setRequestHeader("Content-Type",M.contentType)}if(M.ifModified){J.setRequestHeader("If-Modified-Since",o.lastModified[M.url]||"Thu, 01 Jan 1970 00:00:00 GMT")}J.setRequestHeader("X-Requested-With","XMLHttpRequest");J.setRequestHeader("Accept",M.dataType&&M.accepts[M.dataType]?M.accepts[M.dataType]+", */*":M.accepts._default)}catch(S){}if(M.beforeSend&&M.beforeSend(J,M)===false){if(M.global&&!--o.active){o.event.trigger("ajaxStop")}J.abort();return false}if(M.global){o.event.trigger("ajaxSend",[J,M])}var N=function(X){if(J.readyState==0){if(P){clearInterval(P);P=null;if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}}else{if(!K&&J&&(J.readyState==4||X=="timeout")){K=true;if(P){clearInterval(P);P=null}R=X=="timeout"?"timeout":!o.httpSuccess(J)?"error":M.ifModified&&o.httpNotModified(J,M.url)?"notmodified":"success";if(R=="success"){try{V=o.httpData(J,M.dataType,M)}catch(Z){R="parsererror"}}if(R=="success"){var Y;try{Y=J.getResponseHeader("Last-Modified")}catch(Z){}if(M.ifModified&&Y){o.lastModified[M.url]=Y}if(!W){I()}}else{o.handleError(M,J,R)}L();if(X){J.abort()}if(M.async){J=null}}}};if(M.async){var P=setInterval(N,13);if(M.timeout>0){setTimeout(function(){if(J&&!K){N("timeout")}},M.timeout)}}try{J.send(M.data)}catch(S){o.handleError(M,J,null,S)}if(!M.async){N()}function I(){if(M.success){M.success(V,R)}if(M.global){o.event.trigger("ajaxSuccess",[J,M])}}function L(){if(M.complete){M.complete(J,R)}if(M.global){o.event.trigger("ajaxComplete",[J,M])}if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}return J},handleError:function(F,H,E,G){if(F.error){F.error(H,E,G)}if(F.global){o.event.trigger("ajaxError",[H,F,G])}},active:0,httpSuccess:function(F){try{return !F.status&&location.protocol=="file:"||(F.status>=200&&F.status<300)||F.status==304||F.status==1223}catch(E){}return false},httpNotModified:function(G,E){try{var H=G.getResponseHeader("Last-Modified");return G.status==304||H==o.lastModified[E]}catch(F){}return false},httpData:function(J,H,G){var F=J.getResponseHeader("content-type"),E=H=="xml"||!H&&F&&F.indexOf("xml")>=0,I=E?J.responseXML:J.responseText;if(E&&I.documentElement.tagName=="parsererror"){throw"parsererror"}if(G&&G.dataFilter){I=G.dataFilter(I,H)}if(typeof I==="string"){if(H=="script"){o.globalEval(I)}if(H=="json"){I=l["eval"]("("+I+")")}}return I},param:function(E){var G=[];function H(I,J){G[G.length]=encodeURIComponent(I)+"="+encodeURIComponent(J)}if(o.isArray(E)||E.jquery){o.each(E,function(){H(this.name,this.value)})}else{for(var F in E){if(o.isArray(E[F])){o.each(E[F],function(){H(F,this)})}else{H(F,o.isFunction(E[F])?E[F]():E[F])}}}return G.join("&").replace(/%20/g,"+")}});var m={},n,d=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];function t(F,E){var G={};o.each(d.concat.apply([],d.slice(0,E)),function(){G[this]=F});return G}o.fn.extend({show:function(J,L){if(J){return this.animate(t("show",3),J,L)}else{for(var H=0,F=this.length;H").appendTo("body");K=I.css("display");if(K==="none"){K="block"}I.remove();m[G]=K}o.data(this[H],"olddisplay",K)}}for(var H=0,F=this.length;H=0;H--){if(G[H].elem==this){if(E){G[H](true)}G.splice(H,1)}}});if(!E){this.dequeue()}return this}});o.each({slideDown:t("show",1),slideUp:t("hide",1),slideToggle:t("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(E,F){o.fn[E]=function(G,H){return this.animate(F,G,H)}});o.extend({speed:function(G,H,F){var E=typeof G==="object"?G:{complete:F||!F&&H||o.isFunction(G)&&G,duration:G,easing:F&&H||H&&!o.isFunction(H)&&H};E.duration=o.fx.off?0:typeof E.duration==="number"?E.duration:o.fx.speeds[E.duration]||o.fx.speeds._default;E.old=E.complete;E.complete=function(){if(E.queue!==false){o(this).dequeue()}if(o.isFunction(E.old)){E.old.call(this)}};return E},easing:{linear:function(G,H,E,F){return E+F*G},swing:function(G,H,E,F){return((-Math.cos(G*Math.PI)/2)+0.5)*F+E}},timers:[],fx:function(F,E,G){this.options=E;this.elem=F;this.prop=G;if(!E.orig){E.orig={}}}});o.fx.prototype={update:function(){if(this.options.step){this.options.step.call(this.elem,this.now,this)}(o.fx.step[this.prop]||o.fx.step._default)(this);if((this.prop=="height"||this.prop=="width")&&this.elem.style){this.elem.style.display="block"}},cur:function(F){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null)){return this.elem[this.prop]}var E=parseFloat(o.css(this.elem,this.prop,F));return E&&E>-10000?E:parseFloat(o.curCSS(this.elem,this.prop))||0},custom:function(I,H,G){this.startTime=e();this.start=I;this.end=H;this.unit=G||this.unit||"px";this.now=this.start;this.pos=this.state=0;var E=this;function F(J){return E.step(J)}F.elem=this.elem;if(F()&&o.timers.push(F)&&!n){n=setInterval(function(){var K=o.timers;for(var J=0;J=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var E=true;for(var F in this.options.curAnim){if(this.options.curAnim[F]!==true){E=false}}if(E){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(o.css(this.elem,"display")=="none"){this.elem.style.display="block"}}if(this.options.hide){o(this.elem).hide()}if(this.options.hide||this.options.show){for(var I in this.options.curAnim){o.attr(this.elem.style,I,this.options.orig[I])}}this.options.complete.call(this.elem)}return false}else{var J=G-this.startTime;this.state=J/this.options.duration;this.pos=o.easing[this.options.easing||(o.easing.swing?"swing":"linear")](this.state,J,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update()}return true}};o.extend(o.fx,{speeds:{slow:600,fast:200,_default:400},step:{opacity:function(E){o.attr(E.elem.style,"opacity",E.now)},_default:function(E){if(E.elem.style&&E.elem.style[E.prop]!=null){E.elem.style[E.prop]=E.now+E.unit}else{E.elem[E.prop]=E.now}}}});if(document.documentElement.getBoundingClientRect){o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}var G=this[0].getBoundingClientRect(),J=this[0].ownerDocument,F=J.body,E=J.documentElement,L=E.clientTop||F.clientTop||0,K=E.clientLeft||F.clientLeft||0,I=G.top+(self.pageYOffset||o.boxModel&&E.scrollTop||F.scrollTop)-L,H=G.left+(self.pageXOffset||o.boxModel&&E.scrollLeft||F.scrollLeft)-K;return{top:I,left:H}}}else{o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}o.offset.initialized||o.offset.initialize();var J=this[0],G=J.offsetParent,F=J,O=J.ownerDocument,M,H=O.documentElement,K=O.body,L=O.defaultView,E=L.getComputedStyle(J,null),N=J.offsetTop,I=J.offsetLeft;while((J=J.parentNode)&&J!==K&&J!==H){M=L.getComputedStyle(J,null);N-=J.scrollTop,I-=J.scrollLeft;if(J===G){N+=J.offsetTop,I+=J.offsetLeft;if(o.offset.doesNotAddBorder&&!(o.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(J.tagName))){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}F=G,G=J.offsetParent}if(o.offset.subtractsBorderForOverflowNotVisible&&M.overflow!=="visible"){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}E=M}if(E.position==="relative"||E.position==="static"){N+=K.offsetTop,I+=K.offsetLeft}if(E.position==="fixed"){N+=Math.max(H.scrollTop,K.scrollTop),I+=Math.max(H.scrollLeft,K.scrollLeft)}return{top:N,left:I}}}o.offset={initialize:function(){if(this.initialized){return}var L=document.body,F=document.createElement("div"),H,G,N,I,M,E,J=L.style.marginTop,K='
    ';M={position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"};for(E in M){F.style[E]=M[E]}F.innerHTML=K;L.insertBefore(F,L.firstChild);H=F.firstChild,G=H.firstChild,I=H.nextSibling.firstChild.firstChild;this.doesNotAddBorder=(G.offsetTop!==5);this.doesAddBorderForTableAndCells=(I.offsetTop===5);H.style.overflow="hidden",H.style.position="relative";this.subtractsBorderForOverflowNotVisible=(G.offsetTop===-5);L.style.marginTop="1px";this.doesNotIncludeMarginInBodyOffset=(L.offsetTop===0);L.style.marginTop=J;L.removeChild(F);this.initialized=true},bodyOffset:function(E){o.offset.initialized||o.offset.initialize();var G=E.offsetTop,F=E.offsetLeft;if(o.offset.doesNotIncludeMarginInBodyOffset){G+=parseInt(o.curCSS(E,"marginTop",true),10)||0,F+=parseInt(o.curCSS(E,"marginLeft",true),10)||0}return{top:G,left:F}}};o.fn.extend({position:function(){var I=0,H=0,F;if(this[0]){var G=this.offsetParent(),J=this.offset(),E=/^body|html$/i.test(G[0].tagName)?{top:0,left:0}:G.offset();J.top-=j(this,"marginTop");J.left-=j(this,"marginLeft");E.top+=j(G,"borderTopWidth");E.left+=j(G,"borderLeftWidth");F={top:J.top-E.top,left:J.left-E.left}}return F},offsetParent:function(){var E=this[0].offsetParent||document.body;while(E&&(!/^body|html$/i.test(E.tagName)&&o.css(E,"position")=="static")){E=E.offsetParent}return o(E)}});o.each(["Left","Top"],function(F,E){var G="scroll"+E;o.fn[G]=function(H){if(!this[0]){return null}return H!==g?this.each(function(){this==l||this==document?l.scrollTo(!F?H:o(l).scrollLeft(),F?H:o(l).scrollTop()):this[G]=H}):this[0]==l||this[0]==document?self[F?"pageYOffset":"pageXOffset"]||o.boxModel&&document.documentElement[G]||document.body[G]:this[0][G]}});o.each(["Height","Width"],function(I,G){var E=I?"Left":"Top",H=I?"Right":"Bottom",F=G.toLowerCase();o.fn["inner"+G]=function(){return this[0]?o.css(this[0],F,false,"padding"):null};o.fn["outer"+G]=function(K){return this[0]?o.css(this[0],F,false,K?"margin":"border"):null};var J=G.toLowerCase();o.fn[J]=function(K){return this[0]==l?document.compatMode=="CSS1Compat"&&document.documentElement["client"+G]||document.body["client"+G]:this[0]==document?Math.max(document.documentElement["client"+G],document.body["scroll"+G],document.documentElement["scroll"+G],document.body["offset"+G],document.documentElement["offset"+G]):K===g?(this.length?o.css(this[0],J):null):this.css(J,typeof K==="string"?K:K+"px")}})})(); \ No newline at end of file diff --git a/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/shtml/resources/js/main.js b/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/shtml/resources/js/main.js new file mode 100755 index 00000000..3a2b8aee --- /dev/null +++ b/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/shtml/resources/js/main.js @@ -0,0 +1,34 @@ +function toggleSource( id ) +{ + var elem + var link + + if( document.getElementById ) + { + elem = document.getElementById( id ) + link = document.getElementById( "l_" + id ) + } + else if ( document.all ) + { + elem = eval( "document.all." + id ) + link = eval( "document.all.l_" + id ) + } + else + return false; + + if( elem.style.display == "block" ) + { + elem.style.display = "none" + link.innerHTML = "show" + } + else + { + elem.style.display = "block" + link.innerHTML = "hide" + } +} + +function openCode( url ) +{ + window.open( url, "SOURCE_CODE", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=480,width=750" ).focus(); +} \ No newline at end of file diff --git a/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/shtml/resources/js/searchdoc.js b/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/shtml/resources/js/searchdoc.js new file mode 100755 index 00000000..06b278ec --- /dev/null +++ b/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/shtml/resources/js/searchdoc.js @@ -0,0 +1,628 @@ +Searchdoc = {}; + +// navigation.js ------------------------------------------ + +Searchdoc.Navigation = new function() { + this.initNavigation = function() { + var _this = this; + + $(document).keydown(function(e) { + _this.onkeydown(e); + }).keyup(function(e) { + _this.onkeyup(e); + }); + + this.navigationActive = true; + } + + this.setNavigationActive = function(state) { + this.navigationActive = state; + this.clearMoveTimeout(); + } + + + this.onkeyup = function(e) { + if (!this.navigationActive) return; + switch(e.keyCode) { + case 37: //Event.KEY_LEFT: + case 38: //Event.KEY_UP: + case 39: //Event.KEY_RIGHT: + case 40: //Event.KEY_DOWN: + case 73: // i - qwerty + case 74: // j + case 75: // k + case 76: // l + case 67: // c - dvorak + case 72: // h + case 84: // t + case 78: // n + this.clearMoveTimeout(); + break; + } + } + + this.onkeydown = function(e) { + if (!this.navigationActive) return; + switch(e.keyCode) { + case 37: //Event.KEY_LEFT: + case 74: // j (qwerty) + case 72: // h (dvorak) + if (this.moveLeft()) e.preventDefault(); + break; + case 38: //Event.KEY_UP: + case 73: // i (qwerty) + case 67: // c (dvorak) + if (e.keyCode == 38 || e.ctrlKey) { + if (this.moveUp()) e.preventDefault(); + this.startMoveTimeout(false); + } + break; + case 39: //Event.KEY_RIGHT: + case 76: // l (qwerty) + case 78: // n (dvorak) + if (this.moveRight()) e.preventDefault(); + break; + case 40: //Event.KEY_DOWN: + case 75: // k (qwerty) + case 84: // t (dvorak) + if (e.keyCode == 40 || e.ctrlKey) { + if (this.moveDown()) e.preventDefault(); + this.startMoveTimeout(true); + } + break; + case 9: //Event.KEY_TAB: + case 13: //Event.KEY_RETURN: + if (this.$current) this.select(this.$current); + break; + } + if (e.ctrlKey && e.shiftKey) this.select(this.$current); + } + + this.clearMoveTimeout = function() { + clearTimeout(this.moveTimeout); + this.moveTimeout = null; + } + + this.startMoveTimeout = function(isDown) { + if (!$.browser.mozilla && !$.browser.opera) return; + if (this.moveTimeout) this.clearMoveTimeout(); + var _this = this; + + var go = function() { + if (!_this.moveTimeout) return; + _this[isDown ? 'moveDown' : 'moveUp'](); + _this.moveTimout = setTimeout(go, 100); + } + this.moveTimeout = setTimeout(go, 200); + } + + this.moveRight = function() { + } + + this.moveLeft = function() { + } + + this.move = function(isDown) { + } + + this.moveUp = function() { + return this.move(false); + } + + this.moveDown = function() { + return this.move(true); + } +} + + +// scrollIntoView.js -------------------------------------- + +function scrollIntoView(element, view) { + var offset, viewHeight, viewScroll, height; + offset = element.offsetTop; + height = element.offsetHeight; + viewHeight = view.offsetHeight; + viewScroll = view.scrollTop; + if (offset - viewScroll + height > viewHeight) { + view.scrollTop = offset - viewHeight + height; + } + if (offset < viewScroll) { + view.scrollTop = offset; + } +} + + +// searcher.js -------------------------------------------- + +Searchdoc.Searcher = function(data) { + this.data = data; + this.handlers = []; +} + +Searchdoc.Searcher.prototype = new function() { + var CHUNK_SIZE = 1000, // search is performed in chunks of 1000 for non-bloking user input + MAX_RESULTS = 100, // do not try to find more than 100 results + huid = 1, suid = 1, + runs = 0; + + + this.find = function(query) { + var queries = splitQuery(query), + regexps = buildRegexps(queries), + highlighters = buildHilighters(queries), + state = { from: 0, pass: 0, limit: MAX_RESULTS, n: suid++}, + _this = this; + this.currentSuid = state.n; + + if (!query) return; + + var run = function() { + // stop current search thread if new search started + if (state.n != _this.currentSuid) return; + + var results = performSearch(_this.data, regexps, queries, highlighters, state), + hasMore = (state.limit > 0 && state.pass < 3); + + triggerResults.call(_this, results, !hasMore); + if (hasMore) { + setTimeout(run, 2); + } + runs++; + }; + runs = 0; + + // start search thread + run(); + } + + /* ----- Events ------ */ + this.ready = function(fn) { + fn.huid = huid; + this.handlers.push(fn); + } + + /* ----- Utilities ------ */ + function splitQuery(query) { + return jQuery.grep(query.split(/(\s+|\(\)?)/), function(string) { return string.match(/\S/) }); + } + + function buildRegexps(queries) { + return jQuery.map(queries, function(query) { return new RegExp(query.replace(/(.)/g, '([$1])([^$1]*?)'), 'i') }); + } + + function buildHilighters(queries) { + return jQuery.map(queries, function(query) { + return jQuery.map( query.split(''), function(l, i){ return '\u0001$' + (i*2+1) + '\u0002$' + (i*2+2) } ).join('') + }); + } + + // function longMatchRegexp(index, longIndex, regexps) { + // for (var i = regexps.length - 1; i >= 0; i--){ + // if (!index.match(regexps[i]) && !longIndex.match(regexps[i])) return false; + // }; + // return true; + // } + + + /* ----- Mathchers ------ */ + function matchPass1(index, longIndex, queries, regexps) { + if (index.indexOf(queries[0]) != 0) return false; + for (var i=1, l = regexps.length; i < l; i++) { + if (!index.match(regexps[i]) && !longIndex.match(regexps[i])) return false; + }; + return true; + } + + function matchPass2(index, longIndex, queries, regexps) { + if (index.indexOf(queries[0]) == -1) return false; + for (var i=1, l = regexps.length; i < l; i++) { + if (!index.match(regexps[i]) && !longIndex.match(regexps[i])) return false; + }; + return true; + } + + function matchPassRegexp(index, longIndex, queries, regexps) { + if (!index.match(regexps[0])) return false; + for (var i=1, l = regexps.length; i < l; i++) { + if (!index.match(regexps[i]) && !longIndex.match(regexps[i])) return false; + }; + return true; + } + + + /* ----- Highlighters ------ */ + function highlightRegexp(info, queries, regexps, highlighters) { + var result = createResult(info); + for (var i=0, l = regexps.length; i < l; i++) { + result.title = result.title.replace(regexps[i], highlighters[i]); + if (i > 0) + result.namespace = result.namespace.replace(regexps[i], highlighters[i]); + }; + return result; + } + + function hltSubstring(string, pos, length) { + return string.substring(0, pos) + '\u0001' + string.substring(pos, pos + length) + '\u0002' + string.substring(pos + length); + } + + function highlightQuery(info, queries, regexps, highlighters) { + var result = createResult(info), pos = 0, lcTitle = result.title.toLowerCase(); + pos = lcTitle.indexOf(queries[0]); + if (pos != -1) { + result.title = hltSubstring(result.title, pos, queries[0].length); + } + for (var i=1, l = regexps.length; i < l; i++) { + result.title = result.title.replace(regexps[i], highlighters[i]); + result.namespace = result.namespace.replace(regexps[i], highlighters[i]); + }; + return result; + } + + function createResult(info) { + var result = {}; + result.title = info[0]; + result.namespace = info[1]; + result.path = info[2]; + result.params = info[3]; + result.snippet = info[4]; + result.badge = info[6]; + return result; + } + + /* ----- Searching ------ */ + function performSearch(data, regexps, queries, highlighters, state) { + var searchIndex = data.searchIndex, // search by title first and then by source + longSearchIndex = data.longSearchIndex, + info = data.info, + result = [], + i = state.from, + l = searchIndex.length, + togo = CHUNK_SIZE, + matchFunc, hltFunc; + + while (state.pass < 3 && state.limit > 0 && togo > 0) { + if (state.pass == 0) { + matchFunc = matchPass1; + hltFunc = highlightQuery; + } else if (state.pass == 1) { + matchFunc = matchPass2; + hltFunc = highlightQuery; + } else if (state.pass == 2) { + matchFunc = matchPassRegexp; + hltFunc = highlightRegexp; + } + + for (; togo > 0 && i < l && state.limit > 0; i++, togo--) { + if (info[i].n == state.n) continue; + if (matchFunc(searchIndex[i], longSearchIndex[i], queries, regexps)) { + info[i].n = state.n; + result.push(hltFunc(info[i], queries, regexps, highlighters)); + state.limit--; + } + }; + if (searchIndex.length <= i) { + state.pass++; + i = state.from = 0; + } else { + state.from = i; + } + } + return result; + } + + function triggerResults(results, isLast) { + jQuery.each(this.handlers, function(i, fn) { fn.call(this, results, isLast) }) + } +} + + + + +// panel.js ----------------------------------------------- + +Searchdoc.Panel = function(element, data, tree, frame) { + this.$element = $(element); + this.$input = $('input', element).eq(0); + this.$result = $('.result ul', element).eq(0); + this.frame = frame; + this.$current = null; + this.$view = this.$result.parent(); + this.data = data; + this.searcher = new Searchdoc.Searcher(data.index); + this.tree = new Searchdoc.Tree($('.tree', element), tree, this); + this.init(); +} + +Searchdoc.Panel.prototype = $.extend({}, Searchdoc.Navigation, new function() { + var suid = 1; + + this.init = function() { + var _this = this; + var observer = function() { + _this.search(_this.$input[0].value); + }; + this.$input.keyup(observer); + this.$input.click(observer); // mac's clear field + + this.searcher.ready(function(results, isLast) { + _this.addResults(results, isLast); + }) + + this.$result.click(function(e) { + _this.$current.removeClass('current'); + _this.$current = $(e.target).closest('li').addClass('current'); + _this.select(); + _this.$input.focus(); + }); + + this.initNavigation(); + this.setNavigationActive(false); + } + + this.search = function(value, selectFirstMatch) { + value = jQuery.trim(value).toLowerCase(); + this.selectFirstMatch = selectFirstMatch; + if (value) { + this.$element.removeClass('panel_tree').addClass('panel_results'); + this.tree.setNavigationActive(false); + this.setNavigationActive(true); + } else { + this.$element.addClass('panel_tree').removeClass('panel_results'); + this.tree.setNavigationActive(true); + this.setNavigationActive(false); + } + if (value != this.lastQuery) { + this.lastQuery = value; + this.firstRun = true; + this.searcher.find(value); + } + } + + this.addResults = function(results, isLast) { + var target = this.$result.get(0); + if (this.firstRun && (results.length > 0 || isLast)) { + this.$current = null; + this.$result.empty(); + } + for (var i=0, l = results.length; i < l; i++) { + target.appendChild(renderItem.call(this, results[i])); + }; + if (this.firstRun && results.length > 0) { + this.firstRun = false; + this.$current = $(target.firstChild); + this.$current.addClass('current'); + if (this.selectFirstMatch) this.select(); + scrollIntoView(this.$current[0], this.$view[0]) + } + if (jQuery.browser.msie) this.$element[0].className += ''; + } + + this.open = function(src) { + this.frame.location.href = '../' + src; + if (this.frame.highlight) this.frame.highlight(src); + } + + this.select = function() { + this.open(this.$current.data('path')); + } + + this.move = function(isDown) { + if (!this.$current) return; + var $next = this.$current[isDown ? 'next' : 'prev'](); + if ($next.length) { + this.$current.removeClass('current'); + $next.addClass('current'); + scrollIntoView($next[0], this.$view[0]); + this.$current = $next; + } + return true; + } + + function renderItem(result) { + var li = document.createElement('li'), + html = '', badge = result.badge; + html += '

    ' + hlt(result.title); + if (result.params) html += '' + result.params + ''; + html += '

    '; + html += '

    '; + if (typeof badge != 'undefined') { + html += '' + escapeHTML(this.data.badges[badge] || 'unknown') + ''; + } + html += hlt(result.namespace) + '

    '; + if (result.snippet) html += '

    ' + escapeHTML(result.snippet) + '

    '; + li.innerHTML = html; + jQuery.data(li, 'path', result.path); + return li; + } + + function hlt(html) { + return escapeHTML(html).replace(/\u0001/g, '').replace(/\u0002/g, '') + } + + function escapeHTML(html) { + return html.replace(/[&<>]/g, function(c) { + return '&#' + c.charCodeAt(0) + ';'; + }); + } + +}); + +// tree.js ------------------------------------------------ + +Searchdoc.Tree = function(element, tree, panel) { + this.$element = $(element); + this.$list = $('ul', element); + this.tree = tree; + this.panel = panel; + this.init(); +} + +Searchdoc.Tree.prototype = $.extend({}, Searchdoc.Navigation, new function() { + this.init = function() { + var stopper = document.createElement('li'); + stopper.className = 'stopper'; + this.$list[0].appendChild(stopper); + for (var i=0, l = this.tree.length; i < l; i++) { + buildAndAppendItem.call(this, this.tree[i], 0, stopper); + }; + var _this = this; + this.$list.click(function(e) { + var $target = $(e.target), + $li = $target.closest('li'); + if ($target.hasClass('icon')) { + _this.toggle($li); + } else { + _this.select($li); + } + }) + + this.initNavigation(); + if (jQuery.browser.msie) document.body.className += ''; + } + + this.select = function($li) { + this.highlight($li); + var path = $li[0].searchdoc_tree_data.path; + if (path) this.panel.open(path); + } + + this.highlight = function($li) { + if (this.$current) this.$current.removeClass('current'); + this.$current = $li.addClass('current'); + } + + this.toggle = function($li) { + var closed = !$li.hasClass('closed'), + children = $li[0].searchdoc_tree_data.children; + $li.toggleClass('closed'); + for (var i=0, l = children.length; i < l; i++) { + toggleVis.call(this, $(children[i].li), !closed); + }; + } + + this.moveRight = function() { + if (!this.$current) { + this.highlight(this.$list.find('li:first')); + return; + } + if (this.$current.hasClass('closed')) { + this.toggle(this.$current); + } + } + + this.moveLeft = function() { + if (!this.$current) { + this.highlight(this.$list.find('li:first')); + return; + } + if (!this.$current.hasClass('closed')) { + this.toggle(this.$current); + } else { + var level = this.$current[0].searchdoc_tree_data.level; + if (level == 0) return; + var $next = this.$current.prevAll('li.level_' + (level - 1) + ':visible:first'); + this.$current.removeClass('current'); + $next.addClass('current'); + scrollIntoView($next[0], this.$element[0]); + this.$current = $next; + } + } + + this.move = function(isDown) { + if (!this.$current) { + this.highlight(this.$list.find('li:first')); + return true; + } + var next = this.$current[0]; + if (isDown) { + do { + next = next.nextSibling; + if (next && next.style && next.style.display != 'none') break; + } while(next); + } else { + do { + next = next.previousSibling; + if (next && next.style && next.style.display != 'none') break; + } while(next); + } + if (next && next.className.indexOf('stopper') == -1) { + this.$current.removeClass('current'); + $(next).addClass('current'); + scrollIntoView(next, this.$element[0]); + this.$current = $(next); + } + return true; + } + + function toggleVis($li, show) { + var closed = $li.hasClass('closed'), + children = $li[0].searchdoc_tree_data.children; + $li.css('display', show ? '' : 'none') + if (!show && this.$current && $li[0] == this.$current[0]) { + this.$current.removeClass('current'); + this.$current = null; + } + for (var i=0, l = children.length; i < l; i++) { + toggleVis.call(this, $(children[i].li), show && !closed); + }; + } + + function buildAndAppendItem(item, level, before) { + var li = renderItem(item, level), + list = this.$list[0]; + item.li = li; + list.insertBefore(li, before); + for (var i=0, l = item[3].length; i < l; i++) { + buildAndAppendItem.call(this, item[3][i], level + 1, before); + }; + return li; + } + + function renderItem(item, level) { + var li = document.createElement('li'), + cnt = document.createElement('div'), + h1 = document.createElement('h1'), + p = document.createElement('p'), + icon, i; + + li.appendChild(cnt); + li.style.paddingLeft = getOffset(level); + cnt.className = 'content'; + if (!item[1]) li.className = 'empty '; + cnt.appendChild(h1); + // cnt.appendChild(p); + h1.appendChild(document.createTextNode(item[0])); + // p.appendChild(document.createTextNode(item[4])); + if (item[2]) { + i = document.createElement('i'); + i.appendChild(document.createTextNode(item[2])); + h1.appendChild(i); + } + if (item[3].length > 0) { + icon = document.createElement('div'); + icon.className = 'icon'; + cnt.appendChild(icon); + } + + // user direct assignement instead of $() + // it's 8x faster + // $(li).data('path', item[1]) + // .data('children', item[3]) + // .data('level', level) + // .css('display', level == 0 ? '' : 'none') + // .addClass('level_' + level) + // .addClass('closed'); + li.searchdoc_tree_data = { + path: item[1], + children: item[3], + level: level + } + li.style.display = level == 0 ? '' : 'none'; + li.className += 'level_' + level + ' closed'; + return li; + } + + function getOffset(level) { + return 5 + 18*level + 'px'; + } +}); diff --git a/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/shtml/resources/panel/index.html b/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/shtml/resources/panel/index.html new file mode 100755 index 00000000..683c6269 --- /dev/null +++ b/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/generator/template/shtml/resources/panel/index.html @@ -0,0 +1,71 @@ + + + + + + layout + + + + + + + + + +
    +
    +
    + + + +
    + +
    +
    +
    +
      +
    +
    +
    +
      +
    +
    +
    + + diff --git a/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/github.rb b/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/github.rb new file mode 100755 index 00000000..e275a31d --- /dev/null +++ b/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/github.rb @@ -0,0 +1,64 @@ +module SDoc::GitHub + def github_url(path) + unless @github_url_cache.has_key? path + @github_url_cache[path] = false + file = RDoc::TopLevel.find_file_named(path) + if file + base_url = repository_url(path) + if base_url + sha1 = commit_sha1(path) + if sha1 + relative_url = path_relative_to_repository(path) + @github_url_cache[path] = "#{base_url}#{sha1}#{relative_url}" + end + end + end + end + @github_url_cache[path] + end + + protected + + def commit_sha1(path) + name = File.basename(path) + s = in_dir(File.join(basedir, File.dirname(path))) do + `git log -1 --pretty=format:"commit %H" #{name}` + end + m = s.match(/commit\s+(\S+)/) + m ? m[1] : false + end + + def repository_url(path) + s = in_dir(File.join(basedir, File.dirname(path))) do + `git config --get remote.origin.url` + end + m = s.match(%r{github.com[/:](.*)\.git$}) + m ? "http://github.com/#{m[1]}/blob/" : false + end + + def path_relative_to_repository(path) + absolute_path = File.join(basedir, path) + root = path_to_git_dir(File.dirname(absolute_path)) + absolute_path[root.size..absolute_path.size] + end + + def path_to_git_dir(path) + while !path.empty? && path != '.' + if (File.exists? File.join(path, '.git')) + return path + end + path = File.dirname(path) + end + '' + end + + def in_dir(dir) + pwd = Dir.pwd + Dir.chdir dir + return yield + rescue Exception => e + return '' + ensure + Dir.chdir pwd + end +end diff --git a/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/helpers.rb b/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/helpers.rb new file mode 100755 index 00000000..c7ee5ce1 --- /dev/null +++ b/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/helpers.rb @@ -0,0 +1,26 @@ +module SDoc::Helpers + def each_letter_group(methods, &block) + group = {:name => '', :methods => []} + methods.sort{ |a, b| a.name <=> b.name }.each do |method| + gname = group_name method.name + if gname != group[:name] + yield group unless group[:methods].size == 0 + group = { + :name => gname, + :methods => [] + } + end + group[:methods].push(method) + end + yield group unless group[:methods].size == 0 + end + +protected + def group_name name + if match = name.match(/^([a-z])/i) + match[1].upcase + else + '#' + end + end +end \ No newline at end of file diff --git a/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/merge.rb b/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/merge.rb new file mode 100755 index 00000000..10445ddb --- /dev/null +++ b/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/merge.rb @@ -0,0 +1,217 @@ +require 'optparse' +require 'pathname' +require 'fileutils' +require 'json' + +require 'sdoc/templatable' + +class SDoc::Merge + include SDoc::Templatable + + FLAG_FILE = "created.rid" + + def initialize() + @names = [] + @urls = [] + @op_dir = 'doc' + @title = '' + @directories = [] + template_dir = RDoc::Generator::SHtml.template_dir('merge') + @template_dir = Pathname.new File.expand_path(template_dir) + end + + def merge(options) + parse_options options + + @outputdir = Pathname.new( @op_dir ) + + check_directories + setup_output_dir + setup_names + copy_files + copy_docs if @urls.empty? + merge_search_index + merge_tree + generate_index_file + end + + def parse_options(options) + opts = OptionParser.new do |opt| + opt.banner = "Usage: sdoc-merge [options] directories" + + opt.on("-n", "--names [NAMES]", "Names of merged repositories. Comma separated") do |v| + @names = v.split(',').map{|name| name.strip } + end + + opt.on("-o", "--op [DIRECTORY]", "Set the output directory") do |v| + @op_dir = v + end + + opt.on("-t", "--title [TITLE]", "Set the title of merged file") do |v| + @title = v + end + + opt.on("-u", "--urls [URLS]", "Paths to merged docs. If you \n" + + "set this files and classes won't be actualy copied to merged build") do |v| + @urls = v.split(' ').map{|name| name.strip } + end + end + opts.parse! options + @directories = options.dup + end + + def merge_tree + tree = [] + @directories.each_with_index do |dir, i| + name = @names[i] + url = @urls.empty? ? name : @urls[i] + filename = File.join dir, RDoc::Generator::SHtml::TREE_FILE + data = open(filename).read.sub(/var tree =\s*/, '') + subtree = JSON.parse data, :max_nesting => 35 + item = [ + name, + url + '/' + extract_index_path(dir), + '', + append_path(subtree, url) + ] + tree << item + end + + dst = File.join @op_dir, RDoc::Generator::SHtml::TREE_FILE + FileUtils.mkdir_p File.dirname(dst) + File.open(dst, "w", 0644) do |f| + f.write('var tree = '); f.write(tree.to_json) + end + end + + def append_path subtree, path + subtree.map do |item| + item[1] = path + '/' + item[1] unless item[1].empty? + item[3] = append_path item[3], path + item + end + end + + def merge_search_index + items = [] + @indexes = {} + @directories.each_with_index do |dir, i| + name = @names[i] + url = @urls.empty? ? name : @urls[i] + filename = File.join dir, RDoc::Generator::SHtml::SEARCH_INDEX_FILE + data = open(filename).read.sub(/var search_data =\s*/, '') + subindex = JSON.parse data, :max_nesting => 35 + @indexes[name] = subindex + + searchIndex = subindex["index"]["searchIndex"] + longSearchIndex = subindex["index"]["longSearchIndex"] + subindex["index"]["info"].each_with_index do |info, j| + info[2] = url + '/' + info[2] + info[6] = i + items << { + :info => info, + :searchIndex => searchIndex[j], + :longSearchIndex => name + ' ' + longSearchIndex[j] + } + end + end + items.sort! do |a, b| + # type (class/method/file) or name or doc part or namespace + [a[:info][5], a[:info][0], a[:info][6], a[:info][1]] <=> [b[:info][5], b[:info][0], b[:info][6], b[:info][1]] + end + + index = { + :searchIndex => items.map{|item| item[:searchIndex]}, + :longSearchIndex => items.map{|item| item[:longSearchIndex]}, + :info => items.map{|item| item[:info]} + } + search_data = { + :index => index, + :badges => @names + } + + dst = File.join @op_dir, RDoc::Generator::SHtml::SEARCH_INDEX_FILE + FileUtils.mkdir_p File.dirname(dst) + File.open(dst, "w", 0644) do |f| + f.write('var search_data = '); f.write(search_data.to_json) + end + end + + def extract_index_path dir + filename = File.join dir, 'index.html' + content = File.open(filename) { |f| f.read } + match = content.match(/ 0 + @directories.each do |dir| + name = File.basename dir + name = File.basename File.dirname(dir) if name == 'doc' + @names << name + end + end + end + + def copy_docs + @directories.each_with_index do |dir, i| + name = @names[i] + index_dir = File.dirname(RDoc::Generator::SHtml::TREE_FILE) + FileUtils.mkdir_p(File.join(@op_dir, name)) + + Dir.new(dir).each do |item| + if File.directory?(File.join(dir, item)) && item != '.' && item != '..' && item != index_dir + FileUtils.cp_r File.join(dir, item), File.join(@op_dir, name, item), :preserve => true + end + end + end + end + + def copy_files + dir = @directories.first + Dir.new(dir).each do |item| + if item != '.' && item != '..' && item != RDoc::Generator::SHtml::FILE_DIR && item != RDoc::Generator::SHtml::CLASS_DIR + FileUtils.cp_r File.join(dir, item), @op_dir, :preserve => true + end + end + end + + def setup_output_dir + if File.exists? @op_dir + error "#{@op_dir} allready exists" + end + FileUtils.mkdir_p @op_dir + end + + def check_directories + @directories.each do |dir| + unless File.exists?(File.join(dir, FLAG_FILE)) && + File.exists?(File.join(dir, RDoc::Generator::SHtml::TREE_FILE)) && + File.exists?(File.join(dir, RDoc::Generator::SHtml::SEARCH_INDEX_FILE)) + error "#{dir} does not seem to be an sdoc directory" + end + end + end + + ## + # Report an error message and exit + + def error(msg) + raise RDoc::Error, msg + end + +end \ No newline at end of file diff --git a/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/templatable.rb b/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/templatable.rb new file mode 100755 index 00000000..412e0da8 --- /dev/null +++ b/vendor/gems/gems/sdoc-0.2.14.1/lib/sdoc/templatable.rb @@ -0,0 +1,58 @@ +require "sdoc" + +module SDoc::Templatable + ### Load and render the erb template in the given +templatefile+ within the + ### specified +context+ (a Binding object) and return output + ### Both +templatefile+ and +outfile+ should be Pathname-like objects. + def eval_template(templatefile, context) + template_src = templatefile.read + template = ERB.new( template_src, nil, '<>' ) + template.filename = templatefile.to_s + + begin + template.result( context ) + rescue NoMethodError => err + raise RDoc::Error, "Error while evaluating %s: %s (at %p)" % [ + templatefile.to_s, + err.message, + eval( "_erbout[-50,50]", context ) + ], err.backtrace + end + end + + ### Load and render the erb template with the given +template_name+ within + ### current context. Adds all +local_assigns+ to context + def include_template(template_name, local_assigns = {}) + source = local_assigns.keys.map { |key| "#{key} = local_assigns[:#{key}];" }.join + eval("#{source};templatefile = @template_dir + template_name;eval_template(templatefile, binding)") + end + + ### Load and render the erb template in the given +templatefile+ within the + ### specified +context+ (a Binding object) and write it out to +outfile+. + ### Both +templatefile+ and +outfile+ should be Pathname-like objects. + def render_template( templatefile, context, outfile ) + output = eval_template(templatefile, context) + + # TODO delete this dirty hack when documentation for example for GeneratorMethods will not be cutted off by + + + + +
    + + +
    +

    BACKTRACE

    +

    (expand)

    + +
    + +
      + + <% id = 1 %> + <% frames.each do |frame| %> + <% if frame.context_line && frame.context_line != "#" %> + +
    • + <%=h frame.filename %> in + <%=h frame.function %> +
    • + +
    • + <% if frame.pre_context %> +
        + <% frame.pre_context.each do |line| %> +
      1. <%=h line %>
      2. + <% end %> +
      + <% end %> + +
        +
      1. <%= + h frame.context_line %>
      2. +
      + + <% if frame.post_context %> +
        + <% frame.post_context.each do |line| %> +
      1. <%=h line %>
      2. + <% end %> +
      + <% end %> +
      +
    • + + <% end %> + + <% id += 1 %> + <% end %> + +
    +
    + +
    +

    GET

    + <% unless req.GET.empty? %> + + + + + + <% req.GET.sort_by { |k, v| k.to_s }.each { |key, val| %> + + + + + <% } %> +
    VariableValue
    <%=h key %>
    <%=h val.inspect %>
    + <% else %> +

    No GET data.

    + <% end %> +
    +
    + +
    +

    POST

    + <% unless req.POST.empty? %> + + + + + + <% req.POST.sort_by { |k, v| k.to_s }.each { |key, val| %> + + + + + <% } %> +
    VariableValue
    <%=h key %>
    <%=h val.inspect %>
    + <% else %> +

    No POST data.

    + <% end %> +
    +
    + +
    + + <% unless req.cookies.empty? %> + + + + + + <% req.cookies.each { |key, val| %> + + + + + <% } %> +
    VariableValue
    <%=h key %>
    <%=h val.inspect %>
    + <% else %> +

    No cookie data.

    + <% end %> +
    +
    + +
    +

    Rack ENV

    + + + + + + <% env.sort_by { |k, v| k.to_s }.each { |key, val| %> + + + + + <% } %> +
    VariableValue
    <%=h key %>
    <%=h val %>
    +
    +
    + +

    You're seeing this error because you use you have +enabled the show_exceptions option.

    +
    + + +HTML + end +end diff --git a/vendor/gems/gems/sinatra-0.9.4/lib/sinatra/test.rb b/vendor/gems/gems/sinatra-0.9.4/lib/sinatra/test.rb new file mode 100755 index 00000000..6954eb59 --- /dev/null +++ b/vendor/gems/gems/sinatra-0.9.4/lib/sinatra/test.rb @@ -0,0 +1,128 @@ +require 'sinatra/base' + +warn 'Sinatra::Test is deprecated; use Rack::Test instead.' + +module Sinatra + module Test + include Rack::Utils + + def self.included(base) + Sinatra::Default.set(:environment, :test) + end + + attr_reader :app, :request, :response + + def self.deprecate(framework) + warn <<-EOF +Warning: support for the #{framework} testing framework is deprecated and +will be dropped in Sinatra 1.0. See +for more information. + EOF + end + + def make_request(verb, path, body=nil, options={}) + @app = Sinatra::Application if @app.nil? && defined?(Sinatra::Application) + fail "@app not set - cannot make request" if @app.nil? + + @request = Rack::MockRequest.new(@app) + options = { :lint => true }.merge(options || {}) + + case + when body.respond_to?(:to_hash) + options.merge! body.delete(:env) if body.key?(:env) + options[:input] = param_string(body) + when body.respond_to?(:to_str) + options[:input] = body + when body.nil? + options[:input] = '' + else + raise ArgumentError, "body must be a Hash, String, or nil" + end + + yield @request if block_given? + @response = @request.request(verb, path, rack_options(options)) + end + + def get(path, *args, &b) ; make_request('GET', path, *args, &b) ; end + def head(path, *args, &b) ; make_request('HEAD', path, *args, &b) ; end + def post(path, *args, &b) ; make_request('POST', path, *args, &b) ; end + def put(path, *args, &b) ; make_request('PUT', path, *args, &b) ; end + def delete(path, *args, &b) ; make_request('DELETE', path, *args, &b) ; end + + def follow! + make_request 'GET', @response.location + end + + def body ; @response.body ; end + def status ; @response.status ; end + + # Delegate other missing methods to @response. + def method_missing(name, *args, &block) + if @response && @response.respond_to?(name) + @response.send(name, *args, &block) + else + super + end + end + + # Also check @response since we delegate there. + def respond_to?(symbol, include_private=false) + super || (@response && @response.respond_to?(symbol, include_private)) + end + + private + + RACK_OPTIONS = { + :accept => 'HTTP_ACCEPT', + :agent => 'HTTP_USER_AGENT', + :host => 'HTTP_HOST', + :session => 'rack.session', + :cookies => 'HTTP_COOKIE', + :content_type => 'CONTENT_TYPE' + } + + def rack_options(opts) + opts.merge(:lint => true).inject({}) do |hash,(key,val)| + key = RACK_OPTIONS[key] || key + hash[key] = val + hash + end + end + + def param_string(value, prefix = nil) + case value + when Array + value.map { |v| + param_string(v, "#{prefix}[]") + } * "&" + when Hash + value.map { |k, v| + param_string(v, prefix ? "#{prefix}[#{escape(k)}]" : escape(k)) + } * "&" + else + "#{prefix}=#{escape(value)}" + end + end + + if defined? Sinatra::Compat + # Deprecated. Use: "get" instead of "get_it". + %w(get head post put delete).each do |verb| + eval <<-RUBY, binding, __FILE__, __LINE__ + def #{verb}_it(*args, &block) + sinatra_warn "The #{verb}_it method is deprecated; use #{verb} instead." + make_request('#{verb.upcase}', *args, &block) + end + RUBY + end + end + end + + class TestHarness + include Test + + def initialize(app=nil) + @app = app || Sinatra::Application + @app.set(:environment, :test) + end + end +end diff --git a/vendor/gems/gems/sinatra-0.9.4/lib/sinatra/test/bacon.rb b/vendor/gems/gems/sinatra-0.9.4/lib/sinatra/test/bacon.rb new file mode 100755 index 00000000..66c0b135 --- /dev/null +++ b/vendor/gems/gems/sinatra-0.9.4/lib/sinatra/test/bacon.rb @@ -0,0 +1,19 @@ +require 'bacon' +require 'sinatra/test' + +Sinatra::Test.deprecate('Bacon') + +Sinatra::Default.set( + :environment => :test, + :run => false, + :raise_errors => true, + :logging => false +) + +module Sinatra::Test + def should + @response.should + end +end + +Bacon::Context.send(:include, Sinatra::Test) diff --git a/vendor/gems/gems/sinatra-0.9.4/lib/sinatra/test/rspec.rb b/vendor/gems/gems/sinatra-0.9.4/lib/sinatra/test/rspec.rb new file mode 100755 index 00000000..971b96f6 --- /dev/null +++ b/vendor/gems/gems/sinatra-0.9.4/lib/sinatra/test/rspec.rb @@ -0,0 +1,13 @@ +require 'sinatra/test' +require 'sinatra/test/unit' +require 'spec' +require 'spec/interop/test' + +Sinatra::Test.deprecate('RSpec') + +Sinatra::Default.set( + :environment => :test, + :run => false, + :raise_errors => true, + :logging => false +) diff --git a/vendor/gems/gems/sinatra-0.9.4/lib/sinatra/test/spec.rb b/vendor/gems/gems/sinatra-0.9.4/lib/sinatra/test/spec.rb new file mode 100755 index 00000000..daffe32c --- /dev/null +++ b/vendor/gems/gems/sinatra-0.9.4/lib/sinatra/test/spec.rb @@ -0,0 +1,11 @@ +require 'test/spec' +require 'sinatra/test' +require 'sinatra/test/unit' + +Sinatra::Test.deprecate('test/spec') + +module Sinatra::Test + def should + @response.should + end +end diff --git a/vendor/gems/gems/sinatra-0.9.4/lib/sinatra/test/unit.rb b/vendor/gems/gems/sinatra-0.9.4/lib/sinatra/test/unit.rb new file mode 100755 index 00000000..a7e60b3a --- /dev/null +++ b/vendor/gems/gems/sinatra-0.9.4/lib/sinatra/test/unit.rb @@ -0,0 +1,13 @@ +require 'sinatra/test' +require 'test/unit' + +Sinatra::Test.deprecate('test/unit') + +Test::Unit::TestCase.send :include, Sinatra::Test + +Sinatra::Default.set( + :environment => :test, + :run => false, + :raise_errors => true, + :logging => false +) diff --git a/vendor/gems/gems/sinatra-0.9.4/sinatra.gemspec b/vendor/gems/gems/sinatra-0.9.4/sinatra.gemspec new file mode 100755 index 00000000..7269c4cd --- /dev/null +++ b/vendor/gems/gems/sinatra-0.9.4/sinatra.gemspec @@ -0,0 +1,125 @@ +Gem::Specification.new do |s| + s.specification_version = 2 if s.respond_to? :specification_version= + s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version= + + s.name = 'sinatra' + s.version = '0.9.4' + s.date = '2009-07-26' + + s.description = "Classy web-development dressed in a DSL" + s.summary = "Classy web-development dressed in a DSL" + + s.authors = ["Blake Mizerany"] + s.email = "sinatrarb@googlegroups.com" + + # = MANIFEST = + s.files = %w[ + AUTHORS + CHANGES + LICENSE + README.rdoc + Rakefile + compat/app_test.rb + compat/application_test.rb + compat/builder_test.rb + compat/compat_test.rb + compat/custom_error_test.rb + compat/erb_test.rb + compat/events_test.rb + compat/filter_test.rb + compat/haml_test.rb + compat/helper.rb + compat/mapped_error_test.rb + compat/pipeline_test.rb + compat/public/foo.xml + compat/sass_test.rb + compat/sessions_test.rb + compat/streaming_test.rb + compat/sym_params_test.rb + compat/template_test.rb + compat/use_in_file_templates_test.rb + compat/views/foo.builder + compat/views/foo.erb + compat/views/foo.haml + compat/views/foo.sass + compat/views/foo_layout.erb + compat/views/foo_layout.haml + compat/views/layout_test/foo.builder + compat/views/layout_test/foo.erb + compat/views/layout_test/foo.haml + compat/views/layout_test/foo.sass + compat/views/layout_test/layout.builder + compat/views/layout_test/layout.erb + compat/views/layout_test/layout.haml + compat/views/layout_test/layout.sass + compat/views/no_layout/no_layout.builder + compat/views/no_layout/no_layout.haml + lib/sinatra.rb + lib/sinatra/base.rb + lib/sinatra/compat.rb + lib/sinatra/images/404.png + lib/sinatra/images/500.png + lib/sinatra/main.rb + lib/sinatra/showexceptions.rb + lib/sinatra/test.rb + lib/sinatra/test/bacon.rb + lib/sinatra/test/rspec.rb + lib/sinatra/test/spec.rb + lib/sinatra/test/unit.rb + sinatra.gemspec + test/base_test.rb + test/builder_test.rb + test/contest.rb + test/data/reload_app_file.rb + test/erb_test.rb + test/extensions_test.rb + test/filter_test.rb + test/haml_test.rb + test/helper.rb + test/helpers_test.rb + test/mapped_error_test.rb + test/middleware_test.rb + test/options_test.rb + test/render_backtrace_test.rb + test/request_test.rb + test/response_test.rb + test/result_test.rb + test/route_added_hook_test.rb + test/routing_test.rb + test/sass_test.rb + test/server_test.rb + test/sinatra_test.rb + test/static_test.rb + test/templates_test.rb + test/test_test.rb + test/views/error.builder + test/views/error.erb + test/views/error.haml + test/views/error.sass + test/views/foo/hello.test + test/views/hello.builder + test/views/hello.erb + test/views/hello.haml + test/views/hello.sass + test/views/hello.test + test/views/layout2.builder + test/views/layout2.erb + test/views/layout2.haml + test/views/layout2.test + ] + # = MANIFEST = + + s.test_files = s.files.select {|path| path =~ /^test\/.*_test.rb/} + + s.extra_rdoc_files = %w[README.rdoc LICENSE] + s.add_dependency 'rack', '>= 0.9.1' + s.add_development_dependency 'shotgun', '>= 0.2', '< 1.0' + s.add_development_dependency 'rack-test', '>= 0.3.0' + + s.has_rdoc = true + s.homepage = "http://sinatra.rubyforge.org" + s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Sinatra", "--main", "README.rdoc"] + s.require_paths = %w[lib] + s.rubyforge_project = 'sinatra' + s.rubygems_version = '1.1.1' +end diff --git a/vendor/gems/gems/sinatra-0.9.4/test/base_test.rb b/vendor/gems/gems/sinatra-0.9.4/test/base_test.rb new file mode 100755 index 00000000..7a5d1130 --- /dev/null +++ b/vendor/gems/gems/sinatra-0.9.4/test/base_test.rb @@ -0,0 +1,160 @@ +require File.dirname(__FILE__) + '/helper' + +class BaseTest < Test::Unit::TestCase + def test_default + assert true + end + + describe 'Sinatra::Base subclasses' do + class TestApp < Sinatra::Base + get '/' do + 'Hello World' + end + end + + it 'include Rack::Utils' do + assert TestApp.included_modules.include?(Rack::Utils) + end + + it 'processes requests with #call' do + assert TestApp.respond_to?(:call) + + request = Rack::MockRequest.new(TestApp) + response = request.get('/') + assert response.ok? + assert_equal 'Hello World', response.body + end + + class TestApp < Sinatra::Base + get '/state' do + @foo ||= "new" + body = "Foo: #{@foo}" + @foo = 'discard' + body + end + end + + it 'does not maintain state between requests' do + request = Rack::MockRequest.new(TestApp) + 2.times do + response = request.get('/state') + assert response.ok? + assert_equal 'Foo: new', response.body + end + end + + it "passes the subclass to configure blocks" do + ref = nil + TestApp.configure { |app| ref = app } + assert_equal TestApp, ref + end + + it "allows the configure block arg to be omitted and does not change context" do + context = nil + TestApp.configure { context = self } + assert_equal self, context + end + end + + describe "Sinatra::Base as Rack middleware" do + app = lambda { |env| + headers = {'X-Downstream' => 'true'} + headers['X-Route-Missing'] = env['sinatra.route-missing'] || '' + [210, headers, ['Hello from downstream']] } + + class TestMiddleware < Sinatra::Base + end + + it 'creates a middleware that responds to #call with .new' do + middleware = TestMiddleware.new(app) + assert middleware.respond_to?(:call) + end + + it 'exposes the downstream app' do + middleware = TestMiddleware.new(app) + assert_same app, middleware.app + end + + class TestMiddleware < Sinatra::Base + def route_missing + env['sinatra.route-missing'] = '1' + super + end + + get '/' do + 'Hello from middleware' + end + end + + middleware = TestMiddleware.new(app) + request = Rack::MockRequest.new(middleware) + + it 'intercepts requests' do + response = request.get('/') + assert response.ok? + assert_equal 'Hello from middleware', response.body + end + + it 'automatically forwards requests downstream when no matching route found' do + response = request.get('/missing') + assert_equal 210, response.status + assert_equal 'Hello from downstream', response.body + end + + it 'calls #route_missing before forwarding downstream' do + response = request.get('/missing') + assert_equal '1', response['X-Route-Missing'] + end + + class TestMiddleware < Sinatra::Base + get '/low-level-forward' do + app.call(env) + end + end + + it 'can call the downstream app directly and return result' do + response = request.get('/low-level-forward') + assert_equal 210, response.status + assert_equal 'true', response['X-Downstream'] + assert_equal 'Hello from downstream', response.body + end + + class TestMiddleware < Sinatra::Base + get '/explicit-forward' do + response['X-Middleware'] = 'true' + res = forward + assert_nil res + assert_equal 210, response.status + assert_equal 'true', response['X-Downstream'] + assert_equal ['Hello from downstream'], response.body + 'Hello after explicit forward' + end + end + + it 'forwards the request downstream and integrates the response into the current context' do + response = request.get('/explicit-forward') + assert_equal 210, response.status + assert_equal 'true', response['X-Downstream'] + assert_equal 'Hello after explicit forward', response.body + assert_equal '28', response['Content-Length'] + end + + app_content_length = lambda {|env| + [200, {'Content-Length' => '16'}, 'From downstream!']} + + class TestMiddlewareContentLength < Sinatra::Base + get '/forward' do + res = forward + 'From after explicit forward!' + end + end + + middleware_content_length = TestMiddlewareContentLength.new(app_content_length) + request_content_length = Rack::MockRequest.new(middleware_content_length) + + it "sets content length for last response" do + response = request_content_length.get('/forward') + assert_equal '28', response['Content-Length'] + end + end +end diff --git a/vendor/gems/gems/sinatra-0.9.4/test/builder_test.rb b/vendor/gems/gems/sinatra-0.9.4/test/builder_test.rb new file mode 100755 index 00000000..04ab3a58 --- /dev/null +++ b/vendor/gems/gems/sinatra-0.9.4/test/builder_test.rb @@ -0,0 +1,65 @@ +require File.dirname(__FILE__) + '/helper' +require 'builder' + +class BuilderTest < Test::Unit::TestCase + def builder_app(&block) + mock_app { + set :views, File.dirname(__FILE__) + '/views' + get '/', &block + } + get '/' + end + + it 'renders inline Builder strings' do + builder_app { builder 'xml.instruct!' } + assert ok? + assert_equal %{\n}, body + end + + it 'renders inline blocks' do + builder_app { + @name = "Frank & Mary" + builder do |xml| + xml.couple @name + end + } + assert ok? + assert_equal "Frank & Mary\n", body + end + + it 'renders .builder files in views path' do + builder_app { + @name = "Blue" + builder :hello + } + assert ok? + assert_equal %(You're my boy, Blue!\n), body + end + + it "renders with inline layouts" do + mock_app { + layout do + %(xml.layout { xml << yield }) + end + get('/') { builder %(xml.em 'Hello World') } + } + get '/' + assert ok? + assert_equal "\nHello World\n\n", body + end + + it "renders with file layouts" do + builder_app { + builder %(xml.em 'Hello World'), :layout => :layout2 + } + assert ok? + assert_equal "\nHello World\n\n", body + end + + it "raises error if template not found" do + mock_app { + get('/') { builder :no_such_template } + } + assert_raise(Errno::ENOENT) { get('/') } + end +end diff --git a/vendor/gems/gems/sinatra-0.9.4/test/contest.rb b/vendor/gems/gems/sinatra-0.9.4/test/contest.rb new file mode 100755 index 00000000..de716010 --- /dev/null +++ b/vendor/gems/gems/sinatra-0.9.4/test/contest.rb @@ -0,0 +1,64 @@ +require "test/unit" + +# Test::Unit loads a default test if the suite is empty, and the only +# purpose of that test is to fail. As having empty contexts is a common +# practice, we decided to overwrite TestSuite#empty? in order to +# allow them. Having a failure when no tests have been defined seems +# counter-intuitive. +class Test::Unit::TestSuite + unless method_defined?(:empty?) + def empty? + false + end + end +end + +# We added setup, test and context as class methods, and the instance +# method setup now iterates on the setup blocks. Note that all setup +# blocks must be defined with the block syntax. Adding a setup instance +# method defeats the purpose of this library. +class Test::Unit::TestCase + def self.setup(&block) + setup_blocks << block + end + + def setup + self.class.setup_blocks.each do |block| + instance_eval(&block) + end + end + + def self.context(name, &block) + subclass = Class.new(self.superclass) + subclass.setup_blocks.unshift(*setup_blocks) + subclass.class_eval(&block) + const_set(context_name(name), subclass) + end + + def self.test(name, &block) + define_method(test_name(name), &block) + end + + class << self + alias_method :should, :test + alias_method :describe, :context + end + +private + + def self.setup_blocks + @setup_blocks ||= [] + end + + def self.context_name(name) + "Test#{sanitize_name(name).gsub(/(^| )(\w)/) { $2.upcase }}".to_sym + end + + def self.test_name(name) + "test_#{sanitize_name(name).gsub(/\s+/,'_')}".to_sym + end + + def self.sanitize_name(name) + name.gsub(/\W+/, ' ').strip + end +end diff --git a/vendor/gems/gems/sinatra-0.9.4/test/data/reload_app_file.rb b/vendor/gems/gems/sinatra-0.9.4/test/data/reload_app_file.rb new file mode 100755 index 00000000..673ab7cd --- /dev/null +++ b/vendor/gems/gems/sinatra-0.9.4/test/data/reload_app_file.rb @@ -0,0 +1,3 @@ +$reload_count += 1 + +$reload_app.get('/') { 'Hello from reload file' } diff --git a/vendor/gems/gems/sinatra-0.9.4/test/erb_test.rb b/vendor/gems/gems/sinatra-0.9.4/test/erb_test.rb new file mode 100755 index 00000000..cc68c5ce --- /dev/null +++ b/vendor/gems/gems/sinatra-0.9.4/test/erb_test.rb @@ -0,0 +1,81 @@ +require File.dirname(__FILE__) + '/helper' + +class ERBTest < Test::Unit::TestCase + def erb_app(&block) + mock_app { + set :views, File.dirname(__FILE__) + '/views' + get '/', &block + } + get '/' + end + + it 'renders inline ERB strings' do + erb_app { erb '<%= 1 + 1 %>' } + assert ok? + assert_equal '2', body + end + + it 'renders .erb files in views path' do + erb_app { erb :hello } + assert ok? + assert_equal "Hello World\n", body + end + + it 'takes a :locals option' do + erb_app { + locals = {:foo => 'Bar'} + erb '<%= foo %>', :locals => locals + } + assert ok? + assert_equal 'Bar', body + end + + it "renders with inline layouts" do + mock_app { + layout { 'THIS. IS. <%= yield.upcase %>!' } + get('/') { erb 'Sparta' } + } + get '/' + assert ok? + assert_equal 'THIS. IS. SPARTA!', body + end + + it "renders with file layouts" do + erb_app { + erb 'Hello World', :layout => :layout2 + } + assert ok? + assert_equal "ERB Layout!\nHello World\n", body + end + + it "renders erb with blocks" do + mock_app { + def container + @_out_buf << "THIS." + yield + @_out_buf << "SPARTA!" + end + def is; "IS." end + get '/' do + erb '<% container do %> <%= is %> <% end %>' + end + } + get '/' + assert ok? + assert_equal 'THIS. IS. SPARTA!', body + end + + it "can be used in a nested fashion for partials and whatnot" do + mock_app { + template(:inner) { "<%= 'hi' %>" } + template(:outer) { "<%= erb :inner %>" } + get '/' do + erb :outer + end + } + + get '/' + assert ok? + assert_equal 'hi', body + end +end diff --git a/vendor/gems/gems/sinatra-0.9.4/test/extensions_test.rb b/vendor/gems/gems/sinatra-0.9.4/test/extensions_test.rb new file mode 100755 index 00000000..7977c29a --- /dev/null +++ b/vendor/gems/gems/sinatra-0.9.4/test/extensions_test.rb @@ -0,0 +1,100 @@ +require File.dirname(__FILE__) + '/helper' + +class ExtensionsTest < Test::Unit::TestCase + module FooExtensions + def foo + end + + private + def im_hiding_in_ur_foos + end + end + + module BarExtensions + def bar + end + end + + module BazExtensions + def baz + end + end + + module QuuxExtensions + def quux + end + end + + module PainExtensions + def foo=(name); end + def bar?(name); end + def fizz!(name); end + end + + it 'will add the methods to the DSL for the class in which you register them and its subclasses' do + Sinatra::Base.register FooExtensions + assert Sinatra::Base.respond_to?(:foo) + + Sinatra::Default.register BarExtensions + assert Sinatra::Default.respond_to?(:bar) + assert Sinatra::Default.respond_to?(:foo) + assert !Sinatra::Base.respond_to?(:bar) + end + + it 'allows extending by passing a block' do + Sinatra::Base.register { + def im_in_ur_anonymous_module; end + } + assert Sinatra::Base.respond_to?(:im_in_ur_anonymous_module) + end + + it 'will make sure any public methods added via Default#register are delegated to Sinatra::Delegator' do + Sinatra::Default.register FooExtensions + assert Sinatra::Delegator.private_instance_methods. + map { |m| m.to_sym }.include?(:foo) + assert !Sinatra::Delegator.private_instance_methods. + map { |m| m.to_sym }.include?(:im_hiding_in_ur_foos) + end + + it 'will handle special method names' do + Sinatra::Default.register PainExtensions + assert Sinatra::Delegator.private_instance_methods. + map { |m| m.to_sym }.include?(:foo=) + assert Sinatra::Delegator.private_instance_methods. + map { |m| m.to_sym }.include?(:bar?) + assert Sinatra::Delegator.private_instance_methods. + map { |m| m.to_sym }.include?(:fizz!) + end + + it 'will not delegate methods on Base#register' do + Sinatra::Base.register QuuxExtensions + assert !Sinatra::Delegator.private_instance_methods.include?("quux") + end + + it 'will extend the Sinatra::Default application by default' do + Sinatra.register BazExtensions + assert !Sinatra::Base.respond_to?(:baz) + assert Sinatra::Default.respond_to?(:baz) + end + + module BizzleExtension + def bizzle + bizzle_option + end + + def self.registered(base) + fail "base should be BizzleApp" unless base == BizzleApp + fail "base should have already extended BizzleExtension" unless base.respond_to?(:bizzle) + base.set :bizzle_option, 'bizzle!' + end + end + + class BizzleApp < Sinatra::Base + end + + it 'sends .registered to the extension module after extending the class' do + BizzleApp.register BizzleExtension + assert_equal 'bizzle!', BizzleApp.bizzle_option + assert_equal 'bizzle!', BizzleApp.bizzle + end +end diff --git a/vendor/gems/gems/sinatra-0.9.4/test/filter_test.rb b/vendor/gems/gems/sinatra-0.9.4/test/filter_test.rb new file mode 100755 index 00000000..38f0495b --- /dev/null +++ b/vendor/gems/gems/sinatra-0.9.4/test/filter_test.rb @@ -0,0 +1,99 @@ +require File.dirname(__FILE__) + '/helper' + +class FilterTest < Test::Unit::TestCase + it "executes filters in the order defined" do + count = 0 + mock_app do + get('/') { 'Hello World' } + before { + assert_equal 0, count + count = 1 + } + before { + assert_equal 1, count + count = 2 + } + end + + get '/' + assert ok? + assert_equal 2, count + assert_equal 'Hello World', body + end + + it "allows filters to modify the request" do + mock_app { + get('/foo') { 'foo' } + get('/bar') { 'bar' } + before { request.path_info = '/bar' } + } + + get '/foo' + assert ok? + assert_equal 'bar', body + end + + it "can modify instance variables available to routes" do + mock_app { + before { @foo = 'bar' } + get('/foo') { @foo } + } + + get '/foo' + assert ok? + assert_equal 'bar', body + end + + it "allows redirects in filters" do + mock_app { + before { redirect '/bar' } + get('/foo') do + fail 'before block should have halted processing' + 'ORLY?!' + end + } + + get '/foo' + assert redirect? + assert_equal '/bar', response['Location'] + assert_equal '', body + end + + it "does not modify the response with its return value" do + mock_app { + before { 'Hello World!' } + get '/foo' do + assert_equal [], response.body + 'cool' + end + } + + get '/foo' + assert ok? + assert_equal 'cool', body + end + + it "does modify the response with halt" do + mock_app { + before { halt 302, 'Hi' } + get '/foo' do + "should not happen" + end + } + + get '/foo' + assert_equal 302, response.status + assert_equal 'Hi', body + end + + it "gives you access to params" do + mock_app { + before { @foo = params['foo'] } + get('/foo') { @foo } + } + + get '/foo?foo=cool' + assert ok? + assert_equal 'cool', body + end +end diff --git a/vendor/gems/gems/sinatra-0.9.4/test/haml_test.rb b/vendor/gems/gems/sinatra-0.9.4/test/haml_test.rb new file mode 100755 index 00000000..3d6ed69e --- /dev/null +++ b/vendor/gems/gems/sinatra-0.9.4/test/haml_test.rb @@ -0,0 +1,90 @@ +require File.dirname(__FILE__) + '/helper' +require 'haml' + +class HAMLTest < Test::Unit::TestCase + def haml_app(&block) + mock_app { + set :views, File.dirname(__FILE__) + '/views' + get '/', &block + } + get '/' + end + + it 'renders inline HAML strings' do + haml_app { haml '%h1 Hiya' } + assert ok? + assert_equal "

    Hiya

    \n", body + end + + it 'renders .haml files in views path' do + haml_app { haml :hello } + assert ok? + assert_equal "

    Hello From Haml

    \n", body + end + + it "renders with inline layouts" do + mock_app { + layout { %q(%h1= 'THIS. IS. ' + yield.upcase) } + get('/') { haml '%em Sparta' } + } + get '/' + assert ok? + assert_equal "

    THIS. IS. SPARTA

    \n", body + end + + it "renders with file layouts" do + haml_app { + haml 'Hello World', :layout => :layout2 + } + assert ok? + assert_equal "

    HAML Layout!

    \n

    Hello World

    \n", body + end + + it "raises error if template not found" do + mock_app { + get('/') { haml :no_such_template } + } + assert_raise(Errno::ENOENT) { get('/') } + end + + it "passes HAML options to the Haml engine" do + mock_app { + get '/' do + haml "!!!\n%h1 Hello World", :format => :html5 + end + } + get '/' + assert ok? + assert_equal "\n

    Hello World

    \n", body + end + + it "passes default HAML options to the Haml engine" do + mock_app { + set :haml, {:format => :html5} + get '/' do + haml "!!!\n%h1 Hello World" + end + } + get '/' + assert ok? + assert_equal "\n

    Hello World

    \n", body + end + + it "merges the default HAML options with the overrides and passes them to the Haml engine" do + mock_app { + set :haml, {:format => :html5, :attr_wrapper => '"'} # default HAML attr are + get '/' do + haml "!!!\n%h1{:class => :header} Hello World" + end + get '/html4' do + haml "!!!\n%h1{:class => 'header'} Hello World", :format => :html4 + end + } + get '/' + assert ok? + assert_equal "\n

    Hello World

    \n", body + get '/html4' + assert ok? + assert_match(/^ '/foo') + assert_equal 302, response.status + assert_equal '/foo', response['Location'] + end + end + + describe 'error' do + it 'sets a status code and halts' do + mock_app { + get '/' do + error 501 + fail 'error should halt' + end + } + + get '/' + assert_equal 501, status + assert_equal '', body + end + + it 'takes an optional body' do + mock_app { + get '/' do + error 501, 'FAIL' + fail 'error should halt' + end + } + + get '/' + assert_equal 501, status + assert_equal 'FAIL', body + end + + it 'uses a 500 status code when first argument is a body' do + mock_app { + get '/' do + error 'FAIL' + fail 'error should halt' + end + } + + get '/' + assert_equal 500, status + assert_equal 'FAIL', body + end + end + + describe 'not_found' do + it 'halts with a 404 status' do + mock_app { + get '/' do + not_found + fail 'not_found should halt' + end + } + + get '/' + assert_equal 404, status + assert_equal '', body + end + end + + describe 'headers' do + it 'sets headers on the response object when given a Hash' do + mock_app { + get '/' do + headers 'X-Foo' => 'bar', 'X-Baz' => 'bling' + 'kthx' + end + } + + get '/' + assert ok? + assert_equal 'bar', response['X-Foo'] + assert_equal 'bling', response['X-Baz'] + assert_equal 'kthx', body + end + + it 'returns the response headers hash when no hash provided' do + mock_app { + get '/' do + headers['X-Foo'] = 'bar' + 'kthx' + end + } + + get '/' + assert ok? + assert_equal 'bar', response['X-Foo'] + end + end + + describe 'session' do + it 'uses the existing rack.session' do + mock_app { + get '/' do + session[:foo] + end + } + + get '/', {}, { 'rack.session' => { :foo => 'bar' } } + assert_equal 'bar', body + end + + it 'creates a new session when none provided' do + mock_app { + get '/' do + assert session.empty? + session[:foo] = 'bar' + 'Hi' + end + } + + get '/' + assert_equal 'Hi', body + end + end + + describe 'media_type' do + include Sinatra::Helpers + + it "looks up media types in Rack's MIME registry" do + Rack::Mime::MIME_TYPES['.foo'] = 'application/foo' + assert_equal 'application/foo', media_type('foo') + assert_equal 'application/foo', media_type('.foo') + assert_equal 'application/foo', media_type(:foo) + end + + it 'returns nil when given nil' do + assert media_type(nil).nil? + end + + it 'returns nil when media type not registered' do + assert media_type(:bizzle).nil? + end + + it 'returns the argument when given a media type string' do + assert_equal 'text/plain', media_type('text/plain') + end + end + + describe 'content_type' do + it 'sets the Content-Type header' do + mock_app { + get '/' do + content_type 'text/plain' + 'Hello World' + end + } + + get '/' + assert_equal 'text/plain', response['Content-Type'] + assert_equal 'Hello World', body + end + + it 'takes media type parameters (like charset=)' do + mock_app { + get '/' do + content_type 'text/html', :charset => 'utf-8' + "

    Hello, World

    " + end + } + + get '/' + assert ok? + assert_equal 'text/html;charset=utf-8', response['Content-Type'] + assert_equal "

    Hello, World

    ", body + end + + it "looks up symbols in Rack's mime types dictionary" do + Rack::Mime::MIME_TYPES['.foo'] = 'application/foo' + mock_app { + get '/foo.xml' do + content_type :foo + "I AM FOO" + end + } + + get '/foo.xml' + assert ok? + assert_equal 'application/foo', response['Content-Type'] + assert_equal 'I AM FOO', body + end + + it 'fails when no mime type is registered for the argument provided' do + mock_app { + get '/foo.xml' do + content_type :bizzle + "I AM FOO" + end + } + + assert_raise(RuntimeError) { get '/foo.xml' } + end + end + + describe 'send_file' do + setup do + @file = File.dirname(__FILE__) + '/file.txt' + File.open(@file, 'wb') { |io| io.write('Hello World') } + end + + def teardown + File.unlink @file + @file = nil + end + + def send_file_app(opts={}) + path = @file + mock_app { + get '/file.txt' do + send_file path, opts + end + } + end + + it "sends the contents of the file" do + send_file_app + get '/file.txt' + assert ok? + assert_equal 'Hello World', body + end + + it 'sets the Content-Type response header if a mime-type can be located' do + send_file_app + get '/file.txt' + assert_equal 'text/plain', response['Content-Type'] + end + + it 'sets the Content-Length response header' do + send_file_app + get '/file.txt' + assert_equal 'Hello World'.length.to_s, response['Content-Length'] + end + + it 'sets the Last-Modified response header' do + send_file_app + get '/file.txt' + assert_equal File.mtime(@file).httpdate, response['Last-Modified'] + end + + it "returns a 404 when not found" do + mock_app { + get '/' do + send_file 'this-file-does-not-exist.txt' + end + } + get '/' + assert not_found? + end + + it "does not set the Content-Disposition header by default" do + send_file_app + get '/file.txt' + assert_nil response['Content-Disposition'] + end + + it "sets the Content-Disposition header when :disposition set to 'attachment'" do + send_file_app :disposition => 'attachment' + get '/file.txt' + assert_equal 'attachment; filename="file.txt"', response['Content-Disposition'] + end + + it "sets the Content-Disposition header when :filename provided" do + send_file_app :filename => 'foo.txt' + get '/file.txt' + assert_equal 'attachment; filename="foo.txt"', response['Content-Disposition'] + end + end + + describe 'last_modified' do + setup do + now = Time.now + mock_app { + get '/' do + body { 'Hello World' } + last_modified now + 'Boo!' + end + } + @now = now + end + + it 'sets the Last-Modified header to a valid RFC 2616 date value' do + get '/' + assert_equal @now.httpdate, response['Last-Modified'] + end + + it 'returns a body when conditional get misses' do + get '/' + assert_equal 200, status + assert_equal 'Boo!', body + end + + it 'halts when a conditional GET matches' do + get '/', {}, { 'HTTP_IF_MODIFIED_SINCE' => @now.httpdate } + assert_equal 304, status + assert_equal '', body + end + end + + describe 'etag' do + setup do + mock_app { + get '/' do + body { 'Hello World' } + etag 'FOO' + 'Boo!' + end + } + end + + it 'sets the ETag header' do + get '/' + assert_equal '"FOO"', response['ETag'] + end + + it 'returns a body when conditional get misses' do + get '/' + assert_equal 200, status + assert_equal 'Boo!', body + end + + it 'halts when a conditional GET matches' do + get '/', {}, { 'HTTP_IF_NONE_MATCH' => '"FOO"' } + assert_equal 304, status + assert_equal '', body + end + + it 'should handle multiple ETag values in If-None-Match header' do + get '/', {}, { 'HTTP_IF_NONE_MATCH' => '"BAR", *' } + assert_equal 304, status + assert_equal '', body + end + + it 'uses a weak etag with the :weak option' do + mock_app { + get '/' do + etag 'FOO', :weak + "that's weak, dude." + end + } + get '/' + assert_equal 'W/"FOO"', response['ETag'] + end + end + + describe 'back' do + it "makes redirecting back pretty" do + mock_app { + get '/foo' do + redirect back + end + } + + get '/foo', {}, 'HTTP_REFERER' => 'http://github.com' + assert redirect? + assert_equal "http://github.com", response.location + end + end + + module ::HelperOne; def one; '1'; end; end + module ::HelperTwo; def two; '2'; end; end + + describe 'Adding new helpers' do + it 'takes a list of modules to mix into the app' do + mock_app { + helpers ::HelperOne, ::HelperTwo + + get '/one' do + one + end + + get '/two' do + two + end + } + + get '/one' + assert_equal '1', body + + get '/two' + assert_equal '2', body + end + + it 'takes a block to mix into the app' do + mock_app { + helpers do + def foo + 'foo' + end + end + + get '/' do + foo + end + } + + get '/' + assert_equal 'foo', body + end + + it 'evaluates the block in class context so that methods can be aliased' do + mock_app { + helpers do + alias_method :h, :escape_html + end + + get '/' do + h('42 < 43') + end + } + + get '/' + assert ok? + assert_equal '42 < 43', body + end + end +end diff --git a/vendor/gems/gems/sinatra-0.9.4/test/mapped_error_test.rb b/vendor/gems/gems/sinatra-0.9.4/test/mapped_error_test.rb new file mode 100755 index 00000000..fa57d9a1 --- /dev/null +++ b/vendor/gems/gems/sinatra-0.9.4/test/mapped_error_test.rb @@ -0,0 +1,155 @@ +require File.dirname(__FILE__) + '/helper' + +class FooError < RuntimeError +end + +class FooNotFound < Sinatra::NotFound +end + +class MappedErrorTest < Test::Unit::TestCase + def test_default + assert true + end + + describe 'Exception Mappings' do + it 'invokes handlers registered with ::error when raised' do + mock_app { + set :raise_errors, false + error(FooError) { 'Foo!' } + get '/' do + raise FooError + end + } + get '/' + assert_equal 500, status + assert_equal 'Foo!', body + end + + it 'uses the Exception handler if no matching handler found' do + mock_app { + set :raise_errors, false + error(Exception) { 'Exception!' } + get '/' do + raise FooError + end + } + + get '/' + assert_equal 500, status + assert_equal 'Exception!', body + end + + it "sets env['sinatra.error'] to the rescued exception" do + mock_app { + set :raise_errors, false + error(FooError) { + assert env.include?('sinatra.error') + assert env['sinatra.error'].kind_of?(FooError) + 'looks good' + } + get '/' do + raise FooError + end + } + get '/' + assert_equal 'looks good', body + end + + it "raises without calling the handler when the raise_errors options is set" do + mock_app { + set :raise_errors, true + error(FooError) { "she's not there." } + get '/' do + raise FooError + end + } + assert_raise(FooError) { get '/' } + end + + it "never raises Sinatra::NotFound beyond the application" do + mock_app { + set :raise_errors, true + get '/' do + raise Sinatra::NotFound + end + } + assert_nothing_raised { get '/' } + assert_equal 404, status + end + + it "cascades for subclasses of Sinatra::NotFound" do + mock_app { + set :raise_errors, true + error(FooNotFound) { "foo! not found." } + get '/' do + raise FooNotFound + end + } + assert_nothing_raised { get '/' } + assert_equal 404, status + assert_equal 'foo! not found.', body + end + + it 'has a not_found method for backwards compatibility' do + mock_app { + not_found do + "Lost, are we?" + end + } + + get '/test' + assert_equal 404, status + assert_equal "Lost, are we?", body + end + end + + describe 'Custom Error Pages' do + it 'allows numeric status code mappings to be registered with ::error' do + mock_app { + set :raise_errors, false + error(500) { 'Foo!' } + get '/' do + [500, {}, 'Internal Foo Error'] + end + } + get '/' + assert_equal 500, status + assert_equal 'Foo!', body + end + + it 'allows ranges of status code mappings to be registered with :error' do + mock_app { + set :raise_errors, false + error(500..550) { "Error: #{response.status}" } + get '/' do + [507, {}, 'A very special error'] + end + } + get '/' + assert_equal 507, status + assert_equal 'Error: 507', body + end + + class FooError < RuntimeError + end + + it 'runs after exception mappings and overwrites body' do + mock_app { + set :raise_errors, false + error FooError do + response.status = 502 + 'from exception mapping' + end + error(500) { 'from 500 handler' } + error(502) { 'from custom error page' } + + get '/' do + raise FooError + end + } + get '/' + assert_equal 502, status + assert_equal 'from custom error page', body + end + end +end diff --git a/vendor/gems/gems/sinatra-0.9.4/test/middleware_test.rb b/vendor/gems/gems/sinatra-0.9.4/test/middleware_test.rb new file mode 100755 index 00000000..2ebef29a --- /dev/null +++ b/vendor/gems/gems/sinatra-0.9.4/test/middleware_test.rb @@ -0,0 +1,68 @@ +require File.dirname(__FILE__) + '/helper' + +class MiddlewareTest < Test::Unit::TestCase + setup do + @app = mock_app(Sinatra::Default) { + get '/*' do + response.headers['X-Tests'] = env['test.ran']. + map { |n| n.split('::').last }. + join(', ') + env['PATH_INFO'] + end + } + end + + class MockMiddleware < Struct.new(:app) + def call(env) + (env['test.ran'] ||= []) << self.class.to_s + app.call(env) + end + end + + class UpcaseMiddleware < MockMiddleware + def call(env) + env['PATH_INFO'] = env['PATH_INFO'].upcase + super + end + end + + it "is added with Sinatra::Application.use" do + @app.use UpcaseMiddleware + get '/hello-world' + assert ok? + assert_equal '/HELLO-WORLD', body + end + + class DowncaseMiddleware < MockMiddleware + def call(env) + env['PATH_INFO'] = env['PATH_INFO'].downcase + super + end + end + + it "runs in the order defined" do + @app.use UpcaseMiddleware + @app.use DowncaseMiddleware + get '/Foo' + assert_equal "/foo", body + assert_equal "UpcaseMiddleware, DowncaseMiddleware", response['X-Tests'] + end + + it "resets the prebuilt pipeline when new middleware is added" do + @app.use UpcaseMiddleware + get '/Foo' + assert_equal "/FOO", body + @app.use DowncaseMiddleware + get '/Foo' + assert_equal '/foo', body + assert_equal "UpcaseMiddleware, DowncaseMiddleware", response['X-Tests'] + end + + it "works when app is used as middleware" do + @app.use UpcaseMiddleware + @app = @app.new + get '/Foo' + assert_equal "/FOO", body + assert_equal "UpcaseMiddleware", response['X-Tests'] + end +end diff --git a/vendor/gems/gems/sinatra-0.9.4/test/options_test.rb b/vendor/gems/gems/sinatra-0.9.4/test/options_test.rb new file mode 100755 index 00000000..19f5ea2d --- /dev/null +++ b/vendor/gems/gems/sinatra-0.9.4/test/options_test.rb @@ -0,0 +1,372 @@ +require File.dirname(__FILE__) + '/helper' + +class OptionsTest < Test::Unit::TestCase + setup do + @base = Sinatra.new(Sinatra::Base) + @default = Sinatra.new(Sinatra::Default) + @base.set :environment, :development + @default.set :environment, :development + end + + it 'sets options to literal values' do + @base.set(:foo, 'bar') + assert @base.respond_to?(:foo) + assert_equal 'bar', @base.foo + end + + it 'sets options to Procs' do + @base.set(:foo, Proc.new { 'baz' }) + assert @base.respond_to?(:foo) + assert_equal 'baz', @base.foo + end + + it "sets multiple options with a Hash" do + @base.set :foo => 1234, + :bar => 'Hello World', + :baz => Proc.new { 'bizzle' } + assert_equal 1234, @base.foo + assert_equal 'Hello World', @base.bar + assert_equal 'bizzle', @base.baz + end + + it 'inherits option methods when subclassed' do + @base.set :foo, 'bar' + @base.set :biz, Proc.new { 'baz' } + + sub = Class.new(@base) + assert sub.respond_to?(:foo) + assert_equal 'bar', sub.foo + assert sub.respond_to?(:biz) + assert_equal 'baz', sub.biz + end + + it 'overrides options in subclass' do + @base.set :foo, 'bar' + @base.set :biz, Proc.new { 'baz' } + sub = Class.new(@base) + sub.set :foo, 'bling' + assert_equal 'bling', sub.foo + assert_equal 'bar', @base.foo + end + + it 'creates setter methods when first defined' do + @base.set :foo, 'bar' + assert @base.respond_to?('foo=') + @base.foo = 'biz' + assert_equal 'biz', @base.foo + end + + it 'creates predicate methods when first defined' do + @base.set :foo, 'hello world' + assert @base.respond_to?(:foo?) + assert @base.foo? + @base.set :foo, nil + assert !@base.foo? + end + + it 'uses existing setter methods if detected' do + class << @base + def foo + @foo + end + def foo=(value) + @foo = 'oops' + end + end + + @base.set :foo, 'bam' + assert_equal 'oops', @base.foo + end + + it "sets multiple options to true with #enable" do + @base.enable :sessions, :foo, :bar + assert @base.sessions + assert @base.foo + assert @base.bar + end + + it "sets multiple options to false with #disable" do + @base.disable :sessions, :foo, :bar + assert !@base.sessions + assert !@base.foo + assert !@base.bar + end + + it 'enables MethodOverride middleware when :methodoverride is enabled' do + @base.set :methodoverride, true + @base.put('/') { 'okay' } + @app = @base + post '/', {'_method'=>'PUT'}, {} + assert_equal 200, status + assert_equal 'okay', body + end + + describe 'clean_trace' do + def clean_backtrace(trace) + Sinatra::Base.new.send(:clean_backtrace, trace) + end + + it 'is enabled on Base' do + assert @base.clean_trace? + end + + it 'is enabled on Default' do + assert @default.clean_trace? + end + + it 'does nothing when disabled' do + backtrace = [ + "./lib/sinatra/base.rb", + "./myapp:42", + ("#{Gem.dir}/some/lib.rb" if defined?(Gem)) + ].compact + + klass = Class.new(Sinatra::Base) + klass.disable :clean_trace + + assert_equal backtrace, klass.new.send(:clean_backtrace, backtrace) + end + + it 'removes sinatra lib paths from backtrace when enabled' do + backtrace = [ + "./lib/sinatra/base.rb", + "./lib/sinatra/compat.rb:42", + "./lib/sinatra/main.rb:55 in `foo'" + ] + assert clean_backtrace(backtrace).empty? + end + + it 'removes ./ prefix from backtrace paths when enabled' do + assert_equal ['myapp.rb:42'], clean_backtrace(['./myapp.rb:42']) + end + + if defined?(Gem) + it 'removes gem lib paths from backtrace when enabled' do + assert clean_backtrace(["#{Gem.dir}/some/lib"]).empty? + end + end + end + + describe 'run' do + it 'is disabled on Base' do + assert ! @base.run? + end + + it 'is enabled on Default when not in test environment' do + @default.set :environment, :development + assert @default.development? + assert @default.run? + + @default.set :environment, :development + assert @default.run? + end + + # TODO: it 'is enabled when $0 == app_file' + end + + describe 'raise_errors' do + it 'is enabled on Base' do + assert @base.raise_errors? + end + + it 'is enabled on Default only in test' do + @default.set(:environment, :development) + assert @default.development? + assert ! @default.raise_errors? + + @default.set(:environment, :production) + assert ! @default.raise_errors? + + @default.set(:environment, :test) + assert @default.raise_errors? + end + end + + describe 'show_exceptions' do + %w[development test production none].each do |environment| + it "is disabled on Base in #{environment} environments" do + @base.set(:environment, environment) + assert ! @base.show_exceptions? + end + end + + it 'is enabled on Default only in development' do + @base.set(:environment, :development) + assert @default.development? + assert @default.show_exceptions? + + @default.set(:environment, :test) + assert ! @default.show_exceptions? + + @base.set(:environment, :production) + assert ! @base.show_exceptions? + end + + it 'returns a friendly 500' do + klass = Sinatra.new(Sinatra::Default) + mock_app(klass) { + enable :show_exceptions + + get '/' do + raise StandardError + end + } + + get '/' + assert_equal 500, status + assert body.include?("StandardError") + assert body.include?("show_exceptions option") + end + end + + describe 'dump_errors' do + it 'is disabled on Base' do + assert ! @base.dump_errors? + end + + it 'is enabled on Default' do + assert @default.dump_errors? + end + + it 'dumps exception with backtrace to rack.errors' do + klass = Sinatra.new(Sinatra::Default) + + mock_app(klass) { + disable :raise_errors + + error do + error = @env['rack.errors'].instance_variable_get(:@error) + error.rewind + + error.read + end + + get '/' do + raise + end + } + + get '/' + assert body.include?("RuntimeError") && body.include?("options_test.rb") + end + end + + describe 'sessions' do + it 'is disabled on Base' do + assert ! @base.sessions? + end + + it 'is disabled on Default' do + assert ! @default.sessions? + end + + # TODO: it 'uses Rack::Session::Cookie when enabled' do + end + + describe 'logging' do + it 'is disabled on Base' do + assert ! @base.logging? + end + + it 'is enabled on Default when not in test environment' do + assert @default.logging? + + @default.set :environment, :test + assert ! @default.logging + end + + # TODO: it 'uses Rack::CommonLogger when enabled' do + end + + describe 'static' do + it 'is disabled on Base' do + assert ! @base.static? + end + + it 'is enabled on Default' do + assert @default.static? + end + + # TODO: it setup static routes if public is enabled + # TODO: however, that's already tested in static_test so... + end + + describe 'host' do + it 'defaults to 0.0.0.0' do + assert_equal '0.0.0.0', @base.host + assert_equal '0.0.0.0', @default.host + end + end + + describe 'port' do + it 'defaults to 4567' do + assert_equal 4567, @base.port + assert_equal 4567, @default.port + end + end + + describe 'server' do + it 'is one of thin, mongrel, webrick' do + assert_equal %w[thin mongrel webrick], @base.server + assert_equal %w[thin mongrel webrick], @default.server + end + end + + describe 'app_file' do + it 'is nil' do + assert @base.app_file.nil? + assert @default.app_file.nil? + end + end + + describe 'root' do + it 'is nil if app_file is not set' do + assert @base.root.nil? + assert @default.root.nil? + end + + it 'is equal to the expanded basename of app_file' do + @base.app_file = __FILE__ + assert_equal File.expand_path(File.dirname(__FILE__)), @base.root + + @default.app_file = __FILE__ + assert_equal File.expand_path(File.dirname(__FILE__)), @default.root + end + end + + describe 'views' do + it 'is nil if root is not set' do + assert @base.views.nil? + assert @default.views.nil? + end + + it 'is set to root joined with views/' do + @base.root = File.dirname(__FILE__) + assert_equal File.dirname(__FILE__) + "/views", @base.views + + @default.root = File.dirname(__FILE__) + assert_equal File.dirname(__FILE__) + "/views", @default.views + end + end + + describe 'public' do + it 'is nil if root is not set' do + assert @base.public.nil? + assert @default.public.nil? + end + + it 'is set to root joined with public/' do + @base.root = File.dirname(__FILE__) + assert_equal File.dirname(__FILE__) + "/public", @base.public + + @default.root = File.dirname(__FILE__) + assert_equal File.dirname(__FILE__) + "/public", @default.public + end + end + + describe 'lock' do + it 'is disabled by default' do + assert ! @base.lock? + end + end +end diff --git a/vendor/gems/gems/sinatra-0.9.4/test/render_backtrace_test.rb b/vendor/gems/gems/sinatra-0.9.4/test/render_backtrace_test.rb new file mode 100755 index 00000000..350beba4 --- /dev/null +++ b/vendor/gems/gems/sinatra-0.9.4/test/render_backtrace_test.rb @@ -0,0 +1,145 @@ +require File.dirname(__FILE__) + '/helper' + +require 'sass/error' + +class RenderBacktraceTest < Test::Unit::TestCase + VIEWS = File.dirname(__FILE__) + '/views' + + def assert_raise_at(filename, line, exception = RuntimeError) + f, l = nil + assert_raise(exception) do + begin + get('/') + rescue => e + f, l = e.backtrace.first.split(':') + raise + end + end + assert_equal(filename, f, "expected #{exception.name} in #{filename}, was #{f}") + assert_equal(line, l.to_i, "expected #{exception.name} in #{filename} at line #{line}, was at line #{l}") + end + + def backtrace_app(&block) + mock_app { + use_in_file_templates! + set :views, RenderBacktraceTest::VIEWS + template :builder_template do + 'raise "error"' + end + template :erb_template do + '<% raise "error" %>' + end + template :haml_template do + '%h1= raise "error"' + end + template :sass_template do + '+syntax-error' + end + get '/', &block + } + end + + it "provides backtrace for Builder template" do + backtrace_app { builder :error } + assert_raise_at(File.join(VIEWS,'error.builder'), 2) + end + + it "provides backtrace for ERB template" do + backtrace_app { erb :error } + assert_raise_at(File.join(VIEWS,'error.erb'), 2) + end + + it "provides backtrace for HAML template" do + backtrace_app { haml :error } + assert_raise_at(File.join(VIEWS,'error.haml'), 2) + end + + it "provides backtrace for Sass template" do + backtrace_app { sass :error } + assert_raise_at(File.join(VIEWS,'error.sass'), 2, Sass::SyntaxError) + end + + it "provides backtrace for ERB template with locals" do + backtrace_app { erb :error, {}, :french => true } + assert_raise_at(File.join(VIEWS,'error.erb'), 3) + end + + it "provides backtrace for HAML template with locals" do + backtrace_app { haml :error, {}, :french => true } + assert_raise_at(File.join(VIEWS,'error.haml'), 3) + end + + it "provides backtrace for inline Builder string" do + backtrace_app { builder "raise 'Ack! Thbbbt!'"} + assert_raise_at(__FILE__, (__LINE__-1)) + end + + it "provides backtrace for inline ERB string" do + backtrace_app { erb "<% raise 'bidi-bidi-bidi' %>" } + assert_raise_at(__FILE__, (__LINE__-1)) + end + + it "provides backtrace for inline HAML string" do + backtrace_app { haml "%h1= raise 'Lions and tigers and bears! Oh, my!'" } + assert_raise_at(__FILE__, (__LINE__-1)) + end + + # it "provides backtrace for inline Sass string" do + # backtrace_app { sass '+buh-bye' } + # assert_raise_at(__FILE__, (__LINE__-1), Sass::SyntaxError) + # end + + it "provides backtrace for named Builder template" do + backtrace_app { builder :builder_template } + assert_raise_at(__FILE__, (__LINE__-68)) + end + + it "provides backtrace for named ERB template" do + backtrace_app { erb :erb_template } + assert_raise_at(__FILE__, (__LINE__-70)) + end + + it "provides backtrace for named HAML template" do + backtrace_app { haml :haml_template } + assert_raise_at(__FILE__, (__LINE__-72)) + end + + # it "provides backtrace for named Sass template" do + # backtrace_app { sass :sass_template } + # assert_raise_at(__FILE__, (__LINE__-74), Sass::SyntaxError) + # end + + it "provides backtrace for in file Builder template" do + backtrace_app { builder :builder_in_file } + assert_raise_at(__FILE__, (__LINE__+22)) + end + + it "provides backtrace for in file ERB template" do + backtrace_app { erb :erb_in_file } + assert_raise_at(__FILE__, (__LINE__+20)) + end + + it "provides backtrace for in file HAML template" do + backtrace_app { haml :haml_in_file } + assert_raise_at(__FILE__, (__LINE__+18)) + end + + # it "provides backtrace for in file Sass template" do + # backtrace_app { sass :sass_in_file } + # assert_raise_at(__FILE__, (__LINE__+16), Sass::SyntaxError) + # end +end + +__END__ + +@@ builder_in_file +raise "bif" + +@@ erb_in_file +<% raise "bam" %> + +@@ haml_in_file +%h1= raise "pow" + +@@ sass_in_file ++blam diff --git a/vendor/gems/gems/sinatra-0.9.4/test/request_test.rb b/vendor/gems/gems/sinatra-0.9.4/test/request_test.rb new file mode 100755 index 00000000..44dac6cb --- /dev/null +++ b/vendor/gems/gems/sinatra-0.9.4/test/request_test.rb @@ -0,0 +1,18 @@ +require File.dirname(__FILE__) + '/helper' + +class RequestTest < Test::Unit::TestCase + it 'responds to #user_agent' do + request = Sinatra::Request.new({'HTTP_USER_AGENT' => 'Test'}) + assert request.respond_to?(:user_agent) + assert_equal 'Test', request.user_agent + end + + it 'parses POST params when Content-Type is form-dataish' do + request = Sinatra::Request.new( + 'REQUEST_METHOD' => 'PUT', + 'CONTENT_TYPE' => 'application/x-www-form-urlencoded', + 'rack.input' => StringIO.new('foo=bar') + ) + assert_equal 'bar', request.params['foo'] + end +end diff --git a/vendor/gems/gems/sinatra-0.9.4/test/response_test.rb b/vendor/gems/gems/sinatra-0.9.4/test/response_test.rb new file mode 100755 index 00000000..5aa5f4e6 --- /dev/null +++ b/vendor/gems/gems/sinatra-0.9.4/test/response_test.rb @@ -0,0 +1,42 @@ +# encoding: utf-8 + +require File.dirname(__FILE__) + '/helper' + +class ResponseTest < Test::Unit::TestCase + setup do + @response = Sinatra::Response.new + end + + it "initializes with 200, text/html, and empty body" do + assert_equal 200, @response.status + assert_equal 'text/html', @response['Content-Type'] + assert_equal [], @response.body + end + + it 'uses case insensitive headers' do + @response['content-type'] = 'application/foo' + assert_equal 'application/foo', @response['Content-Type'] + assert_equal 'application/foo', @response['CONTENT-TYPE'] + end + + it 'writes to body' do + @response.body = 'Hello' + @response.write ' World' + assert_equal 'Hello World', @response.body + end + + [204, 304].each do |status_code| + it "removes the Content-Type header and body when response status is #{status_code}" do + @response.status = status_code + @response.body = ['Hello World'] + assert_equal [status_code, {}, []], @response.finish + end + end + + it 'Calculates the Content-Length using the bytesize of the body' do + @response.body = ['Hello', 'World!', '✈'] + status, headers, body = @response.finish + assert_equal '14', headers['Content-Length'] + assert_equal @response.body, body + end +end diff --git a/vendor/gems/gems/sinatra-0.9.4/test/result_test.rb b/vendor/gems/gems/sinatra-0.9.4/test/result_test.rb new file mode 100755 index 00000000..5100abf4 --- /dev/null +++ b/vendor/gems/gems/sinatra-0.9.4/test/result_test.rb @@ -0,0 +1,98 @@ +require File.dirname(__FILE__) + '/helper' + +class ResultTest < Test::Unit::TestCase + it "sets response.body when result is a String" do + mock_app { + get '/' do + 'Hello World' + end + } + + get '/' + assert ok? + assert_equal 'Hello World', body + end + + it "sets response.body when result is an Array of Strings" do + mock_app { + get '/' do + ['Hello', 'World'] + end + } + + get '/' + assert ok? + assert_equal 'HelloWorld', body + end + + it "sets response.body when result responds to #each" do + mock_app { + get '/' do + res = lambda { 'Hello World' } + def res.each ; yield call ; end + res + end + } + + get '/' + assert ok? + assert_equal 'Hello World', body + end + + it "sets response.body to [] when result is nil" do + mock_app { + get '/' do + nil + end + } + + get '/' + assert ok? + assert_equal '', body + end + + it "sets status, headers, and body when result is a Rack response tuple" do + mock_app { + get '/' do + [205, {'Content-Type' => 'foo/bar'}, 'Hello World'] + end + } + + get '/' + assert_equal 205, status + assert_equal 'foo/bar', response['Content-Type'] + assert_equal 'Hello World', body + end + + it "sets status and body when result is a two-tuple" do + mock_app { + get '/' do + [409, 'formula of'] + end + } + + get '/' + assert_equal 409, status + assert_equal 'formula of', body + end + + it "raises a TypeError when result is a non two or three tuple Array" do + mock_app { + get '/' do + [409, 'formula of', 'something else', 'even more'] + end + } + + assert_raise(TypeError) { get '/' } + end + + it "sets status when result is a Fixnum status code" do + mock_app { + get('/') { 205 } + } + + get '/' + assert_equal 205, status + assert_equal '', body + end +end diff --git a/vendor/gems/gems/sinatra-0.9.4/test/route_added_hook_test.rb b/vendor/gems/gems/sinatra-0.9.4/test/route_added_hook_test.rb new file mode 100755 index 00000000..08fdd925 --- /dev/null +++ b/vendor/gems/gems/sinatra-0.9.4/test/route_added_hook_test.rb @@ -0,0 +1,59 @@ +require File.dirname(__FILE__) + '/helper' + +module RouteAddedTest + @routes, @procs = [], [] + def self.routes ; @routes ; end + def self.procs ; @procs ; end + def self.route_added(verb, path, proc) + @routes << [verb, path] + @procs << proc + end +end + +class RouteAddedHookTest < Test::Unit::TestCase + setup { + RouteAddedTest.routes.clear + RouteAddedTest.procs.clear + } + + it "should be notified of an added route" do + mock_app(Class.new(Sinatra::Base)) { + register RouteAddedTest + get('/') {} + } + + assert_equal [["GET", "/"], ["HEAD", "/"]], + RouteAddedTest.routes + end + + it "should include hooks from superclass" do + a = Class.new(Class.new(Sinatra::Base)) + b = Class.new(a) + + a.register RouteAddedTest + b.class_eval { post("/sub_app_route") {} } + + assert_equal [["POST", "/sub_app_route"]], + RouteAddedTest.routes + end + + it "should only run once per extension" do + mock_app(Class.new(Sinatra::Base)) { + register RouteAddedTest + register RouteAddedTest + get('/') {} + } + + assert_equal [["GET", "/"], ["HEAD", "/"]], + RouteAddedTest.routes + end + + it "should pass route blocks as an argument" do + mock_app(Class.new(Sinatra::Base)) { + register RouteAddedTest + get('/') {} + } + + assert_kind_of Proc, RouteAddedTest.procs.first + end +end diff --git a/vendor/gems/gems/sinatra-0.9.4/test/routing_test.rb b/vendor/gems/gems/sinatra-0.9.4/test/routing_test.rb new file mode 100755 index 00000000..a8591cae --- /dev/null +++ b/vendor/gems/gems/sinatra-0.9.4/test/routing_test.rb @@ -0,0 +1,784 @@ +require File.dirname(__FILE__) + '/helper' + +# Helper method for easy route pattern matching testing +def route_def(pattern) + mock_app { get(pattern) { } } +end + +class RegexpLookAlike + class MatchData + def captures + ["this", "is", "a", "test"] + end + end + + def match(string) + ::RegexpLookAlike::MatchData.new if string == "/this/is/a/test/" + end + + def keys + ["one", "two", "three", "four"] + end +end + +class RoutingTest < Test::Unit::TestCase + %w[get put post delete].each do |verb| + it "defines #{verb.upcase} request handlers with #{verb}" do + mock_app { + send verb, '/hello' do + 'Hello World' + end + } + + request = Rack::MockRequest.new(@app) + response = request.request(verb.upcase, '/hello', {}) + assert response.ok? + assert_equal 'Hello World', response.body + end + end + + it "defines HEAD request handlers with HEAD" do + mock_app { + head '/hello' do + response['X-Hello'] = 'World!' + 'remove me' + end + } + + request = Rack::MockRequest.new(@app) + response = request.request('HEAD', '/hello', {}) + assert response.ok? + assert_equal 'World!', response['X-Hello'] + assert_equal '', response.body + end + + it "404s when no route satisfies the request" do + mock_app { + get('/foo') { } + } + get '/bar' + assert_equal 404, status + end + + it "overrides the content-type in error handlers" do + mock_app { + before { content_type 'text/plain' } + error Sinatra::NotFound do + content_type "text/html" + "

    Not Found

    " + end + } + + get '/foo' + assert_equal 404, status + assert_equal 'text/html', response["Content-Type"] + assert_equal "

    Not Found

    ", response.body + end + + it 'takes multiple definitions of a route' do + mock_app { + user_agent(/Foo/) + get '/foo' do + 'foo' + end + + get '/foo' do + 'not foo' + end + } + + get '/foo', {}, 'HTTP_USER_AGENT' => 'Foo' + assert ok? + assert_equal 'foo', body + + get '/foo' + assert ok? + assert_equal 'not foo', body + end + + it "exposes params with indifferent hash" do + mock_app { + get '/:foo' do + assert_equal 'bar', params['foo'] + assert_equal 'bar', params[:foo] + 'well, alright' + end + } + get '/bar' + assert_equal 'well, alright', body + end + + it "merges named params and query string params in params" do + mock_app { + get '/:foo' do + assert_equal 'bar', params['foo'] + assert_equal 'biz', params['baz'] + end + } + get '/bar?baz=biz' + assert ok? + end + + it "supports named params like /hello/:person" do + mock_app { + get '/hello/:person' do + "Hello #{params['person']}" + end + } + get '/hello/Frank' + assert_equal 'Hello Frank', body + end + + it "supports optional named params like /?:foo?/?:bar?" do + mock_app { + get '/?:foo?/?:bar?' do + "foo=#{params[:foo]};bar=#{params[:bar]}" + end + } + + get '/hello/world' + assert ok? + assert_equal "foo=hello;bar=world", body + + get '/hello' + assert ok? + assert_equal "foo=hello;bar=", body + + get '/' + assert ok? + assert_equal "foo=;bar=", body + end + + it "supports single splat params like /*" do + mock_app { + get '/*' do + assert params['splat'].kind_of?(Array) + params['splat'].join "\n" + end + } + + get '/foo' + assert_equal "foo", body + + get '/foo/bar/baz' + assert_equal "foo/bar/baz", body + end + + it "supports mixing multiple splat params like /*/foo/*/*" do + mock_app { + get '/*/foo/*/*' do + assert params['splat'].kind_of?(Array) + params['splat'].join "\n" + end + } + + get '/bar/foo/bling/baz/boom' + assert_equal "bar\nbling\nbaz/boom", body + + get '/bar/foo/baz' + assert not_found? + end + + it "supports mixing named and splat params like /:foo/*" do + mock_app { + get '/:foo/*' do + assert_equal 'foo', params['foo'] + assert_equal ['bar/baz'], params['splat'] + end + } + + get '/foo/bar/baz' + assert ok? + end + + it "matches a dot ('.') as part of a named param" do + mock_app { + get '/:foo/:bar' do + params[:foo] + end + } + + get '/user@example.com/name' + assert_equal 200, response.status + assert_equal 'user@example.com', body + end + + it "matches a literal dot ('.') outside of named params" do + mock_app { + get '/:file.:ext' do + assert_equal 'pony', params[:file] + assert_equal 'jpg', params[:ext] + 'right on' + end + } + + get '/pony.jpg' + assert_equal 200, response.status + assert_equal 'right on', body + end + + it "literally matches . in paths" do + route_def '/test.bar' + + get '/test.bar' + assert ok? + get 'test0bar' + assert not_found? + end + + it "literally matches $ in paths" do + route_def '/test$/' + + get '/test$/' + assert ok? + end + + it "literally matches + in paths" do + route_def '/te+st/' + + get '/te%2Bst/' + assert ok? + get '/teeeeeeest/' + assert not_found? + end + + it "literally matches () in paths" do + route_def '/test(bar)/' + + get '/test(bar)/' + assert ok? + end + + it "supports basic nested params" do + mock_app { + get '/hi' do + params["person"]["name"] + end + } + + get "/hi?person[name]=John+Doe" + assert ok? + assert_equal "John Doe", body + end + + it "exposes nested params with indifferent hash" do + mock_app { + get '/testme' do + assert_equal 'baz', params['bar']['foo'] + assert_equal 'baz', params['bar'][:foo] + 'well, alright' + end + } + get '/testme?bar[foo]=baz' + assert_equal 'well, alright', body + end + + it "supports deeply nested params" do + expected_params = { + "emacs" => { + "map" => { "goto-line" => "M-g g" }, + "version" => "22.3.1" + }, + "browser" => { + "firefox" => {"engine" => {"name"=>"spidermonkey", "version"=>"1.7.0"}}, + "chrome" => {"engine" => {"name"=>"V8", "version"=>"1.0"}} + }, + "paste" => {"name"=>"hello world", "syntax"=>"ruby"} + } + mock_app { + get '/foo' do + assert_equal expected_params, params + 'looks good' + end + } + get '/foo', expected_params + assert ok? + assert_equal 'looks good', body + end + + it "preserves non-nested params" do + mock_app { + get '/foo' do + assert_equal "2", params["article_id"] + assert_equal "awesome", params['comment']['body'] + assert_nil params['comment[body]'] + 'looks good' + end + } + + get '/foo?article_id=2&comment[body]=awesome' + assert ok? + assert_equal 'looks good', body + end + + it "matches paths that include spaces encoded with %20" do + mock_app { + get '/path with spaces' do + 'looks good' + end + } + + get '/path%20with%20spaces' + assert ok? + assert_equal 'looks good', body + end + + it "matches paths that include spaces encoded with +" do + mock_app { + get '/path with spaces' do + 'looks good' + end + } + + get '/path+with+spaces' + assert ok? + assert_equal 'looks good', body + end + + it "URL decodes named parameters and splats" do + mock_app { + get '/:foo/*' do + assert_equal 'hello world', params['foo'] + assert_equal ['how are you'], params['splat'] + nil + end + } + + get '/hello%20world/how%20are%20you' + assert ok? + end + + it 'supports regular expressions' do + mock_app { + get(/^\/foo...\/bar$/) do + 'Hello World' + end + } + + get '/foooom/bar' + assert ok? + assert_equal 'Hello World', body + end + + it 'makes regular expression captures available in params[:captures]' do + mock_app { + get(/^\/fo(.*)\/ba(.*)/) do + assert_equal ['orooomma', 'f'], params[:captures] + 'right on' + end + } + + get '/foorooomma/baf' + assert ok? + assert_equal 'right on', body + end + + it 'supports regular expression look-alike routes' do + mock_app { + get(RegexpLookAlike.new) do + assert_equal 'this', params[:one] + assert_equal 'is', params[:two] + assert_equal 'a', params[:three] + assert_equal 'test', params[:four] + 'right on' + end + } + + get '/this/is/a/test/' + assert ok? + assert_equal 'right on', body + end + + it 'raises a TypeError when pattern is not a String or Regexp' do + assert_raise(TypeError) { + mock_app { get(42){} } + } + end + + it "returns response immediately on halt" do + mock_app { + get '/' do + halt 'Hello World' + 'Boo-hoo World' + end + } + + get '/' + assert ok? + assert_equal 'Hello World', body + end + + it "halts with a response tuple" do + mock_app { + get '/' do + halt 295, {'Content-Type' => 'text/plain'}, 'Hello World' + end + } + + get '/' + assert_equal 295, status + assert_equal 'text/plain', response['Content-Type'] + assert_equal 'Hello World', body + end + + it "halts with an array of strings" do + mock_app { + get '/' do + halt %w[Hello World How Are You] + end + } + + get '/' + assert_equal 'HelloWorldHowAreYou', body + end + + it "transitions to the next matching route on pass" do + mock_app { + get '/:foo' do + pass + 'Hello Foo' + end + + get '/*' do + assert !params.include?('foo') + 'Hello World' + end + } + + get '/bar' + assert ok? + assert_equal 'Hello World', body + end + + it "transitions to 404 when passed and no subsequent route matches" do + mock_app { + get '/:foo' do + pass + 'Hello Foo' + end + } + + get '/bar' + assert not_found? + end + + it "passes when matching condition returns false" do + mock_app { + condition { params[:foo] == 'bar' } + get '/:foo' do + 'Hello World' + end + } + + get '/bar' + assert ok? + assert_equal 'Hello World', body + + get '/foo' + assert not_found? + end + + it "does not pass when matching condition returns nil" do + mock_app { + condition { nil } + get '/:foo' do + 'Hello World' + end + } + + get '/bar' + assert ok? + assert_equal 'Hello World', body + end + + it "passes to next route when condition calls pass explicitly" do + mock_app { + condition { pass unless params[:foo] == 'bar' } + get '/:foo' do + 'Hello World' + end + } + + get '/bar' + assert ok? + assert_equal 'Hello World', body + + get '/foo' + assert not_found? + end + + it "passes to the next route when host_name does not match" do + mock_app { + host_name 'example.com' + get '/foo' do + 'Hello World' + end + } + get '/foo' + assert not_found? + + get '/foo', {}, { 'HTTP_HOST' => 'example.com' } + assert_equal 200, status + assert_equal 'Hello World', body + end + + it "passes to the next route when user_agent does not match" do + mock_app { + user_agent(/Foo/) + get '/foo' do + 'Hello World' + end + } + get '/foo' + assert not_found? + + get '/foo', {}, { 'HTTP_USER_AGENT' => 'Foo Bar' } + assert_equal 200, status + assert_equal 'Hello World', body + end + + it "makes captures in user agent pattern available in params[:agent]" do + mock_app { + user_agent(/Foo (.*)/) + get '/foo' do + 'Hello ' + params[:agent].first + end + } + get '/foo', {}, { 'HTTP_USER_AGENT' => 'Foo Bar' } + assert_equal 200, status + assert_equal 'Hello Bar', body + end + + it "filters by accept header" do + mock_app { + get '/', :provides => :xml do + request.env['HTTP_ACCEPT'] + end + } + + get '/', {}, { 'HTTP_ACCEPT' => 'application/xml' } + assert ok? + assert_equal 'application/xml', body + assert_equal 'application/xml', response.headers['Content-Type'] + + get '/', {}, { :accept => 'text/html' } + assert !ok? + end + + it "allows multiple mime types for accept header" do + types = ['image/jpeg', 'image/pjpeg'] + + mock_app { + get '/', :provides => types do + request.env['HTTP_ACCEPT'] + end + } + + types.each do |type| + get '/', {}, { 'HTTP_ACCEPT' => type } + assert ok? + assert_equal type, body + assert_equal type, response.headers['Content-Type'] + end + end + + it 'degrades gracefully when optional accept header is not provided' do + mock_app { + get '/', :provides => :xml do + request.env['HTTP_ACCEPT'] + end + get '/' do + 'default' + end + } + get '/' + assert ok? + assert_equal 'default', body + end + + it 'passes a single url param as block parameters when one param is specified' do + mock_app { + get '/:foo' do |foo| + assert_equal 'bar', foo + end + } + + get '/bar' + assert ok? + end + + it 'passes multiple params as block parameters when many are specified' do + mock_app { + get '/:foo/:bar/:baz' do |foo, bar, baz| + assert_equal 'abc', foo + assert_equal 'def', bar + assert_equal 'ghi', baz + end + } + + get '/abc/def/ghi' + assert ok? + end + + it 'passes regular expression captures as block parameters' do + mock_app { + get(/^\/fo(.*)\/ba(.*)/) do |foo, bar| + assert_equal 'orooomma', foo + assert_equal 'f', bar + 'looks good' + end + } + + get '/foorooomma/baf' + assert ok? + assert_equal 'looks good', body + end + + it "supports mixing multiple splat params like /*/foo/*/* as block parameters" do + mock_app { + get '/*/foo/*/*' do |foo, bar, baz| + assert_equal 'bar', foo + assert_equal 'bling', bar + assert_equal 'baz/boom', baz + 'looks good' + end + } + + get '/bar/foo/bling/baz/boom' + assert ok? + assert_equal 'looks good', body + end + + it 'raises an ArgumentError with block arity > 1 and too many values' do + mock_app { + get '/:foo/:bar/:baz' do |foo, bar| + 'quux' + end + } + + assert_raise(ArgumentError) { get '/a/b/c' } + end + + it 'raises an ArgumentError with block param arity > 1 and too few values' do + mock_app { + get '/:foo/:bar' do |foo, bar, baz| + 'quux' + end + } + + assert_raise(ArgumentError) { get '/a/b' } + end + + it 'succeeds if no block parameters are specified' do + mock_app { + get '/:foo/:bar' do + 'quux' + end + } + + get '/a/b' + assert ok? + assert_equal 'quux', body + end + + it 'passes all params with block param arity -1 (splat args)' do + mock_app { + get '/:foo/:bar' do |*args| + args.join + end + } + + get '/a/b' + assert ok? + assert_equal 'ab', body + end + + it 'allows custom route-conditions to be set via route options' do + protector = Module.new { + def protect(*args) + condition { + unless authorize(params["user"], params["password"]) + halt 403, "go away" + end + } + end + } + + mock_app { + register protector + + helpers do + def authorize(username, password) + username == "foo" && password == "bar" + end + end + + get "/", :protect => true do + "hey" + end + } + + get "/" + assert forbidden? + assert_equal "go away", body + + get "/", :user => "foo", :password => "bar" + assert ok? + assert_equal "hey", body + end + + # NOTE Block params behaves differently under 1.8 and 1.9. Under 1.8, block + # param arity is lax: declaring a mismatched number of block params results + # in a warning. Under 1.9, block param arity is strict: mismatched block + # arity raises an ArgumentError. + + if RUBY_VERSION >= '1.9' + + it 'raises an ArgumentError with block param arity 1 and no values' do + mock_app { + get '/foo' do |foo| + 'quux' + end + } + + assert_raise(ArgumentError) { get '/foo' } + end + + it 'raises an ArgumentError with block param arity 1 and too many values' do + mock_app { + get '/:foo/:bar/:baz' do |foo| + 'quux' + end + } + + assert_raise(ArgumentError) { get '/a/b/c' } + end + + else + + it 'does not raise an ArgumentError with block param arity 1 and no values' do + mock_app { + get '/foo' do |foo| + 'quux' + end + } + + silence_warnings { get '/foo' } + assert ok? + assert_equal 'quux', body + end + + it 'does not raise an ArgumentError with block param arity 1 and too many values' do + mock_app { + get '/:foo/:bar/:baz' do |foo| + 'quux' + end + } + + silence_warnings { get '/a/b/c' } + assert ok? + assert_equal 'quux', body + end + + end +end diff --git a/vendor/gems/gems/sinatra-0.9.4/test/sass_test.rb b/vendor/gems/gems/sinatra-0.9.4/test/sass_test.rb new file mode 100755 index 00000000..c8d6a731 --- /dev/null +++ b/vendor/gems/gems/sinatra-0.9.4/test/sass_test.rb @@ -0,0 +1,79 @@ +require File.dirname(__FILE__) + '/helper' +require 'sass' + +class SassTest < Test::Unit::TestCase + def sass_app(&block) + mock_app { + set :views, File.dirname(__FILE__) + '/views' + get '/', &block + } + get '/' + end + + it 'renders inline Sass strings' do + sass_app { sass "#sass\n :background-color #FFF\n" } + assert ok? + assert_equal "#sass {\n background-color: #FFF; }\n", body + end + + it 'renders .sass files in views path' do + sass_app { sass :hello } + assert ok? + assert_equal "#sass {\n background-color: #FFF; }\n", body + end + + it 'ignores the layout option' do + sass_app { sass :hello, :layout => :layout2 } + assert ok? + assert_equal "#sass {\n background-color: #FFF; }\n", body + end + + it "raises error if template not found" do + mock_app { + get('/') { sass :no_such_template } + } + assert_raise(Errno::ENOENT) { get('/') } + end + + it "passes SASS options to the Sass engine" do + sass_app { + sass "#sass\n :background-color #FFF\n :color #000\n", :style => :compact + } + assert ok? + assert_equal "#sass { background-color: #FFF; color: #000; }\n", body + end + + it "passes default SASS options to the Sass engine" do + mock_app { + set :sass, {:style => :compact} # default Sass style is :nested + get '/' do + sass "#sass\n :background-color #FFF\n :color #000\n" + end + } + get '/' + assert ok? + assert_equal "#sass { background-color: #FFF; color: #000; }\n", body + end + + it "merges the default SASS options with the overrides and passes them to the Sass engine" do + mock_app { + set :sass, {:style => :compact, :attribute_syntax => :alternate } # default Sass attribute_syntax is :normal (with : in front) + get '/' do + sass "#sass\n background-color: #FFF\n color: #000\n" + end + get '/raised' do + sass "#sass\n :background-color #FFF\n :color #000\n", :style => :expanded # retains global attribute_syntax settings + end + get '/expanded_normal' do + sass "#sass\n :background-color #FFF\n :color #000\n", :style => :expanded, :attribute_syntax => :normal + end + } + get '/' + assert ok? + assert_equal "#sass { background-color: #FFF; color: #000; }\n", body + assert_raise(Sass::SyntaxError) { get('/raised') } + get '/expanded_normal' + assert ok? + assert_equal "#sass {\n background-color: #FFF;\n color: #000;\n}\n", body + end +end diff --git a/vendor/gems/gems/sinatra-0.9.4/test/server_test.rb b/vendor/gems/gems/sinatra-0.9.4/test/server_test.rb new file mode 100755 index 00000000..76d4ef97 --- /dev/null +++ b/vendor/gems/gems/sinatra-0.9.4/test/server_test.rb @@ -0,0 +1,47 @@ +require File.dirname(__FILE__) + '/helper' + +module Rack::Handler + class Mock + extend Test::Unit::Assertions + + def self.run(app, options={}) + assert(app < Sinatra::Base) + assert_equal 9001, options[:Port] + assert_equal 'foo.local', options[:Host] + yield new + end + + def stop + end + end + + register 'mock', 'Rack::Handler::Mock' +end + +class ServerTest < Test::Unit::TestCase + setup do + mock_app { + set :server, 'mock' + set :host, 'foo.local' + set :port, 9001 + } + $stdout = File.open('/dev/null', 'wb') + end + + def teardown + $stdout = STDOUT + end + + it "locates the appropriate Rack handler and calls ::run" do + @app.run! + end + + it "sets options on the app before running" do + @app.run! :sessions => true + assert @app.sessions? + end + + it "falls back on the next server handler when not found" do + @app.run! :server => %w[foo bar mock] + end +end diff --git a/vendor/gems/gems/sinatra-0.9.4/test/sinatra_test.rb b/vendor/gems/gems/sinatra-0.9.4/test/sinatra_test.rb new file mode 100755 index 00000000..5c695b22 --- /dev/null +++ b/vendor/gems/gems/sinatra-0.9.4/test/sinatra_test.rb @@ -0,0 +1,13 @@ +require File.dirname(__FILE__) + '/helper' + +class SinatraTest < Test::Unit::TestCase + it 'creates a new Sinatra::Base subclass on new' do + app = + Sinatra.new do + get '/' do + 'Hello World' + end + end + assert_same Sinatra::Base, app.superclass + end +end diff --git a/vendor/gems/gems/sinatra-0.9.4/test/static_test.rb b/vendor/gems/gems/sinatra-0.9.4/test/static_test.rb new file mode 100755 index 00000000..896d46c1 --- /dev/null +++ b/vendor/gems/gems/sinatra-0.9.4/test/static_test.rb @@ -0,0 +1,80 @@ +require File.dirname(__FILE__) + '/helper' + +class StaticTest < Test::Unit::TestCase + setup do + mock_app { + set :static, true + set :public, File.dirname(__FILE__) + } + end + + it 'serves GET requests for files in the public directory' do + get "/#{File.basename(__FILE__)}" + assert ok? + assert_equal File.read(__FILE__), body + assert_equal File.size(__FILE__).to_s, response['Content-Length'] + assert response.headers.include?('Last-Modified') + end + + it 'produces a body that can be iterated over multiple times' do + env = Rack::MockRequest.env_for("/#{File.basename(__FILE__)}") + status, headers, body = @app.call(env) + buf1, buf2 = [], [] + body.each { |part| buf1 << part } + body.each { |part| buf2 << part } + assert_equal buf1.join, buf2.join + assert_equal File.read(__FILE__), buf1.join + end + + it 'serves HEAD requests for files in the public directory' do + head "/#{File.basename(__FILE__)}" + assert ok? + assert_equal '', body + assert_equal File.size(__FILE__).to_s, response['Content-Length'] + assert response.headers.include?('Last-Modified') + end + + it 'serves files in preference to custom routes' do + @app.get("/#{File.basename(__FILE__)}") { 'Hello World' } + get "/#{File.basename(__FILE__)}" + assert ok? + assert body != 'Hello World' + end + + it 'does not serve directories' do + get "/" + assert not_found? + end + + it 'passes to the next handler when the static option is disabled' do + @app.set :static, false + get "/#{File.basename(__FILE__)}" + assert not_found? + end + + it 'passes to the next handler when the public option is nil' do + @app.set :public, nil + get "/#{File.basename(__FILE__)}" + assert not_found? + end + + it '404s when a file is not found' do + get "/foobarbaz.txt" + assert not_found? + end + + it 'serves files when .. path traverses within public directory' do + get "/data/../#{File.basename(__FILE__)}" + assert ok? + assert_equal File.read(__FILE__), body + end + + it '404s when .. path traverses outside of public directory' do + mock_app { + set :static, true + set :public, File.dirname(__FILE__) + '/data' + } + get "/../#{File.basename(__FILE__)}" + assert not_found? + end +end diff --git a/vendor/gems/gems/sinatra-0.9.4/test/templates_test.rb b/vendor/gems/gems/sinatra-0.9.4/test/templates_test.rb new file mode 100755 index 00000000..d2febc91 --- /dev/null +++ b/vendor/gems/gems/sinatra-0.9.4/test/templates_test.rb @@ -0,0 +1,122 @@ +require File.dirname(__FILE__) + '/helper' + +class TemplatesTest < Test::Unit::TestCase + def render_app(&block) + mock_app { + def render_test(template, data, options, locals, &block) + inner = block ? block.call : '' + data + inner + end + set :views, File.dirname(__FILE__) + '/views' + get '/', &block + template(:layout3) { "Layout 3!\n" } + } + get '/' + end + + def with_default_layout + layout = File.dirname(__FILE__) + '/views/layout.test' + File.open(layout, 'wb') { |io| io.write "Layout!\n" } + yield + ensure + File.unlink(layout) rescue nil + end + + it 'renders String templates directly' do + render_app { render :test, 'Hello World' } + assert ok? + assert_equal 'Hello World', body + end + + it 'renders Proc templates using the call result' do + render_app { render :test, Proc.new {'Hello World'} } + assert ok? + assert_equal 'Hello World', body + end + + it 'looks up Symbol templates in views directory' do + render_app { render :test, :hello } + assert ok? + assert_equal "Hello World!\n", body + end + + it 'uses the default layout template if not explicitly overridden' do + with_default_layout do + render_app { render :test, :hello } + assert ok? + assert_equal "Layout!\nHello World!\n", body + end + end + + it 'uses the default layout template if not really overriden' do + with_default_layout do + render_app { render :test, :hello, :layout => true } + assert ok? + assert_equal "Layout!\nHello World!\n", body + end + end + + it 'uses the layout template specified' do + render_app { render :test, :hello, :layout => :layout2 } + assert ok? + assert_equal "Layout 2!\nHello World!\n", body + end + + it 'uses layout templates defined with the #template method' do + render_app { render :test, :hello, :layout => :layout3 } + assert ok? + assert_equal "Layout 3!\nHello World!\n", body + end + + it 'loads templates from source file with use_in_file_templates!' do + mock_app { + use_in_file_templates! + } + assert_equal "this is foo\n\n", @app.templates[:foo][:template] + assert_equal "X\n= yield\nX\n", @app.templates[:layout][:template] + end + + it 'loads templates from specified views directory' do + render_app { render :test, :hello, :views => options.views + '/foo' } + + assert_equal "from another views directory\n", body + end + + test 'use_in_file_templates simply ignores IO errors' do + assert_nothing_raised { + mock_app { + use_in_file_templates!('/foo/bar') + } + } + + assert @app.templates.empty? + end + + it 'passes locals to the layout' do + mock_app { + template :my_layout do + 'Hello <%= name %>!<%= yield %>' + end + + get '/' do + erb '

    content

    ', { :layout => :my_layout }, { :name => 'Mike'} + end + } + + get '/' + assert ok? + assert_equal 'Hello Mike!

    content

    ', body + end +end + +# __END__ : this is not the real end of the script. + +__END__ + +@@ foo +this is foo + +@@ layout +X += yield +X diff --git a/vendor/gems/gems/sinatra-0.9.4/test/test_test.rb b/vendor/gems/gems/sinatra-0.9.4/test/test_test.rb new file mode 100755 index 00000000..23527e40 --- /dev/null +++ b/vendor/gems/gems/sinatra-0.9.4/test/test_test.rb @@ -0,0 +1,152 @@ +require File.dirname(__FILE__) + '/helper' + +require 'yaml' + +# silence deprecation warning when requiring sinatra/test +$VERBOSE, v = nil, $VERBOSE +require 'sinatra/test' +$VERBOSE = v + +class TestTest < Test::Unit::TestCase + include Sinatra::Test + + def request + YAML.load(body) + end + + def request_body + request['test.body'] + end + + def request_params + YAML.load(request['test.params']) + end + + setup do + mock_app { + %w[get head post put delete].each { |verb| + send(verb, '/') do + redirect '/redirected' if params[:redirect] + env.update('test.body' => request.body.read) + env.update('test.params' => params.to_yaml) + env.to_yaml + end + } + + get '/redirected' do + "you've been redirected" + end + } + end + + it 'allows GET/HEAD/POST/PUT/DELETE' do + get '/' + assert_equal('GET', request['REQUEST_METHOD']) + + post '/' + assert_equal('POST', request['REQUEST_METHOD']) + + put '/' + assert_equal('PUT', request['REQUEST_METHOD']) + + delete '/' + assert_equal('DELETE', request['REQUEST_METHOD']) + + head '/' + assert response.headers['Content-Length'].to_i > 0 + assert_equal('', body) + end + + it 'allows to specify a body' do + post '/', '42' + assert_equal '42', request_body + end + + it 'allows to specify params' do + get '/', :foo => 'bar' + assert_equal 'bar', request_params['foo'] + end + + it 'supports nested params' do + get '/', :foo => { :x => 'y', :chunky => 'bacon' } + assert_equal "y", request_params['foo']['x'] + assert_equal "bacon", request_params['foo']['chunky'] + end + + it 'provides easy access to response status and body' do + get '/' + assert_equal 200, status + assert body =~ /^---/ + end + + it 'delegates methods to @response' do + get '/' + assert ok? + end + + it 'follows redirect' do + get '/', :redirect => true + follow! + assert_equal "you've been redirected", body + end + + it 'provides sugar for common HTTP headers' do + get '/', :env => { :accept => 'text/plain' } + assert_equal 'text/plain', request['HTTP_ACCEPT'] + + get '/', :env => { :agent => 'TATFT' } + assert_equal 'TATFT', request['HTTP_USER_AGENT'] + + get '/', :env => { :host => '1.2.3.4' } + assert_equal '1.2.3.4', request['HTTP_HOST'] + + get '/', :env => { :session => {'foo' => 'bar'} } + assert_equal({'foo' => 'bar'}, request['rack.session']) + + get '/', :env => { :cookies => 'foo' } + assert_equal 'foo', request['HTTP_COOKIE'] + + get '/', :env => { :content_type => 'text/plain' } + assert_equal 'text/plain', request['CONTENT_TYPE'] + end + + it 'allow to test session easily' do + app = mock_app(Sinatra::Default) { + get '/' do + session['foo'] = 'bar' + 200 + end + + post '/' do + assert_equal 'bar', session['foo'] + session['foo'] || "blah" + end + } + + browser = Sinatra::TestHarness.new(app) + browser.get '/' + browser.post '/', {}, :session => { 'foo' => 'bar' } + assert_equal 'bar', browser.response.body + end + + it 'yields the request object to the block before invoking the application' do + called = false + get '/' do |req| + called = true + assert req.kind_of?(Rack::MockRequest) + end + assert called + end + + it 'sets the environment to :test on include' do + Sinatra::Default.set(:environment, :production) + Class.new { include Sinatra::Test } + assert_equal :test, Sinatra::Default.environment + end + + def test_TestHarness + session = Sinatra::TestHarness.new(@app) + response = session.get('/') + assert_equal 200, response.status + end +end diff --git a/vendor/gems/gems/sinatra-0.9.4/test/views/error.builder b/vendor/gems/gems/sinatra-0.9.4/test/views/error.builder new file mode 100755 index 00000000..9cf87d5e --- /dev/null +++ b/vendor/gems/gems/sinatra-0.9.4/test/views/error.builder @@ -0,0 +1,3 @@ +xml.error do + raise "goodbye" +end diff --git a/vendor/gems/gems/sinatra-0.9.4/test/views/error.erb b/vendor/gems/gems/sinatra-0.9.4/test/views/error.erb new file mode 100755 index 00000000..b48d1f06 --- /dev/null +++ b/vendor/gems/gems/sinatra-0.9.4/test/views/error.erb @@ -0,0 +1,3 @@ +Hello <%= 'World' %> +<% raise 'Goodbye' unless defined?(french) && french %> +<% raise 'Au revoir' if defined?(french) && french %> diff --git a/vendor/gems/gems/sinatra-0.9.4/test/views/error.haml b/vendor/gems/gems/sinatra-0.9.4/test/views/error.haml new file mode 100755 index 00000000..6019007b --- /dev/null +++ b/vendor/gems/gems/sinatra-0.9.4/test/views/error.haml @@ -0,0 +1,3 @@ +%h1 Hello From Haml += raise 'goodbye' unless defined?(french) && french += raise 'au revoir' if defined?(french) && french diff --git a/vendor/gems/gems/sinatra-0.9.4/test/views/error.sass b/vendor/gems/gems/sinatra-0.9.4/test/views/error.sass new file mode 100755 index 00000000..42fc56b3 --- /dev/null +++ b/vendor/gems/gems/sinatra-0.9.4/test/views/error.sass @@ -0,0 +1,2 @@ +#sass + +argle-bargle diff --git a/vendor/gems/gems/sinatra-0.9.4/test/views/foo/hello.test b/vendor/gems/gems/sinatra-0.9.4/test/views/foo/hello.test new file mode 100755 index 00000000..2aba6341 --- /dev/null +++ b/vendor/gems/gems/sinatra-0.9.4/test/views/foo/hello.test @@ -0,0 +1 @@ +from another views directory diff --git a/vendor/gems/gems/sinatra-0.9.4/test/views/hello.builder b/vendor/gems/gems/sinatra-0.9.4/test/views/hello.builder new file mode 100755 index 00000000..16b86d03 --- /dev/null +++ b/vendor/gems/gems/sinatra-0.9.4/test/views/hello.builder @@ -0,0 +1 @@ +xml.exclaim "You're my boy, #{@name}!" diff --git a/vendor/gems/gems/sinatra-0.9.4/test/views/hello.erb b/vendor/gems/gems/sinatra-0.9.4/test/views/hello.erb new file mode 100755 index 00000000..bcbbc926 --- /dev/null +++ b/vendor/gems/gems/sinatra-0.9.4/test/views/hello.erb @@ -0,0 +1 @@ +Hello <%= 'World' %> diff --git a/vendor/gems/gems/sinatra-0.9.4/test/views/hello.haml b/vendor/gems/gems/sinatra-0.9.4/test/views/hello.haml new file mode 100755 index 00000000..d6852a60 --- /dev/null +++ b/vendor/gems/gems/sinatra-0.9.4/test/views/hello.haml @@ -0,0 +1 @@ +%h1 Hello From Haml diff --git a/vendor/gems/gems/sinatra-0.9.4/test/views/hello.sass b/vendor/gems/gems/sinatra-0.9.4/test/views/hello.sass new file mode 100755 index 00000000..5a4fd574 --- /dev/null +++ b/vendor/gems/gems/sinatra-0.9.4/test/views/hello.sass @@ -0,0 +1,2 @@ +#sass + :background-color #FFF diff --git a/vendor/gems/gems/sinatra-0.9.4/test/views/hello.test b/vendor/gems/gems/sinatra-0.9.4/test/views/hello.test new file mode 100755 index 00000000..980a0d5f --- /dev/null +++ b/vendor/gems/gems/sinatra-0.9.4/test/views/hello.test @@ -0,0 +1 @@ +Hello World! diff --git a/vendor/gems/gems/sinatra-0.9.4/test/views/layout2.builder b/vendor/gems/gems/sinatra-0.9.4/test/views/layout2.builder new file mode 100755 index 00000000..9491f574 --- /dev/null +++ b/vendor/gems/gems/sinatra-0.9.4/test/views/layout2.builder @@ -0,0 +1,3 @@ +xml.layout do + xml << yield +end diff --git a/vendor/gems/gems/sinatra-0.9.4/test/views/layout2.erb b/vendor/gems/gems/sinatra-0.9.4/test/views/layout2.erb new file mode 100755 index 00000000..e097f3b6 --- /dev/null +++ b/vendor/gems/gems/sinatra-0.9.4/test/views/layout2.erb @@ -0,0 +1,2 @@ +ERB Layout! +<%= yield %> diff --git a/vendor/gems/gems/sinatra-0.9.4/test/views/layout2.haml b/vendor/gems/gems/sinatra-0.9.4/test/views/layout2.haml new file mode 100755 index 00000000..58bfc04d --- /dev/null +++ b/vendor/gems/gems/sinatra-0.9.4/test/views/layout2.haml @@ -0,0 +1,2 @@ +%h1 HAML Layout! +%p= yield diff --git a/vendor/gems/gems/sinatra-0.9.4/test/views/layout2.test b/vendor/gems/gems/sinatra-0.9.4/test/views/layout2.test new file mode 100755 index 00000000..fb432e3a --- /dev/null +++ b/vendor/gems/gems/sinatra-0.9.4/test/views/layout2.test @@ -0,0 +1 @@ +Layout 2! diff --git a/vendor/gems/gems/sinatra-content-for-0.2/.gitignore b/vendor/gems/gems/sinatra-content-for-0.2/.gitignore new file mode 100755 index 00000000..18977f8b --- /dev/null +++ b/vendor/gems/gems/sinatra-content-for-0.2/.gitignore @@ -0,0 +1,3 @@ +doc +dist +tmp diff --git a/vendor/gems/gems/sinatra-content-for-0.2/LICENSE b/vendor/gems/gems/sinatra-content-for-0.2/LICENSE new file mode 100755 index 00000000..3eb6c2f4 --- /dev/null +++ b/vendor/gems/gems/sinatra-content-for-0.2/LICENSE @@ -0,0 +1,22 @@ +(The MIT License) + +Copyright (c) 2008-2009 Nicolas Sanguinetti, entp.com + +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/vendor/gems/gems/sinatra-content-for-0.2/README.rdoc b/vendor/gems/gems/sinatra-content-for-0.2/README.rdoc new file mode 100755 index 00000000..12022a7b --- /dev/null +++ b/vendor/gems/gems/sinatra-content-for-0.2/README.rdoc @@ -0,0 +1,41 @@ += ContentFor + +Small extension for the Sinatra[http://sinatrarb.com] web framework +that allows you to use the following helpers in your views: + + <% content_for :some_key do %> + ... + <% end %> + + <% yield_content :some_key %> + +This allows you to capture blocks inside views to be rendered later +in this request. For example, to populate different parts of your +layout from your view. + +== Usage + +If you're writing "classic" style apps, then requring +sinatra/content_for should be enough. If you're writing +"classy" apps, then you also need to call +helpers Sinatra::ContentFor in your app definition. + +== And how is this useful? + +For example, some of your views might need a few javascript tags and +stylesheets, but you don't want to force this files in all your pages. +Then you can put <% yield_content :scripts_and_styles %> on +your layout, inside the tag, and each view can call +content_for setting the appropriate set of tags that should +be added to the layout. + +== Warning + +This only works with ERB as a rendering mechanism. I haven't figured +how to make it work with Haml. If you find a way, contact me and I'll +include it. + +== Credits + +Code by foca[http://github.com/foca], inspired on the Ruby on Rails +helpers with the same name. diff --git a/vendor/gems/gems/sinatra-content-for-0.2/lib/sinatra/content_for.rb b/vendor/gems/gems/sinatra-content-for-0.2/lib/sinatra/content_for.rb new file mode 100755 index 00000000..31848c63 --- /dev/null +++ b/vendor/gems/gems/sinatra-content-for-0.2/lib/sinatra/content_for.rb @@ -0,0 +1,58 @@ +module Sinatra + module ContentFor + # Capture a block of content to be rendered later. For example: + # + # <% content_for :head do %> + # + # <% end %> + # + # You can call +content_for+ multiple times with the same key + # (in the example +:head+), and when you render the blocks for + # that key all of them will be rendered, in the same order you + # captured them. + # + # Your blocks can also receive values, which are passed to them + # by yield_content + def content_for(key, &block) + content_blocks[key.to_sym] << block + end + + # Render the captured blocks for a given key. For example: + # + # + # Example + # <% yield_content :head %> + # + # + # Would render everything you declared with content_for + # :head before closing the tag. + # + # You can also pass values to the content blocks by passing them + # as arguments after the key: + # + # <% yield_content :head, 1, 2 %> + # + # Would pass 1 and 2 to all the blocks registered + # for :head. + # + # *NOTICE* that you call this without an = sign. IE, + # in a <% %> block, and not in a <%= %> block. + def yield_content(key, *args) + content_blocks[key.to_sym].map do |content| + if respond_to?(:block_is_haml?) && block_is_haml?(content) + capture_haml(*args, &content) + else + content.call(*args) + end + end.join + end + + private + + def content_blocks + @content_blocks ||= Hash.new {|h,k| h[k] = [] } + end + end + + helpers ContentFor +end diff --git a/vendor/gems/gems/sinatra-content-for-0.2/sinatra-content-for.gemspec b/vendor/gems/gems/sinatra-content-for-0.2/sinatra-content-for.gemspec new file mode 100755 index 00000000..63242e6b --- /dev/null +++ b/vendor/gems/gems/sinatra-content-for-0.2/sinatra-content-for.gemspec @@ -0,0 +1,34 @@ +Gem::Specification.new do |s| + s.name = "sinatra-content-for" + s.version = "0.2" + s.date = "2009-05-09" + + s.description = "Small Sinatra extension to add a content_for helper similar to Rails'" + s.summary = "Small Sinatra extension to add a content_for helper similar to Rails'" + s.homepage = "http://sinatrarb.com" + + s.authors = ["Nicolás Sanguinetti"] + s.email = "contacto@nicolassanguinetti.info" + + s.require_paths = ["lib"] + s.rubyforge_project = "sinatra-ditties" + s.has_rdoc = true + s.rubygems_version = "1.3.1" + + s.add_dependency "sinatra" + + if s.respond_to?(:add_development_dependency) + s.add_development_dependency "contest" + s.add_development_dependency "sr-mg" + s.add_development_dependency "redgreen" + end + + s.files = %w[ +.gitignore +LICENSE +README.rdoc +sinatra-content-for.gemspec +lib/sinatra/content_for.rb +test/content_for_test.rb +] +end diff --git a/vendor/gems/gems/sinatra-content-for-0.2/test/content_for_test.rb b/vendor/gems/gems/sinatra-content-for-0.2/test/content_for_test.rb new file mode 100755 index 00000000..c9560f22 --- /dev/null +++ b/vendor/gems/gems/sinatra-content-for-0.2/test/content_for_test.rb @@ -0,0 +1,156 @@ +ENV['RACK_ENV'] = 'test' + +begin + require 'rack' +rescue LoadError + require 'rubygems' + require 'rack' +end + +require 'contest' +require 'sinatra/test' +require 'haml' + +begin + require 'redgreen' +rescue LoadError +end + +require File.dirname(__FILE__) + '/../lib/sinatra/content_for' + +Sinatra::Base.set :environment, :test + +module Sinatra + class Base + set :environment, :test + helpers ContentFor + end +end + +class Test::Unit::TestCase + include Sinatra::Test + + class << self + alias_method :it, :test + end + + def mock_app(base=Sinatra::Base, &block) + @app = Sinatra.new(base, &block) + end +end + +class ContentForTest < Test::Unit::TestCase + context 'using erb' do + def erb_app(view) + mock_app { + layout { '<% yield_content :foo %>' } + get('/') { erb view } + } + end + + it 'renders blocks declared with the same key you use when rendering' do + erb_app '<% content_for :foo do %>foo<% end %>' + + get '/' + assert ok? + assert_equal 'foo', body + end + + it 'does not render a block with a different key' do + erb_app '<% content_for :bar do %>bar<% end %>' + + get '/' + assert ok? + assert_equal '', body + end + + it 'renders multiple blocks with the same key' do + erb_app <<-erb_snippet + <% content_for :foo do %>foo<% end %> + <% content_for :foo do %>bar<% end %> + <% content_for :baz do %>WON'T RENDER ME<% end %> + <% content_for :foo do %>baz<% end %> + erb_snippet + + get '/' + assert ok? + assert_equal 'foobarbaz', body + end + + it 'passes values to the blocks' do + mock_app { + layout { '<% yield_content :foo, 1, 2 %>' } + get('/') { erb '<% content_for :foo do |a, b| %><%= a %> <%= b %><% end %>' } + } + + get '/' + assert ok? + assert_equal '1 2', body + end + end + + context 'with haml' do + def haml_app(view) + mock_app { + layout { '= yield_content :foo' } + get('/') { haml view } + } + end + + it 'renders blocks declared with the same key you use when rendering' do + haml_app <<-haml_end +- content_for :foo do + foo +haml_end + + get '/' + assert ok? + assert_equal "foo\n", body + end + + it 'does not render a block with a different key' do + haml_app <<-haml_end +- content_for :bar do + bar +haml_end + + get '/' + assert ok? + assert_equal "\n", body + end + + it 'renders multiple blocks with the same key' do + haml_app <<-haml_end +- content_for :foo do + foo +- content_for :foo do + bar +- content_for :baz do + WON'T RENDER ME +- content_for :foo do + baz +haml_end + + get '/' + assert ok? + assert_equal "foo\nbar\nbaz\n", body + end + + it 'passes values to the blocks' do + mock_app { + layout { '= yield_content :foo, 1, 2' } + get('/') { + haml <<-haml_end +- content_for :foo do |a, b| + %i= a + =b +haml_end + } + } + + get '/' + assert ok? + assert_equal "1\n2\n", body + end + end +end diff --git a/vendor/gems/gems/sprockets-1.0.2/Rakefile b/vendor/gems/gems/sprockets-1.0.2/Rakefile new file mode 100755 index 00000000..414d7b90 --- /dev/null +++ b/vendor/gems/gems/sprockets-1.0.2/Rakefile @@ -0,0 +1,19 @@ +require "rubygems" +require "rake/testtask" +require "rake/gempackagetask" + +task :default => :test + +Rake::TestTask.new do |t| + t.libs << "test" + t.test_files = FileList["test/test_*.rb"] + t.verbose = true +end + +Rake::GemPackageTask.new(eval(IO.read(File.join(File.dirname(__FILE__), "sprockets.gemspec")))) do |pkg| + require File.join(File.dirname(__FILE__), "lib", "sprockets", "version") + raise "Error: Sprockets::Version doesn't match gemspec" if Sprockets::Version::STRING != pkg.version.to_s + + pkg.need_zip = true + pkg.need_tar = true +end diff --git a/vendor/gems/gems/sprockets-1.0.2/bin/sprocketize b/vendor/gems/gems/sprockets-1.0.2/bin/sprocketize new file mode 100755 index 00000000..c65e4a13 --- /dev/null +++ b/vendor/gems/gems/sprockets-1.0.2/bin/sprocketize @@ -0,0 +1,54 @@ +#!/usr/bin/env ruby + +require File.join(File.dirname(__FILE__), *%w".. lib sprockets") +require "optparse" + +load_path = (ENV["SPROCKETS_PATH"] || "").split(":") +filenames = [] +options = { :load_path => load_path, :source_files => filenames, :expand_paths => false } + +OptionParser.new do |opts| + opts.summary_width = 28 + opts.banner = "Usage: sprocketize [options] filename [filename ...]" + + def opts.show_usage + puts self + exit + end + + opts.on("-C DIRECTORY", "--directory=DIRECTORY", "Change to DIRECTORY before doing anything") do |directory| + Dir.chdir(directory) + end + + opts.on("-I DIRECTORY", "--include-dir=DIRECTORY", "Adds the directory to the Sprockets load path") do |directory| + load_path << directory + end + + opts.on("-a DIRECTORY", "--asset-root=DIRECTORY", "Copy provided assets into DIRECTORY") do |directory| + options[:asset_root] = directory + end + + opts.on_tail("-h", "--help", "Shows this help message") do + opts.show_usage + end + + opts.on_tail("-v", "--version", "Shows version") do + puts Sprockets::Version::STRING + exit + end + + opts.show_usage if ARGV.empty? + + begin + opts.order(ARGV) do |filename| + filenames << filename + end + rescue OptionParser::ParseError => e + opts.warn e.message + opts.show_usage + end +end + +secretary = Sprockets::Secretary.new(options) +secretary.install_assets if options[:asset_root] +print secretary.concatenation diff --git a/vendor/gems/gems/sprockets-1.0.2/ext/nph-sprockets.cgi b/vendor/gems/gems/sprockets-1.0.2/ext/nph-sprockets.cgi new file mode 100755 index 00000000..f1e85fef --- /dev/null +++ b/vendor/gems/gems/sprockets-1.0.2/ext/nph-sprockets.cgi @@ -0,0 +1,127 @@ +#!/usr/bin/env ruby + +# This is a simple CGI wrapper around Sprockets. +# +# Copy it into a directory on your site with CGI enabled. When invoked, the +# script will search its directory and parent directories for a YAML file named +# "config/sprockets.yml" in order to load configuration information. +# +# If you set the environment variable "sprockets_generate_output_file" to +# "true" the concatenation will be cached to disk. Use it in conjunction with +# URL rewriting to cache your Sprockets output on the first request. +# +# Assuming a site layout like this: +# +# mysite/ +# config/ +# sprockets.yml +# javascripts/ +# mysite.js +# ... +# public/ +# index.html +# nph-sprockets.cgi (this file) +# vendor/ +# sprockets/ +# prototype/ -> ... +# scriptaculous/ -> ... +# +# mysite/config/sprockets.yml might look like this: +# +# :load_path: +# - javascripts +# - vendor/sprockets/*/src +# :source_files: +# - javascripts/mysite.js +# - javascripts/*.js +# :output_file: public/sprockets.js +# +# The +# +# And you might have the following Apache configuration: +# +# +# ServerName mysite.example.org +# DocumentRoot "/path/to/mysite/public" +# +# +# Options +ExecCGI +FollowSymLinks +# AddHandler cgi-script .cgi +# +# RewriteEngine on +# RewriteCond /sprockets.js !-f +# RewriteRule ^sprockets\.js /nph-sprockets.cgi [P,L] +# +# +# +# All requests to /sprockets.js will transparently proxy /nph-sprockets.cgi if +# mysite/public/sprockets.js does not exist. In production, you can add +# +# SetEnv sprockets_generate_output_file true +# +# to your Apache configuration and mysites/public/sprockets.js will be cached +# on the first request to /sprockets.js. + +require "yaml" +require "fileutils" + +def respond_with(options = {}) + options = { :code => 200, :content => "", :type => "text/plain" }.merge(options) + print "HTTP/1.0 #{options[:code]}\r\n" + print "Content-Type: #{options[:type]}\r\n" + print "Content-Length: #{options[:content].length}\r\n" + print "\r\n#{options[:content]}" + $stdout.flush + exit! +end + +def search_upwards_for(filename) + pwd = original_pwd = Dir.pwd + loop do + return File.expand_path(filename) if File.file?(filename) + Dir.chdir("..") + respond_with(:code => 500, :content => "couldn't find config/sprockets.yml") if Dir.pwd == pwd + pwd = Dir.pwd + end +ensure + Dir.chdir(original_pwd) +end + +def generate_output_file? + (ENV["REDIRECT_sprockets_generate_output_file"] || ENV["sprockets_generate_output_file"]) =~ /true/i +end + +configuration_file = search_upwards_for("config/sprockets.yml") +sprockets_root = File.dirname(File.dirname(configuration_file)) +configuration = YAML.load(IO.read(configuration_file)) + +begin + if File.directory?(sprockets_dir = File.join(sprockets_root, "vendor/gems/sprockets/lib")) + $:.unshift sprockets_dir + elsif File.directory?(sprockets_dir = File.join(sprockets_root, "vendor/sprockets/lib")) + $:.unshift sprockets_dir + else + require "rubygems" + end + + require "sprockets" + +rescue Exception => e + respond_with(:code => 500, :content => "couldn't find sprockets: #{e}") +end + +begin + secretary = Sprockets::Secretary.new( + :root => sprockets_root, + :load_path => configuration[:load_path], + :source_files => configuration[:source_files] + ) + + secretary.concatenation.save_to(File.join(sprockets_root, configuration[:output_file])) if generate_output_file? + respond_with(:content => secretary.concatenation.to_s, :type => "text/javascript") + +rescue Exception => e + respond_with(:code => 500, :content => "couldn't generate concatenated javascript: #{e}") +end diff --git a/vendor/gems/gems/sprockets-1.0.2/lib/sprockets.rb b/vendor/gems/gems/sprockets-1.0.2/lib/sprockets.rb new file mode 100755 index 00000000..6271f035 --- /dev/null +++ b/vendor/gems/gems/sprockets-1.0.2/lib/sprockets.rb @@ -0,0 +1,42 @@ +$:.unshift File.dirname(__FILE__) + +require "yaml" +require "fileutils" + +module Sprockets + class << self + def running_on_windows? + RUBY_PLATFORM =~ /(win|w)32$/ + end + + def absolute?(location) + same_when_expanded?(location) || platform_absolute_path?(location) + end + + protected + def same_when_expanded?(location) + location[0, 1] == File.expand_path(location)[0, 1] + end + + def platform_absolute_path?(location) + false + end + + if Sprockets.running_on_windows? + def platform_absolute_path?(location) + location[0, 1] == File::SEPARATOR && File.expand_path(location) =~ /[A-Za-z]:[\/\\]/ + end + end + end +end + +require "sprockets/version" +require "sprockets/error" +require "sprockets/environment" +require "sprockets/pathname" +require "sprockets/source_line" +require "sprockets/source_file" +require "sprockets/concatenation" +require "sprockets/preprocessor" +require "sprockets/secretary" + diff --git a/vendor/gems/gems/sprockets-1.0.2/lib/sprockets/concatenation.rb b/vendor/gems/gems/sprockets-1.0.2/lib/sprockets/concatenation.rb new file mode 100755 index 00000000..3ea7abc6 --- /dev/null +++ b/vendor/gems/gems/sprockets-1.0.2/lib/sprockets/concatenation.rb @@ -0,0 +1,36 @@ +module Sprockets + class Concatenation + attr_reader :source_lines + + def initialize + @source_lines = [] + @source_file_mtimes = {} + end + + def record(source_line) + source_lines << source_line + record_mtime_for(source_line.source_file) + source_line + end + + def to_s + source_lines.join + end + + def mtime + @source_file_mtimes.values.max + end + + def save_to(filename) + timestamp = mtime + File.open(filename, "w") { |file| file.write(to_s) } + File.utime(timestamp, timestamp, filename) + true + end + + protected + def record_mtime_for(source_file) + @source_file_mtimes[source_file] ||= source_file.mtime + end + end +end diff --git a/vendor/gems/gems/sprockets-1.0.2/lib/sprockets/environment.rb b/vendor/gems/gems/sprockets-1.0.2/lib/sprockets/environment.rb new file mode 100755 index 00000000..29f7daec --- /dev/null +++ b/vendor/gems/gems/sprockets-1.0.2/lib/sprockets/environment.rb @@ -0,0 +1,52 @@ +module Sprockets + class Environment + attr_reader :root, :load_path + + def initialize(root, load_path = []) + @load_path = [@root = Pathname.new(self, root)] + + load_path.reverse_each do |location| + register_load_location(location) + end + end + + def pathname_from(location) + Pathname.new(self, absolute_location_from(location)) + end + + def register_load_location(location) + pathname = pathname_from(location) + load_path.delete(pathname) + load_path.unshift(pathname) + location + end + + def find(location) + if Sprockets.absolute?(location) && File.exists?(location) + pathname_from(location) + else + find_all(location).first + end + end + + def constants(reload = false) + @constants = nil if reload + @constants ||= find_all("constants.yml").inject({}) do |constants, pathname| + contents = YAML.load(pathname.contents) rescue nil + contents = {} unless contents.is_a?(Hash) + constants.merge(contents) + end + end + + protected + def absolute_location_from(location) + location = location.to_s + location = File.join(root.absolute_location, location) unless Sprockets.absolute?(location) + File.expand_path(location) + end + + def find_all(location) + load_path.map { |pathname| pathname.find(location) }.compact + end + end +end diff --git a/vendor/gems/gems/sprockets-1.0.2/lib/sprockets/error.rb b/vendor/gems/gems/sprockets-1.0.2/lib/sprockets/error.rb new file mode 100755 index 00000000..31a3b673 --- /dev/null +++ b/vendor/gems/gems/sprockets-1.0.2/lib/sprockets/error.rb @@ -0,0 +1,5 @@ +module Sprockets + class Error < ::StandardError; end + class LoadError < Error; end + class UndefinedConstantError < Error; end +end diff --git a/vendor/gems/gems/sprockets-1.0.2/lib/sprockets/pathname.rb b/vendor/gems/gems/sprockets-1.0.2/lib/sprockets/pathname.rb new file mode 100755 index 00000000..8d3b0860 --- /dev/null +++ b/vendor/gems/gems/sprockets-1.0.2/lib/sprockets/pathname.rb @@ -0,0 +1,37 @@ +module Sprockets + class Pathname + attr_reader :environment, :absolute_location + + def initialize(environment, absolute_location) + @environment = environment + @absolute_location = File.expand_path(absolute_location) + end + + # Returns a Pathname for the location relative to this pathname's absolute location. + def find(location, kind = :file) + location = File.join(absolute_location, location) + File.send("#{kind}?", location) ? Pathname.new(environment, location) : nil + end + + def parent_pathname + Pathname.new(environment, File.dirname(absolute_location)) + end + + def source_file + SourceFile.new(environment, self) + end + + def contents + IO.read(absolute_location) + end + + def ==(pathname) + environment == pathname.environment && + absolute_location == pathname.absolute_location + end + + def to_s + absolute_location + end + end +end diff --git a/vendor/gems/gems/sprockets-1.0.2/lib/sprockets/preprocessor.rb b/vendor/gems/gems/sprockets-1.0.2/lib/sprockets/preprocessor.rb new file mode 100755 index 00000000..ed9a636d --- /dev/null +++ b/vendor/gems/gems/sprockets-1.0.2/lib/sprockets/preprocessor.rb @@ -0,0 +1,91 @@ +module Sprockets + class Preprocessor + attr_reader :environment, :concatenation, :source_files, :asset_paths + + def initialize(environment, options = {}) + @environment = environment + @concatenation = Concatenation.new + @source_files = [] + @asset_paths = [] + @options = options + end + + def require(source_file) + return if source_files.include?(source_file) + source_files << source_file + + source_file.each_source_line do |source_line| + if source_line.require? + require_from_source_line(source_line) + elsif source_line.provide? + provide_from_source_line(source_line) + else + record_source_line(source_line) + end + end + end + + def provide(asset_path) + return if !asset_path || asset_paths.include?(asset_path) + asset_paths << asset_path + end + + protected + attr_reader :options + + def require_from_source_line(source_line) + require pathname_from(source_line).source_file + end + + def provide_from_source_line(source_line) + provide asset_path_from(source_line) + end + + def record_source_line(source_line) + unless source_line.comment? && strip_comments? + concatenation.record(source_line) + end + end + + def strip_comments? + options[:strip_comments] != false + end + + def pathname_from(source_line) + pathname = send(pathname_finder_from(source_line), source_line) + raise_load_error_for(source_line) unless pathname + pathname + end + + def pathname_for_require_from(source_line) + environment.find(location_from(source_line)) + end + + def pathname_for_relative_require_from(source_line) + source_line.source_file.find(location_from(source_line)) + end + + def pathname_finder_from(source_line) + "pathname_for_#{kind_of_require_from(source_line)}_from" + end + + def kind_of_require_from(source_line) + source_line.require[/^(.)/, 1] == '"' ? :relative_require : :require + end + + def location_from(source_line) + location = source_line.require[/^.(.*).$/, 1] + File.join(File.dirname(location), File.basename(location, ".js") + ".js") + end + + def asset_path_from(source_line) + source_line.source_file.find(source_line.provide, :directory) + end + + def raise_load_error_for(source_line) + kind = kind_of_require_from(source_line).to_s.tr("_", " ") + file = File.split(location_from(source_line)).last + raise LoadError, "can't find file for #{kind} `#{file}' (#{source_line.inspect})" + end + end +end diff --git a/vendor/gems/gems/sprockets-1.0.2/lib/sprockets/secretary.rb b/vendor/gems/gems/sprockets-1.0.2/lib/sprockets/secretary.rb new file mode 100755 index 00000000..ded5acca --- /dev/null +++ b/vendor/gems/gems/sprockets-1.0.2/lib/sprockets/secretary.rb @@ -0,0 +1,106 @@ +module Sprockets + class Secretary + DEFAULT_OPTIONS = { + :root => ".", + :load_path => [], + :source_files => [], + :expand_paths => true + } + + attr_reader :environment, :preprocessor + + def initialize(options = {}) + reset!(options) + end + + def reset!(options = @options) + @options = DEFAULT_OPTIONS.merge(options) + @environment = Sprockets::Environment.new(@options[:root]) + @preprocessor = Sprockets::Preprocessor.new(@environment) + + add_load_locations(@options[:load_path]) + add_source_files(@options[:source_files]) + end + + def add_load_location(load_location, options = {}) + add_load_locations([load_location], options) + end + + def add_load_locations(load_locations, options = {}) + expand_paths(load_locations, options).each do |load_location| + environment.register_load_location(load_location) + end + end + + def add_source_file(source_file, options = {}) + add_source_files([source_file], options) + end + + def add_source_files(source_files, options = {}) + expand_paths(source_files, options).each do |source_file| + if pathname = environment.find(source_file) + preprocessor.require(pathname.source_file) + else + raise Sprockets::LoadError, "no such file `#{source_file}'" + end + end + end + + def concatenation + preprocessor.concatenation + end + + def install_assets + if @options[:asset_root] + preprocessor.asset_paths.each do |asset_path| + copy_assets_from(asset_path.absolute_location) + end + end + end + + def source_last_modified + preprocessor.source_files.map { |s| s.mtime }.max + end + + protected + def expand_paths(paths, options = {}) + if options.has_key?(:expand_paths) ? options[:expand_paths] : @options[:expand_paths] + paths.map { |path| Dir[from_root(path)].sort }.flatten.compact + else + paths.map { |path| from_root(path) } + end + end + + def from_root(path) + if Sprockets.absolute?(path) + path + else + File.join(@options[:root], path) + end + end + + def copy_assets_from(asset_path) + relative_file_paths_beneath(asset_path).each do |filename| + source, destination = File.join(asset_path, filename), File.join(asset_root, File.dirname(filename)) + if !File.directory?(source) + FileUtils.mkdir_p(destination) + FileUtils.cp(source, destination) + end + end + end + + def relative_file_paths_beneath(path) + Dir[File.join(path, "**", "*")].map do |filename| + File.join(*path_pieces(filename)[path_pieces(path).length..-1]) + end + end + + def asset_root + from_root(@options[:asset_root]) + end + + def path_pieces(path) + path.split(File::SEPARATOR) + end + end +end diff --git a/vendor/gems/gems/sprockets-1.0.2/lib/sprockets/source_file.rb b/vendor/gems/gems/sprockets-1.0.2/lib/sprockets/source_file.rb new file mode 100755 index 00000000..8dfa5253 --- /dev/null +++ b/vendor/gems/gems/sprockets-1.0.2/lib/sprockets/source_file.rb @@ -0,0 +1,54 @@ +module Sprockets + class SourceFile + attr_reader :environment, :pathname + + def initialize(environment, pathname) + @environment = environment + @pathname = pathname + end + + def source_lines + @lines ||= begin + lines = [] + + comments = [] + File.open(pathname.absolute_location) do |file| + file.each do |line| + lines << line = SourceLine.new(self, line, file.lineno) + + if line.begins_pdoc_comment? || comments.any? + comments << line + end + + if line.ends_multiline_comment? + if line.ends_pdoc_comment? + comments.each { |l| l.comment! } + end + comments.clear + end + end + end + + lines + end + end + + def each_source_line(&block) + source_lines.each(&block) + end + + def find(location, kind = :file) + pathname.parent_pathname.find(location, kind) + end + + def ==(source_file) + pathname == source_file.pathname + end + + def mtime + File.mtime(pathname.absolute_location) + rescue Errno::ENOENT + Time.now + end + end +end diff --git a/vendor/gems/gems/sprockets-1.0.2/lib/sprockets/source_line.rb b/vendor/gems/gems/sprockets-1.0.2/lib/sprockets/source_line.rb new file mode 100755 index 00000000..76c8ee69 --- /dev/null +++ b/vendor/gems/gems/sprockets-1.0.2/lib/sprockets/source_line.rb @@ -0,0 +1,82 @@ +module Sprockets + class SourceLine + attr_reader :source_file, :line, :number + + def initialize(source_file, line, number) + @source_file = source_file + @line = line + @number = number + end + + def comment + @comment ||= line[/^\s*\/\/(.*)/, 1] + end + + def comment? + !!comment + end + + def comment! + @comment = line + end + + def begins_multiline_comment? + line =~ /^\s*\/\*(.*)/ + end + + def begins_pdoc_comment? + line =~ /^\s*\/\*\*(.*)/ + end + + def ends_multiline_comment? + line =~ /^(.*)\*\/\s*/ + end + + def ends_pdoc_comment? + line =~ /^(.*)\*\*\/\s*/ + end + + def require + @require ||= (comment || "")[/^=\s+require\s+(\"(.*?)\"|<(.*?)>)\s*$/, 1] + end + + def require? + !!require + end + + def provide + @provide ||= (comment || "")[/^=\s+provide\s+\"(.*?)\"\s*$/, 1] + end + + def provide? + !!provide + end + + def inspect + "line #@number of #{@source_file.pathname}" + end + + def to_s(constants = source_file.environment.constants) + result = line.chomp + interpolate_constants!(result, constants) + strip_trailing_whitespace!(result) + result + $/ + end + + protected + def interpolate_constants!(result, constants) + result.gsub!(/<%=(.*?)%>/) do + constant = $1.strip + if value = constants[constant] + value + else + raise UndefinedConstantError, "couldn't find constant `#{constant}' in #{inspect}" + end + end + end + + def strip_trailing_whitespace!(result) + result.gsub!(/\s+$/, "") + end + end +end diff --git a/vendor/gems/gems/sprockets-1.0.2/lib/sprockets/version.rb b/vendor/gems/gems/sprockets-1.0.2/lib/sprockets/version.rb new file mode 100755 index 00000000..f9303add --- /dev/null +++ b/vendor/gems/gems/sprockets-1.0.2/lib/sprockets/version.rb @@ -0,0 +1,9 @@ +module Sprockets + module Version + MAJOR = 1 + MINOR = 0 + TINY = 2 + + STRING = [MAJOR, MINOR, TINY].join(".") + end +end diff --git a/vendor/gems/gems/sprockets-1.0.2/test/fixtures/assets/images/script_with_assets/one.png b/vendor/gems/gems/sprockets-1.0.2/test/fixtures/assets/images/script_with_assets/one.png new file mode 100755 index 00000000..5626abf0 --- /dev/null +++ b/vendor/gems/gems/sprockets-1.0.2/test/fixtures/assets/images/script_with_assets/one.png @@ -0,0 +1 @@ +one diff --git a/vendor/gems/gems/sprockets-1.0.2/test/fixtures/assets/images/script_with_assets/two.png b/vendor/gems/gems/sprockets-1.0.2/test/fixtures/assets/images/script_with_assets/two.png new file mode 100755 index 00000000..f719efd4 --- /dev/null +++ b/vendor/gems/gems/sprockets-1.0.2/test/fixtures/assets/images/script_with_assets/two.png @@ -0,0 +1 @@ +two diff --git a/vendor/gems/gems/sprockets-1.0.2/test/fixtures/assets/stylesheets/script_with_assets.css b/vendor/gems/gems/sprockets-1.0.2/test/fixtures/assets/stylesheets/script_with_assets.css new file mode 100755 index 00000000..da84fa5f --- /dev/null +++ b/vendor/gems/gems/sprockets-1.0.2/test/fixtures/assets/stylesheets/script_with_assets.css @@ -0,0 +1 @@ +/* nothing */ diff --git a/vendor/gems/gems/sprockets-1.0.2/test/fixtures/constants.yml b/vendor/gems/gems/sprockets-1.0.2/test/fixtures/constants.yml new file mode 100755 index 00000000..9ea45ed8 --- /dev/null +++ b/vendor/gems/gems/sprockets-1.0.2/test/fixtures/constants.yml @@ -0,0 +1 @@ +VERSION: 1.0 diff --git a/vendor/gems/gems/sprockets-1.0.2/test/fixtures/double_slash_comments_that_are_not_requires_should_be_ignored_when_strip_comments_is_false.js b/vendor/gems/gems/sprockets-1.0.2/test/fixtures/double_slash_comments_that_are_not_requires_should_be_ignored_when_strip_comments_is_false.js new file mode 100755 index 00000000..43fc8474 --- /dev/null +++ b/vendor/gems/gems/sprockets-1.0.2/test/fixtures/double_slash_comments_that_are_not_requires_should_be_ignored_when_strip_comments_is_false.js @@ -0,0 +1,8 @@ +// This is a double-slash comment that should appear in the resulting output file. +/* This is a slash-star comment that should appear in the resulting output file. */ +/* This is multiline slash-star comment +* that should appear in the resulting +* output file */ +/** + This is not a PDoc comment that should appear in the resulting output file. +*/ diff --git a/vendor/gems/gems/sprockets-1.0.2/test/fixtures/double_slash_comments_that_are_not_requires_should_be_removed_by_default.js b/vendor/gems/gems/sprockets-1.0.2/test/fixtures/double_slash_comments_that_are_not_requires_should_be_removed_by_default.js new file mode 100755 index 00000000..d87c260d --- /dev/null +++ b/vendor/gems/gems/sprockets-1.0.2/test/fixtures/double_slash_comments_that_are_not_requires_should_be_removed_by_default.js @@ -0,0 +1,2 @@ +// This is a double-slash comment that should not appear in the resulting output file. +/* This is a slash-star comment that should not appear in the resulting output file. */ diff --git a/vendor/gems/gems/sprockets-1.0.2/test/fixtures/multiline_comments_should_be_removed_by_default.js b/vendor/gems/gems/sprockets-1.0.2/test/fixtures/multiline_comments_should_be_removed_by_default.js new file mode 100755 index 00000000..8b169adb --- /dev/null +++ b/vendor/gems/gems/sprockets-1.0.2/test/fixtures/multiline_comments_should_be_removed_by_default.js @@ -0,0 +1,4 @@ +/** + * This is a PDoc comment + * that should appear in the resulting output file. +**/ diff --git a/vendor/gems/gems/sprockets-1.0.2/test/fixtures/requiring_a_file_after_it_has_already_been_required_should_do_nothing.js b/vendor/gems/gems/sprockets-1.0.2/test/fixtures/requiring_a_file_after_it_has_already_been_required_should_do_nothing.js new file mode 100755 index 00000000..497a4c1b --- /dev/null +++ b/vendor/gems/gems/sprockets-1.0.2/test/fixtures/requiring_a_file_after_it_has_already_been_required_should_do_nothing.js @@ -0,0 +1,5 @@ +var before_first_require; +//= require +var after_first_require_and_before_second_require; +//= require +var after_second_require; diff --git a/vendor/gems/gems/sprockets-1.0.2/test/fixtures/requiring_a_file_that_does_not_exist_should_raise_an_error.js b/vendor/gems/gems/sprockets-1.0.2/test/fixtures/requiring_a_file_that_does_not_exist_should_raise_an_error.js new file mode 100755 index 00000000..cd8230d2 --- /dev/null +++ b/vendor/gems/gems/sprockets-1.0.2/test/fixtures/requiring_a_file_that_does_not_exist_should_raise_an_error.js @@ -0,0 +1 @@ +//= require diff --git a/vendor/gems/gems/sprockets-1.0.2/test/fixtures/requiring_a_single_file_should_replace_the_require_comment_with_the_file_contents.js b/vendor/gems/gems/sprockets-1.0.2/test/fixtures/requiring_a_single_file_should_replace_the_require_comment_with_the_file_contents.js new file mode 100755 index 00000000..86d8a974 --- /dev/null +++ b/vendor/gems/gems/sprockets-1.0.2/test/fixtures/requiring_a_single_file_should_replace_the_require_comment_with_the_file_contents.js @@ -0,0 +1,3 @@ +var before_require; +//= require +var after_require; diff --git a/vendor/gems/gems/sprockets-1.0.2/test/fixtures/requiring_the_current_file_should_do_nothing.js b/vendor/gems/gems/sprockets-1.0.2/test/fixtures/requiring_the_current_file_should_do_nothing.js new file mode 100755 index 00000000..d9305bd5 --- /dev/null +++ b/vendor/gems/gems/sprockets-1.0.2/test/fixtures/requiring_the_current_file_should_do_nothing.js @@ -0,0 +1 @@ +//= require "requiring_the_current_file_should_do_nothing" diff --git a/vendor/gems/gems/sprockets-1.0.2/test/fixtures/src/constants.yml b/vendor/gems/gems/sprockets-1.0.2/test/fixtures/src/constants.yml new file mode 100755 index 00000000..baf4edb9 --- /dev/null +++ b/vendor/gems/gems/sprockets-1.0.2/test/fixtures/src/constants.yml @@ -0,0 +1,3 @@ +ONE: one +TWO: two +HELLO: Hello world! diff --git a/vendor/gems/gems/sprockets-1.0.2/test/fixtures/src/foo.js b/vendor/gems/gems/sprockets-1.0.2/test/fixtures/src/foo.js new file mode 100755 index 00000000..b8514fef --- /dev/null +++ b/vendor/gems/gems/sprockets-1.0.2/test/fixtures/src/foo.js @@ -0,0 +1 @@ +var Foo = { }; diff --git a/vendor/gems/gems/sprockets-1.0.2/test/fixtures/src/foo/bar.js b/vendor/gems/gems/sprockets-1.0.2/test/fixtures/src/foo/bar.js new file mode 100755 index 00000000..dd4d767d --- /dev/null +++ b/vendor/gems/gems/sprockets-1.0.2/test/fixtures/src/foo/bar.js @@ -0,0 +1,4 @@ +//= require "bar" +var FooBar = { }; + +/* Hello! */ diff --git a/vendor/gems/gems/sprockets-1.0.2/test/fixtures/src/foo/foo.js b/vendor/gems/gems/sprockets-1.0.2/test/fixtures/src/foo/foo.js new file mode 100755 index 00000000..290e951e --- /dev/null +++ b/vendor/gems/gems/sprockets-1.0.2/test/fixtures/src/foo/foo.js @@ -0,0 +1 @@ +var FooFoo = { }; diff --git a/vendor/gems/gems/sprockets-1.0.2/test/fixtures/src/script_with_assets.js b/vendor/gems/gems/sprockets-1.0.2/test/fixtures/src/script_with_assets.js new file mode 100755 index 00000000..91aa4298 --- /dev/null +++ b/vendor/gems/gems/sprockets-1.0.2/test/fixtures/src/script_with_assets.js @@ -0,0 +1,3 @@ +//= provide "../assets" + +var ScriptWithAssets = { }; diff --git a/vendor/gems/gems/sprockets-1.0.2/test/test_concatenation.rb b/vendor/gems/gems/sprockets-1.0.2/test/test_concatenation.rb new file mode 100755 index 00000000..18c490c0 --- /dev/null +++ b/vendor/gems/gems/sprockets-1.0.2/test/test_concatenation.rb @@ -0,0 +1,28 @@ +require "test_helper" + +class ConcatenationTest < Test::Unit::TestCase + def setup + @concatenation = Sprockets::Concatenation.new + @environment = environment_for_fixtures + end + + def test_record + assert_equal [], @concatenation.source_lines + assert_equal "hello\n", @concatenation.record(source_line("hello\n")).to_s + assert_equal "world\n", @concatenation.record(source_line("world\n")).to_s + assert_equal ["hello\n", "world\n"], @concatenation.source_lines.map { |source_line| source_line.to_s } + end + + def test_to_s + @concatenation.record(source_line("hello\n")) + @concatenation.record(source_line("world\n")) + assert_equal "hello\nworld\n", @concatenation.to_s + end + + def test_save_to + filename = File.join(FIXTURES_PATH, "output.js") + @concatenation.save_to(filename) + assert_equal @concatenation.to_s, IO.read(filename) + File.unlink(filename) + end +end diff --git a/vendor/gems/gems/sprockets-1.0.2/test/test_environment.rb b/vendor/gems/gems/sprockets-1.0.2/test/test_environment.rb new file mode 100755 index 00000000..a65e3bf7 --- /dev/null +++ b/vendor/gems/gems/sprockets-1.0.2/test/test_environment.rb @@ -0,0 +1,64 @@ +require "test_helper" + +class EnvironmentTest < Test::Unit::TestCase + def test_load_path_locations_become_pathnames_for_absolute_locations_from_the_root + environment = Sprockets::Environment.new("/root", ["/a", "b"]) + assert_load_path_equals ["/a", "/root/b", "/root"], environment + end + + def test_pathname_from_for_location_with_leading_slash_should_return_a_pathname_with_the_location_unchanged + environment = Sprockets::Environment.new("/root") + assert_absolute_location "/a", environment.pathname_from("/a") + end + + def test_pathname_from_for_relative_location_should_return_a_pathname_for_the_expanded_absolute_location_from_root + environment = Sprockets::Environment.new("/root") + assert_absolute_location "/root/a", environment.pathname_from("a") + assert_absolute_location "/root/a", environment.pathname_from("./a") + assert_absolute_location "/a", environment.pathname_from("../a") + end + + def test_register_load_location_should_unshift_the_location_onto_the_load_path + environment = Sprockets::Environment.new("/root") + environment.register_load_location("a") + assert_load_path_equals ["/root/a", "/root"], environment + environment.register_load_location("b") + assert_load_path_equals ["/root/b", "/root/a", "/root"], environment + end + + def test_register_load_location_should_remove_already_existing_locations_before_unshifting + environment = Sprockets::Environment.new("/root") + environment.register_load_location("a") + environment.register_load_location("b") + assert_load_path_equals ["/root/b", "/root/a", "/root"], environment + environment.register_load_location("a") + assert_load_path_equals ["/root/a", "/root/b", "/root"], environment + end + + def test_find_should_return_the_first_matching_pathname_in_the_load_path + environment = environment_for_fixtures + first_pathname = environment.find("foo.js") + assert_absolute_location_ends_with "src/foo.js", first_pathname + + environment.register_load_location(File.join(FIXTURES_PATH, "src", "foo")) + second_pathname = environment.find("foo.js") + assert_not_equal first_pathname, second_pathname + assert_absolute_location_ends_with "foo/foo.js", second_pathname + end + + def test_find_should_return_nil_when_no_matching_source_file_is_found + environment = environment_for_fixtures + assert_nil environment.find("nonexistent.js") + end + + def test_constants_should_return_a_hash_of_all_constants_defined_in_the_load_path + constants = environment_for_fixtures.constants + assert_kind_of Hash, constants + assert_equal %w(HELLO ONE TWO VERSION), constants.keys.sort + end + + protected + def assert_load_path_equals(load_path_absolute_locations, environment) + assert load_path_absolute_locations.zip(environment.load_path).map { |location, pathname| File.expand_path(location) == pathname.absolute_location }.all? + end +end diff --git a/vendor/gems/gems/sprockets-1.0.2/test/test_helper.rb b/vendor/gems/gems/sprockets-1.0.2/test/test_helper.rb new file mode 100755 index 00000000..fcb2ad44 --- /dev/null +++ b/vendor/gems/gems/sprockets-1.0.2/test/test_helper.rb @@ -0,0 +1,55 @@ +require File.join(File.dirname(__FILE__), *%w".. lib sprockets") +require "test/unit" +require "fileutils" +require "tmpdir" + +class Test::Unit::TestCase + FIXTURES_PATH = File.expand_path(File.join(File.dirname(__FILE__), "fixtures")) unless defined?(FIXTURES_PATH) + + protected + def location_for_fixture(fixture) + File.join(FIXTURES_PATH, fixture) + end + + def content_of_fixture(fixture) + IO.read(location_for_fixture(fixture)) + end + + def environment_for_fixtures + Sprockets::Environment.new(FIXTURES_PATH, source_directories_in_fixtures_path) + end + + def source_directories_in_fixtures_path + Dir[File.join(FIXTURES_PATH, "**", "src")] + end + + def assert_absolute_location(location, pathname) + assert_equal File.expand_path(location), pathname.absolute_location + end + + def assert_absolute_location_ends_with(location_ending, pathname) + assert pathname.absolute_location[/#{Regexp.escape(location_ending)}$/] + end + + def pathname(location, environment = @environment) + Sprockets::Pathname.new(environment, File.join(FIXTURES_PATH, location)) + end + + def source_file(location, environment = @environment) + Sprockets::SourceFile.new(environment, pathname(location, environment)) + end + + def source_line(line, source_file = nil, line_number = 1) + Sprockets::SourceLine.new(source_file || source_file("dummy"), line, line_number) + end + + def with_temporary_directory + path = File.join(Dir.tmpdir, [caller[0][/`(.*)'/, 1], Time.now.to_f].join("_")) + begin + FileUtils.mkdir(path) + yield path + ensure + FileUtils.rm_rf(path) + end + end +end diff --git a/vendor/gems/gems/sprockets-1.0.2/test/test_pathname.rb b/vendor/gems/gems/sprockets-1.0.2/test/test_pathname.rb new file mode 100755 index 00000000..7860a704 --- /dev/null +++ b/vendor/gems/gems/sprockets-1.0.2/test/test_pathname.rb @@ -0,0 +1,43 @@ +require "test_helper" + +class PathnameTest < Test::Unit::TestCase + def setup + @environment = environment_for_fixtures + end + + def test_absolute_location_is_automatically_expanded + expanded_location = File.expand_path(File.join(FIXTURES_PATH, "foo")) + assert_absolute_location expanded_location, pathname("foo") + assert_absolute_location expanded_location, pathname("./foo") + assert_absolute_location expanded_location, pathname("./foo/../foo") + end + + def test_find_should_return_a_pathname_for_the_location_relative_to_the_absolute_location_of_the_pathname + assert_absolute_location_ends_with "src/foo/bar.js", pathname("src/foo").find("bar.js") + end + + def test_find_should_return_nil_when_the_location_relative_to_the_absolute_location_of_the_pathname_is_not_a_file_or_does_not_exist + assert_nil pathname("src/foo").find("nonexistent.js") + end + + def test_parent_pathname_should_return_a_pathname_for_the_parent_directory + assert_absolute_location_ends_with "src", pathname("src/foo").parent_pathname + assert_absolute_location_ends_with "foo", pathname("src/foo/foo.js").parent_pathname + end + + def test_source_file_should_return_a_source_file_for_the_pathname + source_file = pathname("src/foo.js").source_file + assert_kind_of Sprockets::SourceFile, source_file + assert_equal pathname("src/foo.js"), source_file.pathname + end + + def test_equality_of_pathnames + assert_equal pathname("src/foo.js"), pathname("src/foo.js") + assert_equal pathname("src/foo.js"), pathname("src/foo/../foo.js") + assert_not_equal pathname("src/foo.js"), pathname("src/foo/foo.js") + end + + def test_to_s_should_return_absolute_location + assert_equal pathname("src/foo.js").to_s, pathname("src/foo.js").absolute_location + end +end diff --git a/vendor/gems/gems/sprockets-1.0.2/test/test_preprocessor.rb b/vendor/gems/gems/sprockets-1.0.2/test/test_preprocessor.rb new file mode 100755 index 00000000..1933767f --- /dev/null +++ b/vendor/gems/gems/sprockets-1.0.2/test/test_preprocessor.rb @@ -0,0 +1,107 @@ +require "test_helper" + +class PreprocessorTest < Test::Unit::TestCase + def setup + @environment = environment_for_fixtures + @preprocessor = Sprockets::Preprocessor.new(@environment) + end + + def test_double_slash_comments_that_are_not_requires_should_be_removed_by_default + require_file_for_this_test + assert_concatenation_does_not_contain_line "// This is a double-slash comment that should not appear in the resulting output file." + assert_concatenation_contains_line "/* This is a slash-star comment that should not appear in the resulting output file. */" + end + + def test_double_slash_comments_that_are_not_requires_should_be_ignored_when_strip_comments_is_false + @preprocessor = Sprockets::Preprocessor.new(@environment, :strip_comments => false) + require_file_for_this_test + assert_concatenation_contains_line "// This is a double-slash comment that should appear in the resulting output file." + assert_concatenation_contains_line "/* This is a slash-star comment that should appear in the resulting output file. */" + + assert_concatenation_contains_line "/* This is multiline slash-star comment" + assert_concatenation_contains_line "* that should appear in the resulting" + assert_concatenation_contains_line "* output file */" + + assert_concatenation_contains_line "This is not a PDoc comment that should appear in the resulting output file." + end + + def test_multiline_comments_should_be_removed_by_default + require_file_for_this_test + assert_concatenation_does_not_contain_line "/**" + assert_concatenation_does_not_contain_line " * This is a PDoc comment" + assert_concatenation_does_not_contain_line " * that should appear in the resulting output file." + assert_concatenation_does_not_contain_line "**/" + end + + def test_requiring_a_single_file_should_replace_the_require_comment_with_the_file_contents + require_file_for_this_test + assert_concatenation_contains <<-LINES + var before_require; + var Foo = { }; + var after_require; + LINES + end + + def test_requiring_a_file_that_does_not_exist_should_raise_an_error + assert_raises(Sprockets::LoadError) do + require_file_for_this_test + end + end + + def test_requiring_the_current_file_should_do_nothing + require_file_for_this_test + assert_equal "", output_text + end + + def test_requiring_a_file_after_it_has_already_been_required_should_do_nothing + require_file_for_this_test + assert_concatenation_contains <<-LINES + var before_first_require; + var Foo = { }; + var after_first_require_and_before_second_require; + var after_second_require; + LINES + end + + protected + attr_reader :environment, :preprocessor + + def concatenation + preprocessor.concatenation + end + + def output_text + preprocessor.concatenation.to_s + end + + def source_lines_matching(line) + concatenation.source_lines.select { |source_line| source_line.line.strip == line } + end + + def require_file(location) + preprocessor.require(environment.find(location).source_file) + end + + def require_file_for_this_test + require_file(file_for_this_test) + end + + def file_for_this_test + caller.map { |c| c[/`(.*?)'$/, 1] }.grep(/^test_/).first[5..-1] + ".js" + end + + def assert_concatenation_does_not_contain_line(line) + assert source_lines_matching(line).empty?, "Expected #{line.inspect} to not exist" + end + + def assert_concatenation_contains_line(line) + assert source_lines_matching(line).any?, "Expected #{line.inspect} to exist" + end + + def assert_concatenation_contains(indented_text) + lines = indented_text.split($/) + initial_indent = lines.first[/^\s*/].length + unindented_text = lines.map { |line| line[initial_indent..-1] }.join($/) + assert output_text[unindented_text] + end +end diff --git a/vendor/gems/gems/sprockets-1.0.2/test/test_secretary.rb b/vendor/gems/gems/sprockets-1.0.2/test/test_secretary.rb new file mode 100755 index 00000000..a2e33250 --- /dev/null +++ b/vendor/gems/gems/sprockets-1.0.2/test/test_secretary.rb @@ -0,0 +1,83 @@ +require "test_helper" + +class SecretaryTest < Test::Unit::TestCase + def test_load_locations_are_not_expanded_when_expand_paths_is_false + secretary = Sprockets::Secretary.new(:root => FIXTURES_PATH) + secretary.add_load_location("src/**/", :expand_paths => false) + + assert_equal [File.join(FIXTURES_PATH, "src/**"), FIXTURES_PATH], + secretary.environment.load_path.map { |pathname| pathname.absolute_location } + end + + def test_load_locations_are_expanded_when_expand_paths_is_true + secretary = Sprockets::Secretary.new(:root => FIXTURES_PATH) + secretary.add_load_location("src/**/", :expand_paths => true) + + assert_equal [File.join(FIXTURES_PATH, "src", "foo"), File.join(FIXTURES_PATH, "src"), FIXTURES_PATH], + secretary.environment.load_path.map { |pathname| pathname.absolute_location } + end + + def test_source_files_are_not_expanded_when_expand_paths_is_false + secretary = Sprockets::Secretary.new(:root => FIXTURES_PATH) + assert_raises(Sprockets::LoadError) do + secretary.add_source_file("src/f*.js", :expand_paths => false) + end + end + + def test_source_files_are_expanded_when_expand_paths_is_true + secretary = Sprockets::Secretary.new(:root => FIXTURES_PATH) + secretary.add_source_file("src/f*.js", :expand_paths => true) + + assert_equal [File.join(FIXTURES_PATH, "src", "foo.js")], + secretary.preprocessor.source_files.map { |source_file| source_file.pathname.absolute_location } + end + + def test_install_assets_into_empty_directory + with_temporary_directory do |temp| + secretary = Sprockets::Secretary.new(:root => FIXTURES_PATH, :asset_root => temp) + secretary.add_source_file("src/script_with_assets.js") + + assert_equal [], Dir[File.join(temp, "**", "*")] + secretary.install_assets + assert_equal paths_relative_to(temp, + "images", "images/script_with_assets", "images/script_with_assets/one.png", + "images/script_with_assets/two.png", "stylesheets", "stylesheets/script_with_assets.css"), + Dir[File.join(temp, "**", "*")].sort + end + end + + def test_install_assets_into_nonexistent_directory + with_temporary_directory do |temp| + temp = File.join(temp, "assets") + secretary = Sprockets::Secretary.new(:root => FIXTURES_PATH, :asset_root => temp) + secretary.add_source_file("src/script_with_assets.js") + + assert_equal [], Dir[File.join(temp, "**", "*")] + secretary.install_assets + assert_equal paths_relative_to(temp, + "images", "images/script_with_assets", "images/script_with_assets/one.png", + "images/script_with_assets/two.png", "stylesheets", "stylesheets/script_with_assets.css"), + Dir[File.join(temp, "**", "*")].sort + end + end + + def test_install_assets_into_subdirectories_that_already_exist + with_temporary_directory do |temp| + secretary = Sprockets::Secretary.new(:root => FIXTURES_PATH, :asset_root => temp) + secretary.add_source_file("src/script_with_assets.js") + + FileUtils.mkdir_p(File.join(temp, "images", "script_with_assets")) + assert_equal paths_relative_to(temp, "images", "images/script_with_assets"), Dir[File.join(temp, "**", "*")] + secretary.install_assets + assert_equal paths_relative_to(temp, + "images", "images/script_with_assets", "images/script_with_assets/one.png", + "images/script_with_assets/two.png", "stylesheets", "stylesheets/script_with_assets.css"), + Dir[File.join(temp, "**", "*")].sort + end + end + + protected + def paths_relative_to(root, *paths) + paths.map { |path| File.join(root, path) } + end +end diff --git a/vendor/gems/gems/sprockets-1.0.2/test/test_source_file.rb b/vendor/gems/gems/sprockets-1.0.2/test/test_source_file.rb new file mode 100755 index 00000000..6c3d8945 --- /dev/null +++ b/vendor/gems/gems/sprockets-1.0.2/test/test_source_file.rb @@ -0,0 +1,34 @@ +require "test_helper" +require "enumerator" +Enumerator = Enumerable::Enumerator unless defined?(Enumerator) # for 1.9.1 compatibility + +class SourceFileTest < Test::Unit::TestCase + def setup + @environment = environment_for_fixtures + end + + def test_each_source_line + source_file_lines = Enumerator.new(source_file("src/foo/bar.js"), :each_source_line).to_a + assert_equal content_of_fixture("src/foo/bar.js"), source_file_lines.map { |line| line.line }.join + assert_equal 4, source_file_lines.length + end + + def test_find_should_return_pathname_for_file_relative_to_the_current_pathname + assert_absolute_location_ends_with "test/fixtures/src/foo/bar.js", source_file("src/foo/foo.js").find("bar.js") + end + + def test_find_should_return_nil_for_nonexistent_file + assert_nil source_file("src/foo/foo.js").find("nonexistent.js") + end + + def test_equality_of_source_files + assert_equal source_file("src/foo/foo.js"), source_file("src/foo/foo.js") + assert_equal source_file("src/foo/foo.js"), source_file("src/foo/../foo/foo.js") + assert_not_equal source_file("src/foo/foo.js"), source_file("src/foo.js") + assert_not_equal source_file("src/foo/foo.js"), source_file("src/foo/bar.js") + end + + def test_mtime_should_return_now_if_file_does_not_exist + assert source_file("src/foo/nonexistent.js").mtime.instance_of?(Time) + end +end diff --git a/vendor/gems/gems/sprockets-1.0.2/test/test_source_line.rb b/vendor/gems/gems/sprockets-1.0.2/test/test_source_line.rb new file mode 100755 index 00000000..bd2d8181 --- /dev/null +++ b/vendor/gems/gems/sprockets-1.0.2/test/test_source_line.rb @@ -0,0 +1,89 @@ +require "test_helper" + +class SourceLineTest < Test::Unit::TestCase + def test_line_that_begins_with_double_slash_should_be_a_comment + assert source_line("//").comment? + assert source_line("//test").comment? + assert source_line("//= require").comment? + assert source_line("//= require ").comment? + assert source_line(" //").comment? + assert source_line("\t//").comment? + end + + def test_line_that_begins_a_multiline_comment + assert source_line(" /*").begins_multiline_comment? + assert source_line(" /**").begins_multiline_comment? + end + + def test_line_that_begins_a_pdoc_comment + assert !source_line(" /*").begins_pdoc_comment? + assert source_line(" /**").begins_pdoc_comment? + end + + def test_line_that_ends_a_multiline_comment + assert source_line(" */").ends_multiline_comment? + assert source_line(" **/").ends_multiline_comment? + end + + def test_line_that_ends_a_pdoc_comment + assert !source_line(" */").ends_pdoc_comment? + assert source_line(" **/").ends_pdoc_comment? + end + + def test_line_that_contains_but_does_not_begin_with_double_slash_should_not_be_a_comment + assert !source_line("f //").comment? + assert !source_line("f //= require ").comment? + end + + def test_comment_should_be_extracted_from_comment_lines + assert_equal "test", source_line("//test").comment + assert_equal " test", source_line("// test").comment + assert_equal nil, source_line("f //test").comment + end + + def test_line_that_contains_require_comment_should_be_a_require + assert source_line("//= require ").require? + assert !source_line("//= require").require? + assert source_line("//= require \"foo\"").require? + assert !source_line("//= require f").require? + end + + def test_require_should_be_extracted_from_require_lines + assert_nil source_line("//= require").require + assert_equal "", source_line("//= require ").require + assert_equal "", source_line("//= require ").require + assert_equal "\"foo\"", source_line("//= require \"foo\"").require + end + + def test_line_that_contains_a_provide_comment_should_be_a_provide + assert source_line("//= provide \"../assets\"").provide? + assert !source_line("//= provide").provide? + assert !source_line("//= provide <../assets>").provide? + end + + def test_provide_should_be_extracted_from_provide_lines + assert_nil source_line("//= provide").provide + assert_equal "../assets", source_line("//= provide \"../assets\"").provide + end + + def test_inspect_should_include_source_file_location_and_line_number + environment = environment_for_fixtures + pathname = Sprockets::Pathname.new(environment, "/a/b/c.js") + source_file = Sprockets::SourceFile.new(environment, pathname) + assert_equal "line 25 of #{File.expand_path("/a/b/c.js")}", source_line("hello", source_file, 25).inspect + end + + def test_interpolation_of_constants + assert_equal %(var VERSION = "1.0";\n), source_line('var VERSION = "<%= VERSION %>";').to_s("VERSION" => "1.0") + end + + def test_interpolation_of_missing_constant_raises_undefined_constant_error + assert_raises(Sprockets::UndefinedConstantError) do + source_line('<%= NONEXISTENT %>').to_s("VERSION" => "1.0") + end + end + + def test_to_s_should_strip_trailing_whitespace_before_adding_line_ending + assert_equal "hello();\n", source_line("hello(); \t \r\n").to_s({}) + end +end diff --git a/vendor/gems/gems/templater-1.0.0/History.txt b/vendor/gems/gems/templater-1.0.0/History.txt new file mode 100755 index 00000000..cd4a548e --- /dev/null +++ b/vendor/gems/gems/templater-1.0.0/History.txt @@ -0,0 +1,3 @@ +=== 1.0.0 2009-08-27 + +* Ruby 1.9 compatibility diff --git a/vendor/gems/gems/templater-1.0.0/Manifest.txt b/vendor/gems/gems/templater-1.0.0/Manifest.txt new file mode 100755 index 00000000..50b749dd --- /dev/null +++ b/vendor/gems/gems/templater-1.0.0/Manifest.txt @@ -0,0 +1,64 @@ +History.txt +Manifest.txt +README.rdoc +Rakefile +lib/templater.rb +lib/templater/actions/action.rb +lib/templater/actions/directory.rb +lib/templater/actions/empty_directory.rb +lib/templater/actions/file.rb +lib/templater/actions/template.rb +lib/templater/capture_helpers.rb +lib/templater/cli/generator.rb +lib/templater/cli/manifold.rb +lib/templater/cli/parser.rb +lib/templater/core_ext/kernel.rb +lib/templater/core_ext/string.rb +lib/templater/description.rb +lib/templater/discovery.rb +lib/templater/generator.rb +lib/templater/manifold.rb +lib/templater/spec/helpers.rb +script/console +script/destroy +script/generate +spec/actions/directory_spec.rb +spec/actions/empty_directory_spec.rb +spec/actions/file_spec.rb +spec/actions/template_spec.rb +spec/core_ext/string_spec.rb +spec/generator/actions_spec.rb +spec/generator/arguments_spec.rb +spec/generator/desc_spec.rb +spec/generator/destination_root_spec.rb +spec/generator/empty_directories_spec.rb +spec/generator/files_spec.rb +spec/generator/generators_spec.rb +spec/generator/glob_spec.rb +spec/generator/invocations_spec.rb +spec/generator/invoke_spec.rb +spec/generator/options_spec.rb +spec/generator/render_spec.rb +spec/generator/source_root_spec.rb +spec/generator/templates_spec.rb +spec/manifold_spec.rb +spec/options_parser_spec.rb +spec/results/erb.rbs +spec/results/file.rbs +spec/results/random.rbs +spec/results/simple_erb.rbs +spec/spec_helper.rb +spec/spec_helpers_spec.rb +spec/templater_spec.rb +spec/templates/erb.rbt +spec/templates/glob/README +spec/templates/glob/arg.js +spec/templates/glob/hellothar.%feh% +spec/templates/glob/hellothar.html.%feh% +spec/templates/glob/subfolder/jessica_alba.jpg +spec/templates/glob/subfolder/monkey.rb +spec/templates/glob/test.rb +spec/templates/literals_erb.rbt +spec/templates/simple.rbt +spec/templates/simple_erb.rbt +templater.gemspec diff --git a/vendor/gems/gems/templater-1.0.0/README.rdoc b/vendor/gems/gems/templater-1.0.0/README.rdoc new file mode 100755 index 00000000..8072eef9 --- /dev/null +++ b/vendor/gems/gems/templater-1.0.0/README.rdoc @@ -0,0 +1,266 @@ += Templater + +* http://github.com/jnicklas/templater + +== Summary + +Templater is a Ruby framework for building code generators. + +== Description + +Templater has the ability to both copy files from A to B and also to render templates using ERB. Templater consists of four parts: + +- Actions (File copying routines, templates generation and directories creation routines). +- Generators (set of rules). +- Manifolds (generator suites). +- The command line interface. + +Hierarchy is pretty simple: manifold has one or many public and private generators. Public ones are supposed to be called +by end user. Generators have one or more action that specify what they do, where they take files, how they name resulting +files and so forth. + +== Idea behind Templater + +Templater is designed to be flexible and designed to be reflective. Generators created with templater are definitions of what goes where, they provide no interface for the user. This allows you to use templater generators inside your own code, or with the bundled CLI interface, or with your own interface. + +== Example + +This is how to create a very simple system for generating things: + + module MyGenerators + + extend Templater::Manifold + + class BlogGenerator < Templater::Generator + # directory this generator uses as source root when searching + # for files, directories, templates + def self.source_root + File.join(File.dirname(__FILE__), 'templates') + end + + # uses blog.rbt template (note conventional trailing t) + # placing resulting file to blog.rb relatively to + # destination root + template :blog, 'blog.rb' + + # does simple copy of me.jpg placing resulting file to me.jpg relatively to + # destination root + file :me, 'me.jpg' + + # creates empty directory public/javascripts relatively to + # destination root + empty_directory :javascripts, File.join("public", "javascripts") + end + + class WikiGenerator < Templater::Generator + + def self.source_root + File.join(File.dirname(__FILE__), 'templates') + end + + template :wiki, 'wiki.rb' + file :img, 'wiki.jpg' + + end + + # The generators are added to the manifold, and assigned the names 'wiki' and 'blog'. + # So you can call them + + Async Chat + + + +
    + Your first message will become your nickname! + Users: #{@users.map{|k,u|u.username}.join(', ')} +
    +
    + +
    + + + + EOPAGE + end + + def register_user(user_id, renderer) + body = create_user(user_id) + body.call render_page + body.errback { delete_user user_id } + body.callback { delete_user user_id } + + EventMachine::next_tick do + renderer.call [200, {'Content-Type' => 'text/html'}, body] + end + end + + def new_message(user_id, message) + return unless @users[user_id] + if @users[user_id].username == :anonymous + username = unique_username(message) + log "User: #{user_id} is #{username}" + @users[user_id].username = message + message = "-> #{username} signed on." + end + username ||= @users[user_id].username + log "User: #{username} sent: #{message}" + @users.each do |id, body| + EventMachine::next_tick { body.call [js_message(username, message)] } + end + end + + private + def unique_username(name) + name.concat('_') while @users.any? { |id,u| name == u.username } + name + end + + def log(str) + print str, "\n" + end + + def add_user(id, body) + @users[id] = body + end + + def delete_user(id) + message = "User: #{id} - #{@users[id].username if @users[id]} disconnected." + log message + new_message(id, message) + @users.delete id + end + + def js_message(username, message) + %() + end + + def create_user(id) + message = "User: #{id} connected." + log message + new_message(id, message) + body = DeferrableBody.new + body.extend UserBody + body.username = :anonymous + add_user(id, body) + body + end + +end + +class AsyncChat + + AsyncResponse = [-1, {}, []].freeze + AjaxResponse = [200, {}, []].freeze + + def initialize + @chat = Chat.new + end + + def call(env) + request = Rack::Request.new(env) + # TODO - cookie me, baby + user_id = request.env['REMOTE_ADDR'] + if request.xhr? + message = request['message'] + @chat.new_message(user_id, Rack::Utils.escape_html(message)) + AjaxResponse + else + renderer = request.env['async.callback'] + @chat.register_user(user_id, renderer) + AsyncResponse + end + end + +end + +run AsyncChat.new diff --git a/vendor/gems/gems/thin-1.2.5/example/async_tailer.ru b/vendor/gems/gems/thin-1.2.5/example/async_tailer.ru new file mode 100755 index 00000000..467f0df6 --- /dev/null +++ b/vendor/gems/gems/thin-1.2.5/example/async_tailer.ru @@ -0,0 +1,100 @@ +#!/usr/bin/env rackup -s thin +# +# async_tailer.ru +# raggi/thin +# +# Tested with 150 spawned tails on OS X +# +# Created by James Tucker on 2008-06-18. +# Copyright 2008 James Tucker . + +# Uncomment if appropriate for you.. +# EM.epoll +# EM.kqueue + +class DeferrableBody + include EventMachine::Deferrable + + def initialize + @queue = [] + # make sure to flush out the queue before closing the connection + callback{ + until @queue.empty? + @queue.shift.each{|chunk| @body_callback.call(chunk) } + end + } + end + + def schedule_dequeue + return unless @body_callback + EventMachine::next_tick do + next unless body = @queue.shift + body.each do |chunk| + @body_callback.call(chunk) + end + schedule_dequeue unless @queue.empty? + end + end + + def call(body) + @queue << body + schedule_dequeue + end + + def each &blk + @body_callback = blk + schedule_dequeue + end + +end + +module TailRenderer + attr_accessor :callback + + def receive_data(data) + @callback.call([data]) + end + + def unbind + @callback.succeed + end +end + +class AsyncTailer + + AsyncResponse = [-1, {}, []].freeze + + def call(env) + + body = DeferrableBody.new + + EventMachine::next_tick do + + env['async.callback'].call [200, {'Content-Type' => 'text/html'}, body] + + body.call ["

    Async Tailer

    "]
    +      
    +    end
    +    
    +    EventMachine::popen('tail -f /var/log/system.log', TailRenderer) do |t|
    +      
    +      t.callback = body
    +      
    +      # If for some reason we 'complete' body, close the tail.
    +      body.callback do
    +        t.close_connection
    +      end
    +      
    +      # If for some reason the client disconnects, close the tail.
    +      body.errback do
    +        t.close_connection
    +      end
    +      
    +    end
    +    
    +    AsyncResponse
    +  end
    +  
    +end
    +
    +run AsyncTailer.new
    diff --git a/vendor/gems/gems/thin-1.2.5/example/config.ru b/vendor/gems/gems/thin-1.2.5/example/config.ru
    new file mode 100755
    index 00000000..bc655f85
    --- /dev/null
    +++ b/vendor/gems/gems/thin-1.2.5/example/config.ru
    @@ -0,0 +1,22 @@
    +# Run with: rackup -s thin
    +# then browse to http://localhost:9292
    +# Or with: thin start -R config.ru
    +# then browse to http://localhost:3000
    +# 
    +# Check Rack::Builder doc for more details on this file format:
    +#  http://rack.rubyforge.org/doc/classes/Rack/Builder.html
    +require 'thin'
    +
    +app = proc do |env|
    +  # Response body has to respond to each and yield strings
    +  # See Rack specs for more info: http://rack.rubyforge.org/doc/files/SPEC.html
    +  body = ['hi!']
    +  
    +  [
    +    200,                                        # Status code
    +    { 'Content-Type' => 'text/html' },          # Reponse headers
    +    body                                        # Body of the response
    +  ]
    +end
    +
    +run app
    \ No newline at end of file
    diff --git a/vendor/gems/gems/thin-1.2.5/example/monit_sockets b/vendor/gems/gems/thin-1.2.5/example/monit_sockets
    new file mode 100755
    index 00000000..0af51e91
    --- /dev/null
    +++ b/vendor/gems/gems/thin-1.2.5/example/monit_sockets
    @@ -0,0 +1,20 @@
    +check process blog1
    +    with pidfile /u/apps/blog/shared/pids/thin.14000.pid
    +    start program = "/usr/local/bin/ruby /usr/local/bin/thin start -d -e production -u nobody -g nobody -p 14000 -a 127.0.0.1 -P tmp/pids/thin.14000.pid -c /u/apps/blog/current"
    +    stop program  = "/usr/local/bin/ruby /usr/local/bin/thin stop -P /u/apps/blog/shared/pids/thin.14000.pid"
    +    if totalmem > 90.0 MB for 5 cycles then restart
    +    if failed port 14000 then restart
    +    if cpu usage > 95% for 3 cycles then restart
    +    if 5 restarts within 5 cycles then timeout
    +		group blog
    +
    +check process blog2
    +    with pidfile /u/apps/blog/shared/pids/thin.14001.pid
    +    start program = "/usr/local/bin/ruby /usr/local/bin/thin start -d -e production -u nobody -g nobody -p 14001 -a 127.0.0.1 -P tmp/pids/thin.14001.pid -c /u/apps/blog/current"
    +    stop program  = "/usr/local/bin/ruby /usr/local/bin/thin stop -P /u/apps/blog/shared/pids/thin.14001.pid"
    +    if totalmem > 90.0 MB for 5 cycles then restart
    +    if failed port 14001 then restart
    +    if cpu usage > 95% for 3 cycles then restart
    +    if 5 restarts within 5 cycles then timeout
    +		group blog
    +
    diff --git a/vendor/gems/gems/thin-1.2.5/example/monit_unixsock b/vendor/gems/gems/thin-1.2.5/example/monit_unixsock
    new file mode 100755
    index 00000000..445bffac
    --- /dev/null
    +++ b/vendor/gems/gems/thin-1.2.5/example/monit_unixsock
    @@ -0,0 +1,20 @@
    +check process blog1
    +    with pidfile /u/apps/blog/shared/pids/thin.1.pid
    +    start program = "/usr/local/bin/ruby /usr/local/bin/thin start -d -e production -S /u/apps/blog/shared/pids/thin.1.sock -P tmp/pids/thin.1.pid -c /u/apps/blog/current"
    +    stop program  = "/usr/local/bin/ruby /usr/local/bin/thin stop -P /u/apps/blog/shared/pids/thin.1.pid"
    +    if totalmem > 90.0 MB for 5 cycles then restart
    +		if failed unixsocket /u/apps/blog/shared/pids/thin.1.sock then restart
    +    if cpu usage > 95% for 3 cycles then restart
    +    if 5 restarts within 5 cycles then timeout
    +		group blog
    +
    +check process blog2
    +    with pidfile /u/apps/blog/shared/pids/thin.2.pid
    +    start program = "/usr/local/bin/ruby /usr/local/bin/thin start -d -e production -S /u/apps/blog/shared/pids/thin.2.sock -P tmp/pids/thin.2.pid -c /u/apps/blog/current"
    +    stop program  = "/usr/local/bin/ruby /usr/local/bin/thin stop -P /u/apps/blog/shared/pids/thin.2.pid"
    +    if totalmem > 90.0 MB for 5 cycles then restart
    +		if failed unixsocket /u/apps/blog/shared/pids/thin.2.sock then restart
    +    if cpu usage > 95% for 3 cycles then restart
    +    if 5 restarts within 5 cycles then timeout
    +		group blog
    +
    diff --git a/vendor/gems/gems/thin-1.2.5/example/myapp.rb b/vendor/gems/gems/thin-1.2.5/example/myapp.rb
    new file mode 100755
    index 00000000..02e617f3
    --- /dev/null
    +++ b/vendor/gems/gems/thin-1.2.5/example/myapp.rb
    @@ -0,0 +1 @@
    +Myapp = lambda { |env| [200, {}, 'this is my app!'] }
    \ No newline at end of file
    diff --git a/vendor/gems/gems/thin-1.2.5/example/ramaze.ru b/vendor/gems/gems/thin-1.2.5/example/ramaze.ru
    new file mode 100755
    index 00000000..2a19ffbc
    --- /dev/null
    +++ b/vendor/gems/gems/thin-1.2.5/example/ramaze.ru
    @@ -0,0 +1,12 @@
    +# Ramaze Rackup config file.
    +# by tmm1
    +# Use with --rackup option:
    +# 
    +#   thin start -r ramaze.ru
    +# 
    +require 'start'
    +
    +Ramaze.trait[:essentials].delete Ramaze::Adapter
    +Ramaze.start :force => true
    +
    +run Ramaze::Adapter::Base
    diff --git a/vendor/gems/gems/thin-1.2.5/example/thin.god b/vendor/gems/gems/thin-1.2.5/example/thin.god
    new file mode 100755
    index 00000000..468ef94d
    --- /dev/null
    +++ b/vendor/gems/gems/thin-1.2.5/example/thin.god
    @@ -0,0 +1,80 @@
    +# == God config file
    +# http://god.rubyforge.org/
    +# Authors: Gump and michael@glauche.de
    +#
    +# Config file for god that configures watches for each instance of a thin server for
    +# each thin configuration file found in /etc/thin.
    +# In order to get it working on Ubuntu, I had to make a change to god as noted at
    +# the following blog:
    +# http://blog.alexgirard.com/2007/10/25/ruby-one-line-to-save-god/
    +#
    +require 'yaml'
    +
    +config_path = "/etc/thin"
    +
    +Dir[config_path + "/*.yml"].each do |file|
    +  config = YAML.load_file(file)
    +  num_servers = config["servers"] ||= 1
    +
    +  (0...num_servers).each do |i|
    +    # UNIX socket cluster use number 0 to 2 (for 3 servers)
    +    # and tcp cluster use port number 3000 to 3002.
    +    number = config['socket'] ? i : (config['port'] + i)
    +    
    +    God.watch do |w|
    +      w.group = "thin-" + File.basename(file, ".yml")
    +      w.name = w.group + "-#{number}"
    +      
    +      w.interval = 30.seconds
    +      
    +      w.uid = config["user"]
    +      w.gid = config["group"]
    +      
    +      w.start = "thin start -C #{file} -o #{number}"
    +      w.start_grace = 10.seconds
    +      
    +      w.stop = "thin stop -C #{file} -o #{number}"
    +      w.stop_grace = 10.seconds
    +      
    +      w.restart = "thin restart -C #{file} -o #{number}"
    +
    +      pid_path = config["chdir"] + "/" + config["pid"]
    +      ext = File.extname(pid_path)
    +
    +      w.pid_file = pid_path.gsub(/#{ext}$/, ".#{number}#{ext}")
    +      
    +      w.behavior(:clean_pid_file)
    +
    +      w.start_if do |start|
    +        start.condition(:process_running) do |c|
    +          c.interval = 5.seconds
    +          c.running = false
    +        end
    +      end
    +
    +      w.restart_if do |restart|
    +        restart.condition(:memory_usage) do |c|
    +          c.above = 150.megabytes
    +          c.times = [3,5] # 3 out of 5 intervals
    +        end
    +
    +        restart.condition(:cpu_usage) do |c|
    +          c.above = 50.percent
    +          c.times = 5
    +        end
    +      end
    +
    +      w.lifecycle do |on|
    +        on.condition(:flapping) do |c|
    +          c.to_state = [:start, :restart]
    +          c.times = 5
    +          c.within = 5.minutes
    +          c.transition = :unmonitored
    +          c.retry_in = 10.minutes
    +          c.retry_times = 5
    +          c.retry_within = 2.hours
    +        end
    +      end
    +    end
    +  end
    +end
    \ No newline at end of file
    diff --git a/vendor/gems/gems/thin-1.2.5/example/thin_solaris_smf.erb b/vendor/gems/gems/thin-1.2.5/example/thin_solaris_smf.erb
    new file mode 100755
    index 00000000..c96ac88e
    --- /dev/null
    +++ b/vendor/gems/gems/thin-1.2.5/example/thin_solaris_smf.erb
    @@ -0,0 +1,36 @@
    +
    +
    +
    +  
    +    
    +    
    +      
    +    
    +    
    +      
    +      
    +      
    +    
    +    <% 0.upto(thin_max_instances - 1) do |instance| %>
    +    
    +    
    +      
    +      
    +        
    +      
    +      
    +        
    +          
    +          
    +            
    +          
    +        
    +      
    +      
    +    
    +    <% end %>
    +  
    +
    +
    diff --git a/vendor/gems/gems/thin-1.2.5/example/thin_solaris_smf.readme.txt b/vendor/gems/gems/thin-1.2.5/example/thin_solaris_smf.readme.txt
    new file mode 100755
    index 00000000..aea4e938
    --- /dev/null
    +++ b/vendor/gems/gems/thin-1.2.5/example/thin_solaris_smf.readme.txt
    @@ -0,0 +1,150 @@
    +Using Thin with Solaris' SMF Monitoring Framework
    +- - - - - - - - - - - - - - - - - - - - - - - - -
    +
    +Solaris uses the Service Management Framework (SMF) at the OS level to manage, monitor, and restart long running processes.  This replaces init scripts, and tools like monit and god.
    +
    +The sample XML file (thin_solaris_smf.erb) is an example SMF manifest which I use on a Joyent accelerator which runs on OpenSolaris.
    +
    +This setup will:
    +
    +- ensure the right dependencies are loaded
    +- start n instances of Thin, and monitor each individually.  If any single one dies it will be restarted instantly (test it by killing a single thin instance and it will be back alive before you can type 'ps -ef').
    +
    +This is better than using clustering since if you start the cluster with SMF it will only notice a problem and restart individual Thin's if ALL of them are dead, at which point it will restart the whole cluster.  This approach makes sure that all of your Thins start together and are monitored and managed independant of each other.  This problem likely exists if you are using god or monit to monitor only the start of the master cluster, and don't then monitor the individual processes started.
    +
    +This example is in .erb format instead of plain XML since I dynamically generate this file as part of a Capistrano deployment.  In my deploy.rb file I define the variables found in this erb.  Of course you don't need to use this with Capistrano.  Just replace the few ERB variables from the xml file, change its extension, and load that directly in Solaris if you prefer.
    +
    +Here are some examples for usage to get you started with Capistrano, and Thin:
    +
    +FILE : config/deploy.rb
    +--
    +
    +  require 'config/accelerator/accelerator_tasks'
    +
    +  set :application, "yourapp"
    +  set :svcadm_bin, "/usr/sbin/svcadm"
    +  set :svccfg_bin, "/usr/sbin/svccfg"
    +  set :svcs_bin, "/usr/bin/svcs"
    +
    +  # gets the list of remote service SMF names that we need to start
    +  # like (depending on thin_max_instances settings):
    +  # svc:/network/thin/yourapp-production:i_0
    +  # svc:/network/thin/yourapp-production:i_1
    +  # svc:/network/thin/yourapp-production:i_2
    +  set :service_list, "`svcs -H -o FMRI svc:network/thin/#{application}-production`"
    +
    +  # how many Thin instances should be setup to run?
    +  # this affects the generated thin smf file, and the nginx vhost conf
    +  # need to re-run setup for thin smf and nginx vhost conf when changed
    +  set :thin_max_instances, 3
    +
    +  # OVERRIDE STANDARD TASKS
    +  desc "Restart the entire application"
    +  deploy.task :restart do
    +    accelerator.thin.restart
    +    accelerator.nginx.restart
    +  end
    +
    +  desc "Start the entire application"
    +  deploy.task :start do
    +    accelerator.thin.restart
    +    accelerator.nginx.restart
    +  end
    +
    +  desc "Stop the entire application"
    +  deploy.task :stop do
    +    accelerator.thin.disable
    +    accelerator.nginx.disable
    +  end
    +
    +
    +FILE : config/accelerator/accelerator_tasks.rb
    +--
    +
    +    desc "Create and deploy Thin SMF config"
    +    task :create_thin_smf, :roles => :app do
    +      service_name = application
    +      working_directory = current_path
    +      template = File.read("config/accelerator/thin_solaris_smf.erb")
    +      buffer = ERB.new(template).result(binding)
    +      put buffer, "#{shared_path}/#{application}-thin-smf.xml"
    +      sudo "#{svccfg_bin} import #{shared_path}/#{application}-thin-smf.xml"
    +    end
    +
    +    desc "Delete Thin SMF config"
    +    task :delete_thin_smf, :roles => :app do
    +      accelerator.thin.disable
    +      sudo "#{svccfg_bin} delete /network/thin/#{application}-production"
    +    end
    +
    +    desc "Show all SMF services"
    +    task :svcs do
    +      run "#{svcs_bin} -a" do |ch, st, data|
    +        puts data
    +      end
    +    end
    +
    +    desc "Shows all non-functional SMF services"
    +    task :svcs_broken do
    +      run "#{svcs_bin} -vx" do |ch, st, data|
    +        puts data
    +      end
    +    end
    +
    +
    +    namespace :thin do
    +
    +      desc "Disable all Thin servers"
    +      task :disable, :roles => :app do
    +        # temporarily disable, until next reboot (-t)
    +        sudo "#{svcadm_bin} disable -t #{service_list}"
    +      end
    +
    +      desc "Enable all Thin servers"
    +      task :enable, :roles => :app do
    +        # start the app with all recursive dependencies
    +        sudo "#{svcadm_bin} enable -r #{service_list}"
    +      end
    +
    +      desc "Restart all Thin servers"
    +      task :restart, :roles => :app do
    +        # svcadm restart doesn't seem to work right, so we'll brute force it
    +        disable
    +        enable
    +      end
    +
    +    end # namespace thin
    +
    +
    +FILE : config/thin.yml
    +--
    +
    +---
    +pid: tmp/pids/thin.pid
    +socket: /tmp/thin.sock
    +log: log/thin.log
    +max_conns: 1024
    +timeout: 30
    +chdir: /your/app/dir/rails/root
    +environment: production
    +max_persistent_conns: 512
    +daemonize: true
    +servers: 3
    +
    +
    +FILE : config/accelerator/thin_solaris_smf.erb
    +--
    +This is of course an example.  It works for me, but YMMV
    +
    +You may need to change this line to match your environment and config:
    +  exec='/opt/csw/bin/thin -C config/thin.yml --only <%= instance.to_s %> start'
    +
    +
    +CONTRIBUTE:
    +
    +If you see problems or enhancements for this approach please send me an email at glenn [at] rempe dot us.  Sadly, I won't be able to provide support for this example as time and my limited Solaris admin skills won't allow.
    +
    +Cheers,
    +
    +Glenn Rempe
    +2008/03/20
    diff --git a/vendor/gems/gems/thin-1.2.5/example/vlad.rake b/vendor/gems/gems/thin-1.2.5/example/vlad.rake
    new file mode 100755
    index 00000000..51b4ae69
    --- /dev/null
    +++ b/vendor/gems/gems/thin-1.2.5/example/vlad.rake
    @@ -0,0 +1,64 @@
    +# $GEM_HOME/gems/vlad-1.2.0/lib/vlad/thin.rb
    +# Thin tasks for Vlad the Deployer
    +# By cnantais
    +require 'vlad'
    +
    +namespace :vlad do
    +  ##
    +  # Thin app server
    +
    +  set :thin_address,       "127.0.0.1"
    +  set :thin_command,       'thin'
    +  set(:thin_conf)          { "#{shared_path}/thin_cluster.conf" }
    +  set :thin_environment,   "production"
    +  set :thin_group,         nil
    +  set :thin_log_file,      nil
    +  set :thin_pid_file,      nil
    +  set :thin_port,          nil
    +  set :thin_socket,        nil
    +  set :thin_prefix,        nil
    +  set :thin_servers,       2
    +  set :thin_user,          nil
    +
    +  desc "Prepares application servers for deployment. thin
    +configuration is set via the thin_* variables.".cleanup
    +
    +  remote_task :setup_app, :roles => :app do
    +  
    +    raise(ArgumentError, "Please provide either thin_socket or thin_port") if thin_port.nil? && thin_socket.nil?
    +  
    +    cmd = [
    +           "#{thin_command} config",
    +           "-s #{thin_servers}",
    +           ("-S #{thin_socket}" if thin_socket),
    +           "-e #{thin_environment}",
    +           "-a #{thin_address}",
    +           "-c #{current_path}",
    +           "-C #{thin_conf}",
    +           ("-P #{thin_pid_file}" if thin_pid_file),
    +           ("-l #{thin_log_file}" if thin_log_file),
    +           ("--user #{thin_user}" if thin_user),
    +           ("--group #{thin_group}" if thin_group),
    +           ("--prefix #{thin_prefix}" if thin_prefix),
    +           ("-p #{thin_port}" if thin_port),
    +          ].compact.join ' '
    +
    +    run cmd
    +  end
    +
    +  def thin(cmd) # :nodoc:
    +    "#{thin_command} #{cmd} -C #{thin_conf}"
    +  end
    +
    +  desc "Restart the app servers"
    +
    +  remote_task :start_app, :roles => :app do
    +    run thin("restart -s #{thin_servers}")
    +  end
    +
    +  desc "Stop the app servers"
    +
    +  remote_task :stop_app, :roles => :app do
    +    run thin("stop -s #{thin_servers}")
    +  end
    +end
    diff --git a/vendor/gems/gems/thin-1.2.5/ext/thin_parser/Makefile b/vendor/gems/gems/thin-1.2.5/ext/thin_parser/Makefile
    new file mode 100755
    index 00000000..046b5426
    --- /dev/null
    +++ b/vendor/gems/gems/thin-1.2.5/ext/thin_parser/Makefile
    @@ -0,0 +1,157 @@
    +
    +SHELL = /bin/sh
    +
    +#### Start of system configuration section. ####
    +
    +srcdir = .
    +topdir = /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin10.0
    +hdrdir = $(topdir)
    +VPATH = $(srcdir):$(topdir):$(hdrdir)
    +exec_prefix = $(prefix)
    +prefix = $(DESTDIR)/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr
    +sharedstatedir = $(prefix)/com
    +mandir = $(DESTDIR)/usr/share/man
    +psdir = $(docdir)
    +oldincludedir = $(DESTDIR)/usr/include
    +localedir = $(datarootdir)/locale
    +bindir = $(exec_prefix)/bin
    +libexecdir = $(exec_prefix)/libexec
    +sitedir = $(DESTDIR)/Library/Ruby/Site
    +htmldir = $(docdir)
    +vendorarchdir = $(vendorlibdir)/$(sitearch)
    +includedir = $(prefix)/include
    +infodir = $(DESTDIR)/usr/share/info
    +vendorlibdir = $(vendordir)/$(ruby_version)
    +sysconfdir = $(prefix)/etc
    +libdir = $(exec_prefix)/lib
    +sbindir = $(exec_prefix)/sbin
    +rubylibdir = $(libdir)/ruby/$(ruby_version)
    +docdir = $(datarootdir)/doc/$(PACKAGE)
    +dvidir = $(docdir)
    +vendordir = $(libdir)/ruby/vendor_ruby
    +datarootdir = $(prefix)/share
    +pdfdir = $(docdir)
    +archdir = $(rubylibdir)/$(arch)
    +sitearchdir = $(sitelibdir)/$(sitearch)
    +datadir = $(datarootdir)
    +localstatedir = $(prefix)/var
    +sitelibdir = $(sitedir)/$(ruby_version)
    +
    +CC = gcc
    +LIBRUBY = $(LIBRUBY_SO)
    +LIBRUBY_A = lib$(RUBY_SO_NAME)-static.a
    +LIBRUBYARG_SHARED = -l$(RUBY_SO_NAME)
    +LIBRUBYARG_STATIC = -l$(RUBY_SO_NAME)
    +
    +RUBY_EXTCONF_H = 
    +CFLAGS   =  -fno-common -arch i386 -arch x86_64 -g -Os -pipe -fno-common -DENABLE_DTRACE  -fno-common  -pipe -fno-common $(cflags) 
    +INCFLAGS = -I. -I. -I/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin10.0 -I.
    +DEFS     = 
    +CPPFLAGS =   -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE  
    +CXXFLAGS = $(CFLAGS) 
    +ldflags  = -L. -arch i386 -arch x86_64 
    +dldflags = 
    +archflag = 
    +DLDFLAGS = $(ldflags) $(dldflags) $(archflag)
    +LDSHARED = cc -arch i386 -arch x86_64 -pipe -bundle -undefined dynamic_lookup
    +AR = ar
    +EXEEXT = 
    +
    +RUBY_INSTALL_NAME = ruby
    +RUBY_SO_NAME = ruby
    +arch = universal-darwin10.0
    +sitearch = universal-darwin10.0
    +ruby_version = 1.8
    +ruby = /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby
    +RUBY = $(ruby)
    +RM = rm -f
    +MAKEDIRS = mkdir -p
    +INSTALL = /usr/bin/install -c
    +INSTALL_PROG = $(INSTALL) -m 0755
    +INSTALL_DATA = $(INSTALL) -m 644
    +COPY = cp
    +
    +#### End of system configuration section. ####
    +
    +preload = 
    +
    +libpath = . $(libdir)
    +LIBPATH =  -L. -L$(libdir)
    +DEFFILE = 
    +
    +CLEANFILES = mkmf.log
    +DISTCLEANFILES = 
    +
    +extout = 
    +extout_prefix = 
    +target_prefix = 
    +LOCAL_LIBS = 
    +LIBS = $(LIBRUBYARG_SHARED) -lc  -lpthread -ldl  
    +SRCS = parser.c thin.c
    +OBJS = parser.o thin.o
    +TARGET = thin_parser
    +DLLIB = $(TARGET).bundle
    +EXTSTATIC = 
    +STATIC_LIB = 
    +
    +BINDIR        = $(bindir)
    +RUBYCOMMONDIR = $(sitedir)$(target_prefix)
    +RUBYLIBDIR = /Users/tdreyno/Dropbox/Sites/middleman/vendor/gems/gems/thin-1.2.5/lib$(target_prefix)
    +RUBYARCHDIR = /Users/tdreyno/Dropbox/Sites/middleman/vendor/gems/gems/thin-1.2.5/lib$(target_prefix)
    +
    +TARGET_SO     = $(DLLIB)
    +CLEANLIBS     = $(TARGET).bundle $(TARGET).il? $(TARGET).tds $(TARGET).map
    +CLEANOBJS     = *.o *.a *.s[ol] *.pdb *.exp *.bak
    +
    +all:		$(DLLIB)
    +static:		$(STATIC_LIB)
    +
    +clean:
    +		@-$(RM) $(CLEANLIBS) $(CLEANOBJS) $(CLEANFILES)
    +
    +distclean:	clean
    +		@-$(RM) Makefile $(RUBY_EXTCONF_H) conftest.* mkmf.log
    +		@-$(RM) core ruby$(EXEEXT) *~ $(DISTCLEANFILES)
    +
    +realclean:	distclean
    +install: install-so install-rb
    +
    +install-so: $(RUBYARCHDIR)
    +install-so: $(RUBYARCHDIR)/$(DLLIB)
    +$(RUBYARCHDIR)/$(DLLIB): $(DLLIB)
    +	$(INSTALL_PROG) $(DLLIB) $(RUBYARCHDIR)
    +install-rb: pre-install-rb install-rb-default
    +install-rb-default: pre-install-rb-default
    +pre-install-rb: Makefile
    +pre-install-rb-default: Makefile
    +$(RUBYARCHDIR):
    +	$(MAKEDIRS) $@
    +
    +site-install: site-install-so site-install-rb
    +site-install-so: install-so
    +site-install-rb: install-rb
    +
    +.SUFFIXES: .c .m .cc .cxx .cpp .C .o
    +
    +.cc.o:
    +	$(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) -c $<
    +
    +.cxx.o:
    +	$(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) -c $<
    +
    +.cpp.o:
    +	$(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) -c $<
    +
    +.C.o:
    +	$(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) -c $<
    +
    +.c.o:
    +	$(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) -c $<
    +
    +$(DLLIB): $(OBJS)
    +	@-$(RM) $@
    +	$(LDSHARED) -o $@ $(OBJS) $(LIBPATH) $(DLDFLAGS) $(LOCAL_LIBS) $(LIBS)
    +
    +
    +
    +$(OBJS): ruby.h defines.h
    diff --git a/vendor/gems/gems/thin-1.2.5/ext/thin_parser/common.rl b/vendor/gems/gems/thin-1.2.5/ext/thin_parser/common.rl
    new file mode 100755
    index 00000000..46fe2293
    --- /dev/null
    +++ b/vendor/gems/gems/thin-1.2.5/ext/thin_parser/common.rl
    @@ -0,0 +1,55 @@
    +%%{
    +  
    +  machine http_parser_common;
    +
    +#### HTTP PROTOCOL GRAMMAR
    +# line endings
    +  CRLF = "\r\n";
    +
    +# character types
    +  CTL = (cntrl | 127);
    +  safe = ("$" | "-" | "_" | ".");
    +  extra = ("!" | "*" | "'" | "(" | ")" | ",");
    +  reserved = (";" | "/" | "?" | ":" | "@" | "&" | "=" | "+");
    +  sorta_safe = ("\"" | "<" | ">");
    +  unsafe = (CTL | " " | "#" | "%" | sorta_safe);
    +  national = any -- (alpha | digit | reserved | extra | safe | unsafe);
    +  unreserved = (alpha | digit | safe | extra | national);
    +  escape = ("%" xdigit xdigit);
    +  uchar = (unreserved | escape | sorta_safe);
    +  pchar = (uchar | ":" | "@" | "&" | "=" | "+");
    +  tspecials = ("(" | ")" | "<" | ">" | "@" | "," | ";" | ":" | "\\" | "\"" | "/" | "[" | "]" | "?" | "=" | "{" | "}" | " " | "\t");
    +
    +# elements
    +  token = (ascii -- (CTL | tspecials));
    +
    +# URI schemes and absolute paths
    +  scheme = ( alpha | digit | "+" | "-" | "." )* ;
    +  absolute_uri = (scheme ":" (uchar | reserved )*);
    +
    +  path = ( pchar+ ( "/" pchar* )* ) ;
    +  query = ( uchar | reserved )* %query_string ;
    +  param = ( pchar | "/" )* ;
    +  params = ( param ( ";" param )* ) ;
    +  rel_path = ( path? %request_path (";" params)? ) ("?" %start_query query)?;
    +  absolute_path = ( "/"+ rel_path );
    +
    +  Request_URI = ( "*" | absolute_uri | absolute_path ) >mark %request_uri;
    +  Fragment = ( uchar | reserved )* >mark %fragment;
    +  Method = ( upper | digit | safe ){1,20} >mark %request_method;
    +
    +  http_number = ( digit+ "." digit+ ) ;
    +  HTTP_Version = ( "HTTP/" http_number ) >mark %http_version ;
    +  Request_Line = ( Method " " Request_URI ("#" Fragment){0,1} " " HTTP_Version CRLF ) ;
    +
    +  field_name = ( token -- ":" )+ >start_field %write_field;
    +
    +  field_value = any* >start_value %write_value;
    +
    +  message_header = field_name ":" " "* field_value :> CRLF;
    +
    +  Request = Request_Line ( message_header )* ( CRLF @done );
    +
    +main := Request;
    +
    +}%%
    diff --git a/vendor/gems/gems/thin-1.2.5/ext/thin_parser/ext_help.h b/vendor/gems/gems/thin-1.2.5/ext/thin_parser/ext_help.h
    new file mode 100755
    index 00000000..8b4d754c
    --- /dev/null
    +++ b/vendor/gems/gems/thin-1.2.5/ext/thin_parser/ext_help.h
    @@ -0,0 +1,14 @@
    +#ifndef ext_help_h
    +#define ext_help_h
    +
    +#define RAISE_NOT_NULL(T) if(T == NULL) rb_raise(rb_eArgError, "NULL found for " # T " when shouldn't be.");
    +#define DATA_GET(from,type,name) Data_Get_Struct(from,type,name); RAISE_NOT_NULL(name);
    +#define REQUIRE_TYPE(V, T) if(TYPE(V) != T) rb_raise(rb_eTypeError, "Wrong argument type for " # V " required " # T);
    +
    +#ifdef DEBUG
    +#define TRACE()  fprintf(stderr, "> %s:%d:%s\n", __FILE__, __LINE__, __FUNCTION__)
    +#else
    +#define TRACE() 
    +#endif
    +
    +#endif
    diff --git a/vendor/gems/gems/thin-1.2.5/ext/thin_parser/extconf.rb b/vendor/gems/gems/thin-1.2.5/ext/thin_parser/extconf.rb
    new file mode 100755
    index 00000000..f83a75ac
    --- /dev/null
    +++ b/vendor/gems/gems/thin-1.2.5/ext/thin_parser/extconf.rb
    @@ -0,0 +1,6 @@
    +require 'mkmf'
    +
    +dir_config("thin_parser")
    +have_library("c", "main")
    +
    +create_makefile("thin_parser")
    diff --git a/vendor/gems/gems/thin-1.2.5/ext/thin_parser/mkmf.log b/vendor/gems/gems/thin-1.2.5/ext/thin_parser/mkmf.log
    new file mode 100755
    index 00000000..fdfb205e
    --- /dev/null
    +++ b/vendor/gems/gems/thin-1.2.5/ext/thin_parser/mkmf.log
    @@ -0,0 +1,12 @@
    +have_library: checking for main() in -lc... -------------------- yes
    +
    +"gcc -o conftest -I. -I/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin10.0 -I.  -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE   -arch i386 -arch x86_64 -g -Os -pipe -fno-common -DENABLE_DTRACE  -fno-common  -pipe -fno-common   conftest.c  -L. -L/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib -L. -arch i386 -arch x86_64      -lruby -lc  -lpthread -ldl  "
    +checked program was:
    +/* begin */
    +1: /*top*/
    +2: int main() { return 0; }
    +3: int t() { void ((*volatile p)()); p = (void ((*)()))main; return 0; }
    +/* end */
    +
    +--------------------
    +
    diff --git a/vendor/gems/gems/thin-1.2.5/ext/thin_parser/parser.c b/vendor/gems/gems/thin-1.2.5/ext/thin_parser/parser.c
    new file mode 100755
    index 00000000..60f6720f
    --- /dev/null
    +++ b/vendor/gems/gems/thin-1.2.5/ext/thin_parser/parser.c
    @@ -0,0 +1,452 @@
    +#line 1 "parser.rl"
    +/**
    + * Copyright (c) 2005 Zed A. Shaw
    + * You can redistribute it and/or modify it under the same terms as Ruby.
    + */
    +#include "parser.h"
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +
    +#define LEN(AT, FPC) (FPC - buffer - parser->AT)
    +#define MARK(M,FPC) (parser->M = (FPC) - buffer)
    +#define PTR_TO(F) (buffer + parser->F)
    +
    +/** Machine **/
    +
    +#line 81 "parser.rl"
    +
    +
    +/** Data **/
    +
    +#line 25 "parser.c"
    +static const char _http_parser_actions[] = {
    +	0, 1, 0, 1, 1, 1, 2, 1, 
    +	3, 1, 4, 1, 5, 1, 6, 1, 
    +	7, 1, 8, 1, 10, 1, 11, 1, 
    +	12, 2, 0, 7, 2, 3, 4, 2, 
    +	9, 6, 2, 11, 6, 3, 8, 9, 
    +	6
    +};
    +
    +static const short _http_parser_key_offsets[] = {
    +	0, 0, 8, 17, 27, 29, 30, 31, 
    +	32, 33, 34, 36, 39, 41, 44, 45, 
    +	61, 62, 78, 80, 81, 87, 93, 99, 
    +	105, 115, 121, 127, 133, 141, 147, 153, 
    +	160, 166, 172, 178, 184, 190, 196, 205, 
    +	214, 223, 232, 241, 250, 259, 268, 277, 
    +	286, 295, 304, 313, 322, 331, 340, 349, 
    +	358, 359
    +};
    +
    +static const char _http_parser_trans_keys[] = {
    +	36, 95, 45, 46, 48, 57, 65, 90, 
    +	32, 36, 95, 45, 46, 48, 57, 65, 
    +	90, 42, 43, 47, 58, 45, 57, 65, 
    +	90, 97, 122, 32, 35, 72, 84, 84, 
    +	80, 47, 48, 57, 46, 48, 57, 48, 
    +	57, 13, 48, 57, 10, 13, 33, 124, 
    +	126, 35, 39, 42, 43, 45, 46, 48, 
    +	57, 65, 90, 94, 122, 10, 33, 58, 
    +	124, 126, 35, 39, 42, 43, 45, 46, 
    +	48, 57, 65, 90, 94, 122, 13, 32, 
    +	13, 32, 35, 37, 127, 0, 31, 32, 
    +	35, 37, 127, 0, 31, 48, 57, 65, 
    +	70, 97, 102, 48, 57, 65, 70, 97, 
    +	102, 43, 58, 45, 46, 48, 57, 65, 
    +	90, 97, 122, 32, 35, 37, 127, 0, 
    +	31, 48, 57, 65, 70, 97, 102, 48, 
    +	57, 65, 70, 97, 102, 32, 35, 37, 
    +	59, 63, 127, 0, 31, 48, 57, 65, 
    +	70, 97, 102, 48, 57, 65, 70, 97, 
    +	102, 32, 35, 37, 63, 127, 0, 31, 
    +	48, 57, 65, 70, 97, 102, 48, 57, 
    +	65, 70, 97, 102, 32, 35, 37, 127, 
    +	0, 31, 32, 35, 37, 127, 0, 31, 
    +	48, 57, 65, 70, 97, 102, 48, 57, 
    +	65, 70, 97, 102, 32, 36, 95, 45, 
    +	46, 48, 57, 65, 90, 32, 36, 95, 
    +	45, 46, 48, 57, 65, 90, 32, 36, 
    +	95, 45, 46, 48, 57, 65, 90, 32, 
    +	36, 95, 45, 46, 48, 57, 65, 90, 
    +	32, 36, 95, 45, 46, 48, 57, 65, 
    +	90, 32, 36, 95, 45, 46, 48, 57, 
    +	65, 90, 32, 36, 95, 45, 46, 48, 
    +	57, 65, 90, 32, 36, 95, 45, 46, 
    +	48, 57, 65, 90, 32, 36, 95, 45, 
    +	46, 48, 57, 65, 90, 32, 36, 95, 
    +	45, 46, 48, 57, 65, 90, 32, 36, 
    +	95, 45, 46, 48, 57, 65, 90, 32, 
    +	36, 95, 45, 46, 48, 57, 65, 90, 
    +	32, 36, 95, 45, 46, 48, 57, 65, 
    +	90, 32, 36, 95, 45, 46, 48, 57, 
    +	65, 90, 32, 36, 95, 45, 46, 48, 
    +	57, 65, 90, 32, 36, 95, 45, 46, 
    +	48, 57, 65, 90, 32, 36, 95, 45, 
    +	46, 48, 57, 65, 90, 32, 36, 95, 
    +	45, 46, 48, 57, 65, 90, 32, 0
    +};
    +
    +static const char _http_parser_single_lengths[] = {
    +	0, 2, 3, 4, 2, 1, 1, 1, 
    +	1, 1, 0, 1, 0, 1, 1, 4, 
    +	1, 4, 2, 1, 4, 4, 0, 0, 
    +	2, 4, 0, 0, 6, 0, 0, 5, 
    +	0, 0, 4, 4, 0, 0, 3, 3, 
    +	3, 3, 3, 3, 3, 3, 3, 3, 
    +	3, 3, 3, 3, 3, 3, 3, 3, 
    +	1, 0
    +};
    +
    +static const char _http_parser_range_lengths[] = {
    +	0, 3, 3, 3, 0, 0, 0, 0, 
    +	0, 0, 1, 1, 1, 1, 0, 6, 
    +	0, 6, 0, 0, 1, 1, 3, 3, 
    +	4, 1, 3, 3, 1, 3, 3, 1, 
    +	3, 3, 1, 1, 3, 3, 3, 3, 
    +	3, 3, 3, 3, 3, 3, 3, 3, 
    +	3, 3, 3, 3, 3, 3, 3, 3, 
    +	0, 0
    +};
    +
    +static const short _http_parser_index_offsets[] = {
    +	0, 0, 6, 13, 21, 24, 26, 28, 
    +	30, 32, 34, 36, 39, 41, 44, 46, 
    +	57, 59, 70, 73, 75, 81, 87, 91, 
    +	95, 102, 108, 112, 116, 124, 128, 132, 
    +	139, 143, 147, 153, 159, 163, 167, 174, 
    +	181, 188, 195, 202, 209, 216, 223, 230, 
    +	237, 244, 251, 258, 265, 272, 279, 286, 
    +	293, 295
    +};
    +
    +static const char _http_parser_indicies[] = {
    +	0, 0, 0, 0, 0, 1, 2, 3, 
    +	3, 3, 3, 3, 1, 4, 5, 6, 
    +	7, 5, 5, 5, 1, 8, 9, 1, 
    +	10, 1, 11, 1, 12, 1, 13, 1, 
    +	14, 1, 15, 1, 16, 15, 1, 17, 
    +	1, 18, 17, 1, 19, 1, 20, 21, 
    +	21, 21, 21, 21, 21, 21, 21, 21, 
    +	1, 22, 1, 23, 24, 23, 23, 23, 
    +	23, 23, 23, 23, 23, 1, 26, 27, 
    +	25, 29, 28, 31, 1, 32, 1, 1, 
    +	30, 34, 1, 35, 1, 1, 33, 36, 
    +	36, 36, 1, 33, 33, 33, 1, 37, 
    +	38, 37, 37, 37, 37, 1, 8, 9, 
    +	39, 1, 1, 38, 40, 40, 40, 1, 
    +	38, 38, 38, 1, 42, 43, 44, 45, 
    +	46, 1, 1, 41, 47, 47, 47, 1, 
    +	41, 41, 41, 1, 8, 9, 49, 50, 
    +	1, 1, 48, 51, 51, 51, 1, 48, 
    +	48, 48, 1, 53, 54, 55, 1, 1, 
    +	52, 57, 58, 59, 1, 1, 56, 60, 
    +	60, 60, 1, 56, 56, 56, 1, 2, 
    +	61, 61, 61, 61, 61, 1, 2, 62, 
    +	62, 62, 62, 62, 1, 2, 63, 63, 
    +	63, 63, 63, 1, 2, 64, 64, 64, 
    +	64, 64, 1, 2, 65, 65, 65, 65, 
    +	65, 1, 2, 66, 66, 66, 66, 66, 
    +	1, 2, 67, 67, 67, 67, 67, 1, 
    +	2, 68, 68, 68, 68, 68, 1, 2, 
    +	69, 69, 69, 69, 69, 1, 2, 70, 
    +	70, 70, 70, 70, 1, 2, 71, 71, 
    +	71, 71, 71, 1, 2, 72, 72, 72, 
    +	72, 72, 1, 2, 73, 73, 73, 73, 
    +	73, 1, 2, 74, 74, 74, 74, 74, 
    +	1, 2, 75, 75, 75, 75, 75, 1, 
    +	2, 76, 76, 76, 76, 76, 1, 2, 
    +	77, 77, 77, 77, 77, 1, 2, 78, 
    +	78, 78, 78, 78, 1, 2, 1, 1, 
    +	0
    +};
    +
    +static const char _http_parser_trans_targs[] = {
    +	2, 0, 3, 38, 4, 24, 28, 25, 
    +	5, 20, 6, 7, 8, 9, 10, 11, 
    +	12, 13, 14, 15, 16, 17, 57, 17, 
    +	18, 19, 14, 18, 19, 14, 21, 5, 
    +	22, 21, 5, 22, 23, 24, 25, 26, 
    +	27, 28, 5, 20, 29, 31, 34, 30, 
    +	31, 32, 34, 33, 35, 5, 20, 36, 
    +	35, 5, 20, 36, 37, 39, 40, 41, 
    +	42, 43, 44, 45, 46, 47, 48, 49, 
    +	50, 51, 52, 53, 54, 55, 56
    +};
    +
    +static const char _http_parser_trans_actions[] = {
    +	1, 0, 11, 0, 1, 1, 1, 1, 
    +	13, 13, 1, 0, 0, 0, 0, 0, 
    +	0, 0, 19, 0, 0, 3, 23, 0, 
    +	5, 7, 28, 7, 0, 9, 1, 25, 
    +	1, 0, 15, 0, 0, 0, 0, 0, 
    +	0, 0, 34, 34, 0, 21, 21, 0, 
    +	0, 0, 0, 0, 17, 37, 37, 17, 
    +	0, 31, 31, 0, 0, 0, 0, 0, 
    +	0, 0, 0, 0, 0, 0, 0, 0, 
    +	0, 0, 0, 0, 0, 0, 0
    +};
    +
    +static const int http_parser_start = 1;
    +static const int http_parser_first_final = 57;
    +static const int http_parser_error = 0;
    +
    +static const int http_parser_en_main = 1;
    +
    +#line 85 "parser.rl"
    +
    +int thin_http_parser_init(http_parser *parser)  {
    +  int cs = 0;
    +  
    +#line 205 "parser.c"
    +	{
    +	cs = http_parser_start;
    +	}
    +#line 89 "parser.rl"
    +  parser->cs = cs;
    +  parser->body_start = 0;
    +  parser->content_len = 0;
    +  parser->mark = 0;
    +  parser->nread = 0;
    +  parser->field_len = 0;
    +  parser->field_start = 0;    
    +
    +  return(1);
    +}
    +
    +
    +/** exec **/
    +size_t thin_http_parser_execute(http_parser *parser, const char *buffer, size_t len, size_t off)  {
    +  const char *p, *pe;
    +  int cs = parser->cs;
    +
    +  assert(off <= len && "offset past end of buffer");
    +
    +  p = buffer+off;
    +  pe = buffer+len;
    +
    +  assert(*pe == '\0' && "pointer does not end on NUL");
    +  assert(pe - p == len - off && "pointers aren't same distance");
    +
    +
    +  
    +#line 237 "parser.c"
    +	{
    +	int _klen;
    +	unsigned int _trans;
    +	const char *_acts;
    +	unsigned int _nacts;
    +	const char *_keys;
    +
    +	if ( p == pe )
    +		goto _test_eof;
    +	if ( cs == 0 )
    +		goto _out;
    +_resume:
    +	_keys = _http_parser_trans_keys + _http_parser_key_offsets[cs];
    +	_trans = _http_parser_index_offsets[cs];
    +
    +	_klen = _http_parser_single_lengths[cs];
    +	if ( _klen > 0 ) {
    +		const char *_lower = _keys;
    +		const char *_mid;
    +		const char *_upper = _keys + _klen - 1;
    +		while (1) {
    +			if ( _upper < _lower )
    +				break;
    +
    +			_mid = _lower + ((_upper-_lower) >> 1);
    +			if ( (*p) < *_mid )
    +				_upper = _mid - 1;
    +			else if ( (*p) > *_mid )
    +				_lower = _mid + 1;
    +			else {
    +				_trans += (_mid - _keys);
    +				goto _match;
    +			}
    +		}
    +		_keys += _klen;
    +		_trans += _klen;
    +	}
    +
    +	_klen = _http_parser_range_lengths[cs];
    +	if ( _klen > 0 ) {
    +		const char *_lower = _keys;
    +		const char *_mid;
    +		const char *_upper = _keys + (_klen<<1) - 2;
    +		while (1) {
    +			if ( _upper < _lower )
    +				break;
    +
    +			_mid = _lower + (((_upper-_lower) >> 1) & ~1);
    +			if ( (*p) < _mid[0] )
    +				_upper = _mid - 2;
    +			else if ( (*p) > _mid[1] )
    +				_lower = _mid + 2;
    +			else {
    +				_trans += ((_mid - _keys)>>1);
    +				goto _match;
    +			}
    +		}
    +		_trans += _klen;
    +	}
    +
    +_match:
    +	_trans = _http_parser_indicies[_trans];
    +	cs = _http_parser_trans_targs[_trans];
    +
    +	if ( _http_parser_trans_actions[_trans] == 0 )
    +		goto _again;
    +
    +	_acts = _http_parser_actions + _http_parser_trans_actions[_trans];
    +	_nacts = (unsigned int) *_acts++;
    +	while ( _nacts-- > 0 )
    +	{
    +		switch ( *_acts++ )
    +		{
    +	case 0:
    +#line 22 "parser.rl"
    +	{MARK(mark, p); }
    +	break;
    +	case 1:
    +#line 25 "parser.rl"
    +	{ MARK(field_start, p); }
    +	break;
    +	case 2:
    +#line 26 "parser.rl"
    +	{ 
    +    parser->field_len = LEN(field_start, p);
    +  }
    +	break;
    +	case 3:
    +#line 30 "parser.rl"
    +	{ MARK(mark, p); }
    +	break;
    +	case 4:
    +#line 31 "parser.rl"
    +	{ 
    +    if (parser->http_field != NULL) {
    +      parser->http_field(parser->data, PTR_TO(field_start), parser->field_len, PTR_TO(mark), LEN(mark, p));
    +    }
    +  }
    +	break;
    +	case 5:
    +#line 36 "parser.rl"
    +	{ 
    +    if (parser->request_method != NULL) {
    +      parser->request_method(parser->data, PTR_TO(mark), LEN(mark, p));
    +    }
    +  }
    +	break;
    +	case 6:
    +#line 41 "parser.rl"
    +	{
    +    if (parser->request_uri != NULL) {
    +      parser->request_uri(parser->data, PTR_TO(mark), LEN(mark, p));
    +    }
    +  }
    +	break;
    +	case 7:
    +#line 46 "parser.rl"
    +	{ 
    +    if (parser->fragment != NULL) {
    +      parser->fragment(parser->data, PTR_TO(mark), LEN(mark, p));
    +    }
    +  }
    +	break;
    +	case 8:
    +#line 52 "parser.rl"
    +	{MARK(query_start, p); }
    +	break;
    +	case 9:
    +#line 53 "parser.rl"
    +	{ 
    +    if (parser->query_string != NULL) {
    +      parser->query_string(parser->data, PTR_TO(query_start), LEN(query_start, p));
    +    }
    +  }
    +	break;
    +	case 10:
    +#line 59 "parser.rl"
    +	{	
    +    if (parser->http_version != NULL) {
    +      parser->http_version(parser->data, PTR_TO(mark), LEN(mark, p));
    +    }
    +  }
    +	break;
    +	case 11:
    +#line 65 "parser.rl"
    +	{
    +    if (parser->request_path != NULL) {
    +      parser->request_path(parser->data, PTR_TO(mark), LEN(mark,p));
    +    }
    +  }
    +	break;
    +	case 12:
    +#line 71 "parser.rl"
    +	{ 
    +    parser->body_start = p - buffer + 1; 
    +    if (parser->header_done != NULL) {
    +      parser->header_done(parser->data, p + 1, pe - p - 1);
    +    }
    +    {p++; goto _out; }
    +  }
    +	break;
    +#line 399 "parser.c"
    +		}
    +	}
    +
    +_again:
    +	if ( cs == 0 )
    +		goto _out;
    +	if ( ++p != pe )
    +		goto _resume;
    +	_test_eof: {}
    +	_out: {}
    +	}
    +#line 116 "parser.rl"
    +
    +  parser->cs = cs;
    +  parser->nread += p - (buffer + off);
    +
    +  assert(p <= pe && "buffer overflow after parsing execute");
    +  assert(parser->nread <= len && "nread longer than length");
    +  assert(parser->body_start <= len && "body starts after buffer end");
    +  assert(parser->mark < len && "mark is after buffer end");
    +  assert(parser->field_len <= len && "field has length longer than whole buffer");
    +  assert(parser->field_start < len && "field starts after buffer end");
    +
    +  if(parser->body_start) {
    +    /* final \r\n combo encountered so stop right here */
    +    parser->nread++;
    +  }
    +
    +  return(parser->nread);
    +}
    +
    +int thin_http_parser_finish(http_parser *parser)
    +{
    +  int cs = parser->cs;
    +
    +
    +  parser->cs = cs;
    +
    +  if (thin_http_parser_has_error(parser) ) {
    +    return -1;
    +  } else if (thin_http_parser_is_finished(parser) ) {
    +    return 1;
    +  } else {
    +    return 0;
    +  }
    +}
    +
    +int thin_http_parser_has_error(http_parser *parser) {
    +  return parser->cs == http_parser_error;
    +}
    +
    +int thin_http_parser_is_finished(http_parser *parser) {
    +  return parser->cs == http_parser_first_final;
    +}
    diff --git a/vendor/gems/gems/thin-1.2.5/ext/thin_parser/parser.h b/vendor/gems/gems/thin-1.2.5/ext/thin_parser/parser.h
    new file mode 100755
    index 00000000..8d074bab
    --- /dev/null
    +++ b/vendor/gems/gems/thin-1.2.5/ext/thin_parser/parser.h
    @@ -0,0 +1,49 @@
    +/**
    + * Copyright (c) 2005 Zed A. Shaw
    + * You can redistribute it and/or modify it under the same terms as Ruby.
    + */
    +
    +#ifndef http11_parser_h
    +#define http11_parser_h
    +
    +#include 
    +
    +#if defined(_WIN32)
    +#include 
    +#endif
    +
    +typedef void (*element_cb)(void *data, const char *at, size_t length);
    +typedef void (*field_cb)(void *data, const char *field, size_t flen, const char *value, size_t vlen);
    +
    +typedef struct http_parser { 
    +  int cs;
    +  size_t body_start;
    +  int content_len;
    +  size_t nread;
    +  size_t mark;
    +  size_t field_start;
    +  size_t field_len;
    +  size_t query_start;
    +
    +  void *data;
    +
    +  field_cb http_field;
    +  element_cb request_method;
    +  element_cb request_uri;
    +  element_cb fragment;
    +  element_cb request_path;
    +  element_cb query_string;
    +  element_cb http_version;
    +  element_cb header_done;
    +  
    +} http_parser;
    +
    +int http_parser_init(http_parser *parser);
    +int http_parser_finish(http_parser *parser);
    +size_t http_parser_execute(http_parser *parser, const char *data, size_t len, size_t off);
    +int http_parser_has_error(http_parser *parser);
    +int http_parser_is_finished(http_parser *parser);
    +
    +#define http_parser_nread(parser) (parser)->nread 
    +
    +#endif
    diff --git a/vendor/gems/gems/thin-1.2.5/ext/thin_parser/parser.o b/vendor/gems/gems/thin-1.2.5/ext/thin_parser/parser.o
    new file mode 100755
    index 0000000000000000000000000000000000000000..17badb133ef4a4351767dda3684ddcf5bfd4dd44
    GIT binary patch
    literal 30364
    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
    z

    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 XDEm(aP$oLlFT^YSGU@_h6zu;34bMZ$ literal 0 HcmV?d00001 diff --git a/vendor/gems/gems/thin-1.2.5/ext/thin_parser/parser.rl b/vendor/gems/gems/thin-1.2.5/ext/thin_parser/parser.rl new file mode 100755 index 00000000..d32f81d9 --- /dev/null +++ b/vendor/gems/gems/thin-1.2.5/ext/thin_parser/parser.rl @@ -0,0 +1,157 @@ +/** + * Copyright (c) 2005 Zed A. Shaw + * You can redistribute it and/or modify it under the same terms as Ruby. + */ +#include "parser.h" +#include +#include +#include +#include +#include + +#define LEN(AT, FPC) (FPC - buffer - parser->AT) +#define MARK(M,FPC) (parser->M = (FPC) - buffer) +#define PTR_TO(F) (buffer + parser->F) + +/** Machine **/ + +%%{ + + machine http_parser; + + action mark {MARK(mark, fpc); } + + + action start_field { MARK(field_start, fpc); } + action write_field { + parser->field_len = LEN(field_start, fpc); + } + + action start_value { MARK(mark, fpc); } + action write_value { + if (parser->http_field != NULL) { + parser->http_field(parser->data, PTR_TO(field_start), parser->field_len, PTR_TO(mark), LEN(mark, fpc)); + } + } + action request_method { + if (parser->request_method != NULL) { + parser->request_method(parser->data, PTR_TO(mark), LEN(mark, fpc)); + } + } + action request_uri { + if (parser->request_uri != NULL) { + parser->request_uri(parser->data, PTR_TO(mark), LEN(mark, fpc)); + } + } + action fragment { + if (parser->fragment != NULL) { + parser->fragment(parser->data, PTR_TO(mark), LEN(mark, fpc)); + } + } + + action start_query {MARK(query_start, fpc); } + action query_string { + if (parser->query_string != NULL) { + parser->query_string(parser->data, PTR_TO(query_start), LEN(query_start, fpc)); + } + } + + action http_version { + if (parser->http_version != NULL) { + parser->http_version(parser->data, PTR_TO(mark), LEN(mark, fpc)); + } + } + + action request_path { + if (parser->request_path != NULL) { + parser->request_path(parser->data, PTR_TO(mark), LEN(mark,fpc)); + } + } + + action done { + parser->body_start = fpc - buffer + 1; + if (parser->header_done != NULL) { + parser->header_done(parser->data, fpc + 1, pe - fpc - 1); + } + fbreak; + } + + include http_parser_common "common.rl"; + +}%% + +/** Data **/ +%% write data; + +int thin_http_parser_init(http_parser *parser) { + int cs = 0; + %% write init; + parser->cs = cs; + parser->body_start = 0; + parser->content_len = 0; + parser->mark = 0; + parser->nread = 0; + parser->field_len = 0; + parser->field_start = 0; + + return(1); +} + + +/** exec **/ +size_t thin_http_parser_execute(http_parser *parser, const char *buffer, size_t len, size_t off) { + const char *p, *pe; + int cs = parser->cs; + + assert(off <= len && "offset past end of buffer"); + + p = buffer+off; + pe = buffer+len; + + assert(*pe == '\0' && "pointer does not end on NUL"); + assert(pe - p == len - off && "pointers aren't same distance"); + + + %% write exec; + + parser->cs = cs; + parser->nread += p - (buffer + off); + + assert(p <= pe && "buffer overflow after parsing execute"); + assert(parser->nread <= len && "nread longer than length"); + assert(parser->body_start <= len && "body starts after buffer end"); + assert(parser->mark < len && "mark is after buffer end"); + assert(parser->field_len <= len && "field has length longer than whole buffer"); + assert(parser->field_start < len && "field starts after buffer end"); + + if(parser->body_start) { + /* final \r\n combo encountered so stop right here */ + parser->nread++; + } + + return(parser->nread); +} + +int thin_http_parser_finish(http_parser *parser) +{ + int cs = parser->cs; + + + parser->cs = cs; + + if (thin_http_parser_has_error(parser) ) { + return -1; + } else if (thin_http_parser_is_finished(parser) ) { + return 1; + } else { + return 0; + } +} + +int thin_http_parser_has_error(http_parser *parser) { + return parser->cs == http_parser_error; +} + +int thin_http_parser_is_finished(http_parser *parser) { + return parser->cs == http_parser_first_final; +} diff --git a/vendor/gems/gems/thin-1.2.5/ext/thin_parser/thin.c b/vendor/gems/gems/thin-1.2.5/ext/thin_parser/thin.c new file mode 100755 index 00000000..04754bc9 --- /dev/null +++ b/vendor/gems/gems/thin-1.2.5/ext/thin_parser/thin.c @@ -0,0 +1,433 @@ +/** + * Mongrel Parser adpated to Thin and to play more nicely with Rack specs. + * + * Orignal version Copyright (c) 2005 Zed A. Shaw + * You can redistribute it and/or modify it under the same terms as Ruby. + */ +#include "ruby.h" +#include "ext_help.h" +#include +#include +#include "parser.h" +#include + +static VALUE mThin; +static VALUE cHttpParser; +static VALUE eHttpParserError; + +static VALUE global_empty; +static VALUE global_http_prefix; +static VALUE global_request_method; +static VALUE global_request_uri; +static VALUE global_fragment; +static VALUE global_query_string; +static VALUE global_http_version; +static VALUE global_content_length; +static VALUE global_http_content_length; +static VALUE global_request_path; +static VALUE global_content_type; +static VALUE global_http_content_type; +static VALUE global_gateway_interface; +static VALUE global_gateway_interface_value; +static VALUE global_server_name; +static VALUE global_server_port; +static VALUE global_server_protocol; +static VALUE global_server_protocol_value; +static VALUE global_http_host; +static VALUE global_port_80; +static VALUE global_http_body; +static VALUE global_url_scheme; +static VALUE global_url_scheme_value; +static VALUE global_script_name; +static VALUE global_path_info; + +#define TRIE_INCREASE 30 + +/** Defines common length and error messages for input length validation. */ +#define DEF_MAX_LENGTH(N,length) const size_t MAX_##N##_LENGTH = length; const char *MAX_##N##_LENGTH_ERR = "HTTP element " # N " is longer than the " # length " allowed length." + +/** Validates the max length of given input and throws an HttpParserError exception if over. */ +#define VALIDATE_MAX_LENGTH(len, N) if(len > MAX_##N##_LENGTH) { rb_raise(eHttpParserError, MAX_##N##_LENGTH_ERR); } + +/** Defines global strings in the init method. */ +#define DEF_GLOBAL(N, val) global_##N = rb_obj_freeze(rb_str_new2(val)); rb_global_variable(&global_##N) + +/* for compatibility with Ruby 1.8.5, which doesn't declare RSTRING_PTR */ +#ifndef RSTRING_PTR +#define RSTRING_PTR(s) (RSTRING(s)->ptr) +#endif + +/* for compatibility with Ruby 1.8.5, which doesn't declare RSTRING_LEN */ +#ifndef RSTRING_LEN +#define RSTRING_LEN(s) (RSTRING(s)->len) +#endif + +/* Defines the maximum allowed lengths for various input elements.*/ +DEF_MAX_LENGTH(FIELD_NAME, 256); +DEF_MAX_LENGTH(FIELD_VALUE, 80 * 1024); +DEF_MAX_LENGTH(REQUEST_URI, 1024 * 12); +DEF_MAX_LENGTH(FRAGMENT, 1024); /* Don't know if this length is specified somewhere or not */ +DEF_MAX_LENGTH(REQUEST_PATH, 1024); +DEF_MAX_LENGTH(QUERY_STRING, (1024 * 10)); +DEF_MAX_LENGTH(HEADER, (1024 * (80 + 32))); + + +static void http_field(void *data, const char *field, size_t flen, const char *value, size_t vlen) +{ + char *ch, *end; + VALUE req = (VALUE)data; + VALUE v = Qnil; + VALUE f = Qnil; + + VALIDATE_MAX_LENGTH(flen, FIELD_NAME); + VALIDATE_MAX_LENGTH(vlen, FIELD_VALUE); + + v = rb_str_new(value, vlen); + f = rb_str_dup(global_http_prefix); + f = rb_str_buf_cat(f, field, flen); + + for(ch = RSTRING_PTR(f) + RSTRING_LEN(global_http_prefix), end = RSTRING_PTR(f) + RSTRING_LEN(f); ch < end; ch++) { + if(*ch == '-') { + *ch = '_'; + } else { + *ch = toupper(*ch); + } + } + + rb_hash_aset(req, f, v); +} + +static void request_method(void *data, const char *at, size_t length) +{ + VALUE req = (VALUE)data; + VALUE val = Qnil; + + val = rb_str_new(at, length); + rb_hash_aset(req, global_request_method, val); +} + +static void request_uri(void *data, const char *at, size_t length) +{ + VALUE req = (VALUE)data; + VALUE val = Qnil; + + VALIDATE_MAX_LENGTH(length, REQUEST_URI); + + val = rb_str_new(at, length); + rb_hash_aset(req, global_request_uri, val); +} + +static void fragment(void *data, const char *at, size_t length) +{ + VALUE req = (VALUE)data; + VALUE val = Qnil; + + VALIDATE_MAX_LENGTH(length, FRAGMENT); + + val = rb_str_new(at, length); + rb_hash_aset(req, global_fragment, val); +} + +static void request_path(void *data, const char *at, size_t length) +{ + VALUE req = (VALUE)data; + VALUE val = Qnil; + + VALIDATE_MAX_LENGTH(length, REQUEST_PATH); + + val = rb_str_new(at, length); + rb_hash_aset(req, global_request_path, val); + rb_hash_aset(req, global_path_info, val); +} + +static void query_string(void *data, const char *at, size_t length) +{ + VALUE req = (VALUE)data; + VALUE val = Qnil; + + VALIDATE_MAX_LENGTH(length, QUERY_STRING); + + val = rb_str_new(at, length); + rb_hash_aset(req, global_query_string, val); +} + +static void http_version(void *data, const char *at, size_t length) +{ + VALUE req = (VALUE)data; + VALUE val = rb_str_new(at, length); + rb_hash_aset(req, global_http_version, val); +} + +/** Finalizes the request header to have a bunch of stuff that's + needed. */ + +static void header_done(void *data, const char *at, size_t length) +{ + VALUE req = (VALUE)data; + VALUE temp = Qnil; + VALUE ctype = Qnil; + VALUE clen = Qnil; + VALUE body = Qnil; + char *colon = NULL; + + clen = rb_hash_aref(req, global_http_content_length); + if(clen != Qnil) { + rb_hash_aset(req, global_content_length, clen); + rb_hash_delete(req, global_http_content_length); + } + + ctype = rb_hash_aref(req, global_http_content_type); + if(ctype != Qnil) { + rb_hash_aset(req, global_content_type, ctype); + rb_hash_delete(req, global_http_content_type); + } + + rb_hash_aset(req, global_gateway_interface, global_gateway_interface_value); + if((temp = rb_hash_aref(req, global_http_host)) != Qnil) { + /* ruby better close strings off with a '\0' dammit */ + colon = strchr(RSTRING_PTR(temp), ':'); + if(colon != NULL) { + rb_hash_aset(req, global_server_name, rb_str_substr(temp, 0, colon - RSTRING_PTR(temp))); + rb_hash_aset(req, global_server_port, + rb_str_substr(temp, colon - RSTRING_PTR(temp)+1, + RSTRING_LEN(temp))); + } else { + rb_hash_aset(req, global_server_name, temp); + rb_hash_aset(req, global_server_port, global_port_80); + } + } + + /* grab the initial body and stuff it into the hash */ + if(length > 0) { + body = rb_hash_aref(req, global_http_body); + rb_io_write(body, rb_str_new(at, length)); + } + + /* according to Rack specs, query string must be empty string if none */ + if (rb_hash_aref(req, global_query_string) == Qnil) { + rb_hash_aset(req, global_query_string, global_empty); + } + + /* set some constants */ + rb_hash_aset(req, global_server_protocol, global_server_protocol_value); + rb_hash_aset(req, global_url_scheme, global_url_scheme_value); + rb_hash_aset(req, global_script_name, global_empty); +} + + +void Thin_HttpParser_free(void *data) { + TRACE(); + + if(data) { + free(data); + } +} + + +VALUE Thin_HttpParser_alloc(VALUE klass) +{ + VALUE obj; + http_parser *hp = ALLOC_N(http_parser, 1); + TRACE(); + hp->http_field = http_field; + hp->request_method = request_method; + hp->request_uri = request_uri; + hp->fragment = fragment; + hp->request_path = request_path; + hp->query_string = query_string; + hp->http_version = http_version; + hp->header_done = header_done; + thin_http_parser_init(hp); + + obj = Data_Wrap_Struct(klass, NULL, Thin_HttpParser_free, hp); + + return obj; +} + + +/** + * call-seq: + * parser.new -> parser + * + * Creates a new parser. + */ +VALUE Thin_HttpParser_init(VALUE self) +{ + http_parser *http = NULL; + DATA_GET(self, http_parser, http); + thin_http_parser_init(http); + + return self; +} + + +/** + * call-seq: + * parser.reset -> nil + * + * Resets the parser to it's initial state so that you can reuse it + * rather than making new ones. + */ +VALUE Thin_HttpParser_reset(VALUE self) +{ + http_parser *http = NULL; + DATA_GET(self, http_parser, http); + thin_http_parser_init(http); + + return Qnil; +} + + +/** + * call-seq: + * parser.finish -> true/false + * + * Finishes a parser early which could put in a "good" or bad state. + * You should call reset after finish it or bad things will happen. + */ +VALUE Thin_HttpParser_finish(VALUE self) +{ + http_parser *http = NULL; + DATA_GET(self, http_parser, http); + thin_http_parser_finish(http); + + return thin_http_parser_is_finished(http) ? Qtrue : Qfalse; +} + + +/** + * call-seq: + * parser.execute(req_hash, data, start) -> Integer + * + * Takes a Hash and a String of data, parses the String of data filling in the Hash + * returning an Integer to indicate how much of the data has been read. No matter + * what the return value, you should call HttpParser#finished? and HttpParser#error? + * to figure out if it's done parsing or there was an error. + * + * This function now throws an exception when there is a parsing error. This makes + * the logic for working with the parser much easier. You can still test for an + * error, but now you need to wrap the parser with an exception handling block. + * + * The third argument allows for parsing a partial request and then continuing + * the parsing from that position. It needs all of the original data as well + * so you have to append to the data buffer as you read. + */ +VALUE Thin_HttpParser_execute(VALUE self, VALUE req_hash, VALUE data, VALUE start) +{ + http_parser *http = NULL; + int from = 0; + char *dptr = NULL; + long dlen = 0; + + DATA_GET(self, http_parser, http); + + from = FIX2INT(start); + dptr = RSTRING_PTR(data); + dlen = RSTRING_LEN(data); + + if(from >= dlen) { + rb_raise(eHttpParserError, "Requested start is after data buffer end."); + } else { + http->data = (void *)req_hash; + thin_http_parser_execute(http, dptr, dlen, from); + + VALIDATE_MAX_LENGTH(http_parser_nread(http), HEADER); + + if(thin_http_parser_has_error(http)) { + rb_raise(eHttpParserError, "Invalid HTTP format, parsing fails."); + } else { + return INT2FIX(http_parser_nread(http)); + } + } +} + + + +/** + * call-seq: + * parser.error? -> true/false + * + * Tells you whether the parser is in an error state. + */ +VALUE Thin_HttpParser_has_error(VALUE self) +{ + http_parser *http = NULL; + DATA_GET(self, http_parser, http); + + return thin_http_parser_has_error(http) ? Qtrue : Qfalse; +} + + +/** + * call-seq: + * parser.finished? -> true/false + * + * Tells you whether the parser is finished or not and in a good state. + */ +VALUE Thin_HttpParser_is_finished(VALUE self) +{ + http_parser *http = NULL; + DATA_GET(self, http_parser, http); + + return thin_http_parser_is_finished(http) ? Qtrue : Qfalse; +} + + +/** + * call-seq: + * parser.nread -> Integer + * + * Returns the amount of data processed so far during this processing cycle. It is + * set to 0 on initialize or reset calls and is incremented each time execute is called. + */ +VALUE Thin_HttpParser_nread(VALUE self) +{ + http_parser *http = NULL; + DATA_GET(self, http_parser, http); + + return INT2FIX(http->nread); +} + +void Init_thin_parser() +{ + + mThin = rb_define_module("Thin"); + + DEF_GLOBAL(empty, ""); + DEF_GLOBAL(http_prefix, "HTTP_"); + DEF_GLOBAL(request_method, "REQUEST_METHOD"); + DEF_GLOBAL(request_uri, "REQUEST_URI"); + DEF_GLOBAL(fragment, "FRAGMENT"); + DEF_GLOBAL(query_string, "QUERY_STRING"); + DEF_GLOBAL(http_version, "HTTP_VERSION"); + DEF_GLOBAL(request_path, "REQUEST_PATH"); + DEF_GLOBAL(content_length, "CONTENT_LENGTH"); + DEF_GLOBAL(http_content_length, "HTTP_CONTENT_LENGTH"); + DEF_GLOBAL(content_type, "CONTENT_TYPE"); + DEF_GLOBAL(http_content_type, "HTTP_CONTENT_TYPE"); + DEF_GLOBAL(gateway_interface, "GATEWAY_INTERFACE"); + DEF_GLOBAL(gateway_interface_value, "CGI/1.2"); + DEF_GLOBAL(server_name, "SERVER_NAME"); + DEF_GLOBAL(server_port, "SERVER_PORT"); + DEF_GLOBAL(server_protocol, "SERVER_PROTOCOL"); + DEF_GLOBAL(server_protocol_value, "HTTP/1.1"); + DEF_GLOBAL(http_host, "HTTP_HOST"); + DEF_GLOBAL(port_80, "80"); + DEF_GLOBAL(http_body, "rack.input"); + DEF_GLOBAL(url_scheme, "rack.url_scheme"); + DEF_GLOBAL(url_scheme_value, "http"); + DEF_GLOBAL(script_name, "SCRIPT_NAME"); + DEF_GLOBAL(path_info, "PATH_INFO"); + + eHttpParserError = rb_define_class_under(mThin, "InvalidRequest", rb_eIOError); + + cHttpParser = rb_define_class_under(mThin, "HttpParser", rb_cObject); + rb_define_alloc_func(cHttpParser, Thin_HttpParser_alloc); + rb_define_method(cHttpParser, "initialize", Thin_HttpParser_init,0); + rb_define_method(cHttpParser, "reset", Thin_HttpParser_reset,0); + rb_define_method(cHttpParser, "finish", Thin_HttpParser_finish,0); + rb_define_method(cHttpParser, "execute", Thin_HttpParser_execute,3); + rb_define_method(cHttpParser, "error?", Thin_HttpParser_has_error,0); + rb_define_method(cHttpParser, "finished?", Thin_HttpParser_is_finished,0); + rb_define_method(cHttpParser, "nread", Thin_HttpParser_nread,0); +} diff --git a/vendor/gems/gems/thin-1.2.5/ext/thin_parser/thin.o b/vendor/gems/gems/thin-1.2.5/ext/thin_parser/thin.o new file mode 100755 index 0000000000000000000000000000000000000000..67542019e79c8b5c97a711ea7268dbe441a20142 GIT binary patch literal 63084 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 IswrCk3tG%v4gdfE literal 0 HcmV?d00001 diff --git a/vendor/gems/gems/thin-1.2.5/ext/thin_parser/thin_parser.bundle b/vendor/gems/gems/thin-1.2.5/ext/thin_parser/thin_parser.bundle new file mode 100755 index 0000000000000000000000000000000000000000..c9a122b947bb4d2d6e9fd6c0260fc6b5752d32d4 GIT binary patch literal 58736 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�`jd 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.for. + # Framework => in order they will + # be tested. + # +nil+ for value to never guess. + # NOTE: If a framework has a file that is not unique, make sure to place + # it at the end. + ADAPTERS = [ + [:rails, 'config/environment.rb'], + [:ramaze, 'start.rb'], + [:halcyon, 'runner.ru'], + [:merb, 'config/init.rb'], + [:mack, 'config/app_config/default.yml'], + [:mack, 'config/configatron/default.rb'], + [:file, nil] + ] + + module Adapter + # Guess which adapter to use based on the directory structure + # or file content. + # Returns a symbol representing the name of the adapter to use + # to load the application under dir/. + def self.guess(dir) + ADAPTERS.each do |adapter, file| + return adapter if file && ::File.exist?(::File.join(dir, file)) + end + raise AdapterNotFound, "No adapter found for #{dir}" + end + + # Loads an adapter identified by +name+ using +options+ hash. + def self.for(name, options={}) + case name.to_sym + when :rails + return Rails.new(options.merge(:root => options[:chdir])) + + when :ramaze + require "#{options[:chdir]}/start" + + Ramaze.trait[:essentials].delete Ramaze::Adapter + Ramaze.start :force => true + + return Ramaze::Adapter::Base + + when :merb + require 'merb-core' + + Merb::Config.setup(:merb_root => options[:chdir], + :environment => options[:environment]) + Merb.environment = Merb::Config[:environment] + Merb.root = Merb::Config[:merb_root] + Merb::BootLoader.run + + return Merb::Rack::Application.new + + when :halcyon + require 'halcyon' + + $:.unshift(Halcyon.root/'lib') + + return Halcyon::Runner.new + + when :mack + ENV["MACK_ENV"] = options[:environment] + load(::File.join(options[:chdir], "Rakefile")) + require 'mack' + return Mack::Utils::Server.build_app + + when :file + return Rack::File.new(options[:chdir]) + + else + raise AdapterNotFound, "Adapter not found: #{name}" + + end + end + end +end \ No newline at end of file diff --git a/vendor/gems/gems/thin-1.2.5/lib/rack/adapter/rails.rb b/vendor/gems/gems/thin-1.2.5/lib/rack/adapter/rails.rb new file mode 100755 index 00000000..34196d84 --- /dev/null +++ b/vendor/gems/gems/thin-1.2.5/lib/rack/adapter/rails.rb @@ -0,0 +1,180 @@ +require 'cgi' + +# Adapter to run a Rails app with any supported Rack handler. +# By default it will try to load the Rails application in the +# current directory in the development environment. +# +# Options: +# root: Root directory of the Rails app +# environment: Rails environment to run in (development [default], production or test) +# prefix: Set the relative URL root. +# +# Based on http://fuzed.rubyforge.org/ Rails adapter +module Rack + module Adapter + class Rails + FILE_METHODS = %w(GET HEAD).freeze + + def initialize(options={}) + @root = options[:root] || Dir.pwd + @env = options[:environment] || 'development' + @prefix = options[:prefix] + + load_application + + @rails_app = if rack_based? + ActionController::Dispatcher.new + else + CgiApp.new + end + + @file_app = Rack::File.new(::File.join(RAILS_ROOT, "public")) + end + + def rack_based? + rails_version = ::Rails::VERSION + rails_version::MAJOR >= 2 && rails_version::MINOR >= 2 && rails_version::TINY >= 3 + end + + def load_application + ENV['RAILS_ENV'] = @env + + require "#{@root}/config/environment" + require 'dispatcher' + + if @prefix + if ActionController::Base.respond_to?(:relative_url_root=) + ActionController::Base.relative_url_root = @prefix # Rails 2.1.1 + else + ActionController::AbstractRequest.relative_url_root = @prefix + end + end + end + + def file_exist?(path) + full_path = ::File.join(@file_app.root, Utils.unescape(path)) + ::File.file?(full_path) && ::File.readable_real?(full_path) + end + + def call(env) + path = env['PATH_INFO'].chomp('/') + method = env['REQUEST_METHOD'] + cached_path = (path.empty? ? 'index' : path) + ActionController::Base.page_cache_extension + + if FILE_METHODS.include?(method) + if file_exist?(path) # Serve the file if it's there + return @file_app.call(env) + elsif file_exist?(cached_path) # Serve the page cache if it's there + env['PATH_INFO'] = cached_path + return @file_app.call(env) + end + end + + # No static file, let Rails handle it + @rails_app.call(env) + end + + protected + # For Rails pre Rack (2.3) + class CgiApp + def call(env) + request = Request.new(env) + response = Response.new + session_options = ActionController::CgiRequest::DEFAULT_SESSION_OPTIONS + cgi = CGIWrapper.new(request, response) + + Dispatcher.dispatch(cgi, session_options, response) + + response.finish + end + end + + class CGIWrapper < ::CGI + def initialize(request, response, *args) + @request = request + @response = response + @args = *args + @input = request.body + + super *args + end + + def header(options = "text/html") + if options.is_a?(String) + @response['Content-Type'] = options unless @response['Content-Type'] + else + @response['Content-Length'] = options.delete('Content-Length').to_s if options['Content-Length'] + + @response['Content-Type'] = options.delete('type') || "text/html" + @response['Content-Type'] += "; charset=" + options.delete('charset') if options['charset'] + + @response['Content-Language'] = options.delete('language') if options['language'] + @response['Expires'] = options.delete('expires') if options['expires'] + + @response.status = options.delete('Status') if options['Status'] + + # Convert 'cookie' header to 'Set-Cookie' headers. + # Because Set-Cookie header can appear more the once in the response body, + # we store it in a line break seperated string that will be translated to + # multiple Set-Cookie header by the handler. + if cookie = options.delete('cookie') + cookies = [] + + case cookie + when Array then cookie.each { |c| cookies << c.to_s } + when Hash then cookie.each { |_, c| cookies << c.to_s } + else cookies << cookie.to_s + end + + @output_cookies.each { |c| cookies << c.to_s } if @output_cookies + + @response['Set-Cookie'] = [@response['Set-Cookie'], cookies].compact + # See http://groups.google.com/group/rack-devel/browse_thread/thread/e8759b91a82c5a10/a8dbd4574fe97d69?#a8dbd4574fe97d69 + if Thin.ruby_18? + @response['Set-Cookie'].flatten! + else + @response['Set-Cookie'] = @response['Set-Cookie'].join("\n") + end + end + + options.each { |k,v| @response[k] = v } + end + + "" + end + + def params + @params ||= @request.params + end + + def cookies + @request.cookies + end + + def query_string + @request.query_string + end + + # Used to wrap the normal args variable used inside CGI. + def args + @args + end + + # Used to wrap the normal env_table variable used inside CGI. + def env_table + @request.env + end + + # Used to wrap the normal stdinput variable used inside CGI. + def stdinput + @input + end + + def stdoutput + STDERR.puts "stdoutput should not be used." + @response.body + end + end + end + end +end diff --git a/vendor/gems/gems/thin-1.2.5/lib/thin.rb b/vendor/gems/gems/thin-1.2.5/lib/thin.rb new file mode 100755 index 00000000..93c83e37 --- /dev/null +++ b/vendor/gems/gems/thin-1.2.5/lib/thin.rb @@ -0,0 +1,46 @@ +require 'fileutils' +require 'timeout' +require 'stringio' +require 'time' +require 'forwardable' + +require 'openssl' +require 'eventmachine' + +require 'thin/version' +require 'thin/statuses' + +module Thin + autoload :Command, 'thin/command' + autoload :Connection, 'thin/connection' + autoload :Daemonizable, 'thin/daemonizing' + autoload :Logging, 'thin/logging' + autoload :Headers, 'thin/headers' + autoload :Request, 'thin/request' + autoload :Response, 'thin/response' + autoload :Runner, 'thin/runner' + autoload :Server, 'thin/server' + autoload :Stats, 'thin/stats' + + module Backends + autoload :Base, 'thin/backends/base' + autoload :SwiftiplyClient, 'thin/backends/swiftiply_client' + autoload :TcpServer, 'thin/backends/tcp_server' + autoload :UnixServer, 'thin/backends/unix_server' + end + + module Controllers + autoload :Cluster, 'thin/controllers/cluster' + autoload :Controller, 'thin/controllers/controller' + autoload :Service, 'thin/controllers/service' + end +end + +require 'rack' +require 'rack/adapter/loader' + +module Rack + module Adapter + autoload :Rails, 'rack/adapter/rails' + end +end diff --git a/vendor/gems/gems/thin-1.2.5/lib/thin/backends/base.rb b/vendor/gems/gems/thin-1.2.5/lib/thin/backends/base.rb new file mode 100755 index 00000000..ee7f3e46 --- /dev/null +++ b/vendor/gems/gems/thin-1.2.5/lib/thin/backends/base.rb @@ -0,0 +1,141 @@ +module Thin + module Backends + # A Backend connects the server to the client. It handles: + # * connection/disconnection to the server + # * initialization of the connections + # * manitoring of the active connections. + # + # == Implementing your own backend + # You can create your own minimal backend by inheriting this class and + # defining the +connect+ and +disconnect+ method. + # If your backend is not based on EventMachine you also need to redefine + # the +start+, +stop+, stop! and +config+ methods. + class Base + # Server serving the connections throught the backend + attr_accessor :server + + # Maximum time for incoming data to arrive + attr_accessor :timeout + + # Maximum number of file or socket descriptors that the server may open. + attr_accessor :maximum_connections + + # Maximum number of connections that can be persistent + attr_accessor :maximum_persistent_connections + + # Allow using threads in the backend. + attr_writer :threaded + def threaded?; @threaded end + + # Number of persistent connections currently opened + attr_accessor :persistent_connection_count + + # Disable the use of epoll under Linux + attr_accessor :no_epoll + + def initialize + @connections = [] + @timeout = Server::DEFAULT_TIMEOUT + @persistent_connection_count = 0 + @maximum_connections = Server::DEFAULT_MAXIMUM_CONNECTIONS + @maximum_persistent_connections = Server::DEFAULT_MAXIMUM_PERSISTENT_CONNECTIONS + @no_epoll = false + end + + # Start the backend and connect it. + def start + @stopping = false + starter = proc do + connect + @running = true + end + + # Allow for early run up of eventmachine. + if EventMachine.reactor_running? + starter.call + else + EventMachine.run(&starter) + end + end + + # Stop of the backend from accepting new connections. + def stop + @running = false + @stopping = true + + # Do not accept anymore connection + disconnect + stop! if @connections.empty? + end + + # Force stop of the backend NOW, too bad for the current connections. + def stop! + @running = false + @stopping = false + + EventMachine.stop if EventMachine.reactor_running? + @connections.each { |connection| connection.close_connection } + close + end + + # Configure the backend. This method will be called before droping superuser privileges, + # so you can do crazy stuff that require godlike powers here. + def config + # See http://rubyeventmachine.com/pub/rdoc/files/EPOLL.html + EventMachine.epoll unless @no_epoll + + # Set the maximum number of socket descriptors that the server may open. + # The process needs to have required privilege to set it higher the 1024 on + # some systems. + @maximum_connections = EventMachine.set_descriptor_table_size(@maximum_connections) unless Thin.win? + end + + # Free up resources used by the backend. + def close + end + + # Returns +true+ if the backend is connected and running. + def running? + @running + end + + # Called by a connection when it's unbinded. + def connection_finished(connection) + @persistent_connection_count -= 1 if connection.can_persist? + @connections.delete(connection) + + # Finalize gracefull stop if there's no more active connection. + stop! if @stopping && @connections.empty? + end + + # Returns +true+ if no active connection. + def empty? + @connections.empty? + end + + # Number of active connections. + def size + @connections.size + end + + protected + # Initialize a new connection to a client. + def initialize_connection(connection) + connection.backend = self + connection.app = @server.app + connection.comm_inactivity_timeout = @timeout + connection.threaded = @threaded + + # We control the number of persistent connections by keeping + # a count of the total one allowed yet. + if @persistent_connection_count < @maximum_persistent_connections + connection.can_persist! + @persistent_connection_count += 1 + end + + @connections << connection + end + + end + end +end \ No newline at end of file diff --git a/vendor/gems/gems/thin-1.2.5/lib/thin/backends/swiftiply_client.rb b/vendor/gems/gems/thin-1.2.5/lib/thin/backends/swiftiply_client.rb new file mode 100755 index 00000000..506a84c3 --- /dev/null +++ b/vendor/gems/gems/thin-1.2.5/lib/thin/backends/swiftiply_client.rb @@ -0,0 +1,56 @@ +module Thin + module Backends + # Backend to act as a Swiftiply client (http://swiftiply.swiftcore.org). + class SwiftiplyClient < Base + attr_accessor :key + + attr_accessor :host, :port + + def initialize(host, port, options={}) + @host = host + @port = port.to_i + @key = options[:swiftiply].to_s + super() + end + + # Connect the server + def connect + EventMachine.connect(@host, @port, SwiftiplyConnection, &method(:initialize_connection)) + end + + # Stops the server + def disconnect + EventMachine.stop + end + + def to_s + "#{@host}:#{@port} swiftiply" + end + end + end + + class SwiftiplyConnection < Connection + def connection_completed + send_data swiftiply_handshake(@backend.key) + end + + def persistent? + true + end + + def unbind + super + EventMachine.add_timer(rand(2)) { reconnect(@backend.host, @backend.port) } if @backend.running? + end + + protected + def swiftiply_handshake(key) + 'swiftclient' << host_ip.collect { |x| sprintf('%02x', x.to_i)}.join << sprintf('%04x', @backend.port) << sprintf('%02x', key.length) << key + end + + # For some reason Swiftiply request the current host + def host_ip + Socket.gethostbyname(@backend.host)[3].unpack('CCCC') rescue [0,0,0,0] + end + end +end \ No newline at end of file diff --git a/vendor/gems/gems/thin-1.2.5/lib/thin/backends/tcp_server.rb b/vendor/gems/gems/thin-1.2.5/lib/thin/backends/tcp_server.rb new file mode 100755 index 00000000..0f2b38ee --- /dev/null +++ b/vendor/gems/gems/thin-1.2.5/lib/thin/backends/tcp_server.rb @@ -0,0 +1,29 @@ +module Thin + module Backends + # Backend to act as a TCP socket server. + class TcpServer < Base + # Address and port on which the server is listening for connections. + attr_accessor :host, :port + + def initialize(host, port) + @host = host + @port = port + super() + end + + # Connect the server + def connect + @signature = EventMachine.start_server(@host, @port, Connection, &method(:initialize_connection)) + end + + # Stops the server + def disconnect + EventMachine.stop_server(@signature) + end + + def to_s + "#{@host}:#{@port}" + end + end + end +end \ No newline at end of file diff --git a/vendor/gems/gems/thin-1.2.5/lib/thin/backends/unix_server.rb b/vendor/gems/gems/thin-1.2.5/lib/thin/backends/unix_server.rb new file mode 100755 index 00000000..bf81b875 --- /dev/null +++ b/vendor/gems/gems/thin-1.2.5/lib/thin/backends/unix_server.rb @@ -0,0 +1,51 @@ +module Thin + module Backends + # Backend to act as a UNIX domain socket server. + class UnixServer < Base + # UNIX domain socket on which the server is listening for connections. + attr_accessor :socket + + def initialize(socket) + raise PlatformNotSupported, 'UNIX domain sockets not available on Windows' if Thin.win? + @socket = socket + super() + end + + # Connect the server + def connect + at_exit { remove_socket_file } # In case it crashes + EventMachine.start_unix_domain_server(@socket, UnixConnection, &method(:initialize_connection)) + # HACK EventMachine.start_unix_domain_server doesn't return the connection signature + # so we have to go in the internal stuff to find it. + @signature = EventMachine.instance_eval{@acceptors.keys.first} + end + + # Stops the server + def disconnect + EventMachine.stop_server(@signature) + end + + # Free up resources used by the backend. + def close + remove_socket_file + end + + def to_s + @socket + end + + protected + def remove_socket_file + File.delete(@socket) if @socket && File.exist?(@socket) + end + end + end + + # Connection through a UNIX domain socket. + class UnixConnection < Connection + protected + def socket_address + '127.0.0.1' # Unix domain sockets can only be local + end + end +end \ No newline at end of file diff --git a/vendor/gems/gems/thin-1.2.5/lib/thin/command.rb b/vendor/gems/gems/thin-1.2.5/lib/thin/command.rb new file mode 100755 index 00000000..798b1fca --- /dev/null +++ b/vendor/gems/gems/thin-1.2.5/lib/thin/command.rb @@ -0,0 +1,53 @@ +require 'open3' + +module Thin + # Run a command through the +thin+ command-line script. + class Command + include Logging + + class << self + # Path to the +thin+ script used to control the servers. + # Leave this to default to use the one in the path. + attr_accessor :script + end + + def initialize(name, options={}) + @name = name + @options = options + end + + def self.run(*args) + new(*args).run + end + + # Send the command to the +thin+ script + def run + shell_cmd = shellify + trace shell_cmd + trap('INT') {} # Ignore INT signal to pass CTRL+C to subprocess + Open3.popen3(shell_cmd) do |stdin, stdout, stderr| + log stdout.gets until stdout.eof? + log stderr.gets until stderr.eof? + end + end + + # Turn into a runnable shell command + def shellify + shellified_options = @options.inject([]) do |args, (name, value)| + option_name = name.to_s.tr("_", "-") + case value + when NilClass, + TrueClass then args << "--#{option_name}" + when FalseClass + when Array then value.each { |v| args << "--#{option_name}=#{v.inspect}" } + else args << "--#{option_name}=#{value.inspect}" + end + args + end + + raise ArgumentError, "Path to thin script can't be found, set Command.script" unless self.class.script + + "#{self.class.script} #{@name} #{shellified_options.compact.join(' ')}" + end + end +end diff --git a/vendor/gems/gems/thin-1.2.5/lib/thin/connection.rb b/vendor/gems/gems/thin-1.2.5/lib/thin/connection.rb new file mode 100755 index 00000000..7ead989a --- /dev/null +++ b/vendor/gems/gems/thin-1.2.5/lib/thin/connection.rb @@ -0,0 +1,222 @@ +require 'socket' + +module Thin + # Connection between the server and client. + # This class is instanciated by EventMachine on each new connection + # that is opened. + class Connection < EventMachine::Connection + CONTENT_LENGTH = 'Content-Length'.freeze + TRANSFER_ENCODING = 'Transfer-Encoding'.freeze + CHUNKED_REGEXP = /\bchunked\b/i.freeze + + include Logging + + # This is a template async response. N.B. Can't use string for body on 1.9 + AsyncResponse = [-1, {}, []].freeze + + # Rack application (adapter) served by this connection. + attr_accessor :app + + # Backend to the server + attr_accessor :backend + + # Current request served by the connection + attr_accessor :request + + # Next response sent through the connection + attr_accessor :response + + # Calling the application in a threaded allowing + # concurrent processing of requests. + attr_writer :threaded + + # Get the connection ready to process a request. + def post_init + @request = Request.new + @response = Response.new + end + + # Called when data is received from the client. + def receive_data(data) + trace { data } + process if @request.parse(data) + rescue InvalidRequest => e + log "!! Invalid request" + log_error e + close_connection + end + + # Called when all data was received and the request + # is ready to be processed. + def process + if threaded? + @request.threaded = true + EventMachine.defer(method(:pre_process), method(:post_process)) + else + @request.threaded = false + post_process(pre_process) + end + end + + def pre_process + # Add client info to the request env + @request.remote_address = remote_address + + # Connection may be closed unless the App#call response was a [-1, ...] + # It should be noted that connection objects will linger until this + # callback is no longer referenced, so be tidy! + @request.async_callback = method(:post_process) + + # When we're under a non-async framework like rails, we can still spawn + # off async responses using the callback info, so there's little point + # in removing this. + response = AsyncResponse + catch(:async) do + # Process the request calling the Rack adapter + response = @app.call(@request.env) + end + response + rescue Exception + handle_error + terminate_request + nil # Signal to post_process that the request could not be processed + end + + def post_process(result) + return unless result + result = result.to_a + + # Status code -1 indicates that we're going to respond later (async). + return if result.first == AsyncResponse.first + + # Set the Content-Length header if possible + set_content_length(result) if need_content_length?(result) + + @response.status, @response.headers, @response.body = *result + + log "!! Rack application returned nil body. Probably you wanted it to be an empty string?" if @response.body.nil? + + # Make the response persistent if requested by the client + @response.persistent! if @request.persistent? + + # Send the response + @response.each do |chunk| + trace { chunk } + send_data chunk + end + + rescue Exception + handle_error + ensure + # If the body is being deferred, then terminate afterward. + if @response.body.respond_to?(:callback) && @response.body.respond_to?(:errback) + @response.body.callback { terminate_request } + @response.body.errback { terminate_request } + else + # Don't terminate the response if we're going async. + terminate_request unless result && result.first == AsyncResponse.first + end + end + + # Logs catched exception and closes the connection. + def handle_error + log "!! Unexpected error while processing request: #{$!.message}" + log_error + close_connection rescue nil + end + + def close_request_response + @request.async_close.succeed if @request.async_close + @request.close rescue nil + @response.close rescue nil + end + + # Does request and response cleanup (closes open IO streams and + # deletes created temporary files). + # Re-initializes response and request if client supports persistent + # connection. + def terminate_request + unless persistent? + close_connection_after_writing rescue nil + close_request_response + else + close_request_response + # Prepare the connection for another request if the client + # supports HTTP pipelining (persistent connection). + post_init + end + end + + # Called when the connection is unbinded from the socket + # and can no longer be used to process requests. + def unbind + @request.async_close.succeed if @request.async_close + @response.body.fail if @response.body.respond_to?(:fail) + @backend.connection_finished(self) + end + + # Allows this connection to be persistent. + def can_persist! + @can_persist = true + end + + # Return +true+ if this connection is allowed to stay open and be persistent. + def can_persist? + @can_persist + end + + # Return +true+ if the connection must be left open + # and ready to be reused for another request. + def persistent? + @can_persist && @response.persistent? + end + + # +true+ if app.call will be called inside a thread. + # You can set all requests as threaded setting Connection#threaded=true + # or on a per-request case returning +true+ in app.deferred?. + def threaded? + @threaded || (@app.respond_to?(:deferred?) && @app.deferred?(@request.env)) + end + + # IP Address of the remote client. + def remote_address + socket_address + rescue Exception + log_error + nil + end + + protected + + # Returns IP address of peer as a string. + def socket_address + Socket.unpack_sockaddr_in(get_peername)[1] + end + + private + def need_content_length?(result) + status, headers, body = result + return false if status == -1 + return false if headers.has_key?(CONTENT_LENGTH) + return false if (100..199).include?(status) || status == 204 || status == 304 + return false if headers.has_key?(TRANSFER_ENCODING) && headers[TRANSFER_ENCODING] =~ CHUNKED_REGEXP + return false unless body.kind_of?(String) || body.kind_of?(Array) + true + end + + def set_content_length(result) + headers, body = result[1..2] + case body + when String + # See http://redmine.ruby-lang.org/issues/show/203 + headers[CONTENT_LENGTH] = (body.respond_to?(:bytesize) ? body.bytesize : body.size).to_s + when Array + bytes = 0 + body.each do |p| + bytes += p.respond_to?(:bytesize) ? p.bytesize : p.size + end + headers[CONTENT_LENGTH] = bytes.to_s + end + end + end +end diff --git a/vendor/gems/gems/thin-1.2.5/lib/thin/controllers/cluster.rb b/vendor/gems/gems/thin-1.2.5/lib/thin/controllers/cluster.rb new file mode 100755 index 00000000..f8749f04 --- /dev/null +++ b/vendor/gems/gems/thin-1.2.5/lib/thin/controllers/cluster.rb @@ -0,0 +1,178 @@ +require 'socket' + +module Thin + # An exception class to handle the event that server didn't start on time + class RestartTimeout < RuntimeError; end + + module Controllers + # Control a set of servers. + # * Generate start and stop commands and run them. + # * Inject the port or socket number in the pid and log filenames. + # Servers are started throught the +thin+ command-line script. + class Cluster < Controller + # Cluster only options that should not be passed in the command sent + # to the indiviual servers. + CLUSTER_OPTIONS = [:servers, :only, :onebyone, :wait] + + # Maximum wait time for the server to be restarted + DEFAULT_WAIT_TIME = 30 # seconds + + # Create a new cluster of servers launched using +options+. + def initialize(options) + super + # Cluster can only contain daemonized servers + @options.merge!(:daemonize => true) + end + + def first_port; @options[:port] end + def address; @options[:address] end + def socket; @options[:socket] end + def pid_file; @options[:pid] end + def log_file; @options[:log] end + def size; @options[:servers] end + def only; @options[:only] end + def onebyone; @options[:onebyone] end + def wait; @options[:wait] end + + def swiftiply? + @options.has_key?(:swiftiply) + end + + # Start the servers + def start + with_each_server { |n| start_server n } + end + + # Start a single server + def start_server(number) + log "Starting server on #{server_id(number)} ... " + + run :start, number + end + + # Stop the servers + def stop + with_each_server { |n| stop_server n } + end + + # Stop a single server + def stop_server(number) + log "Stopping server on #{server_id(number)} ... " + + run :stop, number + end + + # Stop and start the servers. + def restart + unless onebyone + # Let's do a normal restart by defaults + stop + sleep 0.1 # Let's breath a bit shall we ? + start + else + with_each_server do |n| + stop_server(n) + sleep 0.1 # Let's breath a bit shall we ? + start_server(n) + wait_until_server_started(n) + end + end + end + + def test_socket(number) + if socket + UNIXSocket.new(socket_for(number)) + else + TCPSocket.new(address, number) + end + rescue + nil + end + + # Make sure the server is running before moving on to the next one. + def wait_until_server_started(number) + log "Waiting for server to start ..." + STDOUT.flush # Need this to make sure user got the message + + tries = 0 + loop do + if test_socket = test_socket(number) + test_socket.close + break + elsif tries < wait + sleep 1 + tries += 1 + else + raise RestartTimeout, "The server didn't start in time. Please look at server's log file " + + "for more information, or set the value of 'wait' in your config " + + "file to be higher (defaults: 30)." + end + end + end + + def server_id(number) + if socket + socket_for(number) + elsif swiftiply? + [address, first_port, number].join(':') + else + [address, number].join(':') + end + end + + def log_file_for(number) + include_server_number log_file, number + end + + def pid_file_for(number) + include_server_number pid_file, number + end + + def socket_for(number) + include_server_number socket, number + end + + def pid_for(number) + File.read(pid_file_for(number)).chomp.to_i + end + + private + # Send the command to the +thin+ script + def run(cmd, number) + cmd_options = @options.reject { |option, value| CLUSTER_OPTIONS.include?(option) } + cmd_options.merge!(:pid => pid_file_for(number), :log => log_file_for(number)) + if socket + cmd_options.merge!(:socket => socket_for(number)) + elsif swiftiply? + cmd_options.merge!(:port => first_port) + else + cmd_options.merge!(:port => number) + end + Command.run(cmd, cmd_options) + end + + def with_each_server + if only + if first_port && only < 80 + # interpret +only+ as a sequence number + yield first_port + only + else + # interpret +only+ as an absolute port number + yield only + end + elsif socket || swiftiply? + size.times { |n| yield n } + else + size.times { |n| yield first_port + n } + end + end + + # Add the server port or number in the filename + # so each instance get its own file + def include_server_number(path, number) + ext = File.extname(path) + path.gsub(/#{ext}$/, ".#{number}#{ext}") + end + end + end +end \ No newline at end of file diff --git a/vendor/gems/gems/thin-1.2.5/lib/thin/controllers/controller.rb b/vendor/gems/gems/thin-1.2.5/lib/thin/controllers/controller.rb new file mode 100755 index 00000000..6cece408 --- /dev/null +++ b/vendor/gems/gems/thin-1.2.5/lib/thin/controllers/controller.rb @@ -0,0 +1,183 @@ +require 'yaml' + +module Thin + # Error raised that will abort the process and print not backtrace. + class RunnerError < RuntimeError; end + + # Raised when a mandatory option is missing to run a command. + class OptionRequired < RunnerError + def initialize(option) + super("#{option} option required") + end + end + + # Raised when an option is not valid. + class InvalidOption < RunnerError; end + + # Build and control Thin servers. + # Hey Controller pattern is not only for web apps yo! + module Controllers + # Controls one Thin server. + # Allow to start, stop, restart and configure a single thin server. + class Controller + include Logging + + # Command line options passed to the thin script + attr_accessor :options + + def initialize(options) + @options = options + + if @options[:socket] + @options.delete(:address) + @options.delete(:port) + end + end + + def start + # Constantize backend class + @options[:backend] = eval(@options[:backend], TOPLEVEL_BINDING) if @options[:backend] + + server = Server.new(@options[:socket] || @options[:address], # Server detects kind of socket + @options[:port], # Port ignored on UNIX socket + @options) + + # Set options + server.pid_file = @options[:pid] + server.log_file = @options[:log] + server.timeout = @options[:timeout] + server.maximum_connections = @options[:max_conns] + server.maximum_persistent_connections = @options[:max_persistent_conns] + server.threaded = @options[:threaded] + server.no_epoll = @options[:no_epoll] if server.backend.respond_to?(:no_epoll=) + + # Detach the process, after this line the current process returns + server.daemonize if @options[:daemonize] + + # +config+ must be called before changing privileges since it might require superuser power. + server.config + + server.change_privilege @options[:user], @options[:group] if @options[:user] && @options[:group] + + # If a Rack config file is specified we eval it inside a Rack::Builder block to create + # a Rack adapter from it. Or else we guess which adapter to use and load it. + if @options[:rackup] + server.app = load_rackup_config + else + server.app = load_adapter + end + + # If a prefix is required, wrap in Rack URL mapper + server.app = Rack::URLMap.new(@options[:prefix] => server.app) if @options[:prefix] + + # If a stats URL is specified, wrap in Stats adapter + server.app = Stats::Adapter.new(server.app, @options[:stats]) if @options[:stats] + + # Register restart procedure which just start another process with same options, + # so that's why this is done here. + server.on_restart { Command.run(:start, @options) } + + server.start + end + + def stop + raise OptionRequired, :pid unless @options[:pid] + + tail_log(@options[:log]) do + if Server.kill(@options[:pid], @options[:force] ? 0 : (@options[:timeout] || 60)) + wait_for_file :deletion, @options[:pid] + end + end + end + + def restart + raise OptionRequired, :pid unless @options[:pid] + + tail_log(@options[:log]) do + if Server.restart(@options[:pid]) + wait_for_file :creation, @options[:pid] + end + end + end + + def config + config_file = @options.delete(:config) || raise(OptionRequired, :config) + + # Stringify keys + @options.keys.each { |o| @options[o.to_s] = @options.delete(o) } + + File.open(config_file, 'w') { |f| f << @options.to_yaml } + log ">> Wrote configuration to #{config_file}" + end + + protected + # Wait for a pid file to either be created or deleted. + def wait_for_file(state, file) + Timeout.timeout(@options[:timeout] || 30) do + case state + when :creation then sleep 0.1 until File.exist?(file) + when :deletion then sleep 0.1 while File.exist?(file) + end + end + end + + # Tail the log file of server +number+ during the execution of the block. + def tail_log(log_file) + if log_file + tail_thread = tail(log_file) + yield + tail_thread.kill + else + yield + end + end + + # Acts like GNU tail command. Taken from Rails. + def tail(file) + cursor = File.exist?(file) ? File.size(file) : 0 + last_checked = Time.now + tail_thread = Thread.new do + Thread.pass until File.exist?(file) + File.open(file, 'r') do |f| + loop do + f.seek cursor + if f.mtime > last_checked + last_checked = f.mtime + contents = f.read + cursor += contents.length + print contents + STDOUT.flush + end + sleep 0.1 + end + end + end + sleep 1 if File.exist?(file) # HACK Give the thread a little time to open the file + tail_thread + end + + private + def load_adapter + adapter = @options[:adapter] || Rack::Adapter.guess(@options[:chdir]) + log ">> Using #{adapter} adapter" + Rack::Adapter.for(adapter, @options) + rescue Rack::AdapterNotFound => e + raise InvalidOption, e.message + end + + def load_rackup_config + ENV['RACK_ENV'] = @options[:environment] + case @options[:rackup] + when /\.rb$/ + Kernel.load(@options[:rackup]) + Object.const_get(File.basename(@options[:rackup], '.rb').capitalize.to_sym) + when /\.ru$/ + rackup_code = File.read(@options[:rackup]) + eval("Rack::Builder.new {( #{rackup_code}\n )}.to_app", TOPLEVEL_BINDING, @options[:rackup]) + else + raise "Invalid rackup file. please specify either a .ru or .rb file" + end + end + end + end +end \ No newline at end of file diff --git a/vendor/gems/gems/thin-1.2.5/lib/thin/controllers/service.rb b/vendor/gems/gems/thin-1.2.5/lib/thin/controllers/service.rb new file mode 100755 index 00000000..540e6595 --- /dev/null +++ b/vendor/gems/gems/thin-1.2.5/lib/thin/controllers/service.rb @@ -0,0 +1,75 @@ +require 'erb' + +module Thin + module Controllers + # System service controller to launch all servers which + # config files are in a directory. + class Service < Controller + INITD_PATH = '/etc/init.d/thin' + DEFAULT_CONFIG_PATH = '/etc/thin' + TEMPLATE = File.dirname(__FILE__) + '/service.sh.erb' + + def initialize(options) + super + + raise PlatformNotSupported, 'Running as a service only supported on Linux' unless Thin.linux? + end + + def config_path + @options[:all] || DEFAULT_CONFIG_PATH + end + + def start + run :start + end + + def stop + run :stop + end + + def restart + run :restart + end + + def install(config_files_path=DEFAULT_CONFIG_PATH) + if File.exist?(INITD_PATH) + log ">> Thin service already installed at #{INITD_PATH}" + else + log ">> Installing thin service at #{INITD_PATH} ..." + sh "mkdir -p #{File.dirname(INITD_PATH)}" + log "writing #{INITD_PATH}" + File.open(INITD_PATH, 'w') do |f| + f << ERB.new(File.read(TEMPLATE)).result(binding) + end + sh "chmod +x #{INITD_PATH}" # Make executable + end + + sh "mkdir -p #{config_files_path}" + + log '' + log "To configure thin to start at system boot:" + log "on RedHat like systems:" + log " sudo /sbin/chkconfig --level 345 #{NAME} on" + log "on Debian-like systems (Ubuntu):" + log " sudo /usr/sbin/update-rc.d -f #{NAME} defaults" + log "on Gentoo:" + log " sudo rc-update add #{NAME} default" + log '' + log "Then put your config files in #{config_files_path}" + end + + private + def run(command) + Dir[config_path + '/*'].each do |config| + log "[#{command}] #{config} ..." + Command.run(command, :config => config, :daemonize => true) + end + end + + def sh(cmd) + log cmd + system(cmd) + end + end + end +end \ No newline at end of file diff --git a/vendor/gems/gems/thin-1.2.5/lib/thin/controllers/service.sh.erb b/vendor/gems/gems/thin-1.2.5/lib/thin/controllers/service.sh.erb new file mode 100755 index 00000000..5b96548c --- /dev/null +++ b/vendor/gems/gems/thin-1.2.5/lib/thin/controllers/service.sh.erb @@ -0,0 +1,39 @@ +#!/bin/sh +### BEGIN INIT INFO +# Provides: thin +# Required-Start: $local_fs $remote_fs +# Required-Stop: $local_fs $remote_fs +# Default-Start: 2 3 4 5 +# Default-Stop: S 0 1 6 +# Short-Description: thin initscript +# Description: thin +### END INIT INFO + +# Original author: Forrest Robertson + +# Do NOT "set -e" + +DAEMON=<%= Command.script %> +SCRIPT_NAME=<%= INITD_PATH %> +CONFIG_PATH=<%= config_files_path %> + +# Exit if the package is not installed +[ -x "$DAEMON" ] || exit 0 + +case "$1" in + start) + $DAEMON start --all $CONFIG_PATH + ;; + stop) + $DAEMON stop --all $CONFIG_PATH + ;; + restart) + $DAEMON restart --all $CONFIG_PATH + ;; + *) + echo "Usage: $SCRIPT_NAME {start|stop|restart}" >&2 + exit 3 + ;; +esac + +: diff --git a/vendor/gems/gems/thin-1.2.5/lib/thin/daemonizing.rb b/vendor/gems/gems/thin-1.2.5/lib/thin/daemonizing.rb new file mode 100755 index 00000000..2f127278 --- /dev/null +++ b/vendor/gems/gems/thin-1.2.5/lib/thin/daemonizing.rb @@ -0,0 +1,174 @@ +require 'etc' +require 'daemons' unless Thin.win? + +module Process + # Returns +true+ the process identied by +pid+ is running. + def running?(pid) + Process.getpgid(pid) != -1 + rescue Errno::ESRCH + false + end + module_function :running? +end + +module Thin + # Raised when the pid file already exist starting as a daemon. + class PidFileExist < RuntimeError; end + + # Module included in classes that can be turned into a daemon. + # Handle stuff like: + # * storing the PID in a file + # * redirecting output to the log file + # * changing processs privileges + # * killing the process gracefully + module Daemonizable + attr_accessor :pid_file, :log_file + + def self.included(base) + base.extend ClassMethods + end + + def pid + File.exist?(pid_file) ? open(pid_file).read.to_i : nil + end + + # Turns the current script into a daemon process that detaches from the console. + def daemonize + raise PlatformNotSupported, 'Daemonizing is not supported on Windows' if Thin.win? + raise ArgumentError, 'You must specify a pid_file to daemonize' unless @pid_file + + remove_stale_pid_file + + pwd = Dir.pwd # Current directory is changed during daemonization, so store it + + Daemonize.daemonize(File.expand_path(@log_file), name) + + Dir.chdir(pwd) + + write_pid_file + + trap('HUP') { restart } + at_exit do + log ">> Exiting!" + remove_pid_file + end + end + + # Change privileges of the process + # to the specified user and group. + def change_privilege(user, group=user) + log ">> Changing process privilege to #{user}:#{group}" + + uid, gid = Process.euid, Process.egid + target_uid = Etc.getpwnam(user).uid + target_gid = Etc.getgrnam(group).gid + + if uid != target_uid || gid != target_gid + # Change process ownership + Process.initgroups(user, target_gid) + Process::GID.change_privilege(target_gid) + Process::UID.change_privilege(target_uid) + end + rescue Errno::EPERM => e + log "Couldn't change user and group to #{user}:#{group}: #{e}" + end + + # Register a proc to be called to restart the server. + def on_restart(&block) + @on_restart = block + end + + # Restart the server. + def restart + raise ArgumentError, "Can't restart, no 'on_restart' proc specified" unless @on_restart + log '>> Restarting ...' + stop + remove_pid_file + @on_restart.call + exit! + end + + module ClassMethods + # Send a QUIT or INT (if timeout is +0+) signal the process which + # PID is stored in +pid_file+. + # If the process is still running after +timeout+, KILL signal is + # sent. + def kill(pid_file, timeout=60) + if timeout == 0 + send_signal('INT', pid_file, timeout) + else + send_signal('QUIT', pid_file, timeout) + end + end + + # Restart the server by sending HUP signal. + def restart(pid_file) + send_signal('HUP', pid_file) + end + + # Send a +signal+ to the process which PID is stored in +pid_file+. + def send_signal(signal, pid_file, timeout=60) + if pid = read_pid_file(pid_file) + Logging.log "Sending #{signal} signal to process #{pid} ... " + Process.kill(signal, pid) + Timeout.timeout(timeout) do + sleep 0.1 while Process.running?(pid) + end + else + Logging.log "Can't stop process, no PID found in #{pid_file}" + end + rescue Timeout::Error + Logging.log "Timeout!" + force_kill pid_file + rescue Interrupt + force_kill pid_file + rescue Errno::ESRCH # No such process + Logging.log "process not found!" + force_kill pid_file + end + + def force_kill(pid_file) + if pid = read_pid_file(pid_file) + Logging.log "Sending KILL signal to process #{pid} ... " + Process.kill("KILL", pid) + File.delete(pid_file) if File.exist?(pid_file) + else + Logging.log "Can't stop process, no PID found in #{pid_file}" + end + end + + def read_pid_file(file) + if File.file?(file) && pid = File.read(file) + pid.to_i + else + nil + end + end + end + + protected + def remove_pid_file + File.delete(@pid_file) if @pid_file && File.exists?(@pid_file) + end + + def write_pid_file + log ">> Writing PID to #{@pid_file}" + FileUtils.mkdir_p File.dirname(@pid_file) + open(@pid_file,"w") { |f| f.write(Process.pid) } + File.chmod(0644, @pid_file) + end + + # If PID file is stale, remove it. + def remove_stale_pid_file + if File.exist?(@pid_file) + if pid && Process.running?(pid) + raise PidFileExist, "#{@pid_file} already exists, seems like it's already running (process ID: #{pid}). " + + "Stop the process or delete #{@pid_file}." + else + log ">> Deleting stale PID file #{@pid_file}" + remove_pid_file + end + end + end + end +end diff --git a/vendor/gems/gems/thin-1.2.5/lib/thin/headers.rb b/vendor/gems/gems/thin-1.2.5/lib/thin/headers.rb new file mode 100755 index 00000000..3e1b9cc3 --- /dev/null +++ b/vendor/gems/gems/thin-1.2.5/lib/thin/headers.rb @@ -0,0 +1,39 @@ +module Thin + # Store HTTP header name-value pairs direcly to a string + # and allow duplicated entries on some names. + class Headers + HEADER_FORMAT = "%s: %s\r\n".freeze + ALLOWED_DUPLICATES = %w(Set-Cookie Set-Cookie2 Warning WWW-Authenticate).freeze + + def initialize + @sent = {} + @out = [] + end + + # Add key: value pair to the headers. + # Ignore if already sent and no duplicates are allowed + # for this +key+. + def []=(key, value) + if !@sent.has_key?(key) || ALLOWED_DUPLICATES.include?(key) + @sent[key] = true + value = case value + when Time + value.httpdate + when NilClass + return + else + value.to_s + end + @out << HEADER_FORMAT % [key, value] + end + end + + def has_key?(key) + @sent[key] + end + + def to_s + @out.join + end + end +end \ No newline at end of file diff --git a/vendor/gems/gems/thin-1.2.5/lib/thin/logging.rb b/vendor/gems/gems/thin-1.2.5/lib/thin/logging.rb new file mode 100755 index 00000000..2a998274 --- /dev/null +++ b/vendor/gems/gems/thin-1.2.5/lib/thin/logging.rb @@ -0,0 +1,54 @@ +module Thin + # To be included in classes to allow some basic logging + # that can be silenced (Logging.silent=) or made + # more verbose. + # Logging.debug=: log all error backtrace and messages + # logged with +debug+. + # Logging.trace=: log all raw request and response and + # messages logged with +trace+. + module Logging + class << self + attr_writer :trace, :debug, :silent + + def trace?; !@silent && @trace end + def debug?; !@silent && @debug end + def silent?; @silent end + end + + # Global silencer methods + def silent + Logging.silent? + end + def silent=(value) + Logging.silent = value + end + + # Log a message to the console + def log(msg) + puts msg unless Logging.silent? + end + module_function :log + public :log + + # Log a message to the console if tracing is activated + def trace(msg=nil) + log msg || yield if Logging.trace? + end + module_function :trace + public :trace + + # Log a message to the console if debugging is activated + def debug(msg=nil) + log msg || yield if Logging.debug? + end + module_function :debug + public :debug + + # Log an error backtrace if debugging is activated + def log_error(e=$!) + debug "#{e}\n\t" + e.backtrace.join("\n\t") + end + module_function :log_error + public :log_error + end +end \ No newline at end of file diff --git a/vendor/gems/gems/thin-1.2.5/lib/thin/request.rb b/vendor/gems/gems/thin-1.2.5/lib/thin/request.rb new file mode 100755 index 00000000..7b982dae --- /dev/null +++ b/vendor/gems/gems/thin-1.2.5/lib/thin/request.rb @@ -0,0 +1,157 @@ +require 'thin_parser' +require 'tempfile' + +module Thin + # Raised when an incoming request is not valid + # and the server can not process it. + class InvalidRequest < IOError; end + + # A request sent by the client to the server. + class Request + # Maximum request body size before it is moved out of memory + # and into a tempfile for reading. + MAX_BODY = 1024 * (80 + 32) + BODY_TMPFILE = 'thin-body'.freeze + MAX_HEADER = 1024 * (80 + 32) + + INITIAL_BODY = '' + # Force external_encoding of request's body to ASCII_8BIT + INITIAL_BODY.encode!(Encoding::ASCII_8BIT) if INITIAL_BODY.respond_to?(:encode) + + # Freeze some HTTP header names & values + SERVER_SOFTWARE = 'SERVER_SOFTWARE'.freeze + SERVER_NAME = 'SERVER_NAME'.freeze + LOCALHOST = 'localhost'.freeze + HTTP_VERSION = 'HTTP_VERSION'.freeze + HTTP_1_0 = 'HTTP/1.0'.freeze + REMOTE_ADDR = 'REMOTE_ADDR'.freeze + CONTENT_LENGTH = 'CONTENT_LENGTH'.freeze + CONNECTION = 'HTTP_CONNECTION'.freeze + KEEP_ALIVE_REGEXP = /\bkeep-alive\b/i.freeze + CLOSE_REGEXP = /\bclose\b/i.freeze + + # Freeze some Rack header names + RACK_INPUT = 'rack.input'.freeze + RACK_VERSION = 'rack.version'.freeze + RACK_ERRORS = 'rack.errors'.freeze + RACK_MULTITHREAD = 'rack.multithread'.freeze + RACK_MULTIPROCESS = 'rack.multiprocess'.freeze + RACK_RUN_ONCE = 'rack.run_once'.freeze + ASYNC_CALLBACK = 'async.callback'.freeze + ASYNC_CLOSE = 'async.close'.freeze + + # CGI-like request environment variables + attr_reader :env + + # Unparsed data of the request + attr_reader :data + + # Request body + attr_reader :body + + def initialize + @parser = Thin::HttpParser.new + @data = '' + @nparsed = 0 + @body = StringIO.new(INITIAL_BODY.dup) + @env = { + SERVER_SOFTWARE => SERVER, + SERVER_NAME => LOCALHOST, + + # Rack stuff + RACK_INPUT => @body, + + RACK_VERSION => VERSION::RACK, + RACK_ERRORS => STDERR, + + RACK_MULTITHREAD => false, + RACK_MULTIPROCESS => false, + RACK_RUN_ONCE => false + } + end + + # Parse a chunk of data into the request environment + # Raises a +InvalidRequest+ if invalid. + # Returns +true+ if the parsing is complete. + def parse(data) + if @parser.finished? # Header finished, can only be some more body + body << data + else # Parse more header using the super parser + @data << data + raise InvalidRequest, 'Header longer than allowed' if @data.size > MAX_HEADER + + @nparsed = @parser.execute(@env, @data, @nparsed) + + # Transfert to a tempfile if body is very big + move_body_to_tempfile if @parser.finished? && content_length > MAX_BODY + end + + + if finished? # Check if header and body are complete + @data = nil + @body.rewind + true # Request is fully parsed + else + false # Not finished, need more data + end + end + + # +true+ if headers and body are finished parsing + def finished? + @parser.finished? && @body.size >= content_length + end + + # Expected size of the body + def content_length + @env[CONTENT_LENGTH].to_i + end + + # Returns +true+ if the client expect the connection to be persistent. + def persistent? + # Clients and servers SHOULD NOT assume that a persistent connection + # is maintained for HTTP versions less than 1.1 unless it is explicitly + # signaled. (http://www.w3.org/Protocols/rfc2616/rfc2616-sec8.html) + if @env[HTTP_VERSION] == HTTP_1_0 + @env[CONNECTION] =~ KEEP_ALIVE_REGEXP + + # HTTP/1.1 client intends to maintain a persistent connection unless + # a Connection header including the connection-token "close" was sent + # in the request + else + @env[CONNECTION].nil? || @env[CONNECTION] !~ CLOSE_REGEXP + end + end + + def remote_address=(address) + @env[REMOTE_ADDR] = address + end + + def threaded=(value) + @env[RACK_MULTITHREAD] = value + end + + def async_callback=(callback) + @env[ASYNC_CALLBACK] = callback + @env[ASYNC_CLOSE] = EventMachine::DefaultDeferrable.new + end + + def async_close + @async_close ||= @env[ASYNC_CLOSE] + end + + # Close any resource used by the request + def close + @body.delete if @body.class == Tempfile + end + + private + def move_body_to_tempfile + current_body = @body + current_body.rewind + @body = Tempfile.new(BODY_TMPFILE) + @body.binmode + @body << current_body.read + @env[RACK_INPUT] = @body + end + end +end diff --git a/vendor/gems/gems/thin-1.2.5/lib/thin/response.rb b/vendor/gems/gems/thin-1.2.5/lib/thin/response.rb new file mode 100755 index 00000000..0ff95784 --- /dev/null +++ b/vendor/gems/gems/thin-1.2.5/lib/thin/response.rb @@ -0,0 +1,101 @@ +module Thin + # A response sent to the client. + class Response + CONNECTION = 'Connection'.freeze + CLOSE = 'close'.freeze + KEEP_ALIVE = 'keep-alive'.freeze + SERVER = 'Server'.freeze + CONTENT_LENGTH = 'Content-Length'.freeze + + # Status code + attr_accessor :status + + # Response body, must respond to +each+. + attr_accessor :body + + # Headers key-value hash + attr_reader :headers + + def initialize + @headers = Headers.new + @status = 200 + @persistent = false + end + + # String representation of the headers + # to be sent in the response. + def headers_output + # Set default headers + @headers[CONNECTION] = persistent? ? KEEP_ALIVE : CLOSE + @headers[SERVER] = Thin::SERVER + + @headers.to_s + end + + # Top header of the response, + # containing the status code and response headers. + def head + "HTTP/1.1 #{@status} #{HTTP_STATUS_CODES[@status.to_i]}\r\n#{headers_output}\r\n" + end + + if Thin.ruby_18? + + # Ruby 1.8 implementation. + # Respects Rack specs. + # + # See http://rack.rubyforge.org/doc/files/SPEC.html + def headers=(key_value_pairs) + key_value_pairs.each do |k, vs| + vs.each { |v| @headers[k] = v.chomp } if vs + end if key_value_pairs + end + + else + + # Ruby 1.9 doesn't have a String#each anymore. + # Rack spec doesn't take care of that yet, for now we just use + # +each+ but fallback to +each_line+ on strings. + # I wish we could remove that condition. + # To be reviewed when a new Rack spec comes out. + def headers=(key_value_pairs) + key_value_pairs.each do |k, vs| + next unless vs + if vs.is_a?(String) + vs.each_line { |v| @headers[k] = v.chomp } + else + vs.each { |v| @headers[k] = v.chomp } + end + end if key_value_pairs + end + + end + + # Close any resource used by the response + def close + @body.close if @body.respond_to?(:close) + end + + # Yields each chunk of the response. + # To control the size of each chunk + # define your own +each+ method on +body+. + def each + yield head + if @body.is_a?(String) + yield @body + else + @body.each { |chunk| yield chunk } + end + end + + # Tell the client the connection should stay open + def persistent! + @persistent = true + end + + # Persistent connection must be requested as keep-alive + # from the server and have a Content-Length. + def persistent? + @persistent && @headers.has_key?(CONTENT_LENGTH) + end + end +end diff --git a/vendor/gems/gems/thin-1.2.5/lib/thin/runner.rb b/vendor/gems/gems/thin-1.2.5/lib/thin/runner.rb new file mode 100755 index 00000000..c91994c5 --- /dev/null +++ b/vendor/gems/gems/thin-1.2.5/lib/thin/runner.rb @@ -0,0 +1,212 @@ +require 'optparse' +require 'yaml' + +module Thin + # CLI runner. + # Parse options and send command to the correct Controller. + class Runner + COMMANDS = %w(start stop restart config) + LINUX_ONLY_COMMANDS = %w(install) + + # Commands that wont load options from the config file + CONFIGLESS_COMMANDS = %w(config install) + + # Parsed options + attr_accessor :options + + # Name of the command to be runned. + attr_accessor :command + + # Arguments to be passed to the command. + attr_accessor :arguments + + # Return all available commands + def self.commands + commands = COMMANDS + commands += LINUX_ONLY_COMMANDS if Thin.linux? + commands + end + + def initialize(argv) + @argv = argv + + # Default options values + @options = { + :chdir => Dir.pwd, + :environment => 'development', + :address => '0.0.0.0', + :port => Server::DEFAULT_PORT, + :timeout => Server::DEFAULT_TIMEOUT, + :log => 'log/thin.log', + :pid => 'tmp/pids/thin.pid', + :max_conns => Server::DEFAULT_MAXIMUM_CONNECTIONS, + :max_persistent_conns => Server::DEFAULT_MAXIMUM_PERSISTENT_CONNECTIONS, + :require => [], + :wait => Controllers::Cluster::DEFAULT_WAIT_TIME + } + + parse! + end + + def parser + # NOTE: If you add an option here make sure the key in the +options+ hash is the + # same as the name of the command line option. + # +option+ keys are used to build the command line to launch other processes, + # see lib/thin/command.rb. + @parser ||= OptionParser.new do |opts| + opts.banner = "Usage: thin [options] #{self.class.commands.join('|')}" + + opts.separator "" + opts.separator "Server options:" + + opts.on("-a", "--address HOST", "bind to HOST address " + + "(default: #{@options[:address]})") { |host| @options[:address] = host } + opts.on("-p", "--port PORT", "use PORT (default: #{@options[:port]})") { |port| @options[:port] = port.to_i } + opts.on("-S", "--socket FILE", "bind to unix domain socket") { |file| @options[:socket] = file } + opts.on("-y", "--swiftiply [KEY]", "Run using swiftiply") { |key| @options[:swiftiply] = key } + opts.on("-A", "--adapter NAME", "Rack adapter to use (default: autodetect)", + "(#{Rack::ADAPTERS.map{|(a,b)|a}.join(', ')})") { |name| @options[:adapter] = name } + opts.on("-R", "--rackup FILE", "Load a Rack config file instead of " + + "Rack adapter") { |file| @options[:rackup] = file } + opts.on("-c", "--chdir DIR", "Change to dir before starting") { |dir| @options[:chdir] = File.expand_path(dir) } + opts.on( "--stats PATH", "Mount the Stats adapter under PATH") { |path| @options[:stats] = path } + + opts.separator "" + opts.separator "Adapter options:" + opts.on("-e", "--environment ENV", "Framework environment " + + "(default: #{@options[:environment]})") { |env| @options[:environment] = env } + opts.on( "--prefix PATH", "Mount the app under PATH (start with /)") { |path| @options[:prefix] = path } + + unless Thin.win? # Daemonizing not supported on Windows + opts.separator "" + opts.separator "Daemon options:" + + opts.on("-d", "--daemonize", "Run daemonized in the background") { @options[:daemonize] = true } + opts.on("-l", "--log FILE", "File to redirect output " + + "(default: #{@options[:log]})") { |file| @options[:log] = file } + opts.on("-P", "--pid FILE", "File to store PID " + + "(default: #{@options[:pid]})") { |file| @options[:pid] = file } + opts.on("-u", "--user NAME", "User to run daemon as (use with -g)") { |user| @options[:user] = user } + opts.on("-g", "--group NAME", "Group to run daemon as (use with -u)") { |group| @options[:group] = group } + opts.on( "--tag NAME", "Additional text to display in process listing") { |tag| @options[:tag] = tag } + + opts.separator "" + opts.separator "Cluster options:" + + opts.on("-s", "--servers NUM", "Number of servers to start") { |num| @options[:servers] = num.to_i } + opts.on("-o", "--only NUM", "Send command to only one server of the cluster") { |only| @options[:only] = only.to_i } + opts.on("-C", "--config FILE", "Load options from config file") { |file| @options[:config] = file } + opts.on( "--all [DIR]", "Send command to each config files in DIR") { |dir| @options[:all] = dir } if Thin.linux? + opts.on("-O", "--onebyone", "Restart the cluster one by one (only works with restart command)") { @options[:onebyone] = true } + opts.on("-w", "--wait NUM", "Maximum wait time for server to be started in seconds (use with -O)") { |time| @options[:wait] = time.to_i } + end + + opts.separator "" + opts.separator "Tuning options:" + + opts.on("-b", "--backend CLASS", "Backend to use, full classname") { |name| @options[:backend] = name } + opts.on("-t", "--timeout SEC", "Request or command timeout in sec " + + "(default: #{@options[:timeout]})") { |sec| @options[:timeout] = sec.to_i } + opts.on("-f", "--force", "Force the execution of the command") { @options[:force] = true } + opts.on( "--max-conns NUM", "Maximum number of open file descriptors " + + "(default: #{@options[:max_conns]})", + "Might require sudo to set higher then 1024") { |num| @options[:max_conns] = num.to_i } unless Thin.win? + opts.on( "--max-persistent-conns NUM", + "Maximum number of persistent connections", + "(default: #{@options[:max_persistent_conns]})") { |num| @options[:max_persistent_conns] = num.to_i } + opts.on( "--threaded", "Call the Rack application in threads " + + "[experimental]") { @options[:threaded] = true } + opts.on( "--no-epoll", "Disable the use of epoll") { @options[:no_epoll] = true } if Thin.linux? + + opts.separator "" + opts.separator "Common options:" + + opts.on_tail("-r", "--require FILE", "require the library") { |file| @options[:require] << file } + opts.on_tail("-D", "--debug", "Set debbuging on") { @options[:debug] = true } + opts.on_tail("-V", "--trace", "Set tracing on (log raw request/response)") { @options[:trace] = true } + opts.on_tail("-h", "--help", "Show this message") { puts opts; exit } + opts.on_tail('-v', '--version', "Show version") { puts Thin::SERVER; exit } + end + end + + # Parse the options. + def parse! + parser.parse! @argv + @command = @argv.shift + @arguments = @argv + end + + # Parse the current shell arguments and run the command. + # Exits on error. + def run! + if self.class.commands.include?(@command) + run_command + elsif @command.nil? + puts "Command required" + puts @parser + exit 1 + else + abort "Unknown command: #{@command}. Use one of #{self.class.commands.join(', ')}" + end + end + + # Send the command to the controller: single instance or cluster. + def run_command + load_options_from_config_file! unless CONFIGLESS_COMMANDS.include?(@command) + + # PROGRAM_NAME is relative to the current directory, so make sure + # we store and expand it before changing directory. + Command.script = File.expand_path($PROGRAM_NAME) + + # Change the current directory ASAP so that all relative paths are + # relative to this one. + Dir.chdir(@options[:chdir]) unless CONFIGLESS_COMMANDS.include?(@command) + + @options[:require].each { |r| ruby_require r } + Logging.debug = @options[:debug] + Logging.trace = @options[:trace] + + controller = case + when cluster? then Controllers::Cluster.new(@options) + when service? then Controllers::Service.new(@options) + else Controllers::Controller.new(@options) + end + + if controller.respond_to?(@command) + begin + controller.send(@command, *@arguments) + rescue RunnerError => e + abort e.message + end + else + abort "Invalid options for command: #{@command}" + end + end + + # +true+ if we're controlling a cluster. + def cluster? + @options[:only] || @options[:servers] || @options[:config] + end + + # +true+ if we're acting a as system service. + def service? + @options.has_key?(:all) || @command == 'install' + end + + private + def load_options_from_config_file! + if file = @options.delete(:config) + YAML.load_file(file).each { |key, value| @options[key.to_sym] = value } + end + end + + def ruby_require(file) + if File.extname(file) == '.ru' + warn 'WARNING: Use the -R option to load a Rack config file' + @options[:rackup] = file + else + require file + end + end + end +end diff --git a/vendor/gems/gems/thin-1.2.5/lib/thin/server.rb b/vendor/gems/gems/thin-1.2.5/lib/thin/server.rb new file mode 100755 index 00000000..852ee02c --- /dev/null +++ b/vendor/gems/gems/thin-1.2.5/lib/thin/server.rb @@ -0,0 +1,247 @@ +module Thin + # The uterly famous Thin HTTP server. + # It listen for incoming request through a given +backend+ + # and forward all request to +app+. + # + # == TCP server + # Create a new TCP server on bound to host:port by specifiying +host+ + # and +port+ as the first 2 arguments. + # + # Thin::Server.start('0.0.0.0', 3000, app) + # + # == UNIX domain server + # Create a new UNIX domain socket bound to +socket+ file by specifiying a filename + # as the first argument. Eg.: /tmp/thin.sock. If the first argument contains a / + # it will be assumed to be a UNIX socket. + # + # Thin::Server.start('/tmp/thin.sock', app) + # + # == Using a custom backend + # You can implement your own way to connect the server to its client by creating your + # own Backend class and pass it as the :backend option. + # + # Thin::Server.start('galaxy://faraway', 1345, app, :backend => Thin::Backends::MyFancyBackend) + # + # == Rack application (+app+) + # All requests will be processed through +app+ that must be a valid Rack adapter. + # A valid Rack adapter (application) must respond to call(env#Hash) and + # return an array of [status, headers, body]. + # + # == Building an app in place + # If a block is passed, a Rack::Builder instance + # will be passed to build the +app+. So you can do cool stuff like this: + # + # Thin::Server.start('0.0.0.0', 3000) do + # use Rack::CommonLogger + # use Rack::ShowExceptions + # map "/lobster" do + # use Rack::Lint + # run Rack::Lobster.new + # end + # end + # + # == Controlling with signals + # * QUIT: Gracefull shutdown (see Server#stop) + # * INT and TERM: Force shutdown (see Server#stop!) + # Disable signals by passing :signals => false + # + class Server + include Logging + include Daemonizable + extend Forwardable + + # Default values + DEFAULT_TIMEOUT = 30 #sec + DEFAULT_HOST = '0.0.0.0' + DEFAULT_PORT = 3000 + DEFAULT_MAXIMUM_CONNECTIONS = 1024 + DEFAULT_MAXIMUM_PERSISTENT_CONNECTIONS = 512 + + # Application (Rack adapter) called with the request that produces the response. + attr_accessor :app + + # A tag that will show in the process listing + attr_accessor :tag + + # Backend handling the connections to the clients. + attr_accessor :backend + + # Maximum number of seconds for incoming data to arrive before the connection + # is dropped. + def_delegators :backend, :timeout, :timeout= + + # Maximum number of file or socket descriptors that the server may open. + def_delegators :backend, :maximum_connections, :maximum_connections= + + # Maximum number of connection that can be persistent at the same time. + # Most browser never close the connection so most of the time they are closed + # when the timeout occur. If we don't control the number of persistent connection, + # if would be very easy to overflow the server for a DoS attack. + def_delegators :backend, :maximum_persistent_connections, :maximum_persistent_connections= + + # Allow using threads in the backend. + def_delegators :backend, :threaded?, :threaded= + + # Address and port on which the server is listening for connections. + def_delegators :backend, :host, :port + + # UNIX domain socket on which the server is listening for connections. + def_delegator :backend, :socket + + # Disable the use of epoll under Linux + def_delegators :backend, :no_epoll, :no_epoll= + + def initialize(*args, &block) + host, port, options = DEFAULT_HOST, DEFAULT_PORT, {} + + # Guess each parameter by its type so they can be + # received in any order. + args.each do |arg| + case arg + when Fixnum, /^\d+$/ then port = arg.to_i + when String then host = arg + when Hash then options = arg + else + @app = arg if arg.respond_to?(:call) + end + end + + # Set tag if needed + self.tag = options[:tag] + + # Try to intelligently select which backend to use. + @backend = select_backend(host, port, options) + + load_cgi_multipart_eof_fix + + @backend.server = self + + # Set defaults + @backend.maximum_connections = DEFAULT_MAXIMUM_CONNECTIONS + @backend.maximum_persistent_connections = DEFAULT_MAXIMUM_PERSISTENT_CONNECTIONS + @backend.timeout = DEFAULT_TIMEOUT + + # Allow using Rack builder as a block + @app = Rack::Builder.new(&block).to_app if block + + # If in debug mode, wrap in logger adapter + @app = Rack::CommonLogger.new(@app) if Logging.debug? + + setup_signals unless options[:signals].class == FalseClass + end + + # Lil' shortcut to turn this: + # + # Server.new(...).start + # + # into this: + # + # Server.start(...) + # + def self.start(*args, &block) + new(*args, &block).start! + end + + # Start the server and listen for connections. + def start + raise ArgumentError, 'app required' unless @app + + log ">> Thin web server (v#{VERSION::STRING} codename #{VERSION::CODENAME})" + debug ">> Debugging ON" + trace ">> Tracing ON" + + log ">> Maximum connections set to #{@backend.maximum_connections}" + log ">> Listening on #{@backend}, CTRL+C to stop" + + @backend.start + end + alias :start! :start + + # == Gracefull shutdown + # Stops the server after processing all current connections. + # As soon as this method is called, the server stops accepting + # new requests and wait for all current connections to finish. + # Calling twice is the equivalent of calling stop!. + def stop + if running? + @backend.stop + unless @backend.empty? + log ">> Waiting for #{@backend.size} connection(s) to finish, " + + "can take up to #{timeout} sec, CTRL+C to stop now" + end + else + stop! + end + end + + # == Force shutdown + # Stops the server closing all current connections right away. + # This doesn't wait for connection to finish their work and send data. + # All current requests will be dropped. + def stop! + log ">> Stopping ..." + + @backend.stop! + end + + # == Configure the server + # The process might need to have superuser privilege to configure + # server with optimal options. + def config + @backend.config + end + + # Name of the server and type of backend used. + # This is also the name of the process in which Thin is running as a daemon. + def name + "thin server (#{@backend})" + (tag ? " [#{tag}]" : "") + end + alias :to_s :name + + # Return +true+ if the server is running and ready to receive requests. + # Note that the server might still be running and return +false+ when + # shuting down and waiting for active connections to complete. + def running? + @backend.running? + end + + protected + # Register signals: + # * INT calls +stop+ to shutdown gracefully. + # * TERM calls stop! to force shutdown. + def setup_signals + trap('QUIT') { stop } unless Thin.win? + trap('INT') { stop! } + trap('TERM') { stop! } + end + + def select_backend(host, port, options) + case + when options.has_key?(:backend) + raise ArgumentError, ":backend must be a class" unless options[:backend].is_a?(Class) + options[:backend].new(host, port, options) + when options.has_key?(:swiftiply) + Backends::SwiftiplyClient.new(host, port, options) + when host.include?('/') + Backends::UnixServer.new(host) + else + Backends::TcpServer.new(host, port) + end + end + + # Taken from Mongrel cgi_multipart_eof_fix + # Ruby 1.8.5 has a security bug in cgi.rb, we need to patch it. + def load_cgi_multipart_eof_fix + version = RUBY_VERSION.split('.').map { |i| i.to_i } + + if version[0] <= 1 && version[1] <= 8 && version[2] <= 5 && RUBY_PLATFORM !~ /java/ + begin + require 'cgi_multipart_eof_fix' + rescue LoadError + log "!! Ruby 1.8.5 is not secure please install cgi_multipart_eof_fix:" + log " gem install cgi_multipart_eof_fix" + end + end + end + end +end \ No newline at end of file diff --git a/vendor/gems/gems/thin-1.2.5/lib/thin/stats.html.erb b/vendor/gems/gems/thin-1.2.5/lib/thin/stats.html.erb new file mode 100755 index 00000000..14338bf1 --- /dev/null +++ b/vendor/gems/gems/thin-1.2.5/lib/thin/stats.html.erb @@ -0,0 +1,216 @@ +<%# +# Taken from Rack::ShowException +# adapted from Django +# Copyright (c) 2005, the Lawrence Journal-World +# Used under the modified BSD license: +# http://www.xfree86.org/3.3.6/COPYRIGHT2.html#5 +%> + + + + + + Thin Stats + + + + +
    +

    Server stats

    +

    <%= Thin::SERVER %>

    + + + + + + + + + +
    Uptime<%= Time.now - @start_time %> sec
    PID<%=h Process.pid %>
    + + <% if @last_request %> +

    Jump to:

    + + <% end %> +
    + +
    +

    Requests

    +

    Stats

    + + + + + + + + + + + + + + + + + +
    Requests<%= @requests %>
    Finished<%= @requests_finished %>
    Errors<%= @requests - @requests_finished %>
    Last request<%= @last_request_time %> sec
    +
    + +<% if @last_request %> +
    +

    Last Request information

    + +

    GET

    + <% unless @last_request.GET.empty? %> + + + + + + + + + <% @last_request.GET.sort_by { |k, v| k.to_s }.each { |key, val| %> + + + + + <% } %> + +
    VariableValue
    <%=h key %>
    <%=h val.inspect %>
    + <% else %> +

    No GET data.

    + <% end %> + +

    POST

    + <% unless @last_request.POST.empty? %> + + + + + + + + + <% @last_request.POST.sort_by { |k, v| k.to_s }.each { |key, val| %> + + + + + <% } %> + +
    VariableValue
    <%=h key %>
    <%=h val.inspect %>
    + <% else %> +

    No POST data.

    + <% end %> + + + + <% unless @last_request.cookies.empty? %> + + + + + + + + + <% @last_request.cookies.each { |key, val| %> + + + + + <% } %> + +
    VariableValue
    <%=h key %>
    <%=h val.inspect %>
    + <% else %> +

    No cookie data.

    + <% end %> + +

    Rack ENV

    + + + + + + + + + <% @last_request.env.sort_by { |k, v| k.to_s }.each { |key, val| %> + + + + + <% } %> + +
    VariableValue
    <%=h key %>
    <%=h val %>
    + +
    +<% end %> + +
    +

    + You're seeing this page because you use Thin::Stats. +

    +
    + + + \ No newline at end of file diff --git a/vendor/gems/gems/thin-1.2.5/lib/thin/stats.rb b/vendor/gems/gems/thin-1.2.5/lib/thin/stats.rb new file mode 100755 index 00000000..146baec5 --- /dev/null +++ b/vendor/gems/gems/thin-1.2.5/lib/thin/stats.rb @@ -0,0 +1,52 @@ +require 'erb' + +module Thin + module Stats + # Rack adapter to log stats about a Rack application. + class Adapter + include ERB::Util + + def initialize(app, path='/stats') + @app = app + @path = path + + @template = ERB.new(File.read(File.dirname(__FILE__) + '/stats.html.erb')) + + @requests = 0 + @requests_finished = 0 + @start_time = Time.now + end + + def call(env) + if env['PATH_INFO'].index(@path) == 0 + serve(env) + else + log(env) { @app.call(env) } + end + end + + def log(env) + @requests += 1 + @last_request = Rack::Request.new(env) + request_started_at = Time.now + + response = yield + + @requests_finished += 1 + @last_request_time = Time.now - request_started_at + + response + end + + def serve(env) + body = @template.result(binding) + + [ + 200, + { 'Content-Type' => 'text/html' }, + [body] + ] + end + end + end +end \ No newline at end of file diff --git a/vendor/gems/gems/thin-1.2.5/lib/thin/statuses.rb b/vendor/gems/gems/thin-1.2.5/lib/thin/statuses.rb new file mode 100755 index 00000000..8aa3614d --- /dev/null +++ b/vendor/gems/gems/thin-1.2.5/lib/thin/statuses.rb @@ -0,0 +1,43 @@ +module Thin + # Every standard HTTP code mapped to the appropriate message. + # Stolent from Mongrel. + HTTP_STATUS_CODES = { + 100 => 'Continue', + 101 => 'Switching Protocols', + 200 => 'OK', + 201 => 'Created', + 202 => 'Accepted', + 203 => 'Non-Authoritative Information', + 204 => 'No Content', + 205 => 'Reset Content', + 206 => 'Partial Content', + 300 => 'Multiple Choices', + 301 => 'Moved Permanently', + 302 => 'Moved Temporarily', + 303 => 'See Other', + 304 => 'Not Modified', + 305 => 'Use Proxy', + 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 Time-out', + 409 => 'Conflict', + 410 => 'Gone', + 411 => 'Length Required', + 412 => 'Precondition Failed', + 413 => 'Request Entity Too Large', + 414 => 'Request-URI Too Large', + 415 => 'Unsupported Media Type', + 500 => 'Internal Server Error', + 501 => 'Not Implemented', + 502 => 'Bad Gateway', + 503 => 'Service Unavailable', + 504 => 'Gateway Time-out', + 505 => 'HTTP Version not supported' + } +end \ No newline at end of file diff --git a/vendor/gems/gems/thin-1.2.5/lib/thin/version.rb b/vendor/gems/gems/thin-1.2.5/lib/thin/version.rb new file mode 100755 index 00000000..fbaf79e6 --- /dev/null +++ b/vendor/gems/gems/thin-1.2.5/lib/thin/version.rb @@ -0,0 +1,32 @@ +module Thin + # Raised when a feature is not supported on the + # current platform. + class PlatformNotSupported < RuntimeError; end + + module VERSION #:nodoc: + MAJOR = 1 + MINOR = 2 + TINY = 5 + + STRING = [MAJOR, MINOR, TINY].join('.') + + CODENAME = "This Is Not A Web Server".freeze + + RACK = [1, 0].freeze # Rack protocol version + end + + NAME = 'thin'.freeze + SERVER = "#{NAME} #{VERSION::STRING} codename #{VERSION::CODENAME}".freeze + + def self.win? + RUBY_PLATFORM =~ /mswin|mingw/ + end + + def self.linux? + RUBY_PLATFORM =~ /linux/ + end + + def self.ruby_18? + RUBY_VERSION =~ /^1\.8/ + end +end diff --git a/vendor/gems/gems/thin-1.2.5/lib/thin_parser.bundle b/vendor/gems/gems/thin-1.2.5/lib/thin_parser.bundle new file mode 100755 index 0000000000000000000000000000000000000000..c9a122b947bb4d2d6e9fd6c0260fc6b5752d32d4 GIT binary patch literal 58736 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�`jd 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 true) + end + + it "should connect" do + EventMachine.run do + @backend.connect + EventMachine.stop + end + end + + it "should disconnect" do + EventMachine.run do + @backend.connect + @backend.disconnect + EventMachine.stop + end + end +end + +describe SwiftiplyConnection do + before do + @connection = SwiftiplyConnection.new(nil) + @connection.backend = Backends::SwiftiplyClient.new('0.0.0.0', 3333) + @connection.backend.server = mock('server', :null_object => true) + end + + it do + @connection.should be_persistent + end + + it "should send handshake on connection_completed" do + @connection.should_receive(:send_data).with('swiftclient000000000d0500') + @connection.connection_completed + end + + it "should reconnect on unbind" do + @connection.backend.stub!(:running?).and_return(true) + @connection.stub!(:rand).and_return(0) # Make sure we don't wait + + @connection.should_receive(:reconnect).with('0.0.0.0', 3333) + + EventMachine.run do + @connection.unbind + EventMachine.add_timer(0) { EventMachine.stop } + end + end + + it "should not reconnect when not running" do + @connection.backend.stub!(:running?).and_return(false) + EventMachine.should_not_receive(:add_timer) + @connection.unbind + end + + it "should have a host_ip" do + @connection.send(:host_ip).should == [0, 0, 0, 0] + end + + it "should generate swiftiply_handshake based on key" do + @connection.send(:swiftiply_handshake, 'key').should == 'swiftclient000000000d0503key' + end +end \ No newline at end of file diff --git a/vendor/gems/gems/thin-1.2.5/spec/backends/tcp_server_spec.rb b/vendor/gems/gems/thin-1.2.5/spec/backends/tcp_server_spec.rb new file mode 100755 index 00000000..f358e328 --- /dev/null +++ b/vendor/gems/gems/thin-1.2.5/spec/backends/tcp_server_spec.rb @@ -0,0 +1,33 @@ +require File.dirname(__FILE__) + '/../spec_helper' + +describe Backends::TcpServer do + before do + @backend = Backends::TcpServer.new('0.0.0.0', 3333) + end + + it "should not use epoll" do + @backend.no_epoll = true + EventMachine.should_not_receive(:epoll) + @backend.config + end + + it "should use epoll" do + EventMachine.should_receive(:epoll) + @backend.config + end + + it "should connect" do + EventMachine.run do + @backend.connect + EventMachine.stop + end + end + + it "should disconnect" do + EventMachine.run do + @backend.connect + @backend.disconnect + EventMachine.stop + end + end +end diff --git a/vendor/gems/gems/thin-1.2.5/spec/backends/unix_server_spec.rb b/vendor/gems/gems/thin-1.2.5/spec/backends/unix_server_spec.rb new file mode 100755 index 00000000..1abcdb69 --- /dev/null +++ b/vendor/gems/gems/thin-1.2.5/spec/backends/unix_server_spec.rb @@ -0,0 +1,37 @@ +require File.dirname(__FILE__) + '/../spec_helper' + +describe Backends::UnixServer do + before do + @backend = Backends::UnixServer.new('/tmp/thin-test.sock') + end + + it "should connect" do + EventMachine.run do + @backend.connect + EventMachine.stop + end + end + + it "should disconnect" do + EventMachine.run do + @backend.connect + @backend.disconnect + EventMachine.stop + end + end + + it "should remove socket file on close" do + @backend.close + File.exist?('/tmp/thin-test.sock').should be_false + end +end + +describe UnixConnection do + before do + @connection = UnixConnection.new(nil) + end + + it "should return 127.0.0.1 as remote_address" do + @connection.remote_address.should == '127.0.0.1' + end +end \ No newline at end of file diff --git a/vendor/gems/gems/thin-1.2.5/spec/command_spec.rb b/vendor/gems/gems/thin-1.2.5/spec/command_spec.rb new file mode 100755 index 00000000..751d11f7 --- /dev/null +++ b/vendor/gems/gems/thin-1.2.5/spec/command_spec.rb @@ -0,0 +1,25 @@ +require File.dirname(__FILE__) + '/spec_helper' + +describe Command do + before do + Command.script = 'thin' + @command = Command.new(:start, :port => 3000, :daemonize => true, :log => 'hi.log', + :require => %w(rubygems thin), :no_epoll => true) + end + + it 'should shellify command' do + out = @command.shellify + out.should include('--port=3000', '--daemonize', '--log="hi.log"', 'thin start --') + out.should_not include('--pid') + end + + it 'should shellify Array argument to multiple parameters' do + out = @command.shellify + out.should include('--require="rubygems"', '--require="thin"') + end + + it 'should convert _ to - in option name' do + out = @command.shellify + out.should include('--no-epoll') + end +end \ No newline at end of file diff --git a/vendor/gems/gems/thin-1.2.5/spec/configs/cluster.yml b/vendor/gems/gems/thin-1.2.5/spec/configs/cluster.yml new file mode 100755 index 00000000..5243635b --- /dev/null +++ b/vendor/gems/gems/thin-1.2.5/spec/configs/cluster.yml @@ -0,0 +1,9 @@ +--- +pid: tmp/pids/thin.pid +log: log/thin.log +timeout: 60 +port: 5000 +chdir: spec/rails_app +environment: production +servers: 3 +address: 127.0.0.1 diff --git a/vendor/gems/gems/thin-1.2.5/spec/configs/single.yml b/vendor/gems/gems/thin-1.2.5/spec/configs/single.yml new file mode 100755 index 00000000..29c3d611 --- /dev/null +++ b/vendor/gems/gems/thin-1.2.5/spec/configs/single.yml @@ -0,0 +1,9 @@ +--- +pid: tmp/pids/thin.pid +log: log/thin.log +timeout: 60 +port: 6000 +chdir: spec/rails_app +environment: production +daemonize: true +address: 127.0.0.1 diff --git a/vendor/gems/gems/thin-1.2.5/spec/connection_spec.rb b/vendor/gems/gems/thin-1.2.5/spec/connection_spec.rb new file mode 100755 index 00000000..11672117 --- /dev/null +++ b/vendor/gems/gems/thin-1.2.5/spec/connection_spec.rb @@ -0,0 +1,106 @@ +require File.dirname(__FILE__) + '/spec_helper' + +describe Connection do + before do + @connection = Connection.new(mock('EM', :null_object => true)) + @connection.post_init + @connection.app = proc do |env| + [200, {}, ['']] + end + end + + it "should parse on receive_data" do + @connection.request.should_receive(:parse).with('GET') + @connection.receive_data('GET') + end + + it "should close connection on InvalidRequest error in receive_data" do + @connection.request.stub!(:parse).and_raise(InvalidRequest) + @connection.should_receive(:close_connection) + @connection.receive_data('') + end + + it "should process when parsing complete" do + @connection.request.should_receive(:parse).and_return(true) + @connection.should_receive(:process) + @connection.receive_data('GET') + end + + it "should process" do + @connection.process + end + + it "should rescue error in process" do + @connection.app.should_receive(:call).and_raise(StandardError) + @connection.process + end + + it "should rescue Timeout error in process" do + @connection.app.should_receive(:call).and_raise(Timeout::Error.new("timeout error not rescued")) + @connection.process + end + + it "should not return HTTP_X_FORWARDED_FOR as remote_address" do + @connection.request.env['HTTP_X_FORWARDED_FOR'] = '1.2.3.4' + @connection.stub!(:socket_address).and_return("127.0.0.1") + @connection.remote_address.should == "127.0.0.1" + end + + it "should return nil on error retreiving remote_address" do + @connection.stub!(:get_peername).and_raise(RuntimeError) + @connection.remote_address.should be_nil + end + + it "should return nil on nil get_peername" do + @connection.stub!(:get_peername).and_return(nil) + @connection.remote_address.should be_nil + end + + it "should return nil on empty get_peername" do + @connection.stub!(:get_peername).and_return('') + @connection.remote_address.should be_nil + end + + it "should return remote_address" do + @connection.stub!(:get_peername).and_return(Socket.pack_sockaddr_in(3000, '127.0.0.1')) + @connection.remote_address.should == '127.0.0.1' + end + + it "should not be persistent" do + @connection.should_not be_persistent + end + + it "should be persistent when response is and allowed" do + @connection.response.stub!(:persistent?).and_return(true) + @connection.can_persist! + @connection.should be_persistent + end + + it "should not be persistent when response is but not allowed" do + @connection.response.persistent! + @connection.should_not be_persistent + end + + it "should set request env as rack.multithread" do + EventMachine.should_receive(:defer) + + @connection.threaded = true + @connection.process + + @connection.request.env["rack.multithread"].should == true + end + + it "should set as threaded when app.deferred? is true" do + @connection.app.should_receive(:deferred?).and_return(true) + @connection.should be_threaded + end + + it "should not set as threaded when app.deferred? is false" do + @connection.app.should_receive(:deferred?).and_return(false) + @connection.should_not be_threaded + end + + it "should not set as threaded when app do not respond to deferred?" do + @connection.should_not be_threaded + end +end \ No newline at end of file diff --git a/vendor/gems/gems/thin-1.2.5/spec/controllers/cluster_spec.rb b/vendor/gems/gems/thin-1.2.5/spec/controllers/cluster_spec.rb new file mode 100755 index 00000000..81246642 --- /dev/null +++ b/vendor/gems/gems/thin-1.2.5/spec/controllers/cluster_spec.rb @@ -0,0 +1,267 @@ +require File.dirname(__FILE__) + '/../spec_helper' +include Controllers + +describe Cluster, "with host and port" do + before do + @cluster = Cluster.new(:chdir => '/rails_app', + :address => '0.0.0.0', + :port => 3000, + :servers => 3, + :timeout => 10, + :log => 'thin.log', + :pid => 'thin.pid' + ) + end + + it 'should include port number in file names' do + @cluster.send(:include_server_number, 'thin.log', 3000).should == 'thin.3000.log' + @cluster.send(:include_server_number, 'thin.pid', 3000).should == 'thin.3000.pid' + end + + it 'should call each server' do + calls = [] + @cluster.send(:with_each_server) do |port| + calls << port + end + calls.should == [3000, 3001, 3002] + end + + it 'should start on each port' do + Command.should_receive(:run).with(:start, options_for_port(3000)) + Command.should_receive(:run).with(:start, options_for_port(3001)) + Command.should_receive(:run).with(:start, options_for_port(3002)) + + @cluster.start + end + + it 'should stop on each port' do + Command.should_receive(:run).with(:stop, options_for_port(3000)) + Command.should_receive(:run).with(:stop, options_for_port(3001)) + Command.should_receive(:run).with(:stop, options_for_port(3002)) + + @cluster.stop + end + + private + def options_for_port(port) + { :daemonize => true, :log => "thin.#{port}.log", :timeout => 10, :address => "0.0.0.0", :port => port, :pid => "thin.#{port}.pid", :chdir => "/rails_app" } + end +end + +describe Cluster, "with UNIX socket" do + before do + @cluster = Cluster.new(:chdir => '/rails_app', + :socket => '/tmp/thin.sock', + :address => '0.0.0.0', + :port => 3000, + :servers => 3, + :timeout => 10, + :log => 'thin.log', + :pid => 'thin.pid' + ) + end + + it 'should include socket number in file names' do + @cluster.send(:include_server_number, 'thin.sock', 0).should == 'thin.0.sock' + @cluster.send(:include_server_number, 'thin', 0).should == 'thin.0' + end + + it "should exclude :address and :port options" do + @cluster.options.should_not have_key(:address) + @cluster.options.should_not have_key(:port) + end + + it 'should call each server' do + calls = [] + @cluster.send(:with_each_server) do |n| + calls << n + end + calls.should == [0, 1, 2] + end + + it 'should start each server' do + Command.should_receive(:run).with(:start, options_for_socket(0)) + Command.should_receive(:run).with(:start, options_for_socket(1)) + Command.should_receive(:run).with(:start, options_for_socket(2)) + + @cluster.start + end + + it 'should stop each server' do + Command.should_receive(:run).with(:stop, options_for_socket(0)) + Command.should_receive(:run).with(:stop, options_for_socket(1)) + Command.should_receive(:run).with(:stop, options_for_socket(2)) + + @cluster.stop + end + + + private + def options_for_socket(number) + { :daemonize => true, :log => "thin.#{number}.log", :timeout => 10, :socket => "/tmp/thin.#{number}.sock", :pid => "thin.#{number}.pid", :chdir => "/rails_app" } + end +end + +describe Cluster, "controlling only one server" do + before do + @cluster = Cluster.new(:chdir => '/rails_app', + :address => '0.0.0.0', + :port => 3000, + :servers => 3, + :timeout => 10, + :log => 'thin.log', + :pid => 'thin.pid', + :only => 3001 + ) + end + + it 'should call only specified server' do + calls = [] + @cluster.send(:with_each_server) do |n| + calls << n + end + calls.should == [3001] + end + + it "should start only specified server" do + Command.should_receive(:run).with(:start, options_for_port(3001)) + + @cluster.start + end + + private + def options_for_port(port) + { :daemonize => true, :log => "thin.#{port}.log", :timeout => 10, :address => "0.0.0.0", :port => port, :pid => "thin.#{port}.pid", :chdir => "/rails_app" } + end +end + +describe Cluster, "controlling only one server with UNIX socket" do + before do + @cluster = Cluster.new(:chdir => '/rails_app', + :socket => '/tmp/thin.sock', + :address => '0.0.0.0', + :port => 3000, + :servers => 3, + :timeout => 10, + :log => 'thin.log', + :pid => 'thin.pid', + :only => 1 + ) + end + + it 'should call only specified server' do + calls = [] + @cluster.send(:with_each_server) do |n| + calls << n + end + calls.should == [1] + end +end + +describe Cluster, "controlling only one server, by sequence number" do + before do + @cluster = Cluster.new(:chdir => '/rails_app', + :address => '0.0.0.0', + :port => 3000, + :servers => 3, + :timeout => 10, + :log => 'thin.log', + :pid => 'thin.pid', + :only => 1 + ) + end + + it 'should call only specified server' do + calls = [] + @cluster.send(:with_each_server) do |n| + calls << n + end + calls.should == [3001] + end + + it "should start only specified server" do + Command.should_receive(:run).with(:start, options_for_port(3001)) + + @cluster.start + end + + private + def options_for_port(port) + { :daemonize => true, :log => "thin.#{port}.log", :timeout => 10, :address => "0.0.0.0", :port => port, :pid => "thin.#{port}.pid", :chdir => "/rails_app" } + end +end + +describe Cluster, "with Swiftiply" do + before do + @cluster = Cluster.new(:chdir => '/rails_app', + :address => '0.0.0.0', + :port => 3000, + :servers => 3, + :timeout => 10, + :log => 'thin.log', + :pid => 'thin.pid', + :swiftiply => true + ) + end + + it 'should call each server' do + calls = [] + @cluster.send(:with_each_server) do |n| + calls << n + end + calls.should == [0, 1, 2] + end + + it 'should start each server' do + Command.should_receive(:run).with(:start, options_for_swiftiply(0)) + Command.should_receive(:run).with(:start, options_for_swiftiply(1)) + Command.should_receive(:run).with(:start, options_for_swiftiply(2)) + + @cluster.start + end + + it 'should stop each server' do + Command.should_receive(:run).with(:stop, options_for_swiftiply(0)) + Command.should_receive(:run).with(:stop, options_for_swiftiply(1)) + Command.should_receive(:run).with(:stop, options_for_swiftiply(2)) + + @cluster.stop + end + + private + def options_for_swiftiply(number) + { :address => '0.0.0.0', :port => 3000, :daemonize => true, :log => "thin.#{number}.log", :timeout => 10, :pid => "thin.#{number}.pid", :chdir => "/rails_app", :swiftiply => true } + end +end + +describe Cluster, "rolling restart" do + before do + @cluster = Cluster.new(:chdir => '/rails_app', + :address => '0.0.0.0', + :port => 3000, + :servers => 2, + :timeout => 10, + :log => 'thin.log', + :pid => 'thin.pid', + :onebyone => true, + :wait => 30 + ) + end + + it "should restart servers one by one" do + Command.should_receive(:run).with(:stop, options_for_port(3000)) + Command.should_receive(:run).with(:start, options_for_port(3000)) + @cluster.should_receive(:wait_until_server_started).with(3000) + + Command.should_receive(:run).with(:stop, options_for_port(3001)) + Command.should_receive(:run).with(:start, options_for_port(3001)) + @cluster.should_receive(:wait_until_server_started).with(3001) + + @cluster.restart + end + + private + def options_for_port(port) + { :daemonize => true, :log => "thin.#{port}.log", :timeout => 10, :address => "0.0.0.0", :port => port, :pid => "thin.#{port}.pid", :chdir => "/rails_app" } + end +end \ No newline at end of file diff --git a/vendor/gems/gems/thin-1.2.5/spec/controllers/controller_spec.rb b/vendor/gems/gems/thin-1.2.5/spec/controllers/controller_spec.rb new file mode 100755 index 00000000..d98a011d --- /dev/null +++ b/vendor/gems/gems/thin-1.2.5/spec/controllers/controller_spec.rb @@ -0,0 +1,129 @@ +require File.dirname(__FILE__) + '/../spec_helper' +require 'ostruct' +include Controllers + +describe Controller, 'start' do + before do + @controller = Controller.new(:address => '0.0.0.0', + :port => 3000, + :pid => 'thin.pid', + :log => 'thin.log', + :timeout => 60, + :max_conns => 2000, + :max_persistent_conns => 1000, + :adapter => 'rails') + + @server = OpenStruct.new + @adapter = OpenStruct.new + + Server.should_receive(:new).with('0.0.0.0', 3000, @controller.options).and_return(@server) + @server.should_receive(:config) + Rack::Adapter::Rails.stub!(:new).and_return(@adapter) + end + + it "should configure server" do + @controller.start + + @server.app.should == @adapter + @server.pid_file.should == 'thin.pid' + @server.log_file.should == 'thin.log' + @server.maximum_connections.should == 2000 + @server.maximum_persistent_connections.should == 1000 + end + + it "should start as daemon" do + @controller.options[:daemonize] = true + @controller.options[:user] = true + @controller.options[:group] = true + + @server.should_receive(:daemonize) + @server.should_receive(:change_privilege) + + @controller.start + end + + it "should configure Rails adapter" do + Rack::Adapter::Rails.should_receive(:new).with(@controller.options.merge(:root => nil)) + + @controller.start + end + + it "should mount app under :prefix" do + @controller.options[:prefix] = '/app' + @controller.start + + @server.app.class.should == Rack::URLMap + end + + it "should mount Stats adapter under :stats" do + @controller.options[:stats] = '/stats' + @controller.start + + @server.app.class.should == Stats::Adapter + end + + it "should load app from Rack config" do + @controller.options[:rackup] = File.dirname(__FILE__) + '/../../example/config.ru' + @controller.start + + @server.app.class.should == Proc + end + + it "should load app from ruby file" do + @controller.options[:rackup] = File.dirname(__FILE__) + '/../../example/myapp.rb' + @controller.start + + @server.app.should == Myapp + end + + it "should throwup if rackup is not a .ru or .rb file" do + proc do + @controller.options[:rackup] = File.dirname(__FILE__) + '/../../example/myapp.foo' + @controller.start + end.should raise_error(RuntimeError, /please/) + end + + it "should set server as threaded" do + @controller.options[:threaded] = true + @controller.start + + @server.threaded.should be_true + end + + it "should set RACK_ENV" do + @controller.options[:rackup] = File.dirname(__FILE__) + '/../../example/config.ru' + @controller.options[:environment] = "lolcat" + @controller.start + + ENV['RACK_ENV'].should == "lolcat" + end + +end + +describe Controller do + before do + @controller = Controller.new(:pid => 'thin.pid', :timeout => 10) + @controller.stub!(:wait_for_file) + end + + it "should stop" do + Server.should_receive(:kill).with('thin.pid', 10) + @controller.stop + end + + it "should restart" do + Server.should_receive(:restart).with('thin.pid') + @controller.restart + end + + it "should write configuration file" do + silence_stream(STDOUT) do + Controller.new(:config => 'test.yml', :port => 5000, :address => '127.0.0.1').config + end + + File.read('test.yml').should include('port: 5000', 'address: 127.0.0.1') + File.read('test.yml').should_not include('config: ') + + File.delete('test.yml') + end +end \ No newline at end of file diff --git a/vendor/gems/gems/thin-1.2.5/spec/controllers/service_spec.rb b/vendor/gems/gems/thin-1.2.5/spec/controllers/service_spec.rb new file mode 100755 index 00000000..6c6cd3ba --- /dev/null +++ b/vendor/gems/gems/thin-1.2.5/spec/controllers/service_spec.rb @@ -0,0 +1,50 @@ +require File.dirname(__FILE__) + '/../spec_helper' +include Controllers + +describe Service do + before(:all) do + silence_stream(STDERR) do + Service::INITD_PATH = 'tmp/sandbox' + Service::INITD_PATH + Service::DEFAULT_CONFIG_PATH = 'tmp/sandbox' + Service::DEFAULT_CONFIG_PATH + end + end + + before do + Thin.stub!(:linux?).and_return(true) + FileUtils.mkdir_p 'tmp/sandbox' + + @service = Service.new(:all => 'spec/configs') + end + + it "should call command for each config file" do + Command.should_receive(:run).with(:start, :config => 'spec/configs/cluster.yml', :daemonize => true) + Command.should_receive(:run).with(:start, :config => 'spec/configs/single.yml', :daemonize => true) + + @service.start + end + + it "should create /etc/init.d/thin file when calling install" do + @service.install + + File.exist?(Service::INITD_PATH).should be_true + File.read(Service::INITD_PATH).should include('CONFIG_PATH=tmp/sandbox/etc/thin', + 'SCRIPT_NAME=tmp/sandbox/etc/init.d/thin', + 'DAEMON=' + Command.script) + end + + it "should create /etc/thin dir when calling install" do + @service.install + + File.directory?(Service::DEFAULT_CONFIG_PATH).should be_true + end + + it "should include specified path in /etc/init.d/thin script" do + @service.install('tmp/sandbox/usr/thin') + + File.read(Service::INITD_PATH).should include('CONFIG_PATH=tmp/sandbox/usr/thin') + end + + after do + FileUtils.rm_rf 'tmp/sandbox' + end +end \ No newline at end of file diff --git a/vendor/gems/gems/thin-1.2.5/spec/daemonizing_spec.rb b/vendor/gems/gems/thin-1.2.5/spec/daemonizing_spec.rb new file mode 100755 index 00000000..365d8df1 --- /dev/null +++ b/vendor/gems/gems/thin-1.2.5/spec/daemonizing_spec.rb @@ -0,0 +1,192 @@ +require File.dirname(__FILE__) + '/spec_helper' + +class TestServer + include Logging # Daemonizable should include this? + include Daemonizable + + def stop + end + + def name + 'Thin test server' + end +end + +describe 'Daemonizing' do + before :all do + @logfile = File.dirname(__FILE__) + '/../log/daemonizing_test.log' + @pidfile = 'test.pid' + File.delete(@logfile) if File.exist?(@logfile) + File.delete(@pidfile) if File.exist?(@pidfile) + end + + before :each do + @server = TestServer.new + @server.log_file = @logfile + @server.pid_file = @pidfile + @pid = nil + end + + it 'should have a pid file' do + @server.should respond_to(:pid_file) + @server.should respond_to(:pid_file=) + end + + it 'should create a pid file' do + @pid = fork do + @server.daemonize + sleep 1 + end + + sleep 1 + Process.wait(@pid) + File.exist?(@server.pid_file).should be_true + @pid = @server.pid + + proc { sleep 0.1 while File.exist?(@server.pid_file) }.should take_less_then(5) + end + + it 'should redirect stdio to a log file' do + @pid = fork do + @server.log_file = 'daemon_test.log' + @server.daemonize + + puts "simple puts" + STDERR.puts "STDERR.puts" + STDOUT.puts "STDOUT.puts" + end + Process.wait(@pid) + # Wait for the file to close and magical stuff to happen + proc { sleep 0.1 until File.exist?('daemon_test.log') }.should take_less_then(3) + sleep 0.5 + + @pid = @server.pid + + log = File.read('daemon_test.log') + log.should include('simple puts', 'STDERR.puts', 'STDOUT.puts') + + File.delete 'daemon_test.log' + end + + it 'should change privilege' do + @pid = fork do + @server.daemonize + @server.change_privilege('root', 'admin') + end + Process.wait(@pid) + $?.should be_a_success + end + + it 'should kill process in pid file' do + @pid = fork do + @server.daemonize + loop { sleep 3 } + end + + server_should_start_in_less_then 3 + + @pid = @server.pid + + silence_stream STDOUT do + TestServer.kill(@server.pid_file, 1) + end + + File.exist?(@server.pid_file).should be_false + end + + it 'should force kill process in pid file' do + @pid = fork do + @server.daemonize + loop { sleep 3 } + end + + server_should_start_in_less_then 3 + + @pid = @server.pid + + silence_stream STDOUT do + TestServer.kill(@server.pid_file, 0) + end + + File.exist?(@server.pid_file).should be_false + end + + it 'should send kill signal if timeout' do + @pid = fork do + @server.should_receive(:stop) # pretend we cannot handle the INT signal + @server.daemonize + sleep 5 + end + + server_should_start_in_less_then 10 + + @pid = @server.pid + + silence_stream STDOUT do + TestServer.kill(@server.pid_file, 1) + end + + sleep 1 + + File.exist?(@server.pid_file).should be_false + Process.running?(@pid).should be_false + end + + it "should restart" do + @pid = fork do + @server.on_restart {} + @server.daemonize + sleep 5 + end + + server_should_start_in_less_then 10 + + @pid = @server.pid + + silence_stream STDOUT do + TestServer.restart(@server.pid_file) + end + + proc { sleep 0.1 while File.exist?(@server.pid_file) }.should take_less_then(10) + end + + it "should not restart when not running" do + silence_stream STDOUT do + TestServer.restart(@server.pid_file) + end + end + + it "should exit and raise if pid file already exist" do + @pid = fork do + @server.daemonize + sleep 5 + end + server_should_start_in_less_then 10 + + @pid = @server.pid + + proc { @server.daemonize }.should raise_error(PidFileExist) + + File.exist?(@server.pid_file).should be_true + end + + it "should should delete pid file if stale" do + # Create a file w/ a PID that does not exist + File.open(@server.pid_file, 'w') { |f| f << 999999999 } + + @server.send(:remove_stale_pid_file) + + File.exist?(@server.pid_file).should be_false + end + + after do + Process.kill(9, @pid.to_i) if @pid && Process.running?(@pid.to_i) + Process.kill(9, @server.pid) if @server.pid && Process.running?(@server.pid) + File.delete(@server.pid_file) rescue nil + end + + private + def server_should_start_in_less_then(sec=10) + proc { sleep 0.1 until File.exist?(@server.pid_file) }.should take_less_then(10) + end +end \ No newline at end of file diff --git a/vendor/gems/gems/thin-1.2.5/spec/headers_spec.rb b/vendor/gems/gems/thin-1.2.5/spec/headers_spec.rb new file mode 100755 index 00000000..98ee4709 --- /dev/null +++ b/vendor/gems/gems/thin-1.2.5/spec/headers_spec.rb @@ -0,0 +1,40 @@ +require File.dirname(__FILE__) + '/spec_helper' + +describe Headers do + before do + @headers = Headers.new + end + + it 'should allow duplicate on some fields' do + @headers['Set-Cookie'] = 'twice' + @headers['Set-Cookie'] = 'is cooler the once' + + @headers.to_s.should == "Set-Cookie: twice\r\nSet-Cookie: is cooler the once\r\n" + end + + it 'should overwrite value on non duplicate fields' do + @headers['Host'] = 'this is unique' + @headers['Host'] = 'so is this' + + @headers.to_s.should == "Host: this is unique\r\n" + end + + it 'should output to string' do + @headers['Host'] = 'localhost:3000' + @headers['Set-Cookie'] = 'twice' + @headers['Set-Cookie'] = 'is cooler the once' + + @headers.to_s.should == "Host: localhost:3000\r\nSet-Cookie: twice\r\nSet-Cookie: is cooler the once\r\n" + end + + it 'should ignore nil values' do + @headers['Something'] = nil + @headers.to_s.should_not include('Something: ') + end + + it 'should format Time values correctly' do + time = Time.now + @headers['Modified-At'] = time + @headers.to_s.should include("Modified-At: #{time.httpdate}") + end +end \ No newline at end of file diff --git a/vendor/gems/gems/thin-1.2.5/spec/logging_spec.rb b/vendor/gems/gems/thin-1.2.5/spec/logging_spec.rb new file mode 100755 index 00000000..eeb160e6 --- /dev/null +++ b/vendor/gems/gems/thin-1.2.5/spec/logging_spec.rb @@ -0,0 +1,46 @@ +require File.dirname(__FILE__) + '/spec_helper' + +class TestLogging + include Logging +end + +describe Logging do + before do + Logging.silent = false + @object = TestLogging.new + end + + it "should output debug when set to true" do + Logging.debug = true + @object.should_receive(:puts) + @object.debug 'hi' + end + + it "should output trace when set to true" do + Logging.trace = true + @object.should_receive(:puts) + @object.trace 'hi' + end + + it "should not output when silenced" do + Logging.silent = true + @object.should_not_receive(:puts) + @object.log 'hi' + end + + it "should not output when silenced as instance method" do + @object.silent = true + + @object.should_not_receive(:puts) + @object.log 'hi' + end + + it "should be usable as module functions" do + Logging.silent = true + Logging.log "hi" + end + + after do + Logging.silent = true + end +end \ No newline at end of file diff --git a/vendor/gems/gems/thin-1.2.5/spec/perf/request_perf_spec.rb b/vendor/gems/gems/thin-1.2.5/spec/perf/request_perf_spec.rb new file mode 100755 index 00000000..bd1e6a4c --- /dev/null +++ b/vendor/gems/gems/thin-1.2.5/spec/perf/request_perf_spec.rb @@ -0,0 +1,50 @@ +require File.dirname(__FILE__) + '/../spec_helper' + +describe Request, 'performance' do + it "should be faster then #{max_parsing_time = 0.0002} RubySeconds" do + body = <<-EOS.chomp.gsub("\n", "\r\n") +POST /postit HTTP/1.1 +Host: localhost:3000 +User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.1.9) Gecko/20071025 Firefox/2.0.0.9 +Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5 +Accept-Language: en-us,en;q=0.5 +Accept-Encoding: gzip,deflate +Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 +Keep-Alive: 300 +Connection: keep-alive +Content-Type: text/html +Content-Length: 37 + +hi=there&name=marc&email=macournoyer@gmail.com +EOS + + proc { R(body) }.should be_faster_then(max_parsing_time) + end + + it 'should be comparable to Mongrel parser' do + require 'http11' + + body = <<-EOS.chomp.gsub("\n", "\r\n") +POST /postit HTTP/1.1 +Host: localhost:3000 +User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.1.9) Gecko/20071025 Firefox/2.0.0.9 +Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5 +Accept-Language: en-us,en;q=0.5 +Accept-Encoding: gzip,deflate +Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 +Keep-Alive: 300 +Connection: keep-alive +Content-Type: text/html +Content-Length: 37 + +hi=there&name=marc&email=macournoyer@gmail.com +EOS + + tests = 10_000 + puts + Benchmark.bmbm(10) do |results| + results.report("mongrel:") { tests.times { Mongrel::HttpParser.new.execute({}, body.dup, 0) } } + results.report("thin:") { tests.times { Thin::HttpParser.new.execute({'rack.input' => StringIO.new}, body.dup, 0) } } + end + end if ENV['BM'] +end \ No newline at end of file diff --git a/vendor/gems/gems/thin-1.2.5/spec/perf/response_perf_spec.rb b/vendor/gems/gems/thin-1.2.5/spec/perf/response_perf_spec.rb new file mode 100755 index 00000000..1456cae6 --- /dev/null +++ b/vendor/gems/gems/thin-1.2.5/spec/perf/response_perf_spec.rb @@ -0,0 +1,19 @@ +require File.dirname(__FILE__) + '/../spec_helper' + +describe Response, 'performance' do + before do + @response = Response.new + @response.body = '' + end + + it "should be fast" do + @response.body << <<-EOS +Dir listing +

    Listing stuff

      +#{'
    • Hi!
    • ' * 100} +
    +EOS + + proc { @response.each { |l| l } }.should be_faster_then(0.00011) + end +end \ No newline at end of file diff --git a/vendor/gems/gems/thin-1.2.5/spec/perf/server_perf_spec.rb b/vendor/gems/gems/thin-1.2.5/spec/perf/server_perf_spec.rb new file mode 100755 index 00000000..528ebc4f --- /dev/null +++ b/vendor/gems/gems/thin-1.2.5/spec/perf/server_perf_spec.rb @@ -0,0 +1,39 @@ +require File.dirname(__FILE__) + '/../spec_helper' + +describe Server, 'performance' do + before do + start_server do |env| + body = env.inspect + env['rack.input'].read + [200, { 'Content-Length' => body.size.to_s }, body] + end + end + + it "should handle GET in less then #{get_request_time = 0.0045} RubySecond" do + proc { get('/') }.should be_faster_then(get_request_time) + end + + it "should handle POST in less then #{post_request_time = 0.007} RubySecond" do + proc { post('/', :file => 'X' * 1000) }.should be_faster_then(post_request_time) + end + + after do + stop_server + end +end + +describe Server, 'UNIX socket performance' do + before do + start_server('/tmp/thin_test.sock') do |env| + body = env.inspect + env['rack.input'].read + [200, { 'Content-Length' => body.size.to_s }, body] + end + end + + it "should handle GET in less then #{get_request_time = 0.002} RubySecond" do + proc { get('/') }.should be_faster_then(get_request_time) + end + + after do + stop_server + end +end \ No newline at end of file diff --git a/vendor/gems/gems/thin-1.2.5/spec/rack/loader_spec.rb b/vendor/gems/gems/thin-1.2.5/spec/rack/loader_spec.rb new file mode 100755 index 00000000..0cfb19da --- /dev/null +++ b/vendor/gems/gems/thin-1.2.5/spec/rack/loader_spec.rb @@ -0,0 +1,29 @@ +require File.dirname(__FILE__) + '/../spec_helper' + +describe Rack::Adapter do + before do + @rails_path = File.dirname(__FILE__) + '/../rails_app' + end + + it "should guess rails app from dir" do + Rack::Adapter.guess(@rails_path).should == :rails + end + + it "should return nil when can't guess from dir" do + proc { Rack::Adapter.guess('.') }.should raise_error(Rack::AdapterNotFound) + end + + it "should load Rails adapter" do + Rack::Adapter::Rails.should_receive(:new) + Rack::Adapter.for(:rails, :chdir => @rails_path) + end + + it "should load File adapter" do + Rack::File.should_receive(:new) + Rack::Adapter.for(:file) + end + + it "should raise error when adapter can't be found" do + proc { Rack::Adapter.for(:fart, {}) }.should raise_error(Rack::AdapterNotFound) + end +end \ No newline at end of file diff --git a/vendor/gems/gems/thin-1.2.5/spec/rack/rails_adapter_spec.rb b/vendor/gems/gems/thin-1.2.5/spec/rack/rails_adapter_spec.rb new file mode 100755 index 00000000..279c26d4 --- /dev/null +++ b/vendor/gems/gems/thin-1.2.5/spec/rack/rails_adapter_spec.rb @@ -0,0 +1,106 @@ +require File.dirname(__FILE__) + '/../spec_helper' +require 'rack/mock' + +begin + gem 'rails', '= 2.0.2' # We could freeze Rails in the rails_app dir to remove this + + describe Rack::Adapter::Rails do + before do + @rails_app_path = File.dirname(__FILE__) + '/../rails_app' + @request = Rack::MockRequest.new(Rack::Adapter::Rails.new(:root => @rails_app_path)) + end + + it "should handle simple GET request" do + res = @request.get("/simple", :lint => true) + + res.should be_ok + res["Content-Type"].should include("text/html") + + res.body.should include('Simple#index') + end + + it "should handle POST parameters" do + data = "foo=bar" + res = @request.post("/simple/post_form", :input => data, 'CONTENT_LENGTH' => data.size.to_s, :lint => true) + + res.should be_ok + res["Content-Type"].should include("text/html") + res["Content-Length"].should_not be_nil + + res.body.should include('foo: bar') + end + + it "should serve static files" do + res = @request.get("/index.html", :lint => true) + + res.should be_ok + res["Content-Type"].should include("text/html") + end + + it "should serve root with index.html if present" do + res = @request.get("/", :lint => true) + + res.should be_ok + res["Content-Length"].to_i.should == File.size(@rails_app_path + '/public/index.html') + end + + it "should serve page cache if present" do + res = @request.get("/simple/cached?value=cached", :lint => true) + + res.should be_ok + res.body.should == 'cached' + + res = @request.get("/simple/cached?value=notcached") + + res.should be_ok + res.body.should == 'cached' + end + + it "should not serve page cache on POST request" do + res = @request.get("/simple/cached?value=cached", :lint => true) + + res.should be_ok + res.body.should == 'cached' + + res = @request.post("/simple/cached?value=notcached") + + res.should be_ok + res.body.should == 'notcached' + end + + it "handles multiple cookies" do + res = @request.get('/simple/set_cookie?name=a&value=1', :lint => true) + + res.should be_ok + res.original_headers['Set-Cookie'].size.should == 2 + res.original_headers['Set-Cookie'].first.should include('a=1; path=/') + res.original_headers['Set-Cookie'].last.should include('_rails_app_session') + end + + after do + FileUtils.rm_rf @rails_app_path + '/public/simple' + end + end + + describe Rack::Adapter::Rails, 'with prefix' do + before do + @rails_app_path = File.dirname(__FILE__) + '/../rails_app' + @prefix = '/nowhere' + @request = Rack::MockRequest.new( + Rack::URLMap.new( + @prefix => Rack::Adapter::Rails.new(:root => @rails_app_path, :prefix => @prefix))) + end + + it "should handle simple GET request" do + res = @request.get("#{@prefix}/simple", :lint => true) + + res.should be_ok + res["Content-Type"].should include("text/html") + + res.body.should include('Simple#index') + end + end + +rescue Gem::LoadError + warn 'Rails 2.0.2 is required to run the Rails adapter specs' +end diff --git a/vendor/gems/gems/thin-1.2.5/spec/rails_app/app/controllers/application.rb b/vendor/gems/gems/thin-1.2.5/spec/rails_app/app/controllers/application.rb new file mode 100755 index 00000000..cfdb724c --- /dev/null +++ b/vendor/gems/gems/thin-1.2.5/spec/rails_app/app/controllers/application.rb @@ -0,0 +1,10 @@ +# Filters added to this controller apply to all controllers in the application. +# Likewise, all the methods added will be available for all controllers. + +class ApplicationController < ActionController::Base + helper :all # include all helpers, all the time + + # See ActionController::RequestForgeryProtection for details + # Uncomment the :secret if you're not using the cookie session store + # protect_from_forgery # :secret => 'a8af303b8dabf2d2d8f1a7912ac04d7d' +end diff --git a/vendor/gems/gems/thin-1.2.5/spec/rails_app/app/controllers/simple_controller.rb b/vendor/gems/gems/thin-1.2.5/spec/rails_app/app/controllers/simple_controller.rb new file mode 100755 index 00000000..2c17427e --- /dev/null +++ b/vendor/gems/gems/thin-1.2.5/spec/rails_app/app/controllers/simple_controller.rb @@ -0,0 +1,19 @@ +class SimpleController < ApplicationController + caches_page :cached + + def index + end + + def post_form + render :text => params.to_yaml + end + + def set_cookie + cookies[params[:name]] = params[:value] if params[:name] + render :text => cookies.to_yaml + end + + def cached + render :text => params[:value] + end +end diff --git a/vendor/gems/gems/thin-1.2.5/spec/rails_app/app/helpers/application_helper.rb b/vendor/gems/gems/thin-1.2.5/spec/rails_app/app/helpers/application_helper.rb new file mode 100755 index 00000000..22a7940e --- /dev/null +++ b/vendor/gems/gems/thin-1.2.5/spec/rails_app/app/helpers/application_helper.rb @@ -0,0 +1,3 @@ +# Methods added to this helper will be available to all templates in the application. +module ApplicationHelper +end diff --git a/vendor/gems/gems/thin-1.2.5/spec/rails_app/app/views/simple/index.html.erb b/vendor/gems/gems/thin-1.2.5/spec/rails_app/app/views/simple/index.html.erb new file mode 100755 index 00000000..7717b8ec --- /dev/null +++ b/vendor/gems/gems/thin-1.2.5/spec/rails_app/app/views/simple/index.html.erb @@ -0,0 +1,15 @@ +

    Simple#index

    + +

    ENV

    +<%= request.env.to_yaml %> + +

    Cookies

    +<%= request.cookies.to_yaml %> + +

    Params

    +<%= params.to_yaml %> + +<% form_tag '/simple' do %> + <%= text_field_tag :a %> + <%= submit_tag 'Submit' %> +<% end %> \ No newline at end of file diff --git a/vendor/gems/gems/thin-1.2.5/spec/rails_app/config/boot.rb b/vendor/gems/gems/thin-1.2.5/spec/rails_app/config/boot.rb new file mode 100755 index 00000000..5697cc1b --- /dev/null +++ b/vendor/gems/gems/thin-1.2.5/spec/rails_app/config/boot.rb @@ -0,0 +1,109 @@ +# Don't change this file! +# Configure your app in config/environment.rb and config/environments/*.rb + +RAILS_ROOT = "#{File.dirname(__FILE__)}/.." unless defined?(RAILS_ROOT) + +module Rails + class << self + def boot! + unless booted? + preinitialize + pick_boot.run + end + end + + def booted? + defined? Rails::Initializer + end + + def pick_boot + (vendor_rails? ? VendorBoot : GemBoot).new + end + + def vendor_rails? + File.exist?("#{RAILS_ROOT}/vendor/rails") + end + + # FIXME : Ruby 1.9 + def preinitialize + load(preinitializer_path) if File.exists?(preinitializer_path) + end + + def preinitializer_path + "#{RAILS_ROOT}/config/preinitializer.rb" + end + end + + class Boot + def run + load_initializer + Rails::Initializer.run(:set_load_path) + end + end + + class VendorBoot < Boot + def load_initializer + require "#{RAILS_ROOT}/vendor/rails/railties/lib/initializer" + end + end + + class GemBoot < Boot + def load_initializer + self.class.load_rubygems + load_rails_gem + require 'initializer' + end + + def load_rails_gem + if version = self.class.gem_version + gem 'rails', version + else + gem 'rails' + end + rescue Gem::LoadError => load_error + $stderr.puts %(Missing the Rails #{version} gem. Please `gem install -v=#{version} rails`, update your RAILS_GEM_VERSION setting in config/environment.rb for the Rails version you do have installed, or comment out RAILS_GEM_VERSION to use the latest version installed.) + exit 1 + end + + class << self + def rubygems_version + Gem::RubyGemsVersion if defined? Gem::RubyGemsVersion + end + + def gem_version + if defined? RAILS_GEM_VERSION + RAILS_GEM_VERSION + elsif ENV.include?('RAILS_GEM_VERSION') + ENV['RAILS_GEM_VERSION'] + else + parse_gem_version(read_environment_rb) + end + end + + def load_rubygems + require 'rubygems' + + unless rubygems_version >= '0.9.4' + $stderr.puts %(Rails requires RubyGems >= 0.9.4 (you have #{rubygems_version}). Please `gem update --system` and try again.) + exit 1 + end + + rescue LoadError + $stderr.puts %(Rails requires RubyGems >= 0.9.4. Please install RubyGems and try again: http://rubygems.rubyforge.org) + exit 1 + end + + def parse_gem_version(text) + $1 if text =~ /^[^#]*RAILS_GEM_VERSION\s*=\s*["']([!~<>=]*\s*[\d.]+)["']/ + end + + private + def read_environment_rb + File.read("#{RAILS_ROOT}/config/environment.rb") + end + end + end +end + +# All that for this: +Rails.boot! diff --git a/vendor/gems/gems/thin-1.2.5/spec/rails_app/config/environment.rb b/vendor/gems/gems/thin-1.2.5/spec/rails_app/config/environment.rb new file mode 100755 index 00000000..2af27f14 --- /dev/null +++ b/vendor/gems/gems/thin-1.2.5/spec/rails_app/config/environment.rb @@ -0,0 +1,64 @@ +# Be sure to restart your server when you modify this file + +# Uncomment below to force Rails into production mode when +# you don't control web/app server and can't set it the proper way +# ENV['RAILS_ENV'] ||= 'production' + +# Specifies gem version of Rails to use when vendor/rails is not present +RAILS_GEM_VERSION = '2.0.2' unless defined? RAILS_GEM_VERSION + +# Bootstrap the Rails environment, frameworks, and default configuration +require File.join(File.dirname(__FILE__), 'boot') + +Rails::Initializer.run do |config| + # Settings in config/environments/* take precedence over those specified here. + # Application configuration should go into files in config/initializers + # -- all .rb files in that directory are automatically loaded. + # See Rails::Configuration for more options. + + # Skip frameworks you're not going to use (only works if using vendor/rails). + # To use Rails without a database, you must remove the Active Record framework + config.frameworks -= [ :active_record, :active_resource, :action_mailer ] + + # Only load the plugins named here, in the order given. By default, all plugins + # in vendor/plugins are loaded in alphabetical order. + # :all can be used as a placeholder for all plugins not explicitly named + # config.plugins = [ :exception_notification, :ssl_requirement, :all ] + + # Add additional load paths for your own custom dirs + # config.load_paths += %W( #{RAILS_ROOT}/extras ) + + # No need for log files + config.logger = Logger.new(nil) + + # Force all environments to use the same logger level + # (by default production uses :info, the others :debug) + # config.log_level = :debug + + # Your secret key for verifying cookie session data integrity. + # If you change this key, all old sessions will become invalid! + # Make sure the secret is at least 30 characters and all random, + # no regular words or you'll be exposed to dictionary attacks. + config.action_controller.session = { + :session_key => '_rails_app_session', + :secret => 'cb7141365b4443eff37e7122473e704ceae95146a4028930b21300965fe6abec51e3e93b2670a914b3b65d06058b81aadfe6b240d63e7d7713db044b42a6e1c1' + } + + config.action_controller.allow_forgery_protection = false + + # Use the database for sessions instead of the cookie-based default, + # which shouldn't be used to store highly confidential information + # (create the session table with 'rake db:sessions:create') + # config.action_controller.session_store = :active_record_store + + # Use SQL instead of Active Record's schema dumper when creating the test database. + # This is necessary if your schema can't be completely dumped by the schema dumper, + # like if you have constraints or database-specific column types + # config.active_record.schema_format = :sql + + # Activate observers that should always be running + # config.active_record.observers = :cacher, :garbage_collector + + # Make Active Record use UTC-base instead of local time + # config.active_record.default_timezone = :utc +end \ No newline at end of file diff --git a/vendor/gems/gems/thin-1.2.5/spec/rails_app/config/environments/development.rb b/vendor/gems/gems/thin-1.2.5/spec/rails_app/config/environments/development.rb new file mode 100755 index 00000000..191f39cb --- /dev/null +++ b/vendor/gems/gems/thin-1.2.5/spec/rails_app/config/environments/development.rb @@ -0,0 +1,18 @@ +# Settings specified here will take precedence over those in config/environment.rb + +# In the development environment your application's code is reloaded on +# every request. This slows down response time but is perfect for development +# since you don't have to restart the webserver when you make code changes. +config.cache_classes = false + +# Log error messages when you accidentally call methods on nil. +config.whiny_nils = true + +# Show full error reports and disable caching +config.action_controller.consider_all_requests_local = true +config.action_view.debug_rjs = true +config.action_controller.perform_caching = true +config.action_view.cache_template_extensions = false + +# Don't care if the mailer can't send +config.action_mailer.raise_delivery_errors = false \ No newline at end of file diff --git a/vendor/gems/gems/thin-1.2.5/spec/rails_app/config/environments/production.rb b/vendor/gems/gems/thin-1.2.5/spec/rails_app/config/environments/production.rb new file mode 100755 index 00000000..91f541c4 --- /dev/null +++ b/vendor/gems/gems/thin-1.2.5/spec/rails_app/config/environments/production.rb @@ -0,0 +1,19 @@ +# Settings specified here will take precedence over those in config/environment.rb + +# The production environment is meant for finished, "live" apps. +# Code is not reloaded between requests +config.cache_classes = true + +# Use a different logger for distributed setups +# config.logger = SyslogLogger.new + +# Full error reports are disabled and caching is turned on +config.action_controller.consider_all_requests_local = false +config.action_controller.perform_caching = true +config.action_view.cache_template_loading = true + +# Enable serving of images, stylesheets, and javascripts from an asset server +# config.action_controller.asset_host = "http://assets.example.com" + +# Disable delivery errors, bad email addresses will be ignored +# config.action_mailer.raise_delivery_errors = false diff --git a/vendor/gems/gems/thin-1.2.5/spec/rails_app/config/environments/test.rb b/vendor/gems/gems/thin-1.2.5/spec/rails_app/config/environments/test.rb new file mode 100755 index 00000000..58850a79 --- /dev/null +++ b/vendor/gems/gems/thin-1.2.5/spec/rails_app/config/environments/test.rb @@ -0,0 +1,22 @@ +# Settings specified here will take precedence over those in config/environment.rb + +# The test environment is used exclusively to run your application's +# test suite. You never need to work with it otherwise. Remember that +# your test database is "scratch space" for the test suite and is wiped +# and recreated between test runs. Don't rely on the data there! +config.cache_classes = true + +# Log error messages when you accidentally call methods on nil. +config.whiny_nils = true + +# Show full error reports and disable caching +config.action_controller.consider_all_requests_local = true +config.action_controller.perform_caching = false + +# Disable request forgery protection in test environment +config.action_controller.allow_forgery_protection = false + +# Tell ActionMailer not to deliver emails to the real world. +# The :test delivery method accumulates sent emails in the +# ActionMailer::Base.deliveries array. +config.action_mailer.delivery_method = :test diff --git a/vendor/gems/gems/thin-1.2.5/spec/rails_app/config/initializers/inflections.rb b/vendor/gems/gems/thin-1.2.5/spec/rails_app/config/initializers/inflections.rb new file mode 100755 index 00000000..09158b86 --- /dev/null +++ b/vendor/gems/gems/thin-1.2.5/spec/rails_app/config/initializers/inflections.rb @@ -0,0 +1,10 @@ +# Be sure to restart your server when you modify this file. + +# Add new inflection rules using the following format +# (all these examples are active by default): +# Inflector.inflections do |inflect| +# inflect.plural /^(ox)$/i, '\1en' +# inflect.singular /^(ox)en/i, '\1' +# inflect.irregular 'person', 'people' +# inflect.uncountable %w( fish sheep ) +# end diff --git a/vendor/gems/gems/thin-1.2.5/spec/rails_app/config/initializers/mime_types.rb b/vendor/gems/gems/thin-1.2.5/spec/rails_app/config/initializers/mime_types.rb new file mode 100755 index 00000000..72aca7e4 --- /dev/null +++ b/vendor/gems/gems/thin-1.2.5/spec/rails_app/config/initializers/mime_types.rb @@ -0,0 +1,5 @@ +# Be sure to restart your server when you modify this file. + +# Add new mime types for use in respond_to blocks: +# Mime::Type.register "text/richtext", :rtf +# Mime::Type.register_alias "text/html", :iphone diff --git a/vendor/gems/gems/thin-1.2.5/spec/rails_app/config/routes.rb b/vendor/gems/gems/thin-1.2.5/spec/rails_app/config/routes.rb new file mode 100755 index 00000000..d94afa1b --- /dev/null +++ b/vendor/gems/gems/thin-1.2.5/spec/rails_app/config/routes.rb @@ -0,0 +1,35 @@ +ActionController::Routing::Routes.draw do |map| + # The priority is based upon order of creation: first created -> highest priority. + + # Sample of regular route: + # map.connect 'products/:id', :controller => 'catalog', :action => 'view' + # Keep in mind you can assign values other than :controller and :action + + # Sample of named route: + # map.purchase 'products/:id/purchase', :controller => 'catalog', :action => 'purchase' + # This route can be invoked with purchase_url(:id => product.id) + + # Sample resource route (maps HTTP verbs to controller actions automatically): + # map.resources :products + + # Sample resource route with options: + # map.resources :products, :member => { :short => :get, :toggle => :post }, :collection => { :sold => :get } + + # Sample resource route with sub-resources: + # map.resources :products, :has_many => [ :comments, :sales ], :has_one => :seller + + # Sample resource route within a namespace: + # map.namespace :admin do |admin| + # # Directs /admin/products/* to Admin::ProductsController (app/controllers/admin/products_controller.rb) + # admin.resources :products + # end + + # You can have the root of your site routed with map.root -- just remember to delete public/index.html. + # map.root :controller => "welcome" + + # See how all your routes lay out with "rake routes" + + # Install the default routes as the lowest priority. + map.connect ':controller/:action/:id' + map.connect ':controller/:action/:id.:format' +end diff --git a/vendor/gems/gems/thin-1.2.5/spec/rails_app/public/404.html b/vendor/gems/gems/thin-1.2.5/spec/rails_app/public/404.html new file mode 100755 index 00000000..eff660b9 --- /dev/null +++ b/vendor/gems/gems/thin-1.2.5/spec/rails_app/public/404.html @@ -0,0 +1,30 @@ + + + + + + + The page you were looking for doesn't exist (404) + + + + + +
    +

    The page you were looking for doesn't exist.

    +

    You may have mistyped the address or the page may have moved.

    +
    + + \ No newline at end of file diff --git a/vendor/gems/gems/thin-1.2.5/spec/rails_app/public/422.html b/vendor/gems/gems/thin-1.2.5/spec/rails_app/public/422.html new file mode 100755 index 00000000..b54e4a3c --- /dev/null +++ b/vendor/gems/gems/thin-1.2.5/spec/rails_app/public/422.html @@ -0,0 +1,30 @@ + + + + + + + The change you wanted was rejected (422) + + + + + +
    +

    The change you wanted was rejected.

    +

    Maybe you tried to change something you didn't have access to.

    +
    + + \ No newline at end of file diff --git a/vendor/gems/gems/thin-1.2.5/spec/rails_app/public/500.html b/vendor/gems/gems/thin-1.2.5/spec/rails_app/public/500.html new file mode 100755 index 00000000..0e9c14f4 --- /dev/null +++ b/vendor/gems/gems/thin-1.2.5/spec/rails_app/public/500.html @@ -0,0 +1,30 @@ + + + + + + + We're sorry, but something went wrong (500) + + + + + +
    +

    We're sorry, but something went wrong.

    +

    We've been notified about this issue and we'll take a look at it shortly.

    +
    + + \ No newline at end of file diff --git a/vendor/gems/gems/thin-1.2.5/spec/rails_app/public/dispatch.cgi b/vendor/gems/gems/thin-1.2.5/spec/rails_app/public/dispatch.cgi new file mode 100755 index 00000000..9b5ae760 --- /dev/null +++ b/vendor/gems/gems/thin-1.2.5/spec/rails_app/public/dispatch.cgi @@ -0,0 +1,10 @@ +#!/usr/local/bin/ruby + +require File.dirname(__FILE__) + "/../config/environment" unless defined?(RAILS_ROOT) + +# If you're using RubyGems and mod_ruby, this require should be changed to an absolute path one, like: +# "/usr/local/lib/ruby/gems/1.8/gems/rails-0.8.0/lib/dispatcher" -- otherwise performance is severely impaired +require "dispatcher" + +ADDITIONAL_LOAD_PATHS.reverse.each { |dir| $:.unshift(dir) if File.directory?(dir) } if defined?(Apache::RubyRun) +Dispatcher.dispatch \ No newline at end of file diff --git a/vendor/gems/gems/thin-1.2.5/spec/rails_app/public/dispatch.fcgi b/vendor/gems/gems/thin-1.2.5/spec/rails_app/public/dispatch.fcgi new file mode 100755 index 00000000..65188f38 --- /dev/null +++ b/vendor/gems/gems/thin-1.2.5/spec/rails_app/public/dispatch.fcgi @@ -0,0 +1,24 @@ +#!/usr/local/bin/ruby +# +# You may specify the path to the FastCGI crash log (a log of unhandled +# exceptions which forced the FastCGI instance to exit, great for debugging) +# and the number of requests to process before running garbage collection. +# +# By default, the FastCGI crash log is RAILS_ROOT/log/fastcgi.crash.log +# and the GC period is nil (turned off). A reasonable number of requests +# could range from 10-100 depending on the memory footprint of your app. +# +# Example: +# # Default log path, normal GC behavior. +# RailsFCGIHandler.process! +# +# # Default log path, 50 requests between GC. +# RailsFCGIHandler.process! nil, 50 +# +# # Custom log path, normal GC behavior. +# RailsFCGIHandler.process! '/var/log/myapp_fcgi_crash.log' +# +require File.dirname(__FILE__) + "/../config/environment" +require 'fcgi_handler' + +RailsFCGIHandler.process! diff --git a/vendor/gems/gems/thin-1.2.5/spec/rails_app/public/dispatch.rb b/vendor/gems/gems/thin-1.2.5/spec/rails_app/public/dispatch.rb new file mode 100755 index 00000000..9b5ae760 --- /dev/null +++ b/vendor/gems/gems/thin-1.2.5/spec/rails_app/public/dispatch.rb @@ -0,0 +1,10 @@ +#!/usr/local/bin/ruby + +require File.dirname(__FILE__) + "/../config/environment" unless defined?(RAILS_ROOT) + +# If you're using RubyGems and mod_ruby, this require should be changed to an absolute path one, like: +# "/usr/local/lib/ruby/gems/1.8/gems/rails-0.8.0/lib/dispatcher" -- otherwise performance is severely impaired +require "dispatcher" + +ADDITIONAL_LOAD_PATHS.reverse.each { |dir| $:.unshift(dir) if File.directory?(dir) } if defined?(Apache::RubyRun) +Dispatcher.dispatch \ No newline at end of file diff --git a/vendor/gems/gems/thin-1.2.5/spec/rails_app/public/favicon.ico b/vendor/gems/gems/thin-1.2.5/spec/rails_app/public/favicon.ico new file mode 100755 index 00000000..e69de29b diff --git a/vendor/gems/gems/thin-1.2.5/spec/rails_app/public/images/rails.png b/vendor/gems/gems/thin-1.2.5/spec/rails_app/public/images/rails.png new file mode 100755 index 0000000000000000000000000000000000000000..b8441f182e06974083cf08f0acaf0e2fd612bd40 GIT binary patch literal 1787 zcmVCLdthj)A!BBmWB&y|X`RY;f`BJ<_ju%@N||NoLFD~mQl$aHGjq>;5dG_D{h(5s}0 z6&=HANU$m__3PuddU(lvR_xWj`}Oho@9EyQt-n!E*P(KhM@X_VFV2l&>deNZJT%y8iwA zoG>u1B`p2=_u9k4v1Mud`1+qvOZoHg#bITJ9U`qBAek?40RR96!AV3xRCwBy*IQ$v zN(=yC9IhRft9V64L`77pqF_Cx@c;kSNoGK)`?Ps*cP(EtGlYZ{D5cxspMQvjKH)Oh6X(pa|J{ zGy1J$Ej7=Z{uvmMfRRsE;v`p;45B~6*ep#hM^ji zl$+7qoWq~}ewG=61uFw0He{tJurMU&4Iv?=B^eR(wAHk!miA)O7p_+YR>lbmU3rmn ze?+ze(+sEd6foB&*l9+?zkr_a-5*v&p*?c}HOGtyHg6r{WFYpQ=#z0Hc7VWLx$>M3|b0|Gn z+5t#z6*ffSVc6DjpmB2?AAR@@vB!wCK?9Yl;33;Q7^%(401QW|k=R8b!OwtLJPjjm zO9Ia;qCq)rOq!1Ia*6#A%#xb}yDx1P*pWla>9j$bnMn3CBqe4`TRll_Iy29kmG?4fbKuF=XqU|?3b@B zA`&a?KIgZ|KJx5eND_c3Em=WZn@xW8hRJ^G&sY^b(FW?WC9W_sb;+lAPdLTdBaKIK;-f}*h4|1aTjw7qX_k~e{TWO7jqcekERN;Jyh%67)q4rKpL*CEYL;|#GY{B@5 zi52XoC?xsoorJKxsliugF#z38MJqrYCWV(t<=G&f;^Me13&AiI9{3jUZ$ zFM`*L(9qc^VMxkz1oaDH!1pcD^IXp>Z0Jb=_qs?Vsrs{mp<^{$N!EC9o+`CO-(o}E zJ`y{*;9s|wr22-QoJ87y^~;)Q@b%P4UgSSsx>2$o@Vd{%Pk0@4qZ^fhB(vt$c1TG> z*{Ad;foraENbld`=MCNm4?9kvlgK~&J>ialpJ7nua zx0oRzwG5;}Qne)Fg(N3kf?JVmB;}y&5(0+~r*aL$0Zof8fe!AtHWH>A^1Y)@G@GsA zup`R{Qg?{+MaxTq#2n{6w|)c&yaJ7{U4ngAH5v6I)*;@rEBE*ehIPBwKBQU)YKE8F0lR!Sm?sE4Xk-sj&E$|A-9n dP56HS1^^A-61FoN)nxzx002ovPDHLkV1kw_Sd9Px literal 0 HcmV?d00001 diff --git a/vendor/gems/gems/thin-1.2.5/spec/rails_app/public/index.html b/vendor/gems/gems/thin-1.2.5/spec/rails_app/public/index.html new file mode 100755 index 00000000..84b7b57c --- /dev/null +++ b/vendor/gems/gems/thin-1.2.5/spec/rails_app/public/index.html @@ -0,0 +1,277 @@ + + + + + Ruby on Rails: Welcome aboard + + + + + + +
    + + +
    + + + + +
    +

    Getting started

    +

    Here’s how to get rolling:

    + +
      +
    1. +

      Create your databases and edit config/database.yml

      +

      Rails needs to know your login and password.

      +
    2. + +
    3. +

      Use script/generate to create your models and controllers

      +

      To see all available options, run it without parameters.

      +
    4. + +
    5. +

      Set up a default route and remove or rename this file

      +

      Routes are set up in config/routes.rb.

      +
    6. +
    +
    +
    + + +
    + + \ No newline at end of file diff --git a/vendor/gems/gems/thin-1.2.5/spec/rails_app/public/javascripts/application.js b/vendor/gems/gems/thin-1.2.5/spec/rails_app/public/javascripts/application.js new file mode 100755 index 00000000..fe457769 --- /dev/null +++ b/vendor/gems/gems/thin-1.2.5/spec/rails_app/public/javascripts/application.js @@ -0,0 +1,2 @@ +// Place your application-specific JavaScript functions and classes here +// This file is automatically included by javascript_include_tag :defaults diff --git a/vendor/gems/gems/thin-1.2.5/spec/rails_app/public/javascripts/controls.js b/vendor/gems/gems/thin-1.2.5/spec/rails_app/public/javascripts/controls.js new file mode 100755 index 00000000..fbc4418b --- /dev/null +++ b/vendor/gems/gems/thin-1.2.5/spec/rails_app/public/javascripts/controls.js @@ -0,0 +1,963 @@ +// Copyright (c) 2005-2007 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us) +// (c) 2005-2007 Ivan Krstic (http://blogs.law.harvard.edu/ivan) +// (c) 2005-2007 Jon Tirsen (http://www.tirsen.com) +// Contributors: +// Richard Livsey +// Rahul Bhargava +// Rob Wills +// +// script.aculo.us is freely distributable under the terms of an MIT-style license. +// For details, see the script.aculo.us web site: http://script.aculo.us/ + +// Autocompleter.Base handles all the autocompletion functionality +// that's independent of the data source for autocompletion. This +// includes drawing the autocompletion menu, observing keyboard +// and mouse events, and similar. +// +// Specific autocompleters need to provide, at the very least, +// a getUpdatedChoices function that will be invoked every time +// the text inside the monitored textbox changes. This method +// should get the text for which to provide autocompletion by +// invoking this.getToken(), NOT by directly accessing +// this.element.value. This is to allow incremental tokenized +// autocompletion. Specific auto-completion logic (AJAX, etc) +// belongs in getUpdatedChoices. +// +// Tokenized incremental autocompletion is enabled automatically +// when an autocompleter is instantiated with the 'tokens' option +// in the options parameter, e.g.: +// new Ajax.Autocompleter('id','upd', '/url/', { tokens: ',' }); +// will incrementally autocomplete with a comma as the token. +// Additionally, ',' in the above example can be replaced with +// a token array, e.g. { tokens: [',', '\n'] } which +// enables autocompletion on multiple tokens. This is most +// useful when one of the tokens is \n (a newline), as it +// allows smart autocompletion after linebreaks. + +if(typeof Effect == 'undefined') + throw("controls.js requires including script.aculo.us' effects.js library"); + +var Autocompleter = { } +Autocompleter.Base = Class.create({ + baseInitialize: function(element, update, options) { + element = $(element) + this.element = element; + this.update = $(update); + this.hasFocus = false; + this.changed = false; + this.active = false; + this.index = 0; + this.entryCount = 0; + this.oldElementValue = this.element.value; + + if(this.setOptions) + this.setOptions(options); + else + this.options = options || { }; + + this.options.paramName = this.options.paramName || this.element.name; + this.options.tokens = this.options.tokens || []; + this.options.frequency = this.options.frequency || 0.4; + this.options.minChars = this.options.minChars || 1; + this.options.onShow = this.options.onShow || + function(element, update){ + if(!update.style.position || update.style.position=='absolute') { + update.style.position = 'absolute'; + Position.clone(element, update, { + setHeight: false, + offsetTop: element.offsetHeight + }); + } + Effect.Appear(update,{duration:0.15}); + }; + this.options.onHide = this.options.onHide || + function(element, update){ new Effect.Fade(update,{duration:0.15}) }; + + if(typeof(this.options.tokens) == 'string') + this.options.tokens = new Array(this.options.tokens); + // Force carriage returns as token delimiters anyway + if (!this.options.tokens.include('\n')) + this.options.tokens.push('\n'); + + this.observer = null; + + this.element.setAttribute('autocomplete','off'); + + Element.hide(this.update); + + Event.observe(this.element, 'blur', this.onBlur.bindAsEventListener(this)); + Event.observe(this.element, 'keydown', this.onKeyPress.bindAsEventListener(this)); + }, + + show: function() { + if(Element.getStyle(this.update, 'display')=='none') this.options.onShow(this.element, this.update); + if(!this.iefix && + (Prototype.Browser.IE) && + (Element.getStyle(this.update, 'position')=='absolute')) { + new Insertion.After(this.update, + ''); + this.iefix = $(this.update.id+'_iefix'); + } + if(this.iefix) setTimeout(this.fixIEOverlapping.bind(this), 50); + }, + + fixIEOverlapping: function() { + Position.clone(this.update, this.iefix, {setTop:(!this.update.style.height)}); + this.iefix.style.zIndex = 1; + this.update.style.zIndex = 2; + Element.show(this.iefix); + }, + + hide: function() { + this.stopIndicator(); + if(Element.getStyle(this.update, 'display')!='none') this.options.onHide(this.element, this.update); + if(this.iefix) Element.hide(this.iefix); + }, + + startIndicator: function() { + if(this.options.indicator) Element.show(this.options.indicator); + }, + + stopIndicator: function() { + if(this.options.indicator) Element.hide(this.options.indicator); + }, + + onKeyPress: function(event) { + if(this.active) + switch(event.keyCode) { + case Event.KEY_TAB: + case Event.KEY_RETURN: + this.selectEntry(); + Event.stop(event); + case Event.KEY_ESC: + this.hide(); + this.active = false; + Event.stop(event); + return; + case Event.KEY_LEFT: + case Event.KEY_RIGHT: + return; + case Event.KEY_UP: + this.markPrevious(); + this.render(); + Event.stop(event); + return; + case Event.KEY_DOWN: + this.markNext(); + this.render(); + Event.stop(event); + return; + } + else + if(event.keyCode==Event.KEY_TAB || event.keyCode==Event.KEY_RETURN || + (Prototype.Browser.WebKit > 0 && event.keyCode == 0)) return; + + this.changed = true; + this.hasFocus = true; + + if(this.observer) clearTimeout(this.observer); + this.observer = + setTimeout(this.onObserverEvent.bind(this), this.options.frequency*1000); + }, + + activate: function() { + this.changed = false; + this.hasFocus = true; + this.getUpdatedChoices(); + }, + + onHover: function(event) { + var element = Event.findElement(event, 'LI'); + if(this.index != element.autocompleteIndex) + { + this.index = element.autocompleteIndex; + this.render(); + } + Event.stop(event); + }, + + onClick: function(event) { + var element = Event.findElement(event, 'LI'); + this.index = element.autocompleteIndex; + this.selectEntry(); + this.hide(); + }, + + onBlur: function(event) { + // needed to make click events working + setTimeout(this.hide.bind(this), 250); + this.hasFocus = false; + this.active = false; + }, + + render: function() { + if(this.entryCount > 0) { + for (var i = 0; i < this.entryCount; i++) + this.index==i ? + Element.addClassName(this.getEntry(i),"selected") : + Element.removeClassName(this.getEntry(i),"selected"); + if(this.hasFocus) { + this.show(); + this.active = true; + } + } else { + this.active = false; + this.hide(); + } + }, + + markPrevious: function() { + if(this.index > 0) this.index-- + else this.index = this.entryCount-1; + this.getEntry(this.index).scrollIntoView(true); + }, + + markNext: function() { + if(this.index < this.entryCount-1) this.index++ + else this.index = 0; + this.getEntry(this.index).scrollIntoView(false); + }, + + getEntry: function(index) { + return this.update.firstChild.childNodes[index]; + }, + + getCurrentEntry: function() { + return this.getEntry(this.index); + }, + + selectEntry: function() { + this.active = false; + this.updateElement(this.getCurrentEntry()); + }, + + updateElement: function(selectedElement) { + if (this.options.updateElement) { + this.options.updateElement(selectedElement); + return; + } + var value = ''; + if (this.options.select) { + var nodes = $(selectedElement).select('.' + this.options.select) || []; + if(nodes.length>0) value = Element.collectTextNodes(nodes[0], this.options.select); + } else + value = Element.collectTextNodesIgnoreClass(selectedElement, 'informal'); + + var bounds = this.getTokenBounds(); + if (bounds[0] != -1) { + var newValue = this.element.value.substr(0, bounds[0]); + var whitespace = this.element.value.substr(bounds[0]).match(/^\s+/); + if (whitespace) + newValue += whitespace[0]; + this.element.value = newValue + value + this.element.value.substr(bounds[1]); + } else { + this.element.value = value; + } + this.oldElementValue = this.element.value; + this.element.focus(); + + if (this.options.afterUpdateElement) + this.options.afterUpdateElement(this.element, selectedElement); + }, + + updateChoices: function(choices) { + if(!this.changed && this.hasFocus) { + this.update.innerHTML = choices; + Element.cleanWhitespace(this.update); + Element.cleanWhitespace(this.update.down()); + + if(this.update.firstChild && this.update.down().childNodes) { + this.entryCount = + this.update.down().childNodes.length; + for (var i = 0; i < this.entryCount; i++) { + var entry = this.getEntry(i); + entry.autocompleteIndex = i; + this.addObservers(entry); + } + } else { + this.entryCount = 0; + } + + this.stopIndicator(); + this.index = 0; + + if(this.entryCount==1 && this.options.autoSelect) { + this.selectEntry(); + this.hide(); + } else { + this.render(); + } + } + }, + + addObservers: function(element) { + Event.observe(element, "mouseover", this.onHover.bindAsEventListener(this)); + Event.observe(element, "click", this.onClick.bindAsEventListener(this)); + }, + + onObserverEvent: function() { + this.changed = false; + this.tokenBounds = null; + if(this.getToken().length>=this.options.minChars) { + this.getUpdatedChoices(); + } else { + this.active = false; + this.hide(); + } + this.oldElementValue = this.element.value; + }, + + getToken: function() { + var bounds = this.getTokenBounds(); + return this.element.value.substring(bounds[0], bounds[1]).strip(); + }, + + getTokenBounds: function() { + if (null != this.tokenBounds) return this.tokenBounds; + var value = this.element.value; + if (value.strip().empty()) return [-1, 0]; + var diff = arguments.callee.getFirstDifferencePos(value, this.oldElementValue); + var offset = (diff == this.oldElementValue.length ? 1 : 0); + var prevTokenPos = -1, nextTokenPos = value.length; + var tp; + for (var index = 0, l = this.options.tokens.length; index < l; ++index) { + tp = value.lastIndexOf(this.options.tokens[index], diff + offset - 1); + if (tp > prevTokenPos) prevTokenPos = tp; + tp = value.indexOf(this.options.tokens[index], diff + offset); + if (-1 != tp && tp < nextTokenPos) nextTokenPos = tp; + } + return (this.tokenBounds = [prevTokenPos + 1, nextTokenPos]); + } +}); + +Autocompleter.Base.prototype.getTokenBounds.getFirstDifferencePos = function(newS, oldS) { + var boundary = Math.min(newS.length, oldS.length); + for (var index = 0; index < boundary; ++index) + if (newS[index] != oldS[index]) + return index; + return boundary; +}; + +Ajax.Autocompleter = Class.create(Autocompleter.Base, { + initialize: function(element, update, url, options) { + this.baseInitialize(element, update, options); + this.options.asynchronous = true; + this.options.onComplete = this.onComplete.bind(this); + this.options.defaultParams = this.options.parameters || null; + this.url = url; + }, + + getUpdatedChoices: function() { + this.startIndicator(); + + var entry = encodeURIComponent(this.options.paramName) + '=' + + encodeURIComponent(this.getToken()); + + this.options.parameters = this.options.callback ? + this.options.callback(this.element, entry) : entry; + + if(this.options.defaultParams) + this.options.parameters += '&' + this.options.defaultParams; + + new Ajax.Request(this.url, this.options); + }, + + onComplete: function(request) { + this.updateChoices(request.responseText); + } +}); + +// The local array autocompleter. Used when you'd prefer to +// inject an array of autocompletion options into the page, rather +// than sending out Ajax queries, which can be quite slow sometimes. +// +// The constructor takes four parameters. The first two are, as usual, +// the id of the monitored textbox, and id of the autocompletion menu. +// The third is the array you want to autocomplete from, and the fourth +// is the options block. +// +// Extra local autocompletion options: +// - choices - How many autocompletion choices to offer +// +// - partialSearch - If false, the autocompleter will match entered +// text only at the beginning of strings in the +// autocomplete array. Defaults to true, which will +// match text at the beginning of any *word* in the +// strings in the autocomplete array. If you want to +// search anywhere in the string, additionally set +// the option fullSearch to true (default: off). +// +// - fullSsearch - Search anywhere in autocomplete array strings. +// +// - partialChars - How many characters to enter before triggering +// a partial match (unlike minChars, which defines +// how many characters are required to do any match +// at all). Defaults to 2. +// +// - ignoreCase - Whether to ignore case when autocompleting. +// Defaults to true. +// +// It's possible to pass in a custom function as the 'selector' +// option, if you prefer to write your own autocompletion logic. +// In that case, the other options above will not apply unless +// you support them. + +Autocompleter.Local = Class.create(Autocompleter.Base, { + initialize: function(element, update, array, options) { + this.baseInitialize(element, update, options); + this.options.array = array; + }, + + getUpdatedChoices: function() { + this.updateChoices(this.options.selector(this)); + }, + + setOptions: function(options) { + this.options = Object.extend({ + choices: 10, + partialSearch: true, + partialChars: 2, + ignoreCase: true, + fullSearch: false, + selector: function(instance) { + var ret = []; // Beginning matches + var partial = []; // Inside matches + var entry = instance.getToken(); + var count = 0; + + for (var i = 0; i < instance.options.array.length && + ret.length < instance.options.choices ; i++) { + + var elem = instance.options.array[i]; + var foundPos = instance.options.ignoreCase ? + elem.toLowerCase().indexOf(entry.toLowerCase()) : + elem.indexOf(entry); + + while (foundPos != -1) { + if (foundPos == 0 && elem.length != entry.length) { + ret.push("
  • " + elem.substr(0, entry.length) + "" + + elem.substr(entry.length) + "
  • "); + break; + } else if (entry.length >= instance.options.partialChars && + instance.options.partialSearch && foundPos != -1) { + if (instance.options.fullSearch || /\s/.test(elem.substr(foundPos-1,1))) { + partial.push("
  • " + elem.substr(0, foundPos) + "" + + elem.substr(foundPos, entry.length) + "" + elem.substr( + foundPos + entry.length) + "
  • "); + break; + } + } + + foundPos = instance.options.ignoreCase ? + elem.toLowerCase().indexOf(entry.toLowerCase(), foundPos + 1) : + elem.indexOf(entry, foundPos + 1); + + } + } + if (partial.length) + ret = ret.concat(partial.slice(0, instance.options.choices - ret.length)) + return "
      " + ret.join('') + "
    "; + } + }, options || { }); + } +}); + +// AJAX in-place editor and collection editor +// Full rewrite by Christophe Porteneuve (April 2007). + +// Use this if you notice weird scrolling problems on some browsers, +// the DOM might be a bit confused when this gets called so do this +// waits 1 ms (with setTimeout) until it does the activation +Field.scrollFreeActivate = function(field) { + setTimeout(function() { + Field.activate(field); + }, 1); +} + +Ajax.InPlaceEditor = Class.create({ + initialize: function(element, url, options) { + this.url = url; + this.element = element = $(element); + this.prepareOptions(); + this._controls = { }; + arguments.callee.dealWithDeprecatedOptions(options); // DEPRECATION LAYER!!! + Object.extend(this.options, options || { }); + if (!this.options.formId && this.element.id) { + this.options.formId = this.element.id + '-inplaceeditor'; + if ($(this.options.formId)) + this.options.formId = ''; + } + if (this.options.externalControl) + this.options.externalControl = $(this.options.externalControl); + if (!this.options.externalControl) + this.options.externalControlOnly = false; + this._originalBackground = this.element.getStyle('background-color') || 'transparent'; + this.element.title = this.options.clickToEditText; + this._boundCancelHandler = this.handleFormCancellation.bind(this); + this._boundComplete = (this.options.onComplete || Prototype.emptyFunction).bind(this); + this._boundFailureHandler = this.handleAJAXFailure.bind(this); + this._boundSubmitHandler = this.handleFormSubmission.bind(this); + this._boundWrapperHandler = this.wrapUp.bind(this); + this.registerListeners(); + }, + checkForEscapeOrReturn: function(e) { + if (!this._editing || e.ctrlKey || e.altKey || e.shiftKey) return; + if (Event.KEY_ESC == e.keyCode) + this.handleFormCancellation(e); + else if (Event.KEY_RETURN == e.keyCode) + this.handleFormSubmission(e); + }, + createControl: function(mode, handler, extraClasses) { + var control = this.options[mode + 'Control']; + var text = this.options[mode + 'Text']; + if ('button' == control) { + var btn = document.createElement('input'); + btn.type = 'submit'; + btn.value = text; + btn.className = 'editor_' + mode + '_button'; + if ('cancel' == mode) + btn.onclick = this._boundCancelHandler; + this._form.appendChild(btn); + this._controls[mode] = btn; + } else if ('link' == control) { + var link = document.createElement('a'); + link.href = '#'; + link.appendChild(document.createTextNode(text)); + link.onclick = 'cancel' == mode ? this._boundCancelHandler : this._boundSubmitHandler; + link.className = 'editor_' + mode + '_link'; + if (extraClasses) + link.className += ' ' + extraClasses; + this._form.appendChild(link); + this._controls[mode] = link; + } + }, + createEditField: function() { + var text = (this.options.loadTextURL ? this.options.loadingText : this.getText()); + var fld; + if (1 >= this.options.rows && !/\r|\n/.test(this.getText())) { + fld = document.createElement('input'); + fld.type = 'text'; + var size = this.options.size || this.options.cols || 0; + if (0 < size) fld.size = size; + } else { + fld = document.createElement('textarea'); + fld.rows = (1 >= this.options.rows ? this.options.autoRows : this.options.rows); + fld.cols = this.options.cols || 40; + } + fld.name = this.options.paramName; + fld.value = text; // No HTML breaks conversion anymore + fld.className = 'editor_field'; + if (this.options.submitOnBlur) + fld.onblur = this._boundSubmitHandler; + this._controls.editor = fld; + if (this.options.loadTextURL) + this.loadExternalText(); + this._form.appendChild(this._controls.editor); + }, + createForm: function() { + var ipe = this; + function addText(mode, condition) { + var text = ipe.options['text' + mode + 'Controls']; + if (!text || condition === false) return; + ipe._form.appendChild(document.createTextNode(text)); + }; + this._form = $(document.createElement('form')); + this._form.id = this.options.formId; + this._form.addClassName(this.options.formClassName); + this._form.onsubmit = this._boundSubmitHandler; + this.createEditField(); + if ('textarea' == this._controls.editor.tagName.toLowerCase()) + this._form.appendChild(document.createElement('br')); + if (this.options.onFormCustomization) + this.options.onFormCustomization(this, this._form); + addText('Before', this.options.okControl || this.options.cancelControl); + this.createControl('ok', this._boundSubmitHandler); + addText('Between', this.options.okControl && this.options.cancelControl); + this.createControl('cancel', this._boundCancelHandler, 'editor_cancel'); + addText('After', this.options.okControl || this.options.cancelControl); + }, + destroy: function() { + if (this._oldInnerHTML) + this.element.innerHTML = this._oldInnerHTML; + this.leaveEditMode(); + this.unregisterListeners(); + }, + enterEditMode: function(e) { + if (this._saving || this._editing) return; + this._editing = true; + this.triggerCallback('onEnterEditMode'); + if (this.options.externalControl) + this.options.externalControl.hide(); + this.element.hide(); + this.createForm(); + this.element.parentNode.insertBefore(this._form, this.element); + if (!this.options.loadTextURL) + this.postProcessEditField(); + if (e) Event.stop(e); + }, + enterHover: function(e) { + if (this.options.hoverClassName) + this.element.addClassName(this.options.hoverClassName); + if (this._saving) return; + this.triggerCallback('onEnterHover'); + }, + getText: function() { + return this.element.innerHTML; + }, + handleAJAXFailure: function(transport) { + this.triggerCallback('onFailure', transport); + if (this._oldInnerHTML) { + this.element.innerHTML = this._oldInnerHTML; + this._oldInnerHTML = null; + } + }, + handleFormCancellation: function(e) { + this.wrapUp(); + if (e) Event.stop(e); + }, + handleFormSubmission: function(e) { + var form = this._form; + var value = $F(this._controls.editor); + this.prepareSubmission(); + var params = this.options.callback(form, value) || ''; + if (Object.isString(params)) + params = params.toQueryParams(); + params.editorId = this.element.id; + if (this.options.htmlResponse) { + var options = Object.extend({ evalScripts: true }, this.options.ajaxOptions); + Object.extend(options, { + parameters: params, + onComplete: this._boundWrapperHandler, + onFailure: this._boundFailureHandler + }); + new Ajax.Updater({ success: this.element }, this.url, options); + } else { + var options = Object.extend({ method: 'get' }, this.options.ajaxOptions); + Object.extend(options, { + parameters: params, + onComplete: this._boundWrapperHandler, + onFailure: this._boundFailureHandler + }); + new Ajax.Request(this.url, options); + } + if (e) Event.stop(e); + }, + leaveEditMode: function() { + this.element.removeClassName(this.options.savingClassName); + this.removeForm(); + this.leaveHover(); + this.element.style.backgroundColor = this._originalBackground; + this.element.show(); + if (this.options.externalControl) + this.options.externalControl.show(); + this._saving = false; + this._editing = false; + this._oldInnerHTML = null; + this.triggerCallback('onLeaveEditMode'); + }, + leaveHover: function(e) { + if (this.options.hoverClassName) + this.element.removeClassName(this.options.hoverClassName); + if (this._saving) return; + this.triggerCallback('onLeaveHover'); + }, + loadExternalText: function() { + this._form.addClassName(this.options.loadingClassName); + this._controls.editor.disabled = true; + var options = Object.extend({ method: 'get' }, this.options.ajaxOptions); + Object.extend(options, { + parameters: 'editorId=' + encodeURIComponent(this.element.id), + onComplete: Prototype.emptyFunction, + onSuccess: function(transport) { + this._form.removeClassName(this.options.loadingClassName); + var text = transport.responseText; + if (this.options.stripLoadedTextTags) + text = text.stripTags(); + this._controls.editor.value = text; + this._controls.editor.disabled = false; + this.postProcessEditField(); + }.bind(this), + onFailure: this._boundFailureHandler + }); + new Ajax.Request(this.options.loadTextURL, options); + }, + postProcessEditField: function() { + var fpc = this.options.fieldPostCreation; + if (fpc) + $(this._controls.editor)['focus' == fpc ? 'focus' : 'activate'](); + }, + prepareOptions: function() { + this.options = Object.clone(Ajax.InPlaceEditor.DefaultOptions); + Object.extend(this.options, Ajax.InPlaceEditor.DefaultCallbacks); + [this._extraDefaultOptions].flatten().compact().each(function(defs) { + Object.extend(this.options, defs); + }.bind(this)); + }, + prepareSubmission: function() { + this._saving = true; + this.removeForm(); + this.leaveHover(); + this.showSaving(); + }, + registerListeners: function() { + this._listeners = { }; + var listener; + $H(Ajax.InPlaceEditor.Listeners).each(function(pair) { + listener = this[pair.value].bind(this); + this._listeners[pair.key] = listener; + if (!this.options.externalControlOnly) + this.element.observe(pair.key, listener); + if (this.options.externalControl) + this.options.externalControl.observe(pair.key, listener); + }.bind(this)); + }, + removeForm: function() { + if (!this._form) return; + this._form.remove(); + this._form = null; + this._controls = { }; + }, + showSaving: function() { + this._oldInnerHTML = this.element.innerHTML; + this.element.innerHTML = this.options.savingText; + this.element.addClassName(this.options.savingClassName); + this.element.style.backgroundColor = this._originalBackground; + this.element.show(); + }, + triggerCallback: function(cbName, arg) { + if ('function' == typeof this.options[cbName]) { + this.options[cbName](this, arg); + } + }, + unregisterListeners: function() { + $H(this._listeners).each(function(pair) { + if (!this.options.externalControlOnly) + this.element.stopObserving(pair.key, pair.value); + if (this.options.externalControl) + this.options.externalControl.stopObserving(pair.key, pair.value); + }.bind(this)); + }, + wrapUp: function(transport) { + this.leaveEditMode(); + // Can't use triggerCallback due to backward compatibility: requires + // binding + direct element + this._boundComplete(transport, this.element); + } +}); + +Object.extend(Ajax.InPlaceEditor.prototype, { + dispose: Ajax.InPlaceEditor.prototype.destroy +}); + +Ajax.InPlaceCollectionEditor = Class.create(Ajax.InPlaceEditor, { + initialize: function($super, element, url, options) { + this._extraDefaultOptions = Ajax.InPlaceCollectionEditor.DefaultOptions; + $super(element, url, options); + }, + + createEditField: function() { + var list = document.createElement('select'); + list.name = this.options.paramName; + list.size = 1; + this._controls.editor = list; + this._collection = this.options.collection || []; + if (this.options.loadCollectionURL) + this.loadCollection(); + else + this.checkForExternalText(); + this._form.appendChild(this._controls.editor); + }, + + loadCollection: function() { + this._form.addClassName(this.options.loadingClassName); + this.showLoadingText(this.options.loadingCollectionText); + var options = Object.extend({ method: 'get' }, this.options.ajaxOptions); + Object.extend(options, { + parameters: 'editorId=' + encodeURIComponent(this.element.id), + onComplete: Prototype.emptyFunction, + onSuccess: function(transport) { + var js = transport.responseText.strip(); + if (!/^\[.*\]$/.test(js)) // TODO: improve sanity check + throw 'Server returned an invalid collection representation.'; + this._collection = eval(js); + this.checkForExternalText(); + }.bind(this), + onFailure: this.onFailure + }); + new Ajax.Request(this.options.loadCollectionURL, options); + }, + + showLoadingText: function(text) { + this._controls.editor.disabled = true; + var tempOption = this._controls.editor.firstChild; + if (!tempOption) { + tempOption = document.createElement('option'); + tempOption.value = ''; + this._controls.editor.appendChild(tempOption); + tempOption.selected = true; + } + tempOption.update((text || '').stripScripts().stripTags()); + }, + + checkForExternalText: function() { + this._text = this.getText(); + if (this.options.loadTextURL) + this.loadExternalText(); + else + this.buildOptionList(); + }, + + loadExternalText: function() { + this.showLoadingText(this.options.loadingText); + var options = Object.extend({ method: 'get' }, this.options.ajaxOptions); + Object.extend(options, { + parameters: 'editorId=' + encodeURIComponent(this.element.id), + onComplete: Prototype.emptyFunction, + onSuccess: function(transport) { + this._text = transport.responseText.strip(); + this.buildOptionList(); + }.bind(this), + onFailure: this.onFailure + }); + new Ajax.Request(this.options.loadTextURL, options); + }, + + buildOptionList: function() { + this._form.removeClassName(this.options.loadingClassName); + this._collection = this._collection.map(function(entry) { + return 2 === entry.length ? entry : [entry, entry].flatten(); + }); + var marker = ('value' in this.options) ? this.options.value : this._text; + var textFound = this._collection.any(function(entry) { + return entry[0] == marker; + }.bind(this)); + this._controls.editor.update(''); + var option; + this._collection.each(function(entry, index) { + option = document.createElement('option'); + option.value = entry[0]; + option.selected = textFound ? entry[0] == marker : 0 == index; + option.appendChild(document.createTextNode(entry[1])); + this._controls.editor.appendChild(option); + }.bind(this)); + this._controls.editor.disabled = false; + Field.scrollFreeActivate(this._controls.editor); + } +}); + +//**** DEPRECATION LAYER FOR InPlace[Collection]Editor! **** +//**** This only exists for a while, in order to let **** +//**** users adapt to the new API. Read up on the new **** +//**** API and convert your code to it ASAP! **** + +Ajax.InPlaceEditor.prototype.initialize.dealWithDeprecatedOptions = function(options) { + if (!options) return; + function fallback(name, expr) { + if (name in options || expr === undefined) return; + options[name] = expr; + }; + fallback('cancelControl', (options.cancelLink ? 'link' : (options.cancelButton ? 'button' : + options.cancelLink == options.cancelButton == false ? false : undefined))); + fallback('okControl', (options.okLink ? 'link' : (options.okButton ? 'button' : + options.okLink == options.okButton == false ? false : undefined))); + fallback('highlightColor', options.highlightcolor); + fallback('highlightEndColor', options.highlightendcolor); +}; + +Object.extend(Ajax.InPlaceEditor, { + DefaultOptions: { + ajaxOptions: { }, + autoRows: 3, // Use when multi-line w/ rows == 1 + cancelControl: 'link', // 'link'|'button'|false + cancelText: 'cancel', + clickToEditText: 'Click to edit', + externalControl: null, // id|elt + externalControlOnly: false, + fieldPostCreation: 'activate', // 'activate'|'focus'|false + formClassName: 'inplaceeditor-form', + formId: null, // id|elt + highlightColor: '#ffff99', + highlightEndColor: '#ffffff', + hoverClassName: '', + htmlResponse: true, + loadingClassName: 'inplaceeditor-loading', + loadingText: 'Loading...', + okControl: 'button', // 'link'|'button'|false + okText: 'ok', + paramName: 'value', + rows: 1, // If 1 and multi-line, uses autoRows + savingClassName: 'inplaceeditor-saving', + savingText: 'Saving...', + size: 0, + stripLoadedTextTags: false, + submitOnBlur: false, + textAfterControls: '', + textBeforeControls: '', + textBetweenControls: '' + }, + DefaultCallbacks: { + callback: function(form) { + return Form.serialize(form); + }, + onComplete: function(transport, element) { + // For backward compatibility, this one is bound to the IPE, and passes + // the element directly. It was too often customized, so we don't break it. + new Effect.Highlight(element, { + startcolor: this.options.highlightColor, keepBackgroundImage: true }); + }, + onEnterEditMode: null, + onEnterHover: function(ipe) { + ipe.element.style.backgroundColor = ipe.options.highlightColor; + if (ipe._effect) + ipe._effect.cancel(); + }, + onFailure: function(transport, ipe) { + alert('Error communication with the server: ' + transport.responseText.stripTags()); + }, + onFormCustomization: null, // Takes the IPE and its generated form, after editor, before controls. + onLeaveEditMode: null, + onLeaveHover: function(ipe) { + ipe._effect = new Effect.Highlight(ipe.element, { + startcolor: ipe.options.highlightColor, endcolor: ipe.options.highlightEndColor, + restorecolor: ipe._originalBackground, keepBackgroundImage: true + }); + } + }, + Listeners: { + click: 'enterEditMode', + keydown: 'checkForEscapeOrReturn', + mouseover: 'enterHover', + mouseout: 'leaveHover' + } +}); + +Ajax.InPlaceCollectionEditor.DefaultOptions = { + loadingCollectionText: 'Loading options...' +}; + +// Delayed observer, like Form.Element.Observer, +// but waits for delay after last key input +// Ideal for live-search fields + +Form.Element.DelayedObserver = Class.create({ + initialize: function(element, delay, callback) { + this.delay = delay || 0.5; + this.element = $(element); + this.callback = callback; + this.timer = null; + this.lastValue = $F(this.element); + Event.observe(this.element,'keyup',this.delayedListener.bindAsEventListener(this)); + }, + delayedListener: function(event) { + if(this.lastValue == $F(this.element)) return; + if(this.timer) clearTimeout(this.timer); + this.timer = setTimeout(this.onTimerEvent.bind(this), this.delay * 1000); + this.lastValue = $F(this.element); + }, + onTimerEvent: function() { + this.timer = null; + this.callback(this.element, $F(this.element)); + } +}); diff --git a/vendor/gems/gems/thin-1.2.5/spec/rails_app/public/javascripts/dragdrop.js b/vendor/gems/gems/thin-1.2.5/spec/rails_app/public/javascripts/dragdrop.js new file mode 100755 index 00000000..ccf4a1e4 --- /dev/null +++ b/vendor/gems/gems/thin-1.2.5/spec/rails_app/public/javascripts/dragdrop.js @@ -0,0 +1,972 @@ +// Copyright (c) 2005-2007 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us) +// (c) 2005-2007 Sammi Williams (http://www.oriontransfer.co.nz, sammi@oriontransfer.co.nz) +// +// script.aculo.us is freely distributable under the terms of an MIT-style license. +// For details, see the script.aculo.us web site: http://script.aculo.us/ + +if(Object.isUndefined(Effect)) + throw("dragdrop.js requires including script.aculo.us' effects.js library"); + +var Droppables = { + drops: [], + + remove: function(element) { + this.drops = this.drops.reject(function(d) { return d.element==$(element) }); + }, + + add: function(element) { + element = $(element); + var options = Object.extend({ + greedy: true, + hoverclass: null, + tree: false + }, arguments[1] || { }); + + // cache containers + if(options.containment) { + options._containers = []; + var containment = options.containment; + if(Object.isArray(containment)) { + containment.each( function(c) { options._containers.push($(c)) }); + } else { + options._containers.push($(containment)); + } + } + + if(options.accept) options.accept = [options.accept].flatten(); + + Element.makePositioned(element); // fix IE + options.element = element; + + this.drops.push(options); + }, + + findDeepestChild: function(drops) { + deepest = drops[0]; + + for (i = 1; i < drops.length; ++i) + if (Element.isParent(drops[i].element, deepest.element)) + deepest = drops[i]; + + return deepest; + }, + + isContained: function(element, drop) { + var containmentNode; + if(drop.tree) { + containmentNode = element.treeNode; + } else { + containmentNode = element.parentNode; + } + return drop._containers.detect(function(c) { return containmentNode == c }); + }, + + isAffected: function(point, element, drop) { + return ( + (drop.element!=element) && + ((!drop._containers) || + this.isContained(element, drop)) && + ((!drop.accept) || + (Element.classNames(element).detect( + function(v) { return drop.accept.include(v) } ) )) && + Position.within(drop.element, point[0], point[1]) ); + }, + + deactivate: function(drop) { + if(drop.hoverclass) + Element.removeClassName(drop.element, drop.hoverclass); + this.last_active = null; + }, + + activate: function(drop) { + if(drop.hoverclass) + Element.addClassName(drop.element, drop.hoverclass); + this.last_active = drop; + }, + + show: function(point, element) { + if(!this.drops.length) return; + var drop, affected = []; + + this.drops.each( function(drop) { + if(Droppables.isAffected(point, element, drop)) + affected.push(drop); + }); + + if(affected.length>0) + drop = Droppables.findDeepestChild(affected); + + if(this.last_active && this.last_active != drop) this.deactivate(this.last_active); + if (drop) { + Position.within(drop.element, point[0], point[1]); + if(drop.onHover) + drop.onHover(element, drop.element, Position.overlap(drop.overlap, drop.element)); + + if (drop != this.last_active) Droppables.activate(drop); + } + }, + + fire: function(event, element) { + if(!this.last_active) return; + Position.prepare(); + + if (this.isAffected([Event.pointerX(event), Event.pointerY(event)], element, this.last_active)) + if (this.last_active.onDrop) { + this.last_active.onDrop(element, this.last_active.element, event); + return true; + } + }, + + reset: function() { + if(this.last_active) + this.deactivate(this.last_active); + } +} + +var Draggables = { + drags: [], + observers: [], + + register: function(draggable) { + if(this.drags.length == 0) { + this.eventMouseUp = this.endDrag.bindAsEventListener(this); + this.eventMouseMove = this.updateDrag.bindAsEventListener(this); + this.eventKeypress = this.keyPress.bindAsEventListener(this); + + Event.observe(document, "mouseup", this.eventMouseUp); + Event.observe(document, "mousemove", this.eventMouseMove); + Event.observe(document, "keypress", this.eventKeypress); + } + this.drags.push(draggable); + }, + + unregister: function(draggable) { + this.drags = this.drags.reject(function(d) { return d==draggable }); + if(this.drags.length == 0) { + Event.stopObserving(document, "mouseup", this.eventMouseUp); + Event.stopObserving(document, "mousemove", this.eventMouseMove); + Event.stopObserving(document, "keypress", this.eventKeypress); + } + }, + + activate: function(draggable) { + if(draggable.options.delay) { + this._timeout = setTimeout(function() { + Draggables._timeout = null; + window.focus(); + Draggables.activeDraggable = draggable; + }.bind(this), draggable.options.delay); + } else { + window.focus(); // allows keypress events if window isn't currently focused, fails for Safari + this.activeDraggable = draggable; + } + }, + + deactivate: function() { + this.activeDraggable = null; + }, + + updateDrag: function(event) { + if(!this.activeDraggable) return; + var pointer = [Event.pointerX(event), Event.pointerY(event)]; + // Mozilla-based browsers fire successive mousemove events with + // the same coordinates, prevent needless redrawing (moz bug?) + if(this._lastPointer && (this._lastPointer.inspect() == pointer.inspect())) return; + this._lastPointer = pointer; + + this.activeDraggable.updateDrag(event, pointer); + }, + + endDrag: function(event) { + if(this._timeout) { + clearTimeout(this._timeout); + this._timeout = null; + } + if(!this.activeDraggable) return; + this._lastPointer = null; + this.activeDraggable.endDrag(event); + this.activeDraggable = null; + }, + + keyPress: function(event) { + if(this.activeDraggable) + this.activeDraggable.keyPress(event); + }, + + addObserver: function(observer) { + this.observers.push(observer); + this._cacheObserverCallbacks(); + }, + + removeObserver: function(element) { // element instead of observer fixes mem leaks + this.observers = this.observers.reject( function(o) { return o.element==element }); + this._cacheObserverCallbacks(); + }, + + notify: function(eventName, draggable, event) { // 'onStart', 'onEnd', 'onDrag' + if(this[eventName+'Count'] > 0) + this.observers.each( function(o) { + if(o[eventName]) o[eventName](eventName, draggable, event); + }); + if(draggable.options[eventName]) draggable.options[eventName](draggable, event); + }, + + _cacheObserverCallbacks: function() { + ['onStart','onEnd','onDrag'].each( function(eventName) { + Draggables[eventName+'Count'] = Draggables.observers.select( + function(o) { return o[eventName]; } + ).length; + }); + } +} + +/*--------------------------------------------------------------------------*/ + +var Draggable = Class.create({ + initialize: function(element) { + var defaults = { + handle: false, + reverteffect: function(element, top_offset, left_offset) { + var dur = Math.sqrt(Math.abs(top_offset^2)+Math.abs(left_offset^2))*0.02; + new Effect.Move(element, { x: -left_offset, y: -top_offset, duration: dur, + queue: {scope:'_draggable', position:'end'} + }); + }, + endeffect: function(element) { + var toOpacity = Object.isNumber(element._opacity) ? element._opacity : 1.0; + new Effect.Opacity(element, {duration:0.2, from:0.7, to:toOpacity, + queue: {scope:'_draggable', position:'end'}, + afterFinish: function(){ + Draggable._dragging[element] = false + } + }); + }, + zindex: 1000, + revert: false, + quiet: false, + scroll: false, + scrollSensitivity: 20, + scrollSpeed: 15, + snap: false, // false, or xy or [x,y] or function(x,y){ return [x,y] } + delay: 0 + }; + + if(!arguments[1] || Object.isUndefined(arguments[1].endeffect)) + Object.extend(defaults, { + starteffect: function(element) { + element._opacity = Element.getOpacity(element); + Draggable._dragging[element] = true; + new Effect.Opacity(element, {duration:0.2, from:element._opacity, to:0.7}); + } + }); + + var options = Object.extend(defaults, arguments[1] || { }); + + this.element = $(element); + + if(options.handle && Object.isString(options.handle)) + this.handle = this.element.down('.'+options.handle, 0); + + if(!this.handle) this.handle = $(options.handle); + if(!this.handle) this.handle = this.element; + + if(options.scroll && !options.scroll.scrollTo && !options.scroll.outerHTML) { + options.scroll = $(options.scroll); + this._isScrollChild = Element.childOf(this.element, options.scroll); + } + + Element.makePositioned(this.element); // fix IE + + this.options = options; + this.dragging = false; + + this.eventMouseDown = this.initDrag.bindAsEventListener(this); + Event.observe(this.handle, "mousedown", this.eventMouseDown); + + Draggables.register(this); + }, + + destroy: function() { + Event.stopObserving(this.handle, "mousedown", this.eventMouseDown); + Draggables.unregister(this); + }, + + currentDelta: function() { + return([ + parseInt(Element.getStyle(this.element,'left') || '0'), + parseInt(Element.getStyle(this.element,'top') || '0')]); + }, + + initDrag: function(event) { + if(!Object.isUndefined(Draggable._dragging[this.element]) && + Draggable._dragging[this.element]) return; + if(Event.isLeftClick(event)) { + // abort on form elements, fixes a Firefox issue + var src = Event.element(event); + if((tag_name = src.tagName.toUpperCase()) && ( + tag_name=='INPUT' || + tag_name=='SELECT' || + tag_name=='OPTION' || + tag_name=='BUTTON' || + tag_name=='TEXTAREA')) return; + + var pointer = [Event.pointerX(event), Event.pointerY(event)]; + var pos = Position.cumulativeOffset(this.element); + this.offset = [0,1].map( function(i) { return (pointer[i] - pos[i]) }); + + Draggables.activate(this); + Event.stop(event); + } + }, + + startDrag: function(event) { + this.dragging = true; + if(!this.delta) + this.delta = this.currentDelta(); + + if(this.options.zindex) { + this.originalZ = parseInt(Element.getStyle(this.element,'z-index') || 0); + this.element.style.zIndex = this.options.zindex; + } + + if(this.options.ghosting) { + this._clone = this.element.cloneNode(true); + this.element._originallyAbsolute = (this.element.getStyle('position') == 'absolute'); + if (!this.element._originallyAbsolute) + Position.absolutize(this.element); + this.element.parentNode.insertBefore(this._clone, this.element); + } + + if(this.options.scroll) { + if (this.options.scroll == window) { + var where = this._getWindowScroll(this.options.scroll); + this.originalScrollLeft = where.left; + this.originalScrollTop = where.top; + } else { + this.originalScrollLeft = this.options.scroll.scrollLeft; + this.originalScrollTop = this.options.scroll.scrollTop; + } + } + + Draggables.notify('onStart', this, event); + + if(this.options.starteffect) this.options.starteffect(this.element); + }, + + updateDrag: function(event, pointer) { + if(!this.dragging) this.startDrag(event); + + if(!this.options.quiet){ + Position.prepare(); + Droppables.show(pointer, this.element); + } + + Draggables.notify('onDrag', this, event); + + this.draw(pointer); + if(this.options.change) this.options.change(this); + + if(this.options.scroll) { + this.stopScrolling(); + + var p; + if (this.options.scroll == window) { + with(this._getWindowScroll(this.options.scroll)) { p = [ left, top, left+width, top+height ]; } + } else { + p = Position.page(this.options.scroll); + p[0] += this.options.scroll.scrollLeft + Position.deltaX; + p[1] += this.options.scroll.scrollTop + Position.deltaY; + p.push(p[0]+this.options.scroll.offsetWidth); + p.push(p[1]+this.options.scroll.offsetHeight); + } + var speed = [0,0]; + if(pointer[0] < (p[0]+this.options.scrollSensitivity)) speed[0] = pointer[0]-(p[0]+this.options.scrollSensitivity); + if(pointer[1] < (p[1]+this.options.scrollSensitivity)) speed[1] = pointer[1]-(p[1]+this.options.scrollSensitivity); + if(pointer[0] > (p[2]-this.options.scrollSensitivity)) speed[0] = pointer[0]-(p[2]-this.options.scrollSensitivity); + if(pointer[1] > (p[3]-this.options.scrollSensitivity)) speed[1] = pointer[1]-(p[3]-this.options.scrollSensitivity); + this.startScrolling(speed); + } + + // fix AppleWebKit rendering + if(Prototype.Browser.WebKit) window.scrollBy(0,0); + + Event.stop(event); + }, + + finishDrag: function(event, success) { + this.dragging = false; + + if(this.options.quiet){ + Position.prepare(); + var pointer = [Event.pointerX(event), Event.pointerY(event)]; + Droppables.show(pointer, this.element); + } + + if(this.options.ghosting) { + if (!this.element._originallyAbsolute) + Position.relativize(this.element); + delete this.element._originallyAbsolute; + Element.remove(this._clone); + this._clone = null; + } + + var dropped = false; + if(success) { + dropped = Droppables.fire(event, this.element); + if (!dropped) dropped = false; + } + if(dropped && this.options.onDropped) this.options.onDropped(this.element); + Draggables.notify('onEnd', this, event); + + var revert = this.options.revert; + if(revert && Object.isFunction(revert)) revert = revert(this.element); + + var d = this.currentDelta(); + if(revert && this.options.reverteffect) { + if (dropped == 0 || revert != 'failure') + this.options.reverteffect(this.element, + d[1]-this.delta[1], d[0]-this.delta[0]); + } else { + this.delta = d; + } + + if(this.options.zindex) + this.element.style.zIndex = this.originalZ; + + if(this.options.endeffect) + this.options.endeffect(this.element); + + Draggables.deactivate(this); + Droppables.reset(); + }, + + keyPress: function(event) { + if(event.keyCode!=Event.KEY_ESC) return; + this.finishDrag(event, false); + Event.stop(event); + }, + + endDrag: function(event) { + if(!this.dragging) return; + this.stopScrolling(); + this.finishDrag(event, true); + Event.stop(event); + }, + + draw: function(point) { + var pos = Position.cumulativeOffset(this.element); + if(this.options.ghosting) { + var r = Position.realOffset(this.element); + pos[0] += r[0] - Position.deltaX; pos[1] += r[1] - Position.deltaY; + } + + var d = this.currentDelta(); + pos[0] -= d[0]; pos[1] -= d[1]; + + if(this.options.scroll && (this.options.scroll != window && this._isScrollChild)) { + pos[0] -= this.options.scroll.scrollLeft-this.originalScrollLeft; + pos[1] -= this.options.scroll.scrollTop-this.originalScrollTop; + } + + var p = [0,1].map(function(i){ + return (point[i]-pos[i]-this.offset[i]) + }.bind(this)); + + if(this.options.snap) { + if(Object.isFunction(this.options.snap)) { + p = this.options.snap(p[0],p[1],this); + } else { + if(Object.isArray(this.options.snap)) { + p = p.map( function(v, i) { + return (v/this.options.snap[i]).round()*this.options.snap[i] }.bind(this)) + } else { + p = p.map( function(v) { + return (v/this.options.snap).round()*this.options.snap }.bind(this)) + } + }} + + var style = this.element.style; + if((!this.options.constraint) || (this.options.constraint=='horizontal')) + style.left = p[0] + "px"; + if((!this.options.constraint) || (this.options.constraint=='vertical')) + style.top = p[1] + "px"; + + if(style.visibility=="hidden") style.visibility = ""; // fix gecko rendering + }, + + stopScrolling: function() { + if(this.scrollInterval) { + clearInterval(this.scrollInterval); + this.scrollInterval = null; + Draggables._lastScrollPointer = null; + } + }, + + startScrolling: function(speed) { + if(!(speed[0] || speed[1])) return; + this.scrollSpeed = [speed[0]*this.options.scrollSpeed,speed[1]*this.options.scrollSpeed]; + this.lastScrolled = new Date(); + this.scrollInterval = setInterval(this.scroll.bind(this), 10); + }, + + scroll: function() { + var current = new Date(); + var delta = current - this.lastScrolled; + this.lastScrolled = current; + if(this.options.scroll == window) { + with (this._getWindowScroll(this.options.scroll)) { + if (this.scrollSpeed[0] || this.scrollSpeed[1]) { + var d = delta / 1000; + this.options.scroll.scrollTo( left + d*this.scrollSpeed[0], top + d*this.scrollSpeed[1] ); + } + } + } else { + this.options.scroll.scrollLeft += this.scrollSpeed[0] * delta / 1000; + this.options.scroll.scrollTop += this.scrollSpeed[1] * delta / 1000; + } + + Position.prepare(); + Droppables.show(Draggables._lastPointer, this.element); + Draggables.notify('onDrag', this); + if (this._isScrollChild) { + Draggables._lastScrollPointer = Draggables._lastScrollPointer || $A(Draggables._lastPointer); + Draggables._lastScrollPointer[0] += this.scrollSpeed[0] * delta / 1000; + Draggables._lastScrollPointer[1] += this.scrollSpeed[1] * delta / 1000; + if (Draggables._lastScrollPointer[0] < 0) + Draggables._lastScrollPointer[0] = 0; + if (Draggables._lastScrollPointer[1] < 0) + Draggables._lastScrollPointer[1] = 0; + this.draw(Draggables._lastScrollPointer); + } + + if(this.options.change) this.options.change(this); + }, + + _getWindowScroll: function(w) { + var T, L, W, H; + with (w.document) { + if (w.document.documentElement && documentElement.scrollTop) { + T = documentElement.scrollTop; + L = documentElement.scrollLeft; + } else if (w.document.body) { + T = body.scrollTop; + L = body.scrollLeft; + } + if (w.innerWidth) { + W = w.innerWidth; + H = w.innerHeight; + } else if (w.document.documentElement && documentElement.clientWidth) { + W = documentElement.clientWidth; + H = documentElement.clientHeight; + } else { + W = body.offsetWidth; + H = body.offsetHeight + } + } + return { top: T, left: L, width: W, height: H }; + } +}); + +Draggable._dragging = { }; + +/*--------------------------------------------------------------------------*/ + +var SortableObserver = Class.create({ + initialize: function(element, observer) { + this.element = $(element); + this.observer = observer; + this.lastValue = Sortable.serialize(this.element); + }, + + onStart: function() { + this.lastValue = Sortable.serialize(this.element); + }, + + onEnd: function() { + Sortable.unmark(); + if(this.lastValue != Sortable.serialize(this.element)) + this.observer(this.element) + } +}); + +var Sortable = { + SERIALIZE_RULE: /^[^_\-](?:[A-Za-z0-9\-\_]*)[_](.*)$/, + + sortables: { }, + + _findRootElement: function(element) { + while (element.tagName.toUpperCase() != "BODY") { + if(element.id && Sortable.sortables[element.id]) return element; + element = element.parentNode; + } + }, + + options: function(element) { + element = Sortable._findRootElement($(element)); + if(!element) return; + return Sortable.sortables[element.id]; + }, + + destroy: function(element){ + var s = Sortable.options(element); + + if(s) { + Draggables.removeObserver(s.element); + s.droppables.each(function(d){ Droppables.remove(d) }); + s.draggables.invoke('destroy'); + + delete Sortable.sortables[s.element.id]; + } + }, + + create: function(element) { + element = $(element); + var options = Object.extend({ + element: element, + tag: 'li', // assumes li children, override with tag: 'tagname' + dropOnEmpty: false, + tree: false, + treeTag: 'ul', + overlap: 'vertical', // one of 'vertical', 'horizontal' + constraint: 'vertical', // one of 'vertical', 'horizontal', false + containment: element, // also takes array of elements (or id's); or false + handle: false, // or a CSS class + only: false, + delay: 0, + hoverclass: null, + ghosting: false, + quiet: false, + scroll: false, + scrollSensitivity: 20, + scrollSpeed: 15, + format: this.SERIALIZE_RULE, + + // these take arrays of elements or ids and can be + // used for better initialization performance + elements: false, + handles: false, + + onChange: Prototype.emptyFunction, + onUpdate: Prototype.emptyFunction + }, arguments[1] || { }); + + // clear any old sortable with same element + this.destroy(element); + + // build options for the draggables + var options_for_draggable = { + revert: true, + quiet: options.quiet, + scroll: options.scroll, + scrollSpeed: options.scrollSpeed, + scrollSensitivity: options.scrollSensitivity, + delay: options.delay, + ghosting: options.ghosting, + constraint: options.constraint, + handle: options.handle }; + + if(options.starteffect) + options_for_draggable.starteffect = options.starteffect; + + if(options.reverteffect) + options_for_draggable.reverteffect = options.reverteffect; + else + if(options.ghosting) options_for_draggable.reverteffect = function(element) { + element.style.top = 0; + element.style.left = 0; + }; + + if(options.endeffect) + options_for_draggable.endeffect = options.endeffect; + + if(options.zindex) + options_for_draggable.zindex = options.zindex; + + // build options for the droppables + var options_for_droppable = { + overlap: options.overlap, + containment: options.containment, + tree: options.tree, + hoverclass: options.hoverclass, + onHover: Sortable.onHover + } + + var options_for_tree = { + onHover: Sortable.onEmptyHover, + overlap: options.overlap, + containment: options.containment, + hoverclass: options.hoverclass + } + + // fix for gecko engine + Element.cleanWhitespace(element); + + options.draggables = []; + options.droppables = []; + + // drop on empty handling + if(options.dropOnEmpty || options.tree) { + Droppables.add(element, options_for_tree); + options.droppables.push(element); + } + + (options.elements || this.findElements(element, options) || []).each( function(e,i) { + var handle = options.handles ? $(options.handles[i]) : + (options.handle ? $(e).select('.' + options.handle)[0] : e); + options.draggables.push( + new Draggable(e, Object.extend(options_for_draggable, { handle: handle }))); + Droppables.add(e, options_for_droppable); + if(options.tree) e.treeNode = element; + options.droppables.push(e); + }); + + if(options.tree) { + (Sortable.findTreeElements(element, options) || []).each( function(e) { + Droppables.add(e, options_for_tree); + e.treeNode = element; + options.droppables.push(e); + }); + } + + // keep reference + this.sortables[element.id] = options; + + // for onupdate + Draggables.addObserver(new SortableObserver(element, options.onUpdate)); + + }, + + // return all suitable-for-sortable elements in a guaranteed order + findElements: function(element, options) { + return Element.findChildren( + element, options.only, options.tree ? true : false, options.tag); + }, + + findTreeElements: function(element, options) { + return Element.findChildren( + element, options.only, options.tree ? true : false, options.treeTag); + }, + + onHover: function(element, dropon, overlap) { + if(Element.isParent(dropon, element)) return; + + if(overlap > .33 && overlap < .66 && Sortable.options(dropon).tree) { + return; + } else if(overlap>0.5) { + Sortable.mark(dropon, 'before'); + if(dropon.previousSibling != element) { + var oldParentNode = element.parentNode; + element.style.visibility = "hidden"; // fix gecko rendering + dropon.parentNode.insertBefore(element, dropon); + if(dropon.parentNode!=oldParentNode) + Sortable.options(oldParentNode).onChange(element); + Sortable.options(dropon.parentNode).onChange(element); + } + } else { + Sortable.mark(dropon, 'after'); + var nextElement = dropon.nextSibling || null; + if(nextElement != element) { + var oldParentNode = element.parentNode; + element.style.visibility = "hidden"; // fix gecko rendering + dropon.parentNode.insertBefore(element, nextElement); + if(dropon.parentNode!=oldParentNode) + Sortable.options(oldParentNode).onChange(element); + Sortable.options(dropon.parentNode).onChange(element); + } + } + }, + + onEmptyHover: function(element, dropon, overlap) { + var oldParentNode = element.parentNode; + var droponOptions = Sortable.options(dropon); + + if(!Element.isParent(dropon, element)) { + var index; + + var children = Sortable.findElements(dropon, {tag: droponOptions.tag, only: droponOptions.only}); + var child = null; + + if(children) { + var offset = Element.offsetSize(dropon, droponOptions.overlap) * (1.0 - overlap); + + for (index = 0; index < children.length; index += 1) { + if (offset - Element.offsetSize (children[index], droponOptions.overlap) >= 0) { + offset -= Element.offsetSize (children[index], droponOptions.overlap); + } else if (offset - (Element.offsetSize (children[index], droponOptions.overlap) / 2) >= 0) { + child = index + 1 < children.length ? children[index + 1] : null; + break; + } else { + child = children[index]; + break; + } + } + } + + dropon.insertBefore(element, child); + + Sortable.options(oldParentNode).onChange(element); + droponOptions.onChange(element); + } + }, + + unmark: function() { + if(Sortable._marker) Sortable._marker.hide(); + }, + + mark: function(dropon, position) { + // mark on ghosting only + var sortable = Sortable.options(dropon.parentNode); + if(sortable && !sortable.ghosting) return; + + if(!Sortable._marker) { + Sortable._marker = + ($('dropmarker') || Element.extend(document.createElement('DIV'))). + hide().addClassName('dropmarker').setStyle({position:'absolute'}); + document.getElementsByTagName("body").item(0).appendChild(Sortable._marker); + } + var offsets = Position.cumulativeOffset(dropon); + Sortable._marker.setStyle({left: offsets[0]+'px', top: offsets[1] + 'px'}); + + if(position=='after') + if(sortable.overlap == 'horizontal') + Sortable._marker.setStyle({left: (offsets[0]+dropon.clientWidth) + 'px'}); + else + Sortable._marker.setStyle({top: (offsets[1]+dropon.clientHeight) + 'px'}); + + Sortable._marker.show(); + }, + + _tree: function(element, options, parent) { + var children = Sortable.findElements(element, options) || []; + + for (var i = 0; i < children.length; ++i) { + var match = children[i].id.match(options.format); + + if (!match) continue; + + var child = { + id: encodeURIComponent(match ? match[1] : null), + element: element, + parent: parent, + children: [], + position: parent.children.length, + container: $(children[i]).down(options.treeTag) + } + + /* Get the element containing the children and recurse over it */ + if (child.container) + this._tree(child.container, options, child) + + parent.children.push (child); + } + + return parent; + }, + + tree: function(element) { + element = $(element); + var sortableOptions = this.options(element); + var options = Object.extend({ + tag: sortableOptions.tag, + treeTag: sortableOptions.treeTag, + only: sortableOptions.only, + name: element.id, + format: sortableOptions.format + }, arguments[1] || { }); + + var root = { + id: null, + parent: null, + children: [], + container: element, + position: 0 + } + + return Sortable._tree(element, options, root); + }, + + /* Construct a [i] index for a particular node */ + _constructIndex: function(node) { + var index = ''; + do { + if (node.id) index = '[' + node.position + ']' + index; + } while ((node = node.parent) != null); + return index; + }, + + sequence: function(element) { + element = $(element); + var options = Object.extend(this.options(element), arguments[1] || { }); + + return $(this.findElements(element, options) || []).map( function(item) { + return item.id.match(options.format) ? item.id.match(options.format)[1] : ''; + }); + }, + + setSequence: function(element, new_sequence) { + element = $(element); + var options = Object.extend(this.options(element), arguments[2] || { }); + + var nodeMap = { }; + this.findElements(element, options).each( function(n) { + if (n.id.match(options.format)) + nodeMap[n.id.match(options.format)[1]] = [n, n.parentNode]; + n.parentNode.removeChild(n); + }); + + new_sequence.each(function(ident) { + var n = nodeMap[ident]; + if (n) { + n[1].appendChild(n[0]); + delete nodeMap[ident]; + } + }); + }, + + serialize: function(element) { + element = $(element); + var options = Object.extend(Sortable.options(element), arguments[1] || { }); + var name = encodeURIComponent( + (arguments[1] && arguments[1].name) ? arguments[1].name : element.id); + + if (options.tree) { + return Sortable.tree(element, arguments[1]).children.map( function (item) { + return [name + Sortable._constructIndex(item) + "[id]=" + + encodeURIComponent(item.id)].concat(item.children.map(arguments.callee)); + }).flatten().join('&'); + } else { + return Sortable.sequence(element, arguments[1]).map( function(item) { + return name + "[]=" + encodeURIComponent(item); + }).join('&'); + } + } +} + +// Returns true if child is contained within element +Element.isParent = function(child, element) { + if (!child.parentNode || child == element) return false; + if (child.parentNode == element) return true; + return Element.isParent(child.parentNode, element); +} + +Element.findChildren = function(element, only, recursive, tagName) { + if(!element.hasChildNodes()) return null; + tagName = tagName.toUpperCase(); + if(only) only = [only].flatten(); + var elements = []; + $A(element.childNodes).each( function(e) { + if(e.tagName && e.tagName.toUpperCase()==tagName && + (!only || (Element.classNames(e).detect(function(v) { return only.include(v) })))) + elements.push(e); + if(recursive) { + var grandchildren = Element.findChildren(e, only, recursive, tagName); + if(grandchildren) elements.push(grandchildren); + } + }); + + return (elements.length>0 ? elements.flatten() : []); +} + +Element.offsetSize = function (element, type) { + return element['offset' + ((type=='vertical' || type=='height') ? 'Height' : 'Width')]; +} diff --git a/vendor/gems/gems/thin-1.2.5/spec/rails_app/public/javascripts/effects.js b/vendor/gems/gems/thin-1.2.5/spec/rails_app/public/javascripts/effects.js new file mode 100755 index 00000000..65aed239 --- /dev/null +++ b/vendor/gems/gems/thin-1.2.5/spec/rails_app/public/javascripts/effects.js @@ -0,0 +1,1120 @@ +// Copyright (c) 2005-2007 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us) +// Contributors: +// Justin Palmer (http://encytemedia.com/) +// Mark Pilgrim (http://diveintomark.org/) +// Martin Bialasinki +// +// script.aculo.us is freely distributable under the terms of an MIT-style license. +// For details, see the script.aculo.us web site: http://script.aculo.us/ + +// converts rgb() and #xxx to #xxxxxx format, +// returns self (or first argument) if not convertable +String.prototype.parseColor = function() { + var color = '#'; + if (this.slice(0,4) == 'rgb(') { + var cols = this.slice(4,this.length-1).split(','); + var i=0; do { color += parseInt(cols[i]).toColorPart() } while (++i<3); + } else { + if (this.slice(0,1) == '#') { + if (this.length==4) for(var i=1;i<4;i++) color += (this.charAt(i) + this.charAt(i)).toLowerCase(); + if (this.length==7) color = this.toLowerCase(); + } + } + return (color.length==7 ? color : (arguments[0] || this)); +}; + +/*--------------------------------------------------------------------------*/ + +Element.collectTextNodes = function(element) { + return $A($(element).childNodes).collect( function(node) { + return (node.nodeType==3 ? node.nodeValue : + (node.hasChildNodes() ? Element.collectTextNodes(node) : '')); + }).flatten().join(''); +}; + +Element.collectTextNodesIgnoreClass = function(element, className) { + return $A($(element).childNodes).collect( function(node) { + return (node.nodeType==3 ? node.nodeValue : + ((node.hasChildNodes() && !Element.hasClassName(node,className)) ? + Element.collectTextNodesIgnoreClass(node, className) : '')); + }).flatten().join(''); +}; + +Element.setContentZoom = function(element, percent) { + element = $(element); + element.setStyle({fontSize: (percent/100) + 'em'}); + if (Prototype.Browser.WebKit) window.scrollBy(0,0); + return element; +}; + +Element.getInlineOpacity = function(element){ + return $(element).style.opacity || ''; +}; + +Element.forceRerendering = function(element) { + try { + element = $(element); + var n = document.createTextNode(' '); + element.appendChild(n); + element.removeChild(n); + } catch(e) { } +}; + +/*--------------------------------------------------------------------------*/ + +var Effect = { + _elementDoesNotExistError: { + name: 'ElementDoesNotExistError', + message: 'The specified DOM element does not exist, but is required for this effect to operate' + }, + Transitions: { + linear: Prototype.K, + sinoidal: function(pos) { + return (-Math.cos(pos*Math.PI)/2) + 0.5; + }, + reverse: function(pos) { + return 1-pos; + }, + flicker: function(pos) { + var pos = ((-Math.cos(pos*Math.PI)/4) + 0.75) + Math.random()/4; + return pos > 1 ? 1 : pos; + }, + wobble: function(pos) { + return (-Math.cos(pos*Math.PI*(9*pos))/2) + 0.5; + }, + pulse: function(pos, pulses) { + pulses = pulses || 5; + return ( + ((pos % (1/pulses)) * pulses).round() == 0 ? + ((pos * pulses * 2) - (pos * pulses * 2).floor()) : + 1 - ((pos * pulses * 2) - (pos * pulses * 2).floor()) + ); + }, + spring: function(pos) { + return 1 - (Math.cos(pos * 4.5 * Math.PI) * Math.exp(-pos * 6)); + }, + none: function(pos) { + return 0; + }, + full: function(pos) { + return 1; + } + }, + DefaultOptions: { + duration: 1.0, // seconds + fps: 100, // 100= assume 66fps max. + sync: false, // true for combining + from: 0.0, + to: 1.0, + delay: 0.0, + queue: 'parallel' + }, + tagifyText: function(element) { + var tagifyStyle = 'position:relative'; + if (Prototype.Browser.IE) tagifyStyle += ';zoom:1'; + + element = $(element); + $A(element.childNodes).each( function(child) { + if (child.nodeType==3) { + child.nodeValue.toArray().each( function(character) { + element.insertBefore( + new Element('span', {style: tagifyStyle}).update( + character == ' ' ? String.fromCharCode(160) : character), + child); + }); + Element.remove(child); + } + }); + }, + multiple: function(element, effect) { + var elements; + if (((typeof element == 'object') || + Object.isFunction(element)) && + (element.length)) + elements = element; + else + elements = $(element).childNodes; + + var options = Object.extend({ + speed: 0.1, + delay: 0.0 + }, arguments[2] || { }); + var masterDelay = options.delay; + + $A(elements).each( function(element, index) { + new effect(element, Object.extend(options, { delay: index * options.speed + masterDelay })); + }); + }, + PAIRS: { + 'slide': ['SlideDown','SlideUp'], + 'blind': ['BlindDown','BlindUp'], + 'appear': ['Appear','Fade'] + }, + toggle: function(element, effect) { + element = $(element); + effect = (effect || 'appear').toLowerCase(); + var options = Object.extend({ + queue: { position:'end', scope:(element.id || 'global'), limit: 1 } + }, arguments[2] || { }); + Effect[element.visible() ? + Effect.PAIRS[effect][1] : Effect.PAIRS[effect][0]](element, options); + } +}; + +Effect.DefaultOptions.transition = Effect.Transitions.sinoidal; + +/* ------------- core effects ------------- */ + +Effect.ScopedQueue = Class.create(Enumerable, { + initialize: function() { + this.effects = []; + this.interval = null; + }, + _each: function(iterator) { + this.effects._each(iterator); + }, + add: function(effect) { + var timestamp = new Date().getTime(); + + var position = Object.isString(effect.options.queue) ? + effect.options.queue : effect.options.queue.position; + + switch(position) { + case 'front': + // move unstarted effects after this effect + this.effects.findAll(function(e){ return e.state=='idle' }).each( function(e) { + e.startOn += effect.finishOn; + e.finishOn += effect.finishOn; + }); + break; + case 'with-last': + timestamp = this.effects.pluck('startOn').max() || timestamp; + break; + case 'end': + // start effect after last queued effect has finished + timestamp = this.effects.pluck('finishOn').max() || timestamp; + break; + } + + effect.startOn += timestamp; + effect.finishOn += timestamp; + + if (!effect.options.queue.limit || (this.effects.length < effect.options.queue.limit)) + this.effects.push(effect); + + if (!this.interval) + this.interval = setInterval(this.loop.bind(this), 15); + }, + remove: function(effect) { + this.effects = this.effects.reject(function(e) { return e==effect }); + if (this.effects.length == 0) { + clearInterval(this.interval); + this.interval = null; + } + }, + loop: function() { + var timePos = new Date().getTime(); + for(var i=0, len=this.effects.length;i= this.startOn) { + if (timePos >= this.finishOn) { + this.render(1.0); + this.cancel(); + this.event('beforeFinish'); + if (this.finish) this.finish(); + this.event('afterFinish'); + return; + } + var pos = (timePos - this.startOn) / this.totalTime, + frame = (pos * this.totalFrames).round(); + if (frame > this.currentFrame) { + this.render(pos); + this.currentFrame = frame; + } + } + }, + cancel: function() { + if (!this.options.sync) + Effect.Queues.get(Object.isString(this.options.queue) ? + 'global' : this.options.queue.scope).remove(this); + this.state = 'finished'; + }, + event: function(eventName) { + if (this.options[eventName + 'Internal']) this.options[eventName + 'Internal'](this); + if (this.options[eventName]) this.options[eventName](this); + }, + inspect: function() { + var data = $H(); + for(property in this) + if (!Object.isFunction(this[property])) data.set(property, this[property]); + return '#'; + } +}); + +Effect.Parallel = Class.create(Effect.Base, { + initialize: function(effects) { + this.effects = effects || []; + this.start(arguments[1]); + }, + update: function(position) { + this.effects.invoke('render', position); + }, + finish: function(position) { + this.effects.each( function(effect) { + effect.render(1.0); + effect.cancel(); + effect.event('beforeFinish'); + if (effect.finish) effect.finish(position); + effect.event('afterFinish'); + }); + } +}); + +Effect.Tween = Class.create(Effect.Base, { + initialize: function(object, from, to) { + object = Object.isString(object) ? $(object) : object; + var args = $A(arguments), method = args.last(), + options = args.length == 5 ? args[3] : null; + this.method = Object.isFunction(method) ? method.bind(object) : + Object.isFunction(object[method]) ? object[method].bind(object) : + function(value) { object[method] = value }; + this.start(Object.extend({ from: from, to: to }, options || { })); + }, + update: function(position) { + this.method(position); + } +}); + +Effect.Event = Class.create(Effect.Base, { + initialize: function() { + this.start(Object.extend({ duration: 0 }, arguments[0] || { })); + }, + update: Prototype.emptyFunction +}); + +Effect.Opacity = Class.create(Effect.Base, { + initialize: function(element) { + this.element = $(element); + if (!this.element) throw(Effect._elementDoesNotExistError); + // make this work on IE on elements without 'layout' + if (Prototype.Browser.IE && (!this.element.currentStyle.hasLayout)) + this.element.setStyle({zoom: 1}); + var options = Object.extend({ + from: this.element.getOpacity() || 0.0, + to: 1.0 + }, arguments[1] || { }); + this.start(options); + }, + update: function(position) { + this.element.setOpacity(position); + } +}); + +Effect.Move = Class.create(Effect.Base, { + initialize: function(element) { + this.element = $(element); + if (!this.element) throw(Effect._elementDoesNotExistError); + var options = Object.extend({ + x: 0, + y: 0, + mode: 'relative' + }, arguments[1] || { }); + this.start(options); + }, + setup: function() { + this.element.makePositioned(); + this.originalLeft = parseFloat(this.element.getStyle('left') || '0'); + this.originalTop = parseFloat(this.element.getStyle('top') || '0'); + if (this.options.mode == 'absolute') { + this.options.x = this.options.x - this.originalLeft; + this.options.y = this.options.y - this.originalTop; + } + }, + update: function(position) { + this.element.setStyle({ + left: (this.options.x * position + this.originalLeft).round() + 'px', + top: (this.options.y * position + this.originalTop).round() + 'px' + }); + } +}); + +// for backwards compatibility +Effect.MoveBy = function(element, toTop, toLeft) { + return new Effect.Move(element, + Object.extend({ x: toLeft, y: toTop }, arguments[3] || { })); +}; + +Effect.Scale = Class.create(Effect.Base, { + initialize: function(element, percent) { + this.element = $(element); + if (!this.element) throw(Effect._elementDoesNotExistError); + var options = Object.extend({ + scaleX: true, + scaleY: true, + scaleContent: true, + scaleFromCenter: false, + scaleMode: 'box', // 'box' or 'contents' or { } with provided values + scaleFrom: 100.0, + scaleTo: percent + }, arguments[2] || { }); + this.start(options); + }, + setup: function() { + this.restoreAfterFinish = this.options.restoreAfterFinish || false; + this.elementPositioning = this.element.getStyle('position'); + + this.originalStyle = { }; + ['top','left','width','height','fontSize'].each( function(k) { + this.originalStyle[k] = this.element.style[k]; + }.bind(this)); + + this.originalTop = this.element.offsetTop; + this.originalLeft = this.element.offsetLeft; + + var fontSize = this.element.getStyle('font-size') || '100%'; + ['em','px','%','pt'].each( function(fontSizeType) { + if (fontSize.indexOf(fontSizeType)>0) { + this.fontSize = parseFloat(fontSize); + this.fontSizeType = fontSizeType; + } + }.bind(this)); + + this.factor = (this.options.scaleTo - this.options.scaleFrom)/100; + + this.dims = null; + if (this.options.scaleMode=='box') + this.dims = [this.element.offsetHeight, this.element.offsetWidth]; + if (/^content/.test(this.options.scaleMode)) + this.dims = [this.element.scrollHeight, this.element.scrollWidth]; + if (!this.dims) + this.dims = [this.options.scaleMode.originalHeight, + this.options.scaleMode.originalWidth]; + }, + update: function(position) { + var currentScale = (this.options.scaleFrom/100.0) + (this.factor * position); + if (this.options.scaleContent && this.fontSize) + this.element.setStyle({fontSize: this.fontSize * currentScale + this.fontSizeType }); + this.setDimensions(this.dims[0] * currentScale, this.dims[1] * currentScale); + }, + finish: function(position) { + if (this.restoreAfterFinish) this.element.setStyle(this.originalStyle); + }, + setDimensions: function(height, width) { + var d = { }; + if (this.options.scaleX) d.width = width.round() + 'px'; + if (this.options.scaleY) d.height = height.round() + 'px'; + if (this.options.scaleFromCenter) { + var topd = (height - this.dims[0])/2; + var leftd = (width - this.dims[1])/2; + if (this.elementPositioning == 'absolute') { + if (this.options.scaleY) d.top = this.originalTop-topd + 'px'; + if (this.options.scaleX) d.left = this.originalLeft-leftd + 'px'; + } else { + if (this.options.scaleY) d.top = -topd + 'px'; + if (this.options.scaleX) d.left = -leftd + 'px'; + } + } + this.element.setStyle(d); + } +}); + +Effect.Highlight = Class.create(Effect.Base, { + initialize: function(element) { + this.element = $(element); + if (!this.element) throw(Effect._elementDoesNotExistError); + var options = Object.extend({ startcolor: '#ffff99' }, arguments[1] || { }); + this.start(options); + }, + setup: function() { + // Prevent executing on elements not in the layout flow + if (this.element.getStyle('display')=='none') { this.cancel(); return; } + // Disable background image during the effect + this.oldStyle = { }; + if (!this.options.keepBackgroundImage) { + this.oldStyle.backgroundImage = this.element.getStyle('background-image'); + this.element.setStyle({backgroundImage: 'none'}); + } + if (!this.options.endcolor) + this.options.endcolor = this.element.getStyle('background-color').parseColor('#ffffff'); + if (!this.options.restorecolor) + this.options.restorecolor = this.element.getStyle('background-color'); + // init color calculations + this._base = $R(0,2).map(function(i){ return parseInt(this.options.startcolor.slice(i*2+1,i*2+3),16) }.bind(this)); + this._delta = $R(0,2).map(function(i){ return parseInt(this.options.endcolor.slice(i*2+1,i*2+3),16)-this._base[i] }.bind(this)); + }, + update: function(position) { + this.element.setStyle({backgroundColor: $R(0,2).inject('#',function(m,v,i){ + return m+((this._base[i]+(this._delta[i]*position)).round().toColorPart()); }.bind(this)) }); + }, + finish: function() { + this.element.setStyle(Object.extend(this.oldStyle, { + backgroundColor: this.options.restorecolor + })); + } +}); + +Effect.ScrollTo = function(element) { + var options = arguments[1] || { }, + scrollOffsets = document.viewport.getScrollOffsets(), + elementOffsets = $(element).cumulativeOffset(), + max = (window.height || document.body.scrollHeight) - document.viewport.getHeight(); + + if (options.offset) elementOffsets[1] += options.offset; + + return new Effect.Tween(null, + scrollOffsets.top, + elementOffsets[1] > max ? max : elementOffsets[1], + options, + function(p){ scrollTo(scrollOffsets.left, p.round()) } + ); +}; + +/* ------------- combination effects ------------- */ + +Effect.Fade = function(element) { + element = $(element); + var oldOpacity = element.getInlineOpacity(); + var options = Object.extend({ + from: element.getOpacity() || 1.0, + to: 0.0, + afterFinishInternal: function(effect) { + if (effect.options.to!=0) return; + effect.element.hide().setStyle({opacity: oldOpacity}); + } + }, arguments[1] || { }); + return new Effect.Opacity(element,options); +}; + +Effect.Appear = function(element) { + element = $(element); + var options = Object.extend({ + from: (element.getStyle('display') == 'none' ? 0.0 : element.getOpacity() || 0.0), + to: 1.0, + // force Safari to render floated elements properly + afterFinishInternal: function(effect) { + effect.element.forceRerendering(); + }, + beforeSetup: function(effect) { + effect.element.setOpacity(effect.options.from).show(); + }}, arguments[1] || { }); + return new Effect.Opacity(element,options); +}; + +Effect.Puff = function(element) { + element = $(element); + var oldStyle = { + opacity: element.getInlineOpacity(), + position: element.getStyle('position'), + top: element.style.top, + left: element.style.left, + width: element.style.width, + height: element.style.height + }; + return new Effect.Parallel( + [ new Effect.Scale(element, 200, + { sync: true, scaleFromCenter: true, scaleContent: true, restoreAfterFinish: true }), + new Effect.Opacity(element, { sync: true, to: 0.0 } ) ], + Object.extend({ duration: 1.0, + beforeSetupInternal: function(effect) { + Position.absolutize(effect.effects[0].element) + }, + afterFinishInternal: function(effect) { + effect.effects[0].element.hide().setStyle(oldStyle); } + }, arguments[1] || { }) + ); +}; + +Effect.BlindUp = function(element) { + element = $(element); + element.makeClipping(); + return new Effect.Scale(element, 0, + Object.extend({ scaleContent: false, + scaleX: false, + restoreAfterFinish: true, + afterFinishInternal: function(effect) { + effect.element.hide().undoClipping(); + } + }, arguments[1] || { }) + ); +}; + +Effect.BlindDown = function(element) { + element = $(element); + var elementDimensions = element.getDimensions(); + return new Effect.Scale(element, 100, Object.extend({ + scaleContent: false, + scaleX: false, + scaleFrom: 0, + scaleMode: {originalHeight: elementDimensions.height, originalWidth: elementDimensions.width}, + restoreAfterFinish: true, + afterSetup: function(effect) { + effect.element.makeClipping().setStyle({height: '0px'}).show(); + }, + afterFinishInternal: function(effect) { + effect.element.undoClipping(); + } + }, arguments[1] || { })); +}; + +Effect.SwitchOff = function(element) { + element = $(element); + var oldOpacity = element.getInlineOpacity(); + return new Effect.Appear(element, Object.extend({ + duration: 0.4, + from: 0, + transition: Effect.Transitions.flicker, + afterFinishInternal: function(effect) { + new Effect.Scale(effect.element, 1, { + duration: 0.3, scaleFromCenter: true, + scaleX: false, scaleContent: false, restoreAfterFinish: true, + beforeSetup: function(effect) { + effect.element.makePositioned().makeClipping(); + }, + afterFinishInternal: function(effect) { + effect.element.hide().undoClipping().undoPositioned().setStyle({opacity: oldOpacity}); + } + }) + } + }, arguments[1] || { })); +}; + +Effect.DropOut = function(element) { + element = $(element); + var oldStyle = { + top: element.getStyle('top'), + left: element.getStyle('left'), + opacity: element.getInlineOpacity() }; + return new Effect.Parallel( + [ new Effect.Move(element, {x: 0, y: 100, sync: true }), + new Effect.Opacity(element, { sync: true, to: 0.0 }) ], + Object.extend( + { duration: 0.5, + beforeSetup: function(effect) { + effect.effects[0].element.makePositioned(); + }, + afterFinishInternal: function(effect) { + effect.effects[0].element.hide().undoPositioned().setStyle(oldStyle); + } + }, arguments[1] || { })); +}; + +Effect.Shake = function(element) { + element = $(element); + var options = Object.extend({ + distance: 20, + duration: 0.5 + }, arguments[1] || {}); + var distance = parseFloat(options.distance); + var split = parseFloat(options.duration) / 10.0; + var oldStyle = { + top: element.getStyle('top'), + left: element.getStyle('left') }; + return new Effect.Move(element, + { x: distance, y: 0, duration: split, afterFinishInternal: function(effect) { + new Effect.Move(effect.element, + { x: -distance*2, y: 0, duration: split*2, afterFinishInternal: function(effect) { + new Effect.Move(effect.element, + { x: distance*2, y: 0, duration: split*2, afterFinishInternal: function(effect) { + new Effect.Move(effect.element, + { x: -distance*2, y: 0, duration: split*2, afterFinishInternal: function(effect) { + new Effect.Move(effect.element, + { x: distance*2, y: 0, duration: split*2, afterFinishInternal: function(effect) { + new Effect.Move(effect.element, + { x: -distance, y: 0, duration: split, afterFinishInternal: function(effect) { + effect.element.undoPositioned().setStyle(oldStyle); + }}) }}) }}) }}) }}) }}); +}; + +Effect.SlideDown = function(element) { + element = $(element).cleanWhitespace(); + // SlideDown need to have the content of the element wrapped in a container element with fixed height! + var oldInnerBottom = element.down().getStyle('bottom'); + var elementDimensions = element.getDimensions(); + return new Effect.Scale(element, 100, Object.extend({ + scaleContent: false, + scaleX: false, + scaleFrom: window.opera ? 0 : 1, + scaleMode: {originalHeight: elementDimensions.height, originalWidth: elementDimensions.width}, + restoreAfterFinish: true, + afterSetup: function(effect) { + effect.element.makePositioned(); + effect.element.down().makePositioned(); + if (window.opera) effect.element.setStyle({top: ''}); + effect.element.makeClipping().setStyle({height: '0px'}).show(); + }, + afterUpdateInternal: function(effect) { + effect.element.down().setStyle({bottom: + (effect.dims[0] - effect.element.clientHeight) + 'px' }); + }, + afterFinishInternal: function(effect) { + effect.element.undoClipping().undoPositioned(); + effect.element.down().undoPositioned().setStyle({bottom: oldInnerBottom}); } + }, arguments[1] || { }) + ); +}; + +Effect.SlideUp = function(element) { + element = $(element).cleanWhitespace(); + var oldInnerBottom = element.down().getStyle('bottom'); + var elementDimensions = element.getDimensions(); + return new Effect.Scale(element, window.opera ? 0 : 1, + Object.extend({ scaleContent: false, + scaleX: false, + scaleMode: 'box', + scaleFrom: 100, + scaleMode: {originalHeight: elementDimensions.height, originalWidth: elementDimensions.width}, + restoreAfterFinish: true, + afterSetup: function(effect) { + effect.element.makePositioned(); + effect.element.down().makePositioned(); + if (window.opera) effect.element.setStyle({top: ''}); + effect.element.makeClipping().show(); + }, + afterUpdateInternal: function(effect) { + effect.element.down().setStyle({bottom: + (effect.dims[0] - effect.element.clientHeight) + 'px' }); + }, + afterFinishInternal: function(effect) { + effect.element.hide().undoClipping().undoPositioned(); + effect.element.down().undoPositioned().setStyle({bottom: oldInnerBottom}); + } + }, arguments[1] || { }) + ); +}; + +// Bug in opera makes the TD containing this element expand for a instance after finish +Effect.Squish = function(element) { + return new Effect.Scale(element, window.opera ? 1 : 0, { + restoreAfterFinish: true, + beforeSetup: function(effect) { + effect.element.makeClipping(); + }, + afterFinishInternal: function(effect) { + effect.element.hide().undoClipping(); + } + }); +}; + +Effect.Grow = function(element) { + element = $(element); + var options = Object.extend({ + direction: 'center', + moveTransition: Effect.Transitions.sinoidal, + scaleTransition: Effect.Transitions.sinoidal, + opacityTransition: Effect.Transitions.full + }, arguments[1] || { }); + var oldStyle = { + top: element.style.top, + left: element.style.left, + height: element.style.height, + width: element.style.width, + opacity: element.getInlineOpacity() }; + + var dims = element.getDimensions(); + var initialMoveX, initialMoveY; + var moveX, moveY; + + switch (options.direction) { + case 'top-left': + initialMoveX = initialMoveY = moveX = moveY = 0; + break; + case 'top-right': + initialMoveX = dims.width; + initialMoveY = moveY = 0; + moveX = -dims.width; + break; + case 'bottom-left': + initialMoveX = moveX = 0; + initialMoveY = dims.height; + moveY = -dims.height; + break; + case 'bottom-right': + initialMoveX = dims.width; + initialMoveY = dims.height; + moveX = -dims.width; + moveY = -dims.height; + break; + case 'center': + initialMoveX = dims.width / 2; + initialMoveY = dims.height / 2; + moveX = -dims.width / 2; + moveY = -dims.height / 2; + break; + } + + return new Effect.Move(element, { + x: initialMoveX, + y: initialMoveY, + duration: 0.01, + beforeSetup: function(effect) { + effect.element.hide().makeClipping().makePositioned(); + }, + afterFinishInternal: function(effect) { + new Effect.Parallel( + [ new Effect.Opacity(effect.element, { sync: true, to: 1.0, from: 0.0, transition: options.opacityTransition }), + new Effect.Move(effect.element, { x: moveX, y: moveY, sync: true, transition: options.moveTransition }), + new Effect.Scale(effect.element, 100, { + scaleMode: { originalHeight: dims.height, originalWidth: dims.width }, + sync: true, scaleFrom: window.opera ? 1 : 0, transition: options.scaleTransition, restoreAfterFinish: true}) + ], Object.extend({ + beforeSetup: function(effect) { + effect.effects[0].element.setStyle({height: '0px'}).show(); + }, + afterFinishInternal: function(effect) { + effect.effects[0].element.undoClipping().undoPositioned().setStyle(oldStyle); + } + }, options) + ) + } + }); +}; + +Effect.Shrink = function(element) { + element = $(element); + var options = Object.extend({ + direction: 'center', + moveTransition: Effect.Transitions.sinoidal, + scaleTransition: Effect.Transitions.sinoidal, + opacityTransition: Effect.Transitions.none + }, arguments[1] || { }); + var oldStyle = { + top: element.style.top, + left: element.style.left, + height: element.style.height, + width: element.style.width, + opacity: element.getInlineOpacity() }; + + var dims = element.getDimensions(); + var moveX, moveY; + + switch (options.direction) { + case 'top-left': + moveX = moveY = 0; + break; + case 'top-right': + moveX = dims.width; + moveY = 0; + break; + case 'bottom-left': + moveX = 0; + moveY = dims.height; + break; + case 'bottom-right': + moveX = dims.width; + moveY = dims.height; + break; + case 'center': + moveX = dims.width / 2; + moveY = dims.height / 2; + break; + } + + return new Effect.Parallel( + [ new Effect.Opacity(element, { sync: true, to: 0.0, from: 1.0, transition: options.opacityTransition }), + new Effect.Scale(element, window.opera ? 1 : 0, { sync: true, transition: options.scaleTransition, restoreAfterFinish: true}), + new Effect.Move(element, { x: moveX, y: moveY, sync: true, transition: options.moveTransition }) + ], Object.extend({ + beforeStartInternal: function(effect) { + effect.effects[0].element.makePositioned().makeClipping(); + }, + afterFinishInternal: function(effect) { + effect.effects[0].element.hide().undoClipping().undoPositioned().setStyle(oldStyle); } + }, options) + ); +}; + +Effect.Pulsate = function(element) { + element = $(element); + var options = arguments[1] || { }; + var oldOpacity = element.getInlineOpacity(); + var transition = options.transition || Effect.Transitions.sinoidal; + var reverser = function(pos){ return transition(1-Effect.Transitions.pulse(pos, options.pulses)) }; + reverser.bind(transition); + return new Effect.Opacity(element, + Object.extend(Object.extend({ duration: 2.0, from: 0, + afterFinishInternal: function(effect) { effect.element.setStyle({opacity: oldOpacity}); } + }, options), {transition: reverser})); +}; + +Effect.Fold = function(element) { + element = $(element); + var oldStyle = { + top: element.style.top, + left: element.style.left, + width: element.style.width, + height: element.style.height }; + element.makeClipping(); + return new Effect.Scale(element, 5, Object.extend({ + scaleContent: false, + scaleX: false, + afterFinishInternal: function(effect) { + new Effect.Scale(element, 1, { + scaleContent: false, + scaleY: false, + afterFinishInternal: function(effect) { + effect.element.hide().undoClipping().setStyle(oldStyle); + } }); + }}, arguments[1] || { })); +}; + +Effect.Morph = Class.create(Effect.Base, { + initialize: function(element) { + this.element = $(element); + if (!this.element) throw(Effect._elementDoesNotExistError); + var options = Object.extend({ + style: { } + }, arguments[1] || { }); + + if (!Object.isString(options.style)) this.style = $H(options.style); + else { + if (options.style.include(':')) + this.style = options.style.parseStyle(); + else { + this.element.addClassName(options.style); + this.style = $H(this.element.getStyles()); + this.element.removeClassName(options.style); + var css = this.element.getStyles(); + this.style = this.style.reject(function(style) { + return style.value == css[style.key]; + }); + options.afterFinishInternal = function(effect) { + effect.element.addClassName(effect.options.style); + effect.transforms.each(function(transform) { + effect.element.style[transform.style] = ''; + }); + } + } + } + this.start(options); + }, + + setup: function(){ + function parseColor(color){ + if (!color || ['rgba(0, 0, 0, 0)','transparent'].include(color)) color = '#ffffff'; + color = color.parseColor(); + return $R(0,2).map(function(i){ + return parseInt( color.slice(i*2+1,i*2+3), 16 ) + }); + } + this.transforms = this.style.map(function(pair){ + var property = pair[0], value = pair[1], unit = null; + + if (value.parseColor('#zzzzzz') != '#zzzzzz') { + value = value.parseColor(); + unit = 'color'; + } else if (property == 'opacity') { + value = parseFloat(value); + if (Prototype.Browser.IE && (!this.element.currentStyle.hasLayout)) + this.element.setStyle({zoom: 1}); + } else if (Element.CSS_LENGTH.test(value)) { + var components = value.match(/^([\+\-]?[0-9\.]+)(.*)$/); + value = parseFloat(components[1]); + unit = (components.length == 3) ? components[2] : null; + } + + var originalValue = this.element.getStyle(property); + return { + style: property.camelize(), + originalValue: unit=='color' ? parseColor(originalValue) : parseFloat(originalValue || 0), + targetValue: unit=='color' ? parseColor(value) : value, + unit: unit + }; + }.bind(this)).reject(function(transform){ + return ( + (transform.originalValue == transform.targetValue) || + ( + transform.unit != 'color' && + (isNaN(transform.originalValue) || isNaN(transform.targetValue)) + ) + ) + }); + }, + update: function(position) { + var style = { }, transform, i = this.transforms.length; + while(i--) + style[(transform = this.transforms[i]).style] = + transform.unit=='color' ? '#'+ + (Math.round(transform.originalValue[0]+ + (transform.targetValue[0]-transform.originalValue[0])*position)).toColorPart() + + (Math.round(transform.originalValue[1]+ + (transform.targetValue[1]-transform.originalValue[1])*position)).toColorPart() + + (Math.round(transform.originalValue[2]+ + (transform.targetValue[2]-transform.originalValue[2])*position)).toColorPart() : + (transform.originalValue + + (transform.targetValue - transform.originalValue) * position).toFixed(3) + + (transform.unit === null ? '' : transform.unit); + this.element.setStyle(style, true); + } +}); + +Effect.Transform = Class.create({ + initialize: function(tracks){ + this.tracks = []; + this.options = arguments[1] || { }; + this.addTracks(tracks); + }, + addTracks: function(tracks){ + tracks.each(function(track){ + track = $H(track); + var data = track.values().first(); + this.tracks.push($H({ + ids: track.keys().first(), + effect: Effect.Morph, + options: { style: data } + })); + }.bind(this)); + return this; + }, + play: function(){ + return new Effect.Parallel( + this.tracks.map(function(track){ + var ids = track.get('ids'), effect = track.get('effect'), options = track.get('options'); + var elements = [$(ids) || $$(ids)].flatten(); + return elements.map(function(e){ return new effect(e, Object.extend({ sync:true }, options)) }); + }).flatten(), + this.options + ); + } +}); + +Element.CSS_PROPERTIES = $w( + 'backgroundColor backgroundPosition borderBottomColor borderBottomStyle ' + + 'borderBottomWidth borderLeftColor borderLeftStyle borderLeftWidth ' + + 'borderRightColor borderRightStyle borderRightWidth borderSpacing ' + + 'borderTopColor borderTopStyle borderTopWidth bottom clip color ' + + 'fontSize fontWeight height left letterSpacing lineHeight ' + + 'marginBottom marginLeft marginRight marginTop markerOffset maxHeight '+ + 'maxWidth minHeight minWidth opacity outlineColor outlineOffset ' + + 'outlineWidth paddingBottom paddingLeft paddingRight paddingTop ' + + 'right textIndent top width wordSpacing zIndex'); + +Element.CSS_LENGTH = /^(([\+\-]?[0-9\.]+)(em|ex|px|in|cm|mm|pt|pc|\%))|0$/; + +String.__parseStyleElement = document.createElement('div'); +String.prototype.parseStyle = function(){ + var style, styleRules = $H(); + if (Prototype.Browser.WebKit) + style = new Element('div',{style:this}).style; + else { + String.__parseStyleElement.innerHTML = '
    '; + style = String.__parseStyleElement.childNodes[0].style; + } + + Element.CSS_PROPERTIES.each(function(property){ + if (style[property]) styleRules.set(property, style[property]); + }); + + if (Prototype.Browser.IE && this.include('opacity')) + styleRules.set('opacity', this.match(/opacity:\s*((?:0|1)?(?:\.\d*)?)/)[1]); + + return styleRules; +}; + +if (document.defaultView && document.defaultView.getComputedStyle) { + Element.getStyles = function(element) { + var css = document.defaultView.getComputedStyle($(element), null); + return Element.CSS_PROPERTIES.inject({ }, function(styles, property) { + styles[property] = css[property]; + return styles; + }); + }; +} else { + Element.getStyles = function(element) { + element = $(element); + var css = element.currentStyle, styles; + styles = Element.CSS_PROPERTIES.inject({ }, function(hash, property) { + hash.set(property, css[property]); + return hash; + }); + if (!styles.opacity) styles.set('opacity', element.getOpacity()); + return styles; + }; +}; + +Effect.Methods = { + morph: function(element, style) { + element = $(element); + new Effect.Morph(element, Object.extend({ style: style }, arguments[2] || { })); + return element; + }, + visualEffect: function(element, effect, options) { + element = $(element) + var s = effect.dasherize().camelize(), klass = s.charAt(0).toUpperCase() + s.substring(1); + new Effect[klass](element, options); + return element; + }, + highlight: function(element, options) { + element = $(element); + new Effect.Highlight(element, options); + return element; + } +}; + +$w('fade appear grow shrink fold blindUp blindDown slideUp slideDown '+ + 'pulsate shake puff squish switchOff dropOut').each( + function(effect) { + Effect.Methods[effect] = function(element, options){ + element = $(element); + Effect[effect.charAt(0).toUpperCase() + effect.substring(1)](element, options); + return element; + } + } +); + +$w('getInlineOpacity forceRerendering setContentZoom collectTextNodes collectTextNodesIgnoreClass getStyles').each( + function(f) { Effect.Methods[f] = Element[f]; } +); + +Element.addMethods(Effect.Methods); diff --git a/vendor/gems/gems/thin-1.2.5/spec/rails_app/public/javascripts/prototype.js b/vendor/gems/gems/thin-1.2.5/spec/rails_app/public/javascripts/prototype.js new file mode 100755 index 00000000..546f9fe4 --- /dev/null +++ b/vendor/gems/gems/thin-1.2.5/spec/rails_app/public/javascripts/prototype.js @@ -0,0 +1,4225 @@ +/* Prototype JavaScript framework, version 1.6.0.1 + * (c) 2005-2007 Sam Stephenson + * + * Prototype is freely distributable under the terms of an MIT-style license. + * For details, see the Prototype web site: http://www.prototypejs.org/ + * + *--------------------------------------------------------------------------*/ + +var Prototype = { + Version: '1.6.0.1', + + Browser: { + IE: !!(window.attachEvent && !window.opera), + Opera: !!window.opera, + WebKit: navigator.userAgent.indexOf('AppleWebKit/') > -1, + Gecko: navigator.userAgent.indexOf('Gecko') > -1 && navigator.userAgent.indexOf('KHTML') == -1, + MobileSafari: !!navigator.userAgent.match(/Apple.*Mobile.*Safari/) + }, + + BrowserFeatures: { + XPath: !!document.evaluate, + ElementExtensions: !!window.HTMLElement, + SpecificElementExtensions: + document.createElement('div').__proto__ && + document.createElement('div').__proto__ !== + document.createElement('form').__proto__ + }, + + ScriptFragment: ']*>([\\S\\s]*?)<\/script>', + JSONFilter: /^\/\*-secure-([\s\S]*)\*\/\s*$/, + + emptyFunction: function() { }, + K: function(x) { return x } +}; + +if (Prototype.Browser.MobileSafari) + Prototype.BrowserFeatures.SpecificElementExtensions = false; + + +/* Based on Alex Arnell's inheritance implementation. */ +var Class = { + create: function() { + var parent = null, properties = $A(arguments); + if (Object.isFunction(properties[0])) + parent = properties.shift(); + + function klass() { + this.initialize.apply(this, arguments); + } + + Object.extend(klass, Class.Methods); + klass.superclass = parent; + klass.subclasses = []; + + if (parent) { + var subclass = function() { }; + subclass.prototype = parent.prototype; + klass.prototype = new subclass; + parent.subclasses.push(klass); + } + + for (var i = 0; i < properties.length; i++) + klass.addMethods(properties[i]); + + if (!klass.prototype.initialize) + klass.prototype.initialize = Prototype.emptyFunction; + + klass.prototype.constructor = klass; + + return klass; + } +}; + +Class.Methods = { + addMethods: function(source) { + var ancestor = this.superclass && this.superclass.prototype; + var properties = Object.keys(source); + + if (!Object.keys({ toString: true }).length) + properties.push("toString", "valueOf"); + + for (var i = 0, length = properties.length; i < length; i++) { + var property = properties[i], value = source[property]; + if (ancestor && Object.isFunction(value) && + value.argumentNames().first() == "$super") { + var method = value, value = Object.extend((function(m) { + return function() { return ancestor[m].apply(this, arguments) }; + })(property).wrap(method), { + valueOf: function() { return method }, + toString: function() { return method.toString() } + }); + } + this.prototype[property] = value; + } + + return this; + } +}; + +var Abstract = { }; + +Object.extend = function(destination, source) { + for (var property in source) + destination[property] = source[property]; + return destination; +}; + +Object.extend(Object, { + inspect: function(object) { + try { + if (Object.isUndefined(object)) return 'undefined'; + if (object === null) return 'null'; + return object.inspect ? object.inspect() : object.toString(); + } catch (e) { + if (e instanceof RangeError) return '...'; + throw e; + } + }, + + toJSON: function(object) { + var type = typeof object; + switch (type) { + case 'undefined': + case 'function': + case 'unknown': return; + case 'boolean': return object.toString(); + } + + if (object === null) return 'null'; + if (object.toJSON) return object.toJSON(); + if (Object.isElement(object)) return; + + var results = []; + for (var property in object) { + var value = Object.toJSON(object[property]); + if (!Object.isUndefined(value)) + results.push(property.toJSON() + ': ' + value); + } + + return '{' + results.join(', ') + '}'; + }, + + toQueryString: function(object) { + return $H(object).toQueryString(); + }, + + toHTML: function(object) { + return object && object.toHTML ? object.toHTML() : String.interpret(object); + }, + + keys: function(object) { + var keys = []; + for (var property in object) + keys.push(property); + return keys; + }, + + values: function(object) { + var values = []; + for (var property in object) + values.push(object[property]); + return values; + }, + + clone: function(object) { + return Object.extend({ }, object); + }, + + isElement: function(object) { + return object && object.nodeType == 1; + }, + + isArray: function(object) { + return object && object.constructor === Array; + }, + + isHash: function(object) { + return object instanceof Hash; + }, + + isFunction: function(object) { + return typeof object == "function"; + }, + + isString: function(object) { + return typeof object == "string"; + }, + + isNumber: function(object) { + return typeof object == "number"; + }, + + isUndefined: function(object) { + return typeof object == "undefined"; + } +}); + +Object.extend(Function.prototype, { + argumentNames: function() { + var names = this.toString().match(/^[\s\(]*function[^(]*\((.*?)\)/)[1].split(",").invoke("strip"); + return names.length == 1 && !names[0] ? [] : names; + }, + + bind: function() { + if (arguments.length < 2 && Object.isUndefined(arguments[0])) return this; + var __method = this, args = $A(arguments), object = args.shift(); + return function() { + return __method.apply(object, args.concat($A(arguments))); + } + }, + + bindAsEventListener: function() { + var __method = this, args = $A(arguments), object = args.shift(); + return function(event) { + return __method.apply(object, [event || window.event].concat(args)); + } + }, + + curry: function() { + if (!arguments.length) return this; + var __method = this, args = $A(arguments); + return function() { + return __method.apply(this, args.concat($A(arguments))); + } + }, + + delay: function() { + var __method = this, args = $A(arguments), timeout = args.shift() * 1000; + return window.setTimeout(function() { + return __method.apply(__method, args); + }, timeout); + }, + + wrap: function(wrapper) { + var __method = this; + return function() { + return wrapper.apply(this, [__method.bind(this)].concat($A(arguments))); + } + }, + + methodize: function() { + if (this._methodized) return this._methodized; + var __method = this; + return this._methodized = function() { + return __method.apply(null, [this].concat($A(arguments))); + }; + } +}); + +Function.prototype.defer = Function.prototype.delay.curry(0.01); + +Date.prototype.toJSON = function() { + return '"' + this.getUTCFullYear() + '-' + + (this.getUTCMonth() + 1).toPaddedString(2) + '-' + + this.getUTCDate().toPaddedString(2) + 'T' + + this.getUTCHours().toPaddedString(2) + ':' + + this.getUTCMinutes().toPaddedString(2) + ':' + + this.getUTCSeconds().toPaddedString(2) + 'Z"'; +}; + +var Try = { + these: function() { + var returnValue; + + for (var i = 0, length = arguments.length; i < length; i++) { + var lambda = arguments[i]; + try { + returnValue = lambda(); + break; + } catch (e) { } + } + + return returnValue; + } +}; + +RegExp.prototype.match = RegExp.prototype.test; + +RegExp.escape = function(str) { + return String(str).replace(/([.*+?^=!:${}()|[\]\/\\])/g, '\\$1'); +}; + +/*--------------------------------------------------------------------------*/ + +var PeriodicalExecuter = Class.create({ + initialize: function(callback, frequency) { + this.callback = callback; + this.frequency = frequency; + this.currentlyExecuting = false; + + this.registerCallback(); + }, + + registerCallback: function() { + this.timer = setInterval(this.onTimerEvent.bind(this), this.frequency * 1000); + }, + + execute: function() { + this.callback(this); + }, + + stop: function() { + if (!this.timer) return; + clearInterval(this.timer); + this.timer = null; + }, + + onTimerEvent: function() { + if (!this.currentlyExecuting) { + try { + this.currentlyExecuting = true; + this.execute(); + } finally { + this.currentlyExecuting = false; + } + } + } +}); +Object.extend(String, { + interpret: function(value) { + return value == null ? '' : String(value); + }, + specialChar: { + '\b': '\\b', + '\t': '\\t', + '\n': '\\n', + '\f': '\\f', + '\r': '\\r', + '\\': '\\\\' + } +}); + +Object.extend(String.prototype, { + gsub: function(pattern, replacement) { + var result = '', source = this, match; + replacement = arguments.callee.prepareReplacement(replacement); + + while (source.length > 0) { + if (match = source.match(pattern)) { + result += source.slice(0, match.index); + result += String.interpret(replacement(match)); + source = source.slice(match.index + match[0].length); + } else { + result += source, source = ''; + } + } + return result; + }, + + sub: function(pattern, replacement, count) { + replacement = this.gsub.prepareReplacement(replacement); + count = Object.isUndefined(count) ? 1 : count; + + return this.gsub(pattern, function(match) { + if (--count < 0) return match[0]; + return replacement(match); + }); + }, + + scan: function(pattern, iterator) { + this.gsub(pattern, iterator); + return String(this); + }, + + truncate: function(length, truncation) { + length = length || 30; + truncation = Object.isUndefined(truncation) ? '...' : truncation; + return this.length > length ? + this.slice(0, length - truncation.length) + truncation : String(this); + }, + + strip: function() { + return this.replace(/^\s+/, '').replace(/\s+$/, ''); + }, + + stripTags: function() { + return this.replace(/<\/?[^>]+>/gi, ''); + }, + + stripScripts: function() { + return this.replace(new RegExp(Prototype.ScriptFragment, 'img'), ''); + }, + + extractScripts: function() { + var matchAll = new RegExp(Prototype.ScriptFragment, 'img'); + var matchOne = new RegExp(Prototype.ScriptFragment, 'im'); + return (this.match(matchAll) || []).map(function(scriptTag) { + return (scriptTag.match(matchOne) || ['', ''])[1]; + }); + }, + + evalScripts: function() { + return this.extractScripts().map(function(script) { return eval(script) }); + }, + + escapeHTML: function() { + var self = arguments.callee; + self.text.data = this; + return self.div.innerHTML; + }, + + unescapeHTML: function() { + var div = new Element('div'); + div.innerHTML = this.stripTags(); + return div.childNodes[0] ? (div.childNodes.length > 1 ? + $A(div.childNodes).inject('', function(memo, node) { return memo+node.nodeValue }) : + div.childNodes[0].nodeValue) : ''; + }, + + toQueryParams: function(separator) { + var match = this.strip().match(/([^?#]*)(#.*)?$/); + if (!match) return { }; + + return match[1].split(separator || '&').inject({ }, function(hash, pair) { + if ((pair = pair.split('='))[0]) { + var key = decodeURIComponent(pair.shift()); + var value = pair.length > 1 ? pair.join('=') : pair[0]; + if (value != undefined) value = decodeURIComponent(value); + + if (key in hash) { + if (!Object.isArray(hash[key])) hash[key] = [hash[key]]; + hash[key].push(value); + } + else hash[key] = value; + } + return hash; + }); + }, + + toArray: function() { + return this.split(''); + }, + + succ: function() { + return this.slice(0, this.length - 1) + + String.fromCharCode(this.charCodeAt(this.length - 1) + 1); + }, + + times: function(count) { + return count < 1 ? '' : new Array(count + 1).join(this); + }, + + camelize: function() { + var parts = this.split('-'), len = parts.length; + if (len == 1) return parts[0]; + + var camelized = this.charAt(0) == '-' + ? parts[0].charAt(0).toUpperCase() + parts[0].substring(1) + : parts[0]; + + for (var i = 1; i < len; i++) + camelized += parts[i].charAt(0).toUpperCase() + parts[i].substring(1); + + return camelized; + }, + + capitalize: function() { + return this.charAt(0).toUpperCase() + this.substring(1).toLowerCase(); + }, + + underscore: function() { + return this.gsub(/::/, '/').gsub(/([A-Z]+)([A-Z][a-z])/,'#{1}_#{2}').gsub(/([a-z\d])([A-Z])/,'#{1}_#{2}').gsub(/-/,'_').toLowerCase(); + }, + + dasherize: function() { + return this.gsub(/_/,'-'); + }, + + inspect: function(useDoubleQuotes) { + var escapedString = this.gsub(/[\x00-\x1f\\]/, function(match) { + var character = String.specialChar[match[0]]; + return character ? character : '\\u00' + match[0].charCodeAt().toPaddedString(2, 16); + }); + if (useDoubleQuotes) return '"' + escapedString.replace(/"/g, '\\"') + '"'; + return "'" + escapedString.replace(/'/g, '\\\'') + "'"; + }, + + toJSON: function() { + return this.inspect(true); + }, + + unfilterJSON: function(filter) { + return this.sub(filter || Prototype.JSONFilter, '#{1}'); + }, + + isJSON: function() { + var str = this; + if (str.blank()) return false; + str = this.replace(/\\./g, '@').replace(/"[^"\\\n\r]*"/g, ''); + return (/^[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]*$/).test(str); + }, + + evalJSON: function(sanitize) { + var json = this.unfilterJSON(); + try { + if (!sanitize || json.isJSON()) return eval('(' + json + ')'); + } catch (e) { } + throw new SyntaxError('Badly formed JSON string: ' + this.inspect()); + }, + + include: function(pattern) { + return this.indexOf(pattern) > -1; + }, + + startsWith: function(pattern) { + return this.indexOf(pattern) === 0; + }, + + endsWith: function(pattern) { + var d = this.length - pattern.length; + return d >= 0 && this.lastIndexOf(pattern) === d; + }, + + empty: function() { + return this == ''; + }, + + blank: function() { + return /^\s*$/.test(this); + }, + + interpolate: function(object, pattern) { + return new Template(this, pattern).evaluate(object); + } +}); + +if (Prototype.Browser.WebKit || Prototype.Browser.IE) Object.extend(String.prototype, { + escapeHTML: function() { + return this.replace(/&/g,'&').replace(//g,'>'); + }, + unescapeHTML: function() { + return this.replace(/&/g,'&').replace(/</g,'<').replace(/>/g,'>'); + } +}); + +String.prototype.gsub.prepareReplacement = function(replacement) { + if (Object.isFunction(replacement)) return replacement; + var template = new Template(replacement); + return function(match) { return template.evaluate(match) }; +}; + +String.prototype.parseQuery = String.prototype.toQueryParams; + +Object.extend(String.prototype.escapeHTML, { + div: document.createElement('div'), + text: document.createTextNode('') +}); + +with (String.prototype.escapeHTML) div.appendChild(text); + +var Template = Class.create({ + initialize: function(template, pattern) { + this.template = template.toString(); + this.pattern = pattern || Template.Pattern; + }, + + evaluate: function(object) { + if (Object.isFunction(object.toTemplateReplacements)) + object = object.toTemplateReplacements(); + + return this.template.gsub(this.pattern, function(match) { + if (object == null) return ''; + + var before = match[1] || ''; + if (before == '\\') return match[2]; + + var ctx = object, expr = match[3]; + var pattern = /^([^.[]+|\[((?:.*?[^\\])?)\])(\.|\[|$)/; + match = pattern.exec(expr); + if (match == null) return before; + + while (match != null) { + var comp = match[1].startsWith('[') ? match[2].gsub('\\\\]', ']') : match[1]; + ctx = ctx[comp]; + if (null == ctx || '' == match[3]) break; + expr = expr.substring('[' == match[3] ? match[1].length : match[0].length); + match = pattern.exec(expr); + } + + return before + String.interpret(ctx); + }.bind(this)); + } +}); +Template.Pattern = /(^|.|\r|\n)(#\{(.*?)\})/; + +var $break = { }; + +var Enumerable = { + each: function(iterator, context) { + var index = 0; + iterator = iterator.bind(context); + try { + this._each(function(value) { + iterator(value, index++); + }); + } catch (e) { + if (e != $break) throw e; + } + return this; + }, + + eachSlice: function(number, iterator, context) { + iterator = iterator ? iterator.bind(context) : Prototype.K; + var index = -number, slices = [], array = this.toArray(); + while ((index += number) < array.length) + slices.push(array.slice(index, index+number)); + return slices.collect(iterator, context); + }, + + all: function(iterator, context) { + iterator = iterator ? iterator.bind(context) : Prototype.K; + var result = true; + this.each(function(value, index) { + result = result && !!iterator(value, index); + if (!result) throw $break; + }); + return result; + }, + + any: function(iterator, context) { + iterator = iterator ? iterator.bind(context) : Prototype.K; + var result = false; + this.each(function(value, index) { + if (result = !!iterator(value, index)) + throw $break; + }); + return result; + }, + + collect: function(iterator, context) { + iterator = iterator ? iterator.bind(context) : Prototype.K; + var results = []; + this.each(function(value, index) { + results.push(iterator(value, index)); + }); + return results; + }, + + detect: function(iterator, context) { + iterator = iterator.bind(context); + var result; + this.each(function(value, index) { + if (iterator(value, index)) { + result = value; + throw $break; + } + }); + return result; + }, + + findAll: function(iterator, context) { + iterator = iterator.bind(context); + var results = []; + this.each(function(value, index) { + if (iterator(value, index)) + results.push(value); + }); + return results; + }, + + grep: function(filter, iterator, context) { + iterator = iterator ? iterator.bind(context) : Prototype.K; + var results = []; + + if (Object.isString(filter)) + filter = new RegExp(filter); + + this.each(function(value, index) { + if (filter.match(value)) + results.push(iterator(value, index)); + }); + return results; + }, + + include: function(object) { + if (Object.isFunction(this.indexOf)) + if (this.indexOf(object) != -1) return true; + + var found = false; + this.each(function(value) { + if (value == object) { + found = true; + throw $break; + } + }); + return found; + }, + + inGroupsOf: function(number, fillWith) { + fillWith = Object.isUndefined(fillWith) ? null : fillWith; + return this.eachSlice(number, function(slice) { + while(slice.length < number) slice.push(fillWith); + return slice; + }); + }, + + inject: function(memo, iterator, context) { + iterator = iterator.bind(context); + this.each(function(value, index) { + memo = iterator(memo, value, index); + }); + return memo; + }, + + invoke: function(method) { + var args = $A(arguments).slice(1); + return this.map(function(value) { + return value[method].apply(value, args); + }); + }, + + max: function(iterator, context) { + iterator = iterator ? iterator.bind(context) : Prototype.K; + var result; + this.each(function(value, index) { + value = iterator(value, index); + if (result == null || value >= result) + result = value; + }); + return result; + }, + + min: function(iterator, context) { + iterator = iterator ? iterator.bind(context) : Prototype.K; + var result; + this.each(function(value, index) { + value = iterator(value, index); + if (result == null || value < result) + result = value; + }); + return result; + }, + + partition: function(iterator, context) { + iterator = iterator ? iterator.bind(context) : Prototype.K; + var trues = [], falses = []; + this.each(function(value, index) { + (iterator(value, index) ? + trues : falses).push(value); + }); + return [trues, falses]; + }, + + pluck: function(property) { + var results = []; + this.each(function(value) { + results.push(value[property]); + }); + return results; + }, + + reject: function(iterator, context) { + iterator = iterator.bind(context); + var results = []; + this.each(function(value, index) { + if (!iterator(value, index)) + results.push(value); + }); + return results; + }, + + sortBy: function(iterator, context) { + iterator = iterator.bind(context); + return this.map(function(value, index) { + return {value: value, criteria: iterator(value, index)}; + }).sort(function(left, right) { + var a = left.criteria, b = right.criteria; + return a < b ? -1 : a > b ? 1 : 0; + }).pluck('value'); + }, + + toArray: function() { + return this.map(); + }, + + zip: function() { + var iterator = Prototype.K, args = $A(arguments); + if (Object.isFunction(args.last())) + iterator = args.pop(); + + var collections = [this].concat(args).map($A); + return this.map(function(value, index) { + return iterator(collections.pluck(index)); + }); + }, + + size: function() { + return this.toArray().length; + }, + + inspect: function() { + return '#'; + } +}; + +Object.extend(Enumerable, { + map: Enumerable.collect, + find: Enumerable.detect, + select: Enumerable.findAll, + filter: Enumerable.findAll, + member: Enumerable.include, + entries: Enumerable.toArray, + every: Enumerable.all, + some: Enumerable.any +}); +function $A(iterable) { + if (!iterable) return []; + if (iterable.toArray) return iterable.toArray(); + var length = iterable.length, results = new Array(length); + while (length--) results[length] = iterable[length]; + return results; +} + +if (Prototype.Browser.WebKit) { + function $A(iterable) { + if (!iterable) return []; + if (!(Object.isFunction(iterable) && iterable == '[object NodeList]') && + iterable.toArray) return iterable.toArray(); + var length = iterable.length, results = new Array(length); + while (length--) results[length] = iterable[length]; + return results; + } +} + +Array.from = $A; + +Object.extend(Array.prototype, Enumerable); + +if (!Array.prototype._reverse) Array.prototype._reverse = Array.prototype.reverse; + +Object.extend(Array.prototype, { + _each: function(iterator) { + for (var i = 0, length = this.length; i < length; i++) + iterator(this[i]); + }, + + clear: function() { + this.length = 0; + return this; + }, + + first: function() { + return this[0]; + }, + + last: function() { + return this[this.length - 1]; + }, + + compact: function() { + return this.select(function(value) { + return value != null; + }); + }, + + flatten: function() { + return this.inject([], function(array, value) { + return array.concat(Object.isArray(value) ? + value.flatten() : [value]); + }); + }, + + without: function() { + var values = $A(arguments); + return this.select(function(value) { + return !values.include(value); + }); + }, + + reverse: function(inline) { + return (inline !== false ? this : this.toArray())._reverse(); + }, + + reduce: function() { + return this.length > 1 ? this : this[0]; + }, + + uniq: function(sorted) { + return this.inject([], function(array, value, index) { + if (0 == index || (sorted ? array.last() != value : !array.include(value))) + array.push(value); + return array; + }); + }, + + intersect: function(array) { + return this.uniq().findAll(function(item) { + return array.detect(function(value) { return item === value }); + }); + }, + + clone: function() { + return [].concat(this); + }, + + size: function() { + return this.length; + }, + + inspect: function() { + return '[' + this.map(Object.inspect).join(', ') + ']'; + }, + + toJSON: function() { + var results = []; + this.each(function(object) { + var value = Object.toJSON(object); + if (!Object.isUndefined(value)) results.push(value); + }); + return '[' + results.join(', ') + ']'; + } +}); + +// use native browser JS 1.6 implementation if available +if (Object.isFunction(Array.prototype.forEach)) + Array.prototype._each = Array.prototype.forEach; + +if (!Array.prototype.indexOf) Array.prototype.indexOf = function(item, i) { + i || (i = 0); + var length = this.length; + if (i < 0) i = length + i; + for (; i < length; i++) + if (this[i] === item) return i; + return -1; +}; + +if (!Array.prototype.lastIndexOf) Array.prototype.lastIndexOf = function(item, i) { + i = isNaN(i) ? this.length : (i < 0 ? this.length + i : i) + 1; + var n = this.slice(0, i).reverse().indexOf(item); + return (n < 0) ? n : i - n - 1; +}; + +Array.prototype.toArray = Array.prototype.clone; + +function $w(string) { + if (!Object.isString(string)) return []; + string = string.strip(); + return string ? string.split(/\s+/) : []; +} + +if (Prototype.Browser.Opera){ + Array.prototype.concat = function() { + var array = []; + for (var i = 0, length = this.length; i < length; i++) array.push(this[i]); + for (var i = 0, length = arguments.length; i < length; i++) { + if (Object.isArray(arguments[i])) { + for (var j = 0, arrayLength = arguments[i].length; j < arrayLength; j++) + array.push(arguments[i][j]); + } else { + array.push(arguments[i]); + } + } + return array; + }; +} +Object.extend(Number.prototype, { + toColorPart: function() { + return this.toPaddedString(2, 16); + }, + + succ: function() { + return this + 1; + }, + + times: function(iterator) { + $R(0, this, true).each(iterator); + return this; + }, + + toPaddedString: function(length, radix) { + var string = this.toString(radix || 10); + return '0'.times(length - string.length) + string; + }, + + toJSON: function() { + return isFinite(this) ? this.toString() : 'null'; + } +}); + +$w('abs round ceil floor').each(function(method){ + Number.prototype[method] = Math[method].methodize(); +}); +function $H(object) { + return new Hash(object); +}; + +var Hash = Class.create(Enumerable, (function() { + + function toQueryPair(key, value) { + if (Object.isUndefined(value)) return key; + return key + '=' + encodeURIComponent(String.interpret(value)); + } + + return { + initialize: function(object) { + this._object = Object.isHash(object) ? object.toObject() : Object.clone(object); + }, + + _each: function(iterator) { + for (var key in this._object) { + var value = this._object[key], pair = [key, value]; + pair.key = key; + pair.value = value; + iterator(pair); + } + }, + + set: function(key, value) { + return this._object[key] = value; + }, + + get: function(key) { + return this._object[key]; + }, + + unset: function(key) { + var value = this._object[key]; + delete this._object[key]; + return value; + }, + + toObject: function() { + return Object.clone(this._object); + }, + + keys: function() { + return this.pluck('key'); + }, + + values: function() { + return this.pluck('value'); + }, + + index: function(value) { + var match = this.detect(function(pair) { + return pair.value === value; + }); + return match && match.key; + }, + + merge: function(object) { + return this.clone().update(object); + }, + + update: function(object) { + return new Hash(object).inject(this, function(result, pair) { + result.set(pair.key, pair.value); + return result; + }); + }, + + toQueryString: function() { + return this.map(function(pair) { + var key = encodeURIComponent(pair.key), values = pair.value; + + if (values && typeof values == 'object') { + if (Object.isArray(values)) + return values.map(toQueryPair.curry(key)).join('&'); + } + return toQueryPair(key, values); + }).join('&'); + }, + + inspect: function() { + return '#'; + }, + + toJSON: function() { + return Object.toJSON(this.toObject()); + }, + + clone: function() { + return new Hash(this); + } + } +})()); + +Hash.prototype.toTemplateReplacements = Hash.prototype.toObject; +Hash.from = $H; +var ObjectRange = Class.create(Enumerable, { + initialize: function(start, end, exclusive) { + this.start = start; + this.end = end; + this.exclusive = exclusive; + }, + + _each: function(iterator) { + var value = this.start; + while (this.include(value)) { + iterator(value); + value = value.succ(); + } + }, + + include: function(value) { + if (value < this.start) + return false; + if (this.exclusive) + return value < this.end; + return value <= this.end; + } +}); + +var $R = function(start, end, exclusive) { + return new ObjectRange(start, end, exclusive); +}; + +var Ajax = { + getTransport: function() { + return Try.these( + function() {return new XMLHttpRequest()}, + function() {return new ActiveXObject('Msxml2.XMLHTTP')}, + function() {return new ActiveXObject('Microsoft.XMLHTTP')} + ) || false; + }, + + activeRequestCount: 0 +}; + +Ajax.Responders = { + responders: [], + + _each: function(iterator) { + this.responders._each(iterator); + }, + + register: function(responder) { + if (!this.include(responder)) + this.responders.push(responder); + }, + + unregister: function(responder) { + this.responders = this.responders.without(responder); + }, + + dispatch: function(callback, request, transport, json) { + this.each(function(responder) { + if (Object.isFunction(responder[callback])) { + try { + responder[callback].apply(responder, [request, transport, json]); + } catch (e) { } + } + }); + } +}; + +Object.extend(Ajax.Responders, Enumerable); + +Ajax.Responders.register({ + onCreate: function() { Ajax.activeRequestCount++ }, + onComplete: function() { Ajax.activeRequestCount-- } +}); + +Ajax.Base = Class.create({ + initialize: function(options) { + this.options = { + method: 'post', + asynchronous: true, + contentType: 'application/x-www-form-urlencoded', + encoding: 'UTF-8', + parameters: '', + evalJSON: true, + evalJS: true + }; + Object.extend(this.options, options || { }); + + this.options.method = this.options.method.toLowerCase(); + + if (Object.isString(this.options.parameters)) + this.options.parameters = this.options.parameters.toQueryParams(); + else if (Object.isHash(this.options.parameters)) + this.options.parameters = this.options.parameters.toObject(); + } +}); + +Ajax.Request = Class.create(Ajax.Base, { + _complete: false, + + initialize: function($super, url, options) { + $super(options); + this.transport = Ajax.getTransport(); + this.request(url); + }, + + request: function(url) { + this.url = url; + this.method = this.options.method; + var params = Object.clone(this.options.parameters); + + if (!['get', 'post'].include(this.method)) { + // simulate other verbs over post + params['_method'] = this.method; + this.method = 'post'; + } + + this.parameters = params; + + if (params = Object.toQueryString(params)) { + // when GET, append parameters to URL + if (this.method == 'get') + this.url += (this.url.include('?') ? '&' : '?') + params; + else if (/Konqueror|Safari|KHTML/.test(navigator.userAgent)) + params += '&_='; + } + + try { + var response = new Ajax.Response(this); + if (this.options.onCreate) this.options.onCreate(response); + Ajax.Responders.dispatch('onCreate', this, response); + + this.transport.open(this.method.toUpperCase(), this.url, + this.options.asynchronous); + + if (this.options.asynchronous) this.respondToReadyState.bind(this).defer(1); + + this.transport.onreadystatechange = this.onStateChange.bind(this); + this.setRequestHeaders(); + + this.body = this.method == 'post' ? (this.options.postBody || params) : null; + this.transport.send(this.body); + + /* Force Firefox to handle ready state 4 for synchronous requests */ + if (!this.options.asynchronous && this.transport.overrideMimeType) + this.onStateChange(); + + } + catch (e) { + this.dispatchException(e); + } + }, + + onStateChange: function() { + var readyState = this.transport.readyState; + if (readyState > 1 && !((readyState == 4) && this._complete)) + this.respondToReadyState(this.transport.readyState); + }, + + setRequestHeaders: function() { + var headers = { + 'X-Requested-With': 'XMLHttpRequest', + 'X-Prototype-Version': Prototype.Version, + 'Accept': 'text/javascript, text/html, application/xml, text/xml, */*' + }; + + if (this.method == 'post') { + headers['Content-type'] = this.options.contentType + + (this.options.encoding ? '; charset=' + this.options.encoding : ''); + + /* Force "Connection: close" for older Mozilla browsers to work + * around a bug where XMLHttpRequest sends an incorrect + * Content-length header. See Mozilla Bugzilla #246651. + */ + if (this.transport.overrideMimeType && + (navigator.userAgent.match(/Gecko\/(\d{4})/) || [0,2005])[1] < 2005) + headers['Connection'] = 'close'; + } + + // user-defined headers + if (typeof this.options.requestHeaders == 'object') { + var extras = this.options.requestHeaders; + + if (Object.isFunction(extras.push)) + for (var i = 0, length = extras.length; i < length; i += 2) + headers[extras[i]] = extras[i+1]; + else + $H(extras).each(function(pair) { headers[pair.key] = pair.value }); + } + + for (var name in headers) + this.transport.setRequestHeader(name, headers[name]); + }, + + success: function() { + var status = this.getStatus(); + return !status || (status >= 200 && status < 300); + }, + + getStatus: function() { + try { + return this.transport.status || 0; + } catch (e) { return 0 } + }, + + respondToReadyState: function(readyState) { + var state = Ajax.Request.Events[readyState], response = new Ajax.Response(this); + + if (state == 'Complete') { + try { + this._complete = true; + (this.options['on' + response.status] + || this.options['on' + (this.success() ? 'Success' : 'Failure')] + || Prototype.emptyFunction)(response, response.headerJSON); + } catch (e) { + this.dispatchException(e); + } + + var contentType = response.getHeader('Content-type'); + if (this.options.evalJS == 'force' + || (this.options.evalJS && contentType + && contentType.match(/^\s*(text|application)\/(x-)?(java|ecma)script(;.*)?\s*$/i))) + this.evalResponse(); + } + + try { + (this.options['on' + state] || Prototype.emptyFunction)(response, response.headerJSON); + Ajax.Responders.dispatch('on' + state, this, response, response.headerJSON); + } catch (e) { + this.dispatchException(e); + } + + if (state == 'Complete') { + // avoid memory leak in MSIE: clean up + this.transport.onreadystatechange = Prototype.emptyFunction; + } + }, + + getHeader: function(name) { + try { + return this.transport.getResponseHeader(name); + } catch (e) { return null } + }, + + evalResponse: function() { + try { + return eval((this.transport.responseText || '').unfilterJSON()); + } catch (e) { + this.dispatchException(e); + } + }, + + dispatchException: function(exception) { + (this.options.onException || Prototype.emptyFunction)(this, exception); + Ajax.Responders.dispatch('onException', this, exception); + } +}); + +Ajax.Request.Events = + ['Uninitialized', 'Loading', 'Loaded', 'Interactive', 'Complete']; + +Ajax.Response = Class.create({ + initialize: function(request){ + this.request = request; + var transport = this.transport = request.transport, + readyState = this.readyState = transport.readyState; + + if((readyState > 2 && !Prototype.Browser.IE) || readyState == 4) { + this.status = this.getStatus(); + this.statusText = this.getStatusText(); + this.responseText = String.interpret(transport.responseText); + this.headerJSON = this._getHeaderJSON(); + } + + if(readyState == 4) { + var xml = transport.responseXML; + this.responseXML = Object.isUndefined(xml) ? null : xml; + this.responseJSON = this._getResponseJSON(); + } + }, + + status: 0, + statusText: '', + + getStatus: Ajax.Request.prototype.getStatus, + + getStatusText: function() { + try { + return this.transport.statusText || ''; + } catch (e) { return '' } + }, + + getHeader: Ajax.Request.prototype.getHeader, + + getAllHeaders: function() { + try { + return this.getAllResponseHeaders(); + } catch (e) { return null } + }, + + getResponseHeader: function(name) { + return this.transport.getResponseHeader(name); + }, + + getAllResponseHeaders: function() { + return this.transport.getAllResponseHeaders(); + }, + + _getHeaderJSON: function() { + var json = this.getHeader('X-JSON'); + if (!json) return null; + json = decodeURIComponent(escape(json)); + try { + return json.evalJSON(this.request.options.sanitizeJSON); + } catch (e) { + this.request.dispatchException(e); + } + }, + + _getResponseJSON: function() { + var options = this.request.options; + if (!options.evalJSON || (options.evalJSON != 'force' && + !(this.getHeader('Content-type') || '').include('application/json')) || + this.responseText.blank()) + return null; + try { + return this.responseText.evalJSON(options.sanitizeJSON); + } catch (e) { + this.request.dispatchException(e); + } + } +}); + +Ajax.Updater = Class.create(Ajax.Request, { + initialize: function($super, container, url, options) { + this.container = { + success: (container.success || container), + failure: (container.failure || (container.success ? null : container)) + }; + + options = Object.clone(options); + var onComplete = options.onComplete; + options.onComplete = (function(response, json) { + this.updateContent(response.responseText); + if (Object.isFunction(onComplete)) onComplete(response, json); + }).bind(this); + + $super(url, options); + }, + + updateContent: function(responseText) { + var receiver = this.container[this.success() ? 'success' : 'failure'], + options = this.options; + + if (!options.evalScripts) responseText = responseText.stripScripts(); + + if (receiver = $(receiver)) { + if (options.insertion) { + if (Object.isString(options.insertion)) { + var insertion = { }; insertion[options.insertion] = responseText; + receiver.insert(insertion); + } + else options.insertion(receiver, responseText); + } + else receiver.update(responseText); + } + } +}); + +Ajax.PeriodicalUpdater = Class.create(Ajax.Base, { + initialize: function($super, container, url, options) { + $super(options); + this.onComplete = this.options.onComplete; + + this.frequency = (this.options.frequency || 2); + this.decay = (this.options.decay || 1); + + this.updater = { }; + this.container = container; + this.url = url; + + this.start(); + }, + + start: function() { + this.options.onComplete = this.updateComplete.bind(this); + this.onTimerEvent(); + }, + + stop: function() { + this.updater.options.onComplete = undefined; + clearTimeout(this.timer); + (this.onComplete || Prototype.emptyFunction).apply(this, arguments); + }, + + updateComplete: function(response) { + if (this.options.decay) { + this.decay = (response.responseText == this.lastText ? + this.decay * this.options.decay : 1); + + this.lastText = response.responseText; + } + this.timer = this.onTimerEvent.bind(this).delay(this.decay * this.frequency); + }, + + onTimerEvent: function() { + this.updater = new Ajax.Updater(this.container, this.url, this.options); + } +}); +function $(element) { + if (arguments.length > 1) { + for (var i = 0, elements = [], length = arguments.length; i < length; i++) + elements.push($(arguments[i])); + return elements; + } + if (Object.isString(element)) + element = document.getElementById(element); + return Element.extend(element); +} + +if (Prototype.BrowserFeatures.XPath) { + document._getElementsByXPath = function(expression, parentElement) { + var results = []; + var query = document.evaluate(expression, $(parentElement) || document, + null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null); + for (var i = 0, length = query.snapshotLength; i < length; i++) + results.push(Element.extend(query.snapshotItem(i))); + return results; + }; +} + +/*--------------------------------------------------------------------------*/ + +if (!window.Node) var Node = { }; + +if (!Node.ELEMENT_NODE) { + // DOM level 2 ECMAScript Language Binding + Object.extend(Node, { + ELEMENT_NODE: 1, + ATTRIBUTE_NODE: 2, + TEXT_NODE: 3, + CDATA_SECTION_NODE: 4, + ENTITY_REFERENCE_NODE: 5, + ENTITY_NODE: 6, + PROCESSING_INSTRUCTION_NODE: 7, + COMMENT_NODE: 8, + DOCUMENT_NODE: 9, + DOCUMENT_TYPE_NODE: 10, + DOCUMENT_FRAGMENT_NODE: 11, + NOTATION_NODE: 12 + }); +} + +(function() { + var element = this.Element; + this.Element = function(tagName, attributes) { + attributes = attributes || { }; + tagName = tagName.toLowerCase(); + var cache = Element.cache; + if (Prototype.Browser.IE && attributes.name) { + tagName = '<' + tagName + ' name="' + attributes.name + '">'; + delete attributes.name; + return Element.writeAttribute(document.createElement(tagName), attributes); + } + if (!cache[tagName]) cache[tagName] = Element.extend(document.createElement(tagName)); + return Element.writeAttribute(cache[tagName].cloneNode(false), attributes); + }; + Object.extend(this.Element, element || { }); +}).call(window); + +Element.cache = { }; + +Element.Methods = { + visible: function(element) { + return $(element).style.display != 'none'; + }, + + toggle: function(element) { + element = $(element); + Element[Element.visible(element) ? 'hide' : 'show'](element); + return element; + }, + + hide: function(element) { + $(element).style.display = 'none'; + return element; + }, + + show: function(element) { + $(element).style.display = ''; + return element; + }, + + remove: function(element) { + element = $(element); + element.parentNode.removeChild(element); + return element; + }, + + update: function(element, content) { + element = $(element); + if (content && content.toElement) content = content.toElement(); + if (Object.isElement(content)) return element.update().insert(content); + content = Object.toHTML(content); + element.innerHTML = content.stripScripts(); + content.evalScripts.bind(content).defer(); + return element; + }, + + replace: function(element, content) { + element = $(element); + if (content && content.toElement) content = content.toElement(); + else if (!Object.isElement(content)) { + content = Object.toHTML(content); + var range = element.ownerDocument.createRange(); + range.selectNode(element); + content.evalScripts.bind(content).defer(); + content = range.createContextualFragment(content.stripScripts()); + } + element.parentNode.replaceChild(content, element); + return element; + }, + + insert: function(element, insertions) { + element = $(element); + + if (Object.isString(insertions) || Object.isNumber(insertions) || + Object.isElement(insertions) || (insertions && (insertions.toElement || insertions.toHTML))) + insertions = {bottom:insertions}; + + var content, t, range; + + for (position in insertions) { + content = insertions[position]; + position = position.toLowerCase(); + t = Element._insertionTranslations[position]; + + if (content && content.toElement) content = content.toElement(); + if (Object.isElement(content)) { + t.insert(element, content); + continue; + } + + content = Object.toHTML(content); + + range = element.ownerDocument.createRange(); + t.initializeRange(element, range); + t.insert(element, range.createContextualFragment(content.stripScripts())); + + content.evalScripts.bind(content).defer(); + } + + return element; + }, + + wrap: function(element, wrapper, attributes) { + element = $(element); + if (Object.isElement(wrapper)) + $(wrapper).writeAttribute(attributes || { }); + else if (Object.isString(wrapper)) wrapper = new Element(wrapper, attributes); + else wrapper = new Element('div', wrapper); + if (element.parentNode) + element.parentNode.replaceChild(wrapper, element); + wrapper.appendChild(element); + return wrapper; + }, + + inspect: function(element) { + element = $(element); + var result = '<' + element.tagName.toLowerCase(); + $H({'id': 'id', 'className': 'class'}).each(function(pair) { + var property = pair.first(), attribute = pair.last(); + var value = (element[property] || '').toString(); + if (value) result += ' ' + attribute + '=' + value.inspect(true); + }); + return result + '>'; + }, + + recursivelyCollect: function(element, property) { + element = $(element); + var elements = []; + while (element = element[property]) + if (element.nodeType == 1) + elements.push(Element.extend(element)); + return elements; + }, + + ancestors: function(element) { + return $(element).recursivelyCollect('parentNode'); + }, + + descendants: function(element) { + return $(element).getElementsBySelector("*"); + }, + + firstDescendant: function(element) { + element = $(element).firstChild; + while (element && element.nodeType != 1) element = element.nextSibling; + return $(element); + }, + + immediateDescendants: function(element) { + if (!(element = $(element).firstChild)) return []; + while (element && element.nodeType != 1) element = element.nextSibling; + if (element) return [element].concat($(element).nextSiblings()); + return []; + }, + + previousSiblings: function(element) { + return $(element).recursivelyCollect('previousSibling'); + }, + + nextSiblings: function(element) { + return $(element).recursivelyCollect('nextSibling'); + }, + + siblings: function(element) { + element = $(element); + return element.previousSiblings().reverse().concat(element.nextSiblings()); + }, + + match: function(element, selector) { + if (Object.isString(selector)) + selector = new Selector(selector); + return selector.match($(element)); + }, + + up: function(element, expression, index) { + element = $(element); + if (arguments.length == 1) return $(element.parentNode); + var ancestors = element.ancestors(); + return expression ? Selector.findElement(ancestors, expression, index) : + ancestors[index || 0]; + }, + + down: function(element, expression, index) { + element = $(element); + if (arguments.length == 1) return element.firstDescendant(); + var descendants = element.descendants(); + return expression ? Selector.findElement(descendants, expression, index) : + descendants[index || 0]; + }, + + previous: function(element, expression, index) { + element = $(element); + if (arguments.length == 1) return $(Selector.handlers.previousElementSibling(element)); + var previousSiblings = element.previousSiblings(); + return expression ? Selector.findElement(previousSiblings, expression, index) : + previousSiblings[index || 0]; + }, + + next: function(element, expression, index) { + element = $(element); + if (arguments.length == 1) return $(Selector.handlers.nextElementSibling(element)); + var nextSiblings = element.nextSiblings(); + return expression ? Selector.findElement(nextSiblings, expression, index) : + nextSiblings[index || 0]; + }, + + select: function() { + var args = $A(arguments), element = $(args.shift()); + return Selector.findChildElements(element, args); + }, + + adjacent: function() { + var args = $A(arguments), element = $(args.shift()); + return Selector.findChildElements(element.parentNode, args).without(element); + }, + + identify: function(element) { + element = $(element); + var id = element.readAttribute('id'), self = arguments.callee; + if (id) return id; + do { id = 'anonymous_element_' + self.counter++ } while ($(id)); + element.writeAttribute('id', id); + return id; + }, + + readAttribute: function(element, name) { + element = $(element); + if (Prototype.Browser.IE) { + var t = Element._attributeTranslations.read; + if (t.values[name]) return t.values[name](element, name); + if (t.names[name]) name = t.names[name]; + if (name.include(':')) { + return (!element.attributes || !element.attributes[name]) ? null : + element.attributes[name].value; + } + } + return element.getAttribute(name); + }, + + writeAttribute: function(element, name, value) { + element = $(element); + var attributes = { }, t = Element._attributeTranslations.write; + + if (typeof name == 'object') attributes = name; + else attributes[name] = Object.isUndefined(value) ? true : value; + + for (var attr in attributes) { + name = t.names[attr] || attr; + value = attributes[attr]; + if (t.values[attr]) name = t.values[attr](element, value); + if (value === false || value === null) + element.removeAttribute(name); + else if (value === true) + element.setAttribute(name, name); + else element.setAttribute(name, value); + } + return element; + }, + + getHeight: function(element) { + return $(element).getDimensions().height; + }, + + getWidth: function(element) { + return $(element).getDimensions().width; + }, + + classNames: function(element) { + return new Element.ClassNames(element); + }, + + hasClassName: function(element, className) { + if (!(element = $(element))) return; + var elementClassName = element.className; + return (elementClassName.length > 0 && (elementClassName == className || + new RegExp("(^|\\s)" + className + "(\\s|$)").test(elementClassName))); + }, + + addClassName: function(element, className) { + if (!(element = $(element))) return; + if (!element.hasClassName(className)) + element.className += (element.className ? ' ' : '') + className; + return element; + }, + + removeClassName: function(element, className) { + if (!(element = $(element))) return; + element.className = element.className.replace( + new RegExp("(^|\\s+)" + className + "(\\s+|$)"), ' ').strip(); + return element; + }, + + toggleClassName: function(element, className) { + if (!(element = $(element))) return; + return element[element.hasClassName(className) ? + 'removeClassName' : 'addClassName'](className); + }, + + // removes whitespace-only text node children + cleanWhitespace: function(element) { + element = $(element); + var node = element.firstChild; + while (node) { + var nextNode = node.nextSibling; + if (node.nodeType == 3 && !/\S/.test(node.nodeValue)) + element.removeChild(node); + node = nextNode; + } + return element; + }, + + empty: function(element) { + return $(element).innerHTML.blank(); + }, + + descendantOf: function(element, ancestor) { + element = $(element), ancestor = $(ancestor); + var originalAncestor = ancestor; + + if (element.compareDocumentPosition) + return (element.compareDocumentPosition(ancestor) & 8) === 8; + + if (element.sourceIndex && !Prototype.Browser.Opera) { + var e = element.sourceIndex, a = ancestor.sourceIndex, + nextAncestor = ancestor.nextSibling; + if (!nextAncestor) { + do { ancestor = ancestor.parentNode; } + while (!(nextAncestor = ancestor.nextSibling) && ancestor.parentNode); + } + if (nextAncestor) return (e > a && e < nextAncestor.sourceIndex); + } + + while (element = element.parentNode) + if (element == originalAncestor) return true; + return false; + }, + + scrollTo: function(element) { + element = $(element); + var pos = element.cumulativeOffset(); + window.scrollTo(pos[0], pos[1]); + return element; + }, + + getStyle: function(element, style) { + element = $(element); + style = style == 'float' ? 'cssFloat' : style.camelize(); + var value = element.style[style]; + if (!value) { + var css = document.defaultView.getComputedStyle(element, null); + value = css ? css[style] : null; + } + if (style == 'opacity') return value ? parseFloat(value) : 1.0; + return value == 'auto' ? null : value; + }, + + getOpacity: function(element) { + return $(element).getStyle('opacity'); + }, + + setStyle: function(element, styles) { + element = $(element); + var elementStyle = element.style, match; + if (Object.isString(styles)) { + element.style.cssText += ';' + styles; + return styles.include('opacity') ? + element.setOpacity(styles.match(/opacity:\s*(\d?\.?\d*)/)[1]) : element; + } + for (var property in styles) + if (property == 'opacity') element.setOpacity(styles[property]); + else + elementStyle[(property == 'float' || property == 'cssFloat') ? + (Object.isUndefined(elementStyle.styleFloat) ? 'cssFloat' : 'styleFloat') : + property] = styles[property]; + + return element; + }, + + setOpacity: function(element, value) { + element = $(element); + element.style.opacity = (value == 1 || value === '') ? '' : + (value < 0.00001) ? 0 : value; + return element; + }, + + getDimensions: function(element) { + element = $(element); + var display = $(element).getStyle('display'); + if (display != 'none' && display != null) // Safari bug + return {width: element.offsetWidth, height: element.offsetHeight}; + + // All *Width and *Height properties give 0 on elements with display none, + // so enable the element temporarily + var els = element.style; + var originalVisibility = els.visibility; + var originalPosition = els.position; + var originalDisplay = els.display; + els.visibility = 'hidden'; + els.position = 'absolute'; + els.display = 'block'; + var originalWidth = element.clientWidth; + var originalHeight = element.clientHeight; + els.display = originalDisplay; + els.position = originalPosition; + els.visibility = originalVisibility; + return {width: originalWidth, height: originalHeight}; + }, + + makePositioned: function(element) { + element = $(element); + var pos = Element.getStyle(element, 'position'); + if (pos == 'static' || !pos) { + element._madePositioned = true; + element.style.position = 'relative'; + // Opera returns the offset relative to the positioning context, when an + // element is position relative but top and left have not been defined + if (window.opera) { + element.style.top = 0; + element.style.left = 0; + } + } + return element; + }, + + undoPositioned: function(element) { + element = $(element); + if (element._madePositioned) { + element._madePositioned = undefined; + element.style.position = + element.style.top = + element.style.left = + element.style.bottom = + element.style.right = ''; + } + return element; + }, + + makeClipping: function(element) { + element = $(element); + if (element._overflow) return element; + element._overflow = Element.getStyle(element, 'overflow') || 'auto'; + if (element._overflow !== 'hidden') + element.style.overflow = 'hidden'; + return element; + }, + + undoClipping: function(element) { + element = $(element); + if (!element._overflow) return element; + element.style.overflow = element._overflow == 'auto' ? '' : element._overflow; + element._overflow = null; + return element; + }, + + cumulativeOffset: function(element) { + var valueT = 0, valueL = 0; + do { + valueT += element.offsetTop || 0; + valueL += element.offsetLeft || 0; + element = element.offsetParent; + } while (element); + return Element._returnOffset(valueL, valueT); + }, + + positionedOffset: function(element) { + var valueT = 0, valueL = 0; + do { + valueT += element.offsetTop || 0; + valueL += element.offsetLeft || 0; + element = element.offsetParent; + if (element) { + if (element.tagName == 'BODY') break; + var p = Element.getStyle(element, 'position'); + if (p == 'relative' || p == 'absolute') break; + } + } while (element); + return Element._returnOffset(valueL, valueT); + }, + + absolutize: function(element) { + element = $(element); + if (element.getStyle('position') == 'absolute') return; + // Position.prepare(); // To be done manually by Scripty when it needs it. + + var offsets = element.positionedOffset(); + var top = offsets[1]; + var left = offsets[0]; + var width = element.clientWidth; + var height = element.clientHeight; + + element._originalLeft = left - parseFloat(element.style.left || 0); + element._originalTop = top - parseFloat(element.style.top || 0); + element._originalWidth = element.style.width; + element._originalHeight = element.style.height; + + element.style.position = 'absolute'; + element.style.top = top + 'px'; + element.style.left = left + 'px'; + element.style.width = width + 'px'; + element.style.height = height + 'px'; + return element; + }, + + relativize: function(element) { + element = $(element); + if (element.getStyle('position') == 'relative') return; + // Position.prepare(); // To be done manually by Scripty when it needs it. + + element.style.position = 'relative'; + var top = parseFloat(element.style.top || 0) - (element._originalTop || 0); + var left = parseFloat(element.style.left || 0) - (element._originalLeft || 0); + + element.style.top = top + 'px'; + element.style.left = left + 'px'; + element.style.height = element._originalHeight; + element.style.width = element._originalWidth; + return element; + }, + + cumulativeScrollOffset: function(element) { + var valueT = 0, valueL = 0; + do { + valueT += element.scrollTop || 0; + valueL += element.scrollLeft || 0; + element = element.parentNode; + } while (element); + return Element._returnOffset(valueL, valueT); + }, + + getOffsetParent: function(element) { + if (element.offsetParent) return $(element.offsetParent); + if (element == document.body) return $(element); + + while ((element = element.parentNode) && element != document.body) + if (Element.getStyle(element, 'position') != 'static') + return $(element); + + return $(document.body); + }, + + viewportOffset: function(forElement) { + var valueT = 0, valueL = 0; + + var element = forElement; + do { + valueT += element.offsetTop || 0; + valueL += element.offsetLeft || 0; + + // Safari fix + if (element.offsetParent == document.body && + Element.getStyle(element, 'position') == 'absolute') break; + + } while (element = element.offsetParent); + + element = forElement; + do { + if (!Prototype.Browser.Opera || element.tagName == 'BODY') { + valueT -= element.scrollTop || 0; + valueL -= element.scrollLeft || 0; + } + } while (element = element.parentNode); + + return Element._returnOffset(valueL, valueT); + }, + + clonePosition: function(element, source) { + var options = Object.extend({ + setLeft: true, + setTop: true, + setWidth: true, + setHeight: true, + offsetTop: 0, + offsetLeft: 0 + }, arguments[2] || { }); + + // find page position of source + source = $(source); + var p = source.viewportOffset(); + + // find coordinate system to use + element = $(element); + var delta = [0, 0]; + var parent = null; + // delta [0,0] will do fine with position: fixed elements, + // position:absolute needs offsetParent deltas + if (Element.getStyle(element, 'position') == 'absolute') { + parent = element.getOffsetParent(); + delta = parent.viewportOffset(); + } + + // correct by body offsets (fixes Safari) + if (parent == document.body) { + delta[0] -= document.body.offsetLeft; + delta[1] -= document.body.offsetTop; + } + + // set position + if (options.setLeft) element.style.left = (p[0] - delta[0] + options.offsetLeft) + 'px'; + if (options.setTop) element.style.top = (p[1] - delta[1] + options.offsetTop) + 'px'; + if (options.setWidth) element.style.width = source.offsetWidth + 'px'; + if (options.setHeight) element.style.height = source.offsetHeight + 'px'; + return element; + } +}; + +Element.Methods.identify.counter = 1; + +Object.extend(Element.Methods, { + getElementsBySelector: Element.Methods.select, + childElements: Element.Methods.immediateDescendants +}); + +Element._attributeTranslations = { + write: { + names: { + className: 'class', + htmlFor: 'for' + }, + values: { } + } +}; + + +if (!document.createRange || Prototype.Browser.Opera) { + Element.Methods.insert = function(element, insertions) { + element = $(element); + + if (Object.isString(insertions) || Object.isNumber(insertions) || + Object.isElement(insertions) || (insertions && (insertions.toElement || insertions.toHTML))) + insertions = { bottom: insertions }; + + var t = Element._insertionTranslations, content, position, pos, tagName; + + for (position in insertions) { + content = insertions[position]; + position = position.toLowerCase(); + pos = t[position]; + + if (content && content.toElement) content = content.toElement(); + if (Object.isElement(content)) { + pos.insert(element, content); + continue; + } + + content = Object.toHTML(content); + tagName = ((position == 'before' || position == 'after') + ? element.parentNode : element).tagName.toUpperCase(); + + if (t.tags[tagName]) { + var fragments = Element._getContentFromAnonymousElement(tagName, content.stripScripts()); + if (position == 'top' || position == 'after') fragments.reverse(); + fragments.each(pos.insert.curry(element)); + } + else element.insertAdjacentHTML(pos.adjacency, content.stripScripts()); + + content.evalScripts.bind(content).defer(); + } + + return element; + }; +} + +if (Prototype.Browser.Opera) { + Element.Methods.getStyle = Element.Methods.getStyle.wrap( + function(proceed, element, style) { + switch (style) { + case 'left': case 'top': case 'right': case 'bottom': + if (proceed(element, 'position') === 'static') return null; + case 'height': case 'width': + // returns '0px' for hidden elements; we want it to return null + if (!Element.visible(element)) return null; + + // returns the border-box dimensions rather than the content-box + // dimensions, so we subtract padding and borders from the value + var dim = parseInt(proceed(element, style), 10); + + if (dim !== element['offset' + style.capitalize()]) + return dim + 'px'; + + var properties; + if (style === 'height') { + properties = ['border-top-width', 'padding-top', + 'padding-bottom', 'border-bottom-width']; + } + else { + properties = ['border-left-width', 'padding-left', + 'padding-right', 'border-right-width']; + } + return properties.inject(dim, function(memo, property) { + var val = proceed(element, property); + return val === null ? memo : memo - parseInt(val, 10); + }) + 'px'; + default: return proceed(element, style); + } + } + ); + + Element.Methods.readAttribute = Element.Methods.readAttribute.wrap( + function(proceed, element, attribute) { + if (attribute === 'title') return element.title; + return proceed(element, attribute); + } + ); +} + +else if (Prototype.Browser.IE) { + $w('positionedOffset getOffsetParent viewportOffset').each(function(method) { + Element.Methods[method] = Element.Methods[method].wrap( + function(proceed, element) { + element = $(element); + var position = element.getStyle('position'); + if (position != 'static') return proceed(element); + element.setStyle({ position: 'relative' }); + var value = proceed(element); + element.setStyle({ position: position }); + return value; + } + ); + }); + + Element.Methods.getStyle = function(element, style) { + element = $(element); + style = (style == 'float' || style == 'cssFloat') ? 'styleFloat' : style.camelize(); + var value = element.style[style]; + if (!value && element.currentStyle) value = element.currentStyle[style]; + + if (style == 'opacity') { + if (value = (element.getStyle('filter') || '').match(/alpha\(opacity=(.*)\)/)) + if (value[1]) return parseFloat(value[1]) / 100; + return 1.0; + } + + if (value == 'auto') { + if ((style == 'width' || style == 'height') && (element.getStyle('display') != 'none')) + return element['offset' + style.capitalize()] + 'px'; + return null; + } + return value; + }; + + Element.Methods.setOpacity = function(element, value) { + function stripAlpha(filter){ + return filter.replace(/alpha\([^\)]*\)/gi,''); + } + element = $(element); + var currentStyle = element.currentStyle; + if ((currentStyle && !currentStyle.hasLayout) || + (!currentStyle && element.style.zoom == 'normal')) + element.style.zoom = 1; + + var filter = element.getStyle('filter'), style = element.style; + if (value == 1 || value === '') { + (filter = stripAlpha(filter)) ? + style.filter = filter : style.removeAttribute('filter'); + return element; + } else if (value < 0.00001) value = 0; + style.filter = stripAlpha(filter) + + 'alpha(opacity=' + (value * 100) + ')'; + return element; + }; + + Element._attributeTranslations = { + read: { + names: { + 'class': 'className', + 'for': 'htmlFor' + }, + values: { + _getAttr: function(element, attribute) { + return element.getAttribute(attribute, 2); + }, + _getAttrNode: function(element, attribute) { + var node = element.getAttributeNode(attribute); + return node ? node.value : ""; + }, + _getEv: function(element, attribute) { + attribute = element.getAttribute(attribute); + return attribute ? attribute.toString().slice(23, -2) : null; + }, + _flag: function(element, attribute) { + return $(element).hasAttribute(attribute) ? attribute : null; + }, + style: function(element) { + return element.style.cssText.toLowerCase(); + }, + title: function(element) { + return element.title; + } + } + } + }; + + Element._attributeTranslations.write = { + names: Object.clone(Element._attributeTranslations.read.names), + values: { + checked: function(element, value) { + element.checked = !!value; + }, + + style: function(element, value) { + element.style.cssText = value ? value : ''; + } + } + }; + + Element._attributeTranslations.has = {}; + + $w('colSpan rowSpan vAlign dateTime accessKey tabIndex ' + + 'encType maxLength readOnly longDesc').each(function(attr) { + Element._attributeTranslations.write.names[attr.toLowerCase()] = attr; + Element._attributeTranslations.has[attr.toLowerCase()] = attr; + }); + + (function(v) { + Object.extend(v, { + href: v._getAttr, + src: v._getAttr, + type: v._getAttr, + action: v._getAttrNode, + disabled: v._flag, + checked: v._flag, + readonly: v._flag, + multiple: v._flag, + onload: v._getEv, + onunload: v._getEv, + onclick: v._getEv, + ondblclick: v._getEv, + onmousedown: v._getEv, + onmouseup: v._getEv, + onmouseover: v._getEv, + onmousemove: v._getEv, + onmouseout: v._getEv, + onfocus: v._getEv, + onblur: v._getEv, + onkeypress: v._getEv, + onkeydown: v._getEv, + onkeyup: v._getEv, + onsubmit: v._getEv, + onreset: v._getEv, + onselect: v._getEv, + onchange: v._getEv + }); + })(Element._attributeTranslations.read.values); +} + +else if (Prototype.Browser.Gecko && /rv:1\.8\.0/.test(navigator.userAgent)) { + Element.Methods.setOpacity = function(element, value) { + element = $(element); + element.style.opacity = (value == 1) ? 0.999999 : + (value === '') ? '' : (value < 0.00001) ? 0 : value; + return element; + }; +} + +else if (Prototype.Browser.WebKit) { + Element.Methods.setOpacity = function(element, value) { + element = $(element); + element.style.opacity = (value == 1 || value === '') ? '' : + (value < 0.00001) ? 0 : value; + + if (value == 1) + if(element.tagName == 'IMG' && element.width) { + element.width++; element.width--; + } else try { + var n = document.createTextNode(' '); + element.appendChild(n); + element.removeChild(n); + } catch (e) { } + + return element; + }; + + // Safari returns margins on body which is incorrect if the child is absolutely + // positioned. For performance reasons, redefine Element#cumulativeOffset for + // KHTML/WebKit only. + Element.Methods.cumulativeOffset = function(element) { + var valueT = 0, valueL = 0; + do { + valueT += element.offsetTop || 0; + valueL += element.offsetLeft || 0; + if (element.offsetParent == document.body) + if (Element.getStyle(element, 'position') == 'absolute') break; + + element = element.offsetParent; + } while (element); + + return Element._returnOffset(valueL, valueT); + }; +} + +if (Prototype.Browser.IE || Prototype.Browser.Opera) { + // IE and Opera are missing .innerHTML support for TABLE-related and SELECT elements + Element.Methods.update = function(element, content) { + element = $(element); + + if (content && content.toElement) content = content.toElement(); + if (Object.isElement(content)) return element.update().insert(content); + + content = Object.toHTML(content); + var tagName = element.tagName.toUpperCase(); + + if (tagName in Element._insertionTranslations.tags) { + $A(element.childNodes).each(function(node) { element.removeChild(node) }); + Element._getContentFromAnonymousElement(tagName, content.stripScripts()) + .each(function(node) { element.appendChild(node) }); + } + else element.innerHTML = content.stripScripts(); + + content.evalScripts.bind(content).defer(); + return element; + }; +} + +if (document.createElement('div').outerHTML) { + Element.Methods.replace = function(element, content) { + element = $(element); + + if (content && content.toElement) content = content.toElement(); + if (Object.isElement(content)) { + element.parentNode.replaceChild(content, element); + return element; + } + + content = Object.toHTML(content); + var parent = element.parentNode, tagName = parent.tagName.toUpperCase(); + + if (Element._insertionTranslations.tags[tagName]) { + var nextSibling = element.next(); + var fragments = Element._getContentFromAnonymousElement(tagName, content.stripScripts()); + parent.removeChild(element); + if (nextSibling) + fragments.each(function(node) { parent.insertBefore(node, nextSibling) }); + else + fragments.each(function(node) { parent.appendChild(node) }); + } + else element.outerHTML = content.stripScripts(); + + content.evalScripts.bind(content).defer(); + return element; + }; +} + +Element._returnOffset = function(l, t) { + var result = [l, t]; + result.left = l; + result.top = t; + return result; +}; + +Element._getContentFromAnonymousElement = function(tagName, html) { + var div = new Element('div'), t = Element._insertionTranslations.tags[tagName]; + div.innerHTML = t[0] + html + t[1]; + t[2].times(function() { div = div.firstChild }); + return $A(div.childNodes); +}; + +Element._insertionTranslations = { + before: { + adjacency: 'beforeBegin', + insert: function(element, node) { + element.parentNode.insertBefore(node, element); + }, + initializeRange: function(element, range) { + range.setStartBefore(element); + } + }, + top: { + adjacency: 'afterBegin', + insert: function(element, node) { + element.insertBefore(node, element.firstChild); + }, + initializeRange: function(element, range) { + range.selectNodeContents(element); + range.collapse(true); + } + }, + bottom: { + adjacency: 'beforeEnd', + insert: function(element, node) { + element.appendChild(node); + } + }, + after: { + adjacency: 'afterEnd', + insert: function(element, node) { + element.parentNode.insertBefore(node, element.nextSibling); + }, + initializeRange: function(element, range) { + range.setStartAfter(element); + } + }, + tags: { + TABLE: ['', '
    ', 1], + TBODY: ['', '
    ', 2], + TR: ['', '
    ', 3], + TD: ['
    ', '
    ', 4], + SELECT: ['', 1] + } +}; + +(function() { + this.bottom.initializeRange = this.top.initializeRange; + Object.extend(this.tags, { + THEAD: this.tags.TBODY, + TFOOT: this.tags.TBODY, + TH: this.tags.TD + }); +}).call(Element._insertionTranslations); + +Element.Methods.Simulated = { + hasAttribute: function(element, attribute) { + attribute = Element._attributeTranslations.has[attribute] || attribute; + var node = $(element).getAttributeNode(attribute); + return node && node.specified; + } +}; + +Element.Methods.ByTag = { }; + +Object.extend(Element, Element.Methods); + +if (!Prototype.BrowserFeatures.ElementExtensions && + document.createElement('div').__proto__) { + window.HTMLElement = { }; + window.HTMLElement.prototype = document.createElement('div').__proto__; + Prototype.BrowserFeatures.ElementExtensions = true; +} + +Element.extend = (function() { + if (Prototype.BrowserFeatures.SpecificElementExtensions) + return Prototype.K; + + var Methods = { }, ByTag = Element.Methods.ByTag; + + var extend = Object.extend(function(element) { + if (!element || element._extendedByPrototype || + element.nodeType != 1 || element == window) return element; + + var methods = Object.clone(Methods), + tagName = element.tagName, property, value; + + // extend methods for specific tags + if (ByTag[tagName]) Object.extend(methods, ByTag[tagName]); + + for (property in methods) { + value = methods[property]; + if (Object.isFunction(value) && !(property in element)) + element[property] = value.methodize(); + } + + element._extendedByPrototype = Prototype.emptyFunction; + return element; + + }, { + refresh: function() { + // extend methods for all tags (Safari doesn't need this) + if (!Prototype.BrowserFeatures.ElementExtensions) { + Object.extend(Methods, Element.Methods); + Object.extend(Methods, Element.Methods.Simulated); + } + } + }); + + extend.refresh(); + return extend; +})(); + +Element.hasAttribute = function(element, attribute) { + if (element.hasAttribute) return element.hasAttribute(attribute); + return Element.Methods.Simulated.hasAttribute(element, attribute); +}; + +Element.addMethods = function(methods) { + var F = Prototype.BrowserFeatures, T = Element.Methods.ByTag; + + if (!methods) { + Object.extend(Form, Form.Methods); + Object.extend(Form.Element, Form.Element.Methods); + Object.extend(Element.Methods.ByTag, { + "FORM": Object.clone(Form.Methods), + "INPUT": Object.clone(Form.Element.Methods), + "SELECT": Object.clone(Form.Element.Methods), + "TEXTAREA": Object.clone(Form.Element.Methods) + }); + } + + if (arguments.length == 2) { + var tagName = methods; + methods = arguments[1]; + } + + if (!tagName) Object.extend(Element.Methods, methods || { }); + else { + if (Object.isArray(tagName)) tagName.each(extend); + else extend(tagName); + } + + function extend(tagName) { + tagName = tagName.toUpperCase(); + if (!Element.Methods.ByTag[tagName]) + Element.Methods.ByTag[tagName] = { }; + Object.extend(Element.Methods.ByTag[tagName], methods); + } + + function copy(methods, destination, onlyIfAbsent) { + onlyIfAbsent = onlyIfAbsent || false; + for (var property in methods) { + var value = methods[property]; + if (!Object.isFunction(value)) continue; + if (!onlyIfAbsent || !(property in destination)) + destination[property] = value.methodize(); + } + } + + function findDOMClass(tagName) { + var klass; + var trans = { + "OPTGROUP": "OptGroup", "TEXTAREA": "TextArea", "P": "Paragraph", + "FIELDSET": "FieldSet", "UL": "UList", "OL": "OList", "DL": "DList", + "DIR": "Directory", "H1": "Heading", "H2": "Heading", "H3": "Heading", + "H4": "Heading", "H5": "Heading", "H6": "Heading", "Q": "Quote", + "INS": "Mod", "DEL": "Mod", "A": "Anchor", "IMG": "Image", "CAPTION": + "TableCaption", "COL": "TableCol", "COLGROUP": "TableCol", "THEAD": + "TableSection", "TFOOT": "TableSection", "TBODY": "TableSection", "TR": + "TableRow", "TH": "TableCell", "TD": "TableCell", "FRAMESET": + "FrameSet", "IFRAME": "IFrame" + }; + if (trans[tagName]) klass = 'HTML' + trans[tagName] + 'Element'; + if (window[klass]) return window[klass]; + klass = 'HTML' + tagName + 'Element'; + if (window[klass]) return window[klass]; + klass = 'HTML' + tagName.capitalize() + 'Element'; + if (window[klass]) return window[klass]; + + window[klass] = { }; + window[klass].prototype = document.createElement(tagName).__proto__; + return window[klass]; + } + + if (F.ElementExtensions) { + copy(Element.Methods, HTMLElement.prototype); + copy(Element.Methods.Simulated, HTMLElement.prototype, true); + } + + if (F.SpecificElementExtensions) { + for (var tag in Element.Methods.ByTag) { + var klass = findDOMClass(tag); + if (Object.isUndefined(klass)) continue; + copy(T[tag], klass.prototype); + } + } + + Object.extend(Element, Element.Methods); + delete Element.ByTag; + + if (Element.extend.refresh) Element.extend.refresh(); + Element.cache = { }; +}; + +document.viewport = { + getDimensions: function() { + var dimensions = { }; + var B = Prototype.Browser; + $w('width height').each(function(d) { + var D = d.capitalize(); + dimensions[d] = (B.WebKit && !document.evaluate) ? self['inner' + D] : + (B.Opera) ? document.body['client' + D] : document.documentElement['client' + D]; + }); + return dimensions; + }, + + getWidth: function() { + return this.getDimensions().width; + }, + + getHeight: function() { + return this.getDimensions().height; + }, + + getScrollOffsets: function() { + return Element._returnOffset( + window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft, + window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop); + } +}; +/* Portions of the Selector class are derived from Jack Slocum’s DomQuery, + * part of YUI-Ext version 0.40, distributed under the terms of an MIT-style + * license. Please see http://www.yui-ext.com/ for more information. */ + +var Selector = Class.create({ + initialize: function(expression) { + this.expression = expression.strip(); + this.compileMatcher(); + }, + + shouldUseXPath: function() { + if (!Prototype.BrowserFeatures.XPath) return false; + + var e = this.expression; + + // Safari 3 chokes on :*-of-type and :empty + if (Prototype.Browser.WebKit && + (e.include("-of-type") || e.include(":empty"))) + return false; + + // XPath can't do namespaced attributes, nor can it read + // the "checked" property from DOM nodes + if ((/(\[[\w-]*?:|:checked)/).test(this.expression)) + return false; + + return true; + }, + + compileMatcher: function() { + if (this.shouldUseXPath()) + return this.compileXPathMatcher(); + + var e = this.expression, ps = Selector.patterns, h = Selector.handlers, + c = Selector.criteria, le, p, m; + + if (Selector._cache[e]) { + this.matcher = Selector._cache[e]; + return; + } + + this.matcher = ["this.matcher = function(root) {", + "var r = root, h = Selector.handlers, c = false, n;"]; + + while (e && le != e && (/\S/).test(e)) { + le = e; + for (var i in ps) { + p = ps[i]; + if (m = e.match(p)) { + this.matcher.push(Object.isFunction(c[i]) ? c[i](m) : + new Template(c[i]).evaluate(m)); + e = e.replace(m[0], ''); + break; + } + } + } + + this.matcher.push("return h.unique(n);\n}"); + eval(this.matcher.join('\n')); + Selector._cache[this.expression] = this.matcher; + }, + + compileXPathMatcher: function() { + var e = this.expression, ps = Selector.patterns, + x = Selector.xpath, le, m; + + if (Selector._cache[e]) { + this.xpath = Selector._cache[e]; return; + } + + this.matcher = ['.//*']; + while (e && le != e && (/\S/).test(e)) { + le = e; + for (var i in ps) { + if (m = e.match(ps[i])) { + this.matcher.push(Object.isFunction(x[i]) ? x[i](m) : + new Template(x[i]).evaluate(m)); + e = e.replace(m[0], ''); + break; + } + } + } + + this.xpath = this.matcher.join(''); + Selector._cache[this.expression] = this.xpath; + }, + + findElements: function(root) { + root = root || document; + if (this.xpath) return document._getElementsByXPath(this.xpath, root); + return this.matcher(root); + }, + + match: function(element) { + this.tokens = []; + + var e = this.expression, ps = Selector.patterns, as = Selector.assertions; + var le, p, m; + + while (e && le !== e && (/\S/).test(e)) { + le = e; + for (var i in ps) { + p = ps[i]; + if (m = e.match(p)) { + // use the Selector.assertions methods unless the selector + // is too complex. + if (as[i]) { + this.tokens.push([i, Object.clone(m)]); + e = e.replace(m[0], ''); + } else { + // reluctantly do a document-wide search + // and look for a match in the array + return this.findElements(document).include(element); + } + } + } + } + + var match = true, name, matches; + for (var i = 0, token; token = this.tokens[i]; i++) { + name = token[0], matches = token[1]; + if (!Selector.assertions[name](element, matches)) { + match = false; break; + } + } + + return match; + }, + + toString: function() { + return this.expression; + }, + + inspect: function() { + return "#"; + } +}); + +Object.extend(Selector, { + _cache: { }, + + xpath: { + descendant: "//*", + child: "/*", + adjacent: "/following-sibling::*[1]", + laterSibling: '/following-sibling::*', + tagName: function(m) { + if (m[1] == '*') return ''; + return "[local-name()='" + m[1].toLowerCase() + + "' or local-name()='" + m[1].toUpperCase() + "']"; + }, + className: "[contains(concat(' ', @class, ' '), ' #{1} ')]", + id: "[@id='#{1}']", + attrPresence: function(m) { + m[1] = m[1].toLowerCase(); + return new Template("[@#{1}]").evaluate(m); + }, + attr: function(m) { + m[1] = m[1].toLowerCase(); + m[3] = m[5] || m[6]; + return new Template(Selector.xpath.operators[m[2]]).evaluate(m); + }, + pseudo: function(m) { + var h = Selector.xpath.pseudos[m[1]]; + if (!h) return ''; + if (Object.isFunction(h)) return h(m); + return new Template(Selector.xpath.pseudos[m[1]]).evaluate(m); + }, + operators: { + '=': "[@#{1}='#{3}']", + '!=': "[@#{1}!='#{3}']", + '^=': "[starts-with(@#{1}, '#{3}')]", + '$=': "[substring(@#{1}, (string-length(@#{1}) - string-length('#{3}') + 1))='#{3}']", + '*=': "[contains(@#{1}, '#{3}')]", + '~=': "[contains(concat(' ', @#{1}, ' '), ' #{3} ')]", + '|=': "[contains(concat('-', @#{1}, '-'), '-#{3}-')]" + }, + pseudos: { + 'first-child': '[not(preceding-sibling::*)]', + 'last-child': '[not(following-sibling::*)]', + 'only-child': '[not(preceding-sibling::* or following-sibling::*)]', + 'empty': "[count(*) = 0 and (count(text()) = 0 or translate(text(), ' \t\r\n', '') = '')]", + 'checked': "[@checked]", + 'disabled': "[@disabled]", + 'enabled': "[not(@disabled)]", + 'not': function(m) { + var e = m[6], p = Selector.patterns, + x = Selector.xpath, le, v; + + var exclusion = []; + while (e && le != e && (/\S/).test(e)) { + le = e; + for (var i in p) { + if (m = e.match(p[i])) { + v = Object.isFunction(x[i]) ? x[i](m) : new Template(x[i]).evaluate(m); + exclusion.push("(" + v.substring(1, v.length - 1) + ")"); + e = e.replace(m[0], ''); + break; + } + } + } + return "[not(" + exclusion.join(" and ") + ")]"; + }, + 'nth-child': function(m) { + return Selector.xpath.pseudos.nth("(count(./preceding-sibling::*) + 1) ", m); + }, + 'nth-last-child': function(m) { + return Selector.xpath.pseudos.nth("(count(./following-sibling::*) + 1) ", m); + }, + 'nth-of-type': function(m) { + return Selector.xpath.pseudos.nth("position() ", m); + }, + 'nth-last-of-type': function(m) { + return Selector.xpath.pseudos.nth("(last() + 1 - position()) ", m); + }, + 'first-of-type': function(m) { + m[6] = "1"; return Selector.xpath.pseudos['nth-of-type'](m); + }, + 'last-of-type': function(m) { + m[6] = "1"; return Selector.xpath.pseudos['nth-last-of-type'](m); + }, + 'only-of-type': function(m) { + var p = Selector.xpath.pseudos; return p['first-of-type'](m) + p['last-of-type'](m); + }, + nth: function(fragment, m) { + var mm, formula = m[6], predicate; + if (formula == 'even') formula = '2n+0'; + if (formula == 'odd') formula = '2n+1'; + if (mm = formula.match(/^(\d+)$/)) // digit only + return '[' + fragment + "= " + mm[1] + ']'; + if (mm = formula.match(/^(-?\d*)?n(([+-])(\d+))?/)) { // an+b + if (mm[1] == "-") mm[1] = -1; + var a = mm[1] ? Number(mm[1]) : 1; + var b = mm[2] ? Number(mm[2]) : 0; + predicate = "[((#{fragment} - #{b}) mod #{a} = 0) and " + + "((#{fragment} - #{b}) div #{a} >= 0)]"; + return new Template(predicate).evaluate({ + fragment: fragment, a: a, b: b }); + } + } + } + }, + + criteria: { + tagName: 'n = h.tagName(n, r, "#{1}", c); c = false;', + className: 'n = h.className(n, r, "#{1}", c); c = false;', + id: 'n = h.id(n, r, "#{1}", c); c = false;', + attrPresence: 'n = h.attrPresence(n, r, "#{1}"); c = false;', + attr: function(m) { + m[3] = (m[5] || m[6]); + return new Template('n = h.attr(n, r, "#{1}", "#{3}", "#{2}"); c = false;').evaluate(m); + }, + pseudo: function(m) { + if (m[6]) m[6] = m[6].replace(/"/g, '\\"'); + return new Template('n = h.pseudo(n, "#{1}", "#{6}", r, c); c = false;').evaluate(m); + }, + descendant: 'c = "descendant";', + child: 'c = "child";', + adjacent: 'c = "adjacent";', + laterSibling: 'c = "laterSibling";' + }, + + patterns: { + // combinators must be listed first + // (and descendant needs to be last combinator) + laterSibling: /^\s*~\s*/, + child: /^\s*>\s*/, + adjacent: /^\s*\+\s*/, + descendant: /^\s/, + + // selectors follow + tagName: /^\s*(\*|[\w\-]+)(\b|$)?/, + id: /^#([\w\-\*]+)(\b|$)/, + className: /^\.([\w\-\*]+)(\b|$)/, + pseudo: /^:((first|last|nth|nth-last|only)(-child|-of-type)|empty|checked|(en|dis)abled|not)(\((.*?)\))?(\b|$|(?=\s)|(?=:))/, + attrPresence: /^\[([\w]+)\]/, + attr: /\[((?:[\w-]*:)?[\w-]+)\s*(?:([!^$*~|]?=)\s*((['"])([^\4]*?)\4|([^'"][^\]]*?)))?\]/ + }, + + // for Selector.match and Element#match + assertions: { + tagName: function(element, matches) { + return matches[1].toUpperCase() == element.tagName.toUpperCase(); + }, + + className: function(element, matches) { + return Element.hasClassName(element, matches[1]); + }, + + id: function(element, matches) { + return element.id === matches[1]; + }, + + attrPresence: function(element, matches) { + return Element.hasAttribute(element, matches[1]); + }, + + attr: function(element, matches) { + var nodeValue = Element.readAttribute(element, matches[1]); + return Selector.operators[matches[2]](nodeValue, matches[3]); + } + }, + + handlers: { + // UTILITY FUNCTIONS + // joins two collections + concat: function(a, b) { + for (var i = 0, node; node = b[i]; i++) + a.push(node); + return a; + }, + + // marks an array of nodes for counting + mark: function(nodes) { + for (var i = 0, node; node = nodes[i]; i++) + node._counted = true; + return nodes; + }, + + unmark: function(nodes) { + for (var i = 0, node; node = nodes[i]; i++) + node._counted = undefined; + return nodes; + }, + + // mark each child node with its position (for nth calls) + // "ofType" flag indicates whether we're indexing for nth-of-type + // rather than nth-child + index: function(parentNode, reverse, ofType) { + parentNode._counted = true; + if (reverse) { + for (var nodes = parentNode.childNodes, i = nodes.length - 1, j = 1; i >= 0; i--) { + var node = nodes[i]; + if (node.nodeType == 1 && (!ofType || node._counted)) node.nodeIndex = j++; + } + } else { + for (var i = 0, j = 1, nodes = parentNode.childNodes; node = nodes[i]; i++) + if (node.nodeType == 1 && (!ofType || node._counted)) node.nodeIndex = j++; + } + }, + + // filters out duplicates and extends all nodes + unique: function(nodes) { + if (nodes.length == 0) return nodes; + var results = [], n; + for (var i = 0, l = nodes.length; i < l; i++) + if (!(n = nodes[i])._counted) { + n._counted = true; + results.push(Element.extend(n)); + } + return Selector.handlers.unmark(results); + }, + + // COMBINATOR FUNCTIONS + descendant: function(nodes) { + var h = Selector.handlers; + for (var i = 0, results = [], node; node = nodes[i]; i++) + h.concat(results, node.getElementsByTagName('*')); + return results; + }, + + child: function(nodes) { + var h = Selector.handlers; + for (var i = 0, results = [], node; node = nodes[i]; i++) { + for (var j = 0, child; child = node.childNodes[j]; j++) + if (child.nodeType == 1 && child.tagName != '!') results.push(child); + } + return results; + }, + + adjacent: function(nodes) { + for (var i = 0, results = [], node; node = nodes[i]; i++) { + var next = this.nextElementSibling(node); + if (next) results.push(next); + } + return results; + }, + + laterSibling: function(nodes) { + var h = Selector.handlers; + for (var i = 0, results = [], node; node = nodes[i]; i++) + h.concat(results, Element.nextSiblings(node)); + return results; + }, + + nextElementSibling: function(node) { + while (node = node.nextSibling) + if (node.nodeType == 1) return node; + return null; + }, + + previousElementSibling: function(node) { + while (node = node.previousSibling) + if (node.nodeType == 1) return node; + return null; + }, + + // TOKEN FUNCTIONS + tagName: function(nodes, root, tagName, combinator) { + tagName = tagName.toUpperCase(); + var results = [], h = Selector.handlers; + if (nodes) { + if (combinator) { + // fastlane for ordinary descendant combinators + if (combinator == "descendant") { + for (var i = 0, node; node = nodes[i]; i++) + h.concat(results, node.getElementsByTagName(tagName)); + return results; + } else nodes = this[combinator](nodes); + if (tagName == "*") return nodes; + } + for (var i = 0, node; node = nodes[i]; i++) + if (node.tagName.toUpperCase() == tagName) results.push(node); + return results; + } else return root.getElementsByTagName(tagName); + }, + + id: function(nodes, root, id, combinator) { + var targetNode = $(id), h = Selector.handlers; + if (!targetNode) return []; + if (!nodes && root == document) return [targetNode]; + if (nodes) { + if (combinator) { + if (combinator == 'child') { + for (var i = 0, node; node = nodes[i]; i++) + if (targetNode.parentNode == node) return [targetNode]; + } else if (combinator == 'descendant') { + for (var i = 0, node; node = nodes[i]; i++) + if (Element.descendantOf(targetNode, node)) return [targetNode]; + } else if (combinator == 'adjacent') { + for (var i = 0, node; node = nodes[i]; i++) + if (Selector.handlers.previousElementSibling(targetNode) == node) + return [targetNode]; + } else nodes = h[combinator](nodes); + } + for (var i = 0, node; node = nodes[i]; i++) + if (node == targetNode) return [targetNode]; + return []; + } + return (targetNode && Element.descendantOf(targetNode, root)) ? [targetNode] : []; + }, + + className: function(nodes, root, className, combinator) { + if (nodes && combinator) nodes = this[combinator](nodes); + return Selector.handlers.byClassName(nodes, root, className); + }, + + byClassName: function(nodes, root, className) { + if (!nodes) nodes = Selector.handlers.descendant([root]); + var needle = ' ' + className + ' '; + for (var i = 0, results = [], node, nodeClassName; node = nodes[i]; i++) { + nodeClassName = node.className; + if (nodeClassName.length == 0) continue; + if (nodeClassName == className || (' ' + nodeClassName + ' ').include(needle)) + results.push(node); + } + return results; + }, + + attrPresence: function(nodes, root, attr) { + if (!nodes) nodes = root.getElementsByTagName("*"); + var results = []; + for (var i = 0, node; node = nodes[i]; i++) + if (Element.hasAttribute(node, attr)) results.push(node); + return results; + }, + + attr: function(nodes, root, attr, value, operator) { + if (!nodes) nodes = root.getElementsByTagName("*"); + var handler = Selector.operators[operator], results = []; + for (var i = 0, node; node = nodes[i]; i++) { + var nodeValue = Element.readAttribute(node, attr); + if (nodeValue === null) continue; + if (handler(nodeValue, value)) results.push(node); + } + return results; + }, + + pseudo: function(nodes, name, value, root, combinator) { + if (nodes && combinator) nodes = this[combinator](nodes); + if (!nodes) nodes = root.getElementsByTagName("*"); + return Selector.pseudos[name](nodes, value, root); + } + }, + + pseudos: { + 'first-child': function(nodes, value, root) { + for (var i = 0, results = [], node; node = nodes[i]; i++) { + if (Selector.handlers.previousElementSibling(node)) continue; + results.push(node); + } + return results; + }, + 'last-child': function(nodes, value, root) { + for (var i = 0, results = [], node; node = nodes[i]; i++) { + if (Selector.handlers.nextElementSibling(node)) continue; + results.push(node); + } + return results; + }, + 'only-child': function(nodes, value, root) { + var h = Selector.handlers; + for (var i = 0, results = [], node; node = nodes[i]; i++) + if (!h.previousElementSibling(node) && !h.nextElementSibling(node)) + results.push(node); + return results; + }, + 'nth-child': function(nodes, formula, root) { + return Selector.pseudos.nth(nodes, formula, root); + }, + 'nth-last-child': function(nodes, formula, root) { + return Selector.pseudos.nth(nodes, formula, root, true); + }, + 'nth-of-type': function(nodes, formula, root) { + return Selector.pseudos.nth(nodes, formula, root, false, true); + }, + 'nth-last-of-type': function(nodes, formula, root) { + return Selector.pseudos.nth(nodes, formula, root, true, true); + }, + 'first-of-type': function(nodes, formula, root) { + return Selector.pseudos.nth(nodes, "1", root, false, true); + }, + 'last-of-type': function(nodes, formula, root) { + return Selector.pseudos.nth(nodes, "1", root, true, true); + }, + 'only-of-type': function(nodes, formula, root) { + var p = Selector.pseudos; + return p['last-of-type'](p['first-of-type'](nodes, formula, root), formula, root); + }, + + // handles the an+b logic + getIndices: function(a, b, total) { + if (a == 0) return b > 0 ? [b] : []; + return $R(1, total).inject([], function(memo, i) { + if (0 == (i - b) % a && (i - b) / a >= 0) memo.push(i); + return memo; + }); + }, + + // handles nth(-last)-child, nth(-last)-of-type, and (first|last)-of-type + nth: function(nodes, formula, root, reverse, ofType) { + if (nodes.length == 0) return []; + if (formula == 'even') formula = '2n+0'; + if (formula == 'odd') formula = '2n+1'; + var h = Selector.handlers, results = [], indexed = [], m; + h.mark(nodes); + for (var i = 0, node; node = nodes[i]; i++) { + if (!node.parentNode._counted) { + h.index(node.parentNode, reverse, ofType); + indexed.push(node.parentNode); + } + } + if (formula.match(/^\d+$/)) { // just a number + formula = Number(formula); + for (var i = 0, node; node = nodes[i]; i++) + if (node.nodeIndex == formula) results.push(node); + } else if (m = formula.match(/^(-?\d*)?n(([+-])(\d+))?/)) { // an+b + if (m[1] == "-") m[1] = -1; + var a = m[1] ? Number(m[1]) : 1; + var b = m[2] ? Number(m[2]) : 0; + var indices = Selector.pseudos.getIndices(a, b, nodes.length); + for (var i = 0, node, l = indices.length; node = nodes[i]; i++) { + for (var j = 0; j < l; j++) + if (node.nodeIndex == indices[j]) results.push(node); + } + } + h.unmark(nodes); + h.unmark(indexed); + return results; + }, + + 'empty': function(nodes, value, root) { + for (var i = 0, results = [], node; node = nodes[i]; i++) { + // IE treats comments as element nodes + if (node.tagName == '!' || (node.firstChild && !node.innerHTML.match(/^\s*$/))) continue; + results.push(node); + } + return results; + }, + + 'not': function(nodes, selector, root) { + var h = Selector.handlers, selectorType, m; + var exclusions = new Selector(selector).findElements(root); + h.mark(exclusions); + for (var i = 0, results = [], node; node = nodes[i]; i++) + if (!node._counted) results.push(node); + h.unmark(exclusions); + return results; + }, + + 'enabled': function(nodes, value, root) { + for (var i = 0, results = [], node; node = nodes[i]; i++) + if (!node.disabled) results.push(node); + return results; + }, + + 'disabled': function(nodes, value, root) { + for (var i = 0, results = [], node; node = nodes[i]; i++) + if (node.disabled) results.push(node); + return results; + }, + + 'checked': function(nodes, value, root) { + for (var i = 0, results = [], node; node = nodes[i]; i++) + if (node.checked) results.push(node); + return results; + } + }, + + operators: { + '=': function(nv, v) { return nv == v; }, + '!=': function(nv, v) { return nv != v; }, + '^=': function(nv, v) { return nv.startsWith(v); }, + '$=': function(nv, v) { return nv.endsWith(v); }, + '*=': function(nv, v) { return nv.include(v); }, + '~=': function(nv, v) { return (' ' + nv + ' ').include(' ' + v + ' '); }, + '|=': function(nv, v) { return ('-' + nv.toUpperCase() + '-').include('-' + v.toUpperCase() + '-'); } + }, + + matchElements: function(elements, expression) { + var matches = new Selector(expression).findElements(), h = Selector.handlers; + h.mark(matches); + for (var i = 0, results = [], element; element = elements[i]; i++) + if (element._counted) results.push(element); + h.unmark(matches); + return results; + }, + + findElement: function(elements, expression, index) { + if (Object.isNumber(expression)) { + index = expression; expression = false; + } + return Selector.matchElements(elements, expression || '*')[index || 0]; + }, + + findChildElements: function(element, expressions) { + var exprs = expressions.join(','); + expressions = []; + exprs.scan(/(([\w#:.~>+()\s-]+|\*|\[.*?\])+)\s*(,|$)/, function(m) { + expressions.push(m[1].strip()); + }); + var results = [], h = Selector.handlers; + for (var i = 0, l = expressions.length, selector; i < l; i++) { + selector = new Selector(expressions[i].strip()); + h.concat(results, selector.findElements(element)); + } + return (l > 1) ? h.unique(results) : results; + } +}); + +if (Prototype.Browser.IE) { + // IE returns comment nodes on getElementsByTagName("*"). + // Filter them out. + Selector.handlers.concat = function(a, b) { + for (var i = 0, node; node = b[i]; i++) + if (node.tagName !== "!") a.push(node); + return a; + }; +} + +function $$() { + return Selector.findChildElements(document, $A(arguments)); +} +var Form = { + reset: function(form) { + $(form).reset(); + return form; + }, + + serializeElements: function(elements, options) { + if (typeof options != 'object') options = { hash: !!options }; + else if (Object.isUndefined(options.hash)) options.hash = true; + var key, value, submitted = false, submit = options.submit; + + var data = elements.inject({ }, function(result, element) { + if (!element.disabled && element.name) { + key = element.name; value = $(element).getValue(); + if (value != null && (element.type != 'submit' || (!submitted && + submit !== false && (!submit || key == submit) && (submitted = true)))) { + if (key in result) { + // a key is already present; construct an array of values + if (!Object.isArray(result[key])) result[key] = [result[key]]; + result[key].push(value); + } + else result[key] = value; + } + } + return result; + }); + + return options.hash ? data : Object.toQueryString(data); + } +}; + +Form.Methods = { + serialize: function(form, options) { + return Form.serializeElements(Form.getElements(form), options); + }, + + getElements: function(form) { + return $A($(form).getElementsByTagName('*')).inject([], + function(elements, child) { + if (Form.Element.Serializers[child.tagName.toLowerCase()]) + elements.push(Element.extend(child)); + return elements; + } + ); + }, + + getInputs: function(form, typeName, name) { + form = $(form); + var inputs = form.getElementsByTagName('input'); + + if (!typeName && !name) return $A(inputs).map(Element.extend); + + for (var i = 0, matchingInputs = [], length = inputs.length; i < length; i++) { + var input = inputs[i]; + if ((typeName && input.type != typeName) || (name && input.name != name)) + continue; + matchingInputs.push(Element.extend(input)); + } + + return matchingInputs; + }, + + disable: function(form) { + form = $(form); + Form.getElements(form).invoke('disable'); + return form; + }, + + enable: function(form) { + form = $(form); + Form.getElements(form).invoke('enable'); + return form; + }, + + findFirstElement: function(form) { + var elements = $(form).getElements().findAll(function(element) { + return 'hidden' != element.type && !element.disabled; + }); + var firstByIndex = elements.findAll(function(element) { + return element.hasAttribute('tabIndex') && element.tabIndex >= 0; + }).sortBy(function(element) { return element.tabIndex }).first(); + + return firstByIndex ? firstByIndex : elements.find(function(element) { + return ['input', 'select', 'textarea'].include(element.tagName.toLowerCase()); + }); + }, + + focusFirstElement: function(form) { + form = $(form); + form.findFirstElement().activate(); + return form; + }, + + request: function(form, options) { + form = $(form), options = Object.clone(options || { }); + + var params = options.parameters, action = form.readAttribute('action') || ''; + if (action.blank()) action = window.location.href; + options.parameters = form.serialize(true); + + if (params) { + if (Object.isString(params)) params = params.toQueryParams(); + Object.extend(options.parameters, params); + } + + if (form.hasAttribute('method') && !options.method) + options.method = form.method; + + return new Ajax.Request(action, options); + } +}; + +/*--------------------------------------------------------------------------*/ + +Form.Element = { + focus: function(element) { + $(element).focus(); + return element; + }, + + select: function(element) { + $(element).select(); + return element; + } +}; + +Form.Element.Methods = { + serialize: function(element) { + element = $(element); + if (!element.disabled && element.name) { + var value = element.getValue(); + if (value != undefined) { + var pair = { }; + pair[element.name] = value; + return Object.toQueryString(pair); + } + } + return ''; + }, + + getValue: function(element) { + element = $(element); + var method = element.tagName.toLowerCase(); + return Form.Element.Serializers[method](element); + }, + + setValue: function(element, value) { + element = $(element); + var method = element.tagName.toLowerCase(); + Form.Element.Serializers[method](element, value); + return element; + }, + + clear: function(element) { + $(element).value = ''; + return element; + }, + + present: function(element) { + return $(element).value != ''; + }, + + activate: function(element) { + element = $(element); + try { + element.focus(); + if (element.select && (element.tagName.toLowerCase() != 'input' || + !['button', 'reset', 'submit'].include(element.type))) + element.select(); + } catch (e) { } + return element; + }, + + disable: function(element) { + element = $(element); + element.blur(); + element.disabled = true; + return element; + }, + + enable: function(element) { + element = $(element); + element.disabled = false; + return element; + } +}; + +/*--------------------------------------------------------------------------*/ + +var Field = Form.Element; +var $F = Form.Element.Methods.getValue; + +/*--------------------------------------------------------------------------*/ + +Form.Element.Serializers = { + input: function(element, value) { + switch (element.type.toLowerCase()) { + case 'checkbox': + case 'radio': + return Form.Element.Serializers.inputSelector(element, value); + default: + return Form.Element.Serializers.textarea(element, value); + } + }, + + inputSelector: function(element, value) { + if (Object.isUndefined(value)) return element.checked ? element.value : null; + else element.checked = !!value; + }, + + textarea: function(element, value) { + if (Object.isUndefined(value)) return element.value; + else element.value = value; + }, + + select: function(element, index) { + if (Object.isUndefined(index)) + return this[element.type == 'select-one' ? + 'selectOne' : 'selectMany'](element); + else { + var opt, value, single = !Object.isArray(index); + for (var i = 0, length = element.length; i < length; i++) { + opt = element.options[i]; + value = this.optionValue(opt); + if (single) { + if (value == index) { + opt.selected = true; + return; + } + } + else opt.selected = index.include(value); + } + } + }, + + selectOne: function(element) { + var index = element.selectedIndex; + return index >= 0 ? this.optionValue(element.options[index]) : null; + }, + + selectMany: function(element) { + var values, length = element.length; + if (!length) return null; + + for (var i = 0, values = []; i < length; i++) { + var opt = element.options[i]; + if (opt.selected) values.push(this.optionValue(opt)); + } + return values; + }, + + optionValue: function(opt) { + // extend element because hasAttribute may not be native + return Element.extend(opt).hasAttribute('value') ? opt.value : opt.text; + } +}; + +/*--------------------------------------------------------------------------*/ + +Abstract.TimedObserver = Class.create(PeriodicalExecuter, { + initialize: function($super, element, frequency, callback) { + $super(callback, frequency); + this.element = $(element); + this.lastValue = this.getValue(); + }, + + execute: function() { + var value = this.getValue(); + if (Object.isString(this.lastValue) && Object.isString(value) ? + this.lastValue != value : String(this.lastValue) != String(value)) { + this.callback(this.element, value); + this.lastValue = value; + } + } +}); + +Form.Element.Observer = Class.create(Abstract.TimedObserver, { + getValue: function() { + return Form.Element.getValue(this.element); + } +}); + +Form.Observer = Class.create(Abstract.TimedObserver, { + getValue: function() { + return Form.serialize(this.element); + } +}); + +/*--------------------------------------------------------------------------*/ + +Abstract.EventObserver = Class.create({ + initialize: function(element, callback) { + this.element = $(element); + this.callback = callback; + + this.lastValue = this.getValue(); + if (this.element.tagName.toLowerCase() == 'form') + this.registerFormCallbacks(); + else + this.registerCallback(this.element); + }, + + onElementEvent: function() { + var value = this.getValue(); + if (this.lastValue != value) { + this.callback(this.element, value); + this.lastValue = value; + } + }, + + registerFormCallbacks: function() { + Form.getElements(this.element).each(this.registerCallback, this); + }, + + registerCallback: function(element) { + if (element.type) { + switch (element.type.toLowerCase()) { + case 'checkbox': + case 'radio': + Event.observe(element, 'click', this.onElementEvent.bind(this)); + break; + default: + Event.observe(element, 'change', this.onElementEvent.bind(this)); + break; + } + } + } +}); + +Form.Element.EventObserver = Class.create(Abstract.EventObserver, { + getValue: function() { + return Form.Element.getValue(this.element); + } +}); + +Form.EventObserver = Class.create(Abstract.EventObserver, { + getValue: function() { + return Form.serialize(this.element); + } +}); +if (!window.Event) var Event = { }; + +Object.extend(Event, { + KEY_BACKSPACE: 8, + KEY_TAB: 9, + KEY_RETURN: 13, + KEY_ESC: 27, + KEY_LEFT: 37, + KEY_UP: 38, + KEY_RIGHT: 39, + KEY_DOWN: 40, + KEY_DELETE: 46, + KEY_HOME: 36, + KEY_END: 35, + KEY_PAGEUP: 33, + KEY_PAGEDOWN: 34, + KEY_INSERT: 45, + + cache: { }, + + relatedTarget: function(event) { + var element; + switch(event.type) { + case 'mouseover': element = event.fromElement; break; + case 'mouseout': element = event.toElement; break; + default: return null; + } + return Element.extend(element); + } +}); + +Event.Methods = (function() { + var isButton; + + if (Prototype.Browser.IE) { + var buttonMap = { 0: 1, 1: 4, 2: 2 }; + isButton = function(event, code) { + return event.button == buttonMap[code]; + }; + + } else if (Prototype.Browser.WebKit) { + isButton = function(event, code) { + switch (code) { + case 0: return event.which == 1 && !event.metaKey; + case 1: return event.which == 1 && event.metaKey; + default: return false; + } + }; + + } else { + isButton = function(event, code) { + return event.which ? (event.which === code + 1) : (event.button === code); + }; + } + + return { + isLeftClick: function(event) { return isButton(event, 0) }, + isMiddleClick: function(event) { return isButton(event, 1) }, + isRightClick: function(event) { return isButton(event, 2) }, + + element: function(event) { + var node = Event.extend(event).target; + return Element.extend(node.nodeType == Node.TEXT_NODE ? node.parentNode : node); + }, + + findElement: function(event, expression) { + var element = Event.element(event); + if (!expression) return element; + var elements = [element].concat(element.ancestors()); + return Selector.findElement(elements, expression, 0); + }, + + pointer: function(event) { + return { + x: event.pageX || (event.clientX + + (document.documentElement.scrollLeft || document.body.scrollLeft)), + y: event.pageY || (event.clientY + + (document.documentElement.scrollTop || document.body.scrollTop)) + }; + }, + + pointerX: function(event) { return Event.pointer(event).x }, + pointerY: function(event) { return Event.pointer(event).y }, + + stop: function(event) { + Event.extend(event); + event.preventDefault(); + event.stopPropagation(); + event.stopped = true; + } + }; +})(); + +Event.extend = (function() { + var methods = Object.keys(Event.Methods).inject({ }, function(m, name) { + m[name] = Event.Methods[name].methodize(); + return m; + }); + + if (Prototype.Browser.IE) { + Object.extend(methods, { + stopPropagation: function() { this.cancelBubble = true }, + preventDefault: function() { this.returnValue = false }, + inspect: function() { return "[object Event]" } + }); + + return function(event) { + if (!event) return false; + if (event._extendedByPrototype) return event; + + event._extendedByPrototype = Prototype.emptyFunction; + var pointer = Event.pointer(event); + Object.extend(event, { + target: event.srcElement, + relatedTarget: Event.relatedTarget(event), + pageX: pointer.x, + pageY: pointer.y + }); + return Object.extend(event, methods); + }; + + } else { + Event.prototype = Event.prototype || document.createEvent("HTMLEvents").__proto__; + Object.extend(Event.prototype, methods); + return Prototype.K; + } +})(); + +Object.extend(Event, (function() { + var cache = Event.cache; + + function getEventID(element) { + if (element._eventID) return element._eventID; + arguments.callee.id = arguments.callee.id || 1; + return element._eventID = ++arguments.callee.id; + } + + function getDOMEventName(eventName) { + if (eventName && eventName.include(':')) return "dataavailable"; + return eventName; + } + + function getCacheForID(id) { + return cache[id] = cache[id] || { }; + } + + function getWrappersForEventName(id, eventName) { + var c = getCacheForID(id); + return c[eventName] = c[eventName] || []; + } + + function createWrapper(element, eventName, handler) { + var id = getEventID(element); + var c = getWrappersForEventName(id, eventName); + if (c.pluck("handler").include(handler)) return false; + + var wrapper = function(event) { + if (!Event || !Event.extend || + (event.eventName && event.eventName != eventName)) + return false; + + Event.extend(event); + handler.call(element, event) + }; + + wrapper.handler = handler; + c.push(wrapper); + return wrapper; + } + + function findWrapper(id, eventName, handler) { + var c = getWrappersForEventName(id, eventName); + return c.find(function(wrapper) { return wrapper.handler == handler }); + } + + function destroyWrapper(id, eventName, handler) { + var c = getCacheForID(id); + if (!c[eventName]) return false; + c[eventName] = c[eventName].without(findWrapper(id, eventName, handler)); + } + + function destroyCache() { + for (var id in cache) + for (var eventName in cache[id]) + cache[id][eventName] = null; + } + + if (window.attachEvent) { + window.attachEvent("onunload", destroyCache); + } + + return { + observe: function(element, eventName, handler) { + element = $(element); + var name = getDOMEventName(eventName); + + var wrapper = createWrapper(element, eventName, handler); + if (!wrapper) return element; + + if (element.addEventListener) { + element.addEventListener(name, wrapper, false); + } else { + element.attachEvent("on" + name, wrapper); + } + + return element; + }, + + stopObserving: function(element, eventName, handler) { + element = $(element); + var id = getEventID(element), name = getDOMEventName(eventName); + + if (!handler && eventName) { + getWrappersForEventName(id, eventName).each(function(wrapper) { + element.stopObserving(eventName, wrapper.handler); + }); + return element; + + } else if (!eventName) { + Object.keys(getCacheForID(id)).each(function(eventName) { + element.stopObserving(eventName); + }); + return element; + } + + var wrapper = findWrapper(id, eventName, handler); + if (!wrapper) return element; + + if (element.removeEventListener) { + element.removeEventListener(name, wrapper, false); + } else { + element.detachEvent("on" + name, wrapper); + } + + destroyWrapper(id, eventName, handler); + + return element; + }, + + fire: function(element, eventName, memo) { + element = $(element); + if (element == document && document.createEvent && !element.dispatchEvent) + element = document.documentElement; + + if (document.createEvent) { + var event = document.createEvent("HTMLEvents"); + event.initEvent("dataavailable", true, true); + } else { + var event = document.createEventObject(); + event.eventType = "ondataavailable"; + } + + event.eventName = eventName; + event.memo = memo || { }; + + if (document.createEvent) { + element.dispatchEvent(event); + } else { + element.fireEvent(event.eventType, event); + } + + return Event.extend(event); + } + }; +})()); + +Object.extend(Event, Event.Methods); + +Element.addMethods({ + fire: Event.fire, + observe: Event.observe, + stopObserving: Event.stopObserving +}); + +Object.extend(document, { + fire: Element.Methods.fire.methodize(), + observe: Element.Methods.observe.methodize(), + stopObserving: Element.Methods.stopObserving.methodize() +}); + +(function() { + /* Support for the DOMContentLoaded event is based on work by Dan Webb, + Matthias Miller, Dean Edwards and John Resig. */ + + var timer, fired = false; + + function fireContentLoadedEvent() { + if (fired) return; + if (timer) window.clearInterval(timer); + document.fire("dom:loaded"); + fired = true; + } + + if (document.addEventListener) { + if (Prototype.Browser.WebKit) { + timer = window.setInterval(function() { + if (/loaded|complete/.test(document.readyState)) + fireContentLoadedEvent(); + }, 0); + + Event.observe(window, "load", fireContentLoadedEvent); + + } else { + document.addEventListener("DOMContentLoaded", + fireContentLoadedEvent, false); + } + + } else { + document.write(" + + ) + end + + body do + div :id => 'top' do + div :id => 'main_navigation' do + main_navigation + end + end + div :id => 'middle' do + div :id => 'content' do + content + end + end + div :id => 'bottom' do + + end + end + end + end + + def main_navigation + ul do + li { link_to "Documentation", SyntacticRecognition, Documentation } + li { link_to "Contribute", Contribute } + li { link_to "Home", Index } + end + end + + def content + end +end + +class Index < Layout + def content + bluecloth "index.markdown" + end +end + +class Documentation < Layout + abstract + + def content + div :id => 'secondary_navigation' do + ul do + li { link_to 'Syntax', SyntacticRecognition } + li { link_to 'Semantics', SemanticInterpretation } + li { link_to 'Using In Ruby', UsingInRuby } + li { link_to 'Advanced Techniques', PitfallsAndAdvancedTechniques } + end + end + + div :id => 'documentation_content' do + documentation_content + end + end +end + +class SyntacticRecognition < Documentation + def documentation_content + bluecloth "syntactic_recognition.markdown" + end +end + +class SemanticInterpretation < Documentation + def documentation_content + bluecloth "semantic_interpretation.markdown" + end +end + +class UsingInRuby < Documentation + def documentation_content + bluecloth "using_in_ruby.markdown" + end +end + +class PitfallsAndAdvancedTechniques < Documentation + def documentation_content + bluecloth "pitfalls_and_advanced_techniques.markdown" + end +end + + +class Contribute < Layout + def content + bluecloth "contributing_and_planned_features.markdown" + end +end + + +Layout.generate_site \ No newline at end of file diff --git a/vendor/gems/gems/treetop-1.4.2/doc/sitegen.rb b/vendor/gems/gems/treetop-1.4.2/doc/sitegen.rb new file mode 100755 index 00000000..09d8d441 --- /dev/null +++ b/vendor/gems/gems/treetop-1.4.2/doc/sitegen.rb @@ -0,0 +1,65 @@ +class Layout < Erector::Widget + + class << self + def inherited(page_class) + puts page_class + (@@page_classes ||= []) << page_class + end + + def generate_site + FileUtils.mkdir_p(site_dir) + @@page_classes.each do |page_class| + page_class.generate_html unless page_class.abstract? + puts page_class + end + end + + def generate_html + File.open(absolute_path, 'w') do |file| + file.write(new.render) + end + end + + def absolute_path + absolutize(relative_path) + end + + def relative_path + "#{name.gsub('::', '_').underscore}.html" + end + + def absolutize(relative_path) + File.join(site_dir, relative_path) + end + + def abstract + @abstract = true + end + + def abstract? + @abstract + end + + def site_dir + File.join(File.dirname(__FILE__), "site") + end + end + + def bluecloth(relative_path) + File.open(File.join(File.dirname(__FILE__), relative_path)) do |file| + rawtext BlueCloth.new(file.read).to_html + end + end + + def absolutize(relative_path) + self.class.absolutize(relative_path) + end + + def link_to(link_text, page_class, section_class=nil) + if instance_of?(page_class) || section_class && is_a?(section_class) + text link_text + else + a link_text, :href => page_class.relative_path + end + end +end diff --git a/vendor/gems/gems/treetop-1.4.2/doc/syntactic_recognition.markdown b/vendor/gems/gems/treetop-1.4.2/doc/syntactic_recognition.markdown new file mode 100755 index 00000000..6c718103 --- /dev/null +++ b/vendor/gems/gems/treetop-1.4.2/doc/syntactic_recognition.markdown @@ -0,0 +1,100 @@ +#Syntactic Recognition +Treetop grammars are written in a custom language based on parsing expression grammars. Literature on the subject of parsing expression grammars is useful in writing Treetop grammars. + +#Grammar Structure +Treetop grammars look like this: + + grammar GrammarName + rule rule_name + ... + end + + rule rule_name + ... + end + + ... + end + +The main keywords are: + +* `grammar` : This introduces a new grammar. It is followed by a constant name to which the grammar will be bound when it is loaded. + +* `rule` : This defines a parsing rule within the grammar. It is followed by a name by which this rule can be referenced within other rules. It is then followed by a parsing expression defining the rule. + +#Parsing Expressions +Each rule associates a name with a _parsing expression_. Parsing expressions are a generalization of vanilla regular expressions. Their key feature is the ability to reference other expressions in the grammar by name. + +##Terminal Symbols +###Strings +Strings are surrounded in double or single quotes and must be matched exactly. + +* `"foo"` +* `'foo'` + +###Character Classes +Character classes are surrounded by brackets. Their semantics are identical to those used in Ruby's regular expressions. + +* `[a-zA-Z]` +* `[0-9]` + +###The Anything Symbol +The anything symbol is represented by a dot (`.`) and matches any single character. + +##Nonterminal Symbols +Nonterminal symbols are unquoted references to other named rules. They are equivalent to an inline substitution of the named expression. + + rule foo + "the dog " bar + end + + rule bar + "jumped" + end + +The above grammar is equivalent to: + + rule foo + "the dog jumped" + end + +##Ordered Choice +Parsers attempt to match ordered choices in left-to-right order, and stop after the first successful match. + + "foobar" / "foo" / "bar" + +Note that if `"foo"` in the above expression came first, `"foobar"` would never be matched. + +##Sequences + +Sequences are a space-separated list of parsing expressions. They have higher precedence than choices, so choices must be parenthesized to be used as the elements of a sequence. + + "foo" "bar" ("baz" / "bop") + +##Zero or More +Parsers will greedily match an expression zero or more times if it is followed by the star (`*`) symbol. + +* `'foo'*` matches the empty string, `"foo"`, `"foofoo"`, etc. + +##One or More +Parsers will greedily match an expression one or more times if it is followed by the star (`+`) symbol. + +* `'foo'+` does not match the empty string, but matches `"foo"`, `"foofoo"`, etc. + +##Optional Expressions +An expression can be declared optional by following it with a question mark (`?`). + +* `'foo'?` matches `"foo"` or the empty string. + +##Lookahead Assertions +Lookahead assertions can be used to give parsing expressions a limited degree of context-sensitivity. The parser will look ahead into the buffer and attempt to match an expression without consuming input. + +###Positive Lookahead Assertion +Preceding an expression with an ampersand `(&)` indicates that it must match, but no input will be consumed in the process of determining whether this is true. + +* `"foo" &"bar"` matches `"foobar"` but only consumes up to the end `"foo"`. It will not match `"foobaz"`. + +###Negative Lookahead Assertion +Preceding an expression with a bang `(!)` indicates that the expression must not match, but no input will be consumed in the process of determining whether this is true. + +* `"foo" !"bar"` matches `"foobaz"` but only consumes up to the end `"foo"`. It will not match `"foobar"`. diff --git a/vendor/gems/gems/treetop-1.4.2/doc/using_in_ruby.markdown b/vendor/gems/gems/treetop-1.4.2/doc/using_in_ruby.markdown new file mode 100755 index 00000000..57382af5 --- /dev/null +++ b/vendor/gems/gems/treetop-1.4.2/doc/using_in_ruby.markdown @@ -0,0 +1,21 @@ +#Using Treetop Grammars in Ruby +##Using the Command Line Compiler +You can `.treetop` files into Ruby source code with the `tt` command line script. `tt` takes an list of files with a `.treetop` extension and compiles them into `.rb` files of the same name. You can then `require` these files like any other Ruby script. Alternately, you can supply just one `.treetop` file and a `-o` flag to name specify the name of the output file. Improvements to this compilation script are welcome. + + tt foo.treetop bar.treetop + tt foo.treetop -o foogrammar.rb + +##Loading A Grammar Directly +The Polyglot gem makes it possible to load `.treetop` or `.tt` files directly with `require`. This will invoke `Treetop.load`, which automatically compiles the grammar to Ruby and then evaluates the Ruby source. If you are getting errors in methods you define on the syntax tree, try using the command line compiler for better stack trace feedback. A better solution to this issue is in the works. + +##Instantiating and Using Parsers +If a grammar by the name of `Foo` is defined, the compiled Ruby source will define a `FooParser` class. To parse input, create an instance and call its `parse` method with a string. The parser will return the syntax tree of the match or `nil` if there is a failure. + + Treetop.load "arithmetic" + + parser = ArithmeticParser.new + if parser.parse('1+1') + puts 'success' + else + puts 'failure' + end diff --git a/vendor/gems/gems/treetop-1.4.2/examples/lambda_calculus/arithmetic.rb b/vendor/gems/gems/treetop-1.4.2/examples/lambda_calculus/arithmetic.rb new file mode 100755 index 00000000..8f741296 --- /dev/null +++ b/vendor/gems/gems/treetop-1.4.2/examples/lambda_calculus/arithmetic.rb @@ -0,0 +1,551 @@ +module Arithmetic + include Treetop::Runtime + + def root + @root || :expression + end + + def _nt_expression + start_index = index + cached = node_cache[:expression][index] + if cached + @index = cached.interval.end + return cached + end + + i0 = index + r1 = _nt_comparative + if r1.success? + r0 = r1 + else + r2 = _nt_additive + if r2.success? + r0 = r2 + else + self.index = i0 + r0 = ParseFailure.new(input, i0) + end + end + + node_cache[:expression][start_index] = r0 + + return r0 + end + + module Comparative0 + def operand_1 + elements[0] + end + + def space + elements[1] + end + + def operator + elements[2] + end + + def space + elements[3] + end + + def operand_2 + elements[4] + end + end + + def _nt_comparative + start_index = index + cached = node_cache[:comparative][index] + if cached + @index = cached.interval.end + return cached + end + + i0, s0 = index, [] + r1 = _nt_additive + s0 << r1 + if r1.success? + r2 = _nt_space + s0 << r2 + if r2.success? + r3 = _nt_equality_op + s0 << r3 + if r3.success? + r4 = _nt_space + s0 << r4 + if r4.success? + r5 = _nt_additive + s0 << r5 + end + end + end + end + if s0.last.success? + r0 = (BinaryOperation).new(input, i0...index, s0) + r0.extend(Comparative0) + else + self.index = i0 + r0 = ParseFailure.new(input, i0) + end + + node_cache[:comparative][start_index] = r0 + + return r0 + end + + module EqualityOp0 + def apply(a, b) + a == b + end + end + + def _nt_equality_op + start_index = index + cached = node_cache[:equality_op][index] + if cached + @index = cached.interval.end + return cached + end + + r0 = parse_terminal('==', SyntaxNode, EqualityOp0) + + node_cache[:equality_op][start_index] = r0 + + return r0 + end + + module Additive0 + def operand_1 + elements[0] + end + + def space + elements[1] + end + + def operator + elements[2] + end + + def space + elements[3] + end + + def operand_2 + elements[4] + end + end + + def _nt_additive + start_index = index + cached = node_cache[:additive][index] + if cached + @index = cached.interval.end + return cached + end + + i0 = index + i1, s1 = index, [] + r2 = _nt_multitive + s1 << r2 + if r2.success? + r3 = _nt_space + s1 << r3 + if r3.success? + r4 = _nt_additive_op + s1 << r4 + if r4.success? + r5 = _nt_space + s1 << r5 + if r5.success? + r6 = _nt_additive + s1 << r6 + end + end + end + end + if s1.last.success? + r1 = (BinaryOperation).new(input, i1...index, s1) + r1.extend(Additive0) + else + self.index = i1 + r1 = ParseFailure.new(input, i1) + end + if r1.success? + r0 = r1 + else + r7 = _nt_multitive + if r7.success? + r0 = r7 + else + self.index = i0 + r0 = ParseFailure.new(input, i0) + end + end + + node_cache[:additive][start_index] = r0 + + return r0 + end + + module AdditiveOp0 + def apply(a, b) + a + b + end + end + + module AdditiveOp1 + def apply(a, b) + a - b + end + end + + def _nt_additive_op + start_index = index + cached = node_cache[:additive_op][index] + if cached + @index = cached.interval.end + return cached + end + + i0 = index + r1 = parse_terminal('+', SyntaxNode, AdditiveOp0) + if r1.success? + r0 = r1 + else + r2 = parse_terminal('-', SyntaxNode, AdditiveOp1) + if r2.success? + r0 = r2 + else + self.index = i0 + r0 = ParseFailure.new(input, i0) + end + end + + node_cache[:additive_op][start_index] = r0 + + return r0 + end + + module Multitive0 + def operand_1 + elements[0] + end + + def space + elements[1] + end + + def operator + elements[2] + end + + def space + elements[3] + end + + def operand_2 + elements[4] + end + end + + def _nt_multitive + start_index = index + cached = node_cache[:multitive][index] + if cached + @index = cached.interval.end + return cached + end + + i0 = index + i1, s1 = index, [] + r2 = _nt_primary + s1 << r2 + if r2.success? + r3 = _nt_space + s1 << r3 + if r3.success? + r4 = _nt_multitive_op + s1 << r4 + if r4.success? + r5 = _nt_space + s1 << r5 + if r5.success? + r6 = _nt_multitive + s1 << r6 + end + end + end + end + if s1.last.success? + r1 = (BinaryOperation).new(input, i1...index, s1) + r1.extend(Multitive0) + else + self.index = i1 + r1 = ParseFailure.new(input, i1) + end + if r1.success? + r0 = r1 + else + r7 = _nt_primary + if r7.success? + r0 = r7 + else + self.index = i0 + r0 = ParseFailure.new(input, i0) + end + end + + node_cache[:multitive][start_index] = r0 + + return r0 + end + + module MultitiveOp0 + def apply(a, b) + a * b + end + end + + module MultitiveOp1 + def apply(a, b) + a / b + end + end + + def _nt_multitive_op + start_index = index + cached = node_cache[:multitive_op][index] + if cached + @index = cached.interval.end + return cached + end + + i0 = index + r1 = parse_terminal('*', SyntaxNode, MultitiveOp0) + if r1.success? + r0 = r1 + else + r2 = parse_terminal('/', SyntaxNode, MultitiveOp1) + if r2.success? + r0 = r2 + else + self.index = i0 + r0 = ParseFailure.new(input, i0) + end + end + + node_cache[:multitive_op][start_index] = r0 + + return r0 + end + + module Primary0 + def space + elements[1] + end + + def expression + elements[2] + end + + def space + elements[3] + end + + end + + module Primary1 + def eval(env={}) + expression.eval(env) + end + end + + def _nt_primary + start_index = index + cached = node_cache[:primary][index] + if cached + @index = cached.interval.end + return cached + end + + i0 = index + r1 = _nt_variable + if r1.success? + r0 = r1 + else + r2 = _nt_number + if r2.success? + r0 = r2 + else + i3, s3 = index, [] + r4 = parse_terminal('(', SyntaxNode) + s3 << r4 + if r4.success? + r5 = _nt_space + s3 << r5 + if r5.success? + r6 = _nt_expression + s3 << r6 + if r6.success? + r7 = _nt_space + s3 << r7 + if r7.success? + r8 = parse_terminal(')', SyntaxNode) + s3 << r8 + end + end + end + end + if s3.last.success? + r3 = (SyntaxNode).new(input, i3...index, s3) + r3.extend(Primary0) + r3.extend(Primary1) + else + self.index = i3 + r3 = ParseFailure.new(input, i3) + end + if r3.success? + r0 = r3 + else + self.index = i0 + r0 = ParseFailure.new(input, i0) + end + end + end + + node_cache[:primary][start_index] = r0 + + return r0 + end + + module Variable0 + def eval(env={}) + env[name] + end + + def name + text_value + end + end + + def _nt_variable + start_index = index + cached = node_cache[:variable][index] + if cached + @index = cached.interval.end + return cached + end + + s0, i0 = [], index + loop do + r1 = parse_char_class(/[a-z]/, 'a-z', SyntaxNode) + if r1.success? + s0 << r1 + else + break + end + end + if s0.empty? + self.index = i0 + r0 = ParseFailure.new(input, i0) + else + r0 = SyntaxNode.new(input, i0...index, s0) + r0.extend(Variable0) + end + + node_cache[:variable][start_index] = r0 + + return r0 + end + + module Number0 + end + + module Number1 + def eval(env={}) + text_value.to_i + end + end + + def _nt_number + start_index = index + cached = node_cache[:number][index] + if cached + @index = cached.interval.end + return cached + end + + i0 = index + i1, s1 = index, [] + r2 = parse_char_class(/[1-9]/, '1-9', SyntaxNode) + s1 << r2 + if r2.success? + s3, i3 = [], index + loop do + r4 = parse_char_class(/[0-9]/, '0-9', SyntaxNode) + if r4.success? + s3 << r4 + else + break + end + end + r3 = SyntaxNode.new(input, i3...index, s3) + s1 << r3 + end + if s1.last.success? + r1 = (SyntaxNode).new(input, i1...index, s1) + r1.extend(Number0) + else + self.index = i1 + r1 = ParseFailure.new(input, i1) + end + if r1.success? + r0 = r1 + r0.extend(Number1) + else + r5 = parse_terminal('0', SyntaxNode) + if r5.success? + r0 = r5 + r0.extend(Number1) + else + self.index = i0 + r0 = ParseFailure.new(input, i0) + end + end + + node_cache[:number][start_index] = r0 + + return r0 + end + + def _nt_space + start_index = index + cached = node_cache[:space][index] + if cached + @index = cached.interval.end + return cached + end + + s0, i0 = [], index + loop do + r1 = parse_terminal(' ', SyntaxNode) + if r1.success? + s0 << r1 + else + break + end + end + r0 = SyntaxNode.new(input, i0...index, s0) + + node_cache[:space][start_index] = r0 + + return r0 + end + +end + +class ArithmeticParser < Treetop::Runtime::CompiledParser + include Arithmetic +end diff --git a/vendor/gems/gems/treetop-1.4.2/examples/lambda_calculus/arithmetic.treetop b/vendor/gems/gems/treetop-1.4.2/examples/lambda_calculus/arithmetic.treetop new file mode 100755 index 00000000..a54f6e24 --- /dev/null +++ b/vendor/gems/gems/treetop-1.4.2/examples/lambda_calculus/arithmetic.treetop @@ -0,0 +1,97 @@ +grammar Arithmetic + rule expression + comparative / additive + end + + rule comparative + operand_1:additive space operator:equality_op space operand_2:additive + end + + rule equality_op + '==' { + def apply(a, b) + a == b + end + } + end + + rule additive + operand_1:multitive + space operator:additive_op space + operand_2:additive + / + multitive + end + + rule additive_op + '+' { + def apply(a, b) + a + b + end + } + / + '-' { + def apply(a, b) + a - b + end + } + end + + rule multitive + operand_1:primary + space operator:multitive_op space + operand_2:multitive + / + primary + end + + rule multitive_op + '*' { + def apply(a, b) + a * b + end + } + / + '/' { + def apply(a, b) + a / b + end + } + end + + rule primary + variable + / + number + / + '(' space expression space ')' { + def eval(env={}) + expression.eval(env) + end + } + end + + rule variable + [a-z]+ { + def eval(env={}) + env[name] + end + + def name + text_value + end + } + end + + rule number + ([1-9] [0-9]* / '0') { + def eval(env={}) + text_value.to_i + end + } + end + + rule space + ' '* + end +end \ No newline at end of file diff --git a/vendor/gems/gems/treetop-1.4.2/examples/lambda_calculus/arithmetic_node_classes.rb b/vendor/gems/gems/treetop-1.4.2/examples/lambda_calculus/arithmetic_node_classes.rb new file mode 100755 index 00000000..63a60121 --- /dev/null +++ b/vendor/gems/gems/treetop-1.4.2/examples/lambda_calculus/arithmetic_node_classes.rb @@ -0,0 +1,7 @@ +module Arithmetic + class BinaryOperation < Treetop::Runtime::SyntaxNode + def eval(env={}) + operator.apply(operand_1.eval(env), operand_2.eval(env)) + end + end +end \ No newline at end of file diff --git a/vendor/gems/gems/treetop-1.4.2/examples/lambda_calculus/arithmetic_test.rb b/vendor/gems/gems/treetop-1.4.2/examples/lambda_calculus/arithmetic_test.rb new file mode 100755 index 00000000..753209cc --- /dev/null +++ b/vendor/gems/gems/treetop-1.4.2/examples/lambda_calculus/arithmetic_test.rb @@ -0,0 +1,54 @@ +dir = File.dirname(__FILE__) +require File.expand_path("#{dir}/test_helper") + +require File.expand_path("#{dir}/arithmetic_node_classes") +Treetop.load File.expand_path("#{dir}/arithmetic") + +class ArithmeticParserTest < Test::Unit::TestCase + include ParserTestHelper + + def setup + @parser = ArithmeticParser.new + end + + def test_number + assert_equal 0, parse('0').eval + assert_equal 1, parse('1').eval + assert_equal 123, parse('123').eval + end + + def test_variable + assert_equal 0, parse('x').eval('x' => 0) + assert_equal 3, parse('x').eval('x' => 3) + assert_equal 10, parse('y').eval('y' => 10) + end + + def test_addition + assert_equal 10, parse('x + 5').eval('x' => 5) + end + + def test_subtraction + assert_equal 0, parse('x - 5').eval('x' => 5) + end + + def test_multiplication + assert_equal 6, parse('x * 2').eval('x' => 3) + end + + def test_division + assert_equal 3, parse('x / 2').eval('x' => 6) + end + + def test_order_of_operations + assert_equal 11, parse('1 + 2 * 3 + 4').eval + end + + def test_parentheses + assert_equal 25, parse('(5 + x) * (10 - y)').eval('x' => 0, 'y' => 5) + end + + def test_equality + assert parse('4 == 4').eval + assert !parse('4 == 3').eval + end +end diff --git a/vendor/gems/gems/treetop-1.4.2/examples/lambda_calculus/lambda_calculus b/vendor/gems/gems/treetop-1.4.2/examples/lambda_calculus/lambda_calculus new file mode 100755 index 00000000..e69de29b diff --git a/vendor/gems/gems/treetop-1.4.2/examples/lambda_calculus/lambda_calculus.rb b/vendor/gems/gems/treetop-1.4.2/examples/lambda_calculus/lambda_calculus.rb new file mode 100755 index 00000000..8b5ae09f --- /dev/null +++ b/vendor/gems/gems/treetop-1.4.2/examples/lambda_calculus/lambda_calculus.rb @@ -0,0 +1,718 @@ +module LambdaCalculus + include Treetop::Runtime + + def root + @root || :program + end + + include Arithmetic + + module Program0 + def space + elements[1] + end + + def expression + elements[2] + end + end + + module Program1 + def expression + elements[0] + end + + def more_expressions + elements[1] + end + end + + module Program2 + def eval(env={}) + env = env.clone + last_eval = nil + expressions.each do |exp| + last_eval = exp.eval(env) + end + last_eval + end + + def expressions + [expression] + more_expressions.elements.map {|elt| elt.expression} + end + end + + def _nt_program + start_index = index + cached = node_cache[:program][index] + if cached + @index = cached.interval.end + return cached + end + + i0, s0 = index, [] + r1 = _nt_expression + s0 << r1 + if r1.success? + s2, i2 = [], index + loop do + i3, s3 = index, [] + r4 = parse_terminal(';', SyntaxNode) + s3 << r4 + if r4.success? + r5 = _nt_space + s3 << r5 + if r5.success? + r6 = _nt_expression + s3 << r6 + end + end + if s3.last.success? + r3 = (SyntaxNode).new(input, i3...index, s3) + r3.extend(Program0) + else + self.index = i3 + r3 = ParseFailure.new(input, i3) + end + if r3.success? + s2 << r3 + else + break + end + end + r2 = SyntaxNode.new(input, i2...index, s2) + s0 << r2 + end + if s0.last.success? + r0 = (SyntaxNode).new(input, i0...index, s0) + r0.extend(Program1) + r0.extend(Program2) + else + self.index = i0 + r0 = ParseFailure.new(input, i0) + end + + node_cache[:program][start_index] = r0 + + return r0 + end + + def _nt_expression + start_index = index + cached = node_cache[:expression][index] + if cached + @index = cached.interval.end + return cached + end + + i0 = index + r1 = _nt_definition + if r1.success? + r0 = r1 + else + r2 = _nt_conditional + if r2.success? + r0 = r2 + else + r3 = _nt_application + if r3.success? + r0 = r3 + else + r4 = _nt_function + if r4.success? + r0 = r4 + else + r5 = super + if r5.success? + r0 = r5 + else + self.index = i0 + r0 = ParseFailure.new(input, i0) + end + end + end + end + end + + node_cache[:expression][start_index] = r0 + + return r0 + end + + module Definition0 + def space + elements[1] + end + + def variable + elements[2] + end + + def space + elements[3] + end + + def expression + elements[4] + end + end + + module Definition1 + def eval(env) + env[variable.name] = expression.eval(env) + end + end + + def _nt_definition + start_index = index + cached = node_cache[:definition][index] + if cached + @index = cached.interval.end + return cached + end + + i0, s0 = index, [] + r1 = parse_terminal('def', SyntaxNode) + s0 << r1 + if r1.success? + r2 = _nt_space + s0 << r2 + if r2.success? + r3 = _nt_variable + s0 << r3 + if r3.success? + r4 = _nt_space + s0 << r4 + if r4.success? + r5 = _nt_expression + s0 << r5 + end + end + end + end + if s0.last.success? + r0 = (SyntaxNode).new(input, i0...index, s0) + r0.extend(Definition0) + r0.extend(Definition1) + else + self.index = i0 + r0 = ParseFailure.new(input, i0) + end + + node_cache[:definition][start_index] = r0 + + return r0 + end + + module Conditional0 + def space + elements[1] + end + + def space + elements[3] + end + + def condition + elements[4] + end + + def space + elements[5] + end + + def space + elements[7] + end + + def true_case + elements[8] + end + + def space + elements[9] + end + + def space + elements[11] + end + + def false_case + elements[12] + end + end + + module Conditional1 + def eval(env) + if condition.eval(env) + true_case.eval(env) + else + false_case.eval(env) + end + end + end + + def _nt_conditional + start_index = index + cached = node_cache[:conditional][index] + if cached + @index = cached.interval.end + return cached + end + + i0, s0 = index, [] + r1 = parse_terminal('if', SyntaxNode) + s0 << r1 + if r1.success? + r2 = _nt_space + s0 << r2 + if r2.success? + r3 = parse_terminal('(', SyntaxNode) + s0 << r3 + if r3.success? + r4 = _nt_space + s0 << r4 + if r4.success? + r5 = _nt_expression + s0 << r5 + if r5.success? + r6 = _nt_space + s0 << r6 + if r6.success? + r7 = parse_terminal(')', SyntaxNode) + s0 << r7 + if r7.success? + r8 = _nt_space + s0 << r8 + if r8.success? + r9 = _nt_expression + s0 << r9 + if r9.success? + r10 = _nt_space + s0 << r10 + if r10.success? + r11 = parse_terminal('else', SyntaxNode) + s0 << r11 + if r11.success? + r12 = _nt_space + s0 << r12 + if r12.success? + r13 = _nt_expression + s0 << r13 + end + end + end + end + end + end + end + end + end + end + end + end + if s0.last.success? + r0 = (SyntaxNode).new(input, i0...index, s0) + r0.extend(Conditional0) + r0.extend(Conditional1) + else + self.index = i0 + r0 = ParseFailure.new(input, i0) + end + + node_cache[:conditional][start_index] = r0 + + return r0 + end + + def _nt_primary + start_index = index + cached = node_cache[:primary][index] + if cached + @index = cached.interval.end + return cached + end + + i0 = index + r1 = _nt_application + if r1.success? + r0 = r1 + else + r2 = super + if r2.success? + r0 = r2 + else + self.index = i0 + r0 = ParseFailure.new(input, i0) + end + end + + node_cache[:primary][start_index] = r0 + + return r0 + end + + module Application0 + def operator + elements[0] + end + + def space + elements[1] + end + + def expression + elements[2] + end + end + + module Application1 + def eval(env={}) + left_associative_apply(operator.eval(env), env) + end + + def left_associative_apply(operator, env) + if expression.instance_of?(Application) + expression.left_associative_apply(operator.apply(expression.operator.eval(env)), env) + else + operator.apply(expression.eval(env)) + end + end + + def to_s(env={}) + operator.to_s(env) + ' ' + expression.to_s(env) + end + end + + def _nt_application + start_index = index + cached = node_cache[:application][index] + if cached + @index = cached.interval.end + return cached + end + + i0, s0 = index, [] + r1 = _nt_operator + s0 << r1 + if r1.success? + r2 = _nt_space + s0 << r2 + if r2.success? + r3 = _nt_expression + s0 << r3 + end + end + if s0.last.success? + r0 = (Application).new(input, i0...index, s0) + r0.extend(Application0) + r0.extend(Application1) + else + self.index = i0 + r0 = ParseFailure.new(input, i0) + end + + node_cache[:application][start_index] = r0 + + return r0 + end + + def _nt_operator + start_index = index + cached = node_cache[:operator][index] + if cached + @index = cached.interval.end + return cached + end + + i0 = index + r1 = _nt_function + if r1.success? + r0 = r1 + else + r2 = _nt_variable + if r2.success? + r0 = r2 + else + self.index = i0 + r0 = ParseFailure.new(input, i0) + end + end + + node_cache[:operator][start_index] = r0 + + return r0 + end + + def _nt_non_application + start_index = index + cached = node_cache[:non_application][index] + if cached + @index = cached.interval.end + return cached + end + + i0 = index + r1 = _nt_function + if r1.success? + r0 = r1 + else + r2 = _nt_variable + if r2.success? + r0 = r2 + else + self.index = i0 + r0 = ParseFailure.new(input, i0) + end + end + + node_cache[:non_application][start_index] = r0 + + return r0 + end + + module Function0 + def param + elements[1] + end + + def body + elements[3] + end + + end + + module Function1 + class Closure + attr_reader :env, :function + + def initialize(function, env) + @function = function + @env = env + end + + def apply(arg) + function.body.eval(function.param.bind(arg, env)) + end + + def to_s(other_env={}) + "\\#{function.param.to_s}(#{function.body.to_s(other_env.merge(env))})" + end + end + + def eval(env={}) + Closure.new(self, env) + end + + def to_s(env={}) + eval(env).to_s + end + end + + def _nt_function + start_index = index + cached = node_cache[:function][index] + if cached + @index = cached.interval.end + return cached + end + + i0, s0 = index, [] + r1 = parse_terminal('\\', SyntaxNode) + s0 << r1 + if r1.success? + r2 = _nt_variable + s0 << r2 + if r2.success? + r3 = parse_terminal('(', SyntaxNode) + s0 << r3 + if r3.success? + r4 = _nt_expression + s0 << r4 + if r4.success? + r5 = parse_terminal(')', SyntaxNode) + s0 << r5 + end + end + end + end + if s0.last.success? + r0 = (SyntaxNode).new(input, i0...index, s0) + r0.extend(Function0) + r0.extend(Function1) + else + self.index = i0 + r0 = ParseFailure.new(input, i0) + end + + node_cache[:function][start_index] = r0 + + return r0 + end + + module Variable0 + def bind(value, env) + env.merge(name => value) + end + + def to_s(env={}) + env.has_key?(name) ? env[name].to_s : name + end + end + + module Variable1 + end + + def _nt_variable + start_index = index + cached = node_cache[:variable][index] + if cached + @index = cached.interval.end + return cached + end + + i0, s0 = index, [] + i1 = index + r2 = _nt_keyword + if r2.success? + r1 = ParseFailure.new(input, i1) + else + self.index = i1 + r1 = SyntaxNode.new(input, index...index) + end + s0 << r1 + if r1.success? + r3 = super + r3.extend(Variable0) + s0 << r3 + end + if s0.last.success? + r0 = (SyntaxNode).new(input, i0...index, s0) + r0.extend(Variable1) + else + self.index = i0 + r0 = ParseFailure.new(input, i0) + end + + node_cache[:variable][start_index] = r0 + + return r0 + end + + module Keyword0 + end + + def _nt_keyword + start_index = index + cached = node_cache[:keyword][index] + if cached + @index = cached.interval.end + return cached + end + + i0, s0 = index, [] + i1 = index + r2 = parse_terminal('if', SyntaxNode) + if r2.success? + r1 = r2 + else + r3 = parse_terminal('else', SyntaxNode) + if r3.success? + r1 = r3 + else + self.index = i1 + r1 = ParseFailure.new(input, i1) + end + end + s0 << r1 + if r1.success? + i4 = index + r5 = _nt_non_space_char + if r5.success? + r4 = ParseFailure.new(input, i4) + else + self.index = i4 + r4 = SyntaxNode.new(input, index...index) + end + s0 << r4 + end + if s0.last.success? + r0 = (SyntaxNode).new(input, i0...index, s0) + r0.extend(Keyword0) + else + self.index = i0 + r0 = ParseFailure.new(input, i0) + end + + node_cache[:keyword][start_index] = r0 + + return r0 + end + + module NonSpaceChar0 + end + + def _nt_non_space_char + start_index = index + cached = node_cache[:non_space_char][index] + if cached + @index = cached.interval.end + return cached + end + + i0, s0 = index, [] + i1 = index + r2 = parse_char_class(/[ \n]/, ' \n', SyntaxNode) + if r2.success? + r1 = ParseFailure.new(input, i1) + else + self.index = i1 + r1 = SyntaxNode.new(input, index...index) + end + s0 << r1 + if r1.success? + r3 = parse_anything(SyntaxNode) + s0 << r3 + end + if s0.last.success? + r0 = (SyntaxNode).new(input, i0...index, s0) + r0.extend(NonSpaceChar0) + else + self.index = i0 + r0 = ParseFailure.new(input, i0) + end + + node_cache[:non_space_char][start_index] = r0 + + return r0 + end + + def _nt_space + start_index = index + cached = node_cache[:space][index] + if cached + @index = cached.interval.end + return cached + end + + s0, i0 = [], index + loop do + r1 = parse_char_class(/[ \n]/, ' \n', SyntaxNode) + if r1.success? + s0 << r1 + else + break + end + end + r0 = SyntaxNode.new(input, i0...index, s0) + + node_cache[:space][start_index] = r0 + + return r0 + end + +end + +class LambdaCalculusParser < Treetop::Runtime::CompiledParser + include LambdaCalculus +end diff --git a/vendor/gems/gems/treetop-1.4.2/examples/lambda_calculus/lambda_calculus.treetop b/vendor/gems/gems/treetop-1.4.2/examples/lambda_calculus/lambda_calculus.treetop new file mode 100755 index 00000000..7e72c932 --- /dev/null +++ b/vendor/gems/gems/treetop-1.4.2/examples/lambda_calculus/lambda_calculus.treetop @@ -0,0 +1,132 @@ +grammar LambdaCalculus + include Arithmetic + + rule program + expression more_expressions:(';' space expression)* { + def eval(env={}) + env = env.clone + last_eval = nil + expressions.each do |exp| + last_eval = exp.eval(env) + end + last_eval + end + + def expressions + [expression] + more_expressions.elements.map {|elt| elt.expression} + end + } + end + + rule expression + definition / conditional / application / function / super + end + + rule definition + 'def' space variable space expression { + def eval(env) + env[variable.name] = expression.eval(env) + end + } + end + + rule conditional + 'if' space '(' space condition:expression space ')' space + true_case:expression space 'else' space false_case:expression { + def eval(env) + if condition.eval(env) + true_case.eval(env) + else + false_case.eval(env) + end + end + } + end + + rule primary + application / super + end + + rule application + operator space expression { + def eval(env={}) + left_associative_apply(operator.eval(env), env) + end + + def left_associative_apply(operator, env) + if expression.instance_of?(Application) + expression.left_associative_apply(operator.apply(expression.operator.eval(env)), env) + else + operator.apply(expression.eval(env)) + end + end + + def to_s(env={}) + operator.to_s(env) + ' ' + expression.to_s(env) + end + } + end + + rule operator + function / variable + end + + rule non_application + function / variable + end + + rule function + '\\' param:variable '(' body:expression ')' { + class Closure + attr_reader :env, :function + + def initialize(function, env) + @function = function + @env = env + end + + def apply(arg) + function.body.eval(function.param.bind(arg, env)) + end + + def to_s(other_env={}) + "\\#{function.param.to_s}(#{function.body.to_s(other_env.merge(env))})" + end + end + + def eval(env={}) + Closure.new(self, env) + end + + def to_s(env={}) + eval(env).to_s + end + } + end + + rule variable + !keyword ( + super { + def bind(value, env) + env.merge(name => value) + end + + def to_s(env={}) + env.has_key?(name) ? env[name].to_s : name + end + } + ) + end + + rule keyword + ('if' / 'else') !non_space_char + end + + rule non_space_char + ![ \n] . + end + + rule space + [ \n]* + end +end \ No newline at end of file diff --git a/vendor/gems/gems/treetop-1.4.2/examples/lambda_calculus/lambda_calculus_node_classes.rb b/vendor/gems/gems/treetop-1.4.2/examples/lambda_calculus/lambda_calculus_node_classes.rb new file mode 100755 index 00000000..9a220ec8 --- /dev/null +++ b/vendor/gems/gems/treetop-1.4.2/examples/lambda_calculus/lambda_calculus_node_classes.rb @@ -0,0 +1,5 @@ +module LambdaCalculus + class Application < Treetop::Runtime::SyntaxNode + + end +end \ No newline at end of file diff --git a/vendor/gems/gems/treetop-1.4.2/examples/lambda_calculus/lambda_calculus_test.rb b/vendor/gems/gems/treetop-1.4.2/examples/lambda_calculus/lambda_calculus_test.rb new file mode 100755 index 00000000..0844ef03 --- /dev/null +++ b/vendor/gems/gems/treetop-1.4.2/examples/lambda_calculus/lambda_calculus_test.rb @@ -0,0 +1,89 @@ +dir = File.dirname(__FILE__) +require File.expand_path("#{dir}/test_helper") +require File.expand_path("#{dir}/arithmetic_node_classes") +require File.expand_path("#{dir}/lambda_calculus_node_classes") +Treetop.load File.expand_path("#{dir}/arithmetic") +Treetop.load File.expand_path("#{dir}/lambda_calculus") + +class Treetop::Runtime::SyntaxNode + def method_missing(method, *args) + raise "Node representing #{text_value} does not respond to #{method}" + end +end + +class LambdaCalculusParserTest < Test::Unit::TestCase + include ParserTestHelper + + def setup + @parser = LambdaCalculusParser.new + end + + def test_free_variable + assert_equal 'x', parse('x').eval.to_s + end + + def test_variable_binding + variable = parse('x').eval + env = variable.bind(1, {}) + assert_equal 1, env['x'] + end + + def test_bound_variable_evaluation + assert_equal 1, parse('x').eval({'x' => 1}) + end + + def test_identity_function + assert_equal '\x(x)', parse('\x(x)').eval.to_s + end + + def test_function_returning_constant_function + assert_equal '\x(\y(x))', parse('\x(\y(x))').eval.to_s + end + + def test_identity_function_application + assert_equal 1, parse('\x(x) 1').eval + assert_equal '\y(y)', parse('\x(x) \y(y)').eval.to_s + end + + def test_constant_function_construction + assert_equal '\y(1)', parse('\x(\y(x)) 1').eval.to_s + end + + def test_multiple_argument_application_is_left_associative + assert_equal '\b(b)', parse('\x(\y(x y)) \a(a) \b(b)').eval.to_s + end + + def test_parentheses_override_application_order + assert_equal '\y(\b(b) y)', parse('\x(\y(x y)) (\a(a) \b(b))').eval.to_s + end + + def test_arithmetic_in_function_body + assert_equal 10, parse('\x(x + 5) 5').eval + end + + def test_addition_of_function_results + assert_equal 20, parse('\x(x + 5) 5 + \x(15 - x) 5').eval + end + + def test_conditional + result = parse('if (x) 1 else 2') + assert_equal 1, result.eval({'x' => true}) + assert_equal 2, result.eval({'x' => false}) + end + + def test_keyword + assert @parser.parse('if').failure? + assert @parser.parse('else').failure? + assert parse('elsee').success? + assert parse('iff').success? + end + + def test_program + result = parse('def fact \x(if (x == 0) + 1 + else + x * fact (x - 1)); + fact(5)').eval + assert_equal 5 * 4 * 3 * 2, result + end +end diff --git a/vendor/gems/gems/treetop-1.4.2/examples/lambda_calculus/test_helper.rb b/vendor/gems/gems/treetop-1.4.2/examples/lambda_calculus/test_helper.rb new file mode 100755 index 00000000..bfdb7adc --- /dev/null +++ b/vendor/gems/gems/treetop-1.4.2/examples/lambda_calculus/test_helper.rb @@ -0,0 +1,18 @@ +require 'test/unit' +require 'rubygems' +require 'treetop' + +module ParserTestHelper + def assert_evals_to_self(input) + assert_evals_to(input, input) + end + + def parse(input) + result = @parser.parse(input) + unless result + puts @parser.terminal_failures.join("\n") + end + assert !result.nil? + result + end +end \ No newline at end of file diff --git a/vendor/gems/gems/treetop-1.4.2/lib/treetop.rb b/vendor/gems/gems/treetop-1.4.2/lib/treetop.rb new file mode 100755 index 00000000..07315333 --- /dev/null +++ b/vendor/gems/gems/treetop-1.4.2/lib/treetop.rb @@ -0,0 +1,16 @@ +require 'rubygems' + +module Treetop + VALID_GRAMMAR_EXT = ['treetop', 'tt'] + VALID_GRAMMAR_EXT_REGEXP = /\.(#{VALID_GRAMMAR_EXT.join('|')})\Z/o +end + +dir = File.dirname(__FILE__) + +TREETOP_ROOT = File.join(dir, 'treetop') +require File.join(TREETOP_ROOT, "ruby_extensions") +require File.join(TREETOP_ROOT, "runtime") +require File.join(TREETOP_ROOT, "compiler") + +require 'polyglot' +Polyglot.register(Treetop::VALID_GRAMMAR_EXT, Treetop) diff --git a/vendor/gems/gems/treetop-1.4.2/lib/treetop/bootstrap_gen_1_metagrammar.rb b/vendor/gems/gems/treetop-1.4.2/lib/treetop/bootstrap_gen_1_metagrammar.rb new file mode 100755 index 00000000..f587bfa8 --- /dev/null +++ b/vendor/gems/gems/treetop-1.4.2/lib/treetop/bootstrap_gen_1_metagrammar.rb @@ -0,0 +1,45 @@ +# This file's job is to load a Treetop::Compiler::Metagrammar and Treetop::Compiler::MetagrammarParser +# into the environment by compiling the current metagrammar.treetop using a trusted version of Treetop. + +require 'rubygems' +dir = File.dirname(__FILE__) + +TREETOP_VERSION_REQUIRED_TO_BOOTSTRAP = '>= 1.1.5' + +# Loading trusted version of Treetop to compile the compiler +gem_spec = Gem.source_index.find_name('treetop', TREETOP_VERSION_REQUIRED_TO_BOOTSTRAP).last +raise "Install a Treetop Gem version #{TREETOP_VERSION_REQUIRED_TO_BOOTSTRAP} to bootstrap." unless gem_spec +trusted_treetop_path = gem_spec.full_gem_path +require File.join(trusted_treetop_path, 'lib', 'treetop') + +# Relocating trusted version of Treetop to Trusted::Treetop +Trusted = Module.new +Trusted::Treetop = Treetop +Object.send(:remove_const, :Treetop) +Object.send(:remove_const, :TREETOP_ROOT) + +# Requiring version of Treetop that is under test +$exclude_metagrammar = true +require File.expand_path(File.join(dir, '..', 'treetop')) + +# Compile and evaluate freshly generated metagrammar source +METAGRAMMAR_PATH = File.join(TREETOP_ROOT, 'compiler', 'metagrammar.treetop') +compiled_metagrammar_source = Trusted::Treetop::Compiler::GrammarCompiler.new.ruby_source(METAGRAMMAR_PATH) +Object.class_eval(compiled_metagrammar_source) + +# The compiler under test was compiled with the trusted grammar and therefore depends on its runtime +# But the runtime in the global namespace is the new runtime. We therefore inject the trusted runtime +# into the compiler so its parser functions correctly. It will still not work for custom classes that +# explicitly subclass the wrong runtime. For now I am working around this by keeping 1 generation of +# backward compatibility in these cases. +# Treetop::Compiler::Metagrammar.module_eval do +# include Trusted::Treetop::Runtime +# end +# +# Treetop::Compiler.send(:remove_const, :MetagrammarParser) +# class Treetop::Compiler::MetagrammarParser < Trusted::Treetop::Runtime::CompiledParser +# include Treetop::Compiler::Metagrammar +# include Trusted::Treetop::Runtime +# end + +$bootstrapped_gen_1_metagrammar = true \ No newline at end of file diff --git a/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler.rb b/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler.rb new file mode 100755 index 00000000..75b4893f --- /dev/null +++ b/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler.rb @@ -0,0 +1,6 @@ +dir = File.dirname(__FILE__) +require File.join(dir, *%w[compiler lexical_address_space]) +require File.join(dir, *%w[compiler ruby_builder]) +require File.join(dir, *%w[compiler node_classes]) +require File.join(dir, *%w[compiler metagrammar]) unless defined?($exclude_metagrammar) +require File.join(dir, *%w[compiler grammar_compiler]) diff --git a/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/grammar_compiler.rb b/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/grammar_compiler.rb new file mode 100755 index 00000000..24e9cf16 --- /dev/null +++ b/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/grammar_compiler.rb @@ -0,0 +1,44 @@ +module Treetop + module Compiler + AUTOGENERATED = "# Autogenerated from a Treetop grammar. Edits may be lost.\n" + class GrammarCompiler + def compile(source_path, target_path = source_path.gsub(/\.(treetop|tt)\Z/, '.rb')) + File.open(target_path, 'w') do |target_file| + target_file.write(AUTOGENERATED+"\n\n") + target_file.write(ruby_source(source_path)) + end + end + + # compile a treetop file into ruby + def ruby_source(source_path) + ruby_source_from_string(File.read(source_path)) + end + + # compile a string containing treetop source into ruby + def ruby_source_from_string(s) + parser = MetagrammarParser.new + result = parser.parse(s) + unless result + raise RuntimeError.new(parser.failure_reason) + end + result.compile + end + end + end + + # compile a treetop source file and load it + def self.load(path) + adjusted_path = path =~ /\.(treetop|tt)\Z/ ? path : path + '.treetop' + File.open(adjusted_path) do |source_file| + source = source_file.read + source.gsub!(/\b__FILE__\b/, %Q{"#{adjusted_path}"}) + load_from_string(source) + end + end + + # compile a treetop source string and load it + def self.load_from_string(s) + compiler = Treetop::Compiler::GrammarCompiler.new + Object.class_eval(compiler.ruby_source_from_string(s)) + end +end diff --git a/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/lexical_address_space.rb b/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/lexical_address_space.rb new file mode 100755 index 00000000..a09478c1 --- /dev/null +++ b/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/lexical_address_space.rb @@ -0,0 +1,17 @@ +module Treetop + module Compiler + class LexicalAddressSpace + def initialize + reset_addresses + end + + def next_address + @next_address += 1 + end + + def reset_addresses + @next_address = -1 + end + end + end +end \ No newline at end of file diff --git a/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/metagrammar.rb b/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/metagrammar.rb new file mode 100755 index 00000000..3d4c19c4 --- /dev/null +++ b/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/metagrammar.rb @@ -0,0 +1,3258 @@ +# Autogenerated from a Treetop grammar. Edits may be lost. + + +module Treetop + module Compiler + module Metagrammar + include Treetop::Runtime + + def root + @root || :treetop_file + end + + module TreetopFile0 + def require_statement + elements[1] + end + end + + module TreetopFile1 + def requires + elements[0] + end + + def prefix + elements[1] + end + + def module_or_grammar + elements[2] + end + + def suffix + elements[3] + end + end + + module TreetopFile2 + def compile + requires.text_value + prefix.text_value + module_or_grammar.compile + suffix.text_value + end + end + + def _nt_treetop_file + start_index = index + if node_cache[:treetop_file].has_key?(index) + cached = node_cache[:treetop_file][index] + @index = cached.interval.end if cached + return cached + end + + i0, s0 = index, [] + s1, i1 = [], index + loop do + i2, s2 = index, [] + r4 = _nt_space + if r4 + r3 = r4 + else + r3 = instantiate_node(SyntaxNode,input, index...index) + end + s2 << r3 + if r3 + r5 = _nt_require_statement + s2 << r5 + end + if s2.last + r2 = instantiate_node(SyntaxNode,input, i2...index, s2) + r2.extend(TreetopFile0) + else + @index = i2 + r2 = nil + end + if r2 + s1 << r2 + else + break + end + end + r1 = instantiate_node(SyntaxNode,input, i1...index, s1) + s0 << r1 + if r1 + r7 = _nt_space + if r7 + r6 = r7 + else + r6 = instantiate_node(SyntaxNode,input, index...index) + end + s0 << r6 + if r6 + i8 = index + r9 = _nt_module_declaration + if r9 + r8 = r9 + else + r10 = _nt_grammar + if r10 + r8 = r10 + else + @index = i8 + r8 = nil + end + end + s0 << r8 + if r8 + r12 = _nt_space + if r12 + r11 = r12 + else + r11 = instantiate_node(SyntaxNode,input, index...index) + end + s0 << r11 + end + end + end + if s0.last + r0 = instantiate_node(SyntaxNode,input, i0...index, s0) + r0.extend(TreetopFile1) + r0.extend(TreetopFile2) + else + @index = i0 + r0 = nil + end + + node_cache[:treetop_file][start_index] = r0 + + r0 + end + + module RequireStatement0 + def prefix + elements[0] + end + + end + + def _nt_require_statement + start_index = index + if node_cache[:require_statement].has_key?(index) + cached = node_cache[:require_statement][index] + @index = cached.interval.end if cached + return cached + end + + i0, s0 = index, [] + r2 = _nt_space + if r2 + r1 = r2 + else + r1 = instantiate_node(SyntaxNode,input, index...index) + end + s0 << r1 + if r1 + if has_terminal?("require", false, index) + r3 = instantiate_node(SyntaxNode,input, index...(index + 7)) + @index += 7 + else + terminal_parse_failure("require") + r3 = nil + end + s0 << r3 + if r3 + s4, i4 = [], index + loop do + if has_terminal?('\G[ \\t]', true, index) + next_character = index + input[index..-1].match(/\A(.)/um).end(1) + r5 = true + @index = next_character + else + r5 = nil + end + if r5 + s4 << r5 + else + break + end + end + if s4.empty? + @index = i4 + r4 = nil + else + r4 = instantiate_node(SyntaxNode,input, i4...index, s4) + end + s0 << r4 + if r4 + s6, i6 = [], index + loop do + if has_terminal?('\G[^\\n\\r]', true, index) + next_character = index + input[index..-1].match(/\A(.)/um).end(1) + r7 = true + @index = next_character + else + r7 = nil + end + if r7 + s6 << r7 + else + break + end + end + if s6.empty? + @index = i6 + r6 = nil + else + r6 = instantiate_node(SyntaxNode,input, i6...index, s6) + end + s0 << r6 + if r6 + if has_terminal?('\G[\\n\\r]', true, index) + next_character = index + input[index..-1].match(/\A(.)/um).end(1) + r8 = true + @index = next_character + else + r8 = nil + end + s0 << r8 + end + end + end + end + if s0.last + r0 = instantiate_node(SyntaxNode,input, i0...index, s0) + r0.extend(RequireStatement0) + else + @index = i0 + r0 = nil + end + + node_cache[:require_statement][start_index] = r0 + + r0 + end + + module ModuleDeclaration0 + def space1 + elements[1] + end + + def space2 + elements[4] + end + end + + module ModuleDeclaration1 + def space + elements[0] + end + + end + + module ModuleDeclaration2 + def prefix + elements[0] + end + + def module_contents + elements[1] + end + + def suffix + elements[2] + end + end + + module ModuleDeclaration3 + def compile + prefix.text_value + module_contents.compile + suffix.text_value + end + end + + def _nt_module_declaration + start_index = index + if node_cache[:module_declaration].has_key?(index) + cached = node_cache[:module_declaration][index] + @index = cached.interval.end if cached + return cached + end + + i0, s0 = index, [] + i1, s1 = index, [] + if has_terminal?('module', false, index) + r2 = instantiate_node(SyntaxNode,input, index...(index + 6)) + @index += 6 + else + terminal_parse_failure('module') + r2 = nil + end + s1 << r2 + if r2 + r3 = _nt_space + s1 << r3 + if r3 + if has_terminal?('\G[A-Z]', true, index) + next_character = index + input[index..-1].match(/\A(.)/um).end(1) + r4 = true + @index = next_character + else + r4 = nil + end + s1 << r4 + if r4 + s5, i5 = [], index + loop do + r6 = _nt_alphanumeric_char + if r6 + s5 << r6 + else + break + end + end + r5 = instantiate_node(SyntaxNode,input, i5...index, s5) + s1 << r5 + if r5 + r7 = _nt_space + s1 << r7 + end + end + end + end + if s1.last + r1 = instantiate_node(SyntaxNode,input, i1...index, s1) + r1.extend(ModuleDeclaration0) + else + @index = i1 + r1 = nil + end + s0 << r1 + if r1 + i8 = index + r9 = _nt_module_declaration + if r9 + r8 = r9 + else + r10 = _nt_grammar + if r10 + r8 = r10 + else + @index = i8 + r8 = nil + end + end + s0 << r8 + if r8 + i11, s11 = index, [] + r12 = _nt_space + s11 << r12 + if r12 + if has_terminal?('end', false, index) + r13 = instantiate_node(SyntaxNode,input, index...(index + 3)) + @index += 3 + else + terminal_parse_failure('end') + r13 = nil + end + s11 << r13 + end + if s11.last + r11 = instantiate_node(SyntaxNode,input, i11...index, s11) + r11.extend(ModuleDeclaration1) + else + @index = i11 + r11 = nil + end + s0 << r11 + end + end + if s0.last + r0 = instantiate_node(SyntaxNode,input, i0...index, s0) + r0.extend(ModuleDeclaration2) + r0.extend(ModuleDeclaration3) + else + @index = i0 + r0 = nil + end + + node_cache[:module_declaration][start_index] = r0 + + r0 + end + + module Grammar0 + def space + elements[1] + end + end + + module Grammar1 + def space1 + elements[1] + end + + def grammar_name + elements[2] + end + + def space2 + elements[3] + end + + def declaration_sequence + elements[5] + end + + end + + def _nt_grammar + start_index = index + if node_cache[:grammar].has_key?(index) + cached = node_cache[:grammar][index] + @index = cached.interval.end if cached + return cached + end + + i0, s0 = index, [] + if has_terminal?('grammar', false, index) + r1 = instantiate_node(SyntaxNode,input, index...(index + 7)) + @index += 7 + else + terminal_parse_failure('grammar') + r1 = nil + end + s0 << r1 + if r1 + r2 = _nt_space + s0 << r2 + if r2 + r3 = _nt_grammar_name + s0 << r3 + if r3 + r4 = _nt_space + s0 << r4 + if r4 + i6, s6 = index, [] + if has_terminal?('do', false, index) + r7 = instantiate_node(SyntaxNode,input, index...(index + 2)) + @index += 2 + else + terminal_parse_failure('do') + r7 = nil + end + s6 << r7 + if r7 + r8 = _nt_space + s6 << r8 + end + if s6.last + r6 = instantiate_node(SyntaxNode,input, i6...index, s6) + r6.extend(Grammar0) + else + @index = i6 + r6 = nil + end + if r6 + r5 = r6 + else + r5 = instantiate_node(SyntaxNode,input, index...index) + end + s0 << r5 + if r5 + r9 = _nt_declaration_sequence + s0 << r9 + if r9 + r11 = _nt_space + if r11 + r10 = r11 + else + r10 = instantiate_node(SyntaxNode,input, index...index) + end + s0 << r10 + if r10 + if has_terminal?('end', false, index) + r12 = instantiate_node(SyntaxNode,input, index...(index + 3)) + @index += 3 + else + terminal_parse_failure('end') + r12 = nil + end + s0 << r12 + end + end + end + end + end + end + end + if s0.last + r0 = instantiate_node(Grammar,input, i0...index, s0) + r0.extend(Grammar1) + else + @index = i0 + r0 = nil + end + + node_cache[:grammar][start_index] = r0 + + r0 + end + + module GrammarName0 + end + + def _nt_grammar_name + start_index = index + if node_cache[:grammar_name].has_key?(index) + cached = node_cache[:grammar_name][index] + @index = cached.interval.end if cached + return cached + end + + i0, s0 = index, [] + if has_terminal?('\G[A-Z]', true, index) + next_character = index + input[index..-1].match(/\A(.)/um).end(1) + r1 = true + @index = next_character + else + r1 = nil + end + s0 << r1 + if r1 + s2, i2 = [], index + loop do + r3 = _nt_alphanumeric_char + if r3 + s2 << r3 + else + break + end + end + r2 = instantiate_node(SyntaxNode,input, i2...index, s2) + s0 << r2 + end + if s0.last + r0 = instantiate_node(SyntaxNode,input, i0...index, s0) + r0.extend(GrammarName0) + else + @index = i0 + r0 = nil + end + + node_cache[:grammar_name][start_index] = r0 + + r0 + end + + module DeclarationSequence0 + def space + elements[0] + end + + def declaration + elements[1] + end + end + + module DeclarationSequence1 + def head + elements[0] + end + + def tail + elements[1] + end + end + + module DeclarationSequence2 + def declarations + [head] + tail + end + + def tail + super.elements.map { |elt| elt.declaration } + end + end + + module DeclarationSequence3 + def compile(builder) + end + end + + def _nt_declaration_sequence + start_index = index + if node_cache[:declaration_sequence].has_key?(index) + cached = node_cache[:declaration_sequence][index] + @index = cached.interval.end if cached + return cached + end + + i0 = index + i1, s1 = index, [] + r2 = _nt_declaration + s1 << r2 + if r2 + s3, i3 = [], index + loop do + i4, s4 = index, [] + r5 = _nt_space + s4 << r5 + if r5 + r6 = _nt_declaration + s4 << r6 + end + if s4.last + r4 = instantiate_node(SyntaxNode,input, i4...index, s4) + r4.extend(DeclarationSequence0) + else + @index = i4 + r4 = nil + end + if r4 + s3 << r4 + else + break + end + end + r3 = instantiate_node(SyntaxNode,input, i3...index, s3) + s1 << r3 + end + if s1.last + r1 = instantiate_node(DeclarationSequence,input, i1...index, s1) + r1.extend(DeclarationSequence1) + r1.extend(DeclarationSequence2) + else + @index = i1 + r1 = nil + end + if r1 + r0 = r1 + else + if has_terminal?('', false, index) + r7 = instantiate_node(SyntaxNode,input, index...(index + 0)) + r7.extend(DeclarationSequence3) + @index += 0 + else + terminal_parse_failure('') + r7 = nil + end + if r7 + r0 = r7 + else + @index = i0 + r0 = nil + end + end + + node_cache[:declaration_sequence][start_index] = r0 + + r0 + end + + def _nt_declaration + start_index = index + if node_cache[:declaration].has_key?(index) + cached = node_cache[:declaration][index] + @index = cached.interval.end if cached + return cached + end + + i0 = index + r1 = _nt_parsing_rule + if r1 + r0 = r1 + else + r2 = _nt_include_declaration + if r2 + r0 = r2 + else + @index = i0 + r0 = nil + end + end + + node_cache[:declaration][start_index] = r0 + + r0 + end + + module IncludeDeclaration0 + def space + elements[1] + end + + end + + module IncludeDeclaration1 + def compile(builder) + builder << text_value + end + end + + def _nt_include_declaration + start_index = index + if node_cache[:include_declaration].has_key?(index) + cached = node_cache[:include_declaration][index] + @index = cached.interval.end if cached + return cached + end + + i0, s0 = index, [] + if has_terminal?('include', false, index) + r1 = instantiate_node(SyntaxNode,input, index...(index + 7)) + @index += 7 + else + terminal_parse_failure('include') + r1 = nil + end + s0 << r1 + if r1 + r2 = _nt_space + s0 << r2 + if r2 + if has_terminal?('\G[A-Z]', true, index) + next_character = index + input[index..-1].match(/\A(.)/um).end(1) + r3 = true + @index = next_character + else + r3 = nil + end + s0 << r3 + if r3 + s4, i4 = [], index + loop do + i5 = index + r6 = _nt_alphanumeric_char + if r6 + r5 = r6 + else + if has_terminal?('::', false, index) + r7 = instantiate_node(SyntaxNode,input, index...(index + 2)) + @index += 2 + else + terminal_parse_failure('::') + r7 = nil + end + if r7 + r5 = r7 + else + @index = i5 + r5 = nil + end + end + if r5 + s4 << r5 + else + break + end + end + r4 = instantiate_node(SyntaxNode,input, i4...index, s4) + s0 << r4 + end + end + end + if s0.last + r0 = instantiate_node(SyntaxNode,input, i0...index, s0) + r0.extend(IncludeDeclaration0) + r0.extend(IncludeDeclaration1) + else + @index = i0 + r0 = nil + end + + node_cache[:include_declaration][start_index] = r0 + + r0 + end + + module ParsingRule0 + def space + elements[1] + end + end + + module ParsingRule1 + def space1 + elements[1] + end + + def nonterminal + elements[2] + end + + def space2 + elements[3] + end + + def parsing_expression + elements[5] + end + + def space3 + elements[6] + end + + end + + def _nt_parsing_rule + start_index = index + if node_cache[:parsing_rule].has_key?(index) + cached = node_cache[:parsing_rule][index] + @index = cached.interval.end if cached + return cached + end + + i0, s0 = index, [] + if has_terminal?('rule', false, index) + r1 = instantiate_node(SyntaxNode,input, index...(index + 4)) + @index += 4 + else + terminal_parse_failure('rule') + r1 = nil + end + s0 << r1 + if r1 + r2 = _nt_space + s0 << r2 + if r2 + r3 = _nt_nonterminal + s0 << r3 + if r3 + r4 = _nt_space + s0 << r4 + if r4 + i6, s6 = index, [] + if has_terminal?('do', false, index) + r7 = instantiate_node(SyntaxNode,input, index...(index + 2)) + @index += 2 + else + terminal_parse_failure('do') + r7 = nil + end + s6 << r7 + if r7 + r8 = _nt_space + s6 << r8 + end + if s6.last + r6 = instantiate_node(SyntaxNode,input, i6...index, s6) + r6.extend(ParsingRule0) + else + @index = i6 + r6 = nil + end + if r6 + r5 = r6 + else + r5 = instantiate_node(SyntaxNode,input, index...index) + end + s0 << r5 + if r5 + r9 = _nt_parsing_expression + s0 << r9 + if r9 + r10 = _nt_space + s0 << r10 + if r10 + if has_terminal?('end', false, index) + r11 = instantiate_node(SyntaxNode,input, index...(index + 3)) + @index += 3 + else + terminal_parse_failure('end') + r11 = nil + end + s0 << r11 + end + end + end + end + end + end + end + if s0.last + r0 = instantiate_node(ParsingRule,input, i0...index, s0) + r0.extend(ParsingRule1) + else + @index = i0 + r0 = nil + end + + node_cache[:parsing_rule][start_index] = r0 + + r0 + end + + def _nt_parsing_expression + start_index = index + if node_cache[:parsing_expression].has_key?(index) + cached = node_cache[:parsing_expression][index] + @index = cached.interval.end if cached + return cached + end + + i0 = index + r1 = _nt_choice + if r1 + r0 = r1 + else + r2 = _nt_sequence + if r2 + r0 = r2 + else + r3 = _nt_primary + if r3 + r0 = r3 + else + @index = i0 + r0 = nil + end + end + end + + node_cache[:parsing_expression][start_index] = r0 + + r0 + end + + module Choice0 + def alternative + elements[3] + end + end + + module Choice1 + def head + elements[0] + end + + def tail + elements[1] + end + end + + module Choice2 + def alternatives + [head] + tail + end + + def tail + super.elements.map {|elt| elt.alternative} + end + + def inline_modules + (alternatives.map {|alt| alt.inline_modules }).flatten + end + end + + def _nt_choice + start_index = index + if node_cache[:choice].has_key?(index) + cached = node_cache[:choice][index] + @index = cached.interval.end if cached + return cached + end + + i0, s0 = index, [] + r1 = _nt_alternative + s0 << r1 + if r1 + s2, i2 = [], index + loop do + i3, s3 = index, [] + r5 = _nt_space + if r5 + r4 = r5 + else + r4 = instantiate_node(SyntaxNode,input, index...index) + end + s3 << r4 + if r4 + if has_terminal?('/', false, index) + r6 = instantiate_node(SyntaxNode,input, index...(index + 1)) + @index += 1 + else + terminal_parse_failure('/') + r6 = nil + end + s3 << r6 + if r6 + r8 = _nt_space + if r8 + r7 = r8 + else + r7 = instantiate_node(SyntaxNode,input, index...index) + end + s3 << r7 + if r7 + r9 = _nt_alternative + s3 << r9 + end + end + end + if s3.last + r3 = instantiate_node(SyntaxNode,input, i3...index, s3) + r3.extend(Choice0) + else + @index = i3 + r3 = nil + end + if r3 + s2 << r3 + else + break + end + end + if s2.empty? + @index = i2 + r2 = nil + else + r2 = instantiate_node(SyntaxNode,input, i2...index, s2) + end + s0 << r2 + end + if s0.last + r0 = instantiate_node(Choice,input, i0...index, s0) + r0.extend(Choice1) + r0.extend(Choice2) + else + @index = i0 + r0 = nil + end + + node_cache[:choice][start_index] = r0 + + r0 + end + + module Sequence0 + def space + elements[0] + end + + def labeled_sequence_primary + elements[1] + end + end + + module Sequence1 + def head + elements[0] + end + + def tail + elements[1] + end + + def node_class_declarations + elements[2] + end + end + + module Sequence2 + def sequence_elements + [head] + tail + end + + def tail + super.elements.map {|elt| elt.labeled_sequence_primary } + end + + def inline_modules + (sequence_elements.map {|elt| elt.inline_modules}).flatten + + [sequence_element_accessor_module] + + node_class_declarations.inline_modules + end + + def inline_module_name + node_class_declarations.inline_module_name + end + end + + def _nt_sequence + start_index = index + if node_cache[:sequence].has_key?(index) + cached = node_cache[:sequence][index] + @index = cached.interval.end if cached + return cached + end + + i0, s0 = index, [] + r1 = _nt_labeled_sequence_primary + s0 << r1 + if r1 + s2, i2 = [], index + loop do + i3, s3 = index, [] + r4 = _nt_space + s3 << r4 + if r4 + r5 = _nt_labeled_sequence_primary + s3 << r5 + end + if s3.last + r3 = instantiate_node(SyntaxNode,input, i3...index, s3) + r3.extend(Sequence0) + else + @index = i3 + r3 = nil + end + if r3 + s2 << r3 + else + break + end + end + if s2.empty? + @index = i2 + r2 = nil + else + r2 = instantiate_node(SyntaxNode,input, i2...index, s2) + end + s0 << r2 + if r2 + r6 = _nt_node_class_declarations + s0 << r6 + end + end + if s0.last + r0 = instantiate_node(Sequence,input, i0...index, s0) + r0.extend(Sequence1) + r0.extend(Sequence2) + else + @index = i0 + r0 = nil + end + + node_cache[:sequence][start_index] = r0 + + r0 + end + + def _nt_alternative + start_index = index + if node_cache[:alternative].has_key?(index) + cached = node_cache[:alternative][index] + @index = cached.interval.end if cached + return cached + end + + i0 = index + r1 = _nt_sequence + if r1 + r0 = r1 + else + r2 = _nt_primary + if r2 + r0 = r2 + else + @index = i0 + r0 = nil + end + end + + node_cache[:alternative][start_index] = r0 + + r0 + end + + module Primary0 + def prefix + elements[0] + end + + def atomic + elements[1] + end + end + + module Primary1 + def compile(address, builder, parent_expression=nil) + prefix.compile(address, builder, self) + end + + def prefixed_expression + atomic + end + + def inline_modules + atomic.inline_modules + end + + def inline_module_name + nil + end + end + + module Primary2 + def prefix + elements[0] + end + + def predicate_block + elements[2] + end + end + + module Primary3 + def compile(address, builder, parent_expression=nil) + prefix.compile(address, builder, self) + end + def prefixed_expression + predicate_block + end + def inline_modules + [] + end + end + + module Primary4 + def atomic + elements[0] + end + + def suffix + elements[1] + end + + def node_class_declarations + elements[2] + end + end + + module Primary5 + def compile(address, builder, parent_expression=nil) + suffix.compile(address, builder, self) + end + + def optional_expression + atomic + end + + def node_class_name + node_class_declarations.node_class_name + end + + def inline_modules + atomic.inline_modules + node_class_declarations.inline_modules + end + + def inline_module_name + node_class_declarations.inline_module_name + end + end + + module Primary6 + def atomic + elements[0] + end + + def node_class_declarations + elements[1] + end + end + + module Primary7 + def compile(address, builder, parent_expression=nil) + atomic.compile(address, builder, self) + end + + def node_class_name + node_class_declarations.node_class_name + end + + def inline_modules + atomic.inline_modules + node_class_declarations.inline_modules + end + + def inline_module_name + node_class_declarations.inline_module_name + end + end + + def _nt_primary + start_index = index + if node_cache[:primary].has_key?(index) + cached = node_cache[:primary][index] + @index = cached.interval.end if cached + return cached + end + + i0 = index + i1, s1 = index, [] + r2 = _nt_prefix + s1 << r2 + if r2 + r3 = _nt_atomic + s1 << r3 + end + if s1.last + r1 = instantiate_node(SyntaxNode,input, i1...index, s1) + r1.extend(Primary0) + r1.extend(Primary1) + else + @index = i1 + r1 = nil + end + if r1 + r0 = r1 + else + i4, s4 = index, [] + r5 = _nt_prefix + s4 << r5 + if r5 + r7 = _nt_space + if r7 + r6 = r7 + else + r6 = instantiate_node(SyntaxNode,input, index...index) + end + s4 << r6 + if r6 + r8 = _nt_predicate_block + s4 << r8 + end + end + if s4.last + r4 = instantiate_node(SyntaxNode,input, i4...index, s4) + r4.extend(Primary2) + r4.extend(Primary3) + else + @index = i4 + r4 = nil + end + if r4 + r0 = r4 + else + i9, s9 = index, [] + r10 = _nt_atomic + s9 << r10 + if r10 + r11 = _nt_suffix + s9 << r11 + if r11 + r12 = _nt_node_class_declarations + s9 << r12 + end + end + if s9.last + r9 = instantiate_node(SyntaxNode,input, i9...index, s9) + r9.extend(Primary4) + r9.extend(Primary5) + else + @index = i9 + r9 = nil + end + if r9 + r0 = r9 + else + i13, s13 = index, [] + r14 = _nt_atomic + s13 << r14 + if r14 + r15 = _nt_node_class_declarations + s13 << r15 + end + if s13.last + r13 = instantiate_node(SyntaxNode,input, i13...index, s13) + r13.extend(Primary6) + r13.extend(Primary7) + else + @index = i13 + r13 = nil + end + if r13 + r0 = r13 + else + @index = i0 + r0 = nil + end + end + end + end + + node_cache[:primary][start_index] = r0 + + r0 + end + + module LabeledSequencePrimary0 + def label + elements[0] + end + + def sequence_primary + elements[1] + end + end + + module LabeledSequencePrimary1 + def compile(lexical_address, builder) + sequence_primary.compile(lexical_address, builder) + end + + def inline_modules + sequence_primary.inline_modules + end + + def label_name + if label.name + label.name + elsif sequence_primary.instance_of?(Nonterminal) + sequence_primary.text_value + else + nil + end + end + end + + def _nt_labeled_sequence_primary + start_index = index + if node_cache[:labeled_sequence_primary].has_key?(index) + cached = node_cache[:labeled_sequence_primary][index] + @index = cached.interval.end if cached + return cached + end + + i0, s0 = index, [] + r1 = _nt_label + s0 << r1 + if r1 + r2 = _nt_sequence_primary + s0 << r2 + end + if s0.last + r0 = instantiate_node(SyntaxNode,input, i0...index, s0) + r0.extend(LabeledSequencePrimary0) + r0.extend(LabeledSequencePrimary1) + else + @index = i0 + r0 = nil + end + + node_cache[:labeled_sequence_primary][start_index] = r0 + + r0 + end + + module Label0 + def alpha_char + elements[0] + end + + end + + module Label1 + end + + module Label2 + def name + elements[0].text_value + end + end + + module Label3 + def name + nil + end + end + + def _nt_label + start_index = index + if node_cache[:label].has_key?(index) + cached = node_cache[:label][index] + @index = cached.interval.end if cached + return cached + end + + i0 = index + i1, s1 = index, [] + i2, s2 = index, [] + r3 = _nt_alpha_char + s2 << r3 + if r3 + s4, i4 = [], index + loop do + r5 = _nt_alphanumeric_char + if r5 + s4 << r5 + else + break + end + end + r4 = instantiate_node(SyntaxNode,input, i4...index, s4) + s2 << r4 + end + if s2.last + r2 = instantiate_node(SyntaxNode,input, i2...index, s2) + r2.extend(Label0) + else + @index = i2 + r2 = nil + end + s1 << r2 + if r2 + if has_terminal?(':', false, index) + r6 = instantiate_node(SyntaxNode,input, index...(index + 1)) + @index += 1 + else + terminal_parse_failure(':') + r6 = nil + end + s1 << r6 + end + if s1.last + r1 = instantiate_node(SyntaxNode,input, i1...index, s1) + r1.extend(Label1) + r1.extend(Label2) + else + @index = i1 + r1 = nil + end + if r1 + r0 = r1 + else + if has_terminal?('', false, index) + r7 = instantiate_node(SyntaxNode,input, index...(index + 0)) + r7.extend(Label3) + @index += 0 + else + terminal_parse_failure('') + r7 = nil + end + if r7 + r0 = r7 + else + @index = i0 + r0 = nil + end + end + + node_cache[:label][start_index] = r0 + + r0 + end + + module SequencePrimary0 + def prefix + elements[0] + end + + def atomic + elements[1] + end + end + + module SequencePrimary1 + def compile(lexical_address, builder) + prefix.compile(lexical_address, builder, self) + end + + def prefixed_expression + elements[1] + end + + def inline_modules + atomic.inline_modules + end + + def inline_module_name + nil + end + end + + module SequencePrimary2 + def prefix + elements[0] + end + + def predicate_block + elements[2] + end + end + + module SequencePrimary3 + def compile(address, builder, parent_expression=nil) + prefix.compile(address, builder, self) + end + def prefixed_expression + predicate_block + end + def inline_modules + [] + end + end + + module SequencePrimary4 + def atomic + elements[0] + end + + def suffix + elements[1] + end + end + + module SequencePrimary5 + def compile(lexical_address, builder) + suffix.compile(lexical_address, builder, self) + end + + def node_class_name + nil + end + + def inline_modules + atomic.inline_modules + end + + def inline_module_name + nil + end + end + + def _nt_sequence_primary + start_index = index + if node_cache[:sequence_primary].has_key?(index) + cached = node_cache[:sequence_primary][index] + @index = cached.interval.end if cached + return cached + end + + i0 = index + i1, s1 = index, [] + r2 = _nt_prefix + s1 << r2 + if r2 + r3 = _nt_atomic + s1 << r3 + end + if s1.last + r1 = instantiate_node(SyntaxNode,input, i1...index, s1) + r1.extend(SequencePrimary0) + r1.extend(SequencePrimary1) + else + @index = i1 + r1 = nil + end + if r1 + r0 = r1 + else + i4, s4 = index, [] + r5 = _nt_prefix + s4 << r5 + if r5 + r7 = _nt_space + if r7 + r6 = r7 + else + r6 = instantiate_node(SyntaxNode,input, index...index) + end + s4 << r6 + if r6 + r8 = _nt_predicate_block + s4 << r8 + end + end + if s4.last + r4 = instantiate_node(SyntaxNode,input, i4...index, s4) + r4.extend(SequencePrimary2) + r4.extend(SequencePrimary3) + else + @index = i4 + r4 = nil + end + if r4 + r0 = r4 + else + i9, s9 = index, [] + r10 = _nt_atomic + s9 << r10 + if r10 + r11 = _nt_suffix + s9 << r11 + end + if s9.last + r9 = instantiate_node(SyntaxNode,input, i9...index, s9) + r9.extend(SequencePrimary4) + r9.extend(SequencePrimary5) + else + @index = i9 + r9 = nil + end + if r9 + r0 = r9 + else + r12 = _nt_atomic + if r12 + r0 = r12 + else + @index = i0 + r0 = nil + end + end + end + end + + node_cache[:sequence_primary][start_index] = r0 + + r0 + end + + def _nt_suffix + start_index = index + if node_cache[:suffix].has_key?(index) + cached = node_cache[:suffix][index] + @index = cached.interval.end if cached + return cached + end + + i0 = index + r1 = _nt_repetition_suffix + if r1 + r0 = r1 + else + r2 = _nt_optional_suffix + if r2 + r0 = r2 + else + @index = i0 + r0 = nil + end + end + + node_cache[:suffix][start_index] = r0 + + r0 + end + + def _nt_optional_suffix + start_index = index + if node_cache[:optional_suffix].has_key?(index) + cached = node_cache[:optional_suffix][index] + @index = cached.interval.end if cached + return cached + end + + if has_terminal?('?', false, index) + r0 = instantiate_node(Optional,input, index...(index + 1)) + @index += 1 + else + terminal_parse_failure('?') + r0 = nil + end + + node_cache[:optional_suffix][start_index] = r0 + + r0 + end + + module NodeClassDeclarations0 + def node_class_expression + elements[0] + end + + def trailing_inline_module + elements[1] + end + end + + module NodeClassDeclarations1 + def node_class_name + node_class_expression.node_class_name + end + + def inline_modules + trailing_inline_module.inline_modules + end + + def inline_module + trailing_inline_module.inline_module + end + + def inline_module_name + inline_module.module_name if inline_module + end + end + + def _nt_node_class_declarations + start_index = index + if node_cache[:node_class_declarations].has_key?(index) + cached = node_cache[:node_class_declarations][index] + @index = cached.interval.end if cached + return cached + end + + i0, s0 = index, [] + r1 = _nt_node_class_expression + s0 << r1 + if r1 + r2 = _nt_trailing_inline_module + s0 << r2 + end + if s0.last + r0 = instantiate_node(SyntaxNode,input, i0...index, s0) + r0.extend(NodeClassDeclarations0) + r0.extend(NodeClassDeclarations1) + else + @index = i0 + r0 = nil + end + + node_cache[:node_class_declarations][start_index] = r0 + + r0 + end + + def _nt_repetition_suffix + start_index = index + if node_cache[:repetition_suffix].has_key?(index) + cached = node_cache[:repetition_suffix][index] + @index = cached.interval.end if cached + return cached + end + + i0 = index + if has_terminal?('+', false, index) + r1 = instantiate_node(OneOrMore,input, index...(index + 1)) + @index += 1 + else + terminal_parse_failure('+') + r1 = nil + end + if r1 + r0 = r1 + else + if has_terminal?('*', false, index) + r2 = instantiate_node(ZeroOrMore,input, index...(index + 1)) + @index += 1 + else + terminal_parse_failure('*') + r2 = nil + end + if r2 + r0 = r2 + else + @index = i0 + r0 = nil + end + end + + node_cache[:repetition_suffix][start_index] = r0 + + r0 + end + + def _nt_prefix + start_index = index + if node_cache[:prefix].has_key?(index) + cached = node_cache[:prefix][index] + @index = cached.interval.end if cached + return cached + end + + i0 = index + if has_terminal?('&', false, index) + r1 = instantiate_node(AndPredicate,input, index...(index + 1)) + @index += 1 + else + terminal_parse_failure('&') + r1 = nil + end + if r1 + r0 = r1 + else + if has_terminal?('!', false, index) + r2 = instantiate_node(NotPredicate,input, index...(index + 1)) + @index += 1 + else + terminal_parse_failure('!') + r2 = nil + end + if r2 + r0 = r2 + else + if has_terminal?('~', false, index) + r3 = instantiate_node(TransientPrefix,input, index...(index + 1)) + @index += 1 + else + terminal_parse_failure('~') + r3 = nil + end + if r3 + r0 = r3 + else + @index = i0 + r0 = nil + end + end + end + + node_cache[:prefix][start_index] = r0 + + r0 + end + + def _nt_atomic + start_index = index + if node_cache[:atomic].has_key?(index) + cached = node_cache[:atomic][index] + @index = cached.interval.end if cached + return cached + end + + i0 = index + r1 = _nt_terminal + if r1 + r0 = r1 + else + r2 = _nt_nonterminal + if r2 + r0 = r2 + else + r3 = _nt_parenthesized_expression + if r3 + r0 = r3 + else + @index = i0 + r0 = nil + end + end + end + + node_cache[:atomic][start_index] = r0 + + r0 + end + + module ParenthesizedExpression0 + def parsing_expression + elements[2] + end + + end + + module ParenthesizedExpression1 + def inline_modules + parsing_expression.inline_modules + end + end + + def _nt_parenthesized_expression + start_index = index + if node_cache[:parenthesized_expression].has_key?(index) + cached = node_cache[:parenthesized_expression][index] + @index = cached.interval.end if cached + return cached + end + + i0, s0 = index, [] + if has_terminal?('(', false, index) + r1 = instantiate_node(SyntaxNode,input, index...(index + 1)) + @index += 1 + else + terminal_parse_failure('(') + r1 = nil + end + s0 << r1 + if r1 + r3 = _nt_space + if r3 + r2 = r3 + else + r2 = instantiate_node(SyntaxNode,input, index...index) + end + s0 << r2 + if r2 + r4 = _nt_parsing_expression + s0 << r4 + if r4 + r6 = _nt_space + if r6 + r5 = r6 + else + r5 = instantiate_node(SyntaxNode,input, index...index) + end + s0 << r5 + if r5 + if has_terminal?(')', false, index) + r7 = instantiate_node(SyntaxNode,input, index...(index + 1)) + @index += 1 + else + terminal_parse_failure(')') + r7 = nil + end + s0 << r7 + end + end + end + end + if s0.last + r0 = instantiate_node(ParenthesizedExpression,input, i0...index, s0) + r0.extend(ParenthesizedExpression0) + r0.extend(ParenthesizedExpression1) + else + @index = i0 + r0 = nil + end + + node_cache[:parenthesized_expression][start_index] = r0 + + r0 + end + + module Nonterminal0 + def alpha_char + elements[0] + end + + end + + module Nonterminal1 + end + + def _nt_nonterminal + start_index = index + if node_cache[:nonterminal].has_key?(index) + cached = node_cache[:nonterminal][index] + @index = cached.interval.end if cached + return cached + end + + i0, s0 = index, [] + i1 = index + r2 = _nt_keyword_inside_grammar + if r2 + r1 = nil + else + @index = i1 + r1 = instantiate_node(SyntaxNode,input, index...index) + end + s0 << r1 + if r1 + i3, s3 = index, [] + r4 = _nt_alpha_char + s3 << r4 + if r4 + s5, i5 = [], index + loop do + r6 = _nt_alphanumeric_char + if r6 + s5 << r6 + else + break + end + end + r5 = instantiate_node(SyntaxNode,input, i5...index, s5) + s3 << r5 + end + if s3.last + r3 = instantiate_node(SyntaxNode,input, i3...index, s3) + r3.extend(Nonterminal0) + else + @index = i3 + r3 = nil + end + s0 << r3 + end + if s0.last + r0 = instantiate_node(Nonterminal,input, i0...index, s0) + r0.extend(Nonterminal1) + else + @index = i0 + r0 = nil + end + + node_cache[:nonterminal][start_index] = r0 + + r0 + end + + def _nt_terminal + start_index = index + if node_cache[:terminal].has_key?(index) + cached = node_cache[:terminal][index] + @index = cached.interval.end if cached + return cached + end + + i0 = index + r1 = _nt_quoted_string + if r1 + r0 = r1 + else + r2 = _nt_character_class + if r2 + r0 = r2 + else + r3 = _nt_anything_symbol + if r3 + r0 = r3 + else + @index = i0 + r0 = nil + end + end + end + + node_cache[:terminal][start_index] = r0 + + r0 + end + + module QuotedString0 + def string + super.text_value + end + end + + def _nt_quoted_string + start_index = index + if node_cache[:quoted_string].has_key?(index) + cached = node_cache[:quoted_string][index] + @index = cached.interval.end if cached + return cached + end + + i0 = index + r1 = _nt_single_quoted_string + if r1 + r0 = r1 + r0.extend(QuotedString0) + else + r2 = _nt_double_quoted_string + if r2 + r0 = r2 + r0.extend(QuotedString0) + else + @index = i0 + r0 = nil + end + end + + node_cache[:quoted_string][start_index] = r0 + + r0 + end + + module DoubleQuotedString0 + end + + module DoubleQuotedString1 + def string + elements[1] + end + + end + + def _nt_double_quoted_string + start_index = index + if node_cache[:double_quoted_string].has_key?(index) + cached = node_cache[:double_quoted_string][index] + @index = cached.interval.end if cached + return cached + end + + i0, s0 = index, [] + if has_terminal?('"', false, index) + r1 = instantiate_node(SyntaxNode,input, index...(index + 1)) + @index += 1 + else + terminal_parse_failure('"') + r1 = nil + end + s0 << r1 + if r1 + s2, i2 = [], index + loop do + i3, s3 = index, [] + i4 = index + if has_terminal?('"', false, index) + r5 = instantiate_node(SyntaxNode,input, index...(index + 1)) + @index += 1 + else + terminal_parse_failure('"') + r5 = nil + end + if r5 + r4 = nil + else + @index = i4 + r4 = instantiate_node(SyntaxNode,input, index...index) + end + s3 << r4 + if r4 + i6 = index + if has_terminal?("\\\\", false, index) + r7 = instantiate_node(SyntaxNode,input, index...(index + 2)) + @index += 2 + else + terminal_parse_failure("\\\\") + r7 = nil + end + if r7 + r6 = r7 + else + if has_terminal?('\"', false, index) + r8 = instantiate_node(SyntaxNode,input, index...(index + 2)) + @index += 2 + else + terminal_parse_failure('\"') + r8 = nil + end + if r8 + r6 = r8 + else + if index < input_length + next_character = index + input[index..-1].match(/\A(.)/um).end(1) + r9 = instantiate_node(SyntaxNode,input, index...next_character) + @index = next_character + else + terminal_parse_failure("any character") + r9 = nil + end + if r9 + r6 = r9 + else + @index = i6 + r6 = nil + end + end + end + s3 << r6 + end + if s3.last + r3 = instantiate_node(SyntaxNode,input, i3...index, s3) + r3.extend(DoubleQuotedString0) + else + @index = i3 + r3 = nil + end + if r3 + s2 << r3 + else + break + end + end + r2 = instantiate_node(SyntaxNode,input, i2...index, s2) + s0 << r2 + if r2 + if has_terminal?('"', false, index) + r10 = instantiate_node(SyntaxNode,input, index...(index + 1)) + @index += 1 + else + terminal_parse_failure('"') + r10 = nil + end + s0 << r10 + end + end + if s0.last + r0 = instantiate_node(Terminal,input, i0...index, s0) + r0.extend(DoubleQuotedString1) + else + @index = i0 + r0 = nil + end + + node_cache[:double_quoted_string][start_index] = r0 + + r0 + end + + module SingleQuotedString0 + end + + module SingleQuotedString1 + def string + elements[1] + end + + end + + def _nt_single_quoted_string + start_index = index + if node_cache[:single_quoted_string].has_key?(index) + cached = node_cache[:single_quoted_string][index] + @index = cached.interval.end if cached + return cached + end + + i0, s0 = index, [] + if has_terminal?("'", false, index) + r1 = instantiate_node(SyntaxNode,input, index...(index + 1)) + @index += 1 + else + terminal_parse_failure("'") + r1 = nil + end + s0 << r1 + if r1 + s2, i2 = [], index + loop do + i3, s3 = index, [] + i4 = index + if has_terminal?("'", false, index) + r5 = instantiate_node(SyntaxNode,input, index...(index + 1)) + @index += 1 + else + terminal_parse_failure("'") + r5 = nil + end + if r5 + r4 = nil + else + @index = i4 + r4 = instantiate_node(SyntaxNode,input, index...index) + end + s3 << r4 + if r4 + i6 = index + if has_terminal?("\\\\", false, index) + r7 = instantiate_node(SyntaxNode,input, index...(index + 2)) + @index += 2 + else + terminal_parse_failure("\\\\") + r7 = nil + end + if r7 + r6 = r7 + else + if has_terminal?("\\'", false, index) + r8 = instantiate_node(SyntaxNode,input, index...(index + 2)) + @index += 2 + else + terminal_parse_failure("\\'") + r8 = nil + end + if r8 + r6 = r8 + else + if index < input_length + next_character = index + input[index..-1].match(/\A(.)/um).end(1) + r9 = instantiate_node(SyntaxNode,input, index...next_character) + @index = next_character + else + terminal_parse_failure("any character") + r9 = nil + end + if r9 + r6 = r9 + else + @index = i6 + r6 = nil + end + end + end + s3 << r6 + end + if s3.last + r3 = instantiate_node(SyntaxNode,input, i3...index, s3) + r3.extend(SingleQuotedString0) + else + @index = i3 + r3 = nil + end + if r3 + s2 << r3 + else + break + end + end + r2 = instantiate_node(SyntaxNode,input, i2...index, s2) + s0 << r2 + if r2 + if has_terminal?("'", false, index) + r10 = instantiate_node(SyntaxNode,input, index...(index + 1)) + @index += 1 + else + terminal_parse_failure("'") + r10 = nil + end + s0 << r10 + end + end + if s0.last + r0 = instantiate_node(Terminal,input, i0...index, s0) + r0.extend(SingleQuotedString1) + else + @index = i0 + r0 = nil + end + + node_cache[:single_quoted_string][start_index] = r0 + + r0 + end + + module CharacterClass0 + end + + module CharacterClass1 + end + + module CharacterClass2 + end + + module CharacterClass3 + def characters + elements[1] + end + + end + + module CharacterClass4 + def characters + super.text_value + end + end + + def _nt_character_class + start_index = index + if node_cache[:character_class].has_key?(index) + cached = node_cache[:character_class][index] + @index = cached.interval.end if cached + return cached + end + + i0, s0 = index, [] + if has_terminal?('[', false, index) + r1 = instantiate_node(SyntaxNode,input, index...(index + 1)) + @index += 1 + else + terminal_parse_failure('[') + r1 = nil + end + s0 << r1 + if r1 + s2, i2 = [], index + loop do + i3, s3 = index, [] + i4 = index + if has_terminal?(']', false, index) + r5 = instantiate_node(SyntaxNode,input, index...(index + 1)) + @index += 1 + else + terminal_parse_failure(']') + r5 = nil + end + if r5 + r4 = nil + else + @index = i4 + r4 = instantiate_node(SyntaxNode,input, index...index) + end + s3 << r4 + if r4 + i6 = index + i7, s7 = index, [] + if has_terminal?('\\', false, index) + r8 = instantiate_node(SyntaxNode,input, index...(index + 1)) + @index += 1 + else + terminal_parse_failure('\\') + r8 = nil + end + s7 << r8 + if r8 + if index < input_length + next_character = index + input[index..-1].match(/\A(.)/um).end(1) + r9 = instantiate_node(SyntaxNode,input, index...next_character) + @index = next_character + else + terminal_parse_failure("any character") + r9 = nil + end + s7 << r9 + end + if s7.last + r7 = instantiate_node(SyntaxNode,input, i7...index, s7) + r7.extend(CharacterClass0) + else + @index = i7 + r7 = nil + end + if r7 + r6 = r7 + else + i10, s10 = index, [] + i11 = index + if has_terminal?('\\', false, index) + r12 = instantiate_node(SyntaxNode,input, index...(index + 1)) + @index += 1 + else + terminal_parse_failure('\\') + r12 = nil + end + if r12 + r11 = nil + else + @index = i11 + r11 = instantiate_node(SyntaxNode,input, index...index) + end + s10 << r11 + if r11 + if index < input_length + next_character = index + input[index..-1].match(/\A(.)/um).end(1) + r13 = instantiate_node(SyntaxNode,input, index...next_character) + @index = next_character + else + terminal_parse_failure("any character") + r13 = nil + end + s10 << r13 + end + if s10.last + r10 = instantiate_node(SyntaxNode,input, i10...index, s10) + r10.extend(CharacterClass1) + else + @index = i10 + r10 = nil + end + if r10 + r6 = r10 + else + @index = i6 + r6 = nil + end + end + s3 << r6 + end + if s3.last + r3 = instantiate_node(SyntaxNode,input, i3...index, s3) + r3.extend(CharacterClass2) + else + @index = i3 + r3 = nil + end + if r3 + s2 << r3 + else + break + end + end + if s2.empty? + @index = i2 + r2 = nil + else + r2 = instantiate_node(SyntaxNode,input, i2...index, s2) + end + s0 << r2 + if r2 + if has_terminal?(']', false, index) + r14 = instantiate_node(SyntaxNode,input, index...(index + 1)) + @index += 1 + else + terminal_parse_failure(']') + r14 = nil + end + s0 << r14 + end + end + if s0.last + r0 = instantiate_node(CharacterClass,input, i0...index, s0) + r0.extend(CharacterClass3) + r0.extend(CharacterClass4) + else + @index = i0 + r0 = nil + end + + node_cache[:character_class][start_index] = r0 + + r0 + end + + def _nt_anything_symbol + start_index = index + if node_cache[:anything_symbol].has_key?(index) + cached = node_cache[:anything_symbol][index] + @index = cached.interval.end if cached + return cached + end + + if has_terminal?('.', false, index) + r0 = instantiate_node(AnythingSymbol,input, index...(index + 1)) + @index += 1 + else + terminal_parse_failure('.') + r0 = nil + end + + node_cache[:anything_symbol][start_index] = r0 + + r0 + end + + module NodeClassExpression0 + end + + module NodeClassExpression1 + def space + elements[0] + end + + end + + module NodeClassExpression2 + def node_class_name + elements[2].text_value + end + end + + module NodeClassExpression3 + def node_class_name + nil + end + end + + def _nt_node_class_expression + start_index = index + if node_cache[:node_class_expression].has_key?(index) + cached = node_cache[:node_class_expression][index] + @index = cached.interval.end if cached + return cached + end + + i0 = index + i1, s1 = index, [] + r2 = _nt_space + s1 << r2 + if r2 + if has_terminal?('<', false, index) + r3 = instantiate_node(SyntaxNode,input, index...(index + 1)) + @index += 1 + else + terminal_parse_failure('<') + r3 = nil + end + s1 << r3 + if r3 + s4, i4 = [], index + loop do + i5, s5 = index, [] + i6 = index + if has_terminal?('>', false, index) + r7 = instantiate_node(SyntaxNode,input, index...(index + 1)) + @index += 1 + else + terminal_parse_failure('>') + r7 = nil + end + if r7 + r6 = nil + else + @index = i6 + r6 = instantiate_node(SyntaxNode,input, index...index) + end + s5 << r6 + if r6 + if index < input_length + next_character = index + input[index..-1].match(/\A(.)/um).end(1) + r8 = instantiate_node(SyntaxNode,input, index...next_character) + @index = next_character + else + terminal_parse_failure("any character") + r8 = nil + end + s5 << r8 + end + if s5.last + r5 = instantiate_node(SyntaxNode,input, i5...index, s5) + r5.extend(NodeClassExpression0) + else + @index = i5 + r5 = nil + end + if r5 + s4 << r5 + else + break + end + end + if s4.empty? + @index = i4 + r4 = nil + else + r4 = instantiate_node(SyntaxNode,input, i4...index, s4) + end + s1 << r4 + if r4 + if has_terminal?('>', false, index) + r9 = instantiate_node(SyntaxNode,input, index...(index + 1)) + @index += 1 + else + terminal_parse_failure('>') + r9 = nil + end + s1 << r9 + end + end + end + if s1.last + r1 = instantiate_node(SyntaxNode,input, i1...index, s1) + r1.extend(NodeClassExpression1) + r1.extend(NodeClassExpression2) + else + @index = i1 + r1 = nil + end + if r1 + r0 = r1 + else + if has_terminal?('', false, index) + r10 = instantiate_node(SyntaxNode,input, index...(index + 0)) + r10.extend(NodeClassExpression3) + @index += 0 + else + terminal_parse_failure('') + r10 = nil + end + if r10 + r0 = r10 + else + @index = i0 + r0 = nil + end + end + + node_cache[:node_class_expression][start_index] = r0 + + r0 + end + + module TrailingInlineModule0 + def space + elements[0] + end + + def inline_module + elements[1] + end + end + + module TrailingInlineModule1 + def inline_modules + [inline_module] + end + + def inline_module_name + inline_module.module_name + end + end + + module TrailingInlineModule2 + def inline_modules + [] + end + + def inline_module + nil + end + + def inline_module_name + nil + end + end + + def _nt_trailing_inline_module + start_index = index + if node_cache[:trailing_inline_module].has_key?(index) + cached = node_cache[:trailing_inline_module][index] + @index = cached.interval.end if cached + return cached + end + + i0 = index + i1, s1 = index, [] + r2 = _nt_space + s1 << r2 + if r2 + r3 = _nt_inline_module + s1 << r3 + end + if s1.last + r1 = instantiate_node(SyntaxNode,input, i1...index, s1) + r1.extend(TrailingInlineModule0) + r1.extend(TrailingInlineModule1) + else + @index = i1 + r1 = nil + end + if r1 + r0 = r1 + else + if has_terminal?('', false, index) + r4 = instantiate_node(SyntaxNode,input, index...(index + 0)) + r4.extend(TrailingInlineModule2) + @index += 0 + else + terminal_parse_failure('') + r4 = nil + end + if r4 + r0 = r4 + else + @index = i0 + r0 = nil + end + end + + node_cache[:trailing_inline_module][start_index] = r0 + + r0 + end + + module PredicateBlock0 + def inline_module + elements[1] + end + end + + def _nt_predicate_block + start_index = index + if node_cache[:predicate_block].has_key?(index) + cached = node_cache[:predicate_block][index] + @index = cached.interval.end if cached + return cached + end + + i0, s0 = index, [] + if has_terminal?('', false, index) + r1 = instantiate_node(SyntaxNode,input, index...(index + 0)) + @index += 0 + else + terminal_parse_failure('') + r1 = nil + end + s0 << r1 + if r1 + r2 = _nt_inline_module + s0 << r2 + end + if s0.last + r0 = instantiate_node(PredicateBlock,input, i0...index, s0) + r0.extend(PredicateBlock0) + else + @index = i0 + r0 = nil + end + + node_cache[:predicate_block][start_index] = r0 + + r0 + end + + module InlineModule0 + end + + module InlineModule1 + end + + def _nt_inline_module + start_index = index + if node_cache[:inline_module].has_key?(index) + cached = node_cache[:inline_module][index] + @index = cached.interval.end if cached + return cached + end + + i0, s0 = index, [] + if has_terminal?('{', false, index) + r1 = instantiate_node(SyntaxNode,input, index...(index + 1)) + @index += 1 + else + terminal_parse_failure('{') + r1 = nil + end + s0 << r1 + if r1 + s2, i2 = [], index + loop do + i3 = index + r4 = _nt_inline_module + if r4 + r3 = r4 + else + i5, s5 = index, [] + i6 = index + if has_terminal?('\G[{}]', true, index) + next_character = index + input[index..-1].match(/\A(.)/um).end(1) + r7 = true + @index = next_character + else + r7 = nil + end + if r7 + r6 = nil + else + @index = i6 + r6 = instantiate_node(SyntaxNode,input, index...index) + end + s5 << r6 + if r6 + if index < input_length + next_character = index + input[index..-1].match(/\A(.)/um).end(1) + r8 = instantiate_node(SyntaxNode,input, index...next_character) + @index = next_character + else + terminal_parse_failure("any character") + r8 = nil + end + s5 << r8 + end + if s5.last + r5 = instantiate_node(SyntaxNode,input, i5...index, s5) + r5.extend(InlineModule0) + else + @index = i5 + r5 = nil + end + if r5 + r3 = r5 + else + @index = i3 + r3 = nil + end + end + if r3 + s2 << r3 + else + break + end + end + r2 = instantiate_node(SyntaxNode,input, i2...index, s2) + s0 << r2 + if r2 + if has_terminal?('}', false, index) + r9 = instantiate_node(SyntaxNode,input, index...(index + 1)) + @index += 1 + else + terminal_parse_failure('}') + r9 = nil + end + s0 << r9 + end + end + if s0.last + r0 = instantiate_node(InlineModule,input, i0...index, s0) + r0.extend(InlineModule1) + else + @index = i0 + r0 = nil + end + + node_cache[:inline_module][start_index] = r0 + + r0 + end + + module KeywordInsideGrammar0 + end + + def _nt_keyword_inside_grammar + start_index = index + if node_cache[:keyword_inside_grammar].has_key?(index) + cached = node_cache[:keyword_inside_grammar][index] + @index = cached.interval.end if cached + return cached + end + + i0, s0 = index, [] + i1 = index + if has_terminal?('rule', false, index) + r2 = instantiate_node(SyntaxNode,input, index...(index + 4)) + @index += 4 + else + terminal_parse_failure('rule') + r2 = nil + end + if r2 + r1 = r2 + else + if has_terminal?('end', false, index) + r3 = instantiate_node(SyntaxNode,input, index...(index + 3)) + @index += 3 + else + terminal_parse_failure('end') + r3 = nil + end + if r3 + r1 = r3 + else + @index = i1 + r1 = nil + end + end + s0 << r1 + if r1 + i4 = index + r5 = _nt_non_space_char + if r5 + r4 = nil + else + @index = i4 + r4 = instantiate_node(SyntaxNode,input, index...index) + end + s0 << r4 + end + if s0.last + r0 = instantiate_node(SyntaxNode,input, i0...index, s0) + r0.extend(KeywordInsideGrammar0) + else + @index = i0 + r0 = nil + end + + node_cache[:keyword_inside_grammar][start_index] = r0 + + r0 + end + + module NonSpaceChar0 + end + + def _nt_non_space_char + start_index = index + if node_cache[:non_space_char].has_key?(index) + cached = node_cache[:non_space_char][index] + @index = cached.interval.end if cached + return cached + end + + i0, s0 = index, [] + i1 = index + r2 = _nt_space + if r2 + r1 = nil + else + @index = i1 + r1 = instantiate_node(SyntaxNode,input, index...index) + end + s0 << r1 + if r1 + if index < input_length + next_character = index + input[index..-1].match(/\A(.)/um).end(1) + r3 = instantiate_node(SyntaxNode,input, index...next_character) + @index = next_character + else + terminal_parse_failure("any character") + r3 = nil + end + s0 << r3 + end + if s0.last + r0 = instantiate_node(SyntaxNode,input, i0...index, s0) + r0.extend(NonSpaceChar0) + else + @index = i0 + r0 = nil + end + + node_cache[:non_space_char][start_index] = r0 + + r0 + end + + def _nt_alpha_char + start_index = index + if node_cache[:alpha_char].has_key?(index) + cached = node_cache[:alpha_char][index] + @index = cached.interval.end if cached + return cached + end + + if has_terminal?('\G[A-Za-z_]', true, index) + next_character = index + input[index..-1].match(/\A(.)/um).end(1) + r0 = instantiate_node(SyntaxNode, input, index...next_character) + @index = next_character + else + r0 = nil + end + + node_cache[:alpha_char][start_index] = r0 + + r0 + end + + def _nt_alphanumeric_char + start_index = index + if node_cache[:alphanumeric_char].has_key?(index) + cached = node_cache[:alphanumeric_char][index] + @index = cached.interval.end if cached + return cached + end + + i0 = index + r1 = _nt_alpha_char + if r1 + r0 = r1 + else + if has_terminal?('\G[0-9]', true, index) + next_character = index + input[index..-1].match(/\A(.)/um).end(1) + r2 = true + @index = next_character + else + r2 = nil + end + if r2 + r0 = r2 + else + @index = i0 + r0 = nil + end + end + + node_cache[:alphanumeric_char][start_index] = r0 + + r0 + end + + def _nt_space + start_index = index + if node_cache[:space].has_key?(index) + cached = node_cache[:space][index] + @index = cached.interval.end if cached + return cached + end + + s0, i0 = [], index + loop do + i1 = index + r2 = _nt_white + if r2 + r1 = r2 + else + r3 = _nt_comment_to_eol + if r3 + r1 = r3 + else + @index = i1 + r1 = nil + end + end + if r1 + s0 << r1 + else + break + end + end + if s0.empty? + @index = i0 + r0 = nil + else + r0 = instantiate_node(SyntaxNode,input, i0...index, s0) + end + + node_cache[:space][start_index] = r0 + + r0 + end + + module CommentToEol0 + end + + module CommentToEol1 + end + + def _nt_comment_to_eol + start_index = index + if node_cache[:comment_to_eol].has_key?(index) + cached = node_cache[:comment_to_eol][index] + @index = cached.interval.end if cached + return cached + end + + i0, s0 = index, [] + if has_terminal?('#', false, index) + r1 = instantiate_node(SyntaxNode,input, index...(index + 1)) + @index += 1 + else + terminal_parse_failure('#') + r1 = nil + end + s0 << r1 + if r1 + s2, i2 = [], index + loop do + i3, s3 = index, [] + i4 = index + if has_terminal?("\n", false, index) + r5 = instantiate_node(SyntaxNode,input, index...(index + 1)) + @index += 1 + else + terminal_parse_failure("\n") + r5 = nil + end + if r5 + r4 = nil + else + @index = i4 + r4 = instantiate_node(SyntaxNode,input, index...index) + end + s3 << r4 + if r4 + if index < input_length + next_character = index + input[index..-1].match(/\A(.)/um).end(1) + r6 = instantiate_node(SyntaxNode,input, index...next_character) + @index = next_character + else + terminal_parse_failure("any character") + r6 = nil + end + s3 << r6 + end + if s3.last + r3 = instantiate_node(SyntaxNode,input, i3...index, s3) + r3.extend(CommentToEol0) + else + @index = i3 + r3 = nil + end + if r3 + s2 << r3 + else + break + end + end + r2 = instantiate_node(SyntaxNode,input, i2...index, s2) + s0 << r2 + end + if s0.last + r0 = instantiate_node(SyntaxNode,input, i0...index, s0) + r0.extend(CommentToEol1) + else + @index = i0 + r0 = nil + end + + node_cache[:comment_to_eol][start_index] = r0 + + r0 + end + + def _nt_white + start_index = index + if node_cache[:white].has_key?(index) + cached = node_cache[:white][index] + @index = cached.interval.end if cached + return cached + end + + if has_terminal?('\G[ \\t\\n\\r]', true, index) + next_character = index + input[index..-1].match(/\A(.)/um).end(1) + r0 = instantiate_node(SyntaxNode, input, index...next_character) + @index = next_character + else + r0 = nil + end + + node_cache[:white][start_index] = r0 + + r0 + end + + end + + class MetagrammarParser < Treetop::Runtime::CompiledParser + include Metagrammar + end + + end +end diff --git a/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/metagrammar.treetop b/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/metagrammar.treetop new file mode 100755 index 00000000..b55e0f11 --- /dev/null +++ b/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/metagrammar.treetop @@ -0,0 +1,436 @@ +module Treetop + module Compiler + grammar Metagrammar + rule treetop_file + requires:(space? require_statement)* prefix:space? module_or_grammar:(module_declaration / grammar) suffix:space? { + def compile + requires.text_value + prefix.text_value + module_or_grammar.compile + suffix.text_value + end + } + end + + rule require_statement + prefix:space? "require" [ \t]+ [^\n\r]+ [\n\r] + end + + rule module_declaration + prefix:('module' space [A-Z] alphanumeric_char* space) module_contents:(module_declaration / grammar) suffix:(space 'end') { + def compile + prefix.text_value + module_contents.compile + suffix.text_value + end + } + end + + rule grammar + 'grammar' space grammar_name space ('do' space)? declaration_sequence space? 'end' + end + + rule grammar_name + ([A-Z] alphanumeric_char*) + end + + rule declaration_sequence + head:declaration tail:(space declaration)* { + def declarations + [head] + tail + end + + def tail + super.elements.map { |elt| elt.declaration } + end + } + / + '' { + def compile(builder) + end + } + end + + rule declaration + parsing_rule / include_declaration + end + + rule include_declaration + 'include' space [A-Z] (alphanumeric_char / '::')* { + def compile(builder) + builder << text_value + end + } + end + + rule parsing_rule + 'rule' space nonterminal space ('do' space)? parsing_expression space 'end' + end + + rule parsing_expression + choice / sequence / primary + end + + rule choice + head:alternative tail:(space? '/' space? alternative)+ { + def alternatives + [head] + tail + end + + def tail + super.elements.map {|elt| elt.alternative} + end + + def inline_modules + (alternatives.map {|alt| alt.inline_modules }).flatten + end + } + end + + rule sequence + head:labeled_sequence_primary tail:(space labeled_sequence_primary)+ node_class_declarations { + def sequence_elements + [head] + tail + end + + def tail + super.elements.map {|elt| elt.labeled_sequence_primary } + end + + def inline_modules + (sequence_elements.map {|elt| elt.inline_modules}).flatten + + [sequence_element_accessor_module] + + node_class_declarations.inline_modules + end + + def inline_module_name + node_class_declarations.inline_module_name + end + } + end + + rule alternative + sequence / primary + end + + rule primary + prefix atomic { + def compile(address, builder, parent_expression=nil) + prefix.compile(address, builder, self) + end + + def prefixed_expression + atomic + end + + def inline_modules + atomic.inline_modules + end + + def inline_module_name + nil + end + } + / + prefix space? predicate_block { + def compile(address, builder, parent_expression=nil) + prefix.compile(address, builder, self) + end + def prefixed_expression + predicate_block + end + def inline_modules + [] + end + } + / + atomic suffix node_class_declarations { + def compile(address, builder, parent_expression=nil) + suffix.compile(address, builder, self) + end + + def optional_expression + atomic + end + + def node_class_name + node_class_declarations.node_class_name + end + + def inline_modules + atomic.inline_modules + node_class_declarations.inline_modules + end + + def inline_module_name + node_class_declarations.inline_module_name + end + } + / + atomic node_class_declarations { + def compile(address, builder, parent_expression=nil) + atomic.compile(address, builder, self) + end + + def node_class_name + node_class_declarations.node_class_name + end + + def inline_modules + atomic.inline_modules + node_class_declarations.inline_modules + end + + def inline_module_name + node_class_declarations.inline_module_name + end + } + end + + rule labeled_sequence_primary + label sequence_primary { + def compile(lexical_address, builder) + sequence_primary.compile(lexical_address, builder) + end + + def inline_modules + sequence_primary.inline_modules + end + + def label_name + if label.name + label.name + elsif sequence_primary.instance_of?(Nonterminal) + sequence_primary.text_value + else + nil + end + end + } + end + + rule label + (alpha_char alphanumeric_char*) ':' { + def name + elements[0].text_value + end + } + / + '' { + def name + nil + end + } + end + + rule sequence_primary + prefix atomic { + def compile(lexical_address, builder) + prefix.compile(lexical_address, builder, self) + end + + def prefixed_expression + elements[1] + end + + def inline_modules + atomic.inline_modules + end + + def inline_module_name + nil + end + } + / + prefix space? predicate_block { + def compile(address, builder, parent_expression=nil) + prefix.compile(address, builder, self) + end + def prefixed_expression + predicate_block + end + def inline_modules + [] + end + } + / + atomic suffix { + def compile(lexical_address, builder) + suffix.compile(lexical_address, builder, self) + end + + def node_class_name + nil + end + + def inline_modules + atomic.inline_modules + end + + def inline_module_name + nil + end + } + / + atomic + end + + rule suffix + repetition_suffix / optional_suffix + end + + rule optional_suffix + '?' + end + + rule node_class_declarations + node_class_expression trailing_inline_module { + def node_class_name + node_class_expression.node_class_name + end + + def inline_modules + trailing_inline_module.inline_modules + end + + def inline_module + trailing_inline_module.inline_module + end + + def inline_module_name + inline_module.module_name if inline_module + end + } + end + + rule repetition_suffix + '+' / '*' + end + + rule prefix + '&' / '!' / '~' + end + + rule atomic + terminal + / + nonterminal + / + parenthesized_expression + end + + rule parenthesized_expression + '(' space? parsing_expression space? ')' { + def inline_modules + parsing_expression.inline_modules + end + } + end + + rule nonterminal + !keyword_inside_grammar (alpha_char alphanumeric_char*) + end + + rule terminal + quoted_string / character_class / anything_symbol + end + + rule quoted_string + (single_quoted_string / double_quoted_string) { + def string + super.text_value + end + } + end + + rule double_quoted_string + '"' string:(!'"' ("\\\\" / '\"' / .))* '"' + end + + rule single_quoted_string + "'" string:(!"'" ("\\\\" / "\\'" / .))* "'" + end + + rule character_class + '[' characters:(!']' ('\\' . /!'\\' .))+ ']' { + def characters + super.text_value + end + } + end + + rule anything_symbol + '.' + end + + rule node_class_expression + space '<' (!'>' .)+ '>' { + def node_class_name + elements[2].text_value + end + } + / + '' { + def node_class_name + nil + end + } + end + + rule trailing_inline_module + space inline_module { + def inline_modules + [inline_module] + end + + def inline_module_name + inline_module.module_name + end + } + / + '' { + def inline_modules + [] + end + + def inline_module + nil + end + + def inline_module_name + nil + end + } + end + + rule predicate_block + '' inline_module + end + + rule inline_module + '{' (inline_module / ![{}] .)* '}' + end + + rule keyword_inside_grammar + ('rule' / 'end') !non_space_char + end + + rule non_space_char + !space . + end + + rule alpha_char + [A-Za-z_] + end + + rule alphanumeric_char + alpha_char / [0-9] + end + + rule space + (white / comment_to_eol)+ + end + + rule comment_to_eol + '#' (!"\n" .)* + end + + rule white + [ \t\n\r] + end + end + end +end diff --git a/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes.rb b/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes.rb new file mode 100755 index 00000000..942b1bd4 --- /dev/null +++ b/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes.rb @@ -0,0 +1,20 @@ +dir = File.dirname(__FILE__) +require File.join(dir, *%w[node_classes parsing_expression]) +require File.join(dir, *%w[node_classes atomic_expression]) +require File.join(dir, *%w[node_classes inline_module]) +require File.join(dir, *%w[node_classes predicate_block]) +require File.join(dir, *%w[node_classes treetop_file]) +require File.join(dir, *%w[node_classes grammar]) +require File.join(dir, *%w[node_classes declaration_sequence]) +require File.join(dir, *%w[node_classes parsing_rule]) +require File.join(dir, *%w[node_classes parenthesized_expression]) +require File.join(dir, *%w[node_classes nonterminal]) +require File.join(dir, *%w[node_classes terminal]) +require File.join(dir, *%w[node_classes anything_symbol]) +require File.join(dir, *%w[node_classes character_class]) +require File.join(dir, *%w[node_classes sequence]) +require File.join(dir, *%w[node_classes choice]) +require File.join(dir, *%w[node_classes repetition]) +require File.join(dir, *%w[node_classes optional]) +require File.join(dir, *%w[node_classes predicate]) +require File.join(dir, *%w[node_classes transient_prefix]) diff --git a/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/anything_symbol.rb b/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/anything_symbol.rb new file mode 100755 index 00000000..4f2c26c1 --- /dev/null +++ b/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/anything_symbol.rb @@ -0,0 +1,18 @@ +module Treetop + module Compiler + class AnythingSymbol < AtomicExpression + def compile(address, builder, parent_expression = nil) + super + builder.if__ "index < input_length" do + assign_result "instantiate_node(#{node_class_name},input, index...(index + 1))" + extend_result_with_inline_module + builder << "@index += 1" + end + builder.else_ do + builder << 'terminal_parse_failure("any character")' + assign_result 'nil' + end + end + end + end +end \ No newline at end of file diff --git a/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/atomic_expression.rb b/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/atomic_expression.rb new file mode 100755 index 00000000..7da74ddc --- /dev/null +++ b/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/atomic_expression.rb @@ -0,0 +1,14 @@ +module Treetop + module Compiler + class AtomicExpression < ParsingExpression + def inline_modules + [] + end + + def single_quote(string) + # Double any backslashes, then backslash any single-quotes: + "'#{string.gsub(/\\/) { '\\\\' }.gsub(/'/) { "\\'"}}'" + end + end + end +end diff --git a/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/character_class.rb b/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/character_class.rb new file mode 100755 index 00000000..c7d0dd65 --- /dev/null +++ b/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/character_class.rb @@ -0,0 +1,28 @@ +module Treetop + module Compiler + class CharacterClass < AtomicExpression + def compile(address, builder, parent_expression = nil) + super + + builder.if__ "has_terminal?(#{grounded_regexp(text_value)}, true, index)" do + if address == 0 || decorated? + assign_result "instantiate_node(#{node_class_name},input, index...(index + 1))" + extend_result_with_inline_module + else + assign_lazily_instantiated_node + end + builder << "@index += 1" + end + builder.else_ do + # "terminal_parse_failure(#{single_quote(characters)})" + assign_result 'nil' + end + end + + def grounded_regexp(string) + # Double any backslashes, then backslash any single-quotes: + "'\\G#{string.gsub(/\\/) { '\\\\' }.gsub(/'/) { "\\'"}}'" + end + end + end +end diff --git a/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/choice.rb b/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/choice.rb new file mode 100755 index 00000000..bd269a2d --- /dev/null +++ b/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/choice.rb @@ -0,0 +1,31 @@ +module Treetop + module Compiler + class Choice < ParsingExpression + def compile(address, builder, parent_expression = nil) + super + begin_comment(self) + use_vars :result, :start_index + compile_alternatives(alternatives) + end_comment(self) + end + + def compile_alternatives(alternatives) + obtain_new_subexpression_address + alternatives.first.compile(subexpression_address, builder) + builder.if__ subexpression_success? do + assign_result subexpression_result_var + extend_result_with_declared_module + extend_result_with_inline_module + end + builder.else_ do + if alternatives.size == 1 + reset_index + assign_failure start_index_var + else + compile_alternatives(alternatives[1..-1]) + end + end + end + end + end +end \ No newline at end of file diff --git a/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/declaration_sequence.rb b/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/declaration_sequence.rb new file mode 100755 index 00000000..a561d72a --- /dev/null +++ b/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/declaration_sequence.rb @@ -0,0 +1,24 @@ +module Treetop + module Compiler + class DeclarationSequence < Runtime::SyntaxNode + + def compile(builder) + unless rules.empty? + builder.method_declaration("root") do + builder << "@root || :#{rules.first.name}" + end + builder.newline + end + + declarations.each do |declaration| + declaration.compile(builder) + builder.newline + end + end + + def rules + declarations.select { |declaration| declaration.instance_of?(ParsingRule) } + end + end + end +end \ No newline at end of file diff --git a/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/grammar.rb b/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/grammar.rb new file mode 100755 index 00000000..41a205b7 --- /dev/null +++ b/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/grammar.rb @@ -0,0 +1,28 @@ +module Treetop + module Compiler + class Grammar < Runtime::SyntaxNode + def compile + builder = RubyBuilder.new + + builder.module_declaration "#{grammar_name.text_value}" do + builder.in(indent_level) # account for initial indentation of grammar declaration + builder << "include Treetop::Runtime" + builder.newline + declaration_sequence.compile(builder) + end + builder.newline + builder.class_declaration "#{parser_name} < Treetop::Runtime::CompiledParser" do + builder << "include #{grammar_name.text_value}" + end + end + + def indent_level + input.column_of(interval.begin) - 1 + end + + def parser_name + grammar_name.text_value + 'Parser' + end + end + end +end \ No newline at end of file diff --git a/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/inline_module.rb b/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/inline_module.rb new file mode 100755 index 00000000..3cb1ef0c --- /dev/null +++ b/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/inline_module.rb @@ -0,0 +1,27 @@ +module Treetop + module Compiler + module InlineModuleMixin + attr_reader :module_name + + def compile(index, builder, rule) + @module_name = "#{rule.name.treetop_camelize}#{index}" + end + end + + class InlineModule < Runtime::SyntaxNode + + include InlineModuleMixin + + def compile(index, builder, rule) + super + builder.module_declaration(module_name) do + builder << ruby_code.gsub(/\A\n/, '').rstrip + end + end + + def ruby_code + elements[1].text_value + end + end + end +end diff --git a/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/nonterminal.rb b/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/nonterminal.rb new file mode 100755 index 00000000..7421dbea --- /dev/null +++ b/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/nonterminal.rb @@ -0,0 +1,13 @@ +module Treetop + module Compiler + class Nonterminal < AtomicExpression + def compile(address, builder, parent_expression = nil) + super + use_vars :result + assign_result text_value == 'super' ? 'super' : "_nt_#{text_value}" + extend_result_with_declared_module + extend_result_with_inline_module + end + end + end +end \ No newline at end of file diff --git a/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/optional.rb b/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/optional.rb new file mode 100755 index 00000000..72d2bb9f --- /dev/null +++ b/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/optional.rb @@ -0,0 +1,19 @@ +module Treetop + module Compiler + class Optional < ParsingExpression + def compile(address, builder, parent_expression) + super + use_vars :result + obtain_new_subexpression_address + parent_expression.atomic.compile(subexpression_address, builder) + + builder.if__ subexpression_success? do + assign_result subexpression_result_var + end + builder.else_ do + assign_result epsilon_node + end + end + end + end +end \ No newline at end of file diff --git a/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/parenthesized_expression.rb b/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/parenthesized_expression.rb new file mode 100755 index 00000000..e58f8f92 --- /dev/null +++ b/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/parenthesized_expression.rb @@ -0,0 +1,9 @@ +module Treetop + module Compiler + class ParenthesizedExpression < ParsingExpression + def compile(address, builder, parent_expression = nil) + elements[2].compile(address, builder, parent_expression) + end + end + end +end \ No newline at end of file diff --git a/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/parsing_expression.rb b/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/parsing_expression.rb new file mode 100755 index 00000000..e67b84fc --- /dev/null +++ b/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/parsing_expression.rb @@ -0,0 +1,146 @@ +module Treetop + module Compiler + class ParsingExpression < Runtime::SyntaxNode + attr_reader :address, :builder, :subexpression_address, :var_symbols, :parent_expression + + def compile(address, builder, parent_expression) + @address = address + @builder = builder + @parent_expression = parent_expression + end + + def node_class_name + parent_expression && parent_expression.node_class_name || 'SyntaxNode' + end + + def declared_module_name + parent_expression && parent_expression.node_class_name + end + + def inline_module_name + parent_expression && parent_expression.inline_module_name + end + + def decorated? + parent_expression && (parent_expression.node_class_name || parent_expression.node_class_name || parent_expression.inline_module_name) + end + + def optional_arg(arg) + if arg + ", #{arg}" + else + '' + end + end + + def use_vars(*var_symbols) + @var_symbols = var_symbols + builder << var_initialization + end + + def result_var + var(:result) + end + + def accumulator_var + var(:accumulator) + end + + def start_index_var + var(:start_index) + end + + def subexpression_result_var + "r#{subexpression_address}" + end + + def subexpression_success? + subexpression_result_var + end + + def obtain_new_subexpression_address + @subexpression_address = builder.next_address + end + + def accumulate_subexpression_result + builder.accumulate accumulator_var, subexpression_result_var + end + + def assign_result(value_ruby) + builder.assign result_var, value_ruby + end + + def extend_result(module_name) + builder.extend result_var, module_name + end + + def extend_result_with_declared_module + extend_result declared_module_name if declared_module_name + end + + def extend_result_with_inline_module + extend_result inline_module_name if inline_module_name + end + + def reset_index + builder.assign '@index', start_index_var + end + + def epsilon_node + "instantiate_node(SyntaxNode,input, index...index)" + end + + def assign_failure(start_index_var) + assign_result("nil") + end + + def assign_lazily_instantiated_node + assign_result("true") + end + + def var_initialization + left, right = [], [] + var_symbols.each do |symbol| + if init_value(symbol) + left << var(symbol) + right << init_value(symbol) + end + end + if left.empty? + "" + else + left.join(', ') + ' = ' + right.join(', ') + end + end + + def var(var_symbol) + case var_symbol + when :result then "r#{address}" + when :accumulator then "s#{address}" + when :start_index then "i#{address}" + else raise "Unknown var symbol #{var_symbol}." + end + end + + def init_value(var_symbol) + case var_symbol + when :accumulator then '[]' + when :start_index then 'index' + else nil + end + end + + def begin_comment(expression) + #builder << "# begin #{on_one_line(expression)}" + end + + def end_comment(expression) + #builder << "# end #{on_one_line(expression)}" + end + + def on_one_line(expression) + expression.text_value.tr("\n", ' ') + end + end + end +end diff --git a/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/parsing_rule.rb b/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/parsing_rule.rb new file mode 100755 index 00000000..34bd8735 --- /dev/null +++ b/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/parsing_rule.rb @@ -0,0 +1,55 @@ +module Treetop + module Compiler + class ParsingRule < Runtime::SyntaxNode + + def compile(builder) + compile_inline_module_declarations(builder) + generate_method_definition(builder) + end + + def compile_inline_module_declarations(builder) + parsing_expression.inline_modules.each_with_index do |inline_module, i| + inline_module.compile(i, builder, self) + builder.newline + end + end + + def generate_method_definition(builder) + builder.reset_addresses + expression_address = builder.next_address + result_var = "r#{expression_address}" + + builder.method_declaration(method_name) do + builder.assign 'start_index', 'index' + generate_cache_lookup(builder) + builder.newline + parsing_expression.compile(expression_address, builder) + builder.newline + generate_cache_storage(builder, result_var) + builder.newline + builder << result_var + end + end + + def generate_cache_lookup(builder) + builder.if_ "node_cache[:#{name}].has_key?(index)" do + builder.assign 'cached', "node_cache[:#{name}][index]" + builder << '@index = cached.interval.end if cached' + builder << 'return cached' + end + end + + def generate_cache_storage(builder, result_var) + builder.assign "node_cache[:#{name}][start_index]", result_var + end + + def method_name + "_nt_#{name}" + end + + def name + nonterminal.text_value + end + end + end +end diff --git a/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/predicate.rb b/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/predicate.rb new file mode 100755 index 00000000..f80d06ed --- /dev/null +++ b/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/predicate.rb @@ -0,0 +1,45 @@ +module Treetop + module Compiler + class Predicate < ParsingExpression + def compile(address, builder, parent_expression) + super + begin_comment(parent_expression) + use_vars :result, :start_index + obtain_new_subexpression_address + parent_expression.prefixed_expression.compile(subexpression_address, builder) + builder.if__(subexpression_success?) { when_success } + builder.else_ { when_failure } + end_comment(parent_expression) + end + + def assign_failure + super(start_index_var) + end + + def assign_success + reset_index + assign_result epsilon_node + end + end + + class AndPredicate < Predicate + def when_success + assign_success + end + + def when_failure + assign_failure + end + end + + class NotPredicate < Predicate + def when_success + assign_failure + end + + def when_failure + assign_success + end + end + end +end \ No newline at end of file diff --git a/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/predicate_block.rb b/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/predicate_block.rb new file mode 100755 index 00000000..21cf6d1b --- /dev/null +++ b/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/predicate_block.rb @@ -0,0 +1,16 @@ +module Treetop + module Compiler + class PredicateBlock < ParsingExpression + def compile(index, builder, parent_expression = nil) + super + # REVISIT: This is distinctly dodgey, but since we can only be called from + # two contexts, and it works in both those, I'm going with it for now, as + # opposed to doing the major refactor of providing a proper way of accessing + # the parent's accumulator variable. + p = parent + p = p.parent while p && !p.respond_to?(:accumulator_var) + assign_result "lambda #{text_value}.call(#{p ? p.accumulator_var : ""})" + end + end + end +end diff --git a/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/repetition.rb b/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/repetition.rb new file mode 100755 index 00000000..2d7adc24 --- /dev/null +++ b/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/repetition.rb @@ -0,0 +1,55 @@ +module Treetop + module Compiler + class Repetition < ParsingExpression + def compile(address, builder, parent_expression) + super + repeated_expression = parent_expression.atomic + begin_comment(parent_expression) + use_vars :result, :accumulator, :start_index + + builder.loop do + obtain_new_subexpression_address + repeated_expression.compile(subexpression_address, builder) + builder.if__ subexpression_success? do + accumulate_subexpression_result + end + builder.else_ do + builder.break + end + end + end + + def inline_module_name + parent_expression.inline_module_name + end + + def assign_and_extend_result + assign_result "instantiate_node(#{node_class_name},input, #{start_index_var}...index, #{accumulator_var})" + extend_result_with_inline_module + end + end + + + class ZeroOrMore < Repetition + def compile(address, builder, parent_expression) + super + assign_and_extend_result + end_comment(parent_expression) + end + end + + class OneOrMore < Repetition + def compile(address, builder, parent_expression) + super + builder.if__ "#{accumulator_var}.empty?" do + reset_index + assign_failure start_index_var + end + builder.else_ do + assign_and_extend_result + end + end_comment(parent_expression) + end + end + end +end \ No newline at end of file diff --git a/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/sequence.rb b/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/sequence.rb new file mode 100755 index 00000000..1e5d7205 --- /dev/null +++ b/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/sequence.rb @@ -0,0 +1,71 @@ +module Treetop + module Compiler + class Sequence < ParsingExpression + def compile(address, builder, parent_expression = nil) + super + begin_comment(self) + use_vars :result, :start_index, :accumulator + compile_sequence_elements(sequence_elements) + builder.if__ "#{accumulator_var}.last" do + assign_result "instantiate_node(#{node_class_name},input, #{start_index_var}...index, #{accumulator_var})" + extend_result sequence_element_accessor_module_name if sequence_element_accessor_module_name + extend_result_with_inline_module + end + builder.else_ do + reset_index + assign_failure start_index_var + end + end_comment(self) + end + + def node_class_name + node_class_declarations.node_class_name || 'SyntaxNode' + end + + def compile_sequence_elements(elements) + obtain_new_subexpression_address + elements.first.compile(subexpression_address, builder) + accumulate_subexpression_result + if elements.size > 1 + builder.if_ subexpression_success? do + compile_sequence_elements(elements[1..-1]) + end + end + end + + def sequence_element_accessor_module + @sequence_element_accessor_module ||= SequenceElementAccessorModule.new(sequence_elements) + end + + def sequence_element_accessor_module_name + sequence_element_accessor_module.module_name + end + end + + class SequenceElementAccessorModule + include InlineModuleMixin + attr_reader :sequence_elements + + def initialize(sequence_elements) + @sequence_elements = sequence_elements + end + + def compile(index, builder, rule) + super + builder.module_declaration(module_name) do + elements_by_name = sequence_elements.inject({}){|h,e| (h[e.label_name.to_s] ||= []) << e; h} + sequence_elements.each_with_index do |element, index| + if element.label_name + repetitions = elements_by_name[element.label_name.to_s] + label_name = element.label_name + (repetitions.size > 1 ? (repetitions.index(element)+1).to_s : "") + builder.method_declaration(label_name) do + builder << "elements[#{index}]" + end + builder.newline unless index == sequence_elements.size - 1 + end + end + end + end + end + end +end diff --git a/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/terminal.rb b/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/terminal.rb new file mode 100755 index 00000000..e624115d --- /dev/null +++ b/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/terminal.rb @@ -0,0 +1,20 @@ +module Treetop + module Compiler + class Terminal < AtomicExpression + def compile(address, builder, parent_expression = nil) + super + string_length = eval(text_value).length + + builder.if__ "has_terminal?(#{text_value}, false, index)" do + assign_result "instantiate_node(#{node_class_name},input, index...(index + #{string_length}))" + extend_result_with_inline_module + builder << "@index += #{string_length}" + end + builder.else_ do + builder << "terminal_parse_failure(#{text_value})" + assign_result 'nil' + end + end + end + end +end \ No newline at end of file diff --git a/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/transient_prefix.rb b/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/transient_prefix.rb new file mode 100755 index 00000000..4bd24981 --- /dev/null +++ b/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/transient_prefix.rb @@ -0,0 +1,9 @@ +module Treetop + module Compiler + class TransientPrefix < ParsingExpression + def compile(address, builder, parent_expression) + parent_expression.prefixed_expression.compile(address, builder) + end + end + end +end \ No newline at end of file diff --git a/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/treetop_file.rb b/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/treetop_file.rb new file mode 100755 index 00000000..ada97507 --- /dev/null +++ b/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/treetop_file.rb @@ -0,0 +1,9 @@ +module Treetop + module Compiler + class TreetopFile < Runtime::SyntaxNode + def compile + (elements.map {|elt| elt.compile}).join + end + end + end +end \ No newline at end of file diff --git a/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/ruby_builder.rb b/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/ruby_builder.rb new file mode 100755 index 00000000..df37f069 --- /dev/null +++ b/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/ruby_builder.rb @@ -0,0 +1,113 @@ +module Treetop + module Compiler + class RubyBuilder + + attr_reader :level, :address_space, :ruby + + def initialize + @level = 0 + @address_space = LexicalAddressSpace.new + @ruby = "" + end + + def <<(ruby_line) + return if ruby_line.blank? + ruby << ruby_line.tabto(level) << "\n" + end + + def newline + ruby << "\n" + end + + def indented(depth = 2) + self.in(depth) + yield + self.out(depth) + end + + def class_declaration(name, &block) + self << "class #{name}" + indented(&block) + self << "end" + end + + def module_declaration(name, &block) + self << "module #{name}" + indented(&block) + self << "end" + end + + def method_declaration(name, &block) + self << "def #{name}" + indented(&block) + self << "end" + end + + def assign(left, right) + if left.instance_of? Array + self << "#{left.join(', ')} = #{right.join(', ')}" + else + self << "#{left} = #{right}" + end + end + + def extend(var, module_name) + self << "#{var}.extend(#{module_name})" + end + + def accumulate(left, right) + self << "#{left} << #{right}" + end + + def if__(condition, &block) + self << "if #{condition}" + indented(&block) + end + + def if_(condition, &block) + if__(condition, &block) + self << 'end' + end + + def else_(&block) + self << 'else' + indented(&block) + self << 'end' + end + + def loop(&block) + self << 'loop do' + indented(&block) + self << 'end' + end + + def break + self << 'break' + end + + def in(depth = 2) + @level += depth + self + end + + def out(depth = 2) + @level -= depth + self + end + + def next_address + address_space.next_address + end + + def reset_addresses + address_space.reset_addresses + end + + private + + def indent + " " * level + end + end + end +end diff --git a/vendor/gems/gems/treetop-1.4.2/lib/treetop/ruby_extensions.rb b/vendor/gems/gems/treetop-1.4.2/lib/treetop/ruby_extensions.rb new file mode 100755 index 00000000..c271c7f9 --- /dev/null +++ b/vendor/gems/gems/treetop-1.4.2/lib/treetop/ruby_extensions.rb @@ -0,0 +1,2 @@ +dir = File.dirname(__FILE__) +require "#{dir}/ruby_extensions/string" \ No newline at end of file diff --git a/vendor/gems/gems/treetop-1.4.2/lib/treetop/ruby_extensions/string.rb b/vendor/gems/gems/treetop-1.4.2/lib/treetop/ruby_extensions/string.rb new file mode 100755 index 00000000..da342120 --- /dev/null +++ b/vendor/gems/gems/treetop-1.4.2/lib/treetop/ruby_extensions/string.rb @@ -0,0 +1,42 @@ +class String + def column_of(index) + return 1 if index == 0 + newline_index = rindex("\n", index - 1) + if newline_index + index - newline_index + else + index + 1 + end + end + + def line_of(index) + self[0...index].count("\n") + 1 + end + + unless method_defined?(:blank?) + def blank? + self == "" + end + end + + # The following methods are lifted from Facets 2.0.2 + def tabto(n) + if self =~ /^( *)\S/ + indent(n - $1.length) + else + self + end + end + + def indent(n) + if n >= 0 + gsub(/^/, ' ' * n) + else + gsub(/^ {0,#{-n}}/, "") + end + end + + def treetop_camelize + to_s.gsub(/\/(.?)/){ "::" + $1.upcase }.gsub(/(^|_)(.)/){ $2.upcase } + end +end \ No newline at end of file diff --git a/vendor/gems/gems/treetop-1.4.2/lib/treetop/runtime.rb b/vendor/gems/gems/treetop-1.4.2/lib/treetop/runtime.rb new file mode 100755 index 00000000..38a84f4b --- /dev/null +++ b/vendor/gems/gems/treetop-1.4.2/lib/treetop/runtime.rb @@ -0,0 +1,5 @@ +dir = File.dirname(__FILE__) +require "#{dir}/runtime/compiled_parser" +require "#{dir}/runtime/syntax_node" +require "#{dir}/runtime/terminal_parse_failure" +require "#{dir}/runtime/interval_skip_list" diff --git a/vendor/gems/gems/treetop-1.4.2/lib/treetop/runtime/compiled_parser.rb b/vendor/gems/gems/treetop-1.4.2/lib/treetop/runtime/compiled_parser.rb new file mode 100755 index 00000000..9cfde4f4 --- /dev/null +++ b/vendor/gems/gems/treetop-1.4.2/lib/treetop/runtime/compiled_parser.rb @@ -0,0 +1,109 @@ +module Treetop + module Runtime + class CompiledParser + include Treetop::Runtime + + attr_reader :input, :index, :max_terminal_failure_index + attr_writer :root + attr_accessor :consume_all_input + alias :consume_all_input? :consume_all_input + + def initialize + self.consume_all_input = true + end + + def parse(input, options = {}) + prepare_to_parse(input) + @index = options[:index] if options[:index] + result = send("_nt_#{root}") + return nil if (consume_all_input? && index != input.size) + return result + end + + def failure_index + max_terminal_failure_index + end + + def failure_line + @terminal_failures && input.line_of(failure_index) + end + + def failure_column + @terminal_failures && input.column_of(failure_index) + end + + def failure_reason + return nil unless (tf = terminal_failures) && tf.size > 0 + "Expected " + + (tf.size == 1 ? + tf[0].expected_string : + "one of #{tf.map{|f| f.expected_string}.uniq*', '}" + ) + + " at line #{failure_line}, column #{failure_column} (byte #{failure_index+1})" + + " after #{input[index...failure_index]}" + end + + def terminal_failures + @terminal_failures.map! {|tf_ary| TerminalParseFailure.new(*tf_ary) } + end + + + protected + + attr_reader :node_cache, :input_length + attr_writer :index + + def prepare_to_parse(input) + @input = input + @input_length = input.length + reset_index + @node_cache = Hash.new {|hash, key| hash[key] = Hash.new} + @regexps = {} + @terminal_failures = [] + @max_terminal_failure_index = 0 + end + + def reset_index + @index = 0 + end + + def parse_anything(node_class = SyntaxNode, inline_module = nil) + if index < input.length + result = instantiate_node(node_class,input, index...(index + 1)) + result.extend(inline_module) if inline_module + @index += 1 + result + else + terminal_parse_failure("any character") + end + end + + def instantiate_node(node_type,*args) + if node_type.respond_to? :new + node_type.new(*args) + else + SyntaxNode.new(*args).extend(node_type) + end + end + + def has_terminal?(terminal, regex, index) + if regex + rx = @regexps[terminal] ||= Regexp.new(terminal) + input.index(rx, index) == index + else + input[index, terminal.size] == terminal + end + end + + def terminal_parse_failure(expected_string) + return nil if index < max_terminal_failure_index + if index > max_terminal_failure_index + @max_terminal_failure_index = index + @terminal_failures = [] + end + @terminal_failures << [index, expected_string] + return nil + end + end + end +end diff --git a/vendor/gems/gems/treetop-1.4.2/lib/treetop/runtime/interval_skip_list.rb b/vendor/gems/gems/treetop-1.4.2/lib/treetop/runtime/interval_skip_list.rb new file mode 100755 index 00000000..8f34379d --- /dev/null +++ b/vendor/gems/gems/treetop-1.4.2/lib/treetop/runtime/interval_skip_list.rb @@ -0,0 +1,4 @@ +dir = File.dirname(__FILE__) +require "#{dir}/interval_skip_list/interval_skip_list.rb" +require "#{dir}/interval_skip_list/head_node.rb" +require "#{dir}/interval_skip_list/node.rb" \ No newline at end of file diff --git a/vendor/gems/gems/treetop-1.4.2/lib/treetop/runtime/interval_skip_list/head_node.rb b/vendor/gems/gems/treetop-1.4.2/lib/treetop/runtime/interval_skip_list/head_node.rb new file mode 100755 index 00000000..7cb0bab8 --- /dev/null +++ b/vendor/gems/gems/treetop-1.4.2/lib/treetop/runtime/interval_skip_list/head_node.rb @@ -0,0 +1,15 @@ +class IntervalSkipList + class HeadNode + attr_reader :height, :forward, :forward_markers + + def initialize(height) + @height = height + @forward = Array.new(height, nil) + @forward_markers = Array.new(height) {|i| []} + end + + def top_level + height - 1 + end + end +end \ No newline at end of file diff --git a/vendor/gems/gems/treetop-1.4.2/lib/treetop/runtime/interval_skip_list/interval_skip_list.rb b/vendor/gems/gems/treetop-1.4.2/lib/treetop/runtime/interval_skip_list/interval_skip_list.rb new file mode 100755 index 00000000..27b53e00 --- /dev/null +++ b/vendor/gems/gems/treetop-1.4.2/lib/treetop/runtime/interval_skip_list/interval_skip_list.rb @@ -0,0 +1,200 @@ +class IntervalSkipList + attr_reader :probability + + def initialize + @head = HeadNode.new(max_height) + @ranges = {} + @probability = 0.5 + end + + def max_height + 3 + end + + def empty? + head.forward[0].nil? + end + + def expire(range, length_change) + expired_markers, first_node_after_range = overlapping(range) + expired_markers.each { |marker| delete(marker) } + first_node_after_range.propagate_length_change(length_change) + end + + def overlapping(range) + markers, first_node = containing_with_node(range.first) + + cur_node = first_node + begin + markers.concat(cur_node.forward_markers.flatten) + cur_node = cur_node.forward[0] + end while cur_node.key < range.last + + return markers.uniq, cur_node + end + + def containing(n) + containing_with_node(n).first + end + + def insert(range, marker) + ranges[marker] = range + first_node = insert_node(range.first) + first_node.endpoint_of.push(marker) + last_node = insert_node(range.last) + last_node.endpoint_of.push(marker) + + cur_node = first_node + cur_level = first_node.top_level + while next_node_at_level_inside_range?(cur_node, cur_level, range) + while can_ascend_from?(cur_node, cur_level) && next_node_at_level_inside_range?(cur_node, cur_level + 1, range) + cur_level += 1 + end + cur_node = mark_forward_path_at_level(cur_node, cur_level, marker) + end + + while node_inside_range?(cur_node, range) + while can_descend_from?(cur_level) && next_node_at_level_outside_range?(cur_node, cur_level, range) + cur_level -= 1 + end + cur_node = mark_forward_path_at_level(cur_node, cur_level, marker) + end + end + + def delete(marker) + range = ranges[marker] + path_to_first_node = make_path + first_node = find(range.first, path_to_first_node) + + cur_node = first_node + cur_level = first_node.top_level + while next_node_at_level_inside_range?(cur_node, cur_level, range) + while can_ascend_from?(cur_node, cur_level) && next_node_at_level_inside_range?(cur_node, cur_level + 1, range) + cur_level += 1 + end + cur_node = unmark_forward_path_at_level(cur_node, cur_level, marker) + end + + while node_inside_range?(cur_node, range) + while can_descend_from?(cur_level) && next_node_at_level_outside_range?(cur_node, cur_level, range) + cur_level -= 1 + end + cur_node = unmark_forward_path_at_level(cur_node, cur_level, marker) + end + last_node = cur_node + + first_node.endpoint_of.delete(marker) + if first_node.endpoint_of.empty? + first_node.delete(path_to_first_node) + end + + last_node.endpoint_of.delete(marker) + if last_node.endpoint_of.empty? + path_to_last_node = make_path + find(range.last, path_to_last_node) + last_node.delete(path_to_last_node) + end + end + + protected + attr_reader :head, :ranges + + def insert_node(key) + path = make_path + found_node = find(key, path) + if found_node && found_node.key == key + return found_node + else + return Node.new(key, next_node_height, path) + end + end + + def containing_with_node(n) + containing = [] + cur_node = head + (max_height - 1).downto(0) do |cur_level| + while (next_node = cur_node.forward[cur_level]) && next_node.key <= n + cur_node = next_node + if cur_node.key == n + return containing + (cur_node.markers - cur_node.endpoint_of), cur_node + end + end + containing.concat(cur_node.forward_markers[cur_level]) + end + + return containing, cur_node + end + + def delete_node(key) + path = make_path + found_node = find(key, path) + found_node.delete(path) if found_node.key == key + end + + def find(key, path) + cur_node = head + (max_height - 1).downto(0) do |cur_level| + while (next_node = cur_node.forward[cur_level]) && next_node.key < key + cur_node = next_node + end + path[cur_level] = cur_node + end + cur_node.forward[0] + end + + def make_path + Array.new(max_height, nil) + end + + def next_node_height + height = 1 + while rand < probability && height < max_height + height += 1 + end + height + end + + def can_ascend_from?(node, level) + level < node.top_level + end + + def can_descend_from?(level) + level > 0 + end + + def node_inside_range?(node, range) + node.key < range.last + end + + def next_node_at_level_inside_range?(node, level, range) + node.forward[level] && node.forward[level].key <= range.last + end + + def next_node_at_level_outside_range?(node, level, range) + (node.forward[level].nil? || node.forward[level].key > range.last) + end + + def mark_forward_path_at_level(node, level, marker) + node.forward_markers[level].push(marker) + next_node = node.forward[level] + next_node.markers.push(marker) + node = next_node + end + + def unmark_forward_path_at_level(node, level, marker) + node.forward_markers[level].delete(marker) + next_node = node.forward[level] + next_node.markers.delete(marker) + node = next_node + end + + def nodes + nodes = [] + cur_node = head.forward[0] + until cur_node.nil? + nodes << cur_node + cur_node = cur_node.forward[0] + end + nodes + end +end \ No newline at end of file diff --git a/vendor/gems/gems/treetop-1.4.2/lib/treetop/runtime/interval_skip_list/node.rb b/vendor/gems/gems/treetop-1.4.2/lib/treetop/runtime/interval_skip_list/node.rb new file mode 100755 index 00000000..a53edb26 --- /dev/null +++ b/vendor/gems/gems/treetop-1.4.2/lib/treetop/runtime/interval_skip_list/node.rb @@ -0,0 +1,164 @@ +class IntervalSkipList + class Node < HeadNode + attr_accessor :key + attr_reader :markers, :endpoint_of + + def initialize(key, height, path) + super(height) + @key = key + @markers = [] + @endpoint_of = [] + update_forward_pointers(path) + promote_markers(path) + end + + def all_forward_markers + markers.flatten + end + + def delete(path) + 0.upto(top_level) do |i| + path[i].forward[i] = forward[i] + end + demote_markers(path) + end + + def propagate_length_change(length_change) + cur_node = self + while cur_node do + cur_node.key += length_change + cur_node = cur_node.forward[0] + end + end + + protected + + def update_forward_pointers(path) + 0.upto(top_level) do |i| + forward[i] = path[i].forward[i] + path[i].forward[i] = self + end + end + + def promote_markers(path) + promoted = [] + new_promoted = [] + 0.upto(top_level) do |i| + incoming_markers = path[i].forward_markers[i] + markers.concat(incoming_markers) + + incoming_markers.each do |marker| + if can_be_promoted_higher?(marker, i) + new_promoted.push(marker) + forward[i].delete_marker_from_path(marker, i, forward[i+1]) + else + forward_markers[i].push(marker) + end + end + + promoted.each do |marker| + if can_be_promoted_higher?(marker, i) + new_promoted.push(marker) + forward[i].delete_marker_from_path(marker, i, forward[i+1]) + else + forward_markers[i].push(marker) + end + end + + promoted = new_promoted + new_promoted = [] + end + end + + + def can_be_promoted_higher?(marker, level) + level < top_level && forward[level + 1] && forward[level + 1].markers.include?(marker) + end + + def delete_marker_from_path(marker, level, terminus) + cur_node = self + until cur_node == terminus + cur_node.forward_markers[level].delete(marker) + cur_node.markers.delete(marker) + cur_node = cur_node.forward[level] + end + end + + def demote_markers(path) + demote_inbound_markers(path) + demote_outbound_markers(path) + end + + def demote_inbound_markers(path) + demoted = [] + new_demoted = [] + + top_level.downto(0) do |i| + incoming_markers = path[i].forward_markers[i].dup + incoming_markers.each do |marker| + unless forward_node_with_marker_at_or_above_level?(marker, i) + path[i].forward_markers[i].delete(marker) + new_demoted.push(marker) + end + end + + demoted.each do |marker| + path[i + 1].place_marker_on_inbound_path(marker, i, path[i]) + + if forward[i].markers.include?(marker) + path[i].forward_markers[i].push(marker) + else + new_demoted.push(marker) + end + end + + demoted = new_demoted + new_demoted = [] + end + end + + def demote_outbound_markers(path) + demoted = [] + new_demoted = [] + + top_level.downto(0) do |i| + forward_markers[i].each do |marker| + new_demoted.push(marker) unless path[i].forward_markers[i].include?(marker) + end + + demoted.each do |marker| + forward[i].place_marker_on_outbound_path(marker, i, forward[i + 1]) + new_demoted.push(marker) unless path[i].forward_markers[i].include?(marker) + end + + demoted = new_demoted + new_demoted = [] + end + end + + def forward_node_with_marker_at_or_above_level?(marker, level) + level.upto(top_level) do |i| + return true if forward[i].markers.include?(marker) + end + false + end + + def place_marker_on_outbound_path(marker, level, terminus) + cur_node = self + until cur_node == terminus + cur_node.forward_markers[level].push(marker) + cur_node.markers.push(marker) + cur_node = cur_node.forward[level] + end + end + + def place_marker_on_inbound_path(marker, level, terminus) + cur_node = self + until cur_node == terminus + cur_node.forward_markers[level].push(marker) + cur_node = cur_node.forward[level] + cur_node.markers.push(marker) + end + end + end +end \ No newline at end of file diff --git a/vendor/gems/gems/treetop-1.4.2/lib/treetop/runtime/syntax_node.rb b/vendor/gems/gems/treetop-1.4.2/lib/treetop/runtime/syntax_node.rb new file mode 100755 index 00000000..9df471cc --- /dev/null +++ b/vendor/gems/gems/treetop-1.4.2/lib/treetop/runtime/syntax_node.rb @@ -0,0 +1,114 @@ +module Treetop + module Runtime + class SyntaxNode + attr_reader :input, :interval + attr_accessor :parent + attr_reader :dot_id + + @@dot_id_counter = 0 + + def initialize(input, interval, elements = nil) + @input = input + @interval = interval + @elements = elements + end + + def elements + return @elements if terminal? + # replace the character class placeholders in the sequence (lazy instantiation) + last_element = nil + @comprehensive_elements ||= @elements.map do |element| + if element == true + index = last_element ? last_element.interval.last : interval.first + element = SyntaxNode.new(input, index...(index + 1)) + end + element.parent = self + last_element = element + end + + @dot_id = @@dot_id_counter + @@dot_id_counter += 1 + + @comprehensive_elements + end + + def terminal? + @elements.nil? + end + + def nonterminal? + !terminal? + end + + def text_value + input[interval] + end + + def empty? + interval.first == interval.last && interval.exclude_end? + end + + def <=>(other) + self.interval.first <=> other.interval.first + end + + def extension_modules + local_extensions = + class < 0 + local_extensions + else + [] # There weren't any; must be a literal node + end + end + + def inspect(indent="") + em = extension_modules + interesting_methods = methods-[em.last ? em.last.methods : nil]-self.class.instance_methods + im = interesting_methods.size > 0 ? " (#{interesting_methods.join(",")})" : "" + tv = text_value + tv = "...#{tv[-20..-1]}" if tv.size > 20 + + indent + + self.class.to_s.sub(/.*:/,'') + + em.map{|m| "+"+m.to_s.sub(/.*:/,'')}*"" + + " offset=#{interval.first}" + + ", #{tv.inspect}" + + im + + (elements && elements.size > 0 ? + ":" + + (elements||[]).map{|e| + begin + "\n"+e.inspect(indent+" ") + rescue # Defend against inspect not taking a parameter + "\n"+indent+" "+e.inspect + end + }.join("") : + "" + ) + end + + def write_dot(io) + io.puts "node#{dot_id} [label=\"#{text_value}\"];" + if nonterminal? then + elements.each do + |x| + io.puts "node#{dot_id} -> node#{x.dot_id};" + x.write_dot(io) + end + end + end + + def write_dot_file(fname) + File.open(fname + ".dot","w") do + |file| + file.puts "digraph G {" + write_dot(file) + file.puts "}" + end + end + end + end +end diff --git a/vendor/gems/gems/treetop-1.4.2/lib/treetop/runtime/terminal_parse_failure.rb b/vendor/gems/gems/treetop-1.4.2/lib/treetop/runtime/terminal_parse_failure.rb new file mode 100755 index 00000000..b87bdbb1 --- /dev/null +++ b/vendor/gems/gems/treetop-1.4.2/lib/treetop/runtime/terminal_parse_failure.rb @@ -0,0 +1,16 @@ +module Treetop + module Runtime + class TerminalParseFailure + attr_reader :index, :expected_string + + def initialize(index, expected_string) + @index = index + @expected_string = expected_string + end + + def to_s + "String matching #{expected_string} expected." + end + end + end +end diff --git a/vendor/gems/gems/treetop-1.4.2/lib/treetop/runtime/terminal_parse_failure_debug.rb b/vendor/gems/gems/treetop-1.4.2/lib/treetop/runtime/terminal_parse_failure_debug.rb new file mode 100755 index 00000000..3b52ccaa --- /dev/null +++ b/vendor/gems/gems/treetop-1.4.2/lib/treetop/runtime/terminal_parse_failure_debug.rb @@ -0,0 +1,21 @@ +module Treetop + module Runtime + class TerminalParseFailure + attr_reader :index + + def initialize(index, expected_string) + @index = index + @caller = caller + @expected_string = expected_string + end + + def expected_string + "#{@expected_string} from #{@caller.map{|s| s.sub(/\A.*:([0-9]+):in `([^']*)'.*/,'\2:\1')}*" from "}\n\t" + end + + def to_s + "String matching #{expected_string} expected." + end + end + end +end diff --git a/vendor/gems/gems/treetop-1.4.2/lib/treetop/runtime/terminal_syntax_node.rb b/vendor/gems/gems/treetop-1.4.2/lib/treetop/runtime/terminal_syntax_node.rb new file mode 100755 index 00000000..06c68161 --- /dev/null +++ b/vendor/gems/gems/treetop-1.4.2/lib/treetop/runtime/terminal_syntax_node.rb @@ -0,0 +1,17 @@ +module Treetop + module Runtime + class TerminalSyntaxNode < SyntaxNode + + def initialize(input, interval) + super(input, interval, []) + end + + def inspect(indent="") + indent+ + self.class.to_s.sub(/.*:/,'') + + " offset=#{interval.first}" + + " #{text_value.inspect}" + end + end + end +end diff --git a/vendor/gems/gems/treetop-1.4.2/lib/treetop/version.rb b/vendor/gems/gems/treetop-1.4.2/lib/treetop/version.rb new file mode 100755 index 00000000..d033fff3 --- /dev/null +++ b/vendor/gems/gems/treetop-1.4.2/lib/treetop/version.rb @@ -0,0 +1,9 @@ +module Treetop #:nodoc: + module VERSION #:nodoc: + MAJOR = 1 + MINOR = 4 + TINY = 2 + + STRING = [MAJOR, MINOR, TINY].join('.') + end +end diff --git a/vendor/gems/gems/yui-compressor-0.9.1/Rakefile b/vendor/gems/gems/yui-compressor-0.9.1/Rakefile new file mode 100755 index 00000000..8a351b69 --- /dev/null +++ b/vendor/gems/gems/yui-compressor-0.9.1/Rakefile @@ -0,0 +1,21 @@ +require "rubygems" +require "rake/gempackagetask" +require "rake/rdoctask" +require "rake/testtask" + +task :default => :test + +Rake::TestTask.new do |t| + t.libs += ["lib", "test"] + t.test_files = FileList["test/*_test.rb"] + t.verbose = true +end + +Rake::RDocTask.new do |t| + t.rdoc_files.include("README.rdoc", "lib/**/*.rb") +end + +Rake::GemPackageTask.new(eval(IO.read(File.join(File.dirname(__FILE__), "yui-compressor.gemspec")))) do |pkg| + pkg.need_zip = true + pkg.need_tar = true +end diff --git a/vendor/gems/gems/yui-compressor-0.9.1/lib/yui/compressor.rb b/vendor/gems/gems/yui-compressor-0.9.1/lib/yui/compressor.rb new file mode 100755 index 00000000..da4d0c7a --- /dev/null +++ b/vendor/gems/gems/yui-compressor-0.9.1/lib/yui/compressor.rb @@ -0,0 +1,200 @@ +require "open3" +require "stringio" + +module YUI #:nodoc: + class Compressor + class Error < StandardError; end + class OptionError < Error; end + class RuntimeError < Error; end + + attr_reader :options, :command + + def self.default_options #:nodoc: + { :charset => "utf-8", :line_break => nil } + end + + def self.compressor_type #:nodoc: + raise Error, "create a CssCompressor or JavaScriptCompressor instead" + end + + def initialize(options = {}) #:nodoc: + @options = self.class.default_options.merge(options) + @command = [path_to_java, "-jar", path_to_jar_file, *(command_option_for_type + command_options)] + end + + # Compress a stream or string of code with YUI Compressor. (A stream is + # any object that responds to +read+ and +close+ like an IO.) If a block + # is given, you can read the compressed code from the block's argument. + # Otherwise, +compress+ returns a string of compressed code. + # + # ==== Example: Compress CSS + # compressor = YUI::CssCompressor.new + # compressor.compress(<<-END_CSS) + # div.error { + # color: red; + # } + # div.warning { + # display: none; + # } + # END_CSS + # # => "div.error{color:red;}div.warning{display:none;}" + # + # ==== Example: Compress JavaScript + # compressor = YUI::JavaScriptCompressor.new + # compressor.compress('(function () { var foo = {}; foo["bar"] = "baz"; })()') + # # => "(function(){var foo={};foo.bar=\"baz\"})();" + # + # ==== Example: Compress and gzip a file on disk + # File.open("my.js", "r") do |source| + # Zlib::GzipWriter.open("my.js.gz", "w") do |gzip| + # compressor.compress(source) do |compressed| + # while buffer = compressed.read(4096) + # gzip.write(buffer) + # end + # end + # end + # end + # + def compress(stream_or_string) + streamify(stream_or_string) do |stream| + Open3.popen3(*command) do |stdin, stdout, stderr| + begin + transfer(stream, stdin) + + if block_given? + yield stdout + else + stdout.read + end + + rescue Exception => e + raise RuntimeError, "compression failed" + end + end + end + end + + private + def command_options + options.inject([]) do |command_options, (name, argument)| + method = begin + method(:"command_option_for_#{name}") + rescue NameError + raise OptionError, "undefined option #{name.inspect}" + end + + command_options.concat(method.call(argument)) + end + end + + def path_to_java + options.delete(:java) || "java" + end + + def path_to_jar_file + options.delete(:jar_file) || File.join(File.dirname(__FILE__), *%w".. .. vendor yuicompressor-2.4.2.jar") + end + + def streamify(stream_or_string) + if stream_or_string.respond_to?(:read) + yield stream_or_string + else + yield StringIO.new(stream_or_string.to_s) + end + end + + def transfer(from_stream, to_stream) + while buffer = from_stream.read(4096) + to_stream.write(buffer) + end + to_stream.close + end + + def command_option_for_type + ["--type", self.class.compressor_type.to_s] + end + + def command_option_for_charset(charset) + ["--charset", charset.to_s] + end + + def command_option_for_line_break(line_break) + line_break ? ["--line-break", line_break.to_s] : [] + end + end + + class CssCompressor < Compressor + def self.compressor_type #:nodoc: + "css" + end + + # Creates a new YUI::CssCompressor for minifying CSS code. + # + # Options are: + # + # :charset:: Specifies the character encoding to use. Defaults to + # "utf-8". + # :line_break:: By default, CSS will be compressed onto a single + # line. Use this option to specify the maximum + # number of characters in each line before a newline + # is added. If :line_break is 0, a newline + # is added after each CSS rule. + # + def initialize(options = {}) + super + end + end + + class JavaScriptCompressor < Compressor + def self.compressor_type #:nodoc: + "js" + end + + def self.default_options #:nodoc: + super.merge( + :munge => false, + :optimize => true, + :preserve_semicolons => false + ) + end + + # Creates a new YUI::JavaScriptCompressor for minifying JavaScript code. + # + # Options are: + # + # :charset:: Specifies the character encoding to use. Defaults to + # "utf-8". + # :line_break:: By default, JavaScript will be compressed onto a + # single line. Use this option to specify the + # maximum number of characters in each line before a + # newline is added. If :line_break is 0, a + # newline is added after each JavaScript statement. + # :munge:: Specifies whether YUI Compressor should shorten local + # variable names when possible. Defaults to +false+. + # :optimize:: Specifies whether YUI Compressor should optimize + # JavaScript object property access and object literal + # declarations to use as few characters as possible. + # Defaults to +true+. + # :preserve_semicolons:: Defaults to +false+. If +true+, YUI + # Compressor will ensure semicolons exist + # after each statement to appease tools like + # JSLint. + # + def initialize(options = {}) + super + end + + private + def command_option_for_munge(munge) + munge ? [] : ["--nomunge"] + end + + def command_option_for_optimize(optimize) + optimize ? [] : ["--disable-optimizations"] + end + + def command_option_for_preserve_semicolons(preserve_semicolons) + preserve_semicolons ? ["--preserve-semi"] : [] + end + end +end diff --git a/vendor/gems/gems/yui-compressor-0.9.1/test/compressor_test.rb b/vendor/gems/gems/yui-compressor-0.9.1/test/compressor_test.rb new file mode 100755 index 00000000..f5bba625 --- /dev/null +++ b/vendor/gems/gems/yui-compressor-0.9.1/test/compressor_test.rb @@ -0,0 +1,94 @@ +require "test/unit" +require "yui/compressor" + +module YUI + class CompressorTest < Test::Unit::TestCase + FIXTURE_CSS = <<-END_CSS + div.warning { + display: none; + } + + div.error { + background: red; + color: white; + } + END_CSS + + FIXTURE_JS = <<-END_JS + // here's a comment + var Foo = { "a": 1 }; + Foo["bar"] = (function(baz) { + /* here's a + multiline comment */ + if (false) { + doSomething(); + } else { + for (var index = 0; index < baz.length; index++) { + doSomething(baz[index]); + } + } + })("hello"); + END_JS + + def test_compressor_should_raise_when_instantiated + assert_raises YUI::Compressor::Error do + YUI::Compressor.new + end + end + + def test_css_should_be_compressed + @compressor = YUI::CssCompressor.new + assert_equal "div.warning{display:none;}div.error{background:red;color:white;}", @compressor.compress(FIXTURE_CSS) + end + + def test_js_should_be_compressed + @compressor = YUI::JavaScriptCompressor.new + assert_equal "var Foo={a:1};Foo.bar=(function(baz){if(false){doSomething()}else{for(var index=0;index "bar") + @compressor.compress(FIXTURE_JS) + end + end + + def test_compress_should_accept_an_io_argument + @compressor = YUI::CssCompressor.new + assert_equal "div.warning{display:none;}div.error{background:red;color:white;}", @compressor.compress(StringIO.new(FIXTURE_CSS)) + end + + def test_compress_should_accept_a_block_and_yield_an_io + @compressor = YUI::CssCompressor.new + @compressor.compress(FIXTURE_CSS) do |stream| + assert_kind_of IO, stream + assert_equal "div.warning{display:none;}div.error{background:red;color:white;}", stream.read + end + end + + def test_line_break_option_should_insert_line_breaks_in_css + @compressor = YUI::CssCompressor.new(:line_break => 0) + assert_equal "div.warning{display:none;}\ndiv.error{background:red;color:white;}", @compressor.compress(FIXTURE_CSS) + end + + def test_line_break_option_should_insert_line_breaks_in_js + @compressor = YUI::JavaScriptCompressor.new(:line_break => 0) + assert_equal "var Foo={a:1};\nFoo.bar=(function(baz){if(false){doSomething()\n}else{for(var index=0;\nindex true) + assert_equal "var Foo={a:1};Foo.bar=(function(b){if(false){doSomething()}else{for(var a=0;a false) + assert_equal "var Foo={\"a\":1};Foo[\"bar\"]=(function(baz){if(false){doSomething()}else{for(var index=0;index true) + assert_equal "var Foo={a:1};Foo.bar=(function(baz){if(false){doSomething();}else{for(var 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
    vQWQ81PSRYsyy%}BasMgW*@C!F^ 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

    mDlI*-YYr4^5Gs;u7l7((%~7noXQa; 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�y9sA{K37k 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 z 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 XH3K=u5BCppxNtlQhqw|l4gU3i%C&)! literal 0 HcmV?d00001 diff --git a/vendor/gems/specifications/builder-2.1.2.gemspec b/vendor/gems/specifications/builder-2.1.2.gemspec new file mode 100755 index 00000000..e98a7905 --- /dev/null +++ b/vendor/gems/specifications/builder-2.1.2.gemspec @@ -0,0 +1,33 @@ +# -*- encoding: utf-8 -*- + +Gem::Specification.new do |s| + s.name = %q{builder} + s.version = "2.1.2" + + s.required_rubygems_version = nil if s.respond_to? :required_rubygems_version= + s.authors = ["Jim Weirich"] + s.autorequire = %q{builder} + s.cert_chain = nil + s.date = %q{2007-06-14} + s.description = %q{Builder provides a number of builder objects that make creating structured data simple to do. Currently the following builder objects are supported: * XML Markup * XML Events} + s.email = %q{jim@weirichhouse.org} + s.extra_rdoc_files = ["CHANGES", "Rakefile", "README", "doc/releases/builder-1.2.4.rdoc", "doc/releases/builder-2.0.0.rdoc", "doc/releases/builder-2.1.1.rdoc"] + s.files = ["lib/blankslate.rb", "lib/builder.rb", "lib/builder/blankslate.rb", "lib/builder/xchar.rb", "lib/builder/xmlbase.rb", "lib/builder/xmlevents.rb", "lib/builder/xmlmarkup.rb", "test/performance.rb", "test/preload.rb", "test/test_xchar.rb", "test/testblankslate.rb", "test/testeventbuilder.rb", "test/testmarkupbuilder.rb", "scripts/publish.rb", "CHANGES", "Rakefile", "README", "doc/releases/builder-1.2.4.rdoc", "doc/releases/builder-2.0.0.rdoc", "doc/releases/builder-2.1.1.rdoc"] + s.homepage = %q{http://onestepback.org} + s.rdoc_options = ["--title", "Builder -- Easy XML Building", "--main", "README", "--line-numbers"] + s.require_paths = ["lib"] + s.required_ruby_version = Gem::Requirement.new("> 0.0.0") + s.rubygems_version = %q{1.3.5} + s.summary = %q{Builders for MarkUp.} + s.test_files = ["test/test_xchar.rb", "test/testblankslate.rb", "test/testeventbuilder.rb", "test/testmarkupbuilder.rb"] + + if s.respond_to? :specification_version then + current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION + s.specification_version = 1 + + if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then + else + end + else + end +end diff --git a/vendor/gems/specifications/compass-0.8.17.gemspec b/vendor/gems/specifications/compass-0.8.17.gemspec new file mode 100755 index 00000000..09b7fd42 --- /dev/null +++ b/vendor/gems/specifications/compass-0.8.17.gemspec @@ -0,0 +1,36 @@ +# -*- encoding: utf-8 -*- + +Gem::Specification.new do |s| + s.name = %q{compass} + s.version = "0.8.17" + + s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version= + s.authors = ["Chris Eppstein"] + s.date = %q{2009-09-24} + s.default_executable = %q{compass} + s.description = %q{Compass is a Sass-based Stylesheet Framework that streamlines the creation and maintainance of CSS.} + s.email = %q{chris@eppsteins.net} + s.executables = ["compass"] + s.extra_rdoc_files = ["LICENSE.markdown", "README.markdown"] + s.files = ["CHANGELOG.markdown", "LICENSE.markdown", "README.markdown", "REVISION", "Rakefile", "VERSION.yml", "bin/compass", "deps.rip", "examples/README.markdown", "examples/blueprint_default/config.rb", "examples/blueprint_default/images/grid.png", "examples/blueprint_default/index.html.haml", "examples/blueprint_default/parts/elements.html.haml", "examples/blueprint_default/parts/forms.html.haml", "examples/blueprint_default/parts/grid.html.haml", "examples/blueprint_default/parts/test-small.jpg", "examples/blueprint_default/parts/test.jpg", "examples/blueprint_default/parts/valid.png", "examples/blueprint_default/src/ie.sass", "examples/blueprint_default/src/images/grid.png", "examples/blueprint_default/src/print.sass", "examples/blueprint_default/src/screen.sass", "examples/blueprint_plugins/config.rb", "examples/blueprint_plugins/images/buttons/cross.png", "examples/blueprint_plugins/images/buttons/key.png", "examples/blueprint_plugins/images/buttons/tick.png", "examples/blueprint_plugins/images/grid.png", "examples/blueprint_plugins/images/link_icons/doc.png", "examples/blueprint_plugins/images/link_icons/email.png", "examples/blueprint_plugins/images/link_icons/external.png", "examples/blueprint_plugins/images/link_icons/feed.png", "examples/blueprint_plugins/images/link_icons/im.png", "examples/blueprint_plugins/images/link_icons/pdf.png", "examples/blueprint_plugins/images/link_icons/visited.png", "examples/blueprint_plugins/images/link_icons/xls.png", "examples/blueprint_plugins/images/test-small.jpg", "examples/blueprint_plugins/images/test.jpg", "examples/blueprint_plugins/images/valid.png", "examples/blueprint_plugins/index.html.haml", "examples/blueprint_plugins/plugins/buttons.html.haml", "examples/blueprint_plugins/plugins/fancy_type.html.haml", "examples/blueprint_plugins/plugins/link_icons.html.haml", "examples/blueprint_plugins/plugins/rtl.html.haml", "examples/blueprint_plugins/src/buttons.sass", "examples/blueprint_plugins/src/ie.sass", "examples/blueprint_plugins/src/images/grid.png", "examples/blueprint_plugins/src/link_icons.sass", "examples/blueprint_plugins/src/print.sass", "examples/blueprint_plugins/src/rtl_screen.sass", "examples/blueprint_plugins/src/screen.sass", "examples/blueprint_scoped/images/grid.png", "examples/blueprint_scoped/src/ie.sass", "examples/blueprint_scoped/src/print.sass", "examples/blueprint_scoped/src/screen.sass", "examples/blueprint_scoped_form/images/grid.png", "examples/blueprint_scoped_form/src/ie.sass", "examples/blueprint_scoped_form/src/print.sass", "examples/blueprint_scoped_form/src/screen.sass", "examples/blueprint_semantic/config.rb", "examples/blueprint_semantic/images/grid.png", "examples/blueprint_semantic/index.html.haml", "examples/blueprint_semantic/parts/fancy_type.html.haml", "examples/blueprint_semantic/parts/liquid.html.haml", "examples/blueprint_semantic/parts/test-small.jpg", "examples/blueprint_semantic/parts/test.jpg", "examples/blueprint_semantic/parts/valid.png", "examples/blueprint_semantic/src/ie.sass", "examples/blueprint_semantic/src/images/grid.png", "examples/blueprint_semantic/src/liquid.sass", "examples/blueprint_semantic/src/print.sass", "examples/blueprint_semantic/src/screen.sass", "examples/compass/compass.html.haml", "examples/compass/config.rb", "examples/compass/images/blue_arrow.gif", "examples/compass/src/compass.sass", "examples/compass/src/images/blue_arrow.gif", "examples/compass/src/sticky_footer.sass", "examples/compass/src/utilities.sass", "examples/compass/sticky_footer.html.haml", "examples/compass/utilities.html.haml", "examples/logo/logo.html.haml", "examples/logo/src/ie.sass", "examples/logo/src/print.sass", "examples/logo/src/screen.sass", "examples/yui/divisions.html.haml", "examples/yui/index.html.haml", "examples/yui/src/screen.sass", "examples/yui/sub_divisions.html.haml", "examples/yui/templates.html.haml", "examples/yui/test.jpg", "examples/yui/typography.html.haml", "frameworks/blueprint.rb", "frameworks/blueprint/stylesheets/_blueprint.sass", "frameworks/blueprint/stylesheets/blueprint/_ie.sass", "frameworks/blueprint/stylesheets/blueprint/_print.sass", "frameworks/blueprint/stylesheets/blueprint/_reset.sass", "frameworks/blueprint/stylesheets/blueprint/_screen.sass", "frameworks/blueprint/stylesheets/blueprint/modules/_buttons.sass", "frameworks/blueprint/stylesheets/blueprint/modules/_colors.sass", "frameworks/blueprint/stylesheets/blueprint/modules/_debug.sass", "frameworks/blueprint/stylesheets/blueprint/modules/_fancy_type.sass", "frameworks/blueprint/stylesheets/blueprint/modules/_form.sass", "frameworks/blueprint/stylesheets/blueprint/modules/_grid.sass", "frameworks/blueprint/stylesheets/blueprint/modules/_interaction.sass", "frameworks/blueprint/stylesheets/blueprint/modules/_link_icons.sass", "frameworks/blueprint/stylesheets/blueprint/modules/_liquid.sass", "frameworks/blueprint/stylesheets/blueprint/modules/_reset.sass", "frameworks/blueprint/stylesheets/blueprint/modules/_rtl.sass", "frameworks/blueprint/stylesheets/blueprint/modules/_scaffolding.sass", "frameworks/blueprint/stylesheets/blueprint/modules/_typography.sass", "frameworks/blueprint/stylesheets/blueprint/modules/_utilities.sass", "frameworks/blueprint/templates/buttons/buttons.sass", "frameworks/blueprint/templates/buttons/buttons/cross.png", "frameworks/blueprint/templates/buttons/buttons/key.png", "frameworks/blueprint/templates/buttons/buttons/tick.png", "frameworks/blueprint/templates/buttons/manifest.rb", "frameworks/blueprint/templates/link_icons/link_icons.sass", "frameworks/blueprint/templates/link_icons/link_icons/doc.png", "frameworks/blueprint/templates/link_icons/link_icons/email.png", "frameworks/blueprint/templates/link_icons/link_icons/external.png", "frameworks/blueprint/templates/link_icons/link_icons/feed.png", "frameworks/blueprint/templates/link_icons/link_icons/im.png", "frameworks/blueprint/templates/link_icons/link_icons/pdf.png", "frameworks/blueprint/templates/link_icons/link_icons/visited.png", "frameworks/blueprint/templates/link_icons/link_icons/xls.png", "frameworks/blueprint/templates/link_icons/manifest.rb", "frameworks/blueprint/templates/project/grid.png", "frameworks/blueprint/templates/project/ie.sass", "frameworks/blueprint/templates/project/manifest.rb", "frameworks/blueprint/templates/project/partials/_base.sass", "frameworks/blueprint/templates/project/print.sass", "frameworks/blueprint/templates/project/screen.sass", "frameworks/compass.rb", "frameworks/compass/stylesheets/_compass.sass", "frameworks/compass/stylesheets/compass/_layout.sass", "frameworks/compass/stylesheets/compass/_misc.sass", "frameworks/compass/stylesheets/compass/_reset.sass", "frameworks/compass/stylesheets/compass/_utilities.sass", "frameworks/compass/stylesheets/compass/layout/_sticky_footer.sass", "frameworks/compass/stylesheets/compass/utilities/_general.sass", "frameworks/compass/stylesheets/compass/utilities/_links.sass", "frameworks/compass/stylesheets/compass/utilities/_lists.sass", "frameworks/compass/stylesheets/compass/utilities/_print.sass", "frameworks/compass/stylesheets/compass/utilities/_sprites.sass", "frameworks/compass/stylesheets/compass/utilities/_tables.sass", "frameworks/compass/stylesheets/compass/utilities/_text.sass", "frameworks/compass/stylesheets/compass/utilities/general/_clearfix.sass", "frameworks/compass/stylesheets/compass/utilities/general/_float.sass", "frameworks/compass/stylesheets/compass/utilities/general/_hacks.sass", "frameworks/compass/stylesheets/compass/utilities/general/_inline_block.sass", "frameworks/compass/stylesheets/compass/utilities/general/_reset.sass", "frameworks/compass/stylesheets/compass/utilities/general/_tabs.sass", "frameworks/compass/stylesheets/compass/utilities/general/_tag_cloud.sass", "frameworks/compass/stylesheets/compass/utilities/links/_hover_link.sass", "frameworks/compass/stylesheets/compass/utilities/links/_link_colors.sass", "frameworks/compass/stylesheets/compass/utilities/links/_unstyled_link.sass", "frameworks/compass/stylesheets/compass/utilities/lists/_bullets.sass", "frameworks/compass/stylesheets/compass/utilities/lists/_horizontal_list.sass", "frameworks/compass/stylesheets/compass/utilities/lists/_inline_list.sass", "frameworks/compass/stylesheets/compass/utilities/sprites/_sprite_img.sass", "frameworks/compass/stylesheets/compass/utilities/tables/_alternating_rows_and_columns.sass", "frameworks/compass/stylesheets/compass/utilities/tables/_borders.sass", "frameworks/compass/stylesheets/compass/utilities/tables/_scaffolding.sass", "frameworks/compass/stylesheets/compass/utilities/text/_ellipsis.sass", "frameworks/compass/stylesheets/compass/utilities/text/_nowrap.sass", "frameworks/compass/stylesheets/compass/utilities/text/_replacement.sass", "frameworks/compass/templates/ellipsis/ellipsis.sass", "frameworks/compass/templates/ellipsis/manifest.rb", "frameworks/compass/templates/ellipsis/xml/ellipsis.xml", "frameworks/compass/templates/project/ie.sass", "frameworks/compass/templates/project/manifest.rb", "frameworks/compass/templates/project/print.sass", "frameworks/compass/templates/project/screen.sass", "frameworks/yui.rb", "frameworks/yui/stylesheets/_yui.sass", "frameworks/yui/stylesheets/yui/modules/_base.sass", "frameworks/yui/stylesheets/yui/modules/_fonts.sass", "frameworks/yui/stylesheets/yui/modules/_grids.sass", "frameworks/yui/stylesheets/yui/modules/_reset.sass", "frameworks/yui/templates/project/manifest.rb", "frameworks/yui/templates/project/screen.sass", "lib/compass.rb", "lib/compass/actions.rb", "lib/compass/app_integration.rb", "lib/compass/app_integration/merb.rb", "lib/compass/app_integration/rails.rb", "lib/compass/app_integration/rails/action_controller.rb", "lib/compass/app_integration/rails/sass_plugin.rb", "lib/compass/app_integration/rails/templates/compass-install-rails.rb", "lib/compass/app_integration/rails/urls.rb", "lib/compass/commands/base.rb", "lib/compass/commands/create_project.rb", "lib/compass/commands/generate_grid_background.rb", "lib/compass/commands/installer_command.rb", "lib/compass/commands/list_frameworks.rb", "lib/compass/commands/print_version.rb", "lib/compass/commands/project_base.rb", "lib/compass/commands/stamp_pattern.rb", "lib/compass/commands/update_project.rb", "lib/compass/commands/validate_project.rb", "lib/compass/commands/watch_project.rb", "lib/compass/commands/write_configuration.rb", "lib/compass/compiler.rb", "lib/compass/configuration.rb", "lib/compass/core_ext.rb", "lib/compass/dependencies.rb", "lib/compass/errors.rb", "lib/compass/exec.rb", "lib/compass/frameworks.rb", "lib/compass/grid_builder.rb", "lib/compass/installers.rb", "lib/compass/installers/base.rb", "lib/compass/installers/manifest.rb", "lib/compass/installers/rails.rb", "lib/compass/installers/stand_alone.rb", "lib/compass/logger.rb", "lib/compass/sass_extensions.rb", "lib/compass/sass_extensions/functions.rb", "lib/compass/sass_extensions/functions/display.rb", "lib/compass/sass_extensions/functions/enumerate.rb", "lib/compass/sass_extensions/functions/inline_image.rb", "lib/compass/sass_extensions/functions/selectors.rb", "lib/compass/sass_extensions/functions/urls.rb", "lib/compass/sass_extensions/monkey_patches.rb", "lib/compass/sass_extensions/monkey_patches/stylesheet_updating.rb", "lib/compass/test_case.rb", "lib/compass/validator.rb", "lib/compass/version.rb", "lib/vendor/fssm.rb", "lib/vendor/fssm/backends/fsevents.rb", "lib/vendor/fssm/backends/polling.rb", "lib/vendor/fssm/cache.rb", "lib/vendor/fssm/ext.rb", "lib/vendor/fssm/fsevents.rb", "lib/vendor/fssm/monitor.rb", "lib/vendor/fssm/path.rb", "lib/vendor/fssm/state.rb", "lib/vendor/fssm/support.rb", "lib/vendor/fssm/tree.rb", "test/command_line_helper.rb", "test/command_line_test.rb", "test/compass_test.rb", "test/configuration_test.rb", "test/fixtures/stylesheets/blueprint/config.rb", "test/fixtures/stylesheets/blueprint/css/typography.css", "test/fixtures/stylesheets/blueprint/images/grid.png", "test/fixtures/stylesheets/blueprint/sass/ie.sass", "test/fixtures/stylesheets/blueprint/sass/print.sass", "test/fixtures/stylesheets/blueprint/sass/screen.sass", "test/fixtures/stylesheets/blueprint/sass/typography.sass", "test/fixtures/stylesheets/compass/config.rb", "test/fixtures/stylesheets/compass/css/layout.css", "test/fixtures/stylesheets/compass/css/print.css", "test/fixtures/stylesheets/compass/css/reset.css", "test/fixtures/stylesheets/compass/css/utilities.css", "test/fixtures/stylesheets/compass/sass/layout.sass", "test/fixtures/stylesheets/compass/sass/print.sass", "test/fixtures/stylesheets/compass/sass/reset.sass", "test/fixtures/stylesheets/compass/sass/utilities.sass", "test/fixtures/stylesheets/image_urls/config.rb", "test/fixtures/stylesheets/image_urls/css/screen.css", "test/fixtures/stylesheets/image_urls/images/grid.png", "test/fixtures/stylesheets/image_urls/sass/screen.sass", "test/fixtures/stylesheets/yui/config.rb", "test/fixtures/stylesheets/yui/css/mixins.css", "test/fixtures/stylesheets/yui/sass/base.sass", "test/fixtures/stylesheets/yui/sass/fonts.sass", "test/fixtures/stylesheets/yui/sass/grids.sass", "test/fixtures/stylesheets/yui/sass/mixins.sass", "test/rails_integration_test.rb", "test/sass_extensions_test.rb", "test/test_case_helper.rb", "test/test_helper.rb", "test/test_rails_helper.rb"] + s.homepage = %q{http://compass-style.org} + s.rdoc_options = ["--charset=UTF-8"] + s.require_paths = ["lib"] + s.rubyforge_project = %q{compass} + s.rubygems_version = %q{1.3.5} + s.summary = %q{A Real Stylesheet Framework} + s.test_files = ["test/command_line_helper.rb", "test/command_line_test.rb", "test/compass_test.rb", "test/configuration_test.rb", "test/fixtures/stylesheets/blueprint/config.rb", "test/fixtures/stylesheets/blueprint/css/typography.css", "test/fixtures/stylesheets/blueprint/images/grid.png", "test/fixtures/stylesheets/blueprint/sass/ie.sass", "test/fixtures/stylesheets/blueprint/sass/print.sass", "test/fixtures/stylesheets/blueprint/sass/screen.sass", "test/fixtures/stylesheets/blueprint/sass/typography.sass", "test/fixtures/stylesheets/compass/config.rb", "test/fixtures/stylesheets/compass/css/layout.css", "test/fixtures/stylesheets/compass/css/print.css", "test/fixtures/stylesheets/compass/css/reset.css", "test/fixtures/stylesheets/compass/css/utilities.css", "test/fixtures/stylesheets/compass/sass/layout.sass", "test/fixtures/stylesheets/compass/sass/print.sass", "test/fixtures/stylesheets/compass/sass/reset.sass", "test/fixtures/stylesheets/compass/sass/utilities.sass", "test/fixtures/stylesheets/image_urls/config.rb", "test/fixtures/stylesheets/image_urls/css/screen.css", "test/fixtures/stylesheets/image_urls/images/grid.png", "test/fixtures/stylesheets/image_urls/sass/screen.sass", "test/fixtures/stylesheets/yui/config.rb", "test/fixtures/stylesheets/yui/css/mixins.css", "test/fixtures/stylesheets/yui/sass/base.sass", "test/fixtures/stylesheets/yui/sass/fonts.sass", "test/fixtures/stylesheets/yui/sass/grids.sass", "test/fixtures/stylesheets/yui/sass/mixins.sass", "test/rails_integration_test.rb", "test/sass_extensions_test.rb", "test/test_case_helper.rb", "test/test_helper.rb", "test/test_rails_helper.rb"] + + if s.respond_to? :specification_version then + current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION + s.specification_version = 3 + + if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then + s.add_runtime_dependency(%q, [">= 2.2.0"]) + else + s.add_dependency(%q, [">= 2.2.0"]) + end + else + s.add_dependency(%q, [">= 2.2.0"]) + end +end diff --git a/vendor/gems/specifications/configuration-1.1.0.gemspec b/vendor/gems/specifications/configuration-1.1.0.gemspec new file mode 100755 index 00000000..cc56d537 --- /dev/null +++ b/vendor/gems/specifications/configuration-1.1.0.gemspec @@ -0,0 +1,27 @@ +# -*- encoding: utf-8 -*- + +Gem::Specification.new do |s| + s.name = %q{configuration} + s.version = "1.1.0" + + s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version= + s.authors = ["Ara T. Howard"] + s.date = %q{2009-09-22} + s.email = %q{ara.t.howard@gmail.com} + s.files = ["config", "config/a.rb", "config/b.rb", "config/c.rb", "config/d.rb", "config/e.rb", "configuration.gemspec", "lib", "lib/configuration.rb", "Rakefile", "README", "README.erb", "samples", "samples/a.rb", "samples/b.rb", "samples/c.rb", "samples/d.rb", "samples/e.rb"] + s.homepage = %q{http://github.com/ahoward/configuration/tree/master} + s.require_paths = ["lib"] + s.rubyforge_project = %q{codeforpeople} + s.rubygems_version = %q{1.3.5} + s.summary = %q{configuration} + + if s.respond_to? :specification_version then + current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION + s.specification_version = 2 + + if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then + else + end + else + end +end diff --git a/vendor/gems/specifications/cucumber-0.4.4.gemspec b/vendor/gems/specifications/cucumber-0.4.4.gemspec new file mode 100755 index 00000000..fc8749d2 --- /dev/null +++ b/vendor/gems/specifications/cucumber-0.4.4.gemspec @@ -0,0 +1,72 @@ +# -*- encoding: utf-8 -*- + +Gem::Specification.new do |s| + s.name = %q{cucumber} + s.version = "0.4.4" + + s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version= + s.authors = ["Aslak Helles\303\270y"] + s.date = %q{2009-11-12} + s.default_executable = %q{cucumber} + s.description = %q{A BDD tool written in Ruby} + s.email = %q{cukes@googlegroups.com} + s.executables = ["cucumber"] + s.extra_rdoc_files = ["LICENSE", "README.rdoc"] + s.files = [".gitattributes", ".gitignore", "History.txt", "LICENSE", "Manifest.txt", "README.rdoc", "Rakefile", "VERSION.yml", "bin/cucumber", "cucumber.gemspec", "cucumber.yml", "examples/dos_line_endings/Rakefile", "examples/dos_line_endings/features/dos_line_endings.feature", "examples/i18n/README.textile", "examples/i18n/Rakefile", "examples/i18n/ar/Rakefile", "examples/i18n/ar/features/addition.feature", "examples/i18n/ar/features/step_definitons/calculator_steps.rb", "examples/i18n/ar/lib/calculator.rb", "examples/i18n/bg/Rakefile", "examples/i18n/bg/features/addition.feature", "examples/i18n/bg/features/consecutive_calculations.feature", "examples/i18n/bg/features/division.feature", "examples/i18n/bg/features/step_definitons/calculator_steps.rb", "examples/i18n/bg/features/support/env.rb", "examples/i18n/bg/features/support/world.rb", "examples/i18n/bg/lib/calculator.rb", "examples/i18n/cat/Rakefile", "examples/i18n/cat/features/step_definitons/calculator_steps.rb", "examples/i18n/cat/features/suma.feature", "examples/i18n/cat/lib/calculadora.rb", "examples/i18n/da/Rakefile", "examples/i18n/da/features/sammenlaegning.feature", "examples/i18n/da/features/step_definitons/lommeregner_steps.rb", "examples/i18n/da/lib/lommeregner.rb", "examples/i18n/de/.gitignore", "examples/i18n/de/Rakefile", "examples/i18n/de/features/addition.feature", "examples/i18n/de/features/division.feature", "examples/i18n/de/features/step_definitons/calculator_steps.rb", "examples/i18n/de/lib/calculator.rb", "examples/i18n/en-lol/Rakefile", "examples/i18n/en-lol/features/step_definitions/cucumbrz_steps.rb", "examples/i18n/en-lol/features/stuffing.feature", "examples/i18n/en-lol/features/support/env.rb", "examples/i18n/en-lol/lib/basket.rb", "examples/i18n/en-lol/lib/belly.rb", "examples/i18n/en/.gitignore", "examples/i18n/en/Rakefile", "examples/i18n/en/features/addition.feature", "examples/i18n/en/features/division.feature", "examples/i18n/en/features/step_definitons/calculator_steps.rb", "examples/i18n/en/lib/calculator.rb", "examples/i18n/es/Rakefile", "examples/i18n/es/features/adicion.feature", "examples/i18n/es/features/step_definitons/calculador_steps.rb", "examples/i18n/es/lib/calculador.rb", "examples/i18n/et/Rakefile", "examples/i18n/et/features/jagamine.feature", "examples/i18n/et/features/liitmine.feature", "examples/i18n/et/features/step_definitions/kalkulaator_steps.rb", "examples/i18n/et/lib/kalkulaator.rb", "examples/i18n/fi/.gitignore", "examples/i18n/fi/Rakefile", "examples/i18n/fi/features/jakolasku.feature", "examples/i18n/fi/features/step_definitons/laskin_steps.rb", "examples/i18n/fi/features/yhteenlasku.feature", "examples/i18n/fi/lib/laskin.rb", "examples/i18n/fr/Rakefile", "examples/i18n/fr/features/addition.feature", "examples/i18n/fr/features/step_definitions/calculatrice_steps.rb", "examples/i18n/fr/lib/calculatrice.rb", "examples/i18n/he/Rakefile", "examples/i18n/he/features/addition.feature", "examples/i18n/he/features/division.feature", "examples/i18n/he/features/step_definitons/calculator_steps.rb", "examples/i18n/he/lib/calculator.rb", "examples/i18n/hu/.gitignore", "examples/i18n/hu/Rakefile", "examples/i18n/hu/features/addition.feature", "examples/i18n/hu/features/division.feature", "examples/i18n/hu/features/step_definitons/calculator_steps.rb", "examples/i18n/hu/lib/calculator.rb", "examples/i18n/id/.gitignore", "examples/i18n/id/Rakefile", "examples/i18n/id/features/addition.feature", "examples/i18n/id/features/division.feature", "examples/i18n/id/features/step_definitons/calculator_steps.rb", "examples/i18n/id/lib/calculator.rb", "examples/i18n/it/Rakefile", "examples/i18n/it/features/somma.feature", "examples/i18n/it/features/step_definitons/calcolatrice_steps.rb", "examples/i18n/it/lib/calcolatrice.rb", "examples/i18n/ja/.gitignore", "examples/i18n/ja/Rakefile", "examples/i18n/ja/features/addition.feature", "examples/i18n/ja/features/division.feature", "examples/i18n/ja/features/step_definitons/calculator_steps.rb", "examples/i18n/ja/lib/calculator.rb", "examples/i18n/ko/.gitignore", "examples/i18n/ko/Rakefile", "examples/i18n/ko/features/addition.feature", "examples/i18n/ko/features/division.feature", "examples/i18n/ko/features/step_definitons/calculator_steps.rb", "examples/i18n/ko/lib/calculator.rb", "examples/i18n/lt/.gitignore", "examples/i18n/lt/Rakefile", "examples/i18n/lt/features/addition.feature", "examples/i18n/lt/features/division.feature", "examples/i18n/lt/features/step_definitons/calculator_steps.rb", "examples/i18n/lt/lib/calculator.rb", "examples/i18n/lv/Rakefile", "examples/i18n/lv/features/addition.feature", "examples/i18n/lv/features/division.feature", "examples/i18n/lv/features/step_definitons/calculator_steps.rb", "examples/i18n/lv/lib/calculator.rb", "examples/i18n/no/Rakefile", "examples/i18n/no/features/step_definitons/kalkulator_steps.rb", "examples/i18n/no/features/summering.feature", "examples/i18n/no/features/support/env.rb", "examples/i18n/no/lib/kalkulator.rb", "examples/i18n/pl/.gitignore", "examples/i18n/pl/Rakefile", "examples/i18n/pl/features/addition.feature", "examples/i18n/pl/features/division.feature", "examples/i18n/pl/features/step_definitons/calculator_steps.rb", "examples/i18n/pl/features/support/env.rb", "examples/i18n/pl/lib/calculator.rb", "examples/i18n/pt/Rakefile", "examples/i18n/pt/features/adicao.feature", "examples/i18n/pt/features/step_definitions/calculadora_steps.rb", "examples/i18n/pt/features/support/env.rb", "examples/i18n/pt/lib/calculadora.rb", "examples/i18n/ro/Rakefile", "examples/i18n/ro/features/step_definitons/calculator_steps.rb", "examples/i18n/ro/features/suma.feature", "examples/i18n/ro/lib/calculator.rb", "examples/i18n/ru/Rakefile", "examples/i18n/ru/features/addition.feature", "examples/i18n/ru/features/consecutive_calculations.feature", "examples/i18n/ru/features/division.feature", "examples/i18n/ru/features/step_definitons/calculator_steps.rb", "examples/i18n/ru/features/support/env.rb", "examples/i18n/ru/features/support/world.rb", "examples/i18n/ru/lib/calculator.rb", "examples/i18n/se/Rakefile", "examples/i18n/se/features/step_definitons/kalkulator_steps.rb", "examples/i18n/se/features/summering.feature", "examples/i18n/se/lib/kalkulator.rb", "examples/i18n/sk/.gitignore", "examples/i18n/sk/Rakefile", "examples/i18n/sk/features/addition.feature", "examples/i18n/sk/features/division.feature", "examples/i18n/sk/features/step_definitons/calculator_steps.rb", "examples/i18n/sk/lib/calculator.rb", "examples/i18n/sr-latn/Rakefile", "examples/i18n/sr-latn/features/sabiranje.feature", "examples/i18n/sr-latn/features/step_definitons/calculator_steps.rb", "examples/i18n/sr-latn/lib/calculator.rb", "examples/i18n/sr/Rakefile", "examples/i18n/sr/features/sabiranje.feature", "examples/i18n/sr/features/step_definitons/calculator_steps.rb", "examples/i18n/sr/lib/calculator.rb", "examples/i18n/tr/.gitignore", "examples/i18n/tr/Rakefile", "examples/i18n/tr/features/bolme.feature", "examples/i18n/tr/features/step_definitons/hesap_makinesi_adimlari.rb", "examples/i18n/tr/features/toplama.feature", "examples/i18n/tr/lib/hesap_makinesi.rb", "examples/i18n/uz/Rakefile", "examples/i18n/uz/features/addition.feature", "examples/i18n/uz/features/consecutive_calculations.feature", "examples/i18n/uz/features/division.feature", "examples/i18n/uz/features/step_definitons/calculator_steps.rb", "examples/i18n/uz/features/support/env.rb", "examples/i18n/uz/features/support/world.rb", "examples/i18n/uz/lib/calculator.rb", "examples/i18n/zh-CN/Rakefile", "examples/i18n/zh-CN/features/addition.feature", "examples/i18n/zh-CN/features/step_definitons/calculator_steps.rb", "examples/i18n/zh-CN/lib/calculator.rb", "examples/i18n/zh-TW/.gitignore", "examples/i18n/zh-TW/Rakefile", "examples/i18n/zh-TW/features/addition.feature", "examples/i18n/zh-TW/features/division.feature", "examples/i18n/zh-TW/features/step_definitons/calculator_steps.rb", "examples/i18n/zh-TW/lib/calculator.rb", "examples/junit/features/one_passing_one_failing.feature", "examples/junit/features/pending.feature", "examples/junit/features/step_definitions/steps.rb", "examples/python/features/fibonacci.feature", "examples/python/features/step_definitions/fib_steps.py", "examples/python/lib/.gitignore", "examples/python/lib/fib.py", "examples/ramaze/README.textile", "examples/ramaze/Rakefile", "examples/ramaze/app.rb", "examples/ramaze/features/add.feature", "examples/ramaze/features/step_definitions/add_steps.rb", "examples/ramaze/features/support/env.rb", "examples/ramaze/layout/default.html.erb", "examples/ramaze/view/index.html.erb", "examples/ruby2python/features/fibonacci.feature", "examples/ruby2python/features/step_definitions/fib_steps.rb", "examples/ruby2python/features/support/env.rb", "examples/ruby2python/lib/.gitignore", "examples/ruby2python/lib/fib.py", "examples/selenium/Rakefile", "examples/selenium/features/search.feature", "examples/selenium/features/step_definitons/search_steps.rb", "examples/selenium/features/support/env.rb", "examples/selenium_webrat/Rakefile", "examples/selenium_webrat/config.ru", "examples/selenium_webrat/features/search.feature", "examples/selenium_webrat/features/step_definitons/search_steps.rb", "examples/selenium_webrat/features/support/env.rb", "examples/self_test/.gitignore", "examples/self_test/README.textile", "examples/self_test/Rakefile", "examples/self_test/features/background/background_tagged_before_on_outline.feature", "examples/self_test/features/background/background_with_name.feature", "examples/self_test/features/background/failing_background.feature", "examples/self_test/features/background/failing_background_after_success.feature", "examples/self_test/features/background/multiline_args_background.feature", "examples/self_test/features/background/passing_background.feature", "examples/self_test/features/background/pending_background.feature", "examples/self_test/features/background/scenario_outline_failing_background.feature", "examples/self_test/features/background/scenario_outline_passing_background.feature", "examples/self_test/features/call_undefined_step_from_step_def.feature", "examples/self_test/features/failing_expectation.feature", "examples/self_test/features/lots_of_undefined.feature", "examples/self_test/features/multiline_name.feature", "examples/self_test/features/outline_sample.feature", "examples/self_test/features/sample.feature", "examples/self_test/features/search_sample.feature", "examples/self_test/features/step_definitions/sample_steps.rb", "examples/self_test/features/support/env.rb", "examples/self_test/features/tags_sample.feature", "examples/self_test/features/tons_of_cukes.feature", "examples/self_test/features/undefined_multiline_args.feature", "examples/self_test/list-of-features.txt", "examples/sinatra/README.textile", "examples/sinatra/Rakefile", "examples/sinatra/app.rb", "examples/sinatra/features/add.feature", "examples/sinatra/features/step_definitions/add_steps.rb", "examples/sinatra/features/support/env.rb", "examples/sinatra/views/add.erb", "examples/sinatra/views/layout.erb", "examples/steps_library/features/step_definitions/steps_lib1.rb", "examples/steps_library/features/step_definitions/steps_lib2.rb", "examples/test_unit/Rakefile", "examples/test_unit/features/step_definitions/test_unit_steps.rb", "examples/test_unit/features/test_unit.feature", "examples/tickets/Rakefile", "examples/tickets/features.html", "examples/tickets/features/172.feature", "examples/tickets/features/177/1.feature", "examples/tickets/features/177/2.feature", "examples/tickets/features/177/3.feature", "examples/tickets/features/180.feature", "examples/tickets/features/229/tagged_hooks.feature", "examples/tickets/features/229/tagged_hooks.rb", "examples/tickets/features/236.feature", "examples/tickets/features/241.feature", "examples/tickets/features/246.feature", "examples/tickets/features/248.feature", "examples/tickets/features/270/back.feature", "examples/tickets/features/270/back.steps.rb", "examples/tickets/features/272/hooks.feature", "examples/tickets/features/272/hooks_steps.rb", "examples/tickets/features/279/py_string_indent.feature", "examples/tickets/features/279/py_string_indent.steps.rb", "examples/tickets/features/279/wrong.feature_", "examples/tickets/features/301/filter_background_tagged_hooks.feature", "examples/tickets/features/301/filter_background_tagged_hooks_steps.rb", "examples/tickets/features/306/only_background.feature", "examples/tickets/features/lib/eatting_machine.rb", "examples/tickets/features/lib/pantry.rb", "examples/tickets/features/scenario_outline.feature", "examples/tickets/features/step_definitons/246_steps.rb", "examples/tickets/features/step_definitons/248_steps.rb", "examples/tickets/features/step_definitons/scenario_outline_steps.rb", "examples/tickets/features/step_definitons/tickets_steps.rb", "examples/tickets/features/table_diffing.feature", "examples/tickets/features/tickets.feature", "examples/watir/README.textile", "examples/watir/Rakefile", "examples/watir/features/search.feature", "examples/watir/features/step_definitions/search_steps.rb", "examples/watir/features/support/env.rb", "examples/watir/features/support/screenshots.rb", "examples/webrat/features/search.feature", "examples/webrat/features/step_definitions/kvasir_steps.rb", "examples/webrat/features/support/env.rb", "features/announce.feature", "features/background.feature", "features/bug_371.feature", "features/bug_464.feature", "features/bug_475.feature", "features/call_many_steps.feature", "features/cucumber_cli.feature", "features/cucumber_cli_diff_disabled.feature", "features/cucumber_cli_outlines.feature", "features/custom_formatter.feature", "features/default_snippets.feature", "features/drb_server_integration.feature", "features/exception_in_after_block.feature", "features/exception_in_after_step_block.feature", "features/exception_in_before_block.feature", "features/exclude_files.feature", "features/expand.feature", "features/html_formatter.feature", "features/html_formatter/a.html", "features/junit_formatter.feature", "features/language_from_header.feature", "features/language_help.feature", "features/listener_debugger_formatter.feature", "features/multiline_names.feature", "features/negative_tagged_hooks.feature", "features/post_configuration_hook.feature", "features/profiles.feature", "features/rake_task.feature", "features/report_called_undefined_steps.feature", "features/simplest.feature", "features/snippet.feature", "features/step_definitions/cucumber_steps.rb", "features/step_definitions/extra_steps.rb", "features/step_definitions/simplest_steps.rb", "features/step_definitions/wire_steps.rb", "features/support/env.rb", "features/support/env.rb.simplest", "features/support/fake_wire_server.rb", "features/table_diffing.feature", "features/table_mapping.feature", "features/tag_logic.feature", "features/transform.feature", "features/unicode_table.feature", "features/usage_and_stepdefs_formatter.feature", "features/wire_protocol.feature", "features/work_in_progress.feature", "gem_tasks/contributors.rake", "gem_tasks/environment.rake", "gem_tasks/features.rake", "gem_tasks/fix_cr_lf.rake", "gem_tasks/flog.rake", "gem_tasks/rspec.rake", "gem_tasks/sass.rake", "gem_tasks/sdoc.rake", "lib/README.rdoc", "lib/autotest/cucumber.rb", "lib/autotest/cucumber_mixin.rb", "lib/autotest/cucumber_rails.rb", "lib/autotest/cucumber_rails_rspec.rb", "lib/autotest/cucumber_rspec.rb", "lib/autotest/discover.rb", "lib/cucumber.rb", "lib/cucumber/ast.rb", "lib/cucumber/ast/background.rb", "lib/cucumber/ast/comment.rb", "lib/cucumber/ast/examples.rb", "lib/cucumber/ast/feature.rb", "lib/cucumber/ast/feature_element.rb", "lib/cucumber/ast/features.rb", "lib/cucumber/ast/outline_table.rb", "lib/cucumber/ast/py_string.rb", "lib/cucumber/ast/scenario.rb", "lib/cucumber/ast/scenario_outline.rb", "lib/cucumber/ast/step.rb", "lib/cucumber/ast/step_collection.rb", "lib/cucumber/ast/step_invocation.rb", "lib/cucumber/ast/table.rb", "lib/cucumber/ast/tags.rb", "lib/cucumber/ast/tree_walker.rb", "lib/cucumber/ast/visitor.rb", "lib/cucumber/broadcaster.rb", "lib/cucumber/cli/configuration.rb", "lib/cucumber/cli/drb_client.rb", "lib/cucumber/cli/language_help_formatter.rb", "lib/cucumber/cli/main.rb", "lib/cucumber/cli/options.rb", "lib/cucumber/cli/profile_loader.rb", "lib/cucumber/constantize.rb", "lib/cucumber/core_ext/instance_exec.rb", "lib/cucumber/core_ext/proc.rb", "lib/cucumber/core_ext/string.rb", "lib/cucumber/feature_file.rb", "lib/cucumber/filter.rb", "lib/cucumber/formatter/ansicolor.rb", "lib/cucumber/formatter/color_io.rb", "lib/cucumber/formatter/console.rb", "lib/cucumber/formatter/cucumber.css", "lib/cucumber/formatter/cucumber.sass", "lib/cucumber/formatter/debug.rb", "lib/cucumber/formatter/duration.rb", "lib/cucumber/formatter/html.rb", "lib/cucumber/formatter/junit.rb", "lib/cucumber/formatter/ordered_xml_markup.rb", "lib/cucumber/formatter/pdf.rb", "lib/cucumber/formatter/pretty.rb", "lib/cucumber/formatter/progress.rb", "lib/cucumber/formatter/rerun.rb", "lib/cucumber/formatter/stepdefs.rb", "lib/cucumber/formatter/steps.rb", "lib/cucumber/formatter/summary.rb", "lib/cucumber/formatter/tag_cloud.rb", "lib/cucumber/formatter/unicode.rb", "lib/cucumber/formatter/usage.rb", "lib/cucumber/language_support.rb", "lib/cucumber/language_support/language_methods.rb", "lib/cucumber/languages.yml", "lib/cucumber/parser.rb", "lib/cucumber/parser/common.rb", "lib/cucumber/parser/common.tt", "lib/cucumber/parser/feature.rb", "lib/cucumber/parser/feature.tt", "lib/cucumber/parser/i18n.tt", "lib/cucumber/parser/natural_language.rb", "lib/cucumber/parser/py_string.rb", "lib/cucumber/parser/py_string.tt", "lib/cucumber/parser/table.rb", "lib/cucumber/parser/table.tt", "lib/cucumber/parser/treetop_ext.rb", "lib/cucumber/platform.rb", "lib/cucumber/py_support/py_dsl.py", "lib/cucumber/py_support/py_language.py", "lib/cucumber/py_support/py_language.rb", "lib/cucumber/rails/action_controller.rb", "lib/cucumber/rails/active_record.rb", "lib/cucumber/rails/rspec.rb", "lib/cucumber/rails/test_unit.rb", "lib/cucumber/rails/world.rb", "lib/cucumber/rake/task.rb", "lib/cucumber/rb_support/rb_dsl.rb", "lib/cucumber/rb_support/rb_hook.rb", "lib/cucumber/rb_support/rb_language.rb", "lib/cucumber/rb_support/rb_step_definition.rb", "lib/cucumber/rb_support/rb_transform.rb", "lib/cucumber/rb_support/rb_world.rb", "lib/cucumber/rb_support/regexp_argument_matcher.rb", "lib/cucumber/rspec_neuter.rb", "lib/cucumber/step_argument.rb", "lib/cucumber/step_definition_light.rb", "lib/cucumber/step_match.rb", "lib/cucumber/step_mother.rb", "lib/cucumber/webrat/element_locator.rb", "lib/cucumber/webrat/table_locator.rb", "lib/cucumber/wire_support/connection.rb", "lib/cucumber/wire_support/request_handler.rb", "lib/cucumber/wire_support/wire_exception.rb", "lib/cucumber/wire_support/wire_language.rb", "lib/cucumber/wire_support/wire_packet.rb", "lib/cucumber/wire_support/wire_protocol.rb", "lib/cucumber/wire_support/wire_step_definition.rb", "rails_generators/cucumber/USAGE", "rails_generators/cucumber/cucumber_generator.rb", "rails_generators/cucumber/templates/cucumber", "rails_generators/cucumber/templates/cucumber.rake", "rails_generators/cucumber/templates/cucumber_environment.rb", "rails_generators/cucumber/templates/env.rb", "rails_generators/cucumber/templates/paths.rb", "rails_generators/cucumber/templates/spork_env.rb", "rails_generators/cucumber/templates/version_check.rb", "rails_generators/cucumber/templates/webrat_steps.rb", "rails_generators/feature/USAGE", "rails_generators/feature/feature_generator.rb", "rails_generators/feature/templates/feature.erb", "rails_generators/feature/templates/steps.erb", "spec/cucumber/ast/background_spec.rb", "spec/cucumber/ast/feature_element_spec.rb", "spec/cucumber/ast/feature_factory.rb", "spec/cucumber/ast/feature_spec.rb", "spec/cucumber/ast/outline_table_spec.rb", "spec/cucumber/ast/py_string_spec.rb", "spec/cucumber/ast/scenario_outline_spec.rb", "spec/cucumber/ast/scenario_spec.rb", "spec/cucumber/ast/step_collection_spec.rb", "spec/cucumber/ast/step_spec.rb", "spec/cucumber/ast/table_spec.rb", "spec/cucumber/ast/tags_spec.rb", "spec/cucumber/ast/tree_walker_spec.rb", "spec/cucumber/broadcaster_spec.rb", "spec/cucumber/cli/configuration_spec.rb", "spec/cucumber/cli/drb_client_spec.rb", "spec/cucumber/cli/main_spec.rb", "spec/cucumber/cli/options_spec.rb", "spec/cucumber/cli/profile_loader_spec.rb", "spec/cucumber/core_ext/proc_spec.rb", "spec/cucumber/formatter/ansicolor_spec.rb", "spec/cucumber/formatter/color_io_spec.rb", "spec/cucumber/formatter/console_spec.rb", "spec/cucumber/formatter/duration_spec.rb", "spec/cucumber/formatter/html_spec.rb", "spec/cucumber/formatter/junit_spec.rb", "spec/cucumber/formatter/progress_spec.rb", "spec/cucumber/formatter/spec_helper.rb", "spec/cucumber/parser/feature_parser_spec.rb", "spec/cucumber/parser/table_parser_spec.rb", "spec/cucumber/rb_support/rb_step_definition_spec.rb", "spec/cucumber/rb_support/regexp_argument_matcher_spec.rb", "spec/cucumber/sell_cucumbers.feature", "spec/cucumber/step_match_spec.rb", "spec/cucumber/step_mother_spec.rb", "spec/cucumber/treetop_parser/empty_feature.feature", "spec/cucumber/treetop_parser/empty_scenario.feature", "spec/cucumber/treetop_parser/empty_scenario_outline.feature", "spec/cucumber/treetop_parser/fit_scenario.feature", "spec/cucumber/treetop_parser/given_scenario.feature", "spec/cucumber/treetop_parser/invalid_scenario_outlines.feature", "spec/cucumber/treetop_parser/multiline_steps.feature", "spec/cucumber/treetop_parser/multiple_tables.feature", "spec/cucumber/treetop_parser/scenario_outline.feature", "spec/cucumber/treetop_parser/spaces.feature", "spec/cucumber/treetop_parser/test_dos.feature", "spec/cucumber/treetop_parser/with_comments.feature", "spec/cucumber/treetop_parser/with_tags.feature", "spec/cucumber/wire_support/wire_language_spec.rb", "spec/cucumber/wire_support/wire_packet_spec.rb", "spec/cucumber/world/pending_spec.rb", "spec/spec.opts", "spec/spec_helper.rb", "examples/self_test/tmp/features/step_definitions/steps.rb"] + s.homepage = %q{http://cukes.info} + s.post_install_message = %q{ +(::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) + + (::) U P G R A D I N G (::) + +Thank you for installing cucumber-0.4.4. +Please be sure to read http://wiki.github.com/aslakhellesoy/cucumber/upgrading +for important information about this release. Happy cuking! + +(::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) + +} + s.rdoc_options = ["--charset=UTF-8"] + s.require_paths = ["lib"] + s.rubyforge_project = %q{rspec} + s.rubygems_version = %q{1.3.5} + s.summary = %q{Behaviour Driven Development with elegance and joy} + s.test_files = ["spec/cucumber/ast/background_spec.rb", "spec/cucumber/ast/feature_element_spec.rb", "spec/cucumber/ast/feature_factory.rb", "spec/cucumber/ast/feature_spec.rb", "spec/cucumber/ast/outline_table_spec.rb", "spec/cucumber/ast/py_string_spec.rb", "spec/cucumber/ast/scenario_outline_spec.rb", "spec/cucumber/ast/scenario_spec.rb", "spec/cucumber/ast/step_collection_spec.rb", "spec/cucumber/ast/step_spec.rb", "spec/cucumber/ast/table_spec.rb", "spec/cucumber/ast/tags_spec.rb", "spec/cucumber/ast/tree_walker_spec.rb", "spec/cucumber/broadcaster_spec.rb", "spec/cucumber/cli/configuration_spec.rb", "spec/cucumber/cli/drb_client_spec.rb", "spec/cucumber/cli/main_spec.rb", "spec/cucumber/cli/options_spec.rb", "spec/cucumber/cli/profile_loader_spec.rb", "spec/cucumber/core_ext/proc_spec.rb", "spec/cucumber/formatter/ansicolor_spec.rb", "spec/cucumber/formatter/color_io_spec.rb", "spec/cucumber/formatter/console_spec.rb", "spec/cucumber/formatter/duration_spec.rb", "spec/cucumber/formatter/html_spec.rb", "spec/cucumber/formatter/junit_spec.rb", "spec/cucumber/formatter/progress_spec.rb", "spec/cucumber/formatter/spec_helper.rb", "spec/cucumber/parser/feature_parser_spec.rb", "spec/cucumber/parser/table_parser_spec.rb", "spec/cucumber/rb_support/rb_step_definition_spec.rb", "spec/cucumber/rb_support/regexp_argument_matcher_spec.rb", "spec/cucumber/step_match_spec.rb", "spec/cucumber/step_mother_spec.rb", "spec/cucumber/wire_support/wire_language_spec.rb", "spec/cucumber/wire_support/wire_packet_spec.rb", "spec/cucumber/world/pending_spec.rb", "spec/spec_helper.rb", "examples/i18n/ar/features/step_definitons/calculator_steps.rb", "examples/i18n/ar/lib/calculator.rb", "examples/i18n/bg/features/step_definitons/calculator_steps.rb", "examples/i18n/bg/features/support/env.rb", "examples/i18n/bg/features/support/world.rb", "examples/i18n/bg/lib/calculator.rb", "examples/i18n/cat/features/step_definitons/calculator_steps.rb", "examples/i18n/cat/lib/calculadora.rb", "examples/i18n/da/features/step_definitons/lommeregner_steps.rb", "examples/i18n/da/lib/lommeregner.rb", "examples/i18n/de/features/step_definitons/calculator_steps.rb", "examples/i18n/de/lib/calculator.rb", "examples/i18n/en/features/step_definitons/calculator_steps.rb", "examples/i18n/en/lib/calculator.rb", "examples/i18n/en-lol/features/step_definitions/cucumbrz_steps.rb", "examples/i18n/en-lol/features/support/env.rb", "examples/i18n/en-lol/lib/basket.rb", "examples/i18n/en-lol/lib/belly.rb", "examples/i18n/es/features/step_definitons/calculador_steps.rb", "examples/i18n/es/lib/calculador.rb", "examples/i18n/et/features/step_definitions/kalkulaator_steps.rb", "examples/i18n/et/lib/kalkulaator.rb", "examples/i18n/fi/features/step_definitons/laskin_steps.rb", "examples/i18n/fi/lib/laskin.rb", "examples/i18n/fr/features/step_definitions/calculatrice_steps.rb", "examples/i18n/fr/lib/calculatrice.rb", "examples/i18n/he/features/step_definitons/calculator_steps.rb", "examples/i18n/he/lib/calculator.rb", "examples/i18n/hu/features/step_definitons/calculator_steps.rb", "examples/i18n/hu/lib/calculator.rb", "examples/i18n/id/features/step_definitons/calculator_steps.rb", "examples/i18n/id/lib/calculator.rb", "examples/i18n/it/features/step_definitons/calcolatrice_steps.rb", "examples/i18n/it/lib/calcolatrice.rb", "examples/i18n/ja/features/step_definitons/calculator_steps.rb", "examples/i18n/ja/lib/calculator.rb", "examples/i18n/ko/features/step_definitons/calculator_steps.rb", "examples/i18n/ko/lib/calculator.rb", "examples/i18n/lt/features/step_definitons/calculator_steps.rb", "examples/i18n/lt/lib/calculator.rb", "examples/i18n/lv/features/step_definitons/calculator_steps.rb", "examples/i18n/lv/lib/calculator.rb", "examples/i18n/no/features/step_definitons/kalkulator_steps.rb", "examples/i18n/no/features/support/env.rb", "examples/i18n/no/lib/kalkulator.rb", "examples/i18n/pl/features/step_definitons/calculator_steps.rb", "examples/i18n/pl/features/support/env.rb", "examples/i18n/pl/lib/calculator.rb", "examples/i18n/pt/features/step_definitions/calculadora_steps.rb", "examples/i18n/pt/features/support/env.rb", "examples/i18n/pt/lib/calculadora.rb", "examples/i18n/ro/features/step_definitons/calculator_steps.rb", "examples/i18n/ro/lib/calculator.rb", "examples/i18n/ru/features/step_definitons/calculator_steps.rb", "examples/i18n/ru/features/support/env.rb", "examples/i18n/ru/features/support/world.rb", "examples/i18n/ru/lib/calculator.rb", "examples/i18n/se/features/step_definitons/kalkulator_steps.rb", "examples/i18n/se/lib/kalkulator.rb", "examples/i18n/sk/features/step_definitons/calculator_steps.rb", "examples/i18n/sk/lib/calculator.rb", "examples/i18n/sr/features/step_definitons/calculator_steps.rb", "examples/i18n/sr/lib/calculator.rb", "examples/i18n/sr-latn/features/step_definitons/calculator_steps.rb", "examples/i18n/sr-latn/lib/calculator.rb", "examples/i18n/tr/features/step_definitons/hesap_makinesi_adimlari.rb", "examples/i18n/tr/lib/hesap_makinesi.rb", "examples/i18n/uz/features/step_definitons/calculator_steps.rb", "examples/i18n/uz/features/support/env.rb", "examples/i18n/uz/features/support/world.rb", "examples/i18n/uz/lib/calculator.rb", "examples/i18n/zh-CN/features/step_definitons/calculator_steps.rb", "examples/i18n/zh-CN/lib/calculator.rb", "examples/i18n/zh-TW/features/step_definitons/calculator_steps.rb", "examples/i18n/zh-TW/lib/calculator.rb", "examples/junit/features/step_definitions/steps.rb", "examples/ramaze/app.rb", "examples/ramaze/features/step_definitions/add_steps.rb", "examples/ramaze/features/support/env.rb", "examples/ruby2python/features/step_definitions/fib_steps.rb", "examples/ruby2python/features/support/env.rb", "examples/selenium/features/step_definitons/search_steps.rb", "examples/selenium/features/support/env.rb", "examples/selenium_webrat/features/step_definitons/search_steps.rb", "examples/selenium_webrat/features/support/env.rb", "examples/self_test/features/step_definitions/sample_steps.rb", "examples/self_test/features/support/env.rb", "examples/self_test/tmp/features/step_definitions/steps.rb", "examples/sinatra/app.rb", "examples/sinatra/features/step_definitions/add_steps.rb", "examples/sinatra/features/support/env.rb", "examples/steps_library/features/step_definitions/steps_lib1.rb", "examples/steps_library/features/step_definitions/steps_lib2.rb", "examples/test_unit/features/step_definitions/test_unit_steps.rb", "examples/tickets/features/229/tagged_hooks.rb", "examples/tickets/features/270/back.steps.rb", "examples/tickets/features/272/hooks_steps.rb", "examples/tickets/features/279/py_string_indent.steps.rb", "examples/tickets/features/301/filter_background_tagged_hooks_steps.rb", "examples/tickets/features/lib/eatting_machine.rb", "examples/tickets/features/lib/pantry.rb", "examples/tickets/features/step_definitons/246_steps.rb", "examples/tickets/features/step_definitons/248_steps.rb", "examples/tickets/features/step_definitons/scenario_outline_steps.rb", "examples/tickets/features/step_definitons/tickets_steps.rb", "examples/watir/features/step_definitions/search_steps.rb", "examples/watir/features/support/env.rb", "examples/watir/features/support/screenshots.rb", "examples/webrat/features/step_definitions/kvasir_steps.rb", "examples/webrat/features/support/env.rb"] + + if s.respond_to? :specification_version then + current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION + s.specification_version = 3 + + if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then + s.add_runtime_dependency(%q, ["= 1.0.4"]) + s.add_runtime_dependency(%q, ["= 1.4.2"]) + s.add_runtime_dependency(%q, ["= 0.2.9"]) + s.add_runtime_dependency(%q, ["= 2.1.2"]) + s.add_runtime_dependency(%q, ["= 1.1.2"]) + s.add_development_dependency(%q, ["= 1.3.3"]) + s.add_development_dependency(%q, ["= 0.5.1"]) + s.add_development_dependency(%q, ["= 1.2.9"]) + s.add_development_dependency(%q, ["= 0.7.3"]) + else + s.add_dependency(%q, ["= 1.0.4"]) + s.add_dependency(%q, ["= 1.4.2"]) + s.add_dependency(%q, ["= 0.2.9"]) + s.add_dependency(%q, ["= 2.1.2"]) + s.add_dependency(%q, ["= 1.1.2"]) + s.add_dependency(%q, ["= 1.3.3"]) + s.add_dependency(%q, ["= 0.5.1"]) + s.add_dependency(%q, ["= 1.2.9"]) + s.add_dependency(%q, ["= 0.7.3"]) + end + else + s.add_dependency(%q, ["= 1.0.4"]) + s.add_dependency(%q, ["= 1.4.2"]) + s.add_dependency(%q, ["= 0.2.9"]) + s.add_dependency(%q, ["= 2.1.2"]) + s.add_dependency(%q, ["= 1.1.2"]) + s.add_dependency(%q, ["= 1.3.3"]) + s.add_dependency(%q, ["= 0.5.1"]) + s.add_dependency(%q, ["= 1.2.9"]) + s.add_dependency(%q, ["= 0.7.3"]) + end +end diff --git a/vendor/gems/specifications/daemons-1.0.10.gemspec b/vendor/gems/specifications/daemons-1.0.10.gemspec new file mode 100755 index 00000000..fb8b91e7 --- /dev/null +++ b/vendor/gems/specifications/daemons-1.0.10.gemspec @@ -0,0 +1,30 @@ +# -*- encoding: utf-8 -*- + +Gem::Specification.new do |s| + s.name = %q{daemons} + s.version = "1.0.10" + + s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version= + s.authors = ["Thomas Uehlinger"] + s.autorequire = %q{daemons} + s.date = %q{2008-03-20} + s.description = %q{Daemons provides an easy way to wrap existing ruby scripts (for example a self-written server) to be run as a daemon and to be controlled by simple start/stop/restart commands. You can also call blocks as daemons and control them from the parent or just daemonize the current process. Besides this basic functionality, daemons offers many advanced features like exception backtracing and logging (in case your ruby script crashes) and monitoring and automatic restarting of your processes if they crash.} + s.email = %q{th.uehlinger@gmx.ch} + s.extra_rdoc_files = ["README", "Releases", "TODO"] + s.files = ["Rakefile", "Releases", "TODO", "README", "LICENSE", "setup.rb", "lib/daemons/application.rb", "lib/daemons/application_group.rb", "lib/daemons/cmdline.rb", "lib/daemons/controller.rb", "lib/daemons/daemonize.rb", "lib/daemons/exceptions.rb", "lib/daemons/monitor.rb", "lib/daemons/pid.rb", "lib/daemons/pidfile.rb", "lib/daemons/pidmem.rb", "lib/daemons.rb", "examples/call", "examples/call/call.rb", "examples/call/call_monitor.rb", "examples/daemonize", "examples/daemonize/daemonize.rb", "examples/run", "examples/run/ctrl_crash.rb", "examples/run/ctrl_exec.rb", "examples/run/ctrl_exit.rb", "examples/run/ctrl_keep_pid_files.rb", "examples/run/ctrl_monitor.rb", "examples/run/ctrl_multiple.rb", "examples/run/ctrl_normal.rb", "examples/run/ctrl_ontop.rb", "examples/run/ctrl_optionparser.rb", "examples/run/ctrl_proc.rb", "examples/run/ctrl_proc.rb.output", "examples/run/ctrl_proc_multiple.rb", "examples/run/ctrl_proc_multiple.rb.output", "examples/run/ctrl_proc_simple.rb", "examples/run/myserver.rb", "examples/run/myserver_crashing.rb", "examples/run/myserver_crashing.rb.output", "examples/run/myserver_exiting.rb"] + s.homepage = %q{http://daemons.rubyforge.org} + s.require_paths = ["lib"] + s.rubyforge_project = %q{daemons} + s.rubygems_version = %q{1.3.5} + s.summary = %q{A toolkit to create and control daemons in different ways} + + if s.respond_to? :specification_version then + current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION + s.specification_version = 2 + + if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then + else + end + else + end +end diff --git a/vendor/gems/specifications/diff-lcs-1.1.2.gemspec b/vendor/gems/specifications/diff-lcs-1.1.2.gemspec new file mode 100755 index 00000000..c43289e0 --- /dev/null +++ b/vendor/gems/specifications/diff-lcs-1.1.2.gemspec @@ -0,0 +1,34 @@ +# -*- encoding: utf-8 -*- + +Gem::Specification.new do |s| + s.name = %q{diff-lcs} + s.version = "1.1.2" + + s.required_rubygems_version = nil if s.respond_to? :required_rubygems_version= + s.autorequire = %q{diff/lcs} + s.cert_chain = nil + s.date = %q{2004-10-20} + s.description = %q{Diff::LCS is a port of Algorithm::Diff that uses the McIlroy-Hunt longest common subsequence (LCS) algorithm to compute intelligent differences between two sequenced enumerable containers. The implementation is based on Mario I. Wolczko's Smalltalk version (1.2, 1993) and Ned Konz's Perl version (Algorithm::Diff).} + s.email = %q{diff-lcs@halostatue.ca} + s.executables = ["ldiff", "htmldiff"] + s.extra_rdoc_files = ["README", "ChangeLog", "Install"] + s.files = ["bin", "ChangeLog", "Install", "lib", "Rakefile", "README", "tests", "bin/htmldiff", "bin/ldiff", "lib/diff", "lib/diff/lcs", "lib/diff/lcs.rb", "lib/diff/lcs/array.rb", "lib/diff/lcs/block.rb", "lib/diff/lcs/callbacks.rb", "lib/diff/lcs/change.rb", "lib/diff/lcs/hunk.rb", "lib/diff/lcs/ldiff.rb", "lib/diff/lcs/string.rb", "tests/00test.rb"] + s.homepage = %q{http://rubyforge.org/projects/ruwiki/} + s.rdoc_options = ["--title", "Diff::LCS -- A Diff Algorithm", "--main", "README", "--line-numbers"] + s.require_paths = ["lib"] + s.required_ruby_version = Gem::Requirement.new(">= 1.8.1") + s.rubyforge_project = %q{ruwiki} + s.rubygems_version = %q{1.3.5} + s.summary = %q{Provides a list of changes that represent the difference between two sequenced collections.} + s.test_files = ["tests/00test.rb"] + + if s.respond_to? :specification_version then + current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION + s.specification_version = 1 + + if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then + else + end + else + end +end diff --git a/vendor/gems/specifications/eventmachine-0.12.10.gemspec b/vendor/gems/specifications/eventmachine-0.12.10.gemspec new file mode 100755 index 00000000..e03b00da --- /dev/null +++ b/vendor/gems/specifications/eventmachine-0.12.10.gemspec @@ -0,0 +1,40 @@ +# -*- encoding: utf-8 -*- + +Gem::Specification.new do |s| + s.name = %q{eventmachine} + s.version = "0.12.10" + + s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version= + s.authors = ["Francis Cianfrocca"] + s.date = %q{2009-10-25} + s.description = %q{EventMachine implements a fast, single-threaded engine for arbitrary network +communications. It's extremely easy to use in Ruby. EventMachine wraps all +interactions with IP sockets, allowing programs to concentrate on the +implementation of network protocols. It can be used to create both network +servers and clients. To create a server or client, a Ruby program only needs +to specify the IP address and port, and provide a Module that implements the +communications protocol. Implementations of several standard network protocols +are provided with the package, primarily to serve as examples. The real goal +of EventMachine is to enable programs to easily interface with other programs +using TCP/IP, especially if custom protocols are required. +} + s.email = %q{garbagecat10@gmail.com} + s.extensions = ["ext/extconf.rb", "ext/fastfilereader/extconf.rb"] + s.files = [".gitignore", "README", "Rakefile", "docs/COPYING", "docs/ChangeLog", "docs/DEFERRABLES", "docs/EPOLL", "docs/GNU", "docs/INSTALL", "docs/KEYBOARD", "docs/LEGAL", "docs/LIGHTWEIGHT_CONCURRENCY", "docs/PURE_RUBY", "docs/RELEASE_NOTES", "docs/SMTP", "docs/SPAWNED_PROCESSES", "docs/TODO", "eventmachine.gemspec", "examples/ex_channel.rb", "examples/ex_queue.rb", "examples/helper.rb", "ext/binder.cpp", "ext/binder.h", "ext/cmain.cpp", "ext/cplusplus.cpp", "ext/ed.cpp", "ext/ed.h", "ext/em.cpp", "ext/em.h", "ext/emwin.cpp", "ext/emwin.h", "ext/epoll.cpp", "ext/epoll.h", "ext/eventmachine.h", "ext/eventmachine_cpp.h", "ext/extconf.rb", "ext/fastfilereader/extconf.rb", "ext/fastfilereader/mapper.cpp", "ext/fastfilereader/mapper.h", "ext/fastfilereader/rubymain.cpp", "ext/files.cpp", "ext/files.h", "ext/kb.cpp", "ext/page.cpp", "ext/page.h", "ext/pipe.cpp", "ext/project.h", "ext/rubymain.cpp", "ext/sigs.cpp", "ext/sigs.h", "ext/ssl.cpp", "ext/ssl.h", "java/.classpath", "java/.project", "java/src/com/rubyeventmachine/EmReactor.java", "java/src/com/rubyeventmachine/EmReactorException.java", "java/src/com/rubyeventmachine/EventableChannel.java", "java/src/com/rubyeventmachine/EventableDatagramChannel.java", "java/src/com/rubyeventmachine/EventableSocketChannel.java", "java/src/com/rubyeventmachine/application/Application.java", "java/src/com/rubyeventmachine/application/Connection.java", "java/src/com/rubyeventmachine/application/ConnectionFactory.java", "java/src/com/rubyeventmachine/application/DefaultConnectionFactory.java", "java/src/com/rubyeventmachine/application/PeriodicTimer.java", "java/src/com/rubyeventmachine/application/Timer.java", "java/src/com/rubyeventmachine/tests/ApplicationTest.java", "java/src/com/rubyeventmachine/tests/ConnectTest.java", "java/src/com/rubyeventmachine/tests/EMTest.java", "java/src/com/rubyeventmachine/tests/TestDatagrams.java", "java/src/com/rubyeventmachine/tests/TestServers.java", "java/src/com/rubyeventmachine/tests/TestTimers.java", "lib/em/buftok.rb", "lib/em/callback.rb", "lib/em/channel.rb", "lib/em/connection.rb", "lib/em/deferrable.rb", "lib/em/file_watch.rb", "lib/em/future.rb", "lib/em/messages.rb", "lib/em/process_watch.rb", "lib/em/processes.rb", "lib/em/protocols.rb", "lib/em/protocols/header_and_content.rb", "lib/em/protocols/httpclient.rb", "lib/em/protocols/httpclient2.rb", "lib/em/protocols/line_and_text.rb", "lib/em/protocols/linetext2.rb", "lib/em/protocols/memcache.rb", "lib/em/protocols/object_protocol.rb", "lib/em/protocols/postgres3.rb", "lib/em/protocols/saslauth.rb", "lib/em/protocols/smtpclient.rb", "lib/em/protocols/smtpserver.rb", "lib/em/protocols/socks4.rb", "lib/em/protocols/stomp.rb", "lib/em/protocols/tcptest.rb", "lib/em/queue.rb", "lib/em/spawnable.rb", "lib/em/streamer.rb", "lib/em/timers.rb", "lib/em/version.rb", "lib/eventmachine.rb", "lib/evma.rb", "lib/evma/callback.rb", "lib/evma/container.rb", "lib/evma/factory.rb", "lib/evma/protocol.rb", "lib/evma/reactor.rb", "lib/jeventmachine.rb", "lib/pr_eventmachine.rb", "setup.rb", "tasks/cpp.rake_example", "tests/client.crt", "tests/client.key", "tests/test_attach.rb", "tests/test_basic.rb", "tests/test_channel.rb", "tests/test_connection_count.rb", "tests/test_defer.rb", "tests/test_epoll.rb", "tests/test_error_handler.rb", "tests/test_errors.rb", "tests/test_exc.rb", "tests/test_file_watch.rb", "tests/test_futures.rb", "tests/test_get_sock_opt.rb", "tests/test_handler_check.rb", "tests/test_hc.rb", "tests/test_httpclient.rb", "tests/test_httpclient2.rb", "tests/test_inactivity_timeout.rb", "tests/test_kb.rb", "tests/test_ltp.rb", "tests/test_ltp2.rb", "tests/test_next_tick.rb", "tests/test_object_protocol.rb", "tests/test_pause.rb", "tests/test_pending_connect_timeout.rb", "tests/test_process_watch.rb", "tests/test_processes.rb", "tests/test_proxy_connection.rb", "tests/test_pure.rb", "tests/test_queue.rb", "tests/test_running.rb", "tests/test_sasl.rb", "tests/test_send_file.rb", "tests/test_servers.rb", "tests/test_smtpclient.rb", "tests/test_smtpserver.rb", "tests/test_spawn.rb", "tests/test_ssl_args.rb", "tests/test_ssl_methods.rb", "tests/test_ssl_verify.rb", "tests/test_timers.rb", "tests/test_ud.rb", "tests/testem.rb", "web/whatis"] + s.homepage = %q{http://rubyeventmachine.com} + s.rdoc_options = ["--title", "EventMachine", "--main", "README", "--line-numbers", "-x", "lib/em/version", "-x", "lib/emva", "-x", "lib/evma/", "-x", "lib/pr_eventmachine", "-x", "lib/jeventmachine"] + s.require_paths = ["lib"] + s.rubyforge_project = %q{eventmachine} + s.rubygems_version = %q{1.3.5} + s.summary = %q{Ruby/EventMachine library} + + if s.respond_to? :specification_version then + current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION + s.specification_version = 3 + + if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then + else + end + else + end +end diff --git a/vendor/gems/specifications/extlib-0.9.13.gemspec b/vendor/gems/specifications/extlib-0.9.13.gemspec new file mode 100755 index 00000000..f070f543 --- /dev/null +++ b/vendor/gems/specifications/extlib-0.9.13.gemspec @@ -0,0 +1,28 @@ +# -*- encoding: utf-8 -*- + +Gem::Specification.new do |s| + s.name = %q{extlib} + s.version = "0.9.13" + + s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version= + s.authors = ["Dan Kubb"] + s.date = %q{2009-09-15} + s.description = %q{Support library for DataMapper and Merb.} + s.email = %q{dan.kubb@gmail.com} + s.extra_rdoc_files = ["LICENSE", "README", "History.txt"] + s.files = ["LICENSE", "README", "Rakefile", "History.txt", "lib/extlib/array.rb", "lib/extlib/assertions.rb", "lib/extlib/blank.rb", "lib/extlib/boolean.rb", "lib/extlib/byte_array.rb", "lib/extlib/class.rb", "lib/extlib/datetime.rb", "lib/extlib/dictionary.rb", "lib/extlib/hash.rb", "lib/extlib/hook.rb", "lib/extlib/inflection.rb", "lib/extlib/lazy_array.rb", "lib/extlib/lazy_module.rb", "lib/extlib/logger.rb", "lib/extlib/mash.rb", "lib/extlib/module.rb", "lib/extlib/nil.rb", "lib/extlib/numeric.rb", "lib/extlib/object.rb", "lib/extlib/object_space.rb", "lib/extlib/pathname.rb", "lib/extlib/pooling.rb", "lib/extlib/rubygems.rb", "lib/extlib/simple_set.rb", "lib/extlib/string.rb", "lib/extlib/struct.rb", "lib/extlib/symbol.rb", "lib/extlib/tasks/release.rb", "lib/extlib/time.rb", "lib/extlib/version.rb", "lib/extlib/virtual_file.rb", "lib/extlib.rb", "spec/array_spec.rb", "spec/blank_spec.rb", "spec/byte_array_spec.rb", "spec/class_spec.rb", "spec/datetime_spec.rb", "spec/hash_spec.rb", "spec/hook_spec.rb", "spec/inflection/plural_spec.rb", "spec/inflection/singular_spec.rb", "spec/inflection_extras_spec.rb", "spec/lazy_array_spec.rb", "spec/lazy_module_spec.rb", "spec/mash_spec.rb", "spec/module_spec.rb", "spec/object_space_spec.rb", "spec/object_spec.rb", "spec/pooling_spec.rb", "spec/simple_set_spec.rb", "spec/spec.opts", "spec/spec_helper.rb", "spec/string_spec.rb", "spec/struct_spec.rb", "spec/symbol_spec.rb", "spec/time_spec.rb", "spec/try_call_spec.rb", "spec/try_dup_spec.rb", "spec/virtual_file_spec.rb"] + s.homepage = %q{http://extlib.rubyforge.org} + s.require_paths = ["lib"] + s.rubygems_version = %q{1.3.5} + s.summary = %q{Support library for DataMapper and Merb.} + + if s.respond_to? :specification_version then + current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION + s.specification_version = 3 + + if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then + else + end + else + end +end diff --git a/vendor/gems/specifications/haml-2.2.13.gemspec b/vendor/gems/specifications/haml-2.2.13.gemspec new file mode 100755 index 00000000..a47ae274 --- /dev/null +++ b/vendor/gems/specifications/haml-2.2.13.gemspec @@ -0,0 +1,45 @@ +# -*- encoding: utf-8 -*- + +Gem::Specification.new do |s| + s.name = %q{haml} + s.version = "2.2.13" + + s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version= + s.authors = ["Nathan Weizenbaum", "Hampton Catlin"] + s.date = %q{2009-11-09} + s.description = %q{ Haml (HTML Abstraction Markup Language) is a layer on top of XHTML or XML + that's designed to express the structure of XHTML or XML documents + in a non-repetitive, elegant, easy way, + using indentation rather than closing tags + and allowing Ruby to be embedded with ease. + It was originally envisioned as a plugin for Ruby on Rails, + but it can function as a stand-alone templating engine. +} + s.email = %q{haml@googlegroups.com} + s.executables = ["haml", "html2haml", "sass", "css2sass"] + s.extra_rdoc_files = ["VERSION_NAME", "CONTRIBUTING", "README.md", "MIT-LICENSE", "VERSION", "REVISION"] + s.files = ["rails/init.rb", "lib/sass.rb", "lib/sass/css.rb", "lib/sass/script/node.rb", "lib/sass/script/number.rb", "lib/sass/script/operation.rb", "lib/sass/script/literal.rb", "lib/sass/script/functions.rb", "lib/sass/script/bool.rb", "lib/sass/script/color.rb", "lib/sass/script/lexer.rb", "lib/sass/script/parser.rb", "lib/sass/script/variable.rb", "lib/sass/script/string.rb", "lib/sass/script/funcall.rb", "lib/sass/script/unary_operation.rb", "lib/sass/script.rb", "lib/sass/error.rb", "lib/sass/repl.rb", "lib/sass/tree/comment_node.rb", "lib/sass/tree/node.rb", "lib/sass/tree/for_node.rb", "lib/sass/tree/debug_node.rb", "lib/sass/tree/import_node.rb", "lib/sass/tree/while_node.rb", "lib/sass/tree/mixin_def_node.rb", "lib/sass/tree/if_node.rb", "lib/sass/tree/mixin_node.rb", "lib/sass/tree/directive_node.rb", "lib/sass/tree/rule_node.rb", "lib/sass/tree/prop_node.rb", "lib/sass/tree/variable_node.rb", "lib/sass/plugin/rails.rb", "lib/sass/plugin/merb.rb", "lib/sass/environment.rb", "lib/sass/files.rb", "lib/sass/engine.rb", "lib/sass/plugin.rb", "lib/haml/filters.rb", "lib/haml/exec.rb", "lib/haml/error.rb", "lib/haml/template.rb", "lib/haml/shared.rb", "lib/haml/engine.rb", "lib/haml/version.rb", "lib/haml/template/patch.rb", "lib/haml/template/plugin.rb", "lib/haml/helpers.rb", "lib/haml/buffer.rb", "lib/haml/html.rb", "lib/haml/precompiler.rb", "lib/haml/util.rb", "lib/haml/helpers/action_view_mods.rb", "lib/haml/helpers/xss_mods.rb", "lib/haml/helpers/action_view_extensions.rb", "lib/haml.rb", "bin/sass", "bin/css2sass", "bin/html2haml", "bin/haml", "test/linked_rails.rb", "test/benchmark.rb", "test/sass/script_test.rb", "test/sass/css2sass_test.rb", "test/sass/results/units.css", "test/sass/results/parent_ref.css", "test/sass/results/compressed.css", "test/sass/results/complex.css", "test/sass/results/compact.css", "test/sass/results/mixins.css", "test/sass/results/line_numbers.css", "test/sass/results/alt.css", "test/sass/results/subdir/subdir.css", "test/sass/results/subdir/nested_subdir/nested_subdir.css", "test/sass/results/nested.css", "test/sass/results/import.css", "test/sass/results/multiline.css", "test/sass/results/script.css", "test/sass/results/basic.css", "test/sass/results/expanded.css", "test/sass/more_results/more_import.css", "test/sass/more_results/more1_with_line_comments.css", "test/sass/more_results/more1.css", "test/sass/templates/basic.sass", "test/sass/templates/bork.sass", "test/sass/templates/compressed.sass", "test/sass/templates/import.sass", "test/sass/templates/script.sass", "test/sass/templates/expanded.sass", "test/sass/templates/nested.sass", "test/sass/templates/_partial.sass", "test/sass/templates/line_numbers.sass", "test/sass/templates/compact.sass", "test/sass/templates/subdir/subdir.sass", "test/sass/templates/subdir/nested_subdir/nested_subdir.sass", "test/sass/templates/subdir/nested_subdir/_nested_partial.sass", "test/sass/templates/parent_ref.sass", "test/sass/templates/alt.sass", "test/sass/templates/importee.sass", "test/sass/templates/mixins.sass", "test/sass/templates/multiline.sass", "test/sass/templates/units.sass", "test/sass/templates/complex.sass", "test/sass/templates/bork2.sass", "test/sass/more_templates/_more_partial.sass", "test/sass/more_templates/more1.sass", "test/sass/more_templates/more_import.sass", "test/sass/functions_test.rb", "test/sass/engine_test.rb", "test/sass/plugin_test.rb", "test/haml/mocks/article.rb", "test/haml/rhtml/_av_partial_2.rhtml", "test/haml/rhtml/standard.rhtml", "test/haml/rhtml/_av_partial_1.rhtml", "test/haml/rhtml/action_view.rhtml", "test/haml/util_test.rb", "test/haml/spec/ruby_haml_test.rb", "test/haml/spec/README.md", "test/haml/spec/lua_haml_spec.lua", "test/haml/spec/tests.json", "test/haml/html2haml_test.rb", "test/haml/template_test.rb", "test/haml/helper_test.rb", "test/haml/results/tag_parsing.xhtml", "test/haml/results/content_for_layout.xhtml", "test/haml/results/helpers.xhtml", "test/haml/results/original_engine.xhtml", "test/haml/results/very_basic.xhtml", "test/haml/results/helpful.xhtml", "test/haml/results/list.xhtml", "test/haml/results/partials.xhtml", "test/haml/results/eval_suppressed.xhtml", "test/haml/results/nuke_inner_whitespace.xhtml", "test/haml/results/whitespace_handling.xhtml", "test/haml/results/render_layout.xhtml", "test/haml/results/silent_script.xhtml", "test/haml/results/standard.xhtml", "test/haml/results/just_stuff.xhtml", "test/haml/results/partial_layout.xhtml", "test/haml/results/filters.xhtml", "test/haml/results/nuke_outer_whitespace.xhtml", "test/haml/markaby/standard.mab", "test/haml/templates/tag_parsing.haml", "test/haml/templates/nuke_inner_whitespace.haml", "test/haml/templates/partial_layout.haml", "test/haml/templates/_av_partial_2_ugly.haml", "test/haml/templates/partials.haml", "test/haml/templates/_layout_for_partial.haml", "test/haml/templates/original_engine.haml", "test/haml/templates/helpers.haml", "test/haml/templates/_layout.erb", "test/haml/templates/action_view_ugly.haml", "test/haml/templates/content_for_layout.haml", "test/haml/templates/silent_script.haml", "test/haml/templates/very_basic.haml", "test/haml/templates/render_layout.haml", "test/haml/templates/filters.haml", "test/haml/templates/_av_partial_1.haml", "test/haml/templates/standard_ugly.haml", "test/haml/templates/_partial.haml", "test/haml/templates/nuke_outer_whitespace.haml", "test/haml/templates/breakage.haml", "test/haml/templates/list.haml", "test/haml/templates/standard.haml", "test/haml/templates/whitespace_handling.haml", "test/haml/templates/eval_suppressed.haml", "test/haml/templates/action_view.haml", "test/haml/templates/_av_partial_2.haml", "test/haml/templates/partialize.haml", "test/haml/templates/just_stuff.haml", "test/haml/templates/helpful.haml", "test/haml/templates/_av_partial_1_ugly.haml", "test/haml/templates/_text_area.haml", "test/haml/engine_test.rb", "test/test_helper.rb", "extra/haml-mode.el", "extra/sass-mode.el", "extra/update_watch.rb", "Rakefile", "init.rb", ".yardopts", "VERSION_NAME", "CONTRIBUTING", "README.md", "MIT-LICENSE", "VERSION", "REVISION"] + s.homepage = %q{http://haml.hamptoncatlin.com/} + s.rdoc_options = ["--title", "Haml", "--main", "README.rdoc", "--exclude", "lib/haml/buffer.rb", "--line-numbers", "--inline-source"] + s.require_paths = ["lib"] + s.rubyforge_project = %q{haml} + s.rubygems_version = %q{1.3.5} + s.summary = %q{An elegant, structured XHTML/XML templating engine. Comes with Sass, a similar CSS templating engine.} + s.test_files = ["test/sass/script_test.rb", "test/sass/css2sass_test.rb", "test/sass/functions_test.rb", "test/sass/engine_test.rb", "test/sass/plugin_test.rb", "test/haml/util_test.rb", "test/haml/spec/ruby_haml_test.rb", "test/haml/html2haml_test.rb", "test/haml/template_test.rb", "test/haml/helper_test.rb", "test/haml/engine_test.rb"] + + if s.respond_to? :specification_version then + current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION + s.specification_version = 3 + + if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then + s.add_development_dependency(%q, [">= 0.2.3"]) + s.add_development_dependency(%q, [">= 0.5.9"]) + else + s.add_dependency(%q, [">= 0.2.3"]) + s.add_dependency(%q, [">= 0.5.9"]) + end + else + s.add_dependency(%q, [">= 0.2.3"]) + s.add_dependency(%q, [">= 0.5.9"]) + end +end diff --git a/vendor/gems/specifications/highline-1.5.1.gemspec b/vendor/gems/specifications/highline-1.5.1.gemspec new file mode 100755 index 00000000..20417855 --- /dev/null +++ b/vendor/gems/specifications/highline-1.5.1.gemspec @@ -0,0 +1,31 @@ +# -*- encoding: utf-8 -*- + +Gem::Specification.new do |s| + s.name = %q{highline} + s.version = "1.5.1" + + s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version= + s.authors = ["James Edward Gray II"] + s.date = %q{2009-05-06} + s.description = %q{A high-level IO library that provides validation, type conversion, and more for command-line interfaces. HighLine also includes a complete menu system that can crank out anything from simple list selection to complete shells with just minutes of work.} + s.email = %q{james@grayproductions.net} + s.extra_rdoc_files = ["README", "INSTALL", "TODO", "CHANGELOG", "LICENSE"] + s.files = ["examples/ansi_colors.rb", "examples/asking_for_arrays.rb", "examples/basic_usage.rb", "examples/color_scheme.rb", "examples/limit.rb", "examples/menus.rb", "examples/overwrite.rb", "examples/page_and_wrap.rb", "examples/password.rb", "examples/trapping_eof.rb", "examples/using_readline.rb", "lib/highline/color_scheme.rb", "lib/highline/compatibility.rb", "lib/highline/import.rb", "lib/highline/menu.rb", "lib/highline/question.rb", "lib/highline/system_extensions.rb", "lib/highline.rb", "test/tc_color_scheme.rb", "test/tc_highline.rb", "test/tc_import.rb", "test/tc_menu.rb", "test/ts_all.rb", "Rakefile", "setup.rb", "README", "INSTALL", "TODO", "CHANGELOG", "LICENSE"] + s.homepage = %q{http://highline.rubyforge.org} + s.rdoc_options = ["--title", "HighLine Documentation", "--main", "README"] + s.require_paths = ["lib"] + s.rubyforge_project = %q{highline} + s.rubygems_version = %q{1.3.5} + s.summary = %q{HighLine is a high-level command-line IO library.} + s.test_files = ["test/ts_all.rb"] + + if s.respond_to? :specification_version then + current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION + s.specification_version = 2 + + if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then + else + end + else + end +end diff --git a/vendor/gems/specifications/json-1.2.0.gemspec b/vendor/gems/specifications/json-1.2.0.gemspec new file mode 100755 index 00000000..c898ca01 --- /dev/null +++ b/vendor/gems/specifications/json-1.2.0.gemspec @@ -0,0 +1,34 @@ +# -*- encoding: utf-8 -*- + +Gem::Specification.new do |s| + s.name = %q{json} + s.version = "1.2.0" + + s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version= + s.authors = ["Florian Frank"] + s.date = %q{2009-11-07} + s.default_executable = %q{edit_json.rb} + s.description = %q{This is a JSON implementation as a Ruby extension in C.} + s.email = %q{flori@ping.de} + s.executables = ["edit_json.rb", "prettify_json.rb"] + s.extensions = ["ext/json/ext/generator/extconf.rb", "ext/json/ext/parser/extconf.rb"] + s.extra_rdoc_files = ["README"] + s.files = ["CHANGES", "bin/edit_json.rb", "bin/prettify_json.rb", "VERSION", "GPL", "TODO", "README", "benchmarks/parser_benchmark.rb", "benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkPure.log", "benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkComparison.log", "benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkYAML#parser.dat", "benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_safe.dat", "benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkExt#parser.dat", "benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_fast.dat", "benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_fast-autocorrelation.dat", "benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure.log", "benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkExt#parser-autocorrelation.dat", "benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkRails#generator-autocorrelation.dat", "benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt.log", "benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_fast-autocorrelation.dat", "benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_fast.dat", "benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkRails#parser.dat", "benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_pretty-autocorrelation.dat", "benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkPure#parser-autocorrelation.dat", "benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_pretty.dat", "benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkRails.log", "benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkExt.log", "benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkRails.log", "benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkComparison.log", "benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_safe.dat", "benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkRails#generator.dat", "benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_safe-autocorrelation.dat", "benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_pretty.dat", "benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkYAML.log", "benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkYAML#parser-autocorrelation.dat", "benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_pretty-autocorrelation.dat", "benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkRails#parser-autocorrelation.dat", "benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkPure#parser.dat", "benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_safe-autocorrelation.dat", "benchmarks/generator_benchmark.rb", "ext/json/ext/generator/extconf.rb", "ext/json/ext/generator/unicode.c", "ext/json/ext/generator/generator.c", "ext/json/ext/generator/unicode.h", "ext/json/ext/parser/extconf.rb", "ext/json/ext/parser/parser.rl", "ext/json/ext/parser/unicode.c", "ext/json/ext/parser/parser.c", "ext/json/ext/parser/unicode.h", "Rakefile", "tools/fuzz.rb", "tools/server.rb", "lib/json.rb", "lib/json/json.xpm", "lib/json/Key.xpm", "lib/json/String.xpm", "lib/json/Numeric.xpm", "lib/json/Hash.xpm", "lib/json/add/rails.rb", "lib/json/add/core.rb", "lib/json/common.rb", "lib/json/Array.xpm", "lib/json/FalseClass.xpm", "lib/json/pure/generator.rb", "lib/json/pure/parser.rb", "lib/json/TrueClass.xpm", "lib/json/pure.rb", "lib/json/version.rb", "lib/json/ext.rb", "lib/json/editor.rb", "lib/json/NilClass.xpm", "data/example.json", "data/index.html", "data/prototype.js", "tests/test_json_encoding.rb", "tests/test_json_addition.rb", "tests/fixtures/pass16.json", "tests/fixtures/fail4.json", "tests/fixtures/fail1.json", "tests/fixtures/fail28.json", "tests/fixtures/fail8.json", "tests/fixtures/fail19.json", "tests/fixtures/pass2.json", "tests/fixtures/pass26.json", "tests/fixtures/pass1.json", "tests/fixtures/fail3.json", "tests/fixtures/fail20.json", "tests/fixtures/pass3.json", "tests/fixtures/pass15.json", "tests/fixtures/fail12.json", "tests/fixtures/fail13.json", "tests/fixtures/fail22.json", "tests/fixtures/fail24.json", "tests/fixtures/fail9.json", "tests/fixtures/fail2.json", "tests/fixtures/fail14.json", "tests/fixtures/fail6.json", "tests/fixtures/fail21.json", "tests/fixtures/fail7.json", "tests/fixtures/pass17.json", "tests/fixtures/fail11.json", "tests/fixtures/fail25.json", "tests/fixtures/fail5.json", "tests/fixtures/fail18.json", "tests/fixtures/fail27.json", "tests/fixtures/fail10.json", "tests/fixtures/fail23.json", "tests/test_json_rails.rb", "tests/test_json.rb", "tests/test_json_generate.rb", "tests/test_json_unicode.rb", "tests/test_json_fixtures.rb", "COPYING", "install.rb"] + s.homepage = %q{http://json.rubyforge.org} + s.rdoc_options = ["--title", "JSON -- A JSON implemention", "--main", "README"] + s.require_paths = ["ext/json/ext", "ext", "lib"] + s.rubyforge_project = %q{json} + s.rubygems_version = %q{1.3.5} + s.summary = %q{A JSON implementation as a Ruby extension} + s.test_files = ["tests/test_json_encoding.rb", "tests/test_json_addition.rb", "tests/test_json_rails.rb", "tests/test_json.rb", "tests/test_json_generate.rb", "tests/test_json_unicode.rb", "tests/test_json_fixtures.rb"] + + if s.respond_to? :specification_version then + current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION + s.specification_version = 3 + + if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then + else + end + else + end +end diff --git a/vendor/gems/specifications/launchy-0.3.3.gemspec b/vendor/gems/specifications/launchy-0.3.3.gemspec new file mode 100755 index 00000000..13be819f --- /dev/null +++ b/vendor/gems/specifications/launchy-0.3.3.gemspec @@ -0,0 +1,38 @@ +# -*- encoding: utf-8 -*- + +Gem::Specification.new do |s| + s.name = %q{launchy} + s.version = "0.3.3" + + s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version= + s.authors = ["Jeremy Hinegardner"] + s.date = %q{2009-02-18} + s.default_executable = %q{launchy} + s.description = %q{Launchy is helper class for launching cross-platform applications in a fire and forget manner. There are application concepts (browser, email client, etc) that are common across all platforms, and they may be launched differently on each platform. Launchy is here to make a common approach to launching external application from within ruby programs.} + s.email = %q{jeremy@copiousfreetime.org} + s.executables = ["launchy"] + s.extra_rdoc_files = ["README", "HISTORY", "LICENSE", "lib/launchy/application.rb", "lib/launchy/browser.rb", "lib/launchy/command_line.rb", "lib/launchy/paths.rb", "lib/launchy/version.rb", "lib/launchy.rb"] + s.files = ["bin/launchy", "lib/launchy/application.rb", "lib/launchy/browser.rb", "lib/launchy/command_line.rb", "lib/launchy/paths.rb", "lib/launchy/version.rb", "lib/launchy.rb", "spec/application_spec.rb", "spec/browser_spec.rb", "spec/launchy_spec.rb", "spec/paths_spec.rb", "spec/spec_helper.rb", "spec/version_spec.rb", "README", "HISTORY", "LICENSE", "tasks/announce.rake", "tasks/distribution.rake", "tasks/documentation.rake", "tasks/rspec.rake", "tasks/rubyforge.rake", "tasks/config.rb", "tasks/utils.rb", "Rakefile", "gemspec.rb"] + s.homepage = %q{http://copiousfreetime.rubyforge.org/launchy/} + s.rdoc_options = ["--line-numbers", "--inline-source", "--main", "README"] + s.require_paths = ["lib"] + s.rubyforge_project = %q{copiousfreetime} + s.rubygems_version = %q{1.3.5} + s.summary = %q{Launchy is helper class for launching cross-platform applications in a fire and forget manner} + + if s.respond_to? :specification_version then + current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION + s.specification_version = 2 + + if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then + s.add_runtime_dependency(%q, [">= 0.8.1"]) + s.add_runtime_dependency(%q, [">= 0.0.5"]) + else + s.add_dependency(%q, [">= 0.8.1"]) + s.add_dependency(%q, [">= 0.0.5"]) + end + else + s.add_dependency(%q, [">= 0.8.1"]) + s.add_dependency(%q, [">= 0.0.5"]) + end +end diff --git a/vendor/gems/specifications/polyglot-0.2.9.gemspec b/vendor/gems/specifications/polyglot-0.2.9.gemspec new file mode 100755 index 00000000..8ca1f453 --- /dev/null +++ b/vendor/gems/specifications/polyglot-0.2.9.gemspec @@ -0,0 +1,34 @@ +# -*- encoding: utf-8 -*- + +Gem::Specification.new do |s| + s.name = %q{polyglot} + s.version = "0.2.9" + + s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version= + s.authors = ["Clifford Heath"] + s.date = %q{2009-09-12} + s.description = %q{Allows custom language loaders for specified file extensions to be hooked into require} + s.email = %q{cjheath@rubyforge.org} + s.extra_rdoc_files = ["History.txt", "License.txt", "Manifest.txt", "README.txt"] + s.files = ["History.txt", "License.txt", "Manifest.txt", "README.txt", "Rakefile", "lib/polyglot.rb", "lib/polyglot/version.rb", "test/test_helper.rb", "test/test_polyglot.rb"] + s.homepage = %q{http://polyglot.rubyforge.org} + s.rdoc_options = ["--main", "README.txt"] + s.require_paths = ["lib"] + s.rubyforge_project = %q{polyglot} + s.rubygems_version = %q{1.3.5} + s.summary = %q{Allows custom language loaders for specified file extensions to be hooked into require} + s.test_files = ["test/test_helper.rb", "test/test_polyglot.rb"] + + if s.respond_to? :specification_version then + current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION + s.specification_version = 3 + + if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then + s.add_development_dependency(%q, [">= 2.3.2"]) + else + s.add_dependency(%q, [">= 2.3.2"]) + end + else + s.add_dependency(%q, [">= 2.3.2"]) + end +end diff --git a/vendor/gems/specifications/rack-1.0.1.gemspec b/vendor/gems/specifications/rack-1.0.1.gemspec new file mode 100755 index 00000000..3059c61c --- /dev/null +++ b/vendor/gems/specifications/rack-1.0.1.gemspec @@ -0,0 +1,53 @@ +# -*- encoding: utf-8 -*- + +Gem::Specification.new do |s| + s.name = %q{rack} + s.version = "1.0.1" + + s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version= + s.authors = ["Christian Neukirchen"] + s.date = %q{2009-10-17} + s.default_executable = %q{rackup} + s.description = %q{Rack provides minimal, modular and adaptable interface for developing web applications in Ruby. By wrapping HTTP requests and responses in the simplest way possible, it unifies and distills the API for web servers, web frameworks, and software in between (the so-called middleware) into a single method call. Also see http://rack.rubyforge.org.} + s.email = %q{chneukirchen@gmail.com} + s.executables = ["rackup"] + s.extra_rdoc_files = ["README", "SPEC", "RDOX", "KNOWN-ISSUES"] + s.files = ["COPYING", "KNOWN-ISSUES", "README", "Rakefile", "bin/rackup", "contrib/rack_logo.svg", "example/lobster.ru", "example/protectedlobster.rb", "example/protectedlobster.ru", "lib/rack.rb", "lib/rack/adapter/camping.rb", "lib/rack/auth/abstract/handler.rb", "lib/rack/auth/abstract/request.rb", "lib/rack/auth/basic.rb", "lib/rack/auth/digest/md5.rb", "lib/rack/auth/digest/nonce.rb", "lib/rack/auth/digest/params.rb", "lib/rack/auth/digest/request.rb", "lib/rack/auth/openid.rb", "lib/rack/builder.rb", "lib/rack/cascade.rb", "lib/rack/chunked.rb", "lib/rack/commonlogger.rb", "lib/rack/conditionalget.rb", "lib/rack/content_length.rb", "lib/rack/content_type.rb", "lib/rack/deflater.rb", "lib/rack/directory.rb", "lib/rack/file.rb", "lib/rack/handler.rb", "lib/rack/handler/cgi.rb", "lib/rack/handler/evented_mongrel.rb", "lib/rack/handler/fastcgi.rb", "lib/rack/handler/lsws.rb", "lib/rack/handler/mongrel.rb", "lib/rack/handler/scgi.rb", "lib/rack/handler/swiftiplied_mongrel.rb", "lib/rack/handler/thin.rb", "lib/rack/handler/webrick.rb", "lib/rack/head.rb", "lib/rack/lint.rb", "lib/rack/lobster.rb", "lib/rack/lock.rb", "lib/rack/methodoverride.rb", "lib/rack/mime.rb", "lib/rack/mock.rb", "lib/rack/recursive.rb", "lib/rack/reloader.rb", "lib/rack/request.rb", "lib/rack/response.rb", "lib/rack/rewindable_input.rb", "lib/rack/session/abstract/id.rb", "lib/rack/session/cookie.rb", "lib/rack/session/memcache.rb", "lib/rack/session/pool.rb", "lib/rack/showexceptions.rb", "lib/rack/showstatus.rb", "lib/rack/static.rb", "lib/rack/urlmap.rb", "lib/rack/utils.rb", "test/cgi/lighttpd.conf", "test/cgi/test", "test/cgi/test.fcgi", "test/cgi/test.ru", "test/multipart/binary", "test/multipart/empty", "test/multipart/ie", "test/multipart/nested", "test/multipart/none", "test/multipart/semicolon", "test/multipart/text", "test/spec_rack_auth_basic.rb", "test/spec_rack_auth_digest.rb", "test/spec_rack_auth_openid.rb", "test/spec_rack_builder.rb", "test/spec_rack_camping.rb", "test/spec_rack_cascade.rb", "test/spec_rack_cgi.rb", "test/spec_rack_chunked.rb", "test/spec_rack_commonlogger.rb", "test/spec_rack_conditionalget.rb", "test/spec_rack_content_length.rb", "test/spec_rack_content_type.rb", "test/spec_rack_deflater.rb", "test/spec_rack_directory.rb", "test/spec_rack_fastcgi.rb", "test/spec_rack_file.rb", "test/spec_rack_handler.rb", "test/spec_rack_head.rb", "test/spec_rack_lint.rb", "test/spec_rack_lobster.rb", "test/spec_rack_lock.rb", "test/spec_rack_methodoverride.rb", "test/spec_rack_mock.rb", "test/spec_rack_mongrel.rb", "test/spec_rack_recursive.rb", "test/spec_rack_request.rb", "test/spec_rack_response.rb", "test/spec_rack_rewindable_input.rb", "test/spec_rack_session_cookie.rb", "test/spec_rack_session_memcache.rb", "test/spec_rack_session_pool.rb", "test/spec_rack_showexceptions.rb", "test/spec_rack_showstatus.rb", "test/spec_rack_static.rb", "test/spec_rack_thin.rb", "test/spec_rack_urlmap.rb", "test/spec_rack_utils.rb", "test/spec_rack_webrick.rb", "test/testrequest.rb", "test/unregistered_handler/rack/handler/unregistered.rb", "test/unregistered_handler/rack/handler/unregistered_long_one.rb", "SPEC", "RDOX", "rack.gemspec"] + s.homepage = %q{http://rack.rubyforge.org} + s.require_paths = ["lib"] + s.rubyforge_project = %q{rack} + s.rubygems_version = %q{1.3.5} + s.summary = %q{a modular Ruby webserver interface} + s.test_files = ["test/spec_rack_auth_basic.rb", "test/spec_rack_auth_digest.rb", "test/spec_rack_auth_openid.rb", "test/spec_rack_builder.rb", "test/spec_rack_camping.rb", "test/spec_rack_cascade.rb", "test/spec_rack_cgi.rb", "test/spec_rack_chunked.rb", "test/spec_rack_commonlogger.rb", "test/spec_rack_conditionalget.rb", "test/spec_rack_content_length.rb", "test/spec_rack_content_type.rb", "test/spec_rack_deflater.rb", "test/spec_rack_directory.rb", "test/spec_rack_fastcgi.rb", "test/spec_rack_file.rb", "test/spec_rack_handler.rb", "test/spec_rack_head.rb", "test/spec_rack_lint.rb", "test/spec_rack_lobster.rb", "test/spec_rack_lock.rb", "test/spec_rack_methodoverride.rb", "test/spec_rack_mock.rb", "test/spec_rack_mongrel.rb", "test/spec_rack_recursive.rb", "test/spec_rack_request.rb", "test/spec_rack_response.rb", "test/spec_rack_rewindable_input.rb", "test/spec_rack_session_cookie.rb", "test/spec_rack_session_memcache.rb", "test/spec_rack_session_pool.rb", "test/spec_rack_showexceptions.rb", "test/spec_rack_showstatus.rb", "test/spec_rack_static.rb", "test/spec_rack_thin.rb", "test/spec_rack_urlmap.rb", "test/spec_rack_utils.rb", "test/spec_rack_webrick.rb"] + + if s.respond_to? :specification_version then + current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION + s.specification_version = 2 + + if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then + s.add_development_dependency(%q, [">= 0"]) + s.add_development_dependency(%q, [">= 0"]) + s.add_development_dependency(%q, [">= 0"]) + s.add_development_dependency(%q, [">= 0"]) + s.add_development_dependency(%q, [">= 0"]) + s.add_development_dependency(%q, ["~> 2.0.0"]) + s.add_development_dependency(%q, [">= 0"]) + else + s.add_dependency(%q, [">= 0"]) + s.add_dependency(%q, [">= 0"]) + s.add_dependency(%q, [">= 0"]) + s.add_dependency(%q, [">= 0"]) + s.add_dependency(%q, [">= 0"]) + s.add_dependency(%q, ["~> 2.0.0"]) + s.add_dependency(%q, [">= 0"]) + end + else + s.add_dependency(%q, [">= 0"]) + s.add_dependency(%q, [">= 0"]) + s.add_dependency(%q, [">= 0"]) + s.add_dependency(%q, [">= 0"]) + s.add_dependency(%q, [">= 0"]) + s.add_dependency(%q, ["~> 2.0.0"]) + s.add_dependency(%q, [">= 0"]) + end +end diff --git a/vendor/gems/specifications/rack-test-0.5.1.gemspec b/vendor/gems/specifications/rack-test-0.5.1.gemspec new file mode 100755 index 00000000..c71da071 --- /dev/null +++ b/vendor/gems/specifications/rack-test-0.5.1.gemspec @@ -0,0 +1,36 @@ +# -*- encoding: utf-8 -*- + +Gem::Specification.new do |s| + s.name = %q{rack-test} + s.version = "0.5.1" + + s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version= + s.authors = ["Bryan Helmkamp"] + s.date = %q{2009-10-26} + s.description = %q{Rack::Test is a small, simple testing API for Rack apps. It can be used on its +own or as a reusable starting point for Web frameworks and testing libraries +to build on. Most of its initial functionality is an extraction of Merb 1.0's +request helpers feature.} + s.email = %q{bryan@brynary.com} + s.extra_rdoc_files = ["README.rdoc", "MIT-LICENSE.txt"] + s.files = [".document", ".gitignore", "History.txt", "MIT-LICENSE.txt", "README.rdoc", "Rakefile", "Thorfile", "lib/rack/mock_session.rb", "lib/rack/test.rb", "lib/rack/test/cookie_jar.rb", "lib/rack/test/methods.rb", "lib/rack/test/mock_digest_request.rb", "lib/rack/test/uploaded_file.rb", "lib/rack/test/utils.rb", "rack-test.gemspec", "spec/fixtures/config.ru", "spec/fixtures/fake_app.rb", "spec/fixtures/foo.txt", "spec/rack/test/cookie_spec.rb", "spec/rack/test/digest_auth_spec.rb", "spec/rack/test/multipart_spec.rb", "spec/rack/test/utils_spec.rb", "spec/rack/test_spec.rb", "spec/spec.opts", "spec/spec_helper.rb"] + s.homepage = %q{http://github.com/brynary/rack-test} + s.require_paths = ["lib"] + s.rubyforge_project = %q{rack-test} + s.rubygems_version = %q{1.3.5} + s.summary = %q{Simple testing API built on Rack} + s.test_files = ["spec/fixtures/fake_app.rb", "spec/rack/test/cookie_spec.rb", "spec/rack/test/digest_auth_spec.rb", "spec/rack/test/multipart_spec.rb", "spec/rack/test/utils_spec.rb", "spec/rack/test_spec.rb", "spec/spec_helper.rb"] + + if s.respond_to? :specification_version then + current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION + s.specification_version = 3 + + if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then + s.add_runtime_dependency(%q, [">= 1.0"]) + else + s.add_dependency(%q, [">= 1.0"]) + end + else + s.add_dependency(%q, [">= 1.0"]) + end +end diff --git a/vendor/gems/specifications/rake-0.8.7.gemspec b/vendor/gems/specifications/rake-0.8.7.gemspec new file mode 100755 index 00000000..cfcf7017 --- /dev/null +++ b/vendor/gems/specifications/rake-0.8.7.gemspec @@ -0,0 +1,32 @@ +# -*- encoding: utf-8 -*- + +Gem::Specification.new do |s| + s.name = %q{rake} + s.version = "0.8.7" + + s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version= + s.authors = ["Jim Weirich"] + s.date = %q{2009-05-14} + s.default_executable = %q{rake} + s.description = %q{Rake is a Make-like program implemented in Ruby. Tasks and dependencies are specified in standard Ruby syntax.} + s.email = %q{jim@weirichhouse.org} + s.executables = ["rake"] + s.extra_rdoc_files = ["README", "MIT-LICENSE", "TODO", "CHANGES", "doc/command_line_usage.rdoc", "doc/glossary.rdoc", "doc/proto_rake.rdoc", "doc/rakefile.rdoc", "doc/rational.rdoc", "doc/release_notes/rake-0.4.14.rdoc", "doc/release_notes/rake-0.4.15.rdoc", "doc/release_notes/rake-0.5.0.rdoc", "doc/release_notes/rake-0.5.3.rdoc", "doc/release_notes/rake-0.5.4.rdoc", "doc/release_notes/rake-0.6.0.rdoc", "doc/release_notes/rake-0.7.0.rdoc", "doc/release_notes/rake-0.7.1.rdoc", "doc/release_notes/rake-0.7.2.rdoc", "doc/release_notes/rake-0.7.3.rdoc", "doc/release_notes/rake-0.8.0.rdoc", "doc/release_notes/rake-0.8.2.rdoc", "doc/release_notes/rake-0.8.3.rdoc", "doc/release_notes/rake-0.8.4.rdoc", "doc/release_notes/rake-0.8.5.rdoc", "doc/release_notes/rake-0.8.6.rdoc", "doc/release_notes/rake-0.8.7.rdoc"] + s.files = ["install.rb", "CHANGES", "MIT-LICENSE", "Rakefile", "README", "TODO", "bin/rake", "lib/rake/alt_system.rb", "lib/rake/classic_namespace.rb", "lib/rake/clean.rb", "lib/rake/contrib/compositepublisher.rb", "lib/rake/contrib/ftptools.rb", "lib/rake/contrib/publisher.rb", "lib/rake/contrib/rubyforgepublisher.rb", "lib/rake/contrib/sshpublisher.rb", "lib/rake/contrib/sys.rb", "lib/rake/gempackagetask.rb", "lib/rake/loaders/makefile.rb", "lib/rake/packagetask.rb", "lib/rake/rake_test_loader.rb", "lib/rake/rdoctask.rb", "lib/rake/ruby182_test_unit_fix.rb", "lib/rake/runtest.rb", "lib/rake/tasklib.rb", "lib/rake/testtask.rb", "lib/rake/win32.rb", "lib/rake.rb", "test/capture_stdout.rb", "test/check_expansion.rb", "test/check_no_expansion.rb", "test/contrib/test_sys.rb", "test/data/rakelib/test1.rb", "test/data/rbext/rakefile.rb", "test/filecreation.rb", "test/functional.rb", "test/in_environment.rb", "test/rake_test_setup.rb", "test/reqfile.rb", "test/reqfile2.rb", "test/session_functional.rb", "test/shellcommand.rb", "test/test_application.rb", "test/test_clean.rb", "test/test_definitions.rb", "test/test_earlytime.rb", "test/test_extension.rb", "test/test_file_creation_task.rb", "test/test_file_task.rb", "test/test_filelist.rb", "test/test_fileutils.rb", "test/test_ftp.rb", "test/test_invocation_chain.rb", "test/test_makefile_loader.rb", "test/test_multitask.rb", "test/test_namespace.rb", "test/test_package_task.rb", "test/test_pathmap.rb", "test/test_pseudo_status.rb", "test/test_rake.rb", "test/test_rdoc_task.rb", "test/test_require.rb", "test/test_rules.rb", "test/test_task_arguments.rb", "test/test_task_manager.rb", "test/test_tasklib.rb", "test/test_tasks.rb", "test/test_test_task.rb", "test/test_top_level_functions.rb", "test/test_win32.rb", "test/data/imports/deps.mf", "test/data/sample.mf", "test/data/chains/Rakefile", "test/data/default/Rakefile", "test/data/dryrun/Rakefile", "test/data/file_creation_task/Rakefile", "test/data/imports/Rakefile", "test/data/multidesc/Rakefile", "test/data/namespace/Rakefile", "test/data/statusreturn/Rakefile", "test/data/unittest/Rakefile", "test/data/unittest/subdir", "doc/command_line_usage.rdoc", "doc/example", "doc/example/a.c", "doc/example/b.c", "doc/example/main.c", "doc/example/Rakefile1", "doc/example/Rakefile2", "doc/glossary.rdoc", "doc/jamis.rb", "doc/proto_rake.rdoc", "doc/rake.1.gz", "doc/rakefile.rdoc", "doc/rational.rdoc", "doc/release_notes", "doc/release_notes/rake-0.4.14.rdoc", "doc/release_notes/rake-0.4.15.rdoc", "doc/release_notes/rake-0.5.0.rdoc", "doc/release_notes/rake-0.5.3.rdoc", "doc/release_notes/rake-0.5.4.rdoc", "doc/release_notes/rake-0.6.0.rdoc", "doc/release_notes/rake-0.7.0.rdoc", "doc/release_notes/rake-0.7.1.rdoc", "doc/release_notes/rake-0.7.2.rdoc", "doc/release_notes/rake-0.7.3.rdoc", "doc/release_notes/rake-0.8.0.rdoc", "doc/release_notes/rake-0.8.2.rdoc", "doc/release_notes/rake-0.8.3.rdoc", "doc/release_notes/rake-0.8.4.rdoc", "doc/release_notes/rake-0.8.5.rdoc", "doc/release_notes/rake-0.8.6.rdoc", "doc/release_notes/rake-0.8.7.rdoc"] + s.homepage = %q{http://rake.rubyforge.org} + s.rdoc_options = ["--line-numbers", "--main", "README", "--title", "Rake -- Ruby Make"] + s.require_paths = ["lib"] + s.rubyforge_project = %q{rake} + s.rubygems_version = %q{1.3.5} + s.summary = %q{Ruby based make-like utility.} + + if s.respond_to? :specification_version then + current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION + s.specification_version = 2 + + if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then + else + end + else + end +end diff --git a/vendor/gems/specifications/rdoc-2.4.3.gemspec b/vendor/gems/specifications/rdoc-2.4.3.gemspec new file mode 100755 index 00000000..76c7c4ba --- /dev/null +++ b/vendor/gems/specifications/rdoc-2.4.3.gemspec @@ -0,0 +1,47 @@ +# -*- encoding: utf-8 -*- + +Gem::Specification.new do |s| + s.name = %q{rdoc} + s.version = "2.4.3" + + s.required_rubygems_version = Gem::Requirement.new(">= 1.3") if s.respond_to? :required_rubygems_version= + s.authors = ["Eric Hodel", "Dave Thomas", "Phil Hagelberg", "Tony Strauss"] + s.cert_chain = ["-----BEGIN CERTIFICATE-----\nMIIDNjCCAh6gAwIBAgIBADANBgkqhkiG9w0BAQUFADBBMRAwDgYDVQQDDAdkcmJy\nYWluMRgwFgYKCZImiZPyLGQBGRYIc2VnbWVudDcxEzARBgoJkiaJk/IsZAEZFgNu\nZXQwHhcNMDcxMjIxMDIwNDE0WhcNMDgxMjIwMDIwNDE0WjBBMRAwDgYDVQQDDAdk\ncmJyYWluMRgwFgYKCZImiZPyLGQBGRYIc2VnbWVudDcxEzARBgoJkiaJk/IsZAEZ\nFgNuZXQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCbbgLrGLGIDE76\nLV/cvxdEzCuYuS3oG9PrSZnuDweySUfdp/so0cDq+j8bqy6OzZSw07gdjwFMSd6J\nU5ddZCVywn5nnAQ+Ui7jMW54CYt5/H6f2US6U0hQOjJR6cpfiymgxGdfyTiVcvTm\nGj/okWrQl0NjYOYBpDi+9PPmaH2RmLJu0dB/NylsDnW5j6yN1BEI8MfJRR+HRKZY\nmUtgzBwF1V4KIZQ8EuL6I/nHVu07i6IkrpAgxpXUfdJQJi0oZAqXurAV3yTxkFwd\ng62YrrW26mDe+pZBzR6bpLE+PmXCzz7UxUq3AE0gPHbiMXie3EFE0oxnsU3lIduh\nsCANiQ8BAgMBAAGjOTA3MAkGA1UdEwQCMAAwCwYDVR0PBAQDAgSwMB0GA1UdDgQW\nBBS5k4Z75VSpdM0AclG2UvzFA/VW5DANBgkqhkiG9w0BAQUFAAOCAQEAHagT4lfX\nkP/hDaiwGct7XPuVGbrOsKRVD59FF5kETBxEc9UQ1clKWngf8JoVuEoKD774dW19\nbU0GOVWO+J6FMmT/Cp7nuFJ79egMf/gy4gfUfQMuvfcr6DvZUPIs9P/TlK59iMYF\nDIOQ3DxdF3rMzztNUCizN4taVscEsjCcgW6WkUJnGdqlu3OHWpQxZBJkBTjPCoc6\nUW6on70SFPmAy/5Cq0OJNGEWBfgD9q7rrs/X8GGwUWqXb85RXnUVi/P8Up75E0ag\n14jEc90kN+C7oI/AGCBN0j6JnEtYIEJZibjjDJTSMWlUKKkj30kq7hlUC2CepJ4v\nx52qPcexcYZR7w==\n-----END CERTIFICATE-----\n"] + s.date = %q{2009-04-01} + s.description = %q{RDoc is an application that produces documentation for one or more Ruby source +files. RDoc includes the +rdoc+ and +ri+ tools for generating and displaying +online documentation. + +At this point in time, RDoc 2.x is a work in progress and may incur further +API changes beyond what has been made to RDoc 1.0.1. Command-line tools are +largely unaffected, but internal APIs may shift rapidly. + +See RDoc for a description of RDoc's markup and basic use.} + s.email = ["drbrain@segment7.net", "", "technomancy@gmail.com", "tony.strauss@designingpatterns.com"] + s.executables = ["rdoc", "ri"] + s.extra_rdoc_files = ["History.txt", "Manifest.txt", "README.txt", "RI.txt"] + s.files = [".autotest", ".document", "History.txt", "Manifest.txt", "README.txt", "RI.txt", "Rakefile", "bin/rdoc", "bin/ri", "lib/rdoc.rb", "lib/rdoc/alias.rb", "lib/rdoc/anon_class.rb", "lib/rdoc/any_method.rb", "lib/rdoc/attr.rb", "lib/rdoc/cache.rb", "lib/rdoc/class_module.rb", "lib/rdoc/code_object.rb", "lib/rdoc/code_objects.rb", "lib/rdoc/constant.rb", "lib/rdoc/context.rb", "lib/rdoc/diagram.rb", "lib/rdoc/dot.rb", "lib/rdoc/generator.rb", "lib/rdoc/generator/darkfish.rb", "lib/rdoc/generator/markup.rb", "lib/rdoc/generator/ri.rb", "lib/rdoc/generator/template/darkfish/.document", "lib/rdoc/generator/template/darkfish/classpage.rhtml", "lib/rdoc/generator/template/darkfish/filepage.rhtml", "lib/rdoc/generator/template/darkfish/images/brick.png", "lib/rdoc/generator/template/darkfish/images/brick_link.png", "lib/rdoc/generator/template/darkfish/images/bug.png", "lib/rdoc/generator/template/darkfish/images/bullet_black.png", "lib/rdoc/generator/template/darkfish/images/bullet_toggle_minus.png", "lib/rdoc/generator/template/darkfish/images/bullet_toggle_plus.png", "lib/rdoc/generator/template/darkfish/images/date.png", "lib/rdoc/generator/template/darkfish/images/find.png", "lib/rdoc/generator/template/darkfish/images/loadingAnimation.gif", "lib/rdoc/generator/template/darkfish/images/macFFBgHack.png", "lib/rdoc/generator/template/darkfish/images/package.png", "lib/rdoc/generator/template/darkfish/images/page_green.png", "lib/rdoc/generator/template/darkfish/images/page_white_text.png", "lib/rdoc/generator/template/darkfish/images/page_white_width.png", "lib/rdoc/generator/template/darkfish/images/plugin.png", "lib/rdoc/generator/template/darkfish/images/ruby.png", "lib/rdoc/generator/template/darkfish/images/tag_green.png", "lib/rdoc/generator/template/darkfish/images/wrench.png", "lib/rdoc/generator/template/darkfish/images/wrench_orange.png", "lib/rdoc/generator/template/darkfish/images/zoom.png", "lib/rdoc/generator/template/darkfish/index.rhtml", "lib/rdoc/generator/template/darkfish/js/darkfish.js", "lib/rdoc/generator/template/darkfish/js/jquery.js", "lib/rdoc/generator/template/darkfish/js/quicksearch.js", "lib/rdoc/generator/template/darkfish/js/thickbox-compressed.js", "lib/rdoc/generator/template/darkfish/rdoc.css", "lib/rdoc/ghost_method.rb", "lib/rdoc/include.rb", "lib/rdoc/known_classes.rb", "lib/rdoc/markup.rb", "lib/rdoc/markup/attribute_manager.rb", "lib/rdoc/markup/formatter.rb", "lib/rdoc/markup/fragments.rb", "lib/rdoc/markup/inline.rb", "lib/rdoc/markup/lines.rb", "lib/rdoc/markup/preprocess.rb", "lib/rdoc/markup/to_flow.rb", "lib/rdoc/markup/to_html.rb", "lib/rdoc/markup/to_html_crossref.rb", "lib/rdoc/markup/to_latex.rb", "lib/rdoc/markup/to_test.rb", "lib/rdoc/markup/to_texinfo.rb", "lib/rdoc/meta_method.rb", "lib/rdoc/normal_class.rb", "lib/rdoc/normal_module.rb", "lib/rdoc/options.rb", "lib/rdoc/parser.rb", "lib/rdoc/parser/c.rb", "lib/rdoc/parser/perl.rb", "lib/rdoc/parser/ruby.rb", "lib/rdoc/parser/simple.rb", "lib/rdoc/rdoc.rb", "lib/rdoc/require.rb", "lib/rdoc/ri.rb", "lib/rdoc/ri/cache.rb", "lib/rdoc/ri/descriptions.rb", "lib/rdoc/ri/display.rb", "lib/rdoc/ri/driver.rb", "lib/rdoc/ri/formatter.rb", "lib/rdoc/ri/paths.rb", "lib/rdoc/ri/reader.rb", "lib/rdoc/ri/util.rb", "lib/rdoc/ri/writer.rb", "lib/rdoc/single_class.rb", "lib/rdoc/stats.rb", "lib/rdoc/task.rb", "lib/rdoc/tokenstream.rb", "lib/rdoc/top_level.rb", "test/binary.dat", "test/test.ja.rdoc", "test/test.ja.txt", "test/test_attribute_manager.rb", "test/test_rdoc_any_method.rb", "test/test_rdoc_code_object.rb", "test/test_rdoc_constant.rb", "test/test_rdoc_context.rb", "test/test_rdoc_include.rb", "test/test_rdoc_markup.rb", "test/test_rdoc_markup_attribute_manager.rb", "test/test_rdoc_markup_to_html.rb", "test/test_rdoc_markup_to_html_crossref.rb", "test/test_rdoc_normal_module.rb", "test/test_rdoc_parser.rb", "test/test_rdoc_parser_c.rb", "test/test_rdoc_parser_perl.rb", "test/test_rdoc_parser_ruby.rb", "test/test_rdoc_require.rb", "test/test_rdoc_ri_attribute_formatter.rb", "test/test_rdoc_ri_default_display.rb", "test/test_rdoc_ri_driver.rb", "test/test_rdoc_ri_formatter.rb", "test/test_rdoc_ri_html_formatter.rb", "test/test_rdoc_ri_overstrike_formatter.rb", "test/test_rdoc_task.rb", "test/test_rdoc_top_level.rb", "test/xref_data.rb", "test/xref_test_case.rb"] + s.homepage = %q{http://rdoc.rubyforge.org} + s.rdoc_options = ["--main", "README.txt"] + s.require_paths = ["lib"] + s.rubyforge_project = %q{rdoc} + s.rubygems_version = %q{1.3.5} + s.summary = %q{RDoc is an application that produces documentation for one or more Ruby source files} + s.test_files = ["test/test_attribute_manager.rb", "test/test_rdoc_any_method.rb", "test/test_rdoc_code_object.rb", "test/test_rdoc_constant.rb", "test/test_rdoc_context.rb", "test/test_rdoc_include.rb", "test/test_rdoc_markup.rb", "test/test_rdoc_markup_attribute_manager.rb", "test/test_rdoc_markup_to_html.rb", "test/test_rdoc_markup_to_html_crossref.rb", "test/test_rdoc_normal_module.rb", "test/test_rdoc_parser.rb", "test/test_rdoc_parser_c.rb", "test/test_rdoc_parser_perl.rb", "test/test_rdoc_parser_ruby.rb", "test/test_rdoc_require.rb", "test/test_rdoc_ri_attribute_formatter.rb", "test/test_rdoc_ri_default_display.rb", "test/test_rdoc_ri_driver.rb", "test/test_rdoc_ri_formatter.rb", "test/test_rdoc_ri_html_formatter.rb", "test/test_rdoc_ri_overstrike_formatter.rb", "test/test_rdoc_task.rb", "test/test_rdoc_top_level.rb"] + + if s.respond_to? :specification_version then + current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION + s.specification_version = 3 + + if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then + s.add_development_dependency(%q, ["~> 1.3"]) + s.add_development_dependency(%q, [">= 1.12.1"]) + else + s.add_dependency(%q, ["~> 1.3"]) + s.add_dependency(%q, [">= 1.12.1"]) + end + else + s.add_dependency(%q, ["~> 1.3"]) + s.add_dependency(%q, [">= 1.12.1"]) + end +end diff --git a/vendor/gems/specifications/rspec-1.2.9.gemspec b/vendor/gems/specifications/rspec-1.2.9.gemspec new file mode 100755 index 00000000..13d5aa26 --- /dev/null +++ b/vendor/gems/specifications/rspec-1.2.9.gemspec @@ -0,0 +1,58 @@ +# -*- encoding: utf-8 -*- + +Gem::Specification.new do |s| + s.name = %q{rspec} + s.version = "1.2.9" + + s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version= + s.authors = ["RSpec Development Team"] + s.date = %q{2009-10-04} + s.description = %q{Behaviour Driven Development for Ruby.} + s.email = ["rspec-devel@rubyforge.org"] + s.executables = ["autospec", "spec"] + s.extra_rdoc_files = ["License.txt", "Manifest.txt", "TODO.txt", "examples/failing/README.txt"] + s.files = [".document", "History.rdoc", "License.txt", "Manifest.txt", "README.rdoc", "Rakefile", "Ruby1.9.rdoc", "TODO.txt", "Upgrade.rdoc", "bin/autospec", "bin/spec", "cucumber.yml", "examples/failing/README.txt", "examples/failing/diffing_spec.rb", "examples/failing/failing_implicit_docstrings_example.rb", "examples/failing/failure_in_after.rb", "examples/failing/failure_in_before.rb", "examples/failing/mocking_example.rb", "examples/failing/mocking_with_flexmock.rb", "examples/failing/mocking_with_mocha.rb", "examples/failing/mocking_with_rr.rb", "examples/failing/partial_mock_example.rb", "examples/failing/pending_example.rb", "examples/failing/predicate_example.rb", "examples/failing/raising_example.rb", "examples/failing/syntax_error_example.rb", "examples/failing/team_spec.rb", "examples/failing/timeout_behaviour.rb", "examples/passing/custom_formatter.rb", "examples/passing/custom_matchers.rb", "examples/passing/dynamic_spec.rb", "examples/passing/file_accessor.rb", "examples/passing/file_accessor_spec.rb", "examples/passing/filtered_formatter.rb", "examples/passing/filtered_formatter_example.rb", "examples/passing/greeter_spec.rb", "examples/passing/helper_method_example.rb", "examples/passing/implicit_docstrings_example.rb", "examples/passing/io_processor.rb", "examples/passing/io_processor_spec.rb", "examples/passing/mocking_example.rb", "examples/passing/multi_threaded_example_group_runner.rb", "examples/passing/nested_classes_example.rb", "examples/passing/options_example.rb", "examples/passing/options_formatter.rb", "examples/passing/partial_mock_example.rb", "examples/passing/pending_example.rb", "examples/passing/predicate_example.rb", "examples/passing/shared_example_group_example.rb", "examples/passing/shared_stack_examples.rb", "examples/passing/simple_matcher_example.rb", "examples/passing/stack.rb", "examples/passing/stack_spec.rb", "examples/passing/stack_spec_with_nested_example_groups.rb", "examples/passing/stubbing_example.rb", "examples/passing/yielding_example.rb", "examples/ruby1.9.compatibility/access_to_constants_spec.rb", "features/before_and_after_blocks/before_and_after_blocks.feature", "features/command_line/line_number_option.feature", "features/command_line/line_number_option_with_example_with_no_name.feature", "features/example_groups/define_example_attribute.feature", "features/example_groups/example_group_with_should_methods.feature", "features/example_groups/implicit_docstrings.feature", "features/example_groups/nested_groups.feature", "features/expectations/customized_message.feature", "features/expectations/expect_change.feature", "features/expectations/expect_error.feature", "features/extensions/custom_example_group.feature", "features/formatters/custom_formatter.feature", "features/interop/examples_and_tests_together.feature", "features/interop/rspec_output.feature", "features/interop/test_but_not_test_unit.feature", "features/interop/test_case_with_should_methods.feature", "features/load_paths/add_lib_to_load_path.feature", "features/load_paths/add_spec_to_load_path.feature", "features/matchers/define_diffable_matcher.feature", "features/matchers/define_matcher.feature", "features/matchers/define_matcher_outside_rspec.feature", "features/matchers/define_matcher_with_fluent_interface.feature", "features/matchers/define_wrapped_matcher.feature", "features/mock_framework_integration/use_flexmock.feature", "features/mock_framework_integration/use_mocha.feature", "features/mock_framework_integration/use_rr.feature", "features/mocks/mix_stubs_and_mocks.feature", "features/mocks/stub_implementation.feature", "features/pending/pending_examples.feature", "features/runner/specify_line_number.feature", "features/spec_helper/spec_helper.feature", "features/step_definitions/running_rspec_steps.rb", "features/subject/explicit_subject.feature", "features/subject/implicit_subject.feature", "features/support/env.rb", "features/support/matchers/smart_match.rb", "init.rb", "lib/autotest/discover.rb", "lib/autotest/rspec.rb", "lib/spec.rb", "lib/spec/adapters/mock_frameworks/flexmock.rb", "lib/spec/adapters/mock_frameworks/mocha.rb", "lib/spec/adapters/mock_frameworks/rr.rb", "lib/spec/adapters/mock_frameworks/rspec.rb", "lib/spec/autorun.rb", "lib/spec/deprecation.rb", "lib/spec/dsl.rb", "lib/spec/dsl/main.rb", "lib/spec/example.rb", "lib/spec/example/args_and_options.rb", "lib/spec/example/before_and_after_hooks.rb", "lib/spec/example/errors.rb", "lib/spec/example/example_group.rb", "lib/spec/example/example_group_factory.rb", "lib/spec/example/example_group_hierarchy.rb", "lib/spec/example/example_group_methods.rb", "lib/spec/example/example_group_proxy.rb", "lib/spec/example/example_matcher.rb", "lib/spec/example/example_methods.rb", "lib/spec/example/example_proxy.rb", "lib/spec/example/module_reopening_fix.rb", "lib/spec/example/pending.rb", "lib/spec/example/predicate_matchers.rb", "lib/spec/example/shared_example_group.rb", "lib/spec/example/subject.rb", "lib/spec/expectations.rb", "lib/spec/expectations/errors.rb", "lib/spec/expectations/extensions.rb", "lib/spec/expectations/extensions/kernel.rb", "lib/spec/expectations/fail_with.rb", "lib/spec/expectations/handler.rb", "lib/spec/interop/test.rb", "lib/spec/interop/test/unit/autorunner.rb", "lib/spec/interop/test/unit/testcase.rb", "lib/spec/interop/test/unit/testresult.rb", "lib/spec/interop/test/unit/testsuite_adapter.rb", "lib/spec/interop/test/unit/ui/console/testrunner.rb", "lib/spec/matchers.rb", "lib/spec/matchers/be.rb", "lib/spec/matchers/be_close.rb", "lib/spec/matchers/be_instance_of.rb", "lib/spec/matchers/be_kind_of.rb", "lib/spec/matchers/change.rb", "lib/spec/matchers/compatibility.rb", "lib/spec/matchers/dsl.rb", "lib/spec/matchers/eql.rb", "lib/spec/matchers/equal.rb", "lib/spec/matchers/errors.rb", "lib/spec/matchers/exist.rb", "lib/spec/matchers/extensions/instance_exec.rb", "lib/spec/matchers/generated_descriptions.rb", "lib/spec/matchers/has.rb", "lib/spec/matchers/have.rb", "lib/spec/matchers/include.rb", "lib/spec/matchers/match.rb", "lib/spec/matchers/match_array.rb", "lib/spec/matchers/matcher.rb", "lib/spec/matchers/method_missing.rb", "lib/spec/matchers/operator_matcher.rb", "lib/spec/matchers/pretty.rb", "lib/spec/matchers/raise_error.rb", "lib/spec/matchers/respond_to.rb", "lib/spec/matchers/satisfy.rb", "lib/spec/matchers/simple_matcher.rb", "lib/spec/matchers/throw_symbol.rb", "lib/spec/matchers/wrap_expectation.rb", "lib/spec/mocks.rb", "lib/spec/mocks/argument_expectation.rb", "lib/spec/mocks/argument_matchers.rb", "lib/spec/mocks/error_generator.rb", "lib/spec/mocks/errors.rb", "lib/spec/mocks/example_methods.rb", "lib/spec/mocks/extensions.rb", "lib/spec/mocks/extensions/object.rb", "lib/spec/mocks/framework.rb", "lib/spec/mocks/message_expectation.rb", "lib/spec/mocks/methods.rb", "lib/spec/mocks/mock.rb", "lib/spec/mocks/order_group.rb", "lib/spec/mocks/proxy.rb", "lib/spec/mocks/space.rb", "lib/spec/rake/spectask.rb", "lib/spec/rake/verify_rcov.rb", "lib/spec/ruby.rb", "lib/spec/runner.rb", "lib/spec/runner/backtrace_tweaker.rb", "lib/spec/runner/class_and_arguments_parser.rb", "lib/spec/runner/command_line.rb", "lib/spec/runner/configuration.rb", "lib/spec/runner/differs/default.rb", "lib/spec/runner/differs/load-diff-lcs.rb", "lib/spec/runner/drb_command_line.rb", "lib/spec/runner/example_group_runner.rb", "lib/spec/runner/extensions/kernel.rb", "lib/spec/runner/formatter/base_formatter.rb", "lib/spec/runner/formatter/base_text_formatter.rb", "lib/spec/runner/formatter/failing_example_groups_formatter.rb", "lib/spec/runner/formatter/failing_examples_formatter.rb", "lib/spec/runner/formatter/html_formatter.rb", "lib/spec/runner/formatter/nested_text_formatter.rb", "lib/spec/runner/formatter/no_op_method_missing.rb", "lib/spec/runner/formatter/profile_formatter.rb", "lib/spec/runner/formatter/progress_bar_formatter.rb", "lib/spec/runner/formatter/silent_formatter.rb", "lib/spec/runner/formatter/snippet_extractor.rb", "lib/spec/runner/formatter/specdoc_formatter.rb", "lib/spec/runner/formatter/text_mate_formatter.rb", "lib/spec/runner/heckle_runner.rb", "lib/spec/runner/heckle_runner_unsupported.rb", "lib/spec/runner/line_number_query.rb", "lib/spec/runner/option_parser.rb", "lib/spec/runner/options.rb", "lib/spec/runner/reporter.rb", "lib/spec/stubs/cucumber.rb", "lib/spec/test/unit.rb", "lib/spec/version.rb", "resources/helpers/cmdline.rb", "resources/rake/examples.rake", "resources/rake/examples_with_rcov.rake", "resources/rake/failing_examples_with_html.rake", "resources/rake/verify_rcov.rake", "spec/README.jruby", "spec/autotest/autotest_helper.rb", "spec/autotest/autotest_matchers.rb", "spec/autotest/discover_spec.rb", "spec/autotest/failed_results_re_spec.rb", "spec/autotest/rspec_spec.rb", "spec/ruby_forker.rb", "spec/spec.opts", "spec/spec/dsl/main_spec.rb", "spec/spec/example/example_group_class_definition_spec.rb", "spec/spec/example/example_group_factory_spec.rb", "spec/spec/example/example_group_methods_spec.rb", "spec/spec/example/example_group_proxy_spec.rb", "spec/spec/example/example_group_spec.rb", "spec/spec/example/example_matcher_spec.rb", "spec/spec/example/example_methods_spec.rb", "spec/spec/example/example_proxy_spec.rb", "spec/spec/example/helper_method_spec.rb", "spec/spec/example/nested_example_group_spec.rb", "spec/spec/example/pending_module_spec.rb", "spec/spec/example/predicate_matcher_spec.rb", "spec/spec/example/shared_example_group_spec.rb", "spec/spec/example/subclassing_example_group_spec.rb", "spec/spec/example/subject_spec.rb", "spec/spec/expectations/differs/default_spec.rb", "spec/spec/expectations/extensions/kernel_spec.rb", "spec/spec/expectations/fail_with_spec.rb", "spec/spec/expectations/handler_spec.rb", "spec/spec/expectations/wrap_expectation_spec.rb", "spec/spec/interop/test/unit/resources/spec_that_fails.rb", "spec/spec/interop/test/unit/resources/spec_that_passes.rb", "spec/spec/interop/test/unit/resources/spec_with_errors.rb", "spec/spec/interop/test/unit/resources/spec_with_options_hash.rb", "spec/spec/interop/test/unit/resources/test_case_that_fails.rb", "spec/spec/interop/test/unit/resources/test_case_that_passes.rb", "spec/spec/interop/test/unit/resources/test_case_with_errors.rb", "spec/spec/interop/test/unit/resources/test_case_with_various_names.rb", "spec/spec/interop/test/unit/resources/testsuite_adapter_spec_with_test_unit.rb", "spec/spec/interop/test/unit/spec_spec.rb", "spec/spec/interop/test/unit/test_unit_spec_helper.rb", "spec/spec/interop/test/unit/testcase_spec.rb", "spec/spec/interop/test/unit/testsuite_adapter_spec.rb", "spec/spec/matchers/be_close_spec.rb", "spec/spec/matchers/be_instance_of_spec.rb", "spec/spec/matchers/be_kind_of_spec.rb", "spec/spec/matchers/be_spec.rb", "spec/spec/matchers/change_spec.rb", "spec/spec/matchers/compatibility_spec.rb", "spec/spec/matchers/description_generation_spec.rb", "spec/spec/matchers/dsl_spec.rb", "spec/spec/matchers/eql_spec.rb", "spec/spec/matchers/equal_spec.rb", "spec/spec/matchers/exist_spec.rb", "spec/spec/matchers/has_spec.rb", "spec/spec/matchers/have_spec.rb", "spec/spec/matchers/include_spec.rb", "spec/spec/matchers/match_array_spec.rb", "spec/spec/matchers/match_spec.rb", "spec/spec/matchers/matcher_methods_spec.rb", "spec/spec/matchers/matcher_spec.rb", "spec/spec/matchers/matchers_spec.rb", "spec/spec/matchers/operator_matcher_spec.rb", "spec/spec/matchers/raise_error_spec.rb", "spec/spec/matchers/respond_to_spec.rb", "spec/spec/matchers/satisfy_spec.rb", "spec/spec/matchers/simple_matcher_spec.rb", "spec/spec/matchers/throw_symbol_spec.rb", "spec/spec/mocks/any_number_of_times_spec.rb", "spec/spec/mocks/argument_expectation_spec.rb", "spec/spec/mocks/argument_matchers_spec.rb", "spec/spec/mocks/at_least_spec.rb", "spec/spec/mocks/at_most_spec.rb", "spec/spec/mocks/bug_report_10260_spec.rb", "spec/spec/mocks/bug_report_10263_spec.rb", "spec/spec/mocks/bug_report_11545_spec.rb", "spec/spec/mocks/bug_report_15719_spec.rb", "spec/spec/mocks/bug_report_496_spec.rb", "spec/spec/mocks/bug_report_600_spec.rb", "spec/spec/mocks/bug_report_7611_spec.rb", "spec/spec/mocks/bug_report_7805_spec.rb", "spec/spec/mocks/bug_report_8165_spec.rb", "spec/spec/mocks/bug_report_8302_spec.rb", "spec/spec/mocks/bug_report_830_spec.rb", "spec/spec/mocks/double_spec.rb", "spec/spec/mocks/failing_argument_matchers_spec.rb", "spec/spec/mocks/hash_including_matcher_spec.rb", "spec/spec/mocks/hash_not_including_matcher_spec.rb", "spec/spec/mocks/mock_ordering_spec.rb", "spec/spec/mocks/mock_space_spec.rb", "spec/spec/mocks/mock_spec.rb", "spec/spec/mocks/multiple_return_value_spec.rb", "spec/spec/mocks/nil_expectation_warning_spec.rb", "spec/spec/mocks/null_object_mock_spec.rb", "spec/spec/mocks/once_counts_spec.rb", "spec/spec/mocks/options_hash_spec.rb", "spec/spec/mocks/partial_mock_spec.rb", "spec/spec/mocks/partial_mock_using_mocks_directly_spec.rb", "spec/spec/mocks/passing_argument_matchers_spec.rb", "spec/spec/mocks/precise_counts_spec.rb", "spec/spec/mocks/record_messages_spec.rb", "spec/spec/mocks/stub_chain_spec.rb", "spec/spec/mocks/stub_implementation_spec.rb", "spec/spec/mocks/stub_spec.rb", "spec/spec/mocks/stubbed_message_expectations_spec.rb", "spec/spec/mocks/twice_counts_spec.rb", "spec/spec/mocks/unstub_spec.rb", "spec/spec/package/bin_spec_spec.rb", "spec/spec/rake/spectask_spec.rb", "spec/spec/runner/class_and_argument_parser_spec.rb", "spec/spec/runner/command_line_spec.rb", "spec/spec/runner/configuration_spec.rb", "spec/spec/runner/drb_command_line_spec.rb", "spec/spec/runner/empty_file.txt", "spec/spec/runner/example_group_runner_spec.rb", "spec/spec/runner/examples.txt", "spec/spec/runner/failed.txt", "spec/spec/runner/formatter/base_formatter_spec.rb", "spec/spec/runner/formatter/base_text_formatter_spec.rb", "spec/spec/runner/formatter/failing_example_groups_formatter_spec.rb", "spec/spec/runner/formatter/failing_examples_formatter_spec.rb", "spec/spec/runner/formatter/html_formatted-1.8.6-jruby.html", "spec/spec/runner/formatter/html_formatted-1.8.6.html", "spec/spec/runner/formatter/html_formatted-1.8.7.html", "spec/spec/runner/formatter/html_formatted-1.9.1.html", "spec/spec/runner/formatter/html_formatter_spec.rb", "spec/spec/runner/formatter/nested_text_formatter_spec.rb", "spec/spec/runner/formatter/profile_formatter_spec.rb", "spec/spec/runner/formatter/progress_bar_formatter_spec.rb", "spec/spec/runner/formatter/snippet_extractor_spec.rb", "spec/spec/runner/formatter/specdoc_formatter_spec.rb", "spec/spec/runner/formatter/text_mate_formatted-1.8.6-jruby.html", "spec/spec/runner/formatter/text_mate_formatted-1.8.6.html", "spec/spec/runner/formatter/text_mate_formatted-1.8.7.html", "spec/spec/runner/formatter/text_mate_formatted-1.9.1.html", "spec/spec/runner/formatter/text_mate_formatter_spec.rb", "spec/spec/runner/heckle_runner_spec.rb", "spec/spec/runner/heckler_spec.rb", "spec/spec/runner/line_number_query/line_number_query_fixture.rb", "spec/spec/runner/line_number_query_spec.rb", "spec/spec/runner/noisy_backtrace_tweaker_spec.rb", "spec/spec/runner/option_parser_spec.rb", "spec/spec/runner/options_spec.rb", "spec/spec/runner/output_one_time_fixture.rb", "spec/spec/runner/output_one_time_fixture_runner.rb", "spec/spec/runner/output_one_time_spec.rb", "spec/spec/runner/quiet_backtrace_tweaker_spec.rb", "spec/spec/runner/reporter_spec.rb", "spec/spec/runner/resources/a_bar.rb", "spec/spec/runner/resources/a_foo.rb", "spec/spec/runner/resources/a_spec.rb", "spec/spec/runner/resources/custom_example_group_runner.rb", "spec/spec/runner/resources/utf8_encoded.rb", "spec/spec/runner/spec.opts", "spec/spec/runner/spec_drb.opts", "spec/spec/runner/spec_spaced.opts", "spec/spec/runner_spec.rb", "spec/spec_helper.rb", "spec/support/macros.rb", "spec/support/spec_classes.rb"] + s.homepage = %q{http://rspec.info} + s.post_install_message = %q{************************************************** + + Thank you for installing rspec-1.2.9 + + Please be sure to read History.rdoc and Upgrade.rdoc + for useful information about this release. + +************************************************** +} + s.rdoc_options = ["--main", "README.rdoc"] + s.require_paths = ["lib"] + s.rubyforge_project = %q{rspec} + s.rubygems_version = %q{1.3.5} + s.summary = %q{rspec 1.2.9} + + if s.respond_to? :specification_version then + current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION + s.specification_version = 3 + + if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then + s.add_development_dependency(%q, [">= 0.3"]) + s.add_development_dependency(%q, [">= 0.1.1"]) + s.add_development_dependency(%q, [">= 1.0"]) + s.add_development_dependency(%q, [">= 1.1.2"]) + s.add_development_dependency(%q, [">= 1.4.3"]) + s.add_development_dependency(%q, [">= 2.3.3"]) + else + s.add_dependency(%q, [">= 0.3"]) + s.add_dependency(%q, [">= 0.1.1"]) + s.add_dependency(%q, [">= 1.0"]) + s.add_dependency(%q, [">= 1.1.2"]) + s.add_dependency(%q, [">= 1.4.3"]) + s.add_dependency(%q, [">= 2.3.3"]) + end + else + s.add_dependency(%q, [">= 0.3"]) + s.add_dependency(%q, [">= 0.1.1"]) + s.add_dependency(%q, [">= 1.0"]) + s.add_dependency(%q, [">= 1.1.2"]) + s.add_dependency(%q, [">= 1.4.3"]) + s.add_dependency(%q, [">= 2.3.3"]) + end +end diff --git a/vendor/gems/specifications/sdoc-0.2.14.1.gemspec b/vendor/gems/specifications/sdoc-0.2.14.1.gemspec new file mode 100755 index 00000000..535e3523 --- /dev/null +++ b/vendor/gems/specifications/sdoc-0.2.14.1.gemspec @@ -0,0 +1,35 @@ +# -*- encoding: utf-8 -*- + +Gem::Specification.new do |s| + s.name = %q{sdoc} + s.version = "0.2.14.1" + + s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version= + s.authors = ["Volodya Kolesnikov"] + s.date = %q{2009-08-13} + s.email = %q{voloko@gmail.com} + s.executables = ["sdoc", "sdoc-merge"] + s.extra_rdoc_files = ["LICENSE", "README.rdoc"] + s.files = [".gitignore", "LICENSE", "README.rdoc", "Rakefile", "VERSION.yml", "bin/sdoc", "bin/sdoc-merge", "lib/rdoc/discover.rb", "lib/sdoc.rb", "lib/sdoc/c_parser_fix.rb", "lib/sdoc/generator/shtml.rb", "lib/sdoc/generator/template/direct/_context.rhtml", "lib/sdoc/generator/template/direct/class.rhtml", "lib/sdoc/generator/template/direct/file.rhtml", "lib/sdoc/generator/template/direct/index.rhtml", "lib/sdoc/generator/template/direct/resources/apple-touch-icon.png", "lib/sdoc/generator/template/direct/resources/css/main.css", "lib/sdoc/generator/template/direct/resources/css/panel.css", "lib/sdoc/generator/template/direct/resources/css/reset.css", "lib/sdoc/generator/template/direct/resources/favicon.ico", "lib/sdoc/generator/template/direct/resources/i/arrows.png", "lib/sdoc/generator/template/direct/resources/i/results_bg.png", "lib/sdoc/generator/template/direct/resources/i/tree_bg.png", "lib/sdoc/generator/template/direct/resources/js/jquery-1.3.2.min.js", "lib/sdoc/generator/template/direct/resources/js/jquery-effect.js", "lib/sdoc/generator/template/direct/resources/js/main.js", "lib/sdoc/generator/template/direct/resources/js/searchdoc.js", "lib/sdoc/generator/template/direct/resources/panel/index.html", "lib/sdoc/generator/template/merge/index.rhtml", "lib/sdoc/generator/template/shtml/_context.rhtml", "lib/sdoc/generator/template/shtml/class.rhtml", "lib/sdoc/generator/template/shtml/file.rhtml", "lib/sdoc/generator/template/shtml/index.rhtml", "lib/sdoc/generator/template/shtml/resources/apple-touch-icon.png", "lib/sdoc/generator/template/shtml/resources/css/main.css", "lib/sdoc/generator/template/shtml/resources/css/panel.css", "lib/sdoc/generator/template/shtml/resources/css/reset.css", "lib/sdoc/generator/template/shtml/resources/favicon.ico", "lib/sdoc/generator/template/shtml/resources/i/arrows.png", "lib/sdoc/generator/template/shtml/resources/i/results_bg.png", "lib/sdoc/generator/template/shtml/resources/i/tree_bg.png", "lib/sdoc/generator/template/shtml/resources/js/jquery-1.3.2.min.js", "lib/sdoc/generator/template/shtml/resources/js/main.js", "lib/sdoc/generator/template/shtml/resources/js/searchdoc.js", "lib/sdoc/generator/template/shtml/resources/panel/index.html", "lib/sdoc/github.rb", "lib/sdoc/helpers.rb", "lib/sdoc/merge.rb", "lib/sdoc/templatable.rb", "sdoc.gemspec"] + s.homepage = %q{http://github.com/voloko/sdoc} + s.rdoc_options = ["--charset=UTF-8"] + s.require_paths = ["lib"] + s.rubygems_version = %q{1.3.5} + s.summary = %q{rdoc html with javascript search index.} + + if s.respond_to? :specification_version then + current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION + s.specification_version = 3 + + if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then + s.add_runtime_dependency(%q, [">= 1.1.3"]) + s.add_runtime_dependency(%q, [">= 2.4.2"]) + else + s.add_dependency(%q, [">= 1.1.3"]) + s.add_dependency(%q, [">= 2.4.2"]) + end + else + s.add_dependency(%q, [">= 1.1.3"]) + s.add_dependency(%q, [">= 2.4.2"]) + end +end diff --git a/vendor/gems/specifications/shotgun-0.4.gemspec b/vendor/gems/specifications/shotgun-0.4.gemspec new file mode 100755 index 00000000..85abd25d --- /dev/null +++ b/vendor/gems/specifications/shotgun-0.4.gemspec @@ -0,0 +1,37 @@ +# -*- encoding: utf-8 -*- + +Gem::Specification.new do |s| + s.name = %q{shotgun} + s.version = "0.4" + + s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version= + s.authors = ["Ryan Tomayko"] + s.date = %q{2009-03-22} + s.default_executable = %q{shotgun} + s.description = %q{Because reloading sucks.} + s.email = %q{r@tomayko.com} + s.executables = ["shotgun"] + s.extra_rdoc_files = ["README"] + s.files = ["README", "COPYING", "Rakefile", "shotgun.gemspec", "lib/shotgun.rb", "bin/shotgun"] + s.homepage = %q{http://github.com/rtomayko/shotgun/} + s.require_paths = ["lib"] + s.rubyforge_project = %q{wink} + s.rubygems_version = %q{1.3.5} + s.summary = %q{Because reloading sucks.} + + if s.respond_to? :specification_version then + current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION + s.specification_version = 2 + + if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then + s.add_runtime_dependency(%q, [">= 0.9.1"]) + s.add_runtime_dependency(%q, [">= 0.3.3", "< 1.0"]) + else + s.add_dependency(%q, [">= 0.9.1"]) + s.add_dependency(%q, [">= 0.3.3", "< 1.0"]) + end + else + s.add_dependency(%q, [">= 0.9.1"]) + s.add_dependency(%q, [">= 0.3.3", "< 1.0"]) + end +end diff --git a/vendor/gems/specifications/sinatra-0.9.4.gemspec b/vendor/gems/specifications/sinatra-0.9.4.gemspec new file mode 100755 index 00000000..d4f7584a --- /dev/null +++ b/vendor/gems/specifications/sinatra-0.9.4.gemspec @@ -0,0 +1,40 @@ +# -*- encoding: utf-8 -*- + +Gem::Specification.new do |s| + s.name = %q{sinatra} + s.version = "0.9.4" + + s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version= + s.authors = ["Blake Mizerany"] + s.date = %q{2009-07-26} + s.description = %q{Classy web-development dressed in a DSL} + s.email = %q{sinatrarb@googlegroups.com} + s.extra_rdoc_files = ["README.rdoc", "LICENSE"] + s.files = ["AUTHORS", "CHANGES", "LICENSE", "README.rdoc", "Rakefile", "compat/app_test.rb", "compat/application_test.rb", "compat/builder_test.rb", "compat/compat_test.rb", "compat/custom_error_test.rb", "compat/erb_test.rb", "compat/events_test.rb", "compat/filter_test.rb", "compat/haml_test.rb", "compat/helper.rb", "compat/mapped_error_test.rb", "compat/pipeline_test.rb", "compat/public/foo.xml", "compat/sass_test.rb", "compat/sessions_test.rb", "compat/streaming_test.rb", "compat/sym_params_test.rb", "compat/template_test.rb", "compat/use_in_file_templates_test.rb", "compat/views/foo.builder", "compat/views/foo.erb", "compat/views/foo.haml", "compat/views/foo.sass", "compat/views/foo_layout.erb", "compat/views/foo_layout.haml", "compat/views/layout_test/foo.builder", "compat/views/layout_test/foo.erb", "compat/views/layout_test/foo.haml", "compat/views/layout_test/foo.sass", "compat/views/layout_test/layout.builder", "compat/views/layout_test/layout.erb", "compat/views/layout_test/layout.haml", "compat/views/layout_test/layout.sass", "compat/views/no_layout/no_layout.builder", "compat/views/no_layout/no_layout.haml", "lib/sinatra.rb", "lib/sinatra/base.rb", "lib/sinatra/compat.rb", "lib/sinatra/images/404.png", "lib/sinatra/images/500.png", "lib/sinatra/main.rb", "lib/sinatra/showexceptions.rb", "lib/sinatra/test.rb", "lib/sinatra/test/bacon.rb", "lib/sinatra/test/rspec.rb", "lib/sinatra/test/spec.rb", "lib/sinatra/test/unit.rb", "sinatra.gemspec", "test/base_test.rb", "test/builder_test.rb", "test/contest.rb", "test/data/reload_app_file.rb", "test/erb_test.rb", "test/extensions_test.rb", "test/filter_test.rb", "test/haml_test.rb", "test/helper.rb", "test/helpers_test.rb", "test/mapped_error_test.rb", "test/middleware_test.rb", "test/options_test.rb", "test/render_backtrace_test.rb", "test/request_test.rb", "test/response_test.rb", "test/result_test.rb", "test/route_added_hook_test.rb", "test/routing_test.rb", "test/sass_test.rb", "test/server_test.rb", "test/sinatra_test.rb", "test/static_test.rb", "test/templates_test.rb", "test/test_test.rb", "test/views/error.builder", "test/views/error.erb", "test/views/error.haml", "test/views/error.sass", "test/views/foo/hello.test", "test/views/hello.builder", "test/views/hello.erb", "test/views/hello.haml", "test/views/hello.sass", "test/views/hello.test", "test/views/layout2.builder", "test/views/layout2.erb", "test/views/layout2.haml", "test/views/layout2.test"] + s.homepage = %q{http://sinatra.rubyforge.org} + s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Sinatra", "--main", "README.rdoc"] + s.require_paths = ["lib"] + s.rubyforge_project = %q{sinatra} + s.rubygems_version = %q{1.3.5} + s.summary = %q{Classy web-development dressed in a DSL} + s.test_files = ["test/base_test.rb", "test/builder_test.rb", "test/erb_test.rb", "test/extensions_test.rb", "test/filter_test.rb", "test/haml_test.rb", "test/helpers_test.rb", "test/mapped_error_test.rb", "test/middleware_test.rb", "test/options_test.rb", "test/render_backtrace_test.rb", "test/request_test.rb", "test/response_test.rb", "test/result_test.rb", "test/route_added_hook_test.rb", "test/routing_test.rb", "test/sass_test.rb", "test/server_test.rb", "test/sinatra_test.rb", "test/static_test.rb", "test/templates_test.rb", "test/test_test.rb"] + + if s.respond_to? :specification_version then + current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION + s.specification_version = 2 + + if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then + s.add_runtime_dependency(%q, [">= 0.9.1"]) + s.add_development_dependency(%q, [">= 0.2", "< 1.0"]) + s.add_development_dependency(%q, [">= 0.3.0"]) + else + s.add_dependency(%q, [">= 0.9.1"]) + s.add_dependency(%q, [">= 0.2", "< 1.0"]) + s.add_dependency(%q, [">= 0.3.0"]) + end + else + s.add_dependency(%q, [">= 0.9.1"]) + s.add_dependency(%q, [">= 0.2", "< 1.0"]) + s.add_dependency(%q, [">= 0.3.0"]) + end +end diff --git a/vendor/gems/specifications/sinatra-content-for-0.2.gemspec b/vendor/gems/specifications/sinatra-content-for-0.2.gemspec new file mode 100755 index 00000000..342d29e8 --- /dev/null +++ b/vendor/gems/specifications/sinatra-content-for-0.2.gemspec @@ -0,0 +1,40 @@ +# -*- encoding: utf-8 -*- + +Gem::Specification.new do |s| + s.name = %q{sinatra-content-for} + s.version = "0.2" + + s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version= + s.authors = ["Nicol\303\241s Sanguinetti"] + s.date = %q{2009-05-08} + s.description = %q{Small Sinatra extension to add a content_for helper similar to Rails'} + s.email = %q{contacto@nicolassanguinetti.info} + s.files = [".gitignore", "LICENSE", "README.rdoc", "sinatra-content-for.gemspec", "lib/sinatra/content_for.rb", "test/content_for_test.rb"] + s.homepage = %q{http://sinatrarb.com} + s.require_paths = ["lib"] + s.rubyforge_project = %q{sinatra-ditties} + s.rubygems_version = %q{1.3.5} + s.summary = %q{Small Sinatra extension to add a content_for helper similar to Rails'} + + if s.respond_to? :specification_version then + current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION + s.specification_version = 3 + + if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then + s.add_runtime_dependency(%q, [">= 0"]) + s.add_development_dependency(%q, [">= 0"]) + s.add_development_dependency(%q, [">= 0"]) + s.add_development_dependency(%q, [">= 0"]) + else + s.add_dependency(%q, [">= 0"]) + s.add_dependency(%q, [">= 0"]) + s.add_dependency(%q, [">= 0"]) + s.add_dependency(%q, [">= 0"]) + end + else + s.add_dependency(%q, [">= 0"]) + s.add_dependency(%q, [">= 0"]) + s.add_dependency(%q, [">= 0"]) + s.add_dependency(%q, [">= 0"]) + end +end diff --git a/vendor/gems/specifications/sprockets-1.0.2.gemspec b/vendor/gems/specifications/sprockets-1.0.2.gemspec new file mode 100755 index 00000000..ab0c5425 --- /dev/null +++ b/vendor/gems/specifications/sprockets-1.0.2.gemspec @@ -0,0 +1,31 @@ +# -*- encoding: utf-8 -*- + +Gem::Specification.new do |s| + s.name = %q{sprockets} + s.version = "1.0.2" + + s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version= + s.authors = ["Sam Stephenson"] + s.date = %q{2009-02-23} + s.default_executable = %q{sprocketize} + s.description = %q{Sprockets is a Ruby library that preprocesses and concatenates JavaScript source files.} + s.email = %q{sstephenson@gmail.com} + s.executables = ["sprocketize"] + s.files = ["Rakefile", "bin/sprocketize", "lib/sprockets", "lib/sprockets/concatenation.rb", "lib/sprockets/environment.rb", "lib/sprockets/error.rb", "lib/sprockets/pathname.rb", "lib/sprockets/preprocessor.rb", "lib/sprockets/secretary.rb", "lib/sprockets/source_file.rb", "lib/sprockets/source_line.rb", "lib/sprockets/version.rb", "lib/sprockets.rb", "test/fixtures", "test/fixtures/assets", "test/fixtures/assets/images", "test/fixtures/assets/images/script_with_assets", "test/fixtures/assets/images/script_with_assets/one.png", "test/fixtures/assets/images/script_with_assets/two.png", "test/fixtures/assets/stylesheets", "test/fixtures/assets/stylesheets/script_with_assets.css", "test/fixtures/constants.yml", "test/fixtures/double_slash_comments_that_are_not_requires_should_be_ignored_when_strip_comments_is_false.js", "test/fixtures/double_slash_comments_that_are_not_requires_should_be_removed_by_default.js", "test/fixtures/multiline_comments_should_be_removed_by_default.js", "test/fixtures/requiring_a_file_after_it_has_already_been_required_should_do_nothing.js", "test/fixtures/requiring_a_file_that_does_not_exist_should_raise_an_error.js", "test/fixtures/requiring_a_single_file_should_replace_the_require_comment_with_the_file_contents.js", "test/fixtures/requiring_the_current_file_should_do_nothing.js", "test/fixtures/src", "test/fixtures/src/constants.yml", "test/fixtures/src/foo", "test/fixtures/src/foo/bar.js", "test/fixtures/src/foo/foo.js", "test/fixtures/src/foo.js", "test/fixtures/src/script_with_assets.js", "test/test_concatenation.rb", "test/test_environment.rb", "test/test_helper.rb", "test/test_pathname.rb", "test/test_preprocessor.rb", "test/test_secretary.rb", "test/test_source_file.rb", "test/test_source_line.rb", "ext/nph-sprockets.cgi"] + s.homepage = %q{http://getsprockets.org/} + s.require_paths = ["lib"] + s.rubyforge_project = %q{sprockets} + s.rubygems_version = %q{1.3.5} + s.summary = %q{JavaScript dependency management and concatenation} + s.test_files = ["test/test_concatenation.rb", "test/test_environment.rb", "test/test_helper.rb", "test/test_pathname.rb", "test/test_preprocessor.rb", "test/test_secretary.rb", "test/test_source_file.rb", "test/test_source_line.rb"] + + if s.respond_to? :specification_version then + current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION + s.specification_version = 2 + + if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then + else + end + else + end +end diff --git a/vendor/gems/specifications/templater-1.0.0.gemspec b/vendor/gems/specifications/templater-1.0.0.gemspec new file mode 100755 index 00000000..8c2bad94 --- /dev/null +++ b/vendor/gems/specifications/templater-1.0.0.gemspec @@ -0,0 +1,54 @@ +# -*- encoding: utf-8 -*- + +Gem::Specification.new do |s| + s.name = %q{templater} + s.version = "1.0.0" + + s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version= + s.authors = ["Jonas Nicklas"] + s.date = %q{2009-08-27} + s.description = %q{Templater has the ability to both copy files from A to B and also to render templates using ERB. Templater consists of four parts: + +- Actions (File copying routines, templates generation and directories creation routines). +- Generators (set of rules). +- Manifolds (generator suites). +- The command line interface. + +Hierarchy is pretty simple: manifold has one or many public and private generators. Public ones are supposed to be called +by end user. Generators have one or more action that specify what they do, where they take files, how they name resulting +files and so forth.} + s.email = ["jonas.nicklas@gmail.com"] + s.extra_rdoc_files = ["History.txt", "Manifest.txt"] + s.files = ["History.txt", "Manifest.txt", "README.rdoc", "Rakefile", "lib/templater.rb", "lib/templater/actions/action.rb", "lib/templater/actions/directory.rb", "lib/templater/actions/empty_directory.rb", "lib/templater/actions/file.rb", "lib/templater/actions/template.rb", "lib/templater/capture_helpers.rb", "lib/templater/cli/generator.rb", "lib/templater/cli/manifold.rb", "lib/templater/cli/parser.rb", "lib/templater/core_ext/kernel.rb", "lib/templater/core_ext/string.rb", "lib/templater/description.rb", "lib/templater/discovery.rb", "lib/templater/generator.rb", "lib/templater/manifold.rb", "lib/templater/spec/helpers.rb", "script/console", "script/destroy", "script/generate", "spec/actions/directory_spec.rb", "spec/actions/empty_directory_spec.rb", "spec/actions/file_spec.rb", "spec/actions/template_spec.rb", "spec/core_ext/string_spec.rb", "spec/generator/actions_spec.rb", "spec/generator/arguments_spec.rb", "spec/generator/desc_spec.rb", "spec/generator/destination_root_spec.rb", "spec/generator/empty_directories_spec.rb", "spec/generator/files_spec.rb", "spec/generator/generators_spec.rb", "spec/generator/glob_spec.rb", "spec/generator/invocations_spec.rb", "spec/generator/invoke_spec.rb", "spec/generator/options_spec.rb", "spec/generator/render_spec.rb", "spec/generator/source_root_spec.rb", "spec/generator/templates_spec.rb", "spec/manifold_spec.rb", "spec/options_parser_spec.rb", "spec/results/erb.rbs", "spec/results/file.rbs", "spec/results/random.rbs", "spec/results/simple_erb.rbs", "spec/spec_helper.rb", "spec/spec_helpers_spec.rb", "spec/templater_spec.rb", "spec/templates/erb.rbt", "spec/templates/glob/README", "spec/templates/glob/arg.js", "spec/templates/glob/hellothar.%feh%", "spec/templates/glob/hellothar.html.%feh%", "spec/templates/glob/subfolder/jessica_alba.jpg", "spec/templates/glob/subfolder/monkey.rb", "spec/templates/glob/test.rb", "spec/templates/literals_erb.rbt", "spec/templates/simple.rbt", "spec/templates/simple_erb.rbt", "templater.gemspec"] + s.homepage = %q{http://github.com/jnicklas/templater} + s.rdoc_options = ["--main", "README.rdoc"] + s.require_paths = ["lib"] + s.rubyforge_project = %q{templater} + s.rubygems_version = %q{1.3.5} + s.summary = %q{Templater has the ability to both copy files from A to B and also to render templates using ERB} + + if s.respond_to? :specification_version then + current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION + s.specification_version = 3 + + if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then + s.add_runtime_dependency(%q, [">= 1.4.0"]) + s.add_runtime_dependency(%q, [">= 1.1.2"]) + s.add_runtime_dependency(%q, [">= 0.9.5"]) + s.add_development_dependency(%q, [">= 1.2.8"]) + s.add_development_dependency(%q, [">= 2.3.3"]) + else + s.add_dependency(%q, [">= 1.4.0"]) + s.add_dependency(%q, [">= 1.1.2"]) + s.add_dependency(%q, [">= 0.9.5"]) + s.add_dependency(%q, [">= 1.2.8"]) + s.add_dependency(%q, [">= 2.3.3"]) + end + else + s.add_dependency(%q, [">= 1.4.0"]) + s.add_dependency(%q, [">= 1.1.2"]) + s.add_dependency(%q, [">= 0.9.5"]) + s.add_dependency(%q, [">= 1.2.8"]) + s.add_dependency(%q, [">= 2.3.3"]) + end +end diff --git a/vendor/gems/specifications/term-ansicolor-1.0.4.gemspec b/vendor/gems/specifications/term-ansicolor-1.0.4.gemspec new file mode 100755 index 00000000..765669fe --- /dev/null +++ b/vendor/gems/specifications/term-ansicolor-1.0.4.gemspec @@ -0,0 +1,30 @@ +# -*- encoding: utf-8 -*- + +Gem::Specification.new do |s| + s.name = %q{term-ansicolor} + s.version = "1.0.4" + + s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version= + s.authors = ["Florian Frank"] + s.date = %q{2009-07-22} + s.description = %q{} + s.email = %q{flori@ping.de} + s.extra_rdoc_files = ["doc-main.txt"] + s.files = ["CHANGES", "COPYING", "README", "Rakefile", "VERSION", "examples/cdiff.rb", "examples/example.rb", "install.rb", "lib/term/ansicolor.rb", "lib/term/ansicolor/version.rb", "term-ansicolor.gemspec", "doc-main.txt"] + s.homepage = %q{http://term-ansicolor.rubyforge.org} + s.rdoc_options = ["--main", "doc-main.txt"] + s.require_paths = ["lib"] + s.rubyforge_project = %q{term-ansicolor} + s.rubygems_version = %q{1.3.5} + s.summary = %q{Ruby library that colors strings using ANSI escape sequences} + + if s.respond_to? :specification_version then + current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION + s.specification_version = 3 + + if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then + else + end + else + end +end diff --git a/vendor/gems/specifications/thin-1.2.5.gemspec b/vendor/gems/specifications/thin-1.2.5.gemspec new file mode 100755 index 00000000..7fe3fed5 --- /dev/null +++ b/vendor/gems/specifications/thin-1.2.5.gemspec @@ -0,0 +1,41 @@ +# -*- encoding: utf-8 -*- + +Gem::Specification.new do |s| + s.name = %q{thin} + s.version = "1.2.5" + + s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version= + s.authors = ["Marc-Andre Cournoyer"] + s.date = %q{2009-11-03} + s.default_executable = %q{thin} + s.description = %q{A thin and fast web server} + s.email = %q{macournoyer@gmail.com} + s.executables = ["thin"] + s.extensions = ["ext/thin_parser/extconf.rb"] + s.files = ["COPYING", "CHANGELOG", "README", "Rakefile", "benchmark/abc", "benchmark/benchmarker.rb", "benchmark/runner", "bin/thin", "example/adapter.rb", "example/async_app.ru", "example/async_chat.ru", "example/async_tailer.ru", "example/config.ru", "example/monit_sockets", "example/monit_unixsock", "example/myapp.rb", "example/ramaze.ru", "example/thin.god", "example/thin_solaris_smf.erb", "example/thin_solaris_smf.readme.txt", "example/vlad.rake", "lib/rack/adapter/loader.rb", "lib/rack/adapter/rails.rb", "lib/thin/backends/base.rb", "lib/thin/backends/swiftiply_client.rb", "lib/thin/backends/tcp_server.rb", "lib/thin/backends/unix_server.rb", "lib/thin/command.rb", "lib/thin/connection.rb", "lib/thin/controllers/cluster.rb", "lib/thin/controllers/controller.rb", "lib/thin/controllers/service.rb", "lib/thin/controllers/service.sh.erb", "lib/thin/daemonizing.rb", "lib/thin/headers.rb", "lib/thin/logging.rb", "lib/thin/request.rb", "lib/thin/response.rb", "lib/thin/runner.rb", "lib/thin/server.rb", "lib/thin/stats.html.erb", "lib/thin/stats.rb", "lib/thin/statuses.rb", "lib/thin/version.rb", "lib/thin.rb", "lib/thin_parser.bundle", "spec/backends/swiftiply_client_spec.rb", "spec/backends/tcp_server_spec.rb", "spec/backends/unix_server_spec.rb", "spec/command_spec.rb", "spec/configs/cluster.yml", "spec/configs/single.yml", "spec/connection_spec.rb", "spec/controllers/cluster_spec.rb", "spec/controllers/controller_spec.rb", "spec/controllers/service_spec.rb", "spec/daemonizing_spec.rb", "spec/headers_spec.rb", "spec/logging_spec.rb", "spec/perf/request_perf_spec.rb", "spec/perf/response_perf_spec.rb", "spec/perf/server_perf_spec.rb", "spec/rack/loader_spec.rb", "spec/rack/rails_adapter_spec.rb", "spec/rails_app/app/controllers/application.rb", "spec/rails_app/app/controllers/simple_controller.rb", "spec/rails_app/app/helpers/application_helper.rb", "spec/rails_app/app/views/simple/index.html.erb", "spec/rails_app/config/boot.rb", "spec/rails_app/config/environment.rb", "spec/rails_app/config/environments/development.rb", "spec/rails_app/config/environments/production.rb", "spec/rails_app/config/environments/test.rb", "spec/rails_app/config/initializers/inflections.rb", "spec/rails_app/config/initializers/mime_types.rb", "spec/rails_app/config/routes.rb", "spec/rails_app/public/404.html", "spec/rails_app/public/422.html", "spec/rails_app/public/500.html", "spec/rails_app/public/dispatch.cgi", "spec/rails_app/public/dispatch.fcgi", "spec/rails_app/public/dispatch.rb", "spec/rails_app/public/favicon.ico", "spec/rails_app/public/images/rails.png", "spec/rails_app/public/index.html", "spec/rails_app/public/javascripts/application.js", "spec/rails_app/public/javascripts/controls.js", "spec/rails_app/public/javascripts/dragdrop.js", "spec/rails_app/public/javascripts/effects.js", "spec/rails_app/public/javascripts/prototype.js", "spec/rails_app/public/robots.txt", "spec/rails_app/script/about", "spec/rails_app/script/console", "spec/rails_app/script/destroy", "spec/rails_app/script/generate", "spec/rails_app/script/performance/benchmarker", "spec/rails_app/script/performance/profiler", "spec/rails_app/script/performance/request", "spec/rails_app/script/plugin", "spec/rails_app/script/process/inspector", "spec/rails_app/script/process/reaper", "spec/rails_app/script/process/spawner", "spec/rails_app/script/runner", "spec/rails_app/script/server", "spec/request/mongrel_spec.rb", "spec/request/parser_spec.rb", "spec/request/persistent_spec.rb", "spec/request/processing_spec.rb", "spec/response_spec.rb", "spec/runner_spec.rb", "spec/server/builder_spec.rb", "spec/server/pipelining_spec.rb", "spec/server/robustness_spec.rb", "spec/server/stopping_spec.rb", "spec/server/swiftiply.yml", "spec/server/swiftiply_spec.rb", "spec/server/tcp_spec.rb", "spec/server/threaded_spec.rb", "spec/server/unix_socket_spec.rb", "spec/server_spec.rb", "spec/spec_helper.rb", "tasks/announce.rake", "tasks/deploy.rake", "tasks/email.erb", "tasks/gem.rake", "tasks/rdoc.rake", "tasks/site.rake", "tasks/spec.rake", "tasks/stats.rake", "ext/thin_parser/ext_help.h", "ext/thin_parser/parser.h", "ext/thin_parser/parser.c", "ext/thin_parser/thin.c", "ext/thin_parser/extconf.rb", "ext/thin_parser/common.rl", "ext/thin_parser/parser.rl"] + s.homepage = %q{http://code.macournoyer.com/thin/} + s.require_paths = ["lib"] + s.required_ruby_version = Gem::Requirement.new(">= 1.8.5") + s.rubyforge_project = %q{thin} + s.rubygems_version = %q{1.3.5} + s.summary = %q{A thin and fast web server} + + if s.respond_to? :specification_version then + current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION + s.specification_version = 3 + + if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then + s.add_runtime_dependency(%q, [">= 1.0.0"]) + s.add_runtime_dependency(%q, [">= 0.12.6"]) + s.add_runtime_dependency(%q, [">= 1.0.9"]) + else + s.add_dependency(%q, [">= 1.0.0"]) + s.add_dependency(%q, [">= 0.12.6"]) + s.add_dependency(%q, [">= 1.0.9"]) + end + else + s.add_dependency(%q, [">= 1.0.0"]) + s.add_dependency(%q, [">= 0.12.6"]) + s.add_dependency(%q, [">= 1.0.9"]) + end +end diff --git a/vendor/gems/specifications/treetop-1.4.2.gemspec b/vendor/gems/specifications/treetop-1.4.2.gemspec new file mode 100755 index 00000000..c333514b --- /dev/null +++ b/vendor/gems/specifications/treetop-1.4.2.gemspec @@ -0,0 +1,32 @@ +# -*- encoding: utf-8 -*- + +Gem::Specification.new do |s| + s.name = %q{treetop} + s.version = "1.4.2" + + s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version= + s.authors = ["Nathan Sobo"] + s.autorequire = %q{treetop} + s.date = %q{2009-09-10} + s.default_executable = %q{tt} + s.email = %q{nathansobo@gmail.com} + s.executables = ["tt"] + s.files = ["LICENSE", "README.md", "Rakefile", "lib/treetop/bootstrap_gen_1_metagrammar.rb", "lib/treetop/compiler/grammar_compiler.rb", "lib/treetop/compiler/lexical_address_space.rb", "lib/treetop/compiler/metagrammar.rb", "lib/treetop/compiler/metagrammar.treetop", "lib/treetop/compiler/node_classes/anything_symbol.rb", "lib/treetop/compiler/node_classes/atomic_expression.rb", "lib/treetop/compiler/node_classes/character_class.rb", "lib/treetop/compiler/node_classes/choice.rb", "lib/treetop/compiler/node_classes/declaration_sequence.rb", "lib/treetop/compiler/node_classes/grammar.rb", "lib/treetop/compiler/node_classes/inline_module.rb", "lib/treetop/compiler/node_classes/nonterminal.rb", "lib/treetop/compiler/node_classes/optional.rb", "lib/treetop/compiler/node_classes/parenthesized_expression.rb", "lib/treetop/compiler/node_classes/parsing_expression.rb", "lib/treetop/compiler/node_classes/parsing_rule.rb", "lib/treetop/compiler/node_classes/predicate.rb", "lib/treetop/compiler/node_classes/predicate_block.rb", "lib/treetop/compiler/node_classes/repetition.rb", "lib/treetop/compiler/node_classes/sequence.rb", "lib/treetop/compiler/node_classes/terminal.rb", "lib/treetop/compiler/node_classes/transient_prefix.rb", "lib/treetop/compiler/node_classes/treetop_file.rb", "lib/treetop/compiler/node_classes.rb", "lib/treetop/compiler/ruby_builder.rb", "lib/treetop/compiler.rb", "lib/treetop/ruby_extensions/string.rb", "lib/treetop/ruby_extensions.rb", "lib/treetop/runtime/compiled_parser.rb", "lib/treetop/runtime/interval_skip_list/head_node.rb", "lib/treetop/runtime/interval_skip_list/interval_skip_list.rb", "lib/treetop/runtime/interval_skip_list/node.rb", "lib/treetop/runtime/interval_skip_list.rb", "lib/treetop/runtime/syntax_node.rb", "lib/treetop/runtime/terminal_parse_failure.rb", "lib/treetop/runtime/terminal_parse_failure_debug.rb", "lib/treetop/runtime/terminal_syntax_node.rb", "lib/treetop/runtime.rb", "lib/treetop/version.rb", "lib/treetop.rb", "bin/tt", "doc/contributing_and_planned_features.markdown", "doc/grammar_composition.markdown", "doc/index.markdown", "doc/pitfalls_and_advanced_techniques.markdown", "doc/semantic_interpretation.markdown", "doc/site.rb", "doc/sitegen.rb", "doc/syntactic_recognition.markdown", "doc/using_in_ruby.markdown", "examples/lambda_calculus/arithmetic.rb", "examples/lambda_calculus/arithmetic.treetop", "examples/lambda_calculus/arithmetic_node_classes.rb", "examples/lambda_calculus/arithmetic_test.rb", "examples/lambda_calculus/lambda_calculus", "examples/lambda_calculus/lambda_calculus.rb", "examples/lambda_calculus/lambda_calculus.treetop", "examples/lambda_calculus/lambda_calculus_node_classes.rb", "examples/lambda_calculus/lambda_calculus_test.rb", "examples/lambda_calculus/test_helper.rb"] + s.homepage = %q{http://functionalform.blogspot.com} + s.require_paths = ["lib"] + s.rubygems_version = %q{1.3.5} + s.summary = %q{A Ruby-based text parsing and interpretation DSL} + + if s.respond_to? :specification_version then + current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION + s.specification_version = 3 + + if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then + s.add_runtime_dependency(%q, [">= 0.2.5"]) + else + s.add_dependency(%q, [">= 0.2.5"]) + end + else + s.add_dependency(%q, [">= 0.2.5"]) + end +end diff --git a/vendor/gems/specifications/yui-compressor-0.9.1.gemspec b/vendor/gems/specifications/yui-compressor-0.9.1.gemspec new file mode 100755 index 00000000..8b84ba0d --- /dev/null +++ b/vendor/gems/specifications/yui-compressor-0.9.1.gemspec @@ -0,0 +1,29 @@ +# -*- encoding: utf-8 -*- + +Gem::Specification.new do |s| + s.name = %q{yui-compressor} + s.version = "0.9.1" + + s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version= + s.authors = ["Sam Stephenson"] + s.date = %q{2009-07-19} + s.description = %q{A Ruby interface to YUI Compressor for minifying JavaScript and CSS assets.} + s.email = %q{sstephenson@gmail.com} + s.files = ["Rakefile", "lib/yui/compressor.rb", "test/compressor_test.rb", "vendor/yuicompressor-2.4.2.jar"] + s.homepage = %q{http://github.com/sstephenson/ruby-yui-compressor/} + s.require_paths = ["lib"] + s.rubyforge_project = %q{yui} + s.rubygems_version = %q{1.3.5} + s.summary = %q{JavaScript and CSS minification library} + s.test_files = ["test/compressor_test.rb"] + + if s.respond_to? :specification_version then + current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION + s.specification_version = 3 + + if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then + else + end + else + end +end

    N(#vtJTK^1U2(Ow4R8WLDH4GNi2Gr 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%0Dfy&Yzx9 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 ZF(k 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�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

    cSmfX(Jx7t^7kY_RepyQ_bgnGbx15#EKZ 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

    F9 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%0Dvv&b#FoVEQD+K9r_$ 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

    >%CrieoxQ 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⪚-I9Ecw$@Iv8!p!-~T9fB9|foFy-WEk?pL2t7}TkF^vE&@t(o3cwvOT z!8uBDBGOrn9c&BKk%uK*tIAd~F8F~-wDm;14&3n3JIwRQOE|<(UdufpRA&Ua#P}Jd zLj%>-$T=Y8s0S4`Vew=T8~=sBvdyX!qUMI8cML~kavC*;_mZni6*>vGYw zIY@{;WDz?=KjaCn{03HUX!P{o@k*xVdQU?enwrG*zrepku+_6T>yf!1=ZA@T$?v0U zEdoy8{k>G1+Bvs?{}?5w^*AURM+cjK-R3PL^$XYW@ZjqGeH-B-g1+$_*ftM=)oZJf zJzJ*N9#7gFbg{$2<~Ysg4vtN?LPpLJYmDHN>QXlZ@v4)(+3!zVwtyQQm`-D| zL9P?Aamv2MoQLgC@)yL!05j-f%>p9n*+|~U{KOadWo6>&Al_5`lt4w@^!PNr#x zPK7G-N-lD#Q^=x*pJZH}!8(#P!?Y>>vyr9+6M2uV!B{j`bPdk{BVN6mqEdNdM zbmk7~I6}q40o5uK@~S6%%F3&R7QSAuu4P5MK(kfE`W$y16!O#swBaF8&^hK>@vArs z23w0HW>ms+vwLHCgEGFX%6{Fiuh%?T%ky~c!7F6yJi^3DADd?5{DMro%*a&m>#5$n zanN6ChaoYX_(x7S@!1$#Z_O@lmp9wa%0aL@0W&QPtGqJySh^av1eaUK_E@vB)F*(4G}bpqZ7(sj@?`ry^}uQLTRpqXY=a#HQ^q71a|$%bP%Sn?z|_UE7-r^ z_?282NPqmqJCv}R-+?UR0$(c%ZR$6|i>IAwZj&c~d%1GCk#wF@rWvBof0ajA=B>wj z!ibZes9}`Bd_Bs!AYs4n$mz|m`nnD-nCBLaEia*3K(Ys9vz7BF%t3fs?thNB`$}mk zCFXuh`UMTsYhsPt#gM9sUKo={FzW-KPn0NHck=9k9~g=|F1xct@A zsi1qPoLrvWL-7H-D76D{gQ8z5Tiz&dG%A(vlq=sTTV5TVinT4)*2t^9d+52KDFOUc z6QNYp-j-*VmrFWEYHL(h1p>W#2W}U00ZRNnB#L&2D!#Uc!VL7*rOMPiO4UK3?m^`n zU+11K@#VI+PINv9Uq>GvluaeJ%IpTv6-w-tPbD40wYDm)>F2Ker{!?IE@2&uwOmU& zzE3bNt>xEum0rvAU)m!dFu5;p00QFDF5e?#vO-^%-i>f$r7}y~ND4`uOs!1f0T*_l z-C3Nk^Iy$7g3ErcH);qKVQ~?V6=UbBp#9=H7TT3n%BPZr?;1VIquy&5gAL<(e4(+- z>I{~0G&X<9B`<~tLTIg3IY)OW`L_}XmQMwIi8F4DdoV|oecc4hvFG=H&XC#1r=ly{CfVEGMIGY zH%LbUI;ahXL z?n@;*OHL2t3>VthIs3Vc#ZH0<#(4##=flJCCv&Coyq((J?0%*ft?Or&kluUzTtTa{ zXQfB9UU&6QzrYrEq)pwBBm1JS*K$p=|N8u3M4KXx1%32}lLytwfyDEjmcmLne%`g` zM0`gsi8q|(?G9mCxhLUL=ee8jdlcWx11!rU7)Md>Tq;Oo`*r17d_&M)lPjR+kEDyw zjoM9lru0*fo==`Hef+hM#kYP1|NC-o+k7ow!imun)MD@tWk^`v8xMc2Na1(Y^`%Qi zX$AG?xl(=p?2+=Tb_PA_D{dCC+e>9{S?%Y!6_Wj|x8o3Id*<}xUzpv#A5RKb-|M|j z@iPAS!=aDN`CCi{GaE!f*&v9Qm?K%b8sdQ%>27m-(ZRuB86`> z*f`GOQ?Y|`LT?8k{9`rz18a(PhKt||Ii&JG=+rmQl{(;13*2AeI1_f5p_6uPa0tex zX}*J2MZeZ=_fgpvKGP6;PCdMknm1>u&xVc!|@Y z8uYgHpqi~i9meN2+cEj5m+^9)x{Gc$Xe&Beved-X;OOOvy^>ek=*^ZO`o+jv&HW;& z&U&vnAq^y?M#aEih^#o3hg7Pa(5xrlhRRI+4+D;zSv!_GGwM&r^FNWbaOFZ1M*(Xm zwmalBjo63G2X`Z(=)ck{6E}%MI)x_KHQNMdO$uomxD+Rw9{u{2BtP!eSLLPoB{Y^_ zf?Q&@qC%126YZcI^r5#Q#G0S7_ih6qt@V3&s!unHUy@IN*!+PPT&R|^hl-m<$=;de zS>QWLOL{`__jG5^X#L!nW%&fJ*gJKsF=ut0Rg!voUDxX{D8*ANzU( znz`}qt@!G~-Ta-VMU?yGi`#r+a+oNW4j(cGkG9x8x5K*~N{&nO%p2xfE zSOR~WsCd4--U+9YznT)b);se426PvD~K-3j8LMbYWlExL(VUiKtcd35)XRjM8DF$O3|;kLY%Q^*`!dtz-ThZyZYybhb5G4jv#zY zZ161hk;3pD(k_Be^uz33`Gvo5_UQrUU6KFCkiWN}R^r>IFjw;W`|fe#iTn0bXV&95 zVcmm9@Fw?>cf)Vr279IMQm5%JkH`p#F<;)@r$1XFY*Scbq^Sb7%3Q4bgVx-m-G<1$ z#a`|^NPvDutP1q30DMWof$aTr9t;qYLUFV${+yacQu_)M4w>f^tuQ0bWkWoB5NZIn zT2~?yo06tXU+dq6R&-wJZ@lL}q4<=(!JoWZ@DvCe!)uOEEn1SC&MeU-Cdz+CNo{y% z);+UQa;>jSW4oWUtI*4)4yKbdKu*A26jv5 z2HXqEFlp1Wld_Y)K*21d`u5JT)%3+(qPgRgbPl18R9Dji@|Rh6`s&UzXypjQS72eq zF5sg6WTIpKUBMU=%EZSESs}oTW+RDfMCpp@tN6+}ijdsYOsS@wuTO#^+2U^w~Mc7eo|Ck85l z2&{n8v>~m)6-ig}aOTLBTT=*Q&bxD6EM<wt_xwgGOusB%8hSaz4#G# z4R=6mGa z(bn;@pU*Qj^37r@%`=HN6D4tt>o%UUX|5gfVR|1hFT`abDG}pkh!G-~lSgyb|Dnn5 zcIioRc3xDj!(vk?wA!;5c*fWCA_R_uq>k^u&o3RaBw>Qdo#r2czsy1qlMOR|L>Srm zYQYn`7q6*%3{UVc#B{;C9wncSRpK!pc%uZ9C?vTqGm>f5P%NJ1H6epUN#`D|ponl@ zi`0dMf|}{o`cEQbBu~9fyFmTwO7vhf?Q)NyJ}=7EW*Am!I5veg-+<3Ppu#?B?@Ba*!`nyw}9vw zDLTguuOmb_=Hp&v>XRh2N*Pw80IySM-64%V0j5sm9PKpZhP`7_%43v3GfL(fr=+Z% zaEN^6Hb2!&clNc|Q~yM=b~s9SM}qw~sBrTd4%#vrS~y2Y@n0}X{|H1ZhO(&hp(`wk zG!4-n7U1Z+?3sBcdHrHPs;3!WXUeMn7jUc7x(H+`FfbCbl)+<9iRr+h$l#$~)=QLa z<8KM4;}O|bp$(jzAu~zn?AM->&^fvysaqyCkv7l9;<(S~sC|>D;WRf+mG}COet{Vo zbR2q6;z6oq%?OCag0T7`;2F-#K@eL@?S~qB85UFS&lUU@1n}fH zjisq;bY)j;P^ouCSKt@FNk2%oEC#yXr&t$);Y1Fh3qAC4*;PT~hMW#m_qh?uln6ck zrNK>B79>q4mVrA@x&ux}$U$CFd~qtcpkKRyd_E3BUm%!@k) zVPS(`(Vj%|2E>Qi*q{Y2C+IFeH)$+JPY^MEz}aaW`N77Zye$&hGTT8^)6xkj57V<@$6RkY~$e@<7C}N2T0H zM14@sl3ptCzG#7-YQ-1RY;NDgx;ejMEvD6IV`Cx&9R}1I8K^v^)EAG_{)aEje>EsO z?180uK;-huJF%fh4A|LF|o%*j|?j2<*>c6)-5ZPZ2b8qwayl|uEw>-^>pVRx9`(IFRd13DFTsIkB z(X(f-`O4gpR3`+QZ3ha2CBZ9p7G%ZzpRQ0XO0jV7|B&LCW76t#FSnB52;1Q-yD5Ue z|DKh-=M$$9A&rhhO0g*nhdddI>kNtjQ|lRVG3JJo3FLG{$tFd#2q3@Ou@$~J5i2uc z7HRfrhQ5~N;yeSyn{ZyHx^uc~{L(86fm>D}5<4Tb^@mkkP}mZuc@>U$kZ6j?Jae|q zf8dZ*v!~G+q_DzT9Yhbh&ESkH4T}+U&X^1n0Cp&akl?^pKQ-6SE(~yK0q^RgS#X^P zuq^0$fthpTVn6>G5aTHSvo!-ZDj3%~cWXOuYFDBjO;#s^x{E0uPUsnC&;uIdM^*4T zo8TB<5AR`wcR#{)6zxL%9lt$tl>@U73Vat$rgd~_QTitaCJB^Pv-d~4rk*e zZk&idY=PtGP@XI76L(@yo;-$HEj#oSrHU_#FsXi}nI;WMeOaV57#s|OSG@8jFS=iV zd)$uj3+|2ktYwdoHsQ8S)XFoCb`sjuWxhQBQvVqp&Qu!u2=ulg=b-;Gt8Zv-Z*T7k z)x30TZ_fs349XPD$vBn>FNs2^)MWvX=;-9wc~;6qmCYMt`<= zND|aT*RjU*RyFMmb*oE_gg}B7FbT@Un`SFi0z(Qcglw$I0QVm ze0eLn&UFe=LrWF#NyQ+a*R~vCL5Gh82GDhor=@_V|6}7*XqU8*ZHbkYV*~rVOH3w- zx=Mi$EYy%G_DC#A^+rTr3!H&1w_+~^(rs>m#3zg3DKks7+uVLvV#S+==D_Sc)F%(? zEzHsoy<(JJ0h@2S??mlf`zK9DnqDEz+v?Ix?IO5u(Dgn$fXFuz|F9K6QE!jsCRT$xFLYjkr+*w^Os-$>;e@nb@OO zCjZfaQw*I@wxGtb`2)7B&x$|G#HyTJX<&&iDl0#@EXk_KTFK)Qk6m1&Xhh0I$PiOp zia0_|)KBz?8I$S3LFjm(ncT(jPQ_i&yAQ^316pg`OM@_ge4FoKXqDfz1^Z^BJ`wc2P#}t zF%oo1WSjS|=(YnaFLzA7*(l><6~~FsYqXnt5iORg^@&t;TR23<)gFRR*GQUp`>+Q&Q zWp>XJ3=#bVUW79FCKQjIyXd4Fyo%u`vxmOL=4b#WYqFQCi^>ugWJ=qz7aRK(wnK&7 z7EN8NFI}Zz8)SswHL0qlKXTldp{_=2q8D5MaNZ9IIZ;-mqeMa7;s^nKsN+gShED#p zOi0rR^O6kdXzRsmMB~x!~*| z@=IJ6gVQ{XePe}I*VJ$_E`lBfjzx(j4s2AJQzc<2ToimTVq@RZ*(j z61Vwxd`}mL@)`fDEQ!G-4Hm)dY~@ol4i@zPjWrfiqEXn3sZ0+trrPUGv6b6^f-pcz zcG5H9_J%-7*W=~&e2uT}!j)0p$8)@#@U^J{b*mi#uOo=NR4xoQC~|8D2f%gaP@C7o zIWBIqo!nMdVA&?4f`+!j_CjjegsR+906jghV)I?mg{-Wjf}r9^P^8RKMq>FYqoVR3 zr5mYbR;qF?PF9uHm*NUMWu09F6)BqvL)=}s)o@+6QS_S304pE_|FWaY!EdeV z6V?=nPS`X$S+t&JcM7=k0{A5qH;I6FqOSwlcM(NL9OtXNsJza^Yj_WCQvAZzzutsN zZ2dWH>`A6_Ta^^vWY0tNLVR8asoBm1eWlP1Thq>d(NYz=GEMUpkOX}ZxL9nGfqYoY zPg5W@`q;=_5ZvbEC!;T|sw+Shpk8is3<20xL=5CmtGojs;_l`a5FSDRyw0BFRx$Eo z2p{e-oW}sB@xHDE$88dgOto6%yqP>R2oor(OylZaqg6KnCDEy(_^d}SAuNeDrj}5q zL_||t5#NmCmCPj>OEMW6Pe!RmHSKx+(>q?Bl5J+3sMns zc2YhY(YedK{S&6_^r%JEhG2*#O>(&ni-JvQoM%KyrI~rCpkcY|Lj1W#h3f1g@)NP_ zLMmmIZVA^DG;8^4nM${;%{d>DJs7MJqt@3BI|~4Pg3&zn#BR>a~0W`1M3&qvBUo zx-9k>_@1V#kUN)o&g`k@BkQNEH#d5Y^Dg<7+@s)EXt(V481#IJebwgzV!v&DWVzaz+K^8lBzL^Hr@#9r zqx3ywxz1t&0@F zZnYvp^D6iVTg3@(vM`LPQFwI-9HnFOa>Vze*)#Ob)X}r9tU(f(D>jKaA+8HLfJLE**`Jl3NpvRdb!Q?&6!LL-LY>3(e{Kk!eCh8BSYU zkxj?kS`pbib&*FTk!w-XX9fd(l=$2gmYW`IXRZP@aYu3-@(2W%^wqRSeZjS7j%ST` z0Hrz>TN3WT!ivp`%A6wbKFWn5 zz}e(q`{&!l93JItoX+evS(A;9O9w-<+r$a&XRAHYu-g$D!L=HY~Gu7iS*PZxVAp2P*mvc;I;QO z&g$ri#fkYUjy{>Y_zX~FR(*Ki9`{Z8?Cr55V{F=4)}>y<&u|}zo5W2iV@s|ZoD#Dw zO+S90T76tA{e0v}M?1?+zv|?|9lawRyRz1b6rjcp*wWU2RiVi4{j0l~;l>LG^|>(t z^?1b!KNbBxu-g4s7ook*=-Jd$X!qw^6gfg*MeB~-Q;BWzqM-HYFuQT1kufRdF{1^| zkns%I6K+aZX7=pV>aoLDGq5}DIY7VA7?UE=Vu*4xe360VSAWYqhY?ydyKDe`Z3##e zt8=&mwG6v#p~eUn%PL1AI;PoR>}&u*F3gXPlo|HvBG|~XbGZYYj)k_A8V<&S=b>W9 zc3adnGo6^_9kb^^TSCsSsRw@#FoxRvAGY_KeEJCO$Z$VM!_VeA0u%*LV!hFeycz@L zsVi^ZsXw+Ec5}L&K}##d%>H`b?v+?KM%s#&#!s9P2?B~N} z-)&UCuaZLJV|4Vucd9e?m?A`_f#fN^YO>Fr-QJp#=9oApv9o+(WB>@|urajQfC{J3 z<(hxAF`_ZoC2nkv@N+eO<;OdKEP0Y-eUVQv*@o^`mHI?!bENtI&v7Ug2U5Iyq!NyR}BY(@}hMp%R!DU|&)Rv`5X z52>KQ*nFRjSkLh)qZysRs#gi)bvFRtGg;$BvB8gihrWLlMD{|(6ICq{5|--sOGS}> z*!gywtpp>_n93dj=dR5wM?qIPL9Kxd;od{9hUJlni;jM@xeIr&bxt02iH5+fu#Qb$ zaxjDsvg6d{(o;gv@^5_WU*BD!@NZ;Oo*?)3AfAy%RE8X(H4prqJ7D2gVxB{?4C5|o zr6@Ivj60grl^lP0XN29#$-u8i3ldkSwBg|EFU80~kw*LLtx9?a(_0_Ikna2Nk9=7g z)0rV9;7kOf?>)&RhDgt{rRDfL@b>6k(qvjb-#;+B(eGaZHV=U}L^!)Vec=%ck^UD# zZ-i|)1G|C8ZrNwh@;LdA_$!dSY?fe4vG%3a(bONStO3Mt6YA~hQP@TJkOtS)D|Q%v z5+qkxvXA4g0`}PM1XSzCbv*em!bBqomamLHvr6KqlwueE{Vxe1-`1sWU?8Ao(EsCE zd`YE$y@mO&2|wjYMHB&4-fUPXtWY&jG)8R3Jz`p-)bi(SduD8EY&`DJ5M~DmYX-$0MKgz z^AJJzg@oVN9xJBRwBA%aJp*wScpnClVKqXOl{Gh^7qBoV!}|B!u$mey9E0}DPj9Mb zy)!{-uG@v#&MF)&twssba4fVZU+(hP=IUUl~(HLuN90w)TD~+Xl=q znIBFK0Ic&+xHW$$0l|6_A=sG1ARt1RvIqGAV(LtFQQF8f;Hvee`gpN$JpD=_vvEe@ z&BXysY?w9Hik`ozb5!P-tk5NG(o4O1(j;M(sL#d{!iH8iNN7vRf{z52*rVehNK?vf z7dU=H4f@ltZ~1fQL&g*$DzZv6Sc?coXQ2flpV19Q?Cyze7S)-m-jf;+9Qra_ivTrA zkIU*jAB<8R@W?<2DxifuvRO-nAb;A7J{Ljrqjl-np)hw?7z4tXA)g8sBrP+<^7tIE z3!6sm|8|KCoxz-i5a@@j--P=Vs=yiq7xTH&{ z8+Qu#41%=Z8o~dfV5tvASG^@CZWa&uUEqp`Wga0In{#iwM~;MB@IaeALb)^aTN+72 zRJ|SljWa{V=CEmfpS;I{1Ihy`*Kh5&mnf~ngdV>KPodgBrp(2Sbg<`8$5o``NgB9Udwl&K& zs5NQ)MX*jUY1Pjk>9p^ej_q|_y&Th-zm$>NoVmhLd5k2~?ql&O@3~Bp%sxT+ld_-3 zmn&U37-zT9W2|mTMZzyFs*~=6sw0z~oN@)Vjg$`kRF#epiq#jFgH6&{f<7a0emTqP zaT@2F&!kdfS1MzZ%>)vv*^TC|EzO&Hy5Rmz1-ui+<7sk~_s)+fw9t}RMIonb-|5b7 zPamh4bjKrtRE%s%)p8ez&Yx?O@iTjO^KN))G7?t_Q8RiDoSBF*p;VU3 z#>K)Vhe2HBK(?0u3be10*BTXk9+uQy!sVQ>jZ?R+wyOS$&q$RmG61Bfkk1_L5h%iw zVNo-K8bbvhB6tnq_;N(bRy#J-N?G@f!GZ$0j*TyN?s;Ub&)G2M`x(Rk-~G&{CO_N- z3k0-{0R+VKf9dCcd07p{TWJ~V$B$)P#?Ee$MV=5+5nqy$tbPv>gf9-yswEX!hcI;LM3qN^!6qTojm`F5N zem>x4{751nAI)hO!--%1RtT*$pLYLKygycj^bTeHt(^8pIy9H&H6)^O2!QBIHCSux zF8SuvSb(hUM)Wh{ltysTYG@;S{R}6nkddgv6PGUDKbnR1$L+Q#z!y&bN`hY z{;f02e=C>&O*YtT@+yb;19vb?C_q*~MZFv!yE&ghknL#; zeUL6g)gaFcFMtgZo4ZiKa2wlWxTg0JSJt#qKmh ztvho94%N7I%=`Diwvi!ijnFGwC}o&Dt(a<%x;ks#?$TjpEmW4Hd9(on#pA+}Idu_* zSaWLaq%P5(mPSn)H7rV-Zk|&i0<9cNt<;=CI`a3k_c*|s>3GdL-NQRuHN`E{b1JaD zK55rr?du(WKlV`_3tsIs&qG(EYBHn6dRZQ|F4~alv`*A)j28KzcIXtYJYuyfZ-*@_ zL1&N0(X>-TPL~}f7*G!r!`kW&b93=bxS6hLlsT8RkIEscVz~a677pf`!6{Y(Ly`5X z7F)N&`lW28QyY2JvQeMQtbuot@je&}CAMajGO5EOh;y8DDz~juV>V-DBjHdzgj$qr z_7OhYC(XC2p}9l78pAI*n*>a|Ul0`aPHtw!~N32CS0bz6Em~<9p zovmmqny;JCY^TT!w@1b&w0p7PK{SPd{RFSHXHx>RGb%7q{jk9q>MDo(>Zp+A*%$Ebj4mHT<`b*Fa5X*huSeVIHga!uwS@VwWFz3yE{2Z=i;Sw9tm63sVvHHw& z1Uikt;AMJ*c13Rw7~SqWbTl~h_$9OzA{=X?(@+wpV}}_PV}eCPK%WAAon4K-c9l=A zD=-V1|7tAg@k@OxL?hW>5QlYx^!nMtImg(yk%O~Ylx%@AL<;SE)!e_$R)l;_M8cQ>ScYU&Vbw7Pc~-Ro!hEA z^>;JoI-p!6NDq0_bay44ZIx-#w0XMzuT8XlXqpoqyZDNJFQARJiNpA6hs7GTOGVUP z#p0&veo(dlH{f%L{qKcsIZK1?FL;7$)fi`4Xyzxt3}UKHDsnC)Uj5+(^UyNDlkH+f z+`=-3=NYznjRpWEECM37sl{-w+J6)_hH>Hiv?6ZUYHfdW=1wu`aQXzC+HU&1e>RxI zKfdXfHrT8^8W^l(nAk)VNns;r>EYI6p2e-Ont>-Wdg8WDV^%Y*4rkR&TYZo0)b{$Y zsV5|ljjO-~g-b1e@NkfZS8gxXh>mLuOS3MY=F<2<_-bfdp`ym7Hh~eLo6ybu<0z3c zw*Qne=y`%Hw~pRu-qBr4e_}d0yLUksE+>Y#p@T`snWZR{DopPQ=6~tprR6uj$jYp$ zl)PEf&@OXNth#w|ILK{CFJD!sTwZ>{QB^Y8!fTqE#_HiWd8O3xwoL>h!u938WYq4MK?%eIf@FalG<9zf@5;~K}!Fs70$?i zGL_95E&G?7TnRNr?J6bu`q2FBGx>|b?VoMhr}_c6HsP8Y4~m#+w`r~*kI!2B(9Tv` z?=&b7?sR-m1~8$|(ce{4PG0A}?Uj4AxgM{_C-W!kvl#(V$3uBxYm7wS&^Wg^~gB&p+DI-f&@P~qx&`|d++;o$~c|d;S7>% z!vT*5;I7Q9BEbFl+9SKH;rou-{hdz>9m)eb36KSr(4#C-AErkJKrS*a9 zRl2a!FGWh0bURbJ@?H&3k0_G-y~2T*A&2^9yw4{BvXKHHssv-BYIB*!2b$1StQ9&Nzrx=EFRkkzKQiSvXl z*2T!&vBJfueT-PQC+xP=NZmeUDE^Qmz8guOITWKVG3>Pm>^q@hx2`=8H$#o?7&(KTcL=&(NUL!XFAKO`x#)W! zO~I#luZU!K2Im7}<~TLQk@k34Yf>J%GzXp?xCEt@4j|olxp^;piOzVoMVSsLSA(Tz zKzuR~cUT<=t#d)IJiHO~^Re~0IV07NxINOdjbed6qjLj2Q^q$t6O7xDi)*Pgb7Q{2 zU91@cA$?k#BVBd|yP0RObhr)Z30ey6+=An*$M3SUdw96Js8fZboFkR56|QsJxBwMz znAwwsCw%QeH%oupBOaaMHx9v{O(swFOfEUf)`u*?P0dB%N-?c#F?w&=&N{6lSl1Q zNUB11K;%0-5&lz1YZ!`&we391=$-+jD}kK`44K@J`UNFrD`*E+mY3}kYm?9I`CWewgSIIqOae4=bdl<@OO+` zgBINw?0cJSU@!YHukcpwxy1y=25 zQ&surm>3hOSdzXkFe02Vg79w%WxeFVtO?d++!g$_EYvHsE`bP2#Spy)nt1%0q4kLpX5oDk%bnUC?Z(>mw|PH!6B(5VFBjKKH4ki zE3GB9h+^vs*ljXEesg2E={6+8;5E&5Zgd|R7vc$YjcF40jO!dY6*@$K1n?xyGs==zN}J_q0FjG?=I~dwj&cc%+Q0KJSv*xrmvSFt?`4N$rJ3 z6`m)wahW8S=3}^#$3`pPvFzoc;RsTXosSFQWott!K-rkSNN<@Crjc+mU=kyEWZs7( z8R@ED5W`mE>`!S3Glx|^+!cBPhnfDsfQ__fTM!kWG{^dC$83`vCy;j$-^{jXu4&p|SNXA-8# zvoK$ED9Qt2nF6Y6t^D4i6RT+9q3ZbXWe7!-FP$^;H=gPf3EPr(_76DP%*s3}Ze;;l zZfyacO_bWaH!0&qA)`QR|JJkO`G}S7Hh;b|v3=xY)u-1C$H;k}v~40Y?(i$(_|=Oo zx+oFNA%NYC&v1FZPE*}1#C4)EWEaWm4b?V6TZEiK*>^=}w>Ni`rY{G+(RYTAY}rY+Ml#w9G4&}bgE`eJ>pfSSD+e=dg02#d9r z`TE}h%_SEuPeL!*Md7~su&}$2M+$lD2T7yA>(6sgo~nd00n*C8v~^tdb1uLa9D7_d zPckpzD;l{;J29c|#XM@Dynx}|HJ8d-whi5O${mLc#@_6eSQ z9WAvVypt_Ysi?N?Ei7R+lb2phm<>ZHfU&*uzL$+CY$doX(S@?epDQ4Aj?FZ(fY1Xo7WzZc(KNGrFEjnMBQB^ z^{VCBjsfk>E3c9#!TWouQnZ$K(P5_Rinc&9G-|rCw9&u_DatZRCfb9BKs>Y;`&>_h zk!)z%tgYO>Xv(8e3D3zykPVB~4L?)xg<>NztIPX|Bz!`%HwubdU&GX|A6pK*0qQTI zqqCNWvAn*Og-_yFs=865s40A-VL!}u{*kkk?*`EBNlGO8#VQf){Q3%?z&SQS(xz!d z2^$(=Nt$B8qGm-dVNn_rK}v$c_sU?b3JBjl?0oF$$~IZAQ$C%+Y4tD8h56P7HsWa{ zi5PKvVMh|mT*lOqFq8=XQPjzLL*NS})jB~Euf%BCz<(oV?y3x3%P%0HOAsI+`TsF7 zh3ssdP28R3O&o13oSZD|Y@PlqgDc9|p)ex)?7(R>=!ir8KF$Q@Bn7J{?1vg6qYku$ zNe=YfJE2uQ+-r`%5((ZN`UMa97lhxRAOy1(Sg?HPmxDOU70h9BH(^cufWCFAYY4c+& z)-yz9AtpXkljupa{u#PrrFQg7OnFaRnmM#e_!PB;{~H70QfDh(E^ z#>||gn6bLXHT3B?0+S6#?W%af%|!=ll2?SHt^d|pWl1K?+#lhahNuNl+-e>}Vg4kj zCSF72%~%avI>sln;UoMA0+>;&%hu9E^dYAaOnqh>2C}Q$Aq>npfSn=kiiNYLW7;Ce znkjfaM0R|}V0sVY39B|C{dh!}*&TyC&HMu9BK0aFYYR__?_9psY%_UGE zpu&Gdvi~1B@-K#{YAJ1sqJEtgX2`D9|bH?99B!vP% zQ+x4I8dHCdPYu&j?=aKsDf z+f2A>EIS%2;!pc~xq|%YRKLCwh??>=N+#KLLVK1vI`T(wYmRNUw+G9WwyJg?a3V1`dYRMHp-G!T%6qX zQ}VfNe>;VSCfVNq^>+Qc$$Xw5kYGQtFeZ_#UEEAx<+|!zfc#vJzgJ2slep<1)R~oQu*LoHTB!zAS0e9By>9Ps}xynwFhdR#B2gQ=9$GuQoi@^)(6EY@#=- z>Z-o`=omAyGTEzzmIC|QLsmttGL#XZuMwX^t2!(XL1!lg=2bT8@xKJPeAmdW!H&*2JSivF+JHq}J6B8d`24lm8 zstM!~MYY~*$7Cb3rg9IcCG#%a)AAO}zl?che@~gqquF6u(y5vQtIY%T340D@B;H3G zT+`qjnDg>P$vcP*Ke*;1ngDMdk5#!IdC^q*(bdRa$?A~p@q#^tdkOtDpo&X{ya%vhOI@Fno8=O(^Gaeb+uvgV|lO%T^B2^GqTE}zk? z{~~~Nna|u0ART;bV380|M^jNc)im;Us>NXyOAu=*%r8WYE%kWtD+b?wwAz)R4+Pq< zhtkn+ldhyr5MrSZ=RenC0SELF+$4ww_oPUaMx4x?!K**QRp^p1yrR3z_XAhxkzoGL zJ26AB@E>tqnoAR9C6^DA@Pv`hM_Y7u1y|UxpfWT-RO?3J287)6We?fIt$v}{p@`*^ z-3VqNgt^LpctQ1sI{&GSV@lB;NN@lla93Xv@Tp2ILdk2Vc!vqJo2Mivru*^N*Uv=% zrMaYHR|>LeJa+^pdKY_Mz>ahlLb4Av@Hl2MKs>J^(IcF{$OF9%>YM(^KQM})o`d`! zkh?9HI{~+Vd2jA4%PqCf`2fV}bwE_0CVNwoYZfBh7Uo7y(P5vs&81-%o#oOKYWIb- z_m6Ocu}s4$#$@c~4Woo;bxUw){=uoHzpf72>2T;{rpoJ%+=EJJuuwt@n#G@E(^rt1iGtw`uza^_x#Bd zAjl>5&*g9VpByUqKhB@hb_T}(xht|*NkHyD>LOFEjuxFr{a*s}6_j(TstEW+MGy=b z86$B^_5h2u7!&6XA=gsU*RU?j0z)4A$Gupl9z07hEy04Yb)Sc6uU)U3Om==>UvBWd zLj`!Ot?~ZhZCVYfzb^Fs*PZGP_2&gsaey=YR3f4Bw@?Cmeslr;gp;}5m?orvcrI^C zUdy9SA|Z=&*b5qpnTRkQKdCzoTgx3Jg)8EiWxUYGlxxV)@e|1YUUJc02FF=7=wMIm+W+ zLU%11EZi3GLoauX@AsK+LHQDbX zk_NSk>Mj;N9QcJ-SdZ~ny)tMQZ zdD2j?e9iyj>>Y!2>y~c8vTfV8xy!a~+qP}nPuZ^8W!v^H?XunPi8x>PJ+~unpXeWJ z#hO1?Vr0%aM`o(3tQ_4_mc}Q3GfgKpCOxT4hY`B~uQ55y!D{|?oAL#X0sX^sl^0s1 z`xYD}$bL%K6$NdpwYq^?PizCh=`;nS(!|`(Y*%vTXN;{f{sr=%vjz)s`nfoufPjcF zfPi@a|C;H)W4fl52d)OT|7be5awU1qm_pN~XK1ibQewwqfwPB_bL!f4s*@@RK5W+sKF^;>+t^8M~teV~MxQ&g6GRiwchtbCNAC1X#Dz#G^$!tqxlpgD-!++ZUA zQli)g7>4~ZBrBMZR+o8Eo4#sg$r2&KZjEK>&huzGZO-&c3dCiY~ntnf`$1UohUeMY%6#gb|O7KF#;BwMC(^W>HO$2TBmSJswNi8&DQG8 zaj~c_bW_u#O-o%?qX;f3Y&Y=^S&ljntHA0q9nyg7W@jV`V+f)qqGf*);h zwXFiC{h*%0!$+K_RhLv6na4O5RYV2{A?(C|m16XSme-h@RZc$hkV!$wDu1+OJM*{7 z)`k9|-r+XSc_|PeHPUH`Hh(K?xgL(k$H#zk9VQ<76BGKBmJ|0rO<*MIO}z3~E&m0c(6{EsS?o$~iX8YlODU*M-(&S4$y^VYwiXDzH|#leDWLiOiSLC)^XK z9NBlxtHBo?S#7Ri#hLqkzvL-|x}xE^*fy>F^-#?q-s;OS+q5osJ^>n*QeDX){<6Pc z7#f9c;}LgR7!O!yVx zIC2r*jsg|_3sL?2CkmROPwkrZWj0(e$6(KcZj`pyRRmOt5vnZEIcrE-%UZ{h&yAdifHF|7+U zgx|iiAB+V2@(4R!dHoIcNn_;WX=QhXsDDg0p1g> zU6>7s0rUCLUBK^^P2h+)Ke*sVXp7`HYB#9w+Y1b1UN^kr7Md?!o$u24>CZVo9dnGy z_=v-hfbVLV{gD5*Fh7ncVrmB26=^|%4<<&D?Bh&{*)cpHGmdt9;FFWV`kFg{o+Cn? z8NPMKXh{8VBq>H)c!EOdj_9mG-uenBkC+CN`Pp0NbHcl z^zta+%zR*lEkXeeOVF$KC%M{#l^?zIj|$h2#qM{n=GdLrb?-=PjIR&yl_zqZCp5oj z)^h!POnvgHoO3S(YW)#+&(-^d{`j`dfH2woa2^$@C#J=fCzMCZl0?gxBjTFqGy|HS zcTld!yu*wq%u7;xP=GCUZ>H8UD)Si{_WY^Y?{Sc}=eZ&mSLCFq?;tN%J%D7?6xuTa z&pIG&a9s;+Ln;XxMsth}dlZVB7wcVVTR|UM;?_&yRZ79r<_CoYt$J&mr($H`+E9LhMKmW}^$qHeZ6J zu9hg`oN>T9rajEZ=>o0;bbDwT_+y&u)?t2Gzso1((?;m=45PEu?C)9~|u1`nR_Rm|_IzU=nEAyrA z3n*eO5XakhbjH5+B{RI5HXg#C+nWktcf1bYODO@Li2s?682agtd4d7~i9`O^OS2yv2V zW)qRNa&kFnE5qR+2{Q^bb<(f3_0>4V_B~gyA=q0$EmUf5!wb)Rw8$**=a9XkQ`jlg zt!Q5_(cA(y?p}ZOwvC3M+svFSZne{Utia$=x2Hij9w2!xYQlVua)g+B5+K6Vp@-)_ zo=*BJuGoCLjJeV46}R6ngxz!(5!gGft(?-2;W~g9`W_1Jm~^CGok+Dn1I*2ft20Mh zDYr42GSiWVCiJh(Tav7%?U_v9ixk5YE)l@-ZgLcd^`klQ7K|0yzq}0}l1aU!r${Qw zGQv@*EMJj_aN>aH*{FfXF&A=aUFd8ZirG`Lb znPq$pay{fhE3er?^vw(@I*aMKlrgUP zJa&ol9lx)7Uxv#B8QACniIh0>>>Rk;#O}azF0@ZAsxe%5erKPc#BAh0@1(X&Pk2N+ zEG!v9+qdO-S6krQ_4JwfFX_oY?wYV~4&C(S!i|)>_p8*i#F};YW?bewTKB9syp`L= zWHIv0ZzF)$FL+J_35V}42@f-cen}dmK{CO4I~^}Ygpd(lBnJ?^IcE5V3S?7^3*uB- zR%j(Vkoi$EiKkPZtCDnMU0odWHcXf}Ap79ISy-JFPT^GC%Al#l zDW2VpTIE`e`341zvkJaJG!7$#m!BaykldkgSK+J+ivu9Ulc85bSqeUY=s8zJ0a1@P zj74lk-&6W-_gr#kfpKW7QK0f}pJ8+yi6J3VuefXb#u)mk2H}a#!`c|AO670z~tjlx%>B-fF$X<+iKtQxSKtS~Wy(j;B@w0fkKcN zTXMVsR=63S$U52xo;XNIa$N(RazcTHDJzN@TBmh$75pMt9p232({)4=cQ^3ph?qVHxqz#MBFtl@?~<7fBh`z7D!hI{XAw$tN&(q|5zwAkvx zp0WNE9>RgmGbIDf;14;Z!FAcgD-5E;^L-lLgIBLK0W+gt(h>JrZX)sygu~0C=5A8RnEZLajQ17C zt96opTt@xLC7*Ba<5vURS0tZ+_3fDGUwDGP1(~v*u^~<=ujUMg10DE2xo|(-(w*xA zUcOIguYQ%?oBLbJvd`3-$0dS39sTRO+g_F*KZ4!M13!ZASXqz$2*SjAMDJH(#G8!r z2>#DVx|?PKf7L$$vZ^l~kr#LOz~8wM1-G{;i?68z3NmwZK5wwT^ZOQX0;Z1j19LdO z>oS+3?S9GxNfP~h@!nSSkF#@kfpjl1_Z?IFr|<$4E`%@2u>JdGL;({+2I=Sesbl?~ zue6J=$pe%3@jd-}D%M@_$qa0+8~)G9rGccs^4ie(3zZjc~BB9Nf_~w$Osi}sZPo$(}qfN zU+Z-BPt?Qt_z)&3?0nVYb!3e>W8@uDF> zR@lMYBaZ5r6x9v4h_d0tD=e9m*W&OwV^CNlO6UX|l}EcIHA;GnHW;bXVZ_z8bQL#- zqMKy<|5>QMtC_+BMkcVapi;uMYtHNls;ad28@ky16XuqqQD>#S(@uz?CUp=Cj7hwrXc@t>4?(=OwrF>+NsoYM1eXIxT@gnkB3lQ2=TA z77C0`T#;w+#2OWB?rI)XSVe8CD5_>WcDr`BNzrg!_$))E$tZUf8@K2d3=2rDaRo{& zom4y>H+Pe00^I_sOggxk9{BUG!2!t+Hap|-ajjO`FI#b6jZah8AXpPxjygD`O7ltzH$#xPtAqTAknv%OIakHWlP#rY98CR3VjlV1^ z^nI1i%VSUKrH6kdJ!>@qnO&LUWW3Q=m3QUUs%wy-t^5jZbRTfRz+P9Hj`oOXWUpvl zvc|Wj2^>X@3){45A@iu5dd_SXx;s{v#!+^c87Lz_3aSJw7KxJWSga!Po+7#LMeiu^ zhD(CY+A__B-gdxAoQqnPCw)KFDgwWGu&=i^cFQ`(gKaWi&)nA_q0 z?Psg*YSy0I!bfb=*=$|%ce74-V8OBDT9q)#8xWD#NLl@<3@DY+U>;((S zkQgdj)uTqMy|_j}K$bIUPLcO0Dz_{a*u=M*N-fx^BF1am3^~YF-?&fAvmJ#7KhZI- zIEHQwF6K?9z)3$Wwe+Y#&-a+nQcA}+jaOWjoji%tbjHL{-9Zb)U zV6C9fZBIJevINy?56Hh!(W&HqcNF?eVbGel*0u!O@dS356(mv7;1`MNx%ed?kq*ey zk#G)`Wvv$Ity#P@{r%%OqEn)mSxjW|3tp|o?&~MZy`hNhEs!ctZvc!gJtNu-wuD0? z0Zt;su5J2VvxOCWAnykZ46>cgRBLX7-a*S^ocp4UbQKaglNI>lEVdoCQhv6L15L&i za%d{J7RY52Sx!gNIz?c^$F8LrHrz^PMD{YE{lR6oT!$h9jG9SxO$_6{+i=i&>F)}b zT<})de7_GT9S%%1E^nhC^=5DsQEIytFqJ`I9}O}Z4O^)`rj-aH?zdNZtuSrt!Ig+T zSLf;vXlc5c2@)oW3Mdg5pye-_nOIks!h0vJ{Rxj{W3)XvUln&?E>M)Ws0~LO3T%6X6z=D0OCNvq|0ez&8 z`c`&YT*a}l4x8{v*%}3ERDf%H`Gmr#2^Jl4kgm`6?W!f15^E!mbv;nbRr<(D9*bx* z71gROygRs#FjP#VlkNO0ZC1JIhV;fcvRdfh9z}vB;l^g2p$XR|8=uUX2JU1fxwNEk z94o*t@jn80wnbT1zT(bED|r~&I)CL4XUb`mOJv`JXhuW)BfpuUbyT{KR?V?HJ7p>$ za#VaRsQRnKtC=Z!8GFZai6PmSHB&I1i>gNNd{g}8`k7Ze*@LVuAbBS;9~mFfQ!sCJ zwN6D-^ovm`{Ic}fR=li}rEca8o0uW1~w>gQ>!P@P-Wja z-^;3`)v}}v$}+O<6(aJhCe^};Rd({!$&fi$*w}YeF#*`+U6OjflZsoP z6u5tdnV>T-P}m`!5y)IvRn)2wv8~Ii7}Qn@51LKg%CpPNbFAYnm$B!y@?h9RUI_0Hm`VyoruQP4 zN-K2o*9aIz{eD`xHkc4dS`7S(A%Gl!mGo1(tq9hF3j%N8jPMJxqODvTfa4VWRw$v6 z(kJs{U1?Tstvplls`qUBvdp06qKDVjWYJZTDL_r2L}g?~Xk9WnyTjDNft7_7ML{90 znVWgP8Rf)VR-bPPII#}nD?C%PPAyW;v5wQW0k~PKO8+fXO`Iqo=ULyA&7a5^wDC;u znDsVvvhigo-vAONcm-EiuZ$+WpQWnk`%7BmG+jcB5V zGpYM|l&-jk(u($2$h`ZdZNmNGuV~p;)c_P$X{%OOZF21?-iFY_Al)bu7bf^y-eVEi z0BV(S=TK!^(RiT$x5bH|C za)liOe}*FjivT@mV1#gm9FNx%39=4EAIOQ}OPN`S3z})@1`B4XGdQIVrlB$|R^v&T zK@-BZr#0C&x`Jk&rb$K~C4^3UZ9Mo1-9aj^3|bjHOGdxzQ6jZjU!I8hZc;jYR&aqg zJIzq+{Z+kJDMt+Ge|dtC!NRycR{97p-6Ja02a zC-*xEY{b5v_q{NG6CNUN%ll}7m%O9-@TQWsgA4cfxgOV%Vt=2HT_6M9mO1;THN4i-N!(NxeIElErCYljx+a@IXdGvL z@F_%PnO@-WIn3yxVaifbk`uEwT6BGyY$@{9&TUC+6)Z;(!|*%MobXvYsp!uq`a#W?!4wgmnlcY&c4WfEk(X8Wlx)! zx=jiqW)M%kPMW37zbN%``AN*yMW&wnFrF-{5#~}Xh z&dWTJ5sRyM(d;U3S%KUbV%cQ8=!kMkXUj#%{Far^Y90-++lUhNd{agAtS8xS+Al3S za2q=*k_A)}h>gF?23fhAvNnn2jb&%DRBHZ;vut>=;7_xSO?=EZvBm+Rovad}FS8#m zQsFz@;}!J4EU!6k+ETTLb{{#?CE#u1K8aZ>>E2Wj+Z%vPJle3SVHhT}BX7NIJ=V+I z`$*D(q2&h1OAq~e*n+(CJ)eKMsrZ55;48nxmKwfyfkQdm5_YL@&b$G{Q1oA9?XA2>9`mjka z-cCF5N}ifBR>jPDd0aTBF{M(mhk^jHRRT=g*(tBLVwiP{h?=7DiiMF@$v=_y)a?fo z^YvfE1?hvbeX@e{Zov)D{L(kdn-8H8YD3d*Sh~q?aO1}voA-I6<}`gTva3UxS?U#T z364jY%W?|byf1j%%#FC30Ra8LOHGk z_+vk!oyQqI+{>erdHB+PS`}0Ei&In*OSDv3ec@fj^+#X0*f)D*3A)Ec*Gb)csrsEB z3pe!(FY`AaqVHEvvF#+w{z8Jo4-%f;P~;`9X@tZttlEDQT8Y9=@thZ>-=p*suSEsR z3W}zSIL}U{fZK~J9_jC}zm7L#uKg#^i?&CjMN+pU%)JERbNI~}u}$8oZ?NgfGwxe_ zvrc`-NxG0_wnLtE?oP~c4iLl*OwbYdxpNPIF1MfhBUX5hG zETFx^sV#!KLi0M^q&d6s@*@Y&OXFO8UoGT%@w40}4qa#NGO1E0SPs z@uqp2=3g;nALRTw8v;z&g1RpAV6SKk3(NL=>w>hZpi-U7Z>rvX8{9SqoA<@$N9c96 z=3`{JuocGNL%E*=O#EB)w?|U?s%LbIBZk!_Y~I_=RRtb-tpKv0llJ4^(lZ(F4wC)q zMUj0?u0zl?=59LyqWVH;}Q--|M_Bc#fo zc)`2*mvL`rq@>y@OTU2kba&YN5+An;ts{|6j=BfoUqh6uf|ZGn1{^Cb%nz<~V)21f+_!U*)006jkv z?o$zJT@vnj5bkLu+7h3?!b!a1nZFWGw1$mb25D>yF>Vi1C;ffvF1ZWe--)5?MVfhU z&a^7vxN31gn=qh*@cR;Ru-)h2JmTO|;^5pM)S(xuz#Cfs(e8D@=C)|3L-#p9f%uJ!0PBa=9hdv<+uvhlcPDUMUuGXq1RpQtQ)kwkp8SYA z3W8ZXtj0K4u0c{y$b{qS&P0cOlHH+_R}4w-Oo@jQzVw3dVGA!l!h@(!kb*HvPn7;a z@=udKA!-H{`#ME}I@Qj{Vw!y`YZ8OXi#L+iP{!5RJCL}*UGcz-0O(OoNRC(B)!F%! z+ZVy#lv|5--Ak<)!y!Mbcn_LgSB~Dp3$9x>=bOS{4IXA-8ReUv$Z^Yf7sveP{@|Y; z-iYiG_oZ8@ICa=^&|B+`qUiHA#~SsY#uhFpybUB#PBMOSU&C?ee#@UA^fzVb5td?t zwZ7$z#?+s>f^uK3N8Ca-oN)79@Di524kCnhp+B}4B~$V9Cy~4wcx$5Cq9rZ+Bsdb) zuH0InO_7s8tU0BaZq5cU1x%{JL|ZWaOE&Tl&8+#0KqqcbLH8L5DtZV0<;jX+Ps| zq*c$iCiH~?bEoyu`z<4MUEhWQb_$Jo@qc~pSqw>C7)mq1H&MVeU z*k*3tP)1&q`{3kWyWA?V^{5TnFE<_lE)7+A-?{#qWzZfTZt;Xa&kHM@CBv0A-n#`s z__{HV5~U#(b(a;F1wjmJ3n#ARL_ZL^KX#i*Eq_txS?{!QMlUVN>LbKB2ctFS(fX1B zone0*X=hG3046awp0MmLytRi2+GEIFxks+#9!jtVVq09|$nuK0-B!E~6?#1>0yEub z`nz%;Z`SX01|kU$t;BEM1#GGgTfr& zmf8|h-9UePq+N>VJE&MJ=uMo7uz3;oFQ`XW70v5 zsY%I_)r=)U1X{S8oVgeeMZY=uxgj%|)S;_Q*-eSxV`FcshCcRL1ug*js$Grba68hq zdh^61k0@b52DRXhly&QYi2kt~&(Brm`}oVXs(DiHZ1oCJsccUT>UCSy3=QXPH)1@- zc-U(QGt^h};AkGDCjwDusQ{Fh z57^u@nPI=8G8J)w?z(K`ldg7us0G`~0g@0n-20q{pwQ;k>m7=)MCTQ}Hfzdo0L0m{ zo7)Qfkr|nTRe0qGqJYchgqf$xl@?K|k&B`5OehvTl4Z61LC$64!)ZhXM7b zsxKSZE4@4=T^g32Hv*G)SC8sI)g$lthnziQz&+@6 zW$r=b2Oti82BqHP6ia^yyAD|{fNI1z3z?u6h^%1dCPL21NBQN+6BtqEC^Lk3O~=?$tNbMkW?Zj^KU-lb3w*=Dl@YCVt4 z3Es_ED)-mI&2*ES1`yqO^(9&u{v4f4^+~$yjJR?tmuCQ{l)2&?6c?qC_Wz;8zD9q< zfKnTvjb9W&;8_Q=xrQr!;%}oa{31$p1+7r$kUT?$vVmm(%?C7(p!dFnP>5JNIgD+F z<)udOrYeA5WqeNxj#Dc>@5!D#sfrA~OqE^qc@8%i(>wW%Kdxw7$qW2w4DS}?nD%V@ zRv~Q@?3Uvg^y??f*UH%dH5u|3kcD7!@X~CkH6D)!>3JisM$+OAa?A^;Jz{~oLeVU# zh}>jH#Vt|k^eXif9+~V0MGddtAoUp^qL$h!G$FU&Ad9S~|70k8q&dq$Ffj!km){@| z&l&>zfrUcB?Jrrbqf}_j3+Uc^544HW8f1vXhDRDk+PV7c5(zy-m2V*awxUlc{=S-s zT)Azq@Jc>mR*18}7XMlE1xoumXN36_+)plMft6*Ew-x)nB}wHBYmcjkBFg=t6$YUe1^J0^)z8s8 z0v!FT^kM26$k+kwjT?aYY&xe)O95j#%UicLI!FMyZyWub$_sDRvea9b|h*lmq6cbyet4skd3@K}7PV)EAYy z6BL;gla0w+FG{B!i?$mkYK_KtP*ypDyl`9{lMf;A*ME#zTA8t3JWvtwJUdrYiviXP zo3jW{B*KX#w^r&5iE)k0mGCeJDFwD-I~6VA(+&F_mM3SPM)VMr>ecWFh?^rYG*@EW zO}AtrDv74bCC)x^K*4pgY}mag`btKeuzvMYT3_Zq`;q+^!w)Z*5Kd9>{=KA^%{ee% z#I7*o9^a77f-w%KkkS4YujtgL>NSzb=P$$yGR~UBSiaQ9s;AuGLs1$y7dQi$ImUvf zcC6*LWX3#;vSd3jG}*SnV&BNCH(rI>&CmZV4XdM#iLOLkv9c{X6!$NaX{u?Z z9?uJ^+e%Krby&Xl!2U8XE9|tqEuPYzo);aKG(98QO>!Y^u}J%6O4(vE|C*pPslty! zobD4ph`Tlmj}yq-#)IG5LhF(KF??!C>7xndHSC@TLQfFaUzHLQl4)@%$)-9T^Wodg z!VjOJd@L%3a5T#{GnA)c8-;e-zB{wEr*^l>FtHlVhDNI*sHs6d47yZBjs~-$C>Rkp zaVgL(jGZ~u@IL{}tf@=ZeYp8tnB~9dmT5J>lFbjE;t9&{5Y;GE6ej~GS!;gC%{0QL z;m~)QFC^|C&9>#QZc-Gzg4RpQ_^aFNgeO$|=y~I4SEtTm(u_m&i=-0RVq*32tgw5# zA4{LgC@nkD=OLtI&I*<~jRQcN-!x4BwlX(8uVQW6$0za1sMsg!iV^JR_Tj@*XGcMC# zd@?bqksF!C%Za3^Ua6kg=zT(1r!B72SeZm(LWalHUy~X0ux+MlEDu zze16sq49@}iniQCk757wKQG-&H~Ri@vQvovdhVyPo4x)2aM^3st~Q=ekbl1zx3^T>~Wv&dQ?38d707xf|IRC67IvcI5kt>VjfJj^DMx=FAPrg~7t~}?{~C+G%pQ$?o3GIfYR14}?Ze!>Jg`mWB2ENo zerMA&H7rGOpHDa0sI+OKo$XP(v|VTw9r@&HAfIjFCp9ITH;6`Ey~y;~bdocg@#Le*LvQ15hO~rdUpOA0N)5*T1On#L@#gxp^ys$+@JCTCY2VV%XLEvvZk(8~ z8F9*=@w(Gp}@g37*N`?2|{U;-JMx%3z69Z9H`I|)W@OF^-`fj6q zdkH9O+=6sVNkqeyXh95qE?n`jtp zu*O28rJglZWvx1*Z9v}mITZ_^3=Ukmw}@w>8BUL{&19#zk+8Ox7(?pf>h{pF9F{kr z+WiAQaAeDVr-Wm+-&7@0KaKY1ALi>7Rnk6p$qn_~3YxAV2jabcWCVtXNG?Dol}FkJ zQ_6bdu$)^BmsWU@7L-=NN)XS>(PkXtozEKxorTGfJs!wWc{`y_RNOB!H|53F_lPNb zMVO!PYo{VwY6u*1U7as@Jr-gn(*D78UXg%7aUR)@Hk}=r_OOZ|-RRF$*($YztMMgS zoD+QylkArs)OD>9&#Xl@Ur;Ecu=E1~WuD3OgB?dPBKcZVgs*E zQW+yvM80wbd2|gIdjK~;$iLIb zb}}~^D`*B-JL|T^dS&X_{8!law4}Ls?%Fgncj{E*vPx~zojW+J3CTC?nPHM@Ig4Ms`1recIxM{=^$X2;8Cha9!4bX20|XAmF9=Dj+Yz(xZ1 z5BrypWV`9?%m%s^q@hI=<{xed)e*_q9y5m%i2XrBmOK*MGv)aylK6(=#}4X&y2pW} z8&9!4?F9jd{y_gJ>lR(u?|;R0ZYUrizW-9z|9bzs4pH35#MQz1-xAMDyHP>4KpN{; zfQsUd2cj;!FF_07APZXtRE{W9Q((m@6@jiO@s8a&<`Q_EpZubBc>i(rT*|`Xxsvs> zuy~hn>-so`BF1vcmd)R>a449&z7m*A3HbgxVg%x*v%(sV0~7e2!8d*XNMU1Ol{vIl zvtw+R-|C>LV|c}3O59Q!@8vj>NUH;0nUMJdPG}6+T(h zXwuWFv#XW*(J`4JmH`}Rg*O|&a?FXCu&uXLgRJp_!}85l{Q=}GIyq1AF?iY&c?1U= zLFE6ShOKeLSqtL`&roi^xl$^2*tc;>g~ep@f}m1%!kpp4J1*#Dv=r~T3|YVm@F!k^ zoXW$Ev!B;a8g`a>Ej*&C0pQ09ClTkDR@&st$JMPJ%>NOJ+1(ZB5Rn%@*Y37I%V~nU zOOr{y#MXpweD8W6e~VfDpPVK`mo@qRGW4bCW#)JVSKmlte8M|NU`)5%QAfNNH{W;} z9&x6cBNiKzSIsf>RJYisOSp1Z)5Mj#Ky1W~6J!SHTr=nRcK5n7u0@tyuRVaB6zBL& zW)n)K^7LmvJelLc&X>)5T>q9r;b$MY|6WKM8)w;D(_iqZMMuwOc$%R`JLb~qv1j1f zc{dhG4HY=#YbYyZ`{?9l6mp4Q+&G(6lw_z#+mbkx%PZn9P!reF0>kx_SFwXlcdWT( zN)BB6c(W<7&Ratxf+aD1zgHR!eiu-`=PA<)?Z)k?QY~feA#Ict*)XQyZ%Me;W7CN# z?&BO-FiT||vDsJsMuqpp%4}6gQlHQz?>ExMKjBBGXqI_^nmDHeKd&PlWzip_Mv3B_ z_sXsm(J?ElK;Tc=k+?aaO(2yw$=5Fo^rus1zd?Fo5bKd(R8q!8FQ3X^n zCH%^aNUtKz!uAUrH;OIwE{RBeA-xz%lguMW7X6#Sf3HTk~-Ykc+7DXS`yAZ^W z(p0ZFm(ZlL(ZBFO2|;i}`oxps7bfZ>r#~<5D;3Zr56in^TCwb9_$=Ez>q5*s`u2=> z&t_ITPyAXGhHlejd=blhnXT>e^}m4e?LPoPX>by2_YV+9g8Uz6&3oF}GHS}n%32wd z{Tmbh?@qKzJJLf;So|A2-EL{;xdAG|MwnZoG5b5=oS;UEy;+g%TJSn#auPXF4^?Pr z1F(d@BT!O!R8@}n@JYvzxX?gw85PO)q{`^v$+fD^zCZxWhLEGI(x_R)w zN`#<^rflV}ZR9Zo;KqZ&W~r*)NxBP^1D0_GXHFiAo$wk&>{HS9Bt7H`V)#~dkC{Xo zz7X*_R-thMAduE?l-leG94AVLKw8_4)WvW3V0b)STk2g@oU###X0Cip z?U(Y4+aN$&_N_0=8$-0F%W@yGpW+6Vc5_d%J;t|vf!hUxTvQw(V5@2iOZ~JYHdHnB zr}TtZXnH{YQ+H{J`)Z#5=x!e5|Cm$$zjgONO;fl2iJ(aQR%`a{wdyv#iuK@x+TfUX zVycftic~f4ipYMlYl@WD+*XO;=T-6(fP5%2Wsoc7nvR)lc_!HrvuO$i#3o^ zG6v%UAv?!?@hkKqMd)I`*gl2O-k*k8doq&_lYKjaih^ikgzu0{HGElX7>hX{)y1G z&_FSe!m0U|rt@sfvU4#Ke(YBh70T3h0#sMLZJjC>F?kvBw zb!Y9yh5P`0_i4yeD$lF>Qnh$5!JCsCq`_hmsW7;9;q=OPnSE&cxQP+`21y*c0#klv z37UGfMlzseif}lLJkasWNiZTFh`51p67$iO+xMXxb)*Lt8Jjku4!>lkgB`wKgwwrA z3RH5$JE7lLd`V+W?CDnCX27Vk+tc1fk;Eh%k6^KosYutUHc{JG(w&%(hr6q`$qREY-%@0PY|OzaH{+7<24JYQ4+K?O?Zad1(5!S+Z^XyC~x;>w^-M9&w6= z3T|NVpg$+s=~lZVR17z4s|TB}*AOr|@I2F1Ok|skxmV!Zj|kd*qvi%!`vr-6^*K^pt5( zZ{#1;ATTopFJRq6*zZ$B!~~2eGTnmOV|yYFK}2gJV+CA_W4&UT$VM+^oiJ*R!8biN z+v@3olGltjnD0x}z~=gqw;65$D6X7|KwEoE0OE$7@j)yc9Uu`dhY-DLW2Udc*?ev1 zmvWR1kJhovs=v7uyb}<5XrzD6)fUW31TPoT;EPMy6SR8*z0kao@BfUu;YYD0VfyW{ z)30`K9>GN{Xs<=z`)R3QB8IsU!%O^3-yO-SnZ_ z5;^84e__2M<5?qL$X8B?eYng#^ibUw=|%4$_d30}^(|1yumrbr{X;!$qW|ugZ4rzy zPBf@+2HAscM;YuZin~U;1f2M|+-Jh-b4F{PPfFv?dj8EXdTr`2@(2y_EpE#RMnDdg zc4UcjZ!}^Y%Qyl`;0$3QeSH=4N`w#m_Lb0pO!(Z(wW9YuP~uP34s33qk>}K zuzQVvAYB9k2#DtY6A=`Qt<6ka|9wi3s`syo_wYTdc0C2rzWH9Z-CsI$NI8LFW ziN$C`_U%j~-WHj*9dlm0=%^p5UgEodHNs}e&#KF$lH-iCW4Zae(LCp6@jU(g`gX+& z1go$lNmL(xf~I~uJ`8}4A%0u5>%2!7@uk)wa>p$<_2*Q5z?{vqDS> z7FjuUNp$RP>)43lmw*TW|8+5g@&a0gORjHb;&oF|@X}uebHmv^+}sFT%qZ(cFIFf2nX~v4s!$~dRYgXJkD&PmNQQh<9e_pbCAF)bEj$8FXXAYlTgpx*zaxxK?7W6D!-NaC zpK^dy5UhHHH0C6+tw;i3p2H}ZOD$znKx`i8U9u4gipg|KvDt`FL8K#>2$>$HXe%PW z;yi_`z~jad7Jr3i%Na|X$mteqO&fN^S_MABn78PUu-C2)y~1xVd&9Pi^p-p^TwC?l zr)FwRhdNa?+#Jf{(E3qF|b1OIvS1AXwU)G#sxjyWzcl45o4|KGNh zz$jEW82@Z1JCT5Z1pd$FX=UeV`>zjUGb4K!Mp*|7D-$DIF()@8+yAEsUfs`8RRjH} z*ED6vR{vG<*BM7>0@AN0T2bl|*OWl4qEb1L%~GKyYp)HyWXNuZAs+`Tp(4V4jk4A@ z4C1zy%>>nvbe8O2yw+n2*n*?j7N1*A+G9WXV@{tEcOKV1A6-IFvDsO<{4d)N*Kc`y zoiE!TIRX72DnR(2wDDx_8YYMYNX#UM!pMkGueNwsuep|pF>M-bA}vY_EX8qA=Fx2m zElvv*qM9t*jGMs78(iu{l!JBR1Su-_lo^d1KIFB?_^v6^gwv0|Fnu}wz!>`;Q zPsix%ny(B8#CZd#)3 zN8oe))(#}@Rq>YSP5I$*Fe{mx&1YMBNh*1U9`I~h_OrgyakWh#?MN*ELUCWo52?}` zu?!;F_%8^GS2R2TrbZF*w*3H=>b~=FoM+E5q>T2l?&ya}cJJSOe`)5z`YZ;ToA5=- z*U+b_>tUu;1fIwR{PNGS@+T9P{JptNl;2j;Ug3Gmy%Lx=P84YS#Ws4F+gdZ}DcNm% zl*Beqb(?bYLkU&%4M<=iK=#67Ony^m1#}bulD7 zT4qE(`Ba)@0Jb35vxH1`@H3p#NtC1lsf=9MF5PKrz6PBMYcfpu)V_4lM?CWTF+6>t zly1Iq!&2A+?P-8Sxo+`1pGxv^XehC*nhgHj`CHYCYvg zZqsL;A}u#juYHk(lHRAHAH?!jXP*uqztKHC;;%Vb`C{ZAFv8Fqw~6N*dm4SkTN%|` zXQv$6@zyS9wg@=W01jvlP21A=0(=v2PXb#UdAl_ST@>9KfLg!r`}WX1XA{OrG`xzA zmVW(d=k^T~7_om);Uc|F4J+(Qfq<1&+dy}T?UI2l)fn6$ zkusj7-GiFpdsm6Yf;@nZ&RT!L!d**H&66Y$% zbUqsq!!%*LNJ-2C=u4!e5j72o$zw5P zTSY~r+34t4&5O$;F*P?aqROWNu^$-)aE>{mb!nk*q|oc&n(cgIPsKR6IVzRv7axiU z^82yv29dYM!`nlq>rg1#2z=+`5woq+rWcJj8J&)CI}hOy4<_64x7|<__sE8qOa z+VvCtv+5mabj|OdDfwRr(me>kJZNA~GV*sO)puosp?&M2iOhMoJ93*$d3!ql+85VR ztIA|M2FqQ{my(_vcTZQa4H;tbaczQR*bf0eUa$BUsXN>4zIhLP;l7<{t=Xi=FI5-X`w z?Kc9kQySg%i)^qJZcM#9_|X#aN-v_$Lu;Z9L~AD-^OsAc;9eh|(OVw=_8RaY9cX?TgT+sp%w+#8+Zl}hvC}{Cx$ofs zP|+>z7olsk+F=rKIlhbd^N&ow6&)Qc9sG=eeE>y#gEAj2()jctS-QE)G7ZH9HUTOq z3*hoHJC;K9E%p~)YAPs%?IggbJXXe?;W0jlmZq4M&K8iXZg}}g1Rk9_3K9p>WCbRK z2f7G+R+?RSM1;CWgq99g3!s{0!`D$^al4mkl|f1-RB6g+&PJ64g@s_7>c$ltEY4Rj z{mjKw~M&h({rj#89asjnNo?ar)1u*T=3LlF%dWvNoc-1^4x!6YKV3vM9EjBzSIk9N4TqZ38J^i0S&(1; zqfU=tNY1{E(x;KXOgW2CEvkn-X2#MN)t|9#Q8&}IGVsYI0x)@0M~P<_-`r>=;QJDS zm(uHx^}`o!St_dU@QOXo!d_&>%41x-fQwhiyz5os+GG>rz_ttVsV<7<6Y9Srj%0T1 z2`)qk2wy@72;Tn=;!rfUH+OY1HZ}j>f;&d)%UGWd7SrG{cGQ--&^j}A4l;ahuJ4Fs zeW8pgc995O0E47{?foePDO+1xoXriLR%X>rRozl79VofrqJm~CP1~pKm1>R3 z>W3Tw7RT^$3GxT&>(0sclYkR}lRQ_N_%81o6^K;w(J+>M`SvBh^)UQP=UoP7ptCLW z9asaWCww!fE%%3S`%4EX%hAd82hSVf+U#G)<9*#W4jggbzG=}N&vXpW#u0JF?>TFI z+r~en^fID!y=RT{+G%i}_F(_n#rty~2iue5AfKu(4q&HE%=MWcLw0O}c`E1cGs*tlX6ME>Af zF(&f>jvg~H*)!Rn*elZ4*TPGRzuE-B%v!JWtd!j$f3wxE(xsS+Ei7LVL_J&Bx3|#( znj)Ksy2Q&V7S*#^FTaVw1({>~n5&X%lIX=>itI<&VcK0+7+-~XGj;Cfo}bgf(ZmQ{ zJYOF{cnmEIZ+385;|}_hcW1ZbUbdC^d$i;3^y-mmAuk=Vf{F+4{^@XiO zK}!{WR=P~0^kx=JD$X#|l5suNjS^&-Lw6*bZ~LqJbSTP)_n}4Gf6jh3(WHrPmoLfy z?WnFXHlvyhy5qwobQB}iwKepAgH&ZAO4O;U>F&Nabj7x8EMgW)cO=AFqGj8pK2P6LZqn{-3aHDM zADRi(#vFr!tFYx5k@(mM$|Gh{6i8K3naO~(ZP;poo5DTk-Oa5GHZI{{FLX(So2obH$|L9BV#9A`# zhU!%X+a`btji9*cVVzvb0tSUNL~+!EDm<@QptsxBg8tG!6Rq%peW3&UNU+|cvKhCb@1;*4p`uKKn#S>mBGEnxxr6+AMkmDf0LVsz?&sa4Yj)@ zZNc^d2BJhaUf)>w!AZgCq7i|(Br0GfDJLNZWw5p0?_Fx{4?{1>{z@-}{@z=Do`$FJ zzNX7-H89D$R{sgu`%X>0vuUVlZcyHlA1o543L&IhW&WAOE_axjC^K%nC6Ll#Roo!2 zR9uF^*1ZSBna={?f&>o?Mv_&-1^8`1nI+JWUrL%X7<;rVV}~hncUJZrmvDfelP#V} zz>|Dc5@{>>&Bq6(tLb|fMnJzV0Vpg=&#T)Wl zO)u2}sa3qkA_dPxE%nK%!9Mxg?-APvGwrHkOy+zhCZU5RPja^jS*&K+#W$0Z2EoZr zT2{><#%^qr_&lYt+16W0Y&$t*UwJVPOx6dQ_^r8|d7>X4 zZpxdo9QnVX-$UFoS9uWkItlnF>YkO17SMpR1VL9BtDdkPwSl;C+fE(1zQ$M)2^S9} z!56=l+EO>#os@OOS87GS<#IyVvPE1Ph^4VmbL|`%6V0iIg+9OKR*rag%r=H+KP+oi2}@&L){;2KjkaMiMWKmh!E$cN2It{Px04=2!cr z=kg*3UkExBT};|P7JXTZBPs!a<;RtE=th6Vs&|9~G(7m$DVAwvzlq0^60UQfSUAL) zZ*QfV|6@&=nhw$C`O)Z*m(%|8pKOt0W^L=|!c@%W6X~7DpvC&lgV3)ow8NX(-Miwk z;bm*R4h80Ii5dO{OG%bj#BP7e!G7(mr3>E3;6jyYu0}_xYf;SWun*ELx*>0uQ5rV5 z`~h{nZ0!BgW9?Gd@y4>Gd&N7_;@_hc&gbpnT=4&7RB8}SCq5CS8~}}?Y!CFXYVlDq z8AF=5Lpob(9M;`bv6>)R+Z4jwEgx=w*Ads#D{ELgYDj`t=P0v8gQf5+jw37>!W}fs zbq}*F7gD6KL1nX}*0%Z&t^teUT8BSq(-IM;Va;PUe?w%it*2YEy2n@=u;=E^@^zgEQRikfCzB z4_KqsfawY1L4%=}#PFrQbUcLpVp|cZUcX#k#8dL)7O8|pn?wLJ{t_EaS&U7pd7D&@ zJs>@2I&-}ltPa@>MIO`QL%z64E3Swpz~Ir+fuM9RJ0kXgl=3qOPp`G9gc3yMy0sXw zwHV$tOp%f6lBt{bN_*uM)3AO3jG{;M#=f66fV5ITov&`9* zXSb9oL&^MwJGOENXd+c87mMVS49 z|2(sS2+Wh&H6gj3?;oVyR4|`Dsm-v?wI&F%jO1lDG-hd#uUsj^d4B&S<8Byp09t2h!qc2FhRV0GDFCQ2Ku&2HiWbunowOs! zY|>e+Y;X&lEMio9HgMFz@p}jC-zn~2+ogg*%H+LL=;(!R0ZcCz+}`PM^~sbU$~-YQ zB`lLT)CggVfw)+sZOUd#&?@i|KnO`jKqW#Lb%vOCPJ&SQFwTw7mJy*#HX8mz%6v3^ zoX!*K;JqDK16UDWZ&tp4>OhYt$QCnEIQ760F7<|`iJzAVnT8ncVlpE?rBMK6EZi** z)yfINDxzniJy$4rNMa!K<(YsS5waK)`^cW!cdaLcGM84C{Nrw2T-(PHW1gEs!YlNQ zY}#I1kn2W&)8_QSLOq-}3Ay&DX&o?{mPx%f^{! zE#ZiERjxspq{DBmod+9aa+V(ny#)YB{y6g9)`Cmc84Ks$H^P_OQi~*)Ps+8W)FgM& zr6k=|a;2q0iKSvdRfLiq=_7ZM6sJ+~S}68>DDr&H@uT8F_iXpCDcCJjHJ7oJ?D|bs z^B_(fy}XL3K@Csi`ETBVs#I=#&4vjH4&Dg=m5PY?b#!SWKtQY(ohK57`PH;xrGHtrlv44pxoZiO;-gSt8K%-=MEzWMVm|j#R zyfb7C_8C4(O=?6nvEE7lgK)||3<>ov0sG6e*jA+D3)p^(GM;DhoQeI32+!eRk9&)G zfvDj~kp$(rMle9BH98_Ks9y*6u^(bd|2p$L5;h+1rgpw^n5;#y-o=nQGf*MpLqG zIz@u`tph^aSDF=E3&aNiZPy|SbX!nK(Vd+VerAo84w>8KXc)z|CO_U;9X7DOB(-Q6 zS{t76oUVTUh?|bFd}1I*a^LnM&0KZ5qLvKVHD`0MMnoIG{@M1HAkfqRQE zwfG{1es^s>5<#ir&GPnm6m)IRARra1Z&GezOdE6O<|3ACM0G44bhBI`C%)lIq6{+M zuest;9DsCv>uZr94Qj(O8Cum?S5btXreN~M&|mL$Lsw%#htlIA^0TH4bv8jI>T`X+ zZL*pQkvOBn&K@sf3(xd8Mf^EyDh_@4BX1h!DPRo3bbI^C#3A&BkRiMV1*?X?AFlpw zlj1KGiliGw?Xx^wib8Vf;VolXWw9oOdSHMP&`{BdQ1b`qF6y{FIX+8&kV}Rc>vz@l z(ChoYYM`CY9YPrG9h3Zh34hg#3SH1qgnE3J?qlSYWL>%=W_ecbhDfq6fVE9TW%bFjxv%?t9;R z*Ub(ofrEdrWIfXvu-|fYG5S7c^Zxn`cqgp&0?T9c4pdSbB=5PeH=}|8?>fXReX1C} zXlF=W6ObM$E~B~^UMy&Awk=USM^%3(zyf$_lP|ray3{)(B!XU}Lvon`I6pEWD3(w# zZuSbIp3I*iNV1-b?Y?AwhM7MndlgES#6v5M7vc?N7t0kDTV*)RQ2VmK$_XzlB}Q73tH_>!;yFCy_k^*Dr8wIZ((z=)!zNg! zgbWlsW?U^b9&ik7J}H>lFa9w^)C3%9EK_hnNbz^9FDM@7Nq(_7xGAMx%Kk&9o1#1{ zvsciw8OG{*ZFN^mvRqNu2y`aP%Gd;m&+?8`3sPh`L_69{n5p996qmAQ%~S@u_@A{n z$Wl_>W&>CaQQ)-HuVQhK1Z(%JmRnqvmfPoqg zEDZ`Ck{((zD*gj%`L)vg()DZHYTkV4+f3+iYlr#&|4Vcn{@ z{a>4_-3sH>sQ0h5?`iuz$#uVqLjoDEwQ(zw^1U6dJ7g74)+LdyLOg{*k2%2$`IZk;A@*NHd~ObNLVxZocIP#w`Pbcs0os&UC8wA`B#w z=VhE+;e6Tty2DKoGV$DQTO^UHW+aKrpQyDa|JE=3la#T0W$EiD!Ud~gtfO6sTC*L3 z(YOT5!3~>E%7Cs;L&wgUI0@arSoM8e!YKi+cRpg?%mntr3)3m4!4Mcht|wQ;_C3mm zAKlG4>9Ncu!%7la7I$*4A~Cf21KEZ*eya&h7L7u44sVHD+tkI`|Amy=on1>pH!0)2 z%J73%yWSnQ5s52BNo9>2+)CD#N+urS0sS8SS5hmW)N|LJIlto6#rbM2C(9W=Hg%Jg zo<}GTqZ=xJvok`O#U$Wc`eHOwN=+ZGo+NdR6jn_?rJeb%;V5le5U&Fz{q4rIgfGH} zKf{L~0pnI2^Ok7b_0lCH>FaIzZpUtI5sNP8r!3fpni4*V@A`iRw`VnP7+Q1mjgK=L zbBni6@=cVd@HPkz5EaGb>%1Xn@p-n#Xkr;Mbd7h2@LRPUy?=_?o(nU~Cit4j>+kw* zg_8#ErgM>kgnjI}xKXA21M+)&n)YHm{_qC+VQbq=tj_!r=>p|2L?uGIJH*TO2d^5n zoJ3X?m4)UQ#=S4DdNGDA=AbiWcmYwV)5&Oztw+vt#mQBLg)lsucH>p`nJCZ zqR2Uu*p5L}{oG{xhQiKEVj^^I&MrIw;U8mu=UjGy6w_7GEUI~VZ= zcS+XL5x>hfBOLF4DgU>C$nikZ!p5@CX0d zE{~n8*pphP9Vo@!;@hUMyg*}${{fX-bMl74u+BM$)%?-YRw)s_d4)MqSMIFA`I;#9 z40=uUgx?;!;n?Z$sU0M2JmP0v%mW#P7sRkOf2 zxc3BNtD9G=i=9h-m&NFl({3{AZdxd71Vj ziOsYxB{BS5in7DsSR>uEHgf(I#D*o4#w9O_q?|z+cKVnJvhZN-a76a|^nSXP8Zu#gZI8l{ z{z~csU~agoJO4{LImx&4Dl(en40CrY<>c{E?Tp&bXQ8abyw#(Mr%UtVY( zl=)~aIG5Cv7tE;e*Fr^b>?vn7u1IP%g?t8pb5j3Gh&KEpQ6Ea1hAzpVq9^lxQl(ZC zb(p@WErV9`#AkvGbC7AKMFsiZ>grXw1QJkLH3_zUO1B6e?{m!Iv3 z5D?>p|Gx^k|6jze@;@Q_|5_Zt>17|`ef1t9lW2Y4fV8I*f`y}7Hh3&jm7`+PLP*is z-iQZ(>ra@YRChZ^cF*oS*`Ap`KX%%nt7clNTqfGzDxBGFJ#lk&jZpiYz4@=}MP>mt z#pB{;)YpIZP4DZ(Kaa-$J@+jhsvOd&qffpCrofX3MD8w=1JVJ&l@N( zu&)T5H<9FEA!*q~6OhZ)67K1z`Fpsh>vyuLDQF`Zk9E-H8-w+ZYtJ61pE63y;v zGvqbydJEXF+Vvwqwxcm!YC&x_I}MS*xA^kFM@~a(Hy0XFR=^Z*F838!unT!yX|ysi z@G={1Zm2H;TPv%N^}b1q=XYpT!A2{F@V)_=~7Z4?_@?Zc0cd7Geue@#=lcKdFM^eqUu zw&MC`4vHZn$!(uLVGJx%(xW^ z?$#BUC0I5#e$NKTrC}|W%1EgBkSB+`e@G3& zl`Tp5vd7+iWrK--xf!c;Ae=$YHKjYkG73Q}n>;r7)kg$ZNQ2~DO+{11H)C~LkTrhKqY|M==xO>%Hn_2D#>9(O)5lp6I#cMU59cZjRW$q9&aJ~QKpV{0xA2|QM{xk z^&wp(>yiQIQI890?N&B9awj-SUfuC2n!MfqgYd*20cj)%dWmF^W;~t+tCsb2z1bB?vju2}$be z1X-`Xl{wF7fQZ9)YnY5v?DCA3>(I#fJMA;y^`8dO&tg!A_b-cc8hr!t9hoE`6{IIr zuw}`7eh~!#rCFipYx1|-Gv_=I|0$3{{n*!=Bjy0vsdWW&!NUY=lZ%{Ck zmGWFLHFT^X=fB-S64`Rw2O9(f6)?@ac7J7o6Cs zS5~9`znJet*-Tyv{UYFwU>>j2!7$8Y{&h)QRVOxPvBZQsew)yku?nUTKRM1~2E>X9fI#1|yeSYnXbu;$)#rG2b$` z0=!v#$b+WQZ|6JW*Ww?JeKf-PXoGXvw9EaKq#R4bqCeUFyYT2s^2WsSsx$OOd+~Vm zk{pVjp!M^9!dmrK4_s4gyJ^IFZuy%|XXrPw6^3NOeE@>mNP&UT^~|27!w7 zg9FBw#ZWu#{@u4v=`f8v741~lM&Z`6c39ndrhwYiM|;^fj}1qqb3tn(hkaSMT&TI5grWFZm%ktaSw8eWk^aI^Xr;?Ogalj4_F$lE**AdDt+v z(oO+4l=x*E5{yg-WA0`P1KjYX#<=n?c9`04WGH85J5XcP5r;#Y6(%6CUeo7f4XAMGFRFVqqQ)%UsO?gg2 zadWnwv_V?J%-yaUGZMQ9HdEZ=!Hmo~UfrFx@0rgKqV9iEH1H45(>0{9>#O{V9@R+e zAD7C`RUMa0eN2NmXPJIOhL18)n5_r{V+L9ASCCA}Fxt&g=bd$ml0q@yj~3g5P0r+0 z_vsmjq|ey&h~o3v@wm1ZxOUn)3@!^(Nhc6LDu43E}e>j{OXweR|@-_wQ!NbPp;WY>IzQ z*yI55H2qq5t7WR^ec*W(8vVOp%-*s|htSrPv#D@$$3N0~NHtzDC_iN3&wkUUb<5q-{(`~b4(LC-zz|u>0Nx|-B!oNc40gW=f%b5%A~_Rp5yj`;2=EmvCDAb z;N#9w8nJ#M@^Mwd3%DcEaUTdF@ID2%847a2Yx8z! zKz}l{L)Q)Scs_m7tUFIU@y!`8F*p$YBDz;j(dhca0bLM&HlQNyT5gu{fN>EQJAO`O z8QwKWTc??9yqp}*vQJLyi1DB;5Bg;$3GJNkv@macUCJFP+ z#AK`{cG@65CE-m}vl@F-ka_mcq;yor8&O`#=}h(yCpihW3WOvkwMLdi&~);?iDdfn ze!2&g!&2B*VT6=WX&vOO^TD_E_>67hLG5B7_dZ{bp$KoxQ8AD$Nv^@f%;bt~!NXjP z2M?zxBS%YYCOgE04d}U@SM6Ec3GYV&#Ifnz)8&K>3BuA z9LBT871Pqw$zm6?UnueoSF_!f;W=Y}C{Y=p`BUXvr4yNS8=IE8Ng|lC6rr^yA=O|c zz%M9t<0VknZSQHkNtSE=0I1Nd6JbjznR-C$Ru$F#LLP6*l#fEux^To7?oKStbtBY% zR24Its~doLaTIkxn1}8ts|it`0@jnNU>XI~2QTSHvDd>Z*5hlKFlk1*m!mD0<6I>B zoi6(Z8gN}G|t-myxbwQQ7$K-@N6MGk-dbXo4fMG{wQ&2{rtbE zP+u0bz%CR7#L^E42$}y56#^;%DF62YL&E$&oXEx4?f;mQmZtvwp9UhMy_N!Lj47yF z@1zQ34)~F#zj?zT?V&J}P)(esP$EJhswp-trAg(9Wi0?CuS=OT_aeKcwcdL{GpG?Q z9R8Q$U*(EVX6w#TG;?PmkB^GJo%!3kxu36Zts)R5b)~z!%o428AoLz(R6B(pbuiYk zxgLM;WE;6=kEVzQ=Od}=F>iP zbTfZ^`b~`;-f%%-yL*5YZx-l5RhoEXpJ$^U3%LrQc_^@9T(KW*IIͥZ{RVMs~w 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%0DxbZesA`WX9Pb(cl;Jbd9HJEF3`8B|=N zRwUXtw5XO==0$9Hn;v93kFNEri|S$5RYk{YsDz;PRRt-%N$0bQ?p%mnxaC|$_TSlg zq#1tUmTc^Zw3t`xLr=4HN>LMDfBy%yfI641U8r7`@<*l;( zUuhHxVZ4AuJOQL(L;W}s5{p1tKVqssO^q;9aQ(PUdPZH_a?4uBa?1*B8(Lb^3K%W; zR==8cGo1@yyIHC^O6~f<_WS3whns#der)gcoA29U*XMQn*zd*Z=4k$R=Mm_y>iwoK zS2p=uSt95{vPav1yqs0hLR^VdX2gO_B0^Ge2GO(%J^uM2fMfg;V z7Q(8hM@w4V!{fZpY3ZYTtamQ;G>@h-efRr<_nYrVu{d zF&P5=!y=6y4RV^hd$~6t)hr{r%&a{uE-3+Zp(@!d1-3SI=RWY`j|Z=!o_yko2|zBP zK99wUXX{{Jjepr*VrNxqk<962^1$PvLr!mS;UCpBJMY#_={t|09#;{10vVNTX>@fO z8JVn3X7JTKX*b-0b+Qk+lwA@_RxzjS4FC3^`5S;Vm-32RI@4~vwbArl48d(X$eOZt`IA9h%(;;7j2PcNcE`4+eCLMe_ zM(iNMfW$$kuABO3nVX&*);oJv5tgXHeG@6)Eq^)1>RAp*NW&2|l$g%)5mV9hZtHH$kL)K*C=fQ^p z`#Rnx698CoAz58qE1`PRe%5P@ajWPSe^WsQ_*>7p3=MQ}P$}j-fyErKJ;$Emv5Ez# zurco6E(LR%B_x?(t$QQ{(o{-4prP@MJc<3od`2nv!&u7*4{p}WjL-x7sekxUu1kXA zNd13UA_3lj!G22ZHON4neF-ZIWRyB!qCUjMHrVunRJ35?2n8A>YkjPXa9c{I6cy1gZgGir1%E>MoT%0I>#tSN5 z42r5NIRCU~wWs4s@^m$JY8W6(=7*j=}mUtH*=U*Qh%isq66>n=uQy;**G6=}RbE zAzGkk#@%h}b{;?jtN1K4FS7jA>Ct-{{t*Sh91 zYuHQ~4km^)u!QdlXY7fVfWtt<_0#<8tIiXHeEL^bOgDs&(_ZMQ)rp{c4%Zv#wsxpk z%!UYY%~J6K+047j@$1mRk!deU02VVG7I=}?(QDv!x(PVQKVVFeq*(a5&?^_CwEd7YrXZ}K?qA(l6Ito5F5uo5(gFq{{j!jr z(G2_n2%;N9ZbwF8W}Gz19l$~@^hhx-e>Mk8aS>0gNncx?hm9n;X8}-RT7%VN`iaC~ z5@cFJ_Z%RCpbN7a>QP0AdvkLpsq=`nVYneiYBR%$G!i3J?-n2y{VO6%kt9a!mP6sS zhFHD=MH!3Dt~L^qG=ITX6Qg)07U{L3P&k@;sH52lv?&vI(PgV(hG|^vwE^T75|Vr_ zLR;;-l~&!T7Y%{g+1FX2y@OyzwNc%It7e7v(wcd&(aUtl!Wh$g!(X0(F&O zGPIl+T;m*h$pllx9`rB3z5U3L1G|5vs-jx7pa$}k4=WN86~*$$M`0~4#<+GGd4qm$9pQLR zA7Q_f-4o~%-6aCg=*32x(MAf_?W``Z)|LlBSVe_z(nyL(lPpK1N$jXD{EZ2bLb?o0 zNVFhPA-eA(!J!u{S3$bHxQZT8824x!J<4S?*rL(!?QczgBI-7IsD8?qq@UX+%d2qBa6r$x8;0E z>k2x*3mPR!x;?-p;}z3SZ_0Wh@R_1P%G!c?zn4>(>cl{Kg&ckz)0=(lCfgl-&HD1U zKY{X85`k@Qmpl3*@ClblsmXx!^AUzqxNlLANxm*6`_9Q>^I#X`ewpJ-(#uyb_LweO zJ(nNPRwC+_v@^ouCrNxyDO;QVvP#-XDgH%#W<2*v`jPx)dNjaPXD6d2Sb=?L&-ellKVZjn{>_l)`AQuxe79e#xdL*jXwvb1&o82oDFjdF(=Qx17+l(nfK{Q^ zbm9n1M3Ltk+7QwukDe`~NXjTgxPad0$wZ^&_V_6{mVIPmf{l{V@6-`G=cDn=hX*;7 zLZGSmgu@11Zx68ssFVCv^CD++3%xLA{CnNx`-*3f`;i)(r^Pc>A+tnjd{tsr*&31gNXoZK(3 zRAG8Xa!TR*q*c^Z^-u165i-|Fk$4x<;CIakVkubOY0qb^=995RhNdINnO#GzR`X1r zd)3mco~LWW`wo4u(aStMBj0VJKXXLRcQ@i>%VOfxWPOgZ4>(xWseCiVDtU7;@PO!S z_yaHRhq#-f)}EnuPpTd1HgN^Mt;axJSj1%dt3ybTEMct&ivlI;rg*+p+s96UlZzhN z>fe+{_0Ah{hE$0)Rg@_I=`djTxi47}{jux*Pi6Jrc4?^*$HmKom1a#3=eQ_YeDpS# zwG2e`QI4Pk}B;N0L-UvJ`m{^QdUwnJhcxr!{;mukjv1HR_`9PEme|&s}bq ze@Qsq(5`4GOKe~Fkxp}xj$6VfeDh0~1Jw#|p>Y z3~b_$0VmK){)AfYiP1aHgL3yq-B6}&;dlXcAE;Wlt$lyrFU0}NzQVh~Y(OAJ+WQ5Kbn z9|ZhZ1;s6?ayJ^Me1awhjLKChbXWq!wF8F-m_Tjtp87n67Mu%DPRU#Zv@Fo+(E>&X zu;rOTWZDqx@(62+ZBZ6V0597>6zjk^mf^cP(HE6>DUd!Q#tM)=%w4k*XNUz-bMYRw z&0&`H|5MdH<9D=g&AqBci0cuY)N0ZUiYC{Ss|@=h{nG++6A?O!u4E9aM~^_l*+_Qs zc57DgqPamSGbIArcIhG*+ZYJ83GlX1E7kn2SnFjH+o5hc$A+TziZrKeKtpzN)MHJ_ zm4GNcTu;)2ElFBq%UdeT<4yriNZ3qa0zN zbDAT0cN6opV;DzdO(~9S{ph-|+$b%etCJ&Sg78I9*qSPAP35Mbv-(;ySySMa)-TxG zLm2I4F7JVtr73I6;~ggDdfWd#P?zOO&|_07E1!8p&vJCIK27N1ta#t+{0&Gt*Q>lv z@{JiphWdhxSwXEQDblNq!rz0qGCO33scgp(IL!05SaAiO)U!~RrDKCq9EHnaXP;Lk zg%sOxmPg8TfQFm_w8gaVA&|w7lWfo&r*`IXOsa zJ85%!2JR@`?z)KAJ@Ot zD92T>p_!jt1|_AEpi)5gG$QDT+6mBUt_+hBor~+M6&4?PRVt5$gF}h1ZG+bB1b~cy zQa9zCRv>h%sKJH28dm9`SRlxrm3%^Hr|Vp=FxM*ZaDHaVR9;@{1x|7maIwZ9N_z@+QZf*XU(75GhbNm=jeMgwZX9&o&sFHg_U4 zbAvT&=i9E7#WgE<{h?J@9n+D=*NKB$&AL@}YBB6B@V=!C$?>ioIR>lo8ITNMEs%%M zD?Yct4}<54iGPLdI%%9MKaJ1gLGW=87@3c%OHZ>P>W2044zWCkJA$?&diVh&ysCvn z_7iq@4;y&Gt1d;bK>mh#U-XM-^bY>!4~6pu$@)Y|edN^H_A`XjUl3L(Cr>{IbDh(^ zDw1Cp)vwEvb+yO)gT@=NYKtG#8M3DPV zhUO%lIFybUjiI);tR^vt(>S=_rzGoJpHJlpXgbi#UKbN9GZUg-wnfX(m4ejB)F14( zpdzTZ(^TddAZ7Ul<}8`}NRM_f#%lQ}Ddu6kEd4S5w<5a(-L`wK4Qnx*M(rpVa`-GC$XF;8kvhx~9BYrSTxAnM(m5Hi5`4K!^r3U!Ob}vnP!lb0CV+ z=S0N5*~RFv!OXxCngQ47ku;SbO6aetj~SXiw5AUIv~bm=(MSD32_{jq_j~};lspO} z$|^duqE)6=kM^Y3X0cDVV`j_PbM^jE&Am{@^_R*E3GN^X0GSI?5xDn=Mb*E?0l%&S zmoKPwz<0ziSutY8L3i~mo*l~*SGR?pX|kelAMTY98CmBw2KrCD7`dH}bPujM0;l2_ zFowY7xoQ`cu+KTc=v7oKItW5cDshH$bVds=aeM8odf_i5Zowc9;P?o;_jK7)@y3Rw zHyCyWg(fMA=!k9*jBYr5qu`G1g{)ndM+Nb!kcR31=P!JYl?UyCxj8;k+o!6%nH?}F znqH9OgtkF~mQ0QH*XCqkkQ(||sfRaasF7g2F+XcJv^xjRYuiYA7PML#iEV|?uj-^m z`nUp}+PQYl3X>4H_z_&pkuLrp0tq_M_`87PykLR`jhyHM*S92bge8e6TR0&axJ0KO z;hPu!;-d+bJ}lrjIP`!skiHp#eUCIL41GNeo$x}pYDl4ID;4L5?0PZd$!IDxV@~sR z!5c+;*P_Yi9AtB-!q8|`gA$g=v%QERCGo{zgQe9tlYBSn77ao9Y~r=dey47jxGW`i zJ^u~HmoEJ}{bb55_K(N0>HCZxmm0>^P_mmcMi&qYl0I{CJ0la+d*Am3nQ5vkh_6;rcAr+bjwexGBa3`@6Y%=rZeM@WUe#~SpN+up zo%t?5_HkW|#^cUdM6#!P*Yx2Hrn_dvbOLWr?qPgw#tS-&bvcW5x{1?H0Lh2(8=v;t zyT4(;vqd9XKc1mi6;d&P=*4f1%P--Dw)pe%3-a24KywUWsC4_9QcAo5C*tLQMmSWd z-ycRKeiCLQt_;+o89P#_3}+}-UL9V{W!ZtqzdNUPhu2+OuN&*u&(^PK1^^^j(;{4c6?2jY#{)UhJfjXN?x(k$_w}_58HMfZuj(79U6W{_ShH?yq za|DrS({Dez@8~0a|7JDzpu^J0nGN!y5A>oJ%%K;~p%==j^?~#F*`#~vbe>T(8~y<) ze?te~V?%QzkGeMb_L~M?ZatRV5t-YCsQJdsIkMsYX6P@rUGf3RpE{Avz@_{V#6W?-061T9CiD@XgTdPuQ>Ki``6oY(X-j?mF7~e|F}z3|1l$Tp}3X9()ogY zOYU2sc+z1K4Lrh*^HT!0PixG-36A_7HW)A{OAJdN!|IK~@WnDdRzT^V3ozLeRWtFZY$(;r&+Sqd4Y&%S`h>`t3bbVE?igFAqC~t=#Em0dcG|083oOcCkCwQd#VWU$ZL{ncgtdFf8Mx&5M)OBN3g0g+mJg2OWyqH6LyrrJa&z2A zfNbsfmQuSMC@ycoQyFA2Q_oT}zmFF}*K#`+HJ>j&mE97emK%skDnyJthG|7PFK)lsINq-cRZJUn>-$P;t?!ewA{`v3%n7Nxttx$p@i+yCnPalRZTUgEWkmmb8ry z%Fec|FVprPJ*`%v@%6fxAIy*)@EW?Wn8tA{Z-|-W&be<|h4|Zfl`eJc(+!=MMUkvY z@pX@_ClZaB23@&!I<*)9t-t0v=}P5TYz`$hl=xQEu^g6@OQJ@x$IU7m4O*j-I;hkn zx%~z{8B*ougZ@;a)_NJvxT;)Msx{UQB_#2;Ly6GKM%hCeDG-u3Us6(dEZA4%he&Ua zlZFiH{`lK03v1B6I#9;#ktLX`3fT^{)2zNyQPDOiEH$NQhu~UKudat?oBC6w4qT_% zVvFvGXDA7x*2EF^Ei(xlF0m$K_}rFsS93b)h2EI#0ZYoQ19x8KkYo36X3Fh4g)OD= z993HdfAzT&Rr|Fm^=xrK@G)EaLv6z%cLd)@;M;<-<6pK_Y_~uqcj46U{AK$waPfw< zPS)B^*PtwDPpSA%^EG+W>EfgC-nm(2`(x4x`H5vIg#r`N&k5D_nl`E@bFEc>$~O0^ zx@Lr4>9l?g6g@=q8|Rv%jC|s&%U-SiB!>Y%{-t8YYvx66X%Up&&!;+$*W=U9cY{VK z)J9z_y|aJ%SD`L33$jLVv_-rJy>)a%L?_oy^0x$E@xD*3Sk$RSorA2BBE32w$p0D` zD&+p@?4IQ917+ZGk>T5XFE^)fFq(g(Yf7+zUujv~=bXY5nx=BckV~FVNYJ^@Jmvri zu1fI~3iOw#;s!Wo)u6vtx#eC=3Ovy&H?>mU_+47C`;pHeZNeqPh4mKhs$eMS;}xS^ z?vbc_iFG>rc1J4c4sAF~!=$HErl>iI%^#aCxG-iJuPI9n#d9gF6VMp7z}T2j%xmWJ;_dGmw2L^=J&~YNXlLn+izBMw?WaPr3@OK#M6<| zPM$FGqbt2NdiHS7k>B|R{{NFU3FoGFeIy{De>DHwr0u`|7Y8(IL?xZq_ZCCrp4iUR_Z z0vcSvm7tRs;3oz0n_y`}&iRB5wZ^_)drrwU6~m{VvgmVfJ72rKX5VN1W;tJVjz4pG zzA*f?*7t$*IQvhC>)zkMmcL@BBjRuo?{x1YkZs-XGqGzA$?3Wh;@G$C4@+&kLUPMb zPAfdLr{59STMls1ee=O@+y0Kw!>oC+Vx?I=s4DlF9;kH>cr)rKCDRXIEHgY;h_K?ZK6RM1NsE=)mSe*) zDLqfmJl@ImyuG3HT7p!}16k@Y=_)KBM}`F@v?z3u<3!n7YmvpP1{REH zG?D*}Cff*1*ipE_Tzo}u$D-4w8r%L0=Nh8J6tvx3eFYs|V!?u97yZY}Q;0Y4e7fG< z+(!MX!JY)Es+*&Yd2JC7!HwL~%|&!TcROLjse`DxK6Z|z+q=g=qs<&Z^cTVIS~gfF zq9FrvfOk@e_d4GKLQ%mQIIVWa)1izvAto}_%*hs6TxB2XwTX>t{Svv~y}-eXfzDoy zUA7Rcw0nG zYrAT1Ni1-FMhkhsyO@-GXc$=z%*(?|-QI%-FABLL7>sV1QJor*Jc9VB%#8AR)AIrS z`lz)_f?^|MZDuCWp5>ngiM@)v)nVq)3xj6WOdzL~_CxFNfo>#yK&_|N%cbK1_jsIE z7a86q{4jE-E>qHHDc`Fz#AXDKrzb{g+*;I0uJsin1FA^UggKlpJD5l^bNbG?9@<50 z*hWxpxP^8ddt#lTtqKe& z(b_-OZZk;R9Uc^_Akca$iYtkjIj7JvS4gR-Wcp1(+VqSV{8AGjRAAz>Axw}GmbLi= z8J3vM!Gu_M3M!54n8*`*c_Ux6M;8AtSM9f>#|F)zvKR$HSH;TwIR}ioY{Ht1@=}6u0u`jNa?7OQv*Q2va~_VwM)q7@`r)K~%q)wsTp4 zAd$A~C9=JXO4x@!dg(l~#LrgMkvWI{nKrx}p=UM`i*EE2eV-PYbH%?xVjQ)+H;zCXvk#HhvS>eevH*qj1Q57Uz z!DA&y$XtM>NS-mWx_FQ%qehvg!-b#e%4&{ScWwpFgp z1W&WMd9L4a_p%VxP?Zl&nJ=Zb0Y5l%7^eZ1AGhXOJGUgp&Tv78k(VCdNS8IXK)`&9vI*%HTazD)tEbh1)Y_NjvVNOoDU)E0#LK z?S;BO=~iwOcia%r+rRrTVLaxonU}h4y=SUpoCouTraWEUwk^Q!3OSNZ5;v?$l#D_K zW12u1<-41`CK614TF#52Z;u2EQ2)6jm#9d#wxeTDC9#SIp95vX|91+t;ds ztUO3;Iq_ZL0Y8gPqpgnV4g|3r`yxhETHANvz7pYLZ>WZW3h8QY6cU=@{FD$_48NVY=E zl(vJ#aHmKkp6n;L;-hJ(ok%(LONP}~{&od#azH6FIRb64VA!ae?vp3Cf-+9YnN0OS z3CUNGBV!Tfol>(+raC9pbX=nk+Dy1gb2SFjuCNL%l1n&w251*hnk0%a3O2gDWc|Y#>J^_S7Ugrb>cd<{e6S?;KhWsbHP@puQ#` zzWuCG0C(V8Q5S6>LLtpDrGy5(?I8aq{N?cCqQu&caqx^36y3`SV%5}U1JSjEVQqVw zNaz-xS4=-U(;clIg*G~@!-!jWg*?T3L*;(!DZ{NceVD-uR1NBDU3*A~g1^d-N|^`k z^3YM2V$Cpx1`gBvVv)HnrQ*6lV4wIn=#CZxq!q3**oM{|i~ zzp*eZ6H^w5t_^%-gt9RYEEryhV||EEt-Nh6S)R*yIi8s~J8oaelu3=`zx2R6srXe@ za5OP{D{Lbwc?T4#nyllBNOx+;f%~eKOvCFR8<{u_k#KorG3ommbxLbLt%=8@=zw?w zjiARD%!Q!WEQXIWfP%osBF;$;ZsEC5ozxPCK9^FReQ64-oVI zfHg`!{4odUp@O{8%#g~|@#gziE0B5tFgNES1JpqA+Hk41E{4p*U4ZBgE}6%ryr7<@ z*n^bWS-X?+$;y`G8|mUARE~}V?E5D}WHMeiGG3f;y`l_~@p!Xm=%{k@+Luc6kxAzz zfObx%Q+r)owsUpvrn$)r_j*U5lYQZXjb@Z{EqHn@@bOMmCw-tF7Y*XQ4K__1r%Ui$ zj&Jq_S6J}TFxuiC4gACKsjv*8J=O~}?(F3fEFFdFBfzN4oFwI8eqht$|&)?Ac?Gd-XJ=Y?@K3yn=$@@r|e+M-_UjBHx!SQy+ zZZ@XRr8e{?`e#9^W+;pC8&Q6nP$SA8OX#~)+V>sBP$$)b&=1;W=`P8h$m zw~YN_>gY*~`33DXu2)?=kv!C@5A1ALYgRb5@GmIq$*cI+O!`-7`maLYHGN@)q9m)w z#>!^XS;7g)4p{915j4#_D2QD%7@s&|yLZh4zW6>dMJXz33(WKaU6X}OgdKnM{LD9o zA8d;FNHWcO9Mi2uZzH~Otl<@pIj7g*M7DVHy>U|b6l7cW$*!POubAg;5%#q>DZBv> z{e-f8{Q5pVBk1qY8@~+t2UqI-2+tlLO!yNU(*98-;En1>54i=}CsnnQ=JlQ-_66`N zx#8A%49Z>QPTA^O);u!0U0&`DsmfZ2Kk$}GvXzh-PORh0AHd(|^U3ylAP6^V4qflq zeX-q7L*Ma=aCK~-B7U1GT=|5UIv!-7JujQ3ou+l;b49PPn#eA0Z~WN5 z4cc%0fR*3oj?Cn3m+_+~$IKca0M0o*gShJMv-l>Yx+B{C4PU?9Ju~7r$?+0B)Dqd& zJE2LLcjR;eho6r@J(RXSOq(l5u=jCD<6IVci@-w<|p-KcQ@z54fZL5{fXi|IG|@|T-#c|y190V zVGZpS`yn|w;M>{^!wgaP>Fw)kx%g_-Ci@8s_xbI-*1LC>7W_>I{2ht?gNOU#1HSE5 z^uo?|rMN!Sy&A`S_Ne9gZTRnaF%>Iwh8e*)_Mvelvy^dI z@s`GAWo}XI(^4witPJI2+SVX0iSD(9zi-*84O24t!yAcRM=6|$QGrYpgLt?s(J-Bc zG@T4@3XL9Z+`h`7S979HapL-sQlK-LpG$KwgHk|q-Awzx^lpPkQIc{=`w;2AF=KNN z_Lhz=;q(`CdW#!8go!O=gh*R30gbxDRk9`u^Y$V|Wy)vW5}mR{C6#eu9TQjqQmL%N+#nqR$U0#;1(J zjW1xtm*#Si!7ru)B=yxetRc^A!+G=$bg zRqd|3vZt#Vh4A(jWsOqWBpLCqlHDDf_>?SqMA6m?Px_Qot;Z{gwBh17BI*4g{ig$G zw!wEz@YX9dN7o-@JyA)@-NyW>VaZ)5_fdXNQu>8V+O?Rn^9{JFbPsN{?%qLKQoCcc zRap|EYaye6gq0bN;++mA&V)+EfpJ=eX-Y}xbiJr4`ZnkiV}=oRA%7OGD8<_mN>wZ! z@eqTWH=QaX*&xfTGRLf3jWymFuKhoow}5WJ1ikr|tTJu! zlP}Ha>5ul~pUtzz8vAq#+zkQ zR`V5W#Iv^i;op@aISoGp(S{Z|05OG$h5u16O!^6`8dA66bli_4xh zEGwt2%6cXdTx+-)rCyxO;q&C+iwz{IpO>124c*gIYTl_;LtFqIF%3bq1(BVUT~>c& zFse(OXzwm@_%?^iF*J0NFbxe5g-+1B3zll7N7lzfmML?}aRmJEeH;F4j(``0dS{y- zZNnCLDbVcZiTfs%fAV=Aw<^$!*NNSjclaV=yFc3{i6bW6?m>H?cpWir5y_V<@wcx3 z+X}_kKE2SJmV=+2$M%3|lk(C;*K4qKEB94N={X){ew**xzWI-_i70FIU7UF2^dOb3 z&GQvl)RRa^N+Tmr{X6mIOu_$yLQ!iH%EX5|VHN!FL79J4XQ6!Edx&)H#R>U1)|Ec* z3!1Ah^z%O%Mcp7L5e0-mKsYKuKurIuLzTRdrKz#=e`AWOb^c#5y!W&#Z7NY50~{n+ z_D@JW7$O)W4Ky$bVkqeq9R~?0EE%&Qlc9tDWzVXXgRqTkW%UTHh+?0m=%t$W>cy$r zx3$f+(Pph>_5WoQO-@ZRFoIsk?ds0>yyke#beng+%DoM*#@(n%#T>GKTT*qOs+-S! zCi?6Nzi5y1JuQkq_4e|)s#qeBJ$_~P|}l2W7D$A>|D zE;I6oH00yqk;R0Kkqip{#iw%iCdCkY^B}<|Ti@5Sd|5D|&%Q2BPiyfgUzsfI;@OZs z^*YC)PjfFHmX_7qI4TZKBXb9YrOCZ6OzYtt9xKtOd9-gyx4O3vNS}ImRHco2cyy)3 z-7T2W7yhczhVoXB6mBdrjdJ`%Vd06AjrSmF|N_qJXK=I-`}b9ZVW93kDM(8Z7{Lo@s8BjwL^fO)Uhg7BiHPnLcCv8 z?2@y*B;6#?RB4Dw%%(bGk*HQ=V<3Y(0AZ7Ck!%PynNGwd(^P6e8)uVl5pAeWv`M;R z5w!0xF_&;HF)<&<%AwtaH~dYXy|0{p!YkLKMqi@&$7$!fyud1Ljw4T{(a6}v$x}m! zqs?!-zY&wrafG5IChSaG-jL~T^xZb{2AB^Gz2i7v(MbzuBOSG|u?}ZrV~qx_$UNJy zRADSpS0>7dCU0dGJz)u6O)6L}g08$=T^cr?9v6|;Wy%pSX5~_ol;%j)!Lzl9z?d^7 zTE^xbe16WiH!f)6aJW{gW# zKe@$8w{u&tcd6oQP{racg66_TPDp3*$S!d=HYQ13D)Y{ktvBJoT9oxw!rNYIlI;V@ zTKSN0!VQPxKBV!|DI!c1T8>iTXAw1S#=w%iuk1xlyr}GD6-SbszKeDlmk{E6zQIZT zU}0{c%bDAPka+HIh1)*~(Kd=g63CLUEcjRpy341Em5sC>o*)+t_lDVU+SjhWG97v@ zr>Df{V-+#FOu{b8&+R^fyYH|MQlPOBW&34>xUzGLXn(Z>Di646(M;$FwI}))J#tNo zV^J$dqlce?A9K!2FCuV-M$oC?W#k@v43%*1y#K7gu)i zt8ROeQ-v&srj@od%V1ud>1TG>TNEFy4mmAp5eSS~l}@9@_&_mCT8$Qqm+Ui*(z|kDy@ey!Q>V$4qmmh_8eZ~} zh;f2~^x=ktQF&F!+8;tc501a6YXFuc?1Jf{krM+HYwm+Ju-+-m2ct-}XKMQKJMARpGXFP7oWdoXZznv)OFs2s0V^)y5WAK?Gxk zwD900z#~Mg&U2Cz89Qs4dE%ljVZk#1U(j+OU>3YHtshwJJvk8>KJW%_w9UL(C)jv| z7{N$r3^mzb#f9zudfg&s9Bu5Fa83%S6qsM$@HwIx3at~Ik07JIq+szYynte7xN#(Hxp{ zHmWANEubz)lW=A@NbT_o+t@Z7I*{-4ITYTYw!$S?CyjZ1jnK~t8hpGD7<3a8mMC?0 z_Wd|Woe0qBM^0VW7sq%Ii;NSOm%P2#@zgL*}nq_Mv0Fi z(kxXUpeHZxS#u?q8Pg8S+|fKaM|fgZK60jx;L@F$!HjB_8f26r>)s^fE$Nd8sFOZE z%JX=HQ*Hf=r@%vXNj0Cd-0%3npLKY0B(FmWAT91Vkc@EUeer-x6aT?rCnEnQJL?+9 z+`&`V&cV#e>T$|S`7yLb)BR!c1#C&%@Kr106w-t>;ZE7BgwiXl9Q2e)py2#R0d-ueL9c=T%u~))p!Aeq@9X7XPzFD?9o8|? zed{RxpNT8*MS2c%&e)YzjD*FVL`V|jdqJ7`?hBA&4)%FUcX6-G;+Yi0ma(*s{P}#n zi<&=Kb>r|Fmp{}vuOfN$Cy{o9z6nE-Wfbq&P>3*`OX}>aA}f+C$m<&@@+9Ug zvz5#BkZcVm&5-iGPJgtZW3Id5I}#(yD=s@D)(!puNR@Dr>Yh@u{pkv2H2m8A>tYmJ zVYGDlOG!&)jk)sR$P0`zy+{vTH={*}VB3mFvbrZ0z!U9VCy}KDBzCKKKMdHdlh7i` zPlvRP&N#WEOegSaPDY>A=i93jIxapc>_HErUTod$`02cs{DXSY9bCqjdm7)07eF~- zGWLf)?ma7?R+4e&1f{@*x!_QCeV-SO+obDE@DfbpZ4Tq#fFSxqi$7K-)~FbF4BLk( zG)>F7E)Sj}L|bTvbEaB?AaP-IGagf>0&rh9BJM$^Kpq6plPtjyQl*d6Vd=^sVh zf!NtUTBt+Id<{#hW+PchiCj3`SED3D8a1(29i9csXKia>*hS5pvHVV}mXw>~BP}1; zn}=8rgg&kLJL@UiWow(=EOmpNO3!O!T1hU5oC-d`8>Q3P)$FyF(mphsg3&aa5HmKa zUo5uK!Td<^Pu!Ks{Qk6nSjVy4C$BM;!U`*5HCclv9pM*gkhVJth9!sOz&u+0~+iEKFn)Irczzjq-pBm)ZqF1 z52D_TEcztTvV~8f(^%1H^WsILNVO#^X(H#iU{>082GcaWDfP|nkG(U(YU|#ldL|Ak z-?0$%t?pgEbQQ){wVgq-Ap_sN@Ot_WZYy>1dgc$VEz?BF=f@5F?HVlLvW@1wJ;w?d zs-N$s(RK$~wY;%!@9wVAcKhA5zCeHSo3_BH?SW$D(=n_asGoyoP8{DY@8jM^_i}Gr z&gd+g&+vLi2l?wQu(QqX<=^!*AWmQKSWh=}Z(y@aAvjNpcVdBxcEbryYhK9(baNV^ zbr68&XkS6m1YSWyd~g+$dT^Sy(ths}FlXVzW0`XU3~XM!SQl(C<%R4gG;?)mdg25| z!*kd{D%PD!sjB>o@lZ3)CT;BFIXl?TeS3!y?t;*=XAv~N7+QliWtdIw>rLN{;MSayZZxmZx0kWDXIiyl0me)mYLG1CY>;n6?)dbelt zmMl{159cZ5?g6ejSbJxM-aBn~ShsFV5u#6j@|=xZG${%PLHMk&FN64dJ$bHOTVZuC zt-4pAl)}vjN8RD_jDh*!HdGuF+m>FZ!J4gLIODTN!kp7gREDkx{{86&E)5`~A|+UZ zsANOZ(c3Pb%L)4C%iT z<1eI?Pi5Y+%z*ns$3_K+wcNG9pYH0Z6ZmFJN(zBKmn0GUWxIf^e6^Fi?d79lN(hWS z?w~aRobn}zm(^xYhyulgb*cWoq$3I!Vfr8aE+~{6@gLXPt+=O>=+I}(84GUU-H75v zWkIogrDh$Do(0pl&D@#rkIsy#5la|HMetkK)+x+>gihG;<#2n0QAIw9^57f|xO4n106pq<(-&h3tLGoK**Khctv&2)BpbWBgX-0>1kyeggv zYAj#}_s6E8%qWlrHzw_RH%A+GG@|6cLhbJrUyo8-6_ko=!wTv<+>KB`e*enAv$w`Ul68k;+u6E*JhEAMN4+C29raHMI~!TM{1mT&&!VOdayapu^%PQurx?6rgvu{h(rk?5c62;hVGXoA^> zc)`N>pxxDL+dTo|yAIR?`Y3?$g}PzTxtZ|yI|}rJdqKnapx#~4zWL+7V-K(c`HF_| zg}K?FfAItAJqX+Z|Hy&yCAfj0e`)pSa|RFqf9YX-Fz)WO@9uzp4T66I-w^2Bl=^=k z27bf7Fwno$`tvyf{6Ih4Fg_6azE1+bpyBOSzE}EH(A7VIKK`HdZ9sKLfnLD$&VX)U2yJ_UJ^=jCp4KcOgMEr~3 zozwMvcEr_+&fCOwBOoGBKhqK$E-u$_Bio!1?N6>WLID6i5dDGW=mb!FbQvK5Fe)r|BjF|UO6xAO)fc7+7C z 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 literal 0 HcmV?d00001 diff --git a/vendor/gems/environment.rb b/vendor/gems/environment.rb new file mode 100755 index 00000000..a0d9f35c --- /dev/null +++ b/vendor/gems/environment.rb @@ -0,0 +1,205 @@ +# DO NOT MODIFY THIS FILE +module Bundler + file = File.expand_path(__FILE__) + dir = File.dirname(file) + + ENV["PATH"] = "#{dir}/../../bin:#{ENV["PATH"]}" + ENV["RUBYOPT"] = "-r#{file} #{ENV["RUBYOPT"]}" + + $LOAD_PATH.unshift File.expand_path("#{dir}/gems/rdoc-2.4.3/bin") + $LOAD_PATH.unshift File.expand_path("#{dir}/gems/rdoc-2.4.3/lib") + $LOAD_PATH.unshift File.expand_path("#{dir}/gems/configuration-1.1.0/bin") + $LOAD_PATH.unshift File.expand_path("#{dir}/gems/configuration-1.1.0/lib") + $LOAD_PATH.unshift File.expand_path("#{dir}/gems/builder-2.1.2/bin") + $LOAD_PATH.unshift File.expand_path("#{dir}/gems/builder-2.1.2/lib") + $LOAD_PATH.unshift File.expand_path("#{dir}/gems/daemons-1.0.10/bin") + $LOAD_PATH.unshift File.expand_path("#{dir}/gems/daemons-1.0.10/lib") + $LOAD_PATH.unshift File.expand_path("#{dir}/gems/extlib-0.9.13/bin") + $LOAD_PATH.unshift File.expand_path("#{dir}/gems/extlib-0.9.13/lib") + $LOAD_PATH.unshift File.expand_path("#{dir}/gems/json-1.2.0/bin") + $LOAD_PATH.unshift File.expand_path("#{dir}/gems/json-1.2.0/ext/json/ext") + $LOAD_PATH.unshift File.expand_path("#{dir}/gems/json-1.2.0/ext") + $LOAD_PATH.unshift File.expand_path("#{dir}/gems/json-1.2.0/lib") + $LOAD_PATH.unshift File.expand_path("#{dir}/gems/eventmachine-0.12.10/bin") + $LOAD_PATH.unshift File.expand_path("#{dir}/gems/eventmachine-0.12.10/lib") + $LOAD_PATH.unshift File.expand_path("#{dir}/gems/rack-1.0.1/bin") + $LOAD_PATH.unshift File.expand_path("#{dir}/gems/rack-1.0.1/lib") + $LOAD_PATH.unshift File.expand_path("#{dir}/gems/shotgun-0.4/bin") + $LOAD_PATH.unshift File.expand_path("#{dir}/gems/shotgun-0.4/lib") + $LOAD_PATH.unshift File.expand_path("#{dir}/gems/rack-test-0.5.1/bin") + $LOAD_PATH.unshift File.expand_path("#{dir}/gems/rack-test-0.5.1/lib") + $LOAD_PATH.unshift File.expand_path("#{dir}/gems/sinatra-0.9.4/bin") + $LOAD_PATH.unshift File.expand_path("#{dir}/gems/sinatra-0.9.4/lib") + $LOAD_PATH.unshift File.expand_path("#{dir}/gems/thin-1.2.5/bin") + $LOAD_PATH.unshift File.expand_path("#{dir}/gems/thin-1.2.5/lib") + $LOAD_PATH.unshift File.expand_path("#{dir}/gems/sdoc-0.2.14.1/bin") + $LOAD_PATH.unshift File.expand_path("#{dir}/gems/sdoc-0.2.14.1/lib") + $LOAD_PATH.unshift File.expand_path("#{dir}/gems/yui-compressor-0.9.1/bin") + $LOAD_PATH.unshift File.expand_path("#{dir}/gems/yui-compressor-0.9.1/lib") + $LOAD_PATH.unshift File.expand_path("#{dir}/gems/polyglot-0.2.9/bin") + $LOAD_PATH.unshift File.expand_path("#{dir}/gems/polyglot-0.2.9/lib") + $LOAD_PATH.unshift File.expand_path("#{dir}/gems/treetop-1.4.2/bin") + $LOAD_PATH.unshift File.expand_path("#{dir}/gems/treetop-1.4.2/lib") + $LOAD_PATH.unshift File.expand_path("#{dir}/gems/rake-0.8.7/bin") + $LOAD_PATH.unshift File.expand_path("#{dir}/gems/rake-0.8.7/lib") + $LOAD_PATH.unshift File.expand_path("#{dir}/gems/launchy-0.3.3/bin") + $LOAD_PATH.unshift File.expand_path("#{dir}/gems/launchy-0.3.3/lib") + $LOAD_PATH.unshift File.expand_path("#{dir}/gems/sprockets-1.0.2/bin") + $LOAD_PATH.unshift File.expand_path("#{dir}/gems/sprockets-1.0.2/lib") + $LOAD_PATH.unshift File.expand_path("#{dir}/gems/haml-2.2.13/bin") + $LOAD_PATH.unshift File.expand_path("#{dir}/gems/haml-2.2.13/lib") + $LOAD_PATH.unshift File.expand_path("#{dir}/gems/diff-lcs-1.1.2/bin") + $LOAD_PATH.unshift File.expand_path("#{dir}/gems/diff-lcs-1.1.2/lib") + $LOAD_PATH.unshift File.expand_path("#{dir}/gems/rspec-1.2.9/bin") + $LOAD_PATH.unshift File.expand_path("#{dir}/gems/rspec-1.2.9/lib") + $LOAD_PATH.unshift File.expand_path("#{dir}/gems/highline-1.5.1/bin") + $LOAD_PATH.unshift File.expand_path("#{dir}/gems/highline-1.5.1/lib") + $LOAD_PATH.unshift File.expand_path("#{dir}/gems/templater-1.0.0/bin") + $LOAD_PATH.unshift File.expand_path("#{dir}/gems/templater-1.0.0/lib") + $LOAD_PATH.unshift File.expand_path("#{dir}/gems/term-ansicolor-1.0.4/bin") + $LOAD_PATH.unshift File.expand_path("#{dir}/gems/term-ansicolor-1.0.4/lib") + $LOAD_PATH.unshift File.expand_path("#{dir}/gems/cucumber-0.4.4/bin") + $LOAD_PATH.unshift File.expand_path("#{dir}/gems/cucumber-0.4.4/lib") + $LOAD_PATH.unshift File.expand_path("#{dir}/gems/sinatra-content-for-0.2/bin") + $LOAD_PATH.unshift File.expand_path("#{dir}/gems/sinatra-content-for-0.2/lib") + $LOAD_PATH.unshift File.expand_path("#{dir}/gems/compass-0.8.17/bin") + $LOAD_PATH.unshift File.expand_path("#{dir}/gems/compass-0.8.17/lib") + + @gemfile = "#{dir}/../../Gemfile" + + require "rubygems" + + @bundled_specs = {} + @bundled_specs["rdoc"] = eval(File.read("#{dir}/specifications/rdoc-2.4.3.gemspec")) + @bundled_specs["rdoc"].loaded_from = "#{dir}/specifications/rdoc-2.4.3.gemspec" + @bundled_specs["configuration"] = eval(File.read("#{dir}/specifications/configuration-1.1.0.gemspec")) + @bundled_specs["configuration"].loaded_from = "#{dir}/specifications/configuration-1.1.0.gemspec" + @bundled_specs["builder"] = eval(File.read("#{dir}/specifications/builder-2.1.2.gemspec")) + @bundled_specs["builder"].loaded_from = "#{dir}/specifications/builder-2.1.2.gemspec" + @bundled_specs["daemons"] = eval(File.read("#{dir}/specifications/daemons-1.0.10.gemspec")) + @bundled_specs["daemons"].loaded_from = "#{dir}/specifications/daemons-1.0.10.gemspec" + @bundled_specs["extlib"] = eval(File.read("#{dir}/specifications/extlib-0.9.13.gemspec")) + @bundled_specs["extlib"].loaded_from = "#{dir}/specifications/extlib-0.9.13.gemspec" + @bundled_specs["json"] = eval(File.read("#{dir}/specifications/json-1.2.0.gemspec")) + @bundled_specs["json"].loaded_from = "#{dir}/specifications/json-1.2.0.gemspec" + @bundled_specs["eventmachine"] = eval(File.read("#{dir}/specifications/eventmachine-0.12.10.gemspec")) + @bundled_specs["eventmachine"].loaded_from = "#{dir}/specifications/eventmachine-0.12.10.gemspec" + @bundled_specs["rack"] = eval(File.read("#{dir}/specifications/rack-1.0.1.gemspec")) + @bundled_specs["rack"].loaded_from = "#{dir}/specifications/rack-1.0.1.gemspec" + @bundled_specs["shotgun"] = eval(File.read("#{dir}/specifications/shotgun-0.4.gemspec")) + @bundled_specs["shotgun"].loaded_from = "#{dir}/specifications/shotgun-0.4.gemspec" + @bundled_specs["rack-test"] = eval(File.read("#{dir}/specifications/rack-test-0.5.1.gemspec")) + @bundled_specs["rack-test"].loaded_from = "#{dir}/specifications/rack-test-0.5.1.gemspec" + @bundled_specs["sinatra"] = eval(File.read("#{dir}/specifications/sinatra-0.9.4.gemspec")) + @bundled_specs["sinatra"].loaded_from = "#{dir}/specifications/sinatra-0.9.4.gemspec" + @bundled_specs["thin"] = eval(File.read("#{dir}/specifications/thin-1.2.5.gemspec")) + @bundled_specs["thin"].loaded_from = "#{dir}/specifications/thin-1.2.5.gemspec" + @bundled_specs["sdoc"] = eval(File.read("#{dir}/specifications/sdoc-0.2.14.1.gemspec")) + @bundled_specs["sdoc"].loaded_from = "#{dir}/specifications/sdoc-0.2.14.1.gemspec" + @bundled_specs["yui-compressor"] = eval(File.read("#{dir}/specifications/yui-compressor-0.9.1.gemspec")) + @bundled_specs["yui-compressor"].loaded_from = "#{dir}/specifications/yui-compressor-0.9.1.gemspec" + @bundled_specs["polyglot"] = eval(File.read("#{dir}/specifications/polyglot-0.2.9.gemspec")) + @bundled_specs["polyglot"].loaded_from = "#{dir}/specifications/polyglot-0.2.9.gemspec" + @bundled_specs["treetop"] = eval(File.read("#{dir}/specifications/treetop-1.4.2.gemspec")) + @bundled_specs["treetop"].loaded_from = "#{dir}/specifications/treetop-1.4.2.gemspec" + @bundled_specs["rake"] = eval(File.read("#{dir}/specifications/rake-0.8.7.gemspec")) + @bundled_specs["rake"].loaded_from = "#{dir}/specifications/rake-0.8.7.gemspec" + @bundled_specs["launchy"] = eval(File.read("#{dir}/specifications/launchy-0.3.3.gemspec")) + @bundled_specs["launchy"].loaded_from = "#{dir}/specifications/launchy-0.3.3.gemspec" + @bundled_specs["sprockets"] = eval(File.read("#{dir}/specifications/sprockets-1.0.2.gemspec")) + @bundled_specs["sprockets"].loaded_from = "#{dir}/specifications/sprockets-1.0.2.gemspec" + @bundled_specs["haml"] = eval(File.read("#{dir}/specifications/haml-2.2.13.gemspec")) + @bundled_specs["haml"].loaded_from = "#{dir}/specifications/haml-2.2.13.gemspec" + @bundled_specs["diff-lcs"] = eval(File.read("#{dir}/specifications/diff-lcs-1.1.2.gemspec")) + @bundled_specs["diff-lcs"].loaded_from = "#{dir}/specifications/diff-lcs-1.1.2.gemspec" + @bundled_specs["rspec"] = eval(File.read("#{dir}/specifications/rspec-1.2.9.gemspec")) + @bundled_specs["rspec"].loaded_from = "#{dir}/specifications/rspec-1.2.9.gemspec" + @bundled_specs["highline"] = eval(File.read("#{dir}/specifications/highline-1.5.1.gemspec")) + @bundled_specs["highline"].loaded_from = "#{dir}/specifications/highline-1.5.1.gemspec" + @bundled_specs["templater"] = eval(File.read("#{dir}/specifications/templater-1.0.0.gemspec")) + @bundled_specs["templater"].loaded_from = "#{dir}/specifications/templater-1.0.0.gemspec" + @bundled_specs["term-ansicolor"] = eval(File.read("#{dir}/specifications/term-ansicolor-1.0.4.gemspec")) + @bundled_specs["term-ansicolor"].loaded_from = "#{dir}/specifications/term-ansicolor-1.0.4.gemspec" + @bundled_specs["cucumber"] = eval(File.read("#{dir}/specifications/cucumber-0.4.4.gemspec")) + @bundled_specs["cucumber"].loaded_from = "#{dir}/specifications/cucumber-0.4.4.gemspec" + @bundled_specs["sinatra-content-for"] = eval(File.read("#{dir}/specifications/sinatra-content-for-0.2.gemspec")) + @bundled_specs["sinatra-content-for"].loaded_from = "#{dir}/specifications/sinatra-content-for-0.2.gemspec" + @bundled_specs["compass"] = eval(File.read("#{dir}/specifications/compass-0.8.17.gemspec")) + @bundled_specs["compass"].loaded_from = "#{dir}/specifications/compass-0.8.17.gemspec" + + def self.add_specs_to_loaded_specs + Gem.loaded_specs.merge! @bundled_specs + end + + def self.add_specs_to_index + @bundled_specs.each do |name, spec| + Gem.source_index.add_spec spec + end + end + + add_specs_to_loaded_specs + add_specs_to_index + + def self.require_env(env = nil) + context = Class.new do + def initialize(env) @env = env && env.to_s ; end + def method_missing(*) ; yield if block_given? ; end + def only(*env) + old, @only = @only, _combine_only(env.flatten) + yield + @only = old + end + def except(*env) + old, @except = @except, _combine_except(env.flatten) + yield + @except = old + end + def gem(name, *args) + opt = args.last.is_a?(Hash) ? args.pop : {} + only = _combine_only(opt[:only] || opt["only"]) + except = _combine_except(opt[:except] || opt["except"]) + files = opt[:require_as] || opt["require_as"] || name + files = [files] unless files.respond_to?(:each) + + return unless !only || only.any? {|e| e == @env } + return if except && except.any? {|e| e == @env } + + if files = opt[:require_as] || opt["require_as"] + files = Array(files) + files.each { |f| require f } + else + begin + require name + rescue LoadError + # Do nothing + end + end + yield if block_given? + true + end + private + def _combine_only(only) + return @only unless only + only = [only].flatten.compact.uniq.map { |o| o.to_s } + only &= @only if @only + only + end + def _combine_except(except) + return @except unless except + except = [except].flatten.compact.uniq.map { |o| o.to_s } + except |= @except if @except + except + end + end + context.new(env && env.to_s).instance_eval(File.read(@gemfile), @gemfile, 1) + end +end + +module Gem + @loaded_stacks = Hash.new { |h,k| h[k] = [] } + + def source_index.refresh! + super + Bundler.add_specs_to_index + end +end diff --git a/vendor/gems/gems/builder-2.1.2/CHANGES b/vendor/gems/gems/builder-2.1.2/CHANGES new file mode 100755 index 00000000..4843141c --- /dev/null +++ b/vendor/gems/gems/builder-2.1.2/CHANGES @@ -0,0 +1,85 @@ += Change Log + +== Version 2.1.2 + +* Fixed bug where private methods in kernel could leak through using + tag!(). Thanks to Hagen Overdick for finding and diagnosing this + bug. + + +== Version 2.1.1 + +* Fixed typo in XmlMarkup class docs (ident => indent). (from Martin + Fowler). +* Removed extra directory indirection from legacy CVS to SVN move. +* Removed some extraneous tabs from source. +* Fixed test on private methods in blankslate to differentiate between + targetted and untargetted private methods. +* Removed legacy capture of @self in XmlBase (@self was used back when + we used instance eval). +* Added additional tests for global functions (both direct and included). + +== Version 2.1.0 + +* Fixed bug in BlankSlate where including a module into Object could + cause methods to leak into BlankSlate. +* Made BlankSlate available as its own gem. Currently the builder gem + still directly includes the BlankSlate code. +* Added reveal capability to BlankSlate. + +== Version 2.0.0 + +* Added doc directory +* Added unit tests for XmlEvents. +* Added XChar module and used it in the _escape method. +* Attributes are now quoted by default when strings. Use Symbol + attribute values for unquoted behavior. + +== Version 1.2.4 + +* Added a cdata! command to an XML Builder (from Josh Knowles). + +== Version 1.2.3 + +The attributes in the instruction will be ordered: +version, encoding, standalone. + +== Version 1.2.2 + +Another fix for BlankSlate. The Kernal/Object traps added in 1.2.1 +failed when a method was defined late more than once. Since the +method was already marked as removed, another attempt to undefine it +raised an error. The fix was to check the list of instance methods +before attempting the undef operation. Thanks to Florian Gross and +David Heinemeier Hansson for the patch. + +== Version 1.2.1 + +BlankSlate now traps method definitions in Kernel and Object to avoid +late method definitions inadvertently becoming part of the definition +of BlankSlate as well. + +== Version 1.2.0 + +Improved support for entity declarations by allowing nested +declarations and removal of the attribute processing. + +Added namespace support. + +== Version 1.1.0 + +Added support for comments, entity declarations and processing instructions. + +== Version 1.0.0 + +Removed use of instace_eval making the use of XmlMarkup much +less prone to error. + +== Version 0.1.1 + +Bug fix. + +== Version 0.1.0 + +Initial version release. + diff --git a/vendor/gems/gems/builder-2.1.2/README b/vendor/gems/gems/builder-2.1.2/README new file mode 100755 index 00000000..5ba72dff --- /dev/null +++ b/vendor/gems/gems/builder-2.1.2/README @@ -0,0 +1,210 @@ += Project: Builder + +== Goal + +Provide a simple way to create XML markup and data structures. + +== Classes + +Builder::XmlMarkup:: Generate XML markup notiation +Builder::XmlEvents:: Generate XML events (i.e. SAX-like) + +Notes:: + +* An Builder::XmlTree class to generate XML tree + (i.e. DOM-like) structures is also planned, but not yet implemented. + Also, the events builder is currently lagging the markup builder in + features. + +== Usage + + require 'rubygems' + require_gem 'builder', '~> 2.0' + + builder = Builder::XmlMarkup.new + xml = builder.person { |b| b.name("Jim"); b.phone("555-1234") } + xml #=> Jim555-1234 + +or + + require 'rubygems' + require_gem 'builder' + + builder = Builder::XmlMarkup.new(:target=>STDOUT, :indent=>2) + builder.person { |b| b.name("Jim"); b.phone("555-1234") } + # + # Prints: + # + # Jim + # 555-1234 + # + +== Compatibility + +=== Version 2.0.0 Compatibility Changes + +Version 2.0.0 introduces automatically escaped attribute values for +the first time. Versions prior to 2.0.0 did not insert escape +characters into attribute values in the XML markup. This allowed +attribute values to explicitly reference entities, which was +occasionally used by a small number of developers. Since strings +could always be explicitly escaped by hand, this was not a major +restriction in functionality. + +However, it did suprise most users of builder. Since the body text is +normally escaped, everybody expected the attribute values to be +escaped as well. Escaped attribute values were the number one support +request on the 1.x Builder series. + +Starting with Builder version 2.0.0, all attribute values expressed as +strings will be processed and the appropriate characters will be +escaped (e.g. "&" will be tranlated to "&"). Attribute values +that are expressed as Symbol values will not be processed for escaped +characters and will be unchanged in output. (Yes, this probably counts +as Symbol abuse, but the convention is convenient and flexible). + +Example: + + xml = Builder::XmlMarkup.new + xml.sample(:escaped=>"This&That", :unescaped=>:"Here&There") + xml.target! => + + +=== Version 1.0.0 Compatibility Changes + +Version 1.0.0 introduces some changes that are not backwards +compatible with earlier releases of builder. The main areas of +incompatibility are: + +* Keyword based arguments to +new+ (rather than positional based). It + was found that a developer would often like to specify indentation + without providing an explicit target, or specify a target without + indentation. Keyword based arguments handle this situation nicely. + +* Builder must now be an explicit target for markup tags. Instead of + writing + + xml_markup = Builder::XmlMarkup.new + xml_markup.div { strong("text") } + + you need to write + + xml_markup = Builder::XmlMarkup.new + xml_markup.div { xml_markup.strong("text") } + +* The builder object is passed as a parameter to all nested markup + blocks. This allows you to create a short alias for the builder + object that can be used within the block. For example, the previous + example can be written as: + + xml_markup = Builder::XmlMarkup.new + xml_markup.div { |xml| xml.strong("text") } + +* If you have both a pre-1.0 and a post-1.0 gem of builder installed, + you can choose which version to use through the RubyGems + +require_gem+ facility. + + require_gem 'builder', "~> 0.0" # Gets the old version + require_gem 'builder', "~> 1.0" # Gets the new version + +== Features + +* XML Comments are supported ... + + xml_markup.comment! "This is a comment" + #=> + +* XML processing instructions are supported ... + + xml_markup.instruct! :xml, :version=>"1.0", :encoding=>"UTF-8" + #=> + + If the processing instruction is omitted, it defaults to "xml". + When the processing instruction is "xml", the defaults attributes + are: + + version:: 1.0 + encoding:: "UTF-8" + +* XML entity declarations are now supported to a small degree. + + xml_markup.declare! :DOCTYPE, :chapter, :SYSTEM, "../dtds/chapter.dtd" + #=> + + The parameters to a declare! method must be either symbols or + strings. Symbols are inserted without quotes, and strings are + inserted with double quotes. Attribute-like arguments in hashes are + not allowed. + + If you need to have an argument to declare! be inserted without + quotes, but the arguement does not conform to the typical Ruby + syntax for symbols, then use the :"string" form to specify a symbol. + + For example: + + xml_markup.declare! :ELEMENT, :chapter, :"(title,para+)" + #=> + + Nested entity declarations are allowed. For example: + + @xml_markup.declare! :DOCTYPE, :chapter do |x| + x.declare! :ELEMENT, :chapter, :"(title,para+)" + x.declare! :ELEMENT, :title, :"(#PCDATA)" + x.declare! :ELEMENT, :para, :"(#PCDATA)" + end + + #=> + + + + + ]> + +* Some support for XML namespaces is now available. If the first + argument to a tag call is a symbol, it will be joined to the tag to + produce a namespace:tag combination. It is easier to show this than + describe it. + + xml.SOAP :Envelope do ... end + + Just put a space before the colon in a namespace to produce the + right form for builder (e.g. "SOAP:Envelope" => + "xml.SOAP :Envelope") + +* String attribute values are now escaped by default by + Builder (NOTE: this is _new_ behavior as of version 2.0). + + However, occasionally you need to use entities in attribute values. + Using a symbols (rather than a string) for an attribute value will + cause Builder to not run its quoting/escaping algorithm on that + particular value. + + (Note: The +escape_attrs+ option for builder is now + obsolete). + + Example: + + xml = Builder::XmlMarkup.new + xml.sample(:escaped=>"This&That", :unescaped=>:"Here&There") + xml.target! => + + +* UTF-8 Support + + Builder correctly translates UTF-8 characters into valid XML. (New + in version 2.0.0). Thanks to Sam Ruby for the translation code. + + Example: + + xml = Builder::Markup.new + xml.sample("Iñtërnâtiônàl") + xml.target! => + "Iñtërnâtiônàl" + +== Contact + +Author:: Jim Weirich +Email:: jim@weirichhouse.org +Home Page:: http://onestepback.org +License:: MIT Licence (http://www.opensource.org/licenses/mit-license.html) diff --git a/vendor/gems/gems/builder-2.1.2/Rakefile b/vendor/gems/gems/builder-2.1.2/Rakefile new file mode 100755 index 00000000..89e1ae2c --- /dev/null +++ b/vendor/gems/gems/builder-2.1.2/Rakefile @@ -0,0 +1,263 @@ +# Rakefile for rake -*- ruby -*- + +# Copyright 2004, 2005, 2006 by Jim Weirich (jim@weirichhouse.org). +# All rights reserved. + +# Permission is granted for use, copying, modification, distribution, +# and distribution of modified versions of this work as long as the +# above copyright notice is included. + +require 'rake/clean' +require 'rake/testtask' +require 'rake/rdoctask' +begin + require 'rubygems' + require 'rake/gempackagetask' +rescue Exception + nil +end + +# Determine the current version of the software + +CLOBBER.include('pkg') + +CURRENT_VERSION = '2.1.2' +PKG_VERSION = ENV['REL'] ? ENV['REL'] : CURRENT_VERSION + +SRC_RB = FileList['lib/**/*.rb'] + +# The default task is run if rake is given no explicit arguments. + +desc "Default Task" +task :default => :test_all + +# Test Tasks --------------------------------------------------------- + +desc "Run all tests" +task :test_all => [:test_units] +task :ta => [:test_all] + +task :tu => [:test_units] + +Rake::TestTask.new("test_units") do |t| + t.test_files = FileList['test/test*.rb'] + t.verbose = false +end + +# Create a task to build the RDOC documentation tree. + +rd = Rake::RDocTask.new("rdoc") { |rdoc| + rdoc.rdoc_dir = 'html' + rdoc.title = "Builder for Markup" + rdoc.options << '--line-numbers' << '--inline-source' << '--main' << 'README' + rdoc.rdoc_files.include('lib/**/*.rb', '[A-Z]*', 'doc/**/*.rdoc') + rdoc.template = 'doc/jamis.rb' +} + +# ==================================================================== +# Create a task that will package the Rake software into distributable +# gem files. + +PKG_FILES = FileList[ + 'lib/**/*.rb', + 'test/**/*.rb', + 'scripts/**/*.rb' +] +PKG_FILES.exclude('test/testcssbuilder.rb') +PKG_FILES.exclude('lib/builder/css.rb') + +BLANKSLATE_FILES = FileList[ + 'lib/blankslate.rb', + 'test/testblankslate.rb' +] + +if ! defined?(Gem) + puts "Package Target requires RubyGEMs" +else + spec = Gem::Specification.new do |s| + + #### Basic information. + + s.name = 'builder' + s.version = PKG_VERSION + s.summary = "Builders for MarkUp." + s.description = %{\ +Builder provides a number of builder objects that make creating structured data +simple to do. Currently the following builder objects are supported: + +* XML Markup +* XML Events +} + + s.files = PKG_FILES.to_a + s.require_path = 'lib' + s.autorequire = 'builder' + + s.test_files = PKG_FILES.select { |fn| fn =~ /^test\/test/ } + + s.has_rdoc = true + s.extra_rdoc_files = rd.rdoc_files.reject { |fn| fn =~ /\.rb$/ }.to_a + s.rdoc_options << + '--title' << 'Builder -- Easy XML Building' << + '--main' << 'README' << + '--line-numbers' + + s.author = "Jim Weirich" + s.email = "jim@weirichhouse.org" + s.homepage = "http://onestepback.org" + end + + blankslate_spec = Gem::Specification.new do |s| + + #### Basic information. + + s.name = 'blankslate' + s.version = PKG_VERSION + s.summary = "Blank Slate base class." + s.description = %{\ +BlankSlate provides a base class where almost all of the methods from Object and +Kernel have been removed. This is useful when providing proxy object and other +classes that make heavy use of method_missing. +} + + s.files = BLANKSLATE_FILES.to_a + s.require_path = 'lib' + s.autorequire = 'builder' + + s.test_files = PKG_FILES.select { |fn| fn =~ /^test\/test/ } + + s.has_rdoc = true + s.extra_rdoc_files = rd.rdoc_files.reject { |fn| fn =~ /\.rb$/ }.to_a + s.rdoc_options << + '--title' << 'BlankSlate -- Base Class for building proxies.' << + '--main' << 'README' << + '--line-numbers' + + s.author = "Jim Weirich" + s.email = "jim@weirichhouse.org" + s.homepage = "http://onestepback.org" + end + + namespace 'builder' do + Rake::GemPackageTask.new(spec) do |t| + t.need_tar = true + end + end + + namespace 'blankslate' do + Rake::GemPackageTask.new(blankslate_spec) do |t| + t.need_tar = true + end + end + + task :package => ['builder:package', 'blankslate:package'] +end + +desc "Look for Debugging print lines" +task :dbg do + FileList['**/*.rb'].egrep /\bDBG|\bbreakpoint\b/ +end + +# -------------------------------------------------------------------- +# Creating a release + +def announce(msg='') + STDERR.puts msg +end + +desc "Make a new release" +task :release => [ + :prerelease, + :clobber, + :test_all, + :update_version, + :package, + :tag] do + + announce + announce "**************************************************************" + announce "* Release #{PKG_VERSION} Complete." + announce "* Packages ready to upload." + announce "**************************************************************" + announce +end + +# Validate that everything is ready to go for a release. +task :prerelease do + announce + announce "**************************************************************" + announce "* Making RubyGem Release #{PKG_VERSION}" + announce "* (current version #{CURRENT_VERSION})" + announce "**************************************************************" + announce + + # Is a release number supplied? + unless ENV['REL'] + fail "Usage: rake release REL=x.y.z [REUSE=tag_suffix]" + end + + # Is the release different than the current release. + # (or is REUSE set?) + if PKG_VERSION == CURRENT_VERSION && ! ENV['REUSE'] + fail "Current version is #{PKG_VERSION}, must specify REUSE=tag_suffix to reuse version" + end + + # Are all source files checked in? + if ENV['RELTEST'] + announce "Release Task Testing, skipping checked-in file test" + else + announce "Checking for unchecked-in files..." + data = `cvs -q update` + unless data =~ /^$/ + fail "CVS update is not clean ... do you have unchecked-in files?" + end + announce "No outstanding checkins found ... OK" + end +end + +task :update_version => [:prerelease] do + if PKG_VERSION == CURRENT_VERSION + announce "No version change ... skipping version update" + else + announce "Updating Builder version to #{PKG_VERSION}" + open("Rakefile") do |rakein| + open("Rakefile.new", "w") do |rakeout| + rakein.each do |line| + if line =~ /^CURRENT_VERSION\s*=\s*/ + rakeout.puts "CURRENT_VERSION = '#{PKG_VERSION}'" + else + rakeout.puts line + end + end + end + end + mv "Rakefile.new", "Rakefile" + if ENV['RELTEST'] + announce "Release Task Testing, skipping commiting of new version" + else + sh %{cvs commit -m "Updated to version #{PKG_VERSION}" Rakefile} + end + end +end + +desc "Tag all the CVS files with the latest release number (REL=x.y.z)" +task :tag => [:prerelease] do + reltag = "REL_#{PKG_VERSION.gsub(/\./, '_')}" + reltag << ENV['REUSE'].gsub(/\./, '_') if ENV['REUSE'] + announce "Tagging CVS with [#{reltag}]" + if ENV['RELTEST'] + announce "Release Task Testing, skipping CVS tagging" + else + sh %{cvs tag #{reltag}} + end +end + +desc "Install the jamis RDoc template" +task :install_jamis_template do + require 'rbconfig' + dest_dir = File.join(Config::CONFIG['rubylibdir'], "rdoc/generators/template/html") + fail "Unabled to write to #{dest_dir}" unless File.writable?(dest_dir) + install "doc/jamis.rb", dest_dir, :verbose => true +end + +require 'scripts/publish' diff --git a/vendor/gems/gems/builder-2.1.2/doc/releases/builder-1.2.4.rdoc b/vendor/gems/gems/builder-2.1.2/doc/releases/builder-1.2.4.rdoc new file mode 100755 index 00000000..a1cf54fd --- /dev/null +++ b/vendor/gems/gems/builder-2.1.2/doc/releases/builder-1.2.4.rdoc @@ -0,0 +1,31 @@ += Builder 1.2.4 Released. + +Added a "CDATA" method to the XML Markup builder (from Josh Knowles). + +== What is Builder? + +Builder::XmlMarkup allows easy programmatic creation of XML markup. +For example: + + builder = Builder::XmlMarkup.new(:target=>STDOUT, :indent=>2) + builder.person { |b| b.name("Jim"); b.phone("555-1234") } + puts builder.target! + +will generate: + + + Jim + 555-1234 + + +== Availability + +The easiest way to get and install builder is via RubyGems ... + + gem install builder (you may need root/admin privileges) + +== Thanks + +* Josh Knowles for the cdata! patch. + +-- Jim Weirich diff --git a/vendor/gems/gems/builder-2.1.2/doc/releases/builder-2.0.0.rdoc b/vendor/gems/gems/builder-2.1.2/doc/releases/builder-2.0.0.rdoc new file mode 100755 index 00000000..ed9e086d --- /dev/null +++ b/vendor/gems/gems/builder-2.1.2/doc/releases/builder-2.0.0.rdoc @@ -0,0 +1,46 @@ += Builder 2.0.0 Released. + +== Changes in 2.0.0 + +* UTF-8 characters in data are now correctly translated to their XML + equivalents. (Thanks to Sam Ruby) + +* Attribute values are now escaped by default. See the README + file for details. + +NOTE: The escaping attribute values by default is different +than in previous releases of Builder. This makes version 2.0.0 +somewhat incompatible with the 1.x series of Builder. If you use "&", +"<", or ">" in attributes values, you may have to change your +code. (Essentially you remove the manual escaping. The new way is +easier, believe me). + +== What is Builder? + +Builder::XmlMarkup is a library that allows easy programmatic creation +of XML markup. For example: + + builder = Builder::XmlMarkup.new(:target=>STDOUT, :indent=>2) + builder.person { |b| b.name("Jim"); b.phone("555-1234") } + +will generate: + + + Jim + 555-1234 + + +== Availability + +The easiest way to get and install builder is via RubyGems ... + + gem install builder (you may need root/admin privileges) + +== Thanks + +* Sam Ruby for the XChar module and the related UTF-8 translation + tools. +* Also to Sam Ruby for gently persuading me to start quoting attribute + values. + +-- Jim Weirich diff --git a/vendor/gems/gems/builder-2.1.2/doc/releases/builder-2.1.1.rdoc b/vendor/gems/gems/builder-2.1.2/doc/releases/builder-2.1.1.rdoc new file mode 100755 index 00000000..dbbf1213 --- /dev/null +++ b/vendor/gems/gems/builder-2.1.2/doc/releases/builder-2.1.1.rdoc @@ -0,0 +1,58 @@ += Builder 2.1.1 Released. + +Release 2.1.1 of Builder is mainly a bug fix release. + +== Changes in 2.1.1 + +* Added reveal capability to BlankSlate. + +* Fixed a bug in BlankSlate where including a module into Object could + cause methods to leak into BlankSlate. + +* Fixed typo in XmlMarkup class docs (from Martin Fowler). + +* Fixed test on private methods to differentiate between targetted and + untargetted private methods. + +* Removed legacy capture of @self in XmlBase (@self was used back when + we used instance eval). + +* Added additional tests for global functions (both direct and + included). + +* Several misc internal cleanups, including rearranging the source + code tree. + +NOTE: The escaping attribute values by default is different +than in previous releases of Builder. This makes version 2.0.x +somewhat incompatible with the 1.x series of Builder. If you use "&", +"<", or ">" in attributes values, you may have to change your +code. (Essentially you remove the manual escaping. The new way is +easier, believe me). + +== What is Builder? + +Builder::XmlMarkup is a library that allows easy programmatic creation +of XML markup. For example: + + builder = Builder::XmlMarkup.new(:target=>STDOUT, :indent=>2) + builder.person { |b| b.name("Jim"); b.phone("555-1234") } + +will generate: + + + Jim + 555-1234 + + +== Availability + +The easiest way to get and install builder is via RubyGems ... + + gem install builder (you may need root/admin privileges) + +== Thanks + +* Martin Fowler for spotting some typos in the documentation. + +-- Jim Weirich diff --git a/vendor/gems/gems/builder-2.1.2/lib/blankslate.rb b/vendor/gems/gems/builder-2.1.2/lib/blankslate.rb new file mode 100755 index 00000000..0f30838f --- /dev/null +++ b/vendor/gems/gems/builder-2.1.2/lib/blankslate.rb @@ -0,0 +1,113 @@ +#!/usr/bin/env ruby +#-- +# Copyright 2004, 2006 by Jim Weirich (jim@weirichhouse.org). +# All rights reserved. + +# Permission is granted for use, copying, modification, distribution, +# and distribution of modified versions of this work as long as the +# above copyright notice is included. +#++ + +###################################################################### +# BlankSlate provides an abstract base class with no predefined +# methods (except for \_\_send__ and \_\_id__). +# BlankSlate is useful as a base class when writing classes that +# depend upon method_missing (e.g. dynamic proxies). +# +class BlankSlate + class << self + + # Hide the method named +name+ in the BlankSlate class. Don't + # hide +instance_eval+ or any method beginning with "__". + def hide(name) + if instance_methods.include?(name.to_s) and + name !~ /^(__|instance_eval)/ + @hidden_methods ||= {} + @hidden_methods[name.to_sym] = instance_method(name) + undef_method name + end + end + + def find_hidden_method(name) + @hidden_methods ||= {} + @hidden_methods[name] || superclass.find_hidden_method(name) + end + + # Redefine a previously hidden method so that it may be called on a blank + # slate object. + def reveal(name) + bound_method = nil + unbound_method = find_hidden_method(name) + fail "Don't know how to reveal method '#{name}'" unless unbound_method + define_method(name) do |*args| + bound_method ||= unbound_method.bind(self) + bound_method.call(*args) + end + end + end + + instance_methods.each { |m| hide(m) } +end + +###################################################################### +# Since Ruby is very dynamic, methods added to the ancestors of +# BlankSlate after BlankSlate is defined will show up in the +# list of available BlankSlate methods. We handle this by defining a +# hook in the Object and Kernel classes that will hide any method +# defined after BlankSlate has been loaded. +# +module Kernel + class << self + alias_method :blank_slate_method_added, :method_added + + # Detect method additions to Kernel and remove them in the + # BlankSlate class. + def method_added(name) + result = blank_slate_method_added(name) + return result if self != Kernel + BlankSlate.hide(name) + result + end + end +end + +###################################################################### +# Same as above, except in Object. +# +class Object + class << self + alias_method :blank_slate_method_added, :method_added + + # Detect method additions to Object and remove them in the + # BlankSlate class. + def method_added(name) + result = blank_slate_method_added(name) + return result if self != Object + BlankSlate.hide(name) + result + end + + def find_hidden_method(name) + nil + end + end +end + +###################################################################### +# Also, modules included into Object need to be scanned and have their +# instance methods removed from blank slate. In theory, modules +# included into Kernel would have to be removed as well, but a +# "feature" of Ruby prevents late includes into modules from being +# exposed in the first place. +# +class Module + alias blankslate_original_append_features append_features + def append_features(mod) + result = blankslate_original_append_features(mod) + return result if mod != Object + instance_methods.each do |name| + BlankSlate.hide(name) + end + result + end +end \ No newline at end of file diff --git a/vendor/gems/gems/builder-2.1.2/lib/builder.rb b/vendor/gems/gems/builder-2.1.2/lib/builder.rb new file mode 100755 index 00000000..97192776 --- /dev/null +++ b/vendor/gems/gems/builder-2.1.2/lib/builder.rb @@ -0,0 +1,13 @@ +#!/usr/bin/env ruby + +#-- +# Copyright 2004 by Jim Weirich (jim@weirichhouse.org). +# All rights reserved. + +# Permission is granted for use, copying, modification, distribution, +# and distribution of modified versions of this work as long as the +# above copyright notice is included. +#++ + +require 'builder/xmlmarkup' +require 'builder/xmlevents' diff --git a/vendor/gems/gems/builder-2.1.2/lib/builder/blankslate.rb b/vendor/gems/gems/builder-2.1.2/lib/builder/blankslate.rb new file mode 100755 index 00000000..2935b6f1 --- /dev/null +++ b/vendor/gems/gems/builder-2.1.2/lib/builder/blankslate.rb @@ -0,0 +1,20 @@ +#!/usr/bin/env ruby +#-- +# Copyright 2004, 2006 by Jim Weirich (jim@weirichhouse.org). +# All rights reserved. + +# Permission is granted for use, copying, modification, distribution, +# and distribution of modified versions of this work as long as the +# above copyright notice is included. +#++ + +require 'blankslate' + +###################################################################### +# BlankSlate has been promoted to a top level name and is now +# available as a standalone gem. We make the name available in the +# Builder namespace for compatibility. +# +module Builder + BlankSlate = ::BlankSlate +end diff --git a/vendor/gems/gems/builder-2.1.2/lib/builder/xchar.rb b/vendor/gems/gems/builder-2.1.2/lib/builder/xchar.rb new file mode 100755 index 00000000..3a752bab --- /dev/null +++ b/vendor/gems/gems/builder-2.1.2/lib/builder/xchar.rb @@ -0,0 +1,115 @@ +#!/usr/bin/env ruby + +# The XChar library is provided courtesy of Sam Ruby (See +# http://intertwingly.net/stories/2005/09/28/xchar.rb) + +# -------------------------------------------------------------------- + +# If the Builder::XChar module is not currently defined, fail on any +# name clashes in standard library classes. + +module Builder + def self.check_for_name_collision(klass, method_name, defined_constant=nil) + if klass.instance_methods.include?(method_name) + fail RuntimeError, + "Name Collision: Method '#{method_name}' is already defined in #{klass}" + end + end +end + +if ! defined?(Builder::XChar) + Builder.check_for_name_collision(String, "to_xs") + Builder.check_for_name_collision(Fixnum, "xchr") +end + +###################################################################### +module Builder + + #################################################################### + # XML Character converter, from Sam Ruby: + # (see http://intertwingly.net/stories/2005/09/28/xchar.rb). + # + module XChar # :nodoc: + + # See + # http://intertwingly.net/stories/2004/04/14/i18n.html#CleaningWindows + # for details. + CP1252 = { # :nodoc: + 128 => 8364, # euro sign + 130 => 8218, # single low-9 quotation mark + 131 => 402, # latin small letter f with hook + 132 => 8222, # double low-9 quotation mark + 133 => 8230, # horizontal ellipsis + 134 => 8224, # dagger + 135 => 8225, # double dagger + 136 => 710, # modifier letter circumflex accent + 137 => 8240, # per mille sign + 138 => 352, # latin capital letter s with caron + 139 => 8249, # single left-pointing angle quotation mark + 140 => 338, # latin capital ligature oe + 142 => 381, # latin capital letter z with caron + 145 => 8216, # left single quotation mark + 146 => 8217, # right single quotation mark + 147 => 8220, # left double quotation mark + 148 => 8221, # right double quotation mark + 149 => 8226, # bullet + 150 => 8211, # en dash + 151 => 8212, # em dash + 152 => 732, # small tilde + 153 => 8482, # trade mark sign + 154 => 353, # latin small letter s with caron + 155 => 8250, # single right-pointing angle quotation mark + 156 => 339, # latin small ligature oe + 158 => 382, # latin small letter z with caron + 159 => 376, # latin capital letter y with diaeresis + } + + # See http://www.w3.org/TR/REC-xml/#dt-chardata for details. + PREDEFINED = { + 38 => '&', # ampersand + 60 => '<', # left angle bracket + 62 => '>', # right angle bracket + } + + # See http://www.w3.org/TR/REC-xml/#charsets for details. + VALID = [ + 0x9, 0xA, 0xD, + (0x20..0xD7FF), + (0xE000..0xFFFD), + (0x10000..0x10FFFF) + ] + end + +end + + +###################################################################### +# Enhance the Fixnum class with a XML escaped character conversion. +# +class Fixnum + XChar = Builder::XChar if ! defined?(XChar) + + # XML escaped version of chr + def xchr + n = XChar::CP1252[self] || self + case n when *XChar::VALID + XChar::PREDEFINED[n] or (n<128 ? n.chr : "&##{n};") + else + '*' + end + end +end + + +###################################################################### +# Enhance the String class with a XML escaped character version of +# to_s. +# +class String + # XML escaped version of to_s + def to_xs + unpack('U*').map {|n| n.xchr}.join # ASCII, UTF-8 + rescue + unpack('C*').map {|n| n.xchr}.join # ISO-8859-1, WIN-1252 + end +end diff --git a/vendor/gems/gems/builder-2.1.2/lib/builder/xmlbase.rb b/vendor/gems/gems/builder-2.1.2/lib/builder/xmlbase.rb new file mode 100755 index 00000000..8e13483b --- /dev/null +++ b/vendor/gems/gems/builder-2.1.2/lib/builder/xmlbase.rb @@ -0,0 +1,139 @@ +#!/usr/bin/env ruby + +require 'builder/blankslate' + +module Builder + + # Generic error for builder + class IllegalBlockError < RuntimeError; end + + # XmlBase is a base class for building XML builders. See + # Builder::XmlMarkup and Builder::XmlEvents for examples. + class XmlBase < BlankSlate + + # Create an XML markup builder. + # + # out:: Object receiving the markup. +out+ must respond to + # <<. + # indent:: Number of spaces used for indentation (0 implies no + # indentation and no line breaks). + # initial:: Level of initial indentation. + # + def initialize(indent=0, initial=0) + @indent = indent + @level = initial + end + + # Create a tag named +sym+. Other than the first argument which + # is the tag name, the arguements are the same as the tags + # implemented via method_missing. + def tag!(sym, *args, &block) + method_missing(sym.to_sym, *args, &block) + end + + # Create XML markup based on the name of the method. This method + # is never invoked directly, but is called for each markup method + # in the markup block. + def method_missing(sym, *args, &block) + text = nil + attrs = nil + sym = "#{sym}:#{args.shift}" if args.first.kind_of?(Symbol) + args.each do |arg| + case arg + when Hash + attrs ||= {} + attrs.merge!(arg) + else + text ||= '' + text << arg.to_s + end + end + if block + unless text.nil? + raise ArgumentError, "XmlMarkup cannot mix a text argument with a block" + end + _indent + _start_tag(sym, attrs) + _newline + _nested_structures(block) + _indent + _end_tag(sym) + _newline + elsif text.nil? + _indent + _start_tag(sym, attrs, true) + _newline + else + _indent + _start_tag(sym, attrs) + text! text + _end_tag(sym) + _newline + end + @target + end + + # Append text to the output target. Escape any markup. May be + # used within the markup brakets as: + # + # builder.p { |b| b.br; b.text! "HI" } #=>


    HI

    + def text!(text) + _text(_escape(text)) + end + + # Append text to the output target without escaping any markup. + # May be used within the markup brakets as: + # + # builder.p { |x| x << "
    HI" } #=>


    HI

    + # + # This is useful when using non-builder enabled software that + # generates strings. Just insert the string directly into the + # builder without changing the inserted markup. + # + # It is also useful for stacking builder objects. Builders only + # use << to append to the target, so by supporting this + # method/operation builders can use other builders as their + # targets. + def <<(text) + _text(text) + end + + # For some reason, nil? is sent to the XmlMarkup object. If nil? + # is not defined and method_missing is invoked, some strange kind + # of recursion happens. Since nil? won't ever be an XML tag, it + # is pretty safe to define it here. (Note: this is an example of + # cargo cult programming, + # cf. http://fishbowl.pastiche.org/2004/10/13/cargo_cult_programming). + def nil? + false + end + + private + + require 'builder/xchar' + def _escape(text) + text.to_xs + end + + def _escape_quote(text) + _escape(text).gsub(%r{"}, '"') # " WART + end + + def _newline + return if @indent == 0 + text! "\n" + end + + def _indent + return if @indent == 0 || @level == 0 + text!(" " * (@level * @indent)) + end + + def _nested_structures(block) + @level += 1 + block.call(self) + ensure + @level -= 1 + end + end +end diff --git a/vendor/gems/gems/builder-2.1.2/lib/builder/xmlevents.rb b/vendor/gems/gems/builder-2.1.2/lib/builder/xmlevents.rb new file mode 100755 index 00000000..91fcd21e --- /dev/null +++ b/vendor/gems/gems/builder-2.1.2/lib/builder/xmlevents.rb @@ -0,0 +1,63 @@ +#!/usr/bin/env ruby + +#-- +# Copyright 2004 by Jim Weirich (jim@weirichhouse.org). +# All rights reserved. + +# Permission is granted for use, copying, modification, distribution, +# and distribution of modified versions of this work as long as the +# above copyright notice is included. +#++ + +require 'builder/xmlmarkup' + +module Builder + + # Create a series of SAX-like XML events (e.g. start_tag, end_tag) + # from the markup code. XmlEvent objects are used in a way similar + # to XmlMarkup objects, except that a series of events are generated + # and passed to a handler rather than generating character-based + # markup. + # + # Usage: + # xe = Builder::XmlEvents.new(hander) + # xe.title("HI") # Sends start_tag/end_tag/text messages to the handler. + # + # Indentation may also be selected by providing value for the + # indentation size and initial indentation level. + # + # xe = Builder::XmlEvents.new(handler, indent_size, initial_indent_level) + # + # == XML Event Handler + # + # The handler object must expect the following events. + # + # [start_tag(tag, attrs)] + # Announces that a new tag has been found. +tag+ is the name of + # the tag and +attrs+ is a hash of attributes for the tag. + # + # [end_tag(tag)] + # Announces that an end tag for +tag+ has been found. + # + # [text(text)] + # Announces that a string of characters (+text+) has been found. + # A series of characters may be broken up into more than one + # +text+ call, so the client cannot assume that a single + # callback contains all the text data. + # + class XmlEvents < XmlMarkup + def text!(text) + @target.text(text) + end + + def _start_tag(sym, attrs, end_too=false) + @target.start_tag(sym, attrs) + _end_tag(sym) if end_too + end + + def _end_tag(sym) + @target.end_tag(sym) + end + end + +end diff --git a/vendor/gems/gems/builder-2.1.2/lib/builder/xmlmarkup.rb b/vendor/gems/gems/builder-2.1.2/lib/builder/xmlmarkup.rb new file mode 100755 index 00000000..abc5666a --- /dev/null +++ b/vendor/gems/gems/builder-2.1.2/lib/builder/xmlmarkup.rb @@ -0,0 +1,328 @@ +#!/usr/bin/env ruby +#-- +# Copyright 2004, 2005 by Jim Weirich (jim@weirichhouse.org). +# All rights reserved. + +# Permission is granted for use, copying, modification, distribution, +# and distribution of modified versions of this work as long as the +# above copyright notice is included. +#++ + +# Provide a flexible and easy to use Builder for creating XML markup. +# See XmlBuilder for usage details. + +require 'builder/xmlbase' + +module Builder + + # Create XML markup easily. All (well, almost all) methods sent to + # an XmlMarkup object will be translated to the equivalent XML + # markup. Any method with a block will be treated as an XML markup + # tag with nested markup in the block. + # + # Examples will demonstrate this easier than words. In the + # following, +xm+ is an +XmlMarkup+ object. + # + # xm.em("emphasized") # => emphasized + # xm.em { xmm.b("emp & bold") } # => emph & bold + # xm.a("A Link", "href"=>"http://onestepback.org") + # # =>
    A Link + # xm.div { br } # =>

    + # xm.target("name"=>"compile", "option"=>"fast") + # # => + # # NOTE: order of attributes is not specified. + # + # xm.instruct! # + # xm.html { # + # xm.head { # + # xm.title("History") # History + # } # + # xm.body { # + # xm.comment! "HI" # + # xm.h1("Header") #

    Header

    + # xm.p("paragraph") #

    paragraph

    + # } # + # } # + # + # == Notes: + # + # * The order that attributes are inserted in markup tags is + # undefined. + # + # * Sometimes you wish to insert text without enclosing tags. Use + # the text! method to accomplish this. + # + # Example: + # + # xm.div { #
    + # xm.text! "line"; xm.br # line
    + # xm.text! "another line"; xmbr # another line
    + # } #
    + # + # * The special XML characters <, >, and & are converted to <, + # > and & automatically. Use the << operation to + # insert text without modification. + # + # * Sometimes tags use special characters not allowed in ruby + # identifiers. Use the tag! method to handle these + # cases. + # + # Example: + # + # xml.tag!("SOAP:Envelope") { ... } + # + # will produce ... + # + # ... " + # + # tag! will also take text and attribute arguments (after + # the tag name) like normal markup methods. (But see the next + # bullet item for a better way to handle XML namespaces). + # + # * Direct support for XML namespaces is now available. If the + # first argument to a tag call is a symbol, it will be joined to + # the tag to produce a namespace:tag combination. It is easier to + # show this than describe it. + # + # xml.SOAP :Envelope do ... end + # + # Just put a space before the colon in a namespace to produce the + # right form for builder (e.g. "SOAP:Envelope" => + # "xml.SOAP :Envelope") + # + # * XmlMarkup builds the markup in any object (called a _target_) + # that accepts the << method. If no target is given, + # then XmlMarkup defaults to a string target. + # + # Examples: + # + # xm = Builder::XmlMarkup.new + # result = xm.title("yada") + # # result is a string containing the markup. + # + # buffer = "" + # xm = Builder::XmlMarkup.new(buffer) + # # The markup is appended to buffer (using <<) + # + # xm = Builder::XmlMarkup.new(STDOUT) + # # The markup is written to STDOUT (using <<) + # + # xm = Builder::XmlMarkup.new + # x2 = Builder::XmlMarkup.new(:target=>xm) + # # Markup written to +x2+ will be send to +xm+. + # + # * Indentation is enabled by providing the number of spaces to + # indent for each level as a second argument to XmlBuilder.new. + # Initial indentation may be specified using a third parameter. + # + # Example: + # + # xm = Builder.new(:indent=>2) + # # xm will produce nicely formatted and indented XML. + # + # xm = Builder.new(:indent=>2, :margin=>4) + # # xm will produce nicely formatted and indented XML with 2 + # # spaces per indent and an over all indentation level of 4. + # + # builder = Builder::XmlMarkup.new(:target=>$stdout, :indent=>2) + # builder.name { |b| b.first("Jim"); b.last("Weirich) } + # # prints: + # # + # # Jim + # # Weirich + # # + # + # * The instance_eval implementation which forces self to refer to + # the message receiver as self is now obsolete. We now use normal + # block calls to execute the markup block. This means that all + # markup methods must now be explicitly send to the xml builder. + # For instance, instead of + # + # xml.div { strong("text") } + # + # you need to write: + # + # xml.div { xml.strong("text") } + # + # Although more verbose, the subtle change in semantics within the + # block was found to be prone to error. To make this change a + # little less cumbersome, the markup block now gets the markup + # object sent as an argument, allowing you to use a shorter alias + # within the block. + # + # For example: + # + # xml_builder = Builder::XmlMarkup.new + # xml_builder.div { |xml| + # xml.stong("text") + # } + # + class XmlMarkup < XmlBase + + # Create an XML markup builder. Parameters are specified by an + # option hash. + # + # :target=>target_object:: + # Object receiving the markup. +out+ must respond to the + # << operator. The default is a plain string target. + # + # :indent=>indentation:: + # Number of spaces used for indentation. The default is no + # indentation and no line breaks. + # + # :margin=>initial_indentation_level:: + # Amount of initial indentation (specified in levels, not + # spaces). + # + # :escape_attrs=>OBSOLETE
    :: + # The :escape_attrs option is no longer supported by builder + # (and will be quietly ignored). String attribute values are + # now automatically escaped. If you need unescaped attribute + # values (perhaps you are using entities in the attribute + # values), then give the value as a Symbol. This allows much + # finer control over escaping attribute values. + # + def initialize(options={}) + indent = options[:indent] || 0 + margin = options[:margin] || 0 + super(indent, margin) + @target = options[:target] || "" + end + + # Return the target of the builder. + def target! + @target + end + + def comment!(comment_text) + _ensure_no_block block_given? + _special("", comment_text, nil) + end + + # Insert an XML declaration into the XML markup. + # + # For example: + # + # xml.declare! :ELEMENT, :blah, "yada" + # # => + def declare!(inst, *args, &block) + _indent + @target << "" + _newline + end + + # Insert a processing instruction into the XML markup. E.g. + # + # For example: + # + # xml.instruct! + # #=> + # xml.instruct! :aaa, :bbb=>"ccc" + # #=> + # + def instruct!(directive_tag=:xml, attrs={}) + _ensure_no_block block_given? + if directive_tag == :xml + a = { :version=>"1.0", :encoding=>"UTF-8" } + attrs = a.merge attrs + end + _special( + "", + nil, + attrs, + [:version, :encoding, :standalone]) + end + + # Insert a CDATA section into the XML markup. + # + # For example: + # + # xml.cdata!("text to be included in cdata") + # #=> + # + def cdata!(text) + _ensure_no_block block_given? + _special("", text, nil) + end + + private + + # NOTE: All private methods of a builder object are prefixed when + # a "_" character to avoid possible conflict with XML tag names. + + # Insert text directly in to the builder's target. + def _text(text) + @target << text + end + + # Insert special instruction. + def _special(open, close, data=nil, attrs=nil, order=[]) + _indent + @target << open + @target << data if data + _insert_attributes(attrs, order) if attrs + @target << close + _newline + end + + # Start an XML tag. If end_too is true, then the start + # tag is also the end tag (e.g.
    + def _start_tag(sym, attrs, end_too=false) + @target << "<#{sym}" + _insert_attributes(attrs) + @target << "/" if end_too + @target << ">" + end + + # Insert an ending tag. + def _end_tag(sym) + @target << "" + end + + # Insert the attributes (given in the hash). + def _insert_attributes(attrs, order=[]) + return if attrs.nil? + order.each do |k| + v = attrs[k] + @target << %{ #{k}="#{_attr_value(v)}"} if v # " WART + end + attrs.each do |k, v| + @target << %{ #{k}="#{_attr_value(v)}"} unless order.member?(k) # " WART + end + end + + def _attr_value(value) + case value + when Symbol + value.to_s + else + _escape_quote(value.to_s) + end + end + + def _ensure_no_block(got_block) + if got_block + fail IllegalBlockError, + "Blocks are not allowed on XML instructions" + end + end + + end + +end diff --git a/vendor/gems/gems/builder-2.1.2/scripts/publish.rb b/vendor/gems/gems/builder-2.1.2/scripts/publish.rb new file mode 100755 index 00000000..76657c67 --- /dev/null +++ b/vendor/gems/gems/builder-2.1.2/scripts/publish.rb @@ -0,0 +1,17 @@ +# Optional publish task for Rake + +require 'rake/contrib/sshpublisher' +require 'rake/contrib/rubyforgepublisher' + +publisher = Rake::CompositePublisher.new +publisher.add Rake::RubyForgePublisher.new('builder', 'jimweirich') +publisher.add Rake::SshFilePublisher.new( + 'umlcoop', + 'htdocs/software/builder', + '.', + 'builder.blurb') + +desc "Publish the Documentation to RubyForge." +task :publish => [:rdoc] do + publisher.upload +end diff --git a/vendor/gems/gems/builder-2.1.2/test/performance.rb b/vendor/gems/gems/builder-2.1.2/test/performance.rb new file mode 100755 index 00000000..2d61bd53 --- /dev/null +++ b/vendor/gems/gems/builder-2.1.2/test/performance.rb @@ -0,0 +1,30 @@ +#!/usr/bin/env ruby + +require 'builder/xmlmarkup' +require 'benchmark' + +text = "This is a test of the new xml markup. Iñtërnâtiônàlizætiøn\n" * 10000 + +include Benchmark # we need the CAPTION and FMTSTR constants +include Builder +n = 50 +Benchmark.benchmark do |bm| + tf = bm.report("base") { + n.times do + x = XmlMarkup.new + x.text(text) + x.target! + end + } + def XmlMarkup._escape(text) + text.to_xs + end + tf = bm.report("to_xs") { + n.times do + x = XmlMarkup.new + x.text(text) + x.target! + end + } +end + diff --git a/vendor/gems/gems/builder-2.1.2/test/preload.rb b/vendor/gems/gems/builder-2.1.2/test/preload.rb new file mode 100755 index 00000000..daab3272 --- /dev/null +++ b/vendor/gems/gems/builder-2.1.2/test/preload.rb @@ -0,0 +1,29 @@ +#!/usr/bin/env ruby + +# We are defining method_added in Kernel and Object so that when +# BlankSlate overrides them later, we can verify that it correctly +# calls the older hooks. + +module Kernel + class << self + attr_reader :k_added_names + alias_method :preload_method_added, :method_added + def method_added(name) + preload_method_added(name) + @k_added_names ||= [] + @k_added_names << name + end + end +end + +class Object + class << self + attr_reader :o_added_names + alias_method :preload_method_added, :method_added + def method_added(name) + preload_method_added(name) + @o_added_names ||= [] + @o_added_names << name + end + end +end diff --git a/vendor/gems/gems/builder-2.1.2/test/test_xchar.rb b/vendor/gems/gems/builder-2.1.2/test/test_xchar.rb new file mode 100755 index 00000000..fb8c53a1 --- /dev/null +++ b/vendor/gems/gems/builder-2.1.2/test/test_xchar.rb @@ -0,0 +1,37 @@ +#!/usr/bin/env ruby + +require 'test/unit' +require 'builder/xchar' + +class TestXmlEscaping < Test::Unit::TestCase + def test_ascii + assert_equal 'abc', 'abc'.to_xs + end + + def test_predefined + assert_equal '&', '&'.to_xs # ampersand + assert_equal '<', '<'.to_xs # left angle bracket + assert_equal '>', '>'.to_xs # right angle bracket + end + + def test_invalid + assert_equal '*', "\x00".to_xs # null + assert_equal '*', "\x0C".to_xs # form feed + assert_equal '*', "\xEF\xBF\xBF".to_xs # U+FFFF + end + + def test_iso_8859_1 + assert_equal 'ç', "\xE7".to_xs # small c cedilla + assert_equal '©', "\xA9".to_xs # copyright symbol + end + + def test_win_1252 + assert_equal '’', "\x92".to_xs # smart quote + assert_equal '€', "\x80".to_xs # euro + end + + def test_utf8 + assert_equal '’', "\xE2\x80\x99".to_xs # right single quote + assert_equal '©', "\xC2\xA9".to_xs # copy + end +end diff --git a/vendor/gems/gems/builder-2.1.2/test/testblankslate.rb b/vendor/gems/gems/builder-2.1.2/test/testblankslate.rb new file mode 100755 index 00000000..ae5794ed --- /dev/null +++ b/vendor/gems/gems/builder-2.1.2/test/testblankslate.rb @@ -0,0 +1,183 @@ +#!/usr/bin/env ruby + +require 'test/unit' +require 'test/preload' +require 'builder/blankslate' +require 'stringio' + +# Methods to be introduced into the Object class late. +module LateObject + def late_object + 33 + end + def LateObject.included(mod) + # Modules defining an included method should not prevent blank + # slate erasure! + end +end + +# Methods to be introduced into the Kernel module late. +module LateKernel + def late_kernel + 44 + end + def LateKernel.included(mod) + # Modules defining an included method should not prevent blank + # slate erasure! + end +end + +# Introduce some late methods (both module and direct) into the Kernel +# module. +module Kernel + include LateKernel + + def late_addition + 1234 + end + + def double_late_addition + 11 + end + + def double_late_addition + 22 + end +end + + +# Introduce some late methods (both module and direct) into the Object +# class. +class Object + include LateObject + def another_late_addition + 4321 + end +end + +# Introduce some late methods by inclusion. +module GlobalModule + def global_inclusion + 42 + end +end +include GlobalModule + +def direct_global + 43 +end + +###################################################################### +# Test case for blank slate. +# +class TestBlankSlate < Test::Unit::TestCase + def setup + @bs = BlankSlate.new + end + + def test_undefined_methods_remain_undefined + assert_raise(NoMethodError) { @bs.no_such_method } + assert_raise(NoMethodError) { @bs.nil? } + end + + + # NOTE: NameError is acceptable because the lack of a '.' means that + # Ruby can't tell if it is a method or a local variable. + def test_undefined_methods_remain_undefined_during_instance_eval + assert_raise(NoMethodError, NameError) do + @bs.instance_eval do nil? end + end + assert_raise(NoMethodError, NameError) do + @bs.instance_eval do no_such_method end + end + end + + def test_private_methods_are_undefined + assert_raise(NoMethodError) do + @bs.puts "HI" + end + end + + def test_targetted_private_methods_are_undefined_during_instance_eval + assert_raise(NoMethodError, NameError) do + @bs.instance_eval do self.puts "HI" end + end + end + + def test_untargetted_private_methods_are_defined_during_instance_eval + oldstdout = $stdout + $stdout = StringIO.new + @bs.instance_eval do + puts "HI" + end + ensure + $stdout = oldstdout + end + + def test_methods_added_late_to_kernel_remain_undefined + assert_equal 1234, nil.late_addition + assert_raise(NoMethodError) { @bs.late_addition } + end + + def test_methods_added_late_to_object_remain_undefined + assert_equal 4321, nil.another_late_addition + assert_raise(NoMethodError) { @bs.another_late_addition } + end + + def test_methods_added_late_to_global_remain_undefined + assert_equal 42, global_inclusion + assert_raise(NoMethodError) { @bs.global_inclusion } + end + + def test_preload_method_added + assert Kernel.k_added_names.include?(:late_addition) + assert Object.o_added_names.include?(:another_late_addition) + end + + def test_method_defined_late_multiple_times_remain_undefined + assert_equal 22, nil.double_late_addition + assert_raise(NoMethodError) { @bs.double_late_addition } + end + + def test_late_included_module_in_object_is_ok + assert_equal 33, 1.late_object + assert_raise(NoMethodError) { @bs.late_object } + end + + def test_late_included_module_in_kernel_is_ok + assert_raise(NoMethodError) { @bs.late_kernel } + end + + def test_revealing_previously_hidden_methods_are_callable + with_to_s = Class.new(BlankSlate) do + reveal :to_s + end + assert_match /^#<.*>$/, with_to_s.new.to_s + end + + def test_revealing_a_hidden_method_twice_is_ok + with_to_s = Class.new(BlankSlate) do + reveal :to_s + reveal :to_s + end + assert_match /^#<.*>$/, with_to_s.new.to_s + end + + def test_revealing_unknown_hidden_method_is_an_error + assert_raises(RuntimeError) do + Class.new(BlankSlate) do + reveal :xyz + end + end + end + + def test_global_includes_still_work + assert_nothing_raised do + assert_equal 42, global_inclusion + assert_equal 42, Object.new.global_inclusion + assert_equal 42, "magic number".global_inclusion + assert_equal 43, direct_global + end + end +end + diff --git a/vendor/gems/gems/builder-2.1.2/test/testeventbuilder.rb b/vendor/gems/gems/builder-2.1.2/test/testeventbuilder.rb new file mode 100755 index 00000000..2d603717 --- /dev/null +++ b/vendor/gems/gems/builder-2.1.2/test/testeventbuilder.rb @@ -0,0 +1,133 @@ +class TestEvents < Test::Unit::TestCase + + class Target + attr_reader :events + + def initialize + @events = [] + end + + def start_tag(tag, attrs) + @events << [:start_tag, tag, attrs] + end + + def end_tag(tag) + @events << [:end_tag, tag] + end + + def text(string) + @events << [:text, string] + end + + end + + + def setup + @target = Target.new + @xml = Builder::XmlEvents.new(:target=>@target) + end + + def test_simple + @xml.one + expect [:start_tag, :one, nil] + expect [:end_tag, :one] + expect_done + end + + def test_nested + @xml.one { @xml.two } + expect [:start_tag, :one, nil] + expect [:start_tag, :two, nil] + expect [:end_tag, :two] + expect [:end_tag, :one] + expect_done + end + + def test_text + @xml.one("a") + expect [:start_tag, :one, nil] + expect [:text, "a"] + expect [:end_tag, :one] + expect_done + end + + def test_special_text + @xml.one("H&R") + expect [:start_tag, :one, nil] + expect [:text, "H&R"] + expect [:end_tag, :one] + expect_done + end + + def test_text_with_entity + @xml.one("H&R") + expect [:start_tag, :one, nil] + expect [:text, "H&R"] + expect [:end_tag, :one] + expect_done + end + + def test_attributes + @xml.a(:b=>"c", :x=>"y") + expect [:start_tag, :a, {:x => "y", :b => "c"}] + expect [:end_tag, :a] + expect_done + end + + def test_moderately_complex + @xml.tag! "address-book" do |x| + x.entry :id=>"1" do + x.name { + x.first "Bill" + x.last "Smith" + } + x.address "Cincinnati" + end + x.entry :id=>"2" do + x.name { + x.first "John" + x.last "Doe" + } + x.address "Columbus" + end + end + expect [:start_tag, "address-book".intern, nil] + expect [:start_tag, :entry, {:id => "1"}] + expect [:start_tag, :name, nil] + expect [:start_tag, :first, nil] + expect [:text, "Bill"] + expect [:end_tag, :first] + expect [:start_tag, :last, nil] + expect [:text, "Smith"] + expect [:end_tag, :last] + expect [:end_tag, :name] + expect [:start_tag, :address, nil] + expect [:text, "Cincinnati"] + expect [:end_tag, :address] + expect [:end_tag, :entry] + expect [:start_tag, :entry, {:id => "2"}] + expect [:start_tag, :name, nil] + expect [:start_tag, :first, nil] + expect [:text, "John"] + expect [:end_tag, :first] + expect [:start_tag, :last, nil] + expect [:text, "Doe"] + expect [:end_tag, :last] + expect [:end_tag, :name] + expect [:start_tag, :address, nil] + expect [:text, "Columbus"] + expect [:end_tag, :address] + expect [:end_tag, :entry] + expect [:end_tag, "address-book".intern] + expect_done + end + + def expect(value) + assert_equal value, @target.events.shift + end + + def expect_done + assert_nil @target.events.shift + end + +end diff --git a/vendor/gems/gems/builder-2.1.2/test/testmarkupbuilder.rb b/vendor/gems/gems/builder-2.1.2/test/testmarkupbuilder.rb new file mode 100755 index 00000000..ad173143 --- /dev/null +++ b/vendor/gems/gems/builder-2.1.2/test/testmarkupbuilder.rb @@ -0,0 +1,449 @@ +#!/usr/bin/env ruby + +#-- +# Portions copyright 2004 by Jim Weirich (jim@weirichhouse.org). +# Portions copyright 2005 by Sam Ruby (rubys@intertwingly.net). +# All rights reserved. + +# Permission is granted for use, copying, modification, distribution, +# and distribution of modified versions of this work as long as the +# above copyright notice is included. +#++ + +require 'test/unit' +require 'test/preload' +require 'builder' +require 'builder/xmlmarkup' + +class TestMarkup < Test::Unit::TestCase + def setup + @xml = Builder::XmlMarkup.new + end + + def test_create + assert_not_nil @xml + end + + def test_simple + @xml.simple + assert_equal "", @xml.target! + end + + def test_value + @xml.value("hi") + assert_equal "hi", @xml.target! + end + + def test_nested + @xml.outer { |x| x.inner("x") } + assert_equal "x", @xml.target! + end + + def test_attributes + @xml.ref(:id => 12) + assert_equal %{}, @xml.target! + end + + def test_string_attributes_are_quoted_by_default + @xml.ref(:id => "H&R") + assert_equal %{}, @xml.target! + end + + def test_symbol_attributes_are_unquoted_by_default + @xml.ref(:id => :"H&R") + assert_equal %{}, @xml.target! + end + + def test_attributes_quoted_can_be_turned_on + @xml = Builder::XmlMarkup.new + @xml.ref(:id => "") + assert_equal %{}, @xml.target! + end + + def test_mixed_attribute_quoting_with_nested_builders + x = Builder::XmlMarkup.new(:target=>@xml) + @xml.ref(:id=>:"H&R") { + x.element(:tag=>"Long&Short") + } + assert_equal "", + @xml.target! + end + + def test_multiple_attributes + @xml.ref(:id => 12, :name => "bill") + assert_match %r{^$}, @xml.target! + end + + def test_attributes_with_text + @xml.a("link", :href=>"http://onestepback.org") + assert_equal %{link}, @xml.target! + end + + def test_complex + @xml.body(:bg=>"#ffffff") { |x| + x.title("T", :style=>"red") + } + assert_equal %{T}, @xml.target! + end + + def test_funky_symbol + @xml.tag!("non-ruby-token", :id=>1) { |x| x.ok } + assert_equal %{}, @xml.target! + end + + def test_tag_can_handle_private_method + @xml.tag!("loop", :id=>1) { |x| x.ok } + assert_equal %{}, @xml.target! + end + + def test_no_explicit_marker + @xml.p { |x| x.b("HI") } + assert_equal "

    HI

    ", @xml.target! + end + + def test_reference_local_vars + n = 3 + @xml.ol { |x| n.times { x.li(n) } } + assert_equal "
    1. 3
    2. 3
    3. 3
    ", @xml.target! + end + + def test_reference_methods + @xml.title { |x| x.a { x.b(name) } } + assert_equal "<a><b>bob</b></a>", @xml.target! + end + + def test_append_text + @xml.p { |x| x.br; x.text! "HI" } + assert_equal "


    HI

    ", @xml.target! + end + + def test_ambiguous_markup + ex = assert_raises(ArgumentError) { + @xml.h1("data1") { b } + } + assert_match /\btext\b/, ex.message + assert_match /\bblock\b/, ex.message + end + + def test_capitalized_method + @xml.P { |x| x.B("hi"); x.BR(); x.EM { x.text! "world" } } + assert_equal "

    hi
    world

    ", @xml.target! + end + + def test_escaping + @xml.div { |x| x.text! ""; x.em("H&R Block") } + assert_equal %{
    <hi>H&R Block
    }, @xml.target! + end + + def test_non_escaping + @xml.div("ns:xml"=>:"&xml;") { |x| x << ""; x.em("H&R Block") } + assert_equal %{
    H&R Block
    }, @xml.target! + end + + def test_return_value + str = @xml.x("men") + assert_equal @xml.target!, str + end + + def test_stacked_builders + b = Builder::XmlMarkup.new( :target => @xml ) + b.div { @xml.span { @xml.a("text", :href=>"ref") } } + assert_equal "", @xml.target! + end + + def name + "bob" + end +end + +class TestAttributeEscaping < Test::Unit::TestCase + + def setup + @xml = Builder::XmlMarkup.new + end + + def test_element_gt + @xml.title('1<2') + assert_equal '1<2', @xml.target! + end + + def test_element_amp + @xml.title('AT&T') + assert_equal 'AT&T', @xml.target! + end + + def test_element_amp2 + @xml.title('&') + assert_equal '&amp;', @xml.target! + end + + def test_attr_less + @xml.a(:title => '2>1') + assert_equal '', @xml.target! + end + + def test_attr_amp + @xml.a(:title => 'AT&T') + assert_equal '', @xml.target! + end + + def test_attr_quot + @xml.a(:title => '"x"') + assert_equal '', @xml.target! + end + +end + +class TestNameSpaces < Test::Unit::TestCase + def setup + @xml = Builder::XmlMarkup.new(:indent=>2) + end + + def test_simple_name_spaces + @xml.rdf :RDF + assert_equal "\n", @xml.target! + end + + def test_long + xml = Builder::XmlMarkup.new(:indent=>2) + xml.instruct! + xml.rdf :RDF, + "xmlns:rdf" => :"&rdf;", + "xmlns:rdfs" => :"&rdfs;", + "xmlns:xsd" => :"&xsd;", + "xmlns:owl" => :"&owl;" do + xml.owl :Class, :'rdf:ID'=>'Bird' do + xml.rdfs :label, 'bird' + xml.rdfs :subClassOf do + xml.owl :Restriction do + xml.owl :onProperty, 'rdf:resource'=>'#wingspan' + xml.owl :maxCardinality,1,'rdf:datatype'=>'&xsd;nonNegativeInteger' + end + end + end + end + assert_match /^<\?xml/, xml.target! + assert_match /\n/m, xml.target! + end + +end + +class TestDeclarations < Test::Unit::TestCase + def setup + @xml = Builder::XmlMarkup.new(:indent=>2) + end + + def test_declare + @xml.declare! :element + assert_equal "\n", @xml.target! + end + + def test_bare_arg + @xml.declare! :element, :arg + assert_equal"\n", @xml.target! + end + + def test_string_arg + @xml.declare! :element, "string" + assert_equal"\n", @xml.target! + end + + def test_mixed_args + @xml.declare! :element, :x, "y", :z, "-//OASIS//DTD DocBook XML//EN" + assert_equal "\n", @xml.target! + end + + def test_nested_declarations + @xml = Builder::XmlMarkup.new + @xml.declare! :DOCTYPE, :chapter do |x| + x.declare! :ELEMENT, :chapter, "(title,para+)".intern + end + assert_equal "]>", @xml.target! + end + + def test_nested_indented_declarations + @xml.declare! :DOCTYPE, :chapter do |x| + x.declare! :ELEMENT, :chapter, "(title,para+)".intern + end + assert_equal "\n]>\n", @xml.target! + end + + def test_complex_declaration + @xml.declare! :DOCTYPE, :chapter do |x| + x.declare! :ELEMENT, :chapter, "(title,para+)".intern + x.declare! :ELEMENT, :title, "(#PCDATA)".intern + x.declare! :ELEMENT, :para, "(#PCDATA)".intern + end + expected = %{ + + +]> +} + assert_equal expected, @xml.target! + end +end + + +class TestSpecialMarkup < Test::Unit::TestCase + def setup + @xml = Builder::XmlMarkup.new(:indent=>2) + end + + def test_comment + @xml.comment!("COMMENT") + assert_equal "\n", @xml.target! + end + + def test_indented_comment + @xml.p { @xml.comment! "OK" } + assert_equal "

    \n \n

    \n", @xml.target! + end + + def test_instruct + @xml.instruct! :abc, :version=>"0.9" + assert_equal "\n", @xml.target! + end + + def test_indented_instruct + @xml.p { @xml.instruct! :xml } + assert_match %r{

    \n <\?xml version="1.0" encoding="UTF-8"\?>\n

    \n}, + @xml.target! + end + + def test_instruct_without_attributes + @xml.instruct! :zz + assert_equal "\n", @xml.target! + end + + def test_xml_instruct + @xml.instruct! + assert_match /^<\?xml version="1.0" encoding="UTF-8"\?>$/, @xml.target! + end + + def test_xml_instruct_with_overrides + @xml.instruct! :xml, :encoding=>"UCS-2" + assert_match /^<\?xml version="1.0" encoding="UCS-2"\?>$/, @xml.target! + end + + def test_xml_instruct_with_standalong + @xml.instruct! :xml, :encoding=>"UCS-2", :standalone=>"yes" + assert_match /^<\?xml version="1.0" encoding="UCS-2" standalone="yes"\?>$/, @xml.target! + end + + def test_no_blocks + assert_raises(Builder::IllegalBlockError) do + @xml.instruct! { |x| x.hi } + end + assert_raises(Builder::IllegalBlockError) do + @xml.comment!(:element) { |x| x.hi } + end + end + + def test_cdata + @xml.cdata!("TEST") + assert_equal "\n", @xml.target! + end + + def test_cdata_with_ampersand + @xml.cdata!("TEST&CHECK") + assert_equal "\n", @xml.target! + end +end + +class TestIndentedXmlMarkup < Test::Unit::TestCase + def setup + @xml = Builder::XmlMarkup.new(:indent=>2) + end + + def test_one_level + @xml.ol { |x| x.li "text" } + assert_equal "
      \n
    1. text
    2. \n
    \n", @xml.target! + end + + def test_two_levels + @xml.p { |x| + x.ol { x.li "text" } + x.br + } + assert_equal "

    \n

      \n
    1. text
    2. \n
    \n
    \n

    \n", @xml.target! + end + + def test_initial_level + @xml = Builder::XmlMarkup.new(:indent=>2, :margin=>4) + @xml.name { |x| x.first("Jim") } + assert_equal " \n Jim\n \n", @xml.target! + end + + class TestXmlEvents < Test::Unit::TestCase + def setup + @handler = EventHandler.new + @xe = Builder::XmlEvents.new(:target=>@handler) + end + + def test_simple + @xe.p + assert_equal [:start, :p, nil], @handler.events.shift + assert_equal [:end, :p], @handler.events.shift + end + + def test_text + @xe.p("HI") + assert_equal [:start, :p, nil], @handler.events.shift + assert_equal [:text, "HI"], @handler.events.shift + assert_equal [:end, :p], @handler.events.shift + end + + def test_attributes + @xe.p("id"=>"2") + ev = @handler.events.shift + assert_equal [:start, :p], ev[0,2] + assert_equal "2", ev[2]['id'] + assert_equal [:end, :p], @handler.events.shift + end + + def test_indented + @xml = Builder::XmlEvents.new(:indent=>2, :target=>@handler) + @xml.p { |x| x.b("HI") } + assert_equal [:start, :p, nil], @handler.events.shift + assert_equal "\n ", pop_text + assert_equal [:start, :b, nil], @handler.events.shift + assert_equal "HI", pop_text + assert_equal [:end, :b], @handler.events.shift + assert_equal "\n", pop_text + assert_equal [:end, :p], @handler.events.shift + end + + def pop_text + result = '' + while ! @handler.events.empty? && @handler.events[0][0] == :text + result << @handler.events[0][1] + @handler.events.shift + end + result + end + + class EventHandler + attr_reader :events + def initialize + @events = [] + end + + def start_tag(sym, attrs) + @events << [:start, sym, attrs] + end + + def end_tag(sym) + @events << [:end, sym] + end + + def text(txt) + @events << [:text, txt] + end + end + end + +end + diff --git a/vendor/gems/gems/compass-0.8.17/CHANGELOG.markdown b/vendor/gems/gems/compass-0.8.17/CHANGELOG.markdown new file mode 100755 index 00000000..ce689ca3 --- /dev/null +++ b/vendor/gems/gems/compass-0.8.17/CHANGELOG.markdown @@ -0,0 +1,557 @@ +COMPASS CHANGELOG +================= + +0.8.17 (September 24, 2009) +--------------------------- + +* The enumerate function now accepts an optional fourth parameter that specifies the separator to be used. + Enables fixing a bug in the Compass 960 Plugin. + +0.8.16 (September 12, 2009) +--------------------------- + +* Fixed a bug in compass that assumed compass extensions would provide stylesheets. + +0.8.15 (September 5, 2009) +-------------------------- + +* Upgrade the FSSM library to 0.0.6 to fix bugs on windows. + + +0.8.14 (September 2, 2009) +-------------------------- + +* Upgrade the FSSM library to 0.0.4 to fix bugs and enable FS Events on Mac OS. + +0.8.13 (August 30, 2009) +------------------------ + +* [Blueprint] Mixins have been added for these as +prepend-top and +append-bottom and grid classes will be generated by +blueprint-grid. +* [Command Line] The watch mode has been re-implemented to use the FSSM library by Travis Tilley. OSX users will + now have support for filesystem monitoring. Fixes an infinite looping bug that occured with syntax users. + +0.8.12 (August 22, 2009) +------------------------ + +Bug Fix Release: + +* [Compass Core] Bug fix to sprites: fixed width and height assignments for x and y position variables +* Ruby 1.9.1 fix: binding for parse_string +* [Rails] Don't suggest creating a stylesheet link to partials. + + +0.8.10 (August 16, 2009) +------------------------ +Bug Fix Release: + +* Write files in binary mode to avoid data corruption when installing images on windows. + Fixes [Issue #39](http://github.com/chriseppstein/compass/issues/#issue/39) + +0.8.9 (August 9, 2009) +---------------------- +Bug Fix Release: + +* [Blueprint] The default screen.sass generated invalid selectors due to improper nesting. A better fix is coming in the next release. + +0.8.8 (July 21, 2009) +--------------------- + +Bug Fix Release: + +* [Compass Core] Fixed a bug in alternating_rows_and_columns. Improper nesting caused some styles to be improperly rendered. + [Commit](http://github.com/chriseppstein/compass/commit/e277ed2cd3fded0b98ddaa87fc4d3b9d37cb7354) +* [YUI] Fixed a bug in yui grids where the .first div wouldn't get the right styles in some rare cases due to incorrect nesting. + [Commit](http://github.com/chriseppstein/compass/commit/4bfcef4f376ee6e5d5a2b47419d2f21ef4c6eff8) + + +0.8.7 (July 09, 2009) +--------------------- + +Bug Fix Release: + +* Load haml-edge only if it's all new and shiny. Closes GH-26. + [Commit](http://github.com/chriseppstein/compass/commit/59a6067b3a67a79bfd9a5ce325fc1be4bb6c9e78) +* [Blueprint] Added more descriptive comments to the Blueprint IE template. + [Commit](http://github.com/chriseppstein/compass/commit/8684966be1e8166a986ae81abd3daf6c44ed4f94) +* [Rails] Fixed a bug in rails integration if the request is not set on the controller. + [Commit](http://github.com/chriseppstein/compass/commit/7fba6028d8073a9124a6505aab9246b5b459db34) +* [Blueprint] Fixed a bug in the calculations for the +colborder mixin. Closes GH-25. + [Commit](http://github.com/chriseppstein/compass/commit/d2b1370c80a32f70ae6ec94126b737f4f0fc0851) + +0.8.6 (July 08, 2009) +--------------------- + +### Rails + +* The rails installer now correctly references the haml 2.2 dependency. + [Commit](http://github.com/chriseppstein/compass/commit/85bb337f50a3a3dfaafa2820d5463f7296140c9e) + by [Filip Tepper][filiptepper]. +* When installing into a new rails project, set the http paths correctly for stylesheets and javascripts + in the configuration file. + [Commit](http://github.com/chriseppstein/compass/commit/94e9696b30a9a9fd750c45e6fe3c2bc93eba506a) +* Fixed a bug in asset hosts support when compiling outside the context of a controller. + [Commit](http://github.com/chriseppstein/compass/commit/6b8bbd22b13ef4c329777913a633948e66e3da99) + +### Command Line + +* Fixed a bug that caused the output after installing to not display the conditional comments. + [Commit](http://github.com/chriseppstein/compass/commit/48a0356ad8bc7b965e64f82498a9adcc1872abad) + +### Compass Core + +* Fixed a copy & paste error in image_url() that caused the http_images_path to not get picked up unless the + http_stylesheets_path was also set. + [Commit](http://github.com/chriseppstein/compass/commit/b7a9772efb89b2b882d3fafe02813c0fc650719a) + +0.8.5 (July 06, 2009) +--------------------- + +The Compass::TestCase class now inherits from ActiveSupport::TestCase if it exists. +[Commit](http://github.com/chriseppstein/compass/commit/71d5ae8544d1c5ae49e28dcd6b3768fc39d7f01c) + +0.8.4 (July 06, 2009) +--------------------- + +Fixed a bug in rails integration introduced in 0.8.3. + +0.8.3 (July 06, 2009) +--------------------- + +Note: Compass now depends on the stable release of haml with version 2.2.0 or greater. + +### Compass Core + +* A new helper function `stylesheet_url(path)` can now be used to refer to assets that are relative to the css directory. + [Commit](http://github.com/chriseppstein/compass/commit/ff5c8500144272ee2b94271b06cce1690cbbc000). +* Cross browser ellipsis mixin is now available. Use `compass -p ellipsis` to install it into your project since it + requires some additional assets. + [Commit](http://github.com/chriseppstein/compass/commit/3d909ceda997bdcde2aec09bd72e646098389e7d). + +### Blueprint + +* The +colruler mixin now accepts an argument for the color. + [Commit](http://github.com/chriseppstein/compass/commit/a5393bbb7cd0941ab8add5be188aea1d6f9d4b00) + by [Thomas Reynolds][tdreyno]. + +### Extensions + +* A bug was fixed related to how javascript installation as part of an extension manifest. + [Commit](http://github.com/chriseppstein/compass/commit/a5393bbb7cd0941ab8add5be188aea1d6f9d4b00) + by [dturnbull][dturnbull]. +* When installing a file, the :like option can now be set to have it installed into the + same location as what it is like. E.g. `file 'foo.xml', :like => :css` will install + the foo.xml file into the top level of the project's css directory. + [Commit](http://github.com/chriseppstein/compass/commit/21cfce33db81e185ce5517818844a9849b5a836e). + +### Configuration +* Setting `http_images_path` to `:relative` is now **deprecated**. Instead, please set `relative_assets` to + `true`. + [Commit](http://github.com/chriseppstein/compass/commit/956c437fe9ffaad08b6b34d91b6cfb80d6121a2f). +* New configuration option `http_path` can be used to set the project's path relative to the server's root. + Defaults to "/". The http paths to images, stylesheets, and javascripts are now assumed to be relative to that + path but can be overridden using the `http_images_path`, `http_css_path`, `http_javascripts_path`. + [Commit](http://github.com/chriseppstein/compass/commit/6555ab3952ae37d736d54f43ee7053c2a88f4a69). + +### Command Line + +* A new command line option `--relative-assets` can be used to cause links to assets generated + via compass helper functions to be relative to the target css file. + [Commit](http://github.com/chriseppstein/compass/commit/956c437fe9ffaad08b6b34d91b6cfb80d6121a2f). + +0.8.2 (July 04, 2009) +--------------------- + +Fixed a bug that caused touch to fail on windows due to open files. (Contributor: Joe Wasson) + +0.8.1 +----- + +Fixed some build issues and a bug in the rewritten --watch mode that caused changes to partials to go unnoticed. + +0.8.0 +----- + +### Rails + +* image_url() now integrates with the rails asset handling code when + stylesheets are generated within the rails container. + **This causes your rails configuration for cache busting and asset hosts + to be used when generating your stylesheets**. Unfortunately, all + that code runs within the context of a controller, so the stylesheets + have to be generated during first request to use this functionality. If you + need to compile stylesheets offline, use the compass configuration file to set + the asset_host and asset_cache_buster. + [Commit](http://github.com/chriseppstein/compass/commit/998168160b11c8702ded0a32820ea15b70d51e83). + +* An official Rails template for Compass is now [provided][rails_template]. + [Commit](http://github.com/chriseppstein/compass/commit/f6948d1d58818ef8babce8f8f9d775562d7cd7ef) + by [Derek Perez][perezd]. + +### Blueprint + +* The Blueprint port has been upgraded to match Blueprint 0.9. The following changes were made as part + of that project: + * Removed body margins from blueprint scaffolding by default. + The old body styles can be reinstated by mixing +blueprint-scaffolding-body into your body selector(s). + [Commit](http://github.com/chriseppstein/compass/commit/45af89d4c7a396fae5d14fab4ef3bab23bcdfb6a) + by [Enrico Bianco][enricob]. + * A bug in the calculations affecting the +colborder mixin has been fixed. + [Commit](http://github.com/chriseppstein/compass/commit/4b33fae5e5c5421580ba536116cb10194f1318d1) + by [Enrico Bianco][enricob]. + Related [commit](http://github.com/chriseppstein/compass/commit/0a0a14aab597d2ec31ff9d267f6ee8cfad878e10). + * Blueprint now has inline form support. Mix +blueprint-inline-form into a form selector to make it inline. + [Commit](http://github.com/chriseppstein/compass/commit/56c745b939c763cfcc5549b54979d48ab1309087) + by [Enrico Bianco][enricob]. + * Please update the conditional comment that surrounds your IE stylesheet to use "lt IE 8" as the condition + as these styles are not needed in IE8. New blueprint projects will now use this conditional as their default. + [Commit](http://github.com/chriseppstein/compass/commit/77f6e02c0ec80d2b6fd19e611ced02be003c98ae) + by [Enrico Bianco][enricob]. + * Explicitly define image interpolation mode for IE so that images aren't jagged when resizing. + [Commit](http://github.com/chriseppstein/compass/commit/63075f82db367913efcce5e1d0f5489888e86ca4) + by [Enrico Bianco][enricob]. + +* When starting a new project based on Blueprint, a more complete screen.sass file will be + provided that follows compass best practices instead of matching blueprint css exactly. A + partials/_base.sass file is provided and already set up for blueprint customization. + [Commit](http://github.com/chriseppstein/compass/commit/11b6ea14c3ee919711fa4bdce349f88b64b68d51) + +* The sizes and borders for form styling can now be altered via mixin arguments. + [Commit](http://github.com/chriseppstein/compass/commit/b84dd3031b82547cff8e1ef1f85de66d98cd162b) + by [Thomas Reynolds][tdreyno]. + +* Grid borders can now be altered via mixin arguments. + [Commit](http://github.com/chriseppstein/compass/commit/0a0a14aab597d2ec31ff9d267f6ee8cfad878e10) + by [Thomas Reynolds][tdreyno]. + +* The reset file for blueprint has moved from compass/reset.sass to blueprint/reset.sass. Please + update your imports accordingly. Also note that some of the reset mixin names have changed + (now prefixed with blueprint-*). + [Commit](http://github.com/chriseppstein/compass/commit/2126240a1a16edacb0a758d782334a9ced5d9116) + by [Noel Gomez][noel]. + +### Compass Core + +* **Sprites**. A basic sprite mixin is now available. Import compass/utilities/sprites.sass and use the +sprite-img + mixin to set the background image from a sprite image file. Assumes every sprite in the sprite image + file has the same dimensions. + [Commit](http://github.com/chriseppstein/compass/commit/1f21d6309140c009188d350ed911eed5d34bf02e) + by [Thomas Reynolds][tdreyno]. + +* **Reset**. The compass reset is now based on [Eric Meyer's reset](http://meyerweb.com/eric/thoughts/2007/05/01/reset-reloaded/). + which makes no attempt to apply base styles like the blueprint reset does. **Existing compass projects + will want to change their reset import to point to blueprint/reset.sass** -- which is where the old + default reset for compass projects now lives -- see the blueprint notes above for more information. + [Commit](http://github.com/chriseppstein/compass/commit/2126240a1a16edacb0a758d782334a9ced5d9116) + by [Noel Gomez][noel]. + +* A bug was fixed in the tag_cloud mixin so that it actually works. + [Commit](http://github.com/chriseppstein/compass/commit/be5c0ff6731ec5e0cdac73bc47f5603c3db899b5) + by [Bjørn Arild Mæland][Chrononaut]. + +### Sass Extensions + +* The inline_image(image_path) function can now be used to generate a data url that embeds the image data in + the generated css file -- avoiding the need for another request. + This function works like image_url() in that it expects the image to be a path + relative to the images directory. There are clear advantages and disadvantages to this approach. + See [Wikipedia](http://en.wikipedia.org/wiki/Data_URI_scheme) for more details. + NOTE: Neither IE6 nor IE7 support this feature. + [Commit](http://github.com/chriseppstein/compass/commit/5a015b3824f280af56f1265bf8c3a7c64a252621). + +### Configuration + +* **Asset Hosts**. You can now configure the asset host(s) used for images via the image_url() function. + Asset hosts are off unless configured and also off when relative urls are enabled. + [Commit](http://github.com/chriseppstein/compass/commit/ef47f3dd9dbfc087de8b12a90f9a82993bbb592e). + In your compass configuration file, you must define an asset_host algorithm to be used like so: + # Return the same host for all images: + asset_host {|path| "http://assets.example.com" } + # Return a different host based on the image path. + asset_host do |path| + "http://assets%d.example.com" % (path.hash % 4) + end + + +* **Configurable Cache Buster**. You can now configure the cache buster that gets placed at the end of + images via the image_url function. This might be useful if you need to coordinate the query string + or use something other than a timestamp. + [Commit](http://github.com/chriseppstein/compass/commit/ef47f3dd9dbfc087de8b12a90f9a82993bbb592e) + Example: + asset_cache_buster do |path, file| + "busted=true" + end + +* You can now set/override arbitrary sass options by setting the sass_options configuration property + to a hash. [Commit](http://github.com/chriseppstein/compass/commit/802bca61741db31da7131c82d31fff45f9323696). + +* You can now specify additional import paths to look for sass code outside the project. + [Commit](http://github.com/chriseppstein/compass/commit/047be06a0a63923846f53849fc220fb4be69513b). + This can be done in two ways: + 1. By setting additional_import_paths to an array of paths. + 2. By (repeatedly) calling add_import_path(path) + +* The compass configuration can now be placed in PROJECT_DIR/.compass/config.rb if you so choose. + [Commit](http://github.com/chriseppstein/compass/commit/69cf32f70ac79c155198d2dbf96f50856bee9504). + + +### Command Line + +* **Watch Improvements** The watch command was rewritten for robustness and reliability. The most + important change is that generated css files will be deleted if the originating sass file is removed while + watching the project. [Commit](http://github.com/chriseppstein/compass/commit/0a232bd922695f6f659fac9f90466745d4425839). + +* The images and javascripts directories may now be set via the command line. + [Commit](http://github.com/chriseppstein/compass/84aec053d0109923ea0208ac0847684cf09cefc1). + +* The usage output (-h) of the command-line has been reformatted to make it more readable and understandable. + [Commit](http://github.com/chriseppstein/compass/f742f26208f4c5c783ba63aa0cc509bb19e06ab9). + +* The configuration file being read can now be specified explicitly using the -c option. + This also affects the output location of the --write-configuration command. + NOTE: The -c option used to be for writing the configuration file, an infrequently used option. + [Commit](http://github.com/chriseppstein/compass/d2acd343b899db960c1d3a377e2ee6f58595c6b1). + +* You can now install into the current working directory by explicitly setting the command line mode to -i + and providing no project name. + [Commit](http://github.com/chriseppstein/compass/f742f26208f4c5c783ba63aa0cc509bb19e06ab9). + +### Compass Internals + +* Some internal code was reorganized to make managing sass extensions and functions more manageable. + +* Some internal code was reorganized to make managing ruby application integration more manageable. + +* The compass unit tests were reorganized to separate rails testing from other tests. + +* The [Rip Packaging System](http://hellorip.com) is now supported. + [Commit](http://github.com/chriseppstein/compass/commit/56f36577c7654b93a349f74abf274327df23402b) + by [Will Farrington](http://github.com/wfarr). + +* A [licence is now available](http://github.com/chriseppstein/compass/blob/master/LICENSE.markdown) + making the copyrights and terms of use clear for people who care about such things. + + +0.6.14 +------ + +Extracted the css validator to an external gem that is only required if you try to use the validation feature. +This makes the compass gem a lot smaller (0.37MB instead of 4MB). To install the validator: + + sudo gem install chriseppstein-compass-validator --source http://gems.github.com/ + +0.6.8 thru 0.6.13 +----------------- + +The compass gem is now built with Jeweler instead of Echoe. No changes to speak of. These versions were bug +fixes and working out the new release process. + +0.6.7 +----- + +Bug fix release. + +### Rails + +The output_style will no longer be set in the compass.config file. Instead compass will use the runtime rails environment to set a sensible default. + +### Command Line + +The Sass cache directory will be placed into the sass directory of the project instead of the directory from where the compass command was ran. + +### Compass Core + +Extracted two new mixins from +horizontal-list. The new +horizontal-list-container and +horizontal-list-item mixins can be used to build your +horizontal list when you need more control over the selectors (E.g. when working with nested lists). + +0.6.6 +----- + +The Haml project now releases a gem called haml-edge that is built from the haml master branch instead of stable. Compass now depends on this gem and will continue to do so until haml 2.2 is released. This should reduce the number of installation problems that have been encountered by new users. + +### Command Line + +* Fixed a bug that had broken the --write-configuration (-c) option. +* The --force option will now force recompilation. Useful when the stylesheets don't appear to need a recompile according to the file timestamps. + +### Unit tests + +* Some unit tests were cleaned up for clarity and to better take advantage of the compass project management facilities. + +0.6.5 +----- + +### Compass Core + +Converted all mixins definitions referencing images to use the new sass function image\_url(). The following mixins were affected: + +* +pretty-bullets +* +replace-text + +The calls to these mixins should now pass a path to the image that is relative to the images directory of the project. + +### Command Line + +* Required frameworks specified from the command line will now be added into the initial project configuration file. + +0.6.4 +----- + +### Command Line + +Added a command line option --install-dir that will emit the directory where compass is installed. Useful for debugging and drilling into the compass examples and libraries. + +0.6.3 +----- + +### Rails + +Bug fix: The http_images_path configuration default should be "/images" instead of "/public/images". + +### Command Line + +These changes, coupled with upcoming changes to Sass result in significantly reduced time spent on compilation for large projects. + +* The compass command line will no longer recompile sass files that haven't changed (taking import dependencies into account). +* The compass command line will now respect the -q (quiet) option during compilation. Additionally, the quiet option will be set by default when watching a project for changes. + +0.6.2 +----- + +### Blueprint + +Split the push and pull mixins into sub-mixins that separate the common styles from the ones that vary. The generated css when using presentational class names will be smaller as a result. The existing +push and +pull mixins continue to work as expected. The following mixins were added: + + +push-base + +push-margins + +pull-base + +pull-margins + +Additonally, the liquid plugin was updated to have a span mixin that matches elsewhere. + +### YUI + +Added Yahoo's version of the css reset. To use it, mix into the top level of your project: + + @import yui/modules/reset.sass + +reset + +### Rails + +* Conditionally defining #blank? on String/NilClass (Erik Bryn ) +* Set compass environment in plugin based on RAILS_ENV (Lee Nussbaum ) + +0.6.1 +----- + +Maintenance release that fixes several bugs in the handling of configuration files. + +0.6.0 +----- + +### New Core Functionality: **Patterns** + +Patterns give a framework or plugin access to the compass installer framework +to install customizable sass, html as well as image and javascript assets. + +A pattern is a folder in the plugin's templates directory. It must +have a manifest file that tells compass what to install and where. +Unlike the project template, a pattern can be stamped out any number of +times. + +It is best for pattern stylesheets to only provide example usage to get +the user started. All the core styles for the pattern should be +distributed as part of the framework's stylesheets as mixins to +facilitate easy upgrades and bug fixing on the part of the pattern's +maintainer. + +Example Usage: +compass --framework blueprint --pattern buttons + +Please read the +[Wiki Page](http://wiki.github.com/chriseppstein/compass/patterns) for more information. + +### New Command-line options: + +1. --validate
    + Validate your project's compiled css. Requires java and probably only works on Mac and Unix. +2. --grid-img [DIMENSIONS]
    + Generate a background image to test grid alignment. Dimension is given as + +. Defaults to 30+10. +3. -p, --pattern PATTERN
    + When combined with with the --framework option, will stamp a plugin's pattern named PATTERN. +4. -n, --pattern-name NAME
    + When combined with the --pattern option, the pattern that gets stamped out will + be isolated in subdirectories named NAME. +5. -c, --write-configuration
    + Emit a compass configuration file into the current directory, taking any existing configuration + file and any command line options provided into account. (command line options override + configuration file options). + +### New Sass Functions: + +Compass projects can call these sass functions within their sass files, if you find them useful. + +1. enumerate(prefix, start, end)
    + Generates selectors with a prefix and a numerical ending + counting from start to end. E.g. enumerate("foo", 1, 3) returns "foo-1, foo-2, foo-3" +2. image_url(path)
    + Uses the compass configuration to convert a path relative to the compass + project directory to a path that is either absolute for serving in an HTTP + context or that is relative to whatever css file the function was being + compiled into. In the future, this function may also tap into the rails + asset host configuration. + +### New Compass Core Mixins + +1. +float-left & +float-right
    + In order to include fixes for IE's double-margin bug universally, + floats were implemented as a utility mixins. These are available by importing + compass/utilities/general/float.sass which also imports the clearfix module. +2. +pie-clearfix
    + Implementation of the + [position-is-everything clearfix](http://www.positioniseverything.net/easyclearing.html) + that uses content :after. + +### Blueprint 0.8 + +The Compass port of Blueprint has been upgraded from 0.7.1 to 0.8.0. The 0.8.0 release +brings many bug fixes and a few backward incompatible changes if you use it's presentational +classnames (you don't do that, do you?). Upgrading to 0.8 is automatic when you upgrade to +compass 0.6.0. The Blueprint team didn't release a detailed changelog for me to point at here. +One of the key features of the release was the inclusion of three new core blueprint plugins +(a.k.a. folders you can copy). These are what prompted the development of the compass patterns +feature and two of them are packaged as patterns: + +1. Buttons
    + To install: compass --framework blueprint --pattern buttons
    + Then follow your nose. +2. Link Icons
    + To install: compass --framework blueprint --pattern link\_icons
    + Then follow your nose. + +The third plugin is the RTL (right-to-left) plugin. To use this one, simply import it after the import +of the blueprint grid and your mixins will be redefined to work in a left to right manner. Additionally, +it provides +rtl-typography mixin that works in conjunction with +blueprint-typography and should be mixed +in with it. + +Lastly, I've rewrote some of the presentational class name generation code so that it very nearly +matches the blueprint CSS. Please note that they are not 100% the same because we fix some bugs +that are not yet fixed in blueprint-css and we use a different clearfix implementation. + +### Bug Fixes + +1. A Safari bug related to the +clearfix mixin was resolved. +2. Running the compass command line installer a second time. + +### Bugs Introduced + +Almost definitely. Please let me know if you encounter any problems and I'll get a patch out + +[tdreyno]: http://github.com/tdreyno +[noel]: http://github.com/noel +[enricob]: http://github.com/enricob +[perezd]: http://github.com/perezd +[Chrononaut]: http://github.com/Chrononaut +[rails_template]: http://github.com/chriseppstein/compass/raw/4e7e51e2c5491851f66c77abf3f15194f2f8fb8d/lib/compass/app_integration/rails/templates/compass-install-rails.rb +[dturnbull]: http://github.com/dturnbull +[filiptepper]: http://github.com/filiptepper diff --git a/vendor/gems/gems/compass-0.8.17/LICENSE.markdown b/vendor/gems/gems/compass-0.8.17/LICENSE.markdown new file mode 100755 index 00000000..8e61ae60 --- /dev/null +++ b/vendor/gems/gems/compass-0.8.17/LICENSE.markdown @@ -0,0 +1,29 @@ +Copyright (c) 2009 Christopher M. Eppstein + +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. +No attribution is required by products that make use of this 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. + +Except as contained in this notice, the name(s) of the above copyright +holders shall not be used in advertising or otherwise to promote the sale, +use or other dealings in this Software without prior written authorization. + +Contributors to this project agree to grant all rights to the copyright +holder of the primary product. Attribution is maintained in the source +control history of the product. diff --git a/vendor/gems/gems/compass-0.8.17/README.markdown b/vendor/gems/gems/compass-0.8.17/README.markdown new file mode 100755 index 00000000..77c8de67 --- /dev/null +++ b/vendor/gems/gems/compass-0.8.17/README.markdown @@ -0,0 +1,44 @@ +# Compass +A [Sass][sass]-based CSS Meta-Framework that allows you to mix and match any of the following CSS frameworks: + +- [Compass Core][compass_core_website] - [Wiki Documentation][compass_core_wiki] +- [Blueprint][blueprint_website] - [Wiki Documentation][bleuprint_wiki] +- [YUI][yui_website] - [Wiki Documentation][yui_wiki] +- [960][ninesixty_website] - [Wiki Documentation][ninesixty_wiki] +- Other frameworks can be added relatively easily. Create your own! + +## Compass Provides + +1. A [command line tool][command_line_wiki] for managing your Sass projects. +2. Simple integration with [Ruby-on-Rails][ruby_on_rails_wiki], [Merb][merb_wiki], [StaticMatic][static_matic_wiki], and even [non-ruby application servers][command_line_wiki]. +3. Loads of Sass mixins to make building your website a snap. + +## More Information +Please see the [wiki][wiki] + +## Author +Compass is written by [Chris Eppstein][chris_eppstein].
    +Chris is the Software Architect of [Caring.com][caring.com] and a member of the [Sass][sass] core team. + +## License +Copyright (c) 2008-2009 Christopher M. Eppstein
    +All Rights Reserved.
    +Released under a [slightly modified MIT License][license]. + +[sass]: http://haml.hamptoncatlin.com/docs/rdoc/classes/Sass.html "Syntactically Awesome StyleSheets" +[compass_core_website]: http://github.com/chriseppstein/compass/tree/master/frameworks/compass +[compass_core_wiki]: http://github.com/chriseppstein/compass/wikis/compass-core-documentation +[blueprint_website]: http://blueprintcss.org/ +[bleuprint_wiki]: http://github.com/chriseppstein/compass/wikis/blueprint-documentation +[yui_website]: http://developer.yahoo.com/yui/grids/ +[yui_wiki]: http://github.com/chriseppstein/compass/wikis/yui-documentation +[ninesixty_website]: http://960.gs/ +[ninesixty_wiki]: http://github.com/chriseppstein/compass/wikis/960gs-documentation +[command_line_wiki]: http://wiki.github.com/chriseppstein/compass/command-line-tool +[wiki]: http://github.com/chriseppstein/compass/wikis/home +[ruby_on_rails_wiki]: http://wiki.github.com/chriseppstein/compass/ruby-on-rails-integration +[merb_wiki]: http://wiki.github.com/chriseppstein/compass/merb-integration +[static_matic_wiki]: http://wiki.github.com/chriseppstein/compass/staticmatic-integration +[chris_eppstein]: http://acts-as-architect.blogspot.com +[caring.com]: http://www.caring.com/ "Senior Care Resources" +[license]: http://github.com/chriseppstein/compass/tree/master/LICENSE.markdown diff --git a/vendor/gems/gems/compass-0.8.17/REVISION b/vendor/gems/gems/compass-0.8.17/REVISION new file mode 100755 index 00000000..4519e373 --- /dev/null +++ b/vendor/gems/gems/compass-0.8.17/REVISION @@ -0,0 +1 @@ +2465baba525421ac9cac1774d940f9e27971710d \ No newline at end of file diff --git a/vendor/gems/gems/compass-0.8.17/Rakefile b/vendor/gems/gems/compass-0.8.17/Rakefile new file mode 100755 index 00000000..ac940261 --- /dev/null +++ b/vendor/gems/gems/compass-0.8.17/Rakefile @@ -0,0 +1,127 @@ +if ENV['RUN_CODE_RUN'] + # We need to checkout edge haml for the run>code>run test environment. + if File.directory?("haml") + Dir.chdir("haml") do + sh "git", "pull" + end + else + sh "git", "clone", "git://github.com/nex3/haml.git" + end + $LOAD_PATH.unshift "haml/lib" +end + +require 'rubygems' +require 'rake' +require 'lib/compass' + +# ----- Default: Testing ------ + +task :default => :run_tests + +require 'rake/testtask' +require 'fileutils' + +Rake::TestTask.new :run_tests do |t| + t.libs << 'lib' + t.libs << 'haml/lib' if ENV["RUN_CODE_RUN"] + test_files = FileList['test/**/*_test.rb'] + test_files.exclude('test/rails/*', 'test/haml/*') + t.test_files = test_files + t.verbose = true +end +Rake::Task[:test].send(:add_comment, <= 2.2.0') + gemspec.files = [] + gemspec.files << "CHANGELOG.markdown" + gemspec.files << "README.markdown" + gemspec.files << "LICENSE.markdown" + gemspec.files << "REVISION" + gemspec.files << "VERSION.yml" + gemspec.files << "Rakefile" + gemspec.files << "deps.rip" + gemspec.files += Dir.glob("bin/*") + gemspec.files += Dir.glob("examples/**/*.*") + gemspec.files -= Dir.glob("examples/**/*.css") + gemspec.files -= Dir.glob("examples/**/*.html") + gemspec.files += Dir.glob("frameworks/**/*.*") + gemspec.files += Dir.glob("lib/**/*") + gemspec.files += Dir.glob("test/**/*.*") + gemspec.files -= Dir.glob("test/fixtures/stylesheets/*/saved/**/*.*") + gemspec.test_files = Dir.glob("test/**/*.*") + gemspec.test_files -= Dir.glob("test/fixtures/stylesheets/*/saved/**/*.*") + end +rescue LoadError + puts "Jeweler not available. Install it with: sudo gem install technicalpickles-jeweler -s http://gems.github.com" +end + +desc "Record the current git revision." +task :REVISION do + require 'git' + + repo = Git.open('.') + open("REVISION", "w") do |f| + f.write(repo.object("HEAD").sha) + end +end + +desc "Commit the revision file." +task :commit_revision => :REVISION do + require 'git' + repo = Git.open('.') + repo.add("REVISION") + repo.commit("Record current revision for release.") +end + +task :release => :commit_revision + +desc "Compile Examples into HTML and CSS" +task :examples do + linked_haml = "tests/haml" + if File.exists?(linked_haml) && !$:.include?(linked_haml + '/lib') + puts "[ using linked Haml ]" + $:.unshift linked_haml + '/lib' + end + require 'haml' + require 'sass' + require 'pathname' + require 'lib/compass' + require 'lib/compass/exec' + FileList['examples/*'].each do |example| + next unless File.directory?(example) + puts "\nCompiling #{example}" + puts "=" * "Compiling #{example}".length + # compile any haml templates to html + FileList["#{example}/**/*.haml"].each do |haml_file| + basename = haml_file[0..-6] + engine = Haml::Engine.new(open(haml_file).read, :filename => haml_file) + puts " haml #{File.basename(basename)}" + output = open(basename,'w') + output.write(engine.render) + output.close + end + Dir.chdir example do + Compass::Exec::Compass.new(["--force"]).run! + end + end +end + +namespace :git do + task :clean do + sh "git", "clean", "-fdx" + end +end diff --git a/vendor/gems/gems/compass-0.8.17/VERSION.yml b/vendor/gems/gems/compass-0.8.17/VERSION.yml new file mode 100755 index 00000000..0bd37399 --- /dev/null +++ b/vendor/gems/gems/compass-0.8.17/VERSION.yml @@ -0,0 +1,4 @@ +--- +:patch: 17 +:major: 0 +:minor: 8 diff --git a/vendor/gems/gems/compass-0.8.17/bin/compass b/vendor/gems/gems/compass-0.8.17/bin/compass new file mode 100755 index 00000000..fb94e65f --- /dev/null +++ b/vendor/gems/gems/compass-0.8.17/bin/compass @@ -0,0 +1,8 @@ +#!/usr/bin/env ruby +# The compass command line utility + +require File.expand_path(File.join(File.dirname(__FILE__), '..', 'lib', 'compass')) +require File.expand_path(File.join(File.dirname(__FILE__), '..', 'lib', 'compass', 'exec')) + +command = Compass::Exec::Compass.new(ARGV) +exit command.run! diff --git a/vendor/gems/gems/compass-0.8.17/deps.rip b/vendor/gems/gems/compass-0.8.17/deps.rip new file mode 100755 index 00000000..71d1e8c1 --- /dev/null +++ b/vendor/gems/gems/compass-0.8.17/deps.rip @@ -0,0 +1 @@ +git://github.com/nex3/haml.git master diff --git a/vendor/gems/gems/compass-0.8.17/examples/README.markdown b/vendor/gems/gems/compass-0.8.17/examples/README.markdown new file mode 100755 index 00000000..b00d5709 --- /dev/null +++ b/vendor/gems/gems/compass-0.8.17/examples/README.markdown @@ -0,0 +1,4 @@ +To build the examples: + +1. You can run the compass command line from any particular compass example project +2. You can compile them all by running `rake examples` at the top of the project directory. \ No newline at end of file diff --git a/vendor/gems/gems/compass-0.8.17/examples/blueprint_default/config.rb b/vendor/gems/gems/compass-0.8.17/examples/blueprint_default/config.rb new file mode 100755 index 00000000..bbb651ed --- /dev/null +++ b/vendor/gems/gems/compass-0.8.17/examples/blueprint_default/config.rb @@ -0,0 +1,7 @@ +# Require any additional compass plugins here. +project_type = :stand_alone +css_dir = "stylesheets" +sass_dir = "src" +images_dir = "images" +output_style = :compact +relative_assets = true diff --git a/vendor/gems/gems/compass-0.8.17/examples/blueprint_default/images/grid.png b/vendor/gems/gems/compass-0.8.17/examples/blueprint_default/images/grid.png new file mode 100755 index 0000000000000000000000000000000000000000..129d4a29fbe92688aabed5638e0c4f73a7bca818 GIT binary patch literal 206 zcmeAS@N?(olHy`uVBq!ia0vp^8bB<>!3HEX<>xE|QY^(zo*^7SP{WbZ0pxQQctjR6 zFmQbUVMeDlCNqG7G9|7NCBgY=CFO}lsSJ)O`AMk?Zka`?<@rU~#R|^B#xt(DF$2|k zc)B=-cyuP$eEj#lzKxOL5tEL~%H%~Gtu@#d^DPnSv6>KM@XEpK;0k6FVdQ&MBb@06Zo?vj6}9 literal 0 HcmV?d00001 diff --git a/vendor/gems/gems/compass-0.8.17/examples/blueprint_default/index.html.haml b/vendor/gems/gems/compass-0.8.17/examples/blueprint_default/index.html.haml new file mode 100755 index 00000000..8a59a9cf --- /dev/null +++ b/vendor/gems/gems/compass-0.8.17/examples/blueprint_default/index.html.haml @@ -0,0 +1,85 @@ +!!! +%html{ :lang => "en" } + %head + %meta{ :content => "text/html; charset=utf-8", "http-equiv" => "Content-Type" } + %title + Blueprint test pages + / + Framework CSS + %link{ :href => "stylesheets/screen.css", :rel => "stylesheet", :media => "screen, projection", :type => "text/css" } + %link{ :href => "stylesheets/index.css", :rel => "stylesheet", :media => "screen, projection", :type => "text/css" } + %link{ :href => "stylesheets/print.css", :rel => "stylesheet", :media => "print", :type => "text/css" } + / + [if IE]> "0", :border => "0", :cellpadding => "0" } + %tr + %th.span-6 + Test page + %th.span-8 + Main files tested + %th.span-10 + Description + %tr + %td + %a{ :href => "parts/grid.html" } + Grid + %td + %a{ :href => "../../frameworks/blueprint/stylesheets/blueprint/modules/_grid.sass" } + grid.sass + %td + Tests classes provided by the grid module. + %tr.even + %td + %a{ :href => "parts/elements.html" } + Typography + %td + %a{ :href => "../../frameworks/blueprint/stylesheets/blueprint/modules/_typography.sass" } + typography.sass + %td + Tests HTML elements which gets set in the typography module. + %tr + %td + %a{ :href => "parts/forms.html" } + Forms + %td + %a{ :href => "../../frameworks/blueprint/stylesheets/blueprint/modules/_form.sass" } + form.sass + %td + Tests classes and default look provided by the form module. + %p + %em + %strong + Note about the css files: + These test files utilize the css files that are generated from + %a{ :href => "http://haml.hamptoncatlin.com/docs/rdoc/classes/Sass.html" } + Sass templates + \. + In other words, if you change any of the source files, + you'll have to re-build them with + %code + rake examples + to see any changes. + .box + %p + For more information and help, try these resources: + %ul.bottom + %li + %a{ :href => "http://code.google.com/p/blueprintcss" } + The Blueprint home page. + %li + %a{ :href => "http://groups.google.com/group/blueprintcss" } + Our anything-goes mailing list. + %li + %a{ :href => "http://bjorkoy.com" } + The blog where news about Blueprint gets posted. + %p + %a{ :href => "http://validator.w3.org/check?uri=referer" } + %img.top{ :src => "parts/valid.png", :height => "31", :alt => "Valid HTML 4.01 Strict", :width => "88" } diff --git a/vendor/gems/gems/compass-0.8.17/examples/blueprint_default/parts/elements.html.haml b/vendor/gems/gems/compass-0.8.17/examples/blueprint_default/parts/elements.html.haml new file mode 100755 index 00000000..f6039e46 --- /dev/null +++ b/vendor/gems/gems/compass-0.8.17/examples/blueprint_default/parts/elements.html.haml @@ -0,0 +1,282 @@ +!!! +%html{ :lang => "en" } + %head + %meta{ :content => "text/html; charset=utf-8", "http-equiv" => "Content-Type" } + %title + Blueprint HTML Elements Tests + / + Framework CSS + %link{ :href => "../stylesheets/screen.css", :rel => "stylesheet", :media => "screen, projection", :type => "text/css" } + %link{ :href => "../stylesheets/print.css", :rel => "stylesheet", :media => "print", :type => "text/css" } + / + [if IE]> "http://www.google.com" } + \<a> a + href + %p + %abbr{ :title => "extended abbr text should show when mouse over" } + \<abbr> abbr - extended text when mouseover. + %br + %acronym{ :title => "extended acronym text should show when mouse over" } + \<acronym> acronym - extended text when mouseover. + %address + \<address> + %br + Donald Duck + %br + Box 555 + %br + Disneyland + %p + Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore dolore. + .span-8 + %table{ :cellspacing => "0", :border => "0", :summary => "This is the summary text for this table.", :cellpadding => "0" } + %caption + %em + A standard test table with a caption, tr, td elements + %tr + %th.span-4 + Table Header One + %th.span-4.last + Table Header Two + %tr + %td + TD One + %td + TD Two + %tr + %td{ :colspan => "2" } + TD colspan 2 + %table{ :cellspacing => "0", :border => "0", :summary => "This is the summary text for this table.", :cellpadding => "0" } + %caption + %em + A test table with a thead, tfoot, and tbody elements + %thead + %tr + %th.span-4 + Table Header One + %th.span-4.last + Table Header Two + %tfoot + %tr + %td{ :colspan => "2" } + tfoot footer + %tbody + %tr + %td + TD One + %td + TD Two + %tr + %td + TD One + %td + TD Two + %tbody + %tr + %td + TD One + %td + TD Two + %tr + %td + TD One + %td + TD Two + .span-8.last + %pre + \<pre> + pre space1 + pre space1 + pre space2 + pre space2 + pre tab + pre tab + %code + \<code> + Not indented + indent1 + indent1 + indent2 + indent3 + %tt + \<tt> + This tt text should be monospaced + and + wrap as if + one line of text + even though the code has newlines, spaces, and tabs. + It should be the same size as <p> text. + %hr + %p + %a{ :href => "http://validator.w3.org/check?uri=referer" } + %img.top{ :src => "valid.png", :height => "31", :alt => "Valid HTML 4.01 Strict", :width => "88" } diff --git a/vendor/gems/gems/compass-0.8.17/examples/blueprint_default/parts/forms.html.haml b/vendor/gems/gems/compass-0.8.17/examples/blueprint_default/parts/forms.html.haml new file mode 100755 index 00000000..647b5f52 --- /dev/null +++ b/vendor/gems/gems/compass-0.8.17/examples/blueprint_default/parts/forms.html.haml @@ -0,0 +1,190 @@ +!!! +%html{ :lang => "en" } + %head + %meta{ :content => "text/html; charset=utf-8", "http-equiv" => "Content-Type" } + %title + Blueprint Forms Tests + / + Framework CSS + %link{ :href => "../stylesheets/screen.css", :rel => "stylesheet", :media => "screen, projection", :type => "text/css" } + %link{ :href => "../stylesheets/print.css", :rel => "stylesheet", :media => "print", :type => "text/css" } + / + [if lt IE 8]> "", :method => "post" } + %fieldset + %legend + Simple sample form + %p + %label{ :for => "dummy0" } + Text input (title) + %br + %input#dummy0.title{ :name => "dummy0", :type => "text", :value => "Field with class .title" } + %p + %label{ :for => "dummy1" } + Another field + %br + %input#dummy1.text{ :name => "dummy1", :type => "text", :value => "Field with class .text" } + %p + %label{ :for => "dummy2" } + Textarea + %br + %textarea#dummy2{ :name => "dummy2", :rows => "5", :cols => "20" } + %p + %input{ :type => "submit", :value => "Submit" } + %input{ :type => "reset", :value => "Reset" } + .span-12.last + .error + This is a <div> with the class + %strong + \.error + \. + %a{ :href => "#" } + Link + \. + .notice + This is a <div> with the class + %strong + \.notice + \. + %a{ :href => "#" } + Link + \. + .success + This is a <div> with the class + %strong + \.success + \. + %a{ :href => "#" } + Link + \. + %fieldset + %legend + Select, checkboxes, lists + %p + %label{ :for => "dummy3" } + Select field + %br + %select#dummy3{ :name => "dummy3" } + %option{ :value => "1" } + Ottawa + %option{ :value => "2" } + Calgary + %option{ :value => "3" } + Moosejaw + %p + %label{ :for => "dummy4" } + Select with groups + %br + %select#dummy4{ :name => "dummy4" } + %option + Favorite pet + %optgroup{ :label => "mammals" } + %option + dog + %option + cat + %option + rabbit + %option + horse + %optgroup{ :label => "reptiles" } + %option + iguana + %option + snake + %p + %label + Radio buttons + %br + %input{ :name => "example", :type => "radio" } + Radio one + %br + %input{ :name => "example", :type => "radio" } + Radio two + %br + %input{ :name => "example", :type => "radio" } + Radio three + %br + %p + %label + Checkboxes + %br + %input{ :type => "checkbox" } + Check one + %br + %input{ :type => "checkbox" } + Check two + %br + %input{ :type => "checkbox" } + Check three + %br + .span-24.last + %fieldset + %legend + Alignment + %p + %label{ :for => "dummy5" } + Select field + %select#dummy5{ :name => "dummy5" } + %option{ :value => "1" } + Ottawa + %option{ :value => "2" } + Calgary + %option{ :value => "3" } + Moosejaw + %p + %label{ :for => "dummy6" } + Text input (title) + %input#dummy6.title{ :name => "dummy6", :type => "text", :value => "Field with class .title" } + %p + %label{ :for => "dummy7" } + Select field + %select#dummy7{ :name => "dummy7" } + %option{ :value => "1" } + Ottawa + %option{ :value => "2" } + Calgary + %option{ :value => "3" } + Moosejaw + %label{ :for => "dummy8" } + Another field + %input#dummy8.text{ :name => "dummy8", :type => "text", :value => "Field with class .text" } + .span-24.last + %form.inline{ :action => "", :method => "post" } + %fieldset + %legend + A form with class "inline" + .span-3 + %label{ :for => "a" } + Label A: + %select#a{ :name => "a" } + %option{ :value => "0" } + All + .span-2 + some text + .span-3 + %input#o.checkbox{ :type => "checkbox", :name => "o", :value => "true", :checked => "checked" } + checkbox one + .span-3 + %label{ :for => "b" } + Label B: + %select#b{ :name => "b" } + %option{ :value => "0" } + All + .span-2 + %a{ :href => "" } + A Hyperlink + .span-8 + %input#q.text{ :type => "text", :name => "q", :value => "Field with class .text" } + .span-2.last + %input.button{ :type => "submit", :value => "submit" } + %hr + %p + %a{ :href => "http://validator.w3.org/check?uri=referer" } + %img.top{ :src => "valid.png", :height => "31", :alt => "Valid HTML 4.01 Strict", :width => "88" } diff --git a/vendor/gems/gems/compass-0.8.17/examples/blueprint_default/parts/grid.html.haml b/vendor/gems/gems/compass-0.8.17/examples/blueprint_default/parts/grid.html.haml new file mode 100755 index 00000000..1e2f5f13 --- /dev/null +++ b/vendor/gems/gems/compass-0.8.17/examples/blueprint_default/parts/grid.html.haml @@ -0,0 +1,274 @@ +!!! +%html{ :lang => "en" } + %head + %meta{ :content => "text/html; charset=utf-8", "http-equiv" => "Content-Type" } + %title + Blueprint Grid Tests + / + Framework CSS + %link{ :href => "../stylesheets/screen.css", :rel => "stylesheet", :media => "screen, projection", :type => "text/css" } + %link{ :href => "../stylesheets/print.css", :rel => "stylesheet", :media => "print", :type => "text/css" } + / + [if IE]> "test-small.jpg" } + .span-10.last + %p + Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. + .span-2 + %img.push-2{ :src => "test-small.jpg" } + .span-10.last + %p + Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. + .span-2 + %img.push-3{ :src => "test-small.jpg" } + .span-10.last + %p + Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. + .span-2 + %img.push-4{ :src => "test-small.jpg" } + .span-10.last + %p + Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. + .span-2 + %img.push-5{ :src => "test-small.jpg" } + .span-10.last + %p + Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. + .span-12.last + %h5 + TESTING .PULL-1 TO .PULL-5 + .span-10 + %p + Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. + .span-2.last + %img.top.pull-1{ :src => "test-small.jpg" } + .span-10 + %p + Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. + .span-2.last + %img.top.pull-2{ :src => "test-small.jpg" } + .span-10 + %p + Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. + .span-2.last + %img.top.pull-3{ :src => "test-small.jpg" } + .span-10 + %p + Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. + .span-2.last + %img.top.pull-4{ :src => "test-small.jpg" } + .span-10 + %p + Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. + .span-2.last + %img.top.pull-5{ :src => "test-small.jpg" } + .span-24 + %p + %a{ :href => "http://validator.w3.org/check?uri=referer" } + %img.bottom{ :src => "valid.png", :height => "31", :alt => "Valid HTML 4.01 Strict", :width => "88" } diff --git a/vendor/gems/gems/compass-0.8.17/examples/blueprint_default/parts/test-small.jpg b/vendor/gems/gems/compass-0.8.17/examples/blueprint_default/parts/test-small.jpg new file mode 100755 index 0000000000000000000000000000000000000000..aa599d99a94cd487a44ad9bf7e2388d45e863238 GIT binary patch literal 1886 zcmaKmc{H2p0>;1OO9&+zTc-p?EJ2OEcE!}b#?l_tt&15&7+Wl*t`@0QEwvLQE!t!( zwePJqrDJKUA)&U?L{qdnC`Q$|aqm56PXD>TbKXDR^E~hGeGaD&7lGprHug3E1OgG$ z6Vn5L!&$%@fPM!E1EEk528SI1=Y#(TJ|6tMgFpxfAP~pC=STtpK@bjuBX|`dL4=?X zQkVx4`F-*K-3|u;6av5i1|S3lKv5771vz{Mpn;=xAn-T*2sj_W+b6(Fe>@Hx{R@IH z2<*Qd$kB2>6d)=urftbDu7FTDS_MQmzvexVf&d@@LjJZLnIJqNFVjZxWKb9k z-#(0G<}Q+%MO( zqd-n|D*o3Vlq~4xB5IMmmUE?Hj2u$v8LESk&0Dj*@!BzJvEyF1ZL^>`guj40l*e+= z8l=|k6D6b+RcF}!Mmp2*3t&ON9W0PU;6L~vdvMLPO;B|6!8krNkU4v;!InIJr-iN) zOtshSBHIj=2C5|n!GBF(QdIg08Jm!-AMWw)R`5bQ!-PsZD@76PKlg?9=!;$K=tAkT z)!ldZCIZddBYfs?#|zQAy;ssMoOI2fL$7eJ2WG5O9i-+twh`g`^6*U9``#&GsMDYp z?fTGzk7tW}j!Ryh2wAc_HoNg>&U1d_DdycvVCh$@%e7N_Vl=1QHc>K$jjizUBqyh+ zhc)%8hkzVAzf;Pqx)4iRq;tw>J$290Z;Yq>?%R8@!YvkBq+{@-PtoF; zjCI-3VZ36UZnu&DWF@^LCRgT*x4GU659d66|MMwvUkf6bpG{mAS{uuQy$D_gVMQvJ z?U7n#42cc=X?EQXi#U(7-`IQ=vHOOkA8w|WOFONpprQ!GuBhy}vxvR4rUR+jryEJl zs|6FPZX6%|$S}mqY}wlq)Z5EcJ+9}bVwS*D2HMx9t7=gx0gE&mtaM5+xF#zSLANMb zrQT)nk-B>-AGf`EyBpiV8N+`~X1iqL*qx_*P!j4!*r%OHaS_28WWu`sNWw{%VSRPU zYE5cLZ(Xb55PowqPNa{BGtR=vjARZ(ldJb)Dudke3p_b~6%H?OoO4qBUL6f1URM1A z_3kU%L{jD)b=bw%G7d~ws9ePC7!KR1*bAT7`aPUG)l&0_V0YrT_|MGbHUHq$$z$Fs zwZ)2erYWtK_ZzU$PP_3v=QSvUy^5+~0!qGozyO9@zgWeY>0rE1PIejF8+sz_u7G>& z+PB_;%~$`Cv8>FZVV#v*Pr`;Yl`Jq4;sKpniS|+}sVE5Rj(PV1qYrsYEX9XmebY76{Y~<(yMEZWkhe59d$tLPZtuCZAMm=0pgGqTr zNz$`LC%4r`8xW<->A=nPL z5H2So!-<(oTufl~_oZQ3y%z<=yeZwN_v~ij=>~Zd4*@m1Q{?gH9$JOOD*JH)js=Nj#Liui&N|q7g469fm!GK zsLF@6oc1$As?KNUqX9kJG&kCFb#rwgh1pqBxRrC-rAVb4qKFQ2y)gN#XE!t@NnkxJ zVl)W7ePtp{mnn_wbk2~Y2J$5szcwQ*t zTUvHtTy95Q1kv?ryqs1#UVz#qT}w})_+);o|CB=ZcXZYvlL-b|(ami|msB>9_ih1J zKAK}njQy&y^3kk|{%0&rTT+_y8oA###ZxVEzfQiwFDta0+|)MmC=jid+3E3(H=YT^ z?^~*32y)db#x)Ov8sJVzSN~DI)_PvkIvVZqR{0NLr49W93^n)H#=v;bEx$FwzJ_*; z$*;_ru0>m?=fEqMdDbk(kom8vGg- z>#tQ$_{MbwpvCa#9~#6%)BoI3(<(5q&LbOa5K;90j#0RY112<5Xs-K)sa;xb$I8ux6pYvz PE=Dy;BAn$@58wP7Zj&W} literal 0 HcmV?d00001 diff --git a/vendor/gems/gems/compass-0.8.17/examples/blueprint_default/parts/test.jpg b/vendor/gems/gems/compass-0.8.17/examples/blueprint_default/parts/test.jpg new file mode 100755 index 0000000000000000000000000000000000000000..0107be27349330250c3c28f52ef5dd58a25690ce GIT binary patch literal 35467 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 literal 0 HcmV?d00001 diff --git a/vendor/gems/gems/compass-0.8.17/examples/blueprint_default/src/ie.sass b/vendor/gems/gems/compass-0.8.17/examples/blueprint_default/src/ie.sass new file mode 100755 index 00000000..7af9162b --- /dev/null +++ b/vendor/gems/gems/compass-0.8.17/examples/blueprint_default/src/ie.sass @@ -0,0 +1,3 @@ +@import blueprint.sass + ++blueprint-ie \ No newline at end of file diff --git a/vendor/gems/gems/compass-0.8.17/examples/blueprint_default/src/images/grid.png b/vendor/gems/gems/compass-0.8.17/examples/blueprint_default/src/images/grid.png new file mode 100755 index 0000000000000000000000000000000000000000..129d4a29fbe92688aabed5638e0c4f73a7bca818 GIT binary patch literal 206 zcmeAS@N?(olHy`uVBq!ia0vp^8bB<>!3HEX<>xE|QY^(zo*^7SP{WbZ0pxQQctjR6 zFmQbUVMeDlCNqG7G9|7NCBgY=CFO}lsSJ)O`AMk?Zka`?<@rU~#R|^B#xt(DF$2|k zc)B=-cyuP$eEj#lzKxOL5tEL~%H%~Gtu@#d^DPnSv6>KM@XEpK;0k6FVdQ&MBb@06Zo?vj6}9 literal 0 HcmV?d00001 diff --git a/vendor/gems/gems/compass-0.8.17/examples/blueprint_default/src/print.sass b/vendor/gems/gems/compass-0.8.17/examples/blueprint_default/src/print.sass new file mode 100755 index 00000000..8e5d49d8 --- /dev/null +++ b/vendor/gems/gems/compass-0.8.17/examples/blueprint_default/src/print.sass @@ -0,0 +1,3 @@ +@import blueprint.sass + ++blueprint-print \ No newline at end of file diff --git a/vendor/gems/gems/compass-0.8.17/examples/blueprint_default/src/screen.sass b/vendor/gems/gems/compass-0.8.17/examples/blueprint_default/src/screen.sass new file mode 100755 index 00000000..0ca30638 --- /dev/null +++ b/vendor/gems/gems/compass-0.8.17/examples/blueprint_default/src/screen.sass @@ -0,0 +1,8 @@ +@import blueprint.sass +@import blueprint/modules/scaffolding.sass +@import compass/reset.sass + ++blueprint +// Remove the scaffolding when you're ready to start doing visual design. +// Or leave it in if you're happy with how blueprint looks out-of-the-box ++blueprint-scaffolding diff --git a/vendor/gems/gems/compass-0.8.17/examples/blueprint_plugins/config.rb b/vendor/gems/gems/compass-0.8.17/examples/blueprint_plugins/config.rb new file mode 100755 index 00000000..16f4235d --- /dev/null +++ b/vendor/gems/gems/compass-0.8.17/examples/blueprint_plugins/config.rb @@ -0,0 +1,8 @@ +# Require any additional compass plugins here. +project_type = :stand_alone +css_dir = "stylesheets" +sass_dir = "src" +images_dir = "images" +output_style = :compact +relative_assets = true + diff --git a/vendor/gems/gems/compass-0.8.17/examples/blueprint_plugins/images/buttons/cross.png b/vendor/gems/gems/compass-0.8.17/examples/blueprint_plugins/images/buttons/cross.png new file mode 100755 index 0000000000000000000000000000000000000000..1514d51a3cf1b67e1c5b9ada36f1fd474e2d214a GIT binary patch literal 655 zcmV;A0&x9_P)uEoyT++I zn$b9r%cFfhHe2K68PkBu*@^<$y+7xQ$wJ~;c5aBx$R=xq*41Wo zhwQus_VOgm0hughj}MhOvs#{>Vg09Y8WxjWUJY5YW zJ?&8eG!59Cz=|E%Ns@013KLWOLV)CObIIj_5{>{#k%TEAMs_GbdDV`x-iYsGH z#=Z{USAQA>NY(}X7=3{K8#4^nI0$7`a(T+P4hBKZ7hk58-_j0w;$<(*=f7ic$nT z*Wgd55in08>183j3?S=MAoDDTLoLSL$!_UDxXqSf-?qdd@H%8(We~hQu&uVIo$6NV z(zMY7wn6r5i617ZGZ)-J($xXssTcN*&WujcIDRIp6J4_PqOvJ}9!p6+yo8LmAGS3~ xN#Qq?aIt$6X#&>gHs{AQG2a)rMyf zFQK~pm1x3+7!nu%-M`k}``c>^00{o_1pjWJUTfl8mg=3qGEl8H@}^@w`VUx0_$uy4 z2FhRqKX}xI*?Tv1DJd8z#F#0c%*~rM30HE1@2o5m~}ZyoWhqv>ql{V z1ZGE0lgcoK^lx+eqc*rAX1Ky;Xx3U%u#zG!m-;eD1Qsn@kf3|F9qz~|95=&g3(7!X zB}JAT>RU;a%vaNOGnJ%e1=K6eAh43c(QN8RQ6~GP%O}Jju$~Ld*%`mO1p!3HEX<>xE|QY^(zo*^7SP{WbZ0pxQQctjR6 zFmQbUVMeDlCNqG7G9|7NCBgY=CFO}lsSJ)O`AMk?Zka`?<@rU~#R|^B#xt(DF$2|k zc)B=-cyuP$eEj#lzKxOL5tEL~%H%~Gtu@#d^DPnSv6>KM@XEpK;0k6FVdQ&MBb@06Zo?vj6}9 literal 0 HcmV?d00001 diff --git a/vendor/gems/gems/compass-0.8.17/examples/blueprint_plugins/images/link_icons/doc.png b/vendor/gems/gems/compass-0.8.17/examples/blueprint_plugins/images/link_icons/doc.png new file mode 100755 index 0000000000000000000000000000000000000000..834cdfaf48a509ca51d93250fb28dd12e5ea0a13 GIT binary patch literal 777 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 TVebF6xa6h0np~yK+tB|9OTxo9 literal 0 HcmV?d00001 diff --git a/vendor/gems/gems/compass-0.8.17/examples/blueprint_plugins/images/link_icons/feed.png b/vendor/gems/gems/compass-0.8.17/examples/blueprint_plugins/images/link_icons/feed.png new file mode 100755 index 0000000000000000000000000000000000000000..315c4f4fa62cb720326ba3f54259666ba3999e42 GIT binary patch literal 691 zcmV;k0!;mhP)bpQb1=l6TxbDZwj&S={?7%qx-u`rsG(Zp`-rh=e^=%((1yvsuf5d=&62Zj)Y zH&JviNS_F4_Hj|T(1j4$p-!}kixP9&dB4uv^MveG?dGf%sUCoc2!IFxD6wHRA2^dX zXRVk!-qSfk(jcaUKn#RP48(whfPlJUpApdrA!TQi_4D+fVoM;3I0gZ8{=Xv~Po;geVA+Em9@0Wq2 zr>OTZEGR05L=gf1T;ucCxq6Q6EgJiH@@-lVaAlQyw`jIF^c=&IVnj|95hHbE_cnt| zTzZQ?F4Ne@(bH(~&3nM%m)I@ID{@jJ2qZPjr)jhpe9hViOwH5k&|T#EmmL3(vHeUQ zq^!t^Al6JD;=mHq^Bg?J-8-zG2Od7gZbknG;K9czYjPqG*xjPo0k(c4%lPXTpw(qq z@aGMnxtFS(np+2kC} z7P02O874ZkJH$v#nCUVx$({yDN`IX@o2wyvTD#e`qN`_w5<}$3F+_z1iyEv%?$mbQ(# zwJpuiQJP8?X_`#S8b+U_G6=ziYB!xPAcq{)ZJ0bECH@ zYx#`n8^Wzn^J!4>=q^bltNO15ry?0ecSLkjpT@vlid!jk)Fjf7&)q_V5zGs#3N%6* zbW~7Hg=&P0&~Y(|g>$hC9FL?;ttzPDZbpZu9OLb33^e2;FNTGJxScp1&q4M+y2ntQ z?C(=hpU$3~`Thx0eHwi0x`q+!d5k@|0_WHe%sG3e-s^MM`xM-ig!VcIA7H}X1ot~L zg=MLB4w-Q;Bi!!u2|I+Qb;0{{4Q53YX6+4_aXena{nmt*!YG7ua~`qc>o=?@U?rOU znS7%>klzi*muXnbM6i@4FR@s^8vTjDgy&%J?w?`u>NYMDFa_2%0SQ(qJE<3=<8Bzo zfdU60e*y(^$RF%r$kl)p7=7tlCDa$+J7w>}DU(O#~fk>pYuRvHi1E9^msg{tLeV XM&GIRvfA7%00000NkvXXu0mjf&%8>| literal 0 HcmV?d00001 diff --git a/vendor/gems/gems/compass-0.8.17/examples/blueprint_plugins/images/link_icons/pdf.png b/vendor/gems/gems/compass-0.8.17/examples/blueprint_plugins/images/link_icons/pdf.png new file mode 100755 index 0000000000000000000000000000000000000000..8f8095e46fa4965700afe1f9d065d8a37b101676 GIT binary patch literal 591 zcmV-V0~O9lw>B8WRlD)Gm}Jrz31u-X&&gn2lvjs=i{7nIaL6v2==uw+8Lcs(8j27 z;|c`rmSv@Lx!heopGP^^Ieb3f=R!%Lpp$}iMS-&P3EJ)s48wrJ_Ni0~k|c47D2nj= z{jS6bt|kFpFf|p5cM`_&0Zh|`rfEp0(}=}lT#(6RpzAsUfxv^LSYX>WlAaN$>)*J5 z0#sE+JRUD8iT9*fz{)_^7@6P&!sEjTcD+I9Z4YjT1`wH@fV{cEvneYGFU%maIEU2s55&K(LixD|{p-uiS@?KNj zk-Go8G$hH6g002ovPDHLkV1hVj1#|!a literal 0 HcmV?d00001 diff --git a/vendor/gems/gems/compass-0.8.17/examples/blueprint_plugins/images/link_icons/visited.png b/vendor/gems/gems/compass-0.8.17/examples/blueprint_plugins/images/link_icons/visited.png new file mode 100755 index 0000000000000000000000000000000000000000..ebf206def2729dae1fa9e8c5c9e5a95b7176c45b GIT binary patch literal 46990 zcmb@O1ymeCm#A?G!GpU)2<|pO2o@~3LvVKn*AU!Y2MHeB-QC^YGPuLwJo5j$`}Vza z_MQFrygJiWx2vme-Ky@c(=}h;4*e!CiTaN49TXH4srML9`-wg@jEmi~SfZq~0 zr_a(VNN>Rl$vEU~AK6|?(+LU+1?%qyJ-z1h^p;8NEUw|KY-j51YT#%BC2DMEXhJSw z;b`J&=V;|bE~dURTQ5Z#K8J@maYe&zWu74y;sznDhmDR@XptY}Qn9tRHu!ZxUt-A5)4S{tVEqK$ zr`kd7$LP$3WlJM3LwmDnz(-G|>DT*f$3q0QO}?9{<83#Vl(d?KPwv23 zjNq6nQpZm_h=XmMFMb^5rqAO`Na3qO`Ejl}-Q#(DR<2Q%aVOYC?oi0Yx27ju01)TC z()wmh+$|f4bw{@GSpr_=M*hY#1!&f0rouKWPT9qN64v>!<~GIzP4l1!x@8ENF`7oQ zMPo#{G?DKpLo<1XmYN%PhR=!qpj(s(E1d?7wnk_0sSu68Xkalgm*@Nu@y-Rl*v#uk z#>Gdrn$wWfx=*8|4x?xhR-Jpf7igEZ5z@5W%sr-Y{*lFf{Sc$Y6oSP&xu8fRJc$8E z0zuM%0i$zH0zo+h1t;$PXBbz4F$CDm+i|G6G(^O^WG^TH80wUOOr!|_6_Kr#?R=Ta zp7M<~$6}#+^4c-G*jx)YEv&#j`~(DN&{pnmKWSBy0WD)9MP@IxGE2sSng#oi0Lu@> z3Om_Hl8e3p=&8C`)hp?nez)3pt3AN7WY_lVnHx3NCTfa;xPulb5VQ&zIc$JG7J;@N z-TQvU=|4ttW7d`A_>5#j=b>S7qWGwW`K;-*ft9dM;k+Je+sh?29Ga677}u8b-k6Cv z-%KkZXcEla72TMYE0-P?Ut^zyK5dp_p7hy-Ye)~1 zh2--gK|_C*uk^%V*yAx5f^uZnE?bHqLi{?FLU%1r_ce6H%Gf(lzbxLWtBe+Ryr>bo zxhz8DP&OL@r|J7N8?-TI)(b8T2=~)-1UZ9IJB7#RYdw@gKvAMd{E~-NYVukxBvth8;xdLKM0D< zXvF|W4{P(=6kAde`>OGC%AY0hy$8_@9V}}yR$&Q8oWpxmI0$6Fq#>!q;26*cd^kv- z*{wntAjIouZpr$+%%xfCc%aMTnVWD#gf_`o3D2WtPZ*}ffXiV;9g^ICUbV1(PtPq5 z-RZ*6jrHz^BPBpakTED#+bBho3Z4^Fk(nhv3?4!(DW8yoIWBd9LWla86KGiRGm> zll8d>>xF*mS;+FzzK$2JP4Adh1By(@Pu{xv#w0w39w7c6H7Z#GRo4va#} zkPRnlq7%&FBEQJd`$>M-+Hok8R(hyN3o8TSvtU@xi94XYZ28bPYqk$VqOspN&%%C< zd^3hC4#YIm#FP|(9Uw$6?Uah^`=doHU7ijs&j9kEj@p+i`w_Tl(Vk3yhRZM~Ftpb} z29v~l-bY<3gg8L!?eNdQL+YmR1$tnkWfhSF+R5=+GgAVRMI%c2wq@p9`562PiOnV7 z&rHcGE>MEjf6HBdF;RPOrVVEjCzj^5NaCp5`VOenCts>hK9FV|LvVCFN}}NGqP(y) zG!BkrbCc;~7FK~6;XXVYg5#ZnWXJkSsXk__8Dy!b_j~np@y~oxw3;y{_XxeBb!e@| zKHCo&4H!}!4Lmpe87$SB%8IKNrAR`WA4-gtv}SCJvJ{|Ojo9nZ2#0VI5YFJ<)x<^& zS-{6J%S4lbIxzj53JnQ(?o$}OagH441!`BUo&j%5oKhiVVx|3AK8!N-UZ1;h z&nf#7k9M}FgTOg9X0|~dIl)k+D3f(?ls$3p_bMS&|6^6~TxVN}IGC!JampeBeRt9# zJ^qIs<5!_S6dc^!S-JBfq*_JZ?bb73xFa4_{ft^ouPH|UN6P*kdOR$QcRwR1x%gjG z!nbj{1h)(@v^F&@^K5zQs$?9wz_BP26ewt)NH80}@Z8A50wsCA71Dq#!T}>)DRu+_ z?5HIC>GuUkC{PSuzrTS(x6eMn%$JLx?MP1{fr#BM@_lJFMdPc2t7BXM{o*?Fex8`3 ztKmqk#CLxj`cDtXkE-f`TEkvysYKoMar^=F-K5^97T&BrGIs{A2vp$M)REgBOA{~} zN)a80SsaTtxy1Vd1tLi2j;>GZNK`yFqbZ~eVPOP;O3`3;(1zDIFAaU>F{t%39g&=5 zZ~?njLGaAz84X4>^_;`*cr;}obJ-7CEX07BKgBK|}=R>7M8D>Ma8@xn-roNBii0VsKB7iBclPp=IGS zZ*oULB>bE<8_lE;b5)%PB5rt9J>XNS%TEpq>PwVmYev748cgmG8Ccs+F#zdJKB|NN z&ie*w7qO>0>?&9G~*vCm_Y!v&emTj? zaD~B`@~jDh)u*!-iapAJ++OOjDxwC@WsyB$EvEP$(z{iIheNu*(z z7Y2@B1kszpIdW~k0!_qsgdS46S|F-gBUJESf^CO#mx%tVG9{{jEgDEqk=!)HI0^%^ zW>a3$efux8}O zaMO39%U4>|AdCCP>zCa9U~Z$N2OXBI16$>swL6zKV_@T!S}6wnbR0XqaT5tC$o|fU zOiCKTt17(okI<=N|F$qERPwK(F*nwx?85smmz=NJgL`O!QSTnpYI#dKnPa}aJAD#W zI2e%LETTmeS5_IcGoSCBB<3f<(1)8B0+jdCRyS60PUhWRlzOfF_$7Vzp z=(`yqwL45N;r%Uajpk!aM%w3eY0ad;?Fs#^)`b+a^)})XV@yhvSK!_r6109CP`YYu zV%A61);mg1DRDQ$(a|YoHRG$T`0nk`kuvnbyGgBx%vRMr2z5g2X~q>XI3d1hfcj7s zi-~e7*g&C|oFYx$Jpx|}`b(^9W~{orBXfL)wsg6yzA;uK15*+i@`AKlkjn9HBwKgrWHcaY>EqNZWQSuObC+8wh>U6(9&YR^a z!KYcD@<}`KQ~2N|AlW3n;6gYs{!z3s_<;WycsS+gc$u2<^i^Jbw-yKOw6dZStXm9w zNiRtfBgwaC%x%g}q|VN0G^aQ9xktMDxA?$>a#V8s{7-2sCFzpU?=5&^(?0<(J(B_n zSK}O)!_v&(<4_E7R?z0m4I?7ZLbpleC_{%7a=0yD?lYbo6Kmb_@MfZDD3(tatMuiM zlZhU=dX>y-VBdXLw@fQ5$cOS6gpT7L7t@22(^bzRFIsTumK%PUvJG1;SmLZwbu8D$ zZo1)rdl=S^W=8!H6t`3~WZ!4UNU`Mi8i#d%r0T01b}oC!khN6`u*q+Ef*{HAgr&J@!T?Gb`omRjcIDjicUZ+72`{amY_S$Y&%MS5xde9>H` zgoUM*+$xmM!Cd{RoY%}(Nh_IwGGtOs|5<0;6@}50& zQxXN{;oVp(T;tT7elnq8ERy{f?u#Ioqu<_g;YAkwa&rXX7+i8KdtB2P@WQ_`4+jsJ zZH#p+i@ApLF^F`ZfegL5F?fK>MEE=7m5o2epQjCtFjn^1oUqBD4x^KK@2_UDfp7NYk8KA=Upq-UnA5VLVk#T)2zHzoayFx?qc*WT zif5C+GAhxT++{Rdd+5nVmejcNYAi)#m@>1R=qhnO?kG(!MbX1lMKQ8a^s;GxDZYp| zF1tL?&veAad|Eqmu`PVmwa|0=%t|u#)s%RsVe5=Z$WduDT&|k{XR~C<$If2hvbW85OuhW z2-i!thug>R3_#pv=VmQy_sgog3Sl?px_BxT_0CEZ?Io@6v>E5^fsWAkm&G5~C-j~O z(ET_5D;%2-O>FBIP95EZed9i#KuowSx;0Y9ZgM?E3=79%#oyugyP#_?NR-mH6pCkz zJQmiqtEsk6KA#;lD{SG&ABWj^NUhNAEX-cb34DnjIXVZAy48OEvU!aj7Zj%Itg0b) z;3a8sk30J(3-0;^UW7%q)r)+S^H?dw9LDk;5Fm{(YbF!s52((U zus3&BytEuEd>OvOE(aGaf^qn+lG{4J_F;}&`;>c+c$+HsZI=2=36P} zZP`8!t3mk!c<>`!M}O4mo5T@gNzXaL5mW!G6FMlV^)M`lF-VVJtVBoqZzDKjW@RUx zhz2l9I0EX&tQz@8AQ06_D~f=xJLB2M zpmn&QaiFM0bOL&{N_XYncd2;Z!yw!DZ>01(~B-0-sZVAib z@y{tqbp3}-KXW=V{)%=mV(Nc&mg6@ME=RE#?dkT7r+1Fey%h&Bxm4M4?k|smUJT-OrE9hLP$Tg$X7 zBy-r_-$TsHCGnrujG8{i=Rf{BZ1UArP_dER3suWB-wS1q&mxobvfT8HrEWdzoN8o- zk$GwvK*Rf+v zo_m!ln~>Gk4HnW&>m$N_PvW!j^G1y5wqpx)s<`5MZdW?%8B}<_rapPgyCTHe&nM{) zA?Hb_C~8QWj0>)6%b~QZn_n$(Rpt^E&R**T3dgi(BOteR8&OS{It+f2tA2&HAio?f ztz0W(yiBpfo&(Ohmq`;AG6$Ee;#{+~ttU)%o@huPgVYrzxh=R3^Z03%H;>2t6-AIOV#td&spl~}P&4A0 zH28L9o%az``0S9{o_lqrp>td}#D1l7A3;ghClp}QxE(f*nu{8ixxeFdbcK401k$$L zF|4)0vP`dWST3-#(`gxW!MY`jkh#17jG=iz?TgyE3AFL9_ux6Vn+|>AH(jtiruRvu z8SW*>6;Em+xp??I;!UmLn3G>F(?TZtVix9pHVD`Pwdpfn`>aJ?`OGZqxOXNZ{v&F2 zCq3`kN7`lQZq;(w^^nyIk%|45Why7Abug(!xv)RyRyBvgStHBHNXNM4Dx`JkeU?9N zdh|!(R7@8zEz3E7Jn=0#juEpyZ^`94V8Fp9a_EUPA#CC~MM~*3j;Bj)yt0nKRaU%1jXh8ljD^TnlXJg7?T9ofr=4pBeo7T{^b;KiIci215Sv~drS zMQSynMPyB;3F%Pz<(`tndIr<;Zl6x-fModXl<$kKn8%`L2VKaU=|P0Mb>?0XaY#t+ zzBG+y4PMgKF<+mP4jE2ayrQjaKI}1y(A!$I%d|ag#CY_pj%s-a@&hEX>p#P}NL4SS zsa}Xbg4(*C(tC4?RpH;8w#zjO9n0_T4Xw|(sf7MM#Fc4#fv~K) zXKsx5)M}bwJ?!b~IEf|8H4D2%qRKYab#Bg?DG>OY>S6QnvBkZ$#pcOy^XjXQwjXZo z9VvH$r%(jLN^g5(hs_r)KM$qCs?`uq^6V*)oDuJ}ka`aML784Vf?$BtVq3V@8hDxU zN^AAei)o6hjNX^*)H{NVi5Zy1OFZD#I2;>!w^;sjH>9FUtzLbl`Q4wn+;$RS54tSG zg+EKzzL6C(mWnLa)TLz_a}CT-GumwcX~95`_QEx~PiAyF6xvDfJAk5=F2H_kJxdl! z2UUN#<#`ZgPL?_3mGY^$^b#1Mt&9(Oj5xBZc420?$W%@%>CrTqdUYK-Jo&;*EB2GJAs~+dy@tbT!Wrp`TeMdvCLB~Pghz*{z;`R?#Z7b1e zG~DVSL*a3%IsfRQR8V!!<9CVUeq*$sWw?;$RXVyakR8Gv?tCYBxfrJgQ%$l;TlvSs z)qX&``Kjs_w`w~pEf(W83O5qQp-e(%N>RAfU)U%hS0pqzcPLdBO zpmz%RWE7sKSE#wBCVNPg1~l)>i+V+LKDGQqc3Jy+R)jJ*L57UOZT3k`BJ?><$Z&$l zaLX0JbC_^>QTwxGKW8!7{Zq9wZf2n_eoK0c4f5bXH`3A1a*X9Y%)(7Q%j?laAB}X5 zZzzuT0AsEertnSr1+dk$jQ-`u-Rjh_G1TXb8<*gQncMY?Jx(OA2cDy9{kKIa&@-o$ z?A!H~-1W~e)_F{7LlST?-x~xmf47IWlALnv%0Q5zBX4uZ)taGI^M9<5gYZsP7+Nlb zSVfRF^Dju#uC`qsej|c8$CfA*f&=uk1x2Ev6o=ZtPKFcL!5 znzpnVCB4TeSz8l&s9VV~hH}m7OeJaEggP=D_c?s_;wv-Y|1LbCG2L^7-Yl8&#M$X2 zC|Sd47eS;*+)qS(+t33t*&pvv8-$mWpgU%qn|Ha`1z2a zDOASvP#8s{v5_7=oFzM0N?oILXo z5$8vPDy|VfbI9VpVIYASSh^jjp}{d2TjU*7LQAOb$a{mHz%d#xt|Kg@Q#t??2zBMz*4Ru zza({Bo6+&gqsHz!ieS5M1SD-tk5n{WzdGKuruSLaN0?ZrI{0DR&y zkf__{cBu@Jt_Ie|?dP^>Gtjh|cQwIL9JbRge^`Yh+OZQ_Mjg7wJAD;EfflGD2h(+l z0pe%68*{dSbrjmPa(%OSSY+Z}6~f}=yDeOl7{z`#+#<Czm4s`B{|JMueYtpnC<;vpX{&G?2D|ip(PX&*8eC_je;dnFEqx zs%h4U+ndchGW-$D^>3cZvYwuJACG0zYFxlbj7tDM(SUh?f6scU&|+acf^psQKCb9A zZBFe93;mM79z1Ku?=`yM-)l7X%et3x%Z10AP^0c804olKQX%7fbi`v?x>CU;;uAwA zg(|hqJu_SkmVc*$TKg}~&D=7?vZhTj_X;HJwen9w2e;_8hEH+ZzKuPWfhn4&CO z(;61nr7>XoXeo%Vmp_?xDiKU05>IpANaAY;G1}s1Qvy1St^;Lw8x}09YGGWfp64%Q zZnZ1SJLG!I(~X>^0Fx=vTN^AT8@QFQ@Re-I0b?_8+^(}(@Y=&SRJEXegZw(l6K(Np zvoUX(Zyv#u?vl-z3*-!RL58?rZ-dxl>g*FTEffi-rFN+z*HpwLQrdtgX}y3Gb#bDvl==jwqMje@qwMV=vM{NF0&yNm>g-f39TUwDpG- z@AT^I8U>SnM~wYm+Tw2iVR_yeC7ZWBH$4?mY@e!$)vKFrH5XY8_xi(DkZ_{jN+AXp zbAvmXST&pJH*RmzYzwAAepBG`^m@_SXn>(+#PSDfi3or(Vij+lru->%q)Bt1!SB@f zw3Kpi9|yx&6GX$V$1E;20*oS2jFQ(BR8P`AsWn}fC$}jM-=HEQ6~5TkZgPI8Q~G2& zFNMJpxn)$*cBNnEHo@*>=c!(Og@tJ|7bB2fr5+$AZIbO=k8t(^V? zVcqIGiuQuk3-m3Y9YhM2_S_qn4qWKue$A`SF*B9xMXZ9wDoGS|X_#a`u{C0NS!uBZ zf>UdAwtX^MdMCiIdjxYI2N9VFMz~Cu_!V=)k6^gjDxlvyK{gP<90Wb=rU*qiGvCd- zj*e)ad2y7Hq7$F9Xhr?WjDVf5ye!Kfd$||&sapGiZx^gpE}KgbB5CR`ECg>+ zW;Y==M3w-2O{d=EQgi?_mu*>&G<~R z%2n7$c!O26M8^I60!{Y@k3<_l@wxf`DMXHN* zbBSyl_LbwDGP8>%ph=kwp3t2{kej5WF{x~nA@ff>D#0(?V?V1Z9U~6U>E(9qE01ZN zvJc16D>7j(JM1 zZAN5m3U$^(+HCpPgd^)8?fz_8vEXsj_Jao)k#|`iRm^_f2?YApF~;<`DRF+LL)7y+ z$dXo@G(OJxln07-z)a@a)cb+~p@d;UYZ*I5mw7@Mqqe3U8VqLFDBCk`+B&r)}nD2WB0AVXAgeRLrz z_B5r_1v16YNN1-Qq#t=bbU`S`7UGRr7@!gvk_fdi6V~}1l>?mb!_D<2>C5HvY-8+< z?mtDN?S57@i5Jf1Boym_(vzQ7>66|&ANWrZ7D?ESBI8Km5NMiwB)-ws{h}evxyKLQ z@4QU+K(FoVp*L<`5+l1Ar*Qp~5N7#Tzy#w;lHdrJ`R%mL1!!t+8EE>aNX{2i3q zLL6C&{8$mk29hu;>$PLp<~3_Ka!}m%kW6Zbg^hhXS2zs2ReRfc9rt3|{zG{k?%<-> zY`LR#k|vyS-P05*eD%B+HX|)2&PpYDXT6x!L)1xsq4(ZloIFmg#}avEqAwu@@dDq? zHb;fwF`J#)K@L798LedRRkkPT@+_m4h8pL3ZWckSr+$8&pi<|+OvyU6FNQ{4t=1m4 zo}+NYGBs$sHRg6P-rZcnY$%2nSCdyuR(s41gK1I=_4(;%HGSuTa`w2lqANghi{rFo zkU}O1z*(tisr-R5LTwKc+5M49j`wW>fO;6=tjw)AAI?X=64CZ8;uY1uIwKx%K7$m(*^H zMkt$!kP1NwN^uutwwoBAF+vSii({O@>+9KHD%s%E`>H>i<&?RTAy8FfqDsj`IX&25 zII$K!?}_NuEl(`0z^5m#!$n)JMN`H;eHe>_U;af9F1Y;W%x{Zo$Q9ffGA##9Zdxu6{#xk$#*Z_~&v8M>`G=S&tfX zmm90~|88SnyxLMN!6o^JiCWmSWzugZ2At?|%3wd-p^Ke;8yA=uWTb2IlV%Q4wH8pJ z@{;fg{&EpT8{4~E_>G9`)l1%|>8qCDbhyPpoPN_(l~G5=A`8#0Rmj`lSBM`v%V#;Y zOmGJ;!?(wfTw#}|8!-lJqE1%ozea@g85;AXB^?TQ-ik*1sdX>xP=)X22= z>QD7paj17J46z-0Hw*bl6M30GDhT&y`coJ3Fs#|+^FBn?+cM1%FJ1J@*i0P40aSG` z*Q#x+ZT%n?d&pzn)9hieTCI_1E?F~2)-xA7!1%d&!aBlvdO4f2P@+zjw&nS@P&+LP z%k)o+N>&La3pUPg&3w?-VYuDTS0@`efaJqsm zGa(ZHUGQ>1TCu$F-4WJ+Qy?781NOkQ`T0N*7S+scD`ylTVhqWIb+Njs($){VTH7(Q zNuyy~oUsLVsSyk4*Fv@ss~x&XQHi=(j_PUryi8{#N(2Ih^IUjn??6*MnAQEm3K`T) zDL7urbT_dU;9Prw_$()=;4nfwB&}fWlF%aL2brP*aMwARo1M9CmT*rgB(nUa`NOv2 zAPU+2FpO9AiQSb7#la(VlA~#Nesbp}drY1yTVJH6N@+-(*1ltP_OSmQ-d`iWjwPD>5nx#=6^?OHhx){=p+8}lS>@Yow) z7JeF`dW19jSUQ`+zG%fL%e2BfFvX^`q)!j9!N8A*Q6?T^!5ri!oripF+@8%V z>2R)d-1EB)iY&%yX3S5cTelt|^@%={Il&^JJu9mhD#nDJ-rEqxqT2D*V99! zl+|3r{ji+miAnjtpiBKdC?JQ7mSDN^FQD-_AU;te)^%|1o8ser&>o+HrPmfD3IQo7 zyCZmZ8T2jTn6aeSoP^adj=y0wk=$s4pX+|TEz z9j^N~&Njb{=7m8^u3F{PH!fplmdNxEg>W*8Hk9FSg++vdnJ@y2iQSm(F8*SQ@X z4$;*KB-(YFaW0RYildg~_Y<+9X{NijpetY$2P(KBtp4_LXjW6-77U-MGd0i^v+I39 zv0A|{x2axJ6q-T|3i;#lvui^rsf1m#ndNup5-BGW@-2i2RZuKp-OvZvs z6T&OJjZKdb%x~zOARhY)t8GN%_>C=yoQ80%!7I`F0co8#;%oocHZ!+(8{Y6X(KTzZ zMj1{CuIP?61V22ikeS@^SBO4ds#%TMc<`uVU&Ah=>Of!*P%L9683nm1#|VQ*r>P&w zVh|`NM>hHB(04b1Ujff)>*991a~Dhjm5KXO83uP*l%)V!#OxnENV zmSgy}q9p#DVh6v}asZKAzSr-x8LI*>l9-1sak^hT8;^jz%$vkkPcnN4(>`Ia^i<7M zhgqes^-!LS^YLuH@AFf3M^bd6=z9ovBop)9e?4$7 z*Gew8?m|-1m{-W>f@xX`eDb^YcW8k}n&)hr)3dUhtK%78%aT%B;C%4t@%DRreY}kA zYogmznyZf8w)%4bzT8bnf1V}}-`TYWzwoPWJvkZM9qP;PJ#9X1Vd=<7<2pd|N8h8F zvxNDF6yL&NHtJbV4Wh2`iAXVzct}Slc2CNvnIT^* zx>icx;+cba$4O+(hWj#E@__)qaCBdvUiv4FiNp!|OT|@=#URG={Z-cG?EO#xpaHP) zJ$kY!pPN}?g*K<2kEqb5`L@3<+?vkdwX2bu>}=*Z8_|#SI;deLd`HMj6l|3=`pd|r ztUqcyS@V}{2Ah^~>I!BBOYN%U4;nnJ!{*vY%w6At6iC!D_WIIe-RHA~HQqCxvax^T zX>U+19SkiT5hcQG)Kh{ZSw65E*!ThY#$vuVHxZ4A#xYVa5>Fddlw+i}+OZnTXCaqn z1EP0mU2prc3z*%b8v9~2_VOOc(1c|mlV&3+>_)sWpE7zTT70(}9ZJ2&?2c`{_g*_) zu^$Vuma-2{n*7up2%AP0`3GONx|crsM$6DUTzzUMZeMuk;@bsW63HpW@#i5j2ZZdO z)YftSazX>SvH9r5G8~K53M#qxATP#{B&yK+GW|f6b~JE8itMiq6AyoQcjzTjo@>dz zMXUIysiMTA&O79?r5-LA-otgwCfAT3RHtZTb4__y+=86)zN2RHqNLtn{-W04jDH z;LSzD&kV$x7J5>u<&MK2S0wV_i|BxaBau?DFobJMoIzq6PB>aI>xX+*ogBQuYb`}{ z-sNrV6@6_J3s|}{VV97t^?|#oZ6!!(k3&Ro3Gq@$^vPGLs5?R{6VJM`lJ9y#hbtGk zu9xoiHkop-3wQiwxHsJr-OFLB-bdZSZF5KQy~;&k&t>m!N0)A#Y7Ek ztqs~dKH9QL62*)$I*{Yw;lt`#e+SocG__i0ZW$=1ufOWt^1)ZDWaoA&w`RT5yI1o* z?*?=`JRztG!7KGBe{Jt_A?aTT3J3Rtu)>OTOQOmuJPHlG@^81ZWb;nl2Wu84mC92Z z7BHSm3QB(_8u z#)C>tD@-sy>^*qNX&uO{6J_zG{TCoDg6!Mu8%Q$_W9@$fX~h3BNE1X_%fIk(VRv&7 z@SY2BO8avhQ`pnR@{P3C&<(B(pA^Vk82SAeVfOZ4B55ML1BJ=Tcv$q)f$YJBrRGqR zX(zW)n(QK_F0PRM1>4{_=v8kRGnexpu%+RAkHwIyz1pAyzh^-sY4i%=eNuzV8K{X1 z@-;KzV2xFU0PdlkM#&$%f!t&NU6dAy#zta!|Ax{C|3@gz>Hm$=+TT!`h8bcC%?1Rjr)!I(G2XY+x0h=x`_GBFhlhLmF zVrJeBehqwQ98dR$L(N0)T?s3|48-vEnozrNuFcQN#McXNcbB#j{c4 z*uRr90l7C)=K6W9$E>Z#43tZ7MD!0*R%4IGX^*yBg?`PLA$p(k^-*7p>a<$*1X?bX zVy~U%0W-ev0Oi-5LCvA?m-;qes^18)y6OL0in% z=1-7Iq{cm(qu3fvOGrDq#5$~Wm1K}cbCivV>+wCL`mU{B#ELdsTwqGb2vXySDZTCU zA2{vW!TvTa4*JRQFs9vu%L} zTGN_W+mW6Cr_`a*aZ_Uu;U_}CF9j0&NYWb)UGV}oB!~)f{!}!K<)vEg&Mo_LKy58k zn_o6!fc-vd0nokSA|G1PKEckI2*LV0*{v~4y$N8*8J^VOxLOvyy-o&Xh3BDPy8s~23{xFNFfT+xp^}cBPIRkvUFRA?adGPwp zr1}M7RjcAqP|(zB z&HHmxWFjIKl9gv;A|^XAM z#f(+o3!CV@>yE&&@x*^-bXc!xzpl91EwxSq_#2bMACk*9pr3;wb<3}tt@98^hgUKy zZ&q3-`NJifer|B{~nqVU`Bq=niXv0}jMN)bv^Fi=P4 z#e9g9Pzn*|zB3ZEmRhPZzDq-V?;NvT^|pwu+hEL3Q2NU7H+o)xKp-ziM^;}0Hv+0j zlVu;V4)m2(v({{R_O7m+ULPJFoP0)rg`}$UOseg^?(TexMn~5bW!JBdkB=;0fu$b8 zxvv(F6PvH8006*e8OjOTCbyh1!lersI2U_|Gv20|1{~$BsePyc$`ecr=c#`K46}W8 z$_rDsP~!e}iy5tE^L1TyGSSn7x*temCom3gz9v!D&w|Vj4N8;QA(w>C}Vy;z_XhsA| z&ak3?l|4nXT-e;!Wy<@q?C(fN)h$6xuN3D4o;*AUF9c_dM-R9Uj8kpz1@jWhy5xgU6iDOjz#c z6OPD}D-FDf#@ekOAhY^)x9)YqrF^q#L)K#+k<+i2bBYcOF zPdjWa9SQ6E9!U$I$`m_jPp!u+)c$mYJy)+jQt8hNUS`~Ob2N=-+E7FE_{>m~J^5%W zU2AAtSNKO#k3xabH>UGx56wz}5dQf#SwX+C>a?rE~M zUGB?-7E!&aaJv=ft$OR~0MkBI=~WrBuo}y8vXS0v0|kTv!;=6wS~py)TCj9QxYY29 zEt)a)9Q!J10+9565$<~>@V$MBaoNsjBZ#`=cpcKf_OWbx$Vm2tx${sdycTUx(3`j% zuABm3Lu!PbKFl-S=i>;eAttwG8clflvuj)dG4a2h-TU`oNOSz zWKNFJmnpCJzLZz=H;-$tHSAd>MlTahBm&nyaX_Y<3kL6ij*t<-deu9&7Bl?%-DiHV zLBIXBA-I;y6LiM`p^r`s@U^<2u%WXV&RiON&1KKJVjlF-o@elu+!${*jGodEUzM!@ zFFY?jcBR>OCmkjl%my^&J@SArr+DxuAYcji8`fo!jc{2aY~icS#3o3cjJZXdh*0}= z$G_c>|F|o4C3@EwxRi}O3f1|}@pQaI zp6b^hd8+XpW$k%@ydV3QI-2!no=2S8&-7mx!0tZF!VAZ*-X<#^rweB*_0JEZ5OBwH zN5uo_0;B{YQaW=63JLTY~5I#Rr$fg7}4# zjeC%;%4O*;oGxLTUj9hA*-5J>z}^yE;&F6Lwr8~gY^t^MBuztihyVRj;cjvh^_V5> z`vURYXPSP#yV!xWxdk;Bv7mh6ZzDb6`0|oTdl}N&glAHsCxy3g<9?WJLB*mVNpkJ+ z6glzxbzq}HzvIQ{^d0}Blbp%aC6!#l1czo8l@NsevE{vD<_c2!z{X^1LFie8wvLmK zI3ehYx7J%6kSB>ZSbU&zdY6r|Ts=&(phEWBj4A8Fd*S6_6sPpbSIu<(^}rX@>OcB& zXji1H=6X!*q2@isydA(Y2`KXM7gTd}X%+ztQwT$FR6)=8F%u&j1g~doc#VB8`+^Tt zH>bP#FNx3IB-@?!i$X6F+T?Ft^a(1xR$LDMe3c`g%6#6y%y<&pq-Wx5JPU4nlC@*h z*6CxqEhMpOIom}wzE$@PJ{xYV5nB-16_&ifQW`Q?&b~_+^ zDf_fXFve3(vBPn!ps(mXnFS5JIXko?*dR_LO+CwJyvKck@Y zW`Vuw4>oR|bY#CD(jO3e2!1`QE_&imF1|i!Ci(Zvgr66ZyyiQ0Y1bvx_>+;B>59|4 zZzZ$aXst>2tSO)ie5|`Y>~8w>9%o2s0O@v!?rs;%fM%_e2FZv1UdyAGS`| z(e%>n<#m`e4f|0&BiU(wxJ`|C$@YHs=3|!H64|N7J=NX^q1RD~!PRHq->?%UalXm_ zi@o=bhU@G5{{iIS)xQKI*5v>?%m=tT71joxeY9t07DL??PLF77U)zeZ@^+#7SAJR$d;ate zTV3O*_#?{i`y&eIn-q25#l^e{Zue#eL9jJ8?r3%GQ9Pg8J)N7>zqX!lY19&Pi0zFf zKMSxj4VrANXq}ZHdGrcdY4Y!5^Fd!n^!3M3PX_xBIvn4W$=v5@kx;ssWWiu3I{mFm z4j4A{ogUB+Kj_{XeR(HvntAc&BJ1`Mf2AfQE#ykA{8-b{3qpTC(HN(+s=u-2vdY?A zsp@7p5BliPwmld2-tRE;d_?98f8Ngd%b+unNRUn4De!d2;x0840vsMVZwk|)c?sLl zg}SDN9g9>PPC=kA3#D*!*)t1Iq&N4|h+MMHX*7T2ubvGknj;M|zrk})jrzZh?A|1_ z^-=5ela=o;=Qd&)k4#*1Ux^){wuiv{7EtlQGBIme(E+X8_<{2ye?{HE^vpvD@KG6G z*`D~Rm9K;hC^32Yz4iXS=}r*Tf#mw8WSG)t43PkyK<52et2>pf%B>66$(p*L_2HMy zW1vQ*8=ec99^5w1q4`=i8oKlgi`5yi| zSL~U#g2=K3Csc6WYT0PMb&J7IeSe7yUNxT|<^C^(k@h$LYzeFya8Wsp^5wSAS%64w zNMwUilJTR-0c!a_H(RMfMkB8C&>z92Ha$0WeJU)=XjUvZq^5UL(|= z=jt?*@0WLX+lwcZ5!fU#@!I};lq-ww+~|{AQF@2dCbjy??a`E!&VJ$tvOx1Frq_VN z6ZXozJfF)Wzc$V59*#r~lU!E?T5i1`w_YMGT+?5z$yOo!0S5z3YZ&Sp*FpP<_<>H( z)@^ifmJ|gDOQ2V*rneF9PX4+9udSKAP3{KvsT>Lih=>NzHFtZPMG-k78-)(1*u8Jgbdo7B`BwPAOugyj7H>I>U~x}e*0N19D3 zjU9&TbVnVKnXda@mO<)95A97v(5BN8OEJA9(Dw}9`L$uY7iT z<@KY?5*{;eg!te#@IF@ny*?jAFPV^Y;-|aYbhF4iaeIrED=xX%xOwVLGq*?Pax3mE zEp?NVHt=Bw`?b+z0)m}Rt|k>*^7&ELV444iPQ~L_wCYWALz|eo#@89--U+;1by-LC zpNK?FU*wO~d|e}GN4!C}f{^GJK|||oUK6a)()CY6$pPT~PD8~_tdnb6VCl#FLr@C_ z?fm(=ALm+_^LabXf;O!MB;9m4?`RYfHiW$5+nl5ow|&i=4}88n3cQJG%t{r*p2Th` z0fDR`6%DD{NcDns9QTp^CA-AM-Ik+g2Jwc0ro&YhJJXeoMJKiFxgV!b&YMSo#!&>`WAK7K-R!~3IM1XGcFPhK<1*5t(dp15bY~fpL}>M)xTK<1K^@>D+K$(L zRSm_oxCD&i+$Xe=!I>iQsoEhgHS~M5q}Xz?#^IZFa`ZgU{6dNEAO;EMGI-}MzjB!m zncUYVDsIYafs8^LHxQexWIggZxBqB@Ns{rfX0zH@F0X5XVl!@hF;J?v*>5v_6;DFp z+r`;g{Al+ZWWHN1U%S)nl7lm9CVr*_S<-fx`C4}58a(7c2M*4PKZv3j7d#G*iQsh(S3JVSV!2{wi$| z7i%jQJeR0eUO4ivA?jg-1ETT0WpLwp<#mF!SVSeH<)q<#Zr)p62#kY&SbZH()}D-R zoY`^DNc2`CbTeHDeK*JrIsF4Q>9?S5#QJLXl-%brr05reVi#+c^sT} zRv{wGjkDODYjeH*0zCDJK9eO@bQcH+QWl@^7CZH(K5n@uk+JVD-9R*NUe^b1uOyEu zxqfrA;cM_AH&q&aw1O60|#i2<*b*=0@L>b=}Qc5Q7@Zp?0B+CA>6nYb2 zc?oNd&Z{Up)k3f~&g}FKuP)txgIu;8x-@uAQ?M5RhIhM;zc zco;0A2KCkf@UOGxzdE_U<`c)TRT97P+1vBv?m#kB`DJ?@Xkyux&JR;SE*f8mmG7(17pRL%pvqD1xp1G%oWp|2 zfE@I>oDTb#fWVu$!4L8Rufaf9Nz;N3G@oxBs;vtr z(Ain^pCDL9)dnch9*OQza`aAHl5gwQzj&es?DJi1&NM*1>d+E$owk+SKA(8Gf;je2 zS^20fl<)dh4s|eMM`MNf&Y!_Fyt7b!Hwl>H#Y62JC>>NGjbYiT&=|yp5#xdG@W_(! z=2`g=60R=Z!N(%qvA-@I=%GkG3KwfBgMWkiZ7zC-3?X-g(H(hX$+xpKjh8iabLrne zsrhcTD-$+-jlspf`4jH+xrpS!c?kd54`VMVMe^adg+*`RMBe$L*j%R6oX`8ay*Lj4=gz<8i{D^# z9o7h4(Qo*@w;^rdwaeoSWOHjn!jv;hP^F?SfuB?$d}ey;74i_}5Oj0C16g)n?m)m# zH;036K3`JSSDmsw=N{dpf+njWj4J2AHFM6_sb0B;wg#qCHD=&fqq#_KvFjit{2C&3 zp^oBgPQy0`hghT(+K{;<@BZu{svN0)4Lri%_SrBAD&u5;%r$TzM)U@k@6udv)AKxg z$J|w~nII`T#(PpqrmzoPK3DoFAg`7u^D!53o2HI^w)iM5&o!j`cY5QWdLJF>OH8eA z+4S|7*obZ%w~Qe^9GSJ{j&lsYk-USu*?+V2enACVPF1Xil%UR>xsUWu7jNi{cI{h) zE-Jmlhqn*xaKKyEO1Z}wmmRGcu(Mn^c;+P0Khh@;=GoE5)t(MVMIz5AjF9JbX5ij0 z398Hp;Ldz6<%azZQ!Y5^<|$y*_!?6c>Rc3Ol!zGU;F#w=Se`4+JZ+?3)0~$cS`HMV zcL%Tq#Efz@Gf+Ep>_b1EF);0W-GgdEzZ0ciS~t?p;lpI}vM5du_h++AhL%0g zOV>jxQJ9`K?JFIQfP?@)WVscYuaMZf6P-t zZtr-SU}!T;;6VQ#pe1DBBMv^J8w41Q$Z zN#77~Qm5Jxi`Pyb)C=#mwzmGY3tySOzfA}Vhc0xTbIO|Ro!OgO14d3iRVe^I7S@$9 zpwbs1UOfK(GYMnVGeMG|5~WU!{=<1|sQZ57IycCMekS?kB>~6-u@FcJ@k>61-Z+_* z1cWpk8EjnU_Z!ayx1)DZP`$yRVwA4e@p*BHIxRKZ0po3rInOA~u$TTy z>dX&3d=%8+^vFMOrP=fuH~1dM=y{NfQSk6!v(ISt-6z~*gFE8f-jS5ktE280aMK;^ zMo|EYwoGGWp-OPE)#$*meci`@X%>U37kbebFOoY6UcAb;M%%dU93HAs@!J6Wg9{Hn zl*)9)p1-3D8Y%TXW&H{xpL%|wpYqCg<8j&G6^3b8E*wO81vk=0uH*SjRI;Jo`G+L_ z7=j9Sbp6ZJPF(fr9($2AW{134Rj@ z&OCKPbC3OTxrM{Ec~CcVqn$E)&c{vXAV$m68wsxUp}e;_-Mc2N{JtZn;LB~#2l?G! z9Ol`DT5p!Uz8~gDWJN-Vd#j=dI_!mwQQQu{%&86EBGl(Dug9DM+9A->?C`Q9yky0p z<-LR&>}*J%uSXI|lZn^z1|M4xKwQ_c-|a#$7f$QEVSY(pmydkuyAQbO_>h>aehBmR zhQ;|cGtYpY+(uY7`*I<_!dnr!@L!aZKN!cW?xqew=LF4*yzqz9XB*uoiq;U+fgk%s zB4%Ss5QNU*7AS#^kPJ{nnN%uJQ)y5iDjGy?j7wjHn(njDlEK-EyN`SG#dH57R8 zqak_DYXq>oS-t%A7$$#=3Q4>+m`^?Cbmh(fEZ3b#cJ4}$437jh#N|XWA(m&iDp0dq ztx^rYW)$SdD!bhnC5&28uVqWyhtUpTI!4=YNXe(D>F(;SpIZ;7F^1xXV% zalVC=aLx$F!dd-BscV+2a9-Hz)1NvAn^J?Mh{W=p zy7_m=p$|+AQKok{b2)lcn>+6J%1Ldw7NN9}-{VzMuZTgo614y*sf5$##PKSpC#W7N zNf>ld;8ORlWygm~u|k*oj$L{vL)79cWCS89aMYb^opcV<=i@jk z$uUe|wn2U2;E3E`mJU^60na;yU2#LNW^q0syWa^S=Lb6ne2|M*M>_vL>X3^(!F? z%_13lK_o#`HMyt1Kh&8<- z<=sqoHkKU|Wt6p1;2M-KAV=sRV6v|B?#W1O&2$S+#_FxNZcDT#)FZGuyQsiO#>PWG zdY7%{wQD|6V6adc%@p?-7frq|r`LhlEjt2)Dm<%I^;^=-q(da$zS3{5GJsVK?bd&O z`>ZjJ;9#Q2K{PR`AX7x7he(4c`Ok-)vCgRDy%(I zDL)k>+K@M{6x5~{rwO0AChvl2gUBy1rZs?bgwM^UMcDyKeu3D)Nas3jwx^37> zNOH>ikiMcS#uRT0Cu1B)52?xBGY)xD&deO zcca|-CGZCmSqEM=xE#q@`UDXX`=tFm>!E^=8l%WXhJ}XQh^Z*Wz=V`KHV?BynLtzG zOGkF(;hs|x@Niy{GSTfv^;LY<3c7^mw=mcHMB@+dvsY!-Mku8Q;NKKfc3T!S(gwLE zHdh7)h8nVQ6$+Y%#Rzds-!%Q`>JD`z%%jEfRR45!R4VFXboC1%!A(uX4QPWmHmUWA zk>;hU_T=1iVQU~~AiwPU$VoFr$LG?;LKNkx?D`g?1_KVu!dps(8F{=Ca zIci;Pjv=BmL~tm^^AgVxoge;urIEAG#K(_FLUPJzn~W7!%^)dkV7zZyFPn3gplQJz z-<5aAfTGW@=#N(}ji@Casne)FQ)glo-Vj<5E1{6QpZjeW@hcWbU#1Y&6Q)GaP==eN z^2uE&XB1O4OmBDKTGm`Iml^coRXdpnmSro~&?PCn6nvkbi^|TDH4O}ylmO&%^6or! z$yG;}L_-95KYUCYhliR&+^08|c;(Sk(D=qWC;P4cOAd*Rru2Xng)>4;JL56uXNDSP z;|TO%pls;jPmI;a;tJ;D6v3#Hv@$>}K~-g`P-5wC{e&F-X$g`_cgM&Wh1gxiDp3GCw7 z0XSIh6;uku>$IAzbjmL)4q;#P7IVV;OCL1z;tk&**_9J-O1CZa;^>XVU-cCx9GT-r zdq2%BkspUNE)fyueJ0a;YYU-c*e~51Czf^?NxXG)s&;%DQrd3<5giRb@|9Ht=Y7(Y zB=2{!BHpkMm*2fCw-kRMQHr>tF#83U;;3KyoR?$Qe`FuUBb#sN!g{gxw38OCB?|N@ zdH!<51tEa%H2i4T^=+D7f9m!98!vGE?p{=8BA(Ss2?hQE1Y)*Nl^z*mXh8W$OiBWzD*dWZ^b7-mQNH%{m#Z;3dI4I1 zq*4S0zCG3$lD~h5s%5?EdZ)I;^oW!yTwG!tJ-C4MIUTj@1P1%R@V6+fOCxX2|e#}p{*hZ|~K_3Hs-EmLPw7o!$m zIBSA8$j&}6)H2Onv9;5UVi+W zF4^|r!XqlIbjy>7*!VCl?d9{3{xC-=iw`eDc90Ip^HUZz0<%bqzR!yM&ClW^+nCDO z0NZWgr}xm^>1melW10#|lGPsQ(|}~Pm^kejT@^Jr$1F*aj8LnJZrq;LXVYIf!KwUo z!ny-NQt=x8@~!OsJlfh=62&B9nkwk?`T zKT_c#=i}iYP8OwCMca+XtLc8yZWkIKq=@_Ndw_BFkoJxOJfnD`%n>)zTkMF=d!KWko3-6}e!#;Bgp4 z(2=5aJadEwQenMszU2I>ZrbE|p`0xI+`kb)WnAT#3l|ntFxr`HXua{(oFV_@`(!l~ zgmd4MTq#)U5Owy&(AAD@w+x)w7R;op&m|k4 z^>qzd>8D6^nxuryG`=+z$}L?U@VB9D8ri$YKT{wT9L~q^NTY@L#uWt-#vunM)Zrnf z2;m%R?j3fm3R#k}_3zeA&(PA{=+6LeD8(6x4w5~WpsEMrephR32}XfYZ= zC64bT_{bELQng&GYiW9$724@G*RNoDG%dFA8ws@+>W<}#GKfXu#`B2)v4-c5JBGn?RKOmhB-qTlKXEf&jLLBPF{6}0Oh4Rhwhsc$7i-@spa<#aATWaoDB6>qEEQG9`DZxyHJM!n!*O+mXyn}lVCrd5e}3* z4G||=YXi_BG|Szn;)Uv5G%$tVwwYx`Htm>5hU0`I2DP9Krj(HvS#@lVh2bEnE_r?? zx}HM(Hd7V?=u2b|?O=r`(a%`9?jcUCcqd}Z^{Vi?TJRaYyL)=qp$d3JVxWSXtbT=B zi_Krf!<4sm=d@eG^CIBI1Ni}8hn|zC50!qA5V9Ys;nJFt^X+%KPCbCUBZo;?UPpC!1 zGz)-_-aznTk9uN}YRsnY^W}1LVOX!%=Pl(jeC}J>9Y)m&WUY;O7v$vRh7yW3R#V{I zxyNR$h2hB1`?OrJlY=4cMVL3774S`rtiifVXRkhjQlU*CFKf4p;r{jt1@2k>a&zws zfw&OtCmD6F0Ah!Y4>(B|GL;vE(fJhmci#lKi#cl1ePdO`K~)>v<>M&2hO+~CNZ8bT zZ!e*%p3(Z}oIjY;OA@!c7(eS1-08HpIB4HG$T+@|tt&2o&UR^bi|Z%%v^*7F3J z2)adat;-%&uFQ;&$VisvT|wJw^s|QX{e7{{kHxHFsF`}ogPd)e`Sk2Uu0U-s{duQn zZ28G#SpBa{yojxMe_)aoPZOvq2S;bCbp0%QJja#4_iGO@;WlgB>nf}L$%M(7;uOi{ z5c~|w7h`QLB$lA652in{9%viAkrt*=i5BfjOtE|{cVVdqv#G(3Lt^~#e` zbbVTO#@8imqJE`r7iHP_zL4pTyd=VDno5v3S zMth`6UDFXORjSfy50Z>^bHf*i$GqO(ErCDewnh+Tzvyx!MRo;hL{fcml3h0ZRB2>w zNbXlq7L{WCxNu#69@9%JUzdeCGU|b!f@QTM@6i%^oF5*>BCrDoQw238oJv+5;7gq+ zJ@%)%=)oZ>aXAKeS%)96)Rfb^i|@fk3Ut=7@e4nK`(TJg@$cEzBcw+vfo816n|H~v zvUXnEtm9UvpbPrK&gOHY#xvQ?djTmjo=PySf}&3(*rOO|Q`UR14~LIc=@0QrC4{5! z)ngmQ1`dV{VU9wc2VR#6iy(3SgspnX0r(-1cBcdw=R~)CTZOv1NzBA5D&luhMvkg} zE@~(aD=qUo<3jVmt7I&|Jah8MeheU6*^9TZJ*j>-A}3ULCRsi7;(pzuPjnS@Q-l#5 z!Nt_$mFfczYCm4^G}|D(qK5Bg7%Ad(k}XFUs&AeZlU>4chQ39+!AsD(HhKhdm8b}4 zMcg)KC$W|H2xsB{!1IdgD>Zc9t%29(Tn6qd>qgTy9`$qH@UZlG$9Yv zGp}w>2u3$Uf4uF5si<_%lW`SF!2ABpUJas*cpVDhh@OSIg-ISRBt+^32+7G3>k7@c zq9rLTQtBg5nRh%30e6s9HkvE=S)653 zFD_%!wzNCb!lI>tKX_s^-8HJ#n@O`x$wxv)834HaKC*m$Nq+tvsC$BSB~4KQ!&2UU zuB>LAwe#blW(9zI!3kqX&D3Y7B_j^q<(C5Ip+(?OZ%5sikjP-ggQ_ob+m9#C_jyTo zNmFp=N$nw;(}*~J+gCQ!3mhO+@Xh*7%wy%2Y^`Y6kG|v21B(I-p{UL7o&8L^@d(G3`6X}rit z+(R8Q@V?JpD!f-9sXQ6*A^fR{sX;W7M|{AfCHMi&uP=6`;U#(b3y_H3;MGgFslEpSrDPe;eew|R=)pm;!)?DFb2G&dcvmluFNpW^ zY2ESs7K?td_Go%lT^M}u+2$y9>Vr zhXWI1olUw+8r9^NYDWsJvfVt3zMgz1bVw;Hf{rly^pL&|&87Y#dvL$ZQewB|KzpZ| zI4N{ye~$f^o%?a0OI&yp?(#DU=0_fW{D8PZ+;V?4Y&I8Rl6P5?7(s{YJAg^EBHIml zvU*(y+@KT+^n&)|XuZsQj4p#YDRIxMT(%;6XG}IG-PM7g+SyK(=34FE=V^Y1UG92b zyhY`rf-xkf<&VpGly|5ux~bliG)!d)&q?K>y>=-OjEZfV{a)non7>#X&N!31t8&;L zt(UYL0nIHlTorV@EVv@XZ|T%TlVtP^xJ>SM0e^Vz9sllfDyHRdJ#(GOR+YW(TDsNX zNz#2}Be*iqZe>D0ZLyr3D!JhM#8Wze;QRDXj@TZ%p3%k(QO^>j6JU!GVuS)VBJ*KQ z9|~GMJohR2yTorEj3%oW@yc+!#dczKWZio}-A@A6dM?;?*QE{b+b%HMF=6S`@rkuO zHNa&xtFYLTUY26!b`f+aUf0c7M@s_0hZz5_sSWJIj*!sr)hLCCb|n)bv7Ywyg-j@y7fg#eEJF&j9q8A|8g=VTLz{Jak5;NwG+JgbCf@V? zvia=gQl!kT{lW+(iPnb06MoMdk(Id+AF|~=0GVl??vI^zwlJA@auXLj7wXqf+}c_@Jp;P**f5MumB{%JxBu{(ag93~eMs)@DP$t=}mnApbj zKo(8uC#Zed&#S<4=DZ)Ez6~%(ysF4Qbh|A zaIMwiNjA<9sN2V>7fJ(IBC-_rHoMTWSKSFr21T52Z{CDBmt?69n=y#GQISwSMI$?$ zYI%rhz}aSVW^Z#!|9~DKm-@8v{;f&IiAP@|tW(s2HCcp0V==;bt|7Y+0yHH3j1F|5 z+5wB#$62ILI%Ps4&z(n=%eLb!uJM%~e_0A=mA|QqsJd&D6a3`}gX+;b+>{mVI;4&8 z(edMtDO88Yf^0&hO5B$hBlhhmNilf#CF0S~26 zRM{3*saWVxW}&(uIK18DMG*O`498f~hu?NQmInNa8v(p?JVK0+?@y)^&+_*~cP$*mSTgW$d6gKuC6v?} zFqn<;`UJt3i9!vcpeGbB4|v5HlLqOo4)widzz}85OrMJ&M}M0j`fPj)8iLP^#>Zd? zYJRU7SErfF%)ZR}-8&$kKzaNZ#D}mhJI-bXO~P*@J!t9{8JyEt)7@ff?;qZ`P%OzD zE>@jI7N2Zh!3tj9e{-cMS*Lpy^aR~aXeS3auEc*XE(k4T zvKD&oT`Wp}Tp503@28YhDWRKGdWn0mAWNaS9Ip=TBvO5YMRFbCr)+bPZz3_G5JVoM zOF%2JQLoY!2||bgpZZrj>j!`2)HIeL8!G!b_hj|SW?u8{u>zRRRhl?}->N|C>KSe8 zhj?f5zPn%vg=5%mRq_|7CrBdpVKx7K{h#{qtOOy19d)J~Chs^exxK*EjV+7b;3K$I zn333mW#v*EjA0?LSwl2?bAtC^IXED02HUT9851+5L;^ zoKNQc3uP?M@p;epMV=I*TMIa{7T&^2QE#$3re~PHm=cv%oGlO&)EPW;7HC`&763L~8R^IZIN^c7sfNneSFsGL2ZUvh#1g-1Sy;0@~ z2d_I7&lhfW9-T8)X-!hg$@K#~EWAN9=aE+`Z{zwyL`p99b}X#jU#|g(RD}XK@G(qt zvr`%9GmJv*XUnmcuJRl_M#CMd+&{&NIWqD=)&(2ip<5am;~Jgf59cgw_<5Txt2j5u zYW@mx&;Tk6$M5gl1v)H_K{GMqn4&jDI=o|@?Bb0AoOJGmVIQ0kg85Tv!x!UBgg?(; ziX9V23@?TC_L{VKx|f5qU1gg^o_EJ@+XO3m$I(~oBkx-0D2NfJ8hGHRO>f;L>a?A# zrI$e~7hrf@7E76LgQGs`A(xZM%cRS{jq^PFR!qE|*_0|u@!|Y@=y&FiO8zm6V=LX; zf}twOF(?Uv!LXxKqj&ed+}@FjB*~Nq7+b0Oy%BmIs=Xl*l`}hUnHA5&@##s~41vt| z;hBy$=w-x4!DXCs6K=j^(MQMJ?*8TYUbooX_Pab5xzviHY-*a3(mR9$HOad1NoZCBLVa9` zDBV{o_UoR!Evuss^kMqUsZOF+$-|&FB+g0ch!6NAWc(uE z{|Nq^$65Mw2(|HiYK#f%TMZ(TA=iVlo-nV53QMa-^c}F*AxpNpjHGPvEnQsLVyMf; zkzDF4rUz}M#Q4*Bd5I+`*YqvH8Un5H-b2ck;Jpyw8|H%uHvGx2VY5!sF3v~s&|2fg z5kLNNuLd!^8$v43O?~82uYU6OPpjubMhL-i&E$GZt>1vKWP)EnMemC?3$38N=QrP3{e=hqMb^m+u#>mhjBaX2Lr}DN|9)sTS*J zOq?YNmfX7=?|YLm)gj+@gcQ5$zQSme%i}d8rY-n{jYek5EIw){Qx8fSwJKngSUqp! z*-56woG(OMAXL}DOu7LHvbu#EEN78Eyw(=E@4 zI*7iL!G2kVg1$S$xz0{KBe}0CHS@68@S>tq6FS)Qfa^kDFXnOBprD@9Lz?XFf=i4X z@uh%<$+Bm9>VWn@KIZGi8Jfc;90fN!yU!$4pJ^jRqI2+kWQO`TD4*Bp65l5&s3VIB z{yIVYGHHV30}Lxwl)JgaGxQzXMTkM21C`hwzWZt$VKakBEv{f!*Q<+csX&zN_mGbv zNn>XpUP>g{=N=IDG!R737Ok6n)`oaz8^&(q)K0q-23IJ`Q#P$qbgi>SqOr$hGQKEm zu2XWFj+8OYSv69q#xuBXpMCUfVuU(2rEdbTgc5jLk5yg{%!SaI`ppU#(9n=J6EmJK z@|5WxV4qY!>mWj-2QEt~|f2 zc`rzV8*2{uY)7Au+N4S=PqWGuuCLDoD4UKy*2o=a;b3q#V0C^?;GewPn`*@QYP`|8KpkkNf}Wp2v*!zKEPldW?}$jEroabIS0M*Qa>R*vQIpaoQ;&%uj) zSJrGFoDYTEv^I-qq>nr9a@#eW87PVel{sK5ho*zU#zcsACpJ| zaX;M6Xg=LeWk$ab2i*MHL5(yddy=Zr+W0M4Qxcus06bj3u*?>U=u z_CR45u%8D%d{Sm(H3#M5Gu~fp21GHZe+0^`YDItVQ0VRJ*lXw@(Xp%uEyH<+$h80u zJ77@P*CWMsM=bk`qj zEs7U@uGpdRS~|W7b_!w49K}UHcvnx`%!bu25eDh_xo{F?X?o1tKu!z)=(4>Hg9gCL zczMqk6_}Ej_4UF+T*!-DA3iqDTyRgg8{csl_B?yeOjCeeBOOL7-)42zJJBo?HJfGS zo`&B(%uyP)B-M%J*9X%~rc>gIL&cbEUZ|8qat+b7)GcC%NK6!WvSs3jzgjH^>OVmY zk8Qlz+@(6fb)sw}JcsjC1^!s!E|Vc#JPmn}p}gq`3q`LXmNG#t>gs=XjbyAxCnYOh zlc2&Kk5qVHJG%GW9H+Tm?6LPeFxzsrk2-a0GZ1}Y^5K%MgM#MtEP%iAYe%dN9w4mA_^gngS#k3WZK5280lmQQ~4 z-zFg8)9i+e3VdZfX$Pn)K1|o-7l&QT#HS=aP;aI~cxhcC?=TquPPasK`(>)clrD=xj}gFbH2&$cm%o{b}1U8cPmk z5lIAgp4`~B<|PIaWuY+pw{#&xVv$i`n#sb$8N_M zFSTJg(~*<6pQ60C$Kh*%1gh_F3Ea^rAP+TOc(+D^W}?K`x?twI-IQ_9os2L(Oarn| ziI7gOFfn!9iyD4us}B0Go(U~5bHC;M>BSi>`4PzRUWTFL>_<7A@TgruD@s;4zUuVG z^sJgKW@m!F-kA4TDOvH>lw^s(1D`%6D)nTEjXWOz>_lh~4H^G=@dz>Qh#~4y_P$t< z1#dE=!L0gIc4cpv?MRB`k^6_uS53&^N$W4s1Nip>mu(HTd|4u?+Ol!_70L6Ms=Sgj z1LmZP0lI-M^i}TQPk=m>ech4_45HlY_M^V<$Edw@#>-=WDHHEw_a*?sXzKVahdlN6 z#>Geq`q#MXyX*Eoaj}GD?KYy5s7F1bZBHE zru$hjE~FY~ypa*>hvB-&E(gcuun(#4tpEafh_+U-_S2CNqEyqu$uuv9+eF%1)fI93 zJTaG_(?PZLgljbMrqkD}?shW?u0Z3b3Q>gtG^o$ytv+Q05XddZJ1Ul`?P|5CQKaOg zbMxi&`6Lg=gNsrSs-<-;Fr!~JmM*OC_JMx7*7ulVfi)raCy8kR(t(~)cGcz{xpI>? zD;FAEKlE7<-Y7^y;-_|qZ#_Vml&4=;Php|3!(mBr(-s-r~A$ORY2R8rbhA9NS=i7r-w*XE`i=0gzo!z?{GYkd$5)D zu9oZ5F0O;sG-R{;iiI$IqT7f8l0OPQSl_eukbs8t`V z>9OXR6NDxFT64ZoC6PZ)b{~55*{qQX&cx$qPS8Ejb^NT}Q(jk27M-lvAXsMSr-4u_ z$4nyh)*FGxYVa(orhWzr3?A=VeXsNm+vfE2U79Hjl9Ya2 zHU{ft@{?zmC6>r~vIc@{bGKRFJu)Tn?UiU+1(ykqaeiWNepbKS!3eul);|AH7<>9X zgkb-kaS^s_Zd7=m%NIMA2X0lO^=%6B1LbUiV)*OZWG(rbqKb|S`>Ec1DaF^E0C(&R zH#0>>A1|G{5EnCXEg~X}GU(lPzrL`Klnf&>`9{o?H_fRJP=I)*KAe50`|}4pbC#Cz z?cY-^0-aM_HybLdo}fJe)oPe1u}O6}*Y6D^b5-`W;U-TuNGkcXJ`(<}{hd=4qy53^ zU6*+-;!|keFiMiOT;fU=?!Ul^2Fm{Il{eul-DLjF8>vxwA`p6L{7w-4@bhX^cm8~%kgqCo( zpad-LBChn*z9+9=8>VUH7y|pyezLuc%@n;7^e#?V(6vL%5iq4aaZ+RV)kx`^OCwvm z->pn+y;j@3^!h~{2Tl)q_cdq_P*?1?W15wr30do;lc?UM1t4GDF;HM5QG6u)rpQY$c8c>LPRB8gk$!cIQTEe_DpR6N$UiSVv zPoW-K!?Ld<)7z2wtMV6F<^rAlALq`-7N1*$r^_-u30Oi|N`c(X9Bm4kQM-!#<|a_O ztxOS5(X+Ptbn3OH=;ctb&W=x1l&rWF9;1Get>mxYfEpF~l3)7G0c`X%%~bZV5k_`Q!K7mX7?Cih0eIt?PW33gsP_ z4z6m`Z`&I1gElszIdb5?dHr+BZ zLiB=3ktWQV#YeA9eiP*xrLEhtkp+4$&ldNAj~6mt|0w27eYBaiZuyEvLS3zEd^@xZ zJdgs$!~99%o<S;)q-n3?9`*!dR`qkZN`t|ABx!)4{ZkZLoH7v#%V;l*lH6aFy zne4SOqNOkTHB)`FV5%dhdIFC0SPA&b;neS=tDx+Ko7fYsmqsd(5#}#(8!yX_^=Z4Z zMdd4P<)~U{TpW(ry6?X0UUu_(IQ+a4r++%5L zZ_o;ETiGQf2xdlbiz>UE8R+uYmY~~{QI={h*Cy&HBt_fob%MGVo~u>^Lm?SZ30;Bz zb}?jG(ixE`4u2bHpP~iE1j;Rg4{Fmqd%mncvM;cE@qx_$HpUhFHDU50R;cnD4lv#d z`1##|iuAT$T?o)j^6u7Y-XX*O$gMgLU&8F`Sq+iQ#VeYsc0qIuZAn7kC*jhKnt0#H zQVb`;D3|7xy~|2|Ngo>~osPcD>X_7*HKus|?aNwT5>8ek6m>JM?0RpI3uCoCSYvt~ zNR4Xi{UxJlbe^r-1C9-uSrffpCj|3p)752e${1~@>KlDr_K^gY9xL8GjA~>DbTRe0 zNA*zp@mie6WN1UU7p8nr2Rw|>ca*($c0`u2uf?b_zZ~AyJ5?S5o81!{p102uQb9Hi zeVNl*Hg!Wd8wWka*ZjGRpi_A%mW(27{clnV!XU!0=x`=zZj(++$~ACSy+i_$t(O_=iOhDj5Zz~E@Ir=Kp>C{ z$j{~MX3fnjDk{p&!^h3X$9bpVboX)cF!Sbga%cKykblLIw{$mmvvu*Xb#`L-E3Vl) zXHO4FM#jG?`uFSa#+kYNyCNs|zX9H%%--7!G*B@NJMc}u@f86y4*KZN{E%6_B z{lWEH1b$2W$6bGL{T6}W68~}6A6&mh;J3to-1P_7ZxQ${@gH~n!S!1NeoOqvU4L-> z7J=Uq|8dtJT)#!&x5R(k^#|8)5%?|fA9wx1^;-mfOZ>-Oe{lU4f!`AUan~PQzeV7; z#DCoN2iI>A_$~1tcm2WjTLgYf{Ks8?aQzm6-xB|E*B@NJMc}u@f86y4*KZN{E%6_B z{lWEH1b$2WKf3F|e=9yCv*ufBQuozAL_7;??wZ?VmqpIfU8h8uL9|;(vdi@X{HL zK)`vk_6Wm{$rDT;8qEdqJtLiZ78+U!I1B3?;OJ)ma^XOlRoCPRxrey_EpD_vAOEla s-OP{wA79UZ5d^gO|9|;+DoKnC?}W=%YxPg|0qsulboFyt=akR{0JMTghX4Qo literal 0 HcmV?d00001 diff --git a/vendor/gems/gems/compass-0.8.17/examples/blueprint_plugins/images/link_icons/xls.png b/vendor/gems/gems/compass-0.8.17/examples/blueprint_plugins/images/link_icons/xls.png new file mode 100755 index 0000000000000000000000000000000000000000..b977d7e52e2446ea01201c5c7209ac3a05f12c9f GIT binary patch literal 663 zcmV;I0%-k-P)^@R5;6x zlTS!gQ5431_q{u#M2 zg&W%y6a}>qj1Z|7Vu&-DW6d~k-n;jnHsjb-q#u0C^W!_5^C=MlKq<8oNCQ6qS00!X z5eI;XP=g!^f}j{hku}E1zZ?XCjE;`p19k(Rh%^AQQ54xysU+ocx$c#f61Z4HnT#3u~FR(3>BnZniMIF4DouI8Hi4u>cAK%EN)5PO(ip3(% zIgBx+QYirR){Z8QwV$9Z(Mpt=L-Or3#bf-G@66}txq0yc*T(zNTBDT0T8rO^JeNbSI-Tzf5!pBioy4NwAN^?iN#{;fH1Jke4Xa`^fR8m z%h6dq%xX)S?7`zae))(Xst^Scp6B8FejQW?RLTM8@0=vnnntuRGBM2dpo>gbCnTD= z^<;=JuqdSf@O>Z8^XdR?s+KEfhDdB_#ahFj^giCtzT(s8kA$AViyTqaAR;KGaLzUU z<=GqA4bRwpX|IG~*x>pZ!@zLr`XQ`od>m(`;jz|M_*1GDO#$7;n74ppb8=eiqh760 x0yt}J1#p`gw$`o!R{d7zU9~!Un@nJV{4bstt4Au+Up@c;002ovPDHLkV1kWhGjjj{ literal 0 HcmV?d00001 diff --git a/vendor/gems/gems/compass-0.8.17/examples/blueprint_plugins/images/test-small.jpg b/vendor/gems/gems/compass-0.8.17/examples/blueprint_plugins/images/test-small.jpg new file mode 100755 index 0000000000000000000000000000000000000000..aa599d99a94cd487a44ad9bf7e2388d45e863238 GIT binary patch literal 1886 zcmaKmc{H2p0>;1OO9&+zTc-p?EJ2OEcE!}b#?l_tt&15&7+Wl*t`@0QEwvLQE!t!( zwePJqrDJKUA)&U?L{qdnC`Q$|aqm56PXD>TbKXDR^E~hGeGaD&7lGprHug3E1OgG$ z6Vn5L!&$%@fPM!E1EEk528SI1=Y#(TJ|6tMgFpxfAP~pC=STtpK@bjuBX|`dL4=?X zQkVx4`F-*K-3|u;6av5i1|S3lKv5771vz{Mpn;=xAn-T*2sj_W+b6(Fe>@Hx{R@IH z2<*Qd$kB2>6d)=urftbDu7FTDS_MQmzvexVf&d@@LjJZLnIJqNFVjZxWKb9k z-#(0G<}Q+%MO( zqd-n|D*o3Vlq~4xB5IMmmUE?Hj2u$v8LESk&0Dj*@!BzJvEyF1ZL^>`guj40l*e+= z8l=|k6D6b+RcF}!Mmp2*3t&ON9W0PU;6L~vdvMLPO;B|6!8krNkU4v;!InIJr-iN) zOtshSBHIj=2C5|n!GBF(QdIg08Jm!-AMWw)R`5bQ!-PsZD@76PKlg?9=!;$K=tAkT z)!ldZCIZddBYfs?#|zQAy;ssMoOI2fL$7eJ2WG5O9i-+twh`g`^6*U9``#&GsMDYp z?fTGzk7tW}j!Ryh2wAc_HoNg>&U1d_DdycvVCh$@%e7N_Vl=1QHc>K$jjizUBqyh+ zhc)%8hkzVAzf;Pqx)4iRq;tw>J$290Z;Yq>?%R8@!YvkBq+{@-PtoF; zjCI-3VZ36UZnu&DWF@^LCRgT*x4GU659d66|MMwvUkf6bpG{mAS{uuQy$D_gVMQvJ z?U7n#42cc=X?EQXi#U(7-`IQ=vHOOkA8w|WOFONpprQ!GuBhy}vxvR4rUR+jryEJl zs|6FPZX6%|$S}mqY}wlq)Z5EcJ+9}bVwS*D2HMx9t7=gx0gE&mtaM5+xF#zSLANMb zrQT)nk-B>-AGf`EyBpiV8N+`~X1iqL*qx_*P!j4!*r%OHaS_28WWu`sNWw{%VSRPU zYE5cLZ(Xb55PowqPNa{BGtR=vjARZ(ldJb)Dudke3p_b~6%H?OoO4qBUL6f1URM1A z_3kU%L{jD)b=bw%G7d~ws9ePC7!KR1*bAT7`aPUG)l&0_V0YrT_|MGbHUHq$$z$Fs zwZ)2erYWtK_ZzU$PP_3v=QSvUy^5+~0!qGozyO9@zgWeY>0rE1PIejF8+sz_u7G>& z+PB_;%~$`Cv8>FZVV#v*Pr`;Yl`Jq4;sKpniS|+}sVE5Rj(PV1qYrsYEX9XmebY76{Y~<(yMEZWkhe59d$tLPZtuCZAMm=0pgGqTr zNz$`LC%4r`8xW<->A=nPL z5H2So!-<(oTufl~_oZQ3y%z<=yeZwN_v~ij=>~Zd4*@m1Q{?gH9$JOOD*JH)js=Nj#Liui&N|q7g469fm!GK zsLF@6oc1$As?KNUqX9kJG&kCFb#rwgh1pqBxRrC-rAVb4qKFQ2y)gN#XE!t@NnkxJ zVl)W7ePtp{mnn_wbk2~Y2J$5szcwQ*t zTUvHtTy95Q1kv?ryqs1#UVz#qT}w})_+);o|CB=ZcXZYvlL-b|(ami|msB>9_ih1J zKAK}njQy&y^3kk|{%0&rTT+_y8oA###ZxVEzfQiwFDta0+|)MmC=jid+3E3(H=YT^ z?^~*32y)db#x)Ov8sJVzSN~DI)_PvkIvVZqR{0NLr49W93^n)H#=v;bEx$FwzJ_*; z$*;_ru0>m?=fEqMdDbk(kom8vGg- z>#tQ$_{MbwpvCa#9~#6%)BoI3(<(5q&LbOa5K;90j#0RY112<5Xs-K)sa;xb$I8ux6pYvz PE=Dy;BAn$@58wP7Zj&W} literal 0 HcmV?d00001 diff --git a/vendor/gems/gems/compass-0.8.17/examples/blueprint_plugins/images/test.jpg b/vendor/gems/gems/compass-0.8.17/examples/blueprint_plugins/images/test.jpg new file mode 100755 index 0000000000000000000000000000000000000000..0107be27349330250c3c28f52ef5dd58a25690ce GIT binary patch literal 35467 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 literal 0 HcmV?d00001 diff --git a/vendor/gems/gems/compass-0.8.17/examples/blueprint_plugins/index.html.haml b/vendor/gems/gems/compass-0.8.17/examples/blueprint_plugins/index.html.haml new file mode 100755 index 00000000..2cdb7ba6 --- /dev/null +++ b/vendor/gems/gems/compass-0.8.17/examples/blueprint_plugins/index.html.haml @@ -0,0 +1,96 @@ +!!! +%html{ :lang => "en" } + %head + %meta{ :content => "text/html; charset=utf-8", "http-equiv" => "Content-Type" } + %title + Blueprint test pages + / + Framework CSS + %link{ :href => "stylesheets/screen.css", :rel => "stylesheet", :media => "screen, projection", :type => "text/css" } + %link{ :href => "stylesheets/print.css", :rel => "stylesheet", :media => "print", :type => "text/css" } + / + [if IE]> "0", :border => "0", :cellpadding => "0" } + %tr + %th.span-6 + Test page + %th.span-8 + Main files tested + %th.span-10 + Description + %tr + %td + %a{ :href => "plugins/fancy_type.html" } + Fancy Type + %td + %a{ :href => "http://github.com/chriseppstein/compass/blob/master/frameworks/blueprint/stylesheets/blueprint/modules/_grid.sass" } + grid.sass + , + %a{ :href => "http://github.com/chriseppstein/compass/blob/master/frameworks/blueprint/stylesheets/blueprint/modules/_typography.sass" } + typography.sass + , + %a{ :href => "http://github.com/chriseppstein/compass/blob/master/frameworks/blueprint/stylesheets/blueprint/modules/_fancy_type.sass" } + fancy_type.sass + %td + A simple sample page, with common elements and fancy type. + %tr + %td + %a{ :href => "plugins/buttons.html" } + Buttons + %td + %a{ :href => "http://github.com/chriseppstein/compass/blob/master/frameworks/blueprint/stylesheets/blueprint/modules/_buttons.sass" } + buttons.sass + %td + A simple page, showing links and buttons styled using the button plugin. + %tr + %td + %a{ :href => "plugins/link_icons.html" } + Link Icons + %td + %a{ :href => "http://github.com/chriseppstein/compass/blob/master/frameworks/blueprint/stylesheets/blueprint/modules/_link_icons.sass" } + link_icons.sass + %td + A simple page, showing links icons. + %tr + %td + %a{ :href => "plugins/rtl.html" } + RTL + %td + %a{ :href => "http://github.com/chriseppstein/compass/blob/master/frameworks/blueprint/stylesheets/blueprint/modules/_rtl.sass" } + rtl.sass + %td + A simple page, showing a right-to-left grid layout. + %p + %em + %strong + Note about the css files: + These test files utilize the css files that are generated from + %a{ :href => "http://haml.hamptoncatlin.com/docs/rdoc/classes/Sass.html" } + Sass templates + \. + In other words, if you change any of the source files, + you'll have to re-build them with + %code + rake examples + to see any changes. + .box + %p + For more information and help, try these resources: + %ul.bottom + %li + %a{ :href => "http://www.blueprintcss.org/" } + The Blueprint home page. + %li + %a{ :href => "http://groups.google.com/group/blueprintcss" } + Our anything-goes mailing list. + %p + %a{ :href => "http://validator.w3.org/check?uri=referer" } + %img.top{ :src => "images/valid.png", :height => "31", :alt => "Valid HTML 4.01 Strict", :width => "88" } diff --git a/vendor/gems/gems/compass-0.8.17/examples/blueprint_plugins/plugins/buttons.html.haml b/vendor/gems/gems/compass-0.8.17/examples/blueprint_plugins/plugins/buttons.html.haml new file mode 100755 index 00000000..331d378d --- /dev/null +++ b/vendor/gems/gems/compass-0.8.17/examples/blueprint_plugins/plugins/buttons.html.haml @@ -0,0 +1,67 @@ +!!! +%html{ :lang => "en" } + %head + %meta{ :content => "text/html; charset=utf-8", "http-equiv" => "Content-Type" } + %title + Blueprint Buttons Sample Page + / + Framework CSS + %link{ :href => "../stylesheets/screen.css", :rel => "stylesheet", :media => "screen, projection", :type => "text/css" } + %link{ :href => "../stylesheets/print.css", :rel => "stylesheet", :media => "print", :type => "text/css" } + / + [if IE]> "../stylesheets/buttons.css", :rel => "stylesheet", :media => "screen, projection", :type => "text/css" } + %body + .container + %h1 + A Button Example Page + %hr + %h2.alt + This sample page demonstrates what you can do with the Buttons plugin. + %hr + .span-12 + %h3 + Link Buttons + %a.button + Link Button + %a.button.positive + Positive Button + %a.button.negative + Negative Button + .span-12.last + %h3 + Real Buttons + %button + Normal Button + %button.positive + Positive Button + %button.negative + Negative Button + .span-12 + %h3 + Link Buttons with Images + %a.button + %img{ :src => "../images/buttons/tick.png", :alt => "" } + Save + %a.button.positive + %img{ :src => "../images/buttons/key.png", :alt => "" } + Change Password + %a.button.negative + %img{ :src => "../images/buttons/cross.png", :alt => "" } + Cancel + .span-12.last + %h3 + Real Buttons with Images + %button + %img{ :src => "../images/buttons/tick.png", :alt => "" } + Save + %button.positive + %img{ :src => "../images/buttons/key.png", :alt => "" } + Change Password + %button.negative + %img{ :src => "../images/buttons/cross.png", :alt => "" } + Cancel + .span-24 + %p + %a{ :href => "http://validator.w3.org/check?uri=referer" } + %img.top{ :src => "valid.png", :height => "31", :alt => "Valid HTML 4.01 Strict", :width => "88" } diff --git a/vendor/gems/gems/compass-0.8.17/examples/blueprint_plugins/plugins/fancy_type.html.haml b/vendor/gems/gems/compass-0.8.17/examples/blueprint_plugins/plugins/fancy_type.html.haml new file mode 100755 index 00000000..b17c1c28 --- /dev/null +++ b/vendor/gems/gems/compass-0.8.17/examples/blueprint_plugins/plugins/fancy_type.html.haml @@ -0,0 +1,100 @@ +!!! +%html{ :lang => "en" } + %head + %meta{ :content => "text/html; charset=utf-8", "http-equiv" => "Content-Type" } + %title + Blueprint Sample Page + / + Framework CSS + %link{ :href => "../stylesheets/screen.css", :rel => "stylesheet", :media => "screen, projection", :type => "text/css" } + %link{ :href => "../stylesheets/print.css", :rel => "stylesheet", :media => "print", :type => "text/css" } + / + [if IE]> "../images/test.jpg", :alt => "test" } + Lorem ipsum dolor sit amet, + %em + consectetuer adipiscing elit + \. Nunc congue ipsum vestibulum libero. Aenean vitae justo. Nam eget tellus. Etiam convallis, est eu lobortis mattis, lectus tellus tempus felis, a ultricies erat ipsum at metus. + %p + Lorem ipsum dolor sit amet, consectetuer adipiscing elit. + %a{ :href => "#" } + Morbi et risus + \. Aliquam nisl. Nulla facilisi. Cras accumsan vestibulum ante. Vestibulum sed tortor. Praesent + %span.caps + SMALL CAPS + tempus fringilla elit. Ut elit diam, sagittis in, nonummy in, gravida non, nunc. Ut orci. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. Nam egestas, orci eu imperdiet malesuada, nisl purus fringilla odio, quis commodo est orci vitae justo. Aliquam placerat odio tincidunt nulla. Cras in libero. Aenean rutrum, magna non tristique posuere, erat odio eleifend nisl, non convallis est tortor blandit ligula. Nulla id augue. + %p + Nullam mattis, odio ut tempus facilisis, metus nisl facilisis metus, auctor consectetuer felis ligula nec mauris. Vestibulum odio erat, fermentum at, commodo vitae, ultrices et, urna. Mauris vulputate, mi pulvinar sagittis condimentum, sem nulla aliquam velit, sed imperdiet mi purus eu magna. Nulla varius metus ut eros. Aenean aliquet magna eget orci. Class aptent taciti sociosqu ad litora. + %p + Vivamus euismod. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Suspendisse vel nibh ut turpis dictum sagittis. Aliquam vel velit a elit auctor sollicitudin. Nam vel dui vel neque lacinia pretium. Quisque nunc erat, venenatis id, volutpat ut, scelerisque sed, diam. Mauris ante. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Donec mattis. Morbi dignissim sollicitudin libero. Nulla lorem. + %blockquote + %p + Integer cursus ornare mauris. Praesent nisl arcu, imperdiet eu, ornare id, scelerisque ut, nunc. Praesent sagittis erat sed velit tempus imperdiet. Ut tristique, ante in interdum hendrerit, erat enim faucibus felis, quis rutrum mauris lorem quis sem. Vestibulum ligula nisi, mattis nec, posuere et, blandit eu, ligula. Nam suscipit placerat odio. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. Pellentesque tortor libero, venenatis vitae, rhoncus eu, placerat ut, mi. Nulla nulla. + %p + Maecenas vel metus quis magna pharetra fermentum. + %em + Integer sit amet tortor + \. Maecenas porttitor, pede sed gravida auctor, nulla augue aliquet elit, at pretium urna orci ut metus. Aliquam in dolor. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Sed aliquam, tellus id ornare posuere, quam nunc accumsan turpis, at convallis tellus orci et nisl. Phasellus congue neque a lorem. + %hr + .span-7.colborder + %h6 + This is a nested column + %p + Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. + .span-7.last + %h6 + This is another nested column + %p + Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. + .span-7.last + %h3 + A + %span.alt + Simple + Sidebar + %p + Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Cras ornare mattis nunc. Mauris venenatis, pede sed aliquet vehicula, lectus tellus pulvinar neque, non cursus sem nisi vel augue. + %p + Mauris a lectus. Aliquam erat volutpat. Phasellus ultrices mi a sapien. Nunc rutrum egestas lorem. Duis ac sem sagittis elit tincidunt gravida. Mauris a lectus. Aliquam erat volutpat. Phasellus ultrices mi a sapien. Nunc rutrum egestas lorem. Duis ac sem sagittis elit tincidunt gravida. + %p.quiet + Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Cras ornare mattis nunc. Mauris venenatis, pede sed aliquet vehicula, lectus tellus pulvinar neque, non cursus sem nisi vel augue. + %h5 + Incremental leading + %p.incr + Vestibulum ante ipsum primis in faucibus orci luctus vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Cras ornare mattis nunc. Mauris venenatis, pede sed aliquet vehicula, lectus tellus pulvinar neque, non cursus sem nisi vel augue. sed aliquet vehicula, lectus tellus. + %p.incr + Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Cras ornare mattis nunc. Mauris venenatis, pede sed aliquet vehicula, lectus tellus pulvinar neque, non cursus sem nisi vel augue. sed aliquet vehicula, lectus tellus pulvinar neque, non cursus sem nisi vel augue. ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Cras ornare mattis nunc. Mauris venenatis, pede sed aliquet vehicula, lectus tellus pulvinar neque, non cursus sem nisi vel augue. sed aliquet vehicula, lectus tellus pulvinar neque, non cursus sem nisi vel augue. + %hr + %h2.alt + You may pick and choose amongst these and many more features, so be bold. + %hr + %p + %a{ :href => "http://validator.w3.org/check?uri=referer" } + %img.top{ :src => "valid.png", :height => "31", :alt => "Valid HTML 4.01 Strict", :width => "88" } diff --git a/vendor/gems/gems/compass-0.8.17/examples/blueprint_plugins/plugins/link_icons.html.haml b/vendor/gems/gems/compass-0.8.17/examples/blueprint_plugins/plugins/link_icons.html.haml new file mode 100755 index 00000000..13e93f2f --- /dev/null +++ b/vendor/gems/gems/compass-0.8.17/examples/blueprint_plugins/plugins/link_icons.html.haml @@ -0,0 +1,61 @@ +!!! +%html{ :lang => "en" } + %head + %meta{ :content => "text/html; charset=utf-8", "http-equiv" => "Content-Type" } + %title + Blueprint Link Icons Sample Page + / + Framework CSS + %link{ :href => "../stylesheets/screen.css", :rel => "stylesheet", :media => "screen, projection", :type => "text/css" } + %link{ :href => "../stylesheets/print.css", :rel => "stylesheet", :media => "print", :type => "text/css" } + / + [if IE]> "../stylesheets/link_icons.css", :rel => "stylesheet", :media => "screen, projection", :type => "text/css" } + %body + .container + %h1 + A Link Icons Example Page + %hr + %h2.alt + This sample page demonstrates what you can do with the Link Icons plugin. + %hr + .span-12 + %h3 + External Links + %a{ :href => "http://www.no-such-website.com/" } + A Normal External Link + %a{ :href => "http://www.google.com" } + A Visited External Link + %a{ :href => "mailto:donald@duck.com" } + An Email Link + .span-12.last + %h3 + Document Links + %a{ :href => "http://www.no-such-website.com/sample.pdf" } + A .pdf Link + %a{ :href => "http://www.no-such-website.com/sample.doc" } + A .doc Link + %a{ :href => "http://www.no-such-website.com/sample.xls" } + A .xls Link + .span-12 + %h3 + Misc Links + %a{ :href => "http://www.no-such-website.com/sample.rss" } + An RSS Link + %a{ :href => "http://www.no-such-website.com/sample.rdf" } + An Atom Link + %a{ :href => "aim:chatmeup" } + A Instant Messenger Link + .span-12.last + %h3 + Turning Icons Off + %a.noicon{ :href => "http://www.no-such-website.com/" } + A Normal External Link + %a.noicon{ :href => "http://www.google.com" } + A Visited External Link + %a.noicon{ :href => "mailto:donald@duck.com" } + An Email Link + .span-24 + %p + %a.noicon{ :href => "http://validator.w3.org/check?uri=referer" } + %img.top{ :src => "valid.png", :height => "31", :alt => "Valid HTML 4.01 Strict", :width => "88" } diff --git a/vendor/gems/gems/compass-0.8.17/examples/blueprint_plugins/plugins/rtl.html.haml b/vendor/gems/gems/compass-0.8.17/examples/blueprint_plugins/plugins/rtl.html.haml new file mode 100755 index 00000000..58758202 --- /dev/null +++ b/vendor/gems/gems/compass-0.8.17/examples/blueprint_plugins/plugins/rtl.html.haml @@ -0,0 +1,100 @@ +!!! +%html{ :lang => "en" } + %head + %meta{ :content => "text/html; charset=utf-8", "http-equiv" => "Content-Type" } + %title + Blueprint Sample Page + / + Framework CSS + %link{ :href => "../stylesheets/rtl_screen.css", :rel => "stylesheet", :media => "screen, projection", :type => "text/css" } + %link{ :href => "../stylesheets/print.css", :rel => "stylesheet", :media => "print", :type => "text/css" } + / + [if IE]> "../images/test.jpg", :alt => "test" } + Lorem ipsum dolor sit amet, + %em + consectetuer adipiscing elit + \. Nunc congue ipsum vestibulum libero. Aenean vitae justo. Nam eget tellus. Etiam convallis, est eu lobortis mattis, lectus tellus tempus felis, a ultricies erat ipsum at metus. + %p + Lorem ipsum dolor sit amet, consectetuer adipiscing elit. + %a{ :href => "#" } + Morbi et risus + \. Aliquam nisl. Nulla facilisi. Cras accumsan vestibulum ante. Vestibulum sed tortor. Praesent + %span.caps + SMALL CAPS + tempus fringilla elit. Ut elit diam, sagittis in, nonummy in, gravida non, nunc. Ut orci. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. Nam egestas, orci eu imperdiet malesuada, nisl purus fringilla odio, quis commodo est orci vitae justo. Aliquam placerat odio tincidunt nulla. Cras in libero. Aenean rutrum, magna non tristique posuere, erat odio eleifend nisl, non convallis est tortor blandit ligula. Nulla id augue. + %p + Nullam mattis, odio ut tempus facilisis, metus nisl facilisis metus, auctor consectetuer felis ligula nec mauris. Vestibulum odio erat, fermentum at, commodo vitae, ultrices et, urna. Mauris vulputate, mi pulvinar sagittis condimentum, sem nulla aliquam velit, sed imperdiet mi purus eu magna. Nulla varius metus ut eros. Aenean aliquet magna eget orci. Class aptent taciti sociosqu ad litora. + %p + Vivamus euismod. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Suspendisse vel nibh ut turpis dictum sagittis. Aliquam vel velit a elit auctor sollicitudin. Nam vel dui vel neque lacinia pretium. Quisque nunc erat, venenatis id, volutpat ut, scelerisque sed, diam. Mauris ante. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Donec mattis. Morbi dignissim sollicitudin libero. Nulla lorem. + %blockquote + %p + Integer cursus ornare mauris. Praesent nisl arcu, imperdiet eu, ornare id, scelerisque ut, nunc. Praesent sagittis erat sed velit tempus imperdiet. Ut tristique, ante in interdum hendrerit, erat enim faucibus felis, quis rutrum mauris lorem quis sem. Vestibulum ligula nisi, mattis nec, posuere et, blandit eu, ligula. Nam suscipit placerat odio. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. Pellentesque tortor libero, venenatis vitae, rhoncus eu, placerat ut, mi. Nulla nulla. + %p + Maecenas vel metus quis magna pharetra fermentum. + %em + Integer sit amet tortor + \. Maecenas porttitor, pede sed gravida auctor, nulla augue aliquet elit, at pretium urna orci ut metus. Aliquam in dolor. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Sed aliquam, tellus id ornare posuere, quam nunc accumsan turpis, at convallis tellus orci et nisl. Phasellus congue neque a lorem. + %hr + .span-7.colborder + %h6 + This is a nested column + %p + Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. + .span-7.last + %h6 + This is another nested column + %p + Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. + .span-7.last + %h3 + A + %span.alt + Simple + Sidebar + %p + Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Cras ornare mattis nunc. Mauris venenatis, pede sed aliquet vehicula, lectus tellus pulvinar neque, non cursus sem nisi vel augue. + %p + Mauris a lectus. Aliquam erat volutpat. Phasellus ultrices mi a sapien. Nunc rutrum egestas lorem. Duis ac sem sagittis elit tincidunt gravida. Mauris a lectus. Aliquam erat volutpat. Phasellus ultrices mi a sapien. Nunc rutrum egestas lorem. Duis ac sem sagittis elit tincidunt gravida. + %p.quiet + Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Cras ornare mattis nunc. Mauris venenatis, pede sed aliquet vehicula, lectus tellus pulvinar neque, non cursus sem nisi vel augue. + %h5 + Incremental leading + %p.incr + Vestibulum ante ipsum primis in faucibus orci luctus vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Cras ornare mattis nunc. Mauris venenatis, pede sed aliquet vehicula, lectus tellus pulvinar neque, non cursus sem nisi vel augue. sed aliquet vehicula, lectus tellus. + %p.incr + Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Cras ornare mattis nunc. Mauris venenatis, pede sed aliquet vehicula, lectus tellus pulvinar neque, non cursus sem nisi vel augue. sed aliquet vehicula, lectus tellus pulvinar neque, non cursus sem nisi vel augue. ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Cras ornare mattis nunc. Mauris venenatis, pede sed aliquet vehicula, lectus tellus pulvinar neque, non cursus sem nisi vel augue. sed aliquet vehicula, lectus tellus pulvinar neque, non cursus sem nisi vel augue. + %hr + %h2.alt + You may pick and choose amongst these and many more features, so be bold. + %hr + %p + %a{ :href => "http://validator.w3.org/check?uri=referer" } + %img.top{ :src => "valid.png", :height => "31", :alt => "Valid HTML 4.01 Strict", :width => "88" } diff --git a/vendor/gems/gems/compass-0.8.17/examples/blueprint_plugins/src/buttons.sass b/vendor/gems/gems/compass-0.8.17/examples/blueprint_plugins/src/buttons.sass new file mode 100755 index 00000000..e8ca96e6 --- /dev/null +++ b/vendor/gems/gems/compass-0.8.17/examples/blueprint_plugins/src/buttons.sass @@ -0,0 +1,49 @@ +@import compass/utilities/general/float.sass +@import blueprint/modules/buttons.sass + +// + Use the following HTML code to place the buttons on your site: + + + + + Change Password + + + + Cancel + + +a.button + // you can pass "left" or "right" to +anchor-button to float it in that direction + // or you can pass no argument to leave it inline-block (cross browser safe!) within + // the flow of your page. + +anchor-button("left") + // All the button color mixins take 4 optional arguments: + // font color, background color, border color, border highlight color + // the first three default to constants set in blueprint/modules/buttons.sass + // the last one defaults to a shade lighter than the border color. + +button-colors + +button-hover-colors + +button-active-colors + +button + // The +button-button mixin is just like the +anchor-button mixin, but for + + + Change Password + + + + Cancel + + +a.button + // you can pass "left" or "right" to +anchor-button to float it in that direction + // or you can pass no argument to leave it inline-block (cross browser safe!) within + // the flow of your page. + +anchor-button("left") + // All the button color mixins take 4 optional arguments: + // font color, background color, border color, border highlight color + // the first three default to constants set in blueprint/modules/buttons.sass + // the last one defaults to a shade lighter than the border color. + +button-colors + +button-hover-colors + +button-active-colors + +button + // The +button-button mixin is just like the +anchor-button mixin, but for ".should have_button + end + end + """ + When I run "spec new_model_spec.rb --format specdoc" + Then the stdout should include "1 example, 0 failures" diff --git a/vendor/gems/gems/rspec-1.2.9/features/mock_framework_integration/use_flexmock.feature b/vendor/gems/gems/rspec-1.2.9/features/mock_framework_integration/use_flexmock.feature new file mode 100755 index 00000000..0a204dfc --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/features/mock_framework_integration/use_flexmock.feature @@ -0,0 +1,27 @@ +Feature: mock with flexmock + + As an RSpec user who prefers flexmock + I want to be able to use flexmock without rspec mocks interfering + + Scenario: Mock with flexmock + Given a file named "flexmock_example_spec.rb" with: + """ + Spec::Runner.configure do |config| + config.mock_with :flexmock + end + + describe "plugging in flexmock" do + it "allows flexmock to be used" do + target = Object.new + flexmock(target).should_receive(:foo).once + target.foo + end + + it "does not include rspec mocks" do + Spec.const_defined?(:Mocks).should be_false + end + end + """ + When I run "spec flexmock_example_spec.rb" + Then the exit code should be 0 + And the stdout should include "2 examples, 0 failures" diff --git a/vendor/gems/gems/rspec-1.2.9/features/mock_framework_integration/use_mocha.feature b/vendor/gems/gems/rspec-1.2.9/features/mock_framework_integration/use_mocha.feature new file mode 100755 index 00000000..d53b967c --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/features/mock_framework_integration/use_mocha.feature @@ -0,0 +1,27 @@ +Feature: mock with mocha + + As an RSpec user who prefers mocha + I want to be able to use mocha without rspec mocks interfering + + Scenario: Mock with mocha + Given a file named "mocha_example_spec.rb" with: + """ + Spec::Runner.configure do |config| + config.mock_with :mocha + end + + describe "plugging in mocha" do + it "allows mocha to be used" do + target = Object.new + target.expects(:foo).once + target.foo + end + + it "does not include rspec mocks" do + Spec.const_defined?(:Mocks).should be_false + end + end + """ + When I run "spec mocha_example_spec.rb" + Then the exit code should be 0 + And the stdout should include "2 examples, 0 failures" diff --git a/vendor/gems/gems/rspec-1.2.9/features/mock_framework_integration/use_rr.feature b/vendor/gems/gems/rspec-1.2.9/features/mock_framework_integration/use_rr.feature new file mode 100755 index 00000000..aa30882a --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/features/mock_framework_integration/use_rr.feature @@ -0,0 +1,27 @@ +Feature: mock with rr + + As an RSpec user who prefers rr + I want to be able to use rr without rspec mocks interfering + + Scenario: Mock with rr + Given a file named "rr_example_spec.rb" with: + """ + Spec::Runner.configure do |config| + config.mock_with :rr + end + + describe "plugging in rr" do + it "allows rr to be used" do + target = Object.new + mock(target).foo + target.foo + end + + it "does not include rspec mocks" do + Spec.const_defined?(:Mocks).should be_false + end + end + """ + When I run "spec rr_example_spec.rb" + Then the exit code should be 0 + And the stdout should include "2 examples, 0 failures" diff --git a/vendor/gems/gems/rspec-1.2.9/features/mocks/mix_stubs_and_mocks.feature b/vendor/gems/gems/rspec-1.2.9/features/mocks/mix_stubs_and_mocks.feature new file mode 100755 index 00000000..deaf84ec --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/features/mocks/mix_stubs_and_mocks.feature @@ -0,0 +1,22 @@ +Feature: stub and mock together + + As an RSpec user + I want to use stubs and mocks together + + Scenario: stub in before + Given a file named "stub_and_mocks_spec.rb" with: + """ + describe "a stub in before" do + before(:each) do + @messenger = mock('messenger').as_null_object + end + + it "a" do + @messenger.should_receive(:foo).with('first') + @messenger.foo('second') + @messenger.foo('third') + end + end + """ + When I run "spec stub_and_mocks_spec.rb --format nested" + Then the stdout should include "received :foo with unexpected arguments\n expected: (\"first\")\n got: ([\"second\"], [\"third\"])" diff --git a/vendor/gems/gems/rspec-1.2.9/features/mocks/stub_implementation.feature b/vendor/gems/gems/rspec-1.2.9/features/mocks/stub_implementation.feature new file mode 100755 index 00000000..269de474 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/features/mocks/stub_implementation.feature @@ -0,0 +1,26 @@ +Feature: stub implementation + + As an rspec user, I want to stub a complete implementation, not just a + return value. + + Scenario: stub implementation + Given a file named "stub_implementation.rb" with: + """ + describe "a stubbed implementation" do + it "works" do + object = Object.new + object.stub(:foo) do |arg| + if arg == :this + "got this" + elsif arg == :that + "got that" + end + end + + object.foo(:this).should == "got this" + object.foo(:that).should == "got that" + end + end + """ + When I run "spec stub_implementation.rb" + Then the stdout should include "1 example, 0 failures" diff --git a/vendor/gems/gems/rspec-1.2.9/features/pending/pending_examples.feature b/vendor/gems/gems/rspec-1.2.9/features/pending/pending_examples.feature new file mode 100755 index 00000000..58273956 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/features/pending/pending_examples.feature @@ -0,0 +1,81 @@ +Feature: pending examples + + RSpec offers three ways to indicate that an example is disabled pending + some action. + + Scenario: pending implementation + Given a file named "example_without_block_spec.rb" with: + """ + describe "an example" do + it "has not yet been implemented" + end + """ + When I run "spec example_without_block_spec.rb" + Then the exit code should be 0 + And the stdout should include "1 example, 0 failures, 1 pending" + And the stdout should include "Not Yet Implemented" + And the stdout should include "example_without_block_spec.rb:2" + + Scenario: pending implementation with spec/test/unit + Given a file named "example_without_block_spec.rb" with: + """ + require 'spec/test/unit' + describe "an example" do + it "has not yet been implemented" + end + """ + When I run "spec example_without_block_spec.rb" + Then the exit code should be 0 + And the stdout should include "1 example, 0 failures, 1 pending" + And the stdout should include "Not Yet Implemented" + And the stdout should include "example_without_block_spec.rb:3" + + Scenario: pending any arbitary reason, with no block + Given a file named "pending_without_block_spec.rb" with: + """ + describe "an example" do + it "is implemented but waiting" do + pending("something else getting finished") + end + end + """ + When I run "spec pending_without_block_spec.rb" + Then the exit code should be 0 + And the stdout should include "1 example, 0 failures, 1 pending" + And the stdout should include "(something else getting finished)" + And the stdout should include "pending_without_block_spec.rb:2" + + Scenario: pending any arbitary reason, with a block that fails + Given a file named "pending_with_failing_block_spec.rb" with: + """ + describe "an example" do + it "is implemented but waiting" do + pending("something else getting finished") do + raise "this is the failure" + end + end + end + """ + When I run "spec pending_with_failing_block_spec.rb" + Then the exit code should be 0 + And the stdout should include "1 example, 0 failures, 1 pending" + And the stdout should include "(something else getting finished)" + And the stdout should include "pending_with_failing_block_spec.rb:2" + + Scenario: pending any arbitary reason, with a block that passes + Given a file named "pending_with_passing_block_spec.rb" with: + """ + describe "an example" do + it "is implemented but waiting" do + pending("something else getting finished") do + true.should be(true) + end + end + end + """ + When I run "spec pending_with_passing_block_spec.rb" + Then the exit code should be 256 + And the stdout should include "1 example, 1 failure" + And the stdout should include "FIXED" + And the stdout should include "Expected pending 'something else getting finished' to fail. No Error was raised." + And the stdout should include "pending_with_passing_block_spec.rb:3" diff --git a/vendor/gems/gems/rspec-1.2.9/features/runner/specify_line_number.feature b/vendor/gems/gems/rspec-1.2.9/features/runner/specify_line_number.feature new file mode 100755 index 00000000..bf44f2c0 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/features/runner/specify_line_number.feature @@ -0,0 +1,32 @@ +Feature: run specific examples by line number + + In order to run a single example from command line + RSpec allows you to specify the line number of the example(s) to run + + Scenario: --line syntax on single example + Given a file named "example_spec.rb" with: + """ + describe "an example" do + it "has not yet been implemented" + it "has been implemented" do + true + end + end + """ + When I run "spec example_spec.rb --line 2" + Then the stdout should include "1 example, 0 failures, 1 pending" + And the stdout should include "example_spec.rb:2" + + Scenario: colon line syntax on single example + Given a file named "example_spec.rb" with: + """ + describe "an example" do + it "has not yet been implemented" + it "has been implemented" do + true + end + end + """ + When I run "spec example_spec.rb:2" + Then the stdout should include "1 example, 0 failures, 1 pending" + And the stdout should include "example_spec.rb:2" diff --git a/vendor/gems/gems/rspec-1.2.9/features/spec_helper/spec_helper.feature b/vendor/gems/gems/rspec-1.2.9/features/spec_helper/spec_helper.feature new file mode 100755 index 00000000..2711e1a5 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/features/spec_helper/spec_helper.feature @@ -0,0 +1,25 @@ +Feature: spec helper + In order to centralize code needed across most specs + As a spec author + I want to require 'spec_helper' + + Because rspec adds the PROJECT_ROOT/spec directory to the load path, we can + just require 'spec_helper' and it will be found. + + Scenario: spec helper + Given a directory named "spec" + And a file named "spec/spec_helper.rb" with: + """ + SOME_CONSTANT = 'some value' + """ + And a file named "example.rb" with: + """ + require 'spec_helper' + describe SOME_CONSTANT do + it { should == 'some value' } + end + """ + When I run "spec example.rb" + And the stdout should include "1 example, 0 failures" + And the exit code should be 0 + diff --git a/vendor/gems/gems/rspec-1.2.9/features/step_definitions/running_rspec_steps.rb b/vendor/gems/gems/rspec-1.2.9/features/step_definitions/running_rspec_steps.rb new file mode 100755 index 00000000..60f27fa8 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/features/step_definitions/running_rspec_steps.rb @@ -0,0 +1,43 @@ +Given %r{^a file named "([^"]+)" with:$} do |file_name, code| + create_file(file_name, code) +end + +Given /^a directory named "([^\"]*)"$/ do |dirname| + create_directory(dirname) +end + +When %r{^I run "spec ([^"]+)"$} do |file_and_args| + spec(file_and_args) +end + +When %r{^I run "ruby ([^"]+)"$} do |file_and_args| + ruby(file_and_args) +end + +When %r{^I run "cmdline.rb ([^"]+)"$} do |file_and_args| + cmdline(file_and_args) +end + +Then /^the (.*) should include (.*)$/ do |stream, string_or_regex| + written = case(stream) + when 'stdout' then last_stdout + when 'stderr' then last_stderr + else raise "Unknown stream: #{stream}" + end + written.should smart_match(string_or_regex) +end + +Then /^the (.*) should not match (.*)$/ do |stream, string_or_regex| + written = case(stream) + when 'stdout' then last_stdout + when 'stderr' then last_stderr + else raise "Unknown stream: #{stream}" + end + written.should_not smart_match(string_or_regex) +end + +Then /^the exit code should be (\d+)$/ do |exit_code| + if last_exit_code != exit_code.to_i + raise "Did not exit with #{exit_code}, but with #{last_exit_code}. Standard error:\n#{last_stderr}" + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/features/subject/explicit_subject.feature b/vendor/gems/gems/rspec-1.2.9/features/subject/explicit_subject.feature new file mode 100755 index 00000000..9fb68ad4 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/features/subject/explicit_subject.feature @@ -0,0 +1,31 @@ +Feature: explicit subject + + You can override the implicit subject using the subject() method. + + Scenario: subject in top level group + Given a file named "top_level_subject_spec.rb" with: + """ + describe Array, "with some elements" do + subject { [1,2,3] } + it "should have the prescribed elements" do + subject.should == [1,2,3] + end + end + """ + When I run "spec top_level_subject_spec.rb" + Then the stdout should include "1 example, 0 failures" + + Scenario: subject in a nested group + Given a file named "nested_subject_spec.rb" with: + """ + describe Array do + subject { [1,2,3] } + describe "with some elements" do + it "should have the prescribed elements" do + subject.should == [1,2,3] + end + end + end + """ + When I run "spec nested_subject_spec.rb" + Then the stdout should include "1 example, 0 failures" diff --git a/vendor/gems/gems/rspec-1.2.9/features/subject/implicit_subject.feature b/vendor/gems/gems/rspec-1.2.9/features/subject/implicit_subject.feature new file mode 100755 index 00000000..bc57d2ba --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/features/subject/implicit_subject.feature @@ -0,0 +1,43 @@ +Feature: implicit subject + + The first argument to the outermost example group block is + made available to each example as an implicit subject of + that example. + + Scenario: subject in top level group + Given a file named "top_level_subject_spec.rb" with: + """ + describe Array, "when first created" do + it "should be empty" do + subject.should == [] + end + end + """ + When I run "spec top_level_subject_spec.rb" + Then the stdout should include "1 example, 0 failures" + + Scenario: subject in a nested group + Given a file named "nested_subject_spec.rb" with: + """ + describe Array do + describe "when first created" do + it "should be empty" do + subject.should == [] + end + end + end + """ + When I run "spec nested_subject_spec.rb" + Then the stdout should include "1 example, 0 failures" + + Scenario: subject with getters + Given a file named "subject_with_getter_spec.rb" with: + """ + describe Array do + describe "when first created" do + its(:length) { should == 0 } + end + end + """ + When I run "spec subject_with_getter_spec.rb" + Then the stdout should include "1 example, 0 failures" diff --git a/vendor/gems/gems/rspec-1.2.9/features/support/env.rb b/vendor/gems/gems/rspec-1.2.9/features/support/env.rb new file mode 100755 index 00000000..e11b3db2 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/features/support/env.rb @@ -0,0 +1,82 @@ +$:.unshift File.join(File.dirname(__FILE__), "/../../lib") + +require 'spec/expectations' +require 'forwardable' +require 'tempfile' +require 'spec/ruby_forker' +require 'features/support/matchers/smart_match' + +class RspecWorld + include Spec::Expectations + include Spec::Matchers + include RubyForker + + extend Forwardable + def_delegators RspecWorld, :working_dir, :spec_command, :cmdline_file, :rspec_lib + + def self.working_dir + @working_dir ||= File.expand_path(File.join(File.dirname(__FILE__), "/../../tmp/cucumber-generated-files")) + end + + def self.spec_command + @spec_command ||= File.expand_path(File.join(File.dirname(__FILE__), "/../../bin/spec")) + end + + def self.cmdline_file + @cmdline_file ||= File.expand_path(File.join(File.dirname(__FILE__), "/../../resources/helpers/cmdline.rb")) + end + + def self.rspec_lib + @rspec_lib ||= File.join(working_dir, "/../../lib") + end + + def spec(args) + ruby("#{spec_command} #{args}") + end + + def cmdline(args) + ruby("#{cmdline_file} #{args}") + end + + def create_file(file_name, contents) + file_path = File.join(working_dir, file_name) + File.open(file_path, "w") { |f| f << contents } + end + + def create_directory(dirname) + FileUtils.mkdir_p File.join(working_dir, dirname) + end + + def last_stdout + @stdout + end + + def last_stderr + @stderr + end + + def last_exit_code + @exit_code + end + + # it seems like this, and the last_* methods, could be moved into RubyForker-- is that being used anywhere but the features? + def ruby(args) + stderr_file = Tempfile.new('rspec') + stderr_file.close + Dir.chdir(working_dir) do + @stdout = super("-I #{rspec_lib} #{args}", stderr_file.path) + end + @stderr = IO.read(stderr_file.path) + @exit_code = $?.to_i + end + +end + +Before do + FileUtils.rm_rf RspecWorld.working_dir if test ?d, RspecWorld.working_dir + FileUtils.mkdir_p RspecWorld.working_dir +end + +World do + RspecWorld.new +end diff --git a/vendor/gems/gems/rspec-1.2.9/features/support/matchers/smart_match.rb b/vendor/gems/gems/rspec-1.2.9/features/support/matchers/smart_match.rb new file mode 100755 index 00000000..74c50898 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/features/support/matchers/smart_match.rb @@ -0,0 +1,12 @@ +Spec::Matchers.define :smart_match do |expected| + match do |actual| + case expected + when /^\/.*\/?$/ + actual =~ eval(expected) + when /^".*"$/ + actual.index(eval(expected)) + else + false + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/init.rb b/vendor/gems/gems/rspec-1.2.9/init.rb new file mode 100755 index 00000000..6262f036 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/init.rb @@ -0,0 +1,9 @@ +# Placeholder to satisfy Rails. +# +# Do NOT add any require statements to this file. Doing +# so will cause Rails to load this plugin all of the time. +# +# Running 'ruby script/generate rspec' will +# generate spec/spec_helper.rb, which includes the necessary +# require statements and configuration. This file should +# be required by all of your spec files. \ No newline at end of file diff --git a/vendor/gems/gems/rspec-1.2.9/lib/autotest/discover.rb b/vendor/gems/gems/rspec-1.2.9/lib/autotest/discover.rb new file mode 100755 index 00000000..3ac51c13 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/autotest/discover.rb @@ -0,0 +1,3 @@ +Autotest.add_discovery do + "rspec" if File.directory?('spec') && ENV['RSPEC'] +end diff --git a/vendor/gems/gems/rspec-1.2.9/lib/autotest/rspec.rb b/vendor/gems/gems/rspec-1.2.9/lib/autotest/rspec.rb new file mode 100755 index 00000000..625e340b --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/autotest/rspec.rb @@ -0,0 +1,47 @@ +require 'autotest' + +Autotest.add_hook :initialize do |at| + at.clear_mappings + # watch out: Ruby bug (1.8.6): + # %r(/) != /\// + at.add_mapping(%r%^spec/.*_spec.rb$%) { |filename, _| + filename + } + at.add_mapping(%r%^lib/(.*)\.rb$%) { |_, m| + ["spec/#{m[1]}_spec.rb"] + } + at.add_mapping(%r%^spec/(spec_helper|shared/.*)\.rb$%) { + at.files_matching %r%^spec/.*_spec\.rb$% + } +end + +class RspecCommandError < StandardError; end + +class Autotest::Rspec < Autotest + + def initialize + super + self.failed_results_re = /^\d+\)\n(?:\e\[\d*m)?(?:.*?in )?'([^\n]*)'(?: FAILED)?(?:\e\[\d*m)?\n\n?(.*?(\n\n\(.*?)?)\n\n/m + self.completed_re = /\n(?:\e\[\d*m)?\d* examples?/m + end + + def consolidate_failures(failed) + filters = new_hash_of_arrays + failed.each do |spec, trace| + if trace =~ /\n(\.\/)?(.*spec\.rb):[\d]+:/ + filters[$2] << spec + end + end + return filters + end + + def make_test_cmd(files_to_test) + return '' if files_to_test.empty? + spec_program = File.expand_path(File.join(File.dirname(__FILE__), '..', '..', 'bin', 'spec')) + return "#{ruby} #{spec_program} --autospec #{files_to_test.keys.flatten.join(' ')} #{add_options_if_present}" + end + + def add_options_if_present # :nodoc: + File.exist?("spec/spec.opts") ? "-O spec/spec.opts " : "" + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec.rb new file mode 100755 index 00000000..879c373e --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec.rb @@ -0,0 +1,8 @@ +require 'spec/deprecation' +require 'spec/ruby' +require 'spec/matchers' +require 'spec/expectations' +require 'spec/example' +require 'spec/runner' +require 'spec/version' +require 'spec/dsl' diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/adapters/mock_frameworks/flexmock.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/adapters/mock_frameworks/flexmock.rb new file mode 100755 index 00000000..18dd453d --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/adapters/mock_frameworks/flexmock.rb @@ -0,0 +1,24 @@ +#!/usr/bin/env ruby +# +# Created by Jim Weirich on 2007-04-10. +# Copyright (c) 2007. All rights reserved. + +require 'rubygems' unless ENV['NO_RUBYGEMS'] +require 'flexmock/rspec' + +module Spec + module Adapters + module MockFramework + include FlexMock::MockContainer + def setup_mocks_for_rspec + # No setup required + end + def verify_mocks_for_rspec + flexmock_verify + end + def teardown_mocks_for_rspec + flexmock_close + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/adapters/mock_frameworks/mocha.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/adapters/mock_frameworks/mocha.rb new file mode 100755 index 00000000..4c97c139 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/adapters/mock_frameworks/mocha.rb @@ -0,0 +1,25 @@ +require 'rubygems' unless ENV['NO_RUBYGEMS'] +require 'mocha/standalone' +require 'mocha/object' + +module Spec + module Adapters + module MockFramework + # Mocha::Standalone was deprecated as of Mocha 0.9.7. + begin + include Mocha::API + rescue NameError + include Mocha::Standalone + end + def setup_mocks_for_rspec + mocha_setup + end + def verify_mocks_for_rspec + mocha_verify + end + def teardown_mocks_for_rspec + mocha_teardown + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/adapters/mock_frameworks/rr.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/adapters/mock_frameworks/rr.rb new file mode 100755 index 00000000..758ddf61 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/adapters/mock_frameworks/rr.rb @@ -0,0 +1,22 @@ +require 'rubygems' unless ENV['NO_RUBYGEMS'] +require 'rr' + +patterns = ::Spec::Runner::QuietBacktraceTweaker::IGNORE_PATTERNS +patterns.push(RR::Errors::BACKTRACE_IDENTIFIER) + +module Spec + module Adapters + module MockFramework + include RR::Extensions::InstanceMethods + def setup_mocks_for_rspec + RR::Space.instance.reset + end + def verify_mocks_for_rspec + RR::Space.instance.verify_doubles + end + def teardown_mocks_for_rspec + RR::Space.instance.reset + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/adapters/mock_frameworks/rspec.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/adapters/mock_frameworks/rspec.rb new file mode 100755 index 00000000..b159f8bf --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/adapters/mock_frameworks/rspec.rb @@ -0,0 +1,21 @@ +require 'spec/mocks/framework' +require 'spec/mocks/extensions' + +module Spec + module Adapters + unless defined?(MockFramework) + module MockFramework + include Spec::Mocks::ExampleMethods + def setup_mocks_for_rspec + $rspec_mocks ||= Spec::Mocks::Space.new + end + def verify_mocks_for_rspec + $rspec_mocks.verify_all + end + def teardown_mocks_for_rspec + $rspec_mocks.reset_all + end + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/autorun.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/autorun.rb new file mode 100755 index 00000000..f29b8196 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/autorun.rb @@ -0,0 +1,3 @@ +require 'spec' + +Spec::Runner.autorun diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/deprecation.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/deprecation.rb new file mode 100755 index 00000000..ebab7894 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/deprecation.rb @@ -0,0 +1,40 @@ +module Spec + class << self + def deprecate(method, alternate_method=nil) + message = <<-NOTICE + +***************************************************************** +DEPRECATION WARNING: you are using deprecated behaviour that will +be removed from a future version of RSpec. + +#{caller(0)[2]} + +* #{method} is deprecated. +NOTICE + if alternate_method + message << <<-ADDITIONAL +* please use #{alternate_method} instead. +ADDITIONAL + end + + message << "*****************************************************************" + warn(message) + end + + def warn(message) + Kernel.warn(message) + end + + end + + class HashWithDeprecationNotice < Hash + def initialize(method, alternate_method=nil, &block) + @method, @alternate_method = method, alternate_method + end + def []=(k,v) + Spec.deprecate(@method, @alternate_method) + super + end + end +end + diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/dsl.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/dsl.rb new file mode 100755 index 00000000..d93e90d8 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/dsl.rb @@ -0,0 +1 @@ +require 'spec/dsl/main' diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/dsl/main.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/dsl/main.rb new file mode 100755 index 00000000..3459275b --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/dsl/main.rb @@ -0,0 +1,92 @@ +module Spec + module DSL + module Main + include Spec::Example::ArgsAndOptions + + # Creates and returns a class that includes the ExampleGroupMethods + # module. Which ExampleGroup type is created depends on the directory of the file + # calling this method. For example, Spec::Rails will use different + # classes for specs living in spec/models, + # spec/helpers, spec/views and + # spec/controllers. + # + # It is also possible to override autodiscovery of the example group + # type with an options Hash as the last argument: + # + # describe "name", :type => :something_special do ... + # + # The reason for using different example group classes is to have different + # matcher methods available from within the describe block. + # + # See Spec::Example::ExampleGroupFactory#register for details about how to + # register special implementations. + # + def describe(*args, &block) + raise Spec::Example::NoDescriptionError.new("example group", caller(0)[1]) if args.empty? + add_options(args, :scope => self) + set_location(args.options, caller(0)[1]) + Spec::Example::ExampleGroupFactory.create_example_group(*args, &block) + end + alias :context :describe + + # Creates an example group that can be shared by other example groups + # + # == Examples + # + # share_examples_for "All Editions" do + # it "all editions behaviour" ... + # end + # + # describe SmallEdition do + # it_should_behave_like "All Editions" + # + # it "should do small edition stuff" do + # ... + # end + # end + def share_examples_for(*args, &block) + add_options(args) + set_location(args.options, caller(0)[1]) + Spec::Example::ExampleGroupFactory.create_shared_example_group(*args, &block) + end + alias :shared_examples_for :share_examples_for + + # Creates a Shared Example Group and assigns it to a constant + # + # share_as :AllEditions do + # it "should do all editions stuff" ... + # end + # + # describe SmallEdition do + # it_should_behave_like AllEditions + # + # it "should do small edition stuff" do + # ... + # end + # end + # + # And, for those of you who prefer to use something more like Ruby, you + # can just include the module directly + # + # describe SmallEdition do + # include AllEditions + # + # it "should do small edition stuff" do + # ... + # end + # end + def share_as(name, &block) + begin + args = [name] + add_options(args) + set_location(args.options, caller(0)[1]) + Object.const_set(name, Spec::Example::ExampleGroupFactory.create_shared_example_group(*args, &block)) + rescue NameError => e + raise NameError.new(e.message + "\nThe first argument to share_as must be a legal name for a constant\n") + end + end + end + end +end + +include Spec::DSL::Main diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/example.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/example.rb new file mode 100755 index 00000000..afbf4128 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/example.rb @@ -0,0 +1,164 @@ +module Spec + # == Example Groups and Code Examples + # + # A Code Example is an executable example of how a bit of code is expected + # to behave. + # + # An Example Group is a group of code examples. + # + # RSpec exposes a DSL to describe groups of examples. + # + # describe Account do + # it "should have a balance of $0" do + # account = Account.new + # account.balance.should == Money.new(0, :dollars) + # end + # end + # + # == Before and After + # + # You can use the before() and after() methods to extract + # common code within an Example Group. Both methods take an optional scope + # argument so you can run the block before :each example or before :all + # examples + # + # describe "..." do + # before :all do + # ... + # end + # + # before :each do + # ... + # end + # + # it "should do something" do + # ... + # end + # + # it "should do something else" do + # ... + # end + # + # after :each do + # ... + # end + # + # after :all do + # ... + # end + # + # end + # + # The before :each block will run before each of the examples, once + # for each example. Likewise, the after :each block will run after + # each of the examples. + # + # It is also possible to specify a before :all and after + # :all block that will run only once for each example group, before the + # first before :each and after the last after + # :each respectively. The use of these is generally discouraged, + # because it introduces dependencies between the examples. Still, it might + # prove useful for very expensive operations if you know what you are doing. + # + # == Local helper methods + # + # You can include local helper methods by simply expressing them within an + # example group: + # + # describe "..." do + # + # it "..." do + # helper_method + # end + # + # def helper_method + # ... + # end + # + # end + # + # == Included helper methods + # + # You can include helper methods in multiple example groups by expressing + # them within a module, and then including that module in your example + # groups: + # + # module AccountExampleHelperMethods + # def helper_method + # ... + # end + # end + # + # describe "A new account" do + # include AccountExampleHelperMethods + # before do + # @account = Account.new + # end + # + # it "should have a balance of $0" do + # helper_method + # @account.balance.should eql(Money.new(0, :dollars)) + # end + # end + # + # == Shared Example Groups + # + # You can define a shared example group, that may be used on other groups + # + # share_examples_for "All Editions" do + # it "all editions behaviour" ... + # end + # + # describe SmallEdition do + # it_should_behave_like "All Editions" + # + # it "should do small edition stuff" do + # ... + # end + # end + # + # You can also assign the shared group to a module and include that + # + # share_as :AllEditions do + # it "should do all editions stuff" ... + # end + # + # describe SmallEdition do + # it_should_behave_like AllEditions + # + # it "should do small edition stuff" do + # ... + # end + # end + # + # And, for those of you who prefer to use something more like Ruby, you can + # just include the module directly + # + # describe SmallEdition do + # include AllEditions + # + # it "should do small edition stuff" do + # ... + # end + # end + module Example + end +end + +require 'timeout' +require 'spec/example/args_and_options' +require 'spec/example/predicate_matchers' +require 'spec/example/example_group_proxy' +require 'spec/example/example_proxy' +require 'spec/example/subject' +require 'spec/example/before_and_after_hooks' +require 'spec/example/pending' +require 'spec/example/module_reopening_fix' +require 'spec/example/example_group_hierarchy' +require 'spec/example/example_group_methods' +require 'spec/example/example_methods' +require 'spec/example/example_group' +require 'spec/example/shared_example_group' +require 'spec/example/example_group_factory' +require 'spec/example/errors' +require 'spec/example/example_matcher' diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/example/args_and_options.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/example/args_and_options.rb new file mode 100755 index 00000000..b74fddd8 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/example/args_and_options.rb @@ -0,0 +1,27 @@ +module Spec + module Example + module ArgsAndOptions + def args_and_options(*args) # :nodoc: + options = Hash === args.last ? args.pop : {} + return args, options + end + + def add_options(args, options={}) # :nodoc: + args << {} unless Hash === args.last + args.extend WithOptions + args.options.merge!(options) + args.options + end + + def set_location(options, location) # :nodoc: + options[:location] ||= location + end + + module WithOptions # :nodoc: + def options + last + end + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/example/before_and_after_hooks.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/example/before_and_after_hooks.rb new file mode 100755 index 00000000..9f5039d1 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/example/before_and_after_hooks.rb @@ -0,0 +1,93 @@ +module Spec + module Example + module BeforeAndAfterHooks + class << self + def before_suite_parts # :nodoc: + @before_suite_parts ||= [] + end + + def after_suite_parts # :nodoc: + @after_suite_parts ||= [] + end + end + + # Registers a block to be executed before examples. scope can be + # :each (default), :all, or :suite. When + # :each, the block is executed before each example. When + # :all, the block is executed only once before any examples are + # run. + def append_before(scope = :each, &block) + before_parts(scope) << block + end + alias_method :before, :append_before + + # Registers a block to be executed before each example. + # This method prepends +block+ to existing before blocks. + # + # See append_before for scoping semantics. + def prepend_before(scope = :each, &block) + before_parts(scope).unshift(block) + end + + # Registers a block to be executed after each example. + # This method prepends +block+ to existing after blocks. + # + # See append_before for scoping semantics. + def prepend_after(scope = :each, &block) + after_parts(scope).unshift(block) + end + alias_method :after, :prepend_after + + # Registers a block to be executed after each example. + # This method appends +block+ to existing after blocks. + # + # See append_before for scoping semantics. + def append_after(scope = :each, &block) + after_parts(scope) << block + end + + def before_each_parts # :nodoc: + @before_each_parts ||= [] + end + + def after_each_parts # :nodoc: + @after_each_parts ||= [] + end + + def before_all_parts # :nodoc: + @before_all_parts ||= [] + end + + def after_all_parts # :nodoc: + @after_all_parts ||= [] + end + + def before_suite_parts # :nodoc: + BeforeAndAfterHooks.before_suite_parts + end + + def after_suite_parts # :nodoc: + BeforeAndAfterHooks.after_suite_parts + end + + private + + def before_parts(scope) + case scope + when :each; before_each_parts + when :all; before_all_parts + when :suite; before_suite_parts + end + end + + def after_parts(scope) + case scope + when :each; after_each_parts + when :all; after_all_parts + when :suite; after_suite_parts + end + end + + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/example/errors.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/example/errors.rb new file mode 100755 index 00000000..157b669b --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/example/errors.rb @@ -0,0 +1,25 @@ +module Spec + module Example + class ExamplePendingError < StandardError; end + + class NotYetImplementedError < ExamplePendingError + MESSAGE = "Not Yet Implemented" + def initialize + super(MESSAGE) + end + end + + class PendingExampleFixedError < StandardError; end + + class NoDescriptionError < ArgumentError + class << self + def message(kind, location) + "No description supplied for #{kind} declared on #{location}" + end + end + def initialize(kind, location) + super(self.class.message(kind, location)) + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/example/example_group.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/example/example_group.rb new file mode 100755 index 00000000..983be9a2 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/example/example_group.rb @@ -0,0 +1,10 @@ +module Spec + module Example + # Base class for customized example groups. Use this if you + # want to make a custom example group. + class ExampleGroup + extend Spec::Example::ExampleGroupMethods + include Spec::Example::ExampleMethods + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/example/example_group_factory.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/example/example_group_factory.rb new file mode 100755 index 00000000..1d662782 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/example/example_group_factory.rb @@ -0,0 +1,82 @@ +module Spec + module Example + + class ExampleGroupFactory + module ClassMethods + include Spec::Example::ArgsAndOptions + + def reset + @example_group_types = nil + default(ExampleGroup) + end + + def example_group_creation_listeners + @example_group_creation_listeners ||= [] + end + + def register_example_group(klass) + example_group_creation_listeners.each do |listener| + listener.register_example_group(klass) + end + end + + def create_shared_example_group(*args, &example_group_block) # :nodoc: + ::Spec::Example::SharedExampleGroup.register(*args, &example_group_block) + end + + def create_example_group(*args, &block) + raise ArgumentError if args.empty? || block.nil? + add_options(args) + superclass = determine_superclass(args.last) + superclass.describe(*args, &block) + end + + # Registers an example group class +klass+ with the symbol +type+. For + # example: + # + # Spec::Example::ExampleGroupFactory.register(:farm, FarmExampleGroup) + # + # With that you can append a hash with :type => :farm to the describe + # method and it will load an instance of FarmExampleGroup. + # + # describe Pig, :type => :farm do + # ... + # + # If you don't use the hash explicitly, describe will + # implicitly use an instance of FarmExampleGroup for any file loaded + # from the ./spec/farm directory. + def register(key, example_group_class) + @example_group_types[key.to_sym] = example_group_class + end + + # Sets the default ExampleGroup class + def default(example_group_class) + Spec.__send__ :remove_const, :ExampleGroup if Spec.const_defined?(:ExampleGroup) + Spec.const_set(:ExampleGroup, example_group_class) + old = @example_group_types + @example_group_types = Hash.new(example_group_class) + @example_group_types.merge!(old) if old + end + + def [](key) + @example_group_types[key] + end + + protected + + def determine_superclass(opts) + if type = opts[:type] + self[type] + elsif opts[:location] =~ /spec(\\|\/)(#{@example_group_types.keys.sort_by{|k| k.to_s.length}.reverse.join('|')})/ + self[$2 == '' ? nil : $2.to_sym] + else + self[nil] + end + end + + end + extend ClassMethods + self.reset + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/example/example_group_hierarchy.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/example/example_group_hierarchy.rb new file mode 100755 index 00000000..f2c9fb5c --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/example/example_group_hierarchy.rb @@ -0,0 +1,53 @@ +module Spec + module Example + class ExampleGroupHierarchy < Array + def initialize(example_group_class) + push example_group_class + if example_group_class.respond_to?(:superclass) && example_group_class.superclass.respond_to?(:example_group_hierarchy) + unshift example_group_class.superclass.example_group_hierarchy + flatten! + end + end + + def run_before_all(example) + example.eval_each_fail_fast(before_all_parts) + end + + def run_before_each(example) + example.eval_each_fail_fast(before_each_parts) + end + + def run_after_each(example) + example.eval_each_fail_slow(after_each_parts) + end + + def run_after_all(example) + example.eval_each_fail_slow(after_all_parts) + end + + def before_all_parts + @before_all_parts ||= collect {|klass| klass.before_all_parts}.flatten + end + + def before_each_parts + @before_each_parts ||= collect {|klass| klass.before_each_parts}.flatten + end + + def after_each_parts + @after_each_parts ||= reverse.collect {|klass| klass.after_each_parts}.flatten + end + + def after_all_parts + @after_all_parts ||= reverse.collect {|klass| klass.after_all_parts}.flatten + end + + def nested_descriptions + @nested_descriptions ||= collect {|eg| nested_description_from(eg) == "" ? nil : nested_description_from(eg) }.compact + end + + def nested_description_from(example_group) + example_group.description_args.join + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/example/example_group_methods.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/example/example_group_methods.rb new file mode 100755 index 00000000..3862fdef --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/example/example_group_methods.rb @@ -0,0 +1,282 @@ +module Spec + module Example + + module ExampleGroupMethods + class << self + attr_accessor :matcher_class + + def build_description_from(*args) + text = args.inject("") do |description, arg| + description << " " unless (description == "" || arg.to_s =~ /^(\s|\.|#)/) + description << arg.to_s + end + text == "" ? nil : text + end + end + + include Spec::Example::BeforeAndAfterHooks + include Spec::Example::Subject::ExampleGroupMethods + include Spec::Example::PredicateMatchers + include Spec::Example::ArgsAndOptions + + attr_reader :location + + def options # :nodoc: + @options ||= {} + end + + def inherited(klass) # :nodoc: + super + ExampleGroupFactory.register_example_group(klass) + end + + # Makes the describe/it syntax available from a class. For example: + # + # class StackSpec < Spec::ExampleGroup + # describe Stack, "with no elements" + # + # before + # @stack = Stack.new + # end + # + # it "should raise on pop" do + # lambda{ @stack.pop }.should raise_error + # end + # end + # + def describe(*args, &example_group_block) + raise Spec::Example::NoDescriptionError.new("example group", caller(0)[1]) if args.empty? + if example_group_block + options = add_options(args) + set_location(options, caller(0)[1]) + if options[:shared] + ExampleGroupFactory.create_shared_example_group(*args, &example_group_block) + else + subclass(*args, &example_group_block) + end + else + set_description(*args) + end + end + alias :context :describe + + # Use this to pull in examples from shared example groups. + def it_should_behave_like(*shared_example_groups) + shared_example_groups.each do |group| + include_shared_example_group(group) + end + end + + # Creates an instance of the current example group class and adds it to + # a collection of examples of the current example group. + def example(description=nil, options={}, backtrace=nil, &implementation) + example_proxy = ExampleProxy.new(description, options, backtrace || caller(0)[1]) + example_proxies << example_proxy + example_implementations[example_proxy] = implementation || pending_implementation + example_proxy + end + + def pending_implementation + lambda { raise(Spec::Example::NotYetImplementedError) } + end + + alias_method :it, :example + alias_method :specify, :example + + # Use this to temporarily disable an example. + def xexample(description=nil, opts={}, &block) + Kernel.warn("Example disabled: #{description}") + end + + alias_method :xit, :xexample + alias_method :xspecify, :xexample + + def run(run_options) + examples = examples_to_run(run_options) + notify(run_options.reporter) unless examples.empty? + return true if examples.empty? + return dry_run(examples, run_options) if run_options.dry_run? + + define_methods_from_predicate_matchers + + success, before_all_instance_variables = run_before_all(run_options) + success, after_all_instance_variables = run_examples(success, before_all_instance_variables, examples, run_options) + success = run_after_all(success, after_all_instance_variables, run_options) + end + + def set_description(*args) + @description_args, @options = args_and_options(*args) + @backtrace = caller(1) + @location = File.expand_path(options[:location]) if options[:location] + self + end + + def notify(reporter) # :nodoc: + reporter.example_group_started(ExampleGroupProxy.new(self)) + end + + def description + @description ||= ExampleGroupMethods.build_description_from(*description_parts) || to_s + end + + def described_type + @described_type ||= description_parts.reverse.find {|part| part.is_a?(Module)} + end + + def described_class + @described_class ||= Class === described_type ? described_type : nil + end + + def description_args + @description_args ||= [] + end + + def description_parts #:nodoc: + @description_parts ||= example_group_hierarchy.inject([]) do |parts, example_group_class| + [parts << example_group_class.description_args].flatten + end + end + + def example_proxies # :nodoc: + @example_proxies ||= [] + end + + def example_implementations # :nodoc: + @example_implementations ||= {} + end + + def examples(run_options=nil) #:nodoc: + (run_options && run_options.reverse) ? example_proxies.reverse : example_proxies + end + + def number_of_examples #:nodoc: + example_proxies.length + end + + def example_group_hierarchy + @example_group_hierarchy ||= ExampleGroupHierarchy.new(self) + end + + def nested_descriptions + example_group_hierarchy.nested_descriptions + end + + def include_constants_in(mod) + include mod if (Spec::Ruby.version.to_f >= 1.9) & (Module === mod) & !(Class === mod) + end + + def let(name, &block) + define_method name do + @assignments ||= {} + @assignments[name] ||= instance_eval(&block) + end + end + + private + + def subclass(*args, &example_group_block) + @class_count ||= 0 + @class_count += 1 + klass = const_set("Subclass_#{@class_count}", Class.new(self)) + klass.set_description(*args) + klass.include_constants_in(args.last[:scope]) + klass.module_eval(&example_group_block) + klass + end + + def dry_run(examples, run_options) + examples.each do |example| + run_options.reporter.example_started(example) + run_options.reporter.example_finished(example) + end + end + + def run_before_all(run_options) + return [true,{}] if example_group_hierarchy.before_all_parts.empty? + example_proxy = ExampleProxy.new("before(:all)") + before_all = new(example_proxy) + begin + example_group_hierarchy.run_before_all(before_all) + return [true, before_all.instance_variable_hash] + rescue Exception => e + run_options.reporter.example_failed(example_proxy, e) + return [false, before_all.instance_variable_hash] + end + end + + def run_examples(success, instance_variables, examples, run_options) + return [success, instance_variables] unless success + + after_all_instance_variables = instance_variables + + examples.each do |example| + example_group_instance = new(example, &example_implementations[example]) + success &= example_group_instance.execute(run_options, instance_variables) + after_all_instance_variables = example_group_instance.instance_variable_hash + end + + return [success, after_all_instance_variables] + end + + def run_after_all(success, instance_variables, run_options) + return success if example_group_hierarchy.after_all_parts.empty? + example_proxy = ExampleProxy.new("after(:all)") + after_all = new(example_proxy) + after_all.set_instance_variables_from_hash(instance_variables) + example_group_hierarchy.run_after_all(after_all) + success + rescue Exception => e + run_options.reporter.example_failed(example_proxy, e) + false + end + + def examples_to_run(run_options) + return example_proxies unless examples_were_specified?(run_options) + if run_options.line_number_requested? + if location =~ /:#{run_options.example_line}:?/ + example_proxies + else + example_proxies.select {|proxy| proxy.location =~ /:#{run_options.example_line}:?/} + end + else + example_proxies.reject do |proxy| + matcher = ExampleGroupMethods.matcher_class. + new(description.to_s, proxy.description) + !matcher.matches?(run_options.examples) + end + end + end + + def examples_were_specified?(run_options) + !run_options.examples.empty? + end + + def method_added(name) # :nodoc: + example(name.to_s, {}, caller(0)[1]) {__send__ name.to_s} if example_method?(name.to_s) + end + + def example_method?(method_name) + should_method?(method_name) + end + + def should_method?(method_name) + !(method_name =~ /^should(_not)?$/) && + method_name =~ /^should/ && + instance_method(method_name).arity < 1 + end + + def include_shared_example_group(shared_example_group) + case shared_example_group + when SharedExampleGroup + include shared_example_group + else + unless example_group = SharedExampleGroup.find(shared_example_group) + raise RuntimeError.new("Shared Example Group '#{shared_example_group}' can not be found") + end + include(example_group) + end + end + end + + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/example/example_group_proxy.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/example/example_group_proxy.rb new file mode 100755 index 00000000..3c258d61 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/example/example_group_proxy.rb @@ -0,0 +1,61 @@ +module Spec + module Example + # Lightweight proxy for an example group. This is the object that is passed + # to Spec::Runner::Formatter::BaseFormatter#example_group_started + class ExampleGroupProxy + + def initialize(example_group) # :nodoc: + @description = example_group.description + @nested_descriptions = example_group.nested_descriptions + @examples = example_group.example_proxies + @location = example_group.location + @backtrace = example_group.location # deprecated - see the backtrace method below + @options = example_group.options.dup + @options.delete(:location) + @options.delete(:scope) + end + + # Optional hash passed to the example group declaration. Note that RSpec uses + # this hash internally and reserves the keys :location and :scope for its own + # use (and removes them from this hash) + attr_reader :options + + # This is the description passed to the describe() method or any + # of its aliases + attr_reader :description + + # Used by Spec::Runner::Formatter::NestedTextFormatter to access the + # description of each example group in a nested group separately. + attr_reader :nested_descriptions + + # A collection of ExampleGroupProxy objects, one for each example + # declared in this group. + attr_reader :examples + + # The file and line number at which the proxied example group + # was declared. This is extracted from caller, and is therefore + # formatted as an individual line in a backtrace. + attr_reader :location + + # Deprecated - use location() instead + def backtrace + Spec::deprecate("ExampleGroupProxy#backtrace","ExampleGroupProxy#location") + @backtrace + end + + # Deprecated - just use gsub on the description instead. + def filtered_description(regexp) + Spec::deprecate("ExampleGroupProxy#filtered_description","gsub (or similar) to modify ExampleGroupProxy#description") + ExampleGroupMethods.build_description_from( + *nested_descriptions.collect do |description| + description =~ regexp ? description.gsub($1, "") : description + end + ) + end + + def ==(other) # :nodoc: + other.description == description + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/example/example_matcher.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/example/example_matcher.rb new file mode 100755 index 00000000..3acd7e14 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/example/example_matcher.rb @@ -0,0 +1,43 @@ +module Spec + module Example + class ExampleMatcher + def initialize(example_group_description, example_name) + @example_group_description = example_group_description + @example_name = example_name + end + + def matches?(specified_examples) + specified_examples.any? do |specified_example| + matches_literal_example?(specified_example) || matches_example_not_considering_modules?(specified_example) + end + end + + protected + def matches_literal_example?(specified_example) + specified_example =~ /(^#{example_group_regex} #{example_regexp}$|^#{example_group_regex}$|^#{example_group_with_before_all_regexp}$|^#{example_regexp}$)/ + end + + def matches_example_not_considering_modules?(specified_example) + specified_example =~ /(^#{example_group_regex_not_considering_modules} #{example_regexp}$|^#{example_group_regex_not_considering_modules}$|^#{example_regexp}$)/ + end + + def example_group_regex + Regexp.escape(@example_group_description) + end + + def example_group_with_before_all_regexp + Regexp.escape("#{@example_group_description} before(:all)") + end + + def example_group_regex_not_considering_modules + Regexp.escape(@example_group_description.split('::').last) + end + + def example_regexp + Regexp.escape(@example_name) if @example_name + end + end + + ExampleGroupMethods.matcher_class = ExampleMatcher + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/example/example_methods.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/example/example_methods.rb new file mode 100755 index 00000000..ca81a937 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/example/example_methods.rb @@ -0,0 +1,148 @@ +module Spec + module Example + module ExampleMethods + + extend Spec::Example::ModuleReopeningFix + include Spec::Example::Subject::ExampleMethods + + def violated(message="") + raise Spec::Expectations::ExpectationNotMetError.new(message) + end + + # Declared description for this example: + # + # describe Account do + # it "should start with a balance of 0" do + # ... + # + # description + # => "should start with a balance of 0" + def description + if description = @_proxy.description || ::Spec::Matchers.generated_description + description + else + Spec.warn Spec::Example::NoDescriptionError.message("example", @_proxy.location) + end + end + + def options # :nodoc: + @_proxy.options + end + + def execute(run_options, instance_variables) # :nodoc: + run_options.reporter.example_started(@_proxy) + set_instance_variables_from_hash(instance_variables) + + execution_error = nil + Timeout.timeout(run_options.timeout) do + begin + before_each_example + instance_eval(&@_implementation) + rescue Exception => e + execution_error ||= e + end + begin + after_each_example + rescue Exception => e + execution_error ||= e + end + end + + run_options.reporter.example_finished(@_proxy.update(description), execution_error) + success = execution_error.nil? || ExamplePendingError === execution_error + end + + module BlockAliases + alias_method :to, :should + alias_method :to_not, :should_not + end + + # Extends the submitted block with aliases to and to_not + # for should and should_not. Allows expectations like this: + # + # expect { this_block }.to change{this.expression}.from(old_value).to(new_value) + # expect { this_block }.to raise_error + def expect(&block) + block.extend BlockAliases + end + + def eval_each_fail_fast(blocks) # :nodoc: + blocks.each {|block| instance_eval(&block)} + end + + def eval_each_fail_slow(blocks) # :nodoc: + first_exception = nil + blocks.each do |block| + begin + instance_eval(&block) + rescue Exception => e + first_exception ||= e + end + end + raise first_exception if first_exception + end + + def instance_variable_hash # :nodoc: + instance_variables.inject({}) do |variable_hash, variable_name| + variable_hash[variable_name] = instance_variable_get(variable_name) + variable_hash + end + end + + def set_instance_variables_from_hash(ivars) # :nodoc: + ivars.each do |variable_name, value| + # Ruby 1.9 requires variable.to_s on the next line + unless ['@_proxy', '@_implementation', '@method_name'].include?(variable_name.to_s) + instance_variable_set variable_name, value + end + end + end + + # Run all the before(:each) blocks for this example + def run_before_each + example_group_hierarchy.run_before_each(self) + end + + # Run all the after(:each) blocks for this example + def run_after_each + example_group_hierarchy.run_after_each(self) + end + + def initialize(example_proxy, &implementation) + @_proxy = example_proxy + @_implementation = implementation + @_backtrace = caller + end + + private + + include Matchers + include Pending + + def before_each_example + setup_mocks_for_rspec + run_before_each + end + + def after_each_example + run_after_each + verify_mocks_for_rspec + ensure + teardown_mocks_for_rspec + end + + def described_class + self.class.described_class + end + + def description_args + self.class.description_args + end + + def example_group_hierarchy + self.class.example_group_hierarchy + end + + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/example/example_proxy.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/example/example_proxy.rb new file mode 100755 index 00000000..f726d0e7 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/example/example_proxy.rb @@ -0,0 +1,41 @@ +module Spec + module Example + # Lightweight proxy for an example. This is the object that is passed to + # example-related methods in Spec::Runner::Formatter::BaseFormatter + class ExampleProxy + + def initialize(description=nil, options={}, location=nil) # :nodoc: + @description, @options, @location = description, options, location + end + + # Optional hash passed to the example declaration + attr_reader :options + + # This is the docstring passed to the it() method or any + # of its aliases + attr_reader :description + + # The file and line number at which the represented example + # was declared. This is extracted from caller, and is therefore + # formatted as an individual line in a backtrace. + attr_reader :location + + # Deprecated - use location() + def backtrace + Spec.deprecate("ExampleProxy#backtrace","ExampleProxy#location") + location + end + + # Convenience method for example group - updates the value of + # description and returns self. + def update(description) # :nodoc: + @description = description + self + end + + def ==(other) # :nodoc: + (other.description == description) & (other.location == location) + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/example/module_reopening_fix.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/example/module_reopening_fix.rb new file mode 100755 index 00000000..9ea088a2 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/example/module_reopening_fix.rb @@ -0,0 +1,43 @@ +module Spec + module Example + # When you reopen a module that is included in another module that is included in a class, + # the new material you define does not make it to the class. This fixes that. + # + # == Example + # + # module M1; end + # + # module M2 + # def foo; "FOO"; end + # end + # + # class C + # include M1 + # end + # + # module M1 + # include M2 + # end + # + # c = C.new + # c.foo + # NoMethodError: undefined method `foo' for # + # from (irb):12 + module ModuleReopeningFix + def child_modules + @child_modules ||= [] + end + + def included(mod) + child_modules << mod + end + + def include(mod) + super + child_modules.each do |child_module| + child_module.__send__(:include, mod) + end + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/example/pending.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/example/pending.rb new file mode 100755 index 00000000..9aad1aab --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/example/pending.rb @@ -0,0 +1,18 @@ +module Spec + module Example + module Pending + def pending(message = "TODO") + if block_given? + begin + yield + rescue Exception + raise Spec::Example::ExamplePendingError.new(message) + end + raise Spec::Example::PendingExampleFixedError.new("Expected pending '#{message}' to fail. No Error was raised.") + else + raise Spec::Example::ExamplePendingError.new(message) + end + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/example/predicate_matchers.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/example/predicate_matchers.rb new file mode 100755 index 00000000..c3c31951 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/example/predicate_matchers.rb @@ -0,0 +1,46 @@ +module Spec + module Example + module PredicateMatchers + # :call-seq: + # predicate_matchers[matcher_name] = method_on_object + # predicate_matchers[matcher_name] = [method1_on_object, method2_on_object] + # + # Dynamically generates a custom matcher that will match + # a predicate on your class. RSpec provides a couple of these + # out of the box: + # + # exist (for state expectations) + # File.should exist("path/to/file") + # + # an_instance_of (for mock argument matchers) + # mock.should_receive(:message).with(an_instance_of(String)) + # + # == Examples + # + # class Fish + # def can_swim? + # true + # end + # end + # + # describe Fish do + # predicate_matchers[:swim] = :can_swim? + # it "should swim" do + # Fish.new.should swim + # end + # end + def predicate_matchers + @predicate_matchers ||= Spec::HashWithDeprecationNotice.new("predicate_matchers", "the new Matcher DSL") + end + + def define_methods_from_predicate_matchers # :nodoc: + predicate_matchers.each_pair do |matcher_method, method_on_object| + define_method matcher_method do |*args| + eval("be_#{method_on_object.to_s.gsub('?','')}(*args)") + end + end + end + + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/example/shared_example_group.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/example/shared_example_group.rb new file mode 100755 index 00000000..33694491 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/example/shared_example_group.rb @@ -0,0 +1,59 @@ +module Spec + module Example + class SharedExampleGroup < Module + module ClassMethods + def register(*args, &block) + new_example_group = new(*args, &block) + shared_example_groups << new_example_group unless already_registered?(new_example_group) + new_example_group + end + + def find(example_group_description) + shared_example_groups.find {|b| b.description == example_group_description} + end + + def clear + shared_example_groups.clear + end + + def include?(group) + shared_example_groups.include?(group) + end + + def count + shared_example_groups.length + end + + private + + def shared_example_groups + @shared_example_groups ||= [] + end + + def already_registered?(new_example_group) + existing_example_group = find(new_example_group.description) + return false unless existing_example_group + return true if new_example_group.equal?(existing_example_group) + return true if expanded_path(new_example_group) == expanded_path(existing_example_group) + raise ArgumentError.new("Shared Example '#{existing_example_group.description}' already exists") + end + + def expanded_path(example_group) + File.expand_path(example_group.location) + end + end + + extend ClassMethods + include ExampleGroupMethods + + def initialize(*args, &example_group_block) + set_description(*args) + @example_group_block = example_group_block + end + + def included(mod) # :nodoc: + mod.module_eval(&@example_group_block) + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/example/subject.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/example/subject.rb new file mode 100755 index 00000000..944edca4 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/example/subject.rb @@ -0,0 +1,108 @@ +module Spec + module Example + module Subject + module ExampleGroupMethods + # Defines an explicit subject for an example group which can then be the + # implicit receiver (through delegation) of calls to +should+. + # + # == Examples + # + # describe CheckingAccount, "with $50" do + # subject { CheckingAccount.new(:amount => 50, :currency => :USD) } + # it { should have_a_balance_of(50, :USD) } + # it { should_not be_overdrawn } + # its(:currency) { should == :USD } + # end + # + # See +ExampleMethods#should+ for more information about this approach. + def subject(&block) + block.nil? ? + explicit_subject || implicit_subject : @explicit_subject_block = block + end + + def its(attribute, &block) + describe(attribute) do + define_method(:subject) { super().send(attribute) } + it(&block) + end + end + + attr_reader :explicit_subject_block # :nodoc: + + private + + def explicit_subject + group = self + while group.respond_to?(:explicit_subject_block) + return group.explicit_subject_block if group.explicit_subject_block + group = group.superclass + end + end + + def implicit_subject + (described_class ? lambda {described_class.new} : lambda {description_args.first}) + end + end + + module ExampleMethods + + alias_method :__should_for_example_group__, :should + alias_method :__should_not_for_example_group__, :should_not + + # Returns the subject defined in ExampleGroupMethods#subject. The + # subject block is only executed once per example, the result of which + # is cached and returned by any subsequent calls to +subject+. + # + # If a class is passed to +describe+ and no subject is explicitly + # declared in the example group, then +subject+ will return a new + # instance of that class. + # + # == Examples + # + # # explicit subject defined by the subject method + # describe Person do + # subject { Person.new(:birthdate => 19.years.ago) } + # it "should be eligible to vote" do + # subject.should be_eligible_to_vote + # end + # end + # + # # implicit subject => { Person.new } + # describe Person do + # it "should be eligible to vote" do + # subject.should be_eligible_to_vote + # end + # end + def subject + @subject ||= instance_eval(&self.class.subject) + end + + # When +should+ is called with no explicit receiver, the call is + # delegated to the object returned by +subject+. Combined with + # an implicit subject (see +subject+), this supports very concise + # expressions. + # + # == Examples + # + # describe Person do + # it { should be_eligible_to_vote } + # end + def should(matcher=nil, message=nil) + self == subject ? self.__should_for_example_group__(matcher) : subject.should(matcher,message) + end + + # Just like +should+, +should_not+ delegates to the subject (implicit or + # explicit) of the example group. + # + # == Examples + # + # describe Person do + # it { should_not be_eligible_to_vote } + # end + def should_not(matcher=nil, message=nil) + self == subject ? self.__should_not_for_example_group__(matcher) : subject.should_not(matcher,message) + end + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/expectations.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/expectations.rb new file mode 100755 index 00000000..13cf59b2 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/expectations.rb @@ -0,0 +1,35 @@ +require 'spec/matchers' +require 'spec/expectations/fail_with' +require 'spec/expectations/errors' +require 'spec/expectations/extensions' +require 'spec/expectations/handler' + +module Spec + + # Spec::Expectations lets you set expectations on your objects. + # + # result.should == 37 + # team.should have(11).players_on_the_field + # + # == How Expectations work. + # + # Spec::Expectations adds two methods to Object: + # + # should(matcher=nil) + # should_not(matcher=nil) + # + # Both methods take an optional Expression Matcher (See Spec::Matchers). + # + # When +should+ receives an Expression Matcher, it calls matches?(self). If + # it returns +true+, the spec passes and execution continues. If it returns + # +false+, then the spec fails with the message returned by matcher.failure_message. + # + # Similarly, when +should_not+ receives a matcher, it calls matches?(self). If + # it returns +false+, the spec passes and execution continues. If it returns + # +true+, then the spec fails with the message returned by matcher.negative_failure_message. + # + # RSpec ships with a standard set of useful matchers, and writing your own + # matchers is quite simple. See Spec::Matchers for details. + module Expectations + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/expectations/errors.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/expectations/errors.rb new file mode 100755 index 00000000..1fabd105 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/expectations/errors.rb @@ -0,0 +1,12 @@ +module Spec + module Expectations + # If Test::Unit is loaed, we'll use its error as baseclass, so that Test::Unit + # will report unmet RSpec expectations as failures rather than errors. + superclass = ['Test::Unit::AssertionFailedError', '::StandardError'].map do |c| + eval(c) rescue nil + end.compact.first + + class ExpectationNotMetError < superclass + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/expectations/extensions.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/expectations/extensions.rb new file mode 100755 index 00000000..d68212e4 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/expectations/extensions.rb @@ -0,0 +1 @@ +require 'spec/expectations/extensions/kernel' diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/expectations/extensions/kernel.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/expectations/extensions/kernel.rb new file mode 100755 index 00000000..7d884922 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/expectations/extensions/kernel.rb @@ -0,0 +1,52 @@ +module Kernel + # :call-seq: + # should(matcher) + # should == expected + # should === expected + # should =~ expected + # + # receiver.should(matcher) + # => Passes if matcher.matches?(receiver) + # + # receiver.should == expected #any value + # => Passes if (receiver == expected) + # + # receiver.should === expected #any value + # => Passes if (receiver === expected) + # + # receiver.should =~ regexp + # => Passes if (receiver =~ regexp) + # + # See Spec::Matchers for more information about matchers + # + # == Warning + # + # NOTE that this does NOT support receiver.should != expected. + # Instead, use receiver.should_not == expected + def should(matcher=nil, message=nil, &block) + Spec::Expectations::PositiveExpectationHandler.handle_matcher(self, matcher, message, &block) + end + + # :call-seq: + # should_not(matcher) + # should_not == expected + # should_not === expected + # should_not =~ expected + # + # receiver.should_not(matcher) + # => Passes unless matcher.matches?(receiver) + # + # receiver.should_not == expected + # => Passes unless (receiver == expected) + # + # receiver.should_not === expected + # => Passes unless (receiver === expected) + # + # receiver.should_not =~ regexp + # => Passes unless (receiver =~ regexp) + # + # See Spec::Matchers for more information about matchers + def should_not(matcher=nil, message=nil, &block) + Spec::Expectations::NegativeExpectationHandler.handle_matcher(self, matcher, message, &block) + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/expectations/fail_with.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/expectations/fail_with.rb new file mode 100755 index 00000000..5e01f99d --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/expectations/fail_with.rb @@ -0,0 +1,45 @@ +module Spec + module Expectations + class << self + attr_accessor :differ + + # raises a Spec::Expectations::ExpectationNotMetError with message + # + # When a differ has been assigned and fail_with is passed + # expected and target, passes them + # to the differ to append a diff message to the failure message. + def fail_with(message, expected=nil, target=nil) # :nodoc: + if message.nil? + raise ArgumentError, "Failure message is nil. Does your matcher define the " + + "appropriate failure_message_for_* method to return a string?" + end + if (Array === message) & (message.length == 3) + ::Spec.warn(<<-NOTICE + +***************************************************************** +DEPRECATION WARNING: you are using deprecated behaviour that will +be removed from a future version of RSpec. + +* Support for matchers that return arrays from failure message +methods is deprecated. +* Instead, the matcher should return a string, and expose methods +for the expected() and actual() values. +***************************************************************** +NOTICE + ) + message, expected, target = message[0], message[1], message[2] + end + unless (differ.nil? || expected.nil? || target.nil?) + if expected.is_a?(String) + message << "\n\n Diff:" << self.differ.diff_as_string(target.to_s, expected) + elsif expected.is_a?(Hash) && target.is_a?(Hash) + message << "\n\n Diff:" << self.differ.diff_as_hash(target, expected) + elsif !target.is_a?(Proc) + message << "\n\n Diff:" << self.differ.diff_as_object(target, expected) + end + end + Kernel::raise(Spec::Expectations::ExpectationNotMetError.new(message)) + end + end + end +end \ No newline at end of file diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/expectations/handler.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/expectations/handler.rb new file mode 100755 index 00000000..c059637c --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/expectations/handler.rb @@ -0,0 +1,50 @@ +module Spec + module Expectations + class InvalidMatcherError < ArgumentError; end + + class PositiveExpectationHandler + def self.handle_matcher(actual, matcher, message=nil, &block) + ::Spec::Matchers.last_should = :should + ::Spec::Matchers.last_matcher = matcher + return ::Spec::Matchers::PositiveOperatorMatcher.new(actual) if matcher.nil? + + match = matcher.matches?(actual, &block) + return match if match + + message ||= matcher.respond_to?(:failure_message_for_should) ? + matcher.failure_message_for_should : + matcher.failure_message + + if matcher.respond_to?(:diffable?) && matcher.diffable? + ::Spec::Expectations.fail_with message, matcher.expected.first, matcher.actual + else + ::Spec::Expectations.fail_with message + end + end + end + + class NegativeExpectationHandler + def self.handle_matcher(actual, matcher, message=nil, &block) + ::Spec::Matchers.last_should = :should_not + ::Spec::Matchers.last_matcher = matcher + return ::Spec::Matchers::NegativeOperatorMatcher.new(actual) if matcher.nil? + + match = matcher.respond_to?(:does_not_match?) ? + !matcher.does_not_match?(actual, &block) : + matcher.matches?(actual, &block) + return match unless match + + message ||= matcher.respond_to?(:failure_message_for_should_not) ? + matcher.failure_message_for_should_not : + matcher.negative_failure_message + + if matcher.respond_to?(:diffable?) && matcher.diffable? + ::Spec::Expectations.fail_with message, matcher.expected.first, matcher.actual + else + ::Spec::Expectations.fail_with message + end + end + end + end +end + diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/interop/test.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/interop/test.rb new file mode 100755 index 00000000..284eb32c --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/interop/test.rb @@ -0,0 +1,44 @@ +require 'spec' + +if Spec::Ruby.version.to_f >= 1.9 + gem 'test-unit','= 1.2.3' +end + +require 'test/unit' + +if Spec::Ruby.version.to_f >= 1.9 + require 'test/unit/version' + if Test::Unit::VERSION > '1.2.3' + raise <<-MESSAGE +#{'*' * 50} +Required: test-unit-1.2.3 +Loaded: test-unit-#{Test::Unit::VERSION} + +With ruby-1.9, rspec-#{Spec::VERSION::STRING} requires test-unit-1.2.3, and +tries to force it with "gem 'test-unit', '= 1.2.3'" in: + + #{__FILE__} + +Unfortunately, test-unit-#{Test::Unit::VERSION} was loaded anyway. While we are +aware of this bug we have not been able to track down its source. +Until we do, you have two alternatives: + +* uninstall test-unit-2.0.3 +* use 'script/spec' instead of 'rake spec' +#{'*' * 50} +MESSAGE + end +end + + +require 'test/unit/testresult' + +require 'spec/interop/test/unit/testcase' +require 'spec/interop/test/unit/testsuite_adapter' +require 'spec/interop/test/unit/autorunner' +require 'spec/interop/test/unit/testresult' +require 'spec/interop/test/unit/ui/console/testrunner' + +Spec::Example::ExampleGroupFactory.default(Test::Unit::TestCase) + +Test::Unit.run = true diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/interop/test/unit/autorunner.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/interop/test/unit/autorunner.rb new file mode 100755 index 00000000..3944e699 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/interop/test/unit/autorunner.rb @@ -0,0 +1,6 @@ +class Test::Unit::AutoRunner + remove_method :process_args + def process_args(argv) + true + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/interop/test/unit/testcase.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/interop/test/unit/testcase.rb new file mode 100755 index 00000000..dc10a2a6 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/interop/test/unit/testcase.rb @@ -0,0 +1,56 @@ +require 'test/unit/testcase' + +module Test + module Unit + # This extension of the standard Test::Unit::TestCase makes RSpec + # available from within, so that you can do things like: + # + # require 'spec/test/unit' + # + # class MyTest < Test::Unit::TestCase + # it "should work with Test::Unit assertions" do + # assert_equal 4, 2+1 + # end + # + # def test_should_work_with_rspec_expectations + # (3+1).should == 5 + # end + # end + # + # See also Spec::Example::ExampleGroup + class TestCase + extend Spec::Example::ExampleGroupMethods + include Spec::Example::ExampleMethods + + def self.suite + Test::Unit::TestSuiteAdapter.new(self) + end + + def self.example_method?(method_name) + should_method?(method_name) || test_method?(method_name) + end + + def self.test_method?(method_name) + method_name =~ /^test./ && ( + instance_method(method_name).arity == 0 || + instance_method(method_name).arity == -1 + ) + end + + before(:each) {setup} + after(:each) {teardown} + + def initialize(description, &implementation) + super + # Some Test::Unit extensions depend on @method_name being present. + @method_name = description.description + @_result = ::Test::Unit::TestResult.new + end + + def run(ignore_this_argument=nil) + super() + end + + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/interop/test/unit/testresult.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/interop/test/unit/testresult.rb new file mode 100755 index 00000000..dddcfe86 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/interop/test/unit/testresult.rb @@ -0,0 +1,6 @@ +class Test::Unit::TestResult + alias_method :tu_passed?, :passed? + def passed? + return tu_passed? & ::Spec::Runner.run + end +end \ No newline at end of file diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/interop/test/unit/testsuite_adapter.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/interop/test/unit/testsuite_adapter.rb new file mode 100755 index 00000000..912762f1 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/interop/test/unit/testsuite_adapter.rb @@ -0,0 +1,34 @@ +module Test + module Unit + class TestSuiteAdapter < TestSuite + attr_reader :example_group, :examples + alias_method :tests, :examples + def initialize(example_group) + @example_group = example_group + @examples = example_group.examples + end + + def name + example_group.description + end + + def run(*args) + return true unless args.empty? + example_group.run(Spec::Runner.options) + end + + def size + example_group.number_of_examples + end + + def delete(example) + examples.delete example + end + + def empty? + examples.empty? + end + end + end +end + diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/interop/test/unit/ui/console/testrunner.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/interop/test/unit/ui/console/testrunner.rb new file mode 100755 index 00000000..8e9995e0 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/interop/test/unit/ui/console/testrunner.rb @@ -0,0 +1,61 @@ +require 'test/unit/ui/console/testrunner' + +module Test + module Unit + module UI + module Console + class TestRunner + + alias_method :started_without_rspec, :started + def started_with_rspec(result) + @result = result + @need_to_output_started = true + end + alias_method :started, :started_with_rspec + + alias_method :test_started_without_rspec, :test_started + def test_started_with_rspec(name) + if @need_to_output_started + if @rspec_io + @rspec_io.rewind + output(@rspec_io.read) + end + output("Started") + @need_to_output_started = false + end + test_started_without_rspec(name) + end + alias_method :test_started, :test_started_with_rspec + + alias_method :test_finished_without_rspec, :test_finished + def test_finished_with_rspec(name) + test_finished_without_rspec(name) + @ran_test = true + end + alias_method :test_finished, :test_finished_with_rspec + + alias_method :finished_without_rspec, :finished + def finished_with_rspec(elapsed_time) + @ran_test ||= false + if @ran_test + finished_without_rspec(elapsed_time) + end + end + alias_method :finished, :finished_with_rspec + + alias_method :setup_mediator_without_rspec, :setup_mediator + def setup_mediator_with_rspec + orig_io = @io + @io = StringIO.new + setup_mediator_without_rspec + ensure + @rspec_io = @io + @io = orig_io + end + alias_method :setup_mediator, :setup_mediator_with_rspec + + end + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers.rb new file mode 100755 index 00000000..4ef83293 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers.rb @@ -0,0 +1,195 @@ +require 'spec/matchers/extensions/instance_exec' +require 'spec/matchers/pretty' +require 'spec/matchers/matcher' +require 'spec/matchers/operator_matcher' +require 'spec/matchers/be' +require 'spec/matchers/be_close' +require 'spec/matchers/be_instance_of' +require 'spec/matchers/be_kind_of' +require 'spec/matchers/change' +require 'spec/matchers/eql' +require 'spec/matchers/equal' +require 'spec/matchers/errors' +require 'spec/matchers/exist' +require 'spec/matchers/generated_descriptions' +require 'spec/matchers/has' +require 'spec/matchers/have' +require 'spec/matchers/include' +require 'spec/matchers/match' +require 'spec/matchers/match_array' +require 'spec/matchers/method_missing' +require 'spec/matchers/raise_error' +require 'spec/matchers/respond_to' +require 'spec/matchers/satisfy' +require 'spec/matchers/simple_matcher' +require 'spec/matchers/throw_symbol' +require 'spec/matchers/wrap_expectation' +require 'spec/matchers/compatibility' +require 'spec/matchers/dsl' + +module Spec + + # RSpec ships with a number of useful Expression Matchers. An Expression Matcher + # is any object that responds to the following methods: + # + # matches?(actual) + # failure_message_for_should + # + # These methods are also part of the matcher protocol, but are optional: + # + # does_not_match?(actual) + # failure_message_for_should_not + # description #optional + # + # These methods are from older versions of the protocol. They are still supported, + # but are not recommended: + # + # failure_message (use failure_message_for_should instead) + # negative_failure_message (use failure_message_for_should_not instead) + # + # See Spec::Expectations to learn how to use these as Expectation Matchers. + # + # == Predicates + # + # In addition to those Expression Matchers that are defined explicitly, RSpec will + # create custom Matchers on the fly for any arbitrary predicate, giving your specs + # a much more natural language feel. + # + # A Ruby predicate is a method that ends with a "?" and returns true or false. + # Common examples are +empty?+, +nil?+, and +instance_of?+. + # + # All you need to do is write +should be_+ followed by the predicate without + # the question mark, and RSpec will figure it out from there. For example: + # + # [].should be_empty => [].empty? #passes + # [].should_not be_empty => [].empty? #fails + # + # In addtion to prefixing the predicate matchers with "be_", you can also use "be_a_" + # and "be_an_", making your specs read much more naturally: + # + # "a string".should be_an_instance_of(String) =>"a string".instance_of?(String) #passes + # + # 3.should be_a_kind_of(Fixnum) => 3.kind_of?(Numeric) #passes + # 3.should be_a_kind_of(Numeric) => 3.kind_of?(Numeric) #passes + # 3.should be_an_instance_of(Fixnum) => 3.instance_of?(Fixnum) #passes + # 3.should_not be_instance_of(Numeric) => 3.instance_of?(Numeric) #fails + # + # RSpec will also create custom matchers for predicates like +has_key?+. To + # use this feature, just state that the object should have_key(:key) and RSpec will + # call has_key?(:key) on the target. For example: + # + # {:a => "A"}.should have_key(:a) => {:a => "A"}.has_key?(:a) #passes + # {:a => "A"}.should have_key(:b) => {:a => "A"}.has_key?(:b) #fails + # + # You can use this feature to invoke any predicate that begins with "has_", whether it is + # part of the Ruby libraries (like +Hash#has_key?+) or a method you wrote on your own class. + # + # == Custom Matchers + # + # When you find that none of the stock Expectation Matchers provide a natural + # feeling expectation, you can very easily write your own using RSpec's matcher + # DSL or writing one from scratch. + # + # === Matcher DSL + # + # Imagine that you are writing a game in which players can be in various + # zones on a virtual board. To specify that bob should be in zone 4, you + # could say: + # + # bob.current_zone.should eql(Zone.new("4")) + # + # But you might find it more expressive to say: + # + # bob.should be_in_zone("4") + # + # and/or + # + # bob.should_not be_in_zone("3") + # + # You can create such a matcher like so: + # + # Spec::Matchers.define :be_in_zone do |zone| + # match do |player| + # player.in_zone?(zone) + # end + # end + # + # This will generate a be_in_zone method that returns a matcher + # with logical default messages for failures. You can override the failure + # messages and the generated description as follows: + # + # Spec::Matchers.define :be_in_zone do |zone| + # match do |player| + # player.in_zone?(zone) + # end + # failure_message_for_should do |player| + # # generate and return the appropriate string. + # end + # failure_message_for_should_not do |player| + # # generate and return the appropriate string. + # end + # description do + # # generate and return the appropriate string. + # end + # end + # + # Each of the message-generation methods has access to the block arguments + # passed to the create method (in this case, zone). The + # failure message methods (failure_message_for_should and + # failure_message_for_should_not) are passed the actual value (the + # receiver of should or should_not). + # + # === Custom Matcher from scratch + # + # You could also write a custom matcher from scratch, as follows: + # + # class BeInZone + # def initialize(expected) + # @expected = expected + # end + # def matches?(target) + # @target = target + # @target.current_zone.eql?(Zone.new(@expected)) + # end + # def failure_message_for_should + # "expected #{@target.inspect} to be in Zone #{@expected}" + # end + # def failure_message_for_should_not + # "expected #{@target.inspect} not to be in Zone #{@expected}" + # end + # end + # + # ... and a method like this: + # + # def be_in_zone(expected) + # BeInZone.new(expected) + # end + # + # And then expose the method to your specs. This is normally done + # by including the method and the class in a module, which is then + # included in your spec: + # + # module CustomGameMatchers + # class BeInZone + # ... + # end + # + # def be_in_zone(expected) + # ... + # end + # end + # + # describe "Player behaviour" do + # include CustomGameMatchers + # ... + # end + # + # or you can include in globally in a spec_helper.rb file required + # from your spec file(s): + # + # Spec::Runner.configure do |config| + # config.include(CustomGameMatchers) + # end + # + module Matchers; end +end diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/be.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/be.rb new file mode 100755 index 00000000..242f7c5c --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/be.rb @@ -0,0 +1,210 @@ +module Spec + module Matchers + + class Be #:nodoc: + include Spec::Matchers::Pretty + + def initialize(*args) + @expected = args.empty? ? true : set_expected(args.shift) + @args = args + @comparison_method = nil + end + + def matches?(actual) + @actual = actual + handling_predicate? ? run_predicate_on(actual) : match_or_compare(actual) + end + + def run_predicate_on(actual) + begin + return @result = actual.__send__(predicate, *@args) + rescue NameError => predicate_missing_error + "this needs to be here or rcov will not count this branch even though it's executed in a code example" + end + + begin + return @result = actual.__send__(present_tense_predicate, *@args) + rescue NameError + raise predicate_missing_error + end + end + + def failure_message_for_should + if handling_predicate? + if predicate == :nil? + "expected nil, got #{@actual.inspect}" + else + "expected #{predicate}#{args_to_s} to return true, got #{@result.inspect}" + end + else + "expected #{@comparison_method} #{expected}, got #{@actual.inspect}".gsub(' ',' ') + end + end + + def failure_message_for_should_not + if handling_predicate? + if predicate == :nil? + "expected not nil, got nil" + else + "expected #{predicate}#{args_to_s} to return false, got #{@result.inspect}" + end + else + message = <<-MESSAGE +'should_not be #{@comparison_method} #{expected}' not only FAILED, +it is a bit confusing. + MESSAGE + + raise message << ([:===,:==].include?(@comparison_method) ? + "It might be more clearly expressed without the \"be\"?" : + "It might be more clearly expressed in the positive?") + end + end + + def description + "#{prefix_to_sentence}#{comparison} #{expected_to_sentence}#{args_to_sentence}".gsub(/\s+/,' ') + end + + [:==, :<, :<=, :>=, :>, :===].each do |method| + define_method method do |expected| + compare_to(expected, :using => method) + self + end + end + + private + def match_or_compare(actual) + TrueClass === @expected ? @actual : @actual.__send__(comparison_method, @expected) + end + + def comparison_method + @comparison_method || :equal? + end + + def expected + @expected + end + + def compare_to(expected, opts) + @expected, @comparison_method = expected, opts[:using] + end + + def set_expected(expected) + Symbol === expected ? parse_expected(expected) : expected + end + + def parse_expected(expected) + ["be_an_","be_a_","be_"].each do |prefix| + handling_predicate! + if expected.to_s =~ /^#{prefix}/ + set_prefix(prefix) + expected = expected.to_s.sub(prefix,"") + [true, false, nil].each do |val| + return val if val.to_s == expected + end + return expected.to_sym + end + end + end + + def set_prefix(prefix) + @prefix = prefix + end + + def prefix + # FIXME - this is a bit goofy - but we get failures + # if just defining @prefix = nil in initialize + @prefix = nil unless defined?(@prefix) + @prefix + end + + def handling_predicate! + @handling_predicate = true + end + + def handling_predicate? + return false if [true, false, nil].include?(expected) + # FIXME - this is a bit goofy - but we get failures + # if just defining @handling_predicate = nil or false in initialize + return defined?(@handling_predicate) ? @handling_predicate : nil + end + + def predicate + "#{@expected.to_s}?".to_sym + end + + def present_tense_predicate + "#{@expected.to_s}s?".to_sym + end + + def args_to_s + @args.empty? ? "" : parenthesize(inspected_args.join(', ')) + end + + def parenthesize(string) + return "(#{string})" + end + + def inspected_args + @args.collect{|a| a.inspect} + end + + def comparison + @comparison_method.nil? ? " " : "be #{@comparison_method.to_s} " + end + + def expected_to_sentence + split_words(expected) + end + + def prefix_to_sentence + split_words(prefix) + end + + def args_to_sentence + to_sentence(@args) + end + + end + + # :call-seq: + # should be_true + # should be_false + # should be_nil + # should be_[arbitrary_predicate](*args) + # should_not be_nil + # should_not be_[arbitrary_predicate](*args) + # + # Given true, false, or nil, will pass if actual value is + # true, false or nil (respectively). Given no args means + # the caller should satisfy an if condition (to be or not to be). + # + # Predicates are any Ruby method that ends in a "?" and returns true or false. + # Given be_ followed by arbitrary_predicate (without the "?"), RSpec will match + # convert that into a query against the target object. + # + # The arbitrary_predicate feature will handle any predicate + # prefixed with "be_an_" (e.g. be_an_instance_of), "be_a_" (e.g. be_a_kind_of) + # or "be_" (e.g. be_empty), letting you choose the prefix that best suits the predicate. + # + # == Examples + # + # target.should be_true + # target.should be_false + # target.should be_nil + # target.should_not be_nil + # + # collection.should be_empty #passes if target.empty? + # target.should_not be_empty #passes unless target.empty? + # target.should_not be_old_enough(16) #passes unless target.old_enough?(16) + def be(*args) + Matchers::Be.new(*args) + end + + # passes if target.kind_of?(klass) + def be_a(klass) + be_a_kind_of(klass) + end + + alias_method :be_an, :be_a + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/be_close.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/be_close.rb new file mode 100755 index 00000000..28015f5f --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/be_close.rb @@ -0,0 +1,32 @@ +module Spec + module Matchers + # :call-seq: + # should be_close(expected, delta) + # should_not be_close(expected, delta) + # + # Passes if actual == expected +/- delta + # + # == Example + # + # result.should be_close(3.0, 0.5) + def be_close(expected, delta) + Matcher.new :be_close, expected, delta do |_expected_, _delta_| + match do |actual| + (actual - _expected_).abs < _delta_ + end + + failure_message_for_should do |actual| + "expected #{_expected_} +/- (< #{_delta_}), got #{actual}" + end + + failure_message_for_should_not do |actual| + "expected #{_expected_} +/- (< #{_delta_}), got #{actual}" + end + + description do + "be close to #{_expected_} (within +- #{_delta_})" + end + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/be_instance_of.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/be_instance_of.rb new file mode 100755 index 00000000..ffc23840 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/be_instance_of.rb @@ -0,0 +1,26 @@ +module Spec + module Matchers + # :call-seq: + # should be_instance_of(expected) + # should be_an_instance_of(expected) + # should_not be_instance_of(expected) + # should_not be_an_instance_of(expected) + # + # Passes if actual.instance_of?(expected) + # + # == Examples + # + # 5.should be_instance_of(Fixnum) + # 5.should_not be_instance_of(Numeric) + # 5.should_not be_instance_of(Float) + def be_an_instance_of(expected) + Matcher.new :be_an_instance_of, expected do |_expected_| + match do |actual| + actual.instance_of?(_expected_) + end + end + end + + alias_method :be_instance_of, :be_an_instance_of + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/be_kind_of.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/be_kind_of.rb new file mode 100755 index 00000000..6a1fddc1 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/be_kind_of.rb @@ -0,0 +1,26 @@ +module Spec + module Matchers + # :call-seq: + # should be_kind_of(expected) + # should be_a_kind_of(expected) + # should_not be_kind_of(expected) + # should_not be_a_kind_of(expected) + # + # Passes if actual.kind_of?(expected) + # + # == Examples + # + # 5.should be_kind_of(Fixnum) + # 5.should be_kind_of(Numeric) + # 5.should_not be_kind_of(Float) + def be_a_kind_of(expected) + Matcher.new :be_a_kind_of, expected do |_expected_| + match do |actual| + actual.kind_of?(_expected_) + end + end + end + + alias_method :be_kind_of, :be_a_kind_of + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/change.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/change.rb new file mode 100755 index 00000000..c8ab9e5c --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/change.rb @@ -0,0 +1,151 @@ +module Spec + module Matchers + + #Based on patch from Wilson Bilkovich + class Change #:nodoc: + def initialize(receiver=nil, message=nil, &block) + @message = message || "result" + @value_proc = block || lambda {receiver.__send__(message)} + @to = @from = @minimum = @maximum = @amount = nil + end + + def matches?(event_proc) + raise_block_syntax_error if block_given? + + @before = evaluate_value_proc + event_proc.call + @after = evaluate_value_proc + + return (@to = false) if @from unless @from == @before + return false if @to unless @to == @after + return (@before + @amount == @after) if @amount + return ((@after - @before) >= @minimum) if @minimum + return ((@after - @before) <= @maximum) if @maximum + return @before != @after + end + + def raise_block_syntax_error + raise MatcherError.new(<<-MESSAGE +block passed to should or should_not change must use {} instead of do/end +MESSAGE + ) + end + + def evaluate_value_proc + @value_proc.call + end + + def failure_message_for_should + if @to + "#{@message} should have been changed to #{@to.inspect}, but is now #{@after.inspect}" + elsif @from + "#{@message} should have initially been #{@from.inspect}, but was #{@before.inspect}" + elsif @amount + "#{@message} should have been changed by #{@amount.inspect}, but was changed by #{actual_delta.inspect}" + elsif @minimum + "#{@message} should have been changed by at least #{@minimum.inspect}, but was changed by #{actual_delta.inspect}" + elsif @maximum + "#{@message} should have been changed by at most #{@maximum.inspect}, but was changed by #{actual_delta.inspect}" + else + "#{@message} should have changed, but is still #{@before.inspect}" + end + end + + def actual_delta + @after - @before + end + + def failure_message_for_should_not + "#{@message} should not have changed, but did change from #{@before.inspect} to #{@after.inspect}" + end + + def by(amount) + @amount = amount + self + end + + def by_at_least(minimum) + @minimum = minimum + self + end + + def by_at_most(maximum) + @maximum = maximum + self + end + + def to(to) + @to = to + self + end + + def from (from) + @from = from + self + end + + def description + "change ##{@message}" + end + end + + # :call-seq: + # should change(receiver, message, &block) + # should change(receiver, message, &block).by(value) + # should change(receiver, message, &block).from(old).to(new) + # should_not change(receiver, message, &block) + # + # Allows you to specify that a Proc will cause some value to change. + # + # == Examples + # + # lambda { + # team.add_player(player) + # }.should change(roster, :count) + # + # lambda { + # team.add_player(player) + # }.should change(roster, :count).by(1) + # + # lambda { + # team.add_player(player) + # }.should change(roster, :count).by_at_least(1) + # + # lambda { + # team.add_player(player) + # }.should change(roster, :count).by_at_most(1) + # + # string = "string" + # lambda { + # string.reverse! + # }.should change { string }.from("string").to("gnirts") + # + # lambda { + # person.happy_birthday + # }.should change(person, :birthday).from(32).to(33) + # + # lambda { + # employee.develop_great_new_social_networking_app + # }.should change(employee, :title).from("Mail Clerk").to("CEO") + # + # Evaluates receiver.message or block before and after + # it evaluates the c object (generated by the lambdas in the examples + # above). + # + # Then compares the values before and after the receiver.message + # and evaluates the difference compared to the expected difference. + # + # == WARNING + # should_not change only supports the form with no + # subsequent calls to by, by_at_least, + # by_at_most, to or from. + # + # blocks passed to should change and should_not + # change must use the {} form (do/end is not + # supported). + # + def change(receiver=nil, message=nil, &block) + Matchers::Change.new(receiver, message, &block) + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/compatibility.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/compatibility.rb new file mode 100755 index 00000000..3b3ddb9b --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/compatibility.rb @@ -0,0 +1,14 @@ +Spec::Matchers.constants.each do |c| + if Class === (klass = Spec::Matchers.const_get(c)) + if klass.public_instance_methods.any? {|m| ['failure_message_for_should',:failure_message_for_should].include?(m)} + klass.class_eval do + alias_method :failure_message, :failure_message_for_should + end + end + if klass.public_instance_methods.any? {|m| ['failure_message_for_should_not',:failure_message_for_should_not].include?(m)} + klass.class_eval do + alias_method :negative_failure_message, :failure_message_for_should_not + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/dsl.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/dsl.rb new file mode 100755 index 00000000..73f36345 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/dsl.rb @@ -0,0 +1,20 @@ +module Spec + module Matchers + module DSL + # See Spec::Matchers + def define(name, &declarations) + define_method name do |*expected| + Spec::Matchers::Matcher.new name, *expected, &declarations + end + end + + # Deprecated - use define + def create(name, &declarations) + Spec.deprecate("Spec::Matchers.create","Spec::Matchers.define") + define(name, &declarations) + end + end + end +end + +Spec::Matchers.extend Spec::Matchers::DSL diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/eql.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/eql.rb new file mode 100755 index 00000000..98ab198d --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/eql.rb @@ -0,0 +1,42 @@ +module Spec + module Matchers + # :call-seq: + # should eql(expected) + # should_not eql(expected) + # + # Passes if actual and expected are of equal value, but not necessarily the same object. + # + # See http://www.ruby-doc.org/core/classes/Object.html#M001057 for more information about equality in Ruby. + # + # == Examples + # + # 5.should eql(5) + # 5.should_not eql(3) + def eql(expected) + Matcher.new :eql, expected do |_expected_| + match do |actual| + actual.eql?(_expected_) + end + + failure_message_for_should do |actual| + <<-MESSAGE + +expected #{_expected_.inspect} + got #{actual.inspect} + +(compared using eql?) +MESSAGE + end + + failure_message_for_should_not do |actual| + <<-MESSAGE + +expected #{actual.inspect} not to equal #{_expected_.inspect} + +(compared using eql?) +MESSAGE + end + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/equal.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/equal.rb new file mode 100755 index 00000000..3580a95a --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/equal.rb @@ -0,0 +1,53 @@ +module Spec + module Matchers + + # :call-seq: + # should equal(expected) + # should_not equal(expected) + # + # Passes if actual and expected are the same object (object identity). + # + # See http://www.ruby-doc.org/core/classes/Object.html#M001057 for more information about equality in Ruby. + # + # == Examples + # + # 5.should equal(5) #Fixnums are equal + # "5".should_not equal("5") #Strings that look the same are not the same object + def equal(expected) + Matcher.new :equal, expected do |_expected_| + match do |actual| + actual.equal?(_expected_) + end + + def inspect_object(o) + "#<#{o.class}:#{o.object_id}> => #{o.inspect}" + end + + failure_message_for_should do |actual| + <<-MESSAGE + +expected #{inspect_object(_expected_)} + got #{inspect_object(actual)} + +Compared using equal?, which compares object identity, +but expected and actual are not the same object. Use +'actual.should == expected' if you don't care about +object identity in this example. + +MESSAGE + end + + failure_message_for_should_not do |actual| + <<-MESSAGE + +expected not #{inspect_object(actual)} + got #{inspect_object(_expected_)} + +Compared using equal?, which compares object identity. + +MESSAGE + end + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/errors.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/errors.rb new file mode 100755 index 00000000..49c26779 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/errors.rb @@ -0,0 +1,5 @@ +module Spec + module Matchers + class MatcherError < StandardError; end + end +end \ No newline at end of file diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/exist.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/exist.rb new file mode 100755 index 00000000..dc69c683 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/exist.rb @@ -0,0 +1,16 @@ +module Spec + module Matchers + # :call-seq: + # should exist + # should_not exist + # + # Passes if actual.exist? + def exist(arg=nil) + Matcher.new :exist do + match do |actual| + arg ? actual.exist?(arg) : actual.exist? + end + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/extensions/instance_exec.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/extensions/instance_exec.rb new file mode 100755 index 00000000..ca7e14ea --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/extensions/instance_exec.rb @@ -0,0 +1,31 @@ +module Spec + module Matchers + module InstanceExec + unless respond_to?(:instance_exec) + # based on Bounded Spec InstanceExec (Mauricio Fernandez) + # http://eigenclass.org/hiki/bounded+space+instance_exec + # - uses singleton_class of matcher instead of global + # InstanceExecHelper module + # - this keeps it scoped to this class only, which is the + # only place we need it + # - only necessary for ruby 1.8.6 + def instance_exec(*args, &block) + singleton_class = (class << self; self; end) + begin + orig_critical, Thread.critical = Thread.critical, true + n = 0 + n += 1 while respond_to?(method_name="__instance_exec#{n}") + singleton_class.module_eval{ define_method(:__instance_exec, &block) } + ensure + Thread.critical = orig_critical + end + begin + return send(:__instance_exec, *args) + ensure + singleton_class.module_eval{ remove_method(:__instance_exec) } rescue nil + end + end + end + end + end +end \ No newline at end of file diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/generated_descriptions.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/generated_descriptions.rb new file mode 100755 index 00000000..2340f57d --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/generated_descriptions.rb @@ -0,0 +1,36 @@ +module Spec + module Matchers + class << self + attr_accessor :last_matcher, :last_should # :nodoc: + end + + def self.clear_generated_description + self.last_matcher = nil + self.last_should = nil + end + + def self.generated_description + return nil if last_should.nil? + "#{last_should.to_s.gsub('_',' ')} #{last_description}" + end + + private + + def self.last_description + last_matcher.respond_to?(:description) ? last_matcher.description : <<-MESSAGE +When you call a matcher in an example without a String, like this: + +specify { object.should matcher } + +or this: + +it { should matcher } + +RSpec expects the matcher to have a #description method. You should either +add a String to the example this matcher is being used in, or give it a +description method. Then you won't have to suffer this lengthy warning again. +MESSAGE + end + end +end + diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/has.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/has.rb new file mode 100755 index 00000000..7073e0a8 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/has.rb @@ -0,0 +1,35 @@ +module Spec + module Matchers + + class Has + + def initialize(expected, *args) + @expected, @args = expected, args + end + + def matches?(actual) + actual.__send__(predicate(@expected), *@args) + end + + def failure_message_for_should + "expected ##{predicate(@expected)}(#{@args[0].inspect}) to return true, got false" + end + + def failure_message_for_should_not + "expected ##{predicate(@expected)}(#{@args[0].inspect}) to return false, got true" + end + + def description + "have key #{@args[0].inspect}" + end + + private + + def predicate(sym) + "#{sym.to_s.sub("have_","has_")}?".to_sym + end + + end + + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/have.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/have.rb new file mode 100755 index 00000000..2975ee12 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/have.rb @@ -0,0 +1,151 @@ +module Spec + module Matchers + class Have #:nodoc: + def initialize(expected, relativity=:exactly) + @expected = (expected == :no ? 0 : expected) + @relativity = relativity + @actual = nil + end + + def relativities + @relativities ||= { + :exactly => "", + :at_least => "at least ", + :at_most => "at most " + } + end + + def matches?(collection_owner) + if collection_owner.respond_to?(@collection_name) + collection = collection_owner.__send__(@collection_name, *@args, &@block) + elsif (@plural_collection_name && collection_owner.respond_to?(@plural_collection_name)) + collection = collection_owner.__send__(@plural_collection_name, *@args, &@block) + elsif (collection_owner.respond_to?(:length) || collection_owner.respond_to?(:size)) + collection = collection_owner + else + collection_owner.__send__(@collection_name, *@args, &@block) + end + @actual = collection.size if collection.respond_to?(:size) + @actual = collection.length if collection.respond_to?(:length) + raise not_a_collection if @actual.nil? + return @actual >= @expected if @relativity == :at_least + return @actual <= @expected if @relativity == :at_most + return @actual == @expected + end + + def not_a_collection + "expected #{@collection_name} to be a collection but it does not respond to #length or #size" + end + + def failure_message_for_should + "expected #{relative_expectation} #{@collection_name}, got #{@actual}" + end + + def failure_message_for_should_not + if @relativity == :exactly + return "expected target not to have #{@expected} #{@collection_name}, got #{@actual}" + elsif @relativity == :at_most + return <<-EOF +Isn't life confusing enough? +Instead of having to figure out the meaning of this: + should_not have_at_most(#{@expected}).#{@collection_name} +We recommend that you use this instead: + should have_at_least(#{@expected + 1}).#{@collection_name} +EOF + elsif @relativity == :at_least + return <<-EOF +Isn't life confusing enough? +Instead of having to figure out the meaning of this: + should_not have_at_least(#{@expected}).#{@collection_name} +We recommend that you use this instead: + should have_at_most(#{@expected - 1}).#{@collection_name} +EOF + end + end + + def description + "have #{relative_expectation} #{@collection_name}" + end + + def respond_to?(sym) + @expected.respond_to?(sym) || super + end + + private + + def method_missing(sym, *args, &block) + @collection_name = sym + if inflector = (defined?(ActiveSupport::Inflector) ? ActiveSupport::Inflector : (defined?(Inflector) ? Inflector : nil)) + @plural_collection_name = inflector.pluralize(sym.to_s) + end + @args = args + @block = block + self + end + + def relative_expectation + "#{relativities[@relativity]}#{@expected}" + end + end + + # :call-seq: + # should have(number).named_collection__or__sugar + # should_not have(number).named_collection__or__sugar + # + # Passes if receiver is a collection with the submitted + # number of items OR if the receiver OWNS a collection + # with the submitted number of items. + # + # If the receiver OWNS the collection, you must use the name + # of the collection. So if a Team instance has a + # collection named #players, you must use that name + # to set the expectation. + # + # If the receiver IS the collection, you can use any name + # you like for named_collection. We'd recommend using + # either "elements", "members", or "items" as these are all + # standard ways of describing the things IN a collection. + # + # This also works for Strings, letting you set an expectation + # about its length + # + # == Examples + # + # # Passes if team.players.size == 11 + # team.should have(11).players + # + # # Passes if [1,2,3].length == 3 + # [1,2,3].should have(3).items #"items" is pure sugar + # + # # Passes if "this string".length == 11 + # "this string".should have(11).characters #"characters" is pure sugar + def have(n) + Matchers::Have.new(n) + end + alias :have_exactly :have + + # :call-seq: + # should have_at_least(number).items + # + # Exactly like have() with >=. + # + # == Warning + # + # +should_not+ +have_at_least+ is not supported + def have_at_least(n) + Matchers::Have.new(n, :at_least) + end + + # :call-seq: + # should have_at_most(number).items + # + # Exactly like have() with <=. + # + # == Warning + # + # +should_not+ +have_at_most+ is not supported + def have_at_most(n) + Matchers::Have.new(n, :at_most) + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/include.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/include.rb new file mode 100755 index 00000000..a2a7fe3d --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/include.rb @@ -0,0 +1,44 @@ +module Spec + module Matchers + # :call-seq: + # should include(expected) + # should_not include(expected) + # + # Passes if actual includes expected. This works for + # collections and Strings. You can also pass in multiple args + # and it will only pass if all args are found in collection. + # + # == Examples + # + # [1,2,3].should include(3) + # [1,2,3].should include(2,3) #would pass + # [1,2,3].should include(2,3,4) #would fail + # [1,2,3].should_not include(4) + # "spread".should include("read") + # "spread".should_not include("red") + def include(*expected) + Matcher.new :include, *expected do |*_expected_| + match do |actual| + helper(actual, *_expected_) + end + + def helper(actual, *_expected_) + _expected_.each do |expected| + if actual.is_a?(Hash) + if expected.is_a?(Hash) + expected.each_pair do |k,v| + return false unless actual[k] == v + end + else + return false unless actual.has_key?(expected) + end + else + return false unless actual.include?(expected) + end + end + true + end + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/match.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/match.rb new file mode 100755 index 00000000..b4b9ea86 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/match.rb @@ -0,0 +1,21 @@ +module Spec + module Matchers + # :call-seq: + # should match(pattern) + # should_not match(pattern) + # + # Given a Regexp or String, passes if actual.match(pattern) + # + # == Examples + # + # email.should match(/^([^\s]+)((?:[-a-z0-9]+\.)+[a-z]{2,})$/i) + # email.should match("@example.com") + def match(expected) + Matcher.new :match, expected do |_expected_| + match do |actual| + actual.match(_expected_) + end + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/match_array.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/match_array.rb new file mode 100755 index 00000000..51b4f392 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/match_array.rb @@ -0,0 +1,71 @@ +module Spec + module Matchers + + class MatchArray #:nodoc: + include Spec::Matchers::Pretty + + def initialize(expected) + @expected = expected + end + + def matches?(actual) + @actual = actual + @extra_items = difference_between_arrays(@actual, @expected) + @missing_items = difference_between_arrays(@expected, @actual) + @extra_items.empty? & @missing_items.empty? + end + + def failure_message_for_should + message = "expected collection contained: #{safe_sort(@expected).inspect}\n" + message += "actual collection contained: #{safe_sort(@actual).inspect}\n" + message += "the missing elements were: #{safe_sort(@missing_items).inspect}\n" unless @missing_items.empty? + message += "the extra elements were: #{safe_sort(@extra_items).inspect}\n" unless @extra_items.empty? + message + end + + def failure_message_for_should_not + "Matcher does not support should_not" + end + + def description + "contain exactly #{_pretty_print(@expected)}" + end + + private + + def safe_sort(array) + array.all?{|item| item.respond_to?(:<=>)} ? array.sort : array + end + + def difference_between_arrays(array_1, array_2) + difference = array_1.dup + array_2.each do |element| + if index = difference.index(element) + difference.delete_at(index) + end + end + difference + end + + + end + + # :call-seq: + # should =~ expected + # + # Passes if actual contains all of the expected regardless of order. + # This works for collections. Pass in multiple args and it will only + # pass if all args are found in collection. + # + # NOTE: there is no should_not version of array.should =~ other_array + # + # == Examples + # + # [1,2,3].should =~ [1,2,3] # => would pass + # [1,2,3].should =~ [2,3,1] # => would pass + # [1,2,3,4].should =~ [1,2,3] # => would fail + # [1,2,2,3].should =~ [1,2,3] # => would fail + # [1,2,3].should =~ [1,2,3,4] # => would fail + OperatorMatcher.register(Array, '=~', Spec::Matchers::MatchArray) + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/matcher.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/matcher.rb new file mode 100755 index 00000000..165ddffb --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/matcher.rb @@ -0,0 +1,87 @@ +module Spec + module Matchers + class Matcher + include Spec::Matchers::InstanceExec + include Spec::Matchers::Pretty + include Spec::Matchers + + attr_reader :expected, :actual + + def initialize(name, *expected, &declarations) + @name = name + @expected = expected + @actual = nil + @diffable = false + @messages = { + :description => lambda {"#{name_to_sentence}#{expected_to_sentence}"}, + :failure_message_for_should => lambda {|actual| "expected #{actual.inspect} to #{name_to_sentence}#{expected_to_sentence}"}, + :failure_message_for_should_not => lambda {|actual| "expected #{actual.inspect} not to #{name_to_sentence}#{expected_to_sentence}"} + } + making_declared_methods_public do + instance_exec(*@expected, &declarations) + end + end + + def matches?(actual) + instance_exec(@actual = actual, &@match_block) + end + + def description(&block) + cache_or_call_cached(:description, &block) + end + + def failure_message_for_should(&block) + cache_or_call_cached(:failure_message_for_should, actual, &block) + end + + def failure_message_for_should_not(&block) + cache_or_call_cached(:failure_message_for_should_not, actual, &block) + end + + def match(&block) + @match_block = block + end + + def diffable? + @diffable + end + + def diffable + @diffable = true + end + + private + + def making_declared_methods_public # :nodoc: + # Our home-grown instance_exec in ruby 1.8.6 results in any methods + # declared in the block eval'd by instance_exec in the block to which we + # are yielding here are scoped private. This is NOT the case for Ruby + # 1.8.7 or 1.9. + # + # Also, due some crazy scoping that I don't understand, these methods + # are actually available in the specs (something about the matcher being + # defined in the scope of Spec::Matchers or within an example), so not + # doing the following will not cause specs to fail, but they *will* + # cause features to fail and that will make users unhappy. So don't. + orig_private_methods = private_methods + yield + st = (class << self; self; end) + (private_methods - orig_private_methods).each {|m| st.__send__ :public, m} + end + + def cache_or_call_cached(key, actual=nil, &block) + block ? @messages[key] = block : + actual.nil? ? @messages[key].call : @messages[key].call(actual) + end + + def name_to_sentence + split_words(@name) + end + + def expected_to_sentence + to_sentence(@expected) + end + + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/method_missing.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/method_missing.rb new file mode 100755 index 00000000..ae7f3979 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/method_missing.rb @@ -0,0 +1,9 @@ +module Spec + module Matchers + def method_missing(sym, *args, &block) # :nodoc: + return Matchers::Be.new(sym, *args) if sym.to_s =~ /^be_/ + return Matchers::Has.new(sym, *args) if sym.to_s =~ /^have_/ + super + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/operator_matcher.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/operator_matcher.rb new file mode 100755 index 00000000..30295be0 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/operator_matcher.rb @@ -0,0 +1,78 @@ +module Spec + module Matchers + + class OperatorMatcher + class << self + def registry + @registry ||= {} + end + + def register(klass, operator, matcher) + registry[klass] ||= {} + registry[klass][operator] = matcher + end + + def get(klass, operator) + registry[klass] && registry[klass][operator] + end + end + + def initialize(actual) + @actual = actual + end + + def self.use_custom_matcher_or_delegate(operator) + define_method(operator) do |expected| + if matcher = OperatorMatcher.get(@actual.class, operator) + @actual.send(::Spec::Matchers.last_should, matcher.new(expected)) + else + eval_match(@actual, operator, expected) + end + end + end + + ['==', '===', '=~', '>', '>=', '<', '<='].each do |operator| + use_custom_matcher_or_delegate operator + end + + def fail_with_message(message) + Spec::Expectations.fail_with(message, @expected, @actual) + end + + def description + "#{@operator} #{@expected.inspect}" + end + + private + + def eval_match(actual, operator, expected) + ::Spec::Matchers.last_matcher = self + @operator, @expected = operator, expected + __delegate_operator(actual, operator, expected) + end + + end + + class PositiveOperatorMatcher < OperatorMatcher #:nodoc: + def __delegate_operator(actual, operator, expected) + if actual.__send__(operator, expected) + true + elsif ['==','===', '=~'].include?(operator) + fail_with_message("expected: #{expected.inspect},\n got: #{actual.inspect} (using #{operator})") + else + fail_with_message("expected: #{operator} #{expected.inspect},\n got: #{operator.gsub(/./, ' ')} #{actual.inspect}") + end + end + + end + + class NegativeOperatorMatcher < OperatorMatcher #:nodoc: + def __delegate_operator(actual, operator, expected) + return false unless actual.__send__(operator, expected) + return fail_with_message("expected not: #{operator} #{expected.inspect},\n got: #{operator.gsub(/./, ' ')} #{actual.inspect}") + end + + end + + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/pretty.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/pretty.rb new file mode 100755 index 00000000..15205837 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/pretty.rb @@ -0,0 +1,37 @@ +module Spec + module Matchers + module Pretty + def split_words(sym) + sym.to_s.gsub(/_/,' ') + end + + def to_sentence(words) + words = words.map{|w| w.inspect} + case words.length + when 0 + "" + when 1 + " #{words[0]}" + when 2 + " #{words[0]} and #{words[1]}" + else + " #{words[0...-1].join(', ')}, and #{words[-1]}" + end + end + + def _pretty_print(array) + result = "" + array.each_with_index do |item, index| + if index < (array.length - 2) + result << "#{item.inspect}, " + elsif index < (array.length - 1) + result << "#{item.inspect} and " + else + result << "#{item.inspect}" + end + end + result + end + end + end +end \ No newline at end of file diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/raise_error.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/raise_error.rb new file mode 100755 index 00000000..65bdf237 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/raise_error.rb @@ -0,0 +1,129 @@ +module Spec + module Matchers + class RaiseError #:nodoc: + def initialize(expected_error_or_message=Exception, expected_message=nil, &block) + @block = block + @actual_error = nil + case expected_error_or_message + when String, Regexp + @expected_error, @expected_message = Exception, expected_error_or_message + else + @expected_error, @expected_message = expected_error_or_message, expected_message + end + end + + def matches?(given_proc) + @raised_expected_error = false + @with_expected_message = false + @eval_block = false + @eval_block_passed = false + begin + given_proc.call + rescue @expected_error => @actual_error + @raised_expected_error = true + @with_expected_message = verify_message + rescue Exception => @actual_error + # This clause should be empty, but rcov will not report it as covered + # unless something (anything) is executed within the clause + rcov_error_report = "http://eigenclass.org/hiki.rb?rcov-0.8.0" + end + + unless negative_expectation? + eval_block if @raised_expected_error && @with_expected_message && @block + end + ensure + return (@raised_expected_error & @with_expected_message) ? (@eval_block ? @eval_block_passed : true) : false + end + + def eval_block + @eval_block = true + begin + @block[@actual_error] + @eval_block_passed = true + rescue Exception => err + @actual_error = err + end + end + + def verify_message + case @expected_message + when nil + true + when Regexp + @expected_message =~ @actual_error.message + else + @expected_message == @actual_error.message + end + end + + def failure_message_for_should + @eval_block ? @actual_error.message : "expected #{expected_error}#{given_error}" + end + + def failure_message_for_should_not + "expected no #{expected_error}#{given_error}" + end + + def description + "raise #{expected_error}" + end + + private + def expected_error + case @expected_message + when nil + @expected_error + when Regexp + "#{@expected_error} with message matching #{@expected_message.inspect}" + else + "#{@expected_error} with #{@expected_message.inspect}" + end + end + + def given_error + @actual_error.nil? ? " but nothing was raised" : ", got #{@actual_error.inspect}" + end + + def negative_expectation? + # YES - I'm a bad person... help me find a better way - ryand + caller.first(3).find { |s| s =~ /should_not/ } + end + end + + # :call-seq: + # should raise_error() + # should raise_error(NamedError) + # should raise_error(NamedError, String) + # should raise_error(NamedError, Regexp) + # should raise_error() { |error| ... } + # should raise_error(NamedError) { |error| ... } + # should raise_error(NamedError, String) { |error| ... } + # should raise_error(NamedError, Regexp) { |error| ... } + # should_not raise_error() + # should_not raise_error(NamedError) + # should_not raise_error(NamedError, String) + # should_not raise_error(NamedError, Regexp) + # + # With no args, matches if any error is raised. + # With a named error, matches only if that specific error is raised. + # With a named error and messsage specified as a String, matches only if both match. + # With a named error and messsage specified as a Regexp, matches only if both match. + # Pass an optional block to perform extra verifications on the exception matched + # + # == Examples + # + # lambda { do_something_risky }.should raise_error + # lambda { do_something_risky }.should raise_error(PoorRiskDecisionError) + # lambda { do_something_risky }.should raise_error(PoorRiskDecisionError) { |error| error.data.should == 42 } + # lambda { do_something_risky }.should raise_error(PoorRiskDecisionError, "that was too risky") + # lambda { do_something_risky }.should raise_error(PoorRiskDecisionError, /oo ri/) + # + # lambda { do_something_risky }.should_not raise_error + # lambda { do_something_risky }.should_not raise_error(PoorRiskDecisionError) + # lambda { do_something_risky }.should_not raise_error(PoorRiskDecisionError, "that was too risky") + # lambda { do_something_risky }.should_not raise_error(PoorRiskDecisionError, /oo ri/) + def raise_error(error=Exception, message=nil, &block) + Matchers::RaiseError.new(error, message, &block) + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/respond_to.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/respond_to.rb new file mode 100755 index 00000000..9161cb94 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/respond_to.rb @@ -0,0 +1,71 @@ +module Spec + module Matchers + + class RespondTo #:nodoc: + def initialize(*names) + @names = names + @expected_arity = nil + @names_not_responded_to = [] + end + + def matches?(actual) + @actual = actual + @names.each do |name| + @names_not_responded_to << name unless actual.respond_to?(name) && matches_arity?(actual, name) + end + return @names_not_responded_to.empty? + end + + def failure_message_for_should + "expected #{@actual.inspect} to respond to #{@names_not_responded_to.collect {|name| name.inspect }.join(', ')}#{with_arity}" + end + + def failure_message_for_should_not + "expected #{@actual.inspect} not to respond to #{@names.collect {|name| name.inspect }.join(', ')}" + end + + def description + "respond to #{pp_names}#{with_arity}" + end + + def with(n) + @expected_arity = n + self + end + + def argument + self + end + alias :arguments :argument + + private + + def matches_arity?(actual, name) + @expected_arity.nil?? true : @expected_arity == actual.method(name).arity + end + + def with_arity + @expected_arity.nil?? "" : + " with #{@expected_arity} argument#{@expected_arity == 1 ? '' : 's'}" + end + + def pp_names + # Ruby 1.9 returns the same thing for array.to_s as array.inspect, so just use array.inspect here + @names.length == 1 ? "##{@names.first}" : @names.inspect + end + end + + # :call-seq: + # should respond_to(*names) + # should_not respond_to(*names) + # + # Matches if the target object responds to all of the names + # provided. Names can be Strings or Symbols. + # + # == Examples + # + def respond_to(*names) + Matchers::RespondTo.new(*names) + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/satisfy.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/satisfy.rb new file mode 100755 index 00000000..58e3f56a --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/satisfy.rb @@ -0,0 +1,47 @@ +module Spec + module Matchers + + class Satisfy #:nodoc: + def initialize(&block) + @block = block + end + + def matches?(actual, &block) + @block = block if block + @actual = actual + @block.call(actual) + end + + def failure_message_for_should + "expected #{@actual} to satisfy block" + end + + def failure_message_for_should_not + "expected #{@actual} not to satisfy block" + end + end + + # :call-seq: + # should satisfy {} + # should_not satisfy {} + # + # Passes if the submitted block returns true. Yields target to the + # block. + # + # Generally speaking, this should be thought of as a last resort when + # you can't find any other way to specify the behaviour you wish to + # specify. + # + # If you do find yourself in such a situation, you could always write + # a custom matcher, which would likely make your specs more expressive. + # + # == Examples + # + # 5.should satisfy { |n| + # n > 3 + # } + def satisfy(&block) + Matchers::Satisfy.new(&block) + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/simple_matcher.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/simple_matcher.rb new file mode 100755 index 00000000..5ab7f306 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/simple_matcher.rb @@ -0,0 +1,133 @@ +module Spec + module Matchers + class SimpleMatcher + attr_writer :failure_message, :negative_failure_message, :description + + def initialize(description, &match_block) + @description = description + @match_block = match_block + @failure_message = @negative_failure_message = nil + end + + def matches?(given) + @given = given + case @match_block.arity + when 2 + @match_block.call(@given, self) + else + @match_block.call(@given) + end + end + + def description + @description || explanation + end + + def failure_message_for_should + @failure_message || (@description.nil? ? explanation : %[expected #{@description.inspect} but got #{@given.inspect}]) + end + + def failure_message_for_should_not + @negative_failure_message || (@description.nil? ? explanation : %[expected not to get #{@description.inspect}, but got #{@given.inspect}]) + end + + def explanation + "No description provided. See RDoc for simple_matcher()" + end + end + + # simple_matcher makes it easy for you to create your own custom matchers + # in just a few lines of code when you don't need all the power of a + # completely custom matcher object. + # + # The description argument will appear as part of any failure + # message, and is also the source for auto-generated descriptions. + # + # The match_block can have an arity of 1 or 2. The first block + # argument will be the given value. The second, if the block accepts it + # will be the matcher itself, giving you access to set custom failure + # messages in favor of the defaults. + # + # The match_block should return a boolean: true + # indicates a match, which will pass if you use should and fail + # if you use should_not. false (or nil) indicates no match, + # which will do the reverse: fail if you use should and pass if + # you use should_not. + # + # An error in the match_block will bubble up, resulting in a + # failure. + # + # == Example with default messages + # + # def be_even + # simple_matcher("an even number") { |given| given % 2 == 0 } + # end + # + # describe 2 do + # it "should be even" do + # 2.should be_even + # end + # end + # + # Given an odd number, this example would produce an error message stating: + # expected "an even number", got 3. + # + # Unfortunately, if you're a fan of auto-generated descriptions, this will + # produce "should an even number." Not the most desirable result. You can + # control that using custom messages: + # + # == Example with custom messages + # + # def rhyme_with(expected) + # simple_matcher("rhyme with #{expected.inspect}") do |given, matcher| + # matcher.failure_message = "expected #{given.inspect} to rhyme with #{expected.inspect}" + # matcher.negative_failure_message = "expected #{given.inspect} not to rhyme with #{expected.inspect}" + # given.rhymes_with? expected + # end + # end + # + # # OR + # + # def rhyme_with(expected) + # simple_matcher do |given, matcher| + # matcher.description = "rhyme with #{expected.inspect}" + # matcher.failure_message = "expected #{given.inspect} to rhyme with #{expected.inspect}" + # matcher.negative_failure_message = "expected #{given.inspect} not to rhyme with #{expected.inspect}" + # given.rhymes_with? expected + # end + # end + # + # describe "pecan" do + # it "should rhyme with 'be gone'" do + # nut = "pecan" + # nut.extend Rhymer + # nut.should rhyme_with("be gone") + # end + # end + # + # The resulting messages would be: + # description: rhyme with "be gone" + # failure_message: expected "pecan" to rhyme with "be gone" + # negative failure_message: expected "pecan" not to rhyme with "be gone" + # + # == Wrapped Expectations + # + # Because errors will bubble up, it is possible to wrap other expectations + # in a SimpleMatcher. + # + # def be_even + # simple_matcher("an even number") { |given| (given % 2).should == 0 } + # end + # + # BE VERY CAREFUL when you do this. Only use wrapped expectations for + # matchers that will always be used in only the positive + # (should) or negative (should_not), but not both. + # The reason is that is you wrap a should and call the wrapper + # with should_not, the correct result (the should + # failing), will fail when you want it to pass. + # + def simple_matcher(description=nil, &match_block) + SimpleMatcher.new(description, &match_block) + end + end +end \ No newline at end of file diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/throw_symbol.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/throw_symbol.rb new file mode 100755 index 00000000..da16bb65 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/throw_symbol.rb @@ -0,0 +1,104 @@ +module Spec + module Matchers + + class ThrowSymbol #:nodoc: + def initialize(expected_symbol = nil, expected_arg=nil) + @expected_symbol = expected_symbol + @expected_arg = expected_arg + @caught_symbol = @caught_arg = nil + end + + def matches?(given_proc) + begin + if @expected_symbol.nil? + given_proc.call + else + @caught_arg = catch :proc_did_not_throw_anything do + catch @expected_symbol do + given_proc.call + throw :proc_did_not_throw_anything, :nothing_thrown + end + end + @caught_symbol = @expected_symbol unless @caught_arg == :nothing_thrown + end + + # Ruby 1.8 uses NameError with `symbol' + # Ruby 1.9 uses ArgumentError with :symbol + rescue NameError, ArgumentError => e + raise e unless e.message =~ /uncaught throw (`|\:)([a-zA-Z0-9_]*)(')?/ + @caught_symbol = $2.to_sym + + ensure + if @expected_symbol.nil? + return !@caught_symbol.nil? + else + if @expected_arg.nil? + return @caught_symbol == @expected_symbol + else + return (@caught_symbol == @expected_symbol) & (@caught_arg == @expected_arg) + end + end + end + end + + def failure_message_for_should + if @caught_symbol + "expected #{expected}, got #{@caught_symbol.inspect}" + else + "expected #{expected} but nothing was thrown" + end + end + + def failure_message_for_should_not + if @expected_symbol + "expected #{expected} not to be thrown" + else + "expected no Symbol, got :#{@caught_symbol}" + end + end + + def description + "throw #{expected}" + end + + private + + def expected + @expected_symbol.nil? ? "a Symbol" : "#{@expected_symbol.inspect}#{args}" + end + + def args + @expected_arg.nil? ? "" : " with #{@expected_arg.inspect}" + end + + end + + # :call-seq: + # should throw_symbol() + # should throw_symbol(:sym) + # should throw_symbol(:sym, arg) + # should_not throw_symbol() + # should_not throw_symbol(:sym) + # should_not throw_symbol(:sym, arg) + # + # Given no argument, matches if a proc throws any Symbol. + # + # Given a Symbol, matches if the given proc throws the specified Symbol. + # + # Given a Symbol and an arg, matches if the given proc throws the + # specified Symbol with the specified arg. + # + # == Examples + # + # lambda { do_something_risky }.should throw_symbol + # lambda { do_something_risky }.should throw_symbol(:that_was_risky) + # lambda { do_something_risky }.should throw_symbol(:that_was_risky, culprit) + # + # lambda { do_something_risky }.should_not throw_symbol + # lambda { do_something_risky }.should_not throw_symbol(:that_was_risky) + # lambda { do_something_risky }.should_not throw_symbol(:that_was_risky, culprit) + def throw_symbol(sym=nil) + Matchers::ThrowSymbol.new(sym) + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/wrap_expectation.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/wrap_expectation.rb new file mode 100755 index 00000000..95162cae --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/wrap_expectation.rb @@ -0,0 +1,55 @@ +module Spec + module Matchers + # wraps an expectation in a block that will return true if the + # expectation passes and false if it fails (without bubbling up + # the failure). + # + # This is intended to be used in the context of a simple matcher, + # and is especially useful for wrapping multiple expectations or + # one or more assertions from test/unit extensions when running + # with test/unit. + # + # == Examples + # + # def eat_cheese(cheese) + # simple_matcher do |mouse, matcher| + # matcher.failure_message = "expected #{mouse} to eat cheese" + # wrap_expectation do |matcher| + # assert_eats_cheese(mouse) + # end + # end + # end + # + # describe Mouse do + # it "eats cheese" do + # Mouse.new.should eat_cheese + # end + # end + # + # You might be wondering "why would I do this if I could just say" + # assert_eats_cheese?", a fair question, indeed. You might prefer + # to replace the word assert with something more aligned with the + # rest of your code examples. You are using rspec, after all. + # + # The other benefit you get is that you can use the negative version + # of the matcher: + # + # describe Cat do + # it "does not eat cheese" do + # Cat.new.should_not eat_cheese + # end + # end + # + # So in the event there is no assert_does_not_eat_cheese available, + # you're all set! + def wrap_expectation(matcher, &block) + begin + block.call(matcher) + return true + rescue Exception => e + matcher.failure_message = e.message + return false + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/mocks.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/mocks.rb new file mode 100755 index 00000000..339c0cc5 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/mocks.rb @@ -0,0 +1,200 @@ +require 'spec/mocks/framework' +require 'spec/mocks/extensions/object' + +module Spec + # == Mocks and Stubs + # + # RSpec will create Mock Objects and Stubs for you at runtime, or attach stub/mock behaviour + # to any of your real objects (Partial Mock/Stub). Because the underlying implementation + # for mocks and stubs is the same, you can intermingle mock and stub + # behaviour in either dynamically generated mocks or your pre-existing classes. + # There is a semantic difference in how they are created, however, + # which can help clarify the role it is playing within a given spec. + # + # == Mock Objects + # + # Mocks are objects that allow you to set and verify expectations that they will + # receive specific messages during run time. They are very useful for specifying how the subject of + # the spec interacts with its collaborators. This approach is widely known as "interaction + # testing". + # + # Mocks are also very powerful as a design tool. As you are + # driving the implementation of a given class, Mocks provide an anonymous + # collaborator that can change in behaviour as quickly as you can write an expectation in your + # spec. This flexibility allows you to design the interface of a collaborator that often + # does not yet exist. As the shape of the class being specified becomes more clear, so do the + # requirements for its collaborators - often leading to the discovery of new types that are + # needed in your system. + # + # Read Endo-Testing[http://www.mockobjects.com/files/endotesting.pdf] for a much + # more in depth description of this process. + # + # == Stubs + # + # Stubs are objects that allow you to set "stub" responses to + # messages. As Martin Fowler points out on his site, + # mocks_arent_stubs[http://www.martinfowler.com/articles/mocksArentStubs.html]. + # Paraphrasing Fowler's paraphrasing + # of Gerard Meszaros: Stubs provide canned responses to messages they might receive in a test, while + # mocks allow you to specify and, subsquently, verify that certain messages should be received during + # the execution of a test. + # + # == Partial Mocks/Stubs + # + # RSpec also supports partial mocking/stubbing, allowing you to add stub/mock behaviour + # to instances of your existing classes. This is generally + # something to be avoided, because changes to the class can have ripple effects on + # seemingly unrelated specs. When specs fail due to these ripple effects, the fact + # that some methods are being mocked can make it difficult to understand why a + # failure is occurring. + # + # That said, partials do allow you to expect and + # verify interactions with class methods such as +#find+ and +#create+ + # on Ruby on Rails model classes. + # + # == Further Reading + # + # There are many different viewpoints about the meaning of mocks and stubs. If you are interested + # in learning more, here is some recommended reading: + # + # * Mock Objects: http://www.mockobjects.com/ + # * Endo-Testing: http://www.mockobjects.com/files/endotesting.pdf + # * Mock Roles, Not Objects: http://www.mockobjects.com/files/mockrolesnotobjects.pdf + # * Test Double Patterns: http://xunitpatterns.com/Test%20Double%20Patterns.html + # * Mocks aren't stubs: http://www.martinfowler.com/articles/mocksArentStubs.html + # + # == Creating a Mock + # + # You can create a mock in any specification (or setup) using: + # + # mock(name, options={}) + # + # The optional +options+ argument is a +Hash+. Currently the only supported + # option is +:null_object+. Setting this to true instructs the mock to ignore + # any messages it hasn’t been told to expect – and quietly return itself. For example: + # + # mock("person", :null_object => true) + # + # == Creating a Stub + # + # You can create a stub in any specification (or setup) using: + # + # stub(name, stub_methods_and_values_hash) + # + # For example, if you wanted to create an object that always returns + # "More?!?!?!" to "please_sir_may_i_have_some_more" you would do this: + # + # stub("Mr Sykes", :please_sir_may_i_have_some_more => "More?!?!?!") + # + # == Creating a Partial Mock + # + # You don't really "create" a partial mock, you simply add method stubs and/or + # mock expectations to existing classes and objects: + # + # Factory.should_receive(:find).with(id).and_return(value) + # obj.stub!(:to_i).and_return(3) + # etc ... + # + # == Expecting Messages + # + # my_mock.should_receive(:sym) + # my_mock.should_not_receive(:sym) + # + # == Expecting Arguments + # + # my_mock.should_receive(:sym).with(*args) + # my_mock.should_not_receive(:sym).with(*args) + # + # == Argument Matchers + # + # Arguments that are passed to #with are compared with actual arguments received + # using == by default. In cases in which you want to specify things about the arguments + # rather than the arguments themselves, you can use any of RSpec's Expression Matchers. + # They don't all make syntactic sense (they were primarily designed for use with + # Spec::Expectations), but you are free to create your own custom Spec::Matchers. + # + # Spec::Mocks does provide one additional Matcher method named #ducktype. + # + # In addition, Spec::Mocks adds some keyword Symbols that you can use to + # specify certain kinds of arguments: + # + # my_mock.should_receive(:sym).with(no_args()) + # my_mock.should_receive(:sym).with(any_args()) + # my_mock.should_receive(:sym).with(1, kind_of(Numeric), "b") #2nd argument can any kind of Numeric + # my_mock.should_receive(:sym).with(1, boolean(), "b") #2nd argument can true or false + # my_mock.should_receive(:sym).with(1, /abc/, "b") #2nd argument can be any String matching the submitted Regexp + # my_mock.should_receive(:sym).with(1, anything(), "b") #2nd argument can be anything at all + # my_mock.should_receive(:sym).with(1, ducktype(:abs, :div), "b") + # #2nd argument can be object that responds to #abs and #div + # + # == Receive Counts + # + # my_mock.should_receive(:sym).once + # my_mock.should_receive(:sym).twice + # my_mock.should_receive(:sym).exactly(n).times + # my_mock.should_receive(:sym).at_least(:once) + # my_mock.should_receive(:sym).at_least(:twice) + # my_mock.should_receive(:sym).at_least(n).times + # my_mock.should_receive(:sym).at_most(:once) + # my_mock.should_receive(:sym).at_most(:twice) + # my_mock.should_receive(:sym).at_most(n).times + # my_mock.should_receive(:sym).any_number_of_times + # + # == Ordering + # + # my_mock.should_receive(:sym).ordered + # my_mock.should_receive(:other_sym).ordered + # #This will fail if the messages are received out of order + # + # == Setting Reponses + # + # Whether you are setting a mock expectation or a simple stub, you can tell the + # object precisely how to respond: + # + # my_mock.should_receive(:sym).and_return(value) + # my_mock.should_receive(:sym).exactly(3).times.and_return(value1, value2, value3) + # # returns value1 the first time, value2 the second, etc + # my_mock.should_receive(:sym).and_return { ... } #returns value returned by the block + # my_mock.should_receive(:sym).and_raise(error) + # #error can be an instantiated object or a class + # #if it is a class, it must be instantiable with no args + # my_mock.should_receive(:sym).and_throw(:sym) + # my_mock.should_receive(:sym).and_yield(values,to,yield) + # my_mock.should_receive(:sym).and_yield(values,to,yield).and_yield(some,other,values,this,time) + # # for methods that yield to a block multiple times + # + # Any of these responses can be applied to a stub as well, but stubs do + # not support any qualifiers about the message received (i.e. you can't specify arguments + # or receive counts): + # + # my_mock.stub!(:sym).and_return(value) + # my_mock.stub!(:sym).and_return(value1, value2, value3) + # my_mock.stub!(:sym).and_raise(error) + # my_mock.stub!(:sym).and_throw(:sym) + # my_mock.stub!(:sym).and_yield(values,to,yield) + # my_mock.stub!(:sym).and_yield(values,to,yield).and_yield(some,other,values,this,time) + # + # == Arbitrary Handling + # + # Once in a while you'll find that the available expectations don't solve the + # particular problem you are trying to solve. Imagine that you expect the message + # to come with an Array argument that has a specific length, but you don't care + # what is in it. You could do this: + # + # my_mock.should_receive(:sym) do |arg| + # arg.should be_an_istance_of(Array) + # arg.length.should == 7 + # end + # + # Note that this would fail if the number of arguments received was different from + # the number of block arguments (in this case 1). + # + # == Combining Expectation Details + # + # Combining the message name with specific arguments, receive counts and responses + # you can get quite a bit of detail in your expectations: + # + # my_mock.should_receive(:<<).with("illegal value").once.and_raise(ArgumentError) + module Mocks + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/mocks/argument_expectation.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/mocks/argument_expectation.rb new file mode 100755 index 00000000..b51b7bae --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/mocks/argument_expectation.rb @@ -0,0 +1,51 @@ +module Spec + module Mocks + + class ArgumentExpectation + attr_reader :args + + def initialize(args, &block) + @args = args + @matchers_block = block + @match_any_args = false + @matchers = nil + + if ArgumentMatchers::AnyArgsMatcher === args.first + @match_any_args = true + elsif ArgumentMatchers::NoArgsMatcher === args.first + @matchers = [] + else + @matchers = args.collect {|arg| matcher_for(arg)} + end + end + + def matcher_for(arg) + return ArgumentMatchers::MatcherMatcher.new(arg) if is_matcher?(arg) + return ArgumentMatchers::RegexpMatcher.new(arg) if arg.is_a?(Regexp) + return ArgumentMatchers::EqualityProxy.new(arg) + end + + def is_matcher?(obj) + return obj.respond_to?(:matches?) & obj.respond_to?(:description) + end + + def args_match?(given_args) + match_any_args? || matchers_block_matches?(given_args) || matchers_match?(given_args) + end + + def matchers_block_matches?(given_args) + @matchers_block ? @matchers_block.call(*given_args) : nil + end + + def matchers_match?(given_args) + @matchers == given_args + end + + def match_any_args? + @match_any_args + end + + end + + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/mocks/argument_matchers.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/mocks/argument_matchers.rb new file mode 100755 index 00000000..f56551f2 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/mocks/argument_matchers.rb @@ -0,0 +1,237 @@ +module Spec + module Mocks + + # ArgumentMatchers are messages that you can include in message + # expectations to match arguments against a broader check than simple + # equality. + # + # With the exception of any_args() and no_args(), the matchers + # are all positional - they match against the arg in the given position. + module ArgumentMatchers + + class AnyArgsMatcher + def description + "any args" + end + end + + class NoArgsMatcher + def description + "no args" + end + end + + class AnyArgMatcher + def initialize(ignore) + end + + def ==(other) + true + end + + def description + "anything" + end + end + + class RegexpMatcher + def initialize(regexp) + @regexp = regexp + end + + def ==(value) + return value =~ @regexp unless value.is_a?(Regexp) + value == @regexp + end + end + + class BooleanMatcher + def initialize(ignore) + end + + def ==(value) + TrueClass === value || FalseClass === value + end + end + + class HashIncludingMatcher + def initialize(expected) + @expected = expected + end + + def ==(actual) + @expected.each do | key, value | + return false unless actual.has_key?(key) && value == actual[key] + end + true + rescue NoMethodError => ex + return false + end + + def description + "hash_including(#{@expected.inspect.sub(/^\{/,"").sub(/\}$/,"")})" + end + end + + class HashNotIncludingMatcher + def initialize(expected) + @expected = expected + end + + def ==(actual) + @expected.each do | key, value | + return false if actual.has_key?(key) && value == actual[key] + end + true + rescue NoMethodError => ex + return false + end + + def description + "hash_not_including(#{@expected.inspect.sub(/^\{/,"").sub(/\}$/,"")})" + end + end + + class DuckTypeMatcher + def initialize(*methods_to_respond_to) + @methods_to_respond_to = methods_to_respond_to + end + + def ==(value) + @methods_to_respond_to.all? { |sym| value.respond_to?(sym) } + end + end + + class MatcherMatcher + def initialize(matcher) + @matcher = matcher + end + + def ==(value) + @matcher.matches?(value) + end + end + + class EqualityProxy + def initialize(given) + @given = given + end + + def ==(expected) + @given == expected + end + end + + class InstanceOf + def initialize(klass) + @klass = klass + end + + def ==(actual) + actual.instance_of?(@klass) + end + end + + class KindOf + def initialize(klass) + @klass = klass + end + + def ==(actual) + actual.kind_of?(@klass) + end + end + + # :call-seq: + # object.should_receive(:message).with(no_args()) + # + # Passes if no arguments are passed along with the message + def no_args + NoArgsMatcher.new + end + + # :call-seq: + # object.should_receive(:message).with(any_args()) + # + # Passes if object receives :message with any args at all. This is + # really a more explicit variation of object.should_receive(:message) + def any_args + AnyArgsMatcher.new + end + + # :call-seq: + # object.should_receive(:message).with(anything()) + # + # Passes as long as there is an argument. + def anything + AnyArgMatcher.new(nil) + end + + # :call-seq: + # object.should_receive(:message).with(duck_type(:hello)) + # object.should_receive(:message).with(duck_type(:hello, :goodbye)) + # + # Passes if the argument responds to the specified messages. + # + # == Examples + # + # array = [] + # display = mock('display') + # display.should_receive(:present_names).with(duck_type(:length, :each)) + # => passes + def duck_type(*args) + DuckTypeMatcher.new(*args) + end + + # :call-seq: + # object.should_receive(:message).with(boolean()) + # + # Passes if the argument is boolean. + def boolean + BooleanMatcher.new(nil) + end + + # :call-seq: + # object.should_receive(:message).with(hash_including(:key => val)) + # object.should_receive(:message).with(hash_including(:key)) + # object.should_receive(:message).with(hash_including(:key, :key2 => val2)) + # Passes if the argument is a hash that includes the specified key(s) or key/value + # pairs. If the hash includes other keys, it will still pass. + def hash_including(*args) + HashIncludingMatcher.new(anythingize_lonely_keys(*args)) + end + + # :call-seq: + # object.should_receive(:message).with(hash_not_including(:key => val)) + # object.should_receive(:message).with(hash_not_including(:key)) + # object.should_receive(:message).with(hash_not_including(:key, :key2 => :val2)) + # + # Passes if the argument is a hash that doesn't include the specified key(s) or key/value + def hash_not_including(*args) + HashNotIncludingMatcher.new(anythingize_lonely_keys(*args)) + end + + # Passes if arg.instance_of?(klass) + def instance_of(klass) + InstanceOf.new(klass) + end + + alias_method :an_instance_of, :instance_of + + # Passes if arg.kind_of?(klass) + def kind_of(klass) + KindOf.new(klass) + end + + alias_method :a_kind_of, :kind_of + + private + + def anythingize_lonely_keys(*args) + hash = args.last.class == Hash ? args.delete_at(-1) : {} + args.each { | arg | hash[arg] = anything } + hash + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/mocks/error_generator.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/mocks/error_generator.rb new file mode 100755 index 00000000..f63811fe --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/mocks/error_generator.rb @@ -0,0 +1,92 @@ +module Spec + module Mocks + class ErrorGenerator + attr_writer :opts + + def initialize(target, name, options={}) + @declared_as = options[:__declared_as] || 'Mock' + @target = target + @name = name + end + + def opts + @opts ||= {} + end + + def raise_unexpected_message_error(sym, *args) + __raise "#{intro} received unexpected message :#{sym}#{arg_message(*args)}" + end + + def raise_unexpected_message_args_error(expectation, *args) + expected_args = format_args(*expectation.expected_args) + actual_args = args.empty? ? "(no args)" : format_args(*args) + __raise "#{intro} received #{expectation.sym.inspect} with unexpected arguments\n expected: #{expected_args}\n got: #{actual_args}" + end + + def raise_expectation_error(sym, expected_received_count, actual_received_count, *args) + __raise "#{intro} expected :#{sym}#{arg_message(*args)} #{count_message(expected_received_count)}, but received it #{count_message(actual_received_count)}" + end + + def raise_out_of_order_error(sym) + __raise "#{intro} received :#{sym} out of order" + end + + def raise_block_failed_error(sym, detail) + __raise "#{intro} received :#{sym} but passed block failed with: #{detail}" + end + + def raise_missing_block_error(args_to_yield) + __raise "#{intro} asked to yield |#{arg_list(*args_to_yield)}| but no block was passed" + end + + def raise_wrong_arity_error(args_to_yield, arity) + __raise "#{intro} yielded |#{arg_list(*args_to_yield)}| to block with arity of #{arity}" + end + + private + + def intro + if @name + "#{@declared_as} #{@name.inspect}" + elsif Mock === @target + @declared_as + elsif Class === @target + "<#{@target.inspect} (class)>" + elsif @target + @target + else + "nil" + end + end + + def __raise(message) + message = opts[:message] unless opts[:message].nil? + Kernel::raise(Spec::Mocks::MockExpectationError, message) + end + + def arg_message(*args) + " with " + format_args(*args) + end + + def format_args(*args) + args.empty? ? "(no args)" : "(" + arg_list(*args) + ")" + end + + def arg_list(*args) + args.collect {|arg| arg.respond_to?(:description) ? arg.description : arg.inspect}.join(", ") + end + + def count_message(count) + return "at least #{pretty_print(count.abs)}" if count < 0 + return pretty_print(count) + end + + def pretty_print(count) + return "once" if count == 1 + return "twice" if count == 2 + return "#{count} times" + end + + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/mocks/errors.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/mocks/errors.rb new file mode 100755 index 00000000..560b66a9 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/mocks/errors.rb @@ -0,0 +1,10 @@ +module Spec + module Mocks + class MockExpectationError < Exception + end + + class AmbiguousReturnError < StandardError + end + end +end + diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/mocks/example_methods.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/mocks/example_methods.rb new file mode 100755 index 00000000..f6c68ab6 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/mocks/example_methods.rb @@ -0,0 +1,69 @@ +module Spec + module Mocks + module ExampleMethods + include Spec::Mocks::ArgumentMatchers + + # Shortcut for creating an instance of Spec::Mocks::Mock. + # + # +name+ is used for failure reporting, so you should use the + # role that the double is playing in the example. + # + # +stubs_and_options+ lets you assign options and stub values + # at the same time. The only option available is :null_object. + # Anything else is treated as a stub value. + # + # == Examples + # + # thing = double("thing", :a => "A") + # thing.a == "A" => true + # + # person = double("thing", :name => "Joe", :email => "joe@domain.com") + # person.name => "Joe" + # person.email => "joe@domain.com" + def double(*args) + __declare_double('Double', *args) + end + + # Alias for double + def mock(*args) + __declare_double('Mock', *args) + end + + # Alias for double + def stub(*args) + __declare_double('Stub', *args) + end + + def __declare_double(declared_as, *args) # :nodoc: + args << {} unless Hash === args.last + args.last[:__declared_as] = declared_as + Spec::Mocks::Mock.new(*args) + end + + # DEPRECATED - use double('name').as_null_object instead + # + # Shortcut for creating a mock object that will return itself in response + # to any message it receives that it hasn't been explicitly instructed + # to respond to. + def stub_everything(name = 'stub') + Spec.warn(<<-WARNING) + +DEPRECATION: stub_everything('#{name}') is deprecated and will be removed +from a future version of rspec. Please use double('#{name}').as_null_object +(or stub('#{name}').as_null_object or mock('#{name}').as_null_object instead. + +WARNING + mock(name, :null_object => true) + end + + # Disables warning messages about expectations being set on nil. + # + # By default warning messages are issued when expectations are set on nil. This is to + # prevent false-positives and to catch potential bugs early on. + def allow_message_expectations_on_nil + Proxy.allow_message_expectations_on_nil + end + + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/mocks/extensions.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/mocks/extensions.rb new file mode 100755 index 00000000..6fd51a27 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/mocks/extensions.rb @@ -0,0 +1 @@ +require 'spec/mocks/extensions/object' diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/mocks/extensions/object.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/mocks/extensions/object.rb new file mode 100755 index 00000000..4b753106 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/mocks/extensions/object.rb @@ -0,0 +1,3 @@ +class Object + include Spec::Mocks::Methods +end diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/mocks/framework.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/mocks/framework.rb new file mode 100755 index 00000000..e2577865 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/mocks/framework.rb @@ -0,0 +1,15 @@ +# Require everything except the global extensions of class and object. This +# supports wrapping rspec's mocking functionality without invading every +# object in the system. + +require 'spec/mocks/methods' +require 'spec/mocks/argument_matchers' +require 'spec/mocks/example_methods' +require 'spec/mocks/proxy' +require 'spec/mocks/mock' +require 'spec/mocks/argument_expectation' +require 'spec/mocks/message_expectation' +require 'spec/mocks/order_group' +require 'spec/mocks/errors' +require 'spec/mocks/error_generator' +require 'spec/mocks/space' diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/mocks/message_expectation.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/mocks/message_expectation.rb new file mode 100755 index 00000000..8a8133f6 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/mocks/message_expectation.rb @@ -0,0 +1,329 @@ +module Spec + module Mocks + + class BaseExpectation + attr_reader :sym + attr_writer :expected_received_count, :method_block, :expected_from + protected :expected_received_count=, :method_block=, :expected_from= + attr_accessor :error_generator + protected :error_generator, :error_generator= + + def initialize(error_generator, expectation_ordering, expected_from, sym, method_block, expected_received_count=1, opts={}, &implementation) + @error_generator = error_generator + @error_generator.opts = opts + @expected_from = expected_from + @sym = sym + @method_block = method_block + @actual_received_count = 0 + @expected_received_count = expected_received_count + @args_expectation = ArgumentExpectation.new([ArgumentMatchers::AnyArgsMatcher.new]) + @consecutive = false + @exception_to_raise = nil + @symbol_to_throw = nil + @order_group = expectation_ordering + @at_least = nil + @at_most = nil + @args_to_yield = [] + @failed_fast = nil + @args_to_yield_were_cloned = false + @return_block = implementation + end + + def build_child(expected_from, method_block, expected_received_count, opts={}) + child = clone + child.expected_from = expected_from + child.method_block = method_block + child.expected_received_count = expected_received_count + child.clear_actual_received_count! + new_gen = error_generator.clone + new_gen.opts = opts + child.error_generator = new_gen + child.clone_args_to_yield @args_to_yield + child + end + + def expected_args + @args_expectation.args + end + + def and_return(*values, &return_block) + Kernel::raise AmbiguousReturnError unless @method_block.nil? + case values.size + when 0 then value = nil + when 1 then value = values[0] + else + value = values + @consecutive = true + @expected_received_count = values.size if !ignoring_args? && + @expected_received_count < values.size + end + @return_block = block_given? ? return_block : lambda { value } + end + + # :call-seq: + # and_raise() + # and_raise(Exception) #any exception class + # and_raise(exception) #any exception object + # + # == Warning + # + # When you pass an exception class, the MessageExpectation will + # raise an instance of it, creating it with +new+. If the exception + # class initializer requires any parameters, you must pass in an + # instance and not the class. + def and_raise(exception=Exception) + @exception_to_raise = exception + end + + def and_throw(symbol) + @symbol_to_throw = symbol + end + + def and_yield(*args) + if @args_to_yield_were_cloned + @args_to_yield.clear + @args_to_yield_were_cloned = false + end + + @args_to_yield << args + self + end + + def matches(sym, args) + @sym == sym and @args_expectation.args_match?(args) + end + + def invoke(*args, &block) + if @expected_received_count == 0 + @failed_fast = true + @actual_received_count += 1 + @error_generator.raise_expectation_error @sym, @expected_received_count, @actual_received_count, *args + end + + @order_group.handle_order_constraint self + + begin + Kernel::raise @exception_to_raise unless @exception_to_raise.nil? + Kernel::throw @symbol_to_throw unless @symbol_to_throw.nil? + + + if !@method_block.nil? + default_return_val = invoke_method_block(*args) + elsif @args_to_yield.size > 0 + default_return_val = invoke_with_yield(&block) + else + default_return_val = nil + end + + if @consecutive + return invoke_consecutive_return_block(*args, &block) + elsif @return_block + return invoke_return_block(*args, &block) + else + return default_return_val + end + ensure + @actual_received_count += 1 + end + end + + def called_max_times? + @expected_received_count != :any && @expected_received_count > 0 && + @actual_received_count >= @expected_received_count + end + + def invoke_return_block(*args, &block) + args << block unless block.nil? + # Ruby 1.9 - when we set @return_block to return values + # regardless of arguments, any arguments will result in + # a "wrong number of arguments" error + @return_block.arity == 0 ? @return_block.call : @return_block.call(*args) + end + + protected + + def invoke_method_block(*args) + begin + @method_block.call(*args) + rescue => detail + @error_generator.raise_block_failed_error @sym, detail.message + end + end + + def invoke_with_yield(&block) + if block.nil? + @error_generator.raise_missing_block_error @args_to_yield + end + value = nil + @args_to_yield.each do |args_to_yield_this_time| + if block.arity > -1 && args_to_yield_this_time.length != block.arity + @error_generator.raise_wrong_arity_error args_to_yield_this_time, block.arity + end + value = block.call(*args_to_yield_this_time) + end + value + end + + def invoke_consecutive_return_block(*args, &block) + value = invoke_return_block(*args, &block) + index = [@actual_received_count, value.size-1].min + value[index] + end + + def clone_args_to_yield(args) + @args_to_yield = args.clone + @args_to_yield_were_cloned = true + end + + def failed_fast? + @failed_fast + end + end + + class MessageExpectation < BaseExpectation + + def matches_name?(sym) + @sym == sym + end + + def matches_name_but_not_args(sym, args) + matches_name?(sym) and not @args_expectation.args_match?(args) + end + + def verify_messages_received + return if expected_messages_received? || failed_fast? + + generate_error + rescue Spec::Mocks::MockExpectationError => error + error.backtrace.insert(0, @expected_from) + Kernel::raise error + end + + def expected_messages_received? + ignoring_args? || matches_exact_count? || + matches_at_least_count? || matches_at_most_count? + end + + def ignoring_args? + @expected_received_count == :any + end + + def matches_at_least_count? + @at_least && @actual_received_count >= @expected_received_count + end + + def matches_at_most_count? + @at_most && @actual_received_count <= @expected_received_count + end + + def matches_exact_count? + @expected_received_count == @actual_received_count + end + + def similar_messages + @similar_messages ||= [] + end + + def advise(args, block) + similar_messages << args + end + + def generate_error + if similar_messages.empty? + @error_generator.raise_expectation_error(@sym, @expected_received_count, @actual_received_count, *@args_expectation.args) + else + @error_generator.raise_unexpected_message_args_error(self, *@similar_messages) + end + end + + def with(*args, &block) + @args_expectation = ArgumentExpectation.new(args, &block) + self + end + + def exactly(n) + set_expected_received_count :exactly, n + self + end + + def at_least(n) + set_expected_received_count :at_least, n + self + end + + def at_most(n) + set_expected_received_count :at_most, n + self + end + + def times(&block) + @method_block = block if block + self + end + + def any_number_of_times(&block) + @method_block = block if block + @expected_received_count = :any + self + end + + def never + @expected_received_count = 0 + self + end + + def once(&block) + @method_block = block if block + @expected_received_count = 1 + self + end + + def twice(&block) + @method_block = block if block + @expected_received_count = 2 + self + end + + def ordered(&block) + @method_block = block if block + @order_group.register(self) + @ordered = true + self + end + + def negative_expectation_for?(sym) + return false + end + + protected + def set_expected_received_count(relativity, n) + @at_least = (relativity == :at_least) + @at_most = (relativity == :at_most) + @expected_received_count = case n + when Numeric + n + when :once + 1 + when :twice + 2 + end + end + + def clear_actual_received_count! + @actual_received_count = 0 + end + + end + + class NegativeMessageExpectation < MessageExpectation + def initialize(message, expectation_ordering, expected_from, sym, method_block) + super(message, expectation_ordering, expected_from, sym, method_block, 0) + end + + def negative_expectation_for?(sym) + return @sym == sym + end + end + + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/mocks/methods.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/mocks/methods.rb new file mode 100755 index 00000000..16dd6e84 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/mocks/methods.rb @@ -0,0 +1,89 @@ +module Spec + module Mocks + module Methods + def should_receive(sym, opts={}, &block) + __mock_proxy.add_message_expectation(opts[:expected_from] || caller(1)[0], sym.to_sym, opts, &block) + end + + def should_not_receive(sym, &block) + __mock_proxy.add_negative_message_expectation(caller(1)[0], sym.to_sym, &block) + end + + def stub!(sym_or_hash, opts={}, &block) + if Hash === sym_or_hash + sym_or_hash.each {|method, value| stub!(method).and_return value } + else + __mock_proxy.add_stub(caller(1)[0], sym_or_hash.to_sym, opts, &block) + end + end + + alias_method :stub, :stub! + + def unstub!(message) + __mock_proxy.remove_stub(message) + end + + alias_method :unstub, :unstub! + + # :call-seq: + # object.stub_chain(:first, :second, :third).and_return(:this) + # + # Supports stubbing a chain of methods. Each argument represents + # a method name to stub, and each one returns a proxy object that + # can accept more stubs, until the last, which returns whatever + # is passed to +and_return_. + # + # == Examples + # + # # with this in an example ... + # article = double('article') + # Article.stub_chain(:authored_by, :published, :recent).and_return([article]) + # # then this will return an Array with the article double in it: + # Article.authored_by(params[:author_id]).published.recent + def stub_chain(*methods) + if methods.length > 1 + if matching_stub = __mock_proxy.find_matching_method_stub(methods[0]) + methods.shift + matching_stub.invoke_return_block.stub_chain(*methods) + else + next_in_chain = Object.new + stub!(methods.shift) {next_in_chain} + next_in_chain.stub_chain(*methods) + end + else + stub!(methods.shift) + end + end + + def received_message?(sym, *args, &block) #:nodoc: + __mock_proxy.received_message?(sym.to_sym, *args, &block) + end + + def rspec_verify #:nodoc: + __mock_proxy.verify + end + + def rspec_reset #:nodoc: + __mock_proxy.reset + end + + def as_null_object + __mock_proxy.as_null_object + end + + def null_object? + __mock_proxy.null_object? + end + + private + + def __mock_proxy + if Mock === self + @mock_proxy ||= Proxy.new(self, @name, @options) + else + @mock_proxy ||= Proxy.new(self) + end + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/mocks/mock.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/mocks/mock.rb new file mode 100755 index 00000000..35a6c798 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/mocks/mock.rb @@ -0,0 +1,71 @@ +module Spec + module Mocks + class Mock + include Methods + + # Creates a new mock with a +name+ (that will be used in error messages + # only) == Options: + # * :null_object - if true, the mock object acts as a forgiving + # null object allowing any message to be sent to it. + def initialize(name=nil, stubs_and_options={}) + if name.is_a?(Hash) && stubs_and_options.empty? + stubs_and_options = name + @name = nil + else + @name = name + end + @options = extract_options(stubs_and_options) + assign_stubs(stubs_and_options) + end + + # This allows for comparing the mock to other objects that proxy such as + # ActiveRecords belongs_to proxy objects. By making the other object run + # the comparison, we're sure the call gets delegated to the proxy + # target. + def ==(other) + other == __mock_proxy + end + + def inspect + "#<#{self.class}:#{sprintf '0x%x', self.object_id} @name=#{@name.inspect}>" + end + + def to_s + inspect.gsub('<','[').gsub('>',']') + end + + private + + def method_missing(sym, *args, &block) + __mock_proxy.record_message_received(sym, args, block) + begin + return self if __mock_proxy.null_object? + super(sym, *args, &block) + rescue NameError + __mock_proxy.raise_unexpected_message_error sym, *args + end + end + + def extract_options(stubs_and_options) + options = {} + extract_option(stubs_and_options, options, :null_object) + extract_option(stubs_and_options, options, :__declared_as, 'Mock') + options + end + + def extract_option(source, target, key, default=nil) + if source[key] + target[key] = source.delete(key) + elsif default + target[key] = default + end + end + + def assign_stubs(stubs) + stubs.each_pair do |message, response| + stub!(message).and_return(response) + end + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/mocks/order_group.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/mocks/order_group.rb new file mode 100755 index 00000000..9983207e --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/mocks/order_group.rb @@ -0,0 +1,29 @@ +module Spec + module Mocks + class OrderGroup + def initialize error_generator + @error_generator = error_generator + @ordering = Array.new + end + + def register(expectation) + @ordering << expectation + end + + def ready_for?(expectation) + return @ordering.first == expectation + end + + def consume + @ordering.shift + end + + def handle_order_constraint expectation + return unless @ordering.include? expectation + return consume if ready_for?(expectation) + @error_generator.raise_out_of_order_error expectation.sym + end + + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/mocks/proxy.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/mocks/proxy.rb new file mode 100755 index 00000000..acf72e0f --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/mocks/proxy.rb @@ -0,0 +1,245 @@ +module Spec + module Mocks + class Proxy + DEFAULT_OPTIONS = { + :null_object => false, + } + + @@warn_about_expectations_on_nil = true + + def self.allow_message_expectations_on_nil + @@warn_about_expectations_on_nil = false + + # ensure nil.rspec_verify is called even if an expectation is not set in the example + # otherwise the allowance would effect subsequent examples + $rspec_mocks.add(nil) unless $rspec_mocks.nil? + end + + def initialize(target, name=nil, options={}) + @target = target + @name = name + @error_generator = ErrorGenerator.new target, name, options + @expectation_ordering = OrderGroup.new @error_generator + @expectations = [] + @messages_received = [] + @stubs = [] + @proxied_methods = [] + @options = options ? DEFAULT_OPTIONS.dup.merge(options) : DEFAULT_OPTIONS + @already_proxied_respond_to = false + end + + def null_object? + @options[:null_object] + end + + def as_null_object + @options[:null_object] = true + @target + end + + def add_message_expectation(expected_from, sym, opts={}, &block) + __add sym + warn_if_nil_class sym + if existing_stub = @stubs.detect {|s| s.sym == sym } + expectation = existing_stub.build_child(expected_from, block_given?? block : nil, 1, opts) + else + expectation = MessageExpectation.new(@error_generator, @expectation_ordering, expected_from, sym, block_given? ? block : nil, 1, opts) + end + @expectations << expectation + @expectations.last + end + + def add_negative_message_expectation(expected_from, sym, &block) + __add sym + warn_if_nil_class sym + @expectations << NegativeMessageExpectation.new(@error_generator, @expectation_ordering, expected_from, sym, block_given? ? block : nil) + @expectations.last + end + + def add_stub(expected_from, sym, opts={}, &implementation) + __add sym + @stubs.unshift MessageExpectation.new(@error_generator, @expectation_ordering, expected_from, sym, nil, :any, opts, &implementation) + @stubs.first + end + + def remove_stub(message) + message = message.to_sym + + if stub_to_remove = @stubs.detect { |s| s.matches_name?(message) } + reset_proxied_method(message) + @stubs.delete(stub_to_remove) + else + raise MockExpectationError, "The method `#{message}` was not stubbed or was already unstubbed" + end + end + + def verify #:nodoc: + verify_expectations + ensure + reset + end + + def reset + clear_expectations + clear_stubs + reset_proxied_methods + clear_proxied_methods + reset_nil_expectations_warning + end + + def received_message?(sym, *args, &block) + @messages_received.any? {|array| array == [sym, args, block]} + end + + def has_negative_expectation?(sym) + @expectations.detect {|expectation| expectation.negative_expectation_for?(sym)} + end + + def record_message_received(sym, args, block) + @messages_received << [sym, args, block] + end + + def message_received(sym, *args, &block) + expectation = find_matching_expectation(sym, *args) + stub = find_matching_method_stub(sym, *args) + + if (stub && expectation && expectation.called_max_times?) || (stub && !expectation) + if expectation = find_almost_matching_expectation(sym, *args) + expectation.advise(args, block) unless expectation.expected_messages_received? + end + stub.invoke(*args, &block) + elsif expectation + expectation.invoke(*args, &block) + elsif expectation = find_almost_matching_expectation(sym, *args) + expectation.advise(args, block) if null_object? unless expectation.expected_messages_received? + raise_unexpected_message_args_error(expectation, *args) unless (has_negative_expectation?(sym) or null_object?) + else + @target.__send__ :method_missing, sym, *args, &block + end + end + + def raise_unexpected_message_args_error(expectation, *args) + @error_generator.raise_unexpected_message_args_error expectation, *args + end + + def raise_unexpected_message_error(sym, *args) + @error_generator.raise_unexpected_message_error sym, *args + end + + def find_matching_method_stub(sym, *args) + @stubs.find {|stub| stub.matches(sym, args)} + end + + private + + def __add(sym) + $rspec_mocks.add(@target) unless $rspec_mocks.nil? + define_expected_method(sym) + end + + def warn_if_nil_class(sym) + if proxy_for_nil_class? & @@warn_about_expectations_on_nil + Kernel.warn("An expectation of :#{sym} was set on nil. Called from #{caller[2]}. Use allow_message_expectations_on_nil to disable warnings.") + end + end + + def define_expected_method(sym) + unless @proxied_methods.include?(sym) + visibility_string = "#{visibility(sym)} :#{sym}" + if target_responds_to?(sym) + munged_sym = munge(sym) + target_metaclass.instance_eval do + alias_method munged_sym, sym if method_defined?(sym) + end + @proxied_methods << sym + end + target_metaclass.class_eval(<<-EOF, __FILE__, __LINE__) + def #{sym}(*args, &block) + __mock_proxy.message_received :#{sym}, *args, &block + end + #{visibility_string} + EOF + end + end + + def target_responds_to?(sym) + return @target.__send__(munge(:respond_to?),sym) if @already_proxied_respond_to + return @already_proxied_respond_to = true if sym == :respond_to? + return @target.respond_to?(sym, true) + end + + def visibility(sym) + if Mock === @target + 'public' + elsif target_metaclass.private_method_defined?(sym) + 'private' + elsif target_metaclass.protected_method_defined?(sym) + 'protected' + else + 'public' + end + end + + def munge(sym) + "proxied_by_rspec__#{sym}" + end + + def clear_expectations + @expectations.clear + end + + def clear_stubs + @stubs.clear + end + + def clear_proxied_methods + @proxied_methods.clear + end + + def target_metaclass + class << @target; self; end + end + + def verify_expectations + @expectations.each do |expectation| + expectation.verify_messages_received + end + end + + def reset_proxied_methods + @proxied_methods.each do |sym| + reset_proxied_method(sym) + end + end + + def reset_proxied_method(sym) + munged_sym = munge(sym) + target_metaclass.instance_eval do + remove_method sym + if method_defined?(munged_sym) + alias_method sym, munged_sym + remove_method munged_sym + end + end + end + + def proxy_for_nil_class? + @target.nil? + end + + def reset_nil_expectations_warning + @@warn_about_expectations_on_nil = true if proxy_for_nil_class? + end + + def find_matching_expectation(sym, *args) + @expectations.find {|expectation| expectation.matches(sym, args) && !expectation.called_max_times?} || + @expectations.find {|expectation| expectation.matches(sym, args)} + end + + def find_almost_matching_expectation(sym, *args) + @expectations.find {|expectation| expectation.matches_name_but_not_args(sym, args)} + end + + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/mocks/space.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/mocks/space.rb new file mode 100755 index 00000000..3e13224c --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/mocks/space.rb @@ -0,0 +1,28 @@ +module Spec + module Mocks + class Space + def add(obj) + mocks << obj unless mocks.detect {|m| m.equal? obj} + end + + def verify_all + mocks.each do |mock| + mock.rspec_verify + end + end + + def reset_all + mocks.each do |mock| + mock.rspec_reset + end + mocks.clear + end + + private + + def mocks + @mocks ||= [] + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/rake/spectask.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/rake/spectask.rb new file mode 100755 index 00000000..9049fd08 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/rake/spectask.rb @@ -0,0 +1,230 @@ +#!/usr/bin/env ruby + +# Define a task library for running RSpec contexts. + +require 'rake' +require 'rake/tasklib' + +module Spec + module Rake + + # A Rake task that runs a set of specs. + # + # Example: + # + # Spec::Rake::SpecTask.new do |t| + # t.warning = true + # t.rcov = true + # end + # + # This will create a task that can be run with: + # + # rake spec + # + # If rake is invoked with a "SPEC=filename" command line option, + # then the list of spec files will be overridden to include only the + # filename specified on the command line. This provides an easy way + # to run just one spec. + # + # If rake is invoked with a "SPEC_OPTS=options" command line option, + # then the given options will override the value of the +spec_opts+ + # attribute. + # + # If rake is invoked with a "RCOV_OPTS=options" command line option, + # then the given options will override the value of the +rcov_opts+ + # attribute. + # + # Examples: + # + # rake spec # run specs normally + # rake spec SPEC=just_one_file.rb # run just one spec file. + # rake spec SPEC_OPTS="--diff" # enable diffing + # rake spec RCOV_OPTS="--aggregate myfile.txt" # see rcov --help for details + # + # Each attribute of this task may be a proc. This allows for lazy evaluation, + # which is sometimes handy if you want to defer the evaluation of an attribute value + # until the task is run (as opposed to when it is defined). + # + # This task can also be used to run existing Test::Unit tests and get RSpec + # output, for example like this: + # + # require 'spec/rake/spectask' + # Spec::Rake::SpecTask.new do |t| + # t.ruby_opts = ['-rtest/unit'] + # t.spec_files = FileList['test/**/*_test.rb'] + # end + # + class SpecTask < ::Rake::TaskLib + def self.attr_accessor(*names) + super(*names) + names.each do |name| + module_eval "def #{name}() evaluate(@#{name}) end" # Allows use of procs + end + end + + # Name of spec task. (default is :spec) + attr_accessor :name + + # Array of directories to be added to $LOAD_PATH before running the + # specs. Defaults to [''] + attr_accessor :libs + + # If true, requests that the specs be run with the warning flag set. + # E.g. warning=true implies "ruby -w" used to run the specs. Defaults to false. + attr_accessor :warning + + # Glob pattern to match spec files. (default is 'spec/**/*_spec.rb') + # Setting the SPEC environment variable overrides this. + attr_accessor :pattern + + # Array of commandline options to pass to RSpec. Defaults to []. + # Setting the SPEC_OPTS environment variable overrides this. + attr_accessor :spec_opts + + # Whether or not to use RCov (default is false) + # See http://eigenclass.org/hiki.rb?rcov + attr_accessor :rcov + + # Array of commandline options to pass to RCov. Defaults to ['--exclude', 'lib\/spec,bin\/spec']. + # Ignored if rcov=false + # Setting the RCOV_OPTS environment variable overrides this. + attr_accessor :rcov_opts + + # Directory where the RCov report is written. Defaults to "coverage" + # Ignored if rcov=false + attr_accessor :rcov_dir + + # Array of commandline options to pass to ruby. Defaults to []. + attr_accessor :ruby_opts + + # Whether or not to fail Rake when an error occurs (typically when specs fail). + # Defaults to true. + attr_accessor :fail_on_error + + # A message to print to stderr when there are failures. + attr_accessor :failure_message + + # Where RSpec's output is written. Defaults to $stdout. + # DEPRECATED. Use --format FORMAT:WHERE in spec_opts. + attr_accessor :out + + # Explicitly define the list of spec files to be included in a + # spec. +spec_files+ is expected to be an array of file names (a + # FileList is acceptable). If both +pattern+ and +spec_files+ are + # used, then the list of spec files is the union of the two. + # Setting the SPEC environment variable overrides this. + attr_accessor :spec_files + + # Use verbose output. If this is set to true, the task will print + # the executed spec command to stdout. Defaults to false. + attr_accessor :verbose + + # Explicitly define the path to the ruby binary, or its proxy (e.g. multiruby) + attr_accessor :ruby_cmd + + # Defines a new task, using the name +name+. + def initialize(name=:spec) + @name = name + @libs = ['lib'] + @pattern = nil + @spec_files = nil + @spec_opts = [] + @warning = false + @ruby_opts = [] + @fail_on_error = true + @rcov = false + @rcov_opts = ['--exclude', 'lib\/spec,bin\/spec,config\/boot.rb'] + @rcov_dir = "coverage" + + yield self if block_given? + @pattern = 'spec/**/*_spec.rb' if pattern.nil? && spec_files.nil? + define + end + + def define # :nodoc: + spec_script = File.expand_path(File.join(File.dirname(__FILE__),"..","..","..","bin","spec")) + + lib_path = libs.join(File::PATH_SEPARATOR) + actual_name = Hash === name ? name.keys.first : name + unless ::Rake.application.last_comment + desc "Run specs" + (rcov ? " using RCov" : "") + end + task name do + RakeFileUtils.verbose(verbose) do + unless spec_file_list.empty? + # ruby [ruby_opts] -Ilib -S rcov [rcov_opts] bin/spec -- examples [spec_opts] + # or + # ruby [ruby_opts] -Ilib bin/spec examples [spec_opts] + cmd_parts = [ruby_cmd || RUBY] + cmd_parts += ruby_opts + cmd_parts << %[-I"#{lib_path}"] + cmd_parts << "-S rcov" if rcov + cmd_parts << "-w" if warning + cmd_parts << rcov_option_list + cmd_parts << %[-o "#{rcov_dir}"] if rcov + cmd_parts << %["#{spec_script}"] + cmd_parts << "--" if rcov + cmd_parts += spec_file_list.collect { |fn| %["#{fn}"] } + cmd_parts << spec_option_list + if out + cmd_parts << %[> "#{out}"] + STDERR.puts "The Spec::Rake::SpecTask#out attribute is DEPRECATED and will be removed in a future version. Use --format FORMAT:WHERE instead." + end + cmd = cmd_parts.join(" ") + puts cmd if verbose + unless system(cmd) + STDERR.puts failure_message if failure_message + raise("Command #{cmd} failed") if fail_on_error + end + end + end + end + + if rcov + desc "Remove rcov products for #{actual_name}" + task paste("clobber_", actual_name) do + rm_r rcov_dir rescue nil + end + + clobber_task = paste("clobber_", actual_name) + task :clobber => [clobber_task] + + task actual_name => clobber_task + end + self + end + + def rcov_option_list # :nodoc: + if rcov + ENV['RCOV_OPTS'] || rcov_opts.join(" ") || "" + else + "" + end + end + + def spec_option_list # :nodoc: + STDERR.puts "RSPECOPTS is DEPRECATED and will be removed in a future version. Use SPEC_OPTS instead." if ENV['RSPECOPTS'] + ENV['SPEC_OPTS'] || ENV['RSPECOPTS'] || spec_opts.join(" ") || "" + end + + def evaluate(o) # :nodoc: + case o + when Proc then o.call + else o + end + end + + def spec_file_list # :nodoc: + if ENV['SPEC'] + FileList[ ENV['SPEC'] ] + else + result = [] + result += spec_files.to_a if spec_files + result += FileList[ pattern ].to_a if pattern + FileList[result] + end + end + + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/rake/verify_rcov.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/rake/verify_rcov.rb new file mode 100755 index 00000000..199bd854 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/rake/verify_rcov.rb @@ -0,0 +1,52 @@ +module RCov + # A task that can verify that the RCov coverage doesn't + # drop below a certain threshold. It should be run after + # running Spec::Rake::SpecTask. + class VerifyTask < Rake::TaskLib + # Name of the task. Defaults to :verify_rcov + attr_accessor :name + + # Path to the index.html file generated by RCov, which + # is the file containing the total coverage. + # Defaults to 'coverage/index.html' + attr_accessor :index_html + + # Whether or not to output details. Defaults to true. + attr_accessor :verbose + + # The threshold value (in percent) for coverage. If the + # actual coverage is not equal to this value, the task will raise an + # exception. + attr_accessor :threshold + + # Require the threshold value be met exactly. This is the default. + attr_accessor :require_exact_threshold + + def initialize(name=:verify_rcov) + @name = name + @index_html = 'coverage/index.html' + @verbose = true + @require_exact_threshold = true + yield self if block_given? + raise "Threshold must be set" if @threshold.nil? + define + end + + def define + desc "Verify that rcov coverage is at least #{threshold}%" + task @name do + total_coverage = 0 + + File.open(index_html).each_line do |line| + if line =~ /\s*(\d+\.\d+)%\s*<\/tt>/ + total_coverage = $1.to_f + break + end + end + puts "Coverage: #{total_coverage}% (threshold: #{threshold}%)" if verbose + raise "Coverage must be at least #{threshold}% but was #{total_coverage}%" if total_coverage < threshold + raise "Coverage has increased above the threshold of #{threshold}% to #{total_coverage}%. You should update your threshold value." if (total_coverage > threshold) and require_exact_threshold + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/ruby.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/ruby.rb new file mode 100755 index 00000000..863877c7 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/ruby.rb @@ -0,0 +1,9 @@ +module Spec + module Ruby + class << self + def version + RUBY_VERSION + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/runner.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/runner.rb new file mode 100755 index 00000000..519b536e --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/runner.rb @@ -0,0 +1,66 @@ +require 'spec/runner/configuration' +require 'spec/runner/options' +require 'spec/runner/option_parser' +require 'spec/runner/example_group_runner' +require 'spec/runner/command_line' +require 'spec/runner/drb_command_line' +require 'spec/runner/backtrace_tweaker' +require 'spec/runner/reporter' +require 'spec/runner/line_number_query' +require 'spec/runner/class_and_arguments_parser' +require 'spec/runner/extensions/kernel' + +module Spec + module Runner + + class ExampleGroupCreationListener + def register_example_group(klass) + Spec::Runner.options.add_example_group klass + end + end + + Spec::Example::ExampleGroupFactory.example_group_creation_listeners << ExampleGroupCreationListener.new + + class << self + def configuration # :nodoc: + @configuration ||= Spec::Runner::Configuration.new + end + + # Use this to configure various configurable aspects of + # RSpec: + # + # Spec::Runner.configure do |configuration| + # # Configure RSpec here + # end + # + # The yielded configuration object is a + # Spec::Runner::Configuration instance. See its RDoc + # for details about what you can do with it. + # + def configure + yield configuration + end + + def autorun # :nodoc: + at_exit {exit run unless $!} + end + + def options # :nodoc: + @options ||= begin + parser = ::Spec::Runner::OptionParser.new($stderr, $stdout) + parser.order!(ARGV) + parser.options + end + end + + def use options + @options = options + end + + def run + options.examples_run? || options.run_examples + end + + end + end +end \ No newline at end of file diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/backtrace_tweaker.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/backtrace_tweaker.rb new file mode 100755 index 00000000..a3cb7d9b --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/backtrace_tweaker.rb @@ -0,0 +1,77 @@ +module Spec + module Runner + class BacktraceTweaker + def initialize(*patterns) + @ignore_patterns = [] + end + + def clean_up_double_slashes(line) + line.gsub!('//','/') + end + + def ignore_patterns(*patterns) + # do nothing. Only QuietBacktraceTweaker ignores patterns. + end + + def ignored_patterns + [] + end + + def tweak_backtrace(error) + return if error.backtrace.nil? + tweaked = error.backtrace.collect do |message| + clean_up_double_slashes(message) + kept_lines = message.split("\n").select do |line| + ignored_patterns.each do |ignore| + break if line =~ ignore + end + end + kept_lines.empty?? nil : kept_lines.join("\n") + end + error.set_backtrace(tweaked.select {|line| line}) + end + end + + class NoisyBacktraceTweaker < BacktraceTweaker + end + + # Tweaks raised Exceptions to mask noisy (unneeded) parts of the backtrace + class QuietBacktraceTweaker < BacktraceTweaker + unless defined?(IGNORE_PATTERNS) + spec_files = Dir["lib/*"].map do |path| + subpath = path[1..-1] + /#{subpath}/ + end + IGNORE_PATTERNS = spec_files + [ + /\/rspec-[^\/]*\/lib\/spec\//, + /\/spork-[^\/]*\/lib\/spork\//, + /\/lib\/ruby\//, + /bin\/spec:/, + /bin\/spork:/, + /bin\/rcov:/, + /lib\/rspec-rails/, + /vendor\/rails/, + # TextMate's Ruby and RSpec plugins + /Ruby\.tmbundle\/Support\/tmruby.rb:/, + /RSpec\.tmbundle\/Support\/lib/, + /temp_textmate\./, + /mock_frameworks\/rspec/, + /spec_server/ + ] + end + + def initialize(*patterns) + super + ignore_patterns(*patterns) + end + + def ignore_patterns(*patterns) + @ignore_patterns += patterns.flatten.map { |pattern| Regexp.new(pattern) } + end + + def ignored_patterns + IGNORE_PATTERNS + @ignore_patterns + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/class_and_arguments_parser.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/class_and_arguments_parser.rb new file mode 100755 index 00000000..a49ade26 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/class_and_arguments_parser.rb @@ -0,0 +1,14 @@ +module Spec + module Runner + class ClassAndArgumentsParser + def self.parse(s) + if s =~ /([a-zA-Z_]+(?:::[a-zA-Z_]+)*):?(.*)/ + arg = $2 == "" ? nil : $2 + [$1, arg] + else + raise "Couldn't parse #{s.inspect}" + end + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/command_line.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/command_line.rb new file mode 100755 index 00000000..35a7e315 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/command_line.rb @@ -0,0 +1,15 @@ +require 'spec/runner/option_parser' + +module Spec + module Runner + class CommandLine + def self.run(tmp_options=Spec::Runner.options) + orig_options = Spec::Runner.options + Spec::Runner.use tmp_options + tmp_options.run_examples + ensure + Spec::Runner.use orig_options + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/configuration.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/configuration.rb new file mode 100755 index 00000000..d211565d --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/configuration.rb @@ -0,0 +1,194 @@ +module Spec + module Runner + class Configuration + include Spec::Example::ArgsAndOptions + + # Chooses what mock framework to use. Example: + # + # Spec::Runner.configure do |config| + # config.mock_with :rspec, :mocha, :flexmock, or :rr + # end + # + # To use any other mock framework, you'll have to provide your own + # adapter. This is simply a module that responds to the following + # methods: + # + # setup_mocks_for_rspec + # verify_mocks_for_rspec + # teardown_mocks_for_rspec. + # + # These are your hooks into the lifecycle of a given example. RSpec will + # call setup_mocks_for_rspec before running anything else in each + # Example. After executing the #after methods, RSpec will then call + # verify_mocks_for_rspec and teardown_mocks_for_rspec (this is + # guaranteed to run even if there are failures in + # verify_mocks_for_rspec). + # + # Once you've defined this module, you can pass that to mock_with: + # + # Spec::Runner.configure do |config| + # config.mock_with MyMockFrameworkAdapter + # end + # + def mock_with(mock_framework) + @mock_framework = case mock_framework + when Symbol + mock_framework_path(mock_framework.to_s) + else + mock_framework + end + end + + def mock_framework # :nodoc: + @mock_framework ||= mock_framework_path("rspec") + end + + # :call-seq: + # include(Some::Helpers) + # include(Some::Helpers, More::Helpers) + # include(My::Helpers, :type => :key) + # + # Declares modules to be included in multiple example groups + # (describe blocks). With no :type, the modules listed + # will be included in all example groups. + # + # Use :type to restrict + # the inclusion to a subset of example groups. The value assigned to + # :type should be a key that maps to a class that is either a + # subclass of Spec::Example::ExampleGroup or extends + # Spec::Example::ExampleGroupMethods and includes + # Spec::Example::ExampleMethods. + # + # For example, the rspec-rails gem/plugin extends Test::Unit::TestCase + # with Spec::Example::ExampleGroupMethods and includes + # Spec::Example::ExampleMethods in it. So if you have a module of helper + # methods for controller examples, you could do this: + # + # config.include(ControllerExampleHelpers, :type => :controller) + # + # Only example groups that have that type will get the modules included: + # + # describe Account, :type => :model do + # # Will *not* include ControllerExampleHelpers + # end + # + # describe AccountsController, :type => :controller do + # # *Will* include ControllerExampleHelpers + # end + # + def include(*modules_and_options) + include_or_extend(:include, *modules_and_options) + end + + # :call-seq: + # extend(Some::Helpers) + # extend(Some::Helpers, More::Helpers) + # extend(My::Helpers, :type => :key) + # + # Works just like #include, but extends the example groups + # with the modules rather than including them. + def extend(*modules_and_options) + include_or_extend(:extend, *modules_and_options) + end + + # Appends a global before block to all example groups. + # scope can be any of :each (default), :all, or + # :suite. When :each, the block is executed before each + # example. When :all, the block is executed once per example + # group, before any of its examples are run. When :suite the + # block is run once before the entire suite is run. + def append_before(scope = :each, options={}, &proc) + add_callback(:append_before, scope, options, &proc) + end + alias_method :before, :append_before + + # Prepends a global before block to all example groups. + # + # See append_before for scoping semantics. + def prepend_before(scope = :each, options={}, &proc) + add_callback(:prepend_before, scope, options, &proc) + end + + # Prepends a global after block to all example groups. + # + # See append_before for scoping semantics. + def prepend_after(scope = :each, options={}, &proc) + add_callback(:prepend_after, scope, options, &proc) + end + alias_method :after, :prepend_after + + # Appends a global after block to all example groups. + # + # See append_before for scoping semantics. + def append_after(scope = :each, options={}, &proc) + add_callback(:append_after, scope, options, &proc) + end + + # DEPRECATED - use Spec::Matchers::DSL instead + # + # Defines global predicate matchers. Example: + # + # config.predicate_matchers[:swim] = :can_swim? + # + # This makes it possible to say: + # + # person.should swim # passes if person.can_swim? returns true + # + def predicate_matchers + @predicate_matchers ||= Spec::HashWithDeprecationNotice.new("predicate_matchers", "the new Matcher DSL") + end + + # Adds patterns to the list of patterns ignored in the backtrace when a + # failure is output by rspec. Example: + # + # config.ignore_backtrace_patterns /spork/, /shoulda/, "/some/weird/path/" + # + # When quiet backtraces are turned on (default), this will exclude any + # lines that match any of the Regexps and Strings passed. + # + def ignore_backtrace_patterns(*patterns) + @ignored_backtrace_patterns ||= [] + @ignored_backtrace_patterns += patterns + end + + def ignored_backtrace_patterns # :nodoc: + @ignored_backtrace_patterns ||= [] + end + + private + + def include_or_extend(action, *args) + modules, options = args_and_options(*args) + [get_type_from_options(options)].flatten.each do |required_example_group| + required_example_group = required_example_group.to_sym if required_example_group + modules.each do |mod| + Spec::Example::ExampleGroupFactory[required_example_group].__send__(action, mod) + end + end + end + + def add_callback(sym, *args, &proc) + scope, options = scope_and_options(*args) + example_group = Spec::Example::ExampleGroupFactory[get_type_from_options(options)] + example_group.__send__(sym, scope, &proc) + end + + def get_type_from_options(options) + options[:type] || options[:behaviour_type] + end + + def mock_framework_path(framework_name) + "spec/adapters/mock_frameworks/#{framework_name}" + end + + def scope_and_options(*args) # :nodoc: + args, options = args_and_options(*args) + return scope_from(*args), options + end + + def scope_from(*args) # :nodoc: + args[0] || :each + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/differs/default.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/differs/default.rb new file mode 100755 index 00000000..7f0a7e64 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/differs/default.rb @@ -0,0 +1,93 @@ +require 'spec/runner/differs/load-diff-lcs' +require 'pp' + +module Spec + module Expectations + module Differs + unless defined?(Default) + class Default + def initialize(options) + @options = options + end + + # This is snagged from diff/lcs/ldiff.rb (which is a commandline tool) + def diff_as_string(data_new, data_old) + data_old = data_old.split(/\n/).map! { |e| e.chomp } + data_new = data_new.split(/\n/).map! { |e| e.chomp } + output = "" + diffs = Diff::LCS.diff(data_old, data_new) + return output if diffs.empty? + oldhunk = hunk = nil + file_length_difference = 0 + diffs.each do |piece| + begin + hunk = Diff::LCS::Hunk.new(data_old, data_new, piece, context_lines, + file_length_difference) + file_length_difference = hunk.file_length_difference + next unless oldhunk + # Hunks may overlap, which is why we need to be careful when our + # diff includes lines of context. Otherwise, we might print + # redundant lines. + if (context_lines > 0) and hunk.overlaps?(oldhunk) + hunk.unshift(oldhunk) + else + output << oldhunk.diff(format) + end + ensure + oldhunk = hunk + output << "\n" + end + end + #Handle the last remaining hunk + output << oldhunk.diff(format) << "\n" + end + + def diff_as_object(target,expected) + diff_as_string(PP.pp(target,""), PP.pp(expected,"")) + end + + def diff_as_hash(target, expected) + contains_hash = false + contains_array = false + + extra_expected_keys = expected.keys - target.keys + extra_target_keys = target.keys - expected.keys + + o = "\n" + + o << "Expected hash contains keys that target hash does not: " << extra_expected_keys.inspect << "\n" if !extra_expected_keys.empty? + o << "Target hash contains keys that expected hash does not: " << extra_target_keys.inspect << "\n" if !extra_target_keys.empty? + + expected.delete_if do |key, value| + contains_hash = true if value.is_a?(Hash) + contains_array = true if value.is_a?(Array) + target[key] == value + end + + expected.keys.sort { |a,b| a.to_s <=> b.to_s }.each do |key| + o << "Expected the key #{key.inspect} to be #{expected[key].inspect}, but was #{target[key].inspect}\n" + end + + o << "\n" + + if contains_hash || contains_array + o << diff_as_object(target, expected) + else + o + end + end + + protected + def format + @options.diff_format + end + + def context_lines + @options.context_lines + end + end + + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/differs/load-diff-lcs.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/differs/load-diff-lcs.rb new file mode 100755 index 00000000..f708bc9b --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/differs/load-diff-lcs.rb @@ -0,0 +1,12 @@ +begin + require 'diff/lcs' +rescue LoadError + begin + require 'rubygems' unless ENV['NO_RUBYGEMS'] + require 'diff/lcs' + rescue LoadError + raise "You must gem install diff-lcs to use diffing" + end +end + +require 'diff/lcs/hunk' diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/drb_command_line.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/drb_command_line.rb new file mode 100755 index 00000000..058a8e1d --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/drb_command_line.rb @@ -0,0 +1,26 @@ +require "drb/drb" + +module Spec + module Runner + # Facade to run specs by connecting to a DRB server + class DrbCommandLine + # Runs specs on a DRB server. Note that this API is similar to that of + # CommandLine - making it possible for clients to use both interchangeably. + def self.run(options) + begin + begin; \ + DRb.start_service("druby://localhost:0"); \ + rescue SocketError; \ + DRb.start_service("druby://:0"); \ + end + spec_server = DRbObject.new_with_uri("druby://127.0.0.1:8989") + spec_server.run(options.argv, options.error_stream, options.output_stream) + true + rescue DRb::DRbConnError + options.error_stream.puts "No server is running" + false + end + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/example_group_runner.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/example_group_runner.rb new file mode 100755 index 00000000..67dc9950 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/example_group_runner.rb @@ -0,0 +1,59 @@ +module Spec + module Runner + class ExampleGroupRunner + def initialize(options) + @options = options + end + + def load_files(files) + $KCODE = 'u' if RUBY_VERSION.to_f < 1.9 + # It's important that loading files (or choosing not to) stays the + # responsibility of the ExampleGroupRunner. Some implementations (like) + # the one using DRb may choose *not* to load files, but instead tell + # someone else to do it over the wire. + files.each do |file| + load file + end + end + + def run + prepare + success = true + example_groups.each do |example_group| + success = success & example_group.run(@options) + end + return success + ensure + finish + end + + protected + + def prepare + reporter.start(number_of_examples) + example_groups.reverse! if reverse + end + + def finish + reporter.end + reporter.dump + end + + def reporter + @options.reporter + end + + def reverse + @options.reverse + end + + def example_groups + @options.example_groups + end + + def number_of_examples + @options.number_of_examples + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/extensions/kernel.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/extensions/kernel.rb new file mode 100755 index 00000000..4e23cdf2 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/extensions/kernel.rb @@ -0,0 +1,9 @@ +module Kernel + unless respond_to?(:debugger) + # Start a debugging session if ruby-debug is loaded with the -u/--debugger option + def debugger(steps=1) + # If not then just comment and proceed + $stderr.puts "debugger statement ignored, use -u or --debugger option on rspec to enable debugging" + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/formatter/base_formatter.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/formatter/base_formatter.rb new file mode 100755 index 00000000..0fbc12ce --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/formatter/base_formatter.rb @@ -0,0 +1,139 @@ +module Spec + module Runner + module Formatter + # Formatter base-class, which implements all required methods as no-ops, with the exception + class BaseFormatter + # Formatters are initialized with options and output + # arguments. RSpec's built-in formatters already expect this, and any + # custom formatters should as well. + # + # ==== Parameters + # options:: + # A struct containing boolean values for colour, autospec, + # and dry_run + # output:: + # Used by RSpec's built-in formatters to determine where to + # write the output. Default is STDOUT, otherwise a + # filename is expected. + # + # === Example + # If you invoke the spec command with: + # + # --format progress:progress_report.txt + # + # ... the value of output will be progress_report.txt. If you + # don't identify an output destination, the default is STDOUT. + def initialize(options, output) + end + + # This method is invoked before any examples are run, right after + # they have all been collected. This can be useful for special + # formatters that need to provide progress on feedback (graphical ones) + # + # This method will only be invoked once, and the next one to be invoked + # is #example_group_started + # + # ==== Parameters + # example_count:: the total number of examples to be run + def start(example_count) + end + + # This method is invoked at the beginning of the execution of each + # example_group. The next method to be invoked after this is + # #example_started + # + # ==== Parameters + # example_group_proxy:: instance of Spec::Example::ExampleGroupProxy + def example_group_started(example_group_proxy) + end + + # Deprecated - use example_group_started instead + def add_example_group(example_group_proxy) + Spec.deprecate("BaseFormatter#add_example_group", "BaseFormatter#example_group_started") + example_group_started(example_group_proxy) + end + + # This method is invoked when an +example+ starts. The next method to be + # invoked after this is #example_passed, #example_failed, or + # #example_pending + # + # ==== Parameters + # example_proxy:: instance of Spec::Example::ExampleProxy + def example_started(example_proxy) + end + + # This method is invoked when an +example+ passes. + # +example_proxy+ is the same instance of Spec::Example::ExampleProxy + # that was passed to example_started + # + # ==== Parameters + # example_proxy:: instance of Spec::Example::ExampleProxy + def example_passed(example_proxy) + end + + # This method is invoked when an +example+ fails, i.e. an exception occurred + # inside it (such as a failed should or other exception). + # + # ==== Parameters + # example_proxy:: + # The same instance of Spec::Example::ExampleProxy that was passed + # to example_started + # + # counter:: the sequential number of this failure + # + # failure:: instance of Spec::Runner::Reporter::Failure + def example_failed(example_proxy, counter, failure) + end + + # This method is invoked when an example is not yet implemented (i.e. has not + # been provided a block), or when an ExamplePendingError is raised. + # +message+ is the message from the ExamplePendingError, if it exists, or the + # default value of "Not Yet Implemented". +deprecated_pending_location+ is + # deprecated - use example_proxy.location instead + # + # ==== Parameters + # example_proxy:: instance of Spec::Example::ExampleProxy + # message:: + # the message passed to the pending message, or an internal + # default + # + def example_pending(example_proxy, message, deprecated_pending_location=nil) + end + + # This method is invoked after all of the examples have executed. The next method + # to be invoked after this one is #dump_failure (once for each failed example) + def start_dump + end + + # Dumps detailed information about an example failure. + # This method is invoked for each failed example after all examples have run. +counter+ is the sequence number + # of the associated example. +failure+ is a Failure object, which contains detailed + # information about the failure. + # + # ==== Parameters + # counter:: the sequential number of this failure + # failure:: instance of Spec::Runner::Reporter::Failure + def dump_failure(counter, failure) + end + + # This method is invoked after the dumping of examples and failures. + # + # ==== Parameters + # duration:: the total time for the entire run + # example_count:: the number of examples run + # failure_count:: the number of examples that failed + # pending_count:: the number of examples that are pending + def dump_summary(duration, example_count, failure_count, pending_count) + end + + # This gets invoked after the summary + def dump_pending + end + + # This method is invoked at the very end. Allows the formatter to clean up, like closing open streams. + def close + end + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/formatter/base_text_formatter.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/formatter/base_text_formatter.rb new file mode 100755 index 00000000..ee8db75a --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/formatter/base_text_formatter.rb @@ -0,0 +1,142 @@ +require 'spec/runner/formatter/base_formatter' +require 'fileutils' + +module Spec + module Runner + module Formatter + # Baseclass for text-based formatters. Can in fact be used for + # non-text based ones too - just ignore the +output+ constructor + # argument. + class BaseTextFormatter < BaseFormatter + attr_reader :output, :example_group + # Creates a new instance that will write to +output+. If +output+ is a + # String, output will be written to the File with that name, otherwise + # +output+ is exected to be an IO (or an object that responds to #puts + # and #write). + def initialize(options, output) + @options = options + if String === output + FileUtils.mkdir_p(File.dirname(output)) + @output = File.open(output, 'w') + else + @output = output + end + @pending_examples = [] + end + + def example_group_started(example_group_proxy) + @example_group = example_group_proxy + end + + def example_pending(example, message, deprecated_pending_location=nil) + @pending_examples << ["#{@example_group.description} #{example.description}", message, example.location] + end + + def dump_failure(counter, failure) + @output.puts + @output.puts "#{counter.to_s})" + @output.puts colorize_failure("#{failure.header}\n#{failure.exception.message}", failure) + @output.puts format_backtrace(failure.exception.backtrace) + @output.flush + end + + def colorize_failure(message, failure) + failure.pending_fixed? ? blue(message) : red(message) + end + + def colourise(message, failure) + Spec::deprecate("BaseTextFormatter#colourise", "colorize_failure") + colorize_failure(message, failure) + end + + def dump_summary(duration, example_count, failure_count, pending_count) + return if dry_run? + @output.puts + @output.puts "Finished in #{duration} seconds" + @output.puts + + summary = "#{example_count} example#{'s' unless example_count == 1}, #{failure_count} failure#{'s' unless failure_count == 1}" + summary << ", #{pending_count} pending" if pending_count > 0 + + if failure_count == 0 + if pending_count > 0 + @output.puts yellow(summary) + else + @output.puts green(summary) + end + else + @output.puts red(summary) + end + @output.flush + end + + def dump_pending + unless @pending_examples.empty? + @output.puts + @output.puts "Pending:" + @pending_examples.each do |pending_example| + @output.puts "\n#{pending_example[0]} (#{pending_example[1]})" + @output.puts "#{pending_example[2]}\n" + end + end + @output.flush + end + + def close + @output.close if (IO === @output) & (@output != $stdout) + end + + def format_backtrace(backtrace) + return "" if backtrace.nil? + backtrace.map { |line| backtrace_line(line) }.join("\n") + end + + protected + + def colour? + !!@options.colour + end + + def dry_run? + !!@options.dry_run + end + + def autospec? + !!@options.autospec || ENV.has_key?("AUTOTEST") + end + + def backtrace_line(line) + line.sub(/\A([^:]+:\d+)$/, '\\1:') + end + + def colour(text, colour_code) + return text if output_to_file? + return text unless ENV['RSPEC_COLOR'] || (colour? & (autospec? || output_to_tty?)) + "#{colour_code}#{text}\e[0m" + end + + def output_to_file? + File === @output + end + + def output_to_tty? + begin + @output.tty? + rescue NoMethodError + false + end + end + + def green(text); colour(text, "\e[32m"); end + def red(text); colour(text, "\e[31m"); end + def yellow(text); colour(text, "\e[33m"); end + def blue(text); colour(text, "\e[34m"); end + + def magenta(text) + Spec::deprecate("BaseTextFormatter#magenta") + red(text) + end + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/formatter/failing_example_groups_formatter.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/formatter/failing_example_groups_formatter.rb new file mode 100755 index 00000000..31729438 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/formatter/failing_example_groups_formatter.rb @@ -0,0 +1,25 @@ +require 'spec/runner/formatter/base_text_formatter' + +module Spec + module Runner + module Formatter + class FailingExampleGroupsFormatter < BaseTextFormatter + def example_failed(example, counter, failure) + if @example_group + @output.puts @example_group.description.gsub(/ \(druby.*\)/,"") + + @output.flush + @example_group = nil + end + end + + def dump_failure(counter, failure) + end + + def dump_summary(duration, example_count, failure_count, pending_count) + end + + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/formatter/failing_examples_formatter.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/formatter/failing_examples_formatter.rb new file mode 100755 index 00000000..e3a271c8 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/formatter/failing_examples_formatter.rb @@ -0,0 +1,20 @@ +require 'spec/runner/formatter/base_text_formatter' + +module Spec + module Runner + module Formatter + class FailingExamplesFormatter < BaseTextFormatter + def example_failed(example, counter, failure) + @output.puts "#{example_group.description} #{example.description}" + @output.flush + end + + def dump_failure(counter, failure) + end + + def dump_summary(duration, example_count, failure_count, pending_count) + end + end + end + end +end diff --git a/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/formatter/html_formatter.rb b/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/formatter/html_formatter.rb new file mode 100755 index 00000000..2d0c65d1 --- /dev/null +++ b/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/formatter/html_formatter.rb @@ -0,0 +1,338 @@ +require 'erb' +require 'spec/runner/formatter/base_text_formatter' +require 'spec/runner/formatter/no_op_method_missing' + +module Spec + module Runner + module Formatter + class HtmlFormatter < BaseTextFormatter + include ERB::Util # for the #h method + include NOOPMethodMissing + + def initialize(options, output) + super + @example_group_number = 0 + @example_number = 0 + @header_red = nil + end + + # The number of the currently running example_group + def example_group_number + @example_group_number + end + + # The number of the currently running example (a global counter) + def example_number + @example_number + end + + def start(example_count) + @example_count = example_count + + @output.puts html_header + @output.puts report_header + @output.flush + end + + def example_group_started(example_group) + super + @example_group_red = false + @example_group_number += 1 + unless example_group_number == 1 + @output.puts "