sdoc-1.1.0/0000755000004100000410000000000013641340555012477 5ustar www-datawww-datasdoc-1.1.0/.travis.yml0000644000004100000410000000107013641340555014606 0ustar www-datawww-datalanguage: ruby cache: bundler before_install: - gem update --system - gem install bundler rvm: - 1.9.3 - 2.0.0 - 2.1.0 - 2.2.10 - 2.3.7 - 2.4.4 - 2.5.1 - ruby-head - jruby-head matrix: allow_failures: - env: rdoc=master - rvm: jruby-head include: - { rvm: 2.2.10, env: rdoc=master } - { rvm: 2.3.7, env: rdoc=master } - { rvm: 2.4.4, env: rdoc=master } - { rvm: 2.5.1, env: rdoc=master } - { rvm: ruby-head, env: rdoc=master } - { rvm: jruby-head, env: rdoc=master } notifications: email: - mail@zzak.io sdoc-1.1.0/README.md0000644000004100000410000000637013641340555013764 0ustar www-datawww-data# SDoc [![Build Status](https://travis-ci.org/zzak/sdoc.svg?branch=master)](https://travis-ci.org/zzak/sdoc) **Powering http://api.rubyonrails.org/** ### What is sdoc? SDoc is an HTML template built on top of the RDoc documentation generator for Ruby code. Provided are two command-line tools you get when you installing the gem: * `sdoc` - command line tool to run rdoc with `generator=shtml` (searchable HTML) * `sdoc-merge` - command line tool to merge multiple sdoc folders into a single documentation site ### Getting Started ```bash # Install the gem gem install sdoc # Generate documentation for 'projectdir' sdoc projectdir ``` ### sdoc `sdoc` is simply a wrapper for the `rdoc` command line tool. See `sdoc --help` for more details. When using the `sdoc` command, `--fmt` is set to `shtml` by default. The default template (or `-T` option) is set to `shtml`, but you can also use the `direct` template when generating documentation. Example: ```bash sdoc -o doc/rails -T direct rails ``` ### sdoc-merge `sdoc-merge` is useful tool for combining multiple projects documentation into one HTML website. See `sdoc-merge --help` for more details. ``` 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: ```bash sdoc-merge --title "Ruby v1.9, Rails v2.3.2.1" --op merged --names "Ruby,Rails" ruby-v1.9 rails-v2.3.2.1 ``` ### Rake Task If you want, you can setup a task in your `Rakefile` for generating your project's documentation via the `rake rdoc` command. ```ruby # Rakefile require 'sdoc' # and use your RDoc task the same way you used it before require 'rdoc/task' # ensure this file is also required in order to use `RDoc::Task` RDoc::Task.new do |rdoc| rdoc.rdoc_dir = 'doc/rdoc' # name of output directory rdoc.options << '--format=sdoc' # explictly set the sdoc generator rdoc.template = 'rails' # template used on api.rubyonrails.org end ``` NOTE: If you don't set `template` the default "sdoc" template is chosen, with a lighter color scheme. Now you can execute this command with `rake rdoc`, to compile the documentation for the current project directory. Alternatively you can pass this command a path to the project you wish to compile: `rake rdoc path/to/project`. ### RDoc As mentioned before, SDoc is built on top of the RDoc project. If you notice any bugs in the output of your documentation, it may be RDoc's fault and should be [reported upstream](https://github.com/ruby/rdoc/issues/new). An example of an SDoc bug would be: * Exception is raised when merging project documentation (ala `sdoc-merge`) * Error or warning in JavaScript or HTML found in your browser * Generation fails with some exception (likely due to incompatibility with RDoc) Please feel free to still report issues here for both projects, especially if you aren't sure. As maintainer of both projects, I'll see if I can identify the root of the cause :bow: :bow: :bow: ### Who? * Vladimir Kolesnikov ([voloko](https://github.com/voloko)) * Nathan Broadbent ([ndbroadbent](https://github.com/ndbroadbent)) * Zachary Scott ([zzak](https://github.com/zzak)) sdoc-1.1.0/sdoc.gemspec0000644000004100000410000000170613641340555015000 0ustar www-datawww-data# -*- encoding: utf-8 -*- $:.push File.expand_path("../lib", __FILE__) require 'sdoc/version' Gem::Specification.new do |s| s.name = "sdoc" s.version = SDoc::VERSION s.authors = ["Vladimir Kolesnikov", "Nathan Broadbent", "Jean Mertz", "Zachary Scott"] s.description = %q{rdoc generator html with javascript search index.} s.summary = %q{rdoc html with javascript search index.} s.homepage = %q{https://github.com/zzak/sdoc} s.email = %q{voloko@gmail.com mail@zzak.io} s.license = 'MIT' s.require_path = 'lib' s.required_ruby_version = Gem::Requirement.new('>= 1.9.3') s.required_rubygems_version = Gem::Requirement.new(">= 1.3.6") if s.respond_to? :required_rubygems_version= s.rdoc_options = ["--charset=UTF-8"] s.extra_rdoc_files = ["README.md"] s.add_runtime_dependency("rdoc", ">= 5.0") s.files = `git ls-files`.split("\n") s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) } end sdoc-1.1.0/bin/0000755000004100000410000000000013641340555013247 5ustar www-datawww-datasdoc-1.1.0/bin/sdoc0000755000004100000410000000111613641340555014124 0ustar www-datawww-data#!/usr/bin/env ruby require 'sdoc' begin ARGV.unshift('--format=sdoc') if ARGV.grep(/\A(-f|--fmt|--format|-r|-R|--ri|--ri-site)\b/).empty? r = RDoc::RDoc.new r.document ARGV rescue SystemExit raise rescue Exception => e if $DEBUG_RDOC then $stderr.puts e.message $stderr.puts "#{e.backtrace.join "\n\t"}" $stderr.puts elsif Interrupt === e then $stderr.puts $stderr.puts 'Interrupted' else $stderr.puts "uh-oh! RDoc had a problem:" $stderr.puts e.message $stderr.puts $stderr.puts "run with --debug for full backtrace" end exit 1 end sdoc-1.1.0/bin/sdoc-merge0000755000004100000410000000075513641340555015231 0ustar www-datawww-data#!/usr/bin/env ruby require File.dirname(__FILE__) + '/../lib/sdoc' # add extensions require 'sdoc/merge' begin m = SDoc::Merge.new m.merge(ARGV) rescue SystemExit raise rescue Exception => e if $DEBUG_RDOC then $stderr.puts e.message $stderr.puts "#{e.backtrace.join "\n\t"}" $stderr.puts elsif Interrupt === e then $stderr.puts $stderr.puts 'Interrupted' else $stderr.puts "uh-oh! SDoc merge had a problem:" $stderr.puts e.message end exit 1 end sdoc-1.1.0/spec/0000755000004100000410000000000013641340555013431 5ustar www-datawww-datasdoc-1.1.0/spec/helpers_spec.rb0000644000004100000410000000225013641340555016431 0ustar www-datawww-datarequire "spec_helper" describe SDoc::Helpers do before :each do @helpers = Class.new do include SDoc::Helpers end.new end describe "#strip_tags" do it "should strip out HTML tags from the given string" do strings = [ [ %(Hello world), "Hello world" ], [ %(Streams are great), "Streams are great" ], [ %(zzak/sdoc Standalone), "zzak/sdoc Standalone" ], [ %(

AR Cb

), "AR Cb" ], [ %(Base), "Base" ], [ %(Some
\ntext), "Some\ntext" ] ] strings.each do |(html, stripped)| @helpers.strip_tags(html).must_equal stripped end end end describe "#truncate" do it "should truncate the given text around a given length" do @helpers.truncate("Hello world", length: 5).must_equal "Hello." end end end sdoc-1.1.0/spec/rdoc_generator_spec.rb0000644000004100000410000000214713641340555017771 0ustar www-datawww-datarequire File.join(File.dirname(__FILE__), '/spec_helper') describe RDoc::Generator::SDoc do before :each do @options = RDoc::Options.new @options.setup_generator 'sdoc' @parser = @options.option_parser end it "should find sdoc generator" do RDoc::RDoc::GENERATORS.must_include 'sdoc' end it "should use sdoc generator" do @options.generator.must_equal RDoc::Generator::SDoc @options.generator_name.must_equal 'sdoc' end it "should parse github option" do assert !@options.github _, err = capture_io do @parser.parse %w[--github] end err.wont_match(/^invalid options/) @options.github.must_equal true end it "should parse github short-hand option" do assert !@options.github _, err = capture_io do @parser.parse %w[-g] end err.wont_match(/^invalid options/) @options.github.must_equal true end it "should display SDoc version on -v or --version" do out_full = `./bin/sdoc --version` out_short = `./bin/sdoc -v` out_short.strip.must_equal SDoc::VERSION out_full.strip.must_equal SDoc::VERSION end end sdoc-1.1.0/spec/spec_helper.rb0000644000004100000410000000010413641340555016242 0ustar www-datawww-datarequire 'bundler/setup' require 'sdoc' require 'minitest/autorun' sdoc-1.1.0/CHANGELOG.md0000644000004100000410000000265613641340555014321 0ustar www-datawww-data1.1.0 ===== * #138 - Fix panel header overflow on Chrome * 39e6cae9 - Display version using `-v` or `--version` flags 1.0.0 ===== * #110 - Strip out HTML tags from search results description * #109 - Add basic SEO tags * #108 - Tiny refresh of the Rails theme * e6f02b91 - Remove the jQuery effect library * 73ace366 - Remove the `--without-search` option * b1d429f2 - Produce HTML 5 output * 38d06095 - Support only RDoc 5 and up * #96 - Require at least Ruby 1.9.3 0.4.2 ===== [Compare v0.4.1...v0.4.2](https://github.com/voloko/sdoc/compare/v0.4.1...v0.4.2) 0.4.1 ===== [Compare v0.4.0...v0.4.1](https://github.com/voloko/sdoc/compare/v0.4.0...v0.4.1) Breaking Changes ---------------- None. Enhancements ------------ - 65e46cb2 Unordered lists inside ordered ones render ordered - SDoc::VERSION - 2fe1a7b8 Move version to separate file, remove require_relative from gemspec - 97e1eda8 Push ./lib to $LOAD_PATH for require SDoc::VERSION - ad0a7e1e Initialize SDoc namespace in main file Bug Fixes --------- - 926ff732 Remove redundany < 5.0 from rdoc dependency specification - db99e402 Remove code tags styling under pre elements - a1d7e211 Follow up of #68 - bffc93ef Relax JSON dependency to ~> 1.7, >= 1.7.7 - 404dceb9 GH-72: Extra `

` tags appear in results snippet 0.4.0 ===== [Compare v0.3.20...v0.4.0](https://github.com/voloko/sdoc/compare/v0.3.20...v0.4.0) No friendly log for this version yet, but PRs are welcome! sdoc-1.1.0/.gitignore0000644000004100000410000000011113641340555014460 0ustar www-datawww-data*.gem .bundle pkg doc /test.rb Gemfile.lock /.rake_tasks~ /*.gem /rails/ sdoc-1.1.0/LICENSE0000644000004100000410000001204613641340555013507 0ustar www-datawww-dataCopyright (c) 2014 Vladimir Kolesnikov, and Nathan Broadbent Copyright (c) 2014-2017 Zachary Scott 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. Darkfish RDoc HTML Generator Copyright (c) 2007, 2008, Michael Granger. 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/s, nor the names of the project's 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. RDoc is copyrighted free software. You can redistribute it and/or modify it under either the terms of the GPL version 2 (see the file GPL), or the conditions below: 1. You may make and give away verbatim copies of the source form of the software without restriction, provided that you duplicate all of the original copyright notices and associated disclaimers. 2. You may modify your copy of the software in any way, provided that you do at least ONE of the following: a) place your modifications in the Public Domain or otherwise make them Freely Available, such as by posting said modifications to Usenet or an equivalent medium, or by allowing the author to include your modifications in the software. b) use the modified software only within your corporation or organization. c) give non-standard binaries non-standard names, with instructions on where to get the original software distribution. d) make other distribution arrangements with the author. 3. You may distribute the software in object code or binary form, provided that you do at least ONE of the following: a) distribute the binaries and library files of the software, together with instructions (in the manual page or equivalent) on where to get the original distribution. b) accompany the distribution with the machine-readable source of the software. c) give non-standard binaries non-standard names, with instructions on where to get the original software distribution. d) make other distribution arrangements with the author. 4. You may modify and include the part of the software into any other software (possibly commercial). But some files in the distribution are not written by the author, so that they are not under these terms. For the list of those files and their copying conditions, see the file LEGAL. 5. The scripts and library files supplied as input to or produced as output from the software do not automatically fall under the copyright of the software, but belong to whomever generated them, and may be sold commercially, and may be aggregated with this software. 6. THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. sdoc-1.1.0/Rakefile0000644000004100000410000000107113641340555014143 0ustar www-datawww-datarequire 'bundler' Bundler::GemHelper.install_tasks require 'rake/testtask' Rake::TestTask.new do |t| t.pattern = "spec/*_spec.rb" t.libs << "spec" end task :default => :test task :spec => :test require 'sdoc' require 'rdoc/task' rails = File.expand_path "rails" directory rails do sh "git clone --depth=1 https://github.com/rails/rails" end namespace :test do task :rails => rails RDoc::Task.new(:rails) do |rdoc| rdoc.rdoc_dir = 'doc/rails' rdoc.generator = 'sdoc' rdoc.template = 'rails' rdoc.rdoc_files.include("rails/") end end sdoc-1.1.0/lib/0000755000004100000410000000000013641340555013245 5ustar www-datawww-datasdoc-1.1.0/lib/sdoc/0000755000004100000410000000000013641340555014175 5ustar www-datawww-datasdoc-1.1.0/lib/sdoc/version.rb0000644000004100000410000000004413641340555016205 0ustar www-datawww-datamodule SDoc VERSION = '1.1.0' end sdoc-1.1.0/lib/sdoc/github.rb0000644000004100000410000000267613641340555016017 0ustar www-datawww-datamodule SDoc::GitHub def github_url(path) return false unless have_git? unless @github_url_cache.has_key? path @github_url_cache[path] = false file = @store.find_file_named(path) if file base_url = repository_url(path) if base_url relative_url = path_relative_to_repository(path) @github_url_cache[path] = "#{base_url}#{last_commit_sha1}#{relative_url}" end end end @github_url_cache[path] end protected def have_git? @have_git = system('git --version > /dev/null 2>&1') if @have_git.nil? @have_git end def last_commit_sha1 return @sha1 if defined?(@sha1) @sha1 = Dir.chdir(base_dir) do `git rev-parse HEAD`.chomp end end def repository_url(path) return @repository_url if defined?(@repository_url) s = Dir.chdir(File.join(base_dir, File.dirname(path))) do `git config --get remote.origin.url` end m = s.match(%r{github.com[/:](.*)\.git$}) @repository_url = m ? "https://github.com/#{m[1]}/blob/" : false end def path_relative_to_repository(path) absolute_path = File.join(base_dir, 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 end sdoc-1.1.0/lib/sdoc/merge.rb0000644000004100000410000001355313641340555015630 0ustar www-datawww-datarequire '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 = [] 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", "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 @template_dir = Pathname.new(RDoc::Options.new.template_dir_for 'merge') @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::SDoc::TREE_FILE data = open(filename).read.sub(/var tree =\s*/, '') subtree = JSON.parse(data, :max_nesting => 0) item = [ name, url + '/' + extract_index_path(dir), '', append_path(subtree, url) ] tree << item end dst = File.join @op_dir, RDoc::Generator::SDoc::TREE_FILE FileUtils.mkdir_p File.dirname(dst) File.open(dst, "w", 0644) do |f| f.write('var tree = '); f.write(tree.to_json(:max_nesting => 0)) 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::SDoc::SEARCH_INDEX_FILE data = open(filename).read.sub(/var search_data =\s*/, '') subindex = JSON.parse(data, :max_nesting => 0) @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::SDoc::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(:max_nesting => 0)) 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::SDoc::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::SDoc::FILE_DIR && item != RDoc::Generator::SDoc::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} already 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::SDoc::TREE_FILE)) && File.exists?(File.join(dir, RDoc::Generator::SDoc::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 sdoc-1.1.0/lib/sdoc/helpers.rb0000644000004100000410000000222413641340555016164 0ustar www-datawww-datamodule 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 # Strips out HTML tags from a given string. # # Example: # # strip_tags("Hello world") => "Hello world" def strip_tags(text) text.gsub(%r{]+?>}, "") end # Truncates a given string. It tries to take whole sentences to have # a meaningful description for SEO tags. # # The only available option is +:length+ which defaults to 200. def truncate(text, options = {}) if text length = options.fetch(:length, 200) stop = text.rindex(".", length - 1) || length "#{text[0, stop]}." end end protected def group_name name if match = name.match(/^([a-z])/i) match[1].upcase else '#' end end end sdoc-1.1.0/lib/sdoc/templatable.rb0000644000004100000410000000410213641340555017011 0ustar www-datawww-datarequire 'erb' 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 templatefile = @template_dir + template_name eval("#{source};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 sdoc-1.1.0/lib/rdoc/generator/template/sdoc/resources/0000755000004100000410000000000013641340555022737 5ustar www-datawww-datasdoc-1.1.0/lib/rdoc/generator/template/sdoc/resources/i/0000755000004100000410000000000013641340555023167 5ustar www-datawww-datasdoc-1.1.0/lib/rdoc/generator/template/sdoc/resources/i/results_bg.png0000644000004100000410000000127013641340555026046 0ustar www-datawww-dataPNG  IHDRd9sBIT|d pHYs B4tEXtSoftwareAdobe Fireworks CS3FtEXtCreation Time3/12/092aHIDATxA 0CKh=3@A :t0` @A :t0` @A :t0` @A :t0` @A :t0` @A :t0``U؂uIENDB`sdoc-1.1.0/lib/rdoc/generator/template/sdoc/resources/i/tree_bg.png0000644000004100000410000000031713641340555025305 0ustar www-datawww-dataPNG  IHDR.sBIT|d pHYstEXtSoftwareAdobe Fireworks CS3FtEXtCreation Time3/14/09Y>(IDAT(c4.0*81;G #\HvX OάIENDB`sdoc-1.1.0/lib/rdoc/generator/template/sdoc/resources/i/arrows.png0000644000004100000410000000073513641340555025217 0ustar www-datawww-dataPNG  IHDR[sBIT|d pHYs B4tEXtSoftwareAdobe Fireworks CS3FtEXtCreation Time3/14/09Y>6IDAT8q0EzR@: f;n͐ Nt`*lي/_͗$2,W$kw_DNR-3I{% BMtNqf֌Z='x6'isu\3cah1S-nPBQi m{B&9K/2w?ӆ5먪-(~ZY@uUUwnϲph#S-r@|`._J{n!w.sfј_9pC/ֱ$MrOK0e$IENDB`sdoc-1.1.0/lib/rdoc/generator/template/sdoc/resources/css/0000755000004100000410000000000013641340555023527 5ustar www-datawww-datasdoc-1.1.0/lib/rdoc/generator/template/sdoc/resources/css/github.css0000644000004100000410000000276613641340555025536 0ustar www-datawww-data/* github.com style (c) Vasily Polovnyov */ pre .comment, pre .template_comment, pre .diff .header, pre .javadoc { color: #998; font-style: italic } pre .keyword, pre .css .rule .keyword, pre .winutils, pre .javascript .title, pre .lisp .title, pre .subst { color: #000; font-weight: bold } pre .number, pre .hexcolor { color: #40a070 } pre .string, pre .tag .value, pre .phpdoc, pre .tex .formula { color: #d14 } pre .title, pre .id { color: #900; font-weight: bold } pre .javascript .title, pre .lisp .title, pre .subst { font-weight: normal } pre .class .title, pre .haskell .label, pre .tex .command { color: #458; font-weight: bold } pre .tag, pre .tag .title, pre .rules .property, pre .django .tag .keyword { color: #000080; font-weight: normal } pre .attribute, pre .variable, pre .instancevar, pre .lisp .body { color: #008080 } pre .regexp { color: #009926 } pre .class { color: #458; font-weight: bold } pre .symbol, pre .ruby .symbol .string, pre .ruby .symbol .keyword, pre .ruby .symbol .keymethods, pre .lisp .keyword, pre .tex .special, pre .input_number { color: #990073 } pre .builtin, pre .built_in, pre .lisp .title { color: #0086b3 } pre .preprocessor, pre .pi, pre .doctype, pre .shebang, pre .cdata { color: #999; font-weight: bold } pre .deletion { background: #fdd } pre .addition { background: #dfd } pre .diff .change { background: #0086b3 } pre .chunk { color: #aaa } pre .tex .formula { opacity: 0.5; } sdoc-1.1.0/lib/rdoc/generator/template/sdoc/resources/css/reset.css0000644000004100000410000000166613641340555025374 0ustar www-datawww-data/* 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 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; }sdoc-1.1.0/lib/rdoc/generator/template/sdoc/resources/css/panel.css0000644000004100000410000002006613641340555025344 0ustar www-datawww-data/* 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 and tree (begin) */ .panel .result ul li a, .panel .tree ul li a { display: block; text-decoration: none; } /* Results and tree (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 { overflow: hidden; padding: 4px 10px 0 10px; cursor: pointer; height: 46px; } .panel .result ul li a { font-size: 13px; font-weight: normal; color: #333; white-space: nowrap; margin-bottom: 2px; } .panel .result ul li p { font-size: 11px; color: #333; margin-bottom: 2px; white-space: nowrap; } .panel .result ul li a 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 a, .panel .result ul li.current p { color: #DDD; } .panel .result ul li.current a 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; border-radius: 3px; } .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 ul li { cursor: pointer; overflow: hidden; height: 23px; line-height: 23px; } .panel .tree ul li .content { padding-left: 18px; overflow: hidden; position: relative; } .panel .tree ul 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 ul li.closed .icon { background-position: 0 0; } .panel .tree ul li a { font-size: 13px; font-weight: normal; color: #000; white-space: nowrap; } .panel .tree ul li p { font-size: 11px; color: #666; margin-bottom: 2px; white-space: nowrap; } .panel .tree ul li a i { color: #999; font-style: normal; } .panel .tree ul li.empty { cursor: text; } .panel .tree ul li.empty a, .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 a { color: #FFF; } .panel .tree ul li.current p { color: #CCC; } .panel .tree ul li.current.empty a, .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) */sdoc-1.1.0/lib/rdoc/generator/template/sdoc/resources/css/main.css0000644000004100000410000001022413641340555025164 0ustar www-datawww-databody { font-family: "Helvetica Neue", Arial, sans-serif; background: #FFF; color: #000; margin: 0px; font-size: 0.82em; line-height: 1.25em; } a { color: #00F; text-decoration: none; } a:hover { color: #333; background: #FE8; } p { margin-bottom: 1em; } h1 { font-size: 2.1em; font-weight: normal; line-height: 1.2em; margin: 1.4em 0 0.7em 0; } h2 { font-size: 1.6em; margin: 1.8em 0 0.8em 0; font-weight: normal; line-height: 1.2em; } h3 { font-size: 1.4em; color:#555; margin: 1.4em 0 0.7em 0; font-weight: normal; } h4 { margin: 1.4em 0 0.5em 0; font-size: 1em; } table { margin-bottom: 1em; } td, th { padding: 0 0.7em 0.3em 0; } th { font-weight: bold; } .clear { clear: both; width: 0; height: 0; } dt { margin-bottom: 0.3em; font-weight: bold; } dd { margin-left: 2em; margin-bottom: 1em; } dd p { margin-top: 0.6em; } li { margin: 0 0 0.5em 2em; } .banner { background: #EDF3FE; border-bottom: 1px solid #ccc; padding: 1em 2em 0.5em 2em; } .banner h1 { font-size: 1.2em; margin: 0; } .banner h1 .type { font-size: 0.833em; display:block; } .banner h1 .type, .banner h1 .parent { color: #666; } .banner ul { margin-top: 0.3em; margin-bottom: 0; font-size: 0.85em; } .banner li { list-style: none; margin-left: 0; margin-bottom: 0; } pre { margin-bottom: 1em; } .methods dt { width: 1em; font-size: 1.5em; color:#AAA; position: absolute; font-weight: normal; margin: 0; } .methods dd { margin-left: 2.5em; min-height: 1.8em; -height: 1.8em; padding-bottom: 0.8em; } .methods ul li { margin-right: 0.7em; margin-left: 0; list-style: none; display: inline; } #content { margin: 2em; margin-left: 3.5em; margin-right: 3.5em; } .sectiontitle { margin-top: 2em; margin-bottom: 1.3em; margin-left: -1.2em; font-size: 1.2em; padding: 0 0 0.25em 0; font-weight: bold; border-bottom: 1px solid #000; } .contenttitle { margin-top: 4em; margin-bottom: 1.3em; margin-left: -0.9em; font-size: 1.6em; padding: 0 0 0.25em 0; font-weight: bold; } .attr-rw { padding-right: 1em; text-align: center; color: #055; } .attr-name { font-weight: bold; padding-right: 1em; } .attr-desc { } tt { font-size: 1.15em; } .attr-value { font-family: monospace; padding-left: 1em; font-size: 1.15em; } .dyn-source { display: none; background: #fffde8; color: #000; border: #ffe0bb dotted 1px; margin: 0.5em 2em 0.5em 0; padding: 0.5em; } .dyn-source .cmt { color: #00F; font-style: italic; } .dyn-source .kw { color: #070; font-weight: bold; } .description pre { padding: 0.5em; border: #ffe0bb dotted 1px; background: #fffde8; } .method { margin-bottom: 2em; } .method .description, .method .sourcecode { margin-left: 1.2em; } .method h4 { border-bottom: 1px dotted #999; padding: 0 0 0.2em 0; margin-bottom: 0.8em; font-size: 1.1em; color:#333; } .method .method-title { border-bottom: 1px dotted #666; padding: 0 0 0.15em 0; margin: 0 0 0.5em 0; font-size: 1.2em; line-height: 1.25em; position: relative; } .method .method-title a.permalink { position: absolute; font-size: 0.75em; right: 0; } .method .sourcecode p.source-link { text-indent: 0em; margin-top: 0.5em; } .method .aka { margin-top: 0.3em; margin-left: 1em; font-style: italic; text-indent: 2em; } .method .source-link { font-size: 0.85em; } .ruby-constant { color: teal; } .ruby-keyword { color: #000; font-weight: bold } .ruby-title { color: #900; font-weight: bold; } .ruby-ivar { color: teal; } .ruby-operator { color: #000; font-weight: bold } .ruby-identifier { color: #000; } .ruby-string, .ruby-node { color: #D14; } .ruby-comment { color: #998; font-style: italic; } .ruby-regexp { color: #009926; } .ruby-value { color: #990073; } .ruby-number { color: #40A070; } @keyframes highlight { from { background-color: yellow; } to { background-color: white; } } .highlight { animation-name: highlight; animation-duration: 1s; } sdoc-1.1.0/lib/rdoc/generator/template/sdoc/resources/panel/0000755000004100000410000000000013641340555024036 5ustar www-datawww-datasdoc-1.1.0/lib/rdoc/generator/template/sdoc/resources/panel/index.html0000644000004100000410000000426713641340555026044 0ustar www-datawww-data search index

index sdoc-1.1.0/lib/rdoc/generator/template/sdoc/resources/js/0000755000004100000410000000000013641340555023353 5ustar www-datawww-datasdoc-1.1.0/lib/rdoc/generator/template/sdoc/resources/js/highlight.pack.js0000644000004100000410000003765213641340555026612 0ustar www-datawww-datavar hljs=new function(){function l(o){return o.replace(/&/gm,"&").replace(/"}while(x.length||y.length){var u=t().splice(0,1)[0];v+=l(w.substr(q,u.offset-q));q=u.offset;if(u.event=="start"){v+=r(u.node);s.push(u.node)}else{if(u.event=="stop"){var p=s.length;do{p--;var o=s[p];v+=("")}while(o!=u.node);s.splice(p,1);while(p'+l(K[0])+""}else{M+=l(K[0])}O=N.lR.lastIndex;K=N.lR.exec(L)}M+=l(L.substr(O,L.length-O));return M}function J(r,L){if(L.sL&&d[L.sL]){var K=f(L.sL,r);s+=K.keyword_count;return K.value}else{return E(r,L)}}function H(L,r){var K=L.cN?'':"";if(L.rB){p+=K;L.buffer=""}else{if(L.eB){p+=l(r)+K;L.buffer=""}else{p+=K;L.buffer=r}}B.push(L);A+=L.r}function D(N,K,P){var Q=B[B.length-1];if(P){p+=J(Q.buffer+N,Q);return false}var L=y(K,Q);if(L){p+=J(Q.buffer+N,Q);H(L,K);return L.rB}var r=v(B.length-1,K);if(r){var M=Q.cN?"":"";if(Q.rE){p+=J(Q.buffer+N,Q)+M}else{if(Q.eE){p+=J(Q.buffer+N,Q)+M+l(K)}else{p+=J(Q.buffer+N+K,Q)+M}}while(r>1){M=B[B.length-2].cN?"":"";p+=M;r--;B.length--}var O=B[B.length-1];B.length--;B[B.length-1].buffer="";if(O.starts){H(O.starts,"")}return Q.rE}if(w(K,Q)){throw"Illegal"}}var G=d[I];var B=[G.dM];var A=0;var s=0;var p="";try{var u=0;G.dM.buffer="";do{var x=q(C,u);var t=D(x[0],x[1],x[2]);u+=x[0].length;if(!t){u+=x[1].length}}while(!x[2]);if(B.length>1){throw"Illegal"}return{language:I,r:A,keyword_count:s,value:p}}catch(F){if(F=="Illegal"){return{language:null,r:0,keyword_count:0,value:l(C)}}else{throw F}}}function h(){function o(t,s,u){if(t.compiled){return}if(!u){t.bR=c(s,t.b?t.b:"\\B|\\b");if(!t.e&&!t.eW){t.e="\\B|\\b"}if(t.e){t.eR=c(s,t.e)}}if(t.i){t.iR=c(s,t.i)}if(t.r==undefined){t.r=1}if(t.k){t.lR=c(s,t.l||hljs.IR,true)}for(var r in t.k){if(!t.k.hasOwnProperty(r)){continue}if(t.k[r] instanceof Object){t.kG=t.k}else{t.kG={keyword:t.k}}break}if(!t.c){t.c=[]}t.compiled=true;for(var q=0;qx.keyword_count+x.r){x=u}if(u.keyword_count+u.r>w.keyword_count+w.r){x=w;w=u}}}var s=t.className;if(!s.match(w.language)){s=s?(s+" "+w.language):w.language}var o=b(t);if(o.length){var q=document.createElement("pre");q.innerHTML=w.value;w.value=k(o,b(q),A)}if(y){w.value=w.value.replace(/^((<[^>]+>|\t)+)/gm,function(B,E,D,C){return E.replace(/\t/g,y)})}if(p){w.value=w.value.replace(/\n/g,"
")}if(/MSIE [678]/.test(navigator.userAgent)&&t.tagName=="CODE"&&t.parentNode.tagName=="PRE"){var q=t.parentNode;var v=document.createElement("div");v.innerHTML="
"+w.value+"
";t=v.firstChild.firstChild;v.firstChild.cN=q.cN;q.parentNode.replaceChild(v.firstChild,q)}else{t.innerHTML=w.value}t.className=s;t.dataset={};t.dataset.result={language:w.language,kw:w.keyword_count,re:w.r};if(x&&x.language){t.dataset.second_best={language:x.language,kw:x.keyword_count,re:x.r}}}function j(){if(j.called){return}j.called=true;e();var q=document.getElementsByTagName("pre");for(var o=0;o|>=|>>|>>=|>>>|>>>=|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~";this.BE={b:"\\\\.",r:0};this.ASM={cN:"string",b:"'",e:"'",i:"\\n",c:[this.BE],r:0};this.QSM={cN:"string",b:'"',e:'"',i:"\\n",c:[this.BE],r:0};this.CLCM={cN:"comment",b:"//",e:"$"};this.CBLCLM={cN:"comment",b:"/\\*",e:"\\*/"};this.HCM={cN:"comment",b:"#",e:"$"};this.NM={cN:"number",b:this.NR,r:0};this.CNM={cN:"number",b:this.CNR,r:0};this.inherit=function(o,r){var q={};for(var p in o){q[p]=o[p]}if(r){for(var p in r){q[p]=r[p]}}return q}}();hljs.LANGUAGES.ruby=function(){var g="[a-zA-Z_][a-zA-Z0-9_]*(\\!|\\?)?";var a="[a-zA-Z_]\\w*[!?=]?|[-+~]\\@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?";var n={keyword:{and:1,"false":1,then:1,defined:1,module:1,"in":1,"return":1,redo:1,"if":1,BEGIN:1,retry:1,end:1,"for":1,"true":1,self:1,when:1,next:1,until:1,"do":1,begin:1,unless:1,END:1,rescue:1,nil:1,"else":1,"break":1,undef:1,not:1,"super":1,"class":1,"case":1,require:1,yield:1,alias:1,"while":1,ensure:1,elsif:1,or:1,def:1},keymethods:{__id__:1,__send__:1,abort:1,abs:1,"all?":1,allocate:1,ancestors:1,"any?":1,arity:1,assoc:1,at:1,at_exit:1,autoload:1,"autoload?":1,"between?":1,binding:1,binmode:1,"block_given?":1,call:1,callcc:1,caller:1,capitalize:1,"capitalize!":1,casecmp:1,"catch":1,ceil:1,center:1,chomp:1,"chomp!":1,chop:1,"chop!":1,chr:1,"class":1,class_eval:1,"class_variable_defined?":1,class_variables:1,clear:1,clone:1,close:1,close_read:1,close_write:1,"closed?":1,coerce:1,collect:1,"collect!":1,compact:1,"compact!":1,concat:1,"const_defined?":1,const_get:1,const_missing:1,const_set:1,constants:1,count:1,crypt:1,"default":1,default_proc:1,"delete":1,"delete!":1,delete_at:1,delete_if:1,detect:1,display:1,div:1,divmod:1,downcase:1,"downcase!":1,downto:1,dump:1,dup:1,each:1,each_byte:1,each_index:1,each_key:1,each_line:1,each_pair:1,each_value:1,each_with_index:1,"empty?":1,entries:1,eof:1,"eof?":1,"eql?":1,"equal?":1,"eval":1,exec:1,exit:1,"exit!":1,extend:1,fail:1,fcntl:1,fetch:1,fileno:1,fill:1,find:1,find_all:1,first:1,flatten:1,"flatten!":1,floor:1,flush:1,for_fd:1,foreach:1,fork:1,format:1,freeze:1,"frozen?":1,fsync:1,getc:1,gets:1,global_variables:1,grep:1,gsub:1,"gsub!":1,"has_key?":1,"has_value?":1,hash:1,hex:1,id:1,include:1,"include?":1,included_modules:1,index:1,indexes:1,indices:1,induced_from:1,inject:1,insert:1,inspect:1,instance_eval:1,instance_method:1,instance_methods:1,"instance_of?":1,"instance_variable_defined?":1,instance_variable_get:1,instance_variable_set:1,instance_variables:1,"integer?":1,intern:1,invert:1,ioctl:1,"is_a?":1,isatty:1,"iterator?":1,join:1,"key?":1,keys:1,"kind_of?":1,lambda:1,last:1,length:1,lineno:1,ljust:1,load:1,local_variables:1,loop:1,lstrip:1,"lstrip!":1,map:1,"map!":1,match:1,max:1,"member?":1,merge:1,"merge!":1,method:1,"method_defined?":1,method_missing:1,methods:1,min:1,module_eval:1,modulo:1,name:1,nesting:1,"new":1,next:1,"next!":1,"nil?":1,nitems:1,"nonzero?":1,object_id:1,oct:1,open:1,pack:1,partition:1,pid:1,pipe:1,pop:1,popen:1,pos:1,prec:1,prec_f:1,prec_i:1,print:1,printf:1,private_class_method:1,private_instance_methods:1,"private_method_defined?":1,private_methods:1,proc:1,protected_instance_methods:1,"protected_method_defined?":1,protected_methods:1,public_class_method:1,public_instance_methods:1,"public_method_defined?":1,public_methods:1,push:1,putc:1,puts:1,quo:1,raise:1,rand:1,rassoc:1,read:1,read_nonblock:1,readchar:1,readline:1,readlines:1,readpartial:1,rehash:1,reject:1,"reject!":1,remainder:1,reopen:1,replace:1,require:1,"respond_to?":1,reverse:1,"reverse!":1,reverse_each:1,rewind:1,rindex:1,rjust:1,round:1,rstrip:1,"rstrip!":1,scan:1,seek:1,select:1,send:1,set_trace_func:1,shift:1,singleton_method_added:1,singleton_methods:1,size:1,sleep:1,slice:1,"slice!":1,sort:1,"sort!":1,sort_by:1,split:1,sprintf:1,squeeze:1,"squeeze!":1,srand:1,stat:1,step:1,store:1,strip:1,"strip!":1,sub:1,"sub!":1,succ:1,"succ!":1,sum:1,superclass:1,swapcase:1,"swapcase!":1,sync:1,syscall:1,sysopen:1,sysread:1,sysseek:1,system:1,syswrite:1,taint:1,"tainted?":1,tell:1,test:1,"throw":1,times:1,to_a:1,to_ary:1,to_f:1,to_hash:1,to_i:1,to_int:1,to_io:1,to_proc:1,to_s:1,to_str:1,to_sym:1,tr:1,"tr!":1,tr_s:1,"tr_s!":1,trace_var:1,transpose:1,trap:1,truncate:1,"tty?":1,type:1,ungetc:1,uniq:1,"uniq!":1,unpack:1,unshift:1,untaint:1,untrace_var:1,upcase:1,"upcase!":1,update:1,upto:1,"value?":1,values:1,values_at:1,warn:1,write:1,write_nonblock:1,"zero?":1,zip:1}};var h={cN:"yardoctag",b:"@[A-Za-z]+"};var d={cN:"comment",b:"#",e:"$",c:[h]};var c={cN:"comment",b:"^\\=begin",e:"^\\=end",c:[h],r:10};var b={cN:"comment",b:"^__END__",e:"\\n$"};var u={cN:"subst",b:"#\\{",e:"}",l:g,k:n};var p=[hljs.BE,u];var s={cN:"string",b:"'",e:"'",c:p,r:0};var r={cN:"string",b:'"',e:'"',c:p,r:0};var q={cN:"string",b:"%[qw]?\\(",e:"\\)",c:p,r:10};var o={cN:"string",b:"%[qw]?\\[",e:"\\]",c:p,r:10};var m={cN:"string",b:"%[qw]?{",e:"}",c:p,r:10};var l={cN:"string",b:"%[qw]?<",e:">",c:p,r:10};var k={cN:"string",b:"%[qw]?/",e:"/",c:p,r:10};var j={cN:"string",b:"%[qw]?%",e:"%",c:p,r:10};var i={cN:"string",b:"%[qw]?-",e:"-",c:p,r:10};var t={cN:"string",b:"%[qw]?\\|",e:"\\|",c:p,r:10};var e={cN:"function",b:"\\bdef\\s+",e:" |$|;",l:g,k:n,c:[{cN:"title",b:a,l:g,k:n},{cN:"params",b:"\\(",e:"\\)",l:g,k:n},d,c,b]};var f={cN:"identifier",b:g,l:g,k:n,r:0};var v=[d,c,b,s,r,q,o,m,l,k,j,i,t,{cN:"class",b:"\\b(class|module)\\b",e:"$|;",k:{"class":1,module:1},c:[{cN:"title",b:"[A-Za-z_]\\w*(::\\w+)*(\\?|\\!)?",r:0},{cN:"inheritance",b:"<\\s*",c:[{cN:"parent",b:"("+hljs.IR+"::)?"+hljs.IR}]},d,c,b]},e,{cN:"constant",b:"(::)?([A-Z]\\w*(::)?)+",r:0},{cN:"symbol",b:":",c:[s,r,q,o,m,l,k,j,i,t,f],r:0},{cN:"number",b:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",r:0},{cN:"number",b:"\\?\\w"},{cN:"variable",b:"(\\$\\W)|((\\$|\\@\\@?)(\\w+))"},f,{b:"("+hljs.RSR+")\\s*",c:[d,c,b,{cN:"regexp",b:"/",e:"/[a-z]*",i:"\\n",c:[hljs.BE]}],r:0}];u.c=v;e.c[1].c=v;return{dM:{l:g,k:n,c:v}}}();hljs.LANGUAGES.javascript={dM:{k:{keyword:{"in":1,"if":1,"for":1,"while":1,"finally":1,"var":1,"new":1,"function":1,"do":1,"return":1,"void":1,"else":1,"break":1,"catch":1,"instanceof":1,"with":1,"throw":1,"case":1,"default":1,"try":1,"this":1,"switch":1,"continue":1,"typeof":1,"delete":1},literal:{"true":1,"false":1,"null":1}},c:[hljs.ASM,hljs.QSM,hljs.CLCM,hljs.CBLCLM,hljs.CNM,{b:"("+hljs.RSR+"|case|return|throw)\\s*",k:{"return":1,"throw":1,"case":1},c:[hljs.CLCM,hljs.CBLCLM,{cN:"regexp",b:"/.*?[^\\\\/]/[gim]*"}],r:0},{cN:"function",b:"\\bfunction\\b",e:"{",k:{"function":1},c:[{cN:"title",b:"[A-Za-z$_][0-9A-Za-z$_]*"},{cN:"params",b:"\\(",e:"\\)",c:[hljs.ASM,hljs.QSM,hljs.CLCM,hljs.CBLCLM]}]}]}};hljs.LANGUAGES.css=function(){var a={cN:"function",b:hljs.IR+"\\(",e:"\\)",c:[{eW:true,eE:true,c:[hljs.NM,hljs.ASM,hljs.QSM]}]};return{cI:true,dM:{i:"[=/|']",c:[hljs.CBLCLM,{cN:"id",b:"\\#[A-Za-z0-9_-]+"},{cN:"class",b:"\\.[A-Za-z0-9_-]+",r:0},{cN:"attr_selector",b:"\\[",e:"\\]",i:"$"},{cN:"pseudo",b:":(:)?[a-zA-Z0-9\\_\\-\\+\\(\\)\\\"\\']+"},{cN:"at_rule",b:"@font-face",l:"[a-z-]+",k:{"font-face":1}},{cN:"at_rule",b:"@",e:"[{;]",eE:true,k:{"import":1,page:1,media:1,charset:1},c:[a,hljs.ASM,hljs.QSM,hljs.NM]},{cN:"tag",b:hljs.IR,r:0},{cN:"rules",b:"{",e:"}",i:"[^\\s]",r:0,c:[hljs.CBLCLM,{cN:"rule",b:"[^\\s]",rB:true,e:";",eW:true,c:[{cN:"attribute",b:"[A-Z\\_\\.\\-]+",e:":",eE:true,i:"[^\\s]",starts:{cN:"value",eW:true,eE:true,c:[a,hljs.NM,hljs.QSM,hljs.ASM,hljs.CBLCLM,{cN:"hexcolor",b:"\\#[0-9A-F]+"},{cN:"important",b:"!important"}]}}]}]}]}}}();hljs.LANGUAGES.xml=function(){var b="[A-Za-z0-9\\._:-]+";var a={eW:true,c:[{cN:"attribute",b:b,r:0},{b:'="',rB:true,e:'"',c:[{cN:"value",b:'"',eW:true}]},{b:"='",rB:true,e:"'",c:[{cN:"value",b:"'",eW:true}]},{b:"=",c:[{cN:"value",b:"[^\\s/>]+"}]}]};return{cI:true,dM:{c:[{cN:"pi",b:"<\\?",e:"\\?>",r:10},{cN:"doctype",b:"",r:10},{cN:"comment",b:"",r:10},{cN:"cdata",b:"<\\!\\[CDATA\\[",e:"\\]\\]>",r:10},{cN:"tag",b:"",k:{title:{style:1}},c:[a],starts:{cN:"css",e:"",rE:true,sL:"css"}},{cN:"tag",b:"",k:{title:{script:1}},c:[a],starts:{cN:"javascript",e:"<\/script>",rE:true,sL:"javascript"}},{cN:"vbscript",b:"<%",e:"%>",sL:"vbscript"},{cN:"tag",b:"",c:[{cN:"title",b:"[^ />]+"},a]}]}}}();hljs.LANGUAGES.cpp=function(){var b={keyword:{"false":1,"int":1,"float":1,"while":1,"private":1,"char":1,"catch":1,"export":1,virtual:1,operator:2,sizeof:2,dynamic_cast:2,typedef:2,const_cast:2,"const":1,struct:1,"for":1,static_cast:2,union:1,namespace:1,unsigned:1,"long":1,"throw":1,"volatile":2,"static":1,"protected":1,bool:1,template:1,mutable:1,"if":1,"public":1,friend:2,"do":1,"return":1,"goto":1,auto:1,"void":2,"enum":1,"else":1,"break":1,"new":1,extern:1,using:1,"true":1,"class":1,asm:1,"case":1,typeid:1,"short":1,reinterpret_cast:2,"default":1,"double":1,register:1,explicit:1,signed:1,typename:1,"try":1,"this":1,"switch":1,"continue":1,wchar_t:1,inline:1,"delete":1,alignof:1,char16_t:1,char32_t:1,constexpr:1,decltype:1,noexcept:1,nullptr:1,static_assert:1,thread_local:1},built_in:{std:1,string:1,cin:1,cout:1,cerr:1,clog:1,stringstream:1,istringstream:1,ostringstream:1,auto_ptr:1,deque:1,list:1,queue:1,stack:1,vector:1,map:1,set:1,bitset:1,multiset:1,multimap:1,unordered_set:1,unordered_map:1,unordered_multiset:1,unordered_multimap:1,array:1,shared_ptr:1}};var a={cN:"stl_container",b:"\\b(deque|list|queue|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array)\\s*<",e:">",k:b.built_in,r:10};a.c=[a];return{dM:{k:b,i:")[^>]*$|^#([\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")}})})();sdoc-1.1.0/lib/rdoc/generator/template/sdoc/resources/js/searchdoc.js0000644000004100000410000003466313641340555025660 0ustar www-datawww-dataSearchdoc = {}; // 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; case 83: // s (qwerty) case 79: // o (dvorak) if (e.ctrlKey) { $('#search').focus(); e.preventDefault(); } 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; } } // 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 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) { e.preventDefault(); _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 += '' + stripHTML(this.data.badges[badge] || 'unknown') + ''; } html += hlt(result.namespace) + '

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

' + stripHTML(result.snippet.replace(/^

/, '')) + '

'; 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) + ';'; }); } function stripHTML(html) { var in_tag = false; var output = ""; for (var i = 0; i < html.length; i++) { if (html[i] == '<'){ in_tag = true; } else if (html[i] == '>') { in_tag = false; i++; } if (!in_tag && i < html.length) output += html[i]; } return output; } }); // 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) { e.preventDefault(); 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'), a = document.createElement('a'), p = document.createElement('p'), icon, i; a.href = '../' + item[1]; li.appendChild(cnt); li.style.paddingLeft = getOffset(level); cnt.className = 'content'; if (!item[1]) li.className = 'empty '; cnt.appendChild(a); // cnt.appendChild(p); a.appendChild(document.createTextNode(item[0])); // p.appendChild(document.createTextNode(item[4])); if (item[2]) { i = document.createElement('i'); i.appendChild(document.createTextNode(item[2])); a.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'; } }); sdoc-1.1.0/lib/rdoc/generator/template/sdoc/resources/apple-touch-icon.png0000644000004100000410000025065713641340555026633 0ustar www-datawww-dataPNG  IHDRxtEXtSoftwareAdobe ImageReadyqe<QQIDATx}EorMBB =tDFy6TP|]Ay ؞qgr|è 8T:Wxɱ}pD9D\hPYV?ae+SsS%JL~$X&7rt"rbUcY^~@U_p2:z I6O5M z< q?m!, :1 uPeu7'@7\<٨=nx/f5I"PCCW[}lg%JґX&ױ2Vzt4a8Ȁ|Sib|/qps x1禂sg<͕ :ݍ^b 2D@D:-QV WV u'l㮦gr[+XYr+*DxFVA#4 ,9 !4=Ml] n\fvqDnt1ˋYKj"dG[` 9Eۖ"w7ϴˇ`jXY-(QDI,eU6sOSʁ0!/fZ8[-c-} Ao2cXRuE5kHn@"pڡVfX"\'I5.u]mV-hʱ!&4ZSbخSB0%JX&X͚`OMep _lip[ Z"4v@=m v=>D79^f2:8n! r/zVlwV@%Q!Q֯f[#[(#. <)#<S8 B @e?ñ98w" ǰB;&!Vr_C+jHw:+-J:#$>>feGPDg sg!":H(1"P!?GP]bD7'm 'Ii! !"$,8Z1KV~᫹(M|ԏXy [{>L?NU;7[G\f|Qmw$H̢yڤ$jO Bth+\$a&m M1HJЉ~>b\ `e[ǔ@%m)9Qo`HXGG@''`etb |ӇP޻x;P> ޹ ; Z"~lafrmyC0^n(aơɇ$rx 3\n Cpoc-;Kgk{A;*}'w :JLwg6aQ(-?.%;Y*+kPDI;LM;bM(lXo-؆ЇXH>>cIկHeg3s#3o2ܒy܉y,ǜVt}r9A&y<80" v݆2"JϤH˞?'I˝wI7+ ~'PDI bXN\/ny'ckQؼu \/X/[)ۨf\ ?Ty?~qFFQ޽7S3jL<:t>xtX[LJ~6vB(TdfD=#zK>9O< މEy1z\g p-A$$@"Zd@ӕEvtsz>,ᄢoISVE,;sZb8ܯrnT#DAqTn=g@*X'ryݏ)Ė(`?veۄY})*| 4"JD=ڠM `?.?p}M;zܚf52ꆒTlΰ1x!zBy ]Voa 0 /A&< 8vy a.#|SpASlHӲ/8Rߓ!e@_ŀ-\.@(iO&GrPg@7aa?1zmo[@u03?:%AkuWn{;wXC*cd#-n=:N8 }{;^d/@~R;;Qڽds^Û׈0^ƥ`$`f$dET6}_hj^9{ً5~\ uCn@&&h:.Eh8p XϳeAfAeP}k'Ve -bj#&q GiHxd2k)K>+A[.B߹!sB3};!+ƒLzA{1t~~AV`~R 3Ǥ^B(tpM>ZHiZ_$8uXŎj%R.%J$={=r?0t_14u &={- ucHZ$U?NԐPP6Fhɼ⮝(e1}1ߗm~x HI`\l$L70@~s$@wA87@HGKr>jnor(QDVzmaM7 SN z[6C+t0ggM"T`DחhC}`; <;wF{p8)IvFc~hV?^Gt)GHH:G̓O1 >fs&*$g {hK7&3>Jh!(Q:; M| O3a/1|͘|aehd=$Z F۠Yҩ=ڿ貨$W>C</b? TĊ(Q*2\[0?a;fL]Y@cHPG~0wݶ%iڜ3QѮޅ{:V>ʤ"J)xXy)DzXB嬬S@֗Xy+oe? (1fM(IuS:XR rx])6;Gz:P$vB,џZS*h]g!;L0ƧI65i?H~E0A@]ߏ/uS(@ Zȱ^ OJ$h9d, QdEĈj $8nPDĩP$r +ogYhGiVlW0pVž 3'p~HR4 ` 4p fZ4 u1~ۿ3Ɓ_S<|QܽҸ+„>8M0z dD0vtb0$ j$_6 :M K7I5qo:4%Jˑ6s?&ͧݯb1E&d$5{{* wܸ`1Cs8Bw'ߏ<>u9}#4I/Z' 0ڥ@2YLc|lzlnV^>+_PϝsGI#FB&)ilǦ&RD,"з@4g{*sA}Hsc`hBdXtkqvYOϧ曙FXBfOOKn'iK@˹DWWNwO ?;CYLl SyU&0cv^,Y`KhsOO/kج"yh? L|mzv ɬ%Hg&+a yE{A}?)}h,z#HԳTT2 =z6#BsҠ#͞k N# @G0oDPs1̳,+ yk2=3h.;\[` SS4S@2A$ι!(ćUfyWHI=EYV&~Pخ[[__}O*!D2 6DZB7CW]U( {8w {СRHiw݆Kfp5 k!π~lv >SCCL, g^?LԴp߿_D|?<|HG@탊(5e>Oӗ Al7ԖкXߞ`8FDD . 99 1@G XOˮ~_Fco p @`ubb.si?rهsŀE`w"8@Ddű~㮀PD,|+'XǼw?Ư}uxZ8I-6VER: jT4?'ks}hJdX8Fnu|Oߏ?MO(pNǔ?Tc Ĵ@[/"M WJVd&{+&3k, c~E9|Z}LM_~d7+,VsݰrlL>,JfyƖ:M*6}(6x~5XP(6w!]% #*O@#Fzt=/9'? %a𖿡qu3tt(1srLc ϵ>#_g/pR8#/E\v}gX TҮ3{>$ ?0 z#]?NO]ۨG 嫏k-!Lc66ӒS˚_-f'c-7^]{L'' &58 O΍ T`ZdCǶ?zYTQ@L>)X90Fu_: ?8<h$ l A@$ sA-4;4|g c0CCEsK@N3: 7_B킜4"2Uim`vR@ɬVzlowا>T2ߛ,;@VKrQ;@ʹ $ ;@` ap0P;R{>Ta9`tQİ։A, ks2 G\DJ+!gB$;@/ b"t~QC}d*""JU{z+_IM0mͻ߂o>>f&!Y8S㬙 Q? Hkl;@D^*tc݌OK/ƙ?N#0&@K% ek?,I$1ĐƉ#QL- MK%4tr}`\y_"0j@#Q?p<*@S F(i"+z=_wTĵ GDՏ1t>ٺyD7=jTCjx ;]rPj/v^u4PE;=.W5ˌKo%B_,|ucA (b*K Dl*X&Q\A)IΗ`{aCM%լ(iUZl%VXs{1[-Kt*AG9?6xMo0pz辆ǽB?0"p #ukJu)w=r+0 IJ n\0fb9X['r|B'O-|(? @$"LB0G0Ps(iEe'6N+ݯz'FC|~@^h!NhM4\5m[F%wq }< /uE<>O$ rP@Sp-c& L0bP0 ( CJHDQ2i8Ec>1G?`+v :HʌqLae Hw[;c `؇'a4ϝ}q5}RSgFLQ xWA2f8R}oFN>/z{X;0|` ~"J]xV߳/ɇ]%I$0z g0w@LP; Jl; y#}cMɗ /?券f$S49!(%6Y(ɚ|"?}݇x}"m?av.+KPҮg +R yG?_X`p"&KCCR$-+Pw@$ 2Y}xi<g_?iVp`M~*/Yk҃Lq^HTd()i4$QiX;HLx"JQNRZp+Ǯ9v'AjA`D%`#6gZhv$ ~Pڶǂ7,{f\M1A?H@V˰bz +q@]`L"u1A”iCy$@%-|:_>ϡQ4眍{03, I@;Y@w0C&sqAzd"$B2MHxҠZ`縘b Frt02Е%kemϳ%V]ѳs"Axiŀi Eu[O>D@JS^ f퀨Ń{oZ'{q{i+qju&Re6uO"dR{. _ڵ}Z>3ig#ŠO| >uuWA` ^?=2)eG,*4y@|$JD?t|VV) V n= ^w@[%!Zl,Y-ch;X{9po#42>k;{S!Wofg#ဝ%*4f``D$%Bjmv̟~;8_H1oxm0-c$s~VzQbd(ꌏ'"K/EqpJm;@"m0 4&OLc*N8 K]~눕g xw@u8nvEoZw\6¯*DqL_Z){n-s~էou߳lej\n19лhOY3~Gy^iP(SP^bb{ߎkk$Kv #ƵF"r>q$OXrTҢFD>0; xP6S@ej/N?MD62[7 cw~uVDB[qE4B^ʵ"ywcr>d{%m!K@>FZG,z% 0H]R'k  Ժbd`=jX D-̙?+} <$#3oL#L\z"J!f^r~*`ukMA#/fq&Z&ZB&v!eKې]rp%-b /0W@_# ߇ 'Dw,űQ?d wc֕#˂h3#,'5ǼvNeQ%i^/ݍ5~4PH7. hVF`&\֐ g T/O@lK- iZU3}MK7PӾY_X.`-[ۋc㴷s?y_b{r1+_;ߋ՗^+@S; ) <;Q r@1h6;F ł92|Od:uzp o1.עP;oݔߏ57 X(o7=Q0zR]? S{oLq25^; DD} v084` n:ޑv 'aMcs3GלNí7lF߄pl(KgF?މ2;lw(:I@ҲuroQXY‚-up~vbh?6b%{ ?u 4vq NbA0Ġ/Z.^^b]ػegېVzA?`bݦ$_/!J>^' dXIӀ2g'ݨI*2`H}~!Z5|ha!ؓ/T_rtwwU0<44hX{*LvP"+S~8{vb{lIX@z|2 Of_YcXT@Ip?/YyVeEaϷb 7[~Μ` h%w $~KkSwL^#D ;Jv~X>`!/=T݉ցCAW sC]~JAst wT''NDu+<ߗq9<]sـ5~IHLUx T@ cXkGp;_JH@}TjMRO#+ ͑$@78 t? 疷?if#laQ.a9WjNEM ,#źu;0[4}0m4 鲭P@WNe;nŊ ߈{!>6Ew;48Zu<9Z$fHc$(ǟ$~zōX!5hfwF=FmJa9?|oY`^!E?O{!xlN L ۀJOAsPXLzݯq{/@qx!$  &]/@a Iw symDiv\/7_!  Bܥ囬i4e]ngG'o؋{FA3S? +|<{{ѣu_~*R[|G:Ru%q{LwQq wUۿݹD 8oAaA-2G.GGVîIs}XҠk9:Ojj|8u"W>ދ!IIl $lc uhAG)OCvbqK7 ra·Gn#Dï^-`X ngfWr%{)0-V]Y=膭 }fL_}f%`4HwH'egC=ºtv&i{q u `Tn7\f#* ~Mzk_^D}lʻ*+v|#V\t {} ~ZL߬L j[ikq2qۜ;@H0td{΋bH([@leP;Cl{\؍҅"kyFO|]-;gKtђffF7mwclpxA=;@e$UI7]=>w8}x?=hY;_eYo?- ^گ{5~2t7Q6ۇ ?iFҘ ?Wˊl!}beO^}a: &kj;@Z/wf 98y2NG@4e3eh.O>>NtqF/;ˣ#S®r5@#"cMh}AlYXyIeņ/=ܛ'm4~`Rm[z?Ⲿ6zI(N 4 "*ޣ`Y>ɵ+aLMBE½z;!I[Yb:[7 Ґgi۸^h4/ ~@)G{VQY>?}}?Mf4YVX# G75yO$\TB~?PynL=VwK+d(lpAnK>s@^CBNZ!I&DUmNWW࡫Aujِ$j Vv4@@g j t/Eا}3#՝0t$=QIzaH P ftD 3]w6Rh WQa] g IkYw?mtDtx+Y;(s}}/רN|QHf= 'n 2?']=CMu߷\ٟ̓Sld _qmj)fH+Y܊ qI˾'y&ڝܳW'=h۱ i` X5@Ŭ|VK5nVن ?OXNB Yv[L wו$O??w֭qhY⥦M9NӤ˂GN.NsVߎ?_ΰ{Yfv(AV{NssTƒ$txI@ltggܪ+v3;m˷_ވ~~.}~3;&}~LЗ~D`W9 6IQ2H`\@CmV䲓|W~p^ ?gmC"1 IPBK:H@@}#Vi!9/bc+`53>J× FT;f  0s3/h}nCXpP8[fp&u6]i<_HIO?\!$. 9g#}u_9Wd:ay}=+Zy㌿Z9`2o-w te#Ym ,ΤA9_GB0h/!jC,UPG,pK@Q}q9􏿘7|= @v|}ԠVW-[$`G(@hiF,d'sOO5ftbC<@ç| f<;4O@ވT,<1VMbh2`L(^hTB/`g7R 2Ą4? ˆ++XE V=7L/";*3]؇g\Xw( YWаoVFDGi}ˬd#:)20!.'kehqYY9ݹ^5(Z5M'x#$0PKpŜ%#w C3Oկ߷Ml,1xD"rٿQq؞Β"+|&>.k5{ d&wD %Ϸ !>ޢ.޳]v %gO>}^죴z ؟h5  LbF")|F?>1Ε~]"`$ H@܃hw$qKǏ3Ka2zN:}?_}BcLGI|îNdg/Ȗ"AI {Eq䷬,p|k9OZhk݃x% ;Ykm߀l<FSS Z󓌿 TqͿ_X78P䟖?XPՄG [--%Uuxgsz@baAD2׾Yx{va5|`OM u=@k!im6|* 00*քΒ3_65"w ﲦ̑Di߇p>1;c% hS6={< oֈ4Ӧ4<-q+И{ĵД +s"\aXȊArYSwj4|>m4{Zɹ@%, vӹ5`StU|t ɬ)Yj@ ,V|z7Ll݌{s>6nA'}z ~[[UoJb3 66|ί;nV``<< >za=럘$!>MYEk2Z>@)r"=]:2cKY_4䷆_G18"&܂-V0w|0:zTі pvLw@íN;s_1.J8"Ԝcٿ خg W^*QP`zoS5Jc};WH,($@ᅂh`Y^C[XEНض/ێqp<ѰR>"Кϳf c-NBK?+?e?|/cc|_@> 1+;(98,z`b#[{?|N-4|A[FÏ8' \D 3[l2ƃX&Njch,2W~OAcg,) hi3ww!f="_LwO0 к%PO ͘0lx+ ^|H@g8YHC %1\YW&Ag6>~r0H J; qI@pÓ 6 t{8Sp? xͰr-~*?r``YV#UQ~AGy'+'6n/pń)~g)\f% @-9?_x`5]ZZSOR1 >yf n1!hi@x ``h/i:l7uM~: r ;"Y6{w_NFF" 4ˬz۔;-HtR Q ,zбC+l_Gt~~2o~t~34xr- CHЬ?imRrS{wc{ކ CXN0m}{*Q@`-s!{0uF>Y5^JÏ %)88f1(@&k_3cAmԧ&qމ=wߏ\$5m3J@tf=wDqBm_7o/|gWQ&K#iş}QZW)1-ap`+?f?g3W }GXNY}Շ&iIss%) h=hew@+߃;A$ ; Q1=/$:hz|r vfdA?C!(22vVt=0}t } \Vo} };;<3V(w@ $H@w@ZCLnXzE/Zzͅ0tf?dX5k=eF lF0iP3;z1@z3|Vi~584ށbw@>)hdt4$j;.;V T+:,};rJLQMOu̽6t4&: |\j0,`3XHҠfe'8T %rfXʏzIW@7Z;m$`Z5j=Ix$t@O|{;`a:3oa<ײ8Ƌ hpQ6eEґae;"'qފC1Ѧjqhw@Y] 1H!#.Hw8Ѿ\L o] {DN S@7e"T`R7yEnVu:5ڶ @LqL@ZmIfCN"@Yogsʻ1a=d9FlpVEL#ΐlC%U2>A!ϵ ̑[ (9 J`X~AT5/l_-?;S w͊o95 .X$@b`B|2'jw*R5p?/!ۛo/ A93߷M I,%䩁Z&<sbY7Ɉa@r9+*׿ƴ@ f3IHd Wk) C}1lK0Tnzt~y:VrteQEjA:O/U> ®o}W~3Oߵ9R̀ & Ht܀1@8ŢWs:tϝx l*^8"6k} ~uxn>iy 1mP'Ci%ˠeP ׇUߺ|BFƑLov?m34$Cg=$C9dSucec&u-o1dt7|*\i#տ=5Vɲ@mCH?}r+.CnvM5wܓJ* 0@A{> ӥگOc;^2CWS! ؇ӣ>T/#g;M@#?{5W )~ޜW|]i1 h m;<m{#Ͳ pn/OWcچV,=v^t~¡x _ޢexee^%t2ޒI9.]lW<"cYyCG5<#3Lr4|ȳVi[Zz؝[f&Q@Phf1[kbt>,pH:H@FLjZ$r?(v/ šޗ/r >Ii̴= նڗ9wjvh9ߩ_5?4hQv m㰔F\g?[q`#' ~a7p5zYy iߪؔaRg p!Tyy3+6L܆{>^'&)Krpbzu%x ?}!\N3eLMOќpkHstN><\q "|X5 طz-r$q6H@K6v_f=Q 9s~Ե{Bt~ȭo2G=Ez }ޜekRIy+G6VB-Aր\i[#XLkBpYƊpb'?Y>J"mh ׶Vv%E-cD5Id;̓3,:>Hx^75pdi۲v oK,k{7_qdwRƐ&=U4fZZ1Y'c{bsw% j}[o71L08< ŮL^ueQ[py&+6G59v $=K,gD,y\Mr0gc.OiMN`U^o-죾<8523yVdXp/V+7ZvU⏾<>}w Y'0}~$iR$ HOstwv8e1 ;tw_"6\w#sSTf G0Tħ G?<Z.都?I@-i5a]EYP rwW/~."KcS$@VA>|Kuu]cJG;3ߧ$-֋fp Lhh?N٧_TOq(qzXX;`C[n&ѧ(z; }R )Jo{g8~W0e_eW~#CYV]`#7 1 Y6<- ¶5v M=0Xwԛ:\ׇ?CZ}/HiDS ~f= 0 ;W*1t{{N1o!T0G Ü+Fn 'P|hݠL5uMUL-EJ ؚ}h2ʎF)Զݽ.H "OkH> /Ȳo$c1,59:Wlx߭#Iz3! b.0HLytus^/LڏLg&p@pGS;^GԫXdE@^; sEmfѷ냷!g+QhFhxTs>mu;\m;.M$ZpiSK@C@w7|u{n; {r}Ce^oVr߳ZfP6#@Q{qldZN+'sΕ0с;+p+wpH paaWrLW@'eKD{h"ӑʼnt,\?cd4ymJ=p ?Gs? Z9)IpwjКŖ'];N~=nWOe&[֣ι_3tr,)nkD?43@ꇹBj 5*wr>OJ}b󟅣/D4rpjlN[#"^ !ܟ%B &AҴd_]*}X t! Z-ZMZa``S%(QS?Md{zSɝ;0>[k&tezU9E%Nird"xA )Ɍk҅ui4)3_hPe|Xc-:tr2D',Ps$<~>ܶ=sp@N@H6z"R  87Pu}Hs&YLW*omZ=RzGO7h9@%z/yHPޤ*Οr9{4<#z4zm#?㊬g*bғ{ ;t;>cbq;CYu s٫m:֋ɸRR4fIO $sҟTIǤQ# K4m7LzOg{Tdp ~uAT(Mhp罉& IFudgRx=F{S Ԡ[5x|%sVnXԦ[N8Eـ<@I#Ci;WIDw9@%) 4s~#13N# {yZqߌmH>s@&#훥T%e ^.( E~s?- @27 l~`ÓZDꌳȊ΂Di8PfD>C.ӌWPn6EV_kh\'^=_:jfJZ5JyCX&0p:|6zor=V{٪8-5?MhDg/jZ ljraZ84@*|FG0ez}0/d0߮#Z8?Ǜ` vd lx yap,EC1vzk@W>!S>`4FMٟrg<Bqc@c@ ~!@(*&`(No8S_O/Tn TuAys, l__*Kp{-#`7zm,/eKH F`%g#*@ #7G3q{OxߚЄJ!,5+.x8sʸg\_ e~9x$gCsՄ6Fည2㗸~k&qG> dckDŽR'K@* iT,@G0@u`8i3ѳznl^.4=[Zd6dSP=0br?U-cw}/th&j9 eY,"GL竒]ϒgQVp2uͽ A"CN!! Lh>g,oS3.zt^4@ ճ_l9+7{JIY}$?/ oP5nƃ{*g`޿Y4-S-2*ebOކܾěHBC;u 8"ۊ:St1f-$2M~,YȾqKS,K#}n˹/k7Bԟy?$Lh;^*@2`uDŸT\N]o5˜ˎZeٛp?槪DO$~DU2Pwcdg{줿pއ?g-u B(mDyE?f[<~vT.wHĈhLH%&TR~aY2_*e1o^{qg?7nd8npF@Sdyl}=.05&K/ h0i5b 3.jc-;BlQO R @Z@Гe )cH4>״J `~~۷|菈AĥȠF@.+!|@5Ԩa>ø-,ӎԥOS_Z 9LNѪ;BjA|x 9!2fiF`` uЍQv3,EE9nĵ8pVǂ +Hq&c0 ,u2ؑa= 7981 ͙)F:hg/? 7gf1~506[ՋԼy`~G&-k.EipL=~eZL qE[q8yFHF@ք3  8`^sHJS_6c0P$ &(3˩Q\~q-_P^XjMfvDcҀX We"rOn&͸c_@mrۿ`yNt?XHưQ[;2#1ܰ@Ydꏒ׍RKx:9}_L{y%q"E:1(0cH(`)ZWO~'"0s30tkI&LPOyK6hWQ睋;Nj 0\6@UL߲m+ v|38Ȟ @G6 e[!U(osQkĪ'b/o*pka:)㗹bzm_jOEWFnad' uz:~k+z;$rE{< 7Ӭ߇t%E;aruStv[` [~az'󿄗K .j@X2F %t + St ~! n<؞5Xv"$Z!e J$-zpJ. WX̮Ś|"7~UHw#cEUTx"@!QfWn9 ~hZ-AﴼGYMsF* :uiblJ|2vkNv4cuY2#0V{&=S5Z 8phLrOp@0ʜEXω~9kq'up g8PziIQc!,֨cg`/kPϙdRBhgB`m/^ ptfq>?Uye*^Ceep03M@ `r;k'qǯs_h k/Bݧ`('U+okӦ.pa*p-IQA >빑{?-SeW&Y{Po%OeE0m;Apဴɠ@_OR'~p\Oa8R~dc-?1Vw$~"Uy_>%#-v}T!$Lgsa{ f];h!L꣹gM]Uc Fe@].ӂ-&*SGݫ ꟿO]TV ȕ%|  Ȝ~+4"ɯȱ ̧O|zSLjȽۉ~ )*SKgh:59;;}="f@In^@N!_(2Ny`T9mT~۽ m˖C[oh7IV\> J1 Os74R (?p@0w|Z~sn>0i: c-8fm 3Cr zp*\X@ 4Hd˯ /T(P8h`?l_)- AP5V)2j|DQW@I#! sZjCh'UyH 7Mqo_K>/hY'w\܄[G$"598cXqW@%I4neo@l#@er碚=LɊw*wdYqT9x?ڱ8M#kr ~LQm) s >Bp1Oqѧֺf_|7غiyvFNn*a,dzD> ǬGDgS ks 7,`'ݲkTa`=/W'XTUGw۝hL`Z+Nd&Y"^Oh2FH %nߙ1m72f(~ .ҿ`7hٷ0wli_TC? ׅ Dd Du2 v7[5,;j-ݿ]Y"`/+}؀wj/ CBUrW,b恵^T:O?~f5F$PbΞaPHѧTpFʅ~w@ tvQ,;\oXFYu1b-`ayG^^1_- įjX}Qsv[`@# iGcͰv M,ncO3+'2[4b}wގmcNGSi =#@ZGPXl 90s9Qkp'(6qHa]nXi^!PG0CQ~U6(C9uvhh>A&Ipd|%IDCl[L˭*1jCH;8.j0v#@0BۅN("*=6c֮_^aLy.h^4i.YG3bC1 50rc0xDW AKo'Nw 8Be˞:?L??[fpS,7l_Dm}',E@_\HG "#@Pİìsf.?aݣSƧyNFixj2 dEIJ&,#`nj(h ܏JK|)JzW-H!l1h?:~ FUsQ7E@H H~]r=l~{NE,p̶kX8Nޞ8ՏkkTL/3Jy] 6އ*y}mȁXr_Ϟg2%EviH? 2vOeD E.*jE'*Ao*\vWя?^m (zYƂX@OED~2VVp\)0 I=F_S M8TS!F?ˢ`bmƦ~;燨7k.pyNmoV'K y٢! k$j,p@a +qg}8Oq`7A|,ެ~dH"L_-fq5ўm.,ˁu*%SD0GB(^p-Ӻy =29O^O~g?#[Qk+X'q.nL[#FyWeCy uFcv?O/} ~j:>g@ 3_:1.r"iZNH׬ûkb,W$Hӌ1"uJ%eu1X[LP3쌾>>o ;AS߆wP|8*`$@ętVaHTPQ89` Z>il|sם@ꎾ?M2i_AR9.j:Y].q Tx?o$AfP3`{*ҡV?g߷x"Ɓn^@oӎx} gc~02lʼnB!pDүkWO}G?|Ô ]k~LIU*<Ҭi LLH96Ê5+PoXsI3siJ)! $A͘ ? O5ovRjvoHbw w6>N|w#(ĥM1௟c (qT`O&BDq:N\bccO[|9]g:b'uJ<3bāѥXf wRi jGJ tE?0WUBx4R뜘` ͚[ۑ?gm8@N8 kp(Hܮd,u8u+q t38M^.kWPXj헸f*jJ?$!r: EU=Ns: a:07I_L?p/ZXsC]'cw␔}%\Bd8(@(m2vj\<7 a߰g4y9~ra`c^H_?~y۰CLD(K;@2"Hmc ,V?@c D/+؆厑# '`?Ѕ{a5 DBf$ J (0u>&+\4O:"P<\cggu[pm"u8q$bOM d]$X1[&d$=00Xzwre{OqȀҘiPKXO 垱*v0y^:eVxZM5WYM<@݆@n Y _/&@q'?2N@2P0C؝Xu֩vV]7c;5@-X{߬Ya](&us@8r\ESs?Liy_Iґʤ?U!6w^|:o?J41_a2 ?¡[~^GC2e=߬C\U"CA5 B@ 0q㒏^M'g]}ߡ{oBYTz6"0!@W*zCk|7U Sn hT*~QOm ~ WZi_Oٷ^soJ |ݯY`C^B O\ahq!*:ɀh]K>Pr?e9G} r.Лݵ7ŕd:5+kB$ † Ď)=0? Iy;PE"p+S2>b9EA5`O^0u 0f/[zO K$y {TNހ}C՝d򘀢]@܁~y۪btg|k2ןgwx Ze)ΠY{P,CE~t@\>=v~Uc)g9V.' y* }gY0u Ka^nba_ta%D:%!'-L8٩:BFbC"ؓ-p@Qo T -m8ڏ޽y= \{4yZf~c[Ag?0iq<[3"GJehc3 @YM7_)cè/ZoK o_]@0{,.ʬ==1ۡ7 Hq/w /-Lz)PY>y#<U0UQ I#Ph{Яpa( 2Lw|Ѹ蚏c㓞~}nn|43M+/IQDݐnDքlmi"B?U򇒵ji­}=DеWـ"^|cYߐEsPMJdCg' g\ N,X8TR@S$$p byဲ@,/#C_2o/#O S7/3Vo m8CtO4yQ#"iC~hY.dcM,A38*q8a/IJ6F7z11 ٲ5bq *8.gZ[61) _F߿# "?sZ@¼a#e'x$2wi/<F_6q 'MSaS%Z9/!D(7`zCm|"s{GwwnyvhI:;rZGNhܣNy}G%ůJfYc csf:nJi%!$kRs᧭_3owXcJ-E M ,<|?9Z͑N,?t71MxFr <&% 2#sKaF@xGHLjSp@]Ub`?AwAv² CQk]/ȷgo*tw6M.&*1K [kok/A+^&$F@&2\;I{E[k_vYcO|<ɹo5ԣy$6{HRNx̣ 7O>IF|rD=[t%DY XIΙiU&j5~O:PaaG82E_]~C/;m2+tvni4@,K>sVu;zL>q4E)0J䤅I+ pc f Ҙb>Q/d jedΑts6T.v[{ޙ_ʳ]oa>~_MӼo*R]3o h/Qc~Zff3 o))ǒ5k5PXh#PUJB^aҟ6|aXbn B9ϖv LYRCh "jaJ0 I 6@h,;rZf41P P䧤;!Q8N8 l8PV'ҏ|c6r&cXS39+LNk %D7@rAҾHڄnD4#C_ќrƈ<-{] ?kxٸ976Fp MGS@\z Wg Ppic]D DŽ Ci 踔 .K3-8^ q_4}=V'ir逿[#M}2f}Ju-B(R.ݧ374M>IBFQ,D_C ?"sH=cX׶6=`o? [?^M'6ɜ\.ƾzdcI/@eXX .(O"/,؛<)V?O׷m~vçXb aϿ+/\@,w\b.{l#vl.[sXQ\c+S%{̋MW'`̯fmFi7],?ם 5' ppFЪ9e ) $H 0kK؈l[WCdp2?MLuA!.>QOq3 h@R``Dpd@^4~OV8,Kp оMWjB!2BpqԺzqۮr\0+p}|¹B@ ,s1Xmx$"Kxá_ HO+۰NjÃ0X8 XEFI>="q{BँzH^\u"\8*BM0+ /+'eL9Ri0qe)/ 1&ln`OL' @J\EY ~0jNaG ˙tF,. t-TQ xX3>f?Y 1h͂vv34 I:*.e{ZCi pAwg $A*8*v Lw 5JO"lR*#O¥<_1n6{K- 6/°&%=6RL3DՂع?660` 6)Yef' bAt:l١b#*RmYD|&ZݽP$;Р!vR_QVk.d762vƁqh%(D@ w}Wn¡UYFcX'\bbB읷➫ ml<"C;ϒ%)519FEjRt{Uொ=P?>yѤ?*X0^ϡY!~{oQ.Y p3ѠOv>|{NX.' 2CcТ4B@] E~gJ_,ƽKtCkF$K$<TJ;'xa;9l&+Mh5M$'dJ T"w"X59mgD˲Z}’}(چ,> " ^lX6;(y@\a$@h r5$E<}N@Wp9 $%ᱮym=E 0WA8@hF@YycSe4/lS,\v~vKxo0P*KeLu4Y>mhwy­fQ1^1R֋a*;5tP܏y:Ś ,m΀IDHa;ql"0x. Yw-O^hJ?&8F͈\D؊2%^.#1lskSZM\[vp^oI.-S~|:4el%%\ǰZD䀫}{?7jN` I ?p.Z,h:8OzP~C 7!ϓȄ+# % 'gF{An!qDPĭ((Kad4 ͸†+~[xC=X D$Q${ƣ0+nƽk˾$ yݬ4p\,AiB0m `""+B.[INh,:gY^A s@{)q-ͲA7 _7\z}A$5]޿m(GsIͅ2Eu t'SeN~U5OۣOE(&9Vʭ|C׼ס?WO<+BdyߑT4L*E9K>^U\+X c:%QA( 0\T 5=@ѲN,K q7@xx/*D]@X]2O ~/NQBht#(ؤx{Uy@ b<ΑGw6r)А'n7;̚8"]V\G U)K󠴴˩e'h&g(/E+gfM5(bFG @Q,%~F;f쀏;W50|C (~޴ l0!<ȅ_ 0cD2BBH ,"C{FGRu;3N|G?r7 ;9Ԗ-sLF3Odꓦ/q@^GF7tXF Ά_옕'VC쳎, V @؏L_b'QE^/ӳ$z#c޹_<Zj\t,%ĕ5#e`/ yà (j$z%tX?=W_'&cf:KiORs 7xp@-ub16Pz<#OXQ[gO_EX F W@8RB )3B@C|&TPV9<ѓ`B3 G<z~k,D=;Hop2 'vQ!N~q 21f$qڋ_n'ɂ_BO.s*]Y40u `ǂͪ"7ru 6$kZBI(Io|k\h}nxҀets$9F"mrK#|wA%!c (U Je" 0sdo\\~ǰK/z6oqp[4u)ٺZv1ߴX3{iQ mS Up~Q1){nowT2<YhʹdsÚt}PDI2XUx}Tu[?wbWsqܱDQ"(1FBYOwll'@МAHR ! $NPrRҠYP^Ka*4w, F@qGǰc^S'>C w*״@i":$_G<,?(}~a1P=).'C]0,Nt}_b7vzYx5oL pA>[í 40'^!p({Pph$%'L֦ eF@q쬲ֽ:.xq+5Vxcw2(:ŕFs&ІF( B^ws8`}{&L?!H?ƠcZ_홦$tPEUNEߏ8YbiDA}4!Nsv'fh7CmUI5t3 <\kqԅz㾷fzC9z`w<>#},W]- on6஀ђx|)]XR_Q=CA@RU׻ʃ8ha4AM%Q?o4z_>f%c$c]~{:ER( E}Y*lu垷j/"K%ŏM1]gC!i~2* I&KWuH9oR84:ܝ&{ӼzOVGSHxѱ~AvtQtlHAk!1L@ h x:׿ p;ї=Θ~kǯqB:`>mMU!裂A@mת2: d'}?RHf{0@e * V>>|Oͩ&xys(~QB-~H$o5ٶXb t'^8 RE}ǻŴc m=j`O/:.3D;p?ä|W׽[^7h,[^ο~1vWP/M|SIŁ;uWYGJIIy~$x257֋nL#uw}{0FC:>4=PAs'=H/U ySIC5?=´=-ηp2D8e yeK]7v~k'GY`:wjgBIDhڟ8y{K]P5[Yo;-Jϣ扜p^t7/H{ҭCh":W*-Rs]yDB͚Ic@ u fp@Hb Xr?=vɟG+l T?SXGi)W5q=ƺ0Wk؈FxdK۟ޣ\1 Ukkl.nR3X ~&pؤj$ G[ s KpsfX}mN~ړp[ߋg=J Tn}sp'?Am r,`3!|%(n E ?eχIkd=~mlWy|@/k0?ԅ3Y`N446cNǮq0Ɵ `$tN7;`p{w'+M$4&4, {^?@)v 1p4h8P `'?%]*Q[i.{;p_e÷߂-;thd zL*zG@LUR@$ws*w`׃{g<iV76a˖pf>Qin^2(g JHQGj m@6uOS]E>@y(p8 ='A?G`HT$#vX7 |{٫P\-{]:W49w'F{ WX0_ro9?%Q . `&uGۉLM~9 >H~c5B'z>HQ&M}) !}.?<[ DAq賨@)(@(y g<XsY'_waCk\F@=信Ģ[7wS#7iJKs~JoB_oTqf raYS4N۷68XDpMI.G:$)TKbL Qq9{q(`Gs[ sI ΁^ւ@8 Ywl\┧Q%/~w~ZC^I"?R]`/W$ >1t•{Tǟ~Y럃3X~@S 3&kt;0 b6q pLZ1vPvۉψ~R ,c˥i L: p8O>IH } ZAsDdXVӿص8e/b[ww#P/겿IL"~L_ XķQ kWOMh9;K+` uC%\K]vh߀ Z-weo3B/f0$[ҠgD%ON㮂u\p&HF>NIfēD~\?CΟIာ Aۨ>ģ^ \jy+O\͜mmלP/m.Uq:h{+K\oח`dz~1c*vZ%HIo XrwèN܌>Kh-?BJg./rW4a?/0 Mٛ8j?"0Z@CDW8r+8T62 OCk5F@}du\ f}~PܟV|5LX3hf88ӷZ Z-$hr ^ '~oЛ:hu;{;=2c}?  'M:Q$;9{ &vk=p{\'uT „xm\H806Ħ h$!%_#r%ōnSڰT\7g>Z^~M4~#Pc)"WP7V".Ty35&-z~d2D`dz}4kb忐1M <`M݇ c'oh-^ $Ћ;%vޣ ՜x3."1Sm;CctΎ#x/we.!>Pw ^q_[^R4W߇[E߄6pGex#h~ok󷭸d=lâ; `.B2#0,/qȶ 'W-UI >T'И0g' 0}X~;ˏA{wL.3=:z(w-΁P,ߏSo,otB c)gulpm{β WN.Xw}>_ L+[ #{(_\w^| e^@"hh q规zS}580ЇEN{n N8 Bw;Y[J0@=>'r AHo8dg𻀋scm"~8>8rH9Dz 9 9ѯ3Gјq<u8悋2܋Gv&[}P/ rqT9?Goh{pa>Q|8£Ա4=KHb,o[۩>wq߼ ^zE_փ77s1{b?EK%D"_C+n؀7IQK$u1'~ȁg'+`Z׷:55G㒗'Γj}XpӋ[O4SPx%A|6]OJe~. @*\O}=go#.gЄv4;0on z:_Fv//䯞pޣLf.B%|@pœÂ> c#IB61j떣wK '=Z'/΁6c"!0 0_-]oV@xV,ctAЖ&Er܀j0ihtl`:5VcG/)P>xp: c5H ܽv!uExV]r(MbnLߓWѳ^ L{8/ 'K\vXK,?@&$~ vxOw;wK?-kt|́ij8ЇrR; 0}7Oxu8vJHBOoEg04Nm{z3^tNZ82`ΈZf hWM< Ѱ_t;\iO{.{kqŗh&?z ~7; z,Ŵhr7SVE'R獘{1>--z0/xca`iP0~2:D3Ә.[!0|(:wF`A;?AB^?I95vIM>,K d1~O ȍ0-Lj)V`L5˰? [^lࢁN֦i~=onFҘ\ˆd,\ݞN$y큋yj߼c 7ɿwKӶ~ϼ8l_0@7 Z2  ASC8,󖁰}k b,O7/Ac̋^鹧ǰfjZa`:pB4ܻ&d>@B8!ABC$Bj`X8폟s/0v}謹=f|F&Id!x#PW 겿r#Ԩ7Rᶹd(JC_ʀpq+ w V9t 3X9RL+Q#kC{\zk:d2هEIyP3yY`ys`R`ԓwLQ|3"șzaw^[< )"7,;Tа _6 Kh3?qōr BX^O}N<G]i0ckRNg?@[ƌ>4}q &v\H^@V=c5VԎ:DZӟ8qZklt!;XavWef׼aFUfxG@=@TXP7c.}YEFH鯿w\#5?X~ϣr_XwR\vi 8'g>뷜M%T.~ l}زjbCŒV^Ōi%KCsXF>A\ OXwEXO? ր8 dDDDx9a#Jfz>"8o$K u7?UXe}](&?!69ۖipdy $c\ PZT z CCrY*MunC&/o_Ё]9*9 @𓜒>OxzLWq^D gG>j=Z3?V<ϡ-[l_j`pdĴsI}PS#1q Ahwl'O| 6=X{-㓚TcX?fFX),){Q̘Ԟx1B  ~#PWlA 5Oԁ0Zb_ik8)=ID8 l7H&TH[g'jRˣk tعMdN:+1s-<C%iV9-mm]_p@+ Nx.-i:X iPmͯn%r5T\19b?Qy?@9\2Łnjރu֓؅9D[A$num7 ŀ[oF?o;^_-7EP5K#:D̈́\d2Sdrs5{]|[kceon2CtHY֥8.ģ #GB];$$$P{ݮw1ѣ>Kף%wlcimGusp̓,П8~P<&F;1mgϏjm˩!uYd:FSLbֈjGPW40Agbe*O3;6\oy0wO`:}E5Xhs,~s:{w;}}O[C! 0@ 51a`Pǎ?OŚG?$,#轜$o^3I3}]8l.QogH_g훕γ@0t15fb0JS ?ߟr?ca 5"e0-D~Oـs0 uZ}cv{/e؇c hw"-C`;4^_/kSQL17& X?Ua kѰ@~cEa.@cuS" u@yu Oe †i61Vf\>Hu;fmmC &z$XJ-W!7\Rsr3 ?c@wĚ2@z7ŏ`}ZyO-m:G`2J?FwV 95Am-T\NgIie 㧝I 엝w-}}3hv{hX ?󴮐1Áim [H,@Et0o 'UUԗ4^9hYU_Q8b- ܃_OPJ` '=#ݷ3?V3Slz 7u MBgv,<z[)hwjx?"Rc8ySGYݶs}VFs <Ln9z<+WUtLĞ~mT<*2ͬ/f}[O `(6ƀfwpXfy*t UG;ou& BWI9fk4S9Hɟ v^@6|qo;˝#B.}-eV2^uzFg.tvn,O2y:)Af4jw@?6n*mڌYIe0|7>`A>E9#x|zIh&tvΛ{_9,S/=C`Cm]̈́CJ F@=֒luV>ekG+]zfYq< nLdPu m`y-[z{_~mرMcPlPXrc%DXB !%8xvs^p}gsU}oU5j9w{uV]k}nQaS|Wl. \&W?"L a'\@8\$0uC9Ixuaw9л|?k;/ +AҼy~x &cAm>N g@@8N*7]o2E0( lA›Zh]ߑ"n/ٜ bb6AU#U {m(?1)epƿI="$ukd)~N9i&-C z>}'E`py $ JtAvҜ|;/ 'JBȠ{8{E.#4oHj ^gIg$]Xg(@@斸\ڰ pW3 ~ ۔?aAB ֠]WOA$@A;sP!UX'?O7%wv&>Q)2/h(|^* hEpF ~}5 {?_\TX#9^[<iyJS`HD!(}+PJmJo 7_j5H} @tW WhA-KCK,v-  s9h슟٪6B XGm 6?R%;\[Rqx[__aA#_E7$XZJ2R܅ԭ'jdό$X[ds_~R4HX35=T_T4<`]8r9VAa0J5n%e 62\z~uPeQ(pѧ[ I, ~C,֖|z,% Я&D`mYCbd%@}X%HY%_ hr9 +B·Jp?7~/ E|1د^I^̵W+ U>24.@kbҁqoɗX&)=]+!&x@BYLMgf 8l ,ZjCm");gY6>8wO \ ﷌{ ݯ^( y a֘U)јsxtR?/g9H R_GHȹ`}5K uk{o yPYΏ_.X;  |3.shL`a)EgZ^WF3aFk+a(ahxh ԝoC Um6e TԐx(up3pq֏ ڮLUfT vga}gObʌ282:[0&|?(5nƮtY)ǯ& 8ՙkIAո 仌92*X-Ms lA%RCٚ|r\wJ"/vʟn#@XXcZ?IjW ' /d~8_$* K`4,~^;,>kG9E9g(J@O <^gQcyWݕ"rFPgp73u9"2]X"`)dW }QE+A &!  p*Njn\^?&` UZlt^x!/%d8c[oހ3=ocUʽjӽ@B/n ~}i̯I?{r ͘ Xf0P,2!c<aJZߛ0 1aZ;6/9O Lz> '-L۶D$Zot x`0k_oS/? 7xP<4l |+ 2 H@4;C8zmĪ}OB@>+w̌tA@e 0r!ƚ$H m7;qKsoY Iz?vϏ{! kr3d{؛P-jO</<_{?g ^kx$1TJ2}PTla,G B ϾvWls]\m.kXd酑}S$ *}!$u|2ݯ;36OȎG`O &4qRlpuD%m=8Cq'֟`xZΗ绯X._A 3oql i\`;/g5k+@sf4`UkJP"> E"%\;e 6QQ K Rb 4/p˿cC%J@8܇ɒKFp#2mM,ef}PE*^(W?=T)(q}T#v2ʭe?-ͺʎc9ׄthfTsrE/\6ܚD?͊Oo.4mV,I: /8( 瀲\ -W~-EhPSAO2$AgPDHc/)"d~:,\ʫ BH!p^dqQlTWX”e-N, S/6b]SD?dİ"Ap{ihkXXH У D#F n~gfK85p4)JMKuv&uv~[A"j̬r[a0;;"04E PuI1/ʅHjV>`l91Dk7h7n+  2-\K;N(\9ae^-!`7@i>L#_ϱ)璎#£JrrO3x{?#R [,1+s..4X72$ZX \?|''64[ `#lG{c'2,{*Z'\)|~&ꀿ>L՞BS D4~ &wXmLn/3:&ޅ?«B" ;y(|qh ^m'*q D:Zfn0>LbEQ5~>cwvdDl3gfQ&Z7Ȳ (^`  %q^~;UidK6~lbi @ar&@*@Y,e r#*nl£>ݰs:r%*WUS 9GmNi?Jڰ* !IPj5YJ3<{pZ>9=X(%@k( gQSGg&؅Ga`'yfAOXm^Կ/#$h._۠,7^rKO/}ʵ&7C{0σ{ݟxG~HPeX :oΥ,Պ]*)31oUQC9O snX|ܜRљ݅%XkaC "|Lqzŗ}K2*5$,}>?SX`QFy.n"F ={T|)' p\VUQ;O݄I;-n3fR1<>>;@@VsKwt?s :z˄?e-,k6'cjfW*ָ&" N`w_4, 1Vݢyu? iL 2ΐ@cNg:ȅ$'{OLg%{]@ng05lʉ pZ`u`P32:BˊUց׀U`dfW7 oaL}ĕ{ hB&_x`f~G3_-;TD_$Eԓ*@4PO |,~C^?PRAL= D(2>. 8yp 6TOcj}Y>֝kpkɣX]2Ju]2ѴZ>=u#6Mik}>"{@>1&}֣^yPT˜GtS<{wK-=esut*߾mi%Ti)B ;>Cgg_Nk>PeW0XX 7X ˪y%(C"Q* \\B'R1BMe*Tp׋Mq-ZV*f/9p|W ?) xOío(0+i*v=KN|<]AM-i݀ta#_^zg R:uMLжc]۾i,0T.܉.#ow6R| %MlO2 NWm> LN _*0ÖsԣįnSWGwt9L@?A LWx=g a)/3Oomm,c2 "DZXC4U.9oAQTہyW/WVM@-pX$o`\%0sBFA_DH|xXC|{p &ǓL|jd`4Uu]78eg,bU8n )eɖ LC aXX3̦kaPkӤWu8 +$Vc_x ?&\{\z9]@"-/ !7xԆve~|.칃t[x~&5&%Է5%1Y" 'vKj\ 'ˈFb%pVZmND$2ǝ&Ě 3?2XAbMZӷ}vGVPh 5g,}X3e׭!=:q Y`}aL+/V(}MQE@T !ۏֻQ\8:9oGgo[ -:痁;h/g6sbiGH`1ó+߸/ X7&*oOlM&|aOL4ݚ غ42ͳ2iӀ-)[`grY$1 dy͞ɭvO] P c?bj O^K:]TS΃iZނ РF_OlMPO<=i=ue}{P+vnUu )s@,*r8 Hm2&6}BTck.(D?݇Cz@eU&&cxv YZ7gOHAdC뗨oI,p_Dzn[`u"0TYx5a?EtGӎ߅o$| +AY}#VR[FH8#+ߌ5Blx|}m ~~e>YTor)Bڞym)@J .qlc]Rg39d2UO/Tϓ 0`RO߯p5fJ4N [~L묧 \h&4 ,->mԣKB/:CpFkzMtfDb\b *kx%o#[;sVSgh^l o>wD)09Кz?w^OʠdlQ¤ڃk@⧍8,WEm_ۚkQ>"w)0ŕΆ#ņ{jy:1 _Y<ɀ?X¶c?ʍtjtȑLm8 pLapo `m7erYa/xм^l!]Zۈ|ނv32A`YFlh.+Oڀ pYIrAַ`<qjv&R xz)Y+@ِ ;6.dٲ`ڲ} 5; V LlV_ind\T&K(3BAnj$-T@GS%iOn JlP*x )|S:jFT'x<3.AzD[gX!4oc1 E2Yad2n- ~BuqR6+<`2`޷U& ߐ,_L~l~jS=8; VЌ`_C__NN^.}l6u9OB!On#!`?݁CO/Q8e UV"(0'.#H)A{t)x0W6)F&X--"d򟎗0溁O$VFB?+| Ah*OSN\%iNOb&N&8@:u|]"Lelj/ :pt Gp4#GzSxZLY,U=Prs&\Mu̮mM0x^gW? Vmq{ z~KӋLzXj\Y>s~WQ'RgB&x|\ox׌u&4e(|EB_'>ǪfVEn@gKvJ@?J_?,kT0^V{]* `UOyyWK'=?'~8$=>vk7 ֤ 6M337 xzOtx)7 e_G?ȉBuNewt+tivopǥ/3` '׃hAelSGMt•}cU+ @S2S5@T<{x|5XnJ=TD(µ:ߒeӄe[ Xf$~yl=K _2wYO>2pC[-3TTW:HMc.I b` /_FP =H|D/DkXztuoo_I ?>4u&\|En_,gCШd 6No@!zf-0!o|(J}:ѓ3Vh";v 7VT~Oy@8Y561ұ0ff{s\ɽkAeRLLt} \x"jT7^{&N1:l>[B} it6|O*қWXįVFe d EhHd>m27A6TҊYܷۦo6_'pWAB9h~wࡋ0ab*}RA +Y1ݾ ,JH6ΏΠ7M`|:Ýl`, `\ Q} ݶ 2W F\6rD,XMɟ4>Hu"C ƚ.73k!eʃ͋c&DnY 6Re2f<!.C8>_Lf@|sM @Uvp MN~k"O *G*M')psB8rB#e뢔mrͨ)@c@p>eñb}؍=&} @6&Ju4Vc@`: J lNe>RSMhpgf@ {th ۭ!F࿋>;wnT5vm_wXƬi6Ƣ ̍E^Q;AoD!AΖBxȞdm* Ӗ/I=?Oj#ۗ@*Vhz{C4/#UCmt 8?lr9WhΕA ~Vg vnr~z\3Ÿ3(e^ |إ}.(}Y`7p. $V q^cVW>@̵#rȼ'*7OʟkS:EAB,”P5xodi&/Pd&mp ID#uv^7 8 Of 0U= ׌Kj_]H~9ps.}^yL5 4 dbD3ͻ5@@]P OpN#ieu AF}| V⇚6rV(HYˆb'\eP`׫b^ZNDa:|~e/#IW(@B 1lN]:B`x\g]]*75Մygpʨh}eT6T=j4z0k%8M$r/`Ĺظ`cʭ rLl7]A/oÂi&_Tb|nZXD%>=d.,ׄFkpdb<7 Sô 4ϏP ~W?ky*ΥhR9@*q{3ٗiP0T\;3}Qo0ZisQ`UJ _"Aƌh^uevDÅs '6z+k ^.o91oDf_|~]td%:g nkی`4`k!$$%R za@"@x ә+$1E/K ri2 bɃ]96(;JW#@:c(m0\fv 2p3yeͮ5吼Jj K}r sU1,OWE ~Pd=70wx Y7)̎ml|cw Pܮ<k{ a.NG41!iP qqK5v?6X.Р2`Zkpq.9+Meb,. ˅&R + t(dM7U ,;#.,K_Js(ߗ!iI3rm]L 7] !lҘ]{ܟݰޡG[7=L])_B"y 7Wxfa|0O S%M4 ˔܇ !;jv tߏafui>6NJLКMU9 Lۄ+B2'i~EЗc>rʁIXn-<]y5q ؉Z8}(\EWx6|Y(Pfe_бCef<ϴ:6K/{'[%Okh>_ m@1܇b[ `88_4ЏY|S5Zot ˈi&@cLlPnSSvt~EkHLa/G> aei>&VHB! EQ 1)&NMȟw<^!x.35CdתM8T=YyXn8k7ٔ׵xWmPY eZA Kw+&ו! D! luYàͻ]6&&+ٜGSz3D!e6QBn%%#_WpkVm)o5cGwW\'!mBg f/ 1G1 Z) p3my~_^P(5.|p ˦?MFPi&=mtf\' >ZXah<x Ěx6e6"E[Vu5~ \LKڀ#Tt 4C&T\)͹֗4ր.|~c_F|sn _υS8 -axwL{ (r\u~#KuA=y{#7"BIL8a,ixu~51 ( ?H[rB@Z{6b!ƦNIswS‰/ R2u XCd r;"mM.IԽw.Y@F0K<*} hѣVh@+mФ$4̶ E0h]Bjۿ>nzH>e9fA3)`ӆ rK JA_=܅`ľ؈DoXY,j#Ngna ,x0xjr6I'lB(VY_嚲]ퟵ~OMF-0rc 7_U7*P^~.;?4Bҁ7(b#ۣyU& liMuK N&K}8lY,Ճ ?Wv/emlHy&WY>]vM&Dh2YQsMNcϯP5D?8؁!e,L m26wVr\̏1n@.:(;x{uqx+E@M%60I d<āePݳ7WE86=~8S=B˴i?|  a0x}>e\R/]TTpq3EJ8-%QThؤEz`ÑJp5޴^ewA=I?4WԆF;6 %̃hT4-ic=}{4r7=+~ƔAh/C8&OQ&@iƢsZB<3kIv-Ǔ y]9/[|v.i#mUHHQ^0m1^C,Ӷ:l: ʴ4V_4]mUɏ"cWz6f @p7ѽ甪ƵxER-2_5 @' Vgsf< djhѣFwKT7k#mmJ-"JWfB&iBn ;0uwM 9G@K߇ֿIZg @6 >OB_ .IE4 (XPjzkUjJ"d{L}8 n# `0ut ʜƴ@D1eo ڦ&_ڍdI>\dTtIՊ~.N7-M_w ԇ;^m2sd.К7nnl91fԁ֍>xy@"P?W%Iߩ8eh|ξ xk1iU#c*0EQ?momp%nف2.5}y4h3?WvHM`_[*s(l XuDz 3P_o UBFIi7~| g6?Cǁ7g7=ϑduMj̱iX?JP"tQJ5*~ Dg9>e 9FZ0XA؇!8C F5me+_yDw` MԌ|~i6Ldü߲\:h~ C]"U~u套)C7oۿ υg4M63_W,I@YwMߛs^RlJ*M6KMhiǔ 2c 1l<>,:Mn^`?[Mg܋:/} Pba)2X!闂s]W> R7ȇ 0,\T Orև)hj q2`o@UBDB`m|Di3pQeqWiv;:@TWaWi%)}6.~>?(x-6. ޙR\5]{A EIF  EqQa5媽e6O9}uK'T+wklM- ~%d@U4~PT/KH2+0r\t AQ `3[ZY.2˛iWԦ &# :s~[  |S!t5f=SkC&#_kLV@*,~JpFB*(Bk&ȯ=o?YX%URU@Bze2{Xh?38K/y45n i }{M<܁sha.BBA>uA߿? ۋyoBׂjZCyZ@݃plN !Y@7`3U;s}ڇDh ]@O7 W>Ժ2_1(" ۾k<}Wy&HqY5 7یUwB5GCoo >|~ ц1qBp~ 0.$OsL0" e@ePGM_wGXF(\X-OyTa9t]v4VbU[5fS0^xnVV I&77UQ&\<|e#,ͅS l\BNG2x(݆[yGwʦ +3[mǕ\4&C_kٛY?r]P|`,&R.W]^LF!3jo@5lL;nG(`X)XhҨ7x{Ѝj9Y^2kQG0H7+o_¡zaWks82O~L1& Mk€}YL])ycڷ:7, E eԘOGŅ2m@X7}+ym5i/sws6Ǜ _"MWl}0q?4 4}5 == Pћ*DQ?}pbRjj0Pou-N#~jUkw"(/,~E]޾UMi [elX _;sv 95y}pǒG.| %_gfPFyHcWDF-8[՟ьKU93m !|-<\-->0 :Ne Yf})lJ/W DI⫆u^+0C܀MۧaZCPӐxTWgNۤ7ȃX+ ~~4~)h[2S 5~K7M4xput&| oΦ0:8N}Jz=(~_Qoɛ^WW(ICj@ڈt`^ꋇ/xjkQyF[Y/|.Fuu|~EW MvCyN ?H#2"X|ͮM`1mχ[VGV-{]5mk ߅8 MCh> ߴDoӆ;WvmRe}P a_ esO׬Sp*7屫Xʊǂ$'JO]g΢ Hca_%EB@`:/jPc[jLo(8&j࿮GA~\Q7,_[ui}mTewL77J6?$ +ۮ^_tnČE:xЫpYYŅU0))~_\ƭ[bjLj#7o.ӦVO}(||~S_@X9_Ǧ>Ujۆ*Ұ|3A_x;>>>yuǿ{\d>ג*) kX_Ҵ_v-̙yI8̮Р_mZRnVoӢVVjX'B|˒_چob>[i̅Bq>w{) b9J,9ykSO[]|mLyX4@a0SɸTo#W=QFTa79b BC}S8K|~I;/\h$X/2n1_%o`π)?r=,L~ew>~6 V\mD ͑h|  3Y7Qu䜱`r0D42yC͌4hfZ]/r`v~ ?_$4M_``>ֿy+ˎ!ف}GXMP[pK\ ukܧ8' ׊ >-6j3e4@*i6tl>26xr1ML1%6{9kS_}7Fx`,;/:pÅO jC0 EE~ojtX8`](ʭ*VnI6.IEx+׹E4%OOl7G.yO'!`c^;;3 b`0?I@E(WҜJ5B58 yN''~Bdc̻(D];AS^RմaSEWi=7oV`iC- gI1@X8Y>Nbm/[ߑK뮕>wYW%lڤ]t/ԌP93顧?Li+z0IhdqiFj)$-iA'VևNO_3q kqv]~ɓUY&2ڭ3]!ht4!:GX8 %:ot'"pDK3o3:]CnheMB#b\Q`P~_d` GCfFj 36tr'f6Ūe}/HuDdW_!_+'.M\bzΠG& 6|bk1.ʠ?=e>p`9g"K4z4  8D9M&Y @k%m7G]%?Ze߀ icQCȕ+:b)kkڌˁ\v"G`SE1]uŔX!㱍7|9r aB_LĆ^u?˂OupYBaRcl/nMǫ_46̀_j@*]e\Ӛ<+ :+4P|y+OfB} ]7&trs|ou7Z&19G?YLZ2|< m8r@5p})$4O6 ߯Z'FXiIV4jx5;6Ee h~pg ҕ-A *c)[0帲Tf M D>2A]W_y޷ K+q)p}M@;|q3+ɚ0~2; RV@AP) / ڞ@YX mȇT#6^_|QmI1%[d`ݧ"Aů-M෩%%w</ PBaVf$A_P@a8^'²MU?ÕHBZWk.5؊0}sZǟ܍OCK[JdwV4RB.ا1D F:t&U$?" DQ [d 2k- ܆>y>L}_XL6:l 9tڨJ_m3  0^1l@m\]oq 5 Ф * аt"0 "j)(8) !^ ]V|sॄ  Do\>?4_Hgp t /M +H(Ya~ F;3ƙ|deVlKo(> _ȑx0"f\c2/:bF113{S>k"#HϦ Eł6$ #K8*a `6.k]^WioH>u.b_uK2 *7߆ǓY)Wr,€t]VSTإ_#rl/N .-> b69uv\w(kq_;Mm l}fYʶ~|P968YT:EAXl 8aϘȊ1 Bw9iI=BA%h17R] 9 ],PTC/ ?@T=;M҂dq]y%ˮ_{̥3Wh6t7u4kaR#I]k΀q ,^CVvMn r_8'4ΙNp35IІ~E>rN|~)KVddB~%O:2 Q@w[3mW\s`|,loVs3n4M)lr57Կ{0 ddݤr@!(Tƍ- ЉE> 0t04B$*dTC 1UWT7 0IK0`o7\\tF/] /"r.suX`؝,qz7on ˸]RKS +z# >M)^S6i!Ha:A1 dY aB #7u @\UpD>?|~.^H~~냯s'@YlN=/]ADK~p `gl11&]f6ZrF=v-/dz47}Ё+%V.-dƾrx"(a$ M9ܻ|n+b I1x}$l$yI`33PTi9pg*Эo3EP"k+0 K޾'2BbAD ?J,#/IkZP\=W4T큝*E $m<[ߤ4qR%'~vS m5C|'NdQĂeQ VB+&B.nIZ8fbN@@uo.{8]ݿW/}-~\Hx|8.B^ux ~ǥ"q M_Ku'lcץaK4_;_ e_MHw&_vV1!n_@炰#ڎL݀+/eCa8,&>!+AuF~ot7F _ϸa!A$f`̞(`&$3ը_=-X6|;_oi`߾ff 6w0 8SA(F n0F%0apEؓQ Y2;L, ϻkW# _|NDYCuT!R~?;\d(x>p*w QC=7ڼ\o85n[~ӫl '=b3| an yZQgUUX 8S2wKn{F-SH㒪+&ww5qpϿwD!Z hn-`C>2I3C(9`B? ecGK_,nn9 Ͱl^Ic]Pm e$LN 6twDn'"vx?)Nzȕ+׍2)}(ŠC uw~ _/>~ y}PW m*+M[}fho3Oydsmlu󲼀5xŢwpa]3]t;i5+δ1,WU'nyv8Sd'DУH1 {(P 读rOВ h{G~@^I'=?l7}1 P?Жg_M/{.z8fKh\Ce+u\*an;\ѻOp yhU\4 umg]>%pw aTUXi\G7/<q{.8ר!Wrt)v?>p+gTw@Vj\}`4p??'|߿5p?}Un< OfOۋ @~tgx0/~??B"&+M @"$hs_M(DA}xZg_?>G$) Oq`i"qVJJ90=YwS \to0j8lwmrsx㯃0#b4<-띺_җ\L0u ɂ@Dlh5Y. _]x&ݲ@-gcaǫG0_mZ: ^0*R<":E ~3!gwܟ ]'{zvrp?@|āѫWp^m~o{/ ɜ;%F+.`M}~N)@pwmX<ߍ`AhӦiM:`3Eu%[J8DLɹOiS!Lk{iN\`pDžad:\{q"Їreۻ;~]wFK{wF0]<|>_3wcs:=G#a=H*&1gGS:΃P{G)v;o2 >[M 5}]Tx;}ooe-/Sb wy$w+$v\(iI!bn̢G` A8Xb`N=+ΣOG]G{놇Oϕ:<¯Ylq"6GE,~iszlogۋ#KMb^S~ m/9tSj|bf9?1S\$<89t*Cm(v{}?hnW5v6mKS|׃ȃA}jMtؼ^࿩oIJTj\ljI& 6pxϸ~*ƽ zoĜx|OC׸q@^r  Ost2c{5~v]n)OLWbN_RZY&&2=_B𼿲8/jM ?xY $ ?_]~?|0W #!Jf@>2/rMyS 3Ҹ9G{;i_~I<}*E퇻; HF$}:-GkDX D`[95dQz `ݶ@G Cw2O{ ׺;ԕ!΁eU׬@W5g7}VO Cvq*cGkeUOwZkw{:9\GcdƁ;`rMO8eysfO%dpLd3 ߋMy>tl=B)Sjh'&9NO=ʤ2*M[Svn\HŸqg_w;~ 2!R}Y#d%?YPJ@?Z>?z<MGVv"h$}}59wzs`yvy@< wu) 7uHa#"E&!2OH;9}mlZ9>MO,_=CA] 9 ~HG y+4^V&/+9P^3_F @g&]I^GwOeR9(Ob1F \~28`ϿǏx2vDk';|>d?!0;/FtC;D Olݶ@,7)S`vﺟXǸ00L 1AÏf`á !eM^hxd&}2scpLRy`C@N8PS|!x߷|~9mP.lC4wqp'2)DZnnmmiM82na -=8\e7"֣{cG #)X ,b kÆOȎ rرlc=3]sj<=vl9sR{&V[ܯT/acnCV(.Rja|[~t'3U1]Kmbk9~Io (m[^AĎ7q r[522\JdެX7*+>zk5S ]\3&#ᇥ&ԭ/A~ڻ%U摤Ps | ;4TSg+G%11%;sAFĬJƂ8nu{|S#ٵ9f DݤjsmdQm_j nXdx-nFy3q_ /TkA|0K[?o_=Qp3wM-G,b8;XYM?k #kWO _ZgIa$M+[7|}X/A몛o# 皪64ŁnȘ'[Eys/$v h\!mU Uɿ}FƹwD 39/a4^a*ם*wo`;+p3Om^%oOVvqx}Sv5KAն}NßF|+0,хˉ^ v19 fg'|-K>@ _Au#6FOKNWD3 b51w3P.=rYԨPfBe-'}S%Wt9EOrԵMO*)$?XzLk.Sa: =(t7 rz6{;z"߫3 3$~fA rGd遐"&R>wb|_ű{J # gL'TEvcsL<QA {\ nUۘEal(a?sgFj^ˮ&iA9mv:͞IA4 xO0bAp/=so}=MnX,ySV>zd\MH'|SX\ !h]Iu^PioParNe<ey ic c.aleri.tsdoc-1.1.0/lib/rdoc/generator/template/sdoc/_context.rhtml0000644000004100000410000001477313641340555023634 0ustar www-datawww-data
<% unless (description = context.description).empty? %>
<%= description %>
<% end %> <% unless context.requires.empty? %>
Required Files
    <% context.requires.each do |req| %>
  • <%= h req.name %>
  • <% end %>
<% end %> <% sections = context.sections.select { |s| s.title }.sort_by{ |s| s.title.to_s } %> <% unless sections.empty? then %>
Sections
<% end %> <% unless context.classes_and_modules.empty? %>
Namespace
    <% (context.modules.sort + context.classes.sort).each do |mod| %>
  • <%= mod.type.upcase %> <%= mod.full_name %>
  • <% end %>
<% end %> <% unless context.method_list.empty? %>
Methods
<% each_letter_group(context.method_list) do |group| %>
<%= group[:name] %>
    <% group[:methods].each_with_index do |method, i| %> <% comma = group[:methods].size == i+1 ? '' : ',' %>
  • <%= h method.name %><%= comma %>
  • <% end %>
<% end %>
<% end %> <% unless context.includes.empty? %>
Included Modules
<% end %> <% context.each_section do |section, constants, attributes| %> <% if section.title then %>
<%= h section.title %>
<% end %> <% if section.comment then %>
<%= section.description %>
<% end %> <% unless constants.empty? %>
Constants
<% context.each_constant do |const| %> <% if const.comment %> <% end %> <% end %>
<%= h const.name %> = <%= h const.value %>
  <%= const.description.strip %>
<% end %> <% unless attributes.empty? %>
Attributes
<% attributes.each do |attrib| %> <% end %>
[<%= attrib.rw %>] <%= h attrib.name %> <%= attrib.description.strip %>
<% end %> <% context.methods_by_type(section).each do |type, visibilities| next if visibilities.empty? visibilities.each do |visibility, methods| next if methods.empty? %>
<%= type.capitalize %> <%= visibility.to_s.capitalize %> methods
<% methods.each do |method| %>
<% if method.call_seq %> <%= method.call_seq.gsub(/->/, '→').gsub(/\n(.)/, '
\1') %>
<% else %> <%= h method.name %><%= h method.params %> <% end %> " name="<%= method.aref %>" class="permalink">Link
<% if method.comment %>
<%= method.description.strip %>
<% end %> <% unless method.aliases.empty? %>
Also aliased as: <%= method.aliases.map do |aka| if aka.parent then # HACK lib/rexml/encodings %{#{h aka.name}} else h aka.name end end.join ", " %>
<% end %> <% if method.is_alias_for then %> <% end %> <% if method.token_stream %> <% markup = method.markup_code %>
<% # generate github link github = if options.github if markup =~ /File\s(\S+), line (\d+)/ path = $1 line = $2.to_i end path && github_url(path) else false end %>
<%= markup %>
<% end %>
<% end %><%# methods.each %> <% end %><%# visibilities.each %> <% end %><%# context.methods_by_type %> <% end %><%# context.each_section %>
sdoc-1.1.0/lib/rdoc/generator/template/sdoc/file.rhtml0000644000004100000410000000204413641340555022714 0ustar www-datawww-data <%= h file.name %> <%= include_template '_head.rhtml', {:rel_prefix => rel_prefix} %>
<%= include_template '_context.rhtml', {:context => file, :rel_prefix => rel_prefix} %>
sdoc-1.1.0/lib/rdoc/generator/template/sdoc/index.rhtml0000644000004100000410000000106713641340555023110 0ustar www-datawww-data <%= @options.title %> sdoc-1.1.0/lib/rdoc/generator/template/rails/0000755000004100000410000000000013641340555021107 5ustar www-datawww-datasdoc-1.1.0/lib/rdoc/generator/template/rails/search_index.rhtml0000644000004100000410000000026213641340555024613 0ustar www-datawww-data File index <% @files.each do |file| %> <%= file.relative_name %> <% end %> sdoc-1.1.0/lib/rdoc/generator/template/rails/class.rhtml0000644000004100000410000000362013641340555023265 0ustar www-datawww-data <%= h klass.full_name %> <%= include_template '_head.rhtml', {:rel_prefix => rel_prefix} %> <% unless (description = klass.description).empty? %> <% human_desc = truncate(strip_tags(description.gsub("\n", " ").strip)) %> <% end %> <% unless klass.method_list.empty? %> "> <% end %>
<%= include_template '_context.rhtml', {:context => klass, :rel_prefix => rel_prefix} %>
sdoc-1.1.0/lib/rdoc/generator/template/rails/_head.rhtml0000644000004100000410000000115013641340555023214 0ustar www-datawww-data" type="text/css" media="screen" /> " type="text/css" media="screen" /> " type="text/css" media="screen" /> sdoc-1.1.0/lib/rdoc/generator/template/rails/resources/0000755000004100000410000000000013641340555023121 5ustar www-datawww-datasdoc-1.1.0/lib/rdoc/generator/template/rails/resources/i/0000755000004100000410000000000013641340555023351 5ustar www-datawww-datasdoc-1.1.0/lib/rdoc/generator/template/rails/resources/i/tree_bg.svg0000644000004100000410000000054113641340555025501 0ustar www-datawww-data sdoc-1.1.0/lib/rdoc/generator/template/rails/resources/i/search.svg0000644000004100000410000000163513641340555025344 0ustar www-datawww-data search Created with Sketch. sdoc-1.1.0/lib/rdoc/generator/template/rails/resources/i/arrow-right.svg0000644000004100000410000000056413641340555026344 0ustar www-datawww-data sdoc-1.1.0/lib/rdoc/generator/template/rails/resources/i/arrow-down.svg0000644000004100000410000000056413641340555026176 0ustar www-datawww-data sdoc-1.1.0/lib/rdoc/generator/template/rails/resources/css/0000755000004100000410000000000013641340555023711 5ustar www-datawww-datasdoc-1.1.0/lib/rdoc/generator/template/rails/resources/css/github.css0000644000004100000410000000276613641340555025720 0ustar www-datawww-data/* github.com style (c) Vasily Polovnyov */ pre .comment, pre .template_comment, pre .diff .header, pre .javadoc { color: #998; font-style: italic } pre .keyword, pre .css .rule .keyword, pre .winutils, pre .javascript .title, pre .lisp .title, pre .subst { color: #000; font-weight: bold } pre .number, pre .hexcolor { color: #40a070 } pre .string, pre .tag .value, pre .phpdoc, pre .tex .formula { color: #d14 } pre .title, pre .id { color: #900; font-weight: bold } pre .javascript .title, pre .lisp .title, pre .subst { font-weight: normal } pre .class .title, pre .haskell .label, pre .tex .command { color: #458; font-weight: bold } pre .tag, pre .tag .title, pre .rules .property, pre .django .tag .keyword { color: #000080; font-weight: normal } pre .attribute, pre .variable, pre .instancevar, pre .lisp .body { color: #008080 } pre .regexp { color: #009926 } pre .class { color: #458; font-weight: bold } pre .symbol, pre .ruby .symbol .string, pre .ruby .symbol .keyword, pre .ruby .symbol .keymethods, pre .lisp .keyword, pre .tex .special, pre .input_number { color: #990073 } pre .builtin, pre .built_in, pre .lisp .title { color: #0086b3 } pre .preprocessor, pre .pi, pre .doctype, pre .shebang, pre .cdata { color: #999; font-weight: bold } pre .deletion { background: #fdd } pre .addition { background: #dfd } pre .diff .change { background: #0086b3 } pre .chunk { color: #aaa } pre .tex .formula { opacity: 0.5; } sdoc-1.1.0/lib/rdoc/generator/template/rails/resources/css/reset.css0000644000004100000410000000166613641340555025556 0ustar www-datawww-data/* 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 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; }sdoc-1.1.0/lib/rdoc/generator/template/rails/resources/css/panel.css0000644000004100000410000001647113641340555025533 0ustar www-datawww-data/* 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; overflow-x: hidden; } .panel_tree .results, .panel_results .tree { display: none; } /* Header with search box (begin) */ .panel .header { background: white url(../i/search.svg) no-repeat; background-position: 5px; box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.2); height: 40px; width: 100%; position: absolute; left: 0; top: 0; z-index: 300; overflow: hidden; } .panel .header input { border: 0; box-sizing: border-box; display: inline-block; font-size: 14px; height: 40px; width: 100%; padding: 0 5px; margin: 0; margin-left: 25px; outline: none; } /* Header with search box (end) */ /* Results (begin) */ .panel .result { position: absolute; top: 40px; bottom: 0; left: 0; width: 100%; overflow-y: scroll; overflow-x: hidden; z-index: 2; } .panel .result ul { font-size: 0.8em; width: 100%; } .panel .result ul li { height: 46px; overflow: hidden; padding: 4px 10px 0 10px; cursor: pointer; } .panel .result ul li:nth-child(2n) { background: #F0EFEF; } .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: #777; } .panel .result ul li b { color: #000; } .panel .result ul li.current { background: #B61D1D; } .panel .result ul li.current h1, .panel .result ul li.current p { color: #D9D9D9; } .panel .result ul li.current h1 i, .panel .result ul li.current p.snippet { color: #ACACAC; } .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: #B61D1D; } .panel .result ul li .badge { margin-right: 0.4em; margin-left: -0.2em; padding: 0 0.2em; color: #000; border-radius: 3px; } .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 { background: white; position: absolute; top: 40px; bottom: 0; left: 0; width: 100%; overflow-y: scroll; overflow-x: hidden; z-index: 30; } .panel .tree ul:first-child { background: url(../i/tree_bg.svg); background-size: 1px 60px; } .panel .tree li { cursor: pointer; overflow: hidden; height: 30px; line-height: 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/arrow-down.svg); background-size: 10px; position: absolute; left: 1px; top: 8px; cursor: default; } .panel .tree li.closed .icon { background: url(../i/arrow-right.svg); background-size: 10px; } .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.current h1 i { color: #CCC; } .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: #B61D1D; } .panel .tree ul li.current .icon { background: url(../i/arrow-right.svg); background-size: 10px; } .panel .tree ul li.current.closed .icon { background: url(../i/arrow-down.svg); background-size: 10px; } .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: #B61D1D; } .panel .tree .stopper { display: none; } /* Tree (end) */ /**/ /* Panel (end) */ sdoc-1.1.0/lib/rdoc/generator/template/rails/resources/css/main.css0000644000004100000410000001134013641340555025346 0ustar www-datawww-databody { font-family: "Helvetica Neue", Arial, sans-serif; background: #FFF; color: #3B3B3B; margin: 0px; font-size: 15px; line-height: 1.25em; } a:link, a:active, a:visited, a:hover { color: #CC0000; text-decoration: none; } a:hover { color: #990000; text-decoration: underline; } .banner a:hover { color: white; } h1 a, h2 a, .banner a { color: #fff; } h1 a:hover, h2 a:hover { color: #fff; } p { margin-bottom: 1em; text-align: justify; } h1 { font-size: 2.1em; font-weight: normal; line-height: 1.2em; margin: 1.4em 0 0.7em 0; } h2 { font-size: 1.6em; margin: 1.8em 0 0.8em 0; font-weight: normal; line-height: 1.2em; } h3 { font-size: 1.4em; color:#555; margin: 1.4em 0 0.7em 0; font-weight: normal; } h4 { margin: 1.4em 0 0.5em 0; font-size: 1em; } table { margin-bottom: 1em; } td, th { padding: 0 0.7em 0.3em 0; } th { font-weight: bold; } .clear { clear: both; width: 0; height: 0; } dt { margin-bottom: 0.3em; font-weight: bold; } dd { margin-left: 2em; margin-bottom: 1em; } dd p { margin-top: 0.6em; } li { margin: 0 0 0.5em 2em; } ul li { list-style: disc; } ol li { list-style: decimal; } .banner { background: #B61D1D; color: #FFF; border-bottom: 1px solid #9b281c; padding: 1em; box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.2); } .banner h1 { font-size: 1.2em; margin: 0; } .banner h1 .type { font-size: 0.833em; display:block; } .banner h1 .type, .banner h1 .parent { color: #CCC; } .banner ul { margin-top: 0.3em; margin-bottom: 0; font-size: 0.85em; } .banner li { list-style: none; margin-left: 0; margin-bottom: 0; } .banner .github_url { color: #CCC; } pre { margin-bottom: 1em; } .methods dt { width: 1em; font-size: 1.5em; color:#AAA; position: absolute; font-weight: normal; margin: 0; } .methods dd { margin-left: 2.5em; min-height: 1.8em; -height: 1.8em; padding-bottom: 0.8em; } .methods ul li { margin-right: 0.7em; margin-left: 0; list-style: none; display: inline; } #content { margin: 2em; margin-left: 3.5em; margin-right: 3.5em; max-width: 980px; } .sectiontitle { margin-top: 2em; margin-bottom: 1.3em; margin-left: -1.2em; font-size: 1.2em; padding: 0 0 0.25em 0; font-weight: bold; border-bottom: 1px solid #000; } .contenttitle { margin-top: 4em; margin-bottom: 1.3em; margin-left: -0.9em; font-size: 1.6em; padding: 0 0 0.25em 0; font-weight: bold; } .attr-rw { padding-right: 1em; text-align: center; color: #055; } .attr-name { font-weight: bold; padding-right: 1em; } .attr-desc { } tt { font-size: 1.15em; } .attr-value { font-family: monospace; padding-left: 1em; font-size: 1.15em; } .dyn-source { display: none; background: #fffde8; color: #000; border: #ffe0bb dotted 1px; margin: 0.5em 2em 0.5em 0; padding: 0.5em; } .dyn-source .cmt { color: #00F; font-style: italic; } .dyn-source .kw { color: #070; font-weight: bold; } .description pre { padding: 0.5em; background: #EEEEEE; font-size: 15px; overflow-x: scroll; } .method { margin-bottom: 2em; } .method .description, .method .sourcecode { margin-left: 1.2em; } .method h4 { border-bottom: 1px dotted #999; padding: 0 0 0.2em 0; margin-bottom: 0.8em; font-size: 1.1em; color:#333; } .method .method-title { border-bottom: 1px dotted #666; padding: 0 0 0.15em 0; margin: 0 0 0.5em 0; font-size: 1.2em; line-height: 1.25em; position: relative; } .method .method-title a.permalink { position: absolute; font-size: 0.75em; right: 0; } .method .sourcecode p.source-link { text-indent: 0em; margin-top: 0.5em; } .method .aka { margin-top: 0.3em; margin-left: 1em; font-style: italic; text-indent: 2em; } .method .source-link { font-size: 0.85em; } .ruby-constant { color: teal; } .ruby-keyword { color: #000; font-weight: bold } .ruby-title { color: #900; font-weight: bold; } .ruby-ivar { color: teal; } .ruby-operator { color: #000; font-weight: bold } .ruby-identifier { color: #000; } .ruby-string, .ruby-node { color: #D14; } .ruby-comment { color: #998; font-style: italic; } .ruby-regexp { color: #009926; } .ruby-value { color: #990073; } .ruby-number { color: #40A070; } @keyframes highlight { from { background-color: yellow; } to { background-color: white; } } .highlight { animation-name: highlight; animation-duration: 1s; } p code { background: #eeeeee; border-radius: 2px; border: 1px solid #dddddd; font-family: Consolas, Menlo, Courier, monospace; font-size: 14px; margin-bottom: 1px; padding: 0 5px; } sdoc-1.1.0/lib/rdoc/generator/template/rails/resources/panel/0000755000004100000410000000000013641340555024220 5ustar www-datawww-datasdoc-1.1.0/lib/rdoc/generator/template/rails/resources/panel/index.html0000644000004100000410000000302713641340555026217 0ustar www-datawww-data search index
index sdoc-1.1.0/lib/rdoc/generator/template/rails/resources/js/0000755000004100000410000000000013641340555023535 5ustar www-datawww-datasdoc-1.1.0/lib/rdoc/generator/template/rails/resources/js/highlight.pack.js0000644000004100000410000003765213641340555026774 0ustar www-datawww-datavar hljs=new function(){function l(o){return o.replace(/&/gm,"&").replace(/"}while(x.length||y.length){var u=t().splice(0,1)[0];v+=l(w.substr(q,u.offset-q));q=u.offset;if(u.event=="start"){v+=r(u.node);s.push(u.node)}else{if(u.event=="stop"){var p=s.length;do{p--;var o=s[p];v+=("")}while(o!=u.node);s.splice(p,1);while(p'+l(K[0])+""}else{M+=l(K[0])}O=N.lR.lastIndex;K=N.lR.exec(L)}M+=l(L.substr(O,L.length-O));return M}function J(r,L){if(L.sL&&d[L.sL]){var K=f(L.sL,r);s+=K.keyword_count;return K.value}else{return E(r,L)}}function H(L,r){var K=L.cN?'':"";if(L.rB){p+=K;L.buffer=""}else{if(L.eB){p+=l(r)+K;L.buffer=""}else{p+=K;L.buffer=r}}B.push(L);A+=L.r}function D(N,K,P){var Q=B[B.length-1];if(P){p+=J(Q.buffer+N,Q);return false}var L=y(K,Q);if(L){p+=J(Q.buffer+N,Q);H(L,K);return L.rB}var r=v(B.length-1,K);if(r){var M=Q.cN?"":"";if(Q.rE){p+=J(Q.buffer+N,Q)+M}else{if(Q.eE){p+=J(Q.buffer+N,Q)+M+l(K)}else{p+=J(Q.buffer+N+K,Q)+M}}while(r>1){M=B[B.length-2].cN?"":"";p+=M;r--;B.length--}var O=B[B.length-1];B.length--;B[B.length-1].buffer="";if(O.starts){H(O.starts,"")}return Q.rE}if(w(K,Q)){throw"Illegal"}}var G=d[I];var B=[G.dM];var A=0;var s=0;var p="";try{var u=0;G.dM.buffer="";do{var x=q(C,u);var t=D(x[0],x[1],x[2]);u+=x[0].length;if(!t){u+=x[1].length}}while(!x[2]);if(B.length>1){throw"Illegal"}return{language:I,r:A,keyword_count:s,value:p}}catch(F){if(F=="Illegal"){return{language:null,r:0,keyword_count:0,value:l(C)}}else{throw F}}}function h(){function o(t,s,u){if(t.compiled){return}if(!u){t.bR=c(s,t.b?t.b:"\\B|\\b");if(!t.e&&!t.eW){t.e="\\B|\\b"}if(t.e){t.eR=c(s,t.e)}}if(t.i){t.iR=c(s,t.i)}if(t.r==undefined){t.r=1}if(t.k){t.lR=c(s,t.l||hljs.IR,true)}for(var r in t.k){if(!t.k.hasOwnProperty(r)){continue}if(t.k[r] instanceof Object){t.kG=t.k}else{t.kG={keyword:t.k}}break}if(!t.c){t.c=[]}t.compiled=true;for(var q=0;qx.keyword_count+x.r){x=u}if(u.keyword_count+u.r>w.keyword_count+w.r){x=w;w=u}}}var s=t.className;if(!s.match(w.language)){s=s?(s+" "+w.language):w.language}var o=b(t);if(o.length){var q=document.createElement("pre");q.innerHTML=w.value;w.value=k(o,b(q),A)}if(y){w.value=w.value.replace(/^((<[^>]+>|\t)+)/gm,function(B,E,D,C){return E.replace(/\t/g,y)})}if(p){w.value=w.value.replace(/\n/g,"
")}if(/MSIE [678]/.test(navigator.userAgent)&&t.tagName=="CODE"&&t.parentNode.tagName=="PRE"){var q=t.parentNode;var v=document.createElement("div");v.innerHTML="
"+w.value+"
";t=v.firstChild.firstChild;v.firstChild.cN=q.cN;q.parentNode.replaceChild(v.firstChild,q)}else{t.innerHTML=w.value}t.className=s;t.dataset={};t.dataset.result={language:w.language,kw:w.keyword_count,re:w.r};if(x&&x.language){t.dataset.second_best={language:x.language,kw:x.keyword_count,re:x.r}}}function j(){if(j.called){return}j.called=true;e();var q=document.getElementsByTagName("pre");for(var o=0;o|>=|>>|>>=|>>>|>>>=|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~";this.BE={b:"\\\\.",r:0};this.ASM={cN:"string",b:"'",e:"'",i:"\\n",c:[this.BE],r:0};this.QSM={cN:"string",b:'"',e:'"',i:"\\n",c:[this.BE],r:0};this.CLCM={cN:"comment",b:"//",e:"$"};this.CBLCLM={cN:"comment",b:"/\\*",e:"\\*/"};this.HCM={cN:"comment",b:"#",e:"$"};this.NM={cN:"number",b:this.NR,r:0};this.CNM={cN:"number",b:this.CNR,r:0};this.inherit=function(o,r){var q={};for(var p in o){q[p]=o[p]}if(r){for(var p in r){q[p]=r[p]}}return q}}();hljs.LANGUAGES.ruby=function(){var g="[a-zA-Z_][a-zA-Z0-9_]*(\\!|\\?)?";var a="[a-zA-Z_]\\w*[!?=]?|[-+~]\\@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?";var n={keyword:{and:1,"false":1,then:1,defined:1,module:1,"in":1,"return":1,redo:1,"if":1,BEGIN:1,retry:1,end:1,"for":1,"true":1,self:1,when:1,next:1,until:1,"do":1,begin:1,unless:1,END:1,rescue:1,nil:1,"else":1,"break":1,undef:1,not:1,"super":1,"class":1,"case":1,require:1,yield:1,alias:1,"while":1,ensure:1,elsif:1,or:1,def:1},keymethods:{__id__:1,__send__:1,abort:1,abs:1,"all?":1,allocate:1,ancestors:1,"any?":1,arity:1,assoc:1,at:1,at_exit:1,autoload:1,"autoload?":1,"between?":1,binding:1,binmode:1,"block_given?":1,call:1,callcc:1,caller:1,capitalize:1,"capitalize!":1,casecmp:1,"catch":1,ceil:1,center:1,chomp:1,"chomp!":1,chop:1,"chop!":1,chr:1,"class":1,class_eval:1,"class_variable_defined?":1,class_variables:1,clear:1,clone:1,close:1,close_read:1,close_write:1,"closed?":1,coerce:1,collect:1,"collect!":1,compact:1,"compact!":1,concat:1,"const_defined?":1,const_get:1,const_missing:1,const_set:1,constants:1,count:1,crypt:1,"default":1,default_proc:1,"delete":1,"delete!":1,delete_at:1,delete_if:1,detect:1,display:1,div:1,divmod:1,downcase:1,"downcase!":1,downto:1,dump:1,dup:1,each:1,each_byte:1,each_index:1,each_key:1,each_line:1,each_pair:1,each_value:1,each_with_index:1,"empty?":1,entries:1,eof:1,"eof?":1,"eql?":1,"equal?":1,"eval":1,exec:1,exit:1,"exit!":1,extend:1,fail:1,fcntl:1,fetch:1,fileno:1,fill:1,find:1,find_all:1,first:1,flatten:1,"flatten!":1,floor:1,flush:1,for_fd:1,foreach:1,fork:1,format:1,freeze:1,"frozen?":1,fsync:1,getc:1,gets:1,global_variables:1,grep:1,gsub:1,"gsub!":1,"has_key?":1,"has_value?":1,hash:1,hex:1,id:1,include:1,"include?":1,included_modules:1,index:1,indexes:1,indices:1,induced_from:1,inject:1,insert:1,inspect:1,instance_eval:1,instance_method:1,instance_methods:1,"instance_of?":1,"instance_variable_defined?":1,instance_variable_get:1,instance_variable_set:1,instance_variables:1,"integer?":1,intern:1,invert:1,ioctl:1,"is_a?":1,isatty:1,"iterator?":1,join:1,"key?":1,keys:1,"kind_of?":1,lambda:1,last:1,length:1,lineno:1,ljust:1,load:1,local_variables:1,loop:1,lstrip:1,"lstrip!":1,map:1,"map!":1,match:1,max:1,"member?":1,merge:1,"merge!":1,method:1,"method_defined?":1,method_missing:1,methods:1,min:1,module_eval:1,modulo:1,name:1,nesting:1,"new":1,next:1,"next!":1,"nil?":1,nitems:1,"nonzero?":1,object_id:1,oct:1,open:1,pack:1,partition:1,pid:1,pipe:1,pop:1,popen:1,pos:1,prec:1,prec_f:1,prec_i:1,print:1,printf:1,private_class_method:1,private_instance_methods:1,"private_method_defined?":1,private_methods:1,proc:1,protected_instance_methods:1,"protected_method_defined?":1,protected_methods:1,public_class_method:1,public_instance_methods:1,"public_method_defined?":1,public_methods:1,push:1,putc:1,puts:1,quo:1,raise:1,rand:1,rassoc:1,read:1,read_nonblock:1,readchar:1,readline:1,readlines:1,readpartial:1,rehash:1,reject:1,"reject!":1,remainder:1,reopen:1,replace:1,require:1,"respond_to?":1,reverse:1,"reverse!":1,reverse_each:1,rewind:1,rindex:1,rjust:1,round:1,rstrip:1,"rstrip!":1,scan:1,seek:1,select:1,send:1,set_trace_func:1,shift:1,singleton_method_added:1,singleton_methods:1,size:1,sleep:1,slice:1,"slice!":1,sort:1,"sort!":1,sort_by:1,split:1,sprintf:1,squeeze:1,"squeeze!":1,srand:1,stat:1,step:1,store:1,strip:1,"strip!":1,sub:1,"sub!":1,succ:1,"succ!":1,sum:1,superclass:1,swapcase:1,"swapcase!":1,sync:1,syscall:1,sysopen:1,sysread:1,sysseek:1,system:1,syswrite:1,taint:1,"tainted?":1,tell:1,test:1,"throw":1,times:1,to_a:1,to_ary:1,to_f:1,to_hash:1,to_i:1,to_int:1,to_io:1,to_proc:1,to_s:1,to_str:1,to_sym:1,tr:1,"tr!":1,tr_s:1,"tr_s!":1,trace_var:1,transpose:1,trap:1,truncate:1,"tty?":1,type:1,ungetc:1,uniq:1,"uniq!":1,unpack:1,unshift:1,untaint:1,untrace_var:1,upcase:1,"upcase!":1,update:1,upto:1,"value?":1,values:1,values_at:1,warn:1,write:1,write_nonblock:1,"zero?":1,zip:1}};var h={cN:"yardoctag",b:"@[A-Za-z]+"};var d={cN:"comment",b:"#",e:"$",c:[h]};var c={cN:"comment",b:"^\\=begin",e:"^\\=end",c:[h],r:10};var b={cN:"comment",b:"^__END__",e:"\\n$"};var u={cN:"subst",b:"#\\{",e:"}",l:g,k:n};var p=[hljs.BE,u];var s={cN:"string",b:"'",e:"'",c:p,r:0};var r={cN:"string",b:'"',e:'"',c:p,r:0};var q={cN:"string",b:"%[qw]?\\(",e:"\\)",c:p,r:10};var o={cN:"string",b:"%[qw]?\\[",e:"\\]",c:p,r:10};var m={cN:"string",b:"%[qw]?{",e:"}",c:p,r:10};var l={cN:"string",b:"%[qw]?<",e:">",c:p,r:10};var k={cN:"string",b:"%[qw]?/",e:"/",c:p,r:10};var j={cN:"string",b:"%[qw]?%",e:"%",c:p,r:10};var i={cN:"string",b:"%[qw]?-",e:"-",c:p,r:10};var t={cN:"string",b:"%[qw]?\\|",e:"\\|",c:p,r:10};var e={cN:"function",b:"\\bdef\\s+",e:" |$|;",l:g,k:n,c:[{cN:"title",b:a,l:g,k:n},{cN:"params",b:"\\(",e:"\\)",l:g,k:n},d,c,b]};var f={cN:"identifier",b:g,l:g,k:n,r:0};var v=[d,c,b,s,r,q,o,m,l,k,j,i,t,{cN:"class",b:"\\b(class|module)\\b",e:"$|;",k:{"class":1,module:1},c:[{cN:"title",b:"[A-Za-z_]\\w*(::\\w+)*(\\?|\\!)?",r:0},{cN:"inheritance",b:"<\\s*",c:[{cN:"parent",b:"("+hljs.IR+"::)?"+hljs.IR}]},d,c,b]},e,{cN:"constant",b:"(::)?([A-Z]\\w*(::)?)+",r:0},{cN:"symbol",b:":",c:[s,r,q,o,m,l,k,j,i,t,f],r:0},{cN:"number",b:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",r:0},{cN:"number",b:"\\?\\w"},{cN:"variable",b:"(\\$\\W)|((\\$|\\@\\@?)(\\w+))"},f,{b:"("+hljs.RSR+")\\s*",c:[d,c,b,{cN:"regexp",b:"/",e:"/[a-z]*",i:"\\n",c:[hljs.BE]}],r:0}];u.c=v;e.c[1].c=v;return{dM:{l:g,k:n,c:v}}}();hljs.LANGUAGES.javascript={dM:{k:{keyword:{"in":1,"if":1,"for":1,"while":1,"finally":1,"var":1,"new":1,"function":1,"do":1,"return":1,"void":1,"else":1,"break":1,"catch":1,"instanceof":1,"with":1,"throw":1,"case":1,"default":1,"try":1,"this":1,"switch":1,"continue":1,"typeof":1,"delete":1},literal:{"true":1,"false":1,"null":1}},c:[hljs.ASM,hljs.QSM,hljs.CLCM,hljs.CBLCLM,hljs.CNM,{b:"("+hljs.RSR+"|case|return|throw)\\s*",k:{"return":1,"throw":1,"case":1},c:[hljs.CLCM,hljs.CBLCLM,{cN:"regexp",b:"/.*?[^\\\\/]/[gim]*"}],r:0},{cN:"function",b:"\\bfunction\\b",e:"{",k:{"function":1},c:[{cN:"title",b:"[A-Za-z$_][0-9A-Za-z$_]*"},{cN:"params",b:"\\(",e:"\\)",c:[hljs.ASM,hljs.QSM,hljs.CLCM,hljs.CBLCLM]}]}]}};hljs.LANGUAGES.css=function(){var a={cN:"function",b:hljs.IR+"\\(",e:"\\)",c:[{eW:true,eE:true,c:[hljs.NM,hljs.ASM,hljs.QSM]}]};return{cI:true,dM:{i:"[=/|']",c:[hljs.CBLCLM,{cN:"id",b:"\\#[A-Za-z0-9_-]+"},{cN:"class",b:"\\.[A-Za-z0-9_-]+",r:0},{cN:"attr_selector",b:"\\[",e:"\\]",i:"$"},{cN:"pseudo",b:":(:)?[a-zA-Z0-9\\_\\-\\+\\(\\)\\\"\\']+"},{cN:"at_rule",b:"@font-face",l:"[a-z-]+",k:{"font-face":1}},{cN:"at_rule",b:"@",e:"[{;]",eE:true,k:{"import":1,page:1,media:1,charset:1},c:[a,hljs.ASM,hljs.QSM,hljs.NM]},{cN:"tag",b:hljs.IR,r:0},{cN:"rules",b:"{",e:"}",i:"[^\\s]",r:0,c:[hljs.CBLCLM,{cN:"rule",b:"[^\\s]",rB:true,e:";",eW:true,c:[{cN:"attribute",b:"[A-Z\\_\\.\\-]+",e:":",eE:true,i:"[^\\s]",starts:{cN:"value",eW:true,eE:true,c:[a,hljs.NM,hljs.QSM,hljs.ASM,hljs.CBLCLM,{cN:"hexcolor",b:"\\#[0-9A-F]+"},{cN:"important",b:"!important"}]}}]}]}]}}}();hljs.LANGUAGES.xml=function(){var b="[A-Za-z0-9\\._:-]+";var a={eW:true,c:[{cN:"attribute",b:b,r:0},{b:'="',rB:true,e:'"',c:[{cN:"value",b:'"',eW:true}]},{b:"='",rB:true,e:"'",c:[{cN:"value",b:"'",eW:true}]},{b:"=",c:[{cN:"value",b:"[^\\s/>]+"}]}]};return{cI:true,dM:{c:[{cN:"pi",b:"<\\?",e:"\\?>",r:10},{cN:"doctype",b:"",r:10},{cN:"comment",b:"",r:10},{cN:"cdata",b:"<\\!\\[CDATA\\[",e:"\\]\\]>",r:10},{cN:"tag",b:"",k:{title:{style:1}},c:[a],starts:{cN:"css",e:"",rE:true,sL:"css"}},{cN:"tag",b:"",k:{title:{script:1}},c:[a],starts:{cN:"javascript",e:"<\/script>",rE:true,sL:"javascript"}},{cN:"vbscript",b:"<%",e:"%>",sL:"vbscript"},{cN:"tag",b:"",c:[{cN:"title",b:"[^ />]+"},a]}]}}}();hljs.LANGUAGES.cpp=function(){var b={keyword:{"false":1,"int":1,"float":1,"while":1,"private":1,"char":1,"catch":1,"export":1,virtual:1,operator:2,sizeof:2,dynamic_cast:2,typedef:2,const_cast:2,"const":1,struct:1,"for":1,static_cast:2,union:1,namespace:1,unsigned:1,"long":1,"throw":1,"volatile":2,"static":1,"protected":1,bool:1,template:1,mutable:1,"if":1,"public":1,friend:2,"do":1,"return":1,"goto":1,auto:1,"void":2,"enum":1,"else":1,"break":1,"new":1,extern:1,using:1,"true":1,"class":1,asm:1,"case":1,typeid:1,"short":1,reinterpret_cast:2,"default":1,"double":1,register:1,explicit:1,signed:1,typename:1,"try":1,"this":1,"switch":1,"continue":1,wchar_t:1,inline:1,"delete":1,alignof:1,char16_t:1,char32_t:1,constexpr:1,decltype:1,noexcept:1,nullptr:1,static_assert:1,thread_local:1},built_in:{std:1,string:1,cin:1,cout:1,cerr:1,clog:1,stringstream:1,istringstream:1,ostringstream:1,auto_ptr:1,deque:1,list:1,queue:1,stack:1,vector:1,map:1,set:1,bitset:1,multiset:1,multimap:1,unordered_set:1,unordered_map:1,unordered_multiset:1,unordered_multimap:1,array:1,shared_ptr:1}};var a={cN:"stl_container",b:"\\b(deque|list|queue|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array)\\s*<",e:">",k:b.built_in,r:10};a.c=[a];return{dM:{k:b,i:")[^>]*$|^#([\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")}})})();sdoc-1.1.0/lib/rdoc/generator/template/rails/resources/js/searchdoc.js0000644000004100000410000003445613641340555026042 0ustar www-datawww-dataSearchdoc = {}; // 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; case 83: // s (qwerty) case 79: // o (dvorak) if (e.ctrlKey) { $('#search').focus(); e.preventDefault(); } 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; } } // 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 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 += '' + stripHTML(this.data.badges[badge] || 'unknown') + ''; } html += hlt(result.namespace) + '

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

' + stripHTML(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) + ';'; }); } function stripHTML(html) { var in_tag = false; var output = ""; for (var i = 0; i < html.length; i++) { if (html[i] == '<'){ in_tag = true; } else if (html[i] == '>') { in_tag = false; i++; } if (!in_tag && i < html.length) output += html[i]; } return output; } }); // 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'; } }); sdoc-1.1.0/lib/rdoc/generator/template/rails/resources/apple-touch-icon.png0000644000004100000410000025065713641340555027015 0ustar www-datawww-dataPNG  IHDRxtEXtSoftwareAdobe ImageReadyqe<QQIDATx}EorMBB =tDFy6TP|]Ay ؞qgr|è 8T:Wxɱ}pD9D\hPYV?ae+SsS%JL~$X&7rt"rbUcY^~@U_p2:z I6O5M z< q?m!, :1 uPeu7'@7\<٨=nx/f5I"PCCW[}lg%JґX&ױ2Vzt4a8Ȁ|Sib|/qps x1禂sg<͕ :ݍ^b 2D@D:-QV WV u'l㮦gr[+XYr+*DxFVA#4 ,9 !4=Ml] n\fvqDnt1ˋYKj"dG[` 9Eۖ"w7ϴˇ`jXY-(QDI,eU6sOSʁ0!/fZ8[-c-} Ao2cXRuE5kHn@"pڡVfX"\'I5.u]mV-hʱ!&4ZSbخSB0%JX&X͚`OMep _lip[ Z"4v@=m v=>D79^f2:8n! r/zVlwV@%Q!Q֯f[#[(#. <)#<S8 B @e?ñ98w" ǰB;&!Vr_C+jHw:+-J:#$>>feGPDg sg!":H(1"P!?GP]bD7'm 'Ii! !"$,8Z1KV~᫹(M|ԏXy [{>L?NU;7[G\f|Qmw$H̢yڤ$jO Bth+\$a&m M1HJЉ~>b\ `e[ǔ@%m)9Qo`HXGG@''`etb |ӇP޻x;P> ޹ ; Z"~lafrmyC0^n(aơɇ$rx 3\n Cpoc-;Kgk{A;*}'w :JLwg6aQ(-?.%;Y*+kPDI;LM;bM(lXo-؆ЇXH>>cIկHeg3s#3o2ܒy܉y,ǜVt}r9A&y<80" v݆2"JϤH˞?'I˝wI7+ ~'PDI bXN\/ny'ckQؼu \/X/[)ۨf\ ?Ty?~qFFQ޽7S3jL<:t>xtX[LJ~6vB(TdfD=#zK>9O< މEy1z\g p-A$$@"Zd@ӕEvtsz>,ᄢoISVE,;sZb8ܯrnT#DAqTn=g@*X'ryݏ)Ė(`?veۄY})*| 4"JD=ڠM `?.?p}M;zܚf52ꆒTlΰ1x!zBy ]Voa 0 /A&< 8vy a.#|SpASlHӲ/8Rߓ!e@_ŀ-\.@(iO&GrPg@7aa?1zmo[@u03?:%AkuWn{;wXC*cd#-n=:N8 }{;^d/@~R;;Qڽds^Û׈0^ƥ`$`f$dET6}_hj^9{ً5~\ uCn@&&h:.Eh8p XϳeAfAeP}k'Ve -bj#&q GiHxd2k)K>+A[.B߹!sB3};!+ƒLzA{1t~~AV`~R 3Ǥ^B(tpM>ZHiZ_$8uXŎj%R.%J$={=r?0t_14u &={- ucHZ$U?NԐPP6Fhɼ⮝(e1}1ߗm~x HI`\l$L70@~s$@wA87@HGKr>jnor(QDVzmaM7 SN z[6C+t0ggM"T`DחhC}`; <;wF{p8)IvFc~hV?^Gt)GHH:G̓O1 >fs&*$g {hK7&3>Jh!(Q:; M| O3a/1|͘|aehd=$Z F۠Yҩ=ڿ貨$W>C</b? TĊ(Q*2\[0?a;fL]Y@cHPG~0wݶ%iڜ3QѮޅ{:V>ʤ"J)xXy)DzXB嬬S@֗Xy+oe? (1fM(IuS:XR rx])6;Gz:P$vB,џZS*h]g!;L0ƧI65i?H~E0A@]ߏ/uS(@ Zȱ^ OJ$h9d, QdEĈj $8nPDĩP$r +ogYhGiVlW0pVž 3'p~HR4 ` 4p fZ4 u1~ۿ3Ɓ_S<|QܽҸ+„>8M0z dD0vtb0$ j$_6 :M K7I5qo:4%Jˑ6s?&ͧݯb1E&d$5{{* wܸ`1Cs8Bw'ߏ<>u9}#4I/Z' 0ڥ@2YLc|lzlnV^>+_PϝsGI#FB&)ilǦ&RD,"з@4g{*sA}Hsc`hBdXtkqvYOϧ曙FXBfOOKn'iK@˹DWWNwO ?;CYLl SyU&0cv^,Y`KhsOO/kج"yh? L|mzv ɬ%Hg&+a yE{A}?)}h,z#HԳTT2 =z6#BsҠ#͞k N# @G0oDPs1̳,+ yk2=3h.;\[` SS4S@2A$ι!(ćUfyWHI=EYV&~Pخ[[__}O*!D2 6DZB7CW]U( {8w {СRHiw݆Kfp5 k!π~lv >SCCL, g^?LԴp߿_D|?<|HG@탊(5e>Oӗ Al7ԖкXߞ`8FDD . 99 1@G XOˮ~_Fco p @`ubb.si?rهsŀE`w"8@Ddű~㮀PD,|+'XǼw?Ư}uxZ8I-6VER: jT4?'ks}hJdX8Fnu|Oߏ?MO(pNǔ?Tc Ĵ@[/"M WJVd&{+&3k, c~E9|Z}LM_~d7+,VsݰrlL>,JfyƖ:M*6}(6x~5XP(6w!]% #*O@#Fzt=/9'? %a𖿡qu3tt(1srLc ϵ>#_g/pR8#/E\v}gX TҮ3{>$ ?0 z#]?NO]ۨG 嫏k-!Lc66ӒS˚_-f'c-7^]{L'' &58 O΍ T`ZdCǶ?zYTQ@L>)X90Fu_: ?8<h$ l A@$ sA-4;4|g c0CCEsK@N3: 7_B킜4"2Uim`vR@ɬVzlowا>T2ߛ,;@VKrQ;@ʹ $ ;@` ap0P;R{>Ta9`tQİ։A, ks2 G\DJ+!gB$;@/ b"t~QC}d*""JU{z+_IM0mͻ߂o>>f&!Y8S㬙 Q? Hkl;@D^*tc݌OK/ƙ?N#0&@K% ek?,I$1ĐƉ#QL- MK%4tr}`\y_"0j@#Q?p<*@S F(i"+z=_wTĵ GDՏ1t>ٺyD7=jTCjx ;]rPj/v^u4PE;=.W5ˌKo%B_,|ucA (b*K Dl*X&Q\A)IΗ`{aCM%լ(iUZl%VXs{1[-Kt*AG9?6xMo0pz辆ǽB?0"p #ukJu)w=r+0 IJ n\0fb9X['r|B'O-|(? @$"LB0G0Ps(iEe'6N+ݯz'FC|~@^h!NhM4\5m[F%wq }< /uE<>O$ rP@Sp-c& L0bP0 ( CJHDQ2i8Ec>1G?`+v :HʌqLae Hw[;c `؇'a4ϝ}q5}RSgFLQ xWA2f8R}oFN>/z{X;0|` ~"J]xV߳/ɇ]%I$0z g0w@LP; Jl; y#}cMɗ /?券f$S49!(%6Y(ɚ|"?}݇x}"m?av.+KPҮg +R yG?_X`p"&KCCR$-+Pw@$ 2Y}xi<g_?iVp`M~*/Yk҃Lq^HTd()i4$QiX;HLx"JQNRZp+Ǯ9v'AjA`D%`#6gZhv$ ~Pڶǂ7,{f\M1A?H@V˰bz +q@]`L"u1A”iCy$@%-|:_>ϡQ4眍{03, I@;Y@w0C&sqAzd"$B2MHxҠZ`縘b Frt02Е%kemϳ%V]ѳs"Axiŀi Eu[O>D@JS^ f퀨Ń{oZ'{q{i+qju&Re6uO"dR{. _ڵ}Z>3ig#ŠO| >uuWA` ^?=2)eG,*4y@|$JD?t|VV) V n= ^w@[%!Zl,Y-ch;X{9po#42>k;{S!Wofg#ဝ%*4f``D$%Bjmv̟~;8_H1oxm0-c$s~VzQbd(ꌏ'"K/EqpJm;@"m0 4&OLc*N8 K]~눕g xw@u8nvEoZw\6¯*DqL_Z){n-s~էou߳lej\n19лhOY3~Gy^iP(SP^bb{ߎkk$Kv #ƵF"r>q$OXrTҢFD>0; xP6S@ej/N?MD62[7 cw~uVDB[qE4B^ʵ"ywcr>d{%m!K@>FZG,z% 0H]R'k  Ժbd`=jX D-̙?+} <$#3oL#L\z"J!f^r~*`ukMA#/fq&Z&ZB&v!eKې]rp%-b /0W@_# ߇ 'Dw,űQ?d wc֕#˂h3#,'5ǼvNeQ%i^/ݍ5~4PH7. hVF`&\֐ g T/O@lK- iZU3}MK7PӾY_X.`-[ۋc㴷s?y_b{r1+_;ߋ՗^+@S; ) <;Q r@1h6;F ł92|Od:uzp o1.עP;oݔߏ57 X(o7=Q0zR]? S{oLq25^; DD} v084` n:ޑv 'aMcs3GלNí7lF߄pl(KgF?މ2;lw(:I@ҲuroQXY‚-up~vbh?6b%{ ?u 4vq NbA0Ġ/Z.^^b]ػegېVzA?`bݦ$_/!J>^' dXIӀ2g'ݨI*2`H}~!Z5|ha!ؓ/T_rtwwU0<44hX{*LvP"+S~8{vb{lIX@z|2 Of_YcXT@Ip?/YyVeEaϷb 7[~Μ` h%w $~KkSwL^#D ;Jv~X>`!/=T݉ցCAW sC]~JAst wT''NDu+<ߗq9<]sـ5~IHLUx T@ cXkGp;_JH@}TjMRO#+ ͑$@78 t? 疷?if#laQ.a9WjNEM ,#źu;0[4}0m4 鲭P@WNe;nŊ ߈{!>6Ew;48Zu<9Z$fHc$(ǟ$~zōX!5hfwF=FmJa9?|oY`^!E?O{!xlN L ۀJOAsPXLzݯq{/@qx!$  &]/@a Iw symDiv\/7_!  Bܥ囬i4e]ngG'o؋{FA3S? +|<{{ѣu_~*R[|G:Ru%q{LwQq wUۿݹD 8oAaA-2G.GGVîIs}XҠk9:Ojj|8u"W>ދ!IIl $lc uhAG)OCvbqK7 ra·Gn#Dï^-`X ngfWr%{)0-V]Y=膭 }fL_}f%`4HwH'egC=ºtv&i{q u `Tn7\f#* ~Mzk_^D}lʻ*+v|#V\t {} ~ZL߬L j[ikq2qۜ;@H0td{΋bH([@leP;Cl{\؍҅"kyFO|]-;gKtђffF7mwclpxA=;@e$UI7]=>w8}x?=hY;_eYo?- ^گ{5~2t7Q6ۇ ?iFҘ ?Wˊl!}beO^}a: &kj;@Z/wf 98y2NG@4e3eh.O>>NtqF/;ˣ#S®r5@#"cMh}AlYXyIeņ/=ܛ'm4~`Rm[z?Ⲿ6zI(N 4 "*ޣ`Y>ɵ+aLMBE½z;!I[Yb:[7 Ґgi۸^h4/ ~@)G{VQY>?}}?Mf4YVX# G75yO$\TB~?PynL=VwK+d(lpAnK>s@^CBNZ!I&DUmNWW࡫Aujِ$j Vv4@@g j t/Eا}3#՝0t$=QIzaH P ftD 3]w6Rh WQa] g IkYw?mtDtx+Y;(s}}/רN|QHf= 'n 2?']=CMu߷\ٟ̓Sld _qmj)fH+Y܊ qI˾'y&ڝܳW'=h۱ i` X5@Ŭ|VK5nVن ?OXNB Yv[L wו$O??w֭qhY⥦M9NӤ˂GN.NsVߎ?_ΰ{Yfv(AV{NssTƒ$txI@ltggܪ+v3;m˷_ވ~~.}~3;&}~LЗ~D`W9 6IQ2H`\@CmV䲓|W~p^ ?gmC"1 IPBK:H@@}#Vi!9/bc+`53>J× FT;f  0s3/h}nCXpP8[fp&u6]i<_HIO?\!$. 9g#}u_9Wd:ay}=+Zy㌿Z9`2o-w te#Ym ,ΤA9_GB0h/!jC,UPG,pK@Q}q9􏿘7|= @v|}ԠVW-[$`G(@hiF,d'sOO5ftbC<@ç| f<;4O@ވT,<1VMbh2`L(^hTB/`g7R 2Ą4? ˆ++XE V=7L/";*3]؇g\Xw( YWаoVFDGi}ˬd#:)20!.'kehqYY9ݹ^5(Z5M'x#$0PKpŜ%#w C3Oկ߷Ml,1xD"rٿQq؞Β"+|&>.k5{ d&wD %Ϸ !>ޢ.޳]v %gO>}^죴z ؟h5  LbF")|F?>1Ε~]"`$ H@܃hw$qKǏ3Ka2zN:}?_}BcLGI|îNdg/Ȗ"AI {Eq䷬,p|k9OZhk݃x% ;Ykm߀l<FSS Z󓌿 TqͿ_X78P䟖?XPՄG [--%Uuxgsz@baAD2׾Yx{va5|`OM u=@k!im6|* 00*քΒ3_65"w ﲦ̑Di߇p>1;c% hS6={< oֈ4Ӧ4<-q+И{ĵД +s"\aXȊArYSwj4|>m4{Zɹ@%, vӹ5`StU|t ɬ)Yj@ ,V|z7Ll݌{s>6nA'}z ~[[UoJb3 66|ί;nV``<< >za=럘$!>MYEk2Z>@)r"=]:2cKY_4䷆_G18"&܂-V0w|0:zTі pvLw@íN;s_1.J8"Ԝcٿ خg W^*QP`zoS5Jc};WH,($@ᅂh`Y^C[XEНض/ێqp<ѰR>"Кϳf c-NBK?+?e?|/cc|_@> 1+;(98,z`b#[{?|N-4|A[FÏ8' \D 3[l2ƃX&Njch,2W~OAcg,) hi3ww!f="_LwO0 к%PO ͘0lx+ ^|H@g8YHC %1\YW&Ag6>~r0H J; qI@pÓ 6 t{8Sp? xͰr-~*?r``YV#UQ~AGy'+'6n/pń)~g)\f% @-9?_x`5]ZZSOR1 >yf n1!hi@x ``h/i:l7uM~: r ;"Y6{w_NFF" 4ˬz۔;-HtR Q ,zбC+l_Gt~~2o~t~34xr- CHЬ?imRrS{wc{ކ CXN0m}{*Q@`-s!{0uF>Y5^JÏ %)88f1(@&k_3cAmԧ&qމ=wߏ\$5m3J@tf=wDqBm_7o/|gWQ&K#iş}QZW)1-ap`+?f?g3W }GXNY}Շ&iIss%) h=hew@+߃;A$ ; Q1=/$:hz|r vfdA?C!(22vVt=0}t } \Vo} };;<3V(w@ $H@w@ZCLnXzE/Zzͅ0tf?dX5k=eF lF0iP3;z1@z3|Vi~584ށbw@>)hdt4$j;.;V T+:,};rJLQMOu̽6t4&: |\j0,`3XHҠfe'8T %rfXʏzIW@7Z;m$`Z5j=Ix$t@O|{;`a:3oa<ײ8Ƌ hpQ6eEґae;"'qފC1Ѧjqhw@Y] 1H!#.Hw8Ѿ\L o] {DN S@7e"T`R7yEnVu:5ڶ @LqL@ZmIfCN"@Yogsʻ1a=d9FlpVEL#ΐlC%U2>A!ϵ ̑[ (9 J`X~AT5/l_-?;S w͊o95 .X$@b`B|2'jw*R5p?/!ۛo/ A93߷M I,%䩁Z&<sbY7Ɉa@r9+*׿ƴ@ f3IHd Wk) C}1lK0Tnzt~y:VrteQEjA:O/U> ®o}W~3Oߵ9R̀ & Ht܀1@8ŢWs:tϝx l*^8"6k} ~uxn>iy 1mP'Ci%ˠeP ׇUߺ|BFƑLov?m34$Cg=$C9dSucec&u-o1dt7|*\i#տ=5Vɲ@mCH?}r+.CnvM5wܓJ* 0@A{> ӥگOc;^2CWS! ؇ӣ>T/#g;M@#?{5W )~ޜW|]i1 h m;<m{#Ͳ pn/OWcچV,=v^t~¡x _ޢexee^%t2ޒI9.]lW<"cYyCG5<#3Lr4|ȳVi[Zz؝[f&Q@Phf1[kbt>,pH:H@FLjZ$r?(v/ šޗ/r >Ii̴= նڗ9wjvh9ߩ_5?4hQv m㰔F\g?[q`#' ~a7p5zYy iߪؔaRg p!Tyy3+6L܆{>^'&)Krpbzu%x ?}!\N3eLMOќpkHstN><\q "|X5 طz-r$q6H@K6v_f=Q 9s~Ե{Bt~ȭo2G=Ez }ޜekRIy+G6VB-Aր\i[#XLkBpYƊpb'?Y>J"mh ׶Vv%E-cD5Id;̓3,:>Hx^75pdi۲v oK,k{7_qdwRƐ&=U4fZZ1Y'c{bsw% j}[o71L08< ŮL^ueQ[py&+6G59v $=K,gD,y\Mr0gc.OiMN`U^o-죾<8523yVdXp/V+7ZvU⏾<>}w Y'0}~$iR$ HOstwv8e1 ;tw_"6\w#sSTf G0Tħ G?<Z.都?I@-i5a]EYP rwW/~."KcS$@VA>|Kuu]cJG;3ߧ$-֋fp Lhh?N٧_TOq(qzXX;`C[n&ѧ(z; }R )Jo{g8~W0e_eW~#CYV]`#7 1 Y6<- ¶5v M=0Xwԛ:\ׇ?CZ}/HiDS ~f= 0 ;W*1t{{N1o!T0G Ü+Fn 'P|hݠL5uMUL-EJ ؚ}h2ʎF)Զݽ.H "OkH> /Ȳo$c1,59:Wlx߭#Iz3! b.0HLytus^/LڏLg&p@pGS;^GԫXdE@^; sEmfѷ냷!g+QhFhxTs>mu;\m;.M$ZpiSK@C@w7|u{n; {r}Ce^oVr߳ZfP6#@Q{qldZN+'sΕ0с;+p+wpH paaWrLW@'eKD{h"ӑʼnt,\?cd4ymJ=p ?Gs? Z9)IpwjКŖ'];N~=nWOe&[֣ι_3tr,)nkD?43@ꇹBj 5*wr>OJ}b󟅣/D4rpjlN[#"^ !ܟ%B &AҴd_]*}X t! Z-ZMZa``S%(QS?Md{zSɝ;0>[k&tezU9E%Nird"xA )Ɍk҅ui4)3_hPe|Xc-:tr2D',Ps$<~>ܶ=sp@N@H6z"R  87Pu}Hs&YLW*omZ=RzGO7h9@%z/yHPޤ*Οr9{4<#z4zm#?㊬g*bғ{ ;t;>cbq;CYu s٫m:֋ɸRR4fIO $sҟTIǤQ# K4m7LzOg{Tdp ~uAT(Mhp罉& IFudgRx=F{S Ԡ[5x|%sVnXԦ[N8Eـ<@I#Ci;WIDw9@%) 4s~#13N# {yZqߌmH>s@&#훥T%e ^.( E~s?- @27 l~`ÓZDꌳȊ΂Di8PfD>C.ӌWPn6EV_kh\'^=_:jfJZ5JyCX&0p:|6zor=V{٪8-5?MhDg/jZ ljraZ84@*|FG0ez}0/d0߮#Z8?Ǜ` vd lx yap,EC1vzk@W>!S>`4FMٟrg<Bqc@c@ ~!@(*&`(No8S_O/Tn TuAys, l__*Kp{-#`7zm,/eKH F`%g#*@ #7G3q{OxߚЄJ!,5+.x8sʸg\_ e~9x$gCsՄ6Fည2㗸~k&qG> dckDŽR'K@* iT,@G0@u`8i3ѳznl^.4=[Zd6dSP=0br?U-cw}/th&j9 eY,"GL竒]ϒgQVp2uͽ A"CN!! Lh>g,oS3.zt^4@ ճ_l9+7{JIY}$?/ oP5nƃ{*g`޿Y4-S-2*ebOކܾěHBC;u 8"ۊ:St1f-$2M~,YȾqKS,K#}n˹/k7Bԟy?$Lh;^*@2`uDŸT\N]o5˜ˎZeٛp?槪DO$~DU2Pwcdg{줿pއ?g-u B(mDyE?f[<~vT.wHĈhLH%&TR~aY2_*e1o^{qg?7nd8npF@Sdyl}=.05&K/ h0i5b 3.jc-;BlQO R @Z@Гe )cH4>״J `~~۷|菈AĥȠF@.+!|@5Ԩa>ø-,ӎԥOS_Z 9LNѪ;BjA|x 9!2fiF`` uЍQv3,EE9nĵ8pVǂ +Hq&c0 ,u2ؑa= 7981 ͙)F:hg/? 7gf1~506[ՋԼy`~G&-k.EipL=~eZL qE[q8yFHF@ք3  8`^sHJS_6c0P$ &(3˩Q\~q-_P^XjMfvDcҀX We"rOn&͸c_@mrۿ`yNt?XHưQ[;2#1ܰ@Ydꏒ׍RKx:9}_L{y%q"E:1(0cH(`)ZWO~'"0s30tkI&LPOyK6hWQ睋;Nj 0\6@UL߲m+ v|38Ȟ @G6 e[!U(osQkĪ'b/o*pka:)㗹bzm_jOEWFnad' uz:~k+z;$rE{< 7Ӭ߇t%E;aruStv[` [~az'󿄗K .j@X2F %t + St ~! n<؞5Xv"$Z!e J$-zpJ. WX̮Ś|"7~UHw#cEUTx"@!QfWn9 ~hZ-AﴼGYMsF* :uiblJ|2vkNv4cuY2#0V{&=S5Z 8phLrOp@0ʜEXω~9kq'up g8PziIQc!,֨cg`/kPϙdRBhgB`m/^ ptfq>?Uye*^Ceep03M@ `r;k'qǯs_h k/Bݧ`('U+okӦ.pa*p-IQA >빑{?-SeW&Y{Po%OeE0m;Apဴɠ@_OR'~p\Oa8R~dc-?1Vw$~"Uy_>%#-v}T!$Lgsa{ f];h!L꣹gM]Uc Fe@].ӂ-&*SGݫ ꟿO]TV ȕ%|  Ȝ~+4"ɯȱ ̧O|zSLjȽۉ~ )*SKgh:59;;}="f@In^@N!_(2Ny`T9mT~۽ m˖C[oh7IV\> J1 Os74R (?p@0w|Z~sn>0i: c-8fm 3Cr zp*\X@ 4Hd˯ /T(P8h`?l_)- AP5V)2j|DQW@I#! sZjCh'UyH 7Mqo_K>/hY'w\܄[G$"598cXqW@%I4neo@l#@er碚=LɊw*wdYqT9x?ڱ8M#kr ~LQm) s >Bp1Oqѧֺf_|7غiyvFNn*a,dzD> ǬGDgS ks 7,`'ݲkTa`=/W'XTUGw۝hL`Z+Nd&Y"^Oh2FH %nߙ1m72f(~ .ҿ`7hٷ0wli_TC? ׅ Dd Du2 v7[5,;j-ݿ]Y"`/+}؀wj/ CBUrW,b恵^T:O?~f5F$PbΞaPHѧTpFʅ~w@ tvQ,;\oXFYu1b-`ayG^^1_- įjX}Qsv[`@# iGcͰv M,ncO3+'2[4b}wގmcNGSi =#@ZGPXl 90s9Qkp'(6qHa]nXi^!PG0CQ~U6(C9uvhh>A&Ipd|%IDCl[L˭*1jCH;8.j0v#@0BۅN("*=6c֮_^aLy.h^4i.YG3bC1 50rc0xDW AKo'Nw 8Be˞:?L??[fpS,7l_Dm}',E@_\HG "#@Pİìsf.?aݣSƧyNFixj2 dEIJ&,#`nj(h ܏JK|)JzW-H!l1h?:~ FUsQ7E@H H~]r=l~{NE,p̶kX8Nޞ8ՏkkTL/3Jy] 6އ*y}mȁXr_Ϟg2%EviH? 2vOeD E.*jE'*Ao*\vWя?^m (zYƂX@OED~2VVp\)0 I=F_S M8TS!F?ˢ`bmƦ~;燨7k.pyNmoV'K y٢! k$j,p@a +qg}8Oq`7A|,ެ~dH"L_-fq5ўm.,ˁu*%SD0GB(^p-Ӻy =29O^O~g?#[Qk+X'q.nL[#FyWeCy uFcv?O/} ~j:>g@ 3_:1.r"iZNH׬ûkb,W$Hӌ1"uJ%eu1X[LP3쌾>>o ;AS߆wP|8*`$@ętVaHTPQ89` Z>il|sם@ꎾ?M2i_AR9.j:Y].q Tx?o$AfP3`{*ҡV?g߷x"Ɓn^@oӎx} gc~02lʼnB!pDүkWO}G?|Ô ]k~LIU*<Ҭi LLH96Ê5+PoXsI3siJ)! $A͘ ? O5ovRjvoHbw w6>N|w#(ĥM1௟c (qT`O&BDq:N\bccO[|9]g:b'uJ<3bāѥXf wRi jGJ tE?0WUBx4R뜘` ͚[ۑ?gm8@N8 kp(Hܮd,u8u+q t38M^.kWPXj헸f*jJ?$!r: EU=Ns: a:07I_L?p/ZXsC]'cw␔}%\Bd8(@(m2vj\<7 a߰g4y9~ra`c^H_?~y۰CLD(K;@2"Hmc ,V?@c D/+؆厑# '`?Ѕ{a5 DBf$ J (0u>&+\4O:"P<\cggu[pm"u8q$bOM d]$X1[&d$=00Xzwre{OqȀҘiPKXO 垱*v0y^:eVxZM5WYM<@݆@n Y _/&@q'?2N@2P0C؝Xu֩vV]7c;5@-X{߬Ya](&us@8r\ESs?Liy_Iґʤ?U!6w^|:o?J41_a2 ?¡[~^GC2e=߬C\U"CA5 B@ 0q㒏^M'g]}ߡ{oBYTz6"0!@W*zCk|7U Sn hT*~QOm ~ WZi_Oٷ^soJ |ݯY`C^B O\ahq!*:ɀh]K>Pr?e9G} r.Лݵ7ŕd:5+kB$ † Ď)=0? Iy;PE"p+S2>b9EA5`O^0u 0f/[zO K$y {TNހ}C՝d򘀢]@܁~y۪btg|k2ןgwx Ze)ΠY{P,CE~t@\>=v~Uc)g9V.' y* }gY0u Ka^nba_ta%D:%!'-L8٩:BFbC"ؓ-p@Qo T -m8ڏ޽y= \{4yZf~c[Ag?0iq<[3"GJehc3 @YM7_)cè/ZoK o_]@0{,.ʬ==1ۡ7 Hq/w /-Lz)PY>y#<U0UQ I#Ph{Яpa( 2Lw|Ѹ蚏c㓞~}nn|43M+/IQDݐnDքlmi"B?U򇒵ji­}=DеWـ"^|cYߐEsPMJdCg' g\ N,X8TR@S$$p byဲ@,/#C_2o/#O S7/3Vo m8CtO4yQ#"iC~hY.dcM,A38*q8a/IJ6F7z11 ٲ5bq *8.gZ[61) _F߿# "?sZ@¼a#e'x$2wi/<F_6q 'MSaS%Z9/!D(7`zCm|"s{GwwnyvhI:;rZGNhܣNy}G%ůJfYc csf:nJi%!$kRs᧭_3owXcJ-E M ,<|?9Z͑N,?t71MxFr <&% 2#sKaF@xGHLjSp@]Ub`?AwAv² CQk]/ȷgo*tw6M.&*1K [kok/A+^&$F@&2\;I{E[k_vYcO|<ɹo5ԣy$6{HRNx̣ 7O>IF|rD=[t%DY XIΙiU&j5~O:PaaG82E_]~C/;m2+tvni4@,K>sVu;zL>q4E)0J䤅I+ pc f Ҙb>Q/d jedΑts6T.v[{ޙ_ʳ]oa>~_MӼo*R]3o h/Qc~Zff3 o))ǒ5k5PXh#PUJB^aҟ6|aXbn B9ϖv LYRCh "jaJ0 I 6@h,;rZf41P P䧤;!Q8N8 l8PV'ҏ|c6r&cXS39+LNk %D7@rAҾHڄnD4#C_ќrƈ<-{] ?kxٸ976Fp MGS@\z Wg Ppic]D DŽ Ci 踔 .K3-8^ q_4}=V'ir逿[#M}2f}Ju-B(R.ݧ374M>IBFQ,D_C ?"sH=cX׶6=`o? [?^M'6ɜ\.ƾzdcI/@eXX .(O"/,؛<)V?O׷m~vçXb aϿ+/\@,w\b.{l#vl.[sXQ\c+S%{̋MW'`̯fmFi7],?ם 5' ppFЪ9e ) $H 0kK؈l[WCdp2?MLuA!.>QOq3 h@R``Dpd@^4~OV8,Kp оMWjB!2BpqԺzqۮr\0+p}|¹B@ ,s1Xmx$"Kxá_ HO+۰NjÃ0X8 XEFI>="q{BँzH^\u"\8*BM0+ /+'eL9Ri0qe)/ 1&ln`OL' @J\EY ~0jNaG ˙tF,. t-TQ xX3>f?Y 1h͂vv34 I:*.e{ZCi pAwg $A*8*v Lw 5JO"lR*#O¥<_1n6{K- 6/°&%=6RL3DՂع?660` 6)Yef' bAt:l١b#*RmYD|&ZݽP$;Р!vR_QVk.d762vƁqh%(D@ w}Wn¡UYFcX'\bbB읷➫ ml<"C;ϒ%)519FEjRt{Uொ=P?>yѤ?*X0^ϡY!~{oQ.Y p3ѠOv>|{NX.' 2CcТ4B@] E~gJ_,ƽKtCkF$K$<TJ;'xa;9l&+Mh5M$'dJ T"w"X59mgD˲Z}’}(چ,> " ^lX6;(y@\a$@h r5$E<}N@Wp9 $%ᱮym=E 0WA8@hF@YycSe4/lS,\v~vKxo0P*KeLu4Y>mhwy­fQ1^1R֋a*;5tP܏y:Ś ,m΀IDHa;ql"0x. Yw-O^hJ?&8F͈\D؊2%^.#1lskSZM\[vp^oI.-S~|:4el%%\ǰZD䀫}{?7jN` I ?p.Z,h:8OzP~C 7!ϓȄ+# % 'gF{An!qDPĭ((Kad4 ͸†+~[xC=X D$Q${ƣ0+nƽk˾$ yݬ4p\,AiB0m `""+B.[INh,:gY^A s@{)q-ͲA7 _7\z}A$5]޿m(GsIͅ2Eu t'SeN~U5OۣOE(&9Vʭ|C׼ס?WO<+BdyߑT4L*E9K>^U\+X c:%QA( 0\T 5=@ѲN,K q7@xx/*D]@X]2O ~/NQBht#(ؤx{Uy@ b<ΑGw6r)А'n7;̚8"]V\G U)K󠴴˩e'h&g(/E+gfM5(bFG @Q,%~F;f쀏;W50|C (~޴ l0!<ȅ_ 0cD2BBH ,"C{FGRu;3N|G?r7 ;9Ԗ-sLF3Odꓦ/q@^GF7tXF Ά_옕'VC쳎, V @؏L_b'QE^/ӳ$z#c޹_<Zj\t,%ĕ5#e`/ yà (j$z%tX?=W_'&cf:KiORs 7xp@-ub16Pz<#OXQ[gO_EX F W@8RB )3B@C|&TPV9<ѓ`B3 G<z~k,D=;Hop2 'vQ!N~q 21f$qڋ_n'ɂ_BO.s*]Y40u `ǂͪ"7ru 6$kZBI(Io|k\h}nxҀets$9F"mrK#|wA%!c (U Je" 0sdo\\~ǰK/z6oqp[4u)ٺZv1ߴX3{iQ mS Up~Q1){nowT2<YhʹdsÚt}PDI2XUx}Tu[?wbWsqܱDQ"(1FBYOwll'@МAHR ! $NPrRҠYP^Ka*4w, F@qGǰc^S'>C w*״@i":$_G<,?(}~a1P=).'C]0,Nt}_b7vzYx5oL pA>[í 40'^!p({Pph$%'L֦ eF@q쬲ֽ:.xq+5Vxcw2(:ŕFs&ІF( B^ws8`}{&L?!H?ƠcZ_홦$tPEUNEߏ8YbiDA}4!Nsv'fh7CmUI5t3 <\kqԅz㾷fzC9z`w<>#},W]- on6஀ђx|)]XR_Q=CA@RU׻ʃ8ha4AM%Q?o4z_>f%c$c]~{:ER( E}Y*lu垷j/"K%ŏM1]gC!i~2* I&KWuH9oR84:ܝ&{ӼzOVGSHxѱ~AvtQtlHAk!1L@ h x:׿ p;ї=Θ~kǯqB:`>mMU!裂A@mת2: d'}?RHf{0@e * V>>|Oͩ&xys(~QB-~H$o5ٶXb t'^8 RE}ǻŴc m=j`O/:.3D;p?ä|W׽[^7h,[^ο~1vWP/M|SIŁ;uWYGJIIy~$x257֋nL#uw}{0FC:>4=PAs'=H/U ySIC5?=´=-ηp2D8e yeK]7v~k'GY`:wjgBIDhڟ8y{K]P5[Yo;-Jϣ扜p^t7/H{ҭCh":W*-Rs]yDB͚Ic@ u fp@Hb Xr?=vɟG+l T?SXGi)W5q=ƺ0Wk؈FxdK۟ޣ\1 Ukkl.nR3X ~&pؤj$ G[ s KpsfX}mN~ړp[ߋg=J Tn}sp'?Am r,`3!|%(n E ?eχIkd=~mlWy|@/k0?ԅ3Y`N446cNǮq0Ɵ `$tN7;`p{w'+M$4&4, {^?@)v 1p4h8P `'?%]*Q[i.{;p_e÷߂-;thd zL*zG@LUR@$ws*w`׃{g<iV76a˖pf>Qin^2(g JHQGj m@6uOS]E>@y(p8 ='A?G`HT$#vX7 |{٫P\-{]:W49w'F{ WX0_ro9?%Q . `&uGۉLM~9 >H~c5B'z>HQ&M}) !}.?<[ DAq賨@)(@(y g<XsY'_waCk\F@=信Ģ[7wS#7iJKs~JoB_oTqf raYS4N۷68XDpMI.G:$)TKbL Qq9{q(`Gs[ sI ΁^ւ@8 Ywl\┧Q%/~w~ZC^I"?R]`/W$ >1t•{Tǟ~Y럃3X~@S 3&kt;0 b6q pLZ1vPvۉψ~R ,c˥i L: p8O>IH } ZAsDdXVӿص8e/b[ww#P/겿IL"~L_ XķQ kWOMh9;K+` uC%\K]vh߀ Z-weo3B/f0$[ҠgD%ON㮂u\p&HF>NIfēD~\?CΟIာ Aۨ>ģ^ \jy+O\͜mmלP/m.Uq:h{+K\oח`dz~1c*vZ%HIo XrwèN܌>Kh-?BJg./rW4a?/0 Mٛ8j?"0Z@CDW8r+8T62 OCk5F@}du\ f}~PܟV|5LX3hf88ӷZ Z-$hr ^ '~oЛ:hu;{;=2c}?  'M:Q$;9{ &vk=p{\'uT „xm\H806Ħ h$!%_#r%ōnSڰT\7g>Z^~M4~#Pc)"WP7V".Ty35&-z~d2D`dz}4kb忐1M <`M݇ c'oh-^ $Ћ;%vޣ ՜x3."1Sm;CctΎ#x/we.!>Pw ^q_[^R4W߇[E߄6pGex#h~ok󷭸d=lâ; `.B2#0,/qȶ 'W-UI >T'И0g' 0}X~;ˏA{wL.3=:z(w-΁P,ߏSo,otB c)gulpm{β WN.Xw}>_ L+[ #{(_\w^| e^@"hh q规zS}580ЇEN{n N8 Bw;Y[J0@=>'r AHo8dg𻀋scm"~8>8rH9Dz 9 9ѯ3Gјq<u8悋2܋Gv&[}P/ rqT9?Goh{pa>Q|8£Ա4=KHb,o[۩>wq߼ ^zE_փ77s1{b?EK%D"_C+n؀7IQK$u1'~ȁg'+`Z׷:55G㒗'Γj}XpӋ[O4SPx%A|6]OJe~. @*\O}=go#.gЄv4;0on z:_Fv//䯞pޣLf.B%|@pœÂ> c#IB61j떣wK '=Z'/΁6c"!0 0_-]oV@xV,ctAЖ&Er܀j0ihtl`:5VcG/)P>xp: c5H ܽv!uExV]r(MbnLߓWѳ^ L{8/ 'K\vXK,?@&$~ vxOw;wK?-kt|́ij8ЇrR; 0}7Oxu8vJHBOoEg04Nm{z3^tNZ82`ΈZf hWM< Ѱ_t;\iO{.{kqŗh&?z ~7; z,Ŵhr7SVE'R獘{1>--z0/xca`iP0~2:D3Ә.[!0|(:wF`A;?AB^?I95vIM>,K d1~O ȍ0-Lj)V`L5˰? [^lࢁN֦i~=onFҘ\ˆd,\ݞN$y큋yj߼c 7ɿwKӶ~ϼ8l_0@7 Z2  ASC8,󖁰}k b,O7/Ac̋^鹧ǰfjZa`:pB4ܻ&d>@B8!ABC$Bj`X8폟s/0v}謹=f|F&Id!x#PW 겿r#Ԩ7Rᶹd(JC_ʀpq+ w V9t 3X9RL+Q#kC{\zk:d2هEIyP3yY`ys`R`ԓwLQ|3"șzaw^[< )"7,;Tа _6 Kh3?qōr BX^O}N<G]i0ckRNg?@[ƌ>4}q &v\H^@V=c5VԎ:DZӟ8qZklt!;XavWef׼aFUfxG@=@TXP7c.}YEFH鯿w\#5?X~ϣr_XwR\vi 8'g>뷜M%T.~ l}زjbCŒV^Ōi%KCsXF>A\ OXwEXO? ր8 dDDDx9a#Jfz>"8o$K u7?UXe}](&?!69ۖipdy $c\ PZT z CCrY*MunC&/o_Ё]9*9 @𓜒>OxzLWq^D gG>j=Z3?V<ϡ-[l_j`pdĴsI}PS#1q Ahwl'O| 6=X{-㓚TcX?fFX),){Q̘Ԟx1B  ~#PWlA 5Oԁ0Zb_ik8)=ID8 l7H&TH[g'jRˣk tعMdN:+1s-<C%iV9-mm]_p@+ Nx.-i:X iPmͯn%r5T\19b?Qy?@9\2Łnjރu֓؅9D[A$num7 ŀ[oF?o;^_-7EP5K#:D̈́\d2Sdrs5{]|[kceon2CtHY֥8.ģ #GB];$$$P{ݮw1ѣ>Kף%wlcimGusp̓,П8~P<&F;1mgϏjm˩!uYd:FSLbֈjGPW40Agbe*O3;6\oy0wO`:}E5Xhs,~s:{w;}}O[C! 0@ 51a`Pǎ?OŚG?$,#轜$o^3I3}]8l.QogH_g훕γ@0t15fb0JS ?ߟr?ca 5"e0-D~Oـs0 uZ}cv{/e؇c hw"-C`;4^_/kSQL17& X?Ua kѰ@~cEa.@cuS" u@yu Oe †i61Vf\>Hu;fmmC &z$XJ-W!7\Rsr3 ?c@wĚ2@z7ŏ`}ZyO-m:G`2J?FwV 95Am-T\NgIie 㧝I 엝w-}}3hv{hX ?󴮐1Áim [H,@Et0o 'UUԗ4^9hYU_Q8b- ܃_OPJ` '=#ݷ3?V3Slz 7u MBgv,<z[)hwjx?"Rc8ySGYݶs}VFs <Ln9z<+WUtLĞ~mT<*2ͬ/f}[O `(6ƀfwpXfy*t UG;ou& BWI9fk4S9Hɟ v^@6|qo;˝#B.}-eV2^uzFg.tvn,O2y:)Af4jw@?6n*mڌYIe0|7>`A>E9#x|zIh&tvΛ{_9,S/=C`Cm]̈́CJ F@=֒luV>ekG+]zfYq< nLdPu m`y-[z{_~mرMcPlPXrc%DXB !%8xvs^p}gsU}oU5j9w{uV]k}nQaS|Wl. \&W?"L a'\@8\$0uC9Ixuaw9л|?k;/ +AҼy~x &cAm>N g@@8N*7]o2E0( lA›Zh]ߑ"n/ٜ bb6AU#U {m(?1)epƿI="$ukd)~N9i&-C z>}'E`py $ JtAvҜ|;/ 'JBȠ{8{E.#4oHj ^gIg$]Xg(@@斸\ڰ pW3 ~ ۔?aAB ֠]WOA$@A;sP!UX'?O7%wv&>Q)2/h(|^* hEpF ~}5 {?_\TX#9^[<iyJS`HD!(}+PJmJo 7_j5H} @tW WhA-KCK,v-  s9h슟٪6B XGm 6?R%;\[Rqx[__aA#_E7$XZJ2R܅ԭ'jdό$X[ds_~R4HX35=T_T4<`]8r9VAa0J5n%e 62\z~uPeQ(pѧ[ I, ~C,֖|z,% Я&D`mYCbd%@}X%HY%_ hr9 +B·Jp?7~/ E|1د^I^̵W+ U>24.@kbҁqoɗX&)=]+!&x@BYLMgf 8l ,ZjCm");gY6>8wO \ ﷌{ ݯ^( y a֘U)јsxtR?/g9H R_GHȹ`}5K uk{o yPYΏ_.X;  |3.shL`a)EgZ^WF3aFk+a(ahxh ԝoC Um6e TԐx(up3pq֏ ڮLUfT vga}gObʌ282:[0&|?(5nƮtY)ǯ& 8ՙkIAո 仌92*X-Ms lA%RCٚ|r\wJ"/vʟn#@XXcZ?IjW ' /d~8_$* K`4,~^;,>kG9E9g(J@O <^gQcyWݕ"rFPgp73u9"2]X"`)dW }QE+A &!  p*Njn\^?&` UZlt^x!/%d8c[oހ3=ocUʽjӽ@B/n ~}i̯I?{r ͘ Xf0P,2!c<aJZߛ0 1aZ;6/9O Lz> '-L۶D$Zot x`0k_oS/? 7xP<4l |+ 2 H@4;C8zmĪ}OB@>+w̌tA@e 0r!ƚ$H m7;qKsoY Iz?vϏ{! kr3d{؛P-jO</<_{?g ^kx$1TJ2}PTla,G B ϾvWls]\m.kXd酑}S$ *}!$u|2ݯ;36OȎG`O &4qRlpuD%m=8Cq'֟`xZΗ绯X._A 3oql i\`;/g5k+@sf4`UkJP"> E"%\;e 6QQ K Rb 4/p˿cC%J@8܇ɒKFp#2mM,ef}PE*^(W?=T)(q}T#v2ʭe?-ͺʎc9ׄthfTsrE/\6ܚD?͊Oo.4mV,I: /8( 瀲\ -W~-EhPSAO2$AgPDHc/)"d~:,\ʫ BH!p^dqQlTWX”e-N, S/6b]SD?dİ"Ap{ihkXXH У D#F n~gfK85p4)JMKuv&uv~[A"j̬r[a0;;"04E PuI1/ʅHjV>`l91Dk7h7n+  2-\K;N(\9ae^-!`7@i>L#_ϱ)璎#£JrrO3x{?#R [,1+s..4X72$ZX \?|''64[ `#lG{c'2,{*Z'\)|~&ꀿ>L՞BS D4~ &wXmLn/3:&ޅ?«B" ;y(|qh ^m'*q D:Zfn0>LbEQ5~>cwvdDl3gfQ&Z7Ȳ (^`  %q^~;UidK6~lbi @ar&@*@Y,e r#*nl£>ݰs:r%*WUS 9GmNi?Jڰ* !IPj5YJ3<{pZ>9=X(%@k( gQSGg&؅Ga`'yfAOXm^Կ/#$h._۠,7^rKO/}ʵ&7C{0σ{ݟxG~HPeX :oΥ,Պ]*)31oUQC9O snX|ܜRљ݅%XkaC "|Lqzŗ}K2*5$,}>?SX`QFy.n"F ={T|)' p\VUQ;O݄I;-n3fR1<>>;@@VsKwt?s :z˄?e-,k6'cjfW*ָ&" N`w_4, 1Vݢyu? iL 2ΐ@cNg:ȅ$'{OLg%{]@ng05lʉ pZ`u`P32:BˊUց׀U`dfW7 oaL}ĕ{ hB&_x`f~G3_-;TD_$Eԓ*@4PO |,~C^?PRAL= D(2>. 8yp 6TOcj}Y>֝kpkɣX]2Ju]2ѴZ>=u#6Mik}>"{@>1&}֣^yPT˜GtS<{wK-=esut*߾mi%Ti)B ;>Cgg_Nk>PeW0XX 7X ˪y%(C"Q* \\B'R1BMe*Tp׋Mq-ZV*f/9p|W ?) xOío(0+i*v=KN|<]AM-i݀ta#_^zg R:uMLжc]۾i,0T.܉.#ow6R| %MlO2 NWm> LN _*0ÖsԣįnSWGwt9L@?A LWx=g a)/3Oomm,c2 "DZXC4U.9oAQTہyW/WVM@-pX$o`\%0sBFA_DH|xXC|{p &ǓL|jd`4Uu]78eg,bU8n )eɖ LC aXX3̦kaPkӤWu8 +$Vc_x ?&\{\z9]@"-/ !7xԆve~|.칃t[x~&5&%Է5%1Y" 'vKj\ 'ˈFb%pVZmND$2ǝ&Ě 3?2XAbMZӷ}vGVPh 5g,}X3e׭!=:q Y`}aL+/V(}MQE@T !ۏֻQ\8:9oGgo[ -:痁;h/g6sbiGH`1ó+߸/ X7&*oOlM&|aOL4ݚ غ42ͳ2iӀ-)[`grY$1 dy͞ɭvO] P c?bj O^K:]TS΃iZނ РF_OlMPO<=i=ue}{P+vnUu )s@,*r8 Hm2&6}BTck.(D?݇Cz@eU&&cxv YZ7gOHAdC뗨oI,p_Dzn[`u"0TYx5a?EtGӎ߅o$| +AY}#VR[FH8#+ߌ5Blx|}m ~~e>YTor)Bڞym)@J .qlc]Rg39d2UO/Tϓ 0`RO߯p5fJ4N [~L묧 \h&4 ,->mԣKB/:CpFkzMtfDb\b *kx%o#[;sVSgh^l o>wD)09Кz?w^OʠdlQ¤ڃk@⧍8,WEm_ۚkQ>"w)0ŕΆ#ņ{jy:1 _Y<ɀ?X¶c?ʍtjtȑLm8 pLapo `m7erYa/xм^l!]Zۈ|ނv32A`YFlh.+Oڀ pYIrAַ`<qjv&R xz)Y+@ِ ;6.dٲ`ڲ} 5; V LlV_ind\T&K(3BAnj$-T@GS%iOn JlP*x )|S:jFT'x<3.AzD[gX!4oc1 E2Yad2n- ~BuqR6+<`2`޷U& ߐ,_L~l~jS=8; VЌ`_C__NN^.}l6u9OB!On#!`?݁CO/Q8e UV"(0'.#H)A{t)x0W6)F&X--"d򟎗0溁O$VFB?+| Ah*OSN\%iNOb&N&8@:u|]"Lelj/ :pt Gp4#GzSxZLY,U=Prs&\Mu̮mM0x^gW? Vmq{ z~KӋLzXj\Y>s~WQ'RgB&x|\ox׌u&4e(|EB_'>ǪfVEn@gKvJ@?J_?,kT0^V{]* `UOyyWK'=?'~8$=>vk7 ֤ 6M337 xzOtx)7 e_G?ȉBuNewt+tivopǥ/3` '׃hAelSGMt•}cU+ @S2S5@T<{x|5XnJ=TD(µ:ߒeӄe[ Xf$~yl=K _2wYO>2pC[-3TTW:HMc.I b` /_FP =H|D/DkXztuoo_I ?>4u&\|En_,gCШd 6No@!zf-0!o|(J}:ѓ3Vh";v 7VT~Oy@8Y561ұ0ff{s\ɽkAeRLLt} \x"jT7^{&N1:l>[B} it6|O*қWXįVFe d EhHd>m27A6TҊYܷۦo6_'pWAB9h~wࡋ0ab*}RA +Y1ݾ ,JH6ΏΠ7M`|:Ýl`, `\ Q} ݶ 2W F\6rD,XMɟ4>Hu"C ƚ.73k!eʃ͋c&DnY 6Re2f<!.C8>_Lf@|sM @Uvp MN~k"O *G*M')psB8rB#e뢔mrͨ)@c@p>eñb}؍=&} @6&Ju4Vc@`: J lNe>RSMhpgf@ {th ۭ!F࿋>;wnT5vm_wXƬi6Ƣ ̍E^Q;AoD!AΖBxȞdm* Ӗ/I=?Oj#ۗ@*Vhz{C4/#UCmt 8?lr9WhΕA ~Vg vnr~z\3Ÿ3(e^ |إ}.(}Y`7p. $V q^cVW>@̵#rȼ'*7OʟkS:EAB,”P5xodi&/Pd&mp ID#uv^7 8 Of 0U= ׌Kj_]H~9ps.}^yL5 4 dbD3ͻ5@@]P OpN#ieu AF}| V⇚6rV(HYˆb'\eP`׫b^ZNDa:|~e/#IW(@B 1lN]:B`x\g]]*75Մygpʨh}eT6T=j4z0k%8M$r/`Ĺظ`cʭ rLl7]A/oÂi&_Tb|nZXD%>=d.,ׄFkpdb<7 Sô 4ϏP ~W?ky*ΥhR9@*q{3ٗiP0T\;3}Qo0ZisQ`UJ _"Aƌh^uevDÅs '6z+k ^.o91oDf_|~]td%:g nkی`4`k!$$%R za@"@x ә+$1E/K ri2 bɃ]96(;JW#@:c(m0\fv 2p3yeͮ5吼Jj K}r sU1,OWE ~Pd=70wx Y7)̎ml|cw Pܮ<k{ a.NG41!iP qqK5v?6X.Р2`Zkpq.9+Meb,. ˅&R + t(dM7U ,;#.,K_Js(ߗ!iI3rm]L 7] !lҘ]{ܟݰޡG[7=L])_B"y 7Wxfa|0O S%M4 ˔܇ !;jv tߏafui>6NJLКMU9 Lۄ+B2'i~EЗc>rʁIXn-<]y5q ؉Z8}(\EWx6|Y(Pfe_бCef<ϴ:6K/{'[%Okh>_ m@1܇b[ `88_4ЏY|S5Zot ˈi&@cLlPnSSvt~EkHLa/G> aei>&VHB! EQ 1)&NMȟw<^!x.35CdתM8T=YyXn8k7ٔ׵xWmPY eZA Kw+&ו! D! luYàͻ]6&&+ٜGSz3D!e6QBn%%#_WpkVm)o5cGwW\'!mBg f/ 1G1 Z) p3my~_^P(5.|p ˦?MFPi&=mtf\' >ZXah<x Ěx6e6"E[Vu5~ \LKڀ#Tt 4C&T\)͹֗4ր.|~c_F|sn _υS8 -axwL{ (r\u~#KuA=y{#7"BIL8a,ixu~51 ( ?H[rB@Z{6b!ƦNIswS‰/ R2u XCd r;"mM.IԽw.Y@F0K<*} hѣVh@+mФ$4̶ E0h]Bjۿ>nzH>e9fA3)`ӆ rK JA_=܅`ľ؈DoXY,j#Ngna ,x0xjr6I'lB(VY_嚲]ퟵ~OMF-0rc 7_U7*P^~.;?4Bҁ7(b#ۣyU& liMuK N&K}8lY,Ճ ?Wv/emlHy&WY>]vM&Dh2YQsMNcϯP5D?8؁!e,L m26wVr\̏1n@.:(;x{uqx+E@M%60I d<āePݳ7WE86=~8S=B˴i?|  a0x}>e\R/]TTpq3EJ8-%QThؤEz`ÑJp5޴^ewA=I?4WԆF;6 %̃hT4-ic=}{4r7=+~ƔAh/C8&OQ&@iƢsZB<3kIv-Ǔ y]9/[|v.i#mUHHQ^0m1^C,Ӷ:l: ʴ4V_4]mUɏ"cWz6f @p7ѽ甪ƵxER-2_5 @' Vgsf< djhѣFwKT7k#mmJ-"JWfB&iBn ;0uwM 9G@K߇ֿIZg @6 >OB_ .IE4 (XPjzkUjJ"d{L}8 n# `0ut ʜƴ@D1eo ڦ&_ڍdI>\dTtIՊ~.N7-M_w ԇ;^m2sd.К7nnl91fԁ֍>xy@"P?W%Iߩ8eh|ξ xk1iU#c*0EQ?momp%nف2.5}y4h3?WvHM`_[*s(l XuDz 3P_o UBFIi7~| g6?Cǁ7g7=ϑduMj̱iX?JP"tQJ5*~ Dg9>e 9FZ0XA؇!8C F5me+_yDw` MԌ|~i6Ldü߲\:h~ C]"U~u套)C7oۿ υg4M63_W,I@YwMߛs^RlJ*M6KMhiǔ 2c 1l<>,:Mn^`?[Mg܋:/} Pba)2X!闂s]W> R7ȇ 0,\T Orև)hj q2`o@UBDB`m|Di3pQeqWiv;:@TWaWi%)}6.~>?(x-6. ޙR\5]{A EIF  EqQa5媽e6O9}uK'T+wklM- ~%d@U4~PT/KH2+0r\t AQ `3[ZY.2˛iWԦ &# :s~[  |S!t5f=SkC&#_kLV@*,~JpFB*(Bk&ȯ=o?YX%URU@Bze2{Xh?38K/y45n i }{M<܁sha.BBA>uA߿? ۋyoBׂjZCyZ@݃plN !Y@7`3U;s}ڇDh ]@O7 W>Ժ2_1(" ۾k<}Wy&HqY5 7یUwB5GCoo >|~ ц1qBp~ 0.$OsL0" e@ePGM_wGXF(\X-OyTa9t]v4VbU[5fS0^xnVV I&77UQ&\<|e#,ͅS l\BNG2x(݆[yGwʦ +3[mǕ\4&C_kٛY?r]P|`,&R.W]^LF!3jo@5lL;nG(`X)XhҨ7x{Ѝj9Y^2kQG0H7+o_¡zaWks82O~L1& Mk€}YL])ycڷ:7, E eԘOGŅ2m@X7}+ym5i/sws6Ǜ _"MWl}0q?4 4}5 == Pћ*DQ?}pbRjj0Pou-N#~jUkw"(/,~E]޾UMi [elX _;sv 95y}pǒG.| %_gfPFyHcWDF-8[՟ьKU93m !|-<\-->0 :Ne Yf})lJ/W DI⫆u^+0C܀MۧaZCPӐxTWgNۤ7ȃX+ ~~4~)h[2S 5~K7M4xput&| oΦ0:8N}Jz=(~_Qoɛ^WW(ICj@ڈt`^ꋇ/xjkQyF[Y/|.Fuu|~EW MvCyN ?H#2"X|ͮM`1mχ[VGV-{]5mk ߅8 MCh> ߴDoӆ;WvmRe}P a_ esO׬Sp*7屫Xʊǂ$'JO]g΢ Hca_%EB@`:/jPc[jLo(8&j࿮GA~\Q7,_[ui}mTewL77J6?$ +ۮ^_tnČE:xЫpYYŅU0))~_\ƭ[bjLj#7o.ӦVO}(||~S_@X9_Ǧ>Ujۆ*Ұ|3A_x;>>>yuǿ{\d>ג*) kX_Ҵ_v-̙yI8̮Р_mZRnVoӢVVjX'B|˒_چob>[i̅Bq>w{) b9J,9ykSO[]|mLyX4@a0SɸTo#W=QFTa79b BC}S8K|~I;/\h$X/2n1_%o`π)?r=,L~ew>~6 V\mD ͑h|  3Y7Qu䜱`r0D42yC͌4hfZ]/r`v~ ?_$4M_``>ֿy+ˎ!ف}GXMP[pK\ ukܧ8' ׊ >-6j3e4@*i6tl>26xr1ML1%6{9kS_}7Fx`,;/:pÅO jC0 EE~ojtX8`](ʭ*VnI6.IEx+׹E4%OOl7G.yO'!`c^;;3 b`0?I@E(WҜJ5B58 yN''~Bdc̻(D];AS^RմaSEWi=7oV`iC- gI1@X8Y>Nbm/[ߑK뮕>wYW%lڤ]t/ԌP93顧?Li+z0IhdqiFj)$-iA'VևNO_3q kqv]~ɓUY&2ڭ3]!ht4!:GX8 %:ot'"pDK3o3:]CnheMB#b\Q`P~_d` GCfFj 36tr'f6Ūe}/HuDdW_!_+'.M\bzΠG& 6|bk1.ʠ?=e>p`9g"K4z4  8D9M&Y @k%m7G]%?Ze߀ icQCȕ+:b)kkڌˁ\v"G`SE1]uŔX!㱍7|9r aB_LĆ^u?˂OupYBaRcl/nMǫ_46̀_j@*]e\Ӛ<+ :+4P|y+OfB} ]7&trs|ou7Z&19G?YLZ2|< m8r@5p})$4O6 ߯Z'FXiIV4jx5;6Ee h~pg ҕ-A *c)[0帲Tf M D>2A]W_y޷ K+q)p}M@;|q3+ɚ0~2; RV@AP) / ڞ@YX mȇT#6^_|QmI1%[d`ݧ"Aů-M෩%%w</ PBaVf$A_P@a8^'²MU?ÕHBZWk.5؊0}sZǟ܍OCK[JdwV4RB.ا1D F:t&U$?" DQ [d 2k- ܆>y>L}_XL6:l 9tڨJ_m3  0^1l@m\]oq 5 Ф * аt"0 "j)(8) !^ ]V|sॄ  Do\>?4_Hgp t /M +H(Ya~ F;3ƙ|deVlKo(> _ȑx0"f\c2/:bF113{S>k"#HϦ Eł6$ #K8*a `6.k]^WioH>u.b_uK2 *7߆ǓY)Wr,€t]VSTإ_#rl/N .-> b69uv\w(kq_;Mm l}fYʶ~|P968YT:EAXl 8aϘȊ1 Bw9iI=BA%h17R] 9 ],PTC/ ?@T=;M҂dq]y%ˮ_{̥3Wh6t7u4kaR#I]k΀q ,^CVvMn r_8'4ΙNp35IІ~E>rN|~)KVddB~%O:2 Q@w[3mW\s`|,loVs3n4M)lr57Կ{0 ddݤr@!(Tƍ- ЉE> 0t04B$*dTC 1UWT7 0IK0`o7\\tF/] /"r.suX`؝,qz7on ˸]RKS +z# >M)^S6i!Ha:A1 dY aB #7u @\UpD>?|~.^H~~냯s'@YlN=/]ADK~p `gl11&]f6ZrF=v-/dz47}Ё+%V.-dƾrx"(a$ M9ܻ|n+b I1x}$l$yI`33PTi9pg*Эo3EP"k+0 K޾'2BbAD ?J,#/IkZP\=W4T큝*E $m<[ߤ4qR%'~vS m5C|'NdQĂeQ VB+&B.nIZ8fbN@@uo.{8]ݿW/}-~\Hx|8.B^ux ~ǥ"q M_Ku'lcץaK4_;_ e_MHw&_vV1!n_@炰#ڎL݀+/eCa8,&>!+AuF~ot7F _ϸa!A$f`̞(`&$3ը_=-X6|;_oi`߾ff 6w0 8SA(F n0F%0apEؓQ Y2;L, ϻkW# _|NDYCuT!R~?;\d(x>p*w QC=7ڼ\o85n[~ӫl '=b3| an yZQgUUX 8S2wKn{F-SH㒪+&ww5qpϿwD!Z hn-`C>2I3C(9`B? ecGK_,nn9 Ͱl^Ic]Pm e$LN 6twDn'"vx?)Nzȕ+׍2)}(ŠC uw~ _/>~ y}PW m*+M[}fho3Oydsmlu󲼀5xŢwpa]3]t;i5+δ1,WU'nyv8Sd'DУH1 {(P 读rOВ h{G~@^I'=?l7}1 P?Жg_M/{.z8fKh\Ce+u\*an;\ѻOp yhU\4 umg]>%pw aTUXi\G7/<q{.8ר!Wrt)v?>p+gTw@Vj\}`4p??'|߿5p?}Un< OfOۋ @~tgx0/~??B"&+M @"$hs_M(DA}xZg_?>G$) Oq`i"qVJJ90=YwS \to0j8lwmrsx㯃0#b4<-띺_җ\L0u ɂ@Dlh5Y. _]x&ݲ@-gcaǫG0_mZ: ^0*R<":E ~3!gwܟ ]'{zvrp?@|āѫWp^m~o{/ ɜ;%F+.`M}~N)@pwmX<ߍ`AhӦiM:`3Eu%[J8DLɹOiS!Lk{iN\`pDžad:\{q"Їreۻ;~]wFK{wF0]<|>_3wcs:=G#a=H*&1gGS:΃P{G)v;o2 >[M 5}]Tx;}ooe-/Sb wy$w+$v\(iI!bn̢G` A8Xb`N=+ΣOG]G{놇Oϕ:<¯Ylq"6GE,~iszlogۋ#KMb^S~ m/9tSj|bf9?1S\$<89t*Cm(v{}?hnW5v6mKS|׃ȃA}jMtؼ^࿩oIJTj\ljI& 6pxϸ~*ƽ zoĜx|OC׸q@^r  Ost2c{5~v]n)OLWbN_RZY&&2=_B𼿲8/jM ?xY $ ?_]~?|0W #!Jf@>2/rMyS 3Ҹ9G{;i_~I<}*E퇻; HF$}:-GkDX D`[95dQz `ݶ@G Cw2O{ ׺;ԕ!΁eU׬@W5g7}VO Cvq*cGkeUOwZkw{:9\GcdƁ;`rMO8eysfO%dpLd3 ߋMy>tl=B)Sjh'&9NO=ʤ2*M[Svn\HŸqg_w;~ 2!R}Y#d%?YPJ@?Z>?z<MGVv"h$}}59wzs`yvy@< wu) 7uHa#"E&!2OH;9}mlZ9>MO,_=CA] 9 ~HG y+4^V&/+9P^3_F @g&]I^GwOeR9(Ob1F \~28`ϿǏx2vDk';|>d?!0;/FtC;D Olݶ@,7)S`vﺟXǸ00L 1AÏf`á !eM^hxd&}2scpLRy`C@N8PS|!x߷|~9mP.lC4wqp'2)DZnnmmiM82na -=8\e7"֣{cG #)X ,b kÆOȎ rرlc=3]sj<=vl9sR{&V[ܯT/acnCV(.Rja|[~t'3U1]Kmbk9~Io (m[^AĎ7q r[522\JdެX7*+>zk5S ]\3&#ᇥ&ԭ/A~ڻ%U摤Ps | ;4TSg+G%11%;sAFĬJƂ8nu{|S#ٵ9f DݤjsmdQm_j nXdx-nFy3q_ /TkA|0K[?o_=Qp3wM-G,b8;XYM?k #kWO _ZgIa$M+[7|}X/A몛o# 皪64ŁnȘ'[Eys/$v h\!mU Uɿ}FƹwD 39/a4^a*ם*wo`;+p3Om^%oOVvqx}Sv5KAն}NßF|+0,хˉ^ v19 fg'|-K>@ _Au#6FOKNWD3 b51w3P.=rYԨPfBe-'}S%Wt9EOrԵMO*)$?XzLk.Sa: =(t7 rz6{;z"߫3 3$~fA rGd遐"&R>wb|_ű{J # gL'TEvcsL<QA {\ nUۘEal(a?sgFj^ˮ&iA9mv:͞IA4 xO0bAp/=so}=MnX,ySV>zd\MH'|SX\ !h]Iu^PioParNe<ey ic c.aleri.tsdoc-1.1.0/lib/rdoc/generator/template/rails/_context.rhtml0000644000004100000410000001476413641340555024016 0ustar www-datawww-data
<% unless (description = context.description).empty? %>
<%= description %>
<% end %> <% unless context.requires.empty? %>
Required Files
    <% context.requires.each do |req| %>
  • <%= h req.name %>
  • <% end %>
<% end %> <% sections = context.sections.select { |s| s.title }.sort_by{ |s| s.title.to_s } %> <% unless sections.empty? then %>
Sections
<% end %> <% unless context.classes_and_modules.empty? %>
Namespace
    <% (context.modules.sort + context.classes.sort).each do |mod| %>
  • <%= mod.type.upcase %> <%= mod.full_name %>
  • <% end %>
<% end %> <% unless context.method_list.empty? %>
Methods
<% each_letter_group(context.method_list) do |group| %>
<%= group[:name] %>
    <% group[:methods].each_with_index do |method, i| %> <% comma = group[:methods].size == i+1 ? '' : ',' %>
  • <%= h method.name %><%= comma %>
  • <% end %>
<% end %>
<% end %> <% unless context.includes.empty? %>
Included Modules
<% end %> <% context.each_section do |section, constants, attributes| %> <% if section.title then %>
<%= h section.title %>
<% end %> <% if section.comment then %>
<%= section.description %>
<% end %> <% unless constants.empty? %>
Constants
<% constants.each do |const| %> <% if const.comment %> <% end %> <% end %>
<%= h const.name %> = <%= h const.value %>
  <%= const.description.strip %>
<% end %> <% unless attributes.empty? %>
Attributes
<% attributes.each do |attrib| %> <% end %>
[<%= attrib.rw %>] <%= h attrib.name %> <%= attrib.description.strip %>
<% end %> <% context.methods_by_type(section).each do |type, visibilities| next if visibilities.empty? visibilities.each do |visibility, methods| next if methods.empty? %>
<%= type.capitalize %> <%= visibility.to_s.capitalize %> methods
<% methods.each do |method| %>
<% if method.call_seq %> <%= method.call_seq.gsub(/->/, '→').gsub(/\n(.)/, '
\1') %>
<% else %> <%= h method.name %><%= h method.params %> <% end %> " name="<%= method.aref %>" class="permalink">Link
<% if method.comment %>
<%= method.description.strip %>
<% end %> <% unless method.aliases.empty? %>
Also aliased as: <%= method.aliases.map do |aka| if aka.parent then # HACK lib/rexml/encodings %{#{h aka.name}} else h aka.name end end.join ", " %>
<% end %> <% if method.is_alias_for then %> <% end %> <% if method.token_stream %> <% markup = method.markup_code %>
<% # generate github link github = if options.github if markup =~ /File\s(\S+), line (\d+)/ path = $1 line = $2.to_i end path && github_url(path) else false end %>
<%= markup %>
<% end %>
<% end %><%# methods.each %> <% end %><%# visibilities.each %> <% end %><%# context.methods_by_type %> <% end %><%# context.each_section %>
sdoc-1.1.0/lib/rdoc/generator/template/rails/file.rhtml0000644000004100000410000000211613641340555023076 0ustar www-datawww-data <%= h file.name %> <%= include_template '_head.rhtml', {:rel_prefix => rel_prefix} %>
<%= include_template '_context.rhtml', {:context => file, :rel_prefix => rel_prefix} %>
sdoc-1.1.0/lib/rdoc/generator/template/rails/index.rhtml0000644000004100000410000000055113641340555023267 0ustar www-datawww-data <%= @options.title %> sdoc-1.1.0/lib/rdoc/generator/template/merge/0000755000004100000410000000000013641340555021074 5ustar www-datawww-datasdoc-1.1.0/lib/rdoc/generator/template/merge/index.rhtml0000644000004100000410000000051413641340555023253 0ustar www-datawww-data <%= @title %> sdoc-1.1.0/lib/rdoc/discover.rb0000644000004100000410000000015713641340555016342 0ustar www-datawww-databegin gem 'rdoc', '>= 5.0' require File.join(File.dirname(__FILE__), '/../sdoc') rescue Gem::LoadError end sdoc-1.1.0/lib/sdoc.rb0000644000004100000410000000006713641340555014525 0ustar www-datawww-datagem 'rdoc' module SDoc; end require 'sdoc/generator' sdoc-1.1.0/Gemfile0000644000004100000410000000023113641340555013766 0ustar www-datawww-datasource "https://rubygems.org" gemspec gem "rake", "< 11" gem "minitest" gem "hoe" if ENV["rdoc"] == "master" gem "rdoc", :github => "ruby/rdoc" end