[mcollective] importing reviewed package

Jeffrey C. Ollie jcollie at fedoraproject.org
Fri Dec 9 20:26:45 UTC 2011


commit 1f13e140ed6439ad92f5bb6ada97ea65c838ddbd
Author: Jeffrey C. Ollie <jeff at ocjtech.us>
Date:   Fri Dec 9 14:26:40 2011 -0600

    importing reviewed package

 .gitignore                                  |    1 +
 0001-get-rid-of-vendor-libraries.patch      |52904 +++++++++++++++++++++++++++
 0002-Don-t-enable-services-by-default.patch |   61 +
 mcollective.service                         |   11 +
 mcollective.spec                            |  228 +
 sources                                     |    1 +
 6 files changed, 53206 insertions(+), 0 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index e69de29..63312e5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/mcollective-1.3.1.tgz
diff --git a/0001-get-rid-of-vendor-libraries.patch b/0001-get-rid-of-vendor-libraries.patch
new file mode 100644
index 0000000..7e63f89
--- /dev/null
+++ b/0001-get-rid-of-vendor-libraries.patch
@@ -0,0 +1,52904 @@
+From 42527fd749e6afd1bfdf8f37645e7d3b101a393b Mon Sep 17 00:00:00 2001
+From: "Jeffrey C. Ollie" <jeff at ocjtech.us>
+Date: Mon, 5 Dec 2011 16:00:40 -0600
+Subject: [PATCH 1/2] get rid of vendor libraries
+
+---
+ Rakefile                                           |    2 +-
+ lib/mcollective.rb                                 |    3 -
+ lib/mcollective/vendor.rb                          |   41 -
+ lib/mcollective/vendor/json/.gitignore             |    6 -
+ lib/mcollective/vendor/json/CHANGES                |  188 -
+ lib/mcollective/vendor/json/COPYING                |   58 -
+ lib/mcollective/vendor/json/COPYING-json-jruby     |   57 -
+ lib/mcollective/vendor/json/GPL                    |  340 --
+ lib/mcollective/vendor/json/README                 |  356 --
+ .../vendor/json/README-json-jruby.markdown         |   33 -
+ lib/mcollective/vendor/json/Rakefile               |  401 --
+ lib/mcollective/vendor/json/TODO                   |    1 -
+ lib/mcollective/vendor/json/VERSION                |    1 -
+ .../GeneratorBenchmarkComparison.log               |   52 -
+ ...BenchmarkExt#generator_fast-autocorrelation.dat | 1000 -----
+ .../GeneratorBenchmarkExt#generator_fast.dat       | 1001 -----
+ ...nchmarkExt#generator_pretty-autocorrelation.dat |  900 -----
+ .../GeneratorBenchmarkExt#generator_pretty.dat     |  901 -----
+ ...BenchmarkExt#generator_safe-autocorrelation.dat | 1000 -----
+ .../GeneratorBenchmarkExt#generator_safe.dat       | 1001 -----
+ .../data-p4-3GHz-ruby18/GeneratorBenchmarkExt.log  |  261 --
+ ...enchmarkPure#generator_fast-autocorrelation.dat | 1000 -----
+ .../GeneratorBenchmarkPure#generator_fast.dat      | 1001 -----
+ ...chmarkPure#generator_pretty-autocorrelation.dat | 1000 -----
+ .../GeneratorBenchmarkPure#generator_pretty.dat    | 1001 -----
+ ...enchmarkPure#generator_safe-autocorrelation.dat | 1000 -----
+ .../GeneratorBenchmarkPure#generator_safe.dat      | 1001 -----
+ .../data-p4-3GHz-ruby18/GeneratorBenchmarkPure.log |  262 --
+ ...torBenchmarkRails#generator-autocorrelation.dat | 1000 -----
+ .../GeneratorBenchmarkRails#generator.dat          | 1001 -----
+ .../GeneratorBenchmarkRails.log                    |   82 -
+ .../ParserBenchmarkComparison.log                  |   34 -
+ .../ParserBenchmarkExt#parser-autocorrelation.dat  |  900 -----
+ .../ParserBenchmarkExt#parser.dat                  |  901 -----
+ .../data-p4-3GHz-ruby18/ParserBenchmarkExt.log     |   81 -
+ .../ParserBenchmarkPure#parser-autocorrelation.dat | 1000 -----
+ .../ParserBenchmarkPure#parser.dat                 | 1001 -----
+ .../data-p4-3GHz-ruby18/ParserBenchmarkPure.log    |   82 -
+ ...ParserBenchmarkRails#parser-autocorrelation.dat | 1000 -----
+ .../ParserBenchmarkRails#parser.dat                | 1001 -----
+ .../data-p4-3GHz-ruby18/ParserBenchmarkRails.log   |   82 -
+ .../ParserBenchmarkYAML#parser-autocorrelation.dat | 1000 -----
+ .../ParserBenchmarkYAML#parser.dat                 | 1001 -----
+ .../data-p4-3GHz-ruby18/ParserBenchmarkYAML.log    |   82 -
+ .../vendor/json/benchmarks/generator2_benchmark.rb |  222 --
+ .../vendor/json/benchmarks/generator_benchmark.rb  |  224 --
+ lib/mcollective/vendor/json/benchmarks/ohai.json   | 1216 ------
+ lib/mcollective/vendor/json/benchmarks/ohai.ruby   |    1 -
+ .../vendor/json/benchmarks/parser2_benchmark.rb    |  251 --
+ .../vendor/json/benchmarks/parser_benchmark.rb     |  259 --
+ lib/mcollective/vendor/json/bin/edit_json.rb       |    9 -
+ lib/mcollective/vendor/json/bin/prettify_json.rb   |   75 -
+ lib/mcollective/vendor/json/data/example.json      |    1 -
+ lib/mcollective/vendor/json/data/index.html        |   38 -
+ lib/mcollective/vendor/json/data/prototype.js      | 4184 --------------------
+ .../vendor/json/ext/json/ext/generator/extconf.rb  |   20 -
+ .../vendor/json/ext/json/ext/generator/generator.c | 1417 -------
+ .../vendor/json/ext/json/ext/generator/generator.h |  197 -
+ .../vendor/json/ext/json/ext/parser/extconf.rb     |   16 -
+ .../vendor/json/ext/json/ext/parser/parser.c       | 1969 ---------
+ .../vendor/json/ext/json/ext/parser/parser.h       |   78 -
+ .../vendor/json/ext/json/ext/parser/parser.rl      |  826 ----
+ lib/mcollective/vendor/json/install.rb             |   26 -
+ .../vendor/json/java/lib/bytelist-1.0.6.jar        |  Bin 10493 -> 0 bytes
+ lib/mcollective/vendor/json/java/lib/jcodings.jar  |  Bin 242327 -> 0 bytes
+ .../json/java/src/json/ext/ByteListTranscoder.java |  167 -
+ .../vendor/json/java/src/json/ext/Generator.java   |  441 --
+ .../json/java/src/json/ext/GeneratorMethods.java   |  231 --
+ .../json/java/src/json/ext/GeneratorService.java   |   42 -
+ .../json/java/src/json/ext/GeneratorState.java     |  473 ---
+ .../json/java/src/json/ext/OptionsReader.java      |  119 -
+ .../vendor/json/java/src/json/ext/Parser.java      | 2295 -----------
+ .../vendor/json/java/src/json/ext/Parser.rl        |  825 ----
+ .../json/java/src/json/ext/ParserService.java      |   34 -
+ .../vendor/json/java/src/json/ext/RuntimeInfo.java |  119 -
+ .../json/java/src/json/ext/StringDecoder.java      |  166 -
+ .../json/java/src/json/ext/StringEncoder.java      |  106 -
+ .../vendor/json/java/src/json/ext/Utils.java       |   89 -
+ lib/mcollective/vendor/json/json-java.gemspec      |   20 -
+ lib/mcollective/vendor/json/lib/json.rb            |   10 -
+ lib/mcollective/vendor/json/lib/json/Array.xpm     |   21 -
+ .../vendor/json/lib/json/FalseClass.xpm            |   21 -
+ lib/mcollective/vendor/json/lib/json/Hash.xpm      |   21 -
+ lib/mcollective/vendor/json/lib/json/Key.xpm       |   73 -
+ lib/mcollective/vendor/json/lib/json/NilClass.xpm  |   21 -
+ lib/mcollective/vendor/json/lib/json/Numeric.xpm   |   28 -
+ lib/mcollective/vendor/json/lib/json/String.xpm    |   96 -
+ lib/mcollective/vendor/json/lib/json/TrueClass.xpm |   21 -
+ lib/mcollective/vendor/json/lib/json/add/core.rb   |  147 -
+ lib/mcollective/vendor/json/lib/json/add/rails.rb  |    8 -
+ lib/mcollective/vendor/json/lib/json/common.rb     |  419 --
+ lib/mcollective/vendor/json/lib/json/editor.rb     | 1369 -------
+ lib/mcollective/vendor/json/lib/json/ext.rb        |   28 -
+ lib/mcollective/vendor/json/lib/json/json.xpm      | 1499 -------
+ lib/mcollective/vendor/json/lib/json/pure.rb       |   15 -
+ .../vendor/json/lib/json/pure/generator.rb         |  441 --
+ .../vendor/json/lib/json/pure/parser.rb            |  320 --
+ lib/mcollective/vendor/json/lib/json/version.rb    |    8 -
+ .../vendor/json/tests/fixtures/fail1.json          |    1 -
+ .../vendor/json/tests/fixtures/fail10.json         |    1 -
+ .../vendor/json/tests/fixtures/fail11.json         |    1 -
+ .../vendor/json/tests/fixtures/fail12.json         |    1 -
+ .../vendor/json/tests/fixtures/fail13.json         |    1 -
+ .../vendor/json/tests/fixtures/fail14.json         |    1 -
+ .../vendor/json/tests/fixtures/fail18.json         |    1 -
+ .../vendor/json/tests/fixtures/fail19.json         |    1 -
+ .../vendor/json/tests/fixtures/fail2.json          |    1 -
+ .../vendor/json/tests/fixtures/fail20.json         |    1 -
+ .../vendor/json/tests/fixtures/fail21.json         |    1 -
+ .../vendor/json/tests/fixtures/fail22.json         |    1 -
+ .../vendor/json/tests/fixtures/fail23.json         |    1 -
+ .../vendor/json/tests/fixtures/fail24.json         |    1 -
+ .../vendor/json/tests/fixtures/fail25.json         |    1 -
+ .../vendor/json/tests/fixtures/fail27.json         |    2 -
+ .../vendor/json/tests/fixtures/fail28.json         |    2 -
+ .../vendor/json/tests/fixtures/fail3.json          |    1 -
+ .../vendor/json/tests/fixtures/fail4.json          |    1 -
+ .../vendor/json/tests/fixtures/fail5.json          |    1 -
+ .../vendor/json/tests/fixtures/fail6.json          |    1 -
+ .../vendor/json/tests/fixtures/fail7.json          |    1 -
+ .../vendor/json/tests/fixtures/fail8.json          |    1 -
+ .../vendor/json/tests/fixtures/fail9.json          |    1 -
+ .../vendor/json/tests/fixtures/pass1.json          |   56 -
+ .../vendor/json/tests/fixtures/pass15.json         |    1 -
+ .../vendor/json/tests/fixtures/pass16.json         |    1 -
+ .../vendor/json/tests/fixtures/pass17.json         |    1 -
+ .../vendor/json/tests/fixtures/pass2.json          |    1 -
+ .../vendor/json/tests/fixtures/pass26.json         |    1 -
+ .../vendor/json/tests/fixtures/pass3.json          |    6 -
+ lib/mcollective/vendor/json/tests/setup_variant.rb |   11 -
+ lib/mcollective/vendor/json/tests/test_json.rb     |  390 --
+ .../vendor/json/tests/test_json_addition.rb        |  167 -
+ .../vendor/json/tests/test_json_encoding.rb        |   65 -
+ .../vendor/json/tests/test_json_fixtures.rb        |   35 -
+ .../vendor/json/tests/test_json_generate.rb        |  179 -
+ .../vendor/json/tests/test_json_string_matching.rb |   40 -
+ .../vendor/json/tests/test_json_unicode.rb         |   72 -
+ lib/mcollective/vendor/json/tools/fuzz.rb          |  139 -
+ lib/mcollective/vendor/json/tools/server.rb        |   61 -
+ lib/mcollective/vendor/load_json.rb                |    1 -
+ lib/mcollective/vendor/load_systemu.rb             |    1 -
+ lib/mcollective/vendor/require_vendored.rb         |    2 -
+ lib/mcollective/vendor/systemu/LICENSE             |    3 -
+ lib/mcollective/vendor/systemu/README              |  169 -
+ lib/mcollective/vendor/systemu/README.erb          |   37 -
+ lib/mcollective/vendor/systemu/Rakefile            |  364 --
+ lib/mcollective/vendor/systemu/lib/systemu.rb      |  357 --
+ lib/mcollective/vendor/systemu/samples/a.rb        |   11 -
+ lib/mcollective/vendor/systemu/samples/b.rb        |   12 -
+ lib/mcollective/vendor/systemu/samples/c.rb        |   10 -
+ lib/mcollective/vendor/systemu/samples/d.rb        |   11 -
+ lib/mcollective/vendor/systemu/samples/e.rb        |    9 -
+ lib/mcollective/vendor/systemu/samples/f.rb        |   18 -
+ lib/mcollective/vendor/systemu/systemu.gemspec     |   27 -
+ spec/unit/vendor_spec.rb                           |   34 -
+ 155 files changed, 1 insertions(+), 47155 deletions(-)
+ delete mode 100644 lib/mcollective/vendor.rb
+ delete mode 100644 lib/mcollective/vendor/json/.gitignore
+ delete mode 100644 lib/mcollective/vendor/json/CHANGES
+ delete mode 100644 lib/mcollective/vendor/json/COPYING
+ delete mode 100644 lib/mcollective/vendor/json/COPYING-json-jruby
+ delete mode 100644 lib/mcollective/vendor/json/GPL
+ delete mode 100644 lib/mcollective/vendor/json/README
+ delete mode 100644 lib/mcollective/vendor/json/README-json-jruby.markdown
+ delete mode 100644 lib/mcollective/vendor/json/Rakefile
+ delete mode 100644 lib/mcollective/vendor/json/TODO
+ delete mode 100644 lib/mcollective/vendor/json/VERSION
+ delete mode 100644 lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/.keep
+ delete mode 100644 lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkComparison.log
+ delete mode 100644 lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_fast-autocorrelation.dat
+ delete mode 100644 lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_fast.dat
+ delete mode 100644 lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_pretty-autocorrelation.dat
+ delete mode 100644 lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_pretty.dat
+ delete mode 100644 lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_safe-autocorrelation.dat
+ delete mode 100644 lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_safe.dat
+ delete mode 100644 lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt.log
+ delete mode 100644 lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_fast-autocorrelation.dat
+ delete mode 100644 lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_fast.dat
+ delete mode 100644 lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_pretty-autocorrelation.dat
+ delete mode 100644 lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_pretty.dat
+ delete mode 100644 lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_safe-autocorrelation.dat
+ delete mode 100644 lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_safe.dat
+ delete mode 100644 lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure.log
+ delete mode 100644 lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkRails#generator-autocorrelation.dat
+ delete mode 100644 lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkRails#generator.dat
+ delete mode 100644 lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkRails.log
+ delete mode 100644 lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkComparison.log
+ delete mode 100644 lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkExt#parser-autocorrelation.dat
+ delete mode 100644 lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkExt#parser.dat
+ delete mode 100644 lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkExt.log
+ delete mode 100644 lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkPure#parser-autocorrelation.dat
+ delete mode 100644 lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkPure#parser.dat
+ delete mode 100644 lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkPure.log
+ delete mode 100644 lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkRails#parser-autocorrelation.dat
+ delete mode 100644 lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkRails#parser.dat
+ delete mode 100644 lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkRails.log
+ delete mode 100644 lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkYAML#parser-autocorrelation.dat
+ delete mode 100644 lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkYAML#parser.dat
+ delete mode 100644 lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkYAML.log
+ delete mode 100644 lib/mcollective/vendor/json/benchmarks/data/.keep
+ delete mode 100755 lib/mcollective/vendor/json/benchmarks/generator2_benchmark.rb
+ delete mode 100755 lib/mcollective/vendor/json/benchmarks/generator_benchmark.rb
+ delete mode 100644 lib/mcollective/vendor/json/benchmarks/ohai.json
+ delete mode 100644 lib/mcollective/vendor/json/benchmarks/ohai.ruby
+ delete mode 100755 lib/mcollective/vendor/json/benchmarks/parser2_benchmark.rb
+ delete mode 100755 lib/mcollective/vendor/json/benchmarks/parser_benchmark.rb
+ delete mode 100755 lib/mcollective/vendor/json/bin/edit_json.rb
+ delete mode 100755 lib/mcollective/vendor/json/bin/prettify_json.rb
+ delete mode 100644 lib/mcollective/vendor/json/data/example.json
+ delete mode 100644 lib/mcollective/vendor/json/data/index.html
+ delete mode 100644 lib/mcollective/vendor/json/data/prototype.js
+ delete mode 100644 lib/mcollective/vendor/json/diagrams/.keep
+ delete mode 100644 lib/mcollective/vendor/json/ext/json/ext/generator/extconf.rb
+ delete mode 100644 lib/mcollective/vendor/json/ext/json/ext/generator/generator.c
+ delete mode 100644 lib/mcollective/vendor/json/ext/json/ext/generator/generator.h
+ delete mode 100644 lib/mcollective/vendor/json/ext/json/ext/parser/extconf.rb
+ delete mode 100644 lib/mcollective/vendor/json/ext/json/ext/parser/parser.c
+ delete mode 100644 lib/mcollective/vendor/json/ext/json/ext/parser/parser.h
+ delete mode 100644 lib/mcollective/vendor/json/ext/json/ext/parser/parser.rl
+ delete mode 100755 lib/mcollective/vendor/json/install.rb
+ delete mode 100644 lib/mcollective/vendor/json/java/lib/bytelist-1.0.6.jar
+ delete mode 100644 lib/mcollective/vendor/json/java/lib/jcodings.jar
+ delete mode 100644 lib/mcollective/vendor/json/java/src/json/ext/ByteListTranscoder.java
+ delete mode 100644 lib/mcollective/vendor/json/java/src/json/ext/Generator.java
+ delete mode 100644 lib/mcollective/vendor/json/java/src/json/ext/GeneratorMethods.java
+ delete mode 100644 lib/mcollective/vendor/json/java/src/json/ext/GeneratorService.java
+ delete mode 100644 lib/mcollective/vendor/json/java/src/json/ext/GeneratorState.java
+ delete mode 100644 lib/mcollective/vendor/json/java/src/json/ext/OptionsReader.java
+ delete mode 100644 lib/mcollective/vendor/json/java/src/json/ext/Parser.java
+ delete mode 100644 lib/mcollective/vendor/json/java/src/json/ext/Parser.rl
+ delete mode 100644 lib/mcollective/vendor/json/java/src/json/ext/ParserService.java
+ delete mode 100644 lib/mcollective/vendor/json/java/src/json/ext/RuntimeInfo.java
+ delete mode 100644 lib/mcollective/vendor/json/java/src/json/ext/StringDecoder.java
+ delete mode 100644 lib/mcollective/vendor/json/java/src/json/ext/StringEncoder.java
+ delete mode 100644 lib/mcollective/vendor/json/java/src/json/ext/Utils.java
+ delete mode 100644 lib/mcollective/vendor/json/json-java.gemspec
+ delete mode 100644 lib/mcollective/vendor/json/lib/json.rb
+ delete mode 100644 lib/mcollective/vendor/json/lib/json/Array.xpm
+ delete mode 100644 lib/mcollective/vendor/json/lib/json/FalseClass.xpm
+ delete mode 100644 lib/mcollective/vendor/json/lib/json/Hash.xpm
+ delete mode 100644 lib/mcollective/vendor/json/lib/json/Key.xpm
+ delete mode 100644 lib/mcollective/vendor/json/lib/json/NilClass.xpm
+ delete mode 100644 lib/mcollective/vendor/json/lib/json/Numeric.xpm
+ delete mode 100644 lib/mcollective/vendor/json/lib/json/String.xpm
+ delete mode 100644 lib/mcollective/vendor/json/lib/json/TrueClass.xpm
+ delete mode 100644 lib/mcollective/vendor/json/lib/json/add/core.rb
+ delete mode 100644 lib/mcollective/vendor/json/lib/json/add/rails.rb
+ delete mode 100644 lib/mcollective/vendor/json/lib/json/common.rb
+ delete mode 100644 lib/mcollective/vendor/json/lib/json/editor.rb
+ delete mode 100644 lib/mcollective/vendor/json/lib/json/ext.rb
+ delete mode 100644 lib/mcollective/vendor/json/lib/json/ext/.keep
+ delete mode 100644 lib/mcollective/vendor/json/lib/json/json.xpm
+ delete mode 100644 lib/mcollective/vendor/json/lib/json/pure.rb
+ delete mode 100644 lib/mcollective/vendor/json/lib/json/pure/generator.rb
+ delete mode 100644 lib/mcollective/vendor/json/lib/json/pure/parser.rb
+ delete mode 100644 lib/mcollective/vendor/json/lib/json/version.rb
+ delete mode 100644 lib/mcollective/vendor/json/tests/fixtures/fail1.json
+ delete mode 100644 lib/mcollective/vendor/json/tests/fixtures/fail10.json
+ delete mode 100644 lib/mcollective/vendor/json/tests/fixtures/fail11.json
+ delete mode 100644 lib/mcollective/vendor/json/tests/fixtures/fail12.json
+ delete mode 100644 lib/mcollective/vendor/json/tests/fixtures/fail13.json
+ delete mode 100644 lib/mcollective/vendor/json/tests/fixtures/fail14.json
+ delete mode 100644 lib/mcollective/vendor/json/tests/fixtures/fail18.json
+ delete mode 100644 lib/mcollective/vendor/json/tests/fixtures/fail19.json
+ delete mode 100644 lib/mcollective/vendor/json/tests/fixtures/fail2.json
+ delete mode 100644 lib/mcollective/vendor/json/tests/fixtures/fail20.json
+ delete mode 100644 lib/mcollective/vendor/json/tests/fixtures/fail21.json
+ delete mode 100644 lib/mcollective/vendor/json/tests/fixtures/fail22.json
+ delete mode 100644 lib/mcollective/vendor/json/tests/fixtures/fail23.json
+ delete mode 100644 lib/mcollective/vendor/json/tests/fixtures/fail24.json
+ delete mode 100644 lib/mcollective/vendor/json/tests/fixtures/fail25.json
+ delete mode 100644 lib/mcollective/vendor/json/tests/fixtures/fail27.json
+ delete mode 100644 lib/mcollective/vendor/json/tests/fixtures/fail28.json
+ delete mode 100644 lib/mcollective/vendor/json/tests/fixtures/fail3.json
+ delete mode 100644 lib/mcollective/vendor/json/tests/fixtures/fail4.json
+ delete mode 100644 lib/mcollective/vendor/json/tests/fixtures/fail5.json
+ delete mode 100644 lib/mcollective/vendor/json/tests/fixtures/fail6.json
+ delete mode 100644 lib/mcollective/vendor/json/tests/fixtures/fail7.json
+ delete mode 100644 lib/mcollective/vendor/json/tests/fixtures/fail8.json
+ delete mode 100644 lib/mcollective/vendor/json/tests/fixtures/fail9.json
+ delete mode 100644 lib/mcollective/vendor/json/tests/fixtures/pass1.json
+ delete mode 100644 lib/mcollective/vendor/json/tests/fixtures/pass15.json
+ delete mode 100644 lib/mcollective/vendor/json/tests/fixtures/pass16.json
+ delete mode 100644 lib/mcollective/vendor/json/tests/fixtures/pass17.json
+ delete mode 100644 lib/mcollective/vendor/json/tests/fixtures/pass2.json
+ delete mode 100644 lib/mcollective/vendor/json/tests/fixtures/pass26.json
+ delete mode 100644 lib/mcollective/vendor/json/tests/fixtures/pass3.json
+ delete mode 100644 lib/mcollective/vendor/json/tests/setup_variant.rb
+ delete mode 100755 lib/mcollective/vendor/json/tests/test_json.rb
+ delete mode 100755 lib/mcollective/vendor/json/tests/test_json_addition.rb
+ delete mode 100644 lib/mcollective/vendor/json/tests/test_json_encoding.rb
+ delete mode 100755 lib/mcollective/vendor/json/tests/test_json_fixtures.rb
+ delete mode 100755 lib/mcollective/vendor/json/tests/test_json_generate.rb
+ delete mode 100644 lib/mcollective/vendor/json/tests/test_json_string_matching.rb
+ delete mode 100755 lib/mcollective/vendor/json/tests/test_json_unicode.rb
+ delete mode 100755 lib/mcollective/vendor/json/tools/fuzz.rb
+ delete mode 100755 lib/mcollective/vendor/json/tools/server.rb
+ delete mode 100644 lib/mcollective/vendor/load_json.rb
+ delete mode 100644 lib/mcollective/vendor/load_systemu.rb
+ delete mode 100644 lib/mcollective/vendor/require_vendored.rb
+ delete mode 100644 lib/mcollective/vendor/systemu/LICENSE
+ delete mode 100644 lib/mcollective/vendor/systemu/README
+ delete mode 100644 lib/mcollective/vendor/systemu/README.erb
+ delete mode 100644 lib/mcollective/vendor/systemu/Rakefile
+ delete mode 100644 lib/mcollective/vendor/systemu/lib/systemu.rb
+ delete mode 100644 lib/mcollective/vendor/systemu/samples/a.rb
+ delete mode 100644 lib/mcollective/vendor/systemu/samples/b.rb
+ delete mode 100644 lib/mcollective/vendor/systemu/samples/c.rb
+ delete mode 100644 lib/mcollective/vendor/systemu/samples/d.rb
+ delete mode 100644 lib/mcollective/vendor/systemu/samples/e.rb
+ delete mode 100644 lib/mcollective/vendor/systemu/samples/f.rb
+ delete mode 100644 lib/mcollective/vendor/systemu/systemu.gemspec
+ delete mode 100644 spec/unit/vendor_spec.rb
+
+diff --git a/lib/mcollective.rb b/lib/mcollective.rb
+index 3fc5a16..28151ad 100644
+--- a/lib/mcollective.rb
++++ b/lib/mcollective.rb
+@@ -52,11 +52,8 @@ module MCollective
+     autoload :SSL, "mcollective/ssl"
+     autoload :Application, "mcollective/application"
+     autoload :Applications, "mcollective/applications"
+-    autoload :Vendor, "mcollective/vendor"
+     autoload :Shell, "mcollective/shell"
+ 
+-    MCollective::Vendor.load_vendored
+-
+     VERSION="1.3.1"
+ 
+     def self.version
+diff --git a/lib/mcollective/vendor.rb b/lib/mcollective/vendor.rb
+deleted file mode 100644
+index 2620648..0000000
+--- a/lib/mcollective/vendor.rb
++++ /dev/null
+@@ -1,41 +0,0 @@
+-module MCollective
+-    # Simple module to manage vendored code.
+-    #
+-    # To vendor a library simply download its whole git repo or untar
+-    # into vendor/libraryname and create a load_libraryname.rb file
+-    # to add its libdir into the $:.
+-    #
+-    # Once you have that file, add a require line in vendor/require_vendored.rb
+-    # which will run after all the load_* files.
+-    #
+-    # The intention is to not change vendored libraries and to eventually
+-    # make adding them in optional so that distros can simply adjust their
+-    # packaging to exclude this directory and the various load_xxx.rb scripts
+-    # if they wish to install these gems as native packages.
+-    class Vendor
+-        class << self
+-            def vendor_dir
+-                File.join([File.dirname(File.expand_path(__FILE__)), "vendor"])
+-            end
+-
+-            def load_entry(entry)
+-                Log.debug("Loading vendored #{$1}")
+-                load "#{vendor_dir}/#{entry}"
+-            end
+-
+-            def require_libs
+-                require 'mcollective/vendor/require_vendored'
+-            end
+-
+-            def load_vendored
+-                Dir.entries(vendor_dir).each do |entry|
+-                    if entry.match(/load_(\w+?)\.rb$/)
+-                        load_entry entry
+-                    end
+-                end
+-
+-                require_libs
+-            end
+-        end
+-    end
+-end
+diff --git a/lib/mcollective/vendor/json/.gitignore b/lib/mcollective/vendor/json/.gitignore
+deleted file mode 100644
+index 694ff3a..0000000
+--- a/lib/mcollective/vendor/json/.gitignore
++++ /dev/null
+@@ -1,6 +0,0 @@
+-.*.sw[pon]
+-coverage
+-pkg
+-.nfs.*
+-.idea
+-java/Json.iml
+diff --git a/lib/mcollective/vendor/json/CHANGES b/lib/mcollective/vendor/json/CHANGES
+deleted file mode 100644
+index 3ee1a8b..0000000
+--- a/lib/mcollective/vendor/json/CHANGES
++++ /dev/null
+@@ -1,188 +0,0 @@
+-2011-01-24 (1.5.1)
+-  * Made rake-compiler build a fat binary gem. This should fix issue
+-    https://github.com/flori/json/issues#issue/54.
+-2011-01-22 (1.5.0)
+-  * Included Java source codes for the Jruby extension made by Daniel Luz
+-    <dev at mernen.com>.
+-  * Output full exception message of deep_const_get to aid debugging.
+-  * Fixed an issue with ruby 1.9 Module#const_defined? method, that was
+-    reported by Riley Goodside.
+-2010-08-09 (1.4.6)
+-  * Fixed oversight reported in http://github.com/flori/json/issues/closed#issue/23,
+-    always create a new object from the state prototype.
+-  * Made pure and ext api more similar again.
+-2010-08-07 (1.4.5)
+-  * Manage data structure nesting depth in state object during generation. This
+-    should reduce problems with to_json method definіtions that only have one
+-    argument.
+-  * Some fixes in the state objects and additional tests.
+-2010-08-06 (1.4.4)
+-  * Fixes build problem for rubinius under OS X, http://github.com/flori/json/issues/closed#issue/25
+-  * Fixes crashes described in http://github.com/flori/json/issues/closed#issue/21 and
+-    http://github.com/flori/json/issues/closed#issue/23
+-2010-05-05 (1.4.3)
+-  * Fixed some test assertions, from Ruby r27587 and r27590, patch by nobu.
+-  * Fixed issue http://github.com/flori/json/issues/#issue/20 reported by
+-    electronicwhisper at github. Thx!
+-2010-04-26 (1.4.2)
+-  * Applied patch from naruse Yui NARUSE <naruse at airemix.com> to make building with
+-    Microsoft Visual C possible again.
+-  * Applied patch from devrandom <c1.github at niftybox.net> in order to allow building of
+-    json_pure if extensiontask is not present.
+-  * Thanks to Dustin Schneider <dustin at stocktwits.com>, who reported a memory
+-    leak, which is fixed in this release.
+-  * Applied 993f261ccb8f911d2ae57e9db48ec7acd0187283 patch from josh at github.
+-2010-04-25 (1.4.1)
+-  * Fix for a bug reported by Dan DeLeo <dan at kallistec.com>, caused by T_FIXNUM
+-    being different on 32bit/64bit architectures.
+-2010-04-23 (1.4.0)
+-  * Major speed improvements and building with simplified
+-    directory/file-structure.
+-  * Extension should at least be comapatible with MRI, YARV and Rubinius.
+-2010-04-07 (1.2.4)
+-  * Triger const_missing callback to make Rails' dynamic class loading work.
+-2010-03-11 (1.2.3)
+-  * Added a State#[] method which returns an attribute's value in order to
+-    increase duck type compatibility to Hash.
+-2010-02-27 (1.2.2)
+-  * Made some changes to make the building of the parser/generator compatible
+-    to Rubinius.
+-2009-11-25 (1.2.1)
+-  * Added :symbolize_names option to Parser, which returns symbols instead of
+-    strings in object names/keys.
+-2009-10-01 (1.2.0)
+-  * fast_generate now raises an exeception for nan and infinite floats.
+-  * On Ruby 1.8 json supports parsing of UTF-8, UTF-16BE, UTF-16LE, UTF-32BE,
+-    and UTF-32LE JSON documents now. Under Ruby 1.9 the M17n conversion
+-    functions are used to convert from all supported encodings. ASCII-8BIT
+-    encoded strings are handled like all strings under Ruby 1.8 were.
+-  * Better documentation
+-2009-08-23 (1.1.9)
+-  * Added forgotten main doc file extra_rdoc_files.
+-2009-08-23 (1.1.8)
+-  * Applied a patch by OZAWA Sakuro <sakuro at 2238club.org> to make json/pure
+-    work in environments that don't provide iconv.
+-  * Applied patch by okkez_ in order to fix Ruby Bug #1768:
+-      http://redmine.ruby-lang.org/issues/show/1768.
+-  * Finally got around to avoid the rather paranoid escaping of ?/ characters
+-    in the generator's output. The parsers aren't affected by this change.
+-    Thanks to Rich Apodaca <rapodaca at metamolecular.com> for the suggestion.
+-2009-06-29 (1.1.7)
+-  * Security Fix for JSON::Pure::Parser. A specially designed string could
+-    cause catastrophic backtracking in one of the parser's regular expressions
+-    in earlier 1.1.x versions. JSON::Ext::Parser isn't affected by this issue.
+-    Thanks to Bartosz Blimke <bartosz at new-bamboo.co.uk> for reporting this
+-    problem.
+-  * This release also uses a less strict ruby version requirement for the
+-    creation of the mswin32 native gem.
+-2009-05-10 (1.1.6)
+-  * No changes. І tested native linux gems in the last release and they don't
+-    play well with different ruby versions other than the one the gem was built
+-    with. This release is just to bump the version number in order to skip the
+-    native gem on rubyforge.
+-2009-05-10 (1.1.5)
+-  * Started to build gems with rake-compiler gem.
+-  * Applied patch object/array class patch from Brian Candler
+-    <B.Candler at pobox.com> and fixes.
+-2009-04-01 (1.1.4)
+-  * Fixed a bug in the creation of serialized generic rails objects reported by
+-    Friedrich Graeter <graeter at hydrixos.org>.
+-  * Deleted tests/runner.rb, we're using testrb instead.
+-  * Editor supports Infinity in numbers now.
+-  * Made some changes in order to get the library to compile/run under Ruby
+-    1.9.
+-  * Improved speed of the code path for the fast_generate method in the pure
+-    variant.
+-2008-07-10 (1.1.3)
+-  * Wesley Beary <monki at geemus.com> reported a bug in json/add/core's DateTime
+-    handling: If the nominator and denominator of the offset were divisible by
+-    each other Ruby's Rational#to_s returns them as an integer not a fraction
+-    with '/'. This caused a ZeroDivisionError during parsing.
+-  * Use Date#start and DateTime#start instead of sg method, while
+-    remaining backwards compatible.
+-  * Supports ragel >= 6.0 now.
+-  * Corrected some tests.
+-  * Some minor changes.
+-2007-11-27 (1.1.2)
+-  * Remember default dir (last used directory) in editor.
+-  * JSON::Editor.edit method added, the editor can now receive json texts from
+-    the clipboard via C-v.
+-  * Load json texts from an URL pasted via middle button press.
+-  * Added :create_additions option to Parser. This makes it possible to disable
+-    the creation of additions by force, in order to treat json texts as data
+-    while having additions loaded.
+-  * Jacob Maine <jmaine at blurb.com> reported, that JSON(:foo) outputs a JSON
+-    object if the rails addition is enabled, which is wrong. It now outputs a
+-    JSON string "foo" instead, like suggested by Jacob Maine.
+-  * Discovered a bug in the Ruby Bugs Tracker on rubyforge, that was reported
+-    by John Evans lgastako at gmail.com. He could produce a crash in the JSON
+-    generator by returning something other than a String instance from a
+-    to_json method. I now guard against this by doing a rather crude type
+-    check, which raises an exception instead of crashing.
+-2007-07-06 (1.1.1)
+-  * Yui NARUSE <naruse at airemix.com> sent some patches to fix tests for Ruby
+-    1.9. I applied them and adapted some of them a bit to run both on 1.8 and
+-    1.9.
+-  * Introduced a JSON.parse! method without depth checking for people who like
+-    danger.
+-  * Made generate and pretty_generate methods configurable by an options hash.
+-  * Added :allow_nan option to parser and generator in order to handle NaN,
+-    Infinity, and -Infinity correctly - if requested. Floats, which aren't numbers,
+-    aren't valid JSON according to RFC4627, so by default an exception will be
+-    raised if any of these symbols are encountered. Thanks to Andrea Censi
+-    <andrea.censi at dis.uniroma1.it> for his hint about this.
+-  * Fixed some more tests for Ruby 1.9.
+-  * Implemented dump/load interface of Marshal as suggested in ruby-core:11405
+-    by murphy <murphy at rubychan.de>.
+-  * Implemented the max_nesting feature for generate methods, too.
+-  * Added some implementations for ruby core's custom objects for
+-    serialisation/deserialisation purposes.
+-2007-05-21 (1.1.0)
+-  * Implemented max_nesting feature for parser to avoid stack overflows for
+-    data from untrusted sources. If you trust the source, you can disable it
+-    with the option max_nesting => false.
+-  * Piers Cawley <pdcawley at bofh.org.uk> reported a bug, that not every
+-    character can be escaped by ?\ as required by RFC4627. There's a
+-    contradiction between David Crockford's JSON checker test vectors (in
+-    tests/fixtures) and RFC4627, though. I decided to stick to the RFC, because
+-    the JSON checker seems to be a bit older than the RFC.
+-  * Extended license to Ruby License, which includes the GPL.
+-  * Added keyboard shortcuts, and 'Open location' menu item to edit_json.rb.
+-2007-05-09 (1.0.4)
+-  * Applied a patch from Yui NARUSE <naruse at airemix.com> to make JSON compile
+-    under Ruby 1.9. Thank you very much for mailing it to me!
+-  * Made binary variants of JSON fail early, instead of falling back to the
+-    pure version. This should avoid overshadowing of eventual problems while
+-    loading of the binary.
+-2007-03-24 (1.0.3)
+-  * Improved performance of pure variant a bit.
+-  * The ext variant of this release supports the mswin32 platform. Ugh!
+-2007-03-24 (1.0.2)
+-  * Ext Parser didn't parse 0e0 correctly into 0.0: Fixed!
+-2007-03-24 (1.0.1)
+-  * Forgot some object files in the build dir. I really like that - not!
+-2007-03-24 (1.0.0)
+-  * Added C implementations for the JSON generator and a ragel based JSON
+-    parser in C.
+-  * Much more tests, especially fixtures from json.org.
+-  * Further improved conformance to RFC4627.
+-2007-02-09 (0.4.3)
+-  * Conform more to RFC4627 for JSON: This means JSON strings
+-    now always must contain exactly one object "{ ... }" or array "[ ... ]" in
+-    order to be parsed without raising an exception. The definition of what
+-    constitutes a whitespace is narrower in JSON than in Ruby ([ \t\r\n]), and
+-    there are differences in floats and integers (no octals or hexadecimals) as
+-    well.
+-  * Added aliases generate and pretty_generate of unparse and pretty_unparse.
+-  * Fixed a test case.
+-  * Catch an Iconv::InvalidEncoding exception, that seems to occur on some Sun
+-    boxes with SunOS 5.8, if iconv doesn't support utf16 conversions. This was
+-    reported by Andrew R Jackson <andrewj at bcm.tmc.edu>, thanks a bunch!
+-2006-08-25 (0.4.2)
+-  * Fixed a bug in handling solidi (/-characters), that was reported by
+-    Kevin Gilpin <kevin.gilpin at alum.mit.edu>.
+-2006-02-06 (0.4.1)
+-  * Fixed a bug related to escaping with backslashes. Thanks for the report go
+-    to Florian Munz <surf at theflow.de>.
+-2005-09-23 (0.4.0)
+-  * Initial Rubyforge Version
+diff --git a/lib/mcollective/vendor/json/COPYING b/lib/mcollective/vendor/json/COPYING
+deleted file mode 100644
+index c3a2126..0000000
+--- a/lib/mcollective/vendor/json/COPYING
++++ /dev/null
+@@ -1,58 +0,0 @@
+-Ruby is copyrighted free software by Yukihiro Matsumoto <matz at netlab.co.jp>.
+-You can redistribute it and/or modify it under either the terms of the GPL
+-(see GPL file), 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) rename any non-standard executables so the names do not conflict
+-	  with standard executables, which must also be provided.
+-
+-       d) make other distribution arrangements with the author.
+-
+-  3. You may distribute the software in object code or executable
+-     form, provided that you do at least ONE of the following:
+-
+-       a) distribute the executables 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 executables 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 this terms.
+-
+-     They are gc.c(partly), utils.c(partly), regex.[ch], st.[ch] and some
+-     files under the ./missing directory.  See each file for the copying
+-     condition.
+-
+-  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.
+-
+diff --git a/lib/mcollective/vendor/json/COPYING-json-jruby b/lib/mcollective/vendor/json/COPYING-json-jruby
+deleted file mode 100644
+index 137a3da..0000000
+--- a/lib/mcollective/vendor/json/COPYING-json-jruby
++++ /dev/null
+@@ -1,57 +0,0 @@
+-JSON-JRuby is copyrighted free software by Daniel Luz <mernen at gmail dot com>,
+-and is a derivative work of Florian Frank's json library <flori at ping dot de>.
+-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.
+diff --git a/lib/mcollective/vendor/json/GPL b/lib/mcollective/vendor/json/GPL
+deleted file mode 100644
+index db2fc45..0000000
+--- a/lib/mcollective/vendor/json/GPL
++++ /dev/null
+@@ -1,340 +0,0 @@
+-                    GNU GENERAL PUBLIC LICENSE
+-                       Version 2, June 1991
+-
+- Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+-                       59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+- Everyone is permitted to copy and distribute verbatim copies
+- of this license document, but changing it is not allowed.
+-
+-                            Preamble
+-
+-  The licenses for most software are designed to take away your
+-freedom to share and change it.  By contrast, the GNU General Public
+-License is intended to guarantee your freedom to share and change free
+-software--to make sure the software is free for all its users.  This
+-General Public License applies to most of the Free Software
+-Foundation's software and to any other program whose authors commit to
+-using it.  (Some other Free Software Foundation software is covered by
+-the GNU Library General Public License instead.)  You can apply it to
+-your programs, too.
+-
+-  When we speak of free software, we are referring to freedom, not
+-price.  Our General Public Licenses are designed to make sure that you
+-have the freedom to distribute copies of free software (and charge for
+-this service if you wish), that you receive source code or can get it
+-if you want it, that you can change the software or use pieces of it
+-in new free programs; and that you know you can do these things.
+-
+-  To protect your rights, we need to make restrictions that forbid
+-anyone to deny you these rights or to ask you to surrender the rights.
+-These restrictions translate to certain responsibilities for you if you
+-distribute copies of the software, or if you modify it.
+-
+-  For example, if you distribute copies of such a program, whether
+-gratis or for a fee, you must give the recipients all the rights that
+-you have.  You must make sure that they, too, receive or can get the
+-source code.  And you must show them these terms so they know their
+-rights.
+-
+-  We protect your rights with two steps: (1) copyright the software, and
+-(2) offer you this license which gives you legal permission to copy,
+-distribute and/or modify the software.
+-
+-  Also, for each author's protection and ours, we want to make certain
+-that everyone understands that there is no warranty for this free
+-software.  If the software is modified by someone else and passed on, we
+-want its recipients to know that what they have is not the original, so
+-that any problems introduced by others will not reflect on the original
+-authors' reputations.
+-
+-  Finally, any free program is threatened constantly by software
+-patents.  We wish to avoid the danger that redistributors of a free
+-program will individually obtain patent licenses, in effect making the
+-program proprietary.  To prevent this, we have made it clear that any
+-patent must be licensed for everyone's free use or not licensed at all.
+-
+-  The precise terms and conditions for copying, distribution and
+-modification follow.
+-
+-                    GNU GENERAL PUBLIC LICENSE
+-   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+-
+-  0. This License applies to any program or other work which contains
+-a notice placed by the copyright holder saying it may be distributed
+-under the terms of this General Public License.  The "Program", below,
+-refers to any such program or work, and a "work based on the Program"
+-means either the Program or any derivative work under copyright law:
+-that is to say, a work containing the Program or a portion of it,
+-either verbatim or with modifications and/or translated into another
+-language.  (Hereinafter, translation is included without limitation in
+-the term "modification".)  Each licensee is addressed as "you".
+-
+-Activities other than copying, distribution and modification are not
+-covered by this License; they are outside its scope.  The act of
+-running the Program is not restricted, and the output from the Program
+-is covered only if its contents constitute a work based on the
+-Program (independent of having been made by running the Program).
+-Whether that is true depends on what the Program does.
+-
+-  1. You may copy and distribute verbatim copies of the Program's
+-source code as you receive it, in any medium, provided that you
+-conspicuously and appropriately publish on each copy an appropriate
+-copyright notice and disclaimer of warranty; keep intact all the
+-notices that refer to this License and to the absence of any warranty;
+-and give any other recipients of the Program a copy of this License
+-along with the Program.
+-
+-You may charge a fee for the physical act of transferring a copy, and
+-you may at your option offer warranty protection in exchange for a fee.
+-
+-  2. You may modify your copy or copies of the Program or any portion
+-of it, thus forming a work based on the Program, and copy and
+-distribute such modifications or work under the terms of Section 1
+-above, provided that you also meet all of these conditions:
+-
+-    a) You must cause the modified files to carry prominent notices
+-    stating that you changed the files and the date of any change.
+-
+-    b) You must cause any work that you distribute or publish, that in
+-    whole or in part contains or is derived from the Program or any
+-    part thereof, to be licensed as a whole at no charge to all third
+-    parties under the terms of this License.
+-
+-    c) If the modified program normally reads commands interactively
+-    when run, you must cause it, when started running for such
+-    interactive use in the most ordinary way, to print or display an
+-    announcement including an appropriate copyright notice and a
+-    notice that there is no warranty (or else, saying that you provide
+-    a warranty) and that users may redistribute the program under
+-    these conditions, and telling the user how to view a copy of this
+-    License.  (Exception: if the Program itself is interactive but
+-    does not normally print such an announcement, your work based on
+-    the Program is not required to print an announcement.)
+-
+-These requirements apply to the modified work as a whole.  If
+-identifiable sections of that work are not derived from the Program,
+-and can be reasonably considered independent and separate works in
+-themselves, then this License, and its terms, do not apply to those
+-sections when you distribute them as separate works.  But when you
+-distribute the same sections as part of a whole which is a work based
+-on the Program, the distribution of the whole must be on the terms of
+-this License, whose permissions for other licensees extend to the
+-entire whole, and thus to each and every part regardless of who wrote it.
+-
+-Thus, it is not the intent of this section to claim rights or contest
+-your rights to work written entirely by you; rather, the intent is to
+-exercise the right to control the distribution of derivative or
+-collective works based on the Program.
+-
+-In addition, mere aggregation of another work not based on the Program
+-with the Program (or with a work based on the Program) on a volume of
+-a storage or distribution medium does not bring the other work under
+-the scope of this License.
+-
+-  3. You may copy and distribute the Program (or a work based on it,
+-under Section 2) in object code or executable form under the terms of
+-Sections 1 and 2 above provided that you also do one of the following:
+-
+-    a) Accompany it with the complete corresponding machine-readable
+-    source code, which must be distributed under the terms of Sections
+-    1 and 2 above on a medium customarily used for software interchange; or,
+-
+-    b) Accompany it with a written offer, valid for at least three
+-    years, to give any third party, for a charge no more than your
+-    cost of physically performing source distribution, a complete
+-    machine-readable copy of the corresponding source code, to be
+-    distributed under the terms of Sections 1 and 2 above on a medium
+-    customarily used for software interchange; or,
+-
+-    c) Accompany it with the information you received as to the offer
+-    to distribute corresponding source code.  (This alternative is
+-    allowed only for noncommercial distribution and only if you
+-    received the program in object code or executable form with such
+-    an offer, in accord with Subsection b above.)
+-
+-The source code for a work means the preferred form of the work for
+-making modifications to it.  For an executable work, complete source
+-code means all the source code for all modules it contains, plus any
+-associated interface definition files, plus the scripts used to
+-control compilation and installation of the executable.  However, as a
+-special exception, the source code distributed need not include
+-anything that is normally distributed (in either source or binary
+-form) with the major components (compiler, kernel, and so on) of the
+-operating system on which the executable runs, unless that component
+-itself accompanies the executable.
+-
+-If distribution of executable or object code is made by offering
+-access to copy from a designated place, then offering equivalent
+-access to copy the source code from the same place counts as
+-distribution of the source code, even though third parties are not
+-compelled to copy the source along with the object code.
+-
+-  4. You may not copy, modify, sublicense, or distribute the Program
+-except as expressly provided under this License.  Any attempt
+-otherwise to copy, modify, sublicense or distribute the Program is
+-void, and will automatically terminate your rights under this License.
+-However, parties who have received copies, or rights, from you under
+-this License will not have their licenses terminated so long as such
+-parties remain in full compliance.
+-
+-  5. You are not required to accept this License, since you have not
+-signed it.  However, nothing else grants you permission to modify or
+-distribute the Program or its derivative works.  These actions are
+-prohibited by law if you do not accept this License.  Therefore, by
+-modifying or distributing the Program (or any work based on the
+-Program), you indicate your acceptance of this License to do so, and
+-all its terms and conditions for copying, distributing or modifying
+-the Program or works based on it.
+-
+-  6. Each time you redistribute the Program (or any work based on the
+-Program), the recipient automatically receives a license from the
+-original licensor to copy, distribute or modify the Program subject to
+-these terms and conditions.  You may not impose any further
+-restrictions on the recipients' exercise of the rights granted herein.
+-You are not responsible for enforcing compliance by third parties to
+-this License.
+-
+-  7. If, as a consequence of a court judgment or allegation of patent
+-infringement or for any other reason (not limited to patent issues),
+-conditions are imposed on you (whether by court order, agreement or
+-otherwise) that contradict the conditions of this License, they do not
+-excuse you from the conditions of this License.  If you cannot
+-distribute so as to satisfy simultaneously your obligations under this
+-License and any other pertinent obligations, then as a consequence you
+-may not distribute the Program at all.  For example, if a patent
+-license would not permit royalty-free redistribution of the Program by
+-all those who receive copies directly or indirectly through you, then
+-the only way you could satisfy both it and this License would be to
+-refrain entirely from distribution of the Program.
+-
+-If any portion of this section is held invalid or unenforceable under
+-any particular circumstance, the balance of the section is intended to
+-apply and the section as a whole is intended to apply in other
+-circumstances.
+-
+-It is not the purpose of this section to induce you to infringe any
+-patents or other property right claims or to contest validity of any
+-such claims; this section has the sole purpose of protecting the
+-integrity of the free software distribution system, which is
+-implemented by public license practices.  Many people have made
+-generous contributions to the wide range of software distributed
+-through that system in reliance on consistent application of that
+-system; it is up to the author/donor to decide if he or she is willing
+-to distribute software through any other system and a licensee cannot
+-impose that choice.
+-
+-This section is intended to make thoroughly clear what is believed to
+-be a consequence of the rest of this License.
+-
+-  8. If the distribution and/or use of the Program is restricted in
+-certain countries either by patents or by copyrighted interfaces, the
+-original copyright holder who places the Program under this License
+-may add an explicit geographical distribution limitation excluding
+-those countries, so that distribution is permitted only in or among
+-countries not thus excluded.  In such case, this License incorporates
+-the limitation as if written in the body of this License.
+-
+-  9. The Free Software Foundation may publish revised and/or new versions
+-of the General Public License from time to time.  Such new versions will
+-be similar in spirit to the present version, but may differ in detail to
+-address new problems or concerns.
+-
+-Each version is given a distinguishing version number.  If the Program
+-specifies a version number of this License which applies to it and "any
+-later version", you have the option of following the terms and conditions
+-either of that version or of any later version published by the Free
+-Software Foundation.  If the Program does not specify a version number of
+-this License, you may choose any version ever published by the Free Software
+-Foundation.
+-
+-  10. If you wish to incorporate parts of the Program into other free
+-programs whose distribution conditions are different, write to the author
+-to ask for permission.  For software which is copyrighted by the Free
+-Software Foundation, write to the Free Software Foundation; we sometimes
+-make exceptions for this.  Our decision will be guided by the two goals
+-of preserving the free status of all derivatives of our free software and
+-of promoting the sharing and reuse of software generally.
+-
+-                            NO WARRANTY
+-
+-  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
+-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
+-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
+-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+-REPAIR OR CORRECTION.
+-
+-  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+-POSSIBILITY OF SUCH DAMAGES.
+-
+-                     END OF TERMS AND CONDITIONS
+-
+-            How to Apply These Terms to Your New Programs
+-
+-  If you develop a new program, and you want it to be of the greatest
+-possible use to the public, the best way to achieve this is to make it
+-free software which everyone can redistribute and change under these terms.
+-
+-  To do so, attach the following notices to the program.  It is safest
+-to attach them to the start of each source file to most effectively
+-convey the exclusion of warranty; and each file should have at least
+-the "copyright" line and a pointer to where the full notice is found.
+-
+-    <one line to give the program's name and a brief idea of what it does.>
+-    Copyright (C) <year>  <name of author>
+-
+-    This program is free software; you can redistribute it and/or modify
+-    it under the terms of the GNU General Public License as published by
+-    the Free Software Foundation; either version 2 of the License, or
+-    (at your option) any later version.
+-
+-    This program is distributed in the hope that it will be useful,
+-    but WITHOUT ANY WARRANTY; without even the implied warranty of
+-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+-    GNU General Public License for more details.
+-
+-    You should have received a copy of the GNU General Public License
+-    along with this program; if not, write to the Free Software
+-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+-
+-
+-Also add information on how to contact you by electronic and paper mail.
+-
+-If the program is interactive, make it output a short notice like this
+-when it starts in an interactive mode:
+-
+-    Gnomovision version 69, Copyright (C) year name of author
+-    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+-    This is free software, and you are welcome to redistribute it
+-    under certain conditions; type `show c' for details.
+-
+-The hypothetical commands `show w' and `show c' should show the appropriate
+-parts of the General Public License.  Of course, the commands you use may
+-be called something other than `show w' and `show c'; they could even be
+-mouse-clicks or menu items--whatever suits your program.
+-
+-You should also get your employer (if you work as a programmer) or your
+-school, if any, to sign a "copyright disclaimer" for the program, if
+-necessary.  Here is a sample; alter the names:
+-
+-  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+-  `Gnomovision' (which makes passes at compilers) written by James Hacker.
+-
+-  <signature of Ty Coon>, 1 April 1989
+-  Ty Coon, President of Vice
+-
+-This General Public License does not permit incorporating your program into
+-proprietary programs.  If your program is a subroutine library, you may
+-consider it more useful to permit linking proprietary applications with the
+-library.  If this is what you want to do, use the GNU Library General
+-Public License instead of this License.
+diff --git a/lib/mcollective/vendor/json/README b/lib/mcollective/vendor/json/README
+deleted file mode 100644
+index 22249ba..0000000
+--- a/lib/mcollective/vendor/json/README
++++ /dev/null
+@@ -1,356 +0,0 @@
+-== Description
+-
+-This is a implementation of the JSON specification according to RFC 4627
+-http://www.ietf.org/rfc/rfc4627.txt . Starting from version 1.0.0 on there
+-will be two variants available:
+-
+-* A pure ruby variant, that relies on the iconv and the stringscan
+-  extensions, which are both part of the ruby standard library.
+-* The quite a bit faster C extension variant, which is in parts implemented
+-  in C and comes with its own unicode conversion functions and a parser
+-  generated by the ragel state machine compiler
+-  http://www.cs.queensu.ca/~thurston/ragel .
+-
+-Both variants of the JSON generator generate UTF-8 character sequences by
+-default. If an :ascii_only option with a true value is given, they escape all
+-non-ASCII and control characters with \uXXXX escape sequences, and support
+-UTF-16 surrogate pairs in order to be able to generate the whole range of
+-unicode code points.
+-
+-All strings, that are to be encoded as JSON strings, should be UTF-8 byte
+-sequences on the Ruby side. To encode raw binary strings, that aren't UTF-8
+-encoded, please use the to_json_raw_object method of String (which produces
+-an object, that contains a byte array) and decode the result on the receiving
+-endpoint.
+-
+-The JSON parsers can parse UTF-8, UTF-16BE, UTF-16LE, UTF-32BE, and UTF-32LE
+-JSON documents under Ruby 1.8. Under Ruby 1.9 they take advantage of Ruby's
+-M17n features and can parse all documents which have the correct
+-String#encoding set. If a document string has ASCII-8BIT as an encoding the
+-parser attempts to figure out which of the UTF encodings from above it is and
+-trys to parse it.
+-
+-== Installation
+-
+-It's recommended to use the extension variant of JSON, because it's faster than
+-the pure ruby variant. If you cannot build it on your system, you can settle
+-for the latter.
+-
+-Just type into the command line as root:
+-
+-  # rake install
+-
+-The above command will build the extensions and install them on your system.
+-
+-  # rake install_pure
+-
+-or
+-
+-  # ruby install.rb
+-
+-will just install the pure ruby implementation of JSON.
+-
+-If you use Rubygems you can type
+-
+-  # gem install json
+-
+-instead, to install the newest JSON version.
+-
+-There is also a pure ruby json only variant of the gem, that can be installed
+-with:
+-
+-  # gem install json_pure
+-
+-== Compiling the extensions yourself
+-
+-If you want to build the extensions yourself you need rake:
+-
+-  You can get it from rubyforge:
+-    http://rubyforge.org/projects/rake
+-
+-  or just type
+-
+-  # gem install rake
+-
+-  for the installation via rubygems.
+-
+-If you want to create the parser.c file from its parser.rl file or draw nice
+-graphviz images of the state machines, you need ragel from: http://www.cs.queensu.ca/~thurston/ragel
+-
+-
+-== Usage
+-
+-To use JSON you can
+-  require 'json'
+-to load the installed variant (either the extension 'json' or the pure
+-variant 'json_pure'). If you have installed the extension variant, you can
+-pick either the extension variant or the pure variant by typing
+-  require 'json/ext'
+-or
+-  require 'json/pure'
+-
+-Now you can parse a JSON document into a ruby data structure by calling
+-
+-  JSON.parse(document)
+-
+-If you want to generate a JSON document from a ruby data structure call
+-  JSON.generate(data)
+-
+-You can also use the pretty_generate method (which formats the output more
+-verbosely and nicely) or fast_generate (which doesn't do any of the security
+-checks generate performs, e. g. nesting deepness checks).
+-
+-To create a valid JSON document you have to make sure, that the output is
+-embedded in either a JSON array [] or a JSON object {}. The easiest way to do
+-this, is by putting your values in a Ruby Array or Hash instance.
+-
+-There are also the JSON and JSON[] methods which use parse on a String or
+-generate a JSON document from an array or hash:
+-
+-  document = JSON 'test'  => 23 # => "{\"test\":23}"
+-  document = JSON['test'] => 23 # => "{\"test\":23}"
+-
+-and
+-
+-  data = JSON '{"test":23}'  # => {"test"=>23}
+-  data = JSON['{"test":23}'] # => {"test"=>23}
+-
+-You can choose to load a set of common additions to ruby core's objects if
+-you
+-  require 'json/add/core'
+-
+-After requiring this you can, e. g., serialise/deserialise Ruby ranges:
+-
+-  JSON JSON(1..10) # => 1..10
+-
+-To find out how to add JSON support to other or your own classes, read the
+-section "More Examples" below.
+-
+-To get the best compatibility to rails' JSON implementation, you can
+-  require 'json/add/rails'
+-
+-Both of the additions attempt to require 'json' (like above) first, if it has
+-not been required yet.
+-
+-== More Examples
+-
+-To create a JSON document from a ruby data structure, you can call
+-JSON.generate like that:
+-
+- json = JSON.generate [1, 2, {"a"=>3.141}, false, true, nil, 4..10]
+- # => "[1,2,{\"a\":3.141},false,true,null,\"4..10\"]"
+-
+-To get back a ruby data structure from a JSON document, you have to call
+-JSON.parse on it:
+-
+- JSON.parse json
+- # => [1, 2, {"a"=>3.141}, false, true, nil, "4..10"]
+-
+-Note, that the range from the original data structure is a simple
+-string now. The reason for this is, that JSON doesn't support ranges
+-or arbitrary classes. In this case the json library falls back to call
+-Object#to_json, which is the same as #to_s.to_json.
+-
+-It's possible to add JSON support serialization to arbitrary classes by
+-simply implementing a more specialized version of the #to_json method, that
+-should return a JSON object (a hash converted to JSON with #to_json) like
+-this (don't forget the *a for all the arguments):
+-
+- class Range
+-   def to_json(*a)
+-     {
+-       'json_class'   => self.class.name, # = 'Range'
+-       'data'         => [ first, last, exclude_end? ]
+-     }.to_json(*a)
+-   end
+- end
+-
+-The hash key 'json_class' is the class, that will be asked to deserialise the
+-JSON representation later. In this case it's 'Range', but any namespace of
+-the form 'A::B' or '::A::B' will do. All other keys are arbitrary and can be
+-used to store the necessary data to configure the object to be deserialised.
+-
+-If a the key 'json_class' is found in a JSON object, the JSON parser checks
+-if the given class responds to the json_create class method. If so, it is
+-called with the JSON object converted to a Ruby hash. So a range can
+-be deserialised by implementing Range.json_create like this:
+-
+- class Range
+-   def self.json_create(o)
+-     new(*o['data'])
+-   end
+- end
+-
+-Now it possible to serialise/deserialise ranges as well:
+-
+- json = JSON.generate [1, 2, {"a"=>3.141}, false, true, nil, 4..10]
+- # => "[1,2,{\"a\":3.141},false,true,null,{\"json_class\":\"Range\",\"data\":[4,10,false]}]"
+- JSON.parse json
+- # => [1, 2, {"a"=>3.141}, false, true, nil, 4..10]
+-
+-JSON.generate always creates the shortest possible string representation of a
+-ruby data structure in one line. This is good for data storage or network
+-protocols, but not so good for humans to read. Fortunately there's also
+-JSON.pretty_generate (or JSON.pretty_generate) that creates a more readable
+-output:
+-
+- puts JSON.pretty_generate([1, 2, {"a"=>3.141}, false, true, nil, 4..10])
+- [
+-   1,
+-   2,
+-   {
+-     "a": 3.141
+-   },
+-   false,
+-   true,
+-   null,
+-   {
+-     "json_class": "Range",
+-     "data": [
+-       4,
+-       10,
+-       false
+-     ]
+-   }
+- ]
+-
+-There are also the methods Kernel#j for generate, and Kernel#jj for
+-pretty_generate output to the console, that work analogous to Core Ruby's p and
+-the pp library's pp methods.
+-
+-The script tools/server.rb contains a small example if you want to test, how
+-receiving a JSON object from a webrick server in your browser with the
+-javasript prototype library http://www.prototypejs.org works.
+-
+-== Speed Comparisons
+-
+-I have created some benchmark results (see the benchmarks/data-p4-3Ghz
+-subdir of the package) for the JSON-parser to estimate the speed up in the C
+-extension:
+-
+- Comparing times (call_time_mean):
+-  1 ParserBenchmarkExt#parser   900 repeats:
+-        553.922304770 (  real) ->   21.500x 
+-          0.001805307
+-  2 ParserBenchmarkYAML#parser  1000 repeats:
+-        224.513358139 (  real) ->    8.714x 
+-          0.004454078
+-  3 ParserBenchmarkPure#parser  1000 repeats:
+-         26.755020642 (  real) ->    1.038x 
+-          0.037376163
+-  4 ParserBenchmarkRails#parser 1000 repeats:
+-         25.763381731 (  real) ->    1.000x 
+-          0.038814780
+-            calls/sec (  time) ->    speed  covers
+-            secs/call
+-
+-In the table above 1 is JSON::Ext::Parser, 2 is YAML.load with YAML
+-compatbile JSON document, 3 is is JSON::Pure::Parser, and 4 is
+-ActiveSupport::JSON.decode. The ActiveSupport JSON-decoder converts the
+-input first to YAML and then uses the YAML-parser, the conversion seems to
+-slow it down so much that it is only as fast as the JSON::Pure::Parser!
+-
+-If you look at the benchmark data you can see that this is mostly caused by
+-the frequent high outliers - the median of the Rails-parser runs is still
+-overall smaller than the median of the JSON::Pure::Parser runs:
+-
+- Comparing times (call_time_median):
+-  1 ParserBenchmarkExt#parser   900 repeats:
+-        800.592479481 (  real) ->   26.936x 
+-          0.001249075
+-  2 ParserBenchmarkYAML#parser  1000 repeats:
+-        271.002390644 (  real) ->    9.118x 
+-          0.003690004
+-  3 ParserBenchmarkRails#parser 1000 repeats:
+-         30.227910865 (  real) ->    1.017x 
+-          0.033082008
+-  4 ParserBenchmarkPure#parser  1000 repeats:
+-         29.722384421 (  real) ->    1.000x 
+-          0.033644676
+-            calls/sec (  time) ->    speed  covers
+-            secs/call
+-
+-I have benchmarked the JSON-Generator as well. This generated a few more
+-values, because there are different modes that also influence the achieved
+-speed:
+-
+- Comparing times (call_time_mean):
+-  1 GeneratorBenchmarkExt#generator_fast    1000 repeats:
+-        547.354332608 (  real) ->   15.090x 
+-          0.001826970
+-  2 GeneratorBenchmarkExt#generator_safe    1000 repeats:
+-        443.968212317 (  real) ->   12.240x 
+-          0.002252414
+-  3 GeneratorBenchmarkExt#generator_pretty  900 repeats:
+-        375.104545883 (  real) ->   10.341x 
+-          0.002665923
+-  4 GeneratorBenchmarkPure#generator_fast   1000 repeats:
+-         49.978706968 (  real) ->    1.378x 
+-          0.020008521
+-  5 GeneratorBenchmarkRails#generator       1000 repeats:
+-         38.531868759 (  real) ->    1.062x 
+-          0.025952543
+-  6 GeneratorBenchmarkPure#generator_safe   1000 repeats:
+-         36.927649925 (  real) ->    1.018x 7 (>=3859)
+-          0.027079979
+-  7 GeneratorBenchmarkPure#generator_pretty 1000 repeats:
+-         36.272134441 (  real) ->    1.000x 6 (>=3859)
+-          0.027569373
+-            calls/sec (  time) ->    speed  covers
+-            secs/call
+-
+-In the table above 1-3 are JSON::Ext::Generator methods. 4, 6, and 7 are
+-JSON::Pure::Generator methods and 5 is the Rails JSON generator. It is now a
+-bit faster than the generator_safe and generator_pretty methods of the pure
+-variant but slower than the others.
+-
+-To achieve the fastest JSON document output, you can use the fast_generate
+-method. Beware, that this will disable the checking for circular Ruby data
+-structures, which may cause JSON to go into an infinite loop.
+-
+-Here are the median comparisons for completeness' sake:
+-
+- Comparing times (call_time_median):
+-  1 GeneratorBenchmarkExt#generator_fast    1000 repeats:
+-        708.258020939 (  real) ->   16.547x 
+-          0.001411915
+-  2 GeneratorBenchmarkExt#generator_safe    1000 repeats:
+-        569.105020353 (  real) ->   13.296x 
+-          0.001757145
+-  3 GeneratorBenchmarkExt#generator_pretty  900 repeats:
+-        482.825371244 (  real) ->   11.280x 
+-          0.002071142
+-  4 GeneratorBenchmarkPure#generator_fast   1000 repeats:
+-         62.717626652 (  real) ->    1.465x 
+-          0.015944481
+-  5 GeneratorBenchmarkRails#generator       1000 repeats:
+-         43.965681162 (  real) ->    1.027x 
+-          0.022745013
+-  6 GeneratorBenchmarkPure#generator_safe   1000 repeats:
+-         43.929073409 (  real) ->    1.026x 7 (>=3859)
+-          0.022763968
+-  7 GeneratorBenchmarkPure#generator_pretty 1000 repeats:
+-         42.802514491 (  real) ->    1.000x 6 (>=3859)
+-          0.023363113
+-            calls/sec (  time) ->    speed  covers
+-            secs/call
+-
+-== Author
+-
+-Florian Frank <mailto:flori at ping.de>
+-
+-== License
+-
+-Ruby License, see the COPYING file included in the source distribution. The
+-Ruby License includes the GNU General Public License (GPL), Version 2, so see
+-the file GPL as well.
+-
+-== Download
+-
+-The latest version of this library can be downloaded at
+-
+-* http://rubyforge.org/frs?group_id=953
+-
+-Online Documentation should be located at
+-
+-* http://json.rubyforge.org
+diff --git a/lib/mcollective/vendor/json/README-json-jruby.markdown b/lib/mcollective/vendor/json/README-json-jruby.markdown
+deleted file mode 100644
+index 1336837..0000000
+--- a/lib/mcollective/vendor/json/README-json-jruby.markdown
++++ /dev/null
+@@ -1,33 +0,0 @@
+-JSON-JRuby
+-==========
+-
+-JSON-JRuby is a port of Florian Frank's native
+-[`json` library](http://json.rubyforge.org/) to JRuby.
+-It aims to be a perfect drop-in replacement for `json_pure`.
+-
+-
+-Development version
+-===================
+-
+-The latest version is available from the
+-[Git repository](http://github.com/mernen/json-jruby/tree):
+-
+-    git clone git://github.com/mernen/json-jruby.git
+-
+-
+-Compiling
+-=========
+-
+-You'll need JRuby version 1.2 or greater to build JSON-JRuby.
+-Its path must be set on the `jruby.dir` property of
+-`nbproject/project.properties` (defaults to `../jruby`).
+-
+-Additionally, you'll need [Ant](http://ant.apache.org/), and
+-[Ragel](http://www.cs.queensu.ca/~thurston/ragel/) 6.4 or greater.
+-
+-Then, from the folder where the sources are located, type:
+-
+-    ant clean jar
+-
+-to clean any leftovers from previous builds and generate the `.jar` files.
+-To generate a RubyGem, specify the `gem` action rather than `jar`.
+diff --git a/lib/mcollective/vendor/json/Rakefile b/lib/mcollective/vendor/json/Rakefile
+deleted file mode 100644
+index 8bbd7d9..0000000
+--- a/lib/mcollective/vendor/json/Rakefile
++++ /dev/null
+@@ -1,401 +0,0 @@
+-begin
+-  require 'rake/gempackagetask'
+-rescue LoadError
+-end
+-
+-begin
+-  require 'rake/extensiontask'
+-rescue LoadError
+-  warn "WARNING: rake-compiler is not installed. You will not be able to build the json gem until you install it."
+-end
+-
+-require 'rbconfig'
+-include Config
+-
+-require 'rake/clean'
+-CLOBBER.include Dir['benchmarks/data/*.{dat,log}']
+-CLEAN.include FileList['diagrams/*.*'], 'doc', 'coverage', 'tmp',
+-  FileList["ext/**/{Makefile,mkmf.log}"], 'build', 'dist', FileList['**/*.rbc'],
+-  FileList["{ext,lib}/**/*.{so,bundle,#{CONFIG['DLEXT']},o,obj,pdb,lib,manifest,exp,def,jar,class}"],
+-  FileList['java/src/**/*.class']
+-
+-MAKE = ENV['MAKE'] || %w[gmake make].find { |c| system(c, '-v') }
+-PKG_NAME          = 'json'
+-PKG_TITLE         = 'JSON Implementation for Ruby'
+-PKG_VERSION       = File.read('VERSION').chomp
+-PKG_FILES         = FileList["**/*"].exclude(/CVS|pkg|tmp|coverage|Makefile|\.nfs\.|\.iml\Z/).exclude(/\.(so|bundle|o|class|#{CONFIG['DLEXT']})$/)
+-
+-EXT_ROOT_DIR      = 'ext/json/ext'
+-EXT_PARSER_DIR    = "#{EXT_ROOT_DIR}/parser"
+-EXT_PARSER_DL     = "#{EXT_PARSER_DIR}/parser.#{CONFIG['DLEXT']}"
+-RAGEL_PATH        = "#{EXT_PARSER_DIR}/parser.rl"
+-EXT_PARSER_SRC    = "#{EXT_PARSER_DIR}/parser.c"
+-PKG_FILES << EXT_PARSER_SRC
+-EXT_GENERATOR_DIR = "#{EXT_ROOT_DIR}/generator"
+-EXT_GENERATOR_DL  = "#{EXT_GENERATOR_DIR}/generator.#{CONFIG['DLEXT']}"
+-EXT_GENERATOR_SRC = "#{EXT_GENERATOR_DIR}/generator.c"
+-
+-JAVA_DIR            = "java/src/json/ext"
+-JAVA_RAGEL_PATH     = "#{JAVA_DIR}/Parser.rl"
+-JAVA_PARSER_SRC     = "#{JAVA_DIR}/Parser.java"
+-JAVA_SOURCES        = FileList["#{JAVA_DIR}/*.java"]
+-JAVA_CLASSES        = []
+-JRUBY_PARSER_JAR    = File.expand_path("lib/json/ext/parser.jar")
+-JRUBY_GENERATOR_JAR = File.expand_path("lib/json/ext/generator.jar")
+-
+-RAGEL_CODEGEN     = %w[rlcodegen rlgen-cd ragel].find { |c| system(c, '-v') }
+-RAGEL_DOTGEN      = %w[rlgen-dot rlgen-cd ragel].find { |c| system(c, '-v') }
+-
+-def myruby(*args, &block)
+-  @myruby ||= File.join(CONFIG['bindir'], CONFIG['ruby_install_name'])
+-  options = (Hash === args.last) ? args.pop : {}
+-  if args.length > 1 then
+-    sh(*([@myruby] + args + [options]), &block)
+-  else
+-    sh("#{@myruby} #{args.first}", options, &block)
+-  end
+-end
+-
+-desc "Installing library (pure)"
+-task :install_pure => :version do
+-  myruby 'install.rb'
+-end
+-
+-task :install_ext_really do
+-  sitearchdir = CONFIG["sitearchdir"]
+-  cd 'ext' do
+-    for file in Dir["json/ext/*.#{CONFIG['DLEXT']}"]
+-      d = File.join(sitearchdir, file)
+-      mkdir_p File.dirname(d)
+-      install(file, d)
+-    end
+-  end
+-end
+-
+-desc "Installing library (extension)"
+-task :install_ext => [ :compile_ext, :install_pure, :install_ext_really ]
+-
+-desc "Installing library (extension)"
+-if RUBY_PLATFORM =~ /java/
+-  task :install => :install_pure
+-else
+-  task :install => :install_ext
+-end
+-
+-if defined?(Gem) and defined?(Rake::GemPackageTask)
+-  spec_pure = Gem::Specification.new do |s|
+-    s.name = 'json_pure'
+-    s.version = PKG_VERSION
+-    s.summary = PKG_TITLE
+-    s.description = "This is a JSON implementation in pure Ruby."
+-
+-    s.files = PKG_FILES
+-
+-    s.require_path = 'lib'
+-
+-    s.bindir = "bin"
+-    s.executables = [ "edit_json.rb", "prettify_json.rb" ]
+-    s.default_executable = "edit_json.rb"
+-
+-    s.has_rdoc = true
+-    s.extra_rdoc_files << 'README'
+-    s.rdoc_options <<
+-      '--title' <<  'JSON implemention for ruby' << '--main' << 'README'
+-    s.test_files.concat Dir['./tests/test_*.rb']
+-
+-    s.author = "Florian Frank"
+-    s.email = "flori at ping.de"
+-    s.homepage = "http://flori.github.com/#{PKG_NAME}"
+-    s.rubyforge_project = "json"
+-  end
+-
+-  Rake::GemPackageTask.new(spec_pure) do |pkg|
+-      pkg.need_tar = true
+-      pkg.package_files = PKG_FILES
+-  end
+-end
+-
+-if defined?(Gem) and defined?(Rake::GemPackageTask) and defined?(Rake::ExtensionTask)
+-  spec_ext = Gem::Specification.new do |s|
+-    s.name = 'json'
+-    s.version = PKG_VERSION
+-    s.summary = PKG_TITLE
+-    s.description = "This is a JSON implementation as a Ruby extension in C."
+-
+-    s.files = PKG_FILES
+-
+-    s.extensions = FileList['ext/**/extconf.rb']
+-
+-    s.require_path = EXT_ROOT_DIR
+-    s.require_paths << 'ext'
+-    s.require_paths << 'lib'
+-
+-    s.bindir = "bin"
+-    s.executables = [ "edit_json.rb", "prettify_json.rb" ]
+-    s.default_executable = "edit_json.rb"
+-
+-    s.has_rdoc = true
+-    s.extra_rdoc_files << 'README'
+-    s.rdoc_options <<
+-      '--title' <<  'JSON implemention for Ruby' << '--main' << 'README'
+-    s.test_files.concat Dir['./tests/test_*.rb']
+-
+-    s.author = "Florian Frank"
+-    s.email = "flori at ping.de"
+-    s.homepage = "http://flori.github.com/#{PKG_NAME}"
+-    s.rubyforge_project = "json"
+-  end
+-
+-  Rake::GemPackageTask.new(spec_ext) do |pkg|
+-    pkg.need_tar      = true
+-    pkg.package_files = PKG_FILES
+-  end
+-
+-  Rake::ExtensionTask.new do |ext|
+-    ext.name            = 'parser'
+-    ext.gem_spec        = spec_ext
+-    ext.cross_compile   = true
+-    ext.cross_platform  = %w[i386-mswin32 i386-mingw32]
+-    ext.ext_dir         = 'ext/json/ext/parser'
+-    ext.lib_dir         = 'lib/json/ext'
+-  end
+-
+-  Rake::ExtensionTask.new do |ext|
+-    ext.name            = 'generator'
+-    ext.gem_spec        = spec_ext
+-    ext.cross_compile   = true
+-    ext.cross_platform  = %w[i386-mswin32 i386-mingw32]
+-    ext.ext_dir         = 'ext/json/ext/generator'
+-    ext.lib_dir         = 'lib/json/ext'
+-  end
+-end
+-
+-desc m = "Writing version information for #{PKG_VERSION}"
+-task :version do
+-  puts m
+-  File.open(File.join('lib', 'json', 'version.rb'), 'w') do |v|
+-    v.puts <<EOT
+-module JSON
+-  # JSON version
+-  VERSION         = '#{PKG_VERSION}'
+-  VERSION_ARRAY   = VERSION.split(/\\./).map { |x| x.to_i } # :nodoc:
+-  VERSION_MAJOR   = VERSION_ARRAY[0] # :nodoc:
+-  VERSION_MINOR   = VERSION_ARRAY[1] # :nodoc:
+-  VERSION_BUILD   = VERSION_ARRAY[2] # :nodoc:
+-end
+-EOT
+-  end
+-end
+-
+-desc "Testing library (pure ruby)"
+-task :test_pure => :clean do
+-  ENV['JSON'] = 'pure'
+-  ENV['RUBYOPT'] = "-Ilib #{ENV['RUBYOPT']}"
+-  myruby '-S', 'testrb', *Dir['./tests/test_*.rb']
+-end
+-
+-desc "Testing library (pure ruby and extension)"
+-task :test => [ :test_pure, :test_ext ]
+-
+-
+-if defined?(RUBY_ENGINE) and RUBY_ENGINE == 'jruby'
+-  file JAVA_PARSER_SRC => JAVA_RAGEL_PATH do
+-    cd JAVA_DIR do
+-      if RAGEL_CODEGEN == 'ragel'
+-        sh "ragel Parser.rl -J -o Parser.java"
+-      else
+-        sh "ragel -x Parser.rl | #{RAGEL_CODEGEN} -J"
+-      end
+-    end
+-  end
+-
+-  desc "Generate parser for java with ragel"
+-  task :ragel => JAVA_PARSER_SRC
+-
+-  desc "Delete the ragel generated Java source"
+-  task :ragel_clean do
+-    rm_rf JAVA_PARSER_SRC
+-  end
+-
+-  JRUBY_JAR = File.join(Config::CONFIG["libdir"], "jruby.jar")
+-  if File.exist?(JRUBY_JAR)
+-    JAVA_SOURCES.each do |src|
+-      classpath = (Dir['java/lib/*.jar'] << 'java/src' << JRUBY_JAR) * ':'
+-      obj = src.sub(/\.java\Z/, '.class')
+-      file obj => src do
+-        sh 'javac', '-classpath', classpath, '-source', '1.5', src
+-      end
+-      JAVA_CLASSES << obj
+-    end
+-  else
+-    warn "WARNING: Cannot find jruby in path => Cannot build jruby extension!"
+-  end
+-
+-  desc "Compiling jruby extension"
+-  task :compile_ext => JAVA_CLASSES
+-
+-  desc "Package the jruby gem"
+-  task :jruby_gem => :create_jar do
+-    sh 'gem build json-java.gemspec'
+-    mkdir_p 'pkg'
+-    mv "json-#{PKG_VERSION}-java.gem", 'pkg'
+-  end
+-
+-  desc "Testing library (jruby)"
+-  task :test_ext => :create_jar do
+-    ENV['JSON'] = 'ext'
+-    myruby '-S', 'testrb', '-Ilib', *Dir['./tests/test_*.rb']
+-  end
+-
+-  file JRUBY_PARSER_JAR => :compile_ext do
+-    cd 'java/src' do
+-      parser_classes = FileList[
+-        "json/ext/ByteListTranscoder*.class",
+-        "json/ext/OptionsReader*.class",
+-        "json/ext/Parser*.class",
+-        "json/ext/RuntimeInfo*.class",
+-        "json/ext/StringDecoder*.class",
+-        "json/ext/Utils*.class"
+-      ]
+-      sh 'jar', 'cf', File.basename(JRUBY_PARSER_JAR), *parser_classes
+-      mv File.basename(JRUBY_PARSER_JAR), File.dirname(JRUBY_PARSER_JAR)
+-    end
+-  end
+-
+-  desc "Create parser jar"
+-  task :create_parser_jar => JRUBY_PARSER_JAR
+-
+-  file JRUBY_GENERATOR_JAR => :compile_ext do
+-    cd 'java/src' do
+-      generator_classes = FileList[
+-        "json/ext/ByteListTranscoder*.class",
+-        "json/ext/OptionsReader*.class",
+-        "json/ext/Generator*.class",
+-        "json/ext/RuntimeInfo*.class",
+-        "json/ext/StringEncoder*.class",
+-        "json/ext/Utils*.class"
+-      ]
+-      sh 'jar', 'cf', File.basename(JRUBY_GENERATOR_JAR), *generator_classes
+-      mv File.basename(JRUBY_GENERATOR_JAR), File.dirname(JRUBY_GENERATOR_JAR)
+-    end
+-  end
+-
+-  desc "Create generator jar"
+-  task :create_generator_jar => JRUBY_GENERATOR_JAR
+-
+-  desc "Create parser and generator jars"
+-  task :create_jar => [ :create_parser_jar, :create_generator_jar ]
+-
+-  desc "Build all gems and archives for a new release of the jruby extension."
+-  task :release => [ :clean, :version, :jruby_gem ]
+-else
+-  desc "Compiling extension"
+-  task :compile_ext => [ EXT_PARSER_DL, EXT_GENERATOR_DL ]
+-
+-  file EXT_PARSER_DL => EXT_PARSER_SRC do
+-    cd EXT_PARSER_DIR do
+-      myruby 'extconf.rb'
+-      sh MAKE
+-    end
+-    cp "#{EXT_PARSER_DIR}/parser.#{CONFIG['DLEXT']}", EXT_ROOT_DIR
+-  end
+-
+-  file EXT_GENERATOR_DL => EXT_GENERATOR_SRC do
+-    cd EXT_GENERATOR_DIR do
+-      myruby 'extconf.rb'
+-      sh MAKE
+-    end
+-    cp "#{EXT_GENERATOR_DIR}/generator.#{CONFIG['DLEXT']}", EXT_ROOT_DIR
+-  end
+-
+-  desc "Testing library (extension)"
+-  task :test_ext => :compile_ext do
+-    ENV['JSON'] = 'ext'
+-    ENV['RUBYOPT'] = "-Iext:lib #{ENV['RUBYOPT']}"
+-    myruby '-S', 'testrb', *Dir['./tests/test_*.rb']
+-  end
+-
+-  desc "Benchmarking parser"
+-  task :benchmark_parser do
+-    ENV['RUBYOPT'] = "-Ilib:ext #{ENV['RUBYOPT']}"
+-    myruby 'benchmarks/parser_benchmark.rb'
+-    myruby 'benchmarks/parser2_benchmark.rb'
+-  end
+-
+-  desc "Benchmarking generator"
+-  task :benchmark_generator do
+-    ENV['RUBYOPT'] = "-Ilib:ext #{ENV['RUBYOPT']}"
+-    myruby 'benchmarks/generator_benchmark.rb'
+-    myruby 'benchmarks/generator2_benchmark.rb'
+-  end
+-
+-  desc "Benchmarking library"
+-  task :benchmark => [ :benchmark_parser, :benchmark_generator ]
+-
+-  desc "Create RDOC documentation"
+-  task :doc => [ :version, EXT_PARSER_SRC ] do
+-    sh "sdoc -o doc -t '#{PKG_TITLE}' -m README README lib/json.rb #{FileList['lib/json/**/*.rb']} #{EXT_PARSER_SRC} #{EXT_GENERATOR_SRC}"
+-  end
+-
+-  desc "Generate parser with ragel"
+-  task :ragel => EXT_PARSER_SRC
+-
+-  desc "Delete the ragel generated C source"
+-  task :ragel_clean do
+-    rm_rf EXT_PARSER_SRC
+-  end
+-
+-  file EXT_PARSER_SRC => RAGEL_PATH do
+-    cd EXT_PARSER_DIR do
+-      if RAGEL_CODEGEN == 'ragel'
+-        sh "ragel parser.rl -G2 -o parser.c"
+-      else
+-        sh "ragel -x parser.rl | #{RAGEL_CODEGEN} -G2"
+-      end
+-    end
+-  end
+-
+-  desc "Generate diagrams of ragel parser (ps)"
+-  task :ragel_dot_ps do
+-    root = 'diagrams'
+-    specs = []
+-    File.new(RAGEL_PATH).grep(/^\s*machine\s*(\S+);\s*$/) { specs << $1 }
+-    for s in specs
+-      if RAGEL_DOTGEN == 'ragel'
+-        sh "ragel #{RAGEL_PATH} -S#{s} -p -V | dot -Tps -o#{root}/#{s}.ps"
+-      else
+-        sh "ragel -x #{RAGEL_PATH} -S#{s} | #{RAGEL_DOTGEN} -p|dot -Tps -o#{root}/#{s}.ps"
+-      end
+-    end
+-  end
+-
+-  desc "Generate diagrams of ragel parser (png)"
+-  task :ragel_dot_png do
+-    root = 'diagrams'
+-    specs = []
+-    File.new(RAGEL_PATH).grep(/^\s*machine\s*(\S+);\s*$/) { specs << $1 }
+-    for s in specs
+-      if RAGEL_DOTGEN == 'ragel'
+-        sh "ragel #{RAGEL_PATH} -S#{s} -p -V | dot -Tpng -o#{root}/#{s}.png"
+-      else
+-        sh "ragel -x #{RAGEL_PATH} -S#{s} | #{RAGEL_DOTGEN} -p|dot -Tpng -o#{root}/#{s}.png"
+-      end
+-    end
+-  end
+-
+-  desc "Generate diagrams of ragel parser"
+-  task :ragel_dot => [ :ragel_dot_png, :ragel_dot_ps ]
+-
+-  task :environment do
+-    ENV['RUBY_CC_VERSION'] = '1.8.7:1.9.2'
+-  end
+-
+-  desc "Build all gems and archives for a new release of json and json_pure."
+-  task :release => [ :clean, :version, :environment, :cross, :native, :gem, ] do
+-    sh "#$0 clean native gem"
+-    sh "#$0 clean package"
+-  end
+-end
+-
+-desc "Compile in the the source directory"
+-task :default => [ :version ]
+diff --git a/lib/mcollective/vendor/json/TODO b/lib/mcollective/vendor/json/TODO
+deleted file mode 100644
+index 8b13789..0000000
+--- a/lib/mcollective/vendor/json/TODO
++++ /dev/null
+@@ -1 +0,0 @@
+-
+diff --git a/lib/mcollective/vendor/json/VERSION b/lib/mcollective/vendor/json/VERSION
+deleted file mode 100644
+index 26ca594..0000000
+--- a/lib/mcollective/vendor/json/VERSION
++++ /dev/null
+@@ -1 +0,0 @@
+-1.5.1
+diff --git a/lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/.keep b/lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/.keep
+deleted file mode 100644
+index e69de29..0000000
+diff --git a/lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkComparison.log b/lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkComparison.log
+deleted file mode 100644
+index f63d7ff..0000000
+--- a/lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkComparison.log
++++ /dev/null
+@@ -1,52 +0,0 @@
+-========================== 2009-04-01T16:54:14 CEST ===========================
+-
+-Comparing times (call_time_mean):
+- 1 GeneratorBenchmarkExt#generator_fast    1000 repeats:
+-       547.354332608 (  real) ->   15.090x 
+-         0.001826970
+- 2 GeneratorBenchmarkExt#generator_safe    1000 repeats:
+-       443.968212317 (  real) ->   12.240x 
+-         0.002252414
+- 3 GeneratorBenchmarkExt#generator_pretty  900 repeats:
+-       375.104545883 (  real) ->   10.341x 
+-         0.002665923
+- 4 GeneratorBenchmarkPure#generator_fast   1000 repeats:
+-        49.978706968 (  real) ->    1.378x 
+-         0.020008521
+- 5 GeneratorBenchmarkRails#generator       1000 repeats:
+-        38.531868759 (  real) ->    1.062x 
+-         0.025952543
+- 6 GeneratorBenchmarkPure#generator_safe   1000 repeats:
+-        36.927649925 (  real) ->    1.018x 7 (>=3859)
+-         0.027079979
+- 7 GeneratorBenchmarkPure#generator_pretty 1000 repeats:
+-        36.272134441 (  real) ->    1.000x 6 (>=3859)
+-         0.027569373
+-           calls/sec (  time) ->    speed  covers
+-           secs/call
+-
+-Comparing times (call_time_median):
+- 1 GeneratorBenchmarkExt#generator_fast    1000 repeats:
+-       708.258020939 (  real) ->   16.547x 
+-         0.001411915
+- 2 GeneratorBenchmarkExt#generator_safe    1000 repeats:
+-       569.105020353 (  real) ->   13.296x 
+-         0.001757145
+- 3 GeneratorBenchmarkExt#generator_pretty  900 repeats:
+-       482.825371244 (  real) ->   11.280x 
+-         0.002071142
+- 4 GeneratorBenchmarkPure#generator_fast   1000 repeats:
+-        62.717626652 (  real) ->    1.465x 
+-         0.015944481
+- 5 GeneratorBenchmarkRails#generator       1000 repeats:
+-        43.965681162 (  real) ->    1.027x 
+-         0.022745013
+- 6 GeneratorBenchmarkPure#generator_safe   1000 repeats:
+-        43.929073409 (  real) ->    1.026x 7 (>=3859)
+-         0.022763968
+- 7 GeneratorBenchmarkPure#generator_pretty 1000 repeats:
+-        42.802514491 (  real) ->    1.000x 6 (>=3859)
+-         0.023363113
+-           calls/sec (  time) ->    speed  covers
+-           secs/call
+-===============================================================================
+diff --git a/lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_fast-autocorrelation.dat b/lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_fast-autocorrelation.dat
+deleted file mode 100644
+index 4b1253c..0000000
+--- a/lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_fast-autocorrelation.dat
++++ /dev/null
+@@ -1,1000 +0,0 @@
+-#lag	autocorrelation
+-1	1.0
+-2	-0.00598106516199361
+-3	-0.0112807270419403
+-4	-0.0123696625707977
+-5	-0.0156474123184087
+-6	-0.0167058727326317
+-7	-0.0174226257732614
+-8	-0.0189193377912716
+-9	-0.0214634645195233
+-10	-0.0210243967687236
+-11	-0.0184155266311585
+-12	-0.0181108782382041
+-13	-0.0176431070033873
+-14	-0.0156578972028912
+-15	-0.0177374502087085
+-16	-0.0141455286987274
+-17	-0.00795945141612284
+-18	-0.0113514826844811
+-19	-0.00973302086315654
+-20	-0.00752544154967475
+-21	-0.00910755332739381
+-22	-0.0135251862007292
+-23	-0.018973749693597
+-24	-0.0204970425654037
+-25	-0.0215794434931503
+-26	-0.0208820323198205
+-27	-0.0215343932179269
+-28	-0.0197971427401652
+-29	-0.0184170283596744
+-30	-0.0175671796001255
+-31	-0.0182236843115851
+-32	-0.0197281221230859
+-33	-0.0150052309130744
+-34	-0.0149918485410557
+-35	-0.0148118613887254
+-36	-0.0167181900944588
+-37	-0.0206983251289769
+-38	-0.0210801801789031
+-39	-0.0208844740744579
+-40	-0.019184207940328
+-41	-0.017212049362023
+-42	-0.0120240041713764
+-43	-0.0100234143586629
+-44	-0.00665522354326635
+-45	-0.0100620537646498
+-46	-0.00769258313093049
+-47	-0.0101574928855612
+-48	-0.0159677916154784
+-49	-0.0165646691066312
+-50	-0.0130718375795871
+-51	-0.0164703973814153
+-52	-0.0175737709174274
+-53	-0.0196185539680136
+-54	-0.0206376650276647
+-55	-0.0205816624943907
+-56	-0.0182046841305021
+-57	-0.0170847346598826
+-58	-0.0173697791657325
+-59	-0.0137208345061376
+-60	-0.015172781992446
+-61	-0.0115255106202091
+-62	0.417092484407713
+-63	0.504693995877898
+-64	-0.00952721402961746
+-65	-0.0131282852877526
+-66	-0.0119948030163429
+-67	-0.016073832621251
+-68	-0.0161014355592232
+-69	-0.0171579854383285
+-70	-0.01991680519785
+-71	-0.0201834782243293
+-72	-0.0193410584396016
+-73	-0.0171039752714963
+-74	-0.0161429988491727
+-75	-0.0132132704199617
+-76	-0.0168078802690772
+-77	-0.0158003286920553
+-78	-0.00835714207351243
+-79	-0.00762120905134282
+-80	-0.0123153809247642
+-81	-0.00899280191875777
+-82	-0.0119224362468367
+-83	-0.0119149552172981
+-84	-0.0153878383194161
+-85	-0.0180946307259483
+-86	-0.0183903902356951
+-87	-0.0192363155579457
+-88	-0.0187515314979391
+-89	-0.017863448747676
+-90	-0.0164433211511183
+-91	-0.0165939525554464
+-92	-0.0165402045616707
+-93	-0.0185978157278274
+-94	-0.0142998133920208
+-95	-0.0132850828003168
+-96	-0.0138653751741504
+-97	-0.015439338933265
+-98	-0.020103623875719
+-99	-0.0195401109212907
+-100	-0.0201426108270252
+-101	-0.0189159648139772
+-102	-0.017741354411347
+-103	-0.0123542006315354
+-104	-0.00844298039184578
+-105	-0.00684884437276309
+-106	-0.00886668438174435
+-107	-0.0112356781545771
+-108	-0.00988387556228173
+-109	-0.0132456696681112
+-110	-0.0163390481544352
+-111	-0.0139327158127501
+-112	-0.0163794215654705
+-113	-0.016828431108095
+-114	-0.0170664831346389
+-115	-0.0194839016196901
+-116	-0.0196691116442597
+-117	-0.0171523870407326
+-118	-0.0162329780166863
+-119	-0.015465269120626
+-120	-0.0149628404982249
+-121	-0.0131035423300313
+-122	-0.0131195334166545
+-123	-0.00981529237544382
+-124	0.80187886471569
+-125	0.0584684544905557
+-126	-0.0102423491415993
+-127	-0.0120909818906237
+-128	-0.0108758895949621
+-129	-0.014289679096502
+-130	-0.0143039174642426
+-131	-0.0156868282211593
+-132	-0.0179722786147755
+-133	-0.018466068371964
+-134	-0.017079048029739
+-135	-0.015065426013034
+-136	-0.0138193891158787
+-137	-0.0108007611003438
+-138	-0.0135404983439662
+-139	-0.0106058448707185
+-140	-0.00496922876002826
+-141	-0.00606791982549938
+-142	-0.00898435609237426
+-143	-0.00744828430883844
+-144	-0.00954635887187427
+-145	-0.0117471427501629
+-146	-0.0167882985759187
+-147	-0.0165458334875186
+-148	-0.0185963339262843
+-149	-0.0180476363378826
+-150	-0.0184792287658906
+-151	-0.0168571398090795
+-152	-0.0156376237363163
+-153	-0.0147405503105207
+-154	-0.0155752570759927
+-155	-0.0168091690226222
+-156	-0.0121055609701471
+-157	-0.0119152241705694
+-158	-0.0119692018483073
+-159	-0.0139405471343238
+-160	-0.0182047564679262
+-161	-0.0184815245671085
+-162	-0.0183316150688267
+-163	-0.016818527387266
+-164	-0.0172998927309072
+-165	-0.0124657171517376
+-166	-0.0142205952112049
+-167	-0.0114632791024164
+-168	-0.011221691825434
+-169	-0.00957685728179515
+-170	-0.0118576208768814
+-171	-0.0153568395493832
+-172	-0.0151309123215381
+-173	-0.0112872846794788
+-174	-0.0147612619416181
+-175	-0.0154278253183317
+-176	-0.017303559049782
+-177	-0.0182913411620323
+-178	-0.0177712913609271
+-179	-0.0155461026200739
+-180	-0.0145007758787646
+-181	-0.0144152256728993
+-182	-0.0107727311780094
+-183	-0.0119747664680712
+-184	-0.00882273326524172
+-185	0.298288232093739
+-186	0.504424933837681
+-187	-0.00805741122482888
+-188	-0.00961890557289795
+-189	-0.00944688808242372
+-190	-0.0119139223572203
+-191	-0.0124508210479303
+-192	-0.0127383878728495
+-193	-0.0140193628792942
+-194	-0.0170021455698375
+-195	-0.0164885587823976
+-196	-0.0148914800888949
+-197	-0.0140274704089252
+-198	-0.0131444255262164
+-199	-0.0142902568930679
+-200	-0.0126395509953569
+-201	-0.00514616330632373
+-202	-0.00425889059218646
+-203	-0.00870210148720889
+-204	-0.00484025498847868
+-205	-0.00794583465279226
+-206	-0.0116098809300245
+-207	-0.0102840248799257
+-208	-0.0140847096783508
+-209	-0.0161819274468977
+-210	-0.0172520609046289
+-211	-0.0165784733425168
+-212	-0.0171152877835852
+-213	-0.0173274798435417
+-214	-0.0172101117258917
+-215	-0.0170745436946526
+-216	-0.0166392767496565
+-217	-0.0113694394099134
+-218	-0.0105561014609266
+-219	-0.0105629655709691
+-220	-0.0125843349808509
+-221	-0.0169833235509721
+-222	-0.0165970567333725
+-223	-0.0169456130691041
+-224	-0.0161440375799497
+-225	-0.0149208783509213
+-226	-0.0127041663317928
+-227	-0.0111128965166982
+-228	-0.0107029810231524
+-229	-0.0101086923411873
+-230	-0.0118221345845309
+-231	-0.0102332052283776
+-232	-0.0142577541114976
+-233	-0.0140498538213083
+-234	-0.010942704916447
+-235	-0.0136212685457223
+-236	-0.0138034339481212
+-237	-0.0142845001756096
+-238	-0.0165754738828122
+-239	-0.0171898507581589
+-240	-0.0146271352439982
+-241	-0.0137790375298089
+-242	-0.0133917511680577
+-243	-0.0131288925890812
+-244	-0.0109685827301647
+-245	-0.0109244911317575
+-246	-0.0080777880722406
+-247	0.629508042863424
+-248	0.116751190107802
+-249	-0.00891172050628469
+-250	-0.0107100331770611
+-251	-0.00937995296389259
+-252	-0.0124380337244143
+-253	-0.0121281792844181
+-254	-0.0135654919014245
+-255	-0.0157362779934119
+-256	-0.0164366578243166
+-257	-0.0158700429675927
+-258	-0.0136292281849102
+-259	-0.0127546292697666
+-260	-0.0122591657651713
+-261	-0.0127690216839386
+-262	-0.00988530296069743
+-263	-0.00345655852423828
+-264	-0.00433593866795492
+-265	-0.00706082950577672
+-266	-0.00451315885069749
+-267	-0.00668518865876445
+-268	-0.00988046989504585
+-269	-0.0142752753866166
+-270	-0.0139256221754419
+-271	-0.0154989360192202
+-272	-0.0151674600751258
+-273	-0.0149460719819308
+-274	-0.0149332807768296
+-275	-0.0156711823892888
+-276	-0.0155655062141426
+-277	-0.0160655120365346
+-278	-0.0148872833405304
+-279	-0.00979872106668723
+-280	-0.00908095518721164
+-281	-0.00991496017614028
+-282	-0.0116461289373857
+-283	-0.0161876753215528
+-284	-0.0160928457909713
+-285	-0.0161826534411892
+-286	-0.0144074994368989
+-287	-0.0150828945998731
+-288	-0.0112888375805587
+-289	-0.01017522369822
+-290	-0.00930009208093838
+-291	-0.00867898201478243
+-292	-0.00724704290881507
+-293	-0.00975976377430877
+-294	-0.0136277415192816
+-295	-0.013064486102752
+-296	-0.00951242385528366
+-297	-0.0127976272170567
+-298	-0.0136452137191805
+-299	-0.0153115325990551
+-300	-0.0163644585755829
+-301	-0.0159743500315232
+-302	-0.0137072967343182
+-303	-0.0124465021916348
+-304	-0.0124687214149045
+-305	-0.00923829560254089
+-306	-0.0116586507911887
+-307	-0.0118002509969036
+-308	0.176862227601212
+-309	0.507428903450577
+-310	-0.00730757087579498
+-311	-0.00846216129742899
+-312	-0.0086945045504047
+-313	-0.011091656573089
+-314	-0.0114036881984761
+-315	-0.0114574795677765
+-316	-0.0125072909586858
+-317	-0.0147923369011883
+-318	-0.0139629326786614
+-319	-0.0118661842320723
+-320	-0.0108640634604502
+-321	-0.010582567791708
+-322	-0.0114105551744683
+-323	-0.0105534816285999
+-324	-0.00543143567377151
+-325	-0.00207879610778993
+-326	-0.00616628496249775
+-327	-0.00538988970591758
+-328	-0.0031888414219768
+-329	-0.00479592155107035
+-330	-0.00797063379731725
+-331	-0.011431205793035
+-332	-0.0133294486936305
+-333	-0.0147073192182352
+-334	-0.014038242930232
+-335	-0.0143451636631283
+-336	-0.0140952574704935
+-337	-0.0141886904764963
+-338	-0.0136754388417917
+-339	-0.0130591984480721
+-340	-0.00725308466960931
+-341	-0.00666308425269444
+-342	-0.00687998553665841
+-343	-0.00973374474504822
+-344	-0.0145448202812331
+-345	-0.0144458922456604
+-346	-0.0146115187586966
+-347	-0.0137964028516015
+-348	-0.0124149959973093
+-349	-0.0103171021174392
+-350	-0.00982139573529766
+-351	-0.0112899814813755
+-352	-0.0106130941986117
+-353	-0.0130952590767051
+-354	-0.0147157103352019
+-355	-0.0148442531106679
+-356	-0.0143141102828524
+-357	-0.0117602635999597
+-358	-0.013769448570632
+-359	-0.0143111324151261
+-360	-0.0143034333755129
+-361	-0.0145038145090546
+-362	-0.0142515435786701
+-363	-0.0119387033366702
+-364	-0.0110049806968185
+-365	-0.0105761121274039
+-366	-0.0104785382739133
+-367	-0.00944568136776289
+-368	-0.0114291935775792
+-369	-0.00879625572792011
+-370	0.438761037882253
+-371	0.179388282669024
+-372	-0.00564395369291442
+-373	-0.00796462420259203
+-374	-0.00642615015965443
+-375	-0.00989354521629732
+-376	-0.00988574813192154
+-377	-0.010723082658232
+-378	-0.0127986854912136
+-379	-0.0136055571418597
+-380	-0.0128927066034855
+-381	-0.0107658464618742
+-382	-0.00995213975574464
+-383	-0.00950294253792146
+-384	-0.00955020479384878
+-385	-0.00635693744222024
+-386	-0.000110105629481581
+-387	-0.00115234232053054
+-388	-0.00429086433256201
+-389	-0.00179503584405276
+-390	-0.00481498545647159
+-391	-0.00622514956456138
+-392	-0.0109222820132791
+-393	-0.0108955712556429
+-394	-0.0123614076397208
+-395	-0.0126411139244774
+-396	-0.0124467915001655
+-397	-0.0130137305814043
+-398	-0.0128228771923896
+-399	-0.0133955237199494
+-400	-0.0133849955851085
+-401	-0.0122588534660976
+-402	-0.00605726179970702
+-403	-0.00502476043379232
+-404	-0.00560189961426453
+-405	-0.0075065597345586
+-406	-0.0127782782962923
+-407	-0.0123644950908042
+-408	-0.0124232734011331
+-409	-0.0109783824772762
+-410	-0.0115303718379531
+-411	-0.00784267469552262
+-412	-0.00849462201372912
+-413	-0.00971386505469192
+-414	-0.00917632724668119
+-415	-0.0115816105603832
+-416	-0.0132376761929919
+-417	-0.0135661416672985
+-418	-0.0131585974552153
+-419	-0.009660405912689
+-420	-0.013055251783936
+-421	-0.0133821772767449
+-422	-0.0130499023401334
+-423	-0.0135178049026562
+-424	-0.0131069725662085
+-425	-0.0108380392131661
+-426	-0.00969469507043081
+-427	-0.00954426797454458
+-428	-0.00662684836615926
+-429	-0.00886476227407113
+-430	-0.00950496793349554
+-431	0.0516441983020747
+-432	0.49322914953269
+-433	-0.00439284173686481
+-434	-0.00627870269436533
+-435	-0.00627332941383523
+-436	-0.0081288435528136
+-437	-0.0083780008033963
+-438	-0.00862522210775739
+-439	-0.00957558038511007
+-440	-0.0117456231732853
+-441	-0.0115534470740916
+-442	-0.00933816760400665
+-443	-0.00879390501434828
+-444	-0.00845807802179637
+-445	-0.00898392178831317
+-446	-0.00828222615510185
+-447	-0.00430409141657551
+-448	0.00156457708563651
+-449	-0.00326984307949075
+-450	-0.00317159959830949
+-451	-0.000555487307447615
+-452	-0.00364382690619819
+-453	-0.0048566860611129
+-454	-0.00894018408715954
+-455	-0.0107486040996964
+-456	-0.0116685949740421
+-457	-0.0110016491468837
+-458	-0.0115059582687225
+-459	-0.0113472600167867
+-460	-0.0116171812940172
+-461	-0.0117282268858408
+-462	-0.0117299783690078
+-463	-0.010643752908432
+-464	-0.00459501012645056
+-465	-0.00453644637628407
+-466	-0.0046306868795152
+-467	-0.00635091362132938
+-468	-0.0110723370950498
+-469	-0.0112408403912337
+-470	-0.0111324401483636
+-471	-0.00982286064921767
+-472	-0.00975128137366522
+-473	-0.00628951348673262
+-474	-0.00786220555305698
+-475	-0.00721222723625666
+-476	-0.0090992927480125
+-477	-0.0111183444128793
+-478	-0.0113067097038558
+-479	-0.011160514456695
+-480	-0.0112090771926765
+-481	-0.00787638634175043
+-482	-0.0112615847473125
+-483	-0.011628136525895
+-484	-0.011622337861315
+-485	-0.0117577801145762
+-486	-0.0116192296501852
+-487	-0.0116776081404665
+-488	-0.0111121010572735
+-489	-0.0114339606683442
+-490	-0.00850048144220754
+-491	-0.00902076717194715
+-492	-0.00658807969775991
+-493	0.308280122150922
+-494	0.179904382021428
+-495	-0.00620246818692402
+-496	-0.00732155340431931
+-497	-0.00633028997310617
+-498	-0.00733583870036483
+-499	-0.00727032081926197
+-500	-0.008010509906149
+-501	-0.0104317034705988
+-502	-0.0108056052586449
+-503	-0.0101990692728759
+-504	-0.00818461307326559
+-505	-0.00749890086004878
+-506	-0.00705010773652864
+-507	-0.00756096305230179
+-508	-0.00672526873673494
+-509	0.00243080947177157
+-510	0.00196312027219733
+-511	-0.00235862710511876
+-512	0.000701377712459682
+-513	-0.00162314281016339
+-514	-0.00353069628359856
+-515	-0.00535592160011964
+-516	-0.009629255720372
+-517	-0.00984838119518035
+-518	-0.0101309734254507
+-519	-0.00965058701149376
+-520	-0.00979426033632281
+-521	-0.00938720368934997
+-522	-0.00970041415352301
+-523	-0.00945810455304286
+-524	-0.00835333695491461
+-525	-0.00280808168888623
+-526	-0.0018804910475821
+-527	-0.00249542031082639
+-528	-0.00423360594570751
+-529	-0.00881996119495001
+-530	-0.00884482660493057
+-531	-0.00893861689042032
+-532	-0.00886923400254016
+-533	-0.00998854214305494
+-534	-0.00781482686410285
+-535	-0.0048629430667884
+-536	-0.00625148660128163
+-537	-0.00591714866358709
+-538	-0.00819957670878541
+-539	-0.0104317069032842
+-540	-0.0106270020619331
+-541	-0.0104145097418402
+-542	-0.00717985135988735
+-543	-0.0101615859824435
+-544	-0.0104518334037382
+-545	-0.0100972729943529
+-546	-0.0104524105955466
+-547	-0.0103545229187737
+-548	-0.0101624037567498
+-549	-0.0100186657519469
+-550	-0.0099303685542785
+-551	-0.00989811608443676
+-552	-0.00956029844279647
+-553	-0.00987970559123677
+-554	-0.00776430984790597
+-555	0.433831953345655
+-556	-0.00507447586044935
+-557	-0.00562849792786146
+-558	-0.00769600508140686
+-559	-0.00901860581255264
+-560	-0.00910092607595847
+-561	-0.00887368633065391
+-562	-0.00919143351659684
+-563	-0.00919246832815283
+-564	-0.008693156564635
+-565	-0.00662529921447376
+-566	-0.00607353164847735
+-567	-0.00581991561933677
+-568	-0.00632678279589719
+-569	-0.00589706554542697
+-570	-0.00209808022849792
+-571	0.00411078303934323
+-572	-0.000550094449704642
+-573	-0.000635669377549439
+-574	0.00207348794440178
+-575	-0.000652521824982924
+-576	-0.00515463244200143
+-577	-0.00805160292500236
+-578	-0.00758462894007334
+-579	-0.00865860296291249
+-580	-0.00829675359569146
+-581	-0.0086341327011501
+-582	-0.0083284907763213
+-583	-0.00874191010292116
+-584	-0.00870026046977296
+-585	-0.00874342968783533
+-586	-0.00782090704127864
+-587	-0.00226753389792357
+-588	-0.00233729750931911
+-589	-0.00253165604475073
+-590	-0.00420974711192665
+-591	-0.00876258732479398
+-592	-0.00860694373819948
+-593	-0.00860741436892977
+-594	-0.0083641380851702
+-595	-0.00895178779353354
+-596	-0.00556499426763376
+-597	-0.00484682362918658
+-598	-0.00431757566397834
+-599	-0.00499416642389915
+-600	-0.0069669589511167
+-601	-0.00890645540721195
+-602	-0.00886958918530451
+-603	-0.00887658861258958
+-604	-0.00581930809163898
+-605	-0.00874979775103718
+-606	-0.00880186470377256
+-607	-0.0082818394785986
+-608	-0.00853275083442652
+-609	-0.00830191068093658
+-610	-0.00821443778904117
+-611	-0.00784238482387328
+-612	-0.0079414174200303
+-613	-0.00783383912859581
+-614	-0.00787555505012593
+-615	-0.00665499786835605
+-616	0.176487627240953
+-617	0.182522618275643
+-618	-0.00369616845832028
+-619	-0.00629001903058491
+-620	-0.0075473564025736
+-621	-0.00792057625851698
+-622	-0.00782303511234032
+-623	-0.00755843668657251
+-624	-0.00792883379421707
+-625	-0.00821060913555977
+-626	-0.00741039814688092
+-627	-0.00537210505585104
+-628	-0.00495675282893683
+-629	-0.00433218280972181
+-630	-0.00535942261482297
+-631	-0.00418008644241062
+-632	0.00339696969399508
+-633	0.00414508932380595
+-634	-0.000193158774272635
+-635	0.00259164894888744
+-636	0.000223760303507433
+-637	-0.00430196126108769
+-638	-0.00456371747951704
+-639	-0.00736903921601653
+-640	-0.00712023652975677
+-641	-0.0075278214202441
+-642	-0.00720130207341965
+-643	-0.00737872965783862
+-644	-0.00699531188368127
+-645	-0.00746073468584514
+-646	-0.00732625819637498
+-647	-0.00635877618822083
+-648	-0.000793999038955055
+-649	-8.0164531740219e-05
+-650	-0.000446668232184141
+-651	-0.00235908247044392
+-652	-0.00713214115663551
+-653	-0.00713237034121296
+-654	-0.00694174474662415
+-655	-0.00660829668781119
+-656	-0.00716164439750203
+-657	-0.00538381268641803
+-658	-0.00345728430157964
+-659	-0.0033493822325227
+-660	-0.00308002139612534
+-661	-0.00485508307526379
+-662	-0.00689806029174172
+-663	-0.00725543105565978
+-664	-0.00698203515046677
+-665	-0.0036867796009008
+-666	-0.00651046025528584
+-667	-0.0064253977689179
+-668	-0.00603538702792052
+-669	-0.00663542008142919
+-670	-0.00686564183730989
+-671	-0.007061940627829
+-672	-0.00723724969313594
+-673	-0.00690352936553413
+-674	-0.00708800826417091
+-675	-0.0068488351807369
+-676	-0.00697588236069582
+-677	-0.00489382754866038
+-678	0.293679681878456
+-679	-0.00217575247097526
+-680	-0.00251980831108943
+-681	-0.00469346437639234
+-682	-0.00602274026620383
+-683	-0.00613736008179977
+-684	-0.00587828046880654
+-685	-0.00631371498944638
+-686	-0.00631120094430527
+-687	-0.00664034373839927
+-688	-0.0065666129986998
+-689	-0.0067007590666881
+-690	-0.00636748542215835
+-691	-0.00656138473046679
+-692	-0.00601000081275883
+-693	-0.0026357408923799
+-694	-0.000456498707602518
+-695	-0.0016897260544663
+-696	-0.00129952239659223
+-697	0.00153196218519829
+-698	0.000970496676276022
+-699	-0.00251269063690647
+-700	-0.00524088068527027
+-701	-0.00518392957419252
+-702	-0.00545009901887635
+-703	-0.00523471171454499
+-704	-0.00546688754012952
+-705	-0.00514683356691874
+-706	-0.00558347319397717
+-707	-0.00550031695581813
+-708	-0.00556266938963792
+-709	-0.00450101319069993
+-710	0.000877138356826208
+-711	0.00114849594155746
+-712	0.00116701578333245
+-713	-0.000552903676364493
+-714	-0.0051532107788052
+-715	-0.00508271809802478
+-716	-0.00497444873496618
+-717	-0.00492017832252063
+-718	-0.00541639497149525
+-719	-0.00390291948630837
+-720	-0.00239018748643075
+-721	-0.00232508546653691
+-722	-0.00238990898592966
+-723	-0.00406012905361738
+-724	-0.00582934957876193
+-725	-0.00577054545061284
+-726	-0.00588044486012239
+-727	-0.00321173514726905
+-728	-0.00576676030640332
+-729	-0.00581363201901516
+-730	-0.0056403530033928
+-731	-0.00588225715878274
+-732	-0.00580726160331349
+-733	-0.00584418671281739
+-734	-0.00551263103237493
+-735	-0.00574673916997464
+-736	-0.00550923727010732
+-737	-0.00564351841421052
+-738	-0.00461818807132501
+-739	0.114369039955867
+-740	0.113874088642992
+-741	-0.00428093342498865
+-742	-0.00466682336739501
+-743	-0.00457646329947025
+-744	-0.00489743453576601
+-745	-0.00478667563624186
+-746	-0.00478604895368296
+-747	-0.00490784598204448
+-748	-0.00514403999502352
+-749	-0.00513630650904552
+-750	-0.00518918499122095
+-751	-0.00520548675089309
+-752	-0.00507998628564919
+-753	-0.00523911370578295
+-754	-0.00411076499229555
+-755	-0.000110526273692137
+-756	-6.97046088930254e-05
+-757	-0.000654613465091875
+-758	0.00250880368745154
+-759	0.00224241061455796
+-760	-0.00127852637176592
+-761	-0.00157811331971793
+-762	-0.00436060574090802
+-763	-0.00420211405494215
+-764	-0.00448393259372739
+-765	-0.00432404767220953
+-766	-0.00453637743990225
+-767	-0.0044808869432662
+-768	-0.00464814288481283
+-769	-0.00453419455157583
+-770	-0.00369714822055501
+-771	0.00151504237188244
+-772	0.00179518632309489
+-773	0.001877255156902
+-774	-5.89581979368288e-06
+-775	-0.00470919317381923
+-776	-0.00458472486731563
+-777	-0.00444898240381536
+-778	-0.00416698542857512
+-779	-0.00466136770411855
+-780	-0.00300892846748779
+-781	-0.00124674831643176
+-782	-0.00133718137527554
+-783	-0.00138860486323427
+-784	-0.00288124092405525
+-785	-0.00481691924321098
+-786	-0.00486161642251353
+-787	-0.00471484323647818
+-788	-0.00221399725838215
+-789	-0.00461120524247493
+-790	-0.00490984409593776
+-791	-0.00458164873735298
+-792	-0.00500568265157337
+-793	-0.00490456309124687
+-794	-0.00492264602032272
+-795	-0.00479512401393326
+-796	-0.00461122828156398
+-797	-0.00469058713813641
+-798	-0.00454741240404029
+-799	-0.00452098615172967
+-800	-0.00315464001423668
+-801	0.176647243851048
+-802	-0.00310821457329599
+-803	-0.00336871130300844
+-804	-0.00334712545163953
+-805	-0.00333048116128302
+-806	-0.00340010988805163
+-807	-0.00329002162318321
+-808	-0.00389183721144577
+-809	-0.003901676075626
+-810	-0.00414870722240944
+-811	-0.0042711605574371
+-812	-0.00421188870174774
+-813	-0.00414929847217633
+-814	-0.00411313613833283
+-815	-0.00371760367608498
+-816	-0.000349935639289262
+-817	0.00180273856524285
+-818	0.000409396862338841
+-819	0.000734497343308131
+-820	0.00357982919909658
+-821	0.00303969865706741
+-822	-0.000471276008475531
+-823	-0.00316577242759788
+-824	-0.00325311026089004
+-825	-0.00334640971609744
+-826	-0.00347090142695205
+-827	-0.00347282859499611
+-828	-0.00359181895609804
+-829	-0.00354380245119079
+-830	-0.0035817065706009
+-831	-0.00354789086207514
+-832	-0.0033749175776577
+-833	-0.000494214343391087
+-834	-0.000251455009457498
+-835	-1.57658927165261e-05
+-836	-0.000109367762943036
+-837	-0.00314845093040657
+-838	-0.00309137992026045
+-839	-0.00318781326315422
+-840	-0.00286403779926594
+-841	-0.00342399488914169
+-842	-0.00153873408849432
+-843	0.000122565876620567
+-844	-1.39442056199256e-05
+-845	-8.34506223344456e-06
+-846	-0.00166426373161533
+-847	-0.0033554053632988
+-848	-0.00333776480910794
+-849	-0.00310606886442986
+-850	-0.00260312208985637
+-851	-0.00283750216949298
+-852	-0.00285757048464359
+-853	-0.00279461193366553
+-854	-0.00292497054991065
+-855	-0.00301956311195488
+-856	-0.00315103554002891
+-857	-0.00317407494144514
+-858	-0.00344006955591978
+-859	-0.00328324564157648
+-860	-0.00336672245209469
+-861	-0.00320070783993313
+-862	0.0571143000302908
+-863	0.0581421535264736
+-864	-0.0023646349129562
+-865	-0.00248000937790515
+-866	-0.00253895254011341
+-867	-0.00263523871798653
+-868	-0.00263848242276221
+-869	-0.00242543818411627
+-870	-0.00273912401905961
+-871	-0.00279476040899776
+-872	-0.00276176065666512
+-873	-0.00287486997075063
+-874	-0.00286611281167776
+-875	-0.00273356872691796
+-876	-0.00288780319152133
+-877	-0.002745393856585
+-878	-0.00110006883426424
+-879	-0.00137915534327329
+-880	-0.00167310911091998
+-881	-0.00155747103077571
+-882	-0.00146093482278994
+-883	-0.00154136929877317
+-884	-0.00153121465319545
+-885	-0.00155953620814648
+-886	-0.00144267681269488
+-887	-0.00161412167459229
+-888	-0.00163145566649099
+-889	-0.00167029505161209
+-890	-0.0016373144133233
+-891	-0.00175124070416498
+-892	-0.00167165052115149
+-893	-0.00171108984754183
+-894	0.00117838884322948
+-895	0.00144758999216869
+-896	0.00151805445737221
+-897	0.00143935117483618
+-898	-0.00186099280431895
+-899	-0.00179654067064747
+-900	-0.00179116042661383
+-901	-0.00142755861186833
+-902	-0.00186611279612203
+-903	-0.000162622805446086
+-904	0.00152056201372212
+-905	0.0013706788122524
+-906	0.00143726069429263
+-907	-0.000252329857205533
+-908	-0.00193352667375601
+-909	-0.00209884306201327
+-910	-0.00202064054439592
+-911	-0.00173618259943807
+-912	-0.00205445430329035
+-913	-0.00214780602120254
+-914	-0.00196595166631794
+-915	-0.00219157283133128
+-916	-0.00212894079242623
+-917	-0.00207889032650752
+-918	-0.00219841623335388
+-919	-0.00205620493282394
+-920	-0.00208349802201294
+-921	-0.001893539445651
+-922	-0.00194526313087232
+-923	-0.00168643075330111
+-924	0.0586998178531413
+-925	-0.000911884922536993
+-926	-0.00117572577102972
+-927	-0.00129923545036716
+-928	-0.00118465790078785
+-929	-0.00132314491365947
+-930	-0.00127160006680386
+-931	-0.00138439529549555
+-932	-0.00129787510221711
+-933	-0.00144993779770551
+-934	-0.001425792453437
+-935	-0.0014496057960256
+-936	-0.00119586479826629
+-937	-0.000922564261699133
+-938	-0.000922740892289067
+-939	-0.000848528386538916
+-940	0.00175174402948496
+-941	0.000128892409261148
+-942	-0.000419829894278227
+-943	-0.000466898563936845
+-944	-0.00047122376341752
+-945	-0.000471416288654379
+-946	-0.000513935965825421
+-947	-0.000572116986488244
+-948	-0.000449041074008682
+-949	-0.000574563662818422
+-950	-0.000610788790280961
+-951	-0.000662270176313313
+-952	-0.000642471283187866
+-953	-0.000686357192098764
+-954	-0.000680811112666425
+-955	-0.000667897583364248
+-956	0.00217250089025851
+-957	0.00241500705227074
+-958	0.00258713826301258
+-959	0.0024109350186895
+-960	-0.000776314155991479
+-961	-0.00084983870235422
+-962	-0.000772678557610008
+-963	-0.000413064616358682
+-964	-0.000839502130396645
+-965	-0.000791381040363275
+-966	-0.00077040262869677
+-967	-0.000754568976269093
+-968	-0.000450602414219829
+-969	-0.000688212102427542
+-970	-0.0007167932903372
+-971	-0.000785852386158499
+-972	-0.000722306234880277
+-973	-0.000324661092143018
+-974	-0.000653202791545457
+-975	-0.000633458113878451
+-976	-0.000607853671870952
+-977	-0.000679470747639321
+-978	-0.000681703637956587
+-979	-0.000664738980547628
+-980	-0.000722422330407423
+-981	-0.000669373102929127
+-982	-0.000718387488703849
+-983	-0.000712032436105745
+-984	-0.000590219813904669
+-985	-0.000416669360601081
+-986	0.000288888405178535
+-987	0.000270024550156701
+-988	0.000249840739788964
+-989	0.000235694503184828
+-990	0.000215798850441515
+-991	0.00019492814388371
+-992	0.000175357251222976
+-993	0.000153462442160884
+-994	0.000132677328666247
+-995	0.000111945810591477
+-996	9.04814593951449e-05
+-997	7.02106833140884e-05
+-998	5.0145189268859e-05
+-999	3.05214189890438e-05
+diff --git a/lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_fast.dat b/lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_fast.dat
+deleted file mode 100644
+index 7df4c82..0000000
+--- a/lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_fast.dat
++++ /dev/null
+@@ -1,1001 +0,0 @@
+-#scatter	real	total	user	system	repeat
+-1	0.00156402587890625	0.0	0.0	0.0	1
+-2	0.00149393081665039	0.0	0.0	0.0	2
+-3	0.00144386291503906	0.0	0.0	0.0	3
+-4	0.0014338493347168	0.00999999999999979	0.00999999999999979	0.0	4
+-5	0.00144386291503906	0.0	0.0	0.0	5
+-6	0.00141716003417969	0.0	0.0	0.0	6
+-7	0.00143003463745117	0.0	0.0	0.0	7
+-8	0.0014190673828125	0.0	0.0	0.0	8
+-9	0.00141215324401855	0.0	0.0	0.0	9
+-10	0.00143003463745117	0.0	0.0	0.0	10
+-11	0.00141310691833496	0.0100000000000007	0.0100000000000002	0.0	11
+-12	0.0014190673828125	0.0	0.0	0.0	12
+-13	0.00155305862426758	0.0	0.0	0.0	13
+-14	0.00142192840576172	0.0	0.0	0.0	14
+-15	0.00141000747680664	0.0	0.0	0.0	15
+-16	0.00142812728881836	0.0	0.0	0.0	16
+-17	0.00143098831176758	0.0	0.0	0.0	17
+-18	0.00151705741882324	0.00999999999999979	0.00999999999999979	0.0	18
+-19	0.00141406059265137	0.0	0.0	0.0	19
+-20	0.0014197826385498	0.0	0.0	0.0	20
+-21	0.00142383575439453	0.0	0.0	0.0	21
+-22	0.00141191482543945	0.0	0.0	0.0	22
+-23	0.00156402587890625	0.0	0.0	0.0	23
+-24	0.00142812728881836	0.00999999999999979	0.00999999999999979	0.0	24
+-25	0.00139307975769043	0.0	0.0	0.0	25
+-26	0.00141000747680664	0.0	0.0	0.0	26
+-27	0.00255894660949707	0.0	0.0	0.0	27
+-28	0.00261497497558594	0.0	0.0	0.0	28
+-29	0.00254607200622559	0.00999999999999979	0.00999999999999979	0.0	29
+-30	0.00245094299316406	0.0	0.0	0.0	30
+-31	0.00142312049865723	0.0	0.0	0.0	31
+-32	0.00141000747680664	0.0	0.0	0.0	32
+-33	0.00139904022216797	0.0	0.0	0.0	33
+-34	0.00141096115112305	0.0	0.0	0.0	34
+-35	0.00139689445495605	0.0100000000000007	0.0100000000000007	0.0	35
+-36	0.00140500068664551	0.0	0.0	0.0	36
+-37	0.00140786170959473	0.0	0.0	0.0	37
+-38	0.00144600868225098	0.0	0.0	0.0	38
+-39	0.00139689445495605	0.0	0.0	0.0	39
+-40	0.00140810012817383	0.0	0.0	0.0	40
+-41	0.00141406059265137	0.0	0.0	0.0	41
+-42	0.00140595436096191	0.00999999999999979	0.00999999999999979	0.0	42
+-43	0.00140094757080078	0.0	0.0	0.0	43
+-44	0.00138092041015625	0.0	0.0	0.0	44
+-45	0.00151491165161133	0.0	0.0	0.0	45
+-46	0.00203394889831543	0.0	0.0	0.0	46
+-47	0.00142693519592285	0.0	0.0	0.0	47
+-48	0.00138998031616211	0.00999999999999979	0.00999999999999979	0.0	48
+-49	0.00144696235656738	0.0	0.0	0.0	49
+-50	0.00140500068664551	0.0	0.0	0.0	50
+-51	0.00138998031616211	0.0	0.0	0.0	51
+-52	0.00141000747680664	0.0	0.0	0.0	52
+-53	0.00139188766479492	0.0	0.0	0.0	53
+-54	0.00142598152160645	0.0	0.0	0.0	54
+-55	0.00141406059265137	0.00999999999999979	0.00999999999999979	0.0	55
+-56	0.00139594078063965	0.0	0.0	0.0	56
+-57	0.00139284133911133	0.0	0.0	0.0	57
+-58	0.00141692161560059	0.0	0.0	0.0	58
+-59	0.00140810012817383	0.0	0.0	0.0	59
+-60	0.00141215324401855	0.0	0.0	0.0	60
+-61	0.00145602226257324	0.0	0.0	0.0	61
+-62	0.0231201648712158	0.0300000000000002	0.0300000000000002	0.0	62
+-63	0.0014808177947998	0.0	0.0	0.0	63
+-64	0.00142788887023926	0.0	0.0	0.0	64
+-65	0.00147199630737305	0.0	0.0	0.0	65
+-66	0.00143098831176758	0.0	0.0	0.0	66
+-67	0.00142908096313477	0.0	0.0	0.0	67
+-68	0.00142097473144531	0.00999999999999979	0.00999999999999979	0.0	68
+-69	0.00142598152160645	0.0	0.0	0.0	69
+-70	0.00142812728881836	0.0	0.0	0.0	70
+-71	0.00140595436096191	0.0	0.0	0.0	71
+-72	0.00142288208007812	0.0	0.0	0.0	72
+-73	0.00140810012817383	0.0	0.0	0.0	73
+-74	0.00141692161560059	0.0	0.0	0.0	74
+-75	0.00140786170959473	0.0100000000000007	0.0100000000000007	0.0	75
+-76	0.00142312049865723	0.0	0.0	0.0	76
+-77	0.00140213966369629	0.0	0.0	0.0	77
+-78	0.00140500068664551	0.0	0.0	0.0	78
+-79	0.00141096115112305	0.0	0.0	0.0	79
+-80	0.00141406059265137	0.0	0.0	0.0	80
+-81	0.00141310691833496	0.0	0.0	0.0	81
+-82	0.00140905380249023	0.00999999999999979	0.00999999999999979	0.0	82
+-83	0.00140190124511719	0.0	0.0	0.0	83
+-84	0.00140881538391113	0.0	0.0	0.0	84
+-85	0.00141191482543945	0.0	0.0	0.0	85
+-86	0.00141406059265137	0.0	0.0	0.0	86
+-87	0.00142097473144531	0.0	0.0	0.0	87
+-88	0.0013890266418457	0.0	0.0	0.0	88
+-89	0.00141406059265137	0.00999999999999979	0.00999999999999979	0.0	89
+-90	0.00139498710632324	0.0	0.0	0.0	90
+-91	0.00141286849975586	0.0	0.0	0.0	91
+-92	0.00141096115112305	0.0	0.0	0.0	92
+-93	0.00140190124511719	0.0	0.0	0.0	93
+-94	0.00141501426696777	0.0	0.0	0.0	94
+-95	0.0013880729675293	0.0	0.0	0.0	95
+-96	0.00140595436096191	0.00999999999999979	0.00999999999999979	0.0	96
+-97	0.00140213966369629	0.0	0.0	0.0	97
+-98	0.0014040470123291	0.0	0.0	0.0	98
+-99	0.00140500068664551	0.0	0.0	0.0	99
+-100	0.00141501426696777	0.0	0.0	0.0	100
+-101	0.00141119956970215	0.0	0.0	0.0	101
+-102	0.00139808654785156	0.0	0.0	0.0	102
+-103	0.00141000747680664	0.0	0.0	0.0	103
+-104	0.00137805938720703	0.0	0.0	0.0	104
+-105	0.00139307975769043	0.0	0.0	0.0	105
+-106	0.00139594078063965	0.0	0.0	0.0	106
+-107	0.00138688087463379	0.0	0.0	0.0	107
+-108	0.00140810012817383	0.0	0.0	0.0	108
+-109	0.00140094757080078	0.00999999999999979	0.00999999999999979	0.0	109
+-110	0.00139999389648438	0.0	0.0	0.0	110
+-111	0.00139808654785156	0.0	0.0	0.0	111
+-112	0.00141096115112305	0.0	0.0	0.0	112
+-113	0.00139212608337402	0.0	0.0	0.0	113
+-114	0.00142288208007812	0.0	0.0	0.0	114
+-115	0.00139188766479492	0.0	0.0	0.0	115
+-116	0.00140810012817383	0.00999999999999979	0.00999999999999979	0.0	116
+-117	0.00147700309753418	0.0	0.0	0.0	117
+-118	0.00140810012817383	0.0	0.0	0.0	118
+-119	0.0014030933380127	0.0	0.0	0.0	119
+-120	0.00142097473144531	0.0	0.0	0.0	120
+-121	0.00140213966369629	0.0	0.0	0.0	121
+-122	0.00139689445495605	0.0	0.0	0.0	122
+-123	0.0233688354492188	0.0300000000000002	0.0300000000000002	0.0	123
+-124	0.0014951229095459	0.0	0.0	0.0	124
+-125	0.00143909454345703	0.0	0.0	0.0	125
+-126	0.00145697593688965	0.0	0.0	0.0	126
+-127	0.00147509574890137	0.0	0.0	0.0	127
+-128	0.00142598152160645	0.0	0.0	0.0	128
+-129	0.00143003463745117	0.00999999999999979	0.00999999999999979	0.0	129
+-130	0.00141477584838867	0.0	0.0	0.0	130
+-131	0.00142502784729004	0.0	0.0	0.0	131
+-132	0.00140786170959473	0.0	0.0	0.0	132
+-133	0.00141310691833496	0.0	0.0	0.0	133
+-134	0.00141000747680664	0.0	0.0	0.0	134
+-135	0.00141501426696777	0.00999999999999979	0.00999999999999979	0.0	135
+-136	0.00141501426696777	0.0	0.0	0.0	136
+-137	0.0014190673828125	0.0	0.0	0.0	137
+-138	0.00140500068664551	0.0	0.0	0.0	138
+-139	0.00140595436096191	0.0	0.0	0.0	139
+-140	0.00143909454345703	0.0	0.0	0.0	140
+-141	0.00140094757080078	0.0	0.0	0.0	141
+-142	0.00142407417297363	0.0100000000000007	0.0100000000000007	0.0	142
+-143	0.00141406059265137	0.0	0.0	0.0	143
+-144	0.00142002105712891	0.0	0.0	0.0	144
+-145	0.00140094757080078	0.0	0.0	0.0	145
+-146	0.00140690803527832	0.0	0.0	0.0	146
+-147	0.0014188289642334	0.0	0.0	0.0	147
+-148	0.00142002105712891	0.0	0.0	0.0	148
+-149	0.00139808654785156	0.00999999999999979	0.00999999999999979	0.0	149
+-150	0.00139594078063965	0.0	0.0	0.0	150
+-151	0.00140285491943359	0.0	0.0	0.0	151
+-152	0.0013880729675293	0.0	0.0	0.0	152
+-153	0.00139498710632324	0.0	0.0	0.0	153
+-154	0.0014040470123291	0.0	0.0	0.0	154
+-155	0.0014040470123291	0.0	0.0	0.0	155
+-156	0.00140094757080078	0.00999999999999979	0.00999999999999979	0.0	156
+-157	0.0014030933380127	0.0	0.0	0.0	157
+-158	0.00138711929321289	0.0	0.0	0.0	158
+-159	0.00139999389648438	0.0	0.0	0.0	159
+-160	0.00140595436096191	0.0	0.0	0.0	160
+-161	0.00139689445495605	0.0	0.0	0.0	161
+-162	0.00141000747680664	0.0	0.0	0.0	162
+-163	0.00140094757080078	0.00999999999999979	0.00999999999999979	0.0	163
+-164	0.00140905380249023	0.0	0.0	0.0	164
+-165	0.00251889228820801	0.0	0.0	0.0	165
+-166	0.00264787673950195	0.0	0.0	0.0	166
+-167	0.00169110298156738	0.0	0.0	0.0	167
+-168	0.00159692764282227	0.00999999999999979	0.00999999999999979	0.0	168
+-169	0.00142788887023926	0.0	0.0	0.0	169
+-170	0.00155997276306152	0.0	0.0	0.0	170
+-171	0.00141811370849609	0.0	0.0	0.0	171
+-172	0.00139784812927246	0.0	0.0	0.0	172
+-173	0.00142884254455566	0.0	0.0	0.0	173
+-174	0.00139999389648438	0.0	0.0	0.0	174
+-175	0.00139784812927246	0.0100000000000007	0.0100000000000007	0.0	175
+-176	0.00139999389648438	0.0	0.0	0.0	176
+-177	0.00145101547241211	0.0	0.0	0.0	177
+-178	0.00141716003417969	0.0	0.0	0.0	178
+-179	0.00143289566040039	0.0	0.0	0.0	179
+-180	0.00141310691833496	0.0	0.0	0.0	180
+-181	0.00141406059265137	0.0	0.0	0.0	181
+-182	0.00141406059265137	0.0	0.0	0.0	182
+-183	0.00141310691833496	0.0	0.0	0.0	183
+-184	0.00140595436096191	0.0	0.0	0.0	184
+-185	0.0231029987335205	0.0199999999999996	0.0199999999999996	0.0	185
+-186	0.00171899795532227	0.0	0.0	0.0	186
+-187	0.00143694877624512	0.0100000000000007	0.0100000000000007	0.0	187
+-188	0.00144410133361816	0.0	0.0	0.0	188
+-189	0.00142693519592285	0.0	0.0	0.0	189
+-190	0.00143599510192871	0.0	0.0	0.0	190
+-191	0.00142097473144531	0.0	0.0	0.0	191
+-192	0.00142979621887207	0.0	0.0	0.0	192
+-193	0.00142502784729004	0.0	0.0	0.0	193
+-194	0.00142002105712891	0.00999999999999979	0.00999999999999979	0.0	194
+-195	0.00142908096313477	0.0	0.0	0.0	195
+-196	0.00141191482543945	0.0	0.0	0.0	196
+-197	0.00141382217407227	0.0	0.0	0.0	197
+-198	0.00141191482543945	0.0	0.0	0.0	198
+-199	0.00143718719482422	0.0	0.0	0.0	199
+-200	0.00141096115112305	0.0	0.0	0.0	200
+-201	0.00142407417297363	0.00999999999999979	0.00999999999999979	0.0	201
+-202	0.00146198272705078	0.0	0.0	0.0	202
+-203	0.00143194198608398	0.0	0.0	0.0	203
+-204	0.00138998031616211	0.0	0.0	0.0	204
+-205	0.00140595436096191	0.0	0.0	0.0	205
+-206	0.00142097473144531	0.0	0.0	0.0	206
+-207	0.00141787528991699	0.00999999999999979	0.00999999999999979	0.0	207
+-208	0.00145101547241211	0.0	0.0	0.0	208
+-209	0.00143909454345703	0.0	0.0	0.0	209
+-210	0.00141215324401855	0.0	0.0	0.0	210
+-211	0.00140094757080078	0.0	0.0	0.0	211
+-212	0.0014030933380127	0.0	0.0	0.0	212
+-213	0.00140595436096191	0.0	0.0	0.0	213
+-214	0.00143194198608398	0.0100000000000007	0.0100000000000007	0.0	214
+-215	0.00139999389648438	0.0	0.0	0.0	215
+-216	0.00140786170959473	0.0	0.0	0.0	216
+-217	0.00141501426696777	0.0	0.0	0.0	217
+-218	0.00139904022216797	0.0	0.0	0.0	218
+-219	0.00141310691833496	0.0	0.0	0.0	219
+-220	0.00140786170959473	0.0	0.0	0.0	220
+-221	0.00146889686584473	0.00999999999999979	0.00999999999999979	0.0	221
+-222	0.00139880180358887	0.0	0.0	0.0	222
+-223	0.00141501426696777	0.0	0.0	0.0	223
+-224	0.00139808654785156	0.0	0.0	0.0	224
+-225	0.00140690803527832	0.0	0.0	0.0	225
+-226	0.00140500068664551	0.0	0.0	0.0	226
+-227	0.00139713287353516	0.0	0.0	0.0	227
+-228	0.00139498710632324	0.00999999999999979	0.00999999999999979	0.0	228
+-229	0.00141000747680664	0.0	0.0	0.0	229
+-230	0.00139284133911133	0.0	0.0	0.0	230
+-231	0.00140690803527832	0.0	0.0	0.0	231
+-232	0.0014040470123291	0.0	0.0	0.0	232
+-233	0.00137710571289062	0.0	0.0	0.0	233
+-234	0.00140595436096191	0.0	0.0	0.0	234
+-235	0.00137901306152344	0.0	0.0	0.0	235
+-236	0.00143909454345703	0.00999999999999979	0.00999999999999979	0.0	236
+-237	0.00138688087463379	0.0	0.0	0.0	237
+-238	0.00141811370849609	0.0	0.0	0.0	238
+-239	0.00141406059265137	0.0	0.0	0.0	239
+-240	0.00139284133911133	0.0	0.0	0.0	240
+-241	0.0014188289642334	0.0	0.0	0.0	241
+-242	0.0013878345489502	0.0	0.0	0.0	242
+-243	0.00142407417297363	0.0100000000000007	0.0100000000000007	0.0	243
+-244	0.00141000747680664	0.0	0.0	0.0	244
+-245	0.00146222114562988	0.0	0.0	0.0	245
+-246	0.0225439071655273	0.0199999999999996	0.0199999999999996	0.0	246
+-247	0.00150012969970703	0.0	0.0	0.0	247
+-248	0.00144600868225098	0.0	0.0	0.0	248
+-249	0.00144791603088379	0.0	0.0	0.0	249
+-250	0.00143003463745117	0.0	0.0	0.0	250
+-251	0.00143313407897949	0.0	0.0	0.0	251
+-252	0.00141406059265137	0.0	0.0	0.0	252
+-253	0.00143194198608398	0.0	0.0	0.0	253
+-254	0.00141596794128418	0.0	0.0	0.0	254
+-255	0.00141811370849609	0.0	0.0	0.0	255
+-256	0.00142002105712891	0.0100000000000007	0.0100000000000007	0.0	256
+-257	0.0014190673828125	0.0	0.0	0.0	257
+-258	0.00141000747680664	0.0	0.0	0.0	258
+-259	0.00142097473144531	0.0	0.0	0.0	259
+-260	0.00142192840576172	0.0	0.0	0.0	260
+-261	0.00141096115112305	0.0	0.0	0.0	261
+-262	0.00141215324401855	0.0	0.0	0.0	262
+-263	0.00141501426696777	0.00999999999999979	0.00999999999999979	0.0	263
+-264	0.00141096115112305	0.0	0.0	0.0	264
+-265	0.00140213966369629	0.0	0.0	0.0	265
+-266	0.00142192840576172	0.0	0.0	0.0	266
+-267	0.0014030933380127	0.0	0.0	0.0	267
+-268	0.00141596794128418	0.0	0.0	0.0	268
+-269	0.00141000747680664	0.0	0.0	0.0	269
+-270	0.00141406059265137	0.00999999999999979	0.00999999999999979	0.0	270
+-271	0.00140810012817383	0.0	0.0	0.0	271
+-272	0.00141215324401855	0.0	0.0	0.0	272
+-273	0.00139999389648438	0.0	0.0	0.0	273
+-274	0.00139093399047852	0.0	0.0	0.0	274
+-275	0.00149083137512207	0.0	0.0	0.0	275
+-276	0.00139594078063965	0.0	0.0	0.0	276
+-277	0.00141191482543945	0.00999999999999979	0.00999999999999979	0.0	277
+-278	0.0013887882232666	0.0	0.0	0.0	278
+-279	0.00141382217407227	0.0	0.0	0.0	279
+-280	0.0014030933380127	0.0	0.0	0.0	280
+-281	0.00141787528991699	0.0	0.0	0.0	281
+-282	0.0014030933380127	0.0	0.0	0.0	282
+-283	0.00140714645385742	0.0100000000000007	0.0100000000000007	0.0	283
+-284	0.00139999389648438	0.0	0.0	0.0	284
+-285	0.00139904022216797	0.0	0.0	0.0	285
+-286	0.00141000747680664	0.0	0.0	0.0	286
+-287	0.00139498710632324	0.0	0.0	0.0	287
+-288	0.00140500068664551	0.0	0.0	0.0	288
+-289	0.00140810012817383	0.0	0.0	0.0	289
+-290	0.00141096115112305	0.00999999999999979	0.00999999999999979	0.0	290
+-291	0.0014030933380127	0.0	0.0	0.0	291
+-292	0.00141692161560059	0.0	0.0	0.0	292
+-293	0.00140786170959473	0.0	0.0	0.0	293
+-294	0.00140810012817383	0.0	0.0	0.0	294
+-295	0.00141000747680664	0.0	0.0	0.0	295
+-296	0.00139212608337402	0.0	0.0	0.0	296
+-297	0.00141406059265137	0.0	0.0	0.0	297
+-298	0.0013890266418457	0.00999999999999979	0.00999999999999979	0.0	298
+-299	0.00141096115112305	0.0	0.0	0.0	299
+-300	0.00139379501342773	0.0	0.0	0.0	300
+-301	0.00141501426696777	0.0	0.0	0.0	301
+-302	0.00139498710632324	0.0	0.0	0.0	302
+-303	0.00139594078063965	0.0	0.0	0.0	303
+-304	0.00140690803527832	0.0	0.0	0.0	304
+-305	0.00188708305358887	0.00999999999999979	0.00999999999999979	0.0	305
+-306	0.00266003608703613	0.0	0.0	0.0	306
+-307	0.00257205963134766	0.0	0.0	0.0	307
+-308	0.0239479541778564	0.0300000000000002	0.0300000000000002	0.0	308
+-309	0.0016789436340332	0.0	0.0	0.0	309
+-310	0.00142788887023926	0.0	0.0	0.0	310
+-311	0.00144720077514648	0.0	0.0	0.0	311
+-312	0.00142407417297363	0.0	0.0	0.0	312
+-313	0.00144100189208984	0.0	0.0	0.0	313
+-314	0.00140810012817383	0.0	0.0	0.0	314
+-315	0.00142502784729004	0.00999999999999979	0.00999999999999979	0.0	315
+-316	0.00141501426696777	0.0	0.0	0.0	316
+-317	0.00142884254455566	0.0	0.0	0.0	317
+-318	0.00140810012817383	0.0	0.0	0.0	318
+-319	0.00141692161560059	0.0	0.0	0.0	319
+-320	0.00141096115112305	0.0	0.0	0.0	320
+-321	0.00143098831176758	0.0	0.0	0.0	321
+-322	0.00141501426696777	0.00999999999999979	0.00999999999999979	0.0	322
+-323	0.00141501426696777	0.0	0.0	0.0	323
+-324	0.00140595436096191	0.0	0.0	0.0	324
+-325	0.00141692161560059	0.0	0.0	0.0	325
+-326	0.00150609016418457	0.0	0.0	0.0	326
+-327	0.00142478942871094	0.0	0.0	0.0	327
+-328	0.00141191482543945	0.0	0.0	0.0	328
+-329	0.00140190124511719	0.0100000000000007	0.0100000000000007	0.0	329
+-330	0.00142121315002441	0.0	0.0	0.0	330
+-331	0.00140500068664551	0.0	0.0	0.0	331
+-332	0.00142288208007812	0.0	0.0	0.0	332
+-333	0.00139188766479492	0.0	0.0	0.0	333
+-334	0.00141811370849609	0.0	0.0	0.0	334
+-335	0.00139999389648438	0.0	0.0	0.0	335
+-336	0.00138592720031738	0.00999999999999979	0.00999999999999979	0.0	336
+-337	0.00139522552490234	0.0	0.0	0.0	337
+-338	0.00139093399047852	0.0	0.0	0.0	338
+-339	0.00140500068664551	0.0	0.0	0.0	339
+-340	0.00138497352600098	0.0	0.0	0.0	340
+-341	0.00139999389648438	0.0	0.0	0.0	341
+-342	0.00139594078063965	0.0	0.0	0.0	342
+-343	0.00139617919921875	0.00999999999999979	0.00999999999999979	0.0	343
+-344	0.00139784812927246	0.0	0.0	0.0	344
+-345	0.00139784812927246	0.0	0.0	0.0	345
+-346	0.00141716003417969	0.0	0.0	0.0	346
+-347	0.00139307975769043	0.0	0.0	0.0	347
+-348	0.00141191482543945	0.0	0.0	0.0	348
+-349	0.00139999389648438	0.0	0.0	0.0	349
+-350	0.00140380859375	0.00999999999999979	0.00999999999999979	0.0	350
+-351	0.00140500068664551	0.0	0.0	0.0	351
+-352	0.00149989128112793	0.0	0.0	0.0	352
+-353	0.00278902053833008	0.0	0.0	0.0	353
+-354	0.00261592864990234	0.0	0.0	0.0	354
+-355	0.00245213508605957	0.0100000000000007	0.0100000000000007	0.0	355
+-356	0.00246095657348633	0.0	0.0	0.0	356
+-357	0.00265288352966309	0.0	0.0	0.0	357
+-358	0.00261092185974121	0.00999999999999979	0.00999999999999979	0.0	358
+-359	0.00242495536804199	0.0	0.0	0.0	359
+-360	0.00170683860778809	0.0	0.0	0.0	360
+-361	0.00139093399047852	0.0	0.0	0.0	361
+-362	0.00142908096313477	0.0	0.0	0.0	362
+-363	0.00140976905822754	0.0	0.0	0.0	363
+-364	0.00142288208007812	0.00999999999999979	0.00999999999999979	0.0	364
+-365	0.00140380859375	0.0	0.0	0.0	365
+-366	0.00140714645385742	0.0	0.0	0.0	366
+-367	0.00139594078063965	0.0	0.0	0.0	367
+-368	0.00140118598937988	0.0	0.0	0.0	368
+-369	0.0262439250946045	0.0300000000000002	0.0200000000000005	0.01	369
+-370	0.00150489807128906	0.00999999999999979	0.00999999999999979	0.0	370
+-371	0.00143313407897949	0.0	0.0	0.0	371
+-372	0.00153613090515137	0.0	0.0	0.0	372
+-373	0.00143313407897949	0.0	0.0	0.0	373
+-374	0.00144290924072266	0.0	0.0	0.0	374
+-375	0.00142097473144531	0.0	0.0	0.0	375
+-376	0.00142097473144531	0.0	0.0	0.0	376
+-377	0.00140810012817383	0.00999999999999979	0.00999999999999979	0.0	377
+-378	0.00140690803527832	0.0	0.0	0.0	378
+-379	0.0014338493347168	0.0	0.0	0.0	379
+-380	0.00142192840576172	0.0	0.0	0.0	380
+-381	0.00142502784729004	0.0	0.0	0.0	381
+-382	0.00140595436096191	0.0	0.0	0.0	382
+-383	0.00141811370849609	0.0	0.0	0.0	383
+-384	0.00143003463745117	0.00999999999999979	0.00999999999999979	0.0	384
+-385	0.00141596794128418	0.0	0.0	0.0	385
+-386	0.00140619277954102	0.0	0.0	0.0	386
+-387	0.00142288208007812	0.0	0.0	0.0	387
+-388	0.00142002105712891	0.0	0.0	0.0	388
+-389	0.00141596794128418	0.0	0.0	0.0	389
+-390	0.00142407417297363	0.0	0.0	0.0	390
+-391	0.00138282775878906	0.0100000000000007	0.0100000000000007	0.0	391
+-392	0.00141501426696777	0.0	0.0	0.0	392
+-393	0.00139188766479492	0.0	0.0	0.0	393
+-394	0.00141382217407227	0.0	0.0	0.0	394
+-395	0.00140714645385742	0.0	0.0	0.0	395
+-396	0.00141000747680664	0.0	0.0	0.0	396
+-397	0.00139307975769043	0.0	0.0	0.0	397
+-398	0.00139307975769043	0.00999999999999979	0.00999999999999979	0.0	398
+-399	0.00141000747680664	0.0	0.0	0.0	399
+-400	0.00138998031616211	0.0	0.0	0.0	400
+-401	0.00140213966369629	0.0	0.0	0.0	401
+-402	0.00139904022216797	0.0	0.0	0.0	402
+-403	0.00141191482543945	0.0	0.0	0.0	403
+-404	0.00139999389648438	0.0	0.0	0.0	404
+-405	0.00139188766479492	0.00999999999999979	0.00999999999999979	0.0	405
+-406	0.00142502784729004	0.0	0.0	0.0	406
+-407	0.00139904022216797	0.0	0.0	0.0	407
+-408	0.00157594680786133	0.0	0.0	0.0	408
+-409	0.00140500068664551	0.0	0.0	0.0	409
+-410	0.00139784812927246	0.0	0.0	0.0	410
+-411	0.00139188766479492	0.0	0.0	0.0	411
+-412	0.00141215324401855	0.00999999999999979	0.00999999999999979	0.0	412
+-413	0.00137901306152344	0.0	0.0	0.0	413
+-414	0.0014040470123291	0.0	0.0	0.0	414
+-415	0.00138497352600098	0.0	0.0	0.0	415
+-416	0.00140285491943359	0.0	0.0	0.0	416
+-417	0.00147199630737305	0.0	0.0	0.0	417
+-418	0.00141096115112305	0.0100000000000007	0.0100000000000007	0.0	418
+-419	0.0013890266418457	0.0	0.0	0.0	419
+-420	0.00139093399047852	0.0	0.0	0.0	420
+-421	0.00139999389648438	0.0	0.0	0.0	421
+-422	0.00141406059265137	0.0	0.0	0.0	422
+-423	0.00142383575439453	0.0	0.0	0.0	423
+-424	0.00139904022216797	0.0	0.0	0.0	424
+-425	0.00141310691833496	0.00999999999999979	0.00999999999999979	0.0	425
+-426	0.0013880729675293	0.0	0.0	0.0	426
+-427	0.00140094757080078	0.0	0.0	0.0	427
+-428	0.00140786170959473	0.0	0.0	0.0	428
+-429	0.00139880180358887	0.0	0.0	0.0	429
+-430	0.00140118598937988	0.0	0.0	0.0	430
+-431	0.0276179313659668	0.0299999999999994	0.0299999999999994	0.0	431
+-432	0.00144100189208984	0.0	0.0	0.0	432
+-433	0.00150609016418457	0.0	0.0	0.0	433
+-434	0.0014500617980957	0.0	0.0	0.0	434
+-435	0.00144720077514648	0.0100000000000007	0.0100000000000007	0.0	435
+-436	0.00142598152160645	0.0	0.0	0.0	436
+-437	0.00144004821777344	0.0	0.0	0.0	437
+-438	0.00141215324401855	0.0	0.0	0.0	438
+-439	0.00140690803527832	0.0	0.0	0.0	439
+-440	0.00140905380249023	0.0	0.0	0.0	440
+-441	0.00141191482543945	0.0	0.0	0.0	441
+-442	0.00141382217407227	0.00999999999999979	0.00999999999999979	0.0	442
+-443	0.00141382217407227	0.0	0.0	0.0	443
+-444	0.00142979621887207	0.0	0.0	0.0	444
+-445	0.00140786170959473	0.0	0.0	0.0	445
+-446	0.00141787528991699	0.0	0.0	0.0	446
+-447	0.00142502784729004	0.0	0.0	0.0	447
+-448	0.00141716003417969	0.00999999999999979	0.00999999999999979	0.0	448
+-449	0.00141692161560059	0.0	0.0	0.0	449
+-450	0.00142502784729004	0.0	0.0	0.0	450
+-451	0.00140690803527832	0.0	0.0	0.0	451
+-452	0.00139808654785156	0.0	0.0	0.0	452
+-453	0.00140094757080078	0.0	0.0	0.0	453
+-454	0.00141501426696777	0.0	0.0	0.0	454
+-455	0.00142598152160645	0.00999999999999979	0.00999999999999979	0.0	455
+-456	0.00140595436096191	0.0	0.0	0.0	456
+-457	0.00141096115112305	0.0	0.0	0.0	457
+-458	0.00138306617736816	0.0	0.0	0.0	458
+-459	0.00140500068664551	0.0	0.0	0.0	459
+-460	0.00141096115112305	0.0	0.0	0.0	460
+-461	0.0013880729675293	0.0	0.0	0.0	461
+-462	0.00140094757080078	0.0100000000000007	0.0100000000000007	0.0	462
+-463	0.00139594078063965	0.0	0.0	0.0	463
+-464	0.00141310691833496	0.0	0.0	0.0	464
+-465	0.00138282775878906	0.0	0.0	0.0	465
+-466	0.00141596794128418	0.0	0.0	0.0	466
+-467	0.00141692161560059	0.0	0.0	0.0	467
+-468	0.00142002105712891	0.0	0.0	0.0	468
+-469	0.00139999389648438	0.00999999999999979	0.00999999999999979	0.0	469
+-470	0.00137901306152344	0.0	0.0	0.0	470
+-471	0.00140595436096191	0.0	0.0	0.0	471
+-472	0.0013880729675293	0.0	0.0	0.0	472
+-473	0.00141310691833496	0.0	0.0	0.0	473
+-474	0.0014040470123291	0.0	0.0	0.0	474
+-475	0.00141406059265137	0.0	0.0	0.0	475
+-476	0.00139713287353516	0.00999999999999979	0.00999999999999979	0.0	476
+-477	0.00139307975769043	0.0	0.0	0.0	477
+-478	0.00140786170959473	0.0	0.0	0.0	478
+-479	0.00139784812927246	0.0	0.0	0.0	479
+-480	0.00139784812927246	0.0	0.0	0.0	480
+-481	0.00139999389648438	0.0	0.0	0.0	481
+-482	0.00140190124511719	0.0	0.0	0.0	482
+-483	0.00139594078063965	0.00999999999999979	0.00999999999999979	0.0	483
+-484	0.0014188289642334	0.0	0.0	0.0	484
+-485	0.00140810012817383	0.0	0.0	0.0	485
+-486	0.00141596794128418	0.0	0.0	0.0	486
+-487	0.0014030933380127	0.0	0.0	0.0	487
+-488	0.00141596794128418	0.0	0.0	0.0	488
+-489	0.00141811370849609	0.0	0.0	0.0	489
+-490	0.00140094757080078	0.0100000000000007	0.0100000000000007	0.0	490
+-491	0.00142717361450195	0.0	0.0	0.0	491
+-492	0.00140190124511719	0.0	0.0	0.0	492
+-493	0.0237669944763184	0.0199999999999996	0.0199999999999996	0.0	493
+-494	0.00249719619750977	0.0	0.0	0.0	494
+-495	0.00208711624145508	0.0	0.0	0.0	495
+-496	0.00229597091674805	0.00999999999999979	0.00999999999999979	0.0	496
+-497	0.00143194198608398	0.0	0.0	0.0	497
+-498	0.00144100189208984	0.0	0.0	0.0	498
+-499	0.00142002105712891	0.0	0.0	0.0	499
+-500	0.00144791603088379	0.0	0.0	0.0	500
+-501	0.00140190124511719	0.0	0.0	0.0	501
+-502	0.00142192840576172	0.0	0.0	0.0	502
+-503	0.00142502784729004	0.0100000000000007	0.0100000000000007	0.0	503
+-504	0.0014350414276123	0.0	0.0	0.0	504
+-505	0.00141811370849609	0.0	0.0	0.0	505
+-506	0.00141811370849609	0.0	0.0	0.0	506
+-507	0.00141596794128418	0.0	0.0	0.0	507
+-508	0.00141501426696777	0.0	0.0	0.0	508
+-509	0.00140094757080078	0.0	0.0	0.0	509
+-510	0.00142502784729004	0.00999999999999979	0.00999999999999979	0.0	510
+-511	0.0014350414276123	0.0	0.0	0.0	511
+-512	0.00139403343200684	0.0	0.0	0.0	512
+-513	0.00142598152160645	0.0	0.0	0.0	513
+-514	0.00142598152160645	0.0	0.0	0.0	514
+-515	0.00181007385253906	0.0	0.0	0.0	515
+-516	0.00142097473144531	0.0	0.0	0.0	516
+-517	0.0014030933380127	0.00999999999999979	0.00999999999999979	0.0	517
+-518	0.00141310691833496	0.0	0.0	0.0	518
+-519	0.00140595436096191	0.0	0.0	0.0	519
+-520	0.00139999389648438	0.0	0.0	0.0	520
+-521	0.00140881538391113	0.0	0.0	0.0	521
+-522	0.00139498710632324	0.0	0.0	0.0	522
+-523	0.00141406059265137	0.0	0.0	0.0	523
+-524	0.00139307975769043	0.00999999999999979	0.00999999999999979	0.0	524
+-525	0.0014040470123291	0.0	0.0	0.0	525
+-526	0.00141501426696777	0.0	0.0	0.0	526
+-527	0.00141716003417969	0.0	0.0	0.0	527
+-528	0.00141501426696777	0.0	0.0	0.0	528
+-529	0.00147104263305664	0.0	0.0	0.0	529
+-530	0.00141096115112305	0.0	0.0	0.0	530
+-531	0.00140213966369629	0.0100000000000007	0.0100000000000007	0.0	531
+-532	0.00141406059265137	0.0	0.0	0.0	532
+-533	0.00139904022216797	0.0	0.0	0.0	533
+-534	0.00139403343200684	0.0	0.0	0.0	534
+-535	0.00139713287353516	0.0	0.0	0.0	535
+-536	0.00140786170959473	0.0	0.0	0.0	536
+-537	0.00139403343200684	0.0	0.0	0.0	537
+-538	0.00140714645385742	0.00999999999999979	0.00999999999999979	0.0	538
+-539	0.00139093399047852	0.0	0.0	0.0	539
+-540	0.00140094757080078	0.0	0.0	0.0	540
+-541	0.00138711929321289	0.0	0.0	0.0	541
+-542	0.00140500068664551	0.0	0.0	0.0	542
+-543	0.00141406059265137	0.0	0.0	0.0	543
+-544	0.0014030933380127	0.0	0.0	0.0	544
+-545	0.00138497352600098	0.00999999999999979	0.00999999999999979	0.0	545
+-546	0.00148582458496094	0.0	0.0	0.0	546
+-547	0.00141191482543945	0.0	0.0	0.0	547
+-548	0.00141119956970215	0.0	0.0	0.0	548
+-549	0.00140690803527832	0.0	0.0	0.0	549
+-550	0.00140881538391113	0.0	0.0	0.0	550
+-551	0.00141286849975586	0.00999999999999979	0.00999999999999979	0.0	551
+-552	0.00141286849975586	0.0	0.0	0.0	552
+-553	0.00139021873474121	0.0	0.0	0.0	553
+-554	0.0234880447387695	0.0200000000000005	0.0200000000000005	0.0	554
+-555	0.00147581100463867	0.0	0.0	0.0	555
+-556	0.00144290924072266	0.0	0.0	0.0	556
+-557	0.00200700759887695	0.00999999999999979	0.00999999999999979	0.0	557
+-558	0.00271010398864746	0.0	0.0	0.0	558
+-559	0.00263786315917969	0.0	0.0	0.0	559
+-560	0.00255584716796875	0.0	0.0	0.0	560
+-561	0.0022728443145752	0.00999999999999979	0.00999999999999979	0.0	561
+-562	0.0014340877532959	0.0	0.0	0.0	562
+-563	0.00143599510192871	0.0	0.0	0.0	563
+-564	0.00140905380249023	0.0	0.0	0.0	564
+-565	0.00140786170959473	0.0	0.0	0.0	565
+-566	0.00142693519592285	0.0	0.0	0.0	566
+-567	0.00141596794128418	0.00999999999999979	0.00999999999999979	0.0	567
+-568	0.00147199630737305	0.0	0.0	0.0	568
+-569	0.00142502784729004	0.0	0.0	0.0	569
+-570	0.00143003463745117	0.0	0.0	0.0	570
+-571	0.00140595436096191	0.0	0.0	0.0	571
+-572	0.00144600868225098	0.0	0.0	0.0	572
+-573	0.00141096115112305	0.0	0.0	0.0	573
+-574	0.00142717361450195	0.0100000000000007	0.0100000000000007	0.0	574
+-575	0.0025019645690918	0.0	0.0	0.0	575
+-576	0.00191497802734375	0.0	0.0	0.0	576
+-577	0.00141119956970215	0.0	0.0	0.0	577
+-578	0.00140690803527832	0.0	0.0	0.0	578
+-579	0.00141501426696777	0.00999999999999979	0.00999999999999979	0.0	579
+-580	0.00141692161560059	0.0	0.0	0.0	580
+-581	0.00139212608337402	0.0	0.0	0.0	581
+-582	0.00140810012817383	0.0	0.0	0.0	582
+-583	0.00139307975769043	0.0	0.0	0.0	583
+-584	0.00139498710632324	0.0	0.0	0.0	584
+-585	0.0014030933380127	0.0	0.0	0.0	585
+-586	0.0014030933380127	0.00999999999999979	0.00999999999999979	0.0	586
+-587	0.00141096115112305	0.0	0.0	0.0	587
+-588	0.00140500068664551	0.0	0.0	0.0	588
+-589	0.00144505500793457	0.0	0.0	0.0	589
+-590	0.00141191482543945	0.0	0.0	0.0	590
+-591	0.00140213966369629	0.0	0.0	0.0	591
+-592	0.00139594078063965	0.0	0.0	0.0	592
+-593	0.00141096115112305	0.00999999999999979	0.00999999999999979	0.0	593
+-594	0.00139093399047852	0.0	0.0	0.0	594
+-595	0.00148797035217285	0.0	0.0	0.0	595
+-596	0.00139999389648438	0.0	0.0	0.0	596
+-597	0.00139689445495605	0.0	0.0	0.0	597
+-598	0.00140094757080078	0.0	0.0	0.0	598
+-599	0.00140786170959473	0.0	0.0	0.0	599
+-600	0.00140810012817383	0.0100000000000007	0.0100000000000007	0.0	600
+-601	0.00140810012817383	0.0	0.0	0.0	601
+-602	0.00140500068664551	0.0	0.0	0.0	602
+-603	0.00139093399047852	0.0	0.0	0.0	603
+-604	0.00142192840576172	0.0	0.0	0.0	604
+-605	0.00138998031616211	0.0	0.0	0.0	605
+-606	0.00140213966369629	0.0	0.0	0.0	606
+-607	0.00140285491943359	0.00999999999999979	0.00999999999999979	0.0	607
+-608	0.00141000747680664	0.0	0.0	0.0	608
+-609	0.00140190124511719	0.0	0.0	0.0	609
+-610	0.00142097473144531	0.0	0.0	0.0	610
+-611	0.00139689445495605	0.0	0.0	0.0	611
+-612	0.00147509574890137	0.0	0.0	0.0	612
+-613	0.00141000747680664	0.0	0.0	0.0	613
+-614	0.00140285491943359	0.00999999999999979	0.00999999999999979	0.0	614
+-615	0.00142002105712891	0.0	0.0	0.0	615
+-616	0.0232539176940918	0.0200000000000005	0.0200000000000005	0.0	616
+-617	0.00145983695983887	0.0	0.0	0.0	617
+-618	0.00142908096313477	0.0	0.0	0.0	618
+-619	0.00143790245056152	0.00999999999999979	0.00999999999999979	0.0	619
+-620	0.00141000747680664	0.0	0.0	0.0	620
+-621	0.00141692161560059	0.0	0.0	0.0	621
+-622	0.00142216682434082	0.0	0.0	0.0	622
+-623	0.00140905380249023	0.0	0.0	0.0	623
+-624	0.00142598152160645	0.0	0.0	0.0	624
+-625	0.00141096115112305	0.0	0.0	0.0	625
+-626	0.00142097473144531	0.00999999999999979	0.00999999999999979	0.0	626
+-627	0.00149297714233398	0.0	0.0	0.0	627
+-628	0.0014348030090332	0.0	0.0	0.0	628
+-629	0.00148200988769531	0.0	0.0	0.0	629
+-630	0.0014040470123291	0.0	0.0	0.0	630
+-631	0.00141596794128418	0.0	0.0	0.0	631
+-632	0.00142216682434082	0.0	0.0	0.0	632
+-633	0.00139999389648438	0.00999999999999979	0.00999999999999979	0.0	633
+-634	0.00142693519592285	0.0	0.0	0.0	634
+-635	0.00141692161560059	0.0	0.0	0.0	635
+-636	0.00141501426696777	0.0	0.0	0.0	636
+-637	0.00140976905822754	0.0	0.0	0.0	637
+-638	0.00140500068664551	0.0	0.0	0.0	638
+-639	0.00141787528991699	0.0	0.0	0.0	639
+-640	0.0013880729675293	0.0100000000000007	0.0100000000000007	0.0	640
+-641	0.00142812728881836	0.0	0.0	0.0	641
+-642	0.0014040470123291	0.0	0.0	0.0	642
+-643	0.0013880729675293	0.0	0.0	0.0	643
+-644	0.00140810012817383	0.0	0.0	0.0	644
+-645	0.00142192840576172	0.0	0.0	0.0	645
+-646	0.00140810012817383	0.0	0.0	0.0	646
+-647	0.00140190124511719	0.00999999999999979	0.00999999999999979	0.0	647
+-648	0.00148701667785645	0.0	0.0	0.0	648
+-649	0.0014040470123291	0.0	0.0	0.0	649
+-650	0.00140094757080078	0.0	0.0	0.0	650
+-651	0.00139904022216797	0.0	0.0	0.0	651
+-652	0.00141811370849609	0.0	0.0	0.0	652
+-653	0.00139403343200684	0.0	0.0	0.0	653
+-654	0.00141191482543945	0.00999999999999979	0.00999999999999979	0.0	654
+-655	0.00140500068664551	0.0	0.0	0.0	655
+-656	0.00141096115112305	0.0	0.0	0.0	656
+-657	0.00185894966125488	0.0	0.0	0.0	657
+-658	0.00141286849975586	0.0	0.0	0.0	658
+-659	0.00149917602539062	0.0	0.0	0.0	659
+-660	0.00140190124511719	0.0	0.0	0.0	660
+-661	0.00139188766479492	0.00999999999999979	0.00999999999999979	0.0	661
+-662	0.00138711929321289	0.0	0.0	0.0	662
+-663	0.00139904022216797	0.0	0.0	0.0	663
+-664	0.00141596794128418	0.0	0.0	0.0	664
+-665	0.00139212608337402	0.0	0.0	0.0	665
+-666	0.00141191482543945	0.0	0.0	0.0	666
+-667	0.00139403343200684	0.0	0.0	0.0	667
+-668	0.00140905380249023	0.0100000000000007	0.0100000000000007	0.0	668
+-669	0.00139307975769043	0.0	0.0	0.0	669
+-670	0.00139999389648438	0.0	0.0	0.0	670
+-671	0.00142002105712891	0.0	0.0	0.0	671
+-672	0.00139904022216797	0.0	0.0	0.0	672
+-673	0.00142097473144531	0.0	0.0	0.0	673
+-674	0.00140500068664551	0.0	0.0	0.0	674
+-675	0.00139594078063965	0.00999999999999979	0.00999999999999979	0.0	675
+-676	0.00139284133911133	0.0	0.0	0.0	676
+-677	0.0242998600006104	0.0199999999999996	0.0199999999999996	0.0	677
+-678	0.00148987770080566	0.0	0.0	0.0	678
+-679	0.00144290924072266	0.0	0.0	0.0	679
+-680	0.00143098831176758	0.0100000000000007	0.0100000000000007	0.0	680
+-681	0.00144410133361816	0.0	0.0	0.0	681
+-682	0.00142598152160645	0.0	0.0	0.0	682
+-683	0.00140094757080078	0.0	0.0	0.0	683
+-684	0.00146293640136719	0.0	0.0	0.0	684
+-685	0.00141811370849609	0.0	0.0	0.0	685
+-686	0.00143098831176758	0.0	0.0	0.0	686
+-687	0.00144100189208984	0.00999999999999979	0.00999999999999979	0.0	687
+-688	0.00143003463745117	0.0	0.0	0.0	688
+-689	0.00141406059265137	0.0	0.0	0.0	689
+-690	0.00143194198608398	0.0	0.0	0.0	690
+-691	0.0014040470123291	0.0	0.0	0.0	691
+-692	0.00141191482543945	0.0	0.0	0.0	692
+-693	0.00259590148925781	0.00999999999999979	0.00999999999999979	0.0	693
+-694	0.00263714790344238	0.0	0.0	0.0	694
+-695	0.00258207321166992	0.0	0.0	0.0	695
+-696	0.00255298614501953	0.0	0.0	0.0	696
+-697	0.00179100036621094	0.00999999999999979	0.00999999999999979	0.0	697
+-698	0.00142312049865723	0.0	0.0	0.0	698
+-699	0.00141215324401855	0.0	0.0	0.0	699
+-700	0.00140094757080078	0.0	0.0	0.0	700
+-701	0.00138998031616211	0.0	0.0	0.0	701
+-702	0.00139999389648438	0.0	0.0	0.0	702
+-703	0.00142312049865723	0.0	0.0	0.0	703
+-704	0.00142812728881836	0.00999999999999979	0.00999999999999979	0.0	704
+-705	0.00140690803527832	0.0	0.0	0.0	705
+-706	0.00139999389648438	0.0	0.0	0.0	706
+-707	0.00140500068664551	0.0	0.0	0.0	707
+-708	0.00139498710632324	0.0	0.0	0.0	708
+-709	0.00139498710632324	0.0	0.0	0.0	709
+-710	0.0014030933380127	0.0	0.0	0.0	710
+-711	0.00138497352600098	0.0100000000000007	0.0100000000000007	0.0	711
+-712	0.00139498710632324	0.0	0.0	0.0	712
+-713	0.00139904022216797	0.0	0.0	0.0	713
+-714	0.00141000747680664	0.0	0.0	0.0	714
+-715	0.00140118598937988	0.0	0.0	0.0	715
+-716	0.00141406059265137	0.0	0.0	0.0	716
+-717	0.00140094757080078	0.0	0.0	0.0	717
+-718	0.00141787528991699	0.00999999999999979	0.00999999999999979	0.0	718
+-719	0.00140714645385742	0.0	0.0	0.0	719
+-720	0.00142097473144531	0.0	0.0	0.0	720
+-721	0.0013880729675293	0.0	0.0	0.0	721
+-722	0.00140094757080078	0.0	0.0	0.0	722
+-723	0.0014190673828125	0.0	0.0	0.0	723
+-724	0.00139117240905762	0.0	0.0	0.0	724
+-725	0.00139784812927246	0.00999999999999979	0.00999999999999979	0.0	725
+-726	0.00163793563842773	0.0	0.0	0.0	726
+-727	0.00141406059265137	0.0	0.0	0.0	727
+-728	0.00140500068664551	0.0	0.0	0.0	728
+-729	0.00141692161560059	0.0	0.0	0.0	729
+-730	0.00141000747680664	0.0	0.0	0.0	730
+-731	0.00139594078063965	0.00999999999999979	0.00999999999999979	0.0	731
+-732	0.00140595436096191	0.0	0.0	0.0	732
+-733	0.00140881538391113	0.0	0.0	0.0	733
+-734	0.00140500068664551	0.0	0.0	0.0	734
+-735	0.00139904022216797	0.0	0.0	0.0	735
+-736	0.00141787528991699	0.0	0.0	0.0	736
+-737	0.00141406059265137	0.0	0.0	0.0	737
+-738	0.00141000747680664	0.0100000000000007	0.0100000000000007	0.0	738
+-739	0.0232431888580322	0.0199999999999996	0.0199999999999996	0.0	739
+-740	0.00145602226257324	0.0	0.0	0.0	740
+-741	0.00145196914672852	0.0	0.0	0.0	741
+-742	0.00142693519592285	0.0	0.0	0.0	742
+-743	0.00143599510192871	0.0	0.0	0.0	743
+-744	0.00144100189208984	0.00999999999999979	0.00999999999999979	0.0	744
+-745	0.00146389007568359	0.0	0.0	0.0	745
+-746	0.00143003463745117	0.0	0.0	0.0	746
+-747	0.00141501426696777	0.0	0.0	0.0	747
+-748	0.00139808654785156	0.0	0.0	0.0	748
+-749	0.00142097473144531	0.0	0.0	0.0	749
+-750	0.00140905380249023	0.0	0.0	0.0	750
+-751	0.00150108337402344	0.0100000000000007	0.0100000000000007	0.0	751
+-752	0.00140714645385742	0.0	0.0	0.0	752
+-753	0.00142908096313477	0.0	0.0	0.0	753
+-754	0.0014040470123291	0.0	0.0	0.0	754
+-755	0.00141501426696777	0.0	0.0	0.0	755
+-756	0.00140094757080078	0.0	0.0	0.0	756
+-757	0.00141215324401855	0.00999999999999979	0.00999999999999979	0.0	757
+-758	0.00141000747680664	0.0	0.0	0.0	758
+-759	0.00140714645385742	0.0	0.0	0.0	759
+-760	0.00141096115112305	0.0	0.0	0.0	760
+-761	0.00140213966369629	0.0	0.0	0.0	761
+-762	0.0014188289642334	0.0	0.0	0.0	762
+-763	0.00138497352600098	0.0	0.0	0.0	763
+-764	0.00142192840576172	0.00999999999999979	0.00999999999999979	0.0	764
+-765	0.00140380859375	0.0	0.0	0.0	765
+-766	0.00153803825378418	0.0	0.0	0.0	766
+-767	0.0013880729675293	0.0	0.0	0.0	767
+-768	0.00141191482543945	0.0	0.0	0.0	768
+-769	0.00139689445495605	0.0	0.0	0.0	769
+-770	0.00144219398498535	0.0	0.0	0.0	770
+-771	0.00145888328552246	0.00999999999999979	0.00999999999999979	0.0	771
+-772	0.00142621994018555	0.0	0.0	0.0	772
+-773	0.00138998031616211	0.0	0.0	0.0	773
+-774	0.00141286849975586	0.0	0.0	0.0	774
+-775	0.00140190124511719	0.0	0.0	0.0	775
+-776	0.00139498710632324	0.0	0.0	0.0	776
+-777	0.00141191482543945	0.0	0.0	0.0	777
+-778	0.00138211250305176	0.0100000000000007	0.0100000000000007	0.0	778
+-779	0.00141000747680664	0.0	0.0	0.0	779
+-780	0.00139093399047852	0.0	0.0	0.0	780
+-781	0.00139188766479492	0.0	0.0	0.0	781
+-782	0.00139904022216797	0.0	0.0	0.0	782
+-783	0.0013880729675293	0.0	0.0	0.0	783
+-784	0.00139880180358887	0.0	0.0	0.0	784
+-785	0.00137805938720703	0.00999999999999979	0.00999999999999979	0.0	785
+-786	0.00141191482543945	0.0	0.0	0.0	786
+-787	0.00139498710632324	0.0	0.0	0.0	787
+-788	0.00141286849975586	0.0	0.0	0.0	788
+-789	0.00140285491943359	0.0	0.0	0.0	789
+-790	0.00140213966369629	0.0	0.0	0.0	790
+-791	0.00139808654785156	0.0	0.0	0.0	791
+-792	0.00141000747680664	0.00999999999999979	0.00999999999999979	0.0	792
+-793	0.00142383575439453	0.0	0.0	0.0	793
+-794	0.0014040470123291	0.0	0.0	0.0	794
+-795	0.00141215324401855	0.0	0.0	0.0	795
+-796	0.00140690803527832	0.0	0.0	0.0	796
+-797	0.00139689445495605	0.0	0.0	0.0	797
+-798	0.00139403343200684	0.0	0.0	0.0	798
+-799	0.00141096115112305	0.00999999999999979	0.00999999999999979	0.0	799
+-800	0.0231518745422363	0.0200000000000005	0.0200000000000005	0.0	800
+-801	0.00148391723632812	0.0	0.0	0.0	801
+-802	0.00144004821777344	0.0	0.0	0.0	802
+-803	0.00144600868225098	0.0	0.0	0.0	803
+-804	0.00148105621337891	0.00999999999999979	0.00999999999999979	0.0	804
+-805	0.0014500617980957	0.0	0.0	0.0	805
+-806	0.00141406059265137	0.0	0.0	0.0	806
+-807	0.00140595436096191	0.0	0.0	0.0	807
+-808	0.00142502784729004	0.0	0.0	0.0	808
+-809	0.00140285491943359	0.0	0.0	0.0	809
+-810	0.00142288208007812	0.0	0.0	0.0	810
+-811	0.0014030933380127	0.00999999999999979	0.00999999999999979	0.0	811
+-812	0.00139999389648438	0.0	0.0	0.0	812
+-813	0.00141000747680664	0.0	0.0	0.0	813
+-814	0.00140881538391113	0.0	0.0	0.0	814
+-815	0.00143098831176758	0.0	0.0	0.0	815
+-816	0.00140094757080078	0.0	0.0	0.0	816
+-817	0.00143003463745117	0.0	0.0	0.0	817
+-818	0.00140500068664551	0.0100000000000007	0.0100000000000007	0.0	818
+-819	0.00142002105712891	0.0	0.0	0.0	819
+-820	0.00141096115112305	0.0	0.0	0.0	820
+-821	0.00142502784729004	0.0	0.0	0.0	821
+-822	0.00141096115112305	0.0	0.0	0.0	822
+-823	0.00140619277954102	0.0	0.0	0.0	823
+-824	0.00139093399047852	0.0	0.0	0.0	824
+-825	0.00139999389648438	0.00999999999999979	0.00999999999999979	0.0	825
+-826	0.00139999389648438	0.0	0.0	0.0	826
+-827	0.00140190124511719	0.0	0.0	0.0	827
+-828	0.0014030933380127	0.0	0.0	0.0	828
+-829	0.00139808654785156	0.0	0.0	0.0	829
+-830	0.00140786170959473	0.0	0.0	0.0	830
+-831	0.00171494483947754	0.0	0.0	0.0	831
+-832	0.00259613990783691	0.0	0.0	0.0	832
+-833	0.00256896018981934	0.0	0.0	0.0	833
+-834	0.00258994102478027	0.0	0.0	0.0	834
+-835	0.00195598602294922	0.00999999999999979	0.00999999999999979	0.0	835
+-836	0.00141477584838867	0.0	0.0	0.0	836
+-837	0.0014030933380127	0.0	0.0	0.0	837
+-838	0.00140500068664551	0.0	0.0	0.0	838
+-839	0.00138711929321289	0.0	0.0	0.0	839
+-840	0.00139904022216797	0.0	0.0	0.0	840
+-841	0.00139403343200684	0.0	0.0	0.0	841
+-842	0.00141215324401855	0.00999999999999979	0.00999999999999979	0.0	842
+-843	0.0014498233795166	0.0	0.0	0.0	843
+-844	0.00139594078063965	0.0	0.0	0.0	844
+-845	0.00139307975769043	0.0	0.0	0.0	845
+-846	0.0013890266418457	0.0	0.0	0.0	846
+-847	0.00141000747680664	0.0	0.0	0.0	847
+-848	0.00138711929321289	0.0	0.0	0.0	848
+-849	0.00221610069274902	0.0100000000000007	0.0100000000000007	0.0	849
+-850	0.00145506858825684	0.0	0.0	0.0	850
+-851	0.00141501426696777	0.0	0.0	0.0	851
+-852	0.00145888328552246	0.0	0.0	0.0	852
+-853	0.00140500068664551	0.0	0.0	0.0	853
+-854	0.00139904022216797	0.0	0.0	0.0	854
+-855	0.00137901306152344	0.0	0.0	0.0	855
+-856	0.00144314765930176	0.00999999999999979	0.00999999999999979	0.0	856
+-857	0.00139904022216797	0.0	0.0	0.0	857
+-858	0.00142312049865723	0.0	0.0	0.0	858
+-859	0.00139689445495605	0.0	0.0	0.0	859
+-860	0.00140786170959473	0.0	0.0	0.0	860
+-861	0.00139713287353516	0.0	0.0	0.0	861
+-862	0.0231709480285645	0.0300000000000002	0.0300000000000002	0.0	862
+-863	0.00148701667785645	0.0	0.0	0.0	863
+-864	0.00143599510192871	0.0	0.0	0.0	864
+-865	0.00144219398498535	0.0	0.0	0.0	865
+-866	0.00142002105712891	0.0	0.0	0.0	866
+-867	0.0014500617980957	0.0	0.0	0.0	867
+-868	0.00142502784729004	0.00999999999999979	0.00999999999999979	0.0	868
+-869	0.00141692161560059	0.0	0.0	0.0	869
+-870	0.00142192840576172	0.0	0.0	0.0	870
+-871	0.00142192840576172	0.0	0.0	0.0	871
+-872	0.00141191482543945	0.0	0.0	0.0	872
+-873	0.00143194198608398	0.0	0.0	0.0	873
+-874	0.00142288208007812	0.0	0.0	0.0	874
+-875	0.00142884254455566	0.00999999999999979	0.00999999999999979	0.0	875
+-876	0.00160384178161621	0.0	0.0	0.0	876
+-877	0.00264906883239746	0.0	0.0	0.0	877
+-878	0.00261187553405762	0.0	0.0	0.0	878
+-879	0.00243496894836426	0.00999999999999979	0.00999999999999979	0.0	879
+-880	0.00259900093078613	0.0	0.0	0.0	880
+-881	0.0026240348815918	0.0	0.0	0.0	881
+-882	0.00248599052429199	0.0	0.0	0.0	882
+-883	0.0024101734161377	0.0100000000000007	0.0100000000000007	0.0	883
+-884	0.00142192840576172	0.0	0.0	0.0	884
+-885	0.0014488697052002	0.0	0.0	0.0	885
+-886	0.00140285491943359	0.0	0.0	0.0	886
+-887	0.00140213966369629	0.0	0.0	0.0	887
+-888	0.00141406059265137	0.0	0.0	0.0	888
+-889	0.00139999389648438	0.0	0.0	0.0	889
+-890	0.00140690803527832	0.00999999999999979	0.00999999999999979	0.0	890
+-891	0.00139093399047852	0.0	0.0	0.0	891
+-892	0.00140500068664551	0.0	0.0	0.0	892
+-893	0.00140690803527832	0.0	0.0	0.0	893
+-894	0.00141000747680664	0.0	0.0	0.0	894
+-895	0.00140810012817383	0.0	0.0	0.0	895
+-896	0.00139403343200684	0.0	0.0	0.0	896
+-897	0.00140810012817383	0.00999999999999979	0.00999999999999979	0.0	897
+-898	0.00140810012817383	0.0	0.0	0.0	898
+-899	0.00143003463745117	0.0	0.0	0.0	899
+-900	0.00141811370849609	0.0	0.0	0.0	900
+-901	0.00142002105712891	0.0	0.0	0.0	901
+-902	0.00138211250305176	0.0	0.0	0.0	902
+-903	0.00141096115112305	0.00999999999999979	0.00999999999999979	0.0	903
+-904	0.00140595436096191	0.0	0.0	0.0	904
+-905	0.00140690803527832	0.0	0.0	0.0	905
+-906	0.00141501426696777	0.0	0.0	0.0	906
+-907	0.00139594078063965	0.0	0.0	0.0	907
+-908	0.00142002105712891	0.0	0.0	0.0	908
+-909	0.00139808654785156	0.0	0.0	0.0	909
+-910	0.00140905380249023	0.0100000000000007	0.0100000000000007	0.0	910
+-911	0.0014040470123291	0.0	0.0	0.0	911
+-912	0.00139808654785156	0.0	0.0	0.0	912
+-913	0.00141000747680664	0.0	0.0	0.0	913
+-914	0.00140619277954102	0.0	0.0	0.0	914
+-915	0.0014040470123291	0.0	0.0	0.0	915
+-916	0.0014040470123291	0.0	0.0	0.0	916
+-917	0.00141310691833496	0.00999999999999979	0.00999999999999979	0.0	917
+-918	0.00147795677185059	0.0	0.0	0.0	918
+-919	0.00141000747680664	0.0	0.0	0.0	919
+-920	0.00140786170959473	0.0	0.0	0.0	920
+-921	0.00141000747680664	0.0	0.0	0.0	921
+-922	0.00140786170959473	0.0	0.0	0.0	922
+-923	0.0234408378601074	0.0300000000000002	0.0300000000000002	0.0	923
+-924	0.00142312049865723	0.0	0.0	0.0	924
+-925	0.00144505500793457	0.0	0.0	0.0	925
+-926	0.00144791603088379	0.0	0.0	0.0	926
+-927	0.00144004821777344	0.0	0.0	0.0	927
+-928	0.00142192840576172	0.0	0.0	0.0	928
+-929	0.00143814086914062	0.00999999999999979	0.00999999999999979	0.0	929
+-930	0.00141406059265137	0.0	0.0	0.0	930
+-931	0.00141501426696777	0.0	0.0	0.0	931
+-932	0.00142312049865723	0.0	0.0	0.0	932
+-933	0.00141215324401855	0.0	0.0	0.0	933
+-934	0.00143003463745117	0.0	0.0	0.0	934
+-935	0.0014188289642334	0.0	0.0	0.0	935
+-936	0.00142192840576172	0.00999999999999979	0.00999999999999979	0.0	936
+-937	0.00142598152160645	0.0	0.0	0.0	937
+-938	0.00143218040466309	0.0	0.0	0.0	938
+-939	0.00140094757080078	0.0	0.0	0.0	939
+-940	0.00141811370849609	0.0	0.0	0.0	940
+-941	0.00142598152160645	0.0	0.0	0.0	941
+-942	0.00143694877624512	0.0	0.0	0.0	942
+-943	0.00146985054016113	0.00999999999999979	0.00999999999999979	0.0	943
+-944	0.00139403343200684	0.0	0.0	0.0	944
+-945	0.00141096115112305	0.0	0.0	0.0	945
+-946	0.00140595436096191	0.0	0.0	0.0	946
+-947	0.00140213966369629	0.0	0.0	0.0	947
+-948	0.00139594078063965	0.0	0.0	0.0	948
+-949	0.00140190124511719	0.0	0.0	0.0	949
+-950	0.00140213966369629	0.0100000000000007	0.0100000000000007	0.0	950
+-951	0.0014040470123291	0.0	0.0	0.0	951
+-952	0.00139999389648438	0.0	0.0	0.0	952
+-953	0.00139904022216797	0.0	0.0	0.0	953
+-954	0.00139617919921875	0.0	0.0	0.0	954
+-955	0.00141000747680664	0.0	0.0	0.0	955
+-956	0.00141716003417969	0.0	0.0	0.0	956
+-957	0.00139594078063965	0.00999999999999979	0.00999999999999979	0.0	957
+-958	0.00141096115112305	0.0	0.0	0.0	958
+-959	0.00139999389648438	0.0	0.0	0.0	959
+-960	0.00141787528991699	0.0	0.0	0.0	960
+-961	0.00139808654785156	0.0	0.0	0.0	961
+-962	0.0014030933380127	0.0	0.0	0.0	962
+-963	0.00140810012817383	0.0	0.0	0.0	963
+-964	0.00203394889831543	0.00999999999999979	0.00999999999999979	0.0	964
+-965	0.00265693664550781	0.0	0.0	0.0	965
+-966	0.00261211395263672	0.0	0.0	0.0	966
+-967	0.00254082679748535	0.0	0.0	0.0	967
+-968	0.00202393531799316	0.00999999999999979	0.00999999999999979	0.0	968
+-969	0.00142693519592285	0.0	0.0	0.0	969
+-970	0.00139784812927246	0.0	0.0	0.0	970
+-971	0.00140213966369629	0.0	0.0	0.0	971
+-972	0.00139594078063965	0.0	0.0	0.0	972
+-973	0.00141501426696777	0.0	0.0	0.0	973
+-974	0.0014030933380127	0.00999999999999979	0.00999999999999979	0.0	974
+-975	0.00144290924072266	0.0	0.0	0.0	975
+-976	0.00140500068664551	0.0	0.0	0.0	976
+-977	0.00140690803527832	0.0	0.0	0.0	977
+-978	0.00142502784729004	0.0	0.0	0.0	978
+-979	0.00141000747680664	0.0	0.0	0.0	979
+-980	0.00141501426696777	0.0	0.0	0.0	980
+-981	0.00140118598937988	0.0100000000000007	0.0100000000000007	0.0	981
+-982	0.00142693519592285	0.0	0.0	0.0	982
+-983	0.00141310691833496	0.0	0.0	0.0	983
+-984	0.00140690803527832	0.0	0.0	0.0	984
+-985	0.0233311653137207	0.0199999999999996	0.0199999999999996	0.0	985
+-986	0.00148701667785645	0.00999999999999979	0.00999999999999979	0.0	986
+-987	0.00144100189208984	0.0	0.0	0.0	987
+-988	0.00140595436096191	0.0	0.0	0.0	988
+-989	0.00144505500793457	0.0	0.0	0.0	989
+-990	0.00142598152160645	0.0	0.0	0.0	990
+-991	0.0014491081237793	0.0	0.0	0.0	991
+-992	0.00139904022216797	0.0	0.0	0.0	992
+-993	0.00142788887023926	0.0100000000000007	0.0100000000000007	0.0	993
+-994	0.00141382217407227	0.0	0.0	0.0	994
+-995	0.00141119956970215	0.0	0.0	0.0	995
+-996	0.00139999389648438	0.0	0.0	0.0	996
+-997	0.00142192840576172	0.0	0.0	0.0	997
+-998	0.0014197826385498	0.0	0.0	0.0	998
+-999	0.00142288208007812	0.0	0.0	0.0	999
+-1000	0.00141811370849609	0.00999999999999979	0.00999999999999979	0.0	1000
+diff --git a/lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_pretty-autocorrelation.dat b/lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_pretty-autocorrelation.dat
+deleted file mode 100644
+index 238a8f3..0000000
+--- a/lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_pretty-autocorrelation.dat
++++ /dev/null
+@@ -1,900 +0,0 @@
+-#lag	autocorrelation
+-101	1.0
+-102	0.00222153397099066
+-103	-0.0143375943792822
+-104	-0.0230145315894251
+-105	-0.0272569948085685
+-106	-0.0289478311233791
+-107	-0.0239202547218024
+-108	-0.0254569116577405
+-109	-0.0204533758607008
+-110	-0.0264699250769266
+-111	-0.0247691307865804
+-112	-0.0281656685433677
+-113	-0.0282797510426555
+-114	-0.0264980555156702
+-115	-0.0264456484724888
+-116	-0.027624326287035
+-117	-0.0204913232518958
+-118	-0.0136418899889287
+-119	-0.0164287250050804
+-120	-0.0160068899951543
+-121	-0.0213508645203322
+-122	-0.0261094503544549
+-123	-0.0283361918761636
+-124	-0.0221634425280319
+-125	-0.0200377132134378
+-126	-0.0158156288853482
+-127	-0.0184937620769426
+-128	-0.0167418191590156
+-129	-0.0267897605444739
+-130	-0.0277175604156327
+-131	-0.0255031340290104
+-132	-0.0259704766205717
+-133	-0.026687135609607
+-134	-0.0259098393314182
+-135	-0.0257383295981194
+-136	-0.0223218665246626
+-137	-0.0237310896666623
+-138	-0.0241241330086241
+-139	-0.0289642979203642
+-140	-0.0268317636147499
+-141	-0.0245114013773254
+-142	-0.0203659369554139
+-143	0.0378050317430218
+-144	0.426940829336361
+-145	0.38796107377986
+-146	0.0415547540823161
+-147	-0.0195440376652659
+-148	-0.0255053999646579
+-149	-0.0275465915036962
+-150	-0.0268562381835056
+-151	-0.0234577846735018
+-152	-0.0209532827400553
+-153	-0.0189455488110332
+-154	-0.02305883351641
+-155	-0.0263771953757563
+-156	-0.0280604279698784
+-157	-0.0270717426772097
+-158	-0.0246648903144108
+-159	-0.0247175651482116
+-160	-0.021051073568524
+-161	-0.0163198388224076
+-162	-0.0144235534240568
+-163	-0.0136936717999382
+-164	-0.01698846339106
+-165	-0.0172619597265475
+-166	-0.022224434827852
+-167	-0.0219642323974638
+-168	-0.0213243463149422
+-169	-0.0192387869040187
+-170	-0.0197178180625259
+-171	-0.0247915784961403
+-172	-0.0218270561892234
+-173	-0.0262672996245232
+-174	-0.024849965587679
+-175	-0.0250252615288926
+-176	-0.0251007165159392
+-177	-0.0238806074688618
+-178	-0.0238757651256144
+-179	-0.0240426101294269
+-180	-0.0234219466443065
+-181	-0.0212602833600402
+-182	-0.0229991714197526
+-183	-0.0261227540349392
+-184	-0.0221623986521011
+-185	-0.0198657473347064
+-186	0.036858247139314
+-187	0.29256789370978
+-188	0.217268577909927
+-189	0.196770495691689
+-190	0.094220865706204
+-191	-0.0203791531848586
+-192	-0.0242142425710697
+-193	-0.0227327141359121
+-194	-0.0219087131272295
+-195	-0.0139180641371944
+-196	-0.0165931483689415
+-197	-0.0139691174427045
+-198	-0.0250038332172815
+-199	-0.0262538643545197
+-200	-0.025280145240993
+-201	-0.022716588551902
+-202	-0.0229491126971064
+-203	-0.020163745252957
+-204	-0.0180649219211942
+-205	-0.0174961232004392
+-206	-0.0153752959032635
+-207	-0.0151070882074296
+-208	-0.0162636711403948
+-209	-0.0213539658247787
+-210	-0.0241878645706104
+-211	-0.0233292145480391
+-212	-0.0222792602366159
+-213	-0.0200857928095336
+-214	-0.0224102357962423
+-215	-0.0200431331454358
+-216	-0.0251386240282493
+-217	-0.0217360075267156
+-218	-0.0231247916814153
+-219	-0.0236289558661022
+-220	-0.022798275340034
+-221	-0.022394916702971
+-222	-0.0240641627722647
+-223	-0.02767136777592
+-224	-0.0188563255687053
+-225	-0.0201523683449021
+-226	-0.0196358949998781
+-227	-0.0201572059848371
+-228	-0.0180306969850485
+-229	0.0330883208878215
+-230	0.187053030884649
+-231	0.180166992312632
+-232	0.175193540635547
+-233	0.0852511978178321
+-234	0.0836036324945735
+-235	-0.0180475894095978
+-236	-0.0203965677916504
+-237	-0.0234729155755235
+-238	-0.0203967773857997
+-239	-0.0168134546888542
+-240	-0.0145823454491767
+-241	-0.0182208080214287
+-242	-0.0222702719218944
+-243	-0.0245502962962475
+-244	-0.0230701140380481
+-245	-0.0205544743992634
+-246	-0.0152766305199052
+-247	-0.015660060910655
+-248	-0.0182272831792615
+-249	-0.0161416465628721
+-250	-0.0138775731037607
+-251	-0.0146059144127008
+-252	-0.014851378459684
+-253	-0.0174697076620558
+-254	-0.020394504090619
+-255	-0.020923051703186
+-256	-0.0188690748415421
+-257	-0.020691771573437
+-258	-0.0180158099925264
+-259	-0.025009300618942
+-260	-0.0241656012183153
+-261	-0.0201701986649696
+-262	-0.0213418341591563
+-263	-0.0212876158412719
+-264	-0.0196613481631524
+-265	-0.0224579972849258
+-266	-0.0222709347842853
+-267	-0.021839178151421
+-268	-0.0181242059899927
+-269	-0.0196595880691145
+-270	-0.0176712734167537
+-271	-0.0174037647691641
+-272	0.0361609936559733
+-273	0.136273065680629
+-274	0.137142321378537
+-275	0.119170985165791
+-276	0.135128869617739
+-277	0.0365729744317657
+-278	0.0813532152332901
+-279	-0.0164218823860774
+-280	-0.0150012133117104
+-281	-0.0180652264456629
+-282	-0.0180223031364979
+-283	-0.0146583895021702
+-284	-0.0178385632762936
+-285	-0.0183688063955637
+-286	-0.0199104201945895
+-287	-0.0209162045756424
+-288	-0.0182424612671294
+-289	-0.0102871995641823
+-290	-0.0097194264103497
+-291	-0.0166796622739482
+-292	-0.0193090133043633
+-293	-0.0109789304127889
+-294	-0.0145511817849648
+-295	-0.0159177263733151
+-296	-0.0162297085566881
+-297	-0.0160458825546633
+-298	-0.0185277530735613
+-299	-0.0201185134004853
+-300	-0.0225767827149403
+-301	-0.020600528590444
+-302	-0.0178266254999198
+-303	-0.0228272615104135
+-304	-0.0188650304163709
+-305	-0.0192512492130587
+-306	-0.0198882781449453
+-307	-0.018944580372254
+-308	-0.0191976364453834
+-309	-0.020380651922197
+-310	-0.020008249388093
+-311	-0.0199582696579672
+-312	-0.016107489794778
+-313	-0.0168857973840798
+-314	-0.0159072805310197
+-315	0.0337796643954297
+-316	0.091400279956598
+-317	0.128355772863555
+-318	0.0811615095759163
+-319	0.0770716694548368
+-320	0.145070077843674
+-321	-0.0188619341727165
+-322	0.0799864438805513
+-323	-0.0199478816959614
+-324	-0.0210772723197886
+-325	-0.0210646569907724
+-326	-0.0200788443102393
+-327	-0.0211662403279555
+-328	-0.0167589827973132
+-329	-0.0177459345163699
+-330	-0.0176456584861234
+-331	-0.0220878387663237
+-332	-0.0138294678922046
+-333	-0.00950860063270121
+-334	-0.0127373100109087
+-335	-0.0165386832541542
+-336	-0.0182671925631197
+-337	-0.0109720091878599
+-338	-0.0142702474119185
+-339	-0.0110379801788155
+-340	-0.0154139924731546
+-341	-0.0128889876019394
+-342	-0.0173631353598641
+-343	-0.0222795571128729
+-344	-0.0201510823246637
+-345	-0.014168231775332
+-346	-0.0172988244822199
+-347	-0.0166164172889096
+-348	-0.0174591997875334
+-349	-0.0178598488132696
+-350	-0.0174148484681578
+-351	-0.0181701494308226
+-352	-0.0170602479756066
+-353	-0.022860700637634
+-354	-0.0186677124344551
+-355	-0.0163631644839097
+-356	-0.0150447805883455
+-357	-0.0155934972805149
+-358	0.0412705831487356
+-359	0.0432271691160312
+-360	0.134082054092421
+-361	0.030429559359917
+-362	0.128011199059957
+-363	0.0290649669583617
+-364	0.0977105919898357
+-365	0.0268435678280154
+-366	0.0353018054840323
+-367	-0.0198055818066033
+-368	-0.018378272291099
+-369	-0.019916785016334
+-370	-0.0205847247605069
+-371	-0.0201224650176015
+-372	-0.01627691948957
+-373	-0.0153629187371632
+-374	-0.0125002930105743
+-375	-0.0160149273157025
+-376	-0.0130459873232066
+-377	-0.0117001449083753
+-378	-0.0128253666323881
+-379	-0.0149389076420028
+-380	-0.0147672676170861
+-381	-0.00941821935965455
+-382	-0.00473688018446407
+-383	-0.00808553215461901
+-384	-0.0105108934303795
+-385	-0.0155256488187373
+-386	-0.0210836438529971
+-387	-0.0194168403848756
+-388	-0.0138959279148097
+-389	-0.0167510111816621
+-390	-0.0170725457918982
+-391	-0.016150326422395
+-392	-0.0187592561556726
+-393	-0.0201368328637298
+-394	-0.0171077907044443
+-395	-0.0171103523390093
+-396	-0.0182097163513887
+-397	-0.0172423936894017
+-398	-0.0146907180546899
+-399	-0.0148205318166592
+-400	-0.0144952560105946
+-401	0.0391317015604062
+-402	-0.00325045294442625
+-403	0.135229844753472
+-404	0.0339587870366385
+-405	0.0833862815909146
+-406	0.0775145154752597
+-407	0.0288174710076017
+-408	0.0542563755615635
+-409	0.0810954683226646
+-410	-0.017752492355491
+-411	-0.0180579468812209
+-412	-0.0189407872188061
+-413	-0.0189713023163003
+-414	-0.0189831714463216
+-415	-0.0186956047569828
+-416	-0.0188493030013216
+-417	-0.0190954931073824
+-418	-0.0189538951395989
+-419	-0.0168159225101202
+-420	-0.0149622277586486
+-421	-0.0134585088118323
+-422	-0.0107702264004257
+-423	-0.0116881974906342
+-424	-0.0135084097379996
+-425	-0.0115600330212086
+-426	-0.00385827806043179
+-427	-0.00648046756427941
+-428	-0.010678969741849
+-429	-0.0174377994416611
+-430	-0.0197415520446045
+-431	-0.01387746808618
+-432	-0.0142870555311067
+-433	-0.0126167043533278
+-434	-0.0145341368337345
+-435	-0.0172588314742905
+-436	-0.0192532464901077
+-437	-0.0178888029842574
+-438	-0.0149435002438141
+-439	-0.0143499589296186
+-440	-0.0113284320025856
+-441	-0.0146907285452937
+-442	-0.0118090676160861
+-443	-0.0129550696231186
+-444	-0.00943679479582223
+-445	0.0410693940588715
+-446	0.0981340063555525
+-447	0.0301059977373294
+-448	0.0798620238351765
+-449	0.0399504241633469
+-450	0.0799710609081107
+-451	0.0375183260101038
+-452	-0.0128846089593424
+-453	0.093737068719454
+-454	-0.0166488241943883
+-455	-0.0171620322539306
+-456	-0.0176681103949864
+-457	-0.0177135709591161
+-458	-0.0174025569142706
+-459	-0.0176679666536122
+-460	-0.0181412705139815
+-461	-0.0178162340211567
+-462	-0.0148661374954626
+-463	-0.012878454938704
+-464	-0.0136407519521233
+-465	-0.0103957847636471
+-466	-0.00908338367847883
+-467	-0.0110136706236845
+-468	-0.0121798225855914
+-469	-0.00417292561751909
+-470	-0.00307290764550916
+-471	-0.00798497461616614
+-472	-0.0111435895667381
+-473	-0.0153727357774596
+-474	-0.0130271532875312
+-475	-0.0124190182516596
+-476	-0.0084547082575317
+-477	-0.00918576031696132
+-478	-0.0162409259378339
+-479	-0.018065492839516
+-480	-0.0168355167430056
+-481	-0.0140509731408616
+-482	-0.0149035783683084
+-483	-0.00931711982847588
+-484	-0.014271656696945
+-485	-0.0121711176661241
+-486	-0.016804905268994
+-487	-0.0104196286531009
+-488	0.0383870537436679
+-489	0.0552773935471216
+-490	0.0345937652331171
+-491	0.0813542198669446
+-492	0.0363428500481453
+-493	0.0402459628537269
+-494	0.0880185317795738
+-495	-0.0129023101613787
+-496	0.0302552183198115
+-497	0.0536535190947818
+-498	-0.0156069516901892
+-499	-0.0162156062091284
+-500	-0.0162183722980474
+-501	-0.0157747057135625
+-502	-0.0166040466989765
+-503	-0.0161608566990615
+-504	-0.0167537182627031
+-505	-0.0164722018431066
+-506	-0.0143593770446019
+-507	-0.012530817471516
+-508	-0.0130107038316214
+-509	-0.0127117424488491
+-510	-0.0123582491090572
+-511	-0.0143988077890034
+-512	-0.0132043617399602
+-513	-0.0121255066830081
+-514	-0.00947286185269373
+-515	-0.00465100530248661
+-516	-0.0117788080303492
+-517	-0.0130751296092514
+-518	-0.0155036171011815
+-519	-0.010643006695032
+-520	-0.00739844298156769
+-521	-0.0112412204699085
+-522	-0.0161872155724303
+-523	-0.0168989403333427
+-524	-0.0153730958327368
+-525	-0.0125043590711503
+-526	-0.00940141758011818
+-527	-0.00767975179438695
+-528	-0.0109057442427293
+-529	-0.0152170670171314
+-530	-0.0148168636021302
+-531	0.0536268084567977
+-532	0.00159158256076242
+-533	0.0395691988094227
+-534	0.0851832556342331
+-535	0.0404885336981451
+-536	0.0359152408805565
+-537	0.0400801815807958
+-538	0.0426897422408288
+-539	0.032487435819703
+-540	0.0379746640301957
+-541	-0.0114145850527779
+-542	-0.0143266971158537
+-543	-0.0144808626295274
+-544	-0.0142835316361234
+-545	-0.0144672980991767
+-546	-0.0149347701157941
+-547	-0.0147221461325212
+-548	-0.0149340818843796
+-549	-0.0149339646879691
+-550	-0.0125515123976881
+-551	-0.0106843909304337
+-552	-0.0120477982033282
+-553	-0.0107426813396423
+-554	-0.0103781179386869
+-555	-0.00980456885361171
+-556	-0.0108064202489364
+-557	-0.0121145826899896
+-558	-0.00556810926546485
+-559	-0.00930006259964903
+-560	-0.00516953265688487
+-561	-0.0103764487413688
+-562	-0.0101531608339304
+-563	-0.00918822426319678
+-564	-0.0101644666934554
+-565	-0.0112481176383032
+-566	-0.0145127017542735
+-567	-0.0147134045513878
+-568	-0.0123144344086325
+-569	-0.00570964879226978
+-570	-0.0063187706922707
+-571	-0.00374866158046794
+-572	-0.013607724159013
+-573	-0.0137804453374875
+-574	-0.00939070104936453
+-575	0.0423495547767671
+-576	0.000209272987046017
+-577	0.0880471222849516
+-578	0.0385858128624645
+-579	0.0396811891208319
+-580	0.0353924058064461
+-581	0.0495909051898724
+-582	-0.0113155170664094
+-583	0.0871168673380537
+-584	-0.0115980451842322
+-585	-0.0125526032386238
+-586	-0.012561736194457
+-587	-0.0122507426071209
+-588	-0.0123064811043512
+-589	-0.0121521641917975
+-590	-0.0125333975284308
+-591	-0.0130863343506295
+-592	-0.0134314408515597
+-593	-0.0107991754906669
+-594	-0.00884398203252155
+-595	-0.0100733336463772
+-596	-0.00922955762602743
+-597	-0.00949676131734901
+-598	-0.0110224903229849
+-599	-0.00991288650680148
+-600	-0.00936825932623963
+-601	-0.00980726528701717
+-602	-0.00476664596953343
+-603	-0.011430503413995
+-604	-0.0113213354943102
+-605	-0.0134064415109797
+-606	-0.0126055847537459
+-607	-0.0135083477615435
+-608	-0.0113488370833923
+-609	-0.0093156617098165
+-610	-0.00976577466545605
+-611	-0.0133363567698321
+-612	-0.00759897085944556
+-613	-0.00510037875494374
+-614	-0.00408004384283288
+-615	-0.00918160520147706
+-616	-0.0108113236545845
+-617	-0.0106231816617747
+-618	-0.00758999243430865
+-619	0.0435531551195662
+-620	0.0520037268502813
+-621	0.0439044539134388
+-622	0.0386654726142954
+-623	0.0394118644732992
+-624	0.0449248987301056
+-625	-0.00863719437291388
+-626	0.0412392562292136
+-627	0.0440129688249318
+-628	-0.0101620925718705
+-629	-0.0109600840877224
+-630	-0.0112705053011257
+-631	-0.0116301438053661
+-632	-0.0113736455019991
+-633	-0.0117661118641892
+-634	-0.0113961495319145
+-635	-0.0117740021837853
+-636	-0.0117094958602983
+-637	-0.00939366161371644
+-638	-0.00755907350023703
+-639	-0.00838658396126048
+-640	-0.0074832135472603
+-641	-0.00801205358318107
+-642	-0.00624145194619799
+-643	-0.0070240024426915
+-644	-0.00834613473332137
+-645	-0.00670243676363534
+-646	-0.0106128186631781
+-647	-0.0123852232161095
+-648	-0.0124265826160123
+-649	-0.0112567385689026
+-650	-0.0126065730661914
+-651	-0.0123854746644478
+-652	-0.00987776546588025
+-653	-0.00722003160503851
+-654	-0.00380201074432189
+-655	-0.00665072917336648
+-656	-0.00528196776714817
+-657	-0.00510807558151163
+-658	-0.00811089821457131
+-659	-0.00755766045240185
+-660	-0.00919072675598614
+-661	-0.00917820835177611
+-662	0.0449751982709438
+-663	0.00545567790804502
+-664	0.047402752921981
+-665	0.0446605853927159
+-666	0.0383269966597984
+-667	0.0485706532828867
+-668	-0.00861899683875584
+-669	0.036175649351787
+-670	0.0495063574698606
+-671	-0.00922596004976487
+-672	-0.0101114415486753
+-673	-0.00993735125464903
+-674	-0.0100323503804273
+-675	-0.0105460378506107
+-676	-0.0101900492452311
+-677	-0.0104909689537006
+-678	-0.0106006916930028
+-679	-0.0104312931865838
+-680	-0.0103517278463301
+-681	-0.00740828023970121
+-682	-0.00544494861028685
+-683	-0.00608611560648061
+-684	-0.00534756025333046
+-685	-0.0031542340646546
+-686	-0.00508349746510613
+-687	-0.00739762226897734
+-688	-0.0053663959286737
+-689	-0.00916557860646553
+-690	-0.0110500156300869
+-691	-0.00988205922376505
+-692	-0.0109866472880073
+-693	-0.0111866547046902
+-694	-0.0111122786835176
+-695	-0.0108203039490724
+-696	-0.0102592902413053
+-697	-0.0107873762797399
+-698	-0.010503275107589
+-699	-0.0107835661252666
+-700	-0.00885386551992296
+-701	-0.00913096053370505
+-702	-0.006655207615153
+-703	-0.00593455487034946
+-704	-0.00427919054888438
+-705	-0.007897096903017
+-706	0.0490946252850488
+-707	0.00815207966824887
+-708	0.0473241399151052
+-709	0.0451019841097689
+-710	0.0479372536790981
+-711	-0.00656127986315397
+-712	0.0402549343925511
+-713	0.0449105363109089
+-714	-0.00775184190900309
+-715	-0.00768054605133951
+-716	-0.00839927750787529
+-717	-0.00843853230017117
+-718	-0.00790960738283612
+-719	-0.0080103177775415
+-720	-0.00742775541399996
+-721	-0.00765629252098078
+-722	-0.00799975093255115
+-723	-0.00852792228057431
+-724	-0.00869178550957608
+-725	-0.00626674339877887
+-726	-0.00412677151228354
+-727	-0.0048446048963408
+-728	-0.000902395625628718
+-729	-0.000758143099110528
+-730	-0.00408369870009201
+-731	-0.00365498969615341
+-732	-0.00766259847340275
+-733	-0.00952428752243833
+-734	-0.00944480113586648
+-735	-0.00948862662694449
+-736	-0.00966174451824508
+-737	-0.00945600129424617
+-738	-0.00943741727131444
+-739	-0.00927951393185398
+-740	-0.00928797610609347
+-741	-0.0093286159789273
+-742	-0.00765123775530771
+-743	-0.00891136789083873
+-744	-0.00940772724441718
+-745	-0.00786456325355482
+-746	-0.0047977712696699
+-747	-0.00308223523552548
+-748	0.000335699172084439
+-749	-0.00143686229797692
+-750	0.0513266950133769
+-751	0.00563569816195414
+-752	0.0477166719391144
+-753	0.0538442014782216
+-754	-0.0056982279416085
+-755	0.0394329868140949
+-756	0.0485711646307275
+-757	-0.00685930745583302
+-758	-0.0069941514632557
+-759	-0.0066395137630499
+-760	-0.00736962474522024
+-761	-0.00752916655217279
+-762	-0.00739785479449587
+-763	-0.00756967688350672
+-764	-0.00753735518588655
+-765	-0.00780124181595982
+-766	-0.0077216624864741
+-767	-0.00784018338356136
+-768	-0.00785468874319521
+-769	-0.00421699574952483
+-770	-0.00190288158223283
+-771	-0.000206480072774308
+-772	0.00141964253926074
+-773	-4.28774976178744e-05
+-774	-0.000986275524641414
+-775	-0.00657709364993877
+-776	-0.00833283088512488
+-777	-0.00818951629006444
+-778	-0.00836751926023713
+-779	-0.00846989619881298
+-780	-0.00820214471451413
+-781	-0.00821893302874576
+-782	-0.00796875201723603
+-783	-0.00797370090373924
+-784	-0.00777868495761638
+-785	-0.00789699981214183
+-786	-0.00815610674254451
+-787	-0.00778049198735858
+-788	-0.00818383133025141
+-789	-0.00781336379026083
+-790	-0.00682906252309473
+-791	-0.00521347355977257
+-792	-0.00500213245575373
+-793	-0.00506883410260168
+-794	0.0474518412366765
+-795	0.00530982771618318
+-796	0.0565700977023552
+-797	-0.000392750407902867
+-798	0.0453538486416986
+-799	0.0476616389325516
+-800	-0.00485863626421196
+-801	-0.00525412195734806
+-802	-0.00565503507026226
+-803	-0.00551485423027977
+-804	-0.00524396672704169
+-805	-0.00590408701477556
+-806	-0.00575508257342466
+-807	-0.0058689006002845
+-808	-0.00561694855307918
+-809	-0.00612555234095552
+-810	-0.00608574219510099
+-811	-0.00564904015986621
+-812	-0.00490660016533395
+-813	-0.0046171197705464
+-814	0.00177390652695689
+-815	0.0035896881022546
+-816	0.00161554733058578
+-817	0.00437187124600963
+-818	-0.000991588850557123
+-819	-0.00478099352848916
+-820	-0.00637007664471483
+-821	-0.00627509734235782
+-822	-0.00655857327658989
+-823	-0.00656425755979379
+-824	-0.00650927617188294
+-825	-0.00650262457960547
+-826	-0.00662413230967772
+-827	-0.00657738252698944
+-828	-0.00645476393708
+-829	-0.00659463926044406
+-830	-0.00649001643087145
+-831	-0.00610360245952262
+-832	-0.00578387897293013
+-833	-0.00402985580826015
+-834	-0.00406634314030596
+-835	-0.00261501841642483
+-836	-0.00301755910132054
+-837	-0.00326543386600453
+-838	0.0572941624786258
+-839	0.00764310260634384
+-840	0.00124989263445848
+-841	0.0485617649608875
+-842	0.0534245959427794
+-843	-0.00365723487459394
+-844	-0.00424930954244624
+-845	-0.00447294923783986
+-846	-0.0044749818394267
+-847	-0.00464870339809727
+-848	-0.00404145529364563
+-849	-0.0047634223597755
+-850	-0.00467301475043984
+-851	-0.00482869667199491
+-852	-0.00492239000387982
+-853	-0.00463765006041817
+-854	-0.0046895918656674
+-855	-0.00469126659620766
+-856	-0.00430815035273188
+-857	-0.00128800088385523
+-858	0.00267781615699824
+-859	0.00356342242419808
+-860	0.00436645666734667
+-861	0.00184035931246651
+-862	-0.000943211896465123
+-863	-0.00341308542653818
+-864	-0.00529528124001912
+-865	-0.00542898683100493
+-866	-0.00553749798487258
+-867	-0.00551487806193758
+-868	-0.00531561848433044
+-869	-0.0053876668196608
+-870	-0.00553192702900933
+-871	-0.00563989142175504
+-872	-0.00521799189299869
+-873	-0.00553828490350608
+-874	-0.00542860483166627
+-875	-0.00537895256953826
+-876	-0.00402015584547178
+-877	-0.00377599406291178
+-878	-0.00402869364355377
+-879	-0.00251857216946617
+-880	-0.00240522631583728
+-881	-0.00231339313710883
+-882	-0.00221867026914885
+-883	0.0485842407165457
+-884	0.00444090950886226
+-885	0.052462247531025
+-886	-0.00245866728272721
+-887	-0.00219100298033388
+-888	-0.00258850605081842
+-889	-0.0027963562987193
+-890	-0.00291992258910256
+-891	-0.00299261604099267
+-892	-0.00287127254000797
+-893	-0.00289608069594768
+-894	-0.00280812344627608
+-895	-0.00270762901550325
+-896	-0.00266975879125481
+-897	-0.00220006592251856
+-898	-0.00202466427043569
+-899	0.0013412649013256
+-900	0.00249450051103929
+-901	0.00162230152238072
+-902	0.00338232047570188
+-903	-6.05925325718229e-05
+-904	-0.00259194486873829
+-905	-0.00291640344192111
+-906	-0.00250008679719597
+-907	-0.0028490159247303
+-908	-0.00308392356343406
+-909	-0.00315698199289235
+-910	-0.00298811214364333
+-911	-0.00314332876724667
+-912	-0.0031949080511993
+-913	-0.00322269110310181
+-914	-0.00327914040255845
+-915	-0.00328848900129892
+-916	-0.00333752382027206
+-917	-0.00309757512659634
+-918	-0.00328479456404456
+-919	-0.00212177476264958
+-920	-0.00213301941637447
+-921	-0.00216845672650316
+-922	-0.00207541491244113
+-923	-0.00207359226664921
+-924	-0.000795789430015217
+-925	-0.000779514662456165
+-926	-0.000756465833443346
+-927	0.0577265267706453
+-928	0.00687785865649293
+-929	-0.00083343873726207
+-930	-0.00107719646114928
+-931	-0.00108475651120658
+-932	-0.00117127681410593
+-933	-0.00122811644473185
+-934	-0.00127607908277042
+-935	-0.00131021310298656
+-936	-0.0013179072335
+-937	-0.00147237322207706
+-938	-0.00138343425729852
+-939	-0.00136475351227092
+-940	-0.00143219923016344
+-941	-0.00132045547517709
+-942	-0.00124130927220743
+-943	-0.00118457113968125
+-944	-0.0011509753919375
+-945	-0.000999222689811352
+-946	-0.00117359451012239
+-947	-0.00105429594479484
+-948	-0.00122085082695325
+-949	-0.00129578013904683
+-950	-0.00102761415169174
+-951	-0.00140096472953254
+-952	-0.00139860939031699
+-953	-0.00151498094704311
+-954	-0.0014719650713445
+-955	-0.00156023800835947
+-956	-0.00160881766904741
+-957	-0.00156225880303738
+-958	-0.00163459726309757
+-959	-0.00163126714870796
+-960	-0.00165394472715442
+-961	-5.20102850007659e-05
+-962	-0.000181333021969587
+-963	-0.000229410914437179
+-964	-0.000271936329999531
+-965	-0.000289225646672715
+-966	-0.000264626695269327
+-967	-0.000343743683778553
+-968	0.00109579617257524
+-969	0.00106253650901319
+-970	0.00103053375796608
+-971	0.000994475133650943
+-972	0.00096219604797213
+-973	0.000930291083643673
+-974	0.00089629434032705
+-975	0.000862706715224073
+-976	0.000829567281721935
+-977	0.000796368072697504
+-978	0.000761767798271763
+-979	0.000730769092014861
+-980	0.000695768030599533
+-981	0.000665093515571032
+-982	0.000631804759496164
+-983	0.000597688431802904
+-984	0.000571043223397954
+-985	0.00053621559120878
+-986	0.0005056031461063
+-987	0.000470414024698076
+-988	0.000436113652307852
+-989	0.000401280866025421
+-990	0.000366892747802913
+-991	0.000332558486017457
+-992	0.00029776201514551
+-993	0.000264088081422397
+-994	0.000229570195953799
+-995	0.000203049247782519
+-996	0.000169032219339048
+-997	0.000134474421245207
+-998	0.000100377453607142
+-999	6.59658062483004e-05
+diff --git a/lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_pretty.dat b/lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_pretty.dat
+deleted file mode 100644
+index 619ef98..0000000
+--- a/lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_pretty.dat
++++ /dev/null
+@@ -1,901 +0,0 @@
+-#scatter	real	total	user	system	repeat
+-101	0.00208497047424316	0.0	0.0	0.0	101
+-102	0.00208020210266113	0.0	0.0	0.0	102
+-103	0.00206804275512695	0.0	0.0	0.0	103
+-104	0.00207710266113281	0.0	0.0	0.0	104
+-105	0.00206398963928223	0.00999999999999979	0.00999999999999979	0.0	105
+-106	0.00206398963928223	0.0	0.0	0.0	106
+-107	0.00208497047424316	0.0	0.0	0.0	107
+-108	0.00206398963928223	0.0	0.0	0.0	108
+-109	0.00207400321960449	0.0	0.0	0.0	109
+-110	0.00206398963928223	0.0	0.0	0.0	110
+-111	0.00205802917480469	0.0	0.0	0.0	111
+-112	0.00207996368408203	0.0	0.0	0.0	112
+-113	0.00207304954528809	0.0	0.0	0.0	113
+-114	0.00206899642944336	0.00999999999999979	0.00999999999999979	0.0	114
+-115	0.00207114219665527	0.0	0.0	0.0	115
+-116	0.00212287902832031	0.0	0.0	0.0	116
+-117	0.00205707550048828	0.0	0.0	0.0	117
+-118	0.0020599365234375	0.0	0.0	0.0	118
+-119	0.00206613540649414	0.0100000000000016	0.0100000000000016	0.0	119
+-120	0.00205683708190918	0.0	0.0	0.0	120
+-121	0.00205206871032715	0.0	0.0	0.0	121
+-122	0.00204992294311523	0.0	0.0	0.0	122
+-123	0.00208115577697754	0.0	0.0	0.0	123
+-124	0.00205588340759277	0.00999999999999979	0.00999999999999979	0.0	124
+-125	0.00207877159118652	0.0	0.0	0.0	125
+-126	0.00207400321960449	0.0	0.0	0.0	126
+-127	0.00206089019775391	0.0	0.0	0.0	127
+-128	0.00205779075622559	0.00999999999999979	0.00999999999999979	0.0	128
+-129	0.00205898284912109	0.0	0.0	0.0	129
+-130	0.00206899642944336	0.0	0.0	0.0	130
+-131	0.00204896926879883	0.0	0.0	0.0	131
+-132	0.00209593772888184	0.0	0.0	0.0	132
+-133	0.00208401679992676	0.00999999999999979	0.00999999999999979	0.0	133
+-134	0.0276279449462891	0.0199999999999996	0.0199999999999996	0.0	134
+-135	0.0021820068359375	0.00999999999999979	0.00999999999999979	0.0	135
+-136	0.00213503837585449	0.0	0.0	0.0	136
+-137	0.00211405754089355	0.0	0.0	0.0	137
+-138	0.00212502479553223	0.0	0.0	0.0	138
+-139	0.0020899772644043	0.0	0.0	0.0	139
+-140	0.00207901000976562	0.00999999999999979	0.00999999999999979	0.0	140
+-141	0.00206589698791504	0.0	0.0	0.0	141
+-142	0.00207710266113281	0.0	0.0	0.0	142
+-143	0.00205492973327637	0.0	0.0	0.0	143
+-144	0.00208020210266113	0.0	0.0	0.0	144
+-145	0.00206184387207031	0.00999999999999979	0.00999999999999979	0.0	145
+-146	0.00208377838134766	0.0	0.0	0.0	146
+-147	0.00206995010375977	0.0	0.0	0.0	147
+-148	0.00206708908081055	0.0	0.0	0.0	148
+-149	0.00207114219665527	0.0100000000000016	0.0100000000000016	0.0	149
+-150	0.0020759105682373	0.0	0.0	0.0	150
+-151	0.0021510124206543	0.0	0.0	0.0	151
+-152	0.00207805633544922	0.0	0.0	0.0	152
+-153	0.00206089019775391	0.0	0.0	0.0	153
+-154	0.00206089019775391	0.00999999999999979	0.00999999999999979	0.0	154
+-155	0.00207614898681641	0.0	0.0	0.0	155
+-156	0.00205588340759277	0.0	0.0	0.0	156
+-157	0.00206494331359863	0.0	0.0	0.0	157
+-158	0.00280499458312988	0.00999999999999979	0.00999999999999979	0.0	158
+-159	0.00453996658325195	0.0	0.0	0.0	159
+-160	0.00369596481323242	0.0	0.0	0.0	160
+-161	0.00410914421081543	0.00999999999999979	0.00999999999999979	0.0	161
+-162	0.00381112098693848	0.0	0.0	0.0	162
+-163	0.00235795974731445	0.0	0.0	0.0	163
+-164	0.00209784507751465	0.0	0.0	0.0	164
+-165	0.00204992294311523	0.00999999999999979	0.00999999999999979	0.0	165
+-166	0.00204110145568848	0.0	0.0	0.0	166
+-167	0.00205802917480469	0.0	0.0	0.0	167
+-168	0.00205707550048828	0.0	0.0	0.0	168
+-169	0.00208711624145508	0.0	0.0	0.0	169
+-170	0.00208187103271484	0.00999999999999979	0.00999999999999979	0.0	170
+-171	0.00205421447753906	0.0	0.0	0.0	171
+-172	0.0020749568939209	0.0	0.0	0.0	172
+-173	0.00210809707641602	0.0	0.0	0.0	173
+-174	0.00206804275512695	0.00999999999999979	0.00999999999999979	0.0	174
+-175	0.00205206871032715	0.0	0.0	0.0	175
+-176	0.00207614898681641	0.0	0.0	0.0	176
+-177	0.0020759105682373	0.0	0.0	0.0	177
+-178	0.0242831707000732	0.0300000000000011	0.0300000000000011	0.0	178
+-179	0.00222992897033691	0.0	0.0	0.0	179
+-180	0.00214791297912598	0.0	0.0	0.0	180
+-181	0.00211286544799805	0.0	0.0	0.0	181
+-182	0.00209379196166992	0.0	0.0	0.0	182
+-183	0.00209307670593262	0.0	0.0	0.0	183
+-184	0.00218510627746582	0.0	0.0	0.0	184
+-185	0.00206613540649414	0.0	0.0	0.0	185
+-186	0.00207090377807617	0.0	0.0	0.0	186
+-187	0.00206613540649414	0.00999999999999979	0.00999999999999979	0.0	187
+-188	0.00206112861633301	0.0	0.0	0.0	188
+-189	0.00206303596496582	0.0	0.0	0.0	189
+-190	0.00205802917480469	0.0	0.0	0.0	190
+-191	0.00206398963928223	0.0	0.0	0.0	191
+-192	0.00210189819335938	0.00999999999999979	0.00999999999999979	0.0	192
+-193	0.00206804275512695	0.0	0.0	0.0	193
+-194	0.00206708908081055	0.0	0.0	0.0	194
+-195	0.00206208229064941	0.0	0.0	0.0	195
+-196	0.0020899772644043	0.0	0.0	0.0	196
+-197	0.00205612182617188	0.00999999999999979	0.00999999999999979	0.0	197
+-198	0.00205898284912109	0.0	0.0	0.0	198
+-199	0.00208115577697754	0.0	0.0	0.0	199
+-200	0.0020759105682373	0.0	0.0	0.0	200
+-201	0.00205302238464355	0.00999999999999979	0.00999999999999979	0.0	201
+-202	0.00206995010375977	0.0	0.0	0.0	202
+-203	0.00206089019775391	0.0	0.0	0.0	203
+-204	0.0020439624786377	0.0	0.0	0.0	204
+-205	0.00207185745239258	0.0	0.0	0.0	205
+-206	0.0020449161529541	0.00999999999999979	0.00999999999999979	0.0	206
+-207	0.00223898887634277	0.0	0.0	0.0	207
+-208	0.00205707550048828	0.0	0.0	0.0	208
+-209	0.00206303596496582	0.0	0.0	0.0	209
+-210	0.00205707550048828	0.0	0.0	0.0	210
+-211	0.00204896926879883	0.0100000000000016	0.0100000000000016	0.0	211
+-212	0.00204205513000488	0.0	0.0	0.0	212
+-213	0.00211596488952637	0.0	0.0	0.0	213
+-214	0.00206494331359863	0.0	0.0	0.0	214
+-215	0.0020749568939209	0.0	0.0	0.0	215
+-216	0.00206279754638672	0.00999999999999979	0.00999999999999979	0.0	216
+-217	0.00206589698791504	0.0	0.0	0.0	217
+-218	0.00207114219665527	0.0	0.0	0.0	218
+-219	0.00208210945129395	0.0	0.0	0.0	219
+-220	0.00207901000976562	0.00999999999999979	0.00999999999999979	0.0	220
+-221	0.00207304954528809	0.0	0.0	0.0	221
+-222	0.00209498405456543	0.0	0.0	0.0	222
+-223	0.0286588668823242	0.0299999999999994	0.0299999999999994	0.0	223
+-224	0.00219297409057617	0.0	0.0	0.0	224
+-225	0.00214004516601562	0.0	0.0	0.0	225
+-226	0.00212192535400391	0.00999999999999979	0.00999999999999979	0.0	226
+-227	0.00208878517150879	0.0	0.0	0.0	227
+-228	0.00208306312561035	0.0	0.0	0.0	228
+-229	0.00206398963928223	0.0	0.0	0.0	229
+-230	0.00207996368408203	0.0	0.0	0.0	230
+-231	0.00206494331359863	0.00999999999999979	0.00999999999999979	0.0	231
+-232	0.00206494331359863	0.0	0.0	0.0	232
+-233	0.0020751953125	0.0	0.0	0.0	233
+-234	0.00207805633544922	0.0	0.0	0.0	234
+-235	0.00206494331359863	0.0	0.0	0.0	235
+-236	0.00206398963928223	0.00999999999999979	0.00999999999999979	0.0	236
+-237	0.0020749568939209	0.0	0.0	0.0	237
+-238	0.00206494331359863	0.0	0.0	0.0	238
+-239	0.00206494331359863	0.0	0.0	0.0	239
+-240	0.00205492973327637	0.0	0.0	0.0	240
+-241	0.00206518173217773	0.0100000000000016	0.0100000000000016	0.0	241
+-242	0.00207686424255371	0.0	0.0	0.0	242
+-243	0.00204920768737793	0.0	0.0	0.0	243
+-244	0.00206398963928223	0.0	0.0	0.0	244
+-245	0.00206184387207031	0.00999999999999979	0.00999999999999979	0.0	245
+-246	0.00205397605895996	0.0	0.0	0.0	246
+-247	0.00206804275512695	0.0	0.0	0.0	247
+-248	0.00204014778137207	0.0	0.0	0.0	248
+-249	0.00206995010375977	0.0	0.0	0.0	249
+-250	0.00205802917480469	0.00999999999999979	0.00999999999999979	0.0	250
+-251	0.00205612182617188	0.0	0.0	0.0	251
+-252	0.0020439624786377	0.0	0.0	0.0	252
+-253	0.00204610824584961	0.0	0.0	0.0	253
+-254	0.00206518173217773	0.0	0.0	0.0	254
+-255	0.00204300880432129	0.00999999999999979	0.00999999999999979	0.0	255
+-256	0.00205802917480469	0.0	0.0	0.0	256
+-257	0.0020759105682373	0.0	0.0	0.0	257
+-258	0.00206303596496582	0.0	0.0	0.0	258
+-259	0.00207281112670898	0.0	0.0	0.0	259
+-260	0.00205898284912109	0.00999999999999979	0.00999999999999979	0.0	260
+-261	0.00205898284912109	0.0	0.0	0.0	261
+-262	0.00205683708190918	0.0	0.0	0.0	262
+-263	0.00207901000976562	0.0	0.0	0.0	263
+-264	0.00206780433654785	0.00999999999999979	0.00999999999999979	0.0	264
+-265	0.00208497047424316	0.0	0.0	0.0	265
+-266	0.00219416618347168	0.0	0.0	0.0	266
+-267	0.024918794631958	0.0199999999999996	0.0199999999999996	0.0	267
+-268	0.00214409828186035	0.0100000000000016	0.0100000000000016	0.0	268
+-269	0.0021209716796875	0.0	0.0	0.0	269
+-270	0.00211095809936523	0.0	0.0	0.0	270
+-271	0.00207209587097168	0.0	0.0	0.0	271
+-272	0.0020902156829834	0.00999999999999979	0.00999999999999979	0.0	272
+-273	0.00208091735839844	0.0	0.0	0.0	273
+-274	0.00206494331359863	0.0	0.0	0.0	274
+-275	0.00207281112670898	0.0	0.0	0.0	275
+-276	0.00205397605895996	0.0	0.0	0.0	276
+-277	0.0020599365234375	0.00999999999999979	0.00999999999999979	0.0	277
+-278	0.00206208229064941	0.0	0.0	0.0	278
+-279	0.00205898284912109	0.0	0.0	0.0	279
+-280	0.00207304954528809	0.0	0.0	0.0	280
+-281	0.0020909309387207	0.0	0.0	0.0	281
+-282	0.00206708908081055	0.00999999999999979	0.00999999999999979	0.0	282
+-283	0.00206303596496582	0.0	0.0	0.0	283
+-284	0.0020449161529541	0.0	0.0	0.0	284
+-285	0.00206398963928223	0.0	0.0	0.0	285
+-286	0.00204992294311523	0.0	0.0	0.0	286
+-287	0.00205111503601074	0.00999999999999979	0.00999999999999979	0.0	287
+-288	0.00205397605895996	0.0	0.0	0.0	288
+-289	0.00206589698791504	0.0	0.0	0.0	289
+-290	0.00206184387207031	0.0	0.0	0.0	290
+-291	0.00207281112670898	0.00999999999999979	0.00999999999999979	0.0	291
+-292	0.00205683708190918	0.0	0.0	0.0	292
+-293	0.00205802917480469	0.0	0.0	0.0	293
+-294	0.00206208229064941	0.0	0.0	0.0	294
+-295	0.00205206871032715	0.0	0.0	0.0	295
+-296	0.00206208229064941	0.00999999999999979	0.00999999999999979	0.0	296
+-297	0.00205707550048828	0.0	0.0	0.0	297
+-298	0.00207400321960449	0.0	0.0	0.0	298
+-299	0.00205802917480469	0.0	0.0	0.0	299
+-300	0.00205802917480469	0.0	0.0	0.0	300
+-301	0.00207018852233887	0.00999999999999979	0.00999999999999979	0.0	301
+-302	0.00206995010375977	0.0	0.0	0.0	302
+-303	0.0021510124206543	0.0	0.0	0.0	303
+-304	0.0020599365234375	0.0	0.0	0.0	304
+-305	0.00206208229064941	0.0	0.0	0.0	305
+-306	0.00221395492553711	0.0100000000000016	0.0100000000000016	0.0	306
+-307	0.00210285186767578	0.0	0.0	0.0	307
+-308	0.00223803520202637	0.0	0.0	0.0	308
+-309	0.0020909309387207	0.0	0.0	0.0	309
+-310	0.00207996368408203	0.00999999999999979	0.00999999999999979	0.0	310
+-311	0.0255651473999023	0.0199999999999996	0.0199999999999996	0.0	311
+-312	0.00424313545227051	0.00999999999999979	0.00999999999999979	0.0	312
+-313	0.00345015525817871	0.0	0.0	0.0	313
+-314	0.00213217735290527	0.0	0.0	0.0	314
+-315	0.00210309028625488	0.0	0.0	0.0	315
+-316	0.00207686424255371	0.00999999999999979	0.00999999999999979	0.0	316
+-317	0.00207209587097168	0.0	0.0	0.0	317
+-318	0.00213503837585449	0.0	0.0	0.0	318
+-319	0.00294709205627441	0.0	0.0	0.0	319
+-320	0.00207018852233887	0.00999999999999979	0.00999999999999979	0.0	320
+-321	0.00208091735839844	0.0	0.0	0.0	321
+-322	0.00208783149719238	0.0	0.0	0.0	322
+-323	0.00208806991577148	0.0	0.0	0.0	323
+-324	0.00208210945129395	0.0	0.0	0.0	324
+-325	0.0020601749420166	0.00999999999999979	0.00999999999999979	0.0	325
+-326	0.00206303596496582	0.0	0.0	0.0	326
+-327	0.00205588340759277	0.0	0.0	0.0	327
+-328	0.00206208229064941	0.0	0.0	0.0	328
+-329	0.00205492973327637	0.0	0.0	0.0	329
+-330	0.00205683708190918	0.00999999999999979	0.00999999999999979	0.0	330
+-331	0.00205397605895996	0.0	0.0	0.0	331
+-332	0.00206303596496582	0.0	0.0	0.0	332
+-333	0.00205397605895996	0.0	0.0	0.0	333
+-334	0.00205802917480469	0.0	0.0	0.0	334
+-335	0.00204992294311523	0.0100000000000016	0.0100000000000016	0.0	335
+-336	0.0020599365234375	0.0	0.0	0.0	336
+-337	0.00216293334960938	0.0	0.0	0.0	337
+-338	0.00204205513000488	0.0	0.0	0.0	338
+-339	0.00208377838134766	0.00999999999999979	0.00999999999999979	0.0	339
+-340	0.00212287902832031	0.0	0.0	0.0	340
+-341	0.00205206871032715	0.0	0.0	0.0	341
+-342	0.00207185745239258	0.0	0.0	0.0	342
+-343	0.00206279754638672	0.0	0.0	0.0	343
+-344	0.00204896926879883	0.00999999999999979	0.00999999999999979	0.0	344
+-345	0.00205779075622559	0.0	0.0	0.0	345
+-346	0.00207614898681641	0.0	0.0	0.0	346
+-347	0.00204992294311523	0.0	0.0	0.0	347
+-348	0.00206398963928223	0.0	0.0	0.0	348
+-349	0.00206184387207031	0.00999999999999979	0.00999999999999979	0.0	349
+-350	0.00206518173217773	0.0	0.0	0.0	350
+-351	0.00207805633544922	0.0	0.0	0.0	351
+-352	0.0020749568939209	0.0	0.0	0.0	352
+-353	0.00208401679992676	0.0	0.0	0.0	353
+-354	0.00214099884033203	0.00999999999999979	0.00999999999999979	0.0	354
+-355	0.0242671966552734	0.0199999999999996	0.0199999999999996	0.0	355
+-356	0.00216913223266602	0.0	0.0	0.0	356
+-357	0.00213503837585449	0.00999999999999979	0.00999999999999979	0.0	357
+-358	0.00212192535400391	0.0	0.0	0.0	358
+-359	0.00210094451904297	0.0	0.0	0.0	359
+-360	0.0020909309387207	0.0	0.0	0.0	360
+-361	0.00209498405456543	0.0	0.0	0.0	361
+-362	0.00208592414855957	0.0100000000000016	0.0100000000000016	0.0	362
+-363	0.00206685066223145	0.0	0.0	0.0	363
+-364	0.00205492973327637	0.0	0.0	0.0	364
+-365	0.00207710266113281	0.0	0.0	0.0	365
+-366	0.00207304954528809	0.0	0.0	0.0	366
+-367	0.00205421447753906	0.0	0.0	0.0	367
+-368	0.00206685066223145	0.0	0.0	0.0	368
+-369	0.00206613540649414	0.0	0.0	0.0	369
+-370	0.00255608558654785	0.0	0.0	0.0	370
+-371	0.00206899642944336	0.00999999999999979	0.00999999999999979	0.0	371
+-372	0.00216817855834961	0.0	0.0	0.0	372
+-373	0.00214409828186035	0.0	0.0	0.0	373
+-374	0.00205111503601074	0.0	0.0	0.0	374
+-375	0.0020749568939209	0.0	0.0	0.0	375
+-376	0.0020759105682373	0.00999999999999979	0.00999999999999979	0.0	376
+-377	0.0020599365234375	0.0	0.0	0.0	377
+-378	0.00207805633544922	0.0	0.0	0.0	378
+-379	0.00205898284912109	0.0	0.0	0.0	379
+-380	0.00205492973327637	0.0	0.0	0.0	380
+-381	0.00205397605895996	0.00999999999999979	0.00999999999999979	0.0	381
+-382	0.00205588340759277	0.0	0.0	0.0	382
+-383	0.00204014778137207	0.0	0.0	0.0	383
+-384	0.00204610824584961	0.0	0.0	0.0	384
+-385	0.00206184387207031	0.0	0.0	0.0	385
+-386	0.00203680992126465	0.00999999999999979	0.00999999999999979	0.0	386
+-387	0.00206804275512695	0.0	0.0	0.0	387
+-388	0.00205707550048828	0.0	0.0	0.0	388
+-389	0.00206804275512695	0.0	0.0	0.0	389
+-390	0.00206589698791504	0.00999999999999979	0.00999999999999979	0.0	390
+-391	0.00206780433654785	0.0	0.0	0.0	391
+-392	0.00206494331359863	0.0	0.0	0.0	392
+-393	0.00206303596496582	0.0	0.0	0.0	393
+-394	0.00204896926879883	0.0	0.0	0.0	394
+-395	0.00207185745239258	0.00999999999999979	0.00999999999999979	0.0	395
+-396	0.00207304954528809	0.0	0.0	0.0	396
+-397	0.00208806991577148	0.0	0.0	0.0	397
+-398	0.00208806991577148	0.0	0.0	0.0	398
+-399	0.024277925491333	0.0300000000000011	0.0300000000000011	0.0	399
+-400	0.00216102600097656	0.0	0.0	0.0	400
+-401	0.00212621688842773	0.0	0.0	0.0	401
+-402	0.00209689140319824	0.0	0.0	0.0	402
+-403	0.00210285186767578	0.00999999999999979	0.00999999999999979	0.0	403
+-404	0.00208210945129395	0.0	0.0	0.0	404
+-405	0.00401806831359863	0.0	0.0	0.0	405
+-406	0.00404691696166992	0.00999999999999979	0.00999999999999979	0.0	406
+-407	0.00400710105895996	0.0	0.0	0.0	407
+-408	0.00207805633544922	0.0	0.0	0.0	408
+-409	0.00208497047424316	0.0	0.0	0.0	409
+-410	0.0020751953125	0.00999999999999979	0.00999999999999979	0.0	410
+-411	0.00208187103271484	0.0	0.0	0.0	411
+-412	0.00213217735290527	0.0	0.0	0.0	412
+-413	0.00207400321960449	0.0	0.0	0.0	413
+-414	0.00206208229064941	0.0	0.0	0.0	414
+-415	0.00206613540649414	0.00999999999999979	0.00999999999999979	0.0	415
+-416	0.00204205513000488	0.0	0.0	0.0	416
+-417	0.00208091735839844	0.0	0.0	0.0	417
+-418	0.00227904319763184	0.0	0.0	0.0	418
+-419	0.00206899642944336	0.00999999999999979	0.00999999999999979	0.0	419
+-420	0.00207114219665527	0.0	0.0	0.0	420
+-421	0.00207090377807617	0.0	0.0	0.0	421
+-422	0.00204086303710938	0.0	0.0	0.0	422
+-423	0.00205683708190918	0.0	0.0	0.0	423
+-424	0.00205421447753906	0.00999999999999979	0.00999999999999979	0.0	424
+-425	0.00205588340759277	0.0	0.0	0.0	425
+-426	0.0020439624786377	0.0	0.0	0.0	426
+-427	0.00203394889831543	0.0	0.0	0.0	427
+-428	0.0020599365234375	0.0	0.0	0.0	428
+-429	0.00205612182617188	0.0100000000000016	0.0100000000000016	0.0	429
+-430	0.00206303596496582	0.0	0.0	0.0	430
+-431	0.00206899642944336	0.0	0.0	0.0	431
+-432	0.00206804275512695	0.0	0.0	0.0	432
+-433	0.00212502479553223	0.0	0.0	0.0	433
+-434	0.00207805633544922	0.00999999999999979	0.00999999999999979	0.0	434
+-435	0.00205397605895996	0.0	0.0	0.0	435
+-436	0.00214004516601562	0.0	0.0	0.0	436
+-437	0.0020451545715332	0.0	0.0	0.0	437
+-438	0.0020599365234375	0.00999999999999979	0.00999999999999979	0.0	438
+-439	0.00207805633544922	0.0	0.0	0.0	439
+-440	0.00207304954528809	0.0	0.0	0.0	440
+-441	0.00207090377807617	0.0	0.0	0.0	441
+-442	0.0238261222839355	0.0299999999999994	0.0299999999999994	0.0	442
+-443	0.00229191780090332	0.0	0.0	0.0	443
+-444	0.00225210189819336	0.0	0.0	0.0	444
+-445	0.00214314460754395	0.0	0.0	0.0	445
+-446	0.00211405754089355	0.0	0.0	0.0	446
+-447	0.0021059513092041	0.00999999999999979	0.00999999999999979	0.0	447
+-448	0.00212502479553223	0.0	0.0	0.0	448
+-449	0.00215005874633789	0.0	0.0	0.0	449
+-450	0.00206708908081055	0.0	0.0	0.0	450
+-451	0.00206208229064941	0.00999999999999979	0.00999999999999979	0.0	451
+-452	0.00206995010375977	0.0	0.0	0.0	452
+-453	0.00207304954528809	0.0	0.0	0.0	453
+-454	0.00208711624145508	0.0	0.0	0.0	454
+-455	0.00207400321960449	0.0	0.0	0.0	455
+-456	0.00205802917480469	0.0100000000000016	0.0100000000000016	0.0	456
+-457	0.00207400321960449	0.0	0.0	0.0	457
+-458	0.00209999084472656	0.0	0.0	0.0	458
+-459	0.00374412536621094	0.0	0.0	0.0	459
+-460	0.00207614898681641	0.0	0.0	0.0	460
+-461	0.00207996368408203	0.00999999999999979	0.00999999999999979	0.0	461
+-462	0.00205206871032715	0.0	0.0	0.0	462
+-463	0.00207209587097168	0.0	0.0	0.0	463
+-464	0.00206708908081055	0.0	0.0	0.0	464
+-465	0.00206398963928223	0.0	0.0	0.0	465
+-466	0.00205302238464355	0.00999999999999979	0.00999999999999979	0.0	466
+-467	0.00206995010375977	0.0	0.0	0.0	467
+-468	0.00209617614746094	0.0	0.0	0.0	468
+-469	0.00206899642944336	0.0	0.0	0.0	469
+-470	0.0020451545715332	0.0	0.0	0.0	470
+-471	0.00206589698791504	0.00999999999999979	0.00999999999999979	0.0	471
+-472	0.0020442008972168	0.0	0.0	0.0	472
+-473	0.00206089019775391	0.0	0.0	0.0	473
+-474	0.00205492973327637	0.0	0.0	0.0	474
+-475	0.00206708908081055	0.0	0.0	0.0	475
+-476	0.00205087661743164	0.00999999999999979	0.00999999999999979	0.0	476
+-477	0.00206589698791504	0.0	0.0	0.0	477
+-478	0.00207209587097168	0.0	0.0	0.0	478
+-479	0.00204992294311523	0.0	0.0	0.0	479
+-480	0.00207209587097168	0.00999999999999979	0.00999999999999979	0.0	480
+-481	0.0020599365234375	0.0	0.0	0.0	481
+-482	0.00206613540649414	0.0	0.0	0.0	482
+-483	0.00205898284912109	0.0	0.0	0.0	483
+-484	0.00209403038024902	0.0	0.0	0.0	484
+-485	0.00207710266113281	0.00999999999999979	0.00999999999999979	0.0	485
+-486	0.0239040851593018	0.0200000000000014	0.0200000000000014	0.0	486
+-487	0.00222492218017578	0.0	0.0	0.0	487
+-488	0.00213289260864258	0.0	0.0	0.0	488
+-489	0.0021212100982666	0.00999999999999979	0.00999999999999979	0.0	489
+-490	0.0021059513092041	0.0	0.0	0.0	490
+-491	0.00208616256713867	0.0	0.0	0.0	491
+-492	0.00208687782287598	0.0	0.0	0.0	492
+-493	0.00207901000976562	0.0	0.0	0.0	493
+-494	0.00206494331359863	0.00999999999999979	0.00999999999999979	0.0	494
+-495	0.00204300880432129	0.0	0.0	0.0	495
+-496	0.00206112861633301	0.0	0.0	0.0	496
+-497	0.00206708908081055	0.0	0.0	0.0	497
+-498	0.0030369758605957	0.00999999999999979	0.00999999999999979	0.0	498
+-499	0.00405597686767578	0.0	0.0	0.0	499
+-500	0.00401997566223145	0.0	0.0	0.0	500
+-501	0.0026099681854248	0.00999999999999979	0.00999999999999979	0.0	501
+-502	0.00206303596496582	0.0	0.0	0.0	502
+-503	0.00206589698791504	0.0	0.0	0.0	503
+-504	0.00206708908081055	0.0	0.0	0.0	504
+-505	0.00212311744689941	0.00999999999999979	0.00999999999999979	0.0	505
+-506	0.00225090980529785	0.0	0.0	0.0	506
+-507	0.00206089019775391	0.0	0.0	0.0	507
+-508	0.00205683708190918	0.0	0.0	0.0	508
+-509	0.00205397605895996	0.0	0.0	0.0	509
+-510	0.00206184387207031	0.00999999999999979	0.00999999999999979	0.0	510
+-511	0.00205707550048828	0.0	0.0	0.0	511
+-512	0.00204896926879883	0.0	0.0	0.0	512
+-513	0.00204920768737793	0.0	0.0	0.0	513
+-514	0.00206398963928223	0.0	0.0	0.0	514
+-515	0.00204992294311523	0.00999999999999979	0.00999999999999979	0.0	515
+-516	0.00204110145568848	0.0	0.0	0.0	516
+-517	0.00205183029174805	0.0	0.0	0.0	517
+-518	0.00206089019775391	0.0	0.0	0.0	518
+-519	0.00207400321960449	0.00999999999999979	0.00999999999999979	0.0	519
+-520	0.00206184387207031	0.0	0.0	0.0	520
+-521	0.00205802917480469	0.0	0.0	0.0	521
+-522	0.00205802917480469	0.0	0.0	0.0	522
+-523	0.00206112861633301	0.0	0.0	0.0	523
+-524	0.00215315818786621	0.0100000000000016	0.0100000000000016	0.0	524
+-525	0.0020451545715332	0.0	0.0	0.0	525
+-526	0.00207614898681641	0.0	0.0	0.0	526
+-527	0.00208091735839844	0.0	0.0	0.0	527
+-528	0.00208616256713867	0.0	0.0	0.0	528
+-529	0.00211095809936523	0.00999999999999979	0.00999999999999979	0.0	529
+-530	0.0298140048980713	0.0299999999999994	0.0299999999999994	0.0	530
+-531	0.00220298767089844	0.0	0.0	0.0	531
+-532	0.00216102600097656	0.0	0.0	0.0	532
+-533	0.00211501121520996	0.0	0.0	0.0	533
+-534	0.00208687782287598	0.00999999999999979	0.00999999999999979	0.0	534
+-535	0.0021059513092041	0.0	0.0	0.0	535
+-536	0.00210785865783691	0.0	0.0	0.0	536
+-537	0.0020749568939209	0.0	0.0	0.0	537
+-538	0.00207400321960449	0.0	0.0	0.0	538
+-539	0.00206589698791504	0.00999999999999979	0.00999999999999979	0.0	539
+-540	0.00211691856384277	0.0	0.0	0.0	540
+-541	0.00208401679992676	0.0	0.0	0.0	541
+-542	0.00206995010375977	0.0	0.0	0.0	542
+-543	0.00206995010375977	0.0	0.0	0.0	543
+-544	0.00207996368408203	0.00999999999999979	0.00999999999999979	0.0	544
+-545	0.00206589698791504	0.0	0.0	0.0	545
+-546	0.00207996368408203	0.0	0.0	0.0	546
+-547	0.00207018852233887	0.0	0.0	0.0	547
+-548	0.00206899642944336	0.0	0.0	0.0	548
+-549	0.00207304954528809	0.0100000000000016	0.0100000000000016	0.0	549
+-550	0.00206708908081055	0.0	0.0	0.0	550
+-551	0.00209689140319824	0.0	0.0	0.0	551
+-552	0.0020749568939209	0.0	0.0	0.0	552
+-553	0.00207400321960449	0.00999999999999979	0.00999999999999979	0.0	553
+-554	0.00207400321960449	0.0	0.0	0.0	554
+-555	0.0020449161529541	0.0	0.0	0.0	555
+-556	0.00207209587097168	0.0	0.0	0.0	556
+-557	0.00205898284912109	0.0	0.0	0.0	557
+-558	0.00214600563049316	0.00999999999999979	0.00999999999999979	0.0	558
+-559	0.00205612182617188	0.0	0.0	0.0	559
+-560	0.00207901000976562	0.0	0.0	0.0	560
+-561	0.00205612182617188	0.0	0.0	0.0	561
+-562	0.00205707550048828	0.0	0.0	0.0	562
+-563	0.00205397605895996	0.00999999999999979	0.00999999999999979	0.0	563
+-564	0.00207209587097168	0.0	0.0	0.0	564
+-565	0.0020599365234375	0.0	0.0	0.0	565
+-566	0.00208687782287598	0.0	0.0	0.0	566
+-567	0.00206708908081055	0.00999999999999979	0.00999999999999979	0.0	567
+-568	0.00205397605895996	0.0	0.0	0.0	568
+-569	0.00206995010375977	0.0	0.0	0.0	569
+-570	0.00204896926879883	0.0	0.0	0.0	570
+-571	0.00208187103271484	0.0	0.0	0.0	571
+-572	0.00207901000976562	0.00999999999999979	0.00999999999999979	0.0	572
+-573	0.0231339931488037	0.0199999999999996	0.0199999999999996	0.0	573
+-574	0.00312709808349609	0.0	0.0	0.0	574
+-575	0.00215601921081543	0.0	0.0	0.0	575
+-576	0.00213813781738281	0.0100000000000016	0.0100000000000016	0.0	576
+-577	0.00209593772888184	0.0	0.0	0.0	577
+-578	0.00209403038024902	0.0	0.0	0.0	578
+-579	0.00207901000976562	0.0	0.0	0.0	579
+-580	0.00208401679992676	0.0	0.0	0.0	580
+-581	0.00207114219665527	0.0	0.0	0.0	581
+-582	0.00207710266113281	0.0	0.0	0.0	582
+-583	0.00206685066223145	0.0	0.0	0.0	583
+-584	0.00206184387207031	0.0	0.0	0.0	584
+-585	0.00205588340759277	0.00999999999999979	0.00999999999999979	0.0	585
+-586	0.0020751953125	0.0	0.0	0.0	586
+-587	0.00206303596496582	0.0	0.0	0.0	587
+-588	0.00206303596496582	0.0	0.0	0.0	588
+-589	0.00205612182617188	0.0	0.0	0.0	589
+-590	0.00207281112670898	0.00999999999999979	0.00999999999999979	0.0	590
+-591	0.00385499000549316	0.0	0.0	0.0	591
+-592	0.00404191017150879	0.0	0.0	0.0	592
+-593	0.00359702110290527	0.00999999999999979	0.00999999999999979	0.0	593
+-594	0.0020909309387207	0.0	0.0	0.0	594
+-595	0.00204992294311523	0.0	0.0	0.0	595
+-596	0.0020909309387207	0.0	0.0	0.0	596
+-597	0.0020749568939209	0.00999999999999979	0.00999999999999979	0.0	597
+-598	0.00209784507751465	0.0	0.0	0.0	598
+-599	0.00205683708190918	0.0	0.0	0.0	599
+-600	0.00203394889831543	0.0	0.0	0.0	600
+-601	0.00205302238464355	0.0	0.0	0.0	601
+-602	0.00205016136169434	0.00999999999999979	0.00999999999999979	0.0	602
+-603	0.0020599365234375	0.0	0.0	0.0	603
+-604	0.00205111503601074	0.0	0.0	0.0	604
+-605	0.00206780433654785	0.0	0.0	0.0	605
+-606	0.00204992294311523	0.00999999999999979	0.00999999999999979	0.0	606
+-607	0.00206804275512695	0.0	0.0	0.0	607
+-608	0.0020439624786377	0.0	0.0	0.0	608
+-609	0.00205683708190918	0.0	0.0	0.0	609
+-610	0.00210785865783691	0.0	0.0	0.0	610
+-611	0.00206685066223145	0.00999999999999979	0.00999999999999979	0.0	611
+-612	0.00205206871032715	0.0	0.0	0.0	612
+-613	0.00204706192016602	0.0	0.0	0.0	613
+-614	0.00208616256713867	0.0	0.0	0.0	614
+-615	0.00210213661193848	0.0	0.0	0.0	615
+-616	0.0239150524139404	0.0300000000000011	0.0300000000000011	0.0	616
+-617	0.00241804122924805	0.0	0.0	0.0	617
+-618	0.00215888023376465	0.0	0.0	0.0	618
+-619	0.00210809707641602	0.00999999999999979	0.00999999999999979	0.0	619
+-620	0.00209403038024902	0.0	0.0	0.0	620
+-621	0.00210905075073242	0.0	0.0	0.0	621
+-622	0.00210404396057129	0.0	0.0	0.0	622
+-623	0.00208401679992676	0.0	0.0	0.0	623
+-624	0.00205111503601074	0.00999999999999979	0.00999999999999979	0.0	624
+-625	0.00206303596496582	0.0	0.0	0.0	625
+-626	0.0020599365234375	0.0	0.0	0.0	626
+-627	0.00207400321960449	0.0	0.0	0.0	627
+-628	0.0020759105682373	0.0	0.0	0.0	628
+-629	0.00206995010375977	0.00999999999999979	0.00999999999999979	0.0	629
+-630	0.0021660327911377	0.0	0.0	0.0	630
+-631	0.00207710266113281	0.0	0.0	0.0	631
+-632	0.00208401679992676	0.0	0.0	0.0	632
+-633	0.00205492973327637	0.0	0.0	0.0	633
+-634	0.00207018852233887	0.00999999999999979	0.00999999999999979	0.0	634
+-635	0.00204586982727051	0.0	0.0	0.0	635
+-636	0.00205898284912109	0.0	0.0	0.0	636
+-637	0.0029301643371582	0.0	0.0	0.0	637
+-638	0.00209999084472656	0.00999999999999979	0.00999999999999979	0.0	638
+-639	0.00206685066223145	0.0	0.0	0.0	639
+-640	0.00207400321960449	0.0	0.0	0.0	640
+-641	0.00206184387207031	0.0	0.0	0.0	641
+-642	0.00205183029174805	0.0	0.0	0.0	642
+-643	0.0020592212677002	0.0100000000000016	0.0100000000000016	0.0	643
+-644	0.00204300880432129	0.0	0.0	0.0	644
+-645	0.00207090377807617	0.0	0.0	0.0	645
+-646	0.00207710266113281	0.0	0.0	0.0	646
+-647	0.00206089019775391	0.00999999999999979	0.00999999999999979	0.0	647
+-648	0.00205516815185547	0.0	0.0	0.0	648
+-649	0.0020599365234375	0.0	0.0	0.0	649
+-650	0.00206398963928223	0.0	0.0	0.0	650
+-651	0.00206279754638672	0.0	0.0	0.0	651
+-652	0.00206804275512695	0.00999999999999979	0.00999999999999979	0.0	652
+-653	0.00206804275512695	0.0	0.0	0.0	653
+-654	0.00207209587097168	0.0	0.0	0.0	654
+-655	0.00206518173217773	0.0	0.0	0.0	655
+-656	0.00206589698791504	0.0	0.0	0.0	656
+-657	0.00209808349609375	0.00999999999999979	0.00999999999999979	0.0	657
+-658	0.00213718414306641	0.0	0.0	0.0	658
+-659	0.00212907791137695	0.0	0.0	0.0	659
+-660	0.0242199897766113	0.0199999999999996	0.0199999999999996	0.0	660
+-661	0.00217413902282715	0.0	0.0	0.0	661
+-662	0.00212502479553223	0.0	0.0	0.0	662
+-663	0.0021059513092041	0.0	0.0	0.0	663
+-664	0.0020909309387207	0.0	0.0	0.0	664
+-665	0.00208711624145508	0.00999999999999979	0.00999999999999979	0.0	665
+-666	0.00214982032775879	0.0	0.0	0.0	666
+-667	0.00213503837585449	0.0	0.0	0.0	667
+-668	0.00210404396057129	0.0	0.0	0.0	668
+-669	0.00216293334960938	0.0	0.0	0.0	669
+-670	0.00207996368408203	0.0100000000000016	0.0100000000000016	0.0	670
+-671	0.00222396850585938	0.0	0.0	0.0	671
+-672	0.00205898284912109	0.0	0.0	0.0	672
+-673	0.00205397605895996	0.0	0.0	0.0	673
+-674	0.00206708908081055	0.00999999999999979	0.00999999999999979	0.0	674
+-675	0.00205898284912109	0.0	0.0	0.0	675
+-676	0.00207400321960449	0.0	0.0	0.0	676
+-677	0.0020599365234375	0.0	0.0	0.0	677
+-678	0.00206208229064941	0.0	0.0	0.0	678
+-679	0.00206589698791504	0.00999999999999979	0.00999999999999979	0.0	679
+-680	0.00203895568847656	0.0	0.0	0.0	680
+-681	0.00205302238464355	0.0	0.0	0.0	681
+-682	0.00205397605895996	0.0	0.0	0.0	682
+-683	0.0020599365234375	0.0	0.0	0.0	683
+-684	0.00207614898681641	0.00999999999999979	0.00999999999999979	0.0	684
+-685	0.00306200981140137	0.0	0.0	0.0	685
+-686	0.00403904914855957	0.0	0.0	0.0	686
+-687	0.00366306304931641	0.00999999999999979	0.00999999999999979	0.0	687
+-688	0.00224184989929199	0.0	0.0	0.0	688
+-689	0.00207114219665527	0.0	0.0	0.0	689
+-690	0.00205707550048828	0.0	0.0	0.0	690
+-691	0.00207996368408203	0.00999999999999979	0.00999999999999979	0.0	691
+-692	0.00224709510803223	0.0	0.0	0.0	692
+-693	0.00273489952087402	0.0	0.0	0.0	693
+-694	0.00208401679992676	0.0	0.0	0.0	694
+-695	0.00205206871032715	0.00999999999999979	0.00999999999999979	0.0	695
+-696	0.00206899642944336	0.0	0.0	0.0	696
+-697	0.00205492973327637	0.0	0.0	0.0	697
+-698	0.00207281112670898	0.0	0.0	0.0	698
+-699	0.00207114219665527	0.0	0.0	0.0	699
+-700	0.00206804275512695	0.00999999999999979	0.00999999999999979	0.0	700
+-701	0.00208711624145508	0.0	0.0	0.0	701
+-702	0.0020899772644043	0.0	0.0	0.0	702
+-703	0.0264170169830322	0.0300000000000011	0.0300000000000011	0.0	703
+-704	0.00216817855834961	0.0	0.0	0.0	704
+-705	0.00217700004577637	0.0	0.0	0.0	705
+-706	0.00212311744689941	0.0	0.0	0.0	706
+-707	0.0021059513092041	0.0	0.0	0.0	707
+-708	0.00207686424255371	0.00999999999999979	0.00999999999999979	0.0	708
+-709	0.00207686424255371	0.0	0.0	0.0	709
+-710	0.00207209587097168	0.0	0.0	0.0	710
+-711	0.00206804275512695	0.0	0.0	0.0	711
+-712	0.00208497047424316	0.0	0.0	0.0	712
+-713	0.00206303596496582	0.00999999999999979	0.00999999999999979	0.0	713
+-714	0.00206899642944336	0.0	0.0	0.0	714
+-715	0.00206398963928223	0.0	0.0	0.0	715
+-716	0.00207996368408203	0.0	0.0	0.0	716
+-717	0.00206804275512695	0.00999999999999979	0.00999999999999979	0.0	717
+-718	0.00205397605895996	0.0	0.0	0.0	718
+-719	0.00206899642944336	0.0	0.0	0.0	719
+-720	0.00207686424255371	0.0	0.0	0.0	720
+-721	0.00207400321960449	0.0	0.0	0.0	721
+-722	0.00207614898681641	0.00999999999999979	0.00999999999999979	0.0	722
+-723	0.00206184387207031	0.0	0.0	0.0	723
+-724	0.00207996368408203	0.0	0.0	0.0	724
+-725	0.00208902359008789	0.0	0.0	0.0	725
+-726	0.00206303596496582	0.0	0.0	0.0	726
+-727	0.00204992294311523	0.00999999999999979	0.00999999999999979	0.0	727
+-728	0.00205898284912109	0.0	0.0	0.0	728
+-729	0.00204992294311523	0.0	0.0	0.0	729
+-730	0.00204205513000488	0.0	0.0	0.0	730
+-731	0.00205898284912109	0.0	0.0	0.0	731
+-732	0.00206422805786133	0.00999999999999979	0.00999999999999979	0.0	732
+-733	0.00205898284912109	0.0	0.0	0.0	733
+-734	0.00205111503601074	0.0	0.0	0.0	734
+-735	0.00208902359008789	0.0	0.0	0.0	735
+-736	0.00207805633544922	0.0100000000000016	0.0100000000000016	0.0	736
+-737	0.00207400321960449	0.0	0.0	0.0	737
+-738	0.00205492973327637	0.0	0.0	0.0	738
+-739	0.0020751953125	0.0	0.0	0.0	739
+-740	0.00207400321960449	0.0	0.0	0.0	740
+-741	0.00206089019775391	0.00999999999999979	0.00999999999999979	0.0	741
+-742	0.00254416465759277	0.0	0.0	0.0	742
+-743	0.00206899642944336	0.0	0.0	0.0	743
+-744	0.00208902359008789	0.0	0.0	0.0	744
+-745	0.00208783149719238	0.0	0.0	0.0	745
+-746	0.0239109992980957	0.0299999999999994	0.0299999999999994	0.0	746
+-747	0.00231599807739258	0.0	0.0	0.0	747
+-748	0.00217008590698242	0.0	0.0	0.0	748
+-749	0.00211906433105469	0.0	0.0	0.0	749
+-750	0.00209808349609375	0.00999999999999979	0.00999999999999979	0.0	750
+-751	0.00207805633544922	0.0	0.0	0.0	751
+-752	0.00208497047424316	0.0	0.0	0.0	752
+-753	0.00206589698791504	0.0	0.0	0.0	753
+-754	0.00207901000976562	0.00999999999999979	0.00999999999999979	0.0	754
+-755	0.00206089019775391	0.0	0.0	0.0	755
+-756	0.00207114219665527	0.0	0.0	0.0	756
+-757	0.0020759105682373	0.0	0.0	0.0	757
+-758	0.00206613540649414	0.0	0.0	0.0	758
+-759	0.00204706192016602	0.00999999999999979	0.00999999999999979	0.0	759
+-760	0.00205898284912109	0.0	0.0	0.0	760
+-761	0.0020749568939209	0.0	0.0	0.0	761
+-762	0.00206208229064941	0.0	0.0	0.0	762
+-763	0.00206804275512695	0.0	0.0	0.0	763
+-764	0.00213193893432617	0.0100000000000016	0.0100000000000016	0.0	764
+-765	0.00206494331359863	0.0	0.0	0.0	765
+-766	0.00205707550048828	0.0	0.0	0.0	766
+-767	0.00206589698791504	0.0	0.0	0.0	767
+-768	0.00207901000976562	0.00999999999999979	0.00999999999999979	0.0	768
+-769	0.00204682350158691	0.0	0.0	0.0	769
+-770	0.00206899642944336	0.0	0.0	0.0	770
+-771	0.00208497047424316	0.0	0.0	0.0	771
+-772	0.00206398963928223	0.0	0.0	0.0	772
+-773	0.00205683708190918	0.00999999999999979	0.00999999999999979	0.0	773
+-774	0.00205397605895996	0.0	0.0	0.0	774
+-775	0.00206184387207031	0.0	0.0	0.0	775
+-776	0.00205206871032715	0.0	0.0	0.0	776
+-777	0.00205802917480469	0.0	0.0	0.0	777
+-778	0.00281596183776855	0.00999999999999979	0.00999999999999979	0.0	778
+-779	0.00403189659118652	0.0	0.0	0.0	779
+-780	0.00367498397827148	0.0	0.0	0.0	780
+-781	0.00383210182189941	0.00999999999999979	0.00999999999999979	0.0	781
+-782	0.00206995010375977	0.0	0.0	0.0	782
+-783	0.00206804275512695	0.0	0.0	0.0	783
+-784	0.00208091735839844	0.00999999999999979	0.00999999999999979	0.0	784
+-785	0.00210189819335938	0.0	0.0	0.0	785
+-786	0.00206494331359863	0.0	0.0	0.0	786
+-787	0.00209212303161621	0.0	0.0	0.0	787
+-788	0.00208687782287598	0.0	0.0	0.0	788
+-789	0.0249569416046143	0.0299999999999994	0.0299999999999994	0.0	789
+-790	0.00217914581298828	0.0	0.0	0.0	790
+-791	0.00213813781738281	0.0	0.0	0.0	791
+-792	0.00213003158569336	0.0100000000000016	0.0100000000000016	0.0	792
+-793	0.00212001800537109	0.0	0.0	0.0	793
+-794	0.00209903717041016	0.0	0.0	0.0	794
+-795	0.0021519660949707	0.0	0.0	0.0	795
+-796	0.0020749568939209	0.0	0.0	0.0	796
+-797	0.00205802917480469	0.00999999999999979	0.00999999999999979	0.0	797
+-798	0.00208711624145508	0.0	0.0	0.0	798
+-799	0.00205707550048828	0.0	0.0	0.0	799
+-800	0.00207114219665527	0.0	0.0	0.0	800
+-801	0.00207710266113281	0.0	0.0	0.0	801
+-802	0.00207400321960449	0.00999999999999979	0.00999999999999979	0.0	802
+-803	0.00207686424255371	0.0	0.0	0.0	803
+-804	0.00207185745239258	0.0	0.0	0.0	804
+-805	0.00206398963928223	0.0	0.0	0.0	805
+-806	0.00205898284912109	0.0	0.0	0.0	806
+-807	0.00205302238464355	0.00999999999999979	0.00999999999999979	0.0	807
+-808	0.00205397605895996	0.0	0.0	0.0	808
+-809	0.00205206871032715	0.0	0.0	0.0	809
+-810	0.00205111503601074	0.0	0.0	0.0	810
+-811	0.0020749568939209	0.00999999999999979	0.00999999999999979	0.0	811
+-812	0.00206279754638672	0.0	0.0	0.0	812
+-813	0.00205302238464355	0.0	0.0	0.0	813
+-814	0.00204801559448242	0.0	0.0	0.0	814
+-815	0.00205302238464355	0.0	0.0	0.0	815
+-816	0.00206995010375977	0.00999999999999979	0.00999999999999979	0.0	816
+-817	0.00208091735839844	0.0	0.0	0.0	817
+-818	0.00214910507202148	0.0	0.0	0.0	818
+-819	0.00205802917480469	0.0	0.0	0.0	819
+-820	0.00217890739440918	0.0	0.0	0.0	820
+-821	0.00206398963928223	0.00999999999999979	0.00999999999999979	0.0	821
+-822	0.00204706192016602	0.0	0.0	0.0	822
+-823	0.00205111503601074	0.0	0.0	0.0	823
+-824	0.00206804275512695	0.0	0.0	0.0	824
+-825	0.00206089019775391	0.00999999999999979	0.00999999999999979	0.0	825
+-826	0.00207018852233887	0.0	0.0	0.0	826
+-827	0.00208306312561035	0.0	0.0	0.0	827
+-828	0.00205206871032715	0.0	0.0	0.0	828
+-829	0.00206398963928223	0.0	0.0	0.0	829
+-830	0.00209403038024902	0.0100000000000016	0.0100000000000016	0.0	830
+-831	0.00208497047424316	0.0	0.0	0.0	831
+-832	0.023939847946167	0.0199999999999996	0.0199999999999996	0.0	832
+-833	0.00230288505554199	0.0	0.0	0.0	833
+-834	0.0021669864654541	0.00999999999999979	0.00999999999999979	0.0	834
+-835	0.00211286544799805	0.0	0.0	0.0	835
+-836	0.0021059513092041	0.0	0.0	0.0	836
+-837	0.00207304954528809	0.0	0.0	0.0	837
+-838	0.0020749568939209	0.0	0.0	0.0	838
+-839	0.00204682350158691	0.00999999999999979	0.00999999999999979	0.0	839
+-840	0.00207400321960449	0.0	0.0	0.0	840
+-841	0.0020592212677002	0.0	0.0	0.0	841
+-842	0.00206589698791504	0.0	0.0	0.0	842
+-843	0.00207114219665527	0.00999999999999979	0.00999999999999979	0.0	843
+-844	0.00207304954528809	0.0	0.0	0.0	844
+-845	0.00208091735839844	0.0	0.0	0.0	845
+-846	0.00206303596496582	0.0	0.0	0.0	846
+-847	0.00208115577697754	0.0	0.0	0.0	847
+-848	0.00204992294311523	0.00999999999999979	0.00999999999999979	0.0	848
+-849	0.00209403038024902	0.0	0.0	0.0	849
+-850	0.00208497047424316	0.0	0.0	0.0	850
+-851	0.00206804275512695	0.0	0.0	0.0	851
+-852	0.00207209587097168	0.0	0.0	0.0	852
+-853	0.0020599365234375	0.00999999999999979	0.00999999999999979	0.0	853
+-854	0.0021519660949707	0.0	0.0	0.0	854
+-855	0.00205707550048828	0.0	0.0	0.0	855
+-856	0.00204801559448242	0.0	0.0	0.0	856
+-857	0.00205111503601074	0.0100000000000016	0.0100000000000016	0.0	857
+-858	0.00204992294311523	0.0	0.0	0.0	858
+-859	0.00207304954528809	0.0	0.0	0.0	859
+-860	0.00205898284912109	0.0	0.0	0.0	860
+-861	0.00205802917480469	0.0	0.0	0.0	861
+-862	0.00205397605895996	0.00999999999999979	0.00999999999999979	0.0	862
+-863	0.00206089019775391	0.0	0.0	0.0	863
+-864	0.00206780433654785	0.0	0.0	0.0	864
+-865	0.00206708908081055	0.0	0.0	0.0	865
+-866	0.00214815139770508	0.0	0.0	0.0	866
+-867	0.00205397605895996	0.00999999999999979	0.00999999999999979	0.0	867
+-868	0.00206112861633301	0.0	0.0	0.0	868
+-869	0.00206589698791504	0.0	0.0	0.0	869
+-870	0.00207686424255371	0.0	0.0	0.0	870
+-871	0.00206613540649414	0.0	0.0	0.0	871
+-872	0.00345492362976074	0.00999999999999979	0.00999999999999979	0.0	872
+-873	0.00410318374633789	0.0	0.0	0.0	873
+-874	0.00406002998352051	0.00999999999999979	0.00999999999999979	0.0	874
+-875	0.0259261131286621	0.0199999999999996	0.0199999999999996	0.0	875
+-876	0.00219607353210449	0.0	0.0	0.0	876
+-877	0.00211405754089355	0.00999999999999979	0.00999999999999979	0.0	877
+-878	0.00212407112121582	0.0	0.0	0.0	878
+-879	0.00208306312561035	0.0	0.0	0.0	879
+-880	0.00209808349609375	0.0	0.0	0.0	880
+-881	0.00233793258666992	0.0	0.0	0.0	881
+-882	0.00206804275512695	0.00999999999999979	0.00999999999999979	0.0	882
+-883	0.0020759105682373	0.0	0.0	0.0	883
+-884	0.00209188461303711	0.0	0.0	0.0	884
+-885	0.00206899642944336	0.0	0.0	0.0	885
+-886	0.00205397605895996	0.0100000000000016	0.0100000000000016	0.0	886
+-887	0.00205588340759277	0.0	0.0	0.0	887
+-888	0.00216484069824219	0.0	0.0	0.0	888
+-889	0.00208091735839844	0.0	0.0	0.0	889
+-890	0.0020751953125	0.0	0.0	0.0	890
+-891	0.00336885452270508	0.00999999999999979	0.00999999999999979	0.0	891
+-892	0.00415396690368652	0.0	0.0	0.0	892
+-893	0.0037381649017334	0.00999999999999979	0.00999999999999979	0.0	893
+-894	0.00412487983703613	0.0	0.0	0.0	894
+-895	0.00375986099243164	0.0	0.0	0.0	895
+-896	0.00278496742248535	0.00999999999999979	0.00999999999999979	0.0	896
+-897	0.00209403038024902	0.0	0.0	0.0	897
+-898	0.00205516815185547	0.0	0.0	0.0	898
+-899	0.00205516815185547	0.0	0.0	0.0	899
+-900	0.00203704833984375	0.0	0.0	0.0	900
+-901	0.0020599365234375	0.00999999999999979	0.00999999999999979	0.0	901
+-902	0.00205421447753906	0.0	0.0	0.0	902
+-903	0.0020599365234375	0.0	0.0	0.0	903
+-904	0.00206089019775391	0.0	0.0	0.0	904
+-905	0.00207686424255371	0.00999999999999979	0.00999999999999979	0.0	905
+-906	0.00207209587097168	0.0	0.0	0.0	906
+-907	0.00205898284912109	0.0	0.0	0.0	907
+-908	0.00206112861633301	0.0	0.0	0.0	908
+-909	0.00209903717041016	0.0	0.0	0.0	909
+-910	0.00206708908081055	0.00999999999999979	0.00999999999999979	0.0	910
+-911	0.00206804275512695	0.0	0.0	0.0	911
+-912	0.00206804275512695	0.0	0.0	0.0	912
+-913	0.00207805633544922	0.0	0.0	0.0	913
+-914	0.00206613540649414	0.0	0.0	0.0	914
+-915	0.00205707550048828	0.00999999999999979	0.00999999999999979	0.0	915
+-916	0.00208497047424316	0.0	0.0	0.0	916
+-917	0.00207996368408203	0.0	0.0	0.0	917
+-918	0.0248808860778809	0.0300000000000011	0.0300000000000011	0.0	918
+-919	0.00217318534851074	0.0	0.0	0.0	919
+-920	0.00228309631347656	0.0	0.0	0.0	920
+-921	0.00214815139770508	0.0	0.0	0.0	921
+-922	0.00209498405456543	0.0	0.0	0.0	922
+-923	0.00209903717041016	0.00999999999999979	0.00999999999999979	0.0	923
+-924	0.00206685066223145	0.0	0.0	0.0	924
+-925	0.00208783149719238	0.0	0.0	0.0	925
+-926	0.0020751953125	0.0	0.0	0.0	926
+-927	0.0020599365234375	0.00999999999999979	0.00999999999999979	0.0	927
+-928	0.00206398963928223	0.0	0.0	0.0	928
+-929	0.00207400321960449	0.0	0.0	0.0	929
+-930	0.00224184989929199	0.0	0.0	0.0	930
+-931	0.00207209587097168	0.0	0.0	0.0	931
+-932	0.00207114219665527	0.00999999999999979	0.00999999999999979	0.0	932
+-933	0.00206995010375977	0.0	0.0	0.0	933
+-934	0.00206613540649414	0.0	0.0	0.0	934
+-935	0.00207114219665527	0.0	0.0	0.0	935
+-936	0.00207901000976562	0.0	0.0	0.0	936
+-937	0.00206494331359863	0.00999999999999979	0.00999999999999979	0.0	937
+-938	0.0020751953125	0.0	0.0	0.0	938
+-939	0.00211882591247559	0.0	0.0	0.0	939
+-940	0.00212502479553223	0.0	0.0	0.0	940
+-941	0.00206303596496582	0.0	0.0	0.0	941
+-942	0.00205111503601074	0.00999999999999979	0.00999999999999979	0.0	942
+-943	0.00204205513000488	0.0	0.0	0.0	943
+-944	0.00206303596496582	0.0	0.0	0.0	944
+-945	0.00205516815185547	0.0	0.0	0.0	945
+-946	0.00206208229064941	0.0100000000000016	0.0100000000000016	0.0	946
+-947	0.00205683708190918	0.0	0.0	0.0	947
+-948	0.00204181671142578	0.0	0.0	0.0	948
+-949	0.00206589698791504	0.0	0.0	0.0	949
+-950	0.0020451545715332	0.0	0.0	0.0	950
+-951	0.00209593772888184	0.00999999999999979	0.00999999999999979	0.0	951
+-952	0.00205802917480469	0.0	0.0	0.0	952
+-953	0.0020751953125	0.0	0.0	0.0	953
+-954	0.00205492973327637	0.0	0.0	0.0	954
+-955	0.00206303596496582	0.0	0.0	0.0	955
+-956	0.00206112861633301	0.00999999999999979	0.00999999999999979	0.0	956
+-957	0.00208592414855957	0.0	0.0	0.0	957
+-958	0.00208497047424316	0.0	0.0	0.0	958
+-959	0.00207114219665527	0.0	0.0	0.0	959
+-960	0.0264370441436768	0.0299999999999994	0.0299999999999994	0.0	960
+-961	0.00537300109863281	0.0	0.0	0.0	961
+-962	0.00217485427856445	0.0	0.0	0.0	962
+-963	0.00213003158569336	0.0	0.0	0.0	963
+-964	0.00212383270263672	0.0	0.0	0.0	964
+-965	0.0021059513092041	0.0	0.0	0.0	965
+-966	0.0020909309387207	0.0	0.0	0.0	966
+-967	0.00208091735839844	0.00999999999999979	0.00999999999999979	0.0	967
+-968	0.00207018852233887	0.0	0.0	0.0	968
+-969	0.00207185745239258	0.0	0.0	0.0	969
+-970	0.00205111503601074	0.0	0.0	0.0	970
+-971	0.00208306312561035	0.0	0.0	0.0	971
+-972	0.00212502479553223	0.00999999999999979	0.00999999999999979	0.0	972
+-973	0.00206995010375977	0.0	0.0	0.0	973
+-974	0.0020749568939209	0.0	0.0	0.0	974
+-975	0.0020749568939209	0.0	0.0	0.0	975
+-976	0.00205898284912109	0.0	0.0	0.0	976
+-977	0.00207304954528809	0.0100000000000016	0.0100000000000016	0.0	977
+-978	0.00208806991577148	0.0	0.0	0.0	978
+-979	0.00207090377807617	0.0	0.0	0.0	979
+-980	0.00214314460754395	0.0	0.0	0.0	980
+-981	0.00208497047424316	0.00999999999999979	0.00999999999999979	0.0	981
+-982	0.00206112861633301	0.0	0.0	0.0	982
+-983	0.00220704078674316	0.0	0.0	0.0	983
+-984	0.00206184387207031	0.0	0.0	0.0	984
+-985	0.00206589698791504	0.0	0.0	0.0	985
+-986	0.00204014778137207	0.00999999999999979	0.00999999999999979	0.0	986
+-987	0.00205302238464355	0.0	0.0	0.0	987
+-988	0.00204801559448242	0.0	0.0	0.0	988
+-989	0.0020439624786377	0.0	0.0	0.0	989
+-990	0.00206494331359863	0.0	0.0	0.0	990
+-991	0.00205516815185547	0.00999999999999979	0.00999999999999979	0.0	991
+-992	0.0020599365234375	0.0	0.0	0.0	992
+-993	0.00205802917480469	0.0	0.0	0.0	993
+-994	0.0021820068359375	0.0	0.0	0.0	994
+-995	0.00206708908081055	0.0	0.0	0.0	995
+-996	0.00205802917480469	0.00999999999999979	0.00999999999999979	0.0	996
+-997	0.00205183029174805	0.0	0.0	0.0	997
+-998	0.00205588340759277	0.0	0.0	0.0	998
+-999	0.00207781791687012	0.0	0.0	0.0	999
+-1000	0.00205588340759277	0.0	0.0	0.0	1000
+diff --git a/lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_safe-autocorrelation.dat b/lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_safe-autocorrelation.dat
+deleted file mode 100644
+index d7d9487..0000000
+--- a/lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_safe-autocorrelation.dat
++++ /dev/null
+@@ -1,1000 +0,0 @@
+-#lag	autocorrelation
+-1	1.0
+-2	-0.00528996763305527
+-3	-0.0138044594871689
+-4	-0.0208681851283985
+-5	-0.0229957953064787
+-6	-0.0234292596261009
+-7	-0.0233334130282492
+-8	-0.0241516165777752
+-9	-0.0241644202341525
+-10	-0.0231287425073633
+-11	-0.0221175625393535
+-12	-0.0186101437936229
+-13	-0.0156353533961561
+-14	-0.0188403159027361
+-15	-0.0180504812480117
+-16	-0.0217450273227108
+-17	-0.0247063596763229
+-18	-0.022001265884962
+-19	-0.0178556473266542
+-20	-0.0204164647356919
+-21	-0.0182966079953989
+-22	-0.0211862321337847
+-23	-0.0194789850013599
+-24	-0.0177742253841285
+-25	-0.0092503749482194
+-26	-0.00746819898929803
+-27	-0.00487803332820888
+-28	-0.00735913264216409
+-29	-0.0094394794377043
+-30	-0.0102366066065294
+-31	-0.0111156180663134
+-32	-0.0157818671782769
+-33	-0.0168016431622766
+-34	-0.0163332307175096
+-35	-0.0175436530212509
+-36	-0.0223712161905215
+-37	-0.0219314894935517
+-38	-0.0227830748204048
+-39	-0.0193824105679253
+-40	-0.0204213811978047
+-41	-0.0174876805960081
+-42	-0.0192426282967821
+-43	-0.0191023286022659
+-44	-0.024469189862908
+-45	-0.0248594429598138
+-46	-0.024075293188514
+-47	-0.0231590035654209
+-48	-0.0226253872291486
+-49	-0.0224682138682447
+-50	-0.0218129103220923
+-51	-0.0192654328544414
+-52	-0.0147320037081153
+-53	0.272452233337269
+-54	0.435015820040845
+-55	0.200430320069216
+-56	-0.017516322722285
+-57	-0.0206134354119561
+-58	-0.0216729701700104
+-59	-0.0218336495632955
+-60	-0.0220087456364863
+-61	-0.0221961766164921
+-62	-0.0220196148858699
+-63	-0.0196199273707057
+-64	-0.0175555144594074
+-65	-0.0157115875281919
+-66	-0.0178703168441715
+-67	-0.020014167059419
+-68	-0.0226085951821202
+-69	-0.0214388900491651
+-70	-0.0226874815779736
+-71	-0.0209263363718717
+-72	-0.0186668218529576
+-73	-0.0190861172260196
+-74	-0.0165844428487903
+-75	-0.0183297192997319
+-76	-0.0196886608427949
+-77	-0.0172252505382256
+-78	-0.0127282633379294
+-79	-0.0118674197279215
+-80	-0.00761080829361313
+-81	-0.00745049886576533
+-82	-0.00437801934505245
+-83	-0.00530855529011354
+-84	-0.00941286938636584
+-85	-0.0107154791645881
+-86	-0.015323870013456
+-87	-0.012519266967711
+-88	-0.0149736969801129
+-89	-0.021651681277203
+-90	-0.0230618749379273
+-91	-0.0168683483705937
+-92	-0.0192914563246245
+-93	-0.0149596795587543
+-94	-0.0156422337243361
+-95	-0.0212673261015622
+-96	-0.021939557403789
+-97	-0.0201423837801739
+-98	-0.0236606423193213
+-99	-0.0214696557426392
+-100	-0.0224265353446497
+-101	-0.0214300874958868
+-102	-0.0215321124434072
+-103	-0.0196750526265947
+-104	-0.0164815420539262
+-105	0.153451795677057
+-106	0.152304917983925
+-107	0.269683604711283
+-108	0.163866062031231
+-109	0.0917700861184397
+-110	-0.0154344686250538
+-111	-0.0160009187714221
+-112	-0.0181194294640359
+-113	-0.0198996862071363
+-114	-0.0210940088036923
+-115	-0.0202294695724758
+-116	-0.0201134577323488
+-117	-0.0176142238854856
+-118	-0.0179934480509661
+-119	-0.0184941333999111
+-120	-0.0209217833739569
+-121	-0.0193706489699845
+-122	-0.0212596356685163
+-123	-0.0193402304952815
+-124	-0.0168126115507807
+-125	-0.0168285157052044
+-126	-0.0178485073702407
+-127	-0.0153236968353027
+-128	-0.0172450763888923
+-129	-0.0181958874426915
+-130	-0.019599041433368
+-131	-0.012097521583517
+-132	-0.0144122698713183
+-133	-0.0132513281935601
+-134	-0.00875555666212923
+-135	-0.00361627820509766
+-136	-0.000259967785037514
+-137	-0.00805847419201842
+-138	-0.012649535174109
+-139	-0.0145979054471083
+-140	-0.0107561179136776
+-141	-0.0136228025301689
+-142	-0.0159619507661417
+-143	-0.0191425909401178
+-144	-0.0163101158814417
+-145	-0.012129043859938
+-146	-0.0151299875018323
+-147	-0.0203386298647967
+-148	-0.0209988316244983
+-149	-0.0219068901698134
+-150	-0.0224671072591489
+-151	-0.0170418184704867
+-152	-0.0201957214089058
+-153	-0.0205846116271679
+-154	-0.0199413534929481
+-155	-0.0179691672443825
+-156	-0.0150768539756268
+-157	0.0995215742652554
+-158	0.0981837663624077
+-159	0.0931229461077249
+-160	0.21175246910869
+-161	0.105079528542058
+-162	0.0913032756563397
+-163	0.0339528356592639
+-164	-0.0182805568898494
+-165	-0.0193574268532822
+-166	-0.019701338364763
+-167	-0.0189643836934548
+-168	-0.0188745629207454
+-169	-0.0165737067851004
+-170	-0.0158076140033874
+-171	-0.0161004869746426
+-172	-0.0195930716982896
+-173	-0.0182623379689477
+-174	-0.0200811074454518
+-175	-0.0187342710910368
+-176	-0.0166229225659487
+-177	-0.0167237872378271
+-178	-0.0201685104197428
+-179	-0.0165324418353769
+-180	-0.0129150606429465
+-181	-0.0169169105724671
+-182	-0.017078473759628
+-183	-0.018127591763309
+-184	-0.0112307423687399
+-185	-0.0134591703948938
+-186	-0.0122816446332828
+-187	-0.0167129471183761
+-188	-0.00633335732749837
+-189	-0.00217094534395089
+-190	-0.003176289001772
+-191	-0.0057871656139901
+-192	-0.0115873213117581
+-193	-0.00896702930637471
+-194	-0.0120418100687928
+-195	-0.0123921707383441
+-196	-0.0172084711453154
+-197	-0.0152400714377606
+-198	-0.0111285496578555
+-199	-0.0142340919577057
+-200	-0.0192937621671048
+-201	-0.0197880163686053
+-202	-0.020849567081396
+-203	-0.0198406262700084
+-204	-0.0194104738114594
+-205	-0.0148131274163057
+-206	-0.0192079248734278
+-207	-0.0187094339560537
+-208	-0.0190732730711229
+-209	0.0361934269621865
+-210	0.0870917883041551
+-211	0.0444891209616575
+-212	0.0955027397552937
+-213	0.154654506121038
+-214	0.102102013193298
+-215	0.0494447139937405
+-216	0.0904567636647291
+-217	-0.0152749334062708
+-218	-0.0146608967815647
+-219	-0.0147668855748172
+-220	-0.0156264119143688
+-221	-0.0169494608304957
+-222	-0.0174532100041555
+-223	-0.0180837899501967
+-224	-0.0182277488931129
+-225	-0.0161001752368341
+-226	-0.0184991832755056
+-227	-0.016936119098065
+-228	-0.0148320934940219
+-229	-0.015273255697935
+-230	-0.0182123818891898
+-231	-0.0138871665097331
+-232	-0.0127350570541541
+-233	-0.011100664599431
+-234	-0.0138609863092704
+-235	-0.0175586417976635
+-236	-0.0148120796895902
+-237	-0.01123198970569
+-238	-0.00918469713802285
+-239	-0.0144957683440811
+-240	-0.0150294602056943
+-241	-0.00892087391044469
+-242	-0.0074976007380235
+-243	-0.00500305299854478
+-244	-0.0041320746296184
+-245	-0.00691667857012371
+-246	-0.00750372968060234
+-247	-0.0107390437617496
+-248	-0.0107754591390794
+-249	-0.0174172611999561
+-250	-0.0074172610106474
+-251	-0.0112726180927846
+-252	-0.0128024469916435
+-253	-0.0177232020585621
+-254	-0.0182539224409683
+-255	-0.0178084592664765
+-256	-0.0179231847033095
+-257	-0.0176658037985606
+-258	-0.0130046634117232
+-259	-0.0176477704146573
+-260	-0.0172408298470646
+-261	-0.0173835849314203
+-262	0.0885923665459635
+-263	0.0358142986092356
+-264	0.0500197172082544
+-265	0.0969438699174651
+-266	0.0998188153355495
+-267	0.100534469863311
+-268	0.0434275152967989
+-269	0.0463586746755651
+-270	0.0357679483900484
+-271	-0.0163390926804664
+-272	-0.0166539709796274
+-273	-0.0166872870497804
+-274	-0.017774068427573
+-275	-0.01744643501098
+-276	-0.0170706050536218
+-277	-0.0147966340538359
+-278	-0.0178408200541161
+-279	-0.0149580558209695
+-280	-0.0131592631424661
+-281	-0.0131550961874815
+-282	-0.0170541425549732
+-283	-0.0136965468472329
+-284	-0.0127321644242889
+-285	-0.013612710529614
+-286	-0.0110213426857256
+-287	-0.0173230618274653
+-288	-0.0169456472401162
+-289	-0.0137220306520902
+-290	-0.00961119036236773
+-291	-0.00803307600491271
+-292	-0.0130753503992976
+-293	-0.010061738788462
+-294	-0.0128263508570457
+-295	-0.00871944477256595
+-296	-0.0110828266355735
+-297	-0.00145913051022751
+-298	-0.00503831545783849
+-299	-0.00613255184823567
+-300	-0.00317532255742617
+-301	-0.0110344422659596
+-302	-0.0133994629637518
+-303	-0.00711499446473252
+-304	-0.00989738058293298
+-305	-0.011298222554831
+-306	-0.0163568500491007
+-307	-0.0172224634424476
+-308	-0.016917507184404
+-309	-0.0169070421736616
+-310	-0.0163226499986189
+-311	-0.016000223795697
+-312	-0.0128559262318566
+-313	-0.0163027746090817
+-314	0.0367233579233198
+-315	0.0342463768168967
+-316	0.0392659770656562
+-317	0.0503244855684373
+-318	0.106836752186508
+-319	0.0428611079691666
+-320	0.0947673606581728
+-321	0.0404266507177676
+-322	0.0422539004134698
+-323	0.046712070413077
+-324	-0.01386005988438
+-325	-0.0129602628678002
+-326	-0.0128410216627282
+-327	-0.013938492679744
+-328	-0.0142137469756705
+-329	-0.0135606375602427
+-330	-0.0147616165618841
+-331	-0.0152730174282578
+-332	-0.0157757882742451
+-333	-0.0159444484008054
+-334	-0.0159291528868275
+-335	-0.0125715321584254
+-336	-0.0113945717528155
+-337	-0.0126919884793404
+-338	-0.0120634295155063
+-339	-0.0132222456876789
+-340	-0.0149011205134109
+-341	-0.0112134307887339
+-342	-0.00765611064427073
+-343	-0.00812543527107914
+-344	-0.0116729541542833
+-345	-0.00968419876956315
+-346	-0.0121532305148415
+-347	-0.0128180241822045
+-348	-0.0111731767567057
+-349	-0.0110495088050017
+-350	-0.00474012274853909
+-351	-0.0037753856041303
+-352	-0.00712557226243535
+-353	-0.00254605671801213
+-354	-0.00896555258188561
+-355	-0.0111612047310962
+-356	-0.00590533525415532
+-357	-0.00840289962801529
+-358	-0.0101831986911947
+-359	-0.0147234273517197
+-360	-0.0144572278847782
+-361	-0.0153686584343928
+-362	-0.0152089345642079
+-363	-0.0151495230806089
+-364	-0.0137849851202231
+-365	-0.0104713526164238
+-366	-0.0148077561021853
+-367	0.0376152434167216
+-368	0.0388904481596711
+-369	0.0403627453868288
+-370	0.0513758553433587
+-371	0.107917898362666
+-372	-0.00798200125691471
+-373	0.093360263223118
+-374	0.0414198673418266
+-375	0.0393249984524126
+-376	0.0385926575483875
+-377	-0.0144476804559933
+-378	-0.0139841878291661
+-379	-0.0139656533470585
+-380	-0.0141040067753594
+-381	-0.014560155301369
+-382	-0.0135420823152173
+-383	-0.0145222675144676
+-384	-0.014460155395546
+-385	-0.0139959464489686
+-386	-0.0138565068907983
+-387	-0.0107326956886409
+-388	-0.0110916304860035
+-389	-0.0103687114713454
+-390	-0.0109128112118145
+-391	-0.0116952906973984
+-392	-0.0135898535414944
+-393	-0.0111540378855234
+-394	-0.0103451114918221
+-395	-0.00764288243223634
+-396	-0.0111929653049535
+-397	-0.00834039400762986
+-398	-0.0122045257479647
+-399	-0.00873973826972888
+-400	-0.0110201500772717
+-401	-0.00961579587076197
+-402	-0.0131269667654366
+-403	-0.00727683817981296
+-404	-0.00189532678702501
+-405	-0.0069679001311242
+-406	-0.001107723493968
+-407	-0.0032276027306313
+-408	-0.00832965485216551
+-409	-0.00619183401785534
+-410	-0.00411170215472319
+-411	-0.00737621873809235
+-412	-0.0127249132834817
+-413	-0.012360725256073
+-414	-0.0139619534335789
+-415	-0.0141106553759734
+-416	-0.0133572727396227
+-417	-0.0136325555164283
+-418	-0.00934211074118071
+-419	-0.0138978954665086
+-420	0.0419144448041395
+-421	0.0398516060966593
+-422	0.0412341286880762
+-423	0.0638570301312163
+-424	0.0510869302001157
+-425	0.0457777338184318
+-426	0.0404413480661733
+-427	0.03921924550858
+-428	0.0407807393162245
+-429	0.0390318225210268
+-430	-0.0131869917758382
+-431	-0.0131264891895899
+-432	-0.0122572780353557
+-433	-0.0113077056806523
+-434	-0.00997101803890706
+-435	-0.00912977714210345
+-436	-0.0107250321456603
+-437	-0.0114964596837888
+-438	-0.0124446657069589
+-439	-0.0132452844526251
+-440	-0.0134871442198044
+-441	-0.0134721722474661
+-442	-0.0129760608103375
+-443	-0.0135083529746117
+-444	-0.00963739106708388
+-445	-0.00960193173592791
+-446	-0.00868490827989549
+-447	-0.00562468586891634
+-448	-0.00853085467733999
+-449	-0.00565929471677666
+-450	-0.011223863255388
+-451	-0.00966138501976315
+-452	-0.0090354154607024
+-453	-0.00713189903764993
+-454	-0.011915762088822
+-455	-0.0119958054757221
+-456	-0.00993992005512065
+-457	-0.00969020982773293
+-458	-0.00823692240018265
+-459	-0.000762137019254547
+-460	-0.0020574939054943
+-461	-0.00301533448841631
+-462	-0.0048914231194836
+-463	-0.00351910868759082
+-464	-0.00684827660431788
+-465	-0.0116186865393049
+-466	-0.011300766713872
+-467	-0.0125877507082846
+-468	-0.0122940688703853
+-469	-0.0117006004743094
+-470	-0.0120808872890787
+-471	-0.0079558659705616
+-472	-0.0121146783942612
+-473	0.0430539568135278
+-474	0.0413747171665245
+-475	0.0523499660199948
+-476	0.0583608476822571
+-477	-0.00619124151362362
+-478	0.100261603489863
+-479	-0.0115737946916181
+-480	0.0410488267232732
+-481	0.0394584957178085
+-482	0.0409791183648626
+-483	-0.0114608582351028
+-484	-0.0105762029046014
+-485	-0.0107944072761537
+-486	-0.0112852025771194
+-487	-0.0117263968065824
+-488	-0.0110523616082281
+-489	-0.0119497692898177
+-490	-0.0116197924803783
+-491	-0.0118402671059512
+-492	-0.011897810344265
+-493	-0.0118894488668558
+-494	-0.0119264743252911
+-495	-0.0114690161171001
+-496	-0.00731323308517564
+-497	-0.00809920804780606
+-498	-0.00742970488647833
+-499	-0.00511857473147858
+-500	-0.00847898987161735
+-501	-0.00820255817878669
+-502	-0.0114261236985163
+-503	-0.0115203134210467
+-504	-0.00860290050483073
+-505	-0.00826598998994287
+-506	-0.00724980855887389
+-507	-0.0115572629089065
+-508	-0.0102803597313671
+-509	-0.00869596301166451
+-510	-0.00845394207419729
+-511	-0.0117046810178094
+-512	-0.00179199508390725
+-513	-0.00107544976391358
+-514	3.80706993328397e-05
+-515	-0.000596554636898724
+-516	-0.00357817525748314
+-517	-0.00275478226050938
+-518	-0.00770597808246832
+-519	-0.00966201636724091
+-520	-0.0101235465897374
+-521	-0.0101536171271843
+-522	-0.011155833269644
+-523	-0.0110476185961753
+-524	-0.00669564292913809
+-525	-0.0110511552401975
+-526	0.0440369068608864
+-527	0.0512502905452455
+-528	0.0486364491522985
+-529	-0.00947573738593063
+-530	0.0556902385103537
+-531	0.048793011831808
+-532	0.0459173634094269
+-533	-0.0106409633397968
+-534	0.0407992456018877
+-535	0.039174303444095
+-536	-0.0108360842113073
+-537	-0.0100788835149665
+-538	-0.010254912645359
+-539	-0.0100259263673741
+-540	-0.00990611735032563
+-541	-0.0094032789969041
+-542	-0.00950843747839274
+-543	-0.00845625372492551
+-544	-0.00866941515320219
+-545	-0.00846124322850009
+-546	-0.00914497373023597
+-547	-0.00993847480108134
+-548	-0.0075404949330402
+-549	-0.0105738813921492
+-550	-0.00995220250924118
+-551	-0.00737345302781976
+-552	-0.00705109912188471
+-553	-0.00701139365327054
+-554	-0.0100844014809053
+-555	-0.00967040948412226
+-556	-0.00555743993134012
+-557	-0.00567368083508669
+-558	-0.00579497136824869
+-559	-0.00863244150774459
+-560	-0.00886461549077306
+-561	-0.0071079244280313
+-562	-0.00724638263714693
+-563	-0.0106271670963377
+-564	-0.011037491565844
+-565	-0.00536963936657175
+-566	-0.00611090090733861
+-567	-0.0028887251775724
+-568	-0.00191043898745117
+-569	-0.00127008538342651
+-570	-0.00355834410328823
+-571	-0.00455486576193576
+-572	-0.00787475936794373
+-573	-0.00788070911313194
+-574	-0.0095868651265576
+-575	-0.00951475112345576
+-576	-0.0093743009207885
+-577	-0.00547534007201022
+-578	-0.00937228540429001
+-579	0.0550319460420979
+-580	0.0480645516151382
+-581	-0.00734599404058905
+-582	0.0460830024666069
+-583	0.0576848767980736
+-584	-0.00479751472149516
+-585	0.0476440575581396
+-586	0.0440509543394544
+-587	-0.0092326530313669
+-588	0.0416175571960497
+-589	-0.0085697744475703
+-590	-0.00849597671001137
+-591	-0.00868661526356155
+-592	-0.00914985829952541
+-593	-0.00899659236078795
+-594	-0.00852948984142705
+-595	-0.00914967236793954
+-596	-0.00874291045968585
+-597	-0.00901928709184545
+-598	-0.00893752387862559
+-599	-0.00891224538068911
+-600	-0.00651845952670981
+-601	-0.00883751161943683
+-602	-0.0089038138028028
+-603	-0.00557038586902196
+-604	-0.00528015885880997
+-605	-0.00549258943084052
+-606	-0.00885043870546068
+-607	-0.00888233763605627
+-608	-0.00534145902438052
+-609	-0.00549755365130086
+-610	-0.00543696053556694
+-611	-0.00822523019438649
+-612	-0.00872078038906415
+-613	-0.00768752566683437
+-614	-0.00581778171379135
+-615	-0.00582391899839174
+-616	-0.00928453417405443
+-617	-0.00967264668427969
+-618	-0.00459002993915674
+-619	-0.005950987566855
+-620	-0.00566913223974097
+-621	-0.00449639995945585
+-622	0.000563029103117738
+-623	-0.000478567451764753
+-624	-0.00478545037303475
+-625	-0.00138436078321331
+-626	-0.00658049012770183
+-627	-0.00727390808805458
+-628	-0.00826948198171915
+-629	-0.00802863304649895
+-630	-0.00440359258641195
+-631	-0.00781572985833776
+-632	0.0467875647495199
+-633	-0.0075634487605479
+-634	0.0452825901031108
+-635	0.047802503065829
+-636	-0.00771441065516206
+-637	0.0579827980967365
+-638	-0.00344424350631554
+-639	0.0474617155307238
+-640	0.0443214745845027
+-641	-0.00763674418359978
+-642	-0.00783330048033026
+-643	-0.00741506274953657
+-644	-0.00766182032871294
+-645	-0.00746333175586923
+-646	-0.00774981281309243
+-647	-0.00721405105565235
+-648	-0.00748309956829258
+-649	-0.00693846930808117
+-650	-0.00687260605509018
+-651	-0.00680305016519336
+-652	-0.00392232393463165
+-653	-0.00596409981793424
+-654	-0.00637091532208361
+-655	-0.0070021295658497
+-656	-0.00745369558153276
+-657	-0.00748127195784389
+-658	-0.00764575146706985
+-659	-0.00720638844475823
+-660	-0.00404423858223977
+-661	-0.00405994477085238
+-662	-0.00403357383109679
+-663	-0.00648614706767544
+-664	-0.00685104080751668
+-665	-0.0055280793955573
+-666	-0.00315266716147567
+-667	-0.00289308426512229
+-668	-0.0072907609350431
+-669	-0.00778772320057429
+-670	-0.00488230712792173
+-671	-0.00428235797819206
+-672	-0.00192624881716949
+-673	-0.00690255454554318
+-674	-0.00713932385460058
+-675	-0.00190412691550018
+-676	-0.00393717929429579
+-677	-0.00322818496016548
+-678	-0.00243123536539799
+-679	-0.00325588623994424
+-680	-0.00538550295619236
+-681	-0.00569794784977527
+-682	-0.00289248819958694
+-683	-0.00674738254274132
+-684	-0.00654327601801023
+-685	-0.00642602661328291
+-686	0.0487750013526658
+-687	0.047351094119514
+-688	-0.00634438713740084
+-689	0.0483969866326635
+-690	-0.00631126189370909
+-691	0.0575822184504765
+-692	-0.00221791722280226
+-693	0.0478438468160886
+-694	-0.00601391341772256
+-695	-0.0056575420242112
+-696	-0.00594331685758806
+-697	-0.00602482896673149
+-698	-0.00605358459658212
+-699	-0.00573917550488335
+-700	-0.00612440997777024
+-701	-0.00585399571222659
+-702	-0.00621035443994097
+-703	-0.00577194218906833
+-704	-0.00613669297980652
+-705	-0.00603898494035611
+-706	-0.00619657263267714
+-707	-0.00631266537086359
+-708	-0.00624176954936451
+-709	-0.006493542110829
+-710	-0.00641811359085571
+-711	-0.00580520415695734
+-712	-0.00254464054715768
+-713	-0.00229049693565925
+-714	-0.00260111893418342
+-715	-0.00527998866629625
+-716	-0.00580492472038456
+-717	-0.00465763013855649
+-718	-0.00291794763769027
+-719	-0.0026170818255646
+-720	-0.00635539773199271
+-721	-0.00671950951784405
+-722	-0.00681695170475915
+-723	-0.00342054050102763
+-724	-0.00275560859414933
+-725	-0.000438510861243582
+-726	-0.00560480727876819
+-727	-0.0041561152883926
+-728	-0.00600365300527431
+-729	-0.00265123271948093
+-730	-0.00264290423293351
+-731	-0.00282174940291308
+-732	-0.00138157106781404
+-733	-0.00215366901979637
+-734	-0.00419250836135037
+-735	-0.000767184920404968
+-736	-0.00550222672199026
+-737	-0.00539179599992564
+-738	-0.00519932278664982
+-739	0.0503886317719632
+-740	-0.00520071436244274
+-741	0.0475171927490064
+-742	-0.0054330140398667
+-743	0.047917953696494
+-744	-0.00493698211328358
+-745	0.0578078065249347
+-746	-0.00102406638326662
+-747	-0.00351464407443385
+-748	-0.00471808955799036
+-749	-0.00466085562121167
+-750	-0.00504216853601972
+-751	-0.00491478851728083
+-752	-0.00511582115647942
+-753	-0.00510690407002076
+-754	-0.00467115492125063
+-755	-0.00507292488280625
+-756	-0.00469600377226158
+-757	-0.00479060778969928
+-758	-0.00466814567292629
+-759	-0.00459391587926426
+-760	-0.00459367283047094
+-761	-0.00456390630082813
+-762	-0.00455517712581946
+-763	-0.00444580816383878
+-764	-0.00414375346682848
+-765	-0.00462598085672905
+-766	-0.00499924843048424
+-767	-0.00393636209693802
+-768	-0.00456718162991524
+-769	-0.00323237519329591
+-770	-0.00148778939855011
+-771	-0.00156596659778741
+-772	-0.00512915993874979
+-773	-0.00492227748379505
+-774	-0.00510090567121982
+-775	-0.00134085402411959
+-776	-0.000327698557656855
+-777	-8.39604799222434e-05
+-778	-0.00353180377704261
+-779	-0.000884661451432567
+-780	-0.00538269466798041
+-781	-0.00550165919535478
+-782	-0.00474894345489591
+-783	-0.00166595007800424
+-784	-0.00164486517145988
+-785	-0.0035315332501745
+-786	-0.00381711953376717
+-787	0.000511414240780713
+-788	-0.00386876867596389
+-789	-0.00388546637330086
+-790	-0.00381782963314221
+-791	-0.00381978862023741
+-792	-0.00375421982535356
+-793	0.0509990813856318
+-794	-0.00381674314240938
+-795	0.0477092429318382
+-796	-0.00346493764501739
+-797	0.0486187069130531
+-798	-0.00339231221033292
+-799	-0.00372220200580609
+-800	-0.00287181937082116
+-801	-0.00282120299186121
+-802	-0.00303246455350132
+-803	-0.00274260094361711
+-804	-0.00310003295922211
+-805	-0.00318965584106337
+-806	-0.0031124174327327
+-807	-0.00296156129101724
+-808	-0.00261410724164222
+-809	-0.00304904712449122
+-810	-0.00281829350522029
+-811	-0.00334413423907794
+-812	-0.00324558699946082
+-813	-0.00321794842161168
+-814	-0.00321688033495476
+-815	-0.00315375940221917
+-816	-0.00336252254507409
+-817	-0.00338748787969201
+-818	-0.0034301958497396
+-819	-0.00328180304356289
+-820	-0.00258348401263859
+-821	-0.00151860018638174
+-822	0.000385489721472849
+-823	0.000485212390458467
+-824	-0.00320045213749609
+-825	-0.00360387425612046
+-826	-0.00368875452847038
+-827	-0.000252971173092802
+-828	0.000274558167106639
+-829	0.000415225492461183
+-830	-0.00244928117799424
+-831	-0.00157932593327874
+-832	-0.00367396988363851
+-833	-0.00159554367802162
+-834	-0.00368044170833197
+-835	-0.00381051495784578
+-836	-0.00324391585440044
+-837	8.26736255865406e-05
+-838	0.000153133563221676
+-839	0.00199072719691019
+-840	-0.00225648039461718
+-841	-0.00274833553045294
+-842	-0.0025524575347716
+-843	-0.00266988934954553
+-844	-0.00255016712114302
+-845	-0.00249982952647676
+-846	-0.00252451553899371
+-847	0.0509521741597566
+-848	-0.00203584084600686
+-849	0.0482575025076935
+-850	-0.00222502592695146
+-851	-0.00243295457553993
+-852	-0.00170644617880928
+-853	-0.00187578228348824
+-854	-0.00189936420623392
+-855	-0.00181014970183154
+-856	-0.0019587407113103
+-857	-0.00203035618973669
+-858	-0.00200647352201275
+-859	-0.00193357132846691
+-860	-0.00203929593752837
+-861	-0.00206047244950508
+-862	-0.00172974796194137
+-863	-0.00222152628496213
+-864	-0.00176469161067378
+-865	-0.00214628615471073
+-866	-0.00223274820098944
+-867	-0.00192609654692526
+-868	-0.00160052707734799
+-869	-0.00117491475685682
+-870	-0.00172104022111683
+-871	-0.00197669922228011
+-872	-0.00200394021725799
+-873	-0.00221174196880852
+-874	-0.00214414888155639
+-875	-0.0022418657462635
+-876	-0.00224815601970618
+-877	-0.00217548907899938
+-878	-0.00219023215478833
+-879	0.00103657148517733
+-880	0.00170021752346762
+-881	0.00176856581251282
+-882	-0.00119486637524174
+-883	-0.000182189717262493
+-884	-0.00231669994116794
+-885	-0.00235562044940596
+-886	-0.00240760288834928
+-887	-0.000369271736430893
+-888	-0.00246106212268728
+-889	-0.00248445436295954
+-890	-0.00240055220436233
+-891	0.00124694319822849
+-892	-0.00238841299541467
+-893	-0.00120964260603448
+-894	-0.00108173638550143
+-895	-0.00126617766611188
+-896	-0.00126735332683995
+-897	-0.00132493094338301
+-898	-0.00127297814761722
+-899	-0.00107541591903143
+-900	-0.00078859473755685
+-901	0.0515056301543915
+-902	-0.000768818460590909
+-903	-0.00107659176705549
+-904	-0.000363324073519261
+-905	-0.000435897358878675
+-906	-0.000440171834594805
+-907	-0.000337150215603847
+-908	-0.000521457828934685
+-909	-0.000601509879478592
+-910	-0.000562536656253432
+-911	-0.000540431206158033
+-912	-0.000585521045810499
+-913	-0.000647443311740879
+-914	-0.000652572655245648
+-915	-0.000754504564741441
+-916	-0.00026111034852018
+-917	-0.000614503803880769
+-918	-0.00028306248528981
+-919	-0.00062103454712342
+-920	-0.00080789702501966
+-921	-0.000857347553194396
+-922	-0.000973273096392423
+-923	-0.00071891921707499
+-924	-0.000852123727546584
+-925	-0.000908061110978231
+-926	-0.000897846447493529
+-927	-0.00107192184892616
+-928	-0.00103558075120389
+-929	-0.000858383868863735
+-930	-0.00100410240556484
+-931	0.00217861450591949
+-932	0.00284094109416015
+-933	0.00290236058075264
+-934	-4.67766974110993e-06
+-935	-0.00115598145065964
+-936	-0.00115889264986191
+-937	-0.00120477520403814
+-938	-0.0011160907820447
+-939	-0.00122108572337335
+-940	-0.00129438459340121
+-941	-0.0012642472236683
+-942	-0.00112755293175713
+-943	0.00267094176933998
+-944	-0.00127265229053917
+-945	-0.00128120069665366
+-946	-0.00125730796622217
+-947	-0.000161188927728071
+-948	-0.00018709473550969
+-949	-0.000202988378879946
+-950	-0.000298277929635308
+-951	-0.000228270818099919
+-952	-0.000234161898233589
+-953	-0.00026231090883195
+-954	-0.000188222581526064
+-955	-3.12448503073219e-05
+-956	0.000717016504105383
+-957	0.000690863879115161
+-958	0.000699560885968165
+-959	0.000642085039518387
+-960	0.000647697652791968
+-961	0.000599074112689629
+-962	0.000575154175297893
+-963	0.000549298287923788
+-964	0.000516895100767751
+-965	0.000505782209635087
+-966	0.000468256937777253
+-967	0.000443201508212851
+-968	0.000422857688527172
+-969	0.000396172202507289
+-970	0.000378968023322664
+-971	0.000356781808907751
+-972	0.000335281879557104
+-973	0.000318039116828582
+-974	0.00029453308441855
+-975	0.000267951475057331
+-976	0.000246035263474985
+-977	0.000289581453389937
+-978	0.000348007228990331
+-979	0.00040460593179165
+-980	0.000411143906352345
+-981	0.000381827800477813
+-982	0.000355749114743507
+-983	0.000330472553418517
+-984	0.000310675137741401
+-985	0.000285966709056265
+-986	0.000261731425090165
+-987	0.000237012405074174
+-988	0.000215826766435867
+-989	0.000273446389041168
+-990	0.000248883730962565
+-991	0.000224615155659346
+-992	0.000200129222402582
+-993	0.000177275060030199
+-994	0.00015277663830548
+-995	0.000128527059295642
+-996	0.000102904910816061
+-997	8.05504321850845e-05
+-998	5.85820006378074e-05
+-999	3.63637004327478e-05
+diff --git a/lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_safe.dat b/lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_safe.dat
+deleted file mode 100644
+index 8844c14..0000000
+--- a/lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_safe.dat
++++ /dev/null
+@@ -1,1001 +0,0 @@
+-#scatter	real	total	user	system	repeat
+-1	0.00191903114318848	0.0	0.0	0.0	1
+-2	0.00184082984924316	0.0	0.0	0.0	2
+-3	0.00179791450500488	0.0	0.0	0.0	3
+-4	0.00180506706237793	0.0100000000000016	0.0100000000000016	0.0	4
+-5	0.00179386138916016	0.0	0.0	0.0	5
+-6	0.00174307823181152	0.0	0.0	0.0	6
+-7	0.00177001953125	0.0	0.0	0.0	7
+-8	0.00175905227661133	0.0	0.0	0.0	8
+-9	0.00177288055419922	0.00999999999999801	0.00999999999999801	0.0	9
+-10	0.00176692008972168	0.0	0.0	0.0	10
+-11	0.00176906585693359	0.0	0.0	0.0	11
+-12	0.0017549991607666	0.0	0.0	0.0	12
+-13	0.00345110893249512	0.0	0.0	0.0	13
+-14	0.0018010139465332	0.0100000000000016	0.0100000000000016	0.0	14
+-15	0.0017697811126709	0.0	0.0	0.0	15
+-16	0.00174093246459961	0.0	0.0	0.0	16
+-17	0.00175905227661133	0.0	0.0	0.0	17
+-18	0.00176501274108887	0.0	0.0	0.0	18
+-19	0.00176501274108887	0.0	0.0	0.0	19
+-20	0.00175905227661133	0.00999999999999801	0.00999999999999801	0.0	20
+-21	0.00173807144165039	0.0	0.0	0.0	21
+-22	0.00222587585449219	0.0	0.0	0.0	22
+-23	0.00347685813903809	0.0	0.0	0.0	23
+-24	0.00342988967895508	0.0100000000000016	0.0100000000000016	0.0	24
+-25	0.00312495231628418	0.0	0.0	0.0	25
+-26	0.00174784660339355	0.0	0.0	0.0	26
+-27	0.00174403190612793	0.0	0.0	0.0	27
+-28	0.00174093246459961	0.0100000000000016	0.0100000000000016	0.0	28
+-29	0.00173211097717285	0.0	0.0	0.0	29
+-30	0.00176692008972168	0.0	0.0	0.0	30
+-31	0.00176620483398438	0.0	0.0	0.0	31
+-32	0.00179195404052734	0.0	0.0	0.0	32
+-33	0.0017549991607666	0.0	0.0	0.0	33
+-34	0.00172591209411621	0.0	0.0	0.0	34
+-35	0.00174117088317871	0.0	0.0	0.0	35
+-36	0.00173783302307129	0.0	0.0	0.0	36
+-37	0.00174689292907715	0.0	0.0	0.0	37
+-38	0.00173211097717285	0.0	0.0	0.0	38
+-39	0.00174999237060547	0.0100000000000016	0.0100000000000016	0.0	39
+-40	0.00176692008972168	0.0	0.0	0.0	40
+-41	0.00172901153564453	0.0	0.0	0.0	41
+-42	0.00174593925476074	0.0	0.0	0.0	42
+-43	0.00175309181213379	0.0	0.0	0.0	43
+-44	0.00175905227661133	0.0	0.0	0.0	44
+-45	0.00176715850830078	0.00999999999999801	0.00999999999999801	0.0	45
+-46	0.00174784660339355	0.0	0.0	0.0	46
+-47	0.0017399787902832	0.0	0.0	0.0	47
+-48	0.00174307823181152	0.0	0.0	0.0	48
+-49	0.00180912017822266	0.0	0.0	0.0	49
+-50	0.00175309181213379	0.0100000000000016	0.0100000000000016	0.0	50
+-51	0.0017399787902832	0.0	0.0	0.0	51
+-52	0.00176811218261719	0.0	0.0	0.0	52
+-53	0.00176596641540527	0.0	0.0	0.0	53
+-54	0.00189590454101562	0.0	0.0	0.0	54
+-55	0.024507999420166	0.0299999999999976	0.0299999999999976	0.0	55
+-56	0.00197005271911621	0.0	0.0	0.0	56
+-57	0.00185298919677734	0.0	0.0	0.0	57
+-58	0.00178289413452148	0.0	0.0	0.0	58
+-59	0.00177383422851562	0.0	0.0	0.0	59
+-60	0.00178122520446777	0.0100000000000016	0.0100000000000016	0.0	60
+-61	0.00177597999572754	0.0	0.0	0.0	61
+-62	0.00182914733886719	0.0	0.0	0.0	62
+-63	0.00176692008972168	0.0	0.0	0.0	63
+-64	0.00177502632141113	0.0	0.0	0.0	64
+-65	0.00175118446350098	0.0100000000000016	0.0100000000000016	0.0	65
+-66	0.00176286697387695	0.0	0.0	0.0	66
+-67	0.00175809860229492	0.0	0.0	0.0	67
+-68	0.00176095962524414	0.0	0.0	0.0	68
+-69	0.0017540454864502	0.0	0.0	0.0	69
+-70	0.00175094604492188	0.0	0.0	0.0	70
+-71	0.00176000595092773	0.00999999999999801	0.00999999999999801	0.0	71
+-72	0.00174784660339355	0.0	0.0	0.0	72
+-73	0.00272703170776367	0.0	0.0	0.0	73
+-74	0.00178098678588867	0.0	0.0	0.0	74
+-75	0.0017540454864502	0.0	0.0	0.0	75
+-76	0.00175595283508301	0.0100000000000016	0.0100000000000016	0.0	76
+-77	0.00174784660339355	0.0	0.0	0.0	77
+-78	0.00176095962524414	0.0	0.0	0.0	78
+-79	0.00175094604492188	0.0	0.0	0.0	79
+-80	0.00174617767333984	0.0	0.0	0.0	80
+-81	0.00176286697387695	0.00999999999999801	0.00999999999999801	0.0	81
+-82	0.00174784660339355	0.0	0.0	0.0	82
+-83	0.0017402172088623	0.0	0.0	0.0	83
+-84	0.00174093246459961	0.0	0.0	0.0	84
+-85	0.00174880027770996	0.0	0.0	0.0	85
+-86	0.00174283981323242	0.0	0.0	0.0	86
+-87	0.0017549991607666	0.0100000000000016	0.0100000000000016	0.0	87
+-88	0.00175690650939941	0.0	0.0	0.0	88
+-89	0.0017390251159668	0.0	0.0	0.0	89
+-90	0.0017399787902832	0.0	0.0	0.0	90
+-91	0.00176286697387695	0.0	0.0	0.0	91
+-92	0.00174093246459961	0.00999999999999801	0.00999999999999801	0.0	92
+-93	0.00173306465148926	0.0	0.0	0.0	93
+-94	0.00173091888427734	0.0	0.0	0.0	94
+-95	0.00175118446350098	0.0	0.0	0.0	95
+-96	0.00173187255859375	0.0	0.0	0.0	96
+-97	0.00177407264709473	0.0	0.0	0.0	97
+-98	0.00174498558044434	0.0100000000000016	0.0100000000000016	0.0	98
+-99	0.00173783302307129	0.0	0.0	0.0	99
+-100	0.00174283981323242	0.0	0.0	0.0	100
+-101	0.0017549991607666	0.0	0.0	0.0	101
+-102	0.00173020362854004	0.0	0.0	0.0	102
+-103	0.00172805786132812	0.0	0.0	0.0	103
+-104	0.00174784660339355	0.0	0.0	0.0	104
+-105	0.00175786018371582	0.0	0.0	0.0	105
+-106	0.00176501274108887	0.0	0.0	0.0	106
+-107	0.00174784660339355	0.0	0.0	0.0	107
+-108	0.00176095962524414	0.0	0.0	0.0	108
+-109	0.0247871875762939	0.0299999999999976	0.0299999999999976	0.0	109
+-110	0.0018157958984375	0.0	0.0	0.0	110
+-111	0.00183296203613281	0.0	0.0	0.0	111
+-112	0.00179004669189453	0.0	0.0	0.0	112
+-113	0.00177502632141113	0.0100000000000016	0.0100000000000016	0.0	113
+-114	0.00177502632141113	0.0	0.0	0.0	114
+-115	0.00174498558044434	0.0	0.0	0.0	115
+-116	0.00174808502197266	0.0	0.0	0.0	116
+-117	0.00175595283508301	0.0	0.0	0.0	117
+-118	0.00174808502197266	0.00999999999999801	0.00999999999999801	0.0	118
+-119	0.00177216529846191	0.0	0.0	0.0	119
+-120	0.0017540454864502	0.0	0.0	0.0	120
+-121	0.00176286697387695	0.0	0.0	0.0	121
+-122	0.00176787376403809	0.0	0.0	0.0	122
+-123	0.00175905227661133	0.0	0.0	0.0	123
+-124	0.0017549991607666	0.0100000000000016	0.0100000000000016	0.0	124
+-125	0.00174403190612793	0.0	0.0	0.0	125
+-126	0.00174903869628906	0.0	0.0	0.0	126
+-127	0.00180387496948242	0.0	0.0	0.0	127
+-128	0.00177502632141113	0.0	0.0	0.0	128
+-129	0.00175595283508301	0.00999999999999801	0.00999999999999801	0.0	129
+-130	0.00174903869628906	0.0	0.0	0.0	130
+-131	0.00176501274108887	0.0	0.0	0.0	131
+-132	0.00191903114318848	0.0	0.0	0.0	132
+-133	0.0034480094909668	0.0	0.0	0.0	133
+-134	0.00341916084289551	0.0100000000000016	0.0100000000000016	0.0	134
+-135	0.00260114669799805	0.0	0.0	0.0	135
+-136	0.00203084945678711	0.0	0.0	0.0	136
+-137	0.00176596641540527	0.0	0.0	0.0	137
+-138	0.00175189971923828	0.0100000000000016	0.0100000000000016	0.0	138
+-139	0.00176119804382324	0.0	0.0	0.0	139
+-140	0.00174784660339355	0.0	0.0	0.0	140
+-141	0.00173783302307129	0.0	0.0	0.0	141
+-142	0.00179481506347656	0.0	0.0	0.0	142
+-143	0.00173401832580566	0.00999999999999801	0.00999999999999801	0.0	143
+-144	0.00175189971923828	0.0	0.0	0.0	144
+-145	0.00174188613891602	0.0	0.0	0.0	145
+-146	0.0017549991607666	0.0	0.0	0.0	146
+-147	0.00174808502197266	0.0	0.0	0.0	147
+-148	0.00174498558044434	0.0	0.0	0.0	148
+-149	0.00174307823181152	0.0100000000000016	0.0100000000000016	0.0	149
+-150	0.00175595283508301	0.0	0.0	0.0	150
+-151	0.0017549991607666	0.0	0.0	0.0	151
+-152	0.00174403190612793	0.0	0.0	0.0	152
+-153	0.00174808502197266	0.0	0.0	0.0	153
+-154	0.00174403190612793	0.0	0.0	0.0	154
+-155	0.00183796882629395	0.00999999999999801	0.00999999999999801	0.0	155
+-156	0.00176095962524414	0.0	0.0	0.0	156
+-157	0.0017399787902832	0.0	0.0	0.0	157
+-158	0.00181007385253906	0.0	0.0	0.0	158
+-159	0.00175905227661133	0.0	0.0	0.0	159
+-160	0.00177717208862305	0.0100000000000016	0.0100000000000016	0.0	160
+-161	0.00175380706787109	0.0	0.0	0.0	161
+-162	0.00177097320556641	0.0	0.0	0.0	162
+-163	0.0254480838775635	0.0199999999999996	0.0199999999999996	0.0	163
+-164	0.00185108184814453	0.00999999999999801	0.00999999999999801	0.0	164
+-165	0.00188708305358887	0.0	0.0	0.0	165
+-166	0.00177788734436035	0.0	0.0	0.0	166
+-167	0.00183510780334473	0.0	0.0	0.0	167
+-168	0.00177812576293945	0.0	0.0	0.0	168
+-169	0.00177502632141113	0.0100000000000016	0.0100000000000016	0.0	169
+-170	0.00174593925476074	0.0	0.0	0.0	170
+-171	0.00176692008972168	0.0	0.0	0.0	171
+-172	0.00175786018371582	0.0	0.0	0.0	172
+-173	0.00176501274108887	0.0	0.0	0.0	173
+-174	0.0018000602722168	0.0100000000000016	0.0100000000000016	0.0	174
+-175	0.00176095962524414	0.0	0.0	0.0	175
+-176	0.00175714492797852	0.0	0.0	0.0	176
+-177	0.00174999237060547	0.0	0.0	0.0	177
+-178	0.00176191329956055	0.0	0.0	0.0	178
+-179	0.00175786018371582	0.0	0.0	0.0	179
+-180	0.00174117088317871	0.00999999999999801	0.00999999999999801	0.0	180
+-181	0.00177001953125	0.0	0.0	0.0	181
+-182	0.00176095962524414	0.0	0.0	0.0	182
+-183	0.00174903869628906	0.0	0.0	0.0	183
+-184	0.00174093246459961	0.0	0.0	0.0	184
+-185	0.00174307823181152	0.0	0.0	0.0	185
+-186	0.00175595283508301	0.0100000000000016	0.0100000000000016	0.0	186
+-187	0.00175189971923828	0.0	0.0	0.0	187
+-188	0.00173711776733398	0.0	0.0	0.0	188
+-189	0.00221514701843262	0.0	0.0	0.0	189
+-190	0.00177502632141113	0.0	0.0	0.0	190
+-191	0.00176811218261719	0.00999999999999801	0.00999999999999801	0.0	191
+-192	0.00185799598693848	0.0	0.0	0.0	192
+-193	0.00174903869628906	0.0	0.0	0.0	193
+-194	0.00174379348754883	0.0	0.0	0.0	194
+-195	0.0017399787902832	0.0	0.0	0.0	195
+-196	0.00173401832580566	0.0100000000000016	0.0100000000000016	0.0	196
+-197	0.00172996520996094	0.0	0.0	0.0	197
+-198	0.00173401832580566	0.0	0.0	0.0	198
+-199	0.00182390213012695	0.0	0.0	0.0	199
+-200	0.00174784660339355	0.0	0.0	0.0	200
+-201	0.0017549991607666	0.0	0.0	0.0	201
+-202	0.00174307823181152	0.00999999999999801	0.00999999999999801	0.0	202
+-203	0.00172710418701172	0.0	0.0	0.0	203
+-204	0.00174283981323242	0.0	0.0	0.0	204
+-205	0.00174999237060547	0.0	0.0	0.0	205
+-206	0.00174093246459961	0.0	0.0	0.0	206
+-207	0.00173616409301758	0.0	0.0	0.0	207
+-208	0.00174903869628906	0.0100000000000016	0.0100000000000016	0.0	208
+-209	0.00177407264709473	0.0	0.0	0.0	209
+-210	0.00176286697387695	0.0	0.0	0.0	210
+-211	0.00174903869628906	0.0	0.0	0.0	211
+-212	0.00173807144165039	0.0	0.0	0.0	212
+-213	0.00173020362854004	0.0100000000000016	0.0100000000000016	0.0	213
+-214	0.00177502632141113	0.0	0.0	0.0	214
+-215	0.00175309181213379	0.0	0.0	0.0	215
+-216	0.00175595283508301	0.0	0.0	0.0	216
+-217	0.0257258415222168	0.0299999999999976	0.0299999999999976	0.0	217
+-218	0.00183296203613281	0.0	0.0	0.0	218
+-219	0.00183606147766113	0.0	0.0	0.0	219
+-220	0.0017850399017334	0.0	0.0	0.0	220
+-221	0.00177097320556641	0.0	0.0	0.0	221
+-222	0.00177097320556641	0.0100000000000016	0.0100000000000016	0.0	222
+-223	0.00174808502197266	0.0	0.0	0.0	223
+-224	0.00177216529846191	0.0	0.0	0.0	224
+-225	0.0017549991607666	0.0	0.0	0.0	225
+-226	0.00176095962524414	0.0	0.0	0.0	226
+-227	0.00178098678588867	0.00999999999999801	0.00999999999999801	0.0	227
+-228	0.00174188613891602	0.0	0.0	0.0	228
+-229	0.0017540454864502	0.0	0.0	0.0	229
+-230	0.00176477432250977	0.0	0.0	0.0	230
+-231	0.00176191329956055	0.0	0.0	0.0	231
+-232	0.00174713134765625	0.0	0.0	0.0	232
+-233	0.00176095962524414	0.0100000000000016	0.0100000000000016	0.0	233
+-234	0.00174903869628906	0.0	0.0	0.0	234
+-235	0.0017549991607666	0.0	0.0	0.0	235
+-236	0.00177001953125	0.0	0.0	0.0	236
+-237	0.00174093246459961	0.0	0.0	0.0	237
+-238	0.00174379348754883	0.0	0.0	0.0	238
+-239	0.0017390251159668	0.00999999999999801	0.00999999999999801	0.0	239
+-240	0.00175213813781738	0.0	0.0	0.0	240
+-241	0.00174117088317871	0.0	0.0	0.0	241
+-242	0.00341701507568359	0.0	0.0	0.0	242
+-243	0.00347495079040527	0.0100000000000016	0.0100000000000016	0.0	243
+-244	0.00339508056640625	0.0	0.0	0.0	244
+-245	0.00204801559448242	0.0	0.0	0.0	245
+-246	0.00174903869628906	0.0	0.0	0.0	246
+-247	0.00174903869628906	0.0100000000000016	0.0100000000000016	0.0	247
+-248	0.00174283981323242	0.0	0.0	0.0	248
+-249	0.00176382064819336	0.0	0.0	0.0	249
+-250	0.00179600715637207	0.0	0.0	0.0	250
+-251	0.00175380706787109	0.0	0.0	0.0	251
+-252	0.00175976753234863	0.00999999999999801	0.00999999999999801	0.0	252
+-253	0.00174188613891602	0.0	0.0	0.0	253
+-254	0.00174808502197266	0.0	0.0	0.0	254
+-255	0.00175690650939941	0.0	0.0	0.0	255
+-256	0.00173091888427734	0.0	0.0	0.0	256
+-257	0.00175213813781738	0.0	0.0	0.0	257
+-258	0.00174498558044434	0.0100000000000016	0.0100000000000016	0.0	258
+-259	0.00174999237060547	0.0	0.0	0.0	259
+-260	0.00175094604492188	0.0	0.0	0.0	260
+-261	0.00177097320556641	0.0	0.0	0.0	261
+-262	0.00174283981323242	0.0	0.0	0.0	262
+-263	0.00174999237060547	0.00999999999999801	0.00999999999999801	0.0	263
+-264	0.00174713134765625	0.0	0.0	0.0	264
+-265	0.00174212455749512	0.0	0.0	0.0	265
+-266	0.00174498558044434	0.0	0.0	0.0	266
+-267	0.00180602073669434	0.0	0.0	0.0	267
+-268	0.00176906585693359	0.0	0.0	0.0	268
+-269	0.00176382064819336	0.0100000000000016	0.0100000000000016	0.0	269
+-270	0.0255179405212402	0.0199999999999996	0.0199999999999996	0.0	270
+-271	0.00179314613342285	0.0	0.0	0.0	271
+-272	0.00182604789733887	0.00999999999999801	0.00999999999999801	0.0	272
+-273	0.00179910659790039	0.0	0.0	0.0	273
+-274	0.00179505348205566	0.0	0.0	0.0	274
+-275	0.00176811218261719	0.0	0.0	0.0	275
+-276	0.00177192687988281	0.0	0.0	0.0	276
+-277	0.00177478790283203	0.0	0.0	0.0	277
+-278	0.00176596641540527	0.0100000000000016	0.0100000000000016	0.0	278
+-279	0.0020899772644043	0.0	0.0	0.0	279
+-280	0.00182890892028809	0.0	0.0	0.0	280
+-281	0.00177597999572754	0.0	0.0	0.0	281
+-282	0.0018761157989502	0.0	0.0	0.0	282
+-283	0.00176405906677246	0.0100000000000016	0.0100000000000016	0.0	283
+-284	0.00177693367004395	0.0	0.0	0.0	284
+-285	0.00175094604492188	0.0	0.0	0.0	285
+-286	0.00176000595092773	0.0	0.0	0.0	286
+-287	0.00176095962524414	0.0	0.0	0.0	287
+-288	0.00176715850830078	0.0	0.0	0.0	288
+-289	0.0017549991607666	0.00999999999999801	0.00999999999999801	0.0	289
+-290	0.00177216529846191	0.0	0.0	0.0	290
+-291	0.00175881385803223	0.0	0.0	0.0	291
+-292	0.00177502632141113	0.0	0.0	0.0	292
+-293	0.00174999237060547	0.0	0.0	0.0	293
+-294	0.00176000595092773	0.0100000000000016	0.0100000000000016	0.0	294
+-295	0.00173807144165039	0.0	0.0	0.0	295
+-296	0.00174999237060547	0.0	0.0	0.0	296
+-297	0.00174212455749512	0.0	0.0	0.0	297
+-298	0.0017549991607666	0.0	0.0	0.0	298
+-299	0.00174713134765625	0.0	0.0	0.0	299
+-300	0.00174784660339355	0.00999999999999801	0.00999999999999801	0.0	300
+-301	0.00174403190612793	0.0	0.0	0.0	301
+-302	0.00175905227661133	0.0	0.0	0.0	302
+-303	0.00174713134765625	0.0	0.0	0.0	303
+-304	0.00293898582458496	0.0	0.0	0.0	304
+-305	0.00175619125366211	0.0100000000000016	0.0100000000000016	0.0	305
+-306	0.00176787376403809	0.0	0.0	0.0	306
+-307	0.00173401832580566	0.0	0.0	0.0	307
+-308	0.00176095962524414	0.0	0.0	0.0	308
+-309	0.00177383422851562	0.0	0.0	0.0	309
+-310	0.00175189971923828	0.0	0.0	0.0	310
+-311	0.00173211097717285	0.00999999999999801	0.00999999999999801	0.0	311
+-312	0.00173211097717285	0.0	0.0	0.0	312
+-313	0.00175786018371582	0.0	0.0	0.0	313
+-314	0.0017549991607666	0.0	0.0	0.0	314
+-315	0.00180292129516602	0.0	0.0	0.0	315
+-316	0.00176787376403809	0.0100000000000016	0.0100000000000016	0.0	316
+-317	0.00175714492797852	0.0	0.0	0.0	317
+-318	0.00177097320556641	0.0	0.0	0.0	318
+-319	0.00173711776733398	0.0	0.0	0.0	319
+-320	0.00174307823181152	0.0	0.0	0.0	320
+-321	0.00177502632141113	0.0	0.0	0.0	321
+-322	0.00176501274108887	0.0100000000000016	0.0100000000000016	0.0	322
+-323	0.00177407264709473	0.0	0.0	0.0	323
+-324	0.0253810882568359	0.0199999999999996	0.0199999999999996	0.0	324
+-325	0.00182509422302246	0.00999999999999801	0.00999999999999801	0.0	325
+-326	0.00184917449951172	0.0	0.0	0.0	326
+-327	0.0018160343170166	0.0	0.0	0.0	327
+-328	0.00176692008972168	0.0	0.0	0.0	328
+-329	0.00176501274108887	0.0	0.0	0.0	329
+-330	0.00177097320556641	0.0	0.0	0.0	330
+-331	0.00176906585693359	0.0100000000000016	0.0100000000000016	0.0	331
+-332	0.00175690650939941	0.0	0.0	0.0	332
+-333	0.00176906585693359	0.0	0.0	0.0	333
+-334	0.00173497200012207	0.0	0.0	0.0	334
+-335	0.00176095962524414	0.0	0.0	0.0	335
+-336	0.00176286697387695	0.00999999999999801	0.00999999999999801	0.0	336
+-337	0.00176382064819336	0.0	0.0	0.0	337
+-338	0.00174379348754883	0.0	0.0	0.0	338
+-339	0.00174808502197266	0.0	0.0	0.0	339
+-340	0.00175595283508301	0.0	0.0	0.0	340
+-341	0.0017540454864502	0.0	0.0	0.0	341
+-342	0.00174903869628906	0.0100000000000016	0.0100000000000016	0.0	342
+-343	0.00172686576843262	0.0	0.0	0.0	343
+-344	0.00175786018371582	0.0	0.0	0.0	344
+-345	0.00181317329406738	0.0	0.0	0.0	345
+-346	0.00176692008972168	0.0	0.0	0.0	346
+-347	0.00175213813781738	0.00999999999999801	0.00999999999999801	0.0	347
+-348	0.00172591209411621	0.0	0.0	0.0	348
+-349	0.00174093246459961	0.0	0.0	0.0	349
+-350	0.00202202796936035	0.0	0.0	0.0	350
+-351	0.00346088409423828	0.0	0.0	0.0	351
+-352	0.00342106819152832	0.0100000000000016	0.0100000000000016	0.0	352
+-353	0.0033118724822998	0.0	0.0	0.0	353
+-354	0.00195193290710449	0.0	0.0	0.0	354
+-355	0.00175690650939941	0.0100000000000016	0.0100000000000016	0.0	355
+-356	0.00174379348754883	0.0	0.0	0.0	356
+-357	0.00174283981323242	0.0	0.0	0.0	357
+-358	0.00174880027770996	0.0	0.0	0.0	358
+-359	0.00177788734436035	0.0	0.0	0.0	359
+-360	0.00173401832580566	0.0	0.0	0.0	360
+-361	0.00173687934875488	0.00999999999999801	0.00999999999999801	0.0	361
+-362	0.00174403190612793	0.0	0.0	0.0	362
+-363	0.00174999237060547	0.0	0.0	0.0	363
+-364	0.00173592567443848	0.0	0.0	0.0	364
+-365	0.00175094604492188	0.0	0.0	0.0	365
+-366	0.00174188613891602	0.0	0.0	0.0	366
+-367	0.00175118446350098	0.0100000000000016	0.0100000000000016	0.0	367
+-368	0.00175595283508301	0.0	0.0	0.0	368
+-369	0.00174403190612793	0.0	0.0	0.0	369
+-370	0.0017387866973877	0.0	0.0	0.0	370
+-371	0.00177192687988281	0.0	0.0	0.0	371
+-372	0.00177907943725586	0.00999999999999801	0.00999999999999801	0.0	372
+-373	0.00174903869628906	0.0	0.0	0.0	373
+-374	0.00176215171813965	0.0	0.0	0.0	374
+-375	0.0023951530456543	0.0	0.0	0.0	375
+-376	0.00357913970947266	0.0100000000000016	0.0100000000000016	0.0	376
+-377	0.0294489860534668	0.0199999999999996	0.0199999999999996	0.0	377
+-378	0.00180578231811523	0.00999999999999801	0.00999999999999801	0.0	378
+-379	0.00181698799133301	0.0	0.0	0.0	379
+-380	0.00183391571044922	0.0	0.0	0.0	380
+-381	0.00181293487548828	0.0	0.0	0.0	381
+-382	0.00175809860229492	0.0	0.0	0.0	382
+-383	0.00176405906677246	0.0100000000000016	0.0100000000000016	0.0	383
+-384	0.00176000595092773	0.0	0.0	0.0	384
+-385	0.00175809860229492	0.0	0.0	0.0	385
+-386	0.00177288055419922	0.0	0.0	0.0	386
+-387	0.00175285339355469	0.0	0.0	0.0	387
+-388	0.00175595283508301	0.0	0.0	0.0	388
+-389	0.00177502632141113	0.0100000000000016	0.0100000000000016	0.0	389
+-390	0.00174903869628906	0.0	0.0	0.0	390
+-391	0.00176215171813965	0.0	0.0	0.0	391
+-392	0.00174903869628906	0.0	0.0	0.0	392
+-393	0.00174307823181152	0.0	0.0	0.0	393
+-394	0.00177812576293945	0.00999999999999801	0.00999999999999801	0.0	394
+-395	0.00176596641540527	0.0	0.0	0.0	395
+-396	0.00178003311157227	0.0	0.0	0.0	396
+-397	0.0017390251159668	0.0	0.0	0.0	397
+-398	0.00174999237060547	0.0	0.0	0.0	398
+-399	0.00174307823181152	0.0	0.0	0.0	399
+-400	0.00176191329956055	0.0100000000000016	0.0100000000000016	0.0	400
+-401	0.0017549991607666	0.0	0.0	0.0	401
+-402	0.00173592567443848	0.0	0.0	0.0	402
+-403	0.00173401832580566	0.0	0.0	0.0	403
+-404	0.00176095962524414	0.0	0.0	0.0	404
+-405	0.00174689292907715	0.00999999999999801	0.00999999999999801	0.0	405
+-406	0.00176000595092773	0.0	0.0	0.0	406
+-407	0.00172615051269531	0.0	0.0	0.0	407
+-408	0.00174188613891602	0.0	0.0	0.0	408
+-409	0.00174283981323242	0.0	0.0	0.0	409
+-410	0.0017540454864502	0.0	0.0	0.0	410
+-411	0.00174403190612793	0.0100000000000016	0.0100000000000016	0.0	411
+-412	0.00172901153564453	0.0	0.0	0.0	412
+-413	0.00173282623291016	0.0	0.0	0.0	413
+-414	0.00174880027770996	0.0	0.0	0.0	414
+-415	0.0017549991607666	0.0	0.0	0.0	415
+-416	0.00173091888427734	0.00999999999999801	0.00999999999999801	0.0	416
+-417	0.00174999237060547	0.0	0.0	0.0	417
+-418	0.00184798240661621	0.0	0.0	0.0	418
+-419	0.00175118446350098	0.0	0.0	0.0	419
+-420	0.00173497200012207	0.0	0.0	0.0	420
+-421	0.00173807144165039	0.0	0.0	0.0	421
+-422	0.00174903869628906	0.0100000000000016	0.0100000000000016	0.0	422
+-423	0.00174093246459961	0.0	0.0	0.0	423
+-424	0.00177288055419922	0.0	0.0	0.0	424
+-425	0.00176000595092773	0.0	0.0	0.0	425
+-426	0.00174880027770996	0.0	0.0	0.0	426
+-427	0.00173187255859375	0.0	0.0	0.0	427
+-428	0.00179195404052734	0.0100000000000016	0.0100000000000016	0.0	428
+-429	0.00175309181213379	0.0	0.0	0.0	429
+-430	0.0253579616546631	0.0199999999999996	0.0199999999999996	0.0	430
+-431	0.0018010139465332	0.00999999999999801	0.00999999999999801	0.0	431
+-432	0.00183796882629395	0.0	0.0	0.0	432
+-433	0.00179314613342285	0.0	0.0	0.0	433
+-434	0.00180387496948242	0.0	0.0	0.0	434
+-435	0.00178289413452148	0.0	0.0	0.0	435
+-436	0.00178003311157227	0.0100000000000016	0.0100000000000016	0.0	436
+-437	0.00177001953125	0.0	0.0	0.0	437
+-438	0.00175285339355469	0.0	0.0	0.0	438
+-439	0.00176405906677246	0.0	0.0	0.0	439
+-440	0.00176501274108887	0.0	0.0	0.0	440
+-441	0.00173497200012207	0.0	0.0	0.0	441
+-442	0.00176215171813965	0.00999999999999801	0.00999999999999801	0.0	442
+-443	0.00176000595092773	0.0	0.0	0.0	443
+-444	0.0017390251159668	0.0	0.0	0.0	444
+-445	0.00175714492797852	0.0	0.0	0.0	445
+-446	0.00178098678588867	0.0	0.0	0.0	446
+-447	0.00176286697387695	0.0	0.0	0.0	447
+-448	0.00175595283508301	0.0100000000000016	0.0100000000000016	0.0	448
+-449	0.00177097320556641	0.0	0.0	0.0	449
+-450	0.00175905227661133	0.0	0.0	0.0	450
+-451	0.00175595283508301	0.0	0.0	0.0	451
+-452	0.00177693367004395	0.0	0.0	0.0	452
+-453	0.00174999237060547	0.00999999999999801	0.00999999999999801	0.0	453
+-454	0.00175595283508301	0.0	0.0	0.0	454
+-455	0.00176191329956055	0.0	0.0	0.0	455
+-456	0.00175094604492188	0.0	0.0	0.0	456
+-457	0.00329685211181641	0.0	0.0	0.0	457
+-458	0.00347805023193359	0.0100000000000016	0.0100000000000016	0.0	458
+-459	0.00338196754455566	0.0	0.0	0.0	459
+-460	0.00222587585449219	0.0	0.0	0.0	460
+-461	0.00174784660339355	0.0100000000000016	0.0100000000000016	0.0	461
+-462	0.00176715850830078	0.0	0.0	0.0	462
+-463	0.00176501274108887	0.0	0.0	0.0	463
+-464	0.00172901153564453	0.0	0.0	0.0	464
+-465	0.00177407264709473	0.0	0.0	0.0	465
+-466	0.00175309181213379	0.0	0.0	0.0	466
+-467	0.00176095962524414	0.00999999999999801	0.00999999999999801	0.0	467
+-468	0.00174403190612793	0.0	0.0	0.0	468
+-469	0.00172996520996094	0.0	0.0	0.0	469
+-470	0.00175285339355469	0.0	0.0	0.0	470
+-471	0.00176000595092773	0.0	0.0	0.0	471
+-472	0.00176119804382324	0.0100000000000016	0.0100000000000016	0.0	472
+-473	0.00173187255859375	0.0	0.0	0.0	473
+-474	0.00172281265258789	0.0	0.0	0.0	474
+-475	0.00175905227661133	0.0	0.0	0.0	475
+-476	0.00175714492797852	0.0	0.0	0.0	476
+-477	0.00174093246459961	0.0	0.0	0.0	477
+-478	0.00176501274108887	0.00999999999999801	0.00999999999999801	0.0	478
+-479	0.00173497200012207	0.0	0.0	0.0	479
+-480	0.00174593925476074	0.0	0.0	0.0	480
+-481	0.00177001953125	0.0	0.0	0.0	481
+-482	0.00177097320556641	0.0	0.0	0.0	482
+-483	0.0255038738250732	0.0300000000000011	0.0300000000000011	0.0	483
+-484	0.00180983543395996	0.0	0.0	0.0	484
+-485	0.00182580947875977	0.0	0.0	0.0	485
+-486	0.00181293487548828	0.0	0.0	0.0	486
+-487	0.00178980827331543	0.00999999999999801	0.00999999999999801	0.0	487
+-488	0.00177001953125	0.0	0.0	0.0	488
+-489	0.00174784660339355	0.0	0.0	0.0	489
+-490	0.00177311897277832	0.0	0.0	0.0	490
+-491	0.00178694725036621	0.0	0.0	0.0	491
+-492	0.00176596641540527	0.0100000000000016	0.0100000000000016	0.0	492
+-493	0.00175786018371582	0.0	0.0	0.0	493
+-494	0.00176286697387695	0.0	0.0	0.0	494
+-495	0.00174117088317871	0.0	0.0	0.0	495
+-496	0.0017540454864502	0.0	0.0	0.0	496
+-497	0.00176811218261719	0.0	0.0	0.0	497
+-498	0.00176405906677246	0.0100000000000016	0.0100000000000016	0.0	498
+-499	0.00175595283508301	0.0	0.0	0.0	499
+-500	0.00183701515197754	0.0	0.0	0.0	500
+-501	0.00176692008972168	0.0	0.0	0.0	501
+-502	0.00178289413452148	0.0	0.0	0.0	502
+-503	0.00176692008972168	0.00999999999999801	0.00999999999999801	0.0	503
+-504	0.00175595283508301	0.0	0.0	0.0	504
+-505	0.00173616409301758	0.0	0.0	0.0	505
+-506	0.00208091735839844	0.0	0.0	0.0	506
+-507	0.00292181968688965	0.0	0.0	0.0	507
+-508	0.00174379348754883	0.0	0.0	0.0	508
+-509	0.00174093246459961	0.0100000000000016	0.0100000000000016	0.0	509
+-510	0.00175595283508301	0.0	0.0	0.0	510
+-511	0.00174808502197266	0.0	0.0	0.0	511
+-512	0.00172805786132812	0.0	0.0	0.0	512
+-513	0.00174903869628906	0.0	0.0	0.0	513
+-514	0.00177097320556641	0.00999999999999801	0.00999999999999801	0.0	514
+-515	0.0017540454864502	0.0	0.0	0.0	515
+-516	0.00173282623291016	0.0	0.0	0.0	516
+-517	0.00174498558044434	0.0	0.0	0.0	517
+-518	0.00174188613891602	0.0	0.0	0.0	518
+-519	0.00176811218261719	0.0	0.0	0.0	519
+-520	0.00173711776733398	0.0100000000000016	0.0100000000000016	0.0	520
+-521	0.00175690650939941	0.0	0.0	0.0	521
+-522	0.00173592567443848	0.0	0.0	0.0	522
+-523	0.0017390251159668	0.0	0.0	0.0	523
+-524	0.00174903869628906	0.0	0.0	0.0	524
+-525	0.00175881385803223	0.00999999999999801	0.00999999999999801	0.0	525
+-526	0.00173497200012207	0.0	0.0	0.0	526
+-527	0.00173616409301758	0.0	0.0	0.0	527
+-528	0.00175189971923828	0.0	0.0	0.0	528
+-529	0.00174403190612793	0.0	0.0	0.0	529
+-530	0.00174903869628906	0.0	0.0	0.0	530
+-531	0.00175595283508301	0.0100000000000016	0.0100000000000016	0.0	531
+-532	0.00174307823181152	0.0	0.0	0.0	532
+-533	0.00174999237060547	0.0	0.0	0.0	533
+-534	0.00178980827331543	0.0	0.0	0.0	534
+-535	0.00175809860229492	0.0	0.0	0.0	535
+-536	0.025597095489502	0.0300000000000011	0.0300000000000011	0.0	536
+-537	0.00178790092468262	0.0	0.0	0.0	537
+-538	0.00197505950927734	0.0	0.0	0.0	538
+-539	0.00181388854980469	0.0	0.0	0.0	539
+-540	0.00177693367004395	0.00999999999999801	0.00999999999999801	0.0	540
+-541	0.00177311897277832	0.0	0.0	0.0	541
+-542	0.00185203552246094	0.0	0.0	0.0	542
+-543	0.00176501274108887	0.0	0.0	0.0	543
+-544	0.00176501274108887	0.0	0.0	0.0	544
+-545	0.00176405906677246	0.0100000000000016	0.0100000000000016	0.0	545
+-546	0.00176405906677246	0.0	0.0	0.0	546
+-547	0.00174093246459961	0.0	0.0	0.0	547
+-548	0.00175905227661133	0.0	0.0	0.0	548
+-549	0.00177407264709473	0.0	0.0	0.0	549
+-550	0.00176215171813965	0.0	0.0	0.0	550
+-551	0.00174903869628906	0.00999999999999801	0.00999999999999801	0.0	551
+-552	0.00175595283508301	0.0	0.0	0.0	552
+-553	0.00174593925476074	0.0	0.0	0.0	553
+-554	0.00176787376403809	0.0	0.0	0.0	554
+-555	0.00176000595092773	0.0	0.0	0.0	555
+-556	0.00175380706787109	0.0100000000000016	0.0100000000000016	0.0	556
+-557	0.00174593925476074	0.0	0.0	0.0	557
+-558	0.00173807144165039	0.0	0.0	0.0	558
+-559	0.00180602073669434	0.0	0.0	0.0	559
+-560	0.00174808502197266	0.0	0.0	0.0	560
+-561	0.00174093246459961	0.0	0.0	0.0	561
+-562	0.00177311897277832	0.00999999999999801	0.00999999999999801	0.0	562
+-563	0.00174212455749512	0.0	0.0	0.0	563
+-564	0.00174498558044434	0.0	0.0	0.0	564
+-565	0.00191402435302734	0.0	0.0	0.0	565
+-566	0.00347208976745605	0.0100000000000016	0.0100000000000016	0.0	566
+-567	0.00344085693359375	0.0	0.0	0.0	567
+-568	0.00338578224182129	0.0	0.0	0.0	568
+-569	0.00339102745056152	0.0100000000000016	0.0100000000000016	0.0	569
+-570	0.00190401077270508	0.0	0.0	0.0	570
+-571	0.00175905227661133	0.0	0.0	0.0	571
+-572	0.00177097320556641	0.0	0.0	0.0	572
+-573	0.00176215171813965	0.0	0.0	0.0	573
+-574	0.0017249584197998	0.0	0.0	0.0	574
+-575	0.00174903869628906	0.00999999999999801	0.00999999999999801	0.0	575
+-576	0.00174593925476074	0.0	0.0	0.0	576
+-577	0.0017399787902832	0.0	0.0	0.0	577
+-578	0.00174498558044434	0.0	0.0	0.0	578
+-579	0.00174689292907715	0.0	0.0	0.0	579
+-580	0.00175118446350098	0.0100000000000016	0.0100000000000016	0.0	580
+-581	0.00174307823181152	0.0	0.0	0.0	581
+-582	0.00175380706787109	0.0	0.0	0.0	582
+-583	0.00175690650939941	0.0	0.0	0.0	583
+-584	0.00174403190612793	0.0	0.0	0.0	584
+-585	0.00174903869628906	0.0	0.0	0.0	585
+-586	0.00176000595092773	0.00999999999999801	0.00999999999999801	0.0	586
+-587	0.00176596641540527	0.0	0.0	0.0	587
+-588	0.00175595283508301	0.0	0.0	0.0	588
+-589	0.0243070125579834	0.0199999999999996	0.0199999999999996	0.0	589
+-590	0.00179505348205566	0.0100000000000016	0.0100000000000016	0.0	590
+-591	0.00179696083068848	0.0	0.0	0.0	591
+-592	0.0018000602722168	0.0	0.0	0.0	592
+-593	0.00178909301757812	0.0	0.0	0.0	593
+-594	0.00181698799133301	0.0	0.0	0.0	594
+-595	0.00178003311157227	0.00999999999999801	0.00999999999999801	0.0	595
+-596	0.00175619125366211	0.0	0.0	0.0	596
+-597	0.0017540454864502	0.0	0.0	0.0	597
+-598	0.00177407264709473	0.0	0.0	0.0	598
+-599	0.00177502632141113	0.0	0.0	0.0	599
+-600	0.00176692008972168	0.0	0.0	0.0	600
+-601	0.00175690650939941	0.0100000000000016	0.0100000000000016	0.0	601
+-602	0.00173401832580566	0.0	0.0	0.0	602
+-603	0.00175213813781738	0.0	0.0	0.0	603
+-604	0.00176692008972168	0.0	0.0	0.0	604
+-605	0.00175189971923828	0.0	0.0	0.0	605
+-606	0.00176692008972168	0.0100000000000016	0.0100000000000016	0.0	606
+-607	0.00175595283508301	0.0	0.0	0.0	607
+-608	0.00176811218261719	0.0	0.0	0.0	608
+-609	0.00176787376403809	0.0	0.0	0.0	609
+-610	0.00177121162414551	0.0	0.0	0.0	610
+-611	0.00175094604492188	0.0	0.0	0.0	611
+-612	0.00174713134765625	0.00999999999999801	0.00999999999999801	0.0	612
+-613	0.00174403190612793	0.0	0.0	0.0	613
+-614	0.00173211097717285	0.0	0.0	0.0	614
+-615	0.0017859935760498	0.0	0.0	0.0	615
+-616	0.00175309181213379	0.0	0.0	0.0	616
+-617	0.00174784660339355	0.0	0.0	0.0	617
+-618	0.00174903869628906	0.0	0.0	0.0	618
+-619	0.00175714492797852	0.0	0.0	0.0	619
+-620	0.0022280216217041	0.0	0.0	0.0	620
+-621	0.00176501274108887	0.0	0.0	0.0	621
+-622	0.00176191329956055	0.0	0.0	0.0	622
+-623	0.00185799598693848	0.00999999999999801	0.00999999999999801	0.0	623
+-624	0.00174689292907715	0.0	0.0	0.0	624
+-625	0.00174689292907715	0.0	0.0	0.0	625
+-626	0.0017249584197998	0.0	0.0	0.0	626
+-627	0.00173401832580566	0.0	0.0	0.0	627
+-628	0.00175118446350098	0.0100000000000016	0.0100000000000016	0.0	628
+-629	0.00173401832580566	0.0	0.0	0.0	629
+-630	0.00174593925476074	0.0	0.0	0.0	630
+-631	0.00174593925476074	0.0	0.0	0.0	631
+-632	0.00174689292907715	0.0	0.0	0.0	632
+-633	0.00175905227661133	0.0	0.0	0.0	633
+-634	0.00177001953125	0.00999999999999801	0.00999999999999801	0.0	634
+-635	0.00174403190612793	0.0	0.0	0.0	635
+-636	0.00185108184814453	0.0	0.0	0.0	636
+-637	0.00174403190612793	0.0	0.0	0.0	637
+-638	0.00175023078918457	0.0	0.0	0.0	638
+-639	0.00177407264709473	0.0100000000000016	0.0100000000000016	0.0	639
+-640	0.00174403190612793	0.0	0.0	0.0	640
+-641	0.00175714492797852	0.0	0.0	0.0	641
+-642	0.0244560241699219	0.0199999999999996	0.0199999999999996	0.0	642
+-643	0.00182914733886719	0.0100000000000016	0.0100000000000016	0.0	643
+-644	0.00178813934326172	0.0	0.0	0.0	644
+-645	0.00177693367004395	0.0	0.0	0.0	645
+-646	0.00177192687988281	0.0	0.0	0.0	646
+-647	0.00177478790283203	0.0	0.0	0.0	647
+-648	0.00176906585693359	0.0	0.0	0.0	648
+-649	0.00176787376403809	0.00999999999999801	0.00999999999999801	0.0	649
+-650	0.00174212455749512	0.0	0.0	0.0	650
+-651	0.00175595283508301	0.0	0.0	0.0	651
+-652	0.00176286697387695	0.0	0.0	0.0	652
+-653	0.00176095962524414	0.0	0.0	0.0	653
+-654	0.00177597999572754	0.0100000000000016	0.0100000000000016	0.0	654
+-655	0.00177288055419922	0.0	0.0	0.0	655
+-656	0.00175118446350098	0.0	0.0	0.0	656
+-657	0.00175309181213379	0.0	0.0	0.0	657
+-658	0.0017540454864502	0.0	0.0	0.0	658
+-659	0.0017549991607666	0.0	0.0	0.0	659
+-660	0.00176215171813965	0.00999999999999801	0.00999999999999801	0.0	660
+-661	0.00176692008972168	0.0	0.0	0.0	661
+-662	0.00175619125366211	0.0	0.0	0.0	662
+-663	0.00177288055419922	0.0	0.0	0.0	663
+-664	0.00176310539245605	0.0	0.0	0.0	664
+-665	0.00175189971923828	0.0	0.0	0.0	665
+-666	0.00175094604492188	0.0100000000000016	0.0100000000000016	0.0	666
+-667	0.00175189971923828	0.0	0.0	0.0	667
+-668	0.00175905227661133	0.0	0.0	0.0	668
+-669	0.00175690650939941	0.0	0.0	0.0	669
+-670	0.00174903869628906	0.0	0.0	0.0	670
+-671	0.00176382064819336	0.00999999999999801	0.00999999999999801	0.0	671
+-672	0.00174307823181152	0.0	0.0	0.0	672
+-673	0.00174117088317871	0.0	0.0	0.0	673
+-674	0.00176906585693359	0.0	0.0	0.0	674
+-675	0.00325989723205566	0.0	0.0	0.0	675
+-676	0.00345802307128906	0.0100000000000016	0.0100000000000016	0.0	676
+-677	0.0026400089263916	0.0	0.0	0.0	677
+-678	0.00176692008972168	0.0	0.0	0.0	678
+-679	0.00268101692199707	0.0100000000000016	0.0100000000000016	0.0	679
+-680	0.00180482864379883	0.0	0.0	0.0	680
+-681	0.00174808502197266	0.0	0.0	0.0	681
+-682	0.00174283981323242	0.0	0.0	0.0	682
+-683	0.00176095962524414	0.0	0.0	0.0	683
+-684	0.00176095962524414	0.0	0.0	0.0	684
+-685	0.00175595283508301	0.00999999999999801	0.00999999999999801	0.0	685
+-686	0.00175094604492188	0.0	0.0	0.0	686
+-687	0.00176477432250977	0.0	0.0	0.0	687
+-688	0.00176000595092773	0.0	0.0	0.0	688
+-689	0.00176906585693359	0.0	0.0	0.0	689
+-690	0.00177502632141113	0.0100000000000016	0.0100000000000016	0.0	690
+-691	0.00174808502197266	0.0	0.0	0.0	691
+-692	0.00178909301757812	0.0	0.0	0.0	692
+-693	0.00177693367004395	0.0	0.0	0.0	693
+-694	0.0252690315246582	0.0299999999999976	0.0299999999999976	0.0	694
+-695	0.00181198120117188	0.0	0.0	0.0	695
+-696	0.00185799598693848	0.0	0.0	0.0	696
+-697	0.00180315971374512	0.0	0.0	0.0	697
+-698	0.00178194046020508	0.0	0.0	0.0	698
+-699	0.00178718566894531	0.0100000000000016	0.0100000000000016	0.0	699
+-700	0.00174593925476074	0.0	0.0	0.0	700
+-701	0.00177192687988281	0.0	0.0	0.0	701
+-702	0.00177216529846191	0.0	0.0	0.0	702
+-703	0.00174808502197266	0.0	0.0	0.0	703
+-704	0.00176882743835449	0.0	0.0	0.0	704
+-705	0.0017540454864502	0.00999999999999801	0.00999999999999801	0.0	705
+-706	0.00174403190612793	0.0	0.0	0.0	706
+-707	0.00177288055419922	0.0	0.0	0.0	707
+-708	0.00177001953125	0.0	0.0	0.0	708
+-709	0.00176310539245605	0.0	0.0	0.0	709
+-710	0.00175690650939941	0.0	0.0	0.0	710
+-711	0.00179791450500488	0.0100000000000016	0.0100000000000016	0.0	711
+-712	0.00183296203613281	0.0	0.0	0.0	712
+-713	0.00177001953125	0.0	0.0	0.0	713
+-714	0.00175595283508301	0.0	0.0	0.0	714
+-715	0.00175189971923828	0.0	0.0	0.0	715
+-716	0.00174713134765625	0.0	0.0	0.0	716
+-717	0.00175809860229492	0.0100000000000016	0.0100000000000016	0.0	717
+-718	0.00182104110717773	0.0	0.0	0.0	718
+-719	0.0017399787902832	0.0	0.0	0.0	719
+-720	0.00173497200012207	0.0	0.0	0.0	720
+-721	0.00173783302307129	0.0	0.0	0.0	721
+-722	0.0017399787902832	0.00999999999999801	0.00999999999999801	0.0	722
+-723	0.00175285339355469	0.0	0.0	0.0	723
+-724	0.00173282623291016	0.0	0.0	0.0	724
+-725	0.00175213813781738	0.0	0.0	0.0	725
+-726	0.00174498558044434	0.0	0.0	0.0	726
+-727	0.00174093246459961	0.0	0.0	0.0	727
+-728	0.00177121162414551	0.0100000000000016	0.0100000000000016	0.0	728
+-729	0.00174903869628906	0.0	0.0	0.0	729
+-730	0.00175690650939941	0.0	0.0	0.0	730
+-731	0.00173711776733398	0.0	0.0	0.0	731
+-732	0.0017399787902832	0.0	0.0	0.0	732
+-733	0.00176596641540527	0.00999999999999801	0.00999999999999801	0.0	733
+-734	0.00175619125366211	0.0	0.0	0.0	734
+-735	0.00173687934875488	0.0	0.0	0.0	735
+-736	0.00176000595092773	0.0	0.0	0.0	736
+-737	0.00175714492797852	0.0	0.0	0.0	737
+-738	0.00174689292907715	0.0	0.0	0.0	738
+-739	0.00174689292907715	0.0100000000000016	0.0100000000000016	0.0	739
+-740	0.00175309181213379	0.0	0.0	0.0	740
+-741	0.00175189971923828	0.0	0.0	0.0	741
+-742	0.00175881385803223	0.0	0.0	0.0	742
+-743	0.00175189971923828	0.0	0.0	0.0	743
+-744	0.00178813934326172	0.00999999999999801	0.00999999999999801	0.0	744
+-745	0.00172710418701172	0.0	0.0	0.0	745
+-746	0.00175690650939941	0.0	0.0	0.0	746
+-747	0.0253231525421143	0.0200000000000031	0.0200000000000031	0.0	747
+-748	0.00182986259460449	0.00999999999999801	0.00999999999999801	0.0	748
+-749	0.00179004669189453	0.0	0.0	0.0	749
+-750	0.00179314613342285	0.0	0.0	0.0	750
+-751	0.00178098678588867	0.0	0.0	0.0	751
+-752	0.00178003311157227	0.0	0.0	0.0	752
+-753	0.00176811218261719	0.0100000000000016	0.0100000000000016	0.0	753
+-754	0.00174283981323242	0.0	0.0	0.0	754
+-755	0.00176811218261719	0.0	0.0	0.0	755
+-756	0.00175881385803223	0.0	0.0	0.0	756
+-757	0.00174784660339355	0.0	0.0	0.0	757
+-758	0.00175905227661133	0.0	0.0	0.0	758
+-759	0.00177812576293945	0.00999999999999801	0.00999999999999801	0.0	759
+-760	0.00174689292907715	0.0	0.0	0.0	760
+-761	0.00183987617492676	0.0	0.0	0.0	761
+-762	0.0017549991607666	0.0	0.0	0.0	762
+-763	0.00175786018371582	0.0	0.0	0.0	763
+-764	0.00175380706787109	0.0100000000000016	0.0100000000000016	0.0	764
+-765	0.00176501274108887	0.0	0.0	0.0	765
+-766	0.00175690650939941	0.0	0.0	0.0	766
+-767	0.00174498558044434	0.0	0.0	0.0	767
+-768	0.0017549991607666	0.0	0.0	0.0	768
+-769	0.00175714492797852	0.0	0.0	0.0	769
+-770	0.00176405906677246	0.00999999999999801	0.00999999999999801	0.0	770
+-771	0.00174999237060547	0.0	0.0	0.0	771
+-772	0.00174689292907715	0.0	0.0	0.0	772
+-773	0.00174999237060547	0.0	0.0	0.0	773
+-774	0.0017387866973877	0.0	0.0	0.0	774
+-775	0.00175309181213379	0.0	0.0	0.0	775
+-776	0.0017399787902832	0.0100000000000016	0.0100000000000016	0.0	776
+-777	0.00179791450500488	0.0	0.0	0.0	777
+-778	0.00174188613891602	0.0	0.0	0.0	778
+-779	0.00172996520996094	0.0	0.0	0.0	779
+-780	0.00173211097717285	0.0	0.0	0.0	780
+-781	0.00176191329956055	0.00999999999999801	0.00999999999999801	0.0	781
+-782	0.00174999237060547	0.0	0.0	0.0	782
+-783	0.00173711776733398	0.0	0.0	0.0	783
+-784	0.00174212455749512	0.0	0.0	0.0	784
+-785	0.00317001342773438	0.0	0.0	0.0	785
+-786	0.00347280502319336	0.0100000000000016	0.0100000000000016	0.0	786
+-787	0.00329899787902832	0.0	0.0	0.0	787
+-788	0.00238609313964844	0.0	0.0	0.0	788
+-789	0.00221085548400879	0.0100000000000016	0.0100000000000016	0.0	789
+-790	0.00175285339355469	0.0	0.0	0.0	790
+-791	0.00175309181213379	0.0	0.0	0.0	791
+-792	0.00172901153564453	0.0	0.0	0.0	792
+-793	0.00179696083068848	0.0	0.0	0.0	793
+-794	0.00175285339355469	0.0	0.0	0.0	794
+-795	0.00173783302307129	0.00999999999999801	0.00999999999999801	0.0	795
+-796	0.00177001953125	0.0	0.0	0.0	796
+-797	0.00176811218261719	0.0	0.0	0.0	797
+-798	0.00175595283508301	0.0	0.0	0.0	798
+-799	0.0301520824432373	0.0300000000000011	0.0300000000000011	0.0	799
+-800	0.00359296798706055	0.00999999999999801	0.00999999999999801	0.0	800
+-801	0.00265407562255859	0.0	0.0	0.0	801
+-802	0.00182509422302246	0.0	0.0	0.0	802
+-803	0.00179409980773926	0.0	0.0	0.0	803
+-804	0.00177407264709473	0.0	0.0	0.0	804
+-805	0.00176787376403809	0.0100000000000016	0.0100000000000016	0.0	805
+-806	0.00177907943725586	0.0	0.0	0.0	806
+-807	0.00176310539245605	0.0	0.0	0.0	807
+-808	0.00176811218261719	0.0	0.0	0.0	808
+-809	0.00174808502197266	0.0	0.0	0.0	809
+-810	0.00175714492797852	0.00999999999999801	0.00999999999999801	0.0	810
+-811	0.00174784660339355	0.0	0.0	0.0	811
+-812	0.00178885459899902	0.0	0.0	0.0	812
+-813	0.00174999237060547	0.0	0.0	0.0	813
+-814	0.00176811218261719	0.0	0.0	0.0	814
+-815	0.00174999237060547	0.0	0.0	0.0	815
+-816	0.00175595283508301	0.0100000000000016	0.0100000000000016	0.0	816
+-817	0.00176000595092773	0.0	0.0	0.0	817
+-818	0.00177288055419922	0.0	0.0	0.0	818
+-819	0.00176095962524414	0.0	0.0	0.0	819
+-820	0.0017390251159668	0.0	0.0	0.0	820
+-821	0.00179696083068848	0.0	0.0	0.0	821
+-822	0.00174283981323242	0.0100000000000016	0.0100000000000016	0.0	822
+-823	0.00174713134765625	0.0	0.0	0.0	823
+-824	0.00175189971923828	0.0	0.0	0.0	824
+-825	0.00175094604492188	0.0	0.0	0.0	825
+-826	0.00173616409301758	0.0	0.0	0.0	826
+-827	0.00174093246459961	0.00999999999999801	0.00999999999999801	0.0	827
+-828	0.00174617767333984	0.0	0.0	0.0	828
+-829	0.00174188613891602	0.0	0.0	0.0	829
+-830	0.00173592567443848	0.0	0.0	0.0	830
+-831	0.0017240047454834	0.0	0.0	0.0	831
+-832	0.00176095962524414	0.0	0.0	0.0	832
+-833	0.00174713134765625	0.0100000000000016	0.0100000000000016	0.0	833
+-834	0.00175094604492188	0.0	0.0	0.0	834
+-835	0.00173807144165039	0.0	0.0	0.0	835
+-836	0.00176715850830078	0.0	0.0	0.0	836
+-837	0.00174093246459961	0.0	0.0	0.0	837
+-838	0.00176000595092773	0.00999999999999801	0.00999999999999801	0.0	838
+-839	0.00174498558044434	0.0	0.0	0.0	839
+-840	0.00174689292907715	0.0	0.0	0.0	840
+-841	0.00177502632141113	0.0	0.0	0.0	841
+-842	0.00175309181213379	0.0	0.0	0.0	842
+-843	0.00175213813781738	0.0	0.0	0.0	843
+-844	0.00175905227661133	0.0100000000000016	0.0100000000000016	0.0	844
+-845	0.0017249584197998	0.0	0.0	0.0	845
+-846	0.00174999237060547	0.0	0.0	0.0	846
+-847	0.00175309181213379	0.0	0.0	0.0	847
+-848	0.00177311897277832	0.0	0.0	0.0	848
+-849	0.00175309181213379	0.00999999999999801	0.00999999999999801	0.0	849
+-850	0.00175595283508301	0.0	0.0	0.0	850
+-851	0.0253610610961914	0.0200000000000031	0.0200000000000031	0.0	851
+-852	0.0018308162689209	0.0	0.0	0.0	852
+-853	0.00182509422302246	0.00999999999999801	0.00999999999999801	0.0	853
+-854	0.00179100036621094	0.0	0.0	0.0	854
+-855	0.0018000602722168	0.0	0.0	0.0	855
+-856	0.00175809860229492	0.0	0.0	0.0	856
+-857	0.00182390213012695	0.0	0.0	0.0	857
+-858	0.00175285339355469	0.0100000000000016	0.0100000000000016	0.0	858
+-859	0.00172996520996094	0.0	0.0	0.0	859
+-860	0.00173521041870117	0.0	0.0	0.0	860
+-861	0.00176787376403809	0.0	0.0	0.0	861
+-862	0.00175380706787109	0.0	0.0	0.0	862
+-863	0.00174999237060547	0.0	0.0	0.0	863
+-864	0.00177502632141113	0.00999999999999801	0.00999999999999801	0.0	864
+-865	0.0017549991607666	0.0	0.0	0.0	865
+-866	0.00175905227661133	0.0	0.0	0.0	866
+-867	0.00177693367004395	0.0	0.0	0.0	867
+-868	0.00178217887878418	0.0	0.0	0.0	868
+-869	0.00177478790283203	0.0100000000000016	0.0100000000000016	0.0	869
+-870	0.00176405906677246	0.0	0.0	0.0	870
+-871	0.00176191329956055	0.0	0.0	0.0	871
+-872	0.00175213813781738	0.0	0.0	0.0	872
+-873	0.00175690650939941	0.0	0.0	0.0	873
+-874	0.00174093246459961	0.0	0.0	0.0	874
+-875	0.0017399787902832	0.00999999999999801	0.00999999999999801	0.0	875
+-876	0.00173616409301758	0.0	0.0	0.0	876
+-877	0.00174808502197266	0.0	0.0	0.0	877
+-878	0.0017390251159668	0.0	0.0	0.0	878
+-879	0.00174403190612793	0.0	0.0	0.0	879
+-880	0.00173091888427734	0.0	0.0	0.0	880
+-881	0.00175786018371582	0.0100000000000016	0.0100000000000016	0.0	881
+-882	0.00173306465148926	0.0	0.0	0.0	882
+-883	0.0017399787902832	0.0	0.0	0.0	883
+-884	0.00173783302307129	0.0	0.0	0.0	884
+-885	0.00172281265258789	0.0	0.0	0.0	885
+-886	0.00175690650939941	0.0	0.0	0.0	886
+-887	0.00173497200012207	0.00999999999999801	0.00999999999999801	0.0	887
+-888	0.00175094604492188	0.0	0.0	0.0	888
+-889	0.00172090530395508	0.0	0.0	0.0	889
+-890	0.00198698043823242	0.0	0.0	0.0	890
+-891	0.00344991683959961	0.0100000000000016	0.0100000000000016	0.0	891
+-892	0.00345301628112793	0.0	0.0	0.0	892
+-893	0.00206422805786133	0.0	0.0	0.0	893
+-894	0.00191783905029297	0.0	0.0	0.0	894
+-895	0.00174188613891602	0.0	0.0	0.0	895
+-896	0.00173401832580566	0.0100000000000016	0.0100000000000016	0.0	896
+-897	0.00175094604492188	0.0	0.0	0.0	897
+-898	0.00176310539245605	0.0	0.0	0.0	898
+-899	0.00176095962524414	0.0	0.0	0.0	899
+-900	0.00181198120117188	0.0	0.0	0.0	900
+-901	0.00175094604492188	0.00999999999999801	0.00999999999999801	0.0	901
+-902	0.00177597999572754	0.0	0.0	0.0	902
+-903	0.0245981216430664	0.0199999999999996	0.0199999999999996	0.0	903
+-904	0.00182318687438965	0.0	0.0	0.0	904
+-905	0.00179600715637207	0.0100000000000016	0.0100000000000016	0.0	905
+-906	0.00179409980773926	0.0	0.0	0.0	906
+-907	0.00178408622741699	0.0	0.0	0.0	907
+-908	0.00177407264709473	0.0	0.0	0.0	908
+-909	0.00176501274108887	0.0	0.0	0.0	909
+-910	0.00176596641540527	0.0	0.0	0.0	910
+-911	0.00175595283508301	0.00999999999999801	0.00999999999999801	0.0	911
+-912	0.00176596641540527	0.0	0.0	0.0	912
+-913	0.00176501274108887	0.0	0.0	0.0	913
+-914	0.00175809860229492	0.0	0.0	0.0	914
+-915	0.00176405906677246	0.0	0.0	0.0	915
+-916	0.00176191329956055	0.0100000000000016	0.0100000000000016	0.0	916
+-917	0.00175619125366211	0.0	0.0	0.0	917
+-918	0.00175690650939941	0.0	0.0	0.0	918
+-919	0.00175189971923828	0.0	0.0	0.0	919
+-920	0.0017540454864502	0.0	0.0	0.0	920
+-921	0.0017540454864502	0.0	0.0	0.0	921
+-922	0.00176119804382324	0.00999999999999801	0.00999999999999801	0.0	922
+-923	0.00176095962524414	0.0	0.0	0.0	923
+-924	0.00176215171813965	0.0	0.0	0.0	924
+-925	0.00173592567443848	0.0	0.0	0.0	925
+-926	0.00174307823181152	0.0	0.0	0.0	926
+-927	0.00173401832580566	0.0100000000000016	0.0100000000000016	0.0	927
+-928	0.00174999237060547	0.0	0.0	0.0	928
+-929	0.0017399787902832	0.0	0.0	0.0	929
+-930	0.0017399787902832	0.0	0.0	0.0	930
+-931	0.00177502632141113	0.0	0.0	0.0	931
+-932	0.00175309181213379	0.0	0.0	0.0	932
+-933	0.00174713134765625	0.0100000000000016	0.0100000000000016	0.0	933
+-934	0.00172519683837891	0.0	0.0	0.0	934
+-935	0.00182008743286133	0.0	0.0	0.0	935
+-936	0.00175094604492188	0.0	0.0	0.0	936
+-937	0.00175213813781738	0.0	0.0	0.0	937
+-938	0.0017549991607666	0.00999999999999801	0.00999999999999801	0.0	938
+-939	0.00175881385803223	0.0	0.0	0.0	939
+-940	0.00176215171813965	0.0	0.0	0.0	940
+-941	0.00270485877990723	0.0	0.0	0.0	941
+-942	0.00175213813781738	0.0	0.0	0.0	942
+-943	0.0017399787902832	0.0100000000000016	0.0100000000000016	0.0	943
+-944	0.00174307823181152	0.0	0.0	0.0	944
+-945	0.00173497200012207	0.0	0.0	0.0	945
+-946	0.00174999237060547	0.0	0.0	0.0	946
+-947	0.00175690650939941	0.0	0.0	0.0	947
+-948	0.00176095962524414	0.0	0.0	0.0	948
+-949	0.00173807144165039	0.00999999999999801	0.00999999999999801	0.0	949
+-950	0.00175690650939941	0.0	0.0	0.0	950
+-951	0.0017390251159668	0.0	0.0	0.0	951
+-952	0.00178313255310059	0.0	0.0	0.0	952
+-953	0.00176692008972168	0.0	0.0	0.0	953
+-954	0.00176501274108887	0.0	0.0	0.0	954
+-955	0.0254151821136475	0.0199999999999996	0.0199999999999996	0.0	955
+-956	0.0018460750579834	0.0	0.0	0.0	956
+-957	0.00177717208862305	0.0	0.0	0.0	957
+-958	0.00177192687988281	0.0100000000000016	0.0100000000000016	0.0	958
+-959	0.00177407264709473	0.0	0.0	0.0	959
+-960	0.00177311897277832	0.0	0.0	0.0	960
+-961	0.00176906585693359	0.0	0.0	0.0	961
+-962	0.00176501274108887	0.0	0.0	0.0	962
+-963	0.00174212455749512	0.00999999999999801	0.00999999999999801	0.0	963
+-964	0.00176310539245605	0.0	0.0	0.0	964
+-965	0.00176095962524414	0.0	0.0	0.0	965
+-966	0.00175905227661133	0.0	0.0	0.0	966
+-967	0.00174999237060547	0.0	0.0	0.0	967
+-968	0.00176811218261719	0.0	0.0	0.0	968
+-969	0.00175189971923828	0.0100000000000016	0.0100000000000016	0.0	969
+-970	0.00194287300109863	0.0	0.0	0.0	970
+-971	0.0017540454864502	0.0	0.0	0.0	971
+-972	0.0019228458404541	0.0	0.0	0.0	972
+-973	0.00176405906677246	0.0	0.0	0.0	973
+-974	0.0017549991607666	0.00999999999999801	0.00999999999999801	0.0	974
+-975	0.00176310539245605	0.0	0.0	0.0	975
+-976	0.00173807144165039	0.0	0.0	0.0	976
+-977	0.00182604789733887	0.0	0.0	0.0	977
+-978	0.0017399787902832	0.0	0.0	0.0	978
+-979	0.0017540454864502	0.0	0.0	0.0	979
+-980	0.0017697811126709	0.0100000000000016	0.0100000000000016	0.0	980
+-981	0.0017390251159668	0.0	0.0	0.0	981
+-982	0.00175285339355469	0.0	0.0	0.0	982
+-983	0.00174880027770996	0.0	0.0	0.0	983
+-984	0.00176095962524414	0.0	0.0	0.0	984
+-985	0.00176501274108887	0.00999999999999801	0.00999999999999801	0.0	985
+-986	0.00175094604492188	0.0	0.0	0.0	986
+-987	0.0017390251159668	0.0	0.0	0.0	987
+-988	0.00174808502197266	0.0	0.0	0.0	988
+-989	0.0017540454864502	0.0	0.0	0.0	989
+-990	0.00174307823181152	0.0	0.0	0.0	990
+-991	0.00172710418701172	0.0100000000000016	0.0100000000000016	0.0	991
+-992	0.00177597999572754	0.0	0.0	0.0	992
+-993	0.00174903869628906	0.0	0.0	0.0	993
+-994	0.0017402172088623	0.0	0.0	0.0	994
+-995	0.00173187255859375	0.0	0.0	0.0	995
+-996	0.00175690650939941	0.0	0.0	0.0	996
+-997	0.00175213813781738	0.00999999999999801	0.00999999999999801	0.0	997
+-998	0.0017549991607666	0.0	0.0	0.0	998
+-999	0.00175094604492188	0.0	0.0	0.0	999
+-1000	0.00175905227661133	0.0	0.0	0.0	1000
+diff --git a/lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt.log b/lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt.log
+deleted file mode 100644
+index 47b0c7f..0000000
+--- a/lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt.log
++++ /dev/null
+@@ -1,261 +0,0 @@
+-========================== 2009-04-01T16:53:42 CEST ===========================
+-Benchmarking on ruby 1.8.6 (2008-08-11 patchlevel 287) [i686-linux].
+-Running 'GeneratorBenchmarkExt' for 1000 iterations/method (compare_time=real)
+-===============================================================================
+-
+-This first run is only for warmup.
+-GeneratorBenchmarkExt#generator_fast:
+-                  real             total              user            system 
+-sum        1.818191528       1.840000000       1.830000000       0.010000000 
+-min        0.001368999       0.000000000       0.000000000       0.000000000 
+-std-      -0.000870656      -0.002702580      -0.002705600      -0.000306228 
+-mean       0.001818192       0.001840000       0.001830000       0.000010000 
+-std+       0.004507039       0.006382580       0.006365600       0.000326228 
+-max        0.026389122       0.030000000       0.030000000       0.010000000 
+-std        0.002688848       0.004542580       0.004535600       0.000316228 
+-std%     147.885830391     246.879359662     247.847020509    3162.277660168 
+-harm       0.001475231               nan               nan               nan 
+-geo        0.001529059       0.000000000       0.000000000       0.000000000 
+-q1         0.001397133       0.000000000       0.000000000       0.000000000 
+-med        0.001406908       0.000000000       0.000000000       0.000000000 
+-q3         0.001425028       0.000000000       0.000000000       0.000000000 
+-                  1000         549.99706       0.001818192
+-                 calls         calls/sec         secs/call
+-
+-    0.02514 -|
+-    0.02264 -|*
+-    0.02013 -|
+-    0.01763 -|
+-    0.01513 -|
+-    0.01263 -|
+-    0.01013 -|
+-    0.00762 -|
+-    0.00512 -|
+-    0.00262 -|**************************************************
+-
+-Outliers detected with box plot algo (median=0.00141, iqr=0.00003, factor=3.00):
+-high=63 very_high=132
+-
+-Ljung-Box statistics: q=15.00353 (alpha=0.05, df=50).
+-0.00000 < 0.95000 => No autocorrelation was detected.
+-
+-GeneratorBenchmarkExt#generator_fast:
+-                  real             total              user            system 
+-sum        1.826970100       1.830000000       1.820000000       0.010000000 
+-min        0.001377106       0.000000000       0.000000000       0.000000000 
+-std-      -0.000992693      -0.002749527      -0.002708588      -0.000306228 
+-mean       0.001826970       0.001830000       0.001820000       0.000010000 
+-std+       0.004646633       0.006409527       0.006348588       0.000326228 
+-max        0.027617931       0.030000000       0.030000000       0.010000000 
+-std        0.002819663       0.004579527       0.004528588       0.000316228 
+-std%     154.335471491     250.247404066     248.823509412    3162.277660168 
+-harm       0.001469225               nan               nan               nan 
+-geo        0.001522946       0.000000000       0.000000000       0.000000000 
+-q1         0.001402140       0.000000000       0.000000000       0.000000000 
+-med        0.001411915       0.000000000       0.000000000       0.000000000 
+-q3         0.001425982       0.000000000       0.000000000       0.000000000 
+-                  1000         547.35433       0.001826970
+-                 calls         calls/sec         secs/call
+-
+-    0.02631 -|
+-    0.02368 -|*
+-    0.02106 -|
+-    0.01843 -|
+-    0.01581 -|
+-    0.01319 -|
+-    0.01056 -|
+-    0.00794 -|
+-    0.00531 -|
+-    0.00269 -|**************************************************
+-
+-Outliers detected with box plot algo (median=0.00141, iqr=0.00002, factor=3.00):
+-high=84 very_high=91
+-
+-Ljung-Box statistics: q=13.47105 (alpha=0.05, df=50).
+-0.00000 < 0.95000 => No autocorrelation was detected.
+-
+-No initial data truncated.
+- => System may have been in a steady state from the beginning.
+--------------------------------------------------------------------------------
+-
+-This first run is only for warmup.
+-GeneratorBenchmarkExt#generator_pretty:
+-                  real             total              user            system 
+-sum        2.625656843       2.590000000       2.580000000       0.010000000 
+-min        0.002025127       0.000000000       0.000000000       0.000000000 
+-std-      -0.000656844      -0.002684440      -0.002689855      -0.000306228 
+-mean       0.002625657       0.002590000       0.002580000       0.000010000 
+-std+       0.005908158       0.007864440       0.007849855       0.000326228 
+-max        0.028638124       0.030000000       0.030000000       0.010000000 
+-std        0.003282501       0.005274440       0.005269855       0.000316228 
+-std%     125.016381076     203.646340853     204.257944451    3162.277660168 
+-harm       0.002154247               nan               nan               nan 
+-geo        0.002239052       0.000000000       0.000000000       0.000000000 
+-q1         0.002051830       0.000000000       0.000000000       0.000000000 
+-med        0.002062082       0.000000000       0.000000000       0.000000000 
+-q3         0.002082050       0.000000000       0.000000000       0.000000000 
+-                  1000         380.85708       0.002625657
+-                 calls         calls/sec         secs/call
+-
+-    0.02731 -|
+-    0.02465 -|*
+-    0.02198 -|
+-    0.01932 -|
+-    0.01666 -|
+-    0.01400 -|
+-    0.01134 -|
+-    0.00868 -|
+-    0.00602 -|
+-    0.00336 -|**************************************************
+-
+-Outliers detected with box plot algo (median=0.00206, iqr=0.00003, factor=3.00):
+-high=98 very_high=107
+-
+-Ljung-Box statistics: q=349.53704 (alpha=0.05, df=50).
+-1.00000 >= 0.95000 => Autocorrelation was detected.
+-
+-GeneratorBenchmarkExt#generator_pretty:
+-                  real             total              user            system 
+-sum        2.399331093       2.360000000       2.360000000       0.000000000 
+-min        0.002033949       0.000000000       0.000000000       0.000000000 
+-std-      -0.000767217      -0.002736080      -0.002736080       0.000000000 
+-mean       0.002665923       0.002622222       0.002622222       0.000000000 
+-std+       0.006099064       0.007980525       0.007980525       0.000000000 
+-max        0.029814005       0.030000000       0.030000000       0.000000000 
+-std        0.003433140       0.005358303       0.005358303       0.000000000 
+-std%     128.778658745     204.342051806     204.342051806               nan 
+-harm       0.002164550               nan               nan               nan 
+-geo        0.002253865       0.000000000       0.000000000       0.000000000 
+-q1         0.002059937       0.000000000       0.000000000       0.000000000 
+-med        0.002071142       0.000000000       0.000000000       0.000000000 
+-q3         0.002090931       0.000000000       0.000000000       0.000000000 
+-                   900         375.10455       0.002665923
+-                 calls         calls/sec         secs/call
+-
+-    0.02843 -|
+-    0.02565 -|*
+-    0.02287 -|
+-    0.02009 -|
+-    0.01731 -|
+-    0.01453 -|
+-    0.01176 -|
+-    0.00898 -|
+-    0.00620 -|
+-    0.00342 -|**************************************************
+-
+-Outliers detected with box plot algo (median=0.00207, iqr=0.00003, factor=3.00):
+-high=89 very_high=86
+-
+-Ljung-Box statistics: q=342.52637 (alpha=0.05, df=50).
+-1.00000 >= 0.95000 => Autocorrelation was detected.
+-
+-Truncated initial 100 measurements: 1000 -> 900 (-10.00%).
+--------------------------------------------------------------------------------
+-
+-This first run is only for warmup.
+-GeneratorBenchmarkExt#generator_safe:
+-                  real             total              user            system 
+-sum        2.218419790       2.210000000       2.210000000       0.000000000 
+-min        0.001708984       0.000000000       0.000000000       0.000000000 
+-std-      -0.000607850      -0.002484458      -0.002484458       0.000000000 
+-mean       0.002218420       0.002210000       0.002210000       0.000000000 
+-std+       0.005044690       0.006904458       0.006904458       0.000000000 
+-max        0.026993036       0.030000000       0.030000000       0.000000000 
+-std        0.002826270       0.004694458       0.004694458       0.000000000 
+-std%     127.400134370     212.418923782     212.418923782               nan 
+-harm       0.001839661               nan               nan               nan 
+-geo        0.001909029       0.000000000       0.000000000       0.000000000 
+-q1         0.001738071       0.000000000       0.000000000       0.000000000 
+-med        0.001749992       0.000000000       0.000000000       0.000000000 
+-q3         0.001769066       0.000000000       0.000000000       0.000000000 
+-                  1000         450.77131       0.002218420
+-                 calls         calls/sec         secs/call
+-
+-    0.02573 -|
+-    0.02320 -|
+-    0.02067 -|
+-    0.01814 -|
+-    0.01562 -|
+-    0.01309 -|
+-    0.01056 -|
+-    0.00803 -|
+-    0.00550 -|
+-    0.00297 -|**************************************************
+-
+-Outliers detected with box plot algo (median=0.00175, iqr=0.00003, factor=3.00):
+-high=58 very_high=129
+-
+-Ljung-Box statistics: q=24.03262 (alpha=0.05, df=50).
+-0.00070 < 0.95000 => No autocorrelation was detected.
+-
+-GeneratorBenchmarkExt#generator_safe:
+-                  real             total              user            system 
+-sum        2.252413511       2.250000000       2.250000000       0.000000000 
+-min        0.001720905       0.000000000       0.000000000       0.000000000 
+-std-      -0.000940042      -0.002634809      -0.002634809       0.000000000 
+-mean       0.002252414       0.002250000       0.002250000       0.000000000 
+-std+       0.005444869       0.007134809       0.007134809       0.000000000 
+-max        0.030152082       0.030000000       0.030000000       0.000000000 
+-std        0.003192455       0.004884809       0.004884809       0.000000000 
+-std%     141.734856492     217.102633117     217.102633117               nan 
+-harm       0.001827244               nan               nan               nan 
+-geo        0.001895755       0.000000000       0.000000000       0.000000000 
+-q1         0.001747131       0.000000000       0.000000000       0.000000000 
+-med        0.001757145       0.000000000       0.000000000       0.000000000 
+-q3         0.001773119       0.000000000       0.000000000       0.000000000 
+-                  1000         443.96821       0.002252414
+-                 calls         calls/sec         secs/call
+-
+-    0.02873 -|
+-    0.02589 -|*
+-    0.02304 -|
+-    0.02020 -|
+-    0.01736 -|
+-    0.01451 -|
+-    0.01167 -|
+-    0.00883 -|
+-    0.00599 -|
+-    0.00314 -|**************************************************
+-
+-Outliers detected with box plot algo (median=0.00176, iqr=0.00003, factor=3.00):
+-high=92 very_high=86
+-
+-Ljung-Box statistics: q=19.23732 (alpha=0.05, df=50).
+-0.00003 < 0.95000 => No autocorrelation was detected.
+-
+-No initial data truncated.
+- => System may have been in a steady state from the beginning.
+-========================== 2009-04-01T16:54:07 CEST ===========================
+-
+-Comparing times (call_time_mean):
+- 1 GeneratorBenchmarkExt#generator_fast   1000 repeats:
+-       547.354332608 (  real) ->    1.459x 
+-         0.001826970
+- 2 GeneratorBenchmarkExt#generator_safe   1000 repeats:
+-       443.968212317 (  real) ->    1.184x 
+-         0.002252414
+- 3 GeneratorBenchmarkExt#generator_pretty 900 repeats:
+-       375.104545883 (  real) ->    1.000x 
+-         0.002665923
+-           calls/sec (  time) ->    speed  covers
+-           secs/call
+-
+-Comparing times (call_time_median):
+- 1 GeneratorBenchmarkExt#generator_fast   1000 repeats:
+-       708.258020939 (  real) ->    1.467x 
+-         0.001411915
+- 2 GeneratorBenchmarkExt#generator_safe   1000 repeats:
+-       569.105020353 (  real) ->    1.179x 
+-         0.001757145
+- 3 GeneratorBenchmarkExt#generator_pretty 900 repeats:
+-       482.825371244 (  real) ->    1.000x 
+-         0.002071142
+-           calls/sec (  time) ->    speed  covers
+-           secs/call
+-===============================================================================
+-Writing measurement data file '/data/scm/json/benchmarks/data/GeneratorBenchmarkExt#generator_fast.dat'.
+-Writing autocorrelation plot file '/data/scm/json/benchmarks/data/GeneratorBenchmarkExt#generator_fast-autocorrelation.dat'.
+-Writing measurement data file '/data/scm/json/benchmarks/data/GeneratorBenchmarkExt#generator_pretty.dat'.
+-Writing autocorrelation plot file '/data/scm/json/benchmarks/data/GeneratorBenchmarkExt#generator_pretty-autocorrelation.dat'.
+-Writing measurement data file '/data/scm/json/benchmarks/data/GeneratorBenchmarkExt#generator_safe.dat'.
+-Writing autocorrelation plot file '/data/scm/json/benchmarks/data/GeneratorBenchmarkExt#generator_safe-autocorrelation.dat'.
+diff --git a/lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_fast-autocorrelation.dat b/lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_fast-autocorrelation.dat
+deleted file mode 100644
+index 39516bc..0000000
+--- a/lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_fast-autocorrelation.dat
++++ /dev/null
+@@ -1,1000 +0,0 @@
+-#lag	autocorrelation
+-1	1.0
+-2	-0.170725652741942
+-3	-0.173770301666704
+-4	-0.172897166156851
+-5	-0.168221269286136
+-6	-0.177979259169647
+-7	0.175910550703494
+-8	0.631061265876843
+-9	-0.174719948437131
+-10	-0.177293593621048
+-11	-0.162698942321747
+-12	-0.171029777522503
+-13	-0.170296229667321
+-14	0.528563135577363
+-15	0.275831998572987
+-16	-0.174813658667011
+-17	-0.172093562954041
+-18	-0.168544068156987
+-19	-0.166590813818547
+-20	-0.0638221070309873
+-21	0.650522478992019
+-22	0.0331509662336747
+-23	-0.168760953941647
+-24	-0.16341752594627
+-25	-0.170818893187341
+-26	-0.164732529292879
+-27	0.162214061245849
+-28	0.522886471249678
+-29	-0.0702164490631389
+-30	-0.170342702198113
+-31	-0.161403416617991
+-32	-0.166099481459981
+-33	-0.11599356123736
+-34	0.35515929301799
+-35	0.320772083044373
+-36	-0.117685112181583
+-37	-0.169070189028916
+-38	-0.159958239256153
+-39	-0.159435335479438
+-40	0.0319527022003592
+-41	0.371475859420178
+-42	0.175271663512744
+-43	-0.138959890894007
+-44	-0.163896984335847
+-45	-0.169727435298396
+-46	-0.13197665874304
+-47	0.187359182943715
+-48	0.291819477747683
+-49	0.0816643898170594
+-50	-0.150240775423654
+-51	-0.150195661024305
+-52	-0.165928012119222
+-53	-0.0320978556096035
+-54	0.221655302405546
+-55	0.235675757438344
+-56	0.0104091592019151
+-57	-0.167146434535141
+-58	-0.155117513175394
+-59	-0.149297587622335
+-60	0.0872938227826692
+-61	0.203748825546551
+-62	0.168550083168428
+-63	-0.0396707902562578
+-64	-0.158563031820387
+-65	-0.159836689037633
+-66	-0.0768666234623447
+-67	0.148975157851596
+-68	0.145123374753783
+-69	0.133851392533958
+-70	-0.0813691125651875
+-71	-0.161000844437348
+-72	-0.154719980109192
+-73	0.0319631482416382
+-74	0.130803526405489
+-75	0.134803263091346
+-76	0.0725284180216342
+-77	-0.105199055037918
+-78	-0.156074876537289
+-79	-0.107946871185683
+-80	0.0836764513383004
+-81	0.114802110172454
+-82	0.120184125868115
+-83	0.0219557508902663
+-84	-0.126340081403489
+-85	-0.161799956489859
+-86	-0.0125672540754974
+-87	0.0971048482927368
+-88	0.0787545812186751
+-89	0.0948238873807684
+-90	0.000719292583179628
+-91	-0.14238726433046
+-92	-0.123547942883664
+-93	0.045691368088177
+-94	0.0816329437452033
+-95	0.0514248553628602
+-96	0.079680652824934
+-97	-0.0425865734879474
+-98	-0.149657706603128
+-99	-0.0482568721456359
+-100	0.0598246932377812
+-101	0.0730073630022969
+-102	0.0493194581087269
+-103	0.0614638905886062
+-104	-0.0747784996077696
+-105	-0.134762851026629
+-106	0.0150375208487961
+-107	0.0471753592749379
+-108	0.0292261702954045
+-109	0.0584126489508255
+-110	0.0274065618881429
+-111	-0.0923629805791867
+-112	-0.0808051188610178
+-113	0.0376068323578018
+-114	0.0442243395389739
+-115	0.0126091810820727
+-116	0.0555017080552345
+-117	-0.00777360178104387
+-118	-0.0945093162279043
+-119	-0.022038518955775
+-120	0.0281685224822615
+-121	0.0360696788220002
+-122	0.00713767841566683
+-123	0.0421452289712879
+-124	-0.0237791430411877
+-125	-0.0742603410791366
+-126	0.00647409977150723
+-127	0.023633020622411
+-128	0.0112812718354579
+-129	0.0206308476010651
+-130	0.0255893471032846
+-131	-0.0412520741546623
+-132	-0.0335271150442982
+-133	0.0103042519486441
+-134	0.0216752613460992
+-135	-0.0178133510217017
+-136	0.0272498700028734
+-137	0.016136487618036
+-138	-0.0397127191558659
+-139	0.000486023489007977
+-140	0.00602879598312952
+-141	0.0137117482424303
+-142	-0.0239000113030396
+-143	0.0256815555012877
+-144	-0.00060378060179975
+-145	-0.00976477458386044
+-146	-0.00471952290156136
+-147	0.00287226670988194
+-148	-0.00739404113874663
+-149	-0.00811924231656889
+-150	0.0201609109752059
+-151	0.00972768702895235
+-152	0.000848772862832347
+-153	-0.00315419376588145
+-154	0.00325411212387319
+-155	-0.0317897669469223
+-156	0.00942578451848677
+-157	-0.00114487370622857
+-158	0.0316193613529631
+-159	-0.0029035071383654
+-160	-0.00961310004099253
+-161	-0.00376402041194372
+-162	-0.0304203576913082
+-163	0.0040586071587507
+-164	0.0181183011617105
+-165	0.0289277830257262
+-166	-0.00204748582187099
+-167	-0.00833532939960483
+-168	-0.0179545373314343
+-169	-0.0281067596140224
+-170	0.00621739022305282
+-171	0.020061720611003
+-172	0.0441951153685219
+-173	-0.016767863675634
+-174	-0.00891142478547904
+-175	-0.034295757242845
+-176	-0.016919846890981
+-177	0.00444867679830856
+-178	0.057088732705068
+-179	0.01772144393744
+-180	-0.0115305384915719
+-181	-0.0214068916539082
+-182	-0.0361142387382199
+-183	-0.013268832313842
+-184	0.010553526981677
+-185	0.0641530212355029
+-186	0.00531141736458679
+-187	-0.0129434128279975
+-188	-0.0288767748585849
+-189	-0.0325395473006688
+-190	-0.013236712565576
+-191	0.0408115115996002
+-192	0.0564202212852658
+-193	-0.00419580869937261
+-194	-0.0240043584548271
+-195	-0.0410661026884763
+-196	-0.0308430649531645
+-197	-0.00193671234656414
+-198	0.0574028584211738
+-199	0.0464705207875104
+-200	0.00131591241415564
+-201	-0.0376248928893234
+-202	-0.03907610654102
+-203	-0.0270477565328025
+-204	0.0208038841462715
+-205	0.0713903559954449
+-206	0.0172971300646441
+-207	-0.0158722320069745
+-208	-0.0368888763339713
+-209	-0.0453718730430625
+-210	-0.0217822862730174
+-211	0.0539702430257461
+-212	0.0523602401531812
+-213	0.0209143114178913
+-214	-0.0355801431609542
+-215	-0.0377942204568278
+-216	-0.0425711559012913
+-217	-0.00707645512821953
+-218	0.0728667936636181
+-219	0.0361207184120543
+-220	0.0128571335027956
+-221	-0.0500603421741668
+-222	-0.0391402365626237
+-223	-0.0338696993621202
+-224	0.0225822360602949
+-225	0.0582954334884232
+-226	0.0343772287798159
+-227	0.000189606884889642
+-228	-0.0526391089870516
+-229	-0.0433107479511685
+-230	-0.0222872074614468
+-231	0.0506022312295133
+-232	0.0475294709603697
+-233	0.033409950599465
+-234	-0.0396552908405006
+-235	-0.0416731652109144
+-236	-0.0376644416284466
+-237	-0.0120295884760736
+-238	0.0667676774080548
+-239	0.0397241548411963
+-240	0.0242686882994478
+-241	-0.0511926472771689
+-242	-0.0406717091383664
+-243	-0.0294526606762824
+-244	0.0122100601151817
+-245	0.0582087173478016
+-246	0.0279608706883549
+-247	0.00958023333135808
+-248	-0.0607734282446654
+-249	-0.0326785608605117
+-250	-0.0170207233666544
+-251	0.0461938078567918
+-252	0.0336445218462931
+-253	0.0452208779230127
+-254	-0.0303944318761255
+-255	-0.0494219498376225
+-256	-0.0318543144076625
+-257	-0.00927701052965794
+-258	0.0537742147750351
+-259	0.0349392754231259
+-260	0.0230828975637977
+-261	-0.0377907249695523
+-262	-0.0429055961196646
+-263	-0.017728080300272
+-264	0.000424042692478759
+-265	0.0472551057914617
+-266	0.0405778077745205
+-267	-0.00156836352007451
+-268	-0.0419460412931724
+-269	-0.0345431630170736
+-270	-0.0143420878981143
+-271	0.0187023906658354
+-272	0.0418900285241672
+-273	0.0405074017275708
+-274	-0.0190108947516174
+-275	-0.0546041853190452
+-276	-0.0171268537791246
+-277	-0.0128446606789693
+-278	0.0395381045567008
+-279	0.0310776255240069
+-280	0.0407363391562478
+-281	-0.033091514570131
+-282	-0.0503175108683564
+-283	-0.022772349202314
+-284	0.00530849685544454
+-285	0.0324464330192744
+-286	0.0465351961365909
+-287	-0.00328476076139341
+-288	-0.0300758395541426
+-289	-0.0371777756744481
+-290	-0.00431509980873169
+-291	0.00608435003025785
+-292	0.037638330575397
+-293	0.0407716145244858
+-294	-0.0176308532927816
+-295	-0.0455722533058368
+-296	-0.0254868606225217
+-297	-0.00176448336443634
+-298	0.015401834338667
+-299	0.0470736363973921
+-300	0.0286385461989055
+-301	-0.02407787658874
+-302	-0.0462179062100874
+-303	-0.00954285257082467
+-304	0.00223496307580496
+-305	0.019441609399508
+-306	0.0376394897901893
+-307	0.0152437430866642
+-308	-0.0312285316173427
+-309	-0.0450095093247238
+-310	0.00405494429487151
+-311	-0.000906366188112425
+-312	0.0342390932524035
+-313	0.0351096044622525
+-314	-0.0067200598875223
+-315	-0.0344931951944617
+-316	-0.0250051604191116
+-317	-0.0079099140627721
+-318	0.0136877534761663
+-319	0.0470111495216969
+-320	0.004066298860697
+-321	-0.0106091011767897
+-322	-0.035535335618417
+-323	-0.00900628798721377
+-324	-0.00437923810369414
+-325	0.0183021198298254
+-326	0.031707051659253
+-327	0.0156128127338416
+-328	-0.0272783407707802
+-329	-0.036001647799748
+-330	0.00528671926612521
+-331	-0.000290217242915226
+-332	0.0353019065669182
+-333	0.00464723527656522
+-334	0.00460168685380347
+-335	-0.0215595994261557
+-336	-0.0299493415452654
+-337	-0.0034698093249361
+-338	0.0165266322772037
+-339	0.0315139059204056
+-340	0.00362648192318334
+-341	-0.00491801854061831
+-342	-0.0231228284017189
+-343	-0.0113129015126025
+-344	-0.00300665710172655
+-345	0.0130130997144332
+-346	0.0223950145161189
+-347	0.00202583064367953
+-348	-0.0102668124711821
+-349	-0.0253546874115718
+-350	0.00644442693633731
+-351	0.000780453480952724
+-352	0.0284887918984724
+-353	-0.00595281685205509
+-354	0.0120132555793013
+-355	-0.0181922031950026
+-356	-0.0248881070928514
+-357	-0.00242385809089605
+-358	0.0194092079332272
+-359	0.0144215071404531
+-360	0.00612726395169545
+-361	-0.00573485213524349
+-362	-0.0117678537517965
+-363	-0.0132866019915077
+-364	-0.00168434348341747
+-365	0.0210258042234829
+-366	0.00299710982573773
+-367	7.02933284912932e-05
+-368	-0.00141527364094497
+-369	-0.0174837658027455
+-370	-0.00530972905386562
+-371	0.00289284688712308
+-372	0.0269088067868297
+-373	-0.00857711045394559
+-374	0.000634286012527533
+-375	-0.00732827217084004
+-376	-0.0129999392900683
+-377	-0.00620543176764517
+-378	0.0219005305671357
+-379	0.00951579849769713
+-380	-0.00156577259219444
+-381	0.00334210346592974
+-382	-0.0168913201522477
+-383	-0.0140750807027531
+-384	0.0026387459171992
+-385	0.0167243976144324
+-386	0.000401824368635554
+-387	0.00494540377378665
+-388	-0.0079650110757071
+-389	-0.000153543070488744
+-390	-0.0157596554184165
+-391	0.00960203655959764
+-392	0.0194333180320067
+-393	-0.00698081626697105
+-394	-0.00616259455878436
+-395	-0.00885431917148208
+-396	-0.000823472402578178
+-397	-0.014306329807885
+-398	0.0323044170275812
+-399	-0.00116363767533424
+-400	-0.00613094977576676
+-401	0.00681272285172057
+-402	-0.0120741370386856
+-403	-0.00393525989936848
+-404	0.00143625779594446
+-405	0.0112941876899105
+-406	0.00621416024416119
+-407	-0.00715834709108978
+-408	0.00349330341606058
+-409	-0.0134328785266322
+-410	-0.00983212957457947
+-411	0.0170214269071715
+-412	0.00768534801684557
+-413	-0.00433253762066253
+-414	0.00328760101068126
+-415	-0.011902725027492
+-416	0.0037433377806999
+-417	-0.016429583975757
+-418	0.0253614932452271
+-419	0.00105507602999118
+-420	-0.00501259523808327
+-421	-0.0068805657075317
+-422	-0.00611319813056072
+-423	0.00133925647011242
+-424	0.000593265112355031
+-425	0.00636014210120566
+-426	0.0100866038838847
+-427	-0.0104562933845484
+-428	-0.000506041760930212
+-429	-0.003202190801565
+-430	-0.00228403340255738
+-431	0.00854908376124406
+-432	0.00387003653786829
+-433	-0.00478285696403202
+-434	-0.00768626474153872
+-435	0.00703888513154693
+-436	-0.00944179389034701
+-437	-0.001876043961929
+-438	0.0164444486588937
+-439	0.00420632904477211
+-440	-0.0113129379390227
+-441	-0.00359559614450257
+-442	-0.00109952765661056
+-443	0.0151360003108556
+-444	-0.0154475593718288
+-445	0.00602211025479499
+-446	-0.000307234590538632
+-447	0.0046588142745641
+-448	-0.0126455787204799
+-449	0.0111520432278555
+-450	0.00974700164306953
+-451	-0.0123611400743472
+-452	0.0108946760123822
+-453	-0.00120669950156729
+-454	-0.0150988572259806
+-455	0.00502353890121031
+-456	0.00408149023215052
+-457	0.00586521360666165
+-458	-0.0102923932626118
+-459	0.00382025608487933
+-460	0.00255550573549941
+-461	-0.00783828310549662
+-462	0.00508824500063238
+-463	0.0084446428666135
+-464	-0.00872612495616409
+-465	-0.0010875359595666
+-466	0.00346175022973811
+-467	-0.00495327642022978
+-468	0.00325169084183052
+-469	-0.00463312556182376
+-470	0.0118854909647327
+-471	-0.0171003407134582
+-472	0.0123260637207544
+-473	-0.00447510748083252
+-474	-0.00707845418496072
+-475	0.00755386113965643
+-476	-0.00100076346057804
+-477	0.00860719536195919
+-478	-0.0136737162109966
+-479	0.00711613796353955
+-480	0.00622875998269613
+-481	-0.0117802696216559
+-482	0.00817288034030646
+-483	-0.00010669129241017
+-484	-0.00352870547469094
+-485	-0.0041443261121201
+-486	-0.000910571304832122
+-487	0.00615718849758809
+-488	0.00143910833275321
+-489	-0.00107559220444337
+-490	0.00356082962826646
+-491	-0.00897791292059391
+-492	0.00527546492556289
+-493	0.00302276031439837
+-494	-0.0139577905696164
+-495	0.0153490659756607
+-496	-0.00912850078466119
+-497	0.000879808460620783
+-498	0.000984936175184538
+-499	0.0024123778693579
+-500	0.00264304134465302
+-501	-0.0020232636751576
+-502	0.00551353717784557
+-503	-0.00415080354514971
+-504	-0.00545916667181435
+-505	-0.00274028317951399
+-506	0.00692379605051298
+-507	0.00616679327772537
+-508	-0.0103279571217553
+-509	0.00599342336739776
+-510	-0.00152316676140798
+-511	-0.00167286162288039
+-512	-0.00131993101685522
+-513	0.0025282491153862
+-514	-0.0017542373384818
+-515	0.0105600742581342
+-516	-0.0132267654750864
+-517	0.00283731663919629
+-518	-0.00266741199361332
+-519	0.00157444027950648
+-520	0.00420858755299597
+-521	-0.00658258017129261
+-522	0.00508600113202915
+-523	-0.00598002733029911
+-524	-0.000368464512649264
+-525	0.00317302663744126
+-526	0.00115765014094958
+-527	0.00267985546857361
+-528	-5.46265185716715e-05
+-529	-0.0020009411803283
+-530	0.00486700543717424
+-531	-0.00895876165620023
+-532	-0.00299164146372051
+-533	0.00312859041046786
+-534	0.00209406747343818
+-535	0.00673942768658441
+-536	-0.0080409196789959
+-537	0.00240456617470404
+-538	-0.00873512083231826
+-539	0.0131577627923678
+-540	-0.00665539290143677
+-541	0.00346454545303284
+-542	0.0035973446316873
+-543	-0.00868085967804022
+-544	-0.00333236624454644
+-545	-0.000196442609818114
+-546	0.00024806978901623
+-547	0.00902390850008458
+-548	0.00455805912058593
+-549	-0.0021927440377309
+-550	-0.00266277815142354
+-551	-0.00688313353751191
+-552	0.00853131376210095
+-553	-0.00393842096864295
+-554	-0.00523274211550968
+-555	0.0169329221829408
+-556	-0.0127945093367028
+-557	-0.00072480763790979
+-558	-0.00747843149724429
+-559	0.0098746166146274
+-560	-0.00240342067223121
+-561	0.00696610332249864
+-562	-0.00223635183687814
+-563	-0.00541969587447053
+-564	0.000337137313027405
+-565	-0.00633065126280832
+-566	0.00910870585819199
+-567	-0.00455095051161683
+-568	0.0151312578540391
+-569	-0.0138690307629985
+-570	0.00185264574846404
+-571	-0.00664259858046173
+-572	-0.00312306915210339
+-573	0.0115985176835154
+-574	-0.00759201236341693
+-575	0.0123033300962974
+-576	-0.0116628565174072
+-577	0.00192424927530433
+-578	-0.00508184861795511
+-579	0.00510239186439487
+-580	0.0086553620645795
+-581	-0.00172738282515301
+-582	-0.0021965366527628
+-583	-0.00611685505872929
+-584	-0.00193581230608064
+-585	-0.00107517411193112
+-586	0.00446964598329358
+-587	-0.000130069247618965
+-588	0.0106723190798826
+-589	-0.00893242845988889
+-590	-0.00281814645132135
+-591	-0.00320913741145263
+-592	0.00122039092287541
+-593	0.0131068648072679
+-594	-0.0156363425833423
+-595	0.0163402377490577
+-596	-0.0178296060018707
+-597	0.00292057772226031
+-598	0.0026057160047535
+-599	-0.0056620372273394
+-600	0.0221246161887441
+-601	-0.0124193991673087
+-602	0.0116954284234103
+-603	-0.0182733365810819
+-604	0.00268681939875375
+-605	0.000740456981363333
+-606	0.00452604181556726
+-607	0.00480547630796285
+-608	-0.00481203219844089
+-609	-0.00358228345456814
+-610	0.00284875874479068
+-611	-0.00700099168490112
+-612	0.00572849008389633
+-613	0.0009937821532389
+-614	0.00731073451366145
+-615	0.00170654591193711
+-616	-0.0139804622453969
+-617	-0.00443468421233479
+-618	0.00531823173567082
+-619	-0.00198161915266415
+-620	0.0150254959665873
+-621	-0.00831801965928389
+-622	0.00172646514060601
+-623	-0.00862060723221882
+-624	-0.00433533060780036
+-625	0.00756501714009114
+-626	-0.00135836313194754
+-627	0.00932877978173298
+-628	0.00124802151466854
+-629	-0.00395113636252646
+-630	-0.00485990513214748
+-631	-0.00663176926963557
+-632	-0.0010820412567438
+-633	0.0133592195871343
+-634	-0.00141240259407419
+-635	0.00139234037081884
+-636	-0.00360777343366459
+-637	-0.0045878817789227
+-638	-0.00220204565644013
+-639	0.00147686629423844
+-640	0.00543470252168979
+-641	0.0105896351713388
+-642	-0.00973902671101576
+-643	-0.00668023801257986
+-644	-0.00936843265363968
+-645	0.0089634651091583
+-646	3.84562452729655e-05
+-647	0.00384580055961138
+-648	0.0229816090537144
+-649	-0.0184332961015907
+-650	-0.00529759065480934
+-651	-0.0066870495503683
+-652	0.00225769689469144
+-653	0.0102460370689819
+-654	0.00338482338024052
+-655	0.00379747442016746
+-656	-0.00712302572663179
+-657	-0.0114322113895202
+-658	-0.00273386445516078
+-659	0.00553489607050495
+-660	0.00837690540674999
+-661	0.00940739102513669
+-662	-0.0053486413343748
+-663	-0.00315193594161813
+-664	-0.0105647918156018
+-665	-0.00691297631409873
+-666	0.0142090509210798
+-667	-0.000975698964492755
+-668	0.0132255885174397
+-669	-0.00325960303321359
+-670	-0.006651275593499
+-671	-0.0192763045572716
+-672	0.00410496738893783
+-673	0.00865425824492816
+-674	0.0074519049626705
+-675	0.00640440261542484
+-676	-0.00248884860489984
+-677	-0.0175933146891799
+-678	-0.00288003343042402
+-679	0.00834623453163345
+-680	-0.00449041088509132
+-681	0.0232105507895105
+-682	-0.00534719486763679
+-683	-0.00392566304421506
+-684	-0.0192148623617993
+-685	-0.00286039387718507
+-686	0.0169363828012178
+-687	-0.00383913263684977
+-688	0.0147166901415108
+-689	-0.00527685630258491
+-690	-0.00534763716897078
+-691	-0.013028036623984
+-692	0.00109856360189917
+-693	0.00429859241906058
+-694	0.0110770507839361
+-695	0.00389958466319795
+-696	-0.00500164744078786
+-697	-0.00580430434909617
+-698	-0.0175348619428549
+-699	0.018367710926664
+-700	-0.00285520470226993
+-701	0.0191604505372293
+-702	-0.00572139870349262
+-703	-0.00245556604337348
+-704	-0.0107607119705179
+-705	-0.00773541821274989
+-706	0.00425886688313039
+-707	0.00803784819561882
+-708	0.0116278126911605
+-709	-0.00361748710592387
+-710	-0.0039055675458961
+-711	-0.0187689003370071
+-712	0.00721078757871366
+-713	-0.00118844249034332
+-714	0.0125434153334007
+-715	0.0101599061260829
+-716	-0.00351197692479239
+-717	-0.0123155660331183
+-718	-0.0108643040658882
+-719	0.00554949017948381
+-720	0.00257600141246878
+-721	0.00621936965849692
+-722	0.0147249169696155
+-723	-0.0117208865566673
+-724	-0.0123019859554356
+-725	-0.00803010597732602
+-726	0.00658862562929511
+-727	0.00614064100015319
+-728	0.008551217239909
+-729	0.0136644617518446
+-730	-0.015679112924688
+-731	-0.0164762866576538
+-732	-0.00450956642363176
+-733	0.00672813330266014
+-734	0.0163514096475234
+-735	0.00144257368405246
+-736	0.00632093496019618
+-737	-0.0144540308342644
+-738	-0.0116512949908104
+-739	-0.00303930205795109
+-740	0.00684139171029531
+-741	0.0157237606456902
+-742	0.00173826522952491
+-743	0.00162052201072558
+-744	-0.0225327170375728
+-745	-0.00244349662721446
+-746	-0.00369988442043602
+-747	0.020606075524278
+-748	0.00234950019819143
+-749	0.00933962911886964
+-750	-0.00497392363419004
+-751	-0.0191622234756475
+-752	0.00152935854260608
+-753	-0.00746413948201927
+-754	0.0210618579576008
+-755	0.00337450745565617
+-756	0.0116901903545899
+-757	-0.0211051168455275
+-758	-0.0116996994412557
+-759	-0.00384503529844727
+-760	0.0106920319592258
+-761	0.00606434563857974
+-762	0.0109288893744588
+-763	0.0065913741548423
+-764	-0.024843059360248
+-765	-0.00145794491644285
+-766	-0.015899201893062
+-767	0.0293737522747255
+-768	0.000429876419139015
+-769	0.0117737352022464
+-770	-0.011804032635419
+-771	-0.0160558691300165
+-772	-0.00680765187518244
+-773	0.00115856328840688
+-774	0.016936256215249
+-775	0.00599154100809263
+-776	0.00618605288716798
+-777	-0.0133717924580297
+-778	-0.00856753018227533
+-779	-0.0122498868461665
+-780	0.0184368989458328
+-781	0.00826995605347898
+-782	-0.00370110797731906
+-783	0.00766740753297887
+-784	-0.0106558949199266
+-785	-0.0145918234070912
+-786	0.00262754124009611
+-787	0.00732095805793885
+-788	0.0141175867672096
+-789	0.000917093953717164
+-790	-0.00610693085809193
+-791	-0.00263724165375204
+-792	-0.0223403739509282
+-793	0.0155086188394132
+-794	-0.000414907985012158
+-795	0.00818366497095633
+-796	0.00390922245137539
+-797	0.000518897249907908
+-798	-0.0114231682864646
+-799	-0.0131434185021701
+-800	0.0106325516600345
+-801	0.00726206049320438
+-802	0.011973193565835
+-803	-0.0117164916752715
+-804	0.00837431504618953
+-805	-0.0176484202352301
+-806	-0.00242926974706211
+-807	0.00617275793654123
+-808	0.00157428575173083
+-809	0.0140869636480763
+-810	-0.00799595335938592
+-811	-0.00145797624072917
+-812	-0.0163218480242698
+-813	0.0102032846601359
+-814	0.00334029936869413
+-815	0.00596774673469088
+-816	-0.00191679139866682
+-817	0.00111982507739117
+-818	-0.00466131055412295
+-819	-0.009977558947507
+-820	0.0070518233255565
+-821	-0.00235106334091928
+-822	0.0135818413020524
+-823	-0.0124536640788948
+-824	0.00961249011142124
+-825	-0.012067111031695
+-826	0.000746163532116685
+-827	-0.000618612461237987
+-828	0.00932264378392892
+-829	-0.00138865174580641
+-830	-0.0026558878506514
+-831	0.0039382752792092
+-832	-0.00629021025673958
+-833	-0.00703454327061739
+-834	0.000852556936383089
+-835	0.0170439482297759
+-836	-0.0100201779805253
+-837	0.00412500179406067
+-838	-0.00228249593639731
+-839	0.00340179323986006
+-840	-0.0152704223182198
+-841	0.0106042546349877
+-842	0.00124240796525085
+-843	0.000187170197715872
+-844	-0.00396092509138278
+-845	0.00476886425336974
+-846	-0.00278502915166355
+-847	-0.0105600821274784
+-848	0.0187548308543433
+-849	-0.0101103834519274
+-850	0.00609860589988799
+-851	-0.00970023587707483
+-852	0.0175534712886796
+-853	-0.0150157009573689
+-854	0.000240696590543887
+-855	0.00334623999363693
+-856	0.000756223924502869
+-857	-0.0019111813337376
+-858	-0.000465320516901212
+-859	0.0102121697808577
+-860	-0.0119235594699214
+-861	-0.000513039517075994
+-862	7.13470533304221e-05
+-863	0.00602093194270405
+-864	-0.00562228912014448
+-865	0.00897532104113402
+-866	0.00135722877208738
+-867	-0.0107137791823794
+-868	0.000349804975704247
+-869	0.00196275441326171
+-870	-0.00207881051818241
+-871	-0.00504133443326138
+-872	0.01798662824207
+-873	-0.00512468690960391
+-874	-0.00936398567940176
+-875	-0.00350357584735409
+-876	0.00844402907196902
+-877	-0.00535212289603013
+-878	0.00359477004645202
+-879	0.0100259050577573
+-880	-0.00448613112164086
+-881	-0.00772718523343422
+-882	-0.00407471844508272
+-883	0.00258842651253074
+-884	-0.00497542569393132
+-885	0.0140374940981116
+-886	0.00485938827108293
+-887	-0.00522635448674892
+-888	-0.00995747147865195
+-889	0.00286884969081893
+-890	-0.00263726932721365
+-891	0.00281869362544293
+-892	0.00413911124089107
+-893	0.00641299274583358
+-894	-0.00461483322781905
+-895	-0.00973466510643417
+-896	-0.00244121423716433
+-897	-0.00187439261201581
+-898	0.0167254251905489
+-899	-0.00323557017026858
+-900	0.0070698910566062
+-901	-0.00984192453152891
+-902	-0.00745285112891651
+-903	-0.00156488511331396
+-904	0.00648910969501878
+-905	0.00778960101933796
+-906	-0.00110773006555918
+-907	0.00797123926504478
+-908	-0.0172915924405978
+-909	-0.00567453921434972
+-910	-0.00093198227439079
+-911	0.017699519362806
+-912	-0.000318037037700945
+-913	-0.000901743764017103
+-914	0.00248888283323065
+-915	-0.0142481225576747
+-916	-0.00627435836721236
+-917	0.00855187280647071
+-918	0.0105572049962355
+-919	0.000583931991033486
+-920	-4.30556267490633e-05
+-921	-0.0045108941062306
+-922	-0.0133739157611831
+-923	-0.00313115415898723
+-924	0.0189188436677887
+-925	0.00153514138422627
+-926	0.00103320993409772
+-927	0.00112288481924235
+-928	-0.00928188326624581
+-929	-0.0129274841698096
+-930	0.00498882941992066
+-931	0.0128685052672079
+-932	0.00095422558746866
+-933	0.00287762148255505
+-934	-0.00475028532754077
+-935	-0.00822865912701703
+-936	-0.00757218985298937
+-937	0.0125664162380766
+-938	0.00270238634995215
+-939	0.00302457671529668
+-940	0.00428294440890637
+-941	-0.00899111620928394
+-942	-0.0110893993806093
+-943	0.00141333596146868
+-944	0.00563271971888788
+-945	0.00411002278120649
+-946	0.00615934836425166
+-947	-0.00174830591696001
+-948	-0.00690959640532146
+-949	-0.00762102396102174
+-950	0.00236971536529725
+-951	0.00460497853674718
+-952	0.00598101123225428
+-953	0.00706347780702416
+-954	-0.0072207235025214
+-955	-0.00731160125486541
+-956	-0.00624993042258776
+-957	0.00302766462338833
+-958	0.00586320595091301
+-959	0.00757297545746186
+-960	0.000503174678108187
+-961	-0.00664203641468952
+-962	-0.00405954777539984
+-963	-0.00594873760338403
+-964	0.00307617052361439
+-965	0.00775330844648307
+-966	0.00843784117689838
+-967	-0.00583155486504129
+-968	-0.00522157454280821
+-969	-0.00285538010476946
+-970	-0.00558783047918071
+-971	0.00390712343424286
+-972	0.00929413763014091
+-973	0.00249794635456826
+-974	-0.00403614631431915
+-975	-0.00252223207691292
+-976	-0.00372319999128239
+-977	-0.00468425218841592
+-978	0.00588461196845991
+-979	0.0101947594770192
+-980	-0.00382374940790093
+-981	-0.00256280880770612
+-982	-0.00238724745188651
+-983	-0.00254031623097892
+-984	-0.00349304284255843
+-985	0.00656620792235621
+-986	0.0047392335299334
+-987	-0.00245644332451687
+-988	-0.000949186258308068
+-989	-0.00204517319399663
+-990	-0.00117348041470723
+-991	-0.00165335740901138
+-992	0.00532507797594932
+-993	-0.00112887412444135
+-994	-0.00102507341491478
+-995	-0.000239825549954329
+-996	-0.000229034611702856
+-997	-0.00048382116878178
+-998	-0.000558954253318938
+-999	0.000343539178586105
+diff --git a/lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_fast.dat b/lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_fast.dat
+deleted file mode 100644
+index 9c717bb..0000000
+--- a/lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_fast.dat
++++ /dev/null
+@@ -1,1001 +0,0 @@
+-#scatter	real	total	user	system	repeat
+-1	0.0163400173187256	0.00999999999999091	0.00999999999999091	0.0	1
+-2	0.0159189701080322	0.00999999999999091	0.00999999999999091	0.0	2
+-3	0.0164740085601807	0.0200000000000102	0.0200000000000102	0.0	3
+-4	0.0157279968261719	0.00999999999999091	0.00999999999999091	0.0	4
+-5	0.0157220363616943	0.0200000000000102	0.0200000000000102	0.0	5
+-6	0.0156500339508057	0.00999999999999091	0.00999999999999091	0.0	6
+-7	0.0407540798187256	0.0499999999999829	0.0499999999999829	0.0	7
+-8	0.0177309513092041	0.0100000000000193	0.0100000000000193	0.0	8
+-9	0.0160109996795654	0.0199999999999818	0.0199999999999818	0.0	9
+-10	0.0159001350402832	0.0100000000000193	0.0100000000000193	0.0	10
+-11	0.0192539691925049	0.0199999999999818	0.0199999999999818	0.0	11
+-12	0.0170741081237793	0.0200000000000102	0.0200000000000102	0.0	12
+-13	0.0155148506164551	0.0200000000000102	0.0200000000000102	0.0	13
+-14	0.0416128635406494	0.039999999999992	0.039999999999992	0.0	14
+-15	0.0161120891571045	0.00999999999999091	0.00999999999999091	0.0	15
+-16	0.0159459114074707	0.0200000000000102	0.0200000000000102	0.0	16
+-17	0.0158929824829102	0.0200000000000102	0.0200000000000102	0.0	17
+-18	0.0158240795135498	0.00999999999999091	0.00999999999999091	0.0	18
+-19	0.0156450271606445	0.0199999999999818	0.0199999999999818	0.0	19
+-20	0.0159389972686768	0.0100000000000193	0.0100000000000193	0.0	20
+-21	0.0409190654754639	0.039999999999992	0.039999999999992	0.0	21
+-22	0.0160489082336426	0.0200000000000102	0.0200000000000102	0.0	22
+-23	0.0169320106506348	0.0199999999999818	0.0199999999999818	0.0	23
+-24	0.0198559761047363	0.0200000000000102	0.0200000000000102	0.0	24
+-25	0.0158309936523438	0.00999999999999091	0.00999999999999091	0.0	25
+-26	0.0156970024108887	0.0200000000000102	0.0200000000000102	0.0	26
+-27	0.0156750679016113	0.0200000000000102	0.0200000000000102	0.0	27
+-28	0.0406918525695801	0.039999999999992	0.039999999999992	0.0	28
+-29	0.0161190032958984	0.00999999999999091	0.00999999999999091	0.0	29
+-30	0.0162358283996582	0.0200000000000102	0.0200000000000102	0.0	30
+-31	0.0158340930938721	0.00999999999999091	0.00999999999999091	0.0	31
+-32	0.0157299041748047	0.0200000000000102	0.0200000000000102	0.0	32
+-33	0.0156428813934326	0.0199999999999818	0.0199999999999818	0.0	33
+-34	0.0156571865081787	0.0100000000000193	0.0100000000000193	0.0	34
+-35	0.0409109592437744	0.039999999999992	0.039999999999992	0.0	35
+-36	0.0192060470581055	0.0200000000000102	0.0200000000000102	0.0	36
+-37	0.0160908699035645	0.0199999999999818	0.0199999999999818	0.0	37
+-38	0.0158319473266602	0.0100000000000193	0.0100000000000193	0.0	38
+-39	0.0157558917999268	0.0199999999999818	0.0199999999999818	0.0	39
+-40	0.0158040523529053	0.0200000000000102	0.0200000000000102	0.0	40
+-41	0.0156400203704834	0.00999999999999091	0.00999999999999091	0.0	41
+-42	0.0408070087432861	0.0400000000000205	0.0400000000000205	0.0	42
+-43	0.0159420967102051	0.0199999999999818	0.0199999999999818	0.0	43
+-44	0.0159668922424316	0.00999999999999091	0.00999999999999091	0.0	44
+-45	0.0213000774383545	0.0300000000000011	0.0300000000000011	0.0	45
+-46	0.0170960426330566	0.0100000000000193	0.0100000000000193	0.0	46
+-47	0.0160157680511475	0.0199999999999818	0.0199999999999818	0.0	47
+-48	0.0156497955322266	0.0100000000000193	0.0100000000000193	0.0	48
+-49	0.0446329116821289	0.0499999999999829	0.0499999999999829	0.0	49
+-50	0.016150951385498	0.0200000000000102	0.0200000000000102	0.0	50
+-51	0.0159158706665039	0.00999999999999091	0.00999999999999091	0.0	51
+-52	0.0157129764556885	0.0200000000000102	0.0200000000000102	0.0	52
+-53	0.0165328979492188	0.00999999999999091	0.00999999999999091	0.0	53
+-54	0.0156497955322266	0.0200000000000102	0.0200000000000102	0.0	54
+-55	0.0156981945037842	0.0200000000000102	0.0200000000000102	0.0	55
+-56	0.0412800312042236	0.039999999999992	0.039999999999992	0.0	56
+-57	0.0159571170806885	0.00999999999999091	0.00999999999999091	0.0	57
+-58	0.015887975692749	0.0200000000000102	0.0200000000000102	0.0	58
+-59	0.0158159732818604	0.00999999999999091	0.00999999999999091	0.0	59
+-60	0.0156238079071045	0.0200000000000102	0.0200000000000102	0.0	60
+-61	0.0156691074371338	0.0199999999999818	0.0199999999999818	0.0	61
+-62	0.0447931289672852	0.0400000000000205	0.0400000000000205	0.0	62
+-63	0.0160729885101318	0.0199999999999818	0.0199999999999818	0.0	63
+-64	0.016963005065918	0.0100000000000193	0.0100000000000193	0.0	64
+-65	0.015869140625	0.0199999999999818	0.0199999999999818	0.0	65
+-66	0.0158119201660156	0.0200000000000102	0.0200000000000102	0.0	66
+-67	0.0156521797180176	0.00999999999999091	0.00999999999999091	0.0	67
+-68	0.0156309604644775	0.0200000000000102	0.0200000000000102	0.0	68
+-69	0.0406920909881592	0.039999999999992	0.039999999999992	0.0	69
+-70	0.0161399841308594	0.00999999999999091	0.00999999999999091	0.0	70
+-71	0.0160379409790039	0.0200000000000102	0.0200000000000102	0.0	71
+-72	0.0158870220184326	0.0200000000000102	0.0200000000000102	0.0	72
+-73	0.0157949924468994	0.00999999999999091	0.00999999999999091	0.0	73
+-74	0.019942045211792	0.0200000000000102	0.0200000000000102	0.0	74
+-75	0.0156691074371338	0.0199999999999818	0.0199999999999818	0.0	75
+-76	0.0406370162963867	0.0400000000000205	0.0400000000000205	0.0	76
+-77	0.0160510540008545	0.00999999999999091	0.00999999999999091	0.0	77
+-78	0.0159440040588379	0.0200000000000102	0.0200000000000102	0.0	78
+-79	0.0159609317779541	0.0199999999999818	0.0199999999999818	0.0	79
+-80	0.0160808563232422	0.0100000000000193	0.0100000000000193	0.0	80
+-81	0.0156311988830566	0.0199999999999818	0.0199999999999818	0.0	81
+-82	0.0157270431518555	0.00999999999999091	0.00999999999999091	0.0	82
+-83	0.041240930557251	0.0500000000000114	0.0500000000000114	0.0	83
+-84	0.0165321826934814	0.00999999999999091	0.00999999999999091	0.0	84
+-85	0.0159039497375488	0.0200000000000102	0.0200000000000102	0.0	85
+-86	0.0183000564575195	0.0200000000000102	0.0200000000000102	0.0	86
+-87	0.0168759822845459	0.00999999999999091	0.00999999999999091	0.0	87
+-88	0.0156400203704834	0.0200000000000102	0.0200000000000102	0.0	88
+-89	0.0156240463256836	0.00999999999999091	0.00999999999999091	0.0	89
+-90	0.0415260791778564	0.0500000000000114	0.0500000000000114	0.0	90
+-91	0.0159800052642822	0.00999999999999091	0.00999999999999091	0.0	91
+-92	0.0159440040588379	0.0200000000000102	0.0200000000000102	0.0	92
+-93	0.0158178806304932	0.00999999999999091	0.00999999999999091	0.0	93
+-94	0.0157041549682617	0.0199999999999818	0.0199999999999818	0.0	94
+-95	0.0200591087341309	0.0200000000000102	0.0200000000000102	0.0	95
+-96	0.018794059753418	0.0200000000000102	0.0200000000000102	0.0	96
+-97	0.0408840179443359	0.039999999999992	0.039999999999992	0.0	97
+-98	0.0196928977966309	0.0200000000000102	0.0200000000000102	0.0	98
+-99	0.016610860824585	0.0199999999999818	0.0199999999999818	0.0	99
+-100	0.0157420635223389	0.0100000000000193	0.0100000000000193	0.0	100
+-101	0.015739917755127	0.0199999999999818	0.0199999999999818	0.0	101
+-102	0.015592098236084	0.0100000000000193	0.0100000000000193	0.0	102
+-103	0.0156228542327881	0.0199999999999818	0.0199999999999818	0.0	103
+-104	0.0417301654815674	0.0400000000000205	0.0400000000000205	0.0	104
+-105	0.015916109085083	0.0199999999999818	0.0199999999999818	0.0	105
+-106	0.0158488750457764	0.00999999999999091	0.00999999999999091	0.0	106
+-107	0.015733003616333	0.0200000000000102	0.0200000000000102	0.0	107
+-108	0.0156040191650391	0.00999999999999091	0.00999999999999091	0.0	108
+-109	0.0155818462371826	0.0200000000000102	0.0200000000000102	0.0	109
+-110	0.041733980178833	0.039999999999992	0.039999999999992	0.0	110
+-111	0.0190949440002441	0.0200000000000102	0.0200000000000102	0.0	111
+-112	0.0159502029418945	0.0200000000000102	0.0200000000000102	0.0	112
+-113	0.015855073928833	0.00999999999999091	0.00999999999999091	0.0	113
+-114	0.0161051750183105	0.0200000000000102	0.0200000000000102	0.0	114
+-115	0.0168948173522949	0.0199999999999818	0.0199999999999818	0.0	115
+-116	0.0157649517059326	0.0100000000000193	0.0100000000000193	0.0	116
+-117	0.0404441356658936	0.039999999999992	0.039999999999992	0.0	117
+-118	0.0158331394195557	0.0199999999999818	0.0199999999999818	0.0	118
+-119	0.0158309936523438	0.0100000000000193	0.0100000000000193	0.0	119
+-120	0.0155770778656006	0.0199999999999818	0.0199999999999818	0.0	120
+-121	0.0154340267181396	0.0100000000000193	0.0100000000000193	0.0	121
+-122	0.0155458450317383	0.0199999999999818	0.0199999999999818	0.0	122
+-123	0.0156569480895996	0.0200000000000102	0.0200000000000102	0.0	123
+-124	0.0447821617126465	0.0499999999999829	0.039999999999992	0.01	124
+-125	0.0162930488586426	0.0200000000000102	0.0200000000000102	0.0	125
+-126	0.0159821510314941	0.00999999999999091	0.00999999999999091	0.0	126
+-127	0.0158350467681885	0.0200000000000102	0.0200000000000102	0.0	127
+-128	0.0157771110534668	0.00999999999999091	0.00999999999999091	0.0	128
+-129	0.0155949592590332	0.0200000000000102	0.0200000000000102	0.0	129
+-130	0.015751838684082	0.0200000000000102	0.0200000000000102	0.0	130
+-131	0.0409200191497803	0.039999999999992	0.039999999999992	0.0	131
+-132	0.0159509181976318	0.00999999999999091	0.00999999999999091	0.0	132
+-133	0.0159890651702881	0.0200000000000102	0.0200000000000102	0.0	133
+-134	0.015902042388916	0.00999999999999091	0.00999999999999091	0.0	134
+-135	0.0158298015594482	0.0200000000000102	0.0200000000000102	0.0	135
+-136	0.0156691074371338	0.0199999999999818	0.0199999999999818	0.0	136
+-137	0.0194599628448486	0.0200000000000102	0.0200000000000102	0.0	137
+-138	0.0408408641815186	0.039999999999992	0.039999999999992	0.0	138
+-139	0.0161910057067871	0.0100000000000193	0.0100000000000193	0.0	139
+-140	0.0158939361572266	0.0199999999999818	0.0199999999999818	0.0	140
+-141	0.0157690048217773	0.0100000000000193	0.0100000000000193	0.0	141
+-142	0.0156970024108887	0.0199999999999818	0.0199999999999818	0.0	142
+-143	0.015625	0.0200000000000102	0.0200000000000102	0.0	143
+-144	0.0156629085540771	0.00999999999999091	0.00999999999999091	0.0	144
+-145	0.0474429130554199	0.0500000000000114	0.0500000000000114	0.0	145
+-146	0.0159988403320312	0.0199999999999818	0.0199999999999818	0.0	146
+-147	0.0159039497375488	0.0100000000000193	0.0100000000000193	0.0	147
+-148	0.0157449245452881	0.0199999999999818	0.0199999999999818	0.0	148
+-149	0.0188858509063721	0.0200000000000102	0.0200000000000102	0.0	149
+-150	0.0156919956207275	0.00999999999999091	0.00999999999999091	0.0	150
+-151	0.0404269695281982	0.0400000000000205	0.0400000000000205	0.0	151
+-152	0.0160980224609375	0.0199999999999818	0.0199999999999818	0.0	152
+-153	0.0167350769042969	0.0200000000000102	0.0200000000000102	0.0	153
+-154	0.0159759521484375	0.00999999999999091	0.00999999999999091	0.0	154
+-155	0.0158588886260986	0.0200000000000102	0.0200000000000102	0.0	155
+-156	0.01568603515625	0.00999999999999091	0.00999999999999091	0.0	156
+-157	0.0156669616699219	0.0200000000000102	0.0200000000000102	0.0	157
+-158	0.0405089855194092	0.039999999999992	0.039999999999992	0.0	158
+-159	0.0160729885101318	0.0200000000000102	0.0200000000000102	0.0	159
+-160	0.0159640312194824	0.00999999999999091	0.00999999999999091	0.0	160
+-161	0.0188910961151123	0.0200000000000102	0.0200000000000102	0.0	161
+-162	0.0166840553283691	0.0199999999999818	0.0199999999999818	0.0	162
+-163	0.0156660079956055	0.0100000000000193	0.0100000000000193	0.0	163
+-164	0.0156950950622559	0.0199999999999818	0.0199999999999818	0.0	164
+-165	0.0416688919067383	0.0400000000000205	0.0400000000000205	0.0	165
+-166	0.0159718990325928	0.0199999999999818	0.0199999999999818	0.0	166
+-167	0.0159449577331543	0.0100000000000193	0.0100000000000193	0.0	167
+-168	0.0157949924468994	0.0199999999999818	0.0199999999999818	0.0	168
+-169	0.0157520771026611	0.00999999999999091	0.00999999999999091	0.0	169
+-170	0.0157308578491211	0.0200000000000102	0.0200000000000102	0.0	170
+-171	0.0156319141387939	0.0200000000000102	0.0200000000000102	0.0	171
+-172	0.0406780242919922	0.039999999999992	0.039999999999992	0.0	172
+-173	0.0182578563690186	0.00999999999999091	0.00999999999999091	0.0	173
+-174	0.0166499614715576	0.0200000000000102	0.0200000000000102	0.0	174
+-175	0.0157749652862549	0.0200000000000102	0.0200000000000102	0.0	175
+-176	0.0156049728393555	0.00999999999999091	0.00999999999999091	0.0	176
+-177	0.0155508518218994	0.0200000000000102	0.0200000000000102	0.0	177
+-178	0.0155460834503174	0.00999999999999091	0.00999999999999091	0.0	178
+-179	0.0410678386688232	0.0500000000000114	0.0500000000000114	0.0	179
+-180	0.0161750316619873	0.00999999999999091	0.00999999999999091	0.0	180
+-181	0.0159769058227539	0.0199999999999818	0.0199999999999818	0.0	181
+-182	0.0157239437103271	0.0100000000000193	0.0100000000000193	0.0	182
+-183	0.0155858993530273	0.0199999999999818	0.0199999999999818	0.0	183
+-184	0.0157029628753662	0.0100000000000193	0.0100000000000193	0.0	184
+-185	0.0406639575958252	0.0499999999999829	0.0499999999999829	0.0	185
+-186	0.020313024520874	0.0200000000000102	0.0200000000000102	0.0	186
+-187	0.0159680843353271	0.00999999999999091	0.00999999999999091	0.0	187
+-188	0.0159218311309814	0.0200000000000102	0.0200000000000102	0.0	188
+-189	0.0158710479736328	0.00999999999999091	0.00999999999999091	0.0	189
+-190	0.0158529281616211	0.0200000000000102	0.0200000000000102	0.0	190
+-191	0.0155730247497559	0.0200000000000102	0.0200000000000102	0.0	191
+-192	0.0405440330505371	0.039999999999992	0.039999999999992	0.0	192
+-193	0.0161638259887695	0.00999999999999091	0.00999999999999091	0.0	193
+-194	0.0165688991546631	0.0200000000000102	0.0200000000000102	0.0	194
+-195	0.0231571197509766	0.0199999999999818	0.0199999999999818	0.0	195
+-196	0.0159261226654053	0.0200000000000102	0.0200000000000102	0.0	196
+-197	0.015887975692749	0.00999999999999091	0.00999999999999091	0.0	197
+-198	0.0156550407409668	0.0200000000000102	0.0200000000000102	0.0	198
+-199	0.0435981750488281	0.039999999999992	0.039999999999992	0.0	199
+-200	0.0159139633178711	0.0200000000000102	0.0200000000000102	0.0	200
+-201	0.0158441066741943	0.00999999999999091	0.00999999999999091	0.0	201
+-202	0.0157480239868164	0.0200000000000102	0.0200000000000102	0.0	202
+-203	0.0163719654083252	0.0200000000000102	0.0200000000000102	0.0	203
+-204	0.0156970024108887	0.00999999999999091	0.00999999999999091	0.0	204
+-205	0.01556396484375	0.0200000000000102	0.0200000000000102	0.0	205
+-206	0.0408110618591309	0.039999999999992	0.039999999999992	0.0	206
+-207	0.0159599781036377	0.0199999999999818	0.0199999999999818	0.0	207
+-208	0.0159690380096436	0.0100000000000193	0.0100000000000193	0.0	208
+-209	0.0159268379211426	0.0199999999999818	0.0199999999999818	0.0	209
+-210	0.0157289505004883	0.0100000000000193	0.0100000000000193	0.0	210
+-211	0.0156691074371338	0.0199999999999818	0.0199999999999818	0.0	211
+-212	0.0189340114593506	0.0200000000000102	0.0200000000000102	0.0	212
+-213	0.0407509803771973	0.039999999999992	0.039999999999992	0.0	213
+-214	0.0168440341949463	0.0200000000000102	0.0200000000000102	0.0	214
+-215	0.0158839225769043	0.00999999999999091	0.00999999999999091	0.0	215
+-216	0.0157129764556885	0.0200000000000102	0.0200000000000102	0.0	216
+-217	0.0155618190765381	0.00999999999999091	0.00999999999999091	0.0	217
+-218	0.0155580043792725	0.0200000000000102	0.0200000000000102	0.0	218
+-219	0.0405669212341309	0.039999999999992	0.039999999999992	0.0	219
+-220	0.0161259174346924	0.0200000000000102	0.0200000000000102	0.0	220
+-221	0.0161309242248535	0.00999999999999091	0.00999999999999091	0.0	221
+-222	0.0159680843353271	0.0200000000000102	0.0200000000000102	0.0	222
+-223	0.0159029960632324	0.00999999999999091	0.00999999999999091	0.0	223
+-224	0.0187640190124512	0.0200000000000102	0.0200000000000102	0.0	224
+-225	0.0158958435058594	0.0199999999999818	0.0199999999999818	0.0	225
+-226	0.0405712127685547	0.0400000000000205	0.0400000000000205	0.0	226
+-227	0.0160939693450928	0.0199999999999818	0.0199999999999818	0.0	227
+-228	0.0159199237823486	0.0100000000000193	0.0100000000000193	0.0	228
+-229	0.0160150527954102	0.0199999999999818	0.0199999999999818	0.0	229
+-230	0.0161042213439941	0.0100000000000193	0.0100000000000193	0.0	230
+-231	0.0156550407409668	0.0199999999999818	0.0199999999999818	0.0	231
+-232	0.0155539512634277	0.00999999999999091	0.00999999999999091	0.0	232
+-233	0.0406229496002197	0.0500000000000114	0.0500000000000114	0.0	233
+-234	0.0177409648895264	0.00999999999999091	0.00999999999999091	0.0	234
+-235	0.0160009860992432	0.0200000000000102	0.0200000000000102	0.0	235
+-236	0.0169141292572021	0.00999999999999091	0.00999999999999091	0.0	236
+-237	0.0185301303863525	0.0200000000000102	0.0200000000000102	0.0	237
+-238	0.0156500339508057	0.0200000000000102	0.0200000000000102	0.0	238
+-239	0.0157279968261719	0.00999999999999091	0.00999999999999091	0.0	239
+-240	0.041100025177002	0.0500000000000114	0.0500000000000114	0.0	240
+-241	0.0159239768981934	0.00999999999999091	0.00999999999999091	0.0	241
+-242	0.0158870220184326	0.0200000000000102	0.0200000000000102	0.0	242
+-243	0.0157818794250488	0.00999999999999091	0.00999999999999091	0.0	243
+-244	0.0156459808349609	0.0199999999999818	0.0199999999999818	0.0	244
+-245	0.0205349922180176	0.0200000000000102	0.0200000000000102	0.0	245
+-246	0.0176489353179932	0.0200000000000102	0.0200000000000102	0.0	246
+-247	0.0406951904296875	0.039999999999992	0.039999999999992	0.0	247
+-248	0.0161759853363037	0.00999999999999091	0.00999999999999091	0.0	248
+-249	0.0186100006103516	0.0200000000000102	0.0200000000000102	0.0	249
+-250	0.0158610343933105	0.0200000000000102	0.0200000000000102	0.0	250
+-251	0.0157759189605713	0.00999999999999091	0.00999999999999091	0.0	251
+-252	0.0157499313354492	0.0200000000000102	0.0200000000000102	0.0	252
+-253	0.0412969589233398	0.039999999999992	0.039999999999992	0.0	253
+-254	0.0160319805145264	0.0200000000000102	0.0200000000000102	0.0	254
+-255	0.0159080028533936	0.00999999999999091	0.00999999999999091	0.0	255
+-256	0.01580810546875	0.0199999999999818	0.0199999999999818	0.0	256
+-257	0.0157821178436279	0.0200000000000102	0.0200000000000102	0.0	257
+-258	0.015578031539917	0.00999999999999091	0.00999999999999091	0.0	258
+-259	0.0155758857727051	0.0200000000000102	0.0200000000000102	0.0	259
+-260	0.0406520366668701	0.039999999999992	0.039999999999992	0.0	260
+-261	0.0193078517913818	0.0200000000000102	0.0200000000000102	0.0	261
+-262	0.0160150527954102	0.00999999999999091	0.00999999999999091	0.0	262
+-263	0.015920877456665	0.0200000000000102	0.0200000000000102	0.0	263
+-264	0.0161728858947754	0.0200000000000102	0.0200000000000102	0.0	264
+-265	0.0163869857788086	0.00999999999999091	0.00999999999999091	0.0	265
+-266	0.0156819820404053	0.0200000000000102	0.0200000000000102	0.0	266
+-267	0.0407660007476807	0.039999999999992	0.039999999999992	0.0	267
+-268	0.015861988067627	0.00999999999999091	0.00999999999999091	0.0	268
+-269	0.015887975692749	0.0200000000000102	0.0200000000000102	0.0	269
+-270	0.0157639980316162	0.0199999999999818	0.0199999999999818	0.0	270
+-271	0.0156021118164062	0.0100000000000193	0.0100000000000193	0.0	271
+-272	0.0162060260772705	0.0199999999999818	0.0199999999999818	0.0	272
+-273	0.0156650543212891	0.0100000000000193	0.0100000000000193	0.0	273
+-274	0.0440959930419922	0.0499999999999829	0.0499999999999829	0.0	274
+-275	0.0158300399780273	0.0100000000000193	0.0100000000000193	0.0	275
+-276	0.0157949924468994	0.0199999999999818	0.0199999999999818	0.0	276
+-277	0.0157911777496338	0.0200000000000102	0.0200000000000102	0.0	277
+-278	0.0155570507049561	0.00999999999999091	0.00999999999999091	0.0	278
+-279	0.0156610012054443	0.0200000000000102	0.0200000000000102	0.0	279
+-280	0.015800952911377	0.00999999999999091	0.00999999999999091	0.0	280
+-281	0.041050910949707	0.039999999999992	0.039999999999992	0.0	281
+-282	0.0158300399780273	0.0200000000000102	0.0200000000000102	0.0	282
+-283	0.0173659324645996	0.0200000000000102	0.0200000000000102	0.0	283
+-284	0.0157661437988281	0.00999999999999091	0.00999999999999091	0.0	284
+-285	0.0156910419464111	0.0200000000000102	0.0200000000000102	0.0	285
+-286	0.0156378746032715	0.00999999999999091	0.00999999999999091	0.0	286
+-287	0.0446128845214844	0.0500000000000114	0.0500000000000114	0.0	287
+-288	0.0160419940948486	0.00999999999999091	0.00999999999999091	0.0	288
+-289	0.0161609649658203	0.0200000000000102	0.0200000000000102	0.0	289
+-290	0.0157930850982666	0.00999999999999091	0.00999999999999091	0.0	290
+-291	0.0157232284545898	0.0200000000000102	0.0200000000000102	0.0	291
+-292	0.0155608654022217	0.0199999999999818	0.0199999999999818	0.0	292
+-293	0.0156910419464111	0.0100000000000193	0.0100000000000193	0.0	293
+-294	0.0463647842407227	0.0499999999999829	0.0499999999999829	0.0	294
+-295	0.0179910659790039	0.0200000000000102	0.0200000000000102	0.0	295
+-296	0.0158979892730713	0.00999999999999091	0.00999999999999091	0.0	296
+-297	0.0157630443572998	0.0200000000000102	0.0200000000000102	0.0	297
+-298	0.0156371593475342	0.00999999999999091	0.00999999999999091	0.0	298
+-299	0.0191469192504883	0.0200000000000102	0.0200000000000102	0.0	299
+-300	0.0167911052703857	0.0199999999999818	0.0199999999999818	0.0	300
+-301	0.0407388210296631	0.0400000000000205	0.0400000000000205	0.0	301
+-302	0.0159130096435547	0.0199999999999818	0.0199999999999818	0.0	302
+-303	0.0166409015655518	0.0100000000000193	0.0100000000000193	0.0	303
+-304	0.0158700942993164	0.0199999999999818	0.0199999999999818	0.0	304
+-305	0.0156099796295166	0.0200000000000102	0.0200000000000102	0.0	305
+-306	0.0155818462371826	0.00999999999999091	0.00999999999999091	0.0	306
+-307	0.0156898498535156	0.0200000000000102	0.0200000000000102	0.0	307
+-308	0.0406138896942139	0.039999999999992	0.039999999999992	0.0	308
+-309	0.0159690380096436	0.00999999999999091	0.00999999999999091	0.0	309
+-310	0.0157949924468994	0.0200000000000102	0.0200000000000102	0.0	310
+-311	0.0166599750518799	0.00999999999999091	0.00999999999999091	0.0	311
+-312	0.0184519290924072	0.0200000000000102	0.0200000000000102	0.0	312
+-313	0.0156970024108887	0.0200000000000102	0.0200000000000102	0.0	313
+-314	0.0414550304412842	0.039999999999992	0.039999999999992	0.0	314
+-315	0.0159659385681152	0.0200000000000102	0.0200000000000102	0.0	315
+-316	0.015855073928833	0.00999999999999091	0.00999999999999091	0.0	316
+-317	0.0157890319824219	0.0200000000000102	0.0200000000000102	0.0	317
+-318	0.0157499313354492	0.00999999999999091	0.00999999999999091	0.0	318
+-319	0.0157718658447266	0.0199999999999818	0.0199999999999818	0.0	319
+-320	0.0155758857727051	0.0200000000000102	0.0200000000000102	0.0	320
+-321	0.0406579971313477	0.039999999999992	0.039999999999992	0.0	321
+-322	0.0160129070281982	0.0100000000000193	0.0100000000000193	0.0	322
+-323	0.0166339874267578	0.0199999999999818	0.0199999999999818	0.0	323
+-324	0.020615816116333	0.0200000000000102	0.0200000000000102	0.0	324
+-325	0.016042947769165	0.0200000000000102	0.0200000000000102	0.0	325
+-326	0.0157880783081055	0.00999999999999091	0.00999999999999091	0.0	326
+-327	0.0156471729278564	0.0200000000000102	0.0200000000000102	0.0	327
+-328	0.0406618118286133	0.039999999999992	0.039999999999992	0.0	328
+-329	0.0161919593811035	0.00999999999999091	0.00999999999999091	0.0	329
+-330	0.0158429145812988	0.0200000000000102	0.0200000000000102	0.0	330
+-331	0.0157439708709717	0.0199999999999818	0.0199999999999818	0.0	331
+-332	0.0156080722808838	0.0100000000000193	0.0100000000000193	0.0	332
+-333	0.0156378746032715	0.0199999999999818	0.0199999999999818	0.0	333
+-334	0.015779972076416	0.0100000000000193	0.0100000000000193	0.0	334
+-335	0.0407891273498535	0.039999999999992	0.039999999999992	0.0	335
+-336	0.0195779800415039	0.0200000000000102	0.0200000000000102	0.0	336
+-337	0.0160758495330811	0.0199999999999818	0.0199999999999818	0.0	337
+-338	0.0156791210174561	0.0200000000000102	0.0200000000000102	0.0	338
+-339	0.015733003616333	0.00999999999999091	0.00999999999999091	0.0	339
+-340	0.0158100128173828	0.0200000000000102	0.0200000000000102	0.0	340
+-341	0.0405211448669434	0.039999999999992	0.039999999999992	0.0	341
+-342	0.0158991813659668	0.0100000000000193	0.0100000000000193	0.0	342
+-343	0.0157461166381836	0.0199999999999818	0.0199999999999818	0.0	343
+-344	0.0166110992431641	0.0200000000000102	0.0200000000000102	0.0	344
+-345	0.0219199657440186	0.0199999999999818	0.0199999999999818	0.0	345
+-346	0.0155389308929443	0.0100000000000193	0.0100000000000193	0.0	346
+-347	0.0156941413879395	0.0199999999999818	0.0199999999999818	0.0	347
+-348	0.0439140796661377	0.0400000000000205	0.0400000000000205	0.0	348
+-349	0.016746997833252	0.0199999999999818	0.0199999999999818	0.0	349
+-350	0.0159060955047607	0.0200000000000102	0.0200000000000102	0.0	350
+-351	0.0158212184906006	0.00999999999999091	0.00999999999999091	0.0	351
+-352	0.0157208442687988	0.0200000000000102	0.0200000000000102	0.0	352
+-353	0.0156140327453613	0.00999999999999091	0.00999999999999091	0.0	353
+-354	0.0168178081512451	0.0200000000000102	0.0200000000000102	0.0	354
+-355	0.0407528877258301	0.039999999999992	0.039999999999992	0.0	355
+-356	0.0157878398895264	0.0200000000000102	0.0200000000000102	0.0	356
+-357	0.0157828330993652	0.00999999999999091	0.00999999999999091	0.0	357
+-358	0.0156841278076172	0.0200000000000102	0.0200000000000102	0.0	358
+-359	0.0156099796295166	0.00999999999999091	0.00999999999999091	0.0	359
+-360	0.015535831451416	0.0200000000000102	0.0200000000000102	0.0	360
+-361	0.0171799659729004	0.0199999999999818	0.0199999999999818	0.0	361
+-362	0.044562816619873	0.0400000000000205	0.0400000000000205	0.0	362
+-363	0.0159769058227539	0.0199999999999818	0.0199999999999818	0.0	363
+-364	0.0167310237884521	0.0100000000000193	0.0100000000000193	0.0	364
+-365	0.0156519412994385	0.0199999999999818	0.0199999999999818	0.0	365
+-366	0.015625	0.0200000000000102	0.0200000000000102	0.0	366
+-367	0.0161309242248535	0.00999999999999091	0.00999999999999091	0.0	367
+-368	0.0406661033630371	0.039999999999992	0.039999999999992	0.0	368
+-369	0.016185998916626	0.0200000000000102	0.0200000000000102	0.0	369
+-370	0.0159850120544434	0.00999999999999091	0.00999999999999091	0.0	370
+-371	0.0159509181976318	0.0200000000000102	0.0200000000000102	0.0	371
+-372	0.015861988067627	0.0200000000000102	0.0200000000000102	0.0	372
+-373	0.0157780647277832	0.00999999999999091	0.00999999999999091	0.0	373
+-374	0.019244909286499	0.0200000000000102	0.0200000000000102	0.0	374
+-375	0.0423779487609863	0.039999999999992	0.039999999999992	0.0	375
+-376	0.0160589218139648	0.0200000000000102	0.0200000000000102	0.0	376
+-377	0.0159640312194824	0.0199999999999818	0.0199999999999818	0.0	377
+-378	0.0158970355987549	0.0100000000000193	0.0100000000000193	0.0	378
+-379	0.0158810615539551	0.0199999999999818	0.0199999999999818	0.0	379
+-380	0.0159378051757812	0.0100000000000193	0.0100000000000193	0.0	380
+-381	0.0156619548797607	0.0199999999999818	0.0199999999999818	0.0	381
+-382	0.0407819747924805	0.039999999999992	0.039999999999992	0.0	382
+-383	0.0159389972686768	0.0200000000000102	0.0200000000000102	0.0	383
+-384	0.0160889625549316	0.00999999999999091	0.00999999999999091	0.0	384
+-385	0.0158150196075439	0.0200000000000102	0.0200000000000102	0.0	385
+-386	0.0164110660552979	0.0200000000000102	0.0200000000000102	0.0	386
+-387	0.0180950164794922	0.00999999999999091	0.00999999999999091	0.0	387
+-388	0.0157089233398438	0.0200000000000102	0.0200000000000102	0.0	388
+-389	0.0411288738250732	0.039999999999992	0.039999999999992	0.0	389
+-390	0.0159080028533936	0.0200000000000102	0.0200000000000102	0.0	390
+-391	0.0158810615539551	0.00999999999999091	0.00999999999999091	0.0	391
+-392	0.0157151222229004	0.0200000000000102	0.0200000000000102	0.0	392
+-393	0.0156629085540771	0.00999999999999091	0.00999999999999091	0.0	393
+-394	0.0157067775726318	0.0199999999999818	0.0199999999999818	0.0	394
+-395	0.0479769706726074	0.0500000000000114	0.0500000000000114	0.0	395
+-396	0.01609206199646	0.00999999999999091	0.00999999999999091	0.0	396
+-397	0.0158951282501221	0.0200000000000102	0.0200000000000102	0.0	397
+-398	0.0161418914794922	0.00999999999999091	0.00999999999999091	0.0	398
+-399	0.0201709270477295	0.0200000000000102	0.0200000000000102	0.0	399
+-400	0.0157439708709717	0.0100000000000193	0.0100000000000193	0.0	400
+-401	0.0157320499420166	0.0199999999999818	0.0199999999999818	0.0	401
+-402	0.0412960052490234	0.0400000000000205	0.0400000000000205	0.0	402
+-403	0.0162639617919922	0.00999999999999091	0.00999999999999091	0.0	403
+-404	0.0161092281341553	0.0200000000000102	0.0200000000000102	0.0	404
+-405	0.0159099102020264	0.0199999999999818	0.0199999999999818	0.0	405
+-406	0.0157670974731445	0.00999999999999091	0.00999999999999091	0.0	406
+-407	0.0156850814819336	0.0200000000000102	0.0200000000000102	0.0	407
+-408	0.0156769752502441	0.00999999999999091	0.00999999999999091	0.0	408
+-409	0.0408320426940918	0.0400000000000205	0.0400000000000205	0.0	409
+-410	0.0158789157867432	0.0199999999999818	0.0199999999999818	0.0	410
+-411	0.0202319622039795	0.0200000000000102	0.0200000000000102	0.0	411
+-412	0.0158510208129883	0.0200000000000102	0.0200000000000102	0.0	412
+-413	0.0156679153442383	0.00999999999999091	0.00999999999999091	0.0	413
+-414	0.0159661769866943	0.0200000000000102	0.0200000000000102	0.0	414
+-415	0.0161230564117432	0.00999999999999091	0.00999999999999091	0.0	415
+-416	0.0410380363464355	0.0500000000000114	0.0500000000000114	0.0	416
+-417	0.0158960819244385	0.00999999999999091	0.00999999999999091	0.0	417
+-418	0.0158650875091553	0.0199999999999818	0.0199999999999818	0.0	418
+-419	0.0157840251922607	0.0100000000000193	0.0100000000000193	0.0	419
+-420	0.0155539512634277	0.0199999999999818	0.0199999999999818	0.0	420
+-421	0.0157678127288818	0.0100000000000193	0.0100000000000193	0.0	421
+-422	0.0412240028381348	0.0499999999999829	0.0499999999999829	0.0	422
+-423	0.0191640853881836	0.0100000000000193	0.0100000000000193	0.0	423
+-424	0.0165059566497803	0.0199999999999818	0.0199999999999818	0.0	424
+-425	0.0159070491790771	0.0200000000000102	0.0200000000000102	0.0	425
+-426	0.0158569812774658	0.00999999999999091	0.00999999999999091	0.0	426
+-427	0.0156240463256836	0.0200000000000102	0.0200000000000102	0.0	427
+-428	0.0156888961791992	0.00999999999999091	0.00999999999999091	0.0	428
+-429	0.0410318374633789	0.0500000000000114	0.0500000000000114	0.0	429
+-430	0.0159420967102051	0.00999999999999091	0.00999999999999091	0.0	430
+-431	0.0159289836883545	0.0200000000000102	0.0200000000000102	0.0	431
+-432	0.0157718658447266	0.00999999999999091	0.00999999999999091	0.0	432
+-433	0.0156440734863281	0.0200000000000102	0.0200000000000102	0.0	433
+-434	0.0156459808349609	0.00999999999999091	0.00999999999999091	0.0	434
+-435	0.0156629085540771	0.0200000000000102	0.0200000000000102	0.0	435
+-436	0.043510913848877	0.039999999999992	0.039999999999992	0.0	436
+-437	0.0160140991210938	0.0200000000000102	0.0200000000000102	0.0	437
+-438	0.015984058380127	0.0199999999999818	0.0199999999999818	0.0	438
+-439	0.0160889625549316	0.0100000000000193	0.0100000000000193	0.0	439
+-440	0.0160849094390869	0.0199999999999818	0.0199999999999818	0.0	440
+-441	0.015700101852417	0.0100000000000193	0.0100000000000193	0.0	441
+-442	0.0157110691070557	0.0199999999999818	0.0199999999999818	0.0	442
+-443	0.0212619304656982	0.0199999999999818	0.0199999999999818	0.0	443
+-444	0.0226690769195557	0.0200000000000102	0.0200000000000102	0.0	444
+-445	0.0157680511474609	0.0200000000000102	0.0200000000000102	0.0	445
+-446	0.015690803527832	0.00999999999999091	0.00999999999999091	0.0	446
+-447	0.015653133392334	0.0200000000000102	0.0200000000000102	0.0	447
+-448	0.0156688690185547	0.0199999999999818	0.0199999999999818	0.0	448
+-449	0.0439548492431641	0.0400000000000205	0.0400000000000205	0.0	449
+-450	0.0160410404205322	0.0199999999999818	0.0199999999999818	0.0	450
+-451	0.0159320831298828	0.0100000000000193	0.0100000000000193	0.0	451
+-452	0.0157608985900879	0.0199999999999818	0.0199999999999818	0.0	452
+-453	0.0166118144989014	0.0100000000000193	0.0100000000000193	0.0	453
+-454	0.0155959129333496	0.0199999999999818	0.0199999999999818	0.0	454
+-455	0.0157961845397949	0.0200000000000102	0.0200000000000102	0.0	455
+-456	0.0407929420471191	0.039999999999992	0.039999999999992	0.0	456
+-457	0.0160069465637207	0.00999999999999091	0.00999999999999091	0.0	457
+-458	0.015955924987793	0.0200000000000102	0.0200000000000102	0.0	458
+-459	0.015923023223877	0.0200000000000102	0.0200000000000102	0.0	459
+-460	0.0157721042633057	0.00999999999999091	0.00999999999999091	0.0	460
+-461	0.0170860290527344	0.0200000000000102	0.0200000000000102	0.0	461
+-462	0.0182251930236816	0.0199999999999818	0.0199999999999818	0.0	462
+-463	0.0413410663604736	0.0400000000000205	0.0400000000000205	0.0	463
+-464	0.0165669918060303	0.00999999999999091	0.00999999999999091	0.0	464
+-465	0.0159049034118652	0.0200000000000102	0.0200000000000102	0.0	465
+-466	0.0158209800720215	0.0199999999999818	0.0199999999999818	0.0	466
+-467	0.0156691074371338	0.0100000000000193	0.0100000000000193	0.0	467
+-468	0.0155670642852783	0.0199999999999818	0.0199999999999818	0.0	468
+-469	0.0407600402832031	0.039999999999992	0.039999999999992	0.0	469
+-470	0.0160460472106934	0.0100000000000193	0.0100000000000193	0.0	470
+-471	0.0159029960632324	0.0199999999999818	0.0199999999999818	0.0	471
+-472	0.0159380435943604	0.0200000000000102	0.0200000000000102	0.0	472
+-473	0.0165109634399414	0.00999999999999091	0.00999999999999091	0.0	473
+-474	0.0189468860626221	0.0200000000000102	0.0200000000000102	0.0	474
+-475	0.0156781673431396	0.0200000000000102	0.0200000000000102	0.0	475
+-476	0.0406448841094971	0.039999999999992	0.039999999999992	0.0	476
+-477	0.0160341262817383	0.00999999999999091	0.00999999999999091	0.0	477
+-478	0.0160388946533203	0.0200000000000102	0.0200000000000102	0.0	478
+-479	0.0163199901580811	0.0200000000000102	0.0200000000000102	0.0	479
+-480	0.0158259868621826	0.00999999999999091	0.00999999999999091	0.0	480
+-481	0.0156810283660889	0.0199999999999818	0.0199999999999818	0.0	481
+-482	0.0157148838043213	0.0100000000000193	0.0100000000000193	0.0	482
+-483	0.0412290096282959	0.039999999999992	0.039999999999992	0.0	483
+-484	0.0160889625549316	0.0200000000000102	0.0200000000000102	0.0	484
+-485	0.0160059928894043	0.0199999999999818	0.0199999999999818	0.0	485
+-486	0.0181820392608643	0.0200000000000102	0.0200000000000102	0.0	486
+-487	0.0166311264038086	0.00999999999999091	0.00999999999999091	0.0	487
+-488	0.0156669616699219	0.0200000000000102	0.0200000000000102	0.0	488
+-489	0.0157821178436279	0.00999999999999091	0.00999999999999091	0.0	489
+-490	0.0410869121551514	0.0400000000000205	0.0400000000000205	0.0	490
+-491	0.0159239768981934	0.0199999999999818	0.0199999999999818	0.0	491
+-492	0.0158579349517822	0.0200000000000102	0.0200000000000102	0.0	492
+-493	0.0157217979431152	0.00999999999999091	0.00999999999999091	0.0	493
+-494	0.021359920501709	0.0200000000000102	0.0200000000000102	0.0	494
+-495	0.0177481174468994	0.0199999999999818	0.0199999999999818	0.0	495
+-496	0.0405080318450928	0.0400000000000205	0.0400000000000205	0.0	496
+-497	0.0161361694335938	0.0199999999999818	0.0199999999999818	0.0	497
+-498	0.0198690891265869	0.0200000000000102	0.0200000000000102	0.0	498
+-499	0.0160260200500488	0.00999999999999091	0.00999999999999091	0.0	499
+-500	0.0157639980316162	0.0200000000000102	0.0200000000000102	0.0	500
+-501	0.0156447887420654	0.0200000000000102	0.0200000000000102	0.0	501
+-502	0.0156769752502441	0.00999999999999091	0.00999999999999091	0.0	502
+-503	0.0437228679656982	0.039999999999992	0.039999999999992	0.0	503
+-504	0.0161030292510986	0.0200000000000102	0.0200000000000102	0.0	504
+-505	0.016016960144043	0.0199999999999818	0.0199999999999818	0.0	505
+-506	0.0158760547637939	0.0100000000000193	0.0100000000000193	0.0	506
+-507	0.01578688621521	0.0199999999999818	0.0199999999999818	0.0	507
+-508	0.0156271457672119	0.0100000000000193	0.0100000000000193	0.0	508
+-509	0.0157058238983154	0.0199999999999818	0.0199999999999818	0.0	509
+-510	0.0442900657653809	0.0400000000000205	0.0400000000000205	0.0	510
+-511	0.017132043838501	0.0199999999999818	0.0199999999999818	0.0	511
+-512	0.0159881114959717	0.0200000000000102	0.0200000000000102	0.0	512
+-513	0.0160439014434814	0.00999999999999091	0.00999999999999091	0.0	513
+-514	0.0164890289306641	0.0200000000000102	0.0200000000000102	0.0	514
+-515	0.0156888961791992	0.0200000000000102	0.0200000000000102	0.0	515
+-516	0.040363073348999	0.039999999999992	0.039999999999992	0.0	516
+-517	0.0161979198455811	0.00999999999999091	0.00999999999999091	0.0	517
+-518	0.0159780979156494	0.0200000000000102	0.0200000000000102	0.0	518
+-519	0.0159690380096436	0.00999999999999091	0.00999999999999091	0.0	519
+-520	0.015887975692749	0.0200000000000102	0.0200000000000102	0.0	520
+-521	0.0156509876251221	0.0199999999999818	0.0199999999999818	0.0	521
+-522	0.0156340599060059	0.0100000000000193	0.0100000000000193	0.0	522
+-523	0.0451259613037109	0.0499999999999829	0.0499999999999829	0.0	523
+-524	0.0159039497375488	0.0100000000000193	0.0100000000000193	0.0	524
+-525	0.0158360004425049	0.0199999999999818	0.0199999999999818	0.0	525
+-526	0.0157630443572998	0.0100000000000193	0.0100000000000193	0.0	526
+-527	0.0156168937683105	0.0199999999999818	0.0199999999999818	0.0	527
+-528	0.0156149864196777	0.0200000000000102	0.0200000000000102	0.0	528
+-529	0.015984058380127	0.00999999999999091	0.00999999999999091	0.0	529
+-530	0.040830135345459	0.039999999999992	0.039999999999992	0.0	530
+-531	0.0160219669342041	0.0200000000000102	0.0200000000000102	0.0	531
+-532	0.015923023223877	0.0200000000000102	0.0200000000000102	0.0	532
+-533	0.0159180164337158	0.00999999999999091	0.00999999999999091	0.0	533
+-534	0.0157890319824219	0.0200000000000102	0.0200000000000102	0.0	534
+-535	0.0156989097595215	0.00999999999999091	0.00999999999999091	0.0	535
+-536	0.043813943862915	0.0500000000000114	0.0500000000000114	0.0	536
+-537	0.0161550045013428	0.00999999999999091	0.00999999999999091	0.0	537
+-538	0.0161418914794922	0.0200000000000102	0.0200000000000102	0.0	538
+-539	0.016010046005249	0.00999999999999091	0.00999999999999091	0.0	539
+-540	0.015833854675293	0.0100000000000193	0.0100000000000193	0.0	540
+-541	0.0156919956207275	0.0199999999999818	0.0199999999999818	0.0	541
+-542	0.0156600475311279	0.0100000000000193	0.0100000000000193	0.0	542
+-543	0.0471100807189941	0.0499999999999829	0.0499999999999829	0.0	543
+-544	0.0160348415374756	0.0200000000000102	0.0200000000000102	0.0	544
+-545	0.0160539150238037	0.00999999999999091	0.00999999999999091	0.0	545
+-546	0.0158519744873047	0.0200000000000102	0.0200000000000102	0.0	546
+-547	0.0158119201660156	0.00999999999999091	0.00999999999999091	0.0	547
+-548	0.0178709030151367	0.0200000000000102	0.0200000000000102	0.0	548
+-549	0.0169069766998291	0.0199999999999818	0.0199999999999818	0.0	549
+-550	0.0407388210296631	0.0400000000000205	0.0400000000000205	0.0	550
+-551	0.0159931182861328	0.0199999999999818	0.0199999999999818	0.0	551
+-552	0.0167689323425293	0.0100000000000193	0.0100000000000193	0.0	552
+-553	0.015841007232666	0.0199999999999818	0.0199999999999818	0.0	553
+-554	0.0158300399780273	0.0100000000000193	0.0100000000000193	0.0	554
+-555	0.0156581401824951	0.0199999999999818	0.0199999999999818	0.0	555
+-556	0.0406780242919922	0.039999999999992	0.039999999999992	0.0	556
+-557	0.0162060260772705	0.0200000000000102	0.0200000000000102	0.0	557
+-558	0.0160999298095703	0.00999999999999091	0.00999999999999091	0.0	558
+-559	0.0159580707550049	0.0200000000000102	0.0200000000000102	0.0	559
+-560	0.0159261226654053	0.00999999999999091	0.00999999999999091	0.0	560
+-561	0.0199720859527588	0.0200000000000102	0.0200000000000102	0.0	561
+-562	0.0157170295715332	0.0200000000000102	0.0200000000000102	0.0	562
+-563	0.041780948638916	0.039999999999992	0.039999999999992	0.0	563
+-564	0.0160281658172607	0.0200000000000102	0.0200000000000102	0.0	564
+-565	0.0160350799560547	0.00999999999999091	0.00999999999999091	0.0	565
+-566	0.0158600807189941	0.0200000000000102	0.0200000000000102	0.0	566
+-567	0.0157890319824219	0.0199999999999818	0.0199999999999818	0.0	567
+-568	0.01568603515625	0.00999999999999091	0.00999999999999091	0.0	568
+-569	0.0157349109649658	0.0200000000000102	0.0200000000000102	0.0	569
+-570	0.0407240390777588	0.039999999999992	0.039999999999992	0.0	570
+-571	0.0159690380096436	0.0100000000000193	0.0100000000000193	0.0	571
+-572	0.0166740417480469	0.0199999999999818	0.0199999999999818	0.0	572
+-573	0.0183789730072021	0.0200000000000102	0.0200000000000102	0.0	573
+-574	0.0158569812774658	0.0200000000000102	0.0200000000000102	0.0	574
+-575	0.0156340599060059	0.00999999999999091	0.00999999999999091	0.0	575
+-576	0.0408451557159424	0.039999999999992	0.039999999999992	0.0	576
+-577	0.0160448551177979	0.0200000000000102	0.0200000000000102	0.0	577
+-578	0.0162789821624756	0.00999999999999091	0.00999999999999091	0.0	578
+-579	0.0159311294555664	0.0200000000000102	0.0200000000000102	0.0	579
+-580	0.0158848762512207	0.0199999999999818	0.0199999999999818	0.0	580
+-581	0.0157999992370605	0.0100000000000193	0.0100000000000193	0.0	581
+-582	0.0156741142272949	0.0199999999999818	0.0199999999999818	0.0	582
+-583	0.0409140586853027	0.0400000000000205	0.0400000000000205	0.0	583
+-584	0.0159211158752441	0.0199999999999818	0.0199999999999818	0.0	584
+-585	0.0184950828552246	0.0100000000000193	0.0100000000000193	0.0	585
+-586	0.0168490409851074	0.0199999999999818	0.0199999999999818	0.0	586
+-587	0.0156459808349609	0.0200000000000102	0.0200000000000102	0.0	587
+-588	0.0156338214874268	0.00999999999999091	0.00999999999999091	0.0	588
+-589	0.0159139633178711	0.0200000000000102	0.0200000000000102	0.0	589
+-590	0.0407509803771973	0.039999999999992	0.039999999999992	0.0	590
+-591	0.0159850120544434	0.0100000000000193	0.0100000000000193	0.0	591
+-592	0.0159389972686768	0.0199999999999818	0.0199999999999818	0.0	592
+-593	0.0213720798492432	0.0200000000000102	0.0200000000000102	0.0	593
+-594	0.0177850723266602	0.0199999999999818	0.0199999999999818	0.0	594
+-595	0.0157310962677002	0.0200000000000102	0.0200000000000102	0.0	595
+-596	0.0403420925140381	0.039999999999992	0.039999999999992	0.0	596
+-597	0.0190529823303223	0.0200000000000102	0.0200000000000102	0.0	597
+-598	0.0169448852539062	0.00999999999999091	0.00999999999999091	0.0	598
+-599	0.0159680843353271	0.0200000000000102	0.0200000000000102	0.0	599
+-600	0.0158801078796387	0.00999999999999091	0.00999999999999091	0.0	600
+-601	0.0156979560852051	0.0200000000000102	0.0200000000000102	0.0	601
+-602	0.0156271457672119	0.0200000000000102	0.0200000000000102	0.0	602
+-603	0.0415568351745605	0.039999999999992	0.039999999999992	0.0	603
+-604	0.0159718990325928	0.00999999999999091	0.00999999999999091	0.0	604
+-605	0.0159180164337158	0.0200000000000102	0.0200000000000102	0.0	605
+-606	0.0158648490905762	0.0199999999999818	0.0199999999999818	0.0	606
+-607	0.0156810283660889	0.0100000000000193	0.0100000000000193	0.0	607
+-608	0.0156228542327881	0.0199999999999818	0.0199999999999818	0.0	608
+-609	0.0157201290130615	0.0100000000000193	0.0100000000000193	0.0	609
+-610	0.0439960956573486	0.0499999999999829	0.0499999999999829	0.0	610
+-611	0.0160610675811768	0.0100000000000193	0.0100000000000193	0.0	611
+-612	0.0161979198455811	0.0199999999999818	0.0199999999999818	0.0	612
+-613	0.0165619850158691	0.0200000000000102	0.0200000000000102	0.0	613
+-614	0.0157890319824219	0.00999999999999091	0.00999999999999091	0.0	614
+-615	0.0156469345092773	0.0200000000000102	0.0200000000000102	0.0	615
+-616	0.0402541160583496	0.039999999999992	0.039999999999992	0.0	616
+-617	0.0161638259887695	0.00999999999999091	0.00999999999999091	0.0	617
+-618	0.0160119533538818	0.0200000000000102	0.0200000000000102	0.0	618
+-619	0.0159289836883545	0.0200000000000102	0.0200000000000102	0.0	619
+-620	0.0159239768981934	0.00999999999999091	0.00999999999999091	0.0	620
+-621	0.0156819820404053	0.0200000000000102	0.0200000000000102	0.0	621
+-622	0.0163209438323975	0.00999999999999091	0.00999999999999091	0.0	622
+-623	0.0430841445922852	0.0500000000000114	0.0500000000000114	0.0	623
+-624	0.0160331726074219	0.00999999999999091	0.00999999999999091	0.0	624
+-625	0.0159151554107666	0.0200000000000102	0.0200000000000102	0.0	625
+-626	0.0158572196960449	0.00999999999999091	0.00999999999999091	0.0	626
+-627	0.0157380104064941	0.0100000000000193	0.0100000000000193	0.0	627
+-628	0.015657901763916	0.0199999999999818	0.0199999999999818	0.0	628
+-629	0.016016960144043	0.0100000000000193	0.0100000000000193	0.0	629
+-630	0.0407459735870361	0.039999999999992	0.039999999999992	0.0	630
+-631	0.0159480571746826	0.0199999999999818	0.0199999999999818	0.0	631
+-632	0.0159869194030762	0.0200000000000102	0.0200000000000102	0.0	632
+-633	0.0159099102020264	0.00999999999999091	0.00999999999999091	0.0	633
+-634	0.0157899856567383	0.0200000000000102	0.0200000000000102	0.0	634
+-635	0.0156879425048828	0.00999999999999091	0.00999999999999091	0.0	635
+-636	0.0428619384765625	0.0500000000000114	0.0500000000000114	0.0	636
+-637	0.0161869525909424	0.00999999999999091	0.00999999999999091	0.0	637
+-638	0.0162138938903809	0.0200000000000102	0.0200000000000102	0.0	638
+-639	0.0158801078796387	0.00999999999999091	0.00999999999999091	0.0	639
+-640	0.0158560276031494	0.0200000000000102	0.0200000000000102	0.0	640
+-641	0.0156440734863281	0.00999999999999091	0.00999999999999091	0.0	641
+-642	0.0156350135803223	0.0200000000000102	0.0200000000000102	0.0	642
+-643	0.047083854675293	0.0499999999999829	0.0499999999999829	0.0	643
+-644	0.0159060955047607	0.0100000000000193	0.0100000000000193	0.0	644
+-645	0.0158288478851318	0.0199999999999818	0.0199999999999818	0.0	645
+-646	0.0157370567321777	0.0200000000000102	0.0200000000000102	0.0	646
+-647	0.0155889987945557	0.00999999999999091	0.00999999999999091	0.0	647
+-648	0.0187828540802002	0.0200000000000102	0.0200000000000102	0.0	648
+-649	0.0158119201660156	0.0200000000000102	0.0200000000000102	0.0	649
+-650	0.0408198833465576	0.039999999999992	0.039999999999992	0.0	650
+-651	0.0160138607025146	0.00999999999999091	0.00999999999999091	0.0	651
+-652	0.0169661045074463	0.0200000000000102	0.0200000000000102	0.0	652
+-653	0.0158448219299316	0.0200000000000102	0.0200000000000102	0.0	653
+-654	0.0157639980316162	0.00999999999999091	0.00999999999999091	0.0	654
+-655	0.0156838893890381	0.0199999999999818	0.0199999999999818	0.0	655
+-656	0.0403389930725098	0.0400000000000205	0.0400000000000205	0.0	656
+-657	0.0161681175231934	0.00999999999999091	0.00999999999999091	0.0	657
+-658	0.015963077545166	0.0200000000000102	0.0200000000000102	0.0	658
+-659	0.0159058570861816	0.0199999999999818	0.0199999999999818	0.0	659
+-660	0.0177428722381592	0.0100000000000193	0.0100000000000193	0.0	660
+-661	0.0171470642089844	0.0199999999999818	0.0199999999999818	0.0	661
+-662	0.015761137008667	0.0200000000000102	0.0200000000000102	0.0	662
+-663	0.0421710014343262	0.039999999999992	0.039999999999992	0.0	663
+-664	0.0159869194030762	0.0100000000000193	0.0100000000000193	0.0	664
+-665	0.0158960819244385	0.0199999999999818	0.0199999999999818	0.0	665
+-666	0.0158309936523438	0.0200000000000102	0.0200000000000102	0.0	666
+-667	0.0156588554382324	0.00999999999999091	0.00999999999999091	0.0	667
+-668	0.0155930519104004	0.0200000000000102	0.0200000000000102	0.0	668
+-669	0.0157339572906494	0.00999999999999091	0.00999999999999091	0.0	669
+-670	0.0408949851989746	0.039999999999992	0.039999999999992	0.0	670
+-671	0.0166690349578857	0.0200000000000102	0.0200000000000102	0.0	671
+-672	0.015967845916748	0.0200000000000102	0.0200000000000102	0.0	672
+-673	0.0183408260345459	0.0199999999999818	0.0199999999999818	0.0	673
+-674	0.0157818794250488	0.0100000000000193	0.0100000000000193	0.0	674
+-675	0.0156641006469727	0.0199999999999818	0.0199999999999818	0.0	675
+-676	0.0403289794921875	0.0400000000000205	0.0400000000000205	0.0	676
+-677	0.0160641670227051	0.00999999999999091	0.00999999999999091	0.0	677
+-678	0.0162630081176758	0.0200000000000102	0.0200000000000102	0.0	678
+-679	0.0158939361572266	0.0199999999999818	0.0199999999999818	0.0	679
+-680	0.0158121585845947	0.00999999999999091	0.00999999999999091	0.0	680
+-681	0.0155899524688721	0.0200000000000102	0.0200000000000102	0.0	681
+-682	0.0156369209289551	0.00999999999999091	0.00999999999999091	0.0	682
+-683	0.0411529541015625	0.0400000000000205	0.0400000000000205	0.0	683
+-684	0.0160119533538818	0.0199999999999818	0.0199999999999818	0.0	684
+-685	0.0188088417053223	0.0200000000000102	0.0200000000000102	0.0	685
+-686	0.0159080028533936	0.0200000000000102	0.0200000000000102	0.0	686
+-687	0.0157148838043213	0.00999999999999091	0.00999999999999091	0.0	687
+-688	0.0155959129333496	0.0200000000000102	0.0200000000000102	0.0	688
+-689	0.0412189960479736	0.039999999999992	0.039999999999992	0.0	689
+-690	0.015995979309082	0.00999999999999091	0.00999999999999091	0.0	690
+-691	0.0159540176391602	0.0200000000000102	0.0200000000000102	0.0	691
+-692	0.015949010848999	0.0199999999999818	0.0199999999999818	0.0	692
+-693	0.0234458446502686	0.0200000000000102	0.0200000000000102	0.0	693
+-694	0.0157320499420166	0.0200000000000102	0.0200000000000102	0.0	694
+-695	0.0157339572906494	0.00999999999999091	0.00999999999999091	0.0	695
+-696	0.0404260158538818	0.039999999999992	0.039999999999992	0.0	696
+-697	0.0190789699554443	0.0200000000000102	0.0200000000000102	0.0	697
+-698	0.0159289836883545	0.0200000000000102	0.0200000000000102	0.0	698
+-699	0.0157830715179443	0.00999999999999091	0.00999999999999091	0.0	699
+-700	0.0156319141387939	0.0200000000000102	0.0200000000000102	0.0	700
+-701	0.01556396484375	0.00999999999999091	0.00999999999999091	0.0	701
+-702	0.0156660079956055	0.0200000000000102	0.0200000000000102	0.0	702
+-703	0.0413651466369629	0.039999999999992	0.039999999999992	0.0	703
+-704	0.0159580707550049	0.0199999999999818	0.0199999999999818	0.0	704
+-705	0.0158989429473877	0.0100000000000193	0.0100000000000193	0.0	705
+-706	0.0158150196075439	0.0199999999999818	0.0199999999999818	0.0	706
+-707	0.0156781673431396	0.0100000000000193	0.0100000000000193	0.0	707
+-708	0.0156269073486328	0.0199999999999818	0.0199999999999818	0.0	708
+-709	0.041424036026001	0.0400000000000205	0.0400000000000205	0.0	709
+-710	0.0184199810028076	0.0199999999999818	0.0199999999999818	0.0	710
+-711	0.0159978866577148	0.0200000000000102	0.0200000000000102	0.0	711
+-712	0.0160419940948486	0.00999999999999091	0.00999999999999091	0.0	712
+-713	0.016589879989624	0.0200000000000102	0.0200000000000102	0.0	713
+-714	0.0156559944152832	0.0200000000000102	0.0200000000000102	0.0	714
+-715	0.0157039165496826	0.00999999999999091	0.00999999999999091	0.0	715
+-716	0.0408508777618408	0.039999999999992	0.039999999999992	0.0	716
+-717	0.0159609317779541	0.0200000000000102	0.0200000000000102	0.0	717
+-718	0.0159869194030762	0.00999999999999091	0.00999999999999091	0.0	718
+-719	0.0159101486206055	0.0200000000000102	0.0200000000000102	0.0	719
+-720	0.0156970024108887	0.0199999999999818	0.0199999999999818	0.0	720
+-721	0.0155429840087891	0.0100000000000193	0.0100000000000193	0.0	721
+-722	0.0163400173187256	0.0199999999999818	0.0199999999999818	0.0	722
+-723	0.0429699420928955	0.0400000000000205	0.0400000000000205	0.0	723
+-724	0.0160400867462158	0.0199999999999818	0.0199999999999818	0.0	724
+-725	0.0159778594970703	0.0100000000000193	0.0100000000000193	0.0	725
+-726	0.015826940536499	0.0199999999999818	0.0199999999999818	0.0	726
+-727	0.0156888961791992	0.0100000000000193	0.0100000000000193	0.0	727
+-728	0.0159649848937988	0.0199999999999818	0.0199999999999818	0.0	728
+-729	0.0405631065368652	0.039999999999992	0.039999999999992	0.0	729
+-730	0.0161111354827881	0.0200000000000102	0.0200000000000102	0.0	730
+-731	0.0158760547637939	0.00999999999999091	0.00999999999999091	0.0	731
+-732	0.0159549713134766	0.0200000000000102	0.0200000000000102	0.0	732
+-733	0.0157599449157715	0.00999999999999091	0.00999999999999091	0.0	733
+-734	0.0157549381256104	0.0200000000000102	0.0200000000000102	0.0	734
+-735	0.0156841278076172	0.0200000000000102	0.0200000000000102	0.0	735
+-736	0.0429198741912842	0.039999999999992	0.039999999999992	0.0	736
+-737	0.0159552097320557	0.0200000000000102	0.0200000000000102	0.0	737
+-738	0.016150951385498	0.00999999999999091	0.00999999999999091	0.0	738
+-739	0.0157721042633057	0.0200000000000102	0.0200000000000102	0.0	739
+-740	0.0156459808349609	0.00999999999999091	0.00999999999999091	0.0	740
+-741	0.0156309604644775	0.0200000000000102	0.0200000000000102	0.0	741
+-742	0.0458109378814697	0.039999999999992	0.039999999999992	0.0	742
+-743	0.0170071125030518	0.0199999999999818	0.0199999999999818	0.0	743
+-744	0.0160090923309326	0.0200000000000102	0.0200000000000102	0.0	744
+-745	0.0158901214599609	0.00999999999999091	0.00999999999999091	0.0	745
+-746	0.0158569812774658	0.0200000000000102	0.0200000000000102	0.0	746
+-747	0.0156040191650391	0.0200000000000102	0.0200000000000102	0.0	747
+-748	0.0188460350036621	0.00999999999999091	0.00999999999999091	0.0	748
+-749	0.0407531261444092	0.0500000000000114	0.0500000000000114	0.0	749
+-750	0.0160620212554932	0.00999999999999091	0.00999999999999091	0.0	750
+-751	0.0160109996795654	0.0200000000000102	0.0200000000000102	0.0	751
+-752	0.0167930126190186	0.00999999999999091	0.00999999999999091	0.0	752
+-753	0.0158519744873047	0.0200000000000102	0.0200000000000102	0.0	753
+-754	0.0157589912414551	0.0199999999999818	0.0199999999999818	0.0	754
+-755	0.0156669616699219	0.00999999999999091	0.00999999999999091	0.0	755
+-756	0.0408079624176025	0.0400000000000205	0.0400000000000205	0.0	756
+-757	0.0160200595855713	0.0199999999999818	0.0199999999999818	0.0	757
+-758	0.015981912612915	0.0100000000000193	0.0100000000000193	0.0	758
+-759	0.0158510208129883	0.0199999999999818	0.0199999999999818	0.0	759
+-760	0.0184319019317627	0.0200000000000102	0.0200000000000102	0.0	760
+-761	0.0160219669342041	0.0200000000000102	0.0200000000000102	0.0	761
+-762	0.0413029193878174	0.039999999999992	0.039999999999992	0.0	762
+-763	0.0162460803985596	0.00999999999999091	0.00999999999999091	0.0	763
+-764	0.0159189701080322	0.0200000000000102	0.0200000000000102	0.0	764
+-765	0.0158321857452393	0.00999999999999091	0.00999999999999091	0.0	765
+-766	0.0157649517059326	0.0200000000000102	0.0200000000000102	0.0	766
+-767	0.0156459808349609	0.0199999999999818	0.0199999999999818	0.0	767
+-768	0.0156371593475342	0.0100000000000193	0.0100000000000193	0.0	768
+-769	0.042356014251709	0.039999999999992	0.039999999999992	0.0	769
+-770	0.0159518718719482	0.0200000000000102	0.0200000000000102	0.0	770
+-771	0.0165510177612305	0.0199999999999818	0.0199999999999818	0.0	771
+-772	0.0166161060333252	0.0100000000000193	0.0100000000000193	0.0	772
+-773	0.0192360877990723	0.0199999999999818	0.0199999999999818	0.0	773
+-774	0.0156729221343994	0.0200000000000102	0.0200000000000102	0.0	774
+-775	0.0404140949249268	0.039999999999992	0.039999999999992	0.0	775
+-776	0.0159680843353271	0.0100000000000193	0.0100000000000193	0.0	776
+-777	0.0160880088806152	0.0199999999999818	0.0199999999999818	0.0	777
+-778	0.0158729553222656	0.0200000000000102	0.0200000000000102	0.0	778
+-779	0.0157761573791504	0.00999999999999091	0.00999999999999091	0.0	779
+-780	0.0156121253967285	0.0200000000000102	0.0200000000000102	0.0	780
+-781	0.0156919956207275	0.00999999999999091	0.00999999999999091	0.0	781
+-782	0.0405950546264648	0.039999999999992	0.039999999999992	0.0	782
+-783	0.0157918930053711	0.0200000000000102	0.0200000000000102	0.0	783
+-784	0.0157120227813721	0.0200000000000102	0.0200000000000102	0.0	784
+-785	0.018751859664917	0.00999999999999091	0.00999999999999091	0.0	785
+-786	0.0155041217803955	0.0200000000000102	0.0200000000000102	0.0	786
+-787	0.0158028602600098	0.0199999999999818	0.0199999999999818	0.0	787
+-788	0.0158569812774658	0.0100000000000193	0.0100000000000193	0.0	788
+-789	0.0412540435791016	0.039999999999992	0.039999999999992	0.0	789
+-790	0.0160260200500488	0.0200000000000102	0.0200000000000102	0.0	790
+-791	0.0159499645233154	0.0199999999999818	0.0199999999999818	0.0	791
+-792	0.019320011138916	0.00999999999999091	0.00999999999999091	0.0	792
+-793	0.0201430320739746	0.0200000000000102	0.0200000000000102	0.0	793
+-794	0.0157289505004883	0.0200000000000102	0.0200000000000102	0.0	794
+-795	0.0402889251708984	0.039999999999992	0.039999999999992	0.0	795
+-796	0.0161571502685547	0.0200000000000102	0.0200000000000102	0.0	796
+-797	0.0203540325164795	0.0199999999999818	0.0199999999999818	0.0	797
+-798	0.0160300731658936	0.0100000000000193	0.0100000000000193	0.0	798
+-799	0.0157592296600342	0.0199999999999818	0.0199999999999818	0.0	799
+-800	0.0156340599060059	0.0200000000000102	0.0200000000000102	0.0	800
+-801	0.0156660079956055	0.00999999999999091	0.00999999999999091	0.0	801
+-802	0.0413990020751953	0.0400000000000205	0.0400000000000205	0.0	802
+-803	0.0160489082336426	0.0199999999999818	0.0199999999999818	0.0	803
+-804	0.0158998966217041	0.00999999999999091	0.00999999999999091	0.0	804
+-805	0.0157411098480225	0.0200000000000102	0.0200000000000102	0.0	805
+-806	0.01564621925354	0.0200000000000102	0.0200000000000102	0.0	806
+-807	0.0156128406524658	0.00999999999999091	0.00999999999999091	0.0	807
+-808	0.0405199527740479	0.039999999999992	0.039999999999992	0.0	808
+-809	0.0189261436462402	0.0200000000000102	0.0200000000000102	0.0	809
+-810	0.0164599418640137	0.0200000000000102	0.0200000000000102	0.0	810
+-811	0.0159981250762939	0.00999999999999091	0.00999999999999091	0.0	811
+-812	0.0159931182861328	0.0200000000000102	0.0200000000000102	0.0	812
+-813	0.0164968967437744	0.0199999999999818	0.0199999999999818	0.0	813
+-814	0.0156979560852051	0.0100000000000193	0.0100000000000193	0.0	814
+-815	0.0407021045684814	0.039999999999992	0.039999999999992	0.0	815
+-816	0.0162220001220703	0.0199999999999818	0.0199999999999818	0.0	816
+-817	0.0161950588226318	0.0200000000000102	0.0200000000000102	0.0	817
+-818	0.016150951385498	0.00999999999999091	0.00999999999999091	0.0	818
+-819	0.0162560939788818	0.0200000000000102	0.0200000000000102	0.0	819
+-820	0.0156610012054443	0.00999999999999091	0.00999999999999091	0.0	820
+-821	0.0164270401000977	0.0200000000000102	0.0200000000000102	0.0	821
+-822	0.0451018810272217	0.0500000000000114	0.0500000000000114	0.0	822
+-823	0.0159950256347656	0.00999999999999091	0.00999999999999091	0.0	823
+-824	0.015963077545166	0.0200000000000102	0.0200000000000102	0.0	824
+-825	0.0158100128173828	0.00999999999999091	0.00999999999999091	0.0	825
+-826	0.0157589912414551	0.0200000000000102	0.0200000000000102	0.0	826
+-827	0.0156979560852051	0.00999999999999091	0.00999999999999091	0.0	827
+-828	0.0408341884613037	0.0499999999999829	0.0499999999999829	0.0	828
+-829	0.0160629749298096	0.0100000000000193	0.0100000000000193	0.0	829
+-830	0.015963077545166	0.0199999999999818	0.0199999999999818	0.0	830
+-831	0.0164670944213867	0.0100000000000193	0.0100000000000193	0.0	831
+-832	0.0157999992370605	0.0199999999999818	0.0199999999999818	0.0	832
+-833	0.0158040523529053	0.0200000000000102	0.0200000000000102	0.0	833
+-834	0.0157339572906494	0.00999999999999091	0.00999999999999091	0.0	834
+-835	0.0431559085845947	0.0400000000000205	0.0400000000000205	0.0	835
+-836	0.0160439014434814	0.00999999999999091	0.00999999999999091	0.0	836
+-837	0.0160748958587646	0.0200000000000102	0.0200000000000102	0.0	837
+-838	0.015887975692749	0.00999999999999091	0.00999999999999091	0.0	838
+-839	0.0156698226928711	0.0200000000000102	0.0200000000000102	0.0	839
+-840	0.01568603515625	0.00999999999999091	0.00999999999999091	0.0	840
+-841	0.044741153717041	0.0500000000000114	0.0500000000000114	0.0	841
+-842	0.018258810043335	0.0199999999999818	0.0199999999999818	0.0	842
+-843	0.0159640312194824	0.0100000000000193	0.0100000000000193	0.0	843
+-844	0.0158689022064209	0.0199999999999818	0.0199999999999818	0.0	844
+-845	0.0158030986785889	0.0200000000000102	0.0200000000000102	0.0	845
+-846	0.0156970024108887	0.00999999999999091	0.00999999999999091	0.0	846
+-847	0.0167360305786133	0.0200000000000102	0.0200000000000102	0.0	847
+-848	0.0449869632720947	0.039999999999992	0.039999999999992	0.0	848
+-849	0.0159621238708496	0.0200000000000102	0.0200000000000102	0.0	849
+-850	0.0158789157867432	0.0200000000000102	0.0200000000000102	0.0	850
+-851	0.0166089534759521	0.00999999999999091	0.00999999999999091	0.0	851
+-852	0.0156459808349609	0.0200000000000102	0.0200000000000102	0.0	852
+-853	0.0158588886260986	0.00999999999999091	0.00999999999999091	0.0	853
+-854	0.0406129360198975	0.039999999999992	0.039999999999992	0.0	854
+-855	0.0159440040588379	0.0200000000000102	0.0200000000000102	0.0	855
+-856	0.0158100128173828	0.0199999999999818	0.0199999999999818	0.0	856
+-857	0.0157890319824219	0.0100000000000193	0.0100000000000193	0.0	857
+-858	0.015923023223877	0.0199999999999818	0.0199999999999818	0.0	858
+-859	0.0155861377716064	0.0100000000000193	0.0100000000000193	0.0	859
+-860	0.0188548564910889	0.0199999999999818	0.0199999999999818	0.0	860
+-861	0.0412931442260742	0.0400000000000205	0.0400000000000205	0.0	861
+-862	0.0165369510650635	0.0199999999999818	0.0199999999999818	0.0	862
+-863	0.0160419940948486	0.0200000000000102	0.0200000000000102	0.0	863
+-864	0.0164439678192139	0.00999999999999091	0.00999999999999091	0.0	864
+-865	0.0157101154327393	0.0200000000000102	0.0200000000000102	0.0	865
+-866	0.0156807899475098	0.00999999999999091	0.00999999999999091	0.0	866
+-867	0.0156638622283936	0.0200000000000102	0.0200000000000102	0.0	867
+-868	0.040902853012085	0.039999999999992	0.039999999999992	0.0	868
+-869	0.0159800052642822	0.0200000000000102	0.0200000000000102	0.0	869
+-870	0.0166110992431641	0.00999999999999091	0.00999999999999091	0.0	870
+-871	0.017413854598999	0.0200000000000102	0.0200000000000102	0.0	871
+-872	0.0192930698394775	0.0199999999999818	0.0199999999999818	0.0	872
+-873	0.0160510540008545	0.0100000000000193	0.0100000000000193	0.0	873
+-874	0.0406858921051025	0.0499999999999829	0.0499999999999829	0.0	874
+-875	0.0160770416259766	0.0100000000000193	0.0100000000000193	0.0	875
+-876	0.0161919593811035	0.0199999999999818	0.0199999999999818	0.0	876
+-877	0.015955924987793	0.0100000000000193	0.0100000000000193	0.0	877
+-878	0.0158419609069824	0.0199999999999818	0.0199999999999818	0.0	878
+-879	0.0157468318939209	0.0200000000000102	0.0200000000000102	0.0	879
+-880	0.0157167911529541	0.00999999999999091	0.00999999999999091	0.0	880
+-881	0.040755033493042	0.039999999999992	0.039999999999992	0.0	881
+-882	0.0160150527954102	0.0200000000000102	0.0200000000000102	0.0	882
+-883	0.0159170627593994	0.00999999999999091	0.00999999999999091	0.0	883
+-884	0.0180459022521973	0.0200000000000102	0.0200000000000102	0.0	884
+-885	0.01603102684021	0.0200000000000102	0.0200000000000102	0.0	885
+-886	0.0156559944152832	0.00999999999999091	0.00999999999999091	0.0	886
+-887	0.040722131729126	0.039999999999992	0.039999999999992	0.0	887
+-888	0.0161468982696533	0.0200000000000102	0.0200000000000102	0.0	888
+-889	0.0159561634063721	0.0200000000000102	0.0200000000000102	0.0	889
+-890	0.0158951282501221	0.00999999999999091	0.00999999999999091	0.0	890
+-891	0.0195560455322266	0.0199999999999818	0.0199999999999818	0.0	891
+-892	0.0194118022918701	0.0200000000000102	0.0200000000000102	0.0	892
+-893	0.0158801078796387	0.0200000000000102	0.0200000000000102	0.0	893
+-894	0.0406708717346191	0.039999999999992	0.039999999999992	0.0	894
+-895	0.0159239768981934	0.00999999999999091	0.00999999999999091	0.0	895
+-896	0.0185558795928955	0.0200000000000102	0.0200000000000102	0.0	896
+-897	0.0165250301361084	0.0200000000000102	0.0200000000000102	0.0	897
+-898	0.0156872272491455	0.00999999999999091	0.00999999999999091	0.0	898
+-899	0.0156629085540771	0.0200000000000102	0.0200000000000102	0.0	899
+-900	0.0411269664764404	0.039999999999992	0.039999999999992	0.0	900
+-901	0.0161049365997314	0.0200000000000102	0.0200000000000102	0.0	901
+-902	0.0159130096435547	0.00999999999999091	0.00999999999999091	0.0	902
+-903	0.0158100128173828	0.0199999999999818	0.0199999999999818	0.0	903
+-904	0.0157549381256104	0.0200000000000102	0.0200000000000102	0.0	904
+-905	0.0155808925628662	0.00999999999999091	0.00999999999999091	0.0	905
+-906	0.0157089233398438	0.0200000000000102	0.0200000000000102	0.0	906
+-907	0.040733814239502	0.039999999999992	0.039999999999992	0.0	907
+-908	0.0157508850097656	0.0100000000000193	0.0100000000000193	0.0	908
+-909	0.0190198421478271	0.0199999999999818	0.0199999999999818	0.0	909
+-910	0.0157220363616943	0.0200000000000102	0.0200000000000102	0.0	910
+-911	0.0156431198120117	0.00999999999999091	0.00999999999999091	0.0	911
+-912	0.0163240432739258	0.0200000000000102	0.0200000000000102	0.0	912
+-913	0.0405840873718262	0.039999999999992	0.039999999999992	0.0	913
+-914	0.0158839225769043	0.0200000000000102	0.0200000000000102	0.0	914
+-915	0.0158710479736328	0.00999999999999091	0.00999999999999091	0.0	915
+-916	0.0157589912414551	0.0200000000000102	0.0200000000000102	0.0	916
+-917	0.0157959461212158	0.00999999999999091	0.00999999999999091	0.0	917
+-918	0.0156550407409668	0.0200000000000102	0.0200000000000102	0.0	918
+-919	0.0157132148742676	0.0199999999999818	0.0199999999999818	0.0	919
+-920	0.0412201881408691	0.0400000000000205	0.0400000000000205	0.0	920
+-921	0.0189180374145508	0.0199999999999818	0.0199999999999818	0.0	921
+-922	0.0160009860992432	0.0100000000000193	0.0100000000000193	0.0	922
+-923	0.0156481266021729	0.0199999999999818	0.0199999999999818	0.0	923
+-924	0.0155301094055176	0.0100000000000193	0.0100000000000193	0.0	924
+-925	0.015531063079834	0.0199999999999818	0.0199999999999818	0.0	925
+-926	0.0156428813934326	0.0200000000000102	0.0200000000000102	0.0	926
+-927	0.0410211086273193	0.039999999999992	0.039999999999992	0.0	927
+-928	0.0159690380096436	0.00999999999999091	0.00999999999999091	0.0	928
+-929	0.0158920288085938	0.0200000000000102	0.0200000000000102	0.0	929
+-930	0.0157539844512939	0.00999999999999091	0.00999999999999091	0.0	930
+-931	0.0157601833343506	0.0200000000000102	0.0200000000000102	0.0	931
+-932	0.0157170295715332	0.0200000000000102	0.0200000000000102	0.0	932
+-933	0.041064977645874	0.039999999999992	0.039999999999992	0.0	933
+-934	0.0186421871185303	0.0200000000000102	0.0200000000000102	0.0	934
+-935	0.0160388946533203	0.00999999999999091	0.00999999999999091	0.0	935
+-936	0.0158660411834717	0.0200000000000102	0.0200000000000102	0.0	936
+-937	0.0163609981536865	0.00999999999999091	0.00999999999999091	0.0	937
+-938	0.0156807899475098	0.0200000000000102	0.0200000000000102	0.0	938
+-939	0.0157260894775391	0.0199999999999818	0.0199999999999818	0.0	939
+-940	0.0416240692138672	0.039999999999992	0.039999999999992	0.0	940
+-941	0.0218920707702637	0.0200000000000102	0.0200000000000102	0.0	941
+-942	0.015984058380127	0.0200000000000102	0.0200000000000102	0.0	942
+-943	0.0157361030578613	0.00999999999999091	0.00999999999999091	0.0	943
+-944	0.015678882598877	0.0200000000000102	0.0200000000000102	0.0	944
+-945	0.0157279968261719	0.00999999999999091	0.00999999999999091	0.0	945
+-946	0.0436809062957764	0.0500000000000114	0.0500000000000114	0.0	946
+-947	0.016185998916626	0.00999999999999091	0.00999999999999091	0.0	947
+-948	0.0159549713134766	0.0200000000000102	0.0200000000000102	0.0	948
+-949	0.015841007232666	0.00999999999999091	0.00999999999999091	0.0	949
+-950	0.0157299041748047	0.0200000000000102	0.0200000000000102	0.0	950
+-951	0.0167520046234131	0.0199999999999818	0.0199999999999818	0.0	951
+-952	0.0157999992370605	0.0100000000000193	0.0100000000000193	0.0	952
+-953	0.0407941341400146	0.039999999999992	0.039999999999992	0.0	953
+-954	0.0159251689910889	0.0199999999999818	0.0199999999999818	0.0	954
+-955	0.0158488750457764	0.0100000000000193	0.0100000000000193	0.0	955
+-956	0.0157351493835449	0.0199999999999818	0.0199999999999818	0.0	956
+-957	0.0157461166381836	0.0100000000000193	0.0100000000000193	0.0	957
+-958	0.0157830715179443	0.00999999999999091	0.00999999999999091	0.0	958
+-959	0.0440328121185303	0.0400000000000205	0.0400000000000205	0.0	959
+-960	0.0163891315460205	0.0199999999999818	0.0199999999999818	0.0	960
+-961	0.0172231197357178	0.0200000000000102	0.0200000000000102	0.0	961
+-962	0.0159628391265869	0.00999999999999091	0.00999999999999091	0.0	962
+-963	0.0158162117004395	0.0200000000000102	0.0200000000000102	0.0	963
+-964	0.0156660079956055	0.0200000000000102	0.0200000000000102	0.0	964
+-965	0.0156989097595215	0.00999999999999091	0.00999999999999091	0.0	965
+-966	0.0409789085388184	0.039999999999992	0.039999999999992	0.0	966
+-967	0.0159859657287598	0.0200000000000102	0.0200000000000102	0.0	967
+-968	0.0158331394195557	0.00999999999999091	0.00999999999999091	0.0	968
+-969	0.0157871246337891	0.0200000000000102	0.0200000000000102	0.0	969
+-970	0.0163278579711914	0.0199999999999818	0.0199999999999818	0.0	970
+-971	0.0156929492950439	0.0100000000000193	0.0100000000000193	0.0	971
+-972	0.0429351329803467	0.039999999999992	0.039999999999992	0.0	972
+-973	0.0161349773406982	0.0100000000000193	0.0100000000000193	0.0	973
+-974	0.0159289836883545	0.0199999999999818	0.0199999999999818	0.0	974
+-975	0.0159060955047607	0.0100000000000193	0.0100000000000193	0.0	975
+-976	0.0160870552062988	0.0199999999999818	0.0199999999999818	0.0	976
+-977	0.0157091617584229	0.0100000000000193	0.0100000000000193	0.0	977
+-978	0.0156669616699219	0.00999999999999091	0.00999999999999091	0.0	978
+-979	0.0407209396362305	0.039999999999992	0.039999999999992	0.0	979
+-980	0.0159940719604492	0.0200000000000102	0.0200000000000102	0.0	980
+-981	0.0158989429473877	0.00999999999999091	0.00999999999999091	0.0	981
+-982	0.0158960819244385	0.0200000000000102	0.0200000000000102	0.0	982
+-983	0.0157449245452881	0.0200000000000102	0.0200000000000102	0.0	983
+-984	0.0183939933776855	0.00999999999999091	0.00999999999999091	0.0	984
+-985	0.0408549308776855	0.039999999999992	0.039999999999992	0.0	985
+-986	0.016895055770874	0.0200000000000102	0.0200000000000102	0.0	986
+-987	0.0159039497375488	0.0200000000000102	0.0200000000000102	0.0	987
+-988	0.0158200263977051	0.00999999999999091	0.00999999999999091	0.0	988
+-989	0.0157120227813721	0.0200000000000102	0.0200000000000102	0.0	989
+-990	0.0156378746032715	0.00999999999999091	0.00999999999999091	0.0	990
+-991	0.0228080749511719	0.0300000000000011	0.0300000000000011	0.0	991
+-992	0.0409870147705078	0.039999999999992	0.039999999999992	0.0	992
+-993	0.0157871246337891	0.00999999999999091	0.00999999999999091	0.0	993
+-994	0.0158090591430664	0.0200000000000102	0.0200000000000102	0.0	994
+-995	0.0157351493835449	0.0200000000000102	0.0200000000000102	0.0	995
+-996	0.0185980796813965	0.00999999999999091	0.00999999999999091	0.0	996
+-997	0.0160398483276367	0.0100000000000193	0.0100000000000193	0.0	997
+-998	0.0404281616210938	0.039999999999992	0.039999999999992	0.0	998
+-999	0.0159862041473389	0.0200000000000102	0.0200000000000102	0.0	999
+-1000	0.0166270732879639	0.00999999999999091	0.00999999999999091	0.0	1000
+diff --git a/lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_pretty-autocorrelation.dat b/lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_pretty-autocorrelation.dat
+deleted file mode 100644
+index 465df20..0000000
+--- a/lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_pretty-autocorrelation.dat
++++ /dev/null
+@@ -1,1000 +0,0 @@
+-#lag	autocorrelation
+-1	1.0
+-2	-0.157087197207005
+-3	-0.179374358706398
+-4	-0.172816500237501
+-5	-0.172100634304929
+-6	-0.18168246758723
+-7	0.131584075287582
+-8	0.679752237368679
+-9	-0.163860297278845
+-10	-0.170882707294366
+-11	-0.166375603226363
+-12	-0.174254444639597
+-13	-0.173888868337232
+-14	0.433940412821542
+-15	0.373069309028039
+-16	-0.171649802572127
+-17	-0.169200630892492
+-18	-0.166138159457362
+-19	-0.1739364332791
+-20	-0.127425006116119
+-21	0.638263694934923
+-22	0.12818251876092
+-23	-0.175688598458062
+-24	-0.170582005696374
+-25	-0.165295475640757
+-26	-0.177492415685482
+-27	0.0465831397893705
+-28	0.599451138773896
+-29	-0.00135765066794861
+-30	-0.177033357980592
+-31	-0.16635596602023
+-32	-0.166602977483835
+-33	-0.178673562542768
+-34	0.266392442433904
+-35	0.432387768599705
+-36	-0.0637700252002599
+-37	-0.158118264958072
+-38	-0.154561138423435
+-39	-0.168429948675986
+-40	-0.0994325786160257
+-41	0.367997918823535
+-42	0.290384046265292
+-43	-0.11116281208171
+-44	-0.175373024280893
+-45	-0.160272110090895
+-46	-0.164805593524448
+-47	0.0550278238782237
+-48	0.351023276202299
+-49	0.189193346917991
+-50	-0.138321616409331
+-51	-0.174504050225761
+-52	-0.161113173550488
+-53	-0.152964238493074
+-54	0.191038921821061
+-55	0.288997249517505
+-56	0.112554121399719
+-57	-0.149706886466374
+-58	-0.170685450581499
+-59	-0.160759706621769
+-60	-0.0696049681599959
+-61	0.233811635314305
+-62	0.22571473291272
+-63	0.0469231721057327
+-64	-0.157850957680934
+-65	-0.16305911351091
+-66	-0.156231122634058
+-67	0.0491468744009525
+-68	0.211267819802324
+-69	0.187107177066929
+-70	-0.0139870239184726
+-71	-0.170483645145253
+-72	-0.155686290284564
+-73	-0.103000811390189
+-74	0.138570030181668
+-75	0.173843340323656
+-76	0.143423232074103
+-77	-0.0485241530965123
+-78	-0.17395256767516
+-79	-0.152395667614926
+-80	-0.0364997518056447
+-81	0.131378028895852
+-82	0.157204475464315
+-83	0.107865380703487
+-84	-0.0772032951733248
+-85	-0.168140171271818
+-86	-0.144858575319744
+-87	0.0510940822285813
+-88	0.124231830951662
+-89	0.116480579259527
+-90	0.0733005231661278
+-91	-0.103673077903456
+-92	-0.163789078187485
+-93	-0.0843697533408863
+-94	0.0927359518979788
+-95	0.0900559027837676
+-96	0.104664222340361
+-97	0.0382789156324802
+-98	-0.128374408331222
+-99	-0.15642261126302
+-100	-0.00667308165088894
+-101	0.0851277709144437
+-102	0.0836018530451663
+-103	0.0884188000954497
+-104	0.00709279611310642
+-105	-0.144660181300486
+-106	-0.138143070220052
+-107	0.0562816525685598
+-108	0.0595077406929604
+-109	0.0867173037785974
+-110	0.0826832811453164
+-111	-0.0160964251569884
+-112	-0.155747087099804
+-113	-0.0673832956811193
+-114	0.0555412723389198
+-115	0.0535188804439087
+-116	0.0598230946420233
+-117	0.0535276678974355
+-118	-0.0458652924354906
+-119	-0.153114302912901
+-120	0.00982696548054891
+-121	0.046672474075762
+-122	0.0376959986943637
+-123	0.0573772097995026
+-124	0.0291609863119664
+-125	-0.0720491385088587
+-126	-0.119574247127328
+-127	0.0398229760968292
+-128	0.0368708833970769
+-129	0.0378810523621832
+-130	0.0440552599869543
+-131	0.0168785446700554
+-132	-0.100876176445281
+-133	-0.0522667691021854
+-134	0.036471105657028
+-135	0.0215593152266718
+-136	0.0332088835541183
+-137	0.0406116641053865
+-138	-0.000575792803151212
+-139	-0.110182879489659
+-140	0.0119148280486452
+-141	0.0103606549224577
+-142	0.0174203821210768
+-143	0.0264660206850527
+-144	0.0279556175958258
+-145	-0.0101677743859891
+-146	-0.0714378616054869
+-147	0.0268904165103586
+-148	0.0197546838971675
+-149	0.0020125342918206
+-150	0.0208048892753844
+-151	0.0177433252225432
+-152	-0.0412629401386729
+-153	-0.0331295172833144
+-154	0.0185158552578208
+-155	0.0109488606569471
+-156	0.00829546562841099
+-157	0.0193950108790453
+-158	0.00363009909349868
+-159	-0.0424508741873948
+-160	0.00483444603011959
+-161	0.00251257763944739
+-162	-0.0027291007330315
+-163	0.00583978101322954
+-164	0.0119526210929789
+-165	0.00202945630944433
+-166	-0.0133120914217794
+-167	-0.0012297645717332
+-168	0.00270288118433543
+-169	-0.00541306317192281
+-170	0.00344801669308451
+-171	-7.06221686644991e-05
+-172	-0.0128411948649165
+-173	0.0258140753965777
+-174	-0.00838152285590955
+-175	0.00457554209144489
+-176	-0.0212504244136124
+-177	0.00405744330785776
+-178	0.00109889713027893
+-179	-0.00653340121943499
+-180	0.0251074943438506
+-181	0.00390303260107667
+-182	-0.00701005779107689
+-183	-0.0065141088117886
+-184	-0.00279230972823837
+-185	-0.00416383972424965
+-186	0.0262707341683331
+-187	0.00819057184579269
+-188	-0.00340288166837825
+-189	-0.0143930625406389
+-190	-0.0253314001312743
+-191	-0.00185836549539233
+-192	0.00104764466063349
+-193	0.0539677516048275
+-194	-0.0100541189143094
+-195	-0.00921746463253617
+-196	-0.0149462313841975
+-197	-0.0188238663657463
+-198	-0.0175064441267539
+-199	0.020760922122737
+-200	0.0554307275152524
+-201	-0.0148112905353319
+-202	-0.0127466158713358
+-203	-0.0243021923478065
+-204	-0.0209159713475539
+-205	-0.0114124320328544
+-206	0.0397229436097326
+-207	0.0456075315085741
+-208	-0.0215007018820454
+-209	-0.0144624346486559
+-210	-0.0322330130568126
+-211	-0.00825272885493334
+-212	-0.0149224222346792
+-213	0.0682032593962929
+-214	0.0121011513942831
+-215	-0.0169882789240117
+-216	-0.0149704075424761
+-217	-0.0387466974669077
+-218	-0.00399663244288092
+-219	0.017199112436661
+-220	0.0760951670626158
+-221	0.000771488467078772
+-222	-0.0299297731350407
+-223	-0.00961973831748005
+-224	-0.0472117112712389
+-225	-0.0172398450528946
+-226	0.0399982487996819
+-227	0.0668906972411487
+-228	-0.0195152172068293
+-229	-0.0118748121155119
+-230	-0.0328125031882784
+-231	-0.0308080129381723
+-232	-0.0122390206650683
+-233	0.0689451191829333
+-234	0.029994234380722
+-235	-0.0160522469025481
+-236	-0.0138652708623251
+-237	-0.0507286056559315
+-238	-0.0108444844897431
+-239	-0.000749122945858211
+-240	0.0707991870940562
+-241	0.0267001298657314
+-242	-0.0303467049269583
+-243	-0.0132703522046187
+-244	-0.0519324123908225
+-245	-0.020827887860283
+-246	0.035011894574258
+-247	0.071041404155295
+-248	0.00264333590518284
+-249	-0.0324109538103439
+-250	-0.0173917664974712
+-251	-0.0488496793294092
+-252	-0.0141041170429656
+-253	0.0508320887854303
+-254	0.0750173132102245
+-255	-0.0141435331710239
+-256	-0.0149919228080718
+-257	-0.0363809443035875
+-258	-0.044180318575384
+-259	0.0137303280992071
+-260	0.0453890157170559
+-261	0.0499450703384104
+-262	-0.0214405609870375
+-263	-0.0171265875233509
+-264	-0.0483467081512779
+-265	-0.0238039375745267
+-266	0.0297704275693148
+-267	0.0477795017107822
+-268	0.0306806785398672
+-269	-0.0241732516868213
+-270	-0.0232177034439842
+-271	-0.0561919945895127
+-272	-0.0121383708530614
+-273	0.0383380316167486
+-274	0.0692068597048456
+-275	-0.0037308740073283
+-276	-0.0238823990824962
+-277	-0.0233175869444128
+-278	-0.0466628437090312
+-279	0.00124369697752989
+-280	0.033635887914297
+-281	0.0595585462605596
+-282	-0.00471883892563787
+-283	-0.022010928895564
+-284	-0.0396393069529268
+-285	-0.047610976414541
+-286	0.0330006232948636
+-287	0.0280762592215935
+-288	0.0546372734557523
+-289	-0.0127989574716365
+-290	-0.0191221337324256
+-291	-0.0441318227203198
+-292	-0.0234180780296535
+-293	0.0323850514195515
+-294	0.0485470915014664
+-295	0.0233514564784711
+-296	-0.014986868171212
+-297	-0.0303748609767652
+-298	-0.0492165541971281
+-299	-0.000385604501460381
+-300	0.0269531666988284
+-301	0.0565609923395246
+-302	0.00593180901393307
+-303	-0.0139487837507826
+-304	-0.0382587858091347
+-305	-0.0491851369445174
+-306	0.0160807177510981
+-307	0.0361087651605283
+-308	0.0389978157300904
+-309	0.00502802264445259
+-310	-0.0214508646037847
+-311	-0.0382274859105765
+-312	-0.0406626513624875
+-313	0.0280699039368022
+-314	0.0389617980418346
+-315	0.0271371634582089
+-316	0.00383396360577986
+-317	-0.0368406522772554
+-318	-0.0386138394670918
+-319	-0.0144256141856596
+-320	0.0269236337036347
+-321	0.0378611438537414
+-322	0.0209886410948846
+-323	-0.000452113297036075
+-324	-0.0449001716863398
+-325	-0.0362164044779451
+-326	-0.00595679435360415
+-327	0.0506843309155259
+-328	0.0326573572134026
+-329	0.0107949518760053
+-330	-0.00524263889747431
+-331	-0.045061910257765
+-332	-0.0336081125622954
+-333	0.0142902742395516
+-334	0.0327621408145429
+-335	0.0232224714127171
+-336	0.0111851134672308
+-337	-0.0168616046652318
+-338	-0.0421660588992697
+-339	-0.0304729350756775
+-340	0.0315110873281277
+-341	0.0393883283265487
+-342	0.00688623370858959
+-343	0.0155748729948725
+-344	-0.0396114220680361
+-345	-0.036903793556725
+-346	-0.0106964102495091
+-347	0.0321472442987069
+-348	0.0291161569873515
+-349	0.0127286036167739
+-350	0.0131191581487462
+-351	-0.0510684340547118
+-352	-0.037342914226626
+-353	0.00800616948303765
+-354	0.0353286314592821
+-355	0.0224843093277485
+-356	0.00483640438097458
+-357	0.00270936967225743
+-358	-0.050958398888098
+-359	-0.03181357197987
+-360	0.0263165400282428
+-361	0.0337466198913848
+-362	0.0138214636037434
+-363	0.0161643781357266
+-364	-0.0166975714811741
+-365	-0.0379548808112395
+-366	-0.0107191330666086
+-367	0.0151768728627536
+-368	0.0330707869037677
+-369	0.00862332944835417
+-370	0.0126881690782585
+-371	-0.035143571537685
+-372	-0.0379591383040581
+-373	0.0034903385393575
+-374	0.0262443107228041
+-375	0.0239169076988401
+-376	0.0117645257098411
+-377	0.00667620811923268
+-378	-0.0487466537790665
+-379	-0.0248323076320059
+-380	0.00853369884513661
+-381	0.0254571493249656
+-382	0.0158332997765884
+-383	0.0152150967683835
+-384	-0.00560022391839541
+-385	-0.0468960628871472
+-386	-0.0122137430122784
+-387	0.0195354222281915
+-388	0.0205785620197055
+-389	0.00640951181213936
+-390	0.0192254336021024
+-391	-0.0213684050918215
+-392	-0.0390677938838948
+-393	-0.00851270390379209
+-394	0.0198814929031009
+-395	0.0221284736508306
+-396	0.0144170779179485
+-397	0.00761346746337475
+-398	-0.0341642702201187
+-399	-0.0182072192904153
+-400	-0.000917427430821407
+-401	0.0240923988301287
+-402	0.0149702208233445
+-403	0.0254338021686953
+-404	-0.0114315718167618
+-405	-0.0367784109383449
+-406	-0.0203107293220967
+-407	0.0207711450646343
+-408	0.00769317821995912
+-409	0.0155113277213562
+-410	0.0188010420230405
+-411	-0.00588271186449876
+-412	-0.0453215571077292
+-413	-0.0023477078738424
+-414	0.0045635114773767
+-415	0.0193832767222524
+-416	0.0126157524584856
+-417	0.0125919924992071
+-418	-0.022128831828596
+-419	-0.0316624813090816
+-420	0.00848651912597777
+-421	0.00365846968970242
+-422	0.0167934861719605
+-423	0.0258369213405359
+-424	-0.0110386479254365
+-425	-0.0221266194130739
+-426	-0.0342359305340173
+-427	0.0198173965590731
+-428	0.0113340288154053
+-429	0.0117321942610559
+-430	0.0199069545235314
+-431	-0.00972019619126481
+-432	-0.0334368587948193
+-433	-0.00818672582858474
+-434	0.00847403279906724
+-435	0.0151410616338098
+-436	0.0210571960796968
+-437	0.0106767873737501
+-438	-0.013923260538601
+-439	-0.0295951598444345
+-440	-0.00213381404969862
+-441	0.00202904020725609
+-442	0.0229482306295094
+-443	0.0184877779142267
+-444	-0.00967213617656215
+-445	-0.00921421284518073
+-446	-0.0235983767065866
+-447	-0.00275565709687977
+-448	0.00850528936282641
+-449	0.021653187958436
+-450	0.0175868623090648
+-451	-0.0158567287280081
+-452	-0.0197244183098808
+-453	-0.0181122740176874
+-454	0.0114885559203587
+-455	0.00821969307220109
+-456	0.0172333504264287
+-457	0.0166219780995992
+-458	-0.0218887409079099
+-459	-0.0166096810167506
+-460	-0.0175255182955902
+-461	0.0155549717347949
+-462	0.0109524688624427
+-463	0.0108083192821273
+-464	0.0109544410525194
+-465	-0.012075150479233
+-466	-0.0316229939529222
+-467	-0.00616925120907086
+-468	0.0132996349281117
+-469	0.0194985827103642
+-470	0.0118786255995167
+-471	-0.00394060339988717
+-472	-0.0074504553199804
+-473	-0.0216171208389261
+-474	0.00601096062326295
+-475	0.00225300714016349
+-476	0.0328870249803732
+-477	-0.00143854393918084
+-478	-0.0125765646700796
+-479	-0.00518610856295871
+-480	-0.0286671364514193
+-481	0.0114893086586308
+-482	0.0101767599569462
+-483	0.0215358355330199
+-484	0.0100013983093797
+-485	-0.0189420875106819
+-486	-0.0170156842542937
+-487	-0.0181219245592761
+-488	0.0134350210494302
+-489	0.0157200832610872
+-490	0.00820671869127948
+-491	0.00609605427848417
+-492	-0.00964792789764855
+-493	-0.0280629491471991
+-494	-0.00119096663786943
+-495	0.0059816978766158
+-496	0.0319195128927636
+-497	-0.00616844922211785
+-498	-0.00300183927697173
+-499	-0.00255830020653143
+-500	-0.0326795727885289
+-501	0.00737460740372866
+-502	0.0101738406924715
+-503	0.0166480802410528
+-504	0.0101781028011199
+-505	-0.0148697505539931
+-506	-0.00932908806811421
+-507	-0.0228291650465262
+-508	0.016317603272819
+-509	0.0251213315783841
+-510	0.00429219423365217
+-511	0.00509519846591672
+-512	-0.0118288041004493
+-513	-0.0182276341829169
+-514	-0.0136524793951616
+-515	0.0125652837072878
+-516	0.0237831170063298
+-517	0.000525824158270796
+-518	0.000861207866418543
+-519	-0.000309524320918211
+-520	-0.0319611866775823
+-521	0.00377002226899237
+-522	0.00366677706502651
+-523	0.0238709877277231
+-524	-0.00194721509431841
+-525	-0.00532831903040821
+-526	-0.0035954903575234
+-527	-0.0265125935766282
+-528	0.00819935557807736
+-529	0.0187116031801041
+-530	0.00335323640794092
+-531	0.0093979106751416
+-532	-0.00717619909651022
+-533	-0.0222889570534225
+-534	-0.0159873555724934
+-535	0.0155232558898349
+-536	0.0188575547550394
+-537	0.00257632001432395
+-538	0.0109600141670179
+-539	-0.0136168353942696
+-540	-0.0286265327239912
+-541	-0.00493532024944744
+-542	0.0131483720919412
+-543	0.0207593713409036
+-544	0.00752548764010655
+-545	0.0101794683902496
+-546	-0.00944756530014968
+-547	-0.0361193792524987
+-548	0.00900784799603882
+-549	0.00814620931366632
+-550	0.0118963349468229
+-551	0.00869181440821501
+-552	0.00553664631914035
+-553	-0.0235896662674149
+-554	-0.0213031930671748
+-555	0.0144191547013866
+-556	0.00985740627307818
+-557	0.0146461357237841
+-558	-0.00329509825327045
+-559	0.00861808586430692
+-560	-0.0382908781734418
+-561	-0.00810416928099721
+-562	0.0152325822988648
+-563	0.0108896546286742
+-564	0.0197283233093635
+-565	-0.00597279642964848
+-566	0.00549346286324277
+-567	-0.0441402987586487
+-568	0.00442694223265451
+-569	0.00895528979634627
+-570	0.00314478664849838
+-571	0.0275939863464633
+-572	-0.000211275077900297
+-573	-0.0157780481890476
+-574	-0.0348847108726074
+-575	0.0178433894654182
+-576	0.00358880348184893
+-577	0.00325401416563326
+-578	0.0168304732698679
+-579	0.00759458115231633
+-580	-0.0249153562132231
+-581	-0.0148180695954744
+-582	0.0108144203245513
+-583	0.0147457973792171
+-584	0.00442055500088463
+-585	0.0113147505801929
+-586	0.00208502530934012
+-587	-0.0369024921021571
+-588	-0.00738632772951817
+-589	0.00992698216785421
+-590	0.00762460161308267
+-591	0.0264602045744605
+-592	0.00179884430710083
+-593	-0.0065858667702633
+-594	-0.0400946265552496
+-595	0.00586629198250832
+-596	0.00638016879591378
+-597	-0.00334997345122169
+-598	0.0378696957160481
+-599	-0.00291662872883922
+-600	-0.0150181756899771
+-601	-0.0308267314085245
+-602	0.00545487745877096
+-603	0.0145056871276495
+-604	-0.00111862002362357
+-605	0.0274345659047568
+-606	-0.00545886365985009
+-607	-0.02134718500889
+-608	-0.0168792261598091
+-609	0.00235047714564286
+-610	0.0115358557818356
+-611	0.00892944549777402
+-612	0.0175837325671957
+-613	-0.00241533013968592
+-614	-0.0397066859486968
+-615	-0.000775410212127817
+-616	0.010404414311518
+-617	0.00622818135682105
+-618	0.0256159561966313
+-619	0.0100572818761881
+-620	-0.00997184439752021
+-621	-0.0370357127908402
+-622	-0.009493683122773
+-623	0.019991811173322
+-624	0.00616915844764652
+-625	0.0226334480172136
+-626	-0.00170152998435823
+-627	-0.00527269037631295
+-628	-0.0310245966733844
+-629	-0.00334664758487885
+-630	0.0108099133488301
+-631	0.0162472542900972
+-632	0.0107638392138735
+-633	-9.28636881484359e-05
+-634	-0.0251735775995027
+-635	-0.0175915903660944
+-636	0.0064154965729608
+-637	0.00918775959735482
+-638	0.025607471670139
+-639	0.00415316421623987
+-640	-0.00555481869685676
+-641	-0.0243730502242372
+-642	-0.0236765581404991
+-643	0.0132551374194837
+-644	0.0159204978713982
+-645	0.0182545204715289
+-646	-0.00177344669143713
+-647	-0.00410362457456551
+-648	-0.0217821833150809
+-649	-0.0187567646143839
+-650	0.0108473001511633
+-651	0.024234409213132
+-652	0.0103373343092404
+-653	0.0053494854974728
+-654	-0.0116971189957597
+-655	-0.025622749432742
+-656	-0.00703489184924496
+-657	0.0127306317732122
+-658	0.0264660231555335
+-659	0.00441275817266093
+-660	-0.000498144331723384
+-661	-0.0170193444138239
+-662	-0.035755915518656
+-663	0.0153452894744309
+-664	0.0184392623502257
+-665	0.0179210598556496
+-666	0.00323237671435628
+-667	-0.0143732162504404
+-668	-0.0059072260888979
+-669	-0.0424395347705013
+-670	0.0182802454123028
+-671	0.028027312899014
+-672	0.0105955795585643
+-673	0.00873541917286547
+-674	-0.0180699323851307
+-675	-0.0157035416270782
+-676	-0.0243544633968205
+-677	0.0122599065615016
+-678	0.0293159679608981
+-679	-0.0023542771968947
+-680	0.0173160434772516
+-681	-0.0192740489190438
+-682	-0.0267558924656808
+-683	-0.00512931356799544
+-684	0.0160575949541419
+-685	0.0188852073807438
+-686	0.00138912191794047
+-687	-0.00115067732885235
+-688	-0.0058938945939148
+-689	-0.0270293884074899
+-690	0.000894104439656761
+-691	0.0254384890333336
+-692	0.0135759887351247
+-693	0.00706307551413458
+-694	-0.00983098745115802
+-695	-0.0182029532724777
+-696	-0.0188844337318011
+-697	-0.000620495183408782
+-698	0.031569666060583
+-699	0.00247939842897875
+-700	0.0175967326065924
+-701	-0.0140127620939771
+-702	-0.0204023919721389
+-703	-0.0265270099155168
+-704	0.0189279709581055
+-705	0.0230696877886033
+-706	0.00221980643869467
+-707	0.00877474738492577
+-708	-0.0162154001263846
+-709	-0.0131109560281679
+-710	-0.0175675796745332
+-711	0.0223801164921319
+-712	0.00577037578768595
+-713	0.015016209026733
+-714	0.000700464791035295
+-715	-0.0265570398797467
+-716	-0.00328487594267362
+-717	-0.0125180962593854
+-718	0.0282899511684865
+-719	0.00190078369585563
+-720	0.00988422939784888
+-721	-0.00206231662877586
+-722	-0.0260676646786268
+-723	-0.00911966903113347
+-724	-0.00349690376176947
+-725	0.0311131205663657
+-726	0.00982115201693743
+-727	0.00380892869332063
+-728	-0.0110636013291228
+-729	-0.0147589149221332
+-730	-0.0142665446241887
+-731	0.0082820839740987
+-732	0.0115944492459724
+-733	0.0193205726321855
+-734	-0.00599937049345255
+-735	-0.0124413644991841
+-736	-0.00567111710885452
+-737	-0.0172490266022523
+-738	0.0208711936714456
+-739	0.0049112245490164
+-740	0.0119338001717033
+-741	-0.00382254745169823
+-742	-0.0168037126507566
+-743	-0.0106727427496242
+-744	-0.0015896316832005
+-745	0.00986670286392471
+-746	0.0187708614601626
+-747	0.00280713985351326
+-748	-0.0103005824233574
+-749	-0.00698856527705199
+-750	-0.0148829004327279
+-751	0.00737864042801781
+-752	0.00378825958027056
+-753	0.0169762573619787
+-754	0.0022171253424174
+-755	-0.00880275220702398
+-756	-0.0113861610535219
+-757	-0.00866954185078337
+-758	-0.00102625777568937
+-759	0.0153621406801242
+-760	0.0175483371870747
+-761	-0.0117316284519376
+-762	0.00201727719536751
+-763	-0.0135695524051989
+-764	-0.00236628739393315
+-765	-0.00558540481434592
+-766	0.0269770620065138
+-767	0.00572732432254425
+-768	-0.0206632040359575
+-769	0.00669734976955735
+-770	-0.0177594319318436
+-771	0.00610794003109065
+-772	0.000941524893761258
+-773	0.0184249836070844
+-774	0.00603564044659765
+-775	-0.0194800088175
+-776	0.00211956864190904
+-777	-0.010814553078384
+-778	-0.00345880879440837
+-779	0.00784989092108616
+-780	0.0219931715670487
+-781	-0.00850728907326284
+-782	-0.00818020013943201
+-783	-0.000161877820177968
+-784	-0.00713626483576915
+-785	-0.00189547729017052
+-786	0.00606277375629014
+-787	0.0175714822376805
+-788	-0.0163318892122437
+-789	0.00355096379727685
+-790	-0.00561323769976105
+-791	-0.00173115162828963
+-792	0.00285124323851199
+-793	0.00626988628820364
+-794	0.00217746014515121
+-795	-0.00760875508840939
+-796	-0.000158305774946426
+-797	0.000505966683014493
+-798	-0.00693871262526605
+-799	0.00898933345030533
+-800	0.014710588776899
+-801	-0.0127611881730304
+-802	0.00195021147362958
+-803	-0.00619101895130629
+-804	0.0026189336260538
+-805	-0.0119751993107655
+-806	0.00863989985124942
+-807	0.0162582664631878
+-808	-0.00961705217558156
+-809	-0.00291393696249613
+-810	0.00183243185138599
+-811	-0.00460631909363343
+-812	-0.0119632672766042
+-813	0.0208966630422238
+-814	-0.00308347876710094
+-815	-0.000388668719911606
+-816	-0.00886871268574757
+-817	0.0104410151238245
+-818	-0.00971881568327177
+-819	-0.00556079139249464
+-820	0.0192762976108135
+-821	-0.0107849691388102
+-822	0.00749648811680043
+-823	-0.0133743112470617
+-824	0.0148954204098446
+-825	-0.012870734248631
+-826	0.00297854342027238
+-827	0.00400991287076845
+-828	-0.000776475806225986
+-829	0.000157063854584776
+-830	-0.00648190853333762
+-831	0.00841895039070195
+-832	-0.0106394491215173
+-833	0.0131617346674597
+-834	-0.0110557177073731
+-835	0.0104656591658511
+-836	-0.00271631743019652
+-837	0.00120199415841236
+-838	0.003706954798763
+-839	-0.00947603640270401
+-840	0.00137362489293886
+-841	-0.00412100522419038
+-842	0.00440555479849327
+-843	-0.00101257629784826
+-844	0.011630938869848
+-845	-0.00348460872671806
+-846	-0.00490788919767545
+-847	-0.00767305606978742
+-848	0.00641850027996645
+-849	-0.0047270157313243
+-850	0.006561877154592
+-851	0.00346504126665878
+-852	0.000325934762370315
+-853	-0.00691243590442494
+-854	-0.0122397831712401
+-855	0.0155142896041314
+-856	-0.00649940375329406
+-857	0.0115764362511307
+-858	-0.00166218348252304
+-859	0.00329024056556213
+-860	-0.0168163842675434
+-861	-0.0018300046237477
+-862	0.00782622924665259
+-863	0.00184144237820109
+-864	0.00564522536281571
+-865	0.00166897889337862
+-866	0.000762761808421144
+-867	-0.0247108710871775
+-868	0.0102945871423903
+-869	0.00176524231160526
+-870	0.0100435696701272
+-871	-0.000881447853453438
+-872	0.0077251769247763
+-873	-0.00856838315554851
+-874	-0.0147878775532851
+-875	0.0032203221928359
+-876	0.00271820057534821
+-877	0.0150200342356852
+-878	-0.00679910502968767
+-879	0.00803734684491422
+-880	-0.0129685352671973
+-881	-0.00468207467932367
+-882	-0.0040001560959317
+-883	0.0127784032727213
+-884	0.00689584536184243
+-885	-0.00348378029753978
+-886	0.00583835064957876
+-887	-0.018431993579404
+-888	-0.00543151914104362
+-889	0.000930192838208099
+-890	0.0189669669181415
+-891	0.00197455166108111
+-892	0.000291983829886991
+-893	-0.00151890218051029
+-894	-0.018758927675871
+-895	-0.00427007831617855
+-896	0.00873163971817387
+-897	0.0116921446719301
+-898	0.00493448763764004
+-899	0.000812558628478896
+-900	-0.00829685479660704
+-901	-0.016774476024156
+-902	-0.00284574091222063
+-903	0.0166712115089998
+-904	0.00393567866715527
+-905	0.00970634578920477
+-906	-0.0013135499413494
+-907	-0.0151419078767085
+-908	-0.014262642806324
+-909	0.000679710286692927
+-910	0.023632237447571
+-911	-0.000293075867552849
+-912	0.00963897961846078
+-913	-0.00892745437111743
+-914	-0.0141610280914154
+-915	-0.0143929747783252
+-916	0.0126331813801288
+-917	0.0140072140155889
+-918	0.0038464358463258
+-919	0.00872792856356974
+-920	-0.0142893223780218
+-921	-0.0144626608008151
+-922	-0.0106633311842541
+-923	0.0182487172273735
+-924	0.00789811928832441
+-925	0.00674770411457765
+-926	0.00151185223543001
+-927	-0.0131662643971208
+-928	-0.0130299725001482
+-929	-0.000421100875615765
+-930	0.0101012876932665
+-931	0.0109771581904619
+-932	0.00600630873622808
+-933	-0.00610768057521272
+-934	-0.0113069105169847
+-935	-0.0108646539420972
+-936	0.00681782689120027
+-937	0.00453863835411057
+-938	0.0128033807887734
+-939	0.00558460964303299
+-940	-0.0111413786231144
+-941	-0.010741707945974
+-942	-0.0073905294023225
+-943	0.00509539616333849
+-944	0.00789664081858827
+-945	0.0156023411643847
+-946	-0.00196863307695851
+-947	-0.00929990689658537
+-948	-0.0100501558671196
+-949	-0.00713963769082725
+-950	0.00529444925980778
+-951	0.00907288818013118
+-952	0.0159396165239691
+-953	-0.0070169105795629
+-954	-0.00871200515303164
+-955	-0.00623272113762449
+-956	-0.00859043676592199
+-957	0.00750758667776515
+-958	0.0114715494246097
+-959	0.00783845600054901
+-960	-0.00640762499905148
+-961	-0.00791318713998704
+-962	-0.00388200155080539
+-963	-0.00821887932833072
+-964	0.00969710527680486
+-965	0.0132324446252105
+-966	0.000588150241816455
+-967	-0.00459312775024423
+-968	-0.00661504524014442
+-969	-0.00488536336284523
+-970	-0.00665739535025808
+-971	0.0119120087088002
+-972	0.0129080825261635
+-973	-0.00502738233144332
+-974	-0.00424651006131981
+-975	-0.00529584314204073
+-976	-0.00401797749822628
+-977	-0.00398629771407627
+-978	0.0145696891837213
+-979	0.00312400996929776
+-980	-0.0024620797714283
+-981	-0.0029972609662243
+-982	-0.00374070711004024
+-983	-0.00324300553128461
+-984	-0.00266784725010517
+-985	0.0142342444009173
+-986	-0.00291146863667702
+-987	-0.00123170535641386
+-988	-0.00195500360676893
+-989	-0.0018623417265137
+-990	-0.0010940028343966
+-991	-0.00012714389035354
+-992	0.00601935720393536
+-993	-0.00153575128302119
+-994	-0.000790525971546018
+-995	-0.000953092463346404
+-996	-0.000631437937788914
+-997	-5.86631399396442e-05
+-998	0.000839644378016313
+-999	-0.000137648586440022
+diff --git a/lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_pretty.dat b/lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_pretty.dat
+deleted file mode 100644
+index 1290916..0000000
+--- a/lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_pretty.dat
++++ /dev/null
+@@ -1,1001 +0,0 @@
+-#scatter	real	total	user	system	repeat
+-1	0.0308499336242676	0.0300000000000011	0.0300000000000011	0.0	1
+-2	0.027501106262207	0.0299999999999976	0.0299999999999976	0.0	2
+-3	0.0248689651489258	0.0200000000000031	0.0200000000000031	0.0	3
+-4	0.0230190753936768	0.0199999999999996	0.0199999999999996	0.0	4
+-5	0.0231549739837646	0.0299999999999976	0.0299999999999976	0.0	5
+-6	0.0229060649871826	0.0200000000000031	0.0200000000000031	0.0	6
+-7	0.0479171276092529	0.0499999999999972	0.0499999999999972	0.0	7
+-8	0.0237171649932861	0.0199999999999996	0.0199999999999996	0.0	8
+-9	0.0234429836273193	0.0200000000000031	0.0200000000000031	0.0	9
+-10	0.0232129096984863	0.0299999999999976	0.0299999999999976	0.0	10
+-11	0.0243880748748779	0.0199999999999996	0.0199999999999996	0.0	11
+-12	0.0262730121612549	0.0300000000000011	0.0300000000000011	0.0	12
+-13	0.022907018661499	0.0199999999999996	0.0199999999999996	0.0	13
+-14	0.0502560138702393	0.0500000000000007	0.0500000000000007	0.0	14
+-15	0.0239529609680176	0.0199999999999996	0.0199999999999996	0.0	15
+-16	0.0233089923858643	0.0300000000000011	0.0300000000000011	0.0	16
+-17	0.0230889320373535	0.0199999999999996	0.0199999999999996	0.0	17
+-18	0.0229461193084717	0.0199999999999996	0.0199999999999996	0.0	18
+-19	0.0228281021118164	0.0300000000000011	0.0300000000000011	0.0	19
+-20	0.0227499008178711	0.0199999999999996	0.0199999999999996	0.0	20
+-21	0.0519850254058838	0.0500000000000007	0.0500000000000007	0.0	21
+-22	0.0238831043243408	0.0299999999999976	0.0299999999999976	0.0	22
+-23	0.0233030319213867	0.0199999999999996	0.0199999999999996	0.0	23
+-24	0.0230920314788818	0.0200000000000031	0.0200000000000031	0.0	24
+-25	0.0230100154876709	0.0199999999999996	0.0199999999999996	0.0	25
+-26	0.0230438709259033	0.0199999999999996	0.0199999999999996	0.0	26
+-27	0.0233631134033203	0.0199999999999996	0.0199999999999996	0.0	27
+-28	0.0499250888824463	0.0500000000000007	0.0500000000000007	0.0	28
+-29	0.0236561298370361	0.0300000000000011	0.0300000000000011	0.0	29
+-30	0.0273551940917969	0.0199999999999996	0.0199999999999996	0.0	30
+-31	0.0231010913848877	0.0300000000000011	0.0300000000000011	0.0	31
+-32	0.0228641033172607	0.0199999999999996	0.0199999999999996	0.0	32
+-33	0.0227639675140381	0.0199999999999996	0.0199999999999996	0.0	33
+-34	0.0227780342102051	0.0199999999999996	0.0199999999999996	0.0	34
+-35	0.0491790771484375	0.0500000000000007	0.0500000000000007	0.0	35
+-36	0.0235280990600586	0.0300000000000011	0.0300000000000011	0.0	36
+-37	0.0303738117218018	0.0299999999999976	0.0299999999999976	0.0	37
+-38	0.0235600471496582	0.0199999999999996	0.0199999999999996	0.0	38
+-39	0.0272340774536133	0.0300000000000011	0.0300000000000011	0.0	39
+-40	0.0229921340942383	0.0199999999999996	0.0199999999999996	0.0	40
+-41	0.0230140686035156	0.0199999999999996	0.0199999999999996	0.0	41
+-42	0.0487380027770996	0.0500000000000007	0.0500000000000007	0.0	42
+-43	0.0233781337738037	0.0300000000000011	0.0300000000000011	0.0	43
+-44	0.0232539176940918	0.0199999999999996	0.0199999999999996	0.0	44
+-45	0.0231471061706543	0.0199999999999996	0.0199999999999996	0.0	45
+-46	0.0229659080505371	0.0300000000000011	0.0300000000000011	0.0	46
+-47	0.0236260890960693	0.0199999999999996	0.0199999999999996	0.0	47
+-48	0.0249731540679932	0.0299999999999976	0.0299999999999976	0.0	48
+-49	0.0491600036621094	0.0400000000000027	0.0400000000000027	0.0	49
+-50	0.0233979225158691	0.0299999999999976	0.0299999999999976	0.0	50
+-51	0.0233068466186523	0.0200000000000031	0.0200000000000031	0.0	51
+-52	0.0230197906494141	0.0199999999999996	0.0199999999999996	0.0	52
+-53	0.023003101348877	0.0299999999999976	0.0299999999999976	0.0	53
+-54	0.0229551792144775	0.0199999999999996	0.0199999999999996	0.0	54
+-55	0.0227420330047607	0.0200000000000031	0.0200000000000031	0.0	55
+-56	0.0490391254425049	0.0499999999999972	0.0499999999999972	0.0	56
+-57	0.0280921459197998	0.0300000000000011	0.0300000000000011	0.0	57
+-58	0.0237009525299072	0.0199999999999996	0.0199999999999996	0.0	58
+-59	0.0233352184295654	0.0300000000000011	0.0300000000000011	0.0	59
+-60	0.0229549407958984	0.0199999999999996	0.0199999999999996	0.0	60
+-61	0.0229389667510986	0.0199999999999996	0.0199999999999996	0.0	61
+-62	0.022536039352417	0.0300000000000011	0.0300000000000011	0.0	62
+-63	0.0481998920440674	0.0399999999999991	0.0399999999999991	0.0	63
+-64	0.0232841968536377	0.0300000000000011	0.0300000000000011	0.0	64
+-65	0.0232529640197754	0.0199999999999996	0.0199999999999996	0.0	65
+-66	0.026047945022583	0.0299999999999976	0.0299999999999976	0.0	66
+-67	0.0240390300750732	0.0200000000000031	0.0200000000000031	0.0	67
+-68	0.0229721069335938	0.0199999999999996	0.0199999999999996	0.0	68
+-69	0.0479068756103516	0.0500000000000007	0.0500000000000007	0.0	69
+-70	0.023643970489502	0.0199999999999996	0.0199999999999996	0.0	70
+-71	0.0241210460662842	0.0199999999999996	0.0199999999999996	0.0	71
+-72	0.0232229232788086	0.0199999999999996	0.0199999999999996	0.0	72
+-73	0.0230081081390381	0.0300000000000011	0.0300000000000011	0.0	73
+-74	0.0300300121307373	0.0300000000000011	0.0300000000000011	0.0	74
+-75	0.0227279663085938	0.0199999999999996	0.0199999999999996	0.0	75
+-76	0.0513601303100586	0.0500000000000007	0.0500000000000007	0.0	76
+-77	0.0237360000610352	0.0199999999999996	0.0199999999999996	0.0	77
+-78	0.0233068466186523	0.0300000000000011	0.0300000000000011	0.0	78
+-79	0.0231139659881592	0.0199999999999996	0.0199999999999996	0.0	79
+-80	0.0230059623718262	0.0199999999999996	0.0199999999999996	0.0	80
+-81	0.022935152053833	0.0299999999999976	0.0299999999999976	0.0	81
+-82	0.0229039192199707	0.0200000000000031	0.0200000000000031	0.0	82
+-83	0.0487849712371826	0.0499999999999972	0.0499999999999972	0.0	83
+-84	0.0268459320068359	0.0199999999999996	0.0199999999999996	0.0	84
+-85	0.0233829021453857	0.0300000000000011	0.0300000000000011	0.0	85
+-86	0.0231680870056152	0.0199999999999996	0.0199999999999996	0.0	86
+-87	0.0230309963226318	0.0199999999999996	0.0199999999999996	0.0	87
+-88	0.0234689712524414	0.0300000000000011	0.0300000000000011	0.0	88
+-89	0.0231020450592041	0.0199999999999996	0.0199999999999996	0.0	89
+-90	0.0486099720001221	0.0500000000000007	0.0500000000000007	0.0	90
+-91	0.0234777927398682	0.0200000000000031	0.0200000000000031	0.0	91
+-92	0.0232808589935303	0.029999999999994	0.029999999999994	0.0	92
+-93	0.0230159759521484	0.0200000000000031	0.0200000000000031	0.0	93
+-94	0.0258738994598389	0.0300000000000011	0.0300000000000011	0.0	94
+-95	0.0232770442962646	0.019999999999996	0.019999999999996	0.0	95
+-96	0.022737979888916	0.0200000000000031	0.0200000000000031	0.0	96
+-97	0.0484600067138672	0.0499999999999972	0.0499999999999972	0.0	97
+-98	0.023435115814209	0.0200000000000031	0.0200000000000031	0.0	98
+-99	0.0234768390655518	0.0300000000000011	0.0300000000000011	0.0	99
+-100	0.0230209827423096	0.019999999999996	0.019999999999996	0.0	100
+-101	0.0230460166931152	0.0200000000000031	0.0200000000000031	0.0	101
+-102	0.0232481956481934	0.0300000000000011	0.0300000000000011	0.0	102
+-103	0.0264010429382324	0.019999999999996	0.019999999999996	0.0	103
+-104	0.0486769676208496	0.0500000000000043	0.0500000000000043	0.0	104
+-105	0.0233399868011475	0.019999999999996	0.019999999999996	0.0	105
+-106	0.0231819152832031	0.0300000000000011	0.0300000000000011	0.0	106
+-107	0.0230488777160645	0.0200000000000031	0.0200000000000031	0.0	107
+-108	0.0238149166107178	0.019999999999996	0.019999999999996	0.0	108
+-109	0.0230348110198975	0.0300000000000011	0.0300000000000011	0.0	109
+-110	0.0254418849945068	0.0200000000000031	0.0200000000000031	0.0	110
+-111	0.0559201240539551	0.0599999999999952	0.0599999999999952	0.0	111
+-112	0.0237429141998291	0.0200000000000031	0.0200000000000031	0.0	112
+-113	0.0230910778045654	0.0300000000000011	0.0300000000000011	0.0	113
+-114	0.0230679512023926	0.019999999999996	0.019999999999996	0.0	114
+-115	0.022960901260376	0.0200000000000031	0.0200000000000031	0.0	115
+-116	0.0229921340942383	0.019999999999996	0.019999999999996	0.0	116
+-117	0.0226120948791504	0.0300000000000011	0.0300000000000011	0.0	117
+-118	0.0491540431976318	0.0500000000000043	0.0500000000000043	0.0	118
+-119	0.0233540534973145	0.019999999999996	0.019999999999996	0.0	119
+-120	0.023921012878418	0.0200000000000031	0.0200000000000031	0.0	120
+-121	0.02628493309021	0.0300000000000011	0.0300000000000011	0.0	121
+-122	0.0231039524078369	0.019999999999996	0.019999999999996	0.0	122
+-123	0.0229899883270264	0.0300000000000011	0.0300000000000011	0.0	123
+-124	0.0484068393707275	0.0399999999999991	0.0399999999999991	0.0	124
+-125	0.0236389636993408	0.0300000000000011	0.0300000000000011	0.0	125
+-126	0.0232870578765869	0.019999999999996	0.019999999999996	0.0	126
+-127	0.0232260227203369	0.0200000000000031	0.0200000000000031	0.0	127
+-128	0.0229640007019043	0.0300000000000011	0.0300000000000011	0.0	128
+-129	0.02298903465271	0.019999999999996	0.019999999999996	0.0	129
+-130	0.0251820087432861	0.0300000000000011	0.0300000000000011	0.0	130
+-131	0.0493929386138916	0.0399999999999991	0.0399999999999991	0.0	131
+-132	0.0237491130828857	0.019999999999996	0.019999999999996	0.0	132
+-133	0.0233249664306641	0.0200000000000031	0.0200000000000031	0.0	133
+-134	0.0232069492340088	0.0300000000000011	0.0300000000000011	0.0	134
+-135	0.0229921340942383	0.019999999999996	0.019999999999996	0.0	135
+-136	0.0232110023498535	0.0200000000000031	0.0200000000000031	0.0	136
+-137	0.0227601528167725	0.019999999999996	0.019999999999996	0.0	137
+-138	0.0484609603881836	0.0500000000000043	0.0500000000000043	0.0	138
+-139	0.0269899368286133	0.0300000000000011	0.0300000000000011	0.0	139
+-140	0.0233750343322754	0.019999999999996	0.019999999999996	0.0	140
+-141	0.023090124130249	0.0300000000000011	0.0300000000000011	0.0	141
+-142	0.0229980945587158	0.019999999999996	0.019999999999996	0.0	142
+-143	0.0231709480285645	0.0200000000000031	0.0200000000000031	0.0	143
+-144	0.0230460166931152	0.0300000000000011	0.0300000000000011	0.0	144
+-145	0.0494990348815918	0.0499999999999972	0.0499999999999972	0.0	145
+-146	0.0304419994354248	0.0300000000000011	0.0300000000000011	0.0	146
+-147	0.0233581066131592	0.0200000000000031	0.0200000000000031	0.0	147
+-148	0.0262119770050049	0.0300000000000011	0.0300000000000011	0.0	148
+-149	0.0228428840637207	0.019999999999996	0.019999999999996	0.0	149
+-150	0.0228331089019775	0.0200000000000031	0.0200000000000031	0.0	150
+-151	0.0226950645446777	0.019999999999996	0.019999999999996	0.0	151
+-152	0.0486769676208496	0.0500000000000043	0.0500000000000043	0.0	152
+-153	0.0234050750732422	0.029999999999994	0.029999999999994	0.0	153
+-154	0.0234100818634033	0.0200000000000031	0.0200000000000031	0.0	154
+-155	0.023036003112793	0.0200000000000031	0.0200000000000031	0.0	155
+-156	0.0237429141998291	0.029999999999994	0.029999999999994	0.0	156
+-157	0.0230100154876709	0.0200000000000031	0.0200000000000031	0.0	157
+-158	0.0260419845581055	0.0300000000000011	0.0300000000000011	0.0	158
+-159	0.0487880706787109	0.0399999999999991	0.0399999999999991	0.0	159
+-160	0.0236630439758301	0.0200000000000031	0.0200000000000031	0.0	160
+-161	0.0232570171356201	0.019999999999996	0.019999999999996	0.0	161
+-162	0.0230000019073486	0.0300000000000011	0.0300000000000011	0.0	162
+-163	0.0229759216308594	0.0200000000000031	0.0200000000000031	0.0	163
+-164	0.0229389667510986	0.019999999999996	0.019999999999996	0.0	164
+-165	0.0226230621337891	0.0200000000000031	0.0200000000000031	0.0	165
+-166	0.052177906036377	0.0600000000000023	0.0600000000000023	0.0	166
+-167	0.0238969326019287	0.019999999999996	0.019999999999996	0.0	167
+-168	0.0231490135192871	0.0200000000000031	0.0200000000000031	0.0	168
+-169	0.0229499340057373	0.029999999999994	0.029999999999994	0.0	169
+-170	0.0229768753051758	0.0200000000000031	0.0200000000000031	0.0	170
+-171	0.0229849815368652	0.0200000000000031	0.0200000000000031	0.0	171
+-172	0.0481510162353516	0.0499999999999972	0.0499999999999972	0.0	172
+-173	0.0235779285430908	0.0200000000000031	0.0200000000000031	0.0	173
+-174	0.0235681533813477	0.029999999999994	0.029999999999994	0.0	174
+-175	0.0232248306274414	0.0200000000000031	0.0200000000000031	0.0	175
+-176	0.0256550312042236	0.0300000000000011	0.0300000000000011	0.0	176
+-177	0.023108959197998	0.019999999999996	0.019999999999996	0.0	177
+-178	0.0228090286254883	0.0200000000000031	0.0200000000000031	0.0	178
+-179	0.0490450859069824	0.0499999999999972	0.0499999999999972	0.0	179
+-180	0.0244641304016113	0.0300000000000011	0.0300000000000011	0.0	180
+-181	0.0233809947967529	0.0200000000000031	0.0200000000000031	0.0	181
+-182	0.0231349468231201	0.019999999999996	0.019999999999996	0.0	182
+-183	0.0308740139007568	0.0300000000000011	0.0300000000000011	0.0	183
+-184	0.0236179828643799	0.0300000000000011	0.0300000000000011	0.0	184
+-185	0.0272319316864014	0.0200000000000031	0.0200000000000031	0.0	185
+-186	0.0488860607147217	0.0399999999999991	0.0399999999999991	0.0	186
+-187	0.0235450267791748	0.0300000000000011	0.0300000000000011	0.0	187
+-188	0.0232491493225098	0.019999999999996	0.019999999999996	0.0	188
+-189	0.0231590270996094	0.0200000000000031	0.0200000000000031	0.0	189
+-190	0.0231139659881592	0.0300000000000011	0.0300000000000011	0.0	190
+-191	0.0231552124023438	0.019999999999996	0.019999999999996	0.0	191
+-192	0.022982120513916	0.0200000000000031	0.0200000000000031	0.0	192
+-193	0.0529110431671143	0.0600000000000023	0.0600000000000023	0.0	193
+-194	0.0235891342163086	0.019999999999996	0.019999999999996	0.0	194
+-195	0.0234260559082031	0.0200000000000031	0.0200000000000031	0.0	195
+-196	0.0230891704559326	0.029999999999994	0.029999999999994	0.0	196
+-197	0.0230920314788818	0.0200000000000031	0.0200000000000031	0.0	197
+-198	0.0229229927062988	0.0200000000000031	0.0200000000000031	0.0	198
+-199	0.0226840972900391	0.029999999999994	0.029999999999994	0.0	199
+-200	0.048753023147583	0.0400000000000063	0.0400000000000063	0.0	200
+-201	0.0234558582305908	0.029999999999994	0.029999999999994	0.0	201
+-202	0.0232200622558594	0.0200000000000031	0.0200000000000031	0.0	202
+-203	0.0268151760101318	0.0300000000000011	0.0300000000000011	0.0	203
+-204	0.0231211185455322	0.019999999999996	0.019999999999996	0.0	204
+-205	0.0231039524078369	0.0200000000000031	0.0200000000000031	0.0	205
+-206	0.0227501392364502	0.0300000000000011	0.0300000000000011	0.0	206
+-207	0.0488438606262207	0.0499999999999972	0.0499999999999972	0.0	207
+-208	0.023730993270874	0.0200000000000031	0.0200000000000031	0.0	208
+-209	0.0231349468231201	0.019999999999996	0.019999999999996	0.0	209
+-210	0.0231950283050537	0.0300000000000011	0.0300000000000011	0.0	210
+-211	0.0232861042022705	0.0200000000000031	0.0200000000000031	0.0	211
+-212	0.0260870456695557	0.0300000000000011	0.0300000000000011	0.0	212
+-213	0.0480821132659912	0.0399999999999991	0.0399999999999991	0.0	213
+-214	0.0236039161682129	0.029999999999994	0.029999999999994	0.0	214
+-215	0.0233402252197266	0.0200000000000031	0.0200000000000031	0.0	215
+-216	0.0233190059661865	0.0200000000000031	0.0200000000000031	0.0	216
+-217	0.0242919921875	0.029999999999994	0.029999999999994	0.0	217
+-218	0.0228087902069092	0.0200000000000031	0.0200000000000031	0.0	218
+-219	0.0274980068206787	0.0300000000000011	0.0300000000000011	0.0	219
+-220	0.0521900653839111	0.0499999999999972	0.0499999999999972	0.0	220
+-221	0.0259828567504883	0.0300000000000011	0.0300000000000011	0.0	221
+-222	0.0233159065246582	0.0200000000000031	0.0200000000000031	0.0	222
+-223	0.0232350826263428	0.019999999999996	0.019999999999996	0.0	223
+-224	0.023000955581665	0.0300000000000011	0.0300000000000011	0.0	224
+-225	0.0230231285095215	0.0200000000000031	0.0200000000000031	0.0	225
+-226	0.022864818572998	0.019999999999996	0.019999999999996	0.0	226
+-227	0.0486090183258057	0.0500000000000043	0.0500000000000043	0.0	227
+-228	0.0247719287872314	0.029999999999994	0.029999999999994	0.0	228
+-229	0.0233240127563477	0.0200000000000031	0.0200000000000031	0.0	229
+-230	0.0263748168945312	0.0300000000000011	0.0300000000000011	0.0	230
+-231	0.0231301784515381	0.019999999999996	0.019999999999996	0.0	231
+-232	0.0229740142822266	0.0200000000000031	0.0200000000000031	0.0	232
+-233	0.0233769416809082	0.0300000000000011	0.0300000000000011	0.0	233
+-234	0.0495500564575195	0.0499999999999972	0.0499999999999972	0.0	234
+-235	0.0234000682830811	0.0200000000000031	0.0200000000000031	0.0	235
+-236	0.0231790542602539	0.019999999999996	0.019999999999996	0.0	236
+-237	0.0230810642242432	0.0300000000000011	0.0300000000000011	0.0	237
+-238	0.0229249000549316	0.0200000000000031	0.0200000000000031	0.0	238
+-239	0.0257270336151123	0.019999999999996	0.019999999999996	0.0	239
+-240	0.0246570110321045	0.0300000000000011	0.0300000000000011	0.0	240
+-241	0.049109935760498	0.0499999999999972	0.0499999999999972	0.0	241
+-242	0.0233631134033203	0.0200000000000031	0.0200000000000031	0.0	242
+-243	0.0232560634613037	0.0300000000000011	0.0300000000000011	0.0	243
+-244	0.0232639312744141	0.019999999999996	0.019999999999996	0.0	244
+-245	0.0231678485870361	0.0200000000000031	0.0200000000000031	0.0	245
+-246	0.0229339599609375	0.0200000000000031	0.0200000000000031	0.0	246
+-247	0.0234620571136475	0.029999999999994	0.029999999999994	0.0	247
+-248	0.0517890453338623	0.0500000000000043	0.0500000000000043	0.0	248
+-249	0.0233941078186035	0.019999999999996	0.019999999999996	0.0	249
+-250	0.0230710506439209	0.0300000000000011	0.0300000000000011	0.0	250
+-251	0.0229940414428711	0.0200000000000031	0.0200000000000031	0.0	251
+-252	0.0231740474700928	0.019999999999996	0.019999999999996	0.0	252
+-253	0.0238161087036133	0.0300000000000011	0.0300000000000011	0.0	253
+-254	0.0480771064758301	0.0399999999999991	0.0399999999999991	0.0	254
+-255	0.0314779281616211	0.0399999999999991	0.0399999999999991	0.0	255
+-256	0.0233800411224365	0.0200000000000031	0.0200000000000031	0.0	256
+-257	0.0274808406829834	0.0300000000000011	0.0300000000000011	0.0	257
+-258	0.0230331420898438	0.019999999999996	0.019999999999996	0.0	258
+-259	0.0229949951171875	0.0200000000000031	0.0200000000000031	0.0	259
+-260	0.0227811336517334	0.0300000000000011	0.0300000000000011	0.0	260
+-261	0.048346996307373	0.0399999999999991	0.0399999999999991	0.0	261
+-262	0.0237669944763184	0.0300000000000011	0.0300000000000011	0.0	262
+-263	0.0234119892120361	0.019999999999996	0.019999999999996	0.0	263
+-264	0.0230929851531982	0.0300000000000011	0.0300000000000011	0.0	264
+-265	0.0237300395965576	0.0200000000000031	0.0200000000000031	0.0	265
+-266	0.0250859260559082	0.019999999999996	0.019999999999996	0.0	266
+-267	0.0239300727844238	0.0300000000000011	0.0300000000000011	0.0	267
+-268	0.048508882522583	0.0499999999999972	0.0499999999999972	0.0	268
+-269	0.0236718654632568	0.0200000000000031	0.0200000000000031	0.0	269
+-270	0.0233798027038574	0.0200000000000031	0.0200000000000031	0.0	270
+-271	0.0230140686035156	0.029999999999994	0.029999999999994	0.0	271
+-272	0.023123025894165	0.0200000000000031	0.0200000000000031	0.0	272
+-273	0.0230128765106201	0.0200000000000031	0.0200000000000031	0.0	273
+-274	0.0230889320373535	0.029999999999994	0.029999999999994	0.0	274
+-275	0.0541810989379883	0.0500000000000043	0.0500000000000043	0.0	275
+-276	0.0234689712524414	0.019999999999996	0.019999999999996	0.0	276
+-277	0.0232949256896973	0.0300000000000011	0.0300000000000011	0.0	277
+-278	0.0229971408843994	0.0200000000000031	0.0200000000000031	0.0	278
+-279	0.023047924041748	0.019999999999996	0.019999999999996	0.0	279
+-280	0.0229649543762207	0.0300000000000011	0.0300000000000011	0.0	280
+-281	0.0231289863586426	0.0200000000000031	0.0200000000000031	0.0	281
+-282	0.0487880706787109	0.0499999999999972	0.0499999999999972	0.0	282
+-283	0.0234870910644531	0.0200000000000031	0.0200000000000031	0.0	283
+-284	0.0263619422912598	0.0300000000000011	0.0300000000000011	0.0	284
+-285	0.0238580703735352	0.019999999999996	0.019999999999996	0.0	285
+-286	0.0231029987335205	0.0300000000000011	0.0300000000000011	0.0	286
+-287	0.0230438709259033	0.019999999999996	0.019999999999996	0.0	287
+-288	0.0477249622344971	0.0500000000000043	0.0500000000000043	0.0	288
+-289	0.024465799331665	0.019999999999996	0.019999999999996	0.0	289
+-290	0.023345947265625	0.0200000000000031	0.0200000000000031	0.0	290
+-291	0.0297031402587891	0.0300000000000011	0.0300000000000011	0.0	291
+-292	0.0236890316009521	0.0300000000000011	0.0300000000000011	0.0	292
+-293	0.0227231979370117	0.019999999999996	0.019999999999996	0.0	293
+-294	0.0271649360656738	0.0300000000000011	0.0300000000000011	0.0	294
+-295	0.0483009815216064	0.0499999999999972	0.0499999999999972	0.0	295
+-296	0.0236551761627197	0.0200000000000031	0.0200000000000031	0.0	296
+-297	0.0233678817749023	0.0200000000000031	0.0200000000000031	0.0	297
+-298	0.0230870246887207	0.029999999999994	0.029999999999994	0.0	298
+-299	0.0232620239257812	0.0200000000000031	0.0200000000000031	0.0	299
+-300	0.0231177806854248	0.0200000000000031	0.0200000000000031	0.0	300
+-301	0.0231750011444092	0.029999999999994	0.029999999999994	0.0	301
+-302	0.0530638694763184	0.0500000000000043	0.0500000000000043	0.0	302
+-303	0.0237231254577637	0.019999999999996	0.019999999999996	0.0	303
+-304	0.0232911109924316	0.0300000000000011	0.0300000000000011	0.0	304
+-305	0.0233948230743408	0.0200000000000031	0.0200000000000031	0.0	305
+-306	0.0232441425323486	0.019999999999996	0.019999999999996	0.0	306
+-307	0.0230438709259033	0.0300000000000011	0.0300000000000011	0.0	307
+-308	0.0230541229248047	0.0200000000000031	0.0200000000000031	0.0	308
+-309	0.0487320423126221	0.0499999999999972	0.0499999999999972	0.0	309
+-310	0.0232770442962646	0.0200000000000031	0.0200000000000031	0.0	310
+-311	0.0253291130065918	0.0300000000000011	0.0300000000000011	0.0	311
+-312	0.0244429111480713	0.019999999999996	0.019999999999996	0.0	312
+-313	0.0229580402374268	0.0200000000000031	0.0200000000000031	0.0	313
+-314	0.0229830741882324	0.029999999999994	0.029999999999994	0.0	314
+-315	0.022658109664917	0.0200000000000031	0.0200000000000031	0.0	315
+-316	0.0462629795074463	0.0499999999999972	0.0499999999999972	0.0	316
+-317	0.023582935333252	0.0200000000000031	0.0200000000000031	0.0	317
+-318	0.0232110023498535	0.0200000000000031	0.0200000000000031	0.0	318
+-319	0.0232689380645752	0.029999999999994	0.029999999999994	0.0	319
+-320	0.0231220722198486	0.0200000000000031	0.0200000000000031	0.0	320
+-321	0.0256280899047852	0.0300000000000011	0.0300000000000011	0.0	321
+-322	0.0481250286102295	0.0399999999999991	0.0399999999999991	0.0	322
+-323	0.0235259532928467	0.0300000000000011	0.0300000000000011	0.0	323
+-324	0.0235180854797363	0.019999999999996	0.019999999999996	0.0	324
+-325	0.0231471061706543	0.0200000000000031	0.0200000000000031	0.0	325
+-326	0.0238540172576904	0.0300000000000011	0.0300000000000011	0.0	326
+-327	0.02276611328125	0.019999999999996	0.019999999999996	0.0	327
+-328	0.0304388999938965	0.0399999999999991	0.0300000000000011	0.01	328
+-329	0.0523970127105713	0.0500000000000043	0.0500000000000043	0.0	329
+-330	0.023996114730835	0.029999999999994	0.029999999999994	0.0	330
+-331	0.0234379768371582	0.0200000000000031	0.0200000000000031	0.0	331
+-332	0.0230920314788818	0.019999999999996	0.019999999999996	0.0	332
+-333	0.02305006980896	0.0300000000000011	0.0300000000000011	0.0	333
+-334	0.0229852199554443	0.0200000000000031	0.0200000000000031	0.0	334
+-335	0.0228848457336426	0.019999999999996	0.019999999999996	0.0	335
+-336	0.0461750030517578	0.0500000000000043	0.0500000000000043	0.0	336
+-337	0.0242049694061279	0.019999999999996	0.019999999999996	0.0	337
+-338	0.0232689380645752	0.0300000000000011	0.0300000000000011	0.0	338
+-339	0.027277946472168	0.0200000000000031	0.0200000000000031	0.0	339
+-340	0.0230321884155273	0.0300000000000011	0.0300000000000011	0.0	340
+-341	0.0230269432067871	0.019999999999996	0.019999999999996	0.0	341
+-342	0.0231468677520752	0.0200000000000031	0.0200000000000031	0.0	342
+-343	0.0488090515136719	0.0499999999999972	0.0499999999999972	0.0	343
+-344	0.0232529640197754	0.0300000000000011	0.0300000000000011	0.0	344
+-345	0.0230770111083984	0.0200000000000031	0.0200000000000031	0.0	345
+-346	0.0230259895324707	0.019999999999996	0.019999999999996	0.0	346
+-347	0.0230309963226318	0.0200000000000031	0.0200000000000031	0.0	347
+-348	0.026080846786499	0.0300000000000011	0.0300000000000011	0.0	348
+-349	0.023392915725708	0.019999999999996	0.019999999999996	0.0	349
+-350	0.0461099147796631	0.0499999999999972	0.0499999999999972	0.0	350
+-351	0.0233287811279297	0.0200000000000031	0.0200000000000031	0.0	351
+-352	0.023190975189209	0.0300000000000011	0.0300000000000011	0.0	352
+-353	0.0231750011444092	0.019999999999996	0.019999999999996	0.0	353
+-354	0.0230758190155029	0.0200000000000031	0.0200000000000031	0.0	354
+-355	0.0229721069335938	0.0300000000000011	0.0300000000000011	0.0	355
+-356	0.0483551025390625	0.0499999999999972	0.0499999999999972	0.0	356
+-357	0.0269951820373535	0.0200000000000031	0.0200000000000031	0.0	357
+-358	0.0235021114349365	0.0300000000000011	0.0300000000000011	0.0	358
+-359	0.0231399536132812	0.019999999999996	0.019999999999996	0.0	359
+-360	0.0230071544647217	0.0200000000000031	0.0200000000000031	0.0	360
+-361	0.0228490829467773	0.019999999999996	0.019999999999996	0.0	361
+-362	0.0229380130767822	0.0300000000000011	0.0300000000000011	0.0	362
+-363	0.0501840114593506	0.0500000000000043	0.0500000000000043	0.0	363
+-364	0.029426097869873	0.029999999999994	0.029999999999994	0.0	364
+-365	0.023777961730957	0.0200000000000031	0.0200000000000031	0.0	365
+-366	0.0276000499725342	0.0300000000000011	0.0300000000000011	0.0	366
+-367	0.0230789184570312	0.019999999999996	0.019999999999996	0.0	367
+-368	0.0233089923858643	0.0200000000000031	0.0200000000000031	0.0	368
+-369	0.0229260921478271	0.0300000000000011	0.0300000000000011	0.0	369
+-370	0.0456759929656982	0.0399999999999991	0.0399999999999991	0.0	370
+-371	0.0234260559082031	0.0300000000000011	0.0300000000000011	0.0	371
+-372	0.0235531330108643	0.019999999999996	0.019999999999996	0.0	372
+-373	0.0229899883270264	0.0200000000000031	0.0200000000000031	0.0	373
+-374	0.0239078998565674	0.0300000000000011	0.0300000000000011	0.0	374
+-375	0.0229928493499756	0.019999999999996	0.019999999999996	0.0	375
+-376	0.0269260406494141	0.0300000000000011	0.0300000000000011	0.0	376
+-377	0.0490090847015381	0.0499999999999972	0.0499999999999972	0.0	377
+-378	0.0235331058502197	0.0200000000000031	0.0200000000000031	0.0	378
+-379	0.0232670307159424	0.0200000000000031	0.0200000000000031	0.0	379
+-380	0.0229969024658203	0.029999999999994	0.029999999999994	0.0	380
+-381	0.0230321884155273	0.0200000000000031	0.0200000000000031	0.0	381
+-382	0.0229909420013428	0.0200000000000031	0.0200000000000031	0.0	382
+-383	0.022780179977417	0.029999999999994	0.029999999999994	0.0	383
+-384	0.0519418716430664	0.0500000000000043	0.0500000000000043	0.0	384
+-385	0.0233969688415527	0.019999999999996	0.019999999999996	0.0	385
+-386	0.0231471061706543	0.0200000000000031	0.0200000000000031	0.0	386
+-387	0.0230250358581543	0.0300000000000011	0.0300000000000011	0.0	387
+-388	0.0229988098144531	0.019999999999996	0.019999999999996	0.0	388
+-389	0.0229358673095703	0.0200000000000031	0.0200000000000031	0.0	389
+-390	0.0482490062713623	0.0499999999999972	0.0499999999999972	0.0	390
+-391	0.0239629745483398	0.0200000000000031	0.0200000000000031	0.0	391
+-392	0.0235099792480469	0.0300000000000011	0.0300000000000011	0.0	392
+-393	0.0232250690460205	0.019999999999996	0.019999999999996	0.0	393
+-394	0.0269668102264404	0.0300000000000011	0.0300000000000011	0.0	394
+-395	0.0230469703674316	0.0200000000000031	0.0200000000000031	0.0	395
+-396	0.0230209827423096	0.019999999999996	0.019999999999996	0.0	396
+-397	0.0488598346710205	0.0500000000000043	0.0500000000000043	0.0	397
+-398	0.0243711471557617	0.029999999999994	0.029999999999994	0.0	398
+-399	0.023435115814209	0.0200000000000031	0.0200000000000031	0.0	399
+-400	0.0307729244232178	0.0300000000000011	0.0300000000000011	0.0	400
+-401	0.0231430530548096	0.0300000000000011	0.0300000000000011	0.0	401
+-402	0.0228579044342041	0.019999999999996	0.019999999999996	0.0	402
+-403	0.0268239974975586	0.0300000000000011	0.0300000000000011	0.0	403
+-404	0.0487518310546875	0.0399999999999991	0.0399999999999991	0.0	404
+-405	0.0233860015869141	0.0300000000000011	0.0300000000000011	0.0	405
+-406	0.0233309268951416	0.0200000000000031	0.0200000000000031	0.0	406
+-407	0.0230538845062256	0.019999999999996	0.019999999999996	0.0	407
+-408	0.0232100486755371	0.0300000000000011	0.0300000000000011	0.0	408
+-409	0.0231878757476807	0.0200000000000031	0.0200000000000031	0.0	409
+-410	0.0229208469390869	0.019999999999996	0.019999999999996	0.0	410
+-411	0.0527458190917969	0.0600000000000023	0.0600000000000023	0.0	411
+-412	0.0235259532928467	0.019999999999996	0.019999999999996	0.0	412
+-413	0.0231070518493652	0.0200000000000031	0.0200000000000031	0.0	413
+-414	0.0231637954711914	0.0300000000000011	0.0300000000000011	0.0	414
+-415	0.0231881141662598	0.019999999999996	0.019999999999996	0.0	415
+-416	0.0229959487915039	0.0200000000000031	0.0200000000000031	0.0	416
+-417	0.0480611324310303	0.0499999999999972	0.0499999999999972	0.0	417
+-418	0.0235860347747803	0.0200000000000031	0.0200000000000031	0.0	418
+-419	0.0235400199890137	0.0300000000000011	0.0300000000000011	0.0	419
+-420	0.0231409072875977	0.019999999999996	0.019999999999996	0.0	420
+-421	0.0267078876495361	0.0300000000000011	0.0300000000000011	0.0	421
+-422	0.0230278968811035	0.0200000000000031	0.0200000000000031	0.0	422
+-423	0.0228691101074219	0.019999999999996	0.019999999999996	0.0	423
+-424	0.0483551025390625	0.0500000000000043	0.0500000000000043	0.0	424
+-425	0.0237739086151123	0.029999999999994	0.029999999999994	0.0	425
+-426	0.0233981609344482	0.0200000000000031	0.0200000000000031	0.0	426
+-427	0.0230469703674316	0.0200000000000031	0.0200000000000031	0.0	427
+-428	0.0233399868011475	0.029999999999994	0.029999999999994	0.0	428
+-429	0.0231611728668213	0.0200000000000031	0.0200000000000031	0.0	429
+-430	0.0267009735107422	0.0300000000000011	0.0300000000000011	0.0	430
+-431	0.0472571849822998	0.0399999999999991	0.0399999999999991	0.0	431
+-432	0.0234270095825195	0.0300000000000011	0.0300000000000011	0.0	432
+-433	0.0233609676361084	0.019999999999996	0.019999999999996	0.0	433
+-434	0.0230159759521484	0.0200000000000031	0.0200000000000031	0.0	434
+-435	0.0242648124694824	0.0300000000000011	0.0300000000000011	0.0	435
+-436	0.0230550765991211	0.019999999999996	0.019999999999996	0.0	436
+-437	0.0298559665679932	0.0300000000000011	0.0300000000000011	0.0	437
+-438	0.0506420135498047	0.0500000000000043	0.0500000000000043	0.0	438
+-439	0.0245800018310547	0.029999999999994	0.029999999999994	0.0	439
+-440	0.0232729911804199	0.0200000000000031	0.0200000000000031	0.0	440
+-441	0.023047924041748	0.019999999999996	0.019999999999996	0.0	441
+-442	0.0230588912963867	0.0300000000000011	0.0300000000000011	0.0	442
+-443	0.0230181217193604	0.0200000000000031	0.0200000000000031	0.0	443
+-444	0.0474259853363037	0.0499999999999972	0.0499999999999972	0.0	444
+-445	0.0234999656677246	0.0200000000000031	0.0200000000000031	0.0	445
+-446	0.0245218276977539	0.019999999999996	0.019999999999996	0.0	446
+-447	0.0232257843017578	0.0300000000000011	0.0300000000000011	0.0	447
+-448	0.0262331962585449	0.0200000000000031	0.0200000000000031	0.0	448
+-449	0.0228760242462158	0.0300000000000011	0.0300000000000011	0.0	449
+-450	0.0228469371795654	0.019999999999996	0.019999999999996	0.0	450
+-451	0.0489568710327148	0.0500000000000043	0.0500000000000043	0.0	451
+-452	0.0236458778381348	0.019999999999996	0.019999999999996	0.0	452
+-453	0.0232670307159424	0.0300000000000011	0.0300000000000011	0.0	453
+-454	0.0231130123138428	0.0200000000000031	0.0200000000000031	0.0	454
+-455	0.0231020450592041	0.019999999999996	0.019999999999996	0.0	455
+-456	0.0229918956756592	0.0300000000000011	0.0300000000000011	0.0	456
+-457	0.0239298343658447	0.0200000000000031	0.0200000000000031	0.0	457
+-458	0.0493390560150146	0.0499999999999972	0.0499999999999972	0.0	458
+-459	0.0235741138458252	0.019999999999996	0.019999999999996	0.0	459
+-460	0.0232348442077637	0.0300000000000011	0.0300000000000011	0.0	460
+-461	0.023144006729126	0.0200000000000031	0.0200000000000031	0.0	461
+-462	0.0232930183410645	0.019999999999996	0.019999999999996	0.0	462
+-463	0.0231001377105713	0.0300000000000011	0.0300000000000011	0.0	463
+-464	0.022939920425415	0.0200000000000031	0.0200000000000031	0.0	464
+-465	0.0494201183319092	0.0499999999999972	0.0499999999999972	0.0	465
+-466	0.0259408950805664	0.0200000000000031	0.0200000000000031	0.0	466
+-467	0.0232219696044922	0.0300000000000011	0.0300000000000011	0.0	467
+-468	0.0229430198669434	0.019999999999996	0.019999999999996	0.0	468
+-469	0.0229699611663818	0.0200000000000031	0.0200000000000031	0.0	469
+-470	0.023082971572876	0.0300000000000011	0.0300000000000011	0.0	470
+-471	0.0460779666900635	0.0399999999999991	0.0399999999999991	0.0	471
+-472	0.0259521007537842	0.0300000000000011	0.0300000000000011	0.0	472
+-473	0.0284790992736816	0.029999999999994	0.029999999999994	0.0	473
+-474	0.0231249332427979	0.0200000000000031	0.0200000000000031	0.0	474
+-475	0.0256848335266113	0.0300000000000011	0.0300000000000011	0.0	475
+-476	0.0245170593261719	0.019999999999996	0.019999999999996	0.0	476
+-477	0.0228760242462158	0.0200000000000031	0.0200000000000031	0.0	477
+-478	0.0482878684997559	0.0499999999999972	0.0499999999999972	0.0	478
+-479	0.0235881805419922	0.0300000000000011	0.0300000000000011	0.0	479
+-480	0.0232489109039307	0.0200000000000031	0.0200000000000031	0.0	480
+-481	0.0233352184295654	0.019999999999996	0.019999999999996	0.0	481
+-482	0.0229990482330322	0.0300000000000011	0.0300000000000011	0.0	482
+-483	0.0238139629364014	0.0200000000000031	0.0200000000000031	0.0	483
+-484	0.0229029655456543	0.019999999999996	0.019999999999996	0.0	484
+-485	0.0516219139099121	0.0500000000000043	0.0500000000000043	0.0	485
+-486	0.023360013961792	0.029999999999994	0.029999999999994	0.0	486
+-487	0.0233120918273926	0.0200000000000031	0.0200000000000031	0.0	487
+-488	0.0231151580810547	0.0200000000000031	0.0200000000000031	0.0	488
+-489	0.0229690074920654	0.029999999999994	0.029999999999994	0.0	489
+-490	0.0230300426483154	0.0200000000000031	0.0200000000000031	0.0	490
+-491	0.0228698253631592	0.0200000000000031	0.0200000000000031	0.0	491
+-492	0.0457451343536377	0.0499999999999972	0.0499999999999972	0.0	492
+-493	0.0249300003051758	0.0200000000000031	0.0200000000000031	0.0	493
+-494	0.0259578227996826	0.029999999999994	0.029999999999994	0.0	494
+-495	0.0231161117553711	0.0200000000000031	0.0200000000000031	0.0	495
+-496	0.0229859352111816	0.0300000000000011	0.0300000000000011	0.0	496
+-497	0.0230338573455811	0.019999999999996	0.019999999999996	0.0	497
+-498	0.0484039783477783	0.0500000000000043	0.0500000000000043	0.0	498
+-499	0.0237560272216797	0.019999999999996	0.019999999999996	0.0	499
+-500	0.0233612060546875	0.0200000000000031	0.0200000000000031	0.0	500
+-501	0.0233550071716309	0.0300000000000011	0.0300000000000011	0.0	501
+-502	0.0231049060821533	0.019999999999996	0.019999999999996	0.0	502
+-503	0.026008129119873	0.0300000000000011	0.0300000000000011	0.0	503
+-504	0.0228710174560547	0.0200000000000031	0.0200000000000031	0.0	504
+-505	0.0483829975128174	0.0499999999999972	0.0499999999999972	0.0	505
+-506	0.0237247943878174	0.0200000000000031	0.0200000000000031	0.0	506
+-507	0.02410888671875	0.029999999999994	0.029999999999994	0.0	507
+-508	0.0231809616088867	0.0200000000000031	0.0200000000000031	0.0	508
+-509	0.0286002159118652	0.0300000000000011	0.0300000000000011	0.0	509
+-510	0.0245559215545654	0.019999999999996	0.019999999999996	0.0	510
+-511	0.0228598117828369	0.0300000000000011	0.0300000000000011	0.0	511
+-512	0.0508739948272705	0.0500000000000043	0.0500000000000043	0.0	512
+-513	0.0235428810119629	0.019999999999996	0.019999999999996	0.0	513
+-514	0.0231621265411377	0.0200000000000031	0.0200000000000031	0.0	514
+-515	0.0231170654296875	0.0300000000000011	0.0300000000000011	0.0	515
+-516	0.023061990737915	0.019999999999996	0.019999999999996	0.0	516
+-517	0.0231702327728271	0.0200000000000031	0.0200000000000031	0.0	517
+-518	0.0230000019073486	0.0300000000000011	0.0300000000000011	0.0	518
+-519	0.0464069843292236	0.0399999999999991	0.0399999999999991	0.0	519
+-520	0.0233228206634521	0.0300000000000011	0.0300000000000011	0.0	520
+-521	0.0263099670410156	0.019999999999996	0.019999999999996	0.0	521
+-522	0.0230581760406494	0.0300000000000011	0.0300000000000011	0.0	522
+-523	0.0230810642242432	0.019999999999996	0.019999999999996	0.0	523
+-524	0.0231571197509766	0.0200000000000031	0.0200000000000031	0.0	524
+-525	0.0479769706726074	0.0499999999999972	0.0499999999999972	0.0	525
+-526	0.0237100124359131	0.0200000000000031	0.0200000000000031	0.0	526
+-527	0.0232999324798584	0.0300000000000011	0.0300000000000011	0.0	527
+-528	0.0232400894165039	0.019999999999996	0.019999999999996	0.0	528
+-529	0.0229151248931885	0.0200000000000031	0.0200000000000031	0.0	529
+-530	0.0261499881744385	0.0300000000000011	0.0300000000000011	0.0	530
+-531	0.0231139659881592	0.019999999999996	0.019999999999996	0.0	531
+-532	0.0486347675323486	0.0500000000000043	0.0500000000000043	0.0	532
+-533	0.023561954498291	0.0300000000000011	0.0300000000000011	0.0	533
+-534	0.0232679843902588	0.019999999999996	0.019999999999996	0.0	534
+-535	0.023292064666748	0.0200000000000031	0.0200000000000031	0.0	535
+-536	0.0231978893280029	0.0300000000000011	0.0300000000000011	0.0	536
+-537	0.0229289531707764	0.019999999999996	0.019999999999996	0.0	537
+-538	0.0231430530548096	0.0200000000000031	0.0200000000000031	0.0	538
+-539	0.0520761013031006	0.0499999999999972	0.0499999999999972	0.0	539
+-540	0.0233478546142578	0.0300000000000011	0.0300000000000011	0.0	540
+-541	0.0231640338897705	0.019999999999996	0.019999999999996	0.0	541
+-542	0.0230228900909424	0.0200000000000031	0.0200000000000031	0.0	542
+-543	0.0231611728668213	0.0300000000000011	0.0300000000000011	0.0	543
+-544	0.0238080024719238	0.019999999999996	0.019999999999996	0.0	544
+-545	0.0228090286254883	0.0200000000000031	0.0200000000000031	0.0	545
+-546	0.0527040958404541	0.0600000000000023	0.0600000000000023	0.0	546
+-547	0.0233268737792969	0.019999999999996	0.019999999999996	0.0	547
+-548	0.0268959999084473	0.0300000000000011	0.0300000000000011	0.0	548
+-549	0.02323317527771	0.0200000000000031	0.0200000000000031	0.0	549
+-550	0.0231490135192871	0.019999999999996	0.019999999999996	0.0	550
+-551	0.0229969024658203	0.0300000000000011	0.0300000000000011	0.0	551
+-552	0.0478971004486084	0.0399999999999991	0.0399999999999991	0.0	552
+-553	0.0237979888916016	0.0300000000000011	0.0300000000000011	0.0	553
+-554	0.0234241485595703	0.0200000000000031	0.0200000000000031	0.0	554
+-555	0.023115873336792	0.019999999999996	0.019999999999996	0.0	555
+-556	0.0237019062042236	0.0300000000000011	0.0300000000000011	0.0	556
+-557	0.0229599475860596	0.0200000000000031	0.0200000000000031	0.0	557
+-558	0.0263819694519043	0.029999999999994	0.029999999999994	0.0	558
+-559	0.0488171577453613	0.0500000000000043	0.0500000000000043	0.0	559
+-560	0.023486852645874	0.019999999999996	0.019999999999996	0.0	560
+-561	0.0233681201934814	0.0200000000000031	0.0200000000000031	0.0	561
+-562	0.0230288505554199	0.0300000000000011	0.0300000000000011	0.0	562
+-563	0.022907018661499	0.019999999999996	0.019999999999996	0.0	563
+-564	0.0227639675140381	0.0200000000000031	0.0200000000000031	0.0	564
+-565	0.0228629112243652	0.019999999999996	0.019999999999996	0.0	565
+-566	0.0502970218658447	0.0499999999999972	0.0499999999999972	0.0	566
+-567	0.0234780311584473	0.0200000000000031	0.0200000000000031	0.0	567
+-568	0.0246810913085938	0.019999999999996	0.019999999999996	0.0	568
+-569	0.0233399868011475	0.0300000000000011	0.0300000000000011	0.0	569
+-570	0.0233209133148193	0.0200000000000031	0.0200000000000031	0.0	570
+-571	0.0233681201934814	0.019999999999996	0.019999999999996	0.0	571
+-572	0.0485889911651611	0.0500000000000043	0.0500000000000043	0.0	572
+-573	0.0244321823120117	0.029999999999994	0.029999999999994	0.0	573
+-574	0.0241711139678955	0.0200000000000031	0.0200000000000031	0.0	574
+-575	0.0249710083007812	0.0300000000000011	0.0300000000000011	0.0	575
+-576	0.0267090797424316	0.019999999999996	0.019999999999996	0.0	576
+-577	0.0232799053192139	0.0300000000000011	0.0300000000000011	0.0	577
+-578	0.0231969356536865	0.0200000000000031	0.0200000000000031	0.0	578
+-579	0.0491700172424316	0.0499999999999972	0.0499999999999972	0.0	579
+-580	0.025277853012085	0.0200000000000031	0.0200000000000031	0.0	580
+-581	0.0265741348266602	0.0300000000000011	0.0300000000000011	0.0	581
+-582	0.0273458957672119	0.029999999999994	0.029999999999994	0.0	582
+-583	0.0252799987792969	0.0200000000000031	0.0200000000000031	0.0	583
+-584	0.0245480537414551	0.0300000000000011	0.0300000000000011	0.0	584
+-585	0.0260021686553955	0.019999999999996	0.019999999999996	0.0	585
+-586	0.0474262237548828	0.0500000000000043	0.0500000000000043	0.0	586
+-587	0.0234909057617188	0.0300000000000011	0.0300000000000011	0.0	587
+-588	0.023231029510498	0.019999999999996	0.019999999999996	0.0	588
+-589	0.0231058597564697	0.0200000000000031	0.0200000000000031	0.0	589
+-590	0.0234060287475586	0.0300000000000011	0.0300000000000011	0.0	590
+-591	0.0230560302734375	0.019999999999996	0.019999999999996	0.0	591
+-592	0.0236189365386963	0.0200000000000031	0.0200000000000031	0.0	592
+-593	0.0531678199768066	0.0599999999999952	0.0599999999999952	0.0	593
+-594	0.0234320163726807	0.0200000000000031	0.0200000000000031	0.0	594
+-595	0.0234501361846924	0.019999999999996	0.019999999999996	0.0	595
+-596	0.023097038269043	0.0300000000000011	0.0300000000000011	0.0	596
+-597	0.0239620208740234	0.0200000000000031	0.0200000000000031	0.0	597
+-598	0.023064136505127	0.019999999999996	0.019999999999996	0.0	598
+-599	0.0469310283660889	0.0500000000000043	0.0500000000000043	0.0	599
+-600	0.0238142013549805	0.019999999999996	0.019999999999996	0.0	600
+-601	0.0232729911804199	0.0200000000000031	0.0200000000000031	0.0	601
+-602	0.0264449119567871	0.0300000000000011	0.0300000000000011	0.0	602
+-603	0.0250101089477539	0.0300000000000011	0.0300000000000011	0.0	603
+-604	0.022953987121582	0.019999999999996	0.019999999999996	0.0	604
+-605	0.0227360725402832	0.0200000000000031	0.0200000000000031	0.0	605
+-606	0.0484528541564941	0.0499999999999972	0.0499999999999972	0.0	606
+-607	0.0238401889801025	0.0200000000000031	0.0200000000000031	0.0	607
+-608	0.023205041885376	0.0300000000000011	0.0300000000000011	0.0	608
+-609	0.0230309963226318	0.019999999999996	0.019999999999996	0.0	609
+-610	0.0233237743377686	0.0200000000000031	0.0200000000000031	0.0	610
+-611	0.0229151248931885	0.0300000000000011	0.0300000000000011	0.0	611
+-612	0.0266458988189697	0.019999999999996	0.019999999999996	0.0	612
+-613	0.0459887981414795	0.0499999999999972	0.0499999999999972	0.0	613
+-614	0.0233139991760254	0.0200000000000031	0.0200000000000031	0.0	614
+-615	0.0232000350952148	0.0300000000000011	0.0300000000000011	0.0	615
+-616	0.0238010883331299	0.019999999999996	0.019999999999996	0.0	616
+-617	0.0231029987335205	0.0200000000000031	0.0200000000000031	0.0	617
+-618	0.031013011932373	0.0300000000000011	0.0300000000000011	0.0	618
+-619	0.0480711460113525	0.0499999999999972	0.0499999999999972	0.0	619
+-620	0.0269320011138916	0.0300000000000011	0.0300000000000011	0.0	620
+-621	0.0233550071716309	0.0200000000000031	0.0200000000000031	0.0	621
+-622	0.0232939720153809	0.029999999999994	0.029999999999994	0.0	622
+-623	0.0229189395904541	0.0200000000000031	0.0200000000000031	0.0	623
+-624	0.022881031036377	0.0200000000000031	0.0200000000000031	0.0	624
+-625	0.0228018760681152	0.029999999999994	0.029999999999994	0.0	625
+-626	0.0487551689147949	0.0400000000000063	0.0400000000000063	0.0	626
+-627	0.0234999656677246	0.029999999999994	0.029999999999994	0.0	627
+-628	0.023996114730835	0.0200000000000031	0.0200000000000031	0.0	628
+-629	0.0232369899749756	0.0300000000000011	0.0300000000000011	0.0	629
+-630	0.0269510746002197	0.019999999999996	0.019999999999996	0.0	630
+-631	0.024583101272583	0.0300000000000011	0.0300000000000011	0.0	631
+-632	0.0230491161346436	0.0200000000000031	0.0200000000000031	0.0	632
+-633	0.0473129749298096	0.0499999999999972	0.0499999999999972	0.0	633
+-634	0.0233309268951416	0.0200000000000031	0.0200000000000031	0.0	634
+-635	0.0232229232788086	0.019999999999996	0.019999999999996	0.0	635
+-636	0.0229809284210205	0.0300000000000011	0.0300000000000011	0.0	636
+-637	0.0231940746307373	0.0200000000000031	0.0200000000000031	0.0	637
+-638	0.0231130123138428	0.019999999999996	0.019999999999996	0.0	638
+-639	0.0522749423980713	0.0500000000000043	0.0500000000000043	0.0	639
+-640	0.0235979557037354	0.029999999999994	0.029999999999994	0.0	640
+-641	0.0233168601989746	0.0200000000000031	0.0200000000000031	0.0	641
+-642	0.0231528282165527	0.0300000000000011	0.0300000000000011	0.0	642
+-643	0.0232172012329102	0.019999999999996	0.019999999999996	0.0	643
+-644	0.0227980613708496	0.0200000000000031	0.0200000000000031	0.0	644
+-645	0.0227620601654053	0.0200000000000031	0.0200000000000031	0.0	645
+-646	0.0490891933441162	0.0499999999999972	0.0499999999999972	0.0	646
+-647	0.0240461826324463	0.0300000000000011	0.0300000000000011	0.0	647
+-648	0.0267610549926758	0.019999999999996	0.019999999999996	0.0	648
+-649	0.0232100486755371	0.0300000000000011	0.0300000000000011	0.0	649
+-650	0.0230560302734375	0.0200000000000031	0.0200000000000031	0.0	650
+-651	0.023500919342041	0.019999999999996	0.019999999999996	0.0	651
+-652	0.0230460166931152	0.0300000000000011	0.0300000000000011	0.0	652
+-653	0.0512759685516357	0.0500000000000043	0.0500000000000043	0.0	653
+-654	0.0272390842437744	0.019999999999996	0.019999999999996	0.0	654
+-655	0.0247349739074707	0.0300000000000011	0.0300000000000011	0.0	655
+-656	0.0230178833007812	0.0200000000000031	0.0200000000000031	0.0	656
+-657	0.0271899700164795	0.029999999999994	0.029999999999994	0.0	657
+-658	0.0229711532592773	0.0200000000000031	0.0200000000000031	0.0	658
+-659	0.0228548049926758	0.019999999999996	0.019999999999996	0.0	659
+-660	0.0488860607147217	0.0500000000000043	0.0500000000000043	0.0	660
+-661	0.0232799053192139	0.0300000000000011	0.0300000000000011	0.0	661
+-662	0.0232510566711426	0.019999999999996	0.019999999999996	0.0	662
+-663	0.0229790210723877	0.0200000000000031	0.0200000000000031	0.0	663
+-664	0.0242810249328613	0.0300000000000011	0.0300000000000011	0.0	664
+-665	0.0230100154876709	0.019999999999996	0.019999999999996	0.0	665
+-666	0.0498199462890625	0.0500000000000043	0.0500000000000043	0.0	666
+-667	0.0237331390380859	0.019999999999996	0.019999999999996	0.0	667
+-668	0.0234551429748535	0.0300000000000011	0.0300000000000011	0.0	668
+-669	0.0231800079345703	0.0200000000000031	0.0200000000000031	0.0	669
+-670	0.0229709148406982	0.019999999999996	0.019999999999996	0.0	670
+-671	0.023015022277832	0.0300000000000011	0.0300000000000011	0.0	671
+-672	0.0230131149291992	0.0200000000000031	0.0200000000000031	0.0	672
+-673	0.0487980842590332	0.0499999999999972	0.0499999999999972	0.0	673
+-674	0.0240719318389893	0.0200000000000031	0.0200000000000031	0.0	674
+-675	0.0269160270690918	0.029999999999994	0.029999999999994	0.0	675
+-676	0.0230348110198975	0.0200000000000031	0.0200000000000031	0.0	676
+-677	0.0227870941162109	0.0300000000000011	0.0300000000000011	0.0	677
+-678	0.0228049755096436	0.019999999999996	0.019999999999996	0.0	678
+-679	0.0226888656616211	0.0200000000000031	0.0200000000000031	0.0	679
+-680	0.0477821826934814	0.0499999999999972	0.0499999999999972	0.0	680
+-681	0.0232739448547363	0.0200000000000031	0.0200000000000031	0.0	681
+-682	0.023953914642334	0.0300000000000011	0.0300000000000011	0.0	682
+-683	0.0229859352111816	0.019999999999996	0.019999999999996	0.0	683
+-684	0.0254220962524414	0.0200000000000031	0.0200000000000031	0.0	684
+-685	0.0239348411560059	0.0300000000000011	0.0300000000000011	0.0	685
+-686	0.0478279590606689	0.0499999999999972	0.0499999999999972	0.0	686
+-687	0.023798942565918	0.0200000000000031	0.0200000000000031	0.0	687
+-688	0.0233008861541748	0.019999999999996	0.019999999999996	0.0	688
+-689	0.0240800380706787	0.0300000000000011	0.0300000000000011	0.0	689
+-690	0.0304360389709473	0.0300000000000011	0.0300000000000011	0.0	690
+-691	0.022982120513916	0.019999999999996	0.019999999999996	0.0	691
+-692	0.0228438377380371	0.0200000000000031	0.0200000000000031	0.0	692
+-693	0.0521981716156006	0.0600000000000023	0.0600000000000023	0.0	693
+-694	0.0234532356262207	0.019999999999996	0.019999999999996	0.0	694
+-695	0.0232119560241699	0.0200000000000031	0.0200000000000031	0.0	695
+-696	0.0229840278625488	0.0300000000000011	0.0300000000000011	0.0	696
+-697	0.0229799747467041	0.019999999999996	0.019999999999996	0.0	697
+-698	0.0229427814483643	0.0200000000000031	0.0200000000000031	0.0	698
+-699	0.0228908061981201	0.0300000000000011	0.0300000000000011	0.0	699
+-700	0.0482070446014404	0.0399999999999991	0.0399999999999991	0.0	700
+-701	0.023360013961792	0.0300000000000011	0.0300000000000011	0.0	701
+-702	0.027055025100708	0.019999999999996	0.019999999999996	0.0	702
+-703	0.0230090618133545	0.0300000000000011	0.0300000000000011	0.0	703
+-704	0.02317214012146	0.019999999999996	0.019999999999996	0.0	704
+-705	0.022986888885498	0.0200000000000031	0.0200000000000031	0.0	705
+-706	0.0481140613555908	0.0499999999999972	0.0499999999999972	0.0	706
+-707	0.0237739086151123	0.0300000000000011	0.0300000000000011	0.0	707
+-708	0.0233809947967529	0.0200000000000031	0.0200000000000031	0.0	708
+-709	0.0233211517333984	0.019999999999996	0.019999999999996	0.0	709
+-710	0.0229690074920654	0.0300000000000011	0.0300000000000011	0.0	710
+-711	0.0244121551513672	0.0200000000000031	0.0200000000000031	0.0	711
+-712	0.0250389575958252	0.019999999999996	0.019999999999996	0.0	712
+-713	0.0485482215881348	0.0399999999999991	0.0399999999999991	0.0	713
+-714	0.0234758853912354	0.0300000000000011	0.0300000000000011	0.0	714
+-715	0.023453950881958	0.019999999999996	0.019999999999996	0.0	715
+-716	0.0230729579925537	0.0200000000000031	0.0200000000000031	0.0	716
+-717	0.0230581760406494	0.0300000000000011	0.0300000000000011	0.0	717
+-718	0.0230929851531982	0.019999999999996	0.019999999999996	0.0	718
+-719	0.0229818820953369	0.0200000000000031	0.0200000000000031	0.0	719
+-720	0.0512728691101074	0.0499999999999972	0.0499999999999972	0.0	720
+-721	0.0234599113464355	0.0300000000000011	0.0300000000000011	0.0	721
+-722	0.023129940032959	0.019999999999996	0.019999999999996	0.0	722
+-723	0.0229649543762207	0.0200000000000031	0.0200000000000031	0.0	723
+-724	0.0230588912963867	0.0300000000000011	0.0300000000000011	0.0	724
+-725	0.0236339569091797	0.019999999999996	0.019999999999996	0.0	725
+-726	0.0562300682067871	0.0600000000000023	0.0600000000000023	0.0	726
+-727	0.0310180187225342	0.0300000000000011	0.0300000000000011	0.0	727
+-728	0.0244710445404053	0.0200000000000031	0.0200000000000031	0.0	728
+-729	0.0285270214080811	0.029999999999994	0.029999999999994	0.0	729
+-730	0.0235979557037354	0.0300000000000011	0.0300000000000011	0.0	730
+-731	0.0233108997344971	0.0200000000000031	0.0200000000000031	0.0	731
+-732	0.0233650207519531	0.019999999999996	0.019999999999996	0.0	732
+-733	0.0499210357666016	0.0500000000000043	0.0500000000000043	0.0	733
+-734	0.0240199565887451	0.0300000000000011	0.0300000000000011	0.0	734
+-735	0.0234189033508301	0.019999999999996	0.019999999999996	0.0	735
+-736	0.0239479541778564	0.0200000000000031	0.0200000000000031	0.0	736
+-737	0.0234498977661133	0.0300000000000011	0.0300000000000011	0.0	737
+-738	0.027393102645874	0.019999999999996	0.019999999999996	0.0	738
+-739	0.0233581066131592	0.0300000000000011	0.0300000000000011	0.0	739
+-740	0.0494859218597412	0.0499999999999972	0.0499999999999972	0.0	740
+-741	0.023939847946167	0.0200000000000031	0.0200000000000031	0.0	741
+-742	0.0237078666687012	0.0300000000000011	0.0300000000000011	0.0	742
+-743	0.023622989654541	0.019999999999996	0.019999999999996	0.0	743
+-744	0.0235440731048584	0.0200000000000031	0.0200000000000031	0.0	744
+-745	0.0236668586730957	0.0300000000000011	0.0300000000000011	0.0	745
+-746	0.0538251399993896	0.0499999999999972	0.0499999999999972	0.0	746
+-747	0.0246829986572266	0.0300000000000011	0.0300000000000011	0.0	747
+-748	0.0239181518554688	0.019999999999996	0.019999999999996	0.0	748
+-749	0.02370285987854	0.0200000000000031	0.0200000000000031	0.0	749
+-750	0.0234520435333252	0.0300000000000011	0.0300000000000011	0.0	750
+-751	0.0234749317169189	0.019999999999996	0.019999999999996	0.0	751
+-752	0.0232760906219482	0.0200000000000031	0.0200000000000031	0.0	752
+-753	0.050915002822876	0.0499999999999972	0.0499999999999972	0.0	753
+-754	0.0237371921539307	0.0300000000000011	0.0300000000000011	0.0	754
+-755	0.0239219665527344	0.0200000000000031	0.0200000000000031	0.0	755
+-756	0.0273880958557129	0.0300000000000011	0.0300000000000011	0.0	756
+-757	0.0232698917388916	0.019999999999996	0.019999999999996	0.0	757
+-758	0.0235319137573242	0.0300000000000011	0.0300000000000011	0.0	758
+-759	0.0232620239257812	0.0200000000000031	0.0200000000000031	0.0	759
+-760	0.0498092174530029	0.0499999999999972	0.0499999999999972	0.0	760
+-761	0.0315971374511719	0.0300000000000011	0.0300000000000011	0.0	761
+-762	0.0236649513244629	0.019999999999996	0.019999999999996	0.0	762
+-763	0.0233211517333984	0.0300000000000011	0.0300000000000011	0.0	763
+-764	0.0230920314788818	0.0200000000000031	0.0200000000000031	0.0	764
+-765	0.0270240306854248	0.0300000000000011	0.0300000000000011	0.0	765
+-766	0.0479528903961182	0.0499999999999972	0.0499999999999972	0.0	766
+-767	0.025413990020752	0.0200000000000031	0.0200000000000031	0.0	767
+-768	0.0233969688415527	0.019999999999996	0.019999999999996	0.0	768
+-769	0.0232100486755371	0.0300000000000011	0.0300000000000011	0.0	769
+-770	0.0230209827423096	0.0200000000000031	0.0200000000000031	0.0	770
+-771	0.0228300094604492	0.019999999999996	0.019999999999996	0.0	771
+-772	0.0236411094665527	0.0300000000000011	0.0300000000000011	0.0	772
+-773	0.0529980659484863	0.0499999999999972	0.0499999999999972	0.0	773
+-774	0.0234870910644531	0.0200000000000031	0.0200000000000031	0.0	774
+-775	0.0233190059661865	0.0300000000000011	0.0300000000000011	0.0	775
+-776	0.0230171680450439	0.019999999999996	0.019999999999996	0.0	776
+-777	0.0230998992919922	0.0200000000000031	0.0200000000000031	0.0	777
+-778	0.0230000019073486	0.0300000000000011	0.0300000000000011	0.0	778
+-779	0.0227389335632324	0.019999999999996	0.019999999999996	0.0	779
+-780	0.0475330352783203	0.0500000000000043	0.0500000000000043	0.0	780
+-781	0.0235450267791748	0.019999999999996	0.019999999999996	0.0	781
+-782	0.024838924407959	0.0200000000000031	0.0200000000000031	0.0	782
+-783	0.0251529216766357	0.0300000000000011	0.0300000000000011	0.0	783
+-784	0.0230610370635986	0.019999999999996	0.019999999999996	0.0	784
+-785	0.0230369567871094	0.0300000000000011	0.0300000000000011	0.0	785
+-786	0.0483219623565674	0.0399999999999991	0.0399999999999991	0.0	786
+-787	0.023716926574707	0.0300000000000011	0.0300000000000011	0.0	787
+-788	0.0233070850372314	0.0200000000000031	0.0200000000000031	0.0	788
+-789	0.0230929851531982	0.019999999999996	0.019999999999996	0.0	789
+-790	0.0231740474700928	0.0300000000000011	0.0300000000000011	0.0	790
+-791	0.0228431224822998	0.0200000000000031	0.0200000000000031	0.0	791
+-792	0.0254631042480469	0.029999999999994	0.029999999999994	0.0	792
+-793	0.0485448837280273	0.0399999999999991	0.0399999999999991	0.0	793
+-794	0.0234110355377197	0.0300000000000011	0.0300000000000011	0.0	794
+-795	0.023223876953125	0.0200000000000031	0.0200000000000031	0.0	795
+-796	0.0238728523254395	0.0300000000000011	0.0300000000000011	0.0	796
+-797	0.0251760482788086	0.019999999999996	0.019999999999996	0.0	797
+-798	0.0276870727539062	0.0300000000000011	0.0300000000000011	0.0	798
+-799	0.0227670669555664	0.0200000000000031	0.0200000000000031	0.0	799
+-800	0.0514481067657471	0.0499999999999972	0.0499999999999972	0.0	800
+-801	0.023374080657959	0.0300000000000011	0.0300000000000011	0.0	801
+-802	0.0230941772460938	0.019999999999996	0.019999999999996	0.0	802
+-803	0.0230350494384766	0.0200000000000031	0.0200000000000031	0.0	803
+-804	0.0229940414428711	0.0300000000000011	0.0300000000000011	0.0	804
+-805	0.0229909420013428	0.019999999999996	0.019999999999996	0.0	805
+-806	0.0481908321380615	0.0500000000000043	0.0500000000000043	0.0	806
+-807	0.0239169597625732	0.019999999999996	0.019999999999996	0.0	807
+-808	0.0238561630249023	0.0200000000000031	0.0200000000000031	0.0	808
+-809	0.0231790542602539	0.0300000000000011	0.0300000000000011	0.0	809
+-810	0.0275747776031494	0.0300000000000011	0.0300000000000011	0.0	810
+-811	0.0230591297149658	0.019999999999996	0.019999999999996	0.0	811
+-812	0.0231878757476807	0.0200000000000031	0.0200000000000031	0.0	812
+-813	0.048914909362793	0.0499999999999972	0.0499999999999972	0.0	813
+-814	0.0234620571136475	0.0200000000000031	0.0200000000000031	0.0	814
+-815	0.0232930183410645	0.0300000000000011	0.0300000000000011	0.0	815
+-816	0.022986888885498	0.019999999999996	0.019999999999996	0.0	816
+-817	0.0229377746582031	0.0200000000000031	0.0200000000000031	0.0	817
+-818	0.0235490798950195	0.0300000000000011	0.0300000000000011	0.0	818
+-819	0.0506079196929932	0.0499999999999972	0.0499999999999972	0.0	819
+-820	0.023629903793335	0.019999999999996	0.019999999999996	0.0	820
+-821	0.0234060287475586	0.0300000000000011	0.0300000000000011	0.0	821
+-822	0.0231649875640869	0.0200000000000031	0.0200000000000031	0.0	822
+-823	0.0232610702514648	0.019999999999996	0.019999999999996	0.0	823
+-824	0.0246009826660156	0.0300000000000011	0.0300000000000011	0.0	824
+-825	0.0229051113128662	0.0200000000000031	0.0200000000000031	0.0	825
+-826	0.0487561225891113	0.0499999999999972	0.0499999999999972	0.0	826
+-827	0.0235860347747803	0.0200000000000031	0.0200000000000031	0.0	827
+-828	0.0275599956512451	0.0300000000000011	0.0300000000000011	0.0	828
+-829	0.0231928825378418	0.019999999999996	0.019999999999996	0.0	829
+-830	0.0227789878845215	0.0200000000000031	0.0200000000000031	0.0	830
+-831	0.022838830947876	0.0300000000000011	0.0300000000000011	0.0	831
+-832	0.0226640701293945	0.019999999999996	0.019999999999996	0.0	832
+-833	0.0558691024780273	0.0600000000000023	0.0600000000000023	0.0	833
+-834	0.0235500335693359	0.019999999999996	0.019999999999996	0.0	834
+-835	0.0233221054077148	0.0200000000000031	0.0200000000000031	0.0	835
+-836	0.0230560302734375	0.0300000000000011	0.0300000000000011	0.0	836
+-837	0.026296854019165	0.019999999999996	0.019999999999996	0.0	837
+-838	0.0231189727783203	0.0200000000000031	0.0200000000000031	0.0	838
+-839	0.0479569435119629	0.0399999999999991	0.0399999999999991	0.0	839
+-840	0.0236861705780029	0.0300000000000011	0.0300000000000011	0.0	840
+-841	0.0233621597290039	0.0200000000000031	0.0200000000000031	0.0	841
+-842	0.0233719348907471	0.019999999999996	0.019999999999996	0.0	842
+-843	0.022942066192627	0.0300000000000011	0.0300000000000011	0.0	843
+-844	0.0234341621398926	0.0200000000000031	0.0200000000000031	0.0	844
+-845	0.0227351188659668	0.019999999999996	0.019999999999996	0.0	845
+-846	0.0519671440124512	0.0500000000000043	0.0500000000000043	0.0	846
+-847	0.0236749649047852	0.029999999999994	0.029999999999994	0.0	847
+-848	0.0233500003814697	0.0200000000000031	0.0200000000000031	0.0	848
+-849	0.0230710506439209	0.0300000000000011	0.0300000000000011	0.0	849
+-850	0.0229990482330322	0.019999999999996	0.019999999999996	0.0	850
+-851	0.0230109691619873	0.0200000000000031	0.0200000000000031	0.0	851
+-852	0.0227420330047607	0.0200000000000031	0.0200000000000031	0.0	852
+-853	0.0477049350738525	0.0499999999999972	0.0499999999999972	0.0	853
+-854	0.0240600109100342	0.0300000000000011	0.0300000000000011	0.0	854
+-855	0.026954174041748	0.019999999999996	0.019999999999996	0.0	855
+-856	0.0229690074920654	0.0300000000000011	0.0300000000000011	0.0	856
+-857	0.0230190753936768	0.0200000000000031	0.0200000000000031	0.0	857
+-858	0.0229530334472656	0.019999999999996	0.019999999999996	0.0	858
+-859	0.0483298301696777	0.0500000000000043	0.0500000000000043	0.0	859
+-860	0.0237421989440918	0.019999999999996	0.019999999999996	0.0	860
+-861	0.0233712196350098	0.0300000000000011	0.0300000000000011	0.0	861
+-862	0.0233938694000244	0.0200000000000031	0.0200000000000031	0.0	862
+-863	0.0228838920593262	0.019999999999996	0.019999999999996	0.0	863
+-864	0.0237820148468018	0.0300000000000011	0.0300000000000011	0.0	864
+-865	0.0258240699768066	0.0200000000000031	0.0200000000000031	0.0	865
+-866	0.0487151145935059	0.0499999999999972	0.0499999999999972	0.0	866
+-867	0.023514986038208	0.0300000000000011	0.0300000000000011	0.0	867
+-868	0.023252010345459	0.019999999999996	0.019999999999996	0.0	868
+-869	0.0243101119995117	0.0200000000000031	0.0200000000000031	0.0	869
+-870	0.0295658111572266	0.0300000000000011	0.0300000000000011	0.0	870
+-871	0.0230669975280762	0.0300000000000011	0.0300000000000011	0.0	871
+-872	0.0470709800720215	0.0399999999999991	0.0399999999999991	0.0	872
+-873	0.0276908874511719	0.0300000000000011	0.0300000000000011	0.0	873
+-874	0.0235562324523926	0.029999999999994	0.029999999999994	0.0	874
+-875	0.0232779979705811	0.0200000000000031	0.0200000000000031	0.0	875
+-876	0.0230128765106201	0.0200000000000031	0.0200000000000031	0.0	876
+-877	0.0227088928222656	0.019999999999996	0.019999999999996	0.0	877
+-878	0.0227501392364502	0.0300000000000011	0.0300000000000011	0.0	878
+-879	0.048612117767334	0.0499999999999972	0.0499999999999972	0.0	879
+-880	0.0247840881347656	0.0200000000000031	0.0200000000000031	0.0	880
+-881	0.0233609676361084	0.0200000000000031	0.0200000000000031	0.0	881
+-882	0.0263519287109375	0.029999999999994	0.029999999999994	0.0	882
+-883	0.0231118202209473	0.0200000000000031	0.0200000000000031	0.0	883
+-884	0.0230841636657715	0.0300000000000011	0.0300000000000011	0.0	884
+-885	0.022723913192749	0.019999999999996	0.019999999999996	0.0	885
+-886	0.0473191738128662	0.0500000000000043	0.0500000000000043	0.0	886
+-887	0.0233719348907471	0.019999999999996	0.019999999999996	0.0	887
+-888	0.0231339931488037	0.0200000000000031	0.0200000000000031	0.0	888
+-889	0.0230438709259033	0.0300000000000011	0.0300000000000011	0.0	889
+-890	0.0230700969696045	0.019999999999996	0.019999999999996	0.0	890
+-891	0.0235311985015869	0.0200000000000031	0.0200000000000031	0.0	891
+-892	0.0513098239898682	0.0499999999999972	0.0499999999999972	0.0	892
+-893	0.0237538814544678	0.0300000000000011	0.0300000000000011	0.0	893
+-894	0.0234150886535645	0.0200000000000031	0.0200000000000031	0.0	894
+-895	0.0234220027923584	0.029999999999994	0.029999999999994	0.0	895
+-896	0.0229578018188477	0.0200000000000031	0.0200000000000031	0.0	896
+-897	0.0227642059326172	0.0200000000000031	0.0200000000000031	0.0	897
+-898	0.0227861404418945	0.019999999999996	0.019999999999996	0.0	898
+-899	0.0495121479034424	0.0500000000000043	0.0500000000000043	0.0	899
+-900	0.0261099338531494	0.029999999999994	0.029999999999994	0.0	900
+-901	0.0232861042022705	0.0200000000000031	0.0200000000000031	0.0	901
+-902	0.0230598449707031	0.0300000000000011	0.0300000000000011	0.0	902
+-903	0.0229661464691162	0.019999999999996	0.019999999999996	0.0	903
+-904	0.0229828357696533	0.0200000000000031	0.0200000000000031	0.0	904
+-905	0.0227420330047607	0.0300000000000011	0.0300000000000011	0.0	905
+-906	0.0554108619689941	0.0499999999999972	0.0499999999999972	0.0	906
+-907	0.0234618186950684	0.0200000000000031	0.0200000000000031	0.0	907
+-908	0.023097038269043	0.0300000000000011	0.0300000000000011	0.0	908
+-909	0.0240907669067383	0.019999999999996	0.019999999999996	0.0	909
+-910	0.0250539779663086	0.0300000000000011	0.0300000000000011	0.0	910
+-911	0.0229489803314209	0.019999999999996	0.019999999999996	0.0	911
+-912	0.0479700565338135	0.0500000000000043	0.0500000000000043	0.0	912
+-913	0.023643970489502	0.019999999999996	0.019999999999996	0.0	913
+-914	0.0235710144042969	0.0200000000000031	0.0200000000000031	0.0	914
+-915	0.0231690406799316	0.0300000000000011	0.0300000000000011	0.0	915
+-916	0.0229480266571045	0.019999999999996	0.019999999999996	0.0	916
+-917	0.0235409736633301	0.0200000000000031	0.0200000000000031	0.0	917
+-918	0.0229229927062988	0.0300000000000011	0.0300000000000011	0.0	918
+-919	0.0514621734619141	0.0499999999999972	0.0499999999999972	0.0	919
+-920	0.023529052734375	0.0200000000000031	0.0200000000000031	0.0	920
+-921	0.0231509208679199	0.0300000000000011	0.0300000000000011	0.0	921
+-922	0.0229501724243164	0.019999999999996	0.019999999999996	0.0	922
+-923	0.0228419303894043	0.0200000000000031	0.0200000000000031	0.0	923
+-924	0.0227689743041992	0.019999999999996	0.019999999999996	0.0	924
+-925	0.047015905380249	0.0500000000000043	0.0500000000000043	0.0	925
+-926	0.0242269039154053	0.0300000000000011	0.0300000000000011	0.0	926
+-927	0.0240240097045898	0.019999999999996	0.019999999999996	0.0	927
+-928	0.0257468223571777	0.0300000000000011	0.0300000000000011	0.0	928
+-929	0.0229909420013428	0.019999999999996	0.019999999999996	0.0	929
+-930	0.0228919982910156	0.0200000000000031	0.0200000000000031	0.0	930
+-931	0.0228021144866943	0.0200000000000031	0.0200000000000031	0.0	931
+-932	0.0487589836120605	0.0499999999999972	0.0499999999999972	0.0	932
+-933	0.023705005645752	0.0300000000000011	0.0300000000000011	0.0	933
+-934	0.0232529640197754	0.019999999999996	0.019999999999996	0.0	934
+-935	0.0233039855957031	0.0200000000000031	0.0200000000000031	0.0	935
+-936	0.0228619575500488	0.0300000000000011	0.0300000000000011	0.0	936
+-937	0.0260879993438721	0.019999999999996	0.019999999999996	0.0	937
+-938	0.022723913192749	0.0300000000000011	0.0300000000000011	0.0	938
+-939	0.0474221706390381	0.0399999999999991	0.0399999999999991	0.0	939
+-940	0.0233960151672363	0.0300000000000011	0.0300000000000011	0.0	940
+-941	0.0239980220794678	0.0200000000000031	0.0200000000000031	0.0	941
+-942	0.0292730331420898	0.0300000000000011	0.0300000000000011	0.0	942
+-943	0.0237081050872803	0.019999999999996	0.019999999999996	0.0	943
+-944	0.0230300426483154	0.0300000000000011	0.0300000000000011	0.0	944
+-945	0.050105094909668	0.0499999999999972	0.0499999999999972	0.0	945
+-946	0.0247271060943604	0.0200000000000031	0.0200000000000031	0.0	946
+-947	0.0233941078186035	0.019999999999996	0.019999999999996	0.0	947
+-948	0.0232498645782471	0.0300000000000011	0.0300000000000011	0.0	948
+-949	0.0229218006134033	0.0200000000000031	0.0200000000000031	0.0	949
+-950	0.0228300094604492	0.019999999999996	0.019999999999996	0.0	950
+-951	0.023029088973999	0.0300000000000011	0.0300000000000011	0.0	951
+-952	0.0492429733276367	0.0500000000000043	0.0500000000000043	0.0	952
+-953	0.0234079360961914	0.019999999999996	0.019999999999996	0.0	953
+-954	0.0232601165771484	0.0200000000000031	0.0200000000000031	0.0	954
+-955	0.026918888092041	0.0300000000000011	0.0300000000000011	0.0	955
+-956	0.0231409072875977	0.019999999999996	0.019999999999996	0.0	956
+-957	0.0228209495544434	0.0300000000000011	0.0300000000000011	0.0	957
+-958	0.0463271141052246	0.0399999999999991	0.0399999999999991	0.0	958
+-959	0.0237219333648682	0.0300000000000011	0.0300000000000011	0.0	959
+-960	0.0233180522918701	0.0200000000000031	0.0200000000000031	0.0	960
+-961	0.0231690406799316	0.019999999999996	0.019999999999996	0.0	961
+-962	0.0229840278625488	0.0300000000000011	0.0300000000000011	0.0	962
+-963	0.0235729217529297	0.0200000000000031	0.0200000000000031	0.0	963
+-964	0.0238869190216064	0.019999999999996	0.019999999999996	0.0	964
+-965	0.0521998405456543	0.0600000000000023	0.0600000000000023	0.0	965
+-966	0.0235168933868408	0.019999999999996	0.019999999999996	0.0	966
+-967	0.0235238075256348	0.0200000000000031	0.0200000000000031	0.0	967
+-968	0.0230309963226318	0.0300000000000011	0.0300000000000011	0.0	968
+-969	0.0229330062866211	0.019999999999996	0.019999999999996	0.0	969
+-970	0.0227758884429932	0.0200000000000031	0.0200000000000031	0.0	970
+-971	0.0229518413543701	0.019999999999996	0.019999999999996	0.0	971
+-972	0.0476210117340088	0.0500000000000043	0.0500000000000043	0.0	972
+-973	0.0264060497283936	0.0300000000000011	0.0300000000000011	0.0	973
+-974	0.023115873336792	0.019999999999996	0.019999999999996	0.0	974
+-975	0.0229768753051758	0.0300000000000011	0.0300000000000011	0.0	975
+-976	0.0229260921478271	0.0200000000000031	0.0200000000000031	0.0	976
+-977	0.0229401588439941	0.019999999999996	0.019999999999996	0.0	977
+-978	0.0558409690856934	0.0600000000000023	0.0600000000000023	0.0	978
+-979	0.0236589908599854	0.019999999999996	0.019999999999996	0.0	979
+-980	0.0233588218688965	0.0200000000000031	0.0200000000000031	0.0	980
+-981	0.0231630802154541	0.0300000000000011	0.0300000000000011	0.0	981
+-982	0.0260651111602783	0.019999999999996	0.019999999999996	0.0	982
+-983	0.0229349136352539	0.0300000000000011	0.0300000000000011	0.0	983
+-984	0.0229189395904541	0.0200000000000031	0.0200000000000031	0.0	984
+-985	0.0485391616821289	0.0499999999999972	0.0499999999999972	0.0	985
+-986	0.0233860015869141	0.0200000000000031	0.0200000000000031	0.0	986
+-987	0.0233519077301025	0.0300000000000011	0.0300000000000011	0.0	987
+-988	0.0228800773620605	0.019999999999996	0.019999999999996	0.0	988
+-989	0.0234830379486084	0.0200000000000031	0.0200000000000031	0.0	989
+-990	0.022752046585083	0.019999999999996	0.019999999999996	0.0	990
+-991	0.0511069297790527	0.0600000000000023	0.0600000000000023	0.0	991
+-992	0.0240139961242676	0.019999999999996	0.019999999999996	0.0	992
+-993	0.0233669281005859	0.0200000000000031	0.0200000000000031	0.0	993
+-994	0.0232489109039307	0.0300000000000011	0.0300000000000011	0.0	994
+-995	0.0230247974395752	0.019999999999996	0.019999999999996	0.0	995
+-996	0.023061990737915	0.0200000000000031	0.0200000000000031	0.0	996
+-997	0.0229039192199707	0.0300000000000011	0.0300000000000011	0.0	997
+-998	0.0489161014556885	0.0399999999999991	0.0399999999999991	0.0	998
+-999	0.0239861011505127	0.0300000000000011	0.0300000000000011	0.0	999
+-1000	0.0271100997924805	0.0300000000000011	0.0300000000000011	0.0	1000
+diff --git a/lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_safe-autocorrelation.dat b/lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_safe-autocorrelation.dat
+deleted file mode 100644
+index 28b7930..0000000
+--- a/lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_safe-autocorrelation.dat
++++ /dev/null
+@@ -1,1000 +0,0 @@
+-#lag	autocorrelation
+-1	1.0
+-2	-0.168711551610797
+-3	-0.185075424775395
+-4	-0.186405168470362
+-5	-0.192236450287278
+-6	-0.173995040669983
+-7	0.497673430722803
+-8	0.29654339644635
+-9	-0.172542664486347
+-10	-0.185316639646188
+-11	-0.182116040823686
+-12	-0.185415710620437
+-13	0.0523528472158225
+-14	0.71970177208368
+-15	-0.151810164721185
+-16	-0.187290279760093
+-17	-0.182362754850871
+-18	-0.182718737242755
+-19	-0.129108594864474
+-20	0.622082118720718
+-21	0.130782387755957
+-22	-0.170447345640965
+-23	-0.196652105821247
+-24	-0.173569338036787
+-25	-0.182188355492763
+-26	0.265071206382968
+-27	0.484886522656777
+-28	-0.140444543213911
+-29	-0.174312335218403
+-30	-0.183335022511814
+-31	-0.179674296765045
+-32	0.0232199842046602
+-33	0.496114733715927
+-34	0.0822638752997461
+-35	-0.171572446908724
+-36	-0.192551986206074
+-37	-0.162051421499677
+-38	-0.0895919384941433
+-39	0.335786620502553
+-40	0.327644243263212
+-41	-0.129948612855453
+-42	-0.184370502365683
+-43	-0.177204007654948
+-44	-0.162157037082618
+-45	0.17271845923701
+-46	0.351796103861273
+-47	0.0642274162111852
+-48	-0.170959443773073
+-49	-0.190856323754992
+-50	-0.163714827336534
+-51	0.0228314931445091
+-52	0.26381977073053
+-53	0.247803374234943
+-54	-0.117037193906021
+-55	-0.183830227189461
+-56	-0.164640226854526
+-57	-0.079276117022691
+-58	0.20723348437059
+-59	0.239706931399691
+-60	0.0489172113214087
+-61	-0.172021951272623
+-62	-0.182860808512729
+-63	-0.127358224108573
+-64	0.107845579472678
+-65	0.188933656016848
+-66	0.194757142044723
+-67	-0.112205833758773
+-68	-0.179001063269936
+-69	-0.16311828493705
+-70	0.0324344108778214
+-71	0.15051955620332
+-72	0.163810160363991
+-73	0.0519448596312306
+-74	-0.163602345245488
+-75	-0.158418891887294
+-76	-0.0560272711908581
+-77	0.13272666880305
+-78	0.128776651967307
+-79	0.137508369826638
+-80	-0.106468759380143
+-81	-0.175112389279141
+-82	-0.110600151424024
+-83	0.0829713181187441
+-84	0.116400027198787
+-85	0.108590070864495
+-86	0.0380032448395754
+-87	-0.15928371193835
+-88	-0.16128905172696
+-89	0.0331094309593576
+-90	0.0781776964153065
+-91	0.102945304233414
+-92	0.10106965637548
+-93	-0.0872290949923226
+-94	-0.169705593008044
+-95	-0.0419012011984929
+-96	0.0915477326766184
+-97	0.0704199456915236
+-98	0.0728740009744583
+-99	0.0218543030675779
+-100	-0.151415427637779
+-101	-0.0978287647318857
+-102	0.0561931235819149
+-103	0.0505423398983019
+-104	0.0727678785780604
+-105	0.0722492445655898
+-106	-0.0862525883888437
+-107	-0.137087142443964
+-108	0.00615618677612293
+-109	0.05394162080397
+-110	0.0553896795215559
+-111	0.055562843944084
+-112	0.0276994577739776
+-113	-0.137189947176271
+-114	-0.0377239416628224
+-115	0.0514504295405741
+-116	0.0313293831130493
+-117	0.0301709278444951
+-118	0.0568085567458709
+-119	-0.0804133515562644
+-120	-0.0795840579043476
+-121	0.0330117984081293
+-122	0.0164579873951377
+-123	0.0433446545769141
+-124	0.0255953757755855
+-125	0.00173682042832781
+-126	-0.103165860768009
+-127	0.00232696284173702
+-128	0.0312423522135313
+-129	0.0149616490484137
+-130	0.0184417493516088
+-131	0.0447441958949695
+-132	-0.0641393958061555
+-133	-0.0383352332350825
+-134	0.0245347192219029
+-135	0.00652236926605711
+-136	0.0171622535457413
+-137	0.009279213035149
+-138	0.00278884493235273
+-139	-0.0536703342115355
+-140	0.0241669190880944
+-141	-0.00326726756980508
+-142	0.0162345932059117
+-143	-0.0128230828071517
+-144	0.0286239253928854
+-145	-0.0327123591597955
+-146	-0.00540598964166124
+-147	-0.000332512936572612
+-148	0.0148948411721159
+-149	0.0166966907990605
+-150	-0.00567074642628022
+-151	0.0228823388615856
+-152	-0.0308965208330592
+-153	0.0180444981742879
+-154	-0.0206921039064052
+-155	0.00595894351847688
+-156	-0.0208220594875718
+-157	0.0310092938713835
+-158	0.00078836634941453
+-159	0.0106191475130608
+-160	-0.0238938431356785
+-161	-0.00188312143245682
+-162	-0.0172204115325742
+-163	-0.0112282005708165
+-164	0.045034914010554
+-165	0.00699215558040877
+-166	-0.00331533192179088
+-167	-0.0190245860603562
+-168	-0.00800260302384398
+-169	-0.0268417229599795
+-170	0.0337926174874967
+-171	0.0299901254990817
+-172	0.00546001840883143
+-173	-0.0331114785270307
+-174	-0.0100509196512551
+-175	-0.0360797776791535
+-176	0.00148731167321117
+-177	0.0706998590798648
+-178	0.0165067725132839
+-179	-0.0253495351545265
+-180	-0.0357212534091994
+-181	-0.0113101599791917
+-182	-0.0363761390533369
+-183	0.0469745163800697
+-184	0.0610771540099002
+-185	0.00552862518083574
+-186	-0.0369332414763318
+-187	-0.0111795223609534
+-188	-0.0432626099842255
+-189	0.00749428956560664
+-190	0.087771964947633
+-191	0.00185581109295404
+-192	-0.0313699827844243
+-193	-0.0255394152605449
+-194	-0.0313242476969615
+-195	-0.0215433414073359
+-196	0.0618252922061284
+-197	0.0646027183854095
+-198	-0.0273965032147501
+-199	-0.0496517862033294
+-200	-0.018433346375674
+-201	-0.0411702579107107
+-202	0.0253673387035334
+-203	0.104691703014017
+-204	-0.00185448989075414
+-205	-0.0446682471573042
+-206	-0.0238238321649752
+-207	-0.0467619043304021
+-208	-0.00360887459827125
+-209	0.0793757654561071
+-210	0.0429129421022387
+-211	-0.0276583402343142
+-212	-0.0541678923378372
+-213	-0.0179592917752469
+-214	-0.0355547481831798
+-215	0.0461320988573292
+-216	0.0913448308641226
+-217	-0.01834847095298
+-218	-0.0468350861575364
+-219	-0.0339767892231334
+-220	-0.0440298850183693
+-221	0.0223578500867496
+-222	0.0933434497060592
+-223	0.0463337814726783
+-224	-0.0425574347432942
+-225	-0.0466890286886253
+-226	-0.0399961538339586
+-227	-0.0182587945265267
+-228	0.0632222098042003
+-229	0.0694906023247877
+-230	-0.0142049617016301
+-231	-0.0455291466080565
+-232	-0.0361070791379545
+-233	-0.0452564134883136
+-234	0.0510580833723044
+-235	0.0480780453494914
+-236	0.0446139327527731
+-237	-0.0522801405363582
+-238	-0.0378004800445766
+-239	-0.0470589177024096
+-240	0.0108569075440268
+-241	0.066938577476477
+-242	0.0581800021039197
+-243	-0.0194507150560373
+-244	-0.0543671997964238
+-245	-0.0401308556434312
+-246	-0.0256000479147573
+-247	0.0620205622045612
+-248	0.030523271212025
+-249	0.038296942239191
+-250	-0.0449036287763184
+-251	-0.0420966487827338
+-252	-0.0465461175034265
+-253	0.0377597573585246
+-254	0.0350560493012657
+-255	0.056093186329707
+-256	-0.0275815952046349
+-257	-0.04750423935097
+-258	-0.0432832585148503
+-259	0.0125157284398116
+-260	0.064931228957816
+-261	0.019604040715554
+-262	0.0373596111888757
+-263	-0.0636676558497218
+-264	-0.0375272240403982
+-265	-0.0361149121701811
+-266	0.0465388746567212
+-267	0.036241311622391
+-268	0.0487539350868976
+-269	-0.0287234748216925
+-270	-0.0539239644524711
+-271	-0.0436583063696183
+-272	0.0205146377795573
+-273	0.040230997344665
+-274	0.0315213860739265
+-275	0.0228897348670507
+-276	-0.0572183200160057
+-277	-0.0431270221897599
+-278	-0.00833297422506617
+-279	0.0473219005528863
+-280	0.0251629586411652
+-281	0.038915273454895
+-282	-0.0354353137808485
+-283	-0.0508161370460544
+-284	-0.036047127999377
+-285	0.0337334539194076
+-286	0.0275614274110637
+-287	0.0440004318004696
+-288	0.00961414206729694
+-289	-0.0613316463073689
+-290	-0.0452152575735171
+-291	0.00249641925695087
+-292	0.0493185930315809
+-293	0.011444255885649
+-294	0.0316360674883416
+-295	-0.0319106139816597
+-296	-0.0295989018040149
+-297	-0.0190441524352952
+-298	0.0282870892585827
+-299	0.0265353254552707
+-300	0.032273319444618
+-301	-0.000468750771499013
+-302	-0.0611876583947586
+-303	-0.0309474581592694
+-304	0.0186631754625234
+-305	0.0371821091242854
+-306	0.0145022818476083
+-307	0.0232617470286048
+-308	-0.0395688677229205
+-309	-0.0476060515379838
+-310	-0.00769044117333217
+-311	0.0353693458390462
+-312	0.0240002604802843
+-313	0.0245536637430618
+-314	-0.004415413915098
+-315	-0.0528044137604404
+-316	-0.0234265814208568
+-317	0.022470064568286
+-318	0.028915521370024
+-319	0.0211638004156281
+-320	0.0054168896988135
+-321	-0.042590350753945
+-322	-0.0284283118181943
+-323	-0.00664062749496557
+-324	0.0411480242046925
+-325	0.0128417754264411
+-326	0.0305223344547661
+-327	-0.0236579754952802
+-328	-0.0540845927671526
+-329	-0.015455893522093
+-330	0.025833520023463
+-331	0.0278005598102001
+-332	0.023042186646012
+-333	0.0188728568852482
+-334	-0.0493662121878053
+-335	-0.0261050936436941
+-336	0.0147707465979224
+-337	0.0180860444200187
+-338	0.0126826785496685
+-339	0.0298891954148176
+-340	-0.0284892193567594
+-341	-0.0442930583208295
+-342	-0.00465824613683129
+-343	0.0264974198001827
+-344	0.0160287131470608
+-345	0.0245897525651692
+-346	-0.00575496663872669
+-347	-0.0478041333821144
+-348	-0.0171938958596392
+-349	0.0121633028274292
+-350	0.0339339464445481
+-351	-0.00053023814088501
+-352	0.0326742285343647
+-353	-0.0341060707006212
+-354	-0.039748874098284
+-355	-8.49024655445998e-06
+-356	0.0279658431303204
+-357	0.00720050291043204
+-358	0.0259853074034904
+-359	-0.00689945021869653
+-360	-0.0564417535195406
+-361	0.00615675252612387
+-362	0.012211786338546
+-363	0.0210382695674554
+-364	0.00854911585033297
+-365	0.00730196086776967
+-366	-0.0376558839307909
+-367	-0.0205399505507927
+-368	0.00730027899569551
+-369	0.032246213402309
+-370	0.0091169179182096
+-371	0.0250196684542896
+-372	-0.0111591997251681
+-373	-0.0422136335522998
+-374	-0.0128579601772781
+-375	0.028053399466731
+-376	0.00354103697855516
+-377	0.0279174938103032
+-378	-0.00904722473650234
+-379	-0.028946301515676
+-380	-0.0139786293136349
+-381	0.00545851365358498
+-382	0.0190227282430585
+-383	-0.000179476269715586
+-384	0.0207231566698558
+-385	-0.0170447136957343
+-386	-0.0310486179199879
+-387	0.00187196784210256
+-388	0.0224041083616037
+-389	9.55672559842024e-06
+-390	0.028063228403911
+-391	-0.00629505686670561
+-392	-0.0353987330853413
+-393	-0.0136692381584725
+-394	0.0175671180486305
+-395	0.0138013069088845
+-396	-0.00620615793014542
+-397	0.0246579116616293
+-398	-0.0183401258366494
+-399	-0.032731274379925
+-400	0.0140881514888206
+-401	0.00766293328904026
+-402	-0.00602692518274087
+-403	0.0260538721783923
+-404	-0.00584187577452444
+-405	-0.0272022140360092
+-406	-0.00245620949388524
+-407	0.0238765788649767
+-408	0.00803221790371331
+-409	0.00486019379696553
+-410	0.0128952371994524
+-411	-0.0296483100976332
+-412	-0.0169390703239796
+-413	0.0100660026536031
+-414	0.0116526840405598
+-415	-0.00552490658166841
+-416	0.0277013713253159
+-417	-0.01262493213524
+-418	-0.0279080581956591
+-419	-0.00184485071740047
+-420	0.0083680688534008
+-421	0.00626000399151215
+-422	0.0179881429190266
+-423	-0.00447721272724791
+-424	-0.0184829817994694
+-425	-0.0111404841683833
+-426	0.0129221736981228
+-427	0.0117611123486844
+-428	-0.00973900750863823
+-429	0.0225145858300765
+-430	-0.0109220115294983
+-431	-0.0295910058303649
+-432	0.00368789876917004
+-433	0.00930110386233805
+-434	0.00564395086046309
+-435	0.0212026111611703
+-436	-0.0130378739710715
+-437	-0.0151643278007831
+-438	-0.0180440351274524
+-439	0.0151595776800046
+-440	0.00929213226473587
+-441	0.0003415659091603
+-442	0.0139565319476247
+-443	-0.00910162712841926
+-444	-0.0047413122985865
+-445	-0.00499428051231756
+-446	0.0128999469215125
+-447	-0.00928272901740709
+-448	0.0272064223470049
+-449	-0.0183788344655416
+-450	-0.0118496040154817
+-451	-0.0107494202754318
+-452	0.0182399903606553
+-453	0.00622660737187097
+-454	0.00745915020514592
+-455	-0.00127190501056035
+-456	-0.0166547143603286
+-457	-0.0103667163700212
+-458	0.00400520855528189
+-459	0.0147115427131264
+-460	-0.0160615357972689
+-461	0.0246609774312651
+-462	-0.0029333920472466
+-463	-0.0181346871754782
+-464	-0.00953567256874797
+-465	0.021178583971421
+-466	-0.012606366153552
+-467	0.0272533088449177
+-468	-0.0210280900703455
+-469	-0.00280319780800235
+-470	-0.0170463672712959
+-471	0.0183373667562639
+-472	0.0107583671313877
+-473	-0.0078936794893897
+-474	0.00778649649424241
+-475	-0.0155345265869157
+-476	-0.00613257574212038
+-477	-0.00504286887531768
+-478	0.0210772277332088
+-479	-0.0128524940267954
+-480	0.0341276652831629
+-481	-0.0170650621790446
+-482	-0.00345617548803839
+-483	-0.0129517082898899
+-484	0.0173373606064477
+-485	-0.00523973359223807
+-486	0.00844247199289556
+-487	-0.000388501685715539
+-488	-0.00941832803307521
+-489	-0.00657732323629541
+-490	0.00367271132008509
+-491	0.0104986289066865
+-492	-0.012121254212176
+-493	0.0144869605589711
+-494	-0.00864941651177608
+-495	-0.01112718777137
+-496	-0.00334819620816524
+-497	0.0185220421918073
+-498	-0.00800250333583432
+-499	0.0161430412671399
+-500	-0.00811904696073173
+-501	-0.0131958246871404
+-502	0.00283288244567032
+-503	0.00400534218369864
+-504	0.00517285959530552
+-505	-0.0113016945649371
+-506	0.0133257896160407
+-507	-0.0100249708015443
+-508	-0.00256099015771646
+-509	0.000136766223360138
+-510	0.00855194730142931
+-511	-0.00531138706017324
+-512	0.00204161899934194
+-513	-0.00420598958751402
+-514	-0.00547421378316814
+-515	-0.00769199850530263
+-516	0.0216892032285094
+-517	0.00908736119849349
+-518	-0.00700354150287694
+-519	0.00385030902693081
+-520	-0.0123494297246387
+-521	0.000934704276073887
+-522	0.00705709592844499
+-523	-0.00114787001008378
+-524	-0.00210811799844287
+-525	0.00379518996660863
+-526	-0.00476039992301502
+-527	0.00251331815987456
+-528	-0.00826728020183847
+-529	0.00902402695322199
+-530	0.000870562551920878
+-531	-0.00348481579363119
+-532	-0.00125547085943994
+-533	-0.00457730270844353
+-534	0.000670589363068931
+-535	0.00203788465196431
+-536	0.00608567369144255
+-537	2.19715778381094e-05
+-538	-0.0039030628395208
+-539	0.00512758275114747
+-540	-0.0144646664397469
+-541	0.0094686570477374
+-542	0.00274671581906305
+-543	-0.00678173613063177
+-544	-0.00229002671014199
+-545	0.00592727900087354
+-546	-0.00816015486873931
+-547	0.00907388451433627
+-548	0.0018377578149579
+-549	-0.0127399753897002
+-550	0.0103068975915084
+-551	-0.0106787121790095
+-552	0.00570246495524106
+-553	-0.00038055365375568
+-554	0.0105773030205816
+-555	0.00595131841957403
+-556	-0.00509875005695669
+-557	-0.00822359585740647
+-558	0.00452689845139232
+-559	-0.00293270803490497
+-560	0.00105079194795726
+-561	0.0109353635798441
+-562	-0.0197506449586046
+-563	0.0218239959802497
+-564	-0.0146510772378776
+-565	-0.0031545366575823
+-566	0.00360976923040136
+-567	0.00133537648121434
+-568	-0.00289782413008785
+-569	0.00758892970442103
+-570	-0.0141005351769624
+-571	0.00987824122870196
+-572	-0.00255558849302304
+-573	0.000744149940492195
+-574	0.0106602498970704
+-575	-0.0142431009887286
+-576	0.00996314897224239
+-577	-0.0104990007985002
+-578	0.00109353754269881
+-579	-0.00275371958433224
+-580	0.0113885636424959
+-581	-0.0150512253599863
+-582	0.022337619882076
+-583	-0.0216778389670573
+-584	0.00863828810448533
+-585	-0.00918952923772199
+-586	0.00354541072669278
+-587	0.00186796377320277
+-588	-0.00419542916327283
+-589	0.00975603734830963
+-590	-0.00452668353073013
+-591	0.00310061328497863
+-592	0.00522892318692988
+-593	0.000452603861773268
+-594	-0.00392697607921247
+-595	0.00863249154941176
+-596	-0.00832078201242865
+-597	-0.00394497658086084
+-598	-0.00605451952414724
+-599	0.0162191796757364
+-600	-0.0110909733185336
+-601	0.00720572232121751
+-602	0.00218507796543462
+-603	-0.00965401693454912
+-604	-0.0108892449738329
+-605	0.0182573291106095
+-606	-0.0101848710757151
+-607	0.00753912620319138
+-608	0.00552590397878413
+-609	-0.00699240285933447
+-610	-0.00592445874426432
+-611	0.00181675318258215
+-612	0.00596213285085161
+-613	-0.00175858286015883
+-614	0.00407450191848153
+-615	-0.00135060667016455
+-616	-0.0132703466359575
+-617	0.00119500154487564
+-618	0.0104207042421722
+-619	-0.0101546955527216
+-620	0.0151923635732439
+-621	-0.00273197735893913
+-622	-0.00716289238336821
+-623	-0.0171181101464724
+-624	0.0167209884450157
+-625	-0.00638456270553197
+-626	0.0115244846746483
+-627	0.00412387285497462
+-628	0.00522037750437085
+-629	-0.0207335154052575
+-630	0.0107397344182975
+-631	0.000446658250956307
+-632	-0.00502788594559083
+-633	0.0186557262987464
+-634	-0.00802823332161929
+-635	-0.0113496131760766
+-636	-0.00301246620601798
+-637	0.00960017707242071
+-638	-0.0101983443096708
+-639	0.0185874661412788
+-640	-0.00796700063418294
+-641	0.000800373366255129
+-642	-0.0142259171933031
+-643	0.00675256815377976
+-644	-0.00261054615159158
+-645	0.00391449782418117
+-646	0.0139874531474154
+-647	0.00530840019489214
+-648	-0.0271260591182079
+-649	0.00229999324419244
+-650	0.0012589433396212
+-651	0.000592814947107167
+-652	0.0201903818074188
+-653	-0.0109069610093694
+-654	0.000612907033154517
+-655	-0.0168429348765485
+-656	0.00867757131382127
+-657	-0.00734945498589961
+-658	0.0116794460570149
+-659	0.00508627131689495
+-660	0.00338584069635359
+-661	-0.0248824043490218
+-662	0.00165251679722703
+-663	0.00150493225276704
+-664	0.0136218056659362
+-665	0.0185790451050334
+-666	-0.00254472668221909
+-667	-0.012289308557362
+-668	-0.0144954370766794
+-669	0.00122172858017179
+-670	0.0025962904924925
+-671	0.0163382999614507
+-672	0.00111261978891954
+-673	0.0032877612305335
+-674	-0.0260369810192395
+-675	0.00159666131197362
+-676	-0.00532940173394529
+-677	0.0172320321775677
+-678	0.00869668235164475
+-679	0.00291575973127735
+-680	-0.015462218778181
+-681	-0.0118608792720508
+-682	-0.00220903962177873
+-683	0.0120179152403506
+-684	0.0136302482537954
+-685	0.00904529400779457
+-686	-0.00689602667015569
+-687	-0.0285633522016709
+-688	-0.00218285494634568
+-689	0.00546702558234338
+-690	0.0209141673516685
+-691	0.00370465573465944
+-692	0.00302297586155796
+-693	-0.016485314433266
+-694	-0.0140010121985048
+-695	-0.00666402217308437
+-696	0.0185309777178555
+-697	0.00524546360988583
+-698	0.0136885255750835
+-699	-0.0104440356403008
+-700	-0.0241256457948681
+-701	-0.000785820295910417
+-702	0.0158790422192167
+-703	0.0148074455993449
+-704	0.0148524900638902
+-705	-0.0115456319714617
+-706	-0.0170567215815039
+-707	-0.0158838823574548
+-708	0.00366739139639638
+-709	0.0229702948653725
+-710	0.00020925945941642
+-711	0.016393506286626
+-712	-0.0146752015343459
+-713	-0.0266439752231523
+-714	-0.0106049447476659
+-715	0.0200857710496951
+-716	0.0159019417251445
+-717	0.014477526739592
+-718	-0.0114112270538866
+-719	-0.0170568864212781
+-720	-0.0198060133943224
+-721	0.0141195633193631
+-722	0.0169697876976791
+-723	0.0111601506150928
+-724	0.000736029778776562
+-725	-0.0138823704910304
+-726	-0.0297759947577568
+-727	0.000877318422704956
+-728	0.0245870344818203
+-729	0.00991534185785315
+-730	0.0167371008710776
+-731	-0.01846756355292
+-732	-0.0143120279886695
+-733	-0.0275565546549941
+-734	0.0192359115781678
+-735	0.0161720734394042
+-736	0.0126768844333159
+-737	0.00181190220867761
+-738	-0.0108467971335452
+-739	-0.0304794501225128
+-740	0.00782220949913542
+-741	0.0209517859747924
+-742	0.0159210578956611
+-743	0.00507627421897103
+-744	-0.0185977878326676
+-745	-0.0172160801840428
+-746	-0.0154503291175863
+-747	0.0240468087097962
+-748	0.00881259580601295
+-749	0.0159692498562702
+-750	-0.00910054705411617
+-751	-0.0182022490122094
+-752	-0.0240881360450285
+-753	0.0120777690684819
+-754	0.018009925362029
+-755	0.0180902063329173
+-756	0.000256136047852365
+-757	-0.013362593701584
+-758	-0.0228122214255098
+-759	-0.00694060235600491
+-760	0.0215395702278941
+-761	0.0146271311142691
+-762	0.0042224855013385
+-763	-0.00912079764567066
+-764	-0.0192977028904618
+-765	-0.0141955473974918
+-766	0.0183439845354601
+-767	0.00930105732395573
+-768	0.0184551584403917
+-769	-0.00463309866829429
+-770	-0.0226061978674481
+-771	-0.0126560635461022
+-772	-0.00415731908001533
+-773	0.0187754008269273
+-774	0.0180023436241415
+-775	0.00200677790387502
+-776	-0.00390091363657905
+-777	-0.0259097935663753
+-778	-0.00352849460582893
+-779	0.0114869717500844
+-780	0.0181590467496427
+-781	0.00541354714803118
+-782	-0.00341446349188591
+-783	-0.0224873784300854
+-784	-0.00419373295829652
+-785	0.00151844686046239
+-786	0.0113650109976602
+-787	0.0158002722634896
+-788	-0.00669123138348563
+-789	-0.00944030297158121
+-790	-0.0128471454926811
+-791	-0.00195425126313221
+-792	0.0074970279200069
+-793	0.0181288263041054
+-794	0.00373580246921938
+-795	-0.00738898492727174
+-796	-0.0131007631291169
+-797	-0.000982016348095141
+-798	-0.0077218774351863
+-799	0.0213289345403391
+-800	0.00354948225668615
+-801	-0.00464603451943496
+-802	-0.0112940265794087
+-803	-0.00402400060757488
+-804	0.00328202388625696
+-805	-0.00289756468799923
+-806	0.0217143167615233
+-807	-0.00723480130387542
+-808	-0.0106385305584251
+-809	-0.000880622168562012
+-810	0.00236278291649433
+-811	-0.0102116844250211
+-812	0.0231430095296313
+-813	0.000498636796683443
+-814	-0.00822238911567211
+-815	-0.000690473274202945
+-816	-0.0041688749017029
+-817	-0.00252158403219581
+-818	0.00607821741975229
+-819	0.00777977338604755
+-820	-0.00207050788971321
+-821	-0.0140240864712808
+-822	0.00947155215423528
+-823	-0.00138467437610252
+-824	-0.00770142306481203
+-825	0.0154602942265093
+-826	-0.00445857492028323
+-827	-0.0101772151931684
+-828	0.0100179562755017
+-829	-0.00101796933766295
+-830	-0.0119434679802116
+-831	0.0102774737624907
+-832	0.00478068349303803
+-833	-0.00664556216054719
+-834	-0.00197743246531773
+-835	0.00543784524388563
+-836	-0.0052886241893568
+-837	0.0026439850351734
+-838	0.0030919842085538
+-839	-0.00804500518577692
+-840	-0.0010416922039517
+-841	0.0108884645351451
+-842	-0.00566073610826143
+-843	-0.00188898403884589
+-844	-0.000623624431978478
+-845	0.00428626298895372
+-846	-0.0114117004140406
+-847	0.0070058534073635
+-848	0.01316321553763
+-849	-0.0134743452627623
+-850	0.00646873802741608
+-851	-0.000711439355883821
+-852	-0.0120290310079327
+-853	0.00776340536975608
+-854	0.0121426740397341
+-855	-0.0112997696592519
+-856	0.00101867582065373
+-857	-0.00437667036049063
+-858	0.000320275817054275
+-859	-0.000142126707409615
+-860	0.00721775365468403
+-861	0.00498981583349973
+-862	-0.00501663994971829
+-863	-0.00749187478362105
+-864	-0.00349429603220739
+-865	0.00096737598977786
+-866	0.00699694065608912
+-867	0.00691803448626803
+-868	-0.000449901074230268
+-869	-0.00445988048738086
+-870	-0.00905628623058306
+-871	-0.00235661129997502
+-872	0.00676090763319871
+-873	0.00895030192113989
+-874	4.49454384220283e-05
+-875	-0.00263532947240222
+-876	-0.010297542142376
+-877	-0.010415543599356
+-878	0.0128496698052284
+-879	0.00696638356949457
+-880	0.00214959987087146
+-881	0.00604766744508239
+-882	-0.0149547634792813
+-883	-0.0133886474253249
+-884	0.00661648124666426
+-885	0.010135062194657
+-886	0.0058559958108212
+-887	0.00957431092209329
+-888	-0.0090398903790597
+-889	-0.0199467380548428
+-890	-0.000587629934548291
+-891	0.0110510611921795
+-892	0.0128725674330994
+-893	-0.00402188300253153
+-894	0.00737831485228642
+-895	-0.0184423803339027
+-896	-0.0110288361296573
+-897	0.00890220929064295
+-898	0.0094403783725091
+-899	-0.000809138837552774
+-900	0.0116542051582576
+-901	-0.0107875510009573
+-902	-0.0180296809250011
+-903	0.00306299530457164
+-904	0.0106046718313357
+-905	0.0100756629359416
+-906	0.00402229149764495
+-907	-0.00423755437734391
+-908	-0.0147679502849595
+-909	-0.00876645613183849
+-910	0.00937383395424556
+-911	0.00762135328148195
+-912	0.00589312291049009
+-913	0.00527632712012485
+-914	-0.0150771941451772
+-915	-0.0126209222242841
+-916	0.00209594315460717
+-917	0.0150533771997464
+-918	-0.000323609234544641
+-919	0.00910288654678051
+-920	-0.00768699605697063
+-921	-0.0131267840299683
+-922	-0.00394519352651183
+-923	0.0112577773951416
+-924	0.00193303552341244
+-925	0.0155473373100893
+-926	-0.0059851304642569
+-927	-0.0127129091731764
+-928	-0.010012705310311
+-929	0.00314209573634191
+-930	0.0111473003309339
+-931	0.00788913702307995
+-932	0.00305911972139761
+-933	-0.00846335727494071
+-934	-0.0122811720479955
+-935	-0.0061049349645249
+-936	0.00712178796175147
+-937	0.0109366030876719
+-938	0.010847685977904
+-939	-0.00884829082408408
+-940	-0.00833721747749976
+-941	-0.0119098033912994
+-942	0.00740468154428091
+-943	0.0055679748392607
+-944	0.0108164694058525
+-945	0.000125955287551805
+-946	-0.00747241615545713
+-947	-0.00869573388304389
+-948	-0.00354302687064023
+-949	0.00160999946217594
+-950	0.0205396965281884
+-951	-0.00211607394891862
+-952	-0.00622739874288181
+-953	-0.00653488891371642
+-954	-0.00979554730684349
+-955	0.000613100471788197
+-956	0.0166711334404957
+-957	0.00616769987888474
+-958	-0.00491976982344559
+-959	-0.00424317633763101
+-960	-0.00827918671212606
+-961	-0.00604128020653073
+-962	0.00958577837280408
+-963	0.0149354906693512
+-964	-0.00421686394063702
+-965	-0.00316215046844813
+-966	-0.0064530371820805
+-967	-0.00662231958613653
+-968	0.00112156121486116
+-969	0.0109421973075187
+-970	0.00437305640139855
+-971	-0.00455774256532607
+-972	-0.00437412532272711
+-973	-0.00518337545866395
+-974	-0.00400100467146524
+-975	0.0127573808612559
+-976	0.00366553037525621
+-977	-0.00238554249362654
+-978	-0.00329057674587693
+-979	-0.00396527990664183
+-980	-0.00266571430247101
+-981	0.00338581958247141
+-982	0.00669480510272971
+-983	-0.000520566185644882
+-984	-0.00202730064400516
+-985	-0.00225103555436894
+-986	-0.00175391520986938
+-987	-0.0030237079249996
+-988	0.00556348089902938
+-989	0.00016537124990895
+-990	0.000366191847904269
+-991	-0.000403568297995977
+-992	-0.000980716337890804
+-993	-0.00107150539540352
+-994	-0.00116888364602599
+-995	0.00111545140635789
+-996	0.000974863549210892
+-997	0.000888586420263992
+-998	0.0007092258397136
+-999	0.000470368356747198
+diff --git a/lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_safe.dat b/lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_safe.dat
+deleted file mode 100644
+index feedffb..0000000
+--- a/lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_safe.dat
++++ /dev/null
+@@ -1,1001 +0,0 @@
+-#scatter	real	total	user	system	repeat
+-1	0.023082971572876	0.019999999999996	0.019999999999996	0.0	1
+-2	0.0226471424102783	0.0300000000000011	0.0300000000000011	0.0	2
+-3	0.0225150585174561	0.0200000000000102	0.0200000000000102	0.0	3
+-4	0.0226900577545166	0.019999999999996	0.019999999999996	0.0	4
+-5	0.0225200653076172	0.019999999999996	0.019999999999996	0.0	5
+-6	0.0237810611724854	0.0300000000000011	0.0300000000000011	0.0	6
+-7	0.0472888946533203	0.0400000000000063	0.0400000000000063	0.0	7
+-8	0.022852897644043	0.0300000000000011	0.0300000000000011	0.0	8
+-9	0.0266950130462646	0.019999999999996	0.019999999999996	0.0	9
+-10	0.0224850177764893	0.0300000000000011	0.0300000000000011	0.0	10
+-11	0.0223457813262939	0.019999999999996	0.019999999999996	0.0	11
+-12	0.0224599838256836	0.019999999999996	0.019999999999996	0.0	12
+-13	0.0224049091339111	0.0200000000000102	0.0200000000000102	0.0	13
+-14	0.0482068061828613	0.0499999999999972	0.0499999999999972	0.0	14
+-15	0.0226612091064453	0.019999999999996	0.019999999999996	0.0	15
+-16	0.0224330425262451	0.019999999999996	0.019999999999996	0.0	16
+-17	0.0224549770355225	0.019999999999996	0.019999999999996	0.0	17
+-18	0.0225000381469727	0.0200000000000102	0.0200000000000102	0.0	18
+-19	0.0258901119232178	0.0300000000000011	0.0300000000000011	0.0	19
+-20	0.0469810962677002	0.0499999999999972	0.0499999999999972	0.0	20
+-21	0.0228328704833984	0.019999999999996	0.019999999999996	0.0	21
+-22	0.0226919651031494	0.019999999999996	0.019999999999996	0.0	22
+-23	0.022468090057373	0.0200000000000102	0.0200000000000102	0.0	23
+-24	0.0230059623718262	0.0299999999999869	0.0299999999999869	0.0	24
+-25	0.0221710205078125	0.0200000000000102	0.0200000000000102	0.0	25
+-26	0.0221641063690186	0.019999999999996	0.019999999999996	0.0	26
+-27	0.0475480556488037	0.0499999999999972	0.0499999999999972	0.0	27
+-28	0.025291919708252	0.0200000000000102	0.0200000000000102	0.0	28
+-29	0.0225188732147217	0.0299999999999869	0.0299999999999869	0.0	29
+-30	0.0293300151824951	0.0300000000000011	0.0300000000000011	0.0	30
+-31	0.0234100818634033	0.0200000000000102	0.0200000000000102	0.0	31
+-32	0.0224781036376953	0.019999999999996	0.019999999999996	0.0	32
+-33	0.0478579998016357	0.0499999999999972	0.0499999999999972	0.0	33
+-34	0.0229699611663818	0.019999999999996	0.019999999999996	0.0	34
+-35	0.0227549076080322	0.0300000000000011	0.0300000000000011	0.0	35
+-36	0.0226318836212158	0.0200000000000102	0.0200000000000102	0.0	36
+-37	0.0262620449066162	0.019999999999996	0.019999999999996	0.0	37
+-38	0.0223979949951172	0.0300000000000011	0.0300000000000011	0.0	38
+-39	0.0222330093383789	0.019999999999996	0.019999999999996	0.0	39
+-40	0.0477039813995361	0.0499999999999972	0.0499999999999972	0.0	40
+-41	0.0228910446166992	0.0200000000000102	0.0200000000000102	0.0	41
+-42	0.0233700275421143	0.019999999999996	0.019999999999996	0.0	42
+-43	0.0224530696868896	0.0300000000000011	0.0300000000000011	0.0	43
+-44	0.0225670337677002	0.019999999999996	0.019999999999996	0.0	44
+-45	0.0227048397064209	0.019999999999996	0.019999999999996	0.0	45
+-46	0.0222969055175781	0.0200000000000102	0.0200000000000102	0.0	46
+-47	0.050562858581543	0.0499999999999972	0.0499999999999972	0.0	47
+-48	0.0228369235992432	0.0300000000000011	0.0300000000000011	0.0	48
+-49	0.0225470066070557	0.019999999999996	0.019999999999996	0.0	49
+-50	0.02256178855896	0.019999999999996	0.019999999999996	0.0	50
+-51	0.0225701332092285	0.0300000000000011	0.0300000000000011	0.0	51
+-52	0.0230269432067871	0.019999999999996	0.019999999999996	0.0	52
+-53	0.0470359325408936	0.0500000000000114	0.0500000000000114	0.0	53
+-54	0.0227799415588379	0.019999999999996	0.019999999999996	0.0	54
+-55	0.0225660800933838	0.019999999999996	0.019999999999996	0.0	55
+-56	0.025252103805542	0.0300000000000011	0.0300000000000011	0.0	56
+-57	0.0222170352935791	0.019999999999996	0.019999999999996	0.0	57
+-58	0.0221600532531738	0.0200000000000102	0.0200000000000102	0.0	58
+-59	0.0222020149230957	0.019999999999996	0.019999999999996	0.0	59
+-60	0.0476398468017578	0.0499999999999972	0.0499999999999972	0.0	60
+-61	0.022913932800293	0.019999999999996	0.019999999999996	0.0	61
+-62	0.0225539207458496	0.0300000000000011	0.0300000000000011	0.0	62
+-63	0.0225050449371338	0.0200000000000102	0.0200000000000102	0.0	63
+-64	0.022601842880249	0.019999999999996	0.019999999999996	0.0	64
+-65	0.0236048698425293	0.0300000000000011	0.0300000000000011	0.0	65
+-66	0.0489590167999268	0.039999999999992	0.039999999999992	0.0	66
+-67	0.0297541618347168	0.0300000000000011	0.0300000000000011	0.0	67
+-68	0.0229940414428711	0.0300000000000011	0.0300000000000011	0.0	68
+-69	0.0228681564331055	0.0200000000000102	0.0200000000000102	0.0	69
+-70	0.0228149890899658	0.019999999999996	0.019999999999996	0.0	70
+-71	0.0225210189819336	0.0300000000000011	0.0300000000000011	0.0	71
+-72	0.022305965423584	0.019999999999996	0.019999999999996	0.0	72
+-73	0.0474321842193604	0.0499999999999972	0.0499999999999972	0.0	73
+-74	0.0265100002288818	0.0200000000000102	0.0200000000000102	0.0	74
+-75	0.0226712226867676	0.019999999999996	0.019999999999996	0.0	75
+-76	0.022493839263916	0.0300000000000011	0.0300000000000011	0.0	76
+-77	0.0225288867950439	0.019999999999996	0.019999999999996	0.0	77
+-78	0.0226340293884277	0.019999999999996	0.019999999999996	0.0	78
+-79	0.0476889610290527	0.0499999999999972	0.0499999999999972	0.0	79
+-80	0.0229480266571045	0.0200000000000102	0.0200000000000102	0.0	80
+-81	0.0228819847106934	0.0300000000000011	0.0300000000000011	0.0	81
+-82	0.0227799415588379	0.019999999999996	0.019999999999996	0.0	82
+-83	0.0224130153656006	0.019999999999996	0.019999999999996	0.0	83
+-84	0.0260109901428223	0.0300000000000011	0.0300000000000011	0.0	84
+-85	0.0223500728607178	0.019999999999996	0.019999999999996	0.0	85
+-86	0.0476620197296143	0.0500000000000114	0.0500000000000114	0.0	86
+-87	0.022737979888916	0.019999999999996	0.019999999999996	0.0	87
+-88	0.0233170986175537	0.019999999999996	0.019999999999996	0.0	88
+-89	0.0224459171295166	0.0300000000000011	0.0300000000000011	0.0	89
+-90	0.0226268768310547	0.019999999999996	0.019999999999996	0.0	90
+-91	0.0225470066070557	0.0200000000000102	0.0200000000000102	0.0	91
+-92	0.0492300987243652	0.0499999999999972	0.0499999999999972	0.0	92
+-93	0.0236849784851074	0.019999999999996	0.019999999999996	0.0	93
+-94	0.0227689743041992	0.0300000000000011	0.0300000000000011	0.0	94
+-95	0.022672176361084	0.019999999999996	0.019999999999996	0.0	95
+-96	0.022651195526123	0.0200000000000102	0.0200000000000102	0.0	96
+-97	0.0225498676300049	0.0300000000000011	0.0300000000000011	0.0	97
+-98	0.0222620964050293	0.019999999999996	0.019999999999996	0.0	98
+-99	0.0475699901580811	0.0499999999999972	0.0499999999999972	0.0	99
+-100	0.0227551460266113	0.019999999999996	0.019999999999996	0.0	100
+-101	0.0227038860321045	0.0200000000000102	0.0200000000000102	0.0	101
+-102	0.0256071090698242	0.0300000000000011	0.0300000000000011	0.0	102
+-103	0.0226211547851562	0.019999999999996	0.019999999999996	0.0	103
+-104	0.0256171226501465	0.0300000000000011	0.0300000000000011	0.0	104
+-105	0.051800012588501	0.0499999999999972	0.0499999999999972	0.0	105
+-106	0.023643970489502	0.019999999999996	0.019999999999996	0.0	106
+-107	0.0227420330047607	0.019999999999996	0.019999999999996	0.0	107
+-108	0.0226438045501709	0.0300000000000011	0.0300000000000011	0.0	108
+-109	0.022442102432251	0.0200000000000102	0.0200000000000102	0.0	109
+-110	0.0223290920257568	0.019999999999996	0.019999999999996	0.0	110
+-111	0.0222249031066895	0.019999999999996	0.019999999999996	0.0	111
+-112	0.0505638122558594	0.0499999999999972	0.0499999999999972	0.0	112
+-113	0.0227949619293213	0.0300000000000011	0.0300000000000011	0.0	113
+-114	0.0227949619293213	0.0200000000000102	0.0200000000000102	0.0	114
+-115	0.0225298404693604	0.019999999999996	0.019999999999996	0.0	115
+-116	0.0225038528442383	0.019999999999996	0.019999999999996	0.0	116
+-117	0.0231928825378418	0.0300000000000011	0.0300000000000011	0.0	117
+-118	0.0223879814147949	0.019999999999996	0.019999999999996	0.0	118
+-119	0.0476298332214355	0.0500000000000114	0.0500000000000114	0.0	119
+-120	0.0247969627380371	0.019999999999996	0.019999999999996	0.0	120
+-121	0.0240130424499512	0.0300000000000011	0.0300000000000011	0.0	121
+-122	0.0225648880004883	0.019999999999996	0.019999999999996	0.0	122
+-123	0.0225870609283447	0.019999999999996	0.019999999999996	0.0	123
+-124	0.0225720405578613	0.0300000000000011	0.0300000000000011	0.0	124
+-125	0.0477638244628906	0.0400000000000063	0.0400000000000063	0.0	125
+-126	0.0232040882110596	0.0300000000000011	0.0300000000000011	0.0	126
+-127	0.0227577686309814	0.019999999999996	0.019999999999996	0.0	127
+-128	0.0225858688354492	0.019999999999996	0.019999999999996	0.0	128
+-129	0.0224049091339111	0.0200000000000102	0.0200000000000102	0.0	129
+-130	0.0251419544219971	0.0300000000000011	0.0300000000000011	0.0	130
+-131	0.0224969387054443	0.019999999999996	0.019999999999996	0.0	131
+-132	0.0474879741668701	0.0499999999999972	0.0499999999999972	0.0	132
+-133	0.0228550434112549	0.019999999999996	0.019999999999996	0.0	133
+-134	0.0226738452911377	0.0300000000000011	0.0300000000000011	0.0	134
+-135	0.0226309299468994	0.019999999999996	0.019999999999996	0.0	135
+-136	0.0224778652191162	0.0200000000000102	0.0200000000000102	0.0	136
+-137	0.0225551128387451	0.019999999999996	0.019999999999996	0.0	137
+-138	0.0470321178436279	0.0499999999999972	0.0499999999999972	0.0	138
+-139	0.0260279178619385	0.0300000000000011	0.0300000000000011	0.0	139
+-140	0.0227389335632324	0.019999999999996	0.019999999999996	0.0	140
+-141	0.029339075088501	0.0300000000000011	0.0300000000000011	0.0	141
+-142	0.0226800441741943	0.0200000000000102	0.0200000000000102	0.0	142
+-143	0.0223538875579834	0.019999999999996	0.019999999999996	0.0	143
+-144	0.0231339931488037	0.0300000000000011	0.0300000000000011	0.0	144
+-145	0.0474388599395752	0.039999999999992	0.039999999999992	0.0	145
+-146	0.0227169990539551	0.0300000000000011	0.0300000000000011	0.0	146
+-147	0.0225269794464111	0.0200000000000102	0.0200000000000102	0.0	147
+-148	0.0240280628204346	0.019999999999996	0.019999999999996	0.0	148
+-149	0.0242280960083008	0.0300000000000011	0.0300000000000011	0.0	149
+-150	0.0225520133972168	0.019999999999996	0.019999999999996	0.0	150
+-151	0.0471599102020264	0.0499999999999972	0.0499999999999972	0.0	151
+-152	0.0230400562286377	0.0200000000000102	0.0200000000000102	0.0	152
+-153	0.0234670639038086	0.019999999999996	0.019999999999996	0.0	153
+-154	0.0225429534912109	0.0300000000000011	0.0300000000000011	0.0	154
+-155	0.0225739479064941	0.019999999999996	0.019999999999996	0.0	155
+-156	0.0225040912628174	0.019999999999996	0.019999999999996	0.0	156
+-157	0.0224270820617676	0.0200000000000102	0.0200000000000102	0.0	157
+-158	0.050184965133667	0.0499999999999972	0.0499999999999972	0.0	158
+-159	0.0228159427642822	0.0300000000000011	0.0300000000000011	0.0	159
+-160	0.0225830078125	0.019999999999996	0.019999999999996	0.0	160
+-161	0.0224440097808838	0.019999999999996	0.019999999999996	0.0	161
+-162	0.0228800773620605	0.0200000000000102	0.0200000000000102	0.0	162
+-163	0.0230019092559814	0.0299999999999869	0.0299999999999869	0.0	163
+-164	0.0468800067901611	0.0400000000000063	0.0400000000000063	0.0	164
+-165	0.0230178833007812	0.019999999999996	0.019999999999996	0.0	165
+-166	0.0227179527282715	0.0300000000000011	0.0300000000000011	0.0	166
+-167	0.0280098915100098	0.0200000000000102	0.0200000000000102	0.0	167
+-168	0.0224480628967285	0.0299999999999869	0.0299999999999869	0.0	168
+-169	0.0222821235656738	0.0200000000000102	0.0200000000000102	0.0	169
+-170	0.0222339630126953	0.019999999999996	0.019999999999996	0.0	170
+-171	0.0482370853424072	0.0499999999999972	0.0499999999999972	0.0	171
+-172	0.0229589939117432	0.019999999999996	0.019999999999996	0.0	172
+-173	0.0225811004638672	0.0200000000000102	0.0200000000000102	0.0	173
+-174	0.0225679874420166	0.0300000000000011	0.0300000000000011	0.0	174
+-175	0.0226399898529053	0.019999999999996	0.019999999999996	0.0	175
+-176	0.0225110054016113	0.019999999999996	0.019999999999996	0.0	176
+-177	0.0512759685516357	0.0599999999999881	0.0499999999999972	0.01	177
+-178	0.0293910503387451	0.0300000000000011	0.0300000000000011	0.0	178
+-179	0.0228638648986816	0.0200000000000102	0.0200000000000102	0.0	179
+-180	0.0226418972015381	0.0300000000000011	0.0300000000000011	0.0	180
+-181	0.0233349800109863	0.019999999999996	0.019999999999996	0.0	181
+-182	0.0224719047546387	0.019999999999996	0.019999999999996	0.0	182
+-183	0.0222139358520508	0.019999999999996	0.019999999999996	0.0	183
+-184	0.0475149154663086	0.0500000000000114	0.0500000000000114	0.0	184
+-185	0.0268290042877197	0.0300000000000011	0.0300000000000011	0.0	185
+-186	0.0225980281829834	0.019999999999996	0.019999999999996	0.0	186
+-187	0.0224361419677734	0.019999999999996	0.019999999999996	0.0	187
+-188	0.0225210189819336	0.0300000000000011	0.0300000000000011	0.0	188
+-189	0.022615909576416	0.019999999999996	0.019999999999996	0.0	189
+-190	0.0477218627929688	0.0499999999999972	0.0499999999999972	0.0	190
+-191	0.0229659080505371	0.0200000000000102	0.0200000000000102	0.0	191
+-192	0.0230429172515869	0.019999999999996	0.019999999999996	0.0	192
+-193	0.0226750373840332	0.0300000000000011	0.0300000000000011	0.0	193
+-194	0.0224380493164062	0.019999999999996	0.019999999999996	0.0	194
+-195	0.0255289077758789	0.0200000000000102	0.0200000000000102	0.0	195
+-196	0.0223410129547119	0.0299999999999869	0.0299999999999869	0.0	196
+-197	0.0477759838104248	0.0400000000000063	0.0400000000000063	0.0	197
+-198	0.0227560997009277	0.0300000000000011	0.0300000000000011	0.0	198
+-199	0.0232150554656982	0.019999999999996	0.019999999999996	0.0	199
+-200	0.0224218368530273	0.019999999999996	0.019999999999996	0.0	200
+-201	0.0226380825042725	0.0300000000000011	0.0300000000000011	0.0	201
+-202	0.0225119590759277	0.0200000000000102	0.0200000000000102	0.0	202
+-203	0.0471208095550537	0.0499999999999972	0.0499999999999972	0.0	203
+-204	0.0271830558776855	0.019999999999996	0.019999999999996	0.0	204
+-205	0.0227551460266113	0.0300000000000011	0.0300000000000011	0.0	205
+-206	0.0225760936737061	0.019999999999996	0.019999999999996	0.0	206
+-207	0.0225489139556885	0.0200000000000102	0.0200000000000102	0.0	207
+-208	0.0224738121032715	0.019999999999996	0.019999999999996	0.0	208
+-209	0.0224080085754395	0.019999999999996	0.019999999999996	0.0	209
+-210	0.0474929809570312	0.0499999999999972	0.0499999999999972	0.0	210
+-211	0.0227348804473877	0.0200000000000102	0.0200000000000102	0.0	211
+-212	0.0227007865905762	0.0300000000000011	0.0300000000000011	0.0	212
+-213	0.0257821083068848	0.019999999999996	0.019999999999996	0.0	213
+-214	0.0230338573455811	0.0300000000000011	0.0300000000000011	0.0	214
+-215	0.0283098220825195	0.019999999999996	0.019999999999996	0.0	215
+-216	0.048043966293335	0.0499999999999972	0.0499999999999972	0.0	216
+-217	0.0241200923919678	0.0300000000000011	0.0300000000000011	0.0	217
+-218	0.0226061344146729	0.019999999999996	0.019999999999996	0.0	218
+-219	0.0226290225982666	0.0200000000000102	0.0200000000000102	0.0	219
+-220	0.0223400592803955	0.019999999999996	0.019999999999996	0.0	220
+-221	0.0222020149230957	0.019999999999996	0.019999999999996	0.0	221
+-222	0.0221819877624512	0.019999999999996	0.019999999999996	0.0	222
+-223	0.0513238906860352	0.0499999999999972	0.0499999999999972	0.0	223
+-224	0.0227959156036377	0.0200000000000102	0.0200000000000102	0.0	224
+-225	0.02286696434021	0.0300000000000011	0.0300000000000011	0.0	225
+-226	0.0226180553436279	0.019999999999996	0.019999999999996	0.0	226
+-227	0.0225269794464111	0.019999999999996	0.019999999999996	0.0	227
+-228	0.0236740112304688	0.0300000000000011	0.0300000000000011	0.0	228
+-229	0.0473580360412598	0.0400000000000063	0.0400000000000063	0.0	229
+-230	0.0230889320373535	0.0300000000000011	0.0300000000000011	0.0	230
+-231	0.0243098735809326	0.019999999999996	0.019999999999996	0.0	231
+-232	0.0242350101470947	0.019999999999996	0.019999999999996	0.0	232
+-233	0.0224809646606445	0.0300000000000011	0.0300000000000011	0.0	233
+-234	0.0225131511688232	0.019999999999996	0.019999999999996	0.0	234
+-235	0.0222058296203613	0.0200000000000102	0.0200000000000102	0.0	235
+-236	0.0484139919281006	0.0499999999999972	0.0499999999999972	0.0	236
+-237	0.0229649543762207	0.019999999999996	0.019999999999996	0.0	237
+-238	0.0226538181304932	0.0300000000000011	0.0300000000000011	0.0	238
+-239	0.0224990844726562	0.019999999999996	0.019999999999996	0.0	239
+-240	0.0224988460540771	0.0200000000000102	0.0200000000000102	0.0	240
+-241	0.0252270698547363	0.0300000000000011	0.0300000000000011	0.0	241
+-242	0.0471029281616211	0.039999999999992	0.039999999999992	0.0	242
+-243	0.0229470729827881	0.0300000000000011	0.0300000000000011	0.0	243
+-244	0.0228309631347656	0.019999999999996	0.019999999999996	0.0	244
+-245	0.0227391719818115	0.0200000000000102	0.0200000000000102	0.0	245
+-246	0.0233259201049805	0.0299999999999869	0.0299999999999869	0.0	246
+-247	0.0224099159240723	0.0200000000000102	0.0200000000000102	0.0	247
+-248	0.0227949619293213	0.019999999999996	0.019999999999996	0.0	248
+-249	0.0480821132659912	0.0499999999999972	0.0499999999999972	0.0	249
+-250	0.026867151260376	0.0300000000000011	0.0300000000000011	0.0	250
+-251	0.0245769023895264	0.019999999999996	0.019999999999996	0.0	251
+-252	0.0283010005950928	0.0300000000000011	0.0300000000000011	0.0	252
+-253	0.0227351188659668	0.0200000000000102	0.0200000000000102	0.0	253
+-254	0.0224411487579346	0.019999999999996	0.019999999999996	0.0	254
+-255	0.0479519367218018	0.0499999999999972	0.0499999999999972	0.0	255
+-256	0.0230560302734375	0.019999999999996	0.019999999999996	0.0	256
+-257	0.0227730274200439	0.0300000000000011	0.0300000000000011	0.0	257
+-258	0.022550106048584	0.0200000000000102	0.0200000000000102	0.0	258
+-259	0.0257129669189453	0.0300000000000011	0.0300000000000011	0.0	259
+-260	0.0255739688873291	0.019999999999996	0.019999999999996	0.0	260
+-261	0.0222690105438232	0.019999999999996	0.019999999999996	0.0	261
+-262	0.0475499629974365	0.0499999999999972	0.0499999999999972	0.0	262
+-263	0.0229249000549316	0.0200000000000102	0.0200000000000102	0.0	263
+-264	0.0233249664306641	0.0299999999999869	0.0299999999999869	0.0	264
+-265	0.0224719047546387	0.0200000000000102	0.0200000000000102	0.0	265
+-266	0.0227599143981934	0.019999999999996	0.019999999999996	0.0	266
+-267	0.0225708484649658	0.019999999999996	0.019999999999996	0.0	267
+-268	0.0508639812469482	0.0500000000000114	0.0500000000000114	0.0	268
+-269	0.0232470035552979	0.0299999999999869	0.0299999999999869	0.0	269
+-270	0.0228660106658936	0.0200000000000102	0.0200000000000102	0.0	270
+-271	0.0226750373840332	0.019999999999996	0.019999999999996	0.0	271
+-272	0.0224699974060059	0.0300000000000011	0.0300000000000011	0.0	272
+-273	0.023015022277832	0.019999999999996	0.019999999999996	0.0	273
+-274	0.0223150253295898	0.019999999999996	0.019999999999996	0.0	274
+-275	0.0476338863372803	0.0500000000000114	0.0500000000000114	0.0	275
+-276	0.0227279663085938	0.019999999999996	0.019999999999996	0.0	276
+-277	0.022507905960083	0.019999999999996	0.019999999999996	0.0	277
+-278	0.0251290798187256	0.0300000000000011	0.0300000000000011	0.0	278
+-279	0.0224900245666504	0.019999999999996	0.019999999999996	0.0	279
+-280	0.0226230621337891	0.0200000000000102	0.0200000000000102	0.0	280
+-281	0.0479300022125244	0.0499999999999972	0.0499999999999972	0.0	281
+-282	0.0231950283050537	0.019999999999996	0.019999999999996	0.0	282
+-283	0.0243661403656006	0.0300000000000011	0.0300000000000011	0.0	283
+-284	0.0225939750671387	0.019999999999996	0.019999999999996	0.0	284
+-285	0.0224170684814453	0.0200000000000102	0.0200000000000102	0.0	285
+-286	0.0223720073699951	0.019999999999996	0.019999999999996	0.0	286
+-287	0.0249221324920654	0.0300000000000011	0.0300000000000011	0.0	287
+-288	0.0556089878082275	0.0600000000000023	0.0600000000000023	0.0	288
+-289	0.0228722095489502	0.019999999999996	0.019999999999996	0.0	289
+-290	0.0225820541381836	0.019999999999996	0.019999999999996	0.0	290
+-291	0.0232369899749756	0.0200000000000102	0.0200000000000102	0.0	291
+-292	0.0225460529327393	0.0299999999999869	0.0299999999999869	0.0	292
+-293	0.0225048065185547	0.0200000000000102	0.0200000000000102	0.0	293
+-294	0.0471150875091553	0.0499999999999972	0.0499999999999972	0.0	294
+-295	0.0229630470275879	0.019999999999996	0.019999999999996	0.0	295
+-296	0.026698112487793	0.0300000000000011	0.0300000000000011	0.0	296
+-297	0.0225720405578613	0.019999999999996	0.019999999999996	0.0	297
+-298	0.0224101543426514	0.0200000000000102	0.0200000000000102	0.0	298
+-299	0.0224401950836182	0.019999999999996	0.019999999999996	0.0	299
+-300	0.0223391056060791	0.0300000000000011	0.0300000000000011	0.0	300
+-301	0.0480380058288574	0.039999999999992	0.039999999999992	0.0	301
+-302	0.0228781700134277	0.0300000000000011	0.0300000000000011	0.0	302
+-303	0.0226998329162598	0.0200000000000102	0.0200000000000102	0.0	303
+-304	0.0224788188934326	0.019999999999996	0.019999999999996	0.0	304
+-305	0.0245270729064941	0.0300000000000011	0.0300000000000011	0.0	305
+-306	0.0251939296722412	0.019999999999996	0.019999999999996	0.0	306
+-307	0.0470340251922607	0.0499999999999972	0.0499999999999972	0.0	307
+-308	0.0229289531707764	0.0200000000000102	0.0200000000000102	0.0	308
+-309	0.0233960151672363	0.0300000000000011	0.0300000000000011	0.0	309
+-310	0.0224819183349609	0.019999999999996	0.019999999999996	0.0	310
+-311	0.0227260589599609	0.019999999999996	0.019999999999996	0.0	311
+-312	0.0223228931427002	0.019999999999996	0.019999999999996	0.0	312
+-313	0.0223159790039062	0.0300000000000011	0.0300000000000011	0.0	313
+-314	0.0510008335113525	0.0500000000000114	0.0500000000000114	0.0	314
+-315	0.022799015045166	0.019999999999996	0.019999999999996	0.0	315
+-316	0.0225009918212891	0.019999999999996	0.019999999999996	0.0	316
+-317	0.0224380493164062	0.0300000000000011	0.0300000000000011	0.0	317
+-318	0.0225141048431396	0.019999999999996	0.019999999999996	0.0	318
+-319	0.0224788188934326	0.0200000000000102	0.0200000000000102	0.0	319
+-320	0.0472540855407715	0.0499999999999972	0.0499999999999972	0.0	320
+-321	0.0229048728942871	0.019999999999996	0.019999999999996	0.0	321
+-322	0.022752046585083	0.019999999999996	0.019999999999996	0.0	322
+-323	0.0224988460540771	0.0300000000000011	0.0300000000000011	0.0	323
+-324	0.026637077331543	0.0200000000000102	0.0200000000000102	0.0	324
+-325	0.0254490375518799	0.0299999999999869	0.0299999999999869	0.0	325
+-326	0.0267879962921143	0.0300000000000011	0.0300000000000011	0.0	326
+-327	0.0475130081176758	0.0400000000000063	0.0400000000000063	0.0	327
+-328	0.0235271453857422	0.0300000000000011	0.0300000000000011	0.0	328
+-329	0.0225729942321777	0.019999999999996	0.019999999999996	0.0	329
+-330	0.0224888324737549	0.019999999999996	0.019999999999996	0.0	330
+-331	0.0224771499633789	0.0200000000000102	0.0200000000000102	0.0	331
+-332	0.0225000381469727	0.0300000000000011	0.0300000000000011	0.0	332
+-333	0.0503771305084229	0.0499999999999972	0.0499999999999972	0.0	333
+-334	0.02280592918396	0.019999999999996	0.019999999999996	0.0	334
+-335	0.0226900577545166	0.019999999999996	0.019999999999996	0.0	335
+-336	0.0226840972900391	0.0300000000000011	0.0300000000000011	0.0	336
+-337	0.0223648548126221	0.0200000000000102	0.0200000000000102	0.0	337
+-338	0.0229740142822266	0.019999999999996	0.019999999999996	0.0	338
+-339	0.0223648548126221	0.019999999999996	0.019999999999996	0.0	339
+-340	0.047623872756958	0.0499999999999972	0.0499999999999972	0.0	340
+-341	0.0227048397064209	0.0200000000000102	0.0200000000000102	0.0	341
+-342	0.0267980098724365	0.0300000000000011	0.0300000000000011	0.0	342
+-343	0.0225899219512939	0.019999999999996	0.019999999999996	0.0	343
+-344	0.022446870803833	0.0300000000000011	0.0300000000000011	0.0	344
+-345	0.0226569175720215	0.019999999999996	0.019999999999996	0.0	345
+-346	0.0477259159088135	0.0499999999999972	0.0499999999999972	0.0	346
+-347	0.0228300094604492	0.019999999999996	0.019999999999996	0.0	347
+-348	0.0228700637817383	0.0200000000000102	0.0200000000000102	0.0	348
+-349	0.0224990844726562	0.019999999999996	0.019999999999996	0.0	349
+-350	0.0223531723022461	0.0300000000000011	0.0300000000000011	0.0	350
+-351	0.0225429534912109	0.019999999999996	0.019999999999996	0.0	351
+-352	0.0264379978179932	0.0300000000000011	0.0300000000000011	0.0	352
+-353	0.04734206199646	0.0400000000000063	0.0400000000000063	0.0	353
+-354	0.0228159427642822	0.0300000000000011	0.0300000000000011	0.0	354
+-355	0.0224540233612061	0.019999999999996	0.019999999999996	0.0	355
+-356	0.0227231979370117	0.019999999999996	0.019999999999996	0.0	356
+-357	0.0225269794464111	0.019999999999996	0.019999999999996	0.0	357
+-358	0.0225820541381836	0.0300000000000011	0.0300000000000011	0.0	358
+-359	0.0475459098815918	0.0400000000000063	0.0400000000000063	0.0	359
+-360	0.0234520435333252	0.0300000000000011	0.0300000000000011	0.0	360
+-361	0.0246992111206055	0.019999999999996	0.019999999999996	0.0	361
+-362	0.0294170379638672	0.0300000000000011	0.0300000000000011	0.0	362
+-363	0.0224790573120117	0.019999999999996	0.019999999999996	0.0	363
+-364	0.0222852230072021	0.0300000000000011	0.0300000000000011	0.0	364
+-365	0.0477530956268311	0.0400000000000063	0.0400000000000063	0.0	365
+-366	0.0229170322418213	0.0300000000000011	0.0300000000000011	0.0	366
+-367	0.0227410793304443	0.019999999999996	0.019999999999996	0.0	367
+-368	0.0225741863250732	0.019999999999996	0.019999999999996	0.0	368
+-369	0.0224859714508057	0.0300000000000011	0.0300000000000011	0.0	369
+-370	0.0270230770111084	0.0200000000000102	0.0200000000000102	0.0	370
+-371	0.0225620269775391	0.0299999999999869	0.0299999999999869	0.0	371
+-372	0.047544002532959	0.0400000000000063	0.0400000000000063	0.0	372
+-373	0.0227890014648438	0.0300000000000011	0.0300000000000011	0.0	373
+-374	0.0226559638977051	0.019999999999996	0.019999999999996	0.0	374
+-375	0.0231430530548096	0.019999999999996	0.019999999999996	0.0	375
+-376	0.0225589275360107	0.0200000000000102	0.0200000000000102	0.0	376
+-377	0.0225508213043213	0.0300000000000011	0.0300000000000011	0.0	377
+-378	0.0470719337463379	0.039999999999992	0.039999999999992	0.0	378
+-379	0.0261499881744385	0.0300000000000011	0.0300000000000011	0.0	379
+-380	0.0227980613708496	0.019999999999996	0.019999999999996	0.0	380
+-381	0.0226030349731445	0.0300000000000011	0.0300000000000011	0.0	381
+-382	0.022442102432251	0.0200000000000102	0.0200000000000102	0.0	382
+-383	0.0225498676300049	0.019999999999996	0.019999999999996	0.0	383
+-384	0.0228650569915771	0.019999999999996	0.019999999999996	0.0	384
+-385	0.0473499298095703	0.0499999999999972	0.0499999999999972	0.0	385
+-386	0.0227880477905273	0.0200000000000102	0.0200000000000102	0.0	386
+-387	0.0225081443786621	0.0300000000000011	0.0300000000000011	0.0	387
+-388	0.0234310626983643	0.019999999999996	0.019999999999996	0.0	388
+-389	0.0260570049285889	0.0300000000000011	0.0300000000000011	0.0	389
+-390	0.0224580764770508	0.019999999999996	0.019999999999996	0.0	390
+-391	0.0471310615539551	0.0499999999999972	0.0499999999999972	0.0	391
+-392	0.02298903465271	0.0200000000000102	0.0200000000000102	0.0	392
+-393	0.022860050201416	0.019999999999996	0.019999999999996	0.0	393
+-394	0.0225329399108887	0.019999999999996	0.019999999999996	0.0	394
+-395	0.0224058628082275	0.0300000000000011	0.0300000000000011	0.0	395
+-396	0.0223350524902344	0.019999999999996	0.019999999999996	0.0	396
+-397	0.022367000579834	0.0200000000000102	0.0200000000000102	0.0	397
+-398	0.055199146270752	0.0599999999999881	0.0599999999999881	0.0	398
+-399	0.0272421836853027	0.0200000000000102	0.0200000000000102	0.0	399
+-400	0.0226209163665771	0.0300000000000011	0.0300000000000011	0.0	400
+-401	0.0224409103393555	0.019999999999996	0.019999999999996	0.0	401
+-402	0.0233349800109863	0.019999999999996	0.019999999999996	0.0	402
+-403	0.0224699974060059	0.0300000000000011	0.0300000000000011	0.0	403
+-404	0.0471019744873047	0.0400000000000063	0.0400000000000063	0.0	404
+-405	0.0228829383850098	0.0300000000000011	0.0300000000000011	0.0	405
+-406	0.0244019031524658	0.019999999999996	0.019999999999996	0.0	406
+-407	0.0267729759216309	0.0300000000000011	0.0300000000000011	0.0	407
+-408	0.0224130153656006	0.019999999999996	0.019999999999996	0.0	408
+-409	0.022313117980957	0.019999999999996	0.019999999999996	0.0	409
+-410	0.0224151611328125	0.0200000000000102	0.0200000000000102	0.0	410
+-411	0.0483131408691406	0.0499999999999972	0.0499999999999972	0.0	411
+-412	0.0227799415588379	0.019999999999996	0.019999999999996	0.0	412
+-413	0.0228002071380615	0.0300000000000011	0.0300000000000011	0.0	413
+-414	0.0224690437316895	0.019999999999996	0.019999999999996	0.0	414
+-415	0.0225539207458496	0.0200000000000102	0.0200000000000102	0.0	415
+-416	0.0254161357879639	0.0300000000000011	0.0300000000000011	0.0	416
+-417	0.0482659339904785	0.0499999999999972	0.0499999999999972	0.0	417
+-418	0.0229690074920654	0.019999999999996	0.019999999999996	0.0	418
+-419	0.0226681232452393	0.019999999999996	0.019999999999996	0.0	419
+-420	0.0230739116668701	0.0200000000000102	0.0200000000000102	0.0	420
+-421	0.0223119258880615	0.0299999999999869	0.0299999999999869	0.0	421
+-422	0.0240011215209961	0.0200000000000102	0.0200000000000102	0.0	422
+-423	0.0470819473266602	0.0499999999999972	0.0499999999999972	0.0	423
+-424	0.0231809616088867	0.019999999999996	0.019999999999996	0.0	424
+-425	0.027169942855835	0.0300000000000011	0.0300000000000011	0.0	425
+-426	0.0226540565490723	0.019999999999996	0.019999999999996	0.0	426
+-427	0.0227150917053223	0.0200000000000102	0.0200000000000102	0.0	427
+-428	0.0225992202758789	0.0300000000000011	0.0300000000000011	0.0	428
+-429	0.0225179195404053	0.019999999999996	0.019999999999996	0.0	429
+-430	0.0476188659667969	0.0499999999999972	0.0499999999999972	0.0	430
+-431	0.0228111743927002	0.019999999999996	0.019999999999996	0.0	431
+-432	0.0226650238037109	0.0200000000000102	0.0200000000000102	0.0	432
+-433	0.0224969387054443	0.019999999999996	0.019999999999996	0.0	433
+-434	0.0223591327667236	0.0300000000000011	0.0300000000000011	0.0	434
+-435	0.0267119407653809	0.019999999999996	0.019999999999996	0.0	435
+-436	0.0539910793304443	0.0600000000000023	0.0600000000000023	0.0	436
+-437	0.0230631828308105	0.019999999999996	0.019999999999996	0.0	437
+-438	0.0237729549407959	0.0200000000000102	0.0200000000000102	0.0	438
+-439	0.0227470397949219	0.0299999999999869	0.0299999999999869	0.0	439
+-440	0.0226438045501709	0.0200000000000102	0.0200000000000102	0.0	440
+-441	0.0225329399108887	0.019999999999996	0.019999999999996	0.0	441
+-442	0.0225589275360107	0.019999999999996	0.019999999999996	0.0	442
+-443	0.0517570972442627	0.0600000000000023	0.0600000000000023	0.0	443
+-444	0.0228259563446045	0.019999999999996	0.019999999999996	0.0	444
+-445	0.0225679874420166	0.0200000000000102	0.0200000000000102	0.0	445
+-446	0.0226199626922607	0.019999999999996	0.019999999999996	0.0	446
+-447	0.0224108695983887	0.0300000000000011	0.0300000000000011	0.0	447
+-448	0.022813081741333	0.019999999999996	0.019999999999996	0.0	448
+-449	0.048245906829834	0.0499999999999972	0.0499999999999972	0.0	449
+-450	0.0229110717773438	0.0200000000000102	0.0200000000000102	0.0	450
+-451	0.0228190422058105	0.019999999999996	0.019999999999996	0.0	451
+-452	0.022475004196167	0.0300000000000011	0.0300000000000011	0.0	452
+-453	0.0269429683685303	0.019999999999996	0.019999999999996	0.0	453
+-454	0.0225560665130615	0.0300000000000011	0.0300000000000011	0.0	454
+-455	0.0226960182189941	0.019999999999996	0.019999999999996	0.0	455
+-456	0.0481019020080566	0.0500000000000114	0.0500000000000114	0.0	456
+-457	0.0228400230407715	0.019999999999996	0.019999999999996	0.0	457
+-458	0.0225000381469727	0.019999999999996	0.019999999999996	0.0	458
+-459	0.0225820541381836	0.0300000000000011	0.0300000000000011	0.0	459
+-460	0.022550106048584	0.019999999999996	0.019999999999996	0.0	460
+-461	0.0224931240081787	0.0200000000000102	0.0200000000000102	0.0	461
+-462	0.0505130290985107	0.0499999999999972	0.0499999999999972	0.0	462
+-463	0.0229830741882324	0.019999999999996	0.019999999999996	0.0	463
+-464	0.0227599143981934	0.0300000000000011	0.0300000000000011	0.0	464
+-465	0.0224440097808838	0.019999999999996	0.019999999999996	0.0	465
+-466	0.0224459171295166	0.0200000000000102	0.0200000000000102	0.0	466
+-467	0.0230529308319092	0.0299999999999869	0.0299999999999869	0.0	467
+-468	0.0472948551177979	0.0400000000000063	0.0400000000000063	0.0	468
+-469	0.0229778289794922	0.0300000000000011	0.0300000000000011	0.0	469
+-470	0.0227181911468506	0.019999999999996	0.019999999999996	0.0	470
+-471	0.0253911018371582	0.0200000000000102	0.0200000000000102	0.0	471
+-472	0.0295701026916504	0.0299999999999869	0.0299999999999869	0.0	472
+-473	0.0240099430084229	0.0300000000000011	0.0300000000000011	0.0	473
+-474	0.0225830078125	0.0200000000000102	0.0200000000000102	0.0	474
+-475	0.0483601093292236	0.0499999999999972	0.0499999999999972	0.0	475
+-476	0.0228290557861328	0.019999999999996	0.019999999999996	0.0	476
+-477	0.0227599143981934	0.019999999999996	0.019999999999996	0.0	477
+-478	0.0223991870880127	0.0300000000000011	0.0300000000000011	0.0	478
+-479	0.0224149227142334	0.0200000000000102	0.0200000000000102	0.0	479
+-480	0.0231549739837646	0.019999999999996	0.019999999999996	0.0	480
+-481	0.0494570732116699	0.0499999999999972	0.0499999999999972	0.0	481
+-482	0.0229361057281494	0.0300000000000011	0.0300000000000011	0.0	482
+-483	0.0228068828582764	0.019999999999996	0.019999999999996	0.0	483
+-484	0.0226590633392334	0.0200000000000102	0.0200000000000102	0.0	484
+-485	0.0231790542602539	0.019999999999996	0.019999999999996	0.0	485
+-486	0.0226171016693115	0.0300000000000011	0.0300000000000011	0.0	486
+-487	0.0226919651031494	0.019999999999996	0.019999999999996	0.0	487
+-488	0.0492510795593262	0.0499999999999972	0.0499999999999972	0.0	488
+-489	0.0257031917572021	0.0200000000000102	0.0200000000000102	0.0	489
+-490	0.0239601135253906	0.0299999999999869	0.0299999999999869	0.0	490
+-491	0.0223851203918457	0.0200000000000102	0.0200000000000102	0.0	491
+-492	0.0224499702453613	0.019999999999996	0.019999999999996	0.0	492
+-493	0.0224368572235107	0.019999999999996	0.019999999999996	0.0	493
+-494	0.0476479530334473	0.0499999999999972	0.0499999999999972	0.0	494
+-495	0.022913932800293	0.0300000000000011	0.0300000000000011	0.0	495
+-496	0.022791862487793	0.0200000000000102	0.0200000000000102	0.0	496
+-497	0.0225038528442383	0.019999999999996	0.019999999999996	0.0	497
+-498	0.0226709842681885	0.019999999999996	0.019999999999996	0.0	498
+-499	0.0256888866424561	0.0300000000000011	0.0300000000000011	0.0	499
+-500	0.0224859714508057	0.019999999999996	0.019999999999996	0.0	500
+-501	0.0475161075592041	0.0500000000000114	0.0500000000000114	0.0	501
+-502	0.0226891040802002	0.019999999999996	0.019999999999996	0.0	502
+-503	0.0227141380310059	0.019999999999996	0.019999999999996	0.0	503
+-504	0.0224587917327881	0.0300000000000011	0.0300000000000011	0.0	504
+-505	0.0225260257720947	0.019999999999996	0.019999999999996	0.0	505
+-506	0.0225589275360107	0.0200000000000102	0.0200000000000102	0.0	506
+-507	0.0470049381256104	0.0499999999999972	0.0499999999999972	0.0	507
+-508	0.0271100997924805	0.0300000000000011	0.0300000000000011	0.0	508
+-509	0.0292420387268066	0.0300000000000011	0.0300000000000011	0.0	509
+-510	0.0224711894989014	0.019999999999996	0.019999999999996	0.0	510
+-511	0.0221920013427734	0.019999999999996	0.019999999999996	0.0	511
+-512	0.0228841304779053	0.0200000000000102	0.0200000000000102	0.0	512
+-513	0.0471491813659668	0.0499999999999972	0.0499999999999972	0.0	513
+-514	0.0229198932647705	0.019999999999996	0.019999999999996	0.0	514
+-515	0.0227129459381104	0.0300000000000011	0.0300000000000011	0.0	515
+-516	0.0225949287414551	0.019999999999996	0.019999999999996	0.0	516
+-517	0.0255181789398193	0.0200000000000102	0.0200000000000102	0.0	517
+-518	0.0228209495544434	0.0299999999999869	0.0299999999999869	0.0	518
+-519	0.0225160121917725	0.0200000000000102	0.0200000000000102	0.0	519
+-520	0.0473577976226807	0.0499999999999972	0.0499999999999972	0.0	520
+-521	0.0227980613708496	0.019999999999996	0.019999999999996	0.0	521
+-522	0.0231969356536865	0.019999999999996	0.019999999999996	0.0	522
+-523	0.0227179527282715	0.0300000000000011	0.0300000000000011	0.0	523
+-524	0.0223970413208008	0.0200000000000102	0.0200000000000102	0.0	524
+-525	0.0223920345306396	0.019999999999996	0.019999999999996	0.0	525
+-526	0.0507230758666992	0.0499999999999972	0.0499999999999972	0.0	526
+-527	0.0229480266571045	0.019999999999996	0.019999999999996	0.0	527
+-528	0.0227980613708496	0.0300000000000011	0.0300000000000011	0.0	528
+-529	0.0225141048431396	0.0200000000000102	0.0200000000000102	0.0	529
+-530	0.0231029987335205	0.019999999999996	0.019999999999996	0.0	530
+-531	0.0224690437316895	0.0300000000000011	0.0300000000000011	0.0	531
+-532	0.0224161148071289	0.019999999999996	0.019999999999996	0.0	532
+-533	0.0474939346313477	0.0499999999999972	0.0499999999999972	0.0	533
+-534	0.0227530002593994	0.0200000000000102	0.0200000000000102	0.0	534
+-535	0.02276611328125	0.019999999999996	0.019999999999996	0.0	535
+-536	0.025050163269043	0.0300000000000011	0.0300000000000011	0.0	536
+-537	0.0224800109863281	0.019999999999996	0.019999999999996	0.0	537
+-538	0.0225398540496826	0.019999999999996	0.019999999999996	0.0	538
+-539	0.047184944152832	0.0500000000000114	0.0500000000000114	0.0	539
+-540	0.0230119228363037	0.019999999999996	0.019999999999996	0.0	540
+-541	0.022691011428833	0.019999999999996	0.019999999999996	0.0	541
+-542	0.0224730968475342	0.0300000000000011	0.0300000000000011	0.0	542
+-543	0.0223429203033447	0.019999999999996	0.019999999999996	0.0	543
+-544	0.0224099159240723	0.0200000000000102	0.0200000000000102	0.0	544
+-545	0.0533881187438965	0.0499999999999972	0.0499999999999972	0.0	545
+-546	0.0262870788574219	0.0300000000000011	0.0300000000000011	0.0	546
+-547	0.0228250026702881	0.019999999999996	0.019999999999996	0.0	547
+-548	0.0226221084594727	0.0300000000000011	0.0300000000000011	0.0	548
+-549	0.0232529640197754	0.019999999999996	0.019999999999996	0.0	549
+-550	0.0225918292999268	0.019999999999996	0.019999999999996	0.0	550
+-551	0.0225841999053955	0.0300000000000011	0.0300000000000011	0.0	551
+-552	0.047435998916626	0.0400000000000063	0.0400000000000063	0.0	552
+-553	0.0227999687194824	0.0300000000000011	0.0300000000000011	0.0	553
+-554	0.0258529186248779	0.019999999999996	0.019999999999996	0.0	554
+-555	0.022432804107666	0.019999999999996	0.019999999999996	0.0	555
+-556	0.0223519802093506	0.0300000000000011	0.0300000000000011	0.0	556
+-557	0.0224819183349609	0.0200000000000102	0.0200000000000102	0.0	557
+-558	0.0474679470062256	0.0499999999999972	0.0499999999999972	0.0	558
+-559	0.0229389667510986	0.019999999999996	0.019999999999996	0.0	559
+-560	0.0228800773620605	0.019999999999996	0.019999999999996	0.0	560
+-561	0.0224850177764893	0.0200000000000102	0.0200000000000102	0.0	561
+-562	0.0225398540496826	0.0300000000000011	0.0300000000000011	0.0	562
+-563	0.0224540233612061	0.019999999999996	0.019999999999996	0.0	563
+-564	0.025576114654541	0.0300000000000011	0.0300000000000011	0.0	564
+-565	0.0475959777832031	0.039999999999992	0.039999999999992	0.0	565
+-566	0.0227079391479492	0.0300000000000011	0.0300000000000011	0.0	566
+-567	0.0230989456176758	0.0200000000000102	0.0200000000000102	0.0	567
+-568	0.0224859714508057	0.019999999999996	0.019999999999996	0.0	568
+-569	0.0224618911743164	0.019999999999996	0.019999999999996	0.0	569
+-570	0.0225780010223389	0.0300000000000011	0.0300000000000011	0.0	570
+-571	0.0471539497375488	0.0400000000000063	0.0400000000000063	0.0	571
+-572	0.0252819061279297	0.0300000000000011	0.0300000000000011	0.0	572
+-573	0.0236349105834961	0.019999999999996	0.019999999999996	0.0	573
+-574	0.0224208831787109	0.0300000000000011	0.0300000000000011	0.0	574
+-575	0.0223720073699951	0.019999999999996	0.019999999999996	0.0	575
+-576	0.0222949981689453	0.019999999999996	0.019999999999996	0.0	576
+-577	0.0470468997955322	0.0499999999999972	0.0499999999999972	0.0	577
+-578	0.0229780673980713	0.0200000000000102	0.0200000000000102	0.0	578
+-579	0.0227508544921875	0.019999999999996	0.019999999999996	0.0	579
+-580	0.022536039352417	0.0300000000000011	0.0300000000000011	0.0	580
+-581	0.0225150585174561	0.019999999999996	0.019999999999996	0.0	581
+-582	0.0254819393157959	0.0200000000000102	0.0200000000000102	0.0	582
+-583	0.0310370922088623	0.0299999999999869	0.0299999999999869	0.0	583
+-584	0.0474588871002197	0.0500000000000114	0.0500000000000114	0.0	584
+-585	0.022752046585083	0.019999999999996	0.019999999999996	0.0	585
+-586	0.0233280658721924	0.0300000000000011	0.0300000000000011	0.0	586
+-587	0.0223760604858398	0.019999999999996	0.019999999999996	0.0	587
+-588	0.0223050117492676	0.019999999999996	0.019999999999996	0.0	588
+-589	0.0223169326782227	0.0200000000000102	0.0200000000000102	0.0	589
+-590	0.047105073928833	0.0499999999999972	0.0499999999999972	0.0	590
+-591	0.0272059440612793	0.0300000000000011	0.0300000000000011	0.0	591
+-592	0.0227630138397217	0.019999999999996	0.019999999999996	0.0	592
+-593	0.0226268768310547	0.019999999999996	0.019999999999996	0.0	593
+-594	0.0225090980529785	0.0300000000000011	0.0300000000000011	0.0	594
+-595	0.0225892066955566	0.0200000000000102	0.0200000000000102	0.0	595
+-596	0.0231549739837646	0.019999999999996	0.019999999999996	0.0	596
+-597	0.0475459098815918	0.0499999999999972	0.0499999999999972	0.0	597
+-598	0.0226891040802002	0.019999999999996	0.019999999999996	0.0	598
+-599	0.0224978923797607	0.0300000000000011	0.0300000000000011	0.0	599
+-600	0.0245161056518555	0.0200000000000102	0.0200000000000102	0.0	600
+-601	0.0242869853973389	0.019999999999996	0.019999999999996	0.0	601
+-602	0.0225369930267334	0.0300000000000011	0.0300000000000011	0.0	602
+-603	0.0477139949798584	0.039999999999992	0.039999999999992	0.0	603
+-604	0.0228500366210938	0.0300000000000011	0.0300000000000011	0.0	604
+-605	0.0225930213928223	0.019999999999996	0.019999999999996	0.0	605
+-606	0.0224370956420898	0.0200000000000102	0.0200000000000102	0.0	606
+-607	0.0223829746246338	0.019999999999996	0.019999999999996	0.0	607
+-608	0.0222539901733398	0.0300000000000011	0.0300000000000011	0.0	608
+-609	0.0497751235961914	0.0499999999999972	0.0499999999999972	0.0	609
+-610	0.0235979557037354	0.019999999999996	0.019999999999996	0.0	610
+-611	0.0227591991424561	0.0200000000000102	0.0200000000000102	0.0	611
+-612	0.0226850509643555	0.0300000000000011	0.0300000000000011	0.0	612
+-613	0.0225200653076172	0.019999999999996	0.019999999999996	0.0	613
+-614	0.0227999687194824	0.019999999999996	0.019999999999996	0.0	614
+-615	0.0224919319152832	0.019999999999996	0.019999999999996	0.0	615
+-616	0.0472068786621094	0.0500000000000114	0.0500000000000114	0.0	616
+-617	0.0227549076080322	0.019999999999996	0.019999999999996	0.0	617
+-618	0.0224969387054443	0.0300000000000011	0.0300000000000011	0.0	618
+-619	0.0257840156555176	0.019999999999996	0.019999999999996	0.0	619
+-620	0.0295670032501221	0.0300000000000011	0.0300000000000011	0.0	620
+-621	0.0229511260986328	0.019999999999996	0.019999999999996	0.0	621
+-622	0.0471799373626709	0.0500000000000114	0.0500000000000114	0.0	622
+-623	0.0238358974456787	0.0299999999999869	0.0299999999999869	0.0	623
+-624	0.0228331089019775	0.0200000000000102	0.0200000000000102	0.0	624
+-625	0.0225739479064941	0.019999999999996	0.019999999999996	0.0	625
+-626	0.0223119258880615	0.019999999999996	0.019999999999996	0.0	626
+-627	0.0223081111907959	0.0300000000000011	0.0300000000000011	0.0	627
+-628	0.0510420799255371	0.0499999999999972	0.0499999999999972	0.0	628
+-629	0.0229439735412598	0.0200000000000102	0.0200000000000102	0.0	629
+-630	0.0228598117828369	0.019999999999996	0.019999999999996	0.0	630
+-631	0.0226309299468994	0.0300000000000011	0.0300000000000011	0.0	631
+-632	0.0225811004638672	0.019999999999996	0.019999999999996	0.0	632
+-633	0.0231959819793701	0.019999999999996	0.019999999999996	0.0	633
+-634	0.022752046585083	0.0200000000000102	0.0200000000000102	0.0	634
+-635	0.0472497940063477	0.0499999999999972	0.0499999999999972	0.0	635
+-636	0.0227398872375488	0.019999999999996	0.019999999999996	0.0	636
+-637	0.0257761478424072	0.0300000000000011	0.0300000000000011	0.0	637
+-638	0.0224080085754395	0.019999999999996	0.019999999999996	0.0	638
+-639	0.0224230289459229	0.0300000000000011	0.0300000000000011	0.0	639
+-640	0.0224108695983887	0.0200000000000102	0.0200000000000102	0.0	640
+-641	0.0475258827209473	0.0499999999999972	0.0499999999999972	0.0	641
+-642	0.0228271484375	0.019999999999996	0.019999999999996	0.0	642
+-643	0.0227019786834717	0.019999999999996	0.019999999999996	0.0	643
+-644	0.0224940776824951	0.0200000000000102	0.0200000000000102	0.0	644
+-645	0.0224850177764893	0.0300000000000011	0.0300000000000011	0.0	645
+-646	0.0227019786834717	0.019999999999996	0.019999999999996	0.0	646
+-647	0.0250790119171143	0.019999999999996	0.019999999999996	0.0	647
+-648	0.0480010509490967	0.0499999999999972	0.0499999999999972	0.0	648
+-649	0.0226480960845947	0.0200000000000102	0.0200000000000102	0.0	649
+-650	0.0224239826202393	0.0300000000000011	0.0300000000000011	0.0	650
+-651	0.0233159065246582	0.019999999999996	0.019999999999996	0.0	651
+-652	0.022554874420166	0.019999999999996	0.019999999999996	0.0	652
+-653	0.0225050449371338	0.019999999999996	0.019999999999996	0.0	653
+-654	0.04734206199646	0.0500000000000114	0.0500000000000114	0.0	654
+-655	0.0227370262145996	0.019999999999996	0.019999999999996	0.0	655
+-656	0.0317370891571045	0.0299999999999869	0.0299999999999869	0.0	656
+-657	0.0237619876861572	0.0200000000000102	0.0200000000000102	0.0	657
+-658	0.0224289894104004	0.019999999999996	0.019999999999996	0.0	658
+-659	0.0223090648651123	0.0300000000000011	0.0300000000000011	0.0	659
+-660	0.0475950241088867	0.039999999999992	0.039999999999992	0.0	660
+-661	0.0230028629302979	0.0300000000000011	0.0300000000000011	0.0	661
+-662	0.0226609706878662	0.0200000000000102	0.0200000000000102	0.0	662
+-663	0.0227439403533936	0.019999999999996	0.019999999999996	0.0	663
+-664	0.0224378108978271	0.019999999999996	0.019999999999996	0.0	664
+-665	0.0267817974090576	0.0300000000000011	0.0300000000000011	0.0	665
+-666	0.0225181579589844	0.019999999999996	0.019999999999996	0.0	666
+-667	0.0476372241973877	0.0500000000000114	0.0500000000000114	0.0	667
+-668	0.0227279663085938	0.019999999999996	0.019999999999996	0.0	668
+-669	0.0238058567047119	0.0300000000000011	0.0300000000000011	0.0	669
+-670	0.0225961208343506	0.019999999999996	0.019999999999996	0.0	670
+-671	0.0226478576660156	0.019999999999996	0.019999999999996	0.0	671
+-672	0.0224800109863281	0.0300000000000011	0.0300000000000011	0.0	672
+-673	0.0478980541229248	0.0400000000000063	0.0400000000000063	0.0	673
+-674	0.0272519588470459	0.0300000000000011	0.0300000000000011	0.0	674
+-675	0.0226519107818604	0.019999999999996	0.019999999999996	0.0	675
+-676	0.0225238800048828	0.0300000000000011	0.0300000000000011	0.0	676
+-677	0.0224411487579346	0.019999999999996	0.019999999999996	0.0	677
+-678	0.0228710174560547	0.0200000000000102	0.0200000000000102	0.0	678
+-679	0.0471720695495605	0.0499999999999972	0.0499999999999972	0.0	679
+-680	0.0229899883270264	0.019999999999996	0.019999999999996	0.0	680
+-681	0.0226860046386719	0.019999999999996	0.019999999999996	0.0	681
+-682	0.0227768421173096	0.0300000000000011	0.0300000000000011	0.0	682
+-683	0.0246498584747314	0.0200000000000102	0.0200000000000102	0.0	683
+-684	0.024179220199585	0.0299999999999869	0.0299999999999869	0.0	684
+-685	0.0224809646606445	0.0200000000000102	0.0200000000000102	0.0	685
+-686	0.0472848415374756	0.0499999999999972	0.0499999999999972	0.0	686
+-687	0.0227711200714111	0.019999999999996	0.019999999999996	0.0	687
+-688	0.0226719379425049	0.019999999999996	0.019999999999996	0.0	688
+-689	0.0224339962005615	0.0200000000000102	0.0200000000000102	0.0	689
+-690	0.022291898727417	0.0300000000000011	0.0300000000000011	0.0	690
+-691	0.02239990234375	0.019999999999996	0.019999999999996	0.0	691
+-692	0.0513718128204346	0.0499999999999972	0.0499999999999972	0.0	692
+-693	0.0307130813598633	0.0300000000000011	0.0300000000000011	0.0	693
+-694	0.0228471755981445	0.019999999999996	0.019999999999996	0.0	694
+-695	0.0224709510803223	0.0300000000000011	0.0300000000000011	0.0	695
+-696	0.0225100517272949	0.0200000000000102	0.0200000000000102	0.0	696
+-697	0.0233030319213867	0.019999999999996	0.019999999999996	0.0	697
+-698	0.0470919609069824	0.0499999999999972	0.0499999999999972	0.0	698
+-699	0.0229198932647705	0.019999999999996	0.019999999999996	0.0	699
+-700	0.0227630138397217	0.0200000000000102	0.0200000000000102	0.0	700
+-701	0.0225980281829834	0.0200000000000102	0.0200000000000102	0.0	701
+-702	0.0258259773254395	0.019999999999996	0.019999999999996	0.0	702
+-703	0.0223879814147949	0.0300000000000011	0.0300000000000011	0.0	703
+-704	0.0224990844726562	0.019999999999996	0.019999999999996	0.0	704
+-705	0.0473251342773438	0.0499999999999972	0.0499999999999972	0.0	705
+-706	0.0234189033508301	0.019999999999996	0.019999999999996	0.0	706
+-707	0.0227119922637939	0.0200000000000102	0.0200000000000102	0.0	707
+-708	0.0224349498748779	0.019999999999996	0.019999999999996	0.0	708
+-709	0.0224518775939941	0.0300000000000011	0.0300000000000011	0.0	709
+-710	0.0225179195404053	0.019999999999996	0.019999999999996	0.0	710
+-711	0.0502331256866455	0.0499999999999972	0.0499999999999972	0.0	711
+-712	0.0228428840637207	0.0200000000000102	0.0200000000000102	0.0	712
+-713	0.0227060317993164	0.0300000000000011	0.0300000000000011	0.0	713
+-714	0.023097038269043	0.019999999999996	0.019999999999996	0.0	714
+-715	0.0223181247711182	0.019999999999996	0.019999999999996	0.0	715
+-716	0.0222809314727783	0.019999999999996	0.019999999999996	0.0	716
+-717	0.0471060276031494	0.0500000000000114	0.0500000000000114	0.0	717
+-718	0.0228781700134277	0.019999999999996	0.019999999999996	0.0	718
+-719	0.0229380130767822	0.0300000000000011	0.0300000000000011	0.0	719
+-720	0.0258369445800781	0.019999999999996	0.019999999999996	0.0	720
+-721	0.0224931240081787	0.0300000000000011	0.0300000000000011	0.0	721
+-722	0.0230259895324707	0.019999999999996	0.019999999999996	0.0	722
+-723	0.02252197265625	0.0200000000000102	0.0200000000000102	0.0	723
+-724	0.0475549697875977	0.0499999999999972	0.0499999999999972	0.0	724
+-725	0.0227770805358887	0.019999999999996	0.019999999999996	0.0	725
+-726	0.0225141048431396	0.019999999999996	0.019999999999996	0.0	726
+-727	0.0227451324462891	0.0300000000000011	0.0300000000000011	0.0	727
+-728	0.0223758220672607	0.0200000000000102	0.0200000000000102	0.0	728
+-729	0.023906946182251	0.019999999999996	0.019999999999996	0.0	729
+-730	0.0556581020355225	0.0600000000000023	0.0600000000000023	0.0	730
+-731	0.0229699611663818	0.019999999999996	0.019999999999996	0.0	731
+-732	0.0226690769195557	0.019999999999996	0.019999999999996	0.0	732
+-733	0.0225589275360107	0.0300000000000011	0.0300000000000011	0.0	733
+-734	0.0232241153717041	0.019999999999996	0.019999999999996	0.0	734
+-735	0.0225598812103271	0.0200000000000102	0.0200000000000102	0.0	735
+-736	0.0470528602600098	0.0499999999999972	0.0499999999999972	0.0	736
+-737	0.0228769779205322	0.019999999999996	0.019999999999996	0.0	737
+-738	0.0257880687713623	0.0300000000000011	0.0300000000000011	0.0	738
+-739	0.0235300064086914	0.019999999999996	0.019999999999996	0.0	739
+-740	0.0224180221557617	0.0200000000000102	0.0200000000000102	0.0	740
+-741	0.0224599838256836	0.0300000000000011	0.0300000000000011	0.0	741
+-742	0.022385835647583	0.019999999999996	0.019999999999996	0.0	742
+-743	0.0479929447174072	0.0499999999999972	0.0499999999999972	0.0	743
+-744	0.0231039524078369	0.019999999999996	0.019999999999996	0.0	744
+-745	0.0225660800933838	0.0200000000000102	0.0200000000000102	0.0	745
+-746	0.0224900245666504	0.019999999999996	0.019999999999996	0.0	746
+-747	0.0224640369415283	0.0300000000000011	0.0300000000000011	0.0	747
+-748	0.0256268978118896	0.019999999999996	0.019999999999996	0.0	748
+-749	0.0473120212554932	0.0499999999999972	0.0499999999999972	0.0	749
+-750	0.0228018760681152	0.0200000000000102	0.0200000000000102	0.0	750
+-751	0.0232498645782471	0.0300000000000011	0.0300000000000011	0.0	751
+-752	0.0224390029907227	0.019999999999996	0.019999999999996	0.0	752
+-753	0.022291898727417	0.019999999999996	0.019999999999996	0.0	753
+-754	0.0223748683929443	0.019999999999996	0.019999999999996	0.0	754
+-755	0.0472152233123779	0.0500000000000114	0.0500000000000114	0.0	755
+-756	0.0228731632232666	0.019999999999996	0.019999999999996	0.0	756
+-757	0.0252671241760254	0.0300000000000011	0.0300000000000011	0.0	757
+-758	0.0226409435272217	0.019999999999996	0.019999999999996	0.0	758
+-759	0.0225830078125	0.019999999999996	0.019999999999996	0.0	759
+-760	0.0225331783294678	0.0300000000000011	0.0300000000000011	0.0	760
+-761	0.0225949287414551	0.0200000000000102	0.0200000000000102	0.0	761
+-762	0.0475749969482422	0.0499999999999972	0.0499999999999972	0.0	762
+-763	0.0227329730987549	0.019999999999996	0.019999999999996	0.0	763
+-764	0.0225529670715332	0.019999999999996	0.019999999999996	0.0	764
+-765	0.0224440097808838	0.0200000000000102	0.0200000000000102	0.0	765
+-766	0.0223290920257568	0.0300000000000011	0.0300000000000011	0.0	766
+-767	0.033358097076416	0.0299999999999869	0.0299999999999869	0.0	767
+-768	0.0471920967102051	0.0500000000000114	0.0500000000000114	0.0	768
+-769	0.0227799415588379	0.019999999999996	0.019999999999996	0.0	769
+-770	0.0234429836273193	0.019999999999996	0.019999999999996	0.0	770
+-771	0.0224521160125732	0.0300000000000011	0.0300000000000011	0.0	771
+-772	0.0226120948791504	0.019999999999996	0.019999999999996	0.0	772
+-773	0.0225300788879395	0.0200000000000102	0.0200000000000102	0.0	773
+-774	0.0472240447998047	0.0499999999999972	0.0499999999999972	0.0	774
+-775	0.0266668796539307	0.0300000000000011	0.0300000000000011	0.0	775
+-776	0.023015022277832	0.019999999999996	0.019999999999996	0.0	776
+-777	0.0226809978485107	0.019999999999996	0.019999999999996	0.0	777
+-778	0.0225629806518555	0.0200000000000102	0.0200000000000102	0.0	778
+-779	0.0223550796508789	0.0300000000000011	0.0300000000000011	0.0	779
+-780	0.0230989456176758	0.019999999999996	0.019999999999996	0.0	780
+-781	0.0475809574127197	0.0499999999999972	0.0499999999999972	0.0	781
+-782	0.0226840972900391	0.019999999999996	0.019999999999996	0.0	782
+-783	0.0225729942321777	0.0200000000000102	0.0200000000000102	0.0	783
+-784	0.0224289894104004	0.0300000000000011	0.0300000000000011	0.0	784
+-785	0.0256469249725342	0.019999999999996	0.019999999999996	0.0	785
+-786	0.0225028991699219	0.019999999999996	0.019999999999996	0.0	786
+-787	0.0480420589447021	0.0499999999999972	0.0499999999999972	0.0	787
+-788	0.0228919982910156	0.0200000000000102	0.0200000000000102	0.0	788
+-789	0.0226309299468994	0.0299999999999869	0.0299999999999869	0.0	789
+-790	0.0224378108978271	0.0200000000000102	0.0200000000000102	0.0	790
+-791	0.0224709510803223	0.019999999999996	0.019999999999996	0.0	791
+-792	0.0223159790039062	0.019999999999996	0.019999999999996	0.0	792
+-793	0.0482239723205566	0.0400000000000063	0.0400000000000063	0.0	793
+-794	0.0246069431304932	0.0299999999999869	0.0299999999999869	0.0	794
+-795	0.0227251052856445	0.0200000000000102	0.0200000000000102	0.0	795
+-796	0.0226359367370605	0.019999999999996	0.019999999999996	0.0	796
+-797	0.0224781036376953	0.0300000000000011	0.0300000000000011	0.0	797
+-798	0.0225961208343506	0.019999999999996	0.019999999999996	0.0	798
+-799	0.0226588249206543	0.019999999999996	0.019999999999996	0.0	799
+-800	0.0475590229034424	0.0500000000000114	0.0500000000000114	0.0	800
+-801	0.0227870941162109	0.019999999999996	0.019999999999996	0.0	801
+-802	0.0225069522857666	0.019999999999996	0.019999999999996	0.0	802
+-803	0.0258538722991943	0.0300000000000011	0.0300000000000011	0.0	803
+-804	0.0293428897857666	0.0300000000000011	0.0300000000000011	0.0	804
+-805	0.022611141204834	0.019999999999996	0.019999999999996	0.0	805
+-806	0.0470418930053711	0.0500000000000114	0.0500000000000114	0.0	806
+-807	0.0237758159637451	0.019999999999996	0.019999999999996	0.0	807
+-808	0.0227320194244385	0.0300000000000011	0.0300000000000011	0.0	808
+-809	0.0224711894989014	0.019999999999996	0.019999999999996	0.0	809
+-810	0.0225059986114502	0.019999999999996	0.019999999999996	0.0	810
+-811	0.0224649906158447	0.0200000000000102	0.0200000000000102	0.0	811
+-812	0.0506050586700439	0.0499999999999972	0.0499999999999972	0.0	812
+-813	0.0230269432067871	0.0300000000000011	0.0300000000000011	0.0	813
+-814	0.0228140354156494	0.019999999999996	0.019999999999996	0.0	814
+-815	0.0225369930267334	0.019999999999996	0.019999999999996	0.0	815
+-816	0.0224819183349609	0.0300000000000011	0.0300000000000011	0.0	816
+-817	0.0230681896209717	0.019999999999996	0.019999999999996	0.0	817
+-818	0.0226531028747559	0.0200000000000102	0.0200000000000102	0.0	818
+-819	0.0471920967102051	0.0499999999999972	0.0499999999999972	0.0	819
+-820	0.022752046585083	0.019999999999996	0.019999999999996	0.0	820
+-821	0.0240130424499512	0.0300000000000011	0.0300000000000011	0.0	821
+-822	0.024043083190918	0.019999999999996	0.019999999999996	0.0	822
+-823	0.022367000579834	0.0200000000000102	0.0200000000000102	0.0	823
+-824	0.0223929882049561	0.019999999999996	0.019999999999996	0.0	824
+-825	0.0477418899536133	0.0499999999999972	0.0499999999999972	0.0	825
+-826	0.0227749347686768	0.0300000000000011	0.0300000000000011	0.0	826
+-827	0.0227129459381104	0.019999999999996	0.019999999999996	0.0	827
+-828	0.0225088596343994	0.0200000000000102	0.0200000000000102	0.0	828
+-829	0.0223178863525391	0.019999999999996	0.019999999999996	0.0	829
+-830	0.02256178855896	0.0300000000000011	0.0300000000000011	0.0	830
+-831	0.0491888523101807	0.039999999999992	0.039999999999992	0.0	831
+-832	0.0238690376281738	0.0300000000000011	0.0300000000000011	0.0	832
+-833	0.0228731632232666	0.0200000000000102	0.0200000000000102	0.0	833
+-834	0.0226390361785889	0.019999999999996	0.019999999999996	0.0	834
+-835	0.0226919651031494	0.0300000000000011	0.0300000000000011	0.0	835
+-836	0.0225028991699219	0.019999999999996	0.019999999999996	0.0	836
+-837	0.0224220752716064	0.019999999999996	0.019999999999996	0.0	837
+-838	0.0475718975067139	0.0500000000000114	0.0500000000000114	0.0	838
+-839	0.0228641033172607	0.019999999999996	0.019999999999996	0.0	839
+-840	0.0308690071105957	0.0300000000000011	0.0300000000000011	0.0	840
+-841	0.0251350402832031	0.0300000000000011	0.0300000000000011	0.0	841
+-842	0.022784948348999	0.019999999999996	0.019999999999996	0.0	842
+-843	0.022475004196167	0.019999999999996	0.019999999999996	0.0	843
+-844	0.0481071472167969	0.0499999999999972	0.0499999999999972	0.0	844
+-845	0.022777795791626	0.0200000000000102	0.0200000000000102	0.0	845
+-846	0.0225391387939453	0.0300000000000011	0.0300000000000011	0.0	846
+-847	0.0223829746246338	0.019999999999996	0.019999999999996	0.0	847
+-848	0.0222880840301514	0.019999999999996	0.019999999999996	0.0	848
+-849	0.0231649875640869	0.0200000000000102	0.0200000000000102	0.0	849
+-850	0.0498239994049072	0.0499999999999972	0.0499999999999972	0.0	850
+-851	0.0229728221893311	0.0300000000000011	0.0300000000000011	0.0	851
+-852	0.0226678848266602	0.019999999999996	0.019999999999996	0.0	852
+-853	0.0235629081726074	0.019999999999996	0.019999999999996	0.0	853
+-854	0.0226778984069824	0.0300000000000011	0.0300000000000011	0.0	854
+-855	0.0225760936737061	0.019999999999996	0.019999999999996	0.0	855
+-856	0.0472428798675537	0.0500000000000114	0.0500000000000114	0.0	856
+-857	0.0228590965270996	0.019999999999996	0.019999999999996	0.0	857
+-858	0.0256388187408447	0.0300000000000011	0.0300000000000011	0.0	858
+-859	0.0229208469390869	0.019999999999996	0.019999999999996	0.0	859
+-860	0.0224840641021729	0.019999999999996	0.019999999999996	0.0	860
+-861	0.0223701000213623	0.0200000000000102	0.0200000000000102	0.0	861
+-862	0.0229117870330811	0.0300000000000011	0.0300000000000011	0.0	862
+-863	0.0475149154663086	0.039999999999992	0.039999999999992	0.0	863
+-864	0.022799015045166	0.0300000000000011	0.0300000000000011	0.0	864
+-865	0.0225379467010498	0.019999999999996	0.019999999999996	0.0	865
+-866	0.0226678848266602	0.0200000000000102	0.0200000000000102	0.0	866
+-867	0.0223591327667236	0.019999999999996	0.019999999999996	0.0	867
+-868	0.0251359939575195	0.0300000000000011	0.0300000000000011	0.0	868
+-869	0.0475220680236816	0.0499999999999972	0.0499999999999972	0.0	869
+-870	0.0227980613708496	0.019999999999996	0.019999999999996	0.0	870
+-871	0.0227110385894775	0.0200000000000102	0.0200000000000102	0.0	871
+-872	0.0231759548187256	0.0299999999999869	0.0299999999999869	0.0	872
+-873	0.0223469734191895	0.0200000000000102	0.0200000000000102	0.0	873
+-874	0.0222749710083008	0.019999999999996	0.019999999999996	0.0	874
+-875	0.046968936920166	0.0499999999999972	0.0499999999999972	0.0	875
+-876	0.0229840278625488	0.0200000000000102	0.0200000000000102	0.0	876
+-877	0.0336899757385254	0.0299999999999869	0.0299999999999869	0.0	877
+-878	0.0226821899414062	0.0300000000000011	0.0300000000000011	0.0	878
+-879	0.0225288867950439	0.0200000000000102	0.0200000000000102	0.0	879
+-880	0.0224189758300781	0.019999999999996	0.019999999999996	0.0	880
+-881	0.023205041885376	0.0300000000000011	0.0300000000000011	0.0	881
+-882	0.0473780632019043	0.039999999999992	0.039999999999992	0.0	882
+-883	0.0226800441741943	0.0300000000000011	0.0300000000000011	0.0	883
+-884	0.0224399566650391	0.0200000000000102	0.0200000000000102	0.0	884
+-885	0.0223681926727295	0.019999999999996	0.019999999999996	0.0	885
+-886	0.0252659320831299	0.0300000000000011	0.0300000000000011	0.0	886
+-887	0.0249259471893311	0.019999999999996	0.019999999999996	0.0	887
+-888	0.047400951385498	0.0499999999999972	0.0499999999999972	0.0	888
+-889	0.0227570533752441	0.0200000000000102	0.0200000000000102	0.0	889
+-890	0.0234551429748535	0.019999999999996	0.019999999999996	0.0	890
+-891	0.0227649211883545	0.0300000000000011	0.0300000000000011	0.0	891
+-892	0.0223729610443115	0.019999999999996	0.019999999999996	0.0	892
+-893	0.0223479270935059	0.019999999999996	0.019999999999996	0.0	893
+-894	0.047307014465332	0.0500000000000114	0.0500000000000114	0.0	894
+-895	0.0258030891418457	0.019999999999996	0.019999999999996	0.0	895
+-896	0.0229730606079102	0.0300000000000011	0.0300000000000011	0.0	896
+-897	0.0226550102233887	0.019999999999996	0.019999999999996	0.0	897
+-898	0.0230071544647217	0.019999999999996	0.019999999999996	0.0	898
+-899	0.0224480628967285	0.0300000000000011	0.0300000000000011	0.0	899
+-900	0.047260046005249	0.0400000000000063	0.0400000000000063	0.0	900
+-901	0.0229511260986328	0.0300000000000011	0.0300000000000011	0.0	901
+-902	0.0227549076080322	0.019999999999996	0.019999999999996	0.0	902
+-903	0.0227870941162109	0.019999999999996	0.019999999999996	0.0	903
+-904	0.023169994354248	0.0200000000000102	0.0200000000000102	0.0	904
+-905	0.0247299671173096	0.0299999999999869	0.0299999999999869	0.0	905
+-906	0.0232272148132324	0.0200000000000102	0.0200000000000102	0.0	906
+-907	0.0473639965057373	0.0499999999999972	0.0499999999999972	0.0	907
+-908	0.0231180191040039	0.019999999999996	0.019999999999996	0.0	908
+-909	0.0226378440856934	0.0300000000000011	0.0300000000000011	0.0	909
+-910	0.0224730968475342	0.019999999999996	0.019999999999996	0.0	910
+-911	0.0223720073699951	0.0200000000000102	0.0200000000000102	0.0	911
+-912	0.0224881172180176	0.019999999999996	0.019999999999996	0.0	912
+-913	0.0518181324005127	0.0600000000000023	0.0600000000000023	0.0	913
+-914	0.0285370349884033	0.019999999999996	0.019999999999996	0.0	914
+-915	0.0229339599609375	0.0300000000000011	0.0300000000000011	0.0	915
+-916	0.0224258899688721	0.019999999999996	0.019999999999996	0.0	916
+-917	0.0223419666290283	0.0200000000000102	0.0200000000000102	0.0	917
+-918	0.0231149196624756	0.019999999999996	0.019999999999996	0.0	918
+-919	0.0469498634338379	0.0499999999999972	0.0499999999999972	0.0	919
+-920	0.0229380130767822	0.019999999999996	0.019999999999996	0.0	920
+-921	0.022784948348999	0.0300000000000011	0.0300000000000011	0.0	921
+-922	0.0224778652191162	0.0200000000000102	0.0200000000000102	0.0	922
+-923	0.025670051574707	0.0299999999999869	0.0299999999999869	0.0	923
+-924	0.0241270065307617	0.0200000000000102	0.0200000000000102	0.0	924
+-925	0.0224959850311279	0.019999999999996	0.019999999999996	0.0	925
+-926	0.0475151538848877	0.0499999999999972	0.0499999999999972	0.0	926
+-927	0.0233569145202637	0.019999999999996	0.019999999999996	0.0	927
+-928	0.022697925567627	0.0300000000000011	0.0300000000000011	0.0	928
+-929	0.0224049091339111	0.0200000000000102	0.0200000000000102	0.0	929
+-930	0.0223929882049561	0.019999999999996	0.019999999999996	0.0	930
+-931	0.0224430561065674	0.019999999999996	0.019999999999996	0.0	931
+-932	0.0508589744567871	0.0499999999999972	0.0499999999999972	0.0	932
+-933	0.0229549407958984	0.0300000000000011	0.0300000000000011	0.0	933
+-934	0.0227360725402832	0.0200000000000102	0.0200000000000102	0.0	934
+-935	0.0230159759521484	0.019999999999996	0.019999999999996	0.0	935
+-936	0.0223309993743896	0.019999999999996	0.019999999999996	0.0	936
+-937	0.0222959518432617	0.019999999999996	0.019999999999996	0.0	937
+-938	0.0472970008850098	0.0400000000000063	0.0400000000000063	0.0	938
+-939	0.0230600833892822	0.0300000000000011	0.0300000000000011	0.0	939
+-940	0.0226349830627441	0.019999999999996	0.019999999999996	0.0	940
+-941	0.025303840637207	0.0300000000000011	0.0300000000000011	0.0	941
+-942	0.0234689712524414	0.019999999999996	0.019999999999996	0.0	942
+-943	0.022615909576416	0.019999999999996	0.019999999999996	0.0	943
+-944	0.0470030307769775	0.0500000000000114	0.0500000000000114	0.0	944
+-945	0.0232269763946533	0.019999999999996	0.019999999999996	0.0	945
+-946	0.0227811336517334	0.0300000000000011	0.0300000000000011	0.0	946
+-947	0.0225110054016113	0.019999999999996	0.019999999999996	0.0	947
+-948	0.0224099159240723	0.019999999999996	0.019999999999996	0.0	948
+-949	0.0224759578704834	0.0200000000000102	0.0200000000000102	0.0	949
+-950	0.0223360061645508	0.0300000000000011	0.0300000000000011	0.0	950
+-951	0.0556850433349609	0.0499999999999972	0.0499999999999972	0.0	951
+-952	0.0229251384735107	0.019999999999996	0.019999999999996	0.0	952
+-953	0.0225358009338379	0.0300000000000011	0.0300000000000011	0.0	953
+-954	0.0226168632507324	0.019999999999996	0.019999999999996	0.0	954
+-955	0.023292064666748	0.019999999999996	0.019999999999996	0.0	955
+-956	0.0225601196289062	0.0300000000000011	0.0300000000000011	0.0	956
+-957	0.0472140312194824	0.0400000000000063	0.0400000000000063	0.0	957
+-958	0.0228290557861328	0.0300000000000011	0.0300000000000011	0.0	958
+-959	0.0247390270233154	0.019999999999996	0.019999999999996	0.0	959
+-960	0.0244059562683105	0.019999999999996	0.019999999999996	0.0	960
+-961	0.0223748683929443	0.0300000000000011	0.0300000000000011	0.0	961
+-962	0.0224399566650391	0.0200000000000102	0.0200000000000102	0.0	962
+-963	0.0478479862213135	0.0499999999999972	0.0499999999999972	0.0	963
+-964	0.0231130123138428	0.019999999999996	0.019999999999996	0.0	964
+-965	0.0229220390319824	0.019999999999996	0.019999999999996	0.0	965
+-966	0.0224699974060059	0.0300000000000011	0.0300000000000011	0.0	966
+-967	0.0225620269775391	0.0200000000000102	0.0200000000000102	0.0	967
+-968	0.0224020481109619	0.019999999999996	0.019999999999996	0.0	968
+-969	0.0508251190185547	0.0499999999999972	0.0499999999999972	0.0	969
+-970	0.0230629444122314	0.0300000000000011	0.0300000000000011	0.0	970
+-971	0.0234439373016357	0.019999999999996	0.019999999999996	0.0	971
+-972	0.0241410732269287	0.0200000000000102	0.0200000000000102	0.0	972
+-973	0.0225048065185547	0.019999999999996	0.019999999999996	0.0	973
+-974	0.0223360061645508	0.0300000000000011	0.0300000000000011	0.0	974
+-975	0.0224909782409668	0.019999999999996	0.019999999999996	0.0	975
+-976	0.0475950241088867	0.0499999999999972	0.0499999999999972	0.0	976
+-977	0.0227401256561279	0.0200000000000102	0.0200000000000102	0.0	977
+-978	0.0255289077758789	0.019999999999996	0.019999999999996	0.0	978
+-979	0.0238900184631348	0.0300000000000011	0.0300000000000011	0.0	979
+-980	0.0224909782409668	0.019999999999996	0.019999999999996	0.0	980
+-981	0.0223910808563232	0.019999999999996	0.019999999999996	0.0	981
+-982	0.0473268032073975	0.0499999999999972	0.0499999999999972	0.0	982
+-983	0.0227880477905273	0.0200000000000102	0.0200000000000102	0.0	983
+-984	0.0226118564605713	0.0300000000000011	0.0300000000000011	0.0	984
+-985	0.0223948955535889	0.019999999999996	0.019999999999996	0.0	985
+-986	0.0223472118377686	0.019999999999996	0.019999999999996	0.0	986
+-987	0.0237748622894287	0.0200000000000102	0.0200000000000102	0.0	987
+-988	0.0564570426940918	0.0499999999999972	0.0499999999999972	0.0	988
+-989	0.0229530334472656	0.0200000000000102	0.0200000000000102	0.0	989
+-990	0.0226871967315674	0.0300000000000011	0.0300000000000011	0.0	990
+-991	0.0234870910644531	0.019999999999996	0.019999999999996	0.0	991
+-992	0.0224900245666504	0.019999999999996	0.019999999999996	0.0	992
+-993	0.0224850177764893	0.0300000000000011	0.0300000000000011	0.0	993
+-994	0.0470020771026611	0.0400000000000063	0.0400000000000063	0.0	994
+-995	0.022852897644043	0.0300000000000011	0.0300000000000011	0.0	995
+-996	0.0257470607757568	0.019999999999996	0.019999999999996	0.0	996
+-997	0.0236849784851074	0.0300000000000011	0.0300000000000011	0.0	997
+-998	0.0226609706878662	0.019999999999996	0.019999999999996	0.0	998
+-999	0.0222959518432617	0.019999999999996	0.019999999999996	0.0	999
+-1000	0.0223429203033447	0.0200000000000102	0.0200000000000102	0.0	1000
+diff --git a/lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure.log b/lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure.log
+deleted file mode 100644
+index 1d42e63..0000000
+--- a/lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure.log
++++ /dev/null
+@@ -1,262 +0,0 @@
+-========================== 2009-04-01T16:50:52 CEST ===========================
+-Benchmarking on ruby 1.8.6 (2008-08-11 patchlevel 287) [i686-linux].
+-Running 'GeneratorBenchmarkPure' for 1000 iterations/method (compare_time=real)
+-===============================================================================
+-
+-This first run is only for warmup.
+-GeneratorBenchmarkPure#generator_pretty:
+-                  real             total              user            system 
+-sum       27.356301069      27.380000000      27.370000000       0.010000000 
+-min        0.022372007       0.020000000       0.020000000       0.000000000 
+-std-       0.018178834       0.017248947       0.017256376      -0.000306228 
+-mean       0.027356301       0.027380000       0.027370000       0.000010000 
+-std+       0.036533768       0.037511053       0.037483624       0.000326228 
+-max        0.059602976       0.060000000       0.060000000       0.010000000 
+-std        0.009177467       0.010131053       0.010113624       0.000316228 
+-std%      33.547909026      37.001655096      36.951493429    3162.277660168 
+-harm       0.025499974       0.024719842       0.024716787               nan 
+-geo        0.026258699       0.025883656       0.025877881       0.000000000 
+-q1         0.023006916       0.020000000       0.020000000       0.000000000 
+-med        0.023234129       0.020000000       0.020000000       0.000000000 
+-q3         0.024879038       0.030000000       0.030000000       0.000000000 
+-                  1000          36.55465       0.027356301
+-                 calls         calls/sec         secs/call
+-
+-    0.05774 -|
+-    0.05402 -|*
+-    0.05030 -|****
+-    0.04657 -|***
+-    0.04285 -|
+-    0.03913 -|
+-    0.03540 -|
+-    0.03168 -|*
+-    0.02796 -|***
+-    0.02423 -|**************************************************
+-
+-Outliers detected with box plot algo (median=0.02323, iqr=0.00187, factor=3.00):
+-high=72 very_high=150
+-
+-Ljung-Box statistics: q=3705.61130 (alpha=0.05, df=50).
+-1.00000 >= 0.95000 => Autocorrelation was detected.
+-
+-GeneratorBenchmarkPure#generator_pretty:
+-                  real             total              user            system 
+-sum       27.569372892      27.540000000      27.530000000       0.010000000 
+-min        0.022536039       0.020000000       0.020000000       0.000000000 
+-std-       0.018335894       0.017329581       0.017326902      -0.000306228 
+-mean       0.027569373       0.027540000       0.027530000       0.000010000 
+-std+       0.036802852       0.037750419       0.037733098       0.000326228 
+-max        0.056230068       0.060000000       0.060000000       0.010000000 
+-std        0.009233479       0.010210419       0.010203098       0.000316228 
+-std%      33.491797772      37.074868658      37.061742557    3162.277660168 
+-harm       0.025675439       0.024841635       0.024836493               nan 
+-geo        0.026453993       0.026024721       0.026017235       0.000000000 
+-q1         0.023056030       0.020000000       0.020000000       0.000000000 
+-med        0.023363113       0.020000000       0.020000000       0.000000000 
+-q3         0.025253892       0.030000000       0.030000000       0.000000000 
+-                  1000          36.27213       0.027569373
+-                 calls         calls/sec         secs/call
+-
+-    0.05455 -|*
+-    0.05118 -|**
+-    0.04781 -|******
+-    0.04444 -|
+-    0.04107 -|
+-    0.03770 -|
+-    0.03433 -|
+-    0.03096 -|*
+-    0.02759 -|*****
+-    0.02422 -|**************************************************
+-
+-Outliers detected with box plot algo (median=0.02336, iqr=0.00220, factor=3.00):
+-high=67 very_high=148
+-
+-Ljung-Box statistics: q=3212.48820 (alpha=0.05, df=50).
+-1.00000 >= 0.95000 => Autocorrelation was detected.
+-
+-No initial data truncated.
+- => System may have been in a steady state from the beginning.
+--------------------------------------------------------------------------------
+-
+-This first run is only for warmup.
+-GeneratorBenchmarkPure#generator_safe:
+-                  real             total              user            system 
+-sum       26.869803667      26.870000000      26.870000000       0.000000000 
+-min        0.022134781       0.020000000       0.020000000       0.000000000 
+-std-       0.017763505       0.016750439       0.016750439       0.000000000 
+-mean       0.026869804       0.026870000       0.026870000       0.000000000 
+-std+       0.035976103       0.036989561       0.036989561       0.000000000 
+-max        0.054952860       0.060000000       0.060000000       0.000000000 
+-std        0.009106299       0.010119561       0.010119561       0.000000000 
+-std%      33.890455748      37.661185483      37.661185483               nan 
+-harm       0.024986876       0.024236549       0.024236549               nan 
+-geo        0.025759291       0.025373850       0.025373850       0.000000000 
+-q1         0.022480011       0.020000000       0.020000000       0.000000000 
+-med        0.022669554       0.020000000       0.020000000       0.000000000 
+-q3         0.024562180       0.030000000       0.030000000       0.000000000 
+-                  1000          37.21650       0.026869804
+-                 calls         calls/sec         secs/call
+-
+-    0.05331 -|*
+-    0.05003 -|**
+-    0.04675 -|*******
+-    0.04347 -|
+-    0.04018 -|
+-    0.03690 -|
+-    0.03362 -|
+-    0.03034 -|*
+-    0.02706 -|****
+-    0.02378 -|**************************************************
+-
+-Outliers detected with box plot algo (median=0.02267, iqr=0.00208, factor=3.00):
+-high=77 very_high=149
+-
+-Ljung-Box statistics: q=3100.69443 (alpha=0.05, df=50).
+-1.00000 >= 0.95000 => Autocorrelation was detected.
+-
+-GeneratorBenchmarkPure#generator_safe:
+-                  real             total              user            system 
+-sum       27.079979420      27.040000000      27.030000000       0.010000000 
+-min        0.022160053       0.020000000       0.020000000       0.000000000 
+-std-       0.017839790       0.016756803       0.016774061      -0.000306228 
+-mean       0.027079979       0.027040000       0.027030000       0.000010000 
+-std+       0.036320169       0.037323197       0.037285939       0.000326228 
+-max        0.056457043       0.060000000       0.060000000       0.010000000 
+-std        0.009240189       0.010283197       0.010255939       0.000316228 
+-std%      34.121847738      38.029575352      37.942800504    3162.277660168 
+-harm       0.025134510       0.024331887       0.024329914               nan 
+-geo        0.025935574       0.025501913       0.025497264       0.000000000 
+-q1         0.022511005       0.020000000       0.020000000       0.000000000 
+-med        0.022763968       0.020000000       0.020000000       0.000000000 
+-q3         0.024686873       0.030000000       0.030000000       0.000000000 
+-                  1000          36.92765       0.027079979
+-                 calls         calls/sec         secs/call
+-
+-    0.05474 -|
+-    0.05131 -|*
+-    0.04788 -|********
+-    0.04445 -|
+-    0.04102 -|
+-    0.03759 -|
+-    0.03416 -|
+-    0.03073 -|*
+-    0.02730 -|***
+-    0.02387 -|**************************************************
+-
+-Outliers detected with box plot algo (median=0.02276, iqr=0.00218, factor=3.00):
+-high=53 very_high=158
+-
+-Ljung-Box statistics: q=3263.81737 (alpha=0.05, df=50).
+-1.00000 >= 0.95000 => Autocorrelation was detected.
+-
+-No initial data truncated.
+- => System may have been in a steady state from the beginning.
+--------------------------------------------------------------------------------
+-
+-This first run is only for warmup.
+-GeneratorBenchmarkPure#generator_fast:
+-                  real             total              user            system 
+-sum       19.930217266      19.900000000      19.900000000       0.000000000 
+-min        0.015556812       0.010000000       0.010000000       0.000000000 
+-std-       0.010984683       0.009865525       0.009865525       0.000000000 
+-mean       0.019930217       0.019900000       0.019900000       0.000000000 
+-std+       0.028875752       0.029934475       0.029934475       0.000000000 
+-max        0.048508883       0.050000000       0.050000000       0.000000000 
+-std        0.008945535       0.010034475       0.010034475       0.000000000 
+-std%      44.884280314      50.424498030      50.424498030               nan 
+-harm       0.017806422       0.016056519       0.016056519               nan 
+-geo        0.018618502       0.017792091       0.017792091       0.000000000 
+-q1         0.015833676       0.010000000       0.010000000       0.000000000 
+-med        0.016059995       0.020000000       0.020000000       0.000000000 
+-q3         0.016686678       0.020000000       0.020000000       0.000000000 
+-                  1000          50.17507       0.019930217
+-                 calls         calls/sec         secs/call
+-
+-    0.04686 -|
+-    0.04357 -|**
+-    0.04027 -|******
+-    0.03698 -|
+-    0.03368 -|
+-    0.03039 -|
+-    0.02709 -|
+-    0.02379 -|*
+-    0.02050 -|**
+-    0.01720 -|**************************************************
+-
+-Outliers detected with box plot algo (median=0.01606, iqr=0.00085, factor=3.00):
+-high=46 very_high=180
+-
+-Ljung-Box statistics: q=3486.59836 (alpha=0.05, df=50).
+-1.00000 >= 0.95000 => Autocorrelation was detected.
+-
+-GeneratorBenchmarkPure#generator_fast:
+-                  real             total              user            system 
+-sum       20.008520842      19.960000000      19.950000000       0.010000000 
+-min        0.015434027       0.010000000       0.010000000       0.000000000 
+-std-       0.010882230       0.009581845       0.009596030      -0.000306228 
+-mean       0.020008521       0.019960000       0.019950000       0.000010000 
+-std+       0.029134812       0.030338155       0.030303970       0.000326228 
+-max        0.047976971       0.050000000       0.050000000       0.010000000 
+-std        0.009126291       0.010378155       0.010353970       0.000316228 
+-std%      45.612021047      51.994765712      51.899601404    3162.277660168 
+-harm       0.017787111       0.015944725       0.015943454               nan 
+-geo        0.018637889       0.017737808       0.017733851       0.000000000 
+-q1         0.015746295       0.010000000       0.010000000       0.000000000 
+-med        0.015944481       0.020000000       0.020000000       0.000000000 
+-q3         0.016811609       0.020000000       0.020000000       0.000000000 
+-                  1000          49.97871       0.020008521
+-                 calls         calls/sec         secs/call
+-
+-    0.04635 -|*
+-    0.04310 -|**
+-    0.03984 -|*******
+-    0.03659 -|
+-    0.03333 -|
+-    0.03008 -|
+-    0.02682 -|
+-    0.02357 -|
+-    0.02032 -|***
+-    0.01706 -|**************************************************
+-
+-Outliers detected with box plot algo (median=0.01594, iqr=0.00107, factor=3.00):
+-high=64 very_high=166
+-
+-Ljung-Box statistics: q=2965.93220 (alpha=0.05, df=50).
+-1.00000 >= 0.95000 => Autocorrelation was detected.
+-
+-No initial data truncated.
+- => System may have been in a steady state from the beginning.
+-========================== 2009-04-01T16:53:33 CEST ===========================
+-
+-Comparing times (call_time_mean):
+- 1 GeneratorBenchmarkPure#generator_fast   1000 repeats:
+-        49.978706968 (  real) ->    1.378x 
+-         0.020008521
+- 2 GeneratorBenchmarkPure#generator_safe   1000 repeats:
+-        36.927649925 (  real) ->    1.018x 3 (>=3859)
+-         0.027079979
+- 3 GeneratorBenchmarkPure#generator_pretty 1000 repeats:
+-        36.272134441 (  real) ->    1.000x 2 (>=3859)
+-         0.027569373
+-           calls/sec (  time) ->    speed  covers
+-           secs/call
+-
+-Comparing times (call_time_median):
+- 1 GeneratorBenchmarkPure#generator_fast   1000 repeats:
+-        62.717626652 (  real) ->    1.465x 
+-         0.015944481
+- 2 GeneratorBenchmarkPure#generator_safe   1000 repeats:
+-        43.929073409 (  real) ->    1.026x 3 (>=3859)
+-         0.022763968
+- 3 GeneratorBenchmarkPure#generator_pretty 1000 repeats:
+-        42.802514491 (  real) ->    1.000x 2 (>=3859)
+-         0.023363113
+-           calls/sec (  time) ->    speed  covers
+-           secs/call
+-===============================================================================
+-Writing measurement data file '/data/scm/json/benchmarks/data/GeneratorBenchmarkPure#generator_pretty.dat'.
+-Writing autocorrelation plot file '/data/scm/json/benchmarks/data/GeneratorBenchmarkPure#generator_pretty-autocorrelation.dat'.
+-Writing measurement data file '/data/scm/json/benchmarks/data/GeneratorBenchmarkPure#generator_safe.dat'.
+-Writing autocorrelation plot file '/data/scm/json/benchmarks/data/GeneratorBenchmarkPure#generator_safe-autocorrelation.dat'.
+-Writing measurement data file '/data/scm/json/benchmarks/data/GeneratorBenchmarkPure#generator_fast.dat'.
+-Writing autocorrelation plot file '/data/scm/json/benchmarks/data/GeneratorBenchmarkPure#generator_fast-autocorrelation.dat'.
+diff --git a/lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkRails#generator-autocorrelation.dat b/lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkRails#generator-autocorrelation.dat
+deleted file mode 100644
+index 8817d65..0000000
+--- a/lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkRails#generator-autocorrelation.dat
++++ /dev/null
+@@ -1,1000 +0,0 @@
+-#lag	autocorrelation
+-1	1.0
+-2	-0.0465724627546347
+-3	-0.0538491011993629
+-4	-0.0538837516678858
+-5	-0.0581087152880847
+-6	-0.0572986418232159
+-7	-0.0599999756465123
+-8	-0.068646253651936
+-9	-0.0748373181827194
+-10	-0.0762302382502274
+-11	-0.0698190157504385
+-12	-0.0638026172211339
+-13	-0.056269249634719
+-14	-0.0567327382445349
+-15	-0.0596771394790282
+-16	-0.054002423139168
+-17	-0.0490317335722634
+-18	0.461538736857567
+-19	0.45915885478734
+-20	-0.0465031134094806
+-21	-0.0522729893812941
+-22	-0.0556508820670087
+-23	-0.0550082280116714
+-24	-0.0545719306525113
+-25	-0.0657168876641937
+-26	-0.0693857874047984
+-27	-0.0792986072802413
+-28	-0.0733338236920328
+-29	-0.0654333815670565
+-30	-0.0571917436864775
+-31	-0.0526717459233624
+-32	-0.0557521787108153
+-33	-0.0549975758505058
+-34	-0.0517415749303995
+-35	0.0235297603781655
+-36	0.804189593789118
+-37	0.0278204967070628
+-38	-0.050024141489799
+-39	-0.0518095926145569
+-40	-0.0452419084747306
+-41	-0.0508505065460828
+-42	-0.0630761219578647
+-43	-0.062815338541251
+-44	-0.0772705590073707
+-45	-0.0729125138410514
+-46	-0.0718320579999123
+-47	-0.0607354760752678
+-48	-0.0537362276786008
+-49	-0.0486777895346357
+-50	-0.0554247873222313
+-51	-0.0511645855928409
+-52	-0.0466004298363093
+-53	0.459873350367521
+-54	0.424472275070108
+-55	-0.0487047547824375
+-56	-0.0545283173980978
+-57	-0.0480870048405532
+-58	-0.0558758950923908
+-59	-0.0508952051704444
+-60	-0.0620003778190341
+-61	-0.0676424010473159
+-62	-0.0753766989500048
+-63	-0.0695341618321725
+-64	-0.0663751431467297
+-65	-0.0563170232338965
+-66	-0.053655761264179
+-67	-0.0530055660822738
+-68	-0.0517420323264873
+-69	-0.0456703115975304
+-70	0.103335608865948
+-71	0.639961232446673
+-72	0.0835611643585718
+-73	-0.0505874487567197
+-74	-0.0544864827038179
+-75	-0.05268470170316
+-76	-0.0471381749128569
+-77	-0.0587367141040808
+-78	-0.0594188669128526
+-79	-0.0650917021991912
+-80	-0.068525580194848
+-81	-0.0720464392408628
+-82	-0.0530371585210882
+-83	-0.0594974405056426
+-84	-0.0468462249568105
+-85	-0.0556729861678099
+-86	-0.0486685569511801
+-87	-0.0231831809211586
+-88	0.412151261252192
+-89	0.427286596751845
+-90	-0.0468484487476343
+-91	-0.0513065750413643
+-92	-0.0506460103589642
+-93	-0.0523040710285122
+-94	-0.0553864194240335
+-95	-0.0624298273708398
+-96	-0.0629408163122051
+-97	-0.0704192947779158
+-98	-0.0661863417422444
+-99	-0.0616198727092325
+-100	-0.0549440862832691
+-101	-0.0493100463446785
+-102	-0.0513058903561152
+-103	-0.0546567629566328
+-104	-0.0447767089062448
+-105	0.155994950171604
+-106	0.499983838989633
+-107	0.146752854694195
+-108	-0.0499527760238258
+-109	-0.0481994338837686
+-110	-0.0507971256336303
+-111	-0.053242725247733
+-112	-0.0556340421399292
+-113	-0.0659043126583437
+-114	-0.0664898553672703
+-115	-0.0623446272778118
+-116	-0.0661076782182718
+-117	-0.0496402401287781
+-118	-0.0494603231236963
+-119	-0.04785210230028
+-120	-0.0549514395062738
+-121	-0.0457893865901791
+-122	0.0107718727916323
+-123	0.354591871972286
+-124	0.378214524188427
+-125	-0.00576473785992366
+-126	-0.0475263414095933
+-127	-0.0467032507959455
+-128	-0.0492439340398371
+-129	-0.0553725291795042
+-130	-0.0588373348224932
+-131	-0.0653802923166691
+-132	-0.065420878560692
+-133	-0.0664825458346486
+-134	-0.0585794787867471
+-135	-0.0526654847715212
+-136	-0.0458834268571694
+-137	-0.0488834733479998
+-138	-0.0484626462105708
+-139	-0.0459832096817391
+-140	0.217115969208045
+-141	0.366645152379531
+-142	0.180037374351014
+-143	-0.0470069302868867
+-144	-0.0448016085636167
+-145	-0.0480964372087658
+-146	-0.047581587974722
+-147	-0.0542737921731714
+-148	-0.0616712591015281
+-149	-0.0645264998964167
+-150	-0.0660893063296893
+-151	-0.0626040533901412
+-152	-0.0563401748225009
+-153	-0.0489872324179382
+-154	-0.0416660137613489
+-155	-0.0474153625982119
+-156	-0.0429322203344692
+-157	0.0758981518142605
+-158	0.280022168317631
+-159	0.322388389335567
+-160	0.029741268314489
+-161	-0.0477650431020993
+-162	-0.0450492975581489
+-163	-0.0437136320420844
+-164	-0.0525847472537078
+-165	-0.0545773291954165
+-166	-0.0605617971026816
+-167	-0.0604174493574271
+-168	-0.0668887082049361
+-169	-0.0569988719330788
+-170	-0.0531317736158737
+-171	-0.0453847330038626
+-172	-0.0478811645968217
+-173	-0.0490973206952072
+-174	-0.0208865958962374
+-175	0.219799921570466
+-176	0.281455499801039
+-177	0.217413022569843
+-178	-0.0472411753883375
+-179	-0.0420519413404592
+-180	-0.0503599257085886
+-181	-0.0460149167014056
+-182	-0.0525935089624673
+-183	-0.058565014679309
+-184	-0.0597480380605469
+-185	-0.0594067588886417
+-186	-0.0596129671442577
+-187	-0.0532084985745771
+-188	-0.0488672523172161
+-189	-0.0467425993035773
+-190	-0.047469398929737
+-191	-0.0478812995202321
+-192	0.113496325641223
+-193	0.235261527843186
+-194	0.274288512637064
+-195	0.0686558749507578
+-196	-0.0421890074761181
+-197	-0.0462774420288975
+-198	-0.0436343780463106
+-199	-0.0526745158526506
+-200	-0.0530085997416379
+-201	-0.0595766365030657
+-202	-0.0527520859095327
+-203	-0.0617844575573737
+-204	-0.0533732516707478
+-205	-0.0475406344908671
+-206	-0.0448557657939025
+-207	-0.0491813452587493
+-208	-0.0465215540303466
+-209	0.0129885978681198
+-210	0.18048531357979
+-211	0.232613590605931
+-212	0.216739579303611
+-213	-0.0198642765598399
+-214	-0.0414628173858397
+-215	-0.0446070145491157
+-216	-0.0466847454519845
+-217	-0.0516226742873491
+-218	-0.0545361970917439
+-219	-0.0613148091516843
+-220	-0.055072960413915
+-221	-0.0570761596774525
+-222	-0.0495753919838192
+-223	-0.044640513821499
+-224	-0.0405018327822807
+-225	-0.0466702636420172
+-226	-0.0430523088898141
+-227	0.125260003795363
+-228	0.191674753632075
+-229	0.237532651857125
+-230	0.0874635279713366
+-231	-0.0384027504022232
+-232	-0.0385130011851906
+-233	-0.0369193020542282
+-234	-0.0515458512947041
+-235	-0.050306447453753
+-236	-0.0581741159838659
+-237	-0.052999201910556
+-238	-0.0589658237786291
+-239	-0.0514526377102802
+-240	-0.0466869399159385
+-241	-0.0380841759966984
+-242	-0.0453267873931886
+-243	-0.0425000608264673
+-244	0.0366267109959152
+-245	0.160369979130273
+-246	0.196676462412679
+-247	0.196963399648668
+-248	-0.00269284361330376
+-249	-0.0432567847711532
+-250	-0.038260742578146
+-251	-0.0448624744088596
+-252	-0.0455503391926038
+-253	-0.0532191861758754
+-254	-0.0548508398385335
+-255	-0.0555442566058335
+-256	-0.0526918597919155
+-257	-0.0496453707825256
+-258	-0.0463836479193388
+-259	-0.0379199031664589
+-260	-0.043979755952542
+-261	-0.0385836044654481
+-262	0.148383243382033
+-263	0.160888203514488
+-264	0.201083269668142
+-265	0.101463931607865
+-266	-0.0389240581250844
+-267	-0.043318710806698
+-268	-0.0360099743646708
+-269	-0.0479594556724686
+-270	-0.0461272027080179
+-271	-0.0510551768794275
+-272	-0.0463026057033333
+-273	-0.0586300566668458
+-274	-0.0481537987530518
+-275	-0.0467240944281063
+-276	-0.0388278648519038
+-277	-0.0438740084909164
+-278	-0.0404201849366918
+-279	0.0573087818198142
+-280	0.149625568374594
+-281	0.165251996461555
+-282	0.180497909191808
+-283	0.0141274252706337
+-284	-0.0433910523077124
+-285	-0.0353327138881179
+-286	-0.04407012419326
+-287	-0.0472875341495554
+-288	-0.0500154039913527
+-289	-0.0489059070454218
+-290	-0.0523175481803876
+-291	-0.0483438070974799
+-292	-0.0465391341735897
+-293	-0.0443706893358358
+-294	-0.0383212232736209
+-295	-0.0439923509231612
+-296	-0.0179530530333497
+-297	0.126953953852207
+-298	0.148073497780274
+-299	0.169463284775491
+-300	0.12460981401008
+-301	-0.0384433337210392
+-302	-0.037574676038055
+-303	-0.0373312294892246
+-304	-0.0476939816787347
+-305	-0.0485476034606885
+-306	-0.053203479537681
+-307	-0.0432695529453645
+-308	-0.0531581165281506
+-309	-0.0433332891054256
+-310	-0.0406621361812071
+-311	-0.0336785273069936
+-312	-0.0450892345419585
+-313	-0.0372803722726718
+-314	0.0747413637301572
+-315	0.12838403521187
+-316	0.131273451158583
+-317	0.165634916670676
+-318	0.0393574762093495
+-319	-0.0400219462092557
+-320	-0.0321130988518114
+-321	-0.0426329631110547
+-322	-0.0472021330054887
+-323	-0.0510884361963381
+-324	-0.0451526836510229
+-325	-0.0497432174259365
+-326	-0.0494924567626408
+-327	-0.0426445357005891
+-328	-0.0399977780929692
+-329	-0.035075954620801
+-330	-0.0398937379838232
+-331	0.00141601747607724
+-332	0.111237045799794
+-333	0.129781753698161
+-334	0.148823429538605
+-335	0.111428704849097
+-336	-0.0189114212837953
+-337	-0.0358144500870447
+-338	-0.0338893528609611
+-339	-0.04156202524001
+-340	-0.0476279047622513
+-341	-0.0479240001912479
+-342	-0.0448192129885784
+-343	-0.0520619488376005
+-344	-0.045398294011681
+-345	-0.0425448160252897
+-346	-0.0301879715513119
+-347	-0.039119844953792
+-348	-0.0318445060292795
+-349	0.0775128927560733
+-350	0.133696030929458
+-351	0.0934040962894178
+-352	0.165037006342042
+-353	0.0370713206399436
+-354	-0.0370489719027206
+-355	-0.0298304751416159
+-356	-0.0387994185030151
+-357	-0.0425739727567155
+-358	-0.0469026409069165
+-359	-0.0418293150822566
+-360	-0.0473273219131854
+-361	-0.049308019642061
+-362	-0.0433284886806794
+-363	-0.0369972157525989
+-364	-0.0345525347288445
+-365	-0.0400585889725531
+-366	0.006656467274749
+-367	0.11319538432443
+-368	0.114967420474613
+-369	0.133840368292221
+-370	0.11280046677219
+-371	-0.0184103961539414
+-372	-0.0339399206362434
+-373	-0.0341590200213704
+-374	-0.0389400741910205
+-375	-0.0448588461724111
+-376	-0.0447120964840124
+-377	-0.0401284599190171
+-378	-0.0470280445927007
+-379	-0.0439972690249817
+-380	-0.0392994644400358
+-381	-0.0331443114964012
+-382	-0.0396320099995872
+-383	-0.0357237280973228
+-384	0.0769794799672965
+-385	0.121101405134608
+-386	0.100303300798787
+-387	0.149213747230628
+-388	0.0412712734968881
+-389	-0.034428474543572
+-390	-0.0309853686271892
+-391	-0.037127802798713
+-392	-0.0410862385400477
+-393	-0.0446683655260938
+-394	-0.0377779019366912
+-395	-0.0432145550363202
+-396	-0.0438865867392626
+-397	-0.0397741719725851
+-398	-0.0337532454079572
+-399	-0.0345799482263535
+-400	-0.0387855235790556
+-401	0.0042952586621399
+-402	0.114260797874283
+-403	0.0962185400570627
+-404	0.116302086694965
+-405	0.116848660126361
+-406	-0.0132599069767382
+-407	-0.0326838372412273
+-408	-0.031676894325753
+-409	-0.0359544345578842
+-410	-0.0430939231188687
+-411	-0.0427909313399572
+-412	-0.0392589148284163
+-413	-0.0430139521930403
+-414	-0.0405058980200932
+-415	-0.0359005384516355
+-416	-0.0297289315488662
+-417	-0.0346787823837342
+-418	-0.0332184590996983
+-419	0.0771309823574169
+-420	0.0954831808563938
+-421	0.0986580814637101
+-422	0.132204221810988
+-423	0.0432995539287995
+-424	-0.0282150289086581
+-425	-0.0254088298731916
+-426	-0.035952142901876
+-427	-0.037552626088304
+-428	-0.0405520090843967
+-429	-0.0395737434856001
+-430	-0.0415264891793749
+-431	-0.0396875191674724
+-432	-0.0384740880698292
+-433	-0.0302213018176337
+-434	-0.0302192627628463
+-435	-0.0348307323662469
+-436	0.00857082219058242
+-437	0.113991981123305
+-438	0.0810743348982558
+-439	0.0970584251304922
+-440	0.115026168034471
+-441	-0.0130244881629081
+-442	-0.0292031219799078
+-443	-0.0308836212065116
+-444	-0.0320575360367349
+-445	-0.0393235092139189
+-446	-0.0404817406521166
+-447	-0.0375499698943704
+-448	-0.0391450519157927
+-449	-0.0397015347530508
+-450	-0.0341587808934071
+-451	-0.0310633384201306
+-452	-0.0298881734250907
+-453	-0.0295664081324632
+-454	0.0805186281243404
+-455	0.0833481690834954
+-456	0.100864427083124
+-457	0.111048128125141
+-458	0.0464738054146592
+-459	-0.0349995254836163
+-460	-0.0255159736923953
+-461	-0.0328764364137298
+-462	-0.0338236112511505
+-463	-0.0346782988250705
+-464	-0.0340726935148046
+-465	-0.0404234701095829
+-466	-0.0356824878052483
+-467	-0.0365578629303766
+-468	-0.0324733709193554
+-469	-0.0289648187856306
+-470	-0.0320583632447268
+-471	0.0109080362038411
+-472	0.11757782076319
+-473	0.0695324086716044
+-474	0.079135520981604
+-475	0.117166513712611
+-476	-0.0107597842046391
+-477	-0.0317910056255559
+-478	-0.027713154753877
+-479	-0.0328896799629515
+-480	-0.0351148398263727
+-481	-0.0367274328131775
+-482	-0.0364350706943765
+-483	-0.0352358798451258
+-484	-0.0349817805140066
+-485	-0.0341765926002117
+-486	-0.0295770684618762
+-487	-0.0265724708520466
+-488	-0.0307810244464994
+-489	0.0809894603579388
+-490	0.0657550565427912
+-491	0.106121880875152
+-492	0.0974533505603275
+-493	0.048238583810636
+-494	-0.0288751879183889
+-495	-0.0278787597095273
+-496	-0.0337889205336922
+-497	-0.0310688626579132
+-498	-0.0384449649057626
+-499	-0.0323682085966455
+-500	-0.0361594385992874
+-501	-0.0307937097313911
+-502	-0.0313341566221988
+-503	-0.0279856067641256
+-504	-0.0289346840813807
+-505	-0.0274872799690336
+-506	0.00966555565940951
+-507	0.0987720472362742
+-508	0.0693890261403234
+-509	0.0836756922797179
+-510	0.10281770126579
+-511	-0.00727787007831376
+-512	-0.0258225019587932
+-513	-0.0298502698700326
+-514	-0.0306103473329238
+-515	-0.0340826155989302
+-516	-0.0355383371718098
+-517	-0.0332157070791453
+-518	-0.0354738192624273
+-519	-0.0294010470848171
+-520	-0.0310021513905682
+-521	-0.0278235052216282
+-522	-0.0239204460552095
+-523	-0.0270969544256545
+-524	0.0813764246127106
+-525	0.0493102023473518
+-526	0.104517332044244
+-527	0.0811860139474904
+-528	0.0510442031887192
+-529	-0.0263637770970907
+-530	-0.024755257304
+-531	-0.0293388219300537
+-532	-0.030007512828798
+-533	-0.0323871465584352
+-534	-0.0326780116025662
+-535	-0.0374203204825225
+-536	-0.0287231615177231
+-537	-0.0332054768516264
+-538	-0.0263051872864467
+-539	-0.0243639277620771
+-540	-0.023684344033898
+-541	0.0142647324079813
+-542	0.08574245660666
+-543	0.0666795058595027
+-544	0.0869761334698767
+-545	0.0822018389405922
+-546	-0.00295335814304317
+-547	-0.0235452895911804
+-548	-0.0281420988182953
+-549	-0.0274120947938358
+-550	-0.030158448744077
+-551	-0.0295591560556766
+-552	-0.0349368577359752
+-553	-0.0326892340430509
+-554	-0.0288806796544796
+-555	-0.0295906146661126
+-556	-0.0255785772166513
+-557	-0.0247509384838002
+-558	-0.0232231373627232
+-559	0.0658724153140723
+-560	0.0712698072158692
+-561	0.0881661970571259
+-562	0.0663434329796159
+-563	0.0504442196817487
+-564	-0.0220475381031792
+-565	-0.0264520763210997
+-566	-0.0262681630778278
+-567	-0.0288120090469048
+-568	-0.0292045667237407
+-569	-0.0288062681932496
+-570	-0.0330307486178301
+-571	-0.0276514157813042
+-572	-0.0268575483268837
+-573	-0.0286764091398958
+-574	-0.0281163961143271
+-575	-0.0228693014048811
+-576	0.0137045823052654
+-577	0.0708633033596918
+-578	0.0727744765379734
+-579	0.0901470435080371
+-580	0.0668755655920324
+-581	-0.000653685262202251
+-582	-0.0226994101946291
+-583	-0.0270858316982201
+-584	-0.0262718617327352
+-585	-0.0265543856920115
+-586	-0.0263771846461291
+-587	-0.0319210552186977
+-588	-0.029228183377507
+-589	-0.0253777881177648
+-590	-0.023809668956424
+-591	-0.0280707574473553
+-592	-0.0236140212549248
+-593	-0.0228812657345804
+-594	0.0486286781379677
+-595	0.0898094414635747
+-596	0.0508172134123107
+-597	0.0901627351364118
+-598	0.035844991775818
+-599	-0.0203954379453198
+-600	-0.0236862766959248
+-601	-0.0247764225976876
+-602	-0.0268581954253402
+-603	-0.024001323229557
+-604	-0.0303209729182735
+-605	-0.0282931887611187
+-606	-0.0292448557436288
+-607	-0.0204578421032432
+-608	-0.0248481591188926
+-609	-0.0243082585401647
+-610	-0.0203058655309834
+-611	0.0139804741022989
+-612	0.0505962449646704
+-613	0.0690065939226321
+-614	0.0907008020619833
+-615	0.0519895469381193
+-616	0.00206395484186643
+-617	-0.0179281261622168
+-618	-0.0227541776038619
+-619	-0.0257149623750039
+-620	-0.0221474812173537
+-621	-0.0258958495203968
+-622	-0.0291821476071184
+-623	-0.0275173183668531
+-624	-0.0219475947671766
+-625	-0.0205864860149524
+-626	-0.025198699283959
+-627	-0.0196801475213126
+-628	-0.0202813022751003
+-629	0.0348753757737052
+-630	0.0886744284826022
+-631	0.0510351034421101
+-632	0.0895415054055807
+-633	0.0164865165554748
+-634	-0.015820890351599
+-635	-0.0235475303149806
+-636	-0.0213487610196947
+-637	-0.0223199871320358
+-638	-0.0232883343131998
+-639	-0.0272670686256873
+-640	-0.0272994728260666
+-641	-0.0251308147365066
+-642	-0.0178939045831991
+-643	-0.0228455395566411
+-644	-0.0221674583093893
+-645	-0.0181323711670327
+-646	-0.000452057490636536
+-647	0.0730003371658734
+-648	0.0526039790662623
+-649	0.0893120555725861
+-650	0.0370376391850216
+-651	-0.00089235639136826
+-652	-0.0187548356986865
+-653	-0.0202476722666913
+-654	-0.0234402686094643
+-655	-0.0176944079943485
+-656	-0.0217419932421246
+-657	-0.0252856528727102
+-658	-0.0266563306764344
+-659	-0.0179448089254929
+-660	-0.0195530157887301
+-661	-0.0242694989687706
+-662	-0.0190898174037584
+-663	-0.0162971087662526
+-664	0.0190291931578508
+-665	0.0920040569420149
+-666	0.0547776230200262
+-667	0.092519718174194
+-668	-0.00323187468810452
+-669	-0.0159810677640527
+-670	-0.0185314129082898
+-671	-0.0214996968543122
+-672	-0.0209394743431591
+-673	-0.0193460621057047
+-674	-0.0257496298508357
+-675	-0.0234878155623851
+-676	-0.0215154679548733
+-677	-0.0168154166505892
+-678	-0.019623012738795
+-679	-0.0222731795719489
+-680	-0.0150548901993986
+-681	-0.0172527061580013
+-682	0.0747183966470148
+-683	0.0721393781132992
+-684	0.0565213941535672
+-685	0.0565389116679803
+-686	-0.0148388383909541
+-687	-0.0189549593111703
+-688	-0.0194161863407717
+-689	-0.0197915076545455
+-690	-0.0204244077381793
+-691	-0.0218016316407433
+-692	-0.0214645015602913
+-693	-0.0238079641007921
+-694	-0.0139629684168808
+-695	-0.0156538895936235
+-696	-0.021079456852115
+-697	-0.0181418459552329
+-698	-0.0145711876585601
+-699	0.021215272535226
+-700	0.0739558887973388
+-701	0.0544658986157784
+-702	0.0807341348823958
+-703	-0.000188368345643536
+-704	-0.0129199941327641
+-705	-0.0180368997395347
+-706	-0.0177692127800531
+-707	-0.0204829544190261
+-708	-0.0186632967600099
+-709	-0.0204496056760325
+-710	-0.023317274857146
+-711	-0.0203774310283799
+-712	-0.0136747501938559
+-713	-0.0178116490297146
+-714	-0.0189587954269383
+-715	-0.0118858609089409
+-716	-0.0172514569604997
+-717	0.060802565704854
+-718	0.0729937005677284
+-719	0.0561951789698019
+-720	0.042100568116198
+-721	-0.0145015528092692
+-722	-0.015700955312727
+-723	-0.0167874521751816
+-724	-0.0157176826421741
+-725	-0.01783312467466
+-726	-0.0220309477451877
+-727	-0.0206302592507727
+-728	-0.0200916933627863
+-729	-0.0188778418069578
+-730	-0.0113708982542668
+-731	-0.0176778219523296
+-732	-0.014843868366855
+-733	-0.0112296460883651
+-734	0.0256322345958098
+-735	0.0560052205819785
+-736	0.0568640232132456
+-737	0.0611881586473825
+-738	0.00379039852134298
+-739	-0.0104730174558681
+-740	-0.0164262606347393
+-741	-0.0144022889870097
+-742	-0.0168139620706729
+-743	-0.0162615811333726
+-744	-0.0196477371337629
+-745	-0.0198824745918442
+-746	-0.0192330305226495
+-747	-0.012843462564526
+-748	-0.0132891104080353
+-749	-0.0181808023489715
+-750	-0.0130545167379928
+-751	-0.0113910229689613
+-752	0.041990539641635
+-753	0.0763855238906953
+-754	0.0594251709620633
+-755	0.0243609283015674
+-756	-0.011509575108219
+-757	-0.0130005756539877
+-758	-0.0150890385548497
+-759	-0.0139673203815592
+-760	-0.0157156335728081
+-761	-0.0186682466883542
+-762	-0.0185554927618856
+-763	-0.0162755018147282
+-764	-0.0154200664197001
+-765	-0.0134500863696249
+-766	-0.014171081512106
+-767	-0.0144636296247257
+-768	-0.0126931065239486
+-769	0.00886491087382969
+-770	0.0582642578199214
+-771	0.0786546867228701
+-772	0.0272306482046141
+-773	0.00822579495183492
+-774	-0.011517390916366
+-775	-0.0139592957633573
+-776	-0.0129421565517047
+-777	-0.0134986559471086
+-778	-0.0136304589585504
+-779	-0.0173438393070116
+-780	-0.016064531677406
+-781	-0.0152510664062614
+-782	-0.0101822066131621
+-783	-0.0130099394643087
+-784	-0.0150897101751983
+-785	-0.0121547232260943
+-786	-0.0117824571975702
+-787	0.0242515574526126
+-788	0.0773173900249155
+-789	0.061635146281499
+-790	0.00959030625397352
+-791	-0.0090693872805306
+-792	-0.0112081729509553
+-793	-0.0138649594742307
+-794	-0.010084978733244
+-795	-0.0132143360704552
+-796	-0.01496302977637
+-797	-0.0164140720480332
+-798	-0.0137826264017484
+-799	-0.0128738607141167
+-800	-0.0108179181287105
+-801	-0.0114389768189071
+-802	-0.0115710434341599
+-803	-0.00965025893918617
+-804	-0.0135132422793313
+-805	0.0617365766920115
+-806	0.0779699523399871
+-807	0.0247967756220761
+-808	-0.0065090662747984
+-809	-0.00857892822230665
+-810	-0.0101662607994292
+-811	-0.0108507653686812
+-812	-0.00958246558520002
+-813	-0.0144516907622999
+-814	-0.0150147299589262
+-815	-0.0135220759135818
+-816	-0.0115211008118439
+-817	-0.0104021106108387
+-818	-0.00780776429502702
+-819	-0.011404849912357
+-820	-0.00951333011434902
+-821	-0.00938572506372878
+-822	0.0266216133025957
+-823	0.0610181017554806
+-824	0.0438869371591075
+-825	0.00859504869317741
+-826	-0.00699743519150731
+-827	-0.00929600314682341
+-828	-0.0111911531783819
+-829	-0.00823625897932562
+-830	-0.0100913686286367
+-831	-0.0125756643002852
+-832	-0.0152602353555104
+-833	-0.00953260529007071
+-834	-0.0100594605441607
+-835	-0.00871459443751229
+-836	-0.00938155933764076
+-837	-0.00918618283897082
+-838	-0.00755980106901216
+-839	-0.0107245855066125
+-840	0.0458486876264972
+-841	0.0824090055093124
+-842	0.00574421553061521
+-843	-0.00725667517287379
+-844	-0.00867494223043522
+-845	-0.00829285117321785
+-846	-0.00957414187855957
+-847	-0.00659032223177494
+-848	-0.0106624401215929
+-849	-0.0122427759092887
+-850	-0.0104622099267244
+-851	-0.00799623147718296
+-852	-0.0104382420530796
+-853	-0.0075668223790859
+-854	-0.00621892353946098
+-855	-0.00836920759535837
+-856	-0.00630014552985234
+-857	0.0113479974095218
+-858	0.0628686123242055
+-859	0.0463260384468626
+-860	-0.00865830449867469
+-861	-0.00632533057369849
+-862	-0.00620405394762857
+-863	-0.00876475527943431
+-864	-0.00910265771371557
+-865	-0.00714690863853632
+-866	-0.0103958026182488
+-867	-0.0121633888743942
+-868	-0.00676196610841381
+-869	-0.00714452896204837
+-870	-0.00679873891573572
+-871	-0.00845680011347619
+-872	-0.00625057507944579
+-873	-0.00606839813409962
+-874	-0.00725859558269772
+-875	0.0281965759233777
+-876	0.0670260741629087
+-877	0.00963490036467712
+-878	-0.00456245837151462
+-879	-0.00755131292428571
+-880	-0.00586747799683473
+-881	-0.00783299131040265
+-882	-0.00744370954110726
+-883	-0.00915087240687255
+-884	-0.00957213417268418
+-885	-0.00832361596391925
+-886	-0.0050340090260566
+-887	-0.00755295159414475
+-888	-0.00495117481094215
+-889	-0.00424086001593403
+-890	-0.00515343444584415
+-891	-0.00744099299381077
+-892	-0.00696188041633924
+-893	0.0670358828192865
+-894	0.0306555670430617
+-895	-0.00700188318283173
+-896	-0.00439483158228684
+-897	-0.00440309654475794
+-898	-0.00580106920715627
+-899	-0.00743386431878525
+-900	-0.00615300126683845
+-901	-0.00852083652339179
+-902	-0.00801483743475307
+-903	-0.0074130347068713
+-904	-0.00363565987760851
+-905	-0.007955033309064
+-906	-0.00193305784421065
+-907	-0.0041800577189778
+-908	-0.00353565656672481
+-909	-0.0058551774732522
+-910	0.0302595657677451
+-911	0.0314102314562899
+-912	0.013212750015713
+-913	-0.00316630844923298
+-914	-0.00520479906156008
+-915	-0.00420739410816969
+-916	-0.00564901350096342
+-917	-0.00531128324885506
+-918	-0.00606089198821065
+-919	-0.00772996050306375
+-920	-0.00676594704104744
+-921	-0.00533751850001158
+-922	-0.0058222391965106
+-923	-0.00590469211682123
+-924	-0.00139624368550244
+-925	-0.00225770557975624
+-926	-0.00430278519099915
+-927	-0.00497994091066768
+-928	0.0521745063047641
+-929	0.0125007611461825
+-930	-0.00335983528594071
+-931	-0.00200633784627574
+-932	-0.00192061226814783
+-933	-0.00414996522579167
+-934	-0.00453925170940819
+-935	-0.00441610859184833
+-936	-0.00487531850001996
+-937	-0.00511365916811154
+-938	-0.00549890284279737
+-939	-0.00379682253936933
+-940	-0.00404757676266654
+-941	-0.00349312951783624
+-942	-0.00159942004178191
+-943	-0.00176952812644145
+-944	-0.00366444935410891
+-945	0.0162283566898874
+-946	0.0320898583297591
+-947	-0.00388380045409207
+-948	-0.0018243911045478
+-949	-0.00115125308892718
+-950	-0.00149365801922153
+-951	-0.00294988667592288
+-952	-0.00329687293305934
+-953	-0.00371267430404071
+-954	-0.00407396263409427
+-955	-0.00384065535263086
+-956	-0.00283959971098493
+-957	-0.00342824033321658
+-958	-0.00321142688896053
+-959	-0.00222112060678468
+-960	-0.0020328615528584
+-961	-0.00145605698519582
+-962	-0.00287857829852364
+-963	0.0183610738417914
+-964	0.0154027556420478
+-965	-0.00179489314871512
+-966	-0.00129790436843852
+-967	-0.000853980926230406
+-968	-0.000666619047494671
+-969	-0.00118456473308688
+-970	-0.00182173221293997
+-971	-0.00223763548036304
+-972	-0.00250045159359336
+-973	-0.00244783545512189
+-974	-0.00233355012767793
+-975	-0.00148662334882801
+-976	-0.00109910993153004
+-977	-0.00197535475727005
+-978	-0.00150005492632689
+-979	-0.000669782105543667
+-980	-0.00133477373003284
+-981	0.0173273972011934
+-982	-0.00112526521664063
+-983	-0.000841739351965462
+-984	0.000565203827743629
+-985	-0.000459312244397425
+-986	-0.000418262528083788
+-987	-0.000498463341452234
+-988	-0.000616296957122406
+-989	-0.000679296268851578
+-990	-0.00084778145306077
+-991	-0.000978798423497668
+-992	-0.000894990113732281
+-993	-0.000701461719327138
+-994	-0.000511781130867642
+-995	-0.000286708792038961
+-996	-0.000395118651726646
+-997	-0.000921290818811666
+-998	-0.000781372909192289
+-999	9.80848043031114e-05
+diff --git a/lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkRails#generator.dat b/lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkRails#generator.dat
+deleted file mode 100644
+index 7ed81ad..0000000
+--- a/lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkRails#generator.dat
++++ /dev/null
+@@ -1,1001 +0,0 @@
+-#scatter	real	total	user	system	repeat
+-1	0.0234072208404541	0.0299999999999976	0.0299999999999976	0.0	1
+-2	0.0229461193084717	0.0199999999999996	0.0199999999999996	0.0	2
+-3	0.0243709087371826	0.0200000000000031	0.0200000000000031	0.0	3
+-4	0.0244681835174561	0.0299999999999976	0.0299999999999976	0.0	4
+-5	0.0235309600830078	0.0199999999999996	0.0199999999999996	0.0	5
+-6	0.0227420330047607	0.0199999999999996	0.0199999999999996	0.0	6
+-7	0.022014856338501	0.0300000000000011	0.0300000000000011	0.0	7
+-8	0.0215449333190918	0.0199999999999996	0.0199999999999996	0.0	8
+-9	0.0216219425201416	0.0199999999999996	0.0199999999999996	0.0	9
+-10	0.0218148231506348	0.0199999999999996	0.0199999999999996	0.0	10
+-11	0.0217390060424805	0.0200000000000031	0.0200000000000031	0.0	11
+-12	0.0218250751495361	0.0299999999999976	0.0299999999999976	0.0	12
+-13	0.0219888687133789	0.0199999999999996	0.0199999999999996	0.0	13
+-14	0.021812915802002	0.0200000000000031	0.0200000000000031	0.0	14
+-15	0.0244221687316895	0.0199999999999996	0.0199999999999996	0.0	15
+-16	0.022874116897583	0.0299999999999976	0.0299999999999976	0.0	16
+-17	0.0218498706817627	0.0199999999999996	0.0199999999999996	0.0	17
+-18	0.0760290622711182	0.0700000000000003	0.0700000000000003	0.0	18
+-19	0.0238790512084961	0.0300000000000011	0.0300000000000011	0.0	19
+-20	0.0229480266571045	0.0199999999999996	0.0199999999999996	0.0	20
+-21	0.0231330394744873	0.0199999999999996	0.0199999999999996	0.0	21
+-22	0.0228769779205322	0.0300000000000011	0.0300000000000011	0.0	22
+-23	0.0258219242095947	0.0199999999999996	0.0199999999999996	0.0	23
+-24	0.0243449211120605	0.0300000000000011	0.0300000000000011	0.0	24
+-25	0.0228381156921387	0.0199999999999996	0.0199999999999996	0.0	25
+-26	0.022367000579834	0.0199999999999996	0.0199999999999996	0.0	26
+-27	0.0216410160064697	0.0199999999999996	0.0199999999999996	0.0	27
+-28	0.0216100215911865	0.0300000000000011	0.0300000000000011	0.0	28
+-29	0.0220630168914795	0.0199999999999996	0.0199999999999996	0.0	29
+-30	0.0222890377044678	0.0199999999999996	0.0199999999999996	0.0	30
+-31	0.0216050148010254	0.0199999999999996	0.0199999999999996	0.0	31
+-32	0.0216009616851807	0.0199999999999996	0.0199999999999996	0.0	32
+-33	0.021636962890625	0.0199999999999996	0.0199999999999996	0.0	33
+-34	0.0239388942718506	0.0300000000000011	0.0300000000000011	0.0	34
+-35	0.021759033203125	0.0199999999999996	0.0199999999999996	0.0	35
+-36	0.0811088085174561	0.0800000000000018	0.0800000000000018	0.0	36
+-37	0.0229001045227051	0.0199999999999996	0.0199999999999996	0.0	37
+-38	0.0228509902954102	0.0299999999999976	0.0299999999999976	0.0	38
+-39	0.0228641033172607	0.0200000000000031	0.0200000000000031	0.0	39
+-40	0.0229160785675049	0.0199999999999996	0.0199999999999996	0.0	40
+-41	0.0227169990539551	0.0299999999999976	0.0299999999999976	0.0	41
+-42	0.0228250026702881	0.0200000000000031	0.0200000000000031	0.0	42
+-43	0.0261838436126709	0.0199999999999996	0.0199999999999996	0.0	43
+-44	0.0234429836273193	0.0299999999999976	0.0299999999999976	0.0	44
+-45	0.0215818881988525	0.0199999999999996	0.0199999999999996	0.0	45
+-46	0.0215709209442139	0.0200000000000031	0.0200000000000031	0.0	46
+-47	0.0215950012207031	0.0199999999999996	0.0199999999999996	0.0	47
+-48	0.0215859413146973	0.0199999999999996	0.0199999999999996	0.0	48
+-49	0.0217461585998535	0.0299999999999976	0.0299999999999976	0.0	49
+-50	0.021589994430542	0.0200000000000031	0.0200000000000031	0.0	50
+-51	0.0216829776763916	0.0199999999999996	0.0199999999999996	0.0	51
+-52	0.0217359066009521	0.0199999999999996	0.0199999999999996	0.0	52
+-53	0.0219109058380127	0.0199999999999996	0.0199999999999996	0.0	53
+-54	0.0795738697052002	0.0799999999999983	0.0799999999999983	0.0	54
+-55	0.023021936416626	0.0300000000000011	0.0300000000000011	0.0	55
+-56	0.0230770111083984	0.0199999999999996	0.0199999999999996	0.0	56
+-57	0.0229918956756592	0.0199999999999996	0.0199999999999996	0.0	57
+-58	0.0233080387115479	0.0300000000000011	0.0300000000000011	0.0	58
+-59	0.0226249694824219	0.0199999999999996	0.0199999999999996	0.0	59
+-60	0.022819995880127	0.0199999999999996	0.0199999999999996	0.0	60
+-61	0.0220620632171631	0.0199999999999996	0.0199999999999996	0.0	61
+-62	0.0242538452148438	0.0300000000000011	0.0300000000000011	0.0	62
+-63	0.0224769115447998	0.0199999999999996	0.0199999999999996	0.0	63
+-64	0.0229120254516602	0.0199999999999996	0.0199999999999996	0.0	64
+-65	0.0216310024261475	0.0199999999999996	0.0199999999999996	0.0	65
+-66	0.0215990543365479	0.0300000000000011	0.0300000000000011	0.0	66
+-67	0.0216221809387207	0.0199999999999996	0.0199999999999996	0.0	67
+-68	0.0220649242401123	0.0199999999999996	0.0199999999999996	0.0	68
+-69	0.0225241184234619	0.0199999999999996	0.0199999999999996	0.0	69
+-70	0.0217139720916748	0.0200000000000031	0.0200000000000031	0.0	70
+-71	0.0781118869781494	0.0799999999999983	0.0799999999999983	0.0	71
+-72	0.0234410762786865	0.0300000000000011	0.0300000000000011	0.0	72
+-73	0.0229668617248535	0.0199999999999996	0.0199999999999996	0.0	73
+-74	0.0291080474853516	0.0300000000000011	0.0300000000000011	0.0	74
+-75	0.0240139961242676	0.0199999999999996	0.0199999999999996	0.0	75
+-76	0.0226550102233887	0.0199999999999996	0.0199999999999996	0.0	76
+-77	0.0226681232452393	0.0299999999999976	0.0299999999999976	0.0	77
+-78	0.0226988792419434	0.0200000000000031	0.0200000000000031	0.0	78
+-79	0.0223758220672607	0.0199999999999996	0.0199999999999996	0.0	79
+-80	0.0216100215911865	0.0199999999999996	0.0199999999999996	0.0	80
+-81	0.0216431617736816	0.0300000000000011	0.0300000000000011	0.0	81
+-82	0.0247490406036377	0.0199999999999996	0.0199999999999996	0.0	82
+-83	0.023237943649292	0.0199999999999996	0.0199999999999996	0.0	83
+-84	0.0217869281768799	0.0299999999999976	0.0299999999999976	0.0	84
+-85	0.0216598510742188	0.0200000000000031	0.0200000000000031	0.0	85
+-86	0.0217628479003906	0.0199999999999996	0.0199999999999996	0.0	86
+-87	0.0218119621276855	0.0199999999999996	0.0199999999999996	0.0	87
+-88	0.0217659473419189	0.0199999999999996	0.0199999999999996	0.0	88
+-89	0.0768370628356934	0.0799999999999983	0.0799999999999983	0.0	89
+-90	0.025317907333374	0.0200000000000031	0.0200000000000031	0.0	90
+-91	0.0233399868011475	0.0299999999999976	0.0299999999999976	0.0	91
+-92	0.0232961177825928	0.0199999999999996	0.0199999999999996	0.0	92
+-93	0.0227580070495605	0.0199999999999996	0.0199999999999996	0.0	93
+-94	0.0227789878845215	0.0300000000000011	0.0300000000000011	0.0	94
+-95	0.0228569507598877	0.0199999999999996	0.0199999999999996	0.0	95
+-96	0.0226337909698486	0.0199999999999996	0.0199999999999996	0.0	96
+-97	0.0222299098968506	0.0300000000000011	0.0300000000000011	0.0	97
+-98	0.0214722156524658	0.0199999999999996	0.0199999999999996	0.0	98
+-99	0.0216591358184814	0.0199999999999996	0.0199999999999996	0.0	99
+-100	0.0215888023376465	0.0199999999999996	0.0199999999999996	0.0	100
+-101	0.0234711170196533	0.0200000000000031	0.0200000000000031	0.0	101
+-102	0.0229098796844482	0.0299999999999976	0.0299999999999976	0.0	102
+-103	0.0220291614532471	0.0199999999999996	0.0199999999999996	0.0	103
+-104	0.0216660499572754	0.0199999999999996	0.0199999999999996	0.0	104
+-105	0.0216059684753418	0.0200000000000031	0.0200000000000031	0.0	105
+-106	0.0761630535125732	0.0799999999999983	0.0799999999999983	0.0	106
+-107	0.0231220722198486	0.0199999999999996	0.0199999999999996	0.0	107
+-108	0.0229330062866211	0.0199999999999996	0.0199999999999996	0.0	108
+-109	0.0230400562286377	0.0300000000000011	0.0300000000000011	0.0	109
+-110	0.0250980854034424	0.0199999999999996	0.0199999999999996	0.0	110
+-111	0.0231518745422363	0.0300000000000011	0.0300000000000011	0.0	111
+-112	0.0227048397064209	0.0199999999999996	0.0199999999999996	0.0	112
+-113	0.0284969806671143	0.0300000000000011	0.0300000000000011	0.0	113
+-114	0.0239260196685791	0.0199999999999996	0.0199999999999996	0.0	114
+-115	0.0219199657440186	0.0199999999999996	0.0199999999999996	0.0	115
+-116	0.0215260982513428	0.0199999999999996	0.0199999999999996	0.0	116
+-117	0.0215198993682861	0.0300000000000011	0.0300000000000011	0.0	117
+-118	0.0216398239135742	0.0199999999999996	0.0199999999999996	0.0	118
+-119	0.0215740203857422	0.0199999999999996	0.0199999999999996	0.0	119
+-120	0.0216050148010254	0.0199999999999996	0.0199999999999996	0.0	120
+-121	0.0247631072998047	0.0300000000000011	0.0300000000000011	0.0	121
+-122	0.0225539207458496	0.0199999999999996	0.0199999999999996	0.0	122
+-123	0.0218660831451416	0.0199999999999996	0.0199999999999996	0.0	123
+-124	0.0765988826751709	0.0799999999999983	0.0799999999999983	0.0	124
+-125	0.0230319499969482	0.0199999999999996	0.0199999999999996	0.0	125
+-126	0.0229179859161377	0.0200000000000031	0.0200000000000031	0.0	126
+-127	0.0229899883270264	0.0299999999999976	0.0299999999999976	0.0	127
+-128	0.0230929851531982	0.0199999999999996	0.0199999999999996	0.0	128
+-129	0.024507999420166	0.0200000000000031	0.0200000000000031	0.0	129
+-130	0.0237898826599121	0.0299999999999976	0.0299999999999976	0.0	130
+-131	0.0237009525299072	0.0199999999999996	0.0199999999999996	0.0	131
+-132	0.0220949649810791	0.0199999999999996	0.0199999999999996	0.0	132
+-133	0.0216069221496582	0.0300000000000011	0.0300000000000011	0.0	133
+-134	0.0217080116271973	0.0199999999999996	0.0199999999999996	0.0	134
+-135	0.0218410491943359	0.0199999999999996	0.0199999999999996	0.0	135
+-136	0.0222909450531006	0.0199999999999996	0.0199999999999996	0.0	136
+-137	0.0216519832611084	0.0200000000000031	0.0200000000000031	0.0	137
+-138	0.0217440128326416	0.0299999999999976	0.0299999999999976	0.0	138
+-139	0.0217659473419189	0.0199999999999996	0.0199999999999996	0.0	139
+-140	0.0218610763549805	0.0200000000000031	0.0200000000000031	0.0	140
+-141	0.0243120193481445	0.0199999999999996	0.0199999999999996	0.0	141
+-142	0.0773770809173584	0.0799999999999983	0.0799999999999983	0.0	142
+-143	0.0230779647827148	0.0199999999999996	0.0199999999999996	0.0	143
+-144	0.022913932800293	0.0300000000000011	0.0300000000000011	0.0	144
+-145	0.0239241123199463	0.0199999999999996	0.0199999999999996	0.0	145
+-146	0.0227971076965332	0.0199999999999996	0.0199999999999996	0.0	146
+-147	0.0230598449707031	0.0300000000000011	0.0300000000000011	0.0	147
+-148	0.0227980613708496	0.0200000000000031	0.0199999999999996	0.0	148
+-149	0.0250101089477539	0.019999999999996	0.0199999999999996	0.0	149
+-150	0.0231060981750488	0.0300000000000011	0.0300000000000011	0.0	150
+-151	0.021589994430542	0.0200000000000031	0.0199999999999996	0.0	151
+-152	0.0279331207275391	0.029999999999994	0.0299999999999976	0.0	152
+-153	0.0230989456176758	0.0200000000000031	0.0200000000000031	0.0	153
+-154	0.0220518112182617	0.019999999999996	0.019999999999996	0.0	154
+-155	0.02158522605896	0.0200000000000031	0.0200000000000031	0.0	155
+-156	0.0215890407562256	0.0300000000000011	0.0300000000000011	0.0	156
+-157	0.021787166595459	0.019999999999996	0.019999999999996	0.0	157
+-158	0.0218689441680908	0.0200000000000031	0.0200000000000031	0.0	158
+-159	0.0797779560089111	0.0799999999999983	0.0799999999999983	0.0	159
+-160	0.0232160091400146	0.0200000000000031	0.0200000000000031	0.0	160
+-161	0.0228378772735596	0.019999999999996	0.019999999999996	0.0	161
+-162	0.02286696434021	0.0300000000000011	0.0300000000000011	0.0	162
+-163	0.0227479934692383	0.0200000000000031	0.0200000000000031	0.0	163
+-164	0.0228869915008545	0.019999999999996	0.019999999999996	0.0	164
+-165	0.0226659774780273	0.0300000000000011	0.0300000000000011	0.0	165
+-166	0.022770881652832	0.0200000000000031	0.0200000000000031	0.0	166
+-167	0.0226860046386719	0.019999999999996	0.019999999999996	0.0	167
+-168	0.0242869853973389	0.0300000000000011	0.0300000000000011	0.0	168
+-169	0.0219647884368896	0.0200000000000031	0.0200000000000031	0.0	169
+-170	0.0227658748626709	0.019999999999996	0.019999999999996	0.0	170
+-171	0.0217809677124023	0.0200000000000031	0.0200000000000031	0.0	171
+-172	0.0216867923736572	0.019999999999996	0.019999999999996	0.0	172
+-173	0.0220091342926025	0.0300000000000011	0.0300000000000011	0.0	173
+-174	0.0218439102172852	0.0200000000000031	0.0200000000000031	0.0	174
+-175	0.0223178863525391	0.019999999999996	0.019999999999996	0.0	175
+-176	0.0216579437255859	0.0200000000000031	0.0200000000000031	0.0	176
+-177	0.0791630744934082	0.0799999999999983	0.0799999999999983	0.0	177
+-178	0.0234289169311523	0.0300000000000011	0.0300000000000011	0.0	178
+-179	0.0239951610565186	0.019999999999996	0.019999999999996	0.0	179
+-180	0.0231759548187256	0.0200000000000031	0.0200000000000031	0.0	180
+-181	0.0228521823883057	0.0300000000000011	0.0300000000000011	0.0	181
+-182	0.0234448909759521	0.019999999999996	0.019999999999996	0.0	182
+-183	0.0231420993804932	0.0200000000000031	0.0200000000000031	0.0	183
+-184	0.0229649543762207	0.0300000000000011	0.0300000000000011	0.0	184
+-185	0.0216999053955078	0.019999999999996	0.019999999999996	0.0	185
+-186	0.0214908123016357	0.0200000000000031	0.0200000000000031	0.0	186
+-187	0.0216050148010254	0.019999999999996	0.019999999999996	0.0	187
+-188	0.0253100395202637	0.0200000000000031	0.0200000000000031	0.0	188
+-189	0.0231828689575195	0.0300000000000011	0.0300000000000011	0.0	189
+-190	0.021651029586792	0.019999999999996	0.019999999999996	0.0	190
+-191	0.0281798839569092	0.0300000000000011	0.0300000000000011	0.0	191
+-192	0.0221288204193115	0.0200000000000031	0.0200000000000031	0.0	192
+-193	0.0217571258544922	0.019999999999996	0.019999999999996	0.0	193
+-194	0.0757858753204346	0.0800000000000054	0.0800000000000054	0.0	194
+-195	0.0231471061706543	0.019999999999996	0.019999999999996	0.0	195
+-196	0.0251290798187256	0.0300000000000011	0.0300000000000011	0.0	196
+-197	0.0239238739013672	0.0200000000000031	0.0200000000000031	0.0	197
+-198	0.0237748622894287	0.019999999999996	0.019999999999996	0.0	198
+-199	0.0228419303894043	0.0300000000000011	0.0300000000000011	0.0	199
+-200	0.0227909088134766	0.0200000000000031	0.0200000000000031	0.0	200
+-201	0.0227510929107666	0.019999999999996	0.019999999999996	0.0	201
+-202	0.0226459503173828	0.0200000000000031	0.0200000000000031	0.0	202
+-203	0.0219879150390625	0.0300000000000011	0.0300000000000011	0.0	203
+-204	0.0215039253234863	0.019999999999996	0.019999999999996	0.0	204
+-205	0.021712064743042	0.0200000000000031	0.0200000000000031	0.0	205
+-206	0.0217649936676025	0.019999999999996	0.019999999999996	0.0	206
+-207	0.0244510173797607	0.0300000000000011	0.0300000000000011	0.0	207
+-208	0.0221529006958008	0.0200000000000031	0.0200000000000031	0.0	208
+-209	0.0231170654296875	0.019999999999996	0.019999999999996	0.0	209
+-210	0.0216870307922363	0.0200000000000031	0.0200000000000031	0.0	210
+-211	0.0216608047485352	0.019999999999996	0.019999999999996	0.0	211
+-212	0.0771470069885254	0.0800000000000054	0.0800000000000054	0.0	212
+-213	0.0229711532592773	0.019999999999996	0.019999999999996	0.0	213
+-214	0.0230278968811035	0.0300000000000011	0.0300000000000011	0.0	214
+-215	0.0230338573455811	0.019999999999996	0.019999999999996	0.0	215
+-216	0.0260100364685059	0.0300000000000011	0.0300000000000011	0.0	216
+-217	0.0238170623779297	0.0200000000000031	0.0200000000000031	0.0	217
+-218	0.0228071212768555	0.019999999999996	0.019999999999996	0.0	218
+-219	0.0227000713348389	0.0300000000000011	0.0300000000000011	0.0	219
+-220	0.0220599174499512	0.0200000000000031	0.0200000000000031	0.0	220
+-221	0.0216770172119141	0.019999999999996	0.019999999999996	0.0	221
+-222	0.0224151611328125	0.0200000000000031	0.0200000000000031	0.0	222
+-223	0.0217008590698242	0.0200000000000031	0.0200000000000031	0.0	223
+-224	0.0216941833496094	0.029999999999994	0.029999999999994	0.0	224
+-225	0.0216820240020752	0.0200000000000031	0.0200000000000031	0.0	225
+-226	0.0217270851135254	0.019999999999996	0.019999999999996	0.0	226
+-227	0.0246779918670654	0.0200000000000031	0.0200000000000031	0.0	227
+-228	0.0233469009399414	0.0300000000000011	0.0300000000000011	0.0	228
+-229	0.0217921733856201	0.019999999999996	0.019999999999996	0.0	229
+-230	0.0832829475402832	0.0800000000000054	0.0800000000000054	0.0	230
+-231	0.02298903465271	0.019999999999996	0.019999999999996	0.0	231
+-232	0.0229618549346924	0.0300000000000011	0.0300000000000011	0.0	232
+-233	0.0230050086975098	0.0200000000000031	0.0200000000000031	0.0	233
+-234	0.022770881652832	0.019999999999996	0.019999999999996	0.0	234
+-235	0.0257570743560791	0.0300000000000011	0.0300000000000011	0.0	235
+-236	0.0234668254852295	0.0200000000000031	0.0200000000000031	0.0	236
+-237	0.0224740505218506	0.029999999999994	0.029999999999994	0.0	237
+-238	0.0215451717376709	0.0200000000000031	0.0200000000000031	0.0	238
+-239	0.0215630531311035	0.0200000000000031	0.0200000000000031	0.0	239
+-240	0.0216259956359863	0.019999999999996	0.019999999999996	0.0	240
+-241	0.0215809345245361	0.0200000000000031	0.0200000000000031	0.0	241
+-242	0.0216450691223145	0.019999999999996	0.019999999999996	0.0	242
+-243	0.0215449333190918	0.0300000000000011	0.0300000000000011	0.0	243
+-244	0.0216479301452637	0.0200000000000031	0.0200000000000031	0.0	244
+-245	0.0218291282653809	0.019999999999996	0.019999999999996	0.0	245
+-246	0.0227890014648438	0.0200000000000031	0.0200000000000031	0.0	246
+-247	0.0793211460113525	0.0799999999999983	0.0799999999999983	0.0	247
+-248	0.0230979919433594	0.0200000000000031	0.0200000000000031	0.0	248
+-249	0.0230920314788818	0.029999999999994	0.029999999999994	0.0	249
+-250	0.0235588550567627	0.0200000000000031	0.0200000000000031	0.0	250
+-251	0.0228121280670166	0.0200000000000031	0.0200000000000031	0.0	251
+-252	0.0227479934692383	0.029999999999994	0.029999999999994	0.0	252
+-253	0.0227429866790771	0.0200000000000031	0.0200000000000031	0.0	253
+-254	0.0227539539337158	0.019999999999996	0.019999999999996	0.0	254
+-255	0.0255939960479736	0.0300000000000011	0.0300000000000011	0.0	255
+-256	0.0225818157196045	0.0200000000000031	0.0200000000000031	0.0	256
+-257	0.0216748714447021	0.019999999999996	0.019999999999996	0.0	257
+-258	0.0216860771179199	0.0200000000000031	0.0200000000000031	0.0	258
+-259	0.0217640399932861	0.0300000000000011	0.0300000000000011	0.0	259
+-260	0.0218229293823242	0.019999999999996	0.019999999999996	0.0	260
+-261	0.0217108726501465	0.0200000000000031	0.0200000000000031	0.0	261
+-262	0.0230560302734375	0.0200000000000031	0.0200000000000031	0.0	262
+-263	0.0218439102172852	0.019999999999996	0.019999999999996	0.0	263
+-264	0.0216600894927979	0.0200000000000031	0.0200000000000031	0.0	264
+-265	0.0821051597595215	0.0899999999999963	0.0899999999999963	0.0	265
+-266	0.0255589485168457	0.0200000000000031	0.0200000000000031	0.0	266
+-267	0.0274901390075684	0.0300000000000011	0.0300000000000011	0.0	267
+-268	0.0230200290679932	0.019999999999996	0.019999999999996	0.0	268
+-269	0.0227861404418945	0.0200000000000031	0.0200000000000031	0.0	269
+-270	0.0227971076965332	0.0300000000000011	0.0300000000000011	0.0	270
+-271	0.0227358341217041	0.019999999999996	0.019999999999996	0.0	271
+-272	0.0242559909820557	0.0200000000000031	0.0200000000000031	0.0	272
+-273	0.0217318534851074	0.029999999999994	0.029999999999994	0.0	273
+-274	0.0250978469848633	0.0200000000000031	0.0200000000000031	0.0	274
+-275	0.0236959457397461	0.0200000000000031	0.0200000000000031	0.0	275
+-276	0.0217390060424805	0.029999999999994	0.029999999999994	0.0	276
+-277	0.0216028690338135	0.0200000000000031	0.0200000000000031	0.0	277
+-278	0.0216250419616699	0.0200000000000031	0.0200000000000031	0.0	278
+-279	0.0216012001037598	0.019999999999996	0.019999999999996	0.0	279
+-280	0.0216450691223145	0.0200000000000031	0.0200000000000031	0.0	280
+-281	0.0217640399932861	0.019999999999996	0.019999999999996	0.0	281
+-282	0.076016902923584	0.0799999999999983	0.0799999999999983	0.0	282
+-283	0.0259561538696289	0.0300000000000011	0.0300000000000011	0.0	283
+-284	0.024043083190918	0.0200000000000031	0.0200000000000031	0.0	284
+-285	0.0230240821838379	0.019999999999996	0.019999999999996	0.0	285
+-286	0.0229220390319824	0.0300000000000011	0.0300000000000011	0.0	286
+-287	0.0229079723358154	0.0200000000000031	0.0200000000000031	0.0	287
+-288	0.0228331089019775	0.019999999999996	0.019999999999996	0.0	288
+-289	0.0232009887695312	0.0300000000000011	0.0300000000000011	0.0	289
+-290	0.0225679874420166	0.0200000000000031	0.0200000000000031	0.0	290
+-291	0.021859884262085	0.019999999999996	0.019999999999996	0.0	291
+-292	0.0215480327606201	0.0200000000000031	0.0200000000000031	0.0	292
+-293	0.0216219425201416	0.019999999999996	0.019999999999996	0.0	293
+-294	0.0247988700866699	0.0300000000000011	0.0300000000000011	0.0	294
+-295	0.0220661163330078	0.0200000000000031	0.0200000000000031	0.0	295
+-296	0.0218551158905029	0.019999999999996	0.019999999999996	0.0	296
+-297	0.0216910839080811	0.0200000000000031	0.0200000000000031	0.0	297
+-298	0.0218009948730469	0.0300000000000011	0.0300000000000011	0.0	298
+-299	0.0217809677124023	0.019999999999996	0.019999999999996	0.0	299
+-300	0.0773510932922363	0.0800000000000054	0.0800000000000054	0.0	300
+-301	0.0230739116668701	0.019999999999996	0.019999999999996	0.0	301
+-302	0.0251951217651367	0.0200000000000031	0.0200000000000031	0.0	302
+-303	0.0236630439758301	0.0300000000000011	0.0300000000000011	0.0	303
+-304	0.0231490135192871	0.019999999999996	0.019999999999996	0.0	304
+-305	0.029649019241333	0.0300000000000011	0.0300000000000011	0.0	305
+-306	0.0232720375061035	0.0200000000000031	0.0200000000000031	0.0	306
+-307	0.0227010250091553	0.029999999999994	0.029999999999994	0.0	307
+-308	0.0219080448150635	0.0200000000000031	0.0200000000000031	0.0	308
+-309	0.0215001106262207	0.0200000000000031	0.0200000000000031	0.0	309
+-310	0.0215349197387695	0.019999999999996	0.019999999999996	0.0	310
+-311	0.0216870307922363	0.0200000000000031	0.0200000000000031	0.0	311
+-312	0.0215351581573486	0.019999999999996	0.019999999999996	0.0	312
+-313	0.0247399806976318	0.0300000000000011	0.0300000000000011	0.0	313
+-314	0.0232751369476318	0.0200000000000031	0.0200000000000031	0.0	314
+-315	0.0219449996948242	0.019999999999996	0.019999999999996	0.0	315
+-316	0.0216867923736572	0.0300000000000011	0.0300000000000011	0.0	316
+-317	0.0756809711456299	0.0700000000000003	0.0700000000000003	0.0	317
+-318	0.0230629444122314	0.0300000000000011	0.0300000000000011	0.0	318
+-319	0.0229449272155762	0.019999999999996	0.019999999999996	0.0	319
+-320	0.0231809616088867	0.0200000000000031	0.0200000000000031	0.0	320
+-321	0.0229148864746094	0.019999999999996	0.019999999999996	0.0	321
+-322	0.0256710052490234	0.0300000000000011	0.0300000000000011	0.0	322
+-323	0.0237009525299072	0.0200000000000031	0.0200000000000031	0.0	323
+-324	0.0227048397064209	0.0300000000000011	0.0300000000000011	0.0	324
+-325	0.0226731300354004	0.019999999999996	0.019999999999996	0.0	325
+-326	0.0221679210662842	0.0200000000000031	0.0200000000000031	0.0	326
+-327	0.0216591358184814	0.019999999999996	0.019999999999996	0.0	327
+-328	0.0220868587493896	0.0300000000000011	0.0300000000000011	0.0	328
+-329	0.0215578079223633	0.0200000000000031	0.0200000000000031	0.0	329
+-330	0.0216000080108643	0.019999999999996	0.019999999999996	0.0	330
+-331	0.0216810703277588	0.0200000000000031	0.0200000000000031	0.0	331
+-332	0.0217440128326416	0.019999999999996	0.019999999999996	0.0	332
+-333	0.024817943572998	0.0300000000000011	0.0300000000000011	0.0	333
+-334	0.0228419303894043	0.0200000000000031	0.0200000000000031	0.0	334
+-335	0.0767669677734375	0.0799999999999983	0.0799999999999983	0.0	335
+-336	0.0229949951171875	0.0200000000000031	0.0200000000000031	0.0	336
+-337	0.0237720012664795	0.019999999999996	0.019999999999996	0.0	337
+-338	0.0229918956756592	0.0300000000000011	0.0300000000000011	0.0	338
+-339	0.0228021144866943	0.0200000000000031	0.0200000000000031	0.0	339
+-340	0.0227911472320557	0.019999999999996	0.019999999999996	0.0	340
+-341	0.0249691009521484	0.0300000000000011	0.0300000000000011	0.0	341
+-342	0.0228381156921387	0.0200000000000031	0.0200000000000031	0.0	342
+-343	0.0229289531707764	0.019999999999996	0.019999999999996	0.0	343
+-344	0.028364896774292	0.0300000000000011	0.0300000000000011	0.0	344
+-345	0.0216519832611084	0.0200000000000031	0.0200000000000031	0.0	345
+-346	0.0216679573059082	0.029999999999994	0.029999999999994	0.0	346
+-347	0.0215489864349365	0.0200000000000031	0.0200000000000031	0.0	347
+-348	0.0216460227966309	0.0200000000000031	0.0200000000000031	0.0	348
+-349	0.0217490196228027	0.019999999999996	0.019999999999996	0.0	349
+-350	0.0217440128326416	0.0200000000000031	0.0200000000000031	0.0	350
+-351	0.0216310024261475	0.019999999999996	0.019999999999996	0.0	351
+-352	0.0248680114746094	0.0300000000000011	0.0300000000000011	0.0	352
+-353	0.0779280662536621	0.0799999999999983	0.0799999999999983	0.0	353
+-354	0.0229990482330322	0.0200000000000031	0.0200000000000031	0.0	354
+-355	0.02298903465271	0.019999999999996	0.019999999999996	0.0	355
+-356	0.0229768753051758	0.0300000000000011	0.0300000000000011	0.0	356
+-357	0.0228021144866943	0.0200000000000031	0.0200000000000031	0.0	357
+-358	0.0227739810943604	0.019999999999996	0.019999999999996	0.0	358
+-359	0.0229020118713379	0.0200000000000031	0.0200000000000031	0.0	359
+-360	0.0220818519592285	0.0300000000000011	0.0300000000000011	0.0	360
+-361	0.024421215057373	0.019999999999996	0.019999999999996	0.0	361
+-362	0.0219769477844238	0.0200000000000031	0.0200000000000031	0.0	362
+-363	0.0216801166534424	0.0300000000000011	0.0300000000000011	0.0	363
+-364	0.0218110084533691	0.019999999999996	0.019999999999996	0.0	364
+-365	0.0219409465789795	0.0200000000000031	0.0200000000000031	0.0	365
+-366	0.0218820571899414	0.019999999999996	0.019999999999996	0.0	366
+-367	0.0223009586334229	0.0200000000000031	0.0200000000000031	0.0	367
+-368	0.0218269824981689	0.0300000000000011	0.0300000000000011	0.0	368
+-369	0.0217530727386475	0.019999999999996	0.019999999999996	0.0	369
+-370	0.0778021812438965	0.0700000000000003	0.0700000000000003	0.0	370
+-371	0.0233700275421143	0.0300000000000011	0.0300000000000011	0.0	371
+-372	0.0233359336853027	0.0200000000000031	0.0200000000000031	0.0	372
+-373	0.0229201316833496	0.019999999999996	0.019999999999996	0.0	373
+-374	0.0229110717773438	0.0300000000000011	0.0300000000000011	0.0	374
+-375	0.0227591991424561	0.0200000000000031	0.0200000000000031	0.0	375
+-376	0.023568868637085	0.019999999999996	0.019999999999996	0.0	376
+-377	0.022733211517334	0.0300000000000011	0.0300000000000011	0.0	377
+-378	0.0221920013427734	0.0200000000000031	0.0200000000000031	0.0	378
+-379	0.0215809345245361	0.019999999999996	0.019999999999996	0.0	379
+-380	0.0231049060821533	0.0200000000000031	0.0200000000000031	0.0	380
+-381	0.0227119922637939	0.0300000000000011	0.0300000000000011	0.0	381
+-382	0.0230410099029541	0.019999999999996	0.019999999999996	0.0	382
+-383	0.0276191234588623	0.0300000000000011	0.0300000000000011	0.0	383
+-384	0.0234389305114746	0.0200000000000031	0.0200000000000031	0.0	384
+-385	0.0217380523681641	0.019999999999996	0.019999999999996	0.0	385
+-386	0.0216379165649414	0.0200000000000031	0.0200000000000031	0.0	386
+-387	0.0217010974884033	0.0300000000000011	0.0300000000000011	0.0	387
+-388	0.0771059989929199	0.0699999999999932	0.0699999999999932	0.0	388
+-389	0.0259981155395508	0.0300000000000011	0.0300000000000011	0.0	389
+-390	0.0245940685272217	0.0200000000000031	0.0200000000000031	0.0	390
+-391	0.0229830741882324	0.0300000000000011	0.0300000000000011	0.0	391
+-392	0.0227859020233154	0.019999999999996	0.019999999999996	0.0	392
+-393	0.0226709842681885	0.0200000000000031	0.0200000000000031	0.0	393
+-394	0.0227479934692383	0.0300000000000011	0.0300000000000011	0.0	394
+-395	0.0223689079284668	0.019999999999996	0.019999999999996	0.0	395
+-396	0.0215182304382324	0.0200000000000031	0.0200000000000031	0.0	396
+-397	0.0214920043945312	0.019999999999996	0.019999999999996	0.0	397
+-398	0.0217499732971191	0.0200000000000031	0.0200000000000031	0.0	398
+-399	0.021583080291748	0.019999999999996	0.019999999999996	0.0	399
+-400	0.0245871543884277	0.0300000000000011	0.0300000000000011	0.0	400
+-401	0.0234861373901367	0.0200000000000031	0.0200000000000031	0.0	401
+-402	0.0216600894927979	0.019999999999996	0.019999999999996	0.0	402
+-403	0.0216600894927979	0.0300000000000011	0.0300000000000011	0.0	403
+-404	0.021885871887207	0.0200000000000031	0.0200000000000031	0.0	404
+-405	0.0772140026092529	0.0799999999999983	0.0799999999999983	0.0	405
+-406	0.0230650901794434	0.0200000000000031	0.0200000000000031	0.0	406
+-407	0.0229761600494385	0.019999999999996	0.019999999999996	0.0	407
+-408	0.0251660346984863	0.0300000000000011	0.0300000000000011	0.0	408
+-409	0.0232548713684082	0.0200000000000031	0.0200000000000031	0.0	409
+-410	0.0238220691680908	0.019999999999996	0.019999999999996	0.0	410
+-411	0.0227861404418945	0.0300000000000011	0.0300000000000011	0.0	411
+-412	0.0226359367370605	0.0200000000000031	0.0200000000000031	0.0	412
+-413	0.0224370956420898	0.019999999999996	0.019999999999996	0.0	413
+-414	0.0216140747070312	0.0200000000000031	0.0200000000000031	0.0	414
+-415	0.0223848819732666	0.0300000000000011	0.0300000000000011	0.0	415
+-416	0.0215442180633545	0.019999999999996	0.019999999999996	0.0	416
+-417	0.0215690135955811	0.0200000000000031	0.0200000000000031	0.0	417
+-418	0.0216190814971924	0.019999999999996	0.019999999999996	0.0	418
+-419	0.0228719711303711	0.0200000000000031	0.0200000000000031	0.0	419
+-420	0.0226399898529053	0.0300000000000011	0.0300000000000011	0.0	420
+-421	0.0236082077026367	0.019999999999996	0.019999999999996	0.0	421
+-422	0.0264570713043213	0.0300000000000011	0.0300000000000011	0.0	422
+-423	0.0789790153503418	0.0799999999999983	0.0799999999999983	0.0	423
+-424	0.0229339599609375	0.0200000000000031	0.0200000000000031	0.0	424
+-425	0.0229668617248535	0.019999999999996	0.019999999999996	0.0	425
+-426	0.02298903465271	0.0200000000000031	0.0200000000000031	0.0	426
+-427	0.0229198932647705	0.0300000000000011	0.0300000000000011	0.0	427
+-428	0.0257198810577393	0.019999999999996	0.019999999999996	0.0	428
+-429	0.0243279933929443	0.0300000000000011	0.0300000000000011	0.0	429
+-430	0.022507905960083	0.0200000000000031	0.0200000000000031	0.0	430
+-431	0.0216341018676758	0.019999999999996	0.019999999999996	0.0	431
+-432	0.0214908123016357	0.0200000000000031	0.0200000000000031	0.0	432
+-433	0.0215690135955811	0.0300000000000011	0.0300000000000011	0.0	433
+-434	0.0216338634490967	0.019999999999996	0.019999999999996	0.0	434
+-435	0.0216329097747803	0.0200000000000031	0.0200000000000031	0.0	435
+-436	0.0217580795288086	0.019999999999996	0.019999999999996	0.0	436
+-437	0.0218169689178467	0.0200000000000031	0.0200000000000031	0.0	437
+-438	0.0216329097747803	0.019999999999996	0.019999999999996	0.0	438
+-439	0.0245261192321777	0.0300000000000011	0.0300000000000011	0.0	439
+-440	0.0769329071044922	0.0700000000000003	0.0700000000000003	0.0	440
+-441	0.0231759548187256	0.0300000000000011	0.0300000000000011	0.0	441
+-442	0.0230391025543213	0.0200000000000031	0.0200000000000031	0.0	442
+-443	0.0233399868011475	0.019999999999996	0.019999999999996	0.0	443
+-444	0.0227611064910889	0.0300000000000011	0.0300000000000011	0.0	444
+-445	0.0228729248046875	0.0200000000000031	0.0200000000000031	0.0	445
+-446	0.0227501392364502	0.019999999999996	0.019999999999996	0.0	446
+-447	0.0253760814666748	0.0300000000000011	0.0300000000000011	0.0	447
+-448	0.0228900909423828	0.0200000000000031	0.0200000000000031	0.0	448
+-449	0.0227060317993164	0.019999999999996	0.019999999999996	0.0	449
+-450	0.0215671062469482	0.0300000000000011	0.0300000000000011	0.0	450
+-451	0.0215458869934082	0.0200000000000031	0.0200000000000031	0.0	451
+-452	0.0216641426086426	0.019999999999996	0.019999999999996	0.0	452
+-453	0.0215919017791748	0.0200000000000031	0.0200000000000031	0.0	453
+-454	0.022503137588501	0.019999999999996	0.019999999999996	0.0	454
+-455	0.0216779708862305	0.0300000000000011	0.0300000000000011	0.0	455
+-456	0.0216538906097412	0.0200000000000031	0.0200000000000031	0.0	456
+-457	0.0217761993408203	0.019999999999996	0.019999999999996	0.0	457
+-458	0.0798358917236328	0.0799999999999983	0.0799999999999983	0.0	458
+-459	0.0303719043731689	0.0300000000000011	0.0300000000000011	0.0	459
+-460	0.0229458808898926	0.0200000000000031	0.0200000000000031	0.0	460
+-461	0.0229299068450928	0.019999999999996	0.019999999999996	0.0	461
+-462	0.0227961540222168	0.019999999999996	0.019999999999996	0.0	462
+-463	0.0226409435272217	0.0200000000000031	0.0200000000000031	0.0	463
+-464	0.0226771831512451	0.019999999999996	0.019999999999996	0.0	464
+-465	0.0224730968475342	0.0300000000000011	0.0300000000000011	0.0	465
+-466	0.0218050479888916	0.0200000000000031	0.0200000000000031	0.0	466
+-467	0.025601863861084	0.019999999999996	0.019999999999996	0.0	467
+-468	0.0238199234008789	0.0300000000000011	0.0300000000000011	0.0	468
+-469	0.0232160091400146	0.0200000000000031	0.0200000000000031	0.0	469
+-470	0.0216109752655029	0.019999999999996	0.019999999999996	0.0	470
+-471	0.0216319561004639	0.0200000000000031	0.0200000000000031	0.0	471
+-472	0.0216560363769531	0.019999999999996	0.019999999999996	0.0	472
+-473	0.021658182144165	0.0300000000000011	0.0300000000000011	0.0	473
+-474	0.0217010974884033	0.0200000000000031	0.0200000000000031	0.0	474
+-475	0.0779910087585449	0.0799999999999983	0.0799999999999983	0.0	475
+-476	0.0244100093841553	0.0200000000000031	0.0200000000000031	0.0	476
+-477	0.026054859161377	0.029999999999994	0.029999999999994	0.0	477
+-478	0.022968053817749	0.0200000000000031	0.0200000000000031	0.0	478
+-479	0.0229709148406982	0.0200000000000031	0.0200000000000031	0.0	479
+-480	0.0229671001434326	0.019999999999996	0.019999999999996	0.0	480
+-481	0.0232329368591309	0.0300000000000011	0.0300000000000011	0.0	481
+-482	0.0227680206298828	0.0200000000000031	0.0200000000000031	0.0	482
+-483	0.0224251747131348	0.019999999999996	0.019999999999996	0.0	483
+-484	0.021751880645752	0.0300000000000011	0.0300000000000011	0.0	484
+-485	0.0215151309967041	0.019999999999996	0.019999999999996	0.0	485
+-486	0.0246729850769043	0.0200000000000031	0.0200000000000031	0.0	486
+-487	0.0227639675140381	0.0200000000000031	0.0200000000000031	0.0	487
+-488	0.0219759941101074	0.029999999999994	0.029999999999994	0.0	488
+-489	0.0217058658599854	0.0200000000000031	0.0200000000000031	0.0	489
+-490	0.0216960906982422	0.0200000000000031	0.0200000000000031	0.0	490
+-491	0.0218369960784912	0.019999999999996	0.019999999999996	0.0	491
+-492	0.0217111110687256	0.0200000000000031	0.0200000000000031	0.0	492
+-493	0.078171968460083	0.0799999999999983	0.0799999999999983	0.0	493
+-494	0.0229799747467041	0.019999999999996	0.019999999999996	0.0	494
+-495	0.0272798538208008	0.0300000000000011	0.0300000000000011	0.0	495
+-496	0.0244588851928711	0.0200000000000031	0.0200000000000031	0.0	496
+-497	0.028217077255249	0.0300000000000011	0.0300000000000011	0.0	497
+-498	0.0241749286651611	0.0300000000000011	0.0300000000000011	0.0	498
+-499	0.0227570533752441	0.019999999999996	0.019999999999996	0.0	499
+-500	0.022475004196167	0.0200000000000031	0.0200000000000031	0.0	500
+-501	0.021665096282959	0.019999999999996	0.019999999999996	0.0	501
+-502	0.021481990814209	0.0300000000000011	0.0300000000000011	0.0	502
+-503	0.0216250419616699	0.0200000000000031	0.0200000000000031	0.0	503
+-504	0.0215671062469482	0.019999999999996	0.019999999999996	0.0	504
+-505	0.0225341320037842	0.0200000000000031	0.0200000000000031	0.0	505
+-506	0.0243070125579834	0.0300000000000011	0.0300000000000011	0.0	506
+-507	0.0236639976501465	0.019999999999996	0.019999999999996	0.0	507
+-508	0.021744966506958	0.0200000000000031	0.0200000000000031	0.0	508
+-509	0.0216488838195801	0.019999999999996	0.019999999999996	0.0	509
+-510	0.0759198665618896	0.0800000000000054	0.0800000000000054	0.0	510
+-511	0.0230319499969482	0.019999999999996	0.019999999999996	0.0	511
+-512	0.0232639312744141	0.0300000000000011	0.0300000000000011	0.0	512
+-513	0.022974967956543	0.019999999999996	0.019999999999996	0.0	513
+-514	0.0257279872894287	0.0200000000000031	0.0200000000000031	0.0	514
+-515	0.0243010520935059	0.0300000000000011	0.0300000000000011	0.0	515
+-516	0.0226881504058838	0.019999999999996	0.019999999999996	0.0	516
+-517	0.0226349830627441	0.0200000000000031	0.0200000000000031	0.0	517
+-518	0.0224928855895996	0.0300000000000011	0.0300000000000011	0.0	518
+-519	0.0218918323516846	0.019999999999996	0.019999999999996	0.0	519
+-520	0.0220029354095459	0.0200000000000031	0.0200000000000031	0.0	520
+-521	0.0215179920196533	0.0200000000000031	0.0200000000000031	0.0	521
+-522	0.0215981006622314	0.019999999999996	0.019999999999996	0.0	522
+-523	0.0216679573059082	0.0300000000000011	0.0300000000000011	0.0	523
+-524	0.0216460227966309	0.019999999999996	0.019999999999996	0.0	524
+-525	0.0247371196746826	0.0200000000000031	0.0200000000000031	0.0	525
+-526	0.0231599807739258	0.0300000000000011	0.0300000000000011	0.0	526
+-527	0.021859884262085	0.019999999999996	0.019999999999996	0.0	527
+-528	0.0768899917602539	0.0700000000000003	0.0700000000000003	0.0	528
+-529	0.0238020420074463	0.0300000000000011	0.0300000000000011	0.0	529
+-530	0.0229949951171875	0.0200000000000031	0.0200000000000031	0.0	530
+-531	0.0229158401489258	0.019999999999996	0.019999999999996	0.0	531
+-532	0.0228259563446045	0.0300000000000011	0.0300000000000011	0.0	532
+-533	0.0230560302734375	0.0200000000000031	0.0200000000000031	0.0	533
+-534	0.0252690315246582	0.0300000000000011	0.0300000000000011	0.0	534
+-535	0.0236430168151855	0.019999999999996	0.019999999999996	0.0	535
+-536	0.029339075088501	0.0300000000000011	0.0300000000000011	0.0	536
+-537	0.0215559005737305	0.0200000000000031	0.0200000000000031	0.0	537
+-538	0.0222070217132568	0.019999999999996	0.019999999999996	0.0	538
+-539	0.0215811729431152	0.0200000000000031	0.0200000000000031	0.0	539
+-540	0.0215599536895752	0.0300000000000011	0.0300000000000011	0.0	540
+-541	0.0217399597167969	0.019999999999996	0.019999999999996	0.0	541
+-542	0.0217771530151367	0.0200000000000031	0.0200000000000031	0.0	542
+-543	0.0216219425201416	0.019999999999996	0.019999999999996	0.0	543
+-544	0.0232682228088379	0.0200000000000031	0.0200000000000031	0.0	544
+-545	0.0793290138244629	0.0799999999999983	0.0799999999999983	0.0	545
+-546	0.0229940414428711	0.0300000000000011	0.0300000000000011	0.0	546
+-547	0.022838830947876	0.019999999999996	0.019999999999996	0.0	547
+-548	0.0229969024658203	0.0200000000000031	0.0200000000000031	0.0	548
+-549	0.0229189395904541	0.0300000000000011	0.0300000000000011	0.0	549
+-550	0.0227901935577393	0.019999999999996	0.019999999999996	0.0	550
+-551	0.0229239463806152	0.0200000000000031	0.0200000000000031	0.0	551
+-552	0.022730827331543	0.019999999999996	0.019999999999996	0.0	552
+-553	0.0253369808197021	0.0300000000000011	0.0300000000000011	0.0	553
+-554	0.0220980644226074	0.0200000000000031	0.0200000000000031	0.0	554
+-555	0.0214731693267822	0.019999999999996	0.019999999999996	0.0	555
+-556	0.0215020179748535	0.0300000000000011	0.0300000000000011	0.0	556
+-557	0.0217249393463135	0.0200000000000031	0.0200000000000031	0.0	557
+-558	0.0217740535736084	0.019999999999996	0.019999999999996	0.0	558
+-559	0.022136926651001	0.0200000000000031	0.0200000000000031	0.0	559
+-560	0.021636962890625	0.0200000000000031	0.0200000000000031	0.0	560
+-561	0.0216689109802246	0.019999999999996	0.019999999999996	0.0	561
+-562	0.0218231678009033	0.0300000000000011	0.0300000000000011	0.0	562
+-563	0.0795009136199951	0.0799999999999983	0.0799999999999983	0.0	563
+-564	0.0232501029968262	0.0200000000000031	0.0200000000000031	0.0	564
+-565	0.0230040550231934	0.019999999999996	0.019999999999996	0.0	565
+-566	0.0230789184570312	0.0300000000000011	0.0300000000000011	0.0	566
+-567	0.0227739810943604	0.0200000000000031	0.0200000000000031	0.0	567
+-568	0.0235750675201416	0.019999999999996	0.019999999999996	0.0	568
+-569	0.0226988792419434	0.0200000000000031	0.0200000000000031	0.0	569
+-570	0.0223028659820557	0.0300000000000011	0.0300000000000011	0.0	570
+-571	0.0216829776763916	0.019999999999996	0.019999999999996	0.0	571
+-572	0.0214540958404541	0.0200000000000031	0.0200000000000031	0.0	572
+-573	0.0238778591156006	0.019999999999996	0.019999999999996	0.0	573
+-574	0.0230958461761475	0.0300000000000011	0.0300000000000011	0.0	574
+-575	0.0280261039733887	0.0300000000000011	0.0300000000000011	0.0	575
+-576	0.0220839977264404	0.0200000000000031	0.0200000000000031	0.0	576
+-577	0.0217299461364746	0.019999999999996	0.019999999999996	0.0	577
+-578	0.0215981006622314	0.0200000000000031	0.0200000000000031	0.0	578
+-579	0.0216739177703857	0.019999999999996	0.019999999999996	0.0	579
+-580	0.0760340690612793	0.0799999999999983	0.0799999999999983	0.0	580
+-581	0.0261681079864502	0.0200000000000031	0.0200000000000031	0.0	581
+-582	0.0245881080627441	0.0300000000000011	0.0300000000000011	0.0	582
+-583	0.0231649875640869	0.019999999999996	0.019999999999996	0.0	583
+-584	0.0228891372680664	0.0300000000000011	0.0300000000000011	0.0	584
+-585	0.0227940082550049	0.0200000000000031	0.0200000000000031	0.0	585
+-586	0.0227079391479492	0.019999999999996	0.019999999999996	0.0	586
+-587	0.0227351188659668	0.0200000000000031	0.0200000000000031	0.0	587
+-588	0.0223979949951172	0.0300000000000011	0.0300000000000011	0.0	588
+-589	0.0217239856719971	0.019999999999996	0.019999999999996	0.0	589
+-590	0.0216400623321533	0.0200000000000031	0.0200000000000031	0.0	590
+-591	0.0222110748291016	0.019999999999996	0.019999999999996	0.0	591
+-592	0.0244839191436768	0.0300000000000011	0.0300000000000011	0.0	592
+-593	0.0231800079345703	0.0200000000000031	0.0200000000000031	0.0	593
+-594	0.0216829776763916	0.019999999999996	0.019999999999996	0.0	594
+-595	0.0216670036315918	0.0200000000000031	0.0200000000000031	0.0	595
+-596	0.0216989517211914	0.0200000000000031	0.0200000000000031	0.0	596
+-597	0.0218870639801025	0.039999999999992	0.029999999999994	0.01	597
+-598	0.077578067779541	0.0700000000000003	0.0700000000000003	0.0	598
+-599	0.0230538845062256	0.0300000000000011	0.0300000000000011	0.0	599
+-600	0.0230109691619873	0.0200000000000031	0.0200000000000031	0.0	600
+-601	0.0260770320892334	0.0300000000000011	0.0300000000000011	0.0	601
+-602	0.0238099098205566	0.019999999999996	0.019999999999996	0.0	602
+-603	0.0228049755096436	0.0200000000000031	0.0200000000000031	0.0	603
+-604	0.0226948261260986	0.019999999999996	0.019999999999996	0.0	604
+-605	0.0223379135131836	0.0300000000000011	0.0300000000000011	0.0	605
+-606	0.0216000080108643	0.0200000000000031	0.0200000000000031	0.0	606
+-607	0.0224909782409668	0.019999999999996	0.019999999999996	0.0	607
+-608	0.0216529369354248	0.0200000000000031	0.0200000000000031	0.0	608
+-609	0.0217139720916748	0.019999999999996	0.019999999999996	0.0	609
+-610	0.0218150615692139	0.0300000000000011	0.0300000000000011	0.0	610
+-611	0.0217039585113525	0.0200000000000031	0.0200000000000031	0.0	611
+-612	0.0246798992156982	0.019999999999996	0.019999999999996	0.0	612
+-613	0.0233089923858643	0.0300000000000011	0.0300000000000011	0.0	613
+-614	0.0297579765319824	0.0300000000000011	0.0300000000000011	0.0	614
+-615	0.0762190818786621	0.0700000000000003	0.0700000000000003	0.0	615
+-616	0.0230169296264648	0.0200000000000031	0.0200000000000031	0.0	616
+-617	0.0229558944702148	0.029999999999994	0.029999999999994	0.0	617
+-618	0.0230798721313477	0.0200000000000031	0.0200000000000031	0.0	618
+-619	0.0230178833007812	0.019999999999996	0.019999999999996	0.0	619
+-620	0.0257527828216553	0.0300000000000011	0.0300000000000011	0.0	620
+-621	0.0235459804534912	0.0200000000000031	0.0200000000000031	0.0	621
+-622	0.0228161811828613	0.0300000000000011	0.0300000000000011	0.0	622
+-623	0.022197961807251	0.019999999999996	0.019999999999996	0.0	623
+-624	0.021589994430542	0.0200000000000031	0.0200000000000031	0.0	624
+-625	0.0214920043945312	0.019999999999996	0.019999999999996	0.0	625
+-626	0.0215818881988525	0.0200000000000031	0.0200000000000031	0.0	626
+-627	0.021651029586792	0.0300000000000011	0.0300000000000011	0.0	627
+-628	0.0215868949890137	0.019999999999996	0.019999999999996	0.0	628
+-629	0.0218029022216797	0.0200000000000031	0.0200000000000031	0.0	629
+-630	0.0216500759124756	0.019999999999996	0.019999999999996	0.0	630
+-631	0.0244319438934326	0.0200000000000031	0.0200000000000031	0.0	631
+-632	0.0230758190155029	0.0300000000000011	0.0300000000000011	0.0	632
+-633	0.077272891998291	0.0799999999999983	0.0799999999999983	0.0	633
+-634	0.0236070156097412	0.0200000000000031	0.0200000000000031	0.0	634
+-635	0.0229601860046387	0.019999999999996	0.019999999999996	0.0	635
+-636	0.0228729248046875	0.0200000000000031	0.0200000000000031	0.0	636
+-637	0.0228011608123779	0.0300000000000011	0.0300000000000011	0.0	637
+-638	0.0227499008178711	0.019999999999996	0.019999999999996	0.0	638
+-639	0.0244989395141602	0.0200000000000031	0.0200000000000031	0.0	639
+-640	0.0235378742218018	0.0200000000000031	0.0200000000000031	0.0	640
+-641	0.0223779678344727	0.019999999999996	0.019999999999996	0.0	641
+-642	0.0215990543365479	0.0200000000000031	0.0200000000000031	0.0	642
+-643	0.0215990543365479	0.019999999999996	0.019999999999996	0.0	643
+-644	0.0219650268554688	0.0300000000000011	0.0300000000000011	0.0	644
+-645	0.0215990543365479	0.0200000000000031	0.0200000000000031	0.0	645
+-646	0.0224740505218506	0.019999999999996	0.019999999999996	0.0	646
+-647	0.0216758251190186	0.0200000000000031	0.0200000000000031	0.0	647
+-648	0.0216619968414307	0.019999999999996	0.019999999999996	0.0	648
+-649	0.0221309661865234	0.0300000000000011	0.0300000000000011	0.0	649
+-650	0.0787041187286377	0.0700000000000003	0.0700000000000003	0.0	650
+-651	0.0299739837646484	0.0300000000000011	0.0300000000000011	0.0	651
+-652	0.0230100154876709	0.0200000000000031	0.0200000000000031	0.0	652
+-653	0.0230507850646973	0.019999999999996	0.019999999999996	0.0	653
+-654	0.0228569507598877	0.0200000000000031	0.0200000000000031	0.0	654
+-655	0.0227470397949219	0.0300000000000011	0.0300000000000011	0.0	655
+-656	0.0226500034332275	0.019999999999996	0.019999999999996	0.0	656
+-657	0.0228099822998047	0.0200000000000031	0.0200000000000031	0.0	657
+-658	0.0222539901733398	0.019999999999996	0.019999999999996	0.0	658
+-659	0.0245277881622314	0.0300000000000011	0.0300000000000011	0.0	659
+-660	0.0224230289459229	0.0200000000000031	0.0200000000000031	0.0	660
+-661	0.0216460227966309	0.019999999999996	0.019999999999996	0.0	661
+-662	0.0215950012207031	0.0300000000000011	0.0300000000000011	0.0	662
+-663	0.0216000080108643	0.0200000000000031	0.0200000000000031	0.0	663
+-664	0.0216140747070312	0.019999999999996	0.019999999999996	0.0	664
+-665	0.021726131439209	0.0200000000000031	0.0200000000000031	0.0	665
+-666	0.0217559337615967	0.0200000000000031	0.0200000000000031	0.0	666
+-667	0.0218238830566406	0.019999999999996	0.019999999999996	0.0	667
+-668	0.0802149772644043	0.0799999999999983	0.0799999999999983	0.0	668
+-669	0.0245440006256104	0.0300000000000011	0.0300000000000011	0.0	669
+-670	0.0230040550231934	0.0200000000000031	0.0200000000000031	0.0	670
+-671	0.02288818359375	0.019999999999996	0.019999999999996	0.0	671
+-672	0.0228390693664551	0.0300000000000011	0.0300000000000011	0.0	672
+-673	0.023313045501709	0.0200000000000031	0.0200000000000031	0.0	673
+-674	0.0226609706878662	0.019999999999996	0.019999999999996	0.0	674
+-675	0.0220029354095459	0.0300000000000011	0.0300000000000011	0.0	675
+-676	0.0215702056884766	0.0200000000000031	0.0200000000000031	0.0	676
+-677	0.0216479301452637	0.019999999999996	0.019999999999996	0.0	677
+-678	0.0215539932250977	0.0200000000000031	0.0200000000000031	0.0	678
+-679	0.0247859954833984	0.0300000000000011	0.0300000000000011	0.0	679
+-680	0.0219168663024902	0.019999999999996	0.019999999999996	0.0	680
+-681	0.0216579437255859	0.0200000000000031	0.0200000000000031	0.0	681
+-682	0.0216360092163086	0.019999999999996	0.019999999999996	0.0	682
+-683	0.0217740535736084	0.0200000000000031	0.0200000000000031	0.0	683
+-684	0.0216720104217529	0.019999999999996	0.019999999999996	0.0	684
+-685	0.076854944229126	0.0800000000000054	0.0800000000000054	0.0	685
+-686	0.0229959487915039	0.019999999999996	0.019999999999996	0.0	686
+-687	0.0258049964904785	0.0300000000000011	0.0300000000000011	0.0	687
+-688	0.0232279300689697	0.0200000000000031	0.0200000000000031	0.0	688
+-689	0.0251309871673584	0.029999999999994	0.029999999999994	0.0	689
+-690	0.0279409885406494	0.0300000000000011	0.0300000000000011	0.0	690
+-691	0.0227260589599609	0.0200000000000031	0.0200000000000031	0.0	691
+-692	0.0227479934692383	0.019999999999996	0.019999999999996	0.0	692
+-693	0.0219731330871582	0.0200000000000031	0.0200000000000031	0.0	693
+-694	0.0215420722961426	0.0300000000000011	0.0300000000000011	0.0	694
+-695	0.0214939117431641	0.019999999999996	0.019999999999996	0.0	695
+-696	0.0216901302337646	0.0200000000000031	0.0200000000000031	0.0	696
+-697	0.0216901302337646	0.019999999999996	0.019999999999996	0.0	697
+-698	0.0246269702911377	0.0200000000000031	0.0200000000000031	0.0	698
+-699	0.0231730937957764	0.0300000000000011	0.0300000000000011	0.0	699
+-700	0.021737813949585	0.019999999999996	0.019999999999996	0.0	700
+-701	0.0217559337615967	0.0200000000000031	0.0200000000000031	0.0	701
+-702	0.0756359100341797	0.0799999999999983	0.0799999999999983	0.0	702
+-703	0.0232179164886475	0.0200000000000031	0.0200000000000031	0.0	703
+-704	0.0229458808898926	0.019999999999996	0.019999999999996	0.0	704
+-705	0.0230169296264648	0.0300000000000011	0.0300000000000011	0.0	705
+-706	0.0228660106658936	0.0200000000000031	0.0200000000000031	0.0	706
+-707	0.0257608890533447	0.0300000000000011	0.0300000000000011	0.0	707
+-708	0.0230529308319092	0.019999999999996	0.019999999999996	0.0	708
+-709	0.0226249694824219	0.0200000000000031	0.0200000000000031	0.0	709
+-710	0.0225780010223389	0.019999999999996	0.019999999999996	0.0	710
+-711	0.0220761299133301	0.0300000000000011	0.0300000000000011	0.0	711
+-712	0.0221598148345947	0.0200000000000031	0.0200000000000031	0.0	712
+-713	0.0215129852294922	0.019999999999996	0.019999999999996	0.0	713
+-714	0.0216219425201416	0.0200000000000031	0.0200000000000031	0.0	714
+-715	0.0215890407562256	0.019999999999996	0.019999999999996	0.0	715
+-716	0.0216820240020752	0.0200000000000031	0.0200000000000031	0.0	716
+-717	0.0216300487518311	0.0300000000000011	0.0300000000000011	0.0	717
+-718	0.0247721672058105	0.019999999999996	0.019999999999996	0.0	718
+-719	0.0220820903778076	0.0200000000000031	0.0200000000000031	0.0	719
+-720	0.0769851207733154	0.0799999999999983	0.0799999999999983	0.0	720
+-721	0.0229990482330322	0.0200000000000031	0.0200000000000031	0.0	721
+-722	0.024212121963501	0.0300000000000011	0.0300000000000011	0.0	722
+-723	0.0229740142822266	0.019999999999996	0.019999999999996	0.0	723
+-724	0.0227351188659668	0.0200000000000031	0.0200000000000031	0.0	724
+-725	0.0226562023162842	0.029999999999994	0.029999999999994	0.0	725
+-726	0.0255320072174072	0.0200000000000031	0.0200000000000031	0.0	726
+-727	0.0227208137512207	0.0200000000000031	0.0200000000000031	0.0	727
+-728	0.0237081050872803	0.029999999999994	0.029999999999994	0.0	728
+-729	0.0268452167510986	0.0200000000000031	0.0200000000000031	0.0	729
+-730	0.0218770503997803	0.0300000000000011	0.0300000000000011	0.0	730
+-731	0.0217039585113525	0.019999999999996	0.019999999999996	0.0	731
+-732	0.0215818881988525	0.0200000000000031	0.0200000000000031	0.0	732
+-733	0.0217380523681641	0.0200000000000031	0.0200000000000031	0.0	733
+-734	0.0216901302337646	0.019999999999996	0.019999999999996	0.0	734
+-735	0.0217649936676025	0.0300000000000011	0.0300000000000011	0.0	735
+-736	0.0216591358184814	0.019999999999996	0.019999999999996	0.0	736
+-737	0.0809669494628906	0.0800000000000054	0.0800000000000054	0.0	737
+-738	0.0230050086975098	0.019999999999996	0.019999999999996	0.0	738
+-739	0.0229599475860596	0.0200000000000031	0.0200000000000031	0.0	739
+-740	0.0229651927947998	0.0300000000000011	0.0300000000000011	0.0	740
+-741	0.0228550434112549	0.019999999999996	0.019999999999996	0.0	741
+-742	0.0228068828582764	0.0200000000000031	0.0200000000000031	0.0	742
+-743	0.022993803024292	0.0300000000000011	0.0300000000000011	0.0	743
+-744	0.0227200984954834	0.019999999999996	0.019999999999996	0.0	744
+-745	0.02242112159729	0.0200000000000031	0.0200000000000031	0.0	745
+-746	0.0246379375457764	0.0300000000000011	0.0300000000000011	0.0	746
+-747	0.0218410491943359	0.019999999999996	0.019999999999996	0.0	747
+-748	0.0215339660644531	0.0200000000000031	0.0200000000000031	0.0	748
+-749	0.0215659141540527	0.019999999999996	0.019999999999996	0.0	749
+-750	0.0216779708862305	0.0200000000000031	0.0200000000000031	0.0	750
+-751	0.0216810703277588	0.019999999999996	0.019999999999996	0.0	751
+-752	0.0221710205078125	0.0300000000000011	0.0300000000000011	0.0	752
+-753	0.0216331481933594	0.0200000000000031	0.0200000000000031	0.0	753
+-754	0.0217230319976807	0.019999999999996	0.019999999999996	0.0	754
+-755	0.0797798633575439	0.0800000000000054	0.0800000000000054	0.0	755
+-756	0.0233240127563477	0.019999999999996	0.019999999999996	0.0	756
+-757	0.0232129096984863	0.0300000000000011	0.0300000000000011	0.0	757
+-758	0.0233068466186523	0.0200000000000031	0.0200000000000031	0.0	758
+-759	0.0228340625762939	0.019999999999996	0.019999999999996	0.0	759
+-760	0.0226619243621826	0.0300000000000011	0.0300000000000011	0.0	760
+-761	0.0235550403594971	0.0200000000000031	0.0200000000000031	0.0	761
+-762	0.0222749710083008	0.019999999999996	0.019999999999996	0.0	762
+-763	0.0216190814971924	0.0200000000000031	0.0200000000000031	0.0	763
+-764	0.0215640068054199	0.019999999999996	0.019999999999996	0.0	764
+-765	0.0237760543823242	0.0300000000000011	0.0300000000000011	0.0	765
+-766	0.0217039585113525	0.0200000000000031	0.0200000000000031	0.0	766
+-767	0.0219049453735352	0.019999999999996	0.019999999999996	0.0	767
+-768	0.0291330814361572	0.0300000000000011	0.0300000000000011	0.0	768
+-769	0.0216200351715088	0.0200000000000031	0.0200000000000031	0.0	769
+-770	0.0217278003692627	0.019999999999996	0.019999999999996	0.0	770
+-771	0.0217189788818359	0.0300000000000011	0.0300000000000011	0.0	771
+-772	0.0760140419006348	0.0700000000000003	0.0700000000000003	0.0	772
+-773	0.0230591297149658	0.0300000000000011	0.0300000000000011	0.0	773
+-774	0.0260210037231445	0.019999999999996	0.019999999999996	0.0	774
+-775	0.0247459411621094	0.0300000000000011	0.0300000000000011	0.0	775
+-776	0.0229299068450928	0.0200000000000031	0.0200000000000031	0.0	776
+-777	0.0227248668670654	0.019999999999996	0.019999999999996	0.0	777
+-778	0.022636890411377	0.0300000000000011	0.0300000000000011	0.0	778
+-779	0.0227160453796387	0.0200000000000031	0.0200000000000031	0.0	779
+-780	0.0222170352935791	0.019999999999996	0.019999999999996	0.0	780
+-781	0.0216178894042969	0.0200000000000031	0.0200000000000031	0.0	781
+-782	0.0216701030731201	0.019999999999996	0.019999999999996	0.0	782
+-783	0.0215609073638916	0.0300000000000011	0.0300000000000011	0.0	783
+-784	0.0215671062469482	0.0200000000000031	0.0200000000000031	0.0	784
+-785	0.0244979858398438	0.019999999999996	0.019999999999996	0.0	785
+-786	0.02254319190979	0.0200000000000031	0.0200000000000031	0.0	786
+-787	0.0216531753540039	0.0300000000000011	0.0300000000000011	0.0	787
+-788	0.0216619968414307	0.019999999999996	0.019999999999996	0.0	788
+-789	0.0218989849090576	0.0200000000000031	0.0200000000000031	0.0	789
+-790	0.0775949954986572	0.0799999999999983	0.0799999999999983	0.0	790
+-791	0.0229768753051758	0.0200000000000031	0.0200000000000031	0.0	791
+-792	0.0230350494384766	0.019999999999996	0.019999999999996	0.0	792
+-793	0.0247578620910645	0.0300000000000011	0.0300000000000011	0.0	793
+-794	0.0241599082946777	0.0200000000000031	0.0200000000000031	0.0	794
+-795	0.0229189395904541	0.029999999999994	0.029999999999994	0.0	795
+-796	0.0227510929107666	0.0200000000000031	0.0200000000000031	0.0	796
+-797	0.0223112106323242	0.0200000000000031	0.0200000000000031	0.0	797
+-798	0.0216238498687744	0.019999999999996	0.019999999999996	0.0	798
+-799	0.0216000080108643	0.0200000000000031	0.0200000000000031	0.0	799
+-800	0.0226099491119385	0.0300000000000011	0.0300000000000011	0.0	800
+-801	0.0218279361724854	0.019999999999996	0.019999999999996	0.0	801
+-802	0.0216817855834961	0.0200000000000031	0.0200000000000031	0.0	802
+-803	0.0218219757080078	0.019999999999996	0.019999999999996	0.0	803
+-804	0.0220489501953125	0.0200000000000031	0.0200000000000031	0.0	804
+-805	0.0245721340179443	0.0300000000000011	0.0300000000000011	0.0	805
+-806	0.0237100124359131	0.019999999999996	0.019999999999996	0.0	806
+-807	0.0831229686737061	0.0900000000000034	0.0900000000000034	0.0	807
+-808	0.0229980945587158	0.019999999999996	0.019999999999996	0.0	808
+-809	0.0230069160461426	0.0200000000000031	0.0200000000000031	0.0	809
+-810	0.0229578018188477	0.019999999999996	0.019999999999996	0.0	810
+-811	0.0229570865631104	0.0300000000000011	0.0300000000000011	0.0	811
+-812	0.0228419303894043	0.0200000000000031	0.0200000000000031	0.0	812
+-813	0.0257079601287842	0.0300000000000011	0.0300000000000011	0.0	813
+-814	0.0235209465026855	0.019999999999996	0.019999999999996	0.0	814
+-815	0.0221221446990967	0.0200000000000031	0.0200000000000031	0.0	815
+-816	0.0214879512786865	0.019999999999996	0.019999999999996	0.0	816
+-817	0.0215079784393311	0.0300000000000011	0.0300000000000011	0.0	817
+-818	0.0216140747070312	0.0200000000000031	0.0200000000000031	0.0	818
+-819	0.0216760635375977	0.019999999999996	0.019999999999996	0.0	819
+-820	0.021683931350708	0.0200000000000031	0.0200000000000031	0.0	820
+-821	0.0217459201812744	0.019999999999996	0.019999999999996	0.0	821
+-822	0.0217831134796143	0.0200000000000031	0.0200000000000031	0.0	822
+-823	0.0216968059539795	0.0300000000000011	0.0300000000000011	0.0	823
+-824	0.0794470310211182	0.0799999999999983	0.0799999999999983	0.0	824
+-825	0.0230400562286377	0.0200000000000031	0.0200000000000031	0.0	825
+-826	0.0233430862426758	0.019999999999996	0.019999999999996	0.0	826
+-827	0.023482084274292	0.0300000000000011	0.0300000000000011	0.0	827
+-828	0.0228879451751709	0.0200000000000031	0.0200000000000031	0.0	828
+-829	0.0232207775115967	0.019999999999996	0.019999999999996	0.0	829
+-830	0.0228579044342041	0.0200000000000031	0.0200000000000031	0.0	830
+-831	0.022691011428833	0.029999999999994	0.029999999999994	0.0	831
+-832	0.024960994720459	0.0200000000000031	0.0200000000000031	0.0	832
+-833	0.0226261615753174	0.0200000000000031	0.0200000000000031	0.0	833
+-834	0.0222339630126953	0.029999999999994	0.029999999999994	0.0	834
+-835	0.0216858386993408	0.0200000000000031	0.0200000000000031	0.0	835
+-836	0.0216341018676758	0.0200000000000031	0.0200000000000031	0.0	836
+-837	0.0216710567474365	0.019999999999996	0.019999999999996	0.0	837
+-838	0.0217170715332031	0.0200000000000031	0.0200000000000031	0.0	838
+-839	0.0223820209503174	0.0300000000000011	0.0300000000000011	0.0	839
+-840	0.0218658447265625	0.019999999999996	0.019999999999996	0.0	840
+-841	0.0216851234436035	0.0200000000000031	0.0200000000000031	0.0	841
+-842	0.0797119140625	0.0799999999999983	0.0799999999999983	0.0	842
+-843	0.0296900272369385	0.0300000000000011	0.0300000000000011	0.0	843
+-844	0.023921012878418	0.019999999999996	0.019999999999996	0.0	844
+-845	0.0230309963226318	0.0300000000000011	0.0300000000000011	0.0	845
+-846	0.0227670669555664	0.0200000000000031	0.0200000000000031	0.0	846
+-847	0.0226919651031494	0.019999999999996	0.019999999999996	0.0	847
+-848	0.0227150917053223	0.0200000000000031	0.0200000000000031	0.0	848
+-849	0.0224990844726562	0.0300000000000011	0.0300000000000011	0.0	849
+-850	0.0217578411102295	0.019999999999996	0.019999999999996	0.0	850
+-851	0.0215840339660645	0.0200000000000031	0.0200000000000031	0.0	851
+-852	0.0246429443359375	0.0300000000000011	0.0300000000000011	0.0	852
+-853	0.0232079029083252	0.019999999999996	0.019999999999996	0.0	853
+-854	0.0217320919036865	0.0200000000000031	0.0200000000000031	0.0	854
+-855	0.0215840339660645	0.019999999999996	0.019999999999996	0.0	855
+-856	0.0217161178588867	0.0200000000000031	0.0200000000000031	0.0	856
+-857	0.0216400623321533	0.0300000000000011	0.0300000000000011	0.0	857
+-858	0.0217981338500977	0.019999999999996	0.019999999999996	0.0	858
+-859	0.0765349864959717	0.0700000000000003	0.0700000000000003	0.0	859
+-860	0.0244770050048828	0.0300000000000011	0.0300000000000011	0.0	860
+-861	0.0246331691741943	0.0200000000000031	0.0200000000000031	0.0	861
+-862	0.0232968330383301	0.029999999999994	0.029999999999994	0.0	862
+-863	0.0228350162506104	0.0200000000000031	0.0200000000000031	0.0	863
+-864	0.0228140354156494	0.0200000000000031	0.0200000000000031	0.0	864
+-865	0.0230000019073486	0.029999999999994	0.029999999999994	0.0	865
+-866	0.0231919288635254	0.0200000000000031	0.0200000000000031	0.0	866
+-867	0.0222370624542236	0.0200000000000031	0.0200000000000031	0.0	867
+-868	0.0216059684753418	0.019999999999996	0.019999999999996	0.0	868
+-869	0.0215280055999756	0.0200000000000031	0.0200000000000031	0.0	869
+-870	0.0218400955200195	0.029999999999994	0.029999999999994	0.0	870
+-871	0.0238420963287354	0.0200000000000031	0.0200000000000031	0.0	871
+-872	0.0222158432006836	0.0200000000000031	0.0200000000000031	0.0	872
+-873	0.0229439735412598	0.029999999999994	0.029999999999994	0.0	873
+-874	0.022014856338501	0.0200000000000031	0.0200000000000031	0.0	874
+-875	0.0218870639801025	0.0200000000000031	0.0200000000000031	0.0	875
+-876	0.0765628814697266	0.0799999999999983	0.0799999999999983	0.0	876
+-877	0.0229649543762207	0.019999999999996	0.019999999999996	0.0	877
+-878	0.0228400230407715	0.0200000000000031	0.0200000000000031	0.0	878
+-879	0.0230231285095215	0.019999999999996	0.019999999999996	0.0	879
+-880	0.0252189636230469	0.0300000000000011	0.0300000000000011	0.0	880
+-881	0.0232028961181641	0.0200000000000031	0.0200000000000031	0.0	881
+-882	0.0295140743255615	0.0300000000000011	0.0300000000000011	0.0	882
+-883	0.0227620601654053	0.0300000000000011	0.0300000000000011	0.0	883
+-884	0.0229089260101318	0.019999999999996	0.019999999999996	0.0	884
+-885	0.0219950675964355	0.0200000000000031	0.0200000000000031	0.0	885
+-886	0.021589994430542	0.019999999999996	0.019999999999996	0.0	886
+-887	0.0214979648590088	0.0200000000000031	0.0200000000000031	0.0	887
+-888	0.0215859413146973	0.0300000000000011	0.0300000000000011	0.0	888
+-889	0.0217750072479248	0.019999999999996	0.019999999999996	0.0	889
+-890	0.021744966506958	0.0200000000000031	0.0200000000000031	0.0	890
+-891	0.025892972946167	0.019999999999996	0.019999999999996	0.0	891
+-892	0.0236170291900635	0.0300000000000011	0.0300000000000011	0.0	892
+-893	0.0218141078948975	0.0200000000000031	0.0200000000000031	0.0	893
+-894	0.0771820545196533	0.0799999999999983	0.0799999999999983	0.0	894
+-895	0.0230357646942139	0.0200000000000031	0.0200000000000031	0.0	895
+-896	0.0231060981750488	0.019999999999996	0.019999999999996	0.0	896
+-897	0.023137092590332	0.0300000000000011	0.0300000000000011	0.0	897
+-898	0.022799015045166	0.019999999999996	0.019999999999996	0.0	898
+-899	0.0256779193878174	0.0200000000000031	0.0200000000000031	0.0	899
+-900	0.0231838226318359	0.0300000000000011	0.0300000000000011	0.0	900
+-901	0.0232141017913818	0.019999999999996	0.019999999999996	0.0	901
+-902	0.0217940807342529	0.0200000000000031	0.0200000000000031	0.0	902
+-903	0.0214989185333252	0.0200000000000031	0.0200000000000031	0.0	903
+-904	0.0218000411987305	0.029999999999994	0.029999999999994	0.0	904
+-905	0.0220961570739746	0.0200000000000031	0.0200000000000031	0.0	905
+-906	0.0215680599212646	0.0200000000000031	0.0200000000000031	0.0	906
+-907	0.0216329097747803	0.019999999999996	0.019999999999996	0.0	907
+-908	0.0217070579528809	0.0200000000000031	0.0200000000000031	0.0	908
+-909	0.0216760635375977	0.019999999999996	0.019999999999996	0.0	909
+-910	0.0236759185791016	0.0300000000000011	0.0300000000000011	0.0	910
+-911	0.0770270824432373	0.0799999999999983	0.0799999999999983	0.0	911
+-912	0.0231328010559082	0.0200000000000031	0.0200000000000031	0.0	912
+-913	0.0229079723358154	0.019999999999996	0.019999999999996	0.0	913
+-914	0.0230019092559814	0.0200000000000031	0.0200000000000031	0.0	914
+-915	0.0252349376678467	0.0300000000000011	0.0300000000000011	0.0	915
+-916	0.0227150917053223	0.019999999999996	0.019999999999996	0.0	916
+-917	0.0228018760681152	0.0200000000000031	0.0200000000000031	0.0	917
+-918	0.0226809978485107	0.0300000000000011	0.0300000000000011	0.0	918
+-919	0.0252270698547363	0.019999999999996	0.019999999999996	0.0	919
+-920	0.0231540203094482	0.0300000000000011	0.0300000000000011	0.0	920
+-921	0.0289709568023682	0.0200000000000031	0.0200000000000031	0.0	921
+-922	0.0215799808502197	0.0300000000000011	0.0300000000000011	0.0	922
+-923	0.0319468975067139	0.0300000000000011	0.019999999999996	0.01	923
+-924	0.0216109752655029	0.0200000000000031	0.0200000000000031	0.0	924
+-925	0.0217740535736084	0.019999999999996	0.019999999999996	0.0	925
+-926	0.0216958522796631	0.0200000000000031	0.0200000000000031	0.0	926
+-927	0.0216629505157471	0.019999999999996	0.019999999999996	0.0	927
+-928	0.0217578411102295	0.0300000000000011	0.0300000000000011	0.0	928
+-929	0.0820608139038086	0.0799999999999983	0.0799999999999983	0.0	929
+-930	0.0229201316833496	0.0200000000000031	0.0200000000000031	0.0	930
+-931	0.0229270458221436	0.0200000000000031	0.0200000000000031	0.0	931
+-932	0.0229320526123047	0.029999999999994	0.029999999999994	0.0	932
+-933	0.0227558612823486	0.0200000000000031	0.0200000000000031	0.0	933
+-934	0.0226609706878662	0.0200000000000031	0.0200000000000031	0.0	934
+-935	0.0229549407958984	0.019999999999996	0.019999999999996	0.0	935
+-936	0.0221340656280518	0.0300000000000011	0.0300000000000011	0.0	936
+-937	0.0215301513671875	0.019999999999996	0.019999999999996	0.0	937
+-938	0.0243568420410156	0.0200000000000031	0.0200000000000031	0.0	938
+-939	0.021946907043457	0.0300000000000011	0.0300000000000011	0.0	939
+-940	0.021575927734375	0.019999999999996	0.019999999999996	0.0	940
+-941	0.0216639041900635	0.0200000000000031	0.0200000000000031	0.0	941
+-942	0.0217418670654297	0.0200000000000031	0.0200000000000031	0.0	942
+-943	0.0222411155700684	0.019999999999996	0.019999999999996	0.0	943
+-944	0.0216610431671143	0.0200000000000031	0.0200000000000031	0.0	944
+-945	0.0216820240020752	0.019999999999996	0.019999999999996	0.0	945
+-946	0.0792751312255859	0.0699999999999932	0.0699999999999932	0.0	946
+-947	0.0251059532165527	0.0300000000000011	0.0300000000000011	0.0	947
+-948	0.0247578620910645	0.0200000000000031	0.0200000000000031	0.0	948
+-949	0.0229980945587158	0.0300000000000011	0.0300000000000011	0.0	949
+-950	0.0229229927062988	0.019999999999996	0.019999999999996	0.0	950
+-951	0.0227029323577881	0.0200000000000031	0.0200000000000031	0.0	951
+-952	0.0226871967315674	0.019999999999996	0.019999999999996	0.0	952
+-953	0.0235540866851807	0.0300000000000011	0.0300000000000011	0.0	953
+-954	0.0219640731811523	0.0200000000000031	0.0200000000000031	0.0	954
+-955	0.0214629173278809	0.019999999999996	0.019999999999996	0.0	955
+-956	0.021557092666626	0.0200000000000031	0.0200000000000031	0.0	956
+-957	0.02388596534729	0.0300000000000011	0.0300000000000011	0.0	957
+-958	0.0222799777984619	0.019999999999996	0.019999999999996	0.0	958
+-959	0.0276319980621338	0.0300000000000011	0.0300000000000011	0.0	959
+-960	0.0242338180541992	0.0200000000000031	0.0200000000000031	0.0	960
+-961	0.0216600894927979	0.019999999999996	0.019999999999996	0.0	961
+-962	0.0217490196228027	0.0200000000000031	0.0200000000000031	0.0	962
+-963	0.0757958889007568	0.0799999999999983	0.0799999999999983	0.0	963
+-964	0.0231211185455322	0.0200000000000031	0.0200000000000031	0.0	964
+-965	0.023090124130249	0.029999999999994	0.029999999999994	0.0	965
+-966	0.02652907371521	0.0200000000000031	0.0200000000000031	0.0	966
+-967	0.024601936340332	0.0300000000000011	0.0300000000000011	0.0	967
+-968	0.0228731632232666	0.019999999999996	0.019999999999996	0.0	968
+-969	0.0227208137512207	0.0200000000000031	0.0200000000000031	0.0	969
+-970	0.0226399898529053	0.0300000000000011	0.0300000000000011	0.0	970
+-971	0.0225419998168945	0.019999999999996	0.019999999999996	0.0	971
+-972	0.0218651294708252	0.0200000000000031	0.0200000000000031	0.0	972
+-973	0.0215599536895752	0.0200000000000031	0.0200000000000031	0.0	973
+-974	0.0218329429626465	0.019999999999996	0.019999999999996	0.0	974
+-975	0.0215480327606201	0.0300000000000011	0.0300000000000011	0.0	975
+-976	0.0220801830291748	0.019999999999996	0.019999999999996	0.0	976
+-977	0.0245459079742432	0.0200000000000031	0.0200000000000031	0.0	977
+-978	0.0230350494384766	0.0300000000000011	0.0300000000000011	0.0	978
+-979	0.0217211246490479	0.019999999999996	0.019999999999996	0.0	979
+-980	0.0217759609222412	0.0200000000000031	0.0200000000000031	0.0	980
+-981	0.0778119564056396	0.0799999999999983	0.0799999999999983	0.0	981
+-982	0.0229709148406982	0.0200000000000031	0.0200000000000031	0.0	982
+-983	0.023047924041748	0.019999999999996	0.019999999999996	0.0	983
+-984	0.0228879451751709	0.0300000000000011	0.0300000000000011	0.0	984
+-985	0.0263099670410156	0.0200000000000031	0.0200000000000031	0.0	985
+-986	0.0241529941558838	0.0300000000000011	0.0300000000000011	0.0	986
+-987	0.0228710174560547	0.019999999999996	0.019999999999996	0.0	987
+-988	0.0223538875579834	0.0200000000000031	0.0200000000000031	0.0	988
+-989	0.0217280387878418	0.019999999999996	0.019999999999996	0.0	989
+-990	0.0214800834655762	0.0300000000000011	0.0300000000000011	0.0	990
+-991	0.0215470790863037	0.0200000000000031	0.0200000000000031	0.0	991
+-992	0.0224719047546387	0.019999999999996	0.019999999999996	0.0	992
+-993	0.0216379165649414	0.0200000000000031	0.0200000000000031	0.0	993
+-994	0.0215561389923096	0.019999999999996	0.019999999999996	0.0	994
+-995	0.021676778793335	0.0200000000000031	0.0200000000000031	0.0	995
+-996	0.024587869644165	0.0300000000000011	0.0300000000000011	0.0	996
+-997	0.0231449604034424	0.019999999999996	0.019999999999996	0.0	997
+-998	0.0824549198150635	0.0900000000000034	0.0900000000000034	0.0	998
+-999	0.0230429172515869	0.019999999999996	0.019999999999996	0.0	999
+-1000	0.0229730606079102	0.0200000000000031	0.0200000000000031	0.0	1000
+diff --git a/lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkRails.log b/lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkRails.log
+deleted file mode 100644
+index 7272679..0000000
+--- a/lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkRails.log
++++ /dev/null
+@@ -1,82 +0,0 @@
+-========================== 2009-04-01T16:49:55 CEST ===========================
+-Benchmarking on ruby 1.8.6 (2008-08-11 patchlevel 287) [i686-linux].
+-Running 'GeneratorBenchmarkRails' for 1000 iterations/method (compare_time=real)
+-===============================================================================
+-
+-This first run is only for warmup.
+-GeneratorBenchmarkRails#generator:
+-                  real             total              user            system 
+-sum       25.871086597      25.820000000      25.780000000       0.040000000 
+-min        0.021485090       0.020000000       0.020000000       0.000000000 
+-std-       0.013123732       0.012534515       0.012507179      -0.000591505 
+-mean       0.025871087       0.025820000       0.025780000       0.000040000 
+-std+       0.038618441       0.039105485       0.039052821       0.000671505 
+-max        0.084933996       0.090000000       0.090000000       0.010000000 
+-std        0.012747354       0.013285485       0.013272821       0.000631505 
+-std%      49.272590131      51.454239794      51.484952060    1578.762962731 
+-harm       0.023654431       0.022959497       0.022933171               nan 
+-geo        0.024373445       0.023988580       0.023955348       0.000000000 
+-q1         0.021737874       0.020000000       0.020000000       0.000000000 
+-med        0.022677064       0.020000000       0.020000000       0.000000000 
+-q3         0.023290575       0.030000000       0.030000000       0.000000000 
+-                  1000          38.65319       0.025871087
+-                 calls         calls/sec         secs/call
+-
+-    0.08176 -|*
+-    0.07542 -|**
+-    0.06907 -|
+-    0.06273 -|
+-    0.05638 -|
+-    0.05004 -|
+-    0.04369 -|
+-    0.03735 -|
+-    0.03100 -|*
+-    0.02466 -|**************************************************
+-
+-Outliers detected with box plot algo (median=0.02268, iqr=0.00155, factor=3.00):
+-high=115 very_high=69
+-
+-Ljung-Box statistics: q=1246.12050 (alpha=0.05, df=50).
+-1.00000 >= 0.95000 => Autocorrelation was detected.
+-
+-GeneratorBenchmarkRails#generator:
+-                  real             total              user            system 
+-sum       25.952543497      25.950000000      25.930000000       0.020000000 
+-min        0.021454096       0.020000000       0.020000000       0.000000000 
+-std-       0.013029796       0.012272113       0.012258057      -0.000426990 
+-mean       0.025952543       0.025950000       0.025930000       0.000020000 
+-std+       0.038875291       0.039627887       0.039601943       0.000466990 
+-max        0.083282948       0.090000000       0.090000000       0.010000000 
+-std        0.012922747       0.013677887       0.013671943       0.000446990 
+-std%      49.793760083      52.708619269      52.726351240    2234.948544149 
+-harm       0.023675798       0.022977187       0.022963996               nan 
+-geo        0.024414095       0.024037524       0.024020868       0.000000000 
+-q1         0.021728516       0.020000000       0.020000000       0.000000000 
+-med        0.022745013       0.020000000       0.020000000       0.000000000 
+-q3         0.023253679       0.030000000       0.030000000       0.000000000 
+-                  1000          38.53187       0.025952543
+-                 calls         calls/sec         secs/call
+-
+-    0.08019 -|**
+-    0.07401 -|*
+-    0.06783 -|
+-    0.06164 -|
+-    0.05546 -|
+-    0.04928 -|
+-    0.04309 -|
+-    0.03691 -|
+-    0.03073 -|*
+-    0.02455 -|**************************************************
+-
+-Outliers detected with box plot algo (median=0.02275, iqr=0.00153, factor=3.00):
+-high=106 very_high=75
+-
+-Ljung-Box statistics: q=1270.99317 (alpha=0.05, df=50).
+-1.00000 >= 0.95000 => Autocorrelation was detected.
+-
+-No initial data truncated.
+- => System may have been in a steady state from the beginning.
+-========================== 2009-04-01T16:50:50 CEST ===========================
+-
+-Writing measurement data file '/data/scm/json/benchmarks/data/GeneratorBenchmarkRails#generator.dat'.
+-Writing autocorrelation plot file '/data/scm/json/benchmarks/data/GeneratorBenchmarkRails#generator-autocorrelation.dat'.
+diff --git a/lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkComparison.log b/lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkComparison.log
+deleted file mode 100644
+index 7df4445..0000000
+--- a/lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkComparison.log
++++ /dev/null
+@@ -1,34 +0,0 @@
+-========================== 2009-04-01T16:49:51 CEST ===========================
+-
+-Comparing times (call_time_mean):
+- 1 ParserBenchmarkExt#parser   900 repeats:
+-       553.922304770 (  real) ->   21.500x 
+-         0.001805307
+- 2 ParserBenchmarkYAML#parser  1000 repeats:
+-       224.513358139 (  real) ->    8.714x 
+-         0.004454078
+- 3 ParserBenchmarkPure#parser  1000 repeats:
+-        26.755020642 (  real) ->    1.038x 
+-         0.037376163
+- 4 ParserBenchmarkRails#parser 1000 repeats:
+-        25.763381731 (  real) ->    1.000x 
+-         0.038814780
+-           calls/sec (  time) ->    speed  covers
+-           secs/call
+-
+-Comparing times (call_time_median):
+- 1 ParserBenchmarkExt#parser   900 repeats:
+-       800.592479481 (  real) ->   26.936x 
+-         0.001249075
+- 2 ParserBenchmarkYAML#parser  1000 repeats:
+-       271.002390644 (  real) ->    9.118x 
+-         0.003690004
+- 3 ParserBenchmarkRails#parser 1000 repeats:
+-        30.227910865 (  real) ->    1.017x 
+-         0.033082008
+- 4 ParserBenchmarkPure#parser  1000 repeats:
+-        29.722384421 (  real) ->    1.000x 
+-         0.033644676
+-           calls/sec (  time) ->    speed  covers
+-           secs/call
+-===============================================================================
+diff --git a/lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkExt#parser-autocorrelation.dat b/lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkExt#parser-autocorrelation.dat
+deleted file mode 100644
+index 40efc57..0000000
+--- a/lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkExt#parser-autocorrelation.dat
++++ /dev/null
+@@ -1,900 +0,0 @@
+-#lag	autocorrelation
+-101	1.0
+-102	0.00985212418163005
+-103	-0.00105742571489969
+-104	-0.0200019393620297
+-105	-0.00933105977449441
+-106	-0.0198053539236752
+-107	-0.0179767811553642
+-108	-0.0176611423990743
+-109	-0.0185222417953087
+-110	-0.0205843694390457
+-111	-0.01715959553508
+-112	-0.0198505157325194
+-113	-0.0185062490072185
+-114	-0.0196897065923063
+-115	-0.021656479097572
+-116	-0.0204821887654524
+-117	-0.0184415185088398
+-118	-0.0211615011085338
+-119	-0.0216761971444828
+-120	-0.0198233495768411
+-121	-0.0203604715880323
+-122	-0.0198005010000642
+-123	-0.0186848341524697
+-124	-0.0180302780242917
+-125	-0.0183844885059821
+-126	-0.0193889269967917
+-127	-0.0192676046194778
+-128	-0.017137594880939
+-129	-0.0170409124066728
+-130	-0.0150595759310503
+-131	-0.018497243864985
+-132	-0.0191312662452333
+-133	-0.0194917405622472
+-134	-0.0182724916370003
+-135	-0.0171018288530395
+-136	-0.017693203383731
+-137	-0.019233808628409
+-138	-0.0204803489133546
+-139	-0.0206519814870514
+-140	-0.0209197600090546
+-141	-0.0201426439148014
+-142	-0.0181979335068176
+-143	-0.0198192645275531
+-144	-0.0202773409268149
+-145	-0.0197509641765462
+-146	-0.0174542791271672
+-147	-0.0185131963029398
+-148	-0.0142911622141816
+-149	-0.018189949446747
+-150	-0.0172775321644038
+-151	-0.0172514996638929
+-152	-0.0149711216258677
+-153	-0.0180209406771167
+-154	-0.0187829326095732
+-155	-0.0179420788237305
+-156	0.00424372785454928
+-157	0.00821554188465932
+-158	0.35293400731859
+-159	0.366837592246794
+-160	0.213298783047283
+-161	-0.0157394761915721
+-162	-0.00774376349114834
+-163	-0.0172186119438013
+-164	-0.0162348306988972
+-165	-0.0179811217375531
+-166	-0.0168325248721867
+-167	-0.0177863454159124
+-168	-0.0162717222175639
+-169	-0.0191117204105146
+-170	-0.0177356811020167
+-171	-0.0186975490077008
+-172	-0.0172583072789483
+-173	-0.0189210264178748
+-174	-0.0171826733538386
+-175	-0.0197467598837419
+-176	-0.0197612311894552
+-177	-0.0200029809913758
+-178	-0.0197615059774931
+-179	-0.017571989727297
+-180	-0.0173400082784329
+-181	-0.0176396221137864
+-182	-0.0178007321096628
+-183	-0.0171581059408866
+-184	-0.0175715243687287
+-185	-0.0144018049890081
+-186	-0.0137323861679082
+-187	-0.0160141550759938
+-188	-0.017722831700802
+-189	-0.015351426662838
+-190	-0.0185698089210776
+-191	-0.0175157776409104
+-192	-0.0155631516338833
+-193	-0.0169248557096909
+-194	-0.0172361325951485
+-195	-0.0181452103029826
+-196	-0.0188512630759419
+-197	-0.019287412783149
+-198	-0.0189502964327969
+-199	-0.0175238114666983
+-200	-0.0183952774301715
+-201	-0.0186218598819691
+-202	-0.018542074990071
+-203	-0.0182545379514657
+-204	-0.017840994815964
+-205	-0.0165268111705284
+-206	-0.0170697996989772
+-207	-0.0164709961667795
+-208	-0.016643508111465
+-209	-0.0157568996501781
+-210	-0.0168374783887807
+-211	-0.0177159477110073
+-212	-0.0185524368774668
+-213	0.0053422952230943
+-214	0.00276128222155045
+-215	0.286489934471652
+-216	0.0658269400928081
+-217	0.262561253228902
+-218	0.169103819531699
+-219	0.0650049870287007
+-220	-0.0133346213868773
+-221	-0.0142126752180425
+-222	-0.0160968078458446
+-223	-0.0167528062012806
+-224	-0.0164817511097463
+-225	-0.0142119297070018
+-226	-0.0184810797176798
+-227	-0.0172569541054024
+-228	-0.0172066024264211
+-229	-0.0169726297147995
+-230	-0.0150887497973008
+-231	-0.0156277947184747
+-232	-0.0180738339464492
+-233	-0.0190883324101496
+-234	-0.0183422711026111
+-235	-0.018362277398652
+-236	-0.0181804365041856
+-237	-0.0173970084740036
+-238	-0.0160781720728349
+-239	-0.0175236902049324
+-240	-0.0174042718759811
+-241	-0.0173938793276598
+-242	-0.0147551028769872
+-243	-0.0122857581039405
+-244	-0.010867924198452
+-245	-0.0147424216205904
+-246	-0.0161622617779801
+-247	-0.0172022551420587
+-248	-0.0150808969605776
+-249	-0.0151917742587137
+-250	-0.0152127703813932
+-251	-0.0164007891388044
+-252	-0.0158495946074772
+-253	-0.0165231819746255
+-254	-0.0179743821309601
+-255	-0.0168790954979486
+-256	-0.0162120097817564
+-257	-0.0178739491417351
+-258	-0.0173473040628906
+-259	-0.017333660413587
+-260	-0.0169091470123355
+-261	-0.0173480396586057
+-262	-0.0162244782824425
+-263	-0.0161131334675745
+-264	-0.015440149830728
+-265	-0.0158807862437797
+-266	-0.0152294521155507
+-267	-0.0158352218642096
+-268	-0.0155828944335708
+-269	-0.0154836062421944
+-270	0.00558208708467659
+-271	0.0114870902959279
+-272	0.231287473612096
+-273	0.0339554100844083
+-274	0.0575163566469858
+-275	0.200319219612533
+-276	0.130545113965154
+-277	0.103208025156172
+-278	-0.00828951271991966
+-279	-0.011478192463039
+-280	-0.0144428867470379
+-281	-0.0166239539451988
+-282	-0.0140920994032186
+-283	-0.0158723288388108
+-284	-0.0165069706040961
+-285	-0.0161430629749153
+-286	-0.0156730553051534
+-287	-0.0140404598916659
+-288	-0.0133504108974733
+-289	-0.0157085445845684
+-290	-0.0176124651386038
+-291	-0.0171680503827001
+-292	-0.0170039830572799
+-293	-0.0168887759061973
+-294	-0.0169101987732867
+-295	-0.0163174932481928
+-296	-0.0167303236582728
+-297	-0.0164240715366653
+-298	-0.0174052740404305
+-299	-0.0154895527247017
+-300	-0.0136444220312839
+-301	-0.0116830781987026
+-302	-0.0115068177333964
+-303	-0.0122234935117673
+-304	-0.0161080245808241
+-305	-0.0156513921624129
+-306	-0.015465759720129
+-307	-0.0155883071657887
+-308	-0.014915569597449
+-309	-0.0154401977831601
+-310	-0.0152328705988631
+-311	-0.0150660231818582
+-312	-0.0162849647550971
+-313	-0.0156909486406831
+-314	-0.0157314619149535
+-315	-0.0171049069711299
+-316	-0.0163207392432989
+-317	-0.0162187518728422
+-318	-0.0159225278740695
+-319	-0.0158753160806369
+-320	-0.0175020706698857
+-321	-0.0162498852657993
+-322	-0.0142911340574672
+-323	-0.0134726499133121
+-324	-0.0139601338890013
+-325	-0.0135761876345162
+-326	-0.0137860102565959
+-327	0.00758105123652143
+-328	0.0138556686845422
+-329	0.160536954774616
+-330	0.0580898398456171
+-331	0.0362943231984366
+-332	0.0582894097570709
+-333	0.140607199465268
+-334	0.122618966464092
+-335	0.0544884026670781
+-336	0.0574883295508244
+-337	-0.0128811621108332
+-338	-0.0142051495442353
+-339	-0.012596825344306
+-340	-0.0144711739317383
+-341	-0.0143424560269512
+-342	-0.0151482554143398
+-343	-0.0152335381293791
+-344	-0.0145008541639242
+-345	-0.0128863677349906
+-346	-0.0135998919997521
+-347	-0.0137187354568586
+-348	-0.016562150133356
+-349	-0.0159327586951356
+-350	-0.0157278421724429
+-351	-0.0156917921778683
+-352	-0.0162525169522264
+-353	-0.0151087680645235
+-354	-0.0163683946557918
+-355	-0.0158321090068333
+-356	-0.014187820897252
+-357	-0.0135506277381031
+-358	-0.0129291218507853
+-359	-0.011476061331394
+-360	-0.0106220863859184
+-361	-0.0136381523747695
+-362	-0.0144198007144617
+-363	-0.0140646467360062
+-364	-0.0146311562003427
+-365	-0.0138043111265009
+-366	-0.0132336502438289
+-367	-0.0137447378009751
+-368	-0.0134055994936963
+-369	-0.0138096044909662
+-370	-0.0148709544542698
+-371	-0.0141560548846661
+-372	-0.0143189068321436
+-373	-0.0154246653827396
+-374	-0.0143998490618263
+-375	-0.0151239610115372
+-376	-0.0145837141470442
+-377	-0.0149820141088871
+-378	-0.0152660994133885
+-379	-0.0150896640677698
+-380	-0.0143925874319689
+-381	-0.012857919840862
+-382	-0.012469852706461
+-383	-0.0114191455070416
+-384	-0.0117369627541799
+-385	0.00901231127194259
+-386	0.112581309251641
+-387	0.0630586366341156
+-388	0.0560506964150278
+-389	0.034078031969884
+-390	0.0673456104691437
+-391	0.0675823686435704
+-392	0.125111752483497
+-393	0.0574208869213907
+-394	0.0547195112212531
+-395	-0.0126520762992662
+-396	-0.0108416098060863
+-397	-0.0130469248384881
+-398	-0.0127546014788274
+-399	-0.0132792357499854
+-400	-0.0146832842515137
+-401	-0.0126612510959431
+-402	-0.0115800372136954
+-403	-0.0113903072278453
+-404	-0.0140846407853927
+-405	-0.0131520362471166
+-406	-0.0151139726926659
+-407	-0.014338285447184
+-408	-0.0139604129340576
+-409	-0.0146086760584088
+-410	-0.0147068805852203
+-411	-0.0133990381740181
+-412	-0.0146858710730989
+-413	-0.0130742254367083
+-414	-0.0131112804223081
+-415	-0.0137104304702131
+-416	-0.0127181490916882
+-417	-0.0101122805581215
+-418	-0.0116311057808783
+-419	-0.0116685677717087
+-420	-0.0125364818049418
+-421	-0.0131681573750755
+-422	-0.0136051276108772
+-423	-0.0120078720987834
+-424	-0.0120742461009416
+-425	-0.0122528176238668
+-426	-0.0117254366398627
+-427	-0.0121713901545344
+-428	-0.0134473192309673
+-429	-0.0125993249687127
+-430	-0.0127679522459455
+-431	-0.0139092549620457
+-432	-0.012803641341176
+-433	-0.0136774030500624
+-434	-0.0141830514589281
+-435	-0.0128995570395618
+-436	-0.0138061906269556
+-437	-0.0138485903191603
+-438	-0.0134705594226274
+-439	-0.0135710367850959
+-440	-0.0134802406736088
+-441	-0.0114240523633417
+-442	0.00941052876968686
+-443	0.0430904882987511
+-444	0.0610654134717703
+-445	0.062319445242902
+-446	0.0601232622212667
+-447	0.0405754724552619
+-448	0.0620931832458557
+-449	0.0116088523973264
+-450	0.0982633823768887
+-451	0.0714603689521745
+-452	0.0559398394361076
+-453	-0.0101201070889078
+-454	-0.00879771513149454
+-455	-0.0115272354759577
+-456	-0.0116269116840352
+-457	-0.0122869101923228
+-458	-0.0120188445899197
+-459	-0.0118598309936189
+-460	-0.0101004693907269
+-461	-0.0114030122417514
+-462	-0.0122734729370316
+-463	-0.0115720712151182
+-464	-0.0138183196216235
+-465	-0.0127878610331042
+-466	-0.0125076360625095
+-467	-0.012954528306254
+-468	-0.0134636454445403
+-469	-0.0119988447482744
+-470	-0.0129555835189171
+-471	-0.0118492958760378
+-472	-0.0118594416726488
+-473	-0.0122062699596644
+-474	-0.010080021699572
+-475	-0.0096177810356361
+-476	-0.0103925438270026
+-477	-0.00956922010832709
+-478	-0.0112412626452718
+-479	-0.0121001052660535
+-480	-0.011378640220319
+-481	-0.0092484956113967
+-482	-0.0106941808432033
+-483	-0.0110034314038638
+-484	-0.0110076000819364
+-485	-0.0120066628455925
+-486	-0.0120644325940679
+-487	-0.0113002732292104
+-488	-0.0115088408547228
+-489	-0.0124620522688203
+-490	-0.011436641831689
+-491	-0.0122177151639931
+-492	-0.011889848089267
+-493	-0.0112514741258071
+-494	-0.0123396196285994
+-495	-0.0125441398199035
+-496	-0.0120423852622065
+-497	-0.0117710714915686
+-498	-0.0120685728943707
+-499	-0.0102415762932917
+-500	-0.00952560982747511
+-501	0.057365018480452
+-502	0.0589533698587152
+-503	0.0631840298934377
+-504	0.0575949246719766
+-505	0.0495075237359153
+-506	-0.00276987533523964
+-507	0.0566980942764334
+-508	0.0446716609032234
+-509	0.0800168272027955
+-510	0.0590566885918559
+-511	-0.00867575003512787
+-512	-0.00762446391218853
+-513	-0.0110530315739159
+-514	-0.0112154987644773
+-515	-0.0115595346792594
+-516	-0.00980277940001169
+-517	-0.00973051262117572
+-518	-0.0103794047555936
+-519	-0.0112379712859069
+-520	-0.0115804163149423
+-521	-0.0101848401928812
+-522	-0.0124971838157264
+-523	-0.0116095875762639
+-524	-0.0110264315185272
+-525	-0.0117091264505558
+-526	-0.0123732885927322
+-527	-0.010594137537324
+-528	-0.0118959477121367
+-529	-0.0104863548938662
+-530	-0.0105605260979509
+-531	-0.0106933635291854
+-532	-0.0108043363381157
+-533	-0.00921313629560141
+-534	-0.00991616820012903
+-535	-0.00958582052168739
+-536	-0.00704544580624994
+-537	-0.0106691661025772
+-538	-0.010420801758334
+-539	-0.00875433609811375
+-540	-0.00883595894162315
+-541	-0.00997102984238341
+-542	-0.0102647231793572
+-543	-0.0102814553860974
+-544	-0.0108603826750419
+-545	-0.00986739232072193
+-546	-0.0101569632812344
+-547	-0.011268829829185
+-548	-0.0103314326239715
+-549	-0.0108025538636602
+-550	-0.0110885402975588
+-551	-0.00994108726738058
+-552	-0.0109717247548978
+-553	-0.0111952027153027
+-554	-0.0106777314688714
+-555	-0.0105192670440749
+-556	-0.0103965890169893
+-557	-0.00921877528177769
+-558	-0.0105438348503076
+-559	0.0565407931203086
+-560	0.0607631038776418
+-561	0.0631456281304688
+-562	0.0643969806813753
+-563	0.00250124004424947
+-564	0.0238807604805019
+-565	0.0611062977177439
+-566	0.00597775022828004
+-567	0.0460556379694793
+-568	0.0815090939407766
+-569	-0.00626805713052914
+-570	-0.00661349141206074
+-571	-0.0103106916231778
+-572	-0.00997759927119779
+-573	-0.00925417552568336
+-574	-0.00793232399214336
+-575	-0.00984859802468641
+-576	-0.00970943291247622
+-577	-0.0102555983171129
+-578	-0.0105112448841139
+-579	-0.00934462727175849
+-580	-0.0109724429920345
+-581	-0.0105475816212072
+-582	-0.00987869004825123
+-583	-0.0108012349540747
+-584	-0.0110285881583596
+-585	-0.00936923199699531
+-586	-0.010677032137483
+-587	-0.00926759654250112
+-588	-0.00927806685390026
+-589	-0.00953198453346766
+-590	-0.00985316922914821
+-591	-0.00816343304426746
+-592	-0.00804247528052676
+-593	-0.00716187036218296
+-594	-0.00719169352938419
+-595	-0.00640320531281439
+-596	-0.00933925279879329
+-597	-0.00742884578783592
+-598	-0.00884147481763569
+-599	-0.00946231770499787
+-600	-0.00920569741458586
+-601	-0.00945237056796019
+-602	-0.00981398771732927
+-603	-0.00871297697902305
+-604	-0.0100303276706874
+-605	-0.00898480302286613
+-606	-0.00924314281708078
+-607	-0.00967182311916309
+-608	-0.00990373367569264
+-609	-0.00867546650016389
+-610	-0.00974271626786161
+-611	-0.00993605711012294
+-612	-0.00942263108268127
+-613	-0.00900896482065972
+-614	-0.0091002536867116
+-615	-0.0087141619357278
+-616	-0.00892632720545352
+-617	0.0589814861280723
+-618	0.0605513762593439
+-619	0.0714950418331747
+-620	-0.00270802819557134
+-621	0.0492471524740303
+-622	0.038730090749927
+-623	-0.00470286001171746
+-624	0.0805291384934167
+-625	-0.0061135815816416
+-626	0.0469241708061885
+-627	0.0129057834766504
+-628	-0.00613654384956245
+-629	-0.00879823441679327
+-630	-0.00781138453907383
+-631	-0.00742325743221473
+-632	-0.00823530705565565
+-633	-0.0084784951984544
+-634	-0.00809365168883783
+-635	-0.00953458560320773
+-636	-0.00802484455858134
+-637	-0.00916422962874895
+-638	-0.00901522658367207
+-639	-0.00980509257172476
+-640	-0.00879042365734647
+-641	-0.00895901541679582
+-642	-0.00967011172668992
+-643	-0.00909032972552398
+-644	-0.00839888383893324
+-645	-0.00811198094900032
+-646	-0.00768107918073061
+-647	-0.00816456224653991
+-648	-0.0082275430634122
+-649	-0.0081977088645516
+-650	-0.00539347813540888
+-651	-0.00654335448921841
+-652	-0.00443308105716727
+-653	-0.00570487900007702
+-654	-0.0066893756968109
+-655	-0.00818867754248517
+-656	-0.00757689453770065
+-657	-0.00809806707024929
+-658	-0.00781954604985851
+-659	-0.00817710586907003
+-660	-0.00815598808085207
+-661	-0.00838471453215144
+-662	-0.00761655712958744
+-663	-0.00754256056280177
+-664	-0.00784016975796052
+-665	-0.00809877261256007
+-666	-0.00845387142411403
+-667	-0.00839255166002082
+-668	-0.00750643389123885
+-669	-0.00842839786359518
+-670	-0.00793771252048078
+-671	-0.00821559065464683
+-672	-0.00836801649799504
+-673	-0.00801406294900344
+-674	-0.0068829238602205
+-675	0.0587431729672395
+-676	0.0679066498016378
+-677	0.00138627052356425
+-678	0.045430011210707
+-679	0.0703642058717147
+-680	-0.00785311036081027
+-681	0.0393771166371859
+-682	-0.0012573720198598
+-683	0.0787866974453597
+-684	-0.00622669473512034
+-685	-0.00636435714406588
+-686	-0.00498738462505791
+-687	-0.00682069596495773
+-688	-0.00626878401038485
+-689	-0.00829494420297491
+-690	-0.00672112910303483
+-691	-0.00742349355313316
+-692	-0.00663050740514031
+-693	-0.00668402104568857
+-694	-0.00765554385447826
+-695	-0.00750480426076586
+-696	-0.00755677083867405
+-697	-0.00878562401331522
+-698	-0.00750067365297707
+-699	-0.00777302023891454
+-700	-0.00817258866736239
+-701	-0.00782461564356417
+-702	-0.00524788018311442
+-703	-0.00639934484202989
+-704	-0.00643323873066334
+-705	-0.00675310931225713
+-706	-0.00662734325519555
+-707	-0.00521831889291382
+-708	-0.00564541170834083
+-709	-0.00456417269308792
+-710	-0.00400766521918149
+-711	-0.00371044720499201
+-712	-0.00477769884156836
+-713	-0.00650815478194108
+-714	-0.00648004714637358
+-715	-0.00676089500421721
+-716	-0.00680941068103167
+-717	-0.00642611423395982
+-718	-0.00702188737616296
+-719	-0.00653395389621014
+-720	-0.00584494763207698
+-721	-0.00698560115812894
+-722	-0.00617395252882351
+-723	-0.00649589045366301
+-724	-0.00697571124768394
+-725	-0.00710622766255317
+-726	-0.00619879747257016
+-727	-0.00665952366507082
+-728	-0.00697267381777301
+-729	-0.00656067343167249
+-730	-0.00686476942480864
+-731	-0.00642237619826439
+-732	-0.00571464839985842
+-733	0.0667446844690344
+-734	-0.000602956363836805
+-735	0.0435578419252502
+-736	0.0671949304076346
+-737	0.00272911716837698
+-738	0.0617459164425819
+-739	-0.00803573888395584
+-740	0.0408644996908555
+-741	-0.00188635612841879
+-742	0.012816656873346
+-743	-0.00568767407759494
+-744	-0.00636171895252407
+-745	-0.00542006518701238
+-746	-0.00762131167004239
+-747	-0.00660561178711003
+-748	-0.00606759153689151
+-749	-0.0058887906931096
+-750	-0.00489479103900307
+-751	-0.00560951874516548
+-752	-0.00616879095509287
+-753	-0.00635688929093473
+-754	-0.00647498478390112
+-755	-0.00602500915318228
+-756	-0.00733096951475789
+-757	-0.00594264381799701
+-758	-0.00639292931982792
+-759	-0.00572524668506834
+-760	-0.00539599866786123
+-761	-0.00379529224483641
+-762	-0.00508628266806213
+-763	-0.00482859601859399
+-764	-0.00384270276169917
+-765	-0.0048947554317503
+-766	-0.0036868713314995
+-767	-0.00296664588261117
+-768	-0.00394853350358643
+-769	-0.00370978621561119
+-770	-0.00496135959443785
+-771	-0.00483764544982328
+-772	-0.00514032926285884
+-773	-0.00429422735197048
+-774	-0.00533057103732123
+-775	-0.00536211175807313
+-776	-0.00507354991704586
+-777	-0.00523842710609345
+-778	-0.00538601193828756
+-779	-0.00457245530033061
+-780	-0.00555196995586425
+-781	-0.00431853553236008
+-782	-0.00528202292794999
+-783	-0.00548332867892791
+-784	-0.0054668106220194
+-785	-0.00467211264805423
+-786	-0.0056172070705691
+-787	-0.0050524268347218
+-788	-0.00490507861057278
+-789	-0.00533817709181219
+-790	-0.00320459126822799
+-791	0.000899360051725526
+-792	0.0415445575505902
+-793	0.0636610531703114
+-794	-0.0016809425357539
+-795	0.0687212087083107
+-796	0.000196803163775908
+-797	0.0629583673226595
+-798	-0.00692549309097212
+-799	-0.00464547193258324
+-800	-0.00554999704707722
+-801	-0.00548776067864322
+-802	-0.00542976281097604
+-803	-0.0035044437646846
+-804	-0.0055525582475137
+-805	-0.00571646473007065
+-806	-0.00559650400651719
+-807	-0.0038274405540596
+-808	-0.0049295061654944
+-809	-0.00431367615172496
+-810	-0.00488424593891825
+-811	-0.00508803026004008
+-812	-0.00516376184293035
+-813	-0.00533514975859532
+-814	-0.00495590288647863
+-815	-0.00582914296339316
+-816	-0.00363638197988919
+-817	-0.00435167714877856
+-818	-0.00395852323776287
+-819	-0.0040209798766184
+-820	-0.00259964040539382
+-821	-0.00252589454921766
+-822	-0.00402931674090356
+-823	-0.00437393888079731
+-824	-0.00424357159059594
+-825	-0.00410943374121717
+-826	-0.00317027800134567
+-827	-0.00401422305864503
+-828	-0.00362959396117676
+-829	-0.00435662189051477
+-830	-0.00429725981497675
+-831	-0.00437374795310113
+-832	-0.00378466430841879
+-833	-0.00411294642315096
+-834	-0.00378707889918487
+-835	-0.00453957661876227
+-836	-0.00428380826395531
+-837	-0.00440314525366383
+-838	-0.0035999051330324
+-839	-0.00448715088820831
+-840	-0.00394825961839359
+-841	-0.00424255651229298
+-842	-0.00457239362923998
+-843	-0.00454960510129971
+-844	-0.00359729823872128
+-845	-0.00427987549442926
+-846	-0.00383749859614317
+-847	-0.00440264075958008
+-848	-0.00443053281886172
+-849	-0.00462479790588209
+-850	0.0635581089210887
+-851	-0.00436894515178304
+-852	0.0644673368682151
+-853	-0.000871046243511147
+-854	0.0774867967247699
+-855	-0.00520058993039265
+-856	-0.00455758197376518
+-857	-0.0045515125818426
+-858	-0.00326760124250017
+-859	-0.00391042035486497
+-860	-0.00365931176845998
+-861	-0.00406590514483785
+-862	-0.0025402582470179
+-863	-0.00536731784656349
+-864	-0.00383767883865199
+-865	-0.00355617763954968
+-866	-0.00378000247138692
+-867	-0.00392301919821498
+-868	-0.00311017256485425
+-869	-0.00362676859689902
+-870	-0.00388528530404416
+-871	-0.00403811507092716
+-872	-0.00389341264783238
+-873	-0.00250872494912967
+-874	-0.00227481761327797
+-875	-0.00232996833366221
+-876	-0.00304083453398083
+-877	-0.00268074555016819
+-878	-0.00265096778109124
+-879	-0.00262000280831905
+-880	-0.00263328713175465
+-881	-0.0025831537476473
+-882	-0.00285396803049453
+-883	-0.00275081518908208
+-884	-0.00275786365878849
+-885	-0.00270692981149454
+-886	-0.00279346701415621
+-887	-0.00243358618146588
+-888	-0.00292581648863345
+-889	-0.00324682684580069
+-890	-0.00268405340278505
+-891	-0.00298098008752344
+-892	-0.0030275487992921
+-893	-0.00253465692577619
+-894	-0.0030528198225934
+-895	-0.00306163668899383
+-896	-0.00302971568628192
+-897	-0.00312372318456645
+-898	-0.00302532654866883
+-899	-0.00260699554256586
+-900	-0.00314997872940616
+-901	-0.00310092374684808
+-902	-0.00285287807280204
+-903	-0.00322514674479286
+-904	-0.00324555248275787
+-905	-0.00266343884682981
+-906	-0.0033292088604627
+-907	-0.00311942534161818
+-908	-0.003188028948592
+-909	0.063849474353312
+-910	-0.00314766360320187
+-911	0.0654720703776586
+-912	-0.00104922659034679
+-913	0.00682464273763961
+-914	-0.00303985655616328
+-915	-0.00305320941524036
+-916	-0.00235000269848827
+-917	-0.00159322372169743
+-918	-0.00266570495618958
+-919	-0.00262099570862898
+-920	-0.00331666377238153
+-921	-0.000308570913141365
+-922	-0.0043164022171378
+-923	-0.00371227484203275
+-924	-0.00247827724873875
+-925	-0.00234032536054011
+-926	-0.00253743141649567
+-927	-0.00196547166307156
+-928	-0.00258072736023124
+-929	-0.00262490193099622
+-930	-0.00130204665127498
+-931	-0.00126358935693649
+-932	-0.00125324190600646
+-933	-0.00103101472775934
+-934	-0.00130963767061068
+-935	-0.00170600528719406
+-936	-0.00131231544424995
+-937	-0.00130240649250473
+-938	-0.0011496494054081
+-939	-0.00120338315610114
+-940	-0.00107955390929202
+-941	-0.00136336765253578
+-942	-0.00138525137115296
+-943	-0.00142000506928781
+-944	-0.00137347169208518
+-945	-0.00130072987756282
+-946	-0.00149282878067872
+-947	-0.00147328073275425
+-948	-0.00148996134571696
+-949	-0.0015346094598941
+-950	-0.00155787525175409
+-951	-0.0015758298667031
+-952	-0.00144258818629267
+-953	-0.0016057038498501
+-954	-0.00161313789189179
+-955	-0.0014926163928444
+-956	-0.00167630619540263
+-957	-0.00171225333920666
+-958	-0.00158417048330168
+-959	-0.00172363849918105
+-960	-0.00178681745393769
+-961	-0.00177326985666539
+-962	-0.00177274859905472
+-963	-0.00180813461186522
+-964	-0.00164734316246358
+-965	-0.00179758469878046
+-966	-0.00170533834289266
+-967	-0.0018391064291266
+-968	0.0648568044321966
+-969	-0.00181391508277247
+-970	-0.00187271774497418
+-971	-0.00171843154333231
+-972	0.00690748933974905
+-973	-0.0020046618702145
+-974	-0.00209930430368119
+-975	-0.00151158386207428
+-976	-0.00215827618636864
+-977	-0.00219374577659291
+-978	-0.00221636226760568
+-979	-0.00228093075519445
+-980	-0.00204652728069895
+-981	-0.00229765429774947
+-982	-0.00230704101453769
+-983	-0.00107403973652915
+-984	-0.00110441180969535
+-985	-0.00113692360921596
+-986	-0.00114267728647558
+-987	0.000141381944635982
+-988	0.00011755670125973
+-989	9.44527623139297e-05
+-990	7.92340829889737e-05
+-991	0.000230018756762113
+-992	0.000207110838703588
+-993	0.000182764350871147
+-994	0.000169272314028801
+-995	0.000144905246673696
+-996	0.000120096836237343
+-997	9.53172448027285e-05
+-998	7.0792968638772e-05
+-999	4.98796983407663e-05
+diff --git a/lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkExt#parser.dat b/lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkExt#parser.dat
+deleted file mode 100644
+index 797a3d0..0000000
+--- a/lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkExt#parser.dat
++++ /dev/null
+@@ -1,901 +0,0 @@
+-#scatter	real	total	user	system	repeat
+-101	0.00124120712280273	0.0	0.0	0.0	101
+-102	0.00123310089111328	0.0	0.0	0.0	102
+-103	0.0012359619140625	0.0	0.0	0.0	103
+-104	0.00124216079711914	0.0	0.0	0.0	104
+-105	0.00124096870422363	0.0	0.0	0.0	105
+-106	0.00124096870422363	0.00999999999999979	0.00999999999999979	0.0	106
+-107	0.00124692916870117	0.0	0.0	0.0	107
+-108	0.00122189521789551	0.0	0.0	0.0	108
+-109	0.00124287605285645	0.0	0.0	0.0	109
+-110	0.00124287605285645	0.0	0.0	0.0	110
+-111	0.00124597549438477	0.0	0.0	0.0	111
+-112	0.0012519359588623	0.0	0.0	0.0	112
+-113	0.00124788284301758	0.0	0.0	0.0	113
+-114	0.00124502182006836	0.0100000000000007	0.0100000000000007	0.0	114
+-115	0.00124692916870117	0.0	0.0	0.0	115
+-116	0.00123810768127441	0.0	0.0	0.0	116
+-117	0.00125002861022949	0.0	0.0	0.0	117
+-118	0.00125789642333984	0.0	0.0	0.0	118
+-119	0.0300710201263428	0.0299999999999994	0.0299999999999994	0.0	119
+-120	0.00127291679382324	0.0	0.0	0.0	120
+-121	0.00133109092712402	0.0	0.0	0.0	121
+-122	0.0012810230255127	0.0100000000000007	0.0100000000000007	0.0	122
+-123	0.00127792358398438	0.0	0.0	0.0	123
+-124	0.0012671947479248	0.0	0.0	0.0	124
+-125	0.00126814842224121	0.0	0.0	0.0	125
+-126	0.00125694274902344	0.0	0.0	0.0	126
+-127	0.00124883651733398	0.0	0.0	0.0	127
+-128	0.00124907493591309	0.0	0.0	0.0	128
+-129	0.0012509822845459	0.0	0.0	0.0	129
+-130	0.0012509822845459	0.00999999999999979	0.00999999999999979	0.0	130
+-131	0.00125312805175781	0.0	0.0	0.0	131
+-132	0.00131797790527344	0.0	0.0	0.0	132
+-133	0.00125694274902344	0.0	0.0	0.0	133
+-134	0.00125288963317871	0.0	0.0	0.0	134
+-135	0.0012519359588623	0.0	0.0	0.0	135
+-136	0.00124692916870117	0.0	0.0	0.0	136
+-137	0.00124692916870117	0.0	0.0	0.0	137
+-138	0.00124907493591309	0.00999999999999979	0.00999999999999979	0.0	138
+-139	0.0012509822845459	0.0	0.0	0.0	139
+-140	0.00125598907470703	0.0	0.0	0.0	140
+-141	0.00124287605285645	0.0	0.0	0.0	141
+-142	0.00124812126159668	0.0	0.0	0.0	142
+-143	0.00124883651733398	0.0	0.0	0.0	143
+-144	0.00123500823974609	0.0	0.0	0.0	144
+-145	0.00124382972717285	0.00999999999999979	0.00999999999999979	0.0	145
+-146	0.00123715400695801	0.0	0.0	0.0	146
+-147	0.00134897232055664	0.0	0.0	0.0	147
+-148	0.00123906135559082	0.0	0.0	0.0	148
+-149	0.00124788284301758	0.0	0.0	0.0	149
+-150	0.0012359619140625	0.0	0.0	0.0	150
+-151	0.00123476982116699	0.0	0.0	0.0	151
+-152	0.00124597549438477	0.0	0.0	0.0	152
+-153	0.00124597549438477	0.0100000000000007	0.0100000000000007	0.0	153
+-154	0.00123190879821777	0.0	0.0	0.0	154
+-155	0.0012509822845459	0.0	0.0	0.0	155
+-156	0.00124096870422363	0.0	0.0	0.0	156
+-157	0.0012359619140625	0.0	0.0	0.0	157
+-158	0.00123906135559082	0.0	0.0	0.0	158
+-159	0.00123906135559082	0.0	0.0	0.0	159
+-160	0.00123691558837891	0.0	0.0	0.0	160
+-161	0.00124001502990723	0.00999999999999979	0.00999999999999979	0.0	161
+-162	0.00124597549438477	0.0	0.0	0.0	162
+-163	0.00124096870422363	0.0	0.0	0.0	163
+-164	0.0012359619140625	0.0	0.0	0.0	164
+-165	0.00123500823974609	0.0	0.0	0.0	165
+-166	0.00173211097717285	0.0	0.0	0.0	166
+-167	0.00125217437744141	0.0	0.0	0.0	167
+-168	0.00124406814575195	0.00999999999999979	0.00999999999999979	0.0	168
+-169	0.00124096870422363	0.0	0.0	0.0	169
+-170	0.00123381614685059	0.0	0.0	0.0	170
+-171	0.00124001502990723	0.0	0.0	0.0	171
+-172	0.00124001502990723	0.0	0.0	0.0	172
+-173	0.00123715400695801	0.0	0.0	0.0	173
+-174	0.00123691558837891	0.0	0.0	0.0	174
+-175	0.00124692916870117	0.0	0.0	0.0	175
+-176	0.00130796432495117	0.00999999999999979	0.00999999999999979	0.0	176
+-177	0.00127100944519043	0.0	0.0	0.0	177
+-178	0.0301418304443359	0.0300000000000002	0.0300000000000002	0.0	178
+-179	0.00127196311950684	0.0	0.0	0.0	179
+-180	0.00131416320800781	0.0	0.0	0.0	180
+-181	0.00119805335998535	0.0	0.0	0.0	181
+-182	0.00128316879272461	0.0	0.0	0.0	182
+-183	0.0013129711151123	0.0	0.0	0.0	183
+-184	0.00127100944519043	0.0	0.0	0.0	184
+-185	0.00141692161560059	0.0	0.0	0.0	185
+-186	0.00130701065063477	0.0	0.0	0.0	186
+-187	0.00126099586486816	0.0	0.0	0.0	187
+-188	0.00125694274902344	0.0	0.0	0.0	188
+-189	0.00124502182006836	0.0	0.0	0.0	189
+-190	0.00125217437744141	0.0	0.0	0.0	190
+-191	0.00124216079711914	0.0	0.0	0.0	191
+-192	0.00125408172607422	0.0100000000000007	0.0100000000000007	0.0	192
+-193	0.00124502182006836	0.0	0.0	0.0	193
+-194	0.00125718116760254	0.0	0.0	0.0	194
+-195	0.00125503540039062	0.0	0.0	0.0	195
+-196	0.00125598907470703	0.0	0.0	0.0	196
+-197	0.00137186050415039	0.0	0.0	0.0	197
+-198	0.0011131763458252	0.0	0.0	0.0	198
+-199	0.00124788284301758	0.0	0.0	0.0	199
+-200	0.00124597549438477	0.00999999999999979	0.00999999999999979	0.0	200
+-201	0.00124597549438477	0.0	0.0	0.0	201
+-202	0.00132608413696289	0.0	0.0	0.0	202
+-203	0.00129795074462891	0.0	0.0	0.0	203
+-204	0.00120997428894043	0.0	0.0	0.0	204
+-205	0.00124192237854004	0.0	0.0	0.0	205
+-206	0.00126290321350098	0.0	0.0	0.0	206
+-207	0.00125002861022949	0.00999999999999979	0.00999999999999979	0.0	207
+-208	0.00125503540039062	0.0	0.0	0.0	208
+-209	0.00124883651733398	0.0	0.0	0.0	209
+-210	0.00124192237854004	0.0	0.0	0.0	210
+-211	0.00124812126159668	0.0	0.0	0.0	211
+-212	0.00125002861022949	0.0	0.0	0.0	212
+-213	0.00124287605285645	0.0	0.0	0.0	213
+-214	0.00125288963317871	0.0	0.0	0.0	214
+-215	0.00125002861022949	0.00999999999999979	0.00999999999999979	0.0	215
+-216	0.00124287605285645	0.0	0.0	0.0	216
+-217	0.00124001502990723	0.0	0.0	0.0	217
+-218	0.00124883651733398	0.0	0.0	0.0	218
+-219	0.00124192237854004	0.0	0.0	0.0	219
+-220	0.00123405456542969	0.0	0.0	0.0	220
+-221	0.00124883651733398	0.0	0.0	0.0	221
+-222	0.00123810768127441	0.0	0.0	0.0	222
+-223	0.0012359619140625	0.00999999999999979	0.00999999999999979	0.0	223
+-224	0.00123405456542969	0.0	0.0	0.0	224
+-225	0.00124788284301758	0.0	0.0	0.0	225
+-226	0.00148200988769531	0.0	0.0	0.0	226
+-227	0.00123882293701172	0.0	0.0	0.0	227
+-228	0.00124907493591309	0.0	0.0	0.0	228
+-229	0.00124120712280273	0.0	0.0	0.0	229
+-230	0.00124096870422363	0.0	0.0	0.0	230
+-231	0.00124812126159668	0.0100000000000007	0.0100000000000007	0.0	231
+-232	0.00124001502990723	0.0	0.0	0.0	232
+-233	0.001251220703125	0.0	0.0	0.0	233
+-234	0.00123810768127441	0.0	0.0	0.0	234
+-235	0.00125885009765625	0.0	0.0	0.0	235
+-236	0.00126409530639648	0.0	0.0	0.0	236
+-237	0.0301649570465088	0.0299999999999994	0.0299999999999994	0.0	237
+-238	0.00130605697631836	0.0	0.0	0.0	238
+-239	0.00129795074462891	0.0100000000000007	0.0100000000000007	0.0	239
+-240	0.00127410888671875	0.0	0.0	0.0	240
+-241	0.00134420394897461	0.0	0.0	0.0	241
+-242	0.00127720832824707	0.0	0.0	0.0	242
+-243	0.00126409530639648	0.0	0.0	0.0	243
+-244	0.00125288963317871	0.0	0.0	0.0	244
+-245	0.00125384330749512	0.0	0.0	0.0	245
+-246	0.00124788284301758	0.0	0.0	0.0	246
+-247	0.00124287605285645	0.00999999999999979	0.00999999999999979	0.0	247
+-248	0.00125813484191895	0.0	0.0	0.0	248
+-249	0.00125002861022949	0.0	0.0	0.0	249
+-250	0.00124502182006836	0.0	0.0	0.0	250
+-251	0.00125694274902344	0.0	0.0	0.0	251
+-252	0.00124192237854004	0.0	0.0	0.0	252
+-253	0.00128889083862305	0.0	0.0	0.0	253
+-254	0.00124883651733398	0.00999999999999979	0.00999999999999979	0.0	254
+-255	0.00124907493591309	0.0	0.0	0.0	255
+-256	0.00124812126159668	0.0	0.0	0.0	256
+-257	0.00125503540039062	0.0	0.0	0.0	257
+-258	0.00125789642333984	0.0	0.0	0.0	258
+-259	0.00124692916870117	0.0	0.0	0.0	259
+-260	0.00124812126159668	0.0	0.0	0.0	260
+-261	0.00124192237854004	0.0	0.0	0.0	261
+-262	0.00124287605285645	0.00999999999999979	0.00999999999999979	0.0	262
+-263	0.00124192237854004	0.0	0.0	0.0	263
+-264	0.00123500823974609	0.0	0.0	0.0	264
+-265	0.00123715400695801	0.0	0.0	0.0	265
+-266	0.0018610954284668	0.0	0.0	0.0	266
+-267	0.00128507614135742	0.0	0.0	0.0	267
+-268	0.00123906135559082	0.0	0.0	0.0	268
+-269	0.00124001502990723	0.0	0.0	0.0	269
+-270	0.00124907493591309	0.0	0.0	0.0	270
+-271	0.00124716758728027	0.0	0.0	0.0	271
+-272	0.00124001502990723	0.0	0.0	0.0	272
+-273	0.00125288963317871	0.0	0.0	0.0	273
+-274	0.00118589401245117	0.0	0.0	0.0	274
+-275	0.00124192237854004	0.0	0.0	0.0	275
+-276	0.00123906135559082	0.0	0.0	0.0	276
+-277	0.00125002861022949	0.00999999999999979	0.00999999999999979	0.0	277
+-278	0.00124597549438477	0.0	0.0	0.0	278
+-279	0.00124096870422363	0.0	0.0	0.0	279
+-280	0.00124382972717285	0.0	0.0	0.0	280
+-281	0.00125694274902344	0.0	0.0	0.0	281
+-282	0.00124812126159668	0.0	0.0	0.0	282
+-283	0.00124192237854004	0.0	0.0	0.0	283
+-284	0.001251220703125	0.0	0.0	0.0	284
+-285	0.00128316879272461	0.00999999999999979	0.00999999999999979	0.0	285
+-286	0.00124287605285645	0.0	0.0	0.0	286
+-287	0.00133800506591797	0.0	0.0	0.0	287
+-288	0.00124788284301758	0.0	0.0	0.0	288
+-289	0.0012509822845459	0.0	0.0	0.0	289
+-290	0.00124883651733398	0.0	0.0	0.0	290
+-291	0.00124502182006836	0.0	0.0	0.0	291
+-292	0.00124382972717285	0.0	0.0	0.0	292
+-293	0.00125908851623535	0.00999999999999979	0.00999999999999979	0.0	293
+-294	0.00126791000366211	0.0	0.0	0.0	294
+-295	0.0215630531311035	0.0200000000000005	0.0200000000000005	0.0	295
+-296	0.00352096557617188	0.0	0.0	0.0	296
+-297	0.00220417976379395	0.0	0.0	0.0	297
+-298	0.00125384330749512	0.00999999999999979	0.00999999999999979	0.0	298
+-299	0.00129985809326172	0.0	0.0	0.0	299
+-300	0.00123715400695801	0.0	0.0	0.0	300
+-301	0.00124096870422363	0.0	0.0	0.0	301
+-302	0.00124001502990723	0.0	0.0	0.0	302
+-303	0.00123405456542969	0.0	0.0	0.0	303
+-304	0.0012509822845459	0.0	0.0	0.0	304
+-305	0.0012509822845459	0.00999999999999979	0.00999999999999979	0.0	305
+-306	0.00125288963317871	0.0	0.0	0.0	306
+-307	0.00126099586486816	0.0	0.0	0.0	307
+-308	0.00124788284301758	0.0	0.0	0.0	308
+-309	0.00124907493591309	0.0	0.0	0.0	309
+-310	0.00124096870422363	0.0	0.0	0.0	310
+-311	0.00125002861022949	0.0	0.0	0.0	311
+-312	0.0012519359588623	0.0	0.0	0.0	312
+-313	0.00126314163208008	0.0100000000000007	0.0100000000000007	0.0	313
+-314	0.00124406814575195	0.0	0.0	0.0	314
+-315	0.00125789642333984	0.0	0.0	0.0	315
+-316	0.00128793716430664	0.0	0.0	0.0	316
+-317	0.0012509822845459	0.0	0.0	0.0	317
+-318	0.00156903266906738	0.0	0.0	0.0	318
+-319	0.00181221961975098	0.0	0.0	0.0	319
+-320	0.0018010139465332	0.00999999999999979	0.00999999999999979	0.0	320
+-321	0.00193095207214355	0.0	0.0	0.0	321
+-322	0.0014030933380127	0.0	0.0	0.0	322
+-323	0.0012519359588623	0.0	0.0	0.0	323
+-324	0.00121903419494629	0.0	0.0	0.0	324
+-325	0.00120687484741211	0.0	0.0	0.0	325
+-326	0.00123000144958496	0.0	0.0	0.0	326
+-327	0.00123095512390137	0.00999999999999979	0.00999999999999979	0.0	327
+-328	0.00124692916870117	0.0	0.0	0.0	328
+-329	0.00127005577087402	0.0	0.0	0.0	329
+-330	0.00124716758728027	0.0	0.0	0.0	330
+-331	0.00126481056213379	0.0	0.0	0.0	331
+-332	0.00125694274902344	0.0	0.0	0.0	332
+-333	0.00118613243103027	0.0	0.0	0.0	333
+-334	0.00124001502990723	0.0	0.0	0.0	334
+-335	0.00124812126159668	0.00999999999999979	0.00999999999999979	0.0	335
+-336	0.00126791000366211	0.0	0.0	0.0	336
+-337	0.00124692916870117	0.0	0.0	0.0	337
+-338	0.00124907493591309	0.0	0.0	0.0	338
+-339	0.00126218795776367	0.0	0.0	0.0	339
+-340	0.00124406814575195	0.0	0.0	0.0	340
+-341	0.0012359619140625	0.0	0.0	0.0	341
+-342	0.00125885009765625	0.0100000000000007	0.0100000000000007	0.0	342
+-343	0.00131320953369141	0.0	0.0	0.0	343
+-344	0.0012519359588623	0.0	0.0	0.0	344
+-345	0.00123691558837891	0.0	0.0	0.0	345
+-346	0.00125694274902344	0.0	0.0	0.0	346
+-347	0.00139403343200684	0.0	0.0	0.0	347
+-348	0.00127506256103516	0.0	0.0	0.0	348
+-349	0.00130009651184082	0.0	0.0	0.0	349
+-350	0.00128412246704102	0.00999999999999979	0.00999999999999979	0.0	350
+-351	0.00133395195007324	0.0	0.0	0.0	351
+-352	0.00152087211608887	0.0	0.0	0.0	352
+-353	0.0015110969543457	0.0	0.0	0.0	353
+-354	0.0320370197296143	0.0299999999999994	0.0299999999999994	0.0	354
+-355	0.00130319595336914	0.0	0.0	0.0	355
+-356	0.0012969970703125	0.0100000000000007	0.0100000000000007	0.0	356
+-357	0.00127792358398438	0.0	0.0	0.0	357
+-358	0.00127506256103516	0.0	0.0	0.0	358
+-359	0.00126791000366211	0.0	0.0	0.0	359
+-360	0.00126385688781738	0.0	0.0	0.0	360
+-361	0.00125694274902344	0.0	0.0	0.0	361
+-362	0.00125002861022949	0.0	0.0	0.0	362
+-363	0.00125598907470703	0.0	0.0	0.0	363
+-364	0.00125002861022949	0.00999999999999979	0.00999999999999979	0.0	364
+-365	0.00124692916870117	0.0	0.0	0.0	365
+-366	0.00125503540039062	0.0	0.0	0.0	366
+-367	0.00125217437744141	0.0	0.0	0.0	367
+-368	0.00124406814575195	0.0	0.0	0.0	368
+-369	0.00125789642333984	0.0	0.0	0.0	369
+-370	0.0012509822845459	0.0	0.0	0.0	370
+-371	0.00124287605285645	0.0	0.0	0.0	371
+-372	0.00124812126159668	0.00999999999999979	0.00999999999999979	0.0	372
+-373	0.00124692916870117	0.0	0.0	0.0	373
+-374	0.0012519359588623	0.0	0.0	0.0	374
+-375	0.0012519359588623	0.0	0.0	0.0	375
+-376	0.00125503540039062	0.0	0.0	0.0	376
+-377	0.00123691558837891	0.0	0.0	0.0	377
+-378	0.00123310089111328	0.0	0.0	0.0	378
+-379	0.00123190879821777	0.0	0.0	0.0	379
+-380	0.00124382972717285	0.00999999999999979	0.00999999999999979	0.0	380
+-381	0.00123906135559082	0.0	0.0	0.0	381
+-382	0.00124883651733398	0.0	0.0	0.0	382
+-383	0.00124192237854004	0.0	0.0	0.0	383
+-384	0.0012509822845459	0.0	0.0	0.0	384
+-385	0.00124406814575195	0.0	0.0	0.0	385
+-386	0.00123405456542969	0.0	0.0	0.0	386
+-387	0.00124788284301758	0.0100000000000007	0.0100000000000007	0.0	387
+-388	0.00125002861022949	0.0	0.0	0.0	388
+-389	0.00123214721679688	0.0	0.0	0.0	389
+-390	0.00123810768127441	0.0	0.0	0.0	390
+-391	0.00124287605285645	0.0	0.0	0.0	391
+-392	0.0012359619140625	0.0	0.0	0.0	392
+-393	0.00123405456542969	0.0	0.0	0.0	393
+-394	0.00124621391296387	0.0	0.0	0.0	394
+-395	0.00124907493591309	0.00999999999999979	0.00999999999999979	0.0	395
+-396	0.00124216079711914	0.0	0.0	0.0	396
+-397	0.00123190879821777	0.0	0.0	0.0	397
+-398	0.00139594078063965	0.0	0.0	0.0	398
+-399	0.0022280216217041	0.0	0.0	0.0	399
+-400	0.00197100639343262	0.0	0.0	0.0	400
+-401	0.00163888931274414	0.00999999999999979	0.00999999999999979	0.0	401
+-402	0.00142812728881836	0.0	0.0	0.0	402
+-403	0.00138711929321289	0.0	0.0	0.0	403
+-404	0.00148701667785645	0.0	0.0	0.0	404
+-405	0.00162696838378906	0.0	0.0	0.0	405
+-406	0.00157594680786133	0.0	0.0	0.0	406
+-407	0.00158596038818359	0.00999999999999979	0.00999999999999979	0.0	407
+-408	0.00186491012573242	0.0	0.0	0.0	408
+-409	0.0016481876373291	0.0	0.0	0.0	409
+-410	0.00135707855224609	0.0	0.0	0.0	410
+-411	0.00129485130310059	0.0	0.0	0.0	411
+-412	0.0299890041351318	0.0300000000000002	0.0300000000000002	0.0	412
+-413	0.00138497352600098	0.0	0.0	0.0	413
+-414	0.0013120174407959	0.0	0.0	0.0	414
+-415	0.00127696990966797	0.00999999999999979	0.00999999999999979	0.0	415
+-416	0.00128507614135742	0.0	0.0	0.0	416
+-417	0.00126981735229492	0.0	0.0	0.0	417
+-418	0.00126814842224121	0.0	0.0	0.0	418
+-419	0.00125718116760254	0.0	0.0	0.0	419
+-420	0.00125408172607422	0.0	0.0	0.0	420
+-421	0.0012509822845459	0.0	0.0	0.0	421
+-422	0.00124716758728027	0.0	0.0	0.0	422
+-423	0.00125408172607422	0.0100000000000007	0.0100000000000007	0.0	423
+-424	0.001251220703125	0.0	0.0	0.0	424
+-425	0.00124812126159668	0.0	0.0	0.0	425
+-426	0.00124692916870117	0.0	0.0	0.0	426
+-427	0.00124597549438477	0.0	0.0	0.0	427
+-428	0.001251220703125	0.0	0.0	0.0	428
+-429	0.00124311447143555	0.0	0.0	0.0	429
+-430	0.00124812126159668	0.00999999999999979	0.00999999999999979	0.0	430
+-431	0.00124311447143555	0.0	0.0	0.0	431
+-432	0.00125002861022949	0.0	0.0	0.0	432
+-433	0.00125002861022949	0.0	0.0	0.0	433
+-434	0.00125002861022949	0.0	0.0	0.0	434
+-435	0.00124502182006836	0.0	0.0	0.0	435
+-436	0.00124382972717285	0.0	0.0	0.0	436
+-437	0.00124812126159668	0.0	0.0	0.0	437
+-438	0.00124406814575195	0.00999999999999979	0.00999999999999979	0.0	438
+-439	0.00122785568237305	0.0	0.0	0.0	439
+-440	0.00123214721679688	0.0	0.0	0.0	440
+-441	0.00123691558837891	0.0	0.0	0.0	441
+-442	0.00124502182006836	0.0	0.0	0.0	442
+-443	0.00123405456542969	0.0	0.0	0.0	443
+-444	0.00124311447143555	0.0	0.0	0.0	444
+-445	0.00124382972717285	0.0	0.0	0.0	445
+-446	0.00123906135559082	0.00999999999999979	0.00999999999999979	0.0	446
+-447	0.00124096870422363	0.0	0.0	0.0	447
+-448	0.00124311447143555	0.0	0.0	0.0	448
+-449	0.00124788284301758	0.0	0.0	0.0	449
+-450	0.00123500823974609	0.0	0.0	0.0	450
+-451	0.00124096870422363	0.0	0.0	0.0	451
+-452	0.00123906135559082	0.0	0.0	0.0	452
+-453	0.00123500823974609	0.0	0.0	0.0	453
+-454	0.0012359619140625	0.0100000000000007	0.0100000000000007	0.0	454
+-455	0.00124192237854004	0.0	0.0	0.0	455
+-456	0.00124096870422363	0.0	0.0	0.0	456
+-457	0.00123405456542969	0.0	0.0	0.0	457
+-458	0.00124311447143555	0.0	0.0	0.0	458
+-459	0.00158381462097168	0.0	0.0	0.0	459
+-460	0.00182890892028809	0.0	0.0	0.0	460
+-461	0.00183510780334473	0.00999999999999979	0.00999999999999979	0.0	461
+-462	0.00188088417053223	0.0	0.0	0.0	462
+-463	0.00174307823181152	0.0	0.0	0.0	463
+-464	0.00124692916870117	0.0	0.0	0.0	464
+-465	0.00123906135559082	0.0	0.0	0.0	465
+-466	0.00124096870422363	0.0	0.0	0.0	466
+-467	0.00124311447143555	0.00999999999999979	0.00999999999999979	0.0	467
+-468	0.00125503540039062	0.0	0.0	0.0	468
+-469	0.00125908851623535	0.0	0.0	0.0	469
+-470	0.0304310321807861	0.0300000000000002	0.0300000000000002	0.0	470
+-471	0.00145387649536133	0.0	0.0	0.0	471
+-472	0.00129985809326172	0.0	0.0	0.0	472
+-473	0.00149822235107422	0.0	0.0	0.0	473
+-474	0.0015261173248291	0.0	0.0	0.0	474
+-475	0.00127696990966797	0.00999999999999979	0.00999999999999979	0.0	475
+-476	0.0012669563293457	0.0	0.0	0.0	476
+-477	0.00122594833374023	0.0	0.0	0.0	477
+-478	0.00125002861022949	0.0	0.0	0.0	478
+-479	0.00124478340148926	0.0	0.0	0.0	479
+-480	0.00125694274902344	0.0	0.0	0.0	480
+-481	0.001251220703125	0.0	0.0	0.0	481
+-482	0.0012509822845459	0.0	0.0	0.0	482
+-483	0.0012509822845459	0.00999999999999979	0.00999999999999979	0.0	483
+-484	0.00125288963317871	0.0	0.0	0.0	484
+-485	0.00125408172607422	0.0	0.0	0.0	485
+-486	0.00125718116760254	0.0	0.0	0.0	486
+-487	0.00124716758728027	0.0	0.0	0.0	487
+-488	0.00117087364196777	0.0	0.0	0.0	488
+-489	0.00124812126159668	0.0	0.0	0.0	489
+-490	0.00122618675231934	0.00999999999999979	0.00999999999999979	0.0	490
+-491	0.00125598907470703	0.0	0.0	0.0	491
+-492	0.00124311447143555	0.0	0.0	0.0	492
+-493	0.00124192237854004	0.0	0.0	0.0	493
+-494	0.00124692916870117	0.0	0.0	0.0	494
+-495	0.00123381614685059	0.0	0.0	0.0	495
+-496	0.00123691558837891	0.0	0.0	0.0	496
+-497	0.00123906135559082	0.0	0.0	0.0	497
+-498	0.00125718116760254	0.0100000000000007	0.0100000000000007	0.0	498
+-499	0.00124502182006836	0.0	0.0	0.0	499
+-500	0.00124788284301758	0.0	0.0	0.0	500
+-501	0.00124812126159668	0.0	0.0	0.0	501
+-502	0.00124096870422363	0.0	0.0	0.0	502
+-503	0.00124287605285645	0.0	0.0	0.0	503
+-504	0.00122690200805664	0.0	0.0	0.0	504
+-505	0.00124406814575195	0.0	0.0	0.0	505
+-506	0.00123786926269531	0.00999999999999979	0.00999999999999979	0.0	506
+-507	0.00124001502990723	0.0	0.0	0.0	507
+-508	0.0012519359588623	0.0	0.0	0.0	508
+-509	0.00124597549438477	0.0	0.0	0.0	509
+-510	0.00124311447143555	0.0	0.0	0.0	510
+-511	0.00124979019165039	0.0	0.0	0.0	511
+-512	0.00124502182006836	0.0	0.0	0.0	512
+-513	0.00124001502990723	0.0	0.0	0.0	513
+-514	0.00123810768127441	0.00999999999999979	0.00999999999999979	0.0	514
+-515	0.00125002861022949	0.0	0.0	0.0	515
+-516	0.00124812126159668	0.0	0.0	0.0	516
+-517	0.00124311447143555	0.0	0.0	0.0	517
+-518	0.00125288963317871	0.0	0.0	0.0	518
+-519	0.00124979019165039	0.0	0.0	0.0	519
+-520	0.00124192237854004	0.0	0.0	0.0	520
+-521	0.00124406814575195	0.0	0.0	0.0	521
+-522	0.00125622749328613	0.00999999999999979	0.00999999999999979	0.0	522
+-523	0.00124907493591309	0.0	0.0	0.0	523
+-524	0.00124692916870117	0.0	0.0	0.0	524
+-525	0.00125002861022949	0.0	0.0	0.0	525
+-526	0.0012671947479248	0.0	0.0	0.0	526
+-527	0.00126910209655762	0.0	0.0	0.0	527
+-528	0.0301029682159424	0.0300000000000002	0.0300000000000002	0.0	528
+-529	0.00129103660583496	0.0	0.0	0.0	529
+-530	0.00132203102111816	0.00999999999999979	0.00999999999999979	0.0	530
+-531	0.00127696990966797	0.0	0.0	0.0	531
+-532	0.00128507614135742	0.0	0.0	0.0	532
+-533	0.00127196311950684	0.0	0.0	0.0	533
+-534	0.00127100944519043	0.0	0.0	0.0	534
+-535	0.00126886367797852	0.0	0.0	0.0	535
+-536	0.00125789642333984	0.0	0.0	0.0	536
+-537	0.00124311447143555	0.0	0.0	0.0	537
+-538	0.0012509822845459	0.0100000000000007	0.0100000000000007	0.0	538
+-539	0.00125908851623535	0.0	0.0	0.0	539
+-540	0.00124788284301758	0.0	0.0	0.0	540
+-541	0.00125002861022949	0.0	0.0	0.0	541
+-542	0.0012671947479248	0.0	0.0	0.0	542
+-543	0.00125312805175781	0.0	0.0	0.0	543
+-544	0.00125885009765625	0.0	0.0	0.0	544
+-545	0.00125503540039062	0.00999999999999979	0.00999999999999979	0.0	545
+-546	0.00126099586486816	0.0	0.0	0.0	546
+-547	0.00126218795776367	0.0	0.0	0.0	547
+-548	0.00124883651733398	0.0	0.0	0.0	548
+-549	0.00126099586486816	0.0	0.0	0.0	549
+-550	0.00126194953918457	0.0	0.0	0.0	550
+-551	0.00119996070861816	0.0	0.0	0.0	551
+-552	0.00124883651733398	0.0	0.0	0.0	552
+-553	0.00124192237854004	0.00999999999999979	0.00999999999999979	0.0	553
+-554	0.00124382972717285	0.0	0.0	0.0	554
+-555	0.00124311447143555	0.0	0.0	0.0	555
+-556	0.00123500823974609	0.0	0.0	0.0	556
+-557	0.0012359619140625	0.0	0.0	0.0	557
+-558	0.00123882293701172	0.0	0.0	0.0	558
+-559	0.0012519359588623	0.0	0.0	0.0	559
+-560	0.00124716758728027	0.0	0.0	0.0	560
+-561	0.00124406814575195	0.0	0.0	0.0	561
+-562	0.00124812126159668	0.00999999999999979	0.00999999999999979	0.0	562
+-563	0.00129103660583496	0.0	0.0	0.0	563
+-564	0.00124001502990723	0.0	0.0	0.0	564
+-565	0.00124406814575195	0.0	0.0	0.0	565
+-566	0.00125789642333984	0.0	0.0	0.0	566
+-567	0.00124406814575195	0.0	0.0	0.0	567
+-568	0.00123500823974609	0.0	0.0	0.0	568
+-569	0.00124311447143555	0.0	0.0	0.0	569
+-570	0.00124096870422363	0.0	0.0	0.0	570
+-571	0.00124001502990723	0.0	0.0	0.0	571
+-572	0.00123786926269531	0.0	0.0	0.0	572
+-573	0.00125288963317871	0.0	0.0	0.0	573
+-574	0.00124502182006836	0.0	0.0	0.0	574
+-575	0.00124192237854004	0.0	0.0	0.0	575
+-576	0.00124502182006836	0.0	0.0	0.0	576
+-577	0.00125479698181152	0.00999999999999979	0.00999999999999979	0.0	577
+-578	0.00124502182006836	0.0	0.0	0.0	578
+-579	0.00124502182006836	0.0	0.0	0.0	579
+-580	0.00124692916870117	0.0	0.0	0.0	580
+-581	0.00123095512390137	0.0	0.0	0.0	581
+-582	0.00124287605285645	0.0	0.0	0.0	582
+-583	0.00125288963317871	0.0	0.0	0.0	583
+-584	0.0012669563293457	0.0	0.0	0.0	584
+-585	0.00127005577087402	0.00999999999999979	0.00999999999999979	0.0	585
+-586	0.0311369895935059	0.0300000000000002	0.0300000000000002	0.0	586
+-587	0.00198984146118164	0.0	0.0	0.0	587
+-588	0.00141692161560059	0.0	0.0	0.0	588
+-589	0.00131011009216309	0.0	0.0	0.0	589
+-590	0.0012810230255127	0.0	0.0	0.0	590
+-591	0.00123500823974609	0.0	0.0	0.0	591
+-592	0.00117397308349609	0.00999999999999979	0.00999999999999979	0.0	592
+-593	0.00125908851623535	0.0	0.0	0.0	593
+-594	0.00126194953918457	0.0	0.0	0.0	594
+-595	0.00124597549438477	0.0	0.0	0.0	595
+-596	0.00124692916870117	0.0	0.0	0.0	596
+-597	0.00125479698181152	0.0	0.0	0.0	597
+-598	0.00127911567687988	0.0	0.0	0.0	598
+-599	0.00125789642333984	0.0	0.0	0.0	599
+-600	0.00124406814575195	0.00999999999999979	0.00999999999999979	0.0	600
+-601	0.00124907493591309	0.0	0.0	0.0	601
+-602	0.00124216079711914	0.0	0.0	0.0	602
+-603	0.00124907493591309	0.0	0.0	0.0	603
+-604	0.00125384330749512	0.0	0.0	0.0	604
+-605	0.00125694274902344	0.0	0.0	0.0	605
+-606	0.00124192237854004	0.0	0.0	0.0	606
+-607	0.00124502182006836	0.0	0.0	0.0	607
+-608	0.0012509822845459	0.0100000000000007	0.0100000000000007	0.0	608
+-609	0.00123906135559082	0.0	0.0	0.0	609
+-610	0.0014030933380127	0.0	0.0	0.0	610
+-611	0.00124883651733398	0.0	0.0	0.0	611
+-612	0.00135397911071777	0.0	0.0	0.0	612
+-613	0.00174593925476074	0.0	0.0	0.0	613
+-614	0.00124716758728027	0.0	0.0	0.0	614
+-615	0.00124812126159668	0.00999999999999979	0.00999999999999979	0.0	615
+-616	0.00125503540039062	0.0	0.0	0.0	616
+-617	0.00140786170959473	0.0	0.0	0.0	617
+-618	0.00125312805175781	0.0	0.0	0.0	618
+-619	0.0012509822845459	0.0	0.0	0.0	619
+-620	0.00124096870422363	0.0	0.0	0.0	620
+-621	0.0012359619140625	0.0	0.0	0.0	621
+-622	0.00124382972717285	0.00999999999999979	0.00999999999999979	0.0	622
+-623	0.00124406814575195	0.0	0.0	0.0	623
+-624	0.00123000144958496	0.0	0.0	0.0	624
+-625	0.00124001502990723	0.0	0.0	0.0	625
+-626	0.00124001502990723	0.0	0.0	0.0	626
+-627	0.00124001502990723	0.0	0.0	0.0	627
+-628	0.00125885009765625	0.0	0.0	0.0	628
+-629	0.00124907493591309	0.0	0.0	0.0	629
+-630	0.00124192237854004	0.00999999999999979	0.00999999999999979	0.0	630
+-631	0.00124406814575195	0.0	0.0	0.0	631
+-632	0.0012519359588623	0.0	0.0	0.0	632
+-633	0.00124502182006836	0.0	0.0	0.0	633
+-634	0.00124287605285645	0.0	0.0	0.0	634
+-635	0.00123906135559082	0.0	0.0	0.0	635
+-636	0.00124621391296387	0.0	0.0	0.0	636
+-637	0.00124502182006836	0.0	0.0	0.0	637
+-638	0.00124692916870117	0.00999999999999979	0.00999999999999979	0.0	638
+-639	0.0012509822845459	0.0	0.0	0.0	639
+-640	0.00132584571838379	0.0	0.0	0.0	640
+-641	0.00126409530639648	0.0	0.0	0.0	641
+-642	0.00126504898071289	0.0	0.0	0.0	642
+-643	0.00127911567687988	0.0	0.0	0.0	643
+-644	0.0240340232849121	0.0300000000000002	0.0300000000000002	0.0	644
+-645	0.0101561546325684	0.00999999999999979	0.00999999999999979	0.0	645
+-646	0.00133299827575684	0.0	0.0	0.0	646
+-647	0.00129604339599609	0.0	0.0	0.0	647
+-648	0.00124382972717285	0.0	0.0	0.0	648
+-649	0.00127410888671875	0.0	0.0	0.0	649
+-650	0.00126409530639648	0.0	0.0	0.0	650
+-651	0.0012519359588623	0.0	0.0	0.0	651
+-652	0.00124597549438477	0.0100000000000007	0.0100000000000007	0.0	652
+-653	0.000922918319702148	0.0	0.0	0.0	653
+-654	0.00125503540039062	0.0	0.0	0.0	654
+-655	0.00124287605285645	0.0	0.0	0.0	655
+-656	0.00124692916870117	0.0	0.0	0.0	656
+-657	0.00126004219055176	0.0	0.0	0.0	657
+-658	0.00125384330749512	0.0	0.0	0.0	658
+-659	0.0013279914855957	0.0	0.0	0.0	659
+-660	0.00124502182006836	0.00999999999999979	0.00999999999999979	0.0	660
+-661	0.00125598907470703	0.0	0.0	0.0	661
+-662	0.00124192237854004	0.0	0.0	0.0	662
+-663	0.00124096870422363	0.0	0.0	0.0	663
+-664	0.00125312805175781	0.0	0.0	0.0	664
+-665	0.00124692916870117	0.0	0.0	0.0	665
+-666	0.00124597549438477	0.0	0.0	0.0	666
+-667	0.00123977661132812	0.0	0.0	0.0	667
+-668	0.00124406814575195	0.0	0.0	0.0	668
+-669	0.00123500823974609	0.0	0.0	0.0	669
+-670	0.00124502182006836	0.0	0.0	0.0	670
+-671	0.00124502182006836	0.0	0.0	0.0	671
+-672	0.00124382972717285	0.0	0.0	0.0	672
+-673	0.00123190879821777	0.0	0.0	0.0	673
+-674	0.00123500823974609	0.0	0.0	0.0	674
+-675	0.00124692916870117	0.00999999999999979	0.00999999999999979	0.0	675
+-676	0.00123310089111328	0.0	0.0	0.0	676
+-677	0.00123095512390137	0.0	0.0	0.0	677
+-678	0.00124192237854004	0.0	0.0	0.0	678
+-679	0.00122690200805664	0.0	0.0	0.0	679
+-680	0.00123286247253418	0.0	0.0	0.0	680
+-681	0.00124096870422363	0.0	0.0	0.0	681
+-682	0.00124192237854004	0.0	0.0	0.0	682
+-683	0.00124692916870117	0.0100000000000007	0.0100000000000007	0.0	683
+-684	0.0012359619140625	0.0	0.0	0.0	684
+-685	0.00123286247253418	0.0	0.0	0.0	685
+-686	0.00124001502990723	0.0	0.0	0.0	686
+-687	0.00124001502990723	0.0	0.0	0.0	687
+-688	0.00123786926269531	0.0	0.0	0.0	688
+-689	0.00125002861022949	0.0	0.0	0.0	689
+-690	0.00124907493591309	0.0	0.0	0.0	690
+-691	0.00129103660583496	0.00999999999999979	0.00999999999999979	0.0	691
+-692	0.00124311447143555	0.0	0.0	0.0	692
+-693	0.00129890441894531	0.0	0.0	0.0	693
+-694	0.00130796432495117	0.0	0.0	0.0	694
+-695	0.00123500823974609	0.0	0.0	0.0	695
+-696	0.00124716758728027	0.0	0.0	0.0	696
+-697	0.00123906135559082	0.0	0.0	0.0	697
+-698	0.00124287605285645	0.0	0.0	0.0	698
+-699	0.00127696990966797	0.00999999999999979	0.00999999999999979	0.0	699
+-700	0.00124907493591309	0.0	0.0	0.0	700
+-701	0.0300769805908203	0.0300000000000002	0.0300000000000002	0.0	701
+-702	0.0012669563293457	0.0	0.0	0.0	702
+-703	0.00174999237060547	0.0	0.0	0.0	703
+-704	0.00131797790527344	0.0	0.0	0.0	704
+-705	0.00130391120910645	0.0	0.0	0.0	705
+-706	0.00126886367797852	0.0	0.0	0.0	706
+-707	0.00127601623535156	0.00999999999999979	0.00999999999999979	0.0	707
+-708	0.00125503540039062	0.0	0.0	0.0	708
+-709	0.00125312805175781	0.0	0.0	0.0	709
+-710	0.00124597549438477	0.0	0.0	0.0	710
+-711	0.00125217437744141	0.0	0.0	0.0	711
+-712	0.00124311447143555	0.0	0.0	0.0	712
+-713	0.00124287605285645	0.0	0.0	0.0	713
+-714	0.00125503540039062	0.00999999999999979	0.00999999999999979	0.0	714
+-715	0.0012519359588623	0.0	0.0	0.0	715
+-716	0.00124502182006836	0.0	0.0	0.0	716
+-717	0.00124502182006836	0.0	0.0	0.0	717
+-718	0.00126814842224121	0.0	0.0	0.0	718
+-719	0.00124883651733398	0.0	0.0	0.0	719
+-720	0.00124812126159668	0.0	0.0	0.0	720
+-721	0.00125408172607422	0.0	0.0	0.0	721
+-722	0.00125694274902344	0.0100000000000007	0.0100000000000007	0.0	722
+-723	0.00125002861022949	0.0	0.0	0.0	723
+-724	0.0012509822845459	0.0	0.0	0.0	724
+-725	0.00124502182006836	0.0	0.0	0.0	725
+-726	0.00115799903869629	0.0	0.0	0.0	726
+-727	0.00148391723632812	0.0	0.0	0.0	727
+-728	0.00177001953125	0.0	0.0	0.0	728
+-729	0.00183606147766113	0.00999999999999979	0.00999999999999979	0.0	729
+-730	0.00171613693237305	0.0	0.0	0.0	730
+-731	0.00128793716430664	0.0	0.0	0.0	731
+-732	0.000819921493530273	0.0	0.0	0.0	732
+-733	0.00124001502990723	0.0	0.0	0.0	733
+-734	0.00124692916870117	0.0	0.0	0.0	734
+-735	0.00124001502990723	0.0	0.0	0.0	735
+-736	0.00123882293701172	0.0	0.0	0.0	736
+-737	0.00124597549438477	0.00999999999999979	0.00999999999999979	0.0	737
+-738	0.00124502182006836	0.0	0.0	0.0	738
+-739	0.00124096870422363	0.0	0.0	0.0	739
+-740	0.00124502182006836	0.0	0.0	0.0	740
+-741	0.00124096870422363	0.0	0.0	0.0	741
+-742	0.00124287605285645	0.0	0.0	0.0	742
+-743	0.00124096870422363	0.0	0.0	0.0	743
+-744	0.00124692916870117	0.00999999999999979	0.00999999999999979	0.0	744
+-745	0.00138497352600098	0.0	0.0	0.0	745
+-746	0.00129485130310059	0.0	0.0	0.0	746
+-747	0.0012509822845459	0.0	0.0	0.0	747
+-748	0.00124907493591309	0.0	0.0	0.0	748
+-749	0.00123500823974609	0.0	0.0	0.0	749
+-750	0.00124621391296387	0.0	0.0	0.0	750
+-751	0.00124096870422363	0.0	0.0	0.0	751
+-752	0.00123810768127441	0.0100000000000007	0.0100000000000007	0.0	752
+-753	0.00124287605285645	0.0	0.0	0.0	753
+-754	0.00124716758728027	0.0	0.0	0.0	754
+-755	0.00124311447143555	0.0	0.0	0.0	755
+-756	0.00124883651733398	0.0	0.0	0.0	756
+-757	0.0014030933380127	0.0	0.0	0.0	757
+-758	0.0220100879669189	0.0199999999999996	0.0199999999999996	0.0	758
+-759	0.00328278541564941	0.00999999999999979	0.00999999999999979	0.0	759
+-760	0.00999212265014648	0.00999999999999979	0.00999999999999979	0.0	760
+-761	0.00151991844177246	0.0	0.0	0.0	761
+-762	0.00131011009216309	0.0	0.0	0.0	762
+-763	0.00128889083862305	0.0	0.0	0.0	763
+-764	0.0012819766998291	0.0	0.0	0.0	764
+-765	0.0012819766998291	0.0	0.0	0.0	765
+-766	0.00126886367797852	0.0100000000000007	0.0100000000000007	0.0	766
+-767	0.00125288963317871	0.0	0.0	0.0	767
+-768	0.00125408172607422	0.0	0.0	0.0	768
+-769	0.00125718116760254	0.0	0.0	0.0	769
+-770	0.00125384330749512	0.0	0.0	0.0	770
+-771	0.00125002861022949	0.0	0.0	0.0	771
+-772	0.00124406814575195	0.0	0.0	0.0	772
+-773	0.00125002861022949	0.00999999999999979	0.00999999999999979	0.0	773
+-774	0.0012509822845459	0.0	0.0	0.0	774
+-775	0.00124502182006836	0.0	0.0	0.0	775
+-776	0.00124788284301758	0.0	0.0	0.0	776
+-777	0.00125408172607422	0.0	0.0	0.0	777
+-778	0.00125288963317871	0.0	0.0	0.0	778
+-779	0.00124788284301758	0.0	0.0	0.0	779
+-780	0.00124287605285645	0.0	0.0	0.0	780
+-781	0.00125694274902344	0.00999999999999979	0.00999999999999979	0.0	781
+-782	0.00124096870422363	0.0	0.0	0.0	782
+-783	0.00123691558837891	0.0	0.0	0.0	783
+-784	0.00124287605285645	0.0	0.0	0.0	784
+-785	0.00124597549438477	0.0	0.0	0.0	785
+-786	0.00123786926269531	0.0	0.0	0.0	786
+-787	0.00124502182006836	0.0	0.0	0.0	787
+-788	0.00124096870422363	0.0	0.0	0.0	788
+-789	0.00124096870422363	0.00999999999999979	0.00999999999999979	0.0	789
+-790	0.00123500823974609	0.0	0.0	0.0	790
+-791	0.00124001502990723	0.0	0.0	0.0	791
+-792	0.00124001502990723	0.0	0.0	0.0	792
+-793	0.00123000144958496	0.0	0.0	0.0	793
+-794	0.00124406814575195	0.0	0.0	0.0	794
+-795	0.00123691558837891	0.0	0.0	0.0	795
+-796	0.00123286247253418	0.0	0.0	0.0	796
+-797	0.00123906135559082	0.0100000000000007	0.0100000000000007	0.0	797
+-798	0.00120997428894043	0.0	0.0	0.0	798
+-799	0.00156807899475098	0.0	0.0	0.0	799
+-800	0.00123286247253418	0.0	0.0	0.0	800
+-801	0.00125002861022949	0.0	0.0	0.0	801
+-802	0.0012199878692627	0.0	0.0	0.0	802
+-803	0.00123405456542969	0.0	0.0	0.0	803
+-804	0.0012519359588623	0.00999999999999979	0.00999999999999979	0.0	804
+-805	0.00124192237854004	0.0	0.0	0.0	805
+-806	0.00124406814575195	0.0	0.0	0.0	806
+-807	0.00124001502990723	0.0	0.0	0.0	807
+-808	0.00124692916870117	0.0	0.0	0.0	808
+-809	0.00125002861022949	0.0	0.0	0.0	809
+-810	0.00125312805175781	0.0	0.0	0.0	810
+-811	0.00126981735229492	0.0	0.0	0.0	811
+-812	0.00124001502990723	0.00999999999999979	0.00999999999999979	0.0	812
+-813	0.00124597549438477	0.0	0.0	0.0	813
+-814	0.00126290321350098	0.0	0.0	0.0	814
+-815	0.0310249328613281	0.0300000000000002	0.0300000000000002	0.0	815
+-816	0.000841140747070312	0.0	0.0	0.0	816
+-817	0.000878095626831055	0.0	0.0	0.0	817
+-818	0.000874042510986328	0.0	0.0	0.0	818
+-819	0.000869035720825195	0.0	0.0	0.0	819
+-820	0.0012819766998291	0.0	0.0	0.0	820
+-821	0.00133609771728516	0.00999999999999979	0.00999999999999979	0.0	821
+-822	0.0012660026550293	0.0	0.0	0.0	822
+-823	0.0013270378112793	0.0	0.0	0.0	823
+-824	0.00125718116760254	0.0	0.0	0.0	824
+-825	0.00124907493591309	0.0	0.0	0.0	825
+-826	0.00137901306152344	0.0	0.0	0.0	826
+-827	0.00125503540039062	0.0	0.0	0.0	827
+-828	0.0012509822845459	0.0	0.0	0.0	828
+-829	0.00126791000366211	0.00999999999999979	0.00999999999999979	0.0	829
+-830	0.00128698348999023	0.0	0.0	0.0	830
+-831	0.00125598907470703	0.0	0.0	0.0	831
+-832	0.00135207176208496	0.0	0.0	0.0	832
+-833	0.000869035720825195	0.0	0.0	0.0	833
+-834	0.00125503540039062	0.0	0.0	0.0	834
+-835	0.0012519359588623	0.0	0.0	0.0	835
+-836	0.00126004219055176	0.0	0.0	0.0	836
+-837	0.00126099586486816	0.0100000000000007	0.0100000000000007	0.0	837
+-838	0.00181698799133301	0.0	0.0	0.0	838
+-839	0.00126290321350098	0.0	0.0	0.0	839
+-840	0.00124096870422363	0.0	0.0	0.0	840
+-841	0.00118899345397949	0.0	0.0	0.0	841
+-842	0.00124096870422363	0.0	0.0	0.0	842
+-843	0.00123286247253418	0.0	0.0	0.0	843
+-844	0.00165700912475586	0.00999999999999979	0.00999999999999979	0.0	844
+-845	0.00125789642333984	0.0	0.0	0.0	845
+-846	0.00123405456542969	0.0	0.0	0.0	846
+-847	0.00123095512390137	0.0	0.0	0.0	847
+-848	0.0012509822845459	0.0	0.0	0.0	848
+-849	0.00123906135559082	0.0	0.0	0.0	849
+-850	0.00165104866027832	0.0	0.0	0.0	850
+-851	0.00123906135559082	0.00999999999999979	0.00999999999999979	0.0	851
+-852	0.00123786926269531	0.0	0.0	0.0	852
+-853	0.00120902061462402	0.0	0.0	0.0	853
+-854	0.00130009651184082	0.0	0.0	0.0	854
+-855	0.00124502182006836	0.0	0.0	0.0	855
+-856	0.0016329288482666	0.0	0.0	0.0	856
+-857	0.0012509822845459	0.0	0.0	0.0	857
+-858	0.00124692916870117	0.0	0.0	0.0	858
+-859	0.00129890441894531	0.00999999999999979	0.00999999999999979	0.0	859
+-860	0.00123786926269531	0.0	0.0	0.0	860
+-861	0.00123786926269531	0.0	0.0	0.0	861
+-862	0.0016181468963623	0.0	0.0	0.0	862
+-863	0.00124192237854004	0.0	0.0	0.0	863
+-864	0.00124692916870117	0.0	0.0	0.0	864
+-865	0.00124597549438477	0.0	0.0	0.0	865
+-866	0.00124478340148926	0.0100000000000007	0.0100000000000007	0.0	866
+-867	0.00123500823974609	0.0	0.0	0.0	867
+-868	0.00165414810180664	0.0	0.0	0.0	868
+-869	0.00124502182006836	0.0	0.0	0.0	869
+-870	0.0012669563293457	0.0	0.0	0.0	870
+-871	0.0018620491027832	0.0	0.0	0.0	871
+-872	0.0325958728790283	0.04	0.04	0.0	872
+-873	0.000857114791870117	0.0	0.0	0.0	873
+-874	0.00117611885070801	0.0	0.0	0.0	874
+-875	0.000876903533935547	0.0	0.0	0.0	875
+-876	0.00108814239501953	0.0	0.0	0.0	876
+-877	0.00129008293151855	0.0	0.0	0.0	877
+-878	0.00138592720031738	0.0	0.0	0.0	878
+-879	0.00126004219055176	0.0	0.0	0.0	879
+-880	0.00133490562438965	0.00999999999999979	0.00999999999999979	0.0	880
+-881	0.00133109092712402	0.0	0.0	0.0	881
+-882	0.00126004219055176	0.0	0.0	0.0	882
+-883	0.00134086608886719	0.0	0.0	0.0	883
+-884	0.00124907493591309	0.0	0.0	0.0	884
+-885	0.00122594833374023	0.0	0.0	0.0	885
+-886	0.00130510330200195	0.0	0.0	0.0	886
+-887	0.00134396553039551	0.0	0.0	0.0	887
+-888	0.00126194953918457	0.00999999999999979	0.00999999999999979	0.0	888
+-889	0.00120782852172852	0.0	0.0	0.0	889
+-890	0.00124692916870117	0.0	0.0	0.0	890
+-891	0.00125813484191895	0.0	0.0	0.0	891
+-892	0.0012509822845459	0.0	0.0	0.0	892
+-893	0.00136804580688477	0.0	0.0	0.0	893
+-894	0.00125718116760254	0.0	0.0	0.0	894
+-895	0.00125312805175781	0.00999999999999979	0.00999999999999979	0.0	895
+-896	0.00126218795776367	0.0	0.0	0.0	896
+-897	0.00123286247253418	0.0	0.0	0.0	897
+-898	0.00124406814575195	0.0	0.0	0.0	898
+-899	0.00131702423095703	0.0	0.0	0.0	899
+-900	0.00123405456542969	0.0	0.0	0.0	900
+-901	0.00121402740478516	0.0	0.0	0.0	901
+-902	0.00123882293701172	0.0	0.0	0.0	902
+-903	0.00123310089111328	0.00999999999999979	0.00999999999999979	0.0	903
+-904	0.00124096870422363	0.0	0.0	0.0	904
+-905	0.00147390365600586	0.0	0.0	0.0	905
+-906	0.0012509822845459	0.0	0.0	0.0	906
+-907	0.00124692916870117	0.0	0.0	0.0	907
+-908	0.00124907493591309	0.0	0.0	0.0	908
+-909	0.00124597549438477	0.0	0.0	0.0	909
+-910	0.00124001502990723	0.0	0.0	0.0	910
+-911	0.00142002105712891	0.0100000000000007	0.0100000000000007	0.0	911
+-912	0.00124502182006836	0.0	0.0	0.0	912
+-913	0.00124502182006836	0.0	0.0	0.0	913
+-914	0.0012819766998291	0.0	0.0	0.0	914
+-915	0.00123786926269531	0.0	0.0	0.0	915
+-916	0.00124287605285645	0.0	0.0	0.0	916
+-917	0.00142312049865723	0.0	0.0	0.0	917
+-918	0.0012509822845459	0.00999999999999979	0.00999999999999979	0.0	918
+-919	0.00124502182006836	0.0	0.0	0.0	919
+-920	0.00124692916870117	0.0	0.0	0.0	920
+-921	0.00124192237854004	0.0	0.0	0.0	921
+-922	0.00119709968566895	0.0	0.0	0.0	922
+-923	0.00140190124511719	0.0	0.0	0.0	923
+-924	0.00125002861022949	0.0	0.0	0.0	924
+-925	0.00124502182006836	0.0	0.0	0.0	925
+-926	0.00124597549438477	0.00999999999999979	0.00999999999999979	0.0	926
+-927	0.00127720832824707	0.0	0.0	0.0	927
+-928	0.00126409530639648	0.0	0.0	0.0	928
+-929	0.0312209129333496	0.0300000000000002	0.0300000000000002	0.0	929
+-930	0.00214791297912598	0.0	0.0	0.0	930
+-931	0.00183796882629395	0.0	0.0	0.0	931
+-932	0.00143814086914062	0.00999999999999979	0.00999999999999979	0.0	932
+-933	0.00145792961120605	0.0	0.0	0.0	933
+-934	0.00152087211608887	0.0	0.0	0.0	934
+-935	0.00213003158569336	0.0	0.0	0.0	935
+-936	0.00166201591491699	0.0	0.0	0.0	936
+-937	0.0016930103302002	0.0	0.0	0.0	937
+-938	0.00139403343200684	0.00999999999999979	0.00999999999999979	0.0	938
+-939	0.00214695930480957	0.0	0.0	0.0	939
+-940	0.00102400779724121	0.0	0.0	0.0	940
+-941	0.0012660026550293	0.0	0.0	0.0	941
+-942	0.00126004219055176	0.0	0.0	0.0	942
+-943	0.00126194953918457	0.0	0.0	0.0	943
+-944	0.00125813484191895	0.0	0.0	0.0	944
+-945	0.00152897834777832	0.0100000000000007	0.0100000000000007	0.0	945
+-946	0.0012669563293457	0.0	0.0	0.0	946
+-947	0.00125408172607422	0.0	0.0	0.0	947
+-948	0.00125980377197266	0.0	0.0	0.0	948
+-949	0.00126481056213379	0.0	0.0	0.0	949
+-950	0.00125908851623535	0.0	0.0	0.0	950
+-951	0.00138092041015625	0.0	0.0	0.0	951
+-952	0.00125384330749512	0.00999999999999979	0.00999999999999979	0.0	952
+-953	0.00108504295349121	0.0	0.0	0.0	953
+-954	0.0012509822845459	0.0	0.0	0.0	954
+-955	0.00125980377197266	0.0	0.0	0.0	955
+-956	0.00131511688232422	0.0	0.0	0.0	956
+-957	0.00130796432495117	0.0	0.0	0.0	957
+-958	0.00124597549438477	0.0	0.0	0.0	958
+-959	0.00125002861022949	0.0	0.0	0.0	959
+-960	0.00124287605285645	0.00999999999999979	0.00999999999999979	0.0	960
+-961	0.00124812126159668	0.0	0.0	0.0	961
+-962	0.0012509822845459	0.0	0.0	0.0	962
+-963	0.00130891799926758	0.0	0.0	0.0	963
+-964	0.00123500823974609	0.0	0.0	0.0	964
+-965	0.00124096870422363	0.0	0.0	0.0	965
+-966	0.00124883651733398	0.0	0.0	0.0	966
+-967	0.00124192237854004	0.0	0.0	0.0	967
+-968	0.00124502182006836	0.00999999999999979	0.00999999999999979	0.0	968
+-969	0.00124597549438477	0.0	0.0	0.0	969
+-970	0.00130796432495117	0.0	0.0	0.0	970
+-971	0.00124716758728027	0.0	0.0	0.0	971
+-972	0.00125408172607422	0.0	0.0	0.0	972
+-973	0.00125384330749512	0.0	0.0	0.0	973
+-974	0.00124907493591309	0.0	0.0	0.0	974
+-975	0.00124502182006836	0.0	0.0	0.0	975
+-976	0.00131011009216309	0.0100000000000007	0.0100000000000007	0.0	976
+-977	0.00125384330749512	0.0	0.0	0.0	977
+-978	0.00124597549438477	0.0	0.0	0.0	978
+-979	0.00125503540039062	0.0	0.0	0.0	979
+-980	0.00125384330749512	0.0	0.0	0.0	980
+-981	0.0012509822845459	0.0	0.0	0.0	981
+-982	0.00131988525390625	0.0	0.0	0.0	982
+-983	0.00126099586486816	0.00999999999999979	0.00999999999999979	0.0	983
+-984	0.00126004219055176	0.0	0.0	0.0	984
+-985	0.00127100944519043	0.0	0.0	0.0	985
+-986	0.0304250717163086	0.0300000000000002	0.0300000000000002	0.0	986
+-987	0.00131678581237793	0.0	0.0	0.0	987
+-988	0.00130200386047363	0.0	0.0	0.0	988
+-989	0.00139880180358887	0.0	0.0	0.0	989
+-990	0.00517010688781738	0.0	0.0	0.0	990
+-991	0.00128984451293945	0.00999999999999979	0.00999999999999979	0.0	991
+-992	0.00125789642333984	0.0	0.0	0.0	992
+-993	0.00152301788330078	0.0	0.0	0.0	993
+-994	0.00125598907470703	0.0	0.0	0.0	994
+-995	0.00125312805175781	0.0	0.0	0.0	995
+-996	0.00125312805175781	0.0	0.0	0.0	996
+-997	0.00125598907470703	0.0	0.0	0.0	997
+-998	0.00134396553039551	0.0	0.0	0.0	998
+-999	0.00124979019165039	0.00999999999999979	0.00999999999999979	0.0	999
+-1000	0.00125598907470703	0.0	0.0	0.0	1000
+diff --git a/lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkExt.log b/lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkExt.log
+deleted file mode 100644
+index ca6c64e..0000000
+--- a/lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkExt.log
++++ /dev/null
+@@ -1,81 +0,0 @@
+-========================== 2009-04-01T16:49:42 CEST ===========================
+-Benchmarking on ruby 1.8.6 (2008-08-11 patchlevel 287) [i686-linux].
+-Running 'ParserBenchmarkExt' for 1000 iterations/method (compare_time=real)
+-===============================================================================
+-
+-This first run is only for warmup.
+-ParserBenchmarkExt#parser:
+-                  real             total              user            system 
+-sum        1.733042240       1.770000000       1.760000000       0.010000000 
+-min        0.000833988       0.000000000       0.000000000       0.000000000 
+-std-      -0.001838092      -0.003229209      -0.003232727      -0.000306228 
+-mean       0.001733042       0.001770000       0.001760000       0.000010000 
+-std+       0.005304177       0.006769209       0.006752727       0.000326228 
+-max        0.032314062       0.040000000       0.040000000       0.010000000 
+-std        0.003571134       0.004999209       0.004992727       0.000316228 
+-std%     206.061583704     282.441194727     283.677695666    3162.277660168 
+-harm       0.001283614               nan               nan               nan 
+-geo        0.001337350       0.000000000       0.000000000       0.000000000 
+-q1         0.001236916       0.000000000       0.000000000       0.000000000 
+-med        0.001246929       0.000000000       0.000000000       0.000000000 
+-q3         0.001260996       0.000000000       0.000000000       0.000000000 
+-                  1000         577.01998       0.001733042
+-                 calls         calls/sec         secs/call
+-
+-    0.03074 -|*
+-    0.02759 -|
+-    0.02444 -|
+-    0.02130 -|
+-    0.01815 -|
+-    0.01500 -|
+-    0.01185 -|
+-    0.00870 -|
+-    0.00556 -|
+-    0.00241 -|**************************************************
+-
+-Outliers detected with box plot algo (median=0.00125, iqr=0.00002, factor=3.00):
+-very_low=32 low=15 high=77 very_high=135
+-
+-Ljung-Box statistics: q=13.14182 (alpha=0.05, df=50).
+-0.00000 < 0.95000 => No autocorrelation was detected.
+-
+-ParserBenchmarkExt#parser:
+-                  real             total              user            system 
+-sum        1.624776602       1.620000000       1.620000000       0.000000000 
+-min        0.000819921       0.000000000       0.000000000       0.000000000 
+-std-      -0.001936067      -0.003223194      -0.003223194       0.000000000 
+-mean       0.001805307       0.001800000       0.001800000       0.000000000 
+-std+       0.005546681       0.006823194       0.006823194       0.000000000 
+-max        0.032595873       0.040000000       0.040000000       0.000000000 
+-std        0.003741374       0.005023194       0.005023194       0.000000000 
+-std%     207.243050150     279.066347558     279.066347558               nan 
+-harm       0.001297084               nan               nan               nan 
+-geo        0.001358799       0.000000000       0.000000000       0.000000000 
+-q1         0.001241922       0.000000000       0.000000000       0.000000000 
+-med        0.001249075       0.000000000       0.000000000       0.000000000 
+-q3         0.001264811       0.000000000       0.000000000       0.000000000 
+-                   900         553.92230       0.001805307
+-                 calls         calls/sec         secs/call
+-
+-    0.03101 -|*
+-    0.02783 -|
+-    0.02465 -|
+-    0.02147 -|
+-    0.01830 -|
+-    0.01512 -|
+-    0.01194 -|
+-    0.00876 -|
+-    0.00559 -|
+-    0.00241 -|**************************************************
+-
+-Outliers detected with box plot algo (median=0.00125, iqr=0.00002, factor=3.00):
+-very_low=15 low=9 high=76 very_high=110
+-
+-Ljung-Box statistics: q=15.89429 (alpha=0.05, df=50).
+-0.00000 < 0.95000 => No autocorrelation was detected.
+-
+-Truncated initial 100 measurements: 1000 -> 900 (-10.00%).
+-========================== 2009-04-01T16:49:49 CEST ===========================
+-
+-Writing measurement data file '/data/scm/json/benchmarks/data/ParserBenchmarkExt#parser.dat'.
+-Writing autocorrelation plot file '/data/scm/json/benchmarks/data/ParserBenchmarkExt#parser-autocorrelation.dat'.
+diff --git a/lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkPure#parser-autocorrelation.dat b/lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkPure#parser-autocorrelation.dat
+deleted file mode 100644
+index 40a0668..0000000
+--- a/lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkPure#parser-autocorrelation.dat
++++ /dev/null
+@@ -1,1000 +0,0 @@
+-#lag	autocorrelation
+-1	1.0
+-2	-0.126526065077488
+-3	-0.144961526627029
+-4	-0.139357177406834
+-5	-0.143974826894912
+-6	-0.142298816838391
+-7	-0.139337332621068
+-8	-0.0804933565996591
+-9	0.863154337738992
+-10	-0.0856698326462466
+-11	-0.139044499260128
+-12	-0.144409577021306
+-13	-0.139952610271037
+-14	-0.137830644370195
+-15	-0.138237560134025
+-16	-0.0318228583907447
+-17	0.762295174674438
+-18	-0.0451085401986914
+-19	-0.139574314980337
+-20	-0.137706022735926
+-21	-0.135000055250474
+-22	-0.140944565680693
+-23	-0.136209503772352
+-24	0.0116248943043287
+-25	0.668814012806624
+-26	0.00194941922845652
+-27	-0.132610614145838
+-28	-0.110905629572418
+-29	-0.142849770878147
+-30	-0.143488824970324
+-31	-0.134330197021416
+-32	0.0538835449451642
+-33	0.575132011890069
+-34	0.0505429010331842
+-35	-0.137467592425517
+-36	-0.125877861208834
+-37	-0.148631268110284
+-38	-0.136115193781866
+-39	-0.137935999911469
+-40	0.0988849495063306
+-41	0.486986888878156
+-42	0.0878752779386658
+-43	-0.132160917693119
+-44	-0.129643145971886
+-45	-0.149607998788336
+-46	-0.13478438037923
+-47	-0.133019295702461
+-48	0.14888456218326
+-49	0.393046641526692
+-50	0.120499739018384
+-51	-0.12075319894839
+-52	-0.132962236637115
+-53	-0.144429618272262
+-54	-0.119605702139121
+-55	-0.101682767008184
+-56	0.152609045047458
+-57	0.329588666724346
+-58	0.139652155383137
+-59	-0.114941895372878
+-60	-0.126489834985415
+-61	-0.139130898077927
+-62	-0.137842155865592
+-63	-0.0861253194251446
+-64	0.150629648832854
+-65	0.281018765279001
+-66	0.13915358689329
+-67	-0.0896859084267328
+-68	-0.123313711110523
+-69	-0.142874643960391
+-70	-0.135495171639773
+-71	-0.0711514410690874
+-72	0.147596411956897
+-73	0.251872397592371
+-74	0.121839586873541
+-75	-0.0575973326704366
+-76	-0.126799299154496
+-77	-0.144543550470945
+-78	-0.124111534889387
+-79	-0.0466899945416701
+-80	0.131315152952299
+-81	0.252160996580415
+-82	0.10666721386194
+-83	-0.0339037628702252
+-84	-0.127183439268724
+-85	-0.143132479164138
+-86	-0.125851156910328
+-87	-0.0147264358973224
+-88	0.118449575410306
+-89	0.201728736307241
+-90	0.0886049712661605
+-91	-0.00382129887238343
+-92	-0.131751835679824
+-93	-0.140792586519908
+-94	-0.118637713578907
+-95	0.02095681301022
+-96	0.0813261521961686
+-97	0.180482658314394
+-98	0.0795745616300617
+-99	0.0126200590172042
+-100	-0.127051186194544
+-101	-0.137444352404263
+-102	-0.109978539446263
+-103	0.0380230003474469
+-104	0.0605417360053513
+-105	0.171590136906878
+-106	0.0604018417747588
+-107	0.0402566049413917
+-108	-0.100533719460918
+-109	-0.140161784412186
+-110	-0.10312957661735
+-111	0.0485735840442751
+-112	0.0373718997374129
+-113	0.167648566872301
+-114	0.0459260028708854
+-115	0.046121183499996
+-116	-0.110430068243273
+-117	-0.140278458993756
+-118	-0.0875776667752535
+-119	0.0510626017064324
+-120	0.0238451049454621
+-121	0.16085061505561
+-122	0.030276460935626
+-123	0.0561232990819215
+-124	-0.105464808595229
+-125	-0.135546173373586
+-126	-0.079801944025769
+-127	0.0599654914699078
+-128	0.0136534141192567
+-129	0.15182365517752
+-130	0.0197096306752212
+-131	0.0534620866010349
+-132	-0.0917414096626928
+-133	-0.127172172660217
+-134	-0.0514782042484449
+-135	0.0685986797971808
+-136	-0.00353858174559342
+-137	0.142196102713977
+-138	0.0134469000302172
+-139	0.0396095015311617
+-140	-0.0655242334449433
+-141	-0.122832275916882
+-142	-0.0479444786698279
+-143	0.050751999392634
+-144	-0.011019423438215
+-145	0.132113807423818
+-146	0.00290229828051553
+-147	0.0324895304839574
+-148	-0.0424435359166719
+-149	-0.122337133535285
+-150	-0.0293859066983028
+-151	0.0383678650842516
+-152	-0.0194742885265415
+-153	0.126609912325987
+-154	-0.00608808492180084
+-155	0.0395330884838485
+-156	-0.0368665742861527
+-157	-0.121320946026168
+-158	-0.0130016640468885
+-159	0.0309861525800574
+-160	-0.018558052599205
+-161	0.137300590031426
+-162	-0.00746032318164814
+-163	0.0344072362770583
+-164	-0.0323265667023796
+-165	-0.108099357804514
+-166	-0.00728009854612887
+-167	0.0166450780849257
+-168	-0.0143279526502486
+-169	0.109076299549607
+-170	-0.0115962562225386
+-171	0.0177205211496241
+-172	-0.0165802545828673
+-173	-0.0995936967878659
+-174	0.011605779237427
+-175	0.00523220776952252
+-176	-0.0161523464956781
+-177	0.0989734877266892
+-178	-0.0129792250545895
+-179	0.00898322395475531
+-180	-0.0153158199749067
+-181	-0.0800824097692582
+-182	0.0178200034942401
+-183	-0.00474786676294106
+-184	-0.0157551972778546
+-185	0.0942532461909266
+-186	-0.00969269130384397
+-187	0.00652836785416871
+-188	0.000910018587766529
+-189	-0.0619232375104542
+-190	0.0179928377991651
+-191	-0.0159711302098274
+-192	-0.018744717694339
+-193	0.0877619939638119
+-194	-0.00502556289883764
+-195	-0.00667460786160017
+-196	-0.0121723963071187
+-197	-0.0449032831155359
+-198	0.0212125953730812
+-199	-0.0262860792829433
+-200	-0.016162057795481
+-201	0.0811913575034835
+-202	-0.00330089426590078
+-203	-0.0151519759511698
+-204	-0.017960262928082
+-205	-0.0215037814284608
+-206	0.0182943543046035
+-207	-0.0341747401956763
+-208	-0.0146866352915169
+-209	0.0792718771176078
+-210	-0.00321919646839206
+-211	-0.023611826169962
+-212	-0.0126184079823646
+-213	-0.000954698682123794
+-214	0.0297339638938581
+-215	-0.0312735654036501
+-216	-0.0161173400247215
+-217	0.0692180762363309
+-218	-0.00283288277832248
+-219	-0.0388702841271483
+-220	0.00457538848515518
+-221	0.017702534023738
+-222	0.00544552208632338
+-223	-0.0446102056961128
+-224	-0.0135729757433799
+-225	0.061318425794026
+-226	-0.00494947349286398
+-227	-0.0321768515141099
+-228	0.00497720552190702
+-229	0.0267952089554404
+-230	-0.000738697332716776
+-231	-0.0492659393491728
+-232	-0.0148071186922711
+-233	0.0545872347505704
+-234	-0.00382673762292252
+-235	-0.0282826124126036
+-236	0.00794227173858329
+-237	0.0378731489090914
+-238	-0.00835973314997662
+-239	-0.0447739268124712
+-240	-0.0127983223158383
+-241	0.0636581757214183
+-242	-0.000854926428120144
+-243	-0.0310943152069584
+-244	-0.00259888627525403
+-245	0.0558953643657078
+-246	-0.0171154785163806
+-247	-0.0391969466693341
+-248	-0.0117324565371219
+-249	0.0429666350675198
+-250	-0.00749755396653516
+-251	-0.0292116650124283
+-252	-0.00980920002999956
+-253	0.0728023253137216
+-254	-0.0242433063094984
+-255	-0.0319002210401708
+-256	-0.0116887755426019
+-257	0.0318202643673836
+-258	-0.00934603617096265
+-259	-0.0320628549574969
+-260	-0.0138223876265734
+-261	0.0891055411435177
+-262	-0.0247651373213855
+-263	-0.0309052036748624
+-264	-0.0100532798596721
+-265	0.0243378856936498
+-266	-0.0045778331986359
+-267	-0.026821752316485
+-268	0.000989105341668746
+-269	0.0888402056176568
+-270	-0.0231248959628869
+-271	-0.0335116780227126
+-272	-0.0117587705487187
+-273	0.0167906040316404
+-274	-0.00329835726197584
+-275	-0.0310756973538631
+-276	-0.00167909352527941
+-277	0.0731070181742769
+-278	-0.0163827003248124
+-279	-0.0314028257468305
+-280	-0.00966921026548781
+-281	0.0102706941067124
+-282	0.00203072073029314
+-283	-0.0308313739794282
+-284	0.00547048142856235
+-285	0.0539371640185639
+-286	-0.00773101119983001
+-287	-0.0303450446180751
+-288	-0.00733600257056593
+-289	0.00772935578415776
+-290	0.00197958032226745
+-291	-0.0273846524631412
+-292	0.0112672702862109
+-293	0.045049409831887
+-294	0.00799728833473099
+-295	-0.0200723316807648
+-296	-0.00733856327080615
+-297	-0.001791898850227
+-298	0.00388503548910184
+-299	-0.0339646317125627
+-300	0.0269401380987506
+-301	0.0295897394272477
+-302	0.00882971838376906
+-303	-0.0255032485942965
+-304	-0.00586660773988975
+-305	-0.0143116332821527
+-306	0.00534299944397864
+-307	-0.0288912695776605
+-308	0.0357675762276391
+-309	0.0162077381233435
+-310	0.0175736980127429
+-311	-0.0300119235674159
+-312	-0.00563685913557697
+-313	-0.0218208266576808
+-314	0.00532212484976867
+-315	-0.0165702155219983
+-316	0.03160258037738
+-317	0.0156089288371773
+-318	0.0179977820150998
+-319	-0.0255657663584924
+-320	-0.00314013163781615
+-321	-0.0174257276545932
+-322	0.00856637995358983
+-323	-0.00719462491658861
+-324	0.0248064952084498
+-325	0.0118797380566877
+-326	0.0164280770611372
+-327	-0.0202684072278218
+-328	-0.000968003222461791
+-329	-0.0392377749025386
+-330	0.00616137008243444
+-331	-0.00395889897053221
+-332	0.0209975704367836
+-333	0.0165669731399994
+-334	0.0167876667126637
+-335	-0.0162800034591445
+-336	0.00157612684339945
+-337	-0.0497601369515435
+-338	0.00168009969601492
+-339	-0.00390601780649794
+-340	0.023648567413202
+-341	0.0158640545767057
+-342	0.0244736064929526
+-343	-0.014150912333521
+-344	0.00356083314932668
+-345	-0.0588422955021098
+-346	0.0064856866009032
+-347	0.000344551175540443
+-348	0.0364591845510023
+-349	0.0166346451576227
+-350	0.0251881929581815
+-351	-0.01627179367963
+-352	0.00180146013521436
+-353	-0.0649333243287488
+-354	0.00866862821696223
+-355	-0.00279970209152114
+-356	0.0263646717293285
+-357	0.0211193247836195
+-358	0.0214320318152118
+-359	-0.0151817766787754
+-360	0.00485821947887842
+-361	-0.0715992844478512
+-362	0.0108378220586832
+-363	-0.00133094811006224
+-364	0.0247532282729131
+-365	0.016495069638089
+-366	0.0229500626359929
+-367	-0.0147226502159456
+-368	0.00647045064867083
+-369	-0.073385789691225
+-370	0.0114312149907294
+-371	0.00249982568991776
+-372	0.0225934619182297
+-373	0.0238409420604106
+-374	0.0300604984923422
+-375	-0.00852632300506627
+-376	-0.000476408670694637
+-377	-0.0669893069127702
+-378	0.00708510482024032
+-379	-0.00633855524099727
+-380	0.0316293143381378
+-381	0.0224467328328507
+-382	0.024131620910292
+-383	-0.0144420099990433
+-384	-0.00656804302886437
+-385	-0.0605047793511062
+-386	-0.00244909720127004
+-387	-0.00228283234187514
+-388	0.0347630666059254
+-389	0.0255372783174439
+-390	0.0249118471215147
+-391	-0.0156811043640799
+-392	-0.0186780895478396
+-393	-0.0500470638854078
+-394	-0.0106681828115876
+-395	0.00299348108637595
+-396	0.0375478351991823
+-397	0.0272676652644904
+-398	0.0249262372804901
+-399	-0.0128139590091909
+-400	-0.0244260954570344
+-401	-0.0296360177448727
+-402	-0.0156522051426314
+-403	0.00371335698467524
+-404	0.0375532256529043
+-405	0.025029221367199
+-406	0.0252473835020561
+-407	-0.00821195172190185
+-408	-0.0340470970501328
+-409	-0.0312374914683474
+-410	-0.0253324219431086
+-411	0.00556439075799471
+-412	0.0343851616998114
+-413	0.0296108649664041
+-414	0.0244865536821279
+-415	-0.00642396788124207
+-416	-0.0381703614534087
+-417	-0.0250381539188707
+-418	-0.0339628157444566
+-419	0.00243992182082179
+-420	0.0377363310935231
+-421	0.0279269519560789
+-422	0.0330045526455719
+-423	-0.00511644400658994
+-424	-0.0450141067262116
+-425	-0.0158485572785398
+-426	-0.03936429400437
+-427	0.00750953654479071
+-428	0.0477707926390831
+-429	0.0288151654666373
+-430	0.0361802804944373
+-431	-0.00712917753126239
+-432	-0.0583334638414398
+-433	-0.00267010949721538
+-434	-0.0470917242637041
+-435	0.00517042251078623
+-436	0.037455528907572
+-437	0.0343942996609878
+-438	0.0332028694901519
+-439	-0.00589078251875288
+-440	-0.0637043911707992
+-441	0.00666183788238349
+-442	-0.0525517266899241
+-443	0.00895232543554424
+-444	0.0382697031000271
+-445	0.0284021587291105
+-446	0.0334942204660841
+-447	-0.00596107650540415
+-448	-0.0720966795946044
+-449	0.0232447585917915
+-450	-0.0608153052711438
+-451	0.0116399374656849
+-452	0.0381251008359883
+-453	0.0346830496503291
+-454	0.0398065018725046
+-455	-0.000362012301347499
+-456	-0.0785173577161933
+-457	0.0300252474048187
+-458	-0.0646382374089607
+-459	0.00182900934772608
+-460	0.0454064481406782
+-461	0.0329664080833594
+-462	0.0362011391795208
+-463	-0.015347551228469
+-464	-0.0671509681824761
+-465	0.0296481877260799
+-466	-0.0746946268126137
+-467	0.00641586390856246
+-468	0.0470505050556008
+-469	0.0366327721242302
+-470	0.0377150582080205
+-471	-0.0257508722774105
+-472	-0.0637151879640854
+-473	0.0236744558402174
+-474	-0.0680975388310196
+-475	0.00255042565832294
+-476	0.0512681657479446
+-477	0.0403605713503443
+-478	0.0359001859859639
+-479	-0.029132074768914
+-480	-0.0508034717438863
+-481	0.0239527602817767
+-482	-0.0575129877889322
+-483	-0.00369721861473263
+-484	0.0505988973989383
+-485	0.0361467620291191
+-486	0.0368416078787121
+-487	-0.032834716815589
+-488	-0.0434932898244011
+-489	0.00911801422218572
+-490	-0.0523537970034941
+-491	-0.00821280045148764
+-492	0.0487328578561805
+-493	0.0392756061114285
+-494	0.0353235938763974
+-495	-0.0362172978867714
+-496	-0.0301630804400009
+-497	-0.00312318019738603
+-498	-0.0442427016803628
+-499	-0.0193549364510511
+-500	0.0511246815814022
+-501	0.0375525162491352
+-502	0.0415223485757893
+-503	-0.0434162929277164
+-504	-0.0174703151437594
+-505	-0.0123368071049746
+-506	-0.030092552759096
+-507	-0.0259859780907219
+-508	0.0606752480087361
+-509	0.0379827626715177
+-510	0.0429850681863943
+-511	-0.0519282882356438
+-512	-0.0109290187868267
+-513	-0.0198911294093943
+-514	-0.0179805613817386
+-515	-0.0373506310511416
+-516	0.051718263130701
+-517	0.0437679408364481
+-518	0.0396991923289056
+-519	-0.0598738380924832
+-520	0.00227956370589332
+-521	-0.0315948919060393
+-522	-0.00689298816517704
+-523	-0.0400683003822942
+-524	0.0504116144670193
+-525	0.0384452328799252
+-526	0.0422779082777363
+-527	-0.0628378541858099
+-528	0.00648345925565532
+-529	-0.0339074110875153
+-530	0.00392215913901875
+-531	-0.0447371320235012
+-532	0.0499683975261213
+-533	0.0445342493453758
+-534	0.0358507522616787
+-535	-0.0462975420467472
+-536	0.0065134510940885
+-537	-0.0446950607193122
+-538	0.0078695055551158
+-539	-0.0435564432715238
+-540	0.0490054802985018
+-541	0.0429751997079501
+-542	0.0249996087628272
+-543	-0.0442291516924361
+-544	0.00869843705070359
+-545	-0.0527698107871565
+-546	0.00799130494240491
+-547	-0.0323718744761137
+-548	0.0410065929835765
+-549	0.0475759092955819
+-550	0.0175755467103812
+-551	-0.0376302948184889
+-552	0.00700412709467122
+-553	-0.0608320774535298
+-554	0.0048130064138099
+-555	-0.0173352616909856
+-556	0.0346973915783743
+-557	0.0493903178904071
+-558	0.0101108717892249
+-559	-0.0265084973202414
+-560	0.00358635362684098
+-561	-0.0470576145955835
+-562	9.30616028058754e-05
+-563	-0.009328796983189
+-564	0.0265128180743515
+-565	0.047184891847067
+-566	0.00219163772528874
+-567	-0.0121413168884318
+-568	-0.00749414671957915
+-569	-0.0440813124278593
+-570	-0.00813710471833781
+-571	0.00114675437656366
+-572	0.0162393335738264
+-573	0.0504911799834256
+-574	-0.00853374126083636
+-575	0.000754234959055234
+-576	-0.0117204282603961
+-577	-0.0354583766676116
+-578	-0.0192100536607529
+-579	0.00839406418544501
+-580	0.00960845163504427
+-581	0.0469051048472684
+-582	-0.00888902900418868
+-583	0.0100099116353234
+-584	-0.0179909146856837
+-585	-0.0244293914853853
+-586	-0.0256760479816353
+-587	0.0212220748711766
+-588	0.00632084475559719
+-589	0.0387313178071368
+-590	-0.000554587934313714
+-591	0.0124601538908314
+-592	-0.0295249733381573
+-593	-0.0144520545351094
+-594	-0.0331889907164869
+-595	0.0212877712137735
+-596	0.00590139546386316
+-597	0.0273355576179403
+-598	0.00735416770830889
+-599	0.0128873818372069
+-600	-0.0346175922714857
+-601	-0.00857703845819032
+-602	-0.0362631596335238
+-603	0.0242701471795148
+-604	0.0131286156780055
+-605	0.00696270942062036
+-606	0.0188195193146635
+-607	0.0103462402033716
+-608	-0.0417481445059436
+-609	0.00414843805232896
+-610	-0.041616927291058
+-611	0.0282618294134973
+-612	0.02337979916365
+-613	-0.00673110780182958
+-614	0.0290971868544386
+-615	0.017105062059816
+-616	-0.0516331546555055
+-617	0.0142062007627548
+-618	-0.046594757738246
+-619	0.0214354322279795
+-620	0.0395098993458107
+-621	-0.0267793069789269
+-622	0.0381323026116677
+-623	0.0119813141067502
+-624	-0.0521722164918075
+-625	0.00907497826142658
+-626	-0.0377414784171271
+-627	0.0150907402651132
+-628	0.0450797547657188
+-629	-0.0367261749783528
+-630	0.0474940016463238
+-631	0.000764223750645765
+-632	-0.0464350834773778
+-633	0.00292816454844645
+-634	-0.0345472431115147
+-635	0.0140802099582887
+-636	0.046733825449202
+-637	-0.0331976317138726
+-638	0.0505769917402539
+-639	-0.00507624644834293
+-640	-0.0344212973139547
+-641	-0.00226163410076298
+-642	-0.0197922791475835
+-643	0.00383630490838536
+-644	0.0363444998831405
+-645	-0.0152447367341023
+-646	0.0410735723819794
+-647	-0.00866551034416046
+-648	-0.0282028390344346
+-649	-0.0138273162520216
+-650	-0.013988974897117
+-651	-0.00356215450658962
+-652	0.0315292998347554
+-653	0.00265684065928491
+-654	0.0297462860635905
+-655	-0.0132763024515043
+-656	-0.0151844375022346
+-657	-0.0222624267154824
+-658	-0.00808783339763846
+-659	-0.0118309039774407
+-660	0.0257051832194354
+-661	0.0139672196593361
+-662	0.0297614515417377
+-663	-0.021331361380431
+-664	-0.00340733006761883
+-665	-0.0283789637687968
+-666	0.00461054911911345
+-667	-0.018250569181885
+-668	0.0226081124897128
+-669	0.0323347720900023
+-670	0.0223372263530966
+-671	-0.0329163380381145
+-672	0.00653265472132318
+-673	-0.0348871958579168
+-674	0.0141751097268468
+-675	-0.0288075244305473
+-676	0.00890270626763702
+-677	0.0520479385647175
+-678	0.0145072446621148
+-679	-0.0415204263536339
+-680	0.0171547215622114
+-681	-0.0470557518960979
+-682	0.0193254756646944
+-683	-0.0255419271372531
+-684	0.00688287993008186
+-685	0.0526562424346814
+-686	0.00589567882152875
+-687	-0.0339847831638287
+-688	0.02068125784698
+-689	-0.0420544887083924
+-690	0.013314784448658
+-691	-0.0245768886587792
+-692	0.00903037071195691
+-693	0.0563846260400661
+-694	-0.00286801368241955
+-695	-0.0213844040017938
+-696	0.0126629235111523
+-697	-0.0309372292635961
+-698	0.00276336704503089
+-699	-0.015616452692981
+-700	0.00419778210216804
+-701	0.0536380666776548
+-702	-0.012596502198999
+-703	-0.0174715146408299
+-704	0.00871952059420196
+-705	-0.0227565257963439
+-706	-0.00318256697092859
+-707	-0.0038667173143475
+-708	-0.00772968118848665
+-709	0.0587207873901504
+-710	-0.0193357475432715
+-711	-0.0115269673972748
+-712	-1.7421858581782e-05
+-713	-0.012115015884252
+-714	-0.0149797201478353
+-715	0.00756590604451175
+-716	-0.0126297132883264
+-717	0.0594933008421939
+-718	-0.0267304156748315
+-719	0.00405070013394311
+-720	-0.00821048967450404
+-721	-0.000558386344514712
+-722	-0.0178272992410061
+-723	0.0152599286078378
+-724	-0.0188510979465177
+-725	0.056849489519984
+-726	-0.0348880232368348
+-727	0.0167352525344068
+-728	-0.020642086446652
+-729	0.00744701455708182
+-730	-0.027702827538011
+-731	0.0163569136090967
+-732	-0.00705447320310994
+-733	0.0411987341306314
+-734	-0.0263596539233783
+-735	0.0159406402225642
+-736	-0.0248727169666328
+-737	0.0157261169316672
+-738	-0.039588636677443
+-739	0.019694261902396
+-740	0.00199064144206026
+-741	0.0194114269206411
+-742	-0.0122293779441828
+-743	0.0185339904720133
+-744	-0.0293392689309816
+-745	0.0259396934186521
+-746	-0.0358486717626121
+-747	0.0137081983383313
+-748	0.0135827148405382
+-749	0.00581560048523093
+-750	-0.00646581428956839
+-751	0.0110071423563427
+-752	-0.0246658880723862
+-753	0.0234599435571564
+-754	-0.0251762927530073
+-755	0.00161483936854108
+-756	0.0187635618473274
+-757	-0.00741664776560292
+-758	0.000689537114138283
+-759	0.00538728043193201
+-760	-0.0121682428833197
+-761	0.0107275222262937
+-762	-0.0128031079890448
+-763	-0.0063592461488716
+-764	0.0251504687162441
+-765	-0.0239334767266835
+-766	0.0114670525225061
+-767	-0.00487523656435794
+-768	-0.00763249778942318
+-769	0.0104557895326864
+-770	-0.00080890423935272
+-771	-0.011995729852147
+-772	0.0283817192968894
+-773	-0.0287562177182345
+-774	0.0217718323275436
+-775	-0.0101305067053654
+-776	0.0014155810398293
+-777	0.00324589569032011
+-778	0.00708416810583891
+-779	-0.022169020480487
+-780	0.0234205617460705
+-781	-0.0208062585550248
+-782	0.0203380109609699
+-783	-0.020741474408173
+-784	0.0135803686158102
+-785	-0.00501416160524954
+-786	0.0164731425495951
+-787	-0.0268911165061168
+-788	0.0106549298554577
+-789	-0.00845501832015795
+-790	0.023385887150049
+-791	-0.0315824919189702
+-792	0.0225937647734562
+-793	-0.0122625199927789
+-794	0.0237235394650212
+-795	-0.027848735297458
+-796	0.0102148026540408
+-797	-0.00743306965465811
+-798	0.0163964193052597
+-799	-0.0205275094803387
+-800	0.0268449934848731
+-801	-0.0196194639874214
+-802	0.0245047543387088
+-803	-0.018846409722053
+-804	0.00241958726037752
+-805	-0.00956161998696891
+-806	0.00999709244485242
+-807	-0.010418326586979
+-808	0.0168983481695472
+-809	-0.0127566274792617
+-810	0.0217393096303905
+-811	-0.0103549544989814
+-812	-0.00649684841130904
+-813	-0.00620619985783303
+-814	0.000695206197500287
+-815	-0.00340809372595454
+-816	0.0136404808756853
+-817	-0.00453202592092646
+-818	0.0101641460331084
+-819	0.00219305363441266
+-820	-0.01561469271582
+-821	-0.00960597345375202
+-822	-0.00481911400465912
+-823	0.00944779427817189
+-824	0.00716593193427114
+-825	0.00794506991287553
+-826	0.00465812347978461
+-827	0.010359878693985
+-828	-0.020236818592972
+-829	-0.0111741972267443
+-830	-0.0115950977160356
+-831	0.020041269074572
+-832	-0.00202251725285479
+-833	0.015145433881013
+-834	-0.00118772326275258
+-835	0.0172802408084672
+-836	-0.023141151004978
+-837	-0.00684287010020396
+-838	-0.0222362324134472
+-839	0.0290833389346101
+-840	-0.00863450139262045
+-841	0.0198832975538718
+-842	-0.0104466516619161
+-843	0.0216180798136572
+-844	-0.0224573860747524
+-845	-0.0159317111021684
+-846	-0.0124256114118245
+-847	0.0319156051078274
+-848	-0.020989683927269
+-849	0.0331677982754718
+-850	-0.0160779048828163
+-851	0.0221942143966997
+-852	-0.0207114091551809
+-853	-0.0193864563297597
+-854	-0.00631341525970981
+-855	0.0256287918067823
+-856	-0.0127670576748428
+-857	0.0268901900517397
+-858	-0.00929763294799435
+-859	0.0179202360715882
+-860	-0.0205297531444686
+-861	-0.0205828726597419
+-862	-0.00590540758107269
+-863	0.0155451399031948
+-864	-0.000875709073962753
+-865	0.0168572022602374
+-866	0.0028001228220118
+-867	0.0104479294454913
+-868	-0.0213679514358647
+-869	-0.0190762037709474
+-870	-0.00370777717818964
+-871	0.00842042601552804
+-872	0.010436753298379
+-873	0.00801824546756709
+-874	0.00905450943087241
+-875	0.00193033358362754
+-876	-0.0169120672468857
+-877	-0.0180536990655791
+-878	-0.00178520558336185
+-879	0.00342242219620668
+-880	0.0209308868044849
+-881	0.00123969777653587
+-882	0.0189079333389431
+-883	-0.00681131675201787
+-884	-0.0163080121259332
+-885	-0.0199735256447265
+-886	0.00366535906601146
+-887	-0.00556880592163452
+-888	0.0273660773092557
+-889	-0.0056009291081872
+-890	0.0258105464894864
+-891	-0.0110454740226059
+-892	-0.0163301324647326
+-893	-0.0182941746735561
+-894	0.00615903992467205
+-895	-0.0162282546172766
+-896	0.0386373258470084
+-897	-0.0125315671068463
+-898	0.0272787535301086
+-899	-0.0123831641946371
+-900	-0.0133878892299601
+-901	-0.0190951688075489
+-902	-0.00155326284649879
+-903	-0.00410581328198279
+-904	0.0316127784251008
+-905	-0.00291818177314328
+-906	0.0227531671125918
+-907	-0.0109655434893085
+-908	-0.012799308403064
+-909	-0.0160017423860052
+-910	-0.0119329107305064
+-911	0.00364258505980213
+-912	0.0217756860858317
+-913	0.010678734327474
+-914	0.0134293321905379
+-915	-0.0116912782885493
+-916	-0.0117630350181795
+-917	-0.0135312586647217
+-918	-0.0108968297221034
+-919	0.00680452587364608
+-920	0.0148747844715078
+-921	0.0162949694832807
+-922	0.00539910868322474
+-923	-0.00933468939253505
+-924	-0.0106686683836374
+-925	-0.0124085659528643
+-926	-0.0105711782287246
+-927	0.00804235477237977
+-928	0.00723801263775247
+-929	0.0258061476363918
+-930	-0.000684398388361734
+-931	-0.00762103435599326
+-932	-0.00904303753421588
+-933	-0.00745301596275639
+-934	-0.0103044124193686
+-935	0.00595191617101465
+-936	2.14978806537769e-05
+-937	0.0352834100860169
+-938	-0.00718396988767262
+-939	-0.00837792361666858
+-940	-0.00720830894781464
+-941	-0.00721256609199517
+-942	-0.0103563055654315
+-943	0.0067689029813515
+-944	-0.00615969185391731
+-945	0.0366438822751357
+-946	-0.00555322732762464
+-947	-0.00559909850816345
+-948	-0.00807226171468928
+-949	-0.0072437466206792
+-950	-0.00880657440286336
+-951	-0.000406817302546885
+-952	0.00334053871073266
+-953	0.0282996182562531
+-954	-0.00548530337183551
+-955	-0.00508266404610792
+-956	-0.00475991829082716
+-957	-0.00556541448888507
+-958	-0.00693102605261411
+-959	-0.0068914951848352
+-960	0.0124551723792496
+-961	0.0205485192799428
+-962	-0.0051215464298893
+-963	-0.00544517946765895
+-964	-0.00360902370385679
+-965	-0.00389124817008502
+-966	-0.00568418258247609
+-967	-0.00451409289805204
+-968	0.0126296974425642
+-969	0.0119357974221847
+-970	-0.00453960421739095
+-971	-0.00389602063108262
+-972	-0.00253945519375536
+-973	-0.00246645747512712
+-974	-0.00331176412956721
+-975	-0.0045686818998509
+-976	0.0119005284725565
+-977	0.00477869960024375
+-978	-0.00316972429661236
+-979	-0.00294762637219811
+-980	-0.00197263485163538
+-981	-0.00240027919608702
+-982	-0.00221728547295443
+-983	-0.00268664184058333
+-984	0.013078013292045
+-985	-0.00054100792945422
+-986	-0.000917736517605598
+-987	-0.001567052283492
+-988	-0.000836676486280892
+-989	-0.00221208695388904
+-990	-0.00248903162837629
+-991	-0.0021625005351972
+-992	0.0072477698974949
+-993	0.00063353338379511
+-994	0.000469110586525005
+-995	-0.000441976909684745
+-996	-0.000609378899765559
+-997	-0.000809499361526555
+-998	-0.0010684119522621
+-999	-0.00124157520451844
+diff --git a/lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkPure#parser.dat b/lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkPure#parser.dat
+deleted file mode 100644
+index 0d92cc3..0000000
+--- a/lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkPure#parser.dat
++++ /dev/null
+@@ -1,1001 +0,0 @@
+-#scatter	real	total	user	system	repeat
+-1	0.0375239849090576	0.029999999999994	0.029999999999994	0.0	1
+-2	0.0333089828491211	0.0300000000000011	0.0300000000000011	0.0	2
+-3	0.0330851078033447	0.0399999999999991	0.0399999999999991	0.0	3
+-4	0.0331559181213379	0.0300000000000011	0.0300000000000011	0.0	4
+-5	0.0330770015716553	0.0300000000000011	0.0300000000000011	0.0	5
+-6	0.0331110954284668	0.0399999999999991	0.0399999999999991	0.0	6
+-7	0.0357470512390137	0.0300000000000011	0.0300000000000011	0.0	7
+-8	0.0360550880432129	0.0399999999999991	0.0399999999999991	0.0	8
+-9	0.0575530529022217	0.0600000000000023	0.0600000000000023	0.0	9
+-10	0.0352299213409424	0.0300000000000011	0.0300000000000011	0.0	10
+-11	0.0335679054260254	0.029999999999994	0.029999999999994	0.0	11
+-12	0.0332560539245605	0.0400000000000063	0.0400000000000063	0.0	12
+-13	0.0364248752593994	0.029999999999994	0.029999999999994	0.0	13
+-14	0.033275842666626	0.0400000000000063	0.0400000000000063	0.0	14
+-15	0.0336852073669434	0.029999999999994	0.029999999999994	0.0	15
+-16	0.0334939956665039	0.0300000000000011	0.0300000000000011	0.0	16
+-17	0.0582540035247803	0.0600000000000023	0.0600000000000023	0.0	17
+-18	0.0354878902435303	0.0399999999999991	0.0399999999999991	0.0	18
+-19	0.0385029315948486	0.0399999999999991	0.0399999999999991	0.0	19
+-20	0.0362861156463623	0.0300000000000011	0.0300000000000011	0.0	20
+-21	0.035506010055542	0.0399999999999991	0.0399999999999991	0.0	21
+-22	0.0334300994873047	0.0300000000000011	0.0300000000000011	0.0	22
+-23	0.0329139232635498	0.0399999999999991	0.0399999999999991	0.0	23
+-24	0.0332398414611816	0.0300000000000011	0.0300000000000011	0.0	24
+-25	0.0579190254211426	0.0600000000000023	0.0600000000000023	0.0	25
+-26	0.0361781120300293	0.029999999999994	0.029999999999994	0.0	26
+-27	0.0338189601898193	0.0400000000000063	0.0400000000000063	0.0	27
+-28	0.0347120761871338	0.029999999999994	0.029999999999994	0.0	28
+-29	0.0333528518676758	0.0399999999999991	0.0399999999999991	0.0	29
+-30	0.0332620143890381	0.0300000000000011	0.0300000000000011	0.0	30
+-31	0.0329258441925049	0.0300000000000011	0.0300000000000011	0.0	31
+-32	0.033383846282959	0.0300000000000011	0.0300000000000011	0.0	32
+-33	0.0601050853729248	0.0700000000000003	0.0700000000000003	0.0	33
+-34	0.0353600978851318	0.0300000000000011	0.0300000000000011	0.0	34
+-35	0.0334739685058594	0.0300000000000011	0.0300000000000011	0.0	35
+-36	0.0333919525146484	0.0399999999999991	0.0399999999999991	0.0	36
+-37	0.034959077835083	0.0300000000000011	0.0300000000000011	0.0	37
+-38	0.0332329273223877	0.029999999999994	0.029999999999994	0.0	38
+-39	0.0333740711212158	0.0400000000000063	0.0400000000000063	0.0	39
+-40	0.0358071327209473	0.029999999999994	0.029999999999994	0.0	40
+-41	0.0592548847198486	0.0600000000000023	0.0600000000000023	0.0	41
+-42	0.0328431129455566	0.0399999999999991	0.0399999999999991	0.0	42
+-43	0.0325570106506348	0.0300000000000011	0.0300000000000011	0.0	43
+-44	0.0326550006866455	0.0300000000000011	0.0300000000000011	0.0	44
+-45	0.0341711044311523	0.0300000000000011	0.0300000000000011	0.0	45
+-46	0.0385479927062988	0.0300000000000011	0.0300000000000011	0.0	46
+-47	0.0355618000030518	0.0399999999999991	0.0399999999999991	0.0	47
+-48	0.0336899757385254	0.0300000000000011	0.0300000000000011	0.0	48
+-49	0.0340290069580078	0.0399999999999991	0.0399999999999991	0.0	49
+-50	0.057744026184082	0.0499999999999972	0.0499999999999972	0.0	50
+-51	0.0332441329956055	0.0399999999999991	0.0399999999999991	0.0	51
+-52	0.0334060192108154	0.0300000000000011	0.0300000000000011	0.0	52
+-53	0.0331339836120605	0.0300000000000011	0.0300000000000011	0.0	53
+-54	0.0364229679107666	0.0399999999999991	0.0399999999999991	0.0	54
+-55	0.0333731174468994	0.0300000000000011	0.0300000000000011	0.0	55
+-56	0.0333929061889648	0.0399999999999991	0.0399999999999991	0.0	56
+-57	0.0332939624786377	0.0300000000000011	0.0300000000000011	0.0	57
+-58	0.0580708980560303	0.0600000000000023	0.0600000000000023	0.0	58
+-59	0.0334999561309814	0.0300000000000011	0.0300000000000011	0.0	59
+-60	0.0361111164093018	0.0399999999999991	0.0399999999999991	0.0	60
+-61	0.0338809490203857	0.0300000000000011	0.0300000000000011	0.0	61
+-62	0.0334880352020264	0.0399999999999991	0.0399999999999991	0.0	62
+-63	0.0335280895233154	0.029999999999994	0.029999999999994	0.0	63
+-64	0.0350849628448486	0.0300000000000011	0.0300000000000011	0.0	64
+-65	0.033484935760498	0.0399999999999991	0.0399999999999991	0.0	65
+-66	0.0578420162200928	0.0500000000000043	0.0500000000000043	0.0	66
+-67	0.0367329120635986	0.0399999999999991	0.0399999999999991	0.0	67
+-68	0.0351338386535645	0.0399999999999991	0.0399999999999991	0.0	68
+-69	0.0334072113037109	0.0300000000000011	0.0300000000000011	0.0	69
+-70	0.0339431762695312	0.0300000000000011	0.0300000000000011	0.0	70
+-71	0.0332098007202148	0.0399999999999991	0.0399999999999991	0.0	71
+-72	0.034019947052002	0.0300000000000011	0.0300000000000011	0.0	72
+-73	0.0393249988555908	0.0399999999999991	0.0399999999999991	0.0	73
+-74	0.0685920715332031	0.0600000000000023	0.0600000000000023	0.0	74
+-75	0.034276008605957	0.0399999999999991	0.0399999999999991	0.0	75
+-76	0.0334501266479492	0.029999999999994	0.029999999999994	0.0	76
+-77	0.0332150459289551	0.0300000000000011	0.0300000000000011	0.0	77
+-78	0.0333437919616699	0.0399999999999991	0.0399999999999991	0.0	78
+-79	0.0332369804382324	0.0300000000000011	0.0300000000000011	0.0	79
+-80	0.0360598564147949	0.0399999999999991	0.0399999999999991	0.0	80
+-81	0.0335109233856201	0.0300000000000011	0.0300000000000011	0.0	81
+-82	0.058535099029541	0.0600000000000023	0.0600000000000023	0.0	82
+-83	0.0335390567779541	0.0300000000000011	0.0300000000000011	0.0	83
+-84	0.0335979461669922	0.0399999999999991	0.0399999999999991	0.0	84
+-85	0.0331900119781494	0.0300000000000011	0.0300000000000011	0.0	85
+-86	0.03330397605896	0.0300000000000011	0.0300000000000011	0.0	86
+-87	0.0366411209106445	0.0399999999999991	0.0399999999999991	0.0	87
+-88	0.0347549915313721	0.0300000000000011	0.0300000000000011	0.0	88
+-89	0.0331470966339111	0.0399999999999991	0.0399999999999991	0.0	89
+-90	0.0598249435424805	0.0599999999999952	0.0599999999999952	0.0	90
+-91	0.0330801010131836	0.0300000000000011	0.0300000000000011	0.0	91
+-92	0.0329310894012451	0.0300000000000011	0.0300000000000011	0.0	92
+-93	0.032721996307373	0.0300000000000011	0.0300000000000011	0.0	93
+-94	0.0355160236358643	0.0399999999999991	0.0399999999999991	0.0	94
+-95	0.0339648723602295	0.0300000000000011	0.0300000000000011	0.0	95
+-96	0.032512903213501	0.0399999999999991	0.0399999999999991	0.0	96
+-97	0.0330419540405273	0.0300000000000011	0.0300000000000011	0.0	97
+-98	0.0334761142730713	0.0300000000000011	0.0300000000000011	0.0	98
+-99	0.0660569667816162	0.0700000000000003	0.0700000000000003	0.0	99
+-100	0.0368058681488037	0.0399999999999991	0.0399999999999991	0.0	100
+-101	0.0347878932952881	0.0300000000000011	0.0300000000000011	0.0	101
+-102	0.0338079929351807	0.029999999999994	0.029999999999994	0.0	102
+-103	0.0334770679473877	0.029999999999994	0.029999999999994	0.0	103
+-104	0.0329740047454834	0.0300000000000011	0.0300000000000011	0.0	104
+-105	0.0333049297332764	0.0300000000000011	0.0300000000000011	0.0	105
+-106	0.033519983291626	0.0399999999999991	0.0399999999999991	0.0	106
+-107	0.0611979961395264	0.0600000000000023	0.0600000000000023	0.0	107
+-108	0.0340859889984131	0.0300000000000011	0.0300000000000011	0.0	108
+-109	0.0335040092468262	0.0399999999999991	0.0399999999999991	0.0	109
+-110	0.0334708690643311	0.0300000000000011	0.0300000000000011	0.0	110
+-111	0.0335888862609863	0.0300000000000011	0.0300000000000011	0.0	111
+-112	0.033301830291748	0.0399999999999991	0.0399999999999991	0.0	112
+-113	0.0332660675048828	0.0300000000000011	0.0300000000000011	0.0	113
+-114	0.0370340347290039	0.0399999999999991	0.0399999999999991	0.0	114
+-115	0.0586259365081787	0.0599999999999952	0.0599999999999952	0.0	115
+-116	0.0336349010467529	0.0300000000000011	0.0300000000000011	0.0	116
+-117	0.0350830554962158	0.0300000000000011	0.0300000000000011	0.0	117
+-118	0.033397912979126	0.0399999999999991	0.0399999999999991	0.0	118
+-119	0.0334382057189941	0.0300000000000011	0.0300000000000011	0.0	119
+-120	0.0333988666534424	0.0399999999999991	0.0399999999999991	0.0	120
+-121	0.0362389087677002	0.0300000000000011	0.0300000000000011	0.0	121
+-122	0.033973217010498	0.0399999999999991	0.0399999999999991	0.0	122
+-123	0.0578141212463379	0.0499999999999972	0.0499999999999972	0.0	123
+-124	0.033689022064209	0.0400000000000063	0.0400000000000063	0.0	124
+-125	0.0340471267700195	0.029999999999994	0.029999999999994	0.0	125
+-126	0.0395550727844238	0.0400000000000063	0.0400000000000063	0.0	126
+-127	0.0365371704101562	0.0399999999999991	0.0399999999999991	0.0	127
+-128	0.034188985824585	0.0300000000000011	0.0300000000000011	0.0	128
+-129	0.0336990356445312	0.0399999999999991	0.0399999999999991	0.0	129
+-130	0.033534049987793	0.029999999999994	0.029999999999994	0.0	130
+-131	0.0577750205993652	0.0600000000000023	0.0600000000000023	0.0	131
+-132	0.0339059829711914	0.0300000000000011	0.0300000000000011	0.0	132
+-133	0.0334141254425049	0.0300000000000011	0.0300000000000011	0.0	133
+-134	0.0364940166473389	0.0399999999999991	0.0399999999999991	0.0	134
+-135	0.0346250534057617	0.0399999999999991	0.0399999999999991	0.0	135
+-136	0.03348708152771	0.0300000000000011	0.0300000000000011	0.0	136
+-137	0.0330390930175781	0.0300000000000011	0.0300000000000011	0.0	137
+-138	0.0333828926086426	0.0399999999999991	0.0399999999999991	0.0	138
+-139	0.0577211380004883	0.0499999999999972	0.0499999999999972	0.0	139
+-140	0.0367538928985596	0.0399999999999991	0.0399999999999991	0.0	140
+-141	0.0339748859405518	0.0300000000000011	0.0300000000000011	0.0	141
+-142	0.0334391593933105	0.0399999999999991	0.0399999999999991	0.0	142
+-143	0.0334470272064209	0.0300000000000011	0.0300000000000011	0.0	143
+-144	0.0356760025024414	0.0399999999999991	0.0399999999999991	0.0	144
+-145	0.0332551002502441	0.0300000000000011	0.0300000000000011	0.0	145
+-146	0.0335030555725098	0.0300000000000011	0.0300000000000011	0.0	146
+-147	0.0603840351104736	0.0600000000000023	0.0600000000000023	0.0	147
+-148	0.033195972442627	0.0399999999999991	0.0399999999999991	0.0	148
+-149	0.0326118469238281	0.0300000000000011	0.0300000000000011	0.0	149
+-150	0.0324470996856689	0.029999999999994	0.029999999999994	0.0	150
+-151	0.0330009460449219	0.0400000000000063	0.0400000000000063	0.0	151
+-152	0.0324180126190186	0.029999999999994	0.029999999999994	0.0	152
+-153	0.0400440692901611	0.0400000000000063	0.0400000000000063	0.0	153
+-154	0.0362899303436279	0.029999999999994	0.029999999999994	0.0	154
+-155	0.0349278450012207	0.0400000000000063	0.0400000000000063	0.0	155
+-156	0.0600240230560303	0.0599999999999952	0.0599999999999952	0.0	156
+-157	0.0334708690643311	0.0300000000000011	0.0300000000000011	0.0	157
+-158	0.0335209369659424	0.0399999999999991	0.0399999999999991	0.0	158
+-159	0.0335359573364258	0.0300000000000011	0.0300000000000011	0.0	159
+-160	0.0334579944610596	0.0300000000000011	0.0300000000000011	0.0	160
+-161	0.0362169742584229	0.0399999999999991	0.0399999999999991	0.0	161
+-162	0.0338380336761475	0.0300000000000011	0.0300000000000011	0.0	162
+-163	0.0335981845855713	0.0399999999999991	0.0399999999999991	0.0	163
+-164	0.0578079223632812	0.0499999999999972	0.0499999999999972	0.0	164
+-165	0.0334019660949707	0.0399999999999991	0.0399999999999991	0.0	165
+-166	0.0331990718841553	0.0300000000000011	0.0300000000000011	0.0	166
+-167	0.0360620021820068	0.0399999999999991	0.0399999999999991	0.0	167
+-168	0.0344648361206055	0.0300000000000011	0.0300000000000011	0.0	168
+-169	0.0341999530792236	0.0399999999999991	0.0399999999999991	0.0	169
+-170	0.0331728458404541	0.0300000000000011	0.0300000000000011	0.0	170
+-171	0.0350158214569092	0.0300000000000011	0.0300000000000011	0.0	171
+-172	0.0580298900604248	0.0600000000000023	0.0600000000000023	0.0	172
+-173	0.0335690975189209	0.0300000000000011	0.0300000000000011	0.0	173
+-174	0.036384105682373	0.0399999999999991	0.0399999999999991	0.0	174
+-175	0.034492015838623	0.0300000000000011	0.0300000000000011	0.0	175
+-176	0.03336501121521	0.0399999999999991	0.0399999999999991	0.0	176
+-177	0.0331079959869385	0.029999999999994	0.029999999999994	0.0	177
+-178	0.0331339836120605	0.0300000000000011	0.0300000000000011	0.0	178
+-179	0.0350081920623779	0.0399999999999991	0.0399999999999991	0.0	179
+-180	0.0666470527648926	0.0700000000000003	0.0700000000000003	0.0	180
+-181	0.0338301658630371	0.0300000000000011	0.0300000000000011	0.0	181
+-182	0.0340950489044189	0.0300000000000011	0.0300000000000011	0.0	182
+-183	0.0334529876708984	0.0399999999999991	0.0399999999999991	0.0	183
+-184	0.0331630706787109	0.0300000000000011	0.0300000000000011	0.0	184
+-185	0.0333731174468994	0.0300000000000011	0.0300000000000011	0.0	185
+-186	0.0330700874328613	0.0399999999999991	0.0399999999999991	0.0	186
+-187	0.0334250926971436	0.0300000000000011	0.0300000000000011	0.0	187
+-188	0.0619869232177734	0.0600000000000023	0.0600000000000023	0.0	188
+-189	0.0336270332336426	0.0399999999999991	0.0399999999999991	0.0	189
+-190	0.0331699848175049	0.029999999999994	0.029999999999994	0.0	190
+-191	0.033411979675293	0.0300000000000011	0.0300000000000011	0.0	191
+-192	0.0346980094909668	0.0399999999999991	0.0399999999999991	0.0	192
+-193	0.0330710411071777	0.0300000000000011	0.0300000000000011	0.0	193
+-194	0.0360589027404785	0.0399999999999991	0.0399999999999991	0.0	194
+-195	0.0341928005218506	0.0300000000000011	0.0300000000000011	0.0	195
+-196	0.0596940517425537	0.0600000000000023	0.0600000000000023	0.0	196
+-197	0.0352950096130371	0.0300000000000011	0.0300000000000011	0.0	197
+-198	0.0335190296173096	0.0399999999999991	0.0399999999999991	0.0	198
+-199	0.0334808826446533	0.0300000000000011	0.0300000000000011	0.0	199
+-200	0.0335469245910645	0.0399999999999991	0.0399999999999991	0.0	200
+-201	0.035862922668457	0.0300000000000011	0.0300000000000011	0.0	201
+-202	0.034390926361084	0.0399999999999991	0.0399999999999991	0.0	202
+-203	0.0333080291748047	0.0300000000000011	0.0300000000000011	0.0	203
+-204	0.0580418109893799	0.0599999999999952	0.0599999999999952	0.0	204
+-205	0.0345079898834229	0.0300000000000011	0.0300000000000011	0.0	205
+-206	0.041719913482666	0.0499999999999972	0.0399999999999991	0.01	206
+-207	0.0368390083312988	0.0399999999999991	0.0399999999999991	0.0	207
+-208	0.0351078510284424	0.0300000000000011	0.0300000000000011	0.0	208
+-209	0.0345809459686279	0.0399999999999991	0.0399999999999991	0.0	209
+-210	0.0339300632476807	0.0300000000000011	0.0300000000000011	0.0	210
+-211	0.0333361625671387	0.0399999999999991	0.0399999999999991	0.0	211
+-212	0.0581560134887695	0.0600000000000023	0.0600000000000023	0.0	212
+-213	0.0329880714416504	0.0300000000000011	0.0300000000000011	0.0	213
+-214	0.0360338687896729	0.0300000000000011	0.0300000000000011	0.0	214
+-215	0.0338609218597412	0.0399999999999991	0.0399999999999991	0.0	215
+-216	0.0329849720001221	0.0300000000000011	0.0300000000000011	0.0	216
+-217	0.0327110290527344	0.029999999999994	0.029999999999994	0.0	217
+-218	0.0328159332275391	0.0400000000000063	0.0400000000000063	0.0	218
+-219	0.0330610275268555	0.029999999999994	0.029999999999994	0.0	219
+-220	0.03336501121521	0.0300000000000011	0.0300000000000011	0.0	220
+-221	0.0611529350280762	0.0600000000000023	0.0600000000000023	0.0	221
+-222	0.0351941585540771	0.0399999999999991	0.0399999999999991	0.0	222
+-223	0.0333490371704102	0.0300000000000011	0.0300000000000011	0.0	223
+-224	0.0350041389465332	0.0399999999999991	0.0399999999999991	0.0	224
+-225	0.0333740711212158	0.0300000000000011	0.0300000000000011	0.0	225
+-226	0.0332489013671875	0.0300000000000011	0.0300000000000011	0.0	226
+-227	0.0336949825286865	0.0399999999999991	0.0399999999999991	0.0	227
+-228	0.035956859588623	0.0300000000000011	0.0300000000000011	0.0	228
+-229	0.0582809448242188	0.0599999999999952	0.0599999999999952	0.0	229
+-230	0.0335919857025146	0.0300000000000011	0.0300000000000011	0.0	230
+-231	0.0334489345550537	0.0399999999999991	0.0399999999999991	0.0	231
+-232	0.0346810817718506	0.0300000000000011	0.0300000000000011	0.0	232
+-233	0.0393500328063965	0.0399999999999991	0.0399999999999991	0.0	233
+-234	0.0365040302276611	0.0399999999999991	0.0399999999999991	0.0	234
+-235	0.0341880321502686	0.0300000000000011	0.0300000000000011	0.0	235
+-236	0.0340659618377686	0.0399999999999991	0.0399999999999991	0.0	236
+-237	0.0579462051391602	0.0500000000000043	0.0500000000000043	0.0	237
+-238	0.0337111949920654	0.0399999999999991	0.0399999999999991	0.0	238
+-239	0.0335190296173096	0.0300000000000011	0.0300000000000011	0.0	239
+-240	0.0335848331451416	0.0399999999999991	0.0399999999999991	0.0	240
+-241	0.0367398262023926	0.0300000000000011	0.0300000000000011	0.0	241
+-242	0.0346360206604004	0.0399999999999991	0.0399999999999991	0.0	242
+-243	0.0332989692687988	0.0300000000000011	0.0300000000000011	0.0	243
+-244	0.0345680713653564	0.029999999999994	0.029999999999994	0.0	244
+-245	0.0580320358276367	0.0600000000000023	0.0600000000000023	0.0	245
+-246	0.0333890914916992	0.0399999999999991	0.0399999999999991	0.0	246
+-247	0.0363030433654785	0.0300000000000011	0.0300000000000011	0.0	247
+-248	0.0343329906463623	0.0399999999999991	0.0399999999999991	0.0	248
+-249	0.0347940921783447	0.0300000000000011	0.0300000000000011	0.0	249
+-250	0.0332629680633545	0.0300000000000011	0.0300000000000011	0.0	250
+-251	0.0347621440887451	0.0399999999999991	0.0399999999999991	0.0	251
+-252	0.0334999561309814	0.0300000000000011	0.0300000000000011	0.0	252
+-253	0.0580670833587646	0.0600000000000023	0.0600000000000023	0.0	253
+-254	0.0367870330810547	0.0399999999999991	0.0399999999999991	0.0	254
+-255	0.0336589813232422	0.0300000000000011	0.0300000000000011	0.0	255
+-256	0.0331900119781494	0.029999999999994	0.029999999999994	0.0	256
+-257	0.0331740379333496	0.0399999999999991	0.0399999999999991	0.0	257
+-258	0.0331830978393555	0.0300000000000011	0.0300000000000011	0.0	258
+-259	0.037837028503418	0.0399999999999991	0.0399999999999991	0.0	259
+-260	0.0366449356079102	0.0300000000000011	0.0300000000000011	0.0	260
+-261	0.0612552165985107	0.0599999999999952	0.0599999999999952	0.0	261
+-262	0.0344550609588623	0.0300000000000011	0.0300000000000011	0.0	262
+-263	0.0333309173583984	0.0300000000000011	0.0300000000000011	0.0	263
+-264	0.0331869125366211	0.0399999999999991	0.0399999999999991	0.0	264
+-265	0.0332980155944824	0.0300000000000011	0.0300000000000011	0.0	265
+-266	0.0332081317901611	0.0300000000000011	0.0300000000000011	0.0	266
+-267	0.0328857898712158	0.0399999999999991	0.0399999999999991	0.0	267
+-268	0.036323070526123	0.0300000000000011	0.0300000000000011	0.0	268
+-269	0.0584030151367188	0.0599999999999952	0.0599999999999952	0.0	269
+-270	0.0336670875549316	0.0399999999999991	0.0399999999999991	0.0	270
+-271	0.0333220958709717	0.0300000000000011	0.0300000000000011	0.0	271
+-272	0.0331919193267822	0.0300000000000011	0.0300000000000011	0.0	272
+-273	0.0332930088043213	0.0399999999999991	0.0399999999999991	0.0	273
+-274	0.0363700389862061	0.0300000000000011	0.0300000000000011	0.0	274
+-275	0.0336799621582031	0.0399999999999991	0.0399999999999991	0.0	275
+-276	0.0346400737762451	0.0300000000000011	0.0300000000000011	0.0	276
+-277	0.0583391189575195	0.0600000000000023	0.0600000000000023	0.0	277
+-278	0.0353269577026367	0.0300000000000011	0.0300000000000011	0.0	278
+-279	0.0334451198577881	0.0399999999999991	0.0399999999999991	0.0	279
+-280	0.0338170528411865	0.0300000000000011	0.0300000000000011	0.0	280
+-281	0.0358221530914307	0.0399999999999991	0.0399999999999991	0.0	281
+-282	0.033682107925415	0.0300000000000011	0.0300000000000011	0.0	282
+-283	0.0331659317016602	0.029999999999994	0.029999999999994	0.0	283
+-284	0.0337538719177246	0.0399999999999991	0.0399999999999991	0.0	284
+-285	0.0577969551086426	0.0600000000000023	0.0600000000000023	0.0	285
+-286	0.0399131774902344	0.0399999999999991	0.0399999999999991	0.0	286
+-287	0.0358040332794189	0.0300000000000011	0.0300000000000011	0.0	287
+-288	0.0327050685882568	0.0300000000000011	0.0300000000000011	0.0	288
+-289	0.0338749885559082	0.0399999999999991	0.0399999999999991	0.0	289
+-290	0.0324099063873291	0.0300000000000011	0.0300000000000011	0.0	290
+-291	0.032336950302124	0.0300000000000011	0.0300000000000011	0.0	291
+-292	0.0333211421966553	0.0399999999999991	0.0399999999999991	0.0	292
+-293	0.0579719543457031	0.0499999999999972	0.0499999999999972	0.0	293
+-294	0.0362699031829834	0.0399999999999991	0.0399999999999991	0.0	294
+-295	0.0343790054321289	0.0300000000000011	0.0300000000000011	0.0	295
+-296	0.0331552028656006	0.0399999999999991	0.0399999999999991	0.0	296
+-297	0.0328569412231445	0.0300000000000011	0.0300000000000011	0.0	297
+-298	0.0329990386962891	0.0300000000000011	0.0300000000000011	0.0	298
+-299	0.0327639579772949	0.0399999999999991	0.0399999999999991	0.0	299
+-300	0.0331850051879883	0.0300000000000011	0.0300000000000011	0.0	300
+-301	0.0610020160675049	0.0600000000000023	0.0600000000000023	0.0	301
+-302	0.0331580638885498	0.0300000000000011	0.0300000000000011	0.0	302
+-303	0.0325980186462402	0.0399999999999991	0.0399999999999991	0.0	303
+-304	0.0325989723205566	0.029999999999994	0.029999999999994	0.0	304
+-305	0.0341310501098633	0.0300000000000011	0.0300000000000011	0.0	305
+-306	0.0326070785522461	0.0399999999999991	0.0399999999999991	0.0	306
+-307	0.032383918762207	0.0300000000000011	0.0300000000000011	0.0	307
+-308	0.0361649990081787	0.0300000000000011	0.0300000000000011	0.0	308
+-309	0.0585198402404785	0.0600000000000023	0.0600000000000023	0.0	309
+-310	0.0331130027770996	0.0399999999999991	0.0399999999999991	0.0	310
+-311	0.0329859256744385	0.0300000000000011	0.0300000000000011	0.0	311
+-312	0.0329129695892334	0.0300000000000011	0.0300000000000011	0.0	312
+-313	0.0405938625335693	0.0399999999999991	0.0399999999999991	0.0	313
+-314	0.0329680442810059	0.0300000000000011	0.0300000000000011	0.0	314
+-315	0.0359671115875244	0.0399999999999991	0.0399999999999991	0.0	315
+-316	0.0347959995269775	0.0399999999999991	0.0399999999999991	0.0	316
+-317	0.0335128307342529	0.0300000000000011	0.0300000000000011	0.0	317
+-318	0.0581021308898926	0.0599999999999952	0.0599999999999952	0.0	318
+-319	0.033390998840332	0.0300000000000011	0.0300000000000011	0.0	319
+-320	0.0332300662994385	0.0300000000000011	0.0300000000000011	0.0	320
+-321	0.0363011360168457	0.0399999999999991	0.0399999999999991	0.0	321
+-322	0.0331549644470215	0.0300000000000011	0.0300000000000011	0.0	322
+-323	0.0341241359710693	0.0399999999999991	0.0399999999999991	0.0	323
+-324	0.0336441993713379	0.0300000000000011	0.0300000000000011	0.0	324
+-325	0.0336179733276367	0.0300000000000011	0.0300000000000011	0.0	325
+-326	0.0578069686889648	0.0599999999999952	0.0599999999999952	0.0	326
+-327	0.0333080291748047	0.0400000000000063	0.0400000000000063	0.0	327
+-328	0.0363671779632568	0.029999999999994	0.029999999999994	0.0	328
+-329	0.0343098640441895	0.0400000000000063	0.0400000000000063	0.0	329
+-330	0.033099889755249	0.029999999999994	0.029999999999994	0.0	330
+-331	0.0332112312316895	0.0300000000000011	0.0300000000000011	0.0	331
+-332	0.0349369049072266	0.0399999999999991	0.0399999999999991	0.0	332
+-333	0.033397912979126	0.0300000000000011	0.0300000000000011	0.0	333
+-334	0.0581459999084473	0.0600000000000023	0.0600000000000023	0.0	334
+-335	0.0366590023040771	0.0300000000000011	0.0300000000000011	0.0	335
+-336	0.0336220264434814	0.0399999999999991	0.0399999999999991	0.0	336
+-337	0.0332498550415039	0.0300000000000011	0.0300000000000011	0.0	337
+-338	0.0331971645355225	0.0399999999999991	0.0399999999999991	0.0	338
+-339	0.0332369804382324	0.0300000000000011	0.0300000000000011	0.0	339
+-340	0.0404288768768311	0.0399999999999991	0.0399999999999991	0.0	340
+-341	0.0335631370544434	0.0300000000000011	0.0300000000000011	0.0	341
+-342	0.0613040924072266	0.0599999999999952	0.0599999999999952	0.0	342
+-343	0.0339159965515137	0.0399999999999991	0.0399999999999991	0.0	343
+-344	0.0333619117736816	0.0300000000000011	0.0300000000000011	0.0	344
+-345	0.0331740379333496	0.0300000000000011	0.0300000000000011	0.0	345
+-346	0.0331220626831055	0.0399999999999991	0.0399999999999991	0.0	346
+-347	0.0331380367279053	0.0300000000000011	0.0300000000000011	0.0	347
+-348	0.0358641147613525	0.0399999999999991	0.0399999999999991	0.0	348
+-349	0.0335299968719482	0.0300000000000011	0.0300000000000011	0.0	349
+-350	0.0584430694580078	0.0600000000000023	0.0600000000000023	0.0	350
+-351	0.0353488922119141	0.029999999999994	0.029999999999994	0.0	351
+-352	0.03336501121521	0.0400000000000063	0.0400000000000063	0.0	352
+-353	0.0332889556884766	0.029999999999994	0.029999999999994	0.0	353
+-354	0.0334041118621826	0.0300000000000011	0.0300000000000011	0.0	354
+-355	0.0363349914550781	0.0399999999999991	0.0399999999999991	0.0	355
+-356	0.0346698760986328	0.0300000000000011	0.0300000000000011	0.0	356
+-357	0.0335850715637207	0.0399999999999991	0.0399999999999991	0.0	357
+-358	0.0599031448364258	0.0600000000000023	0.0600000000000023	0.0	358
+-359	0.0340287685394287	0.0300000000000011	0.0300000000000011	0.0	359
+-360	0.0335278511047363	0.0300000000000011	0.0300000000000011	0.0	360
+-361	0.0349221229553223	0.0399999999999991	0.0399999999999991	0.0	361
+-362	0.0355300903320312	0.0300000000000011	0.0300000000000011	0.0	362
+-363	0.0349609851837158	0.0399999999999991	0.0399999999999991	0.0	363
+-364	0.0329630374908447	0.0300000000000011	0.0300000000000011	0.0	364
+-365	0.0333020687103271	0.0399999999999991	0.0399999999999991	0.0	365
+-366	0.065701961517334	0.0599999999999952	0.0599999999999952	0.0	366
+-367	0.0337100028991699	0.0400000000000063	0.0400000000000063	0.0	367
+-368	0.0366199016571045	0.029999999999994	0.029999999999994	0.0	368
+-369	0.0340349674224854	0.0400000000000063	0.0400000000000063	0.0	369
+-370	0.0338621139526367	0.029999999999994	0.029999999999994	0.0	370
+-371	0.0332958698272705	0.0300000000000011	0.0300000000000011	0.0	371
+-372	0.0330479145050049	0.0399999999999991	0.0399999999999991	0.0	372
+-373	0.033778190612793	0.0300000000000011	0.0300000000000011	0.0	373
+-374	0.0588729381561279	0.0600000000000023	0.0600000000000023	0.0	374
+-375	0.036099910736084	0.0399999999999991	0.0399999999999991	0.0	375
+-376	0.0358579158782959	0.0300000000000011	0.0300000000000011	0.0	376
+-377	0.03354811668396	0.0399999999999991	0.0399999999999991	0.0	377
+-378	0.0334241390228271	0.0300000000000011	0.0300000000000011	0.0	378
+-379	0.0335249900817871	0.0300000000000011	0.0300000000000011	0.0	379
+-380	0.0329539775848389	0.0399999999999991	0.0399999999999991	0.0	380
+-381	0.0334098339080811	0.0300000000000011	0.0300000000000011	0.0	381
+-382	0.0632669925689697	0.0599999999999952	0.0599999999999952	0.0	382
+-383	0.033499002456665	0.0399999999999991	0.0399999999999991	0.0	383
+-384	0.0333430767059326	0.0300000000000011	0.0300000000000011	0.0	384
+-385	0.03495192527771	0.0300000000000011	0.0300000000000011	0.0	385
+-386	0.0333530902862549	0.0399999999999991	0.0399999999999991	0.0	386
+-387	0.0335168838500977	0.0300000000000011	0.0300000000000011	0.0	387
+-388	0.0355610847473145	0.0399999999999991	0.0399999999999991	0.0	388
+-389	0.0336718559265137	0.0300000000000011	0.0300000000000011	0.0	389
+-390	0.0594749450683594	0.0600000000000023	0.0600000000000023	0.0	390
+-391	0.03342604637146	0.029999999999994	0.029999999999994	0.0	391
+-392	0.0333490371704102	0.0400000000000063	0.0400000000000063	0.0	392
+-393	0.0401210784912109	0.0399999999999991	0.0399999999999991	0.0	393
+-394	0.0331671237945557	0.0300000000000011	0.0300000000000011	0.0	394
+-395	0.0364630222320557	0.0399999999999991	0.0399999999999991	0.0	395
+-396	0.0339119434356689	0.0300000000000011	0.0300000000000011	0.0	396
+-397	0.0332529544830322	0.029999999999994	0.029999999999994	0.0	397
+-398	0.0581979751586914	0.0600000000000023	0.0600000000000023	0.0	398
+-399	0.0337510108947754	0.0300000000000011	0.0300000000000011	0.0	399
+-400	0.0334861278533936	0.0300000000000011	0.0300000000000011	0.0	400
+-401	0.0362730026245117	0.0300000000000011	0.0300000000000011	0.0	401
+-402	0.03330397605896	0.0399999999999991	0.0399999999999991	0.0	402
+-403	0.0347201824188232	0.0300000000000011	0.0300000000000011	0.0	403
+-404	0.0331459045410156	0.0399999999999991	0.0399999999999991	0.0	404
+-405	0.0333847999572754	0.0300000000000011	0.0300000000000011	0.0	405
+-406	0.0580871105194092	0.0599999999999952	0.0599999999999952	0.0	406
+-407	0.0334339141845703	0.0300000000000011	0.0300000000000011	0.0	407
+-408	0.0370500087738037	0.0399999999999991	0.0399999999999991	0.0	408
+-409	0.0344600677490234	0.0300000000000011	0.0300000000000011	0.0	409
+-410	0.0331830978393555	0.0399999999999991	0.0399999999999991	0.0	410
+-411	0.0335149765014648	0.0300000000000011	0.0300000000000011	0.0	411
+-412	0.0346379280090332	0.0300000000000011	0.0300000000000011	0.0	412
+-413	0.0334169864654541	0.0399999999999991	0.0399999999999991	0.0	413
+-414	0.0582180023193359	0.0600000000000023	0.0600000000000023	0.0	414
+-415	0.0361251831054688	0.0300000000000011	0.0300000000000011	0.0	415
+-416	0.0350911617279053	0.0399999999999991	0.0399999999999991	0.0	416
+-417	0.0334968566894531	0.0300000000000011	0.0300000000000011	0.0	417
+-418	0.0332348346710205	0.029999999999994	0.029999999999994	0.0	418
+-419	0.0332620143890381	0.0400000000000063	0.0400000000000063	0.0	419
+-420	0.0409719944000244	0.0399999999999991	0.0399999999999991	0.0	420
+-421	0.0333600044250488	0.0300000000000011	0.0300000000000011	0.0	421
+-422	0.0630040168762207	0.0599999999999952	0.0599999999999952	0.0	422
+-423	0.0343139171600342	0.0399999999999991	0.0399999999999991	0.0	423
+-424	0.0333878993988037	0.0300000000000011	0.0300000000000011	0.0	424
+-425	0.0333099365234375	0.0300000000000011	0.0300000000000011	0.0	425
+-426	0.0331859588623047	0.0399999999999991	0.0399999999999991	0.0	426
+-427	0.0331718921661377	0.0300000000000011	0.0300000000000011	0.0	427
+-428	0.0377118587493896	0.0399999999999991	0.0399999999999991	0.0	428
+-429	0.0332839488983154	0.0300000000000011	0.0300000000000011	0.0	429
+-430	0.0597720146179199	0.0600000000000023	0.0600000000000023	0.0	430
+-431	0.0336380004882812	0.029999999999994	0.029999999999994	0.0	431
+-432	0.0333139896392822	0.0400000000000063	0.0400000000000063	0.0	432
+-433	0.0331470966339111	0.029999999999994	0.029999999999994	0.0	433
+-434	0.0334060192108154	0.0300000000000011	0.0300000000000011	0.0	434
+-435	0.0361709594726562	0.0399999999999991	0.0399999999999991	0.0	435
+-436	0.0336370468139648	0.0300000000000011	0.0300000000000011	0.0	436
+-437	0.0333271026611328	0.0399999999999991	0.0399999999999991	0.0	437
+-438	0.0596990585327148	0.0500000000000043	0.0500000000000043	0.0	438
+-439	0.0337719917297363	0.0399999999999991	0.0399999999999991	0.0	439
+-440	0.0335121154785156	0.0300000000000011	0.0300000000000011	0.0	440
+-441	0.0355470180511475	0.0399999999999991	0.0399999999999991	0.0	441
+-442	0.0341551303863525	0.0300000000000011	0.0300000000000011	0.0	442
+-443	0.033562183380127	0.0399999999999991	0.0399999999999991	0.0	443
+-444	0.033012866973877	0.0300000000000011	0.0300000000000011	0.0	444
+-445	0.0334839820861816	0.029999999999994	0.029999999999994	0.0	445
+-446	0.064687967300415	0.0700000000000003	0.0700000000000003	0.0	446
+-447	0.0336949825286865	0.0300000000000011	0.0300000000000011	0.0	447
+-448	0.0361959934234619	0.0399999999999991	0.0399999999999991	0.0	448
+-449	0.0349109172821045	0.0300000000000011	0.0300000000000011	0.0	449
+-450	0.0339109897613525	0.0399999999999991	0.0399999999999991	0.0	450
+-451	0.0331861972808838	0.0300000000000011	0.0300000000000011	0.0	451
+-452	0.0328741073608398	0.0300000000000011	0.0300000000000011	0.0	452
+-453	0.0332541465759277	0.0399999999999991	0.0399999999999991	0.0	453
+-454	0.0579590797424316	0.0500000000000043	0.0500000000000043	0.0	454
+-455	0.0366909503936768	0.0399999999999991	0.0399999999999991	0.0	455
+-456	0.0345089435577393	0.0300000000000011	0.0300000000000011	0.0	456
+-457	0.0332140922546387	0.0399999999999991	0.0399999999999991	0.0	457
+-458	0.0330581665039062	0.029999999999994	0.029999999999994	0.0	458
+-459	0.0331969261169434	0.0300000000000011	0.0300000000000011	0.0	459
+-460	0.0328719615936279	0.0399999999999991	0.0399999999999991	0.0	460
+-461	0.033440113067627	0.0300000000000011	0.0300000000000011	0.0	461
+-462	0.0617790222167969	0.0600000000000023	0.0600000000000023	0.0	462
+-463	0.033750057220459	0.0300000000000011	0.0300000000000011	0.0	463
+-464	0.0332808494567871	0.0399999999999991	0.0399999999999991	0.0	464
+-465	0.0350358486175537	0.0300000000000011	0.0300000000000011	0.0	465
+-466	0.0332400798797607	0.0399999999999991	0.0399999999999991	0.0	466
+-467	0.0332620143890381	0.0300000000000011	0.0300000000000011	0.0	467
+-468	0.0343048572540283	0.0300000000000011	0.0300000000000011	0.0	468
+-469	0.0357210636138916	0.0399999999999991	0.0399999999999991	0.0	469
+-470	0.0584299564361572	0.0599999999999952	0.0599999999999952	0.0	470
+-471	0.0334739685058594	0.0300000000000011	0.0300000000000011	0.0	471
+-472	0.0334410667419434	0.0300000000000011	0.0300000000000011	0.0	472
+-473	0.0423488616943359	0.0499999999999972	0.0499999999999972	0.0	473
+-474	0.033174991607666	0.0300000000000011	0.0300000000000011	0.0	474
+-475	0.0360331535339355	0.0300000000000011	0.0300000000000011	0.0	475
+-476	0.036052942276001	0.0399999999999991	0.0399999999999991	0.0	476
+-477	0.0333659648895264	0.0300000000000011	0.0300000000000011	0.0	477
+-478	0.0577530860900879	0.0600000000000023	0.0600000000000023	0.0	478
+-479	0.0335140228271484	0.0399999999999991	0.0399999999999991	0.0	479
+-480	0.0333487987518311	0.0300000000000011	0.0300000000000011	0.0	480
+-481	0.0346870422363281	0.0300000000000011	0.0300000000000011	0.0	481
+-482	0.0349428653717041	0.0399999999999991	0.0399999999999991	0.0	482
+-483	0.0336499214172363	0.0300000000000011	0.0300000000000011	0.0	483
+-484	0.0331089496612549	0.0399999999999991	0.0399999999999991	0.0	484
+-485	0.0334107875823975	0.029999999999994	0.029999999999994	0.0	485
+-486	0.0580129623413086	0.0600000000000023	0.0600000000000023	0.0	486
+-487	0.0336880683898926	0.0300000000000011	0.0300000000000011	0.0	487
+-488	0.0364341735839844	0.0399999999999991	0.0399999999999991	0.0	488
+-489	0.0356800556182861	0.0300000000000011	0.0300000000000011	0.0	489
+-490	0.033689022064209	0.0399999999999991	0.0399999999999991	0.0	490
+-491	0.0335180759429932	0.0300000000000011	0.0300000000000011	0.0	491
+-492	0.0345418453216553	0.0300000000000011	0.0300000000000011	0.0	492
+-493	0.0336930751800537	0.0399999999999991	0.0399999999999991	0.0	493
+-494	0.0580000877380371	0.0600000000000023	0.0600000000000023	0.0	494
+-495	0.0361080169677734	0.029999999999994	0.029999999999994	0.0	495
+-496	0.0336720943450928	0.0400000000000063	0.0400000000000063	0.0	496
+-497	0.0333058834075928	0.029999999999994	0.029999999999994	0.0	497
+-498	0.0333189964294434	0.0300000000000011	0.0300000000000011	0.0	498
+-499	0.0332541465759277	0.0399999999999991	0.0399999999999991	0.0	499
+-500	0.0402250289916992	0.0399999999999991	0.0399999999999991	0.0	500
+-501	0.0334169864654541	0.0300000000000011	0.0300000000000011	0.0	501
+-502	0.0628290176391602	0.0600000000000023	0.0600000000000023	0.0	502
+-503	0.0341489315032959	0.0399999999999991	0.0399999999999991	0.0	503
+-504	0.0333640575408936	0.0300000000000011	0.0300000000000011	0.0	504
+-505	0.03312087059021	0.0300000000000011	0.0300000000000011	0.0	505
+-506	0.0330550670623779	0.0399999999999991	0.0399999999999991	0.0	506
+-507	0.0333640575408936	0.0300000000000011	0.0300000000000011	0.0	507
+-508	0.0347590446472168	0.0300000000000011	0.0300000000000011	0.0	508
+-509	0.0346050262451172	0.0399999999999991	0.0399999999999991	0.0	509
+-510	0.0589158535003662	0.0599999999999952	0.0599999999999952	0.0	510
+-511	0.0335807800292969	0.0300000000000011	0.0300000000000011	0.0	511
+-512	0.0333380699157715	0.0399999999999991	0.0399999999999991	0.0	512
+-513	0.0332279205322266	0.0300000000000011	0.0300000000000011	0.0	513
+-514	0.0332310199737549	0.0300000000000011	0.0300000000000011	0.0	514
+-515	0.0361509323120117	0.0399999999999991	0.0399999999999991	0.0	515
+-516	0.0350699424743652	0.0300000000000011	0.0300000000000011	0.0	516
+-517	0.0337638854980469	0.0399999999999991	0.0399999999999991	0.0	517
+-518	0.0580861568450928	0.0600000000000023	0.0600000000000023	0.0	518
+-519	0.035269021987915	0.0300000000000011	0.0300000000000011	0.0	519
+-520	0.0334429740905762	0.029999999999994	0.029999999999994	0.0	520
+-521	0.0334320068359375	0.0400000000000063	0.0400000000000063	0.0	521
+-522	0.0365338325500488	0.029999999999994	0.029999999999994	0.0	522
+-523	0.0335922241210938	0.0400000000000063	0.0400000000000063	0.0	523
+-524	0.0331869125366211	0.029999999999994	0.029999999999994	0.0	524
+-525	0.0333640575408936	0.0300000000000011	0.0300000000000011	0.0	525
+-526	0.0657279491424561	0.0700000000000003	0.0700000000000003	0.0	526
+-527	0.0335869789123535	0.0300000000000011	0.0300000000000011	0.0	527
+-528	0.0365140438079834	0.0399999999999991	0.0399999999999991	0.0	528
+-529	0.033782958984375	0.0300000000000011	0.0300000000000011	0.0	529
+-530	0.0337071418762207	0.0399999999999991	0.0399999999999991	0.0	530
+-531	0.0332880020141602	0.0300000000000011	0.0300000000000011	0.0	531
+-532	0.0329639911651611	0.0300000000000011	0.0300000000000011	0.0	532
+-533	0.033315896987915	0.0399999999999991	0.0399999999999991	0.0	533
+-534	0.0582611560821533	0.0499999999999972	0.0499999999999972	0.0	534
+-535	0.0367379188537598	0.0399999999999991	0.0399999999999991	0.0	535
+-536	0.033797025680542	0.0400000000000063	0.0400000000000063	0.0	536
+-537	0.0335040092468262	0.029999999999994	0.029999999999994	0.0	537
+-538	0.0333931446075439	0.0300000000000011	0.0300000000000011	0.0	538
+-539	0.033318042755127	0.0399999999999991	0.0399999999999991	0.0	539
+-540	0.0329570770263672	0.0300000000000011	0.0300000000000011	0.0	540
+-541	0.0334439277648926	0.0300000000000011	0.0300000000000011	0.0	541
+-542	0.0605781078338623	0.0600000000000023	0.0600000000000023	0.0	542
+-543	0.0348639488220215	0.0399999999999991	0.0399999999999991	0.0	543
+-544	0.0333831310272217	0.0300000000000011	0.0300000000000011	0.0	544
+-545	0.0333919525146484	0.029999999999994	0.029999999999994	0.0	545
+-546	0.0348379611968994	0.0400000000000063	0.0400000000000063	0.0	546
+-547	0.0334489345550537	0.029999999999994	0.029999999999994	0.0	547
+-548	0.0333089828491211	0.0400000000000063	0.0400000000000063	0.0	548
+-549	0.0365209579467773	0.029999999999994	0.029999999999994	0.0	549
+-550	0.0601961612701416	0.0600000000000023	0.0600000000000023	0.0	550
+-551	0.0337119102478027	0.0300000000000011	0.0300000000000011	0.0	551
+-552	0.0332701206207275	0.0399999999999991	0.0399999999999991	0.0	552
+-553	0.0401608943939209	0.0399999999999991	0.0399999999999991	0.0	553
+-554	0.0333070755004883	0.0300000000000011	0.0300000000000011	0.0	554
+-555	0.0364260673522949	0.0399999999999991	0.0399999999999991	0.0	555
+-556	0.0348329544067383	0.0300000000000011	0.0300000000000011	0.0	556
+-557	0.0339481830596924	0.0399999999999991	0.0399999999999991	0.0	557
+-558	0.0576767921447754	0.0499999999999972	0.0499999999999972	0.0	558
+-559	0.0335049629211426	0.0300000000000011	0.0300000000000011	0.0	559
+-560	0.0332691669464111	0.029999999999994	0.029999999999994	0.0	560
+-561	0.0332450866699219	0.0400000000000063	0.0400000000000063	0.0	561
+-562	0.037883996963501	0.029999999999994	0.029999999999994	0.0	562
+-563	0.0370709896087646	0.0400000000000063	0.0400000000000063	0.0	563
+-564	0.0331628322601318	0.029999999999994	0.029999999999994	0.0	564
+-565	0.0335371494293213	0.0399999999999991	0.0399999999999991	0.0	565
+-566	0.0579180717468262	0.0500000000000043	0.0500000000000043	0.0	566
+-567	0.0335509777069092	0.0399999999999991	0.0399999999999991	0.0	567
+-568	0.0369341373443604	0.0300000000000011	0.0300000000000011	0.0	568
+-569	0.0334761142730713	0.0399999999999991	0.0399999999999991	0.0	569
+-570	0.0333311557769775	0.0300000000000011	0.0300000000000011	0.0	570
+-571	0.0333850383758545	0.0300000000000011	0.0300000000000011	0.0	571
+-572	0.0344130992889404	0.0399999999999991	0.0399999999999991	0.0	572
+-573	0.0333690643310547	0.0300000000000011	0.0300000000000011	0.0	573
+-574	0.0581290721893311	0.0599999999999952	0.0599999999999952	0.0	574
+-575	0.0367560386657715	0.0399999999999991	0.0399999999999991	0.0	575
+-576	0.0336780548095703	0.0300000000000011	0.0300000000000011	0.0	576
+-577	0.0331878662109375	0.0300000000000011	0.0300000000000011	0.0	577
+-578	0.0332210063934326	0.0399999999999991	0.0399999999999991	0.0	578
+-579	0.0332109928131104	0.0300000000000011	0.0300000000000011	0.0	579
+-580	0.0409071445465088	0.0399999999999991	0.0399999999999991	0.0	580
+-581	0.033595085144043	0.0300000000000011	0.0300000000000011	0.0	581
+-582	0.0607550144195557	0.0600000000000023	0.0600000000000023	0.0	582
+-583	0.0355041027069092	0.0399999999999991	0.0399999999999991	0.0	583
+-584	0.0334818363189697	0.0300000000000011	0.0300000000000011	0.0	584
+-585	0.0333139896392822	0.0399999999999991	0.0399999999999991	0.0	585
+-586	0.0332391262054443	0.0300000000000011	0.0300000000000011	0.0	586
+-587	0.0332348346710205	0.029999999999994	0.029999999999994	0.0	587
+-588	0.0332849025726318	0.0400000000000063	0.0400000000000063	0.0	588
+-589	0.0360300540924072	0.029999999999994	0.029999999999994	0.0	589
+-590	0.0599799156188965	0.0600000000000023	0.0600000000000023	0.0	590
+-591	0.0335240364074707	0.0399999999999991	0.0399999999999991	0.0	591
+-592	0.0333631038665771	0.0300000000000011	0.0300000000000011	0.0	592
+-593	0.0332529544830322	0.0300000000000011	0.0300000000000011	0.0	593
+-594	0.0335328578948975	0.0399999999999991	0.0399999999999991	0.0	594
+-595	0.0370910167694092	0.0300000000000011	0.0300000000000011	0.0	595
+-596	0.0335230827331543	0.0399999999999991	0.0399999999999991	0.0	596
+-597	0.0337550640106201	0.0300000000000011	0.0300000000000011	0.0	597
+-598	0.0580778121948242	0.0599999999999952	0.0599999999999952	0.0	598
+-599	0.0352489948272705	0.0300000000000011	0.0300000000000011	0.0	599
+-600	0.0334210395812988	0.0399999999999991	0.0399999999999991	0.0	600
+-601	0.0336451530456543	0.0300000000000011	0.0300000000000011	0.0	601
+-602	0.0362639427185059	0.0399999999999991	0.0399999999999991	0.0	602
+-603	0.0335409641265869	0.0300000000000011	0.0300000000000011	0.0	603
+-604	0.0330269336700439	0.0300000000000011	0.0300000000000011	0.0	604
+-605	0.033350944519043	0.0399999999999991	0.0399999999999991	0.0	605
+-606	0.0649051666259766	0.0600000000000023	0.0600000000000023	0.0	606
+-607	0.0337560176849365	0.0399999999999991	0.0399999999999991	0.0	607
+-608	0.0365309715270996	0.0300000000000011	0.0300000000000011	0.0	608
+-609	0.0352151393890381	0.0399999999999991	0.0399999999999991	0.0	609
+-610	0.0339179039001465	0.0300000000000011	0.0300000000000011	0.0	610
+-611	0.0331799983978271	0.0300000000000011	0.0300000000000011	0.0	611
+-612	0.0330498218536377	0.0399999999999991	0.0399999999999991	0.0	612
+-613	0.0336270332336426	0.0300000000000011	0.0300000000000011	0.0	613
+-614	0.0577888488769531	0.0599999999999952	0.0599999999999952	0.0	614
+-615	0.0366761684417725	0.0399999999999991	0.0399999999999991	0.0	615
+-616	0.0336871147155762	0.0300000000000011	0.0300000000000011	0.0	616
+-617	0.0334889888763428	0.0300000000000011	0.0300000000000011	0.0	617
+-618	0.033146858215332	0.0399999999999991	0.0399999999999991	0.0	618
+-619	0.0333569049835205	0.0300000000000011	0.0300000000000011	0.0	619
+-620	0.0330309867858887	0.0300000000000011	0.0300000000000011	0.0	620
+-621	0.0333929061889648	0.0399999999999991	0.0399999999999991	0.0	621
+-622	0.0609011650085449	0.0600000000000023	0.0600000000000023	0.0	622
+-623	0.0338809490203857	0.0300000000000011	0.0300000000000011	0.0	623
+-624	0.0332272052764893	0.029999999999994	0.029999999999994	0.0	624
+-625	0.0336441993713379	0.0399999999999991	0.0399999999999991	0.0	625
+-626	0.035059928894043	0.0300000000000011	0.0300000000000011	0.0	626
+-627	0.0334160327911377	0.0399999999999991	0.0399999999999991	0.0	627
+-628	0.0334069728851318	0.0300000000000011	0.0300000000000011	0.0	628
+-629	0.0366249084472656	0.0399999999999991	0.0399999999999991	0.0	629
+-630	0.0583260059356689	0.0500000000000043	0.0500000000000043	0.0	630
+-631	0.0333540439605713	0.0399999999999991	0.0399999999999991	0.0	631
+-632	0.0333960056304932	0.0300000000000011	0.0300000000000011	0.0	632
+-633	0.0413072109222412	0.0399999999999991	0.0399999999999991	0.0	633
+-634	0.0332448482513428	0.0399999999999991	0.0399999999999991	0.0	634
+-635	0.0363118648529053	0.0300000000000011	0.0300000000000011	0.0	635
+-636	0.035132884979248	0.0399999999999991	0.0399999999999991	0.0	636
+-637	0.0339901447296143	0.0300000000000011	0.0300000000000011	0.0	637
+-638	0.0578219890594482	0.0599999999999952	0.0599999999999952	0.0	638
+-639	0.0334219932556152	0.0300000000000011	0.0300000000000011	0.0	639
+-640	0.0333530902862549	0.0399999999999991	0.0399999999999991	0.0	640
+-641	0.033282995223999	0.0300000000000011	0.0300000000000011	0.0	641
+-642	0.0364758968353271	0.0399999999999991	0.0399999999999991	0.0	642
+-643	0.0333881378173828	0.0300000000000011	0.0300000000000011	0.0	643
+-644	0.0334060192108154	0.0300000000000011	0.0300000000000011	0.0	644
+-645	0.0334770679473877	0.0399999999999991	0.0399999999999991	0.0	645
+-646	0.0579509735107422	0.0500000000000043	0.0500000000000043	0.0	646
+-647	0.0336329936981201	0.0399999999999991	0.0399999999999991	0.0	647
+-648	0.0373489856719971	0.0399999999999991	0.0399999999999991	0.0	648
+-649	0.0342509746551514	0.0300000000000011	0.0300000000000011	0.0	649
+-650	0.0337338447570801	0.0300000000000011	0.0300000000000011	0.0	650
+-651	0.0333359241485596	0.0399999999999991	0.0399999999999991	0.0	651
+-652	0.0332560539245605	0.029999999999994	0.029999999999994	0.0	652
+-653	0.034912109375	0.029999999999994	0.0300000000000011	0.0	653
+-654	0.0582709312438965	0.0600000000000023	0.0600000000000023	0.0	654
+-655	0.0366790294647217	0.0400000000000063	0.0400000000000063	0.0	655
+-656	0.0336661338806152	0.0299999999999869	0.0299999999999869	0.0	656
+-657	0.0334138870239258	0.0400000000000063	0.0400000000000063	0.0	657
+-658	0.033390998840332	0.0300000000000011	0.0300000000000011	0.0	658
+-659	0.0330209732055664	0.0300000000000011	0.0300000000000011	0.0	659
+-660	0.0407001972198486	0.039999999999992	0.039999999999992	0.0	660
+-661	0.0335381031036377	0.0400000000000063	0.0400000000000063	0.0	661
+-662	0.0610449314117432	0.0600000000000023	0.0600000000000023	0.0	662
+-663	0.0341410636901855	0.0300000000000011	0.0300000000000011	0.0	663
+-664	0.0333421230316162	0.039999999999992	0.039999999999992	0.0	664
+-665	0.0331799983978271	0.0300000000000011	0.0300000000000011	0.0	665
+-666	0.0331680774688721	0.0300000000000011	0.0300000000000011	0.0	666
+-667	0.0328528881072998	0.0400000000000063	0.0400000000000063	0.0	667
+-668	0.0334010124206543	0.0300000000000011	0.0300000000000011	0.0	668
+-669	0.0363960266113281	0.0300000000000011	0.0300000000000011	0.0	669
+-670	0.058311939239502	0.0599999999999881	0.0599999999999881	0.0	670
+-671	0.03330397605896	0.0400000000000063	0.0400000000000063	0.0	671
+-672	0.0332088470458984	0.0300000000000011	0.0300000000000011	0.0	672
+-673	0.0331571102142334	0.0300000000000011	0.0300000000000011	0.0	673
+-674	0.0347979068756104	0.039999999999992	0.039999999999992	0.0	674
+-675	0.0361380577087402	0.0300000000000011	0.0300000000000011	0.0	675
+-676	0.0341131687164307	0.0400000000000063	0.0400000000000063	0.0	676
+-677	0.03476881980896	0.0300000000000011	0.0300000000000011	0.0	677
+-678	0.058121919631958	0.0600000000000023	0.0600000000000023	0.0	678
+-679	0.0350527763366699	0.0300000000000011	0.0300000000000011	0.0	679
+-680	0.0333900451660156	0.039999999999992	0.039999999999992	0.0	680
+-681	0.033829927444458	0.0300000000000011	0.0300000000000011	0.0	681
+-682	0.0363891124725342	0.0400000000000063	0.0400000000000063	0.0	682
+-683	0.0345211029052734	0.0299999999999869	0.0299999999999869	0.0	683
+-684	0.0335590839385986	0.0400000000000063	0.0400000000000063	0.0	684
+-685	0.0574600696563721	0.0499999999999972	0.0499999999999972	0.0	685
+-686	0.041471004486084	0.0499999999999972	0.0499999999999972	0.0	686
+-687	0.0334889888763428	0.0300000000000011	0.0300000000000011	0.0	687
+-688	0.0362579822540283	0.0400000000000063	0.0400000000000063	0.0	688
+-689	0.033682107925415	0.0300000000000011	0.0300000000000011	0.0	689
+-690	0.0352790355682373	0.0300000000000011	0.0300000000000011	0.0	690
+-691	0.033221960067749	0.039999999999992	0.039999999999992	0.0	691
+-692	0.0330390930175781	0.0300000000000011	0.0300000000000011	0.0	692
+-693	0.0577991008758545	0.0600000000000023	0.0600000000000023	0.0	693
+-694	0.0340001583099365	0.0300000000000011	0.0300000000000011	0.0	694
+-695	0.0366599559783936	0.0400000000000063	0.0400000000000063	0.0	695
+-696	0.0336761474609375	0.0299999999999869	0.0299999999999869	0.0	696
+-697	0.0338170528411865	0.0400000000000063	0.0400000000000063	0.0	697
+-698	0.0334699153900146	0.0300000000000011	0.0300000000000011	0.0	698
+-699	0.0334680080413818	0.0300000000000011	0.0300000000000011	0.0	699
+-700	0.0334641933441162	0.039999999999992	0.039999999999992	0.0	700
+-701	0.0584831237792969	0.0700000000000074	0.0600000000000023	0.01	701
+-702	0.0371170043945312	0.0300000000000011	0.0300000000000011	0.0	702
+-703	0.0348899364471436	0.0400000000000063	0.0400000000000063	0.0	703
+-704	0.0332977771759033	0.0300000000000011	0.0300000000000011	0.0	704
+-705	0.0337090492248535	0.0300000000000011	0.0300000000000011	0.0	705
+-706	0.0363600254058838	0.039999999999992	0.039999999999992	0.0	706
+-707	0.0332589149475098	0.0300000000000011	0.0300000000000011	0.0	707
+-708	0.0335700511932373	0.0300000000000011	0.0300000000000011	0.0	708
+-709	0.0618710517883301	0.0699999999999932	0.0699999999999932	0.0	709
+-710	0.0338459014892578	0.0300000000000011	0.0300000000000011	0.0	710
+-711	0.0334110260009766	0.0300000000000011	0.0300000000000011	0.0	711
+-712	0.0332870483398438	0.0400000000000063	0.0400000000000063	0.0	712
+-713	0.0403330326080322	0.039999999999992	0.039999999999992	0.0	713
+-714	0.0332109928131104	0.0300000000000011	0.0300000000000011	0.0	714
+-715	0.0362699031829834	0.0400000000000063	0.0400000000000063	0.0	715
+-716	0.0349149703979492	0.0300000000000011	0.0300000000000011	0.0	716
+-717	0.0590531826019287	0.0600000000000023	0.0600000000000023	0.0	717
+-718	0.0336310863494873	0.039999999999992	0.039999999999992	0.0	718
+-719	0.0333178043365479	0.0300000000000011	0.0300000000000011	0.0	719
+-720	0.0332901477813721	0.0300000000000011	0.0300000000000011	0.0	720
+-721	0.0332920551300049	0.0400000000000063	0.0400000000000063	0.0	721
+-722	0.0363869667053223	0.0300000000000011	0.0300000000000011	0.0	722
+-723	0.0335569381713867	0.039999999999992	0.039999999999992	0.0	723
+-724	0.0336151123046875	0.0300000000000011	0.0300000000000011	0.0	724
+-725	0.0579018592834473	0.0600000000000023	0.0600000000000023	0.0	725
+-726	0.0334959030151367	0.0300000000000011	0.0300000000000011	0.0	726
+-727	0.0332579612731934	0.0300000000000011	0.0300000000000011	0.0	727
+-728	0.0363228321075439	0.039999999999992	0.039999999999992	0.0	728
+-729	0.034060001373291	0.0300000000000011	0.0300000000000011	0.0	729
+-730	0.0342481136322021	0.0400000000000063	0.0400000000000063	0.0	730
+-731	0.033174991607666	0.0300000000000011	0.0300000000000011	0.0	731
+-732	0.0333402156829834	0.039999999999992	0.039999999999992	0.0	732
+-733	0.0594391822814941	0.0499999999999972	0.0499999999999972	0.0	733
+-734	0.0340390205383301	0.0400000000000063	0.0400000000000063	0.0	734
+-735	0.0368988513946533	0.0300000000000011	0.0300000000000011	0.0	735
+-736	0.036196231842041	0.039999999999992	0.039999999999992	0.0	736
+-737	0.0333859920501709	0.0300000000000011	0.0300000000000011	0.0	737
+-738	0.0332441329956055	0.0400000000000063	0.0400000000000063	0.0	738
+-739	0.0330839157104492	0.0300000000000011	0.0300000000000011	0.0	739
+-740	0.0413918495178223	0.039999999999992	0.039999999999992	0.0	740
+-741	0.0612490177154541	0.0600000000000023	0.0600000000000023	0.0	741
+-742	0.0341551303863525	0.0300000000000011	0.0300000000000011	0.0	742
+-743	0.035499095916748	0.0400000000000063	0.0400000000000063	0.0	743
+-744	0.0333080291748047	0.0300000000000011	0.0300000000000011	0.0	744
+-745	0.0331649780273438	0.039999999999992	0.039999999999992	0.0	745
+-746	0.0332601070404053	0.0300000000000011	0.0300000000000011	0.0	746
+-747	0.0330040454864502	0.0300000000000011	0.0300000000000011	0.0	747
+-748	0.0333499908447266	0.0400000000000063	0.0400000000000063	0.0	748
+-749	0.0617849826812744	0.0599999999999881	0.0599999999999881	0.0	749
+-750	0.0337250232696533	0.0300000000000011	0.0300000000000011	0.0	750
+-751	0.0336470603942871	0.0400000000000063	0.0400000000000063	0.0	751
+-752	0.0334620475769043	0.0300000000000011	0.0300000000000011	0.0	752
+-753	0.0332620143890381	0.0300000000000011	0.0300000000000011	0.0	753
+-754	0.0332539081573486	0.039999999999992	0.039999999999992	0.0	754
+-755	0.036297082901001	0.0300000000000011	0.0300000000000011	0.0	755
+-756	0.0344269275665283	0.0400000000000063	0.0400000000000063	0.0	756
+-757	0.0584709644317627	0.0499999999999972	0.0499999999999972	0.0	757
+-758	0.0336380004882812	0.0300000000000011	0.0300000000000011	0.0	758
+-759	0.0352699756622314	0.0300000000000011	0.0300000000000011	0.0	759
+-760	0.0333750247955322	0.039999999999992	0.039999999999992	0.0	760
+-761	0.0338349342346191	0.0300000000000011	0.0300000000000011	0.0	761
+-762	0.0356252193450928	0.0400000000000063	0.0400000000000063	0.0	762
+-763	0.0349218845367432	0.0299999999999869	0.0299999999999869	0.0	763
+-764	0.0333728790283203	0.0300000000000011	0.0300000000000011	0.0	764
+-765	0.057542085647583	0.0600000000000023	0.0600000000000023	0.0	765
+-766	0.040518045425415	0.0400000000000063	0.0400000000000063	0.0	766
+-767	0.0333969593048096	0.039999999999992	0.039999999999992	0.0	767
+-768	0.036506175994873	0.0300000000000011	0.0300000000000011	0.0	768
+-769	0.034682035446167	0.0400000000000063	0.0400000000000063	0.0	769
+-770	0.0337419509887695	0.0300000000000011	0.0300000000000011	0.0	770
+-771	0.0334620475769043	0.0300000000000011	0.0300000000000011	0.0	771
+-772	0.0577020645141602	0.0600000000000023	0.0600000000000023	0.0	772
+-773	0.0334780216217041	0.039999999999992	0.039999999999992	0.0	773
+-774	0.0334508419036865	0.0300000000000011	0.0300000000000011	0.0	774
+-775	0.036329984664917	0.0300000000000011	0.0300000000000011	0.0	775
+-776	0.0336270332336426	0.039999999999992	0.039999999999992	0.0	776
+-777	0.0338649749755859	0.0300000000000011	0.0300000000000011	0.0	777
+-778	0.0331289768218994	0.0400000000000063	0.0400000000000063	0.0	778
+-779	0.0331418514251709	0.0300000000000011	0.0300000000000011	0.0	779
+-780	0.0577938556671143	0.0600000000000023	0.0600000000000023	0.0	780
+-781	0.0363731384277344	0.0300000000000011	0.0300000000000011	0.0	781
+-782	0.0350909233093262	0.039999999999992	0.039999999999992	0.0	782
+-783	0.0350501537322998	0.0300000000000011	0.0300000000000011	0.0	783
+-784	0.0335679054260254	0.0400000000000063	0.0400000000000063	0.0	784
+-785	0.0334410667419434	0.0300000000000011	0.0300000000000011	0.0	785
+-786	0.0349650382995605	0.0300000000000011	0.0300000000000011	0.0	786
+-787	0.0338919162750244	0.039999999999992	0.039999999999992	0.0	787
+-788	0.060966968536377	0.0600000000000023	0.0600000000000023	0.0	788
+-789	0.0341048240661621	0.0300000000000011	0.0300000000000011	0.0	789
+-790	0.0336289405822754	0.039999999999992	0.039999999999992	0.0	790
+-791	0.0333750247955322	0.0300000000000011	0.0300000000000011	0.0	791
+-792	0.0333640575408936	0.0300000000000011	0.0300000000000011	0.0	792
+-793	0.0411760807037354	0.0499999999999972	0.0499999999999972	0.0	793
+-794	0.0330638885498047	0.0300000000000011	0.0300000000000011	0.0	794
+-795	0.0362119674682617	0.0300000000000011	0.0300000000000011	0.0	795
+-796	0.0589008331298828	0.0499999999999972	0.0499999999999972	0.0	796
+-797	0.0335359573364258	0.0400000000000063	0.0400000000000063	0.0	797
+-798	0.0333008766174316	0.0300000000000011	0.0300000000000011	0.0	798
+-799	0.0347950458526611	0.0300000000000011	0.0300000000000011	0.0	799
+-800	0.0332999229431152	0.039999999999992	0.039999999999992	0.0	800
+-801	0.033350944519043	0.0300000000000011	0.0300000000000011	0.0	801
+-802	0.0362880229949951	0.0400000000000063	0.0400000000000063	0.0	802
+-803	0.0351760387420654	0.0299999999999869	0.0299999999999869	0.0	803
+-804	0.0578329563140869	0.0600000000000023	0.0600000000000023	0.0	804
+-805	0.0334799289703369	0.0300000000000011	0.0300000000000011	0.0	805
+-806	0.0332357883453369	0.0400000000000063	0.0400000000000063	0.0	806
+-807	0.0333900451660156	0.0300000000000011	0.0300000000000011	0.0	807
+-808	0.0362451076507568	0.039999999999992	0.039999999999992	0.0	808
+-809	0.0333170890808105	0.0300000000000011	0.0300000000000011	0.0	809
+-810	0.0343527793884277	0.0400000000000063	0.0400000000000063	0.0	810
+-811	0.0335409641265869	0.0300000000000011	0.0300000000000011	0.0	811
+-812	0.0592930316925049	0.0600000000000023	0.0600000000000023	0.0	812
+-813	0.0335829257965088	0.0299999999999869	0.0299999999999869	0.0	813
+-814	0.033574104309082	0.0300000000000011	0.0300000000000011	0.0	814
+-815	0.0360231399536133	0.0400000000000063	0.0400000000000063	0.0	815
+-816	0.033574104309082	0.0300000000000011	0.0300000000000011	0.0	816
+-817	0.0337851047515869	0.039999999999992	0.039999999999992	0.0	817
+-818	0.0332200527191162	0.0300000000000011	0.0300000000000011	0.0	818
+-819	0.0334579944610596	0.0300000000000011	0.0300000000000011	0.0	819
+-820	0.063668966293335	0.0600000000000023	0.0600000000000023	0.0	820
+-821	0.0360410213470459	0.0300000000000011	0.0300000000000011	0.0	821
+-822	0.0340430736541748	0.039999999999992	0.039999999999992	0.0	822
+-823	0.0340561866760254	0.0300000000000011	0.0300000000000011	0.0	823
+-824	0.0331687927246094	0.0400000000000063	0.0400000000000063	0.0	824
+-825	0.0331730842590332	0.0300000000000011	0.0300000000000011	0.0	825
+-826	0.0330498218536377	0.0300000000000011	0.0300000000000011	0.0	826
+-827	0.0333058834075928	0.039999999999992	0.039999999999992	0.0	827
+-828	0.0610239505767822	0.0600000000000023	0.0600000000000023	0.0	828
+-829	0.0348649024963379	0.0300000000000011	0.0300000000000011	0.0	829
+-830	0.0334899425506592	0.039999999999992	0.039999999999992	0.0	830
+-831	0.0332210063934326	0.0300000000000011	0.0300000000000011	0.0	831
+-832	0.0332589149475098	0.0300000000000011	0.0300000000000011	0.0	832
+-833	0.0330421924591064	0.0400000000000063	0.0400000000000063	0.0	833
+-834	0.033440113067627	0.0300000000000011	0.0300000000000011	0.0	834
+-835	0.0366320610046387	0.039999999999992	0.039999999999992	0.0	835
+-836	0.0392351150512695	0.039999999999992	0.039999999999992	0.0	836
+-837	0.0332860946655273	0.0400000000000063	0.0400000000000063	0.0	837
+-838	0.0337049961090088	0.0300000000000011	0.0300000000000011	0.0	838
+-839	0.0346989631652832	0.0300000000000011	0.0300000000000011	0.0	839
+-840	0.0334670543670654	0.039999999999992	0.039999999999992	0.0	840
+-841	0.0332751274108887	0.0300000000000011	0.0300000000000011	0.0	841
+-842	0.0364458560943604	0.0400000000000063	0.0400000000000063	0.0	842
+-843	0.0590341091156006	0.0600000000000023	0.0600000000000023	0.0	843
+-844	0.0335009098052979	0.0300000000000011	0.0300000000000011	0.0	844
+-845	0.0332801342010498	0.0300000000000011	0.0300000000000011	0.0	845
+-846	0.0411808490753174	0.0499999999999972	0.0499999999999972	0.0	846
+-847	0.0332710742950439	0.0300000000000011	0.0300000000000011	0.0	847
+-848	0.0353641510009766	0.0300000000000011	0.0300000000000011	0.0	848
+-849	0.0346250534057617	0.039999999999992	0.039999999999992	0.0	849
+-850	0.0339748859405518	0.0300000000000011	0.0300000000000011	0.0	850
+-851	0.0577869415283203	0.0600000000000023	0.0600000000000023	0.0	851
+-852	0.0328571796417236	0.0300000000000011	0.0300000000000011	0.0	852
+-853	0.0324909687042236	0.039999999999992	0.039999999999992	0.0	853
+-854	0.0326740741729736	0.0300000000000011	0.0300000000000011	0.0	854
+-855	0.035412073135376	0.0300000000000011	0.0300000000000011	0.0	855
+-856	0.0338008403778076	0.0400000000000063	0.0400000000000063	0.0	856
+-857	0.0328540802001953	0.0300000000000011	0.0300000000000011	0.0	857
+-858	0.0333800315856934	0.0300000000000011	0.0300000000000011	0.0	858
+-859	0.057999849319458	0.0600000000000023	0.0600000000000023	0.0	859
+-860	0.0334048271179199	0.039999999999992	0.039999999999992	0.0	860
+-861	0.0332610607147217	0.0300000000000011	0.0300000000000011	0.0	861
+-862	0.0369820594787598	0.0400000000000063	0.0400000000000063	0.0	862
+-863	0.0350849628448486	0.0299999999999869	0.0299999999999869	0.0	863
+-864	0.0332708358764648	0.0300000000000011	0.0300000000000011	0.0	864
+-865	0.0333819389343262	0.0400000000000063	0.0400000000000063	0.0	865
+-866	0.0360109806060791	0.0300000000000011	0.0300000000000011	0.0	866
+-867	0.058070182800293	0.0600000000000023	0.0600000000000023	0.0	867
+-868	0.0367460250854492	0.039999999999992	0.039999999999992	0.0	868
+-869	0.0335311889648438	0.0300000000000011	0.0300000000000011	0.0	869
+-870	0.034480094909668	0.0400000000000063	0.0400000000000063	0.0	870
+-871	0.0331480503082275	0.0300000000000011	0.0300000000000011	0.0	871
+-872	0.0331017971038818	0.0300000000000011	0.0300000000000011	0.0	872
+-873	0.0400230884552002	0.039999999999992	0.039999999999992	0.0	873
+-874	0.0334382057189941	0.0400000000000063	0.0400000000000063	0.0	874
+-875	0.0614311695098877	0.0600000000000023	0.0600000000000023	0.0	875
+-876	0.0357120037078857	0.0299999999999869	0.0299999999999869	0.0	876
+-877	0.0331881046295166	0.0400000000000063	0.0400000000000063	0.0	877
+-878	0.0333230495452881	0.0300000000000011	0.0300000000000011	0.0	878
+-879	0.033128023147583	0.0300000000000011	0.0300000000000011	0.0	879
+-880	0.0331029891967773	0.039999999999992	0.039999999999992	0.0	880
+-881	0.0331718921661377	0.0300000000000011	0.0300000000000011	0.0	881
+-882	0.0365970134735107	0.0400000000000063	0.0400000000000063	0.0	882
+-883	0.0594449043273926	0.0499999999999972	0.0499999999999972	0.0	883
+-884	0.0333600044250488	0.0400000000000063	0.0400000000000063	0.0	884
+-885	0.0332062244415283	0.0300000000000011	0.0300000000000011	0.0	885
+-886	0.0332579612731934	0.0300000000000011	0.0300000000000011	0.0	886
+-887	0.033174991607666	0.039999999999992	0.039999999999992	0.0	887
+-888	0.033627986907959	0.0300000000000011	0.0300000000000011	0.0	888
+-889	0.0363061428070068	0.0400000000000063	0.0400000000000063	0.0	889
+-890	0.0346910953521729	0.0299999999999869	0.0299999999999869	0.0	890
+-891	0.0577399730682373	0.0600000000000023	0.0600000000000023	0.0	891
+-892	0.0351190567016602	0.0300000000000011	0.0300000000000011	0.0	892
+-893	0.0334410667419434	0.0300000000000011	0.0300000000000011	0.0	893
+-894	0.0332920551300049	0.0300000000000011	0.0300000000000011	0.0	894
+-895	0.0356509685516357	0.039999999999992	0.039999999999992	0.0	895
+-896	0.0329999923706055	0.0300000000000011	0.0300000000000011	0.0	896
+-897	0.0350220203399658	0.0400000000000063	0.0400000000000063	0.0	897
+-898	0.0576491355895996	0.0499999999999972	0.0499999999999972	0.0	898
+-899	0.0413708686828613	0.0400000000000063	0.0400000000000063	0.0	899
+-900	0.0334579944610596	0.039999999999992	0.039999999999992	0.0	900
+-901	0.0331728458404541	0.0300000000000011	0.0300000000000011	0.0	901
+-902	0.0366899967193604	0.0400000000000063	0.0400000000000063	0.0	902
+-903	0.0341849327087402	0.0299999999999869	0.0299999999999869	0.0	903
+-904	0.0330212116241455	0.0300000000000011	0.0300000000000011	0.0	904
+-905	0.0330519676208496	0.0400000000000063	0.0400000000000063	0.0	905
+-906	0.0578551292419434	0.0600000000000023	0.0600000000000023	0.0	906
+-907	0.0339560508728027	0.0300000000000011	0.0300000000000011	0.0	907
+-908	0.0368251800537109	0.039999999999992	0.039999999999992	0.0	908
+-909	0.0336120128631592	0.0300000000000011	0.0300000000000011	0.0	909
+-910	0.0353670120239258	0.0400000000000063	0.0400000000000063	0.0	910
+-911	0.0335800647735596	0.0300000000000011	0.0300000000000011	0.0	911
+-912	0.0334420204162598	0.0300000000000011	0.0300000000000011	0.0	912
+-913	0.0334601402282715	0.039999999999992	0.039999999999992	0.0	913
+-914	0.058056116104126	0.0499999999999972	0.0499999999999972	0.0	914
+-915	0.0368549823760986	0.0400000000000063	0.0400000000000063	0.0	915
+-916	0.0347049236297607	0.039999999999992	0.039999999999992	0.0	916
+-917	0.0332660675048828	0.0300000000000011	0.0300000000000011	0.0	917
+-918	0.03336501121521	0.0300000000000011	0.0300000000000011	0.0	918
+-919	0.0346500873565674	0.0400000000000063	0.0400000000000063	0.0	919
+-920	0.0330588817596436	0.0300000000000011	0.0300000000000011	0.0	920
+-921	0.0336630344390869	0.0300000000000011	0.0300000000000011	0.0	921
+-922	0.0604748725891113	0.0600000000000023	0.0600000000000023	0.0	922
+-923	0.0347628593444824	0.039999999999992	0.039999999999992	0.0	923
+-924	0.0331780910491943	0.0300000000000011	0.0300000000000011	0.0	924
+-925	0.0331499576568604	0.0300000000000011	0.0300000000000011	0.0	925
+-926	0.0402188301086426	0.0400000000000063	0.0400000000000063	0.0	926
+-927	0.0330500602722168	0.039999999999992	0.039999999999992	0.0	927
+-928	0.0330708026885986	0.0300000000000011	0.0300000000000011	0.0	928
+-929	0.036876916885376	0.0400000000000063	0.0400000000000063	0.0	929
+-930	0.0586659908294678	0.0599999999999881	0.0599999999999881	0.0	930
+-931	0.0333189964294434	0.0300000000000011	0.0300000000000011	0.0	931
+-932	0.0332140922546387	0.0300000000000011	0.0300000000000011	0.0	932
+-933	0.0332601070404053	0.0400000000000063	0.0400000000000063	0.0	933
+-934	0.033146858215332	0.0300000000000011	0.0300000000000011	0.0	934
+-935	0.0361688137054443	0.039999999999992	0.039999999999992	0.0	935
+-936	0.0331850051879883	0.0300000000000011	0.0300000000000011	0.0	936
+-937	0.0338339805603027	0.0300000000000011	0.0300000000000011	0.0	937
+-938	0.0579109191894531	0.0600000000000023	0.0600000000000023	0.0	938
+-939	0.0335099697113037	0.0300000000000011	0.0300000000000011	0.0	939
+-940	0.0332717895507812	0.039999999999992	0.039999999999992	0.0	940
+-941	0.0332541465759277	0.0300000000000011	0.0300000000000011	0.0	941
+-942	0.0368809700012207	0.0400000000000063	0.0400000000000063	0.0	942
+-943	0.0335171222686768	0.0300000000000011	0.0300000000000011	0.0	943
+-944	0.0335350036621094	0.0300000000000011	0.0300000000000011	0.0	944
+-945	0.0578980445861816	0.0600000000000023	0.0600000000000023	0.0	945
+-946	0.0351078510284424	0.039999999999992	0.039999999999992	0.0	946
+-947	0.0334479808807373	0.0300000000000011	0.0300000000000011	0.0	947
+-948	0.033311128616333	0.0300000000000011	0.0300000000000011	0.0	948
+-949	0.0363750457763672	0.0400000000000063	0.0400000000000063	0.0	949
+-950	0.033627986907959	0.0299999999999869	0.0299999999999869	0.0	950
+-951	0.033160924911499	0.0400000000000063	0.0400000000000063	0.0	951
+-952	0.033203125	0.0300000000000011	0.0300000000000011	0.0	952
+-953	0.0647599697113037	0.0600000000000023	0.0600000000000023	0.0	953
+-954	0.0328559875488281	0.039999999999992	0.039999999999992	0.0	954
+-955	0.0357460975646973	0.0300000000000011	0.0300000000000011	0.0	955
+-956	0.033236026763916	0.0400000000000063	0.0400000000000063	0.0	956
+-957	0.0331499576568604	0.0300000000000011	0.0300000000000011	0.0	957
+-958	0.0325798988342285	0.0300000000000011	0.0300000000000011	0.0	958
+-959	0.0328090190887451	0.0300000000000011	0.0300000000000011	0.0	959
+-960	0.033491849899292	0.039999999999992	0.039999999999992	0.0	960
+-961	0.0579450130462646	0.0600000000000023	0.0600000000000023	0.0	961
+-962	0.0369048118591309	0.0300000000000011	0.0300000000000011	0.0	962
+-963	0.0337331295013428	0.039999999999992	0.039999999999992	0.0	963
+-964	0.0333647727966309	0.0300000000000011	0.0300000000000011	0.0	964
+-965	0.0332319736480713	0.0300000000000011	0.0300000000000011	0.0	965
+-966	0.033174991607666	0.0400000000000063	0.0400000000000063	0.0	966
+-967	0.0331299304962158	0.0300000000000011	0.0300000000000011	0.0	967
+-968	0.0334961414337158	0.0300000000000011	0.0300000000000011	0.0	968
+-969	0.0604250431060791	0.0600000000000023	0.0600000000000023	0.0	969
+-970	0.0347049236297607	0.039999999999992	0.039999999999992	0.0	970
+-971	0.0334169864654541	0.0300000000000011	0.0300000000000011	0.0	971
+-972	0.0332670211791992	0.0400000000000063	0.0400000000000063	0.0	972
+-973	0.0347368717193604	0.0300000000000011	0.0300000000000011	0.0	973
+-974	0.0333490371704102	0.0299999999999869	0.0299999999999869	0.0	974
+-975	0.033484935760498	0.0400000000000063	0.0400000000000063	0.0	975
+-976	0.0361530780792236	0.0300000000000011	0.0300000000000011	0.0	976
+-977	0.0591049194335938	0.0600000000000023	0.0600000000000023	0.0	977
+-978	0.0333170890808105	0.039999999999992	0.039999999999992	0.0	978
+-979	0.0332751274108887	0.0300000000000011	0.0300000000000011	0.0	979
+-980	0.0404400825500488	0.0400000000000063	0.0400000000000063	0.0	980
+-981	0.0332608222961426	0.0300000000000011	0.0300000000000011	0.0	981
+-982	0.0361859798431396	0.039999999999992	0.039999999999992	0.0	982
+-983	0.0338070392608643	0.0300000000000011	0.0300000000000011	0.0	983
+-984	0.0339329242706299	0.0400000000000063	0.0400000000000063	0.0	984
+-985	0.0576000213623047	0.0499999999999972	0.0499999999999972	0.0	985
+-986	0.0332310199737549	0.0400000000000063	0.0400000000000063	0.0	986
+-987	0.0331230163574219	0.0299999999999869	0.0299999999999869	0.0	987
+-988	0.0332698822021484	0.0300000000000011	0.0300000000000011	0.0	988
+-989	0.0362260341644287	0.0400000000000063	0.0400000000000063	0.0	989
+-990	0.0335850715637207	0.0300000000000011	0.0300000000000011	0.0	990
+-991	0.0335838794708252	0.039999999999992	0.039999999999992	0.0	991
+-992	0.0581378936767578	0.0600000000000023	0.0600000000000023	0.0	992
+-993	0.0338449478149414	0.0300000000000011	0.0300000000000011	0.0	993
+-994	0.0334839820861816	0.0300000000000011	0.0300000000000011	0.0	994
+-995	0.0354399681091309	0.0400000000000063	0.0400000000000063	0.0	995
+-996	0.0348441600799561	0.0300000000000011	0.0300000000000011	0.0	996
+-997	0.033607006072998	0.039999999999992	0.039999999999992	0.0	997
+-998	0.0334219932556152	0.0300000000000011	0.0300000000000011	0.0	998
+-999	0.0331289768218994	0.0300000000000011	0.0300000000000011	0.0	999
+-1000	0.0591549873352051	0.0600000000000023	0.0600000000000023	0.0	1000
+diff --git a/lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkPure.log b/lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkPure.log
+deleted file mode 100644
+index abfc0d4..0000000
+--- a/lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkPure.log
++++ /dev/null
+@@ -1,82 +0,0 @@
+-========================== 2009-04-01T16:48:20 CEST ===========================
+-Benchmarking on ruby 1.8.6 (2008-08-11 patchlevel 287) [i686-linux].
+-Running 'ParserBenchmarkPure' for 1000 iterations/method (compare_time=real)
+-===============================================================================
+-
+-This first run is only for warmup.
+-ParserBenchmarkPure#parser:
+-                  real             total              user            system 
+-sum       37.410897017      37.380000000      37.360000000       0.020000000 
+-min        0.032916069       0.030000000       0.030000000       0.000000000 
+-std-       0.029058517       0.027934111       0.027951551      -0.000426990 
+-mean       0.037410897       0.037380000       0.037360000       0.000020000 
+-std+       0.045763277       0.046825889       0.046768449       0.000466990 
+-max        0.068524122       0.070000000       0.070000000       0.010000000 
+-std        0.008352380       0.009445889       0.009408449       0.000446990 
+-std%      22.326062222      25.269901841      25.183215569    2234.948544149 
+-harm       0.036161242       0.035525181       0.035515868               nan 
+-geo        0.036699193       0.036372385       0.036358664       0.000000000 
+-q1         0.033462286       0.030000000       0.030000000       0.000000000 
+-med        0.033834100       0.040000000       0.040000000       0.000000000 
+-q3         0.036020756       0.040000000       0.040000000       0.000000000 
+-                  1000          26.73018       0.037410897
+-                 calls         calls/sec         secs/call
+-
+-    0.06674 -|
+-    0.06318 -|*
+-    0.05962 -|******
+-    0.05606 -|*
+-    0.05250 -|
+-    0.04894 -|
+-    0.04538 -|
+-    0.04182 -|*
+-    0.03826 -|****
+-    0.03470 -|**************************************************
+-
+-Outliers detected with box plot algo (median=0.03383, iqr=0.00256, factor=3.00):
+-high=35 very_high=121
+-
+-Ljung-Box statistics: q=2505.23586 (alpha=0.05, df=50).
+-1.00000 >= 0.95000 => Autocorrelation was detected.
+-
+-ParserBenchmarkPure#parser:
+-                  real             total              user            system 
+-sum       37.376162529      37.280000000      37.260000000       0.020000000 
+-min        0.032336950       0.030000000       0.030000000       0.000000000 
+-std-       0.028895529       0.027756750       0.027774096      -0.000426990 
+-mean       0.037376163       0.037280000       0.037260000       0.000020000 
+-std+       0.045856796       0.046803250       0.046745904       0.000466990 
+-max        0.068592072       0.070000000       0.070000000       0.010000000 
+-std        0.008480634       0.009523250       0.009485904       0.000446990 
+-std%      22.689953522      25.545198741      25.458680636    2234.948544149 
+-harm       0.036080414       0.035400319       0.035391071               nan 
+-geo        0.036638902       0.036256656       0.036242979       0.000000000 
+-q1         0.033310235       0.030000000       0.030000000       0.000000000 
+-med        0.033644676       0.030000000       0.030000000       0.000000000 
+-q3         0.036110342       0.040000000       0.040000000       0.000000000 
+-                  1000          26.75502       0.037376163
+-                 calls         calls/sec         secs/call
+-
+-    0.06678 -|
+-    0.06315 -|*
+-    0.05953 -|*******
+-    0.05590 -|
+-    0.05228 -|
+-    0.04865 -|
+-    0.04503 -|
+-    0.04140 -|**
+-    0.03778 -|********
+-    0.03415 -|**************************************************
+-
+-Outliers detected with box plot algo (median=0.03364, iqr=0.00280, factor=3.00):
+-high=33 very_high=124
+-
+-Ljung-Box statistics: q=3251.86614 (alpha=0.05, df=50).
+-1.00000 >= 0.95000 => Autocorrelation was detected.
+-
+-No initial data truncated.
+- => System may have been in a steady state from the beginning.
+-========================== 2009-04-01T16:49:38 CEST ===========================
+-
+-Writing measurement data file '/data/scm/json/benchmarks/data/ParserBenchmarkPure#parser.dat'.
+-Writing autocorrelation plot file '/data/scm/json/benchmarks/data/ParserBenchmarkPure#parser-autocorrelation.dat'.
+diff --git a/lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkRails#parser-autocorrelation.dat b/lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkRails#parser-autocorrelation.dat
+deleted file mode 100644
+index 17c5d6f..0000000
+--- a/lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkRails#parser-autocorrelation.dat
++++ /dev/null
+@@ -1,1000 +0,0 @@
+-#lag	autocorrelation
+-1	1.0
+-2	-0.155070059967971
+-3	-0.138640912344721
+-4	-0.139479328635323
+-5	-0.143780851624976
+-6	-0.131974028031826
+-7	-0.131846874465781
+-8	-0.0297449586146407
+-9	0.845922970552183
+-10	-0.159296984935386
+-11	-0.138285991843348
+-12	-0.134537533789242
+-13	-0.131577093324224
+-14	-0.125691308156566
+-15	-0.132970073437043
+-16	0.0701610897537414
+-17	0.726509328882366
+-18	-0.155563464936531
+-19	-0.130583532910968
+-20	-0.130321215707134
+-21	-0.128053370668094
+-22	-0.131414104117502
+-23	-0.143370315509163
+-24	0.167753265713558
+-25	0.62702138447293
+-26	-0.141554127399372
+-27	-0.115269798845456
+-28	-0.136445627883801
+-29	-0.132820637414474
+-30	-0.135080622216643
+-31	-0.144602952408704
+-32	0.276623173612157
+-33	0.525501850891615
+-34	-0.139450017650941
+-35	-0.134162769453426
+-36	-0.140949499976629
+-37	-0.132215037534107
+-38	-0.128279804339387
+-39	-0.136810773207112
+-40	0.379134129717981
+-41	0.416977891767592
+-42	-0.140192442908231
+-43	-0.13892710741734
+-44	-0.137436044286789
+-45	-0.12612058061194
+-46	-0.123633038155193
+-47	-0.137070098406579
+-48	0.472544339120691
+-49	0.301863391448336
+-50	-0.137675443743332
+-51	-0.132184661720946
+-52	-0.121519101402595
+-53	-0.115776688296262
+-54	-0.131478499025051
+-55	-0.116275192910739
+-56	0.513473974254625
+-57	0.227814467008427
+-58	-0.129625218043982
+-59	-0.125216745459882
+-60	-0.125935112946914
+-61	-0.130109252240931
+-62	-0.135733419564075
+-63	-0.0889814647212915
+-64	0.559816239969457
+-65	0.163620887268623
+-66	-0.126594899689712
+-67	-0.127716578736114
+-68	-0.128558799740727
+-69	-0.132714253074456
+-70	-0.132981927789806
+-71	-0.0463125531444366
+-72	0.581465412089299
+-73	0.0982819048234013
+-74	-0.129982480706599
+-75	-0.133771142860062
+-76	-0.126274218030991
+-77	-0.123223469867868
+-78	-0.11895869982128
+-79	0.0160445617942978
+-80	0.549313085089554
+-81	0.0523653189850826
+-82	-0.129204586675343
+-83	-0.127677297248879
+-84	-0.11959366617596
+-85	-0.118162084235907
+-86	-0.129587964492176
+-87	0.0651465727581341
+-88	0.512663258282342
+-89	0.0223897667771226
+-90	-0.118248096115527
+-91	-0.123885682842303
+-92	-0.117535431833331
+-93	-0.121345328959052
+-94	-0.133999463136408
+-95	0.135326455911309
+-96	0.463805777555027
+-97	0.00311864739783577
+-98	-0.114421979094575
+-99	-0.128164506124927
+-100	-0.122080031865248
+-101	-0.127022342388225
+-102	-0.12151335276331
+-103	0.208878191673693
+-104	0.419309330326886
+-105	-0.0174799014199824
+-106	-0.12009985269644
+-107	-0.131417368471035
+-108	-0.121134843634553
+-109	-0.120666756344282
+-110	-0.105725377626208
+-111	0.262489561386311
+-112	0.354541905467325
+-113	-0.0429415817022358
+-114	-0.118506332455011
+-115	-0.127753774809165
+-116	-0.109476116043001
+-117	-0.119418083275649
+-118	-0.0854522404041955
+-119	0.302906589860581
+-120	0.286896207128895
+-121	-0.0493387013179091
+-122	-0.111479392930294
+-123	-0.123008951924811
+-124	-0.106573141028928
+-125	-0.126135643791708
+-126	-0.0577076665067928
+-127	0.311292557510419
+-128	0.249513559300441
+-129	-0.0437015056466829
+-130	-0.10140472809797
+-131	-0.125545283680022
+-132	-0.113851927275127
+-133	-0.129070941594458
+-134	-0.0206722811383723
+-135	0.33013248984195
+-136	0.20961947786441
+-137	-0.0505286003858023
+-138	-0.118483870649077
+-139	-0.129232461148704
+-140	-0.110922591820262
+-141	-0.126965629548802
+-142	0.0286192948484217
+-143	0.337096243794888
+-144	0.169248086740963
+-145	-0.0654190423907559
+-146	-0.120486323653649
+-147	-0.127288129860007
+-148	-0.103891665783828
+-149	-0.124659309493563
+-150	0.0654747872813297
+-151	0.339088871793489
+-152	0.117694381111953
+-153	-0.069800715562458
+-154	-0.113826839844647
+-155	-0.112055163352168
+-156	-0.0970154053292618
+-157	-0.12192255176261
+-158	0.0946677686276986
+-159	0.319767630968006
+-160	0.0962983917333902
+-161	-0.0684068034695184
+-162	-0.112118295167087
+-163	-0.114032731963194
+-164	-0.110895191829693
+-165	-0.12490942207346
+-166	0.150898199785889
+-167	0.291628773924692
+-168	0.0856114574594624
+-169	-0.0734234204063937
+-170	-0.114367902362174
+-171	-0.118059154641348
+-172	-0.112572722725924
+-173	-0.103481698557819
+-174	0.173284813389025
+-175	0.278003056900596
+-176	0.0650604673280916
+-177	-0.0868193733027222
+-178	-0.11924430409928
+-179	-0.113850555498896
+-180	-0.104056053166332
+-181	-0.0706195733056155
+-182	0.195014655464426
+-183	0.251621304231625
+-184	0.0441497783679571
+-185	-0.0959128518254443
+-186	-0.114114295397473
+-187	-0.10361116463172
+-188	-0.107664797628733
+-189	-0.0474401968360638
+-190	0.192034834911418
+-191	0.224134275351347
+-192	0.0395907319098148
+-193	-0.0949220934593083
+-194	-0.110602484889644
+-195	-0.100717728255861
+-196	-0.112049320791611
+-197	-0.0238825067986291
+-198	0.201018888376214
+-199	0.200211719960315
+-200	0.0376449870339866
+-201	-0.0991903665462876
+-202	-0.116672120770685
+-203	-0.104917842447271
+-204	-0.116982682663512
+-205	0.0162721560678791
+-206	0.204021816160558
+-207	0.207342785121829
+-208	0.00663694227997103
+-209	-0.106521500277643
+-210	-0.116317595851116
+-211	-0.104116328257713
+-212	-0.112167749776831
+-213	0.0615103449414028
+-214	0.199609635845337
+-215	0.172676627738091
+-216	-0.0173787071397098
+-217	-0.104939889867195
+-218	-0.112425821733991
+-219	-0.0953637703798143
+-220	-0.093052367494033
+-221	0.0644616034737725
+-222	0.21086820069092
+-223	0.135486543334319
+-224	-0.0210787666638188
+-225	-0.0993320996511885
+-226	-0.109562190043721
+-227	-0.0908673948537397
+-228	-0.0914456089142807
+-229	0.077581460778825
+-230	0.208551872164277
+-231	0.116140101018818
+-232	-0.0163102277997069
+-233	-0.0916236078939407
+-234	-0.111987175847954
+-235	-0.0967383768271821
+-236	-0.0826408025523878
+-237	0.0966321189661173
+-238	0.217509001187049
+-239	0.0915108637148122
+-240	-0.0253671941695331
+-241	-0.104462116651977
+-242	-0.11348746907754
+-243	-0.0959006192794962
+-244	-0.0612059863164585
+-245	0.113695227895139
+-246	0.208511810998661
+-247	0.0766780695718476
+-248	-0.0378625564901882
+-249	-0.10618641671093
+-250	-0.109982771242569
+-251	-0.0926244918680679
+-252	-0.0406078163763886
+-253	0.124817056851144
+-254	0.194848461762426
+-255	0.053597534522723
+-256	-0.0438252920201072
+-257	-0.0998946597604676
+-258	-0.0959760154259235
+-259	-0.090197307047542
+-260	-0.0257502198933741
+-261	0.136762854179184
+-262	0.168912763917697
+-263	0.048323842970136
+-264	-0.0436786423512219
+-265	-0.100740525834715
+-266	-0.0977845042725835
+-267	-0.0927358458760765
+-268	-0.0166810260413945
+-269	0.146292226604344
+-270	0.158004011117704
+-271	0.0463090919867654
+-272	-0.0508649026224276
+-273	-0.100538901603337
+-274	-0.0991902746655388
+-275	-0.0968540899423071
+-276	0.0148153955144431
+-277	0.142136683921793
+-278	0.150608238602075
+-279	0.0366986042958235
+-280	-0.0623139712087233
+-281	-0.104975317080266
+-282	-0.0956029621068854
+-283	-0.0890770998720019
+-284	0.0548354482192922
+-285	0.133209397126082
+-286	0.135583138300418
+-287	0.0272435880371227
+-288	-0.0714230928286135
+-289	-0.0994192940032151
+-290	-0.088773103919012
+-291	-0.0841613176265042
+-292	0.0592558849502553
+-293	0.125376924612805
+-294	0.129920277737479
+-295	0.0195010407479747
+-296	-0.0711393383891102
+-297	-0.0966110162658782
+-298	-0.0881783407707736
+-299	-0.0770822025982766
+-300	0.066971190635949
+-301	0.132833571859132
+-302	0.106070818363025
+-303	0.0264050368313431
+-304	-0.0786120187871163
+-305	-0.099744480101871
+-306	-0.0903116034438872
+-307	-0.0727258814461179
+-308	0.0805880901984141
+-309	0.152764049007061
+-310	0.0897693593924932
+-311	0.0244183980184888
+-312	-0.0913585727715549
+-313	-0.101610527844229
+-314	-0.0890784444186723
+-315	-0.0580505722105439
+-316	0.10438372554223
+-317	0.13749147221931
+-318	0.0759708703685098
+-319	0.0047310993987612
+-320	-0.0918433949431894
+-321	-0.0973283709859868
+-322	-0.0830381658731675
+-323	-0.0375501533905209
+-324	0.104260628790112
+-325	0.136767805598137
+-326	0.0649623096294137
+-327	-0.0111381353615883
+-328	-0.0902174271151667
+-329	-0.0900084947503609
+-330	-0.0845603027974476
+-331	-0.0222484905680352
+-332	0.10044110265699
+-333	0.137209031622297
+-334	0.0512317724372533
+-335	-0.00469813974344492
+-336	-0.0852660869649502
+-337	-0.0936856764672113
+-338	-0.0810781749410849
+-339	-0.0111001728500522
+-340	0.103897631604526
+-341	0.131709630700509
+-342	0.0454986930271181
+-343	-0.0154461854075281
+-344	-0.0950428147360073
+-345	-0.0917481808403137
+-346	-0.0819073492712917
+-347	0.0124487690676487
+-348	0.108988172807393
+-349	0.12289144923052
+-350	0.0405329244459299
+-351	-0.0278261263679556
+-352	-0.0969672128436255
+-353	-0.0868716693424195
+-354	-0.0819407369083838
+-355	0.035944491369377
+-356	0.107744673984401
+-357	0.112575623631055
+-358	0.0263346758872926
+-359	-0.0328420504056899
+-360	-0.0908205706813633
+-361	-0.0750870093565662
+-362	-0.0805597459059112
+-363	0.0581570376747647
+-364	0.0865463018735628
+-365	0.116540878273595
+-366	0.0199948600453009
+-367	-0.03533657508366
+-368	-0.0918593012174403
+-369	-0.0794617415964357
+-370	-0.0787014627401186
+-371	0.0674476303755033
+-372	0.087942973565642
+-373	0.104930936427726
+-374	0.0273053506001638
+-375	-0.0464030903226921
+-376	-0.0892541387964512
+-377	-0.0826842259404731
+-378	-0.071374986057042
+-379	0.0807180550904197
+-380	0.0929177969009142
+-381	0.0862437690352589
+-382	0.0286028161793366
+-383	-0.0593261076213299
+-384	-0.0910657756760768
+-385	-0.0789683507405574
+-386	-0.0550314183063351
+-387	0.100805664939276
+-388	0.0897320960012182
+-389	0.067010863731299
+-390	0.0261048090556462
+-391	-0.0659316696174206
+-392	-0.086786864764739
+-393	-0.0733845242014095
+-394	-0.0405465879929758
+-395	0.0859517679001778
+-396	0.0936250494518407
+-397	0.0524562962824195
+-398	0.0270919515769923
+-399	-0.0676718513969418
+-400	-0.0824139549961516
+-401	-0.0758274382046422
+-402	-0.021973546868283
+-403	0.075410664358751
+-404	0.104172119247351
+-405	0.0343795991613305
+-406	0.0358573471696254
+-407	-0.0790257754948948
+-408	-0.0826103755113398
+-409	-0.0802175095763564
+-410	-0.00408772816730303
+-411	0.0797817450643218
+-412	0.10269754375399
+-413	0.0435425040893042
+-414	0.0151375915059022
+-415	-0.082224988149043
+-416	-0.0825565105203654
+-417	-0.0696184362192416
+-418	0.00170781584040336
+-419	0.0936874402227218
+-420	0.0877595224369305
+-421	0.0362572112929432
+-422	-0.000752383773564971
+-423	-0.0819270792159826
+-424	-0.0773158381537405
+-425	-0.0651464418900243
+-426	0.0233879760162931
+-427	0.0833911120244448
+-428	0.0867605850712271
+-429	0.0258451549993298
+-430	-0.00489040153892436
+-431	-0.0813233842666857
+-432	-0.0691569813607638
+-433	-0.0684545819114933
+-434	0.0396563587473597
+-435	0.0716165433337824
+-436	0.0861256506553954
+-437	0.0246435046549525
+-438	-0.00567840565516219
+-439	-0.0766446108871898
+-440	-0.0734501086613091
+-441	-0.0625863247444175
+-442	0.0405008658019374
+-443	0.0751250312042876
+-444	0.0937777476669092
+-445	0.0157135360029692
+-446	-0.0185119034061188
+-447	-0.0834731849818629
+-448	-0.0721596446426834
+-449	-0.0539848776994025
+-450	0.0482803239352817
+-451	0.0865159532050759
+-452	0.0758518110612569
+-453	0.0183167125626064
+-454	-0.0302067075389182
+-455	-0.0836849146728332
+-456	-0.0680915900681338
+-457	-0.0453151677467697
+-458	0.0635811903828984
+-459	0.0735228836096314
+-460	0.0668774855582583
+-461	0.0155517569389754
+-462	-0.0361902584803522
+-463	-0.0772526293731969
+-464	-0.0599993945121568
+-465	-0.0350025604255705
+-466	0.0675409442225932
+-467	0.0626588958411958
+-468	0.0628618478913283
+-469	0.0182100018474144
+-470	-0.0393572049932932
+-471	-0.0769465863807705
+-472	-0.0669019696984521
+-473	-0.0307690547029792
+-474	0.0787650857298563
+-475	0.0555937053005102
+-476	0.0591286536064479
+-477	0.0236864710611653
+-478	-0.0510348446259402
+-479	-0.0750230625326582
+-480	-0.0692429698123807
+-481	-0.0136046303961235
+-482	0.074650527480705
+-483	0.0576038372995368
+-484	0.0514169146679383
+-485	0.0235780875676953
+-486	-0.0619450461800331
+-487	-0.0775574009249976
+-488	-0.0561458830522187
+-489	-0.00509801117317696
+-490	0.0804313785186439
+-491	0.0577719157969876
+-492	0.03898688881339
+-493	0.0241595263048843
+-494	-0.0685591657894399
+-495	-0.0723076795891697
+-496	-0.0523226231903489
+-497	0.00373957683716917
+-498	0.0717069979485176
+-499	0.0550717482683905
+-500	0.0403995445989468
+-501	0.0113079953085825
+-502	-0.0649276537000009
+-503	-0.06649843954063
+-504	-0.0560505708705572
+-505	0.0137761579457734
+-506	0.0702863631617265
+-507	0.0541404684830862
+-508	0.0443433883094673
+-509	-0.00133780696150024
+-510	-0.0665134068108655
+-511	-0.0657601321121601
+-512	-0.0607034011107588
+-513	0.0213546383342833
+-514	0.0775077767181889
+-515	0.063458353376667
+-516	0.0389609528439854
+-517	-0.0108770067728056
+-518	-0.0688616436130423
+-519	-0.065807838377633
+-520	-0.0591899626361279
+-521	0.0477995260084885
+-522	0.069819996106301
+-523	0.0493499046172744
+-524	0.0332730594271413
+-525	-0.0200687475895302
+-526	-0.0673172583961927
+-527	-0.0608118592717286
+-528	-0.046481250749937
+-529	0.0514180414158432
+-530	0.0671097463271896
+-531	0.0400867520372663
+-532	0.0333984982834754
+-533	-0.0264838317178022
+-534	-0.0659983240048536
+-535	-0.0542885590490045
+-536	-0.0401453467006326
+-537	0.0485625723714385
+-538	0.0635239092110429
+-539	0.0345979294218286
+-540	0.0399929330334083
+-541	-0.028147715594677
+-542	-0.0619139995393741
+-543	-0.0586913999576994
+-544	-0.0334649755872845
+-545	0.0516737635834675
+-546	0.0645253644882226
+-547	0.0345307867743962
+-548	0.0400603616259159
+-549	-0.0423531962375596
+-550	-0.0672300807914405
+-551	-0.0587843856721668
+-552	-0.0232646807886831
+-553	0.058345982518284
+-554	0.0665917961516256
+-555	0.0274860012958233
+-556	0.0415598244265968
+-557	-0.0545146822234879
+-558	-0.0677685109591305
+-559	-0.0552725887508413
+-560	-0.0125012238487659
+-561	0.0625075581718202
+-562	0.066971444471093
+-563	0.0129232540938186
+-564	0.0392980506706601
+-565	-0.05908734296345
+-566	-0.0607304242571567
+-567	-0.0493112113842046
+-568	0.00071062117125135
+-569	0.0653734421725974
+-570	0.0469205167937502
+-571	0.0252022285127285
+-572	0.0269428623042389
+-573	-0.0554040258813037
+-574	-0.0594329262955446
+-575	-0.0472055457536386
+-576	-0.00273760356981996
+-577	0.0642743964669037
+-578	0.0419312704866381
+-579	0.0399122296513867
+-580	0.0132186725236814
+-581	-0.0547466706460982
+-582	-0.0579756221767372
+-583	-0.0511476715833451
+-584	0.00601423910448657
+-585	0.0689373246423459
+-586	0.0353940033868963
+-587	0.0425778157862413
+-588	0.00424129603039375
+-589	-0.0586697203651189
+-590	-0.059002595522944
+-591	-0.0470191336291943
+-592	0.0244211578887408
+-593	0.0714176288385068
+-594	0.0293208317804955
+-595	0.0369996210742842
+-596	-0.00457553552424864
+-597	-0.0559531047561718
+-598	-0.0523918096467366
+-599	-0.0446664312862491
+-600	0.0316320734850762
+-601	0.0644602080811167
+-602	0.0199863627247641
+-603	0.0369746309809726
+-604	-0.00948602618598588
+-605	-0.0504144894458729
+-606	-0.0498443845352435
+-607	-0.0444638507903543
+-608	0.0391189013974007
+-609	0.0628424781970596
+-610	0.0112347649830505
+-611	0.041452654212153
+-612	-0.0137347497952992
+-613	-0.0506892746398375
+-614	-0.0511072669077967
+-615	-0.0477234466444133
+-616	0.048705448350975
+-617	0.0667627851388053
+-618	0.0115120265386804
+-619	0.0461383553267045
+-620	-0.0255620287525987
+-621	-0.0530260247588348
+-622	-0.0518381410417808
+-623	-0.034700796376516
+-624	0.0438063518562166
+-625	0.0798836058195734
+-626	-0.00243894245318495
+-627	0.0406243460796687
+-628	-0.0332199890358811
+-629	-0.0523350080049007
+-630	-0.0477070167478482
+-631	-0.0215305402264588
+-632	0.0472394359550523
+-633	0.0694737083559497
+-634	-0.00372172457388709
+-635	0.0391809172600764
+-636	-0.0382719971378076
+-637	-0.0501961995371232
+-638	-0.042738214015656
+-639	-0.0140839477377811
+-640	0.0442885931768186
+-641	0.0581346694204897
+-642	-0.000477976111666972
+-643	0.044566527743489
+-644	-0.0396856402477227
+-645	-0.0466626145007252
+-646	-0.0480864305333951
+-647	-0.00726442405889962
+-648	0.0459497867910762
+-649	0.0529082222445075
+-650	0.0147432426130685
+-651	0.0267433571795441
+-652	-0.0446692520126606
+-653	-0.0497203066081803
+-654	-0.0480919421757669
+-655	0.00345954210366673
+-656	0.0509913399433936
+-657	0.0467433070314585
+-658	0.0252001648134732
+-659	0.0106946846977517
+-660	-0.0484551606819746
+-661	-0.0500758070505588
+-662	-0.0440163401232168
+-663	0.0148218474037118
+-664	0.0526365008291643
+-665	0.0397902946591361
+-666	0.0206689888910779
+-667	0.00207265111858896
+-668	-0.0440452489670014
+-669	-0.0447792337914997
+-670	-0.0286381554427784
+-671	0.00640869437792482
+-672	0.057153163903739
+-673	0.0304890998129141
+-674	0.0230136624918959
+-675	-0.00281506118608654
+-676	-0.0387242678971035
+-677	-0.044929991903093
+-678	-0.0345193810230013
+-679	0.00492460337689268
+-680	0.0679821172192718
+-681	0.0219950472241659
+-682	0.0289438385002853
+-683	-0.00781136170677615
+-684	-0.0388612390832975
+-685	-0.0438680272774733
+-686	-0.0376131497506628
+-687	0.0139348600467974
+-688	0.0615101213028946
+-689	0.0249115734544766
+-690	0.0331598636184604
+-691	-0.0195415991964588
+-692	-0.0396395679788538
+-693	-0.0456649577394422
+-694	-0.0344136244069955
+-695	0.031200395934606
+-696	0.0562012519733673
+-697	0.0260663012747182
+-698	0.0295359686001106
+-699	-0.0291311572903775
+-700	-0.0371203313810216
+-701	-0.0424418146790537
+-702	-0.0303746199454463
+-703	0.0388492858751788
+-704	0.0424481679100295
+-705	0.0263584605497916
+-706	0.0288712604390293
+-707	-0.0341554547083513
+-708	-0.0333021072203847
+-709	-0.0383392296141879
+-710	-0.030923211248435
+-711	0.0471145773235206
+-712	0.032067317539082
+-713	0.0263399585846731
+-714	0.0323937671311792
+-715	-0.0392772990043492
+-716	-0.0317758252581109
+-717	-0.0407689976562314
+-718	-0.0327532575849971
+-719	0.0558983521943971
+-720	0.026320879417627
+-721	0.0457775828616138
+-722	0.0162704705253485
+-723	-0.0410862090233348
+-724	-0.0334511325087015
+-725	-0.0413337594074423
+-726	-0.0301113850535044
+-727	0.0700417742596319
+-728	0.0210871230961877
+-729	0.0496617422305004
+-730	-0.00408251250355076
+-731	-0.0406821339716385
+-732	-0.0329210563908783
+-733	-0.0378798823957753
+-734	-0.0166612213666539
+-735	0.0622559233401728
+-736	0.0220631815362089
+-737	0.0480937159816023
+-738	-0.0123428856122574
+-739	-0.0375402198111287
+-740	-0.0309453130567288
+-741	-0.0353256252179894
+-742	-0.00536945125430805
+-743	0.0496444169496324
+-744	0.0204929366248046
+-745	0.0499533569480695
+-746	-0.0174935751544407
+-747	-0.0286134919496942
+-748	-0.0305151115655182
+-749	-0.0370057423961568
+-750	0.00182606608143132
+-751	0.0417928304144692
+-752	0.0232491015772242
+-753	0.0556033683720853
+-754	-0.0281117547926764
+-755	-0.030035318580472
+-756	-0.0330573966633533
+-757	-0.0365260598388687
+-758	0.0111750942979797
+-759	0.0374827782514529
+-760	0.0257453279628935
+-761	0.0580299290244595
+-762	-0.0358087395388202
+-763	-0.0338231237069173
+-764	-0.0328610625099181
+-765	-0.0336222121488749
+-766	0.0234186100148553
+-767	0.0293361050839678
+-768	0.0383060243360171
+-769	0.0358879458606336
+-770	-0.0363117922484678
+-771	-0.0310100414844719
+-772	-0.0298340231919974
+-773	-0.0258481757762449
+-774	0.033493341046757
+-775	0.0172146853910682
+-776	0.0455221955873717
+-777	0.0204498758334694
+-778	-0.033692934640153
+-779	-0.0254246875075756
+-780	-0.0321408035488926
+-781	-0.0179574084831518
+-782	0.0214789164114721
+-783	0.019638114859952
+-784	0.0455930828635699
+-785	0.0178984964416421
+-786	-0.0300055577311117
+-787	-0.0240917794268532
+-788	-0.0321597467853985
+-789	-0.0210401731167207
+-790	0.0230111556897733
+-791	0.0217566052979974
+-792	0.0489917866644012
+-793	0.0104440982676834
+-794	-0.0301428802473305
+-795	-0.0258951028342734
+-796	-0.03187192392573
+-797	-0.0176269050708972
+-798	0.027393570534183
+-799	0.0263875715311133
+-800	0.0486779658212448
+-801	-0.00102291484615847
+-802	-0.0300556523736458
+-803	-0.023857819156972
+-804	-0.0280605128257784
+-805	-0.0146115387847382
+-806	0.0244907923259942
+-807	0.0247824841072157
+-808	0.0494074681728141
+-809	-0.0095960873131345
+-810	-0.0267959528999005
+-811	-0.0203312406902549
+-812	-0.0260311947802059
+-813	-0.0131484879600813
+-814	0.0230120193265332
+-815	0.0228091639758259
+-816	0.051666749222434
+-817	-0.0152576501369182
+-818	-0.0250358027329496
+-819	-0.0190314982739485
+-820	-0.0266605188325892
+-821	-0.0144373958898868
+-822	0.0237380994329812
+-823	0.0260374801079161
+-824	0.0586957834829624
+-825	-0.022457849542461
+-826	-0.0262980585565696
+-827	-0.0200584452117297
+-828	-0.0266876132871316
+-829	-0.0129290645560979
+-830	0.0289095571745369
+-831	0.0354539766084729
+-832	0.0392777761914384
+-833	-0.0238771076358964
+-834	-0.0245018601036372
+-835	-0.0205517186652316
+-836	-0.0234327204627339
+-837	-0.00933955244847433
+-838	0.0296367828905565
+-839	0.0459917434926111
+-840	0.0186744768510845
+-841	-0.0234505177518883
+-842	-0.0215210406113312
+-843	-0.01812563049523
+-844	-0.0212885529434847
+-845	-0.0088234522037928
+-846	0.0280281842675072
+-847	0.045730091253579
+-848	0.0136208433079523
+-849	-0.0205058386168346
+-850	-0.0163481209061992
+-851	-0.017230164457982
+-852	-0.0230906563738739
+-853	-0.00937085079532756
+-854	0.0286089438226922
+-855	0.0501679772526387
+-856	0.00511934527865221
+-857	-0.0188740591732872
+-858	-0.017123441437589
+-859	-0.0185029603009925
+-860	-0.0202624384779385
+-861	-0.0103662518808214
+-862	0.0316765684721357
+-863	0.0535962784902621
+-864	-0.00257262435536896
+-865	-0.0176721411023214
+-866	-0.0194221796537958
+-867	-0.0180419513954025
+-868	-0.0173325086944974
+-869	-0.00890051108382059
+-870	0.0333845873727604
+-871	0.0544120911411167
+-872	-0.0112929673408612
+-873	-0.0180526419713337
+-874	-0.0167143497616369
+-875	-0.0157948604767141
+-876	-0.0130148291547908
+-877	-0.0066614174930643
+-878	0.0306666725820053
+-879	0.0540685898200517
+-880	-0.0179887040186856
+-881	-0.0155749350538922
+-882	-0.015542452853135
+-883	-0.0149949065113926
+-884	-0.0134739305361601
+-885	-0.0082822064674981
+-886	0.0415180058769115
+-887	0.037756025074253
+-888	-0.0148899027592997
+-889	-0.013090094291838
+-890	-0.0153014397425967
+-891	-0.0135012972355123
+-892	-0.015585448733386
+-893	-0.00788737374502331
+-894	0.0535415797928148
+-895	0.0217926147381109
+-896	-0.01363175489377
+-897	-0.012354773771845
+-898	-0.0155285058724365
+-899	-0.0135036893080631
+-900	-0.0125236766180776
+-901	-0.00637080628552419
+-902	0.0605226042557018
+-903	0.0112303280281208
+-904	-0.0133912061642023
+-905	-0.0124502459337457
+-906	-0.0142998634027549
+-907	-0.0099981269727546
+-908	-0.0122633402331702
+-909	-0.00567413706716593
+-910	0.0595172409685727
+-911	0.00326019370638518
+-912	-0.0128841193059995
+-913	-0.0102224824574885
+-914	-0.0116469346046309
+-915	-0.00776357295252222
+-916	-0.0118848925539363
+-917	-0.00433896685705348
+-918	0.0567076341120711
+-919	-0.00300835870741313
+-920	-0.0107647074857665
+-921	-0.00845164093060122
+-922	-0.0106818140369162
+-923	-0.00761048402311565
+-924	-0.0114674108324614
+-925	-0.00417421313051504
+-926	0.0598773670187433
+-927	-0.00747931723570069
+-928	-0.00927920131574313
+-929	-0.00986810999500912
+-930	-0.0104075730217127
+-931	-0.00695169167094114
+-932	-0.0109784274186893
+-933	0.00811872232461237
+-934	0.0430158981401019
+-935	-0.00722859498851006
+-936	-0.00990312674945696
+-937	-0.00920124918803136
+-938	-0.00908355760957161
+-939	-0.00496962170124263
+-940	-0.00878291146198605
+-941	0.0194043242975934
+-942	0.0256780783722546
+-943	-0.00897052689874001
+-944	-0.00954900138754423
+-945	-0.00713164082441335
+-946	-0.00673138670048183
+-947	-0.00311543034312673
+-948	-0.00793377494765913
+-949	0.0199694046973212
+-950	0.0180051634303271
+-951	-0.00731841589233604
+-952	-0.0061524475893558
+-953	-0.00552246177877621
+-954	-0.00405347414382562
+-955	-0.00502519204794434
+-956	-0.00735520719380658
+-957	0.0201391483118552
+-958	0.0115351551478785
+-959	-0.00595396340022971
+-960	-0.0044658313778136
+-961	-0.00466635333434365
+-962	-0.00505971330517482
+-963	-0.00426347088471071
+-964	-0.00630201264403959
+-965	0.0226924063931286
+-966	0.00532856864375404
+-967	-0.00456693836529996
+-968	-0.00500848518452319
+-969	-0.00521286355162228
+-970	-0.00466691800162192
+-971	-0.00261192567994811
+-972	-0.00365801738266432
+-973	0.0244751515715762
+-974	-0.00293671804465107
+-975	-0.0036023990997325
+-976	-0.00448873920500162
+-977	-0.00365131282800052
+-978	-0.00180880871887979
+-979	-0.00132104428035144
+-980	0.00742840409816276
+-981	0.00626148410583357
+-982	-0.00316720508921753
+-983	-0.00304702341715472
+-984	-0.0023682711547723
+-985	-0.00118323799369014
+-986	-3.66599346965767e-05
+-987	-0.000324399710172427
+-988	0.00733954118289635
+-989	-0.00225809776707784
+-990	-0.00133635779017759
+-991	-0.00134850512655973
+-992	-0.000434310902574387
+-993	-0.000233992853297238
+-994	0.000360461316321191
+-995	-0.000531725699132137
+-996	-0.000471000549829534
+-997	0.000486792668870103
+-998	0.000364177523187972
+-999	0.000256019411210032
+diff --git a/lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkRails#parser.dat b/lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkRails#parser.dat
+deleted file mode 100644
+index e51dc44..0000000
+--- a/lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkRails#parser.dat
++++ /dev/null
+@@ -1,1001 +0,0 @@
+-#scatter	real	total	user	system	repeat
+-1	0.0337560176849365	0.0300000000000011	0.0300000000000011	0.0	1
+-2	0.0330429077148438	0.029999999999994	0.029999999999994	0.0	2
+-3	0.0369691848754883	0.0400000000000063	0.0400000000000063	0.0	3
+-4	0.0330410003662109	0.029999999999994	0.029999999999994	0.0	4
+-5	0.0346219539642334	0.0400000000000063	0.0400000000000063	0.0	5
+-6	0.0324759483337402	0.029999999999994	0.029999999999994	0.0	6
+-7	0.0320150852203369	0.0300000000000011	0.0300000000000011	0.0	7
+-8	0.0320718288421631	0.0300000000000011	0.0300000000000011	0.0	8
+-9	0.0765988826751709	0.0799999999999983	0.0799999999999983	0.0	9
+-10	0.0331180095672607	0.0300000000000011	0.0300000000000011	0.0	10
+-11	0.0346410274505615	0.0399999999999991	0.0399999999999991	0.0	11
+-12	0.0330672264099121	0.0300000000000011	0.0300000000000011	0.0	12
+-13	0.0326869487762451	0.0300000000000011	0.0300000000000011	0.0	13
+-14	0.0323951244354248	0.0399999999999991	0.0399999999999991	0.0	14
+-15	0.0317728519439697	0.0300000000000011	0.0300000000000011	0.0	15
+-16	0.0336828231811523	0.0300000000000011	0.0300000000000011	0.0	16
+-17	0.0816280841827393	0.0799999999999983	0.0799999999999983	0.0	17
+-18	0.0336179733276367	0.0399999999999991	0.0399999999999991	0.0	18
+-19	0.0329349040985107	0.0300000000000011	0.0300000000000011	0.0	19
+-20	0.0328211784362793	0.0300000000000011	0.0300000000000011	0.0	20
+-21	0.0326688289642334	0.0300000000000011	0.0300000000000011	0.0	21
+-22	0.0329129695892334	0.0399999999999991	0.0399999999999991	0.0	22
+-23	0.0351161956787109	0.0300000000000011	0.0300000000000011	0.0	23
+-24	0.073289155960083	0.0799999999999983	0.0799999999999983	0.0	24
+-25	0.0333049297332764	0.0300000000000011	0.0300000000000011	0.0	25
+-26	0.0327980518341064	0.029999999999994	0.029999999999994	0.0	26
+-27	0.0333559513092041	0.0400000000000063	0.0400000000000063	0.0	27
+-28	0.0331299304962158	0.029999999999994	0.029999999999994	0.0	28
+-29	0.0361030101776123	0.0300000000000011	0.0300000000000011	0.0	29
+-30	0.0326149463653564	0.0399999999999991	0.0399999999999991	0.0	30
+-31	0.0354421138763428	0.0300000000000011	0.0300000000000011	0.0	31
+-32	0.0737769603729248	0.0799999999999983	0.0799999999999983	0.0	32
+-33	0.0334198474884033	0.0300000000000011	0.0300000000000011	0.0	33
+-34	0.0328729152679443	0.0300000000000011	0.0300000000000011	0.0	34
+-35	0.0363237857818604	0.0399999999999991	0.0399999999999991	0.0	35
+-36	0.0331850051879883	0.0300000000000011	0.0300000000000011	0.0	36
+-37	0.033970832824707	0.0399999999999991	0.0399999999999991	0.0	37
+-38	0.0325729846954346	0.0300000000000011	0.0300000000000011	0.0	38
+-39	0.0321781635284424	0.0300000000000011	0.0300000000000011	0.0	39
+-40	0.0730009078979492	0.0700000000000003	0.0700000000000003	0.0	40
+-41	0.0354671478271484	0.0399999999999991	0.0399999999999991	0.0	41
+-42	0.0329980850219727	0.0300000000000011	0.0300000000000011	0.0	42
+-43	0.0432839393615723	0.0499999999999972	0.0499999999999972	0.0	43
+-44	0.0330131053924561	0.0300000000000011	0.0300000000000011	0.0	44
+-45	0.032541036605835	0.0300000000000011	0.0300000000000011	0.0	45
+-46	0.0323638916015625	0.0300000000000011	0.0300000000000011	0.0	46
+-47	0.0322492122650146	0.0399999999999991	0.0399999999999991	0.0	47
+-48	0.0752780437469482	0.0700000000000003	0.0700000000000003	0.0	48
+-49	0.0334651470184326	0.0300000000000011	0.0300000000000011	0.0	49
+-50	0.0330009460449219	0.0399999999999991	0.0399999999999991	0.0	50
+-51	0.0331478118896484	0.0300000000000011	0.0300000000000011	0.0	51
+-52	0.0328009128570557	0.029999999999994	0.029999999999994	0.0	52
+-53	0.0326621532440186	0.0400000000000063	0.0400000000000063	0.0	53
+-54	0.0325331687927246	0.029999999999994	0.029999999999994	0.0	54
+-55	0.0355179309844971	0.0300000000000011	0.0300000000000011	0.0	55
+-56	0.0758390426635742	0.0800000000000054	0.0800000000000054	0.0	56
+-57	0.0330648422241211	0.029999999999994	0.029999999999994	0.0	57
+-58	0.0333669185638428	0.0399999999999991	0.0399999999999991	0.0	58
+-59	0.0331768989562988	0.0300000000000011	0.0300000000000011	0.0	59
+-60	0.0326540470123291	0.0300000000000011	0.0300000000000011	0.0	60
+-61	0.036034107208252	0.0399999999999991	0.0399999999999991	0.0	61
+-62	0.0326058864593506	0.0300000000000011	0.0300000000000011	0.0	62
+-63	0.032081127166748	0.0300000000000011	0.0300000000000011	0.0	63
+-64	0.0732240676879883	0.0799999999999983	0.0799999999999983	0.0	64
+-65	0.0332009792327881	0.0300000000000011	0.0300000000000011	0.0	65
+-66	0.0333409309387207	0.0300000000000011	0.0300000000000011	0.0	66
+-67	0.0352249145507812	0.0399999999999991	0.0399999999999991	0.0	67
+-68	0.0328779220581055	0.0300000000000011	0.0300000000000011	0.0	68
+-69	0.0408899784088135	0.0399999999999991	0.0399999999999991	0.0	69
+-70	0.0330538749694824	0.0399999999999991	0.0399999999999991	0.0	70
+-71	0.0315990447998047	0.0300000000000011	0.0300000000000011	0.0	71
+-72	0.0723180770874023	0.0700000000000003	0.0700000000000003	0.0	72
+-73	0.0360608100891113	0.0399999999999991	0.0399999999999991	0.0	73
+-74	0.0332560539245605	0.0300000000000011	0.0300000000000011	0.0	74
+-75	0.0337710380554199	0.0300000000000011	0.0300000000000011	0.0	75
+-76	0.0330729484558105	0.0399999999999991	0.0399999999999991	0.0	76
+-77	0.0325820446014404	0.0300000000000011	0.0300000000000011	0.0	77
+-78	0.0323619842529297	0.029999999999994	0.029999999999994	0.0	78
+-79	0.0319099426269531	0.0300000000000011	0.0300000000000011	0.0	79
+-80	0.0756161212921143	0.0800000000000054	0.0800000000000054	0.0	80
+-81	0.0331521034240723	0.029999999999994	0.029999999999994	0.0	81
+-82	0.0353209972381592	0.0400000000000063	0.0400000000000063	0.0	82
+-83	0.0330510139465332	0.029999999999994	0.029999999999994	0.0	83
+-84	0.03314208984375	0.0300000000000011	0.0300000000000011	0.0	84
+-85	0.03261399269104	0.0300000000000011	0.0300000000000011	0.0	85
+-86	0.0322940349578857	0.0399999999999991	0.0399999999999991	0.0	86
+-87	0.034559965133667	0.0300000000000011	0.0300000000000011	0.0	87
+-88	0.0729730129241943	0.0700000000000003	0.0700000000000003	0.0	88
+-89	0.033174991607666	0.0399999999999991	0.0399999999999991	0.0	89
+-90	0.0331950187683105	0.0300000000000011	0.0300000000000011	0.0	90
+-91	0.032789945602417	0.0300000000000011	0.0300000000000011	0.0	91
+-92	0.032573938369751	0.0399999999999991	0.0399999999999991	0.0	92
+-93	0.0352959632873535	0.0300000000000011	0.0300000000000011	0.0	93
+-94	0.0322601795196533	0.0300000000000011	0.0300000000000011	0.0	94
+-95	0.0399200916290283	0.0399999999999991	0.0399999999999991	0.0	95
+-96	0.0733668804168701	0.0799999999999983	0.0799999999999983	0.0	96
+-97	0.0330679416656494	0.0300000000000011	0.0300000000000011	0.0	97
+-98	0.0331020355224609	0.0300000000000011	0.0300000000000011	0.0	98
+-99	0.0338099002838135	0.0399999999999991	0.0399999999999991	0.0	99
+-100	0.0351119041442871	0.0300000000000011	0.0300000000000011	0.0	100
+-101	0.0325391292572021	0.0399999999999991	0.0399999999999991	0.0	101
+-102	0.0326120853424072	0.0300000000000011	0.0300000000000011	0.0	102
+-103	0.0314269065856934	0.029999999999994	0.029999999999994	0.0	103
+-104	0.0736079216003418	0.0700000000000003	0.0700000000000003	0.0	104
+-105	0.0331168174743652	0.0399999999999991	0.0399999999999991	0.0	105
+-106	0.0369949340820312	0.0300000000000011	0.0300000000000011	0.0	106
+-107	0.033034086227417	0.0399999999999991	0.0399999999999991	0.0	107
+-108	0.0347108840942383	0.0300000000000011	0.0300000000000011	0.0	108
+-109	0.0326550006866455	0.0300000000000011	0.0300000000000011	0.0	109
+-110	0.032649040222168	0.0399999999999991	0.0399999999999991	0.0	110
+-111	0.0317308902740479	0.0300000000000011	0.0300000000000011	0.0	111
+-112	0.075963020324707	0.0700000000000003	0.0700000000000003	0.0	112
+-113	0.0332450866699219	0.0399999999999991	0.0399999999999991	0.0	113
+-114	0.0340969562530518	0.0300000000000011	0.0300000000000011	0.0	114
+-115	0.0331099033355713	0.0300000000000011	0.0300000000000011	0.0	115
+-116	0.0326979160308838	0.0399999999999991	0.0399999999999991	0.0	116
+-117	0.0322890281677246	0.0300000000000011	0.0300000000000011	0.0	117
+-118	0.0321509838104248	0.0300000000000011	0.0300000000000011	0.0	118
+-119	0.0315690040588379	0.029999999999994	0.029999999999994	0.0	119
+-120	0.0853371620178223	0.0900000000000034	0.0900000000000034	0.0	120
+-121	0.0338900089263916	0.0300000000000011	0.0300000000000011	0.0	121
+-122	0.0330648422241211	0.0399999999999991	0.0399999999999991	0.0	122
+-123	0.0330510139465332	0.0300000000000011	0.0300000000000011	0.0	123
+-124	0.0327119827270508	0.0300000000000011	0.0300000000000011	0.0	124
+-125	0.0324461460113525	0.029999999999994	0.029999999999994	0.0	125
+-126	0.036160945892334	0.0400000000000063	0.0400000000000063	0.0	126
+-127	0.0314981937408447	0.029999999999994	0.029999999999994	0.0	127
+-128	0.073836088180542	0.0800000000000054	0.0800000000000054	0.0	128
+-129	0.0328719615936279	0.029999999999994	0.029999999999994	0.0	129
+-130	0.0332820415496826	0.0300000000000011	0.0300000000000011	0.0	130
+-131	0.0329020023345947	0.0300000000000011	0.0300000000000011	0.0	131
+-132	0.0362491607666016	0.0399999999999991	0.0399999999999991	0.0	132
+-133	0.0325329303741455	0.0300000000000011	0.0300000000000011	0.0	133
+-134	0.0340819358825684	0.0399999999999991	0.0399999999999991	0.0	134
+-135	0.0319511890411377	0.0300000000000011	0.0300000000000011	0.0	135
+-136	0.0739138126373291	0.0700000000000003	0.0700000000000003	0.0	136
+-137	0.0330600738525391	0.0300000000000011	0.0300000000000011	0.0	137
+-138	0.0359530448913574	0.0399999999999991	0.0399999999999991	0.0	138
+-139	0.0330100059509277	0.0300000000000011	0.0300000000000011	0.0	139
+-140	0.0330448150634766	0.0399999999999991	0.0399999999999991	0.0	140
+-141	0.0330119132995605	0.0300000000000011	0.0300000000000011	0.0	141
+-142	0.0321979522705078	0.0300000000000011	0.0300000000000011	0.0	142
+-143	0.0314090251922607	0.029999999999994	0.029999999999994	0.0	143
+-144	0.0762948989868164	0.0800000000000054	0.0800000000000054	0.0	144
+-145	0.0330369472503662	0.0300000000000011	0.0300000000000011	0.0	145
+-146	0.0413818359375	0.0399999999999991	0.0399999999999991	0.0	146
+-147	0.0336639881134033	0.0399999999999991	0.0399999999999991	0.0	147
+-148	0.032634973526001	0.0300000000000011	0.0300000000000011	0.0	148
+-149	0.0324230194091797	0.029999999999994	0.029999999999994	0.0	149
+-150	0.0322530269622803	0.0400000000000063	0.0400000000000063	0.0	150
+-151	0.0314328670501709	0.029999999999994	0.029999999999994	0.0	151
+-152	0.0764839649200439	0.0700000000000003	0.0700000000000003	0.0	152
+-153	0.0351881980895996	0.0400000000000063	0.0400000000000063	0.0	153
+-154	0.0330648422241211	0.029999999999994	0.029999999999994	0.0	154
+-155	0.0328710079193115	0.0399999999999991	0.0399999999999991	0.0	155
+-156	0.032764196395874	0.0300000000000011	0.0300000000000011	0.0	156
+-157	0.0323169231414795	0.0300000000000011	0.0300000000000011	0.0	157
+-158	0.0350921154022217	0.0399999999999991	0.0399999999999991	0.0	158
+-159	0.0315439701080322	0.0300000000000011	0.0300000000000011	0.0	159
+-160	0.0760791301727295	0.0700000000000003	0.0700000000000003	0.0	160
+-161	0.0333390235900879	0.0399999999999991	0.0399999999999991	0.0	161
+-162	0.0331790447235107	0.0300000000000011	0.0300000000000011	0.0	162
+-163	0.0328421592712402	0.0300000000000011	0.0300000000000011	0.0	163
+-164	0.0354018211364746	0.0399999999999991	0.0399999999999991	0.0	164
+-165	0.0326108932495117	0.0300000000000011	0.0300000000000011	0.0	165
+-166	0.0330290794372559	0.0300000000000011	0.0300000000000011	0.0	166
+-167	0.0316469669342041	0.0300000000000011	0.0300000000000011	0.0	167
+-168	0.0735650062561035	0.0799999999999983	0.0799999999999983	0.0	168
+-169	0.0328128337860107	0.0300000000000011	0.0300000000000011	0.0	169
+-170	0.034276008605957	0.0399999999999991	0.0399999999999991	0.0	170
+-171	0.0350871086120605	0.0300000000000011	0.0300000000000011	0.0	171
+-172	0.0402491092681885	0.0399999999999991	0.0399999999999991	0.0	172
+-173	0.033289909362793	0.0300000000000011	0.0300000000000011	0.0	173
+-174	0.0319631099700928	0.0399999999999991	0.0399999999999991	0.0	174
+-175	0.0314111709594727	0.029999999999994	0.029999999999994	0.0	175
+-176	0.0736920833587646	0.0700000000000003	0.0700000000000003	0.0	176
+-177	0.0366611480712891	0.0400000000000063	0.0400000000000063	0.0	177
+-178	0.0331029891967773	0.029999999999994	0.029999999999994	0.0	178
+-179	0.0331480503082275	0.0300000000000011	0.0300000000000011	0.0	179
+-180	0.0324270725250244	0.0399999999999991	0.0399999999999991	0.0	180
+-181	0.0324950218200684	0.0300000000000011	0.0300000000000011	0.0	181
+-182	0.032120943069458	0.0300000000000011	0.0300000000000011	0.0	182
+-183	0.0316941738128662	0.0300000000000011	0.0300000000000011	0.0	183
+-184	0.0764799118041992	0.0799999999999983	0.0799999999999983	0.0	184
+-185	0.0351009368896484	0.0300000000000011	0.0300000000000011	0.0	185
+-186	0.0331439971923828	0.0399999999999991	0.0399999999999991	0.0	186
+-187	0.0333070755004883	0.0300000000000011	0.0300000000000011	0.0	187
+-188	0.0326988697052002	0.0300000000000011	0.0300000000000011	0.0	188
+-189	0.0324010848999023	0.0399999999999991	0.0399999999999991	0.0	189
+-190	0.0343129634857178	0.0300000000000011	0.0300000000000011	0.0	190
+-191	0.0317180156707764	0.0300000000000011	0.0300000000000011	0.0	191
+-192	0.0754880905151367	0.0799999999999983	0.0799999999999983	0.0	192
+-193	0.0328428745269775	0.0300000000000011	0.0300000000000011	0.0	193
+-194	0.0328872203826904	0.029999999999994	0.029999999999994	0.0	194
+-195	0.0326900482177734	0.0400000000000063	0.0400000000000063	0.0	195
+-196	0.0326938629150391	0.029999999999994	0.029999999999994	0.0	196
+-197	0.036156177520752	0.0400000000000063	0.0400000000000063	0.0	197
+-198	0.0402121543884277	0.029999999999994	0.029999999999994	0.0	198
+-199	0.0345208644866943	0.0400000000000063	0.0400000000000063	0.0	199
+-200	0.0736300945281982	0.0699999999999932	0.0699999999999932	0.0	200
+-201	0.0329070091247559	0.0400000000000063	0.0400000000000063	0.0	201
+-202	0.0329358577728271	0.029999999999994	0.029999999999994	0.0	202
+-203	0.0367400646209717	0.0400000000000063	0.0400000000000063	0.0	203
+-204	0.0326740741729736	0.029999999999994	0.029999999999994	0.0	204
+-205	0.0328309535980225	0.0300000000000011	0.0300000000000011	0.0	205
+-206	0.0319180488586426	0.0300000000000011	0.0300000000000011	0.0	206
+-207	0.0315039157867432	0.0300000000000011	0.0300000000000011	0.0	207
+-208	0.073983907699585	0.0799999999999983	0.0799999999999983	0.0	208
+-209	0.0354940891265869	0.0300000000000011	0.0300000000000011	0.0	209
+-210	0.0329270362854004	0.0399999999999991	0.0399999999999991	0.0	210
+-211	0.0364441871643066	0.0300000000000011	0.0300000000000011	0.0	211
+-212	0.0326921939849854	0.0300000000000011	0.0300000000000011	0.0	212
+-213	0.0329389572143555	0.0399999999999991	0.0399999999999991	0.0	213
+-214	0.0320320129394531	0.0300000000000011	0.0300000000000011	0.0	214
+-215	0.0314679145812988	0.0300000000000011	0.0300000000000011	0.0	215
+-216	0.0766069889068604	0.0799999999999983	0.0799999999999983	0.0	216
+-217	0.0343639850616455	0.0300000000000011	0.0300000000000011	0.0	217
+-218	0.0331821441650391	0.0399999999999991	0.0399999999999991	0.0	218
+-219	0.0328841209411621	0.0300000000000011	0.0300000000000011	0.0	219
+-220	0.0324678421020508	0.029999999999994	0.029999999999994	0.0	220
+-221	0.0323128700256348	0.0300000000000011	0.0300000000000011	0.0	221
+-222	0.0320940017700195	0.0399999999999991	0.0399999999999991	0.0	222
+-223	0.084298849105835	0.0800000000000054	0.0800000000000054	0.0	223
+-224	0.0338959693908691	0.0300000000000011	0.0300000000000011	0.0	224
+-225	0.0326578617095947	0.0399999999999991	0.0399999999999991	0.0	225
+-226	0.0329980850219727	0.029999999999994	0.029999999999994	0.0	226
+-227	0.0328388214111328	0.0300000000000011	0.0300000000000011	0.0	227
+-228	0.0324342250823975	0.0399999999999991	0.0399999999999991	0.0	228
+-229	0.0363619327545166	0.0300000000000011	0.0300000000000011	0.0	229
+-230	0.0319449901580811	0.0300000000000011	0.0300000000000011	0.0	230
+-231	0.0728111267089844	0.0799999999999983	0.0799999999999983	0.0	231
+-232	0.0331339836120605	0.0300000000000011	0.0300000000000011	0.0	232
+-233	0.0330288410186768	0.0300000000000011	0.0300000000000011	0.0	233
+-234	0.0328319072723389	0.0399999999999991	0.0399999999999991	0.0	234
+-235	0.0353119373321533	0.0300000000000011	0.0300000000000011	0.0	235
+-236	0.0324058532714844	0.0300000000000011	0.0300000000000011	0.0	236
+-237	0.0343661308288574	0.0399999999999991	0.0399999999999991	0.0	237
+-238	0.0319287776947021	0.0300000000000011	0.0300000000000011	0.0	238
+-239	0.0734179019927979	0.0700000000000003	0.0700000000000003	0.0	239
+-240	0.0330750942230225	0.0399999999999991	0.0399999999999991	0.0	240
+-241	0.0359859466552734	0.0300000000000011	0.0300000000000011	0.0	241
+-242	0.0331950187683105	0.0399999999999991	0.0399999999999991	0.0	242
+-243	0.0336649417877197	0.0300000000000011	0.0300000000000011	0.0	243
+-244	0.0327489376068115	0.0300000000000011	0.0300000000000011	0.0	244
+-245	0.0324509143829346	0.029999999999994	0.029999999999994	0.0	245
+-246	0.0315418243408203	0.0399999999999991	0.0399999999999991	0.0	246
+-247	0.0725250244140625	0.0700000000000003	0.0700000000000003	0.0	247
+-248	0.0361208915710449	0.0300000000000011	0.0300000000000011	0.0	248
+-249	0.040661096572876	0.0399999999999991	0.0399999999999991	0.0	249
+-250	0.0346300601959229	0.0400000000000063	0.0400000000000063	0.0	250
+-251	0.0325310230255127	0.029999999999994	0.029999999999994	0.0	251
+-252	0.032663106918335	0.0300000000000011	0.0300000000000011	0.0	252
+-253	0.0323901176452637	0.0399999999999991	0.0399999999999991	0.0	253
+-254	0.0314888954162598	0.0300000000000011	0.0300000000000011	0.0	254
+-255	0.0757758617401123	0.0700000000000003	0.0700000000000003	0.0	255
+-256	0.0334639549255371	0.0399999999999991	0.0399999999999991	0.0	256
+-257	0.032958984375	0.0300000000000011	0.0300000000000011	0.0	257
+-258	0.0329427719116211	0.0300000000000011	0.0300000000000011	0.0	258
+-259	0.0325839519500732	0.0399999999999991	0.0399999999999991	0.0	259
+-260	0.0327038764953613	0.0300000000000011	0.0300000000000011	0.0	260
+-261	0.0347969532012939	0.0300000000000011	0.0300000000000011	0.0	261
+-262	0.0313179492950439	0.0399999999999991	0.0399999999999991	0.0	262
+-263	0.0764021873474121	0.0700000000000003	0.0700000000000003	0.0	263
+-264	0.0333998203277588	0.0300000000000011	0.0300000000000011	0.0	264
+-265	0.0331900119781494	0.0399999999999991	0.0399999999999991	0.0	265
+-266	0.0328788757324219	0.0300000000000011	0.0300000000000011	0.0	266
+-267	0.0352470874786377	0.0399999999999991	0.0399999999999991	0.0	267
+-268	0.0326640605926514	0.0300000000000011	0.0300000000000011	0.0	268
+-269	0.0323259830474854	0.029999999999994	0.029999999999994	0.0	269
+-270	0.0321478843688965	0.0300000000000011	0.0300000000000011	0.0	270
+-271	0.0730900764465332	0.0799999999999983	0.0799999999999983	0.0	271
+-272	0.032844066619873	0.0300000000000011	0.0300000000000011	0.0	272
+-273	0.0331649780273438	0.0300000000000011	0.0300000000000011	0.0	273
+-274	0.0364649295806885	0.0399999999999991	0.0399999999999991	0.0	274
+-275	0.0396530628204346	0.0399999999999991	0.0399999999999991	0.0	275
+-276	0.0334179401397705	0.0300000000000011	0.0300000000000011	0.0	276
+-277	0.0320639610290527	0.0300000000000011	0.0300000000000011	0.0	277
+-278	0.0313940048217773	0.0399999999999991	0.0399999999999991	0.0	278
+-279	0.0731561183929443	0.0700000000000003	0.0700000000000003	0.0	279
+-280	0.0364029407501221	0.0399999999999991	0.0399999999999991	0.0	280
+-281	0.0330798625946045	0.0300000000000011	0.0300000000000011	0.0	281
+-282	0.0338191986083984	0.0300000000000011	0.0300000000000011	0.0	282
+-283	0.0326099395751953	0.0399999999999991	0.0399999999999991	0.0	283
+-284	0.0324950218200684	0.0300000000000011	0.0300000000000011	0.0	284
+-285	0.0321521759033203	0.0300000000000011	0.0300000000000011	0.0	285
+-286	0.0321328639984131	0.0300000000000011	0.0300000000000011	0.0	286
+-287	0.0761940479278564	0.0799999999999983	0.0799999999999983	0.0	287
+-288	0.0365800857543945	0.0300000000000011	0.0300000000000011	0.0	288
+-289	0.0353879928588867	0.0399999999999991	0.0399999999999991	0.0	289
+-290	0.0333998203277588	0.0300000000000011	0.0300000000000011	0.0	290
+-291	0.0328271389007568	0.029999999999994	0.029999999999994	0.0	291
+-292	0.0326738357543945	0.0400000000000063	0.0400000000000063	0.0	292
+-293	0.0339128971099854	0.029999999999994	0.029999999999994	0.0	293
+-294	0.0325300693511963	0.0300000000000011	0.0300000000000011	0.0	294
+-295	0.0739338397979736	0.0800000000000054	0.0800000000000054	0.0	295
+-296	0.0328948497772217	0.029999999999994	0.029999999999994	0.0	296
+-297	0.0328888893127441	0.0300000000000011	0.0300000000000011	0.0	297
+-298	0.0327708721160889	0.0399999999999991	0.0399999999999991	0.0	298
+-299	0.0325500965118408	0.0300000000000011	0.0300000000000011	0.0	299
+-300	0.0354809761047363	0.0300000000000011	0.0300000000000011	0.0	300
+-301	0.0396809577941895	0.0399999999999991	0.0399999999999991	0.0	301
+-302	0.0334930419921875	0.0399999999999991	0.0399999999999991	0.0	302
+-303	0.0734050273895264	0.0700000000000003	0.0700000000000003	0.0	303
+-304	0.0328478813171387	0.0300000000000011	0.0300000000000011	0.0	304
+-305	0.0329740047454834	0.0399999999999991	0.0399999999999991	0.0	305
+-306	0.0364749431610107	0.0300000000000011	0.0300000000000011	0.0	306
+-307	0.0326058864593506	0.0300000000000011	0.0300000000000011	0.0	307
+-308	0.0327680110931396	0.0399999999999991	0.0399999999999991	0.0	308
+-309	0.0319027900695801	0.0300000000000011	0.0300000000000011	0.0	309
+-310	0.0315032005310059	0.0300000000000011	0.0300000000000011	0.0	310
+-311	0.073652982711792	0.0700000000000003	0.0700000000000003	0.0	311
+-312	0.0356411933898926	0.0399999999999991	0.0399999999999991	0.0	312
+-313	0.0330371856689453	0.0300000000000011	0.0300000000000011	0.0	313
+-314	0.0342891216278076	0.0399999999999991	0.0399999999999991	0.0	314
+-315	0.0345110893249512	0.0300000000000011	0.0300000000000011	0.0	315
+-316	0.032926082611084	0.029999999999994	0.029999999999994	0.0	316
+-317	0.031851053237915	0.0399999999999991	0.0399999999999991	0.0	317
+-318	0.0316848754882812	0.0300000000000011	0.0300000000000011	0.0	318
+-319	0.0761759281158447	0.0700000000000003	0.0700000000000003	0.0	319
+-320	0.0328528881072998	0.0399999999999991	0.0399999999999991	0.0	320
+-321	0.0334789752960205	0.0300000000000011	0.0300000000000011	0.0	321
+-322	0.0328638553619385	0.0300000000000011	0.0300000000000011	0.0	322
+-323	0.0323901176452637	0.0399999999999991	0.0399999999999991	0.0	323
+-324	0.0323100090026855	0.0300000000000011	0.0300000000000011	0.0	324
+-325	0.0324501991271973	0.0300000000000011	0.0300000000000011	0.0	325
+-326	0.0336298942565918	0.0300000000000011	0.0300000000000011	0.0	326
+-327	0.0810260772705078	0.0899999999999963	0.0899999999999963	0.0	327
+-328	0.0327072143554688	0.0300000000000011	0.0300000000000011	0.0	328
+-329	0.0328741073608398	0.0300000000000011	0.0300000000000011	0.0	329
+-330	0.0328249931335449	0.0300000000000011	0.0300000000000011	0.0	330
+-331	0.0325191020965576	0.0399999999999991	0.0399999999999991	0.0	331
+-332	0.0351779460906982	0.0300000000000011	0.0300000000000011	0.0	332
+-333	0.0318300724029541	0.0300000000000011	0.0300000000000011	0.0	333
+-334	0.075192928314209	0.0799999999999983	0.0799999999999983	0.0	334
+-335	0.0331308841705322	0.0300000000000011	0.0300000000000011	0.0	335
+-336	0.0328052043914795	0.029999999999994	0.029999999999994	0.0	336
+-337	0.0331370830535889	0.0400000000000063	0.0400000000000063	0.0	337
+-338	0.0356910228729248	0.029999999999994	0.029999999999994	0.0	338
+-339	0.0324921607971191	0.0400000000000063	0.0400000000000063	0.0	339
+-340	0.0324490070343018	0.029999999999994	0.029999999999994	0.0	340
+-341	0.0341949462890625	0.0300000000000011	0.0300000000000011	0.0	341
+-342	0.0734210014343262	0.0799999999999983	0.0799999999999983	0.0	342
+-343	0.0332908630371094	0.0300000000000011	0.0300000000000011	0.0	343
+-344	0.0332479476928711	0.0300000000000011	0.0300000000000011	0.0	344
+-345	0.0360391139984131	0.0399999999999991	0.0399999999999991	0.0	345
+-346	0.0328700542449951	0.0300000000000011	0.0300000000000011	0.0	346
+-347	0.0346879959106445	0.0399999999999991	0.0399999999999991	0.0	347
+-348	0.0322730541229248	0.0300000000000011	0.0300000000000011	0.0	348
+-349	0.0316729545593262	0.0300000000000011	0.0300000000000011	0.0	349
+-350	0.0730090141296387	0.0700000000000003	0.0700000000000003	0.0	350
+-351	0.0364499092102051	0.0399999999999991	0.0399999999999991	0.0	351
+-352	0.0416209697723389	0.0399999999999991	0.0399999999999991	0.0	352
+-353	0.0340771675109863	0.0399999999999991	0.0399999999999991	0.0	353
+-354	0.0326759815216064	0.0300000000000011	0.0300000000000011	0.0	354
+-355	0.0324649810791016	0.0300000000000011	0.0300000000000011	0.0	355
+-356	0.032310962677002	0.0300000000000011	0.0300000000000011	0.0	356
+-357	0.0313961505889893	0.0300000000000011	0.0300000000000011	0.0	357
+-358	0.0751090049743652	0.0799999999999983	0.0799999999999983	0.0	358
+-359	0.0351879596710205	0.0399999999999991	0.0399999999999991	0.0	359
+-360	0.0331299304962158	0.0300000000000011	0.0300000000000011	0.0	360
+-361	0.0328550338745117	0.0300000000000011	0.0300000000000011	0.0	361
+-362	0.0325639247894287	0.029999999999994	0.029999999999994	0.0	362
+-363	0.0325849056243896	0.0400000000000063	0.0400000000000063	0.0	363
+-364	0.0344219207763672	0.029999999999994	0.029999999999994	0.0	364
+-365	0.0323021411895752	0.0300000000000011	0.0300000000000011	0.0	365
+-366	0.0760447978973389	0.0800000000000054	0.0800000000000054	0.0	366
+-367	0.0335848331451416	0.029999999999994	0.029999999999994	0.0	367
+-368	0.0331020355224609	0.0399999999999991	0.0399999999999991	0.0	368
+-369	0.0329232215881348	0.0300000000000011	0.0300000000000011	0.0	369
+-370	0.0328400135040283	0.0300000000000011	0.0300000000000011	0.0	370
+-371	0.0363020896911621	0.0399999999999991	0.0399999999999991	0.0	371
+-372	0.0322511196136475	0.0300000000000011	0.0300000000000011	0.0	372
+-373	0.0333948135375977	0.0300000000000011	0.0300000000000011	0.0	373
+-374	0.0732510089874268	0.0799999999999983	0.0799999999999983	0.0	374
+-375	0.032930850982666	0.0300000000000011	0.0300000000000011	0.0	375
+-376	0.0330500602722168	0.0300000000000011	0.0300000000000011	0.0	376
+-377	0.0361061096191406	0.0399999999999991	0.0399999999999991	0.0	377
+-378	0.0395760536193848	0.0399999999999991	0.0399999999999991	0.0	378
+-379	0.0334169864654541	0.0300000000000011	0.0300000000000011	0.0	379
+-380	0.0320568084716797	0.0300000000000011	0.0300000000000011	0.0	380
+-381	0.0315189361572266	0.0399999999999991	0.0399999999999991	0.0	381
+-382	0.0733020305633545	0.0700000000000003	0.0700000000000003	0.0	382
+-383	0.0355980396270752	0.0399999999999991	0.0399999999999991	0.0	383
+-384	0.0331339836120605	0.0300000000000011	0.0300000000000011	0.0	384
+-385	0.0331411361694336	0.0300000000000011	0.0300000000000011	0.0	385
+-386	0.0324721336364746	0.0300000000000011	0.0300000000000011	0.0	386
+-387	0.0324320793151855	0.0399999999999991	0.0399999999999991	0.0	387
+-388	0.0321850776672363	0.029999999999994	0.029999999999994	0.0	388
+-389	0.0315890312194824	0.0300000000000011	0.0300000000000011	0.0	389
+-390	0.0761289596557617	0.0800000000000054	0.0800000000000054	0.0	390
+-391	0.033301830291748	0.029999999999994	0.029999999999994	0.0	391
+-392	0.035081148147583	0.0300000000000011	0.0300000000000011	0.0	392
+-393	0.0335009098052979	0.0399999999999991	0.0399999999999991	0.0	393
+-394	0.0326759815216064	0.0300000000000011	0.0300000000000011	0.0	394
+-395	0.0327270030975342	0.0300000000000011	0.0300000000000011	0.0	395
+-396	0.0323770046234131	0.0399999999999991	0.0399999999999991	0.0	396
+-397	0.0347421169281006	0.0300000000000011	0.0300000000000011	0.0	397
+-398	0.0752899646759033	0.0799999999999983	0.0799999999999983	0.0	398
+-399	0.0327789783477783	0.0300000000000011	0.0300000000000011	0.0	399
+-400	0.032951831817627	0.0300000000000011	0.0300000000000011	0.0	400
+-401	0.03273606300354	0.0300000000000011	0.0300000000000011	0.0	401
+-402	0.0324621200561523	0.0399999999999991	0.0399999999999991	0.0	402
+-403	0.0350461006164551	0.0300000000000011	0.0300000000000011	0.0	403
+-404	0.0376379489898682	0.0399999999999991	0.0399999999999991	0.0	404
+-405	0.0354411602020264	0.0300000000000011	0.0300000000000011	0.0	405
+-406	0.0734958648681641	0.0799999999999983	0.0799999999999983	0.0	406
+-407	0.0329210758209229	0.0300000000000011	0.0300000000000011	0.0	407
+-408	0.0329289436340332	0.0300000000000011	0.0300000000000011	0.0	408
+-409	0.0354850292205811	0.0399999999999991	0.0399999999999991	0.0	409
+-410	0.0325729846954346	0.0300000000000011	0.0300000000000011	0.0	410
+-411	0.0327589511871338	0.0399999999999991	0.0399999999999991	0.0	411
+-412	0.0319170951843262	0.0300000000000011	0.0300000000000011	0.0	412
+-413	0.031519889831543	0.029999999999994	0.029999999999994	0.0	413
+-414	0.0742340087890625	0.0700000000000003	0.0700000000000003	0.0	414
+-415	0.0346739292144775	0.0399999999999991	0.0399999999999991	0.0	415
+-416	0.0351288318634033	0.0300000000000011	0.0300000000000011	0.0	416
+-417	0.0329630374908447	0.0399999999999991	0.0399999999999991	0.0	417
+-418	0.0367558002471924	0.0300000000000011	0.0300000000000011	0.0	418
+-419	0.0328981876373291	0.0300000000000011	0.0300000000000011	0.0	419
+-420	0.0320210456848145	0.0399999999999991	0.0399999999999991	0.0	420
+-421	0.031790018081665	0.0300000000000011	0.0300000000000011	0.0	421
+-422	0.0784010887145996	0.0799999999999983	0.0799999999999983	0.0	422
+-423	0.0330309867858887	0.0300000000000011	0.0300000000000011	0.0	423
+-424	0.0335760116577148	0.0300000000000011	0.0300000000000011	0.0	424
+-425	0.0327050685882568	0.0399999999999991	0.0399999999999991	0.0	425
+-426	0.0326788425445557	0.0300000000000011	0.0300000000000011	0.0	426
+-427	0.032289981842041	0.0300000000000011	0.0300000000000011	0.0	427
+-428	0.0317809581756592	0.0300000000000011	0.0300000000000011	0.0	428
+-429	0.0816869735717773	0.0899999999999963	0.0899999999999963	0.0	429
+-430	0.035430908203125	0.0300000000000011	0.0300000000000011	0.0	430
+-431	0.0327348709106445	0.0300000000000011	0.0300000000000011	0.0	431
+-432	0.0328209400177002	0.0399999999999991	0.0399999999999991	0.0	432
+-433	0.0328578948974609	0.0300000000000011	0.0300000000000011	0.0	433
+-434	0.0324020385742188	0.0300000000000011	0.0300000000000011	0.0	434
+-435	0.0351409912109375	0.0399999999999991	0.0399999999999991	0.0	435
+-436	0.0321168899536133	0.0300000000000011	0.0300000000000011	0.0	436
+-437	0.0726029872894287	0.0700000000000003	0.0700000000000003	0.0	437
+-438	0.0331008434295654	0.029999999999994	0.029999999999994	0.0	438
+-439	0.0328960418701172	0.0399999999999991	0.0399999999999991	0.0	439
+-440	0.0328078269958496	0.0300000000000011	0.0300000000000011	0.0	440
+-441	0.0326459407806396	0.0300000000000011	0.0300000000000011	0.0	441
+-442	0.0361838340759277	0.0399999999999991	0.0399999999999991	0.0	442
+-443	0.0322508811950684	0.0300000000000011	0.0300000000000011	0.0	443
+-444	0.0355379581451416	0.0399999999999991	0.0399999999999991	0.0	444
+-445	0.0736260414123535	0.0700000000000003	0.0700000000000003	0.0	445
+-446	0.0333738327026367	0.0300000000000011	0.0300000000000011	0.0	446
+-447	0.0333800315856934	0.0399999999999991	0.0399999999999991	0.0	447
+-448	0.0369861125946045	0.0300000000000011	0.0300000000000011	0.0	448
+-449	0.033034086227417	0.0399999999999991	0.0399999999999991	0.0	449
+-450	0.034984827041626	0.0300000000000011	0.0300000000000011	0.0	450
+-451	0.0323779582977295	0.0300000000000011	0.0300000000000011	0.0	451
+-452	0.0319168567657471	0.0399999999999991	0.0399999999999991	0.0	452
+-453	0.0730609893798828	0.0700000000000003	0.0700000000000003	0.0	453
+-454	0.0357108116149902	0.0399999999999991	0.0399999999999991	0.0	454
+-455	0.0403239727020264	0.0399999999999991	0.0399999999999991	0.0	455
+-456	0.033923864364624	0.0300000000000011	0.0300000000000011	0.0	456
+-457	0.0325479507446289	0.0300000000000011	0.0300000000000011	0.0	457
+-458	0.0323481559753418	0.0300000000000011	0.0300000000000011	0.0	458
+-459	0.0323350429534912	0.0399999999999991	0.0399999999999991	0.0	459
+-460	0.0314900875091553	0.0300000000000011	0.0300000000000011	0.0	460
+-461	0.075538158416748	0.0700000000000003	0.0700000000000003	0.0	461
+-462	0.0340449810028076	0.0399999999999991	0.0399999999999991	0.0	462
+-463	0.0331201553344727	0.0300000000000011	0.0300000000000011	0.0	463
+-464	0.0330970287322998	0.029999999999994	0.029999999999994	0.0	464
+-465	0.0326929092407227	0.0399999999999991	0.0399999999999991	0.0	465
+-466	0.0326869487762451	0.0300000000000011	0.0300000000000011	0.0	466
+-467	0.0325558185577393	0.0300000000000011	0.0300000000000011	0.0	467
+-468	0.0355589389801025	0.0399999999999991	0.0399999999999991	0.0	468
+-469	0.0771338939666748	0.0700000000000003	0.0700000000000003	0.0	469
+-470	0.0334289073944092	0.0399999999999991	0.0399999999999991	0.0	470
+-471	0.0330390930175781	0.0300000000000011	0.0300000000000011	0.0	471
+-472	0.0329241752624512	0.0300000000000011	0.0300000000000011	0.0	472
+-473	0.0327908992767334	0.0399999999999991	0.0399999999999991	0.0	473
+-474	0.0363669395446777	0.0300000000000011	0.0300000000000011	0.0	474
+-475	0.0322010517120361	0.0300000000000011	0.0300000000000011	0.0	475
+-476	0.0328471660614014	0.0399999999999991	0.0399999999999991	0.0	476
+-477	0.0735671520233154	0.0700000000000003	0.0700000000000003	0.0	477
+-478	0.0327999591827393	0.0300000000000011	0.0300000000000011	0.0	478
+-479	0.0329790115356445	0.0399999999999991	0.0399999999999991	0.0	479
+-480	0.0350720882415771	0.0300000000000011	0.0300000000000011	0.0	480
+-481	0.0392179489135742	0.0399999999999991	0.0399999999999991	0.0	481
+-482	0.0342378616333008	0.0399999999999991	0.0399999999999991	0.0	482
+-483	0.0319888591766357	0.0300000000000011	0.0300000000000011	0.0	483
+-484	0.0314619541168213	0.0300000000000011	0.0300000000000011	0.0	484
+-485	0.0736970901489258	0.0700000000000003	0.0700000000000003	0.0	485
+-486	0.0357317924499512	0.0399999999999991	0.0399999999999991	0.0	486
+-487	0.0331878662109375	0.0300000000000011	0.0300000000000011	0.0	487
+-488	0.033804178237915	0.0399999999999991	0.0399999999999991	0.0	488
+-489	0.0325119495391846	0.0300000000000011	0.0300000000000011	0.0	489
+-490	0.0325300693511963	0.029999999999994	0.029999999999994	0.0	490
+-491	0.0321159362792969	0.0300000000000011	0.0300000000000011	0.0	491
+-492	0.0320580005645752	0.0399999999999991	0.0399999999999991	0.0	492
+-493	0.075861930847168	0.0700000000000003	0.0700000000000003	0.0	493
+-494	0.033599853515625	0.0399999999999991	0.0399999999999991	0.0	494
+-495	0.0367560386657715	0.0300000000000011	0.0300000000000011	0.0	495
+-496	0.0333199501037598	0.0300000000000011	0.0300000000000011	0.0	496
+-497	0.0325191020965576	0.0399999999999991	0.0399999999999991	0.0	497
+-498	0.0327298641204834	0.0300000000000011	0.0300000000000011	0.0	498
+-499	0.0322799682617188	0.0300000000000011	0.0300000000000011	0.0	499
+-500	0.0348708629608154	0.0399999999999991	0.0399999999999991	0.0	500
+-501	0.0749578475952148	0.0700000000000003	0.0700000000000003	0.0	501
+-502	0.0332460403442383	0.0399999999999991	0.0399999999999991	0.0	502
+-503	0.0331079959869385	0.0300000000000011	0.0300000000000011	0.0	503
+-504	0.0328578948974609	0.0300000000000011	0.0300000000000011	0.0	504
+-505	0.032494068145752	0.0300000000000011	0.0300000000000011	0.0	505
+-506	0.0351459980010986	0.0399999999999991	0.0399999999999991	0.0	506
+-507	0.0394799709320068	0.0500000000000043	0.0399999999999991	0.01	507
+-508	0.0342020988464355	0.0300000000000011	0.0300000000000011	0.0	508
+-509	0.0742120742797852	0.0799999999999983	0.0799999999999983	0.0	509
+-510	0.0330269336700439	0.0300000000000011	0.0300000000000011	0.0	510
+-511	0.032991886138916	0.0300000000000011	0.0300000000000011	0.0	511
+-512	0.0354578495025635	0.0399999999999991	0.0399999999999991	0.0	512
+-513	0.0327198505401611	0.0300000000000011	0.0300000000000011	0.0	513
+-514	0.0336050987243652	0.029999999999994	0.029999999999994	0.0	514
+-515	0.0318880081176758	0.0400000000000063	0.0400000000000063	0.0	515
+-516	0.0725610256195068	0.0699999999999932	0.0699999999999932	0.0	516
+-517	0.0332450866699219	0.0300000000000011	0.0300000000000011	0.0	517
+-518	0.0342578887939453	0.0399999999999991	0.0399999999999991	0.0	518
+-519	0.035430908203125	0.0300000000000011	0.0300000000000011	0.0	519
+-520	0.032912015914917	0.0399999999999991	0.0399999999999991	0.0	520
+-521	0.0366041660308838	0.0300000000000011	0.0300000000000011	0.0	521
+-522	0.0328991413116455	0.0300000000000011	0.0300000000000011	0.0	522
+-523	0.0319130420684814	0.0399999999999991	0.0399999999999991	0.0	523
+-524	0.07318115234375	0.0700000000000003	0.0700000000000003	0.0	524
+-525	0.0363700389862061	0.0399999999999991	0.0399999999999991	0.0	525
+-526	0.033411979675293	0.0300000000000011	0.0300000000000011	0.0	526
+-527	0.0364720821380615	0.0399999999999991	0.0399999999999991	0.0	527
+-528	0.0327281951904297	0.0300000000000011	0.0300000000000011	0.0	528
+-529	0.0325851440429688	0.0300000000000011	0.0300000000000011	0.0	529
+-530	0.0322520732879639	0.0300000000000011	0.0300000000000011	0.0	530
+-531	0.0316128730773926	0.0399999999999991	0.0399999999999991	0.0	531
+-532	0.0813291072845459	0.0799999999999983	0.0799999999999983	0.0	532
+-533	0.0356478691101074	0.0300000000000011	0.0300000000000011	0.0	533
+-534	0.0330061912536621	0.0300000000000011	0.0300000000000011	0.0	534
+-535	0.0327270030975342	0.0399999999999991	0.0399999999999991	0.0	535
+-536	0.032696008682251	0.0300000000000011	0.0300000000000011	0.0	536
+-537	0.032243013381958	0.0300000000000011	0.0300000000000011	0.0	537
+-538	0.0348541736602783	0.0399999999999991	0.0399999999999991	0.0	538
+-539	0.031674861907959	0.0300000000000011	0.0300000000000011	0.0	539
+-540	0.0754058361053467	0.0700000000000003	0.0700000000000003	0.0	540
+-541	0.0328490734100342	0.0399999999999991	0.0399999999999991	0.0	541
+-542	0.0332391262054443	0.029999999999994	0.029999999999994	0.0	542
+-543	0.0331962108612061	0.0300000000000011	0.0300000000000011	0.0	543
+-544	0.0350210666656494	0.0399999999999991	0.0399999999999991	0.0	544
+-545	0.0324161052703857	0.0300000000000011	0.0300000000000011	0.0	545
+-546	0.031865119934082	0.0300000000000011	0.0300000000000011	0.0	546
+-547	0.0355000495910645	0.0399999999999991	0.0399999999999991	0.0	547
+-548	0.0733621120452881	0.0700000000000003	0.0700000000000003	0.0	548
+-549	0.0331029891967773	0.0300000000000011	0.0300000000000011	0.0	549
+-550	0.0332908630371094	0.0399999999999991	0.0399999999999991	0.0	550
+-551	0.0365278720855713	0.0300000000000011	0.0300000000000011	0.0	551
+-552	0.0326669216156006	0.0399999999999991	0.0399999999999991	0.0	552
+-553	0.0345711708068848	0.0300000000000011	0.0300000000000011	0.0	553
+-554	0.0320999622344971	0.0300000000000011	0.0300000000000011	0.0	554
+-555	0.0315120220184326	0.0300000000000011	0.0300000000000011	0.0	555
+-556	0.0733709335327148	0.0700000000000003	0.0700000000000003	0.0	556
+-557	0.0357170104980469	0.0300000000000011	0.0300000000000011	0.0	557
+-558	0.0411560535430908	0.0399999999999991	0.0399999999999991	0.0	558
+-559	0.0337309837341309	0.0399999999999991	0.0399999999999991	0.0	559
+-560	0.0325090885162354	0.0300000000000011	0.0300000000000011	0.0	560
+-561	0.0326089859008789	0.0300000000000011	0.0300000000000011	0.0	561
+-562	0.032412052154541	0.029999999999994	0.029999999999994	0.0	562
+-563	0.0314450263977051	0.0300000000000011	0.0300000000000011	0.0	563
+-564	0.0781939029693604	0.0700000000000003	0.0700000000000003	0.0	564
+-565	0.0359461307525635	0.0399999999999991	0.0399999999999991	0.0	565
+-566	0.0339870452880859	0.0300000000000011	0.0300000000000011	0.0	566
+-567	0.0329389572143555	0.0399999999999991	0.0399999999999991	0.0	567
+-568	0.0336530208587646	0.029999999999994	0.029999999999994	0.0	568
+-569	0.0326399803161621	0.0300000000000011	0.0300000000000011	0.0	569
+-570	0.0351450443267822	0.0399999999999991	0.0399999999999991	0.0	570
+-571	0.0314168930053711	0.0300000000000011	0.0300000000000011	0.0	571
+-572	0.0775408744812012	0.0800000000000054	0.0800000000000054	0.0	572
+-573	0.032926082611084	0.029999999999994	0.029999999999994	0.0	573
+-574	0.0330569744110107	0.0300000000000011	0.0300000000000011	0.0	574
+-575	0.0329349040985107	0.0300000000000011	0.0300000000000011	0.0	575
+-576	0.0327939987182617	0.0399999999999991	0.0399999999999991	0.0	576
+-577	0.035599946975708	0.0300000000000011	0.0300000000000011	0.0	577
+-578	0.0321230888366699	0.0399999999999991	0.0399999999999991	0.0	578
+-579	0.0320999622344971	0.0300000000000011	0.0300000000000011	0.0	579
+-580	0.0739450454711914	0.0700000000000003	0.0700000000000003	0.0	580
+-581	0.0332319736480713	0.0300000000000011	0.0300000000000011	0.0	581
+-582	0.0331840515136719	0.0300000000000011	0.0300000000000011	0.0	582
+-583	0.0358431339263916	0.0300000000000011	0.0300000000000011	0.0	583
+-584	0.0413031578063965	0.0499999999999972	0.0499999999999972	0.0	584
+-585	0.0345101356506348	0.0300000000000011	0.0300000000000011	0.0	585
+-586	0.0317580699920654	0.0300000000000011	0.0300000000000011	0.0	586
+-587	0.0729880332946777	0.0799999999999983	0.0799999999999983	0.0	587
+-588	0.0332069396972656	0.0300000000000011	0.0300000000000011	0.0	588
+-589	0.036264181137085	0.0300000000000011	0.0300000000000011	0.0	589
+-590	0.0331530570983887	0.0399999999999991	0.0399999999999991	0.0	590
+-591	0.0343399047851562	0.0300000000000011	0.0300000000000011	0.0	591
+-592	0.0326418876647949	0.0300000000000011	0.0300000000000011	0.0	592
+-593	0.0326697826385498	0.0300000000000011	0.0300000000000011	0.0	593
+-594	0.0320968627929688	0.0299999999999869	0.029999999999994	0.0	594
+-595	0.0752952098846436	0.0800000000000125	0.0800000000000054	0.0	595
+-596	0.0330331325531006	0.0299999999999869	0.029999999999994	0.0	596
+-597	0.0343711376190186	0.0300000000000011	0.0300000000000011	0.0	597
+-598	0.035207986831665	0.0400000000000063	0.0400000000000063	0.0	598
+-599	0.0326581001281738	0.0300000000000011	0.0300000000000011	0.0	599
+-600	0.0325701236724854	0.0300000000000011	0.0300000000000011	0.0	600
+-601	0.0330169200897217	0.039999999999992	0.039999999999992	0.0	601
+-602	0.0319371223449707	0.0300000000000011	0.0300000000000011	0.0	602
+-603	0.0774281024932861	0.0799999999999983	0.0799999999999983	0.0	603
+-604	0.033113956451416	0.0300000000000011	0.0300000000000011	0.0	604
+-605	0.0331709384918213	0.0300000000000011	0.0300000000000011	0.0	605
+-606	0.0327689647674561	0.0300000000000011	0.0300000000000011	0.0	606
+-607	0.0324411392211914	0.0400000000000063	0.0400000000000063	0.0	607
+-608	0.0325808525085449	0.0299999999999869	0.0299999999999869	0.0	608
+-609	0.0360062122344971	0.0400000000000063	0.0400000000000063	0.0	609
+-610	0.041234016418457	0.0400000000000063	0.0400000000000063	0.0	610
+-611	0.0736250877380371	0.0699999999999932	0.0699999999999932	0.0	611
+-612	0.0329921245574951	0.0300000000000011	0.0300000000000011	0.0	612
+-613	0.0332169532775879	0.0400000000000063	0.0400000000000063	0.0	613
+-614	0.0327460765838623	0.0299999999999869	0.0299999999999869	0.0	614
+-615	0.0364718437194824	0.0400000000000063	0.0400000000000063	0.0	615
+-616	0.0324280261993408	0.0300000000000011	0.0300000000000011	0.0	616
+-617	0.0323798656463623	0.0300000000000011	0.0300000000000011	0.0	617
+-618	0.031386137008667	0.0300000000000011	0.0300000000000011	0.0	618
+-619	0.0726630687713623	0.0799999999999983	0.0799999999999983	0.0	619
+-620	0.0328989028930664	0.0300000000000011	0.0300000000000011	0.0	620
+-621	0.0358729362487793	0.0300000000000011	0.0300000000000011	0.0	621
+-622	0.0327029228210449	0.039999999999992	0.039999999999992	0.0	622
+-623	0.0342001914978027	0.0300000000000011	0.0300000000000011	0.0	623
+-624	0.0347521305084229	0.0400000000000063	0.0400000000000063	0.0	624
+-625	0.0318779945373535	0.0300000000000011	0.0300000000000011	0.0	625
+-626	0.0316078662872314	0.0300000000000011	0.0300000000000011	0.0	626
+-627	0.0768020153045654	0.0699999999999932	0.0699999999999932	0.0	627
+-628	0.0332560539245605	0.0400000000000063	0.0400000000000063	0.0	628
+-629	0.0345439910888672	0.0300000000000011	0.0300000000000011	0.0	629
+-630	0.033174991607666	0.039999999999992	0.039999999999992	0.0	630
+-631	0.0327689647674561	0.0300000000000011	0.0300000000000011	0.0	631
+-632	0.0324020385742188	0.0300000000000011	0.0300000000000011	0.0	632
+-633	0.0320298671722412	0.0300000000000011	0.0300000000000011	0.0	633
+-634	0.0313320159912109	0.0300000000000011	0.0300000000000011	0.0	634
+-635	0.0831730365753174	0.0900000000000034	0.0900000000000034	0.0	635
+-636	0.0344598293304443	0.0299999999999869	0.0299999999999869	0.0	636
+-637	0.0330190658569336	0.0400000000000063	0.0400000000000063	0.0	637
+-638	0.033113956451416	0.0300000000000011	0.0300000000000011	0.0	638
+-639	0.032689094543457	0.0300000000000011	0.0300000000000011	0.0	639
+-640	0.0323820114135742	0.0300000000000011	0.0300000000000011	0.0	640
+-641	0.034714937210083	0.039999999999992	0.039999999999992	0.0	641
+-642	0.0318310260772705	0.0300000000000011	0.0300000000000011	0.0	642
+-643	0.0750701427459717	0.0700000000000074	0.0700000000000074	0.0	643
+-644	0.0330171585083008	0.039999999999992	0.039999999999992	0.0	644
+-645	0.0331709384918213	0.0300000000000011	0.0300000000000011	0.0	645
+-646	0.0328099727630615	0.0300000000000011	0.0300000000000011	0.0	646
+-647	0.0354018211364746	0.0400000000000063	0.0400000000000063	0.0	647
+-648	0.0324749946594238	0.0300000000000011	0.0300000000000011	0.0	648
+-649	0.0331239700317383	0.0300000000000011	0.0300000000000011	0.0	649
+-650	0.0337600708007812	0.039999999999992	0.039999999999992	0.0	650
+-651	0.0735490322113037	0.0700000000000074	0.0700000000000074	0.0	651
+-652	0.0332188606262207	0.0300000000000011	0.0300000000000011	0.0	652
+-653	0.0344240665435791	0.039999999999992	0.039999999999992	0.0	653
+-654	0.0346159934997559	0.0300000000000011	0.0300000000000011	0.0	654
+-655	0.0326159000396729	0.0400000000000063	0.0400000000000063	0.0	655
+-656	0.0342769622802734	0.0299999999999869	0.0299999999999869	0.0	656
+-657	0.0318350791931152	0.0300000000000011	0.0300000000000011	0.0	657
+-658	0.0315489768981934	0.0300000000000011	0.0300000000000011	0.0	658
+-659	0.0741128921508789	0.0799999999999983	0.0799999999999983	0.0	659
+-660	0.0384690761566162	0.0400000000000063	0.0400000000000063	0.0	660
+-661	0.0412099361419678	0.0400000000000063	0.0400000000000063	0.0	661
+-662	0.0339169502258301	0.0299999999999869	0.0299999999999869	0.0	662
+-663	0.0325090885162354	0.0300000000000011	0.0300000000000011	0.0	663
+-664	0.0323750972747803	0.0400000000000063	0.0400000000000063	0.0	664
+-665	0.0319221019744873	0.0300000000000011	0.0300000000000011	0.0	665
+-666	0.0757949352264404	0.0699999999999932	0.0699999999999932	0.0	666
+-667	0.0332348346710205	0.0400000000000063	0.0400000000000063	0.0	667
+-668	0.0343492031097412	0.0300000000000011	0.0300000000000011	0.0	668
+-669	0.0330471992492676	0.0300000000000011	0.0300000000000011	0.0	669
+-670	0.0328240394592285	0.039999999999992	0.039999999999992	0.0	670
+-671	0.0326519012451172	0.0300000000000011	0.0300000000000011	0.0	671
+-672	0.0323309898376465	0.0300000000000011	0.0300000000000011	0.0	672
+-673	0.0348069667816162	0.0400000000000063	0.0400000000000063	0.0	673
+-674	0.0734519958496094	0.0699999999999932	0.0699999999999932	0.0	674
+-675	0.0358669757843018	0.0400000000000063	0.0400000000000063	0.0	675
+-676	0.0329530239105225	0.0300000000000011	0.0300000000000011	0.0	676
+-677	0.033228874206543	0.0300000000000011	0.0300000000000011	0.0	677
+-678	0.0329709053039551	0.039999999999992	0.039999999999992	0.0	678
+-679	0.0349721908569336	0.0300000000000011	0.0300000000000011	0.0	679
+-680	0.0329270362854004	0.0300000000000011	0.0300000000000011	0.0	680
+-681	0.0317440032958984	0.0400000000000063	0.0400000000000063	0.0	681
+-682	0.0737960338592529	0.0699999999999932	0.0699999999999932	0.0	682
+-683	0.0329961776733398	0.0300000000000011	0.0300000000000011	0.0	683
+-684	0.0329370498657227	0.0400000000000063	0.0400000000000063	0.0	684
+-685	0.033027172088623	0.0299999999999869	0.0299999999999869	0.0	685
+-686	0.0384509563446045	0.0400000000000063	0.0400000000000063	0.0	686
+-687	0.0391240119934082	0.0400000000000063	0.0400000000000063	0.0	687
+-688	0.0333750247955322	0.0299999999999869	0.0299999999999869	0.0	688
+-689	0.0313661098480225	0.0300000000000011	0.0300000000000011	0.0	689
+-690	0.0728821754455566	0.0700000000000074	0.0700000000000074	0.0	690
+-691	0.0328829288482666	0.039999999999992	0.039999999999992	0.0	691
+-692	0.0367858409881592	0.0300000000000011	0.0300000000000011	0.0	692
+-693	0.032905101776123	0.0400000000000063	0.0400000000000063	0.0	693
+-694	0.0336589813232422	0.0300000000000011	0.0300000000000011	0.0	694
+-695	0.0322878360748291	0.0300000000000011	0.0300000000000011	0.0	695
+-696	0.0319581031799316	0.0300000000000011	0.0300000000000011	0.0	696
+-697	0.0315032005310059	0.039999999999992	0.039999999999992	0.0	697
+-698	0.0756649971008301	0.0700000000000074	0.0700000000000074	0.0	698
+-699	0.0332357883453369	0.039999999999992	0.039999999999992	0.0	699
+-700	0.0345721244812012	0.0300000000000011	0.0300000000000011	0.0	700
+-701	0.035128116607666	0.0300000000000011	0.0300000000000011	0.0	701
+-702	0.0327088832855225	0.0400000000000063	0.0400000000000063	0.0	702
+-703	0.032559871673584	0.0300000000000011	0.0300000000000011	0.0	703
+-704	0.0327198505401611	0.0300000000000011	0.0300000000000011	0.0	704
+-705	0.0315008163452148	0.0299999999999869	0.0299999999999869	0.0	705
+-706	0.0784509181976318	0.0800000000000125	0.0800000000000125	0.0	706
+-707	0.032890796661377	0.039999999999992	0.039999999999992	0.0	707
+-708	0.0331568717956543	0.0300000000000011	0.0300000000000011	0.0	708
+-709	0.0327529907226562	0.0300000000000011	0.0300000000000011	0.0	709
+-710	0.0325257778167725	0.0300000000000011	0.0300000000000011	0.0	710
+-711	0.0323739051818848	0.039999999999992	0.039999999999992	0.0	711
+-712	0.0377719402313232	0.0300000000000011	0.0300000000000011	0.0	712
+-713	0.0389621257781982	0.0400000000000063	0.0400000000000063	0.0	713
+-714	0.0756630897521973	0.0799999999999983	0.0799999999999983	0.0	714
+-715	0.0329148769378662	0.0300000000000011	0.0300000000000011	0.0	715
+-716	0.0330750942230225	0.0400000000000063	0.0400000000000063	0.0	716
+-717	0.0328159332275391	0.0299999999999869	0.0299999999999869	0.0	717
+-718	0.0366039276123047	0.0300000000000011	0.0300000000000011	0.0	718
+-719	0.032505989074707	0.0400000000000063	0.0400000000000063	0.0	719
+-720	0.0332479476928711	0.0300000000000011	0.0300000000000011	0.0	720
+-721	0.0314240455627441	0.0300000000000011	0.0300000000000011	0.0	721
+-722	0.0737588405609131	0.0799999999999983	0.0799999999999983	0.0	722
+-723	0.0348548889160156	0.0300000000000011	0.0300000000000011	0.0	723
+-724	0.0358438491821289	0.0300000000000011	0.0300000000000011	0.0	724
+-725	0.0327739715576172	0.0300000000000011	0.0300000000000011	0.0	725
+-726	0.0338411331176758	0.0300000000000011	0.0300000000000011	0.0	726
+-727	0.0345768928527832	0.0400000000000063	0.0400000000000063	0.0	727
+-728	0.0319709777832031	0.0300000000000011	0.0300000000000011	0.0	728
+-729	0.0316281318664551	0.0300000000000011	0.0300000000000011	0.0	729
+-730	0.0774428844451904	0.0799999999999983	0.0799999999999983	0.0	730
+-731	0.0331730842590332	0.0300000000000011	0.0300000000000011	0.0	731
+-732	0.0344212055206299	0.0300000000000011	0.0300000000000011	0.0	732
+-733	0.0328938961029053	0.039999999999992	0.039999999999992	0.0	733
+-734	0.032724142074585	0.0300000000000011	0.0300000000000011	0.0	734
+-735	0.0324850082397461	0.0300000000000011	0.0300000000000011	0.0	735
+-736	0.031792163848877	0.0300000000000011	0.0300000000000011	0.0	736
+-737	0.0799460411071777	0.0799999999999983	0.0799999999999983	0.0	737
+-738	0.0354650020599365	0.0400000000000063	0.0400000000000063	0.0	738
+-739	0.0343890190124512	0.0299999999999869	0.0299999999999869	0.0	739
+-740	0.0328691005706787	0.0400000000000063	0.0400000000000063	0.0	740
+-741	0.0328059196472168	0.0300000000000011	0.0300000000000011	0.0	741
+-742	0.0325958728790283	0.0300000000000011	0.0300000000000011	0.0	742
+-743	0.0322740077972412	0.039999999999992	0.039999999999992	0.0	743
+-744	0.0356390476226807	0.0300000000000011	0.0300000000000011	0.0	744
+-745	0.0736830234527588	0.0700000000000074	0.0700000000000074	0.0	745
+-746	0.0331189632415771	0.0300000000000011	0.0300000000000011	0.0	746
+-747	0.0331828594207764	0.0300000000000011	0.0300000000000011	0.0	747
+-748	0.0329599380493164	0.0300000000000011	0.0300000000000011	0.0	748
+-749	0.0325560569763184	0.0400000000000063	0.0400000000000063	0.0	749
+-750	0.0352969169616699	0.0300000000000011	0.0300000000000011	0.0	750
+-751	0.0321471691131592	0.0300000000000011	0.0300000000000011	0.0	751
+-752	0.0331270694732666	0.039999999999992	0.039999999999992	0.0	752
+-753	0.0755550861358643	0.0700000000000074	0.0700000000000074	0.0	753
+-754	0.0331971645355225	0.039999999999992	0.039999999999992	0.0	754
+-755	0.0333280563354492	0.0300000000000011	0.0300000000000011	0.0	755
+-756	0.0349440574645996	0.0300000000000011	0.0300000000000011	0.0	756
+-757	0.0327320098876953	0.0400000000000063	0.0400000000000063	0.0	757
+-758	0.0337162017822266	0.0300000000000011	0.0300000000000011	0.0	758
+-759	0.0320689678192139	0.0299999999999869	0.0299999999999869	0.0	759
+-760	0.0315940380096436	0.0300000000000011	0.0300000000000011	0.0	760
+-761	0.0736989974975586	0.0800000000000125	0.0800000000000125	0.0	761
+-762	0.0331079959869385	0.0299999999999869	0.0299999999999869	0.0	762
+-763	0.0434081554412842	0.0400000000000063	0.0400000000000063	0.0	763
+-764	0.0350160598754883	0.0400000000000063	0.0400000000000063	0.0	764
+-765	0.0333938598632812	0.0299999999999869	0.0299999999999869	0.0	765
+-766	0.0325360298156738	0.0400000000000063	0.0400000000000063	0.0	766
+-767	0.032012939453125	0.0300000000000011	0.0300000000000011	0.0	767
+-768	0.031588077545166	0.0300000000000011	0.0300000000000011	0.0	768
+-769	0.0773451328277588	0.0799999999999983	0.0799999999999983	0.0	769
+-770	0.0328960418701172	0.0300000000000011	0.0300000000000011	0.0	770
+-771	0.0350039005279541	0.0300000000000011	0.0300000000000011	0.0	771
+-772	0.0326879024505615	0.039999999999992	0.039999999999992	0.0	772
+-773	0.0326569080352783	0.0300000000000011	0.0300000000000011	0.0	773
+-774	0.0326459407806396	0.0300000000000011	0.0300000000000011	0.0	774
+-775	0.0321180820465088	0.0300000000000011	0.0300000000000011	0.0	775
+-776	0.0343871116638184	0.0400000000000063	0.0400000000000063	0.0	776
+-777	0.0758569240570068	0.0799999999999983	0.0799999999999983	0.0	777
+-778	0.0349979400634766	0.0300000000000011	0.0300000000000011	0.0	778
+-779	0.0329880714416504	0.0300000000000011	0.0300000000000011	0.0	779
+-780	0.0330510139465332	0.039999999999992	0.039999999999992	0.0	780
+-781	0.0328168869018555	0.0300000000000011	0.0300000000000011	0.0	781
+-782	0.0347089767456055	0.0300000000000011	0.0300000000000011	0.0	782
+-783	0.0322279930114746	0.0400000000000063	0.0400000000000063	0.0	783
+-784	0.0752460956573486	0.0699999999999932	0.0699999999999932	0.0	784
+-785	0.0333998203277588	0.0300000000000011	0.0300000000000011	0.0	785
+-786	0.0327608585357666	0.0400000000000063	0.0400000000000063	0.0	786
+-787	0.032987117767334	0.0300000000000011	0.0300000000000011	0.0	787
+-788	0.0328860282897949	0.0299999999999869	0.0299999999999869	0.0	788
+-789	0.0421018600463867	0.0500000000000114	0.0500000000000114	0.0	789
+-790	0.0354950428009033	0.0300000000000011	0.0300000000000011	0.0	790
+-791	0.0326569080352783	0.0299999999999869	0.0299999999999869	0.0	791
+-792	0.072484016418457	0.0800000000000125	0.0800000000000125	0.0	792
+-793	0.0332272052764893	0.0300000000000011	0.0300000000000011	0.0	793
+-794	0.0329101085662842	0.0299999999999869	0.0299999999999869	0.0	794
+-795	0.0368521213531494	0.0400000000000063	0.0400000000000063	0.0	795
+-796	0.0328860282897949	0.0300000000000011	0.0300000000000011	0.0	796
+-797	0.0351109504699707	0.039999999999992	0.039999999999992	0.0	797
+-798	0.0322809219360352	0.0300000000000011	0.0300000000000011	0.0	798
+-799	0.0317561626434326	0.0300000000000011	0.0300000000000011	0.0	799
+-800	0.0744378566741943	0.0799999999999983	0.0799999999999983	0.0	800
+-801	0.0369539260864258	0.0300000000000011	0.0300000000000011	0.0	801
+-802	0.0338389873504639	0.0400000000000063	0.0400000000000063	0.0	802
+-803	0.0353808403015137	0.0300000000000011	0.0300000000000011	0.0	803
+-804	0.0346858501434326	0.039999999999992	0.039999999999992	0.0	804
+-805	0.0324549674987793	0.0300000000000011	0.0300000000000011	0.0	805
+-806	0.0338549613952637	0.0300000000000011	0.0300000000000011	0.0	806
+-807	0.0316150188446045	0.0300000000000011	0.0300000000000011	0.0	807
+-808	0.0747511386871338	0.0799999999999983	0.0799999999999983	0.0	808
+-809	0.0340969562530518	0.0300000000000011	0.0300000000000011	0.0	809
+-810	0.0330560207366943	0.0300000000000011	0.0300000000000011	0.0	810
+-811	0.0328769683837891	0.0400000000000063	0.0400000000000063	0.0	811
+-812	0.0325078964233398	0.0300000000000011	0.0300000000000011	0.0	812
+-813	0.0323269367218018	0.0300000000000011	0.0300000000000011	0.0	813
+-814	0.0345659255981445	0.039999999999992	0.039999999999992	0.0	814
+-815	0.0393409729003906	0.0300000000000011	0.0300000000000011	0.0	815
+-816	0.0769538879394531	0.0799999999999983	0.0799999999999983	0.0	816
+-817	0.0329430103302002	0.0300000000000011	0.0300000000000011	0.0	817
+-818	0.033038854598999	0.0400000000000063	0.0400000000000063	0.0	818
+-819	0.0329020023345947	0.0300000000000011	0.0300000000000011	0.0	819
+-820	0.0346760749816895	0.0299999999999869	0.0299999999999869	0.0	820
+-821	0.0338461399078369	0.0400000000000063	0.0400000000000063	0.0	821
+-822	0.0328898429870605	0.0300000000000011	0.0300000000000011	0.0	822
+-823	0.0318491458892822	0.0300000000000011	0.0300000000000011	0.0	823
+-824	0.0737371444702148	0.0799999999999983	0.0799999999999983	0.0	824
+-825	0.032710075378418	0.0300000000000011	0.0300000000000011	0.0	825
+-826	0.0330679416656494	0.0300000000000011	0.0300000000000011	0.0	826
+-827	0.0366559028625488	0.039999999999992	0.039999999999992	0.0	827
+-828	0.0327389240264893	0.0300000000000011	0.0300000000000011	0.0	828
+-829	0.0343880653381348	0.0400000000000063	0.0400000000000063	0.0	829
+-830	0.0338549613952637	0.0300000000000011	0.0300000000000011	0.0	830
+-831	0.0315511226654053	0.0300000000000011	0.0300000000000011	0.0	831
+-832	0.0741341114044189	0.0699999999999932	0.0699999999999932	0.0	832
+-833	0.0351898670196533	0.0400000000000063	0.0400000000000063	0.0	833
+-834	0.0331771373748779	0.0300000000000011	0.0300000000000011	0.0	834
+-835	0.0344979763031006	0.039999999999992	0.039999999999992	0.0	835
+-836	0.0324339866638184	0.0300000000000011	0.0300000000000011	0.0	836
+-837	0.0324251651763916	0.0300000000000011	0.0300000000000011	0.0	837
+-838	0.0322468280792236	0.0400000000000063	0.0400000000000063	0.0	838
+-839	0.0315029621124268	0.0300000000000011	0.0300000000000011	0.0	839
+-840	0.0842621326446533	0.0799999999999983	0.0799999999999983	0.0	840
+-841	0.035271167755127	0.039999999999992	0.039999999999992	0.0	841
+-842	0.0329780578613281	0.0300000000000011	0.0300000000000011	0.0	842
+-843	0.0328261852264404	0.0300000000000011	0.0300000000000011	0.0	843
+-844	0.032487154006958	0.0300000000000011	0.0300000000000011	0.0	844
+-845	0.0325088500976562	0.0300000000000011	0.0300000000000011	0.0	845
+-846	0.0327229499816895	0.0299999999999869	0.0299999999999869	0.0	846
+-847	0.0770940780639648	0.0800000000000125	0.0800000000000125	0.0	847
+-848	0.0332331657409668	0.0299999999999869	0.0299999999999869	0.0	848
+-849	0.0330700874328613	0.0300000000000011	0.0300000000000011	0.0	849
+-850	0.0333080291748047	0.0400000000000063	0.0400000000000063	0.0	850
+-851	0.0327019691467285	0.0300000000000011	0.0300000000000011	0.0	851
+-852	0.0325930118560791	0.0300000000000011	0.0300000000000011	0.0	852
+-853	0.0363738536834717	0.039999999999992	0.039999999999992	0.0	853
+-854	0.0318160057067871	0.0300000000000011	0.0300000000000011	0.0	854
+-855	0.0756251811981201	0.0799999999999983	0.0799999999999983	0.0	855
+-856	0.0331168174743652	0.0300000000000011	0.0300000000000011	0.0	856
+-857	0.0332381725311279	0.0300000000000011	0.0300000000000011	0.0	857
+-858	0.0331380367279053	0.0400000000000063	0.0400000000000063	0.0	858
+-859	0.0359609127044678	0.0300000000000011	0.0300000000000011	0.0	859
+-860	0.0326030254364014	0.0300000000000011	0.0300000000000011	0.0	860
+-861	0.0326559543609619	0.039999999999992	0.039999999999992	0.0	861
+-862	0.0313940048217773	0.0300000000000011	0.0300000000000011	0.0	862
+-863	0.0721480846405029	0.0700000000000074	0.0700000000000074	0.0	863
+-864	0.0329670906066895	0.0300000000000011	0.0300000000000011	0.0	864
+-865	0.0358521938323975	0.039999999999992	0.039999999999992	0.0	865
+-866	0.0417828559875488	0.0400000000000063	0.0400000000000063	0.0	866
+-867	0.0335261821746826	0.039999999999992	0.039999999999992	0.0	867
+-868	0.032412052154541	0.0300000000000011	0.0300000000000011	0.0	868
+-869	0.0315959453582764	0.0300000000000011	0.0300000000000011	0.0	869
+-870	0.0313148498535156	0.0300000000000011	0.0300000000000011	0.0	870
+-871	0.0756919384002686	0.0799999999999983	0.0799999999999983	0.0	871
+-872	0.033372163772583	0.0300000000000011	0.0300000000000011	0.0	872
+-873	0.0342988967895508	0.0300000000000011	0.0300000000000011	0.0	873
+-874	0.0328269004821777	0.039999999999992	0.039999999999992	0.0	874
+-875	0.0327079296112061	0.0300000000000011	0.0300000000000011	0.0	875
+-876	0.0325889587402344	0.0300000000000011	0.0300000000000011	0.0	876
+-877	0.0320539474487305	0.0300000000000011	0.0300000000000011	0.0	877
+-878	0.0315239429473877	0.0400000000000063	0.0400000000000063	0.0	878
+-879	0.0760519504547119	0.0699999999999932	0.0699999999999932	0.0	879
+-880	0.0334291458129883	0.0300000000000011	0.0300000000000011	0.0	880
+-881	0.0349709987640381	0.0400000000000063	0.0400000000000063	0.0	881
+-882	0.0328500270843506	0.0300000000000011	0.0300000000000011	0.0	882
+-883	0.0326099395751953	0.0300000000000011	0.0300000000000011	0.0	883
+-884	0.0326600074768066	0.039999999999992	0.039999999999992	0.0	884
+-885	0.0347640514373779	0.0300000000000011	0.0300000000000011	0.0	885
+-886	0.0317268371582031	0.0300000000000011	0.0300000000000011	0.0	886
+-887	0.0741100311279297	0.0799999999999983	0.0799999999999983	0.0	887
+-888	0.0328361988067627	0.0300000000000011	0.0300000000000011	0.0	888
+-889	0.0330181121826172	0.0300000000000011	0.0300000000000011	0.0	889
+-890	0.0327560901641846	0.0400000000000063	0.0400000000000063	0.0	890
+-891	0.0344109535217285	0.0299999999999869	0.0299999999999869	0.0	891
+-892	0.0412158966064453	0.0400000000000063	0.0400000000000063	0.0	892
+-893	0.03265380859375	0.0400000000000063	0.0400000000000063	0.0	893
+-894	0.0321509838104248	0.0299999999999869	0.0299999999999869	0.0	894
+-895	0.0741260051727295	0.0700000000000074	0.0700000000000074	0.0	895
+-896	0.0328559875488281	0.0300000000000011	0.0300000000000011	0.0	896
+-897	0.0330810546875	0.039999999999992	0.039999999999992	0.0	897
+-898	0.0366909503936768	0.0300000000000011	0.0300000000000011	0.0	898
+-899	0.0327630043029785	0.0400000000000063	0.0400000000000063	0.0	899
+-900	0.0326259136199951	0.0300000000000011	0.0300000000000011	0.0	900
+-901	0.031965970993042	0.0300000000000011	0.0300000000000011	0.0	901
+-902	0.0730900764465332	0.0699999999999932	0.0699999999999932	0.0	902
+-903	0.0331590175628662	0.0400000000000063	0.0400000000000063	0.0	903
+-904	0.0365490913391113	0.0300000000000011	0.0300000000000011	0.0	904
+-905	0.0330300331115723	0.039999999999992	0.039999999999992	0.0	905
+-906	0.0332710742950439	0.0300000000000011	0.0300000000000011	0.0	906
+-907	0.0344429016113281	0.0300000000000011	0.0300000000000011	0.0	907
+-908	0.032494068145752	0.0400000000000063	0.0400000000000063	0.0	908
+-909	0.0318870544433594	0.0300000000000011	0.0300000000000011	0.0	909
+-910	0.0748629570007324	0.0699999999999932	0.0699999999999932	0.0	910
+-911	0.0334439277648926	0.0400000000000063	0.0400000000000063	0.0	911
+-912	0.0351619720458984	0.0300000000000011	0.0300000000000011	0.0	912
+-913	0.0328991413116455	0.039999999999992	0.039999999999992	0.0	913
+-914	0.0326261520385742	0.0300000000000011	0.0300000000000011	0.0	914
+-915	0.0323889255523682	0.0300000000000011	0.0300000000000011	0.0	915
+-916	0.0323429107666016	0.0300000000000011	0.0300000000000011	0.0	916
+-917	0.0321781635284424	0.039999999999992	0.039999999999992	0.0	917
+-918	0.0845181941986084	0.0800000000000125	0.0800000000000125	0.0	918
+-919	0.0327539443969727	0.0299999999999869	0.0299999999999869	0.0	919
+-920	0.0328059196472168	0.0300000000000011	0.0300000000000011	0.0	920
+-921	0.0324711799621582	0.0400000000000063	0.0400000000000063	0.0	921
+-922	0.0323400497436523	0.0300000000000011	0.0300000000000011	0.0	922
+-923	0.0321018695831299	0.0300000000000011	0.0300000000000011	0.0	923
+-924	0.0361039638519287	0.039999999999992	0.039999999999992	0.0	924
+-925	0.0316181182861328	0.0300000000000011	0.0300000000000011	0.0	925
+-926	0.0748419761657715	0.0700000000000074	0.0700000000000074	0.0	926
+-927	0.0332598686218262	0.039999999999992	0.039999999999992	0.0	927
+-928	0.0332441329956055	0.0300000000000011	0.0300000000000011	0.0	928
+-929	0.0330359935760498	0.0300000000000011	0.0300000000000011	0.0	929
+-930	0.0358648300170898	0.0400000000000063	0.0400000000000063	0.0	930
+-931	0.0327050685882568	0.0300000000000011	0.0300000000000011	0.0	931
+-932	0.0349700450897217	0.039999999999992	0.039999999999992	0.0	932
+-933	0.0338780879974365	0.0300000000000011	0.0300000000000011	0.0	933
+-934	0.0738511085510254	0.0700000000000074	0.0700000000000074	0.0	934
+-935	0.0332021713256836	0.039999999999992	0.039999999999992	0.0	935
+-936	0.0359549522399902	0.0300000000000011	0.0300000000000011	0.0	936
+-937	0.0331430435180664	0.0400000000000063	0.0400000000000063	0.0	937
+-938	0.0340991020202637	0.0300000000000011	0.0300000000000011	0.0	938
+-939	0.0326049327850342	0.0299999999999869	0.0299999999999869	0.0	939
+-940	0.0325651168823242	0.0400000000000063	0.0400000000000063	0.0	940
+-941	0.0317420959472656	0.0300000000000011	0.0300000000000011	0.0	941
+-942	0.0775351524353027	0.0799999999999983	0.0799999999999983	0.0	942
+-943	0.0417890548706055	0.0400000000000063	0.0400000000000063	0.0	943
+-944	0.0358331203460693	0.0300000000000011	0.0300000000000011	0.0	944
+-945	0.0328278541564941	0.039999999999992	0.039999999999992	0.0	945
+-946	0.0325720310211182	0.0300000000000011	0.0300000000000011	0.0	946
+-947	0.0324339866638184	0.0300000000000011	0.0300000000000011	0.0	947
+-948	0.0318090915679932	0.0300000000000011	0.0300000000000011	0.0	948
+-949	0.0755469799041748	0.0799999999999983	0.0799999999999983	0.0	949
+-950	0.0346879959106445	0.0300000000000011	0.0300000000000011	0.0	950
+-951	0.0329141616821289	0.039999999999992	0.039999999999992	0.0	951
+-952	0.0330381393432617	0.0300000000000011	0.0300000000000011	0.0	952
+-953	0.0330090522766113	0.0300000000000011	0.0300000000000011	0.0	953
+-954	0.0340299606323242	0.0400000000000063	0.0400000000000063	0.0	954
+-955	0.0325748920440674	0.0300000000000011	0.0300000000000011	0.0	955
+-956	0.0356650352478027	0.039999999999992	0.039999999999992	0.0	956
+-957	0.0749011039733887	0.0700000000000074	0.0700000000000074	0.0	957
+-958	0.0347681045532227	0.0300000000000011	0.0300000000000011	0.0	958
+-959	0.0330829620361328	0.039999999999992	0.039999999999992	0.0	959
+-960	0.0334758758544922	0.0300000000000011	0.0300000000000011	0.0	960
+-961	0.0329201221466064	0.0300000000000011	0.0300000000000011	0.0	961
+-962	0.0358650684356689	0.0400000000000063	0.0400000000000063	0.0	962
+-963	0.0327301025390625	0.0300000000000011	0.0300000000000011	0.0	963
+-964	0.03354811668396	0.039999999999992	0.039999999999992	0.0	964
+-965	0.0745160579681396	0.0700000000000074	0.0700000000000074	0.0	965
+-966	0.0329270362854004	0.0300000000000011	0.0300000000000011	0.0	966
+-967	0.0329809188842773	0.039999999999992	0.039999999999992	0.0	967
+-968	0.0393757820129395	0.0300000000000011	0.0300000000000011	0.0	968
+-969	0.0380401611328125	0.0300000000000011	0.0300000000000011	0.0	969
+-970	0.0357730388641357	0.039999999999992	0.039999999999992	0.0	970
+-971	0.0322329998016357	0.0300000000000011	0.0300000000000011	0.0	971
+-972	0.0315341949462891	0.0300000000000011	0.0300000000000011	0.0	972
+-973	0.0736370086669922	0.0799999999999983	0.0799999999999983	0.0	973
+-974	0.0357208251953125	0.0300000000000011	0.0300000000000011	0.0	974
+-975	0.0331871509552002	0.0400000000000063	0.0400000000000063	0.0	975
+-976	0.0338621139526367	0.0300000000000011	0.0300000000000011	0.0	976
+-977	0.03261399269104	0.0299999999999869	0.0299999999999869	0.0	977
+-978	0.0324549674987793	0.0300000000000011	0.0300000000000011	0.0	978
+-979	0.0323319435119629	0.0400000000000063	0.0400000000000063	0.0	979
+-980	0.0314400196075439	0.0300000000000011	0.0300000000000011	0.0	980
+-981	0.0762598514556885	0.0699999999999932	0.0699999999999932	0.0	981
+-982	0.0347981452941895	0.0400000000000063	0.0400000000000063	0.0	982
+-983	0.0366230010986328	0.0400000000000063	0.0300000000000011	0.01	983
+-984	0.0328900814056396	0.039999999999992	0.039999999999992	0.0	984
+-985	0.032588005065918	0.0300000000000011	0.0300000000000011	0.0	985
+-986	0.0326781272888184	0.0300000000000011	0.0300000000000011	0.0	986
+-987	0.0319411754608154	0.0300000000000011	0.0300000000000011	0.0	987
+-988	0.0342800617218018	0.0400000000000063	0.0400000000000063	0.0	988
+-989	0.0760009288787842	0.0699999999999932	0.0699999999999932	0.0	989
+-990	0.0328078269958496	0.0400000000000063	0.0400000000000063	0.0	990
+-991	0.0330369472503662	0.0300000000000011	0.0300000000000011	0.0	991
+-992	0.0326659679412842	0.0300000000000011	0.0300000000000011	0.0	992
+-993	0.0325169563293457	0.0300000000000011	0.0300000000000011	0.0	993
+-994	0.0384469032287598	0.039999999999992	0.039999999999992	0.0	994
+-995	0.035956859588623	0.0400000000000063	0.0400000000000063	0.0	995
+-996	0.075498104095459	0.0699999999999932	0.0699999999999932	0.0	996
+-997	0.0330910682678223	0.0300000000000011	0.0300000000000011	0.0	997
+-998	0.0327069759368896	0.0300000000000011	0.0300000000000011	0.0	998
+-999	0.0329201221466064	0.0300000000000011	0.0300000000000011	0.0	999
+-1000	0.0352790355682373	0.039999999999992	0.039999999999992	0.0	1000
+diff --git a/lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkRails.log b/lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkRails.log
+deleted file mode 100644
+index f349db1..0000000
+--- a/lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkRails.log
++++ /dev/null
+@@ -1,82 +0,0 @@
+-========================== 2009-04-01T16:46:56 CEST ===========================
+-Benchmarking on ruby 1.8.6 (2008-08-11 patchlevel 287) [i686-linux].
+-Running 'ParserBenchmarkRails' for 1000 iterations/method (compare_time=real)
+-===============================================================================
+-
+-This first run is only for warmup.
+-ParserBenchmarkRails#parser:
+-                  real             total              user            system 
+-sum       38.690086126      38.620000000      38.610000000       0.010000000 
+-min        0.031255007       0.030000000       0.030000000       0.000000000 
+-std-       0.025022178       0.024277709       0.024265187      -0.000306228 
+-mean       0.038690086       0.038620000       0.038610000       0.000010000 
+-std+       0.052357994       0.052962291       0.052954813       0.000326228 
+-max        0.083594084       0.090000000       0.090000000       0.010000000 
+-std        0.013667908       0.014342291       0.014344813       0.000316228 
+-std%      35.326641197      37.136951469      37.153104057    3162.277660168 
+-harm       0.035964441       0.035345750       0.035335342               nan 
+-geo        0.037048388       0.036703287       0.036692729       0.000000000 
+-q1         0.032610178       0.030000000       0.030000000       0.000000000 
+-med        0.033129930       0.030000000       0.030000000       0.000000000 
+-q3         0.035388470       0.040000000       0.040000000       0.000000000 
+-                  1000          25.84641       0.038690086
+-                 calls         calls/sec         secs/call
+-
+-    0.08098 -|*
+-    0.07574 -|*****
+-    0.07051 -|**
+-    0.06528 -|
+-    0.06004 -|
+-    0.05481 -|
+-    0.04957 -|
+-    0.04434 -|*
+-    0.03911 -|***
+-    0.03387 -|**************************************************
+-
+-Outliers detected with box plot algo (median=0.03313, iqr=0.00278, factor=3.00):
+-high=47 very_high=124
+-
+-Ljung-Box statistics: q=5276.52020 (alpha=0.05, df=50).
+-1.00000 >= 0.95000 => Autocorrelation was detected.
+-
+-ParserBenchmarkRails#parser:
+-                  real             total              user            system 
+-sum       38.814780235      38.730000000      38.710000000       0.020000000 
+-min        0.031314850       0.030000000       0.030000000       0.000000000 
+-std-       0.024801114       0.023975177       0.023956914      -0.000426990 
+-mean       0.038814780       0.038730000       0.038710000       0.000020000 
+-std+       0.052828447       0.053484823       0.053463086       0.000466990 
+-max        0.085337162       0.090000000       0.090000000       0.010000000 
+-std        0.014013666       0.014754823       0.014753086       0.000446990 
+-std%      36.103943796      38.096625621      38.111821850    2234.948544149 
+-harm       0.035975867       0.035320781       0.035304155               nan 
+-geo        0.037101026       0.036725170       0.036706415       0.000000000 
+-q1         0.032611191       0.030000000       0.030000000       0.000000000 
+-med        0.033082008       0.030000000       0.030000000       0.000000000 
+-q3         0.035308182       0.040000000       0.040000000       0.000000000 
+-                  1000          25.76338       0.038814780
+-                 calls         calls/sec         secs/call
+-
+-    0.08264 -|*
+-    0.07723 -|***
+-    0.07183 -|****
+-    0.06643 -|
+-    0.06103 -|
+-    0.05562 -|
+-    0.05022 -|
+-    0.04482 -|
+-    0.03942 -|**
+-    0.03402 -|**************************************************
+-
+-Outliers detected with box plot algo (median=0.03308, iqr=0.00270, factor=3.00):
+-high=43 very_high=127
+-
+-Ljung-Box statistics: q=3451.96535 (alpha=0.05, df=50).
+-1.00000 >= 0.95000 => Autocorrelation was detected.
+-
+-No initial data truncated.
+- => System may have been in a steady state from the beginning.
+-========================== 2009-04-01T16:48:17 CEST ===========================
+-
+-Writing measurement data file '/data/scm/json/benchmarks/data/ParserBenchmarkRails#parser.dat'.
+-Writing autocorrelation plot file '/data/scm/json/benchmarks/data/ParserBenchmarkRails#parser-autocorrelation.dat'.
+diff --git a/lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkYAML#parser-autocorrelation.dat b/lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkYAML#parser-autocorrelation.dat
+deleted file mode 100644
+index f32d17f..0000000
+--- a/lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkYAML#parser-autocorrelation.dat
++++ /dev/null
+@@ -1,1000 +0,0 @@
+-#lag	autocorrelation
+-1	1.0
+-2	-0.0162844496545126
+-3	-0.0217599649154442
+-4	-0.0158858309903125
+-5	-0.0200808613960338
+-6	-0.0259529053941171
+-7	-0.0301975414696179
+-8	-0.0250675870796551
+-9	-0.0285985946623563
+-10	-0.0307680893851068
+-11	-0.0288265198488383
+-12	-0.0271571829024007
+-13	-0.0301250298936937
+-14	-0.0226181132137933
+-15	-0.0294060805772707
+-16	-0.0337045155176462
+-17	-0.0318194303001094
+-18	-0.0292065217707409
+-19	-0.0302440574139168
+-20	-0.0358556403201638
+-21	-0.0277391993235684
+-22	-0.0302464277108834
+-23	-0.0324555396059655
+-24	-0.0281812881852202
+-25	-0.022546962678309
+-26	-0.0303404504420409
+-27	-0.0284646539775073
+-28	-0.028171618962038
+-29	-0.028565092958004
+-30	-0.0291690975621738
+-31	-0.0281712395665202
+-32	-0.0238379726807203
+-33	-0.0294236975427878
+-34	-0.0208882165043777
+-35	-0.0209638384059497
+-36	-0.0161683101478742
+-37	-0.0198997973165107
+-38	0.435257874984686
+-39	0.458604874110641
+-40	0.0237621756843474
+-41	-0.0234662943892799
+-42	-0.0132052112478708
+-43	-0.0232550385773748
+-44	-0.0265177529080711
+-45	-0.0295042353148468
+-46	-0.0248888514316335
+-47	-0.0267548816775851
+-48	-0.0301945196949619
+-49	-0.0256866572019894
+-50	-0.0261353739728522
+-51	-0.0245073925246022
+-52	-0.0267569882760944
+-53	-0.0290607941928704
+-54	-0.030612533159521
+-55	-0.0324276179436348
+-56	-0.0294828176269951
+-57	-0.0302074451537584
+-58	-0.0308924549200688
+-59	-0.0272193925170758
+-60	-0.0310943839021242
+-61	-0.0282313865089381
+-62	-0.0273610010809688
+-63	-0.0250425898280312
+-64	-0.0269825367863249
+-65	-0.030293343792881
+-66	-0.0285829676042798
+-67	-0.0259669504450748
+-68	-0.028423496235617
+-69	-0.0286177493293173
+-70	-0.0239113501418138
+-71	-0.0226730211754719
+-72	-0.0216274261753708
+-73	-0.0175668930237053
+-74	-0.016987706219544
+-75	0.281860410751591
+-76	0.25297384526533
+-77	0.306701827698567
+-78	0.0194414665764478
+-79	-0.0243796783451221
+-80	-0.0146952129609066
+-81	-0.0229107323358625
+-82	-0.02476592170182
+-83	-0.0262150166126129
+-84	-0.0233100425521956
+-85	-0.0263455380004048
+-86	-0.0253912832942502
+-87	-0.0245622723440493
+-88	-0.0225180917608497
+-89	-0.0292400873158552
+-90	-0.0255215645749941
+-91	-0.02586826799364
+-92	-0.0315849501291156
+-93	-0.0319172083894574
+-94	-0.0270097346640797
+-95	-0.0278372423315524
+-96	-0.0306627817548168
+-97	-0.0258127345919013
+-98	-0.0256340599415291
+-99	-0.0270400681439884
+-100	-0.0271863267200993
+-101	-0.0223938908865392
+-102	-0.0269881932444538
+-103	-0.0286873034752439
+-104	-0.0268085508356207
+-105	-0.0250531313567446
+-106	-0.0272655637793525
+-107	-0.025337879180265
+-108	-0.0187629329024022
+-109	-0.0223207452723449
+-110	-0.0185411706942619
+-111	-0.0173591745979572
+-112	0.212695002726406
+-113	0.176100874201248
+-114	0.181136796368959
+-115	0.217985852640763
+-116	0.0189775496631967
+-117	-0.022070943088181
+-118	-0.0198858953377023
+-119	-0.0228614172431068
+-120	-0.0222026156678026
+-121	-0.026520195666479
+-122	-0.0234557540286227
+-123	-0.0222031583717324
+-124	-0.0222512221835737
+-125	-0.021957746397543
+-126	-0.0268087376735115
+-127	-0.0273093034119188
+-128	-0.0245103124601919
+-129	-0.0263347996406397
+-130	-0.0312278911250281
+-131	-0.0305253475957555
+-132	-0.0261963547332742
+-133	-0.0274617303870749
+-134	-0.0243124109128202
+-135	-0.0262235240356464
+-136	-0.0239085429783869
+-137	-0.0287564527494295
+-138	-0.0249876754449911
+-139	-0.0197254570216898
+-140	-0.0266321665979349
+-141	-0.0266120249498159
+-142	-0.0248056589461695
+-143	-0.0221257923724317
+-144	-0.024933311620115
+-145	-0.0196549868192828
+-146	-0.0207328295283175
+-147	-0.0200920805093202
+-148	-0.0173063409154936
+-149	0.175654369820573
+-150	0.0996760311141833
+-151	0.142600408151497
+-152	0.175452601030937
+-153	0.135092911757026
+-154	0.015666937752102
+-155	-0.0206532136473774
+-156	-0.0225660207506427
+-157	-0.0220914796170182
+-158	-0.0212748341146881
+-159	-0.0211831500010699
+-160	-0.0199475712567065
+-161	-0.0198090360921562
+-162	-0.023406680899725
+-163	-0.0238338433694836
+-164	-0.0256046135139069
+-165	-0.0242954498172123
+-166	-0.0258660266004111
+-167	-0.0269522804569596
+-168	-0.0297189079034543
+-169	-0.0286038809350082
+-170	-0.0243084923873978
+-171	-0.0257061323195295
+-172	-0.0223670193406507
+-173	-0.0230581197957092
+-174	-0.0259009025367238
+-175	-0.0257560518519552
+-176	-0.023090387902458
+-177	-0.0203272749388722
+-178	-0.0249609826618749
+-179	-0.0273749728570153
+-180	-0.0232630581935224
+-181	-0.0184293362184845
+-182	-0.0227584354744901
+-183	-0.0189661792281422
+-184	-0.0231761259199879
+-185	-0.0160634507453316
+-186	0.135019288045276
+-187	0.0659826079670161
+-188	0.135226742645858
+-189	0.0605819921567246
+-190	0.212733971580529
+-191	0.0594662500140067
+-192	0.0196656779913871
+-193	-0.0198404313214719
+-194	-0.0234794798625044
+-195	-0.020228110441232
+-196	-0.0239711309581977
+-197	-0.0213996457420545
+-198	-0.0198198390682184
+-199	-0.01837620236681
+-200	-0.0252904949340885
+-201	-0.0209512502626924
+-202	-0.0221289412896572
+-203	-0.027427908823154
+-204	-0.0239458508129429
+-205	-0.0247739743326578
+-206	-0.0286549975885985
+-207	-0.0274257626339078
+-208	-0.0209339353182737
+-209	-0.0217393583916566
+-210	-0.0210676960785699
+-211	-0.0244413756252707
+-212	-0.0230553337146913
+-213	-0.0249257698225569
+-214	-0.0209961742884786
+-215	-0.0187589223013789
+-216	-0.0231441227112562
+-217	-0.0256128148841961
+-218	-0.0189996873737005
+-219	-0.0186032704051841
+-220	-0.024896664851184
+-221	-0.0154586003532082
+-222	-0.016622451190913
+-223	0.10528876877612
+-224	0.0616792976302413
+-225	0.105381487366677
+-226	0.0698781422585297
+-227	0.0526859362556473
+-228	0.252676201792791
+-229	-0.0158777502042575
+-230	0.0182465167560402
+-231	-0.0189176416281867
+-232	-0.0223947199370044
+-233	-0.0187514827185257
+-234	-0.0221421724471967
+-235	-0.0189743029127782
+-236	-0.0169132380201002
+-237	-0.0244680755831848
+-238	-0.0218734587520481
+-239	-0.0186581914256442
+-240	-0.026130481429307
+-241	-0.0259336502285975
+-242	-0.0243902837001253
+-243	-0.0237554283001736
+-244	-0.0260009623695832
+-245	-0.0207407789914843
+-246	-0.0195359028544637
+-247	-0.0255947955165555
+-248	-0.0192742650096326
+-249	-0.02317092217707
+-250	-0.0220804794353722
+-251	-0.0231629589394634
+-252	-0.01815715732966
+-253	-0.0168380962328354
+-254	-0.0240542649472067
+-255	-0.0203501818767696
+-256	-0.0171903409693322
+-257	-0.0223563828072372
+-258	-0.019940801207438
+-259	-0.0169291109293721
+-260	0.0608679690137956
+-261	0.0647081802938391
+-262	0.100717554509044
+-263	0.0239520468414546
+-264	0.0698991274638046
+-265	0.0905559637290508
+-266	0.178937593759438
+-267	0.0219556620146547
+-268	-0.0179147413001344
+-269	-0.0178917963661612
+-270	-0.0182758940871145
+-271	-0.0193697306175885
+-272	-0.0204671858114412
+-273	-0.0171408579409368
+-274	-0.0182409872271859
+-275	-0.0211824035120345
+-276	-0.0235000843866101
+-277	-0.0202924958876639
+-278	-0.0248505379989764
+-279	-0.0220226888126351
+-280	-0.0245762806223724
+-281	-0.0252042782672907
+-282	-0.0216801171879857
+-283	-0.0210832689857307
+-284	-0.0192213765705103
+-285	-0.0220158312276208
+-286	-0.0210439300781706
+-287	-0.0209875936956392
+-288	-0.0206630619760563
+-289	-0.0216178400849402
+-290	-0.0196909009290242
+-291	-0.0174466524982222
+-292	-0.0194381489522717
+-293	-0.0214825111756293
+-294	-0.0174953699462574
+-295	-0.022683312446492
+-296	-0.0180848133159409
+-297	0.0254210486852796
+-298	0.0654897828406648
+-299	0.0986617374019184
+-300	0.0211653698985848
+-301	0.03519273754644
+-302	0.0994229074199349
+-303	0.0569927637089909
+-304	0.144208154176788
+-305	0.025634547369068
+-306	-0.0192573217261146
+-307	-0.0134291320771703
+-308	-0.0186225883596377
+-309	-0.0192924485153545
+-310	-0.0212788468915268
+-311	-0.0142437809504701
+-312	-0.0164846225770394
+-313	-0.0230149302918458
+-314	-0.0226862925961795
+-315	-0.0182027935965825
+-316	-0.0223705185857763
+-317	-0.0216288175818581
+-318	-0.023788812144948
+-319	-0.0211845254108688
+-320	-0.0222450219207216
+-321	-0.0187600056472826
+-322	-0.0187902396176198
+-323	-0.0195634679662719
+-324	-0.0194501685935753
+-325	-0.0190333705450752
+-326	-0.0204687388385914
+-327	-0.0200297119812042
+-328	-0.0157733409782519
+-329	-0.0164084747060388
+-330	-0.0203726921633815
+-331	-0.0190072727071644
+-332	-0.018178093048503
+-333	-0.0159556448940802
+-334	-0.013791115173629
+-335	0.066803434121925
+-336	0.0987477853719105
+-337	0.0244839447881098
+-338	0.031202350625353
+-339	0.0196479023204289
+-340	0.141228694216934
+-341	0.0175097275718119
+-342	0.105954014939689
+-343	0.0253759965520281
+-344	-0.0116344384079018
+-345	-0.0169720879403278
+-346	-0.0193914989969224
+-347	-0.019089553717436
+-348	-0.0156466666300242
+-349	-0.0156456435188142
+-350	-0.0181150256079739
+-351	-0.0223467109479219
+-352	-0.0214801527438239
+-353	-0.019082414276624
+-354	-0.0178557951992504
+-355	-0.0228090603341919
+-356	-0.0204157042896649
+-357	-0.0221410379160091
+-358	-0.0199425390855694
+-359	-0.018118375890382
+-360	-0.0150454629858717
+-361	-0.0183129793049915
+-362	-0.0204645202101881
+-363	-0.0174866608721183
+-364	-0.0154096032136416
+-365	-0.0179571796427601
+-366	-0.0134888272478049
+-367	-0.0176851479177383
+-368	-0.0193002648975602
+-369	-0.0189078544862062
+-370	-0.0144320773947494
+-371	-0.011260111407965
+-372	0.0215572902035114
+-373	0.100524914108148
+-374	0.0219084872557524
+-375	0.0354856193633486
+-376	0.0229331908137013
+-377	0.0626022532746132
+-378	0.0969282134458387
+-379	0.0189295482330605
+-380	0.0617228180411101
+-381	0.0425011894350961
+-382	-0.0181588301030469
+-383	-0.0171392718695313
+-384	-0.0178324205119472
+-385	-0.0156705733083666
+-386	-0.0146663905947814
+-387	-0.0173238224981501
+-388	-0.0182073556277454
+-389	-0.0204929470007114
+-390	-0.0197959652809142
+-391	-0.0178487074910014
+-392	-0.0191264027449998
+-393	-0.0190642154579731
+-394	-0.0203166425576961
+-395	-0.0188935352488649
+-396	-0.0201224460748975
+-397	-0.0141844683481906
+-398	-0.0139898462786534
+-399	-0.0198574924165857
+-400	-0.0193966985699962
+-401	-0.0164995946916847
+-402	-0.0117403653932513
+-403	-0.0158736541749091
+-404	-0.0156974457240632
+-405	-0.0181167763150603
+-406	-0.0166788566307347
+-407	-0.0180975807807039
+-408	-0.0102853501517902
+-409	-0.0153437162204268
+-410	0.0979710078754703
+-411	0.021440871598228
+-412	0.0371454198455733
+-413	0.0253571102027273
+-414	0.0227276443059152
+-415	0.101915236805497
+-416	0.0635405858848997
+-417	0.0221661378891733
+-418	0.0270996559475876
+-419	0.0299928379379863
+-420	-0.0177873081118276
+-421	-0.0176051191151391
+-422	-0.0117281303593379
+-423	-0.013306366759538
+-424	-0.0189331445465995
+-425	-0.015865418271051
+-426	-0.0158088029122447
+-427	-0.0187419731224742
+-428	-0.0196315339939659
+-429	-0.0154861746215526
+-430	-0.0178360876528894
+-431	-0.0193319397318428
+-432	-0.0177297199409179
+-433	-0.0183554889687674
+-434	-0.0184208823533688
+-435	-0.0122396577357641
+-436	-0.0123492917667745
+-437	-0.0175439953526604
+-438	-0.0186111019818843
+-439	-0.00971961709959576
+-440	-0.0143165389296264
+-441	-0.0164005922843576
+-442	-0.0132806214338558
+-443	-0.0153897804907211
+-444	-0.0149226610955752
+-445	-0.0161580725559834
+-446	-0.0117152404534544
+-447	0.0615441203316674
+-448	0.0305601601558433
+-449	0.0350768852591798
+-450	0.026542742159402
+-451	0.0220127678478309
+-452	0.0626392669570081
+-453	0.0651304401691263
+-454	0.066454641622587
+-455	0.0262150734837409
+-456	-0.00708907991883236
+-457	0.0224899268420003
+-458	-0.0167773922489159
+-459	-0.0122552342075114
+-460	-0.00995490362784316
+-461	-0.0177867736928084
+-462	-0.018356900570592
+-463	-0.0148615016520588
+-464	-0.0148993799153167
+-465	-0.0174924308469937
+-466	-0.0139062884527871
+-467	-0.0169155699762039
+-468	-0.0176151358623509
+-469	-0.018529629596926
+-470	-0.0171234732753041
+-471	-0.0168099527879603
+-472	-0.0156260281448611
+-473	-0.00797509847063728
+-474	-0.0133340343499158
+-475	-0.0168972023036313
+-476	-0.0113479057717735
+-477	-0.011961189414667
+-478	-0.0152906312825423
+-479	-0.0155644967932215
+-480	-0.014521215308577
+-481	-0.0128622749529332
+-482	-0.0141888481401611
+-483	-0.0161851374362205
+-484	0.0249171103679042
+-485	0.0252660269585891
+-486	0.04058752667661
+-487	0.0258186659046098
+-488	0.0275225862715478
+-489	0.0600609383170762
+-490	0.0261628314767615
+-491	0.0691832852264942
+-492	0.0694273292329222
+-493	-0.0138918138869676
+-494	0.0281497919118445
+-495	-0.0119297582637103
+-496	-0.012445722104394
+-497	-0.0152365517205078
+-498	-0.0119682770076481
+-499	-0.0168102415511826
+-500	-0.0132602321806542
+-501	-0.0162749170085761
+-502	-0.0157874247447598
+-503	-0.0143314681097962
+-504	-0.0151373301279301
+-505	-0.0162736515060562
+-506	-0.0170997245763158
+-507	-0.0169869002644868
+-508	-0.0154802036412146
+-509	-0.013854038240204
+-510	-0.0151485070183504
+-511	-0.00869753773999478
+-512	-0.0140737135993086
+-513	-0.0107650436900842
+-514	-0.0132962323606625
+-515	-0.0136429601231209
+-516	-0.0155057052143115
+-517	-0.0134332443796962
+-518	-0.0123129109820222
+-519	-0.0142180018449239
+-520	-0.0150177576005828
+-521	-0.0161252950528183
+-522	0.0264250568660815
+-523	0.0408783547796429
+-524	0.031194610084782
+-525	0.0288728641454938
+-526	0.0641676357746677
+-527	0.0239853005273055
+-528	0.0300072680816552
+-529	0.0736945294998491
+-530	0.028012956538805
+-531	0.0259732719006342
+-532	-0.00990928630211568
+-533	-0.0087387605842169
+-534	-0.0137746654626445
+-535	-0.0141412876283256
+-536	-0.010029400862279
+-537	-0.0150007749725246
+-538	-0.0121537714685441
+-539	-0.0144839491934252
+-540	-0.0137950679588151
+-541	-0.0155551392121605
+-542	-0.0128911409577839
+-543	-0.0152961676840741
+-544	-0.0161369826243907
+-545	-0.0148527760929147
+-546	-0.013870773562618
+-547	-0.0137226194734097
+-548	-0.0113656379568685
+-549	-0.00845176980813718
+-550	-0.00933414448879775
+-551	-0.0133281147011412
+-552	-0.0122165348746803
+-553	-0.0127303042014063
+-554	-0.0128365256419083
+-555	-0.0108554430140539
+-556	-0.0130979026563391
+-557	-0.0146601295923265
+-558	-0.0142350683827201
+-559	-0.0142543119821695
+-560	0.0401428501979482
+-561	0.0303680401593431
+-562	0.0331394093682309
+-563	0.0624790224369076
+-564	0.0289179010523467
+-565	0.0269736807010873
+-566	0.0294760499995686
+-567	0.0747760714226703
+-568	-0.00997931599998069
+-569	0.0266265362948006
+-570	-0.00721129513546175
+-571	-0.0127302032302545
+-572	-0.0136267162889966
+-573	-0.0142066353702017
+-574	-0.00991164196188114
+-575	-0.00996166830564141
+-576	-0.0131573176468314
+-577	-0.011434640474236
+-578	-0.0148706383443339
+-579	-0.0134129396964773
+-580	-0.0113895405779604
+-581	-0.0153189154780471
+-582	-0.0150199426352393
+-583	-0.0124159111813235
+-584	-0.0113435779166304
+-585	-0.00971798266945597
+-586	-0.0123095479872052
+-587	-0.00269803517441434
+-588	-0.0127678761964892
+-589	-0.0119102487047385
+-590	-0.0115043060345689
+-591	-0.0106658386617928
+-592	-0.0106600448522206
+-593	-0.011659738958058
+-594	-0.01106663155357
+-595	-0.0120386853981255
+-596	-0.0127481791971609
+-597	-0.00537363830084228
+-598	0.0314689202072348
+-599	0.032654353162099
+-600	0.0639978451412954
+-601	0.0283236694256126
+-602	0.0317693531084274
+-603	0.027542761382292
+-604	0.02698217718116
+-605	0.0361622659750207
+-606	0.0320247155873757
+-607	-0.00813391858463189
+-608	-0.0089593887672382
+-609	-0.0119010871906848
+-610	-0.0124880990128273
+-611	-0.0121364351320394
+-612	-0.00971670182824936
+-613	-0.0102177605462013
+-614	-0.00898879705064074
+-615	-0.013228009191572
+-616	-0.012444080731119
+-617	-0.0125819657984578
+-618	-0.0106457926520048
+-619	-0.0137483281342092
+-620	-0.0135504808411789
+-621	-0.0114612446080959
+-622	-0.00821287310238534
+-623	-0.0104378096847016
+-624	-0.00593940096538122
+-625	-0.00945814044610632
+-626	-0.0101588782962685
+-627	-0.0111243964828339
+-628	-0.00950644868084363
+-629	-0.00843830240019815
+-630	-0.0122240327224205
+-631	-0.0121911767968013
+-632	-0.0106320087647656
+-633	-0.0091538953720945
+-634	-0.00833412226908421
+-635	-0.00479924172227301
+-636	0.0335905043465549
+-637	0.0695170041831408
+-638	0.0270790255635657
+-639	0.0321106733648098
+-640	0.0313560382377176
+-641	0.0282951882582407
+-642	0.0286246187371558
+-643	-0.0063978013638528
+-644	0.0304346790629898
+-645	-0.0101048058759809
+-646	-0.00730849974907403
+-647	-0.010438994695384
+-648	-0.0112449830718235
+-649	-0.0113664024129399
+-650	-0.00608318090180963
+-651	-0.00840928737010642
+-652	-0.0108644455614179
+-653	-0.010794161792753
+-654	-0.0114845408302525
+-655	-0.0109919991005556
+-656	-0.00951218627321188
+-657	-0.0117973727840752
+-658	-0.0116097431098058
+-659	-0.00670996120713619
+-660	-0.0087566923862707
+-661	-0.00768893771119313
+-662	-0.00792227368859181
+-663	-0.0072108108823534
+-664	-0.00863418502611649
+-665	-0.00848535095588438
+-666	-0.00750079906528092
+-667	-0.00902829779223548
+-668	-0.0104029286615084
+-669	-0.00972615613411735
+-670	-0.00909686229570264
+-671	-0.00489514770930345
+-672	-0.00695727933803365
+-673	-0.00291923866250643
+-674	0.0692585752006358
+-675	0.0338324022772704
+-676	0.0312432314045003
+-677	0.0301206988202449
+-678	0.0318944076704347
+-679	0.0308282822415121
+-680	-0.00918999100874598
+-681	0.0315959820198552
+-682	-0.00790274938593563
+-683	-0.00905781884326524
+-684	-0.00978094259623583
+-685	-0.00713889275972127
+-686	-0.00961735482798763
+-687	-0.00462928907883874
+-688	-0.00708992015115961
+-689	-0.0103894616795413
+-690	-0.00975021468154266
+-691	-0.0104107842274988
+-692	-0.00992064479267111
+-693	-0.0101176695314485
+-694	-0.0104463991054629
+-695	-0.00746960217815067
+-696	-0.00654218027790495
+-697	-0.0072389149982618
+-698	-0.00618599001631964
+-699	-0.00987786436517789
+-700	-0.00673370918278097
+-701	-0.00741759762031304
+-702	-0.00541549527991575
+-703	-0.00791781857083014
+-704	-0.00787381692952382
+-705	-0.00794395001729855
+-706	-0.00931768673974245
+-707	-0.00885678465821695
+-708	-0.0052821815238511
+-709	-0.00521693921004783
+-710	-0.00576093393541424
+-711	0.0319052243530813
+-712	0.0335565990727355
+-713	0.0359823614765673
+-714	0.0310776016839443
+-715	0.0324813323954347
+-716	0.0341278653693179
+-717	-0.00771207564784067
+-718	0.0276493611582263
+-719	-0.00348763960636761
+-720	-0.00758712167000528
+-721	-0.00857064851604708
+-722	-0.00851623359127258
+-723	-0.00860306547563313
+-724	-0.00613401688706074
+-725	-0.00513329277378087
+-726	-0.00905815149013341
+-727	-0.00906250727280879
+-728	-0.00928036762666381
+-729	-0.00830114918655625
+-730	-0.00888782794632727
+-731	-0.00904256610543205
+-732	-0.00874136315610037
+-733	-0.00531018786452449
+-734	-0.00629165130613466
+-735	-0.00755517067228936
+-736	-0.00836182239325517
+-737	-0.00809350876481861
+-738	-0.00404124535306633
+-739	-0.00561644195626163
+-740	-0.00642305805867293
+-741	-0.00816305467996883
+-742	-0.00843581049472936
+-743	-0.00672325206596123
+-744	-0.00617215358093702
+-745	-0.00402751925690743
+-746	-0.00479725155053775
+-747	-0.00342071760962384
+-748	-0.0076001254677333
+-749	0.0344911275393927
+-750	0.0357890953530814
+-751	0.0369236838641285
+-752	0.0337953594669526
+-753	0.0341196656886643
+-754	-0.00659802662549373
+-755	0.0315371138736742
+-756	-0.00562959157006591
+-757	-0.00365306265936607
+-758	-0.00637937791804702
+-759	-0.00728163692006943
+-760	-0.00728167255033979
+-761	-0.00486863763712198
+-762	-0.00700194438994883
+-763	-0.00488445712486066
+-764	-0.00785107429883577
+-765	-0.00743663889427734
+-766	-0.0075555414143233
+-767	-0.0082175974779749
+-768	-0.00762712314452127
+-769	-0.00716801816399294
+-770	-0.00420432905589099
+-771	-0.00646377431872973
+-772	-0.00627655191972345
+-773	-0.0068281800863105
+-774	-0.00646314628967681
+-775	-0.00545387418053753
+-776	-0.00272565261231244
+-777	-0.00644191975512085
+-778	-0.00690509982226062
+-779	-0.00709925853315763
+-780	-0.00694005333594523
+-781	-0.00625875545170498
+-782	-0.00292200977585102
+-783	-0.00321016024715532
+-784	-0.00336849507857711
+-785	-0.00596633161271771
+-786	-0.00616166058124168
+-787	0.03411477548233
+-788	0.03523911486873
+-789	0.039313174460712
+-790	0.0358510918513492
+-791	-0.00378913539308921
+-792	0.0304194265074042
+-793	-0.0038004308918757
+-794	-0.00607189262016905
+-795	-0.00587612619804128
+-796	-0.00189219359140836
+-797	-0.00616375618998826
+-798	-0.00388685360401677
+-799	-0.00556254294258616
+-800	-0.00661778351426878
+-801	-0.00382440352172051
+-802	-0.00647820073687594
+-803	-0.00624655145167987
+-804	-0.00667068925870065
+-805	-0.00648578196572712
+-806	-0.0051558107815927
+-807	-0.00231291615968645
+-808	-0.00505615473087768
+-809	-0.00587295803700975
+-810	-0.00558124863643099
+-811	-0.00536491992472214
+-812	-0.00398836838292933
+-813	-0.00377202632549738
+-814	-0.002354118299516
+-815	-0.00450512819274966
+-816	-0.0052767354763421
+-817	-0.00524186198269607
+-818	-0.00538929450465706
+-819	-0.00531625688326681
+-820	-0.00559074601189695
+-821	-0.00531052145605409
+-822	-0.00506016636387018
+-823	-0.00558340516310152
+-824	-0.00480493075033995
+-825	0.0322805865937449
+-826	0.0378874582814526
+-827	0.0388905020209905
+-828	0.00140630493053477
+-829	0.0327652229435057
+-830	-0.00223687990639532
+-831	-0.00415072629779562
+-832	-0.00449816632891999
+-833	-0.00471900257056604
+-834	-0.00380655567933039
+-835	-0.00208013080352473
+-836	-0.00399065266148802
+-837	-0.00487092683399181
+-838	-0.0050959015942598
+-839	-0.00191592007441914
+-840	-0.00461100733700934
+-841	-0.00502472638398927
+-842	-0.00505288732904903
+-843	-0.00438730255591126
+-844	-0.00306177948534003
+-845	-0.00375916415653544
+-846	-0.00446006819331235
+-847	-0.00529861753336898
+-848	-0.00366324407821308
+-849	-0.00260207768467577
+-850	-0.00307568973842944
+-851	-0.00423298618954815
+-852	-0.00402026548184328
+-853	-0.00146181843080695
+-854	-0.00349341567107831
+-855	-0.00433554634082064
+-856	-0.00410204223433599
+-857	-0.00434967848256952
+-858	-0.00421703547450881
+-859	-0.00382881572564153
+-860	-0.00423970806851707
+-861	-0.00437449172653197
+-862	-0.00400502122442197
+-863	0.0346819215614161
+-864	0.0348750856830455
+-865	-0.00265543722265669
+-866	0.0380644512814575
+-867	-5.14244684871617e-05
+-868	-0.0029850292925082
+-869	-0.00280199446175912
+-870	-0.00310596389994767
+-871	-0.00343511488292023
+-872	-0.000171378148703489
+-873	-0.0024459240224584
+-874	-0.00327675207097342
+-875	-0.00348581260906698
+-876	-0.00355868259309655
+-877	-0.000312461719204031
+-878	-0.00355336474543735
+-879	-0.00357392139745643
+-880	-0.00290172241076185
+-881	-0.00208381746845654
+-882	-0.00191420039525358
+-883	-0.00288084255403359
+-884	-0.00402165110428679
+-885	-0.00363823711845451
+-886	-0.00105719975984341
+-887	-0.00194304900141352
+-888	-0.0028117193732005
+-889	-0.00272354659953838
+-890	-0.00269119684418979
+-891	-0.0024739833326293
+-892	-0.00264720107421195
+-893	-0.00266281337322763
+-894	-0.00271486287490391
+-895	-0.0025966883492992
+-896	-0.00275998355842941
+-897	-0.00285830804400797
+-898	-0.00283220277180079
+-899	-0.00268773055778214
+-900	-0.00284073923200707
+-901	0.0353145424004993
+-902	-0.00160304708129049
+-903	0.0348425254145825
+-904	2.8677502125498e-05
+-905	0.000437164769156674
+-906	-0.000353406460783275
+-907	-0.00195469155311098
+-908	-0.00181504012345376
+-909	0.000213017105712491
+-910	-0.001310254306005
+-911	-0.00211504011023419
+-912	-0.00220453472901432
+-913	-0.00221445718259423
+-914	-0.0019385529058544
+-915	-0.00242106879847995
+-916	0.000515093602106525
+-917	-0.00157522783064606
+-918	-0.000809182215147043
+-919	-0.00125292469032103
+-920	-0.00240883966759777
+-921	-0.0021786367875747
+-922	-0.00240937489397921
+-923	-0.00116795158553355
+-924	-0.000727426386542781
+-925	-0.00133194403721344
+-926	-0.00124546108708765
+-927	-0.00148107783605636
+-928	-0.00142616980555449
+-929	-0.00146243841366756
+-930	-0.0015283737803334
+-931	-0.00154540562504725
+-932	-0.00155805559628689
+-933	-0.00151938623493131
+-934	-0.00165541232298659
+-935	-0.00168144891364875
+-936	-0.00132559687940882
+-937	-0.00160394278309398
+-938	-0.0017363807642805
+-939	-0.00167995411949275
+-940	0.0354478346047755
+-941	0.00106969481951657
+-942	-0.000561313854486038
+-943	-0.000457998303574142
+-944	-0.000583885106294125
+-945	-0.000525159904309248
+-946	-0.000517315333414318
+-947	-0.000721221933781515
+-948	-0.000829549124890304
+-949	-8.82882583545919e-05
+-950	-0.000766770294365053
+-951	-0.000811881521540676
+-952	-0.000891788154480318
+-953	-0.000934560208414364
+-954	-0.00079422177360351
+-955	-0.000838129010273254
+-956	-0.000963325512884482
+-957	-0.00102235934683932
+-958	-0.00106440392780229
+-959	-0.000989883649450528
+-960	0.000386274557612681
+-961	-0.000389777489444674
+-962	-0.00118692846255399
+-963	-5.09408200005586e-06
+-964	-5.89078730563787e-05
+-965	-1.47060551334381e-05
+-966	-0.000136166417132319
+-967	-0.000121512032975118
+-968	-0.00017156987502174
+-969	-0.000156708081095913
+-970	-0.000153840321519638
+-971	-0.000310390758729453
+-972	-0.000312404884024801
+-973	-0.000200418566814807
+-974	-0.000375662527155661
+-975	-0.000354596399099672
+-976	-0.000424295858947903
+-977	-4.46088202453899e-06
+-978	0.00224800854296348
+-979	0.000523082860817624
+-980	0.00048326199320117
+-981	0.000448693340206397
+-982	0.000421635212488891
+-983	0.000437949926365211
+-984	0.000428040241678261
+-985	0.000391002232599501
+-986	0.00036566913933478
+-987	0.000381018446039441
+-988	0.000321514512415979
+-989	0.000287957422008028
+-990	0.000255617051800765
+-991	0.000221662354369779
+-992	0.000188701605125869
+-993	0.00016002049297156
+-994	0.000127317707925566
+-995	9.31667901426005e-05
+-996	6.3380231067732e-05
+-997	3.423275902354e-05
+-998	-2.14223799528709e-06
+-999	-3.67741480724576e-05
+diff --git a/lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkYAML#parser.dat b/lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkYAML#parser.dat
+deleted file mode 100644
+index 484b947..0000000
+--- a/lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkYAML#parser.dat
++++ /dev/null
+@@ -1,1001 +0,0 @@
+-#scatter	real	total	user	system	repeat
+-1	0.00562119483947754	0.00999999999999979	0.00999999999999979	0.0	1
+-2	0.00404691696166992	0.0	0.0	0.0	2
+-3	0.00373387336730957	0.00999999999999979	0.00999999999999979	0.0	3
+-4	0.00375699996948242	0.0	0.0	0.0	4
+-5	0.00371694564819336	0.0	0.0	0.0	5
+-6	0.00381088256835938	0.0100000000000007	0.0100000000000007	0.0	6
+-7	0.00370693206787109	0.0	0.0	0.0	7
+-8	0.00368213653564453	0.00999999999999979	0.00999999999999979	0.0	8
+-9	0.0037529468536377	0.0	0.0	0.0	9
+-10	0.00371718406677246	0.0	0.0	0.0	10
+-11	0.00370693206787109	0.00999999999999979	0.00999999999999979	0.0	11
+-12	0.00371503829956055	0.0	0.0	0.0	12
+-13	0.00367999076843262	0.0	0.0	0.0	13
+-14	0.0037379264831543	0.00999999999999979	0.00999999999999979	0.0	14
+-15	0.00368285179138184	0.0	0.0	0.0	15
+-16	0.0036928653717041	0.00999999999999979	0.00999999999999979	0.0	16
+-17	0.00363802909851074	0.0	0.0	0.0	17
+-18	0.00420713424682617	0.0	0.0	0.0	18
+-19	0.0046851634979248	0.0100000000000007	0.0100000000000007	0.0	19
+-20	0.00365090370178223	0.0	0.0	0.0	20
+-21	0.0036470890045166	0.00999999999999979	0.00999999999999979	0.0	21
+-22	0.00363302230834961	0.0	0.0	0.0	22
+-23	0.00362706184387207	0.0	0.0	0.0	23
+-24	0.00369381904602051	0.00999999999999979	0.00999999999999979	0.0	24
+-25	0.00363802909851074	0.0	0.0	0.0	25
+-26	0.00362586975097656	0.0	0.0	0.0	26
+-27	0.0036308765411377	0.00999999999999979	0.00999999999999979	0.0	27
+-28	0.00364899635314941	0.0	0.0	0.0	28
+-29	0.00363993644714355	0.0100000000000007	0.0100000000000007	0.0	29
+-30	0.0036160945892334	0.0	0.0	0.0	30
+-31	0.00362014770507812	0.0	0.0	0.0	31
+-32	0.0036470890045166	0.00999999999999979	0.00999999999999979	0.0	32
+-33	0.00372695922851562	0.0	0.0	0.0	33
+-34	0.00366806983947754	0.0	0.0	0.0	34
+-35	0.00362205505371094	0.00999999999999979	0.00999999999999979	0.0	35
+-36	0.00366711616516113	0.0	0.0	0.0	36
+-37	0.00369906425476074	0.00999999999999979	0.00999999999999979	0.0	37
+-38	0.00364184379577637	0.0	0.0	0.0	38
+-39	0.0289762020111084	0.0300000000000002	0.0300000000000002	0.0	39
+-40	0.00372695922851562	0.0	0.0	0.0	40
+-41	0.00367403030395508	0.00999999999999979	0.00999999999999979	0.0	41
+-42	0.00373101234436035	0.0	0.0	0.0	42
+-43	0.00379014015197754	0.0	0.0	0.0	43
+-44	0.00367498397827148	0.0100000000000007	0.0100000000000007	0.0	44
+-45	0.00369691848754883	0.0	0.0	0.0	45
+-46	0.00368881225585938	0.0	0.0	0.0	46
+-47	0.00369405746459961	0.00999999999999979	0.00999999999999979	0.0	47
+-48	0.00369095802307129	0.0	0.0	0.0	48
+-49	0.00370192527770996	0.00999999999999979	0.00999999999999979	0.0	49
+-50	0.00373387336730957	0.0	0.0	0.0	50
+-51	0.00370502471923828	0.0	0.0	0.0	51
+-52	0.00367999076843262	0.00999999999999979	0.00999999999999979	0.0	52
+-53	0.00374007225036621	0.0	0.0	0.0	53
+-54	0.00364995002746582	0.0	0.0	0.0	54
+-55	0.00367188453674316	0.0100000000000007	0.0100000000000007	0.0	55
+-56	0.00363993644714355	0.0	0.0	0.0	56
+-57	0.00365900993347168	0.00999999999999979	0.00999999999999979	0.0	57
+-58	0.0036160945892334	0.0	0.0	0.0	58
+-59	0.00369095802307129	0.0	0.0	0.0	59
+-60	0.00452899932861328	0.00999999999999979	0.00999999999999979	0.0	60
+-61	0.00462913513183594	0.0	0.0	0.0	61
+-62	0.00413894653320312	0.00999999999999979	0.00999999999999979	0.0	62
+-63	0.0036470890045166	0.0	0.0	0.0	63
+-64	0.00361418724060059	0.0	0.0	0.0	64
+-65	0.00383710861206055	0.0100000000000007	0.0100000000000007	0.0	65
+-66	0.00362491607666016	0.0	0.0	0.0	66
+-67	0.0036318302154541	0.0	0.0	0.0	67
+-68	0.0036311149597168	0.00999999999999979	0.00999999999999979	0.0	68
+-69	0.00365900993347168	0.0	0.0	0.0	69
+-70	0.00515103340148926	0.00999999999999979	0.00999999999999979	0.0	70
+-71	0.00363993644714355	0.0	0.0	0.0	71
+-72	0.00365900993347168	0.0	0.0	0.0	72
+-73	0.00374507904052734	0.00999999999999979	0.00999999999999979	0.0	73
+-74	0.00366497039794922	0.0	0.0	0.0	74
+-75	0.00367498397827148	0.00999999999999979	0.00999999999999979	0.0	75
+-76	0.0036470890045166	0.0	0.0	0.0	76
+-77	0.00451517105102539	0.0	0.0	0.0	77
+-78	0.0300049781799316	0.0300000000000002	0.0300000000000002	0.0	78
+-79	0.00374197959899902	0.00999999999999979	0.00999999999999979	0.0	79
+-80	0.00371098518371582	0.0	0.0	0.0	80
+-81	0.00372600555419922	0.0	0.0	0.0	81
+-82	0.00376200675964355	0.0100000000000007	0.0100000000000007	0.0	82
+-83	0.00369596481323242	0.0	0.0	0.0	83
+-84	0.00372099876403809	0.00999999999999979	0.00999999999999979	0.0	84
+-85	0.00370216369628906	0.0	0.0	0.0	85
+-86	0.00374007225036621	0.0	0.0	0.0	86
+-87	0.00369381904602051	0.00999999999999979	0.00999999999999979	0.0	87
+-88	0.00372195243835449	0.0	0.0	0.0	88
+-89	0.00368881225585938	0.0	0.0	0.0	89
+-90	0.00371909141540527	0.00999999999999979	0.00999999999999979	0.0	90
+-91	0.00371909141540527	0.0	0.0	0.0	91
+-92	0.00366497039794922	0.0100000000000007	0.0100000000000007	0.0	92
+-93	0.00366401672363281	0.0	0.0	0.0	93
+-94	0.00378704071044922	0.0	0.0	0.0	94
+-95	0.00365710258483887	0.00999999999999979	0.00999999999999979	0.0	95
+-96	0.00405406951904297	0.0	0.0	0.0	96
+-97	0.00365591049194336	0.0	0.0	0.0	97
+-98	0.00371098518371582	0.00999999999999979	0.00999999999999979	0.0	98
+-99	0.00363802909851074	0.0	0.0	0.0	99
+-100	0.0036461353302002	0.00999999999999979	0.00999999999999979	0.0	100
+-101	0.00359797477722168	0.0	0.0	0.0	101
+-102	0.00361990928649902	0.0	0.0	0.0	102
+-103	0.00364899635314941	0.0100000000000007	0.0100000000000007	0.0	103
+-104	0.00359296798706055	0.0	0.0	0.0	104
+-105	0.00363802909851074	0.0	0.0	0.0	105
+-106	0.00417685508728027	0.00999999999999979	0.00999999999999979	0.0	106
+-107	0.00371980667114258	0.0	0.0	0.0	107
+-108	0.0036470890045166	0.00999999999999979	0.00999999999999979	0.0	108
+-109	0.00368213653564453	0.0	0.0	0.0	109
+-110	0.00360202789306641	0.0	0.0	0.0	110
+-111	0.00362992286682129	0.00999999999999979	0.00999999999999979	0.0	111
+-112	0.0036311149597168	0.0	0.0	0.0	112
+-113	0.00362801551818848	0.0	0.0	0.0	113
+-114	0.00364995002746582	0.0100000000000007	0.0100000000000007	0.0	114
+-115	0.00370001792907715	0.0	0.0	0.0	115
+-116	0.0305509567260742	0.0299999999999994	0.0299999999999994	0.0	116
+-117	0.00376200675964355	0.0100000000000007	0.0100000000000007	0.0	117
+-118	0.0038001537322998	0.0	0.0	0.0	118
+-119	0.00374984741210938	0.0	0.0	0.0	119
+-120	0.00397920608520508	0.00999999999999979	0.00999999999999979	0.0	120
+-121	0.00372481346130371	0.0	0.0	0.0	121
+-122	0.00369715690612793	0.0	0.0	0.0	122
+-123	0.00371694564819336	0.00999999999999979	0.00999999999999979	0.0	123
+-124	0.00372195243835449	0.0	0.0	0.0	124
+-125	0.00375914573669434	0.00999999999999979	0.00999999999999979	0.0	125
+-126	0.00368499755859375	0.0	0.0	0.0	126
+-127	0.00371503829956055	0.0	0.0	0.0	127
+-128	0.00380897521972656	0.00999999999999979	0.00999999999999979	0.0	128
+-129	0.00403499603271484	0.0	0.0	0.0	129
+-130	0.00370502471923828	0.0100000000000007	0.0100000000000007	0.0	130
+-131	0.00371289253234863	0.0	0.0	0.0	131
+-132	0.00365591049194336	0.0	0.0	0.0	132
+-133	0.00368094444274902	0.00999999999999979	0.00999999999999979	0.0	133
+-134	0.0036768913269043	0.0	0.0	0.0	134
+-135	0.00362706184387207	0.0	0.0	0.0	135
+-136	0.00366616249084473	0.00999999999999979	0.00999999999999979	0.0	136
+-137	0.0036470890045166	0.0	0.0	0.0	137
+-138	0.00362181663513184	0.0	0.0	0.0	138
+-139	0.00364089012145996	0.00999999999999979	0.00999999999999979	0.0	139
+-140	0.00363707542419434	0.0	0.0	0.0	140
+-141	0.00359892845153809	0.0100000000000007	0.0100000000000007	0.0	141
+-142	0.00361514091491699	0.0	0.0	0.0	142
+-143	0.00365495681762695	0.0	0.0	0.0	143
+-144	0.00371885299682617	0.00999999999999979	0.00999999999999979	0.0	144
+-145	0.00364208221435547	0.0	0.0	0.0	145
+-146	0.00365304946899414	0.0	0.0	0.0	146
+-147	0.00368404388427734	0.00999999999999979	0.00999999999999979	0.0	147
+-148	0.00365900993347168	0.0	0.0	0.0	148
+-149	0.00368785858154297	0.00999999999999979	0.00999999999999979	0.0	149
+-150	0.003662109375	0.0	0.0	0.0	150
+-151	0.00363397598266602	0.0	0.0	0.0	151
+-152	0.00362491607666016	0.0100000000000007	0.0100000000000007	0.0	152
+-153	0.00366687774658203	0.0	0.0	0.0	153
+-154	0.0295231342315674	0.0299999999999994	0.0299999999999994	0.0	154
+-155	0.00366806983947754	0.0	0.0	0.0	155
+-156	0.00370311737060547	0.0100000000000007	0.0100000000000007	0.0	156
+-157	0.0037238597869873	0.0	0.0	0.0	157
+-158	0.00376701354980469	0.00999999999999979	0.00999999999999979	0.0	158
+-159	0.0036771297454834	0.0	0.0	0.0	159
+-160	0.00372195243835449	0.0	0.0	0.0	160
+-161	0.00371599197387695	0.00999999999999979	0.00999999999999979	0.0	161
+-162	0.00371003150939941	0.0	0.0	0.0	162
+-163	0.00369811058044434	0.0	0.0	0.0	163
+-164	0.00378203392028809	0.00999999999999979	0.00999999999999979	0.0	164
+-165	0.00370502471923828	0.0	0.0	0.0	165
+-166	0.00371003150939941	0.0100000000000007	0.0100000000000007	0.0	166
+-167	0.00371599197387695	0.0	0.0	0.0	167
+-168	0.00370192527770996	0.0	0.0	0.0	168
+-169	0.00369501113891602	0.00999999999999979	0.00999999999999979	0.0	169
+-170	0.00369691848754883	0.0	0.0	0.0	170
+-171	0.00400686264038086	0.0	0.0	0.0	171
+-172	0.00524497032165527	0.00999999999999979	0.00999999999999979	0.0	172
+-173	0.00366020202636719	0.0	0.0	0.0	173
+-174	0.00366806983947754	0.00999999999999979	0.00999999999999979	0.0	174
+-175	0.00367379188537598	0.0	0.0	0.0	175
+-176	0.00362706184387207	0.0	0.0	0.0	176
+-177	0.00365996360778809	0.0100000000000007	0.0100000000000007	0.0	177
+-178	0.00365900993347168	0.0	0.0	0.0	178
+-179	0.00363492965698242	0.00999999999999979	0.00999999999999979	0.0	179
+-180	0.00363397598266602	0.0	0.0	0.0	180
+-181	0.00366401672363281	0.0	0.0	0.0	181
+-182	0.00363302230834961	0.00999999999999979	0.00999999999999979	0.0	182
+-183	0.00364494323730469	0.0	0.0	0.0	183
+-184	0.00361990928649902	0.0	0.0	0.0	184
+-185	0.00379490852355957	0.00999999999999979	0.00999999999999979	0.0	185
+-186	0.0036468505859375	0.0	0.0	0.0	186
+-187	0.00370502471923828	0.00999999999999979	0.00999999999999979	0.0	187
+-188	0.00387907028198242	0.0	0.0	0.0	188
+-189	0.00541114807128906	0.0	0.0	0.0	189
+-190	0.00428199768066406	0.0100000000000007	0.0100000000000007	0.0	190
+-191	0.00368618965148926	0.0	0.0	0.0	191
+-192	0.0293948650360107	0.0299999999999994	0.0299999999999994	0.0	192
+-193	0.00434708595275879	0.0100000000000007	0.0100000000000007	0.0	193
+-194	0.00372600555419922	0.0	0.0	0.0	194
+-195	0.00628900527954102	0.00999999999999979	0.00999999999999979	0.0	195
+-196	0.00624394416809082	0.0	0.0	0.0	196
+-197	0.00649094581604004	0.00999999999999979	0.00999999999999979	0.0	197
+-198	0.00419712066650391	0.0	0.0	0.0	198
+-199	0.00371003150939941	0.00999999999999979	0.00999999999999979	0.0	199
+-200	0.0037531852722168	0.0	0.0	0.0	200
+-201	0.00369119644165039	0.0	0.0	0.0	201
+-202	0.00369000434875488	0.0100000000000007	0.0100000000000007	0.0	202
+-203	0.00372099876403809	0.0	0.0	0.0	203
+-204	0.00369000434875488	0.00999999999999979	0.00999999999999979	0.0	204
+-205	0.00371885299682617	0.0	0.0	0.0	205
+-206	0.00367903709411621	0.0	0.0	0.0	206
+-207	0.00364303588867188	0.00999999999999979	0.00999999999999979	0.0	207
+-208	0.0037541389465332	0.0	0.0	0.0	208
+-209	0.00364303588867188	0.0	0.0	0.0	209
+-210	0.00363898277282715	0.00999999999999979	0.00999999999999979	0.0	210
+-211	0.00363588333129883	0.0	0.0	0.0	211
+-212	0.00367999076843262	0.0100000000000007	0.0100000000000007	0.0	212
+-213	0.00364208221435547	0.0	0.0	0.0	213
+-214	0.00365614891052246	0.0	0.0	0.0	214
+-215	0.00363779067993164	0.00999999999999979	0.00999999999999979	0.0	215
+-216	0.00362610816955566	0.0	0.0	0.0	216
+-217	0.0036470890045166	0.0	0.0	0.0	217
+-218	0.00366711616516113	0.00999999999999979	0.00999999999999979	0.0	218
+-219	0.00364995002746582	0.0	0.0	0.0	219
+-220	0.0036308765411377	0.0	0.0	0.0	220
+-221	0.0036308765411377	0.00999999999999979	0.00999999999999979	0.0	221
+-222	0.00362896919250488	0.0	0.0	0.0	222
+-223	0.00364899635314941	0.0100000000000007	0.0100000000000007	0.0	223
+-224	0.00365805625915527	0.0	0.0	0.0	224
+-225	0.00364589691162109	0.0	0.0	0.0	225
+-226	0.00363683700561523	0.00999999999999979	0.00999999999999979	0.0	226
+-227	0.00364995002746582	0.0	0.0	0.0	227
+-228	0.00421810150146484	0.0	0.0	0.0	228
+-229	0.00510215759277344	0.00999999999999979	0.00999999999999979	0.0	229
+-230	0.0295019149780273	0.0300000000000002	0.0300000000000002	0.0	230
+-231	0.00370287895202637	0.0	0.0	0.0	231
+-232	0.00370287895202637	0.00999999999999979	0.00999999999999979	0.0	232
+-233	0.00372409820556641	0.0	0.0	0.0	233
+-234	0.00373697280883789	0.0	0.0	0.0	234
+-235	0.00371003150939941	0.00999999999999979	0.00999999999999979	0.0	235
+-236	0.00374388694763184	0.0	0.0	0.0	236
+-237	0.00366711616516113	0.00999999999999979	0.00999999999999979	0.0	237
+-238	0.00371408462524414	0.0	0.0	0.0	238
+-239	0.0048530101776123	0.0	0.0	0.0	239
+-240	0.00423502922058105	0.0100000000000007	0.0100000000000007	0.0	240
+-241	0.00370502471923828	0.0	0.0	0.0	241
+-242	0.00370383262634277	0.00999999999999979	0.00999999999999979	0.0	242
+-243	0.00366306304931641	0.0	0.0	0.0	243
+-244	0.00367593765258789	0.0	0.0	0.0	244
+-245	0.00371599197387695	0.00999999999999979	0.00999999999999979	0.0	245
+-246	0.00369501113891602	0.0	0.0	0.0	246
+-247	0.00366902351379395	0.0	0.0	0.0	247
+-248	0.00362110137939453	0.00999999999999979	0.00999999999999979	0.0	248
+-249	0.00362896919250488	0.0	0.0	0.0	249
+-250	0.00362896919250488	0.0100000000000007	0.0100000000000007	0.0	250
+-251	0.00362205505371094	0.0	0.0	0.0	251
+-252	0.00364923477172852	0.0	0.0	0.0	252
+-253	0.00362801551818848	0.00999999999999979	0.00999999999999979	0.0	253
+-254	0.00369715690612793	0.0	0.0	0.0	254
+-255	0.00363993644714355	0.0	0.0	0.0	255
+-256	0.00364518165588379	0.00999999999999979	0.00999999999999979	0.0	256
+-257	0.00360393524169922	0.0	0.0	0.0	257
+-258	0.00365090370178223	0.00999999999999979	0.00999999999999979	0.0	258
+-259	0.00365996360778809	0.0	0.0	0.0	259
+-260	0.00363016128540039	0.0	0.0	0.0	260
+-261	0.00363707542419434	0.0100000000000007	0.0100000000000007	0.0	261
+-262	0.00364112854003906	0.0	0.0	0.0	262
+-263	0.00367903709411621	0.0	0.0	0.0	263
+-264	0.00365304946899414	0.00999999999999979	0.00999999999999979	0.0	264
+-265	0.00365900993347168	0.0	0.0	0.0	265
+-266	0.00364804267883301	0.00999999999999979	0.00999999999999979	0.0	266
+-267	0.00368404388427734	0.0	0.0	0.0	267
+-268	0.02935791015625	0.0300000000000002	0.0300000000000002	0.0	268
+-269	0.00368499755859375	0.0	0.0	0.0	269
+-270	0.00371789932250977	0.00999999999999979	0.00999999999999979	0.0	270
+-271	0.0037848949432373	0.0	0.0	0.0	271
+-272	0.00371384620666504	0.0	0.0	0.0	272
+-273	0.00371098518371582	0.00999999999999979	0.00999999999999979	0.0	273
+-274	0.00377702713012695	0.0	0.0	0.0	274
+-275	0.00371503829956055	0.0	0.0	0.0	275
+-276	0.00372791290283203	0.0100000000000007	0.0100000000000007	0.0	276
+-277	0.00372004508972168	0.0	0.0	0.0	277
+-278	0.00366806983947754	0.00999999999999979	0.00999999999999979	0.0	278
+-279	0.00369620323181152	0.0	0.0	0.0	279
+-280	0.00374603271484375	0.0	0.0	0.0	280
+-281	0.00559902191162109	0.00999999999999979	0.00999999999999979	0.0	281
+-282	0.00370311737060547	0.0	0.0	0.0	282
+-283	0.00371289253234863	0.00999999999999979	0.00999999999999979	0.0	283
+-284	0.00368905067443848	0.0	0.0	0.0	284
+-285	0.0037989616394043	0.0	0.0	0.0	285
+-286	0.00368595123291016	0.00999999999999979	0.0100000000000007	0.0	286
+-287	0.00365710258483887	0.0	0.0	0.0	287
+-288	0.00366306304931641	0.00999999999999979	0.00999999999999979	0.0	288
+-289	0.00366091728210449	0.0	0.0	0.0	289
+-290	0.00363683700561523	0.0	0.0	0.0	290
+-291	0.00508499145507812	0.00999999999999979	0.00999999999999979	0.0	291
+-292	0.00364899635314941	0.0	0.0	0.0	292
+-293	0.00364184379577637	0.0	0.0	0.0	293
+-294	0.00365900993347168	0.00999999999999979	0.00999999999999979	0.0	294
+-295	0.00361919403076172	0.0	0.0	0.0	295
+-296	0.00365996360778809	0.00999999999999979	0.00999999999999979	0.0	296
+-297	0.00385499000549316	0.0	0.0	0.0	297
+-298	0.00486421585083008	0.0	0.0	0.0	298
+-299	0.00370907783508301	0.00999999999999979	0.00999999999999979	0.0	299
+-300	0.00366020202636719	0.0	0.0	0.0	300
+-301	0.00364780426025391	0.00999999999999979	0.00999999999999979	0.0	301
+-302	0.00360703468322754	0.0	0.0	0.0	302
+-303	0.00366711616516113	0.0	0.0	0.0	303
+-304	0.00365304946899414	0.0100000000000016	0.0100000000000016	0.0	304
+-305	0.0293490886688232	0.0299999999999994	0.0299999999999994	0.0	305
+-306	0.00373411178588867	0.0	0.0	0.0	306
+-307	0.00367593765258789	0.0	0.0	0.0	307
+-308	0.0037379264831543	0.00999999999999979	0.00999999999999979	0.0	308
+-309	0.00373697280883789	0.0	0.0	0.0	309
+-310	0.00374507904052734	0.0	0.0	0.0	310
+-311	0.00374889373779297	0.00999999999999979	0.00999999999999979	0.0	311
+-312	0.00372195243835449	0.0	0.0	0.0	312
+-313	0.00367879867553711	0.00999999999999979	0.00999999999999979	0.0	313
+-314	0.00386714935302734	0.0	0.0	0.0	314
+-315	0.00381088256835938	0.0	0.0	0.0	315
+-316	0.00370597839355469	0.00999999999999979	0.00999999999999979	0.0	316
+-317	0.00370287895202637	0.0	0.0	0.0	317
+-318	0.00370883941650391	0.0	0.0	0.0	318
+-319	0.0037989616394043	0.0100000000000016	0.0100000000000016	0.0	319
+-320	0.00371098518371582	0.0	0.0	0.0	320
+-321	0.00366806983947754	0.00999999999999979	0.00999999999999979	0.0	321
+-322	0.00365209579467773	0.0	0.0	0.0	322
+-323	0.00365400314331055	0.0	0.0	0.0	323
+-324	0.00365710258483887	0.00999999999999979	0.00999999999999979	0.0	324
+-325	0.00365400314331055	0.0	0.0	0.0	325
+-326	0.00417399406433105	0.00999999999999979	0.00999999999999979	0.0	326
+-327	0.00363588333129883	0.0	0.0	0.0	327
+-328	0.00362396240234375	0.0	0.0	0.0	328
+-329	0.00364899635314941	0.00999999999999979	0.00999999999999979	0.0	329
+-330	0.0036461353302002	0.0	0.0	0.0	330
+-331	0.00362610816955566	0.0	0.0	0.0	331
+-332	0.00365710258483887	0.00999999999999979	0.00999999999999979	0.0	332
+-333	0.00365900993347168	0.0	0.0	0.0	333
+-334	0.00363802909851074	0.0	0.0	0.0	334
+-335	0.00365495681762695	0.00999999999999979	0.00999999999999979	0.0	335
+-336	0.0036931037902832	0.0	0.0	0.0	336
+-337	0.00366592407226562	0.00999999999999979	0.00999999999999979	0.0	337
+-338	0.0036778450012207	0.0	0.0	0.0	338
+-339	0.00438904762268066	0.0	0.0	0.0	339
+-340	0.00471091270446777	0.0100000000000016	0.0100000000000016	0.0	340
+-341	0.00389599800109863	0.0	0.0	0.0	341
+-342	0.00366497039794922	0.00999999999999979	0.00999999999999979	0.0	342
+-343	0.0298199653625488	0.0299999999999994	0.0299999999999994	0.0	343
+-344	0.00373697280883789	0.0	0.0	0.0	344
+-345	0.00366497039794922	0.0	0.0	0.0	345
+-346	0.00375890731811523	0.00999999999999979	0.00999999999999979	0.0	346
+-347	0.00376486778259277	0.0	0.0	0.0	347
+-348	0.00379490852355957	0.00999999999999979	0.00999999999999979	0.0	348
+-349	0.00371098518371582	0.0	0.0	0.0	349
+-350	0.00410985946655273	0.0	0.0	0.0	350
+-351	0.00371313095092773	0.00999999999999979	0.00999999999999979	0.0	351
+-352	0.00372481346130371	0.0	0.0	0.0	352
+-353	0.00371789932250977	0.0	0.0	0.0	353
+-354	0.00374507904052734	0.00999999999999979	0.00999999999999979	0.0	354
+-355	0.00374102592468262	0.0	0.0	0.0	355
+-356	0.00371098518371582	0.0100000000000016	0.0100000000000016	0.0	356
+-357	0.00369906425476074	0.0	0.0	0.0	357
+-358	0.00367617607116699	0.0	0.0	0.0	358
+-359	0.00366997718811035	0.00999999999999979	0.00999999999999979	0.0	359
+-360	0.00365996360778809	0.0	0.0	0.0	360
+-361	0.00363588333129883	0.0	0.0	0.0	361
+-362	0.00361990928649902	0.00999999999999979	0.00999999999999979	0.0	362
+-363	0.00364589691162109	0.0	0.0	0.0	363
+-364	0.00363492965698242	0.00999999999999979	0.00999999999999979	0.0	364
+-365	0.00372695922851562	0.0	0.0	0.0	365
+-366	0.00362396240234375	0.0	0.0	0.0	366
+-367	0.00363707542419434	0.00999999999999979	0.00999999999999979	0.0	367
+-368	0.0036921501159668	0.0	0.0	0.0	368
+-369	0.00365710258483887	0.0	0.0	0.0	369
+-370	0.00361800193786621	0.00999999999999979	0.00999999999999979	0.0	370
+-371	0.00367903709411621	0.0	0.0	0.0	371
+-372	0.00365805625915527	0.00999999999999979	0.00999999999999979	0.0	372
+-373	0.00367999076843262	0.0	0.0	0.0	373
+-374	0.00368404388427734	0.0	0.0	0.0	374
+-375	0.00368690490722656	0.00999999999999979	0.00999999999999979	0.0	375
+-376	0.00374794006347656	0.0	0.0	0.0	376
+-377	0.00366997718811035	0.0	0.0	0.0	377
+-378	0.00365018844604492	0.0100000000000016	0.0100000000000016	0.0	378
+-379	0.0036780834197998	0.0	0.0	0.0	379
+-380	0.00370216369628906	0.00999999999999979	0.00999999999999979	0.0	380
+-381	0.0293450355529785	0.0199999999999996	0.0199999999999996	0.0	381
+-382	0.00373005867004395	0.00999999999999979	0.00999999999999979	0.0	382
+-383	0.00366306304931641	0.0	0.0	0.0	383
+-384	0.00376296043395996	0.00999999999999979	0.00999999999999979	0.0	384
+-385	0.00380301475524902	0.0	0.0	0.0	385
+-386	0.00372815132141113	0.0	0.0	0.0	386
+-387	0.00371193885803223	0.00999999999999979	0.00999999999999979	0.0	387
+-388	0.00368499755859375	0.0	0.0	0.0	388
+-389	0.00373601913452148	0.0	0.0	0.0	389
+-390	0.00371694564819336	0.00999999999999979	0.00999999999999979	0.0	390
+-391	0.00372791290283203	0.0	0.0	0.0	391
+-392	0.00531101226806641	0.0100000000000016	0.0100000000000016	0.0	392
+-393	0.00371789932250977	0.0	0.0	0.0	393
+-394	0.00370097160339355	0.00999999999999979	0.00999999999999979	0.0	394
+-395	0.00369906425476074	0.0	0.0	0.0	395
+-396	0.00373601913452148	0.0	0.0	0.0	396
+-397	0.00371694564819336	0.00999999999999979	0.00999999999999979	0.0	397
+-398	0.00365591049194336	0.0	0.0	0.0	398
+-399	0.00403714179992676	0.0	0.0	0.0	399
+-400	0.00364208221435547	0.00999999999999979	0.00999999999999979	0.0	400
+-401	0.00365400314331055	0.0	0.0	0.0	401
+-402	0.00364089012145996	0.00999999999999979	0.00999999999999979	0.0	402
+-403	0.00363302230834961	0.0	0.0	0.0	403
+-404	0.00365090370178223	0.0	0.0	0.0	404
+-405	0.00374603271484375	0.00999999999999979	0.00999999999999979	0.0	405
+-406	0.00363278388977051	0.0	0.0	0.0	406
+-407	0.00362515449523926	0.0	0.0	0.0	407
+-408	0.00372409820556641	0.00999999999999979	0.00999999999999979	0.0	408
+-409	0.00486588478088379	0.0	0.0	0.0	409
+-410	0.00364303588867188	0.00999999999999979	0.00999999999999979	0.0	410
+-411	0.00371599197387695	0.0	0.0	0.0	411
+-412	0.0036618709564209	0.0	0.0	0.0	412
+-413	0.00363707542419434	0.00999999999999979	0.00999999999999979	0.0	413
+-414	0.00367593765258789	0.0	0.0	0.0	414
+-415	0.00361990928649902	0.0	0.0	0.0	415
+-416	0.00365900993347168	0.0100000000000016	0.0100000000000016	0.0	416
+-417	0.00365614891052246	0.0	0.0	0.0	417
+-418	0.00370597839355469	0.00999999999999979	0.00999999999999979	0.0	418
+-419	0.0359270572662354	0.0299999999999994	0.0299999999999994	0.0	419
+-420	0.00371479988098145	0.00999999999999979	0.00999999999999979	0.0	420
+-421	0.00369119644165039	0.0	0.0	0.0	421
+-422	0.00375699996948242	0.0	0.0	0.0	422
+-423	0.00374388694763184	0.00999999999999979	0.00999999999999979	0.0	423
+-424	0.00373291969299316	0.0	0.0	0.0	424
+-425	0.00372982025146484	0.0	0.0	0.0	425
+-426	0.00370216369628906	0.00999999999999979	0.00999999999999979	0.0	426
+-427	0.00371408462524414	0.0	0.0	0.0	427
+-428	0.0037078857421875	0.0100000000000016	0.0100000000000016	0.0	428
+-429	0.00379300117492676	0.0	0.0	0.0	429
+-430	0.00373482704162598	0.0	0.0	0.0	430
+-431	0.00374007225036621	0.00999999999999979	0.00999999999999979	0.0	431
+-432	0.00367999076843262	0.0	0.0	0.0	432
+-433	0.00372695922851562	0.0	0.0	0.0	433
+-434	0.00371384620666504	0.00999999999999979	0.00999999999999979	0.0	434
+-435	0.0036170482635498	0.0	0.0	0.0	435
+-436	0.00364899635314941	0.00999999999999979	0.00999999999999979	0.0	436
+-437	0.00367283821105957	0.0	0.0	0.0	437
+-438	0.0036160945892334	0.0	0.0	0.0	438
+-439	0.00362205505371094	0.00999999999999979	0.00999999999999979	0.0	439
+-440	0.00364518165588379	0.0	0.0	0.0	440
+-441	0.0036780834197998	0.0	0.0	0.0	441
+-442	0.00361800193786621	0.00999999999999979	0.00999999999999979	0.0	442
+-443	0.00362396240234375	0.0	0.0	0.0	443
+-444	0.00362610816955566	0.00999999999999979	0.00999999999999979	0.0	444
+-445	0.00364804267883301	0.0	0.0	0.0	445
+-446	0.00360488891601562	0.0	0.0	0.0	446
+-447	0.00363397598266602	0.00999999999999979	0.00999999999999979	0.0	447
+-448	0.00361299514770508	0.0	0.0	0.0	448
+-449	0.00390100479125977	0.0	0.0	0.0	449
+-450	0.00565385818481445	0.0100000000000016	0.0100000000000016	0.0	450
+-451	0.00366592407226562	0.0	0.0	0.0	451
+-452	0.00364398956298828	0.00999999999999979	0.00999999999999979	0.0	452
+-453	0.00362896919250488	0.0	0.0	0.0	453
+-454	0.0036618709564209	0.0	0.0	0.0	454
+-455	0.00370502471923828	0.00999999999999979	0.00999999999999979	0.0	455
+-456	0.00375580787658691	0.0	0.0	0.0	456
+-457	0.029231071472168	0.0299999999999994	0.0299999999999994	0.0	457
+-458	0.00371885299682617	0.0	0.0	0.0	458
+-459	0.00371003150939941	0.0	0.0	0.0	459
+-460	0.00493097305297852	0.0	0.0	0.0	460
+-461	0.00378513336181641	0.00999999999999979	0.00999999999999979	0.0	461
+-462	0.0037388801574707	0.0	0.0	0.0	462
+-463	0.00383710861206055	0.0	0.0	0.0	463
+-464	0.00370407104492188	0.00999999999999979	0.00999999999999979	0.0	464
+-465	0.0037388801574707	0.0	0.0	0.0	465
+-466	0.00373196601867676	0.0100000000000016	0.0100000000000016	0.0	466
+-467	0.00371599197387695	0.0	0.0	0.0	467
+-468	0.00373697280883789	0.0	0.0	0.0	468
+-469	0.00368809700012207	0.00999999999999979	0.00999999999999979	0.0	469
+-470	0.00370502471923828	0.0	0.0	0.0	470
+-471	0.0036771297454834	0.0	0.0	0.0	471
+-472	0.00364899635314941	0.00999999999999979	0.00999999999999979	0.0	472
+-473	0.00366902351379395	0.0	0.0	0.0	473
+-474	0.00365710258483887	0.00999999999999979	0.00999999999999979	0.0	474
+-475	0.00371217727661133	0.0	0.0	0.0	475
+-476	0.00365495681762695	0.0	0.0	0.0	476
+-477	0.0036308765411377	0.00999999999999979	0.00999999999999979	0.0	477
+-478	0.00365710258483887	0.0	0.0	0.0	478
+-479	0.00364899635314941	0.0	0.0	0.0	479
+-480	0.00360703468322754	0.00999999999999979	0.00999999999999979	0.0	480
+-481	0.0036318302154541	0.0	0.0	0.0	481
+-482	0.00359702110290527	0.0	0.0	0.0	482
+-483	0.00360584259033203	0.00999999999999979	0.00999999999999979	0.0	483
+-484	0.00364303588867188	0.0	0.0	0.0	484
+-485	0.00361490249633789	0.00999999999999979	0.00999999999999979	0.0	485
+-486	0.00365281105041504	0.0	0.0	0.0	486
+-487	0.00365591049194336	0.0	0.0	0.0	487
+-488	0.00358986854553223	0.0100000000000016	0.0100000000000016	0.0	488
+-489	0.00365304946899414	0.0	0.0	0.0	489
+-490	0.00380802154541016	0.0	0.0	0.0	490
+-491	0.00366997718811035	0.00999999999999979	0.00999999999999979	0.0	491
+-492	0.00363612174987793	0.0	0.0	0.0	492
+-493	0.003662109375	0.00999999999999979	0.00999999999999979	0.0	493
+-494	0.00367617607116699	0.0	0.0	0.0	494
+-495	0.0286951065063477	0.0299999999999994	0.0299999999999994	0.0	495
+-496	0.00378203392028809	0.0	0.0	0.0	496
+-497	0.00374603271484375	0.00999999999999979	0.00999999999999979	0.0	497
+-498	0.00373005867004395	0.0	0.0	0.0	498
+-499	0.00371003150939941	0.0	0.0	0.0	499
+-500	0.00367212295532227	0.00999999999999979	0.00999999999999979	0.0	500
+-501	0.00379490852355957	0.0	0.0	0.0	501
+-502	0.00532388687133789	0.0100000000000016	0.0100000000000016	0.0	502
+-503	0.00412988662719727	0.0	0.0	0.0	503
+-504	0.00371408462524414	0.0	0.0	0.0	504
+-505	0.00367403030395508	0.00999999999999979	0.00999999999999979	0.0	505
+-506	0.00383114814758301	0.0	0.0	0.0	506
+-507	0.00376319885253906	0.00999999999999979	0.00999999999999979	0.0	507
+-508	0.00370383262634277	0.0	0.0	0.0	508
+-509	0.00366592407226562	0.0	0.0	0.0	509
+-510	0.00369906425476074	0.00999999999999979	0.00999999999999979	0.0	510
+-511	0.00367116928100586	0.0	0.0	0.0	511
+-512	0.00511002540588379	0.0	0.0	0.0	512
+-513	0.00360512733459473	0.00999999999999979	0.00999999999999979	0.0	513
+-514	0.00369119644165039	0.0	0.0	0.0	514
+-515	0.0036311149597168	0.00999999999999979	0.00999999999999979	0.0	515
+-516	0.0036771297454834	0.0	0.0	0.0	516
+-517	0.00361800193786621	0.0	0.0	0.0	517
+-518	0.0038139820098877	0.00999999999999979	0.00999999999999979	0.0	518
+-519	0.00537514686584473	0.0	0.0	0.0	519
+-520	0.00412893295288086	0.00999999999999979	0.00999999999999979	0.0	520
+-521	0.00373005867004395	0.0	0.0	0.0	521
+-522	0.00365996360778809	0.0	0.0	0.0	522
+-523	0.00364303588867188	0.00999999999999979	0.00999999999999979	0.0	523
+-524	0.00367403030395508	0.0	0.0	0.0	524
+-525	0.00364589691162109	0.0100000000000016	0.0100000000000016	0.0	525
+-526	0.00364398956298828	0.0	0.0	0.0	526
+-527	0.00363898277282715	0.0	0.0	0.0	527
+-528	0.00362682342529297	0.00999999999999979	0.00999999999999979	0.0	528
+-529	0.00360894203186035	0.0	0.0	0.0	529
+-530	0.00366091728210449	0.0	0.0	0.0	530
+-531	0.00367999076843262	0.00999999999999979	0.00999999999999979	0.0	531
+-532	0.0291500091552734	0.0299999999999994	0.0299999999999994	0.0	532
+-533	0.00369596481323242	0.0	0.0	0.0	533
+-534	0.00374984741210938	0.0	0.0	0.0	534
+-535	0.00383186340332031	0.00999999999999979	0.00999999999999979	0.0	535
+-536	0.00389409065246582	0.0	0.0	0.0	536
+-537	0.00370407104492188	0.00999999999999979	0.00999999999999979	0.0	537
+-538	0.0037238597869873	0.0	0.0	0.0	538
+-539	0.00371479988098145	0.0	0.0	0.0	539
+-540	0.00371289253234863	0.0100000000000016	0.0100000000000016	0.0	540
+-541	0.00380897521972656	0.0	0.0	0.0	541
+-542	0.00371193885803223	0.0	0.0	0.0	542
+-543	0.0036928653717041	0.00999999999999979	0.00999999999999979	0.0	543
+-544	0.00368285179138184	0.0	0.0	0.0	544
+-545	0.00370407104492188	0.00999999999999979	0.00999999999999979	0.0	545
+-546	0.00371193885803223	0.0	0.0	0.0	546
+-547	0.00420904159545898	0.0	0.0	0.0	547
+-548	0.00372791290283203	0.00999999999999979	0.00999999999999979	0.0	548
+-549	0.0037071704864502	0.0	0.0	0.0	549
+-550	0.00366401672363281	0.00999999999999979	0.00999999999999979	0.0	550
+-551	0.00365710258483887	0.0	0.0	0.0	551
+-552	0.00364494323730469	0.0	0.0	0.0	552
+-553	0.00368499755859375	0.00999999999999979	0.00999999999999979	0.0	553
+-554	0.00366806983947754	0.0	0.0	0.0	554
+-555	0.00361418724060059	0.0	0.0	0.0	555
+-556	0.00361394882202148	0.00999999999999979	0.00999999999999979	0.0	556
+-557	0.00365090370178223	0.0	0.0	0.0	557
+-558	0.00361990928649902	0.0	0.0	0.0	558
+-559	0.0036468505859375	0.00999999999999979	0.00999999999999979	0.0	559
+-560	0.0040891170501709	0.0	0.0	0.0	560
+-561	0.00469303131103516	0.0100000000000016	0.0100000000000016	0.0	561
+-562	0.00363516807556152	0.0	0.0	0.0	562
+-563	0.00363516807556152	0.0	0.0	0.0	563
+-564	0.00361895561218262	0.00999999999999979	0.00999999999999979	0.0	564
+-565	0.00365996360778809	0.0	0.0	0.0	565
+-566	0.00366783142089844	0.00999999999999979	0.00999999999999979	0.0	566
+-567	0.00374007225036621	0.0	0.0	0.0	567
+-568	0.00392389297485352	0.0	0.0	0.0	568
+-569	0.0294678211212158	0.0299999999999994	0.0299999999999994	0.0	569
+-570	0.00389218330383301	0.00999999999999979	0.00999999999999979	0.0	570
+-571	0.00545501708984375	0.0	0.0	0.0	571
+-572	0.00444793701171875	0.00999999999999979	0.00999999999999979	0.0	572
+-573	0.00378513336181641	0.0	0.0	0.0	573
+-574	0.00372600555419922	0.0	0.0	0.0	574
+-575	0.00369596481323242	0.00999999999999979	0.00999999999999979	0.0	575
+-576	0.00376510620117188	0.0	0.0	0.0	576
+-577	0.00368714332580566	0.0100000000000016	0.0100000000000016	0.0	577
+-578	0.00371885299682617	0.0	0.0	0.0	578
+-579	0.00372505187988281	0.0	0.0	0.0	579
+-580	0.00372815132141113	0.00999999999999979	0.00999999999999979	0.0	580
+-581	0.00370502471923828	0.0	0.0	0.0	581
+-582	0.00371503829956055	0.0	0.0	0.0	582
+-583	0.00371503829956055	0.00999999999999979	0.00999999999999979	0.0	583
+-584	0.00370287895202637	0.0	0.0	0.0	584
+-585	0.00371599197387695	0.00999999999999979	0.00999999999999979	0.0	585
+-586	0.00377798080444336	0.0	0.0	0.0	586
+-587	0.00368595123291016	0.0	0.0	0.0	587
+-588	0.00366497039794922	0.00999999999999979	0.00999999999999979	0.0	588
+-589	0.00367999076843262	0.0	0.0	0.0	589
+-590	0.0036320686340332	0.0	0.0	0.0	590
+-591	0.00362491607666016	0.00999999999999979	0.00999999999999979	0.0	591
+-592	0.00367593765258789	0.0	0.0	0.0	592
+-593	0.0036461353302002	0.00999999999999979	0.00999999999999979	0.0	593
+-594	0.00365996360778809	0.0	0.0	0.0	594
+-595	0.003662109375	0.0	0.0	0.0	595
+-596	0.00364398956298828	0.00999999999999979	0.00999999999999979	0.0	596
+-597	0.00371479988098145	0.0	0.0	0.0	597
+-598	0.00362610816955566	0.0	0.0	0.0	598
+-599	0.00365614891052246	0.0100000000000016	0.0100000000000016	0.0	599
+-600	0.00365400314331055	0.0	0.0	0.0	600
+-601	0.00364089012145996	0.00999999999999979	0.00999999999999979	0.0	601
+-602	0.00363492965698242	0.0	0.0	0.0	602
+-603	0.0036320686340332	0.0	0.0	0.0	603
+-604	0.00364089012145996	0.00999999999999979	0.00999999999999979	0.0	604
+-605	0.00368785858154297	0.0	0.0	0.0	605
+-606	0.00367999076843262	0.0	0.0	0.0	606
+-607	0.0295491218566895	0.0299999999999994	0.0299999999999994	0.0	607
+-608	0.00367212295532227	0.00999999999999979	0.00999999999999979	0.0	608
+-609	0.00368118286132812	0.0	0.0	0.0	609
+-610	0.00368499755859375	0.0	0.0	0.0	610
+-611	0.00374102592468262	0.00999999999999979	0.00999999999999979	0.0	611
+-612	0.00428009033203125	0.0	0.0	0.0	612
+-613	0.00475502014160156	0.0100000000000016	0.0100000000000016	0.0	613
+-614	0.00373005867004395	0.0	0.0	0.0	614
+-615	0.00372791290283203	0.00999999999999979	0.00999999999999979	0.0	615
+-616	0.00373196601867676	0.0	0.0	0.0	616
+-617	0.00375008583068848	0.0	0.0	0.0	617
+-618	0.00374102592468262	0.00999999999999979	0.00999999999999979	0.0	618
+-619	0.00374102592468262	0.0	0.0	0.0	619
+-620	0.00369095802307129	0.0	0.0	0.0	620
+-621	0.00368785858154297	0.00999999999999979	0.00999999999999979	0.0	621
+-622	0.00369095802307129	0.0	0.0	0.0	622
+-623	0.0036778450012207	0.00999999999999979	0.00999999999999979	0.0	623
+-624	0.0036468505859375	0.0	0.0	0.0	624
+-625	0.00369906425476074	0.0	0.0	0.0	625
+-626	0.00376510620117188	0.00999999999999979	0.00999999999999979	0.0	626
+-627	0.00364899635314941	0.0	0.0	0.0	627
+-628	0.00363397598266602	0.0	0.0	0.0	628
+-629	0.00383210182189941	0.00999999999999979	0.00999999999999979	0.0	629
+-630	0.00394892692565918	0.0	0.0	0.0	630
+-631	0.00367307662963867	0.00999999999999979	0.00999999999999979	0.0	631
+-632	0.0036311149597168	0.0	0.0	0.0	632
+-633	0.00366497039794922	0.0	0.0	0.0	633
+-634	0.00363707542419434	0.00999999999999979	0.00999999999999979	0.0	634
+-635	0.0036308765411377	0.0	0.0	0.0	635
+-636	0.00362706184387207	0.0	0.0	0.0	636
+-637	0.00366306304931641	0.0100000000000016	0.0100000000000016	0.0	637
+-638	0.0036468505859375	0.0	0.0	0.0	638
+-639	0.00365710258483887	0.0	0.0	0.0	639
+-640	0.00370287895202637	0.00999999999999979	0.00999999999999979	0.0	640
+-641	0.00424313545227051	0.0	0.0	0.0	641
+-642	0.00360798835754395	0.00999999999999979	0.00999999999999979	0.0	642
+-643	0.00641298294067383	0.0	0.0	0.0	643
+-644	0.0336699485778809	0.0399999999999991	0.0399999999999991	0.0	644
+-645	0.00376391410827637	0.0	0.0	0.0	645
+-646	0.00372314453125	0.0	0.0	0.0	646
+-647	0.00375103950500488	0.00999999999999979	0.00999999999999979	0.0	647
+-648	0.00373101234436035	0.0	0.0	0.0	648
+-649	0.00373196601867676	0.0	0.0	0.0	649
+-650	0.00368499755859375	0.0100000000000016	0.0100000000000016	0.0	650
+-651	0.00377416610717773	0.0	0.0	0.0	651
+-652	0.00371193885803223	0.00999999999999979	0.00999999999999979	0.0	652
+-653	0.0036919116973877	0.0	0.0	0.0	653
+-654	0.00371813774108887	0.0	0.0	0.0	654
+-655	0.00372219085693359	0.00999999999999979	0.00999999999999979	0.0	655
+-656	0.00370907783508301	0.0	0.0	0.0	656
+-657	0.00366401672363281	0.0	0.0	0.0	657
+-658	0.00366806983947754	0.00999999999999979	0.00999999999999979	0.0	658
+-659	0.00368309020996094	0.0	0.0	0.0	659
+-660	0.00367307662963867	0.00999999999999979	0.00999999999999979	0.0	660
+-661	0.00363898277282715	0.0	0.0	0.0	661
+-662	0.003662109375	0.0	0.0	0.0	662
+-663	0.00363707542419434	0.00999999999999979	0.00999999999999979	0.0	663
+-664	0.00363302230834961	0.0	0.0	0.0	664
+-665	0.00366091728210449	0.0	0.0	0.0	665
+-666	0.0036771297454834	0.00999999999999979	0.00999999999999979	0.0	666
+-667	0.00365710258483887	0.0	0.0	0.0	667
+-668	0.00360703468322754	0.00999999999999979	0.00999999999999979	0.0	668
+-669	0.00365900993347168	0.0	0.0	0.0	669
+-670	0.00479602813720703	0.0	0.0	0.0	670
+-671	0.0047600269317627	0.0100000000000016	0.0100000000000016	0.0	671
+-672	0.00367999076843262	0.0	0.0	0.0	672
+-673	0.00362992286682129	0.00999999999999979	0.00999999999999979	0.0	673
+-674	0.00359392166137695	0.0	0.0	0.0	674
+-675	0.00365710258483887	0.0	0.0	0.0	675
+-676	0.00364899635314941	0.00999999999999979	0.00999999999999979	0.0	676
+-677	0.00373482704162598	0.0	0.0	0.0	677
+-678	0.00359201431274414	0.0	0.0	0.0	678
+-679	0.00365900993347168	0.00999999999999979	0.00999999999999979	0.0	679
+-680	0.0036919116973877	0.0	0.0	0.0	680
+-681	0.00368595123291016	0.00999999999999979	0.00999999999999979	0.0	681
+-682	0.0298888683319092	0.0299999999999994	0.0299999999999994	0.0	682
+-683	0.00371694564819336	0.0	0.0	0.0	683
+-684	0.00372409820556641	0.0	0.0	0.0	684
+-685	0.00371193885803223	0.00999999999999979	0.00999999999999979	0.0	685
+-686	0.00372695922851562	0.0	0.0	0.0	686
+-687	0.00368809700012207	0.0	0.0	0.0	687
+-688	0.0036931037902832	0.0100000000000016	0.0100000000000016	0.0	688
+-689	0.00371003150939941	0.0	0.0	0.0	689
+-690	0.00369119644165039	0.0	0.0	0.0	690
+-691	0.00370192527770996	0.0	0.0	0.0	691
+-692	0.00372600555419922	0.0	0.0	0.0	692
+-693	0.00372099876403809	0.00999999999999979	0.00999999999999979	0.0	693
+-694	0.00371193885803223	0.0	0.0	0.0	694
+-695	0.00369095802307129	0.0	0.0	0.0	695
+-696	0.00366783142089844	0.00999999999999979	0.00999999999999979	0.0	696
+-697	0.00373601913452148	0.0	0.0	0.0	697
+-698	0.00366497039794922	0.0	0.0	0.0	698
+-699	0.00366806983947754	0.0	0.0	0.0	699
+-700	0.00364398956298828	0.0	0.0	0.0	700
+-701	0.00358295440673828	0.00999999999999979	0.00999999999999979	0.0	701
+-702	0.00363898277282715	0.0	0.0	0.0	702
+-703	0.00365304946899414	0.0	0.0	0.0	703
+-704	0.00369596481323242	0.00999999999999979	0.00999999999999979	0.0	704
+-705	0.00362300872802734	0.0	0.0	0.0	705
+-706	0.00362801551818848	0.0	0.0	0.0	706
+-707	0.00364899635314941	0.00999999999999979	0.00999999999999979	0.0	707
+-708	0.00362491607666016	0.0	0.0	0.0	708
+-709	0.00363707542419434	0.0100000000000016	0.0100000000000016	0.0	709
+-710	0.00364804267883301	0.0	0.0	0.0	710
+-711	0.00362610816955566	0.0	0.0	0.0	711
+-712	0.00368213653564453	0.00999999999999979	0.00999999999999979	0.0	712
+-713	0.00364398956298828	0.0	0.0	0.0	713
+-714	0.00365400314331055	0.0	0.0	0.0	714
+-715	0.00364518165588379	0.00999999999999979	0.00999999999999979	0.0	715
+-716	0.00361394882202148	0.0	0.0	0.0	716
+-717	0.00368309020996094	0.00999999999999979	0.00999999999999979	0.0	717
+-718	0.00363492965698242	0.0	0.0	0.0	718
+-719	0.0291500091552734	0.0299999999999994	0.0299999999999994	0.0	719
+-720	0.00372695922851562	0.0	0.0	0.0	720
+-721	0.00369691848754883	0.00999999999999979	0.00999999999999979	0.0	721
+-722	0.0036919116973877	0.0	0.0	0.0	722
+-723	0.00575518608093262	0.0100000000000016	0.0100000000000016	0.0	723
+-724	0.00409793853759766	0.0	0.0	0.0	724
+-725	0.00376510620117188	0.0	0.0	0.0	725
+-726	0.00382494926452637	0.00999999999999979	0.00999999999999979	0.0	726
+-727	0.00373482704162598	0.0	0.0	0.0	727
+-728	0.00375699996948242	0.0	0.0	0.0	728
+-729	0.00374197959899902	0.00999999999999979	0.00999999999999979	0.0	729
+-730	0.00372695922851562	0.0	0.0	0.0	730
+-731	0.00370311737060547	0.00999999999999979	0.00999999999999979	0.0	731
+-732	0.00367593765258789	0.0	0.0	0.0	732
+-733	0.00520992279052734	0.0	0.0	0.0	733
+-734	0.00372195243835449	0.00999999999999979	0.00999999999999979	0.0	734
+-735	0.00368905067443848	0.0	0.0	0.0	735
+-736	0.00366616249084473	0.00999999999999979	0.00999999999999979	0.0	736
+-737	0.00368809700012207	0.0	0.0	0.0	737
+-738	0.00368499755859375	0.0	0.0	0.0	738
+-739	0.00387406349182129	0.00999999999999979	0.00999999999999979	0.0	739
+-740	0.00513005256652832	0.0	0.0	0.0	740
+-741	0.0036470890045166	0.00999999999999979	0.00999999999999979	0.0	741
+-742	0.00371885299682617	0.0	0.0	0.0	742
+-743	0.00364398956298828	0.0	0.0	0.0	743
+-744	0.00364589691162109	0.00999999999999979	0.00999999999999979	0.0	744
+-745	0.00363993644714355	0.0	0.0	0.0	745
+-746	0.00364089012145996	0.0	0.0	0.0	746
+-747	0.00361490249633789	0.0100000000000016	0.0100000000000016	0.0	747
+-748	0.00366783142089844	0.0	0.0	0.0	748
+-749	0.00363898277282715	0.0	0.0	0.0	749
+-750	0.00363612174987793	0.00999999999999979	0.00999999999999979	0.0	750
+-751	0.0036470890045166	0.0	0.0	0.0	751
+-752	0.00362300872802734	0.00999999999999979	0.00999999999999979	0.0	752
+-753	0.00365209579467773	0.0	0.0	0.0	753
+-754	0.00367999076843262	0.0	0.0	0.0	754
+-755	0.0036628246307373	0.00999999999999979	0.00999999999999979	0.0	755
+-756	0.0293610095977783	0.0299999999999994	0.0299999999999994	0.0	756
+-757	0.00370907783508301	0.0	0.0	0.0	757
+-758	0.00370001792907715	0.0	0.0	0.0	758
+-759	0.00371313095092773	0.00999999999999979	0.00999999999999979	0.0	759
+-760	0.00373601913452148	0.0	0.0	0.0	760
+-761	0.00375699996948242	0.0100000000000016	0.0100000000000016	0.0	761
+-762	0.00379014015197754	0.0	0.0	0.0	762
+-763	0.00373101234436035	0.0	0.0	0.0	763
+-764	0.00369596481323242	0.00999999999999979	0.00999999999999979	0.0	764
+-765	0.00373291969299316	0.0	0.0	0.0	765
+-766	0.0037081241607666	0.0	0.0	0.0	766
+-767	0.00425601005554199	0.00999999999999979	0.00999999999999979	0.0	767
+-768	0.00375699996948242	0.0	0.0	0.0	768
+-769	0.0037529468536377	0.00999999999999979	0.00999999999999979	0.0	769
+-770	0.00371789932250977	0.0	0.0	0.0	770
+-771	0.0037229061126709	0.0	0.0	0.0	771
+-772	0.00371003150939941	0.00999999999999979	0.00999999999999979	0.0	772
+-773	0.00370311737060547	0.0	0.0	0.0	773
+-774	0.00365304946899414	0.0	0.0	0.0	774
+-775	0.00366783142089844	0.00999999999999979	0.00999999999999979	0.0	775
+-776	0.00362801551818848	0.0	0.0	0.0	776
+-777	0.00360703468322754	0.00999999999999979	0.00999999999999979	0.0	777
+-778	0.00365209579467773	0.0	0.0	0.0	778
+-779	0.00366592407226562	0.0	0.0	0.0	779
+-780	0.0036308765411377	0.00999999999999979	0.00999999999999979	0.0	780
+-781	0.00458216667175293	0.0	0.0	0.0	781
+-782	0.00462603569030762	0.0100000000000016	0.0100000000000016	0.0	782
+-783	0.00362300872802734	0.0	0.0	0.0	783
+-784	0.00360298156738281	0.0	0.0	0.0	784
+-785	0.00363993644714355	0.00999999999999979	0.00999999999999979	0.0	785
+-786	0.00367403030395508	0.0	0.0	0.0	786
+-787	0.00365209579467773	0.0	0.0	0.0	787
+-788	0.00373411178588867	0.00999999999999979	0.00999999999999979	0.0	788
+-789	0.0038609504699707	0.0	0.0	0.0	789
+-790	0.00365781784057617	0.00999999999999979	0.00999999999999979	0.0	790
+-791	0.00362110137939453	0.0	0.0	0.0	791
+-792	0.00369000434875488	0.0	0.0	0.0	792
+-793	0.0307409763336182	0.0299999999999994	0.0299999999999994	0.0	793
+-794	0.00374913215637207	0.00999999999999979	0.00999999999999979	0.0	794
+-795	0.00369882583618164	0.0	0.0	0.0	795
+-796	0.00370097160339355	0.00999999999999979	0.00999999999999979	0.0	796
+-797	0.00375890731811523	0.0	0.0	0.0	797
+-798	0.00378894805908203	0.0	0.0	0.0	798
+-799	0.00387096405029297	0.0100000000000016	0.0100000000000016	0.0	799
+-800	0.00368213653564453	0.0	0.0	0.0	800
+-801	0.00372719764709473	0.0	0.0	0.0	801
+-802	0.00373101234436035	0.00999999999999979	0.00999999999999979	0.0	802
+-803	0.00372600555419922	0.0	0.0	0.0	803
+-804	0.00373411178588867	0.00999999999999979	0.00999999999999979	0.0	804
+-805	0.00366687774658203	0.0	0.0	0.0	805
+-806	0.00370907783508301	0.0	0.0	0.0	806
+-807	0.0036921501159668	0.00999999999999979	0.00999999999999979	0.0	807
+-808	0.00377511978149414	0.0	0.0	0.0	808
+-809	0.00365090370178223	0.0	0.0	0.0	809
+-810	0.00374388694763184	0.00999999999999979	0.00999999999999979	0.0	810
+-811	0.0036778450012207	0.0	0.0	0.0	811
+-812	0.0036780834197998	0.00999999999999979	0.00999999999999979	0.0	812
+-813	0.00362801551818848	0.0	0.0	0.0	813
+-814	0.00365304946899414	0.0	0.0	0.0	814
+-815	0.00363516807556152	0.00999999999999979	0.00999999999999979	0.0	815
+-816	0.00369000434875488	0.0	0.0	0.0	816
+-817	0.00373196601867676	0.0	0.0	0.0	817
+-818	0.00360512733459473	0.00999999999999979	0.00999999999999979	0.0	818
+-819	0.00361204147338867	0.0	0.0	0.0	819
+-820	0.00362610816955566	0.0100000000000016	0.0100000000000016	0.0	820
+-821	0.00365090370178223	0.0	0.0	0.0	821
+-822	0.00360703468322754	0.0	0.0	0.0	822
+-823	0.00362896919250488	0.00999999999999979	0.00999999999999979	0.0	823
+-824	0.0036468505859375	0.0	0.0	0.0	824
+-825	0.0036320686340332	0.0	0.0	0.0	825
+-826	0.00362610816955566	0.00999999999999979	0.00999999999999979	0.0	826
+-827	0.00365090370178223	0.0	0.0	0.0	827
+-828	0.00363516807556152	0.00999999999999979	0.00999999999999979	0.0	828
+-829	0.00368213653564453	0.0	0.0	0.0	829
+-830	0.0292301177978516	0.0299999999999994	0.0299999999999994	0.0	830
+-831	0.0037531852722168	0.0	0.0	0.0	831
+-832	0.00371718406677246	0.00999999999999979	0.00999999999999979	0.0	832
+-833	0.0037989616394043	0.0	0.0	0.0	833
+-834	0.00615215301513672	0.0100000000000016	0.0100000000000016	0.0	834
+-835	0.00377607345581055	0.0	0.0	0.0	835
+-836	0.00370907783508301	0.0	0.0	0.0	836
+-837	0.00371098518371582	0.00999999999999979	0.00999999999999979	0.0	837
+-838	0.00375103950500488	0.0	0.0	0.0	838
+-839	0.00372099876403809	0.0	0.0	0.0	839
+-840	0.00375795364379883	0.00999999999999979	0.00999999999999979	0.0	840
+-841	0.00370502471923828	0.0	0.0	0.0	841
+-842	0.00369787216186523	0.00999999999999979	0.00999999999999979	0.0	842
+-843	0.00369501113891602	0.0	0.0	0.0	843
+-844	0.00370883941650391	0.0	0.0	0.0	844
+-845	0.00371408462524414	0.00999999999999979	0.00999999999999979	0.0	845
+-846	0.00368404388427734	0.0	0.0	0.0	846
+-847	0.0038149356842041	0.0	0.0	0.0	847
+-848	0.00367403030395508	0.00999999999999979	0.00999999999999979	0.0	848
+-849	0.00365686416625977	0.0	0.0	0.0	849
+-850	0.00383400917053223	0.00999999999999979	0.00999999999999979	0.0	850
+-851	0.00394606590270996	0.0	0.0	0.0	851
+-852	0.00365996360778809	0.0	0.0	0.0	852
+-853	0.00365495681762695	0.00999999999999979	0.00999999999999979	0.0	853
+-854	0.00370621681213379	0.0	0.0	0.0	854
+-855	0.0036461353302002	0.0	0.0	0.0	855
+-856	0.00365281105041504	0.00999999999999979	0.00999999999999979	0.0	856
+-857	0.00365686416625977	0.0	0.0	0.0	857
+-858	0.00365400314331055	0.0100000000000016	0.0100000000000016	0.0	858
+-859	0.00363683700561523	0.0	0.0	0.0	859
+-860	0.00365209579467773	0.0	0.0	0.0	860
+-861	0.00365614891052246	0.00999999999999979	0.00999999999999979	0.0	861
+-862	0.00419211387634277	0.0	0.0	0.0	862
+-863	0.00362920761108398	0.0	0.0	0.0	863
+-864	0.0062098503112793	0.0	0.0	0.0	864
+-865	0.00613093376159668	0.00999999999999979	0.00999999999999979	0.0	865
+-866	0.00604104995727539	0.0	0.0	0.0	866
+-867	0.0290992259979248	0.0299999999999994	0.0299999999999994	0.0	867
+-868	0.00398516654968262	0.00999999999999979	0.00999999999999979	0.0	868
+-869	0.00370597839355469	0.0	0.0	0.0	869
+-870	0.00374913215637207	0.0	0.0	0.0	870
+-871	0.00371384620666504	0.0100000000000016	0.0100000000000016	0.0	871
+-872	0.00374984741210938	0.0	0.0	0.0	872
+-873	0.00371623039245605	0.00999999999999979	0.00999999999999979	0.0	873
+-874	0.00370502471923828	0.0	0.0	0.0	874
+-875	0.00371003150939941	0.0	0.0	0.0	875
+-876	0.00368094444274902	0.00999999999999979	0.00999999999999979	0.0	876
+-877	0.00372886657714844	0.0	0.0	0.0	877
+-878	0.00374293327331543	0.0	0.0	0.0	878
+-879	0.00372195243835449	0.00999999999999979	0.00999999999999979	0.0	879
+-880	0.00373101234436035	0.0	0.0	0.0	880
+-881	0.00373005867004395	0.00999999999999979	0.00999999999999979	0.0	881
+-882	0.00367903709411621	0.0	0.0	0.0	882
+-883	0.00371694564819336	0.0	0.0	0.0	883
+-884	0.00383996963500977	0.00999999999999979	0.00999999999999979	0.0	884
+-885	0.00367379188537598	0.0	0.0	0.0	885
+-886	0.00366806983947754	0.0	0.0	0.0	886
+-887	0.0036468505859375	0.00999999999999979	0.00999999999999979	0.0	887
+-888	0.00361895561218262	0.0	0.0	0.0	888
+-889	0.00358295440673828	0.00999999999999979	0.00999999999999979	0.0	889
+-890	0.00368213653564453	0.0	0.0	0.0	890
+-891	0.0056309700012207	0.0	0.0	0.0	891
+-892	0.00402593612670898	0.0	0.0	0.0	892
+-893	0.00361013412475586	0.0	0.0	0.0	893
+-894	0.00365805625915527	0.00999999999999979	0.00999999999999979	0.0	894
+-895	0.00363683700561523	0.0	0.0	0.0	895
+-896	0.00369787216186523	0.0	0.0	0.0	896
+-897	0.00366902351379395	0.00999999999999979	0.00999999999999979	0.0	897
+-898	0.00373387336730957	0.0	0.0	0.0	898
+-899	0.00364398956298828	0.00999999999999979	0.00999999999999979	0.0	899
+-900	0.00363802909851074	0.0	0.0	0.0	900
+-901	0.00359702110290527	0.0	0.0	0.0	901
+-902	0.00368213653564453	0.00999999999999979	0.00999999999999979	0.0	902
+-903	0.00368189811706543	0.0	0.0	0.0	903
+-904	0.0309450626373291	0.0299999999999994	0.0299999999999994	0.0	904
+-905	0.00368690490722656	0.0	0.0	0.0	905
+-906	0.00371503829956055	0.00999999999999979	0.00999999999999979	0.0	906
+-907	0.00382113456726074	0.0	0.0	0.0	907
+-908	0.00382494926452637	0.0100000000000016	0.0100000000000016	0.0	908
+-909	0.00365877151489258	0.0	0.0	0.0	909
+-910	0.00371003150939941	0.0	0.0	0.0	910
+-911	0.00370597839355469	0.00999999999999979	0.00999999999999979	0.0	911
+-912	0.00368905067443848	0.0	0.0	0.0	912
+-913	0.00370502471923828	0.0	0.0	0.0	913
+-914	0.00374197959899902	0.00999999999999979	0.00999999999999979	0.0	914
+-915	0.00374484062194824	0.0	0.0	0.0	915
+-916	0.00371503829956055	0.00999999999999979	0.00999999999999979	0.0	916
+-917	0.00371503829956055	0.0	0.0	0.0	917
+-918	0.00377702713012695	0.0	0.0	0.0	918
+-919	0.00374889373779297	0.00999999999999979	0.00999999999999979	0.0	919
+-920	0.00369787216186523	0.0	0.0	0.0	920
+-921	0.00368094444274902	0.0	0.0	0.0	921
+-922	0.00360298156738281	0.0	0.0	0.0	922
+-923	0.00363612174987793	0.0	0.0	0.0	923
+-924	0.00366091728210449	0.00999999999999979	0.00999999999999979	0.0	924
+-925	0.00364089012145996	0.0	0.0	0.0	925
+-926	0.0036780834197998	0.0	0.0	0.0	926
+-927	0.00362300872802734	0.00999999999999979	0.00999999999999979	0.0	927
+-928	0.00365400314331055	0.0	0.0	0.0	928
+-929	0.00363397598266602	0.0	0.0	0.0	929
+-930	0.00364303588867188	0.0100000000000016	0.0100000000000016	0.0	930
+-931	0.00363302230834961	0.0	0.0	0.0	931
+-932	0.0036160945892334	0.00999999999999979	0.00999999999999979	0.0	932
+-933	0.00370216369628906	0.0	0.0	0.0	933
+-934	0.00365400314331055	0.0	0.0	0.0	934
+-935	0.00365090370178223	0.00999999999999979	0.00999999999999979	0.0	935
+-936	0.00369095802307129	0.0	0.0	0.0	936
+-937	0.00361013412475586	0.0	0.0	0.0	937
+-938	0.00361990928649902	0.00999999999999979	0.00999999999999979	0.0	938
+-939	0.0036778450012207	0.0	0.0	0.0	939
+-940	0.00370097160339355	0.00999999999999979	0.00999999999999979	0.0	940
+-941	0.0296061038970947	0.0199999999999996	0.0199999999999996	0.0	941
+-942	0.00377488136291504	0.00999999999999979	0.00999999999999979	0.0	942
+-943	0.00529098510742188	0.0	0.0	0.0	943
+-944	0.0046539306640625	0.0100000000000016	0.0100000000000016	0.0	944
+-945	0.00372815132141113	0.0	0.0	0.0	945
+-946	0.00383687019348145	0.00999999999999979	0.00999999999999979	0.0	946
+-947	0.00372600555419922	0.0	0.0	0.0	947
+-948	0.00372004508972168	0.0	0.0	0.0	948
+-949	0.00370407104492188	0.00999999999999979	0.00999999999999979	0.0	949
+-950	0.00370383262634277	0.0	0.0	0.0	950
+-951	0.0037238597869873	0.00999999999999979	0.00999999999999979	0.0	951
+-952	0.00373983383178711	0.00999999999999979	0.0	0.01	952
+-953	0.00368404388427734	0.0	0.0	0.0	953
+-954	0.00569581985473633	0.00999999999999979	0.00999999999999979	0.0	954
+-955	0.00375699996948242	0.0	0.0	0.0	955
+-956	0.00373697280883789	0.0	0.0	0.0	956
+-957	0.00367903709411621	0.00999999999999979	0.00999999999999979	0.0	957
+-958	0.00369405746459961	0.0	0.0	0.0	958
+-959	0.00399684906005859	0.00999999999999979	0.00999999999999979	0.0	959
+-960	0.00383996963500977	0.0	0.0	0.0	960
+-961	0.00363612174987793	0.0	0.0	0.0	961
+-962	0.00361013412475586	0.00999999999999979	0.00999999999999979	0.0	962
+-963	0.00373411178588867	0.0	0.0	0.0	963
+-964	0.00365495681762695	0.0	0.0	0.0	964
+-965	0.0036311149597168	0.00999999999999979	0.00999999999999979	0.0	965
+-966	0.00362300872802734	0.0	0.0	0.0	966
+-967	0.00367403030395508	0.0100000000000016	0.0100000000000016	0.0	967
+-968	0.00365304946899414	0.0	0.0	0.0	968
+-969	0.00368213653564453	0.0	0.0	0.0	969
+-970	0.0036468505859375	0.00999999999999979	0.00999999999999979	0.0	970
+-971	0.00365900993347168	0.0	0.0	0.0	971
+-972	0.00365519523620605	0.0	0.0	0.0	972
+-973	0.00365710258483887	0.00999999999999979	0.00999999999999979	0.0	973
+-974	0.00362801551818848	0.0	0.0	0.0	974
+-975	0.00365090370178223	0.0	0.0	0.0	975
+-976	0.00363993644714355	0.0	0.0	0.0	976
+-977	0.00367403030395508	0.0	0.0	0.0	977
+-978	0.0291531085968018	0.0299999999999994	0.0299999999999994	0.0	978
+-979	0.00371599197387695	0.00999999999999979	0.00999999999999979	0.0	979
+-980	0.00370097160339355	0.0	0.0	0.0	980
+-981	0.00372910499572754	0.0	0.0	0.0	981
+-982	0.00373220443725586	0.0100000000000016	0.0100000000000016	0.0	982
+-983	0.00378298759460449	0.0	0.0	0.0	983
+-984	0.00374412536621094	0.0	0.0	0.0	984
+-985	0.00372099876403809	0.00999999999999979	0.00999999999999979	0.0	985
+-986	0.00369501113891602	0.0	0.0	0.0	986
+-987	0.0042259693145752	0.00999999999999979	0.00999999999999979	0.0	987
+-988	0.00376200675964355	0.0	0.0	0.0	988
+-989	0.00373697280883789	0.0	0.0	0.0	989
+-990	0.00372409820556641	0.00999999999999979	0.00999999999999979	0.0	990
+-991	0.00370192527770996	0.0	0.0	0.0	991
+-992	0.00368189811706543	0.0	0.0	0.0	992
+-993	0.00370502471923828	0.00999999999999979	0.00999999999999979	0.0	993
+-994	0.00371217727661133	0.0	0.0	0.0	994
+-995	0.0036919116973877	0.00999999999999979	0.00999999999999979	0.0	995
+-996	0.00366711616516113	0.0	0.0	0.0	996
+-997	0.00371313095092773	0.0	0.0	0.0	997
+-998	0.00365209579467773	0.00999999999999979	0.00999999999999979	0.0	998
+-999	0.00362896919250488	0.0	0.0	0.0	999
+-1000	0.00367307662963867	0.0	0.0	0.0	1000
+diff --git a/lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkYAML.log b/lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkYAML.log
+deleted file mode 100644
+index d8a6aa3..0000000
+--- a/lib/mcollective/vendor/json/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkYAML.log
++++ /dev/null
+@@ -1,82 +0,0 @@
+-========================== 2009-04-01T16:46:41 CEST ===========================
+-Benchmarking on ruby 1.8.6 (2008-08-11 patchlevel 287) [i686-linux].
+-Running 'ParserBenchmarkYAML' for 1000 iterations/method (compare_time=real)
+-===============================================================================
+-
+-This first run is only for warmup.
+-ParserBenchmarkYAML#parser:
+-                  real             total              user            system 
+-sum        4.506546021       4.490000000       4.480000000       0.010000000 
+-min        0.003598928       0.000000000       0.000000000       0.000000000 
+-std-       0.000288588      -0.001817113      -0.001826296      -0.000306228 
+-mean       0.004506546       0.004490000       0.004480000       0.000010000 
+-std+       0.008724504       0.010797113       0.010786296       0.000326228 
+-max        0.042540073       0.040000000       0.040000000       0.010000000 
+-std        0.004217958       0.006307113       0.006306296       0.000316228 
+-std%      93.596247306     140.470232048     140.765535944    3162.277660168 
+-harm       0.003882332               nan               nan               nan 
+-geo        0.004019118       0.000000000       0.000000000       0.000000000 
+-q1         0.003660917       0.000000000       0.000000000       0.000000000 
+-med        0.003705978       0.000000000       0.000000000       0.000000000 
+-q3         0.003748715       0.010000000       0.010000000       0.000000000 
+-                  1000         221.89943       0.004506546
+-                 calls         calls/sec         secs/call
+-
+-    0.04059 -|
+-    0.03670 -|
+-    0.03280 -|
+-    0.02891 -|*
+-    0.02502 -|
+-    0.02112 -|
+-    0.01723 -|
+-    0.01333 -|
+-    0.00944 -|
+-    0.00555 -|**************************************************
+-
+-Outliers detected with box plot algo (median=0.00371, iqr=0.00009, factor=3.00):
+-high=56 very_high=119
+-
+-Ljung-Box statistics: q=433.20488 (alpha=0.05, df=50).
+-1.00000 >= 0.95000 => Autocorrelation was detected.
+-
+-ParserBenchmarkYAML#parser:
+-                  real             total              user            system 
+-sum        4.454077959       4.430000000       4.420000000       0.010000000 
+-min        0.003582954       0.000000000       0.000000000       0.000000000 
+-std-       0.000263948      -0.001903657      -0.001912749      -0.000306228 
+-mean       0.004454078       0.004430000       0.004420000       0.000010000 
+-std+       0.008644208       0.010763657       0.010752749       0.000326228 
+-max        0.035927057       0.040000000       0.040000000       0.010000000 
+-std        0.004190130       0.006333657       0.006332749       0.000316228 
+-std%      94.074019869     142.971948832     143.274853190    3162.277660168 
+-harm       0.003836471               nan               nan               nan 
+-geo        0.003968258       0.000000000       0.000000000       0.000000000 
+-q1         0.003650367       0.000000000       0.000000000       0.000000000 
+-med        0.003690004       0.000000000       0.000000000       0.000000000 
+-q3         0.003731966       0.010000000       0.010000000       0.000000000 
+-                  1000         224.51336       0.004454078
+-                 calls         calls/sec         secs/call
+-
+-    0.03431 -|
+-    0.03108 -|*
+-    0.02784 -|*
+-    0.02461 -|
+-    0.02137 -|
+-    0.01814 -|
+-    0.01490 -|
+-    0.01167 -|
+-    0.00843 -|
+-    0.00520 -|**************************************************
+-
+-Outliers detected with box plot algo (median=0.00369, iqr=0.00008, factor=3.00):
+-high=58 very_high=100
+-
+-Ljung-Box statistics: q=451.12745 (alpha=0.05, df=50).
+-1.00000 >= 0.95000 => Autocorrelation was detected.
+-
+-No initial data truncated.
+- => System may have been in a steady state from the beginning.
+-========================== 2009-04-01T16:46:54 CEST ===========================
+-
+-Writing measurement data file '/data/scm/json/benchmarks/data/ParserBenchmarkYAML#parser.dat'.
+-Writing autocorrelation plot file '/data/scm/json/benchmarks/data/ParserBenchmarkYAML#parser-autocorrelation.dat'.
+diff --git a/lib/mcollective/vendor/json/benchmarks/data/.keep b/lib/mcollective/vendor/json/benchmarks/data/.keep
+deleted file mode 100644
+index e69de29..0000000
+diff --git a/lib/mcollective/vendor/json/benchmarks/generator2_benchmark.rb b/lib/mcollective/vendor/json/benchmarks/generator2_benchmark.rb
+deleted file mode 100755
+index 9885143..0000000
+--- a/lib/mcollective/vendor/json/benchmarks/generator2_benchmark.rb
++++ /dev/null
+@@ -1,222 +0,0 @@
+-#!/usr/bin/env ruby
+-# CODING: UTF-8
+-
+-require 'rbconfig'
+-RUBY_PATH=File.join(Config::CONFIG['bindir'], Config::CONFIG['ruby_install_name'])
+-RAKE_PATH=File.join(Config::CONFIG['bindir'], 'rake')
+-require 'bullshit'
+-case ARGV.first
+-when 'ext'
+-  require 'json/ext'
+-when 'pure'
+-  require 'json/pure'
+-when 'rails'
+-  require 'active_support'
+-when 'yajl'
+-  require 'yajl'
+-  require 'yajl/json_gem'
+-  require 'stringio'
+-end
+-
+-module JSON
+-  def self.[](*) end
+-end
+-
+-module Generator2BenchmarkCommon
+-  include JSON
+-
+-  def setup
+-    @big = eval File.read(File.join(File.dirname(__FILE__), 'ohai.ruby'))
+-  end
+-
+-  def generic_reset_method
+-    @result and @result.size >= 16 or raise @result.to_s
+-  end
+-end
+-
+-module JSONGeneratorCommon
+-  include Generator2BenchmarkCommon
+-
+-  def benchmark_generator_fast
+-    @result = JSON.fast_generate(@big)
+-  end
+-
+-  alias reset_benchmark_generator_fast generic_reset_method
+-
+-  def benchmark_generator_safe
+-    @result = JSON.generate(@big)
+-  end
+-
+-  alias reset_benchmark_generator_safe generic_reset_method
+-
+-  def benchmark_generator_pretty
+-    @result = JSON.pretty_generate(@big)
+-  end
+-
+-  alias reset_benchmark_generator_pretty generic_reset_method
+-
+-  def benchmark_generator_ascii
+-    @result = JSON.generate(@big, :ascii_only => true)
+-  end
+-
+-  alias reset_benchmark_generator_ascii generic_reset_method
+-end
+-
+-class Generator2BenchmarkExt < Bullshit::RepeatCase
+-  include JSONGeneratorCommon
+-
+-  warmup      yes
+-  iterations  2000
+-
+-  truncate_data do
+-    enabled false
+-    alpha_level 0.05
+-    window_size 50
+-    slope_angle 0.1
+-  end
+-
+-  autocorrelation do
+-    alpha_level 0.05
+-    max_lags    50
+-    file        yes
+-  end
+-
+-
+-  output_dir File.join(File.dirname(__FILE__), 'data')
+-  output_filename benchmark_name + '.log'
+-  data_file yes
+-  histogram yes
+-end
+-
+-class Generator2BenchmarkPure < Bullshit::RepeatCase
+-  include JSONGeneratorCommon
+-
+-  warmup      yes
+-  iterations  400
+-
+-  truncate_data do
+-    enabled false
+-    alpha_level 0.05
+-    window_size 50
+-    slope_angle 0.1
+-  end
+-
+-  autocorrelation do
+-    alpha_level 0.05
+-    max_lags    50
+-    file        yes
+-  end
+-
+-  output_dir File.join(File.dirname(__FILE__), 'data')
+-  output_filename benchmark_name + '.log'
+-  data_file yes
+-  histogram yes
+-end
+-
+-class Generator2BenchmarkRails < Bullshit::RepeatCase
+-  include Generator2BenchmarkCommon
+-
+-  warmup      yes
+-  iterations  400
+-
+-  truncate_data do
+-    enabled false
+-    alpha_level 0.05
+-    window_size 50
+-    slope_angle 0.1
+-  end
+-
+-  autocorrelation do
+-    alpha_level 0.05
+-    max_lags    50
+-    file        yes
+-  end
+-
+-  output_dir File.join(File.dirname(__FILE__), 'data')
+-  output_filename benchmark_name + '.log'
+-  data_file yes
+-  histogram yes
+-
+-  def benchmark_generator
+-    @result = ActiveSupport::JSON.encode @big
+-  end
+-
+-  alias reset_benchmark_generator generic_reset_method
+-end
+-
+-class Generator2BenchmarkYajl < Bullshit::RepeatCase
+-  include Generator2BenchmarkCommon
+-
+-  warmup      yes
+-  iterations  2000
+-
+-  truncate_data do
+-    enabled false
+-    alpha_level 0.05
+-    window_size 50
+-    slope_angle 0.1
+-  end
+-
+-  autocorrelation do
+-    alpha_level 0.05
+-    max_lags    50
+-    file        yes
+-  end
+-
+-  output_dir File.join(File.dirname(__FILE__), 'data')
+-  output_filename benchmark_name + '.log'
+-  data_file yes
+-  histogram yes
+-
+-  def benchmark_generator
+-    output = StringIO.new
+-    Yajl::Encoder.new.encode(@big, output)
+-    @result = output.string
+-  end
+-
+-  def benchmark_generator_gem_api
+-    @result = @big.to_json
+-  end
+-
+-  def reset_benchmark_generator
+-    generic_reset_method
+-  end
+-end
+-
+-if $0 == __FILE__
+-  Bullshit::Case.autorun false
+-
+-  case ARGV.first
+-  when 'ext'
+-    Generator2BenchmarkExt.run
+-  when 'pure'
+-    Generator2BenchmarkPure.run
+-  when 'rails'
+-    Generator2BenchmarkRails.run
+-  when 'yajl'
+-    Generator2BenchmarkYajl.run
+-  else
+-    system "#{RAKE_PATH} clean"
+-    system "#{RUBY_PATH} #$0 rails"
+-    system "#{RUBY_PATH} #$0 pure"
+-    system "#{RAKE_PATH} compile_ext"
+-    system "#{RUBY_PATH} #$0 ext"
+-    system "#{RUBY_PATH} #$0 yajl"
+-    Bullshit.compare do
+-      output_filename File.join(File.dirname(__FILE__), 'data', 'Generator2BenchmarkComparison.log')
+-
+-      benchmark Generator2BenchmarkExt,    :generator_fast,    :load => yes
+-      benchmark Generator2BenchmarkExt,    :generator_safe,    :load => yes
+-      benchmark Generator2BenchmarkExt,    :generator_pretty,  :load => yes
+-      benchmark Generator2BenchmarkExt,    :generator_ascii,   :load => yes
+-      benchmark Generator2BenchmarkPure,   :generator_fast,    :load => yes
+-      benchmark Generator2BenchmarkPure,   :generator_safe,    :load => yes
+-      benchmark Generator2BenchmarkPure,   :generator_pretty,  :load => yes
+-      benchmark Generator2BenchmarkPure,   :generator_ascii,   :load => yes
+-      benchmark Generator2BenchmarkRails,  :generator,         :load => yes
+-      benchmark Generator2BenchmarkYajl,   :generator,         :load => yes
+-      benchmark Generator2BenchmarkYajl,   :generator_gem_api, :load => yes
+-    end
+-  end
+-end
+-
+diff --git a/lib/mcollective/vendor/json/benchmarks/generator_benchmark.rb b/lib/mcollective/vendor/json/benchmarks/generator_benchmark.rb
+deleted file mode 100755
+index 83fa577..0000000
+--- a/lib/mcollective/vendor/json/benchmarks/generator_benchmark.rb
++++ /dev/null
+@@ -1,224 +0,0 @@
+-#!/usr/bin/env ruby
+-# CODING: UTF-8
+-
+-require 'rbconfig'
+-RUBY_PATH=File.join(Config::CONFIG['bindir'], Config::CONFIG['ruby_install_name'])
+-RAKE_PATH=File.join(Config::CONFIG['bindir'], 'rake')
+-require 'bullshit'
+-case ARGV.first
+-when 'ext'
+-  require 'json/ext'
+-when 'pure'
+-  require 'json/pure'
+-when 'rails'
+-  require 'active_support'
+-when 'yajl'
+-  require 'yajl'
+-  require 'yajl/json_gem'
+-  require 'stringio'
+-end
+-
+-module JSON
+-  def self.[](*) end
+-end
+-
+-module GeneratorBenchmarkCommon
+-  include JSON
+-
+-  def setup
+-    a = [ nil, false, true, "fÖßÄr", [ "n€st€d", true ], { "fooß" => "bär", "quux" => true } ]
+-    puts a.to_json if a.respond_to?(:to_json)
+-    @big = a * 100
+-  end
+-
+-  def generic_reset_method
+-    @result and @result.size > 2 + 6 * @big.size or raise @result.to_s
+-  end
+-end
+-
+-module JSONGeneratorCommon
+-  include GeneratorBenchmarkCommon
+-
+-  def benchmark_generator_fast
+-    @result = JSON.fast_generate(@big)
+-  end
+-
+-  alias reset_benchmark_generator_fast generic_reset_method
+-
+-  def benchmark_generator_safe
+-    @result = JSON.generate(@big)
+-  end
+-
+-  alias reset_benchmark_generator_safe generic_reset_method
+-
+-  def benchmark_generator_pretty
+-    @result = JSON.pretty_generate(@big)
+-  end
+-
+-  alias reset_benchmark_generator_pretty generic_reset_method
+-
+-  def benchmark_generator_ascii
+-    @result = JSON.generate(@big, :ascii_only => true)
+-  end
+-
+-  alias reset_benchmark_generator_ascii generic_reset_method
+-end
+-
+-class GeneratorBenchmarkExt < Bullshit::RepeatCase
+-  include JSONGeneratorCommon
+-
+-  warmup      yes
+-  iterations  2000
+-
+-  truncate_data do
+-    enabled false
+-    alpha_level 0.05
+-    window_size 50
+-    slope_angle 0.1
+-  end
+-
+-  autocorrelation do
+-    alpha_level 0.05
+-    max_lags    50
+-    file        yes
+-  end
+-
+-
+-  output_dir File.join(File.dirname(__FILE__), 'data')
+-  output_filename benchmark_name + '.log'
+-  data_file yes
+-  histogram yes
+-end
+-
+-class GeneratorBenchmarkPure < Bullshit::RepeatCase
+-  include JSONGeneratorCommon
+-
+-  warmup      yes
+-  iterations  400
+-
+-  truncate_data do
+-    enabled false
+-    alpha_level 0.05
+-    window_size 50
+-    slope_angle 0.1
+-  end
+-
+-  autocorrelation do
+-    alpha_level 0.05
+-    max_lags    50
+-    file        yes
+-  end
+-
+-  output_dir File.join(File.dirname(__FILE__), 'data')
+-  output_filename benchmark_name + '.log'
+-  data_file yes
+-  histogram yes
+-end
+-
+-class GeneratorBenchmarkRails < Bullshit::RepeatCase
+-  include GeneratorBenchmarkCommon
+-
+-  warmup      yes
+-  iterations  400
+-
+-  truncate_data do
+-    enabled false
+-    alpha_level 0.05
+-    window_size 50
+-    slope_angle 0.1
+-  end
+-
+-  autocorrelation do
+-    alpha_level 0.05
+-    max_lags    50
+-    file        yes
+-  end
+-
+-  output_dir File.join(File.dirname(__FILE__), 'data')
+-  output_filename benchmark_name + '.log'
+-  data_file yes
+-  histogram yes
+-
+-  def benchmark_generator
+-    @result = ActiveSupport::JSON.encode @big
+-  end
+-
+-  alias reset_benchmark_generator generic_reset_method
+-end
+-
+-class GeneratorBenchmarkYajl < Bullshit::RepeatCase
+-  include GeneratorBenchmarkCommon
+-
+-  warmup      yes
+-  iterations  2000
+-
+-  truncate_data do
+-    enabled false
+-    alpha_level 0.05
+-    window_size 50
+-    slope_angle 0.1
+-  end
+-
+-  autocorrelation do
+-    alpha_level 0.05
+-    max_lags    50
+-    file        yes
+-  end
+-
+-  output_dir File.join(File.dirname(__FILE__), 'data')
+-  output_filename benchmark_name + '.log'
+-  data_file yes
+-  histogram yes
+-
+-  def benchmark_generator
+-    output = StringIO.new
+-    Yajl::Encoder.new.encode(@big, output)
+-    @result = output.string
+-  end
+-
+-  def benchmark_generator_gem_api
+-    @result = @big.to_json
+-  end
+-
+-  def reset_benchmark_generator
+-    generic_reset_method
+-  end
+-end
+-
+-if $0 == __FILE__
+-  Bullshit::Case.autorun false
+-
+-  case ARGV.first
+-  when 'ext'
+-    GeneratorBenchmarkExt.run
+-  when 'pure'
+-    GeneratorBenchmarkPure.run
+-  when 'rails'
+-    GeneratorBenchmarkRails.run
+-  when 'yajl'
+-    GeneratorBenchmarkYajl.run
+-  else
+-    system "#{RAKE_PATH} clean"
+-    system "#{RUBY_PATH} #$0 rails"
+-    system "#{RUBY_PATH} #$0 pure"
+-    system "#{RAKE_PATH} compile_ext"
+-    system "#{RUBY_PATH} #$0 ext"
+-    system "#{RUBY_PATH} #$0 yajl"
+-    Bullshit.compare do
+-      output_filename File.join(File.dirname(__FILE__), 'data', 'GeneratorBenchmarkComparison.log')
+-
+-      benchmark GeneratorBenchmarkExt,    :generator_fast,    :load => yes
+-      benchmark GeneratorBenchmarkExt,    :generator_safe,    :load => yes
+-      benchmark GeneratorBenchmarkExt,    :generator_pretty,  :load => yes
+-      benchmark GeneratorBenchmarkExt,    :generator_ascii,    :load => yes
+-      benchmark GeneratorBenchmarkPure,   :generator_fast,    :load => yes
+-      benchmark GeneratorBenchmarkPure,   :generator_safe,    :load => yes
+-      benchmark GeneratorBenchmarkPure,   :generator_pretty,  :load => yes
+-      benchmark GeneratorBenchmarkPure,   :generator_ascii,   :load => yes
+-      benchmark GeneratorBenchmarkRails,  :generator,         :load => yes
+-      benchmark GeneratorBenchmarkYajl,   :generator,         :load => yes
+-      benchmark GeneratorBenchmarkYajl,   :generator_gem_api, :load => yes
+-    end
+-  end
+-end
+-
+diff --git a/lib/mcollective/vendor/json/benchmarks/ohai.json b/lib/mcollective/vendor/json/benchmarks/ohai.json
+deleted file mode 100644
+index 584bdbd..0000000
+--- a/lib/mcollective/vendor/json/benchmarks/ohai.json
++++ /dev/null
+@@ -1,1216 +0,0 @@
+-{
+-  "command": {
+-    "ps": "ps -ef"
+-  },
+-  "kernel": {
+-    "modules": {
+-      "org.virtualbox.kext.VBoxDrv": {
+-        "size": 118784,
+-        "version": "2.2.0",
+-        "index": "114",
+-        "refcount": "3"
+-      },
+-      "com.cisco.nke.ipsec": {
+-        "size": 454656,
+-        "version": "2.0.1",
+-        "index": "111",
+-        "refcount": "0"
+-      },
+-      "com.apple.driver.AppleAPIC": {
+-        "size": 12288,
+-        "version": "1.4",
+-        "index": "26",
+-        "refcount": "0"
+-      },
+-      "com.apple.driver.AirPort.Atheros": {
+-        "size": 593920,
+-        "version": "318.8.3",
+-        "index": "88",
+-        "refcount": "0"
+-      },
+-      "com.apple.driver.AppleIntelCPUPowerManagement": {
+-        "size": 102400,
+-        "version": "59.0.1",
+-        "index": "22",
+-        "refcount": "0"
+-      },
+-      "com.apple.iokit.IOStorageFamily": {
+-        "size": 98304,
+-        "version": "1.5.5",
+-        "index": "44",
+-        "refcount": "9"
+-      },
+-      "com.apple.iokit.IOATAPIProtocolTransport": {
+-        "size": 16384,
+-        "version": "1.5.2",
+-        "index": "52",
+-        "refcount": "0"
+-      },
+-      "com.apple.iokit.IOPCIFamily": {
+-        "size": 65536,
+-        "version": "2.5",
+-        "index": "17",
+-        "refcount": "18"
+-      },
+-      "com.apple.driver.AppleHPET": {
+-        "size": 12288,
+-        "version": "1.3",
+-        "index": "33",
+-        "refcount": "0"
+-      },
+-      "com.apple.driver.AppleUSBHub": {
+-        "size": 49152,
+-        "version": "3.2.7",
+-        "index": "47",
+-        "refcount": "0"
+-      },
+-      "com.apple.iokit.IOFireWireFamily": {
+-        "size": 258048,
+-        "version": "3.4.6",
+-        "index": "49",
+-        "refcount": "2"
+-      },
+-      "com.apple.driver.AppleUSBComposite": {
+-        "size": 16384,
+-        "version": "3.2.0",
+-        "index": "60",
+-        "refcount": "1"
+-      },
+-      "com.apple.driver.AppleIntelPIIXATA": {
+-        "size": 36864,
+-        "version": "2.0.0",
+-        "index": "41",
+-        "refcount": "0"
+-      },
+-      "com.apple.driver.AppleSmartBatteryManager": {
+-        "size": 28672,
+-        "version": "158.6.0",
+-        "index": "32",
+-        "refcount": "0"
+-      },
+-      "com.apple.filesystems.udf": {
+-        "size": 233472,
+-        "version": "2.0.2",
+-        "index": "119",
+-        "refcount": "0"
+-      },
+-      "com.apple.iokit.IOSMBusFamily": {
+-        "size": 12288,
+-        "version": "1.1",
+-        "index": "27",
+-        "refcount": "2"
+-      },
+-      "com.apple.iokit.IOACPIFamily": {
+-        "size": 16384,
+-        "version": "1.2.0",
+-        "index": "18",
+-        "refcount": "10"
+-      },
+-      "foo.tap": {
+-        "size": 24576,
+-        "version": "1.0",
+-        "index": "113",
+-        "refcount": "0"
+-      },
+-      "com.vmware.kext.vmx86": {
+-        "size": 864256,
+-        "version": "2.0.4",
+-        "index": "104",
+-        "refcount": "0"
+-      },
+-      "com.apple.iokit.CHUDUtils": {
+-        "size": 28672,
+-        "version": "200",
+-        "index": "98",
+-        "refcount": "0"
+-      },
+-      "org.virtualbox.kext.VBoxNetAdp": {
+-        "size": 8192,
+-        "version": "2.2.0",
+-        "index": "117",
+-        "refcount": "0"
+-      },
+-      "com.apple.filesystems.autofs": {
+-        "size": 45056,
+-        "version": "2.0.1",
+-        "index": "109",
+-        "refcount": "0"
+-      },
+-      "com.vmware.kext.vmnet": {
+-        "size": 36864,
+-        "version": "2.0.4",
+-        "index": "108",
+-        "refcount": "0"
+-      },
+-      "com.apple.driver.AppleACPIButtons": {
+-        "size": 16384,
+-        "version": "1.2.4",
+-        "index": "30",
+-        "refcount": "0"
+-      },
+-      "com.apple.driver.AppleFWOHCI": {
+-        "size": 139264,
+-        "version": "3.7.2",
+-        "index": "50",
+-        "refcount": "0"
+-      },
+-      "com.apple.iokit.IOSCSIArchitectureModelFamily": {
+-        "size": 102400,
+-        "version": "2.0.5",
+-        "index": "51",
+-        "refcount": "4"
+-      },
+-      "com.apple.iokit.IOSCSIBlockCommandsDevice": {
+-        "size": 90112,
+-        "version": "2.0.5",
+-        "index": "57",
+-        "refcount": "1"
+-      },
+-      "com.apple.driver.AppleACPIPCI": {
+-        "size": 12288,
+-        "version": "1.2.4",
+-        "index": "31",
+-        "refcount": "0"
+-      },
+-      "com.apple.security.seatbelt": {
+-        "size": 98304,
+-        "version": "107.10",
+-        "index": "25",
+-        "refcount": "0"
+-      },
+-      "com.apple.driver.AppleUpstreamUserClient": {
+-        "size": 16384,
+-        "version": "2.7.2",
+-        "index": "100",
+-        "refcount": "0"
+-      },
+-      "com.apple.kext.OSvKernDSPLib": {
+-        "size": 12288,
+-        "version": "1.1",
+-        "index": "79",
+-        "refcount": "1"
+-      },
+-      "com.apple.iokit.IOBDStorageFamily": {
+-        "size": 20480,
+-        "version": "1.5",
+-        "index": "58",
+-        "refcount": "1"
+-      },
+-      "com.apple.iokit.IOGraphicsFamily": {
+-        "size": 118784,
+-        "version": "1.7.1",
+-        "index": "70",
+-        "refcount": "5"
+-      },
+-      "com.apple.iokit.IONetworkingFamily": {
+-        "size": 90112,
+-        "version": "1.6.1",
+-        "index": "82",
+-        "refcount": "4"
+-      },
+-      "com.apple.iokit.IOATAFamily": {
+-        "size": 53248,
+-        "version": "2.0.0",
+-        "index": "40",
+-        "refcount": "2"
+-      },
+-      "com.apple.iokit.IOUSBHIDDriver": {
+-        "size": 20480,
+-        "version": "3.2.2",
+-        "index": "63",
+-        "refcount": "2"
+-      },
+-      "org.virtualbox.kext.VBoxUSB": {
+-        "size": 28672,
+-        "version": "2.2.0",
+-        "index": "115",
+-        "refcount": "0"
+-      },
+-      "com.vmware.kext.vmioplug": {
+-        "size": 24576,
+-        "version": "2.0.4",
+-        "index": "107",
+-        "refcount": "0"
+-      },
+-      "com.apple.security.TMSafetyNet": {
+-        "size": 12288,
+-        "version": "3",
+-        "index": "23",
+-        "refcount": "0"
+-      },
+-      "com.apple.iokit.IONDRVSupport": {
+-        "size": 57344,
+-        "version": "1.7.1",
+-        "index": "71",
+-        "refcount": "3"
+-      },
+-      "com.apple.BootCache": {
+-        "size": 20480,
+-        "version": "30.3",
+-        "index": "20",
+-        "refcount": "0"
+-      },
+-      "com.apple.iokit.IOUSBUserClient": {
+-        "size": 8192,
+-        "version": "3.2.4",
+-        "index": "46",
+-        "refcount": "1"
+-      },
+-      "com.apple.iokit.IOSCSIMultimediaCommandsDevice": {
+-        "size": 90112,
+-        "version": "2.0.5",
+-        "index": "59",
+-        "refcount": "0"
+-      },
+-      "com.apple.driver.AppleIRController": {
+-        "size": 20480,
+-        "version": "110",
+-        "index": "78",
+-        "refcount": "0"
+-      },
+-      "com.apple.driver.AudioIPCDriver": {
+-        "size": 16384,
+-        "version": "1.0.5",
+-        "index": "81",
+-        "refcount": "0"
+-      },
+-      "org.virtualbox.kext.VBoxNetFlt": {
+-        "size": 16384,
+-        "version": "2.2.0",
+-        "index": "116",
+-        "refcount": "0"
+-      },
+-      "com.apple.driver.AppleLPC": {
+-        "size": 12288,
+-        "version": "1.2.11",
+-        "index": "73",
+-        "refcount": "0"
+-      },
+-      "com.apple.iokit.CHUDKernLib": {
+-        "size": 20480,
+-        "version": "196",
+-        "index": "93",
+-        "refcount": "2"
+-      },
+-      "com.apple.iokit.CHUDProf": {
+-        "size": 49152,
+-        "version": "207",
+-        "index": "97",
+-        "refcount": "0"
+-      },
+-      "com.apple.NVDAResman": {
+-        "size": 2478080,
+-        "version": "5.3.6",
+-        "index": "90",
+-        "refcount": "2"
+-      },
+-      "com.apple.driver.AppleACPIEC": {
+-        "size": 20480,
+-        "version": "1.2.4",
+-        "index": "28",
+-        "refcount": "0"
+-      },
+-      "foo.tun": {
+-        "size": 24576,
+-        "version": "1.0",
+-        "index": "118",
+-        "refcount": "0"
+-      },
+-      "com.apple.iokit.IOSerialFamily": {
+-        "size": 36864,
+-        "version": "9.3",
+-        "index": "102",
+-        "refcount": "1"
+-      },
+-      "com.apple.GeForce": {
+-        "size": 622592,
+-        "version": "5.3.6",
+-        "index": "96",
+-        "refcount": "0"
+-      },
+-      "com.apple.iokit.IOCDStorageFamily": {
+-        "size": 32768,
+-        "version": "1.5",
+-        "index": "55",
+-        "refcount": "3"
+-      },
+-      "com.apple.driver.AppleUSBEHCI": {
+-        "size": 73728,
+-        "version": "3.2.5",
+-        "index": "39",
+-        "refcount": "0"
+-      },
+-      "com.apple.nvidia.nv50hal": {
+-        "size": 2445312,
+-        "version": "5.3.6",
+-        "index": "91",
+-        "refcount": "0"
+-      },
+-      "com.apple.driver.AppleSMBIOS": {
+-        "size": 16384,
+-        "version": "1.1.1",
+-        "index": "29",
+-        "refcount": "0"
+-      },
+-      "com.apple.driver.AppleBacklight": {
+-        "size": 16384,
+-        "version": "1.4.4",
+-        "index": "72",
+-        "refcount": "0"
+-      },
+-      "com.apple.driver.AppleACPIPlatform": {
+-        "size": 253952,
+-        "version": "1.2.4",
+-        "index": "19",
+-        "refcount": "3"
+-      },
+-      "com.apple.iokit.SCSITaskUserClient": {
+-        "size": 24576,
+-        "version": "2.0.5",
+-        "index": "54",
+-        "refcount": "0"
+-      },
+-      "com.apple.iokit.IOHIDFamily": {
+-        "size": 233472,
+-        "version": "1.5.3",
+-        "index": "21",
+-        "refcount": "7"
+-      },
+-      "com.apple.driver.DiskImages": {
+-        "size": 65536,
+-        "version": "195.2.2",
+-        "index": "101",
+-        "refcount": "0"
+-      },
+-      "com.apple.iokit.IODVDStorageFamily": {
+-        "size": 24576,
+-        "version": "1.5",
+-        "index": "56",
+-        "refcount": "2"
+-      },
+-      "com.apple.driver.XsanFilter": {
+-        "size": 20480,
+-        "version": "2.7.91",
+-        "index": "53",
+-        "refcount": "0"
+-      },
+-      "com.apple.driver.AppleEFIRuntime": {
+-        "size": 12288,
+-        "version": "1.2.0",
+-        "index": "35",
+-        "refcount": "1"
+-      },
+-      "com.apple.driver.AppleRTC": {
+-        "size": 20480,
+-        "version": "1.2.3",
+-        "index": "34",
+-        "refcount": "0"
+-      },
+-      "com.apple.iokit.IOFireWireIP": {
+-        "size": 36864,
+-        "version": "1.7.6",
+-        "index": "83",
+-        "refcount": "0"
+-      },
+-      "com.vmware.kext.vmci": {
+-        "size": 45056,
+-        "version": "2.0.4",
+-        "index": "106",
+-        "refcount": "0"
+-      },
+-      "com.apple.iokit.IO80211Family": {
+-        "size": 126976,
+-        "version": "215.1",
+-        "index": "87",
+-        "refcount": "1"
+-      },
+-      "com.apple.nke.applicationfirewall": {
+-        "size": 32768,
+-        "version": "1.0.77",
+-        "index": "24",
+-        "refcount": "0"
+-      },
+-      "com.apple.iokit.IOAHCIBlockStorage": {
+-        "size": 69632,
+-        "version": "1.2.0",
+-        "index": "48",
+-        "refcount": "0"
+-      },
+-      "com.apple.driver.AppleUSBUHCI": {
+-        "size": 57344,
+-        "version": "3.2.5",
+-        "index": "38",
+-        "refcount": "0"
+-      },
+-      "com.apple.iokit.IOAHCIFamily": {
+-        "size": 24576,
+-        "version": "1.5.0",
+-        "index": "42",
+-        "refcount": "2"
+-      },
+-      "com.apple.driver.AppleAHCIPort": {
+-        "size": 53248,
+-        "version": "1.5.2",
+-        "index": "43",
+-        "refcount": "0"
+-      },
+-      "com.apple.driver.AppleEFINVRAM": {
+-        "size": 24576,
+-        "version": "1.2.0",
+-        "index": "36",
+-        "refcount": "0"
+-      },
+-      "com.apple.iokit.IOUSBFamily": {
+-        "size": 167936,
+-        "version": "3.2.7",
+-        "index": "37",
+-        "refcount": "13"
+-      },
+-      "com.apple.driver.AppleUSBMergeNub": {
+-        "size": 12288,
+-        "version": "3.2.4",
+-        "index": "61",
+-        "refcount": "0"
+-      }
+-    },
+-    "machine": "i386",
+-    "name": "Darwin",
+-    "os": "Darwin",
+-    "version": "Darwin Kernel Version 9.6.0: Mon Nov 24 17:37:00 PST 2008; root:xnu-1228.9.59~1\/RELEASE_I386",
+-    "release": "9.6.0"
+-  },
+-  "platform_version": "10.5.6",
+-  "platform": "mac_os_x",
+-  "ipaddress": "192.168.88.1",
+-  "keys": {
+-    "ssh": {
+-      "host_dsa_public": "private",
+-      "host_rsa_public": "private"
+-    }
+-  },
+-  "network": {
+-    "settings": {
+-      "net.inet6.ip6.forwarding": "0",
+-      "net.inet.ip.dummynet.debug": "0",
+-      "net.inet.ip.rtexpire": "10",
+-      "net.inet6.ipsec6.esp_trans_deflev": "1",
+-      "net.inet.tcp.tcbhashsize": "4096",
+-      "net.key.esp_auth": "0",
+-      "net.inet6.ip6.hlim": "64",
+-      "net.inet.ip.fw.dyn_fin_lifetime": "1",
+-      "net.inet.ip.fw.dyn_udp_lifetime": "10",
+-      "net.inet.icmp.bmcastecho": "1",
+-      "net.athforceBias": "2 2",
+-      "net.athbgscan": "1 1",
+-      "net.inet.tcp.reass.maxsegments": "2048",
+-      "net.inet6.ip6.auto_flowlabel": "1",
+-      "net.inet6.ip6.rtmaxcache": "128",
+-      "net.inet.tcp.sendspace": "131072",
+-      "net.inet.tcp.keepinit": "75000",
+-      "net.inet.ip.dummynet.max_chain_len": "16",
+-      "net.inet.tcp.rfc1644": "0",
+-      "net.inet.ip.fw.curr_dyn_buckets": "256",
+-      "net.inet.ip.dummynet.ready_heap": "0",
+-      "net.inet.ip.portrange.first": "49152",
+-      "net.inet.tcp.background_io_trigger": "5",
+-      "net.link.ether.inet.host_down_time": "20",
+-      "net.inet6.ipsec6.def_policy": "1",
+-      "net.inet6.ipsec6.ecn": "0",
+-      "net.inet.ip.fastforwarding": "0",
+-      "net.athaddbaignore": "0 0",
+-      "net.inet6.ip6.v6only": "0",
+-      "net.inet.tcp.sack": "1",
+-      "net.inet6.ip6.rtexpire": "3600",
+-      "net.link.ether.inet.proxyall": "0",
+-      "net.inet6.ip6.keepfaith": "0",
+-      "net.key.spi_trycnt": "1000",
+-      "net.link.ether.inet.prune_intvl": "300",
+-      "net.inet.tcp.ecn_initiate_out": "0",
+-      "net.inet.ip.fw.dyn_rst_lifetime": "1",
+-      "net.local.stream.sendspace": "8192",
+-      "net.inet.tcp.socket_unlocked_on_output": "1",
+-      "net.inet.ip.fw.verbose_limit": "0",
+-      "net.local.dgram.recvspace": "4096",
+-      "net.inet.ipsec.debug": "0",
+-      "net.link.ether.inet.log_arp_warnings": "0",
+-      "net.inet.tcp.ecn_negotiate_in": "0",
+-      "net.inet.tcp.rfc3465": "1",
+-      "net.inet.tcp.icmp_may_rst": "1",
+-      "net.link.ether.inet.sendllconflict": "0",
+-      "net.inet.ipsec.ah_offsetmask": "0",
+-      "net.key.blockacq_count": "10",
+-      "net.inet.tcp.delayed_ack": "3",
+-      "net.inet.ip.fw.verbose": "2",
+-      "net.inet.ip.fw.dyn_count": "0",
+-      "net.inet.tcp.slowlink_wsize": "8192",
+-      "net.inet6.ip6.fw.enable": "1",
+-      "net.inet.ip.portrange.hilast": "65535",
+-      "net.inet.icmp.maskrepl": "0",
+-      "net.link.ether.inet.apple_hwcksum_rx": "1",
+-      "net.inet.tcp.drop_synfin": "1",
+-      "net.key.spi_maxval": "268435455",
+-      "net.inet.ipsec.ecn": "0",
+-      "net.inet.ip.fw.dyn_keepalive": "1",
+-      "net.key.int_random": "60",
+-      "net.key.debug": "0",
+-      "net.inet.ip.dummynet.curr_time": "0",
+-      "net.inet.udp.blackhole": "0",
+-      "net.athaggrqmin": "1 1",
+-      "net.athppmenable": "1 1",
+-      "net.inet.ip.fw.dyn_syn_lifetime": "20",
+-      "net.inet.tcp.keepidle": "7200000",
+-      "net.inet6.ip6.tempvltime": "604800",
+-      "net.inet.tcp.recvspace": "358400",
+-      "net.inet.tcp.keepintvl": "75000",
+-      "net.inet.udp.maxdgram": "9216",
+-      "net.inet.ip.maxchainsent": "0",
+-      "net.inet.ipsec.esp_net_deflev": "1",
+-      "net.inet6.icmp6.nd6_useloopback": "1",
+-      "net.inet.tcp.slowstart_flightsize": "1",
+-      "net.inet.ip.fw.debug": "0",
+-      "net.inet.ip.linklocal.in.allowbadttl": "1",
+-      "net.key.spi_minval": "256",
+-      "net.inet.ip.forwarding": "0",
+-      "net.inet.tcp.v6mssdflt": "1024",
+-      "net.key.larval_lifetime": "30",
+-      "net.inet6.ip6.fw.verbose_limit": "0",
+-      "net.inet.ip.dummynet.red_lookup_depth": "256",
+-      "net.inet.tcp.pcbcount": "36",
+-      "net.inet.ip.fw.dyn_ack_lifetime": "300",
+-      "net.inet.ip.portrange.lowlast": "600",
+-      "net.athCCAThreshold": "28 28",
+-      "net.link.ether.inet.useloopback": "1",
+-      "net.athqdepth": "0 0",
+-      "net.inet.ip.ttl": "64",
+-      "net.inet.ip.rtmaxcache": "128",
+-      "net.inet.ipsec.bypass": "0",
+-      "net.inet6.icmp6.nd6_debug": "0",
+-      "net.inet.ip.use_route_genid": "1",
+-      "net.inet6.icmp6.rediraccept": "1",
+-      "net.inet.ip.fw.static_count": "1",
+-      "net.inet6.ip6.fw.debug": "0",
+-      "net.inet.udp.pcbcount": "104",
+-      "net.inet.ipsec.esp_randpad": "-1",
+-      "net.inet6.icmp6.nd6_maxnudhint": "0",
+-      "net.inet.tcp.always_keepalive": "0",
+-      "net.inet.udp.checksum": "1",
+-      "net.link.ether.inet.keep_announcements": "1",
+-      "net.athfixedDropThresh": "150 150",
+-      "net.inet6.ip6.kame_version": "20010528\/apple-darwin",
+-      "net.inet.ip.fw.dyn_max": "4096",
+-      "net.inet.udp.log_in_vain": "0",
+-      "net.inet6.icmp6.nd6_mmaxtries": "3",
+-      "net.inet.ip.rtminexpire": "10",
+-      "net.inet.ip.fw.dyn_buckets": "256",
+-      "net.inet6.ip6.accept_rtadv": "0",
+-      "net.inet6.ip6.rr_prune": "5",
+-      "net.key.ah_keymin": "128",
+-      "net.inet.ip.redirect": "1",
+-      "net.inet.tcp.sack_globalmaxholes": "65536",
+-      "net.inet.ip.keepfaith": "0",
+-      "net.inet.ip.dummynet.expire": "1",
+-      "net.inet.ip.gifttl": "30",
+-      "net.inet.ip.portrange.last": "65535",
+-      "net.inet.ipsec.ah_net_deflev": "1",
+-      "net.inet6.icmp6.nd6_delay": "5",
+-      "net.inet.tcp.packetchain": "50",
+-      "net.inet6.ip6.hdrnestlimit": "50",
+-      "net.inet.tcp.newreno": "0",
+-      "net.inet6.ip6.dad_count": "1",
+-      "net.inet6.ip6.auto_linklocal": "1",
+-      "net.inet6.ip6.temppltime": "86400",
+-      "net.inet.tcp.strict_rfc1948": "0",
+-      "net.athdupie": "1 1",
+-      "net.inet.ip.dummynet.red_max_pkt_size": "1500",
+-      "net.inet.ip.maxfrags": "2048",
+-      "net.inet.tcp.log_in_vain": "0",
+-      "net.inet.tcp.rfc1323": "1",
+-      "net.inet.ip.subnets_are_local": "0",
+-      "net.inet.ip.dummynet.search_steps": "0",
+-      "net.inet.icmp.icmplim": "250",
+-      "net.link.ether.inet.apple_hwcksum_tx": "1",
+-      "net.inet6.icmp6.redirtimeout": "600",
+-      "net.inet.ipsec.ah_cleartos": "1",
+-      "net.inet6.ip6.log_interval": "5",
+-      "net.link.ether.inet.max_age": "1200",
+-      "net.inet.ip.fw.enable": "1",
+-      "net.inet6.ip6.redirect": "1",
+-      "net.athaggrfmax": "28 28",
+-      "net.inet.ip.maxfragsperpacket": "128",
+-      "net.inet6.ip6.use_deprecated": "1",
+-      "net.link.generic.system.dlil_input_sanity_check": "0",
+-      "net.inet.tcp.sack_globalholes": "0",
+-      "net.inet.tcp.reass.cursegments": "0",
+-      "net.inet6.icmp6.nodeinfo": "3",
+-      "net.local.inflight": "0",
+-      "net.inet.ip.dummynet.hash_size": "64",
+-      "net.inet.ip.dummynet.red_avg_pkt_size": "512",
+-      "net.inet.ipsec.dfbit": "0",
+-      "net.inet.tcp.reass.overflows": "0",
+-      "net.inet.tcp.rexmt_thresh": "2",
+-      "net.inet6.ip6.maxfrags": "8192",
+-      "net.inet6.ip6.rtminexpire": "10",
+-      "net.inet6.ipsec6.esp_net_deflev": "1",
+-      "net.inet.tcp.blackhole": "0",
+-      "net.key.esp_keymin": "256",
+-      "net.inet.ip.check_interface": "0",
+-      "net.inet.tcp.minmssoverload": "0",
+-      "net.link.ether.inet.maxtries": "5",
+-      "net.inet.tcp.do_tcpdrain": "0",
+-      "net.inet.ipsec.esp_port": "4500",
+-      "net.inet6.ipsec6.ah_net_deflev": "1",
+-      "net.inet.ip.dummynet.extract_heap": "0",
+-      "net.inet.tcp.path_mtu_discovery": "1",
+-      "net.inet.ip.intr_queue_maxlen": "50",
+-      "net.inet.ipsec.def_policy": "1",
+-      "net.inet.ip.fw.autoinc_step": "100",
+-      "net.inet.ip.accept_sourceroute": "0",
+-      "net.inet.raw.maxdgram": "8192",
+-      "net.inet.ip.maxfragpackets": "1024",
+-      "net.inet.ip.fw.one_pass": "0",
+-      "net.appletalk.routermix": "2000",
+-      "net.inet.tcp.tcp_lq_overflow": "1",
+-      "net.link.generic.system.ifcount": "9",
+-      "net.link.ether.inet.send_conflicting_probes": "1",
+-      "net.inet.tcp.background_io_enabled": "1",
+-      "net.inet6.ipsec6.debug": "0",
+-      "net.inet.tcp.win_scale_factor": "3",
+-      "net.key.natt_keepalive_interval": "20",
+-      "net.inet.tcp.msl": "15000",
+-      "net.inet.ip.portrange.hifirst": "49152",
+-      "net.inet.ipsec.ah_trans_deflev": "1",
+-      "net.inet.tcp.rtt_min": "1",
+-      "net.inet6.ip6.defmcasthlim": "1",
+-      "net.inet6.icmp6.nd6_prune": "1",
+-      "net.inet6.ip6.fw.verbose": "0",
+-      "net.inet.ip.portrange.lowfirst": "1023",
+-      "net.inet.tcp.maxseg_unacked": "8",
+-      "net.local.dgram.maxdgram": "2048",
+-      "net.key.blockacq_lifetime": "20",
+-      "net.inet.tcp.sack_maxholes": "128",
+-      "net.inet6.ip6.maxfragpackets": "1024",
+-      "net.inet6.ip6.use_tempaddr": "0",
+-      "net.athpowermode": "0 0",
+-      "net.inet.udp.recvspace": "73728",
+-      "net.inet.tcp.isn_reseed_interval": "0",
+-      "net.inet.tcp.local_slowstart_flightsize": "8",
+-      "net.inet.ip.dummynet.searches": "0",
+-      "net.inet.ip.intr_queue_drops": "0",
+-      "net.link.generic.system.multi_threaded_input": "1",
+-      "net.inet.raw.recvspace": "8192",
+-      "net.inet.ipsec.esp_trans_deflev": "1",
+-      "net.key.prefered_oldsa": "0",
+-      "net.local.stream.recvspace": "8192",
+-      "net.inet.tcp.sockthreshold": "64",
+-      "net.inet6.icmp6.nd6_umaxtries": "3",
+-      "net.pstimeout": "20 20",
+-      "net.inet.ip.sourceroute": "0",
+-      "net.inet.ip.fw.dyn_short_lifetime": "5",
+-      "net.inet.tcp.minmss": "216",
+-      "net.inet6.ip6.gifhlim": "0",
+-      "net.athvendorie": "1 1",
+-      "net.inet.ip.check_route_selfref": "1",
+-      "net.inet6.icmp6.errppslimit": "100",
+-      "net.inet.tcp.mssdflt": "512",
+-      "net.inet.icmp.log_redirect": "0",
+-      "net.inet6.ipsec6.ah_trans_deflev": "1",
+-      "net.inet6.ipsec6.esp_randpad": "-1",
+-      "net.inet.icmp.drop_redirect": "0",
+-      "net.inet.icmp.timestamp": "0",
+-      "net.inet.ip.random_id": "1"
+-    },
+-    "interfaces": {
+-      "vmnet1": {
+-        "flags": [
+-          "UP",
+-          "BROADCAST",
+-          "SMART",
+-          "RUNNING",
+-          "SIMPLEX",
+-          "MULTICAST"
+-        ],
+-        "addresses": [
+-          {
+-            "broadcast": "192.168.88.255",
+-            "netmask": "255.255.255.0",
+-            "family": "inet",
+-            "address": "192.168.88.1"
+-          },
+-          {
+-            "family": "lladdr",
+-            "address": "private"
+-          }
+-        ],
+-        "number": "1",
+-        "mtu": "1500",
+-        "type": "vmnet",
+-        "encapsulation": "Ethernet"
+-      },
+-      "stf0": {
+-        "flags": [
+-
+-        ],
+-        "number": "0",
+-        "mtu": "1280",
+-        "type": "stf",
+-        "encapsulation": "6to4"
+-      },
+-      "vboxnet0": {
+-        "flags": [
+-          "BROADCAST",
+-          "RUNNING",
+-          "SIMPLEX",
+-          "MULTICAST"
+-        ],
+-        "addresses": [
+-          {
+-            "family": "lladdr",
+-            "address": "private"
+-          }
+-        ],
+-        "number": "0",
+-        "mtu": "1500",
+-        "type": "vboxnet",
+-        "encapsulation": "Ethernet"
+-      },
+-      "lo0": {
+-        "flags": [
+-          "UP",
+-          "LOOPBACK",
+-          "RUNNING",
+-          "MULTICAST"
+-        ],
+-        "addresses": [
+-          {
+-            "scope": "Link",
+-            "prefixlen": "64",
+-            "family": "inet6",
+-            "address": "fe80::1"
+-          },
+-          {
+-            "netmask": "255.0.0.0",
+-            "family": "inet",
+-            "address": "127.0.0.1"
+-          },
+-          {
+-            "scope": "Node",
+-            "prefixlen": "128",
+-            "family": "inet6",
+-            "address": "::1"
+-          },
+-          {
+-            "scope": "Node",
+-            "prefixlen": "128",
+-            "family": "inet6",
+-            "address": "private"
+-          }
+-        ],
+-        "number": "0",
+-        "mtu": "16384",
+-        "type": "lo",
+-        "encapsulation": "Loopback"
+-      },
+-      "vboxn": {
+-        "counters": {
+-          "tx": {
+-            "bytes": "0",
+-            "packets": "0",
+-            "collisions": "0",
+-            "compressed": 0,
+-            "carrier": 0,
+-            "drop": 0,
+-            "errors": "0",
+-            "overrun": 0
+-          },
+-          "rx": {
+-            "bytes": "0",
+-            "packets": "0",
+-            "compressed": 0,
+-            "drop": 0,
+-            "errors": "0",
+-            "overrun": 0,
+-            "frame": 0,
+-            "multicast": 0
+-          }
+-        }
+-      },
+-      "gif0": {
+-        "flags": [
+-          "POINTOPOINT",
+-          "MULTICAST"
+-        ],
+-        "number": "0",
+-        "mtu": "1280",
+-        "type": "gif",
+-        "encapsulation": "IPIP"
+-      },
+-      "vmnet": {
+-        "counters": {
+-          "tx": {
+-            "bytes": "0",
+-            "packets": "0",
+-            "collisions": "0",
+-            "compressed": 0,
+-            "carrier": 0,
+-            "drop": 0,
+-            "errors": "0",
+-            "overrun": 0
+-          },
+-          "rx": {
+-            "bytes": "0",
+-            "packets": "0",
+-            "compressed": 0,
+-            "drop": 0,
+-            "errors": "0",
+-            "overrun": 0,
+-            "frame": 0,
+-            "multicast": 0
+-          }
+-        }
+-      },
+-      "vmnet8": {
+-        "flags": [
+-          "UP",
+-          "BROADCAST",
+-          "SMART",
+-          "RUNNING",
+-          "SIMPLEX",
+-          "MULTICAST"
+-        ],
+-        "addresses": [
+-          {
+-            "broadcast": "192.168.237.255",
+-            "netmask": "255.255.255.0",
+-            "family": "inet",
+-            "address": "192.168.237.1"
+-          },
+-          {
+-            "family": "lladdr",
+-            "address": "private"
+-          }
+-        ],
+-        "number": "8",
+-        "mtu": "1500",
+-        "type": "vmnet",
+-        "encapsulation": "Ethernet"
+-      },
+-      "en0": {
+-        "status": "inactive",
+-        "flags": [
+-          "UP",
+-          "BROADCAST",
+-          "SMART",
+-          "RUNNING",
+-          "SIMPLEX",
+-          "MULTICAST"
+-        ],
+-        "addresses": [
+-          {
+-            "family": "lladdr",
+-            "address": "private"
+-          }
+-        ],
+-        "number": "0",
+-        "mtu": "1500",
+-        "media": {
+-          "supported": [
+-            {
+-              "autoselect": {
+-                "options": [
+-
+-                ]
+-              }
+-            },
+-            {
+-              "10baseT\/UTP": {
+-                "options": [
+-                  "half-duplex"
+-                ]
+-              }
+-            },
+-            {
+-              "10baseT\/UTP": {
+-                "options": [
+-                  "full-duplex"
+-                ]
+-              }
+-            },
+-            {
+-              "10baseT\/UTP": {
+-                "options": [
+-                  "full-duplex",
+-                  "hw-loopback"
+-                ]
+-              }
+-            },
+-            {
+-              "10baseT\/UTP": {
+-                "options": [
+-                  "full-duplex",
+-                  "flow-control"
+-                ]
+-              }
+-            },
+-            {
+-              "100baseTX": {
+-                "options": [
+-                  "half-duplex"
+-                ]
+-              }
+-            },
+-            {
+-              "100baseTX": {
+-                "options": [
+-                  "full-duplex"
+-                ]
+-              }
+-            },
+-            {
+-              "100baseTX": {
+-                "options": [
+-                  "full-duplex",
+-                  "hw-loopback"
+-                ]
+-              }
+-            },
+-            {
+-              "100baseTX": {
+-                "options": [
+-                  "full-duplex",
+-                  "flow-control"
+-                ]
+-              }
+-            },
+-            {
+-              "1000baseT": {
+-                "options": [
+-                  "full-duplex"
+-                ]
+-              }
+-            },
+-            {
+-              "1000baseT": {
+-                "options": [
+-                  "full-duplex",
+-                  "hw-loopback"
+-                ]
+-              }
+-            },
+-            {
+-              "1000baseT": {
+-                "options": [
+-                  "full-duplex",
+-                  "flow-control"
+-                ]
+-              }
+-            },
+-            {
+-              "none": {
+-                "options": [
+-
+-                ]
+-              }
+-            }
+-          ],
+-          "selected": [
+-            {
+-              "autoselect": {
+-                "options": [
+-
+-                ]
+-              }
+-            }
+-          ]
+-        },
+-        "type": "en",
+-        "counters": {
+-          "tx": {
+-            "bytes": "342",
+-            "packets": "0",
+-            "collisions": "0",
+-            "compressed": 0,
+-            "carrier": 0,
+-            "drop": 0,
+-            "errors": "0",
+-            "overrun": 0
+-          },
+-          "rx": {
+-            "bytes": "0",
+-            "packets": "0",
+-            "compressed": 0,
+-            "drop": 0,
+-            "errors": "0",
+-            "overrun": 0,
+-            "frame": 0,
+-            "multicast": 0
+-          }
+-        },
+-        "encapsulation": "Ethernet"
+-      },
+-      "en1": {
+-        "status": "active",
+-        "flags": [
+-          "UP",
+-          "BROADCAST",
+-          "SMART",
+-          "RUNNING",
+-          "SIMPLEX",
+-          "MULTICAST"
+-        ],
+-        "addresses": [
+-          {
+-            "scope": "Link",
+-            "prefixlen": "64",
+-            "family": "inet6",
+-            "address": "private"
+-          },
+-          {
+-            "broadcast": "192.168.1.255",
+-            "netmask": "255.255.255.0",
+-            "family": "inet",
+-            "address": "192.168.1.4"
+-          },
+-          {
+-            "family": "lladdr",
+-            "address": "private"
+-          }
+-        ],
+-        "number": "1",
+-        "mtu": "1500",
+-        "media": {
+-          "supported": [
+-            {
+-              "autoselect": {
+-                "options": [
+-
+-                ]
+-              }
+-            }
+-          ],
+-          "selected": [
+-            {
+-              "autoselect": {
+-                "options": [
+-
+-                ]
+-              }
+-            }
+-          ]
+-        },
+-        "type": "en",
+-        "counters": {
+-          "tx": {
+-            "bytes": "449206298",
+-            "packets": "7041789",
+-            "collisions": "0",
+-            "compressed": 0,
+-            "carrier": 0,
+-            "drop": 0,
+-            "errors": "95",
+-            "overrun": 0
+-          },
+-          "rx": {
+-            "bytes": "13673879120",
+-            "packets": "19966002",
+-            "compressed": 0,
+-            "drop": 0,
+-            "errors": "1655893",
+-            "overrun": 0,
+-            "frame": 0,
+-            "multicast": 0
+-          }
+-        },
+-        "arp": {
+-          "192.168.1.7": "private"
+-        },
+-        "encapsulation": "Ethernet"
+-      },
+-      "fw0": {
+-        "status": "inactive",
+-        "flags": [
+-          "UP",
+-          "BROADCAST",
+-          "SMART",
+-          "RUNNING",
+-          "SIMPLEX",
+-          "MULTICAST"
+-        ],
+-        "addresses": [
+-          {
+-            "family": "lladdr",
+-            "address": "private"
+-          }
+-        ],
+-        "number": "0",
+-        "mtu": "4078",
+-        "media": {
+-          "supported": [
+-            {
+-              "autoselect": {
+-                "options": [
+-                  "full-duplex"
+-                ]
+-              }
+-            }
+-          ],
+-          "selected": [
+-            {
+-              "autoselect": {
+-                "options": [
+-                  "full-duplex"
+-                ]
+-              }
+-            }
+-          ]
+-        },
+-        "type": "fw",
+-        "counters": {
+-          "tx": {
+-            "bytes": "346",
+-            "packets": "0",
+-            "collisions": "0",
+-            "compressed": 0,
+-            "carrier": 0,
+-            "drop": 0,
+-            "errors": "0",
+-            "overrun": 0
+-          },
+-          "rx": {
+-            "bytes": "0",
+-            "packets": "0",
+-            "compressed": 0,
+-            "drop": 0,
+-            "errors": "0",
+-            "overrun": 0,
+-            "frame": 0,
+-            "multicast": 0
+-          }
+-        },
+-        "encapsulation": "1394"
+-      }
+-    }
+-  },
+-  "fqdn": "local.local",
+-  "ohai_time": 1240624355.08575,
+-  "domain": "local",
+-  "os": "darwin",
+-  "platform_build": "9G55",
+-  "os_version": "9.6.0",
+-  "hostname": "local",
+-  "macaddress": "private",
+-  "languages": {
+-    "ruby": {
+-      "target_os": "darwin9.0",
+-      "platform": "universal-darwin9.0",
+-      "host_vendor": "apple",
+-      "target_vendor": "apple",
+-      "target_cpu": "i686",
+-      "host_os": "darwin9.0",
+-      "host_cpu": "i686",
+-      "version": "1.8.6",
+-      "host": "i686-apple-darwin9.0",
+-      "target": "i686-apple-darwin9.0",
+-      "release_date": "2008-03-03"
+-    }
+-  }
+-}
+diff --git a/lib/mcollective/vendor/json/benchmarks/ohai.ruby b/lib/mcollective/vendor/json/benchmarks/ohai.ruby
+deleted file mode 100644
+index 36b4297..0000000
+--- a/lib/mcollective/vendor/json/benchmarks/ohai.ruby
++++ /dev/null
+@@ -1 +0,0 @@
+-{"kernel"=>{"name"=>"Darwin", "machine"=>"i386", "modules"=>{"com.apple.driver.AppleAPIC"=>{"size"=>12288, "version"=>"1.4", "index"=>"26", "refcount"=>"0"}, "com.apple.driver.AirPort.Atheros"=>{"size"=>593920, "version"=>"318.8.3", "index"=>"88", "refcount"=>"0"}, "com.apple.driver.AppleIntelCPUPowerManagement"=>{"size"=>102400, "version"=>"59.0.1", "index"=>"22", "refcount"=>"0"}, "com.apple.iokit.IOStorageFamily"=>{"size"=>98304, "version"=>"1.5.5", "index"=>"44", "refcount"=>"9"}, "com.apple.iokit.IOATAPIProtocolTransport"=>{"size"=>16384, "version"=>"1.5.2", "index"=>"52", "refcount"=>"0"}, "com.apple.iokit.IOPCIFamily"=>{"size"=>65536, "version"=>"2.5", "index"=>"17", "refcount"=>"18"}, "org.virtualbox.kext.VBoxDrv"=>{"size"=>118784, "version"=>"2.2.0", "index"=>"114", "refcount"=>"3"}, "com.cisco.nke.ipsec"=>{"size"=>454656, "version"=>"2.0.1", "index"=>"111", "refcount"=>"0"}, "com.apple.driver.AppleHPET"=>{"size"=>12288, "version"=>"1.3", "index"=>"33", "refcount"=
 >"0"}, "com.apple.driver.AppleUSBHub"=>{"size"=>49152, "version"=>"3.2.7", "index"=>"47", "refcount"=>"0"}, "com.apple.iokit.IOFireWireFamily"=>{"size"=>258048, "version"=>"3.4.6", "index"=>"49", "refcount"=>"2"}, "com.apple.driver.AppleUSBComposite"=>{"size"=>16384, "version"=>"3.2.0", "index"=>"60", "refcount"=>"1"}, "com.apple.driver.AppleIntelPIIXATA"=>{"size"=>36864, "version"=>"2.0.0", "index"=>"41", "refcount"=>"0"}, "com.apple.driver.AppleSmartBatteryManager"=>{"size"=>28672, "version"=>"158.6.0", "index"=>"32", "refcount"=>"0"}, "com.apple.filesystems.udf"=>{"size"=>233472, "version"=>"2.0.2", "index"=>"119", "refcount"=>"0"}, "com.apple.iokit.IOSMBusFamily"=>{"size"=>12288, "version"=>"1.1", "index"=>"27", "refcount"=>"2"}, "com.apple.iokit.IOACPIFamily"=>{"size"=>16384, "version"=>"1.2.0", "index"=>"18", "refcount"=>"10"}, "foo.tap"=>{"size"=>24576, "version"=>"1.0", "index"=>"113", "refcount"=>"0"}, "com.vmware.kext.vmx86"=>{"size"=>864256, "version"=>"2.0.4", "i
 ndex"=>"104", "refcount"=>"0"}, "com.apple.iokit.CHUDUtils"=>{"size"=>28672, "version"=>"200", "index"=>"98", "refcount"=>"0"}, "com.apple.driver.AppleACPIButtons"=>{"size"=>16384, "version"=>"1.2.4", "index"=>"30", "refcount"=>"0"}, "com.apple.driver.AppleFWOHCI"=>{"size"=>139264, "version"=>"3.7.2", "index"=>"50", "refcount"=>"0"}, "com.apple.iokit.IOSCSIArchitectureModelFamily"=>{"size"=>102400, "version"=>"2.0.5", "index"=>"51", "refcount"=>"4"}, "org.virtualbox.kext.VBoxNetAdp"=>{"size"=>8192, "version"=>"2.2.0", "index"=>"117", "refcount"=>"0"}, "com.apple.filesystems.autofs"=>{"size"=>45056, "version"=>"2.0.1", "index"=>"109", "refcount"=>"0"}, "com.vmware.kext.vmnet"=>{"size"=>36864, "version"=>"2.0.4", "index"=>"108", "refcount"=>"0"}, "com.apple.iokit.IOSCSIBlockCommandsDevice"=>{"size"=>90112, "version"=>"2.0.5", "index"=>"57", "refcount"=>"1"}, "com.apple.driver.AppleACPIPCI"=>{"size"=>12288, "version"=>"1.2.4", "index"=>"31", "refcount"=>"0"}, "com.apple.securit
 y.seatbelt"=>{"size"=>98304, "version"=>"107.10", "index"=>"25", "refcount"=>"0"}, "com.apple.driver.AppleUpstreamUserClient"=>{"size"=>16384, "version"=>"2.7.2", "index"=>"100", "refcount"=>"0"}, "com.apple.kext.OSvKernDSPLib"=>{"size"=>12288, "version"=>"1.1", "index"=>"79", "refcount"=>"1"}, "com.apple.iokit.IOBDStorageFamily"=>{"size"=>20480, "version"=>"1.5", "index"=>"58", "refcount"=>"1"}, "com.apple.iokit.IOGraphicsFamily"=>{"size"=>118784, "version"=>"1.7.1", "index"=>"70", "refcount"=>"5"}, "com.apple.iokit.IONetworkingFamily"=>{"size"=>90112, "version"=>"1.6.1", "index"=>"82", "refcount"=>"4"}, "com.apple.iokit.IOATAFamily"=>{"size"=>53248, "version"=>"2.0.0", "index"=>"40", "refcount"=>"2"}, "com.apple.iokit.IOUSBHIDDriver"=>{"size"=>20480, "version"=>"3.2.2", "index"=>"63", "refcount"=>"2"}, "org.virtualbox.kext.VBoxUSB"=>{"size"=>28672, "version"=>"2.2.0", "index"=>"115", "refcount"=>"0"}, "com.apple.security.TMSafetyNet"=>{"size"=>12288, "version"=>"3", "index
 "=>"23", "refcount"=>"0"}, "com.apple.iokit.IONDRVSupport"=>{"size"=>57344, "version"=>"1.7.1", "index"=>"71", "refcount"=>"3"}, "com.apple.BootCache"=>{"size"=>20480, "version"=>"30.3", "index"=>"20", "refcount"=>"0"}, "com.vmware.kext.vmioplug"=>{"size"=>24576, "version"=>"2.0.4", "index"=>"107", "refcount"=>"0"}, "com.apple.iokit.IOUSBUserClient"=>{"size"=>8192, "version"=>"3.2.4", "index"=>"46", "refcount"=>"1"}, "com.apple.iokit.IOSCSIMultimediaCommandsDevice"=>{"size"=>90112, "version"=>"2.0.5", "index"=>"59", "refcount"=>"0"}, "com.apple.driver.AppleIRController"=>{"size"=>20480, "version"=>"110", "index"=>"78", "refcount"=>"0"}, "com.apple.driver.AudioIPCDriver"=>{"size"=>16384, "version"=>"1.0.5", "index"=>"81", "refcount"=>"0"}, "com.apple.driver.AppleLPC"=>{"size"=>12288, "version"=>"1.2.11", "index"=>"73", "refcount"=>"0"}, "org.virtualbox.kext.VBoxNetFlt"=>{"size"=>16384, "version"=>"2.2.0", "index"=>"116", "refcount"=>"0"}, "com.apple.iokit.CHUDKernLib"=>{"size
 "=>20480, "version"=>"196", "index"=>"93", "refcount"=>"2"}, "com.apple.iokit.CHUDProf"=>{"size"=>49152, "version"=>"207", "index"=>"97", "refcount"=>"0"}, "com.apple.NVDAResman"=>{"size"=>2478080, "version"=>"5.3.6", "index"=>"90", "refcount"=>"2"}, "com.apple.driver.AppleACPIEC"=>{"size"=>20480, "version"=>"1.2.4", "index"=>"28", "refcount"=>"0"}, "foo.tun"=>{"size"=>24576, "version"=>"1.0", "index"=>"118", "refcount"=>"0"}, "com.apple.iokit.IOSerialFamily"=>{"size"=>36864, "version"=>"9.3", "index"=>"102", "refcount"=>"1"}, "com.apple.GeForce"=>{"size"=>622592, "version"=>"5.3.6", "index"=>"96", "refcount"=>"0"}, "com.apple.iokit.IOCDStorageFamily"=>{"size"=>32768, "version"=>"1.5", "index"=>"55", "refcount"=>"3"}, "com.apple.driver.AppleUSBEHCI"=>{"size"=>73728, "version"=>"3.2.5", "index"=>"39", "refcount"=>"0"}, "com.apple.nvidia.nv50hal"=>{"size"=>2445312, "version"=>"5.3.6", "index"=>"91", "refcount"=>"0"}, "com.apple.driver.AppleSMBIOS"=>{"size"=>16384, "version"=>"
 1.1.1", "index"=>"29", "refcount"=>"0"}, "com.apple.driver.AppleBacklight"=>{"size"=>16384, "version"=>"1.4.4", "index"=>"72", "refcount"=>"0"}, "com.apple.driver.AppleACPIPlatform"=>{"size"=>253952, "version"=>"1.2.4", "index"=>"19", "refcount"=>"3"}, "com.apple.iokit.SCSITaskUserClient"=>{"size"=>24576, "version"=>"2.0.5", "index"=>"54", "refcount"=>"0"}, "com.apple.iokit.IOHIDFamily"=>{"size"=>233472, "version"=>"1.5.3", "index"=>"21", "refcount"=>"7"}, "com.apple.driver.DiskImages"=>{"size"=>65536, "version"=>"195.2.2", "index"=>"101", "refcount"=>"0"}, "com.apple.iokit.IODVDStorageFamily"=>{"size"=>24576, "version"=>"1.5", "index"=>"56", "refcount"=>"2"}, "com.apple.iokit.IOFireWireIP"=>{"size"=>36864, "version"=>"1.7.6", "index"=>"83", "refcount"=>"0"}, "com.apple.driver.AppleRTC"=>{"size"=>20480, "version"=>"1.2.3", "index"=>"34", "refcount"=>"0"}, "com.apple.driver.XsanFilter"=>{"size"=>20480, "version"=>"2.7.91", "index"=>"53", "refcount"=>"0"}, "com.apple.driver.Ap
 pleEFIRuntime"=>{"size"=>12288, "version"=>"1.2.0", "index"=>"35", "refcount"=>"1"}, "com.apple.iokit.IOAHCIBlockStorage"=>{"size"=>69632, "version"=>"1.2.0", "index"=>"48", "refcount"=>"0"}, "com.apple.nke.applicationfirewall"=>{"size"=>32768, "version"=>"1.0.77", "index"=>"24", "refcount"=>"0"}, "com.apple.iokit.IO80211Family"=>{"size"=>126976, "version"=>"215.1", "index"=>"87", "refcount"=>"1"}, "com.vmware.kext.vmci"=>{"size"=>45056, "version"=>"2.0.4", "index"=>"106", "refcount"=>"0"}, "com.apple.iokit.IOAHCIFamily"=>{"size"=>24576, "version"=>"1.5.0", "index"=>"42", "refcount"=>"2"}, "com.apple.driver.AppleUSBUHCI"=>{"size"=>57344, "version"=>"3.2.5", "index"=>"38", "refcount"=>"0"}, "com.apple.driver.AppleUSBMergeNub"=>{"size"=>12288, "version"=>"3.2.4", "index"=>"61", "refcount"=>"0"}, "com.apple.iokit.IOUSBFamily"=>{"size"=>167936, "version"=>"3.2.7", "index"=>"37", "refcount"=>"13"}, "com.apple.driver.AppleEFINVRAM"=>{"size"=>24576, "version"=>"1.2.0", "index"=>"36
 ", "refcount"=>"0"}, "com.apple.driver.AppleAHCIPort"=>{"size"=>53248, "version"=>"1.5.2", "index"=>"43", "refcount"=>"0"}}, "os"=>"Darwin", "version"=>"Darwin Kernel Version 9.6.0: Mon Nov 24 17:37:00 PST 2008; root:xnu-1228.9.59~1/RELEASE_I386", "release"=>"9.6.0"}, "command"=>{"ps"=>"ps -ef"}, "platform"=>"mac_os_x", "platform_version"=>"10.5.6", "keys"=>{"ssh"=>{"host_dsa_public"=>"private", "host_rsa_public"=>"private"}}, "ipaddress"=>"192.168.88.1", "fqdn"=>"local.local", "network"=>{"settings"=>{"net.inet6.ip6.forwarding"=>"0", "net.inet.ip.dummynet.debug"=>"0", "net.inet.ip.rtexpire"=>"10", "net.inet6.ipsec6.esp_trans_deflev"=>"1", "net.inet.tcp.tcbhashsize"=>"4096", "net.key.esp_auth"=>"0", "net.inet6.ip6.hlim"=>"64", "net.inet.ip.fw.dyn_fin_lifetime"=>"1", "net.inet.ip.fw.dyn_udp_lifetime"=>"10", "net.inet.icmp.bmcastecho"=>"1", "net.athbgscan"=>"1 1", "net.inet.tcp.reass.maxsegments"=>"2048", "net.athforceBias"=>"2 2", "net.inet6.ip6.auto_flowlabel"=>"1", "net.ine
 t6.ip6.rtmaxcache"=>"128", "net.inet.tcp.sendspace"=>"131072", "net.inet.tcp.keepinit"=>"75000", "net.inet.ip.dummynet.max_chain_len"=>"16", "net.inet.tcp.rfc1644"=>"0", "net.inet.ip.fw.curr_dyn_buckets"=>"256", "net.inet.ip.dummynet.ready_heap"=>"0", "net.inet.ip.portrange.first"=>"49152", "net.inet.tcp.background_io_trigger"=>"5", "net.link.ether.inet.host_down_time"=>"20", "net.inet6.ipsec6.def_policy"=>"1", "net.inet6.ipsec6.ecn"=>"0", "net.inet.ip.fastforwarding"=>"0", "net.inet6.ip6.v6only"=>"0", "net.inet.tcp.sack"=>"1", "net.inet6.ip6.rtexpire"=>"3600", "net.link.ether.inet.proxyall"=>"0", "net.athaddbaignore"=>"0 0", "net.inet6.ip6.keepfaith"=>"0", "net.key.spi_trycnt"=>"1000", "net.link.ether.inet.prune_intvl"=>"300", "net.inet.tcp.ecn_initiate_out"=>"0", "net.inet.ip.fw.dyn_rst_lifetime"=>"1", "net.local.stream.sendspace"=>"8192", "net.inet.tcp.socket_unlocked_on_output"=>"1", "net.inet.ip.fw.verbose_limit"=>"0", "net.local.dgram.recvspace"=>"4096", "net.inet.ipse
 c.debug"=>"0", "net.link.ether.inet.log_arp_warnings"=>"0", "net.inet.tcp.ecn_negotiate_in"=>"0", "net.inet.tcp.rfc3465"=>"1", "net.inet.tcp.icmp_may_rst"=>"1", "net.link.ether.inet.sendllconflict"=>"0", "net.inet.ipsec.ah_offsetmask"=>"0", "net.key.blockacq_count"=>"10", "net.inet.tcp.delayed_ack"=>"3", "net.inet.ip.fw.verbose"=>"2", "net.inet.ip.fw.dyn_count"=>"0", "net.inet.tcp.slowlink_wsize"=>"8192", "net.inet6.ip6.fw.enable"=>"1", "net.inet.ip.portrange.hilast"=>"65535", "net.inet.icmp.maskrepl"=>"0", "net.link.ether.inet.apple_hwcksum_rx"=>"1", "net.inet.tcp.drop_synfin"=>"1", "net.key.spi_maxval"=>"268435455", "net.inet.ipsec.ecn"=>"0", "net.inet.ip.fw.dyn_keepalive"=>"1", "net.key.int_random"=>"60", "net.key.debug"=>"0", "net.inet.ip.dummynet.curr_time"=>"0", "net.inet.udp.blackhole"=>"0", "net.athaggrqmin"=>"1 1", "net.inet.ip.fw.dyn_syn_lifetime"=>"20", "net.inet.tcp.keepidle"=>"7200000", "net.inet6.ip6.tempvltime"=>"604800", "net.inet.tcp.recvspace"=>"358400", "n
 et.inet.udp.maxdgram"=>"9216", "net.inet.tcp.keepintvl"=>"75000", "net.inet.ip.maxchainsent"=>"0", "net.athppmenable"=>"1 1", "net.inet.ipsec.esp_net_deflev"=>"1", "net.inet6.icmp6.nd6_useloopback"=>"1", "net.inet.tcp.slowstart_flightsize"=>"1", "net.inet.ip.fw.debug"=>"0", "net.inet.ip.linklocal.in.allowbadttl"=>"1", "net.key.spi_minval"=>"256", "net.inet.ip.forwarding"=>"0", "net.inet.tcp.v6mssdflt"=>"1024", "net.key.larval_lifetime"=>"30", "net.inet6.ip6.fw.verbose_limit"=>"0", "net.inet.ip.dummynet.red_lookup_depth"=>"256", "net.inet.tcp.pcbcount"=>"36", "net.inet.ip.fw.dyn_ack_lifetime"=>"300", "net.athCCAThreshold"=>"28 28", "net.inet.ip.portrange.lowlast"=>"600", "net.link.ether.inet.useloopback"=>"1", "net.athqdepth"=>"0 0", "net.inet.ip.ttl"=>"64", "net.inet.ip.rtmaxcache"=>"128", "net.inet.ipsec.bypass"=>"0", "net.inet6.icmp6.nd6_debug"=>"0", "net.inet.ip.use_route_genid"=>"1", "net.inet6.icmp6.rediraccept"=>"1", "net.inet.ip.fw.static_count"=>"1", "net.inet6.ip6.f
 w.debug"=>"0", "net.inet.udp.pcbcount"=>"104", "net.inet.ipsec.esp_randpad"=>"-1", "net.inet6.icmp6.nd6_maxnudhint"=>"0", "net.inet.tcp.always_keepalive"=>"0", "net.inet.udp.checksum"=>"1", "net.link.ether.inet.keep_announcements"=>"1", "net.athfixedDropThresh"=>"150 150", "net.inet6.ip6.kame_version"=>"20010528/apple-darwin", "net.inet.ip.fw.dyn_max"=>"4096", "net.inet.udp.log_in_vain"=>"0", "net.inet6.icmp6.nd6_mmaxtries"=>"3", "net.inet.ip.rtminexpire"=>"10", "net.inet.ip.fw.dyn_buckets"=>"256", "net.inet6.ip6.accept_rtadv"=>"0", "net.inet6.ip6.rr_prune"=>"5", "net.key.ah_keymin"=>"128", "net.inet.ip.redirect"=>"1", "net.inet.tcp.sack_globalmaxholes"=>"65536", "net.inet.ip.keepfaith"=>"0", "net.inet.ip.dummynet.expire"=>"1", "net.inet.ip.gifttl"=>"30", "net.inet.ip.portrange.last"=>"65535", "net.inet.ipsec.ah_net_deflev"=>"1", "net.inet6.icmp6.nd6_delay"=>"5", "net.inet.tcp.packetchain"=>"50", "net.inet6.ip6.hdrnestlimit"=>"50", "net.inet.tcp.newreno"=>"0", "net.inet6.ip6
 .dad_count"=>"1", "net.inet6.ip6.auto_linklocal"=>"1", "net.inet6.ip6.temppltime"=>"86400", "net.inet.tcp.strict_rfc1948"=>"0", "net.inet.ip.dummynet.red_max_pkt_size"=>"1500", "net.inet.ip.maxfrags"=>"2048", "net.inet.tcp.log_in_vain"=>"0", "net.athdupie"=>"1 1", "net.inet.tcp.rfc1323"=>"1", "net.inet.ip.subnets_are_local"=>"0", "net.inet.ip.dummynet.search_steps"=>"0", "net.inet.icmp.icmplim"=>"250", "net.link.ether.inet.apple_hwcksum_tx"=>"1", "net.inet6.icmp6.redirtimeout"=>"600", "net.inet.ipsec.ah_cleartos"=>"1", "net.inet6.ip6.log_interval"=>"5", "net.link.ether.inet.max_age"=>"1200", "net.inet.ip.fw.enable"=>"1", "net.inet6.ip6.redirect"=>"1", "net.athaggrfmax"=>"28 28", "net.inet.ip.maxfragsperpacket"=>"128", "net.inet6.ip6.use_deprecated"=>"1", "net.link.generic.system.dlil_input_sanity_check"=>"0", "net.inet.tcp.sack_globalholes"=>"0", "net.inet.tcp.reass.cursegments"=>"0", "net.inet6.icmp6.nodeinfo"=>"3", "net.local.inflight"=>"0", "net.inet.ip.dummynet.hash_size
 "=>"64", "net.inet.ip.dummynet.red_avg_pkt_size"=>"512", "net.inet.ipsec.dfbit"=>"0", "net.inet.tcp.reass.overflows"=>"0", "net.inet.tcp.rexmt_thresh"=>"2", "net.inet6.ip6.maxfrags"=>"8192", "net.inet6.ip6.rtminexpire"=>"10", "net.inet6.ipsec6.esp_net_deflev"=>"1", "net.inet.tcp.blackhole"=>"0", "net.key.esp_keymin"=>"256", "net.inet.ip.check_interface"=>"0", "net.inet.tcp.minmssoverload"=>"0", "net.link.ether.inet.maxtries"=>"5", "net.inet.tcp.do_tcpdrain"=>"0", "net.inet.ipsec.esp_port"=>"4500", "net.inet6.ipsec6.ah_net_deflev"=>"1", "net.inet.ip.dummynet.extract_heap"=>"0", "net.inet.tcp.path_mtu_discovery"=>"1", "net.inet.ip.intr_queue_maxlen"=>"50", "net.inet.ipsec.def_policy"=>"1", "net.inet.ip.fw.autoinc_step"=>"100", "net.inet.ip.accept_sourceroute"=>"0", "net.inet.raw.maxdgram"=>"8192", "net.inet.ip.maxfragpackets"=>"1024", "net.inet.ip.fw.one_pass"=>"0", "net.appletalk.routermix"=>"2000", "net.inet.tcp.tcp_lq_overflow"=>"1", "net.link.generic.system.ifcount"=>"9", 
 "net.link.ether.inet.send_conflicting_probes"=>"1", "net.inet.tcp.background_io_enabled"=>"1", "net.inet6.ipsec6.debug"=>"0", "net.inet.tcp.win_scale_factor"=>"3", "net.key.natt_keepalive_interval"=>"20", "net.inet.tcp.msl"=>"15000", "net.inet.ip.portrange.hifirst"=>"49152", "net.inet.ipsec.ah_trans_deflev"=>"1", "net.inet.tcp.rtt_min"=>"1", "net.inet6.ip6.defmcasthlim"=>"1", "net.inet6.icmp6.nd6_prune"=>"1", "net.inet6.ip6.fw.verbose"=>"0", "net.inet.ip.portrange.lowfirst"=>"1023", "net.inet.tcp.maxseg_unacked"=>"8", "net.local.dgram.maxdgram"=>"2048", "net.key.blockacq_lifetime"=>"20", "net.inet.tcp.sack_maxholes"=>"128", "net.inet6.ip6.maxfragpackets"=>"1024", "net.inet6.ip6.use_tempaddr"=>"0", "net.athpowermode"=>"0 0", "net.inet.udp.recvspace"=>"73728", "net.inet.tcp.isn_reseed_interval"=>"0", "net.inet.tcp.local_slowstart_flightsize"=>"8", "net.inet.ip.dummynet.searches"=>"0", "net.inet.ip.intr_queue_drops"=>"0", "net.link.generic.system.multi_threaded_input"=>"1", "ne
 t.inet.raw.recvspace"=>"8192", "net.inet.ipsec.esp_trans_deflev"=>"1", "net.key.prefered_oldsa"=>"0", "net.local.stream.recvspace"=>"8192", "net.inet.tcp.sockthreshold"=>"64", "net.inet6.icmp6.nd6_umaxtries"=>"3", "net.pstimeout"=>"20 20", "net.inet.ip.sourceroute"=>"0", "net.inet.ip.fw.dyn_short_lifetime"=>"5", "net.inet.tcp.minmss"=>"216", "net.inet6.ip6.gifhlim"=>"0", "net.athvendorie"=>"1 1", "net.inet.ip.check_route_selfref"=>"1", "net.inet.icmp.log_redirect"=>"0", "net.inet6.icmp6.errppslimit"=>"100", "net.inet.tcp.mssdflt"=>"512", "net.inet.icmp.drop_redirect"=>"0", "net.inet6.ipsec6.esp_randpad"=>"-1", "net.inet6.ipsec6.ah_trans_deflev"=>"1", "net.inet.ip.random_id"=>"1", "net.inet.icmp.timestamp"=>"0"}, "interfaces"=>{"stf0"=>{"flags"=>[], "number"=>"0", "mtu"=>"1280", "type"=>"stf", "encapsulation"=>"6to4"}, "vmnet1"=>{"flags"=>["UP", "BROADCAST", "SMART", "RUNNING", "SIMPLEX", "MULTICAST"], "number"=>"1", "addresses"=>[{"broadcast"=>"192.168.88.255", "netmask"=>"2
 55.255.255.0", "family"=>"inet", "address"=>"192.168.88.1"}, {"family"=>"lladdr", "address"=>"private"}], "mtu"=>"1500", "type"=>"vmnet", "encapsulation"=>"Ethernet"}, "vboxnet0"=>{"flags"=>["BROADCAST", "RUNNING", "SIMPLEX", "MULTICAST"], "number"=>"0", "addresses"=>[{"family"=>"lladdr", "address"=>"private"}], "mtu"=>"1500", "type"=>"vboxnet", "encapsulation"=>"Ethernet"}, "lo0"=>{"flags"=>["UP", "LOOPBACK", "RUNNING", "MULTICAST"], "number"=>"0", "addresses"=>[{"scope"=>"Link", "prefixlen"=>"64", "family"=>"inet6", "address"=>"fe80::1"}, {"netmask"=>"255.0.0.0", "family"=>"inet", "address"=>"127.0.0.1"}, {"scope"=>"Node", "prefixlen"=>"128", "family"=>"inet6", "address"=>"::1"}, {"scope"=>"Node", "prefixlen"=>"128", "family"=>"inet6", "address"=>"private"}], "mtu"=>"16384", "type"=>"lo", "encapsulation"=>"Loopback"}, "vboxn"=>{"counters"=>{"tx"=>{"packets"=>"0", "bytes"=>"0", "compressed"=>0, "collisions"=>"0", "carrier"=>0, "errors"=>"0", "drop"=>0, "overrun"=>0}, "rx"=>
 {"packets"=>"0", "bytes"=>"0", "compressed"=>0, "errors"=>"0", "drop"=>0, "overrun"=>0, "multicast"=>0, "frame"=>0}}}, "gif0"=>{"flags"=>["POINTOPOINT", "MULTICAST"], "number"=>"0", "mtu"=>"1280", "type"=>"gif", "encapsulation"=>"IPIP"}, "vmnet"=>{"counters"=>{"tx"=>{"packets"=>"0", "bytes"=>"0", "compressed"=>0, "collisions"=>"0", "carrier"=>0, "errors"=>"0", "drop"=>0, "overrun"=>0}, "rx"=>{"packets"=>"0", "bytes"=>"0", "compressed"=>0, "errors"=>"0", "drop"=>0, "overrun"=>0, "multicast"=>0, "frame"=>0}}}, "en0"=>{"flags"=>["UP", "BROADCAST", "SMART", "RUNNING", "SIMPLEX", "MULTICAST"], "status"=>"inactive", "number"=>"0", "addresses"=>[{"family"=>"lladdr", "address"=>"private"}], "mtu"=>"1500", "type"=>"en", "media"=>{"supported"=>[{"autoselect"=>{"options"=>[]}}, {"10baseT/UTP"=>{"options"=>["half-duplex"]}}, {"10baseT/UTP"=>{"options"=>["full-duplex"]}}, {"10baseT/UTP"=>{"options"=>["full-duplex", "hw-loopback"]}}, {"10baseT/UTP"=>{"options"=>["full-duplex", "flow-contr
 ol"]}}, {"100baseTX"=>{"options"=>["half-duplex"]}}, {"100baseTX"=>{"options"=>["full-duplex"]}}, {"100baseTX"=>{"options"=>["full-duplex", "hw-loopback"]}}, {"100baseTX"=>{"options"=>["full-duplex", "flow-control"]}}, {"1000baseT"=>{"options"=>["full-duplex"]}}, {"1000baseT"=>{"options"=>["full-duplex", "hw-loopback"]}}, {"1000baseT"=>{"options"=>["full-duplex", "flow-control"]}}, {"none"=>{"options"=>[]}}], "selected"=>[{"autoselect"=>{"options"=>[]}}]}, "counters"=>{"tx"=>{"packets"=>"0", "bytes"=>"342", "compressed"=>0, "collisions"=>"0", "carrier"=>0, "errors"=>"0", "drop"=>0, "overrun"=>0}, "rx"=>{"packets"=>"0", "bytes"=>"0", "compressed"=>0, "errors"=>"0", "drop"=>0, "overrun"=>0, "multicast"=>0, "frame"=>0}}, "encapsulation"=>"Ethernet"}, "vmnet8"=>{"flags"=>["UP", "BROADCAST", "SMART", "RUNNING", "SIMPLEX", "MULTICAST"], "number"=>"8", "addresses"=>[{"broadcast"=>"192.168.237.255", "netmask"=>"255.255.255.0", "family"=>"inet", "address"=>"192.168.237.1"}, {"family"
 =>"lladdr", "address"=>"private"}], "mtu"=>"1500", "type"=>"vmnet", "encapsulation"=>"Ethernet"}, "en1"=>{"flags"=>["UP", "BROADCAST", "SMART", "RUNNING", "SIMPLEX", "MULTICAST"], "status"=>"active", "number"=>"1", "addresses"=>[{"scope"=>"Link", "prefixlen"=>"64", "family"=>"inet6", "address"=>"private"}, {"broadcast"=>"192.168.1.255", "netmask"=>"255.255.255.0", "family"=>"inet", "address"=>"192.168.1.4"}, {"family"=>"lladdr", "address"=>"private"}], "mtu"=>"1500", "type"=>"en", "media"=>{"supported"=>[{"autoselect"=>{"options"=>[]}}], "selected"=>[{"autoselect"=>{"options"=>[]}}]}, "counters"=>{"tx"=>{"packets"=>"7041789", "bytes"=>"449206298", "compressed"=>0, "collisions"=>"0", "carrier"=>0, "errors"=>"95", "drop"=>0, "overrun"=>0}, "rx"=>{"packets"=>"19966002", "bytes"=>"13673879120", "compressed"=>0, "errors"=>"1655893", "drop"=>0, "overrun"=>0, "multicast"=>0, "frame"=>0}}, "encapsulation"=>"Ethernet", "arp"=>{"192.168.1.7"=>"private"}}, "fw0"=>{"flags"=>["UP", "BROA
 DCAST", "SMART", "RUNNING", "SIMPLEX", "MULTICAST"], "status"=>"inactive", "number"=>"0", "addresses"=>[{"family"=>"lladdr", "address"=>"private"}], "mtu"=>"4078", "type"=>"fw", "media"=>{"supported"=>[{"autoselect"=>{"options"=>["full-duplex"]}}], "selected"=>[{"autoselect"=>{"options"=>["full-duplex"]}}]}, "counters"=>{"tx"=>{"packets"=>"0", "bytes"=>"346", "compressed"=>0, "collisions"=>"0", "carrier"=>0, "errors"=>"0", "drop"=>0, "overrun"=>0}, "rx"=>{"packets"=>"0", "bytes"=>"0", "compressed"=>0, "errors"=>"0", "drop"=>0, "overrun"=>0, "multicast"=>0, "frame"=>0}}, "encapsulation"=>"1394"}}}, "os"=>"darwin", "domain"=>"local", "ohai_time"=>1240624355.08575, "platform_build"=>"9G55", "os_version"=>"9.6.0", "hostname"=>"local", "languages"=>{"ruby"=>{"target_os"=>"darwin9.0", "platform"=>"universal-darwin9.0", "host_vendor"=>"apple", "target_cpu"=>"i686", "target_vendor"=>"apple", "host_os"=>"darwin9.0", "version"=>"1.8.6", "host_cpu"=>"i686", "host"=>"i686-apple-darwin9.
 0", "release_date"=>"2008-03-03", "target"=>"i686-apple-darwin9.0"}}, "macaddress"=>"private"}
+diff --git a/lib/mcollective/vendor/json/benchmarks/parser2_benchmark.rb b/lib/mcollective/vendor/json/benchmarks/parser2_benchmark.rb
+deleted file mode 100755
+index 95a510d..0000000
+--- a/lib/mcollective/vendor/json/benchmarks/parser2_benchmark.rb
++++ /dev/null
+@@ -1,251 +0,0 @@
+-#!/usr/bin/env ruby
+-# CODING: UTF-8
+-
+-require 'rbconfig'
+-RUBY_PATH=File.join(Config::CONFIG['bindir'], Config::CONFIG['ruby_install_name'])
+-RAKE_PATH=File.join(Config::CONFIG['bindir'], 'rake')
+-require 'bullshit'
+-case ARGV.first
+-when 'ext'
+-  require 'json/ext'
+-when 'pure'
+-  require 'json/pure'
+-when 'yaml'
+-  require 'yaml'
+-  require 'json/pure'
+-when 'rails'
+-  require 'active_support'
+-  require 'json/pure'
+-when 'yajl'
+-  require 'yajl'
+-  require 'json/pure'
+-else
+-  require 'json/pure'
+-end
+-
+-module Parser2BenchmarkCommon
+-  include JSON
+-
+-  def setup
+-    @big = @json = File.read(File.join(File.dirname(__FILE__), 'ohai.json'))
+-  end
+-
+-  def generic_reset_method
+-    @result == @big or raise "not equal"
+-  end
+-end
+-
+-class Parser2BenchmarkExt < Bullshit::RepeatCase
+-  include Parser2BenchmarkCommon
+-
+-  warmup      yes
+-  iterations  2000
+-
+-  truncate_data do
+-    enabled false
+-    alpha_level 0.05
+-    window_size 50
+-    slope_angle 0.1
+-  end
+-
+-  autocorrelation do
+-    alpha_level 0.05
+-    max_lags    50
+-    file        yes
+-  end
+-
+-  output_dir File.join(File.dirname(__FILE__), 'data')
+-  output_filename benchmark_name + '.log'
+-  data_file yes
+-  histogram yes
+-
+-  def benchmark_parser
+-    @result = JSON.parse(@json)
+-  end
+-
+-  alias reset_parser generic_reset_method
+-
+-  def benchmark_parser_symbolic
+-    @result = JSON.parse(@json, :symbolize_names => true)
+-  end
+-
+-  alias reset_parser_symbolc generic_reset_method
+-end
+-
+-class Parser2BenchmarkPure < Bullshit::RepeatCase
+-  include Parser2BenchmarkCommon
+-
+-  warmup      yes
+-  iterations  400
+-
+-  truncate_data do
+-    enabled false
+-    alpha_level 0.05
+-    window_size 50
+-    slope_angle 0.1
+-  end
+-
+-  autocorrelation do
+-    alpha_level 0.05
+-    max_lags    50
+-    file        yes
+-  end
+-
+-  output_dir File.join(File.dirname(__FILE__), 'data')
+-  output_filename benchmark_name + '.log'
+-  data_file yes
+-  histogram yes
+-
+-  def benchmark_parser
+-    @result = JSON.parse(@json)
+-  end
+-
+-  alias reset_parser generic_reset_method
+-
+-  def benchmark_parser_symbolic
+-    @result = JSON.parse(@json, :symbolize_names => true)
+-  end
+-
+-  alias reset_parser_symbolc generic_reset_method
+-end
+-
+-class Parser2BenchmarkYAML < Bullshit::RepeatCase
+-  warmup      yes
+-  iterations  400
+-
+-  truncate_data do
+-    enabled false
+-    alpha_level 0.05
+-    window_size 50
+-    slope_angle 0.1
+-  end
+-
+-  autocorrelation do
+-    alpha_level 0.05
+-    max_lags    50
+-    file        yes
+-  end
+-
+-  output_dir File.join(File.dirname(__FILE__), 'data')
+-  output_filename benchmark_name + '.log'
+-  data_file yes
+-  histogram yes
+-
+-  def setup
+-    @big = @json = File.read(File.join(File.dirname(__FILE__), 'ohai.json'))
+-  end
+-
+-  def benchmark_parser
+-    @result = YAML.load(@json)
+-  end
+-
+-  def generic_reset_method
+-    @result == @big or raise "not equal"
+-  end
+-end
+-
+-class Parser2BenchmarkRails < Bullshit::RepeatCase
+-  warmup      yes
+-  iterations  400
+-
+-  truncate_data do
+-    alpha_level 0.05
+-    window_size 50
+-    slope_angle 0.1
+-  end
+-
+-  autocorrelation do
+-    alpha_level 0.05
+-    max_lags    50
+-    file        yes
+-  end
+-
+-  output_dir File.join(File.dirname(__FILE__), 'data')
+-  output_filename benchmark_name + '.log'
+-  data_file yes
+-  histogram yes
+-
+-  def setup
+-    a = [ nil, false, true, "fÖß\nÄr", [ "n€st€d", true ], { "fooß" => "bär", "qu\r\nux" => true } ]
+-    @big = a * 100
+-    @json = JSON.generate(@big)
+-  end
+-
+-  def benchmark_parser
+-    @result = ActiveSupport::JSON.decode(@json)
+-  end
+-
+-  def generic_reset_method
+-    @result == @big or raise "not equal"
+-  end
+-end
+-
+-class Parser2BenchmarkYajl < Bullshit::RepeatCase
+-  warmup      yes
+-  iterations  2000
+-
+-  truncate_data do
+-    alpha_level 0.05
+-    window_size 50
+-    slope_angle 0.1
+-  end
+-
+-  autocorrelation do
+-    alpha_level 0.05
+-    max_lags    50
+-    file        yes
+-  end
+-
+-  output_dir File.join(File.dirname(__FILE__), 'data')
+-  output_filename benchmark_name + '.log'
+-  data_file yes
+-  histogram yes
+-
+-  def setup
+-    @big = @json = File.read(File.join(File.dirname(__FILE__), 'ohai.json'))
+-  end
+-
+-  def benchmark_parser
+-    @result = Yajl::Parser.new.parse(@json)
+-  end
+-
+-  def generic_reset_method
+-    @result == @big or raise "not equal"
+-  end
+-end
+-
+-if $0 == __FILE__
+-  Bullshit::Case.autorun false
+-
+-  case ARGV.first
+-  when 'ext'
+-    Parser2BenchmarkExt.run
+-  when 'pure'
+-    Parser2BenchmarkPure.run
+-  when 'yaml'
+-    Parser2BenchmarkYAML.run
+-  when 'rails'
+-    Parser2BenchmarkRails.run
+-  when 'yajl'
+-    Parser2BenchmarkYajl.run
+-  else
+-    system "#{RAKE_PATH} clean"
+-    system "#{RUBY_PATH} #$0 yaml"
+-    system "#{RUBY_PATH} #$0 rails"
+-    system "#{RUBY_PATH} #$0 pure"
+-    system "#{RAKE_PATH} compile_ext"
+-    system "#{RUBY_PATH} #$0 ext"
+-    system "#{RUBY_PATH} #$0 yajl"
+-    Bullshit.compare do
+-      output_filename File.join(File.dirname(__FILE__), 'data', 'Parser2BenchmarkComparison.log')
+-
+-      benchmark Parser2BenchmarkExt,   :parser, :load => yes
+-      benchmark Parser2BenchmarkExt,   :parser_symbolic, :load => yes
+-      benchmark Parser2BenchmarkPure,  :parser, :load => yes
+-      benchmark Parser2BenchmarkPure,  :parser_symbolic, :load => yes
+-      benchmark Parser2BenchmarkYAML,  :parser, :load => yes
+-      benchmark Parser2BenchmarkRails, :parser, :load => yes
+-      benchmark Parser2BenchmarkYajl,  :parser, :load => yes
+-    end
+-  end
+-end
+diff --git a/lib/mcollective/vendor/json/benchmarks/parser_benchmark.rb b/lib/mcollective/vendor/json/benchmarks/parser_benchmark.rb
+deleted file mode 100755
+index 9ce7e25..0000000
+--- a/lib/mcollective/vendor/json/benchmarks/parser_benchmark.rb
++++ /dev/null
+@@ -1,259 +0,0 @@
+-#!/usr/bin/env ruby
+-# CODING: UTF-8
+-
+-require 'rbconfig'
+-RUBY_PATH=File.join(Config::CONFIG['bindir'], Config::CONFIG['ruby_install_name'])
+-RAKE_PATH=File.join(Config::CONFIG['bindir'], 'rake')
+-require 'bullshit'
+-case ARGV.first
+-when 'ext'
+-  require 'json/ext'
+-when 'pure'
+-  require 'json/pure'
+-when 'yaml'
+-  require 'yaml'
+-  require 'json/pure'
+-when 'rails'
+-  require 'active_support'
+-  require 'json/pure'
+-when 'yajl'
+-  require 'yajl'
+-  require 'json/pure'
+-else
+-  require 'json/pure'
+-end
+-
+-module ParserBenchmarkCommon
+-  include JSON
+-
+-  def setup
+-    a = [ nil, false, true, "fÖß\nÄr", [ "n€st€d", true ], { "fooß" => "bär", "qu\r\nux" => true } ]
+-    @big = a * 100
+-    @json = JSON.generate(@big)
+-  end
+-
+-  def generic_reset_method
+-    @result == @big or raise "not equal"
+-  end
+-end
+-
+-class ParserBenchmarkExt < Bullshit::RepeatCase
+-  include ParserBenchmarkCommon
+-
+-  warmup      yes
+-  iterations  2000
+-
+-  truncate_data do
+-    enabled false
+-    alpha_level 0.05
+-    window_size 50
+-    slope_angle 0.1
+-  end
+-
+-  autocorrelation do
+-    alpha_level 0.05
+-    max_lags    50
+-    file        yes
+-  end
+-
+-  output_dir File.join(File.dirname(__FILE__), 'data')
+-  output_filename benchmark_name + '.log'
+-  data_file yes
+-  histogram yes
+-
+-  def benchmark_parser
+-    @result = JSON.parse(@json)
+-  end
+-
+-  alias reset_parser generic_reset_method
+-
+-  def benchmark_parser_symbolic
+-    @result = JSON.parse(@json, :symbolize_names => true)
+-  end
+-
+-  alias reset_parser_symbolc generic_reset_method
+-end
+-
+-class ParserBenchmarkPure < Bullshit::RepeatCase
+-  include ParserBenchmarkCommon
+-
+-  warmup      yes
+-  iterations  400
+-
+-  truncate_data do
+-    enabled false
+-    alpha_level 0.05
+-    window_size 50
+-    slope_angle 0.1
+-  end
+-
+-  autocorrelation do
+-    alpha_level 0.05
+-    max_lags    50
+-    file        yes
+-  end
+-
+-  output_dir File.join(File.dirname(__FILE__), 'data')
+-  output_filename benchmark_name + '.log'
+-  data_file yes
+-  histogram yes
+-
+-  def benchmark_parser
+-    @result = JSON.parse(@json)
+-  end
+-
+-  alias reset_parser generic_reset_method
+-
+-  def benchmark_parser_symbolic
+-    @result = JSON.parse(@json, :symbolize_names => true)
+-  end
+-
+-  alias reset_parser_symbolc generic_reset_method
+-end
+-
+-class ParserBenchmarkYAML < Bullshit::RepeatCase
+-  warmup      yes
+-  iterations  400
+-
+-  truncate_data do
+-    enabled false
+-    alpha_level 0.05
+-    window_size 50
+-    slope_angle 0.1
+-  end
+-
+-  autocorrelation do
+-    alpha_level 0.05
+-    max_lags    50
+-    file        yes
+-  end
+-
+-  output_dir File.join(File.dirname(__FILE__), 'data')
+-  output_filename benchmark_name + '.log'
+-  data_file yes
+-  histogram yes
+-
+-  def setup
+-    a = [ nil, false, true, "fÖß\nÄr", [ "n€st€d", true ], { "fooß" => "bär", "qu\r\nux" => true } ]
+-    @big = a * 100
+-    @json = JSON.pretty_generate(@big)
+-  end
+-
+-  def benchmark_parser
+-    @result = YAML.load(@json)
+-  end
+-
+-  def generic_reset_method
+-    @result == @big or raise "not equal"
+-  end
+-end
+-
+-class ParserBenchmarkRails < Bullshit::RepeatCase
+-  warmup      yes
+-  iterations  400
+-
+-  truncate_data do
+-    enabled false
+-    alpha_level 0.05
+-    window_size 50
+-    slope_angle 0.1
+-  end
+-
+-  autocorrelation do
+-    alpha_level 0.05
+-    max_lags    50
+-    file        yes
+-  end
+-
+-  output_dir File.join(File.dirname(__FILE__), 'data')
+-  output_filename benchmark_name + '.log'
+-  data_file yes
+-  histogram yes
+-
+-  def setup
+-    a = [ nil, false, true, "fÖß\nÄr", [ "n€st€d", true ], { "fooß" => "bär", "qu\r\nux" => true } ]
+-    @big = a * 100
+-    @json = JSON.generate(@big)
+-  end
+-
+-  def benchmark_parser
+-    @result = ActiveSupport::JSON.decode(@json)
+-  end
+-
+-  def generic_reset_method
+-    @result == @big or raise "not equal"
+-  end
+-end
+-
+-class ParserBenchmarkYajl < Bullshit::RepeatCase
+-  warmup      yes
+-  iterations  2000
+-
+-  truncate_data do
+-    enabled false
+-    alpha_level 0.05
+-    window_size 50
+-    slope_angle 0.1
+-  end
+-
+-  autocorrelation do
+-    alpha_level 0.05
+-    max_lags    50
+-    file        yes
+-  end
+-
+-  output_dir File.join(File.dirname(__FILE__), 'data')
+-  output_filename benchmark_name + '.log'
+-  data_file yes
+-  histogram yes
+-
+-  def setup
+-    a = [ nil, false, true, "fÖß\nÄr", [ "n€st€d", true ], { "fooß" => "bär", "qu\r\nux" => true } ]
+-    @big = a * 100
+-    @json = JSON.generate(@big)
+-  end
+-
+-  def benchmark_parser
+-    @result = Yajl::Parser.new.parse(@json)
+-  end
+-
+-  def generic_reset_method
+-    @result == @big or raise "not equal"
+-  end
+-end
+-
+-if $0 == __FILE__
+-  Bullshit::Case.autorun false
+-
+-  case ARGV.first
+-  when 'ext'
+-    ParserBenchmarkExt.run
+-  when 'pure'
+-    ParserBenchmarkPure.run
+-  when 'yaml'
+-    ParserBenchmarkYAML.run
+-  when 'rails'
+-    ParserBenchmarkRails.run
+-  when 'yajl'
+-    ParserBenchmarkYajl.run
+-  else
+-    system "#{RAKE_PATH} clean"
+-    system "#{RUBY_PATH} #$0 yaml"
+-    system "#{RUBY_PATH} #$0 rails"
+-    system "#{RUBY_PATH} #$0 pure"
+-    system "#{RAKE_PATH} compile_ext"
+-    system "#{RUBY_PATH} #$0 ext"
+-    system "#{RUBY_PATH} #$0 yajl"
+-    Bullshit.compare do
+-      output_filename File.join(File.dirname(__FILE__), 'data', 'ParserBenchmarkComparison.log')
+-
+-      benchmark ParserBenchmarkExt,   :parser, :load => yes
+-      benchmark ParserBenchmarkExt,   :parser_symbolic, :load => yes
+-      benchmark ParserBenchmarkPure,  :parser, :load => yes
+-      benchmark ParserBenchmarkPure,  :parser_symbolic, :load => yes
+-      benchmark ParserBenchmarkYAML,  :parser, :load => yes
+-      benchmark ParserBenchmarkRails, :parser, :load => yes
+-      benchmark ParserBenchmarkYajl,  :parser, :load => yes
+-    end
+-  end
+-end
+diff --git a/lib/mcollective/vendor/json/bin/edit_json.rb b/lib/mcollective/vendor/json/bin/edit_json.rb
+deleted file mode 100755
+index 04a8189..0000000
+--- a/lib/mcollective/vendor/json/bin/edit_json.rb
++++ /dev/null
+@@ -1,9 +0,0 @@
+-#!/usr/bin/env ruby
+-require 'json/editor'
+-
+-filename, encoding = ARGV
+-JSON::Editor.start(encoding) do |window|
+-  if filename
+-    window.file_open(filename)
+-  end
+-end
+diff --git a/lib/mcollective/vendor/json/bin/prettify_json.rb b/lib/mcollective/vendor/json/bin/prettify_json.rb
+deleted file mode 100755
+index 5e1f806..0000000
+--- a/lib/mcollective/vendor/json/bin/prettify_json.rb
++++ /dev/null
+@@ -1,75 +0,0 @@
+-#!/usr/bin/env ruby
+-
+-require 'json'
+-require 'fileutils'
+-include FileUtils
+-
+-# Parses the argument array _args_, according to the pattern _s_, to
+-# retrieve the single character command line options from it. If _s_ is
+-# 'xy:' an option '-x' without an option argument is searched, and an
+-# option '-y foo' with an option argument ('foo').
+-#
+-# An option hash is returned with all found options set to true or the
+-# found option argument.
+-def go(s, args = ARGV)
+-  b, v = s.scan(/(.)(:?)/).inject([{},{}]) { |t,(o,a)|
+-    t[a.empty? ? 0 : 1][o] = a.empty? ? false : nil
+-    t
+-  }
+-  while a = args.shift
+-    a !~ /\A-(.+)/ and args.unshift a and break
+-    p = $1
+-    until p == ''
+-      o = p.slice!(0, 1)
+-      if v.key?(o)
+-        v[o] = if p == '' then args.shift or break 1 else p end
+-        break
+-      elsif b.key?(o)
+-        b[o] = true
+-      else
+-        args.unshift a
+-        break 1
+-      end
+-    end and break
+-  end
+-  b.merge(v)
+-end
+-
+-opts = go 'slhi:', args = ARGV.dup
+-if opts['h'] || opts['l'] && opts['s']
+-  puts <<EOT
+-Usage: #{File.basename($0)} [OPTION] [FILE]
+-
+-If FILE is skipped, this scripts waits for input from STDIN. Otherwise
+-FILE is opened, read, and used as input for the prettifier.
+-
+-OPTION can be
+-  -s     to output the shortest possible JSON (precludes -l)
+-  -l     to output a longer, better formatted JSON (precludes -s)
+-  -i EXT prettifies FILE in place, saving a backup to FILE.EXT
+-  -h     this help
+-EOT
+-  exit 0
+-end
+-
+-filename = nil
+-json = JSON[
+-  if args.empty?
+-    STDIN.read
+-  else
+-    File.read filename = args.first
+-  end
+-]
+-
+-output = if opts['s']
+-  JSON.fast_generate json
+-else # default is -l
+-  JSON.pretty_generate json
+-end
+-
+-if opts['i'] && filename
+-  cp filename, "#{filename}.#{opts['i']}"
+-  File.open(filename, 'w') { |f| f.puts output }
+-else
+-  puts output
+-end
+diff --git a/lib/mcollective/vendor/json/data/example.json b/lib/mcollective/vendor/json/data/example.json
+deleted file mode 100644
+index 88b4e82..0000000
+--- a/lib/mcollective/vendor/json/data/example.json
++++ /dev/null
+@@ -1 +0,0 @@
+-{"a":2,"b":3.141,"TIME":"2007-03-14T11:52:40","c":"c","d":[1,"b",3.14],"COUNT":666,"e":{"foo":"bar"},"foo":"B\u00e4r","g":"\u677e\u672c\u884c\u5f18","h":1000.0,"bar":"\u00a9 \u2260 \u20ac!","i":0.001,"j":"\ud840\udc01"}
+diff --git a/lib/mcollective/vendor/json/data/index.html b/lib/mcollective/vendor/json/data/index.html
+deleted file mode 100644
+index abe6fdb..0000000
+--- a/lib/mcollective/vendor/json/data/index.html
++++ /dev/null
+@@ -1,38 +0,0 @@
+-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+-        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+-<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
+-  <head>
+-    <title>Javascript Example</title>
+-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>    
+-    <script src="prototype.js" type="text/javascript"></script>
+-  </head>
+-
+-  <body>
+-    <h1>Fetching object from server</h1>
+-    <div id="list">
+-      Wait...<br/>
+-      <noscript><p>Switch on Javascript!</p></noscript>
+-    </div>
+-    <script type="text/javascript">
+-    <!--
+-    function pollJSON() {
+-      new Ajax.Request('/json',
+-        {
+-          method: 'get',
+-          onSuccess: function(transport) {
+-            var response = transport.responseText || "no response text";
+-            response = eval("(" + response + ")");
+-            var text = "";
+-            for (var k in response) {
+-              text = text + "<b>" + k + "</b>: " + response[k] + "<br/>"
+-            }
+-            $("list").update(text);
+-          },
+-          onFailure: function() { alert('Something went wrong...') }
+-        });
+-    }
+-    new PeriodicalExecuter(pollJSON, 1);
+-    -->
+-    </script>
+-  </body>
+-</html>
+diff --git a/lib/mcollective/vendor/json/data/prototype.js b/lib/mcollective/vendor/json/data/prototype.js
+deleted file mode 100644
+index 5c73462..0000000
+--- a/lib/mcollective/vendor/json/data/prototype.js
++++ /dev/null
+@@ -1,4184 +0,0 @@
+-/*  Prototype JavaScript framework, version 1.6.0
+- *  (c) 2005-2007 Sam Stephenson
+- *
+- *  Prototype is freely distributable under the terms of an MIT-style license.
+- *  For details, see the Prototype web site: http://www.prototypejs.org/
+- *
+- *--------------------------------------------------------------------------*/
+-
+-var Prototype = {
+-  Version: '1.6.0',
+-
+-  Browser: {
+-    IE:     !!(window.attachEvent && !window.opera),
+-    Opera:  !!window.opera,
+-    WebKit: navigator.userAgent.indexOf('AppleWebKit/') > -1,
+-    Gecko:  navigator.userAgent.indexOf('Gecko') > -1 && navigator.userAgent.indexOf('KHTML') == -1,
+-    MobileSafari: !!navigator.userAgent.match(/Apple.*Mobile.*Safari/)
+-  },
+-
+-  BrowserFeatures: {
+-    XPath: !!document.evaluate,
+-    ElementExtensions: !!window.HTMLElement,
+-    SpecificElementExtensions:
+-      document.createElement('div').__proto__ &&
+-      document.createElement('div').__proto__ !==
+-        document.createElement('form').__proto__
+-  },
+-
+-  ScriptFragment: '<script[^>]*>([\\S\\s]*?)<\/script>',
+-  JSONFilter: /^\/\*-secure-([\s\S]*)\*\/\s*$/,
+-
+-  emptyFunction: function() { },
+-  K: function(x) { return x }
+-};
+-
+-if (Prototype.Browser.MobileSafari)
+-  Prototype.BrowserFeatures.SpecificElementExtensions = false;
+-
+-if (Prototype.Browser.WebKit)
+-  Prototype.BrowserFeatures.XPath = false;
+-
+-/* Based on Alex Arnell's inheritance implementation. */
+-var Class = {
+-  create: function() {
+-    var parent = null, properties = $A(arguments);
+-    if (Object.isFunction(properties[0]))
+-      parent = properties.shift();
+-
+-    function klass() {
+-      this.initialize.apply(this, arguments);
+-    }
+-
+-    Object.extend(klass, Class.Methods);
+-    klass.superclass = parent;
+-    klass.subclasses = [];
+-
+-    if (parent) {
+-      var subclass = function() { };
+-      subclass.prototype = parent.prototype;
+-      klass.prototype = new subclass;
+-      parent.subclasses.push(klass);
+-    }
+-
+-    for (var i = 0; i < properties.length; i++)
+-      klass.addMethods(properties[i]);
+-
+-    if (!klass.prototype.initialize)
+-      klass.prototype.initialize = Prototype.emptyFunction;
+-
+-    klass.prototype.constructor = klass;
+-
+-    return klass;
+-  }
+-};
+-
+-Class.Methods = {
+-  addMethods: function(source) {
+-    var ancestor   = this.superclass && this.superclass.prototype;
+-    var properties = Object.keys(source);
+-
+-    if (!Object.keys({ toString: true }).length)
+-      properties.push("toString", "valueOf");
+-
+-    for (var i = 0, length = properties.length; i < length; i++) {
+-      var property = properties[i], value = source[property];
+-      if (ancestor && Object.isFunction(value) &&
+-          value.argumentNames().first() == "$super") {
+-        var method = value, value = Object.extend((function(m) {
+-          return function() { return ancestor[m].apply(this, arguments) };
+-        })(property).wrap(method), {
+-          valueOf:  function() { return method },
+-          toString: function() { return method.toString() }
+-        });
+-      }
+-      this.prototype[property] = value;
+-    }
+-
+-    return this;
+-  }
+-};
+-
+-var Abstract = { };
+-
+-Object.extend = function(destination, source) {
+-  for (var property in source)
+-    destination[property] = source[property];
+-  return destination;
+-};
+-
+-Object.extend(Object, {
+-  inspect: function(object) {
+-    try {
+-      if (object === undefined) return 'undefined';
+-      if (object === null) return 'null';
+-      return object.inspect ? object.inspect() : object.toString();
+-    } catch (e) {
+-      if (e instanceof RangeError) return '...';
+-      throw e;
+-    }
+-  },
+-
+-  toJSON: function(object) {
+-    var type = typeof object;
+-    switch (type) {
+-      case 'undefined':
+-      case 'function':
+-      case 'unknown': return;
+-      case 'boolean': return object.toString();
+-    }
+-
+-    if (object === null) return 'null';
+-    if (object.toJSON) return object.toJSON();
+-    if (Object.isElement(object)) return;
+-
+-    var results = [];
+-    for (var property in object) {
+-      var value = Object.toJSON(object[property]);
+-      if (value !== undefined)
+-        results.push(property.toJSON() + ': ' + value);
+-    }
+-
+-    return '{' + results.join(', ') + '}';
+-  },
+-
+-  toQueryString: function(object) {
+-    return $H(object).toQueryString();
+-  },
+-
+-  toHTML: function(object) {
+-    return object && object.toHTML ? object.toHTML() : String.interpret(object);
+-  },
+-
+-  keys: function(object) {
+-    var keys = [];
+-    for (var property in object)
+-      keys.push(property);
+-    return keys;
+-  },
+-
+-  values: function(object) {
+-    var values = [];
+-    for (var property in object)
+-      values.push(object[property]);
+-    return values;
+-  },
+-
+-  clone: function(object) {
+-    return Object.extend({ }, object);
+-  },
+-
+-  isElement: function(object) {
+-    return object && object.nodeType == 1;
+-  },
+-
+-  isArray: function(object) {
+-    return object && object.constructor === Array;
+-  },
+-
+-  isHash: function(object) {
+-    return object instanceof Hash;
+-  },
+-
+-  isFunction: function(object) {
+-    return typeof object == "function";
+-  },
+-
+-  isString: function(object) {
+-    return typeof object == "string";
+-  },
+-
+-  isNumber: function(object) {
+-    return typeof object == "number";
+-  },
+-
+-  isUndefined: function(object) {
+-    return typeof object == "undefined";
+-  }
+-});
+-
+-Object.extend(Function.prototype, {
+-  argumentNames: function() {
+-    var names = this.toString().match(/^[\s\(]*function[^(]*\((.*?)\)/)[1].split(",").invoke("strip");
+-    return names.length == 1 && !names[0] ? [] : names;
+-  },
+-
+-  bind: function() {
+-    if (arguments.length < 2 && arguments[0] === undefined) return this;
+-    var __method = this, args = $A(arguments), object = args.shift();
+-    return function() {
+-      return __method.apply(object, args.concat($A(arguments)));
+-    }
+-  },
+-
+-  bindAsEventListener: function() {
+-    var __method = this, args = $A(arguments), object = args.shift();
+-    return function(event) {
+-      return __method.apply(object, [event || window.event].concat(args));
+-    }
+-  },
+-
+-  curry: function() {
+-    if (!arguments.length) return this;
+-    var __method = this, args = $A(arguments);
+-    return function() {
+-      return __method.apply(this, args.concat($A(arguments)));
+-    }
+-  },
+-
+-  delay: function() {
+-    var __method = this, args = $A(arguments), timeout = args.shift() * 1000;
+-    return window.setTimeout(function() {
+-      return __method.apply(__method, args);
+-    }, timeout);
+-  },
+-
+-  wrap: function(wrapper) {
+-    var __method = this;
+-    return function() {
+-      return wrapper.apply(this, [__method.bind(this)].concat($A(arguments)));
+-    }
+-  },
+-
+-  methodize: function() {
+-    if (this._methodized) return this._methodized;
+-    var __method = this;
+-    return this._methodized = function() {
+-      return __method.apply(null, [this].concat($A(arguments)));
+-    };
+-  }
+-});
+-
+-Function.prototype.defer = Function.prototype.delay.curry(0.01);
+-
+-Date.prototype.toJSON = function() {
+-  return '"' + this.getUTCFullYear() + '-' +
+-    (this.getUTCMonth() + 1).toPaddedString(2) + '-' +
+-    this.getUTCDate().toPaddedString(2) + 'T' +
+-    this.getUTCHours().toPaddedString(2) + ':' +
+-    this.getUTCMinutes().toPaddedString(2) + ':' +
+-    this.getUTCSeconds().toPaddedString(2) + 'Z"';
+-};
+-
+-var Try = {
+-  these: function() {
+-    var returnValue;
+-
+-    for (var i = 0, length = arguments.length; i < length; i++) {
+-      var lambda = arguments[i];
+-      try {
+-        returnValue = lambda();
+-        break;
+-      } catch (e) { }
+-    }
+-
+-    return returnValue;
+-  }
+-};
+-
+-RegExp.prototype.match = RegExp.prototype.test;
+-
+-RegExp.escape = function(str) {
+-  return String(str).replace(/([.*+?^=!:${}()|[\]\/\\])/g, '\\$1');
+-};
+-
+-/*--------------------------------------------------------------------------*/
+-
+-var PeriodicalExecuter = Class.create({
+-  initialize: function(callback, frequency) {
+-    this.callback = callback;
+-    this.frequency = frequency;
+-    this.currentlyExecuting = false;
+-
+-    this.registerCallback();
+-  },
+-
+-  registerCallback: function() {
+-    this.timer = setInterval(this.onTimerEvent.bind(this), this.frequency * 1000);
+-  },
+-
+-  execute: function() {
+-    this.callback(this);
+-  },
+-
+-  stop: function() {
+-    if (!this.timer) return;
+-    clearInterval(this.timer);
+-    this.timer = null;
+-  },
+-
+-  onTimerEvent: function() {
+-    if (!this.currentlyExecuting) {
+-      try {
+-        this.currentlyExecuting = true;
+-        this.execute();
+-      } finally {
+-        this.currentlyExecuting = false;
+-      }
+-    }
+-  }
+-});
+-Object.extend(String, {
+-  interpret: function(value) {
+-    return value == null ? '' : String(value);
+-  },
+-  specialChar: {
+-    '\b': '\\b',
+-    '\t': '\\t',
+-    '\n': '\\n',
+-    '\f': '\\f',
+-    '\r': '\\r',
+-    '\\': '\\\\'
+-  }
+-});
+-
+-Object.extend(String.prototype, {
+-  gsub: function(pattern, replacement) {
+-    var result = '', source = this, match;
+-    replacement = arguments.callee.prepareReplacement(replacement);
+-
+-    while (source.length > 0) {
+-      if (match = source.match(pattern)) {
+-        result += source.slice(0, match.index);
+-        result += String.interpret(replacement(match));
+-        source  = source.slice(match.index + match[0].length);
+-      } else {
+-        result += source, source = '';
+-      }
+-    }
+-    return result;
+-  },
+-
+-  sub: function(pattern, replacement, count) {
+-    replacement = this.gsub.prepareReplacement(replacement);
+-    count = count === undefined ? 1 : count;
+-
+-    return this.gsub(pattern, function(match) {
+-      if (--count < 0) return match[0];
+-      return replacement(match);
+-    });
+-  },
+-
+-  scan: function(pattern, iterator) {
+-    this.gsub(pattern, iterator);
+-    return String(this);
+-  },
+-
+-  truncate: function(length, truncation) {
+-    length = length || 30;
+-    truncation = truncation === undefined ? '...' : truncation;
+-    return this.length > length ?
+-      this.slice(0, length - truncation.length) + truncation : String(this);
+-  },
+-
+-  strip: function() {
+-    return this.replace(/^\s+/, '').replace(/\s+$/, '');
+-  },
+-
+-  stripTags: function() {
+-    return this.replace(/<\/?[^>]+>/gi, '');
+-  },
+-
+-  stripScripts: function() {
+-    return this.replace(new RegExp(Prototype.ScriptFragment, 'img'), '');
+-  },
+-
+-  extractScripts: function() {
+-    var matchAll = new RegExp(Prototype.ScriptFragment, 'img');
+-    var matchOne = new RegExp(Prototype.ScriptFragment, 'im');
+-    return (this.match(matchAll) || []).map(function(scriptTag) {
+-      return (scriptTag.match(matchOne) || ['', ''])[1];
+-    });
+-  },
+-
+-  evalScripts: function() {
+-    return this.extractScripts().map(function(script) { return eval(script) });
+-  },
+-
+-  escapeHTML: function() {
+-    var self = arguments.callee;
+-    self.text.data = this;
+-    return self.div.innerHTML;
+-  },
+-
+-  unescapeHTML: function() {
+-    var div = new Element('div');
+-    div.innerHTML = this.stripTags();
+-    return div.childNodes[0] ? (div.childNodes.length > 1 ?
+-      $A(div.childNodes).inject('', function(memo, node) { return memo+node.nodeValue }) :
+-      div.childNodes[0].nodeValue) : '';
+-  },
+-
+-  toQueryParams: function(separator) {
+-    var match = this.strip().match(/([^?#]*)(#.*)?$/);
+-    if (!match) return { };
+-
+-    return match[1].split(separator || '&').inject({ }, function(hash, pair) {
+-      if ((pair = pair.split('='))[0]) {
+-        var key = decodeURIComponent(pair.shift());
+-        var value = pair.length > 1 ? pair.join('=') : pair[0];
+-        if (value != undefined) value = decodeURIComponent(value);
+-
+-        if (key in hash) {
+-          if (!Object.isArray(hash[key])) hash[key] = [hash[key]];
+-          hash[key].push(value);
+-        }
+-        else hash[key] = value;
+-      }
+-      return hash;
+-    });
+-  },
+-
+-  toArray: function() {
+-    return this.split('');
+-  },
+-
+-  succ: function() {
+-    return this.slice(0, this.length - 1) +
+-      String.fromCharCode(this.charCodeAt(this.length - 1) + 1);
+-  },
+-
+-  times: function(count) {
+-    return count < 1 ? '' : new Array(count + 1).join(this);
+-  },
+-
+-  camelize: function() {
+-    var parts = this.split('-'), len = parts.length;
+-    if (len == 1) return parts[0];
+-
+-    var camelized = this.charAt(0) == '-'
+-      ? parts[0].charAt(0).toUpperCase() + parts[0].substring(1)
+-      : parts[0];
+-
+-    for (var i = 1; i < len; i++)
+-      camelized += parts[i].charAt(0).toUpperCase() + parts[i].substring(1);
+-
+-    return camelized;
+-  },
+-
+-  capitalize: function() {
+-    return this.charAt(0).toUpperCase() + this.substring(1).toLowerCase();
+-  },
+-
+-  underscore: function() {
+-    return this.gsub(/::/, '/').gsub(/([A-Z]+)([A-Z][a-z])/,'#{1}_#{2}').gsub(/([a-z\d])([A-Z])/,'#{1}_#{2}').gsub(/-/,'_').toLowerCase();
+-  },
+-
+-  dasherize: function() {
+-    return this.gsub(/_/,'-');
+-  },
+-
+-  inspect: function(useDoubleQuotes) {
+-    var escapedString = this.gsub(/[\x00-\x1f\\]/, function(match) {
+-      var character = String.specialChar[match[0]];
+-      return character ? character : '\\u00' + match[0].charCodeAt().toPaddedString(2, 16);
+-    });
+-    if (useDoubleQuotes) return '"' + escapedString.replace(/"/g, '\\"') + '"';
+-    return "'" + escapedString.replace(/'/g, '\\\'') + "'";
+-  },
+-
+-  toJSON: function() {
+-    return this.inspect(true);
+-  },
+-
+-  unfilterJSON: function(filter) {
+-    return this.sub(filter || Prototype.JSONFilter, '#{1}');
+-  },
+-
+-  isJSON: function() {
+-    var str = this.replace(/\\./g, '@').replace(/"[^"\\\n\r]*"/g, '');
+-    return (/^[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]*$/).test(str);
+-  },
+-
+-  evalJSON: function(sanitize) {
+-    var json = this.unfilterJSON();
+-    try {
+-      if (!sanitize || json.isJSON()) return eval('(' + json + ')');
+-    } catch (e) { }
+-    throw new SyntaxError('Badly formed JSON string: ' + this.inspect());
+-  },
+-
+-  include: function(pattern) {
+-    return this.indexOf(pattern) > -1;
+-  },
+-
+-  startsWith: function(pattern) {
+-    return this.indexOf(pattern) === 0;
+-  },
+-
+-  endsWith: function(pattern) {
+-    var d = this.length - pattern.length;
+-    return d >= 0 && this.lastIndexOf(pattern) === d;
+-  },
+-
+-  empty: function() {
+-    return this == '';
+-  },
+-
+-  blank: function() {
+-    return /^\s*$/.test(this);
+-  },
+-
+-  interpolate: function(object, pattern) {
+-    return new Template(this, pattern).evaluate(object);
+-  }
+-});
+-
+-if (Prototype.Browser.WebKit || Prototype.Browser.IE) Object.extend(String.prototype, {
+-  escapeHTML: function() {
+-    return this.replace(/&/g,'&amp;').replace(/</g,'&lt;').replace(/>/g,'&gt;');
+-  },
+-  unescapeHTML: function() {
+-    return this.replace(/&amp;/g,'&').replace(/&lt;/g,'<').replace(/&gt;/g,'>');
+-  }
+-});
+-
+-String.prototype.gsub.prepareReplacement = function(replacement) {
+-  if (Object.isFunction(replacement)) return replacement;
+-  var template = new Template(replacement);
+-  return function(match) { return template.evaluate(match) };
+-};
+-
+-String.prototype.parseQuery = String.prototype.toQueryParams;
+-
+-Object.extend(String.prototype.escapeHTML, {
+-  div:  document.createElement('div'),
+-  text: document.createTextNode('')
+-});
+-
+-with (String.prototype.escapeHTML) div.appendChild(text);
+-
+-var Template = Class.create({
+-  initialize: function(template, pattern) {
+-    this.template = template.toString();
+-    this.pattern = pattern || Template.Pattern;
+-  },
+-
+-  evaluate: function(object) {
+-    if (Object.isFunction(object.toTemplateReplacements))
+-      object = object.toTemplateReplacements();
+-
+-    return this.template.gsub(this.pattern, function(match) {
+-      if (object == null) return '';
+-
+-      var before = match[1] || '';
+-      if (before == '\\') return match[2];
+-
+-      var ctx = object, expr = match[3];
+-      var pattern = /^([^.[]+|\[((?:.*?[^\\])?)\])(\.|\[|$)/, match = pattern.exec(expr);
+-      if (match == null) return before;
+-
+-      while (match != null) {
+-        var comp = match[1].startsWith('[') ? match[2].gsub('\\\\]', ']') : match[1];
+-        ctx = ctx[comp];
+-        if (null == ctx || '' == match[3]) break;
+-        expr = expr.substring('[' == match[3] ? match[1].length : match[0].length);
+-        match = pattern.exec(expr);
+-      }
+-
+-      return before + String.interpret(ctx);
+-    }.bind(this));
+-  }
+-});
+-Template.Pattern = /(^|.|\r|\n)(#\{(.*?)\})/;
+-
+-var $break = { };
+-
+-var Enumerable = {
+-  each: function(iterator, context) {
+-    var index = 0;
+-    iterator = iterator.bind(context);
+-    try {
+-      this._each(function(value) {
+-        iterator(value, index++);
+-      });
+-    } catch (e) {
+-      if (e != $break) throw e;
+-    }
+-    return this;
+-  },
+-
+-  eachSlice: function(number, iterator, context) {
+-    iterator = iterator ? iterator.bind(context) : Prototype.K;
+-    var index = -number, slices = [], array = this.toArray();
+-    while ((index += number) < array.length)
+-      slices.push(array.slice(index, index+number));
+-    return slices.collect(iterator, context);
+-  },
+-
+-  all: function(iterator, context) {
+-    iterator = iterator ? iterator.bind(context) : Prototype.K;
+-    var result = true;
+-    this.each(function(value, index) {
+-      result = result && !!iterator(value, index);
+-      if (!result) throw $break;
+-    });
+-    return result;
+-  },
+-
+-  any: function(iterator, context) {
+-    iterator = iterator ? iterator.bind(context) : Prototype.K;
+-    var result = false;
+-    this.each(function(value, index) {
+-      if (result = !!iterator(value, index))
+-        throw $break;
+-    });
+-    return result;
+-  },
+-
+-  collect: function(iterator, context) {
+-    iterator = iterator ? iterator.bind(context) : Prototype.K;
+-    var results = [];
+-    this.each(function(value, index) {
+-      results.push(iterator(value, index));
+-    });
+-    return results;
+-  },
+-
+-  detect: function(iterator, context) {
+-    iterator = iterator.bind(context);
+-    var result;
+-    this.each(function(value, index) {
+-      if (iterator(value, index)) {
+-        result = value;
+-        throw $break;
+-      }
+-    });
+-    return result;
+-  },
+-
+-  findAll: function(iterator, context) {
+-    iterator = iterator.bind(context);
+-    var results = [];
+-    this.each(function(value, index) {
+-      if (iterator(value, index))
+-        results.push(value);
+-    });
+-    return results;
+-  },
+-
+-  grep: function(filter, iterator, context) {
+-    iterator = iterator ? iterator.bind(context) : Prototype.K;
+-    var results = [];
+-
+-    if (Object.isString(filter))
+-      filter = new RegExp(filter);
+-
+-    this.each(function(value, index) {
+-      if (filter.match(value))
+-        results.push(iterator(value, index));
+-    });
+-    return results;
+-  },
+-
+-  include: function(object) {
+-    if (Object.isFunction(this.indexOf))
+-      if (this.indexOf(object) != -1) return true;
+-
+-    var found = false;
+-    this.each(function(value) {
+-      if (value == object) {
+-        found = true;
+-        throw $break;
+-      }
+-    });
+-    return found;
+-  },
+-
+-  inGroupsOf: function(number, fillWith) {
+-    fillWith = fillWith === undefined ? null : fillWith;
+-    return this.eachSlice(number, function(slice) {
+-      while(slice.length < number) slice.push(fillWith);
+-      return slice;
+-    });
+-  },
+-
+-  inject: function(memo, iterator, context) {
+-    iterator = iterator.bind(context);
+-    this.each(function(value, index) {
+-      memo = iterator(memo, value, index);
+-    });
+-    return memo;
+-  },
+-
+-  invoke: function(method) {
+-    var args = $A(arguments).slice(1);
+-    return this.map(function(value) {
+-      return value[method].apply(value, args);
+-    });
+-  },
+-
+-  max: function(iterator, context) {
+-    iterator = iterator ? iterator.bind(context) : Prototype.K;
+-    var result;
+-    this.each(function(value, index) {
+-      value = iterator(value, index);
+-      if (result == undefined || value >= result)
+-        result = value;
+-    });
+-    return result;
+-  },
+-
+-  min: function(iterator, context) {
+-    iterator = iterator ? iterator.bind(context) : Prototype.K;
+-    var result;
+-    this.each(function(value, index) {
+-      value = iterator(value, index);
+-      if (result == undefined || value < result)
+-        result = value;
+-    });
+-    return result;
+-  },
+-
+-  partition: function(iterator, context) {
+-    iterator = iterator ? iterator.bind(context) : Prototype.K;
+-    var trues = [], falses = [];
+-    this.each(function(value, index) {
+-      (iterator(value, index) ?
+-        trues : falses).push(value);
+-    });
+-    return [trues, falses];
+-  },
+-
+-  pluck: function(property) {
+-    var results = [];
+-    this.each(function(value) {
+-      results.push(value[property]);
+-    });
+-    return results;
+-  },
+-
+-  reject: function(iterator, context) {
+-    iterator = iterator.bind(context);
+-    var results = [];
+-    this.each(function(value, index) {
+-      if (!iterator(value, index))
+-        results.push(value);
+-    });
+-    return results;
+-  },
+-
+-  sortBy: function(iterator, context) {
+-    iterator = iterator.bind(context);
+-    return this.map(function(value, index) {
+-      return {value: value, criteria: iterator(value, index)};
+-    }).sort(function(left, right) {
+-      var a = left.criteria, b = right.criteria;
+-      return a < b ? -1 : a > b ? 1 : 0;
+-    }).pluck('value');
+-  },
+-
+-  toArray: function() {
+-    return this.map();
+-  },
+-
+-  zip: function() {
+-    var iterator = Prototype.K, args = $A(arguments);
+-    if (Object.isFunction(args.last()))
+-      iterator = args.pop();
+-
+-    var collections = [this].concat(args).map($A);
+-    return this.map(function(value, index) {
+-      return iterator(collections.pluck(index));
+-    });
+-  },
+-
+-  size: function() {
+-    return this.toArray().length;
+-  },
+-
+-  inspect: function() {
+-    return '#<Enumerable:' + this.toArray().inspect() + '>';
+-  }
+-};
+-
+-Object.extend(Enumerable, {
+-  map:     Enumerable.collect,
+-  find:    Enumerable.detect,
+-  select:  Enumerable.findAll,
+-  filter:  Enumerable.findAll,
+-  member:  Enumerable.include,
+-  entries: Enumerable.toArray,
+-  every:   Enumerable.all,
+-  some:    Enumerable.any
+-});
+-function $A(iterable) {
+-  if (!iterable) return [];
+-  if (iterable.toArray) return iterable.toArray();
+-  var length = iterable.length, results = new Array(length);
+-  while (length--) results[length] = iterable[length];
+-  return results;
+-}
+-
+-if (Prototype.Browser.WebKit) {
+-  function $A(iterable) {
+-    if (!iterable) return [];
+-    if (!(Object.isFunction(iterable) && iterable == '[object NodeList]') &&
+-        iterable.toArray) return iterable.toArray();
+-    var length = iterable.length, results = new Array(length);
+-    while (length--) results[length] = iterable[length];
+-    return results;
+-  }
+-}
+-
+-Array.from = $A;
+-
+-Object.extend(Array.prototype, Enumerable);
+-
+-if (!Array.prototype._reverse) Array.prototype._reverse = Array.prototype.reverse;
+-
+-Object.extend(Array.prototype, {
+-  _each: function(iterator) {
+-    for (var i = 0, length = this.length; i < length; i++)
+-      iterator(this[i]);
+-  },
+-
+-  clear: function() {
+-    this.length = 0;
+-    return this;
+-  },
+-
+-  first: function() {
+-    return this[0];
+-  },
+-
+-  last: function() {
+-    return this[this.length - 1];
+-  },
+-
+-  compact: function() {
+-    return this.select(function(value) {
+-      return value != null;
+-    });
+-  },
+-
+-  flatten: function() {
+-    return this.inject([], function(array, value) {
+-      return array.concat(Object.isArray(value) ?
+-        value.flatten() : [value]);
+-    });
+-  },
+-
+-  without: function() {
+-    var values = $A(arguments);
+-    return this.select(function(value) {
+-      return !values.include(value);
+-    });
+-  },
+-
+-  reverse: function(inline) {
+-    return (inline !== false ? this : this.toArray())._reverse();
+-  },
+-
+-  reduce: function() {
+-    return this.length > 1 ? this : this[0];
+-  },
+-
+-  uniq: function(sorted) {
+-    return this.inject([], function(array, value, index) {
+-      if (0 == index || (sorted ? array.last() != value : !array.include(value)))
+-        array.push(value);
+-      return array;
+-    });
+-  },
+-
+-  intersect: function(array) {
+-    return this.uniq().findAll(function(item) {
+-      return array.detect(function(value) { return item === value });
+-    });
+-  },
+-
+-  clone: function() {
+-    return [].concat(this);
+-  },
+-
+-  size: function() {
+-    return this.length;
+-  },
+-
+-  inspect: function() {
+-    return '[' + this.map(Object.inspect).join(', ') + ']';
+-  },
+-
+-  toJSON: function() {
+-    var results = [];
+-    this.each(function(object) {
+-      var value = Object.toJSON(object);
+-      if (value !== undefined) results.push(value);
+-    });
+-    return '[' + results.join(', ') + ']';
+-  }
+-});
+-
+-// use native browser JS 1.6 implementation if available
+-if (Object.isFunction(Array.prototype.forEach))
+-  Array.prototype._each = Array.prototype.forEach;
+-
+-if (!Array.prototype.indexOf) Array.prototype.indexOf = function(item, i) {
+-  i || (i = 0);
+-  var length = this.length;
+-  if (i < 0) i = length + i;
+-  for (; i < length; i++)
+-    if (this[i] === item) return i;
+-  return -1;
+-};
+-
+-if (!Array.prototype.lastIndexOf) Array.prototype.lastIndexOf = function(item, i) {
+-  i = isNaN(i) ? this.length : (i < 0 ? this.length + i : i) + 1;
+-  var n = this.slice(0, i).reverse().indexOf(item);
+-  return (n < 0) ? n : i - n - 1;
+-};
+-
+-Array.prototype.toArray = Array.prototype.clone;
+-
+-function $w(string) {
+-  if (!Object.isString(string)) return [];
+-  string = string.strip();
+-  return string ? string.split(/\s+/) : [];
+-}
+-
+-if (Prototype.Browser.Opera){
+-  Array.prototype.concat = function() {
+-    var array = [];
+-    for (var i = 0, length = this.length; i < length; i++) array.push(this[i]);
+-    for (var i = 0, length = arguments.length; i < length; i++) {
+-      if (Object.isArray(arguments[i])) {
+-        for (var j = 0, arrayLength = arguments[i].length; j < arrayLength; j++)
+-          array.push(arguments[i][j]);
+-      } else {
+-        array.push(arguments[i]);
+-      }
+-    }
+-    return array;
+-  };
+-}
+-Object.extend(Number.prototype, {
+-  toColorPart: function() {
+-    return this.toPaddedString(2, 16);
+-  },
+-
+-  succ: function() {
+-    return this + 1;
+-  },
+-
+-  times: function(iterator) {
+-    $R(0, this, true).each(iterator);
+-    return this;
+-  },
+-
+-  toPaddedString: function(length, radix) {
+-    var string = this.toString(radix || 10);
+-    return '0'.times(length - string.length) + string;
+-  },
+-
+-  toJSON: function() {
+-    return isFinite(this) ? this.toString() : 'null';
+-  }
+-});
+-
+-$w('abs round ceil floor').each(function(method){
+-  Number.prototype[method] = Math[method].methodize();
+-});
+-function $H(object) {
+-  return new Hash(object);
+-};
+-
+-var Hash = Class.create(Enumerable, (function() {
+-  if (function() {
+-    var i = 0, Test = function(value) { this.key = value };
+-    Test.prototype.key = 'foo';
+-    for (var property in new Test('bar')) i++;
+-    return i > 1;
+-  }()) {
+-    function each(iterator) {
+-      var cache = [];
+-      for (var key in this._object) {
+-        var value = this._object[key];
+-        if (cache.include(key)) continue;
+-        cache.push(key);
+-        var pair = [key, value];
+-        pair.key = key;
+-        pair.value = value;
+-        iterator(pair);
+-      }
+-    }
+-  } else {
+-    function each(iterator) {
+-      for (var key in this._object) {
+-        var value = this._object[key], pair = [key, value];
+-        pair.key = key;
+-        pair.value = value;
+-        iterator(pair);
+-      }
+-    }
+-  }
+-
+-  function toQueryPair(key, value) {
+-    if (Object.isUndefined(value)) return key;
+-    return key + '=' + encodeURIComponent(String.interpret(value));
+-  }
+-
+-  return {
+-    initialize: function(object) {
+-      this._object = Object.isHash(object) ? object.toObject() : Object.clone(object);
+-    },
+-
+-    _each: each,
+-
+-    set: function(key, value) {
+-      return this._object[key] = value;
+-    },
+-
+-    get: function(key) {
+-      return this._object[key];
+-    },
+-
+-    unset: function(key) {
+-      var value = this._object[key];
+-      delete this._object[key];
+-      return value;
+-    },
+-
+-    toObject: function() {
+-      return Object.clone(this._object);
+-    },
+-
+-    keys: function() {
+-      return this.pluck('key');
+-    },
+-
+-    values: function() {
+-      return this.pluck('value');
+-    },
+-
+-    index: function(value) {
+-      var match = this.detect(function(pair) {
+-        return pair.value === value;
+-      });
+-      return match && match.key;
+-    },
+-
+-    merge: function(object) {
+-      return this.clone().update(object);
+-    },
+-
+-    update: function(object) {
+-      return new Hash(object).inject(this, function(result, pair) {
+-        result.set(pair.key, pair.value);
+-        return result;
+-      });
+-    },
+-
+-    toQueryString: function() {
+-      return this.map(function(pair) {
+-        var key = encodeURIComponent(pair.key), values = pair.value;
+-
+-        if (values && typeof values == 'object') {
+-          if (Object.isArray(values))
+-            return values.map(toQueryPair.curry(key)).join('&');
+-        }
+-        return toQueryPair(key, values);
+-      }).join('&');
+-    },
+-
+-    inspect: function() {
+-      return '#<Hash:{' + this.map(function(pair) {
+-        return pair.map(Object.inspect).join(': ');
+-      }).join(', ') + '}>';
+-    },
+-
+-    toJSON: function() {
+-      return Object.toJSON(this.toObject());
+-    },
+-
+-    clone: function() {
+-      return new Hash(this);
+-    }
+-  }
+-})());
+-
+-Hash.prototype.toTemplateReplacements = Hash.prototype.toObject;
+-Hash.from = $H;
+-var ObjectRange = Class.create(Enumerable, {
+-  initialize: function(start, end, exclusive) {
+-    this.start = start;
+-    this.end = end;
+-    this.exclusive = exclusive;
+-  },
+-
+-  _each: function(iterator) {
+-    var value = this.start;
+-    while (this.include(value)) {
+-      iterator(value);
+-      value = value.succ();
+-    }
+-  },
+-
+-  include: function(value) {
+-    if (value < this.start)
+-      return false;
+-    if (this.exclusive)
+-      return value < this.end;
+-    return value <= this.end;
+-  }
+-});
+-
+-var $R = function(start, end, exclusive) {
+-  return new ObjectRange(start, end, exclusive);
+-};
+-
+-var Ajax = {
+-  getTransport: function() {
+-    return Try.these(
+-      function() {return new XMLHttpRequest()},
+-      function() {return new ActiveXObject('Msxml2.XMLHTTP')},
+-      function() {return new ActiveXObject('Microsoft.XMLHTTP')}
+-    ) || false;
+-  },
+-
+-  activeRequestCount: 0
+-};
+-
+-Ajax.Responders = {
+-  responders: [],
+-
+-  _each: function(iterator) {
+-    this.responders._each(iterator);
+-  },
+-
+-  register: function(responder) {
+-    if (!this.include(responder))
+-      this.responders.push(responder);
+-  },
+-
+-  unregister: function(responder) {
+-    this.responders = this.responders.without(responder);
+-  },
+-
+-  dispatch: function(callback, request, transport, json) {
+-    this.each(function(responder) {
+-      if (Object.isFunction(responder[callback])) {
+-        try {
+-          responder[callback].apply(responder, [request, transport, json]);
+-        } catch (e) { }
+-      }
+-    });
+-  }
+-};
+-
+-Object.extend(Ajax.Responders, Enumerable);
+-
+-Ajax.Responders.register({
+-  onCreate:   function() { Ajax.activeRequestCount++ },
+-  onComplete: function() { Ajax.activeRequestCount-- }
+-});
+-
+-Ajax.Base = Class.create({
+-  initialize: function(options) {
+-    this.options = {
+-      method:       'post',
+-      asynchronous: true,
+-      contentType:  'application/x-www-form-urlencoded',
+-      encoding:     'UTF-8',
+-      parameters:   '',
+-      evalJSON:     true,
+-      evalJS:       true
+-    };
+-    Object.extend(this.options, options || { });
+-
+-    this.options.method = this.options.method.toLowerCase();
+-    if (Object.isString(this.options.parameters))
+-      this.options.parameters = this.options.parameters.toQueryParams();
+-  }
+-});
+-
+-Ajax.Request = Class.create(Ajax.Base, {
+-  _complete: false,
+-
+-  initialize: function($super, url, options) {
+-    $super(options);
+-    this.transport = Ajax.getTransport();
+-    this.request(url);
+-  },
+-
+-  request: function(url) {
+-    this.url = url;
+-    this.method = this.options.method;
+-    var params = Object.clone(this.options.parameters);
+-
+-    if (!['get', 'post'].include(this.method)) {
+-      // simulate other verbs over post
+-      params['_method'] = this.method;
+-      this.method = 'post';
+-    }
+-
+-    this.parameters = params;
+-
+-    if (params = Object.toQueryString(params)) {
+-      // when GET, append parameters to URL
+-      if (this.method == 'get')
+-        this.url += (this.url.include('?') ? '&' : '?') + params;
+-      else if (/Konqueror|Safari|KHTML/.test(navigator.userAgent))
+-        params += '&_=';
+-    }
+-
+-    try {
+-      var response = new Ajax.Response(this);
+-      if (this.options.onCreate) this.options.onCreate(response);
+-      Ajax.Responders.dispatch('onCreate', this, response);
+-
+-      this.transport.open(this.method.toUpperCase(), this.url,
+-        this.options.asynchronous);
+-
+-      if (this.options.asynchronous) this.respondToReadyState.bind(this).defer(1);
+-
+-      this.transport.onreadystatechange = this.onStateChange.bind(this);
+-      this.setRequestHeaders();
+-
+-      this.body = this.method == 'post' ? (this.options.postBody || params) : null;
+-      this.transport.send(this.body);
+-
+-      /* Force Firefox to handle ready state 4 for synchronous requests */
+-      if (!this.options.asynchronous && this.transport.overrideMimeType)
+-        this.onStateChange();
+-
+-    }
+-    catch (e) {
+-      this.dispatchException(e);
+-    }
+-  },
+-
+-  onStateChange: function() {
+-    var readyState = this.transport.readyState;
+-    if (readyState > 1 && !((readyState == 4) && this._complete))
+-      this.respondToReadyState(this.transport.readyState);
+-  },
+-
+-  setRequestHeaders: function() {
+-    var headers = {
+-      'X-Requested-With': 'XMLHttpRequest',
+-      'X-Prototype-Version': Prototype.Version,
+-      'Accept': 'text/javascript, text/html, application/xml, text/xml, */*'
+-    };
+-
+-    if (this.method == 'post') {
+-      headers['Content-type'] = this.options.contentType +
+-        (this.options.encoding ? '; charset=' + this.options.encoding : '');
+-
+-      /* Force "Connection: close" for older Mozilla browsers to work
+-       * around a bug where XMLHttpRequest sends an incorrect
+-       * Content-length header. See Mozilla Bugzilla #246651.
+-       */
+-      if (this.transport.overrideMimeType &&
+-          (navigator.userAgent.match(/Gecko\/(\d{4})/) || [0,2005])[1] < 2005)
+-            headers['Connection'] = 'close';
+-    }
+-
+-    // user-defined headers
+-    if (typeof this.options.requestHeaders == 'object') {
+-      var extras = this.options.requestHeaders;
+-
+-      if (Object.isFunction(extras.push))
+-        for (var i = 0, length = extras.length; i < length; i += 2)
+-          headers[extras[i]] = extras[i+1];
+-      else
+-        $H(extras).each(function(pair) { headers[pair.key] = pair.value });
+-    }
+-
+-    for (var name in headers)
+-      this.transport.setRequestHeader(name, headers[name]);
+-  },
+-
+-  success: function() {
+-    var status = this.getStatus();
+-    return !status || (status >= 200 && status < 300);
+-  },
+-
+-  getStatus: function() {
+-    try {
+-      return this.transport.status || 0;
+-    } catch (e) { return 0 }
+-  },
+-
+-  respondToReadyState: function(readyState) {
+-    var state = Ajax.Request.Events[readyState], response = new Ajax.Response(this);
+-
+-    if (state == 'Complete') {
+-      try {
+-        this._complete = true;
+-        (this.options['on' + response.status]
+-         || this.options['on' + (this.success() ? 'Success' : 'Failure')]
+-         || Prototype.emptyFunction)(response, response.headerJSON);
+-      } catch (e) {
+-        this.dispatchException(e);
+-      }
+-
+-      var contentType = response.getHeader('Content-type');
+-      if (this.options.evalJS == 'force'
+-          || (this.options.evalJS && contentType
+-          && contentType.match(/^\s*(text|application)\/(x-)?(java|ecma)script(;.*)?\s*$/i)))
+-        this.evalResponse();
+-    }
+-
+-    try {
+-      (this.options['on' + state] || Prototype.emptyFunction)(response, response.headerJSON);
+-      Ajax.Responders.dispatch('on' + state, this, response, response.headerJSON);
+-    } catch (e) {
+-      this.dispatchException(e);
+-    }
+-
+-    if (state == 'Complete') {
+-      // avoid memory leak in MSIE: clean up
+-      this.transport.onreadystatechange = Prototype.emptyFunction;
+-    }
+-  },
+-
+-  getHeader: function(name) {
+-    try {
+-      return this.transport.getResponseHeader(name);
+-    } catch (e) { return null }
+-  },
+-
+-  evalResponse: function() {
+-    try {
+-      return eval((this.transport.responseText || '').unfilterJSON());
+-    } catch (e) {
+-      this.dispatchException(e);
+-    }
+-  },
+-
+-  dispatchException: function(exception) {
+-    (this.options.onException || Prototype.emptyFunction)(this, exception);
+-    Ajax.Responders.dispatch('onException', this, exception);
+-  }
+-});
+-
+-Ajax.Request.Events =
+-  ['Uninitialized', 'Loading', 'Loaded', 'Interactive', 'Complete'];
+-
+-Ajax.Response = Class.create({
+-  initialize: function(request){
+-    this.request = request;
+-    var transport  = this.transport  = request.transport,
+-        readyState = this.readyState = transport.readyState;
+-
+-    if((readyState > 2 && !Prototype.Browser.IE) || readyState == 4) {
+-      this.status       = this.getStatus();
+-      this.statusText   = this.getStatusText();
+-      this.responseText = String.interpret(transport.responseText);
+-      this.headerJSON   = this._getHeaderJSON();
+-    }
+-
+-    if(readyState == 4) {
+-      var xml = transport.responseXML;
+-      this.responseXML  = xml === undefined ? null : xml;
+-      this.responseJSON = this._getResponseJSON();
+-    }
+-  },
+-
+-  status:      0,
+-  statusText: '',
+-
+-  getStatus: Ajax.Request.prototype.getStatus,
+-
+-  getStatusText: function() {
+-    try {
+-      return this.transport.statusText || '';
+-    } catch (e) { return '' }
+-  },
+-
+-  getHeader: Ajax.Request.prototype.getHeader,
+-
+-  getAllHeaders: function() {
+-    try {
+-      return this.getAllResponseHeaders();
+-    } catch (e) { return null }
+-  },
+-
+-  getResponseHeader: function(name) {
+-    return this.transport.getResponseHeader(name);
+-  },
+-
+-  getAllResponseHeaders: function() {
+-    return this.transport.getAllResponseHeaders();
+-  },
+-
+-  _getHeaderJSON: function() {
+-    var json = this.getHeader('X-JSON');
+-    if (!json) return null;
+-    json = decodeURIComponent(escape(json));
+-    try {
+-      return json.evalJSON(this.request.options.sanitizeJSON);
+-    } catch (e) {
+-      this.request.dispatchException(e);
+-    }
+-  },
+-
+-  _getResponseJSON: function() {
+-    var options = this.request.options;
+-    if (!options.evalJSON || (options.evalJSON != 'force' &&
+-      !(this.getHeader('Content-type') || '').include('application/json')))
+-        return null;
+-    try {
+-      return this.transport.responseText.evalJSON(options.sanitizeJSON);
+-    } catch (e) {
+-      this.request.dispatchException(e);
+-    }
+-  }
+-});
+-
+-Ajax.Updater = Class.create(Ajax.Request, {
+-  initialize: function($super, container, url, options) {
+-    this.container = {
+-      success: (container.success || container),
+-      failure: (container.failure || (container.success ? null : container))
+-    };
+-
+-    options = options || { };
+-    var onComplete = options.onComplete;
+-    options.onComplete = (function(response, param) {
+-      this.updateContent(response.responseText);
+-      if (Object.isFunction(onComplete)) onComplete(response, param);
+-    }).bind(this);
+-
+-    $super(url, options);
+-  },
+-
+-  updateContent: function(responseText) {
+-    var receiver = this.container[this.success() ? 'success' : 'failure'],
+-        options = this.options;
+-
+-    if (!options.evalScripts) responseText = responseText.stripScripts();
+-
+-    if (receiver = $(receiver)) {
+-      if (options.insertion) {
+-        if (Object.isString(options.insertion)) {
+-          var insertion = { }; insertion[options.insertion] = responseText;
+-          receiver.insert(insertion);
+-        }
+-        else options.insertion(receiver, responseText);
+-      }
+-      else receiver.update(responseText);
+-    }
+-
+-    if (this.success()) {
+-      if (this.onComplete) this.onComplete.bind(this).defer();
+-    }
+-  }
+-});
+-
+-Ajax.PeriodicalUpdater = Class.create(Ajax.Base, {
+-  initialize: function($super, container, url, options) {
+-    $super(options);
+-    this.onComplete = this.options.onComplete;
+-
+-    this.frequency = (this.options.frequency || 2);
+-    this.decay = (this.options.decay || 1);
+-
+-    this.updater = { };
+-    this.container = container;
+-    this.url = url;
+-
+-    this.start();
+-  },
+-
+-  start: function() {
+-    this.options.onComplete = this.updateComplete.bind(this);
+-    this.onTimerEvent();
+-  },
+-
+-  stop: function() {
+-    this.updater.options.onComplete = undefined;
+-    clearTimeout(this.timer);
+-    (this.onComplete || Prototype.emptyFunction).apply(this, arguments);
+-  },
+-
+-  updateComplete: function(response) {
+-    if (this.options.decay) {
+-      this.decay = (response.responseText == this.lastText ?
+-        this.decay * this.options.decay : 1);
+-
+-      this.lastText = response.responseText;
+-    }
+-    this.timer = this.onTimerEvent.bind(this).delay(this.decay * this.frequency);
+-  },
+-
+-  onTimerEvent: function() {
+-    this.updater = new Ajax.Updater(this.container, this.url, this.options);
+-  }
+-});
+-function $(element) {
+-  if (arguments.length > 1) {
+-    for (var i = 0, elements = [], length = arguments.length; i < length; i++)
+-      elements.push($(arguments[i]));
+-    return elements;
+-  }
+-  if (Object.isString(element))
+-    element = document.getElementById(element);
+-  return Element.extend(element);
+-}
+-
+-if (Prototype.BrowserFeatures.XPath) {
+-  document._getElementsByXPath = function(expression, parentElement) {
+-    var results = [];
+-    var query = document.evaluate(expression, $(parentElement) || document,
+-      null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
+-    for (var i = 0, length = query.snapshotLength; i < length; i++)
+-      results.push(Element.extend(query.snapshotItem(i)));
+-    return results;
+-  };
+-}
+-
+-/*--------------------------------------------------------------------------*/
+-
+-if (!window.Node) var Node = { };
+-
+-if (!Node.ELEMENT_NODE) {
+-  // DOM level 2 ECMAScript Language Binding
+-  Object.extend(Node, {
+-    ELEMENT_NODE: 1,
+-    ATTRIBUTE_NODE: 2,
+-    TEXT_NODE: 3,
+-    CDATA_SECTION_NODE: 4,
+-    ENTITY_REFERENCE_NODE: 5,
+-    ENTITY_NODE: 6,
+-    PROCESSING_INSTRUCTION_NODE: 7,
+-    COMMENT_NODE: 8,
+-    DOCUMENT_NODE: 9,
+-    DOCUMENT_TYPE_NODE: 10,
+-    DOCUMENT_FRAGMENT_NODE: 11,
+-    NOTATION_NODE: 12
+-  });
+-}
+-
+-(function() {
+-  var element = this.Element;
+-  this.Element = function(tagName, attributes) {
+-    attributes = attributes || { };
+-    tagName = tagName.toLowerCase();
+-    var cache = Element.cache;
+-    if (Prototype.Browser.IE && attributes.name) {
+-      tagName = '<' + tagName + ' name="' + attributes.name + '">';
+-      delete attributes.name;
+-      return Element.writeAttribute(document.createElement(tagName), attributes);
+-    }
+-    if (!cache[tagName]) cache[tagName] = Element.extend(document.createElement(tagName));
+-    return Element.writeAttribute(cache[tagName].cloneNode(false), attributes);
+-  };
+-  Object.extend(this.Element, element || { });
+-}).call(window);
+-
+-Element.cache = { };
+-
+-Element.Methods = {
+-  visible: function(element) {
+-    return $(element).style.display != 'none';
+-  },
+-
+-  toggle: function(element) {
+-    element = $(element);
+-    Element[Element.visible(element) ? 'hide' : 'show'](element);
+-    return element;
+-  },
+-
+-  hide: function(element) {
+-    $(element).style.display = 'none';
+-    return element;
+-  },
+-
+-  show: function(element) {
+-    $(element).style.display = '';
+-    return element;
+-  },
+-
+-  remove: function(element) {
+-    element = $(element);
+-    element.parentNode.removeChild(element);
+-    return element;
+-  },
+-
+-  update: function(element, content) {
+-    element = $(element);
+-    if (content && content.toElement) content = content.toElement();
+-    if (Object.isElement(content)) return element.update().insert(content);
+-    content = Object.toHTML(content);
+-    element.innerHTML = content.stripScripts();
+-    content.evalScripts.bind(content).defer();
+-    return element;
+-  },
+-
+-  replace: function(element, content) {
+-    element = $(element);
+-    if (content && content.toElement) content = content.toElement();
+-    else if (!Object.isElement(content)) {
+-      content = Object.toHTML(content);
+-      var range = element.ownerDocument.createRange();
+-      range.selectNode(element);
+-      content.evalScripts.bind(content).defer();
+-      content = range.createContextualFragment(content.stripScripts());
+-    }
+-    element.parentNode.replaceChild(content, element);
+-    return element;
+-  },
+-
+-  insert: function(element, insertions) {
+-    element = $(element);
+-
+-    if (Object.isString(insertions) || Object.isNumber(insertions) ||
+-        Object.isElement(insertions) || (insertions && (insertions.toElement || insertions.toHTML)))
+-          insertions = {bottom:insertions};
+-
+-    var content, t, range;
+-
+-    for (position in insertions) {
+-      content  = insertions[position];
+-      position = position.toLowerCase();
+-      t = Element._insertionTranslations[position];
+-
+-      if (content && content.toElement) content = content.toElement();
+-      if (Object.isElement(content)) {
+-        t.insert(element, content);
+-        continue;
+-      }
+-
+-      content = Object.toHTML(content);
+-
+-      range = element.ownerDocument.createRange();
+-      t.initializeRange(element, range);
+-      t.insert(element, range.createContextualFragment(content.stripScripts()));
+-
+-      content.evalScripts.bind(content).defer();
+-    }
+-
+-    return element;
+-  },
+-
+-  wrap: function(element, wrapper, attributes) {
+-    element = $(element);
+-    if (Object.isElement(wrapper))
+-      $(wrapper).writeAttribute(attributes || { });
+-    else if (Object.isString(wrapper)) wrapper = new Element(wrapper, attributes);
+-    else wrapper = new Element('div', wrapper);
+-    if (element.parentNode)
+-      element.parentNode.replaceChild(wrapper, element);
+-    wrapper.appendChild(element);
+-    return wrapper;
+-  },
+-
+-  inspect: function(element) {
+-    element = $(element);
+-    var result = '<' + element.tagName.toLowerCase();
+-    $H({'id': 'id', 'className': 'class'}).each(function(pair) {
+-      var property = pair.first(), attribute = pair.last();
+-      var value = (element[property] || '').toString();
+-      if (value) result += ' ' + attribute + '=' + value.inspect(true);
+-    });
+-    return result + '>';
+-  },
+-
+-  recursivelyCollect: function(element, property) {
+-    element = $(element);
+-    var elements = [];
+-    while (element = element[property])
+-      if (element.nodeType == 1)
+-        elements.push(Element.extend(element));
+-    return elements;
+-  },
+-
+-  ancestors: function(element) {
+-    return $(element).recursivelyCollect('parentNode');
+-  },
+-
+-  descendants: function(element) {
+-    return $A($(element).getElementsByTagName('*')).each(Element.extend);
+-  },
+-
+-  firstDescendant: function(element) {
+-    element = $(element).firstChild;
+-    while (element && element.nodeType != 1) element = element.nextSibling;
+-    return $(element);
+-  },
+-
+-  immediateDescendants: function(element) {
+-    if (!(element = $(element).firstChild)) return [];
+-    while (element && element.nodeType != 1) element = element.nextSibling;
+-    if (element) return [element].concat($(element).nextSiblings());
+-    return [];
+-  },
+-
+-  previousSiblings: function(element) {
+-    return $(element).recursivelyCollect('previousSibling');
+-  },
+-
+-  nextSiblings: function(element) {
+-    return $(element).recursivelyCollect('nextSibling');
+-  },
+-
+-  siblings: function(element) {
+-    element = $(element);
+-    return element.previousSiblings().reverse().concat(element.nextSiblings());
+-  },
+-
+-  match: function(element, selector) {
+-    if (Object.isString(selector))
+-      selector = new Selector(selector);
+-    return selector.match($(element));
+-  },
+-
+-  up: function(element, expression, index) {
+-    element = $(element);
+-    if (arguments.length == 1) return $(element.parentNode);
+-    var ancestors = element.ancestors();
+-    return expression ? Selector.findElement(ancestors, expression, index) :
+-      ancestors[index || 0];
+-  },
+-
+-  down: function(element, expression, index) {
+-    element = $(element);
+-    if (arguments.length == 1) return element.firstDescendant();
+-    var descendants = element.descendants();
+-    return expression ? Selector.findElement(descendants, expression, index) :
+-      descendants[index || 0];
+-  },
+-
+-  previous: function(element, expression, index) {
+-    element = $(element);
+-    if (arguments.length == 1) return $(Selector.handlers.previousElementSibling(element));
+-    var previousSiblings = element.previousSiblings();
+-    return expression ? Selector.findElement(previousSiblings, expression, index) :
+-      previousSiblings[index || 0];
+-  },
+-
+-  next: function(element, expression, index) {
+-    element = $(element);
+-    if (arguments.length == 1) return $(Selector.handlers.nextElementSibling(element));
+-    var nextSiblings = element.nextSiblings();
+-    return expression ? Selector.findElement(nextSiblings, expression, index) :
+-      nextSiblings[index || 0];
+-  },
+-
+-  select: function() {
+-    var args = $A(arguments), element = $(args.shift());
+-    return Selector.findChildElements(element, args);
+-  },
+-
+-  adjacent: function() {
+-    var args = $A(arguments), element = $(args.shift());
+-    return Selector.findChildElements(element.parentNode, args).without(element);
+-  },
+-
+-  identify: function(element) {
+-    element = $(element);
+-    var id = element.readAttribute('id'), self = arguments.callee;
+-    if (id) return id;
+-    do { id = 'anonymous_element_' + self.counter++ } while ($(id));
+-    element.writeAttribute('id', id);
+-    return id;
+-  },
+-
+-  readAttribute: function(element, name) {
+-    element = $(element);
+-    if (Prototype.Browser.IE) {
+-      var t = Element._attributeTranslations.read;
+-      if (t.values[name]) return t.values[name](element, name);
+-      if (t.names[name]) name = t.names[name];
+-      if (name.include(':')) {
+-        return (!element.attributes || !element.attributes[name]) ? null :
+-         element.attributes[name].value;
+-      }
+-    }
+-    return element.getAttribute(name);
+-  },
+-
+-  writeAttribute: function(element, name, value) {
+-    element = $(element);
+-    var attributes = { }, t = Element._attributeTranslations.write;
+-
+-    if (typeof name == 'object') attributes = name;
+-    else attributes[name] = value === undefined ? true : value;
+-
+-    for (var attr in attributes) {
+-      var name = t.names[attr] || attr, value = attributes[attr];
+-      if (t.values[attr]) name = t.values[attr](element, value);
+-      if (value === false || value === null)
+-        element.removeAttribute(name);
+-      else if (value === true)
+-        element.setAttribute(name, name);
+-      else element.setAttribute(name, value);
+-    }
+-    return element;
+-  },
+-
+-  getHeight: function(element) {
+-    return $(element).getDimensions().height;
+-  },
+-
+-  getWidth: function(element) {
+-    return $(element).getDimensions().width;
+-  },
+-
+-  classNames: function(element) {
+-    return new Element.ClassNames(element);
+-  },
+-
+-  hasClassName: function(element, className) {
+-    if (!(element = $(element))) return;
+-    var elementClassName = element.className;
+-    return (elementClassName.length > 0 && (elementClassName == className ||
+-      new RegExp("(^|\\s)" + className + "(\\s|$)").test(elementClassName)));
+-  },
+-
+-  addClassName: function(element, className) {
+-    if (!(element = $(element))) return;
+-    if (!element.hasClassName(className))
+-      element.className += (element.className ? ' ' : '') + className;
+-    return element;
+-  },
+-
+-  removeClassName: function(element, className) {
+-    if (!(element = $(element))) return;
+-    element.className = element.className.replace(
+-      new RegExp("(^|\\s+)" + className + "(\\s+|$)"), ' ').strip();
+-    return element;
+-  },
+-
+-  toggleClassName: function(element, className) {
+-    if (!(element = $(element))) return;
+-    return element[element.hasClassName(className) ?
+-      'removeClassName' : 'addClassName'](className);
+-  },
+-
+-  // removes whitespace-only text node children
+-  cleanWhitespace: function(element) {
+-    element = $(element);
+-    var node = element.firstChild;
+-    while (node) {
+-      var nextNode = node.nextSibling;
+-      if (node.nodeType == 3 && !/\S/.test(node.nodeValue))
+-        element.removeChild(node);
+-      node = nextNode;
+-    }
+-    return element;
+-  },
+-
+-  empty: function(element) {
+-    return $(element).innerHTML.blank();
+-  },
+-
+-  descendantOf: function(element, ancestor) {
+-    element = $(element), ancestor = $(ancestor);
+-
+-    if (element.compareDocumentPosition)
+-      return (element.compareDocumentPosition(ancestor) & 8) === 8;
+-
+-    if (element.sourceIndex && !Prototype.Browser.Opera) {
+-      var e = element.sourceIndex, a = ancestor.sourceIndex,
+-       nextAncestor = ancestor.nextSibling;
+-      if (!nextAncestor) {
+-        do { ancestor = ancestor.parentNode; }
+-        while (!(nextAncestor = ancestor.nextSibling) && ancestor.parentNode);
+-      }
+-      if (nextAncestor) return (e > a && e < nextAncestor.sourceIndex);
+-    }
+-
+-    while (element = element.parentNode)
+-      if (element == ancestor) return true;
+-    return false;
+-  },
+-
+-  scrollTo: function(element) {
+-    element = $(element);
+-    var pos = element.cumulativeOffset();
+-    window.scrollTo(pos[0], pos[1]);
+-    return element;
+-  },
+-
+-  getStyle: function(element, style) {
+-    element = $(element);
+-    style = style == 'float' ? 'cssFloat' : style.camelize();
+-    var value = element.style[style];
+-    if (!value) {
+-      var css = document.defaultView.getComputedStyle(element, null);
+-      value = css ? css[style] : null;
+-    }
+-    if (style == 'opacity') return value ? parseFloat(value) : 1.0;
+-    return value == 'auto' ? null : value;
+-  },
+-
+-  getOpacity: function(element) {
+-    return $(element).getStyle('opacity');
+-  },
+-
+-  setStyle: function(element, styles) {
+-    element = $(element);
+-    var elementStyle = element.style, match;
+-    if (Object.isString(styles)) {
+-      element.style.cssText += ';' + styles;
+-      return styles.include('opacity') ?
+-        element.setOpacity(styles.match(/opacity:\s*(\d?\.?\d*)/)[1]) : element;
+-    }
+-    for (var property in styles)
+-      if (property == 'opacity') element.setOpacity(styles[property]);
+-      else
+-        elementStyle[(property == 'float' || property == 'cssFloat') ?
+-          (elementStyle.styleFloat === undefined ? 'cssFloat' : 'styleFloat') :
+-            property] = styles[property];
+-
+-    return element;
+-  },
+-
+-  setOpacity: function(element, value) {
+-    element = $(element);
+-    element.style.opacity = (value == 1 || value === '') ? '' :
+-      (value < 0.00001) ? 0 : value;
+-    return element;
+-  },
+-
+-  getDimensions: function(element) {
+-    element = $(element);
+-    var display = $(element).getStyle('display');
+-    if (display != 'none' && display != null) // Safari bug
+-      return {width: element.offsetWidth, height: element.offsetHeight};
+-
+-    // All *Width and *Height properties give 0 on elements with display none,
+-    // so enable the element temporarily
+-    var els = element.style;
+-    var originalVisibility = els.visibility;
+-    var originalPosition = els.position;
+-    var originalDisplay = els.display;
+-    els.visibility = 'hidden';
+-    els.position = 'absolute';
+-    els.display = 'block';
+-    var originalWidth = element.clientWidth;
+-    var originalHeight = element.clientHeight;
+-    els.display = originalDisplay;
+-    els.position = originalPosition;
+-    els.visibility = originalVisibility;
+-    return {width: originalWidth, height: originalHeight};
+-  },
+-
+-  makePositioned: function(element) {
+-    element = $(element);
+-    var pos = Element.getStyle(element, 'position');
+-    if (pos == 'static' || !pos) {
+-      element._madePositioned = true;
+-      element.style.position = 'relative';
+-      // Opera returns the offset relative to the positioning context, when an
+-      // element is position relative but top and left have not been defined
+-      if (window.opera) {
+-        element.style.top = 0;
+-        element.style.left = 0;
+-      }
+-    }
+-    return element;
+-  },
+-
+-  undoPositioned: function(element) {
+-    element = $(element);
+-    if (element._madePositioned) {
+-      element._madePositioned = undefined;
+-      element.style.position =
+-        element.style.top =
+-        element.style.left =
+-        element.style.bottom =
+-        element.style.right = '';
+-    }
+-    return element;
+-  },
+-
+-  makeClipping: function(element) {
+-    element = $(element);
+-    if (element._overflow) return element;
+-    element._overflow = Element.getStyle(element, 'overflow') || 'auto';
+-    if (element._overflow !== 'hidden')
+-      element.style.overflow = 'hidden';
+-    return element;
+-  },
+-
+-  undoClipping: function(element) {
+-    element = $(element);
+-    if (!element._overflow) return element;
+-    element.style.overflow = element._overflow == 'auto' ? '' : element._overflow;
+-    element._overflow = null;
+-    return element;
+-  },
+-
+-  cumulativeOffset: function(element) {
+-    var valueT = 0, valueL = 0;
+-    do {
+-      valueT += element.offsetTop  || 0;
+-      valueL += element.offsetLeft || 0;
+-      element = element.offsetParent;
+-    } while (element);
+-    return Element._returnOffset(valueL, valueT);
+-  },
+-
+-  positionedOffset: function(element) {
+-    var valueT = 0, valueL = 0;
+-    do {
+-      valueT += element.offsetTop  || 0;
+-      valueL += element.offsetLeft || 0;
+-      element = element.offsetParent;
+-      if (element) {
+-        if (element.tagName == 'BODY') break;
+-        var p = Element.getStyle(element, 'position');
+-        if (p == 'relative' || p == 'absolute') break;
+-      }
+-    } while (element);
+-    return Element._returnOffset(valueL, valueT);
+-  },
+-
+-  absolutize: function(element) {
+-    element = $(element);
+-    if (element.getStyle('position') == 'absolute') return;
+-    // Position.prepare(); // To be done manually by Scripty when it needs it.
+-
+-    var offsets = element.positionedOffset();
+-    var top     = offsets[1];
+-    var left    = offsets[0];
+-    var width   = element.clientWidth;
+-    var height  = element.clientHeight;
+-
+-    element._originalLeft   = left - parseFloat(element.style.left  || 0);
+-    element._originalTop    = top  - parseFloat(element.style.top || 0);
+-    element._originalWidth  = element.style.width;
+-    element._originalHeight = element.style.height;
+-
+-    element.style.position = 'absolute';
+-    element.style.top    = top + 'px';
+-    element.style.left   = left + 'px';
+-    element.style.width  = width + 'px';
+-    element.style.height = height + 'px';
+-    return element;
+-  },
+-
+-  relativize: function(element) {
+-    element = $(element);
+-    if (element.getStyle('position') == 'relative') return;
+-    // Position.prepare(); // To be done manually by Scripty when it needs it.
+-
+-    element.style.position = 'relative';
+-    var top  = parseFloat(element.style.top  || 0) - (element._originalTop || 0);
+-    var left = parseFloat(element.style.left || 0) - (element._originalLeft || 0);
+-
+-    element.style.top    = top + 'px';
+-    element.style.left   = left + 'px';
+-    element.style.height = element._originalHeight;
+-    element.style.width  = element._originalWidth;
+-    return element;
+-  },
+-
+-  cumulativeScrollOffset: function(element) {
+-    var valueT = 0, valueL = 0;
+-    do {
+-      valueT += element.scrollTop  || 0;
+-      valueL += element.scrollLeft || 0;
+-      element = element.parentNode;
+-    } while (element);
+-    return Element._returnOffset(valueL, valueT);
+-  },
+-
+-  getOffsetParent: function(element) {
+-    if (element.offsetParent) return $(element.offsetParent);
+-    if (element == document.body) return $(element);
+-
+-    while ((element = element.parentNode) && element != document.body)
+-      if (Element.getStyle(element, 'position') != 'static')
+-        return $(element);
+-
+-    return $(document.body);
+-  },
+-
+-  viewportOffset: function(forElement) {
+-    var valueT = 0, valueL = 0;
+-
+-    var element = forElement;
+-    do {
+-      valueT += element.offsetTop  || 0;
+-      valueL += element.offsetLeft || 0;
+-
+-      // Safari fix
+-      if (element.offsetParent == document.body &&
+-        Element.getStyle(element, 'position') == 'absolute') break;
+-
+-    } while (element = element.offsetParent);
+-
+-    element = forElement;
+-    do {
+-      if (!Prototype.Browser.Opera || element.tagName == 'BODY') {
+-        valueT -= element.scrollTop  || 0;
+-        valueL -= element.scrollLeft || 0;
+-      }
+-    } while (element = element.parentNode);
+-
+-    return Element._returnOffset(valueL, valueT);
+-  },
+-
+-  clonePosition: function(element, source) {
+-    var options = Object.extend({
+-      setLeft:    true,
+-      setTop:     true,
+-      setWidth:   true,
+-      setHeight:  true,
+-      offsetTop:  0,
+-      offsetLeft: 0
+-    }, arguments[2] || { });
+-
+-    // find page position of source
+-    source = $(source);
+-    var p = source.viewportOffset();
+-
+-    // find coordinate system to use
+-    element = $(element);
+-    var delta = [0, 0];
+-    var parent = null;
+-    // delta [0,0] will do fine with position: fixed elements,
+-    // position:absolute needs offsetParent deltas
+-    if (Element.getStyle(element, 'position') == 'absolute') {
+-      parent = element.getOffsetParent();
+-      delta = parent.viewportOffset();
+-    }
+-
+-    // correct by body offsets (fixes Safari)
+-    if (parent == document.body) {
+-      delta[0] -= document.body.offsetLeft;
+-      delta[1] -= document.body.offsetTop;
+-    }
+-
+-    // set position
+-    if (options.setLeft)   element.style.left  = (p[0] - delta[0] + options.offsetLeft) + 'px';
+-    if (options.setTop)    element.style.top   = (p[1] - delta[1] + options.offsetTop) + 'px';
+-    if (options.setWidth)  element.style.width = source.offsetWidth + 'px';
+-    if (options.setHeight) element.style.height = source.offsetHeight + 'px';
+-    return element;
+-  }
+-};
+-
+-Element.Methods.identify.counter = 1;
+-
+-Object.extend(Element.Methods, {
+-  getElementsBySelector: Element.Methods.select,
+-  childElements: Element.Methods.immediateDescendants
+-});
+-
+-Element._attributeTranslations = {
+-  write: {
+-    names: {
+-      className: 'class',
+-      htmlFor:   'for'
+-    },
+-    values: { }
+-  }
+-};
+-
+-
+-if (!document.createRange || Prototype.Browser.Opera) {
+-  Element.Methods.insert = function(element, insertions) {
+-    element = $(element);
+-
+-    if (Object.isString(insertions) || Object.isNumber(insertions) ||
+-        Object.isElement(insertions) || (insertions && (insertions.toElement || insertions.toHTML)))
+-          insertions = { bottom: insertions };
+-
+-    var t = Element._insertionTranslations, content, position, pos, tagName;
+-
+-    for (position in insertions) {
+-      content  = insertions[position];
+-      position = position.toLowerCase();
+-      pos      = t[position];
+-
+-      if (content && content.toElement) content = content.toElement();
+-      if (Object.isElement(content)) {
+-        pos.insert(element, content);
+-        continue;
+-      }
+-
+-      content = Object.toHTML(content);
+-      tagName = ((position == 'before' || position == 'after')
+-        ? element.parentNode : element).tagName.toUpperCase();
+-
+-      if (t.tags[tagName]) {
+-        var fragments = Element._getContentFromAnonymousElement(tagName, content.stripScripts());
+-        if (position == 'top' || position == 'after') fragments.reverse();
+-        fragments.each(pos.insert.curry(element));
+-      }
+-      else element.insertAdjacentHTML(pos.adjacency, content.stripScripts());
+-
+-      content.evalScripts.bind(content).defer();
+-    }
+-
+-    return element;
+-  };
+-}
+-
+-if (Prototype.Browser.Opera) {
+-  Element.Methods._getStyle = Element.Methods.getStyle;
+-  Element.Methods.getStyle = function(element, style) {
+-    switch(style) {
+-      case 'left':
+-      case 'top':
+-      case 'right':
+-      case 'bottom':
+-        if (Element._getStyle(element, 'position') == 'static') return null;
+-      default: return Element._getStyle(element, style);
+-    }
+-  };
+-  Element.Methods._readAttribute = Element.Methods.readAttribute;
+-  Element.Methods.readAttribute = function(element, attribute) {
+-    if (attribute == 'title') return element.title;
+-    return Element._readAttribute(element, attribute);
+-  };
+-}
+-
+-else if (Prototype.Browser.IE) {
+-  $w('positionedOffset getOffsetParent viewportOffset').each(function(method) {
+-    Element.Methods[method] = Element.Methods[method].wrap(
+-      function(proceed, element) {
+-        element = $(element);
+-        var position = element.getStyle('position');
+-        if (position != 'static') return proceed(element);
+-        element.setStyle({ position: 'relative' });
+-        var value = proceed(element);
+-        element.setStyle({ position: position });
+-        return value;
+-      }
+-    );
+-  });
+-
+-  Element.Methods.getStyle = function(element, style) {
+-    element = $(element);
+-    style = (style == 'float' || style == 'cssFloat') ? 'styleFloat' : style.camelize();
+-    var value = element.style[style];
+-    if (!value && element.currentStyle) value = element.currentStyle[style];
+-
+-    if (style == 'opacity') {
+-      if (value = (element.getStyle('filter') || '').match(/alpha\(opacity=(.*)\)/))
+-        if (value[1]) return parseFloat(value[1]) / 100;
+-      return 1.0;
+-    }
+-
+-    if (value == 'auto') {
+-      if ((style == 'width' || style == 'height') && (element.getStyle('display') != 'none'))
+-        return element['offset' + style.capitalize()] + 'px';
+-      return null;
+-    }
+-    return value;
+-  };
+-
+-  Element.Methods.setOpacity = function(element, value) {
+-    function stripAlpha(filter){
+-      return filter.replace(/alpha\([^\)]*\)/gi,'');
+-    }
+-    element = $(element);
+-    var currentStyle = element.currentStyle;
+-    if ((currentStyle && !currentStyle.hasLayout) ||
+-      (!currentStyle && element.style.zoom == 'normal'))
+-        element.style.zoom = 1;
+-
+-    var filter = element.getStyle('filter'), style = element.style;
+-    if (value == 1 || value === '') {
+-      (filter = stripAlpha(filter)) ?
+-        style.filter = filter : style.removeAttribute('filter');
+-      return element;
+-    } else if (value < 0.00001) value = 0;
+-    style.filter = stripAlpha(filter) +
+-      'alpha(opacity=' + (value * 100) + ')';
+-    return element;
+-  };
+-
+-  Element._attributeTranslations = {
+-    read: {
+-      names: {
+-        'class': 'className',
+-        'for':   'htmlFor'
+-      },
+-      values: {
+-        _getAttr: function(element, attribute) {
+-          return element.getAttribute(attribute, 2);
+-        },
+-        _getAttrNode: function(element, attribute) {
+-          var node = element.getAttributeNode(attribute);
+-          return node ? node.value : "";
+-        },
+-        _getEv: function(element, attribute) {
+-          var attribute = element.getAttribute(attribute);
+-          return attribute ? attribute.toString().slice(23, -2) : null;
+-        },
+-        _flag: function(element, attribute) {
+-          return $(element).hasAttribute(attribute) ? attribute : null;
+-        },
+-        style: function(element) {
+-          return element.style.cssText.toLowerCase();
+-        },
+-        title: function(element) {
+-          return element.title;
+-        }
+-      }
+-    }
+-  };
+-
+-  Element._attributeTranslations.write = {
+-    names: Object.clone(Element._attributeTranslations.read.names),
+-    values: {
+-      checked: function(element, value) {
+-        element.checked = !!value;
+-      },
+-
+-      style: function(element, value) {
+-        element.style.cssText = value ? value : '';
+-      }
+-    }
+-  };
+-
+-  Element._attributeTranslations.has = {};
+-
+-  $w('colSpan rowSpan vAlign dateTime accessKey tabIndex ' +
+-      'encType maxLength readOnly longDesc').each(function(attr) {
+-    Element._attributeTranslations.write.names[attr.toLowerCase()] = attr;
+-    Element._attributeTranslations.has[attr.toLowerCase()] = attr;
+-  });
+-
+-  (function(v) {
+-    Object.extend(v, {
+-      href:        v._getAttr,
+-      src:         v._getAttr,
+-      type:        v._getAttr,
+-      action:      v._getAttrNode,
+-      disabled:    v._flag,
+-      checked:     v._flag,
+-      readonly:    v._flag,
+-      multiple:    v._flag,
+-      onload:      v._getEv,
+-      onunload:    v._getEv,
+-      onclick:     v._getEv,
+-      ondblclick:  v._getEv,
+-      onmousedown: v._getEv,
+-      onmouseup:   v._getEv,
+-      onmouseover: v._getEv,
+-      onmousemove: v._getEv,
+-      onmouseout:  v._getEv,
+-      onfocus:     v._getEv,
+-      onblur:      v._getEv,
+-      onkeypress:  v._getEv,
+-      onkeydown:   v._getEv,
+-      onkeyup:     v._getEv,
+-      onsubmit:    v._getEv,
+-      onreset:     v._getEv,
+-      onselect:    v._getEv,
+-      onchange:    v._getEv
+-    });
+-  })(Element._attributeTranslations.read.values);
+-}
+-
+-else if (Prototype.Browser.Gecko && /rv:1\.8\.0/.test(navigator.userAgent)) {
+-  Element.Methods.setOpacity = function(element, value) {
+-    element = $(element);
+-    element.style.opacity = (value == 1) ? 0.999999 :
+-      (value === '') ? '' : (value < 0.00001) ? 0 : value;
+-    return element;
+-  };
+-}
+-
+-else if (Prototype.Browser.WebKit) {
+-  Element.Methods.setOpacity = function(element, value) {
+-    element = $(element);
+-    element.style.opacity = (value == 1 || value === '') ? '' :
+-      (value < 0.00001) ? 0 : value;
+-
+-    if (value == 1)
+-      if(element.tagName == 'IMG' && element.width) {
+-        element.width++; element.width--;
+-      } else try {
+-        var n = document.createTextNode(' ');
+-        element.appendChild(n);
+-        element.removeChild(n);
+-      } catch (e) { }
+-
+-    return element;
+-  };
+-
+-  // Safari returns margins on body which is incorrect if the child is absolutely
+-  // positioned.  For performance reasons, redefine Position.cumulativeOffset for
+-  // KHTML/WebKit only.
+-  Element.Methods.cumulativeOffset = function(element) {
+-    var valueT = 0, valueL = 0;
+-    do {
+-      valueT += element.offsetTop  || 0;
+-      valueL += element.offsetLeft || 0;
+-      if (element.offsetParent == document.body)
+-        if (Element.getStyle(element, 'position') == 'absolute') break;
+-
+-      element = element.offsetParent;
+-    } while (element);
+-
+-    return Element._returnOffset(valueL, valueT);
+-  };
+-}
+-
+-if (Prototype.Browser.IE || Prototype.Browser.Opera) {
+-  // IE and Opera are missing .innerHTML support for TABLE-related and SELECT elements
+-  Element.Methods.update = function(element, content) {
+-    element = $(element);
+-
+-    if (content && content.toElement) content = content.toElement();
+-    if (Object.isElement(content)) return element.update().insert(content);
+-
+-    content = Object.toHTML(content);
+-    var tagName = element.tagName.toUpperCase();
+-
+-    if (tagName in Element._insertionTranslations.tags) {
+-      $A(element.childNodes).each(function(node) { element.removeChild(node) });
+-      Element._getContentFromAnonymousElement(tagName, content.stripScripts())
+-        .each(function(node) { element.appendChild(node) });
+-    }
+-    else element.innerHTML = content.stripScripts();
+-
+-    content.evalScripts.bind(content).defer();
+-    return element;
+-  };
+-}
+-
+-if (document.createElement('div').outerHTML) {
+-  Element.Methods.replace = function(element, content) {
+-    element = $(element);
+-
+-    if (content && content.toElement) content = content.toElement();
+-    if (Object.isElement(content)) {
+-      element.parentNode.replaceChild(content, element);
+-      return element;
+-    }
+-
+-    content = Object.toHTML(content);
+-    var parent = element.parentNode, tagName = parent.tagName.toUpperCase();
+-
+-    if (Element._insertionTranslations.tags[tagName]) {
+-      var nextSibling = element.next();
+-      var fragments = Element._getContentFromAnonymousElement(tagName, content.stripScripts());
+-      parent.removeChild(element);
+-      if (nextSibling)
+-        fragments.each(function(node) { parent.insertBefore(node, nextSibling) });
+-      else
+-        fragments.each(function(node) { parent.appendChild(node) });
+-    }
+-    else element.outerHTML = content.stripScripts();
+-
+-    content.evalScripts.bind(content).defer();
+-    return element;
+-  };
+-}
+-
+-Element._returnOffset = function(l, t) {
+-  var result = [l, t];
+-  result.left = l;
+-  result.top = t;
+-  return result;
+-};
+-
+-Element._getContentFromAnonymousElement = function(tagName, html) {
+-  var div = new Element('div'), t = Element._insertionTranslations.tags[tagName];
+-  div.innerHTML = t[0] + html + t[1];
+-  t[2].times(function() { div = div.firstChild });
+-  return $A(div.childNodes);
+-};
+-
+-Element._insertionTranslations = {
+-  before: {
+-    adjacency: 'beforeBegin',
+-    insert: function(element, node) {
+-      element.parentNode.insertBefore(node, element);
+-    },
+-    initializeRange: function(element, range) {
+-      range.setStartBefore(element);
+-    }
+-  },
+-  top: {
+-    adjacency: 'afterBegin',
+-    insert: function(element, node) {
+-      element.insertBefore(node, element.firstChild);
+-    },
+-    initializeRange: function(element, range) {
+-      range.selectNodeContents(element);
+-      range.collapse(true);
+-    }
+-  },
+-  bottom: {
+-    adjacency: 'beforeEnd',
+-    insert: function(element, node) {
+-      element.appendChild(node);
+-    }
+-  },
+-  after: {
+-    adjacency: 'afterEnd',
+-    insert: function(element, node) {
+-      element.parentNode.insertBefore(node, element.nextSibling);
+-    },
+-    initializeRange: function(element, range) {
+-      range.setStartAfter(element);
+-    }
+-  },
+-  tags: {
+-    TABLE:  ['<table>',                '</table>',                   1],
+-    TBODY:  ['<table><tbody>',         '</tbody></table>',           2],
+-    TR:     ['<table><tbody><tr>',     '</tr></tbody></table>',      3],
+-    TD:     ['<table><tbody><tr><td>', '</td></tr></tbody></table>', 4],
+-    SELECT: ['<select>',               '</select>',                  1]
+-  }
+-};
+-
+-(function() {
+-  this.bottom.initializeRange = this.top.initializeRange;
+-  Object.extend(this.tags, {
+-    THEAD: this.tags.TBODY,
+-    TFOOT: this.tags.TBODY,
+-    TH:    this.tags.TD
+-  });
+-}).call(Element._insertionTranslations);
+-
+-Element.Methods.Simulated = {
+-  hasAttribute: function(element, attribute) {
+-    attribute = Element._attributeTranslations.has[attribute] || attribute;
+-    var node = $(element).getAttributeNode(attribute);
+-    return node && node.specified;
+-  }
+-};
+-
+-Element.Methods.ByTag = { };
+-
+-Object.extend(Element, Element.Methods);
+-
+-if (!Prototype.BrowserFeatures.ElementExtensions &&
+-    document.createElement('div').__proto__) {
+-  window.HTMLElement = { };
+-  window.HTMLElement.prototype = document.createElement('div').__proto__;
+-  Prototype.BrowserFeatures.ElementExtensions = true;
+-}
+-
+-Element.extend = (function() {
+-  if (Prototype.BrowserFeatures.SpecificElementExtensions)
+-    return Prototype.K;
+-
+-  var Methods = { }, ByTag = Element.Methods.ByTag;
+-
+-  var extend = Object.extend(function(element) {
+-    if (!element || element._extendedByPrototype ||
+-        element.nodeType != 1 || element == window) return element;
+-
+-    var methods = Object.clone(Methods),
+-      tagName = element.tagName, property, value;
+-
+-    // extend methods for specific tags
+-    if (ByTag[tagName]) Object.extend(methods, ByTag[tagName]);
+-
+-    for (property in methods) {
+-      value = methods[property];
+-      if (Object.isFunction(value) && !(property in element))
+-        element[property] = value.methodize();
+-    }
+-
+-    element._extendedByPrototype = Prototype.emptyFunction;
+-    return element;
+-
+-  }, {
+-    refresh: function() {
+-      // extend methods for all tags (Safari doesn't need this)
+-      if (!Prototype.BrowserFeatures.ElementExtensions) {
+-        Object.extend(Methods, Element.Methods);
+-        Object.extend(Methods, Element.Methods.Simulated);
+-      }
+-    }
+-  });
+-
+-  extend.refresh();
+-  return extend;
+-})();
+-
+-Element.hasAttribute = function(element, attribute) {
+-  if (element.hasAttribute) return element.hasAttribute(attribute);
+-  return Element.Methods.Simulated.hasAttribute(element, attribute);
+-};
+-
+-Element.addMethods = function(methods) {
+-  var F = Prototype.BrowserFeatures, T = Element.Methods.ByTag;
+-
+-  if (!methods) {
+-    Object.extend(Form, Form.Methods);
+-    Object.extend(Form.Element, Form.Element.Methods);
+-    Object.extend(Element.Methods.ByTag, {
+-      "FORM":     Object.clone(Form.Methods),
+-      "INPUT":    Object.clone(Form.Element.Methods),
+-      "SELECT":   Object.clone(Form.Element.Methods),
+-      "TEXTAREA": Object.clone(Form.Element.Methods)
+-    });
+-  }
+-
+-  if (arguments.length == 2) {
+-    var tagName = methods;
+-    methods = arguments[1];
+-  }
+-
+-  if (!tagName) Object.extend(Element.Methods, methods || { });
+-  else {
+-    if (Object.isArray(tagName)) tagName.each(extend);
+-    else extend(tagName);
+-  }
+-
+-  function extend(tagName) {
+-    tagName = tagName.toUpperCase();
+-    if (!Element.Methods.ByTag[tagName])
+-      Element.Methods.ByTag[tagName] = { };
+-    Object.extend(Element.Methods.ByTag[tagName], methods);
+-  }
+-
+-  function copy(methods, destination, onlyIfAbsent) {
+-    onlyIfAbsent = onlyIfAbsent || false;
+-    for (var property in methods) {
+-      var value = methods[property];
+-      if (!Object.isFunction(value)) continue;
+-      if (!onlyIfAbsent || !(property in destination))
+-        destination[property] = value.methodize();
+-    }
+-  }
+-
+-  function findDOMClass(tagName) {
+-    var klass;
+-    var trans = {
+-      "OPTGROUP": "OptGroup", "TEXTAREA": "TextArea", "P": "Paragraph",
+-      "FIELDSET": "FieldSet", "UL": "UList", "OL": "OList", "DL": "DList",
+-      "DIR": "Directory", "H1": "Heading", "H2": "Heading", "H3": "Heading",
+-      "H4": "Heading", "H5": "Heading", "H6": "Heading", "Q": "Quote",
+-      "INS": "Mod", "DEL": "Mod", "A": "Anchor", "IMG": "Image", "CAPTION":
+-      "TableCaption", "COL": "TableCol", "COLGROUP": "TableCol", "THEAD":
+-      "TableSection", "TFOOT": "TableSection", "TBODY": "TableSection", "TR":
+-      "TableRow", "TH": "TableCell", "TD": "TableCell", "FRAMESET":
+-      "FrameSet", "IFRAME": "IFrame"
+-    };
+-    if (trans[tagName]) klass = 'HTML' + trans[tagName] + 'Element';
+-    if (window[klass]) return window[klass];
+-    klass = 'HTML' + tagName + 'Element';
+-    if (window[klass]) return window[klass];
+-    klass = 'HTML' + tagName.capitalize() + 'Element';
+-    if (window[klass]) return window[klass];
+-
+-    window[klass] = { };
+-    window[klass].prototype = document.createElement(tagName).__proto__;
+-    return window[klass];
+-  }
+-
+-  if (F.ElementExtensions) {
+-    copy(Element.Methods, HTMLElement.prototype);
+-    copy(Element.Methods.Simulated, HTMLElement.prototype, true);
+-  }
+-
+-  if (F.SpecificElementExtensions) {
+-    for (var tag in Element.Methods.ByTag) {
+-      var klass = findDOMClass(tag);
+-      if (Object.isUndefined(klass)) continue;
+-      copy(T[tag], klass.prototype);
+-    }
+-  }
+-
+-  Object.extend(Element, Element.Methods);
+-  delete Element.ByTag;
+-
+-  if (Element.extend.refresh) Element.extend.refresh();
+-  Element.cache = { };
+-};
+-
+-document.viewport = {
+-  getDimensions: function() {
+-    var dimensions = { };
+-    $w('width height').each(function(d) {
+-      var D = d.capitalize();
+-      dimensions[d] = self['inner' + D] ||
+-       (document.documentElement['client' + D] || document.body['client' + D]);
+-    });
+-    return dimensions;
+-  },
+-
+-  getWidth: function() {
+-    return this.getDimensions().width;
+-  },
+-
+-  getHeight: function() {
+-    return this.getDimensions().height;
+-  },
+-
+-  getScrollOffsets: function() {
+-    return Element._returnOffset(
+-      window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft,
+-      window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop);
+-  }
+-};
+-/* Portions of the Selector class are derived from Jack Slocum’s DomQuery,
+- * part of YUI-Ext version 0.40, distributed under the terms of an MIT-style
+- * license.  Please see http://www.yui-ext.com/ for more information. */
+-
+-var Selector = Class.create({
+-  initialize: function(expression) {
+-    this.expression = expression.strip();
+-    this.compileMatcher();
+-  },
+-
+-  compileMatcher: function() {
+-    // Selectors with namespaced attributes can't use the XPath version
+-    if (Prototype.BrowserFeatures.XPath && !(/(\[[\w-]*?:|:checked)/).test(this.expression))
+-      return this.compileXPathMatcher();
+-
+-    var e = this.expression, ps = Selector.patterns, h = Selector.handlers,
+-        c = Selector.criteria, le, p, m;
+-
+-    if (Selector._cache[e]) {
+-      this.matcher = Selector._cache[e];
+-      return;
+-    }
+-
+-    this.matcher = ["this.matcher = function(root) {",
+-                    "var r = root, h = Selector.handlers, c = false, n;"];
+-
+-    while (e && le != e && (/\S/).test(e)) {
+-      le = e;
+-      for (var i in ps) {
+-        p = ps[i];
+-        if (m = e.match(p)) {
+-          this.matcher.push(Object.isFunction(c[i]) ? c[i](m) :
+-    	      new Template(c[i]).evaluate(m));
+-          e = e.replace(m[0], '');
+-          break;
+-        }
+-      }
+-    }
+-
+-    this.matcher.push("return h.unique(n);\n}");
+-    eval(this.matcher.join('\n'));
+-    Selector._cache[this.expression] = this.matcher;
+-  },
+-
+-  compileXPathMatcher: function() {
+-    var e = this.expression, ps = Selector.patterns,
+-        x = Selector.xpath, le, m;
+-
+-    if (Selector._cache[e]) {
+-      this.xpath = Selector._cache[e]; return;
+-    }
+-
+-    this.matcher = ['.//*'];
+-    while (e && le != e && (/\S/).test(e)) {
+-      le = e;
+-      for (var i in ps) {
+-        if (m = e.match(ps[i])) {
+-          this.matcher.push(Object.isFunction(x[i]) ? x[i](m) :
+-            new Template(x[i]).evaluate(m));
+-          e = e.replace(m[0], '');
+-          break;
+-        }
+-      }
+-    }
+-
+-    this.xpath = this.matcher.join('');
+-    Selector._cache[this.expression] = this.xpath;
+-  },
+-
+-  findElements: function(root) {
+-    root = root || document;
+-    if (this.xpath) return document._getElementsByXPath(this.xpath, root);
+-    return this.matcher(root);
+-  },
+-
+-  match: function(element) {
+-    this.tokens = [];
+-
+-    var e = this.expression, ps = Selector.patterns, as = Selector.assertions;
+-    var le, p, m;
+-
+-    while (e && le !== e && (/\S/).test(e)) {
+-      le = e;
+-      for (var i in ps) {
+-        p = ps[i];
+-        if (m = e.match(p)) {
+-          // use the Selector.assertions methods unless the selector
+-          // is too complex.
+-          if (as[i]) {
+-            this.tokens.push([i, Object.clone(m)]);
+-            e = e.replace(m[0], '');
+-          } else {
+-            // reluctantly do a document-wide search
+-            // and look for a match in the array
+-            return this.findElements(document).include(element);
+-          }
+-        }
+-      }
+-    }
+-
+-    var match = true, name, matches;
+-    for (var i = 0, token; token = this.tokens[i]; i++) {
+-      name = token[0], matches = token[1];
+-      if (!Selector.assertions[name](element, matches)) {
+-        match = false; break;
+-      }
+-    }
+-
+-    return match;
+-  },
+-
+-  toString: function() {
+-    return this.expression;
+-  },
+-
+-  inspect: function() {
+-    return "#<Selector:" + this.expression.inspect() + ">";
+-  }
+-});
+-
+-Object.extend(Selector, {
+-  _cache: { },
+-
+-  xpath: {
+-    descendant:   "//*",
+-    child:        "/*",
+-    adjacent:     "/following-sibling::*[1]",
+-    laterSibling: '/following-sibling::*',
+-    tagName:      function(m) {
+-      if (m[1] == '*') return '';
+-      return "[local-name()='" + m[1].toLowerCase() +
+-             "' or local-name()='" + m[1].toUpperCase() + "']";
+-    },
+-    className:    "[contains(concat(' ', @class, ' '), ' #{1} ')]",
+-    id:           "[@id='#{1}']",
+-    attrPresence: "[@#{1}]",
+-    attr: function(m) {
+-      m[3] = m[5] || m[6];
+-      return new Template(Selector.xpath.operators[m[2]]).evaluate(m);
+-    },
+-    pseudo: function(m) {
+-      var h = Selector.xpath.pseudos[m[1]];
+-      if (!h) return '';
+-      if (Object.isFunction(h)) return h(m);
+-      return new Template(Selector.xpath.pseudos[m[1]]).evaluate(m);
+-    },
+-    operators: {
+-      '=':  "[@#{1}='#{3}']",
+-      '!=': "[@#{1}!='#{3}']",
+-      '^=': "[starts-with(@#{1}, '#{3}')]",
+-      '$=': "[substring(@#{1}, (string-length(@#{1}) - string-length('#{3}') + 1))='#{3}']",
+-      '*=': "[contains(@#{1}, '#{3}')]",
+-      '~=': "[contains(concat(' ', @#{1}, ' '), ' #{3} ')]",
+-      '|=': "[contains(concat('-', @#{1}, '-'), '-#{3}-')]"
+-    },
+-    pseudos: {
+-      'first-child': '[not(preceding-sibling::*)]',
+-      'last-child':  '[not(following-sibling::*)]',
+-      'only-child':  '[not(preceding-sibling::* or following-sibling::*)]',
+-      'empty':       "[count(*) = 0 and (count(text()) = 0 or translate(text(), ' \t\r\n', '') = '')]",
+-      'checked':     "[@checked]",
+-      'disabled':    "[@disabled]",
+-      'enabled':     "[not(@disabled)]",
+-      'not': function(m) {
+-        var e = m[6], p = Selector.patterns,
+-            x = Selector.xpath, le, m, v;
+-
+-        var exclusion = [];
+-        while (e && le != e && (/\S/).test(e)) {
+-          le = e;
+-          for (var i in p) {
+-            if (m = e.match(p[i])) {
+-              v = Object.isFunction(x[i]) ? x[i](m) : new Template(x[i]).evaluate(m);
+-              exclusion.push("(" + v.substring(1, v.length - 1) + ")");
+-              e = e.replace(m[0], '');
+-              break;
+-            }
+-          }
+-        }
+-        return "[not(" + exclusion.join(" and ") + ")]";
+-      },
+-      'nth-child':      function(m) {
+-        return Selector.xpath.pseudos.nth("(count(./preceding-sibling::*) + 1) ", m);
+-      },
+-      'nth-last-child': function(m) {
+-        return Selector.xpath.pseudos.nth("(count(./following-sibling::*) + 1) ", m);
+-      },
+-      'nth-of-type':    function(m) {
+-        return Selector.xpath.pseudos.nth("position() ", m);
+-      },
+-      'nth-last-of-type': function(m) {
+-        return Selector.xpath.pseudos.nth("(last() + 1 - position()) ", m);
+-      },
+-      'first-of-type':  function(m) {
+-        m[6] = "1"; return Selector.xpath.pseudos['nth-of-type'](m);
+-      },
+-      'last-of-type':   function(m) {
+-        m[6] = "1"; return Selector.xpath.pseudos['nth-last-of-type'](m);
+-      },
+-      'only-of-type':   function(m) {
+-        var p = Selector.xpath.pseudos; return p['first-of-type'](m) + p['last-of-type'](m);
+-      },
+-      nth: function(fragment, m) {
+-        var mm, formula = m[6], predicate;
+-        if (formula == 'even') formula = '2n+0';
+-        if (formula == 'odd')  formula = '2n+1';
+-        if (mm = formula.match(/^(\d+)$/)) // digit only
+-          return '[' + fragment + "= " + mm[1] + ']';
+-        if (mm = formula.match(/^(-?\d*)?n(([+-])(\d+))?/)) { // an+b
+-          if (mm[1] == "-") mm[1] = -1;
+-          var a = mm[1] ? Number(mm[1]) : 1;
+-          var b = mm[2] ? Number(mm[2]) : 0;
+-          predicate = "[((#{fragment} - #{b}) mod #{a} = 0) and " +
+-          "((#{fragment} - #{b}) div #{a} >= 0)]";
+-          return new Template(predicate).evaluate({
+-            fragment: fragment, a: a, b: b });
+-        }
+-      }
+-    }
+-  },
+-
+-  criteria: {
+-    tagName:      'n = h.tagName(n, r, "#{1}", c);   c = false;',
+-    className:    'n = h.className(n, r, "#{1}", c); c = false;',
+-    id:           'n = h.id(n, r, "#{1}", c);        c = false;',
+-    attrPresence: 'n = h.attrPresence(n, r, "#{1}"); c = false;',
+-    attr: function(m) {
+-      m[3] = (m[5] || m[6]);
+-      return new Template('n = h.attr(n, r, "#{1}", "#{3}", "#{2}"); c = false;').evaluate(m);
+-    },
+-    pseudo: function(m) {
+-      if (m[6]) m[6] = m[6].replace(/"/g, '\\"');
+-      return new Template('n = h.pseudo(n, "#{1}", "#{6}", r, c); c = false;').evaluate(m);
+-    },
+-    descendant:   'c = "descendant";',
+-    child:        'c = "child";',
+-    adjacent:     'c = "adjacent";',
+-    laterSibling: 'c = "laterSibling";'
+-  },
+-
+-  patterns: {
+-    // combinators must be listed first
+-    // (and descendant needs to be last combinator)
+-    laterSibling: /^\s*~\s*/,
+-    child:        /^\s*>\s*/,
+-    adjacent:     /^\s*\+\s*/,
+-    descendant:   /^\s/,
+-
+-    // selectors follow
+-    tagName:      /^\s*(\*|[\w\-]+)(\b|$)?/,
+-    id:           /^#([\w\-\*]+)(\b|$)/,
+-    className:    /^\.([\w\-\*]+)(\b|$)/,
+-    pseudo:       /^:((first|last|nth|nth-last|only)(-child|-of-type)|empty|checked|(en|dis)abled|not)(\((.*?)\))?(\b|$|(?=\s)|(?=:))/,
+-    attrPresence: /^\[([\w]+)\]/,
+-    attr:         /\[((?:[\w-]*:)?[\w-]+)\s*(?:([!^$*~|]?=)\s*((['"])([^\4]*?)\4|([^'"][^\]]*?)))?\]/
+-  },
+-
+-  // for Selector.match and Element#match
+-  assertions: {
+-    tagName: function(element, matches) {
+-      return matches[1].toUpperCase() == element.tagName.toUpperCase();
+-    },
+-
+-    className: function(element, matches) {
+-      return Element.hasClassName(element, matches[1]);
+-    },
+-
+-    id: function(element, matches) {
+-      return element.id === matches[1];
+-    },
+-
+-    attrPresence: function(element, matches) {
+-      return Element.hasAttribute(element, matches[1]);
+-    },
+-
+-    attr: function(element, matches) {
+-      var nodeValue = Element.readAttribute(element, matches[1]);
+-      return Selector.operators[matches[2]](nodeValue, matches[3]);
+-    }
+-  },
+-
+-  handlers: {
+-    // UTILITY FUNCTIONS
+-    // joins two collections
+-    concat: function(a, b) {
+-      for (var i = 0, node; node = b[i]; i++)
+-        a.push(node);
+-      return a;
+-    },
+-
+-    // marks an array of nodes for counting
+-    mark: function(nodes) {
+-      for (var i = 0, node; node = nodes[i]; i++)
+-        node._counted = true;
+-      return nodes;
+-    },
+-
+-    unmark: function(nodes) {
+-      for (var i = 0, node; node = nodes[i]; i++)
+-        node._counted = undefined;
+-      return nodes;
+-    },
+-
+-    // mark each child node with its position (for nth calls)
+-    // "ofType" flag indicates whether we're indexing for nth-of-type
+-    // rather than nth-child
+-    index: function(parentNode, reverse, ofType) {
+-      parentNode._counted = true;
+-      if (reverse) {
+-        for (var nodes = parentNode.childNodes, i = nodes.length - 1, j = 1; i >= 0; i--) {
+-          var node = nodes[i];
+-          if (node.nodeType == 1 && (!ofType || node._counted)) node.nodeIndex = j++;
+-        }
+-      } else {
+-        for (var i = 0, j = 1, nodes = parentNode.childNodes; node = nodes[i]; i++)
+-          if (node.nodeType == 1 && (!ofType || node._counted)) node.nodeIndex = j++;
+-      }
+-    },
+-
+-    // filters out duplicates and extends all nodes
+-    unique: function(nodes) {
+-      if (nodes.length == 0) return nodes;
+-      var results = [], n;
+-      for (var i = 0, l = nodes.length; i < l; i++)
+-        if (!(n = nodes[i])._counted) {
+-          n._counted = true;
+-          results.push(Element.extend(n));
+-        }
+-      return Selector.handlers.unmark(results);
+-    },
+-
+-    // COMBINATOR FUNCTIONS
+-    descendant: function(nodes) {
+-      var h = Selector.handlers;
+-      for (var i = 0, results = [], node; node = nodes[i]; i++)
+-        h.concat(results, node.getElementsByTagName('*'));
+-      return results;
+-    },
+-
+-    child: function(nodes) {
+-      var h = Selector.handlers;
+-      for (var i = 0, results = [], node; node = nodes[i]; i++) {
+-        for (var j = 0, children = [], child; child = node.childNodes[j]; j++)
+-          if (child.nodeType == 1 && child.tagName != '!') results.push(child);
+-      }
+-      return results;
+-    },
+-
+-    adjacent: function(nodes) {
+-      for (var i = 0, results = [], node; node = nodes[i]; i++) {
+-        var next = this.nextElementSibling(node);
+-        if (next) results.push(next);
+-      }
+-      return results;
+-    },
+-
+-    laterSibling: function(nodes) {
+-      var h = Selector.handlers;
+-      for (var i = 0, results = [], node; node = nodes[i]; i++)
+-        h.concat(results, Element.nextSiblings(node));
+-      return results;
+-    },
+-
+-    nextElementSibling: function(node) {
+-      while (node = node.nextSibling)
+-	      if (node.nodeType == 1) return node;
+-      return null;
+-    },
+-
+-    previousElementSibling: function(node) {
+-      while (node = node.previousSibling)
+-        if (node.nodeType == 1) return node;
+-      return null;
+-    },
+-
+-    // TOKEN FUNCTIONS
+-    tagName: function(nodes, root, tagName, combinator) {
+-      tagName = tagName.toUpperCase();
+-      var results = [], h = Selector.handlers;
+-      if (nodes) {
+-        if (combinator) {
+-          // fastlane for ordinary descendant combinators
+-          if (combinator == "descendant") {
+-            for (var i = 0, node; node = nodes[i]; i++)
+-              h.concat(results, node.getElementsByTagName(tagName));
+-            return results;
+-          } else nodes = this[combinator](nodes);
+-          if (tagName == "*") return nodes;
+-        }
+-        for (var i = 0, node; node = nodes[i]; i++)
+-          if (node.tagName.toUpperCase() == tagName) results.push(node);
+-        return results;
+-      } else return root.getElementsByTagName(tagName);
+-    },
+-
+-    id: function(nodes, root, id, combinator) {
+-      var targetNode = $(id), h = Selector.handlers;
+-      if (!targetNode) return [];
+-      if (!nodes && root == document) return [targetNode];
+-      if (nodes) {
+-        if (combinator) {
+-          if (combinator == 'child') {
+-            for (var i = 0, node; node = nodes[i]; i++)
+-              if (targetNode.parentNode == node) return [targetNode];
+-          } else if (combinator == 'descendant') {
+-            for (var i = 0, node; node = nodes[i]; i++)
+-              if (Element.descendantOf(targetNode, node)) return [targetNode];
+-          } else if (combinator == 'adjacent') {
+-            for (var i = 0, node; node = nodes[i]; i++)
+-              if (Selector.handlers.previousElementSibling(targetNode) == node)
+-                return [targetNode];
+-          } else nodes = h[combinator](nodes);
+-        }
+-        for (var i = 0, node; node = nodes[i]; i++)
+-          if (node == targetNode) return [targetNode];
+-        return [];
+-      }
+-      return (targetNode && Element.descendantOf(targetNode, root)) ? [targetNode] : [];
+-    },
+-
+-    className: function(nodes, root, className, combinator) {
+-      if (nodes && combinator) nodes = this[combinator](nodes);
+-      return Selector.handlers.byClassName(nodes, root, className);
+-    },
+-
+-    byClassName: function(nodes, root, className) {
+-      if (!nodes) nodes = Selector.handlers.descendant([root]);
+-      var needle = ' ' + className + ' ';
+-      for (var i = 0, results = [], node, nodeClassName; node = nodes[i]; i++) {
+-        nodeClassName = node.className;
+-        if (nodeClassName.length == 0) continue;
+-        if (nodeClassName == className || (' ' + nodeClassName + ' ').include(needle))
+-          results.push(node);
+-      }
+-      return results;
+-    },
+-
+-    attrPresence: function(nodes, root, attr) {
+-      if (!nodes) nodes = root.getElementsByTagName("*");
+-      var results = [];
+-      for (var i = 0, node; node = nodes[i]; i++)
+-        if (Element.hasAttribute(node, attr)) results.push(node);
+-      return results;
+-    },
+-
+-    attr: function(nodes, root, attr, value, operator) {
+-      if (!nodes) nodes = root.getElementsByTagName("*");
+-      var handler = Selector.operators[operator], results = [];
+-      for (var i = 0, node; node = nodes[i]; i++) {
+-        var nodeValue = Element.readAttribute(node, attr);
+-        if (nodeValue === null) continue;
+-        if (handler(nodeValue, value)) results.push(node);
+-      }
+-      return results;
+-    },
+-
+-    pseudo: function(nodes, name, value, root, combinator) {
+-      if (nodes && combinator) nodes = this[combinator](nodes);
+-      if (!nodes) nodes = root.getElementsByTagName("*");
+-      return Selector.pseudos[name](nodes, value, root);
+-    }
+-  },
+-
+-  pseudos: {
+-    'first-child': function(nodes, value, root) {
+-      for (var i = 0, results = [], node; node = nodes[i]; i++) {
+-        if (Selector.handlers.previousElementSibling(node)) continue;
+-          results.push(node);
+-      }
+-      return results;
+-    },
+-    'last-child': function(nodes, value, root) {
+-      for (var i = 0, results = [], node; node = nodes[i]; i++) {
+-        if (Selector.handlers.nextElementSibling(node)) continue;
+-          results.push(node);
+-      }
+-      return results;
+-    },
+-    'only-child': function(nodes, value, root) {
+-      var h = Selector.handlers;
+-      for (var i = 0, results = [], node; node = nodes[i]; i++)
+-        if (!h.previousElementSibling(node) && !h.nextElementSibling(node))
+-          results.push(node);
+-      return results;
+-    },
+-    'nth-child':        function(nodes, formula, root) {
+-      return Selector.pseudos.nth(nodes, formula, root);
+-    },
+-    'nth-last-child':   function(nodes, formula, root) {
+-      return Selector.pseudos.nth(nodes, formula, root, true);
+-    },
+-    'nth-of-type':      function(nodes, formula, root) {
+-      return Selector.pseudos.nth(nodes, formula, root, false, true);
+-    },
+-    'nth-last-of-type': function(nodes, formula, root) {
+-      return Selector.pseudos.nth(nodes, formula, root, true, true);
+-    },
+-    'first-of-type':    function(nodes, formula, root) {
+-      return Selector.pseudos.nth(nodes, "1", root, false, true);
+-    },
+-    'last-of-type':     function(nodes, formula, root) {
+-      return Selector.pseudos.nth(nodes, "1", root, true, true);
+-    },
+-    'only-of-type':     function(nodes, formula, root) {
+-      var p = Selector.pseudos;
+-      return p['last-of-type'](p['first-of-type'](nodes, formula, root), formula, root);
+-    },
+-
+-    // handles the an+b logic
+-    getIndices: function(a, b, total) {
+-      if (a == 0) return b > 0 ? [b] : [];
+-      return $R(1, total).inject([], function(memo, i) {
+-        if (0 == (i - b) % a && (i - b) / a >= 0) memo.push(i);
+-        return memo;
+-      });
+-    },
+-
+-    // handles nth(-last)-child, nth(-last)-of-type, and (first|last)-of-type
+-    nth: function(nodes, formula, root, reverse, ofType) {
+-      if (nodes.length == 0) return [];
+-      if (formula == 'even') formula = '2n+0';
+-      if (formula == 'odd')  formula = '2n+1';
+-      var h = Selector.handlers, results = [], indexed = [], m;
+-      h.mark(nodes);
+-      for (var i = 0, node; node = nodes[i]; i++) {
+-        if (!node.parentNode._counted) {
+-          h.index(node.parentNode, reverse, ofType);
+-          indexed.push(node.parentNode);
+-        }
+-      }
+-      if (formula.match(/^\d+$/)) { // just a number
+-        formula = Number(formula);
+-        for (var i = 0, node; node = nodes[i]; i++)
+-          if (node.nodeIndex == formula) results.push(node);
+-      } else if (m = formula.match(/^(-?\d*)?n(([+-])(\d+))?/)) { // an+b
+-        if (m[1] == "-") m[1] = -1;
+-        var a = m[1] ? Number(m[1]) : 1;
+-        var b = m[2] ? Number(m[2]) : 0;
+-        var indices = Selector.pseudos.getIndices(a, b, nodes.length);
+-        for (var i = 0, node, l = indices.length; node = nodes[i]; i++) {
+-          for (var j = 0; j < l; j++)
+-            if (node.nodeIndex == indices[j]) results.push(node);
+-        }
+-      }
+-      h.unmark(nodes);
+-      h.unmark(indexed);
+-      return results;
+-    },
+-
+-    'empty': function(nodes, value, root) {
+-      for (var i = 0, results = [], node; node = nodes[i]; i++) {
+-        // IE treats comments as element nodes
+-        if (node.tagName == '!' || (node.firstChild && !node.innerHTML.match(/^\s*$/))) continue;
+-        results.push(node);
+-      }
+-      return results;
+-    },
+-
+-    'not': function(nodes, selector, root) {
+-      var h = Selector.handlers, selectorType, m;
+-      var exclusions = new Selector(selector).findElements(root);
+-      h.mark(exclusions);
+-      for (var i = 0, results = [], node; node = nodes[i]; i++)
+-        if (!node._counted) results.push(node);
+-      h.unmark(exclusions);
+-      return results;
+-    },
+-
+-    'enabled': function(nodes, value, root) {
+-      for (var i = 0, results = [], node; node = nodes[i]; i++)
+-        if (!node.disabled) results.push(node);
+-      return results;
+-    },
+-
+-    'disabled': function(nodes, value, root) {
+-      for (var i = 0, results = [], node; node = nodes[i]; i++)
+-        if (node.disabled) results.push(node);
+-      return results;
+-    },
+-
+-    'checked': function(nodes, value, root) {
+-      for (var i = 0, results = [], node; node = nodes[i]; i++)
+-        if (node.checked) results.push(node);
+-      return results;
+-    }
+-  },
+-
+-  operators: {
+-    '=':  function(nv, v) { return nv == v; },
+-    '!=': function(nv, v) { return nv != v; },
+-    '^=': function(nv, v) { return nv.startsWith(v); },
+-    '$=': function(nv, v) { return nv.endsWith(v); },
+-    '*=': function(nv, v) { return nv.include(v); },
+-    '~=': function(nv, v) { return (' ' + nv + ' ').include(' ' + v + ' '); },
+-    '|=': function(nv, v) { return ('-' + nv.toUpperCase() + '-').include('-' + v.toUpperCase() + '-'); }
+-  },
+-
+-  matchElements: function(elements, expression) {
+-    var matches = new Selector(expression).findElements(), h = Selector.handlers;
+-    h.mark(matches);
+-    for (var i = 0, results = [], element; element = elements[i]; i++)
+-      if (element._counted) results.push(element);
+-    h.unmark(matches);
+-    return results;
+-  },
+-
+-  findElement: function(elements, expression, index) {
+-    if (Object.isNumber(expression)) {
+-      index = expression; expression = false;
+-    }
+-    return Selector.matchElements(elements, expression || '*')[index || 0];
+-  },
+-
+-  findChildElements: function(element, expressions) {
+-    var exprs = expressions.join(','), expressions = [];
+-    exprs.scan(/(([\w#:.~>+()\s-]+|\*|\[.*?\])+)\s*(,|$)/, function(m) {
+-      expressions.push(m[1].strip());
+-    });
+-    var results = [], h = Selector.handlers;
+-    for (var i = 0, l = expressions.length, selector; i < l; i++) {
+-      selector = new Selector(expressions[i].strip());
+-      h.concat(results, selector.findElements(element));
+-    }
+-    return (l > 1) ? h.unique(results) : results;
+-  }
+-});
+-
+-function $$() {
+-  return Selector.findChildElements(document, $A(arguments));
+-}
+-var Form = {
+-  reset: function(form) {
+-    $(form).reset();
+-    return form;
+-  },
+-
+-  serializeElements: function(elements, options) {
+-    if (typeof options != 'object') options = { hash: !!options };
+-    else if (options.hash === undefined) options.hash = true;
+-    var key, value, submitted = false, submit = options.submit;
+-
+-    var data = elements.inject({ }, function(result, element) {
+-      if (!element.disabled && element.name) {
+-        key = element.name; value = $(element).getValue();
+-        if (value != null && (element.type != 'submit' || (!submitted &&
+-            submit !== false && (!submit || key == submit) && (submitted = true)))) {
+-          if (key in result) {
+-            // a key is already present; construct an array of values
+-            if (!Object.isArray(result[key])) result[key] = [result[key]];
+-            result[key].push(value);
+-          }
+-          else result[key] = value;
+-        }
+-      }
+-      return result;
+-    });
+-
+-    return options.hash ? data : Object.toQueryString(data);
+-  }
+-};
+-
+-Form.Methods = {
+-  serialize: function(form, options) {
+-    return Form.serializeElements(Form.getElements(form), options);
+-  },
+-
+-  getElements: function(form) {
+-    return $A($(form).getElementsByTagName('*')).inject([],
+-      function(elements, child) {
+-        if (Form.Element.Serializers[child.tagName.toLowerCase()])
+-          elements.push(Element.extend(child));
+-        return elements;
+-      }
+-    );
+-  },
+-
+-  getInputs: function(form, typeName, name) {
+-    form = $(form);
+-    var inputs = form.getElementsByTagName('input');
+-
+-    if (!typeName && !name) return $A(inputs).map(Element.extend);
+-
+-    for (var i = 0, matchingInputs = [], length = inputs.length; i < length; i++) {
+-      var input = inputs[i];
+-      if ((typeName && input.type != typeName) || (name && input.name != name))
+-        continue;
+-      matchingInputs.push(Element.extend(input));
+-    }
+-
+-    return matchingInputs;
+-  },
+-
+-  disable: function(form) {
+-    form = $(form);
+-    Form.getElements(form).invoke('disable');
+-    return form;
+-  },
+-
+-  enable: function(form) {
+-    form = $(form);
+-    Form.getElements(form).invoke('enable');
+-    return form;
+-  },
+-
+-  findFirstElement: function(form) {
+-    var elements = $(form).getElements().findAll(function(element) {
+-      return 'hidden' != element.type && !element.disabled;
+-    });
+-    var firstByIndex = elements.findAll(function(element) {
+-      return element.hasAttribute('tabIndex') && element.tabIndex >= 0;
+-    }).sortBy(function(element) { return element.tabIndex }).first();
+-
+-    return firstByIndex ? firstByIndex : elements.find(function(element) {
+-      return ['input', 'select', 'textarea'].include(element.tagName.toLowerCase());
+-    });
+-  },
+-
+-  focusFirstElement: function(form) {
+-    form = $(form);
+-    form.findFirstElement().activate();
+-    return form;
+-  },
+-
+-  request: function(form, options) {
+-    form = $(form), options = Object.clone(options || { });
+-
+-    var params = options.parameters, action = form.readAttribute('action') || '';
+-    if (action.blank()) action = window.location.href;
+-    options.parameters = form.serialize(true);
+-
+-    if (params) {
+-      if (Object.isString(params)) params = params.toQueryParams();
+-      Object.extend(options.parameters, params);
+-    }
+-
+-    if (form.hasAttribute('method') && !options.method)
+-      options.method = form.method;
+-
+-    return new Ajax.Request(action, options);
+-  }
+-};
+-
+-/*--------------------------------------------------------------------------*/
+-
+-Form.Element = {
+-  focus: function(element) {
+-    $(element).focus();
+-    return element;
+-  },
+-
+-  select: function(element) {
+-    $(element).select();
+-    return element;
+-  }
+-};
+-
+-Form.Element.Methods = {
+-  serialize: function(element) {
+-    element = $(element);
+-    if (!element.disabled && element.name) {
+-      var value = element.getValue();
+-      if (value != undefined) {
+-        var pair = { };
+-        pair[element.name] = value;
+-        return Object.toQueryString(pair);
+-      }
+-    }
+-    return '';
+-  },
+-
+-  getValue: function(element) {
+-    element = $(element);
+-    var method = element.tagName.toLowerCase();
+-    return Form.Element.Serializers[method](element);
+-  },
+-
+-  setValue: function(element, value) {
+-    element = $(element);
+-    var method = element.tagName.toLowerCase();
+-    Form.Element.Serializers[method](element, value);
+-    return element;
+-  },
+-
+-  clear: function(element) {
+-    $(element).value = '';
+-    return element;
+-  },
+-
+-  present: function(element) {
+-    return $(element).value != '';
+-  },
+-
+-  activate: function(element) {
+-    element = $(element);
+-    try {
+-      element.focus();
+-      if (element.select && (element.tagName.toLowerCase() != 'input' ||
+-          !['button', 'reset', 'submit'].include(element.type)))
+-        element.select();
+-    } catch (e) { }
+-    return element;
+-  },
+-
+-  disable: function(element) {
+-    element = $(element);
+-    element.blur();
+-    element.disabled = true;
+-    return element;
+-  },
+-
+-  enable: function(element) {
+-    element = $(element);
+-    element.disabled = false;
+-    return element;
+-  }
+-};
+-
+-/*--------------------------------------------------------------------------*/
+-
+-var Field = Form.Element;
+-var $F = Form.Element.Methods.getValue;
+-
+-/*--------------------------------------------------------------------------*/
+-
+-Form.Element.Serializers = {
+-  input: function(element, value) {
+-    switch (element.type.toLowerCase()) {
+-      case 'checkbox':
+-      case 'radio':
+-        return Form.Element.Serializers.inputSelector(element, value);
+-      default:
+-        return Form.Element.Serializers.textarea(element, value);
+-    }
+-  },
+-
+-  inputSelector: function(element, value) {
+-    if (value === undefined) return element.checked ? element.value : null;
+-    else element.checked = !!value;
+-  },
+-
+-  textarea: function(element, value) {
+-    if (value === undefined) return element.value;
+-    else element.value = value;
+-  },
+-
+-  select: function(element, index) {
+-    if (index === undefined)
+-      return this[element.type == 'select-one' ?
+-        'selectOne' : 'selectMany'](element);
+-    else {
+-      var opt, value, single = !Object.isArray(index);
+-      for (var i = 0, length = element.length; i < length; i++) {
+-        opt = element.options[i];
+-        value = this.optionValue(opt);
+-        if (single) {
+-          if (value == index) {
+-            opt.selected = true;
+-            return;
+-          }
+-        }
+-        else opt.selected = index.include(value);
+-      }
+-    }
+-  },
+-
+-  selectOne: function(element) {
+-    var index = element.selectedIndex;
+-    return index >= 0 ? this.optionValue(element.options[index]) : null;
+-  },
+-
+-  selectMany: function(element) {
+-    var values, length = element.length;
+-    if (!length) return null;
+-
+-    for (var i = 0, values = []; i < length; i++) {
+-      var opt = element.options[i];
+-      if (opt.selected) values.push(this.optionValue(opt));
+-    }
+-    return values;
+-  },
+-
+-  optionValue: function(opt) {
+-    // extend element because hasAttribute may not be native
+-    return Element.extend(opt).hasAttribute('value') ? opt.value : opt.text;
+-  }
+-};
+-
+-/*--------------------------------------------------------------------------*/
+-
+-Abstract.TimedObserver = Class.create(PeriodicalExecuter, {
+-  initialize: function($super, element, frequency, callback) {
+-    $super(callback, frequency);
+-    this.element   = $(element);
+-    this.lastValue = this.getValue();
+-  },
+-
+-  execute: function() {
+-    var value = this.getValue();
+-    if (Object.isString(this.lastValue) && Object.isString(value) ?
+-        this.lastValue != value : String(this.lastValue) != String(value)) {
+-      this.callback(this.element, value);
+-      this.lastValue = value;
+-    }
+-  }
+-});
+-
+-Form.Element.Observer = Class.create(Abstract.TimedObserver, {
+-  getValue: function() {
+-    return Form.Element.getValue(this.element);
+-  }
+-});
+-
+-Form.Observer = Class.create(Abstract.TimedObserver, {
+-  getValue: function() {
+-    return Form.serialize(this.element);
+-  }
+-});
+-
+-/*--------------------------------------------------------------------------*/
+-
+-Abstract.EventObserver = Class.create({
+-  initialize: function(element, callback) {
+-    this.element  = $(element);
+-    this.callback = callback;
+-
+-    this.lastValue = this.getValue();
+-    if (this.element.tagName.toLowerCase() == 'form')
+-      this.registerFormCallbacks();
+-    else
+-      this.registerCallback(this.element);
+-  },
+-
+-  onElementEvent: function() {
+-    var value = this.getValue();
+-    if (this.lastValue != value) {
+-      this.callback(this.element, value);
+-      this.lastValue = value;
+-    }
+-  },
+-
+-  registerFormCallbacks: function() {
+-    Form.getElements(this.element).each(this.registerCallback, this);
+-  },
+-
+-  registerCallback: function(element) {
+-    if (element.type) {
+-      switch (element.type.toLowerCase()) {
+-        case 'checkbox':
+-        case 'radio':
+-          Event.observe(element, 'click', this.onElementEvent.bind(this));
+-          break;
+-        default:
+-          Event.observe(element, 'change', this.onElementEvent.bind(this));
+-          break;
+-      }
+-    }
+-  }
+-});
+-
+-Form.Element.EventObserver = Class.create(Abstract.EventObserver, {
+-  getValue: function() {
+-    return Form.Element.getValue(this.element);
+-  }
+-});
+-
+-Form.EventObserver = Class.create(Abstract.EventObserver, {
+-  getValue: function() {
+-    return Form.serialize(this.element);
+-  }
+-});
+-if (!window.Event) var Event = { };
+-
+-Object.extend(Event, {
+-  KEY_BACKSPACE: 8,
+-  KEY_TAB:       9,
+-  KEY_RETURN:   13,
+-  KEY_ESC:      27,
+-  KEY_LEFT:     37,
+-  KEY_UP:       38,
+-  KEY_RIGHT:    39,
+-  KEY_DOWN:     40,
+-  KEY_DELETE:   46,
+-  KEY_HOME:     36,
+-  KEY_END:      35,
+-  KEY_PAGEUP:   33,
+-  KEY_PAGEDOWN: 34,
+-  KEY_INSERT:   45,
+-
+-  cache: { },
+-
+-  relatedTarget: function(event) {
+-    var element;
+-    switch(event.type) {
+-      case 'mouseover': element = event.fromElement; break;
+-      case 'mouseout':  element = event.toElement;   break;
+-      default: return null;
+-    }
+-    return Element.extend(element);
+-  }
+-});
+-
+-Event.Methods = (function() {
+-  var isButton;
+-
+-  if (Prototype.Browser.IE) {
+-    var buttonMap = { 0: 1, 1: 4, 2: 2 };
+-    isButton = function(event, code) {
+-      return event.button == buttonMap[code];
+-    };
+-
+-  } else if (Prototype.Browser.WebKit) {
+-    isButton = function(event, code) {
+-      switch (code) {
+-        case 0: return event.which == 1 && !event.metaKey;
+-        case 1: return event.which == 1 && event.metaKey;
+-        default: return false;
+-      }
+-    };
+-
+-  } else {
+-    isButton = function(event, code) {
+-      return event.which ? (event.which === code + 1) : (event.button === code);
+-    };
+-  }
+-
+-  return {
+-    isLeftClick:   function(event) { return isButton(event, 0) },
+-    isMiddleClick: function(event) { return isButton(event, 1) },
+-    isRightClick:  function(event) { return isButton(event, 2) },
+-
+-    element: function(event) {
+-      var node = Event.extend(event).target;
+-      return Element.extend(node.nodeType == Node.TEXT_NODE ? node.parentNode : node);
+-    },
+-
+-    findElement: function(event, expression) {
+-      var element = Event.element(event);
+-      return element.match(expression) ? element : element.up(expression);
+-    },
+-
+-    pointer: function(event) {
+-      return {
+-        x: event.pageX || (event.clientX +
+-          (document.documentElement.scrollLeft || document.body.scrollLeft)),
+-        y: event.pageY || (event.clientY +
+-          (document.documentElement.scrollTop || document.body.scrollTop))
+-      };
+-    },
+-
+-    pointerX: function(event) { return Event.pointer(event).x },
+-    pointerY: function(event) { return Event.pointer(event).y },
+-
+-    stop: function(event) {
+-      Event.extend(event);
+-      event.preventDefault();
+-      event.stopPropagation();
+-      event.stopped = true;
+-    }
+-  };
+-})();
+-
+-Event.extend = (function() {
+-  var methods = Object.keys(Event.Methods).inject({ }, function(m, name) {
+-    m[name] = Event.Methods[name].methodize();
+-    return m;
+-  });
+-
+-  if (Prototype.Browser.IE) {
+-    Object.extend(methods, {
+-      stopPropagation: function() { this.cancelBubble = true },
+-      preventDefault:  function() { this.returnValue = false },
+-      inspect: function() { return "[object Event]" }
+-    });
+-
+-    return function(event) {
+-      if (!event) return false;
+-      if (event._extendedByPrototype) return event;
+-
+-      event._extendedByPrototype = Prototype.emptyFunction;
+-      var pointer = Event.pointer(event);
+-      Object.extend(event, {
+-        target: event.srcElement,
+-        relatedTarget: Event.relatedTarget(event),
+-        pageX:  pointer.x,
+-        pageY:  pointer.y
+-      });
+-      return Object.extend(event, methods);
+-    };
+-
+-  } else {
+-    Event.prototype = Event.prototype || document.createEvent("HTMLEvents").__proto__;
+-    Object.extend(Event.prototype, methods);
+-    return Prototype.K;
+-  }
+-})();
+-
+-Object.extend(Event, (function() {
+-  var cache = Event.cache;
+-
+-  function getEventID(element) {
+-    if (element._eventID) return element._eventID;
+-    arguments.callee.id = arguments.callee.id || 1;
+-    return element._eventID = ++arguments.callee.id;
+-  }
+-
+-  function getDOMEventName(eventName) {
+-    if (eventName && eventName.include(':')) return "dataavailable";
+-    return eventName;
+-  }
+-
+-  function getCacheForID(id) {
+-    return cache[id] = cache[id] || { };
+-  }
+-
+-  function getWrappersForEventName(id, eventName) {
+-    var c = getCacheForID(id);
+-    return c[eventName] = c[eventName] || [];
+-  }
+-
+-  function createWrapper(element, eventName, handler) {
+-    var id = getEventID(element);
+-    var c = getWrappersForEventName(id, eventName);
+-    if (c.pluck("handler").include(handler)) return false;
+-
+-    var wrapper = function(event) {
+-      if (!Event || !Event.extend ||
+-        (event.eventName && event.eventName != eventName))
+-          return false;
+-
+-      Event.extend(event);
+-      handler.call(element, event)
+-    };
+-
+-    wrapper.handler = handler;
+-    c.push(wrapper);
+-    return wrapper;
+-  }
+-
+-  function findWrapper(id, eventName, handler) {
+-    var c = getWrappersForEventName(id, eventName);
+-    return c.find(function(wrapper) { return wrapper.handler == handler });
+-  }
+-
+-  function destroyWrapper(id, eventName, handler) {
+-    var c = getCacheForID(id);
+-    if (!c[eventName]) return false;
+-    c[eventName] = c[eventName].without(findWrapper(id, eventName, handler));
+-  }
+-
+-  function destroyCache() {
+-    for (var id in cache)
+-      for (var eventName in cache[id])
+-        cache[id][eventName] = null;
+-  }
+-
+-  if (window.attachEvent) {
+-    window.attachEvent("onunload", destroyCache);
+-  }
+-
+-  return {
+-    observe: function(element, eventName, handler) {
+-      element = $(element);
+-      var name = getDOMEventName(eventName);
+-
+-      var wrapper = createWrapper(element, eventName, handler);
+-      if (!wrapper) return element;
+-
+-      if (element.addEventListener) {
+-        element.addEventListener(name, wrapper, false);
+-      } else {
+-        element.attachEvent("on" + name, wrapper);
+-      }
+-
+-      return element;
+-    },
+-
+-    stopObserving: function(element, eventName, handler) {
+-      element = $(element);
+-      var id = getEventID(element), name = getDOMEventName(eventName);
+-
+-      if (!handler && eventName) {
+-        getWrappersForEventName(id, eventName).each(function(wrapper) {
+-          element.stopObserving(eventName, wrapper.handler);
+-        });
+-        return element;
+-
+-      } else if (!eventName) {
+-        Object.keys(getCacheForID(id)).each(function(eventName) {
+-          element.stopObserving(eventName);
+-        });
+-        return element;
+-      }
+-
+-      var wrapper = findWrapper(id, eventName, handler);
+-      if (!wrapper) return element;
+-
+-      if (element.removeEventListener) {
+-        element.removeEventListener(name, wrapper, false);
+-      } else {
+-        element.detachEvent("on" + name, wrapper);
+-      }
+-
+-      destroyWrapper(id, eventName, handler);
+-
+-      return element;
+-    },
+-
+-    fire: function(element, eventName, memo) {
+-      element = $(element);
+-      if (element == document && document.createEvent && !element.dispatchEvent)
+-        element = document.documentElement;
+-
+-      if (document.createEvent) {
+-        var event = document.createEvent("HTMLEvents");
+-        event.initEvent("dataavailable", true, true);
+-      } else {
+-        var event = document.createEventObject();
+-        event.eventType = "ondataavailable";
+-      }
+-
+-      event.eventName = eventName;
+-      event.memo = memo || { };
+-
+-      if (document.createEvent) {
+-        element.dispatchEvent(event);
+-      } else {
+-        element.fireEvent(event.eventType, event);
+-      }
+-
+-      return event;
+-    }
+-  };
+-})());
+-
+-Object.extend(Event, Event.Methods);
+-
+-Element.addMethods({
+-  fire:          Event.fire,
+-  observe:       Event.observe,
+-  stopObserving: Event.stopObserving
+-});
+-
+-Object.extend(document, {
+-  fire:          Element.Methods.fire.methodize(),
+-  observe:       Element.Methods.observe.methodize(),
+-  stopObserving: Element.Methods.stopObserving.methodize()
+-});
+-
+-(function() {
+-  /* Support for the DOMContentLoaded event is based on work by Dan Webb,
+-     Matthias Miller, Dean Edwards and John Resig. */
+-
+-  var timer, fired = false;
+-
+-  function fireContentLoadedEvent() {
+-    if (fired) return;
+-    if (timer) window.clearInterval(timer);
+-    document.fire("dom:loaded");
+-    fired = true;
+-  }
+-
+-  if (document.addEventListener) {
+-    if (Prototype.Browser.WebKit) {
+-      timer = window.setInterval(function() {
+-        if (/loaded|complete/.test(document.readyState))
+-          fireContentLoadedEvent();
+-      }, 0);
+-
+-      Event.observe(window, "load", fireContentLoadedEvent);
+-
+-    } else {
+-      document.addEventListener("DOMContentLoaded",
+-        fireContentLoadedEvent, false);
+-    }
+-
+-  } else {
+-    document.write("<script id=__onDOMContentLoaded defer src=//:><\/script>");
+-    $("__onDOMContentLoaded").onreadystatechange = function() {
+-      if (this.readyState == "complete") {
+-        this.onreadystatechange = null;
+-        fireContentLoadedEvent();
+-      }
+-    };
+-  }
+-})();
+-/*------------------------------- DEPRECATED -------------------------------*/
+-
+-Hash.toQueryString = Object.toQueryString;
+-
+-var Toggle = { display: Element.toggle };
+-
+-Element.Methods.childOf = Element.Methods.descendantOf;
+-
+-var Insertion = {
+-  Before: function(element, content) {
+-    return Element.insert(element, {before:content});
+-  },
+-
+-  Top: function(element, content) {
+-    return Element.insert(element, {top:content});
+-  },
+-
+-  Bottom: function(element, content) {
+-    return Element.insert(element, {bottom:content});
+-  },
+-
+-  After: function(element, content) {
+-    return Element.insert(element, {after:content});
+-  }
+-};
+-
+-var $continue = new Error('"throw $continue" is deprecated, use "return" instead');
+-
+-// This should be moved to script.aculo.us; notice the deprecated methods
+-// further below, that map to the newer Element methods.
+-var Position = {
+-  // set to true if needed, warning: firefox performance problems
+-  // NOT neeeded for page scrolling, only if draggable contained in
+-  // scrollable elements
+-  includeScrollOffsets: false,
+-
+-  // must be called before calling withinIncludingScrolloffset, every time the
+-  // page is scrolled
+-  prepare: function() {
+-    this.deltaX =  window.pageXOffset
+-                || document.documentElement.scrollLeft
+-                || document.body.scrollLeft
+-                || 0;
+-    this.deltaY =  window.pageYOffset
+-                || document.documentElement.scrollTop
+-                || document.body.scrollTop
+-                || 0;
+-  },
+-
+-  // caches x/y coordinate pair to use with overlap
+-  within: function(element, x, y) {
+-    if (this.includeScrollOffsets)
+-      return this.withinIncludingScrolloffsets(element, x, y);
+-    this.xcomp = x;
+-    this.ycomp = y;
+-    this.offset = Element.cumulativeOffset(element);
+-
+-    return (y >= this.offset[1] &&
+-            y <  this.offset[1] + element.offsetHeight &&
+-            x >= this.offset[0] &&
+-            x <  this.offset[0] + element.offsetWidth);
+-  },
+-
+-  withinIncludingScrolloffsets: function(element, x, y) {
+-    var offsetcache = Element.cumulativeScrollOffset(element);
+-
+-    this.xcomp = x + offsetcache[0] - this.deltaX;
+-    this.ycomp = y + offsetcache[1] - this.deltaY;
+-    this.offset = Element.cumulativeOffset(element);
+-
+-    return (this.ycomp >= this.offset[1] &&
+-            this.ycomp <  this.offset[1] + element.offsetHeight &&
+-            this.xcomp >= this.offset[0] &&
+-            this.xcomp <  this.offset[0] + element.offsetWidth);
+-  },
+-
+-  // within must be called directly before
+-  overlap: function(mode, element) {
+-    if (!mode) return 0;
+-    if (mode == 'vertical')
+-      return ((this.offset[1] + element.offsetHeight) - this.ycomp) /
+-        element.offsetHeight;
+-    if (mode == 'horizontal')
+-      return ((this.offset[0] + element.offsetWidth) - this.xcomp) /
+-        element.offsetWidth;
+-  },
+-
+-  // Deprecation layer -- use newer Element methods now (1.5.2).
+-
+-  cumulativeOffset: Element.Methods.cumulativeOffset,
+-
+-  positionedOffset: Element.Methods.positionedOffset,
+-
+-  absolutize: function(element) {
+-    Position.prepare();
+-    return Element.absolutize(element);
+-  },
+-
+-  relativize: function(element) {
+-    Position.prepare();
+-    return Element.relativize(element);
+-  },
+-
+-  realOffset: Element.Methods.cumulativeScrollOffset,
+-
+-  offsetParent: Element.Methods.getOffsetParent,
+-
+-  page: Element.Methods.viewportOffset,
+-
+-  clone: function(source, target, options) {
+-    options = options || { };
+-    return Element.clonePosition(target, source, options);
+-  }
+-};
+-
+-/*--------------------------------------------------------------------------*/
+-
+-if (!document.getElementsByClassName) document.getElementsByClassName = function(instanceMethods){
+-  function iter(name) {
+-    return name.blank() ? null : "[contains(concat(' ', @class, ' '), ' " + name + " ')]";
+-  }
+-
+-  instanceMethods.getElementsByClassName = Prototype.BrowserFeatures.XPath ?
+-  function(element, className) {
+-    className = className.toString().strip();
+-    var cond = /\s/.test(className) ? $w(className).map(iter).join('') : iter(className);
+-    return cond ? document._getElementsByXPath('.//*' + cond, element) : [];
+-  } : function(element, className) {
+-    className = className.toString().strip();
+-    var elements = [], classNames = (/\s/.test(className) ? $w(className) : null);
+-    if (!classNames && !className) return elements;
+-
+-    var nodes = $(element).getElementsByTagName('*');
+-    className = ' ' + className + ' ';
+-
+-    for (var i = 0, child, cn; child = nodes[i]; i++) {
+-      if (child.className && (cn = ' ' + child.className + ' ') && (cn.include(className) ||
+-          (classNames && classNames.all(function(name) {
+-            return !name.toString().blank() && cn.include(' ' + name + ' ');
+-          }))))
+-        elements.push(Element.extend(child));
+-    }
+-    return elements;
+-  };
+-
+-  return function(className, parentElement) {
+-    return $(parentElement || document.body).getElementsByClassName(className);
+-  };
+-}(Element.Methods);
+-
+-/*--------------------------------------------------------------------------*/
+-
+-Element.ClassNames = Class.create();
+-Element.ClassNames.prototype = {
+-  initialize: function(element) {
+-    this.element = $(element);
+-  },
+-
+-  _each: function(iterator) {
+-    this.element.className.split(/\s+/).select(function(name) {
+-      return name.length > 0;
+-    })._each(iterator);
+-  },
+-
+-  set: function(className) {
+-    this.element.className = className;
+-  },
+-
+-  add: function(classNameToAdd) {
+-    if (this.include(classNameToAdd)) return;
+-    this.set($A(this).concat(classNameToAdd).join(' '));
+-  },
+-
+-  remove: function(classNameToRemove) {
+-    if (!this.include(classNameToRemove)) return;
+-    this.set($A(this).without(classNameToRemove).join(' '));
+-  },
+-
+-  toString: function() {
+-    return $A(this).join(' ');
+-  }
+-};
+-
+-Object.extend(Element.ClassNames.prototype, Enumerable);
+-
+-/*--------------------------------------------------------------------------*/
+-
+-Element.addMethods();
+\ No newline at end of file
+diff --git a/lib/mcollective/vendor/json/diagrams/.keep b/lib/mcollective/vendor/json/diagrams/.keep
+deleted file mode 100644
+index e69de29..0000000
+diff --git a/lib/mcollective/vendor/json/ext/json/ext/generator/extconf.rb b/lib/mcollective/vendor/json/ext/json/ext/generator/extconf.rb
+deleted file mode 100644
+index 149f22c..0000000
+--- a/lib/mcollective/vendor/json/ext/json/ext/generator/extconf.rb
++++ /dev/null
+@@ -1,20 +0,0 @@
+-require 'mkmf'
+-require 'rbconfig'
+-
+-unless $CFLAGS.gsub!(/ -O[\dsz]?/, ' -O3')
+-  $CFLAGS << ' -O3'
+-end
+-if CONFIG['CC'] =~ /gcc/
+-  $CFLAGS << ' -Wall'
+-  #unless $CFLAGS.gsub!(/ -O[\dsz]?/, ' -O0 -ggdb')
+-  #  $CFLAGS << ' -O0 -ggdb'
+-  #end
+-end
+-
+-if RUBY_VERSION < "1.9"
+-  have_header("re.h")
+-else
+-  have_header("ruby/re.h")
+-  have_header("ruby/encoding.h")
+-end
+-create_makefile 'json/ext/generator'
+diff --git a/lib/mcollective/vendor/json/ext/json/ext/generator/generator.c b/lib/mcollective/vendor/json/ext/json/ext/generator/generator.c
+deleted file mode 100644
+index 6505882..0000000
+--- a/lib/mcollective/vendor/json/ext/json/ext/generator/generator.c
++++ /dev/null
+@@ -1,1417 +0,0 @@
+-#include "generator.h"
+-
+-#ifdef HAVE_RUBY_ENCODING_H
+-static VALUE CEncoding_UTF_8;
+-static ID i_encoding, i_encode;
+-#endif
+-
+-static VALUE mJSON, mExt, mGenerator, cState, mGeneratorMethods, mObject,
+-             mHash, mArray, mFixnum, mBignum, mFloat, mString, mString_Extend,
+-             mTrueClass, mFalseClass, mNilClass, eGeneratorError,
+-             eNestingError, CRegexp_MULTILINE, CJSON_SAFE_STATE_PROTOTYPE,
+-             i_SAFE_STATE_PROTOTYPE;
+-
+-static ID i_to_s, i_to_json, i_new, i_indent, i_space, i_space_before,
+-          i_object_nl, i_array_nl, i_max_nesting, i_allow_nan, i_ascii_only,
+-          i_pack, i_unpack, i_create_id, i_extend, i_key_p, i_aref, i_send,
+-          i_respond_to_p, i_match, i_keys, i_depth, i_dup;
+-
+-/*
+- * Copyright 2001-2004 Unicode, Inc.
+- * 
+- * Disclaimer
+- * 
+- * This source code is provided as is by Unicode, Inc. No claims are
+- * made as to fitness for any particular purpose. No warranties of any
+- * kind are expressed or implied. The recipient agrees to determine
+- * applicability of information provided. If this file has been
+- * purchased on magnetic or optical media from Unicode, Inc., the
+- * sole remedy for any claim will be exchange of defective media
+- * within 90 days of receipt.
+- * 
+- * Limitations on Rights to Redistribute This Code
+- * 
+- * Unicode, Inc. hereby grants the right to freely use the information
+- * supplied in this file in the creation of products supporting the
+- * Unicode Standard, and to make copies of this file in any form
+- * for internal or external distribution as long as this notice
+- * remains attached.
+- */
+-
+-/*
+- * Index into the table below with the first byte of a UTF-8 sequence to
+- * get the number of trailing bytes that are supposed to follow it.
+- * Note that *legal* UTF-8 values can't have 4 or 5-bytes. The table is
+- * left as-is for anyone who may want to do such conversion, which was
+- * allowed in earlier algorithms.
+- */
+-static const char trailingBytesForUTF8[256] = {
+-    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+-    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+-    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+-    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+-    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+-    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+-    1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
+-    2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, 3,3,3,3,3,3,3,3,4,4,4,4,5,5,5,5
+-};
+-
+-/*
+- * Magic values subtracted from a buffer value during UTF8 conversion.
+- * This table contains as many values as there might be trailing bytes
+- * in a UTF-8 sequence.
+- */
+-static const UTF32 offsetsFromUTF8[6] = { 0x00000000UL, 0x00003080UL, 0x000E2080UL, 
+-		     0x03C82080UL, 0xFA082080UL, 0x82082080UL };
+-
+-/*
+- * Utility routine to tell whether a sequence of bytes is legal UTF-8.
+- * This must be called with the length pre-determined by the first byte.
+- * If not calling this from ConvertUTF8to*, then the length can be set by:
+- *  length = trailingBytesForUTF8[*source]+1;
+- * and the sequence is illegal right away if there aren't that many bytes
+- * available.
+- * If presented with a length > 4, this returns 0.  The Unicode
+- * definition of UTF-8 goes up to 4-byte sequences.
+- */
+-static unsigned char isLegalUTF8(const UTF8 *source, unsigned long length)
+-{
+-    UTF8 a;
+-    const UTF8 *srcptr = source+length;
+-    switch (length) {
+-        default: return 0;
+-                 /* Everything else falls through when "1"... */
+-        case 4: if ((a = (*--srcptr)) < 0x80 || a > 0xBF) return 0;
+-        case 3: if ((a = (*--srcptr)) < 0x80 || a > 0xBF) return 0;
+-        case 2: if ((a = (*--srcptr)) > 0xBF) return 0;
+-
+-                    switch (*source) {
+-                        /* no fall-through in this inner switch */
+-                        case 0xE0: if (a < 0xA0) return 0; break;
+-                        case 0xED: if (a > 0x9F) return 0; break;
+-                        case 0xF0: if (a < 0x90) return 0; break;
+-                        case 0xF4: if (a > 0x8F) return 0; break;
+-                        default:   if (a < 0x80) return 0;
+-                    }
+-
+-        case 1: if (*source >= 0x80 && *source < 0xC2) return 0;
+-    }
+-    if (*source > 0xF4) return 0;
+-    return 1;
+-}
+-
+-/* Escapes the UTF16 character and stores the result in the buffer buf. */
+-static void unicode_escape(char *buf, UTF16 character)
+-{
+-    const char *digits = "0123456789abcdef";
+-
+-    buf[2] = digits[character >> 12];
+-    buf[3] = digits[(character >> 8) & 0xf];
+-    buf[4] = digits[(character >> 4) & 0xf];
+-    buf[5] = digits[character & 0xf];
+-}
+-
+-/* Escapes the UTF16 character and stores the result in the buffer buf, then
+- * the buffer buf іs appended to the FBuffer buffer. */
+-static void unicode_escape_to_buffer(FBuffer *buffer, char buf[6], UTF16
+-        character)
+-{
+-    unicode_escape(buf, character);
+-    fbuffer_append(buffer, buf, 6);
+-}
+-
+-/* Converts string to a JSON string in FBuffer buffer, where all but the ASCII
+- * and control characters are JSON escaped. */
+-static void convert_UTF8_to_JSON_ASCII(FBuffer *buffer, VALUE string)
+-{
+-    const UTF8 *source = (UTF8 *) RSTRING_PTR(string);
+-    const UTF8 *sourceEnd = source + RSTRING_LEN(string);
+-    char buf[6] = { '\\', 'u' };
+-
+-    while (source < sourceEnd) {
+-        UTF32 ch = 0;
+-        unsigned short extraBytesToRead = trailingBytesForUTF8[*source];
+-        if (source + extraBytesToRead >= sourceEnd) {
+-            rb_raise(rb_path2class("JSON::GeneratorError"),
+-                    "partial character in source, but hit end");
+-        }
+-        if (!isLegalUTF8(source, extraBytesToRead+1)) {
+-            rb_raise(rb_path2class("JSON::GeneratorError"),
+-                    "source sequence is illegal/malformed utf-8");
+-        }
+-        /*
+-         * The cases all fall through. See "Note A" below.
+-         */
+-        switch (extraBytesToRead) {
+-            case 5: ch += *source++; ch <<= 6; /* remember, illegal UTF-8 */
+-            case 4: ch += *source++; ch <<= 6; /* remember, illegal UTF-8 */
+-            case 3: ch += *source++; ch <<= 6;
+-            case 2: ch += *source++; ch <<= 6;
+-            case 1: ch += *source++; ch <<= 6;
+-            case 0: ch += *source++;
+-        }
+-        ch -= offsetsFromUTF8[extraBytesToRead];
+-
+-        if (ch <= UNI_MAX_BMP) { /* Target is a character <= 0xFFFF */
+-            /* UTF-16 surrogate values are illegal in UTF-32 */
+-            if (ch >= UNI_SUR_HIGH_START && ch <= UNI_SUR_LOW_END) {
+-#if UNI_STRICT_CONVERSION
+-                source -= (extraBytesToRead+1); /* return to the illegal value itself */
+-                rb_raise(rb_path2class("JSON::GeneratorError"),
+-                        "source sequence is illegal/malformed utf-8");
+-#else
+-                unicode_escape_to_buffer(buffer, buf, UNI_REPLACEMENT_CHAR);
+-#endif
+-            } else {
+-                /* normal case */
+-                if (ch >= 0x20 && ch <= 0x7f) {
+-                    switch (ch) {
+-                        case '\\':
+-                            fbuffer_append(buffer, "\\\\", 2);
+-                            break;
+-                        case '"':
+-                            fbuffer_append(buffer, "\\\"", 2);
+-                            break;
+-                        default:
+-                            fbuffer_append_char(buffer, (char)ch);
+-                            break;
+-                    }
+-                } else {
+-                    switch (ch) {
+-                        case '\n':
+-                            fbuffer_append(buffer, "\\n", 2);
+-                            break;
+-                        case '\r':
+-                            fbuffer_append(buffer, "\\r", 2);
+-                            break;
+-                        case '\t':
+-                            fbuffer_append(buffer, "\\t", 2);
+-                            break;
+-                        case '\f':
+-                            fbuffer_append(buffer, "\\f", 2);
+-                            break;
+-                        case '\b':
+-                            fbuffer_append(buffer, "\\b", 2);
+-                            break;
+-                        default:
+-                            unicode_escape_to_buffer(buffer, buf, (UTF16) ch);
+-                            break;
+-                    }
+-                }
+-            }
+-        } else if (ch > UNI_MAX_UTF16) {
+-#if UNI_STRICT_CONVERSION
+-            source -= (extraBytesToRead+1); /* return to the start */
+-            rb_raise(rb_path2class("JSON::GeneratorError"),
+-                    "source sequence is illegal/malformed utf8");
+-#else
+-            unicode_escape_to_buffer(buffer, buf, UNI_REPLACEMENT_CHAR);
+-#endif
+-        } else {
+-            /* target is a character in range 0xFFFF - 0x10FFFF. */
+-            ch -= halfBase;
+-            unicode_escape_to_buffer(buffer, buf, (UTF16)((ch >> halfShift) + UNI_SUR_HIGH_START));
+-            unicode_escape_to_buffer(buffer, buf, (UTF16)((ch & halfMask) + UNI_SUR_LOW_START));
+-        }
+-    }
+-}
+-
+-/* Converts string to a JSON string in FBuffer buffer, where only the
+- * characters required by the JSON standard are JSON escaped. The remaining
+- * characters (should be UTF8) are just passed through and appended to the
+- * result. */
+-static void convert_UTF8_to_JSON(FBuffer *buffer, VALUE string)
+-{
+-    const char *ptr = RSTRING_PTR(string), *p;
+-    unsigned long len = RSTRING_LEN(string), start = 0, end = 0;
+-    const char *escape = NULL;
+-    int escape_len;
+-    unsigned char c;
+-    char buf[6] = { '\\', 'u' };
+-
+-    for (start = 0, end = 0; end < len;) {
+-        p = ptr + end;
+-        c = (unsigned char) *p;
+-        if (c < 0x20) {
+-            switch (c) {
+-                case '\n':
+-                    escape = "\\n";
+-                    escape_len = 2;
+-                    break;
+-                case '\r':
+-                    escape = "\\r";
+-                    escape_len = 2;
+-                    break;
+-                case '\t':
+-                    escape = "\\t";
+-                    escape_len = 2;
+-                    break;
+-                case '\f':
+-                    escape = "\\f";
+-                    escape_len = 2;
+-                    break;
+-                case '\b':
+-                    escape = "\\b";
+-                    escape_len = 2;
+-                    break;
+-                default:
+-                    unicode_escape(buf, (UTF16) *p);
+-                    escape = buf;
+-                    escape_len = 6;
+-                    break;
+-            }
+-        } else {
+-            switch (c) {
+-                case '\\':
+-                    escape = "\\\\";
+-                    escape_len = 2;
+-                    break;
+-                case '"':
+-                    escape =  "\\\"";
+-                    escape_len = 2;
+-                    break;
+-                default:
+-                    end++;
+-                    continue;
+-                    break;
+-            }
+-        }
+-        fbuffer_append(buffer, ptr + start, end - start);
+-        fbuffer_append(buffer, escape, escape_len);
+-        start = ++end;
+-        escape = NULL;
+-    }
+-    fbuffer_append(buffer, ptr + start, end - start);
+-}
+-
+-static char *fstrndup(const char *ptr, unsigned long len) {
+-  char *result;
+-  if (len <= 0) return NULL;
+-  result = ALLOC_N(char, len);
+-  memccpy(result, ptr, 0, len);
+-  return result;
+-}
+-
+-/* fbuffer implementation */
+-
+-static FBuffer *fbuffer_alloc()
+-{
+-    FBuffer *fb = ALLOC(FBuffer);
+-    memset((void *) fb, 0, sizeof(FBuffer));
+-    fb->initial_length = FBUFFER_INITIAL_LENGTH;
+-    return fb;
+-}
+-
+-static FBuffer *fbuffer_alloc_with_length(unsigned long initial_length)
+-{
+-    FBuffer *fb;
+-    assert(initial_length > 0);
+-    fb = ALLOC(FBuffer);
+-    memset((void *) fb, 0, sizeof(FBuffer));
+-    fb->initial_length = initial_length;
+-    return fb;
+-}
+-
+-static void fbuffer_free(FBuffer *fb)
+-{
+-    if (fb->ptr) ruby_xfree(fb->ptr);
+-    ruby_xfree(fb);
+-}
+-
+-static void fbuffer_free_only_buffer(FBuffer *fb)
+-{
+-    ruby_xfree(fb);
+-}
+-
+-static void fbuffer_clear(FBuffer *fb)
+-{
+-    fb->len = 0;
+-}
+-
+-static void fbuffer_inc_capa(FBuffer *fb, unsigned long requested)
+-{
+-    unsigned long required;
+-
+-    if (!fb->ptr) {
+-        fb->ptr = ALLOC_N(char, fb->initial_length);
+-        fb->capa = fb->initial_length;
+-    }
+-
+-    for (required = fb->capa; requested > required - fb->len; required <<= 1);
+-
+-    if (required > fb->capa) {
+-        REALLOC_N(fb->ptr, char, required);
+-        fb->capa = required;
+-    }
+-}
+-
+-static void fbuffer_append(FBuffer *fb, const char *newstr, unsigned long len)
+-{
+-    if (len > 0) {
+-        fbuffer_inc_capa(fb, len);
+-        MEMCPY(fb->ptr + fb->len, newstr, char, len);
+-        fb->len += len;
+-    }
+-}
+-
+-static void fbuffer_append_char(FBuffer *fb, char newchr)
+-{
+-    fbuffer_inc_capa(fb, 1);
+-    *(fb->ptr + fb->len) = newchr;
+-    fb->len++;
+-}
+-
+-static void freverse(char *start, char *end)
+-{
+-	char c;
+-
+-	while (end > start) {
+-		c = *end, *end-- = *start, *start++ = c;
+-    }
+-}
+-
+-static long fltoa(long number, char *buf)
+-{
+-	static char digits[] = "0123456789";
+-	long sign = number;
+-	char* tmp = buf;
+-
+-	if (sign < 0) number = -number;
+-    do *tmp++ = digits[number % 10]; while (number /= 10);
+-	if (sign < 0) *tmp++ = '-';
+-	freverse(buf, tmp - 1);
+-    return tmp - buf;
+-}
+-
+-static void fbuffer_append_long(FBuffer *fb, long number)
+-{
+-    char buf[20];
+-    unsigned long len = fltoa(number, buf);
+-    fbuffer_append(fb, buf, len);
+-}
+-
+-static FBuffer *fbuffer_dup(FBuffer *fb)
+-{
+-    unsigned long len = fb->len;
+-    FBuffer *result;
+-
+-    if (len > 0) {
+-        result = fbuffer_alloc_with_length(len);
+-        fbuffer_append(result, FBUFFER_PAIR(fb));
+-    } else {
+-        result = fbuffer_alloc();
+-    }
+-    return result;
+-}
+-
+-/* 
+- * Document-module: JSON::Ext::Generator
+- *
+- * This is the JSON generator implemented as a C extension. It can be
+- * configured to be used by setting
+- *
+- *  JSON.generator = JSON::Ext::Generator
+- *
+- * with the method generator= in JSON.
+- *
+- */
+-
+-/*
+- * call-seq: to_json(state = nil)
+- *
+- * Returns a JSON string containing a JSON object, that is generated from
+- * this Hash instance.
+- * _state_ is a JSON::State object, that can also be used to configure the
+- * produced JSON string output further.
+- */
+-static VALUE mHash_to_json(int argc, VALUE *argv, VALUE self)
+-{
+-    GENERATE_JSON(object);
+-}
+-
+-/*
+- * call-seq: to_json(state = nil)
+- *
+- * Returns a JSON string containing a JSON array, that is generated from
+- * this Array instance.
+- * _state_ is a JSON::State object, that can also be used to configure the
+- * produced JSON string output further.
+- */
+-static VALUE mArray_to_json(int argc, VALUE *argv, VALUE self) {
+-    GENERATE_JSON(array);
+-}
+-
+-/*
+- * call-seq: to_json(*)
+- *
+- * Returns a JSON string representation for this Integer number.
+- */
+-static VALUE mFixnum_to_json(int argc, VALUE *argv, VALUE self)
+-{
+-    GENERATE_JSON(fixnum);
+-}
+-
+-/*
+- * call-seq: to_json(*)
+- *
+- * Returns a JSON string representation for this Integer number.
+- */
+-static VALUE mBignum_to_json(int argc, VALUE *argv, VALUE self)
+-{
+-    GENERATE_JSON(bignum);
+-}
+-
+-/*
+- * call-seq: to_json(*)
+- *
+- * Returns a JSON string representation for this Float number.
+- */
+-static VALUE mFloat_to_json(int argc, VALUE *argv, VALUE self)
+-{
+-    GENERATE_JSON(float);
+-}
+-
+-/*
+- * call-seq: String.included(modul)
+- *
+- * Extends _modul_ with the String::Extend module.
+- */
+-static VALUE mString_included_s(VALUE self, VALUE modul) {
+-    VALUE result = rb_funcall(modul, i_extend, 1, mString_Extend);
+-    return result;
+-}
+-
+-/*
+- * call-seq: to_json(*)
+- *
+- * This string should be encoded with UTF-8 A call to this method
+- * returns a JSON string encoded with UTF16 big endian characters as
+- * \u????.
+- */
+-static VALUE mString_to_json(int argc, VALUE *argv, VALUE self)
+-{
+-    GENERATE_JSON(string);
+-}
+-
+-/*
+- * call-seq: to_json_raw_object()
+- *
+- * This method creates a raw object hash, that can be nested into
+- * other data structures and will be generated as a raw string. This
+- * method should be used, if you want to convert raw strings to JSON
+- * instead of UTF-8 strings, e. g. binary data.
+- */
+-static VALUE mString_to_json_raw_object(VALUE self)
+-{
+-    VALUE ary;
+-    VALUE result = rb_hash_new();
+-    rb_hash_aset(result, rb_funcall(mJSON, i_create_id, 0), rb_class_name(rb_obj_class(self)));
+-    ary = rb_funcall(self, i_unpack, 1, rb_str_new2("C*"));
+-    rb_hash_aset(result, rb_str_new2("raw"), ary);
+-    return result;
+-}
+-
+-/*
+- * call-seq: to_json_raw(*args)
+- *
+- * This method creates a JSON text from the result of a call to
+- * to_json_raw_object of this String.
+- */
+-static VALUE mString_to_json_raw(int argc, VALUE *argv, VALUE self)
+-{
+-    VALUE obj = mString_to_json_raw_object(self);
+-    Check_Type(obj, T_HASH);
+-    return mHash_to_json(argc, argv, obj);
+-}
+-
+-/*
+- * call-seq: json_create(o)
+- *
+- * Raw Strings are JSON Objects (the raw bytes are stored in an array for the
+- * key "raw"). The Ruby String can be created by this module method.
+- */
+-static VALUE mString_Extend_json_create(VALUE self, VALUE o)
+-{
+-    VALUE ary;
+-    Check_Type(o, T_HASH);
+-    ary = rb_hash_aref(o, rb_str_new2("raw"));
+-    return rb_funcall(ary, i_pack, 1, rb_str_new2("C*"));
+-}
+-
+-/*
+- * call-seq: to_json(*)
+- *
+- * Returns a JSON string for true: 'true'.
+- */
+-static VALUE mTrueClass_to_json(int argc, VALUE *argv, VALUE self)
+-{
+-    GENERATE_JSON(true);
+-}
+-
+-/*
+- * call-seq: to_json(*)
+- *
+- * Returns a JSON string for false: 'false'.
+- */
+-static VALUE mFalseClass_to_json(int argc, VALUE *argv, VALUE self)
+-{
+-    GENERATE_JSON(false);
+-}
+-
+-/*
+- * call-seq: to_json(*)
+- *
+- */
+-static VALUE mNilClass_to_json(int argc, VALUE *argv, VALUE self)
+-{
+-    GENERATE_JSON(null);
+-}
+-
+-/*
+- * call-seq: to_json(*)
+- *
+- * Converts this object to a string (calling #to_s), converts
+- * it to a JSON string, and returns the result. This is a fallback, if no
+- * special method #to_json was defined for some object.
+- */
+-static VALUE mObject_to_json(int argc, VALUE *argv, VALUE self)
+-{
+-    VALUE state;
+-    VALUE string = rb_funcall(self, i_to_s, 0);
+-    rb_scan_args(argc, argv, "01", &state);
+-    Check_Type(string, T_STRING);
+-    state = cState_from_state_s(cState, state);
+-    return cState_partial_generate(state, string);
+-}
+-
+-static void State_free(JSON_Generator_State *state)
+-{
+-    if (state->indent) ruby_xfree(state->indent);
+-    if (state->space) ruby_xfree(state->space);
+-    if (state->space_before) ruby_xfree(state->space_before);
+-    if (state->object_nl) ruby_xfree(state->object_nl);
+-    if (state->array_nl) ruby_xfree(state->array_nl);
+-    if (state->array_delim) fbuffer_free(state->array_delim);
+-    if (state->object_delim) fbuffer_free(state->object_delim);
+-    if (state->object_delim2) fbuffer_free(state->object_delim2);
+-    ruby_xfree(state);
+-}
+-
+-static JSON_Generator_State *State_allocate()
+-{
+-    JSON_Generator_State *state = ALLOC(JSON_Generator_State);
+-    MEMZERO(state, JSON_Generator_State, 1);
+-    return state;
+-}
+-
+-static VALUE cState_s_allocate(VALUE klass)
+-{
+-    JSON_Generator_State *state = State_allocate();
+-    return Data_Wrap_Struct(klass, NULL, State_free, state);
+-}
+-
+-/*
+- * call-seq: configure(opts)
+- *
+- * Configure this State instance with the Hash _opts_, and return
+- * itself.
+- */
+-static VALUE cState_configure(VALUE self, VALUE opts)
+-{
+-    VALUE tmp;
+-    GET_STATE(self);
+-    tmp = rb_convert_type(opts, T_HASH, "Hash", "to_hash");
+-    if (NIL_P(tmp)) tmp = rb_convert_type(opts, T_HASH, "Hash", "to_h");
+-    if (NIL_P(tmp)) {
+-        rb_raise(rb_eArgError, "opts has to be hash like or convertable into a hash");
+-    }
+-    opts = tmp;
+-    tmp = rb_hash_aref(opts, ID2SYM(i_indent));
+-    if (RTEST(tmp)) {
+-        unsigned long len;
+-        Check_Type(tmp, T_STRING);
+-        len = RSTRING_LEN(tmp);
+-        state->indent = fstrndup(RSTRING_PTR(tmp), len);
+-        state->indent_len = len;
+-    }
+-    tmp = rb_hash_aref(opts, ID2SYM(i_space));
+-    if (RTEST(tmp)) {
+-        unsigned long len;
+-        Check_Type(tmp, T_STRING);
+-        len = RSTRING_LEN(tmp);
+-        state->space = fstrndup(RSTRING_PTR(tmp), len);
+-        state->space_len = len;
+-    }
+-    tmp = rb_hash_aref(opts, ID2SYM(i_space_before));
+-    if (RTEST(tmp)) {
+-        unsigned long len;
+-        Check_Type(tmp, T_STRING);
+-        len = RSTRING_LEN(tmp);
+-        state->space_before = fstrndup(RSTRING_PTR(tmp), len);
+-        state->space_before_len = len;
+-    }
+-    tmp = rb_hash_aref(opts, ID2SYM(i_array_nl));
+-    if (RTEST(tmp)) {
+-        unsigned long len;
+-        Check_Type(tmp, T_STRING);
+-        len = RSTRING_LEN(tmp);
+-        state->array_nl = fstrndup(RSTRING_PTR(tmp), len);
+-        state->array_nl_len = len;
+-    }
+-    tmp = rb_hash_aref(opts, ID2SYM(i_object_nl));
+-    if (RTEST(tmp)) {
+-        unsigned long len;
+-        Check_Type(tmp, T_STRING);
+-        len = RSTRING_LEN(tmp);
+-        state->object_nl = fstrndup(RSTRING_PTR(tmp), len);
+-        state->object_nl_len = len;
+-    }
+-    tmp = ID2SYM(i_max_nesting);
+-    state->max_nesting = 19;
+-    if (option_given_p(opts, tmp)) {
+-        VALUE max_nesting = rb_hash_aref(opts, tmp);
+-        if (RTEST(max_nesting)) {
+-            Check_Type(max_nesting, T_FIXNUM);
+-            state->max_nesting = FIX2LONG(max_nesting);
+-        } else {
+-            state->max_nesting = 0;
+-        }
+-    }
+-    tmp = ID2SYM(i_depth);
+-    state->depth = 0;
+-    if (option_given_p(opts, tmp)) {
+-        VALUE depth = rb_hash_aref(opts, tmp);
+-        if (RTEST(depth)) {
+-            Check_Type(depth, T_FIXNUM);
+-            state->depth = FIX2LONG(depth);
+-        } else {
+-            state->depth = 0;
+-        }
+-    }
+-    tmp = rb_hash_aref(opts, ID2SYM(i_allow_nan));
+-    state->allow_nan = RTEST(tmp);
+-    tmp = rb_hash_aref(opts, ID2SYM(i_ascii_only));
+-    state->ascii_only = RTEST(tmp);
+-    return self;
+-}
+-
+-/*
+- * call-seq: to_h
+- *
+- * Returns the configuration instance variables as a hash, that can be
+- * passed to the configure method.
+- */
+-static VALUE cState_to_h(VALUE self)
+-{
+-    VALUE result = rb_hash_new();
+-    GET_STATE(self);
+-    rb_hash_aset(result, ID2SYM(i_indent), rb_str_new(state->indent, state->indent_len));
+-    rb_hash_aset(result, ID2SYM(i_space), rb_str_new(state->space, state->space_len));
+-    rb_hash_aset(result, ID2SYM(i_space_before), rb_str_new(state->space_before, state->space_before_len));
+-    rb_hash_aset(result, ID2SYM(i_object_nl), rb_str_new(state->object_nl, state->object_nl_len));
+-    rb_hash_aset(result, ID2SYM(i_array_nl), rb_str_new(state->array_nl, state->array_nl_len));
+-    rb_hash_aset(result, ID2SYM(i_allow_nan), state->allow_nan ? Qtrue : Qfalse);
+-    rb_hash_aset(result, ID2SYM(i_ascii_only), state->ascii_only ? Qtrue : Qfalse);
+-    rb_hash_aset(result, ID2SYM(i_max_nesting), LONG2FIX(state->max_nesting));
+-    rb_hash_aset(result, ID2SYM(i_depth), LONG2FIX(state->depth));
+-    return result;
+-}
+-
+-/*
+-* call-seq: [](name)
+-*
+-* Return the value returned by method +name+.
+-*/
+-static VALUE cState_aref(VALUE self, VALUE name)
+-{
+-    GET_STATE(self);
+-    if (RTEST(rb_funcall(self, i_respond_to_p, 1, name))) {
+-        return rb_funcall(self, i_send, 1, name);
+-    } else {
+-        return Qnil;
+-    }
+-}
+-
+-static void generate_json_object(FBuffer *buffer, VALUE Vstate, JSON_Generator_State *state, VALUE obj)
+-{
+-    char *object_nl = state->object_nl;
+-    long object_nl_len = state->object_nl_len;
+-    char *indent = state->indent;
+-    long indent_len = state->indent_len;
+-    long max_nesting = state->max_nesting;
+-    char *delim = FBUFFER_PTR(state->object_delim);
+-    long delim_len = FBUFFER_LEN(state->object_delim);
+-    char *delim2 = FBUFFER_PTR(state->object_delim2);
+-    long delim2_len = FBUFFER_LEN(state->object_delim2);
+-    long depth = ++state->depth;
+-    int i, j;
+-    VALUE key, key_to_s, keys;
+-    if (max_nesting != 0 && depth > max_nesting) {
+-        fbuffer_free(buffer);
+-        rb_raise(eNestingError, "nesting of %ld is too deep", --state->depth);
+-    }
+-    fbuffer_append_char(buffer, '{');
+-    keys = rb_funcall(obj, i_keys, 0);
+-    for(i = 0; i < RARRAY_LEN(keys); i++) {
+-        if (i > 0) fbuffer_append(buffer, delim, delim_len);
+-        if (object_nl) {
+-            fbuffer_append(buffer, object_nl, object_nl_len);
+-        }
+-        if (indent) {
+-            for (j = 0; j < depth; j++) {
+-                fbuffer_append(buffer, indent, indent_len);
+-            }
+-        }
+-        key = rb_ary_entry(keys, i);
+-        key_to_s = rb_funcall(key, i_to_s, 0);
+-        Check_Type(key_to_s, T_STRING);
+-        generate_json(buffer, Vstate, state, key_to_s);
+-        fbuffer_append(buffer, delim2, delim2_len);
+-        generate_json(buffer, Vstate, state, rb_hash_aref(obj, key));
+-    }
+-    depth = --state->depth;
+-    if (object_nl) {
+-        fbuffer_append(buffer, object_nl, object_nl_len);
+-        if (indent) {
+-            for (j = 0; j < depth; j++) {
+-                fbuffer_append(buffer, indent, indent_len);
+-            }
+-        }
+-    }
+-    fbuffer_append_char(buffer, '}');
+-}
+-
+-static void generate_json_array(FBuffer *buffer, VALUE Vstate, JSON_Generator_State *state, VALUE obj)
+-{
+-    char *array_nl = state->array_nl;
+-    long array_nl_len = state->array_nl_len;
+-    char *indent = state->indent;
+-    long indent_len = state->indent_len;
+-    long max_nesting = state->max_nesting;
+-    char *delim = FBUFFER_PTR(state->array_delim);
+-    long delim_len = FBUFFER_LEN(state->array_delim);
+-    long depth = ++state->depth;
+-    int i, j;
+-    if (max_nesting != 0 && depth > max_nesting) {
+-        fbuffer_free(buffer);
+-        rb_raise(eNestingError, "nesting of %ld is too deep", --state->depth);
+-    }
+-    fbuffer_append_char(buffer, '[');
+-    if (array_nl) fbuffer_append(buffer, array_nl, array_nl_len);
+-    for(i = 0; i < RARRAY_LEN(obj); i++) {
+-        if (i > 0) fbuffer_append(buffer, delim, delim_len);
+-        if (indent) {
+-            for (j = 0; j < depth; j++) {
+-                fbuffer_append(buffer, indent, indent_len);
+-            }
+-        }
+-        generate_json(buffer, Vstate, state, rb_ary_entry(obj, i));
+-    }
+-    state->depth = --depth;
+-    if (array_nl) {
+-        fbuffer_append(buffer, array_nl, array_nl_len);
+-        if (indent) {
+-            for (j = 0; j < depth; j++) {
+-                fbuffer_append(buffer, indent, indent_len);
+-            }
+-        }
+-    }
+-    fbuffer_append_char(buffer, ']');
+-}
+-
+-static void generate_json_string(FBuffer *buffer, VALUE Vstate, JSON_Generator_State *state, VALUE obj)
+-{
+-    fbuffer_append_char(buffer, '"');
+-#ifdef HAVE_RUBY_ENCODING_H
+-    obj = rb_funcall(obj, i_encode, 1, CEncoding_UTF_8);
+-#endif
+-    if (state->ascii_only) {
+-        convert_UTF8_to_JSON_ASCII(buffer, obj);
+-    } else {
+-        convert_UTF8_to_JSON(buffer, obj);
+-    }
+-    fbuffer_append_char(buffer, '"');
+-}
+-
+-static void generate_json_null(FBuffer *buffer, VALUE Vstate, JSON_Generator_State *state, VALUE obj)
+-{
+-    fbuffer_append(buffer, "null", 4);
+-}
+-
+-static void generate_json_false(FBuffer *buffer, VALUE Vstate, JSON_Generator_State *state, VALUE obj)
+-{
+-    fbuffer_append(buffer, "false", 5);
+-}
+-
+-static void generate_json_true(FBuffer *buffer, VALUE Vstate, JSON_Generator_State *state, VALUE obj)
+-{
+-    fbuffer_append(buffer, "true", 4);
+-}
+-
+-static void generate_json_fixnum(FBuffer *buffer, VALUE Vstate, JSON_Generator_State *state, VALUE obj)
+-{
+-    fbuffer_append_long(buffer, FIX2LONG(obj));
+-}
+-
+-static void generate_json_bignum(FBuffer *buffer, VALUE Vstate, JSON_Generator_State *state, VALUE obj)
+-{
+-    VALUE tmp = rb_funcall(obj, i_to_s, 0);
+-    fbuffer_append(buffer, RSTRING_PAIR(tmp));
+-}
+-
+-static void generate_json_float(FBuffer *buffer, VALUE Vstate, JSON_Generator_State *state, VALUE obj)
+-{
+-    double value = RFLOAT_VALUE(obj);
+-    char allow_nan = state->allow_nan;
+-    VALUE tmp = rb_funcall(obj, i_to_s, 0);
+-    if (!allow_nan) {
+-        if (isinf(value)) {
+-            fbuffer_free(buffer);
+-            rb_raise(eGeneratorError, "%u: %s not allowed in JSON", __LINE__, StringValueCStr(tmp));
+-        } else if (isnan(value)) {
+-            fbuffer_free(buffer);
+-            rb_raise(eGeneratorError, "%u: %s not allowed in JSON", __LINE__, StringValueCStr(tmp));
+-        }
+-    }
+-    fbuffer_append(buffer, RSTRING_PAIR(tmp));
+-}
+-
+-static void generate_json(FBuffer *buffer, VALUE Vstate, JSON_Generator_State *state, VALUE obj)
+-{
+-    VALUE tmp;
+-    VALUE klass = CLASS_OF(obj);
+-    if (klass == rb_cHash) {
+-        generate_json_object(buffer, Vstate, state, obj);
+-    } else if (klass == rb_cArray) {
+-        generate_json_array(buffer, Vstate, state, obj);
+-    } else if (klass == rb_cString) {
+-        generate_json_string(buffer, Vstate, state, obj);
+-    } else if (obj == Qnil) {
+-        generate_json_null(buffer, Vstate, state, obj);
+-    } else if (obj == Qfalse) {
+-        generate_json_false(buffer, Vstate, state, obj);
+-    } else if (obj == Qtrue) {
+-        generate_json_true(buffer, Vstate, state, obj);
+-    } else if (klass == rb_cFixnum) {
+-        generate_json_fixnum(buffer, Vstate, state, obj);
+-    } else if (klass == rb_cBignum) {
+-        generate_json_bignum(buffer, Vstate, state, obj);
+-    } else if (klass == rb_cFloat) {
+-        generate_json_float(buffer, Vstate, state, obj);
+-    } else if (rb_respond_to(obj, i_to_json)) {
+-        tmp = rb_funcall(obj, i_to_json, 1, Vstate);
+-        Check_Type(tmp, T_STRING);
+-        fbuffer_append(buffer, RSTRING_PAIR(tmp));
+-    } else {
+-        tmp = rb_funcall(obj, i_to_s, 0);
+-        Check_Type(tmp, T_STRING);
+-        generate_json(buffer, Vstate, state, tmp);
+-    }
+-}
+-
+-static FBuffer *cState_prepare_buffer(VALUE self)
+-{
+-    FBuffer *buffer = fbuffer_alloc();
+-    GET_STATE(self);
+-
+-    if (state->object_delim) {
+-        fbuffer_clear(state->object_delim);
+-    } else {
+-        state->object_delim = fbuffer_alloc_with_length(16);
+-    }
+-    fbuffer_append_char(state->object_delim, ',');
+-    if (state->object_delim2) {
+-        fbuffer_clear(state->object_delim2);
+-    } else {
+-        state->object_delim2 = fbuffer_alloc_with_length(16);
+-    }
+-    fbuffer_append_char(state->object_delim2, ':');
+-    if (state->space) fbuffer_append(state->object_delim2, state->space, state->space_len);
+-
+-    if (state->array_delim) {
+-        fbuffer_clear(state->array_delim);
+-    } else {
+-        state->array_delim = fbuffer_alloc_with_length(16);
+-    }
+-    fbuffer_append_char(state->array_delim, ',');
+-    if (state->array_nl) fbuffer_append(state->array_delim, state->array_nl, state->array_nl_len);
+-    return buffer;
+-}
+-
+-static VALUE fbuffer_to_s(FBuffer *fb)
+-{
+-    VALUE result = rb_str_new(FBUFFER_PAIR(fb));
+-    fbuffer_free(fb);
+-    FORCE_UTF8(result);
+-    return result;
+-}
+-
+-static VALUE cState_partial_generate(VALUE self, VALUE obj)
+-{
+-    FBuffer *buffer = cState_prepare_buffer(self);
+-    GET_STATE(self);
+-    generate_json(buffer, self, state, obj);
+-    return fbuffer_to_s(buffer);
+-}
+-
+-/*
+- * call-seq: generate(obj)
+- *
+- * Generates a valid JSON document from object +obj+ and returns the
+- * result. If no valid JSON document can be created this method raises a
+- * GeneratorError exception.
+- */
+-static VALUE cState_generate(VALUE self, VALUE obj)
+-{
+-    VALUE result = cState_partial_generate(self, obj);
+-    VALUE re, args[2];
+-    args[0] = rb_str_new2("\\A\\s*(?:\\[.*\\]|\\{.*\\})\\s*\\Z");
+-    args[1] = CRegexp_MULTILINE;
+-    re = rb_class_new_instance(2, args, rb_cRegexp);
+-    if (NIL_P(rb_funcall(re, i_match, 1, result))) {
+-        rb_raise(eGeneratorError, "only generation of JSON objects or arrays allowed");
+-    }
+-    return result;
+-}
+-
+-/*
+- * call-seq: new(opts = {})
+- *
+- * Instantiates a new State object, configured by _opts_.
+- *
+- * _opts_ can have the following keys:
+- *
+- * * *indent*: a string used to indent levels (default: ''),
+- * * *space*: a string that is put after, a : or , delimiter (default: ''),
+- * * *space_before*: a string that is put before a : pair delimiter (default: ''),
+- * * *object_nl*: a string that is put at the end of a JSON object (default: ''), 
+- * * *array_nl*: a string that is put at the end of a JSON array (default: ''),
+- * * *allow_nan*: true if NaN, Infinity, and -Infinity should be
+- *   generated, otherwise an exception is thrown, if these values are
+- *   encountered. This options defaults to false.
+- */
+-static VALUE cState_initialize(int argc, VALUE *argv, VALUE self)
+-{
+-    VALUE opts;
+-    GET_STATE(self);
+-    state->max_nesting = 19;
+-    rb_scan_args(argc, argv, "01", &opts);
+-    if (!NIL_P(opts)) cState_configure(self, opts);
+-    return self;
+-}
+-
+-/*
+- * call-seq: initialize_copy(orig)
+- *
+- * Initializes this object from orig if it to be duplicated/cloned and returns
+- * it.
+-*/
+-static VALUE cState_init_copy(VALUE obj, VALUE orig)
+-{
+-    JSON_Generator_State *objState, *origState;
+-
+-    Data_Get_Struct(obj, JSON_Generator_State, objState);
+-    Data_Get_Struct(orig, JSON_Generator_State, origState);
+-    if (!objState) rb_raise(rb_eArgError, "unallocated JSON::State");
+-
+-    MEMCPY(objState, origState, JSON_Generator_State, 1);
+-    objState->indent = fstrndup(origState->indent, origState->indent_len);
+-    objState->space = fstrndup(origState->space, origState->space_len);
+-    objState->space_before = fstrndup(origState->space_before, origState->space_before_len);
+-    objState->object_nl = fstrndup(origState->object_nl, origState->object_nl_len);
+-    objState->array_nl = fstrndup(origState->array_nl, origState->array_nl_len);
+-    if (origState->array_delim) objState->array_delim = fbuffer_dup(origState->array_delim);
+-    if (origState->object_delim) objState->object_delim = fbuffer_dup(origState->object_delim);
+-    if (origState->object_delim2) objState->object_delim2 = fbuffer_dup(origState->object_delim2);
+-    return obj;
+-}
+-
+-/*
+- * call-seq: from_state(opts)
+- *
+- * Creates a State object from _opts_, which ought to be Hash to create a
+- * new State instance configured by _opts_, something else to create an
+- * unconfigured instance. If _opts_ is a State object, it is just returned.
+- */
+-static VALUE cState_from_state_s(VALUE self, VALUE opts)
+-{
+-    if (rb_obj_is_kind_of(opts, self)) {
+-        return opts;
+-    } else if (rb_obj_is_kind_of(opts, rb_cHash)) {
+-        return rb_funcall(self, i_new, 1, opts);
+-    } else {
+-        if (NIL_P(CJSON_SAFE_STATE_PROTOTYPE)) {
+-            CJSON_SAFE_STATE_PROTOTYPE = rb_const_get(mJSON, i_SAFE_STATE_PROTOTYPE);
+-        }
+-        return rb_funcall(CJSON_SAFE_STATE_PROTOTYPE, i_dup, 0);
+-    }
+-}
+-
+-/*
+- * call-seq: indent()
+- *
+- * This string is used to indent levels in the JSON text.
+- */
+-static VALUE cState_indent(VALUE self)
+-{
+-    GET_STATE(self);
+-    return state->indent ? rb_str_new2(state->indent) : rb_str_new2("");
+-}
+-
+-/*
+- * call-seq: indent=(indent)
+- *
+- * This string is used to indent levels in the JSON text.
+- */
+-static VALUE cState_indent_set(VALUE self, VALUE indent)
+-{
+-    unsigned long len;
+-    GET_STATE(self);
+-    Check_Type(indent, T_STRING);
+-    len = RSTRING_LEN(indent);
+-    if (len == 0) {
+-        if (state->indent) {
+-            ruby_xfree(state->indent);
+-            state->indent = NULL;
+-            state->indent_len = 0;
+-        }
+-    } else {
+-        if (state->indent) ruby_xfree(state->indent);
+-        state->indent = strdup(RSTRING_PTR(indent));
+-        state->indent_len = len;
+-    }
+-    return Qnil;
+-}
+-
+-/*
+- * call-seq: space()
+- *
+- * This string is used to insert a space between the tokens in a JSON
+- * string.
+- */
+-static VALUE cState_space(VALUE self)
+-{
+-    GET_STATE(self);
+-    return state->space ? rb_str_new2(state->space) : rb_str_new2("");
+-}
+-
+-/*
+- * call-seq: space=(space)
+- *
+- * This string is used to insert a space between the tokens in a JSON
+- * string.
+- */
+-static VALUE cState_space_set(VALUE self, VALUE space)
+-{
+-    unsigned long len;
+-    GET_STATE(self);
+-    Check_Type(space, T_STRING);
+-    len = RSTRING_LEN(space);
+-    if (len == 0) {
+-        if (state->space) {
+-            ruby_xfree(state->space);
+-            state->space = NULL;
+-            state->space_len = 0;
+-        }
+-    } else {
+-        if (state->space) ruby_xfree(state->space);
+-        state->space = strdup(RSTRING_PTR(space));
+-        state->space_len = len;
+-    }
+-    return Qnil;
+-}
+-
+-/*
+- * call-seq: space_before()
+- *
+- * This string is used to insert a space before the ':' in JSON objects.
+- */
+-static VALUE cState_space_before(VALUE self)
+-{
+-    GET_STATE(self);
+-    return state->space_before ? rb_str_new2(state->space_before) : rb_str_new2("");
+-}
+-
+-/*
+- * call-seq: space_before=(space_before)
+- *
+- * This string is used to insert a space before the ':' in JSON objects.
+- */
+-static VALUE cState_space_before_set(VALUE self, VALUE space_before)
+-{
+-    unsigned long len;
+-    GET_STATE(self);
+-    Check_Type(space_before, T_STRING);
+-    len = RSTRING_LEN(space_before);
+-    if (len == 0) {
+-        if (state->space_before) {
+-            ruby_xfree(state->space_before);
+-            state->space_before = NULL;
+-            state->space_before_len = 0;
+-        }
+-    } else {
+-        if (state->space_before) ruby_xfree(state->space_before);
+-        state->space_before = strdup(RSTRING_PTR(space_before));
+-        state->space_before_len = len;
+-    }
+-    return Qnil;
+-}
+-
+-/*
+- * call-seq: object_nl()
+- *
+- * This string is put at the end of a line that holds a JSON object (or
+- * Hash).
+- */
+-static VALUE cState_object_nl(VALUE self)
+-{
+-    GET_STATE(self);
+-    return state->object_nl ? rb_str_new2(state->object_nl) : rb_str_new2("");
+-}
+-
+-/*
+- * call-seq: object_nl=(object_nl)
+- *
+- * This string is put at the end of a line that holds a JSON object (or
+- * Hash).
+- */
+-static VALUE cState_object_nl_set(VALUE self, VALUE object_nl)
+-{
+-    unsigned long len;
+-    GET_STATE(self);
+-    Check_Type(object_nl, T_STRING);
+-    len = RSTRING_LEN(object_nl);
+-    if (len == 0) {
+-        if (state->object_nl) {
+-            ruby_xfree(state->object_nl);
+-            state->object_nl = NULL;
+-        }
+-    } else {
+-        if (state->object_nl) ruby_xfree(state->object_nl);
+-        state->object_nl = strdup(RSTRING_PTR(object_nl));
+-        state->object_nl_len = len;
+-    }
+-    return Qnil;
+-}
+-
+-/*
+- * call-seq: array_nl()
+- *
+- * This string is put at the end of a line that holds a JSON array.
+- */
+-static VALUE cState_array_nl(VALUE self)
+-{
+-    GET_STATE(self);
+-    return state->array_nl ? rb_str_new2(state->array_nl) : rb_str_new2("");
+-}
+-
+-/*
+- * call-seq: array_nl=(array_nl)
+- *
+- * This string is put at the end of a line that holds a JSON array.
+- */
+-static VALUE cState_array_nl_set(VALUE self, VALUE array_nl)
+-{
+-    unsigned long len;
+-    GET_STATE(self);
+-    Check_Type(array_nl, T_STRING);
+-    len = RSTRING_LEN(array_nl);
+-    if (len == 0) {
+-        if (state->array_nl) {
+-            ruby_xfree(state->array_nl);
+-            state->array_nl = NULL;
+-        }
+-    } else {
+-        if (state->array_nl) ruby_xfree(state->array_nl);
+-        state->array_nl = strdup(RSTRING_PTR(array_nl));
+-        state->array_nl_len = len;
+-    }
+-    return Qnil;
+-}
+-
+-
+-/*
+-* call-seq: check_circular?
+-*
+-* Returns true, if circular data structures should be checked,
+-* otherwise returns false.
+-*/
+-static VALUE cState_check_circular_p(VALUE self)
+-{
+-    GET_STATE(self);
+-    return state->max_nesting ? Qtrue : Qfalse;
+-}
+-
+-/*
+- * call-seq: max_nesting
+- *
+- * This integer returns the maximum level of data structure nesting in
+- * the generated JSON, max_nesting = 0 if no maximum is checked.
+- */
+-static VALUE cState_max_nesting(VALUE self)
+-{
+-    GET_STATE(self);
+-    return LONG2FIX(state->max_nesting);
+-}
+-
+-/*
+- * call-seq: max_nesting=(depth)
+- *
+- * This sets the maximum level of data structure nesting in the generated JSON
+- * to the integer depth, max_nesting = 0 if no maximum should be checked.
+- */
+-static VALUE cState_max_nesting_set(VALUE self, VALUE depth)
+-{
+-    GET_STATE(self);
+-    Check_Type(depth, T_FIXNUM);
+-    return state->max_nesting = FIX2LONG(depth);
+-}
+-
+-/*
+- * call-seq: allow_nan?
+- *
+- * Returns true, if NaN, Infinity, and -Infinity should be generated, otherwise
+- * returns false.
+- */
+-static VALUE cState_allow_nan_p(VALUE self)
+-{
+-    GET_STATE(self);
+-    return state->allow_nan ? Qtrue : Qfalse;
+-}
+-
+-/*
+- * call-seq: ascii_only?
+- *
+- * Returns true, if NaN, Infinity, and -Infinity should be generated, otherwise
+- * returns false.
+- */
+-static VALUE cState_ascii_only_p(VALUE self)
+-{
+-    GET_STATE(self);
+-    return state->ascii_only ? Qtrue : Qfalse;
+-}
+-
+-/*
+- * call-seq: depth
+- *
+- * This integer returns the current depth of data structure nesting.
+- */
+-static VALUE cState_depth(VALUE self)
+-{
+-    GET_STATE(self);
+-    return LONG2FIX(state->depth);
+-}
+-
+-/*
+- * call-seq: depth=(depth)
+- *
+- * This sets the maximum level of data structure nesting in the generated JSON
+- * to the integer depth, max_nesting = 0 if no maximum should be checked.
+- */
+-static VALUE cState_depth_set(VALUE self, VALUE depth)
+-{
+-    GET_STATE(self);
+-    Check_Type(depth, T_FIXNUM);
+-    return state->depth = FIX2LONG(depth);
+-}
+-
+-/*
+- *
+- */
+-void Init_generator()
+-{
+-    rb_require("json/common");
+-
+-    mJSON = rb_define_module("JSON");
+-    mExt = rb_define_module_under(mJSON, "Ext");
+-    mGenerator = rb_define_module_under(mExt, "Generator");
+-
+-    eGeneratorError = rb_path2class("JSON::GeneratorError");
+-    eNestingError = rb_path2class("JSON::NestingError");
+-
+-    cState = rb_define_class_under(mGenerator, "State", rb_cObject);
+-    rb_define_alloc_func(cState, cState_s_allocate);
+-    rb_define_singleton_method(cState, "from_state", cState_from_state_s, 1);
+-    rb_define_method(cState, "initialize", cState_initialize, -1);
+-    rb_define_method(cState, "initialize_copy", cState_init_copy, 1);
+-    rb_define_method(cState, "indent", cState_indent, 0);
+-    rb_define_method(cState, "indent=", cState_indent_set, 1);
+-    rb_define_method(cState, "space", cState_space, 0);
+-    rb_define_method(cState, "space=", cState_space_set, 1);
+-    rb_define_method(cState, "space_before", cState_space_before, 0);
+-    rb_define_method(cState, "space_before=", cState_space_before_set, 1);
+-    rb_define_method(cState, "object_nl", cState_object_nl, 0);
+-    rb_define_method(cState, "object_nl=", cState_object_nl_set, 1);
+-    rb_define_method(cState, "array_nl", cState_array_nl, 0);
+-    rb_define_method(cState, "array_nl=", cState_array_nl_set, 1);
+-    rb_define_method(cState, "max_nesting", cState_max_nesting, 0);
+-    rb_define_method(cState, "max_nesting=", cState_max_nesting_set, 1);
+-    rb_define_method(cState, "check_circular?", cState_check_circular_p, 0);
+-    rb_define_method(cState, "allow_nan?", cState_allow_nan_p, 0);
+-    rb_define_method(cState, "ascii_only?", cState_ascii_only_p, 0);
+-    rb_define_method(cState, "depth", cState_depth, 0);
+-    rb_define_method(cState, "depth=", cState_depth_set, 1);
+-    rb_define_method(cState, "configure", cState_configure, 1);
+-    rb_define_method(cState, "to_h", cState_to_h, 0);
+-    rb_define_method(cState, "[]", cState_aref, 1);
+-    rb_define_method(cState, "generate", cState_generate, 1);
+-
+-    mGeneratorMethods = rb_define_module_under(mGenerator, "GeneratorMethods");
+-    mObject = rb_define_module_under(mGeneratorMethods, "Object");
+-    rb_define_method(mObject, "to_json", mObject_to_json, -1);
+-    mHash = rb_define_module_under(mGeneratorMethods, "Hash");
+-    rb_define_method(mHash, "to_json", mHash_to_json, -1);
+-    mArray = rb_define_module_under(mGeneratorMethods, "Array");
+-    rb_define_method(mArray, "to_json", mArray_to_json, -1);
+-    mFixnum = rb_define_module_under(mGeneratorMethods, "Fixnum");
+-    rb_define_method(mFixnum, "to_json", mFixnum_to_json, -1);
+-    mBignum = rb_define_module_under(mGeneratorMethods, "Bignum");
+-    rb_define_method(mBignum, "to_json", mBignum_to_json, -1);
+-    mFloat = rb_define_module_under(mGeneratorMethods, "Float");
+-    rb_define_method(mFloat, "to_json", mFloat_to_json, -1);
+-    mString = rb_define_module_under(mGeneratorMethods, "String");
+-    rb_define_singleton_method(mString, "included", mString_included_s, 1);
+-    rb_define_method(mString, "to_json", mString_to_json, -1);
+-    rb_define_method(mString, "to_json_raw", mString_to_json_raw, -1);
+-    rb_define_method(mString, "to_json_raw_object", mString_to_json_raw_object, 0);
+-    mString_Extend = rb_define_module_under(mString, "Extend");
+-    rb_define_method(mString_Extend, "json_create", mString_Extend_json_create, 1);
+-    mTrueClass = rb_define_module_under(mGeneratorMethods, "TrueClass");
+-    rb_define_method(mTrueClass, "to_json", mTrueClass_to_json, -1);
+-    mFalseClass = rb_define_module_under(mGeneratorMethods, "FalseClass");
+-    rb_define_method(mFalseClass, "to_json", mFalseClass_to_json, -1);
+-    mNilClass = rb_define_module_under(mGeneratorMethods, "NilClass");
+-    rb_define_method(mNilClass, "to_json", mNilClass_to_json, -1);
+-
+-    CRegexp_MULTILINE = rb_const_get(rb_cRegexp, rb_intern("MULTILINE"));
+-    i_to_s = rb_intern("to_s");
+-    i_to_json = rb_intern("to_json");
+-    i_new = rb_intern("new");
+-    i_indent = rb_intern("indent");
+-    i_space = rb_intern("space");
+-    i_space_before = rb_intern("space_before");
+-    i_object_nl = rb_intern("object_nl");
+-    i_array_nl = rb_intern("array_nl");
+-    i_max_nesting = rb_intern("max_nesting");
+-    i_allow_nan = rb_intern("allow_nan");
+-    i_ascii_only = rb_intern("ascii_only");
+-    i_depth = rb_intern("depth");
+-    i_pack = rb_intern("pack");
+-    i_unpack = rb_intern("unpack");
+-    i_create_id = rb_intern("create_id");
+-    i_extend = rb_intern("extend");
+-    i_key_p = rb_intern("key?");
+-    i_aref = rb_intern("[]");
+-    i_send = rb_intern("__send__");
+-    i_respond_to_p = rb_intern("respond_to?");
+-    i_match = rb_intern("match");
+-    i_keys = rb_intern("keys");
+-    i_dup = rb_intern("dup");
+-#ifdef HAVE_RUBY_ENCODING_H
+-    CEncoding_UTF_8 = rb_funcall(rb_path2class("Encoding"), rb_intern("find"), 1, rb_str_new2("utf-8"));
+-    i_encoding = rb_intern("encoding");
+-    i_encode = rb_intern("encode");
+-#endif
+-    i_SAFE_STATE_PROTOTYPE = rb_intern("SAFE_STATE_PROTOTYPE");
+-    CJSON_SAFE_STATE_PROTOTYPE = Qnil;
+-}
+diff --git a/lib/mcollective/vendor/json/ext/json/ext/generator/generator.h b/lib/mcollective/vendor/json/ext/json/ext/generator/generator.h
+deleted file mode 100644
+index e47f507..0000000
+--- a/lib/mcollective/vendor/json/ext/json/ext/generator/generator.h
++++ /dev/null
+@@ -1,197 +0,0 @@
+-#ifndef _GENERATOR_H_
+-#define _GENERATOR_H_
+-
+-#include <string.h>
+-#include <assert.h>
+-#include <math.h>
+-
+-#include "ruby.h"
+-
+-#if HAVE_RUBY_RE_H
+-#include "ruby/re.h"
+-#endif
+-
+-#if HAVE_RE_H
+-#include "re.h"
+-#endif
+-
+-#ifdef HAVE_RUBY_ENCODING_H
+-#include "ruby/encoding.h"
+-#define FORCE_UTF8(obj) rb_enc_associate((obj), rb_utf8_encoding())
+-#else
+-#define FORCE_UTF8(obj)
+-#endif
+-
+-#define option_given_p(opts, key) RTEST(rb_funcall(opts, i_key_p, 1, key))
+-
+-#ifndef RHASH_SIZE
+-#define RHASH_SIZE(hsh) (RHASH(hsh)->tbl->num_entries)
+-#endif
+-
+-#ifndef RFLOAT_VALUE
+-#define RFLOAT_VALUE(val) (RFLOAT(val)->value)
+-#endif
+-
+-#ifndef RARRAY_PTR
+-#define RARRAY_PTR(ARRAY) RARRAY(ARRAY)->ptr
+-#endif
+-#ifndef RARRAY_LEN
+-#define RARRAY_LEN(ARRAY) RARRAY(ARRAY)->len
+-#endif
+-#ifndef RSTRING_PTR
+-#define RSTRING_PTR(string) RSTRING(string)->ptr
+-#endif
+-#ifndef RSTRING_LEN
+-#define RSTRING_LEN(string) RSTRING(string)->len
+-#endif
+-
+-#define RSTRING_PAIR(string) RSTRING_PTR(string), RSTRING_LEN(string)
+-
+-/* fbuffer implementation */
+-
+-typedef struct FBufferStruct {
+-    unsigned long initial_length;
+-    char *ptr;
+-    unsigned long len;
+-    unsigned long capa;
+-} FBuffer;
+-
+-#define FBUFFER_INITIAL_LENGTH 4096
+-
+-#define FBUFFER_PTR(fb) (fb->ptr)
+-#define FBUFFER_LEN(fb) (fb->len)
+-#define FBUFFER_CAPA(fb) (fb->capa)
+-#define FBUFFER_PAIR(fb) FBUFFER_PTR(fb), FBUFFER_LEN(fb)
+-
+-static char *fstrndup(const char *ptr, unsigned long len);
+-static FBuffer *fbuffer_alloc();
+-static FBuffer *fbuffer_alloc_with_length(unsigned long initial_length);
+-static void fbuffer_free(FBuffer *fb);
+-static void fbuffer_free_only_buffer(FBuffer *fb);
+-static void fbuffer_clear(FBuffer *fb);
+-static void fbuffer_append(FBuffer *fb, const char *newstr, unsigned long len);
+-static void fbuffer_append_long(FBuffer *fb, long number);
+-static void fbuffer_append_char(FBuffer *fb, char newchr);
+-static FBuffer *fbuffer_dup(FBuffer *fb);
+-static VALUE fbuffer_to_s(FBuffer *fb);
+-
+-/* unicode defintions */
+-
+-#define UNI_STRICT_CONVERSION 1
+-
+-typedef unsigned long	UTF32;	/* at least 32 bits */
+-typedef unsigned short	UTF16;	/* at least 16 bits */
+-typedef unsigned char	UTF8;	/* typically 8 bits */
+-
+-#define UNI_REPLACEMENT_CHAR (UTF32)0x0000FFFD
+-#define UNI_MAX_BMP (UTF32)0x0000FFFF
+-#define UNI_MAX_UTF16 (UTF32)0x0010FFFF
+-#define UNI_MAX_UTF32 (UTF32)0x7FFFFFFF
+-#define UNI_MAX_LEGAL_UTF32 (UTF32)0x0010FFFF
+-
+-#define UNI_SUR_HIGH_START  (UTF32)0xD800
+-#define UNI_SUR_HIGH_END    (UTF32)0xDBFF
+-#define UNI_SUR_LOW_START   (UTF32)0xDC00
+-#define UNI_SUR_LOW_END     (UTF32)0xDFFF
+-
+-static const int halfShift  = 10; /* used for shifting by 10 bits */
+-
+-static const UTF32 halfBase = 0x0010000UL;
+-static const UTF32 halfMask = 0x3FFUL;
+-
+-static unsigned char isLegalUTF8(const UTF8 *source, unsigned long length);
+-static void unicode_escape(char *buf, UTF16 character);
+-static void unicode_escape_to_buffer(FBuffer *buffer, char buf[6], UTF16 character);
+-static void convert_UTF8_to_JSON_ASCII(FBuffer *buffer, VALUE string);
+-static void convert_UTF8_to_JSON(FBuffer *buffer, VALUE string);
+-
+-/* ruby api and some helpers */
+-
+-typedef struct JSON_Generator_StateStruct {
+-    char *indent;
+-    long indent_len;
+-    char *space;
+-    long space_len;
+-    char *space_before;
+-    long space_before_len;
+-    char *object_nl;
+-    long object_nl_len;
+-    char *array_nl;
+-    long array_nl_len;
+-    FBuffer *array_delim;
+-    FBuffer *object_delim;
+-    FBuffer *object_delim2;
+-    long max_nesting;
+-    char allow_nan;
+-    char ascii_only;
+-    long depth;
+-} JSON_Generator_State;
+-
+-#define GET_STATE(self)                       \
+-    JSON_Generator_State *state;              \
+-    Data_Get_Struct(self, JSON_Generator_State, state)
+-
+-#define GENERATE_JSON(type)                                                                     \
+-    FBuffer *buffer;                                                                            \
+-    VALUE Vstate;                                                                               \
+-    JSON_Generator_State *state;                                                                \
+-                                                                                                \
+-    rb_scan_args(argc, argv, "01", &Vstate);                                                    \
+-    Vstate = cState_from_state_s(cState, Vstate);                                               \
+-    Data_Get_Struct(Vstate, JSON_Generator_State, state);                                       \
+-    buffer = cState_prepare_buffer(Vstate);                                                     \
+-    generate_json_##type(buffer, Vstate, state, self);                                          \
+-    return fbuffer_to_s(buffer)
+-
+-static VALUE mHash_to_json(int argc, VALUE *argv, VALUE self);
+-static VALUE mArray_to_json(int argc, VALUE *argv, VALUE self);
+-static VALUE mFixnum_to_json(int argc, VALUE *argv, VALUE self);
+-static VALUE mBignum_to_json(int argc, VALUE *argv, VALUE self);
+-static VALUE mFloat_to_json(int argc, VALUE *argv, VALUE self);
+-static VALUE mString_included_s(VALUE self, VALUE modul);
+-static VALUE mString_to_json(int argc, VALUE *argv, VALUE self);
+-static VALUE mString_to_json_raw_object(VALUE self);
+-static VALUE mString_to_json_raw(int argc, VALUE *argv, VALUE self);
+-static VALUE mString_Extend_json_create(VALUE self, VALUE o);
+-static VALUE mTrueClass_to_json(int argc, VALUE *argv, VALUE self);
+-static VALUE mFalseClass_to_json(int argc, VALUE *argv, VALUE self);
+-static VALUE mNilClass_to_json(int argc, VALUE *argv, VALUE self);
+-static VALUE mObject_to_json(int argc, VALUE *argv, VALUE self);
+-static void State_free(JSON_Generator_State *state);
+-static JSON_Generator_State *State_allocate();
+-static VALUE cState_s_allocate(VALUE klass);
+-static VALUE cState_configure(VALUE self, VALUE opts);
+-static VALUE cState_to_h(VALUE self);
+-static void generate_json(FBuffer *buffer, VALUE Vstate, JSON_Generator_State *state, VALUE obj);
+-static void generate_json_object(FBuffer *buffer, VALUE Vstate, JSON_Generator_State *state, VALUE obj);
+-static void generate_json_array(FBuffer *buffer, VALUE Vstate, JSON_Generator_State *state, VALUE obj);
+-static void generate_json_string(FBuffer *buffer, VALUE Vstate, JSON_Generator_State *state, VALUE obj);
+-static void generate_json_null(FBuffer *buffer, VALUE Vstate, JSON_Generator_State *state, VALUE obj);
+-static void generate_json_false(FBuffer *buffer, VALUE Vstate, JSON_Generator_State *state, VALUE obj);
+-static void generate_json_true(FBuffer *buffer, VALUE Vstate, JSON_Generator_State *state, VALUE obj);
+-static void generate_json_fixnum(FBuffer *buffer, VALUE Vstate, JSON_Generator_State *state, VALUE obj);
+-static void generate_json_bignum(FBuffer *buffer, VALUE Vstate, JSON_Generator_State *state, VALUE obj);
+-static void generate_json_float(FBuffer *buffer, VALUE Vstate, JSON_Generator_State *state, VALUE obj);
+-static VALUE cState_partial_generate(VALUE self, VALUE obj);
+-static VALUE cState_generate(VALUE self, VALUE obj);
+-static VALUE cState_initialize(int argc, VALUE *argv, VALUE self);
+-static VALUE cState_from_state_s(VALUE self, VALUE opts);
+-static VALUE cState_indent(VALUE self);
+-static VALUE cState_indent_set(VALUE self, VALUE indent);
+-static VALUE cState_space(VALUE self);
+-static VALUE cState_space_set(VALUE self, VALUE space);
+-static VALUE cState_space_before(VALUE self);
+-static VALUE cState_space_before_set(VALUE self, VALUE space_before);
+-static VALUE cState_object_nl(VALUE self);
+-static VALUE cState_object_nl_set(VALUE self, VALUE object_nl);
+-static VALUE cState_array_nl(VALUE self);
+-static VALUE cState_array_nl_set(VALUE self, VALUE array_nl);
+-static VALUE cState_max_nesting(VALUE self);
+-static VALUE cState_max_nesting_set(VALUE self, VALUE depth);
+-static VALUE cState_allow_nan_p(VALUE self);
+-static VALUE cState_ascii_only_p(VALUE self);
+-static VALUE cState_depth(VALUE self);
+-static VALUE cState_depth_set(VALUE self, VALUE depth);
+-static FBuffer *cState_prepare_buffer(VALUE self);
+-
+-#endif
+diff --git a/lib/mcollective/vendor/json/ext/json/ext/parser/extconf.rb b/lib/mcollective/vendor/json/ext/json/ext/parser/extconf.rb
+deleted file mode 100644
+index d2438cd..0000000
+--- a/lib/mcollective/vendor/json/ext/json/ext/parser/extconf.rb
++++ /dev/null
+@@ -1,16 +0,0 @@
+-require 'mkmf'
+-require 'rbconfig'
+-
+-unless $CFLAGS.gsub!(/ -O[\dsz]?/, ' -O3')
+-  $CFLAGS << ' -O3'
+-end
+-if CONFIG['CC'] =~ /gcc/
+-  $CFLAGS << ' -Wall'
+-  #unless $CFLAGS.gsub!(/ -O[\dsz]?/, ' -O0 -ggdb')
+-  #  $CFLAGS << ' -O0 -ggdb'
+-  #end
+-end
+-
+-have_header("re.h")
+-have_header("ruby/st.h")
+-create_makefile 'json/ext/parser'
+diff --git a/lib/mcollective/vendor/json/ext/json/ext/parser/parser.c b/lib/mcollective/vendor/json/ext/json/ext/parser/parser.c
+deleted file mode 100644
+index c125f82..0000000
+--- a/lib/mcollective/vendor/json/ext/json/ext/parser/parser.c
++++ /dev/null
+@@ -1,1969 +0,0 @@
+-
+-#line 1 "parser.rl"
+-#include "parser.h"
+-
+-/* unicode */
+-
+-static const char digit_values[256] = { 
+-    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+-    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+-    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, -1,
+-    -1, -1, -1, -1, -1, -1, 10, 11, 12, 13, 14, 15, -1, -1, -1, -1, -1, -1, -1,
+-    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+-    10, 11, 12, 13, 14, 15, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+-    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+-    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+-    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+-    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+-    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+-    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+-    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+-    -1, -1, -1, -1, -1, -1, -1
+-};
+-
+-static UTF32 unescape_unicode(const unsigned char *p)
+-{
+-    char b;
+-    UTF32 result = 0;
+-    b = digit_values[p[0]];
+-    if (b < 0) return UNI_REPLACEMENT_CHAR;
+-    result = (result << 4) | b;
+-    b = digit_values[p[1]];
+-    result = (result << 4) | b;
+-    if (b < 0) return UNI_REPLACEMENT_CHAR;
+-    b = digit_values[p[2]];
+-    result = (result << 4) | b;
+-    if (b < 0) return UNI_REPLACEMENT_CHAR;
+-    b = digit_values[p[3]];
+-    result = (result << 4) | b;
+-    if (b < 0) return UNI_REPLACEMENT_CHAR;
+-    return result;
+-}
+-
+-static int convert_UTF32_to_UTF8(char *buf, UTF32 ch) 
+-{
+-    int len = 1;
+-    if (ch <= 0x7F) {
+-        buf[0] = (char) ch;
+-    } else if (ch <= 0x07FF) {
+-        buf[0] = (char) ((ch >> 6) | 0xC0);
+-        buf[1] = (char) ((ch & 0x3F) | 0x80);
+-        len++;
+-    } else if (ch <= 0xFFFF) {
+-        buf[0] = (char) ((ch >> 12) | 0xE0);
+-        buf[1] = (char) (((ch >> 6) & 0x3F) | 0x80);
+-        buf[2] = (char) ((ch & 0x3F) | 0x80);
+-        len += 2;
+-    } else if (ch <= 0x1fffff) {
+-        buf[0] =(char) ((ch >> 18) | 0xF0);
+-        buf[1] =(char) (((ch >> 12) & 0x3F) | 0x80);
+-        buf[2] =(char) (((ch >> 6) & 0x3F) | 0x80);
+-        buf[3] =(char) ((ch & 0x3F) | 0x80);
+-        len += 3;
+-    } else {
+-        buf[0] = '?';
+-    }
+-    return len;
+-}
+-
+-#ifdef HAVE_RUBY_ENCODING_H
+-static VALUE CEncoding_ASCII_8BIT, CEncoding_UTF_8, CEncoding_UTF_16BE,
+-    CEncoding_UTF_16LE, CEncoding_UTF_32BE, CEncoding_UTF_32LE;
+-static ID i_encoding, i_encode, i_encode_bang, i_force_encoding;
+-#else
+-static ID i_iconv;
+-#endif
+-
+-static VALUE mJSON, mExt, cParser, eParserError, eNestingError;
+-static VALUE CNaN, CInfinity, CMinusInfinity;
+-
+-static ID i_json_creatable_p, i_json_create, i_create_id, i_create_additions,
+-          i_chr, i_max_nesting, i_allow_nan, i_symbolize_names, i_object_class,
+-          i_array_class, i_key_p, i_deep_const_get, i_match, i_match_string;
+-
+-
+-#line 108 "parser.rl"
+-
+-
+-
+-#line 90 "parser.c"
+-static const int JSON_object_start = 1;
+-static const int JSON_object_first_final = 27;
+-static const int JSON_object_error = 0;
+-
+-static const int JSON_object_en_main = 1;
+-
+-
+-#line 144 "parser.rl"
+-
+-
+-static char *JSON_parse_object(JSON_Parser *json, char *p, char *pe, VALUE *result)
+-{
+-    int cs = EVIL;
+-    VALUE last_name = Qnil;
+-    VALUE object_class = json->object_class;
+-
+-    if (json->max_nesting && json->current_nesting > json->max_nesting) {
+-        rb_raise(eNestingError, "nesting of %d is too deep", json->current_nesting);
+-    }
+-
+-    *result = NIL_P(object_class) ? rb_hash_new() : rb_class_new_instance(0, 0, object_class);
+-
+-    
+-#line 114 "parser.c"
+-	{
+-	cs = JSON_object_start;
+-	}
+-
+-#line 159 "parser.rl"
+-    
+-#line 121 "parser.c"
+-	{
+-	if ( p == pe )
+-		goto _test_eof;
+-	switch ( cs )
+-	{
+-case 1:
+-	if ( (*p) == 123 )
+-		goto st2;
+-	goto st0;
+-st0:
+-cs = 0;
+-	goto _out;
+-st2:
+-	if ( ++p == pe )
+-		goto _test_eof2;
+-case 2:
+-	switch( (*p) ) {
+-		case 13: goto st2;
+-		case 32: goto st2;
+-		case 34: goto tr2;
+-		case 47: goto st23;
+-		case 125: goto tr4;
+-	}
+-	if ( 9 <= (*p) && (*p) <= 10 )
+-		goto st2;
+-	goto st0;
+-tr2:
+-#line 127 "parser.rl"
+-	{
+-        char *np;
+-        json->parsing_name = 1;
+-        np = JSON_parse_string(json, p, pe, &last_name);
+-        json->parsing_name = 0;
+-        if (np == NULL) { p--; {p++; cs = 3; goto _out;} } else {p = (( np))-1;}
+-    }
+-	goto st3;
+-st3:
+-	if ( ++p == pe )
+-		goto _test_eof3;
+-case 3:
+-#line 162 "parser.c"
+-	switch( (*p) ) {
+-		case 13: goto st3;
+-		case 32: goto st3;
+-		case 47: goto st4;
+-		case 58: goto st8;
+-	}
+-	if ( 9 <= (*p) && (*p) <= 10 )
+-		goto st3;
+-	goto st0;
+-st4:
+-	if ( ++p == pe )
+-		goto _test_eof4;
+-case 4:
+-	switch( (*p) ) {
+-		case 42: goto st5;
+-		case 47: goto st7;
+-	}
+-	goto st0;
+-st5:
+-	if ( ++p == pe )
+-		goto _test_eof5;
+-case 5:
+-	if ( (*p) == 42 )
+-		goto st6;
+-	goto st5;
+-st6:
+-	if ( ++p == pe )
+-		goto _test_eof6;
+-case 6:
+-	switch( (*p) ) {
+-		case 42: goto st6;
+-		case 47: goto st3;
+-	}
+-	goto st5;
+-st7:
+-	if ( ++p == pe )
+-		goto _test_eof7;
+-case 7:
+-	if ( (*p) == 10 )
+-		goto st3;
+-	goto st7;
+-st8:
+-	if ( ++p == pe )
+-		goto _test_eof8;
+-case 8:
+-	switch( (*p) ) {
+-		case 13: goto st8;
+-		case 32: goto st8;
+-		case 34: goto tr11;
+-		case 45: goto tr11;
+-		case 47: goto st19;
+-		case 73: goto tr11;
+-		case 78: goto tr11;
+-		case 91: goto tr11;
+-		case 102: goto tr11;
+-		case 110: goto tr11;
+-		case 116: goto tr11;
+-		case 123: goto tr11;
+-	}
+-	if ( (*p) > 10 ) {
+-		if ( 48 <= (*p) && (*p) <= 57 )
+-			goto tr11;
+-	} else if ( (*p) >= 9 )
+-		goto st8;
+-	goto st0;
+-tr11:
+-#line 116 "parser.rl"
+-	{
+-        VALUE v = Qnil;
+-        char *np = JSON_parse_value(json, p, pe, &v); 
+-        if (np == NULL) {
+-            p--; {p++; cs = 9; goto _out;}
+-        } else {
+-            rb_hash_aset(*result, last_name, v);
+-            {p = (( np))-1;}
+-        }
+-    }
+-	goto st9;
+-st9:
+-	if ( ++p == pe )
+-		goto _test_eof9;
+-case 9:
+-#line 245 "parser.c"
+-	switch( (*p) ) {
+-		case 13: goto st9;
+-		case 32: goto st9;
+-		case 44: goto st10;
+-		case 47: goto st15;
+-		case 125: goto tr4;
+-	}
+-	if ( 9 <= (*p) && (*p) <= 10 )
+-		goto st9;
+-	goto st0;
+-st10:
+-	if ( ++p == pe )
+-		goto _test_eof10;
+-case 10:
+-	switch( (*p) ) {
+-		case 13: goto st10;
+-		case 32: goto st10;
+-		case 34: goto tr2;
+-		case 47: goto st11;
+-	}
+-	if ( 9 <= (*p) && (*p) <= 10 )
+-		goto st10;
+-	goto st0;
+-st11:
+-	if ( ++p == pe )
+-		goto _test_eof11;
+-case 11:
+-	switch( (*p) ) {
+-		case 42: goto st12;
+-		case 47: goto st14;
+-	}
+-	goto st0;
+-st12:
+-	if ( ++p == pe )
+-		goto _test_eof12;
+-case 12:
+-	if ( (*p) == 42 )
+-		goto st13;
+-	goto st12;
+-st13:
+-	if ( ++p == pe )
+-		goto _test_eof13;
+-case 13:
+-	switch( (*p) ) {
+-		case 42: goto st13;
+-		case 47: goto st10;
+-	}
+-	goto st12;
+-st14:
+-	if ( ++p == pe )
+-		goto _test_eof14;
+-case 14:
+-	if ( (*p) == 10 )
+-		goto st10;
+-	goto st14;
+-st15:
+-	if ( ++p == pe )
+-		goto _test_eof15;
+-case 15:
+-	switch( (*p) ) {
+-		case 42: goto st16;
+-		case 47: goto st18;
+-	}
+-	goto st0;
+-st16:
+-	if ( ++p == pe )
+-		goto _test_eof16;
+-case 16:
+-	if ( (*p) == 42 )
+-		goto st17;
+-	goto st16;
+-st17:
+-	if ( ++p == pe )
+-		goto _test_eof17;
+-case 17:
+-	switch( (*p) ) {
+-		case 42: goto st17;
+-		case 47: goto st9;
+-	}
+-	goto st16;
+-st18:
+-	if ( ++p == pe )
+-		goto _test_eof18;
+-case 18:
+-	if ( (*p) == 10 )
+-		goto st9;
+-	goto st18;
+-tr4:
+-#line 135 "parser.rl"
+-	{ p--; {p++; cs = 27; goto _out;} }
+-	goto st27;
+-st27:
+-	if ( ++p == pe )
+-		goto _test_eof27;
+-case 27:
+-#line 341 "parser.c"
+-	goto st0;
+-st19:
+-	if ( ++p == pe )
+-		goto _test_eof19;
+-case 19:
+-	switch( (*p) ) {
+-		case 42: goto st20;
+-		case 47: goto st22;
+-	}
+-	goto st0;
+-st20:
+-	if ( ++p == pe )
+-		goto _test_eof20;
+-case 20:
+-	if ( (*p) == 42 )
+-		goto st21;
+-	goto st20;
+-st21:
+-	if ( ++p == pe )
+-		goto _test_eof21;
+-case 21:
+-	switch( (*p) ) {
+-		case 42: goto st21;
+-		case 47: goto st8;
+-	}
+-	goto st20;
+-st22:
+-	if ( ++p == pe )
+-		goto _test_eof22;
+-case 22:
+-	if ( (*p) == 10 )
+-		goto st8;
+-	goto st22;
+-st23:
+-	if ( ++p == pe )
+-		goto _test_eof23;
+-case 23:
+-	switch( (*p) ) {
+-		case 42: goto st24;
+-		case 47: goto st26;
+-	}
+-	goto st0;
+-st24:
+-	if ( ++p == pe )
+-		goto _test_eof24;
+-case 24:
+-	if ( (*p) == 42 )
+-		goto st25;
+-	goto st24;
+-st25:
+-	if ( ++p == pe )
+-		goto _test_eof25;
+-case 25:
+-	switch( (*p) ) {
+-		case 42: goto st25;
+-		case 47: goto st2;
+-	}
+-	goto st24;
+-st26:
+-	if ( ++p == pe )
+-		goto _test_eof26;
+-case 26:
+-	if ( (*p) == 10 )
+-		goto st2;
+-	goto st26;
+-	}
+-	_test_eof2: cs = 2; goto _test_eof; 
+-	_test_eof3: cs = 3; goto _test_eof; 
+-	_test_eof4: cs = 4; goto _test_eof; 
+-	_test_eof5: cs = 5; goto _test_eof; 
+-	_test_eof6: cs = 6; goto _test_eof; 
+-	_test_eof7: cs = 7; goto _test_eof; 
+-	_test_eof8: cs = 8; goto _test_eof; 
+-	_test_eof9: cs = 9; goto _test_eof; 
+-	_test_eof10: cs = 10; goto _test_eof; 
+-	_test_eof11: cs = 11; goto _test_eof; 
+-	_test_eof12: cs = 12; goto _test_eof; 
+-	_test_eof13: cs = 13; goto _test_eof; 
+-	_test_eof14: cs = 14; goto _test_eof; 
+-	_test_eof15: cs = 15; goto _test_eof; 
+-	_test_eof16: cs = 16; goto _test_eof; 
+-	_test_eof17: cs = 17; goto _test_eof; 
+-	_test_eof18: cs = 18; goto _test_eof; 
+-	_test_eof27: cs = 27; goto _test_eof; 
+-	_test_eof19: cs = 19; goto _test_eof; 
+-	_test_eof20: cs = 20; goto _test_eof; 
+-	_test_eof21: cs = 21; goto _test_eof; 
+-	_test_eof22: cs = 22; goto _test_eof; 
+-	_test_eof23: cs = 23; goto _test_eof; 
+-	_test_eof24: cs = 24; goto _test_eof; 
+-	_test_eof25: cs = 25; goto _test_eof; 
+-	_test_eof26: cs = 26; goto _test_eof; 
+-
+-	_test_eof: {}
+-	_out: {}
+-	}
+-
+-#line 160 "parser.rl"
+-
+-    if (cs >= JSON_object_first_final) {
+-        if (json->create_additions) {
+-            VALUE klassname = rb_hash_aref(*result, json->create_id);
+-            if (!NIL_P(klassname)) {
+-                VALUE klass = rb_funcall(mJSON, i_deep_const_get, 1, klassname);
+-                if (RTEST(rb_funcall(klass, i_json_creatable_p, 0))) {
+-                    *result = rb_funcall(klass, i_json_create, 1, *result);
+-                }
+-            }
+-        }
+-        return p + 1;
+-    } else {
+-        return NULL;
+-    }
+-}
+-
+-
+-#line 458 "parser.c"
+-static const int JSON_value_start = 1;
+-static const int JSON_value_first_final = 21;
+-static const int JSON_value_error = 0;
+-
+-static const int JSON_value_en_main = 1;
+-
+-
+-#line 258 "parser.rl"
+-
+-
+-static char *JSON_parse_value(JSON_Parser *json, char *p, char *pe, VALUE *result)
+-{
+-    int cs = EVIL;
+-
+-    
+-#line 474 "parser.c"
+-	{
+-	cs = JSON_value_start;
+-	}
+-
+-#line 265 "parser.rl"
+-    
+-#line 481 "parser.c"
+-	{
+-	if ( p == pe )
+-		goto _test_eof;
+-	switch ( cs )
+-	{
+-case 1:
+-	switch( (*p) ) {
+-		case 34: goto tr0;
+-		case 45: goto tr2;
+-		case 73: goto st2;
+-		case 78: goto st9;
+-		case 91: goto tr5;
+-		case 102: goto st11;
+-		case 110: goto st15;
+-		case 116: goto st18;
+-		case 123: goto tr9;
+-	}
+-	if ( 48 <= (*p) && (*p) <= 57 )
+-		goto tr2;
+-	goto st0;
+-st0:
+-cs = 0;
+-	goto _out;
+-tr0:
+-#line 206 "parser.rl"
+-	{
+-        char *np = JSON_parse_string(json, p, pe, result);
+-        if (np == NULL) { p--; {p++; cs = 21; goto _out;} } else {p = (( np))-1;}
+-    }
+-	goto st21;
+-tr2:
+-#line 211 "parser.rl"
+-	{
+-        char *np;
+-        if(pe > p + 9 && !strncmp(MinusInfinity, p, 9)) {
+-            if (json->allow_nan) {
+-                *result = CMinusInfinity;
+-                {p = (( p + 10))-1;}
+-                p--; {p++; cs = 21; goto _out;}
+-            } else {
+-                rb_raise(eParserError, "%u: unexpected token at '%s'", __LINE__, p);
+-            }
+-        }
+-        np = JSON_parse_float(json, p, pe, result);
+-        if (np != NULL) {p = (( np))-1;}
+-        np = JSON_parse_integer(json, p, pe, result);
+-        if (np != NULL) {p = (( np))-1;}
+-        p--; {p++; cs = 21; goto _out;}
+-    }
+-	goto st21;
+-tr5:
+-#line 229 "parser.rl"
+-	{ 
+-        char *np;
+-        json->current_nesting++;
+-        np = JSON_parse_array(json, p, pe, result);
+-        json->current_nesting--;
+-        if (np == NULL) { p--; {p++; cs = 21; goto _out;} } else {p = (( np))-1;}
+-    }
+-	goto st21;
+-tr9:
+-#line 237 "parser.rl"
+-	{ 
+-        char *np;
+-        json->current_nesting++;
+-        np =  JSON_parse_object(json, p, pe, result);
+-        json->current_nesting--;
+-        if (np == NULL) { p--; {p++; cs = 21; goto _out;} } else {p = (( np))-1;}
+-    }
+-	goto st21;
+-tr16:
+-#line 199 "parser.rl"
+-	{
+-        if (json->allow_nan) {
+-            *result = CInfinity;
+-        } else {
+-            rb_raise(eParserError, "%u: unexpected token at '%s'", __LINE__, p - 8);
+-        }
+-    }
+-	goto st21;
+-tr18:
+-#line 192 "parser.rl"
+-	{
+-        if (json->allow_nan) {
+-            *result = CNaN;
+-        } else {
+-            rb_raise(eParserError, "%u: unexpected token at '%s'", __LINE__, p - 2);
+-        }
+-    }
+-	goto st21;
+-tr22:
+-#line 186 "parser.rl"
+-	{
+-        *result = Qfalse;
+-    }
+-	goto st21;
+-tr25:
+-#line 183 "parser.rl"
+-	{
+-        *result = Qnil;
+-    }
+-	goto st21;
+-tr28:
+-#line 189 "parser.rl"
+-	{
+-        *result = Qtrue;
+-    }
+-	goto st21;
+-st21:
+-	if ( ++p == pe )
+-		goto _test_eof21;
+-case 21:
+-#line 245 "parser.rl"
+-	{ p--; {p++; cs = 21; goto _out;} }
+-#line 596 "parser.c"
+-	goto st0;
+-st2:
+-	if ( ++p == pe )
+-		goto _test_eof2;
+-case 2:
+-	if ( (*p) == 110 )
+-		goto st3;
+-	goto st0;
+-st3:
+-	if ( ++p == pe )
+-		goto _test_eof3;
+-case 3:
+-	if ( (*p) == 102 )
+-		goto st4;
+-	goto st0;
+-st4:
+-	if ( ++p == pe )
+-		goto _test_eof4;
+-case 4:
+-	if ( (*p) == 105 )
+-		goto st5;
+-	goto st0;
+-st5:
+-	if ( ++p == pe )
+-		goto _test_eof5;
+-case 5:
+-	if ( (*p) == 110 )
+-		goto st6;
+-	goto st0;
+-st6:
+-	if ( ++p == pe )
+-		goto _test_eof6;
+-case 6:
+-	if ( (*p) == 105 )
+-		goto st7;
+-	goto st0;
+-st7:
+-	if ( ++p == pe )
+-		goto _test_eof7;
+-case 7:
+-	if ( (*p) == 116 )
+-		goto st8;
+-	goto st0;
+-st8:
+-	if ( ++p == pe )
+-		goto _test_eof8;
+-case 8:
+-	if ( (*p) == 121 )
+-		goto tr16;
+-	goto st0;
+-st9:
+-	if ( ++p == pe )
+-		goto _test_eof9;
+-case 9:
+-	if ( (*p) == 97 )
+-		goto st10;
+-	goto st0;
+-st10:
+-	if ( ++p == pe )
+-		goto _test_eof10;
+-case 10:
+-	if ( (*p) == 78 )
+-		goto tr18;
+-	goto st0;
+-st11:
+-	if ( ++p == pe )
+-		goto _test_eof11;
+-case 11:
+-	if ( (*p) == 97 )
+-		goto st12;
+-	goto st0;
+-st12:
+-	if ( ++p == pe )
+-		goto _test_eof12;
+-case 12:
+-	if ( (*p) == 108 )
+-		goto st13;
+-	goto st0;
+-st13:
+-	if ( ++p == pe )
+-		goto _test_eof13;
+-case 13:
+-	if ( (*p) == 115 )
+-		goto st14;
+-	goto st0;
+-st14:
+-	if ( ++p == pe )
+-		goto _test_eof14;
+-case 14:
+-	if ( (*p) == 101 )
+-		goto tr22;
+-	goto st0;
+-st15:
+-	if ( ++p == pe )
+-		goto _test_eof15;
+-case 15:
+-	if ( (*p) == 117 )
+-		goto st16;
+-	goto st0;
+-st16:
+-	if ( ++p == pe )
+-		goto _test_eof16;
+-case 16:
+-	if ( (*p) == 108 )
+-		goto st17;
+-	goto st0;
+-st17:
+-	if ( ++p == pe )
+-		goto _test_eof17;
+-case 17:
+-	if ( (*p) == 108 )
+-		goto tr25;
+-	goto st0;
+-st18:
+-	if ( ++p == pe )
+-		goto _test_eof18;
+-case 18:
+-	if ( (*p) == 114 )
+-		goto st19;
+-	goto st0;
+-st19:
+-	if ( ++p == pe )
+-		goto _test_eof19;
+-case 19:
+-	if ( (*p) == 117 )
+-		goto st20;
+-	goto st0;
+-st20:
+-	if ( ++p == pe )
+-		goto _test_eof20;
+-case 20:
+-	if ( (*p) == 101 )
+-		goto tr28;
+-	goto st0;
+-	}
+-	_test_eof21: cs = 21; goto _test_eof; 
+-	_test_eof2: cs = 2; goto _test_eof; 
+-	_test_eof3: cs = 3; goto _test_eof; 
+-	_test_eof4: cs = 4; goto _test_eof; 
+-	_test_eof5: cs = 5; goto _test_eof; 
+-	_test_eof6: cs = 6; goto _test_eof; 
+-	_test_eof7: cs = 7; goto _test_eof; 
+-	_test_eof8: cs = 8; goto _test_eof; 
+-	_test_eof9: cs = 9; goto _test_eof; 
+-	_test_eof10: cs = 10; goto _test_eof; 
+-	_test_eof11: cs = 11; goto _test_eof; 
+-	_test_eof12: cs = 12; goto _test_eof; 
+-	_test_eof13: cs = 13; goto _test_eof; 
+-	_test_eof14: cs = 14; goto _test_eof; 
+-	_test_eof15: cs = 15; goto _test_eof; 
+-	_test_eof16: cs = 16; goto _test_eof; 
+-	_test_eof17: cs = 17; goto _test_eof; 
+-	_test_eof18: cs = 18; goto _test_eof; 
+-	_test_eof19: cs = 19; goto _test_eof; 
+-	_test_eof20: cs = 20; goto _test_eof; 
+-
+-	_test_eof: {}
+-	_out: {}
+-	}
+-
+-#line 266 "parser.rl"
+-
+-    if (cs >= JSON_value_first_final) {
+-        return p;
+-    } else {
+-        return NULL;
+-    }
+-}
+-
+-
+-#line 767 "parser.c"
+-static const int JSON_integer_start = 1;
+-static const int JSON_integer_first_final = 5;
+-static const int JSON_integer_error = 0;
+-
+-static const int JSON_integer_en_main = 1;
+-
+-
+-#line 282 "parser.rl"
+-
+-
+-static char *JSON_parse_integer(JSON_Parser *json, char *p, char *pe, VALUE *result)
+-{
+-    int cs = EVIL;
+-
+-    
+-#line 783 "parser.c"
+-	{
+-	cs = JSON_integer_start;
+-	}
+-
+-#line 289 "parser.rl"
+-    json->memo = p;
+-    
+-#line 791 "parser.c"
+-	{
+-	if ( p == pe )
+-		goto _test_eof;
+-	switch ( cs )
+-	{
+-case 1:
+-	switch( (*p) ) {
+-		case 45: goto st2;
+-		case 48: goto st3;
+-	}
+-	if ( 49 <= (*p) && (*p) <= 57 )
+-		goto st4;
+-	goto st0;
+-st0:
+-cs = 0;
+-	goto _out;
+-st2:
+-	if ( ++p == pe )
+-		goto _test_eof2;
+-case 2:
+-	if ( (*p) == 48 )
+-		goto st3;
+-	if ( 49 <= (*p) && (*p) <= 57 )
+-		goto st4;
+-	goto st0;
+-st3:
+-	if ( ++p == pe )
+-		goto _test_eof3;
+-case 3:
+-	if ( 48 <= (*p) && (*p) <= 57 )
+-		goto st0;
+-	goto tr4;
+-tr4:
+-#line 279 "parser.rl"
+-	{ p--; {p++; cs = 5; goto _out;} }
+-	goto st5;
+-st5:
+-	if ( ++p == pe )
+-		goto _test_eof5;
+-case 5:
+-#line 832 "parser.c"
+-	goto st0;
+-st4:
+-	if ( ++p == pe )
+-		goto _test_eof4;
+-case 4:
+-	if ( 48 <= (*p) && (*p) <= 57 )
+-		goto st4;
+-	goto tr4;
+-	}
+-	_test_eof2: cs = 2; goto _test_eof; 
+-	_test_eof3: cs = 3; goto _test_eof; 
+-	_test_eof5: cs = 5; goto _test_eof; 
+-	_test_eof4: cs = 4; goto _test_eof; 
+-
+-	_test_eof: {}
+-	_out: {}
+-	}
+-
+-#line 291 "parser.rl"
+-
+-    if (cs >= JSON_integer_first_final) {
+-        long len = p - json->memo;
+-        *result = rb_Integer(rb_str_new(json->memo, len));
+-        return p + 1;
+-    } else {
+-        return NULL;
+-    }
+-}
+-
+-
+-#line 863 "parser.c"
+-static const int JSON_float_start = 1;
+-static const int JSON_float_first_final = 10;
+-static const int JSON_float_error = 0;
+-
+-static const int JSON_float_en_main = 1;
+-
+-
+-#line 313 "parser.rl"
+-
+-
+-static char *JSON_parse_float(JSON_Parser *json, char *p, char *pe, VALUE *result)
+-{
+-    int cs = EVIL;
+-
+-    
+-#line 879 "parser.c"
+-	{
+-	cs = JSON_float_start;
+-	}
+-
+-#line 320 "parser.rl"
+-    json->memo = p;
+-    
+-#line 887 "parser.c"
+-	{
+-	if ( p == pe )
+-		goto _test_eof;
+-	switch ( cs )
+-	{
+-case 1:
+-	switch( (*p) ) {
+-		case 45: goto st2;
+-		case 48: goto st3;
+-	}
+-	if ( 49 <= (*p) && (*p) <= 57 )
+-		goto st9;
+-	goto st0;
+-st0:
+-cs = 0;
+-	goto _out;
+-st2:
+-	if ( ++p == pe )
+-		goto _test_eof2;
+-case 2:
+-	if ( (*p) == 48 )
+-		goto st3;
+-	if ( 49 <= (*p) && (*p) <= 57 )
+-		goto st9;
+-	goto st0;
+-st3:
+-	if ( ++p == pe )
+-		goto _test_eof3;
+-case 3:
+-	switch( (*p) ) {
+-		case 46: goto st4;
+-		case 69: goto st6;
+-		case 101: goto st6;
+-	}
+-	goto st0;
+-st4:
+-	if ( ++p == pe )
+-		goto _test_eof4;
+-case 4:
+-	if ( 48 <= (*p) && (*p) <= 57 )
+-		goto st5;
+-	goto st0;
+-st5:
+-	if ( ++p == pe )
+-		goto _test_eof5;
+-case 5:
+-	switch( (*p) ) {
+-		case 69: goto st6;
+-		case 101: goto st6;
+-	}
+-	if ( (*p) > 46 ) {
+-		if ( 48 <= (*p) && (*p) <= 57 )
+-			goto st5;
+-	} else if ( (*p) >= 45 )
+-		goto st0;
+-	goto tr7;
+-tr7:
+-#line 307 "parser.rl"
+-	{ p--; {p++; cs = 10; goto _out;} }
+-	goto st10;
+-st10:
+-	if ( ++p == pe )
+-		goto _test_eof10;
+-case 10:
+-#line 952 "parser.c"
+-	goto st0;
+-st6:
+-	if ( ++p == pe )
+-		goto _test_eof6;
+-case 6:
+-	switch( (*p) ) {
+-		case 43: goto st7;
+-		case 45: goto st7;
+-	}
+-	if ( 48 <= (*p) && (*p) <= 57 )
+-		goto st8;
+-	goto st0;
+-st7:
+-	if ( ++p == pe )
+-		goto _test_eof7;
+-case 7:
+-	if ( 48 <= (*p) && (*p) <= 57 )
+-		goto st8;
+-	goto st0;
+-st8:
+-	if ( ++p == pe )
+-		goto _test_eof8;
+-case 8:
+-	switch( (*p) ) {
+-		case 69: goto st0;
+-		case 101: goto st0;
+-	}
+-	if ( (*p) > 46 ) {
+-		if ( 48 <= (*p) && (*p) <= 57 )
+-			goto st8;
+-	} else if ( (*p) >= 45 )
+-		goto st0;
+-	goto tr7;
+-st9:
+-	if ( ++p == pe )
+-		goto _test_eof9;
+-case 9:
+-	switch( (*p) ) {
+-		case 46: goto st4;
+-		case 69: goto st6;
+-		case 101: goto st6;
+-	}
+-	if ( 48 <= (*p) && (*p) <= 57 )
+-		goto st9;
+-	goto st0;
+-	}
+-	_test_eof2: cs = 2; goto _test_eof; 
+-	_test_eof3: cs = 3; goto _test_eof; 
+-	_test_eof4: cs = 4; goto _test_eof; 
+-	_test_eof5: cs = 5; goto _test_eof; 
+-	_test_eof10: cs = 10; goto _test_eof; 
+-	_test_eof6: cs = 6; goto _test_eof; 
+-	_test_eof7: cs = 7; goto _test_eof; 
+-	_test_eof8: cs = 8; goto _test_eof; 
+-	_test_eof9: cs = 9; goto _test_eof; 
+-
+-	_test_eof: {}
+-	_out: {}
+-	}
+-
+-#line 322 "parser.rl"
+-
+-    if (cs >= JSON_float_first_final) {
+-        long len = p - json->memo;
+-        *result = rb_Float(rb_str_new(json->memo, len));
+-        return p + 1;
+-    } else {
+-        return NULL;
+-    }
+-}
+-
+-
+-
+-#line 1026 "parser.c"
+-static const int JSON_array_start = 1;
+-static const int JSON_array_first_final = 17;
+-static const int JSON_array_error = 0;
+-
+-static const int JSON_array_en_main = 1;
+-
+-
+-#line 358 "parser.rl"
+-
+-
+-static char *JSON_parse_array(JSON_Parser *json, char *p, char *pe, VALUE *result)
+-{
+-    int cs = EVIL;
+-    VALUE array_class = json->array_class;
+-
+-    if (json->max_nesting && json->current_nesting > json->max_nesting) {
+-        rb_raise(eNestingError, "nesting of %d is too deep", json->current_nesting);
+-    }
+-    *result = NIL_P(array_class) ? rb_ary_new() : rb_class_new_instance(0, 0, array_class);
+-
+-    
+-#line 1048 "parser.c"
+-	{
+-	cs = JSON_array_start;
+-	}
+-
+-#line 371 "parser.rl"
+-    
+-#line 1055 "parser.c"
+-	{
+-	if ( p == pe )
+-		goto _test_eof;
+-	switch ( cs )
+-	{
+-case 1:
+-	if ( (*p) == 91 )
+-		goto st2;
+-	goto st0;
+-st0:
+-cs = 0;
+-	goto _out;
+-st2:
+-	if ( ++p == pe )
+-		goto _test_eof2;
+-case 2:
+-	switch( (*p) ) {
+-		case 13: goto st2;
+-		case 32: goto st2;
+-		case 34: goto tr2;
+-		case 45: goto tr2;
+-		case 47: goto st13;
+-		case 73: goto tr2;
+-		case 78: goto tr2;
+-		case 91: goto tr2;
+-		case 93: goto tr4;
+-		case 102: goto tr2;
+-		case 110: goto tr2;
+-		case 116: goto tr2;
+-		case 123: goto tr2;
+-	}
+-	if ( (*p) > 10 ) {
+-		if ( 48 <= (*p) && (*p) <= 57 )
+-			goto tr2;
+-	} else if ( (*p) >= 9 )
+-		goto st2;
+-	goto st0;
+-tr2:
+-#line 339 "parser.rl"
+-	{
+-        VALUE v = Qnil;
+-        char *np = JSON_parse_value(json, p, pe, &v); 
+-        if (np == NULL) {
+-            p--; {p++; cs = 3; goto _out;}
+-        } else {
+-            rb_ary_push(*result, v);
+-            {p = (( np))-1;}
+-        }
+-    }
+-	goto st3;
+-st3:
+-	if ( ++p == pe )
+-		goto _test_eof3;
+-case 3:
+-#line 1110 "parser.c"
+-	switch( (*p) ) {
+-		case 13: goto st3;
+-		case 32: goto st3;
+-		case 44: goto st4;
+-		case 47: goto st9;
+-		case 93: goto tr4;
+-	}
+-	if ( 9 <= (*p) && (*p) <= 10 )
+-		goto st3;
+-	goto st0;
+-st4:
+-	if ( ++p == pe )
+-		goto _test_eof4;
+-case 4:
+-	switch( (*p) ) {
+-		case 13: goto st4;
+-		case 32: goto st4;
+-		case 34: goto tr2;
+-		case 45: goto tr2;
+-		case 47: goto st5;
+-		case 73: goto tr2;
+-		case 78: goto tr2;
+-		case 91: goto tr2;
+-		case 102: goto tr2;
+-		case 110: goto tr2;
+-		case 116: goto tr2;
+-		case 123: goto tr2;
+-	}
+-	if ( (*p) > 10 ) {
+-		if ( 48 <= (*p) && (*p) <= 57 )
+-			goto tr2;
+-	} else if ( (*p) >= 9 )
+-		goto st4;
+-	goto st0;
+-st5:
+-	if ( ++p == pe )
+-		goto _test_eof5;
+-case 5:
+-	switch( (*p) ) {
+-		case 42: goto st6;
+-		case 47: goto st8;
+-	}
+-	goto st0;
+-st6:
+-	if ( ++p == pe )
+-		goto _test_eof6;
+-case 6:
+-	if ( (*p) == 42 )
+-		goto st7;
+-	goto st6;
+-st7:
+-	if ( ++p == pe )
+-		goto _test_eof7;
+-case 7:
+-	switch( (*p) ) {
+-		case 42: goto st7;
+-		case 47: goto st4;
+-	}
+-	goto st6;
+-st8:
+-	if ( ++p == pe )
+-		goto _test_eof8;
+-case 8:
+-	if ( (*p) == 10 )
+-		goto st4;
+-	goto st8;
+-st9:
+-	if ( ++p == pe )
+-		goto _test_eof9;
+-case 9:
+-	switch( (*p) ) {
+-		case 42: goto st10;
+-		case 47: goto st12;
+-	}
+-	goto st0;
+-st10:
+-	if ( ++p == pe )
+-		goto _test_eof10;
+-case 10:
+-	if ( (*p) == 42 )
+-		goto st11;
+-	goto st10;
+-st11:
+-	if ( ++p == pe )
+-		goto _test_eof11;
+-case 11:
+-	switch( (*p) ) {
+-		case 42: goto st11;
+-		case 47: goto st3;
+-	}
+-	goto st10;
+-st12:
+-	if ( ++p == pe )
+-		goto _test_eof12;
+-case 12:
+-	if ( (*p) == 10 )
+-		goto st3;
+-	goto st12;
+-tr4:
+-#line 350 "parser.rl"
+-	{ p--; {p++; cs = 17; goto _out;} }
+-	goto st17;
+-st17:
+-	if ( ++p == pe )
+-		goto _test_eof17;
+-case 17:
+-#line 1217 "parser.c"
+-	goto st0;
+-st13:
+-	if ( ++p == pe )
+-		goto _test_eof13;
+-case 13:
+-	switch( (*p) ) {
+-		case 42: goto st14;
+-		case 47: goto st16;
+-	}
+-	goto st0;
+-st14:
+-	if ( ++p == pe )
+-		goto _test_eof14;
+-case 14:
+-	if ( (*p) == 42 )
+-		goto st15;
+-	goto st14;
+-st15:
+-	if ( ++p == pe )
+-		goto _test_eof15;
+-case 15:
+-	switch( (*p) ) {
+-		case 42: goto st15;
+-		case 47: goto st2;
+-	}
+-	goto st14;
+-st16:
+-	if ( ++p == pe )
+-		goto _test_eof16;
+-case 16:
+-	if ( (*p) == 10 )
+-		goto st2;
+-	goto st16;
+-	}
+-	_test_eof2: cs = 2; goto _test_eof; 
+-	_test_eof3: cs = 3; goto _test_eof; 
+-	_test_eof4: cs = 4; goto _test_eof; 
+-	_test_eof5: cs = 5; goto _test_eof; 
+-	_test_eof6: cs = 6; goto _test_eof; 
+-	_test_eof7: cs = 7; goto _test_eof; 
+-	_test_eof8: cs = 8; goto _test_eof; 
+-	_test_eof9: cs = 9; goto _test_eof; 
+-	_test_eof10: cs = 10; goto _test_eof; 
+-	_test_eof11: cs = 11; goto _test_eof; 
+-	_test_eof12: cs = 12; goto _test_eof; 
+-	_test_eof17: cs = 17; goto _test_eof; 
+-	_test_eof13: cs = 13; goto _test_eof; 
+-	_test_eof14: cs = 14; goto _test_eof; 
+-	_test_eof15: cs = 15; goto _test_eof; 
+-	_test_eof16: cs = 16; goto _test_eof; 
+-
+-	_test_eof: {}
+-	_out: {}
+-	}
+-
+-#line 372 "parser.rl"
+-
+-    if(cs >= JSON_array_first_final) {
+-        return p + 1;
+-    } else {
+-        rb_raise(eParserError, "%u: unexpected token at '%s'", __LINE__, p);
+-        return NULL;
+-    }
+-}
+-
+-static VALUE json_string_unescape(VALUE result, char *string, char *stringEnd)
+-{
+-    char *p = string, *pe = string, *unescape;
+-    int unescape_len;
+-
+-    while (pe < stringEnd) {
+-        if (*pe == '\\') {
+-            unescape = (char *) "?";
+-            unescape_len = 1;
+-            if (pe > p) rb_str_buf_cat(result, p, pe - p);
+-            switch (*++pe) {
+-                case 'n':
+-                    unescape = (char *) "\n";
+-                    break;
+-                case 'r':
+-                    unescape = (char *) "\r";
+-                    break;
+-                case 't':
+-                    unescape = (char *) "\t";
+-                    break;
+-                case '"':
+-                    unescape = (char *) "\"";
+-                    break;
+-                case '\\':
+-                    unescape = (char *) "\\";
+-                    break;
+-                case 'b':
+-                    unescape = (char *) "\b";
+-                    break;
+-                case 'f':
+-                    unescape = (char *) "\f";
+-                    break;
+-                case 'u':
+-                    if (pe > stringEnd - 4) { 
+-                        return Qnil;
+-                    } else {
+-                        char buf[4];
+-                        UTF32 ch = unescape_unicode((unsigned char *) ++pe);
+-                        pe += 3;
+-                        if (UNI_SUR_HIGH_START == (ch & 0xFC00)) {
+-                            pe++;
+-                            if (pe > stringEnd - 6) return Qnil;
+-                            if (pe[0] == '\\' && pe[1] == 'u') {
+-                                UTF32 sur = unescape_unicode((unsigned char *) pe + 2);
+-                                ch = (((ch & 0x3F) << 10) | ((((ch >> 6) & 0xF) + 1) << 16)
+-                                        | (sur & 0x3FF));
+-                                pe += 5;
+-                            } else {
+-                                unescape = (char *) "?";
+-                                break;
+-                            }
+-                        }
+-                        unescape_len = convert_UTF32_to_UTF8(buf, ch);
+-                        unescape = buf;
+-                    }
+-                    break;
+-                default:
+-                    p = pe;
+-                    continue;
+-            }
+-            rb_str_buf_cat(result, unescape, unescape_len);
+-            p = ++pe;
+-        } else {
+-            pe++;
+-        }
+-    }
+-    rb_str_buf_cat(result, p, pe - p);
+-    return result;
+-}
+-
+-
+-#line 1354 "parser.c"
+-static const int JSON_string_start = 1;
+-static const int JSON_string_first_final = 8;
+-static const int JSON_string_error = 0;
+-
+-static const int JSON_string_en_main = 1;
+-
+-
+-#line 471 "parser.rl"
+-
+-
+-static int
+-match_i(VALUE regexp, VALUE klass, VALUE memo)
+-{
+-    if (regexp == Qundef) return ST_STOP;
+-    if (RTEST(rb_funcall(klass, i_json_creatable_p, 0)) &&
+-      RTEST(rb_funcall(regexp, i_match, 1, rb_ary_entry(memo, 0)))) {
+-        rb_ary_push(memo, klass);
+-        return ST_STOP;
+-    }
+-    return ST_CONTINUE;
+-}
+-
+-static char *JSON_parse_string(JSON_Parser *json, char *p, char *pe, VALUE *result)
+-{
+-    int cs = EVIL;
+-    VALUE match_string;
+-
+-    *result = rb_str_buf_new(0);
+-    
+-#line 1384 "parser.c"
+-	{
+-	cs = JSON_string_start;
+-	}
+-
+-#line 492 "parser.rl"
+-    json->memo = p;
+-    
+-#line 1392 "parser.c"
+-	{
+-	if ( p == pe )
+-		goto _test_eof;
+-	switch ( cs )
+-	{
+-case 1:
+-	if ( (*p) == 34 )
+-		goto st2;
+-	goto st0;
+-st0:
+-cs = 0;
+-	goto _out;
+-st2:
+-	if ( ++p == pe )
+-		goto _test_eof2;
+-case 2:
+-	switch( (*p) ) {
+-		case 34: goto tr2;
+-		case 92: goto st3;
+-	}
+-	if ( 0 <= (*p) && (*p) <= 31 )
+-		goto st0;
+-	goto st2;
+-tr2:
+-#line 457 "parser.rl"
+-	{
+-        *result = json_string_unescape(*result, json->memo + 1, p);
+-        if (NIL_P(*result)) {
+-            p--;
+-            {p++; cs = 8; goto _out;}
+-        } else {
+-            FORCE_UTF8(*result);
+-            {p = (( p + 1))-1;}
+-        }
+-    }
+-#line 468 "parser.rl"
+-	{ p--; {p++; cs = 8; goto _out;} }
+-	goto st8;
+-st8:
+-	if ( ++p == pe )
+-		goto _test_eof8;
+-case 8:
+-#line 1435 "parser.c"
+-	goto st0;
+-st3:
+-	if ( ++p == pe )
+-		goto _test_eof3;
+-case 3:
+-	if ( (*p) == 117 )
+-		goto st4;
+-	if ( 0 <= (*p) && (*p) <= 31 )
+-		goto st0;
+-	goto st2;
+-st4:
+-	if ( ++p == pe )
+-		goto _test_eof4;
+-case 4:
+-	if ( (*p) < 65 ) {
+-		if ( 48 <= (*p) && (*p) <= 57 )
+-			goto st5;
+-	} else if ( (*p) > 70 ) {
+-		if ( 97 <= (*p) && (*p) <= 102 )
+-			goto st5;
+-	} else
+-		goto st5;
+-	goto st0;
+-st5:
+-	if ( ++p == pe )
+-		goto _test_eof5;
+-case 5:
+-	if ( (*p) < 65 ) {
+-		if ( 48 <= (*p) && (*p) <= 57 )
+-			goto st6;
+-	} else if ( (*p) > 70 ) {
+-		if ( 97 <= (*p) && (*p) <= 102 )
+-			goto st6;
+-	} else
+-		goto st6;
+-	goto st0;
+-st6:
+-	if ( ++p == pe )
+-		goto _test_eof6;
+-case 6:
+-	if ( (*p) < 65 ) {
+-		if ( 48 <= (*p) && (*p) <= 57 )
+-			goto st7;
+-	} else if ( (*p) > 70 ) {
+-		if ( 97 <= (*p) && (*p) <= 102 )
+-			goto st7;
+-	} else
+-		goto st7;
+-	goto st0;
+-st7:
+-	if ( ++p == pe )
+-		goto _test_eof7;
+-case 7:
+-	if ( (*p) < 65 ) {
+-		if ( 48 <= (*p) && (*p) <= 57 )
+-			goto st2;
+-	} else if ( (*p) > 70 ) {
+-		if ( 97 <= (*p) && (*p) <= 102 )
+-			goto st2;
+-	} else
+-		goto st2;
+-	goto st0;
+-	}
+-	_test_eof2: cs = 2; goto _test_eof; 
+-	_test_eof8: cs = 8; goto _test_eof; 
+-	_test_eof3: cs = 3; goto _test_eof; 
+-	_test_eof4: cs = 4; goto _test_eof; 
+-	_test_eof5: cs = 5; goto _test_eof; 
+-	_test_eof6: cs = 6; goto _test_eof; 
+-	_test_eof7: cs = 7; goto _test_eof; 
+-
+-	_test_eof: {}
+-	_out: {}
+-	}
+-
+-#line 494 "parser.rl"
+-
+-    if (json->create_additions && RTEST(match_string = json->match_string)) {
+-          VALUE klass;
+-          VALUE memo = rb_ary_new2(2);
+-          rb_ary_push(memo, *result);
+-          rb_hash_foreach(match_string, match_i, memo);
+-          klass = rb_ary_entry(memo, 1);
+-          if (RTEST(klass)) {
+-              *result = rb_funcall(klass, i_json_create, 1, *result);
+-          }
+-    }
+-
+-    if (json->symbolize_names && json->parsing_name) {
+-      *result = rb_str_intern(*result);
+-    }
+-    if (cs >= JSON_string_first_final) {
+-        return p + 1;
+-    } else {
+-        return NULL;
+-    }
+-}
+-
+-
+-
+-#line 1536 "parser.c"
+-static const int JSON_start = 1;
+-static const int JSON_first_final = 10;
+-static const int JSON_error = 0;
+-
+-static const int JSON_en_main = 1;
+-
+-
+-#line 542 "parser.rl"
+-
+-
+-/* 
+- * Document-class: JSON::Ext::Parser
+- *
+- * This is the JSON parser implemented as a C extension. It can be configured
+- * to be used by setting
+- *
+- *  JSON.parser = JSON::Ext::Parser
+- *
+- * with the method parser= in JSON.
+- *
+- */
+-
+-static VALUE convert_encoding(VALUE source)
+-{
+-    char *ptr = RSTRING_PTR(source);
+-    long len = RSTRING_LEN(source);
+-    if (len < 2) {
+-        rb_raise(eParserError, "A JSON text must at least contain two octets!");
+-    }
+-#ifdef HAVE_RUBY_ENCODING_H
+-    {
+-        VALUE encoding = rb_funcall(source, i_encoding, 0);
+-        if (encoding == CEncoding_ASCII_8BIT) {
+-            if (len >= 4 &&  ptr[0] == 0 && ptr[1] == 0 && ptr[2] == 0) {
+-                source = rb_str_dup(source);
+-                rb_funcall(source, i_force_encoding, 1, CEncoding_UTF_32BE);
+-                source = rb_funcall(source, i_encode_bang, 1, CEncoding_UTF_8);
+-            } else if (len >= 4 && ptr[0] == 0 && ptr[2] == 0) {
+-                source = rb_str_dup(source);
+-                rb_funcall(source, i_force_encoding, 1, CEncoding_UTF_16BE);
+-                source = rb_funcall(source, i_encode_bang, 1, CEncoding_UTF_8);
+-            } else if (len >= 4 && ptr[1] == 0 && ptr[2] == 0 && ptr[3] == 0) {
+-                source = rb_str_dup(source);
+-                rb_funcall(source, i_force_encoding, 1, CEncoding_UTF_32LE);
+-                source = rb_funcall(source, i_encode_bang, 1, CEncoding_UTF_8);
+-            } else if (len >= 4 && ptr[1] == 0 && ptr[3] == 0) {
+-                source = rb_str_dup(source);
+-                rb_funcall(source, i_force_encoding, 1, CEncoding_UTF_16LE);
+-                source = rb_funcall(source, i_encode_bang, 1, CEncoding_UTF_8);
+-            } else {
+-                FORCE_UTF8(source);
+-            }
+-        } else {
+-            source = rb_funcall(source, i_encode, 1, CEncoding_UTF_8);
+-        }
+-    }
+-#else
+-    if (len >= 4 &&  ptr[0] == 0 && ptr[1] == 0 && ptr[2] == 0) {
+-      source = rb_funcall(mJSON, i_iconv, 3, rb_str_new2("utf-8"), rb_str_new2("utf-32be"), source);
+-    } else if (len >= 4 && ptr[0] == 0 && ptr[2] == 0) {
+-      source = rb_funcall(mJSON, i_iconv, 3, rb_str_new2("utf-8"), rb_str_new2("utf-16be"), source);
+-    } else if (len >= 4 && ptr[1] == 0 && ptr[2] == 0 && ptr[3] == 0) {
+-      source = rb_funcall(mJSON, i_iconv, 3, rb_str_new2("utf-8"), rb_str_new2("utf-32le"), source);
+-    } else if (len >= 4 && ptr[1] == 0 && ptr[3] == 0) {
+-      source = rb_funcall(mJSON, i_iconv, 3, rb_str_new2("utf-8"), rb_str_new2("utf-16le"), source);
+-    }
+-#endif
+-    return source;
+-}
+-
+-/*
+- * call-seq: new(source, opts => {})
+- *
+- * Creates a new JSON::Ext::Parser instance for the string _source_.
+- *
+- * Creates a new JSON::Ext::Parser instance for the string _source_.
+- *
+- * It will be configured by the _opts_ hash. _opts_ can have the following
+- * keys:
+- *
+- * _opts_ can have the following keys:
+- * * *max_nesting*: The maximum depth of nesting allowed in the parsed data
+- *   structures. Disable depth checking with :max_nesting => false|nil|0, it
+- *   defaults to 19.
+- * * *allow_nan*: If set to true, allow NaN, Infinity and -Infinity in
+- *   defiance of RFC 4627 to be parsed by the Parser. This option defaults to
+- *   false.
+- * * *symbolize_names*: If set to true, returns symbols for the names
+- *   (keys) in a JSON object. Otherwise strings are returned, which is also
+- *   the default.
+- * * *create_additions*: If set to false, the Parser doesn't create
+- *   additions even if a matchin class and create_id was found. This option
+- *   defaults to true.
+- * * *object_class*: Defaults to Hash
+- * * *array_class*: Defaults to Array
+- */
+-static VALUE cParser_initialize(int argc, VALUE *argv, VALUE self)
+-{
+-    char *ptr;
+-    long len;
+-    VALUE source, opts;
+-    GET_PARSER;
+-    rb_scan_args(argc, argv, "11", &source, &opts);
+-    source = convert_encoding(StringValue(source));
+-    ptr = RSTRING_PTR(source);
+-    len = RSTRING_LEN(source);
+-    if (!NIL_P(opts)) {
+-        opts = rb_convert_type(opts, T_HASH, "Hash", "to_hash");
+-        if (NIL_P(opts)) {
+-            rb_raise(rb_eArgError, "opts needs to be like a hash");
+-        } else {
+-            VALUE tmp = ID2SYM(i_max_nesting);
+-            if (option_given_p(opts, tmp)) {
+-                VALUE max_nesting = rb_hash_aref(opts, tmp);
+-                if (RTEST(max_nesting)) {
+-                    Check_Type(max_nesting, T_FIXNUM);
+-                    json->max_nesting = FIX2INT(max_nesting);
+-                } else {
+-                    json->max_nesting = 0;
+-                }
+-            } else {
+-                json->max_nesting = 19;
+-            }
+-            tmp = ID2SYM(i_allow_nan);
+-            if (option_given_p(opts, tmp)) {
+-                json->allow_nan = RTEST(rb_hash_aref(opts, tmp)) ? 1 : 0;
+-            } else {
+-                json->allow_nan = 0;
+-            }
+-            tmp = ID2SYM(i_symbolize_names);
+-            if (option_given_p(opts, tmp)) {
+-                json->symbolize_names = RTEST(rb_hash_aref(opts, tmp)) ? 1 : 0;
+-            } else {
+-                json->symbolize_names = 0;
+-            }
+-            tmp = ID2SYM(i_create_additions);
+-            if (option_given_p(opts, tmp)) {
+-                json->create_additions = RTEST(rb_hash_aref(opts, tmp));
+-            } else {
+-                json->create_additions = 1;
+-            }
+-            tmp = ID2SYM(i_create_id);
+-            if (option_given_p(opts, tmp)) {
+-                json->create_id = rb_hash_aref(opts, tmp);
+-            } else {
+-                json->create_id = rb_funcall(mJSON, i_create_id, 0);
+-            }
+-            tmp = ID2SYM(i_object_class);
+-            if (option_given_p(opts, tmp)) {
+-                json->object_class = rb_hash_aref(opts, tmp);
+-            } else {
+-                json->object_class = Qnil;
+-            }
+-            tmp = ID2SYM(i_array_class);
+-            if (option_given_p(opts, tmp)) {
+-                json->array_class = rb_hash_aref(opts, tmp);
+-            } else {
+-                json->array_class = Qnil;
+-            }
+-            tmp = ID2SYM(i_match_string);
+-            if (option_given_p(opts, tmp)) {
+-                VALUE match_string = rb_hash_aref(opts, tmp);
+-                json->match_string = RTEST(match_string) ? match_string : Qnil;
+-            } else {
+-                json->match_string = Qnil;
+-            }
+-        }
+-    } else {
+-        json->max_nesting = 19;
+-        json->allow_nan = 0;
+-        json->create_additions = 1;
+-        json->create_id = rb_funcall(mJSON, i_create_id, 0);
+-        json->object_class = Qnil;
+-        json->array_class = Qnil;
+-    }
+-    json->current_nesting = 0;
+-    json->len = len;
+-    json->source = ptr;
+-    json->Vsource = source;
+-    return self;
+-}
+-
+-/*
+- * call-seq: parse()
+- *
+- *  Parses the current JSON text _source_ and returns the complete data
+- *  structure as a result.
+- */
+-static VALUE cParser_parse(VALUE self)
+-{
+-    char *p, *pe;
+-    int cs = EVIL;
+-    VALUE result = Qnil;
+-    GET_PARSER;
+-
+-    
+-#line 1733 "parser.c"
+-	{
+-	cs = JSON_start;
+-	}
+-
+-#line 730 "parser.rl"
+-    p = json->source;
+-    pe = p + json->len;
+-    
+-#line 1742 "parser.c"
+-	{
+-	if ( p == pe )
+-		goto _test_eof;
+-	switch ( cs )
+-	{
+-st1:
+-	if ( ++p == pe )
+-		goto _test_eof1;
+-case 1:
+-	switch( (*p) ) {
+-		case 13: goto st1;
+-		case 32: goto st1;
+-		case 47: goto st2;
+-		case 91: goto tr3;
+-		case 123: goto tr4;
+-	}
+-	if ( 9 <= (*p) && (*p) <= 10 )
+-		goto st1;
+-	goto st0;
+-st0:
+-cs = 0;
+-	goto _out;
+-st2:
+-	if ( ++p == pe )
+-		goto _test_eof2;
+-case 2:
+-	switch( (*p) ) {
+-		case 42: goto st3;
+-		case 47: goto st5;
+-	}
+-	goto st0;
+-st3:
+-	if ( ++p == pe )
+-		goto _test_eof3;
+-case 3:
+-	if ( (*p) == 42 )
+-		goto st4;
+-	goto st3;
+-st4:
+-	if ( ++p == pe )
+-		goto _test_eof4;
+-case 4:
+-	switch( (*p) ) {
+-		case 42: goto st4;
+-		case 47: goto st1;
+-	}
+-	goto st3;
+-st5:
+-	if ( ++p == pe )
+-		goto _test_eof5;
+-case 5:
+-	if ( (*p) == 10 )
+-		goto st1;
+-	goto st5;
+-tr3:
+-#line 531 "parser.rl"
+-	{
+-        char *np;
+-        json->current_nesting = 1;
+-        np = JSON_parse_array(json, p, pe, &result);
+-        if (np == NULL) { p--; {p++; cs = 10; goto _out;} } else {p = (( np))-1;}
+-    }
+-	goto st10;
+-tr4:
+-#line 524 "parser.rl"
+-	{
+-        char *np;
+-        json->current_nesting = 1;
+-        np = JSON_parse_object(json, p, pe, &result);
+-        if (np == NULL) { p--; {p++; cs = 10; goto _out;} } else {p = (( np))-1;}
+-    }
+-	goto st10;
+-st10:
+-	if ( ++p == pe )
+-		goto _test_eof10;
+-case 10:
+-#line 1819 "parser.c"
+-	switch( (*p) ) {
+-		case 13: goto st10;
+-		case 32: goto st10;
+-		case 47: goto st6;
+-	}
+-	if ( 9 <= (*p) && (*p) <= 10 )
+-		goto st10;
+-	goto st0;
+-st6:
+-	if ( ++p == pe )
+-		goto _test_eof6;
+-case 6:
+-	switch( (*p) ) {
+-		case 42: goto st7;
+-		case 47: goto st9;
+-	}
+-	goto st0;
+-st7:
+-	if ( ++p == pe )
+-		goto _test_eof7;
+-case 7:
+-	if ( (*p) == 42 )
+-		goto st8;
+-	goto st7;
+-st8:
+-	if ( ++p == pe )
+-		goto _test_eof8;
+-case 8:
+-	switch( (*p) ) {
+-		case 42: goto st8;
+-		case 47: goto st10;
+-	}
+-	goto st7;
+-st9:
+-	if ( ++p == pe )
+-		goto _test_eof9;
+-case 9:
+-	if ( (*p) == 10 )
+-		goto st10;
+-	goto st9;
+-	}
+-	_test_eof1: cs = 1; goto _test_eof; 
+-	_test_eof2: cs = 2; goto _test_eof; 
+-	_test_eof3: cs = 3; goto _test_eof; 
+-	_test_eof4: cs = 4; goto _test_eof; 
+-	_test_eof5: cs = 5; goto _test_eof; 
+-	_test_eof10: cs = 10; goto _test_eof; 
+-	_test_eof6: cs = 6; goto _test_eof; 
+-	_test_eof7: cs = 7; goto _test_eof; 
+-	_test_eof8: cs = 8; goto _test_eof; 
+-	_test_eof9: cs = 9; goto _test_eof; 
+-
+-	_test_eof: {}
+-	_out: {}
+-	}
+-
+-#line 733 "parser.rl"
+-
+-    if (cs >= JSON_first_final && p == pe) {
+-        return result;
+-    } else {
+-        rb_raise(eParserError, "%u: unexpected token at '%s'", __LINE__, p);
+-        return Qnil;
+-    }
+-}
+-
+-static JSON_Parser *JSON_allocate()
+-{
+-    JSON_Parser *json = ALLOC(JSON_Parser);
+-    MEMZERO(json, JSON_Parser, 1);
+-    return json;
+-}
+-
+-static void JSON_mark(JSON_Parser *json)
+-{
+-    rb_gc_mark_maybe(json->Vsource);
+-    rb_gc_mark_maybe(json->create_id);
+-    rb_gc_mark_maybe(json->object_class);
+-    rb_gc_mark_maybe(json->array_class);
+-    rb_gc_mark_maybe(json->match_string);
+-}
+-
+-static void JSON_free(JSON_Parser *json)
+-{
+-    ruby_xfree(json);
+-}
+-
+-static VALUE cJSON_parser_s_allocate(VALUE klass)
+-{
+-    JSON_Parser *json = JSON_allocate();
+-    return Data_Wrap_Struct(klass, JSON_mark, JSON_free, json);
+-}
+-
+-/*
+- * call-seq: source()
+- *
+- * Returns a copy of the current _source_ string, that was used to construct
+- * this Parser.
+- */
+-static VALUE cParser_source(VALUE self)
+-{
+-    GET_PARSER;
+-    return rb_str_dup(json->Vsource);
+-}
+-
+-void Init_parser()
+-{
+-    rb_require("json/common");
+-    mJSON = rb_define_module("JSON");
+-    mExt = rb_define_module_under(mJSON, "Ext");
+-    cParser = rb_define_class_under(mExt, "Parser", rb_cObject);
+-    eParserError = rb_path2class("JSON::ParserError");
+-    eNestingError = rb_path2class("JSON::NestingError");
+-    rb_define_alloc_func(cParser, cJSON_parser_s_allocate);
+-    rb_define_method(cParser, "initialize", cParser_initialize, -1);
+-    rb_define_method(cParser, "parse", cParser_parse, 0);
+-    rb_define_method(cParser, "source", cParser_source, 0);
+-
+-    CNaN = rb_const_get(mJSON, rb_intern("NaN"));
+-    CInfinity = rb_const_get(mJSON, rb_intern("Infinity"));
+-    CMinusInfinity = rb_const_get(mJSON, rb_intern("MinusInfinity"));
+-
+-    i_json_creatable_p = rb_intern("json_creatable?");
+-    i_json_create = rb_intern("json_create");
+-    i_create_id = rb_intern("create_id");
+-    i_create_additions = rb_intern("create_additions");
+-    i_chr = rb_intern("chr");
+-    i_max_nesting = rb_intern("max_nesting");
+-    i_allow_nan = rb_intern("allow_nan");
+-    i_symbolize_names = rb_intern("symbolize_names");
+-    i_object_class = rb_intern("object_class");
+-    i_array_class = rb_intern("array_class");
+-    i_match = rb_intern("match");
+-    i_match_string = rb_intern("match_string");
+-    i_key_p = rb_intern("key?");
+-    i_deep_const_get = rb_intern("deep_const_get");
+-#ifdef HAVE_RUBY_ENCODING_H
+-    CEncoding_UTF_8 = rb_funcall(rb_path2class("Encoding"), rb_intern("find"), 1, rb_str_new2("utf-8"));
+-    CEncoding_UTF_16BE = rb_funcall(rb_path2class("Encoding"), rb_intern("find"), 1, rb_str_new2("utf-16be"));
+-    CEncoding_UTF_16LE = rb_funcall(rb_path2class("Encoding"), rb_intern("find"), 1, rb_str_new2("utf-16le"));
+-    CEncoding_UTF_32BE = rb_funcall(rb_path2class("Encoding"), rb_intern("find"), 1, rb_str_new2("utf-32be"));
+-    CEncoding_UTF_32LE = rb_funcall(rb_path2class("Encoding"), rb_intern("find"), 1, rb_str_new2("utf-32le"));
+-    CEncoding_ASCII_8BIT = rb_funcall(rb_path2class("Encoding"), rb_intern("find"), 1, rb_str_new2("ascii-8bit"));
+-    i_encoding = rb_intern("encoding");
+-    i_encode = rb_intern("encode");
+-    i_encode_bang = rb_intern("encode!");
+-    i_force_encoding = rb_intern("force_encoding");
+-#else
+-    i_iconv = rb_intern("iconv");
+-#endif
+-}
+diff --git a/lib/mcollective/vendor/json/ext/json/ext/parser/parser.h b/lib/mcollective/vendor/json/ext/json/ext/parser/parser.h
+deleted file mode 100644
+index ed48035..0000000
+--- a/lib/mcollective/vendor/json/ext/json/ext/parser/parser.h
++++ /dev/null
+@@ -1,78 +0,0 @@
+-#ifndef _PARSER_H_
+-#define _PARSER_H_
+-
+-#include "ruby.h"
+-
+-#if HAVE_RE_H
+-#include "re.h"
+-#endif
+-
+-#ifdef HAVE_RUBY_ENCODING_H
+-#include "ruby/encoding.h"
+-#define FORCE_UTF8(obj) rb_enc_associate((obj), rb_utf8_encoding())
+-#else
+-#define FORCE_UTF8(obj)
+-#endif
+-#ifdef HAVE_RUBY_ST_H
+-#include "ruby/st.h"
+-#else
+-#include "st.h"
+-#endif
+-
+-#define option_given_p(opts, key) RTEST(rb_funcall(opts, i_key_p, 1, key))
+-
+-/* unicode */
+-
+-typedef unsigned long	UTF32;	/* at least 32 bits */
+-typedef unsigned short UTF16;	/* at least 16 bits */
+-typedef unsigned char	UTF8;	  /* typically 8 bits */
+-
+-#define UNI_REPLACEMENT_CHAR (UTF32)0x0000FFFD
+-#define UNI_SUR_HIGH_START  (UTF32)0xD800
+-#define UNI_SUR_HIGH_END    (UTF32)0xDBFF
+-#define UNI_SUR_LOW_START   (UTF32)0xDC00
+-#define UNI_SUR_LOW_END     (UTF32)0xDFFF
+-
+-typedef struct JSON_ParserStruct {
+-    VALUE Vsource;
+-    char *source;
+-    long len;
+-    char *memo;
+-    VALUE create_id;
+-    int max_nesting;
+-    int current_nesting;
+-    int allow_nan;
+-    int parsing_name;
+-    int symbolize_names;
+-    VALUE object_class;
+-    VALUE array_class;
+-		int create_additions;
+-		VALUE match_string;
+-} JSON_Parser;
+-
+-#define GET_PARSER                          \
+-    JSON_Parser *json;                      \
+-    Data_Get_Struct(self, JSON_Parser, json)
+-
+-#define MinusInfinity "-Infinity"
+-#define EVIL 0x666
+-
+-static UTF32 unescape_unicode(const unsigned char *p);
+-static int convert_UTF32_to_UTF8(char *buf, UTF32 ch);
+-static char *JSON_parse_object(JSON_Parser *json, char *p, char *pe, VALUE *result);
+-static char *JSON_parse_value(JSON_Parser *json, char *p, char *pe, VALUE *result);
+-static char *JSON_parse_integer(JSON_Parser *json, char *p, char *pe, VALUE *result);
+-static char *JSON_parse_float(JSON_Parser *json, char *p, char *pe, VALUE *result);
+-static char *JSON_parse_array(JSON_Parser *json, char *p, char *pe, VALUE *result);
+-static VALUE json_string_unescape(VALUE result, char *string, char *stringEnd);
+-static char *JSON_parse_string(JSON_Parser *json, char *p, char *pe, VALUE *result);
+-static VALUE convert_encoding(VALUE source);
+-static VALUE cParser_initialize(int argc, VALUE *argv, VALUE self);
+-static VALUE cParser_parse(VALUE self);
+-static JSON_Parser *JSON_allocate();
+-static void JSON_mark(JSON_Parser *json);
+-static void JSON_free(JSON_Parser *json);
+-static VALUE cJSON_parser_s_allocate(VALUE klass);
+-static VALUE cParser_source(VALUE self);
+-
+-#endif
+diff --git a/lib/mcollective/vendor/json/ext/json/ext/parser/parser.rl b/lib/mcollective/vendor/json/ext/json/ext/parser/parser.rl
+deleted file mode 100644
+index 5862698..0000000
+--- a/lib/mcollective/vendor/json/ext/json/ext/parser/parser.rl
++++ /dev/null
+@@ -1,826 +0,0 @@
+-#include "parser.h"
+-
+-/* unicode */
+-
+-static const char digit_values[256] = { 
+-    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+-    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+-    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, -1,
+-    -1, -1, -1, -1, -1, -1, 10, 11, 12, 13, 14, 15, -1, -1, -1, -1, -1, -1, -1,
+-    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+-    10, 11, 12, 13, 14, 15, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+-    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+-    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+-    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+-    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+-    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+-    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+-    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+-    -1, -1, -1, -1, -1, -1, -1
+-};
+-
+-static UTF32 unescape_unicode(const unsigned char *p)
+-{
+-    char b;
+-    UTF32 result = 0;
+-    b = digit_values[p[0]];
+-    if (b < 0) return UNI_REPLACEMENT_CHAR;
+-    result = (result << 4) | b;
+-    b = digit_values[p[1]];
+-    result = (result << 4) | b;
+-    if (b < 0) return UNI_REPLACEMENT_CHAR;
+-    b = digit_values[p[2]];
+-    result = (result << 4) | b;
+-    if (b < 0) return UNI_REPLACEMENT_CHAR;
+-    b = digit_values[p[3]];
+-    result = (result << 4) | b;
+-    if (b < 0) return UNI_REPLACEMENT_CHAR;
+-    return result;
+-}
+-
+-static int convert_UTF32_to_UTF8(char *buf, UTF32 ch) 
+-{
+-    int len = 1;
+-    if (ch <= 0x7F) {
+-        buf[0] = (char) ch;
+-    } else if (ch <= 0x07FF) {
+-        buf[0] = (char) ((ch >> 6) | 0xC0);
+-        buf[1] = (char) ((ch & 0x3F) | 0x80);
+-        len++;
+-    } else if (ch <= 0xFFFF) {
+-        buf[0] = (char) ((ch >> 12) | 0xE0);
+-        buf[1] = (char) (((ch >> 6) & 0x3F) | 0x80);
+-        buf[2] = (char) ((ch & 0x3F) | 0x80);
+-        len += 2;
+-    } else if (ch <= 0x1fffff) {
+-        buf[0] =(char) ((ch >> 18) | 0xF0);
+-        buf[1] =(char) (((ch >> 12) & 0x3F) | 0x80);
+-        buf[2] =(char) (((ch >> 6) & 0x3F) | 0x80);
+-        buf[3] =(char) ((ch & 0x3F) | 0x80);
+-        len += 3;
+-    } else {
+-        buf[0] = '?';
+-    }
+-    return len;
+-}
+-
+-#ifdef HAVE_RUBY_ENCODING_H
+-static VALUE CEncoding_ASCII_8BIT, CEncoding_UTF_8, CEncoding_UTF_16BE,
+-    CEncoding_UTF_16LE, CEncoding_UTF_32BE, CEncoding_UTF_32LE;
+-static ID i_encoding, i_encode, i_encode_bang, i_force_encoding;
+-#else
+-static ID i_iconv;
+-#endif
+-
+-static VALUE mJSON, mExt, cParser, eParserError, eNestingError;
+-static VALUE CNaN, CInfinity, CMinusInfinity;
+-
+-static ID i_json_creatable_p, i_json_create, i_create_id, i_create_additions,
+-          i_chr, i_max_nesting, i_allow_nan, i_symbolize_names, i_object_class,
+-          i_array_class, i_key_p, i_deep_const_get, i_match, i_match_string;
+-
+-%%{
+-    machine JSON_common;
+-
+-    cr                  = '\n';
+-    cr_neg              = [^\n];
+-    ws                  = [ \t\r\n];
+-    c_comment           = '/*' ( any* - (any* '*/' any* ) ) '*/';
+-    cpp_comment         = '//' cr_neg* cr;
+-    comment             = c_comment | cpp_comment;
+-    ignore              = ws | comment;
+-    name_separator      = ':';
+-    value_separator     = ',';
+-    Vnull               = 'null';
+-    Vfalse              = 'false';
+-    Vtrue               = 'true';
+-    VNaN                = 'NaN';
+-    VInfinity           = 'Infinity';
+-    VMinusInfinity      = '-Infinity';
+-    begin_value         = [nft"\-[{NI] | digit;
+-    begin_object        = '{';
+-    end_object          = '}';
+-    begin_array         = '[';
+-    end_array           = ']';
+-    begin_string        = '"';
+-    begin_name          = begin_string;
+-    begin_number        = digit | '-';
+-}%%
+-
+-%%{
+-    machine JSON_object;
+-    include JSON_common;
+-
+-    write data;
+-
+-    action parse_value {
+-        VALUE v = Qnil;
+-        char *np = JSON_parse_value(json, fpc, pe, &v); 
+-        if (np == NULL) {
+-            fhold; fbreak;
+-        } else {
+-            rb_hash_aset(*result, last_name, v);
+-            fexec np;
+-        }
+-    }
+-
+-    action parse_name {
+-        char *np;
+-        json->parsing_name = 1;
+-        np = JSON_parse_string(json, fpc, pe, &last_name);
+-        json->parsing_name = 0;
+-        if (np == NULL) { fhold; fbreak; } else fexec np;
+-    }
+-
+-    action exit { fhold; fbreak; }
+-
+-    a_pair  = ignore* begin_name >parse_name
+-        ignore* name_separator ignore*
+-        begin_value >parse_value;
+-
+-    main := begin_object
+-          (a_pair (ignore* value_separator a_pair)*)?
+-          ignore* end_object @exit;
+-}%%
+-
+-static char *JSON_parse_object(JSON_Parser *json, char *p, char *pe, VALUE *result)
+-{
+-    int cs = EVIL;
+-    VALUE last_name = Qnil;
+-    VALUE object_class = json->object_class;
+-
+-    if (json->max_nesting && json->current_nesting > json->max_nesting) {
+-        rb_raise(eNestingError, "nesting of %d is too deep", json->current_nesting);
+-    }
+-
+-    *result = NIL_P(object_class) ? rb_hash_new() : rb_class_new_instance(0, 0, object_class);
+-
+-    %% write init;
+-    %% write exec;
+-
+-    if (cs >= JSON_object_first_final) {
+-        if (json->create_additions) {
+-            VALUE klassname = rb_hash_aref(*result, json->create_id);
+-            if (!NIL_P(klassname)) {
+-                VALUE klass = rb_funcall(mJSON, i_deep_const_get, 1, klassname);
+-                if (RTEST(rb_funcall(klass, i_json_creatable_p, 0))) {
+-                    *result = rb_funcall(klass, i_json_create, 1, *result);
+-                }
+-            }
+-        }
+-        return p + 1;
+-    } else {
+-        return NULL;
+-    }
+-}
+-
+-%%{
+-    machine JSON_value;
+-    include JSON_common;
+-
+-    write data;
+-
+-    action parse_null {
+-        *result = Qnil;
+-    }
+-    action parse_false {
+-        *result = Qfalse;
+-    }
+-    action parse_true {
+-        *result = Qtrue;
+-    }
+-    action parse_nan {
+-        if (json->allow_nan) {
+-            *result = CNaN;
+-        } else {
+-            rb_raise(eParserError, "%u: unexpected token at '%s'", __LINE__, p - 2);
+-        }
+-    }
+-    action parse_infinity {
+-        if (json->allow_nan) {
+-            *result = CInfinity;
+-        } else {
+-            rb_raise(eParserError, "%u: unexpected token at '%s'", __LINE__, p - 8);
+-        }
+-    }
+-    action parse_string {
+-        char *np = JSON_parse_string(json, fpc, pe, result);
+-        if (np == NULL) { fhold; fbreak; } else fexec np;
+-    }
+-
+-    action parse_number {
+-        char *np;
+-        if(pe > fpc + 9 && !strncmp(MinusInfinity, fpc, 9)) {
+-            if (json->allow_nan) {
+-                *result = CMinusInfinity;
+-                fexec p + 10;
+-                fhold; fbreak;
+-            } else {
+-                rb_raise(eParserError, "%u: unexpected token at '%s'", __LINE__, p);
+-            }
+-        }
+-        np = JSON_parse_float(json, fpc, pe, result);
+-        if (np != NULL) fexec np;
+-        np = JSON_parse_integer(json, fpc, pe, result);
+-        if (np != NULL) fexec np;
+-        fhold; fbreak;
+-    }
+-
+-    action parse_array { 
+-        char *np;
+-        json->current_nesting++;
+-        np = JSON_parse_array(json, fpc, pe, result);
+-        json->current_nesting--;
+-        if (np == NULL) { fhold; fbreak; } else fexec np;
+-    }
+-
+-    action parse_object { 
+-        char *np;
+-        json->current_nesting++;
+-        np =  JSON_parse_object(json, fpc, pe, result);
+-        json->current_nesting--;
+-        if (np == NULL) { fhold; fbreak; } else fexec np;
+-    }
+-
+-    action exit { fhold; fbreak; }
+-
+-main := (
+-              Vnull @parse_null |
+-              Vfalse @parse_false |
+-              Vtrue @parse_true |
+-              VNaN @parse_nan |
+-              VInfinity @parse_infinity |
+-              begin_number >parse_number |
+-              begin_string >parse_string |
+-              begin_array >parse_array |
+-              begin_object >parse_object
+-        ) %*exit;
+-}%%
+-
+-static char *JSON_parse_value(JSON_Parser *json, char *p, char *pe, VALUE *result)
+-{
+-    int cs = EVIL;
+-
+-    %% write init;
+-    %% write exec;
+-
+-    if (cs >= JSON_value_first_final) {
+-        return p;
+-    } else {
+-        return NULL;
+-    }
+-}
+-
+-%%{
+-    machine JSON_integer;
+-
+-    write data;
+-
+-    action exit { fhold; fbreak; }
+-
+-    main := '-'? ('0' | [1-9][0-9]*) (^[0-9] @exit);
+-}%%
+-
+-static char *JSON_parse_integer(JSON_Parser *json, char *p, char *pe, VALUE *result)
+-{
+-    int cs = EVIL;
+-
+-    %% write init;
+-    json->memo = p;
+-    %% write exec;
+-
+-    if (cs >= JSON_integer_first_final) {
+-        long len = p - json->memo;
+-        *result = rb_Integer(rb_str_new(json->memo, len));
+-        return p + 1;
+-    } else {
+-        return NULL;
+-    }
+-}
+-
+-%%{
+-    machine JSON_float;
+-    include JSON_common;
+-
+-    write data;
+-
+-    action exit { fhold; fbreak; }
+-
+-    main := '-'? (
+-              (('0' | [1-9][0-9]*) '.' [0-9]+ ([Ee] [+\-]?[0-9]+)?)
+-              | (('0' | [1-9][0-9]*) ([Ee] [+\-]?[0-9]+))
+-             )  (^[0-9Ee.\-] @exit );
+-}%%
+-
+-static char *JSON_parse_float(JSON_Parser *json, char *p, char *pe, VALUE *result)
+-{
+-    int cs = EVIL;
+-
+-    %% write init;
+-    json->memo = p;
+-    %% write exec;
+-
+-    if (cs >= JSON_float_first_final) {
+-        long len = p - json->memo;
+-        *result = rb_Float(rb_str_new(json->memo, len));
+-        return p + 1;
+-    } else {
+-        return NULL;
+-    }
+-}
+-
+-
+-%%{
+-    machine JSON_array;
+-    include JSON_common;
+-
+-    write data;
+-
+-    action parse_value {
+-        VALUE v = Qnil;
+-        char *np = JSON_parse_value(json, fpc, pe, &v); 
+-        if (np == NULL) {
+-            fhold; fbreak;
+-        } else {
+-            rb_ary_push(*result, v);
+-            fexec np;
+-        }
+-    }
+-
+-    action exit { fhold; fbreak; }
+-
+-    next_element  = value_separator ignore* begin_value >parse_value;
+-
+-    main := begin_array ignore*
+-          ((begin_value >parse_value ignore*)
+-           (ignore* next_element ignore*)*)?
+-          end_array @exit;
+-}%%
+-
+-static char *JSON_parse_array(JSON_Parser *json, char *p, char *pe, VALUE *result)
+-{
+-    int cs = EVIL;
+-    VALUE array_class = json->array_class;
+-
+-    if (json->max_nesting && json->current_nesting > json->max_nesting) {
+-        rb_raise(eNestingError, "nesting of %d is too deep", json->current_nesting);
+-    }
+-    *result = NIL_P(array_class) ? rb_ary_new() : rb_class_new_instance(0, 0, array_class);
+-
+-    %% write init;
+-    %% write exec;
+-
+-    if(cs >= JSON_array_first_final) {
+-        return p + 1;
+-    } else {
+-        rb_raise(eParserError, "%u: unexpected token at '%s'", __LINE__, p);
+-        return NULL;
+-    }
+-}
+-
+-static VALUE json_string_unescape(VALUE result, char *string, char *stringEnd)
+-{
+-    char *p = string, *pe = string, *unescape;
+-    int unescape_len;
+-
+-    while (pe < stringEnd) {
+-        if (*pe == '\\') {
+-            unescape = (char *) "?";
+-            unescape_len = 1;
+-            if (pe > p) rb_str_buf_cat(result, p, pe - p);
+-            switch (*++pe) {
+-                case 'n':
+-                    unescape = (char *) "\n";
+-                    break;
+-                case 'r':
+-                    unescape = (char *) "\r";
+-                    break;
+-                case 't':
+-                    unescape = (char *) "\t";
+-                    break;
+-                case '"':
+-                    unescape = (char *) "\"";
+-                    break;
+-                case '\\':
+-                    unescape = (char *) "\\";
+-                    break;
+-                case 'b':
+-                    unescape = (char *) "\b";
+-                    break;
+-                case 'f':
+-                    unescape = (char *) "\f";
+-                    break;
+-                case 'u':
+-                    if (pe > stringEnd - 4) { 
+-                        return Qnil;
+-                    } else {
+-                        char buf[4];
+-                        UTF32 ch = unescape_unicode((unsigned char *) ++pe);
+-                        pe += 3;
+-                        if (UNI_SUR_HIGH_START == (ch & 0xFC00)) {
+-                            pe++;
+-                            if (pe > stringEnd - 6) return Qnil;
+-                            if (pe[0] == '\\' && pe[1] == 'u') {
+-                                UTF32 sur = unescape_unicode((unsigned char *) pe + 2);
+-                                ch = (((ch & 0x3F) << 10) | ((((ch >> 6) & 0xF) + 1) << 16)
+-                                        | (sur & 0x3FF));
+-                                pe += 5;
+-                            } else {
+-                                unescape = (char *) "?";
+-                                break;
+-                            }
+-                        }
+-                        unescape_len = convert_UTF32_to_UTF8(buf, ch);
+-                        unescape = buf;
+-                    }
+-                    break;
+-                default:
+-                    p = pe;
+-                    continue;
+-            }
+-            rb_str_buf_cat(result, unescape, unescape_len);
+-            p = ++pe;
+-        } else {
+-            pe++;
+-        }
+-    }
+-    rb_str_buf_cat(result, p, pe - p);
+-    return result;
+-}
+-
+-%%{
+-    machine JSON_string;
+-    include JSON_common;
+-
+-    write data;
+-
+-    action parse_string {
+-        *result = json_string_unescape(*result, json->memo + 1, p);
+-        if (NIL_P(*result)) {
+-            fhold;
+-            fbreak;
+-        } else {
+-            FORCE_UTF8(*result);
+-            fexec p + 1;
+-        }
+-    }
+-
+-    action exit { fhold; fbreak; }
+-
+-    main := '"' ((^(["\\] | 0..0x1f) | '\\'["\\/bfnrt] | '\\u'[0-9a-fA-F]{4} | '\\'^(["\\/bfnrtu]|0..0x1f))* %parse_string) '"' @exit;
+-}%%
+-
+-static int
+-match_i(VALUE regexp, VALUE klass, VALUE memo)
+-{
+-    if (regexp == Qundef) return ST_STOP;
+-    if (RTEST(rb_funcall(klass, i_json_creatable_p, 0)) &&
+-      RTEST(rb_funcall(regexp, i_match, 1, rb_ary_entry(memo, 0)))) {
+-        rb_ary_push(memo, klass);
+-        return ST_STOP;
+-    }
+-    return ST_CONTINUE;
+-}
+-
+-static char *JSON_parse_string(JSON_Parser *json, char *p, char *pe, VALUE *result)
+-{
+-    int cs = EVIL;
+-    VALUE match_string;
+-
+-    *result = rb_str_buf_new(0);
+-    %% write init;
+-    json->memo = p;
+-    %% write exec;
+-
+-    if (json->create_additions && RTEST(match_string = json->match_string)) {
+-          VALUE klass;
+-          VALUE memo = rb_ary_new2(2);
+-          rb_ary_push(memo, *result);
+-          rb_hash_foreach(match_string, match_i, memo);
+-          klass = rb_ary_entry(memo, 1);
+-          if (RTEST(klass)) {
+-              *result = rb_funcall(klass, i_json_create, 1, *result);
+-          }
+-    }
+-
+-    if (json->symbolize_names && json->parsing_name) {
+-      *result = rb_str_intern(*result);
+-    }
+-    if (cs >= JSON_string_first_final) {
+-        return p + 1;
+-    } else {
+-        return NULL;
+-    }
+-}
+-
+-
+-%%{
+-    machine JSON;
+-
+-    write data;
+-
+-    include JSON_common;
+-
+-    action parse_object {
+-        char *np;
+-        json->current_nesting = 1;
+-        np = JSON_parse_object(json, fpc, pe, &result);
+-        if (np == NULL) { fhold; fbreak; } else fexec np;
+-    }
+-
+-    action parse_array {
+-        char *np;
+-        json->current_nesting = 1;
+-        np = JSON_parse_array(json, fpc, pe, &result);
+-        if (np == NULL) { fhold; fbreak; } else fexec np;
+-    }
+-
+-    main := ignore* (
+-            begin_object >parse_object |
+-            begin_array >parse_array
+-            ) ignore*;
+-}%%
+-
+-/* 
+- * Document-class: JSON::Ext::Parser
+- *
+- * This is the JSON parser implemented as a C extension. It can be configured
+- * to be used by setting
+- *
+- *  JSON.parser = JSON::Ext::Parser
+- *
+- * with the method parser= in JSON.
+- *
+- */
+-
+-static VALUE convert_encoding(VALUE source)
+-{
+-    char *ptr = RSTRING_PTR(source);
+-    long len = RSTRING_LEN(source);
+-    if (len < 2) {
+-        rb_raise(eParserError, "A JSON text must at least contain two octets!");
+-    }
+-#ifdef HAVE_RUBY_ENCODING_H
+-    {
+-        VALUE encoding = rb_funcall(source, i_encoding, 0);
+-        if (encoding == CEncoding_ASCII_8BIT) {
+-            if (len >= 4 &&  ptr[0] == 0 && ptr[1] == 0 && ptr[2] == 0) {
+-                source = rb_str_dup(source);
+-                rb_funcall(source, i_force_encoding, 1, CEncoding_UTF_32BE);
+-                source = rb_funcall(source, i_encode_bang, 1, CEncoding_UTF_8);
+-            } else if (len >= 4 && ptr[0] == 0 && ptr[2] == 0) {
+-                source = rb_str_dup(source);
+-                rb_funcall(source, i_force_encoding, 1, CEncoding_UTF_16BE);
+-                source = rb_funcall(source, i_encode_bang, 1, CEncoding_UTF_8);
+-            } else if (len >= 4 && ptr[1] == 0 && ptr[2] == 0 && ptr[3] == 0) {
+-                source = rb_str_dup(source);
+-                rb_funcall(source, i_force_encoding, 1, CEncoding_UTF_32LE);
+-                source = rb_funcall(source, i_encode_bang, 1, CEncoding_UTF_8);
+-            } else if (len >= 4 && ptr[1] == 0 && ptr[3] == 0) {
+-                source = rb_str_dup(source);
+-                rb_funcall(source, i_force_encoding, 1, CEncoding_UTF_16LE);
+-                source = rb_funcall(source, i_encode_bang, 1, CEncoding_UTF_8);
+-            } else {
+-                FORCE_UTF8(source);
+-            }
+-        } else {
+-            source = rb_funcall(source, i_encode, 1, CEncoding_UTF_8);
+-        }
+-    }
+-#else
+-    if (len >= 4 &&  ptr[0] == 0 && ptr[1] == 0 && ptr[2] == 0) {
+-      source = rb_funcall(mJSON, i_iconv, 3, rb_str_new2("utf-8"), rb_str_new2("utf-32be"), source);
+-    } else if (len >= 4 && ptr[0] == 0 && ptr[2] == 0) {
+-      source = rb_funcall(mJSON, i_iconv, 3, rb_str_new2("utf-8"), rb_str_new2("utf-16be"), source);
+-    } else if (len >= 4 && ptr[1] == 0 && ptr[2] == 0 && ptr[3] == 0) {
+-      source = rb_funcall(mJSON, i_iconv, 3, rb_str_new2("utf-8"), rb_str_new2("utf-32le"), source);
+-    } else if (len >= 4 && ptr[1] == 0 && ptr[3] == 0) {
+-      source = rb_funcall(mJSON, i_iconv, 3, rb_str_new2("utf-8"), rb_str_new2("utf-16le"), source);
+-    }
+-#endif
+-    return source;
+-}
+-
+-/*
+- * call-seq: new(source, opts => {})
+- *
+- * Creates a new JSON::Ext::Parser instance for the string _source_.
+- *
+- * Creates a new JSON::Ext::Parser instance for the string _source_.
+- *
+- * It will be configured by the _opts_ hash. _opts_ can have the following
+- * keys:
+- *
+- * _opts_ can have the following keys:
+- * * *max_nesting*: The maximum depth of nesting allowed in the parsed data
+- *   structures. Disable depth checking with :max_nesting => false|nil|0, it
+- *   defaults to 19.
+- * * *allow_nan*: If set to true, allow NaN, Infinity and -Infinity in
+- *   defiance of RFC 4627 to be parsed by the Parser. This option defaults to
+- *   false.
+- * * *symbolize_names*: If set to true, returns symbols for the names
+- *   (keys) in a JSON object. Otherwise strings are returned, which is also
+- *   the default.
+- * * *create_additions*: If set to false, the Parser doesn't create
+- *   additions even if a matchin class and create_id was found. This option
+- *   defaults to true.
+- * * *object_class*: Defaults to Hash
+- * * *array_class*: Defaults to Array
+- */
+-static VALUE cParser_initialize(int argc, VALUE *argv, VALUE self)
+-{
+-    char *ptr;
+-    long len;
+-    VALUE source, opts;
+-    GET_PARSER;
+-    rb_scan_args(argc, argv, "11", &source, &opts);
+-    source = convert_encoding(StringValue(source));
+-    ptr = RSTRING_PTR(source);
+-    len = RSTRING_LEN(source);
+-    if (!NIL_P(opts)) {
+-        opts = rb_convert_type(opts, T_HASH, "Hash", "to_hash");
+-        if (NIL_P(opts)) {
+-            rb_raise(rb_eArgError, "opts needs to be like a hash");
+-        } else {
+-            VALUE tmp = ID2SYM(i_max_nesting);
+-            if (option_given_p(opts, tmp)) {
+-                VALUE max_nesting = rb_hash_aref(opts, tmp);
+-                if (RTEST(max_nesting)) {
+-                    Check_Type(max_nesting, T_FIXNUM);
+-                    json->max_nesting = FIX2INT(max_nesting);
+-                } else {
+-                    json->max_nesting = 0;
+-                }
+-            } else {
+-                json->max_nesting = 19;
+-            }
+-            tmp = ID2SYM(i_allow_nan);
+-            if (option_given_p(opts, tmp)) {
+-                json->allow_nan = RTEST(rb_hash_aref(opts, tmp)) ? 1 : 0;
+-            } else {
+-                json->allow_nan = 0;
+-            }
+-            tmp = ID2SYM(i_symbolize_names);
+-            if (option_given_p(opts, tmp)) {
+-                json->symbolize_names = RTEST(rb_hash_aref(opts, tmp)) ? 1 : 0;
+-            } else {
+-                json->symbolize_names = 0;
+-            }
+-            tmp = ID2SYM(i_create_additions);
+-            if (option_given_p(opts, tmp)) {
+-                json->create_additions = RTEST(rb_hash_aref(opts, tmp));
+-            } else {
+-                json->create_additions = 1;
+-            }
+-            tmp = ID2SYM(i_create_id);
+-            if (option_given_p(opts, tmp)) {
+-                json->create_id = rb_hash_aref(opts, tmp);
+-            } else {
+-                json->create_id = rb_funcall(mJSON, i_create_id, 0);
+-            }
+-            tmp = ID2SYM(i_object_class);
+-            if (option_given_p(opts, tmp)) {
+-                json->object_class = rb_hash_aref(opts, tmp);
+-            } else {
+-                json->object_class = Qnil;
+-            }
+-            tmp = ID2SYM(i_array_class);
+-            if (option_given_p(opts, tmp)) {
+-                json->array_class = rb_hash_aref(opts, tmp);
+-            } else {
+-                json->array_class = Qnil;
+-            }
+-            tmp = ID2SYM(i_match_string);
+-            if (option_given_p(opts, tmp)) {
+-                VALUE match_string = rb_hash_aref(opts, tmp);
+-                json->match_string = RTEST(match_string) ? match_string : Qnil;
+-            } else {
+-                json->match_string = Qnil;
+-            }
+-        }
+-    } else {
+-        json->max_nesting = 19;
+-        json->allow_nan = 0;
+-        json->create_additions = 1;
+-        json->create_id = rb_funcall(mJSON, i_create_id, 0);
+-        json->object_class = Qnil;
+-        json->array_class = Qnil;
+-    }
+-    json->current_nesting = 0;
+-    json->len = len;
+-    json->source = ptr;
+-    json->Vsource = source;
+-    return self;
+-}
+-
+-/*
+- * call-seq: parse()
+- *
+- *  Parses the current JSON text _source_ and returns the complete data
+- *  structure as a result.
+- */
+-static VALUE cParser_parse(VALUE self)
+-{
+-    char *p, *pe;
+-    int cs = EVIL;
+-    VALUE result = Qnil;
+-    GET_PARSER;
+-
+-    %% write init;
+-    p = json->source;
+-    pe = p + json->len;
+-    %% write exec;
+-
+-    if (cs >= JSON_first_final && p == pe) {
+-        return result;
+-    } else {
+-        rb_raise(eParserError, "%u: unexpected token at '%s'", __LINE__, p);
+-        return Qnil;
+-    }
+-}
+-
+-static JSON_Parser *JSON_allocate()
+-{
+-    JSON_Parser *json = ALLOC(JSON_Parser);
+-    MEMZERO(json, JSON_Parser, 1);
+-    return json;
+-}
+-
+-static void JSON_mark(JSON_Parser *json)
+-{
+-    rb_gc_mark_maybe(json->Vsource);
+-    rb_gc_mark_maybe(json->create_id);
+-    rb_gc_mark_maybe(json->object_class);
+-    rb_gc_mark_maybe(json->array_class);
+-    rb_gc_mark_maybe(json->match_string);
+-}
+-
+-static void JSON_free(JSON_Parser *json)
+-{
+-    ruby_xfree(json);
+-}
+-
+-static VALUE cJSON_parser_s_allocate(VALUE klass)
+-{
+-    JSON_Parser *json = JSON_allocate();
+-    return Data_Wrap_Struct(klass, JSON_mark, JSON_free, json);
+-}
+-
+-/*
+- * call-seq: source()
+- *
+- * Returns a copy of the current _source_ string, that was used to construct
+- * this Parser.
+- */
+-static VALUE cParser_source(VALUE self)
+-{
+-    GET_PARSER;
+-    return rb_str_dup(json->Vsource);
+-}
+-
+-void Init_parser()
+-{
+-    rb_require("json/common");
+-    mJSON = rb_define_module("JSON");
+-    mExt = rb_define_module_under(mJSON, "Ext");
+-    cParser = rb_define_class_under(mExt, "Parser", rb_cObject);
+-    eParserError = rb_path2class("JSON::ParserError");
+-    eNestingError = rb_path2class("JSON::NestingError");
+-    rb_define_alloc_func(cParser, cJSON_parser_s_allocate);
+-    rb_define_method(cParser, "initialize", cParser_initialize, -1);
+-    rb_define_method(cParser, "parse", cParser_parse, 0);
+-    rb_define_method(cParser, "source", cParser_source, 0);
+-
+-    CNaN = rb_const_get(mJSON, rb_intern("NaN"));
+-    CInfinity = rb_const_get(mJSON, rb_intern("Infinity"));
+-    CMinusInfinity = rb_const_get(mJSON, rb_intern("MinusInfinity"));
+-
+-    i_json_creatable_p = rb_intern("json_creatable?");
+-    i_json_create = rb_intern("json_create");
+-    i_create_id = rb_intern("create_id");
+-    i_create_additions = rb_intern("create_additions");
+-    i_chr = rb_intern("chr");
+-    i_max_nesting = rb_intern("max_nesting");
+-    i_allow_nan = rb_intern("allow_nan");
+-    i_symbolize_names = rb_intern("symbolize_names");
+-    i_object_class = rb_intern("object_class");
+-    i_array_class = rb_intern("array_class");
+-    i_match = rb_intern("match");
+-    i_match_string = rb_intern("match_string");
+-    i_key_p = rb_intern("key?");
+-    i_deep_const_get = rb_intern("deep_const_get");
+-#ifdef HAVE_RUBY_ENCODING_H
+-    CEncoding_UTF_8 = rb_funcall(rb_path2class("Encoding"), rb_intern("find"), 1, rb_str_new2("utf-8"));
+-    CEncoding_UTF_16BE = rb_funcall(rb_path2class("Encoding"), rb_intern("find"), 1, rb_str_new2("utf-16be"));
+-    CEncoding_UTF_16LE = rb_funcall(rb_path2class("Encoding"), rb_intern("find"), 1, rb_str_new2("utf-16le"));
+-    CEncoding_UTF_32BE = rb_funcall(rb_path2class("Encoding"), rb_intern("find"), 1, rb_str_new2("utf-32be"));
+-    CEncoding_UTF_32LE = rb_funcall(rb_path2class("Encoding"), rb_intern("find"), 1, rb_str_new2("utf-32le"));
+-    CEncoding_ASCII_8BIT = rb_funcall(rb_path2class("Encoding"), rb_intern("find"), 1, rb_str_new2("ascii-8bit"));
+-    i_encoding = rb_intern("encoding");
+-    i_encode = rb_intern("encode");
+-    i_encode_bang = rb_intern("encode!");
+-    i_force_encoding = rb_intern("force_encoding");
+-#else
+-    i_iconv = rb_intern("iconv");
+-#endif
+-}
+diff --git a/lib/mcollective/vendor/json/install.rb b/lib/mcollective/vendor/json/install.rb
+deleted file mode 100755
+index adf77a0..0000000
+--- a/lib/mcollective/vendor/json/install.rb
++++ /dev/null
+@@ -1,26 +0,0 @@
+-#!/usr/bin/env ruby
+-
+-require 'rbconfig'
+-require 'fileutils'
+-include FileUtils::Verbose
+-
+-include Config
+-
+-bindir = CONFIG["bindir"]
+-cd 'bin' do
+-  filename = 'edit_json.rb'
+-  #install(filename, bindir)
+-end
+-sitelibdir = CONFIG["sitelibdir"]
+-cd 'lib' do
+-  install('json.rb', sitelibdir)
+-  mkdir_p File.join(sitelibdir, 'json')
+-  for file in Dir['json/**/*.{rb,xpm}']
+-    d = File.join(sitelibdir, file)
+-    mkdir_p File.dirname(d)
+-    install(file, d)
+-  end
+-  install(File.join('json', 'editor.rb'), File.join(sitelibdir,'json'))
+-  install(File.join('json', 'json.xpm'), File.join(sitelibdir,'json'))
+-end
+-warn " *** Installed PURE ruby library."
+diff --git a/lib/mcollective/vendor/json/java/lib/bytelist-1.0.6.jar b/lib/mcollective/vendor/json/java/lib/bytelist-1.0.6.jar
+deleted file mode 100644
+index 7918e7ccb059b448102825f51b04ad288cb65adb..0000000000000000000000000000000000000000
+GIT binary patch
+literal 0
+HcmV?d00001
+
+literal 10493
+zcmb7q1#lZ#*0s#c%nUKg%*@P;GQ`Zx%*@PoVrFLM7-FWF?U)@q<|O`;ot>H8o!PJc
+zy;8rHO6Qz at _f_?~t-4294gwM$@GFAg-w6EU!#@YOpJxRLbrD7xMM-Amf5Kn^fj?om
+zy<AwiKYw2Rd0_r4OhH6ZMp8meok>B`JiY-rSQs(<LGF@>_tX)RkZ`qMh9WA&i33Zv
+z-IK6XE3&(%kR`jF!|1io2;pn%JJKUjLfd0C>0<4w*s0O at VIyDXuejj8*t!>)%H^z2
+zsiMoKYp9sq$t!du)hRf224nX~bS~wWQ+IZlMqEuM+xPLhH^Hn3(`(Tsm^U(?EkpXP
+zvjAC6!35Bih37}rcf)6WH&?eR#c7&Kzh?sgxco=bkUz6=aJKj(- at hV$E!HoDwX>Uv
+z*Z+Y-`8S-KtCj5^VAy|LR+t#-wwf3Ka1sXqi2e!|^>Q_rw{mf1GPMP{xa9G|d8#jU
+zymmay_&2d70@)G)qM2lnu#l*c;i$4eI9YJma<g$nATSG#4FlEMVBZj at nlWe61hQ(e
+zSQ;R**t%R(v(?hvvfkO^?z7ZdcPHTW8gQAFk^@5bI;1$x_el at fp6R$fwV2I?4xFf7
+zffLj`44qn2hshbOBzok{%f?%rE?q;Y;F=nJ%QrCaj(3ev(==p>-4jj0NM4~P??c%M
+zFJF#@#hoH&f#1Lk_Nq=u9%Cs~hVp{60>*{yySGVk2C at _xDovT$*fciga^-EQ+2)Gw
+zJbLz~^tp~;Aj65;`X>5|b2>gfa|=5~Y_qD1>b!h1K7 at sIj>YP-w?rIh*2`*5LD{q%
+zM2o}aQECe(#soTpGs$0*i{DL+a?ZOnA!ycDRjip<=v|!0uzMmUeW9XZFj?VUb36C;
+z?g{ed`nam_bzNb4>)fQRUeE5F6Tdgl at Urm2gLf@s&7gV5-ukkk!6&aiRiUN9j?=v$
+z&TnM&(ju_{k%oNW^G8Q=yr{8s_G#08Y}WCLn6cyvV}=%X+zWWUAN=<N0pC9_C1m4r
+z=VY*R)>ayHx4ZK|m>=pxcibstv@#iSczD_PnTpBLha``Bn%Esai?5tArWsU7H#=XZ
+ztGBZx%YQI2)`|O08JvZ4DIdBKQsD^8#c&y2MozR_mSkq;#;#8gGom(tnH+);!C8x9
+z53ea1($JFT=fhoky)KPdVP|Zt6dE$0KE4ceA8NSwq(#@8GR_o<_>x^+jf2syrH3P5
+zYq}%*4xPJS$4uFBaB+~vu}rYe-~S?cbXkKDiT+fh*)&eX at TJq398Zzz*uEl8GFbWm
+z*OcC(Re;#$N|ti4LESv>oD+%<EwhBGkrP|qjS6*R?{<~-ML#+=Nt at E}O=NjBTYi%@
+zs>pn%G5Xzv1Q&BMVlhyq+ZGDq>|B~5xe`>Eo?sLWULF&X7}-54&9J$-)WDl-SvEo$
+z>dB`ohH3}CJyMviizC9+as%DVH34<OXvE_I09&9#P`q8r!5B~+PN<`Q^zrF-LAW5E
+zleSEA*s($$3E#oz=17-j!0g3;iVmO0J@?IJ#$y4(n!e}2j1N}>k!u8shA5RL4s#?~
+zVve-pN3558!DYfz75r2hBT=;yu`!Xoq>OWOG%yjw_$f;tCsuMl=XhR~IodI?Mbpg0
+z4xVuVKc1>1tGohv^XMGb9=5HpSSC-9+yh7|)1bV83FjcG<2LdL8yq#v300D$oY>x4
+z#OxMs+FYA!6J5lt7m_!ci8BU0z|yga3bPIpt8StXTgF3npT<vR!rosWTteK`X`^`a
+zD1JWkT(vQjw;5}9UWH3K`Es65I&-1hM4g*yUhc#ZkOX8~E?jXN#@OwUTy0P(j2zwQ
+zATi!?93IRe2%9Dfzn+hFa<}6)$K_{g+>2q!E>#Jg$3tpWs~*?_cSMHgX{YYy7T^F+
+zV=oV@!tF(Ml^+%(sO2J*l<-f){lRqJC=mYzZH1JVVqAxU#o2{$Z at CYatKJ<nE?vKl
+zr-XcIg0wklS|lP6H)Mi_7`$2ac@}p)FyIUgsSVSH^-~&Yx?4$;<p+Ew>WnYC7IXFz
+zD|@U<aq;@*-O(EH98sQ9A-i+w97*EnV~g>my&c5^W|d?gs at c$Vx|pc2PjN>G7MdiL
+z-)lw3H0L;nrueu!>x6#gryawkWBjtn+eo8F#}uiqDq_92>Z)3o@~{qr^94RXMijh)
+zqq~6~SE8nUY8HvIxfQ7A+i-0F8=1nMfha~HQrJTkLX<auUCFL3<<nh)k=M;32!Lme
+zagU~2X4eY47%*!GLwb`QTS}fY=*FJ2-4F)3QqLK#s1|_$tZ+QYDq#}rl%?GLngg0<
+z8o~>;u{_+bke^$o-ouT9CvR|f9i;4>9IbUsJ`Uh3Go_%YAQ;RfI<II?x?-iMo1W4H
+z7X?*MPBWmbi8`8I?COM!l9yI_7RJ$fd^Itd;sZLGz at _LCUD48?eeAH{cVpz|A<#)c
+zF|M^b{`T}#?7}lSSsI>%fAN7z)z76Kf-F_-lR)2hO+$p;{3wW<Bq;P_2K)qv!q6oL
+zivaz#XjC%+%T#e$KF%Q+J*%=JU9`6<lCq&b4lAeZPW%R(u_W3G%khpdZB`kG%4Wxk
+z#5}sOX7<O-aq5KHDdmvxI!q-Ln%uEmy~8qrA03 at pfQ&49&i1UP{qgii_{7FaleGv^
+zI8(uxNm<*m`s8$r$*zZqWs+rne)JI;D5^GV7Hv`zUdOh(Djxo!r>(ioBTAHLr}a>^
+zC2y<Z{1hxU){u#c=ZeH|HP7n7mKXHfkaNK9ls9R<uDi<U6i5$aaO(P!_)0`XHtcg+
+zUk+RQ5Ndeu%kp(5SEw at V$Z18$nHtQ~DmLXI(v5ym=cr{*K4{8eVHoXl#FG4>+{oVh
+zPW>E(8eIetEbZhj=%Z6+=96Ic$Z|MFS%upGF6XX4pRH}ijC&JIJt4tZiNH3Rd|Gt&
+zd-cUAF(k`e*-}(CDir^5Cpu#03)s=t)EipOZ0Ru?B5&g^<cA at xiUGq|+ysdAt$HwW
+zM7v$*4v`1}$GkX!@*%zJWaL*d{LevBw&!F-#HK#L-ZF%uXNg<$B~w!$H}1)MP<!eK
+z0**co*1MUG0cERB)oDA_Z)GsivB-=x at ySHm*Q=}kc>?mE!<|`jhk9qcS1B^lV|5xh
+zWGi$cQm%uMY0ABlv^~)bOO9T6bBk8kzIuln20%ERUDG@&M<ncG5%3i at g#=PHHx-$y
+zjKtzCyw#Ln)<K?H%1T=U&YOi}<zY3F6S?=R at zR5a=6R%1!ky(dLReB{Sa5TWva34T
+z^MSlz1AOlV6 at d}JHe{{_ztCqDf|t(thJyKV(?xzoX_S+5g6j%o8R at lE49W+GcNao(
+zJ0I6TkQ4c4N=g2Gwx&|9_w0O?Vu^$$M8NLY at 3|>k;M493uC$Z0@(Wfjz+j@;&!cd*
+zmiM at ptOeNqu?e;u%QzD^-bw6q&?PTniDnk<0*%xk4RtnDSLWt$tk01?FxIquaJxff
+zvgA)7YJx83PQTZ>!Twr?9NVg2G)gvCV6G>YPG$&od>_XJ)lp=@BRZY}67%kTbqYkb
+z@%0aE3g)v(EF%n(Fn`Vs^rO?Hb;IK+C?S}4umP?SM;U(}PA4g5(K%=vCD_ktNFLmi
+zBCMt{6I#hEr?8Vdjc!C#LmwbF1^Cm!RKz##15?bhabbfbLeEqR0&;@llRn5dF7>o>
+zd<j*#Xjg7Qva!}OO^e>kPlD?A3Z7=00F$%q)PWC6LF1>L`WAjCTuDEX5KeE*`ncn)
+z4C1K{Oe-96YzMD}gw_HJ1g|O#B_w{KI=Fo_OO<qbi!|5Q@@O&A;N}a>b_if2fX*G5
+z&UJ&P{eDgJmee+4NYYnnA+6sd*7Why$Trs at j+)?@;Cy at q$p-V at hI+0k<dOp)^tnv$
+zJ-%(;BV;=wLp^S9sKAys)CxRtLoh08ZGT#G>uLZZ=BrvEG1P}E9&;ghY at z!aKVSqo
+zyYL%pAc{Wil;|cO;>i<w!9Ebu_tapvgG`<aR-Q#)jLX50?HynjE>}|g2i)VQ2s>_7
+z1X?W!J<J=Gcrmnam_rF%IV5fLl8m#sFZpCHgMKCberUDS at OD1}-4SiGf;;h(>{wV#
+zQjF~!F<|8SJE7`{f|KwuD3pTya1Njh!B=D)8HAu`j=T9lkwS9_wZ|f3uj9ue^*N6h
+zB_Pbzh8~&v^*CrBw$uSeAe4Q`i6hK(5T63WiuAfQq}^f{o)=KNS3-F$@H#RBJYdJF
+ze#Z#;hfacsJ at xHFiEW>?Nv|+DtuQ3nz_*&n-2T>LEL6O(@BNiyq|6wXBAc(}QP-ky
+zZOZ*+`68a2vjfTM^^K5D){m}_5QYWmP)iH610{rM+uF1$Jf*ROj(i at fr&~b+X(jDy
+zg^!RbiCzvL7OlWe*&|$aGXoIe^Y=}My1NE;k#aB5*utDgiMTKBS}t(*CD<>Q-Gh+g
+zidL`o4Y97DRU9j?xDk_}ch4+PFy`R_y;SGB8$k442(||GE<{7o2Om6$W%|#Mbs*12
+zLFa3TnFsX{?}-P^-`)dUchcwh8T}dNq;u`(H)SS0cD)Qo&d at hI8Pqz*a=A~cHBaak
+zy{UHwj&1#4?LeXg9pk>lsZuk7j`IthN|7^+61qEn!m&tcriKY^aqjc+t<Bis^UVP~
+z$X;TYN{I-jSz%(5UKWxW4|A;BQuBTQ#%rHgGZGNxkCF)!F4<+yK>_}Jl`G^K{16{1
+zu_<w3+RvIZ#a5sFm6$P^`8 at CU1w%W02ZVt6-!RN?m@&|sy6iBd;VIGii{L2JHqpRp
+z%5Y?n<@yhpzxFXt>Y1gEmBg=htBQLi6o}8qz&r!o`K1QLl&(~+p`V4ZlMS<o2&ciI
+zrs1fj&EZjq!9E3 at UE=KS+Mv%Xke|v6!Sx<)&arGdn`th>3An_YjQ76}C+37jqfl1w
+z4;Myu3CTf%A|ZgrsW&M%rUJ$xaiOsrpr(dEXHmn>dIT3DQ$`N+XT#nYC);KVo0ZkP
+z$B~pr9hM(Y?Z-{+*FNwkOl|l=9T%65PY~A;$bKXoLcUnqkjL6$kM3@$cyGbegEGla
+ze39L%cK?nY3PT-~mHLeVuOeMzeoSq#pB;Ck5=59oW<}eN)#aHLJV(WG7>p0ywF at R9
+zmT`UB*en>iW(sWV06(;=AtmRxD^H4+KROl@)C){@2uwOhPwC2#aW&tZz`Mdb%1#Is
+zh-^BzM3K4Dj=rKpVF>-mtn!u{W{7q+U6fewEqV)2duhX=-0>>KS>Z`BvNP-p(}zgi
+zbGrH_4Qd)EX__^PyEI`7@={a&<MMGA!pV=;#f`KyYFa9D+A!;~h?4c(v2XLJsYj)$
+zM`4kyxJ^GN3>Z!f6ApyN06o7U5|OJ(TB_Qzajz{=Yw9Pb`PCZ*Mw6>-a(^p7SJ_0V
+znE!Yr36ZZ!%+S*6QpN8su-5?=-bgTiWiPsL#`%=9w$nN=w7KKGgBH}GVa$}C$&-#n
+zh*Zp<J1}n$d1628Ity?!BMEPoT8Y*^y7p<k8~kieofuy05gd2H8pNgru at M^awI3{(
+z!f{OesP4fh$+%_ocnc*3-0JRSy}MVLIksYXGrJMz#<#2RGo^kY)~D5DU;CPxqn$Mp
+zCuqOnf~eGnNW at i<gG&|4W0twK{m(KHz;HhZ>ZT!J3Q-X6eY5;03YJhp at xAe}Q>uYG
+zZ4tjbn~waP_+XU=XyW}hcTR+5nEsJXw at 74pZsechcFs$m>b-qHo2(Q(_bY9?7qet}
+zvtnpIV0YgcQ%>R&Q)2^Zc5-r)(LTO<oB8!fSo-Noeo&urao%B1Dt>1LmrISIKjX6&
+zd!>Op*b6hX_5k940h2ec%W>sVKxaonj+yK}cCj{${gSo2gA{A;fUJB=jLlPOas81N
+zVR0Mu)!QTR<L7JAGL?jCR}zdgdlycgn+Ei4dq+?j-c4E6^cVe6LG%VLMiV35!QLO>
+zM{X!D2=I>%z$m}qtgly=VXuMI_evOBACfQMl9`=uQGB*fcNKagcDy29nPV|`A(LVI
+zqjxeB2V|8E!Jd!YbSi9>s8$8UEv5yE%o``01mTasyG4I6E4ig?xfS=!gA_CK+yYa|
+zQxhg at 6q~CHRK01$R_3D&iQ5BYT^;*|(zbd%N2N!wjX)@lAb3U3n(4n~<0jvmT}ZCx
+z9hTCTqh-sH#VBdN2!qQiH8dt~5l{BU^oHu6f~qLP>nz`KCr9;MuYBHdKGUF6nMqMF
+z%aCo9lejd;WmwS84jV(6mF2|l$6!0jHxCxjA0%c1kz`;EZ55l0H@}0oQlLO0rtJON
+zP}C at t@X4+QFG;aNis at Lar4dk54g%22YT at 5{c9PQb1|`jKzZz0C&PKW at ebYgCfL^9j
+zE at ub>O|o9U$;de{j<1__RGM-}7leBsYNokM>t&g=y<a2D`Gxs?a74Qd-hi}D8106<
+zq5-7})<9G606E%Zg at -PtJ<TqUS2asw2W*zE6E8w?i{<5+ytF=glpMK}3?-8%u@`${
+zH)&$-aBO&*;NtTZw!=6rUbVek4ww4Y6>NkUe}dP#C at wACW;SkF`EF}I!9gnbYMLUg
+zDyL{zav(w)rG9lOcLf4sX!4 at 2jCBoV3-)0{Hi0A~7fjqkZ<qkWq&0ayXvGC8j~iu4
+zekOIjr9AuW2gFh?t~kdrX$O*q%S%9EHijyPin!>QSzcm0M;lcP*d_|oNIQQe%d#v(
+z=WwwcLuYCwQ&}ZK1?yuxBESeU%`=RF{0VKc#EIZKR2=S1<dwKST*Ez3VhwI6%>XF7
+z7WcFdmeQsr%}QVTb94w$k?hd9`7~E at KbSh5cs~yC2;ascyO8jd0eGXWB>HCaLpip>
+zyx|kivuRrzN7ekm_$-QWc%9qIW7yV80x!$(iEf+N(UtyuXRYs=C65`F2vXsMBEpD_
+zPOASMKN9jG?E!tyj!L{pmNVgG8U|3$YqYeKTE;qsG|ihihHaD3(51?Au3*r?iGzPz
+zVdn_6%h2N-ZwpSFQz^gZYXMm6rkkw7+2xQnQe16U^*svd=m at +ej;P4mG2*gXpc#09
+z^gQ)TxHWz6kPA)jj#N7{&;emz<w0`L$>_>926fUZ2+(X<mle}&yF<<P(P;Uw at 1`ee
+zx8$Bcu(a>Uw|O4{3faCWciy-cmT3#Y6Z1MDI~!;UU=3$-=4)=Xe!md~l0(qw+QjcY
+zeLP)98Tw{#p%JE6w~pZ5mg06+zK&vL&AhsWtn?WbT+s90KgFGScn>_)NI1wDS~k_F
+zSTg`=Keeq;)r)}R1-V+?AEqkJ1C)0|Y^(k$;w2Sjmn`>8MQ~5`RI-+<L@*!_eV*mL
+z`q0^`3wXHXBiX&aw)|K}Hz6g_BibvuXb%a(88<)(jmh`tW3c`s;G2B=HP|DM2k5kC
+z0Ain;A@`FweIsb81<yao)IHQi at _A{bSa~JRS$2qGxmh0Rb<0fns6N at fmhEGQKV5E>
+z8|pE-J(cft%>_h+UXBZD^=DmII}3f$Blrjk1$_TysWcKQ=t_9xCGe+8EdENQ*%)_P
+zEh3<b+n~Be#ECT%dxaOZkxg1^o9xfAms9C^U4GZ*klKik!mmd1F?)do$i!XAR$7*x
+zS$deto%eBT=3C#Uoj3I(OTn2vGlB;n#g-jG?aWZe#ew7!=M4)&NA|`t1ZP{#>;`RH
+zV$Lf4=6$7g#F!_=mB@#VO{O*%63pkVTDrCnlcF<*C%pK}<7 at qPO^-AC7;Jcr<MxZk
+z?3g+p0qva5JNxepyn6N?mur;*7D9VI1+K at QqPlt{F$fK^5N_m>fwJQ&G$IYWc(O}$
+zxOIwQvTpd+E%?@p2t^usP+FBuMFx2gDlO3Hrz7<eBgG<l2p$z~j&-~RF;*~*Tk-Fo
+zS33G6$ogj$c at hH=+EI>@l}j`1G7MV{yw}`M%s0w@`{J2}RdbxN+BD!9IZ)T0p-~+0
+zif=awworuhY0uvfVyeTV3w6q2#|{J|B>DJt*Gljt0Ec)8IZ1^5<>^bSE`p;HSx!0i
+zS-s{)r=7)C>lP3(#I$X+QkKEqrY)^VJD`sEBdc?gH{7!f#zEx=pt=F1;hpN&w5d5Q
+zUE}=q$+G6vex^7p!ETCJE5UE+Q)D=A`>)yw!}qc-4VYk<pLcyWg(L at XJqxCa2&;}!
+z+6g23P at 0b3<7Hv{EdicRh<1T}8G)zb^^<J53883{;Es84#`%z$G+;l#1knLF(QM+N
+z9jNPzVNzUAV&5L%ZDO_)wOR_Ul`3`nk%Q$`KMBvKP#K&#9l9*b at p9lRK%4#JdkY#w
+zglj3m9u<!S<rX(Dq=rVE$DZpj(cQ^h`@8Dd4G1<__I+?fEFvJU4~Sh-uFgToGgijI
+z`=eY6E_>hE-33HWIFAMg+Ys~6qRqfN!-%(z6ue6cK!uBNol^s#R1ZvR<-_2IQ$JQ)
+z#Sl3!)J5eegxy*FEth)x0JZk98dbzL_%G?E- at oHHF@9NTF3dt8Q?3c<LX9N5vXS0Y
+z&<9^ihtr2dV*;;I4N)m&d~LF+njaK$vFX|^M&}JXXm4qy)0e683Sf at C(8Ma(Xe99+
+zg*Vy;FF+l2f$R^8xqpimwM&IkC`~NR>;)UW7*Qnehxx8NVSxJ1sa?ZQlvp#GG%R1S
+z0B3an=~iLp2vd6yZ~3}?VZbE<s>z-JhhVM$LRGv?PVR~Mk>INV2Z2X<_=!QL)pQTU
+zX2ClVKL)jhF==q9vYd`sq^azEq-%t{M*J|!iB0@<c^%&EM8Lw+C at MAlnU?Pd$Xoo$
+z-6OZJpG+fFc at 8*iSKbkepWT9_26kPF=bGAg*gv1T>}VE at wf{iZFYQIVJEcceGh*}O
+z?$K%VYy#3gYpmXFZf?%KvG0yn`B>nX#rEi<3#dlluCVVUs{(ie6kaqrpyb=I at OmEK
+zWKwyx;CF*YqDpWzTYAyDHjY{eypZ_>%!XlR1z)_TZ-Z67<1u+cWCdVky+WnaTg>(Q
+zLt&lP6)E~5q?h*v(J!{`(%likR`rFo&_Qe82{5J7Cl>J{*1hhCxWPf^1l%03LW|wf
+z at E?$OshV*~C%MTaNra8_*F*o%BP3tnF)FTq;_}TtRGmrwqM`QPW?8PIezSYg6~<h^
+z+(90JJ+W5_(ahIQ`8AIG3G-qnpm9?osX&0DHkCrh0m+56TfE7fOu2|8BKia0h})(7
+zEJUHe#B8l+<GvAuk8$-%m7N`*xx>*FUs2$8nC5ubT(rMO(Kny+^aN;S*iKDIdpp=i
+zb}n@*F;KWB1In`?<`Y}7d*&Mrc8nhxE4aLx-?p*eZ_ZLCL<k?6F#*xT^N1rB*M`3k
+z>WHo=Z$5b6+}7P6=+)WZhDPc$AB9x5uEEUq9)DSFYyEKVqe(c@^SwuzAPO@>q?Qvt
+zx_Msu4i~p9E=)(4XVH3JK?@TBvZuqc|K~p)iA?y|7iSVp6(M$T{{2^;L&m+ERFjwo
+zD%$%ToAtr9G0=<(sh1BMqDa*sH!D`RZi`IFiBb;oJ0R9a5^N5^jG?{);xX21+*Q_d
+z^{!P&$_T6J!65A{1;7dRw%NN!qrez<6Evk%1K-sEaBIB6tx8-b#VaY7yXPJn<67_y
+z-KU_}1nQT=4Bd6nR1*xug=|o1E9|$&+)@K-xm$ExYQ>&Nxj7cZi-AXTOcgU6%o-d_
+zukY`XzWEOqC_TQ1-wfc`J$iVvF5BEgPb$@g9=_w!-YUCCH7m1!M{Wq?5dos^Rt$P*
+zeq3F)-aLO^*ycKY?sf2V4~b#=eo$v~G at tvBTBcK$;P~mgvV2=WzN=)r0~|FjzlfIE
+zH+SKUKvzi>L6*$Q5m5XxT->96HI><BL44y=etE4P%MkvZXVteFsj9~#PAu6hgbr06
+z=FXi%Y_g$>HBXTa-H*<P-U<uZ26Zc>H7lY~?nJ3pD?^aJiu3lVH+Pv|c{S#Az=;(x
+zCb%LF;j`0Ym^GlV#)>{&4Ww*-Gkg?fW*BE*dr`30>c4?JgW~Tb=o4NeL&dK5l at Fwo
+zQX{1|De)agK+WEtOC*{gc9CF6I&caU_aLLk2kZ<QwwL1Ivw;aNlaO*<3kE7ar?msx
+zH8EdH3WBM>Hob*HD3OQ@$|!^_GFq1|3Bqv9f}fgcxTTpJ?Sq3_2jNx<L_Kqxi1KD5
+z9ri6x2Nl`k(!bjj7IMasK7;xQzMzF&dq3U%#r9q)VcJyR4#<29mzWWmqfGI`vpau|
+zMLYLRdWJ&8Eg>9})VdRLLN2_lFC at Vmz$=o5(sAA04|u~C&l9?y>h;Pwo&-<>XbVMb
+ze#+KP!}Y-i!+iZ^R6dJEY&vS~#|U1XR|D_FU1!a4I!$=M4 at j+7%$w!{k)nH-^2JYq
+z))xwvOEZ~@5oZnS9Mx|H=&?4dEzAemSDIAF7iug@!bs{YOg$NMVd%Z!Oh)z&o$Z%7
+zXI`O#U)A=i7e5#DKWSAmZebs_&S6z;C~2W;VE8UNw+aENW#i!XmNL)BS}HoZx}Obl
+zy-;%3Ux1n~0J>%rP|-ci!j^K$L9L4O%D9)Rr$h5&hattW_z>H!{!A2<g88{un)3RX
+z4qYlZr=owm16I5ifB$iH>{ZTspNdX_2{<c`@=<{eE?Hk-T7edrxk_U)mm#(?-T?@2
+zNh<$%a~oBMP}$OH5Ex?vxFOe{gqjX8Gzw#c(wRWWW%kN4ieMa(CZ at KUx&|BHARW)?
+zr)x}nZ%(_Snw{1iRekd<waPr13weTG>Sh#0nD~2bc2J%|vXD+^>;{dn1X>=so_kct
+zC0c#e`*W$nv|?;c`EytX9ymF)+eV5xaZ8=;F%@|$C?JH|raS|J!^mf at tZ@^yA1Hrz
+z*Z<Q}@T({Oho!&{<Zf>NM^F5({sYp#f`9hinf}ptXEOJ6bq2ZoAM7{(A8eDKEq2?V
+zE%rZTU;*rKZv?26B1?xM0Dwm%008*E$T&LKF?rhAE@@50Z*XF6&1%7Z()-H3Pz=O`
+znka>sHr~X}XP4FjQ<&#8h(ec^ZG9EYK#?gmtCERk=v?qC at EMm=oybv3l0w2tPWyIu
+z&S^MZ%ypum8g(Na72Q91c(!I(VI8F$L@;Tp4{Chx^v3=3tdQnsCd1FP`yKo;%U&c2
+zV~>xMkKdcMH;a|3j&Wcau5+C#fHbb|7!s%rsgmFI(W?<-0~m1(Zh_HWE)QN`ywD2F
+zIOU4ORa5ak2(ABovLY1;Qslc3*U?JQfw$TVDd#%Q%unrS6{(T%0Tr!cV?ga4Ra?%K
+z$|k;F6a*ZTbesBS5Z6m9Gh3JJ^Fmeb8=)_H!g4cNJ|i~@=2S~AKF7+EYnSC3VOkZy
+zA_UFOL(64LlpesdDTcXA1@$ch-`I2x5?)z~bTrDKd!<KXpDgS at +Xd$uGq#MYja>)9
+z5n}9EC)ilgeu})IedDeBdUtsRX{Dv+sxD?jWu*o#icBCY27ai@>3c%gZ=v0vSU}1=
+z_-@=%?6$FZ?}sxJPtv*SdHIUXfI-4LqVH*Jq8+6l4;_os*2DA#{3G*gij1Z}G6EEU
+zn5jnWVf$T9F1pNYKC;?-jfkOSFg@{l1v_4}X1XFNBl93K6dfArjgTwBbpqZJvr5e4
+zTJoun>A4+bZ$I%3+*p7flx(geFUd;!y_)a&rPR&ZPnJ=7hp0Z=AZm(nv5RL($J2K(
+zFFo7rw9RbKjrnxNv8%imy>G3LrRnNgmInvVJ4KjY!PhytWoabdhF(9AjCGhoEgeF)
+z at 7v{>yPN3D%K8K{{q`{9oaZ6p65UnAPB;05`n^u2I1*BuDnVd4+SZSbRMQw2uQwC4
+zqXk#JQ-L3%49+L236}1^CdXSVwYqbQvQEk<IlMnTAu at 7=>4$t!^&G)7x{^H08?>2u
+zd}>=WaLm!kC5wEc9+Az)fi&zbU+9VTiocDloT&%fE{nC4QTe?$ayEtUh>K&Y$^Cp9
+z?|VL6yU<q?84=QLVJic-nv9^4<vz0p77fE8ilS`^&3n$`KL5)J(`_LpXK_R60zZ76
+zZWjXQDEXd!rPNH8`_X=_7hS$q?Kl1V$uL73Cd?pj(Y%FquH+|pu{m1ka0kQzwfoJY
+z#BP$|LohCG`Uw>B1 at l*-dLEPTREZI1x_1>pIG at rltb-!>+f_o;4v*aj!J7t6q|!LL
+z9O^=1tolme3U7SAn2Ow27lm-p0xk41UttQV4SK$R|FYYbf%4 at P%wN)1u3oZ4-e}2)
+zzT;&u&!n)W&+X&`&hLBJZ+<7aA0Odue(nVJKM$_|bw_Y?c5pOzcC|8hL7EtV9|R%-
+z=6rg|>wRQAPzlc|$%)<9{Yl-NG)sxBc+a=bx_U3EWl|M15s_#FDMi}4>1G-!@{+#I
+zEeMBZoOK&3<?o;}vb>+?bEa8kU-{k}ufz4QjGvuS_Xfwf<?$fmJ2QKV5(Bi5vK$yV
+zCd7X?cKuA^XP^QuM1GzB*pvUH{k_ra7x-6{2GRT+|DgSg?dwm4zgnk$nX7(_Ul+dn
+z`SCZa)t^)SPdnCc3H;*xV&H)NyY=e7^L`bY-{Kcf=-+t%v|{~E{(Cdl at AT3j+rN_k
+z-J12U8UJ0u`*R*@r2n#Jzn8z?=kfOi at K18!U&(({4*$E_uY&kn{92M;(!WgQFKYi%
+z9)Fkp`vUp9aA^<}+5aH>&vN<a`u+XQ_NO`y)&Hpe=dGtK2L=602;t`o^=EBg`6&ee
+F{6ErLZD9Za
+
+diff --git a/lib/mcollective/vendor/json/java/lib/jcodings.jar b/lib/mcollective/vendor/json/java/lib/jcodings.jar
+deleted file mode 100644
+index e33fc99c0bc4581ade7f2ad3a7d78a64bd3f054f..0000000000000000000000000000000000000000
+GIT binary patch
+literal 0
+HcmV?d00001
+
+literal 242327
+zcmb5V19WB4vM!uX$4SSwZQHiZj&0i=+qP{dJGO1J!;bamymQWd_w;-3j`6Rt*4k@~
+zUA5PkyS}Pf_05{{Qr|(Kfc|m(f}-I0Ul0GfL4JM8h$sutNXUxP$^T0X0x0xLtV!UO
+zsPyaW-(MH<e;1Pxkd+V>QBtOr5jBosfCkXRi$3yy^ha?jmj?>5ofqP>|Ekc=sK_ps
+zXe%82 at LUfkZ|#Qb9_Gs34;Pf4BKGeZ*KZSVS`&BQk3NWqNzS(Ro6cQSg&;~JzG7No
+zR^NhvU5T5gv|SwvQ(J=W at t1fwV(6|xJ2hq at cX2i>BSm9?4LBH>RRnvjV!NpRX5x+q
+z2?b;1r_G at NVLk5_rr!pih)Y?60<lro|Gd3#JG)Z22>tJo0sXI$eGTTn4v?=WTL;ts
+z8vFk#@#9|-7KXM)<~F8||AQ#n-=fBDhQ at YI=C(Hff0PVuZ5*8pY at Gi4oBp;N>fdj2
+zv@<p|H!(N-A6|s`w~n)uxz+z5kMy^^fuo_h`TwAR^0$JsjrrG~X8d0&{{)spU}>fG
+zHy|J+U?3o(zg2_`9F0Y7t&D`e^dy{&t!WLd3>+Q3<<}*F6_9m?(>gO+n8&rcPWdIK
+zMeqv%y`}yH{&4*YaIB0|z3gD#s&I&ZX2Aa_%<>w_ at eKGoFLhTnt?F&#<p9~tNE3!j
+z0*kRH*wN-;3ekjc3N`S}RT(^v&JFj2OI^vnEa_W4kYC)>H1Pe at 2NM!~+_3K5)E~>r
+zk{4Gs_%*5b-2f_O1)znSN{Jz4Bq}t^wcZryN!bEpXwq1sywvZo)TqO-W_<+kJ#Y+V
+z1fAEiGad8R8tRc?acgdA%s+jum`YEyc5V87;zb3P-H at m#iqF~tGaA-%hxSu{yliee
+z<ebHK*W74UoG920(;N~5n`z-w#bji3HoAXP#gtnwLZmmhaZO2k4zj=r6a{4f9$Y9O
+zA0mE43VP4|6!F7Im~S(Vbp+vv!l6{H=u_Aee7 at XMxN!|P+@&e>1(gy7V*CJjp{zmR
+zMP{yzKdv((aS`_Jk0k$y;x2By#Ig8DVT<6ZL#g}A_kTOfKdt2h`YYk+%LgPdfq-!S
+zww8#^Kb=BY at Sk={QuowPP)X)Hwv?0=^7C**bw at 6o0nU?|E2h9-OAhdF#y9T^*A&89
+z=TH9`Pxu6)w*!rgGWhttj|~cnJm3i!)LGOtGix;~%h|>BxQ>hI^75iJ#{D<Pb9W-$
+zuZEZDD_7s+Eyt_2N3QK>8;7^)8ayx{I-iRGr0X79c359>_$Q*i9PL`9kBb1qYc#R|
+zbOgvB82;`-u!mlNZ$Ywxgw*&>2(ZLXNU((1((FOCvDYwyq}Y<|k#_965P-O#0*D9*
+zF{Eq>_7FSjU3S1t&|nY}1Q}ws2zyv<kR9VLGC&c)2q+7hhbTevfG~wmMpA|Mfb<UX
+z0Z0NU0YC;U2C=mvcBH%1fYl&Vq$vXK&}(ggCV&&*@xzza;QKB&;5q0RAp`;qo|f2(
+z*ox4KR9m<;_1X(S5 at Y~C1*igwg2o}}@U4hCW9>M0MS{?fbOl#r-6#x#>_82`4af`<
+zuNeWf02=`Mt|UMu$R2<T05PE3wE&DmCInFcm<{lDF#%K%%ZSxPo$=R{fC|VOg3jb?
+zPQZN-7DNqMr~kDmAOpgdbVIx~>>3rI1!+svnRN{dm<-Z_xFYV9!rN3O+mdmMfyV9i
+z)Y%!ZzSX|r1-wGGAo1oFgQMWi^}(H=a_<d at LE;g4WnM!9$RJ(ec|}?i?9g`SgQnqm
+zrJk^N?}F&yyTw~Gu1NqXkdN?}BwoSSDgf`GS4cScZqX;sT>$_a1RMe`sn>j%7;|)s
+zQ&&sYQ#8`H$cU|YVZu55MxHQXdS#55Vwo9KUt2yMs at yOlgis1wb!25&;xJKI^{pKz
+zhLqDJVvBe=5vmaS_DaSDrQYi7I>m#syAZ%?vMM7nO-&S4m?mR_lgHIbj}w)yCZ;ey
+zPna at Yd~mLgWwzb<)a<NNyj)ACzph%CcrzuEkl7o0dG%9H-qFa$lo&U{sF_pWg&IL>
+zT402VMk{=$^y+uweF*aq;_Oj(Hp;A#l#z%w^~TCNLKs~Xv0*t)0nsK-0!Mhajflo*
+zU49E24fqC%3|l65I7X52_9Z>4H&v*u0|;$cDXS;c)RdVRcRm?U(Vq&qw~FKm1rkD@
+zv_KA-0GKh}2Wd$OK;_H~eB_~XI!`+_ at I9%aPMt6@?X+fw^HHjRMnh6Y^@LqT13rch
+zPK>kgTz&n##rUZvjitPgsh(Vn8!X?XF7qwHlFj)9H5y!^(NJs<a|e;lVIbAUddkJG
+zsfg1+T!&i-)00G-C#<JDtPiDKrKjx3>L1IYg4y~yrGrsdy9#W${f`JkAB)F3Ay)vh
+z_yFg;qcsw1n<uoVv{HE;rJ|m-A9|%@HG0&5Mpa88n8o*yGs<~=``U8AMJ<b$Y7Cv_
+z2yE3DW;snDi#ff#0VeP&2e9t=&Ln1~#P?N+?>^%@)0mVrLdHw_G*~0FSP<$V{7dqN
+z7(tukKf|WBs1$K)YADIy?<1;)-Z*V#<T1Z{65`y?3b*Icty-2D*%ISK5K}kNVnj%Z
+zjv%41 at L@z%$D0yQ%8M!2=gl|Lo&Ht;S8K*dP<9A6JB=QYc9ha{P@!J54qs9k{goIj
+zoyy_?h;E<pTAjXD*1ToFl_}!RyC#gO0UX~^t5fs-*h{=+zBdOu6no`dV9(8K;+>bm
+z2rLmx&`i%xs$jA<ecz+BjoLQ#pw|BBZYK1DW}I5cx1gKDk(Re-`BouN33lwbh8eDF
+zh|V;Vt;Z%WGm3_v?G5}*HXm8ZcO=m29XE$#D?T4e7&K6Y1-It(XcX%8?$$UbWwX!J
+z_4<%g*$9Wy3f8A1aC=F?{HnCkS$UPK+zRKLrx?ELZ+ at 5Gev^4?m-1QXJJXyihEQub
+z0d24<8sMJdEH0r+w_S|q`o9;r_o2>L?<*2?wlZlIrjq4Xkgm(5T(<O^?gdqkC(fqr
+z?~lP0vwjq=T`H#S$1`cE$f_lEQN_+1cfBmWh|*~zLwOLl;p~Fu)%yJDFia_0XZrnd
+z^1cPCN@#iJR7mYP#9d1<SBGEE8UL&JfTo}_{w6J)x_GH}*aEiN8a8x|?s~fPkDDcM
+zy at zhDqM^BUTFJDAZWq6bh=_>qxaB>lb8 at n~fSi(bS5PWLnzgB=_sV{SB|Z4aRAU;0
+z>I2q$cf!z6f~a-+vF8}{fpb6Hp9ID9yWhX6zfRd<52V99Vb1i0X~QML$J&eIW_Cn5
+zQKGE#@PyfFb;%)T)M;9YiP`DJX=I<{A-L<-#7bdX`|_HCj at E63P=dr2()gImWofdO
+zpbz_{l*e<lAtWfg_FcoLXsizjK8xTIpQNV5q4r7(6$(0Gfnq1kB&G7qCDKD_4CJM=
+z5*AwZ-4>N7mzpYTD!$*%DNUQIOl#IxMjchajcV&_0$LqMMzSsIdH|Q2W!g6v1#>hN
+zm%Or)(;nhi%tp-+Rhg99q(<0DZkEOgrup%)#-Wf(hV?Ph^yUTD`wTtwdj#);kepsP
+z1W}*KERy3k8qGS!HG)UYc&$R`bBDy_)8Djm)DT3HDa%PL*_^tz_Z6>mj)tR=cj6d-
+z78yK*G75Qo-(f5IZ=F%P!jnVBk^vykG~R+f`dqz5qog!*(8<^2U4`EOk44tKrun|H
+z1v+!d&{;b%1AAzqyKiN$-}I(np0xy0=zG%`-_f7A%-bdft_`1FClvWcWp|z!nGkP9
+z at qi5B4(bf?4z2>fiS at Rj{eoVx2h!%2ADs+z%PsFK#smbaproI{&?*lWV~$l?q?U!;
+z(H9{UV~!Ffil&wS5<4B4E#^!RtH3lYuj3Y7WLJthwl5EtVeyYpkzroc;8s{9R!X`i
+zR!NXy2_~zcWKqFLDNna3H|JJabW(DcPB&0&lRzPLm$^+lU at My|q)Y%NRdJL*uG~#4
+zH at UG=F{NsAhs~)v!&b@~Zz?}))itMOBcEh4?~c!y-j6K at 1=lBFqik!H7 at eHlD6~MJ
+zQ{~hfos at d=QZcYmuuyThQ?yZOilmdb*oRI^z7vr|yCaeOEosx8xUM4N7OWT=pTX58
+zq>@Odbf)Ow$mUuWej{0=B54zSN2$V-DSvjjD49al#$m1)o?s#Em@|h-!lu_}sa$pF
+zEU9*@BB^%ABDs9)EP3u8ICuZ`tNt}=&IJ-|X+s&$q$*hM33D{0n-+7{9zHEpZBMXU
+zm5m~!ldiX at Dy}!GMIFz$MV{^%bKYJ(vE3 at AwkWuvg^gVJaQXBw?Fa8?Az|==jOvgm
+zwNT{*u#UOlnE2nKW}pq!f1m*l;SqXl#KTB_Smwf2BXlBE`>pHKSOq)R;#3C>?@+FQ
+zs`W?Ay;5pJ+x9wN!&as+)(MOO?r*!dfIjhc`9d>x*z6kKGS?w|{bbB~Y1DyQeiCei
+z5be5PgS+ZOS`D4ng1+04O$Bw-qBifj+p*CGc-m2HM4<JvUIe|`p=`uRtVEyheA9-5
+z+Y at zzVC(O9qvH;M>nnI-=MItU-*3gr?)APV#tp!EqU8=I(<k$R>bMrWX7+)d-l5yk
+zc%$JC?Fl`;iMbAl1E<5JU9rymMu$<bV{FKM!9d!t+yA`=J?Xlf0r~;Mxpo_(@0%e*
+zrwMi7a+K6gE<!L{Bs(^vqTNa>;ubS&FM=Ubr?HiPOO*9>^bLKd<%Qp4<nd1FLb>6P
+z<#o3`2rqqfpZ&feyMY%N9wuK%Ok at sVc!+M7YY6RHXJ6`R;0ehq{n+p7 at JG<qF at smK
+z8Zk+exa^%{nYX6!uu*vdvJizIopBB;j6BtmR`6rV-c3x&-HK1Sm_U!1zb-+gU{>;3
+z1{t?=Ir0jrhFQDvY61NdKKINJoaDXFi3|%ai0OLc`}H-i+kp{_Y1zJCAU+;=zZo{L
+z at oi&MIa&r2fKN)5zxW>7e6$2iawp}Q>V|e^`&1RA!#LS%H^jUdqHv1MGg`xdn^UHL
+z2FUbmC>*;P9<M<Vxq^(W)qW>&Cq&Y&KNmi<-wpd4Nql&N9rDCrzI1NV5dbj~!|eN8
+z1<Fa=^|^Fzusn(Rdze+JaPz%Z9S89f-Af=JerSawvv2>-okM^xw`aEqERX&wz{hQm
+zxdWZ31D&b^ovZ_$u7f;TN7|1x(`;RY=`Euv;^;#s=*5+x#23x@`f7>xproQHB8hQn
+zgjAqlfa$lB1pTCB0GV6 at 2nph@kwgGRJV;Smsc0&brbMjwABXi>U$07Mu0b^<7mKaR
+zSx^1p-M1$sdQr>*97}If4%&MhzY-gejr){od%6quwo8ajmgGPzssrV*LuIe}=AKVY
+zgI<km&nHI5s;8QZa79>b4`H`PyDfs1Rno_ByNp1#ko8-4wN`5&@P2DqAI=R?sNnBz
+z#kmPN2*lYm>b=uY?X9YI_<Uq1M;?6wZ=E~(J_2^)V9*@IZlYjmXwa~SXrQ6?5j%EU
+zH0%L%@YthtkkNb4pb<~TeY0M1J87L_b})K`?8%Q%(fcR?`_CwSKf9&vfO{y}<J6$C
+z2VX(R>;-Fs9-(EA76X)?{PZavA(L+`1C-pec9?y1>^SvEPIdzWn4U2E9DIao18R`|
+z+!6 at j;i3My%Lqv76sQefh6Zy>&}YFzfVnm4!}O7|Beg}z9JGa=I&uY>K5_*;zUB!y
+zzV-|_zGdyx<fT*}euQ4S^A2#>gtv-qNE-Hrk8U#mc at g^fD5x8~<^#lg@(Gf at iqCeH
+z_3H@=^NCfq|M9 at ku-Dg=@yK_lVB%is^5ORM1wQ-(?mr8}DYS+r^siE${5ud3_TL5K
+zKgxJT0~=H0f7XZ2 at iMlE0_ek^{Zq8b&5b`>_%)bC3u-B`^y<-QNG&kM<q=tUR-mCb
+z0f-wc{7FyN#H8AtZj3iOt51*%aE9;Gjk|?hX{Oo7qjwJ(t9ZWMKHu%IWWm6~%`XZS
+z5NmOT?U}2f(UZ=){k$@<Lx8cW$YFDEdM-ouQv_Uv<*JkZ1kC!-M<;q8CC&>lBak=7
+z+izn%#P^e5%5kggxx+v9zXG4n7GluhSgCQCu~yW83`BN}zKh~J^NTz<nHnZ`7O)i?
+z!ry}fn<wQdRUVv}A<BX>(#7xF(``g7z^oeIuhF|<RSE!*S3Vwvfioyaux78<HVsxX
+z_81jA;qNivDKqBs4{wmUWgejiOerY}DQJFg3~`J#%>z~9_d9}CtQExfG{kaZ4OLq%
+zoEhtJHfQc*8jE#5PR3hiIGDIt;MGZ1HFWT=v3j?$KmSfV9!b&`n=&eS_-5Yb$IMIf
+z+R?7&uNsHrva;9*Ha4<PSiOU213yyW0<Lx+=`4DP(GyKgb|@UVwb1$_vm|CYhUcKP
+z2>lrXtrVm31zu~Ru(*D@)Mr+esWGZutNeK`xm%-ol7liaeB42MT~WJ8iBZbsEPUd2
+za&UCIzCD0un1-rx?sJ#2vAj{IxqFnr7NIHReBk!!bL;TdUap at 7UFCp;oSjAA6LR?o
+z$@u=Rk;NqZyljX$b$%u_{yxV{`u at nBM`ZVJg6O011QQMj$nT3C!ulIg|E3)N38*M_
+zNH;7o6d$7B79{RCQZC5DYG<wXKgT69SqFJ8NO^yfSy+=rZDPw1#1%Dlg;7(?amuhu
+z`U4fsAVMK4=0cj6<$;jXxB&Y%Z>VvMdvA-iU18mAU6^&MF13E}PESltyl#I+doxu`
+zzde4B`POS($qJ#?mmpB;Hw{|*%*~>gdla$Y6_!q?bcf8Mmv>ar_-rWv(YJhhgC+1p
+z>J=fny|lx{{H_!5mJPOD62&*O6N>pZ0>=jnV0?m<c~4BwQMkJUdIR>6C at 3j=Mq%kG
+zK4M#VOHSWbxbw95;Ge|%eogko#Ns=<QzKv&K=yvkcJ_H0>MQ>_jsFJyQPt<m{8WQy
+z5?K4qXV28HArdq#)SadHDXp9#XNVchW4gII>(wx at qy5ED3%wRSa4uV#({^xvsoKqA
+z?s{qu?>kFenzR-SFp^38ws?%jK65l4O{6o^wka-4e8(g)PkqMILTnnY6vpN-b)dh=
+zQH!*!G`1l;>z&SXkokiVX}$e8w#06Ee6*bY@#^wqFCXr7%%f5KQ)T*Tp*?a5n5XO2
+zRm_hELZ=oqA~d6&bNcz>rm()-;*Y=^qMIdUZk{DhqeFRfPihyXJKCTogRz&%Mh12c
+zhMxx^``UW$zN83pzr&BEJx~+ES!|9llpjnT46DGA(ufHUwLIq^O0x=S6@%7w786`(
+zY}Erds(+2+uH~`*J}=&~HNMaQlgdcnY<!CBPq<O;hOl at Y5g;;XVk_uajAXGnIC4ZD
+zhv}4=MA!ICH5jxCwJ-#=kW^ygz;VSF$2T=nG9i at xRzY9`-7Y9o$Y_ozS9rHl<zn_b
+zFR3q*g*k1~#34EEf+wB6J~>Sy0f!=vK~jm$eoh|R16s@=O;$^KtOo=DHu08g4=o~h
+zNt}#C6t)`)LBq%x!t|Xe%m;E}7udmH*pOVRfrNYwX&TErO*y_#GCjxkC$+V8KMT=v
+zv=lKyJ>z?tRwTAW7&qi#!|Fm^wXy~5>00rMS7voSjd#K+h^xQUANp^EkaaPYW3G5q
+zM*Wym+)JIdydE)zt`m%;Gj%Ad+N72Tm4?Wwf2OYMs1<1#?i$6o%Ve6rrw~(n6$fXH
+zd`CMAKb>yNbI0S%<2H`e)ENy-aIY}s&R#bem^I;pgK)JRn7Cq&MsMq6fNw$EH)Csu
+zX;D6ysJn>(SwyIWNFAe&_+0UfVxID-e`Pq;264$)dWz1p4-)9AvKJ^H5gxtG8b at 0T
+zbPjW2uN=`5ZRW~m527&acZ^WStTTfQ4YjARJv7?vXLzoLJ~t at K#LJW}nn9Mfl{U^S
+zDnHg%U?_1!MFFK^TVe8VCDGO)c*i)R=x0-kQnDUE3x4Ff at ahiJWzN1*7i~G(Teat1
+z^OyK}qo78~!$Bardc%%)(|A~b)u6#}CZW}qNFxO~Dkik*1`xd*YUDObv2dIiQ0YnA
+zCJNzY>fuU|x^+d=qx6hC7b2Q6UoUxRB})-i`5+$M*9e%$7=Ak0U>|95U3F2?;dfm9
+zWgW#+=4c9I8YFQLf7zyCpgUqRvPr~Ua4S5_J+O?s$tFy&5;vOhhm=s7QpiecBm6EP
+z7!G=ioRD>b%I(Gr7g`rDJMJzVr(o`C<wScv$_apaV7#K|HgG`^GPF5<l%r;rSSlhF
+z!R9K=w)?RoZ^D>D|02Dnq?y~3{cuL#`^I?@u*qo^;)26jb{b%V<59XQ9K&GIJYz`5
+z@}0i40Vwih23(5;b- at 4&J0DCXI6O;i{qcl;OmfCUjV=Cx2S$}Afhka6o*Sm17Jn97
+zOKp#ZB&kx)w9>;pe$kb=m~9bD at g8V?^yr;)1B`C2FGvWJYH<~@-i=AdbfodPAKJ+c
+zEpu*{n*}L$X%~ULvY+epMu5Gjjxj4(zhVkdi(>n2Q1>L8xok)OB=+M4`2GI5GLBws
+za=;@isR1hTHB;^ZAcLt at -T<K$Qe;#2M{|Wv{UTDEGuy$ciYiqv2cLeO<e*3aAdFhq
+zm$zHpm#v$nQh$h9F{i;&(f2q+;)?Ji22;8_%)`SMLOCDlvNN(arq!LFd%@*)ugEaP
+zo947xE-2ldR7TUJJgLU2AIsooQC!z%skO7`a=FU*G8A|zjL2!(xc283n69p-JLH}%
+z79z|KJufVH&=H2ierRC6`K7kxWKcy=849X!&ZXX2>8Wb?s0e)&Nzk^2X=cS~e(x!C
+znLIeH=Z6P(32s|RqTpP&amNl%UGAdF0lB0KzrMv>Ar$TJzu7N)wK~A72k8)~>DhH9
+z2SXpT@`n)zUU6q_5xnWHP$+piw}&1*OGORzK$rXO5qt0+$(5_^Ot_}FgXJh6rlYgJ
+zqgtnZlWTOr?3`^km(Oo<E)h^F=D(2*#Ej~OTS&-VrgTi`J|W8etpdvpwZ{BZfMARX
+ztgx0Vmgsp{z2n(-hO;6%%iUW;51LK at L{kg0luxzPC#eo+JriE66VgZ*nqfe+;m1`|
+zJK86U4!l#qi!OS`O!(;b^b7mokjNnn at S{@!-HnKld<8t8rpbBBQJztZbYyV77f#K=
+zSi!SE88vncSW$zYTubseP`(cO(5x!`twc_UqOE*EYSQr7V3av=@>ClTrW?q)&cKMH
+zeZ{Dyc~*t$Au)`bXDEJB8rjT^1e!5>CJS=uKwg>%Md at C?BOpnlLT)C+!Kl&$l-CvH
+z1q*<aQpVFeKQwFalFJP?z!M!GT8ZqCP?Bgo6hL at y5P@IjfJhP-BtdUKwi8^}?*XzL
+z%qCVQR#Js&*z6Ndl7?-CdW{GU)ehdL-y_u4ya?Q^258~$5 at M4tbxy0aE~~JsQ+IBQ
+zqzWLy5WHz_h}GFfP4Pb?$urcV&fA}A9%HpX?D|93TG_gjfVP1WdBG<0O?|V>MI{u}
+zVFCUI{EE<yEPCS(qc)redj%Z)I1sbS5su8wt`&X0&z)bzm|x`*P61;K`%@wR1HPqs
+zo<&@;uBpbwS!GPb4XivoSnrs!b5-R|gyJPRA~=p$*Ul}6fT?yGV6b(JKkW%k>dqZK
+z!mLS^=%#KD>)n^vN5rxLEavVDlRf@=3 at PI_zxQ5sEx5H`75PX<Dr&YQb-lXu#CRZ;
+zXPK*sreKoWE)!MiY>JPqP(Xu_RBQn|vynO3sk_5d1yW<4QtL2fl at LW3xC%7v-jzEm
+zB|>1uZ|$;Z?U%AI-j~vfXfqrao~irI6+)KjsnTGZVR#hnhM?qy@*WAkQjw_Jyfo at 5
+zHb?IIPNol06GpiVx0`i1xrDSrxOtplqC7WRrQbspTCD*k^O;pE#b}El%~kveC*D0&
+zU$#IEP!VemnayVu2xr}@^s+dB!Wl|=W^o0+=$I_65WkViVe!UnkP<MY$`M at +B~c`(
+zSQe{HNt^^FKmy}xaJFu7g}iH3d6yZGgmB-=>4~STGhr~lZ~=FA^eZtzq!L3?139 at K
+zwKcKIQMgF~(IPPjlO#`6qEz9f7(w<|X}74yK~V0Ja>QyOwpy%uaF(I7OSsJB2h{Lm
+zAYc9-!w!XsD~H>vXyhJ>eE%BuMLKZ@>1ee?z2#nJr<YSe!yREqM;J~wTn)<A`1#2@
+ze{;>SX~u6j5m=kYW(t}ntgGOPI<tjYPd_!3iS~vjC=(oB9-wjhA8gqm(gN?TF?qu!
+zCOO&bqOxSK)jZX;Wvh;JrQ<ioU`t`5_xyg={)|iD<EyID)9CG=oa)2Xp+73|)>iPX
+zOt|oeY+_F}!LW94FLyY-k}i)%#lW at u5Y~%`nx(|7(4w#Ryf1 at BGT4wOjCBWY_p2GM
+zwpdYUqRGu}f!Hwgcp6FI6$mYEt%L;{STfy#Xrs(%V!E1YXAozhcxP7Z at m_X1?hff^
+z!g0)uEgq!fupazke)nH=U{J0!)D?4sW3Kv`8G!FlqK4YA0(Vh=TW0$1(!g*Tk|o{(
+zJU!#tdK2|a$R_t!lmuJkKTk-ur|awPtPX*`f<IA&T5^Cc!jEmhG0;O60-mNLp0<uw
+zXtQb_1J?8!fzE94&G4^et2?nbGp_;Pht{zpLSB|v`(cT?^y?LnCk at Q134WS!fQ1XX
+zr2;OkA*#=V9Dvj%NXwP!vMN|=M`ojV(QTp|Lku}r)?BBgv06!UnWCW!X}YlLP3Mb{
+zYISDjBsg0D$wYLSvx#5GXW7DNEj-aToOa&mVlLARoPT>Ig0Xe}e%k at G*$y#-0l7fn
+z_cogzdlc~JCwROb;WNqHd$o8GtvH<)$mut>ePpy;E>wm~>*_==T5(qz!BYXX!d&RN
+z%?Ny%HjHD@(`=DQ&kib*7VK761j#Eq5vW%D%@&9`A)BExT7J_n%`6*!8;$23LVi;n
+zYbtvI4>N at It;6ub4*V`pghJPS>lsl at RJ~3Q<%MR9QaVx3g`2(#DP|p2f`6RKdGwuP
+z4pCuOo#K=3>h6eR`7EV-g|BFMTvzzGapi>ZPyO*vy1KnLC#WK798Ew6q1YGwh>X;$
+zp(L-h`qMjIiZW0{67dy5o`OXsc~HZ_iZL?%f<s;_dG1LIost&1BrG+E>EHiUl)hbD
+zujrvH=KUD`c_KIYdci*F+X2~I0BdkFspySMOM~h&C&CVMl>mT5sAEAcS0U at u6T<&9
+z<Ax|{DX23lf8C1=Vku~kiQ<dvg#g!1w;T77NR(_ at _-rXm{hdB)`5k~|l7U$b+ka7I
+z(E57<827z6&>elM?|$Rrj&ZpfnZIc96a2svHdgVp<1T&@1>o9u#zy0JO$06|Kj+5h
+z#gA_V&+HY`dv+EzILGHG{`w>!H;1-SxU5b6-dOPmya>8I$jR7QoDWp0{JjKU9%oLL
+zPJhf6$1drbAPzcaG-lfpMEjRbklW*Yr_zqlG3x%?sy|XZ-YicwpXyV1 at aN?V=++ at +
+zB`Wmix(GW^Oh1y~(|NwURTq$q=d^$$hvuB%=b>d?n!ocq&9T9IFLL4!UB4fm<8+oB
+z;3<6F&0hO3+WuVG_aMsLRyEqAYVz(Vm3~Ph7C4_Q$v!YdoIjjo?sm$D!Kt{vsh`f~
+z_U(r{<KnFG6wT~v5cb?-Uhm)ZUn3-5^v;Uy8or%1Cw(T1^#H0vWA60sRr#5`fO*3>
+z`A8xgO?fB#Z!s>zr~f8tb_nCQdB1utpuUJ2*1t>Y|J|h`VP$1(YG5T~X5e68=w$35
+z^6&nYe=YCJ%Se5-VerUVn_!nnkI$hhG|r;RfL0~q5AdUJkPD6<KcVMzn(T3i`bud+
+zfWG_rC_9--yVCCUy>lOLyk0&|52N{EEl?*~qqEc7n-N7wW>3V08G==;pTpsL{D$qX
+zLObovdYM%Z>6<{Y?RE<@MsC+B67E&;1h70B=5d|NCiIz&$`3ulta=!Z#9E3O_R0S-
+zBKNpEj+^<;tEf!j88^KcYngW7JE+Ya$F!DrSiy(Vfj8Mihig2?yUF=vF{Z~MBvB1y
+z`hmHNA4A!H at 9P_XZ3RwB9rA+eK&HLON*p4&DaC4!0{6WI&+?2FODJ>R{YN{u5KUYm
+zxljzLd=dXDj&WqCyM~FB5h_J5fn@@Cxp1{X3ZW at zzb@s^yw<o@@i_inq}37<hpQEh
+zLL?*%qN1$WO}Qeep8urHYULMoUB9f+^wohx`Tw?vh=YTzgN(7Gqk*Zh<G)C>1TDD*
+ze&nyNDL{CxHt4}#ZsiWBY7Pr&5sg&BoXwgJjNGIZS7JP4gLwxz!v_Q2+qVz$ee*}b
+z6lyw|9**tIY$nr}$L%XVple88*}ezlPD1(uuIOcM%abjG3R(TWPNU^YR3?O_4eBuA
+zr?lQmN|AJixUBltajNU|UXQxT<}RUvOK&FTO{Ex=VJ?-4WL<w8V65+bja3YyNxiBz
+z=%}>lnsiHc7a^C-)7(-V0>?6Z<1=*(68)@|NBHBk-_o(#gBiZ}6r_ird!+juXt>OC
+z)oUfI`ttx&5ha^brH4{AEBUv8BuB)g7VD}_<im?tpP_q*?HrEq4mvrBaNS{d*|e6P
+zq`vX^pW%$kZ`7TE19uRW7qCeSsSJ(1f}lFC*7LL!;Xblz+(Tji=}`EcT!v!(FwcC$
+zZvj%Qvnu1|gFJ{mTt*fqE$fzEA6o+cYz28SLR_iy!q|IS%<|EHoJAd<&$@@0+R+8+
+z@*4k&;a^k@@#IeI#@~<uTjKfK<`;NtyoAKMf_RVEx9vwdb-|ju3_*RCm;uE|$lt=i
+z+xdP+5fjsHf?Q!2*Tfxp0Xp_C4U|3xA$g?VWw{s;SMmEv(Yi=W at fw(m^vd_BP#6o2
+z5zhzMk1U7ZprG}GS^qdD^m-u=a~s`QgR)=e_3s5W?1YeVM=C~wzUwT;Bh>xTwRJrq
+z=|mFa?O4`EjW5>u+_Ujs at 4grkm{s5t8S<2Y9gqM9A-xXG4rXx!f{Vi?km)79RSu&X
+ziIL)tdMg}Y8fhT$34f~`a2&ZK(dE~rzCpZo2+JX=NpwSTuNt6>U6Shb at 6_0%@!F#g
+zcYVS8Px$(3 at +&lb1r*FL)|dAG4PObHuP9<;VD(oZiHehwTjxg(o?ela{*ibs?#9;u
+z1Y90G5Di5DoD`XFle=1bN{mq?YJwd__Uj|$BelFjoVvaGNuku0lmHq65qi7L(d#I~
+z@%L~^Xb%vqJZx-#I>mXh)ziwKx<UDopm29ZG|C92XBtjJeKeSaMP-w8DV<{pwFBH~
+zA7|NxD_ at xB>AJ{!1|j<rm;NiaRJ&DJx~6dBSF at I>9hLcH{nYY7MX%pmtU>L2Q9+4m
+znrnp->^fqv{wJq+_CxYzMddhK%=4%Q_3|5RB4SF}^zoYHqX~DWhrjxIP&9_tQJ*P+
+z`yYPk7ZkLoslr4My)Bn07-6>!$<dJKIC at KN7YWG;4+mK>fTWnKu?(iHL at IbB-6a^v
+z>SH4nPoydSTyeijwbi04_ck{hB;|f70P07)y*9 at w$O?qBD=Ps}CX?VGoy=p=TRr!G
+zugi{6{$4?gV2Gi#kn}=}O#frW2CQL#zOwBb6=Abfh2HA=Ri8VgR)NqtYV&N%4}%XN
+zlXgPq=)q*Ll`CXGBqF>^)5-l#H?i%ky0H}R1y|^SzBnv>4Cpy*t$1KtvsUp`!6Q|2
+z>)!w%X{KlP`~tw*R}A|f0Pt_R_WuAtpDchMS>&pbzbPLADj>i=31Vny0A~mkBmr{|
+ztUn|QlvEv<#ynzn+CgLw0C!ywX<Ix3OkXEsyWP3L(N%MI|9%6x169JAKLW{t>X1)R
+zlh+I1QHR6TYAl|jMRY#MIF!u9yykDp)xYK*N-$>!o=GrUkMlvF at u&6C?0#rLqG_X>
+z<x)MHW+}pi*sa++L~{H-WT^BC7GfXkt!cW%|2L=TJf!F3wrrF at hTV2c2x1$m|E`r#
+z?WBSV-!-}e*4t*gIh0uABdXn4iPJfZm1K;>dMlIu%=+cT`5l*5WSqvhJ4LGfKrW;N
+zgal*aC)d&T(yQo-rlx{mkgT{iW$F{*DQcBX-pr2y%0-S9E)}R|3Fp<x at Vg?+ks#U&
+zd|C>Ii=Q#*0ZHn$(myNyEKx2-a3rdzXIFwkQiU{=NNe>9H_0Ut){TNbgbDsS;WU6g
+z9l<`MY!i2uh_4Ykj<2K}<y2&kwZRD$9|z%#N-D<dw<8W){cnE!kEYVh7?h*1FEieM
+znUU at P?Z^L>5y(5(+8H}Ix&LL)q`1j{*fV$<*{mu5DKtDBFt)t{ziF;*MsGfcjueH(
+z25SsVG81pka;sh~uKfhWn|L!NuR%_0H9ybQV%nXZ_Wb1K2`=BC9EB|@xs+t3zS1af
+zLO&fqFFu74-k}@H=U6h{pX``1f^U^|xyfWiS5T}^?j}H9o#XL?;L5E)Docd!*8MSi
+zoIh&bgw-6Jp}!7oG<p7}fYjipSm#rI4v4~uc5~Z-58**n<clC_;LBr)5?BS<UTO>T
+zs~T!Z79=E@>C`}&5xLAYpLT1t!vSWXu)O^KZh-&&sl9nRL<Y=*^&etydz8|9t52LK
+z at xD8H0}2Xq4gJ!0&s~@f--)u&f~}Qs%6ccavoXIiy#(3W6Kt?ezcycb5YM8qUgol@
+z4$HHXGB8z9+6nv`3Q`jWF_=NhLh6(i3=geW at K7OiK7$M+8cTI!Bdq>P<l=Joa+oL`
+z at wymfL6H_nEn1V%kvC$s(rSy_(Gd>Pb;J575o+_6C}U)2;EZII!YBjv#et^3R#Ga{
+zO1A-D)>ZzWqqOALGTlE~oBuLuRJ?-aygc&oCz(VBW<f?&*12|*%CQ9(OaNTqXz!0;
+z$<;ut at 2g7bx@S1%it);S41XJgg7W#{NpiD=sWfv_r)+p$wjF;=ePUnMY;XGly9HZA
+zvsf+7)a&oWg$-L+Ythd#+zbpT3EoG+7`MxrIfWi?p-unjwA;fise>W&q?3glGGImx
+zO3H&7ob}>Fya{82T2aCi?MBP=s8fCgm>1?43!eNaaNEm%olRv3qw0S7nLI}B#D{%U
+z?dr?p3F1f at KagQGVu=W`P68M!I+MUeN+-E71rPKOFOBRj3b;2n1qVsL;oGq!#73&z
+zH^Y71>rytZ)R}))WU$@{7;I?~#G0-ZQSVBZ5aCu+%9`mihl9ZSWXC%;pe)(z5u!qE
+z=)D_U$H%|es>CvmV(xIqn%M=H4}5Wor3^b>?_3WZ`d<3*0zCt&g=v*tHPI0bmEPLF
+zq=_5cp*~8kQn`oAgj}Ip8~s#t+PT){qqE)?q${{_Frq4IbzCQvuLGZSSX*R#@d~O{
+z{{mGbTl4vSs3c3Z-z*BPlv=(kJ%2KQQzLx&ImsBxGz}n7Kt9^{omOeOl2i*U$JS^d
+z)EDSK=WLe&aH7pGG>HG-QqKR~b^c$zuIz62uXS6Ug)e5}3kf%ls{lpHr6wB at Em!Nx
+zS6#tg)_G<l!Pu99fz&=m7<T at wo5`MW at K2ym^5N|tDHCxmcN~t8kI*o_A0IC=!d%MB
+zrNwas;*RM$>kjDwK_sPC(PHx&^y%I(A!G`eViNL8wVU2Tf<VsecCf^Xey2~_G;v^<
+zOWB7~Mt(fgc8?_Wew$~kJYm>79?3{}^TeFd7({T5I{j9X$bQl1Q+i6siCmJ|I*5s<
+z&7C2cYI_|VSwdm;!t0IHVJd~#m||Vc+b3xsWN7Y1?T3%?D*?(IMMvyXllDpJ32fD+
+zB8aLg5yaKSs1iHVgMuP^Oxbj(d1Zq?5i<Jn$<ZY2a5FkLN>89jQgTAo5`x2PMok-s
+z$r9*a?6 at OAs?ziVCE%y>!#?-58hIeP!2_Cy61sUIhV`Pw-pg>yYrM-pT~*~pvX?^p
+zN^4qp;qvX06A&l{tY<ij_MuG=WBeUzhcZK<Cq!BYI)PKt)OM97P at b6YFug*aslB3~
+zxxM_K2|K5}AloOrK)c7her)Mi1D4Zldo!fAG|#%)7CbG>t{&#RujsdfuNbyN@#y)2
+zTGE`K5bj{#QlBB;5}z^NGM_=;;-698(w~34B|q!D>0R??yMBKAPmtIy90-Mfg$qhB
+zARvmrCxrhE5_wxkb2q`SD$&x|>0e8+i8_w!%J3oENaIU&L}cN9bFCm|g1t5bA=gnd
+z__F4fc0_0`62Vde$toIQL>Lk_<2q@(DR%wN32Di at 1sivCPei@A-qKoQPOaD79p^m9
+z9BVvtc)ssmc)eH<Ql+~@7<i6W$uj`dVT@=w_9=(VefH_uqo>4urfAq<&}eJetO6}z
+z6f_Rr;}d)Bz1E4k{<?Ad;QpPbfP!iJq<yJqOKiQc+nQhoV;D(wf06(LNY?6znK*{{
+zUB<+Ys;y>s{m>LLBrg4t``4<_dYsSV5mbsThG8Wxqtw%ugaD}{eXEl3WKN%*g-2 at N
+z6AxMS9MQ|xtryn%{yP(Piy1JU<(mmJ%oUh(xpHflhY2hbZz~VkuHPcfhTu^@)^cZ@
+zc-Yo*zpGku!OSJ|6;>T_Rh!z%!GXEJ=Y$BHKP7W)F??4W_-Y&zrOooXSExPoG%)f|
+zP``S~^Q=HgUFya`h+wO-mo!`;6rI*Od!FyDpKkxz5gdBHJm8Mf8P+0fS?c;cS;xi`
+zTUVlwx6hs(DLseEv%q_rj0Q^RJLJ6a>yNg+tZ1Qm&E012y>K_zJ#}7Jm^lJVPIJ2*
+ziB{|Cy2bozp$;E9C42CEA`>Y05(uYwo+=bhv1JxAr)*vVGN(kI0aRA;jMl0kQ=_&;
+zxD!)IclbP%Za-#!7#WO8<1xPgPR;l=@>44L6IkQ#u}^e}z?U7#lR%zz59Y;)lM`5(
+z$-076 at z9E;0pdant&ODMVH at N?FQE;Scg}tW%9j`}F*IvN68WYzTj!5S+XY;?UE(f%
+z7LQ>P>Tr$NmammkDra)lGaz(tP(O^y`Is<Ip$F at +1qlrEj|HAuF8fg~BWU|u_AQbM
+zVo*1 at s{{wHSQ?Waq~s67?J~z6gP{@gwvJejkitX5Ny}h$=ydFg${Y1I)kqZ at v!a2x
+zrqzMn^mulWs!VngYg&7grsn|#W)}OgwE(;5T;sPA#gBQ4&$L8e>O;Pa+ZfZg!AQN)
+zCo;wlM+{$zeZHI<y^$w6(zk at OjT#c7l4NJ0cqgKq<tRY`HX{u-_T{hw#lkVlK}t1|
+z;!@Pn<ORf44d>*_{HZvaig2HxL%rIcrFW0la|o)AQDX$jSD$`GLY26J6_rZr8n2La
+z+k;dc+kx*-k2!E)YI(Deo?4wLX7#kRwG}7z>#eCj5_I|*G0hYQt_?aJ_WxUk_m6#C
+z=5oOeF<*|{{&i9P?a%^tc2 at 2JR#yMsb|dO+WB8B#O8<0eu6x^MUNA5)Auw4NFc%jv
+zSW&R0fq;NaNl`F~AJb-XaygX)^}_F&1D#IZpM{kR2Z)xF^rB$ZJ8yIO2g)rInaZMI
+z8e*|v!<pE}1AEFXZ<)v~bDanA6K~u+vAUvQi*NZ(@0AB{i4&cFetK(%V_<;HRQ)tG
+z(l^ro3G_`ARTRtw3>7}YA4Qyzq4wKfvze!HU=-t5)~fUstZ at Gxmx#0BzblV_ktPaX
+zokw5P)pw>qeBi45BF4p~=39fpp&%J7q`q`nLDTQ2f~YQj2q7 at vF~H_++Hcibo5HYI
+zZ7lWxc=~SyAK`oMN}86D32AJ{-JVw*kDZVEZ|kl=)7QjcpjZqeE6C&f5Do|jB&A%<
+zmalZgl?N8ycU>9|(k)u$ui3v{TAaJe*q)c}z!4A5Y7HgCm#mf<NduD)StgSEvj*2{
+ztvSJqO(Wd8DPDOzsSVm#|FjqRc&-p^w>EN_U$vw4v07?7!vFasq9)+1-Aq4pdCvxs
+zK&x|i!l*dFPlmT(EMVrIFH&x$$X9Q&=WfR)T&QeV!(FCs5NgZJ_7&n7_Bigj_(Nvc
+zv&Pibh3`tVTzS%-jpkKlxQ!Wc1XU#V2GVv|Ps!{dbpmm!?#+I)wq&VwQds@$K{+vy
+zM~FC#$Y_r&pIG~+$8e|bGifb{y<2A&#1~50^pXn^CT;mpWh)o>CMb*?lvCeH7<rdZ
+zf!w4iGE;%^Oif&`6-hABGSU}6P)nT@?18r29_hx9rcXLR8<->xsvJoj9}3(Ip{0y$
+z2B$C(60tSHQ{Gs^&3FQ9`2CrgPlM{|2hA&FIP2n=WL~OjHl4nUL&%I6 at x0^%@+{og
+z#oa}Uc+nwK&^V>PM`>1oKITq+ylP|PoJ3X*wrtHtCCEjE_VS4d4%W&5s>8}|oSH)C
+z(M+p at 89p?PomuTCAkQD%F%%3JarDAVWD6O`rp_Wt+<3Zx-~FBKKc~e<Jrmd=2p}NC
+zuU&C8f1~ZcHs47o$+5GuaOg4qC-|aPT-BG1(ZH`?4FXHI!Q}<uTLOw(AA=gH=OW3@
+z!muGq(Sd=ZC7B*6CmS0NZOq#6Ssux09+x)4J#8HyvmJ8`b*}C|?p}r;``^8N_Ob8V
+zTlL51Q7j`Fnq*Y?kalgoWH6$|qwBws_9ou39D2(H197Sy)W_G9UC{UaM&x9+Q0}o$
+z;k0+ZGAU_`?=UXph!j%{=ns0oi=(3At?<>9)poe-K^x$d9_e|UBeQN`RMeB0azURi
+zEOde0U#|8JsBnI5Wran;$w`_gDpr$JweT>B*+|{EXiWTbc}l_Xxv at p6#A|s*&pSEC
+zG=HZ#qm-YIgfm1%OO>Rn#?8yaROP+BwK?bD<d^$YnRpO6aFFT5Yk8Wq%*2zTyGczV
+zl!F)>yU0dHQf1BQt9|RMtKOjI&|}md&Rg1-vrvj;7M|M6ue5*+%{=%6Sf;iNa6Tuh
+z@;OcOlpV{z&ny6o^rH7TQ#4KMkov3C&Bs$()WIYsHK-GNi;seUBKhMXAL%q_Hsxb7
+z@`f>w8^If8Oi06=mN9ah-(!a5kKjH%$;kr1ZC-6CS2LDq+wA~r+H1dQ!i}z3Ex8Z|
+zKMJy>L^xIPk4mn#-1K3|^Q_~&hAdvXKOdzN=LDs1OG!hLUjF)caf=LIMmOubl^~@!
+zIL&)joxiXj(^3xkUgRO8JUJzD0#yVwe5PP5JarHRNl?5X1%WaIk|gx5V354%FXS<(
+z!_2z=u-mC6re9EkB6;!h8l{BFDEUEVdFk>xZnC8W3&=l%G^f5r{8|&l$*Y!^E2U$G
+z$ApRs8WKcuS69kQo6$BSXhhb8tjhXsiclw*dEGf9YDU$$GhwKUyaq`JNe6ucpc3 at V
+z3%o9$QE-zHht~$23+7*kTo>=4ZXw1SJ+%aXg~7at2BLWt+0m(Q!NP0=BH}1>L6?GX
+zrmXWy;%FX_R}dJ2wggHei1op|g3+;52aw*uK7zgme%IC4+1K4LeDdhTUidK0pL|(I
+zLh2z9Lcs<AJA)v4MRbx#)FBANV0(ZVU>M+L5O5tvukfUtN-T}ai^Pjo451WE7ep6a
+z6I2sy8)Ob}G6<PBWapaKutnvHpmb@@K0bNY;_)r<sd<Mx)Bb&2##hc)c9#X~xe3fe
+zr;K*`9+A}qwd%!#cJge>LpOV;=$!V at Q##(HmshQ<R#tJ}&f=k4Q9aMGRDrdix469!
+zbw+ycdJpH^&@QrBZllyv!L^WeM(f<tF1A^5sq|O at z7W_xo#Vk<h^rb?Dz<2NW`7 at a
+z>8r?7gj!y*$aJQ0pXs67m8+{vSC+C!b*6Hk?xE9_x20 at b*0RWTrgNYDl5***Hx0KC
+zdPa0#_af|F{xSK8h7R`udw%@z$EmHWQ`^SYHf4Qy`0(N0x$XT;`;QKaQvlrw44>UT
+zobMPAh&-wQ!Wch at BC3eO*iUj%4eUXRQ at A1|*)e<&1u&viMi7ET68V67VoAkhL5eZ?
+zAjJ at Z$a-c;r4XV_Mqq?QWBCw9#JEIbh2(ndF@<C?_c5qaehmZ^3aUIrV`Jsw$^gnl
+z6@?^5D22q?U&WOn7Kw`rS+^YAVjACB$Sw0pjbVP0Tjrq}TQ3w>2684kE2Pxpo+&Je
+zd5?ja at vp-FpuoyQFg9c^whACkl$lMe$4FOT6>}UzH4|7xq at mEtLov1_RvOC3GR9UU
+z&k>_E#wt{37I7Uzn+d!X`BP{W>NJ)z6LD+YDTEONGp06^QP0Cj!G#}jt74?&B8)e-
+z94nOOr!9$gORguTHzxe2!0Y=v#r6P@<O`|5GwN1>v>@W)x?4s)5~qTTsOcE(iQp=V
+z4n at N6x6O+;3YQOMF5mR5o{p at Z(5#-4EWXXD?eVG4=q$eesqOWt9P{Jp`a9G0=hu~I
+z$BVZ%mk(|(Up+2gJ}zHhu1_GY&kmQ5$BVbCeeW at Uba4)dKytob at WeodmBXVeYdl6F
+z`XG$(ya{?3!w^GuCSan}IP}p-0J#aXD3c+52u4KR1bd_*FF<T!_$d`5=4Jv!TA#O%
+zY(iMth<C7Lf>`<|sUhPX2CpIS at bLt)v_bJt$~(|*{qBL33ALy2XG}e&?Hw!=%wmRl
+zhO9Jyj0tIK6B7eeCM?hi><NSJLBu02YUA$V#|gM6|Fnq13GPaLp8?4uvdW)FhP(|x
+zmZ`z&<J15`le$hiyk}|u&MVWm3F^2<nxsdXe#RrTHvo0YV^!>9RpMh+{A1OSg-KMW
+zZB?f&jx6K3efX-M;E`IUiBCU<3DFc|hF$bC&T$%_o&RcN#00AL&*nYGh97FFzgx#H
+zdRa`!s+l_M0#~ClCU7@?KJ2kJz`3Trw~k}?@*LsAGWzcEIzqsu_PdQ>_YobD<1!6j
+z2XRD~Oh9Jp%Z~Y!81)FQUNv60iau~ry=Eo6PmTMa8TCZeZ<DNE)nB-ZJakaL>Lk2Z
+zkNdD0^<>m<)2v=KU$}}rbWpu+CcJ+D^d`Jlulz3_<sUqWUwM+>vqya7jC*=`v_XfE
+z6e^-(*5^G{fZl^lO<Zzwt|#_jA#LcaP1cM3Fm0{7n<f!0yc(aUSf$Et7EP+Hla=;M
+zCb`!ubHS!<UT0OQ+B{sg<(f4I7aOq9RxEy~eQ44&E^1Z-H)@(zBxs||T69&(evyES
+zU|J{+D#{gl*3Rh_KQ-S?DwwoUmMsdZrW`=4SXa-m)nu!DS{B`_0~%lYRnc0ZmMj{o
+zXdO`U7g4oz_R51)wXB`fD&jS*8x~QjCC$G!lBu;pEn0+DRokN!FUo4^9G5q$c33$F
+zR at ha!te=spA!z=tTcoKTGizE_ZD|W%u*j*pv{O;7cyDeWSK+9FT{**5J8XKHSAA?N
+z&s`+Y;@K(BR}HnkkFAi@#Hm{(s;0DbUQmr`E6-nK(Bj!GFIOG5zHbx~^uN(G_u3qf
+z)bqbN-i~I!uoVl4L^Ce5Wt(q5VMquMG$Hg>T>E$+e&hSkgeZG$KEeAdAwom=zmygK
+zl at O^Yi!!hZiu{!hEknC09b$lAKN24wFkAZ-!WR+?kf$WG76~>{isaJJ{CEIn2DMa(
+zFAilzk55lf)URB}z5_UAWY`39goX?0v{01NJC9Y{T<+1 at w2xjoK2~(JP0n_GJ_gMv
+z`%k-NzfEy$AHHAe;bn8Z56lZUCL)3&+b6^<q0GUw*T-&a3SgOm<H+XMF&qshOi%#G
+z+RS;Z`7cG;oE4FsJ9<g8Sc#q~gD#d%ErP?_^CzV&Gv>lniK=1?$nxa{3cHvzx3^Xb
+z<uxox*Y&!1;!dTCUneabXT*tHNRSp4%ksi1BxJJ$t5HUs7+VwxOrQ5;pvt1sc!l!J
+zt414Vc^eCsM at 09#C}b&YCW-gTWNxewx1WVs*kYMEM90J*kHL`V#yv3!;|4d-ic);v
+z7Cc;!VUTdFc7g<KhQuE!4rJ4R57A at RQQf3&aCsojMlOD5F>nTnF)OY at +fQU&a4_$+
+zHpLeV62e!(5r1&RFr{Rgu!glcbl*#jvY$7bDs0_!C+BdtAw1QFKE_z(oQg+ZSG at 6A
+zINF-x)YCvt_=Smkj*^}}@*9_V<}vEViSLnH8J9!va8R8_hVpv;;y3!(4M<6(b=yn#
+zZy}Rvd;Dx`hCS>q{-dFEg=`Vuxec=m=KA7U)M*m1GbL`>zzFvQlVf?-jMJFo$Rner
+z361#yrSj`PPoxJfm|-xexn_cxYz>5QW43{SsR{Z2kFdA!YWrQceG3$)xE6PJDDDoy
+z-QA&~#VPJC#ezd|cXurk+zJ#g79_<TF28-&U3Z_g?-?f}BP00(@;>uBpU<4{r+)Ri
+z9`31CcBPh|o+Iu2^tzPmQvR7o1=x^tH5^_qJJc`{t%O$Ih5UJ5vW_%GktRHHPK;su
+zpolc}xCl1-4GPrPTIJ}wMiDodNe#RHqK{HXG#(P}>DR)V5(VEcbgr5Nhn3XVGbSu5
+z<)}okPF(!t=6H%1z^?2V>|;}24oE`W_Dfk&RvHBY$<ZT8daU|iF}<w2W&zB#GWdq9
+z0sK5BLAgkq at S>vq(&(9CD?6>&v0-_d3d1w<1 at 8h_>Ekvdh4F@?OUP+|e)%d&bsg+P
+zDHgS_hGi^InbI)+6@`j1Tab_ZK)Xkg$N#JvZRyU=sYvI#l3rd!o?EhC^ptF_nOaM&
+zKvZRwfy)T7ESZ~(>dBC at 9w|L(DD!7;0}8>oj$IvB*)R<Rc at 86S4TW1keO`{V(4&{R
+z?La!_&W3r{o1s)gr95BJp at 5@V6Hmq-nYKLhMlCM(*y5}+tL7k0$=kyV_a1A<S(G(#
+z<Fq&|`#7;x=4t=W0$03q+^gV=?4-C_T-X_H0Iir~S6D<@B>f)>dq|mU*Edb;vh<`W
+z;)c+VMW}c>?w#9#>n?qt`OWyce&yb!w;zMNxW&%7TAfoR==n at P{W$#|PcbM*FV|Hg
+z!pXaT9bf9Bt3Z^i2z^QdwVLTxaUDi44ps3AOG-r1T;qMLs~oQD*@a_Dn`)iGjh?ZA
+z<V&nlgcvBW<vP-1Ol9iMljYiDOgBZ??nm(1EvtD=4%`RT>~k^fA>$H|&>4$KR(#rk
+zOCMULsh(;YUvc)P`M9arb)i&c7oAmjoXtm4p-pRM+h^F;`ir!35mxlzm;4v=swKRe
+z%15o?T5r at Fi<wrrX&S)8S7q=`XO*ts!uSVVf;g9#i~$&CPsyL at Uv49PyhaVZP(KQ%
+zuJL#0bqb2RcPSX!3#r;icQ8&e5`Ek`LLRd^Hfo9D`@&cokT_v71Y|=SBfE3)-|`xC
+z6Z+#^0BCsgq!jd$!Jd}>-%YoX;Ga$^d{Ts)*=(!HZaNpZ51htfDz<?e)7yS*#nP9@
+zk8Z<6!xQS6(IhFAQ9ACf&a5|t+y+=ky7!CNr~Jyq<UA^LvnrpRK${+yHXDPaT~W&q
+zHXXsA3!0nqJm;#pX5w at rP9)sV?VAx6tuZQM*a{2;w2T`fw7ff0TzNkiN`;^7q#4}L
+zq+Sd$`u<Hji1<B%rPj!B@&{e_eSGrmb|YJ#5I;C)E~8yXy^~u;7^-6%efP0)Zw>{+
+z%v$v7<*Aqu9Ue-}$`f7bq9!6;<2O}5K6AInOFMJ`;rOl^F(s;n*xu<m>(-IAe39s<
+z{{_&AVgASvc3OyAqTMj=Wtd{Rw|HaS9G at 3?>XPdhc$VivAaH_D;(?0Z2`~3jhrfdX
+z6#bkNn>Wh0CRckIb~#5mcaN_ATAE=?_r!ayPK`LARVx6@*E~SIIuU^5&EcML1TGXF
+zOk<S=W==olERdxzQl5V5LC9k|@o*qrXL{v%X}>GItPKn>@%1|2OI77#crVijR}xrm
+z_VF()IRnCcKiU=|cR#!tJ_Agn#Jl$rNMIO(;C3 at I2KdW<*g8xWSnGTe76iO}>`)0j
+zJ=ltV88b#b1c$!iEo?PZHu&_QiT<x at h&qAHeTsD`RS4JlFg(G$`N%vW&H3=seS$8u
+zcJR*mq;7%NW^lid1SN3Yf|Sj;+fdv>DkU&}!PdYm2Uk-d?Bo;Bh?8^leVV~Q5XW{x
+zTn at th1v5thhtPjbfeJ{3lQN?xMCk1MT!+|&d;$+dpx$DQP1s=SQSOrP?QB!^jqob;
+zO7?2>ifJ?TE%mDO%DQ7aU*GvQv^IPj4aI?CLUA|Q{l%a1y~KqX{N=lpp6a|>@377j
+zy%M}?z4E;Dx=f$Syrg}_ebs#BpFsRf{zgxscM9j`=UC at uUI1S$Ux2TXFk3FB7_BI!
+zD5EH?zk#oTudFbmzwA at hoxu6!4#5z6^mMc-b}x%4y}!&;#U1bY at y_KA-w-f*6T6qS
+zhr(a(spjs--FNg}dVf=2ePP;mG0Xsl7x}09JDl^<o#~;xnA*r*%mBt0#i!;w;`7!W
+z=+I_N0Ol*hi^5amUBw;2dF{^TP;bmDrYX)V<BQT$>s`m)Tik=c#GQotXY!w8QI+AJ
+zc7iX3KLB?^&w(Cr-F=LXdtZU~|FIy&9Lu*qd at I2+e(Ns!AKQ+9s~9C!1%B=S&@jJ{
+zwNl&(5dOaQ^}UOK=wd*kf~^UpI(tO1SO0 at u7^Wq-6={j|zAaTh<Mgp7tK2>&En2A^
+z`q%?aD?V+37Oy|{E~i0#HwE%?E}u4TGrTu%H-gX+Ta5Ku#tG*~uA(@qsgzU3{@6{<
+z(v2_hI8!SN&F88LNvpeEfmF!mGcY<`Ru(Ng+R<u0CeC~RtvjiR+JnjKt)toEqJ;Nm
+z!(r~OWodQt&8J#3y}zy0XWKp0*1Bb8Ci>Fc``cO)73HfD9aU*SZmsI;Ne|mRPixf=
+zepfg3l}I!DFV;5J-uVptTzV<?wWo$mB5{}-B6=UIAPS!H%EUWdXD1C<SJ|uW{d3~4
+z^_D1bcn^OLe>YGCj9~`IBu+QG>BgbxbO7Qw!(`G+zGS2<WCvFTh>4UoK~Q{H)n?;N
+z6bmKRsg<6F*>-;n)(u2y!*nRf3shs>_SO{M!xp<;)?vR$A1eB|wuz9*Ph;p@{8|xx
+zAUt9%7Z9+QIwF$sNUi(9WGLsx&NQoCcriYrgA4xve`@jiAZ-wLlW;j--3}%^;cW&u
+z*9Lv*qFY@!&(xb=xAgH+R!#oH+ue5NtZ_df8N>4;ChF27B~n}NXkkQmZwh_=se3t>
+zWlYD(n|?6Ha-NQFyRWVNH@%9YmLjI-m(+bF-s7eitAS5;uN4cc?y*>J5aemM at W(A8
+zlj1Y&l`?p<exyyAgdHIFrK>S at iEh{1>Jgm}Xm-dfW7`ejCnee~lIz6JObnxQEBF$@
+z#%qpRhE@=Rw$2~g0JF|EyHHA9Yh;Ffa%yy?_+!H<9+?}<>M~Y_uFKNPPEOTVFP7df
+z>AWcx8F&DSNnX3>x;Wy!{X2~7`syRiVr&OMnVcJy&ZKiYF1a%0er$96llH(b>R|W%
+z1Zh&4D-O#dLE~^-?b`y##C@%h?#h91ojdF-Ra$l~b at FgjN|%qXT<}V~Bfd6P#l^@b
+z{JeyoN6&(4f2Q>Bt?va<bKND)MCWTJ{c6#X at GM<UyrkU*e!8e>c4_IXm{Va^Z6p}O
+z-A4{>%ySK`k?8ZhCHDYbQLx(#*WB0zwz`TAjr!o&&K&asuEUs+BPu2dr9m0>0-i;v
+zUO_G<{SfMP*!zN at L<Sz*@1a)oj!a2AR~afi*dI}qLrWyN3)&Nzija>aQ45L_DVwml
+z!j`5&@1=<gs%KQ}*xfJ%QF213Bnb*Ce^+JA7#~tz;rbwVhlx%V5lN>dvKrA{;XNRy
+zzwwE9lJPFZE~$ykMyyu^2uN^Y5(B)Fxm!30s8XShVaK7q=4EOWgQo1iDSk7cxgu~5
+z?t!5IekoiOnE at n9idfv}oUb-1n7Fd2e8{u|gauj*IOAbiVJHO}W!NJqyP at ZA9ZWx5
+zVq7ZG#1z_;K`g&N_ll9aMp%|KdRAyIbS{)b)*&L0ZipY`83G3hfk;6HA=HpUh$Unf
+zf&)p0XhP;8+>l0yE94S_sxqo|BO?-^;I|Uwp1Ir5^W)j=TH8HbaNgc8Jg2y)<k?9i
+zudt`)nHZ7<F at zYo=k~lhiv-B!)Uv4&R4l4I5}i=F*WV~z`IbM_+(64G7WN=0?!`R;
+zskyZ}%ZEmei|!B~_mB?t^`g%@t!0Lb&JYjxhz`y5;xnDwvTuui5dZ5yA2pHxZhZN?
+z`Chp?o6FOCaM!U91rJF+IwGb1RsKKxEBs6RYy1oR%X4*mHF|Y=)qAyjHG6df)B>~u
+zGy-%2)C05wGy`;B)!54jRvd5!#Db_Vq@?`rKew`rv4GRb$<8Kjy?pPnutXoqQ3XQ~
+z-Qtm4aH8bL8Kl*h#6Kvqcct*ECpX|bs4vMnD?Z2_^%ca*@>r8D6ja4 at q;N(S#LBQ(
+zi!2nzN|9I#?=T)0idw^BGZ5#)SW{s$691sI#{SNboCL at S#vPZnlU^Z=W6a7&w$|h+
+zb_%yinVik$!Yfa)moEg!30k8z<vT^Cr4WtgJB8__WQ-O$#Vw^c&xALyu4=SM360;_
+zsjk3~G6?;kwx)OcaS}U~VmuSpz}%tXA;mX-cBrxfC&KXU2fa1>)sK_7jTFDFQm`bY
+z^`~eC_Ccia9wfD!LHY3sb$~a#tolBMyf>|^rb$>9gR8ovH}8nrjU40NyA*YFX at Nb8
+z-vI9qObnN53P)0SduFl4B*9-&mMw($+(F_BV$uu|JNV<UxN0T|$Be+f4=H>*vg782
+zvH~Q7jL#k~l0pGVIRT+LVrB>A_6O`OmkAA*h^J45r%!w<_ev*EmM2fe9xq%%0qr at j
+zHbMbmIlXgJrq&1KjtAtn2jswmJhOv5yMx~0sQ~8B#o3_>DXrU|#>YSaZ=uh(v#)TT
+zTj={LzsCUmxch9shXKP{`=5VL{to#D`u2t0mHf=|?B_EW&MVLx6N3w5n{wY=7%Utt
+z2a-EyxFjUAB>TAw#_<aF##ZH0-Dcdk7oHRju?5+lvs{woTIT+|1fzNdd1JA2v2WAv
+zTX%s0gFO3qT?2rhZu{C@<KR9t8#)`VMvfTo54D_)oLO&uS>R)@9B()v2XIGupS5ck
+zJZxk`w$BONb>1iK8U+9JwSmFsK&?+KPdi}!e!x0nVG|_`EEk3vcTIFf+=8t2Mp%A+
+zwSm{+VBYhttc%u<TLgcsGGDS_ZA3o?UF%Id^&!|$f8xrji&}}D1mioIw^%SYepmyY
+z{+c at JL${&#;OeZ4S&3T*lbx8~Sg<!@Jc6EoO_TJ&{9}JbxI_xX4uY{r%;R?$T+x1l
+zcKN5W`;hl(RJclAq6OmS!H*4_hz*-WD^RHwDD?`o>cms!=27qFQTpal>*f(~^JsMQ
+zD0%a!aU;b3=tukL$NK0;{piR1=tuwP$Nu<C@%YT}_)PQo%<}k5_4v&6_)Pcs%=Y+9
+z`DmQ@%r at u0NQbMe`|;tF-AM-b8O6>9J>L{Y`8u%6xAjw_Q)6T%$D18ygUq|V3a+2j
+za1dSvH%=-#P&MgWX5E(e7f&p$Lf~rHj9aI4Y}-2AwtWo!MzxD{h at Gynbkz-<n-=wJ
+z9PFCMbPn1s9GX{j$X&HHD_L6}LMsgnoSPR*jTV<2vZ_UQQ4E}07Y~dC3{LA735;YM
+zo9A`jnz-aDjavk#wT=IAwU}!xnpQ0<Yulq29crt4wkvXV9-XdPb-x&#wk~=a4LiE`
+z>1?`cn^uOjJOov~uSQ>i$klwbbN{6y_9eA!5zFuytSwa?zX~C!`Q9XGQ)$|+xCCjd
+z_TOcasl;h{$f=Yy$Z1+6H{xA_q*SxHEJ|0-w{-AR)ULLrXO%q_m&i7sv(*J$MYRS%
+zw|X0!E&!Y%4kjGhdd?-Y%&e!T%3Lq+|98{NYnKdT at 2yFd;;reE<^Q+^lzi*3)KpZ^
+z{13&r>}@oEP5$P3nORz at 1W}s6W!;LWa5V~3!Kjxa(G at APkXZI%@_ig+<_0P?&W$&K
+z6*~(xSekfFd;XD)YiDblkJlFHtjFh%yN|yQ9`Aj7@}?hM{aQs{me;?@{2^R%N{W^q
+z`<@ZCld4$ct3$+~t)qOuD}zqLq0}tnP-T&1 at EcVTwoK19Rg`Oj<=V at vMf*EVWCNz1
+zco;VryG6cGd#-4S3CmtFMSx3}Sl<WlSAyUrPqPz`-h2Fz4-6n+nuLvhpy*W7sAOd}
+zZOqKil~H}CBw8DNhcs)1BQ=g<3tx(p>T`r{geYduR%_)e*{(*AbruOa at 7-Y1y-d(Z
+zq{PmIda<R%$`e9By=O~6S8M$e1(8gFi?T`%yA~eO63;%54D7YQ{U!B_EN%jiyoG%}
+z-C-P0*fRprg{iw7-lF$`mn)>ZKa<3hW2g2!LT=vy&RB`QO^F%hBAWREm3h46PkRj0
+z_{BvG3f6^Nh at R3hY+RUxX_A;-VyJqM8O8TX<aC5AfklduV71hnY%N@*hnOrI-G at Qz
+zjd7pJdV(<Djfe6Lmv^_b0L!9JGj^EE+h0C?y7LQy1hUg_t{uwptdhp?2x{v8B3_Wg
+zw$*(Ymvqj_Fy6cW>{+6cR*qdLRdkQQ$#YnoasFbKDqEy{HzAqKgypR)Z98|k!!1ir
+ztPq=8DAC#yInWl4VoZBlDK14sT(KPPQ}Fk1p!>s!V}?pTe*GlG2lyd(3A5wb(D*~E
+zD9<waCwT`cx9xhcAX8Oa+5^=SKx9DDUM)yA_QlLNT_vzag<doyn9;x(mCNWX;8+Z2
+zZDK)Bf37HNl51R-+<3x^0DsQlqXWw0lO>#9X;W|QkXdNxqz-Xeyp~;%a{NzDz0b*b
+z4Rdrq$2hXGDJq at 5#{W5jCC3jA$erHAL=FuWK+Iwm1{KcZAx)hxAy#DTVc1GBV8-(E
+z7LFy{Of`==Ft!{Wn?))wjd~*}-2eRjt4Qm at sX=F|bqt<sl8#_pFze6g>?;{UE*fI@
+zbwucFJEPuS?UJ(5-cYQdajG(JhK)WjIp&W=qmf1O2MxPqCnBrley&l9_*Z at hB){;f
+z^Zt2Ynv(O^45y~Cy{}=)pT<%Re!Y+#zP{!lgj|VKSp at Ncpv${hWd}zNwM&<E4jZzj
+z6p6`*`l<;^*iaOXnZy2AW_I4ldH2yN=D5%=u<K`ETgk33<}QwY(YCCl_A8vybDkop
+z<{Ol at IGjc>^o-PI)flezi~Py>J}%hH{$p+J$FV5h#ME;cG4FNav%gC>+IJGWY<v{m
+zIMi>%4)l(mNiCMu^aT^!uJis>f(Rei`=!pV7xzR5aOz!u*jlL=Qj7(VXN8yVjsm|O
+z5E^HA9fS1SiwxFWNk28+6cTR+;vCHNzq<aB1ECda_F5xA(#?Xe`oib6Fir&gAwB!0
+zxk#L&^_lU>1#=$|)#le-n6A0iV>{p at 9OJNj_|$u;cCWa3Cq8pz8qj<;iy3N-{89>P
+zX$(rLNY#FbHhvgmP<FTfCascUgjJ$4S9AS=xsaB9^{>_GNLgN5RnQSp_4gSPM^*{P
+zNUMh8susceG?wq|@GPyPgp5{V_(YZEUX!HsyM@)u$0FlK at wg#QSe*!Ggic)s;1S{>
+z!p)Pqtk&qUg)T!DvTr*o^=C2H8!`Zh8RxN^`)t{~dxsCisySf-FJ^@H^C{78W<Jj1
+z(xpQjA*+=w8n at sHDZX>c!U at mr*TViJC;db!MEq*zn2px;A|mdJ)t{daydoU0sND)=
+z$KRb2h+sH7axb}hG}#t$P=5i$Z3_<_|HiW)FWXBl;{T{yJ>?kezuG{u5;7ONu3T;L
+z_?UfAU;Deor at qHY1N(FW|9GP0*t6j#bV2VXYyp>**M4&D7ZZErRCuF|;MW|Xb!LTJ
+ztP!~)xFx?*8a_|H7DdHxG&#Q at fE?u7sX%DrtdJ#^fMsVN(Hi{JA)EYnT*hQg{)cid
+z){j5wrefk*McU_ejtX3Ry<+qlNsg*5fGV4`<;2Cc_1 at mUU#{?vx^6!nwHeL{->?Z4
+zAB#@PlkfbZUC-QID?F+FDNU2ltxZqr-s+x~&ricb#HCA}QHto)BkNCB=-F~j5+lmj
+z;?e$*@dw{%`A(E<2ggVIG`OTpw6zA_C86TSuY>+SlPp}(R`6pg5OqJ-cSx%abLGU~
+z2_`UKTh$2Ce6P}@(LdSjTW~X;=J%^GvT2f;+cvMMaMR1H`w5BSOY at 4oA)_TrURQ6B
+znoGt>vR?w at wwt(W{<*<cm5g>`KL=_4sm4wi&Q;%0P^r7sn!G90idipLz2RD??iP7K
+zQDDC&G%V6RLO<#<eDLy6+$5b-Z;k3Ut-MlIS*3+D80P&zlrbtFZ*%CqVR<$5Gu=DZ
+zC*w+SW}+%xrq=2=%`RI;Yg8YK;5*_&B*7q>L^O>+(xTugiVtou#u9upq*w3I6VbWE
+zRb6mhf=%-I4&fex{qw~L-x*QhSOo=95Tn6{NTBn7B!LSLe2WFTkPsroBhm+Mo4qGQ
+zmJPy at VB<%Q{lw%=L5>^9nU5I at zuV`vg at Ds1t@fTS$U+U4E+n}hR}E#nkI{??grEXX
+z#zC4ALbS!>B3Sm0JBUCFmb?tsU+sf~I4e at 1AP4F~$O;9LWIjwb%s at Vtv^Wk3Za>)D
+zOjPgP)O*x^eKRb6!vj^-LM*ldr6aD6?3#S$BPJhok at T7p$3t&7R*^gtarUC)LmwZk
+zZjgy2-;C0cwHtMJwuuDaEc20#4_<esiB#)M^_77SX?O01IIxIsHtUGBDPuzsSlBx6
+z>?Y(~AaqE2rLwB%IcI#u=EJwHd^_{)(4-?_LkU`VJCAr6az**T;TI~ZNM4vQPk)$v
+z#rVME7cQ!lS2#USa2Rt%`@rQF)}v at zSUb;mn03Ya at X0TtM`^PVI*)M}aYg;W`5fx6
+zC{~y^&wiMG#r(kg9PY1lI}bg)y+VATevWzp1QhhnZ5~3eFdpb{pG>dBeOJ&qcRr9j
+zOU_Ib=?0tFbhF5IUBH}u_s&A9%7?29iqFT9haIDU|0Th6h&CrqFoWj?w=RLP_3nrQ
+z?&`f94E-UzPl#wf`yt{(2uvS5mjpf`QbRul2jQQ<!hTLOBz}A}_ at 6=MTV5`(gy^z?
+zNoKhGSbu_(`|J`CFC<_H;ZXYZIM8DeKXbqU-piO_Ga%5Kaq$xYV2bn6vSCYt?YFeH
+zVCE$RKrkwBr6DLBI9?L8e}kB|5Et_i7J}cE!8MADfIb9My#LroM1l5E;yq80fEgPI
+zaX$op3s8rd4UZqxh}RXgjg4cZm_EDb25+pOJL`Jb?#62 at HC^a<bbkfwLuo9xJRfs7
+ze1+W+WTMDkNPM(+h0+maqQEy_dAJz+`mrPIbMf-r@!|Cqf)90f)CK at pFnOipL)@M7
+zxp2)MbzK6Q?>VQ_k$m>UbGGy7b4SF6)a{(#m5C2|cb=#?c at f5J#1ZwC`U9a~wx~p2
+zk?L&e5%-n;1BqX5kGN?O`)v9V^Og3)N57mNiOnM5Z0nKGm2u6$w=2H~nCC=)X|a;L
+z8Py}(E7u43=kNY9y(OD7z$5<$(&yY4 at qi++*}Nn6E8Pd;=bRUbS1WM9ES&5!GHFD>
+z2Exk at w7U0~%qyJx(kt%p1L{WQtGCTjKvdYnH~;D?1^Mrj2A4c9QvA;W|GQj{_iK6L
+zedEZh-*&_d|3|s}Kc({NvaOe<H7?>`*Lj|!wwV-tc_kwFISmHZtTd|XYFS4K!&w8o
+zd7czA1&5Eg*=78g*;`~=8{=xnL)|XWZat<3D at LiSr`IT~0^x^4#NJ<`x1LbH%{P#4
+z({=MVy?)E%c`?;@c0}4}MyX^PnQ+>pSr?MHchnM;46udboP^Hla3@>{g-R}8%8k)^
+zXzCprdfNs6AoCDo>lz+^qUkr**A^*hXaXlzMVpmT0vq`Bpcp(n2fTduT`y7oK$Atv
+zvx)}sqV^d~!z8gS3<Ae at x;I`@RmJ^2d6bNJFM+jRAt{2UWviOYWvr)6!6vG^UaF%B
+zmv)7`!eh1V&T&2BQeNLFJ#?L;)^e)(uub_yPUhK^oTDgZlRvK#9-uA|&n*$>Zv2tT
+zr4|lCi2J_%_4VFlJ?L+L|A>!i83%E41ArLm;)BB4Cco78=Sd`egX((TZYAI at q0}m0
+zSg>-BnwL+pZFH?5;b}8~c?Pv)!COgWvgd1 at nLI{%XNy(9Y%_D#EhiG%(!ep{2T#2m
+z0 at tO_Qv$S023XY*i^K8K%Ee>)E1^_C%cdO#?f!Dg+S=a<8YO4<MhJkL>=Vvm%JLGo
+zL at v$oVS7c4BYQ>iBgbgeQh~YY6qxU}<Kkm{#p2lvttH3z%NS(lLYZ?atHg7q*W0uP
+zS#Rvt&yzXcaGAM+74BJr3`=hgH!DqkJwHXY<>qo`?I9}TF9$vg at W^g?G&+B9qy&#v
+z)JV+_MJa9T30W=lha3f6vt`_)jpt~U6TqYVaUl%hBkr=6vGb8SBZuj^=aEC}1Tp5j
+zyxm at YDpr6iACh7vSsoj{F{_sMM>TR^;yD?BJU$siN4=3EKQq>-mcqWlt6Kg&OQNjb
+z@=(qk^Y64$0M^^d`{_M~1As|)-OyWTDA-C~_n6lX%kY@<wpyZA??ZzH?`Zsz__7wy
+z15KR8AotA2E2!Nm_9oTM5;v~g$S at bEzVj2W6aqIWvw+XmR<Y*Bz<a^;+b(Y<+m7G<
+zAMm08?bEY>^~ioo{c`rzJXV~j#<v;Ui7zek7RU8MGO|M!YgF~TD*Z1^c~`Z}wT}|L
+z0ixek=S!;t#&CA>zW>Q=(~`;sR75q#R at X!DYqOO3IzJ<K2)OL at WrUPQQ6SU6;WWWG
+zOQ5&}YR#ZGA(D#A%^<rW*yp1jqGVH$S_OWlz;Qzq5m%i-wF=tE$2deaq9Fbg=ubg#
+zg$O53Mu_y!ar+)2gwl+G5FtDS%Z%o2hh~P$fKb>EV}`~6Q at kavhA`eQv1PV}5D_RP
+z0nd-76<lvd!cRg1Qz6dFj~$CB7gQ+mf&cB?we0`0<;4M${Z2R^-Ah8`Z%|Y|3;@=j
+zgD4y6V?QqDJBgY1DzKC at Xai<U{6ufZc+k<7mdi(e(rlQi_qL4XT!Zz*osHFhNqpFH
+z6s8Lg=1~vB-0-_2r%GJ^IfZ=~yJJmMYV%!>gnekcqfL}+3;x^bJ5`EGh0~VN*dF%3
+zrmE0k&Oej1JL2CX)Q!?unqZ#xe@)Vs8M!0Nt1l1l{l1IJq|g2ToxB~fJ+h{yz!|<H
+z!z<?pbiec-xy at 4Y8H^*jE6WGu=M;Zgu~O3+_9NXZN6~QL;n$Afnxe`>hX>Z at cz@O9
+z8S+Dej`*5V;zQX7>UC+pc~&>(b=iO)V)LhNi0cZTv!+xN)}B_km1h+WRkO<+t5p<a
+zzXC~V-XTttI=M(2VB2FWm(V#&t<B*=^2?h at omGWq;+t?z0rPeQtEqzaf|L2{c66sI
+z-)3@~2qu4Y+mo-Rci4TJEO at qKJ5@!T5f)6`pNAEUL@$v#R1=IvFQq<|H;|7xWH128
+z&A*!NzCQ7i>5p;W=?iD&N=+AYA9-K-`oMH2PW>R5U2#MIN64 at jr_W9t;kmKp$ki6<
+z&Q>1r{&xj)?-sQ8+Iko8fM2>f^REfIcxCv{{HZArn`w3<HCE-DiMx{Pi27V&c&O76
+z_aYrovUY_2HV_+54p at 7nW9f&g?2|qz6`fMO6g}<Q+HU at FC|^kHf8rAR^WS*we{!t>
+zf+co4Z;L(Lx5eK7s8{&+VoyqqlZ%)0KYW^Bh+109_y}9v92|j#XQ;sxRA%tFSl`$&
+z<7o6U>@e5fQO8qZMt2W?x8sTGZY8vgqGh_-;2rsHq4f6qc4KnG7Wn;c>6 at d7(edlq
+zJ at ogt+l>C<;E-BAXH7+!N;<NNhSCcSbzE(RAKhB!+KZannv3 at OgQ$fiGK&pmt8RJ`
+z;~n_g(?zkrmS(jbr9Go2Pt*76R+8sQ>Gr;-m}v~}g|c#sHYQLDE#+QL9}y;Bu(hE-
+z+GHG+v!3YF?PaFm+G>z}Va0J$HW>NDTYhn#v0|?-qQRw^Lu4<YE}$QeYs+V=h-><r
+zCq#9N at a#H=XzF*kS4`bs4?64kNx(2YUYw^5zrp^sqKDN)WA`q%=E>3N$%=}BlKs at _
+z8JM$NvirLx$_QuqOkG<MsFj>NJ!y?(TA<;0yWAyv;Wz7gu8jtru$$6Z`f*=Yo7J}H
+z)9bQ3e;zd)@GMOQifj_a?y>x{`uu*1<fG71IFzP`hJ}r-3r>_;1~|-0tGi5gtvP31
+zX at Z>Ly}}r8qp}(@y#`d+BfHt~NN#BHv?;Q=8H*}%)zOy5Yi3dl*Y;*6ue{K_W~~U)
+z=GE%gS&W2?FvW_J|5jajJ%}qc#BHsx7+)@u-00XcC3ozPQD$Ob$sLJSY_%<tq5Wes
+zFPEN at h#QjUgZQxU^zzslo&|MQogP%izn=!u<^^<H-}%USgo}{&794fzGB#e6lI|vn
+zIUB at 0%EH-MJ)>}+if_}0SIUl)CZuptbtzY-PB`p!7-SePGq-B%b!^F?08fJTv4I3d
+zid#vk>}o*|9(2MuG<=3dzf%wmD8I&itvxz3n8)7QcZ||2WJ&d1uOxy at ZaK7!N(<Yb
+zb>LgBY$p62L`_8*)>mX!)y4-JqravuCpb>Dru>{$XT+<LE6bO3K_l?Pjn?ge6moej
+zRV9q?=<{{iGHfstUJo%(>?Xn2*5nUZ9WHs18Xu9`ffjtN<B(X|RlHdSJh$`i??fuf
+z4v at EXUqupHQPRD;wBM7pZ*}3JZkU4NRR`He2eW|Z05{%`-<p(oj@{;uYUY2;OVPW)
+z{|-vYl?Ce!O+=ncqY!aw8DtCqu>7sn5eP%hZG1r%vFy7)ac!S6-j%$^8BMVY25A5|
+za4d#m#U<nDE)(YfL?tYm at r=`2W&<D>y5RCrEeooQaR9F7 at L?x*luZTKA_xNbP(r5}
+zQ$D$14!M|wa9(F10HjK==0WxrXxRxv9Q9x!fMyBNWlfS2kL?cV7Id58RRTZ%-F~>q
+zW|hM^<Ne5pZ(oz;DmOV-6abMfDgrv{W+BLJ9Q#RH*JLHG=OD?7E=<9i1i(i(IZD;R
+ztx|$GpR8c(!$}07OCI(evf>s1uqFSzvUz)s%J2sS*u29KOC%aXvk5<hs!Dy}t(c}4
+z!;c^;@&4mdIPU#5v`Q{IFETH>(1=lP0>a%sL8zaQdVR1%u#>*S?>+A2{rvvR4}OJg
+z78R`0=y`FVMF*Kh_;06@>}=ZOl^v2VHT=^qM2h~jgW&WRM}79hM_=mWum%$vwlx2!
+zs@~LV4SjZ;^cdzL=pT1x>uyCOR=*x_y{wU=wBz#F at lp)&pC{SwN9Bf97TeZQpUU6v
+zSyinuLPeX5XV{)G--fz(M8EWUi9eYLGrUlcVPnL|4HfPr?5OTc at 38N1p0{~P3Nz+n
+z2jB(ZsK(e1Z4QeKi48Yih-TwV#}Ev~?9iS!c*%4znc&pM at C{|{u%5Sg$#pSr;6P(A
+zh9Y*T&+G4`eVIgY@?zMB(s!88oA1KGx@=d4%ha=ri)nVB*09%qJ4KzHwMfSdryXva
+z50bYAGS|JU>4z&jf3FH)|2x3)K8&N<Y?uWtj59_Y3;aV37pIrw0|!TUKk+=GFGq|7
+zC&2XY at D-dGct?$7p8Sauj^bV8`;<PkP;u~gHEeFAU=Ae-Mz9&u2wD&(SPf~I<wG&&
+zgg6nnK at Go=BxR5VV~>+r93ISpG>8`A0!E7Lt3tx#WR{=>%SR4Xp`~&bQlK=VX!Xa2
+z+kq?8 at ESjA4OXEqayp8C0B5S<G~zD|RDEdXJQgPfcc>9Gk}V8YVO(<(i^GA#XD}PF
+zcm|x%;yAMcNx2ceb6QfuUy{lXJE5S1ZDu}P8p{tlp|5l9_C?*3UG at 2r`&f)f3EI2~
+zl@)9*4nqk#8^_TBCpdERmM|yq`_cX;3ATO2#E2DiAIp{qQ4qPLDd6cSXa(lMl1>8K
+zM(!|j1zFJCBYX;EoR4awdl+rMd`W+NuX*)U?&BYk+nbduraZlAJPlpAyq&qcUAQbg
+zzW;V~&wcfj;q$^G at +#-^;v^CfpDU(2omYAQtv-Mj9zZJ(pl{!656IuaaUc$egC#hS
+zTshE2NMNO$?gGphVyQ*Lw}&_gWzh~6kq9MXLz9N+|016=`YOf-s}I=`D*GaEM{;t6
+z6QVXoPMd!^hX+&kgtiay`)_y=ssaL$honLBfMA6oD-Zw>#5kk{QUrw954nL<z*`5C
+zp&3Ig{u at sI8zlZ4M*bVZAUR+7%cy(sa$T6-JJd*^*@t>eeC!xAta`#vm`Y~I=d4at
+zX#*M-L at d;4gI_J+t0;OxPKOlr6sm%?ha5)fFEV(a@|)|@^bn6Duj_Ju^-ZrK5l1OM
+zbxqb~{2JK(9OgXq$wo*Fh?q_5F(6<;kWKF~2ycO5L~}DhYe8;AcQc5$^UjF2C&F<^
+zqD|%L9bcrBOEN!NYb3Qx7C(w-B>6VmInHlt|M15l_P>Gr2pCbje<S%}5~7m-hVsL!
+zMwxCCof8Yws|=#<pmovsN9Ycb|INIc54&IiLP>y7VIUM12&Do-v4K!7AQS}%WdcG!
+z0-=IHC;|{l2ZZ7Sp`U<IbRd)s2qgnTMS)NlAe0ga#R5V(fly>1lo1Fe0zw6VP<SAe
+z76`=yLV1DExENN`cF9AXu->b7=ktNhr-g8xyR1Be-%OOVER*`{Cw(KznXVlxQE{C-
+z2kwoi#4$VsZjHpm81`%s8;nnCE-SRgr^OXp9TOd^a at zf2x^B&ROseHI5Xd`i6Ak0}
+z#ak`B?~slfbPelNNO+BZenp)YpSycx1(nA7+ at g6!w4%GAu3Q;x`Pm_aK|5T_)BT!S
+zdqZP=eo<BHUf$hQS4>kIP=VO-5XNL$P6mMxYWr)5%q_m%`=NBLr%PXUkq(KfQPIGo
+zSkyGm`B4$7HSKoItR18wvb+e?N=<=;)u?FV(JU$%=M+?=Xw|x13u*UjbT2KEYlX>Q
+z%jyQSD30pxPmVKx>1Il)t*X4*w1vIOqdQckN at a!9${I+}V!Kk~{tKXeMvNcr{f`{!
+zI%iEn?we99c)R5A|DNpQ`%kgx>87=Z5C0eVJ%b0~7oWI%U?{dCZ0Jm93WYomHm{{y
+zEK0H!Qh(wQ4UY^9E*37l%y9HCJUpbxx%ZuV68*AC8{cYuraaOA>h-iP?It{DbwYm&
+z9sC|M(6?F)8=i>cbOy8{%?r;-XX2Bv3TXU at U2clzDKFtAZ$ajB9#rmR at L9=C5DLwT
+zXVat>VQzFiKsQG4fM{}d at EoH4!G|}dqoJR$-eJqRNVQ6dMN7LzPBHbD%A8o}@@36A
+z($z=_ at XKGYmUR6(XG}-sC!SV&8z|~$OeauSR7K%#XQJS5{zbyu!P}mr*2Tr#1X4Wl
+zh(FQ(nGI*DyRNP72jV&{qrjT=Z$HJ0qumNyTzo`CH1afJmU);T+=>^lGAlt1lA=p<
+z#+*fUzpX3KCMG-ilO}ioiqi_6UxTl9qF>zD^p at gOXy@zB`elM()4$9rsh%B1Q>@bz
+zrRYRGn=a4#_FHtcmqwDK87lx~hkMDAg%~r)wWM#msEnDJDy_WqP3lZ3^WyK9aqM_`
+zIH<&-KX4d*>57w=wRji1N;-m;`RP_29Wqq5OB$EmIFU`}7Xy3IGCNmZ?_=K<btamF
+z3q{v8zuA~Cce0G=L>WWm6j)Jk35smAQ_fqHlT(vrH&30PhKHVR5v5eEr1S0gPjybm
+zZ6(AClCE~`V%LT)WUrXg(i`SXtVl4dH at EkR;wBbK3UldVO^9}R5<DjPC at +-{eRt7~
+zt%NWCA->|GsN%}y_+m=42p<T)1(jO at 54hZqvVS{;pMzYuIIV+_j|uS)kez$_LR+iw
+zmZmrZ5}Xf|&NZQAO^Fs$#cOi&!XrFI0v~6Uv5&MZA32}*bRIaLm^NsBC8)gJS_Q&<
+ztbpkjTj+6+wq3u`rpmdVdEPlvK`ye)1eFL{Fpb^*{cGjQ{(%yM@?Pxb@(@uDWJ5rX
+zPq&hUc0ro1|MBPz<&v>_T>m8UY0xQrEw&E1oPx9|)@`m!IwcujLF>z0+ZBp-n8U>s
+z1opjLB)$U at Z<v8(teRmY-cG2Xr12Zm#ZH5C9fqK?>h+^w{u}<Rygcr|U at l4pdHhUN
+z*3dM`=ov+MJOiP^eQf8 at 7D=Ik?iq<g1~+U$RO8T^uZ^E2J-3+(B4#uXX|Fs+z;tt=
+zq63SPrUiK}ahm;C1ao2kAX{kLKIVamjQ<c at ziF(HMYnAz4clbewEv>EA`5Umoeq!=
+z<P3-($l4^5z-Ox)MjBD7juHe9m=*LfT8ATr4XACi7046P;iA$?mb<j7(WRi`{eMBl
+zGpw`J?Vm`u$d+M`r_-gDWPy7U+mz<n93~(N04^Cm9dZIvav0-4;eh3U*7lceWb;f8
+zV=oOaMG&Pht1z`NGZ;4)Czrqk(*)N9+XUZ6fO2<5mt>j6qve4q$HEkK&v$*Fc(uE{
+zr?{uO$8z(!X2U$b1$uP;cyog2!=pPrrFkG!r&EF2WLoBb*pxTPHg_yGx0|py48a!Z
+z)k;V|dQLk&r-z`FUgLWdlLh>n!tyWnul6sj(fIEamTslv$^5;3g1`E5#qob-A2%1p
+z7Q_~>JJu203p*5^mDa01tG8CHEu2Eo-Ag-^)~nCdZz~=bo*^*T`9AU at Rb=W36+aht
+zA;{N7K8hmMx$4su2Md=F_-p9Qi6YKGuQv5lL4j!R+UeytVbK6R(DWPDbtxx(cgV+h
+zh_sz=DIJ(4FRdX<8Qp+Vq2{w)ToqlBvZxl<AXuR}C#HyqZq4(9(J>#vT6v+UD$L*?
+ztg9++HKjhX_#dq6U#!=)S^^i at c?z<8epSLl%7>Z22Fi~bpCqZrrD-%i$y$!n*-5V8
+zDl=vk5dDk!S|OQaG|Y#$R%$8&NT66VH~j#}Fj+e`l{kfbN^zb|Yam@!Z;|^pj(#Y<
+zf<?+GRDfe`>sE3S%$8z2o7zC!q3$8)IbP|4XN_@{e-f3O(mfN?zz3URKU#beB0OH1
+zq`E>NG44<J25X@(JX#`I3!*UA4y%nHyAW6-L^IU><QRuxC;>|&?|on>?!xla+z90w
+zXGzg~P?PZH4%f7?e80y^sNl^kt3Jn$Fuvx3VU7Nk0r>MY<&Ci#7y3fKCyrJ`5-O1b
+zBNR}RBQ`yi2Ry)7y+>TTM?HCxI(Z87cq#CB={$Lo at pv)!c(D))h|1|*m<njk=><=j
+zem<zJyToX{OsKm|X!?f%OK7>=v^?k~xYda7CmertA>Y%BE$$+}eSCU)Jb~Gl5FQl{
+zjR1Wi{2BYx%LbN?1BWxon-GILnIp>keF8@^XGTUaBe>8j#TzYwQ<F2*n<Rl-bqo1l
+zDaC&gT{Z|d9ICta`$WQn!ZEfP8K5!Yhy&2Ux$q^diJ8ez3|Pr4%A1It`yYl2zLw*S
+z;qu0-<*ME0-FNSr>Uvw>^PSUO;%``NjI4o$ydt~_pj at sT5#AV3PUx=RKAdmgzW}dG
+z&b)GI+QxUNZ&All-^gn)6^n)F0K&edlNG)tPUCweP%-~cmO(BXfhq31E!aj_W>D%c
+zux~Ug*!I`BZ at e>@;MbII6e(Eu*O+gdF_`byWYqxKzTt^=&!Fi3w-a0cH-bx!#L9nw
+z(uNnE+p#YEo=7gk)FoCwW*01&ZRS6$u+Num;s4WqA0ylRWk}zqTR7^&1=6Q+>R&Vo
+zTkKE6PHE3AqyC20z0M7r9xK3zlUB`}HQLA1wC9^q|8Lg4ehr)cE6~6bPqiB%nn%*K
+z=lCroSFIZ%x<}IVXO&TZdh1 at zhE4kwXzYon&W#ZL=BD at k4%;Zft!HHIT<DKkE~#E0
+zVWq;u0Qdbtz=LUyeqP3&r{iUk^Cz|4*?r43ry at E))^N*;v~t at gC1=<8OeE*DwS8gU
+zHm?=>mX5x~;bWau2X0*g_NN6M!?x%J2)Cj09+P6_v~zP at C6j@ldF82*ck{!Xj!;`g
+z#iDM@>X<ffbx+G8TTO-IbzHTFD}1%iiUWpjyw2vT1H105fuC)qpV8tB<eTB?K}Cs<
+z*e}RC-R7o;Ssldo=vfH8A?Z#<i%zApJE&5xdg&Jg>5cAscB(8iTAYOt7?SQ*)aW=m
+zyJuJW7*sbdBG>FRKP>9dw=2#-_zZJ)DtdH!*C0H)AN~nZ+O|2AE#|cdW at TvG|5gGN
+z1tdjP at M!O^^i~_az$r}pbxPKEZ)ObH1Q&5D+yDv2UjIYrT`Y2oXS|h#2)u2i{znnY
+zzb(PH#3DBr;6D?Kn#QglwF&*vJL|;llq|{>D5{&|Xer;LVmT||tntKxF&AuzorMbZ
+z)0`WK25bV=dg*kZ;Y=W at yRn|_<>WX&r>+q13ah3Cl=ArncTY}oZy&ukE_)siOar>!
+zxsXC5lHzvI at Oigrd3t8<sDep0;;EvKvHqwhQYs;AB&At|=6QbTqQ|UR_%ylJ-0U9Y
+zs9oEgyw=zqzP5VwM-VaoRMg}2w_l^tsP6KzVNWRyrh$jyXHOY%rD<p6Lr0TAEPh>g
+zLzPpP-m at m<%8erHACMIt*9nJC4Jh&TS<M<&WLr+=rF01r;gOstQ)+tzZ2v>Lal}Sn
+zp%Cm&ATW$UrLsTtxx?8<R7)(V2T4Joq*cAOxLLBX3DSasO5)4LG1A3bxtr2WS80^S
+zSs15du#R!)x=P!jb+cR2Ox+kIc5hnG1<*zt-=*I8)3APGs^m5=<g});lKPzc`tzCf
+zOkX5so5!|TB%J><VH=SY@)%*-mx(?_v`SF)HcAZ&_@%aflxvqWdsrZ7I4O28jk%Uu
+z*Q3|vV_sX_*_q$w*GwiCO5 at b3ugaCp$!jMqdm!eoO$0C9-#peEGb6rYe?IW|>0xXl
+zXQ2FdM?Rd^PXMoAWO{Z)xfUYwW%VoF_y}p*1hPx!cd=qjw-t0&oQ3G$4*lH1VwABs
+z?{n4Bw|M;vg at a-^T#yeKhoAUqwD9JB9zTCHZ495{PDXK_eu`WHRA45&1ZDsfH`#m>
+zr0MWd4v3Bph!zr>cVWQ#bRmNrE_kj_)ieuTrZpI}#R>q%JG7D{tsyRX_3wXd<>%-x
+z at Gh-vOeo`a_h#GrYJ$_pTWXJ}GubijLvg3(n1wIk$nIeho&x3k`*yK64lnPbyd`og
+zxn=w)3&a*>G=BIx-lQU*GLXI4ltJXq at 0cC_GKeZHzJ+J$Sho<&KY#V0m1MQVYQ3vs
+z_ at N~FJMfT+EjdN)dl8A+ToY9V=dH4$;PVrr?>LoWC`X~siYXRTc+-#iM5OZ0d(sil
+zUq4F1+a)BFFWKOEr{=Uc%!PS}rjhbWaKSyw#CSa1kAZt}r<->IxvFedI1gHX-zS-u
+zUj7y`i*q{rYPsy)P0Uajj&aT at IxONFu6!~uMAo8paO=AiGW88~>bXJewlQefR<cx8
+z8eYuIs0>WxM}(M2O0ONj(zQpLH}F4;)s&(1{c at Ei&o(<D7|JcbCO;dO^5?Dy3hVuk
+z?y}yiv5>{LOmfRxNz4D}B>ne4{QoU!;pF(wXE|%F)FXVvzXvmnk21LLhx*>3^_>OI
+z64|QB3JijYSQMqPFzeh&I^SOX_-`NeokBJ@{x=@p&<;~J@)xm<SMTY^6V at 7ce3FL_
+z?<@@_tyB-Sp7?PSypq3#3_C^HTI%1l!6tZ~1C9YqO1~<<)9uYNFf|x7k1raAg@@X@
+zE2;AQ94V&BOwk6UD0l}1OlIRJEzxpP3xB$NBsHhg-V)o0W9J1ZDcF%@eb!jw<ctH1
+z7pNyQxIWWue*iEsP_a at owi){xNPczDuyL{RvGDzx_2+I23I!&PvoG;5b{dS8kLkPr
+z<%9{ErL)G#O$$WqkfAB1`*gHG$;K%q>yjWJlb{?GKPg}0$mra#N at u&X(!8Vjhfzh{
+zK8I at uhnQ}DBKP&1#l1&;j-~QAktw4bdn)ROFX~g{!!qp^zHH;lK{4aCinHTwT79pb
+zNZn(DGDPF+MO`n)%3jdcEWkJ)Mer1cN|drPO8oeEen2p&48-w7fEGKFS0eIqn9`tb
+z!h`L9Afsvjg`){GC(vM9#4CS*9K~c&z2z=P1M|=4aUGqNaY4fsC$$#Gs~mXF9JONK
+zzl=TOIK8ghkLT at IJczzE!V`Ak+*|4D8yw|Eaxu;7)0C?gh4VV4IV#_B&;^5-x6q5+
+zcm|9x>8Zh3Up at _#xtSYf`1+O-!^QTuao-bRl)TeSJh$osNyhT+4&HHv5sAI^lPn+|
+zC*X2Jre&kKUjWD at G@8+jlkYi#0GOKLj1wuA<J|p#$XRz@>~SqKCazS_H~_DNNi(i|
+zYGEs4(aM3dIYSU&TtcR~c_=`DY&noY4tjI5_vNT#?xO66p1 at B7(j0LabO4%5=J^!+
+z5ou1FeLlL(`<(lbdX4}tPGMiy|FX8Nd1wtTwX0@%F`_JYGTzfA*$>hX9Z4I~W!V30
+zvef{g1DKLWinvKL(CCuKECk;=B-jADCB*YNNBx7hRz92ooZZ*2s#4D%GDQKVCFJvY
+zM15#h2%I4qlwdU*Lhfv${#Ywn&cX~%u$~PGcWy=>z>1DDIfD_bW%H3cC!-&1Wy9I{
+zq4MPqN#UH)*BXA+Y<4zGg6NpP)qgD7O{m!L(xWDZ at xm20do^lwqbm0V9AguOxeUQr
+z%hAU}*E<N_8?x;iG at tQXBina$+5 at tTfCQeSBtpZ+JD<NKwCVn)KO?}1L>!jdF+Y#=
+z(h{a4BT$W`AJ*KlKacg&5vI>2V2>miR@$*XkM`2;qBBW<21fD?3!kTX8Fo=`;6bBq
+zhY@$A&Xex+e5pk7@}j1P33imuQ|}CXseAA?qoBhWJ96jAclu9M{&=sHt|@qa1A=;0
+z)sy(d#ErvCOHTET+=eHolW#T#w|@n!Ns!1EFaJB<_^rsJ_bQ;Nt=J=2Hc-u0bOy$S
+zc}Ea2oxk}<Gqa8mAsheEgd-R-5PbeS8wrNUBjj9=$yS&?5{kJ`2ww at to!LV$yNx+R
+z>=B|rNG2c2Mx7yAA1&G(KVk>;vX!6 at t7w)M`W;l9k85Mk5J&V51{8!DN%UR<WSx&@
+zqt6hdk3Mdm7I6XU$BZR{r34jVM(e{cndyW^gHrRcZLG^;_2Dbbbiyh?i}@dI+{@zi
+z;T+7CLNh_l`S>=@WpVn55VNJQ4$yTznT=oMFj@#d*d_Ak6AU&7u{f2DlwHU at HI4bp
+zduL8!39kL=8T3m6y96Q_Mo?S<oDGiraBL_K*p!mAk<o3)34sWto)~2x&H~=d$FbpY
+z8+jt_FnfV9<~)~zy;MDnCxYVyO%@2)pxOnkU>jJp1nYpR3wUj+a>Z1p$!iZ(XD;a>
+z_iKmu$yZO#*H2?UFCIQGH$E at 8A_0gZ0TusP*LgJu(6WQ+nM+&9edE<r&fEL?$@uEY
+z`1)!6>S_J at NhBZ9M)fdi1=Yv=1wO$1CVayN)vx7Q`6 at _M+VoKAD#Twp;7}DU5a#Vh
+z0(rDxi6JvW09p{`kQ$*PT8R0O3!zGEAl8sPp~Ans>)0U9Aw5E+*pM$n|2MZfkZ1 at 1
+zQUC|*4>^I9!9l!3Mx%8566l=dOW3Gpr1h9fI5GcaQ)4Tc;nd at P!kI8btta^!g;y7>
+zhrAZ4U6-Txp)!is*W^=P`rtwJ-sRG{_wjw#hq|C&qX*7Am!B at Z4ez>)M1jmsv at Pe}
+zYxiBGE+M~=`J#*y<xav4hsfHLPr`(TMB9{3BEAj5w5gJWA`Ve{$&-Z34Pki!NW$oc
+zIK31}B5a3{y;QP835FQG6tcs0hlsqCv%~m?1iX~8BRq%Ty;O}tF@|XG<c-2rhw$zI
+zMq%tjymyL55ywLxHlTFS^q-IGJI|jl{XM;UJG(YTHlU)=+rZmzqmLpx&t#YWs$RXN
+zU7Oq+Pyy&|@a?y;$L^hHlS_Y~S8r?ArqBjd1bQ2E`#AdOxAQD|>2K=QTidlMrn66C
+z{lU7GNhqe-xd!JYymViB2k7OXY?U%Bo7vtmHZr1<>D at 8bKcbR(-=QB9*Uf|K)`(7w
+zXpaxE5&87@)H%kzIjI5&HT+SjtmXG at SHsx3WL&+%x?@!`HCb!IJyj{SQH$BVIgW{-
+zT<6F^NV`VkbY}5G#f3t%rY>Lk*JOwEnu|Ak+T$34|7K5rb92vP at +`lBK+v`Ci&sl4
+zJGH#!n at x3Z%a|w at VT{*HEAq7v-LC`REO7KA2<4jvPP(*6U4f$DF0GqTevt+#tI1W{
+zqh91R7AYRrt=R4Gk<~UYS2=_Ty!qNW3yY`~(eiH>KC_oIF)i8~cmJpWY1z76XIAWJ
+z<SZ@{S3DI9mR7cErT#y}omD^_>bhhT+}$+<C%6Z9cWB%lg1fr}cW5-YOOW8M3GNas
+zKyZh~ZJI4-&e=0_?|qv`o+0V_zph#<{-C{jO&Oq4j at as@2%s%vJUD;^6cx1=R>Y}6
+zOSx)kd?`gpK8UOqc)fiC^nCNmqtzB%t~glfB$sTIuTznS$s|8c8)(bjGclYD!^}(w
+zD9pKclw%<IbG$V;pZAYAzr+2{LLO$!T*7BC{r3y_-p%s=EaXXwuy8Z8{VN?&sJa-r
+z`~?C|N!3wR)c_-*VIh{_18u75tUELqLj!`eF$3Rhybsibw6xYC=tU3S5EBh*us)t^
+zJbi+Cg7V5L%XT}sUD>DJQzd<XzhB(f{y>O4zmEmHdl~mX{&uauYr5TC<NpFe5)$mZ
+z>VaI2JJh_|ti#n395;;FF7DM5WZ2<0(IXpm!FoU1-V43M5K6XV8){@OY!uRxhh~O@
+zEs;(c%Cb}3%Y7Lu65Ue7-18`9lz3O$i*;Gu%YK>DE573!ioZjR;J5=Bs<l&s;5<5k
+zg)usT&B)SqwkeCq@#Ai9+tZvyuYm!on0SaWdV89X at H#9s$D{Krf%eF6jk at sz3Cpe2
+z>>v6Q<|0W2PrLUDHv?H0!;WPrI;Ha5*VBt-$5DaDQCf&s5h>WMni&3bBBC}kZgi04
+zSwF<fvqsW-E+k}`$OTltFZ`@j4+&b{ZKs)JQt-lOmBx0BS=Pd?bs~ja at oPb?4;Pao
+zb*dV(HnSWmGmnd$r??o-Gp`w5qxj9=i5J7vpNQjCb9{}tB)2Q`sC at 0}a?&`@mTHif
+z4mVgI%deqr(1>`szfC0GUT3x08fq!&!_bkAvOPU+O`}Dx<k{?;HpD(~neJl8qWAsc
+zWCt!TNx#YS*kE~vU%XDCk=r!yn4?6|ol(X0Tq5;kDQ&cxXWzI?h!@~~78GgfRP525
+z&$*L4Pu^zj{rUck`m#u5Fz35dA4ARWtBaGj?R_=TBX4~|!}Wb^^Sp7xp&X#sq0UIw
+zxSViyA>r!9G#S4l)gskLe-+b`&>GYn)H0^Wq)(z(rJte4)iT%Iq_3xUriV|J<yJJ9
+z$wrM>!%Ej(+juzMtMmwn*yi9>Ewpgj^k4lF+A|!du*S8qAU{1m(?{+L+Tjtc+3p~J
+zxV3uI|JA7fENCNs<Lky}qgjVphf#+WW^-;MZYypxZd;Ejhe2jL?oZqnK<4)T*<(Ho
+z7g&<p_<lZm`gmTM-=tlLhp=k=l2_zTI5^Uu%#I<4yMijH{LugyRiDC24kc&#!ov~E
+z-LML!Ah+4uqdwIsIE%Hu^It08$31g%CH08>IrO4 at LMho{BJCs)B9fuTQ<hP}yP^Ja
+zi=U&G)O1ffiwV|<^BW)ZLs|FFMp>0&V`3F_7!wSz)3S^iYrA}`0qAB*uaMi-Fj|~o
+zg2{`U*HOH=Pn#%_-l7W;yc8#2Q9kp&KPj!ob(dRlTzz*E(#++mv?A?DtQ~cTwNOMj
+z;2PyE%N22mzEF`l5ZZsWkK_2Xsj#o^STcaT$LSdCHNo_|LeI;jh>!6gv5Wxs>W5lY
+zlp*W3>l9Fq7I*ANa<S5fKx1z>tQE<#mPN(f{f|<m&W at ka92`TGPB-!LdIsP{CI_U0
+z+ at _>0U8dwMou))B-O%4RH1AP2v~tT^I<o+MAP&!?Jaq^4(?h*70^Kq~lCbc*5qxWG
+zGVTc3jkPMLPI2ru$((LcP&y?^;v5Jkl)CL{Hr#DC6<2x;7VGx>2`b>-tNNNPt~NWd
+z^Q<a3>l>q^9iZ(mn}T`HCgFD_e*TkLEv@>a#Q^rrn+K%-Zk7kW?r{I()d$dXAk at Hq
+zu5S47Ba&#unoIsYuOnIii*l(d2O8#(+mUwF5qqsoVslkn>il(a-R}fb-nS-5P?mQe
+z%<*!4b019y*`i@(U>&Hk^Z1h2sYyJx0y{6dk=k8zHGOWX8&c(2nKP#NZ?c at bF8!}j
+zd2jsSfAwi18S=qF(%QEmd5oN1ochYNA3k21ybt*CZXyo$oVj|q>(g7^v|TmgoB`)V
+zuTGR158)u-g}ubZw4dqYS16KnJkkt>X!&buOxzM!COx7I5>g_30%8ob1?U6V%NFAw
+zqbXElM~T}-(qxlgC4Du^srK|dce}*;67_J-u6}-ObJ2e{$(aJokZDjv04G4CV=jv0
+zERMzoW)p0c9l6vjDb_EX^-1PEV0*dhhp}bxz(&(fX56-faf_oBT^4oShUx3d>{w)=
+z_^0<AK5jI-pU0=D_6t)m!QZh$fz*0N(Ytvm?Ooj*N3|1Dp&xBkAtS_igXb*lQY!O(
+zn7iX~%51h-LGkhGbb>tO8#^+WF2xK}3RnzP?@M)n(j^xP?AXi*&<x)7)16W?=_)-9
+z^;->75-b~6o9+BM<p>JAz~2ikgA|%UmKdY;+zbu at ZZP<}4g#_ at Bq_ZeOH#jO$dk1~
+zov~<PE$Vl&e8x0U1f?{}X~pzNCg6zV((D+tS#v&^+r<iVG*Oa(n)SBT`Qur}bhVA;
+zdWxoxmc&@B(($PocQ_Njnae(<6Uq)u|7zF5Q?3gbPEBImS^XNNQE678)F3gY;?*gb
+zIaZ^oh8Vk>hG6w+F*U~Ui0P_~aHmds>$mF{<PC1~B`WWgZ+6911Buxa1LgK%<wQFJ
+z;|!Tvyfg1H*Xw{y&PAzaOGg;ij3J&`@Ei03z0$PXmkeyzx+9U<wXHMJ`Q;uc9e#^s
+zD?;ocxCvJ#WFbVYqRj!%XgOj6Ateb|+;=aoHQf>Xk+L6kyl^ue#`V4xHx@<<q?+X!
+zZxsa{J&N at bvup_%|F|*x5aYA=Y-Yv at FqP}jGyQOlJJZM@`|+Kur_BVp>aeklXbjyU
+zp2BugrLHjNCo`X=Ya8sU(9EIu5yWsuxVV7*-LYVD?qP%34zBZgU1z~CH1_#|&@9Ox
+z_`#@7_ at O-SMGzl&+8Q_R%BCORyae+JcR;rL#;ZjYL}A{d<(4K{QYIGuoK&z4L~&97
+zD!;~&6C*z+DCBDahUVV#@BK`5AK`FNdYcoX0EFSoi+16T(<P7D6KP_d{;Y~LP*93T
+z%hXcRvPA6MwWBx8DA{-TsYY6KYVhVAt?vhdbD3UAk))6>A&e1k;7Q>PfOTiF7fc7r
+zLpo;$QBaM_H;soU%*c?wk21PK#P^<r-J*D=u}rKpqAvbG1wrX>$vta`xGh?@#~JQ8
+z3WI1Bljvy+HDEZA#VRw?77KtnkR+=t1jJO_JK>yHP+xY33pe;}ym*;pYUcBWwk{X@
+zG0OPr{BYR#G`{vuajI5S(z`<d(R#t~tsQ|^v%M|<$uj-Rz?m(+7x}X<EV?J_iI9f{
+zW=8nY>Oq$AMxb<<SIU at M_KAFLV2+u`#MHnp{xo|q3rj2#wVQe<he&vv=Gai#aZ+{L
+zTgGNrU5CSFr7{y@^vy!{pDn`zpX<mWoV3(190Px<2)eMh4!<L)?d+^QEK$ts)J&R>
+zmnojfCk0p`e_vG*<}DydIraq!YkG!aJ2lX0LXet}VFyWGmnzK9?KJN+EC(`*M%fjv
+z6!T6~9=^*rTDQLCj(N29CI3d7uRxwti6C0B0fVq!G&$E51z9Hl*tb8ML&sZ3aIJcI
+z%8@}<)^fVUUsCf>e$-bX(CJmP11P+ndwQpy6(Oa*G^EZU(ry6h*nB<r(*FtIOnHg9
+zCjD^+`}aUnd9<cftmgKZ-fRg{)yI0BIHuCbltpsc%6`^fO<|}eZl^E5j{Fll>W0Z4
+zu-cqsvTv=dtGC!5ZGY9 at q6mbOZg7I1OzonDf*Vn{Z2G<HXROZ=Oz?u8^dy5C{qQ~j
+zmtUVY+4a%mHV!x8Z9eP!h-M9O4Zw9$4xZc2p;}~RXz*qvv(+Ugb{s3u(#}okv-F6Q
+z at oIm!*C at JNGxCS_xORI%g546ZUs(q?LQnEH01ZS_$S;|2vSCC&bJT7)=&YC?v;1|4
+zr>gBldGqZH9J#oLW}R*sSqyfee7{ue4S|lSLBEi9cI3A&v4?VaLpyY}hAmXEzepoH
+z1$ts*s|v_ke^$v}bi_`G!|`ff%Wt4<?w6oL*Lxr2qqRODoL at maWh=I}cmv%sBxyhA
+zBYdFee$YZm?0%p%7&VJBjOqj3Uc*{CsEjh1F^Uk=j?y&<*j^Q^w_g~o%yavkwWM6F
+z3wwlZJrXnfa|I;2H>NY@*fBE+s6O4yTbMN5lXq8g*I}|xebH`%A*UnjGD7Mqa_=fQ
+z?b0Y7=XJ27uR00(<ch2N0TT<r(xk3J`1__=k%7BsTkA<(U_e#--14FC-egR2YU}4k
+zb0c3hL)?RMd!?PmGvt51KLqWK+1J2tk9cq^`@iqnaQx$wdeL1?%>onV%-tw$2f|qy
+zT}`PQLaH{8M*Xt{#(U{SU?s&Aw1yaZym6d_$%0xNRqYT)QmH0}P9-hX^%}PK>8hpq
+z8vfPDkDKhvyP?bFhn3Yfwlr at P$woe{7Ij*HB&A2Gl;U=owX&G9m^W=j<hfdHIVbVF
+zqlW7$fS<`n>r3p`3IH;RE;B2YfRuEhR8&_*`HN4<SVF=UJ8c?>Jqf|bZ#XqAabZL&
+z{x^-!d6-xd-OXmbN3pBELdgQr9k`sGlVhVo^22t<hGCiN8*AC;<o2M-#p-m=>^kRq
+z1QW!|?DVDVdNz|U{_Oz9FS5+EO;k%QOX6c^bQ|c$a>H543-DdzT$H>EOO4ImVf8{V
+zXR<#=Tz)q=W0}s>Chz1kE`?G7ioGRv>LcXnDEL0|pMSxm*v0wQ<2)V&#fKf(m%+Qs
+zT_-mj!o+~@8=2*Sp5~)V`ODuIW!HIUbAaKai^*BitvSv8f-P&f<Ydf+Wnwz{C(oj7
+zY+O?w9g7*O7ys2jV0CN`iVtqi=VG=gNA>M0pUPp4Kmh*mMEP(<*a_WQIYF6Wg>_|s
+zA0D^+*vlo!4D at 4Fc_m%=;gfS)!>olpYgz6Y76B#aP(mhlrn;JtU^b`$B=)$}SV9{8
+z;@`#MA?d~A6zRzI#eWUaM}+^}QEj*q!jjwvTS(T*k%>J%Z2FXWCVIG#?w7Ljc32I#
+zcl{(Mn>>QC-71!@r$IAfOs{v=C*zqX0~m~g-Vn#~i+K(xFJ-b&NjW1juxYQOac8IZ
+zDs%eu3&+wiMz?&WV7P6LZFc7EmCcmf(HL=>5xtL}r(l+38Cn)O786ETP5FL}RbN_S
+zO`e7 at ou<Dluso=*c~1jy{#1PrpvmDl)G+dx4_ZL%{QzAMR$guW{c|miUY|%3gO>o*
+zddTOO#fkR at M|su)ZCVmc{E4j7NJ-kqR_+|y9u4)GuG%iG`z{Ond6>-*Cqgoc<WrFz
+z_z^i$_~Z#PAGXGB&v<?D4Uq=p{=6_h%Ry5Gz?=SgUPi+lRWm9lh!BlOE7*3SNQO5l
+zXPHYUkdvp%iZFbit}Ta!IR-9C%h?v(ye~viO)DFk1-GQZM`x-WtA6&KC`x8|V6hxq
+z at yD4UD=W~K2ntr|QCYbU#T=J)%3=*hiRl_ZjdZLXj$($SVemKfJ?%dVSvYqXiiyF8
+zDijlopKSYlk8PvgqYrYhTgdt3q#vW#ilktYez+KC$yrd1e5Y<@UV6PfC-u2lIHmJZ
+zecA89Vh)u<R~-d`578aze;lAu*T38afN#*V6D4^9P-E}RnJ>}VLhy&dbY(U$T6vVl
+zoSiM~4tN)Gmkcg!W!(kgk3^dcvS9)vMk&l$*+SEYeSY{1_>9S!6caLve#e)1O8+hA
+zn98k_MeavFj=dXkIRL%cv?+4V+sB^$s2}T(h8qzzKxrJ&tfouFh^z5gFj6q$!vJ8@
+z+A*eC{ZUJox*C`3GvR>zrujMUxyCuyxw~W3ZTM|TGhl_v4%Z#;o9vJ5O-9G2X33Qg
+zCzv-;u>HZCWanQ!#Q5k)Fyo at A`;&~zJY at J7a?mFtcl$3lq0jR at q}%EB(Q6_X`VVj6
+z61jfg7JJCHGpwPXM&9&4Y(k#r-Aeh;KU1z>ip73Oq#O?Q>+ at RF)3bG}Uovmfv~lC&
+z%3NJtHNQFgx?vCKCU=14gF($5#N=b?=titZO73Y0!k!^)XYuWZox$~CIVUZC3sX#b
+zYm^#V2i(pjGWVp3+edu{V&_7bzkxD at 5qW1WUiw)Jp3X=;Y#1nv7J`q|0|ewEm;*{9
+z|2i(?!x;VZlDvTyi~klKn1B|cg=lRgA&h0tE at m<)gk(<NZ#*CN6X=?YVy;&jrG<K6
+zG#`EsbVLhZdP88y84?COM~hp6BQW9&8wA3~2P{El7;=Ud1IKdl&7Cb{mmsta8=+v$
+z-<ujz2~+LJPQuq?bF=7(T8yTVA=V?i^vH$TjB4b5*r}LAW`lNOHV8fe+LGb2VP7yC
+zg!_zg<-+b{Dg~s&gaSEfdVLThS(b$rN1O6+cX%fWG5w_t8^b$+`|+`NjO|f(B<<mM
+z0_|~2Z+Q&eLSlg^{QhA%f~phi(yvu%_xVeU{kyikyL#}k`HxHUN3Z7-uV-C;|C}5_
+zgNb#~34`2SrrAr}{ktge4f^V_1N7K&_2>(F^u2m~$|W`T-;29@>l5(t4U8d5NFXQg
+zlifo+9#rt>9%kSzoWT3AZZu;WB+9TJW at Bz7YKd+*V~S`Bi5?nb_GqfXZoEyCTi`7e
+z7^WDi7%}mSZPWQS>lUK(-C(b#F;O)6V4sIEgxou-UNK_~x%X6krp5?zWW~K|o3giw
+zw+Nl at JHu)ste9hfC^HfG4#7b1#aPQB3W(ek at zEjt7Ul%Qd4q%n^#t>B<8AF55{&g;
+za$_<+s?Olk&!-#k=fQ~E?-zyX!?OD^7R8gh?Tl%U$WnXsjXxfdt9SctN^%Q5LcvC)
+zIDFQG4v&~~2+ at R;jQHjdeTyH9dH4&emP7%AFgJM-uH>`4L&hSK#b<+G^yeSI|N4S2
+z`%fJL7a?#X1b<<iQ|nSS_F@|o>QXlLaTvp%HYMFG4?G<2JYAppd3$#Gwy*oGoxVAB
+zkH6vVe<0p at iaqm_^z1TeUw2$Pg*tUly!o*Gq;T$6;@QR4zOJ=)N_6U;bJN!Sp!fTU
+z@!T)Xv+G0qI$-UT;MASC8k6hRvE at hH2!o%l-Q|{3IB8njWAn<^(6)deBkHZA=l8e~
+zaz9;?%dHFCM{&N5q3yD$DzO%kQG(DePx^|EGeHk)3A$%k#Z at W!`plyAvdqjy&BFAe
+zOr6DMX*M0Mrdr1|^H{qR!!5EguGW?)WWI+*UA@(UgQeY_{R08OgaEgJ25RX=vUOlJ
+ziOM$RTvMx;7y!Qv=iq<^pkCIwFo#**UUV<4p;&g2V4YCyrnLQG&RFlb5TQ^zzd}z9
+zUnOPFnhShKW|*5JDIb>kCa2+DMn^s8q<36U-mdoHwVCZ-<~KX{wwzAtDhXW42DheV
+z^oaB6l*$3EJaPc>GWEj)I6z9Fc0omf8X(oWsyg=dfIPueZdf+Ie*gsl6l&L0B&h*X
+ztb?m%$`BH)3#t{AvFYZh^s<ZT<jTidc|-vmWqwn0TIJ=kR~6Oc$^g;wbr;v1@(h)y
+z>Iy`)P%uzP1Gg+P{s2`^FP~1OT+r1uy<A(xc5V*4JiqW~aYcoixa>DQjRln%nPktD
+zi-sB{eaiAt<EN5BTz}L^rwOI9HA%I=DT%QjwvBs54s`#21jY9HQZZYw+=l^ttfu{c
+z9;$^^MWv<x5fWAO6lV;v{MM?>R%u8H5u(XR-?z%=1{l!vhak&kAhGXL1nQ-z)S5OF
+z9<#Sy+It)#bLqq3rCDyGo=M_QJXA-cniywf#g**x?PircT|GP~zCqMfX3p-{TiK%e
+zBEp1#Fuj7CB(>=mIVuNHzcS${wl&2Uhl8PMssxfRXl>Qfw*XdqJa at VodV0sUky`d7
+z*nYGplGWiDZtXm2JU4^!JiZzn<P=?q+~V1A4g=qp2i~Q0 at Mq@LY&Kt;Z#gVnSM1nj
+z$IA`WkKU*5^YX<B(fS-h{l4IB=h}e!6w}v71-WdrhuRT&vvxgVK1n-)YfTwuNBv86
+zcy0$h&`Ey*QH at E<m~{rePUKuhtM*{ZjkfR8ZR%4mdYkS?^OJ5L3zg6}7HKkG9D%TO
+zB%2A5Lmv6>gDLHD$~^{W%%WN3p2B6?t%Sr$?>*To-^cicoqx!NS!&g at 4!icm?ORMi
+zVEalWsk5#AUC8SyqH;7YIyqtvNu}~W&6uTHgVSJx+S+wybs>6km-MUotc>nuf`2<E
+zY2gjeYB%M!D_4W>Lgma$TA?8FXR;CdBAO8<N+!`wjDQUovyo($3;qElUhyNWbDToV
+zDUT$ZNIqr+>?UTZgrAIq at wuB~edtrN?{~h54y;Jh;NRh0d^D*Jtv*b~6yu_$fnBym
+zr;Mw^Bb#P-VsDnOPS_3J-qfJzbSZ6x;`X&-`<QRkaH=``h~VfIAjcSk`Xv{~xnMn)
+zNHo&FbC8`JNcD3rJCqfVIy%BKF&__W<pi#orhGq|RLZU?o=21`t`KLI4V3j+k8ynd
+z`vfK{CDr=fzx~a=PEL7~%{Yg^?GvB>S^I?ZAAh)uW at -Q{up?+!B`w((4f<^@Hhuq}
+z?UTU`6gKy-G*@&G5N<K6t5w`?!Qe<hytt}Ye^cKya-(;ewt)IVI`NX_Jh8T^P5<%M
+zY)idJt(0z~5<)jwYr6!lkmgspE<m`R&Qv{A?_4)zINuyFTG&n~A+BDfU8Ws1IlO_d
+zr;5o?>nI&TWrmAsrsB6=qowj*g@?L0bg0<Bi+r^3;&EukqfA&vMWkR+EvYUp!pc%*
+z9GOs3>wp8L#$JVzTxD82ydg$W`YUCV0;;s4e00;dx`A*X|4u(vgGwV61rFOEjnO}E
+zS%iD0sJ78^5(Ah((O)U4IZqY^7+K^c&LX8E;^ZS^<?E-kWWu948(n<d$8IU^uog;_
+zW3A33kZoL+cKz2i8*Ob$G?SeAKA7#Pq)!f?49mB)eLzha(etEp&}acTYU8IN-23C^
+zg}1M!<h9EU-*l1mdUvgws=O6O2R+9ZF8-b;Q^vOfX`o?ZV}|($_e|ZcvTrph(86xZ
+zl5c2qvZvs{ie63;D)F|%8kC-829^9AM(<KVknu{dOV&%Rn@~YHOx~jNwa}N-P^0yK
+zOn$Q+Y|wJ~blU>58ozD1&<bN37fRE|r~0-uU~NC^8r#UT=Q6urI8!;J_2+PsQ3A-j
+zX&ut?&Q1a^<s=$5De4qt8o+|bM8&l=_S@)!RUn!vDel|^yq=^I#QctBh(KWUlprDj
+zzHAzSn<&Y&gIE?a%))Zas)@7%$>zh%X6b0fSyN_|7{kdHbj;Z4GID0c2&yS%gKE2|
+z6+N^6s-NUckz at W@KDn2J1eZ^O!R3?hkAId=fP;UOPeSfuB8=(5{8RQz*h^{?vu9&t
+zkJ~@r3B8sg4Zl?@rzm0nE}slEaH>RbM#or<G?*j;ujN>idJ9>Jf$UV-KMZ+Tvw`Ds
+zxWyl4V)n=TZVbIxJAiBV>m_;5F!H3uOfzx&6G(<ItiiyZQ8aTJwrKqEXhR9s0^rmr
+zo;f{REdGR?Ar)&9 at W&{YIUQR}`uM0J7yt=e3e)p<idAMw8f72ej(6UEL|qdZXOsJR
+zH_a69m$%X-H6FEnkI~{^mX-Fyvt^}A<UZwMg^oq`-loO=Th_w&%TL>#u1 at +)H at 0Y8
+zk(s~m%{~31Kswv)^5e_f?V>CHxt8Rk`Fkn(uZ866I<kKA<9WM>a664Y22+$qf5j%p
+z(o3s{=qS2<WK;k0Ch>W-hhjUE02*mzT>sD}=6TtzoDX9snn7eu|H3BWdDX3g50f97
+zVC0wniA~(|59w7$d(@Tnb8BnHt`1){iHRB1si~vpY#KGQvl(txvCp8)yV<xQIT(Kh
+z?ITnJ?S6&rqnrRqeg&o at IvIHdQBytluy=QZAecs1;t5}$0+&K0qwVpyue(X#9$Yrk
+z-+kcSq at 4fR5K_RK(Z_gFHZ%wpM4`8%K}u-#Xjr}fwz;gw!|J0)8DNnWf**Yc*NYTp
+z_&Tnv$4c(~w>c#nlnC>P at W($!mVd1(BbCtWG1Pi1!8^(dA?*LjfU at 5>Oqj@=yWiyb
+z4LtCQ488tsL+>NHwh6e0!b}*1d}(1Bb%)r{7ac$`Dlth?&q84$A%d_|6Cb$*#bfvk
+zV+HP^#99R+jjrdBgL^2wkB~ej&+vN8=iyL02H?j6j4^Yjh$?u0iB$iQeaPl51GA2Z
+z?5HNce^!p5{=}EuUB%hUrs>P3`OBuM%jG}XD94~j=|9>iru_bqIf8(Rb>WFG#k-0N
+zmlk_>ya#u@`**yDuWy95gS$5HV?oq?lw=aJo*LAD1l_^xEovW?;`jfhha&erDIIaC
+zUywNtI5Zj_+7F>AME`r{y`~s_SWG{LrU-rLc0a481pV#|!lFcFNJ>AQrnqSj%=^ss
+zCW3j)PvC(i&OF8;xWJNAWBUu1^WuTChsv1EhOCiU=a{DH{IIdl)fjf=otp?sEutMp
+z+XhZ8tR1HJ21+gJ3C6<)iQ}6SOxTULj&LLx;T!0VP$Za=8}N=uIT%A5_>K at cnA984
+zjtKe~B^%g|F#4Dl8_13*YZ$v5#Ex&*FmX2^9pMEq(l#(1p#?BCHV_?=tI-!cy9nD2
+zP)^;GZrTPOR(GCG&ivdxyS&@ieb-Lkp5DaYc=tc>?>yz4`6+sKS+uV^ubo1l-Xz|5
+z4?J}2JguGi*?V at mx37DzokE`8B-}joKltuEb)NYd9MdlilLR%<P*-$pnQJ_v=44<-
+zy!5E1Cn&4KTJ0QA5fVyT?HrnuaVkvH&yPvij84<fjXBw56=~&V+AelC4b{1P3oN&v
+zsG6ViD(~cP*3!@^bxN?VsP0tRrkiuq(<>R4FDGto6;5eW<8 at 6DO$k?Pb8$^7*Ht;5
+zpJOQJEBaYbv8)!T=I!blPA6LK+uACdlBV|H>Ka$RqCz}5=L>!q at RU}-s%<A6#DgCX
+zDH`Q{;KxHsoSLM|6%f3fj6FDj2iz6%6jzj}-ATLZYD~N?Cqt at pRKafmX}ykIx-PX6
+zm#f5bp)!TT18e|vAx}ZYf*N-6L1p!t5<sflxz$S++*BDqJRk;$7q;eBfOnlK2l>?k
+zO5k~>Z0o%gz_E<+ at BkA)S=gFiF`))6?F!H^cwbPL(nn?1Sgks~1inug7*BUGovWY#
+z19!Lq6I*pM0T0$h`sXuUisvu?=$q&Sqw+U_BhfX+|K#4w_RmD*t~uvQ2y=F7MBE*`
+zA}9pa!#{;(VQnWj^1h5)nVL>qh%ZD4>D%<E^3SgwHl<4rsR%`7r77OYsf`UPKlq(@
+zPJDAtFEtmuJ6_tK9sO at tyRP_pU9%B6^>iAi at n*)^Q8^-v25k?VX17X7?Rw=Qo2>RY
+zV|w?SS<>WJipxgCP^A<Pr;Ah<go*D{`L(kS#|Tv74_V))?=xb)OwigZTTgvoN$k`r
+zdeM*HWMz3-leM_V#s0mL061a|Oizc at rE=-+cCr5w==;zjr(&%vt?%ULrX1VFT*Kbd
+zz|FNRIQu30apL$1VOy6g4SxTG36yqKSkfRh?2w+ at DgF`E`d!W6=%o8%L)1yuC7^UR
+z|EMx3x)MW>^b@`s=cs{9%}I`4t|Gi56CGGxb9}lxQ~Pq+%Xz0oUbjcbGnFyXaPo_V
+zBYMc>y_|ep1p67#awdAAC?@0Oi_RH83&|FcCN1Kj#(Qu25Vu9nI7-dW+euj6NZ-jz
+z3;y&=dQQ5?i?=jB$kt`%W)%1ia|m-v!;vpJW#|3Y9kS^gJy9lhM%AcTuMETcVZ4TD
+zCjc-20aMc`C>8ii{CZe(*kKw7<t39}CU4;R+slhlkRdszVxm_qBTzAgmr)ga2hqhV
+z-267k24)$lcE1td8dF7>#}a?1(BrcMHDz?^Mxnz#`umU!C$qvgJ?LN!BAG-fWk15V
+zP;N5)QgRBoh}W^9l7Z!~LOBWo9$#~`KSYRmWs`E2j16ds;FaNr4Vb)dlM+%mKY0pp
+zFpfj6MPTy^CZ(H|_vl^FTM at W^^tHmThLVUV=A}*Q>}^HoNEgESg1PQspWy~hNpuSU
+z at 7)U33S%LHJD3>HzM-(exM4 at 8cZP5Shu_=L>l>ulZ16pKgA|Pfiv$DaqdQCRHq8h=
+zKpqLbE|iE&1CQ?a$AMAi9;V-jsEE+L4tYv67?GipAsBz+<I#JijFQhv&wyvmNP^mU
+z<a}h&-vqzJdSawHzS<F)l|5uUv|sIrIp{gquVcbuI3_qIgjb7W4O|UE4SWrvJ)Av)
+zJ-ljYQ>c50d+5!d)<jI^1mE?2?xbvK?1w-wt6lls?vU3Uy{$!sbHkSk at UXDr3pb<p
+zYRNS%VuN0(JCoB-^?GcSBgdlq^qd#n2`2Tly_wF*OWAJ*#f%yiv)HjFH9A)7oifWz
+zu8}pfHFI;<<s4oO>Ut&B8eFA>bMgn~u2J_f_f at TcRrB?WY!crZI}P_z!BViFaeq+o
+z at SN#D!8Pr^;y&}ftyRZ;z2F2;F(-JW_5iZ%@)F`NB~d}Gken?zV7Y4c65%g<wpw?R
+ziBqVsn5{qfc-0QJDEbM<F_ovyjvQcLm3zrQWuDfszkN(6I6y=K-3JA=cm6W0VWQ|i
+zbZ+bDoK#}+jSY(Z1w%}ZwGu)W%}TV9%%K!K4T)+7_5Kg3A;o*zebOSx at V~T&(ZWb(
+z472&K5P7iY at NbBGF3KxJ9y38o3)hwQFptE{cecbP045oED!vY#K=~hQLud99n?Rgo
+zX{r2Ie0<ep<OR%%&=Nrv?Q$-%8EYc#az29 at Z$p7i+;uYXWMCaRkBXZJ^)R6$`M=E#
+zFQ`_;mXKFz+6s98V{YiBdM%7&h7hK7EzY?;_C4<?TzB{xPsS7Rg2sLTJTN>{T?_LW
+zUOs0wqeGxM?RFRrq$!jWMc>Y*DQ-uMQ(B9`7<Nfk at luxXL>;DOV-C8|k1lLSEuh&q
+z3B2&*lSq${8-_gtKVCfIFUa`BUQLIvCd_83+5Vri1;L&~lii7Lm#E(^cbD$Mm+ruL
+zc^}@FKDTEG-WLa6|Gez3 at 8bqGyZ-&-2FANg-!9XZ?naIu$&Vh%!NB>W$GD$&r1h7A
+zu|u?yChXgI(Rn@)ib}Bqnl*8PV>zaSMnr5RTj}t?Zn=K39a_EtzL=79X<)zHpy}TO
+z!re2XOTHY7Vnc*~3<zs}VZS2b+rt)s3+FtSFl&Zu{h6aW9#QF$Wusszq$lht^XaDE
+z4uAU)7$R at ZQ_RN39PCLN1q4qLeF9K{sOMyt=mN$9U?MyYxXk{_k}n$7r8n6z`p8BK
+z7^S`qxx at OxiU>x+e-0ge?`Z%{2b57`{j$Nf<Lom|pL)a4gRz6?(?btdDkj}9q}>31
+zJg6H&*JFH02V8VA)rQ|8c&FDWk5z)@ipbY2pK8Bog+q>d5t(xS0)s-r)8)B)Z3dOi
+z5o1}_e{o+jC@||dCN729j=FOX_{7bOx at 8%;{i45w9A^>S<h#W5Gxi&V-oe#1b=$<K
+zM@&mMa16ae)<|D>jQImSzhqx?q`~m;6etM%KWByC{Upu0OzPGhmrg^D+*Ph0F#TD<
+z=Ea#mu=9Ta=fQ0Gr_e4SV%@s<(rMz6yViBv`v<+0r|KVm{;(b&<lhn0Fq3t5|0;L5
+z&mM38BGEOIE^f8o`Oa3Lam?5{=v%r;X3=bjCEEh$NU7r|wh7LWGWa?3PTTU*o~vb?
+zMQd!0h0}*=b?@d at zb){Pa0CEUH&`yu02>YG7p+M(I2yD+RXpi>zM2&wb;T{et$`<l
+z<z-;ABJn1jN<~Z~&nR}oPtyu=Fhbt8aZb59zu~8Gg$bA>58ffhI%5~iH8t||02rzo
+ze;!b1)V>Z8Rl)3e at DMS3hfbm5xRIw1(5}vF<C<E*qy1!9;jBw(c?A|UI)l;i6W}Q%
+zm_hGXJ11U!U<D at Ar!|+?%rWZd?UV<qcl|s-&_MonKL&O(S{KfpHnygw>RSb+5;oaK
+zz*n&wJ;EZUJq3#=!{=A-US|lP>&T;AjA8Mp4m}H#Z~Q}(h^YEt9ScrCmEZ*QKbR!_
+z7ZGSs_=GfH?nXp4fyl~E>dy$IOMi|B at ix|}L5{(q=-8;SDX1XJOte04+Xfg3R!1*f
+z`g|FxxanB)*MDgid^}nABKg%iPI(As`&&gzb1;a=s{kD{y@;+p5`<(r%uL!6w8(Ec
+z at Ywa5sWw^du(CYWvGTf~ESfo3KY)f|M-Vz%JO at G<G2 at fAS>a!DE>q2uV;SicC#r65
+zBH7c*E=k>Iz?=2~=%(G&7CA!&1;I4<;|0Ny<u-pW(lo0SWo`XrR=%!=ZUYsy1Qlg<
+z;3?_BgyP-JvjC-2UByU<%VpZ_2k%LfL>==sIVCTvw;jxMeFiFv{=YxB_c{@i at f5HN
+zHgWSdtxODQ!vIh&H748Iws8+td+TK+Q+IK%uP*l&UwloLH(Cmu^r(Wy8#YvJRhGTw
+zLe4$p3d^=xlwn9zm)Unytjd1BxTAN{4w?{Q9<w^WxMJ#gAHPqNmKpzbQ-ZadidAF^
+zNWE-&NBx01rZbqKe!pbDm^7P3m?~B>zh={e?gO&K;3eVrH?3j%mV4nMlKgVazGg_;
+z;%((}LMiZ-tirN#XAs_Idan^k%u6OQqNs+?iJw313y#dhoW%wXI0A9F>Y953nI`wK
+zGma7K at NL-oi<iwy<)xtabIpKBJ7m4t4b1O*rMITZ#Sp&z9;SI4L at tK-Efg;=R!QR(
+zwctS}ECn{^c!~Jt1x`*%XG*a<c}-CM%bGJOB88)kP!)0*GA{zQ<;1^la2_0`RtY@}
+z{W}B+zlI>Y<ZxH){~dys at wwupFsDN^Lj*(&Hq1*BTg3OMSLjx#OyQakpF-s}P+mh2
+znd}*YJK|C=e{Tmk0x5n^*ns`RsAIURVE&nCo5#fZGas1&4H`mdo=Ae~AQI+dufv94
+zo+chyGF*{J`dNSyqZ(YwYy4q;%{?@H6wzSV0{m7ed~e_N%?wLi_r)Kv2poY#UIS1u
+zoFalEIOhBzg=SU-QvQWlz}bPDfS*A8XDV{e4v07+jQzyO8%K97f5mWR%l{Hf(pAy9
+z>jE6=tQjKRI}i7IlKkmkIrL at kyu@qOhhINe{o_~l3dE~UafLPlw_5!sv4 at F<7u_0z
+z@}UvXqtmfQ>4!Oh*D5a0P}+g@)rYH3SA<tOt}(6ZPYQZqCG~UebLn&8YakM===wVp
+zwF0_OmqE80S6qLHrrYjIT19Wx%T822&8{AhxYo2PuGWw!p_Yfw_8p*Km3qnXgC_-w
+z<t4K-2l!W&UJ6gLH-a at oxU*3Qlvj0L;vHavbQkFyRe+$8sBd7PzJXHw0xr?fRcMHZ
+zuU*puF2O;OB484ICD$Y*D3duv`7aMNi3bfiy0jMJH<|)8ap at NtV(veD&tSg7D`w$O
+zvokABZL;I%f at n#;zk*MC2*t2hsiYR^7454_N0hzLCPX4RW(rsbpP|Glt~zXPDe*U7
+z0UU93 at +n{W3hgKh%8e4AhB+-omvC%pRpUjLP>yL-6J$L3t4scwe;gqH&OfgPo9aE8
+z|6BfXqMeDCOpo;$&Quawf(=dfWl6p;$5LJkGD?2>Rnm^#M{D2rl#CBfJH+HP4+SBt
+zm_^C%xzQI2d_tbM!?g8E!u#Ts+pBoe=`qU5H-_xn9eASBq!`IJ8)U;ozm-tB-~4TO
+z2Irn_G^D)IKf=!C at gwxBOXo%D51kG$d)<DQ)NZ$H{Wb598tpRGUZ(xL8##JJU3`r^
+z*ly1<yf0F`FEqR_mb@=`yf49S&*5O%4oj*N(V%kdkjF4QQ0R`C<of=${uq5nnQxdc
+zYzR1X&dr97nNEEM#Rd<)aso$RwK~##KlnmRfMwwI;J>0vdPMpt{it!y;LIqSN0=wh
+z1nXb^8)uJLPm&2XreDxI;_cttL(+h0=d70q`bPQ#6{DX#Vmyg!*qm9?Ji(5fOXfIF
+zOnX-Q4Tc at t_ObS0ccA+@<0XlJ$=cAvD6HnN&u7&1xHI%i76EgC9_rB&&4IrJI)GB+
+za^*4lei3tY9G0kBpjHs&sKrI+#QDd1wY4Us5#YAwcx5+&Ii)&l#cy8&L+VRPH<k+J
+zKA+Il(S^l6pWu$srp2Mk9zSyi6z27fcl9XYz*9%y-CIc at sblgT{1EVpd)x+W#<9pU
+z_3NQECs$z0bO>9Dt{=t8GWo-}vkT5Vfp^Hb;LH<o2bq?B+}!&ZQ89{gWau^w#_ at I$
+zEZH|5HA!ACe|R`fdb%F*gEj36u3INtI{kX&E_TgJ_duNV6g%QaZQ7Mow@&*X+UaMo
+zNZNDhH0a1(`MQnbK`-^G`n#V7SR at VEK1YRir2#}UFg&|(xF^lId!O_iZsBHbeizhm
+zH_h2r3O{fD&DOdUero5#@=@_%)!0JglBj$s=lY^K6GyY#a#Q2ap}B7l;G83<v0$hB
+z2^?@jt*)}GP at J%<=XhQNj!4BRn2GQq?iH8-r;(ujWckWOn0^H&Y=LnMSB*U5;Phiy
+zfeB7OU|vGfYwU>vtET}vugPc(5UrkR;~EA|HsENaRefOnZ2;`!0ef^Z!2t)mWUl5l
+z;IylEEgihqfY*MqtB}>Dw7v?jVsuU^oO9FBdv)#j|2(iZSN{gDZNAb;N!9Q(<a`}h
+z_xcoZit2M+C+`F(cEt_>&7Nv19qQpGyx;%da0;(qcb&AJX_SFoIAxUo)mOCQ08urK
+z|GeuQ|8!TwS|EWvYy0{&pn{P`^Q%T=WCxenB;ae{dyFLdk;qSIa8U%Rqu%=+H#v)K
+zLB^+Gtg82E$Ij~MjpV#k>~4FK;MxPZ$GA@?o4dK+&B^F$x--s#KvtU)?VQlnm9nib
+zz;O<x;RcXU9{i=Qlt!>)30*80?-g^bo`k?$#;AE5d1)+9H=Y|QeiJJr6+QlSh=&zv
+zn0(1v$<IdSd!t!1(l8soyuiHOIefxuem-)!xsAD-cK<tX^Kv%wG3<?Dr^Rf at tn1H$
+z2VXl<ggu+w%(<PxsgW$t7ikzTCH;W8G_iIZNwSG7Se0lAzA at Ql6$35Ps;TIv){M7S
+zZ_;uUe{VM1yM&i at +6jgrnU<m at c#fc4ax;aMZ)l at eiWe`LOqQv2Y9=AUTB$Qw^$0#4
+z`f1OR8-sOA<*Y at s7q9m+#_i<B^;FWaqB=Hvz$KI>a|Aspz4{O!{;>6BJ|kg9>(tq_
+zX}V3*PN<bZK8{K at uJ9-+cCJ8Sf@tUaJTbQ(o`G8L89hH-4cb%s{eHu)LmLz(EU3<`
+za6c at PY@T`!X~6c}smO&iv7jbt2K(@9(Qx=IH1fSFG>={fktp#JqhuDtkN`6)u_zet
+zCgYo|_{rO=hyNmKf+*3}y`S4tlB6x=3T7$nrweXtt({1|)?LM$db%Q+Of|0hgK94z
+z0Do?#(yL6y92*rwjiLUaN at T1&4uPveY_2=E`~}w;CUiIh+)J8HyQtkN2w!~R{+>(6
+z-#D^U$D56w5U(mZ5uLaa*;_;plqdOde%~Ii>67@`#n*~_)47gCwrbwAB4_=_IWRAf
+zarsU7Xew~@Xie*5I?H`NUb3fyjKoSoIyN(Rk)zti53^_Ig3bh|;exV4LINGqRj(&(
+z#_Fyb8PD>%=3K8TzUs1Zr{*_2QMBaM;jDW&ML$0z>8sMcqwfZPpwPwXZl_m7*C#Ky
+ztRCb|s1GZasHC`b4AW`Wq;Deu0<S=((+`E(sCvt#Gt~6$A_G3#{6F;iGIwV;?~I(}
+zdhRqUD$5<Z;>yd*Yq>}PdNrO0^8||Jc67QO<LjmRs&UfgO|#x#CwS?(4eqe2R|CEU
+z|Auq7wFl at dOc@|z=Zn0s4*%luO70B(z~S3VQ#4Jwb>$F;TY#jx0X+wMK)2Qm+v>F{
+zWb(1bXIrB=T>U7oifH$wr?MsvWaxHdsO}2jUxl1^5RcZ4n)L1fC0t#Vr0N%3v2YJ#
+z;pmbXV1HOK@^;e{M{#twbn>T2vi^=}uN0$Za?{Ut=7HMRATpQ#qBhp2Hx|r+r28o!
+z_BaoAS&idE>3r?49j&0Jxtg-n=Yr%P-0JxJh;i&EicM3S)warGh;}B3{K$pItpbCH
+zLtz at 0zia$Rr)Kdi8=~><(poRJKWlW}pNIU6*`{|tes=>xbW-ff4cZS+GjrB=BlVp@
+z=uAv`yt<lxq0>L-D!ucQ&KW$Bmgw-<AJAc<>bTt-2tr0|q+bC+`{m*>2XE#=(ZJJp
+zlR^ck<g&v-3FjiwAPxs!yu(v_gDp&{gs=7%Ak3jeJo|=2m_dm!BtQubrdOC)33nC}
+zJy*c;4MC7ZE{i2ZMv!^#N6WX`LF&02mXJS#+;aIpLlFyM?ZM>>Bke))Kz`VRXbsXt
+zgKZ5w$%Wm6_X_lge*@N8yh8^;OXreG!6*hk|FSwm^1xXXLiif2_UjF#5CI-smLZx4
+zN?~x%J4n+Y`ZK=oFpTkFdr6)lp2u4xSf-$~?vY>E%n<G6=Nd2hFU2)e3;Tp1`FkAS
+z%udnuqSL9HeOQp_eFD7S=#}DL35f0f<5Q5IbXUH?jQw5{i1(iVDezh96(DY~SEGN%
+z#giDDU$BqIlNwvFwGYLUppc)mkHwRsP%vY~I99;6CzqjU at k;W}mffAY14~z=aHj at b
+z;Pw8u?qbdbSx<Ih>Iy9Gkm8yeb3t5{X`1>APQL1bx+;4!^#ppuFNHeQ2ZH05iJRI2
+zLGeo~PR)Rj_+=-iE<q3-QcP1LAcPK?nyEt&Ooz1n)G`RAL-us)0rb{a%Ad<^LY1T#
+zdN}L1))~?D<b=_`eybk8J|cZJ+bCu_gB%FJ$AYC4k~Vz%{O(OMM3L}2I0!Q#EhUs>
+z*q&U7QaHN6;ar4Lgz~_HT$oaL>%gDyphAL}(NGQoT60N0zqt~IoJ3=Xh!Mt|#A1gW
+z6GoiGXn?2^CY;1+fIJqa*n5*NB#DM>EJQttuPF?+l=KI2Pa^-t!|xA<nj{3hjmTw^
+zf_M^Q^*{i at Dh6A0*LTCbx at sU`@!m{#3;lu$?sk4hj0A)KDyG>L=5z=oVunJ3?(0T0
+z<n};shth|s2|)h^KotmQK)rjH>LI`B8o@=emh2(BX&d2Av6kYYxak{#N+FPZ`?>zv
+zWa(CHQ#E3OLLlu{WK%YxhN3g|R$@~p0!+?MyA|G)jQB#~mwGF{sUcA1UqHT3!;=x4
+zXR^=DlcSJ}xlh59u8^m?&(4#*GtI{nJYIO`f|D)3JK5qwlC6k48R~+rCzm!^<btoK
+zpfQ=^f~_aN at GlU%3+AdESVH4MxT at ejneBqR3U<tNxR9<YqD}^b(D>!zCJR7#{0fSb
+zNgynK`H9JT5D~v3(_|C~qeHG{vI0cVp<q9m3Bu`+Kb>p?k#s1MPKJZr`CT`YqM_p~
+zN6E?0AlAB}d;&t3aX2*#2h#4RjA!MdW-uBkzA5<=2+2-Ov&X|su{O{%NRG at HY6q$p
+zrdXP3hpHFNS-NTm&li5Pv?UM`wZcO#akbRbj+2<Y2Wt(a2&V=c;B93xr*;~kZKZXl
+z<{OZ0WtXR}*%RGzl^e)oidkNn_*D&v$1)~XM8^_sGb9bv$KqR75XbTllVU&9sHXhb
+z(*?vIX8u6 at TNlvIDyWtPqvTq-ymOrv27Sy>fSp0gkgngmWY281L?IRlpEd$P^JH~O
+z8RRp~Xzan=mv3*p>|v9g`};|r`Q8!|OG{2oxgZhC4o#iAKx9i%PyKK~$d)OY+GkJO
+znZkFW8Y`*av*8IJFS^|GX$@d3jM_794Ph)A`IjM}HLSV_Yzt})v at 6WqGk>+nEbqCs
+z2A>qR?SUmRCq)l?eqI42h2eWfULhn!Lwk;1K{<sbdsbdyIYqmBo?e0ag=u?cUZMI$
+z3wy3!!E1$0d$wNTYehGEzV`tFAP-RN8J(9TRtI_H8oKmLfO`nnI=Tx5vAE<6iwixm
+z<j at Sf%lm9G>KR%Wx@?IOS*{igPYgB+bD7_=qlrKU7D?mke!hr13`7bX8Tv#``dTsL
+zvVPWxZHx~T>N1synhdoP##Q}15my+56r3_PiHr2L;>H#IoDs(uycBLSM~RCJwUWj)
+z{Q?nB7_by5GDL~o^p0YirTr`sTNu<73Nl%V+zgHqo0a_^BQ7y;DHvsR6PxKB#W&0Q
+zIU)`*xG3yoRuY>T93?la`}rdtFi<H-WWEy)we7{If(B{5wkVz;*SN*Ibg`eDuH5}v
+zhE;Pe)y at mG%EfZ%K4!mULinpO_6Yh>dvz4U0Qkzx59a3|gPk+~i4Rkr``msC{pL+1
+z at _)6RSFpEJb#byXarr-&rd9Lq9;yI5 at b{UVT=E2rMFB=Bb*6=8$&?Ug- at c^?(H6WN
+z*p!-)C4`ff?{z|5 at s9enrXv&qv8mtuntu7aZsd`Iwmm^pf+wdr-V-0!-RI at owwsVM
+z#Z7^uKazaXfz(NbE9A#Ty#;Y8G{-Pt*Ty2T9E=|`v>Y at CV|tjvH#qiHN;ahPQ53bf
+z>c}wbqf)YuSAL=^&p%s*JZ;TV$bvr^pBGO<=V_X7|4gQlZ&=Jbdvqvm;KZqt9qh|9
+zEoM6$LHa?A8yl8{iR5 at 2xr=A4K1g6I`g1O%!0mWb9NCQz&F1r7CJINb5;H3`9_rS|
+z%V{~za7+SnW68|Kv9M;JD{Mdi+Su<)U-_)4ncERWqj5SwMSZcH<>=9E^4x)HDS_Jz
+z1mE{(?7XeI(Pnr>r8}>~Fzb&f-S~_Y5vfGSwiBdm%2t761;kFN$l(7`9f-~PbH32q
+z>we`<sI);Dq+S-bJvRS@^1)&WPV at qwc*z2~Kt7}R`|i5i+~d^m-<pL}v1!;Qo^3~^
+z>Ls<MWNP?wi*xtA at oNJ9z5}rYp8#HP<j6nz_#kVokjdmEK5 at 75A>({Db9=X(PgUPs
+z%(P0ARr)Q>*x$u`OC(|R+Vj9TYKyFmC)#&^{=g1Z3r!cJp)lCR<%gWCxpX#VHih92
+z8``?U8c=;d^*}08Dp at L0icxBGd_rn;q8<Z&43&v#C8e2)&G&A9$M5ll^_0933-QlY
+zHx-lEkDqWw?;F+}mL)trkotp_`7L9;{NOshx^Ns4J0gDh at OHS()!rVZnpSFSND2P%
+zc`6rkDkM}Fk=0{i at 6a(eF3f+ZQZ(t$qfFqW{4}8X;UleMrBPFLx#a2I-qgF*#T5CX
+z_&}t6M)7oJM2=F`)3wCF)u{QXkHeshiUBiyT7??VRkyd^QaK>g?u31X^Z=TxNrK=a
+z{prlAj%i6*lw*@0<Jzp>^to7)Jc{SJL2I=RDOkx^Zi*4$SzktMm6bET6O!t+4A(^Q
+z5zP}vY0vbVLVB8^^Y0;F^7iFA+E{9mf7_APW16HEE}NRPUdekA*x>`y!*pPb2nh5h
+z^r-InvITIugZK2=D68kUO45EL#hm^ayfNMKo<7&28(_7f;$KOZ1EiZdrC_1RL_8F$
+z&lIK&rpRwiv+ox<T4ikL5<ID~l4X9gXG94NBRb+}<55jq03!<um(8}cmzq-tkAH0F
+z at H}pe+82dSOfza9&Q{*rKHG{S!0v~6Jl}<Z#_gmgjyX+TuJP=fR&Af-j^_=M<UqCB
+z!L2Kay~&zYLnq002{GB3BrSuq%Tswa4__q9ZXEre-*eZP2|DIXuf at yfw4gZO>#8!9
+z=(l*afSe8i0pSpQ*k>%L9zukMfsOA-8z7-``S;%N1Z4-{f<GHx1BVM_Xf7`e#2*44
+z5R7m4_}@-6*hpb`JUE!Z9z!@9Xwe>KW}@gf<UNdrSc}-vFecraN-%?g=Y|kKII2J=
+zrMGlFcDV>@!K*!{zhG6n)s!HM1GSlnN8hmZ&?~`07;*w3uitnFwHPufq3#5B^avOl
+zd?keof<c3b>4v!!#<YYn`uc_*3jHgbm at ra9z>_c$g%AckjBK~cS0s8^*Z{~^!H)wR
+zx0)4G_*CCMI!LNDh(tWDcxcjO-x1{D1;L+?Bc at nfGO4<61#<C%;ZMpDpD5m)bl#Wo
+zBGD7qn7Q1C28sOXzxzuY1Cseud{<MnFm<?(43hA|)DvBpb_JPxA?hirzKYUTg}A2W
+zL2j+-Yr>~4y={A|AQCU8j<_{N(p=Q(@I9RWvGUGo<G*y?>7L2nV?Sm1iFOsOPo3_g
+z+TH%?yrVU2HkfHzZ@%uzoLPvdRle9QE?niI)$Ds|ZhXd^8)^}G;Ui$p5q!pc{<mvM
+zIQUwU5ZT at 91OD{b0wW6k`{m<5yTNn+`s9#K3VYMS0F98$KP^INPFskTF)7o~U~K&j
+zW`JE@);gn~0=k?AWyRZGd?j+Yj^^E_`ieKx>yHz6YoeA>0;n(TUEUM7<1M>ud`q>T
+zE;-+4h^63U0L9falEss(BGZet%edt0BU3S!`1JHshJi-K=_+Y9jBGRXF;4BBKc}ay
+z*l<!jREW=&^m17+rfK?4XTEP%ozDSgJ?J>-N at FRtv#NSDRk?pAx=?N988&|;aw(?P
+zkeJ$?rm3eVLM|ERVC6<Q;9&JKmd`g{KX71In^~L3lPTq>t1#&iDinx^8}XjAlw&}l
+z<~W#}#{)qn=9Oy}N*AD`)U2=i!me3b=j<U;>gHE;f1u)&gkT`B+MJ$UOhBOA7Ht;q
+z-y%SM?D}Dxlvk?RgB8JmOvzqXVm$Z1n0u?JI2*Q0GXx7Rg}b{I?(VL^J-7#VmqLRC
+zcb5P`0tA;rf=h6R0EI))5M(OvC*AKa-Mwbk%$lR(gcE8}JluQl>-wo!*X1vl_*#FM
+zEM}OR6gPP!-)Z8#Psd^{1Xx-vLZlpNsiEuXV5ZPZh$L;8`z4{a$ZV8WZD at LpY~FTF
+zbOCc07KG>P=#M+cz*iYHHlW%r6i^jWNf$eodgX`mxQ>76L3pYXxgrg(LXuj>LZERz
+zc at +1BKCGzvvvAn6f7ianS45zq2hO+rVr=4 at qHb%Z))~i9eE*x at UA&{^0=(6Q!o*)0
+zH)Y9)EK9y}o18e1i_z;-4a<7X4l12IqX&NJK(ym-Hq at mcM2*hF<@`k&tJY`Iy68{3
+z19|^}pFLyqz&kEsEW`4E>8c|rD$p-|WDh8^nJF9Iwti(=Fa2n+mz2s7jxY)U==%P=
+zjL3SIrlv%61MqJ8MpGAa-S6lmV)cnWyd^I_XQVli{vfs)859LN9H{DPYczk2w)K9e
+zSK1E8kR{e;6e}{E9%ql}N;xm>E1fZY>OsOj(H=pC{YZ at jcjj*=?uehhGQ?=OHAMIJ
+zZ4jQH^KWJxu$yFO8NO6&G1z1y^QHJYCG8=%J1(bf{In%1p<4tsHhz|I{+h}nLf(-%
+zZULiTg1I|u*izc+Sk%CsC}%iA`Ib9oL6WHctscVy&o at 7d$VVefdaIkYU7R{G+>+Uw
+z+QWy1>tsE<Fk7w*+(fXXOvh%~@;4zG_r&|yR%;%DYk~9!1nLS9SL)oj-F9=yw?y6!
+z`|;Uz-cTKH8zjF&=Ve>iE(!AZ6O<Ei#AOP^YuK-UtfB~E!W?f<5v0UL36P^gx7+>8
+z%py!06gjZtUzhX|aNxzmqN~3`?t{w9a6&D%-~cyP4)CeH at BTb&&50vrqAT{HasUR6
+z3Q@;j at BR6(WxC$0fp^}5ahIU2eEs{7 at tg1#{O at pBah^;Js8f_5ljRj640$CiVz?jl
+zLluWRWFUk*$Mg+4qFji~!|QL!Z77g2FJvMKOzu!jTLe}=qeg-V31)s|X>sD1FoKxy
+z5{cI|63ETrv}TNY2!g%9Ej`B|0e*B6jJFqeRdYyQ`_iu1{Dhz2DnhjS?6y2y5%>YQ
+z at RJA!A?|&?TLG>xZJ0)IYzP at 4N_|#a?_J^Bu#MpB5Eerm`aI1(<~L~ibxG{oPZIOH
+z;N;Eb+ at D!b8uGjBbtYVSO$zZZLWri?w0!YfHzvNOyOSRHO`_!z3!HDC{8$6~vL6KI
+z<_NS_RvZ303z~Gw#i-0b4Y(^5b^CHnxi>H>mzKmtt|eL*Ao;8Gee_Spy}41Fv?-<n
+zEz$Y_iC at J(Y4^rPb<^sZOtre}0;GPG|6~oSZWY+v4#>C?nY^2?#7GnRNX{gt8T9E<
+z`d8IYuDyd%_B2zb9?hWIN7-MsKZW-0M#<B}ex3#GJZ4?tPnrq@?>^>TVN8k%yzD&Y
+zxZ at v)MLnRUHAH?w%c)#MXsq4sc at haernN@liAlG3X7+kU`TKyqi(6*B1Ug{HC;Z<W
+zy_Gcoe)Qh^GhUY?9=_Dqd#DbHfj>d}Y<7-@<$)^$gJLn-$nqIMuRm-EoO!2m-sNqH
+zt)*<Cz}-;BHwQg?-{nJudd_Kc{v5s!p6=G&&knwNTc2^c+gP9HH~HT>Z#u;jI;Vqk
+z7?H~JvY5(gGljWCW at vIArTqn@aAG8ZTI1Lo{Ha7X*2f-+XUwr&?#6UgX6DbiDPah~
+z8ijpU#Y~-Ssqz~7sr8g6oHMvgv3HZqtYbMDrdym(agr)LU&o$`s?DTS`1#fdE)Z+N
+zpV!2$)J12kEa>5h!zQ#GqduL;u<cG_=)fD5OKE(j<ft#}=A72vuldwOTO~u;Q}3Ky
+z&scf9AnEPyH0?!Zh;LhISLd14_9^zz#HEE)L3yuwUtEtm?~Jof)_<uVA};lDjOM%U
+z!<c04(~=w9sH8jdjZvwqja$#ETA*a9$+s at v4yIJcr~p%bb%N at qUw$<KFBLbu+*6I7
+zq2-{KSdV$nZX%&<S)mj*M0*E0V|)Wb+eT8j0V30&<!V`>m`s-6%1TbxeD3S{l?b%m
+zQACE*B4hrAxyuIWnXXoDN=<ncW^D{xHSfu0={%Mzj&M*j;NHSz_lJJ%whneO$%|5l
+zPApcLf>L_wJQJ{$q*zs+#mzt9F1s*Bv)$EREVDUoe-MD0lr1zx%1adDxUPiDm&Wfh
+zC#^$=(=y4(w3tT6UnS|=Hi}p$6aE0kO}J(p{x&@!q&?aJ<|()5jXtg5H{ZWF{@@h3
+zt@#=G)Mw_L|L%AxZzi-RK*j3VIkuYN%bgYOp~Cy)lkfZKynJ>UeqFdG9X-s7U!>;x
+zyN^Pe43VW&P>6G+teB<PcB|?gGk-4*Dc07LByW1T_&%H1F3x=2tIvCfBJ1;F;QJfR
+z*`}v%NIHitTg`t#Ma$k&SEMIFVW{?ygU!%loEu;>6|XR%;Q7^(H>Yxf&acVMg$tPD
+zXqVQtnkh}3aA<yY!%cWQzPo15`OW4orPjT1qV?-K at 6ZA2=t=iH*g57$%w9gsTET9!
+zU6-kihzk4Bu8PZC^u~^gsXv~R(r;1*f1}lt at R#V5r_;>b6M$pFk%c>FOZI)s*XUHC
+zbvvwYqz(ux!ncOzjmo!TvRS~TM9w0oav&l>S?b}`rL4?QjmCbaMD4PJQ at UPl=!9r#
+zYKO!4+tj6&XwWsspdJ2UpXI^uVIKhc8kJepf|zF~yOz7RvO=)>J~Pn1V)6B=Z0*i_
+zPR`cs(iT$Hk^vLdRQYJPWVu-A2Hhuv&`wr{H$U!Hqb|Xz5%-bRP at BdON5CjIp(Q-A
+zF`U$LsKq*GzTL-;kkR_oAk}uDyGA9~zspUomGtzaht<k}CODgLu{~|~^sQ^-!ZI(=
+zUWmcHRHe;2z9Uu0ccMM`hi5m%AYC6 at _xq&xXR$w2lN|f5NAQ$g*25mUNQS=;uSPmN
+z8I*r&akmy at 9Md$iwz2SS?r2+cN+R$FuTW2tUEazs$TZfad{xE-Q7QOH3(c5#V1A>L
+zDUD5}Qt`k(EN+5OwZ}SBNxh3bD~^UR`hhlzlOW6wpl6E^0)|HEmJzIQuo+Mq75A$}
+zCIOplOtM890qamqgGDZMkrV^6NXcX=kEycA9s$hBbZ1f`OBZD_S|inGvhK%F0d>a#
+zgBIO-6pGSS3;>itss=q4tUZgWO3X2^#EzL;48QihblF856Bg!tvF!KQLOnKgfM>A@
+zcgzP{oai_ at EWC+gnNOI^gIE?H`87#s-^P^;61m0G4nCs1Bn<Dk`3UES(C;YtaOQ_q
+z?AZAT=7-ws==<>Ihac?t`iPo@;P1%z08PR&cC35^OhR>cbbNT~5|S6U1UvES2aerD
+zHbVGzRD8Icdkrt%cB1j^(5=NAUU+rFw(jtD0?zwS+hDzS*wzxfcSU^IH=^%$VectK
+zBQSQU?-|behA-R#UKfBXF6;sj3I-1 at d;?%i!5J4;0q~}Six-{&u$$o43#S0Y&B42i
+zz{gi&;G_%7M>w&;sSEeV*FE6+3x`L9p271A|3{c$aKVMmBYg1S=7sko?A?y2_az<x
+zw`t60w8U_8K;u@#@!#*Jh93rsF|B(R1-4AeMT}Q*7la~3CRQGoR3;ljGb>{=BjbU)
+zE*&+3vo3=%qXoUS%8<|KUIU&6UjfzMfgF>m5kP$wF$7HS2RVR7 at tD+u3_yc;EXzTD
+zpouajV2}o=4`nb6awpT5#{~fY_2<C^2xaujSkz_G#|{QGh^NJ9YS7`u%2+h$QH>62
+zYEY(w!ohtzm~NF9AjNHb9V&`ynS at GQi3TGQx+Cc>TTIFs26TKCDwb at SI6ca@vD9ED
+zw^Dw^Pk3^1JUf{T8w20`eX)eL_2@|sB6jm!!vLxt{R*o5%SaXc+uHQG`w??_u2FzV
+zkA8hs{#B#{{%s at r+=Ga#Jl9YFn at 7KlYTFW02LHAuz0rQeSe|Pnpw6RTN40GQ$-&py
+zH2nC&pcB1*_{IlzBZhB#q7BBS&+w9WEhfj6%eim$5`8Up^+L51rF9p54b<Vvw~=tS
+z)#XFJk%X}oevc^{pR`rdhDbgze2El*UC>`~Nf>}vFmP}QAAn`rpK*yBfNMIic!?GO
+z*z9k;Bn`md9JsrLeZ&;&Pr3v=;)o4QU7|c<_w?6a5<lYg44hvgK4Jy;7hK{$;sy_F
+zUSh1p{XSV>Wc6<CF8PwQMkNc5<;P-A`Knq at vCOE@E3GVv(K2wm1d|Gc*J_|HH>Xz~
+zo?L?Ou;3f-RX#}+`AmP?zp;e)+d}Ll3D%Xu+MIWPi-IIx%9UY%hl3=M+Lb1;e}*4n
+zc!!@P3E)bl+W(CozG8=aeBdxMiR<$#6gRp_N%qMh0lf%!H!{540HY9Ey;!R at O#E#N
+zqp-a;9A;NSvIxXoN*{)Y&)83TkuaZzh&~NcuniA<Mn7(Vky?t0wgf~q5E{C|*MX^B
+zamhe(+xEgli(9~N{x1bV)b|pd2#ecad`L}_jxP~9v0VCd++a7tT6dh<u=uvE*TPzN
+zN!xH+xAT1Porg)=0N&fqoy6yT{+FVi<mA1Gmy`hn<b85(7@|>0yMTKdDE?rV>z+k4
+zdTJNto~k>7eV6&32}(EECBCQYj&#`-x at YT-KHo*Wrwoc9-=)8242mk)#lNQwiZtEj
+zyJroG-rU8wr+$tQ+hxCJevazdC2!+n`bpd{D1FXxI at +3bYp5Kp^5|Rj;<9pOs%1Cc
+zP%dZ{Dlm|)y3>>Q?LRUFv)!&VkD&{6QK&8AzelD1``r7VCFW(RPHJ=NP*ke7+PV}x
+zT%Qx_JBp=*=*v<Dic!269(SNK<xJN~yP%?MhsR*A_s>W$m^Pch^mkGG!3GbmISqm7
+z_4ReWd+<U2i^$Wj<74kv%nb5+aTc$RHNY1i{FB<2xAuX2YHiCutmAT=kkovSR3pZ@
+zkfsRx?W>HIS#fU(@Z!?f$4Twp4shh;8CBFe4EalqePn4mS&G_EGp*heX~N&Mc;iG|
+zzJ0=R|8X2fs?dzbBdV|1{HQE-x7}IS{sylW6`!?sL9lWe;l&FdcCu)OQdWsCXOc3!
+zRQswrTZ1s{hD)yELw&Z5nUkOGOnnYo6wHKx!*S<iPWCd*XhiXIpzXYeiC%4#vx`-A
+z^MrT%_yn at lW4mxv=FIkpWaN^zNs(ozC4t at QTf^48Ce2g5dOhdw-tCISiN^*-3p011
+z-VblT+dm5mMsn_uIIMl*l4gi at tv@0<&+0EekZ}0|Il at wxrjRVFY*Xj$to>p%SYmYy
+zUbqenSIRo^mr#=Xg297bXP{%XHdGhiF*24379r$nW4FX}Bg7~i$s7)YcK^SPP)>5Z
+zU|9Cf3~(X<!5oXhruk{@ZINuoMN*(-4SCY+U4jX^-Va+8Ka1bEvem{<FCql|fJtWg
+z4YLq=o+}#AMvWc#4)BH=r1A5I3Dpo>l*X7F{!gNyu-Drs0rsaTkK`h<@+Vn1zni*9
+zyv6RYrLFsk<rKA1EW?Cfrr8!}%g(XZ)m#{bx~FBf=4kITL)30Gh1;Z=8L=`x3~>iU
+zl;(VmRrbW{4A{t_(0VQ4FA*M6(I<^x^gLcer0h#nDuT9egk~FJ^gyX0`G_tbJ~$&z
+zwG{cir(czQs)oY9BE3pdQ~N_ze=|f?HmVqA+lrB>w3 at p?*N at 1wFu$MgoN at 0at@AtJ
+z37IW0l}Z?IG|?ODaEk2M%I8EqNhNp9b5!od(ASUMUu+~k=2e4BOxLO8bG+e!#p4T(
+ze5x^)jP8GAH(<zzYOFvj&tLw}cJSPP|3 at id$wph}02^WJT)p(zQCdd)1et*<wo8f|
+zC;{4z_yI?(A{-kMVr+TRbyo-N1{p(NHyZ9X46VBfGw$ksAN<@6yx-`WTISj at u<7e#
+z&uL*Q3)9h;+uJQA(Z)hHjV+!W)yH*LA0*XAvJuWGZA=Sia?&JApr)?Yt=BBkah2DT
+zZT$}CuI#88rm!q6mz}nF=dho4k;aB(XAV5vJb%Me_4?(~zVkZ+En~NWa<#&;tQ;RN
+z<M5CQ^#odW6c2Y*$VFN+xX{au at p9n@_`2}=dj!7&v4hd{-6Egze%u#jCN(FAMxGM3
+z?u3HiG==5JGVm_!Rit4mAlvH*Gv@;xbz5`=c#uYBuvGt$rOa5?&_PhN!^<e8GtT{;
+zVnuUXgzVdPBS>(8UXii#0YU2fKITvlMh<?k&Q}Iq-M#Xk?bQLuMmj+{QE!LJ9-lX5
+zATnfiqv~gLd%sNC|FMJ at 4cfkbEG*6Z0WKVg=YF7%NsLDy43>Cdc(fDTN>XJM+Ebw3
+z_Rjxn36C-dP$%w0B(J=P4y$M%CF{{be!ZrmKT4;xY|YqlGaB at zyNRNlt2&LZJ1&VS
+zV)N_Ir~B?}=fwN&pC+<gxiCHP;sd4cb6Hws1BV&n{wNrHJ^l>hk&IxxDaul at j$-+V
+zi&SIcuoTOfcZYuL30(nu3F3uP3ogx&IpDJ-<LR|BFD*I=$;;pDj^S9v5*9rr at 5qKP
+z%m35CkY+y085A!D=>6kh2!#@|VybLCj3eQ={x}%kXhl|yYFk!w at nmK{T7Su0Q6?>C
+z(@LtE;^y$PrYce<xPqPg0QE1}zQYs)CS(<4nP$3{Bh96O%z~`4fjz+F_^e-fAd6?S
+z=XWgQrpnwHo4Iy<&F>5dCt?-?Vu9`ZR1L}`fGHXdr%Y+;kG5laSzgNibfCjt8ZJg<
+zrnzJV%h at c{a=={HVZVn}J8(UVOgKQT9RG at M&hX`h`@2}-;lQ=k1Mn#eW?bAFlPi<3
+zAJr-fIFN-kE^m#)l}$JhZ#4vj4rRurt+BbXpo(Rya^PGR;kdFj9 at pyUL$yhuB<DBf
+z5(_o~eD>t4(gOCU*8=Qm$8kS8^(K{mbZVcO(jDwYDVUm4-qofBeQYy0n at VwSf$rda
+zYjdI6;6<e#iHC$8I=3dHspKm>0hf<gylx%WLg4=m<7$WTve`#gm^uGH=z&w8{`i57
+zF8?dSl_*w0>=gK52j#NtUNL~R8*4N69DKKfcv*6<@W>K`)swP38YOB@%G%Om9haB4
+zY~kY4^5dIj3qOA*Yht4Hqc*&7DC`y?NhlG$YrhAAjWWJ#p9j3IGN0?fIEpXuN<vim
+zu^&2w_dxXiGjgAU73TP#M()>eYUBOt1al~z|5gf%WBpMIvmna=p?2XvTH!xFVHPA>
+z;2)9jtUA#jxE2eF74WGS<6pwze~N@*DKVQ~YxkmtQH(>E?_307e~E-g)d~Mh<Npr_
+z at c%LhqgpfkwT0iufReH>p-u(~;&F0HtSfrkxMhM*nPO5x<EDio*8DW)yrJlsDwKp=
+zuQfS>BekL1cC0Ht`GNQd4`r@*X3yw(93_QZ`{dK`P!U5ch#WgJSi*bUHfG2XeFA7G
+zjxwG;jopOX-0z513$(m`Z18*L7YXjn7n7LUl$|Q5JaDNwXob2N4u7p4|Iss$UjNZE
+zK*bEz`8_576f;1r4BoSUSXtgPSKjki-g8&pi&u9cWSJsG^w#W<$X|Sq3CqNOIjq;q
+zw-_^s514^P>@ye-SWiV_z*h*Eu;vuNHwaka<{Ut{C`>7H1|Vt_)_^%b at U<)^wK)wC
+zSr)6roEwNRglTEc0z at Ce+BFvj!q8y?%&CA#bXck8oIv<;Of7RJAR5#HZY~Ifh5p8v
+z(*aSev6{?zfrwDcw>8^1?S5Z?g=o{ObZiuJ%7!<*m~rO71~^_UrC;e*AEa2K_rS<{
+z5}%rjjNofP^U8Sd0L$Y<dP<+H7WxD&L>y^&FLrr<+5yCzxg4qA- at 6%_F*kf%9$NhO
+z2A=Kz%MCo+{|g&<r}5=cyipeoUzV0zfysLm=mtKtXRB&FMm{c&`^tlhoY>zE4`R*8
+z>szW{nuE5)FW)51m-E>z%{t5Z{pU~@cEhTgdZ>b7oyoYi{Ad-W$>XC6RKeij at g<$f
+zrfT8Xo?3 at Z(`jLzx7w&|rMRY6`>Vnq4ph}B^E|rodLdK6pJlufuKX7zsF#7Wbfvb&
+zQ2VRW7dhS5s!{fN6XW%w(SI!CbzrJ)kB`W7;L8LHYkvRH4;R*vsqZn)QyPnuLiNMZ
+zo;NW}>{W>nC{}AjlXM=6)e88>G9EYisI4wv1B%r`G8U<*uGFUYya}te(9D~iSAq(M
+zJq>j0E14+g35~nTt4p<QJa3|^H8u0*<_)VAl{`&!&nuaz=i!aJDylze<9ptOGKp2O
+z9Uf8ZJZl;+%+puD{>L)@W9m_LUAMHfHFL+rXkVj=fHgDygH)WtOVOb5viXA`xEjGZ
+zL#I<iQU%Ox at _+%{czONzOLCR^Z at stB`t-Eut5*#FE#c}vw at 6M`5w%nAh!8G<DQGaM
+z5pZSPw&6(H+?XjCVr}7_u!JOIFyoMD-8`4uTRow-WAQ<!yU$<zm%8rAT03r^3l1hG
+z4xKL7{HIR44)jV6ev51d^kkijKnKj1V8SwOp^v0RR5}>bbH&Bl>~Unr2 at RqY@TFng
+z)A*&~sMAxQ>@#(O9aBKau;ccH68cel)*cGpLXEl3;mF^nxGUd`e`9Ux=t98FP7>J8
+zS{C at qxNLWbFwZ@v^)`)rWt-9CYh0(ohGxY8&*+}~Pu=a4GX$%n?e`r4T^^zL5l{w{
+z@)eFCTD3v?*y%W#P<gL at x&u4IjC-|>FUf7n_AMuV`4d+{w?)QAYZdsA?I$jAnt-Sn
+z4;PmNxx8MVbirKQt}+jUR2A9vxOzp$bYZdaM$x3(Bxk+*hxG#nRYu0kcyBxeUa}&-
+z?7!N6H+4$6B>{|)CBuG!c7wN#&#E0JLb(p^rj!6d0`1ZPzJ~9h5^{TQ{6otc@`7Je
+zx)gJ#$LEZU9_gNHy=AdqziWn9bC&leTi*$CU89D_#!Zc at b$uW8OD2(&3lzGxu&J|A
+z4~3;K$+&<}c{CU$y)+^$jQlhOT6TW=@zYvpc(?eN>v)^taucAGXyceQkhR at EnD}s-
+z=fJfhI_a!4uY*=oT~%DmBx|KVPcc7Ton5v6_G6`ifsVucQ1wc+*V}ms&*o}Xy%l|0
+zLmmA2wL+qo;{#Z$V?7;Koz=o at -EJtQLbYc-!kbP at EZ!%(xa(F!RbU=fZTYii0lieg
+zhi4DzqY9%cbsc=0!eI+nY{6qQQ^6VrYOh*UKeV#;BObKO93Oc?^r{cYxPIztQI&eN
+zG8MCycsgn?I-^WA)ekK1)X}u1g0m>wD>ZC<EXMq9l9+b$#nAw*cKxRSE7F%+0*BI_
+zHen;4h2sd<PgP_nU&^*Dbl-MKMm}}>jnh`QzR^y?&{n(9UG$zY4J<{T3%*${_G at mC
+z%wnqF)L20N-U at eQ`1*!bv%s?UI#c6ZL5%5Hr0keh&ssI!NvCKWk!f9pTA%haanpth
+zfQ|2Xou&%YSX0dBIc3n#5a67^wk)`!NB>DOQa9+n>s^<)u|r{<&SJvuw&Be-z1z!M
+zfq=v>i%J96CO6Q12Ql`l;^v2#;Fl<Fq_q!io9iD`KZ+^ij{dY+bADRB);%xJFw0^D
+zwn*w!b$YStQ>(Ai$kiQteElwE_f(&xX|os{z?RAm>8O37A&=v%)JpGE-`x@}A?v?3
+zn+?~;*!KHu-XFzCOivvGuMP879alQcz89fb+*2L)JKRhmUL~}23N0Rk!~FhPJf=YB
+zMo<ygnnvYDWEB^de+4R}wS_kb=cPbuhCdbepN8>(%M-WxfZ85XS4a#&_Y27{#D}0g
+zgy4KYo)tI!fX*o{HckF6491LN<aM|>F9B*)NKLQ$2iW(2sv|~dbuhkWa3hG+eP6Z&
+zT}9epmLy<YLnOE0O2n}k5ZE|~*4`-g5^N!msUthTw(3O*Fk>M=912G=qiQ2ud+iM0
+z8oJs?qmtGhzM=51V&ELK%a|u)GbiA|mM3>G2Y=1h{(-GH?hv~@jjd$t5V<|2uDIrq
+zs6D-|<oFPwJ=wW9=Mb;`qjSmXA$oi2S#if9S$oD=$?roLzYk=^d)FKyl1a13e(_`#
+z^biHV*!*%Eh`ygUL1*-a(s{|<93mwAn(|NMBflhRb{OLOz#kYUs!&j at HfIBAx)yj4
+z4h%IZWS`A|j9ueCFa;)bt8Q}i at f{joJ3XKWW^~JKR*+9)9Lil=J|I1%1<8t4m}YKg
+zTr)rLJViYxEM6EskUr%<iwBpA%@iE6UsFBJ^S2rG+zhDIRQnb^<GaNKVI5N{W6+6Y
+z-e8i2;RAcq5>l~xUsu0ku0*Di;4y>MC={%Ou at AFVNBNEbEJUwFv5*i^C+B{JCP9sf
+zNEA+2$Y_g at 9gasqMiV0a&l2(nxWBsPe+ogWg<SFo#^SpFE+0d?K;p>q at OIGhF(P3h
+zIRt~V?-d8;yHE)VVrWj?t7FD60`t|3fB^kZa4XF5`bT*3mVqm28`;{clfqa0;*_po
+z8ij9gVDSmioZ)EAP+eg$7~uIrIk(_N|HRq5eQ+FDYpBjJtzoOZr)HXOOu;R20RScC
+z^h_$Cjzu=u14M|;MQg19T~km4buIG20U&s6Zv~b#J(>nR3lLZnWQ9FO`&Rx_njUR~
+zfkgt?0OW~%Ov@|pn6^aIpl=ZeehYHKUZwStKS^7nZ7{S*0-JyWv47K|%af$>(`c}{
+z>FvaTH9*K9OYC7<Rr%aBep)w!op`W5sDt(_xh<nU^Ec$_8s>o_Fh*3FyyyT at at-v$
+z7ga4NRGY1U%v}>cummQGs+mH63*xS6A2<UeyA at 4K>gV|SpTFyV{e at Bg)3tllDfeD+
+z#{uNx_){<=?yeT>jlHS#NO4&LR>KxkdZcpG*wG~w at RfaGCcTQMK+OyxjDRJsaLP4L
+z6~Ou~S)<Net4M9fV_%}tELbbyFl%cNw*V~^qt_}~+KCtx at D`%kQ4`4#&(SqAI?3kD
+z;c at 5FK`X^6EycBV#M#oTvtG?2r{Y4hs?A&~<;J$UD+yi|BDQKPaku4xw#X`FcFpW6
+z6@<;?r)pe>uLM6>&q#3RpqEQQbUYX)ioSXfkgC>~FHQ>!hV9QKUmN(5cI9t~pEidG
+z+ERMXYBa~-Y2lNqxRla*pn7Uyu$J-7a2}P3{=4qKq3lxBI=c!v^+-t|j}ThYJ1hNH
+z|NjtGFm<xH>5xP)W3uGx at U<WQ|C93nd%sMwA~`#F5!s|Uz%`ACjM^O6wWB;OtHh2d
+z=r=9d2OsqvN>DT{Su#KUWhK}W`+$}#!$)#Q0aQVgpY9{OqYpZu$<OeS*a-v2VY5T=
+z$(OO<8ti(7PPWS^a1OSMLMQ8GBDe$lT%nWwG87z*O|B5YatQ)gU>7I^uw6!iGq6n+
+z0$48-zy-?^{b8guOA>V#=v0 at BPjcV(o==l=Wj_xX<&zHKoN)A^yGMExbPtD#1;6q7
+zV21eZ_mohKz>>sY-^6x|PF3Mn_Gl(ewPengfes-1*EfJ(He1aevmlb~F>K{Z5Y6^@
+zwhCs5VtZ^|xdX(YJ+ZEW7$VyaaxOQ7ylqc#t`LH#w#S{7`$J6Hlg=s-ArgKu>2rUL
+zB$y#Uzuf#n`a?#)?EE4dmA=IHm+#LRTDBHV`qJN*wc>P-{P*vZ*5^n#!x7W2NVuLm
+z<dzR+DBpe;v|ui)T!_6v>_J3n$<2L_`(9IKU#HT3Z`A8U4 at KN2Li~?&t(G at ApW129
+zbq;RUoF7&C&VmvD{%jhqFaM(r`fQp?`oDTMl~j=X4}|{HWg8EjL875cfo}?XuPCoK
+zD3NHdH&QUSY%7t>Vqz8eBf=^BXhQVrySzU$E6N>qF{{9!bS;%Jbm80W<Q?=_YA;x<
+ze>q$97aKoc=kmW5YO+y_`huQQ&u;1zZ)cAXm5pv*9s!*=L}pEv$JOoht1tq{o$Ils
+zb(0y|L1)EsF^t3(o$Z}6NozzFDMsZ1ovr?3eMoLy2*dQ~s)zUoDnz;1_yuVYP8hpz
+zBRb)Yf_Y9LJ=eF461 at 7ch{Mpd&g<NO3?yYOrOH;__lidKaKDxFO4m9+Ep2Cgm3kD=
+z|JCq|Ixy=QdVAFqv22=N+pr1~x_5ts&vOi`gut-vs*aHExM!s(Jd>E#Yfy6r_%a?6
+zF1OHfGV*bW_>24Ho8I)xdiQbkkP7jyW~AzHj9W<-&+c?>*a{^V#y7xs2TX8nSQ$|}
+zH6(;~=TdqtP;+u>y+;{txVk9&aXUV3nA}e~cy*?H7LB{E`@VjnE@#j&D&ji8v~|rf
+zr at nmU<yYfIZW!5ZK6`yvmrQ%n@}a&LFZHQ1)7q!{JWsDP0 at Hlb-h%pHw59Q+cJx>{
+zR-4~~LJG%UAJN7fO|y&8kMU|J{M=x%Y3^2350X9CfWJNV7#U|XI=%R at rs12_?Ht5v
+zS=AGqIy5jRSFuWX?BK6VsI_1 at n)Q>iykhv8vrB|-HtjZ3u{>$`nukZEyg;6J23mt4
+z@>33;Te3vR#ADMs77GsAt2zPVD$8^jKhKCziqLP^c&Cfyus<EZvT2=?ug_j_Jv}e+
+zD~SE>Q_ at tLM#gnc32A<pQHAxf^e%Ryg&8l$=tITC!A-gEX`PCaDsgG8E}d9l<<v65
+z`unSgB$g2s!qj8Vd at Mo%k(U)<GBsy5?OL0iaIi}=`H1h2dR7bKY~PoM(p#6-h$mv6
+zA*aptx{9vq!jCNtDR`?xu?D!r1CHb!@<UeDO9o*`Uv!7k5<nhb!}oJSe$lyhyG`-^
+z;X4TXQ}=3riCVQ)=E-SnpC?GV`cTVQW{j%U#9>aJv*BcEs~paxgP-#uOGY5fx14Nh
+zm_HD?U{QxvE9ZAnd1BR=ZBdJhF~HXFc$38+0zI2N<1d#edzjyP-6o#F4{Mt^_B)TS
+zr>*VflF57xKehEd4a~4Jlk0Iy|46)|AGMiTHLqfQ`0l~I8%E}8o`pDTC~`S^nWgUm
+zf!DvJ at hny%PNjiZ&UWfeUT%;KwU4sn_M7}-Ea7rcV3T-VGnI2)_Hu_ri;eqSvFmr~
+zRk<!n3npECM`1qnrAQbDe&bjKR7Srt%(;|E at 8t{^<IKjmgd_5;Y=5a1aE}!V!zi9O
+zI=-&cNh$2f&*mq0`V2#x;pw|9^--(0?OL#~TAJ%EaLd?^N-?ZOEz*_PMFw#599V3z
+zNJ$KAiZLlvl4;n<#mx-Vqp|OcJ1Z%eVik)UE2*ku?TgzhDeYqoid!nFk7E6byJN6t
+zsARb@(PXG+^uV!n#Z|U+*>QNqWwx{ialFN~w)87;=*1-v8o at X=XQkX2e5B$Ud7O1=
+z?-?ndLDrqO$uxekCdI7~>WA1MD*e)!zX}h|fGUd*@_^Pj=#|srbDL6W9BMLS)SChV
+zrbaNwHvYiiI+bBOrT~?0JkDK=a56hG_^$x{F1BGu)UC%y{4Xfz>J78i^IkeMJH96n
+zO;p=Ty~hzvn1Z@!NJNv^x8m-xyW{J(YVL^=2QKdgyF*=e4DWfN#PuEjdr{S1j0>sU
+zm{eCz)xIizw2EES$2Vd_S^OwAyCk`BSFWOLy^(Ei at OQC|V#izs>Uux6A?yChI_vtr
+zw4pEVB0Qps4JWiA@%=0K#DnJBu0m(Md2J}(yJTx|n_I2-q(MnyTS at nT=lI{QVr0GH
+z_bAV?(H9(KeI-7qNxMkGpo$Cb{Jth1^r>C=&X}HU+Rk|03nmk2U at iEJmD$(}cL;~B
+zhURgn>bZ*jPU$l%WlO{gc9CL)J(l)>bQ=SmaB&+0rDE(G4MpkL+2VKx=26hk;;>2v
+zCeUbcY$a1Q=%_fVlF=TtQk+=Hd<1%+Qk0G(m=Wj3NszY0V$O~!FV3=MGl)qq{%Fg(
+z64O$gXUi at alUSSzVQG(n=HvhVJdeJJH3ZjEDO}@pNxRI*UE at AUH_BuERdraS(;TEo
+z{^Mkb5gIge%aF$>q|!pg5(R3%1DW@;N5yr>v=C6fm#!mVJj3#(GR29}uxKWrKEt&f
+z4BQF24DnGHrXg#A!2RET4+kg&u;{nn<%Vgw5vdLn-eU#DbGhL`!*+iBgKcQij^c*J
+zHbmQold=8YD3sX^w{A%7Ldz)J!Hu+T810 at gD3RC=;5@{Bq4bE{GsOBQCHGnj6>`Hr
+z8xm>5 at 9A^76nZ2J?j^sZe<Zxy4iXMQ{L?AG*ftjqle;7!8wU7bt8Lo}hud6|<PW3x
+zU<D5-`4HA`>2yM4Z_mepb^lPLHwIR*6$p6w12DHFEwm%)W`>fENNCdnEZT8}M0EW!
+zz-_ES86*u&=@=;JIStQBT3<so4IfupMngdxPe)ouLq!{(M_NTg={ugMw6TWTcYF;h
+z18 at vNagi+zQJmh4G&k;qwEK)?Gfu6v!;EY*?y0o at jD!bHo;0+i0tWdcQ?$oQ&!~9d
+zi$v(IQ90u(6jwlK{o+K6>ml^eN(+P?AtrQ(H<<|m#O>D628Hh;#C1rwk6>n5#9V-i
+zsFY9vK|rH5*2cj%$<*%$<=v7-0KbaG<FQKy3Eb)l{wMv0>#GA-uqV0&z3@@QaPCDL
+zAm6n=RTawJP!rlFq!&JpILN)|1emz?$Eo^!Lt+=&#-;B(idf9$m_*vmyJ!b&xc29$
+z`ivpD2yK(ncOFOF<z93H==ir`=>taGME-yLE<5M_(DvRYtPT8uCqbnb5u=VJArcn#
+zrh*oApn<^eGk<z-3PETY2ey(WAxqreXW_TKv3f|%mbjl{=RXTB^k(a!I9QT?io5wN
+zDr?R?WCrUPlkgchWC3uDo%k%!(wn}7Y-maB7<c+v#H%-P2}x-8W$OOrIo?~f=jEeR
+ze(((44oz;nmMfF$z#%^@v=RgDoAfX9BOdGs=O&@JQnK|Aw!vlWa2h2tyVBP6&)*{j
+z#X7jM)(zaW!9bfcZq&~G6Zh~zAk*!|Hh5?wYb{a8mHw=My$$hh=kI+E(X}MR3ySBk
+zo*hczc)1G(vVmQn*J?YA!U;APEcpXhJ}~T1pD+^pE^cS+;)Qo7nYzaaJ4Yz9GUz*P
+z`H$BCVA2cwjM{qg<H80tL?iX>xYPU51g_oFJg>*j_2<pMKm97UznZGTdi4s-_39P#
+ze|wqz50YFqOGk5ecPQGz14ritI`Lc2Tc`Of-aCynK|$#eBai=vHFFvp^9^#&yHGQE
+zi^d{`2dW74*f;VnR9#UU9aOKq2GL{DSoAdD0?x12Ca^IR_n*$agL=Of*jRfxXDw$5
+zrRI|Kv^W&Re9ssNO~IqVN+F{m{Ao*B#hRrz!Blz~=J*MHaQ3fFP*Uh{-w4I}G(bXA
+zE}x||<2jtD<nt*b2T?qXz`u_;nQ(OBjAl$eM8eQvkWHV*1xY51b(lWPET?$>u$gtq
+zod66cpZGo_7Hu7*nOn_TyIP2OEESjH>LdS7r*pj=h_$*K8 at IMpUfa(geKBwU^iXx;
+zcIgI$6|nM330WywuhE<lPsximQmDCVv(03{@5#c at dwvz*!OXT<ey{9pkdE#DnioOV
+zJ2B2>U7$KI<p_9~1$&IHs;H)_K%A+=$2^dl#z{e2RabA&!F{E`MLW6AXvesb-kxwl
+zB=S*D<M5kb+n|N!tZ-gaG>sqU?mDQ-PYINHP2+8^=539<5J=2=UWl{a#WkPGJ1r!y
+zAnqfX1A!3vu_(HD(Ij5 at HFE6m`bkBd^{1wPq5+?*i;8ds>G>t0y7>LRK2a9&Td>;G
+zT)ZPlJG?a7q_>r~&<tpIiFv>jzC3IIDFC}SYF!svQto{}ytv0R8}KD!pd8~Buj%LC
+z9#;7==zM+}(!z!QP%6c)-to?nH++SuItzWE;Jk)O`?}u!V5T(}?R$-hQt{3_K;x2{
+z^O}NW`yu85qWtrH7Xv`Z!@C0QJF(<IiOZrjT0lkOCotQxN#KK)2yAC<Dx!^zZwbOz
+zE+N0QZv<LmC+2mZS6<GTF?Qjr5REu#YdUNy>AA)L$G3E7_Ia_e^0&d!e$$~7shWZK
+zaz*@s&#A(vS{Jp^Yv14H^_>+t8_%>Z)7~l7ywcxFiEJF9)o5IzRVpo0YFFgTVEIVK
+z<||?FwN&VBh5~&?XN=QWS%%VEdGd@;Y0qr>wBbgLMDq(H1{ux0vx1I>7`!0~W`Gg+
+zoIbqIxQ?)^edwP7C$BsD$Uftr!2a%oam6IT4iwP&t$P4KTw0*5l`-ALb*aS4$vaZ9
+zD{%?!G`?~Ab>2-SqVt`lH^bL``0P_ at T3UN8<+)ZM3f`^(4x8v^t%Fj`+)cmb#rnL;
+zJig^RzYAS?1OyUcE0RY8HWz%e12;De#h~<TQZnl63!_H6thk{mD93dL$)yvd5D<D^
+zsT_{>Xl%YJAH6YDcZrGb-cFx!*SqtfP3Yf=DubYKE#zU9W3aQFU-bV}m0faDl@<3Z
+zH}R}^uQ=EGp-Cyb!c;rFGjgOeQcr}?TS0XJ<*98$$@Fp`_5?7JMAe`><0U0x_sg5v
+zn&`;J-tyeS7wuOo+%G0`fu+_Lv>fHgfSlL$y6CrekWFo27p-n0Ym)9Rer?lwqwWT*
+zrf<5Gn<ji;#+>*_66!6Uw~tgFBnXPgx2Rw=Rf!Z!gJRa>4$`@2kMH&jT|O=5{4jK>
+zUd(}hUAK5MQJXPlzA>$j$Co-uWwE_6>)$fx!0M^?K*-#OMVp3O_<k^*`S#Sp$%6Ux
+zOQc7vcAABzf*^!8W7$-&k%x9>_S at nDfg9w7iifHtro=ijYH+Wf{+PQ_(cr2~PhqS@
+z at AW5Ki{%B`@1HOYW>?rIzdWnPB9o0`2|64(+c%WRuj^?rvSUDKQ6?VR!J6^l_XIqp
+zP0!zl%GmtA)n(iSK!~RuH$$@bm$W0N2eEO?ol---`1yp=)*`f$6zxV~AsCaJBPAAf
+zlWD+;^har`-KFy>u7?LZsytab9FZGpZ7zL&mpBw<x576X{s3rB-XbsCEs#C@!SHff
+z`Pt!>_YJwMfSWz>@qleHMoE=uy!8W-Z5`qg)#f(MJqCSWFhA1sfWig2YS_7J8u(Xz
+zSe+kf1rsK{TMkb9Mr-P6v$+_SHF>aD=yTBPrzg0F2Mug?k$_sh`GPGj8|hz8n)mxH
+zLZ44HtucaERS&-jNqq~SJ$5N!F;z;M^>kMPwi1 at vF}if}zW4w~H)e+yA1Kz5C!3U7
+zO*%?--Ub)RIG+^}``g;xUfpfY9(=#v`gymN()|;2sugMz*qI%8(2Cw at D!9J8Sy4R?
+z?|Mx&s=Gud<8t<yUg(pf*QGbXmRRX4w<|ESLK=-}YOO~${y_rYm-G+yJUKl)#H;E?
+ziVNYg4*8wTA`I&1q=m!;8O(#(f|A4nN`lNRZlA_Kn&lSlc)pF}w|3LSVysn)Wh3_Z
+zW#lq@%%qwDYCl=rt3E4^WLs``oZl0AQZ-e{i1x^;8dJbhN}8~*9eZQ!b at a2uxhIP4
+z%!pB=sdR3Qp+>+}<ZE`Y7uiR7ouDTwG|9#NQDc>xPRv|p%8_0p#;Q5Nm)5t{dk!TQ
+z-I|0>X_9$P at HJXQp0Y2ss;7qE`!WYKD&k$@PwJmGkKXpE1nWrEzBBG%v4`K>dHhkY
+zD_~lc?d^Dr@%*;tjP+s1mnZP!RRT`n%E4yw)I%$TOF6 at UZ-G7OA<#vmXUJ)Y#QI2A
+zyzBGpn`7xNb<-YP&y`8sO4Eh<2tNlDlX}i0UzDI+ezBH)_<CLVn@?d$fCHI41_+Nf
+z?iXv^Eu!~@^&NqmG6eQ_Ow)S$Jw!)3Y|}huYLng>>*2y$g+cl~f=9J1_dag9DH<1k
+z+m(xLTf5(fGj<;x2KP*U(c3)=(JdYvY8!KUTpn>6WhA%9&(g|eAhj#cSY at +u!JWUO
+zy7JWjG{$NC_9%=VH=o_mW4UOI%orW=9?r6 at NbeVCJ^$6m$JNgT1G*=zdUs;vPC5dk
+zGY at XrC8qI1M-54fmf3~DborIRk9noR`+1*&JM)Tz%k!9`Z<0G{=Jtxm(+b|D8>I-m
+z*Wa(=(62m8mZ>gh(eZqjbwoR+L#|)+ at J;a}L(O+_{ThTZKOQOGs^yd#ypgwG^jc~F
+zjY at eb>qo516&oL6AAEyHtiPEXejsW1`lGV8jif1Z#LbXdz}$hE-f8CjC?0kFa{ITO
+z79ZbLUd4^3y%D=r>0i^lGNLV~AJm-uf5e{_=6)efo^q at o!EXWl{CMgu;L<^bf1=pk
+zYWRM}L at lUAZj}9&?)|q7qvy{UDa^OpU+sgn#V)!=txZ3X+**y=nL=H~4m#$)?R36B
+zCo@@#)hI4aRbevgeQZ&z<a}$Vv%yp$S=&;bGOwZ2VxfauQ&Vk!qdx!1q`LiM3Dqa0
+z>T({P`G)c;zXh`SUco{l138^iPvv!oJne+qMIEi<So at +)YXd=&>MzvlG6GaO{&JS{
+zeKV4t at 0&G&iQ4mn$wlpgjXJrOZAaVFHcJhfH(sAoNrtWGHwo+3CJmTo^wnqusC62f
+z8i=+W>ktGDt8i=#d6t$nM0VmeswV5~W4KJpg#4>eZA?ENp42zyeq&k{kVo?@uQs1V
+z<ykw_NfL;z8P21gmp@>*iQtk;*jZJTd%DGj=uyL73nc>1fxhP=e&6mMsxt!W>-`R4
+zuChO6j638E{7OUp&K~XKq?Fv(?ft3SkGyj>a_j86t80o!jCt9`FIvm;sw+L}ezRTj
+zk$sBtIpY9xbIiR^IOT4@#Fl8I+rx{k?wwlEhL?ZFMmih1ac(;t1iMm+<84?2-uOI)
+z`WqYsHgz~0_(5?F26V-c4)He(NQ$Ae|KubUzJ3G$FHTb5It8jW>|Mwa1<ChUScP<z
+z at b=+?g>01v)87%%#HBEi&fpVz1OLJ$6&r9(lQh3#?RzTxSZ0T|62kBgybj_tl*6XF
+z1%nA|Az?EO?*YFq?v07KBY`mu5Pstqx>1NB|0=LgYRh~Y;~LTV!<!Uw&WjLefJp$S
+z*=u(3Mjl>DoCunJZE1W!Y7D`D7Y;=w5unS44EOGu(fGU;MtUxpGIb-g>Z{0g<tCMK
+zhv*3=CRP9-(t;q>axIAV19xDQYRS~>;kCdY77i5Q;=!9IbujDeA!;m+KP%$_G?vVm
+z#fNY{Q2m!YoQbmkRbUx?hy_J)Nt>1rLzu7m13&(C)qfxg%<GoeEOnV_Jrue&ejpQ3
+z`CIM?z4;&7T)X=v21)dkn$FZ8@?8seiT`tU4h<cXpQVG#d!|hfU9Pd8@}4Ew=fn<i
+z{XUwM1TS|urenkSm&v+xxRA9R`s(3Fv#A=t_CRVjCqvLf*|*1JfJ27GXLubOW<fy!
+zMJDwcQ^2Lcm5JM_Bc#FaiTkR<M1;i_VppP8hg5GlV<J?C`ipyFqT7eOQ3rf~{pBAN
+ztiNzc(qaA*)UM>VsM#Uqg at m@~1|jKNLDR_12u|WSwkRv1w}r5ONLch2uVP>t3c3EU
+zu$&8pVqh-|p)4#ixGr&*X+)Zk?k&m-4hZ4{ET24_0tKN at FEqYHea&db;R9D1MoEDN
+zZJ1mzjKJylqBQoYbD*LkQukVJxp80%!{o!gG`NwWcMpLw=PqppqxPp8JV;2@=%+y*
+z*m=qo(^c1Y52$&v1!Z%G?j8tv3N|wbhyMjohke at WTBbd>u8{eVsXe={$l*}1J>R*I
+z_>eAJiEob8gLz%Hb&k}7eqF|UPQ-(KUG8oU_L at RO8e@+7njsL>t(-KY3vqj35|L1w
+z)w<?+5DX0OR at f|dne&EpT#NW+cdLmNlFueVWzT>IMiHs0*(u1uHOc>AazQ~nK}tO(
+zn{(t4nTLM>1&VrRHzBkSLQml)<-xPe*GyfqFS8jzMlNG~P~G(B5LkYRS8w3 at j4<}2
+z%$jIp at QNd=;_!-O?0`gnNJ-ahM3PFgn$6s-Qe(64n}ut|rR-!3KyS-+Y<2wj&`RbZ
+zBF%zm6+E_ZwF(Y1D}QpzmuPRB1&2S`WHW77!A92Cm%FUh@#PZ!P_aL_AMWVHvR#Oe
+zV5n+oD&(DDq-xopG at bi_B~P{B4<bx3PE_rG1pFS9#?tt6v>uFsp=>4WvwI%!#tOPK
+zf5(IwwP!gO86NVs=baS_9kR9OoE7;WinbS!6(Sx|{*@FSDqUOo#dk|4&FLN@`K9C+
+z|0mGd+;!js%+rS;X|eKxX|+Q_zw|$G{Q(63`k$DFsX3JEf9Cb<v*d?r*ESC*PamIU
+z*=IHn$*(z|Qca3<4|!H^vR2(}_Ma=VauzDkY^8`4&dU-Yfz3cC$(MN&Rl_-6?%0;H
+zQ(OO)P_NRNW<X%b(6ru4mRFIn9p6gc(2UPY_-!f1tVuK9sT9E06k2f1ye)aE%AuR3
+z$yOHectt9YID;dYDJrRTh?y-rXNM4&W<AStRJQEFKq?zOhjk5n;3rl16IXZ2g at A;5
+zWWQcHq`i3e$RZ7K_4*zVUZ_pI>ICAQ at UeMYKfefZ^?+vRhB8Nhzy&ZrU{^(%12_Yw
+z0i>!Z1A+74Il6oxa01*!SDxcD2}T8Qsf=@8c7m4a_A at gbEb>9W=<qW2Y%P*OgLLVc
+zdiFc;fHCDxTZ^wCT)MZ}dR7)+Ks<B{*?Kk>T_7|%-t47!REuD1fT6M at Ps0S*3m~L?
+z!rd?ihMInqPk0)pz(D{+WfE?;5wJNxPML(~G6j^OLc(<!3)-bK;c at E+D*!5#JFRy-
+z0WO(7b6`Wd4c^N{khe;w%}z7uP9?x>M+!imb-x6rrxWFI8v^SC3bO9kzybi%%==le
+zE?qb8Wdi7mjxF<k0qjlJ&373NilYnSzDxxbs61Ni=mL7O+TQJW1A;T#9Cy?Jy2?g8
+zZWC|?LOFvihE#qo8QD2y3v|!45ij+6^V-9<U--EdjWLN|IQ!|OO7pka<()JUgSGHT
+zM#Qe1rmNS2Vg7#cnJ~n7vkA>R-$C=v|K2t!r7plN at b|I8#Im>Ef)4rcrTf4{w~VyL
+znjsA0StJVP$NuEP$RDpd2UjssIhr`hCz?sD25wCZvS5|Qy6#w<+F0)@o3}?!1Pb`1
+zzj=BZPu)DulONpt&btvg at Sfa$bZa`@Z`2ve+}~FXo&)y6<){|Bha6h8AF=XIr*XN3
+z-m;o_0Fa71Ae4R&SsY at im5Zz2_q@bXe{gJH2ClZ+i_wU-+<j<^pk#cq0Hj8hf`@2n
+z`Qvq0#G{dlMJb_)XI at FMbTm>a11&W5+cfW-)BaJgBqTuF;@x?wBgV+b&g}Qj`iw(O
+z^=**Hv#oczO&dMe!xVqoFn_#@oLXW<VN(JomO!t0?&a5kHFPcBZ>hUyBG%ebLhQ66
+z)T`+cbbHq2HW>0#R}7{`5Eg>%hVb9k9qx_Dvi$L;(gsFQJW(D<ZK&<Fcegds0Y~Bt
+z at 3N$e_asL&62ZshtQ14x#Jp%B+E(4D?l{cJHxEKwRTvCax);*K#vdhkB?J7rJN%tn
+z5_ApsT7#S{R3+354<_RpbRvlJ^YX21xK<`<9t&1h^lc6jJr9;)gnwn528_1NcwviT
+z-R7K--M_>8fU#eN at HFe*=qPa$0}hTQta7^iHU;4-?{!ui9zWTcM^~OCP0ctwJ2Q83
+zSxzgbo;z1+&13M$LZ%zHV#-zwD$f|Z<_$EW`<~_v9o*NCt(n_*D2pXKQW?_?a(iVx
+zL*+rJ9JM6nXD_a=aVo3FB63F2wa(LTFAoLWoc-H{mmO~lNJ+|vSSO%qr$|0TPeG{T
+z!0OweLvrjCNY|io;Crn6Y=(@@s!W_J+sNE6C1qu$W_mtW0jEM$)5yo`?X%+4X%W8q
+z7f9GzTEkcLU80Z4bI0{k070e_nSew0-3R}o^^#(?;5=- at X{yV5<1fMeeYa}!1QkzS
+z9fh~7MoLZvI?XG$`ua5%1u!iM#x%Pe^NwsA_p5xC{l$``ss)m}I<}oC2~E at YEIi$D
+zj*%Hv&S=eQmi9{@cxs2*Vg;9TC07PHzQn=ae%a2uJtUv6G`OK1axqarHGSYN4A$1j
+z*?IP>u{_c|cR9*>h~IZvUEtejY2Fr-xnn2ox_rSB>6gZnJ2!LCJ|Ncd1R*hyb_g^u
+z<9%TOojS<XxEzy~CzEzvv()gmG at -JPR!xYFH!{o?T-`8b)mtxvxmgoM`(-cZ$(A50
+z{kb0l(=!WaslgnQ2gP2r)NRThmv8D)u#C#Ho;Y1LnyFMb43-SYR~yUhbcF50oJ!sX
+zY3S6j0_$dBy{vi-WK<Lpu9<()h|Oh3dM_op7?L#B1Xg!tSejSaA_d3o>tIjB5uk6Z
+zEGzgg at 7cW^DAe)KB^EthrnzV0PHMZHr)gKHi1Pkg`C*gVqe3|v!GJHxD-IV+v5jpd
+z{h5JTQd$6uX*3R*N?9A{qjXy(OLa_jadst}eN1+7dL`>oOnY&DB|A|}6qTfOEW?aE
+zH=c^L78YwZXumkpmeByTP at G`PyaKu{4v)bim7$-}hawyE()F<DcVzgW2}>MVafLii
+zD`-_F<)7h7o76P`I{&`Lhy63-fW|Aa+-|J|Gzf8&7XKG_Zy6H at +h}XIP~6?2xVw9C
+zcPqt;4DRmkT8g_BcXtMNm*QTuXmRZs+CK05K2P at E-}#c0^W!8W6B2$vCd1rwueGkL
+z=yytnX3eZ^6o%4GDjx13+JH^|l9JJ%VEjtSn70I&)mIq%!+x2~nRWT-C>E}0O`f;o
+z(d<wK{Nv7*K#A8mvnPJxrenGv>&t4^WK-pqO(0-m%hD4uYXIv^%o9ehU*k;86G3l)
+z^GwbYZoS{-Ove*xZ$sOYNU#&hj?g>s!tOOguh{$02$1FSP11()%aj(-gs-t7tsPWq
+zhfvYy)I`X+A-)orW(Q~8XVpaDvLU|`)M|%x(g#}Hu7o_C|H{p5&R!ArinwCOY$)*s
+z51eZ~A}VZ1 at dXv0!)Nw6xDqmMi2V-HP<8wN46tckF)BBm9uaIdPF>M{p2=%kdOCtb
+z6}a<0eBrVBQ9U$IA(-}P1*=3M+KgQDnndvpOcE8TznCTp$#9sWlCCPUer|3NS+^KK
+zNlX=EPSi<BWEQ<%)JjQW7UN3P>m}nvAyF0$6VI(SB}ol8oswn4q8F8!lCHzF64jcL
+zufrk`johc=2^-Ii*rzcNOAp0b74_d|a1YHSQF>9#OXVi*)8B`7Y#~l5kVT+R>A at qr
+zgtv;8U{g)^t{Qy8rV9?uA<;1km1UM~>a&d{7l)2{NjMh`;s;Th4eFXSzJ+-zz3mTu
+z=zVVo#HJ)fMhXw<bv>_2{y2p|M|nRebqg)uFJT8O-v^qvrw7m2L5}xQo=K$#DQwQ%
+z!V5&yo^yK=>UCnBlY8Rmb!nWldlIa7a-P$B;;nbNob#s#IGq35y1U(?j1NFGA!F$i
+zGxUSD(Axeo=PHlz|4uvEn=t1$-B)~n#hm}lHw6b6ZHZ0>7|&@Rae-anuE_rmHbKEB
+zpC9EpdS*YXE9S(eTbnP|`L6{%DBt|Eto{{q&YyF(`2n}(9(xu|s?UFDnhk$(2d%Sp
+zuL&E51}OB>9xZ>|O!L#l!x7`X1rz&Z8^%KNJ|2TOHys*dM+^dm0 at OMn(f)68P6SaA
+z6k-yw_?Mg$)H(>o{4a9O-oFCt3KDft*f}Lf7WxaXfZAuZ<qT>b{H83NApaFv+ZBSk
+z2H}1rax3(I7W&g-pcQ{lpcXuqra|CYXzUhYEWLObek`qcgojw>AQpr{WRpT9#!ZCX
+z*6Z_ZSII~$qzD+ at l^(9xW!L}rUW(Aoi<I1Rnw}8LvL!0F(0ZGck7Cew$gslU(qK%;
+z0h2)hChQRd=)@jHx)=;5cv=H;_<`Z~5Typ}Wzp<a6kofS-a~yi;4h0os3I2sNG7gN
+zY8fe4MJ;Z~Y8g#mMc&Z;bpdkOfY&mHfC-Y<fbu9(r;7F&?!<Q2juWxFi|b9u7I1^Y
+zgb-=d)f1ai(jx<lpTfRWp<BY1MIam$alTB{+0vs~Z7Br&6t?I*VYB*8&NS1bCN?i_
+z!8$@2H%D$^JHjhBzu!W3gxPE^-y(KIoNj^|9l!SK<2^BdiXCuv%-)e%8>rghSz9Je
+z at JZXS+F_-(?0>a8R(@j(%9{}W;uV~9wcm1k`+<razk<?R1W=#D6&h(9g)e;IjLSP>
+zee<7vj$bQy-R_Z>{s(ZQ(iNg|i at hxxxQXycVB?;!vKJ9`V~>{JG8?aBDU5lZh4f at f
+zFkHFI??sVP_qK4Tm}_CQft}zshi4b~_fzsYPC~Q_Xbpb}_dn&Lpv4L^hpgD&&&g40
+zS`I2|=+E-@^71o~l3+q_5x{n)El3(e{SCA};7Q8JiBzi+o4K1Rz(|b+f%RO5VI|lF
+zV-esF=zqe|<%uRy7B|5*_OyEhzxRDcB*H&zyn$)W0o(3bOsb!M{@VCe*CJy*^YIe7
+z(|VL`qX=u at lcgwhfbJXS*}=^w?BKq$Ol)QAk7i*#r!ic7!3*6HC|~*xU>L>ilwY+m
+z1~a1-2D)lzdx1WrARvV0#5&$6+GGXm3>lcwaKzEdF9j9bm+ at Kb9Mw8AIFqabc{7i`
+z({fQlvAZHJLbU#9fON4~E`n at t<T5jRA6EzWRq^UEP)*u|@<;rexIS$T!BqN113k3E
+z1hZDz$Tqd)5?P1!rJ2OZ?48>yQzoqe4^$Xxl=VPJ!!6~$ErfZln0n0*^{{ccZO(3k
+zsc0N?`6}_5S%dizh{XJRXQ(PITwJj-G;!0u8U)aRZ- at g`vl<GEw#TvdOdYNxgDDKI
+zjYrgdm=#*Jf_7_jq|s@>`D&%1+{l>6cWYI)I2Ns4V=ENnLW7fo*~`Y&7{)&Md(dbl
+zlUztzY>6c;_nY;9!s1GzjMkuybXnukI><~fPNZ$0S)BGwAa at Ulj6zcqXEsVw`3h00
+z+5lObu;S>F>HR_VVtFUlyjV4TSiQ`<Rkeak-#`-FiIP;kg35ngl`=0(q}h`m)Qb+E
+zQ;vq-DxNQw%-EN`7EU}wcY$dRn-NGC>JLE}yk{a-=N9$aA3z~;@0$!ErJ(Stn%wHq
+ztWNo%kIU<|5b`8|A6TwG at N-y8-zX31`+0cq at x)3Ire!QlHQM;&W%r1m$9>{e>X$$d
+zisV6+V0S|cWiGst3vxr!gwIszq6U1#hkX~SGki8lBdGdM7g;F^9>i&t;qZ+kt2^m(
+zHk^WasTkeKe4nrSu&xUuq&m!`zF3y;!gqXg^_L?bWO(%{GZb9IB0Hi=u_mmQQ{NWi
+zb}1lLe=W!Y<>a*4g?O|&mbD5;&J|-!cw|aUlq42=2T`7L`O~D%oHvp?mv6osKbnr>
+zJ3_Z=G5<0bbc?qJ^$=Qa3>yt|8{XvUAs4n^+*m3?9Jevsj_<v&;RwdujVn82 at QAlx
+z^XYXnVfGHU`6Yg`UdyF5mdtW=<c~f9XIt^rXJ|^qu at V6vKx|nLdzEX1*&`oJ8_w?v
+z=fNEK^!a%Cn|>9g4TVR>XRn3v1mY%Yq~PiR7xw0*K9wZxdi$M%I)r2P%5l3&2gI3>
+zLHa<R)SG)e8-s+)u;_ib6M%oIn4w8S8dvZ9VVu!Y#`j^{_c(~OJ^Fwqk)R6&RLuBN
+z8g~}m0Q>Lj>^9m*rp~-julZ7MJQz$aBiDg+S44?Cko8)-tk1y_I5^9Zp3qN-sTj8J
+zdg at vdQ9#xfWyNX1esoy_c<T61>db`XJMuV&)2fK-2?1(5AM1BNO07;#_PID{dxh`_
+zk6<CX+w`!VzT;Hi-F&Y at cpp!nC5q;T-D826x=Y?NRNE}6o#acZ at 3Woo(U8JA5d0+n
+z?xPCD$pQR<h7-LJbWCMo*2yD+Mkb2uEW<Y?lU;uY+zJf at D6fmzrpyY`j*v^=8OJ;L
+zpI0;R`Er!T$tZitq;6!kgp^8OEQqR260yJ3INJMO28?E|vY4e6w}#LveQ+2)Z%*Ad
+zAn!i at T&lw|Xs!AlUjEafw}sGi1az*avd&Ev&57N>*!ZWyM2%9Lk4P>odCMHQ#1|#S
+zt9_}3upTqQyYenk=OwXsu|2{bO|`UNY}hb2^)$1SOb=N2JGv>(nQ=V3qpzr=H*kHh
+zv!swz5YcwzV9!%IsX-5w+rDLm at v?+E6>A&CLXTfA=R{~>avPZpaJL<ccE7(x=^ZPO
+z=NxJX!9uyU77KVxXVQ~o(ZW{~D+p`vC7$V}6MScd5R#IIc*$-aQ4=Yi3iLzK{8-Cs
+ze3f>l?ZoILdfBp8Pt$$hLXVg!s{VCGgY1$0>lQ`Ud7 at GEgpe9tZb|sdm*pb;XRA6)
+zR0RGK6 at neQDxH&rdWXUal;(Jdq?!$7OznCeD|Fx$?uii2>$g?ZzCH^U&rL9K$09#t
+zQf$6IbG{C)7lUj)4SE-&_r~#O^Sh at Bi2DaXB%uIQ(d*L^!QyQ;qI;7!1DMs<P-SR>
+z%H at b#Skd699OsOGe{cG<owX1Q!mFPDZ{bzB{_*bgZ!q^SylN08EIL&!eI0e{r-sQu
+z_1t_6l~Q)90<#awGh`Ihieh#fYaX;)>Z*xiuTdJe);u;r- at 1?A5DIHuy4~(Qt$Osk
+zjPu{@nz<Y;wMB(eC?y0*vkXedv6!;RG0&*dUgevqPqFB5OnlPFXE9DSOPr-n8yQut
+zn0gh{SW)M=G%A*VVq`-1{?rB*ie37`jlIUzy!|Sn{)8q9);#xIT|(>a5`K6c1%B9j
+zCS-FM2>jw9HIz$kc4<a9G2tQDDEK=F1YDfeDPyH-A2}-2vSU*l*#0@(6!s}!!Ih1e
+zkZ<kgY!p}_sJK^VHn2 at kVIQ5?R?3ugI|lX+o52;xxD_rTw&kbPHc-&Cx}Vjf*zC;A
+z4`m_Ieh_Pu7%)dc{#-Yz9{MO+_7PSh333~EF>VUijeLHsJ?|03S3Qa8>&{5nJj=97
+z*z<7zT7Ja-rG*q#GB_8-L at v!IY#rrV;sb$`oK at GmX=)H(bsA;L^zntS`gE at To3Bcn
+z{lZsm;%Ogh`ps8$h4tjevU9;ZmV#Us`^{HHRtND_qnvxeyAD6``5(3GI#jO&V3YHN
+z8!0FiN8Ky=u&OPXa_oe+-+L0`0jBZs)Rd#6wBs#EIiu>Qv{T<+*T-bV(J^=a=BwTz
+zwmZG>Rof(z1W}-a at Du*<Re>PBYU29wTRUC(toc1uyd=hfakX8SpYRV?46%KN?m*_K
+zVB6LQpl;Z0{V)-w5-vg_B}Ik(w{4i2A*!rIHe9L`<2Wg8l!Ks at C3k5p1xPDi9L`uX
+z0)=r at GYr%y<QWO&hF^Tut$*=V3rA3bL?|%<I1aKp at f{Rulo at +bo46Ri_^QNg at gTlx
+zr2PwD73+ns`US*SRm<FG57W#ut@|)X9M38jgg4aIFmDgB+F&Vd<pv+67WZ9DQ*(i&
+zaYZa~Ek;MyxZ1Z&Db%i*UQ1c4VUi1XB9A_v at fTk;HTz$D)fGBJEWqX3Z@#MXReACK
+z*I5u>HTOUGs?F&xlDmB87&c?3Z2Jy$2vOqlXeK;`DKp(>5^)4p&U48*t(IV=C&S2>
+zQ#v(MkoW%H*o#C9eu#f2YnCr)Rql__FKAWmUl?nrd1;|c-DYVf*k34XCd5dnyX;r!
+z{-C)b6<A;AYw64X;H!2zGJ(hYr+mZ==N7`Dg2MR4SG at x9RT(xQ9fUB7ARi8-Kz!BL
+zFML%55MNb@;5T2Du?Pw(0P+`K)xXCV>2G}1i|-)5YU;aJYyodgUzfYfg7~WM at VH<D
+zg?K}KsY3noe(|pzeSh;+yZ+DeRU3ZuRj1yz3%TX}px7B3){1YWu~Av8XcL)VU_X48
+zck)SU0ctg?H_JEcHrC?B<EcG>!eV)|q?YwBhpVM0rz+c=r4RHaKBeYBy=J+)SAxgR
+z<51j0Tb{`mDB}{`MBAR}7ck?L+%C2PeRphotmzZ>0t0t^dvNKD_8q-<EPJ%+mG&L|
+zcRYJ|={EKqeRmvtyy>U*9fg^vUhPKpm*6|{J0Zg{@kF$OO5P=pvUklt;C7ORE93QO
+zflA(`kMeizKcIGEhO^=YX?>KQOCII!T7MwzWIe|F*gcOmM_dqz^gv243xDmGn>7Jn
+z{CY0<+T(dpfzw1K&y;#sa5Va#SMnnI8J3kGh|tado;UR$L!_t$xA*Y?EXXsHg<!xZ
+z4`hhfb{cFLO3Y*AL3MQT;bEyok#hKA!LO2JYe(z)$}QDK^5v{lsMs5)hs*nF=4w<|
+zZdO;0)A#Thfv5M+caPi8=PReYr|ICj^V(Gh!$0QwlT~L(X32ta3X3OVd#B#61f~Vc
+z&kUO3hRig>B*|qIr1bP&j*TC#aF>tx&elZ^ON at l`x!sYAA)<XsJ7zkcuXKA%c}5Z2
+z!EwWwKb3Sz<^eH<T4o18x>Lr=QGGB6hX)>6)Ai at YOx-6|cV5|2SsypM;SDgKoXWZ;
+zlKkAVqE609jZgMZSM4%81{xtS2fMUaYS-BVWR0VC$=UEe#O?a31(kJ0KdW-?#CCXu
+z9SeYOE6FG;R|ZVz18AV`X!hG%G2-_@^3<oEVYu-7+gtmipB;wFU2Z)W_!RyXb(=C)
+z$}`#&-A&pQ)3f#|RNzU)R;d at mb*evpwn77``T;8xOZr>S-^CnH>(lTln7QND1 at p-&
+z>$u2UYtn%b&5O+kmjsq6B7$<1Py3NDEOvaTUKj%^nr2Kjgg|hdcQ=!Gxc51e#UU^S
+zm61ZFrV<G-MJ#@56sE;6x|XM9GC1<MaqkpB5ZucInUli3A2Y%S&G&S&g*dmL*N>TK
+zd)oX?GIO}s-llbNh*<Ji1uq4venR{Z+&rTr+QiEr8ERYTaDYk@^ugXF{#6(K-|VUG
+z!fl`4lEGdDk-gYcGXyeCzn!p$n9{MKq{5B`?h3;ZYnoEmp;{w<fU^p05DuRl=eI|R
+zrK!W>fhGuI%Zanio7CJVSs_FEPUDEy0>>Yi7L+N>c(d;&+VY8bh2#?R9=frGHf1 at m
+zqx-m<K)7I1VV}_m#s$^|1|&}PmuQk0L^;7YL2K)N60U&%>3f!a_KB&}3+tjP{l^Na
+zMW|=aJ1X?>KtJK?)<_((+rX}F<Q!3Kns`|699dUUDlD2nY5im-ZEWI5bV3Yqn3$on
+zyddW8?e6yvKWD5meRrhv)6e3WbV2_3x3cJe`Qs^I;)1BVRrOQP{LgZkbX=ueHC at GA
+z)m-IVb&`ok(T!nVbn>-9+$X;0N7{{sh%fq7kUaH@;7Z43!0pJxJ at eFBqlaPgLYN;|
+zIq~rB0qN>7Hd9a?t2knghO=z$kn-L;>(C)--%IAoZKUp}?5SSG9)`PDeusC$b?Mb(
+zv+hsf35(hK!=yuv!}&uVr}h at 1)go(Upb}6Gr~=gBEENPv<F#h9X0zt>X7%RQFCWfY
+zGaE~MihN3zXMwZ8x#Rn%g`5*ri&>pRYp0kNjn%>v4WuHdIgvyCt5A1U{sKY`g(Av1
+zl|!?uNO$!oi5pNtd~pbImFq6mUZ$&5S at YYT+V1B^XruUP01yA at JUGy`O}=md5BD$!
+zWKV^WpTx=8pn%tp--IrVeD@|Fj$v3*RQang{V<iN(zKv7=gNO;Pb~{^k3SDBlzj&V
+zAVH=6o+ki6{Y>@$$DaC{Q}MsFr!Ep6Q}bqn10)<lZg*S&rDJXz3a7HOxXCcXzOWmb
+zb?#AkMf~byR1I&7%Jn;>;WRr|fWqaMqaeOv$8Rde*}gw8(Uq^oQ2<2nU)nJG;v4mm
+z0eZJoHUl4rd6_`URPy*IruZ5`Y3f>#QWXsl at 3M(9+^Qs>5(O)bL_>Yr#Wai$U)Y94
+zN_E;JDSiJbyNxK1${|+f?iFFSCo+<<Kwt<J)W=slJ+8?t6XRJndyG{VSW9;iM~~pg
+zkA2S1LeAb<89r4nPI+MOxZv!#p84L*@{2t+=0EJIOfOFPpU}TFs(H at OO3u#%XV^QY
+zkp=hx%<(bXcEi=!-_L)TETfIaxqik8u^Ux!4abQ&ADwYcP4NZ6v1E-hyI4nST@&39
+zCzvO;-HcHwnB$mJQv9h$RYAxsecZns@{Y15y4^CPBd#fK5S2`oTWY)PZT)T0^C>vV
+zU8B7qs+KXc%?84*T-(rSzojwaE)z(gniAsnqL+8Wvtd2mAlTIzHCgNN81>|)?*ua@
+z#$-9&_Syya?DYJ%LKRaVr4~CPg+`Tmt_b8)W!Y8n9H#3+HKtBv8TqzkavP}`y)z11
+z_EFscqgMJoLFXN}fJsLuqA`Lqiv>uX8m2R<u`uQt#Xrh(1o&!5RQviNC5o%lvRh~u
+z58t4pPk)yeU%z8O$(S{oSrFuqCj~j=Z9m_^6eefcrQSi9B<tBF-XQ>)f!p}C7<(y#
+zwtjbLSSeOby^ld7qw7uGmIKblAxDiW*QK#f&O_d<03d(Oy6&P))={J0HSgO8g7_!I
+zA at 2|XkhEr9Y4J4q$VK~_m-rzg{z-nwyAS|mty$MxJSBSUNsoIPAMwUA0!GxVlP{ju
+z9Jz>Hx8iOTbNHFI4F|e{2WSM(FuLxp(%nN$j7|(+Lz-QLStTl=m5oU+m*rB3rp+}p
+zOGl}sF<RCJq$*l{T`;C(Z at R9jZz$P3T>9QoH^)#>(SAm&b-YU>TUu#VAMzrOUo>ab
+zK>1MKI44k{{lThg&bxx7e#sQ1SDl+Sk9*Op=Ff39 at bqHT-G5aNX|}fjIai}?G0Nv|
+z8hD1)tjal-53x0vUu^K(+H+Hf5?UD>B^BygmQJ5b-<NyW%u!ct)!i?u7dDp^&N2QL
+z$b)R~biWm<Ac4Gj{haz<b4leK(TiX8^NT{2L<6C2$r$8UWuHA{d=bdUs{1S-N~=4A
+z#H#w~Yx%##s#!Gn*9sUQu`0_ at ijBLNHS49HF~wAZ>qB8=;6IN({5LU0lAzDAmc0Ly
+zDn!gm-_SwM$rAAQ&$1vqkfQ25A>>)@2m at TxR(LMeM-5~+0}ad2Y%2AtvV}x|-<%Wi
+zk%3esbANKOu`FwWfQ$jG6kQmug*$V*#!T8l;zE#1$0 at L)w{6sjg)!xZg*WBl!J7Xj
+z-s2R9>8O0ILyJ10fDgso=u5atUgy3fyLeQT^0~Qo{Msn^-AB*&Q3AY{D2nVKQ6@`M
+z#fCx8b5WR5NoHzb?eRwzs#hQtO at wq^k=gr<Xsxj-st}>Mk<??`dvSGlZB1R1iV+LN
+zet-OcaKw}GN?TViNDOt~RTS>LA3s>d0meA04=Xj{pJ!9XYe*U!dy@`nUAR~KtWC_1
+zf4I`EW_Ld{w_E>wr6X<s00RjarlYk#(AsNhuTV;;h10>fix!SqLyObeb#$fRqFGr$
+zJYu_(S#1H^Bur}T)iYO2{N~@q&3)`-H5zpB#6V=uw~!6L<37dPqrFBF5T35HKgtNV
+zA~D~SpvO^zd~AqPV5Dnf|HIYjj0<*RDt|k>+OtJyZmQ3S$Ft&yC5EAn9Pznjkz4mC
+zlh>$PYz0#Fs6kBL8;$RWy-#b+Er*#k%@wd-;EhNLqoY}R6&42aUlG#EW)Ak8+0ZB>
+z9b9EDqkF%luhZ7 at _YWM=;_DpDXY5?NX-AWo6*Ej`r(tf}VLY&g8>`<xrsPM5>+=zI
+zjT;3Zv``wZcGy*LSHNajeCau*8#~KR73&h1Cl>=X48a0$5;W8`Hyr`3%+gWbtS1>J
+zJiGf)bm34uo1tptMWUtV1*ux9IcnT$v1;|o?k?5lHfrSAssLQoAC;;5se6tI537K+
+zSypnBjK#dxh2xCvv!;j-AK|s)lbYL~G2JEd;mBLdX>fwZRolzV6Ax|FbW~H-5c>H)
+zKX1%L*niMcgPWVqPJKGW^-5gle=q1~BF}&GCS>BkxzPBXz;KJtcRO0NJY3h7C<wRv
+zmT%gQ>Ln5}_U4&DFdI2}d7)_UJ=h;-{k`}2eGG2ywIekBNe?46PV0E_PR=<l-xeuX
+zx314YA2oj}lE8*1!i@{eAei&}-s{_|xe^dQDTUAIz4g at FVlr|srxuqpLAwl;FJ;Lw
+zj2Eh((h9h|8OUa(An*TJW2xLPM`IbsVx_hl<zA^&KPP^mdVhF-fA37^r%^<fXwoSO
+zA&r+e!f_BOdGP5|lUR at j#0c~r`%s&J*f at -KOg;LX-vFtq#9Ww5gkr|khvc=idyjmr
+zar*X)EGivAb-!tiLo0llnDqh at b?Vw;kfK#SrKe=ekOZq=v|QadLbtq at slP;{=gNFF
+zh<VC=PP<-Yu6AIdq2%7fALFp>(6sgY_%R64rGQcHPMvmG4wVx_nAve3e9%(!<hXtR
+z9TwiG4{zu=07F4T$BF!ExxD4z^Ow&Lj at zR=USa%lMe{Us*@k6iVME9^5n76Rb9CCV
+zF+5+Ftl&;6v^-oyKe~L>;!x(H=ud4ZN`9|mFqKhqvgoWou()Pjke08Scv5Nk<cKhb
+zfL-u&L}_~tdPl9<Qr4x|xQe;sonck*Ig@=ksRXfX!guS#FKNc0t8d!LS!Mo`P1hym
+zEneqvc6MePC4_N;^Xj(wSKN%QjHM^0%}MMpkGCDkwpSla*5E7-?u#_D78Q^JR_2E8
+zsS=7>jizuh5>T_M#MsNE!`5>R<i5xE)#;{mkE at fWQYuUmuqah7Yi3|7zpLU2>nfl;
+zEZKU^wvR%D?)e&lZ{2jkR(`u+o at NZ2ZfuYRUVCIxj^%J(#Rn5S{|ay*y_ot{0}E>r
+z)mzJudRg<kSVJ*!i)h=Rru)16^qqT4M{{L^?hgR at GU+3;6J(2%-~ppFbH|7hEQ_xI
+z2?pl*vdTpw3jr-pc#j5EmryMY%K`>V^>SuuSPoL^TXhPE^<lCnIwu2%I50!>{8o4c
+z$bM*rWL4`X`ISCXo<_}``i at uitw*EnkzF1*;CjB$Iv+N)k{co?>ZKj#Ig2usu9;>`
+zTcsF{+XKJ%<t9P5FI4IGBu1shzJ;9yA*8TG1Kc|y4?$+ at S8Q*pvr$apx88xYrXWq}
+zC+Jka-E0U`m=Atmvk_i8x at 4c=mjclLf=0o%__DpI##Udd*B~#e5YY?a&HK0cM(8a#
+zJY>p8=s~c>k5t%@_MNsMnvj3&M|5n2e&6bk_=BMT^L)v#DEy^55h((|emQSm?qq&3
+zhDbKR`m*1|gK;Lq7{5kJMrg~1j}N$b2XXdVu;`6Lr#2JPDAZm6Tql?<@q1{7>3s#H
+z_62yX8JT at lcWNDJ#=N8%z$L6Zd3(67TxHJ4LH(vJM0>QZf=xE(blSeOJFAYEO?9W%
+zfz_q6JJfei$|tNp%F_0THM#j2kNx&b0e8XjT%<{;0};^Q_adsj)W3&b6>glix>Wj)
+z7HZ7YzyaE&)IGXas(?sV{sgEqta}gU75mcQuAJ03u())(hxCf;5L+)eopd?y_}xK0
+z$s?MIIiS2$xyN}*|5s<*QSd3zTLM at J0&cyOPyfg`@8MnmR)&{czYD``<pt~oQ)vlP
+z#*6v5%ROL326 at lO-}}mvY}?;oqU!gCV1FFxACp9eI0PZ2;BtldKZ0Kg!M`|&-%mob
+zLE2@*n8I!efl0m at d*?6-R`;g-oy8>N3knQX67pCG_Ah7 at gw8wMeb|4Ah(VqDeYj~M
+z&~FC+3cTy>r`M1HvP^G`{4AN!;la5-a$&!=?~?r2wc9s8PbNayS7=>iAEDxeUMGVU
+z_?vy?Nq&u=jm#y4V(Vw12qx`^H~Oa57ittzR}pf!%Pkx1)|W`tpZg<2GSqIsMHj?J
+zkWGm04HnKFaf8~0%&3V2b9*2|PSSM#C5t<^j(BCZ#&qfa+$C;Hy6(v7IqYwYk<Ay*
+zsf0`8mf^=VM!Pq_UJmcv(@!7Psm~e1=1?ujzDk$HHOXvQgB+qak}I@!S-nrFYN$w(
+zd{pP3dLhH2P}9gbWccXLLwhm9%2Aie2on|<sznS6dl|x3Q9Z~A<6O13V8STLGe5h2
+z*un`jA<v9+)deX>;ZPZ++sMvqdTCKBrQ0aZTYB+OZKT`C&l`GqQBS4YD9<~3p-_pW
+zkK%46w+zD+$OIB at Ww#u{7|A-~e}kmRu4O!F&og>&Pz5C)sm|kiC;sIyJ&))`3Clwr
+zAd8ks|HMUYC%siCS}z(E&DTnOmM|cI#uQ-t at ij_kzZIU#f{_AQRIXD|!q at z%I>P#?
+zd$!;gm=v9rDBcX$QXohEIh!BFv~eA`m5|o7dL6r!2nZ&{7Dh31%@*XG4T8BWr4&pv
+zuthoNubR5N)RfyzZI(i=^ABENQc#nAj>u!#0cI2g!nLLx1kxc>_&n*++0Fmqc)c(c
+z_*1B_pBbw2{UZ$?&qn+pnNb(oV#-XPlRqnGGOal)Vxq!GpSN?#_d&>OR)O{}Xw=;$
+zSc|W&B-V6<<y^f9PFNpmk|bShlPX9B3qVbhp^Ix0-jWV0C96nm5;th>tp~|rE8?1T
+zw;;pt$gMxWr?#u at r3up_vrcG|+j0(bFn&9p|A!UlGSzzE?vB)+v?g&{sP-EG_N%qu
+zlJdd<`-NB%kp6db|D|UA4-(v}jNU&;aM?D~jr+@&1osSHF&)2p`(Br%AQE$+x3pkh
+z)(qqR9}?V2;rjIH{>>%S at 525c^|4Qm#J<vhfa&Jy`io4U9ZZ9v$B=Vyx}Oy?iG_ho
+zuut9l6VKgL6NH4R#KNqiromMq#?T(7!M72{&^W<9hc-EMIXGl&0fENI4}xxxvCvPv
+zgFn9m10LrD^9HS+D{v at D*tP?W(<dVhk;b^LK at UII)9uKfJF?tvflm0p8uSZ~>zSUG
+zIqS(m##xg`XsKQ$BDD%mrq}w9u~|M`C<HkY2mdBasiy^?O&DV|i1aNsmQbXr%|tzx
+z#?|^rY_l?|%ghwuoKc#Q-b&y$|AhQ|yf$0HK<NXzjm-z$#{PfX3;$7)ej&QY?_ol0
+zxV-ri+5&|~b*-zESB=+a$|e-0FU-;v>>Ez<_9J5$2;}ZDFWS|si|PTo^`^L9^O)e@
+z;~y|ub^598b7a!-l)w$8ZGl<)^QphQKN+^5DF)`6eT{-qLLmClyMF at xj02)wj#!X~
+zVHAL3qcW>s!wzfnq27GQyu4&i<~SA|Gyy{+`p$$y(nCP8pQTdKTh(h_J#>|;{M`N)
+z^wU2*7&FX1VH3 at 8(G2PHk&xnXM=In|Y*w_$9nQHVf7TBhIu_;;rR?t|uakk1k_wNC
+zw!p(8_%U&Oh4xJwA!O)1D+4h at JqLfj=n!<sd07&+h)ohZ9RqQLRFb at vL7bDXZ&mMp
+z(QRnaH!gv%)2#Jg+OX|TWBaaN;d-tHN#FJtAniPP_I|eMHzO+P<n7b&C?!tBm+#uJ
+z;Q08&EgGG3Y9c(!ai~Pj=SPMA%+fmJUwn$1dBY{U;j=1|<lQu=?=KU0-Wt*?L0$(3
+zqae5YMA}0ta!{zj;_n@`cFD`yKlA2?=q1gkkeX?2BV-_WieE(zCmUj1K(sj?qdNdz
+z8iH$DHkfTY)|hV|r;`18I6dC`3$xokbr%Iz`;VmW2hERcMD7&=a0q6Q0&2YnOle-L
+zgyTE{DAo#Tx*V)amkkGoXv#u7rU&2QuP7hWb2>yROsJBcg^h_Lv{Tf4H_*WXErp$l
+zLq4etlD~l!61FCeL8kkL at dM^A2yA at PPgKZcwON!nr%F+jiUu7m9F9EjvoLi|ouW7u
+zZ9JNA;E(Z>(lA(Iu}#vP&x)G2?~6!OF-l<OcJ$c;Q-wjGp|dbWiK6dE{8`W#hcH>7
+z+g-?RlX2C8oJq-B?OS1JG+a2jz=G~1Vb)DrVr^R(JvfwZ&hAEkty}rf_{}sp`oKhC
+zS`*fSdVDeNRy~R(=qceyWZF86CGNQ7YvJ at sp?#`exC~I^MoAKt2X06>{1c5MN(=02
+z;E6C&PT{0X at G1Qz%02A*^3N>!3vjxpz~}B)`q at m9*mUqH!LU7no88d*Uznt^=_674
+zVYdU%yWi;NGD#)V$)Xg%&IBHG!|N9?$t2T{qU`dp!W->z6F4m1saC_y1|5<(Rkw)h
+zlrX3y at s8*jYwTaBn**g|d}g<^X6FuZ*~efkT3XZ}vaXte`{z7fYwrAO+4DBD-#HHM
+z#+Gc98cUWhADvC|?~W=DZ4MEg3R`4W%TJVUN*-pP4qsnoyG!zy5h}%$49u?2Z6Cs1
+zeQ}rOFZalr+O9q1zG}M<aTj`0d6Myw$C{Hl1YCu?tF;&CYS<KU&S at Q5T}8WVv=^>v
+z5EUWKNgNtph25)q6$ohP?LRYK-6q_B at XG5@TQ5GH11>to`3dTKtq>A2G!_<)9PjMd
+zn~d(;dw8_22naCTt3nWT;W@$+*>1z>NekX884FWL``oG+iyIHq4GO1VXi^^#<)g_D
+zzj~u+EW$B-G$@|}&Q0Y&LJ45_mJ2WX7J%$e<v_{_ApDjCFU|ze{gyu(;u(Jzn^p4)
+zRuNNFXjqs^R1-UhIwBhypoE at J7i<vUr<7jvMp`jZRBBk6N=y?spL!%49-tYYPZwez
+zPYj(y7xN<?L(#8>ghtsrFoudY2NeKNEqKHxQc)Me7%nN2)<l at 2D$U~oAk1c$g{8*V
+zD at N3Cn5%gED^PvUMg-`HDh1~v0Qf~!yu-1F??dw~eH-GlatHt-b%mCJT*DJnem~$G
+zzrc&|0Sp~;E&bmN7f612M3sskn at ssZOQsS`8Z;fGI$Svw!~&*64HV)WwwcQKEI>vD
+z6j6A&l;)6d7{)XeT12I%*2=*ESkx6n)?74JUq~$986G`WJ3lu#KRY`=Upqf@@%ljV
+z`bhAChQq+P48gAPEYm%OnhTeP3(Dm?m7~XE=Vu1z=L+X%Yv<<^=VwCa=S=5k-F>k|
+zymsn`Y$Sl*W&R`Kdh5#L;x+gT(o^#D{sesIE91A2ECEcRIFVhW$ng5X22`x at J;|Hc
+z<B^@v#$@6wc}(FrQB$MXk^21xbgYQm$>-P;vYl^?Nhnz2n8H#bhepw5^$QGWSP^ED
+z50b}6JK>Efj9F@#B2uCjNAXAXcMTX=kuH+&k|*eX-?Bzjg=$9jjiS=&CmK-K!jB~H
+zydN*?gf%8tXDO`;ze5pZ5!|FSW>;sms0x-6!HtV{G^YQ`BDig`i}l!D*281W|CJT5
+z%5O0=YLvp#fWwfr7D6kzd|}wKhr^hcfd#mQdV$Bl%4-|67*+}b-WfV?^VC9dCbu^Y
+z9re%~gK+Rrwjtc1t)s*%hKSn&4sVc>^IQk<dq{U(_>7~sVI05|QsP|u)4LsZ+2mPG
+z&OUQTXpC~V8INxxTtKa{V7=VIo~8iLupE at GTge`D5}zsty)^(pi<)((#na#;7nSQ)
+z@`u&Lr;|Z%7XZ+sX5DM?)bHp<@!Eszfj{vnbI at A>05qvtcUU}y&}Cu-05xjXEf!Cs
+zj&9ViJwjYYJr++-;VT at s{XDf~#T!HBjRo)FCM<2FeKu1f<a$;!mmba2WM*B>F4C+R
+zRN|D<2pXD&qZ&DQtsD|?iL9I#cX8QoZI`XJboLH=ygV$O0!ooMPwMC7Dm?3#OiH!1
+z at 677g)f=0Kzs$YXTHPGhD-CF98BsGXM_fE4)X=Qsu`GSi2Fx9XmJ`}Slt(We5^Knp
+zM=u_tXuSULWL-L-4VXD>D$le{&?!Z0a35AfESFz8#L?ic=K+-NY41!QMwaW^V-(G4
+zYPE0CNR~P at xR0q>mya(WB51hP-S?>5G{b&9^e<ntOVB74w7Tjrb8R_aF=|`=9;wiB
+zzH^F&fBg{jYFjF0qBW{G?an_;=o5~tiT&~^(T~S}pe+~N0Ff2ouU_GTPBZ`gN#-AL
+zA2R0Oc%OuXF&jKJ^uCFD0-w1s%CO}?<hP1R6!hg8y$C_^pJ(k#6e+DO&|qIr4~?>=
+z47!r|yh)Ud=SO`4|5VhAX&QtqjDf0CEu8D~3RR~{G}ofH{rZ+44W>BZv%~o5xX0;Q
+zifke9 at uG+S)yzWFHkod?K7OG=x;&gQ$snw3#AxVf_&3q<(9y6qI(zkR7_k~+yJF*E
+zZ4~yp-<)D0V#Q+NNZew{WBmv1-(Zot1~4Tt`0R6(XQ(+a9?vz-v?iLg)*p+vRPVh%
+zL711;Yh&`_;7y~S<<XelDOhxb_KU(0zD!qhvar73Bj)0+mxtcrPh+HrupZO2 at T%IG
+zr3JyqX+^{)SW3SeuVP$Byxt at 2cD0*d;bc{-ZOG8P7^b%{S#&CK&e6R&ya;q%w3wqe
+zSxi7E2JcBvEMJLkK4fpII%IR<<Mo$8K}UNpLhWaAt__xCNA6cjh1UNJ)B?lMye=4Q
+z8Pp<~7hS`2lQ0tbrW1Q3x`wrg-ppVSZW;C-1ScW27ctT at lIZQj=(h9TNI3zYa3pfw
+z-2l&`@cs0 at crM+&!<++GKH%g2GL_Xak9wT#QFSzFx at TL%^Lq2d%~^-0mDJwRw^{LX
+znCRprR+<P6+CUYBCdRF~lri&%<E?pm?Go;^yA<m|ryiOdpwTiu$FgS>lj4Gld3%tl
+zNxo&c^H*tEXT+u1gk+#n&8FTlHF>MoETo9jG`Ww`L`T<2N#+NW==8|-lpeu6o%20Y
+zlOEub*1dwp&&bTFr37%fr&@QD?a$0zS-B>+Got-PkA|^<R1{}?4{+~nF@*+c7w!oi
+zPX}%Z-gG2nZMZ-ON$U|i7Dws#3q+yxSM^gFiW){TmoSf;UX}@vt<>@nuhe$vaTU0|
+z<Er4M_LQt8PM_qXTB&rCbbWVGWvlEUy)fzd-c|7eWs`V}w7Vx&B1k1Q3ss=ZP4+f)
+zw=hUz=@CI3StPt3DUT~0Yca+U(qv(;DwO;h%x7)*2;&)2^N8bm@}td`p=Y- at TGpn+
+zwbm_|Ud?*{d{d7%mf)tz^}{U&uv)P5^fus$__=%iC<Yo`lqhI0TmKqeZc^!*4PchY
+zF98>CqL(|;`&2AEANCL@=Rx)a&c}$Hm;{wYGIme7K0x)r+<|oF<v5cr4Us at Yvq;0P
+z)>1r8pI}|;sFD9b!>@RdBOTKcCQOsBDqR|{VkSk-PE>p+Ie}%luJbA`*#K$t&3D+J
+zh;~-mgP}isdMK+}n6CfP5KMw{(SF%@rhzt|l>Y<OOXeSW%A$+*+}z8;bCae05CTJK
+z1<iItx5-yg=?xmbB*0gr7a5wV_HLvuf2X1Ncn1 at GtX!@>2ca<^LBecVDfMam0Yd4{
+z<M#H6 at af6pmTTfvbA5t)-2rhg=KJ`_cTPORr8K4I0vBHx7BA8DS7?R?2@!B?UAw98
+z(ju^)M17dwk%jtsQ}j;2!?MlE=IY`cnS6eft?3E8j3Hp-VW2Q`w0zv3&0&TK%TqBl
+zK-(thr}c{Od9(2KwyjK5A(I9bzkgl*3#Rcm4DLu59t;>M>SAUoyX&aku)Cl|rR~}u
+z1K+*@u*5JhTx;z6ca6mQ5DwOgTcd=%>UwUkM~6nJPpn7-CE#7KO|+k}V|r8-Mu#rQ
+z<kCMKP|J=Dj at Gkxh23f5H21K=I;d6 at Ibz0)R0nXj55M2JD95Lsk4w_w8`ppAo-ss2
+zB{}l+Vxh$H2)|^nM%<>V8d7)n_|d-*lkq7fAytnV53eUKRgg<%T^`zm>y)?F6sgEk
+z<LnKdPL!HuU{fTC0`O5Aud at 2^r@%yD+t%xbF%@j9G-yr^PSWM^g3fWWOLMQ|GKULF
+zH`wD>++wME+K1o3cww?^ALN{qJZr+KHMWZpMOc5-ScyHI1(x<jPVU~J11J>e8qyY6
+zX&Vg`z*K%vVj8>M at 0eDv`e=?fY_nPqRmlKKwF?qq>{6B}W+&k7QY^+4lZy4tTV#`^
+z>{3)`W&y!rn*|9YkxW)P#$U|#Sj-9{R-1lqMp7yAClwnWE{Q!>J{&QPJ%6QSAZ7e&
+zIAJQ!AhA1Pjqv=HK97o)l9EPzdLlFIFn+5p6r*sAmcLIQH;D3ZInVw$S3Dmb>(G*%
+z><i_>MONl#0cn#aW2OH03U^WmNqSsm*<6B7${jsT6h^xU&lidi3WG<;E<4TkPxaF$
+z`ggQGnIu|M#G4a3jg9X<Jy~$}n+ezNb6}MmS534mp*)o3CDcy5S{`8dQoYxixD^Q;
+z!%?ASS=hX!X4WO|Z|&uhiJbVb-8#(SngaRt-2)qk#td8C&q%ujpb>6L|MdZroa{`v
+zuZX2<q1U}cLx~1(^p?Ina&v^2-c_)sO`-2$n4NXZ?52_b14}9prjgr53(u~8|5-!a
+z<_RfRB2^t@%3}eu{!TnNA;p*0u#wVP(k*6qp~HDJv0+tzDY at Y%^GMZK=R`jZ at k9Fr
+z%|wZN!w%g95al*cwl#cz+Y(*x*e`0WAh9-DA*I-U2YM=Uvb9Zb2b$plVTZJdM#44)
+zu^^8?h`T&APMdQ1(9pxV!GWHLeeGI_5ja at o4(NB<@%6%~QgTZge*HuvI5go1*d!=O
+zJJ3a`sq`uVCK>KvOl|!{9V=x?#bU<)=DzSU{0w{ECJR|H9GHC8Ci=#NmtnTHR%|Ap
+z=4tt(erSTiCvAnMNzGmb9@#H9+&1jjz;lH}@=XM8Zb1>bu&5OZ4QS{|B0GzAB?dmF
+z$c7pvhBl?jhBhV!H>DgH0gdw4&@=b9zW1-8rx at py&L#5HzrdL at sHC9HV3T-ngm*3w
+z`z>nkJ7!6;@GcT5vIyd>56r4xLRFb%;ju`2C1WYX!yN50nsis*ibvqREX_0xBF{pr
+zL2z3%ZiBWasc+#hBnsam!0c+N(8Y4!%c3`iN^Pk#Yrc#SUzn;oTh^`KLc4nMZb<T7
+z9(Ewc<HMP^=PRP#5L=${&X9AI^sri6j`6N$E~LF}Fi-S<DO5r9+F#qKzmGw+BV}x<
+z8G3e_z%;gK=(?1(qb#c6=eKw~5kO4a|6D!&dqDMzY5Pa63qsrek*=;p{ASwz+CaU`
+zM)O=jMBHB-)jw!kkakyL8|QC2*58aspDw*~65a0gGnVI*j1T6&hM#V{aWm;0cMIPv
+z;<DtPIhxgMOTQIhgBF7ro2Y7H>`FRKVxOQfe_>DqLzhTYXHlHQl8Y!0BmQ7e{|zOE
+z#sV!r>rl(Z at TSy7!+wc-dBWxY*q2|X`nh5XQ!<yBUZQ#^|2Ln-2<wk-F)``>H(RRd
+z!8e;vx32_3kzU5TAk8rsn#ramXwzv&2pV(VQoW4aetB3y at Y?@^XWWDhTIy;CkJv#}
+z^s2r0&u_w=|A+&c>fYjlkhV=Izl^V1c6inU{}$%1_<@kNFH5+G+t(nn?H_Y%6V at N3
+zEiz$0>5Ik{gtYaJ*4s$B#rQ+Eoxeo at 4M6|qbk*bw**gb&VStLY1p+q#kE<!#=53xF
+zDJ5oW7&lc(?IHi#@3uQ4!6mGqgNtStk!a_Z6j7AGHA16y{e}`FD`^FW^W;`Qqx~7|
+zf}q6z!Lr?a*<q{a)|-+pf#%r12D=hdQjVB9q8h(gwxV_aQfM29mW86thq_KFfX3FM
+z{@7HIVWQ0M$-<17MYU;z!_i}DKyMHRf!Ng3y;QLb6=?Gjc)g}}c_6|qiA*F4A+x$s
+zgdK at QBo=3wHnY&L-L5reP_86;MA#N4v(yR=MZ|LN at fPCCa&+amk3aIp7Ej^-!Ixr3
+zdiv+xvL=5k;xTH^z{)eU=We-0xuDiIidW#(uq{<I>OF`1{cqv>ao?j^=tF<)S1b!~
+zVut^&?`7$WP>sUTPqBcWrte_sN6(B;%7m(=Z($i=#SFWw?{VZyP>tr?&#-{es_$~-
+zH?@G~p>G2+%>%oC-eFWgl(qHP!LCJs0M7qXe}neWFG^_H^q^Wh#PL2iE+VY|V0?on
+z>%W)o4!3+AzKmNkw=5n0m0Jed{xWtr3<DTVs2ch(iCgB{0e~jZ`q|<i8}@(C;ccN#
+zdUgKTjGORoHbP$T(ODb1E1+TfUyJs_TO7hZ!<X%+-j;?d{;y#>$aCz9JMlNd_iq67
+z3*j5<9Q8Rksh#HZOnJM#OI1e8q9h6ThUU3ZL{Js#0#w<{qNZpMpZOL9&wgPgqu`x>
+za%J=PYyOqSWYPhcSFcbo{wEHKjDi%G^50L%Q427t at lK$=_0P`ESJC%vRL~?~6}}`V
+z53puR-};S+6A-z!u)$ti13s8PbR<~?C(x_YFzh5gbey&V%pN*ymfC-Mls}H&WL#`=
+zPn>3$?0T(xn4H;u{N4;GjbuKS1wzkIOpB(-MmOLe=gL~m2uwRN5!~q)QiYEb&h#0!
+z{LtrQX!VdqO6tN0ux~*mh}B_l=G(ZyN_?YD@#XCVz##u7VJA at zUe)M<_NN=i2mqfy
+z;_x+qJg?$1sa4igNGN(l^c(!>#T8!i>N+5GFHsHMB$}QE4}*@rVzi772^~TLDuU&>
+z`AH_f5T)A#QYJvH{Q$PutVg>)Lx&^$M1_;{JuWtvx3+$^@F{+VmijkFoZU+3ABOa+
+zYKHy^3 at R4d`cpw>+7#sMg>S!aweH2M>xfT4(6~>kn6VXkIEDci0NRe&>Rin<@33H~
+z3)#1x=iS)!vf~*D)w at rjGo%<18wUaop1Y(8d6y+ at NZZNSDJiYER`UicP}Nld-$OIS
+z$Xm=+br)~Lb31*rb&hgfzKp&9`9 at GDbtE!JS7l)K3Kx68B3F*TGK`&{zaVM;l0!;&
+zCgghuMS>vahc5>|&x0>8a9!oR(6(8Iu-c#XvUY>8T4fE)87AU1w;1WiM at vgKV#?lD
+zzKsw#+I%$Yd%kgrNCc5}a1=)7?j~%q-G925?qB(ZEBnBBp<TF?F<YYzz|AP(pIYYE
+z54jR9c65*7Vc&n*S0X}_m+0p at n5qb(Fv@|^F<r@#ky`+x5!ojb!9vWj6it$0LpT_u
+zrA&U~!HvZqSA>;j(JlLCk;O0;<`kcBX%USGb6ZN!h_BqRo0n_%aTc*7($gJO&}Qyy
+z1KOa-P~yf3*RnCk7U1Z#a6eh-+i<Ef6gO_?^-~N*PfnA~U=v?c1&zbkOUNB)Hu9T`
+zPXte~tL%S}G9t at Z^pECqbe4%L5kV at rxE<YpGXN-w;^fbnLPcXvS_|^ojk_sI$e`5J
+zeY)YBqLAAQ<2Z0c7rtm{IeX4cJrUPSmd4UUNg+DCjKWSlZNM>RT`3qa4wRFGILHQk
+ziQ6I1O)rzoO^oZy*C?W&jn(*y at s>-tPEnzVu@|~p7 at Sx>6bly?MwpaX$&`)^W=Q_4
+zEJ@!1XPPMq8%8S3SP-VL46&Ld+H{b*um!P*DX9^xRfg0>n6t1)PQawnKA9tC3$#v<
+zwXjR``(Js){;xRVDV=&wH1QL?HpwLxBy<vw8pt>jZQE=c^odrR8Xg at ICLoBoTaj4d
+z3`PT{C$KcgBG6O6N%3uu9<4T|He;l1Fcaxc?0Sl0>PsVCN%$Q$Jv#5sC^j)wB!)Gz
+zbfBGZu_8r0949P>aK0jWBo+lUT98z?(I&;FF^+e*Z3L5AvN2GQz at gO8xVEu)W)A02
+z_R9GR at k;)R;mZ1o at Jjbe;L7{z^_9>S at s<7+%9YX;^OfBd%$3v?^_7`ZA{tAampGAN
+zslZ<6ecN_TNA{EDm010UjO{x9v5qe>dg^*gdnJ`6mBp2%Hbob+oO6w{jdOR0U`{z7
+zwjIliu at 1KT4pE(o at 1yT4T4Z%9Dik$JN at s6o=UVn~oyuF}bt<hDIZM)J#||-_N?YVs
+zD^3($N?K=E4+)(rTNG9+2^En_LS}moQLc*IW%(;I6%|SfXK${&p5O78dlz|s$yAys
+zAu7!($|}h!&MMU_(ksy`)+=2vS}$2IUjNl+7c3Sm1r`BIfW^SlmnQq(?1g0%%w|?6
+z%3V%QhiBt*5)tO^2oloGjt5`IV<<Gy(<}tPKhz~Q$_52$Y`juvZduTWcwJX&i#!eh
+z!E8=hL`(do*g<Dbq&ORZe>Sfy=02V|GzX+H2Y|C>M~dJB__nC=a)|+8s8o14C@)=f
+zygcTYE_z(7Y>GenFomh`BDx%PS`H4tfvwQe4>O*A>N5*QalDyio~#59fVM8zGU{tQ
+z&S17>07rbv;1|n?hWO*j=o<bd73X(Q!_oVai!d2fym_nuEXSOGbk8&Qr554ZsXX#H
+z0YsNMM-d(IPaB1!!o&cMa4N<ws^Mp7MZ`|iVHqV^H=KUO-M5l%-2KYBet1+4O2TgB
+z{Yr?U)H`qEl at P_bcaT>kxzRD=-HN_k=7j&Ci7dnqhKbiOB-vq47L^hNS>U%RhQZJk
+zbt5dOD|?*c=eOO5QLu%$QAw$voS%hxePT0w;xhz4?h#q-F*aPpR9`?HKN=oCaxUD-
+z96fFyJ?1+<v+(*fXZ#fB^$E%VPLJyW_K0luvOeyC;*l()y)4T;;Lx}at93!TKXrWL
+z2Ig>avNSisjOV4#hWg6zO7QZ3<Q9$F&bx>!T`OU{DXq3x4xA^(Ctdub?M+F|NH@$k
+z+upmc`8xSRp;AK5kS~}BjS0I*NAq0c-QZ)GLEZLU7``sPFv^s|GxQ6#Ok-nx%nSHT
+z{mj1FQ3uy(H^K>4#tjH#4r5lvEwKXJxtDO{KN{?ydb%4%B}?Td`>s>lc$*(*vRm>%
+zTNr0b;~C}!$C~l3AxMP_mmKtdaCY$NPcNPPeK%d7 at -9JJPg{gb3gCS|-GIF at ggO&#
+z^=Hi>wNVe(7|p1;QQR{9uLktBh~Ja1-cML|LK>5Du%uOmEk=%wVp{4q7|_-tEGHi?
+zj30rD>y*wctyK|=QLCebNBY+WjI~G)$xjOt_?@qJ-y*Vv*oJaP_Kc$7>ql=<IlvDj
+zZ*z^Ocf#zF$+HyNhP&xqKfJr<rGN0EdhjB9$cTL!AND31 at y;6b&Kma48uHE>@zxvk
+z)*JTL8}im0 at m?SFULW>eAM#!w at fIBP7992#9P$<%@dgfh1BbnVL*Bp<Z=XSLpJDGk
+zBj81yUKEVju(Sy9DX2U&SMT*$y3i$Ub}>$T(&<;@daJcU3fVOFhCAO>TdS{2yKL-)
+zR$mu)Ma)U+G;Pviin at YkI2I1!HL%8)O-pOFb-3)}$^~|5luO4N?gLAy${Q9ARVvKQ
+zK$Y+;yPY}nv~q#Hk_Po<t1Ac%r at AHmQpV<z(m8o8uRe^rB|vFqvwhu?RjEx=_*e6o
+z@{XO7Omz>?zDDEfC1E*j4xcgymV0l|sF#8_+{czeejuouQ_$`+a~f0^bik;b)7N_H
+z27!{J7Y;QlQ0sWiOV^vszsxafJ&mj7st;IQL1{$Q^XQifHcL+*ekmWfODLP8*2*9P
+zy=YcO<W!%PRZ9C^u@(epdzXPqXY1lit_5kt^%J0#LaOGati?l8bR_WA-%o?!>}XO+
+zps0iw#Qga0JqRG)2P=!P*gwvLD$CZm8t6Ju#@L-~UGkDv0dWOkc$Se;o%wQ}7DvgL
+zFj{K-&fmn<aDv15G4<&>VcG{3?)>-~6x8xN?#Sh6HOgm^_9f<Y_TYn?r1N3z#ycwO
+zC)O_J*MUD_HV_41N%8u$k`XeMk+xI``A7#hozaz6!rsRC!>6#Gb=0Ag@(D1V<-BWZ
+zt2SF(f3Jhqq;~$Hwb^UAv~_INxx#B>;lyx$+$!aN(e~CckwxjgcH`c-ySuwL?(R<G
+zPUBEGG;WQ%ySuv-(73z1Htu%mIcLsyXL8T{_a!@3sZ>%)C3~&C)_UIe`4tNLnA%nz
+zdmcat!`aQA)4_nxs;q*plxetuGpMf>)jK>E95l$5FMK|~cb3(SSFKu=FR&XYvQ{xd
+zTh0*<Q)Q8vW at 6Mw_Dd%rZdWw$LpFNy(Lo$~d{e39>nDCvvajBHmFR<dBgZ+)+IO1C
+zSf`p<&fB14a6Kv;hI*8%uTpy;sJAj0PjG76xeDY?T8_^a))8`6=%vcNPJe_aelN>o
+zs8)E2gLBP)pqrMvs4?Xw*SPn5GPvMux94xfl6O*HF%I3W^7mvOBgO6q#Xz6~)<o7~
+z*=-f|?0w)w(6Qq6L+GNV at FzPgIqy5|N!u-!3Ob)=cG7P;Cei#L*Nd%iL?~}fUp;Hs
+zOBr=+(AZexZ}+ic|GH1McK_CN-sTnEkhV4Ngq?J|ulf^5Py&~;GyGx9@^>l~uA3$U
+zWsjxwdxG$k32#HBBCTUC#Kq-pD3d&ryA-#d3}1eSe>u|+gk);qD;Jq6`pnR3C(dR~
+z at E~tItQw`yKtTuG)e)kknKGd9lApm;Ijtjvg*vOv6_4*vzwR#sw2<#x6h)6(QYDt%
+zx`@)!`B*BK*pZ~Ap{Bp`$bKvQDp1(7KKMPx=Md}wV56%k&M8#BV}HxQII#p1AP!=E
+zz=`q7mgt%!-8_uFxM>M?1MvA6WleZ`<duw*H5{f%MuW%f<ZpH{O{$(#5%|i@$LwtT
+z(@=LZMS+w$%z*wuIUoQzaL6q8!i{*Pr_OT{(9J$#A&m<^s>{PuoM|D!G5OP;!1nxv
+z at R%SL3H at E%rM{a;6&@mDP?luQGjr3>E5!E1D&-Vyj*U=ptC6dSGV(AOI?W!#N8DYp
+z%+SmY+ECSZ-+?bP<2OYE^BZ`qQ1$E at pJAdG!4LDr#~yOmS7vt9(<Nc_)uka3wwipv
+z$JpWeMQ6ls{fl*<3%!mI9joa!E8VoXncI^A%hF^R<nditiq`P&bzCpPb|tVqQ-q;^
+zG7OK<jTq;ln3j?l-OW_NSU>)4eAl>kH!6dE`Evd_#{a|kRuNJWk&^ni at vXe6Fsq36
+z{%57?MQJG|^awH(+NNI#%{w5)2982530M$V;(5}>BW>00EY=@!b#Xb3Y2by#7H6?T
+zxJ78n_h2WR!YFW?;WYU+;nwA3=lk~lj at skRCv8X`)~>m4MjwQ>5U;2t8%teE<<#BF
+z`k<<cg(5y{qn3WhAABc{bbm|Ad(`G*pM&@uect74>%Cc#=F-1(6T-<0f2FtRmOliq
+zT<hFJv=~^`|I4zaYnIPv-k~pP{)#Hz8oX&AUo&@fGQR*1zYT2X60aK*pQQxoI?f~w
+z892iohSwI}XboSXKuAtLbirbhpM%`t(AUO}b%Q2 at m+T7F;oa#nQ(T}-R)*<p2`3ef
+zALeYdcrPBOV)g at XWdb$XX-s~s$-|_x3A)Q(T~r at f1c|SML+>izk49jzbTBPK$5ipY
+z*yX<55X{CFTu6&fp*2}LJ%y<m45Wp&Hf*ob-&dEF8~q)sk~zt)Em~na6QKP;cVt%E
+zJ2cHddU0%qcHL~9evac?cPw?;C}Yj`It=4InxCuo?E7VB=b2iW=*EF6K6mzOCe~A_
+zV{|65E95cWH8r`>aGYE$6s&5CA9i>HF&4Lw7(X*F2|!#j)yp-%hCk5Fep4h-P&nEf
+z#|bEQUbjV!SW8Mkpf{A!GPwhJAht*+l@%iTs52bXcC^PWP3;?W?GXStj}tYetNk_;
+z0#pc-CCMI*??IdzdFtaFkSbuKt|LjYL!35_<)(`xqR1mBW)Vt>kgI~8{`L$tcX%l2
+zC3LL{{V3Be=Bm}ucJptPeqNk|oF3}SmsPC)bPyq?CL*o)uQ%rTlAEfk20_o&W?*g%
+zizX5TG7wa=<^d8qoCHS*l??dZy$>scxL;FpJ;`R%=7PO5Wgt${NXEYCv-U9N7+B-!
+zyU8mP9e(KU`f&DMd*YG3>Dm1Hr~P4lJ2SO2llMM!m`f{xgx^HF?9l}9Ns4pLSrfHJ
+zY)qqBG^mxN6YI!Qlgaj13WZt66yhMF3z8Taby^xYb`Tr6Q49<WjwKyUKjjxvE?TXm
+z{bhZzMLX>NKa82?=G4~~P9Ouy1O1J75<_gB;3ZJZAw_zRY~pisegu(b)&0mnl?13U
+z?WtGmtZs>0y&=#S6=<k&ZP{yW$AI7Qs2_!KK#gyO(c6_!ubfFL3wc|bn&!5~{|vq_
+zu`b&=k->M+9{&!zyRMi|$`3YuudXqqb%4m8N(Tl<gV?b=qUbEtQaBwoMm47ew8blr
+zbRs+bagHYi*JL?TryaivZ(wL=Tu9ofL%OZbiDFxQU+rSuU%S#0wTpj at Yol{e<wk1z
+z$H<p$N_S=kWn+uOb-dSEUS}1F>ZZ9B-3(p=5>s^{nZV9VMQu1!UXg+)&S)hC1d|h-
+zEx*)EZKhqi+=%voI)?-ZZ)z9QsE~zi5yl at smv-4E*;5I94gS^L*?8e`@uf44xU*wM
+zgQl}i(XoR?^tzKp7`8*XB$?DSK|_2Lt9sdUx06MP0$>`qcVx^QctF_ub$TyV|Crtz
+z4}04CMY&!S>XsQdug6AWT|U+JeZDHwT8yi%gB_>JHoB#%HIu;1AY$P6m&^d}(`w_C
+z6bb at -WxQkaDvETB=&;{nI>6&!E%dj)S&GuA;^?K~jGx2ZZF%Dr>bZ(2D3gp!e;*MK
+z4QKeTlKZG=M2kM}&2|qrh21UI`^Vvqa!X!g(Q84b*Si~pRXNdlwhp9!kVuIw=kpBI
+zKjrLckxkaiwZ&2XR#Z9o!66$glObi9wUSHi#6z~d^}-*Q;88$#=7YdPR{N3>Qq?<E
+z#g4Vm2q{*}&XivMawhc=c4oFXSjU-87xw&f95&|9>2dZH@$dB*rq!lXoZi(&3Vl{#
+z22%HN=zcBUYP581L~~;~+W_o&FWIlDD)&^Z#R;U at D*B5Vj)-aTPp`l_1x|MDWX*(i
+z;?niQi3a*MN6M8oiphe0{>27g&waU!*GUC~YP$O5vF^yXuy&vhX7=`Q)m+<S3%Lt{
+z6IlxBG at jIfBu9t>qZeR*mqkoUZ3eA+M&!7(fL4H9<hbxw{h7);QMNEUuJBd^l4 at Bx
+znnm%q8YH#Hh at oj{Ts6E}Fm-<-vb4W)2^uwNqSA<kX{2&Rq}m|$ZX(QxsA(LFR%)KC
+zS`qbZBKC-^X%dT0YW|p-bb at lBY-(`=E&7O;slRe5ohk;k+K5r1wpJdUTC`FUHM?|W
+zovv0cUO8Uz95rnsVBdWod|z~*%rtRF11G_6rle)Ws!+;OJzxZ9-=t7XtNdp|%}iNF
+zo at fFGd0B<Z0xfPrlytjenPZw`n`5wJkz*3ENZ0o1+@&0DmuY{q?PD~8`Rb2ogw4in
+zPY$omV8W$K5nLaW{utZGFbRH6p|?`{=Trp2=50)l*O_30<x6W^ALD*|+s90V?&fVo
+zj at Rj6!R1SH+;^jX1KUU3<{t!EF_>FH?#TL)$y<f)*!t1wm#`fu)qUeF5T8+L9XQp!
+z=S%*JJ1#9?ZaWNXQJ$B84iNi+^h>i22z%h_rE3S+#XzS!=0?=RR;N4RMhxOs;3LxC
+zv+ex<99h{FZNHWNh|v{wvDN-a&=vD?3HIOQ?JsQml&`*`JnU*Lh52&o6c<gPzQ9$!
+z4Cj+kg-OT7RXn!bD{a-2Q>TPm9svoKP-mw at u$SOGjS0^pQkM|xYXrac*o^i1r$huY
+zAwumUjSb~;!H4WZ)Ab0`^~G|*O6+3M4c2mf9ohx|mw?QFlEzQuq#1lugGc+<r6{c%
+z8c_p_Y0S>hTj&nY(2r9A{Dg}!z}=d!8b<sCF_c?j?kH8lf*gilaHoOuOFzf42H4$M
+znzppzzhmiKp+y?viaX%{16-|Msq!Hx46$Cy@{KM&8306<epDfRl)Hgf_upK4b$nqQ
+zh`2QB0A~b_UOKM*)YwXNN4FdNhthQ39l>tsYX?SkKYk0U+qT_W;NmWVJL$$x&Ru$U
+z+Ku4mU3_=SKfv}&yAG%e;6DNC<##V|!oU7iFVO6P;!8^}$ZX)@rH2=Y!9en*sTYI+
+zaPiW`3v6?s`O?-4>K_DjErjr&kl>RG`21yMEri{D6D`%7$S at L{$p3Y at d_Y}<=5LZl
+z`@}qIbV=Btnit=eoc_vMCG&>sF7kPcI1P>Tt{X{^-A*nl{rBbIg=@+T^5;@;>~p)v
+z^1l|y$lKegI6GPzJO4i(zLoK-3aCP8gWZ-g_K^WZ&`C6yLAI?1Xb_^7^x9wuAY{`5
+zw#}q;)a~Q0LXX*AzfzV&QFrTo6RyUb>tPeX^AY(oGo20|#=V>lh9(&|zsT;2fg|o(
+z^n2mq#q1r`!o#u9jnt6!qhcqSy3_R6L#vy3Q-~Ae_BsVybk#I=Di0rEQ7qV)yE$&w
+zj21QOq*tf~eeYt8`W;|v+Zt`z(z>{;fy-U4R5OgE&q6<|X9jImiXW`FzyKHA#6F7>
+z)E^l4qv=jL$c$&fMx^@eD4M#v^Y^cI^Mz0)<b|sCA*AW>R4;)<a|`OsmH=gcqhNov
+zV~Kd7?}^w|xPPS7Bs1mKSIDK6N3+*mHXIFB66=0osEBD}aAn1PPs=^5;|W%;r-)tt
+zYz62LUv(dy(sDT~`>_ at u;6v18%ZSUB_5Fy&I(<iyi at mn0eQ-m%(5M^J^aH-3<u1p>
+z<StE<93dEl-e63(NTD=g<+uXg37)x(xc4rOI4nWEs^O{LI?I??j@*b$Y*l4LA~`bL
+zjq-~AWr}&AjCx$2t-C+W`%RM4J_5)m0p*Ctuesk6;S=rIGRYjN{}q8cnoXRWg6TJN
+zkYzOXElcE^T(_jZe6;JDA(mwqlSpu;mdJVT^oFXF<sQl%e=!Fn7JxiVyb at Z9X?(4q
+z+5_AId|>8`R}<e~<rz9B!YJciXf&@S$`0pBoY;;U{tjv%=NAGv46NvEzIS~#^6M6B
+zpVc^iqriH})q;ovDh;6+VVpF*bfXmbszyN}0l&m8(VN6fSS^n*;bd<+dPld?PCqFY
+z5t2&25IpfW$+nz`;VvHSiHirC;R4~WAKOC14 at 6oLE!;PGP+(n9fn89fSx|El<HxZd
+zLdB4GN1mcEqqr0yL+!$y^e&?5v~-*&UJ!pg`=p3-(YUDLsV}$&sc at C^9Y&gd(R7Bw
+znM+4bry6Mps>}$g?5w38m3rJlj122?WtNa`WUQ~3TrO`zrgO0-uUnrA at +y4Pzu(|0
+zV*?TldN=1B&QYtf%ZBcB4E=U8P`oeU{`EXXYh48i4(`jBD$M_ss{WU*{p*@GDCM)I
+z{}99PqmbS-ww?;sNJtC<O-YH)5X6QIJkmy1J?<!gwn~V|k6vk3_JTjnOqLl)<{Cx+
+z*+6sA`9LskN%nlu>G6B)Vg2QNqy2CV$n|~yvtBcjd0aNQTMC{@s0bpLoS1q_m8B9?
+z)_Rr#Nnur4rYIk++|r!={I~`T7_A;}#k`$aKjT?keBk_Not(E`<zg=5HWFT-8A~P@
+z2wsednV8rfKH}L13)R|r#To^io0u3m0(`h=Eo(jK<6IlMil1&A at Apfuebvy<T{Y@(
+zbfTk(tk37FcMol6TUWckh_J)}b3|BR00wyzIwopHy4f*IY-PtL?n;hJ550(+V<cmc
+z!4EV3Ii;qdlA)q?IP`q>xJEsinGlPMrypbls_aqQ$8d&*om(;s90R?tRD at ah#r{+X
+zf!(YXKDXwk0-vh-vZ|C3Gp%o_FD|I-Q*!)0p3wU>WiwME*BV{~`SMFTaJvo|<OY+C
+z9OScof~r6xuEufI{|w@~CvHJ*f1KiEjO+d6yr(ZP_eaFtJR2HXzpCdqWpiu;%O>n1
+zrywP5!rTzdUc4M<JUq*eGbpi!JU~OF8FzELntHwWBovPasp at 6uNJtx3W&X~gGOt>n
+z`UCYlE4yske8H+LB^bx-vU6=})vY!ss)7NGo$AAfplzFsTzaV;2|dM0SM%nLoO;Ky
+zk=3Bdj3`V{RbIf)jBDlRE=MQF*~^GOVg_pSAMY(cPJ3^`ESS|5w5+tch5~tkmnx;V
+z*@Ci(7as2JU~ZPN<wzd|;M;_7#;-qSkiZ^AY=&4FQNs at tFL)7)i+>Jn-{vemR!ku`
+zkgh;|028mmwcQs$E-ZvrcZKQWqZUne`IjHvCz-n9A6*+`{Vf8Mzv!a{NpQ6G%x$l3
+zi*VfCnuSDGUr8JeDzN)V`D{onNM6L|M|C=+804+5;d9Sw4y9PF;jAt8k$Ux4IH*MV
+zipe=ga&m;D;a$mhWGiG_hQfSAs*P&KPILKsqZ;DupoX*S$&$v~rePIJZ7F#UbMesN
+zi`~@c<v%|<cRZGW=%0^EFh7<d5(0P1yWB56qe(afUw;y~+xJX1qzqE%WB!R=oKDP*
+zb&bF_w{eJNFG}~jdIbN-RLQc3%c7Ltc$?(Q<tiUT4Mzpj-?mRv_u|YY^$<Z_fwLE&
+z>^Zi*INF>&?!PsCX0DX=rH}-*%wg`yG82JVnFUo8x at QaLP^u}3>tGcHCuyfrRn<}z
+zL!&68DWibJ6bmhjAQ591WfyA{Z4^_wZ%``Xxu2^oY0CrTStxlcfhmb7MN+AwQCg8%
+z(S>8OBa?@wt%S&nvZJzNl80-DYKO;(R*F`N*^1ikoBhs1Q{q+fRDx2HP%86&<Wfze
+z(wmc-)0z{To7a~=p%_8pCjuxYPy-|r$VV_-F!||Dh)0mQMPot%;RNWP9_w&Gn4{_A
+zkeEVf7TR5tpzH~$Im63TU<sd6S4s6S{Rt&aP4chj2);a!ykgOyJpVirrP>nF+lCTV
+zRSFtR1QY}e1Y`ts1XO-ffO;??0}e3`H6Yqo;QYYDu#*U&bQ@=paAZ17o2MaG9j1 at j
+zNeocAO**oj=FM{xy9nFB^d@>%yp26Fo~F!G5X%k|j~EOU!1N}5R=!O<vYys#U!=O`
+z+!$~evrpY*?lyn#!JB-IeL}r4KVTe#88b-jX7)9gH<34zH<SM^Zz^vrZ$4o-Ve;Oa
+z0n8ZB=+79<7<!H8-rTq)^6&@b0%8HRfG|KQAQjLG2m%xW5&?~XC_p736VM3=1mpwa
+z0rh|gKsg{C&<+Rz6a$h0&43s{H6R<%-3jEn{$E(+9rm5p9rvBb9mJj39r>N<9r~Tx
+z9s8Zj9m1X5-Cs|Z!3pn4`yTaR#C!Cu8^Dt{LqOnbadmb7@!{bQ?aHsk-Q8dx`rv$E
+zv|HSdV2NL#zd;HUu|Nm>;;11GB*xN$p&=F_0uTEjIyaOE7N)9WQ59GBrx|8~7Euo>
+z8 at 5tJ!2Y^D3?2GSJ>+CqGE{WI4`(<{5mgJ$ir8Aj)&xzI`1BjTiC#%W1=QWIX{4wM
+z#JgC89FRI<HqpUv at GKZcu?|QfHsDdeqH>v82zFxSa$s0MP=3kfQrBU#iExA*42w#N
+zHu+%;CrzQGf=dmnPr)wZXp^pf!!^;dh>#67F at Y^0S{33o at wA9J`-1-qKbMpRU3Zvm
+zSfofqpbqs`%oUQe4(?XOH3-y%^C)KQ3*t2hmY)|=mav&H at ij44=vV-W2?rW!y9mtn
+zcXym+FzHxs#bD=e+}FrhKhIzSV`KV|_Kca(!ah<Z?gPw!wf>6m!XuCn08t>y{z)0z
+znaf#+cq`QA{?3;rn0<ILdeiRl?!)H`GP#+3_;C3O=Kfyn{w|#5OEhUPaD#dCO3wE&
+z%jZiyX)t(`eDfOU{@%;?ft2M-H7OW*=o at _Ki;*SvHDr4jnF*8|MVur%@DNY_dG*+1
+z2JRB{Sj;{47NtWJ2O?jRv46BcV+(zz{F3IF-974-r$Zh9wn5YhV;{E>&@5 at +zgpn7
+zg+J4N$#Bf?9&;<uq44}gfXEw~Fis#KM)I>FvOr-Ab*A`|`k3`Gk_|^Zey|5?=J1mH
+z816CPmfTC~8MceW8^IucuupS_^Af=lFOt+7ZZobc at IrF4|Dk|z3u?w4OW_&WhwKep
+zFxDqHTdKQ<u>gk2|CaVu`WeB8^zCbRJVl at A3|We38hpHziXp5ejV!rbpk=`^Qzjdj
+z*)Ov`*%`u1C`*hnlJVf>0&b=dHq3*#gI>Ow?9X0bfiX&YKZt^$nqLjj7_k`rMl&dy
+z!rHJhQlp00mfUodm44_2i8XNzu<Ehu{Z=zLnj+e8)>5a2_?G+?l(v2d1yMDz4KN(B
+z9Q|f97)!z{usTw!hPalzHk9Xn_yw6YpEh*YSl52L8G<E|6*y0+7ehkJ?lZSf-beL<
+zANTfk)JMXkJHKv|dHJH{%uV>7m-;0$?oEEw$K0g5zHXCy`J&^@P3XRz>P0W^jbYSB
+z!=$^sZj*iaqV3F0<i4HyWj*fA?vwZZ_Hi at mZg1H{+eN_tES)cIzQ6<bNnd^xv^4W|
+zjh>Yl1!aJ$d9>0R-Y3Ekq>pI9>oc0KOBwx6_pY7vgF66%hCyfKn5r=RG|7QSymY5;
+zKO<TNcB&y at _A?1FP2G`4idu4(M!uM8nXU4`IZe5yh&^LMv8=$7zPLU?n5}ZxIU2=6
+zd-9l%yuAn^gFz8?z9Dv2OgfR>cE>qP8C@=&TdxSM$P%uYHlfUFW#pKq&?>FTp-r4x
+zch*&Yky^}RrS}-J at FdOEu}z9vd6q%GnQDHjA$`_Xnw|Z8`xdiMJMG at FO{BD`$UEbY
+za`;R`_N<q*3mg7cgP*dV927TwfvUnRv3vxTm^IIsC3E3(TJ#TX;Zpyi{EQ at JtCC}^
+zV$%d8HvGee4CRU<)C_gS at LA`$S!wAgw#=P|aAjk;V(!W!wCZE{V)leI3!YI+`a*EI
+zL$1pFIn`MY`BQ54S!e%QNa=BQy}gE5<-8)93=So$++&vF at dRzFwmwU^LNYlGZrj2+
+z=~;I9RjS4X=ge7GX<N4St%g8l9XU?!^MZtmV~k?G1ZB4MgNAfvUO6|e^TIj(Sv~oe
+zI;SG6>}85!?*65slr5?2(;x3|sBatPiR>%4umslPKh4sE9;I2|>D6z#|1GwQ at p89`
+z{j;TG7WF^%atVKTGW~ySR-+a?yiiSXpf1hRelPnMSq26*V4+KEM=SpV_^D~b{lw6=
+zgb)$Rpb+83ic2dXDnW1DfFdH83w%MU1Qmlj1*!6EIo)_T-e~{RIofu*Q8#%Zm6jwT
+z_#)Beap=A2ap;l#;7#dq*sl?TsziRrYta~Aq%<bwaN<1e-1Zxo4D+jDs#K*Iiv-U0
+zi>?XBuT15yCyue=)>96Z at peTnRFy+a&4xWXdTg<F^(vf$9qVHHD}G<y{CIoyj^>Sv
+z+wq-aBEp$xI-Lm-yUi)x3CACtEEyRde0uo05%Iu7dfSh#{W8s#j)nNniJ|z<@+2%s
+zvzlPo)A4UhGMko;nS&gyF)LHdDQ;c)i)a&Oabz{-PpRL;OJ~whuH;E$wHFO3RA9BV
+zr%gp|N899$bGuejiYa-~Xe>i1S7_CPc9B^ZvMP?GQ>VkzT&PLI4pL#c)5q^qvQDJ2
+zVC7y~y6SP%KMgA3B?Q*h(1Xh2?Xf9Z<6wIWdOEz_r3 at H$Oh&NFW~t1qYU4p)LR6YG
+zi5ocxwrg*2#!_l)tX<M$Ev8rVbayR7L+*}@_`mP)sFW7*j1>r*7E8pPvGpBDv+644
+zQ%3b3O5s8o+DaWUcMY|+(XXK>2#yn2RKh at xauF_Y$bNY$SCTy5L)6fY)ch&3LmZj(
+z7{Kv!BWuT`6r@!GVU%dXh8Gh4I at Dt9ShqL+z<l13&S^)9;0Tm0i-6hOf}q(Ux&@}0
+znnLh%fm%wN58xf#HVhXyVff02V_;3j6??rt0KvL!cogfLAmbtWb<~;y6WcmcbVf6$
+zxDUTR{|N8*M7Afovl$0W6L>LHdmt2I at m~8DUc^W}YrN#H;pR6$L98Pp4u*r99Tg0?
+zAk8a_jhJ;^Wo-m!k+C{g+A at 05m!_ZP+#89|xK6Sak0tdB&ag&1PmcS0PjWbV{$MvP
+z;tEsoIBK)%Q2@&-afNBeAkbn6!!<k(9u+e_b!IO0bwh;1mB`BJe6xWV(>u4pam|rQ
+zbUjE&Z|!_ at i>l15c?;Zm>xN8Mi-!0B96j-5>xKwd+5}(qDz+Kq-vle=(*isG_p^>s
+z7*oPg47oCbJUnYzp~utTr_o)3B!kidq{xCZXNV0hjmgW$+)-brZgBKuS=q|+uwkDB
+z4kC>x%DJ`!s}XoRbCd`>OQvO<74t=$Q*cA{iBR7sMFv}WE6w#Z+)FIaEad<!HfiYf
+zxfvD$9v+Tr5n85SJ>;!fH!-oA9 at 11`@D2=X*oUj57R=62Y+ZD0dTU5+DNKnrZVy{f
+zIhXQMjrmU2+T+{`Dmd-GvHm7C4^{zVU)uPS<PIi}6YWAFFVo(;+Dzr06wF^=YnzBH
+ze<kE_NuZrU5a-5W{}k|@()>rPhXrdZSyt$n+)*aJ9G>0D7*Ys+8L}A*7Ov~~#q{l!
+zQ#QA`58seRyiaGTKTF5f8B6bA;;UbeB{3qtoebrKi65oQedGkQ)cj<(*6dU9qO@@h
+zTq_$Su2Ppr{3vHOva$t5vXcb{`u2b$ce3h6jE3W=niqSF?@y=4RlPq-syc%EvS*Z|
+zO3H|%di7e#4KewAI122#IEjB08lBl=6HXpIUU%}j**ICPPz6Qy?IoTDcH%(l?oB1?
+z9T4+auuJ*YDS6`p^I at dh0}oU>`G$lLbnAZ5XK#)j>3KypNpCXO-NmV$-+ankhpo2l
+zC7Op?<108A+S>SAbsO$G#kGf7cc`NHViAndD5EW4xw*rhGJ1^U$HC>-rod_IzpE*e
+zhWNp7OtYsVZR|`j_tnMGpd+3a21w~QN~n3+Jv at 8y%y+gzfWVi#nv}6F9!FeDk?Xto
+zU3XYXneawo!J?syNa6NdlIjb?F>Yh&cS!4ZS=njzU6JfW%+{Ka>L-O^kr%K at NZ*jh
+zV!%$5FqE!s$kHD_QHk*dM0mQ$`lPO at amXZk$1QTaVeLP}`8Ld3Ur-{_Al=<2{U-iX
+zuyF}Ht1&Up5=0YHICAU)z;7>scDr3dw>zn&p49<ljJ&H{{MOTlvb*`rkL8H^ctf_w
+z!<9JM!-C^#a_Bfxaqlg@<}-6#IOV#af9*^l<!JfIUA^aC?y+9A|1STBJr%?0w?DVZ
+z%~UV8^kFV(ddSzdXja2m<-k3V!ooGHeXJES84dymh(^cX6X&BA9``kS!&pHbUc97|
+z!Jbb9b>%NojTx;#k^Xz-?;Lr;Z36Yl>Qe}*O7{B#n%y&Dz_=}%`SP~*2StC4 at nVT4
+z6^1U(KU}BW$AKQ513V3I()E)x;{?SsXAU&uc$Achl4MH|fcvGY$ulcoLG<BXdawA7
+z+|l`FYD}mns;Cp(acl1lMR-#3_~zJ<HV<<<EQ}CA+<#uE5(L>@9I!HY$oi|!cu*$U
+zDD#- at 5`T(dGR_g&ht>Yj66EA{?HIGQCDV+0gRzN^n{`tjnm7nPMPCe1(|q;dTB at aN
+z$#ci)CY!jxO=?ok;+tOYkbRhfZi`9Y1G%0KeC1dfPPafMtQ^PtgOM68h%fF+bGIC*
+zHu>F{2G)My{!F;2pW%Vnrrgm21!`ioQ-b at LSHq^uGGu~lM`u}oV?e>lC~LpKZa2Ti
+zTa#>mS#o6mDLjG4y?*~vkD^jq!YG|)H4Uo1^AD`n+~BX1E6(7GEI6E)sUSOE8rzZ%
+z=)_$d5st~n!C&htD_D;16l}q3914D(Nm`pZ*S`w08En3mzNs#F{q(Ay9+*-}bN&hI
+z9^+1dIECi6!CZ!wQ!1mV6b9>7L}HNJJ9INNLWt{o_UcgL4&9Te!;skn;ph)3?iWjh
+z*diow=?AI^-C>Bvg^1=qZ3ut)*N`<BaN|#?`-K4<)8E06j|u|y+m{4?M<!%h(D+_7
+zMUbKZX(j|&D9k|Y99UgY28d+;(Oy|5I9-sk-oz~$Cfqqc?H}wVVE=HXf%keTBI5Lb
+z)*!J3Q2ap91Wyx!Yr&v{l<9FH0#6E1uYsq7S`0+rg3JlzK!QXz^h?aacm9G}0m>Ob
+zrHNof^p&SqjtC@<2%@bArv_sUe!>543*!fE3xadtDz<?44*pK&j-FABd-Lc2uXfLN
+z?|$@q%z6CvSo0W)Zr9K&r(Cb)rMgBUKq0^&KrBFQhwce19w-Ky519XrIdceUQOWvj
+zPNDyU{1E;!@V4XhnN;R+1yQTurQ{{WM at 4{w81c4)d}Vrt?(mI|h5%KNxQnKXqKl!6
+zm;h5D)IK~LZ4*V1+(-L0@=@!`_R4AJ5a>3*7;1plP3EKZ8vdwuWxcZqv=7}x>n8Wn
+zd5wP5yYk$501}1 at qHUu4lD%ubhCQlWneR*j4MMxoe95~g-?d+(9(AtVb}oQ|p}uGz
+zWbayh)bC<m2CwChoL6917dwKVfuA2JAN21Muhoya?$Z01?qA=5wAU{zNgpFfAD;yl
+z)oSd(M?|%_kFAPas>=QBi}kfr at hAH5cf@}^&}HkguebON9brNE@`d4lB_>iT3S3<5
+z+y>0d|9Y$&wcz$i#L=KGZ_)~+MEp90{XtD**rtM6;OK)W8c^sfe`!~OFw4!xrBN_T
+z`O}1hJ#6S8H|N#S!G^Y=KWxB#ew_BaxIkLT%SQajxERMj%yPRJrCe_H9Can3$%BQH
+z8z!MeH=PzuGb#G5ej=q(k!N0ZmPMfhWRc~Zg|`elV_=_^jd})nvjc%DMT`tI*99xP
+zxhvm9$O at E#H;ZF|I_Kr|)%U6vdllj2X?pa%n#No!8P4RpxrQy&c+Tf~ddNV-F!9vF
+zZ3`~7qS)S8gW}j}RBJS9PmQ4b+>@q-V8sB=-&NrdV6koANazHeikTb9GUiGotVO0!
+zC4*^<W5uI_c{_aE7EwB;=X9Adq!U7Oy{a{r&|uiC3&M&@bNSJwM~Z($AjMd-ZGB)w
+zkccSN22!KwU`Sh-C;-b$Wd3v(lSp)p86ytt#@=5`n%HZx;%`)WjJC^_+C)IAY-=_Y
+zl#$o4ZH0s9jaQ`wCn++ik$k3(%wf!1ocSCe-GGIedDy&=%~DYg&+dPxTtDwp6*fWr
+zz5m;z^Xa`R-JNIrzDT%|B#<Kdw=z!T<+_%4ZIdXIDt3~@l<%e|LxNbSCkiQqV at XcQ
+zuy|)lbLxl<Tg0_!qfhsu_%hq7`2OF>k^SXik$hXWkU`76rA<!hgCk>7-s2sDcK!Tn
+zvq`e3U}tPtvcT<{a$Rwks2$sy#XnAsf%usdC=%*B4^QiPjvj)piKhC8oV6McXxvuv
+z4>GeBIVTUVi<P0(6|cc4rc+-$O!5+G2^CVL#Ge|-x>9y#=~%)rV*iXSa3~H!vRLpA
+zx1`FR&hOwMR|@Cl8a*+cP-=6~<-F5maxul?{7wqpOLYu(ntBYtGp;HPWLYe_F)4G&
+zSB+*F+r_J6{{>m<fQwMX*O(s_9IA&<#x5I)qh{TL#U7?cYC(2!f-;gwaY(^ZecGhw
+zQyeFE949etp|49jGctgo<p`zKCg at 6>3WQ_{LA{wF*ZI6GK2u5R>GzO$aYU=*2d}=u
+z0lO$t70!Mo8=vJ={9%_ at exfv1=jmq8+)NWdp^d`yhMez<)hscb)Jt1c3o_9s+t{(y
+zx`Xs?Dy-Tl$&&)gqL0&Pt2X41Mhoz|nH}4u_ms8QgY!E#pEdYr<zSlKL%QY!+Dt*+
+zLU8909w9>d>HZC!4-_K60u2uM-sYKT*rMO1%>)_=p5J4^1Q`kO^%r7>As!YY>^I^c
+z{xHwiE&(L}J##am%Yp$vWr+SJ<T+?#;HHKcDF`EX=+ at wNTOdx~AWFcYj;Md at Zb3i=
+z1b#zLfhrS1;KCY%g7ZV13lRB+&xM8udD6Sx6SIREAhrcvqnXXfjgk%ee61G%i3A=+
+z1fKS-o*<bH<ogt8G$`^EY#tHh&X&cmFH*liZ4Ie4A(H}Kf53BL0IR<Y`S12h-}#(4
+z2k1GFaKU82tNW|;ly0&8;Nb$xfSCX_4|M8j-QxQp(DFqWngJ9uP^PDFi{%G*3#cwk
+z6{tp_bx-3KPmT7ZCV8iRc8z#jaHoG~Y-d<!YG+VqVrNumW at n(@=*I62;Kq2B at nSvh
+zQq&p6XR2o4`q;+k#*p3j=DO9Tm*w*_u(PlCLifb?-|vy{mF}7E9qwW7rCcdr&|cVH
+z;9uxo at Lu>{Kwn5+P+nMGU|(ona9(&`AYUk6l7t4E)x0EtZfagJL!0J;hHkZlb%eEq
+z_1QJqb=kGq^#(Ntbq2Kt^_w-Db(^)D^@25mb%M2m_1!hyb=|ey^}aQ}b-ty=Z#uwr
+zns?)pRY`1}-`d@&02{JZz#Wv)1>w)q0|-?{0PK8B+o{37&e^RVsWu>=^R+(Ve>yYx
+zpE>(qr|k38&+0NajG>D_Y)GWNXf!dgD0DQ at vv3>`A*FDh&}cHHw9rouS1W29UP at 8)
+zAX-btJf1_5Hh|)JLGOwhm1ZYpZ)X4WU3hK0&HQ7@>0Wf=$!FuG%b at k4lk;YOD at o>}
+z65J0<@-BEnU<*-Cv#rkg2IA)*FSJvcnSKy{?_OL$trNYBJ=6d<Q5GY`r3WDtnKn|&
+zne at d<qe?R}GYmSa%nfUuQ}{Lg<*=g`65vT$TuS=)<7?f|v+GT$fkix~f`*1cznslQ
+za at NuUDn|D9Inc?93KO`F_*q?S2TPa+Ur}i(Euq_#wYZMHoq+43>zUWJKBb`6>EvQc
+zjMGL<xDEgs2B!LLo?0I%%V(@+!rrtz2z3zf$#Qq_U at tkf^Rysg&kWPlEE)Z}mDv_O
+zA8wSs=WJ#sFU&zqY~ECBij}X`4B5dKCyuR(t2wWxfQ!Ra_I`YMT5K5zF at 4N!eC<SQ
+zR2Z!!whV!xIhS%+;sC^GXdBtL at N(4xS at Z<9VSpc|ZLgVnyozdwVONSrgix9TDJdmP
+z=GVx!5%c3|uZLz}?}d#bA)>17OnCe6gYiSTQE9J_i?m+%t|N~1wYYC at 0ecv!P}`?8
+z*cwUc*{Z{CTzlc>3rR0|O3uXL)uO;hf7FvlAtLZ6A?Ufgz~^6kP~J}^gi{FcFQdvH
+z?!JOpU#NYM;DugsW-`<@o*=KzAbk`Oh3QK)jK3mO5|{|}UkdVl?L4j3s;Y1YI6YY|
+zmR$)fzTKR%HPje2=!O*^CM5E`cDpy0uuHf**4agbm4dOZk;cuaJV#1OUc^ggPf~pR
+zLC?8>@qJeQQlm2Kym?$gunG8HL(C6hM74>L7v*!r0J09rb1KG4PtsInOb;3(w$%!4
+zBh%aUiw_Z+^o|@9AL1M7Gsxxa)s&`sKF&5y{Q~rlsg*DOl{(!J`m|a$2qgJQe#S at H
+z$=1?^9P#_wr)c$fgzSa1NqFob7%V(U+QPJ#WSn>;&a9KNGy};P=Xlr)y)fPDE6dRi
+zz4xt(I5tDuPPsp at -P>(BRvitRDY at muix?rY|L8j(mHm7))Jd`3<2xddI`XU1+Nze=
+zPn?RQTye=ml^<pc at rFpv%GGCRrk~p`t5eHX|L%I16<@W+dU2h#uW_d3<DszV+g6OK
+zepOT%a4x^Zjfr!b=)1revko*acRvejWirr&i8pOnpUAJ}Tetl at tNJ)<Uvjf#)`-;D
+zd<nm5i;l?`zq0czX&yaCmxgcvAsh=R_0_u#Nyg=SsKyy9C-BS~62DoJF`Ia(e+NvE
+zTvoQd3dqMbGl6>LAb87?5W}wYeY1e_m?9X-C6)D`V8U<fu{nY~CBpbBjL0QJm=1?z
+zKCR)04hf@<c3aD%G*=`Xmx$<HNj)_Q0DabhGxTc&SFYgyWtREV`4k2Iwge%NPuQ?V
+z!V`;xchYaALF0?}*OjRu%JBQ>0#e46;+1s0^Xcd111iF}JDPKJk@^)s&T}m3#^zl4
+zBNe4Lk37;FkGy<~XW`3V`L25&BTDf2%RNJ+;m@|>29O(5xzD4-CZy-`AHrtb^qPM}
+zF3jvNWSiyY7*5DfknS+V8Ws83iegwdVzy2rABg812kVcEFE!>CVnJY4xzJtE{KJXF
+zYDh$tG?WyO%Sx&(ax6-qRoIl-)Y%*c6-ae=Bg at Iy)Yw$mG#V5eR2!6k(vqN6qT8ay
+zhEs{@h&AM8Itil_i%;uM3r#CcOHFG{i%qLd%T4QHMyTB?-m2az>y{r?hC0b-iG*s9
+zQ9V<kpi6~!O~8r^iq++H8~Krl#g<8`6wpG_KvF}}>W0Guk;ICON{mwaDzU1DXLhPp
+zbgNs0nESXxnUyE&GEwDG9MM|C`NX=667qVqMzAWWR3nwvN~n}0)zE0A(F()U(M-b~
+z#e$47cFch8KyaWakPJw#{b~Y416GEYUi<KDbD*tNwTL(r8>Q_q0N2Ak(H?02sH|0|
+zRJnh<$}tMwAqMt`OQ6Nj5UB7~xeH$v>`((|!_CnqX|h!Ks@;W{RhVUzj&D;2GtL`m
+zQk{m4CfGB~AM>_lf*ElqIK6<EYUb_nV~b;eYTOS5r>>riZc9zmmZ=}Hs6i13n=J3E
+zX6xh!UZq+W_)edO*N-gh<}qCZyI1sJT7*r`MGbD=iSJb$y2dRFKQgxg{RqLh2%Ok<
+z9BW1`^FPwJUHkEac at f;O|8T4sw=Dk1-uCGS3nonILQK062 at XMs!6IPiGjm_N{Mo8N
+zh~s18K69C{JrrDwFo~7L{yK1}(mx3=$oblLDbrsKKZ%{i*<t8DeQDiq58uuHI&tYa
+z`+<1yD$$<}@5}KDywvEI3GQab41}Vjd+Xat73!`wX*s`#Z%)<-Ufmx4;pu6vSVoeW
+z3wDgx8H-PNOMEA0Fr%#*F^Bjj`8J*1z_CDq(DOz4S>i;L(h|Qy1SizLKnP0|C$hJI
+z7)w|i^E7UuA5f5sC9O?(8qd)KS%6SWY>5>d%h4xZ5LL@;iE1MZK+qRiK}(PO1WX0v
+zwcM6)HbN^XI&n>X>IK_a@;Ls;1(mhzmbf+|IAO5`N?2km7^`vO#%!MiN&+X4x!}B(
+z-xBKV+X^yooNJ$aL1rzhCFYs%3VM6oCzL8!ujRF*8;rZ}At>OlrL<%`69dre%dFsf
+z#t(kyu;e at VMPbNbNjOF-H{dlxh9|ay2`BloZ82j)M|K`#ED5z0RY0vNnig&>HCvOy
+zhA$%tWkh{U)Dh;)loZ=mlfec?D;cu&sZ{Mqb*74@#1BT5q$ZOL*(IBy8zbrbT20zX
+zP)*qhVo!wcPbw*~BROMJDkyO>nfQED at a|RWn=ofUbQhEK3|IKhto#wB>>E2LsD8qj
+z^ej{Gu3Y*-QQ9qg!kGL_Tk!6n{4uWl;a=(+Fej*Vl1+BE8PNPoe(-mJ$`9D%N_X00
+z)r_?51Dp0J2i}c|7O)G$wJ<l9qHVT8J$KAqyN+}R#Et$I%nQ at CkO$^JLoe8~4m`Uc
+zUVc|Z0>df(tXPQKB9S3i-#<Ma(7Q at r30GJGgYI~Q=6wDNOj!ez*b3V!k;PY*pRNx0
+zT`jMqD?EWAcY<v54nIaFvmMz%x(r~+fb^hE#&}Ag6PA+$gE7H`aYra4i+*1+7US+{
+z<P%r+6>L|ZJGy~sM{qT>{?H<}{T6N{M2p`QMc40=KAJ&c-C at n25m*rp%)9hn5my{t
+z<C+07STYXOyZBxqR}5XF?ueVlbp580`z;x at pc+i-JJN$Mj{?T%KEs+(gv<+DQiIxj
+zK+O<B)`eZmK}f#-rBHM1^h?x1v)6=L2ti{T;3W3yCETFvYg{c at x6#>vQ>31IRxK_g
+z)BTp%p#E!GEn at fgvmtwIs7u~Ks7H`pqW2!IpMor3cNHQ at A6a*)-ut+MyIG=l$p=4M
+zIUf~YUL;?5OW!hQ-USxk<*j|q8 at lUPHYry&i&r+yS2hn<HZfN=lUFu1RyMiMFFNks
+zgkIW9-n=W{yz}3@%ip|<- at IcsS$(G7edgYMX5M`k-hHOuedga8EPcB at Oz0pdyYmly
+z3HTjQ_^(j-VNm$J$p9$ifH*S1v-It4{E<}B(J|vR>$f~gu{=t(JW9DdO1(Vu9MMUl
+zu&iDbeul6t_^>Qu6#i5cei3p&u+(kK=c|Fs?SRznfXpqK<n3prhE&3lRNT=q?ewfd
+z9;H at ZakuE?m#{3fuq at TEEVi&L=ddh)6#hUm0Hn-q3mJfg3=k}NYa)FMpLm2#F}<5~
+zg#GSz`}!d<NfVVdkHc at x23WAVt(ZO1s-CVF$~Vs!pQMP&8pq++VFNT--P+6^Emuv~
+zi{zUZi%&8{Wv%1zd$IxUt!~dgzo?#e$`QZCn>*qzn0C_4KMWP0REo+n#^E2b7XAPA
+z=NTmw=xrK6U)Qo+-})cQoSUPx<=t9s2es%YB=(k~>cunS_uR3~E4hk?9k9$Zxd`KT
+zZ8Pq6GAN+Ri*1ok;dSP3IKo|$Do?`F2cCb at 6B^rMoT at Z=MKy|5OfHp~R#X~!Pb6j6
+ze)b4J=)4cEFf1h7%yTS!t?e?R?a|}~@(f|%SSM>9E<55_H)~=pl^Iv?8|j(QPHB1q
+zpVKOdjL%U|ahn378VxG!mtmO~Kx(^;%d2X?hTnnd+(o)bRuC at 3vM+qE^)V{%s*Mi4
+zW7R>3bWyD^ShBLHFgAJ{QBSFjj&Pw~Z^W`0?b+-^vtkVP3%dSLd>wj4s)_&VwAVxb
+zK4fS%#iWUU&6SZ?j=zuip85WN at z+pTYW^PAne*mPkEY^(<gfqSOR at dyUh1zEe0~uH
+z;?fD?(+bYWp?cP7bb%9OVHAMVAN3m{i6|!z8hVNS(+VE9<auFKEp_(S4}QUJe=wF(
+z(Y%p-81lAz_QJ?|qD{B-;?R#_EUTq5Fa-XDV;>(u$|*tc>3+Qiq<d{pbQ5O6{m`0P
+zMRQD%z3azSD^;$wih#|f)<ZScjiui;!lRHAZRt1pI3(2&))YQWDVQ4G^JRo~NE!Rs
+zkjb8t35~ErN<CsCKt{g9A1wCi|Dll?oa=&Lq^T*ae7e=71T$TGRT&=`k7}G}qyrR(
+z_;B)EcYmsA>o2H8#wAQwj>uAO&_oTnf|m;|S~P`^h>EdXs`VaCA;Tvkq9dkZsgg2L
+zrps=;m9<1om#wZsMlV*lf>St3K|@zzOcI=U7G$Jb=crR5(-R|1*in#HyW~8M?CzGb
+zXL(GIgnXxnrye_<5f^)(q<_pBdmpp}#iO|F{`1M|^!Av9#QGo4dmUo0Dg*mf;@m$%
+zFGG=@S7{f1zGHVDZ;oLppbn!>YxwgeBp#5|-{20jIU{sVamixv%(Lj<CNfhIY-w7~
+zRIm}yMjdMJHumYKCeFmLQBd-e51ZsyzwQG741(h!S>=;`tZDv&JbTV5a$R<a=C;`s
+z|4 at R@{)-a)>Qf0$+$G9m4*jVF2M`D9rYikI2`>BB5B^JSm;xMjIS5Z!o>+32d=KLq
+z+9Q+LJIrf>XEy9r7$i4GQId)d4LKYZ_;W`XCbvLQnu;DA&NM?W3Dq>nQP?9lKvAiL
+zOckRHS}n-xy5>X}A-70T=27<3wBc}{BJ~qGx9?C`FE{Hlh&AX*xrEV++>8Dv48qS~
+zVbX2f+}g`ZB!-rs7e6Wb9{LbJmEcODzqZr=D+|)x_<)jIjHg|fTpLzNxB-c at 0Y#e^
+zHI+lSVoKeDascK$$emb75{(C1O1SP9i8C4xOlA;+utskBlwR-!@hzGUhEMH>VCI2_
+zCIF^0NI=*iH+#wei|Bvc8~==Q6o>hn;;8vOgGv8U?osb=cH{qKHZrZJ7BTYnYkjBS
+zoz*&^;gy-JKSptl&N?i+X~?c-nDWVOlhmtVaNs#}k-6)Tz0j$untG_3b1KWyIQD4F
+zS}d_{G$^iG^a*TJS}(9$c(9wkQNKex|4{u<ZZ2J&$3KyGNp90w&;O(LQ2H_tb|Q55
+z3!urLN1zr{Iy8 at ZB6XMW$6I^SeC{7gaDY%}iT=zRW4Xp$`3d`78$hJ9bVJ#`+-<J?
+zg#WJV`I~o%fHGmZ!d&qQ>s{-!uy<+K%$vdKQ`ED%cX5}7U<u)T_tU#-d~kRFa|=J8
+zuAPEH^6Kd5zI^(^{{6jctGAc#tsc5_0O!&FCj>7N;rS~BFOmR^zz=^*MaHH+M*OD`
+zT$o~HY*;oGLW`=Ngw~Y9B>%4v+|{Ib%pWg-J2svLS}5VOoQ#FjQRP60V5DPMCKd6C
+z>V{O%6a+1YE;Jw^NHMgI304I|2zexrN?HpZNEMOKWeSs!Ll+j8P^cJQ$0n@;Nt#jz
+zKcbi<rZwV7C80&IPfeQxYAU8$Q1MebAyFx{4z^5DT}*Anszh81f1cVp2hvn-uHdh`
+zBYT^5WTiw-3o15&*g^_BoN8neSxyU+IpJ<9{2H#I=oQ75>XbC;nzo_v73Z9)A4y{Q
+z%Q-bJNmd;)3RSld$)_GX=M_ULVOz4unK<a0*SWwZKt5qJpLHMcNLXr<jLKJ(a|Bvc
+zkwZ*n#LPl`8E>3gCkJ9*;W3P5W at 2+@g3$CZrs-yA=}Bk#NoVzGb?NC-gJFCAdj1Kt
+z{^19A=k*Q96r7&e{4|4`94a*36fZsTt~~KBKk=?UwJ$xjuROIcKegxcnj+rjoP}j2
+zd`_$*2A2_|<D08Krhr_`S=`Q4fusIgF at qw)&j5|-Y-~S}v2XAukl&G5u>w<xvHIYF
+zie^~B%>B$6*#5|4l949j-_clc@>7|y`XhmwW_W|lyUbbt6<O$J21>z%${d^eQ)<ja
+z)~v`7mK9wk)iPyJcF5TbQk{vFIX*Q=^{)@ZsU|Hof_;o{%=jOYi__Ggr5?IIaWiHP
+zW|^9wTH*9#EOf?6#@zM78_g)Rsj42EG!;hbqc01?FaH!<Tz4T{cST)y$z6Aif2zP^
+zA8Zq630uZq!)V70T0Yg_>}I at GpHA?=<*@WIhBYJCU5<Jvw@)Yd=vhC%ncyE*s7pWY
+z(2y}=KBKR@%ue76pHA=*ynfaLt}Ir{%K+}M<T2_DBl%r+CrJC0diT+ce%=GV4OYxc
+z|JKl$F>+m_|GlE^Z#i4tCjat9*V)6jdrzv*F2FZ}Q6B}9?&7*l*5!-Vvj^dOPwJP>
+zKH7uEvj_2ePuiEx__vKwA3~Gvn7YkPOWo2zFfoqw20O%RIiFk9tkmgHpFUPvoS=68
+z##GaERjZDMRO9sdxq^AKD%%Cc-O6#$)r#UliS(eR<!=ZA>rKPzxUJ95n?^deJ14VI
+zGPaFDv<8*$HS?xbuMN+$>KZN5#q$PDZ6k@@>Z>*`QRTPVw$1Y{RV)^b{py at 8BPE~W
+zi}gKN?en^M`l<}=^QL**D$s@%<8oeI(;2Jk%0HiG&vNgkwjni)%KOz50S&E29>a2|
+zzoPJ*N`k*GaAF<)9h!Fa5Zk+yay)JP+IiF}M=O^(b%j>gnUj>tEQdsy^4%uD#HT1+
+ze(40_Qxwi)S)Q!BKY!9tsqd7iP|n%}=vVWpoLD)b*MMl?F)w%1MV~wAsN8T;lPrg8
+zdhSvCUdga>Vw``ey4yPK-oA*Ft-3qf4ePLE5Co2;FtWBmFPC|XDa+QB9(ybG^`$&6
+z<KzEY0fl_7fcA8Ms3v{3&?|iQOws*20d#S;v|&^*vXcDnWI^`d?_ze&jvoId6VFt&
+zRhTtI<DXoqVkwiQ7~T{6rZ4V+O=U$giXzO01U>i-Lu4m}C9P7E_ne2scUWOyK$QF{
+zP_XB-e_lZcvL%(?=eTq7oc}P(^J4b>`E8fd51mg=Xh;_^j;W9{yAKqju(`lkYe)oS
+zztWp#s at usXQ`2Mdn&v4vWXP3U6ZL4>i6#r3%`4sVWi^rvF8UB$tZSv=Wd2Zp3)R}j
+zBkSD0MZME*5n^p^L4Le?FJ`onbf|ppCaTBbhQ+rGM%$Wxkzyv+w2CapZZ5i{+J5Nj
+zY<;j at WOcLotDa7iDy@#)?`wRI=s+t)my&72Fk1Y*m4tBCqAD{-P^&~JkXo_DdO=9g
+z_)HgA3(BO`Uw7qAE at VvZdaK7TaNeVOG}J%vUkV#ZO3ir}7za{eD|=2E?oo*!4O1E7
+z_Zbp0yeQ5Q5k~hDpd2e at GI^1vXkBZtqhr5(y;l4FqGfGXDp#@OQeE1q-Osqnh{ru2
+z;ld~-3<gPn-QrJhEO(^I&J+d(S;SPiTiYY+Mmu#SYS<A^;2-$$O3>E!cHHd%y6ii0
+z*lDdW at _*=h=jd3wY<oDibz<ALZQHi(6Wg|Jo$$oAZQIF-lV9HM{_fZP-o9h(da7#F
+zKUJgF+RvPG&$SkwNWvEg|4uVDj7>x-h-dyB+l(0B<cOL11jyXcO`oAES15hs85?mI
+zeF*~eMgi#1D1*QP at v8@=D7rB{K+qQcRf3wQ&`5%o=Tn%1pd6*VkX at P`OVo^BaWuQA
+zQ4B#8OZ-#j$QG$%R9IQ$ZCxlNuL*od)W{meJ$3}eT3IgXFbvB?$XPTwmnxql4I}1M
+zR14XWuaIpyg^{m_;U_ZlBlSa<5RVm_L@)*ErMJ31eE{=tVz`>U1|@Q`WbHT?W~yds
+z at -=gFzD@#J|IP^Np=P8bjcU!neY!#E+|deOnDh;8)efl%ar`ij@!x9#l|?RDN5115
+z`#Zk>*9rGO;`<-L{nzCmkuBkD;%MM(=lIVEk5;z&s~(U?s6(e+mAqIPB{%?et-5YU
+ztDHE9pV*=Ygm~6YimO>_%(k(E<R);zoEZ>Qf_e7(lYBqhrsEVi2tK>b3GX<|%dO<+
+z=jSu1KHPM_e4L6ss9XQ{4FTO}Cdf{8NSp480%EsI at EDvCcg&r5pFwEm;H at T#3}*L7
+zyOJ)e&YK at WgJs5sZpBH=w{{l(+a$FqJ3xhbBB5|myRabqB1w-??h#9LbYU}N5~GBc
+zdc?+dl1^S_ga%92GR5FI3n at O4NxEN0A6+6hHEFd#HKmHs;prGQv3Ak5rLD8vPHhBv
+zTnn_bp?E!noh?g1V1j;!O4FsSx+7&WPq(ZqU1|^MatC~o)ZY~@V)<o4L*7xtZRx~`
+z9%L?^4W``rh%wMiIHgUvg3mGYTGMO8D8GKN+*xdU{#S%;O4H*dj;=k0Rp+|KllzFw
+zVw+S0l&(pC#VTl*Vc4mAi;XCND8jHj2&D9wJ7zBvj4(Z2N+r6!c+2kn2T*N$h>2w-
+zDFyxGnB#muy{)G0T)9eR%H^HmTm at 7(io~l*0125N8K?i(eKbZvc48jYA`eu^fk>RQ
+z)|71ix%!c3yujQx5_Z3QyU9CNjm)X at FazA}?^B<G&>U{qunTkz9`q>DLG00#k<=a*
+z&Ct__2tz_Q at yQ&&^3oH9#$gC-B6pzEFd#tfQkB~TUcxB3Rsq$Zv2qBaR*^UJOtUCg
+z%anly3SGtOu)#$m at du-zFF3~=-~j(=UZIikm$?AkYr)vJlZS8!mAq6;*azr`-w1R`
+zX7D~cylehMXKz%=KKBqvj|pJ@!k3$WOj*{@u<nflKe3gJH+zi>f1&oF^(Ey(bjFO9
+zo_uW1&R9qZNva7+W|OpwkCkAiMK(pI75R!i*8yMoKxZw0lCcPbV;atnxOYU5Uotej
+zp2T+JbqaGwXX^hwCr;pzGwQ!{!uH$wLGfSr{Qt>`zomnc)?exHS at I*L2Go)QRV06-
+zg{EOgM?e=Mh!i%1KVxToCgzfL{2$pswJ-qw*vqyb37^3)&OGb(SC#A>YZK_L!SO`a
+z_*3 at v#Kkq=_D>-70Z9-_M#>s|tX^zev6)zp)A>VNfnGzpt1@|ewO$_3Csb~I2#viS
+zrJFc{hThGwj6;r4nAt27NVCO*8Y=DYjJQmCw49~IP+eU-&oMY-^r}#45PsAWUER~&
+zM1*NfMWeR+k)m2wF<gm$wE)zA14_bZwps^c7i=KhK~ABAPf_U_-U at yfLc)6P)zP<l
+z)IsX8=g~1T3FHRjVaqO*kd`!dmqmtswF=k&(2Z$Vq98TuI?}I+%<2T_SL at aVEK+Xo
+zmUuLcurNo5j-<({clf5w)~2$Qd#NfiTgWWhYCt0c!3-^SvHI3mi$A$~^{x~vw^3vX
+zr?uH|E~`+5)u8m%b!_5 at 0tq7$KM)llrocV4NS-rNEJrJ)ZaTB393EIu<`H6Z$`MIU
+zZCk^_1GArUS-jy{ZOWBHUVM>p;ZInunq1^LM*o6WXd31MRrGeDIuh4 at F*sYCohxXU
+zPv{<QI-!Szz3OAT^x at _-WddVi_FF4QNd4iJ9`0p-)=SXOR}>Tba=!^$pB^pozSt+s
+zTSB|gB~6wKC9zE?{enUL2*h9d4 at 56fPz>Uys6T$q{F)q^doYA9@&wjKo>CHi8Nzo?
+zxHe5PiKdhYz-G^JlObV98OI=$#3Bxpk>^iCfOa>jd%kD2n9U&ToP?u!;*mnA6sTbl
+z?jiBefsR~_K6qcs- at qCCE**pC6}xMy=tU&`D&lLHZC+8QVqL*JM!76un3r#nU1?x@
+z1W(F#zlJ32=4AHaE|j>OD`Hg-fPK&~?~)-pdP2y%I;Qv29n0#Msq6mFlk>MCd~B%i
+z`f#}KzAUW&HSQ&Bodp~n4Ltr4|Ns8xKTwa(Kkf<hn>NL&yr9&|WnnX}2IHX-iueS=
+zLa+kJ;xav{#nxknn`f?417<({fASke5tqPcn2UR#H14{kk$yrxPC1uLnHOc4nqGa+
+zh|6X=o_aVrUWW3M(1!1eb%#bFZY{pEpa!7vg9JORub<vomu7lCmL7LTL)T1s+?&D~
+zucttg)Jid+JA5>pC1>Q0C{}}VrESZkvCdSjNu%a4<sH2bJ<nShtLZ8wyKhgH+S*=Y
+zX^^#SgjDA4$EQPWh7D;(oo7^)l52+X(%BwMEOjc5TfE2EWPNElPs+wgWOpf|F`I3E
+z^nt%D2Yd6F50NuaRJIG{MMt+F&>C_IH8`<egBi=op at WPmotm`5d}S4ymiT;=i=C#w
+zpB6q|Vk!r%;PxbK*_RGiJv+-tZ*(p-p09z=G&h2kQ9_=qJiLRGWZ->^HY4GY>r^nz
+zJbebUuw(>r3~8iBDIuP7_oZd>(rgGWiAB|>O1h|WSU%v)X$8To#T0}l6 at u8oZYdyu
+z+1CV6f<gYOa0i%&nQb&@uzug(H@~ugdCz9isUI>qf#=T$hmRB0hG{Tv&_W1+|8a7j
+zjb$hI5E~tuEL10~{t2{Ab|+z8+?K40FPg at _7MBM|y+HqP4idB&9I2eDwRw`iwsAH{
+z;&1bVYrGFiNm&4I6>@n##<xY3jnL(L=mZ97ZUA6|4?4<3A+ys_<-sl&7;<PFQWfB_
+z!<qn*u%bQOVuQ|<4;lA|U_KRk#iA)j-#yggfZ6lHll%c=3#H{D3rcyFDlf#?Gr2ti
+zS@>L9!L8pAbPkP0MNy{!Kd&EkGEWYz?RW+yTNIpU0in{Ya<M_l*(mmdF;tSC(#KEv
+zId9?W-y(Fe!ptlM;ZDCF>I3!o4jgq_5EUbH3BxST=3zJbWH$O?Tt_^E*PlZ)yoa-9
+zm?YDP=58rna@?vlyJ1yk?T%(!HRoG>;`xMHenvLkr3rrA%ilmB*Oi)#m8VeHjuSr_
+zM(Hb8F=UngN~Gpv;SncBX$Qf9`1^##YM~&n>~EAM1rGo~|6j99=(~<Z!q&;e*2%)z
+z!qr63!`Z~?uT1+V)~Z%rcS1Hn`Lap0&Ty^=&96%lKP0q)8qgFuR4fW!;kO80qEybe
+zXlPy!DLPVwa>qb1`_1)w#J*3 at I})`owAf6~+5a5G#QWNl2>(g4wEg1RNYSZoKhoc_
+z?Yqs<{XL&ZoAu}W{WuLkwL4SP<VosbF+Nz|O+H@`*l+AUDt4Tst0?NghToLqR*qh(
+zuE&BXxJc1O7a=ARqgI;2)QBEBDTo at PhkbCnAR)&28<58?>|yozLoC9aiJ(;RH0rAX
+zI!$ENF_9vbGs)CZxRYr2KUmPit(V5!OcR0wRA%z<>Ka|^bpmV4J@^B=nNpjX7hKmh
+zDodSxSH_;mLYcTVmb0Zun1Dxr(_CNWce7g}8>zX`@*!bK9nQJB79mifUP at b&(EYJ0
+z>&80U6UL}{<h6%;fWNRKOY5e{f2UnZ4a*~GP4;6}j#V5BCtYD)i5F+Sr=_QU#jF71
+zBIoWctG3QKZxu21MkYC9QE2s|=17k+Nmz|nzrIOJro6J#^%QOzH7+S?)i|0H17`_(
+zy@<DNP#;sGmNv#^t&A+YJJp5NkiCl81Q%HUYJ>~oAPA#g!SuvKx8<M-ftrqF6}F6B
+z at enOE*uMi|3SXoZ*vO!oW!kwp(Z3&LGem665gTVDD|gdgIY8-k6eKv73_rD?GD1zK
+z(Yt*YM!?vjHP5LYM<^E85WkpG2_B>Vg at eA*vXK7=^<i9dw at aHMw_&gOVItzPOUxeD
+zTA+|x2D2SkIR-XM%nm^Vm}3B@$spGslA#g01NOK7Z-1Z&Fv&D#djtjGAM_?W78fk`
+zh at E>=B*2r74(MVq1M&3s+9~7a#%3EGxzg`<$`<C at G~japstJ={CprnEf at 94_p(ZLy
+z;r#_Qe9PG#J?Rp38xkssn7<VFOR3Gyf{GHsvNZ7T#ld7|5jR-f=}?uJv?Zgp28CH|
+zWE5IPF;v?hMJduL-0#o7_ogM3 at egYyLzk7};9^Zn6`oT{9=q&m8O`?^mYYaYKH!W6
+zq~+mf*Ce^<Y5oVWCcL&=1FB{EidNPhxni3dq~JOnu4nJ}n#62xDC0!v7eW^itytC#
+z{zbzHngt8xw8xmFND3}hBnHZp_Q)%-$YXo9*@LODPpIuvtea`Vx|Jc;1^LFkmihs^
+zei1l{@{SQT^Wo`ZTRpG-BfDGmq8eLD#Zoy~kvTpIdNr168=9kSTP(|N-Y+*|MIVbY
+zo;zUFilkE)$+kedY-ZOWT09k6VI27j0qNj2EV(jzljX7OxWxdnw#1&b8<g$AZ07Jg
+z3GrDpz42-tCkR<DgEL9K{2MGBirAsLhN5yDu4MCAFXPb7y6g@!_div4UmPYLxkei2
+z_&$r=-I&=zF5^cdGC{V4zuD>t5V8d(t262UoHeZH at x5SqzXh1yuo{}$gITeH)EFdU
+z6is2{zCu||<c+>BWPDn*)hNv^AAdO~k^F=s_Lt^MZiV0IS?fAE#i+W6pES%?4flZW
+z1p2~znGMu at XkeFP^eAQbc%2FMoytyp5B&pGVvl*f7qxeUvcDpc^0W^SfD}JGrxIIS
+zNr|Uoxm?kJ&t)(r$3>FvH6aXa-Q-kC#Tx7c{uCG5F+Yf^`$1bfJ>O at bf}AirJBZ=q
+z?y#F<B9P;yuW_lo6x+J=Mfh{i%6qYDOUjTkhfh$}&tNEvP|xC}R7zLZ>@l`XydAqz
+zm)L<Wp>^1M!-)5a;VWv`dmQNKT<67c;I`vA#R6>@+IFCm`^RbAo)_Ht54M?=01lKp
+zY?wAU)e?~rmSgl&MNy=hcrIo_kOyV*N2;@T6HS#wkcl3frZhkcq%W2#HsC{2$WepK
+zrm6}7pylIhYVtQvMF8XU-`JgL`n`wj!1rVKu9{nY41|X?iafe7Jh-EOE!t5Q>Zm|V
+z>SRb4dN>dCWc66Y{pW}vTXpG^gD=tt_jLJ7C(QU$rVhUusC2LFb{KL+7o{&8K%2D%
+z9ZjPW-4d4$A~H1>+szV<mJ;4jPmU at TO_!G0!W_my(>ewIoHD-)dKVY2K$*reEkC5J
+zKnkc>cJi_G^ZR+|JJ%>YkR7DeuBd4D$bsKNQ?+r2ZWtF{?%{=dFk8b2ygT~OaT*_C
+zWO)0~-T}3 at 6g9g{-oqWa9*Vdo94Ve`jrg!E=d)brhn`F0k5#GX*PGgQ18f!1K*Dc|
+zD$*uN9IbSotqGW7X9&e($vaMNWT%nbZ#U!zjcS9LV8Z&2>~^Lf%3pu$gHktYF7XBk
+z05A#ie~D(_*zy0vkbgb at 8+?pb8n>O7N8n*|FtmiR0d7iDBqy<%Ya$Ue6cH?{pd?fT
+ziA<qh*(6TcA6XfRjrat`>kCmKLHnLt6P(uOT9AY`s5>ELHibQX^7(mx|HChponF4r
+ziB*M_i_?<x56GC!vfF-4&m0#<wA?%UZv^^|F1yg-oG3yrq-W*pKLIlqvLU at AkJ)AE
+z12xOW-Y!cEXEFzE)}C{28F*mGUg#}oPZy7%P5b)B(9}=b+rGKpxGTHq*zU^Z4*~fP
+zuZ+$d(-E57u0$mCIrCcG2Ff92Q$$+A^d-Xl&J+)qwe>xJ46}iXolZ$47k+IU%WB1d
+zEY(1DJu{;Eq$%mXRc)Uk=-K2KP&A0=$hw_zc10z|nfgpPR5oQw%M$07tD9AFH78U$
+zYVKybemy=$J3F4U$p#W*ui5G7&OemVrOgOqNLjPWaQ7<V!1`}`TP at Vn)%_9=@O#wb
+zY(Jd5e28QA<atLWP$z_<Cw~)Fslkel4iu8=2zt(^Z)p=n*H5iuNki$BjBgDz88p at h
+ztsEFq0DVGP`)=Hs=Nq$BR$`F72lmo*Z?L4{&(hDAu}jluBd^_KRP2~YUCB)_?Iam3
+zh4P6ya_}aZmma|Af38N!?0y(Vm!N<<sesl!O+H?sJ}D%IQ@%vQt>lZ<GNMLKnGcuE
+z7~SmlW9e@`UOk>)&>Y_^Jn);55d2rX^baZ`WM}^`xz$HO;k#uiI**%;7#kv#rm&>I
+zexO!%CVwAvt8fasL`fV!8ZvYJdB!ZqdNGwL at c`MU-&fD`ULf78u^|Ls&(A%+8wu_f
+z7(x8{(a!D8((R{Br>Up&>uIC!{@UY0{wx8jh$}#=i})}J6 at H53tRM@T3wNMH=K?3)
+zD_+YF`!+4BB#aud+%4<&`}|v>c^MaAK7bv#gO`%Sk(vT4S89I}^0YjVhOc~S&Ms>q
+zP6X1ZS)Y(qjiI^D2eVlK8Fn;}&+I|HyYRe#(s2YiaL;{LWL+U!Uc-Yl^2gyKt&?3f
+zs7lJ;eNr;EBmNjp|HKqGH9Edd<+}26L!o2_Jm=#Eg-O>qZ8zv>n7w$`4d at t|p?aY}
+zXaIepwnG)|E#u(B at 4Aocg?O at tk`*}S^~~_YzKi0}mO|8c&x|&H$lh0x!oohCPOh-=
+z5$&%ZAFrr}P5G5jj$_%UoE!+5<^A01<I46h?&pA!h6 at xL@$7i_>)|p>I~~Q(g0fA9
+z6AfmfFDM#gqPLe@)gIi1(s%MF?o}~i1+nEGMvYNak(qoyyBsE0r}2mSS#&I<bO{`b
+zLm+x+fLiNlJB*xCD@)QxC<f!7ETc>PMb0sJlMcoD3Tms8qqMVp%9J7ilba(X!xJ at v
+zeM)AU`~(|Ita9L7TK2jTM1ZH!ZhliZRBrrnBp#0uEsR)>Wf|^*SI`S2$a?4A;A-WL
+zv5UzC_|pKlE5TUWw9}q##{Gq0R-Lqi^?(>Dxc}8OH*1Hf1M^$?nf$Ih|F)0=*g2Zf
+zSsK|HTiBX8(fvaa{nzI8F9}ptM+sRC-8bcelz25lvj=S8ZdXja_c^#4un at ILRH-R|
+ze5FFFA!HEUnit!qw)0fQ?p#{zI%{hdgEy;r{~==PLG7XDtKg5vv~3DGJp|Kn7SHjA
+zd(M;3l<nu|b;~k9OkcP at yr>B}^sYAuU{uI#3^XE~-iW;dE>lB0%F(F_MgyZa#n8T^
+zr--UrKYH&WL|5N02vT~ASY`|d_yz)Pcmv76bP5$Z&E&TGV#}9sPwLgf*#edF6;#+>
+z#L@%hc}$>NU(EADXb&wRsU?cl{a at gXt{!t4G>&F&t^{VNrBw|?(_1CF*-q$%OdayH
+z#K%t19;M1<#8xV$X%7i-R^~s~???OF-JX_gi4v9iEnd%VqXbnPx(WkRb`^J!F8eWu
+zg>I!?w>*tWB2~-delv2}9ar>!V6`x#H;?mnxlDaTyA(+6bjg74$E#FPd}azS9-GT)
+z$At7g!DySI?NkwP at 1jVm{!%p!vFGmZ^mWU97|LR7tn<xGFjf()0ao)5km+YdvtmjT
+zxT-Ac{jJkfDUDjj>yF+Bdt`widQA$0@;+36y|z>)d-FV^Y)O>yfcEK9J2D_xoz+Ok
+zP8iqj2rq?>jB}EdFW2AuRQW4BQ#>;bts7&5 at s_2F!2!!n8hZ#385o_}K~0*o=lRXV
+z4lSGDK>ENS)P7nR(AwU5+}nEkD2V*}l9J at LzWR5Fx$V@{X18evC46LAiS}anCxvI>
+z*;ZPY*7bbhi8YPec8#f|#~XvsJ_f1~-D)gF0!D?!Iy%-{b7$-cy?QeqH8<gm&N-ku
+zd53-~g__H^cUmdJ7Nx>W;DBp;ay;%&3rnRsqKlm)wCPNL%P#JS9z=$C(7rBj_HmU1
+zD^lf*?;)WdZ44r_LzF=2DQ}JRG6Y^>rqi?*S7#Q9aqf>hN}oZlv=eQS`3{DTlSa8g
+zYq#p(X$=Jp=texAGm$m>dGPGx=8mSMzGC{GsIQDsZcY#QlHD#FM_?Nzv2O at _4+h57
+zsFM>A6J)9g7v910?Ns$aN6WPcyyfE+GJJo?fGCJetMbWAsR`yDfo9Vf>Y`413ar!4
+z-VZZ>YC8$69D2anv#Q?q3LAPtay at j6ujJFbw!$Mb#1YRELEP^zN9<P(LSDf;aF2fN
+zql-kOI-)zhTSB%l&$>3AeTdhU3|y)?;^vk~jzy%VzW3D~&@yRJm82a5FiEhqx9tzH
+z?+u?k8p0rmA;&mu4qRY5z_caz;Z-H6mp0cdur4ffE#+JKrnvKxjX4dlNqQTxi&#L7
+zBioYZYK<MI+_m96w&7Us9Gy`eGD&t0o)8;(M@(~zcF$-Xa}!(3LSJ>dh|b;L_Odv`
+zHSBun<)u40JIvVpc^+r`Vr{C|@$VdA5bD(}Xkw(+QAL!X at 5LoebOj|&ma`ZsG_Hdb
+zEE)~HUc<Y+3=V_-Lb+6OdCri5rr37^-44x35lKa=#-0BP$fp@{P8G at JOdy-LlFG3O
+zKczB{pDbf!UZ$@xoqb1gox3)dHjB}rTKPbR8*p}M4}wqiz*{avr!q$kWo3&P`?{Mn
+z6w0SHXz^4+e^*)R!!yBYm7QZ#&&VX^jAnXAh~7oJwB5(NvOlJkT)269zu^{v<Gbm<
+zCz|#>3N7{hQL;L1P*Vgt{jtaU6!|tmWed%dC`pGCwOEU()D3ML#pD~MTRc-*0okti
+z>es?4H96)TV<#D>fGoFmi<m3A(mrqgiT9u4A|Atij_$Yop#%4S-Om4)-k~9frH1ke
+zwr*riN+1C|%Ae%}m>5D$V<C7}5{G~fR}>e=)4QTXkDlqCU!<}K>yldVr at BH}#D`pQ
+z5xfE at T$AEViSn@?-s24Zq?Y_+D*HAK0J5n9?`os%DeF4xKHKE|ZJUn|#2&&9L?KdF
+zgZ9~h0Rr9=xJ*DVZk$AecHB`UrP9$s#&sDuse_=8&BRSA#n&S`e8ewoz(iuiaCGn-
+zP}o5TZA|2HS<4sZm7&PMW<2|MvQ_M1h-~ToDi>x{jPu%9bBSSFR`Psau6Rk}OBk4(
+zj!!O_ofWBpMOhT-_bI!9bI+J=7;KSy13^aku%b`Bwc=K`kex5NM3g*pB91k7j2Y7C
+zgMLkYoLmW}PU9qIMeaf;lj_3u3-uuKkJk*Mg+EI!<kOC$Y~=+m_EfZ1<ah;1m$ltj
+zno?q7JlEd91-1DXn$W?+=&8xF_Bi$E9cEShot#i&p+@`lL(0 at VD=R$o)`Rzxk5aK=
+zthiFB$`9k(o+o)B{C1A?IO9JWP at s|0Lm$rwtGqR<3C5?UKFt^!-bS^d*aQLhr7hVX
+z=$IoHFvmoe_W at 2hk|*YfU^7$5!o$hk0uGkEHN$*Zf3ULZaR;I?RC+X7KP2$32T!^Z
+zrXoYFs7Xr8sZ&tN4e`9pGVr1M>I;O^si{T;2QOS|DU^-O#UuL+r*firMEELDtz=Rd
+z at 2hGlLUk?#gM*Cps9GnQ;EfwUS}@T^(E^7$O!R~SFza{wqlm&5#WT={tb at tsZSkXV
+z0MqS=0DH`?L<IPAwy}q+0+-I(<|(B(SkKG9!N8|A9riEO`H*}TaaW^f))Mj>4~ltG
+zcLV|}Hu|{gN!UrvA6<IXov&Fksxioi#j3x=IQM1b*=BD(x4U#8NF8oy*e9P at SOu84
+zHP#rJtQ1447IzlpD7WPN5 at p&)BlCqd>wJeXPcW=me{s!_i<Z-S=KV{%&<9_}A8XCH
+zQM4&76ehUnv*mr_c4$bI^WQk;&nc}jKi^$@BiD+;D40?W*07P{NNX^{Kqw5V;X2U`
+z(g`gTPUIqbhvrth>gR&qHpJqR7l0<|jwbQNf^+0QTM+0Hf~ghvApE7(6^x<TVoTU0
+zn|lIJ()TMd!?lQyk>yK`T=~=VC-DO?=y=j7tmG;2wyudi4T!BuNk1!k&M+YA7A|we
+zjj>xC7lFl(d&OEH&L|@9A8bg(BSiT at SlqDiPtyXquKn}LpBTa2n<<W`(3DacYxSLB
+z&BG)dCqY)*EVmbBcV8qXFKIR!Rs=SO+_^B*z1wvp4*-Yo2<CSxFMUi9yxx8hq&luD
+zue*A?99L`~u`}kcX8Ou6R|bs~oKEWZs7q<Si5?nOo~4KFiV|{@Uj|fCTh`)0>AI8-
+z*B!Agox4;_>erXKgPzqW_kf<DStOYX%6r(At(g>Da?N@|T%PXp(c>rmAhf$aS3#M$
+zL-ny6xMEE2Nb%!yMc->oEPV|}StBl+{<t_h0EWu608QfeM0U*z%9PDUSY*d?FRJdh
+zgTHpBPr}pO%-P&Ql#QBp<(zr|>q|>jE9p^n_%-)H&f7+dp|Vm!dh{OC5$J*G2>k^U
+zU&)~%dq=olnfS6<g)M>gd!@eoa~0Cw!$POkx*kL#w(#^mQS9X$rQ<lTO^a~mJ?Hd0
+zMPiwo_r626!hvCfODPfVq%}roDTuD&5XD*uL!3}5oT)5$L^f5B-llhnnbZ5s5pQ{|
+zn7>BIAjS3nns2B8yOo*b)0O|TSOoCyr>dXyS*)R0Xzj;v=n<6CGOI;l7k}nxbmAy+
+z_16-w(U*YurJE{`MYLy_WO#`$daMMw*_t-<{*$z+QM}AGRn+)(f)>9?*fdcml~<&~
+z_N=?NR3@`s$f~gXhsCDN_^3*;QVZl#b at _C@B-}D(^_bX+qFlNmQyE%ZAW0lgNsX;p
+zodsGlwEVjh<FTp!+P7L!{&EWHaee>}h%Jixo at 3po1@mm<3$<nNxpi3P3IBtmsAdnC
+zbt<%~KQ^v+7#lZt2iiNL_7>x6*Xb|4!hRXY1Ov%61tTFO!{s#F#fj(q$a87(@kzFZ
+zZ5L}%^se~xTd%N4T5a8=ttlExNr0kK4H#a{KJH02gXeR)Tcz5Ufo;Cg6HJ=)gggBE
+ziLdd&&vo8!o|*D}@+JFUG5`Oi%@hA$AN-r7QLQW`hpd3|X=_#@R6iyZ5%60W*Tfx#
+zreH1rupqxA9=|ADUpmB9F=T<lwS*i??HwNJN6m^kF)8gv8^hHH+Zjg-aDX3k$Y7S&
+zRrdXBm($h9pKoacfX$&BjUXyWJ`g=p0gdhDLKVUxs at _#=7zgJGq-l|6+7T3piV4Ut
+zuq(;Wkb}ctf6mp~P7<HltlbJ8yS9l0L6##%C4(ldX54nVu-v&mDYn`yl4E_eqrSoH
+zhoSYh(@v6jZDyuvl|JXo%KKS+@*@%zQ#s{37$eY`HG>)CLb1)Tr?zjsWpc{IB2YGS
+zNu)+&9D@|=^@q at +R%3a^AC386iZNCkHJ7WIOE5;<AbYcrZE{YhFJ at IBhuVd(G%=5B
+z$S1s5Xz^VZXk$qI45sWkCP;6SVz)Ln7e-lpEqjSl=>sSx7krIJK2pJ|8KELv*J-+K
+z!i(J1h5(dX#1)oagBf16!Wv-JsV0s5I*WxDe09=HuL-Um<C%#Qi5Qa?#*9o3SySZ|
+z`HQq@<Hc2vGo~?eIC+Ru2%<QoePx5e^nI=9LnLS}CyVhAM5DvN^v=>y6WMCD&NCtx
+zoX}A{cV9XqXS7Dch*a~FYp&KA#n>{I3LlCLI^H7Jzyi0!i)A^0n6HWBd2H1oxHS9%
+z!1J=2z)W<@QjRJDu^^a;Jtk{Dp`y6_nGQDQts-9_22EvN5a at _D@DYfRR{}nC`z-O+
+zq*nT2j4(=3h{6c{EKze%+~orVnU#JEn&i20np7H~MN1*B5rdd&rIOL-^F>3bV8u%U
+zxSX64Y~Gco&MyvH4j=fMEqK*|Q_dUsJbt+0b*aQe-lT}YGDBqMA^O%K4bpWG+jz#&
+zj8a(#=zOmS9JC6-R9(CkQ$%FivHW<iAJTfGnGV$Gc=>as2W#t&Tr){JYan3T0!kW6
+zLyHh!s at sIGfC8UC6k1de?Rsk295^wo*WsQ!vi10qbX=Zl!8Qs_Wf24*fwBj<NlnU)
+zk`KUP)#Fg0%NYg%zaLO9(S(v2o)B|_po$;N+Y)$l%+>F5M0XE-CLo6f+XNv^Mlcq<
+zLJ`}^0vTAkq2=x)FVMTRXBL*0VdqrlFR=d!BPp+?#W=p%x!-r2<^Rsk|K-E`7duz6
+z`DW)RzA4s7f=j7$0nvhyc}PI$MPU#GzwQbUK~RGTyATp+sDu0n^4ILD`SNnP=HaKD
+zHF=#&0-5}zx%zKLr&i!U5I^vKO|NcJ3kdqdJmv5_<s9c6a~xlFeLOwc0Ho4ug(#ie
+z7PP>SoZRLk`Iun8j at tvX4Mv1tr>Fz-+F~T_Hdn!gvrzZrgm+TCU4^sk2?_rZF(xqN
+zf%9TG8}tEPyLs4{e7>{R<IMD!8dm45HuF at xJv8yr@Fz1Yindnvr&^&e;lI?7K7*2l
+z!L;xpZ=tU?6WyPu at EimGfqc85&TTZ(c&Xgj2*xl4Lu+c<=M+9z6rZC3cibRKX^pp5
+zoabnFa9`~0yxD6IKkHvJTVF%ouQD2YN^{8W3Icw-M|EpYnUfRW=}EZ$YkR(KyO=-y
+z2a*WdMmvf0&5rXFs^kd5^6x2tCrR#PWK`3(0bs*-w$_mi)TZy26Mp59jX>LB42dyj
+zP8fu5flHQwzXTyYqhT6V<$p30s4M8<1~yxXnq34F){Br(CCi^%%PGp8YLpy|(NcR5
+zw1V=eXa!Y`e%GG93bBb;6W9uaaXuY0sSf<$0bq(%X8msCNc`X{^h)y+krpZ{WS(7!
+zCPtM6c0bJW8OiK-+RP0=BIb9)(~x2J0t2WZE5XJPgfkXtqWpY?sv?l=keXd8jqG at 2
+zVDOxgO2w?`fQ<g4MB0UYiDqd-Rk?}n`P67T at t1?Qi2Aa*>Lr at vWV7kl0S40+M|x6P
+zx23N9L@|o0pPZ>_%Z>HUia&=|^d|;xPUM_!QMTbw2iGnErzOv))8r`8x!&UnncsHF
+zkD#ZJh7xCgps6``#ZbMlrtra|SU|?8c%SW8*}I173VDe12V2J6HGm2!+r9>+nA-G}
+zmhF1G#+IfuMsR{V#-TTq1b_064p_Ca=5 at tl`{hbp5L&&(v0!QRa%7po#3utj?-XB)
+zm?K{e$+$P~M5~4_DYSQj>UB`62CuaTCdkV5+=G38FV3+Fy#i5~FX7UTTQl=$z$els
+zyd8M=3|9Lp3mLT7Oo7Vl&jxzpdrPdE^7xQfOfpeH<a73NS(}}rh9iV_aY}w at lGcGD
+zt at 1k)kl7et?R*p*^u2rHZY8}!tZhQegf0n8H3fg at veF=z4OC%ZDj~~e1jE~ebj9Cs
+zQlgN|hBtq1H<ZM0H%xOV0)8R(3qo_5)4*v~2co&o&>~hRyF&67)<$Dw0PWL&x;n*t
+z*7k&kH)>tXo1!hJo543;n{4 at T*XK%Z(7Tv7$~v)&;Y=xnI#u?!b@@5L@~9eDBV)J{
+zy1o3GcMFbCfB!T{%5q;mTB4z at xO<-%QUE@~Y64Scm0grl4&Tj1H{5>4%A9Pz4L at JW
+zh%%io`~Ky$=An}Jet=1Ptclo!FYD+-IH9)CW0MUX?s{tz4V4LTM7=s%0g40CdnBZr
+z2yPnj24oF`;Z-h#B0!PPDw^3Idt+#Y2S*nN;ao+9hRVm~Uyv;gDP-FQ@!MWjXA>W!
+zUL6M#DcpIsdx1a(TlyPWhqyI`S^C+7JyYPyPV1b!8$Gu`?9-&Y2_q3aoV92t-jS97
+zg$t*=)ef(u&n52Sop=hj!w=lM^GV)C^uzEAN+-`bxutk7F0Y`C&!}L!4mO!;5|&P}
+z;;H2=E+pNB2`P^#%QJ%|38GsL6;1of7UMOF9KKBJO5a?q=3Ju at hlka6r5Bc~HJ7XP
+z7hKK4OkW(-aph at 4wbgT9R_#3wRE}n!9trP}Qjl5^R`K6m&|~dIOkdwxeAhRD|L@*~
+z{~_<h|MTkK5Ky-Aw<kyefv2To9h5p(u?P*JUQz?<m!CH(L$JB^oH^lN2&nn8gt}bI
+zyhV8H1&^5bc_1=8XaM}D-|f$5x`p)hVn2j(-iwX4Mkli=4kx$nkM}!NexOJj^Il;p
+zXX%FUMvswtkW303CQeh(rj0Hu6;SU?Dj>tqoThK^0}A++aJh2Tz<=)4*#5ZSK=lUX
+z-?XouyqKU-eOKQy>s+EuG1PK at 7;uSFd7ELCx|fA#fh}p;JjuhP%b0EWZeqJW)-gJn
+z?2LRo)Btp5*`^QaY-&C1so<5`NO^8rBOIS2&0&|)U^;lz`9pb=CR5&}ioV>b%t(#d
+z>Oh#*l&pLL&BolJ>Zzt@<WXE=n5R)Wv5q$W&@)9M;Eztw?`|h3u3Pw<l%>W|lL`(`
+znu>YpU{%b$3>|0b7S(*;+RQY~59ag|Q<do>e+q?WU#k|=6mt~Mr0H0jnZdPUomt0R
+zDI1Dt+O_ at Si#?Oxl+2Q)X4M*%yCtSf74FPe;#8PCU?;$)0vbOo2#}en65x1%0`z$X
+zI(=rkju=q?-E(`$Z+8&*?8Y#{C$w(6uG(_mPk&iG?!3IrMf}=K(0Hp3ZIw9Bru+O*
+z*X{h#cR(WSOo&r51W|FGkZB0ZVfm=MFZ44qjcd|X-Z3zk3ho%$0fYgNzBFMv5xvE8
+z`3p4sPTw=Kq91)WXT!Q_xFViWvdOsn^F_lDA9Gkm$eba at Y>Sm%!<ATl_JwOYwQKl;
+z&QWpK{XC=ef+-kX at lpP|`yd$vX_@)f2sC?cLsep~5^>pt#`7qd at l|Iqo;<2TKM145
+zc6f2!v&- at h;u(2`ip3~k;85W5Da4v?qkjgKG?Y$M2>4d}^7C~=RDf5c;o`C1grD|*
+zV;G{x6Zqa^bM1R!SN{{*J;(&4HR(<bp_`;6W${>&M~PSxm6Hv6(NU#o1 at T1+=i+DN
+zTk<0FLpRLuL%zV>)ZP&ektV4K^BlqmHqgK;h*}0`2_GM4KHS-Ai+m0l<ocPv&0v>5
+z!n at J@P9%AlZ`<{MB^&?0=_grLOYIxKe3CM?ArWH$9+r^nwo0H>tAs6xE0hA&gUv29
+zvj-stI0TFe_ikxd{>lF;sJztddX~S|`L)=>`vCqh*zy at Scbx@E;Mc-yeC_mS)hoBN
+zyK_3{{qfpv8W6kZ2f at XVG(v~|i-X9`D#B=%y2(cx{Ej7r at 4>)l277&=eEbh%0qfez
+zZE8BYHw6fSfC4;O2+jyfdo7iG{ah&cHD&W1RzI+0O<&Z at unP7VPSh4eWz;;eM*y4(
+zurZ)K5s)TxaLa}L9uGcA-;JC7l7JJ7Ms_wsu3(b>dZ>~_I&uiCW*gKHC)0X!)HYPg
+z%F^D5V4zwf*<)%@oK(^K;MEmxQoh7rW|8#?iIamtTQw1P_%uqZ8tcxIpqkEIn}oa!
+z9PGkO)oGm~(1Y?jTwYV?SP~RB+IzHyQCP^LhR&Ak4y+8;(nS=QQrgTzQ?V-HmZA5q
+zvkW$7a}&wb at qGRZN7PQDy;E+GUe{b=nCMJHhm+LkKu{0!;R~nbNe-6YXF&`MEGgpI
+z25`4k*)Aa{W!XB3QO4|i{TFAVjm<2&?W{Jaq}tMtv))4!G8w^DE2+U5OsOUk&0VC#
+zLo=;Q))oeXO_waJsA(eV#@QhdQlocf<M`puGNw~w+B{}$$z}D`nf*rr>7$$%fM3bp
+z1SE%Df*Jyi)gtY8nzpIr_d%q&nH1nic^)1bOgdxQzp(pr>e0%#EztK^O=7wnQ+Uqp
+z5wnb<8k}vdx#5keCRbKgSvc*s=r^5JGm=)De&6YnENfcX3_mHp*@)CQ`tJNXy9?-2
+zTLsxm*KWHBe?IWT(w=HEGa5bhpxTFlvq4djC?Yd#P7okZrbA_18m;nE;2q`7|E}YL
+z33fnuLv8A&DWvzD!5We<Z~*x5PO_q|8jSk2V|?#AQRmTNb0n%t4ALdvuzpWc%JZ|>
+zhagw0;eNTnw1)gj4~8h@!ysy38C?P!(n!LZ%swY at 50;_YkHmXJ6K?_ws!w0Hdd#5?
+zSCO|eI*ro&q$+^(5aq;7o_C7lw50gn<+|ERalN;`Gn2>!9=w4R0o5tvdOMK!DjZ~a
+z5=d_pKIJKN1ob!BBb?H;4|e$q&fyFH;tT%MZG{hxWvgkv1Yh0((l<h1+4w+_eEM!H
+z at ArzX`Go9#twhZWyJHrl2ke~SYJl9{b}bN)P-hi^j86JxA8iaW!#s=UXo}lkei!_d
+zFKHLJC-|sNOuz67&~?mLP*{Cvw!j3UXQiit;KnVP+05?j_HxMdJny+f5kN=je at Ses
+z?~2I~fmAGN*p&EuVbJVF!NqSZoVU4f!*DXc at Q6R63{x{ughLHZr^*mMZ;2Ubi}`@v
+zFLro?e6TmM{sEEimCWz0h+Zo=*a3)Yx2nT4rM&Y~QIv>w<F=IN3-BYsDs_MHqzTH|
+zQpY(b&lEM~=T+^J1-ue)iHBZD%Y;5S^;ix4yG99X|4^ElVjC23v^C$41k$q at N%1qt
+zjWiI!gGSy^caqTC<OoV&c at qrUh}L0E^$v%}x~05F#tUJ)z$LyN5*0<6Exy_L1D~K9
+zKe at WK6utV>y6(}A+TQIibb|&`yNXe^oz9N;Cmfl!j`!bQc<cHs-2}~aabyY55WAd(
+z<aM2qD{!IdN$NXT-Uw_Mi-d*RhVga`mFMiCbPj-eqrayamT;|+`-4 at uCUj9Do=;2h
+z%qZ>)QkwC`OAKX`|Fn|d?uLR<yq=Jl5*WtqNhUvI?}eW~k$<#r#V8)VqQ^h}Nbx}(
+z=hYmWRlN!(;@;JxGoPe^emXGHxvW}e{3H5=o#==Vwg`%$l;&16u4{M*erdCG-lcne
+z)WHIK)~;|9o(0tB4pPAl%_~Ga36A+;q7(X4?-0K=pDW-{dQ;(n!X$V1KDx$b*Yn<U
+znePLBS&4e at aE!>4LJIVESknitWMzDYv1X*TY)NPQ=4cZgW0v$=;WKMGoN#iAG3Q>S
+zXMpi%8L2ux=1l@<A!0H$ip>v7mf3wCV}s6|CRIE9%_6phrBf|&qF2?qvMu3?^U0!2
+z7X#JWmIT%lo1*Af);XG2*STs>E{nvjz$T4tiM0Z^xaNw{(3 at MCN+0;$Ho8ax0LW2J
+zyM5;snXru{nJ%kdCT!h3qC7{a>piW*(1_oW+9cPaJAD61t8J^hbp5^op3*n9CjCF}
+zNyLBm>L`BKI~XAF=(YTyrCQRA2s0N6Y5;otLmV`KFaAr{KO>KBy&;Lj#Hv|~@N4u3
+zGA1(KJ7CwFTa;NBO|oXfT#?gyI)~ZRRV^Q%FOa+6n-F@>1U^z4Y9cZd*$|QwoqsS0
+z8fw9ttC5}nD!S)XD!+k!U@{BcO)Tm}z%j?C<)kfhR!E<6{gv81c=Bt_xeC^c>CV#K
+z9M2|(#@>60*5gIqDHl|u4|qz8q!d+FL~3?td(^;1XV2|v?1g5cM}@mS-s(%nrOLhC
+z7`QBneoHUK6m>@qRu%ch0n|tO<JBo2lUf0F<)hABtF|-GvCDnk#j}=cTS at vNm20)}
+zTg}0xA at hnG7Gb5)HKlR8Rt#TmvyGmg13By at C|9uch8x_u7zn*%0%?V8UA`W at Q`g>x
+z<Eca~9M!P|_xAwuS5&i2)b`g*^(0zk3}YD>!;t}cQE6?FHDSpDDs&0_+PF(GHG&sD
+z{9?|ZP#V6~!0!b{;!u<aV){4H^bvJX0#{>7I&DZX+1 at A$uP{UCdPWbKyrN$tuW%+Z
+zO$hZzTJ%-HXa!5|O~L4wkb5)(G at MdUWbaI0Lkz(CO-w~#-1}!NqUS+BWoLkLJ9|)c
+z`vei;Z=se~AK8QYK|1n?IHXR+;UZ7O$+0-wdo at uKqiAGwNE0td4Ma;n3bQ|n-};Q~
+z=C%rgBy(TmQF}4wLvO<7wfgQqvzZFiIuBpnl+QX#Y(ffc))IA+<77*KAHqQnG&HR&
+z!%9+q%_H?NkyH3gp<S|)klzNuo5juXh at Y}1^w~sU67m$MnmGy`SedzK|8SeCihQh!
+z{I!f>Q+=hc`PR`YOlL>z at 9_uj9rQnA7}~rDyXZT97r&(;;{O`M|6Z~1PkrbcUnwbl
+z<14sh5D4rW)j~u;)FQz?k=Y7V2*Rxb6jX#rbs6y(gfPe>!Tf9sE2~m?-iPA(^gpAg
+z&_=`HoQHc&Oww<LX0O0&!=E9a{&RNOPL2?QBH5!`Zx@|QEz3{UzgRzSucxU1V)UzE
+zyzB)+B1s^U1qMOcxLcKnb{k+i8GloG`82fem5i#?caT>4Vt^eu$xGLaTaHA}w^9Pb
+z%WCC*khCfUJfU1bkTh<dIvf8nBxdrZO_!OboDmu=iocQ&X2c*W%xfjei82d>S_l~;
+z0M(SEG$mhI!ji-EY4a)+^`vLa*qNHzQf5v-k0{!|v$3;Wy=7<k^HeftRE<2VOr3*0
+z-gMM(D{Qqpc?rdRzG+r^hw!NN><R<-3mh_!C1~QA at fQBHIH)zL2Q?{Xek@{bksitN
+zAROt~E-Q%?7Ks*fH-$5~&;}URlZ<daeo2^^W69IRxi8Fg9gEEtalG!pa-Fa%5Q`Y?
+z_*9(GETS2*ffSI6{dTR#gF<-<Y6JMT-k3O3>OP0 at ZqKyPg}=gV-$J)U|JzeRVO)OM
+zSIlWTvp}?GgJu_woi;MaKxAO-k(<%UrV?PVr6RBXD-(e+9EH-!T&j?JybwpIlr;qT
+z9q;S6+A2R~Y7FM_zM|IoShq->^Mz0{j0+T8cg-iK?Os$2q5yjk7*5MgSIl~AArXuq
+zo=9hmg0PFLXJ$+q`gLIbejfIQNOC|%>h>tLwQMX;bF!_Xx+rl;9yh10FxeYyrP79?
+zjgTsbBz*l3ZH>yuGf`a<qr<|slcIQ75~HE0CiRg4a at MP3!tkg~C${ixW>a;M7ED2{
+zKwIha5h{0ya<tNDuX2k(Ag|}Jv2I231f`h8cg|sr-HSUqp_h1QRNfd9^1YK_(Rs`o
+z=Wz%-L%w6+b5~0aXya^HkL0dBor_vc(b>o}-q(e+G~DsAp(NCK*(jC=LoA(sE!mz<
+z;Y6m*FX)9`6Z1&>PWNHJq<K3UTOXl~_GoQl7Ym{<37BXn_PV>k0jI44P$#*%fvxH7
+zTfeotq;9_ at q^W7Z<yV)yv~9~$%m+}_uHoi0zgm)w7kQN<)vt2jGhwZ9V}Q-5OPIE&
+zJV-N#1d6sW=+=Q-R>7l5-=UevZ1W;sN;&S0a<=pkoX0+hnQr;cy2MP=rkM=vWX;xc
+zO8R|0LtmhAa*vR?yy<R$r!l4^oMq!*T2^nUXB4T+kJ!GoR)B|H!|wg(P}BlnXotFL
+z^MsTcM~6jo%vo9=<9CTk&(>ij06%I>tg&w3>GV6$bO&5bwsyDrumOFHT|rT+(mPMc
+zx&fPv;v%$5F+VnNL<8(bm~#<k3Cx$oku at FCRD{vs-Y_ydtDaNhY(Pm5eRgfU%7e&D
+z)7LJJV}czfddq$>#O&C3;<BCZfy~P8;YhK)i*63IpC7i{4F0T^e at eG#?a%9jVd=vc
+z!;nuxF(Or=YNZX;PZg>gCs;W`;8y0Jv8<#GRbA%PEWPnVa$9LayG*#AQaVf8sl0D0
+zf_crzEv!jrk^ewn&#XowKXe=PZcP5{YFq4vzB^+8#w*oz2%#4sbO?#FKWmLRlloL{
+zyt{vBxAC;K^j)aB<VGF;Of#Y at qNdC)LYh!gP;5ew$Yoc?#uU(ap2%4Gy>@L+aj!dR
+zxNxvYE$LDcZLPNU62YLSYXiw;+}QU}<{dMBMBQ2MmknY*3cTROa&HdUfu^7Vu&bG{
+zrO{&x-4|tO`&bGzN?ZTSpCX|<R%b-M0-NO7kA%HH)F7q$i=bwgXrpJiDoyS=^j0Z{
+zyXVI<jNbQgU3BR4w-)?7XOY;ER28|E5JeU<A%~rgx6XLo$M&aDF;L9ZaA|Fz at 5F)L
+zax(NLJ{@jSBEYhC>TWmTh5O6eFDk-)&%nm><?EbBTIclVf9~?c4>;>?-`?W0Z?uB(
+z_g!Ad&eqhz?4Mh^OTxM=5CcL;X-zw20X9l6GUhc&m%j_e+{$IbRSm-yGZmpff;juL
+zz3wvrZ<0ehx)SSc&G!4(d%DHj<Hs!|0Gqtq?nJN?&=pa#HiV=fH}Z&A;;nT~)N$;n
+z`K;3n6o_ovLz9?LiI%_l8M!Jvx3$&l1j;b$6 at TvvZCg}Yg7S$<H(q3zRjo|2Q|1vW
+z6K5(2oSK!)Qo)L7Ucyo!>AXVT2bbL2g9N<=sS~7fv}J|rTCOgkyqwEx5Tx%gW3hiX
+z>+!PdbU_r6w3f*QmR3%WN|YtF$J)oWkM;^JWe}S7-h=dR4l|T;*bhtUoCLvndaC^~
+zSAH>2oD#w*K_(D_I%HY2dD~hR^hbz;o3<^mk8^{&90YQ?l8>P}E)Sfjx5gnwLV0>a
+zqok;}=pB=l^C`C5N&U$x5ElFI5m3Muu&nVqE3f-D2RM;VBOMr1X71B_J_iAVA_obB
+zCI`Tg at bOgX9x;sCllGH)`-gTi)1`mIl|kWeH4)z~@TG4vCCT6aEv0WurS(6`oc^<M
+zRI#d_(z+<ZHZqWPAyQ%xF^D$4#5kT1KK~r6thqIKfFdx(pSbkaL=26t0CcT8amN6?
+zSDaU#*BNf-v{NBIem>>(&G|=!p(N+KypF}q%j=fz&BfK9pO0^N05<@X6ym+AND2B0
+zj|m~y=H#<=GW~F{9f3EN2wi6M+IL${-R7Xb4Hq%9{8ee_(cSl2Wm~88t(%>VI~!9l
+zQ at rYw;e3X9MpVWZ`!;xiJ5Ls8cO^$1USvBo_Pc^wHSeq|>+N3PI>$wLxSfH(=1Hdc
+z)HxeEIR!zbOt7(j&p^I}U{xR9lv%NWPH<R)l^Yh%b4LG~*!crW(3Ou4p1tGIv3fzT
+zZzr!B*a5yvz&L?+B(2?eE6^6$xENqDC;1arsFz*?8qfQB-!@x-5#l4knItplSO^Sq
+z_Xh{3Z8qM%Yon<ecRGgh0M(Z3BrS!mgL=!Lui~W=1gYWdQ5{Z!px}y-h&wftRgO%?
+zX^56?;nc^5c5+!T at RWc}OSHmf`w4SNQ}0ih`^Q381T=V>pOIQ+G5K2xWGnmEt#~&!
+zR88>r(O}IYIwoLFZq<igG*_Y7IMi^IRS>e5?&%@m%vJbN(a}xe)+oO6C&GvN^h68k
+zPK%BCs79reacoW?jbr#Wzci!az;3Sr!Q?s;<E}XyR$VV=Za1{6uw1RgHsG8VAeit@
+zeVQ+c0RjoA&n at WZiH{4Y_tBCSxODrWxO(A!%Hct{+OAr?v2Ht;Ioajdy}t=t^_bO}
+z^&p at dC&NBNk;0DjA_Fh&Y5_yZGwTE6GNk=J;Ogt*sB8_1wp!gi^{usAXRb7nRI81R
+z_;XV at S9<Fzv1`-6!wDL(1aX3XNnfMg+tM-<dkxTkuc4#I4#?X5jAf2zFA~UHErb`7
+zD+EM3YX#K_ctix>3bhOn<borL7+Zy9kIXYl*v#AOBIStF3(x>q1iD=23*^JIdSy89
+zG_w!g+l=-?-rQs;Mb+G7Ok at RPOGFjukQVnl*1kk3<1^9_69Gb_*Pdui1qRbto&gy>
+z5ow=f%2O`tP+fKpT?ri#d5L)=9>#6<tpENA#THWSTauJs=!nM~igO9BqB7PYI7do1
+znCeOzQQ63!AZaXoJ%f1vP-1)ESNBYW;w|6#zEJFrW(Y*iaa9ukPC!Ch4bR~YPKyfK
+zlOWIezLbGX?!JsiwD<_zHiY%s+X14H3|SqJ{>cxXU>A9IA^}T50(c|8bfKOh0A(iz
+z94&}rF_0POzwS>U_6T7r7B}j41$|ZBkrnBv=T9Z63Hbt5wa4~XQR#%5Qbwnlr^y^1
+zbJggs9&HfGE-gG3il6zqIvM)9JaNvc;a!ANXh6PS4WEF_62j}q!|77Jyot699Y(^r
+zRu2CJJ|jIWf4L2Y(INQQT*Zw%BrCpA3d1wu3Vv2VRYL5l%Te@=gQUB1;vD*cCa1sC
+zFLvHq=*+Fec_#?|NhtmxB#hCsivOVCQ}qP`=4EEd^Z!`;=jh0y?p+v-)3L4Y*fu-1
+zS+Od%osMn0W7{1Y6?AOdb~^d;p6{MJ?(aS4&pXE2tM*@2WA9pX&1cQ|%xChJ;vx<i
+zQd7XNR(+$8C=%0}zB!RxL{h)2StS>2=WP2!!>s=f`9EFHu%oRt%~#-d at GEfpe;ktk
+z!vm49w=tDBa`^AvY|9x#{fqtK&b300ATQfWkt*{Kyd}T*XFWA^6N4IA2&qmlJH$q)
+zQcDsg2OKL9cNmt0(A>vq7|$RX+}vXa+&|?8r~75wU^|QLbszBqda7)zs{=5LjX4t5
+z^|bChEwI&olzl}h^zrhb2ga8WSBRIvo#;U!aZ*P}S#&7{A<05hY at +gHg*mbp-j@(X
+zQ!e-;EXj!*YsgyJ6dK*cu9;b%F_&+b5#FL*SE84H`oUu+2Lp8uLOymt*iP)xlcLt`
+zr=jZfVCP#2pOTBLGo(WGZpvY(vw~gnh_ at pAvB`lmbig58ts1wNqfv`ehLd^Je3L@*
+zo!w25&dolr(rGh-zWVmqSBFwNLqP*UN&AI>&^F{0p95xF*~`G&Mi~9?f}G7wTJEdK
+zCV$VU#?#=jPH5(1;avpypDpox!#diubn$7h&wgazTH&a9NqDo)Qa7^BCa53o;mE#Z
+zYBC~m^~z06;oLUw=u;|tymL$9tc#CyOq4Z2pRCiWRjMwCR3Dn_3)NCyybmSzvc-i<
+zdAG8*vI>E-3mmGeYgaBT96>)my~oM2m}ecqH~%T8_j7d_o3=^s=>G2BJ|kDc^|Y-G
+zO3KhS3h2WpKFV=<w at Bp+^weZVamv-Jz*^Q6d34Pml#K)g?4Rz!FTcP-PZd4!Th+nU
+z(rQ+Gep??9-H%DAEpKjTGC=ewd>Azy%DEkq>1MthOI?5dC9%cmY?BYE2r^m~LC|Kf
+z`I!|$2vg{>(QlbuUxyHcZPV0P`pF`8a!?h5_xA+brn!z_T04Cx{pV9pLM(-r(XInM
+zwnWC-8+LgZvyA?tTczi;&YGhRars8NxH at x0!WfVh<+7Wa?Xrh|OjI&f9ylGVs6fci
+z$LV>EN)mACU%M3=`U;e37AfAxexQ1mqkP%6vPgO<ou`!T^(>s=Il^_JbR)wh)MO-O
+z=BAomdwo^?;|IH|%9wSHJHl;lh;hW|qOy9Cr7{Oied1_SLPq1d2M5gQP4bAmR!Iau
+zhQB-kyM)(7!%GhC2r6-r`9#-V<?IgjBhk!-5Rf==Ci-XlTQb7GSBPM at HRRd$ho4UP
+z7WVd%s^PT>$xFhwq%+*7!?~7RR+R)G?rZB!Rf+s%jFo7Kt(*Rc6m7-B$|0lgo9TFb
+zV2c3Of@(r7Dhukl<%2+%(Uq<0`uo{i4N5)ZwI8hVg@#8DJKJg88ZJQSsxim$qStwU
+zm>Pyfe1kpI0o;4O%fP(of;-&&FQn=)p_w6Z*E}3WvF92kh3%d^2gQS<rlyJz3nB#)
+zDvijx>bts~d2ALrS<vgg1=&T`oA&jcIdhDkYu*BbBiPwZAUwlGRv0)3om4(K+)5ES
+z91UM0;$uJ)L!Fj(_?BuY5uQz-fo9mmez@&sZ=x+_sr~O;Bx8V{CP#jWx7jW7uD1zh
+zjy3nhe7C9OMY!M{9I_P7>xAL#3+|+AyBCs9G3>xo?^@ZN;~pPvv)aViX?dHoPA!u?
+z)duhLLG$*J$o1(!Zza<9ls|N<{HpGN&b^PgFhMAPdX<8iD>8hi@|9HA9-p4c)ftBM
+zxv!9hi#RHPEXAQAA^Bi^G1S;CS}(78Qjl+WxI5HNXfV`flxQ{}*L42l)W}WS at X0OO
+zrtJj}y>);yQ*)1dD?Dul8IN<+=y4M*`NiOxHg<=Ia0J%D0fFiogYSX3;Te+0XuHXx
+z4{s)_(HM%26hZT={@4Qt`bKanDvp_|yAS#XlK+OzwZ}-f`GmDy*^CT1LD{hYIMys+
+zy3nQMURhIU&lN9$o3TnUrNFO9Biw}fsM0X#y<co<D%awe1C|USp#qO9O=C!2{3{_j
+z^hE(rW>r#8O!|#RJmMCChO(Ves*#t=yq#=pF;~GK{Gx{N`6S2pAE-{Dy2K)6+P68N
+z;Npk)nrLK87^W=>HSIO21Oz`yi5Cm6#-8iSE9>G0lbIM#$NV+M3|gRTup!ZDzr0K$
+z&SG+tL2;133JZ2G at m}n@^@R;u8#3KSyCvS4y@<WXPv1d0`1-Y0WHcQBElGWfq8W-}
+zI`^Q)UDs2EDHsFYw?`hi4568AAEuEs%x#eWe>s~#s6Y6{UzEhFFG?cWe<SDr?P0`3
+z$p3$`>@n(kUkU-Z0``d)lxrcOtJ-v!;n>n#48oX7k%mcrLnY!2E}^V at ZSqTQd?%q}
+zC9xmhm^$xqJoZ8gz()}5Gj1e#a*sABXfCijJvVEer<^yBJR4t*wt7Bbt_3;iv- at HQ
+zZ`){g$lyq1+bE1Q`fa0jk_a!iYeE!RsJyWd)F+PWeu+mJNvFzErpnJ_MoXN1Kc=Rh
+zV$-oZcC`L++|;94XDz(lTq)0m*rl{1(zUQjbH$;(=2wT2iW6wTX^=7h3<#;hxuS`t
+z2!i8%fG7&V3O)0_Y_)4Yf#ExNP~d~W^Q*h?Ej4`IdGGrWoGg=nMOgQJl at +L<MqGb{
+z>~WUdF}qPdXdATdv{SHEs##qvSy$RX>1+=A$589LwPEFDT>d4oPGGl|=GvKYa{k)H
+zr_G-$H%K`&T$uzv at m+5CyoTUX;$?1#W^r@<h8IikL&Wj4Ifa<qD_`^cCJ9&U5aq{S
+zWE^U)(j9$5bJ=;*pp(v7b&%VaeI2}t`r>E?+Z6tqw$besC$QhEib0EBN$>R}81NVv
+z=7EFmG%+5MATpuUu;r#+ at j%$4T(nsqIHK&XyP;ULT_1rAiO|%~azE+lZf!o|;9aGu
+z<Z**YcyJpCz3LH*VVqE)Ok6%T18rzfQ*gWvvi7{q3O_GfKW{z9+^%~yYn;gv+ at WY_
+zlF;f_e4=oxJKJ74&e^vSac)<2W at Fsmt;HXef- at UQzwi*GhC0YecRgh4&F-~7XLrq#
+z>5R^hCSE|)_AkVZ_HKKuc)}bc|B>RE(<{o!U}T-LC_xzT3=9a%sP!NDiF0VrJ43$b
+zsSUPC_K($xdY8Q<eJVc$-M!Q?qLf5pRyRsGBLceE+?e(25~?;gW*-0q+>LG$VnL-i
+zt4SB<{aE8NJPE2CZJ<m%pZvBgn>t66oJu$BWSyL(*75~{Ax}=oht6;Zk*Ymd`X4bb
+za((}i{XK at LC9-51(YRAMfpbzbpCCWp>PIz0;hB26zpL*~%u}rLlCKS at 5*;e7^E)X=
+zI{w$8Jr>JcpJ at DIZtTZ%NU(42Cm>QoOiCbdizSbKi$eb^yE>l#nGg%P{D^xmJWa^R
+zo#mO$tc}^P|6AS|4Ud21oR|MSH0>(kZb{iagBXfMgkwfr>G0B@{vubwOb+^6otf5_
+z*+#dNE<wNA`x$Rr^35~t+On{*!<k4s%0#MbVTcuOnGf24?A;V{ee;0>v}=MP{|n{l
+zPuTy0l$rVD*<X+{<EvrK|6%3A#?CHIMkX%*+uHv>ltxV*_y6F at l8kuMbdldk6vYh6
+z;B&K_5Ro!yHZpVxn??CeNLrLhKZvBLSTaP;ps!l<wzFi3J#K`RsUr&%1)q!jr8eFs
+z?%Cy|{`^^-;4wGo{$d0?W!yjY`1wF>e-oTTmE;WUYU{1EjM2a$OYgIRavr^TM7L+M
+zA2~}ux=2AqL|RKQCreU<N7HJn$PW)ewL$7|U<f`lN*2+YM-3{>hdw~1{n45KlVH3?
+zt*R=42>_qzqzYd!V3M at 5@{$lS!*(Z%VIF!yoj|~#8C7m=)^5l*q-`}?1|U07F)Guo
+zW36fC{%yD>y;i at W3couxV?B&Srp}seY&Bk;*!Pn%DeE*><99<qU`}C+NemOiVRZ#c
+zr+1SLez9et)!n9$+6Ht-iQ%Wjd7sZ at HGT=-xd&BnHSchNLj#<au<4AO1ViaDBefE1
+zCs*py<3${tYpe;<N;8{mR1}>lCzT~_scqVIVuqa)7P}s=>R;m}Zl?SMN8QR(T#7_W
+zwhX%lHTeYR!I~HyE*?jxoQYxqBj%o6Z4OF7d2TFda1f0WTy&=8nu(`#j0LnJIa~X^
+z1m(9g`mw50un6w&4_0H;iH-0)t8d(T5DY2y+Un42IA`F-5YBZfG}VZyGG|9j6l_S)
+z7D{*kC%Gj?K1f$nh5cGU312TiEho^`bxisC{_|e+Rie4AKDS%cjCSDN2EI`**kCKY
+z`94xpRmAKz{N~fnghEj+UB}z9Tn&U(d0G>#+5rR=Y&N80s>|wiuEUD=xjh#FZY9a$
+zO+}i at Z&enWBy28kv`qM(8c~S!%1$jt1oanO?(>D9G)K^5!yH6M<jGw-!!dYM>(TqO
+zcsKjkc=d;W2Tu7<CJ=QO7DDFmvU+d?>+o(4dH?9F-GlTgGh8Ymckv01!y;VSUee~Q
+zhEJp8Xfkww&~TkCHTRG&+WvL1&Mf2h!>ERaVo^%&`Y+`s?{TN-gAJi*>@9|$&uY3N
+znSt02%*(6iTI$>+)^bO&n4IqtjCnz+O3*u|JG#6TyAJWejgkI8Z>#CWB#9u2cBTXo
+zEv;xg{w<!%t)Ne9)X{)r=WbQDb~&@N7x)>0Bn(S|=DtdRn^nzDTl2hWyBSkyMAI3z
+zp8jOg2 at TqFh)hV(`8qd-Y>l2w at rwqp^*nZ&|I@#y^jn&S>8?#g8;)9|HOEo`{IY*+
+zPWmODv|MRMchXNynZIkbv%BNumnYeTE0OICy|_e+DOXTl#b)dR+=RWZj(OH++Tn|-
+zYBojZTKjL|1SNmv!UbC_MN^%icq}&ds&a#cF9;Ko`geNaOE>JRb5%na4?S1>ytq-;
+zyRD1aRF;T=)<j#zfBH_k?@8qeTvyGF8H|xxFZ*9p9H?^Om_jV(3Q8!@Z`Mp!-PYhk
+zyTA^^ybD79X<sTq=r`8%UwfqKM}A8-5$owEi`6IH5y-OE?w?X!kQ{%H&&sY-uJ3{S
+z)h at Z1w;DTnCOi_IULQx6(~hmKE`A}Y14JVQt7-kd+;v!kaNsk08B*b#{9$_{o1sU(
+zPOH~}- at nu+g-OmKdocBG47V8ryL`7y*6Q`1-xlj_w&<%D=$?-2V^6RSF`E}Gt;*8Q
+z;O8jnJD9gimnaG>&?}QXq?g?ysMYFu#b>`;=BD1z$1^>aJe{9iM3vuc`v&8)`4uCp
+zr<MH?TcD_5RCbN1cq^;+d3r1Jf2N-(6S8a!=pBUPaNx&9*c5-B(Zr3d6qD!1=C62E
+zy!Wd7>94E)=J%8Q8x4|F`5(rA)Me{0Z+%`SLJ`aY)5<1sGbkWO-mKrVJrao7rAN4o
+zq;!pQ(oFKocWslS{N|>)Y`Fb+2}g*bEFzu~qif2$k`yn13_Xo#5>zvVD^Z;|35-Q&
+z_RaP`jPSBmb%Xzz;ugk9L`ilOBU4`3y!gcL2vH<pP5RcjF%cw=>`Z!I*;=Myh-XFB
+zp@&>@+gR)2eNVH>>Pub at _t+6~5B1pn$wcjOe%&QE2*>15q07s({Q|XVFA;~z4aJw^
+zHV7cH;DguSt_FRoa#K-jGSkj=h<P&xN<g^{&%Z6#6NfD&Dr`)aNz2I_TcN8arDw*K
+zE3J(97ERMYJSO~!%5mY^l)TqG=gl8p*g}oKxW23<DFC{;pNS5dNpC7^4dtpg{hMXZ
+z<2v?D5(ERe8Wo#r(Rgwd?Qg{2UWF3vQ;6#ospL?VlXcahi)2}m{J!-GGrRm=%=iy<
+z&(CC>{`z0eZTW&0zVoYlfB??_B_V6%Y+`B2B>bOQ&B)jW==}eBw~J*@mx(9*k(;ei
+zVo|}QZxJ~fQK`Qz7BUC1MdGD#Em;7AV&n->^-Yg8i!GQNYEL;O)r%UkmDL5sEvXun
+zbbkOk+N(z|{Ow1ZZ_@%#J>H-3LYqumBNO)BPS at E<L}^R5PK2e^bL_Kl?xzymMhXJ*
+zzVboLrTMGW6PARB?2bIj5kQ`RpH46PiTt%f9n8}QY9JYRo@?w<Y{hXp`Ny<>&bfo0
+z64GNmlLIgP;2-E|7|AIqyG|k<P>~P^8~e+h;w2zB1;(kAH1T4X$Xgf%+_W4`?T6vx
+z`CUSPqmmx>-$xZj4ln6HGeDNv+Pax}O7W`M1k~e9ve#!67#`}~HC2s1c4^uD6)2H%
+zOu0&#NlSdc6?=O+t6T&83$`wLZ`yLcQO#bcxv$%mhVCs2DMYT7pNO?*hkm{k?nk^P
+z2aEVC`-y0~3F|Ag&xv)1?A*#DyX`)--&T6~vR5k?^XpU{w%zX)&p64T>KRLcnq#ez
+z{P`sC$Bk at DQ|E1&9E=anN5ke{MzTzNZ}V at l*829GIK`d=`33sfeEV#^5sZh{@6g*o
+zW#wDp?npZ!B;*!-%l|_q9cEV;sywHU2kgDZoso!E28DB25x7QklWmq+&$FEpAVr5t
+zkQILQ;feh_nAE0XVWkVywPk0kVX5KBBw&b69d;dlkf1AUPB3h`QLDmU#lMIqh<=oS
+zEi7~_bWEBVYg-{+Tsby&;rN5M5ko9dV7^NGV@!(E3%@IRQ-VaXeRfHT<rVK=jGD<W
+zmcLSLFnB>RKP3L_aIi+pnUt|iT;mPI(09Bu3|9|-Gbu8!V;xuUQygOXu{O%$6vJ=Q
+zlyF6(Jd6uo*o$k8iN6<3TDVNjGE7h`k)doS$4rTz6b*0Ez%rC>m6m6=ZnkbGceJG#
+z$3`Z_my|O!Wp-5Oyu!E4x6-lPvEse#z2bT9;|AUluQ$kOc4cy9PVyzJBD(^+0z7we
+zgMLGOV}ASgM*W7{k?5PPHze5i#jP6>oD>`o1PP7^PIvcqk9H4sPjvU!m at U=SHl&<e
+zpP!u*oNGVIKQg!xb>wdJ+L?0I+c##dFq~_+5xgP4F?Qtm#`)&``?b;MH+pI6Uf;12
+zw;Z=3aIXJ|;YQMtC(ui5ic<fd-iu)?WamfcIOocbvX69+xNjV9NN)^pL~jCbklxt>
+zeYvLorvAqMX8uP0K*jpf6}EH0BcXThznFhHUA_9IpN5~NO!a9iJ%OxrIaYrH`hA6k
+z^$i^AmT=H_A3{RCe2t9s4LsU3TafpInMd(<{z^lU7A1ryYe>456WCcI&Brf_$y;I;
+z6x~uh^peF$G_k|5%xafW#E4flaazfq{f=cvcAWJXlszk`X(B$AJ}c~Q0>_skD9CR@
+z!<Qx~tZ#zLl*%e7zo*ru=)%{O&C1WX$JZt6!d{ZeDr|3p)|S#KD8A>_rRpMHlGVvi
+zY2wh9#fblI8^k%=VnJsc<~B><5Y!~FD$DmfsELeM#(pqnHp?NY34>SKet2?r>X`l_
+zka4!=nD!#nZuat+ at gjhDR_wW0dNh@iOmY>YeO7-o>2cV?l4M`@%{ZDJ8r)I{Q|is6
+ziXAIt795v~D4f(1Ke9MTiIgb%X7&elN=c#Isdzg(Bt}t2IyF(G^sG@?{J4L?>`prA
+zq)6&L_Bv at 7R;!GpVXzCigp8z7^8ECh`P~Okr$6IW-pE_r;lDf2PnJ&qUr$Wi|3+><
+zLOMUWH+#aLm=6ERdVJn=`qNw)48Nt_ePDQeMs$9XZ}tQ}<xRXP?))n?u5iIGk+vVO
+zon3S6aN#ZSJ}~G-oKP||E at 4GzOkPQ^p6DY4G9J>pZzCTlte3BcbR>5;wmP9)DqjwD
+zjq^{a9-4GFfFUG at XqD0TlLA?=>7I535B%0^`G3JCQ)m^?52+jo^Ow;Nuztx%(b3h3
+zcz#2nLD at 4pK;tjqkCaRqxlV6Dr%M^RX={M5Os2XHz9r99%k5VkpYzc6gqfzE-US at +
+z at R#z(9i`x02i}tEtLgX4j)Ob^p3t?_mG#<yAdc}$5A|}f;#+)uRsE5(aRLufKveU1
+zmWQe*f<4VyodO{4VI0OriPN~S0WK at K^`@l(FDr#%xxi*f14z(9bG1!$px0SxGvan2
+z&{^6U_mqNi9nb*DmyB|g-+;lFqPJXpK5TbD=2PSo9hV}oTzEdDe}Lgra6TXi6ndnC
+zb@<5>9yI=gP(^U4blm(|jwgCx9F0&}aO7wl=UId&vT!`@S>*-ZfM&!&?gig~Zfl$1
+zK*y)jC+sTu>Za=!(oZRNugwX9DmjU}{5_l`CGR at vmd#JYua9ZG_F0`LM0MOUTVrZF
+z+6mh{#hJS_d&KjA>%HVXb}I#;?YHir_yNj${(FQ_ifmhv?lAD6)@oCR>UjM0C9gJD
+ztR|PdCfBqkH&<7ntIf;H`Qd)&^aQk!)W0wnS6M2gsYt6i4OWvIpetahD-hJ?1>^jH
+zxN|Cfbb90TVCwK->hyqkaEdp)u(x-L_hIn==P&dFKIj4jG&QC_uTJ44HewXQnW#-g
+zi<rJeSause&&~Swxhc##w`7Z+XIC8&@`SCnm*zSj5Skt7drc)dx8-=Bc{XJ$KZFYM
+zjxGr=@V%ZIMk7~jCKd$!LMFBOs|X9t8{Q=B|0PBt>`G8{`dbOsjsWp*A2-o_UEfb4
+z%#+_GNV6_VRYBAQh_k{G$c90EytuWHaY&)Zztv!8IHi_^GmwpKwikrkk*!v~i^5{K
+zpjrpX5y{O9+Y%ry^pO+I*Y`0KsU3fxf)ON=TNLg at 3OzHF(e^6Fs1UMoy$P$HQK(~Q
+zbV;3C at g2iMQ{9<J-ip{mG1>cXy-&Ipw)v(nl7iz``kVH at 19+lFb|OGECnHOn{{?>j
+z>x8eertnoStXG<YFi*RrOh*Kzd at Qd0EiwWZWA$fxQMweIGCtXWi%l4!Dr-(b=k;Kr
+z(C^y#>;9;Sv_V**UZI;A60j#8)iVbCq{j)~FCyCG>RI-5DTxqx`mhTkyvjy=!l5js
+zgsjGpJXR8-fcPBUa%J~PTjgPiHJcdi8REFWh;!f at B3b!tYP<EJ-dyDYDB#MYnP;F3
+z7wa{J?(BpErhK_fMNe_;<{Y;ALVnGj?I8_6^`s`Fd*JEfH|Bf}<$y=|&eE-pMxjjf
+z<hwmBcIUNW?5%*aj>EqnLHXWmH!>}n2&ae>+unCWPhBE}!7uzSq!_J|wuM;TQCON!
+zZs${-zykLR^FANf$_2zo*ExfRNm^0O3KeEVvdJ^9Cy0)*B!qdZu#fDCM{2r;yX4;>
+z9ZLo0q0Q!hC0#Z!8oryZ1k<)M%FxQ0J~1f-3|kF2M4LP>Y30s7^W1+DqC~|t3Go?+
+z6Gkux9zGpojGoh)4pIrYq4Bp%gZ=gBdenw&-<B8cqzdnCFujxzgLJX-smamt3P*WX
+zyKE$3*;a~j<I$Z&UcgeN%dSv8MQ^_CHtGMSHT-szFbL-I3PEQ?l=A=v at lX(_#dBI(
+z75+0QxBw!7Xg;G*woR^rTV^{_3CBvc+$)?nc)VMsMaDo at kyvC=@gBf)hn-MGIeoul
+z<9~=X%+BKpl~XWt9^kVmI4T`xZh&m+7Htul$Z;Z21PJ-nkWUiO8`0a?KzWv_dm*r~
+z#eIU9iBT<CeuE2e3EGb_fx>7D!Myw)(~&+10Td{T@(rdj8dRZfGzk`mK|&y-*R>@u
+zLX))!7C(n%*G7zUjER@?8JM^I75zI+L}1`1FFXo at oyCPU`-Ma81Xtxg%ut;D4 at 0nN
+ze_$+XHJRAiw;8cFYVi^1kwLEi8P>{@GaHroqI`J%-;lq&tBs50f2zd(=c=#P{8Uw2
+z!V<E7>iTymismT>g_s!G)_ at -WR}2vz(*-M~O{}u059qnu2)g{!@r|5wIhegfx+k5J
+zMO!t+hsD<Nu2`9MOpbSs<dq^vq11Nu<ep^otKISW(fZTlWrN{qH0!|1-DcNQ_ViJ<
+z^K{qM9FyQ{aCqj)5xBOb;!AmI2_W0(<^pVRjy~6jWndS8y=8Pm7}ZFh`!wf%0==kz
+zKlgO}W>=84-woGcN4;N6 at _ZZyt}TA#F(pgyH at G`OuWxn(?=3XFtB#GMrE7YF!K8OP
+zYYp$|g<dbnmLG4;TopeX;s2iMLWPlG!=5038xxmxne{yIlZnoNx(KPLFd|yyQdoZv
+zM^SRZ1%0sv07ti$|93UC8)HUwro at AtWfgO*q<YZ8o0}hZII?eaI0(LcV+>6-AIn#x
+zf1OK^)20NrV8F4H=1g|D;3jCMX=r*%mcx5JaA39D)T`-4jGhO=JENp)@1|;jBZZ?+
+zxYKH6Ld-=@3$RZtHBtrD7HbyQNSrfq5^xz%t~Qlo%?v^8Xf9=YygKR_vC|{_<0?I6
+ztQQw0cnFNNlq1;I7xy(BZ(0J2m379X#I}bk!;d{h{*iKIj`=V1GH`k^6r6wH!%$QD
+zN2ZxE6uy4Sh%*8#W#UV-U;U!KUP7J|zisA=G*%R06x>fWn|aS3pL_}r0~;fV@&$yY
+zJx3evdUtNl_@=uut?#HuyxMjsE|P3!_N>SfXZZa=dI%Ue3a0Kx6LPI4;U{GyyUI`t
+zDI$a#TULz5*oq42mI^4Jk7Sc30}P0U-{I2QT`E|>;Y_NdhVT2Kvys72!Ci|(2Q94o
+zsLPsy+1^Dk!;?<Po at 0PRY?Mum>D$w$b3B^k(r+1Ie2wrg=l2ooIuU5jD*5W=F08<k
+zM%6c^rf<czgB+ehQD)c-Qo0jx6a?cg at +${be_;XyIvpL1I{zS;g*6^(@nx+PC|R<n
+zL at K%t at 4Za$ucPX>wKQ7DTzQawiR(o?25vO at KL_K1TJDH99kMEM>?B8iiGYUTL4zDC
+zksg2y-$SS;sCISK%b!riL~Py+n|WAKZvV_$s#U}NDpZL!N>$@IPv%FpVQrTzQ6B0S
+z%jfhL9~+O&9e)jJoZid=b87y2<<!hprRgu7Agz`w4M4aZnoh{E<dkG@<*pOVSEX=c
+z#psYV>v}bp7p06Y=I$<z)osq7Fa)~An7Mjop~YP9O_xcQvS3ruRI7d+(K3rfc?E<O
+z3j+K+OI6FvjLyT9EoZbih4kB9V6i7#jZcU|`!Ro`dDG2hL;zAZj$$zfB5t*k(trG+
+z^wK!_*$~G?K{bC;G>raj`HhyY2lyr3PF3KDTgMufc#@EFVsYvrbZ9(M6^><Z at TpaE
+zP<H0fSv{a!rp#kbq|M<QvX~_D at K>)1d>RRQnt%l*1iUNT8nQ>dh?Fmjr4UZBwl5K<
+zhafPk!kSj#t_X^5;cOpX!)j>^>4gto&FV7Mx`=j3+E)>`i=+Vp0WS94p$WncsjWJ!
+z!>n at ym{o+mDnj0*;RS{aupYoq``Zma$-quo03VZYCE^`VOp3B-Q|tzN>Nath0tzIF
+zue74r at Ugnf4&FmM6z%s75s?35AhC9A6rFZA><}#w&ciS3svd)>W64-oAVWucf$9jP
+z%ZW`9_%(<r69_SPc$z>^gq7v}Grh8zO2(ODo?@bYk-=C+!Jv?M<l3|9VY}5*^#R*#
+zwWL45sw``bU9>}t4sp^oq?5K`H*;?SuOfdkiR$W)9Mt`fB6GTXHz<#+Uo%EoDa at H=
+zX>Rbi@={qjnUwHR^A1*cMeqn5O$3>tj`vuw`#Q*@v3O}Jdd|=hENTxho=3kHY`<!=
+zA4AfcNhi9EC-}-RZ}ecN8NSI8JBJOf|6p;Knjk_pTeO*|I$*v^N&gJwv9T=!Ykd4<
+z_J%qP#LCsF+8)zq0VHaZtzSTu>wU+9iP!*Z3nTrNOvOb$h9vDInz$ZM{-0Z({c+1J
+zB8`|HZpeS5?__^bep`{cms>q<ZB)Qvng|Ai`4fQ)B1TJIsw~{gP8?-dz->q@>?25s
+z=rZc^BZrIr@@N9nm+D85_V at wEM7|S3-WfmfM&_RW1RP=^6uy)@9*KXN=}3NpG{7Iw
+zIS|OZEx`4|V2LIRHF2j2MZ+7IX4xIE4~BFJy61FN<%nOsnFo7-_e8W+u)V`27R{lU
+z_#-oV=L<d88LDxbWeO4cWRb<Wr(Cn~K0(cm8i at IeKSHb6(a_9-A!cuxKcpV+{z&@1
+zgXSlJ<beRqH)60N+uz+t4qd-D#328syND&mO3k84^O8C at WD#Q(AwgM(iN1b!i~3%z
+zwwHl6Bub(roi(y?Xv at wY2nuU@hgi at E9DQpdeR2Z*JZ7e>kgOG*fF|HUC#22mn6!UJ
+z`U<6fkx2ESMGbp^hQo2FK8zZ8g8F8d_ixy<KT7+K5aR{qpZ>Ci4<l|0MIj70b5~9W
+zj@&ITnb&*je~;3~ROW%1&}%zF3_lxjD at x*Vy4_`^b*yTLTWSlBleGw&Az1&a(Jw|V
+z6^^#*b&wOAhKyqIk{j&E?*4IwkTd0*UsO?bUyk7BS}{cRuRSnIbVvHL&Djw*@sNH*
+zS6+QZCVj5cSse(h@;J1C#g}2Q_p5GG>Oy>hzs?z<^uX#khftptUq52RYO7ALvo2aI
+z#B^Q%fXIIFT2P%US at qN4z(0+yP)m7La1NbD;+}pKt*e(XT~@M|U{oC&X*zWPyzt}o
+z?BEQUud4^UVV8RnP22CnxFbP7wftJN;!FAKMQBlVkT^%yKfP4Wh>tx+BT4Gi`?&{}
+zhuy1*4PkHrb_AwRE)=gfg_1hnH#-#MF0wK;O1S-j?&2Q;I_E1JaR-0)^%;Br^Xsvx
+zNPxjoQFe7M at zGM6U`rbLqRP3a3bu_c+_tXb6-IqR-CycS_jiNg0+M!hw~@QsQ#N1R
+zRCo3?B-ta2Z}7$^OE<b8O<VY)tl9&*y1?TvUo at hWZ(f8@`a6Fb+IIbQ3}@-&y^5u4
+zO;qyt8s at smTL_eMI^?Sl%>Zn&SfSYKP)Gqs!{r6m?@LNibmvdkcd!=zVtdb+L!VTC
+z(mr$@(C4M0TpMT>$4a!0*u}XtE>QCye at AE)(9pU-m`BB25gjF!t!$L2J9of#do{Ua
+zgYo|K0&|+o-f>jheweW6eY4kebbZIF`GBGFhh3lEJ|%hPf2GoWuiPdp2Z-3E#%EFN
+zn|XS06soeAa&@nt3tsk>q6a-CyWKuDL3Wckx7EHp<7Sms>;_k(bq75Xo~%j2jkLxk
+z#@dq<FLPDxiEh+?;J!Nn^HDvsCR86fWLI11guY+E8g4O$gPpIXkknluFbu43(?m7a
+zrc0`uSmau5cGwc1QN*bxjs$PBWbi#HML&i}o1cYhN38u_EhYovq%sN|&jvAO9A6ve
+z(fyeevrzS^={>{X2Bl3*cDZL0bP6!o_?-P0Sv*X`Re%=_46NuYxB7pa!CdVuzhqs3
+zOzQvd=l?{blj+_bYT~KA)9p`gTYi+5qtL75xSKzIiUc;{eousozlKlzHC!f5#h%Y{
+z5}SjJ3Ppk|ff<r;GlqyCBq|}^SN1)!Q|+3iTT<NJEgQHv!aH@&yLZXINc5zZBSRI?
+z`|8WL<@YAJRGWL0&8zNOVb}B6dV~!Ali0^pBmtwrs2O3n4<F}1JEso2hRrAka<QWq
+zd8uO?rcJqN-LxMDcKsZpwai5{t8D!^n5371aT%&L(;*81rq_&W9oe1R2*Jj+4`oLI
+z173W at w%|~bv>k-xJ|IBqUMqDuXC6;O>fR&O616`<`926eU=&8p|2+{_?=Lb+gl<@!
+zdnp2OXkKO=C|Ds_I0`$BA+x!ypux*%CJ?ZI5Xo4}$kb(w4UtOfAzP4e=)sI`fNx^~
+zcTz-$^}}SWe>Slpqp?EvOFp<%F2hIJRo_)w+*-AaRBH`Y<Zs0|+WB06f<q^2Umk})
+z&_SKK^#^YGG(+4-f5K~daj|-_Ng63G#SD=ByQd#Fy7uy{7C|Hp8swqmSs;>ZP<<VB
+zr3_g&>3TG?mmj-EUPlAtpJ*|TqZYCLWTXQ|qp3)T0ku;SI8GUW`LUz}XDHd7Xu|6=
+zd;&_%$<&%9|G^Ns#p{WAeOKgUtNLIdT7y(Add|j<84J+~oE3<cfyf&gPnoLJqB06}
+zN-jNP&oZ{}XEJmgAYX5xN{wx=CncdNmV(JvS&_b<4DTIjDV-?=pl*nsT}?euTTzo=
+zfib%3)lW^8*v)@ciY_^^tE#4h;|w#CB(V5fS2bI)+r3#><6IWQtD5vT$f$vbQXC&d
+z5cptfWNXboPoJFd_`{rl at sBJ8XMp&;0I|3f947}y6E+9?JuZttWm9c*!Q7t-yNLOr
+zftk^HeKy)kJ-mu2MJ$C8>*H3HvM6x^%SVvT=se4oD)|G- at afy-7bxwkP~8~1Wyfi~
+z4NP*_;nWVP=$4W3dSHwR!<P;u!$(-U%UxVlK$jMza5at+6SKm|$_LoMpBM^kN-<8p
+z=N%L*$Af6<L&^i8xJwo|%I=EI;cDB)3mNMF{5`MZrY<kd2_a+wpvVRDqwEh%^Iv~U
+zPQNaLB at QAD?(^kRphve!$BGg+Aupw9pl`~aI&6 at uw`Oa!(m5T0N9&OHScg>XB}O at i
+zUS;?6r9{<M#j!%aoMHf=MMIxS9g;S;o4a!Th(?sufF|e%v7Y_m1G<p}$T>Q&)e>L<
+zn34rf0vM?|c4$!ek*3q at rXk;U08m?a1e=hs+dLS#PrbtFhW!Y{+)!ci+ at vss54|iN
+zGmuQe`LOz-q!_W at +fbdm0h;2I)=K*UOX9cA37tO(lN_gjXeC`I0j=A0u$!Uoavqvx
+zp3{&$zuft+1;yl_dm%~sr87^T;IzJpzPaf9okc~#nVUIV*g4-RtI$0U4CoS3deT<u
+z<xhJRqb|@(Nv19fw|*#8I>wt{ViTB|Ah2VMxu;!gtl&oEr9o9zOOh<?ArK~JPPDOC
+z3V2?Zh=Pm!xk6u4cG;h8$c8k*ec=@zM&J}ekR{HRQ{3dtK4)2hGDI`(xO~AR#od3(
+znoL!D?_xj>L7KCmzHU3uV_x8v!aWygBd#svjGE{P^U=r|iFLMRQ>vtarl+Js#fXJA
+z9ee>9{7Qj_R$qB{TVW0g&zx;-AoY61oWj<#9A{mR!Ya`Ntopw{K4CF2y~e8uv~6)3
+z1+=;&KrhS-0vGO@?2`7?7E}i&n?27d)yI!i%swv}BZmU3$B#s(H-cKgFYf&WYSrX-
+z?PwaY=?h91&l_IYDu)On^<`+fkVUQ8#Id!jf1~Q+*peEUndi_nlYD9YnjjV~ZE$-P
+zSvn9$hr#`dCzEYw78CP-QDdjJlP^d`C{shBTn_I(cRa!KgNy at n3uqy^r#h$`Oa2oM
+zR`>&Y_~$PtoNKT))Dp1Kb#bMiyJB{<<@2U?_y;Z-S;!$pD%4$CG%<-Pd at LC$ueSdx
+z31Ow#Ve=c}JE+ts|G$GSg_H|2a#T0im|A&!Nrhy_+Sp5GR^ht%1(mlqB`38TC3 at pT
+z&yeq)*&`3u`vA;Yh#Of|+{<sZaeF<d&hA%o4vPM*F)e^S(*{k$tYJMk1;eOB7d#=0
+zqFOFw#UY}>1nmLa4MiG*mxNc|T>E2lu9GF`9$Qu*$U|3T8kHtz^BXg)41o7AafEQb
+zg at xkbcVVv-%JTiMjRv4gZ~wXDpzk((dg at 6KL9v<p0ob(PHSr at sYS(0Js;7AfP*K|V
+zn at U^EqNNZyQHzb0gOhyk;)|XpPSG>cM#B~478<US;p-$uY0P!jo1tOc8N@#OceV at W
+zG|pZA>t2Y=MG>hm*445o3jkAb=8yw)@_>3B6uuFSuaF*PsV_y0RA~s70>{uiI`XpA
+z-l2 at 7J$Xha5of<oJJC72A9yo9yBCpV=Fhc0$m$|{h-MC%BL-4WsZ1QYBY~e?AvqnC
+z{7B_rO8Cr;BRXy%R0U at j^CZYAxRiN29_!qIdB!^W5kXuRC>Wf!_nJNC=__8-CQ+G|
+zt>U9+TkIF3Q9FU{MMz?hs4Wq5W+uI&yH2lV26-g*5W}|Jo#Bx?6+<g7Sp~0Q`0<L_
+zu1C9A67A~x{GM~=(y*=^0ph5=TU(}?j%e}sY?Nk9bkhAwYNB{bUYMm>pRBPS$I}H7
+zVlDCZ1qY&Ht^|WsLjhk3eH6ZMz8#5^7X}y9v{^@bsyt8X$sqXg_8n~PIHwFU0}2fj
+zoN5C5H$8T%8r>MZrqDFdUcGEh)DP#Bc`GvOwS$V4u|uM!TVq#Mqbyx>*cJaMUAoe2
+zVXW$&C{qLJ#$;=tECn2+Q?LHs?@E;=5ImxQVIy_H^VpC(8vR$<<|gzJpyeGx6@{BV
+zY^$imtlbeb{3Z`d*yD<ZgZ(}UqeeqFJ~|d5le0K%$-}!%YUg&C?VE0+FyG2!84=sc
+zL%p$XR>)ozEo;6vo8pM~DHJVBz<mGu<`~j&<HJfWg4(h|5tAvXF{K)L-lAVJn(EkJ
+z<W}b{vbs{0xVn|JnrGE$nX_f9Zp8+$Em6sO at h@`2tt2X$N9OC$e%lha-EA1iccB2Y
+zDIoHr({dm%?KQ)NcK=&kAEL0O5vk~|vc4)owa2Ih<31PB6-K(^i at 9@In%QB<_h4IE
+z-*H at 6gFqZ|bX<6e%dcR-tk~;a2dmJRbgg6cg25m2ZTdIDV}71sUg!Y$MByKV9mj0s
+zI72wX;dTe8w0`AI{Ma3M545ZuigmD&8)WW)r+&I+<l0?gS|L%}Y1OU5YwT`t`@Oeo
+zWIu?j-Lz}s59rM$#OI%~fhf&=4k`rl2RGL>sVMfAs at s~Ya?fH}C_Rg*{WJ{UdS)`W
+zRWEp-<<`FCS?g>g*uti`tE`dDyQ948i+!I6$amQ-RUJf6_>QpnvpE_W&w*`-2aQic
+z846>jujpH|o&*KKI|s||!C?3iI$11*1pll61XtqH!MD!Pf+9lU?zTvYzZk*%DpO<*
+z;Nr5xH at 3!u<%8i*7-WLd(H`aA!HeqxB9-UF!XHXxqjXlmoXy_B;dUD{DNeM1R2Ze|
+z^^)3oSMhkI&x^`vas|Kr(3(P<MO5)o0B0^Si<{o&n<#M_yR|E1V6<b(`qPyyg_C~Q
+z<_3&>g2rXM-6giJw*lwU15OWI%Yf`g4bR+9d4O+5Vmx{>q$Iyh*c&8~;R4EiHh4~w
+z<?i`TS{m0;L?}1B%?yO+XBnjReeB(=$V}O1XD<#xzqA9^{QjzM at 9a?zs=sZdk{KWt
+zk4kv8rxzxB|J&SSRz at KQNc&y=aCDC}qZ=!`@vbh)ZfGG_xy{%T?e7eW&TLR{hzwMw
+zj5`iW9au!Z at anbp{6{QM3Tf6r9Vh(qPJCy}Y1yqa-P*|mObOkx-AB0DP({<$x4%>I
+z`i&s*lJjQh(*LKQ_>5AzkUlH=hq>2?cj%}B_g_$3rv5O)Jmi>0!<I?mdlRv=oA+m^
+z#_GGBPIt;WnNY?)Ns9KP)PTE7UwTj8&TErGy7w?+MnOxa&*|s_(Z)2k<I^ZQQ(lsf
+z4%V|CRc|qrsn%nr$m%K)w}=f6m;7==%ES4a;G3>Ri-$W^g3!Jl_FJ#*eYAARg>@@G
+z$8I9=f%}u2sD2#5RMTU0M&87CnpyVc`>yl)hh>wqtz4E*I`2V(1*43$zVpDUu2h=5
+zB2jwPXJtZ{9o{<t?wR}5LkId6sYi5fJeYqG)e={HBn+YiL3S8rv at on`A%@e57u;{y
+zl0uwFW;|LJ=$b)rr6|ZBk>#k82zI@~4s^(&Iowcg%AQ;$b1BK-VaK#SXly(3gfJv?
+z5BFHHziJ)HeWD8g#*oc~nK)3#7VA=)?LlRS^Kc_MJ0c&DriU%5_;D;$kBoT`z&Oz9
+zhp#!pyX}g5U?N;o(DsDR-5}8q#$6k~W14R-X%!(27~7Ih{cX50wk5^30?)2a*``<}
+z%q~nZDc1;cZf at pQ)KNUha!hDJV_M)eYIoz(uvl}9ctmAfaN7f}I(F)Mr`+1_sIS6$
+zG`qoDH%+sY{X at 2H7Bb9vG}kS$#+^-aY|jmSc(p)0+p8BwF)S1$B74=1J_Rlp83Zhy
+zI!2#V()1AP+#|KgYz0?7*tSXdqv|}2I8=9|ES<pKc>Uwv{M{44bxN`)|4P*+{E2SQ
+ziD<(nw{Ga+*q9L7N<emvOh(X(o8(x at 0)3T?bLxXD5%)26Ds2F@^s~!n)c-5TR3;l(
+zd)yBYPK&@{D#>muNpwILSQf9uX;scS4{M!Cv($Qg3+z at L8cL1sDMEoFzTwmpbqeOJ
+z^$ymU6$sRLhpHmKu+x4rF%|vc(G<227OG=V<s|)Deo6Skf`ng2;w#w~c8^JV_RxM!
+z3Sw&*yZq)$**4_5<O at _$(91|xB_U7F8u`RliWQR5mB at YHuM@6dk?<u(=9HNA!yzF*
+z!W%dqkmmnBj9Y#i=qA##6NGE&tZd7sx9GD`lSIO0$awdI&_(048!xsvB~;FqwHY*@
+zTrOHdqnpz2N>ed=Lf4(MeT%gv<M0;Ag~pG_L>A#q$)<uUI1D!YQ-XHD7||Hf4AJNr
+z?}%j<_aqu|SZVkrTF$_cz$m at 8EQdLpC6FbNC6XnRB{X3O7c^=XZ4zxRXSmPogooj4
+z{fK^x`w}f3jewhk2R<AUO%ol33r%lBYl3gWTNv-iVgge*+FBE&G(l}NVLD+vVWztq
+zg)m{1%zDUr$a2Vr&5X at DjvIxW#){20j)xUZ5nUV&!cAkN#nWW2SbnC%(`2bJQ+s2?
+zD%(-{+j at wZpQ=2fHT;bwmF?759)b?nXjo>LBN|46jI2MLH4}G<)i~NrB73G^Ye;KS
+zYrq0n1=JlGt~IGL*PU(?zEmVxPbYQ6FoE1NlOQlDR9qu}hGg9AUmk2raU?Kd+jAQx
+zie`wejwWHfG_^5#4|l}bvl|wO_Qrc+xiq&ie^0-`7)Bn3jE2R#5UiHJ{z1}$;HH$a
+ztuPdZ<zLYzTd#U!9vMe1c$(!QbIn3w-&*0H{Rdt!f7~1MiB_<D`9L<oN9M*-{WChT
+zLowxv?q#~-7JT88XW`0o!B1(S=eLK{O`Vm{ZpUxY>#|*zAsj3N6(7J&+b-OYCZ>V9
+zkNl16P##@({&UH$PNY3ucj0r*u6JaQl8?a+<Pge2r((seWF!gQN6;=4)~E7~W at H|<
+z&_C^)JWNHJ4~d&REFtxGxf|ypCd^Oq8`+^PTEF6FzM(C;kILO18o%mi*dZZWzryFM
+z$j|&|DvnQ~%3A}>&x+@~$SvBBwB0St9t<CN_8Thr at gBj8UB8hI8ruZ>1 at +JW((65x
+zJ4A!F0s{+P{lB#W`=1dQ(XVKXijkf9|K<WVb(#BMExcWJElntV_cdq?L5-Itm4f0#
+z6|-3eLsQN)hD4AM3s3$oKD6n5)%8 at f?0uyd+4Z#9aXaC<wRH9Ql6RNwoO^fZx${q+
+zd at NT0Sj}<PQL{4r;e8d<u50ITF9q}<_0d8jMj;t$Umtn`9wh2&)NucxTe_~a)^2cu
+z?9q1g)cDxe^hY+d1g<0ji9rN_m#EKIO&-~V;@n~?5I+4stwl3H8W1uyMvK!3Z;CY$
+zsG2&dWe4<Rp!>8LWlcCRO`X%qHGauGsI7Vj;e58n7Dp80AaGr5h0uF9zUQQ*Owyk<
+zUQ=i)7_9^y2&YN{p3^i1LAU6jN_sl2O;b<4sSw at R;>hCAVwA6+J8QJ*ZTJBirr*<|
+zY&f5A`Uc7aM7(J3CKsmw5fMH)y5kSfQ%AIN&Bj_N_Fo7*KdjCD7TTkW*<>j|N~x||
+zi at +T-mqTo|+b}v4><<Ybk1WU6qaer%$U=fpu|EQ2x-(=x0yIk+n;IvKGNv1ZKt}YE
+z4TRH9M4%Xerz at 1K8~uPv_w%f+R*OmduLIK5C;+2Ld*T6Ysx`pQusz~{IQ317*l=f4
+z>s3r6^~RU}Y_Q+GJ6h6cg_d3qpaI;8)oURJG5 at c(wWGnX77aweCe8rrm;-sZOkOzX
+zQ5yNjZz&PtUYv*<4pw+DHLgScGpdFfI6)rRALUrifWvyi0VhI)&#$_|Y^?V}I%0EA
+z$|-UFgo4Uc^8<Ik2XnXf`A|ZTdncoi*$X+}nf}qqzc-oOA$qz`!<Q&NZ*Y*`iv6`u
+z#Uw{PA>q;KbK0542gVWndqv$X$w#^3i#0Sh at d^KQ9skpFBo091R#MOe(g7Zn1ZdB!
+z^>)?dg#OofE7<eT+$7b%jRA??2L59s6G(uqFZVfRnlXd}Pk+_89OXZC%OLv*3$bPO
+z4Gkd<xLuCp0Rem2-1eXU9z|{9jzWLf*@+#&-R%Gw;F;lnaA43z_PjvXiEnT+a*M1e
+z^3kIy2|VENdsubzNz1#-xeJ_B+@@K`31R9^4s$#~#Liujoi=Yz3Q60VW%8`J=G7jK
+z(dCRfpvJaaZSV%@o4ll!!f(yoE@*jtFdU8bbOwc7*}lN8?+IwN0C_TW9-u*K>m4?@
+zp9cZ2tua7+1f8`M7Fj%53Rw;WovxG(fL9%RLmiqfPjrawkqmJ|3g6diV@(NJa{1;n
+zR;$&0xM{J|vEN>wZ2qXyqAP3OKsfFM3j)y_T<aYImX+wUCi^uE at f6E}omOcKz?V?_
+z6r}lEGwc>A(2HN%-K&-#Jt)lQt<zA`0i~KdWbGCSVLH)2tgdQ^H8w<&?wS<&?bg&I
+zM95ro{E1%31zu4-m}EeaUa0ZC|CSD9Pv6t{-gip{GNAWwd>^=Fl66CS$34)3kR3#C
+z+y{(njRSb=UChc2%T3FT%gxG-%D+^}Y3hDa7|}FT_0NVB(|xUXuGG-TGVl2ypn7U9
+zJ&i1xEQTx_$cny8%d4?!YBsDm1c;Q{{bk;-jmcUtb%>^TgR|qT=|K6^AN1Dsh(JIV
+zkSNs^uxJ9v1LA^U=m{EZ1{+vFl=K4tiMnXhm1H0$$c(-az-f**&;Sier8fZ#*GHRY
+z^s*)Z=~Al!l=U_P4GbVR`Ze<r!PR_K_I6cvihWv1I|0}CvWt;eJR#cs0-}*%-J|nQ
+z#5 at 6evn+oeW4E<+z{kO8JHpZQBNLZx-c0x39zua0+fBJoCz}z$xudr<jHA}+1r#}5
+zcK6KgZ1!5)RhLhvHP5@}My!=IzT;Zg@$SuTlaI^KmC*L6!()&%*@&r*24928(}_;&
+zWDbjOR?CK&xj)rr0)cL~@Z0)h2mx at bX2!iE9&}eKQe$WHwtljQGr3~>>hsTqwZ%kx
+z?fhc(u=URS-}HNb#sxyd%;<9L3meP at PqoR@V>=r*qBeW0z?;+SZ`+*Dhd&6RK!T>e
+zrWLQgacQEcL&dCa0N<y|(&rKi%6g;iRm<tMmq#HlKVEJHvSK6uz%4z<nSQ#lv-g%1
+zBumfK*x7&k)qR*=7LXcJ$}7&NA;|~a660$;?`KT`YNm3gZfKR%pHH#o08vu$=-B|P
+zfX6S3WX%F1gLG4oQ$6Xu>nF?sy$$g|G|(pfTirRRAsr}``VW9?$P<6?Jv9h`Y{Zj%
+zz}y`*P+3U!Jefc*Sx-3Wgb1pqAF2P^10g^W^i=iP6Hf4;a{AKx>?tQ0PzJquefFdi
+zGN_&Ys6Knz2^<tck5jKZ;RFXNrcbNaopOQ(rO<2E>rOf$ftu-;>UF1`AVD$oT=nY{
+zP6(iC`qp}SqxPHw<WxSurEz=K*9PhhxHM_cI{;6G1rQs1rib}^Y9++veqK$@$J1Tk
+z6C~?(v%$zO+fJW!!hFW{@HzT at iQzKZ99^Z}Rb+K=6ExpNK_jf1Pvms-)mB$weQRem
+z&TI?g);veWd5(*FupgPiJ_>)WuSXaX|Jd7mUvqpt+bfB3{`W;VZQXOndC(kje-=`_
+zx2HO7r8*s<Jgt?RZ&9$pX-30nu1<PilYV`WZWOb<Bkvl={B(=d_ZjDBd832;xN^HL
+zvb<Y6V$j{5+`4|T?Pyk<tH~8Ie_elUY2RdyOBZyPSUY$7EJY)_<2`gapUL;n+*%aO
+znvDH7SAYjFY5mD?7B0 at V*2uM)0-JAZw|2Rbm&NPT8v6nu<7>5T`5Ye2m^*Tx$Q0aY
+zH8dT`<{@(aynE;jS;y}l9UZzmY;~ufucgn;>)Q4Iu$((TI8>beC?D=#;q%VN1AtD2
+zcxkQG_zwRa3B=^)USN7FzOT$Qu9>+^*tITgpT%5``gyGS|4BTVGe1egzF6Vxu{C=0
+z at 6Hl3pQ*~Y at H4jCEU}&JPOrCUu~&M0C}<}ldJQ}2n9S>r`@B57xNDTp%5pVdSowb#
+zd+(?wy6<~fMMb2CrqWBOf`tx2r8gmT5Rk4QBp^i~ROti+3?N7gQlv^#2pyzJ2SG|C
+z5R|G^iBgpI-h7_#TJOKVwYYP#&px+h?wJX*XA(chmB-sH!MyOtCsS!i?+;27D|Z_o
+z5jt at X_EKg)i#y|nw=HgZ^V-&Z2)-M`$tr7yu!>P=K~S%*4erS|i<8>Bu*Jxe3C5GS
+z#hJ(T;v*+n1s;kkq~p_7h9s+589#kO5cuAcC$Qk$QbKK=Gg}1Ra^zLXzk##aR3H3u
+z6&~AXaXz;UzU%q#=)zw5hVyFu4fo%773 at 2*agFhlVIIRDKA)ZzW*`Gkr^Vo|xr&m6
+zckhaqWaFLvt|M|4+K?BM?4yoz-{nqhBU3g%e&v)rntL?AF(u=dD|32_V2#|AL3+<P
+zuZO~OTU|c!1uK0R_H`9HZF(5`A-Mi0b))#6EMdQIWcaG&aWfJn_?4=2(A6ujQl7oy
+z4rcI?tn=Jg%wyYU&bF>W8bM}3`aw29%0Y%f+CdM3)PumsS!+=VNnb}o)~$h0;}1fy
+zld>PSFD{>Rmi2mcyfqMI^>_4p#k(}Z=>{ut#I^49p1)8_R*kp+_TBa)A7hE!<J?)}
+z(e!y+dHE6e>+BmQ`me3iUO^i#?FgUPMh+gF#{52oXWVRT`7C4aRoofEB<QEH)kKv-
+zy_~4uH;2jlP;jm>P|`%9>}8;ws<hXj<OI)tK(ysj$gn}o?Do~mvG2`=&y01`P~~gh
+zW at c2%uxC-La{3Ye<Cx|lV{mpJ*I514Ci!a&tG9hLXEAw{3y8zZ<q83OcSKd!T-1W@
+zM+<iMK623rQi-1AXl2Mv&68cwm3)_YK%xm|Xn&n|VQ28_)V(9!=(gC<!O!%6RVDvu
+zp8TQ#AK at -jyj&HdQNy;&UP7JNh>=2_uDrPIzM3gqK6vx|qX@}&QSUcz)2M%4qH$B4
+zQhtCdpkB}4_(8Ltw=qGpUa*0s=`!%Ojixo&yBAGsxMvWZz`<VdqS>7(RVmY6Zh&j_
+z=DA03rz`09#kUb_SE6pae|;=`c)QCbH8|JaJN5XrJ<S01Rop#PI*nC+i+q<wYE`a1
+z$AE1AO|Io;r`OL(jaLQpkLqZw@`4^jR~Vl7Mr#X)%67>JpTfFu!mHHC7}EA_L=x$)
+z<i>MSyX1Y1zXLSJ9E$l&w!uO^GkjemKcpnOBz{N<b(#1m2y|8c at NtXAZLo@WxtCbn
+z=#nx)ytMZ-`NdXL5WYIjRe~4nqA}TcX)h>R^vFfCC+zB;&ydOm`bC7vubU&vJ(#O2
+z`QfW-l%o10H|bf5o$%Bw#m=vj;@oauzjpzC997Z)?cy_;O|$pty;IU4+0|C^jnV2w
+z+ at a(~%w?{`W5W)Lr)Na5BTsomv4c+;ME%=1Uc|953G(~J`U{H^1?g3L6qml2_$R^6
+zv2bHF^A`e1!X`)exDp2LaYYQghOxeSwB%XxP9RD15hv=LDD at J$<a)ADo)<02$z+co
+zuKY+0B`P{C09RdRAo-ZkK}YW`&n#t>Sf|6NU#(-D3%n>u96Qz~?rPYW0mh}jB^-J-
+z&j*J4sSO*UC`Qp<3|oQMZ4{NLAKwl2Wr?Ln3(F<hnl at nrQA@8%V5u#aU&W-D7m&0_
+z*G#ZlHt_=~{p$uOQIwJ>T*%|zvh-3yNlRi2)vNlKvIQg=603;>uZQ|F=Mu7{CB`~@
+z;IN-y`1d at DQZ$!uTWwi#=^^-TxEA(TH(u_)Aw445?A$SFgA<c<6hr9W3?xoRl)PWu
+zWhmS5S9($AN at 6tmx)Z=`>f6Gl`iirv*YHvAIu+Rk0WPcxa21nXSII6`Q{Nygh)Q2I
+zluiyhYw8QLQG3Oily2~-ckvMj at V{V6z*ObC29l&rzIr~0E6eGBRFbJ9p=rwAc+NBs
+zQx)&=X6+_P4}_wqL0d$PNzWz45(RV+n`!aO?YuQ9Qm{#mcF6NG?|yp2XIy_7%OrU2
+zvffpmR9`ACX?lG`W160lTd;PSL=D<M0VB+ASDDmXng$d4OIyYz(5^mNu;f<~kbJ~t
+z3QxKFW(_<c3pzWZGWC6Ua{VOSRWYPJe<pF>qXf6OuUNKua2&Q~NrIaYb`Gg0ss756
+zJrN-26a-D{nEdvS;wVG4sN9pT%4Nt4Futv^``C$V5 at wS}Gimj5xnyPMa*jc(_}8nG
+zF!#K3lg-JmfQ!l$Y%WcbH`3%yUCABrXuEWhrtq80Uj8$aFfLwY>3v7x{LI5!@4{Ve
+zxbvvXP{EOvB`YU1yCo~Tj7 at p}Jl~(4oXyQsENi^0N^jyF8f|Jge0((^Kj3Ocet`Vf
+z*fqa?!J4a+EjFF5B`41}qB3JQ60U7+S1Y(Sw5xJYJPnOuC2yn+x{f*j<wqYX{!yjf
+z_xq6qVhmIgHs{Zl)Ep}^NVjlx@=V}Qkm|tI0bI?3u831QW!kEU>NGiKX<X>E24J2U
+zI3D^v1aS}P$u7;|2TM06e!=M2->jH<sZQWSW-m$aW7rE;&U!I<%DHk0YQFijx2Odw
+z5KK6tGSmBp4L+oDBwQmTWyL!h{8nhZ;EMN%6gT|MFV8A{7qe(E_*?dc=H|bp^AqkW
+z`f8j0USbpPgK4b_rijx56I{yf{O<8H1^t at _fi#UuuBeAGoZbB;j}$qIVioiEXuO0b
+zuzFiBEN$lP*(ON;XpId6MH<CiQJgU{6E at mgg8HhPlS^9*J`*#48z^0?gq+{(X?O{`
+zZU!MVD>kQ<4BZaBSzVE#BN`Psx!wkDhtDeUVU~*U)x4>Z(N=@O6WJk6 at x%G*GtcC`
+z@)|BZo9k;eoW8deq0k(%&%##V&gpg6Gj!rB%I~>9&)UY3;-zPZn68czc2%zMCZ&E=
+z!(Lx0j%WqKd`!WXFzM0+C!7nd(5#=NlCwElVCa1K`^v=EXa3jMHi9{YxRSz=`&7bG
+zDMI<5<6%@$tRyGqf62vf?56umg;V>!7}&K#^fkkdL*ytf5KbfwUu$8b&K+((mARb$
+za`nx}lUv#G=MGz+a$OEhUM=_~iwg7SwIg^l+O>z?`gkH>ea>3L=CVbz_tjsND0#@?
+zU$K|?T@)13e5XpqVS05^3lUhU?65gsr{&92#Z;wvJF4X@)nV0Ben at kOhl<1M_ORAQ
+zOX~%6PE|c$&2b<*B$2)oBEZ2NNx)b%`%xx0_bXzmxvBhkYksf0?{Eohn0K~nAwp+k
+zx<{%GG5FoTXFylnYGX6yF$T4JYxc~|FO%N5tWFmQ&-mVr&fm=K?GZA7MFv6C6TLf)
+zg=bDeul3~iJ6Fd&oFC0!N08)wHhFS2r(65kK2KI|vyDy8yiNZ+8FKo_=Qug&!Y;1e
+zR=u^Zsw$5-GyS&2Hp)8spP-lg+BBc}8{$mTwBcQJ5XCMobY88s^~9<qSGO%8AaSu%
+zu_PDX7XR<UQea8_{_i_$6%UWj?D{2h=buQE_$NNh({jh>z9CkQ!VNv9SDk;DsfQ%G
+zOE0ngcud%bHf^egM7i(nw`<h9^?Q7_+upX4dZ!Z-bMf%+_Som#qqDRe=26^ZH(wl4
+z(fWoQzlfG!y5Um2zaw@{j*GTEuLJxzv`cmSDdn||mcLB29Nf|EpXY40J$$y6Pa?2;
+z$L&A<UTK7gv?qCKjS5j1aU}_>4E(+uH|BDR)#M*dDxpb$-Ocxs+7nRB!w|TiX)FrA
+zKbO#=pRXfD`WIXFxo<P6Y^?7 at tW24|s=37Mo$6wulk)j%s2nx4g&O~8vkQw9mzJ+G
+z|GdWpOG16huFKL+TvHxq6F%`=!-mb!uZHp(N=dCeAG7H(!IXeV&u2~;O-XQZ3S^Yd
+z!}Kb;YVcR3xJXO2sqd-q_fi;oNQLNCCTi?C8*)pLf|4vhABZ(xy!N$CEqJVZPjXFY
+zPxDKMlQze5L7Vxpdr~#FaToLYZQ5D%Y%vjILpvI^MRMndbNcGK^ITSfO>1Q`<t37)
+zls|B$KkM23JQTuf$vx~F6rI;7+Zfisn|b(>9nD^lv6$)tjyIWK=`{I2!=7`XSCp5E
+zT)6Hhsz~-Gj6HUF9LSNNA=$e>w&Fs3%@OffksfzX^6-_5ZtBL-)%fvyUK~2G_JSSZ
+zofFZ_=gFL-XyM at d?ons=ep at +yTw4;Lsm`6hNKuqRa5zIqaZ&UPq^X{tKT9D;L<>4T
+z&uKTl`AyVIlg2KPYcujJM~tST<C&@?7dD#e-;YHvRx2g=_MB0)ow at mZ)1{XEA|7>{
+zmI5E5(d_s!e#wWX8vH^x*+)Tv$7)F4dcN3O!dbz=tr3`Cmz^DDM#%jz=6dK!XNkN!
+zqAqs0UP4jPGE#tYsXK09vy4gkJ?6UYeAe=7y9V{xz}{`k$SLan*0F&d-CBA}`4IFT
+zsM73m%W at MoOJ5<@e|!s%TRlVbxcwSuY{%X|O8c9=b7LJ>5QpmwG;Q%P<_J_MH)nLm
+z-eHWRxFVOP9miqr53LvV+etcd9Epkgr0!ej*1j5a>*^vz(KHFJz$7HV(v3#v)C)lo
+z5(OztxUDe}D)!+Y6OqUuAInaw(I0;zm5hBf&Mgc at 9vl0ZITRm$r3wuDk=?Do=bcj7
+zjnY=~3~><uasmDD44dE_I-Y|~2yvXR3z2CWdy9U^o(>i9M2%}%V=PpCA9Z at __?W)G
+z=J~91Ovgvhfo-%7os%*R_5Ep``}921+)I3vw_~U0eIH|on8TIG3Y3qogW~a2cja3G
+zr1^ZBfUn>z7LN|rbm(0iiR{YxQQ2Kt+05kYKBk1u;oleJIH$f3<rq`n7s at _^=F-~u
+z7kKmgO@#pAnh!s|ckAbCCexxdndo-&dm+uYx#4(24Y+`Bh*HMW0D%C}?+>;9_;hBq
+z{>bRAoO5O(CaaA?Ie0Zj2_J<5cx%@Gs<WS{-GH{ZCE4hIf>hxxgaf3%Gu#Of&$xHJ
+zF3hm@`qwxMEJE*{7G77gN{GPVA<*LYf>@hp{Kw2eshc44G>)kKF4TWI8a at _?-lf}C
+zyrU&2#1QPFTK1!$+cG(cX<hhE&5r4x(!~#ve%fQJi8qqxVsE58={E1*>YfHaRW~mX
+z$S^M`8M~dF(Y>#&xTD%x<N3$&cKm_J_ddRV^7b(t$H`BF7?0Nu#B0oc?nmbM{Lyp>
+z{+LS@!!c${rO7ciPo=o^BiD&>$D`BUu=e(M7v2%*A%yqAeYO4&wd at V}QVK=v`^aNE
+zYb=MFj}E at PJBLXo+*7@?#?<;}iH<)di at 8wCtru>P#MQ-_$od%1hn<GO)>{6OEQc0S
+z`W!t=77i at zuRlG6BpxnSQh7`-2C%>VGzXF4@>K1-Wj8w){mwHfQqpFpjLPHNB9>~k
+zbwSErmQ7YL`yo0DBID}m-5D6;U$?}OZ{Eo&v9)QTWUt7!uPw)cwt|c_b-M{5{w%an
+zt=cSvP-V3>gm$KhNk9>27SB at kZtr}ItoPh`6Zzqmr(0)Mga6acHXa+v at 8Z@l0sAC|
+zs#i}xGSln%-({=H`Q<BNBh(mXA^TnLA^4<qhu`LIW5$)o{3QQ~NZIk7Xc>tlSsgjV
+z3t4 at +YiQXT<p3DWejbvfg)jWXkL>31$efk5*WMzkVA2W<l=}_;_cx~2KjxIY2ubHi
+zf4%f0AXb}B^+MBR=F&}*JQ3&Qg3 at sT%`ZGD;1h$Co^-$c8B1?L`P<j~=geJdX!|n1
+z1Px7lEUh~`8wxE+;Ak7hWWQ+;o|CeX_fQCSgOfz$^SsMBYX}M&>5}$2nKvhN^Up=+
+zpDPfa7lq)?>OD9#7tR-HmZC0ygO*%;2!15eDyq^YU%M18hny47b9VVgtDo0A$wl?B
+ztE{C*<j;L!4kO|U^R*NNgO$tsne3;Pfzrf1<^U+Od at GZFVATlw8<pIpjE&*DR#%)n
+z+OUD`ueR^FsSO&oiOq+gz}>Nb_xJV&Ppj)~YhqfD<LCkpS#oCxRR<%)kY%pDJu$_N
+zP4f^}k9Lw`;Gt<Co=~+0LU&7BkIS|Jvu*Fu-qb}5*)87NEC1`UTk^gAnJVpR#o0RM
+z%X5ah%3mnzCWOlK_h`4yPe^;-cvE at 9kK(e4fS&M+?}_)6dL~^<PQ#ne%?Zl}6j)LC
+zUA!i<NW7;yrNL(T`CD>nSm*~2l^dUL^ndD!I_al=APzM-Pm!GdUg0K6o)A{WLmUvF
+zlb($lo{ggPWLuF~mMAn?-_Wm^owE??rbe=Tibt?z@|F9T at ZRb3&C9#E!-%6EPMvJz
+z6O;Q^blua~%*PlPm-Sx4eW0m{w%m_>Y8Yt|L8#tx?+R$3wVFg)!0YWx3Dp|Yc6!2D
+zuFanjcvnE>ZCDVZ9`$~ekdmG1owJB<u92Sg+<n$NIm&4s>Sqm2Jsz6-F+F~-J?&y%
+zwz*b0dsT<<=qI5lX--uGEbaZvZh5d~8EVzJ=!#7l1ZTbddK0bHsQz5%zaOay1(&;y
+zjAlP7O+|0j$ap2y)darNn{}l1OOozXn$p_0$ZG1nw#?-wxo=T0=ZH*<d#5S(!ZWNc
+z%29XU!g0<q!8=Kss5Etc-+~FyAkb~!B4ySQxya>a#b!Z}$N44IMFhU<->NBU=$#o;
+zn$q8@@%2rriw}HPx>9wySz%_#VeCuI+swyw at z|{bs+FJq{hMKzFLzu8tfZbT%gnG1
+z%bpa<^!1~yvYUhnQ~Sh>@=j|e^C-ICW>Ki3ipzl+b)rMEPfRWBM#`!`r<&Shu9kNa
+z1>aphd|fQMv2KCDl~w2Vmvx at 3lwGELT_(!mQdIWzCAzG$gJcrZXUr*j_t|Uz25HSd
+zK3k=Usl^I9*fkeand4Gv;;Ui>ee9Y)s*Gu=R39+f*fl3qnK1x>(ZjC!pvokdN=E>r
+zi(NyY%De%1m8$@U*<#nup~|Q$l%?VOoTyu(!?HGfHlj(-GGJ57Bn$IC$A=<G&tAc%
+zCP^040Ei_$%YjYpk}PEV9Os0So~6L1hDjFn0DwAKuqg=Y9bvg<>t%0~G1s~T>RmGc
+znBFFHuJt?Xw}1ScbyVU>+I<6?QYBf?4>~IGCGD2LrW{EYNdWLB?H0nOj7jG3_|ZN`
+zC9$O4Y}nLqlEsZa$5!E_-DKF*AjzT%0MVq~OxTnW>fIxf#o%&{S)XmIM4Nq1K1zXD
+zzd}r&4zRLW=R{TbE!PoKrUPtk)+taG^viX3lBfS!*sL?{TQ<Vy+?MZnSG_u%Z8h7X
+z296uR(dGplGr++P93Er`If4irl<S{<{=_GJ`I50ZaJ+$y$BraUS8X-^__^VKy!9W<
+zB}2sB(@iq0tO}j;9{ck3C_o=8*5|EGvaW%d+hEJ at W6Q0v<tayI&NV97awBZ{z(qc=
+zidv(tp{guVRSKx8 at D{eERtTypzhzpKWb<&TwP_%5axm~&%D(H%{WXd0NmZhoDXI!f
+zdRU4V-kucLo<yiZ1DdX7*=|AUr>wXT&rsEONOs~RJGZ`w-B*<BLiAI%C*=ZkFDcoD
+z>1DJ|%1t at 0)8mR at c!s}K;DaiN8;q#nr^iXSBCtV9sOsJ2j_ABJzn}IL6C_qygfKl0
+z1H*qJ*=EIdEq7 at 2MI@x2&X{mOPwO(|EV&TgsOnoJJFC73qzJu?85bh^XxiU1{AgOu
+zQw&vIvD_ipAAtmoSHSSTBs;=j#3m2D%!3oRxP}54UY}&ANO(F8n`2)xLDf85?wMKY
+z@=fW at 6iljXhE4gP-YG3rJnpj^POW!Mub(j{y0Wef6%T1}u10lnOnlwRiElFRqeHzz
+zkt_oH9f#9<EqRja47l7duqh(R;;_$gQ!J?tAH4x`rDiX^SK%Jl`aRUUh@}d;w0Z?K
+z;+g at fybFNzdIc5Ynii_OV5uSzFdD=)3sm_c0O?f<$}mIXngFUiWw}BhQ?Fo3T$4hT
+ze_5^=d0DSuOkBH;D*pfgV9eXrU^_vma_XfDiPZWgE#jI3s$3U<SM^QziECb{a<Qd~
+z%G9c+%j)`Bk>$%3mC9p at hjk>g>3*w+H$0w2z$Oz&CbD^Ahl5W)z$V3i4E!B?S`M2;
+zl1y}$O5M|on^duD`V$1tc96dAsItJN(ydp;O>pd52&#;7sgx_VI6w=#W{)b?+z?E{
+zCi<cN`0U~yCKV79PnpR7=M}b082hqo!Ka5?b|gtAqXWiDLh#)d*d#T{<i>z;s{nlW
+zJ#12pWKsn{^u at qX-JVA-)w}$I%N1sQR;>~qyU{I^StK)$eydh-kKM$%%<(VM_}x>k
+zYwzX*Y`NAcd{&o`2Mlxaf$aZ(nteCkxBM;%iZ>`A%f9P^A_j^ZC?LtcTY;hoN+2kd
+zplE_3wEy6{^9~!>n(xSht=|qk at WMg40g4AG+@RR*o7ul at G1bS4_8F^_Om1C6*?j&|
+zb6Qj^2{)C1PikY!B(I%9#Sqca*vkILHRXsz@(aOIx6e*rzSOzA|2nCVRhL)n_P*a3
+z-$JXD6IjWYiLmr$k;*Xt!8bZ-iY at 2TTe;el*AG*PXfgLgRdKn<R8@;+B6S*tGLc1c
+z>XL`QOBjdu_A@^Z5<MgX2%}ZeM47Ae)UC*XX4wG3`Q5c2NCJT}*#B5V{D)&z`^A6N
+zr%C_vqoxBV=*1u3{8!L3t4<|eBzEyl4^7X#TKvh?NY<=*5B2!rAbO4XVN{g}opSte
+zKvfiL)(@^Y)~pE|D{D$|nTl2kOGId83~N at h4YxQhG&(OTC2#Da%XcToT3$<pqO3|h
+zsx)ED!N!%T7LU5gA&xuMc+;~tuT}fH{wwpbUh0cvKf-+?vbKe=LUMOpn#0{g6LYX5
+zLE9FndQX!3;_{qeU%ei4JqWWTB9mJPG9>b^jv|G&ajh)`I+A<J@?240^QQ1NE~SMq
+zLUM2JYu0<^M=&K;=n;{!sQM>YT(<rEXr!)6aZ>2*ZiI!c1U$BTgWSGPBb7Uq7`D>9
+z-+ixAH}0|h%i|LS%|e5GW`r{C?yAFQTPI4(&7h1JvkxMtlyGMv0 at FeulH3nLXJXs9
+zD-oMPL^u%{N`u=EJ#*1}RvGSG70NIrrTy&Yl$6r5OH)#g-ojH-tzK8AYS;fhrTLo+
+zo0B^XJY|RPi+Wl+==JYVX;zO>p<8#D=Dz1R&AI!$S8Oq!{hpKgizu!z%t`#Y^=ss5
+zj9-yr%Lm}yq}%53^IvW1QXJ(Z{@wZ|@zl*P&#F0ocIM$m(-x%nt^1~gx0_$1RkIjy
+z{hZnot at kx=u512uk!q~YeX|m9tyazKvomu)rnZVA=X88NST$QE%c8C3X69C=+_fFV
+zhc~Gxv16R*x+*_G-=?`&PffVza_|e!182AA)<d at M><8{Q&j)_|q&OCl7y}_9)#;nZ
+z0=pB41 at 3>iybJal*jt5We<=Ob*cOoufCEbK?@ND~?<U%RtQ}U4{w^^sT+n~@<;#w*
+zL_q)C{NUD!jpzP;S#$gJ?6LT>{raJ~c`v_EvDxF+t*vcZzfg~+!@$A0dBWBSQTq-*
+zQSXirQ5XD2K!m?D{L52=``Oi<rXRGF_RFz8GFM=pAy;r7lG`YG1gjZYr}m4sZIV0^
+ztr7d~<`+HRAbBM7UCQ83j$+sL+|`qh58MJ2+-`?>MI3x!@3yt(JXt#!rd`-}XE=Qt
+zaZt?O-40xv2fdTu+Y?_sW?0O=+Aa55`31jZtS18el6aQ#i at _nDPs@PO2W145%Yb@&
+zwYy<p!rnTkx+~EQg46UwcDgH8>V{<4VH0!wUM$svk7psd0Eqjx=yX!0Ht2Txif(28
+z^5w0BpOAwRRA;|ktZ8QN=5l8+e-?rNLhG=0v1V-2KBeF*?SiX2Ltvxw#^y!OXR@)u
+zvpl#41?#S{X<CQ7va!c=JZZB$bWbDXKGQDn$i`N<Gf*}wTYsTlV33V<YgFb~yXc9O
+zja_e0ww|V42&kl+_M`ERXb5BPrk&$)U%Ke&C>xvAP{*$SK^fj#3FZ1p=V9#UUoiU}
+zxkBe5#lo~O%;{K?$>3pMFS?Vqwf{-5WhbH6P>Gidz8~oyKG)ODG<>H*?I?CIWnTn7
+zBMje at M0w@>tY5$1K4(wr{@nljehw!~U#l~zJN&*Wms6RB``i8$hWpqnYYYx4LKk^b
+zGhnxv85O|RN4exC%ArKF<TlE|<zC4xl*5lO180&z1B?pzUDSj#VYj6CeaQYO0}oPn
+zwSr1SKa(o83Vn)DblW8*J?xc#{8Au@=AMfT%Hc}n=fNek{msrbK{$;ngC*!Pn(vP^
+z%E5v%uf3nCE8r3Z*~Lo(y2CTrR|D6lOR8iSKMjbwg04>NPpPg1r43Lnk+gvN#Dj1G
+z9YZ?>L7R&V8n0ou?%%^tfNsPhhXF6hi*P3iytsve;G{sST=v;ufWFf=J3xeHWCe)u
+z)p!kBxXEH~1qLk>xd{ec#CsnM_jO`*0qBP&G6%S37>mF>hE!Z60TFR?cnO_HVc!I3
+zn at f_Q5muhsEZD8<Dz6`b!O(YdfTnsbae^To@^1jwQ=ZOqz!kyRfafC%b>}<+ykpQY
+z{7>JiZ(Z8aI*&_jEa)y^#G9=oD%*)=D6)14qLP at BG^_iGOx;Y3c)AsR2wbCD`<pSt
+z{kClIHQDXO=wg0+;qldlj7u`8P}XyV>e;WCWFCYj`b(S>TK8H-ukz!UjxQ`kUCOQ<
+zd?;XpXi6h>qeQ~>WNf29_BYQiU&?M7e8_8qwi{m+-EloHlhEka?Z$|gTd4$>#jCZ~
+z*crB<9%|nTZMOu^(`k6g^1tS2P;X)BDEy3EfSlKFT6SmKzGp{|Z8mP9?hqK8TTr^h
+z at o{B~Wn1+dgN$GM!I^WKRgIKAF${7NLrT~0gn!(z*)rU at b)LFaDbX&kUWnoPpS{8Z
+z=5sN~#^N4lhWkcJVs~Ob)|hXhb}pQ!i}Sh>cZ2t-MQY%KpbKFX1+(P~ZkIS{meb+}
+z8SV#&YgSj!T|Q5D*$ZfGJWnlN1{w!ZhpC3m5*8Fe)Dn?pUiI5kp8d9iv*$dFytw1I
+zd2jzE)f`aqrQFPo%jLa&^>^dJ1-{B(gTW#pQL+1!ja5A!3_EnZ`xOVAd_?}GHnz}v
+zPF`D at J3?wL at V;Z9sr5O{RV{eL%4w$@K0Kme+~)KOjSJ;nm{Z;I*x^=d@$5Smt5kDJ
+zQINmI^Ip3^>jmT2LU)_%s!l1*%MPHCs7pCLm(^r`T8WtPzVDxRt+|NNOP-8-7V96u
+zaG8%`hm}{rfsxUJu1nN`O)b?TPmHfWCD!k3UKaj&pOdnmn#|X!t~6@{tXekgk`g1q
+z2_Y)OxAMN|vy+&hFx(-_+KRSD&wXD7 at xDaX!D^{Z!6D0Mogc at uQej}Bx)F~T<UK?m
+zGiEIbqbV4&Os)yjsSK?P)W$_H{#KxJi&JGF8?-7Tp>SnpK_M2E6A7+Jlb!4FT?|>Z
+zGiPd|UdYr=NG+qi9lJSh#prc^k3~I<WQ;|61q+a5G8#olG9t2<Q7QMc&;^)P|GNl@
+zL}e`hNp(~Ml*I8nre;BINq&ufv4^V9dzM=;&WhI~CEqGO<)tjTE}=o3BzOY{zE+7S
+z80N<y#6KEx{XV0g8d1>G58|hRrM}c9v0$=<qG0f4A-t^D?w#v?()U}CXG222K3g7)
+z=psqb at NwK`AEEFRyKsF;oaVMwb_9%)WDg`RSPaP?+rUQJSnUk*JWCRM#2Ob5+W6Pn
+z6Aa93a8FO4w-omt)4nEAVCw8bSYOtVf)?xwD#bD;Hipl`X#M8S(<MDuPF^l_i=GZQ
+zlq;b{yV9}S5hMHcS++ln<U5zcgN<#`{*=<40(|~){-Pv7b$uqdCf4ujcbc91OM3Y^
+zP;5d=f30`7H%7M97wdnAwBg(Z60<Msexp{)6;zg5n_3GqD#bk=ozCy^e);l_&XS&&
+z4b%qoRReMo`HW>5{X1Z(g0oS%g%L$PIx9eY(NcG#KDM6EV{-^(<5ERV<HHsTl$-Mw
+z^R^0cCZoA0 at MXR43Q)w!lx@%%Kyfj1lc|^<O)>>C5l|@WpmTu2GUt*hkcKbo_f{V4
+z$S=vWGh*3n?-6J6*m}}I{EtUFEK4YUZW|Wc54%rNg+?9;OJ1$Bwhp_U@{25Y4>=uW
+zEm#RV-sK>&&MRL%{Qj%*fNS7-;UAEJ1NScn3x_y~EeON2bMYkEft1 at RL%G_OL5bL@
+z+~6>5_C+e&{9+Y-rHY)t*Oc_$hek}`4y|?+3vqMv at ppOZHct$Xs7jIhqYF2*kj<ei
+zp{lNg<K_cOBf{3*p7xhBzNg|R5vhx at zp5G_rNgk5?&lLE3d|M$y2id1i|C2R{DVFE
+zT1dY4A1uNqiulBOL<?oEJ`kVcsr%VySwmN<r^TwqQzz1|cAc+IyWg~1LJMj6zT6^d
+zLQt?7O{<0MtZBwml<LV>iteeorVN+jV<#Lg=s8FlQM0}i+*5I7!nF2GVrER7xN9zy
+z>S<K+?y0+e!5nv=XdyFe1nBO$G9^&-C~G0hYD_s^ObD`1Gsl3gKY{<PLED~4PtHP_
+z<%Y at zE~6|RYg>-!i6VMg23hcob1YDQ_ at y&y(Q+K6dVGltntXLny7hVtwUBF1B|W8#
+zvZQCNIU*)jXzLm3)m$ZG9D6*qkhrHUa%W4mKcE-PwDigl;`%DCr4h((B*t>f4v0I2
+zX)wHU_KS)4l*Zkh81S3h+Ot<nwHqIHmuiUzRF~tUCpsyc(O+JY6cT;eiusp!IW~Dm
+z?hSaVN*N<GUF}<xdLC$r&&q)ON?nY00r at o{K!kbTC~SczuEbNne4m3R=a<*HTQgR(
+zlp?*HV{Ho#g&clrhv-B8<pzF*doTvFS9zgBOMWYsj*(t{z*E!bwMtS9e;val;{rxY
+zUOzSwlB6-<sp9j(|GH5kQ~qN2BE~D5ft+Wli;+JBcAN at 1gw%>-i}|Gc{WAR(j8cM~
+zW1aby<#-izVeF;aIpjpklmeHoxJ7!Y#z3Nx8<l|E_+O)Fe-WdU^W;nmj%-nBfrzZi
+z7nFCGW4wwan>1QjMVw^|*1Oj+q&s(-K(dLj1!~BmW%=vSf33Q$FqunDde-4!>OXvU
+z=n5Yfk+aR!eGTZqg at XCyGoP!>YRJyn!XkHavbmC0>~|Ooi#)hkxK&*(S3Gy93Ll%1
+zbIsL#`N_`JLO~@gORlQx%py4B6$;+5VYXFqeZL4Yt#CyiBpPVVv9y7vRJ(t9;c_8|
+ztQz at Tx7@%RU>u}tKUd%5$2=3vmXOvRNS{!&NHmY#r-<^st5&cp%bho7J=yD0yLZYY
+zm3iZzNgi>OdEwZamw4l|i~EwUlx5&9%Qf-sKXoci^TLIP;@36<PUsQ at 727rWfsRP;
+zBK6>i|Jvrizf=i=F`;H9`)pAGq3Q)W^X(!-hs_5uDy^ZS6Nl-nnnwv5irlA$CHuDG
+zX%;`@p$i<>P;K2Es;!=p8eHvidp!_OBAagaqc#gZ3C#kkbp5tI-mU9q{;y>#nag3R
+z?B?;(E=4p6Za^B<vR<{HYvAcrt at Gq#9UE$~ZHdG8bk%v9*AP{4p0ZLO+7sA6-`8dH
+z+kc6i?OG0LDH}X)5Yk!kFsfmMO3HzB)LD6I#uS+6#9Cb6pr9l8^k1yFa7O0?aPmvm
+z&JJ-1O})RE+I?0yqwgv>`SqLVm&;v&rpSYHpTX^%58yTssHD7G{Q4Uw3Fn8NN~uFD
+z?{3hk_CxI1W7+eaGOEG%m>a$~!3!=tO})-0qr!nshIYxYXy!S6tsd?k6Mmq8 at b;w9
+zNuwvI%tD~Lu?Z}_c}`brb{5X34#|RlmR0&WzDz9$qz>Iig1bDD8w)qPHw_&Wxwd)q
+zHPD;>F!fnRC~k2_e_=$phBL{Ju{hs}=xSa=3zakn>1c4<s;*g%lN`adK$D73?3L{C
+zC7Zyw4+gg}<aC4(cKks)LaMs_!Rby1(YyF};auuQleMsf3h1DvzJZ?X1m`<)2m9cB
+z2fRVxW)8A9qC0{-814n$-v<Wt8ND%o9nue;T2(M`+n2K}@FVL~f>JBYVv}%c?m;i0
+zUW<<L9U;FP_|(}K7URPP3m2K<Opvkg>lY<zW8q$t0q at JFjN?o^V&UQ!B`Ra#Vn%Je
+zcUrGBwD8^Og05w_!$-ZcHzB(m=_RX8YD!gFhA{_64%KNZ;e4i?3)FM3Y)ojZQy6VG
+z#(yXCO>!>i#&^sV491Z+ at g2lpEIoGH2Lle(^+Be$@PTbjR~pp#+lsWJVh&~;>^>{B
+zRcfJQ4*ofO%TGACm|i9u!0=m;-hsHGJY*GT5)|vPE3ksZc3UrK4-w+Ss9_6=usCo@
+z?AA6(cx6s~?Oyl3KkILsQ3vAcgQ3Ituz2MKO4y6PZ(?q7lWwkb^(Ry5${osgNUu+x
+zvb=xyx9a7xvfzUxpZ<VC-6`Gs?`N2J#bB*wKY!MV!mCUJ11df_y458rBvr6*{Q6_L
+z at Ut$zcgoDuXXlTlIlO8T at L9#v*I=zvb6?z)V6C{a;^}~Z0P)>FmIcMrnZUpCvu+ZY
+z!7pyDO0Br2;^}|>0Tn%8+}wbv0tgjQ(Ox{QgSBD*_OmVwn5Ca}X7DQ7y+1RV0D%tc
+zV68F}j&9(d%bh<nO;{VN(JyZ6fdR<Z#nUps{>(&UZ3ul|+}MGK3Dn#FGjj=EmGI}!
+zOcAKQ{IhNtRG<0cmIe41#nU)YBMlJiKkGcXtk}0-gI>{~g at G?_Rv;o7M1Wp!z%%m2
+zjQ~89 at G8AM{0wt%BJlNpaZ?07HsIU+GgFDRar^ye#vN;uwNg_z$N2?JFs69=v3~%v
+zsCaq?pkjbf0Z3f&^a^lR7EddH!GPfh0%u$CG%IlC0RxZ+ylQjtXI(I;g#Y4p2t1)l
+z6`bGXK7VneL<MZxDLvU?0L1{5o1i>};u8(RH?^SC;6!5<zIg>;)9_6>V9die&qMM0
+zCgGa`zyOXJ7{EyZ12`HeegtsWfdL!`Fo1&r1GsZgyo8C at Cf|+&cwrd6X#|XM_@)<h
+zx{{#^R1$^aD?z1ez<^2$z<^2 at p?G(|2?7H+R$u at p1I4Eaclb6#5PrZE10&MmTMt3(
+z15^bJK<y9&y>Q3g8(>5__NpO>B!EhQ0jL3jfCE$r3_!II#3(@TfDvijYdHvqAa00u
+z>?H#u*0C1{K~w>h2|?(-va>2WPw;}`%|Lh)1mOWp5ip<@?jR9@*amS}U_h-f2!b0R
+z3@`wpA&6XnGJpXn3WBf&=oK&kB|s4K0ObG!Py_^V7oZei0E&ko+5yS}2A~)SA{3x>
+zU;s*jAWlU)a7J*~p`Y3b%5c{ge+oZYP~lo2h(|iruf#g0w5f0-I at PAa9cHEHtzIR&
+zO*(+S>U63nMLNt3!fAD?p*qzpU{2~(I0>EVXQts5HdHuwooZ>}j;V)KI4+&)in8-o
+za3~(^r)#h5+>F929`x5ucH8Jw at 0x`ppF#2eKxF=T!ZqLkwR0he<5zZKA{{dKsBmFA
+z)wD)l6{Z~T&J!}hYeO%jxF>k~-NZU at iOFv3aqA)-xHbr)E7gtw!f9XG5wxgq3BagP
+z;lArsCm4hy3zOZl;tD{(eJb3TP9;(z5wt?>sSCw_677)Dr^4;%RO^Abd<eoyq!Cvq
+zr`=x%KF5JJ0JjN at G8L{Lgcyb+HKBN4qj01%blR7(7`$!e5Cl at EdK2tUux@?L!;xTj
+z1`2n`s8ZoFbgJvXAi<*gkZPAzah?Dc at rr22RNi?4SjT&y6)<e-R6DDZ^8`NN0B;31
+zFs9+i8VKSL%nGbLO0W*W%A*A95UjiyfWXva00Jvd6CkkiGywuDuNNS&@_GRRdrk--
+zFdHF&-Y2_(&u^j~zF_4Qi*@)$LlDjYr2zvFSZ%8Sfz`GO5Lj(&qK&>7e=ve{&_pRP
+zpovBZ!W^KtzyMSSK}-Ww0SrK`5QHp11;7CG0fMLps9Z at pI(d=_p_^*g3|4?5Fve84
+zW?-zSaDl*>Q{fJQv8BRMrrHG>P~l>L0gFx(7!xX7FEG|rI3Zw+sBp!=SW at AfftkYk
+zIZ{azJVwF7{eMZX#=WKkFkug{+`)uBK&}6W^qLnahvM77VGAsfHly%OH(<a~#tIm4
+zlnI35LjVUBLI~iTfdQO3Fveb+KpufkpD>>qd2NCV6;S*M*qLtygS|7mX*0VMq_o-H
+zl4Yv2zut!82VU8&7oN8Q)kRb7%1y#6bf|EyP`vBLS*<h!$x^doHA`i*lrSbu7-MF_
+zhh%|{Hwj~=OwqLg;FSnw>W!MEA9OrG7=tT=JW+b3rTa?D&4jN)8(sStI&NmnSCI~R
+z()vov>LI%Jj!t16h>M0i34W!u4jK-Hj_c?Y(i-p~-$0&3q^h~GP>Nx2MUW?|scKfb
+z9A#=VGdhJ81!^-*z!a;^`~$(pd`JrDxC|HyKQLx|NG9lbv=~N41zn5LDMW%g!oUxr
+zY9UXufL{Y$E1s%FFhbYX=oBUxLy#?U%II1&2z{$IGo at 3gXT*nOhmPY+`H+ghnDZei
+zq2q#}qB^>k^OY6>Oe6;wfJ$`=H_Oy4vmj5JMKCgY=-RngT3MB9Gh8}_!(a+v*qb1t
+zRBh%ubo?=BpqFd?5j<JyCoxZL1_mA910A(No=~T1S(T{G at Bs%HJU1|)=Nib9LlF$f
+zvnQ0o7?5XAC`B+J&z{5pR00e at 4Ui|A{(PHS at IuaIbZvnW#`lHLc;c?wj3-u0k;wE!
+z2#{*<!ki^^Z3-acgvRv&`2>)2Oi!Evc^{CV<_AC~3XP8d^7QT~rZ#2abWJ{aMdEZ_
+zJ~>V6FgKU~iTE%Qt7Wx-t|frj7 at _g4KWZ}%v0BXprYHNLAscw%+^S*iAtyZm%J4!Z
+z&}EDgW-nG~oC~z-h}8<5WqJY!q&6Tym&JetgT(^U8<1eIHvp*)FKh)h(*X$vYXe9(
+z(CZqy_7N~!=vo#K3Wn|hLiIo>Xr~^8f}s;ZXdocxnVxV1QWahp4BANoBwA?v4j`Se
+zT8Cf+wt&<HB&b;h$ONJBHbD9T5{%$3AT{BI$4iE_xt#3)m;<nauAK*wF`8p1K1a)j
+zwe6gz2a at 8ayUv!Cf7C2Tn4WYnJ;4Z#JHQK<l`v)?+6!LzjHG7i3@<eG=c^cJdSZ&z
+zD&JGH1bw-Jh*flLxX}1FbZs}&6ENKh at RmwowbsEL13*P at z433Eh0Q|a0seeQQ+VO-
+zA7RTi7tm3P(0Ha22A2sK6kkRCVCv*t{vXfUhWih?9_iSoiyXr+Q(*E?cp>dCwV8Xs
+zfH9N{jbChj^xzBA6IB=nmnJkG9l(b~f=(9=YoBqhqxg`)AkbU>L)c&nEtsV3C`Kv_
+z2i~#hKt5!o(6|N&H-;A`kc4L*CyrsY2;d!b1T94gjpM-nw*b^{wHbfGah14i==kO4
+zlj$!<0b{A}^o^6}F8Hp9+vT-<)G{eP=ln~NEqW}OS*A#!rkKu*<;sOJiJRw4jNgQo
+z)LEM2a|60XFK2tg-?45!2#Yf1c=)oJI2)VC)!00gaOK*|=1~ABz4jQiG~v?{r3H*T
+zV=Edo!@^k$?oMURnA4q~!Sqe+sLykKU0WJlzOtm(&6wWV1lUjaC2c?cyN&FBzs_o*
+z>KZYmOsdmd_%`9oTpx!YzwTVZb!pjg5!vtUO0886e%|~nUxpK2zsL90)C at N=%Xrdg
+zZl3q%kH(bbIJifCk%%%Z8O&lY)g4NhsPJ$vbXWD}f2NtqehYzaN*_*m8t~>OU6lAx
+z0<++2c9Ek;?%mZaamW>oILYAzpBzW`!gXtJ{)eNovYlB&oqIq2y=uf%&c9|a<#u(C
+zlzkb+Y1lq7t99(<&A(d(Itl$Udue<3a&x}b+eStrip5v8OW2#g#Y1!>F?xR};a6p8
+zb<CU;%i}ktcJ7h%HNv$7NwLd;`A-TPF-3+e8kxA;vg1<yvzNG?4S(GG5(YeUz~hq-
+z8WUz_ePeFx&ENVjgZ<~T=0=Q-UncvLj3 at 4ek1&mxG at +q{r)RA3+~T>J?B9RYKjrzy
+z<?dd%Ex)4i&+^v~hCh$!v5L&WUxiobRBfr3IJO+;W*LRQp5BE(Wl|ao4BkH<8M~7<
+z#JT9$KU+h7u?k-7ocM&#Qn}PMt}=}c7#eK})LOn-ajNx-Oi{d0!BMcJuU;-6 at umCA
+z*Z>jc7ws=-DepT%zEo;P4awohTG8zJjeHo>+d6Xi_FBj<jMmbNZRRG_4?}D0#YO-x
+zv at v7D8~Hab-g%(tm*L--VC7{lS9$&RIC|Dp=0*QQWJJoWbk9dm<E<G!er(@Ea~cl$
+z<;okkm(a7cJ>PT+`(6uq$+AS~y`8sq`pnd56&JQxJX at izp@eC!xFRPpATDxy13kOB
+zz}aKhyr{oZ$+wu>Hz!UsrYW-662F+0-#)5wt&#jMB83+{zM5zM%_8r*j5odW+)DDz
+zS_6+w#N=tGmh7=dLTz4W?upgU5>oN0nc at -G>!jo5XDM at Mjkg}jeuRa6A3dkfp&rWm
+zOEgj9MC)7So|fGw#FnT1$=>O&vG~1PaXA~t%!-FG!jDha9}@0WhWE*QHaJ at uMm85J
+zpOXzmrN5m-<E+ffb<WqiTL|_(X__IZ`OHPHpXa>$CvjocH6N{S8`4*r+eu`&oG}->
+znSTGznQ2k7Id4ujQsL{&uXP18JJczMpiHeFqs{|U&R_lD=c3EmQRkIpblbO#0qfgi
+z+%UEbUBQdbo%y``yLo=WoFp=?&|srLwCYFimyJ#i!u}U;r{8}^f%O2s^)TnFAnxX`
+zB?pNNJVO}rr$%A|qst>%kYaZ8u+CeMFyu*5qT!{D8d>ib8s98qfUL=Yw{icDhlCBU
+zSoF%Bzmx3K;&|?yA{w1o!SH at Z1~exSiC`YKzFi}JPWs3<ag*`ArzG$?op1UplE}%}
+z5N<EjJ93G6uUW2$uiA|;ITrnr76S%d#9IxWpS#5wrc1T=bm(5+#U3!i%}W~=`{3EU
+zZ<1-wiYq+T%DL-5?%6pjjn=TK$Ou1{$gp_+ at x(pPk at 4K&ax3Q{&rq%%nB=W<YzZ5y
+zcy9Y`D)0-kbZU6N at a1GSc(pa at geWdYuP*nw`NHb=OECfU40ONUc{#q%h5vSmENHR1
+zq#0Pxkhlw6+jA;%{moHN%lxRn`)spzUL}f0egFZh{`CwJzubAPf6S>g;6VV|kNW7T
+z*&x(*1volEyN#F3AJp6FdR$Krs at SCl;-0L<D38qxJDoj9WLAa8y at ttu7tb62N#}o^
+z-wv*BewSG1WZ1%Oo$W|HmR_j4lw at _vW0Pce`SjwB#(Co=@}<q!Gp#_?`wm^_?uK5f
+zvN+`-hW*OirC)e>Y4BYr!?yBG>7Xiq?oRe8<yd+ii_wEO2MnFfQ<||!_!Qpj>4+ej
+zu=>d%D0}X`Zwb=g{hx{%?knFFzZ3B>&}Jn$VU+h*WqPC2BK4(~?MD({4<P5ZpJnLE
+zw1wO0GLf%vepBKGbsk-6S$CAk*bf|nX8j9!7(~$#eZwQpgBO2u1-ZkiCi4Pi9z at T`
+zg4_z;p-{_a9sp`WWUTRB(Cb}gr>;zR&nSZ at 3kPWE21ADHsnOA8jL1G&&&vonH9Mli
+zh#YM9a5H?p`ID^XS?_<ce!s(}mVM0ujE9|X<npa_#1RFCb`X3<R_V^*1*1OYdG9&i
+zzM!MVK><jbSh*2<iLY1q7vy3ZogA<78Gj)wdPQpr at hq|TznaFG{uf{o(U+=OVG#qq
+z^;G#hpK&7<pD~}h8VB9&bi`V7d<Eu%_4^v)oyFG!vtRAFeeXZw%CcOyU!N}-%27h{
+zW-lj;3uVsX9^9$zH~aKJ;_JkwYph=Xp32Y@<&|VT!>U9)vn3E1Zc%1~X&>^*^vu9F
+zlJKdz;9(Pd>X&<-3=THtfT84HdDdh7-t&@!l at a;jwp&$Vbgy5m^Wf;kt<0_I0R;2w
+zV))$zX5YZ;VEhb-41`_<D~Ydi95tmmjIo<t>l%D3n`gcI)0nuUT14u><;^}TIuCGp
+zlaze|-UlG);kxbK$<d+o&w_U+`*}<03Q!yRvIYp2*^w<Gtz at -9_5v=aL5Wm!;0yFT
+z4_8E713#&V?|*V$u16;rpC~DacoFO|nI*kv<cHU=k}6>I#rz%vNP5qUBwy?>GXYco
+z8v*xZCHb}uv##=Z#QA{>oGrolA3$(eLZUm!dLHhN19(~uwU+`a?<*72oHoQHG>9ha
+zAqyvc-d<pLEdoWaQ<1Fb8PAgyz0r_V;QZeA;VxK?{sN?;z9gVF5YujQ at N>ntEFY0I
+zckHnk7#R~rRvne>f16a)0B3}&6S?l7fY?CVV;GR^mIM<FN%NNhlb{5l-kAEgm&k&<
+zN7>Q29hIfGL%*%lN37qMj_7vlVq~9%WcbUIHtNB`w?Vg*PLkz@)npjh5z~Agx;KE_
+zUVouBO;?5(+fpY)PDzi=0r7>3zO1r#pf<GBN!G{v at c^MOXW?O=m7;gOKRsz`WLAtA
+z1E~FYdNLKUpbDtp)d!aV1rxm!4XC7eIGIXWFeX#A2Q*{~NbD^lyQ at 8HFYBQ&vcm4M
+z`FU_btnWjpGf0PPq`j8Nw+pwe!V%zIx}5qIQa;@yYw#%~3qYXmwGV^b;Y_WWe++`T
+z2Jjw|Aa~9@!ZCkW-QiEo_;+e?)Xk~{7E at YKP!Uup*R8)l)Oh7n70~E{#Y2FsxBfp_
+z at 8N&4-oO9Jdei^OdLjRl^>)d!o>l&@;sZ7#tA(BV19~GX%N??=7ySHzK8=>1lDfl-
+ziFd|8Sa&6sT5m*73>iDuoGWcC)~UH%8XWha&LU#s$QWed1dWOEd85PYAIP#^OlKvZ
+zud*vw8CljlGLo%1TY9x<%YnXduk>+woDybcHS?_lztIPMvaI)8zZ~8AG845XUYR&C
+zYfM)4z7|V&w`mQF?lK+nOIMjdD0!qmNEvWMPRtqs8KLy+Tj?HNt>GILP&#$j=qF at J
+z?{VT3%e1QNWuIWrD at MQ7fr`K<4Su_?;g*r{4!BbmlPP_TH&M;C$i>)`*(gPgteR&E
+z&XDyynlaXeG%Y<kAR+M9CBfKl=-+eY4v;aN1 at qhZ3PglLT%iNIr&ZzJm@@%Q;ID%#
+z5y+CB*K at L@HzSn0DX{fo0%QW8zPf8}2o8vPsf*{pV*B#a%lacoJq4pg>esq5WLXbn
+z`6u7PqKSQGXWr#ta3cLAuZ5Z)0tYGzk=_b&PN at v+kdxtpmVBih$o)$qy)6GrHP^Ku
+zThCiYN)wZfca0LoKzm%V6KQ4~0$lItt(4SY%p$#KK_I>6fae)dpC2=06b){0!OSE_
+zlht!C4lt4(|3VJRo9PG`W2tzsoHp!gsd$*2I*jGNs&GwLUDOD}sG6%TbObW0;i at Y*
+z!Z- at _LUMb*F*7mmZFp>AC$fL5FZ5_3wLd}^-fD?Yqd=+|St<BL`9qDY;yhpZOB-1w
+zdnWjc8xg0$Vr}6n4enc~T}aRx?jiyeeIo7YEFUp$B8_)eP(s<2nvr}@i>n*M|Aal?
+zQ?ju4cypU9>=m7mg}s$EZnCh4JNcimH^xmC_V|v;!rsc~T(Yp2ct{rZ9yjKag+1&c
+zS=d{_*^-4lzC*IGhg(`R-H|TD{c$BLd*U6I5|#hAA7nqf#7h#@3Mv}?b-7uOaCfdB
+za7tOWlO(Pol{*7nYJE?FrDpP<)BpM2!M)ZMad$lCeCYL%e0r)AlcW3GkfX+fC{RUr
+zM at -66aZmah68%}$rS|t9D=ABf6Gf>R)NiG0;>9Nv*EZ!&N}x~f=8f&GkN*2LZ~NJ0
+z`?tB&3?zI04{vLGeCQ9=fKzZL{7|9$mwgz=x6Ca?;7bi1Lkz;r{>AKllD~Bjv;PSb
+z>hHmE2q3Cv=x(j71e at Yt0KgqCr@x2|<9A!YIe+ki`C-gHIQiLs0xJ9PhHQrJ%89c?
+zhOPuyEUdx(W-W0yzQ#2lKq?wQRwn;EaCe~45nO7HS2DN_Z7;(!K|kyOtv&hg0eA!)
+zDoFxKX>eO;-pZO2`hgVO&6+wiSOui^{-L0|HFtGZR&*E6qz;YHGgIa{IkW+#J-PHR
+z$V%aiY+GH9I0)eh$N- at 3J?I5DwivvxUi`OkGxhpb19;9-C(UnGYxW9M7v|1Kr`gY!
+z#NUk(e(=K+WTsA9!0dgFgydx|S+?FcPSh81Kx*$#qj^D=_oyj8#WNW=D1u|6r&uap
+zA1trz$p1Pb<ahgKf<xw>a7_+4RLWh2T1DR^YkXD#)hP{<I=BNnHcwF<L at _ue;PU>9
+zmHNLX5|b<9 at v7Nj|FyLFe=Sf$2aiWtSKoB6gF~?+<$qPTqW%k_{=ZQ${+}DDf#m7N
+zZ+-|`Jl-I0kWho5dl>py^`JL5Q1T^xls$ZR8m?R?glb`u;?#p&Ff$i-?0f7UoOT7@
+z8e&Z357rwpY!h5 at v8C~Tv1nn-<egoGmM2bkXMb~Z(ElTSONb>xN$%T{LpAkDDtR-(
+zmwPAvK+2ZNyQwNtzRSEb`=^-w2<g>L=R=*>-a*izM)flO?$y6WuYU)N3|(krUQw~V
+z?2Wk*)rg<|XuZ%dk=|*&qH8a4gM_MQRa+UjaS<bb)0yGxwKwJQ9b7(7^)M&>;e8uC
+zSJZHn+}5^*Xq6yU%xJrMkRwLo@{XSRowMl=oSNM|cIaQU)@jN1Tz{{0!A=`P|4BWl
+zIrRDlr+SlUG)8<e)Eq-UpdRGs^*a)3zpf&5ZJc!a-COmEjv|Z9;_a)INy0ZaFvm-U
+z8%j<0ga3x^bQvFX8E?isQ2ctscg6V4U;owh`vup^UN#R)xw at mDm;`e9R20ztf2_TC
+zR8!sCEow)w at JbOWf+9t_NSBgVrAQO$O+Y{aK|%sbgaA?L9RVq!DOIF{kU%KXrG%=q
+zBp`$$El3L`B)L0&cYMEZ+<X2wXN)sO)|0vBGoSgawb@{BZ1%2)8{|zne|n3j78?7o
+zBDD*?F03FI3XKhMzPmcw<CGhD7{8JF)}#SKjbr%pAHQ`+KMzY38t3g9=4lILXva1y
+z#Jal;97>FSPDvmwIR2iF`{^l&9_k);8f^_#P-7>Iw+~VIsOs!?TflE_gPN>620PaV
+zHBnQeyyt>Fy}wo#sz+DeI(5))m}g_}|9PokoZPr`CmVQ{()P%zpS^$Jpg!w%<Ib7v
+z)ajw^5ndHVAT5%e%1>fmzLcH7zs$UBXiR?d{6}>-usQ9#wM(O)pT#4!rQmpZ_eu6b
+zV<{8$G1-BnpG0+Q_12`H?8amw-E=&#Q^&l_ at yg&7 at 4HLaC)uyPJTX!b0^HzG`0E4U
+zCWjXV1qH8N8)>zFWOn)5yWBSu at b<8?7MfaGr%N+y$0_)1-kF at GHlK^SBE+MmgDyFD
+zZ=|c)jEQSWDyhJ}0p-7}u~I<!l1f?v6)Q at K>SfP!D;xw4e(n+Q*EZBx0485uf6V)2
+z8z&9IwGC<Aa_(E^gP()Kbo at rt@(x%0^S`Vbe<{}~Y2eRW at h|<d3jI>vUDA;Kam7FP
+z%c|~|a#3KyR&ahVW(A}PLuzQk8s=8Hk?HQ0uEnj{WoO`VJZtstl}o^+;tc#P&swN^
+zC0B8){TgvK&A3)SF!ZXNdz6fN>cK at -mmeI1@A?8G|BJEQzsz6|;MWC%mCo8f%eT~h
+z`#+1($|Oqy-~W{ajvtErEpl1S<rsXnn#Vye&%V$+LSCpszy`Euo>R6aYJQ41xHH~=
+zT%KXPx0F50sHhF}TboI#Zr__~RwH}epInIcbl~rn$?I5v9!ZEu#|NtT=L|ALd&g%y
+zyJL95ak6<|@Ih(bluNzqgk)U22^geZ-xTgdfs&bf*G0updnRDp-u1v_97PPp`Unit
+zst-)?rabRmzn_c?7enQI!Uv^zQ_e1seUfp5reJ{ryoPptV5T?abniNQGET<iMN3Ds
+zK|Pgafn1V|t1t$)JS?W3DIjMgPk9-;w-^>vFBXt7$x|D^#Hg5hynq~@JS8et3(EaL
+zOEaOc>#Z9Ble`}qTE$eA0`hacb(x#BgOA*E3VzTMO(+t2>lI?PEuVhS#t<5>`ag@;
+z4OY#Vf^&-Sw71?Ao!<4Fn<$w_U^=jZa|`5(WE__m3XwNK%c2H*Q`i>B&wAG-l5q$V
+zFkP#js<c1`CFAJ8M5jK`e4$R)q~0^8*OUD-Uhz|uXHqn_%o``9<45iL<!1)&UZ|1@
+zHU0aJNLQ-pT}P{tWmXqW>#wGEXFHmjGXx+UUol>h`2$YGZlO->qc at JjtlpCapt!|R
+zhK?U_g%Q1;re;8 at 5J*|pd+Gt5gw4SjCP2CnNZA0XJa63N3U6GpdA(;ZP`Lo4S(0&_
+zVkik?uw@~>`K>pGWx?0HcilZ1_frg2a}(w92t1yTFW0KF%P6~FZ<p$g;a~6#>|H;T
+zjJqI);xz^<72?77>Iuo-814mMpWgM$$v7!7l&vus1tjj*6H>e}R~LNYz3Ue_a91ZE
+zCgZZiP?$$xSOK1-T~EmJ#xO1T8uhNf=v}u@#x;qdD38E<1rwz1#Yf<o2la#;C-^bd
+z1aJ613*;wJ>(|#F^{zW6<J!egI+_PZDpT*1ad|gUIywh|o5~`+0w9p0GnHwuI|ezE
+z`i3Z0FZu}hU-Dns9S;lVv+wn&e|QJyQO$Y>KckwI2)``6_d<`Pl8pBet6wtq9xVE0
+z|4lmomwktH;k^C5o~GnPiijTRSu$S9)LW)#zBx1ze){xY*_xgn33s#J(%5_EVNVk>
+z5q?2<&qj}=I`PW*i;V2JPI0pt;h%y-w(WtNKS3HVVoa#ScDuF0n+h}~&6;!qTfyN5
+zu57LD=1&A2T*NVRSFAb7B!H`6pJ4oj?vH0LI7B()^;Lod7WS#hL{`SVj#X%nl2_;m
+zP`}1KvE~euBV)bI?wg%^kD@>i#b~Dr_LGw5;9{Lp1^XI$n^a>YeJ1dl-u8 at xk#U?r
+z$Yyrf=0yO+jU3^wWq-PcNKwD1OXCwh*iN3;5$lOJP828-LcC2pIwgD%ojfmNoY-QZ
+zOJfl}DB+l|sH!kcY`LpT6A?bJO`i7xCiit|(!vMu<oONLM8v<kwClnLx_VpjH@|~i
+zK%a!@$%#jDdRwN+^Esx8IfX*>cZo;mg%7Otwq(S5T5^TxNUDh5p6hZ;fh0Yy`si^o
+zX(nY`{n>$E at 0P&LK12-50V?!}gL5k$&UF)uSgbKYM6w)o*E@(|Wwb-pOzD?7xA>^4
+z3kL$pOQ|;pWlXajKB>`@wvH-p-f+3Mt+a3eN?xLyWYcy0g3K5E67sjyZix>D|GVJ#
+z&lfdTZ!K<GraS3o`?i*M@~lt0nsHdg*$PL~-1BsAYOVOs;6`Aqntfq9U<~swOvT2I
+z^xIxY4G)C~fMNcya<@Tm_v0I2d;~^<-tM*g1^$n$fT0NtGhi41<1sJ<#pmj)^Luwb
+zCim`KGkxa&$OahN&-@`x09Oi(Okgwu<DS_M`ktj(I=`7oB)^$OB){AjIz>FQuZ+dg
+zoQQXOH4y6pwf}lXhB7|?jBb<3TZUB`zSG$6keYh13M4d^w0Qq`Bklut6yH;F$pD~f
+z9X9}%j at -`a?W83CF1tBwt5cwMzjijp&9?69k|xgd3+$uW#+46SFMdS&<YtMDV;+^m
+zLYW(uGu?)+iu}G?Kb_>Qp5fhOX(k?Y#Nw}$o~?SQnVwxt(N50}rc|jIi^P0MYyt^W
+z-rO9`apwPAlh^tYKsx*elNuq_fj5OIxAe%fe>%?k3aQCPT`j9AXuXmpdZ8=o#yjZR
+z>nhD#cO@?waOj*$n&_E}c*3G;&UeYcxhPur9k)~Dlfr at QGc_G-tuLUOw{(^s2G`$#
+z@$|FnpW5!c)OsRI^}=P7IhouJ2LtOCA at S7~P^$Jbbp(Oq!|uX%_2+j>3mJJVw4-fr
+zy&c<|!<LV7XY?YQ6WOSWS<&Y$w9MyFv!_utC9gDYTis7 at PPt9J*t_$JV|jJ*Lh>@q
+zq|hthpe6ctAp5gJm);$zWZ<ItQIv6^SCPTY-Sp<9+ksrq4hhN2dyfid^wWa`o*hz?
+zmsvHfH5!6$^=>)P!*eBP#6f(|4l4R?7^l!1)_}9yZ(k=*a`0ummNjj)I(*~^s<$nA
+z6PpuLJ=aZt;+4$V5~x;bY;hDIJ;C+tpk|7aSGvFF2f5a}1!6KXE)>W&Kp<~Z|9N)k
+z*t_GJ%ac8r6YIWTL(s|Pp$%@R=<P0vjmB#$9Dz2jJUiU{T<BHo5aE94zo%(73VPUh
+z<>!t=d}=O|wzRbHxv=HMA3d|t)ZPm1TI%?oLhtT)UO8=J=21PZuy+?_R^C!}hnf{a
+z&kL}8bqN15I%Bk-Q^IOig!p`in!mCW51`UJRQ8|CIbR;q4PG6J0jT65DC-X>#zE-F
+zHgw>#IjF>fs$aX}AZ9|h*^af at _4@e*QDi~QwAtPG`6b7)gcfYGE5J^(y9X*ZZ~16J
+zb*)`#`D{)%FFWiEp|{cu%MLe~=|pO{&91)tPnjZK`V(Ja0`TOu!I#7t;+AE at ChHcW
+z<Plvb^sq(z2i^2jkizU>zld<-3GQOOYv#;9-GNW__=Z7bDW%kpZ4>t5b!^3CJBLF}
+z`1m1Gy?@n%{O1lZIS9b=FYYP8(^fplx3J at Dj`O^`w`PGsP+D<3KJz*JbYLF;<*iu%
+zG=QwE^!m{**lf%ieOQ$4C<|mesY%$%5P(etSp5TW_5K}mf2%v{19rKU2L4Ca;m{sF
+zIzMxtd+&j3v7?_uaX4o{0l&r02Y;&`%N56G0HL(6r(QZIv0Ldb7?gaz<N%nFBzAB0
+zfjTdE<ag^DX5Q|uunMcyG_R#@6Ds54$J!e-Y*<$h+|)}qa!!U{2q@!M{2{+J>_0I9
+zlDU|%@237 at C2zMf9g)bVIR5odt^b6{sGdOHlnpSnhy87}R at XVoP?le(?+*LxXsu>(
+zl))^%PHPSOTWYNmfC-SfaS5~&rp~_UHF8UJcEfj1uVe6B`*h^~bH at qMOLU716p^{X
+zf6r2c=VmTBJ`@a!x;&j0G4qClY}C;LX+IvhzpgX;FZ1*@t<_-8GS*8&7dVG5un%2G
+z?T;Ob;TVc#8;ZR=6nkkXmUAf9^s9z_?cph`rq*f_N12huR}C#QC37<+Lo+2iGo|}x
+zN~UH?`esVD!-ssjgvYuBHC;l0F5!eO;oc>JAl6Bjz@|$u(OOj!vvCly#8{WtJ>Elj
+z4O3 at 08|d(o1kZv2`gGxTOUX;xo^K at 1-HvXTx7y<Iin at 1k6L;q--L8Vz!u#@QZy*Fz
+z(PWH5Y>ceW7&cHb*2k%rPw&`r4tbgW+hTW|dhzs*D(BFKi4X!d_XrhO*h0~Juui6f
+zYS}kCdkf;-V=4UvZ_LTRuXb+?@XGVXBza at v7kpFaeJvYtezE$gU7QJBoXK6BiCxbg
+z5LxtzQ4zCI?oqnLD1D+{#H^mXUgYd;g at OX;vwY}y^lYztuP(7ypD6x-D6U5o*CmSU
+z6Tt~x=I^`AKXjQVb(yDjJ<}z+KOnm65#0fxPh5FGT+t)0M9!{w at H`;$=n;8zi9Gs5
+z<O3p7kBE$%MS9pgAlm2=ZFGq?`oyV-*(vuaUE-8J at y-L{9X;Y5UE&>mV#5PsgC4O#
+zm)M|B^nXC~*CSRJK%4TRO$E at vd}v?+l$sA!8A0;`pc8UZ{$v3(I3F5Z0KK0Ny<Y%r
+z&xf`bKyTzjZxlfD@}YSJQ0IK8a{-i?4<!~r+4G_7oscB?qyngEKGd`TI+_n1Er819
+zL*)vfHTlq*0;o?u)aMn8U$#rLw4lt8)_iC~MB at Xl_gqAXJ_KE$j5k!q-#%J*@m0A9
+zJ9iOvA{@gRZX4N72x~8EBY?XJ7DTWI1XYX1T}9*W;62qzb;n^Cb{H-KLkPuqwh<JG
+zU|R^P42 at H4^i;*1gyAAF>um&57lG7DAaxQ*?F3Rcf&Uwh|EWM5fxnBu-%9W$g5&4F
+z at v~q!1l0{ii9%4KP*f8-qmw|M1yi7?lW3eN8h01J{v5yl56Slm41NX%zYJ4-hf?p>
+zh{s&*B*e{vfkG|_iXDxMM&tC+xIQ#a0*xy{<2=x~RWyzljmtpeY|%Iz8mEfJVbC}@
+z8b?9nn9#UzG)@=44m>E<8NbesUpK|C%i-5KNMsd~FAt1z!b`P1yOYq|L1=CxG<Ol2
+zTM5m;w4E?83!Wi at m!K$tKXn3=IS|x2G;R=$lR at Ju&^Rspx)OdJhF at pJud|VS)1!MV
+z(P>AbTuJmfr>&XCdbDtAYIF}>%MbW>L7bElg5kzXeIwk%OL37>cwzcogsorT at n2vu
+zG_DqHYmZ;QgO?H at r3k?EI|(BY)LEGRFYq$j_Bg)m8p+};tnV9vg$UMypmNc+viLG(
+zlEn#_L?q at z8{sw-HG;O~#;^P1%Opt_7hw|d81rug at j37Z2&xy2yYSkUvre33aRF8m
+zhj}&&R)C<8Xj>_KnIg%8304w~`PoibA%ZVJP+ at 4>8~8F=(%31OM-)b(oq!~QrT)~V
+zypX_`DUim_z&xTcwe5r{BKRr<6^FJJ#h1yE#!kalqcE at 9aSb)<5L7nWR&jbPdOa4i
+z+e$c`^Q2Dj;n%hCWgwE`F&J+I=0Y3c3=w=Eg8GEU-NJh+lN3+Dcq37<PC7)eGXz!j
+z8mH{5Hm&$JD*|KKMi3!_O(CdaG)^Axd1qQNI4cr`b#f(weITfMG)@igsX?kc2D6R8
+zNVO3z6Fv1O3eY%1H10Nj-39Lnd~MH>>P~oJKG;QK2w|8q;M9&cX|gQq!i`mWY}Nt4
+zRJ_Ld`<^8EijwLs!7%4wxDbqI7oqMK*cOWNMB{w%o=l`V;It1#5wO$27(z6L5RM_l
+zW7OYZ)FUwJAsF=-jQTswI&gw_68PH*<X_-;BG~8`*k}$6hbl#5*4uI98YT#;2!aYm
+z<3`cA>-hCsB=UI at S(4;?3I at LjgY&~wqcB(7ad9;=zretE1s4>R3PGhpQI-&tB@{Id
+zL5)LEN)VJ16orDIP at 8qI2^bW$2SM#YQLGRYD- at N4#_6DO-DsRB8drqIxxU7Uk$p1P
+z<p;>82Yk=Csz%oYM%Dy|)&$1Z1P0dx0 at LuCtoF&~?w<ohchE23Q6KK0S$8f-Z4R{7
+z0aEJ#t&K)cc|Cqf%ZeUAK!y+4xUyt?h7Y11OZlqiFw=!CqX`2oGm8RbhkBbeU)s{1
+zczH at l2{)hAx8ZwyQe1H<ygK?_!&|@H#(%kqDNofZ+t~B1-{F%Ih)WUB(eE4{fqXry
+zqyNioS=r_|U)i-di?cd?--cO;Zd#D9xym-Od}YdU7AJHhBJ)194c~@-9Z|O7=3DpY
+zE0c_~xTqr$pJ)DUSbWay1LSM3^3;WWYvAM#vWP8<%XwC%0Qrhkwvpm1Q;f4<(kY3~
+z``JFYQgZ?FHB8y&249(M+}J4{kElF__F*K^O$zcgMcGDzuS_9s?2L{_bY5+H_f*YQ
+zNLAbm(Z{87(qpH&R->X{wYLK&_Mgh^7mCtj=eSm5!*?Aib52x96`$Igb{&Xc at y*qU
+z at C!~%M5p_Zs!!;NTaRBTODmq>;*E at sZR^w~IypnCs?cM~k3H1N6^@T1BRmY-YDI`v
+zrjXKN<uQ3ak2^sMz=`dQZL4x2TKPaq>y^jU_&hY?YL9i>L^w;eRb3`p=|f5jl*bH}
+z$8Phjy6}0Z#JxHfS9_wnL7{i+OwH}yEkrhI)~W<jii4K^1U at 6zI|MtIbyktSRgKMB
+ztwKvLD34_+k7 at I*O7nTJ$JKIoPrY;Y?5wJrwE_yRqJKWbyK{kGDS=<Hl3vP?UJ8(2
+zw&0hK*N+B!7lqG1WbMo1f3LcpqN*+q^EV)U)gkSm at ypEhqe<RHP2Qpsuqjd4lnm_7
+zHJHC1>E$ER&R6_$0)Dv?zs&u1v<7*@yJ%_t;b31 at TyIufPgY!CmVJV1R)T8NO_;wf
+zX{Q>$%vnEL;$1X8|FEJjYZ^$1!Tj|}J9Uqjuhx%XybJc`^)}#^EE<2xIRbv$i77AJ
+ziS2(^HThEo%m2l`@u0P+A?hf-Trg+Ee17m1=fT%<LByw$@2)R74 at v=8T=Lyvd2DmM
+z;nh(r_$s2rwtEJcsu1qb>``%pt7Dt2KnA!YDm~w}o9pH3zAKQ?Ld79|o+d^&JUPk$
+zU#63CEKVbSyKD**B%9Y1ZlZHDIuR=_n+~){%ReX}pO?`|2j++d>j3kkBq5rtch0};
+zQ3&rygm*L|u at mGsuQBds0tEN1C`36seI9sm(etAaBORdk`=Zxrx?FUQf9M<>bPhK9
+z(+C8MM^pqNDhd%5iHM3u=tUs(q7ZtKh})f at f=<x04$ycsqBjcB8;R(RMu<ls#G?@6
+zkqGf<1UP|WHf+X8H)E%panYYfBHSYo?okN$o<Mhxl?cR26k;V3u at a5oi9ql~A$TGY
+zJkbbb1Ogd_Kt>{v(FmIegiRE}CK6#2jhOl#2z;)IL`+2^?nEH&L?P}(BJM;Z8X^!4
+zQHX{}L_;*fKLX(&g{bZXHFbcRIzfRQpukQLwF9Iwm%|HyPSD8?(8*3va0e*36Lh}=
+zbiWhS-T`Xw1l{NW-RK16b%63ZLC$LQ^AF-SyVV;PS)327*JycfpO40;-BtNy$Wra&
+zJ(=G=sZ#GbA~&hhqqtnVmZ_$=OjyhGcro&GE%WPB4?T2`v!SlixRq(QVU)rv!eb9Z
+zBPGAG9$%j<1u9{_#^p`M(b)NyN$%JuO3%m6L)oq6ei*hP9l;}I+@!)c3ODc^UtRJu
+z?v2HGCplu>ltRn6iG>jg&IFEHm&^>Ou^5;s9?1;WvyvM&)b$Xl7kh?%s+2xv05zRL
+z7K3}O<gnP?F$0+C7?K;@Yb`fw=;z^5U;G67LW#31omiNt;6pI0bIH!&EluAjj8Zs<
+zH>-8|l;J)m>1|3tc7m%*t>+5E6!Zx{zAlO=)s|W>7S<^!VTzrx-b$~^>N^e9JuJ}0
+zUf41)k5$cx;e8LV&**ogIhe=R2a_Q(R_Z(Y1E~N;TGxyj`go8aqix7nU>lp7X+sGQ
+zMf7t|Y!-OR3b^Xd)`R3dI)F3;PubQ?8Zvp*p_kpT7D`#AlZ%Bl3OK^cDwpt#^0Bp-
+zqgbRJxWU#3mBBxTCl(ed>^1b%Eovw=mDbM~dU^0eM!S(rgq_;O>q^v8zX`)Qg?M!R
+zFp>a1wB7!kaePc|(dDB89Dlxg5vmki=GTV($0Pft+z(_EILz9aa31B7lW}Qm4JJ2&
+zJPFpe-cHUK9^-o{*M%%1#MCY(WI)HzUh7{s$Iu(=Uzx|$R$X!xbnph%iz-S<Wq#9G
+z4v)Boba$+*(rBqlcGF;ErIMIfPud{f!B(W8zU8vMc!F8OpP9uEg6H~sa(%F&PT|2G
+z9u5~-$$ZIh%KitxDWm!{*TEmPesQH$VyferdVY|-!^Ul+(mqQ{2lapljTqtH8$8=T
+zNk9Hb|Kur_W5<r2Jr>R)rat%np_R1Bv16KFj~$Z$STAo^8F%0*-p|3VJ~IEG2YTOk
+z^m(T3_2Q|IwDSu`AD`GJ*hgWlO`1AEz2;nBwW`9rJT~+`sV~uIK;PzeOho0pu>P4#
+zoIM`}#RXXet%YP%bQ6UVwKO$_^am0{VA)0P17Vl|#D>62L#zrs-3JVNrB3*nL;01e
+zG?V>oGI5gYMs;5e;^JU7 at B4!_hf&wmXM=eMN_Z~Ft{^gXs4- at dQ@$eC&+|1o=h9@%
+zVZ43!PhPY?JJ$AkpT^*jvOK at xze#ywL+9_yu_M!m``@`($k)_jEl;{F-j at R*`H`oG
+zBqLm|%b&}$K84M7yL>-s=zOj<ANGp8{zq#ztchEScFlR at vth|_7e9H4kJgv4de?pY
+z!n!_fx}8As8NPM7f}C|Lyf3GYyyWKcuN)gT#!dSZcWj~N4L5OlxlifbSV=b*EjeD~
+z<Z%C6mxuB`pVE1;YHsfGm#~d)XNLO2U4rD*<<EVz{s()ny+&fwZ%ni1GO~8KG}y&X
+ze)W^J0QQVqSMKCLSZy~&?HXpJ;c(3T8g3+Z_{CcneR<nYlRQ{Ow>qtwtH?80r9VRd
+z+uOK+u$0KNK8^k2W^upf4pL#LG}1*%-XqVN3ESW{cE3ggd0{9<tL8c~cIZWn3%h(q
+zF1J$d`nXq~PfKtK47$r-KHdG334QpFrND(j4gPHE__Mq*e#8)Xb-iV<T%UxVeoNU{
+zz1>2!N{!8Y2`i!6U9RiKreiWx!Hslj;@%{dc2{B7^XS|(-oJ$ah4+wjQcb5jD2r)Z
+zV;rE at b<dl_5DLWk3dv_iV|(jarcIvDQw_t5 at K28J!W&+c$L at h3@v`vsYI-?48Atpm
+z8_uWZm?P`Fr+P)Ee64yJm08&xL}b;N|3(h)s6Z@<<Kpeg0{6}zwpf`Us{Qnfl{UW8
+zcaco|%CxhToL!oLSNayc`YR3ZSYj~Y)z(^4+ky<`n(TUZFh$vz(pdc+E4qfl6^5^2
+zw!utbg&@~})0{2Qo?QaU$D0ZLtkXViccpFJzR)*=*r)mkT`$V&C}sRVXe|;)gCa3A
+zu5IrzhKDRm*00~wxAkALPtm8qNyI8U#nogZ?~dby(ep<Rpl*#L$t3<KQ8MuT>nn!D
+ztK at TO8>>Nw^DQSRvYtjZf9MC~3V3co(QCn-I&<I2?jYS8b$EKhN!X-k6Z3v!jREzv
+zO!N5u{qFdFQV;D%TzCal<WHE9wu|Lc%eemX-g5r*KxCleZOj>xCVG5s<<4Wf_!8dg
+z5<3g}jKH&}zIn8dgE}rsvnww0hyi|{bV4HG&TTlKC8FbJ(xiiq3+yQ at u0Ol$Ct)&6
+z+V&USa^ty<y2f-`VAlq!I}NJ3QHzsiLfJXZR{gFW6 at YwiT{TcnK)KkxUh6V#fj(<|
+zUKfhWS(KRkm$ysWt0s7OGIQTzszhb8bI9JArg>OH?EBO-aI}hTX+7e_PCq5P)U1yu
+z)UVZ%r(97enn2MOt|EV9=I0^IXqMHZ0ypE1o5oFZkJ^k+ISupPhAGT=JK!!7u`1OR
+zoNs>fb@(-SW$leWC2ljJhyc43l%=&IIi+7I(c#to%Ze-|{jUsDW`gV$ak*t#9-AK3
+zPUQvVgJD-!@tqD$y_Vs)lJ?D&mq|?xzs=WK&jq|Ws9vsq@#Ea&`8 at l67w%mXMT7?z
+z_pW!{&S%SN1zQa5v*iI~yKW;#Hba%7Pliy^qIWA?zFYM1KW|Bug#XZZH+^@paHhj~
+zUB~apLqqR%8Qr)L6`sY<s_L{7e>=G8&Pn^L2Z+FArK$KW7mD$;JE%7U&|;`JH@*ri
+ztdsK^DfFY8M&}Q18X4>wPqjV~SSTdJLgTA at q$XoxpYF{h#E!(@ZU~%EnF_zEK5pW+
+zl{M8Z75|DhS7E=n>Qr&gK2^+KU<<180yLnr-hH5K`>{4U_Ry<t?Xyw!D_hL)XCqOH
+za&2HlEA8j`Nt;Pi&-lzE;;#WaYWy~eOjIM#mAfapb@!E at 5$N(C)ICFs%9=^fT|Mcq
+z6ju<F5ylQKa`A`atF^wv!`wNLG4fK}8fZL%oJ0+bS{hMJ0*$|%lp}nve_H(FHCzd^
+zf123{e<zoD0ZBwQKK6KQn(Ptp5%ys<#v?3sHO`|@Vw`t8xxIH6=li<;F7BZvc%p7J
+zmA7_1!kbu^^$DNvsgsgXw;r>AuDfau9;?gi!{X{BQEs+ks28{|_%EKW;wUgKz0Y&X
+zH^m!QmsN`|_jHxWsLN_P(#8#3pL|u8Zd$EsBbWLVR_6llA-QAK5(xyPO*PzxU6^9(
+zvG`$adhGlIUk8sx5BNim#niR8V>?3dN`-R|$V+3AHz)6xSwE<5`Rd}>!w<#^CaRAh
+zwS?hc6{2;?Rvw8@<54b;szq&T&`*u(Tw<OgJh5zv>OYaf!te$KeO>b2n55LCT$#0Y
+zHR7v_bx*b@);p0}qtK^Me(Yh9u;x%^ZTxr)`Jv-rtW?qyIhkA%!8?XD?=&1o{_Kc#
+z!>-I}*STDP=GoK~qN^1=B1>#)>d@)7HF0Qb+nRFpq-{+$TE(`e8C`E%^A_Ep;M|GD
+zAun`d$C0reyEZjd=+m|}k?2s{nqst;t=z-M?pT+(%U;;UxfFLSa3SAwY|31U2i9WF
+z;sthW&H{{8oU`!6*3DUXVSVSO%FPt#rh?3Z?mxyw_O5q+IvHq+pBP)acG2#)?c5OD
+zmm at r`CP{fGeRFQe&i8V7c6GG!%S5}*Plz><i+0X1=*$Z&|6KD=q<ZK24<z%PFBoe-
+z=j(}`p7Zs>YRr*eV4LU2?%1F?@^dV0j_iRwK6lX#i|V{OfjrrH6^{(=xH^Rl?z}pU
+zyx(zk7<s=lut*_1k^=U)$hFrr#&?~>RHkBrmn}PpLp$60B%_J8+jdaVuZwO_(b`4$
+z+(Z6x?dpwa)zf6AxuEm#7<A4z+9Uk)%I+wN*cx;$=nT9OoztFujdXs3y_3pD7J|CA
+zWlNHjDvKgidC6wbmQd<@w2vb~lB70~6M;EKmWOh+(#-Ikl||7M^|iqcyE7CYsO2}>
+zJ^Y7C*9Z&`Id!i5t-2{*bHX7KbCE0wRr*G=!N*p%T!KlgP0o?ts_Wo$o**Ph8WTR9
+z1XhYFl(j8elr&hm6iqp|c6yHgZPO#Xb0t?K`~=wviU at 7e#LqlI$N&!%NsXc~tqF9f
+zGr`l*OO7&JdneX7=j`7#ncyWVEhFI<$nMaJcKaJ7!->eb>98gXJf?Cy63$BYhi<e_
+zUnAY0;Oz`N4^KkV+omN+>=U*ffoI?)XqhKo?0dp%>vM7wps2k{Sj3>?1_$UoS$cD{
+zby_Ou)SCL7P8&`4=;j2xGqrLrvf{}G7w`z8lXI at 2fsc;XDiN1KqHFi(mcppf`#faF
+z&FwY~!61zZozA@{0_-i<)`)XlVS)FKax0CZj4BbFEy`=AbE$8r8T$oKaxS;rUYqHx
+zV4=k9D>%}xJK9aS3iGj2jF?5+G(=~GCJ?$$=m`6^;!1kTH`>gA+8SL(4`6gpQ0RSZ
+z55ohsPIR}Huqj`(Px^Cig8tyw>(_QCy4!i#l=-KV|42-rgfdT4>Ovgan{T`&&f78b
+ziEijBGm!(C`D6qD at xi0EjVGW)h{jqsn=+UtF?(;qNC<KiApVxPB*&ckElBz;@%K6A
+z)Ha$?o4}KnWC-V)CEJv4$%Q>O{?J!!LoHdUZ-Um}g%myUVK!>N%$EK3s>rPM#4L~@
+zykvwOMmWp-dj@=l5uRr3wGP}oPQ}G0zM-va>;FslEjR@{8xBy}2_L6UVTERIOr#5c
+zbih~(1+b`=oZ9hF%9#J%4fgH1y2h872g0ZbvsU`(#s#e}rZm3E((&H$veeh$Q`CzK
+zA}xLh at Six|Gdx2GNE|$-+A{xpuUzyXrt;i_INHYL<N*1#dx_3`=uly<2`!=S*N|vE
+z4fZvsMCZq7p##av;6&#Dbf<961>czYE23cLo~1W-Cf+ezsN{K{R%t1fu2@^`Ex#wJ
+zANYvfQlfq#cJ|&eH&E~9PgY9k#cj at 8BnAXcd=TzNdzU<DKDPD+aI60*<Z#yaRgdfd
+zo+nY}1g3EQiWgX_hb!35);mTO6*nJTxeAmnjU@$~Upq|PIE8sTui75>A;5Ctg7C~$
+z-y1!9Aq1<frYB180|X`vg=biOGv}GUfkh79R%Yl2-CDbxD8Pa#m=A9U3m?3%wAByd
+zSW`?CxPU2}p9v>C^p0^J*AtF$-n-Bv8%H1~Iv+K7>BT`;eG~YIKLho>V at y$b^H*}f
+zqCK+Ggx5W?{DcAE at HE&7b?^IN^x_VB*F{vivT%0ZF-oZL`75qqqaN92{HY#Uhx#U=
+z?tld{xPW&}BhfkAo1zyawHB1<z=~;^Ps_m{Pn<bV@$8W`sy`{*a+Q3oXCp-2Y767Y
+z`krq)Mb*r^-<EW%N8pY6WAA=T(piSz4dJENw7B{Bc7EZ5q{^8OnZyIP9+m7CQI+oP
+zJx1>BJl|mVgMrPX`v4u!$SX5IDgaIaz$h62LJW`s01ifLQ%2eQ`LrT at ym0r?e30Pj
+z?v3Xr5IoI{C2oAQ;FmHror5n2l=_ai#bp9f%f5cPdse2vij8a_c8eA5pj#!sW^E#Q
+zlHwtj5=xEb=xfcE>fEYadQf#@&8xub68W*1#XD*iN16`a&!qGOyqP1-2!Gn7^bGtH
+zM at hTAP$y3%m;PJ7E<3?ao643{C(jA}0xKpmtH~1 at G*!2Xe{I2}locMz!TZf#tkY_u
+zB!A)`vb&h#yC&_ZSVvL4D(1CXlNT)TEDqw6ic}}L3Eun(KC-r0-J2%eC at Dv;6eo!Z
+z+x!V0vV~aP+a|*(_9tGciPXb*6DNBp>_HDLuqZjr0dHqgoiigPyvPNMPhQ(VB(iNs
+zV=VQ^6iR-_(HsdVpdS~LZ9y{?%q#ELB&W7(2nlz$JLGH97Wq>WiF234-gnpQ6wL3x
+zHqe`glAvNL53>{44l>~;dU2^OdXbF->cYa^*qQuBX7Y0}l^~k*f>h<;gC6J(tC&}C
+zpoLys5kl`kXJRS8 at g&*7#5+J;MtG?eq2B`~zf1nkPKY+~Zfp`#pe*;9)Z{b^0-%He
+zL;!%ucL4?3xsykg7{JthfZa<Mdob%+tRmBRLt!ZxR<Nk{C;LYXeM29Mroa6WvnQa3
+zRi?lH5wjrxFf at l^?m^IdB=pF%n7aj(goILjin%LV5_k?0DLFs*L>=_7o0}hgT;bA4
+z;vu%G7Rz32Oy!}@FclAP1WGF$Vr25QL3{1_+H`Vzfp!adR5zBkRs<*};uCnN<Ac`}
+z4$B0 at 6b?&rjNNxkL3-{xMj#va9eoGArmLk7s23*mR=nB<gmzI+TvK?qV{)|I`{jZx
+zie(4)C-b}1h_0y&@;-xn$RO((<kDZI4nQ_DP`rtA_U5);tX~)F10W2FDlBq?T7IOt
+z1^_qPkPA9q9RJqt(TcMpS0ayJfrFL%{D+`R#j>miS_NHd^IS<h+X+S{&iq@!j1a9K
+z>-RnWJ-`9ix6elh=@!ch92DehH~&rrS|vJYGf3-VSuoYx#JTZsp`c57SK>kJ=CWln
+z4{@YINTDmw!P-6MeoNGkD~KTTVp-CWJ0Lvx2?)160O7(oAndIWR_ID{uyv2Q(GvIL
+z3Mj}9a6Iw{g!{XIaFh2zpv;<8 at u$3_Fq8W_2eJ7<XMLTE1;PlL?)~~frp2-{2T&7d
+z`>hP!Sic at GX@y1Mme3z*sYfXc()KSY#UNuDWF3RVF-Ro_nn?imF=G!H(J~lwRp6NQ
+zAoLl=It=5i{I16NZs0KVY)D=rPHqTZ^7}MnF4$E&V<@<FuLYwS<JA(bIUgEi6nSMS
+z=p6&eL|z#T@{0VvdZfW7TTX3edp~|a6><uoP=y66wwWGu?C;K`M5y%(+`L4b5D>cL
+zmj<#D?5Y823U1v(eAbNdK%{BTJJKMLd at VW;Isz8slfOfcu12N}9vQO%KiVWNZKs25
+z1iN?lgq$?CXHvg!Qcgyu#UIJCsl*{}UfO;SvJmXvhOz-)DWb5qTF$li!~@MpzClsl
+z`PUlOPAB0}9qW!pAJ8Y);)O_ODbA666`=RZ$I0 at Md??Tdw9?u#n at SKu1nMx6qd%`q
+z3+<pf4kmox+}Do;y-_z6>|Ur4qWwdbjO5E{NqNn;<|X8vnJsl`I|rmA*uCl{e2?kS
+zN7x%rdnh<|_s9>h8cf~4F>y}Fo6q6qrG_B~Az(R9kwc+0wn)D5mejL$zhypr-=s1z
+zsN0czOQ}H9mV1KT2Oro}1}YN2LxXBH<F-A71X*|4h3|14dI$>&?2hY(Nbij6KjlN;
+z6<qW}<Y{&VX9zjb$V&Q8AEUJxREcI+IF3P~^q*$#=V|uO&@M*CaKZFCj at CC4zoVfj
+z2E`v4BY;SZIKa(Fyx$~hM5a|xschUj{0ZNcw?1n2kJ1L&xQ+M|BmAc5T7tyhb~aff
+zijL6jW;OBmn+vj$F%t3m9cpVi3E%g(@- at 4FA8ne`t2v3^mA925zayxlY}{Tn=}Uf<
+z2yH>)07&RI at Yh+FRuyPDY}~HdNfEm|beYH)r9u6UhFCgEvnz{B$cft3a`QcOQ8-ej
+zty%K@<{~E`sL%`GBr8P5sM6o>3rvg)-=;NQ- at GuPBz*f~lkj`!l4qpAx8 at t~H<#=p
+zV?Z0aAp^S`z>zupS8%7C{)iDC%q>+4=y&+X(JRhBq3z{-KSt~<y8Z3-X8L(Z^U>oo
+zUF|{FPi897MNeYB1&N)^1hpi-CD`!Z=KiL}lX-sa`0BG`M7dMk-}cYfpMMe%cJItB
+zjrLoNX*(lfAbRpjj-x+gej`6T=pUB^{=>Uh#MF0!Z{_U_v9{e@{v;4GJaQj&wg8yE
+zd%${N^Ep49_K!;<|5oj-nw?u4A=dff0aE?q>N`odGIoZH+SULyvkya=X6pZ2#!-6t
+zQ%gvFK{$<V at jd^c{$~ct-5GLdYaF?cU_Ln#9K^D%%erlz=HPF&cTQdRJH72hV&%X;
+zmy<)(Zb=F;uby{w)cwxXF8G)H5Yl){QUoBc>$U~3oe_4_V2;)YP}c(>q$GqK2uX at D
+zZ|hp=u`MQ5eiiB$b>!ClF3?`hC{9TVQM)ZE!*D#U`(3m>ia}Z=hBV$Tm1K~dx at qxk
+zUlMN#g#HwA)L<zAd^yGd%bTTurLmPh+txs3olvP<$Sa}i^z*BFZFlZl8L at 2*RW>uo
+z3qscgE;tK2W?g at AlbL$^#ov`X>!!`Li6q`?2{jb{)Di|w9CB!PVN9{YjzQ;aAG94^
+zu1gM47N|=M+2^lI2|@GMy$^ZKU-uzInZGV6WdACUZUk<YH}Ri}c5>oBMeRz$*EPbg
+z3SE~D_tL$mc2QOD9^XY(-FrtDh{D%NVOhf0r^D=ot`CIS314pxBM4nD4<iU)&kj=;
+zx*iv%E_^*Gj5+ZirFQ$oe`MOH6BE2b1BI^JhXo2>e;7s;f(ER~L=xwY>GHA8q;x<b
+zABD*DV4<oR0m(=z^&j1}rEonbx`qK8Wp_4lA}2nfBPbwWh&;3L;9fIlTw;jwm1YU%
+z0}Evvwz((!*+LyHe*$$Q;ImAOHqJuVXIMbVApsJ663ozBe3n(1s}5DDtVdNfSyojQ
+zS!PuwS&yrVvP`P-vTUkysGpsbD9}!OauV<d_Ftm{*NQkX6U&_Ni9vDS${fozhnCM1
+zO#`1NFhSN;K3UdPUeqs6<9AA&1`l6##_eWAQCHTY2rHRUO)Dr))t~j8lph=7`3AF%
+zEKxTz9UPBefBfh!SLitjNr8}P at y~e>XlQ3JME7(oN05W#^0mh{*GE|ppA+0d`^4w1
+zXSZ0MTcC6ArEr#)COi!-5udl3U11TkKo`Dy$HFclc_qX{;`e8WUFgC)NZ at G&PVnbS
+ztAD_yAB)=zIa65Lu$;GRAo`&ll6afzGUrg{5Bl2HIjgJxbhGGMqx0U4vA`^>1kb|E
+zzYnz$I4_ at VQ|H|J`lpDc at 8s+>%cKpuqHXS9bj!Vg%lx0~Lj5Y=v7JMdCwvPH7yn)L
+zCza*-<JahS;^*Sc9xS%yaelRaU3yQCi@(B`M at hC%SPg2c*vzb=1n!Q<Rrl<AFOjQ<
+z`s}9q9R2G(;3|)0U>-6>qkRNi-^g?oQ~A0Sd~RyGh6}in+iDY3{a(dh>+X5~CYf at b
+zmE9n8wsFN?_wLOmjbr0^yN5Wm^zPxmkE87cLRR%ESi5!&`~%OHyN<2ihpGc)*sAsJ
+zA>{F3;keE(f8QnzwsD_74b<AUbknRgKV_fvZ7*e?jO`Pde*J!z9(oSwLvmGQ+SA7~
+zEq|R)+ZN9}==ZxYaI|>D^l&h9d{*+w059aS{F0&ax%BPJnW0!e-T}eI#*?nbKGUH!
+zX(}77x{Hmhu0xruza+r};gGJh?Ms=${RdYD5*GtbxQh8`gw}jj$!WFj${d`P^cdiR
+zq{uBHASp^q`pOa<WC<^CYE#AMiaSiM!agT5KVZdvl{yVTluM9u>X|?L(~l3VEcTyu
+zz2KwWZavEPwkAbIuGJcsY5l9zdEf<POu_Y{@@l#qSLQA at ooV3AqNcJlmitZ3Czb8?
+z$?ut`f4z7ya1Wv=>v~B!16gw=6S{c5ZL&X87NV%+`dryItwu6a3Tw?jV6j+w%GJZi
+z;%!Z=N=fVFSf;|S7p?;~5FVegx7!zd#)4~_RCvD~h#)G;IND at VTAwh%{cb4F+;(MG
+zRz=EP9C*0+;-YJ#if!BEWM<jyn$tiX#8;u{ZB2#>u6>e_dG*(t<3JpQEYBocllkQ0
+zy=V2QDiH|_(~GyHNzMbOlqtw|H*}85`L~peb~Nmb%6Z=z#c*}%zdl#SF5V8WT6 at BK
+z-Jw;b!`|_f>W|F4UwkeD!;p(PlD_<(WL^h(>P%sR&Mv7g at -Z#lgySqA%^nq*XP4aI
+z&v=z*<d__4pU$B6vh+5X7O6?ovgCoVX;v&Qd%B7|FuHuzwPIa!<Mp=hC)hhb_TO1<
+z)7d)@t8=y_{6%pdlu^~r#*@og?$g(If}YYzu$`b6(+4|2PSc?~4{H#6f&QS{ap_O6
+zh9>fTe^AZ1bkUv<d|lJOrE<JH7Z%p!d%MX231exJThAIFp?vTgA64y}E}ogJSg+0a
+zP3>yL{m$~7ZrT}0Z=;m?u at 0%iST<mb>Y5vkVvXBac-r*oMRmQ6d)xd)u=jpOBbbTC
+zqThB-)1x~<Uej_r(h3{a{)k%}4m;9v8#6o7N*h}KmT7ypn<TLC57Xw0)bQz_i%oYo
+zc($i=m4+K(zwJucjY}}Ne0L!)J6Es$H`BYOua(mFE;aFDDW{t<`YAV>GO(27X{p7)
+zhZ`2#G at T8_?dDt<hPrjN354YOO>nfoyYX;4Y!uVixV%j8oIbxplJ(N|N8I+3Z-Qgl
+z{rA$9*qbQWjL_+mi&*WAyW5K&_guFZbN3SbwudOue($H-$<GHr?L{;xf|_)&wr{4L
+z7o{{epxc)}?S=S755q?q at A@MYyv{cj_1h*+&-B|Or$-md?rm(4pSljiyX+|{O^DB2
+zFaOc-n0~fHd!BtJWT_wXZn~u(lQ_M-xcn~#<%jsR_s;Lmnmykbl|BSqnLN(H_Eo3x
+z=>`Tl-M46We}i*dWCZ?G?SgDYI_zo_J+0{Y(yMLo$GtE=r4hJKlo2h(PiYj6Yqb5{
+z<UC!rGp%5B at +W+e@Ngq=`(=K>lj*BF8uA+t{RPrtN=@-tO!zbcOJQ#^>L2~JSM0Yp
+zOzCf=EC+(K!`fu};R)09eu`X^O!zB$croIfgCXs)bjA_t7k+*wXFCa$dM*iJk(#jw
+z^AGi-e^lyMdsqcV`<+h&-`Tz*MA%uBeb8`;5xD!E6JFlH0znSheQjAgoe?sC(A$Gp
+zeJDb|Q12dPq&hm^)Q^2JExO|(yAkMLgY1s at ZPuXM%-uAJ#bsvqpaRbM7tU-+EvLWf
+zL*=@%NY5a%b<qL5{)Mx^eT at e+A2(lBH-)OOUva%HO+TYP3RM~9cD*M}7g0C$KDfAJ
+z(7P~`>uMuC^FBMWK7iT3aM8O<$kkigAu4;hKJ!v<`p3T1Pp(nY4k_8X4FM|th09wD
+z%juu{EI+z_k#=~W-O~^t>|eOL^<g=^vXA>xmKY|$++SpU>*w$Ex<1Py*Ewm2;Axh{
+zGTp&^yXMR4qrL}II|lfL)gif8sTKNz^LEYr>Z7oO!ySWP3%o;ep{el&u52<h3E9sZ
+z18(?>Y;DCZr}y?LeR91mGn1UX+!(;8&hCHk+P`qeTcms-- at chweboPef5%{L!N5JM
+zxGBKPUu179a5;UtFa5_I_J9M_a{62!Yp!dejBC`Y!S+J<u-tH}z}-PJ2ijGC5z5xa
+zh#Vmm5ueT6a>TS_aIj!to~7Gzq_bl{Spa=<os*%9HF+WT<opYdyj^q#@*QaU{)JR;
+zk)44K2bza}A#JN>IsK>)p+C6eFc31Geyl%zNY(U>3cJ56+pU(g?C0N(_I3<TEh0X;
+zir-o~S~obem|2yz{4KMlOzwJ`PtdEvQ$De;L{9q*d>Z)rWWahf{Yt-z(H+xZ6<2Ln
+z?^{cce;cqa!iMGUruj7c6rT0T(luaP%pA>p-j-RDrixcv<Q{nHIMCmgF5NGX=h}7)
+z at h)4e{itHcfM*er=Q?$3yuP=?vE1iFWc%YKarW@~0dtXyK3OFOe2aH1)0O*QmEVS@
+ztv-G>_rDZw at BIce=}oHa;VLyS*STAC8Fc_|zjB?c{PkkPfbVjDTUKQIJ8QHY)auqb
+zn8?L*F0%t2j;)gTbY;o3P at wK~4FnJm?K{m?PNZi?w%^N(jcj+a^arG|>LM4T3Cn;|
+zo(%{$KLb|xh>1X2=5N{rNCyH7kd$`;0y&T2bJk_9Quz(ThnNmDP9!kW4M4b9$VgiO
+zK{=U`zL68zJ_q^h6Abv=_}fMtsVo_n%Mf1iEA!JCm9w*Q>yWpzg0y~1mzI<dLP|@<
+zeR6H6{I&HKNb%_pzI250sgH(sZtj338fH8*0;dLVzfw*cmV2fAx#`D`*^fo8E09N&
+z(&F~k%<SU!yX&om7ny)F3`kQaf6V at RxnpqkqWgy8D`n+(fAgzAzW8$%LwW!}oxf7z
+zw;!`lbO(RTUaKtzO05{=gMt;HbijbYzA6C-WeIiD at L;p50l;>RVQVsa2OxY#7~;@X
+zhS-oH-YsWXj565WzpOsM{yN4e-u`R+Yz@$oe>b`Dzp9qgvht9*rDe6cLEvyKYk6)O
+zQcD9HUK%^Z$ur171}V!R;|u`OR+d4w0_04iSes3Y2apNE6rS~<YA|XpAO%ZzRRPOY
+z)YGWSv5iiKFhr~kDRE|i!x77Q(lx4bG3qTK at ag=PE?8Rc^b2rBW at QMLDhSX=)Ue+S
+zPmlH2Hx++FTGuIYTFF(A3r~2sj7*z7!Qv+~SW45S;HGaCww=AiD_ykL7~;2o#T5+k
+z;4VX4#}Gdr1H{GUjewDVF9UvLKx7XCCNf~dcLoe$z^QHks-XM;V^=xAc=2cfFwU%E
+z<b09=V;_qxz<A(3!#Mq~c>Fa(%*7A~%rV4w|BAyH;*>uO at wva^Z-6s5g|WinX$G7D
+z;NdC%!V{}Wzte%;_%L?k17_ at IVEw<hu7YChW{K?l66#|l?NF&o5#AYVt;>CDtG`m#
+z{yMr9FH?YuOIsTo@%K;z`$-e`pB3(RBGpRMk?^E&1ydidtx6Ynk|F<?0k)~99a&tj
+z<Yy(PuqVRmQMfog?}+_@&-gzS*RRb2c8`y30Upv?en1zloJPR9&yeAFS_J60$o3Iv
+z1G+Z|5Sj!=gU^iBu)kugCim}ZelS)O*}zzhF=I6%D~#&@TjK8_-!s%=GFgBo|1Z4q
+zA1Lx4D9?bWI{#byU+}N?zu;eO{x^nz1Z?vAf5D^wKt>DnHT9(M_w0E}epl+REEw`@
+z$FhpB-r&k(sCov0+Q%`#!Mag&&ui<Jw`?y!+>u2BEFZw;J%ll|;ehsYQVvkic^y!#
+zn7wWk>8_J6nb~A+FKi57uvzC4eMsb7zaeT!<P5ybo at iX8`~M5?;hEDRPk&r_e($!)
+zgdZb)k3I2y+dxJFqhUe}hc6 at jd@ClG_xS!Po}WS1FNse^n&hIv@&*liCAqxpNu(_E
+zmp7b8njE+Y`)MyXl(dxeL<p*w-(9`=@FfG{L6B<fk}8a6a1ZlbZN_i(b at O)7W&jtE
+zkk0JdwljN~=QYw49SuJJumN~Vb8Lt1UXa5}B6OrlKN at WIuwgGemp3DcWM}d6#><hW
+zzG!eJpzD;+-slC~%mKF&z-=6G6M0BHD9-{Mm137L&A$&R`EVr;yNaBb8(q1plq3?t
+z?Bxw$<r&dnK7$6B{%~xV?jBgGK~{D-TX)g-DZo(x*Lc8DwQw^42Dp)sUE2h8z|9p{
+zd=b#D$#>&T4~gJ9yuJdwdF at GOtWBRZZ8Rc|1v8F#MB#=aH@|h(FT*e$Y>q*gj`aBJ
+zq*-Ir-#Uex@*-VWc)vz_Yf=*tO0iTj at ZDg>z&fAqWoOO>9&*#}yy%4|X#_KqzZcx_
+zdZ+I04FvDy?- at _xkt-m%*rJ1Oc}442&9BL;bq-WebdSSuQ6QLSW6aXvmyU(eYxaF(
+zxjXFp at 1w1!PX(EYZOzFm^6&Q8A2vwo(yP at cvy!k86$Y~UD{@VDVsk!LOuYLyAUj*?
+ztR|Mp^X at foW-RXAzh=;<=S~>cw4+L8_!K6UsCDYyCzA;9Zj!p%WD~6Db&keQIIv5l
+zVws8DyYq=TD6QbnTiDAN1XFh#rFb+ycnKI0pEqEiVn<#re>5w5F2R%@q-LvfW$3Mw
+z1k=eok6tW1`B$~5jPJbL($^2c$JaCKyl;IQ;0EY7cGo9*TaRJxRRVm__a}h-D52Hj
+z;+cJYW`@WCxNA3%IR2M9eG2gW)!@RQzDxpIb>IIHQ|LhYw{apPR$aL{(R()@xVJhG
+z3+ at 8d{>c)ID9OQ6=RK778ZaMno_qv2 at fR2{Vsym2GQORgFBma9&lT|Q&HUS8>%U_Y
+z*Y8Qdj*VfxA?(j^$T<r{cxX1GG at emv|F<-%04R!#d<__PXsQ8nCqe!f3)f^XvDSGf
+zq(v~<sys002rlCj5}5-Q#m2tLkYm~yc)SF#5hAfL;Xn@`H?h<qGSL!zFX+lpDTxUh
+zbgmpyNhNlCD0_15RAeNg^7Olo4$#DjyK~oA>;6qh+h?-9_Q2pMSn3}k5nAizvuv<X
+z1}={{4e)r*i+~2LarwpDYfwvNMwPoY!@+Kr;pXA`KML|01*JA;fr6V?-T at XCQl|hW
+znU$d_xy)dqA{kZY=NL?Z7Q^RDD1%vr{zp?j at E;$v1sBk`%KbW{v5f_zptkgHV{1mi
+zcs0Yc{28O*aUTm~r74_ at l>+<zUl#1eGqy$&U~Cx=`nxp*AESW&cWZ*?j1F2~7#*U`
+z7#+BZ86Bie{&vX!+u_0A4)4W*4o->x!E^t!ILY+?%xG?hu}|n<)BkCtyTn-Oof|-}
+z5tVP3&n9XI0&|`v&$ri}KSiB>mtTcvkY4`}ZEqb_Rr_uY(<v!i0V(P3F6jnIL8Vhb
+zknRpa8l<Ij(<PnK(g;W>C5 at DnNPhS7IluS!p7EaZo%j3W8^dw!x#l&mdH33m$Mx(5
+zkyQ{GBCe*(82{$vb!5mILu-%Dx<j|Qds9A%i*?SGuByo!QS04rmj~||L>jx&L^HV8
+z$4VOB44CWvX6}hCYLeHW^b_q9+az6Oa68=oe7kS0)fUULB$<NCTuFmsAOvrU!gpEC
+z`N1qT;To)T=il;LeMdL{+c+!*Kj=VQ_d6+W%OCxn*&Oe2n84d$dokV1f|e6N<UJZs
+z68~@@qWhf)w`E`7(L#K?(z$P%X}id|Z-i+(%ek+YX*=1uuZ?Lt#<|d_!d_4}oo~kv
+zzyx~%-E^KEd*?!?_xAj{>0CR8&V`uo?fG=mId;^X3wILid3Dp-cEp_vKPTAp=%%ym
+zusip$t>k<dNs?1rG^=c~e&iC_{DrYpWCYgeA8gO5ORC}O-~40q&BXqOQhwP1yKXrb
+zUQ4sSb-_&gMg(kAvN4$@x}~K~zsB&%cE3|0f!@#PGRmn*9H6c_V9+g|oZMemqNzKe
+z*DY7TYf00$PW;-w9$`@{*_gl*J=gMHKT}d(0Klb|Sp7^z`Nnvb==GLJ{TdX3ZF;9d
+z4TC=0vq!?E1}xD>%myqEh|qN^ljOV?pHz+&=10_j8LVm at nDKORIcc)73VioGx5tyU
+zKmDcY_ukhYT=R+|_afS=mBYhUF9fFQc_<D|gmS-=OqxE#*LFvhbQJ&}43e&RgxbGp
+zC0#kd2fd^#CHSC|bbSIo7$naS2(>#^gLVUH;S at 4KyPv>^RM2iN_>c?QT?HSKLA&uv
+z>b{1UrFYMQcCi7}z%1opl037ZgLmYi%;+ZNT&5Fh-{qss%mVn9P<vTBX!j-1y~Hd%
+zWRyHJ0J>t7ncpB8NT~e;B;}RVZ}c!rvq4ge4(?ZkGBXa6p}+*_H~@rUmX0w=@-a%*
+zs|W2m(81NJP-aLHbA<B=wdGkPbpU!#sBNVYwEJ2~JyRO9)R{@rm4Xf~M+e7clyvo@
+zgR|$L%!DT9w1g9CKhz4^%^}nt010c5C_|aqNXltRAk@|c^)^cC2B6*+)RWV}D?#%(
+zpemkFTL2^l>EQO2C^Kw8UQejqs1sxZ#<&lzf(f<V!7x1N;0Is=7C}WAp*90(;0<6v
+z12<p at c64xx0+bo)#2l|wLhV=}*HBUydx2RBO at JeSU>1v+CC^;w;I~qkrJb5VyUzhD
+z51>{M^Sh|!0msa at C^`ubV?S|aK;S`aUtl at _8P{l%Fj^FRZAnoCNmv0gzP4lSBNUxD
+zED80#clO{a4_swz0}(@u<bO-uVP0XASy?Nn-w5n+IEEBH2J1Ozv^u9G9mK5gfC?UD
+zj0hI7+G@=MVlW_P0t2LA0H}l1o$>g<PCOcl4xW>g+hesTUMjd(9ARywqf!B)<V<i>
+z+zkbTG%3Eem;%N;r32|-(kIR!<~|h;Mkz(ucpZ!5Zaz at 1b$Pn+sd+)=WZdKQKV0OI
+zgGvW9j`xH!R$ob|p9zX*Ee1G0f{Nt(>pnO<`&*Ri;f6hC^|uIT+`cC*3d{>xAsDh%
+z2^cby4VZ-}Qb6SZO1 at Z99W@>qMF(F{LLJov0{j37L7-GZT at 2-XT<~HhE(fa?G(wvy
+z9 at X;_2eXv+w|Io~a|k4ek8SATYa?H+zSmzsk>rcZxgvU~Dyfb`yDc7FM*@lhZ%#?H
+zhXiQhwVmR_s7i#|iqpO^krA};AbkWdWfWBKgpXH9W4gS6F$c`m?_oic3D9B!Iz}m#
+zM?j7e_o08&wR{lsz^6xoOp|drN>Ya}^~q=?lM0sH9jNmjOD3(Yi)Fk3%eCS02f>P%
+z6tuB^gR%7h03qDl$T}?0Q!@1IA3joGwFW+I3BCvZLykvJGNfODBEbu+Vl=3T*F{iZ
+zA|NOIeN+Dn at H@RT8SC{(XD46`LYS|6G<cSwl)9kU?)oEqZD&F(D+xOv<RBY0snsZW
+z*c%D;QAI|wXwnO)Fhojn(fgmA3f%RdTn6gd{$H=qy4<36(Cd(HA at zYJXgsU>aDz7r
+z>U6md6w_s3suI+RHS+(-Anbm51iHqUL1{$?^^s8 at VT<M;fMG at b4?x+X0^rkQu;bS-
+zz-Gq)o81FR62^*zuZ>6pSY7}EAprH9YY8my4%nRd_CVK!ED4hVtYj at BsK!T`dDBxF
+zwQvr$Oq4vnHeRp+PSPHjzU4pz<e8rk2sXfmL4Y_LY<5~yu>CawAOj#=0{|k3fxtb8
+zQ3n78VgN|^E{Myw2`Xv%>|<JvK??~ajWTSWU`-UGUgrC?fhk$<v(w;#2L8n~Sojwt
+zfi=q8c|ei~ksJz0(%Va}fea)Ozp#Rs`<XEQcEnUa2oT^1V)nG=*R}##!K#?X=;FU*
+zEI?L81vhPjWKiAz8==&FlnZaO2kT*S;h_BzS`SViTIO;vOV|k^u~Is&U}Ytpjway+
+zU<TO~ux`ami~lAAV<r1spd|M}4Lsp*a!@R5rj82!fOaD*+-4i>jiBD|?==t?19D!(
+zWq32YctG-?gV@|gXqmr=;mnLeQ?#2E6R`=6-_<{c83KfE;}RQA&_uLa<-KTzCStKp
+zJ at -49tK)+=>PZklIuwG-K>dFATVI<J>i3{G1#=8AmOKEfd-4z*sEdFcEbd1D{Ap5F
+zr&|EsIJxQ|O3DR0ldtn|SRLm-C?r_UKUA6e**s9aZ}Y)n76YTSO-Qbib+rQBR;@ig
+zgKxi<P_Izb>>$v|fb^d~3*<Z1AxhTMGyQp{ZOcyu|4K`<9D_9qMxIW)E~1_UnelWi
+zhboOg)URs_Z6in(wfsBp2iSx4mTeuBI?0gN+DS0H9I_{grIg~c04<JQTyZipLY?UU
+zCa=NwkCk|g(&xWcr;6J0f332g=2HJ-<wM%%1X*3}@W6c_t9g!W*?Kd`%I|`VnGCWz
+zZ{5<EnFGD5%We-)>W8ducImV^_`xlUvOOrG56u4ghgtQ)IdIePI~HcX53N+W at BNu@
+zuu at UQZ}O39z;gULHP9vpHQZSpu}VFlrvEdZ#?dUO5&XjyaSaYA3Bwaf6C<#MYwK2w
+zo3;w-78%z_s6LR%d!xKpRlvl&^<JnKAj02M!Ku}}k~jFkBEHhiA%c>$t*eZkpp35B
+z-YfAt$OMU^1u_4i12^Wm(eN)V&@S1N%g?BUHixhzrU7UQ%7&+a!)Gjjt+WB%E-F9Z
+zY&b$&Y-Thtp$XLVD&uPta7e1t)!0)cc0dhkKh!w*8jusg4Zfl at gpq@ohb$!2W#8Sy
+zC}oTU`>2qU3Z8e3ilUR)7LY?KDR>f at V_tzM$rt3X`A|CT1(;kE=OMg2UckXD7=U&f
+z1!z-%VFDpAltT()R+5)ckEY#V8zv;c*QPn<=@cCr28}_8T50G%5ckj^gcO_0@?6S+
+ze?oYx at K7H_eQvVNlle=<wek;jLsWmU(ZkReV66$(rmA9pl!IkdFkRM5_5)p1-1`<z
+z2fk?J2(S1}n84Rc{Q5UX)_DYA>Ch^qMDw?m#+P|0xlk(}t$ahce_Lt%W@^?6Q32nK
+zKeRvq{6s**7qDq)-ZhCBm;I$^TWN-P|H>=Z=xRF;qDC*F4by2*g9*McguAxBlZ#A&
+zej)peiPby;=N_W4MJE2Ce5-$c|A)d88U2Ssu5SH at 62%u8f+*SxiYSA1Fd&NT6ZJhZ
+z0V?>pLbxbdYad985n9Lg;yQvkkL?}IuVw+23p8BEul7*>%A&5t-TXm+y=lKv1d}gA
+z9-r$6Oj8=cK^r*S at Yve}2j*NMRg|E$`L7%O(|%lg$gSYBR*mg9$j$nAV6MbYLS1!l
+zpxDH{0Zc;;Wp)htJTU9^yLR5|1{U<^YdqB_;MS3 at 5F>WKwE}p(Tc4||?)ith!Ew_8
+zy}19mX3LnN9ymCXWkfDcK at N@%6mBX|Zr~H at 939jQt(;Lv<|N3;9PiQ1;ryk>4I{`W
+z{-G at 9&cH!drByNt%p8L#!hM~&#lO at S!(ejgMkB+$Uq9FPmzp+=%^dz)cp5!d at t0Cx
+zjv^oWTX<G6m-Ls?T#m^cgs2~T<a54%sgb2n@&Sm-+Y_6!_)85gMP~Lvl<D5hoa$ey
+zS3I1&7ow>5r04klQeEOvncaWAe&)}S|E1c*W5_ at K_4@gK4)rh9Bp#aC2~j~mr{?x;
+zp#e3D2a|UIs at HS>`Q9!cnA9=baTA6rXu1r&DO%m3Nj+J>o~wc68MB7n>;_<^ezcuq
+zxov_Ccz<Bgb}kyqky%xlp;tn6`t9!w8X-@|Q+~IFzoOArK~HeFg$Ms^`DX9~Ir;ka
+z$z!!t&>*hU?H}S|==h-v-T4H)HwP^S(~A4Qoih6m6nOt%=$)47U(Ur+kOZ<*kSZRq
+zt_Dp>QiGqPMSy&1c^!$>d?8=L4}#=sUVl-BAX0HF)WSP8vUm3lAde7+m~N&@sPxBu
+z<&5t(P^m;sw{^u|HzKQk%)dyA$f|;~J!GDFgx%yE>%DSnJ~fWpSOn)>Gjpx+R%Lil
+zW-&EpLnTH~G)$=a<XLYQu69A!m at Wa5h`%h_>nf=nJZ$ao6O&I^CgQBxkB7oSSy28|
+zD})kLKB&O|(PIju_ECT#`4E at mFZcX_b$b(QJ#Go3V at CO1Z5}#Dkz9(u(DMaG?X6ct
+z&FnIdwZ_e=OF-P>6FN!q3?7bSP}5C}!=e)sR;h1N at K%SJT1K~m)3C<|CYe{JOI&Xf
+z9U(Z$#}c(z{Y)0Vy#SMQ&?}~X;R1dEMzCC$fV0Ifbdro89!^63(nKW;hoxIipp>(=
+zrymxd|3RC0*<>nWWzrEQ=Q&qS?dNiWWhVAogFvdqB9wr#p){O&v8B5S at 0&JCg8j?P
+zC-$cN?IHX0->{`fA~har^q5Y|5>*px5zMf>)t1?b0RLmMN}YR-O<_JeVYcO=WVDh{
+zyZsfCP)15YF^M;U4l}uTJQbfAN1jxn8An2i<({l|vCE$9kC~|U at S#La7Xe%419ubM
+zIvUOdTuT(WyxFKO1^!e5Vnq`kBpMq{VI-Qs*K)=(VoLJHBLQMN_rYIdCm1+?ba`iY
+zg?ojH2NHxW4=;2?^&Mr9FcV*r$&rN}IumP*PHb`hc;%Db6F&4-Jd9vq{fbOZTj*3M
+zN|1Ybi!<*>?zl<suRkC&gXfD&qqG4EwWUCsG4Us;hD`#EO69nTOsEX7pl$|29Y-LH
+zpaa6`-ZLP~*akv^Ss)D0141$V0TUM)%NK=7(vH^IpTbYLebH!e2Tw_&1PP|BIDee#
+z0aDr&kZL#QfZY5B$T<~2I{#JnL&{Q!d~FZNo+e1S3 at Pm)l2H|qbv%&gFr*|0p6sIb
+z+-PfgYxHKEMUL;eh#yi4kOULVcmmPTugiOK)5~WhQH(V|d5AT%X01R!E60sxX7qv4
+z#TP41>T=){P7lOp3IoRGE7i=*1A>#Q4 at t;`uc>LI!i>y`w~r#p&dB}ZrQ3TroP69b
+zWN~+KJHtzB#r+5@%zdw^W4ca%MZ$G<)*fnPeHq{&l=-&$P%(S|D6)6l?LwB at O5~b)
+zJ^|Fb%;R<{6ub^IqLpvx;UJ`dWbc5C5pm}z5?6;3STPG;UdR&J0YAo3&TH!1$~D^C
+zJn7Fe*_{drHUma7ebU*TgGTKzMNc<9 at akqpz3q$07(OiD+aIW>!nf3sQ^L1-T4ZTS
+z3PQ3muGg}%LGvWc#rT}kuLV(kNlbf~I)?Ed#aJEGzURIEF)qA$kss6KUc1;D`<tl3
+zHDb{_?l)1Mg;imO>6kDz&G5jbj9hZ;*}EuK%Aes;F&k#S5GhQZZ}vwodvNf$CT4J3
+zZ}|%YcP&v94Y%-vJ2x4*0jFj0_;}O~AXWAf0aAiD*@G9t?J<KF^ibdz6S)d`!jQHW
+ztN6okz~VX%1X}8{af|CH=rRZj30b)UqEAs>^yS9i$B?H?p1d|2us9VRopU4+i at kLN
+zG))JfS<ogY9%ZGzjTzqdJg8aY_R4bEYl_OUdL+W0&tRVm2&4zX0BS-|iU at -Ik9kht
+zZZ!|!e%|){QX>sY?DpcK{7k&wE*(XF0lBBA_u5w<7F%uOjQ{uvRL|`fACrg;XN%D0
+zn_26InY)xv?Z$zr&?8TnWcoFg^C+fI2f&(^QfV*&8m<a*#nqC*_JR+T0UQu61r~bf
+zGmlBgv2%ri#V;*j at o=(kN<0R&9I_~=mgZ*GoXB~k79Zp`Ho!y*u4_YDrMb~==<l@<
+zB!<{bMCU9=N(uz|ak#x at sQ$=$^&zugFcVd0h@}3#sAMO($mjc~-*(iFeR_Yhc-8gr
+z?7B~{lAK*#6=zcZi93AqeoLNrX|9?4S|c&TU-)AeC3hdoUG3dKtB-789C=&(#;f_x
+zGxCf3GeWm*j0dh5@;7$G1vHG?wLSd1heaY~&g^&fgj%h2!cj2EclA{Z?I)hG>TvNv
+z4XYsBbvV(t+5MY`zivo{L^ATnVB}*OpBvnsq5F664p0hxYRBF6U;<%Kb4z?$gQ<&r
+zT7$+8-F13tNs>J2ZsC6qd{XXP4!lzC>hjSOkjw?hFcu}r0sk-RBY7_-X|70IzG=2_
+zTt0QKa2!p(Bf8TFOw|nC(J3?syxv`Zk{7&oMVB^$y!Z1zG-|=WY5jlGp~e5E6aP)4
+zmi?O^`8OR}`EME}@~`()AQ^1%OCZ^N-6fTLU!4n;eE&X}6caY`!FY`}JSS}zWppQV
+zmBU~%*gBArtX=_G3y{e&xKhc7ZvG3&ZvP9R?*0q){rndS-TxPoJ^U9!{q-- at cMMRL
+z2-L>oub at AqP`D3;dr&}y!tD$QzoBphg&ipTfWkK at OhaK53jI*%ghCStLiwkXF;U9C
+zaWre1l<R|@jd)Jxbj|>!72-LqvwlGrs#R(RNPhxdi2L9-(4GQqSqvDY<u8ED8h=W}
+zWaNTNxlM5}Ax)tE?J~NM)A>O#nP(}m(<ZV*ccMiC3EETW(!mzpNxK(>f(P5dWQx8!
+zU{H4ppgSSo0?A77!6Z{~0nW3x0MDsF4oFG}0Jn(*8p9($my8j$oCEe~`@v*FTcGb5
+z&LBG`1hQKhpaafopzlJ(pvM_gKsE-P{tMYJ126JHjhZH~gu6L-PS>f1pidc<m?Pk6
+z8>SH{npDLRDYInj5vlydcYsSM0bD!?X0agTM}ttKSHz7S`Zaxsl_<f2xla961t8;}
+z|1a`|E!BWjZhikUBhd at n>u3Orm>_)-E4WUtReuF0Mf?B10CxiR|9z+}`TXK4=l?D^
+zb85Y>w=^iCw;iohQT>|!JT1MPFNK@$x$U{RP3>2o&(r1=BniOFnHmyGLPBpyxRVNm
+zja)#;Zw7?deULB`2)QPKhTIGaI#7^@f)Er~pg;}<JSZT7uzv!D4Jgb);WHFkp-=&Z
+zY$(J-As7m-P_P1_&-FukIc&ntruG?aBf(>vP=_ZKmuUW91qLVu`o*A*%Aq-x^YL(#
+zKex3s7q0y}GAI%AzsND^inMs9z85?+YogQXBx!PxGFs2paypQVk7rjRCY=PF?a?T3
+zce0cNJBcSB+#$OrKxmo-Apiu0z9n=a8#!>q`0}9w4X6MP6=*{Rr9jrKj_x$A4 at VZV
+zVTXJlLNaVf77ApWQb6XM`(MjOLZKre1vb5NF1QzAdVq~Acn7w>a633=ZQ#KE4eO=W
+zl<Nu};5h#~z(wP6*9S-7;G9}cgEP&u8%&l)awZuw5(PXh<$xzoKJa`;1w7L<z-js)
+zwg0C~B1Yra+ae^IBwci;C at el+7;#CPaGcrt2)LR4LuQ15>w;r2<oG&p|BTY!B_HH+
+zs at wtBO6|x(a$}<4TC>ERYG9D0_XAdx_5gU)XdQYCNv;$;7scu1_6zvWI1boGW!MTE
+zniU8ictpqZD1hq-Zax^XP_|23KipVLD-ifYq!2{TLgWNQ{trr+x(zcYbI!E3v9?4>
+zNf$go6Vy0%tntb9#iV0JMO~6taWND3gD#Ox{36Y#Rs{VT!+=PrX8OVuR0n<mXwVp-
+zBp{p?GyzBv;<)SpI-3M&65^gfsKy$gc7WC|bwPKpgUNxJO)r?aq(U=hPMeQh0Ljn)
+zBIV<DX_K>%cWaZ2zE^~Vo|tdN>>vRiSN*?$A0MV-kxdvHg97isk}kx3R8aL_k=_}B
+zU`n5o6c!<QU+$-4?d>$$GFKP34`>@d^^Ps+${N!F86_S**xXdwFd*lPz_oB}8rB}u
+z4jBJaD?Y72v5hRKlFSNJ5^00$%wH;~=ZWuZAgAw;Q!{WncLEu3yg|7DkTZ$RK;=q+
+zv?xi(QW=`yhNUKcuwdq7q65a7O7N1df<$$#Kt-n9BBb}4QmUx*g&{yFjGXp=6_n`s
+zfT0ptU8W?+P&^eFYJ=5PEGZ~Lx(@?S!lgFxgQwK!q3-_oftdqrLPxuW4_GQn3Xo+S
+zWce8MUQ?<RScZTRD`J*_J`!pIGr9t(k5~U=7?}sp&h=(20^9%ZP)8l=6YL`m27P6a
+z8_K6%orxH#)F!M20+jna{vgM7ayS?GF0B)cG4&64DDS_3?)qH?uce`s{{X7W$h8Q&
+z at s}psOAhM-zMB- at hV)xyQdQMEy6Ehpy97CvDSt(?f}PF+jmcA^FM_XtY at G+lzNP`$
+zq6&~%0h#6P{~5;mAP)2YOh96#o5l27mZU4Y%c|++k2{^3Oe+xC{sEAf_JA}rzO2%g
+zY66+75D+|9L3;l&2!&xlQ{R~igmjQ_$qWczz2E6f at Ga^2l@#H?eWP1z<to^r8K?&2
+z=XJOPy39+TPmMks&aPf4g^H!!vdp84kQtS1Gfer at d7Fo=vA|F)F00J%_8fc)O><T5
+zlJ+XdW2&?j5+Tz@$TSKvWpD?kh?<b;PsmhF>CC9l!H%~hVsgRQ2NqmkbHUtiBmGO~
+z-i+LjGU5`PUR^HrM`2Z_8T|K*`Z(=~IwCX{sDSVz7ZARZKGL~2DYsHaoQu<?%O&y1
+zzsl5y|JqR2(fqVsiOaY2oVoC{WUh?pOYw^;O}T8Pb|nJe(o<%-(~^lYqKRVRDoye1
+zp*E#oKBdRZg(oG0Wkh4eq*a>y*-C9nlRl+K%ycIuU1dZg#g~<u?Ab%DN;N*E2h4 at X
+zB~4{SL&Xb~n)KO9txEAerF+bD$0gNeM1#dGm6{aULoG^<KBc?Ng}+MRWkmhO>6Mxf
+zvXxqtG<-_8ndyF&<dhNh7JF4{;${yuD{=XhZZa1hm86ytbr-*=)I`fxYE~lfDP3o#
+zJ1U7QBkC#^uGGBE8fsGd<z4!Nx$v+gyo{)$n6y&!JWHubY0|rNg_-WKB%q9_t at yGc
+zkBTqdu>Ssv)U#7D6YylhTc6tFlNt|4b5G7UsyB@!ElG?cQ+?WcywNf+!md at VUz5D}
+zI;?%<{4l1`-D#Fv&(ocv+a5xTMw`&`Tr#dR%9(m6SMXYyGn(StwZjK3+?-288d``m
+zLz8V9qf1Nh3x>JjlDoIE^A#q!KZ?tXZoMB^G)DCu52qF1egiN8{I`3dpK+bW_L0wV
+z#TqkwF+!VJ>|-&mHZr6!1`OVLn?Jt#E*(B<kn7z$JppTZ+W&$*AJLWJ$1|B~jxF+T
+zm4k>Sn&H*0M^Yl}TaDRH0{&RT- at T>v`VB~Y%n2 at oq{F)nxO{r^jGB+|(foA at DW99P
+zZR1}$=n_-bsOS|v{<vHzDqd^j_Um!Rl2ep#1l|RcI`MOMt`M5<un~DySh6yS_?s`;
+zle<Hk*vUuiJSd}9eJ3zp<>v4BO4&LSy5-_VCKwsxL)$E0^Q(A6P+!%b!m#IcNrJBG
+zf-bSr;rezM!kzky_L+km2)nuZW*91+`cw8d0f$mJhRt8`+x(gv7KPs)2EApRB|-Ym
+zF<bxg$$G2acH0s at ihpy*qHywI5E7FBG13Odz(U2^1^deO5Kfr!<#6=gSMXfrsd978
+zVmitJhd|9sh9d*GFpB_r&=AMKe8toSJ6gc#+pd%0(fzMa|FHK5vb|k79cJ5qzyhN&
+zwQZik at A7M|U%Vt)4z>B@^x^T~jnm84Gv^L$tkUoH7$Kdn_r7vmuusF1mx+TmI2s#Y
+zS{)fo7;Ombf2CFTZw_9(q+1RZ?md1fJ#n!S;})6pj)26yc?w_8PiV>hCgxCz-ta&a
+zCEMu0v~g^$H7+-$6&G<grFEX|tDv0u!N!3!{?!JB+fSqpY!ct*E&Odip-=V(gYJ)~
+zIDV4`t#bTscv+qhrH-&6?q*Av+WCFf-eAOCk|gnJzCsaxdoV2-Lcxef9Q5gMj6x>s
+zjj#g-X}d at u{_=o}cuVSQ{zGK6*7@&jfxi`m1eST(UYB&#bVsOivH6v#-sts^-17O;
+zb$wK53l!>_HNIeb7&o}~Y|0l$u5%cZ`l)2}1!;kwP;lQH@?23`zGK^fOM^W8yMCEf
+zTdF^9UsZo#t32pHOMSzzOsn5_cNjTB)`1qiOo#tVhaTVP#LBWol=@g^wA|=~!K%fD
+z`WQaCXLPb<b*YFtzB2NM598X;=9kfF)NcP?(7X9i0n3M~BkUbqt>&iZSC8tH87%#q
+zgon9P7H1pEEb_m(ReI9D{oO#pcimC3b`;iNXnSFH#lbBteASq*CV2Hlqd3F&Cp=r<
+zV+bC`-sUu&|L_T?u>SSn_Vtg>7<TsCfo+rhr+?(H4t>w}?$H19&rW*SmtDo9BOu7*
+zARw^*Pd_`U?df2lW at 2aYuiu?ab~k>xLC|$rXTHNa{LWc1WAz>qZ4FMZBE}TG@#lAD
+zti#l`Jg>Wa5{wG0p0qP$Wo1M(Odu|LPl~<5E-Yk=<5$cr at Sbe{ZRi4CZ+z&z^@abV
+z_1(ncVdg<=>tV-XrpsOM?+k<hI~!jl`+yH?M?X+_KaH|Eh_%roa)hR&4WtaL!Z4~-
+zy2 at 5&FsdY*P*>|Qs-!){x+^dmAGaZ{x`hZ(w_&d0h6vEKp{`b7xKn=*br9$#2mx90
+zRmN_vkTr}$i6-<_!w`@Pb3j@(z&Moi!0YxVSPDDx3&ErE!C#fepp?77=)S?Al)WJC
+z9v~18JW>pK`q+nbl?NkR_JXW?i=ZRmNH&Dyu at A{A3x<*G1!?yzK}X<`YRH?%K95#K
+zFqUO6D7t?W_yrtEhoIy8g&diMWK&%ety*C`k-tFg<{<D3J+cj1rn-Kx>W<MVe}UXh
+zNpKr-WEIj$bq!m6gMmja8iJ+Hq^%04hUdZ4HTu;1G#-~e(8koRfG5Bg)Y+u!iFHIu
+z>EMirvt@<fUFumYlLvIdf at F7o$;}MyM(|Z)#}ra=^Cf9coL76sRwlv9M?L&X+#9w>
+z=j=<qzQlW7EHHynp8luhsig7}d$Tb7ip=Dy#OI2q&dcz(@B-TzZfl at U?R7^c8P(S}
+zt!~xtPuyJ(weVHFdB|)W``s#Dw`*2khaNMo!RqUtUNv|ca>@nQ8fZ<pYMRbke)M9H
+zdD50oTKv+wc7CCzs!q+m>$39TuI9PLiItwDGZl;QZ96?~BfiZ*iS$jQp|Stu^KCim
+z!<n1B`fs==qNWTlRRU;5F|*2ZPKeSHjs!h?^eYrflWcS}E1qRyrH=>=)U}>ly{&8g
+zVWX;9q4U#23t0{P%58B|rO;Pvfg|#-!ET>%_3-|*3<=~3t&unQd=*-Dix$&$kCfXg
+zYZ>h0f2v)!c{LXp8ajEC_2hoP`%hT@$&QJ=sd<;(Q8Ky>Ux(xa5jgK`GCQf`AjT}l
+zIEJ`slF6W;oOTrFxr(t&W+#~iF&~RO8;wWd5VyHi6lY}ZUX{~5p|vEQ^9;w)G!>z5
+z827oXxHm|S``MmYg(#*73^S0>t5$z5CD<c<bmaPpJ>B2}HeAog5L3+B*!w#&nyG46
+zr%gJG>vF+uM8mYy at JE>ePqfm^Fu!gsZ-s$aPh>GVR at S(fGoRHbm-*v%p-6Hw>nhD(
+z-|<TWKR<jbP};GN+F!Biygnf~XyO|g{Z7(0%PjfAw03~qPqEELZ!@mXosN}<YkfOm
+zYtE!;E^a`)?<k7Rc1-ZARecq*h)kzuHVcp3d1?|@a-py;u@$^E%Sz?hr$*em6N+zJ
+zAK8ualTA_tjL|pE*Ju_t*lJ<&E;(CLVZ92^uM8{5QYS`fHX at pN<D<?;U~AKrlWv7w
+zTalKeul&;w?S|oQF2PS=Jz2Kr_zk`va~C5v at hhJHJUVS^DCTjUTCdTZzo75WNZVPJ
+z2+OqL!xI{=3RV6v;M4jEwQs-%wohuaWGjd9^4LO*WA&ur<z_in!k at QmsOK)vQdHc{
+zJP$hgJJ#A92Ur~IRZ#aSEVuOZ!kEnTbzct<vlbhcK4Sb?jiZ6~jkOW`nX%?-lW%yH
+z#5*It3{H7s3XLgA5zO%rE4o$8BN@~Wx1E8-IXBtwEz3D=(;m8hrg at 83oIR_yNV?XT
+zn{V56^(2bnz^$I*-hv;osqCyav$NB>I8WytosswoqRFL3ZIA=iFU!`JV$JG6|LZp^
+zPf%5>7or%7k}P#|R{AHr?#rZlHq`iFz4Us{@^w^fKw=TrBAR5u%3B#!T%!_!EJ~jB
+zN!UcV&(P8_GnlVt$%o_j5wVOM^-ZR`^l2~K#AHv4v-g(cD{-uvM at cRFx#(U8=CcaK
+zegw7wF9YxVy5yR~RHi=V5>8-_zuj_>3OPH{uY9!PiA@*2LGPE4DVoj3aWNpC_ww=3
+zvv79Xszvl)!35p;*H at mLO7GMKv~1yKiT7MH7Nnv-GEVPvy<o*Jc0(+nLt>Lb!hFFz
+zp)`z=@KHY}S{UWQBvxSGN6nnfXPB(HGe|O-NXpjHUED8Nsx!V~x=eTl!d%k3loqI}
+zBh()1saj#Ud`UyHeU;z!Vu7|gh9A4Um_2X`{?Zuv3?oC$3Nu5}3Ohq_3*&VG8`1~3
+zt}%}tY&*{mY4M{$PS_YsFwzYpLv;%?LwXDQbuKoF*N#+Rg-d)Fe~X^6$Qfpa@(q&6
+zHeuk&tKzOdE+t*4E@@q%yi^VZg(&PrA0;SpuuiAg1C?JjcBzpPHYJ{8=*#sWA-gn7
+zM986hNhBaH&<He0gw3g%AxS6RpOe<bxHn}OILySsDYb?~l8#SY=!^7xfrC>H9mUB-
+zeFZC>XiixR$+Jb%IHQs<HKz>qeDY(LUyIxdf^}f9HhyYBUKi0QhQ4BQmyV0ViVZWS
+ziq`WL(ppsBQ7ocYYB>rqUH5cQSe;OD;~CWRN+r at NVbz}>rWU4mk)a~t&Y&{$a;$tY
+zL5!uKQ!jkmRqv7+ at HCd+0VQu>l}mo5#<IM`;efW=afZY$SY+<F+aacH`|v-1wI@)w
+zKM*BGKu7}L>pcI%SG&5?8wU#~7i$Y=Ei)%;2bcf&hIf7LZmg|y>HCI0&D?S+(Hl99
+zh at K~&J5hxjQ`QTcyqijuT8h|M0WCoV12Y`<+#9^SlW1>FcG{q~;eocB&g+~?#@))F
+zEv-YPKbhfsVq4-V*S8lppM*T$*#8;RUAkE^JLGsOZbmFu|0iUMGiD5F523AMWlIC$
+z`_&(;u9<)o#4yAsOc#YX6Nq})7oY8(efU`|fk+iHJcaNRu^4#_Ap=to+kt<DjPHU1
+zSslKDe|xz~d`^r*jC?^djE>kBfMU#V%x;XDgISFg&^(|bLBxr~`Jfs<4z26RtP!aJ
+z2^Ucu-3Rdk>xf2T-!>hs3vm$n9!ds=dQsZd(a#Ql7LWV>?epjpl+{Spgbu<h0s$uo
+zDToKCq9}s!6}u5%?~Wk%qgfGW#J2B9O|WX1gUAYd*CIms at fb1!>)9B4mwne%z(WKM
+zCJ%v!2tSw45PSmc1EeJIBuI>jjZutwjaiM6j0ufNjUPz-S^AF0bN)uxVMV9wC&Gqz
+zrwLLX0&F25mk4#`Gu15?#T5zHGJ>G)=wR5A&s<72UV!hPU_=MUTlFr5F5;0ni~t5_
+zPBw;j!zTz^$m|IE7)=T{yDA7ptH-7?*rp at OL~WtXZ&Z8nQV`ft;W at -F!Ee1%#{0|v
+zKq#1xPeNE9j{lwc7MYOD{ZRJ^`Bs>)|NHPv6`t`zphz6=H-vG7Ec6`9n0?eXL=S8S
+zgd at ZiY1V4Y0A>+Vw0ns6P at _<C?!{0C#>OB|Bhe$!BW?$?AnHE;W75xoh>&oXk~LT@
+zCxPaGW=yl<(^VL7g at 9N3>ha{w=B(bXO&4D^UcD<TwjNFs>J$AkOOF+q*!ux1p85#b
+z>ImDo7>E&wa1uPz9THrLRS$aPIMpmvy;I??vw%lb*upU_)fPg=f(Xa4nL&>Qkoe1*
+z!^5mS5EX2YH>^%kjcJh6%%YHtmGf}}*rH_vZ~|!bcImrD1K1Es+h75C&Zc+_yFDbR
+zr at eUJjvgZFZ2F)cvHLaQ1aOajIu>d~;AG!2ymmleQPb~^%5Zk at d?=ArS3{oHh}X3t
+z7O;<?){5uwWCgJ+I3NrG519gSF93D!%R9ErmyU-T^-KJ$UJPHZ##j)&k9x*LPijO@
+z9H$&+$Lxt`vtFb>w<L`T)k<RV%%@vSSFBHeD{m0}w2{9ko#(Rn*L=fkWjEQcw<Tgp
+z*7j=Op1AT`zL>I|))B8t=N?wgSHF4w!A6x$cbG5gWxCxsT(ZPcEWd$iG0PxH&6dZe
+zj*V^ptI?hP&j7`_0yp26-t^y0o<3i$bh|z)#<XcY|9JU%AhO;jzhAr6Znrn4NTmTs
+z+L2Ev)9y_HeN^W644V;tt0wgG4;ebaDb~Xbjm1-Cdy1JXTKgq2BUQTlY?)>0(@Dw(
+zs*3XsrB6sjKGaL at 9*%u|{q^>7`$w^MweidZYu%#yB9$IZU9Fc%$13t(%~^b6Go_-5
+zUucSpg*D3r3E!%{QL49^<#jcl^)YNL_*Rd|qxszT&D+}QnOmNz+K*aQJkqE%GfSL?
+zhk7YCY8AS7FZPCCvz*?M{%AQX`I?;gVz!FivS^lXMAd at S(q$o6g`eMqVnmUj<4x*9
+zyeY!<`B}Nk6=`K}&3 at V$Q~N6?RpnCH!=@*#b!W3Vqt;3lH_Kzr+!d-rtWy{(roPS%
+zG*g^BGvUN7p2cGCYqv&qa9 at w{+qmwUT9>*SDB<NdH`F_8v87pFxwSOc)lA*CGRYQi
+z?sW2;r>7O};LdgP at vvyy^YibNc at EOjD^#|WhTX}t+m3y-6qYMPw^;T&QKc#7Z`I!?
+z4Jfm6YhYDv99LzN74q0L7x|V_$Y9|>kX2kz7Ff4XXSZ`6qvAE1VX>dq5W|<mqGhX<
+zEHpu8o)(NKjlh8P7U?bGTVy!|IV3qmIpltXex!cHeq<ZO`v~_D-y^(7)I!igoI;pF
+z<Uw!^NDH7fey~E@^}36!OTSCB%ctve0BV3&7gIoJfEHpTLL?$i09^o)F_STgu at DuG
+z9^xw$UPSJIqyU`&O9|{8SRCrdv|tsQO6F#pLMQ8 at dPh~A;&c0%yDf_;jP7xr(NdMN
+z1ZCZ#6xSw|GmLVL=tIVQ;safO7!A_;WB%+{C+Z)<=0(4667a`<^h_Mhx1%sS(fcqk
+zFS at k(;se8+=;Wp%|I-G~h*2%OEXxy at 4_0&fRwpVS-t&*w{-OO~^-XkOvzdRq&a-2b
+z;agkRrq_q3HJ-Vn#S3kNn|=HOb8WqwiKEJPhL$HzAEx-Ls+%V_=|AxBSAFzM8Xe_t
+zocnI${B at JRw$#wMe!fz;i|;K#^TMFU at 2FbkAhGP@X^~*+=h-y+OXj}plXUtW=Dt}D
+zu1~*iVe3Ax72p0+aFE2JDG<iuggq-LOR<_>G{~ZV0(;(FuNVKc=^67ew(c_xiKb^P
+zSXi at R5g`t~1qxWRT(YRtZ<6!usjFl)+^v~e6LCWy?`Z4MIukt@)(@roQdq6M$+Y+Q
+z1opP at rAgW;W0Zo04<|EQ=!T{uMi$l0=S(@O?a&b)_(;Xuq3?gx(_Z2wHRGtKeaIX7
+zj$Ok2o3NC&*#e)sP at UzoaVqYK8Po4(y`h^&tQ+E#%FP at -ng=XRiC0SO8y#<zn;WN0
+z4z9L2f77_6UTFwNt=~Uj09Wk7BR53kn||@Q&Ydb@%|^LB-~DrXzE|~_bo(MuOc4><
+zdo(FD;dNVg-*C0jf6xA8*L@>&P5)g!F)_%8 at pEY0u0BRdWkB4n9lqwxOTN4h*fdU@
+zc~yY~zOg0XbyedmtBVPmBP>ikZ3*F|8Xi7|uUO?mHsP(gYwoRSO)s0CEwTywH5xxU
+zc;Hif at Bn+w>hjO)v*4k??>R39VEXU|40a86+$>4FN58-H^xvFT*F;kAyG`}<*PT{7
+z22jxd3He3ol}dykV{lr%X67~b>!H_NuGSY%ele9 at _Kb&LdJ5tO+fym%Vc02>c&!<y
+z)x&vViYBYfvi3F+7`iC)B_;Yz{nStR&WPCQSmu<QxFfu<9|q0JYpFD)u<WvYx0byL
+zX;szmS49r-kIKVRbtDiig==ahF<!Ukg)m+h=h+aDmc!*j-ZGLh=2d&eh36TgMZ$-+
+zR`3Z7ine74WLI%v8he~7G9pAc4>deYL&ELVc{ODOm`LgJn9V;;QeQUZapjTO#=th(
+zVbS+DxMbI4J)g+d=jqewIs`Fh=f28g%+7z6z^GezKZA8hgHcOn{0UP!vzJMdb)GJz
+z?364=lhxbpP;`~dZB&j?BHso^r3mpk-{kE&=}ATEw_E+M33_@=W5QR3xO97u98wuf
+zF$R1Hf)yDeiB(=unNGoGBK0!!w0PNwY6|kSWM4Pr$x^>XUoch0p>B|vBqZorW1}<m
+zFlL3-*uvQE*F1u;J*)|X70TYDufVUdBI1jfbB;)tc^#V<6~3?aQL`66Lx<W;PopmU
+z at y{1BPhP!&A!89)$kJ6V$XF;$+Gxy6YqY}evAm!u<*bs{e*7hqIxyZ=7HMJj9m>b-
+zBI|aA6(-LX1sPc8V?s<>tBBrr5o3h!;v>c$V49B$Q9C-<8WKN}F~z>nkDo(ZdUf(f
+z<_F`2X#54HPY1k%&?gYSgw>(0{RF*3LAw*NLvLE<Q%ZRHi=)Ck%Lf<S8dC at z`qLRW
+zOSCqAh(?dmNLN_;y3AI}WXNY*UrhhHBz=z5 at +>*1^1YbE>@epx+H<rP4LOMqbOIfU
+zQ=_$HA7!%;T4c{r7MZ;R8-|v0>}v70`ALu$*{^~Q;%+3|ZCaGi(HGg!0}kS0Is4qW
+zExONw4&LkJTv;HU1{9%N at NGYSj_jp}iy}si9_TjsDMx+-e?rZZdYem#=(LFp%}WXw
+z{pMK=!i`!C%6>w=#M7b4oJFU5+e|_aPCt^Nd&$M1i?QrnZmpwC9B#-=oH!9~qY9Cn
+z=4BvxDXO9F$4^Oc4DaOVuHTy|tHu4OJBD&2NiXT27`178Ogr(@iGLeM2>s*JG1PXZ
+zt-z%(rwti+Uh-M at ymZ+S_EXMskdKKbyqz9z`+72OBdhu+L`qN&_2mR7d_IZSN4nH2
+zk_cPZoM3Pw+16?%J55swzGc-7xTSt1nLSKDVPt`J8mf<Z`9UA`Qj<UUmi?u~-NfnB
+zd8|t%OG%?){t1(2(o>Fk+)KGiL|+yWiRI5~6P+6`CVr>i(#!_>#T5toCH|C at U*E~e
+zKfX8d^jO99C=)i))4bK~xqVHvm3v~FQ3-qG(DKaZ-Fe;*c?v(6VAMG7rH7hnkf?lg
+zicOAkX+JGq9EX5ud9O47)2uKv&8%20O~U}`gzY538P-sd=*SjU1}Be}E&YHSXZG$}
+zp(?Yx4Bzih&@JI=n6VTyOsLi67<gSR>21_Lq|eaydD(B5B{?_(GgC^vQ(PCvMvJ<{
+zq86tW+_YTxiYy&Pe(T$B8FuY|A8yL at Ms0MqYR<f3wJ&~E?C5zU!)_2!NS8!4X at G>8
+z#Xy^q>}5?`^y0;Cp`v|Yl(sU>pXo0O0`(uY?bYp2h~WHEhFLO?9y|J=hRP^2gvf9(
+zg!abkQLP^)yrQAS4LXqeLB%*tM0os%b^+s$CZS!3jFm3+`Ym*2NN6X6C_G-x7^nD=
+z0JW4{*G@)K1LE$nK1400(0-)hU<qBuY#HVmI|D?f>nn48NxKj(7&F{K?dJ|rH?RB&
+z{2AZzQ{%3&$dHl0((g5KEe!A3WhMw~#v~Z{rNj24x=yZl(hHZ!alM<0AZ#XBmh2fG
+z!LL|t1b);-3<-*BN^`4+KA5+72f=s2 at +)^MPfwpPJ?(X+ at AEF3*Cl(y%|hH3p_D8c
+zWKpdb-E{0BZV>9z@?x=-Uhu7CY_*TDo_J>JmMHm2z at KhU3ISKcF4fG3j#><ld{^6|
+zBpEzIo$m)9v_(t0FMY}pF|wM-ydrklVz}3G!Wn!p-EP)|7ff+5o)h+vYkQR_n8NT=
+zPM9wDHo>BZTno>3JT;maq2&aP2AUXmykxA3$pnq-JumYI!4yJilCje~+XYM1wQ-UR
+zeKO_*!D_n<)HwIN)>+ZSY6B%>Mf-E)vy3NbIJmdt#Q<#w=xoW@>vxi|WabkzM!@|I
+z@#&zu;%Q9$;rnfJnq39mb~7PSF8wKtcWTxJZECBG?-I$_-l$8q*8F5i3aiql=+N}M
+zP}*oFlRVkhWggeLmo5+fQT3E1>3{oh<9?MjK*AgAS9lC*l>gBfT1<#uCJmjC25-&}
+z<ityLJBLf2`1I#^id#*H8u7f!^5=RL;YRu)m_P|r9V^?4f}wC-Ga^hA>4lQIGSh_S
+zr47?fePT$mW`5zlX-za+Ch3ofxi5w|*(?f at xiytZDhi`!HR)}cv_2;8yim$a)~qVb
+zC at p0Ds`-HDPLw6pKMR*`uc(r%^gDt{(uc?8$Cemn*AKc&?_rgBrF0WE6UjM6%20&H
+zw^3`TnY{BON+wn^c}GCRKbTY9GQjkjzOtZ=q=mNS*8cbbJfTr4 at jI3(;dnjuJ7%`z
+zM(H at 2lH?(g$MQ>sdz~VBDpzcC92XJ<XVpf$U4D)tdk?=^cTQ}*aOK;tT9Uc4y|-Yb
+zC3j_eYONm3ef-(mxTAMHpcmU(o%(TTTXxYCi7Cp09lXiYFzZViUSD)of9<rUx?yGK
+zM2^wm>BWJdMeC-pZ1&0@#gPWrE;S#r*$p>~v3;qw{1khf at urUSr}IAy#L4G<Y(H+S
+zPG?AXdXP8Civ5Q+dPy}uJ8$yo)V9^D)4HLkt(Ye<_t%VNes~ebH=)YWHk1-{9;RQa
+zdCjG5q!jF2C-BA^B`myRWO^Esou9k<aC;Rlizn}U>fk~tMt0LW7I!NwU7Gs%-RMYM
+zuPX0_C+Rg3j$b at lrwqqoZi-P+iV=twL3<WK*MXSF^7I(Y;;g^)INrZuWV#9}O#Bf{
+zWJ^<^=R@@z{JHKov&$n=_Ft>1EFw~V632QYQR}7|aVA)(*UH%E6`@)Fkg0D$n&~Tx
+zikmG**_>Cj&g=GJ=7#gSh>BRfzJj>wQ{>N=Av&*j&=bz;xo=0=vs(xoxwPepOS4Hz
+z&8pikIqj<Yt&<p*gLaPXEQdu#lHF&7uY!Zrx}=T~aOZwc=yk;QA0zW73u5UXOS3!1
+zDf{%&iEk2yr8;DDu8Lc9`}T)i@!UV)P-z;U;rHMFLKkwOk4YZVoGZ;Ka4L}c=*#9?
+z7lQ|sd1aB4H+}?rsx)*(SDr2x0;Vl at qAKW{*mt2B2c6+lH<vwGM%lk_he?<cbT6tb
+z3a$k>HE&0w68%|dHaer at kC#6w{5do&P(bbW$D@(mWxxK-rFnZr!gLo5G!JPumPZx-
+zXc!fC$0BV%z8(y%KB9Rz#48&@$wUD2TbF7+$|qC9_uKGuUAkI5Gwk+PZ(e!xiMfTU
+zKp$Vm8tv()lv<*W#F|B}gM1&&EHCQ<pM;m~#F`y7*~ihp8J91zj-x3Vm$_n&$?F)G
+ze~ApaljZpgWHUW^t?t((uo1?>_{4{KBP>PJPf+#Gs!k%Mq5PlKvqVb2<m2IcLmaJX
+z$HNU8e)F-3lm at DQ3bLrZa5vt2MKUs1$A(k8acRUb$Qo(H{Eqb_#Ou8!9FIdhro>{Q
+z6%Xy((8Xe*8`^M4abnukDr-U~gbPNXFjFAlJz&`W^n*b7u7CIXkuu(cr#a}6?`<ml
+zQIYSVCOr2GPWbbH?u1-vbD1&i at HzLL$>-~?gg^0g&LMQpiF7CTl{c-DM>tqXlD3No
+z?m1d>?41f37sp12f<NOync`3OPj~ve8LW$+3Oo>B)Vp}g^`&Dn>SI-M{JE-Wfv*;^
+z^)j#Ag6 at FAm6~ONB5HSINc?#rAhF~YQgqPL4R)Kt{aBBCI`XLYSeW1X%4#g=evCPX
+z+2#1k{w|%5sXPpnRKrU?vB+gGdSL4Fe0yN$(`^Pt`O2v=&IW3jx}o}T&wwc%hh9~(
+zn;TboDqiXjZ;};x;uT#IV_&}qomI%!@wi6=Hg03Tq?_a3V>iNEo9{$$uvILa>;p at Z
+z-C?QBk;hmnjijqP+}*<j59BWdyQ}0-THLe^8zKzlria75NHnVKVeP_shKtNzt}_1u
+zW!p0qdAf}eOD0ipcUqd=3JaO`_aqvJL~_$2nFMEFx$>6&M8SWXf35tj{k77az;^aq
+z*TPwmUh5L9+~ClLj&4r2JV#Hl29 at ZWYV`K85n8AZjP;sO6T35Ly1U1w_tzaaBd4@}
+zzQQ8g?Gx+q_j3b(|G0}y-O^{Ci?}QtPFr`rEWVi%-p~GOeV3tjB__Q8d-vmV+0-pg
+z=K10F$K|RizfQHQ-!2RO<x{thGS8Qpkd<3f4V3D<;jOFel#a)#qn_e=nGXYIJg1CZ
+z4aqCUwD552_L{t<$S7((&@MgEx&!0cS>7f)DDZ at RbW(T}``N9M_(gudd~B7TXr$tD
+zcflL8FJ&=HtcMF#o;xo%41N~cwx at 93xx8PSQH{|R5L)`_a%=bXkNf+vPB!7YhVAQC
+zovmzf;dXa`w6>PrGW~z=Tze~QEwg9(k8fXl8*VLAWcpWaUw<n*IpoXqM|Zg;UzuOM
+z$*>Ch9Zu*bHT!JY)Z{rUYh<WJO*QKc{G*G>^Ggluo$guykeNnERZPBeV%5oMrSb)K
+zmn#xks^)Uql7>EaC9)jN=d=|MeXh(n@?{x;^#-S_JGgG^7lR5#Hm9e^^rGRw+Ey{j
+zokIhk+5A^lZ5l6kq1Q42&+n&3aRrtT-`B%T3!F(LX-ecq*44CJK^wZaeSw;lH`2wE
+zNOD1Afwq)0()Gb6UwlCI9YeLMXtdpr=dbUFh3KVR9u8A)4_qFOUmjM;-P`8Q3!?c!
+zrtz6T$415!{Wf-CPyM2u3w%ZX(xowZ_NZqxJ4#qSjcb-`P_U0{SwSd0T5dotzt1th
+zrr$T|SNqlPevYi1o%3?;R?jgmWl_r1_KMI=8QVIcsRg^Sx+Ttsm*YI+n6#s1!M>xd
+z!A7aAy at i{Gjvtzzp7T9Po*Eg)ZuuaOwdAC?s6-aJIOck~cV3>KcXbl85V!LRV at 8NO
+zcRyw<uO#LqlHKJs^W}6+v*2!1yGOX0_b>34p1xv{EXK5LkNSeinyPivfxv`{nBYP)
+z@;lbd!;6Mfq=CsV`)cw#-fB;G2#U9VHPpF#<U1=|$ZZWCy&qes%^EYGm)W|mmD{2&
+z?9keAOSQej{?Gpy;Yxj!;em{RaDj$^!293*V}zWwhlRPWwYkeH9eZo=?n?_<`+wem
+z`OkYUleATxrxfsgX@(uw!;MisBh^UHq5epHJ at Pw6+U-3nqLvyX6?XlH;h`_aEOg3D
+z&vA1jX#9hC(Ak9~U`Bm`lwEi8KWoKkW>#<%Vcth7?qyf)2Le2|*W&|E5ypO4Qh4f*
+z^mNe$Cl8x8Q-3c*tIVbE7>k%YBinSk2z~s`&O6o=?U at yE>KPJ8mKiadz}J1%*4=NC
+zWnNEW+H!Qto{AYyJd{r1*?Z%GXtd*+F8ZSWgSc$D-1gipvdD2rHriR!zAMQXZ#P`W
+zz+EcEp=HK!CH`}n^3nr$N-z8Gw_ at +UV<aS!>Y%yF=lM;cxnAo{t2c_{z3848#@3n^
+zbKY+3iesr_oBm0iU?=`gh%cu?Bh`-6++&5Ccu~-%puYP7&**!U;9Aa-Q>2tPlR0 at +
+zGY-u=yhLd#6XZ<2)%TywuOO{ZoGAoqHs3B=|CID$IW?e|Df)_1&5B<uaCjPia%4Eq
+z+cr+wcXHrW^@yWkfBQjWiM!ldl*gjC&wF`;j at JWf-b=rG2EOYA-zhHsG5JYGhtA8L
+zcJI%X35U}~0z-_2&(jU7kni;8tGf5C9KQ78tK2^^ecq*q8%ghXe~i{XRWIl>=gD16
+z@@j7->T&`3{65;(*>yTzVZ)rUswtOeJ?qb64%q45wOe0_Jr>T)6hz54dqanC>F9;+
+z=_Pb8thd^HBlkT*57GS7C28~c+#87vmzu$)V4VocoOanwK2$!USLDf<viI_2ZUu4U
+z1mcN4bxTUT2;-EB>n5cmjXtMz5Tt8XYL)YDI7Yi{K%$64eWKJgNh^tH>4+k~(;7gc
+zY?5p}`#UHtku!-l7q3XcfX6y|xFf_hs{G!@Q^xJqQ(0}&!aU{ev|^Ff;;R)L)HjSC
+z(w`n--3pE-cL}`XRrU_lrkF(i^wp@)eel3sh~+suZF59njviJ-VO%Z7Plj5TQqjQo
+z%QP2-Vkl2!Ii-#i6O&fb3y9Ol+WI6c_Qag3i1ZAR^ozTjJ6O015W+a=5JPo7S$onI
+zB~jZAJ<xhl_ygNq`CFmP#U~thZ}0{Jr&GqxT~j7B<sDNd1J>(|T~o!-5OyATQF-Ik
+zqXG-J|A(;ejB2Wh+I>ZoUJbpMKtczRUX-2$5JHzGO$1bmC>^9j=%IIkgf2~x4$`D4
+zNB~iKQy at r{Uhm=ie%!V0pSu>!+56dh%9%4WnLV at 5929a#-dYDR93B~vKPmUOx(LNI
+z34&7pX8tNV8&`H7wNbG9`#Zg}zhj?wR7<Nx<tn#BwPt<xo8(T;MC?-Af#}8m)03yW
+zcRe5>|NZxv;MV`wW9a{GEB<c}_Rsb51{ob3ACJ7Ct!w=S9A>TpX(bU(A*A)CqX8La
+z+4jUo5p#1!wVPD_Y_)xaVxvy6eWX@{>zeo5p at 0ScQ(QZ58~q0~LZ55d{DZ$Ev(3jN
+zm$R?`G at KcY^3z7k?N}?*NJ at hIsJzWD)NJSRGPC(nJr^!CuO51XDarO4!gW?^h&hDu
+ztdae at V^xvMyHZMLjdu&^ZAiPx!@QPjSQh3iqo}!3xaw8b!@m>R{MT(o?8if{!5AV2
+zvQZ8L6VEKyI8t{rhBXsQbG>+Y!esN96~8CCIZPu!J<Yj at o#cphBkqO~^Yi3{yh}F^
+zlIvz7zUGqbE$HG>NZ6$%xYF-&A<m}$#Qj&rn_(#+EP<v&?Sy$rGc1UDIsFeUNtmPx
+ziHctsCGjQoT~2Z}#xOBj8}e>(Vg|0>lCQECbZcB7E>F$%IJY;f{{B;=T!x(Wk4n{L
+z{<{^_*U4bR-YpjvM=Zab*t^5GHwPRy6SMN2*xJSL-FITH at bC9-UDxSz5Vq}Vcz=Ul
+zxD9E3cEym=ND$Mg+zXQk^8f^(tB0hn%GjW%j0E$Z_$ZkdUlwLAG+93_775EdHJ9V^
+zr;hw^GW{c9rG|pzrMwX3%--0MD)qs*AN98C=kvKM&h8#!GV0yCjmi<bgx&D4N#aqi
+z#l;ua9Fc6^_vPJcycV~1J`c`}F&02o5QMCIYymW9Jb%M$q`URPE~(uJ-Y&LpMVS}Q
+zM5ouj)@Oa&j at qSHnZ+yA)4Fzz$XvuFT*Zl|3yru)=?A;nuzn}3+vZo+M{$U#uaNHQ
+zf3G1*zt8-q?E&%gzJJxKpMOhmP<Y?!_(aXHtm0o^Do2^HTx9ugWmg(_;AAQ$gccmv
+zx|$DJt{H$Q9!AYAsro$nJBtk`LDl!UbI!jpHK1Ff&#9`m6^m%TH~ej;vEk`{OngXu
+z^6&5)%|7u<nq3KeKex6 at 2I?Jyp)$)Y6aU*)ClL(PKe!hYq}ot5Ot*5)duE8&lbDqr
+zo)9ky5?=g^m?QSSLqX9r^xgKJ5wT1<NzQODBy5bhpW7m;hUHf0()U%iC#{>o-^rG;
+zWV}zR at -?5we5YG_NO*CJgJL|0$>w&qF5!g+?SfWeA0J1wDow`^;-C&1W}6~g!ixlr
+z=WcPk+$;qP&%;cni9b{^b|%5O7p0NwuaVDd%bpQ?CqXSbp%<@6JJXos-$`dMGeqi~
+z+|IsM`>bj1Ci%%zEhF5GvOALaWZPJB=flbKnI+<r=jR2)>xfT9qQ9>G>sBTHM?=s3
+ze$O?C)rPK{nUFP(&AUQ=H_L0$@bAOU+9EmvITYJE<n3bJLh!t8{}nOOl5O{c_Ip7-
+zQ!d1=UvBjz_m~~h_bN6VGbo)&M{bthO8-9EWbujXh33!T;fE{*QW2edubU=l*;UxN
+zwjX{x at xwkB#hyT(m-g>`;TPR=C*ZKrI??Jks&7$eRHHv7zC+yPOOK_NAO>6_6XMa&
+z_gm#TJ-Zv;#W*EMeT9bw5;L-}#H-1W=-k<v?H at aoUTVAJeJ;w~7Pc$WeNN2y;O$kU
+zY6xEqS?&)J$zaRps;%Gayb8>xA5hrb?Pet;=WneKRpFTpS8myKX#3#xT}=EHc+BdP
+zwB|#{4z?iYbKWon^|pp- at VlwTOY<Cv1yug~!P}e=w>t#PXOxn`Y%|n>y~FAs=YBEY
+z((&Y%`<FXTvs?Z)Fk}ixaO>NPDT_7%PrYO5uC6Zcc{h%31^*RA{~~b$K5>e51!i5<
+zCWc3vE#fE5$24L!ykpaicCpj(J at srndq>GMA{wUgHB3t^Z59>|@?x=D87Mbdf~$2(
+za(?+wJQwe#VwYY!f(gD1=Xx*6yVrPGh3`V=i8Rob-W9E{KD(S!Q}n8SCU at 3nzBQhy
+zZuA^1TR)D>@s50#@JU-OBi2ozTRZGEjhoV^MeNH*jrDi<J;|!tKAdxs_XVluHxai_
+zq$Tfe^b_YVx@=K<uIGkT2cU}RITwj#J*BsWB)f&Znfz8Xl~hky7i8Et0)i8st?+z}
+zJ$hPYlAx at o%x*(KP#j0mq{Zx(B)NF@{PW?M9_k%eLBSmY5%k@!o6KiCi`-71qsHAp
+zz at XR9wfImbGAP=rqeEVWDlCb(XpchsJARY8g^M-VTChvHqpO5*8ZQp}(9hezo^Gx9
+zto-l{FP=7OmskNHfieVD!)HY_ at qPIM8ZtoESL=<$3tavQ9FGu{{r{OIki5FQBIcnM
+zYy6<h`e=d3Hzq=e;L7JVrD;#}iJ<bLrWk7KSnczP`2xeOek}X{{#j}$7LOnHP=DcC
+zG at ab6bq;eQxMF`+9#en35%n7Ldhs5$E>Mg42=4bZQcnk5AD+8>9(#WCC-3^*D?aZ_
+zLGoKip7%cIK+DgG61#KDWGD?mBcj?we=E6GI3w~UTP&HaaJL^Z<1;TC@}J>8Ya$1-
+zt>5YXc3aPfThBC5x;~2ZsQ(!ux(nSVX08Wcg(TGfTAq;dPpG~`B`9g0+{(X-*p=_*
+zAP(ZbFj~E|T)kYO4OgX9dbL~s(Xw0K`5O4R;pnq(Sqe_mz4t7+nS!Kx!KCj<R$;4>
+z9&)n7f&O6ua<&3K0)reZ?sBp-z}IvF<j_F at t7;xu0e&d~a(Fd#(3=U*^CQM{Px2r?
+z@}L*w*F%gQKg5$^9Z}-`AMCcqYcCFKOA`IR*_~R)*FR2JRaW-6%XFQpahp#&SK;OU
+zhF at Ru4@x$wp3%q3;#WIZ9=^xfGR{Y3{MtD_11I;2zgWZKa+Uo4ghik0eBsxj%9Zj_
+zxd^p;rkgMB{%0eZe*`b#aKW^4e_nO|BKBCUn;<NlIEI>@M<HYv(rrhaz at ren%iC>0
+zjG#{A7E<+Qwvp{74RfT<Q#XySA+>qX%^bEyou}!2Ye_w<fmoEQQq`NuMzLFvn1x!3
+zyA8FQC9T}Cldbd`IR)Ko%~p7ctE~FC75DbCbG`;a=sj#%5}z+swz+<<SUbnfw;*Qb
+zcj(@npHU&JCihh-E0JpRI}0rlZieK9!~}FgQbO|M#K-8zNr(aLs>HsNhir3*e}sRU
+z1+0qOB-v$PZD4JXVSr(<VHL3|x9{MgcuLwFJge0K?<kHn#~imDYbZzu-A_8fdI1kg
+zc<*0oxXZGStH(hTM%mZm(Yl5x!h3lqK@^oeDjFm0ebA(`_a&Cyg!k%TY=t>G=xp8n
+zQNhVayIyN~ehnVg+7pIeEhgNuH9Zf{)ucGQw^K^vhn~RIp*X=FM-<nxGKdFs{edy*
+zB->6hZIw<uOUpwywiw-eJj5Hl^B{RuS$qh~NmJAeO8N4f>&_eTC-5#C at h7mZCPrDP
+zjEII6>6iY}#1KI{LwJ{w_!Gn}D>D{olemUC)Rd_x7gQNPW<@I1TZ$&Q=%hsMzKo4W
+z?!J!IMeh2=jv%A1t%Sq(f=Qh*Vr)e*AgSmvBU1C;(gzbT8xaj@=-2*rk?>S;UoD$X
+zMn$aK4r4oJ_a|dJcK3ua08<Ja%>(Ub+2mIz>RlIA=dmMCEHtnqPbrMC{R>t{*pj1d
+z8SGr4+bni9AgZX^1kegYgqFMiQAh#OUn at 2MdlJQX4%>@m?7^H|F!oTKBlh~lDHE3w
+zcC3)T^nOOJJ{db6toN%}eWbr?>=@Gjb*wnD4f5p?@<J;%6nj#}XovN7id7|#gzupk
+zBVpq4+e^qczArS$3y)ZLWNfHE2ILy+o&xG*UwIDwlBuMD^6HcM;g$pH<XG{BUU7Z_
+z0>~E<<b_!*5IDr%!=5ZK-UEm8xT7&{#(c1H&M$*#cwdGPlyww}CbiAsE`xkAguRJ!
+zFUQFBW$=|vGme8Ng};!)-XyqZVSK-2K+CMepTWu>$Bu);?G(+CfKM;uNXmqj_y~GJ
+zNqi)2qK0uz%h@~jHTccb*nhm?A3ZuS-<3oYC&t7 at QVjji!0t3YwHRFj(WHruMJ&37
+zu}vG99+Hm0d+d_JEQze3WzCDMusLEYa9MU&1-OB at O#_+mZVHZv?#jW0?^LHxNVrvD
+z(n6)RoWb5jm>=(?Va|%)A2Cwz8ny67yT-6~%6Yyr>8=@Y15;aQn*ov|)C-2czxxUn
+zKr+u$mjBrgd`RZaA^R9d*=CJXI(dg7`%DDRy~Tm{gvwasZk^O%c-(?9^6$vNb0ikL
+z8&BM7F|EM~S}pP?r5L}E1XzpcNfU<X-D53Z;u8!eGWapfSEfk~M-+kpE7Dr<ZS;ID
+z0SCx5S>QB71$hI=Phv3%xARjEyxp*v!;25-1E)o2m^DFFQhi?M8t;d-9UquAMF;1`
+zW)}lE;C7QSPC8f=c4q9Bi`gNxPCKw%^o1?l?ofG^co49t0UNz-oqC|U=z`9p>JV{y
+zN#v^aWTq<{9Z2Ah!1;Da!_Iu%K4Pp18nw>o+$u2AAv3&}%uSYn$V<zYp(%M5?4;P~
+zia4|0WgA>S^*535Ra!`n%^N)i7p?ufJ!s!WbwltBhAsA^$Nrs0+aLG`3NR at K<-;^a
+z7uEpiINbh-pflyG-mc)_U!p)^K(?Uu=f7QZAh~m0iO7%zgvRI!6<U`4LSMqSBM=>%
+zSDg>O&vv1H!=(b;0&mgUrq`ea*%ferhjkEKV|2<INcgbP{y^rMhe>hd8m>`YJ%=9K
+z+*BT1-<#)QYVW{<|4IDhWMXwqPb80Te2wnfdz)wP)|M-p$@UZ}A>TzX=ub?KR!4Uo
+z{$YmwxmRN<A;Td8X0mV<5eBnoB+=$jnQ(&vNDv6B4B>7{7MuX3iy>U=2}g$fTjGXx
+zow~(g3HuiwB+;@4O#v#GO%l+qJ+E&V08B-Y#CN)gfMu?#!c!Jo+=T~?ks&KP9yh`M
+zO(1ZiWdy&`628%jOIbW={e<*j`Kb$cV{1A>))7{sX;~eo9>I-6*|4j!HTQm*!L0}@
+zuxbgf<5Jf5wp8AxqII5rNO?iDi2*R_y4I97ilany!sk5XKHyRU4<zzK&~MEhCcRLu
+zskSEyzU1`-{j{!I at 0|N at 5P!}L`8E8xec%zgop#o|?)B#`w0h^_5m%%Z{bd^qd|U9B
+z`DY-4yo`3;I>)Tr;PRQ*IpXNn?tg=Y9BxGLBO5nDS!5kqm;UPW!NT?yadZGkL8~qy
+zlnBUjGA^}}eM*(LqW_=XAbw9lyY6}Cw%Z`yT``1}-|S_-Cfs;tM<3nSv>2cESAG$Q
+z%b{Rg$MLQo=0u=i1s|ho-9xr0dxxax-s0DSp6PoPrdZw9O+i|CZSz7WkCkEY!^?aj
+zY*W>&JybpDPqEep%OVt6zUEb)^6J*()Q8s#k|Y9M8?^Pe9JTcB<ncYybSoyD-gboP
+zQRIo-`a&md9%8k~M7w?nz<!~QFfmF6^N{nd*Sw!kHbzn(E?oQ2UJ&Jp7G7Ty&|IF9
+zsfz_R0o#m(qV$iHmqln!iP{WRE>DMfCpI at dNDj|hR8-nKs#4s at Wi(X|T(<>C68@{^
+zt4`Y0+I>PIZq>XA=<WEDG_-$9)tmW6LF;_pqOYO|^t-6jkXAF5uMD%ow1ph68{sEH
+z-q~TkIj-q?Gd*mpxwN*d?q0Cco$FU54T`fo1y+xb;iXgK0klp*_aAd_xo)SIlAOF#
+z`v#0exT(uTHDCWf2v7Et8a0MsGG5%j4n1zg`50c at rhBdAkIg+AC*Qj#rIM5RLE2fi
+zZJr4TgUeHX%*N<qGP1b;7z!N+zQvm26x3um#2h+|sU+}!GIY=;nl7QZAc%P(bP}7g
+zvFC3*R2(9ReZkxWAA0t#0{eomNn_|)@F*;^BX13>J#$TlEWSLBK^{>w84n%2Y3FtD
+zy_$mE4+s!N+z$X2>oeIKO)zG%O^>oRHfJE;MhLA_pPe0BCqIknn!;KHT~k0^Njjjv
+z&;Gf>d>q}9Q|#tfr4T+rZZRpF=QHqE$sVyEU$v&>lWr$^1X#;sS^pU{B8CpH+l7Ch
+zUC$?Zyp-O7%l?VkR)kI+U3a8x9$p8hY&IPhNV?t%<o)(~u^*>E70CVJ;4o0&!;j#6
+zn6C1*g@;$DwU+MaLOObU<zMRR;kh-!YGza#J$3Z&!>W1k0?cY*=NP at faPes0m+cbb
+z(;gUzZnIKWMp*TiSo2m-{jOehMNb7 at c<oaSZoWC-KTTh42)GhH{nr)5Tiw56J*Z5v
+zopwRGt32ou)U3Hb{rCqWkmV<*j|GF3%KlEU?*4OzJbs_pg*;K8SZOQd{__Q^;MHqF
+zGO#rjJ?zeW=aiNJ- at 86!aNsxscIQk-RG3cYv6Y5^nCl)KLon5to=O_aV^wCj=<OS9
+zxOjG?Cg9f5rYF#Go2P7|bHP+V^PLWcc5B{6AeAw{T>`+Sw5QiMMbkf>{riS}=~ok8
+zuP(p;1a5v{ZYAgxv)MNc^Rq~>vYOt!u1-8+9Bqe}bsugvqyYzKYLt_9eL@<Me at Ygx
+zD6#S at QwiEKg3+D1REHYc%x}L*5y&yA2F9myjnGNt8!=NJqjmmv5qpy|73GadINf$<
+zn_O9UTkj^Hk*|LXVv_ACRhcjCU#QWUoF9;ia&@C&!NR{YExM74DU<Splfz^I#lTA}
+z>C{K*hjJ?&eJqekU;iUCUSyH8?91WWmhj}+H4);$bV6f-VGtQ*l5_oQ*V2jl+sCQQ
+zm#3GQXWTN{&SI|n5y|I>xT~vM$k0=?*ZYa}JvOcfWS^6ep?iHS;0H}qyBY|JDihb(
+ziTAm_L@<goubro5W5?3Q&Igxl+z-yKC{vja*5+-H|LDD&Cf3gtRh;YD5|Wt at cIJUJ
+zHfQDGEdcnWB_+6Di{U_Zz7}_9s>CbDb8O15&GS*vc3iqh(@6V0%&_Ys;YN99P@!j^
+z!q04o<)L>TuccRLGRC+wsBXe`{<lurbk`!NZ1Ok=HGyBq6=<MXEJH?~R!i&P#j5<q
+zu~n2gTyJ~>a`@g%=Q+aX?k at _JjUNZKOxUn5eM^(Oymr)*J}{rp#8F(vc%^yv`2UnQ
+zZz)jT8%cWQ8;~bBcX*h~&vSStXRU!>XyxqnoNX1GFb>o&6~!;>&76U4XxyBB5;qA=
+zL<IR{5L6M5e at -p1y7Ri5cCnn=F4XHyl)1xB7Bx?p*GtIfH(Xy#cFy#&7iOu8vb<EI
+zMsTg-FGy!W__AhMwb6|^THB|4uPCx_H- at hlx6i05x_B{elON8`(c!t8<kd#E=I-Hx
+zo1}Z&hFV2mP<$m5Z{6RfnjxSHn~vZhZ*cL3ObB`hMzK)rEa_FR+~F#=obRSCN^XQq
+zB-hJS-eM;?MEgkoB~_ruhwplquI)rqkKf-Jr1pxNH?X043VcOX)72 at eV8)#O=x!e6
+z`G3QzUl-cwA{<q|&bK?Nl84L>QM(Y%m%DM+$n~-%H1bW{J+c5kZuPG~>LWvUz&i$2
+z#Zwp6*wlFhR|K=GWt2S6&Tr~_=C17{3vDJU+OF*saxwp;BBq_%nVlETvUE4vrh4>0
+zvlP6waK&GY_z5Zy{{%UUev+Ng^+tFT*F5MIu4>eAd^dkYeLJ&JbuDOqgt{lA5#bm-
+zKf`rbd?%OMg>k-B4ty|A*0AQI-23oP!25ryJ3V@>T?yUy-X*BAStyY_CRCzm*gO^L
+z&CNdcks&$ZR$w}j$RYQq!$S_<c$4nxL^UTJzl?&09a}~*p^pPf*?v%Q{kb=v5RtFK
+z)(}W3?zA6BBJQ{!Nb!dFTsVi~;?)UH at 5RXZ_^wIRuY_YSZ~EQG-cq}+-jp at +3JfQr
+zy at a@#d$u`8_#U!%5xd=tf!u2RtF6?>&K(TP#@~)rW8DHJdgHRJsh5=|M9HiFL#fO*
+zoW^<5ZZSlf+=Ax9&o`*O1OoYbLxQaf|2ZqO6#DHUR4ad+2J6-Zkkmd~i{wh9zJT-&
+z<u1tdeqNC#sl8f}rWlJmb>P~5d+{t{pV|(+prAJOr;*rQ^KT>hnETlWmDq|vkv4{b
+zNK>|bLGo0tZJNs;ToHtwI#KfKoiC$Us5&j9&eb~uq8xZS1$yTS7r1)gFL{x>SFd}K
+zihG{qs(wAVz*9 at d2kJzfYjh$`7{5R0oh!0tv31+qREf<Dlved>FWU7BV|;j-=WD%m
+zOzM8VeM~8CzJI>16R{xOYr1+&Hg at Oy@-V)KgL*k)f`hS&;E2 at S98X2+KDD;<l96?p
+zeR4t5Rp)|hiR`mpyZGKQ#T3E$##XelQ14$H2YZKtubFN836D;o(EAJGW%dtZP1JZE
+zaVk8|UQ;=hy1s&3#o4Y#_F0Av-Y%^y;l6f2&P)7?g#pJ}_F2>SiGFOcQkD3jdt6z<
+zreOdiE9&|^5G(T}8(@aOK3ISugS|o?7CZ+J1{nqLvS<eo7AraH1hBrsuMit>^k<*R
+z%un>Q8gRVU4zRGpuiQ1 at sL&3mL>}tb=uc{P at fmU4StvV$oWKBvqgV-9tdx~?_WTvT
+z2wRq5T&yIZ9blMowqA`da!V{v=w1P`Jwq%Jl`Da6V<9g1BEw0|vEXtglt$?pB&!%-
+zw60>rp^nfA;MEQ|xPLgdFwqY&;3xu$<BVT%GvFx6Jd+un=)Y5}BqDL>o>`VK43x?d
+zzv64aA)R&BG&s?3Yrqks6CfmhSlc_%FJZtjtP at ZvaacP&(GTcUXPkLYPV~DJD at kRZ
+z{dB^wyfon00ZM<RHyLS*1_f2&i%!UlIQm-urvSV_s1tzE39#1*h$>6?KB1{;z`>>y
+zFp+sy3Y4v9LX*mXqg^N9K<aR8bV4)8faA7K0J-F$IFNH-v62|QO29gLs}J4%ndmUM
+zfDEsi{!^4kG(AP6!I}#itE|VtNb+9kyPs;n`;v$=Ju4olWqEsAn=Z1&&`(j;1i3!&
+zUMWQyPO5lsB69y3tiT}TOmAKQ>Zz#5vF`U?$+PT&a$gs=fjqTbokMqnnDDm^G)t+3
+z9z6<p3KbWBjLZ)`M&QYIZ^3MwGrbf2wUAARp=X~#wD{Y}>ZMe_RbX~UM27_kd<-~_
+ziDM#Cq)b`BNxKZlGXcR2d=rD}cQX2m5D8wjSq+y#2qa2R2x$L(jChj%Gad0{bcz(V
+zdFrbH7<zfB^&+*^DfM}cMnH_)c-7P&%=@x1JBeF|1#3HZV0I~yXL@}N#yH=3EAA;6
+z^KIxvWO>yg+PLqKwD}Q^k)=RMj8!GzDPh=|9$;d|2J3MQNrU6usqnXX*e8hY%9c`*
+zy8^W}^j=9U>QTV@>AZ*&xgY>YzE?7g+d|h1)HV)!0fz0lC2YkQvX_T(7fkWC#`y*+
+zCrZ9Dd#?nTl)S)sksQhSS{kEkC994%mZt1!xcz}bAS at 8fr08m$ya0$68qr;Cbokr<
+z^nkmky0JZZPLu5qE-r<bw0R1Y4BamUnA%4I0rRzb0kB#(sRp0M-v#b*QxrHv at +|v8
+z6F5ck3hV{gqvJuV?1SrXj2}yBX{2k>Vv@<@rGYAzJx7m$dwI<`nJke4yfM6?D-=MT
+z9`~Vx(IIEwu?_Y1o`XuNX<B~_!~~fD6H<W5(wPjSmQJn?cVh>hOj63C!ovVawie0A
+z?TN at bZMbJy6O)+;xct8?z+hAca>#8+p|$h{Ja$^@b9w#&mLe69L1QYi5b@~)RxLec
+zTI)uS=znzE8`5cwNR5z%qy at Ks>BBu?ZOJL?xaW at 0G3<<Uod(=9x{d6Y5!{oc(HJhK
+zA9D5%AAa_IWyTWz-nT&MK;}4w)=0m7U>;f6-%9n%1nvp_n4j`+tK|y0PbBlOu0>5+
+zudb!HDc#<Pivlh5N)>3bgD-0AjZXinQYKZF=NF*+a#--U$6o-IEjCzA%P3;@wZ1^<
+z`>1NbQ*MgG;J{mWRlr7U at svTa3Y&d>Q=pVW1f&0G38<S6;*l3z=t=B1Rd9@~2+%*=
+z2A%!>$2?Tb1I)vOHGTBtTR%ykSo^~hb_6 at WnPOEx!kDhld$5BnkJC&D+e`w)#@z$Q
+zV983UEL#+!b9k{$t-wQgD{clql+jK?&e}f=SU=B$=LulT-HMaOv4(Wt$f1){?pZ0X
+z?l{8Bt~$+V7unf?GMW<@g*YZU!rvnX9FrUo at 3LJ>sb=4*1^@<P9$|U!NczL{1JT5X
+zMw8*R>&SI=+V%5J(-6f)Fzxzvr=eQVl>|*J$F>KJ(G!!X(v}t^;n1&dG-LUl at Pm0~
+zysA&!dYt40(Ke<)$us)c*Q08^T^zVyjWHIRQmXc=SM=>4LT|<eUn-z8_aDC<lV<`d
+zD7UatSdXL0H5j-dH!7d%b>XPigdF~Yj_Y&q#L at 1%Fkd!BEhXNhqx=5`Bf;Gs6ca>0
+zT!04z^G#AaYhgfO5Z at ED!m^(nm#US+Ig+&!j#p?m4o|{vY(bb)`OqTNsa&~JEz35?
+z6M-$ex{z=xpV}M887Ay_K*s~!?wkS^ANu?wvKVnJh$SZz(&O;$FhMYVp(~|Q%mYk5
+zfiPg97^6KoAG7)dYJlBEr)+GR at jJ+gv<W$s=lwurT2WPNWge}uV8{`eS4Amh_&}qf
+zdc`(AhcjR6^k=42uU!*e;rE4{nj0~h9rHRk@`^jJK1z;XH>ziqk<JNxJ2-BHH4B7o
+zA*+--Rfml3Y^Qh#Jp=}^Ok%w1!j3#L{sC7hmC?!$thxOCG1g-8hzJ>fT7IqvScCz*
+zfJLa3<}u6B`WR!8dQgI_n(A>xR$X?jA*)t?G2krdM$&N>)>9 at pi^(rjIHdKCG!9PJ
+z(};sBU+a35w{@iF<c)Ihmh`V_4sIL=q1!%{<b$iXHW&sgP^U)wXMsV<ZRM8>;A-b1
+z!0tOdC|N!9JwxovSzYQ}@%Xe`T?0di)%o%DfFgS8?Gs=Kv6^~Hi|*fhclI5OOgI21
+z1m44|nsNHX{?p at V0a@_+l-gI*m<jn<X6eA#w|*cH>|1lgiD2{;cu~kqfUYHtSu4CM
+z8)djYZ3m%i8DWHli-bQ&Beg7Z=B8^Am^2jdG%ME at _)g{hZNQ`KGdga{Lcp!9ogNAN
+zHV9)?(&NoxeaBCA1rDy)u*j)%0SuDiPykE2(lqr%;BcoQN$RX)8qRWg`W9!*pgn^y
+zw~Vete`@jl`DhwHWU1+tusOBKyLEW&m3G8<3^Zbr7L9Vx)Mj90Dffgm8<!u*Ou$mB
+zdf)Q2B2q;VN1T4}R1xhXZa+k7mC8|)fMw8ML8F%ap9z0Ojm}!`YNfLG2P3ilj-qAV
+z3VkfRM&;~Bd_)MkGngxfN0ecK^+5zYmAx|n3r|=GL}Hy^WO)AQ`@4iQOBlUEejw{1
+zN+g0eTwT*3KWw>R3 at gw~;K`uSBCN(#LBCeq)x{%Z5m^=yB2GjvK9$)rSwYSD;Fv0v
+zIbbdl7RSEOgT1>#JrU`VGf~PdhgN_)8*;Jgu=6}P>xc&fmR&$lfAR`eV_}VCm9VT!
+zW-(VwH--7YZyts$+VMhr0 at J``Y)sYI<1~>Lc4hUJ^-V?fmiO1k#pn_^gHhBtCg$qO
+zbEACdS%l~0icgkjAN?KIV$aE)QS=i_yi#tCaKqWvXyOwiTSs{Ar;3jlUGSG*$dciM
+zHLcvLula&+rsGF>M$_et5DZ$m9oJ-7-N`X^WXbil?M5;8674>6qj-2D9VTr_(rMAM
+zvDp&RhSb0xKG3`|>)??FJI-u6?Jk}R!Co(;nk&65qpBubm3m`;WV6`1Mgg|kX at Zws
+zDc@$XUc%Y8f{s#imDviv#)u4BpT_XShWV|6w-3F-rmttq<eA%AJ?oFQe*{p>D{@IT
+zdbvhb&9sUdLghp!$W8-$ZWl1m6H!ow;|Kq+uu~p_M8$;2#S4z;ndl>bF8x-dT^9M`
+zC)s-i->Ic`A)a61dgau{ukzw*KaaeVAdj^3Zd%w+vqfPFBZvsuA-A{Ogo~5U$?Y2M
+z3mR{}iF<pMHV&n88v;FeJ^9H81^D$fm4?@&ELOw~Htmeg%B at m{s+Y(Uh8mHHn62M>
+z5B{7{t0n@=V*9UDODSI2Mfv0(JC}a>+n_hPy_q!r<M8h3vsFX#PCD5a&;LoO>rzbr
+z8F1R1p_Sd5{Dhw2E|GXC-^}CTJoy&g%3b2S^>ROVpv=)v+GAR<gF$wSZXqG3{1X*-
+zN!3=*K-r6Ph=-iBKdbEI%X~H6fSHmcgQX+0)rqD6cG)d#M^uhnqv&8Ycgg<N=0I7%
+zIiH8`gCG{!L)Qg$-8-|#t5iwj6&L*jWufO#4}qn?_#CUlPBq=?ENh+;_U*=jvZ!-K
+z59j5psGRa9Wu6j|?dpND*z at cQevfIEE5vquPQ28$x~^uZVv at ll6AoE6Fbj92S!aF}
+z>ofI^7}l!51)j?R8_;2LlIjkgL5;FK#9E79ow7nNkf%<@L(Dr+z at sT<cRZ=5JR(1u
+zb(`-3J<zp$`fI=@Z6jTSl6{nln<#V*vFg^i6q(dxS<InM`SE_I`>LDtwlttFcUhd&
+zv%Zn8PT8KdAmowJaQZtbbm(8UCgn%zPW9FA=O at BEk*!{xMyp~h`>*YlJTmA`>Fga=
+z-Aw*8#<OlKT}UPM2xKluc`#xx-zN1y at Qn$q8UdXG9*pXjl=l4t1?m6flX7{8_SQ_2
+zA0&m|I%rL_<cTy3wMP6<r!1;n5cbG;b3VrtssC%|(NQd`G1G;W{my_*%F%gZ0HBw%
+zknop7c9!n+_CRn_Pvyvhphwf at E)j4KazU;hZmTu$&7FI)U$-x~fV<eFieuFX3R)QG
+zf}EWLHN<>XGtdP+>)|0PTi at Z3t@Jn{Qll)Y33|G^NOwsy at YtPSI^;d{BnY4B at XF&m
+z=>p|4+5NKk;)iwxf1E&0SsFa|iNhnf?-R$7_xTplU=Eacv^ML-2G%RZAY(9_#7S8j
+zy>f$Y&hOu(g4eCGIVVnSsJnQH;vPr^|E0)sHla&#8Yatf>LD8{C=dC=Z2sBgj&RS~
+z%CXq*Acw_LTLHZu!_ts4txF`&I3m0_9i=V$K%(97g)h{>7y8l)Y6lUoPI-`$WkO1B
+zYXy~5`;*Gdl9gfN><qczKJoPc*}Q at MQ=I-J!^+vow=C5Mo5SU5Ro1NsFbx}6sXwXH
+z%+r}x&aS>?LkCEraRi%==o?@=^mqhG9IF4auI!7w0YkEmrH<5O){FA{!xP`W&)FML
+zCF>}DlQ@((kZPak|2}nqR31lM>WET^wM%|Kz*!Zi-_5j|o;koh9Y>sJSTWoBI+bo<
+z19U{U9DSWKHn2;@=||Glp6`|(jw5)qMdKvfC5H}h&;P;g$cZvd<bI0%IKXigr&B&?
+z_XM<ibVS)~e4TPOusi_e;JfjB9MPX)B?l<E|4EIPj+Jir4B5bv6sPL~35~VkU=c8Y
+zmTH&$b$|nnBT6z%vYcfm+i;RSp8w$Y$xAX#vYax2bUeoqAHNCa+Q^I_;LM8CM~vGE
+zX~J2{UmJ-$QY#3^tA>+slQt#VZg8WpG0-%T0 at Ichl?{n~4^ph)fFLyGPojxF#8Ssf
+zwZK!@hb<g;xN3pIvOv;aVf0#}+cH%)==Y6L*ckvQF>ML8-Oxp0TOn!N#d<A~ZRxff
+zN+_%k2!5PQr6;7QReM0)hx12aBcUnuiDW>K6a!6R=i<Pc`o`LBxTCQAkhDCEsV~ab
+ziKGvQL}493h{py(!X<i79x18T9tic};3%vS2vGq|`H?uPFQoXm_JAN92h7Y+*mOwR
+z4}D0xc2$X<Z}{xP+WI8h4I>nG3X*13V(JT&Ob3N+grrI73%x8homMHRPo34Mt<SY}
+zBI?5dg|-ACTn&WURSOP8PT9k8=c_~@I0u?T9}=J)s8VnMJ!R^{t$`5MdXNBEpnAc<
+zgHwt=Tq6jvpf3~vl;U<DE&+HqNMGnuyY_%A90x3ygW#RXL3)r&*cG5IeVRZ5j)MGt
+zbq_(U?;EfsUO-5Leeqroo)~XCSY)~nO+$kacR=uPdzwBZ4+?9G!h-scSt?M~G(CvJ
+zAd(dO4n&GgjD at 5z8wfopFm;C48fp|w#0r&|I_uU>gxHpW`;dYtENdS!&$bL;(JEyR
+zenr at p3HKr8NwG)vbm2&%I-WixKMFenLQH}X4?qY at NLmXLGKqczg3k?XgAj_4G+(69
+zVWBBrr*<OJwoJ4Ssf at y2f#AS+148)e3sDs6O=q)e*Va?@;iysA0ubUH3E9%5EYf4v
+z-F{r)`JWGGIF8tZw+{zFVaGslyMa(h3MF4ZQix5Z))NwrvsqmN!8H?CAZhU!Q#q9F
+z#&Z<b4q&jRa`7q~-X02lI1&)z9wbc{W16K^;7KbRt+HY7A<>5ep|A#!v|^-CF1$c8
+zE=RXOGE^Z>#feWg#&*LKh5ZFWIO+-I!fHL~`)~lW1~7<PPxe0CDG0%!CuFHr>q*mx
+z>jNRu0R~>+$>by3hob`_OpuUoT-Akoz<a3?wi`e at +JvN3@vk9;<{s91@`U4bR=<G|
+zje0_JKpYky`EVStVFf~X=?l&26nIkkh=$_=Ruxd#b7&g-dsAPaA910uK$cWMvwd&+
+zM60$w%GOD|561&SBp`(pHEIuJ`f&GvW{rd>sso+v3B0x*X!}km>~9c45NQ4ddcJ^<
+zN<lr!LZ`MKD3L4*vj#<5z1Q+h;&u{N$00zlO-P~@-;@DwyGl}hFt-zrI<5i)tJddj
+z*G)ROtB%VC!CduuUlwXjYbVu*b2|yD<D^iSEf7o|f_{tS-73`b&F0=<Lt(t2==mZo
+z-+b<k+b9eb6s=UKb(X=saSw%g3@}AnXF1#(WGIX%6x{(xvbZ-`P#9N$0VH|c8$>7!
+z2NWGx`0y<ABAj5uWM7&TvoNR(Nxb5{mPi6xcmE2<JuPbep*g-p&cYNwZQe&}8{Xp&
+zgHt%!)X|zrs|K9lK>|{YN}ZN~r?n?f+4paweIRuxs!;NdeuPi~WC#gLMS|{t)K&CB
+zNRT>6Jr0V>(gQufLIjE+&KmlLy8072g{61Y^%1B-W01Nms!%~)A7H_E^j+#G)b-6#
+zg>OM>TZ00mg_QQ1q=mZnj;KOsR3S5IA+TeEDtv+}ltUH10;$hIqkIz;fgq_JiaOH+
+z9bzGPP5p`d!sq{~k3A$U1on<W>V5_wiekugWZ`pSb-;73FaU}=DuOU;=u74lJ`X|_
+z-iDwkF`Ueg;(<UtzL=9)m0j(Tr<iP7$U61D9%*6EKo2x3p0i&c#0Jy%1gVdWfz<o;
+zKx_zoPu4qQd#m24!g~-DpB^YzOJ6dnaGe)b2m`6{CnrNu#Q><HFPU1nZip&$0;!Kf
+zqn;&}=!3ptAX)1Ao^tAAFGvgT58Q{MMhYQv*&*w!`xdCee-PA&w7zF>bRn4z$kM)W
+z-S(b(dIqFrLT$`}4<!PK!lMfXbwJ;ubN<L!I25lt-&dc?fVTY59((f)RV8g8Ii)>D
+z at eK7!(!eu0voKqSX3n;05;XQQVg?{>n#Mt6mJzK0Y1afO20TOk$%M8nXph}~hGLgA
+zI7rMaJOwBzgZj_fV=DL6W4?lfr3?<DG7B|zXcV7$&w|G8Meu(EDLNECkA at avBOIQg
+z^5S!zg$YU9)pzg4Mi)8iuzrwquOI3ibH1nPqRp!4xV-LjPg68Q#&@iD><MX6`oJ5I
+zrl_Xw_~Rc2tnDi9^}*fGc}@kw$6Qu7K^lPBjbv<Be^n?mt?gbPzWiLUZ%hhRv<1?X
+zhs3`{vTha1_+~G!v!RN-pz-rXV!rto at 0Qn9QAG)mc%@>Qv#{=UgZ=xcqETpk$9tJG
+z^zynOs;C-Z3S`dGme=J`MLW>=!1rQjNf*)G>yG;js3L0sD3UqLU0$cUr%A1!HG7y&
+z!UK%@%6##hh4qbdFT07k;m!SFG- at ez!OM_G?yHb^1r$&IG6d#s_|V-@%iU1TeIjbP
+zG-DZ}?w(Q%8PWr#>VX`fC^!^FfZ{ITBpr+jDHZ<}R#*yE*Jo1KzmF>PKo$N0sS87*
+zo}fQKqCD*LLP|p_F`Ujip9(mg0T*J3^J9HO^+yxIf3+S>ME})(WT^8)kNOQ)E0X$V
+z=vSYEpjr&54>|pipu<84UPpf-vanQCU0)ehcm+}in)O{IXp2rZwu4$fgHBb=1{4w1
+zUCF@>R|kFqFa^Lol$@LNqeK*BmhPdNjno#E$(W~x9wFI1>r;0>*?YgoJ^_AlQRn5{
+z_LL7)=JoWV>bbmrTtkZ at 4u+e|a at m6Ra++A~$KC5ZwHIUjgxC66exgWsXYIMj7*Dwy
+zNF8ljMXISU6m0}BPO!F8QvO;4I^E@$Ml#XLMoYX`#^Ip?FN2?Fe&URkS2mKF7c6&c
+z69)bhjF!CfE4udr4a18djrf<}D1>`ERp{aiQ%_zSE<LAdY%_AL5Hoy2)A+-<_d^_=
+zyNiqZ?6et8<I(bU0crm=f=+ke)<|Zs!f5F^tZ~E`_hA~|GHD8H6amPJRL_bA^s6 at j
+znO)GD>bYqHp7VWD at X5-!^g|<^^Cr)o&hqZD5SPo!#V0|6O;Qg at sr14PWOV3smpqMR
+z!b{4!p|i!LC2o-dtbNqb3l#uQFLxsiG7L93NfyZI4l-H-U6qgmALXHoUw#NBHC%#d
+z!1YT>OG+yQScNyFzQ9}9?7?%CX@!wM at f;d&JmB1MAYE$%ncF%`<dWg{zko&<4P-Pk
+zx|v)_*Zd7+*0Q^sXF($k#cqGHx|_Q|Bj3v1>M=8Ff*Wtqsh-*P4YRsZ+Mm#`3 at R}*
+zP~=4pP_Q!N_Lo^UEvYZFZ5(EFKi0jxk3G3(B-5u{(G9)o1L+1sb5fu=NCO#w7y#)K
+z8OY>nFHK~1Z#*L{X@#;1-+Pl}>}(Jos>@EQIjmt>4jj|C^!&7H*zDC7={_7*CXvxo
+z=VDU(b$U|h<6Da1O3Pshmnncf6#6KY?(pN))651Ivu9g;X=bgN0Be)kU=GG2t{aoC
+z^Cg@!hQQm;%<BD2>9?%X)LRoA#{Sd_O<xMd9Q`+3s5nsfoC;w5)71Sk9LDHtgr-$s
+zo46}(5Aop~#cm15gu1W4?1Ww)$qZ*JK2jRoe+GDon*MnK9nKN9%luek_UDD{aL$LP
+znI9cZ|NJ#elQjoaDh4KnUVn;k7|8=v*3AC=y^|*Em*g<=14s)2Na7s^te!E|9SW%)
+zkq#%me9BZ82ap28iS1t`?5jVL|6&1HzTv3$J_*}wQ@$7Xhr?dlWY&BTy7wv0q5IQE
+z?VprsBr}5&Hm#<7e_y7N_-RT^i_C);K6+T|$qZ3d{$&8ge at aNGtTb7+6WmNa=^gR~
+zD>c+vMUUP<uWz7k0P3g*pz2B?lVumd;nb5aL$AOc4Rz+xJC%Qpm;D4=Q%|}8D6k%Y
+z at +)VJmw{pH2AsSBKT4QIFMuny_Nagr>I;K9U;k^g5T99eC%6K>%ORMZdNMWi4E)x-
+zxw047GXVI~#yYd;yJ^F~B=&cm0?zSQCGYSvx|$cpT)?IFg)vXsH-Tr(m7q)@AUEr-
+zGcyAKhhLQs>z-U`@K!kUrc|c!$CxTr00WvseO6tpG1IW)1D;_sz6#l4`-Z2Pm1*{Z
+z(8+xT*|cv%A72>X8GdF22VO3A{#Ix9()6fYc-X4J?pMW;ke^Xsoe3L&6cIk5FG(iM
+z0JV$=xfp$`GkzfCGO12rN&0ta-?+h^ZP?<CU1r6$(Cf)ihbrH?uSTM2&G>H;CIO~@
+z%0-7Q4gukn(CY{99IEctwM|;Ba;7y;X9LW~uaimu9_COLQTKJSL+Et_$FKzjpuGf;
+z%EK0HpCwF)fEd8sci1A%HnU<3(2j7Zq6ElLvp>#4fJ(Q7NhA>2M(Fh$nc*jFTuB1&
+z+=X1;@B(ySov|juK=}TfSjkE3qMg|vyo^&he%srr9Pw`j;0OU?=AP*vyjogw)_{Zw
+zKd>zQ4hAGtm$Fnmr1LDZ0*Z{tCiWs7w$O3NtS|s_WCln_vkE3;@z$jz)L>F9IS1 at 8
+zo%fjE@#Bk0CL!}Te8a}M;BWPoIp6Ax)@oi%HY2Ont`*V><nkR#MV>O1lbJ=}xzh?-
+zOoxoZEx3P|KNLy*b9O9}{HMh*Kz3N$lIw$EfyJPN!E4iJc!9LcmMn+jDx1tQ7qe%0
+zIe^V`DE?FTb%H|Z{u`cQ?YUkF1L==nCxii3a2PSCF+Z}8^h)%qYnuSJ1Obo=&>5C6
+zIIjIVp#a3T-Y<X3k=XWWhG;O7w|eW1(y*T5R|!Kh-fD+^dbm~fnz|68;pY&tS+i0o
+z)z9!oJ6XXvbaur!ZAj6^p=>t!h5-AtU!|L#LK{;o_~=?BuO*vjhxD51j3b5=c~YMg
+z at 0)pG4Q*@tK5&~L!1N}w%w at d_{fhjlzU+DY)`@W8$fH6-{Hdv6s%fR0XwoKzHs;>8
+zgGakzxwC)xENANU&dU_IkV=yY7CHIV1z9%LvxzJt-KQv<s0(t1V+FDsG04<!d}R~=
+zI?MzbIOc5~@@9<%|E+#9%j9pI8&YUyGyXHUmEv4E)NF|?QojC_>f^Cvn#q4$bwil>
+z at E<Fk1_LC=697xPA<O|H8X)p-kjxw61_=iU>l-BXhPXlE0Ak?=$-N<NkWhe7zCn^F
+zoXy7avGg&|wi(JMSB@$s%Ihw5oQ=k=MH+l(uWBT8wjT?QuU?^_7=;BPKE(H5YuyC!
+z5AmX{SmT+=AmcBCTeT9pRr5nK&3Dt>;We?z$#TMeziVTYN9%N8W#j7I1RDi0q2WTq
+zhP*`w|1^x#%6<+>U at L_Trs1Lv+$G`maPE>+`?{oYqy#o;T%nlLqa{ZqX&h~Av-+Li
+zFKN=*`9(ukmKx=K=ISy!7lDtqI^QZy4Vvj(oL}{2Ju$5<PBX47OQmxeGOI0aqjM=2
+zGt|(nsBMVP$tnPr-wwXHxHRNUn+ca384s5Yp=92OdDcJC&8<u`aIE-k__86#86X)d
+zeoss~%T8)gw(_;f3I3V*hLU~LXsfGOnPKo4U<Exgus-b{C;<<Go{1^E*x^Sx?Mt3W
+znrRkl*#S4#r>kN}KR<QK`wXsnt71h*N1t%op&um2m5j5TqEeqRJ7Y7C8gSa at W=_R6
+z0MwNFY<huIgzf2_bjtb=1W)B6PD`*!a)?wU?o$ZD4qzV{yKOuLpdWyiEuhs9f`~Nh
+z!uEWK#nBjRIOWjk%1L-+xO!`v{l*l1 at W6>DjT`$`rs~R#!1>uYWG6XRKD@<|7|T0_
+z7$M}w%E3DI5-{MHYqJJS@`ool`-(KlzH)G`tpmE4S+_v~Hcmbcz~ntnNgvUU#+*)R
+zbXszAq`cpL5Wwb{o^TGz8<5faI68H4 at 4OH;UCk}J6Vvv(;c1dr9=*{1$P`?C{!Rqh
+z4W9(?B0oaZ=fO{E23ie)Na;6`JU$q%TG})r0seJ8pq2`#Ro$pPxKT3(;HeumUm)#o
+zlK at O{1M35@^bPzBfaeN<EX{AS$OhuRy2+9)LjKLG^*L;-SX=9xi1oRfLiycjSg#&L
+zeT~UsN1yYQ^sfdFY&`N2^YArfN9C}mohFUn-gg5OgrWe2 at T76OI*5m_9=)b+!Vpi=
+zc+dXx)q{5m^s<WF37Wc8gZBW1ef!me_X>2fiUJ7kl1PU#UB`9 at x$MKdAGGj!58;B<
+z55y)3R`jEU7Y(1Do{G~8_1ksrv;LLqKeJELsM4ipM!k4bmsB9raa<1`R(?6S?`mH6
+z;yW0Tk<RG?q4Q4X6pQ-&iLii+wkh>}Z9(+sQbHXH2ZDTB$@?i}FW}#2zpE at FL((FQ
+zfv at eXlKTW}k_eEe68O>9OV!gfCBOerko!4 at aEro-z?#-m%oFqz{XV(i<L6Yu$q43P
+zC`k)r3#kH3&!zO<&!qRj)bw*Sp(42=aC*+V!@BS;*CP&9>)<;iXG~{gtXg89#q^#k
+zgtU`~5_a(XoDl;~aSjO}S0$|CVHD6~>*`ppyhyUm`0PpuyqFQg$ItpyMsHCrgeD at 1
+zV4NmaB9`7e{%PzIXYd>`rBp1POxz-MFpij#E+ckPtY?WJfriy4svkerVqYc$Uxb7d
+zQS=jkRdcIck_k>A1{O0Jenu`5_7DcU5bH{6PxKuv^7ilsTN4A5Q2L+YPf<&tU~^)i
+zsnTVHKLzHXp9Kkl1x=F5M`Gh*f*m|KFrx28 at IJ+eSPpa-)nyj(@s1R?Out*zXLZ6g
+zrV)mW$VGyl at WOeno0lm*OFtdNc{}+Z-?q}Q5|P`|vUp?#1ukD{`u8>Eh_ozptaxrN
+z2rGWM?|i_ at 4~nufnnf+Lv^TEM(sY?`|JhiTpgWmQ#dDL?CY|~i_^ik at 7`)B71KL8-
+zdL?<qyj73(8}M6crQB8Wu<~!bHUC(Ndg0|esxMwFi>iB;cV+VZWjb2_V at M=hX(e%^
+zX_o28{*Qx;BW{QLbN_NH@$TM9)h&PS4)g!=V;!#-4OY?KKd3~&>3tsqcAY$Y6lRD_
+z5=VOh#>~UvhDoYe`K8np;V+W66*`(MdLvQycnL_Xxu<U8{PzAtRh8g)x+u6B;hjeH
+ziq|?0U;u-7Pl&@m)c=0o?@-sI>}4~hrp#H|(fzIutDkPv_`P~R`nx$Q3=?_vee~T0
+zHi*29sX7oH45Q0k$AeVMW(p@<r}_#pM9O^1(T;nIfM?2{5c@^W1$SOws5RQU at 1ysw
+z%YL>uJyjqgkm2!4*Uliva<sw;&#8ezGEop;P_*OzBCsgBr_Fwmd%=@87#f5Q>U-_8
+z>$;!sEkSj&^HcI~F=#c<TZQUJGR0nsQZXV?ByS>=eWQQeR}4nqJMLSPD1=%&d<tyz
+z<oybTO0bP?b&;FVj&64enK6&<biGUQj-ZOL2R+{F`eL8#ji!={bKHGurr=1Fo%DOp
+zg6#$S=wuhY0JzqEW236qczIJeDE at 0qb!)ER1dHt;Zp!@Yk7XC^mDKX)cH5`rO<JV<
+zUPFktUme`vGHd<eTaa}+9N4_+o0`j=w2wPE3yTF7k at nnko1WC^`p>m5#Qhafs=7B7
+z`WM<^{Cr3Kh at N9AdQ<g??&hL-#9-}}Oi9f#70FVn0YapGd9-X78Z(p4Dx_3J)|hbO
+zTOqH8ZXpyiM7JD#tmZw8W;##m;Uy8>zVYlurjt@~Ql;>2i_8*xV0dfg$Ktp(5lAne
+z1THExM&tvVc6=&E<N>P+y8z5`NH$i%0{vv{ir6EE_l*fYX;mLRfo(4uwBwB~uiQ4>
+zmw_$6oo0I+pN<iEnfp*T5hFqe?EV@?#)1(myf8fOXmHgYxNL*=K`=ZLZ at 6y=vn}5S
+zyh^}jt*4HOB{15RoNU+#8dDxJKKKi5=-_tOr<nIm*{;z33mBgEi|lGMkYVh<fq&pK
+z1T#Y-103Bt632i*8ufrzv1r3dHzuEE-ZxJFZmhs^-wahNFwBVBBzZ~;S>5U~xXD}A
+zI#|uW21lklyK=gwU_=5I)aHd?b1wsdP6*TtXJb+$0y$hi_h=ppGhzX{AW%WZJ6t<J
+z9Xy)X97)EAr~`eF6K3h_3%HU2wfZ36-xS?a;d85558dL~9A#12N?K#@<Zp<cPEgQL
+z5`kGx`-k`=(bJs@>LN*)qx*<K2lPbXA19Ay-iCa$M at l@fEyp~t2^@KzX|(DLb5{Ns
+z;jfFH9#weU!3l`0c&Bbez-rV at EMSHR#PR`Vh=526T at 8q`rv|2g+WWh}xsZZ6QU&@S
+zZ`tMdXC5)UwL2p(!HpXo<UkYl(h3%c%3T$Ke&;7`*XiK7)53c!a+(KP$87<-5y*G$
+zKLfM^dG9br&h at YIBj2}PD}$BCb2&}xBm)a(lxpnF-ar0&ib9-NBLvw-JCcmECJ#Q;
+z<F5Y5J7F)s9^>Gt161hosY}35Z1v#Hwe}UaY`|P6x)Y{reY~^EaU;6%>IX!CYX=~@
+zMz?}Xs?U`@5>^cxCXy-8<3=5X8 at wf({_GnFU6V7keekNMcy*!>I!9#f0e1|zM9>E+
+zAuMY-eB;nDKG_C1bjVtcl4&L7h^&X(^U7M{T(qSC2LAv&%v*APl9luuJ$~u;ZIJ%v
+z0=zba9tTgeW~S%-aIWSQ1ea8VeHfHNkH6{uWG_GHRCaV^pStR)UIX}ld9?8TjQ%Sm
+zYe`qh=K_={#B!htJ)YVH^hA#*pW0b|S$aHaYA5<-;PIrTo#B_cM@!nz$iITJmO6hm
+zkJ59h_$fJw;JPNDV{Rgt?iA=4 at XF9N`9GAs1yo#1w=SBUgpdHig1fr}hv328-GaNj
+z2MF%&?jAgNAh<gO5AFmS*IT{+^Uk<$obkrHmqGRX>YKA>RjsbMYIRqw)#%sYjv(22
+z^x(LANm;4pQ!&K&3=Bs?*%L-C`dyzF?m1gd<PP9YAP3DUZ!|7V2hAC81oxONC;Rg+
+z4i#HY&gbA;-a&JhUtozNZW?BYbif{Tt3fPIOhPu9E}9}bHls=vy1$D{r<x}VkC96U
+zJc}fQh)XAnCpLqMtMb4Hl}o~*1<#k6OT(eXjw_Hy#G%EBE0IS9ko=Ju3|u-a*@9UV
+zPywPZgF!c2b}T7_K^~CQTsk>?;XI(9GoFa<Ra@#$RA6%B(xGYl+9vPNqU;9d!7ZoK
+zzo<$vtA%mXh3&%w!{o(Mo at y~_lCsG>yD at 4KvY5QkTX`}VJaxfL$fa}BmX!ex*j<}n
+z8#vqt?jPLiwwzWVV6ks-e`wcw>o{(@p_hAro4mMeo8jDMaNlB+cdI?_7f%;-^A^|0
+zhqn7cShC_)2q76^93EN~2Z%w3fw(KM?nhp1{0FT3kr&_Jf_X48<7Ce_!b{tsrTF>X
+zxy0ap)l=~R7(d>R&?uZnm6wYLZPmI5v!J*v$2GrHRYHc%sh&txQijc6Jt00yu9b~v
+zo?HJdC#`3&4mh~4`UDNcX`Khg_(M>~jUF+FxUB2BEtwvuYTGx`OUI!l{rUa5%;3Jy
+zQ`3M<+%*1U`XGJW^yq`upf#xYVQCOQZkqmqdr$|sxwnl!6_>p}?v&~<Jy`b4e)x&j
+za-F;7O!z1kr*?T+L+yO}L1}NbIBx!Ihh^~4=X9LB`tcbvPOTkMNbPb;t8}nBUo_Kh
+zOIH0`XiZZ0zWkJ|I&RBTX=fFwXr!Hxym}rY7pHc7R=4FW at q{^e7<X44H-EUxF?e|X
+zd|I^7&M#f#=_{$bbgfr3*WNkk3$o8?2G=g>2G>vVZH at iBMGL%qw}YGU*$>~gCUw0`
+z!&a`zq9MDGK{>wchb<s{a<}Zg9!ZoA!4`>ynU-vl>7tQG1PzkJh4VkAg{Tme&Kczv
+z!We_0C8R-d8fQXp!`jeN+fHf?6S!qtio_PV4s9CePESXrbsu=8RUavkXiMjcEw={R
+zln)_nGy{^QqMe6L6iea_e1`e-zh%oVsd2%oOX=LMl at k%SWCNdhKJ<>6$<sS9aVqDp
+zU4mT?g__w-3Q}_tY<GH{AYRKZ^>KLzvJ at +$m-a-ik}Sa8oP at R2%7>&Jcd?I!IM?1!
+zFC20}ZR}SdWE=SG4Q(C1E9VnlLu0mq&)JZwx%%HMX)w^b8*(;xDj(KyKxa*hi%l>U
+z7C^OPvH69XgzZd0JmO`O(f6?Nh9KK%|JJ=k`S2AdA}La`h4<@zlr2usJ6k*n0`l3t
+z{zouz7HDSww5M~=P(EbgjH2w9V!N|{e(m6|yxDRlM at A_L&5}99L2HnspoD6D;oQTZ
+z*<!F=3Yx_M!ETR#$1*Tofb;l+AAA!t>!Fhc!WY^&?5$MANS|eX5Wmn??Z)i>>yhW&
+zt5lT#L{C7M3fhctEBFxK8tZ?~7;ET>o(e6VABSh2?vu+OudC(nPxZ{>ma`4xmcdSw
+zyPTwQ(qilFH1YYFM at uMb5ucxXJUo_QaRiA&xMk{O4U5a$ZCEC at s{WosOqOuXA)Hre
+zN7d791T5_wV>7!huo#`xn+`0ab6Fd at inXwxu6+RLdNJSNBs_!f$T*7^vi&q*9_~pr
+zmFW501w~W<`TA_t_wwR#d7lsai>sYK2F6xx-G`GD)7#i at UDPl}3%Ass^5bxM{~b2G
+zl1}X(9lVoEiNDNdr99+EFMaVh8Dx^vKuQH<6y8<$%`h;b9T~hEhnhuZu&*cX7(J?h
+zGz$`2?6m0!kE!gO?`lTHvp<){bFba)p0SP2gpy?v+q{LIoOwfa!`~|LRjR4wNYSJg
+z1+!9Ik)*oG0eLGfTxy|3W>V%LR4Jzc97%d_;_nwQlkXb^%|e`7%_kNnggI>AfX`(u
+z&WvUzRLLenGp#h5;^h{XRh50^uGY>;9%>@Gnk$v7=-h|?k}G at Y^>g03g19RkX!UIM
+z(=tMWo<fN>*l?frqH=TcZLr`zVShTj%E{5RI8{0g8x;`5EUgT7jl?6M*0U at L$FtCO
+zW^syMckw5PT|y>2kKE``n$5g<1&be90(Rf5M_`6(1qW2!k_9HoDH?$%rP5^=ESyUy
+zCdtJmb$5A8uw at tYoJ-UKrNu3o-*$WmdEB?40cLR=tv3=MhKbBAu*r;*K243t+mw=m
+zWe~c6f<oh%`dWmz4C9zB`hbFNW^o#N=YodZNI*9r#JK?DRe9r5QhWq_ppG|=acZ22
+zwGaYory7K~sw6>0OKdXdB*CdsX7LtK3DPjpzIiEWJ3>1!k2a3EXqbuh33^KU#QgK)
+z1he=Rs7f$Nu(ruK2B8rl&YLd4C<H)IlQ(^U5&tj|wh1=bF93aqiMW0;izC(}#Gxb!
+zGApu(`zxdgphnC+#D0k=ihd1iekE at Aog(_RA)6@~XOCTpN!06L^9^ykA3Kq+#mpAP
+zKg!mL`jfJmlW|Hqiu&iX8Iy5}vWWT{vgwm?%0fi^H`#Q^u&RHPbiGTXLzSMuLrGA7
+zMPU*2R<h!scviXB<a2h~6qZTiA4TGY{gqh7$WqFvNxDkYh*71dU&nrF*$IBl!pcj=
+zDN`rppPGh;Ix at 8!v+gAG{+)@XsJLCwAL&u}cVkoaG3!>NaPP(@3u4x_M`7NLv1C-I
+z5_N%ZOj3~?P#}T~CVT_rBe2a0w?xTIgj)_f0oq+&F|?_$%)xD8w?t|zgj+a(8}^Dh
+zOhIzsg$V926K=iP30NNRib)3y3q;UHpKqWNxQM(ZY69knKso3Y(+ZRv5Wy3mYzNBd
+zTOtTx_#uJ>U-$+BMqu4T0F#Pz{t+UG at sZGo7$N{>;Z)f3x3^Tl#*lAd6WI9Q63K!3
+zsCNSBfFDI5fMR+CR%6U71|8^wZi&X33601hf~rh}Mr;tlxsQZfTswZ?QuwD=3}z})
+zZPG0fBT(T(1a(1AJ$3 at xNHpk~8vSmGa6#oX5CL6MJyX5`T;Oc_TmThZ4AUWz)ub*P
+z+!BRWCLzTwm;i7L1^NJFLV>Y6Q7E`=0@$5_3*zknvehQ9m>yW5x|ui^1V1OrC%$1g
+z3 at hPf01V{@$LR>k&YFQ)$M=Wmp5&zG*qfnqK2&hyg!+@%hSu=2xR>cIVdyFSGwE5t
+zwlA4aJus7ln*BcKN9}|fsR5%06JWFkH3|ksPf#Phq|?}&rE^}?XLTR34ZY!0 at uS9v
+zs2<;>wb%v2Tl`QDz_5PoB<*@Y?0-OvzQyN*aL0|DQhm`CBi877h!O?Z#78Xb7T<iw
+z)hK06q5C0<4#F*&x`y(xQz&H(g}IZ|Kv&GL_8o*fjkz;F;ue1tSdBeI?Tnn7bv;BS
+z0nz&qg$Ln2A2}`g;v+^5;nrm7%zqEzUIg~|K!6<ZkDszO8GDPL2}J5G{wy%o_YuR~
+zadk5G5u=B29{@h`7JnsmZ8G2%pBISmTl{t)f^YG?Q~M{QkH)>C{+U8(wOJ7`FCss<
+zGVtjq+HpM^eTeEBIb8r&ptVd1xA^zWore57t_X%c{dPb<{t)#lWzC)l!Y%r-)38AK
+zpaY_y7^>4}!+Jd({m17n;D_(imy>M5;YUcY-Sb24GQTg@^*G_!BSZ{jIZv|r<L-B(
+zH=b_un|+_KKsE_vH=k}dn|*zFuE(=~K0-eHuzeDCAh{j{n^QM at ZsVKve3-8X<%s3}
+z_}rE*Gy2ki3~8}r=L5n?GXLn+aBFI#-s))W<N1lx665JjilJ-Jak8uFqK~_45)>=}
+z5OtF5x_bbCZh=<u@@=e=h^OC4wkzhrle=r|F#t;dgaVMf2tX<nK$$=Qt||;o$3MBK
+z{eE&cMdEh3`fm8Y2}ftgw$?7Y{Nq?xj^70Cu5|!hwSfY_ at c&<2FA)HrJT6y1fzSUI
+z at K(`nS|y%aD<mtVrx=F>?$;qFv98gJ1a8;rTlIDZUZ&+k+#PkZpFPhqD;sNzoq%~B
+zFjoZTN&CRO9+(e112z}1EG=TIyyXB$9>%KyZIkBpKr7pvAipX3X;xF1E2FyYV;(4A
+z2?}^h0G%@^&|U!wcpQ%F)eO1eRv at p6mIqvy0i$Zr$LkgVZ1(^t0-d#mx`Y-RZ4_Iz
+z4$VknUn)!AT4|hsD+p92lyU8E%?#3Mkyvf71S~fclmp<|!oAvVdm{kUNbd>vPu#9+
+z{(M*>JLQ{|IX_`p0bm{gcmO(P0HDRy?3f#!JHcJCI_{Vqol6g(@R-h?x*xyvcy87`
+z<>xqf+!bB+-N5U=&JMe=>^yiZuDc(9z-xaV8J`6J-{UzoyZAc$Rs;ZF#Z&%RSd2Aa
+z8sWOOje9wf0xr$7N7D#noA4W2>*wqH=khOs7}-=)iytB at E`%Qnk&em9kI2a{$ju`m
+z3B>dzr5`%UL_%}?5wCnP52QY~;~hQQ6fnM<b@=|wUC8*Z0Z3dkl9Ggg$2Eb}99dxY
+zYTKWNYvK8QJ at U*z*OP5dVh%Hubr;kDW#7=i%-TVVkd_2Oi*O5)L)o&|&QNxbs>C14
+znhL&$vKFt=ZJ{hpi7S-N%vpR79Ie1K*g#q85<4hsE2x7DZ13R8et&u9n9!3SeskaH
+z=jSiU4%&c#I#UhW at a21s2ehcr>jq0ubV05D{J|$k-~SWT=7_Px066;T=Z^!;MxZHI
+zK#SDp$U=+2zAKvnem|<pr$hY;!6cdi51iWat~<Vx+^0m;Lnmw3S0iI51({E>uj-`s
+zGW9ir0`;*m6k_OTXg1P5prUor?R*RST7t!tW6+%eNqc30_+^Z1_bXT1!J+rqbw<l}
+z^}$?ai}Q1;Tzf~$(h?-Yv18X=)>mt%6NUjz+au=Iwo5srKVrlezDN+y*yu^?<Esr)
+zQplRW4)F;S^D})4%vn?{FtQ49gc at Caz3CfxX!^n!V)<{@&#fDp<yVvA<^sltW#*K-
+zoiMPU at ydWJyN^AVqM)MS&lx7rEN71zG%NO5``?PjRVHM|eBq<)FYDqVYa6Tlgml5o
+z&oT at zhI2=J<HLWRQ$p6P+%W>2rFJ?8KXl=MR#|x`eMOQVeBdB|rY@<OUz<xY7KzkQ
+zwZm23>HIxJ57WeJ{FGjKsj*H<$^1O3x`$_{rL at yYeLT*V)z5)$_mr+ZHgD?qlukbx
+zxV~BkYQYR>9RYP#y>Lx6e$u*%f)?M}UO)Lh;#&vPG3AE-gO(1m7N-Z4F1|q7hR9}>
+zS;eusJ{0*^bW<jW3LKkrjPGtk4;=2e>WW5B=|>JKqHe)wvT7#ZT(M7G0!7`T&vex+
+zzFlLVy7r3Rd_5CXv-w6FiPS7fs%`9*BDW4&<u!wj`^T`aU#A&`Pv2__9q*4)U$M?0
+z3ZJ3&aafdH<eA3IKz=J|Ctoy9jYB-BQe<X;s~WVQF<(^kL+Ueyo=9W{|IkCzNI7VU
+zRu at NvZJy|kDrm45E}OwH1!Qfj_3v-y4pT3}4xWQUO at r;=zu?n<?3v*WNg%L#K<l`v
+z1c&vO%PTe!)Z_CmTMJ(gyEAB<KH4^7t$TN_-?gvdZ!^q!`x)$w!#W9YDEGH85e%Pm
+z%$qz?sEhX<RHC3I&tDl06u=wC|0i5K0jO<nNU)%4SU&Q6(+a<Fu|#h}1U?nRWp()M
+z7AF0QfN`;;!$^sngez)896mzcF|4}3zhAOpIsP>s7TM{P_*q=;K)|PB^fvph2G<L2
+z;N&80<ADQwftOI<Gem(SDj|huNV^)Yt1yL1dq2S%23bq68x65XY!b($9`kiXY-BXZ
+zFtrwpsG594&eyV}HLyy(!yOKpoOStH^PZ_O?^R>~vZ1946QXED^!Fy*U?S1^t1^2k
+z1244JUz`X`p|qe+!K4)S<e<wQAvKo-`goyOgpqn{oN)h9_7nA~`c~NERn~Am%g72u
+zI40o|^<mhM7&uj~BHNE`+J58Ix`>R7M=thS?fF5yF*BZyO-ah|WD1V6tY8MJ2fQKW
+zMm^l`sUPSYR*y~WHUXR>myLbL$i-Q!t3O_CD9>=?xPHz^^Dy01?kUZ8Ws()jU>KZ^
+zWI;~eO#=gN8Qos;a3!J+x%kKG3Ma1p&>>eJuNg((t*rxN&+%o`kT>$K$I|={!VTrW
+z_qe+x3|iko%>*Hwm2VN52_iVPj)fwENo1QKzaoN3$0}1uBg9B#leh9CAjrw|7NGah
+zf*JHzHGQ`s({S6In=gCzF*+xHytTIx!L!wl;A|q3{g at TPNpB|0%pjOCu9RWL17mNa
+zlVQR0-rhz(!-nUTy-g at RTUID%CD|BrR^*T7DB5J=v5p<>P4|$xI<B=Jc=nod+F#m`
+z?QJ5pjoPs6ZDO_kIh$-$i5PaDKudLlIGYw3ICT9un_Q|`bpts$Fss;g131(FSVqnh
+zkD1(fY`(8g-UI>oVPk}n1J_nC!+l$I(>lb_a>vCGb7O?X73)+u!+nQgb0vgjeA%!K
+z(|#xQKH{2mj0Xb3u_x736^HP1hPz4PnLfx6F!6<PLPkJ1qL^m6ci)f!4|3SqqQC?8
+zrbSP4U|ru0-A4V9+t>}y#)uFjmY#411_2|so at mB+VVi+h;v4S_5RhW at m7i8Wc7$r$
+zylgl2!fjX{^60-|uqd<{24Ti$(M*5gcP2FBkiAQ~*<Z4au|wG>XZ~*B*4BpF%O*)!
+zFNJ(E+2qf8;+dszTNMaFk_~5XQ|<7O`AZOifFg|KC*E*=w0eL+sXkQOv<-37>BM~&
+z=&3Au#(Ea+87=9I at FhjnAqJzCKg4Wr9orIla=4454|%eI*rq~6_*c-k8blO&+=EC7
+z;f!o4?CB7*r5Gj?l*!J9t`s5R-JqXug)eLdaD{{~ERRi&qC$Ksc_UziFU+l3*@-vW
+zbma^gh4W~k=eq#$odF=NM1{FS@@l??1R;Az(uW8~4?J-E4hxw>dW<v{X7$DTVkOjb
+z`_r#aFvRSI0*E%@<UN;7WMSrN=*dZ5*nt(=)Q`gT5$gS%cqlTYb8J<?A&n at c5u_;g
+z1oqyWRKoR9Sk`y}Av-9Bk(<bqd<JdyFG;u#z$wUqgoNu8RFVoC41!5xi%gg`V*$h(
+z$r!(lNk&8n23k69F;O0DFGioNuoKf72sM&Lc`NJXHz?jzjchi-Az7nKxUK at ireXMz
+z+ at O2gV|}F|W>Pib_BbRsO41x-0>Ug|seL*qp$yP^Fi0k0z{ngE74{7S!G=7UYaq9&
+z8^XEP++<HE%&PetL>q}m{*i4)cnBW_EEbZmFlk&s1T1MD${=x{5Xxl8*2m31A!Zx)
+z-_FE^Gbnk7IFV53iKEyF0z#6I`*C*5dlSIP9UghITR+zxg+!AR8fqb{7?fCY!osfM
+z at exwUlWQABo75qDcJ^gwtil&RI9J@>kc>4kfJh5 at gK3IAF51&P?-((RZ2xo#4K*_w
+z`wn|9l0`{qsKxHR0D;XY+Qao*DuNa{lmL1nX9feIec26$WNcE`ybTUz*Ss3USxDdU
+zJWjQc at Zr^ABnMHR`+a0zI`U-4qsb<H2xqis`5C*glU?V^LSP8N2{h1zF|S)ATuJky
+z?|J(?Q6>i;`8FRxPoF at f3A5VhnR~sB-FpctClnQKy%LLvCdt#khsN4u?c=-6_z<(j
+zr-U<e;d*P|z8^R!kxTPf*&?9s-H370Jn|{{K1`I!?~ml0!y$XKPhn>&!u6)Uqc@*O
+zaOykty*`Xy2>HT~I<b3b(N8_N&XCCLbZV%r3bACvdJv9|KnQbE$9KI-lFY%i!LBKv
+zswFFE2fxaHgxbHNQ#l+;c8an<7C6jyAe3u)sfQQbtdQG)2D6=(TY^z9f^}F{i06X>
+z{Wuu)*O#UZJYYh8%IwTbCAjD;RY`qrJws}sfjk>Nd?3I3`5cHEnf)Xh3ORWe38j#G
+zE^*cvVVNrl)EH5NuTz(<95%2wtkg{IMeY04zz{x*8*ibHAypcfI^yg2^eG?11Pn9Z
+zi#LXd<Q>Qy^6)IF&qcoOt5{`$8Wri9DZMS_#u^pDHDANFX4Ug+-k}ec*JSnSmWb;n
+z-rCk8(Zs2Nnb%4*kflPz5UK>u8goe8RlxMDs!Uc5E)_IH12;2YMOc^EwK?Y4Bh%oW
+zR$#&Acb|=c*i`0R)nG#u0S5Se`cMP>O*_CfSK0Fd!PU))iXP=!Ws4UGXX+q^+n>{&
+zx?Iy|Ut&k$3L+D1&0YD)i2}Ck+L$fBMIW29vC8-cS8UF~WD^DzEV813)Ab-MbGpqJ
+z=_4{r?9yDMHdUd*a+4h at v^HHz?C4xPHxWzhMx4bqWlO}fl0fj$(8LvkZe;|8^`wI!
+zVUdsJp$9Qv^<Qd?|58VWZJC32@>)RTydIc&=90K;f_{6;|AC<2<6H}gY=CRv!RG&z
+zIu}qTlLIGa_mBT6&4Y%{mu;VNX7^uo0ZwXflp<-}0?(pbZxo_AEGl=<oJNhI&<R2R
+zPOuY9C_bjcHD at DH0j;=|{=mxS0!f-hZ<HEcQIqP?YY)p_*@9BlBeGspD1>roP*4Z}
+zD-<A^Gof;mZmHHI_(0_NShiH1j_5vF^o|wfs~+J2kTj`4>%xHFV6Y1Xd;km!dBpcH
+z<P at qNeb%(-Wyk}-019#oRjpv!>kX1=7&bX&j~p~D27hvhZC4{S!!W#B!%OV^w1x2l
+z!OKzkX)#7?o%!!*?CqhDjo<LkCZ0RARwkg7_JT~NrUS0uCRZXE!3(mwhB37-{HDX5
+zyY=%)#PCm!)0Ir(OgW?V^ng>>;AQG$ztiDQt=g|N;^)r(^g4LqLbh($+117*H^a9o
+zSbh9668q#fG|au;jZ0dNZ)unxxAV|ewr86bHXxl>)L#*2C8BD~@Qu_>EsD9RYTjc3
+zGs0b97SBUV{+aA$Rw6|Uq=J<x)wD2lpNCck?`NH2-n-CwH`O$^V8C4iaPtj-ad!ax
+z0jP#DNv4I)>l)OP{w*})l85Y at 8s;mrpx)L*)51X<;L{MeirUejW_mkV1EB054RZ%t
+zz&C9JzyW~iSp{qJS70py)O?^)1I{>FP=!|n;3%OW3;^I$hHtoTYU>cRwvXr*Wn40z
+z5HwfiSKX8{uq>SfJOv3GXin*S(5|$ex~UloP)KG+!`uRHTv7 at 4Zw0F}5diQ&tqE1X
+z0!2Q>Y7PRp2`qV`U>bl*P~<=(E3t?V9L at tn04za~D9}#cG}FQ!<%0fm0Ao!H_a%U}
+zZFk+&g%L0+1{JjPj!RA-Bqr((fPSz~LHpqYj at dpXaNq;_v2O|mpppCY?y8bU!P4)?
+zC0UrV5>5Jm%Q|9^!3CYF18*TqI;f8&(6li17!>)P1wbGV?I;~+(#}8Nt%SsAfcB1n
+z!#m2;1%MI&e at 9L@joeh5USMZ6(+dabN`}X5V^5t8OyQa_)#h2ZeTYdM#5ff;GN<)H
+zt<7U<Cm)cMJI#!!Fq1h&GrA30REjJn9%h-Jjx9`{!yY)lW&~3l-T2$_&q=GYrliA%
+zoc%u#G(0|KhSRmDjR_^$YV#3lc#zYJ1(-3PzT6BnTTgdk{QPRI-jfN3bI$!8&JD#1
+zy4m{gy~4iX34!tQ;mMz8>$DR;YnEsyf7VTuPY|)qwc@;Q)0-#iXDPRg&BvT{9<cYi
+z1(%rvgKe>{`DYYcoNv79&M>yz_-#dG>+ at W39qJ!D at wu`@T#5VZ_PAp<H7+s->_=`H
+zwm5aco#Q5_*_)Ru;duRDPgz!@1+Eg>V3F+*ZUkR at MgEd}{qTrH9K(xhi~ceyoi8G0
+zvnU#iP{hyFEjssSU2DI>`ndZ`nALeog&1C}Q))CL(Lqlfn2wV_*l0$016q+Ud4J92
+z{H$9sRajp*cI?}o6dy0aoDi=r!JHgmIZlpX%nvp7sLqjSLvB->?5WwApXlMx?Tn&`
+z`lr*6BI>pyl){JKHaAq)&^DivH-A-7&O at j@obTa!Rfw<y`wpz$``rH%b^&gwSBcv9
+z`BrwJxY}QG{^a9N(_hQ~{!;pyWpg*z!_`~=fms=;x;jEH*kk8jM*Wxbopni;?i%*|
+z&aJ68;eo<mB=`M~ZG at 01EI0l@i<?VF-7D)hz4LRoj%&-TD(B8^uI0a;CBgl^TeEZg
+z)m2aKqVsxToxgCn-a?*m5B`Dh6G#5CXp4azVPk`$2PmqE>C<OBgQ5l~hf0i;VtMcx
+zCwO)ynCDBC#KDrH(ydCSjt^bRxI~4$;!vT->^VzUo=WhR8};^}jK)xWdR+n~W^F>9
+zIC%qIVT^XK;#h6MWNpH1?abFLoFs?2e1U%|1>8kS3X5?SH#LSdBs{3#G(Y3SY68o}
+zNu^0CDRJ9^x$g<Z-boG^ktXyXL`2^0pV4g#hhs$gXtHWHm|ci at I3_u$hW``BPXFOm
+ztWQWG&*MiauJFDu^f<?wtU+dzB_!=Zg&DJXLQK-(eV+hD%Hmg;A!5i&4?|jy7BREc
+z*<pajT&_N(0oO+aA(P^g>f%g#sW!w?t}(=NS42?yswzPW+pbW%>?`fI;%jZ{@hDU3
+zWYl%ZX5|-ZLxnGXC}yo>6lza(&~EpjQTVD2kzcneGL)_+o*#wNZO1L>P$##YNH!NZ
+z15G*5NK7R<48~R^?C#VheBfs4YF3n$7WtS^n2{3n<+T(SQ$Xoh;`tZYBnJuUs)P at 9
+z^6G<%x^5YTZGXw6-2YG~oflz%^hCEUV-37VYf~pXZArRM%L7s$kfiEE<ZR7~45@>O
+z|2mM;btr5z{UFtBRJblr5x at Si_m4Do7fP<Q<!do!@LM<3J4|r_`9k(P at KO4Bu>F!)
+zuD78?)P8D|_LPdvNs?TG_L}|U9%yUE%jo=HKr#Ty{@FQGia25^|JfEbBab^buT at sW
+zwLR>lpzJt-q%w~?KaaaSuT at aQRd&`T=WEzWTiA)bh${#B%8H8hwLF@#6Gz#e3+jV+
+zAH9exBl=3aiqo~iB!20hjcS9Aa)PqcwaVm5US4Z<*oi9o%46&Wc9ZhbD>PYuxi8BU
+z9Qw<Op3nRee_=A8Vc$L3?RJvi)J13+6bv0*s+dG8rt;!YXWL78^Q!(KyLsJ5Z+!JS
+z at i%VCNLC3mSO@)$TRO6;ZhS?S_*>SW(P&vw&$h at 8^+6wMhX&>Ndw&#mtSZ(d4jomh
+znAqksdusK%lvOvWalYe=vX=s{e)dw6yegNM3}NOpb;YzMB^_C%cBo$Hn at K5!VIHo%
+zR_No7G1%ij3f)$fdLg<rS=Xv(ZP8)7-YPt&#h=`L1LN0`m~28{sW1>0fO79QRcC7B
+z*EMc&5%V!zP_ at ab<JWs)(duRWKR{x<B{q`E<|OP;>Y!PfG6GZWFLBPf5_2LH8qpks
+zEeiz)@A^K-)MgpQIfqKj#RFszcc~m-QJiYTyFzw|O`(#EGtOG-k#uGiU$%>toGQ$V
+z$+ftZ6`WzE_32$zoO83p9K3X`u36kANqhxnx>0)%*&$qfSuzfzkN}Dk*GtKETIm+>
+zVP%NyX!fm}_k2o1`<xs8ORgP9RBiI(_Y}sqtgA+GS0?fGO(_NKvt-BC6y~-Z5=+K$
+zSBUZTu6aN02V3RWKbW}Y|2*vIcVmQ0$huD5YF{fjdDRCib6&+dcpoFNqS6;EbI#{a
+z!KLeh+7>Do#~Vb!r*OlWChbp~E&Sp6q*xl2-#YFZ`(o?5ZISF0C%$bwZOa=`gzw!o
+zPncKj8O&xl)zsV-d3+CJI+;%|*;zS7s2+>NLyN>3_ at XZD!h86}rNl7s^qU3deU-%8
+zb;N1;>!+V&e}ifK_!Zwh)JUw$DZlhBL%m^1{Fx0 at -DH20Y5Y2Ys=;E-7Huu))9_8E
+z#CijbyNH`((K&2l+iEnx9 at DhfrT{b2xVP)6oPWBMDc at Y9cAxIzqs#ndJl09$2sW?n
+z`f~3+v~uqHGQt-Z2Tpr_4V=~*>`qMqX(2q2<%}2JbOQ-vYzq%#tbp$>>meeLr8y~(
+z<(38B^c?UrfS=I@$&@amw1F;Tp9`dBkjB+Hr}=B`Om at D51SFr~pOFgVKO<xMAQ}I$
+zT8Im*)2GB33&K?A#9cM|GlH(c>G(^XGvJIaqpOH6<Bu*#lXMxp9fp67pso1x3S+E0
+znJy#nRD%=V_q!eY8 at h~08M+J^+&VjU=UO}V_MhFqFDT$m&t7228jytrf49SkHu^(H
+z(BG}0-QBIR7!+7n9}-x%CXF%XgIQ~Lbsq*Y{B#-Hpw?m2Iy==TlRsn>xtjgm5>{ar
+zp at DUaecc-PUELZw*@2FG8gv;#$u)K^Xd0Z{i|U-*jRt>?Qo6c-+vCBT_M>8qMJ)lc
+z;Po-`(6aS+Ln at b{F4^-olkbkYc)yE-nEh~%P{V2*KFVaRBNRa#gLrzeM at EJ>H(Pf^
+zLXP^zHF8Jx-n8y+bEjq|qdaiApK&daqOt6J8Gkraq=R_j8b8 at I{eW~KGn{lkYcJQD
+z9sV#mbRMK|8l2mYtDGlKpCM15B2S+aNt+Z&n-y8i31=-1XPpp%(<yK-n0K%@b^71_
+zo$XDX?HyyUW<(aHFwJds3cQ_SMF$$}0f*rno8&}%H5<5)Csm!z(5|ZE@#wst=)C`a
+zqHw-QZ&cvX;?0?lsvAEn1fvmx5%iB6{Go{E at Ll!xxm-?9I#qa$E~e6Fg<{Jx-Fan2
+z at bL3_Wz9~AG}W&e!K5{dSNx85D{oF(kI!45mtaJg73f)Fi*i2s%vlmhnh}&udns1m
+zl7(JeKV*)ens2>14>$BOWy`~5&2z+Q at DrtHeG3VbH>^qTGjNUUCBO-XiR=|kF!>v9
+zNOv`(epFbqpk-JS-Dglxvrr+ZuAIQyeP{8l!R*`R^jpi>w};gzs&j8~b5Q1rP}t>3
+zt&k1Nx>IoQhLk-fs+icmO)78i%J(V58d{_T4S!<LZh7#hU2OZ!LM|$aN=kojvZ3nE
+zQqyXGc_j0}???Cy%sKfS?D<CpMRo~)G)#j}F?w0=wlIxfHLt(%+3|OG0CSYU!{_q{
+zgiQI3O7a%&)L&XsKMtGIo07~NP`@=L?QOq?wWXhgtub`B3^nPI-Kr#)ELllyYIJ#H
+zYkiEmy0{qcZfU7 at K8I>NQw2OM%HLDj(lfnnAjzN&>nceM>cDTPoeLr&o>UU~oM%df
+zI)&g$6+}!t9#I+atqs|T6ZQOPqD5TXsxtW7z#d9iY)Sm?_MBMeLxO_%5JWsbHX&Ii
+zLQrw;k9ses(e`|lnzTT`>x(yGp=L3iE<&sW*WXbbro3z;GI$U;-f`Vdu?xx)+%2MU
+z*^~U1X2RwggiR-<Y{gPS7Ei8$d3l?f`8H#~?p^i*Ty8~1CCZSH!ctD~1NBl~Fwadr
+zzQ;hz8UZiEL4s^)u##?-(gE?~p)6I1<-i!#z%O$pg&2MhOtb>mlpz13G-<Ivm9qN@
+zINP!#!udRRO|)r7+-4lCgQTW)6J){4t@#p*JHPj+U0o49hE`TyiAdmi=20;!{Dv3V
+zkGU3AXi4*yPk8pyLnBYR5>oJY at kJ}-&koO{>wP7kFzZMZW-#i29Ci+O7%)k~<n~sR
+z%n>gPV?O_fY^g}?#viI-dd`>ILfnN)G*a>IXhXH1cXH`|Kbj?MW8ej_Uw$%=hh^T)
+zKYo9lu(&!WTYAh0z!L!H!7h at Co%Kp(4{F?nL;Q=>4W1xj)+<?@R%R-C5*{a%u`N=o
+z7=m=zpj7smyU>CIaHAk!zDP|yF6tcNA~|GSqFa_3cg~~yJR>X7%rgV4%P??ln2&aF
+zkH9eGIQ+E1vwcPG{&a-y&K{f`bSFJxoZE4@?y!mO-r}iU`h#YM(zt4 at F29*#T=aY~
+z=2Yl!75rs$>Y-2vQdcYS%&v(I!Y$wH)1sL1Q8$iYFG7D;sexUSHm!g4^jnTBtH;D^
+z!RyX}UN(KLzuZg*u1Va$;uYd8UZiXE*=o$G#NQM6Tb at W){!FSi*v}mdU7jELgO6i3
+za(RvwRJY~qLK}Gpn8zu|#>ZlKxP>G&?K2YUNnDe{YhmK$X9CZ=1Hn at +cOCqVsH(Nz
+zD(3Pek{T;#QH;KAdC(X9;A<!9^Y_bbSHL!`R8{$=DKE~4hc4mFHxc*NwdRRi4h{`*
+z;`ubu9VTcR4DZ!wL-8>E%M)LJ)+68>4esc1#kxaXTR~g7ZGXdy7C4dIgvbWh at _=Gf
+z2(h3Xm~9-KZIozErPww}OTY~sdd+_rgWF3>9+%do7*=nR9zhbm(buL(Qp|);mBW;&
+z_6=tmxSAwMlH^5$Nf5zhrAd=d!o0muzWA)6sB0Toevr37BEm9MOR1uq at UKRt-Yjdc
+z*ld<(QcpotgZ=3Z)uKGcBfC74xTClT6P7iJ^%A<!gv;mR1Ofx9MWe<XAtnTC#mzYd
+z1hMoRhsttwBx?tFQ7X|qYjdax+M;lHgldFfI#ykzN`%l-bEcw4$h)+0c6n*xbhE+t
+z=(tSH%~L|s1{RKm!FKIIZ9gno0uR}?dUeuii*jf#ZQ(^I%SiMZm92VT??@umyf3S@
+zYErQZE~8sIM(56<NpltJl`R=MU(#SgSE0sf{dnJOBa}6hH8zf&+ty5$Qo6vFu)E^F
+zf>yN|Q`ppM;6ioE`fi6xdzu*DUanU+mj?;+sB(cap(*S2J<S#T_6lX!Q&@8 at 4>cxU
+z4(G=U<6Q_*Z&xm(^C5C?ZZ4z9UvN2}%h-GLwl_AHQR<PZm&b(Vw<aduFKu+Z@)W|m
+zWq<CmA4C`Ki|z6Y+qO90BEZjKv5%heq^+T+r=+B%q-?R7z6-oJRrZ5R<~N9tB#FGz
+z6eW)p at eEUt*qX>PR!05u+d*M}V%zr07WQ?lU&Dh_XH6{l<Qu+Mh&idnn5V&*mx`%?
+zHyBQ|EOO(4(xEG?%}7#(89Ng$ejs9WLGqfIwoK|hqRx|%8m*fQ_Y<L$y#{LH at -i4G
+zC9x{hl&{>q_(j??igd^18BI%*aZ8dN{dlSf{(hkG2eXl}Er*CJdJ7mU=q-_9;I>&_
+z^mgUbE7kTTu}hl*Gu2!z at Nr@9N~OMJ;<(sMC3i_rLA9M*;L;}jV8yS at 6}EJulIl(Q
+zs<m1>xA3Kn%H at eXdJBG-ewpjMLOZwi<w*-bO1a#hnG^$0?!pvkoWyARN>=g9JzO&m
+zR?f;?DNE{C1eg at iPlC$qI1~e0YiO1wXskIDtjgeASyX<+tNgL4f^!YCSfp2;b}1`b
+zQDi$-Ei-RYm1&K%ShQA|wkb{nPg9lTJo+lSAML6f*cwl>oT>6hRwb}CoMzd)%&xe+
+zJJT<Z)tN;hfvkx(Y>MKf$ip at 1U}Z%ifx(kKtafH6he~3A+HmlrXBmdekouVFl`4H(
+zw8bB9bXn}-(C%l|KC~8CD#QW?=OJ~YQl-8;$xLPpg at c3|GsWVFrR|<AyZZ1B&X>mq
+z+xBFO<aLCFDZwu0;8y}$AE^7~%Rd>@Db7+Gs$}$IW2SU#n`s+Oo!?BXWelm4 at 4O59
+zpkfXlfQ5R8x5CAB;l64ox#y~g9_)3T;HtT2E22`-eSv^pBqfyHx?>u|=Q=vhoa at m@
+zGv$ajES-{7-hIJ?UbLJ3QOBnH!hd3I?llw4fk<DtOo^_6Hp<;nDiuR2)rn<ZO7|t)
+zhbpx+JLlSzUkqxv)$bnhrLj)Gbi0Xt=xbx-DEZhv`E6gOOx#v=Ij{Rd6;7!+bj0Zc
+z`Skl3X$}GA73D!ECGzP}!=m`{PsbF8=(2GV<kHkri?AkWvT>osk^$Wk%o>w^FBg-y
+z(Q{o4z{#iK!(lF!8RcAw*_3QWabB{EK|3gQJencKDbdL2Nbra3_tS{`w|FDikGm+c
+zariw at h09w<g2|$l6 at gx&;}e>&E-K%y3^4 at 3TiP8SgAx}Xd^pNM3>K()=D@#xzHvp{
+z#T}vT at N`SmPNzWLQVx!N86(Xg<BtDVVfC-V_}^-FnRZd)7Xrh`JOj9 at kLiI!W^Tn~
+zNC@>2p-9{;%dU#jzh>C~7J2jU>sPMm1wWl)@miY^_gR8})sZ9aJ*>)}%)2No^2fh2
+z#Eyn^m4s7&hB6O6wbEu#ZCdi7%O*%DtSJ2vPPLLauC&XOo?7aFqZ}$wKB)$otA0dz
+zP6djFb)vuz#tsxdA>E<OzpHtqfw}T`QZ!JOm|GHLj!p=mWmmC1DhxUra>2M!Z*89V
+zF|atY85u6*D at VbrpWKOQ!9JC{IZSSHFEMfzpMp=u#4T>%!fL2`AfQ9!Ys<?Y|IfJP
+zO=^<;yJFcb7Tk~`vvt!b{@LC#SA4_S*4P?JPHzVmfFf%SR=U*5;i at c6Do|yrOu=jW
+zdi$6<SoOJ&tdV5><@>GXfPYN=QqQ2`?vzFKQ4YKOsVPFmm)>ypIk*OAT0Ihf2&8fK
+zNP3fsJ|E)>)BqH{0d?{WJ_#1pcg1ozSmmL3hHPi#hKX2FJ!=uOJ-*oGgM=VuW0em+
+ze^d=s5P$rs4!(G<<aRY*X_k8KQI`Rp7e7Wp8>#q9eRSVSk-?~92QFe(TdvQdDzzp}
+zE4W5dTGU3TkA?}R86`p`?*kV;%h-O3y=;Gkqa{{(^DcIIkIP$AX4O!9WCr7kpkeIt
+zz$WbSZ_|{UK*P%F{Zrlg4pj0$WSF>sK1!nMDpZG{Kk~V5jFWZvG(FNJ^-pSm$*s+`
+zK%G~qXP!pKO#1}gwTCV1aJ$Q$@XTZfT(MjaxrJ}9Hd^n>!wWRyZGw<Irxw^;D*BTy
+zs-cq}Vk$`?Un<EmIq1Jbe6)as(NHXvgaJ1k`TpyjT(WluX1z>Q68 at hs$Okzf3Sr9G
+z37XKPl1+t~t2~#<y={=N=(H>AP9k~S;#jQhuNZu?Of4s9?!D4X8#$HPI^_m{bqTj?
+z;i%JYRekfxa$?fKn9lHvm1axq0&Z7&ofgM=ho+O|hBk0uA9+ at q5Bs(2 at E&g<i~{^m
+z%kY!Y7;>1ognG9gOq#c+dj3xjyR;M8++UOPIwP@@o2T8lhU&MPUm9zkX@@e84^)3n
+zRpnO8AGx=GKh%aapU0Cb31e(g50+DNq$6EOhm`d>a-{<u!57L2)W$X<?w^|e$`{@L
+zJ*GPCqUT94*Kr2BiJ$^=s6M6z*I4(Om#TUTgJ39w`UjG+=I51YW>Yu<fz-NJNO>c5
+z&xvN6`VT^8n<GDI>L<JR_3Q1g)=}yeviZW;PiFXn1ifI6HcS5Q^7z5gCuIq9n at VSW
+z=Jp+%Hrp+a%NFD|eXDBt_VgMD;m^%o9ai_+GhWc&UH)jAQwUgkRoF%tkSaO9ZjUI7
+z#HQ5~No1j@&K<&zpI6vUxxy`RkiM5uzP(@joVa$ngf(<|ffzJ}dZdF;2(#dcC0Sm5
+z&6IF`_zGd$?LK&K{nF<fVqb6n-um1g<=(pbWAR?j+|$Sn*Qc#X$5VKx5aPUR@=tpm
+z59psbpB~sg-9S18VNW-ku==u}@q_GlJ?V at 7K0gyE-E{g6I5t0~?81Bd4mqaZ at AAyA
+zGUmz^Z|Xttly2!Sdf!dmuiS|34TF1&e9zl9_=WVmjN8H9h~N&M`jbbF at t+Tr7yEeo
+z*p{EO2{<~KFz#4mBXBK+va>isCyFzTboQnpMXM<Y-k&6kBK9YWVP*SL-g~!5vST^A
+zw`{+0cR#NMFY37z*~vN?X&*24lc(t!5y#n9Aj}NP(?SXZ;g|w4hI<g5V3}Mw#>}i-
+zx$;?EC|d2~bN7f8wMbjeNQRxY2(!r49)hryc?)IFCDG@~EoJ)T$~g|tO%xx?K2H?W
+zT5?_N|N2C9VP3w7aaXT`pHh53Ms%rP^^H$P6?S*OYq|<6uK1O*3U69)5a0WPPZ7U9
+zXR9?w*}LsQ9Ol`oFz?z<Q2JtX$N9f_Z<b8#>M<{JQe3!8fSnYdv*+1YIf*aaRdBH=
+zgZLP2g}^D2b?;YJ=^x)cMw;SJ$uGGyh|WoJOO%e~s~3q&nTZR<N$K%jL}OL-CvpbN
+zZ{MR$93;&jV1P#k6}9GYW0qRAz{6?h)$Wgpbr=!DoE#>bba~&`_AV_|mN7gZ`67u+
+zC-WP&42W|rCP#ZDH{6OLpCGjc`o4};o=sLPP}wy`(@1oBPqXhpv;Q*DNnRpZO#-v5
+z;IJsJs#UUufMy?#W*<joimkL`uXL}FIlpNrf{%uUBoTX*h9!)KMUsZ)u583iA$3yD
+zSd>;Nx6M*m7G)?-(*K`02_w$WRYo}m$fWEgRBwVitiqe%TON$N{<H<=Z($(DX>p3%
+z{4r||G!zL9mz4Nh7j at T?l`VljLoK2S;|%(nx|}mmDvgLHFOjbHjV7jrx}{v;AeX8{
+z)<QXRrr=X)@j-#^4A#k2Xpdb}HEU{9v{_LHKu(CZdiyU|JEj8LybGn=??Y4*s at 9K5
+zho}a5&R>Y&N={KDC?k9ZKP#mmDAAGAMK$PeriLIW;WAMcmP<7lqz8L9<c}4EaVt9~
+z7%n_%S3j^i-(nW~F8*?Y#CPFsuXz0cOqCqU)`eTSRZbN6^iW<AR}*G$_SmijsE43;
+zdyN0o`5BNj_(jMLDnmq--^fOXf3)+^cJiCvG`>C6KBZf9U<rG at pDDs>D;v6g at q_Ah
+zalZ%=CojX@&;2vM^EK;UMKr6*g`h;r1=Sk-L%Hwm352N`ahnDB=-f4pues~$2aXb?
+z6OZyz`aDpi)kfZWa}}kQ+EvzFJXSd;O{Zx{7fpSFH(^PXJfvF)2vycJ?b4Ob2h^25
+zYT}&6cS5C-`Z51z=^Q{I8r>z#Y1n;?F9wuQ>gPh|B!re_6^A!tD9aa}Y3Wb%A47Hf
+z$vp5O(G^+Wx*u6movPKy8pffQRZC#xSRdfjmkyhAU{dAC=;)@m$lo{Fgq<wbT*{->
+z+gl3XxxPWZZ^{bOUHox5*H;<MZWGIHGrIT#y}_Q=ynjw at G7n#iU!>f{>Ji--><=>A
+zoGXf45&+1&UsVBNE~-+8Nf@`OjNL}4LF`Z-VOrH1-+DI4QmDR)UHH&ki1jmWUhE=r
+zW%c_>s^f2>w0&kmtg5(q_EsU<FC_T4UWzXgVG8sJvkNkO4T)TM+5CcpqUIlme}t`u
+zuKHn+nNnq9;EDGAv|l7Tp#|<4ZEn5{S%4$|J->)UerwqzD4}@WNENzr=|VL~J#<Ai
+zh}efnr9+MKEw1g!j547r_U-3=icq42f{<hXIJ78pDv2C9F^Q;mCOKrMrfH=M=;ZDx
+zW*iAdOe3Gem%G5{T+iFONfPcajuUzLRP+Y0?UeV-^AnO<J2;CNzd2W6>1$h?88yk$
+zPx>)N+3Kfqn}bwwSb>4>4vwbzxV8}ON~)z<A(!L($_taKTyPi~Rm2oD3l|9dR0lQ0
+z@>DEN6wDHtnUEg0*LZLq$@B37o@#TVjm36xG_Cid>Vj<i*qq=ibG3}#ubj<I&^HF1
+zytdqvtq(dOv)oHkCv~koLj(DSpc7WhEm at 8%{r4-1mV0ABPX|P!=n38?GXOx(14L7h
+z4cD9R`afR0S|HL65qwy~)DUv1VKYir7i#Rrsg<fEZXLm?9R>pAXn`2QsVxVh52ps~
+zBLueXY(^aFq%L52*K)w7G3W>bh=!mecFUhOO>ZiOalUg`{L?y(^Su>_C7kb`K+NNO
+zzXxIsry4c_N%K|X6wdeHihs0>-!J@{`^szZejy(SllKdoK<K|;h+q85Tljuqdd`72
+zpMKuLx^j*x>%I5bZ+=s+ESZRF|Bc>>-ALb1-pK3PE7n!oBl9-3-y?3-)Vii}o9(%P
+zE&{aH;`BgH#|1NUiCo8UR-b1y;Q2gpPG13CFenmTUwp<lm(_PK3`nJ8^R{s)F%O8(
+zfRF-2^}@89US087$0Q(=MkB5>4d{W&bAH<C7W472gqJEzk*;=GXUM^|G at +HCzh)W5
+z+05!oGie-^2c2s#+OSUS2LY<anq~Ch at 5?A$Xr|y*VAinNaqpZ_b^yJnaAOFmBypVK
+zInMWSn*C{-{aQ}#!Sek2`Pm_OZyRxPI5RhSm{_6xrvT&MsU at EA^0REm>|{6N>)%W8
+z?Hw|LqX$t{3;OtseNotrbd64ur;D*l6tl7^wNl3gE487PJB(HQmp|4HZ8<kfwp66*
+z2DxoC8QYJ>+=_0q44Larn)&Nag*uHpytfjqZficfY#0_BHF-TW9WBqY)Kyn>aNIwo
+zas58cey-GC!Hlw5_}i=fi at o}3((W*wgZ<&j-qWVHzjMpx*-7}MnGx|V&fEz`M(x$~
+zm)k}D0Q5D|A459Zkdr&F=fGzed8t>g;a<FW@%BY995wIlNY{A#%NH-EU%z-k09acG
+zQ$`CzTO)HDQ%6P#B{>nB|6~{pt at IroofW%eaTL&akxT@>l!f$$QS~mW3LsYw_4To)
+z;YgISeU_$4N90r-;lvWa<*2&*u)?<Dv{@8dDS`R;^+~wtF|2WSlt at u4*l5-JI?HpM
+z%k}2z at Q~w$<G}47k;Q1f0`Gw at eUIPF2^}>wQZ5a~!o^-@^*fiZ>SAC?p<P`X@>(9K
+z(ra099I9HEYSUFG4Bu`weyv?xV0--r&Utu&^HT}dXq+xn>N|8Cm6heWbZ7Tdvc#)H
+z52-Kp6J~R at _p^Nr#SOK$8{x%Cjv6F=Q%FZozGg5F<%RLThV`o)6mmKz+zeUOF6UHS
+zM2Lt!SiX0>ZuX&CFH-e8OOHGfr}XyhsZRBf5je8z5iIoJ68S<B%UG?gWZf{Y!ICCL
+zM=p_b#5IaAJ0!7`qcBgrF9v>liuu=u-E0EEg2ea!D2_or+rinzpm!2m5Q#Fyva6O^
+zizV6n at W_0VS@m+M-L5R&G4XPo&chH)2o47Fv>mSg`|y;!y!1In<md94x<1;0zt6|=
+zvo$sZ3Ip=dPDznPh3P}DpLM)rqPw$^d?rY3Kk>-BzfqjtmljrFAmTea at b7ENrbPb3
+z6{Zz|fk$=6^d%aOC`1r3PT{Q(`zNBvZfmh$Kc;hW_a{;dAb)4 at TE2VyGw<ACPh!Zv
+zRvU19Zmz>uIb7^~TaTC>L84rNiruRod`o%i at K50g*D_Z$_pVGZFQkj`lnMPkb at 3^3
+zbcz0{R`uIPN#>1McZrho1D553RO!O8+ at T`D2fobHQW{eoSZa?KCra0^TC(z at UQ@&x
+z@%0|dkOpH{kcQKbEFw1H$>;==w?zL&l=>m1$G{zC*zKa;&8v#eoo1v$KK|yn0gtzv
+z=ol7%-A^HA?kbMol-xp-f__Nao=!*bJcPMFs#!g)Iz+VOmIYlezm=>_e#i^Q;(nbu
+zFt*SC{~q`PQZVF8V8GM-^Wp{G{}}i-PU5y!M#c{R8TQt4t+KxakTYZ+UVMm)A;~R-
+zr{+`$FpEKsrK1wqAHN#pI&`4aIeNfEM-|~CA`Dbd4+%42t=2gv=;*w9VZ$Ub(NERK
+z*#|?sEHO>>lK$Ofdt-|a(Z%jO?dQLHaI&JMjR%FljfOghN4~R2=rD{*daNAeW6xN&
+zlWP}^CFc$4<XShQOKI_QD^dB1iLYvJI$jnm-Th^3F5QwvL?)(?ekP=dSc>~Nm9)WD
+zuB^KW$NThZeHw*`hk3Qzty|Iw=PhP-4iW`#2D4};mryt74gGqA2Di^@L(qR8lou~T
+z!Px*DhyVUV0!T(gS&&{rR+Q0N-^JL5@&7r3|I?V{e;R``34?`$vw=Iqf1gkOzsuA9
+zAC><fj^4h|c}LBQpEv4y`Rc_BY{VBYnE&q_+1Xk%xLI4xs!2sJu_Je!Ruf&>OfFgZ
+zb;~DEq%(XEcgAs>CgO#u7hZBAQzWA1KR at L55+@;Fl2P26NZ;Xwj3P)BRwJr}x+v37
+z+zcP48+k<P8mpPp_a^P&_$8Dl&*N4eg5MhYt&kOywuPJawz=>0Ib(Cl$fBZR=O{<L
+zxP9$3{t>?Xdf3S$fPXYQtLr<-hrUD#p5l46w|>3S8dvcHp^fGbmYhzqznCdnm&T{Z
+zr?+y#4iP>VBvP5(PNJu3z*0xKiGoLmEAgXY|Bz^`)gXwsW`OIPr|GR6*+VJ)9kzut
+zpiBG(2VZ;-UL$~N2{m;ii}iD~%bPEhP1LI}Ty~0+M`u-+781W0OTc!ThIygAQ3a)X
+zvM`Jghh!K<86Egig~6n_0aDF(p^Zjj5wGyvKjIZB3+;Z3XRD-|AG0otlANaT^ipq=
+zt)a{)h&A3(SYwtzeJjaPpn!2zh~_DBwz*Nw;aj{=vY3;P6;yscXUxDEOw2<4k7JRG
+z*AD4VQ at o$-WW9cYjtUd_^dd6bE9QC!{&h-?`I_U{u561ABWi;VL+C22!Ib#3jV at 1r
+z|Ka5lTwBo>uj7cpP|J&L#yy<ls7lFlBPr!@P7Zz*Ku!O<wkA<r6TXDWsJX{3MnjBB
+zO{jz~?fs?#6a7|A_&`_%jH!WN>V at RQ6G_#R{XaN+h&+;tc_KMn{&_^LRla}mn{uL=
+z_JXL*QjE(uOJ_y*dYcN?Xne)+ZC9|cbDo4`tiL2`SDa`wQ6pa{>Jag%4J>D*4w!rC
+zP0ewbc#&_Ac{7~dydU?glASvq*?xz+>$^+7YoA<SP at p9_oR>i-rD>$eE^jB*@aBJ2
+zb}nE|Tv;3+MGL-Aq?VS_Y9U(iRl=JhDhUK5ibw)JYQ-3XL_-pips-pYMXRz@#YYu<
+zR6kP%Rt1aTqgrXTrF3g+Rd!vJ(p5 at pyMPZAEw%2skePTVb0>EEknqX;=FI>6 at 408@
+z-tRLj?fVPg`3)bFSSE{?g#33^XObjs{*D{Dsf}gT2WJhKU+Z!-u;AQ_C&CNEZ>D{l
+z_UQgs^&TO)@L$9vd)_?PzVz<4C7Z8|+^Rk~@tp6x$;)ni)-SoH at yhb!%KMG!?e*#B
+ziZ&dXGsd-i?m at Sv%H+~BlTrj{M}~f%`D?>=adOdtsXHqhRxa<m`c at y4^PP_ss_)yj
+zM;0^%^z&GAD}QtN!<YScm#x1)Vbh6+2L<1zei7!^RP;iJE`QI at re8lchel6I+~9g3
+zVC82ILkm}o$o{8WjqrS1Yx9!gur0FOop-`6UT-s1xW5+Bd at 5WpS3L2D>|=H5ZM~EI
+zTC$I<5dEk8YM+go1<|#BeZF}$!Yi+HOGQw5xu|(kziI7{pX9c<6wQ+dk10JpaL|O#
+zWKH9gfb*Y~`%KuElYZQP=u+>0%Oj3HaUC6Y>w$AV<(m_f6P6RIiFJ-FaalYj%%`na
+zvF6X;8_zu+{@w7+k0Sp#yn1s<tj~-lc}kq$@&}K$xSnV``^G1~JJZ$3g<1!tuWHxW
+zmc>v!^zaq_*NceWpwp`iCbh~KS$EWRvi}h3;+d3;^=D4 at cUmuv9yn^%-VXVo!@H7i
+zv=<#}S4Czoe5J1DZcT~quJ_K)KJL47hwUvh9!lz$9(rNZeo=;d%J_#8>DDzBUYEjm
+zjH=k?eDJ5jTF-)e4~7=+zt-V-_Hiq;alLv!?}QpTsyqJf57xi>F+U8UTBFbpOd+?O
+z*3<u0Mcwr&fnR8aujkQkS`Ul)b@;@bHa#j{Dv6QF$4{5o2vm0mNuPnfLlbE|(1m-!
+z)Qb8^zB2~VCs61NAL|)U6?)rUqIQ+}ZTR59{D4l4XP>IdQmXVOwGK^N&kD(7LzFtL
+z(WKCtj2Hy at g}FF<c!Bu=MRI}-G3r%Hb*fs4G1zxA6l464&B!#VHN5A$W9NH8OOLhk
+z3Zqi3<^>GH0MprkOsyK81XNEUdJJU9D>;-7(YnJ4J`94QEaqG`LaZ>VB+yogfg?4k
+z(tDaKTXuSYtNO0n(gL=SdQ#LY7;rq;3%e=$;Urqbjr!K3vg$>M!WWtY)Z@{I#XJM#
+z#!x7xM1^*-ikoEk^Vlz*&=KXrExt at +;Jd}V4 at M0}qJ!cF{ph{9X(GtgAHoX3KplX_
+zKsEzQH5%1og+`pFFesEJl_7?<Hup6u66)tK2YwakH5$9ddn1Y0h%p#+hUqG!QL$KM
+z<mTqgojkJ&V)q0&$79?WUm{nkg at CmRjf0p+R{IC70Coe!jk6_i3j|$gsd?CFsP5W0
+ztYtm0?*ls&i+j*mBAXFAp{KILK1FLi;TGpmQAyM1a1ptkIKPb}USulR4n1i*U at trG
+z?9&MBDRv2c^ahJ<D_G18$g}kXSL?1ci}NAg(a%woA12JJ&_`pU+qeljqdH3jMqH{g
+zaZ90|v8Hk(;7-98YV7I5Vr~y+VWaeVO?H$<Lzf0grdEk+HaB>MD)0RONTLj4MlUPq
+z!(y(5v4q7Nlc}WL!OiMSNp=0wg`$*DI3YpIVKE28^pCNa`VH?x!oq^XQv&$Wdm1ip
+zc?ZxQZtVM)h)C!pxkMNuis1(jsoSgm1t#~mp;qJh8W=|c$IXz2CGlgkZoWGBC+H+b
+zz>Eq5f;lYah$IqL1hrf?RVw2rZ+NHrk6<v at VNe1}1anx-OBRsG{8TiabKX3Vb^~O1
+z9%R7l+fS(^syIOy5G>@6wo!Ow;~wCml8#$qa0ZD>TOyPneYZYvauK*T9K^tf#KXUl
+z&|rzcfN2gaakir_uO7Ts4K~K>X2U8Hn2uTK&mXk=`}KwEpyYfAnh2TPp-Hc6Er}f~
+z5{CH)GGKwsq%aYxk5pE7GR2vqx(2dscd3AcN45i9!uSK9q+1yD0|dPZ41y<e#a0rT
+z7A2S;eY&zFIvq;TIMBrp)5NlegpQJlrBX5$Svq2?Dx?<DxY90-v-gp(bi~3CG8=W7
+zZ{-b+JPzy!(DUGGEG=`y4&+A<kaaED0O&)2#@&}*=?E?4VIxV}PTihW3RS5TdKO&i
+z*wZ9-Op;hWi$CO<_3KWz_ob-(L2Ofp){?OCI<3rPP%BN2tyh>|^Z81^-vm?RVrO0;
+z;ps#=$m5xyn8y9!YLA!Lf=swfLW3Z2iTr{TXWUEt4IDiYN)tZHM>UeLj3E5Q8o6)q
+z6!Xjmut=4ivlskG!qb8XgZM))P3W4P3>LXKkv+Y<cZ<Y!oWi_0Q<_fzbqhRw_+mrc
+zyMsg(Nn;%pj;W`p?@D1BJRiuO0Y*F_QCY>5yOFu@)?k+=2zL>Li;t6`ZoLSNj5r}Y
+zD4bv0J1=e9AOlNu3}D9_=0(DSw!#ocGuEb?A6|VAM#vqz5pu<w1f~t)pzezmyEWzD
+zwNATo^pUS4w9rBRB0D#hOo5O!5$u7zS4d*Vq$`xh>6sc8ztmUC#=o8eVSi*-pabDi
+zk-rsnkj1Ons)8fXcX$FGFGr6hBs9x)0wK5WwmUDMhkUmaeD^vwOdd=nqvQCcxPE+x
+zPc76qH at gnkGnoWM9j=2K=M?NN-3~HD*tK823rJWnb6|j at j=W;o*{Vb+o~;1K`#P6J
+zM6k?3Lx9R=y(DDhIB1Tpy~rNb`%_6^DE3nm`1NgHw&Ri;#QF^g5r8GlLrcOk#r_%i
+za~fqs20+C)0*?}S?aay`@lpQxqkiM|&FWyV+GUtSa2MCDBvDbP_zVFDeX6TWgK88o
+zh~2?R*OJh5H4-{_o;aCZr0E6R`NP>^KQ3^{CM$xPqnc%xT2W7zV5f+**b&;nq}n`B
+zFaH26Jp(K<7PCm)eipj>rR0o-OQtA{X#(r_7_G^W&0R6%F|8qA0oe=4c(*v_02jF%
+zi~j0n!W%<_!lbh<$+F)X{xaCT_$aWokV||PoK(uo=ErtfMtJpy@!|?Y5r175dWZ`P
+zZ at Z!l21Ryv=uiK^Bg<j&>J_^|k~nz3=#L4$t(@x`=v|3aYgB2CYLj}IN|bF<8PWB)
+zMX#t!lXk(oqYLoBf~PaLnu`uW)4?;+bCXjds|JLF<awaaYgpW0z$<WU+Uhn+w=iOz
+zp5TsMKL&o{3E8^<104nob6CugpK#%<fpW(-TzGHKe9-i5S9WY$Yq($zL|oLIb8RBr
+z<_BPdcqTIRBrL4u!jV!WApHZ6Jw~@riwy@|a-po^x?KC3>)O_F$gRuQr!0X_AZMR~
+zHn`VjUgUx?x(Jw0JfSAE48J`W$O+IV;qTk`T;`&aU8_C(>3p<)AcGqpg$W+eKq3ho
+z_;o;<#mfS`dJs~8F&|v#Vm>{5xz!YOymD<hjICcGQg|q14vYEv4Hi+X)26Byb7NMo
+z?>dqX!}DL@{E-X<xhub!g^|JAVompuC(jS4efTmXeW at R0;yh#m*KgJ>77|$!t;$SS
+z==quN_BrMG5e$NM7z938nCIJBOd1p|67bmN%i?{4T at Yju%#k>->>djkwa{onYacY2
+zTga=eqx+wRSuqm24?M$be`f)E*2ALEs+e4{P(xbs7*id1<rri)1JW}ZyXQ4dz400+
+zR%k^kxj~`UbOZS#-8n7wD+#1K+b&Y`b1W`AKbX{L^zjqdCTB*z3D1`nP!f-{pBsxv
+zFXbimEa~xcTc)+R^<6?ys~gz!$KSpAxy+IpVL9nWVf^gzi4+xmjNLmo6gVJTElU7r
+zY5&nx2qujMU*S{U%q9n5v{n+YNGI80v-g=7CO}8N4Y2SW&m0!>*q`~y)>S0fA0Sg2
+z)Or&k^i1#DyRu-6J%nKq#NbgWI0<DNpHr<1vJ!QcYSAq9B2(Hk<+I`Q+Xmlvp}p(f
+zizQB;lN0w9tX$hIaF0IrR#G~Ai~0T<78yEde%G;g=h;|o>)0%Oub!<jwBMx$4VLvl
+z>-0{r^u=s&pf|YLb_%ff!+F!^cJEa1w?7%OW53~z%(Fc%qG0sT#N*f(!Mz2Jjum|K
+v*TB{daW)mXcgNWHe{Qf-kwXY3aKyLml}U)}3r44?H2Cuc2z+`Yc%S+|G|MRK
+
+diff --git a/lib/mcollective/vendor/json/java/src/json/ext/ByteListTranscoder.java b/lib/mcollective/vendor/json/java/src/json/ext/ByteListTranscoder.java
+deleted file mode 100644
+index ed9e54b..0000000
+--- a/lib/mcollective/vendor/json/java/src/json/ext/ByteListTranscoder.java
++++ /dev/null
+@@ -1,167 +0,0 @@
+-/*
+- * This code is copyrighted work by Daniel Luz <dev at mernen dot com>.
+- *
+- * Distributed under the Ruby and GPLv2 licenses; see COPYING and GPL files
+- * for details.
+- */
+-package json.ext;
+-
+-import org.jruby.exceptions.RaiseException;
+-import org.jruby.runtime.ThreadContext;
+-import org.jruby.util.ByteList;
+-
+-/**
+- * A class specialized in transcoding a certain String format into another,
+- * using UTF-8 ByteLists as both input and output.
+- */
+-abstract class ByteListTranscoder {
+-    protected final ThreadContext context;
+-
+-    protected ByteList src;
+-    protected int srcEnd;
+-    /** Position where the last read character started */
+-    protected int charStart;
+-    /** Position of the next character to read */
+-    protected int pos;
+-
+-    private ByteList out;
+-    /**
+-     * When a character that can be copied straight into the output is found,
+-     * its index is stored on this variable, and copying is delayed until
+-     * the sequence of characters that can be copied ends.
+-     *
+-     * <p>The variable stores -1 when not in a plain sequence.
+-     */
+-    private int quoteStart = -1;
+-
+-    protected ByteListTranscoder(ThreadContext context) {
+-        this.context = context;
+-    }
+-
+-    protected void init(ByteList src, ByteList out) {
+-        this.init(src, 0, src.length(), out);
+-    }
+-
+-    protected void init(ByteList src, int start, int end, ByteList out) {
+-        this.src = src;
+-        this.pos = start;
+-        this.charStart = start;
+-        this.srcEnd = end;
+-        this.out = out;
+-    }
+-
+-    /**
+-     * Returns whether there are any characters left to be read.
+-     */
+-    protected boolean hasNext() {
+-        return pos < srcEnd;
+-    }
+-
+-    /**
+-     * Returns the next character in the buffer.
+-     */
+-    private char next() {
+-        return src.charAt(pos++);
+-    }
+-
+-    /**
+-     * Reads an UTF-8 character from the input and returns its code point,
+-     * while advancing the input position.
+-     *
+-     * <p>Raises an {@link #invalidUtf8()} exception if an invalid byte
+-     * is found.
+-     */
+-    protected int readUtf8Char() {
+-        charStart = pos;
+-        char head = next();
+-        if (head <= 0x7f) { // 0b0xxxxxxx (ASCII)
+-            return head;
+-        }
+-        if (head <= 0xbf) { // 0b10xxxxxx
+-            throw invalidUtf8(); // tail byte with no head
+-        }
+-        if (head <= 0xdf) { // 0b110xxxxx
+-            ensureMin(1);
+-            int cp = ((head  & 0x1f) << 6)
+-                     | nextPart();
+-            if (cp < 0x0080) throw invalidUtf8();
+-            return cp;
+-        }
+-        if (head <= 0xef) { // 0b1110xxxx
+-            ensureMin(2);
+-            int cp = ((head & 0x0f) << 12)
+-                     | (nextPart()  << 6)
+-                     | nextPart();
+-            if (cp < 0x0800) throw invalidUtf8();
+-            return cp;
+-        }
+-        if (head <= 0xf7) { // 0b11110xxx
+-            ensureMin(3);
+-            int cp = ((head & 0x07) << 18)
+-                     | (nextPart()  << 12)
+-                     | (nextPart()  << 6)
+-                     | nextPart();
+-            if (!Character.isValidCodePoint(cp)) throw invalidUtf8();
+-            return cp;
+-        }
+-        // 0b11111xxx?
+-        throw invalidUtf8();
+-    }
+-
+-    /**
+-     * Throws a GeneratorError if the input list doesn't have at least this
+-     * many bytes left.
+-     */
+-    protected void ensureMin(int n) {
+-        if (pos + n > srcEnd) throw incompleteUtf8();
+-    }
+-
+-    /**
+-     * Reads the next byte of a multi-byte UTF-8 character and returns its
+-     * contents (lower 6 bits).
+-     *
+-     * <p>Throws a GeneratorError if the byte is not a valid tail.
+-     */
+-    private int nextPart() {
+-        char c = next();
+-        // tail bytes must be 0b10xxxxxx
+-        if ((c & 0xc0) != 0x80) throw invalidUtf8();
+-        return c & 0x3f;
+-    }
+-
+-
+-    protected void quoteStart() {
+-        if (quoteStart == -1) quoteStart = charStart;
+-    }
+-
+-    /**
+-     * When in a sequence of characters that can be copied directly,
+-     * interrupts the sequence and copies it to the output buffer.
+-     *
+-     * @param endPos The offset until which the direct character quoting should
+-     *               occur. You may pass {@link #pos} to quote until the most
+-     *               recently read character, or {@link #charStart} to quote
+-     *               until the character before it.
+-     */
+-    protected void quoteStop(int endPos) {
+-        if (quoteStart != -1) {
+-            out.append(src, quoteStart, endPos - quoteStart);
+-            quoteStart = -1;
+-        }
+-    }
+-
+-    protected void append(int b) {
+-        out.append(b);
+-    }
+-
+-    protected void append(byte[] origin, int start, int length) {
+-        out.append(origin, start, length);
+-    }
+-
+-
+-    protected abstract RaiseException invalidUtf8();
+-
+-    protected RaiseException incompleteUtf8() {
+-        return invalidUtf8();
+-    }
+-}
+diff --git a/lib/mcollective/vendor/json/java/src/json/ext/Generator.java b/lib/mcollective/vendor/json/java/src/json/ext/Generator.java
+deleted file mode 100644
+index 230d68f..0000000
+--- a/lib/mcollective/vendor/json/java/src/json/ext/Generator.java
++++ /dev/null
+@@ -1,441 +0,0 @@
+-/*
+- * This code is copyrighted work by Daniel Luz <dev at mernen dot com>.
+- * 
+- * Distributed under the Ruby and GPLv2 licenses; see COPYING and GPL files
+- * for details.
+- */
+-package json.ext;
+-
+-import org.jruby.Ruby;
+-import org.jruby.RubyArray;
+-import org.jruby.RubyBignum;
+-import org.jruby.RubyBoolean;
+-import org.jruby.RubyClass;
+-import org.jruby.RubyFixnum;
+-import org.jruby.RubyFloat;
+-import org.jruby.RubyHash;
+-import org.jruby.RubyNumeric;
+-import org.jruby.RubyString;
+-import org.jruby.runtime.ThreadContext;
+-import org.jruby.runtime.builtin.IRubyObject;
+-import org.jruby.util.ByteList;
+-
+-public final class Generator {
+-    private Generator() {
+-        throw new RuntimeException();
+-    }
+-
+-    /**
+-     * Encodes the given object as a JSON string, using the given handler.
+-     */
+-    static <T extends IRubyObject> RubyString
+-            generateJson(ThreadContext context, T object,
+-                         Handler<? super T> handler, IRubyObject[] args) {
+-        Session session = new Session(context, args.length > 0 ? args[0]
+-                                                               : null);
+-        return session.infect(handler.generateNew(session, object));
+-    }
+-
+-    /**
+-     * Encodes the given object as a JSON string, detecting the appropriate handler
+-     * for the given object.
+-     */
+-    static <T extends IRubyObject> RubyString
+-            generateJson(ThreadContext context, T object, IRubyObject[] args) {
+-        Handler<? super T> handler = getHandlerFor(context.getRuntime(), object);
+-        return generateJson(context, object, handler, args);
+-    }
+-
+-    /**
+-     * Encodes the given object as a JSON string, using the appropriate
+-     * handler if one is found or calling #to_json if not.
+-     */
+-    public static <T extends IRubyObject> RubyString
+-            generateJson(ThreadContext context, T object,
+-                         GeneratorState config) {
+-        Session session = new Session(context, config);
+-        Handler<? super T> handler = getHandlerFor(context.getRuntime(), object);
+-        return handler.generateNew(session, object);
+-    }
+-
+-    /**
+-     * Returns the best serialization handler for the given object.
+-     */
+-    // Java's generics can't handle this satisfactorily, so I'll just leave
+-    // the best I could get and ignore the warnings
+-    @SuppressWarnings("unchecked")
+-    private static <T extends IRubyObject>
+-            Handler<? super T> getHandlerFor(Ruby runtime, T object) {
+-        RubyClass metaClass = object.getMetaClass();
+-        if (metaClass == runtime.getString()) return (Handler)STRING_HANDLER;
+-        if (metaClass == runtime.getFixnum()) return (Handler)FIXNUM_HANDLER;
+-        if (metaClass == runtime.getHash())   return (Handler)HASH_HANDLER;
+-        if (metaClass == runtime.getArray())  return (Handler)ARRAY_HANDLER;
+-        if (object.isNil())                   return (Handler)NIL_HANDLER;
+-        if (object == runtime.getTrue())      return (Handler)TRUE_HANDLER;
+-        if (object == runtime.getFalse())     return (Handler)FALSE_HANDLER;
+-        if (metaClass == runtime.getFloat())  return (Handler)FLOAT_HANDLER;
+-        if (metaClass == runtime.getBignum()) return (Handler)BIGNUM_HANDLER;
+-        return GENERIC_HANDLER;
+-    }
+-
+-
+-    /* Generator context */
+-
+-    /**
+-     * A class that concentrates all the information that is shared by
+-     * generators working on a single session.
+-     * 
+-     * <p>A session is defined as the process of serializing a single root
+-     * object; any handler directly called by container handlers (arrays and
+-     * hashes/objects) shares this object with its caller.
+-     * 
+-     * <p>Note that anything called indirectly (via {@link GENERIC_HANDLER})
+-     * won't be part of the session.
+-     */
+-    static class Session {
+-        private final ThreadContext context;
+-        private GeneratorState state;
+-        private IRubyObject possibleState;
+-        private RuntimeInfo info;
+-        private StringEncoder stringEncoder;
+-
+-        private boolean tainted = false;
+-        private boolean untrusted = false;
+-
+-        Session(ThreadContext context, GeneratorState state) {
+-            this.context = context;
+-            this.state = state;
+-        }
+-
+-        Session(ThreadContext context, IRubyObject possibleState) {
+-            this.context = context;
+-            this.possibleState = possibleState == null || possibleState.isNil()
+-                    ? null : possibleState;
+-        }
+-
+-        public ThreadContext getContext() {
+-            return context;
+-        }
+-
+-        public Ruby getRuntime() {
+-            return context.getRuntime();
+-        }
+-
+-        public GeneratorState getState() {
+-            if (state == null) {
+-                state = GeneratorState.fromState(context, getInfo(), possibleState);
+-            }
+-            return state;
+-        }
+-
+-        public RuntimeInfo getInfo() {
+-            if (info == null) info = RuntimeInfo.forRuntime(getRuntime());
+-            return info;
+-        }
+-
+-        public StringEncoder getStringEncoder() {
+-            if (stringEncoder == null) {
+-                stringEncoder = new StringEncoder(context, getState().asciiOnly());
+-            }
+-            return stringEncoder;
+-        }
+-
+-        public void infectBy(IRubyObject object) {
+-            if (object.isTaint()) tainted = true;
+-            if (object.isUntrusted()) untrusted = true;
+-        }
+-
+-        public <T extends IRubyObject> T infect(T object) {
+-            if (tainted) object.setTaint(true);
+-            if (untrusted) object.setUntrusted(true);
+-            return object;
+-        }
+-    }
+-
+-
+-    /* Handler base classes */
+-
+-    private static abstract class Handler<T extends IRubyObject> {
+-        /**
+-         * Returns an estimative of how much space the serialization of the
+-         * given object will take. Used for allocating enough buffer space
+-         * before invoking other methods.
+-         */
+-        int guessSize(Session session, T object) {
+-            return 4;
+-        }
+-
+-        RubyString generateNew(Session session, T object) {
+-            ByteList buffer = new ByteList(guessSize(session, object));
+-            generate(session, object, buffer);
+-            return RubyString.newString(session.getRuntime(), buffer);
+-        }
+-
+-        abstract void generate(Session session, T object, ByteList buffer);
+-    }
+-
+-    /**
+-     * A handler that returns a fixed keyword regardless of the passed object.
+-     */
+-    private static class KeywordHandler<T extends IRubyObject>
+-            extends Handler<T> {
+-        private final ByteList keyword;
+-
+-        private KeywordHandler(String keyword) {
+-            this.keyword = new ByteList(ByteList.plain(keyword), false);
+-        }
+-
+-        @Override
+-        int guessSize(Session session, T object) {
+-            return keyword.length();
+-        }
+-
+-        @Override
+-        RubyString generateNew(Session session, T object) {
+-            return RubyString.newStringShared(session.getRuntime(), keyword);
+-        }
+-
+-        @Override
+-        void generate(Session session, T object, ByteList buffer) {
+-            buffer.append(keyword);
+-        }
+-    }
+-
+-
+-    /* Handlers */
+-
+-    static final Handler<RubyBignum> BIGNUM_HANDLER =
+-        new Handler<RubyBignum>() {
+-            @Override
+-            void generate(Session session, RubyBignum object, ByteList buffer) {
+-                // JRUBY-4751: RubyBignum.to_s() returns generic object
+-                // representation (fixed in 1.5, but we maintain backwards
+-                // compatibility; call to_s(IRubyObject[]) then
+-                buffer.append(((RubyString)object.to_s(IRubyObject.NULL_ARRAY)).getByteList());
+-            }
+-        };
+-
+-    static final Handler<RubyFixnum> FIXNUM_HANDLER =
+-        new Handler<RubyFixnum>() {
+-            @Override
+-            void generate(Session session, RubyFixnum object, ByteList buffer) {
+-                buffer.append(object.to_s().getByteList());
+-            }
+-        };
+-
+-    static final Handler<RubyFloat> FLOAT_HANDLER =
+-        new Handler<RubyFloat>() {
+-            @Override
+-            void generate(Session session, RubyFloat object, ByteList buffer) {
+-                double value = RubyFloat.num2dbl(object);
+-
+-                if (Double.isInfinite(value) || Double.isNaN(value)) {
+-                    if (!session.getState().allowNaN()) {
+-                        throw Utils.newException(session.getContext(),
+-                                Utils.M_GENERATOR_ERROR,
+-                                object + " not allowed in JSON");
+-                    }
+-                }
+-                buffer.append(((RubyString)object.to_s()).getByteList());
+-            }
+-        };
+-
+-    static final Handler<RubyArray> ARRAY_HANDLER =
+-        new Handler<RubyArray>() {
+-            @Override
+-            int guessSize(Session session, RubyArray object) {
+-                GeneratorState state = session.getState();
+-                int depth = state.getDepth();
+-                int perItem =
+-                    4                                           // prealloc
+-                    + (depth + 1) * state.getIndent().length()  // indent
+-                    + 1 + state.getArrayNl().length();          // ',' arrayNl
+-                return 2 + object.size() * perItem;
+-            }
+-
+-            @Override
+-            void generate(Session session, RubyArray object, ByteList buffer) {
+-                ThreadContext context = session.getContext();
+-                Ruby runtime = context.getRuntime();
+-                GeneratorState state = session.getState();
+-                int depth = state.increaseDepth();
+-
+-                ByteList indentUnit = state.getIndent();
+-                byte[] shift = Utils.repeat(indentUnit, depth);
+-
+-                ByteList arrayNl = state.getArrayNl();
+-                byte[] delim = new byte[1 + arrayNl.length()];
+-                delim[0] = ',';
+-                System.arraycopy(arrayNl.unsafeBytes(), arrayNl.begin(), delim, 1,
+-                        arrayNl.length());
+-
+-                session.infectBy(object);
+-
+-                buffer.append((byte)'[');
+-                buffer.append(arrayNl);
+-                boolean firstItem = true;
+-                for (int i = 0, t = object.getLength(); i < t; i++) {
+-                    IRubyObject element = object.eltInternal(i);
+-                    session.infectBy(element);
+-                    if (firstItem) {
+-                        firstItem = false;
+-                    } else {
+-                        buffer.append(delim);
+-                    }
+-                    buffer.append(shift);
+-                    Handler<IRubyObject> handler = getHandlerFor(runtime, element);
+-                    handler.generate(session, element, buffer);
+-                }
+-
+-                state.decreaseDepth();
+-                if (arrayNl.length() != 0) {
+-                    buffer.append(arrayNl);
+-                    buffer.append(shift, 0, state.getDepth() * indentUnit.length());
+-                }
+-
+-                buffer.append((byte)']');
+-            }
+-        };
+-
+-    static final Handler<RubyHash> HASH_HANDLER =
+-        new Handler<RubyHash>() {
+-            @Override
+-            int guessSize(Session session, RubyHash object) {
+-                GeneratorState state = session.getState();
+-                int perItem =
+-                    12    // key, colon, comma
+-                    + (state.getDepth() + 1) * state.getIndent().length()
+-                    + state.getSpaceBefore().length()
+-                    + state.getSpace().length();
+-                return 2 + object.size() * perItem;
+-            }
+-
+-            @Override
+-            void generate(final Session session, RubyHash object,
+-                          final ByteList buffer) {
+-                ThreadContext context = session.getContext();
+-                final Ruby runtime = context.getRuntime();
+-                final GeneratorState state = session.getState();
+-                final int depth = state.increaseDepth();
+-
+-                final ByteList objectNl = state.getObjectNl();
+-                final byte[] indent = Utils.repeat(state.getIndent(), depth);
+-                final ByteList spaceBefore = state.getSpaceBefore();
+-                final ByteList space = state.getSpace();
+-
+-                buffer.append((byte)'{');
+-                buffer.append(objectNl);
+-                object.visitAll(new RubyHash.Visitor() {
+-                    private boolean firstPair = true;
+-
+-                    @Override
+-                    public void visit(IRubyObject key, IRubyObject value) {
+-                        if (firstPair) {
+-                            firstPair = false;
+-                        } else {
+-                            buffer.append((byte)',');
+-                            buffer.append(objectNl);
+-                        }
+-                        if (objectNl.length() != 0) buffer.append(indent);
+-
+-                        STRING_HANDLER.generate(session, key.asString(), buffer);
+-                        session.infectBy(key);
+-
+-                        buffer.append(spaceBefore);
+-                        buffer.append((byte)':');
+-                        buffer.append(space);
+-
+-                        Handler<IRubyObject> valueHandler = getHandlerFor(runtime, value);
+-                        valueHandler.generate(session, value, buffer);
+-                        session.infectBy(value);
+-                    }
+-                });
+-                state.decreaseDepth();
+-                if (objectNl.length() != 0) {
+-                    buffer.append(objectNl);
+-                    if (indent.length != 0) {
+-                        for (int i = 0; i < state.getDepth(); i++) {
+-                            buffer.append(indent);
+-                        }
+-                    }
+-                }
+-                buffer.append((byte)'}');
+-            }
+-        };
+-
+-    static final Handler<RubyString> STRING_HANDLER =
+-        new Handler<RubyString>() {
+-            @Override
+-            int guessSize(Session session, RubyString object) {
+-                // for most applications, most strings will be just a set of
+-                // printable ASCII characters without any escaping, so let's
+-                // just allocate enough space for that + the quotes
+-                return 2 + object.getByteList().length();
+-            }
+-
+-            @Override
+-            void generate(Session session, RubyString object, ByteList buffer) {
+-                RuntimeInfo info = session.getInfo();
+-                RubyString src;
+-
+-                if (info.encodingsSupported() &&
+-                        object.encoding(session.getContext()) != info.utf8) {
+-                    src = (RubyString)object.encode(session.getContext(),
+-                                                    info.utf8);
+-                } else {
+-                    src = object;
+-                }
+-
+-                session.getStringEncoder().encode(src.getByteList(), buffer);
+-            }
+-        };
+-
+-    static final Handler<RubyBoolean> TRUE_HANDLER =
+-        new KeywordHandler<RubyBoolean>("true");
+-    static final Handler<RubyBoolean> FALSE_HANDLER =
+-        new KeywordHandler<RubyBoolean>("false");
+-    static final Handler<IRubyObject> NIL_HANDLER =
+-        new KeywordHandler<IRubyObject>("null");
+-
+-    /**
+-     * The default handler (<code>Object#to_json</code>): coerces the object
+-     * to string using <code>#to_s</code>, and serializes that string.
+-     */
+-    static final Handler<IRubyObject> OBJECT_HANDLER =
+-        new Handler<IRubyObject>() {
+-            @Override
+-            RubyString generateNew(Session session, IRubyObject object) {
+-                RubyString str = object.asString();
+-                return STRING_HANDLER.generateNew(session, str);
+-            }
+-
+-            @Override
+-            void generate(Session session, IRubyObject object, ByteList buffer) {
+-                RubyString str = object.asString();
+-                STRING_HANDLER.generate(session, str, buffer);
+-            }
+-        };
+-
+-    /**
+-     * A handler that simply calls <code>#to_json(state)</code> on the
+-     * given object.
+-     */
+-    static final Handler<IRubyObject> GENERIC_HANDLER =
+-        new Handler<IRubyObject>() {
+-            @Override
+-            RubyString generateNew(Session session, IRubyObject object) {
+-                IRubyObject result =
+-                    object.callMethod(session.getContext(), "to_json",
+-                          new IRubyObject[] {session.getState()});
+-                if (result instanceof RubyString) return (RubyString)result;
+-                throw session.getRuntime().newTypeError("to_json must return a String");
+-            }
+-
+-            @Override
+-            void generate(Session session, IRubyObject object, ByteList buffer) {
+-                RubyString result = generateNew(session, object);
+-                buffer.append(result.getByteList());
+-            }
+-        };
+-}
+diff --git a/lib/mcollective/vendor/json/java/src/json/ext/GeneratorMethods.java b/lib/mcollective/vendor/json/java/src/json/ext/GeneratorMethods.java
+deleted file mode 100644
+index 28a612d..0000000
+--- a/lib/mcollective/vendor/json/java/src/json/ext/GeneratorMethods.java
++++ /dev/null
+@@ -1,231 +0,0 @@
+-/*
+- * This code is copyrighted work by Daniel Luz <dev at mernen dot com>.
+- * 
+- * Distributed under the Ruby and GPLv2 licenses; see COPYING and GPL files
+- * for details.
+- */
+-package json.ext;
+-
+-import org.jruby.Ruby;
+-import org.jruby.RubyArray;
+-import org.jruby.RubyBoolean;
+-import org.jruby.RubyFixnum;
+-import org.jruby.RubyFloat;
+-import org.jruby.RubyHash;
+-import org.jruby.RubyInteger;
+-import org.jruby.RubyModule;
+-import org.jruby.RubyNumeric;
+-import org.jruby.RubyString;
+-import org.jruby.anno.JRubyMethod;
+-import org.jruby.runtime.ThreadContext;
+-import org.jruby.runtime.builtin.IRubyObject;
+-import org.jruby.util.ByteList;
+-
+-/**
+- * A class that populates the
+- * <code>Json::Ext::Generator::GeneratorMethods</code> module.
+- * 
+- * @author mernen
+- */
+-class GeneratorMethods {
+-    /**
+-     * Populates the given module with all modules and their methods
+-     * @param info
+-     * @param generatorMethodsModule The module to populate
+-     * (normally <code>JSON::Generator::GeneratorMethods</code>)
+-     */
+-    static void populate(RuntimeInfo info, RubyModule module) {
+-        defineMethods(module, "Array",      RbArray.class);
+-        defineMethods(module, "FalseClass", RbFalse.class);
+-        defineMethods(module, "Float",      RbFloat.class);
+-        defineMethods(module, "Hash",       RbHash.class);
+-        defineMethods(module, "Integer",    RbInteger.class);
+-        defineMethods(module, "NilClass",   RbNil.class);
+-        defineMethods(module, "Object",     RbObject.class);
+-        defineMethods(module, "String",     RbString.class);
+-        defineMethods(module, "TrueClass",  RbTrue.class);
+-
+-        info.stringExtendModule = module.defineModuleUnder("String")
+-                                            .defineModuleUnder("Extend");
+-        info.stringExtendModule.defineAnnotatedMethods(StringExtend.class);
+-    }
+-
+-    /**
+-     * Convenience method for defining methods on a submodule.
+-     * @param parentModule
+-     * @param submoduleName
+-     * @param klass
+-     */
+-    private static void defineMethods(RubyModule parentModule,
+-            String submoduleName, Class klass) {
+-        RubyModule submodule = parentModule.defineModuleUnder(submoduleName);
+-        submodule.defineAnnotatedMethods(klass);
+-    }
+-
+-
+-    public static class RbHash {
+-        @JRubyMethod(rest=true)
+-        public static IRubyObject to_json(ThreadContext context,
+-                IRubyObject vSelf, IRubyObject[] args) {
+-            return Generator.generateJson(context, (RubyHash)vSelf,
+-                    Generator.HASH_HANDLER, args);
+-        }
+-    }
+-
+-    public static class RbArray {
+-        @JRubyMethod(rest=true)
+-        public static IRubyObject to_json(ThreadContext context,
+-                IRubyObject vSelf, IRubyObject[] args) {
+-            return Generator.generateJson(context, (RubyArray)vSelf,
+-                    Generator.ARRAY_HANDLER, args);
+-        }
+-    }
+-
+-    public static class RbInteger {
+-        @JRubyMethod(rest=true)
+-        public static IRubyObject to_json(ThreadContext context,
+-                IRubyObject vSelf, IRubyObject[] args) {
+-            return Generator.generateJson(context, vSelf, args);
+-        }
+-    }
+-
+-    public static class RbFloat {
+-        @JRubyMethod(rest=true)
+-        public static IRubyObject to_json(ThreadContext context,
+-                IRubyObject vSelf, IRubyObject[] args) {
+-            return Generator.generateJson(context, (RubyFloat)vSelf,
+-                    Generator.FLOAT_HANDLER, args);
+-        }
+-    }
+-
+-    public static class RbString {
+-        @JRubyMethod(rest=true)
+-        public static IRubyObject to_json(ThreadContext context,
+-                IRubyObject vSelf, IRubyObject[] args) {
+-            return Generator.generateJson(context, (RubyString)vSelf,
+-                    Generator.STRING_HANDLER, args);
+-        }
+-
+-        /**
+-         * <code>{@link RubyString String}#to_json_raw(*)</code>
+-         *
+-         * <p>This method creates a JSON text from the result of a call to
+-         * {@link #to_json_raw_object} of this String.
+-         */
+-        @JRubyMethod(rest=true)
+-        public static IRubyObject to_json_raw(ThreadContext context,
+-                IRubyObject vSelf, IRubyObject[] args) {
+-            RubyHash obj = toJsonRawObject(context, Utils.ensureString(vSelf));
+-            return Generator.generateJson(context, obj,
+-                    Generator.HASH_HANDLER, args);
+-        }
+-
+-        /**
+-         * <code>{@link RubyString String}#to_json_raw_object(*)</code>
+-         *
+-         * <p>This method creates a raw object Hash, that can be nested into
+-         * other data structures and will be unparsed as a raw string. This
+-         * method should be used if you want to convert raw strings to JSON
+-         * instead of UTF-8 strings, e.g. binary data.
+-         */
+-        @JRubyMethod(rest=true)
+-        public static IRubyObject to_json_raw_object(ThreadContext context,
+-                IRubyObject vSelf, IRubyObject[] args) {
+-            return toJsonRawObject(context, Utils.ensureString(vSelf));
+-        }
+-
+-        private static RubyHash toJsonRawObject(ThreadContext context,
+-                                                RubyString self) {
+-            Ruby runtime = context.getRuntime();
+-            RubyHash result = RubyHash.newHash(runtime);
+-
+-            IRubyObject createId = RuntimeInfo.forRuntime(runtime)
+-                    .jsonModule.callMethod(context, "create_id");
+-            result.op_aset(context, createId, self.getMetaClass().to_s());
+-
+-            ByteList bl = self.getByteList();
+-            byte[] uBytes = bl.unsafeBytes();
+-            RubyArray array = runtime.newArray(bl.length());
+-            for (int i = bl.begin(), t = bl.begin() + bl.length(); i < t; i++) {
+-                array.store(i, runtime.newFixnum(uBytes[i] & 0xff));
+-            }
+-
+-            result.op_aset(context, runtime.newString("raw"), array);
+-            return result;
+-        }
+-
+-        @JRubyMethod(required=1, module=true)
+-        public static IRubyObject included(ThreadContext context,
+-                IRubyObject vSelf, IRubyObject module) {
+-            RuntimeInfo info = RuntimeInfo.forRuntime(context.getRuntime());
+-            return module.callMethod(context, "extend", info.stringExtendModule);
+-        }
+-    }
+-
+-    public static class StringExtend {
+-        /**
+-         * <code>{@link RubyString String}#json_create(o)</code>
+-         *
+-         * <p>Raw Strings are JSON Objects (the raw bytes are stored in an
+-         * array for the key "raw"). The Ruby String can be created by this
+-         * module method.
+-         */
+-        @JRubyMethod(required=1)
+-        public static IRubyObject json_create(ThreadContext context,
+-                IRubyObject vSelf, IRubyObject vHash) {
+-            Ruby runtime = context.getRuntime();
+-            RubyHash o = vHash.convertToHash();
+-            IRubyObject rawData = o.fastARef(runtime.newString("raw"));
+-            if (rawData == null) {
+-                throw runtime.newArgumentError("\"raw\" value not defined "
+-                                               + "for encoded String");
+-            }
+-            RubyArray ary = Utils.ensureArray(rawData);
+-            byte[] bytes = new byte[ary.getLength()];
+-            for (int i = 0, t = ary.getLength(); i < t; i++) {
+-                IRubyObject element = ary.eltInternal(i);
+-                if (element instanceof RubyFixnum) {
+-                    bytes[i] = (byte)RubyNumeric.fix2long(element);
+-                } else {
+-                    throw runtime.newTypeError(element, runtime.getFixnum());
+-                }
+-            }
+-            return runtime.newString(new ByteList(bytes, false));
+-        }
+-    }
+-
+-    public static class RbTrue {
+-        @JRubyMethod(rest=true)
+-        public static IRubyObject to_json(ThreadContext context,
+-                IRubyObject vSelf, IRubyObject[] args) {
+-            return Generator.generateJson(context, (RubyBoolean)vSelf,
+-                    Generator.TRUE_HANDLER, args);
+-        }
+-    }
+-
+-    public static class RbFalse {
+-        @JRubyMethod(rest=true)
+-        public static IRubyObject to_json(ThreadContext context,
+-                IRubyObject vSelf, IRubyObject[] args) {
+-            return Generator.generateJson(context, (RubyBoolean)vSelf,
+-                    Generator.FALSE_HANDLER, args);
+-        }
+-    }
+-
+-    public static class RbNil {
+-        @JRubyMethod(rest=true)
+-        public static IRubyObject to_json(ThreadContext context,
+-                IRubyObject vSelf, IRubyObject[] args) {
+-            return Generator.generateJson(context, vSelf,
+-                    Generator.NIL_HANDLER, args);
+-        }
+-    }
+-
+-    public static class RbObject {
+-        @JRubyMethod(rest=true)
+-        public static IRubyObject to_json(ThreadContext context,
+-                IRubyObject self, IRubyObject[] args) {
+-            return RbString.to_json(context, self.asString(), args);
+-        }
+-    }
+-}
+diff --git a/lib/mcollective/vendor/json/java/src/json/ext/GeneratorService.java b/lib/mcollective/vendor/json/java/src/json/ext/GeneratorService.java
+deleted file mode 100644
+index b8deb22..0000000
+--- a/lib/mcollective/vendor/json/java/src/json/ext/GeneratorService.java
++++ /dev/null
+@@ -1,42 +0,0 @@
+-/*
+- * This code is copyrighted work by Daniel Luz <dev at mernen dot com>.
+- * 
+- * Distributed under the Ruby and GPLv2 licenses; see COPYING and GPL files
+- * for details.
+- */
+-package json.ext;
+-
+-import java.io.IOException;
+-
+-import org.jruby.Ruby;
+-import org.jruby.RubyClass;
+-import org.jruby.RubyModule;
+-import org.jruby.runtime.load.BasicLibraryService;
+-
+-/**
+- * The service invoked by JRuby's {@link org.jruby.runtime.load.LoadService LoadService}.
+- * Defines the <code>JSON::Ext::Generator</code> module.
+- * @author mernen
+- */
+-public class GeneratorService implements BasicLibraryService {
+-    public boolean basicLoad(Ruby runtime) throws IOException {
+-        runtime.getLoadService().require("json/common");
+-        RuntimeInfo info = RuntimeInfo.initRuntime(runtime);
+-
+-        info.jsonModule = runtime.defineModule("JSON");
+-        RubyModule jsonExtModule = info.jsonModule.defineModuleUnder("Ext");
+-        RubyModule generatorModule = jsonExtModule.defineModuleUnder("Generator");
+-
+-        RubyClass stateClass =
+-            generatorModule.defineClassUnder("State", runtime.getObject(),
+-                                             GeneratorState.ALLOCATOR);
+-        stateClass.defineAnnotatedMethods(GeneratorState.class);
+-        info.generatorStateClass = stateClass;
+-
+-        RubyModule generatorMethods =
+-            generatorModule.defineModuleUnder("GeneratorMethods");
+-        GeneratorMethods.populate(info, generatorMethods);
+-
+-        return true;
+-    }
+-}
+diff --git a/lib/mcollective/vendor/json/java/src/json/ext/GeneratorState.java b/lib/mcollective/vendor/json/java/src/json/ext/GeneratorState.java
+deleted file mode 100644
+index dc99000..0000000
+--- a/lib/mcollective/vendor/json/java/src/json/ext/GeneratorState.java
++++ /dev/null
+@@ -1,473 +0,0 @@
+-/*
+- * This code is copyrighted work by Daniel Luz <dev at mernen dot com>.
+- * 
+- * Distributed under the Ruby and GPLv2 licenses; see COPYING and GPL files
+- * for details.
+- */
+-package json.ext;
+-
+-import org.jruby.Ruby;
+-import org.jruby.RubyBoolean;
+-import org.jruby.RubyClass;
+-import org.jruby.RubyHash;
+-import org.jruby.RubyInteger;
+-import org.jruby.RubyNumeric;
+-import org.jruby.RubyObject;
+-import org.jruby.RubyString;
+-import org.jruby.anno.JRubyMethod;
+-import org.jruby.runtime.Block;
+-import org.jruby.runtime.ObjectAllocator;
+-import org.jruby.runtime.ThreadContext;
+-import org.jruby.runtime.Visibility;
+-import org.jruby.runtime.builtin.IRubyObject;
+-import org.jruby.util.ByteList;
+-
+-/**
+- * The <code>JSON::Ext::Generator::State</code> class.
+- * 
+- * <p>This class is used to create State instances, that are use to hold data
+- * while generating a JSON text from a a Ruby data structure.
+- * 
+- * @author mernen
+- */
+-public class GeneratorState extends RubyObject {
+-    /**
+-     * The indenting unit string. Will be repeated several times for larger
+-     * indenting levels.
+-     */
+-    private ByteList indent = ByteList.EMPTY_BYTELIST;
+-    /**
+-     * The spacing to be added after a semicolon on a JSON object.
+-     * @see #spaceBefore
+-     */
+-    private ByteList space = ByteList.EMPTY_BYTELIST;
+-    /**
+-     * The spacing to be added before a semicolon on a JSON object.
+-     * @see #space
+-     */
+-    private ByteList spaceBefore = ByteList.EMPTY_BYTELIST;
+-    /**
+-     * Any suffix to be added after the comma for each element on a JSON object.
+-     * It is assumed to be a newline, if set.
+-     */
+-    private ByteList objectNl = ByteList.EMPTY_BYTELIST;
+-    /**
+-     * Any suffix to be added after the comma for each element on a JSON Array.
+-     * It is assumed to be a newline, if set.
+-     */
+-    private ByteList arrayNl = ByteList.EMPTY_BYTELIST;
+-
+-    /**
+-     * The maximum level of nesting of structures allowed.
+-     * <code>0</code> means disabled.
+-     */
+-    private int maxNesting = DEFAULT_MAX_NESTING;
+-    static final int DEFAULT_MAX_NESTING = 19;
+-    /**
+-     * Whether special float values (<code>NaN</code>, <code>Infinity</code>,
+-     * <code>-Infinity</code>) are accepted.
+-     * If set to <code>false</code>, an exception will be thrown upon
+-     * encountering one.
+-     */
+-    private boolean allowNaN = DEFAULT_ALLOW_NAN;
+-    static final boolean DEFAULT_ALLOW_NAN = false;
+-    /**
+-     * XXX
+-     */
+-    private boolean asciiOnly = DEFAULT_ASCII_ONLY;
+-    static final boolean DEFAULT_ASCII_ONLY = false;
+-
+-    /**
+-     * The current depth (inside a #to_json call)
+-     */
+-    private int depth = 0;
+-
+-    static final ObjectAllocator ALLOCATOR = new ObjectAllocator() {
+-        public IRubyObject allocate(Ruby runtime, RubyClass klazz) {
+-            return new GeneratorState(runtime, klazz);
+-        }
+-    };
+-
+-    public GeneratorState(Ruby runtime, RubyClass metaClass) {
+-        super(runtime, metaClass);
+-    }
+-
+-    /**
+-     * <code>State.from_state(opts)</code>
+-     * 
+-     * <p>Creates a State object from <code>opts</code>, which ought to be
+-     * {@link RubyHash Hash} to create a new <code>State</code> instance
+-     * configured by <codes>opts</code>, something else to create an
+-     * unconfigured instance. If <code>opts</code> is a <code>State</code>
+-     * object, it is just returned.
+-     * @param clazzParam The receiver of the method call
+-     *                   ({@link RubyClass} <code>State</code>)
+-     * @param opts The object to use as a base for the new <code>State</code>
+-     * @param block The block passed to the method
+-     * @return A <code>GeneratorState</code> as determined above
+-     */
+-    @JRubyMethod(meta=true)
+-    public static IRubyObject from_state(ThreadContext context,
+-            IRubyObject klass, IRubyObject opts) {
+-        return fromState(context, opts);
+-    }
+-
+-    static GeneratorState fromState(ThreadContext context, IRubyObject opts) {
+-        return fromState(context, RuntimeInfo.forRuntime(context.getRuntime()), opts);
+-    }
+-
+-    static GeneratorState fromState(ThreadContext context, RuntimeInfo info,
+-                                    IRubyObject opts) {
+-        RubyClass klass = info.generatorStateClass;
+-        if (opts != null) {
+-            // if the given parameter is a Generator::State, return itself
+-            if (klass.isInstance(opts)) return (GeneratorState)opts;
+-
+-            // if the given parameter is a Hash, pass it to the instantiator
+-            if (context.getRuntime().getHash().isInstance(opts)) {
+-                return (GeneratorState)klass.newInstance(context,
+-                        new IRubyObject[] {opts}, Block.NULL_BLOCK);
+-            }
+-        }
+-
+-        // for other values, return the safe prototype
+-        return (GeneratorState)info.getSafeStatePrototype(context).dup();
+-    }
+-
+-    /**
+-     * <code>State#initialize(opts = {})</code>
+-     * 
+-     * Instantiates a new <code>State</code> object, configured by <code>opts</code>.
+-     * 
+-     * <code>opts</code> can have the following keys:
+-     * 
+-     * <dl>
+-     * <dt><code>:indent</code>
+-     * <dd>a {@link RubyString String} used to indent levels (default: <code>""</code>)
+-     * <dt><code>:space</code>
+-     * <dd>a String that is put after a <code>':'</code> or <code>','</code>
+-     * delimiter (default: <code>""</code>)
+-     * <dt><code>:space_before</code>
+-     * <dd>a String that is put before a <code>":"</code> pair delimiter
+-     * (default: <code>""</code>)
+-     * <dt><code>:object_nl</code>
+-     * <dd>a String that is put at the end of a JSON object (default: <code>""</code>) 
+-     * <dt><code>:array_nl</code>
+-     * <dd>a String that is put at the end of a JSON array (default: <code>""</code>)
+-     * <dt><code>:allow_nan</code>
+-     * <dd><code>true</code> if <code>NaN</code>, <code>Infinity</code>, and
+-     * <code>-Infinity</code> should be generated, otherwise an exception is
+-     * thrown if these values are encountered.
+-     * This options defaults to <code>false</code>.
+-     */
+-    @JRubyMethod(optional=1, visibility=Visibility.PRIVATE)
+-    public IRubyObject initialize(ThreadContext context, IRubyObject[] args) {
+-        configure(context, args.length > 0 ? args[0] : null);
+-        return this;
+-    }
+-
+-    @JRubyMethod
+-    public IRubyObject initialize_copy(ThreadContext context, IRubyObject vOrig) {
+-        Ruby runtime = context.getRuntime();
+-        if (!(vOrig instanceof GeneratorState)) {
+-            throw runtime.newTypeError(vOrig, getType());
+-        }
+-        GeneratorState orig = (GeneratorState)vOrig;
+-        this.indent = orig.indent;
+-        this.space = orig.space;
+-        this.spaceBefore = orig.spaceBefore;
+-        this.objectNl = orig.objectNl;
+-        this.arrayNl = orig.arrayNl;
+-        this.maxNesting = orig.maxNesting;
+-        this.allowNaN = orig.allowNaN;
+-        this.asciiOnly = orig.asciiOnly;
+-        this.depth = orig.depth;
+-        return this;
+-    }
+-
+-    /**
+-     * XXX
+-     */
+-    @JRubyMethod
+-    public IRubyObject generate(ThreadContext context, IRubyObject obj) {
+-        RubyString result = Generator.generateJson(context, obj, this);
+-        if (!objectOrArrayLiteral(result)) {
+-            throw Utils.newException(context, Utils.M_GENERATOR_ERROR,
+-                    "only generation of JSON objects or arrays allowed");
+-        }
+-        return result;
+-    }
+-
+-    /**
+-     * Ensures the given string is in the form "[...]" or "{...}", being
+-     * possibly surrounded by white space.
+-     * The string's encoding must be ASCII-compatible.
+-     * @param value
+-     * @return
+-     */
+-    private static boolean objectOrArrayLiteral(RubyString value) {
+-        ByteList bl = value.getByteList();
+-        int len = bl.length();
+-
+-        for (int pos = 0; pos < len - 1; pos++) {
+-            int b = bl.get(pos);
+-            if (Character.isWhitespace(b)) continue;
+-
+-            // match the opening brace
+-            switch (b) {
+-            case '[':
+-                return matchClosingBrace(bl, pos, len, ']');
+-            case '{':
+-                return matchClosingBrace(bl, pos, len, '}');
+-            default:
+-                return false;
+-            }
+-        }
+-        return false;
+-    }
+-
+-    private static boolean matchClosingBrace(ByteList bl, int pos, int len,
+-                                             int brace) {
+-        for (int endPos = len - 1; endPos > pos; endPos--) {
+-            int b = bl.get(endPos);
+-            if (Character.isWhitespace(b)) continue;
+-            return b == brace;
+-        }
+-        return false;
+-    }
+-
+-    @JRubyMethod(name="[]", required=1)
+-    public IRubyObject op_aref(ThreadContext context, IRubyObject vName) {
+-        String name = vName.asJavaString();
+-        if (getMetaClass().isMethodBound(name, true)) {
+-            return send(context, vName, Block.NULL_BLOCK);
+-        }
+-        return context.getRuntime().getNil();
+-    }
+-
+-    public ByteList getIndent() {
+-        return indent;
+-    }
+-
+-    @JRubyMethod(name="indent")
+-    public RubyString indent_get(ThreadContext context) {
+-        return context.getRuntime().newString(indent);
+-    }
+-
+-    @JRubyMethod(name="indent=")
+-    public IRubyObject indent_set(ThreadContext context, IRubyObject indent) {
+-        this.indent = prepareByteList(context, indent);
+-        return indent;
+-    }
+-
+-    public ByteList getSpace() {
+-        return space;
+-    }
+-
+-    @JRubyMethod(name="space")
+-    public RubyString space_get(ThreadContext context) {
+-        return context.getRuntime().newString(space);
+-    }
+-
+-    @JRubyMethod(name="space=")
+-    public IRubyObject space_set(ThreadContext context, IRubyObject space) {
+-        this.space = prepareByteList(context, space);
+-        return space;
+-    }
+-
+-    public ByteList getSpaceBefore() {
+-        return spaceBefore;
+-    }
+-
+-    @JRubyMethod(name="space_before")
+-    public RubyString space_before_get(ThreadContext context) {
+-        return context.getRuntime().newString(spaceBefore);
+-    }
+-
+-    @JRubyMethod(name="space_before=")
+-    public IRubyObject space_before_set(ThreadContext context,
+-                                        IRubyObject spaceBefore) {
+-        this.spaceBefore = prepareByteList(context, spaceBefore);
+-        return spaceBefore;
+-    }
+-
+-    public ByteList getObjectNl() {
+-        return objectNl;
+-    }
+-
+-    @JRubyMethod(name="object_nl")
+-    public RubyString object_nl_get(ThreadContext context) {
+-        return context.getRuntime().newString(objectNl);
+-    }
+-
+-    @JRubyMethod(name="object_nl=")
+-    public IRubyObject object_nl_set(ThreadContext context,
+-                                     IRubyObject objectNl) {
+-        this.objectNl = prepareByteList(context, objectNl);
+-        return objectNl;
+-    }
+-
+-    public ByteList getArrayNl() {
+-        return arrayNl;
+-    }
+-
+-    @JRubyMethod(name="array_nl")
+-    public RubyString array_nl_get(ThreadContext context) {
+-        return context.getRuntime().newString(arrayNl);
+-    }
+-
+-    @JRubyMethod(name="array_nl=")
+-    public IRubyObject array_nl_set(ThreadContext context,
+-                                    IRubyObject arrayNl) {
+-        this.arrayNl = prepareByteList(context, arrayNl);
+-        return arrayNl;
+-    }
+-
+-    @JRubyMethod(name="check_circular?")
+-    public RubyBoolean check_circular_p(ThreadContext context) {
+-        return context.getRuntime().newBoolean(maxNesting != 0);
+-    }
+-
+-    /**
+-     * Returns the maximum level of nesting configured for this state.
+-     */
+-    public int getMaxNesting() {
+-        return maxNesting;
+-    }
+-
+-    @JRubyMethod(name="max_nesting")
+-    public RubyInteger max_nesting_get(ThreadContext context) {
+-        return context.getRuntime().newFixnum(maxNesting);
+-    }
+-
+-    @JRubyMethod(name="max_nesting=")
+-    public IRubyObject max_nesting_set(IRubyObject max_nesting) {
+-        maxNesting = RubyNumeric.fix2int(max_nesting);
+-        return max_nesting;
+-    }
+-
+-    public boolean allowNaN() {
+-        return allowNaN;
+-    }
+-
+-    @JRubyMethod(name="allow_nan?")
+-    public RubyBoolean allow_nan_p(ThreadContext context) {
+-        return context.getRuntime().newBoolean(allowNaN);
+-    }
+-
+-    public boolean asciiOnly() {
+-        return asciiOnly;
+-    }
+-
+-    @JRubyMethod(name="ascii_only?")
+-    public RubyBoolean ascii_only_p(ThreadContext context) {
+-        return context.getRuntime().newBoolean(asciiOnly);
+-    }
+-
+-    public int getDepth() {
+-        return depth;
+-    }
+-
+-    @JRubyMethod(name="depth")
+-    public RubyInteger depth_get(ThreadContext context) {
+-        return context.getRuntime().newFixnum(depth);
+-    }
+-
+-    @JRubyMethod(name="depth=")
+-    public IRubyObject depth_set(IRubyObject vDepth) {
+-        depth = RubyNumeric.fix2int(vDepth);
+-        return vDepth;
+-    }
+-
+-    private ByteList prepareByteList(ThreadContext context, IRubyObject value) {
+-        RubyString str = value.convertToString();
+-        RuntimeInfo info = RuntimeInfo.forRuntime(context.getRuntime());
+-        if (info.encodingsSupported() && str.encoding(context) != info.utf8) {
+-            str = (RubyString)str.encode(context, info.utf8);
+-        }
+-        return str.getByteList().dup();
+-    }
+-
+-    /**
+-     * <code>State#configure(opts)</code>
+-     * 
+-     * <p>Configures this State instance with the {@link RubyHash Hash}
+-     * <code>opts</code>, and returns itself.
+-     * @param vOpts The options hash
+-     * @return The receiver
+-     */
+-    @JRubyMethod
+-    public IRubyObject configure(ThreadContext context, IRubyObject vOpts) {
+-        OptionsReader opts = new OptionsReader(context, vOpts);
+-
+-        ByteList indent = opts.getString("indent");
+-        if (indent != null) this.indent = indent;
+-
+-        ByteList space = opts.getString("space");
+-        if (space != null) this.space = space;
+-
+-        ByteList spaceBefore = opts.getString("space_before");
+-        if (spaceBefore != null) this.spaceBefore = spaceBefore;
+-
+-        ByteList arrayNl = opts.getString("array_nl");
+-        if (arrayNl != null) this.arrayNl = arrayNl;
+-
+-        ByteList objectNl = opts.getString("object_nl");
+-        if (objectNl != null) this.objectNl = objectNl;
+-
+-        maxNesting = opts.getInt("max_nesting", DEFAULT_MAX_NESTING);
+-        allowNaN   = opts.getBool("allow_nan",  DEFAULT_ALLOW_NAN);
+-        asciiOnly  = opts.getBool("ascii_only", DEFAULT_ASCII_ONLY);
+-
+-        depth = opts.getInt("depth", 0);
+-
+-        return this;
+-    }
+-
+-    /**
+-     * <code>State#to_h()</code>
+-     * 
+-     * <p>Returns the configuration instance variables as a hash, that can be
+-     * passed to the configure method.
+-     * @return
+-     */
+-    @JRubyMethod
+-    public RubyHash to_h(ThreadContext context) {
+-        Ruby runtime = context.getRuntime();
+-        RubyHash result = RubyHash.newHash(runtime);
+-
+-        result.op_aset(context, runtime.newSymbol("indent"), indent_get(context));
+-        result.op_aset(context, runtime.newSymbol("space"), space_get(context));
+-        result.op_aset(context, runtime.newSymbol("space_before"), space_before_get(context));
+-        result.op_aset(context, runtime.newSymbol("object_nl"), object_nl_get(context));
+-        result.op_aset(context, runtime.newSymbol("array_nl"), array_nl_get(context));
+-        result.op_aset(context, runtime.newSymbol("allow_nan"), allow_nan_p(context));
+-        result.op_aset(context, runtime.newSymbol("ascii_only"), ascii_only_p(context));
+-        result.op_aset(context, runtime.newSymbol("max_nesting"), max_nesting_get(context));
+-        result.op_aset(context, runtime.newSymbol("depth"), depth_get(context));
+-        return result;
+-    }
+-
+-    public int increaseDepth() {
+-        depth++;
+-        checkMaxNesting();
+-        return depth;
+-    }
+-
+-    public int decreaseDepth() {
+-        return --depth;
+-    }
+-
+-    /**
+-     * Checks if the current depth is allowed as per this state's options.
+-     * @param context
+-     * @param depth The corrent depth
+-     */
+-    private void checkMaxNesting() {
+-        if (maxNesting != 0 && depth > maxNesting) {
+-            depth--;
+-            throw Utils.newException(getRuntime().getCurrentContext(),
+-                    Utils.M_NESTING_ERROR, "nesting of " + depth + " is too deep");
+-        }
+-    }
+-}
+diff --git a/lib/mcollective/vendor/json/java/src/json/ext/OptionsReader.java b/lib/mcollective/vendor/json/java/src/json/ext/OptionsReader.java
+deleted file mode 100644
+index 018ace4..0000000
+--- a/lib/mcollective/vendor/json/java/src/json/ext/OptionsReader.java
++++ /dev/null
+@@ -1,119 +0,0 @@
+-/*
+- * This code is copyrighted work by Daniel Luz <dev at mernen dot com>.
+- * 
+- * Distributed under the Ruby and GPLv2 licenses; see COPYING and GPL files
+- * for details.
+- */
+-package json.ext;
+-
+-import org.jruby.Ruby;
+-import org.jruby.RubyClass;
+-import org.jruby.RubyHash;
+-import org.jruby.RubyNumeric;
+-import org.jruby.RubyString;
+-import org.jruby.runtime.ThreadContext;
+-import org.jruby.runtime.builtin.IRubyObject;
+-import org.jruby.util.ByteList;
+-
+-final class OptionsReader {
+-    private final ThreadContext context;
+-    private final Ruby runtime;
+-    private final RubyHash opts;
+-    private RuntimeInfo info;
+-
+-    OptionsReader(ThreadContext context, IRubyObject vOpts) {
+-        this.context = context;
+-        this.runtime = context.getRuntime();
+-
+-        if (vOpts == null || vOpts.isNil()) {
+-            opts = null;
+-        } else if (vOpts.respondsTo("to_hash")) {
+-            opts = vOpts.convertToHash();
+-        } else {
+-            opts = vOpts.callMethod(context, "to_h").convertToHash();
+-        }
+-    }
+-
+-    private RuntimeInfo getRuntimeInfo() {
+-        if (info != null) return info;
+-        info = RuntimeInfo.forRuntime(runtime);
+-        return info;
+-    }
+-
+-    /**
+-     * Efficiently looks up items with a {@link RubySymbol Symbol} key
+-     * @param key The Symbol name to look up for
+-     * @return The item in the {@link RubyHash Hash}, or <code>null</code>
+-     *         if not found
+-     */
+-    IRubyObject get(String key) {
+-        return opts == null ? null : opts.fastARef(runtime.newSymbol(key));
+-    }
+-
+-    boolean getBool(String key, boolean defaultValue) {
+-        IRubyObject value = get(key);
+-        return value == null ? defaultValue : value.isTrue();
+-    }
+-
+-    int getInt(String key, int defaultValue) {
+-        IRubyObject value = get(key);
+-        if (value == null) return defaultValue;
+-        if (!value.isTrue()) return 0;
+-        return RubyNumeric.fix2int(value);
+-    }
+-
+-    /**
+-     * Reads the setting from the options hash. If no entry is set for this
+-     * key or if it evaluates to <code>false</code>, returns null; attempts to
+-     * coerce the value to {@link RubyString String} otherwise.
+-     * @param key The Symbol name to look up for
+-     * @return <code>null</code> if the key is not in the Hash or if
+-     *         its value evaluates to <code>false</code>
+-     * @throws RaiseException <code>TypeError</code> if the value does not
+-     *                        evaluate to <code>false</code> and can't be
+-     *                        converted to string
+-     */
+-    ByteList getString(String key) {
+-        RubyString str = getString(key, null);
+-        return str == null ? null : str.getByteList().dup();
+-    }
+-
+-    RubyString getString(String key, RubyString defaultValue) {
+-        IRubyObject value = get(key);
+-        if (value == null || !value.isTrue()) return defaultValue;
+-
+-        RubyString str = value.convertToString();
+-        RuntimeInfo info = getRuntimeInfo();
+-        if (info.encodingsSupported() && str.encoding(context) != info.utf8) {
+-            str = (RubyString)str.encode(context, info.utf8);
+-        }
+-        return str;
+-    }
+-
+-    /**
+-     * Reads the setting from the options hash. If it is <code>nil</code> or
+-     * undefined, returns the default value given.
+-     * If not, ensures it is a RubyClass instance and shares the same
+-     * allocator as the default value (i.e. for the basic types which have
+-     * their specific allocators, this ensures the passed value is
+-     * a subclass of them).
+-     */
+-    RubyClass getClass(String key, RubyClass defaultValue) {
+-        IRubyObject value = get(key);
+-
+-        if (value == null || value.isNil()) return defaultValue;
+-
+-        if (value instanceof RubyClass &&
+-                ((RubyClass)value).getAllocator() == defaultValue.getAllocator()) {
+-            return (RubyClass)value;
+-        }
+-        throw runtime.newTypeError(key + " option must be a subclass of "
+-                                   + defaultValue);
+-    }
+-
+-    public RubyHash getHash(String key) {
+-        IRubyObject value = get(key);
+-        if (value == null || value.isNil()) return new RubyHash(runtime);
+-        return (RubyHash) value;
+-    }
+-}
+diff --git a/lib/mcollective/vendor/json/java/src/json/ext/Parser.java b/lib/mcollective/vendor/json/java/src/json/ext/Parser.java
+deleted file mode 100644
+index c92600e..0000000
+--- a/lib/mcollective/vendor/json/java/src/json/ext/Parser.java
++++ /dev/null
+@@ -1,2295 +0,0 @@
+-
+-// line 1 "Parser.rl"
+-/*
+- * This code is copyrighted work by Daniel Luz <dev at mernen dot com>.
+- * 
+- * Distributed under the Ruby and GPLv2 licenses; see COPYING and GPL files
+- * for details.
+- */
+-package json.ext;
+-
+-import org.jruby.Ruby;
+-import org.jruby.RubyArray;
+-import org.jruby.RubyClass;
+-import org.jruby.RubyEncoding;
+-import org.jruby.RubyFloat;
+-import org.jruby.RubyHash;
+-import org.jruby.RubyInteger;
+-import org.jruby.RubyModule;
+-import org.jruby.RubyNumeric;
+-import org.jruby.RubyObject;
+-import org.jruby.RubyString;
+-import org.jruby.anno.JRubyMethod;
+-import org.jruby.exceptions.JumpException;
+-import org.jruby.exceptions.RaiseException;
+-import org.jruby.runtime.Block;
+-import org.jruby.runtime.ObjectAllocator;
+-import org.jruby.runtime.ThreadContext;
+-import org.jruby.runtime.Visibility;
+-import org.jruby.runtime.builtin.IRubyObject;
+-import org.jruby.util.ByteList;
+-
+-/**
+- * The <code>JSON::Ext::Parser</code> class.
+- * 
+- * <p>This is the JSON parser implemented as a Java class. To use it as the
+- * standard parser, set
+- *   <pre>JSON.parser = JSON::Ext::Parser</pre>
+- * This is performed for you when you <code>include "json/ext"</code>.
+- * 
+- * <p>This class does not perform the actual parsing, just acts as an interface
+- * to Ruby code. When the {@link #parse()} method is invoked, a
+- * Parser.ParserSession object is instantiated, which handles the process.
+- * 
+- * @author mernen
+- */
+-public class Parser extends RubyObject {
+-    private final RuntimeInfo info;
+-    private RubyString vSource;
+-    private RubyString createId;
+-    private boolean createAdditions;
+-    private int maxNesting;
+-    private boolean allowNaN;
+-    private boolean symbolizeNames;
+-    private RubyClass objectClass;
+-    private RubyClass arrayClass;
+-    private RubyHash match_string;
+-
+-    private static final int DEFAULT_MAX_NESTING = 19;
+-
+-    private static final String JSON_MINUS_INFINITY = "-Infinity";
+-    // constant names in the JSON module containing those values
+-    private static final String CONST_NAN = "NaN";
+-    private static final String CONST_INFINITY = "Infinity";
+-    private static final String CONST_MINUS_INFINITY = "MinusInfinity";
+-
+-    static final ObjectAllocator ALLOCATOR = new ObjectAllocator() {
+-        public IRubyObject allocate(Ruby runtime, RubyClass klazz) {
+-            return new Parser(runtime, klazz);
+-        }
+-    };
+-
+-    /**
+-     * Multiple-value return for internal parser methods.
+-     * 
+-     * <p>All the <code>parse<var>Stuff</var></code> methods return instances of
+-     * <code>ParserResult</code> when successful, or <code>null</code> when
+-     * there's a problem with the input data.
+-     */
+-    static final class ParserResult {
+-        /**
+-         * The result of the successful parsing. Should never be
+-         * <code>null</code>.
+-         */
+-        final IRubyObject result;
+-        /**
+-         * The point where the parser returned.
+-         */
+-        final int p;
+-
+-        ParserResult(IRubyObject result, int p) {
+-            this.result = result;
+-            this.p = p;
+-        }
+-    }
+-
+-    public Parser(Ruby runtime, RubyClass metaClass) {
+-        super(runtime, metaClass);
+-        info = RuntimeInfo.forRuntime(runtime);
+-    }
+-
+-    /**
+-     * <code>Parser.new(source, opts = {})</code>
+-     * 
+-     * <p>Creates a new <code>JSON::Ext::Parser</code> instance for the string
+-     * <code>source</code>.
+-     * It will be configured by the <code>opts</code> Hash.
+-     * <code>opts</code> can have the following keys:
+-     * 
+-     * <dl>
+-     * <dt><code>:max_nesting</code>
+-     * <dd>The maximum depth of nesting allowed in the parsed data
+-     * structures. Disable depth checking with <code>:max_nesting => false|nil|0</code>,
+-     * it defaults to 19.
+-     * 
+-     * <dt><code>:allow_nan</code>
+-     * <dd>If set to <code>true</code>, allow <code>NaN</code>,
+-     * <code>Infinity</code> and <code>-Infinity</code> in defiance of RFC 4627
+-     * to be parsed by the Parser. This option defaults to <code>false</code>.
+-     *
+-     * <dt><code>:symbolize_names</code>
+-     * <dd>If set to <code>true</code>, returns symbols for the names (keys) in
+-     * a JSON object. Otherwise strings are returned, which is also the default.
+-     * 
+-     * <dt><code>:create_additions</code>
+-     * <dd>If set to <code>false</code>, the Parser doesn't create additions
+-     * even if a matchin class and <code>create_id</code> was found. This option
+-     * defaults to <code>true</code>.
+-     * 
+-     * <dt><code>:object_class</code>
+-     * <dd>Defaults to Hash.
+-     * 
+-     * <dt><code>:array_class</code>
+-     * <dd>Defaults to Array.
+-     * </dl>
+-     */
+-    @JRubyMethod(name = "new", required = 1, optional = 1, meta = true)
+-    public static IRubyObject newInstance(IRubyObject clazz, IRubyObject[] args, Block block) {
+-        Parser parser = (Parser)((RubyClass)clazz).allocate();
+-
+-        parser.callInit(args, block);
+-
+-        return parser;
+-    }
+-
+-    @JRubyMethod(required = 1, optional = 1, visibility = Visibility.PRIVATE)
+-    public IRubyObject initialize(ThreadContext context, IRubyObject[] args) {
+-        Ruby runtime      = context.getRuntime();
+-        RubyString source = convertEncoding(context, args[0].convertToString());
+-
+-        OptionsReader opts   = new OptionsReader(context, args.length > 1 ? args[1] : null);
+-        this.maxNesting      = opts.getInt("max_nesting", DEFAULT_MAX_NESTING);
+-        this.allowNaN        = opts.getBool("allow_nan", false);
+-        this.symbolizeNames  = opts.getBool("symbolize_names", false);
+-        this.createId        = opts.getString("create_id", getCreateId(context));
+-        this.createAdditions = opts.getBool("create_additions", true);
+-        this.objectClass     = opts.getClass("object_class", runtime.getHash());
+-        this.arrayClass      = opts.getClass("array_class", runtime.getArray());
+-        this.match_string    = opts.getHash("match_string");
+-
+-        this.vSource = source;
+-        return this;
+-    }
+-
+-    /**
+-     * Checks the given string's encoding. If a non-UTF-8 encoding is detected,
+-     * a converted copy is returned.
+-     * Returns the source string if no conversion is needed.
+-     */
+-    private RubyString convertEncoding(ThreadContext context, RubyString source) {
+-        ByteList bl = source.getByteList();
+-        int len = bl.length();
+-        if (len < 2) {
+-            throw Utils.newException(context, Utils.M_PARSER_ERROR,
+-                "A JSON text must at least contain two octets!");
+-        }
+-
+-        if (info.encodingsSupported()) {
+-            RubyEncoding encoding = (RubyEncoding)source.encoding(context);
+-            if (encoding != info.ascii8bit) {
+-                return (RubyString)source.encode(context, info.utf8);
+-            }
+-
+-            String sniffedEncoding = sniffByteList(bl);
+-            if (sniffedEncoding == null) return source; // assume UTF-8
+-            return reinterpretEncoding(context, source, sniffedEncoding);
+-        }
+-
+-        String sniffedEncoding = sniffByteList(bl);
+-        if (sniffedEncoding == null) return source; // assume UTF-8
+-        Ruby runtime = context.getRuntime();
+-        return (RubyString)info.jsonModule.
+-            callMethod(context, "iconv",
+-                new IRubyObject[] {
+-                    runtime.newString("utf-8"),
+-                    runtime.newString(sniffedEncoding),
+-                    source});
+-    }
+-
+-    /**
+-     * Checks the first four bytes of the given ByteList to infer its encoding,
+-     * using the principle demonstrated on section 3 of RFC 4627 (JSON).
+-     */
+-    private static String sniffByteList(ByteList bl) {
+-        if (bl.length() < 4) return null;
+-        if (bl.get(0) == 0 && bl.get(2) == 0) {
+-            return bl.get(1) == 0 ? "utf-32be" : "utf-16be";
+-        }
+-        if (bl.get(1) == 0 && bl.get(3) == 0) {
+-            return bl.get(2) == 0 ? "utf-32le" : "utf-16le";
+-        }
+-        return null;
+-    }
+-
+-    /**
+-     * Assumes the given (binary) RubyString to be in the given encoding, then
+-     * converts it to UTF-8.
+-     */
+-    private RubyString reinterpretEncoding(ThreadContext context,
+-            RubyString str, String sniffedEncoding) {
+-        RubyEncoding actualEncoding = info.getEncoding(context, sniffedEncoding);
+-        RubyEncoding targetEncoding = info.utf8;
+-        RubyString dup = (RubyString)str.dup();
+-        dup.force_encoding(context, actualEncoding);
+-        return (RubyString)dup.encode_bang(context, targetEncoding);
+-    }
+-
+-    /**
+-     * <code>Parser#parse()</code>
+-     * 
+-     * <p>Parses the current JSON text <code>source</code> and returns the
+-     * complete data structure as a result.
+-     */
+-    @JRubyMethod
+-    public IRubyObject parse(ThreadContext context) {
+-        return new ParserSession(this, context).parse();
+-    }
+-
+-    /**
+-     * <code>Parser#source()</code>
+-     * 
+-     * <p>Returns a copy of the current <code>source</code> string, that was
+-     * used to construct this Parser.
+-     */
+-    @JRubyMethod(name = "source")
+-    public IRubyObject source_get() {
+-        return vSource.dup();
+-    }
+-
+-    /**
+-     * Queries <code>JSON.create_id</code>. Returns <code>null</code> if it is
+-     * set to <code>nil</code> or <code>false</code>, and a String if not.
+-     */
+-    private RubyString getCreateId(ThreadContext context) {
+-        IRubyObject v = info.jsonModule.callMethod(context, "create_id");
+-        return v.isTrue() ? v.convertToString() : null;
+-    }
+-
+-    /**
+-     * A string parsing session.
+-     * 
+-     * <p>Once a ParserSession is instantiated, the source string should not
+-     * change until the parsing is complete. The ParserSession object assumes
+-     * the source {@link RubyString} is still associated to its original
+-     * {@link ByteList}, which in turn must still be bound to the same
+-     * <code>byte[]</code> value (and on the same offset).
+-     */
+-    // Ragel uses lots of fall-through
+-    @SuppressWarnings("fallthrough")
+-    private static class ParserSession {
+-        private final Parser parser;
+-        private final ThreadContext context;
+-        private final ByteList byteList;
+-        private final byte[] data;
+-        private final StringDecoder decoder;
+-        private int currentNesting = 0;
+-
+-        // initialization value for all state variables.
+-        // no idea about the origins of this value, ask Flori ;)
+-        private static final int EVIL = 0x666;
+-
+-        private ParserSession(Parser parser, ThreadContext context) {
+-            this.parser = parser;
+-            this.context = context;
+-            this.byteList = parser.vSource.getByteList();
+-            this.data = byteList.unsafeBytes();
+-            this.decoder = new StringDecoder(context);
+-        }
+-
+-        private RaiseException unexpectedToken(int absStart, int absEnd) {
+-            RubyString msg = getRuntime().newString("unexpected token at '")
+-                    .cat(data, absStart, absEnd - absStart)
+-                    .cat((byte)'\'');
+-            return newException(Utils.M_PARSER_ERROR, msg);
+-        }
+-
+-        private Ruby getRuntime() {
+-            return context.getRuntime();
+-        }
+-
+-        
+-// line 324 "Parser.rl"
+-
+-
+-        
+-// line 306 "Parser.java"
+-private static byte[] init__JSON_value_actions_0()
+-{
+-	return new byte [] {
+-	    0,    1,    0,    1,    1,    1,    2,    1,    3,    1,    4,    1,
+-	    5,    1,    6,    1,    7,    1,    8,    1,    9
+-	};
+-}
+-
+-private static final byte _JSON_value_actions[] = init__JSON_value_actions_0();
+-
+-
+-private static byte[] init__JSON_value_key_offsets_0()
+-{
+-	return new byte [] {
+-	    0,    0,   11,   12,   13,   14,   15,   16,   17,   18,   19,   20,
+-	   21,   22,   23,   24,   25,   26,   27,   28,   29,   30
+-	};
+-}
+-
+-private static final byte _JSON_value_key_offsets[] = init__JSON_value_key_offsets_0();
+-
+-
+-private static char[] init__JSON_value_trans_keys_0()
+-{
+-	return new char [] {
+-	   34,   45,   73,   78,   91,  102,  110,  116,  123,   48,   57,  110,
+-	  102,  105,  110,  105,  116,  121,   97,   78,   97,  108,  115,  101,
+-	  117,  108,  108,  114,  117,  101,    0
+-	};
+-}
+-
+-private static final char _JSON_value_trans_keys[] = init__JSON_value_trans_keys_0();
+-
+-
+-private static byte[] init__JSON_value_single_lengths_0()
+-{
+-	return new byte [] {
+-	    0,    9,    1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+-	    1,    1,    1,    1,    1,    1,    1,    1,    1,    0
+-	};
+-}
+-
+-private static final byte _JSON_value_single_lengths[] = init__JSON_value_single_lengths_0();
+-
+-
+-private static byte[] init__JSON_value_range_lengths_0()
+-{
+-	return new byte [] {
+-	    0,    1,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+-	    0,    0,    0,    0,    0,    0,    0,    0,    0,    0
+-	};
+-}
+-
+-private static final byte _JSON_value_range_lengths[] = init__JSON_value_range_lengths_0();
+-
+-
+-private static byte[] init__JSON_value_index_offsets_0()
+-{
+-	return new byte [] {
+-	    0,    0,   11,   13,   15,   17,   19,   21,   23,   25,   27,   29,
+-	   31,   33,   35,   37,   39,   41,   43,   45,   47,   49
+-	};
+-}
+-
+-private static final byte _JSON_value_index_offsets[] = init__JSON_value_index_offsets_0();
+-
+-
+-private static byte[] init__JSON_value_trans_targs_0()
+-{
+-	return new byte [] {
+-	   21,   21,    2,    9,   21,   11,   15,   18,   21,   21,    0,    3,
+-	    0,    4,    0,    5,    0,    6,    0,    7,    0,    8,    0,   21,
+-	    0,   10,    0,   21,    0,   12,    0,   13,    0,   14,    0,   21,
+-	    0,   16,    0,   17,    0,   21,    0,   19,    0,   20,    0,   21,
+-	    0,    0,    0
+-	};
+-}
+-
+-private static final byte _JSON_value_trans_targs[] = init__JSON_value_trans_targs_0();
+-
+-
+-private static byte[] init__JSON_value_trans_actions_0()
+-{
+-	return new byte [] {
+-	   13,   11,    0,    0,   15,    0,    0,    0,   17,   11,    0,    0,
+-	    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    9,
+-	    0,    0,    0,    7,    0,    0,    0,    0,    0,    0,    0,    3,
+-	    0,    0,    0,    0,    0,    1,    0,    0,    0,    0,    0,    5,
+-	    0,    0,    0
+-	};
+-}
+-
+-private static final byte _JSON_value_trans_actions[] = init__JSON_value_trans_actions_0();
+-
+-
+-private static byte[] init__JSON_value_from_state_actions_0()
+-{
+-	return new byte [] {
+-	    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+-	    0,    0,    0,    0,    0,    0,    0,    0,    0,   19
+-	};
+-}
+-
+-private static final byte _JSON_value_from_state_actions[] = init__JSON_value_from_state_actions_0();
+-
+-
+-static final int JSON_value_start = 1;
+-static final int JSON_value_first_final = 21;
+-static final int JSON_value_error = 0;
+-
+-static final int JSON_value_en_main = 1;
+-
+-
+-// line 430 "Parser.rl"
+-
+-
+-        ParserResult parseValue(int p, int pe) {
+-            int cs = EVIL;
+-            IRubyObject result = null;
+-
+-            
+-// line 428 "Parser.java"
+-	{
+-	cs = JSON_value_start;
+-	}
+-
+-// line 437 "Parser.rl"
+-            
+-// line 435 "Parser.java"
+-	{
+-	int _klen;
+-	int _trans = 0;
+-	int _acts;
+-	int _nacts;
+-	int _keys;
+-	int _goto_targ = 0;
+-
+-	_goto: while (true) {
+-	switch ( _goto_targ ) {
+-	case 0:
+-	if ( p == pe ) {
+-		_goto_targ = 4;
+-		continue _goto;
+-	}
+-	if ( cs == 0 ) {
+-		_goto_targ = 5;
+-		continue _goto;
+-	}
+-case 1:
+-	_acts = _JSON_value_from_state_actions[cs];
+-	_nacts = (int) _JSON_value_actions[_acts++];
+-	while ( _nacts-- > 0 ) {
+-		switch ( _JSON_value_actions[_acts++] ) {
+-	case 9:
+-// line 415 "Parser.rl"
+-	{
+-                p--;
+-                { p += 1; _goto_targ = 5; if (true)  continue _goto;}
+-            }
+-	break;
+-// line 467 "Parser.java"
+-		}
+-	}
+-
+-	_match: do {
+-	_keys = _JSON_value_key_offsets[cs];
+-	_trans = _JSON_value_index_offsets[cs];
+-	_klen = _JSON_value_single_lengths[cs];
+-	if ( _klen > 0 ) {
+-		int _lower = _keys;
+-		int _mid;
+-		int _upper = _keys + _klen - 1;
+-		while (true) {
+-			if ( _upper < _lower )
+-				break;
+-
+-			_mid = _lower + ((_upper-_lower) >> 1);
+-			if ( data[p] < _JSON_value_trans_keys[_mid] )
+-				_upper = _mid - 1;
+-			else if ( data[p] > _JSON_value_trans_keys[_mid] )
+-				_lower = _mid + 1;
+-			else {
+-				_trans += (_mid - _keys);
+-				break _match;
+-			}
+-		}
+-		_keys += _klen;
+-		_trans += _klen;
+-	}
+-
+-	_klen = _JSON_value_range_lengths[cs];
+-	if ( _klen > 0 ) {
+-		int _lower = _keys;
+-		int _mid;
+-		int _upper = _keys + (_klen<<1) - 2;
+-		while (true) {
+-			if ( _upper < _lower )
+-				break;
+-
+-			_mid = _lower + (((_upper-_lower) >> 1) & ~1);
+-			if ( data[p] < _JSON_value_trans_keys[_mid] )
+-				_upper = _mid - 2;
+-			else if ( data[p] > _JSON_value_trans_keys[_mid+1] )
+-				_lower = _mid + 2;
+-			else {
+-				_trans += ((_mid - _keys)>>1);
+-				break _match;
+-			}
+-		}
+-		_trans += _klen;
+-	}
+-	} while (false);
+-
+-	cs = _JSON_value_trans_targs[_trans];
+-
+-	if ( _JSON_value_trans_actions[_trans] != 0 ) {
+-		_acts = _JSON_value_trans_actions[_trans];
+-		_nacts = (int) _JSON_value_actions[_acts++];
+-		while ( _nacts-- > 0 )
+-	{
+-			switch ( _JSON_value_actions[_acts++] )
+-			{
+-	case 0:
+-// line 332 "Parser.rl"
+-	{
+-                result = getRuntime().getNil();
+-            }
+-	break;
+-	case 1:
+-// line 335 "Parser.rl"
+-	{
+-                result = getRuntime().getFalse();
+-            }
+-	break;
+-	case 2:
+-// line 338 "Parser.rl"
+-	{
+-                result = getRuntime().getTrue();
+-            }
+-	break;
+-	case 3:
+-// line 341 "Parser.rl"
+-	{
+-                if (parser.allowNaN) {
+-                    result = getConstant(CONST_NAN);
+-                } else {
+-                    throw unexpectedToken(p - 2, pe);
+-                }
+-            }
+-	break;
+-	case 4:
+-// line 348 "Parser.rl"
+-	{
+-                if (parser.allowNaN) {
+-                    result = getConstant(CONST_INFINITY);
+-                } else {
+-                    throw unexpectedToken(p - 7, pe);
+-                }
+-            }
+-	break;
+-	case 5:
+-// line 355 "Parser.rl"
+-	{
+-                if (pe > p + 9 &&
+-                    absSubSequence(p, p + 9).toString().equals(JSON_MINUS_INFINITY)) {
+-
+-                    if (parser.allowNaN) {
+-                        result = getConstant(CONST_MINUS_INFINITY);
+-                        {p = (( p + 10))-1;}
+-                        p--;
+-                        { p += 1; _goto_targ = 5; if (true)  continue _goto;}
+-                    } else {
+-                        throw unexpectedToken(p, pe);
+-                    }
+-                }
+-                ParserResult res = parseFloat(p, pe);
+-                if (res != null) {
+-                    result = res.result;
+-                    {p = (( res.p))-1;}
+-                }
+-                res = parseInteger(p, pe);
+-                if (res != null) {
+-                    result = res.result;
+-                    {p = (( res.p))-1;}
+-                }
+-                p--;
+-                { p += 1; _goto_targ = 5; if (true)  continue _goto;}
+-            }
+-	break;
+-	case 6:
+-// line 381 "Parser.rl"
+-	{
+-                ParserResult res = parseString(p, pe);
+-                if (res == null) {
+-                    p--;
+-                    { p += 1; _goto_targ = 5; if (true)  continue _goto;}
+-                } else {
+-                    result = res.result;
+-                    {p = (( res.p))-1;}
+-                }
+-            }
+-	break;
+-	case 7:
+-// line 391 "Parser.rl"
+-	{
+-                currentNesting++;
+-                ParserResult res = parseArray(p, pe);
+-                currentNesting--;
+-                if (res == null) {
+-                    p--;
+-                    { p += 1; _goto_targ = 5; if (true)  continue _goto;}
+-                } else {
+-                    result = res.result;
+-                    {p = (( res.p))-1;}
+-                }
+-            }
+-	break;
+-	case 8:
+-// line 403 "Parser.rl"
+-	{
+-                currentNesting++;
+-                ParserResult res = parseObject(p, pe);
+-                currentNesting--;
+-                if (res == null) {
+-                    p--;
+-                    { p += 1; _goto_targ = 5; if (true)  continue _goto;}
+-                } else {
+-                    result = res.result;
+-                    {p = (( res.p))-1;}
+-                }
+-            }
+-	break;
+-// line 639 "Parser.java"
+-			}
+-		}
+-	}
+-
+-case 2:
+-	if ( cs == 0 ) {
+-		_goto_targ = 5;
+-		continue _goto;
+-	}
+-	if ( ++p != pe ) {
+-		_goto_targ = 1;
+-		continue _goto;
+-	}
+-case 4:
+-case 5:
+-	}
+-	break; }
+-	}
+-
+-// line 438 "Parser.rl"
+-
+-            if (cs >= JSON_value_first_final && result != null) {
+-                return new ParserResult(result, p);
+-            } else {
+-                return null;
+-            }
+-        }
+-
+-        
+-// line 669 "Parser.java"
+-private static byte[] init__JSON_integer_actions_0()
+-{
+-	return new byte [] {
+-	    0,    1,    0
+-	};
+-}
+-
+-private static final byte _JSON_integer_actions[] = init__JSON_integer_actions_0();
+-
+-
+-private static byte[] init__JSON_integer_key_offsets_0()
+-{
+-	return new byte [] {
+-	    0,    0,    4,    7,    9,   11
+-	};
+-}
+-
+-private static final byte _JSON_integer_key_offsets[] = init__JSON_integer_key_offsets_0();
+-
+-
+-private static char[] init__JSON_integer_trans_keys_0()
+-{
+-	return new char [] {
+-	   45,   48,   49,   57,   48,   49,   57,   48,   57,   48,   57,    0
+-	};
+-}
+-
+-private static final char _JSON_integer_trans_keys[] = init__JSON_integer_trans_keys_0();
+-
+-
+-private static byte[] init__JSON_integer_single_lengths_0()
+-{
+-	return new byte [] {
+-	    0,    2,    1,    0,    0,    0
+-	};
+-}
+-
+-private static final byte _JSON_integer_single_lengths[] = init__JSON_integer_single_lengths_0();
+-
+-
+-private static byte[] init__JSON_integer_range_lengths_0()
+-{
+-	return new byte [] {
+-	    0,    1,    1,    1,    1,    0
+-	};
+-}
+-
+-private static final byte _JSON_integer_range_lengths[] = init__JSON_integer_range_lengths_0();
+-
+-
+-private static byte[] init__JSON_integer_index_offsets_0()
+-{
+-	return new byte [] {
+-	    0,    0,    4,    7,    9,   11
+-	};
+-}
+-
+-private static final byte _JSON_integer_index_offsets[] = init__JSON_integer_index_offsets_0();
+-
+-
+-private static byte[] init__JSON_integer_indicies_0()
+-{
+-	return new byte [] {
+-	    0,    2,    3,    1,    2,    3,    1,    1,    4,    3,    4,    1,
+-	    0
+-	};
+-}
+-
+-private static final byte _JSON_integer_indicies[] = init__JSON_integer_indicies_0();
+-
+-
+-private static byte[] init__JSON_integer_trans_targs_0()
+-{
+-	return new byte [] {
+-	    2,    0,    3,    4,    5
+-	};
+-}
+-
+-private static final byte _JSON_integer_trans_targs[] = init__JSON_integer_trans_targs_0();
+-
+-
+-private static byte[] init__JSON_integer_trans_actions_0()
+-{
+-	return new byte [] {
+-	    0,    0,    0,    0,    1
+-	};
+-}
+-
+-private static final byte _JSON_integer_trans_actions[] = init__JSON_integer_trans_actions_0();
+-
+-
+-static final int JSON_integer_start = 1;
+-static final int JSON_integer_first_final = 5;
+-static final int JSON_integer_error = 0;
+-
+-static final int JSON_integer_en_main = 1;
+-
+-
+-// line 457 "Parser.rl"
+-
+-
+-        ParserResult parseInteger(int p, int pe) {
+-            int cs = EVIL;
+-
+-            
+-// line 775 "Parser.java"
+-	{
+-	cs = JSON_integer_start;
+-	}
+-
+-// line 463 "Parser.rl"
+-            int memo = p;
+-            
+-// line 783 "Parser.java"
+-	{
+-	int _klen;
+-	int _trans = 0;
+-	int _acts;
+-	int _nacts;
+-	int _keys;
+-	int _goto_targ = 0;
+-
+-	_goto: while (true) {
+-	switch ( _goto_targ ) {
+-	case 0:
+-	if ( p == pe ) {
+-		_goto_targ = 4;
+-		continue _goto;
+-	}
+-	if ( cs == 0 ) {
+-		_goto_targ = 5;
+-		continue _goto;
+-	}
+-case 1:
+-	_match: do {
+-	_keys = _JSON_integer_key_offsets[cs];
+-	_trans = _JSON_integer_index_offsets[cs];
+-	_klen = _JSON_integer_single_lengths[cs];
+-	if ( _klen > 0 ) {
+-		int _lower = _keys;
+-		int _mid;
+-		int _upper = _keys + _klen - 1;
+-		while (true) {
+-			if ( _upper < _lower )
+-				break;
+-
+-			_mid = _lower + ((_upper-_lower) >> 1);
+-			if ( data[p] < _JSON_integer_trans_keys[_mid] )
+-				_upper = _mid - 1;
+-			else if ( data[p] > _JSON_integer_trans_keys[_mid] )
+-				_lower = _mid + 1;
+-			else {
+-				_trans += (_mid - _keys);
+-				break _match;
+-			}
+-		}
+-		_keys += _klen;
+-		_trans += _klen;
+-	}
+-
+-	_klen = _JSON_integer_range_lengths[cs];
+-	if ( _klen > 0 ) {
+-		int _lower = _keys;
+-		int _mid;
+-		int _upper = _keys + (_klen<<1) - 2;
+-		while (true) {
+-			if ( _upper < _lower )
+-				break;
+-
+-			_mid = _lower + (((_upper-_lower) >> 1) & ~1);
+-			if ( data[p] < _JSON_integer_trans_keys[_mid] )
+-				_upper = _mid - 2;
+-			else if ( data[p] > _JSON_integer_trans_keys[_mid+1] )
+-				_lower = _mid + 2;
+-			else {
+-				_trans += ((_mid - _keys)>>1);
+-				break _match;
+-			}
+-		}
+-		_trans += _klen;
+-	}
+-	} while (false);
+-
+-	_trans = _JSON_integer_indicies[_trans];
+-	cs = _JSON_integer_trans_targs[_trans];
+-
+-	if ( _JSON_integer_trans_actions[_trans] != 0 ) {
+-		_acts = _JSON_integer_trans_actions[_trans];
+-		_nacts = (int) _JSON_integer_actions[_acts++];
+-		while ( _nacts-- > 0 )
+-	{
+-			switch ( _JSON_integer_actions[_acts++] )
+-			{
+-	case 0:
+-// line 451 "Parser.rl"
+-	{
+-                p--;
+-                { p += 1; _goto_targ = 5; if (true)  continue _goto;}
+-            }
+-	break;
+-// line 870 "Parser.java"
+-			}
+-		}
+-	}
+-
+-case 2:
+-	if ( cs == 0 ) {
+-		_goto_targ = 5;
+-		continue _goto;
+-	}
+-	if ( ++p != pe ) {
+-		_goto_targ = 1;
+-		continue _goto;
+-	}
+-case 4:
+-case 5:
+-	}
+-	break; }
+-	}
+-
+-// line 465 "Parser.rl"
+-
+-            if (cs < JSON_integer_first_final) {
+-                return null;
+-            }
+-
+-            ByteList num = absSubSequence(memo, p);
+-            // note: this is actually a shared string, but since it is temporary and
+-            //       read-only, it doesn't really matter
+-            RubyString expr = RubyString.newStringLight(getRuntime(), num);
+-            RubyInteger number = RubyNumeric.str2inum(getRuntime(), expr, 10, true);
+-            return new ParserResult(number, p + 1);
+-        }
+-
+-        
+-// line 905 "Parser.java"
+-private static byte[] init__JSON_float_actions_0()
+-{
+-	return new byte [] {
+-	    0,    1,    0
+-	};
+-}
+-
+-private static final byte _JSON_float_actions[] = init__JSON_float_actions_0();
+-
+-
+-private static byte[] init__JSON_float_key_offsets_0()
+-{
+-	return new byte [] {
+-	    0,    0,    4,    7,   10,   12,   18,   22,   24,   30,   35
+-	};
+-}
+-
+-private static final byte _JSON_float_key_offsets[] = init__JSON_float_key_offsets_0();
+-
+-
+-private static char[] init__JSON_float_trans_keys_0()
+-{
+-	return new char [] {
+-	   45,   48,   49,   57,   48,   49,   57,   46,   69,  101,   48,   57,
+-	   69,  101,   45,   46,   48,   57,   43,   45,   48,   57,   48,   57,
+-	   69,  101,   45,   46,   48,   57,   46,   69,  101,   48,   57,    0
+-	};
+-}
+-
+-private static final char _JSON_float_trans_keys[] = init__JSON_float_trans_keys_0();
+-
+-
+-private static byte[] init__JSON_float_single_lengths_0()
+-{
+-	return new byte [] {
+-	    0,    2,    1,    3,    0,    2,    2,    0,    2,    3,    0
+-	};
+-}
+-
+-private static final byte _JSON_float_single_lengths[] = init__JSON_float_single_lengths_0();
+-
+-
+-private static byte[] init__JSON_float_range_lengths_0()
+-{
+-	return new byte [] {
+-	    0,    1,    1,    0,    1,    2,    1,    1,    2,    1,    0
+-	};
+-}
+-
+-private static final byte _JSON_float_range_lengths[] = init__JSON_float_range_lengths_0();
+-
+-
+-private static byte[] init__JSON_float_index_offsets_0()
+-{
+-	return new byte [] {
+-	    0,    0,    4,    7,   11,   13,   18,   22,   24,   29,   34
+-	};
+-}
+-
+-private static final byte _JSON_float_index_offsets[] = init__JSON_float_index_offsets_0();
+-
+-
+-private static byte[] init__JSON_float_indicies_0()
+-{
+-	return new byte [] {
+-	    0,    2,    3,    1,    2,    3,    1,    4,    5,    5,    1,    6,
+-	    1,    5,    5,    1,    6,    7,    8,    8,    9,    1,    9,    1,
+-	    1,    1,    1,    9,    7,    4,    5,    5,    3,    1,    1,    0
+-	};
+-}
+-
+-private static final byte _JSON_float_indicies[] = init__JSON_float_indicies_0();
+-
+-
+-private static byte[] init__JSON_float_trans_targs_0()
+-{
+-	return new byte [] {
+-	    2,    0,    3,    9,    4,    6,    5,   10,    7,    8
+-	};
+-}
+-
+-private static final byte _JSON_float_trans_targs[] = init__JSON_float_trans_targs_0();
+-
+-
+-private static byte[] init__JSON_float_trans_actions_0()
+-{
+-	return new byte [] {
+-	    0,    0,    0,    0,    0,    0,    0,    1,    0,    0
+-	};
+-}
+-
+-private static final byte _JSON_float_trans_actions[] = init__JSON_float_trans_actions_0();
+-
+-
+-static final int JSON_float_start = 1;
+-static final int JSON_float_first_final = 10;
+-static final int JSON_float_error = 0;
+-
+-static final int JSON_float_en_main = 1;
+-
+-
+-// line 493 "Parser.rl"
+-
+-
+-        ParserResult parseFloat(int p, int pe) {
+-            int cs = EVIL;
+-
+-            
+-// line 1014 "Parser.java"
+-	{
+-	cs = JSON_float_start;
+-	}
+-
+-// line 499 "Parser.rl"
+-            int memo = p;
+-            
+-// line 1022 "Parser.java"
+-	{
+-	int _klen;
+-	int _trans = 0;
+-	int _acts;
+-	int _nacts;
+-	int _keys;
+-	int _goto_targ = 0;
+-
+-	_goto: while (true) {
+-	switch ( _goto_targ ) {
+-	case 0:
+-	if ( p == pe ) {
+-		_goto_targ = 4;
+-		continue _goto;
+-	}
+-	if ( cs == 0 ) {
+-		_goto_targ = 5;
+-		continue _goto;
+-	}
+-case 1:
+-	_match: do {
+-	_keys = _JSON_float_key_offsets[cs];
+-	_trans = _JSON_float_index_offsets[cs];
+-	_klen = _JSON_float_single_lengths[cs];
+-	if ( _klen > 0 ) {
+-		int _lower = _keys;
+-		int _mid;
+-		int _upper = _keys + _klen - 1;
+-		while (true) {
+-			if ( _upper < _lower )
+-				break;
+-
+-			_mid = _lower + ((_upper-_lower) >> 1);
+-			if ( data[p] < _JSON_float_trans_keys[_mid] )
+-				_upper = _mid - 1;
+-			else if ( data[p] > _JSON_float_trans_keys[_mid] )
+-				_lower = _mid + 1;
+-			else {
+-				_trans += (_mid - _keys);
+-				break _match;
+-			}
+-		}
+-		_keys += _klen;
+-		_trans += _klen;
+-	}
+-
+-	_klen = _JSON_float_range_lengths[cs];
+-	if ( _klen > 0 ) {
+-		int _lower = _keys;
+-		int _mid;
+-		int _upper = _keys + (_klen<<1) - 2;
+-		while (true) {
+-			if ( _upper < _lower )
+-				break;
+-
+-			_mid = _lower + (((_upper-_lower) >> 1) & ~1);
+-			if ( data[p] < _JSON_float_trans_keys[_mid] )
+-				_upper = _mid - 2;
+-			else if ( data[p] > _JSON_float_trans_keys[_mid+1] )
+-				_lower = _mid + 2;
+-			else {
+-				_trans += ((_mid - _keys)>>1);
+-				break _match;
+-			}
+-		}
+-		_trans += _klen;
+-	}
+-	} while (false);
+-
+-	_trans = _JSON_float_indicies[_trans];
+-	cs = _JSON_float_trans_targs[_trans];
+-
+-	if ( _JSON_float_trans_actions[_trans] != 0 ) {
+-		_acts = _JSON_float_trans_actions[_trans];
+-		_nacts = (int) _JSON_float_actions[_acts++];
+-		while ( _nacts-- > 0 )
+-	{
+-			switch ( _JSON_float_actions[_acts++] )
+-			{
+-	case 0:
+-// line 484 "Parser.rl"
+-	{
+-                p--;
+-                { p += 1; _goto_targ = 5; if (true)  continue _goto;}
+-            }
+-	break;
+-// line 1109 "Parser.java"
+-			}
+-		}
+-	}
+-
+-case 2:
+-	if ( cs == 0 ) {
+-		_goto_targ = 5;
+-		continue _goto;
+-	}
+-	if ( ++p != pe ) {
+-		_goto_targ = 1;
+-		continue _goto;
+-	}
+-case 4:
+-case 5:
+-	}
+-	break; }
+-	}
+-
+-// line 501 "Parser.rl"
+-
+-            if (cs < JSON_float_first_final) {
+-                return null;
+-            }
+-
+-            ByteList num = absSubSequence(memo, p);
+-            // note: this is actually a shared string, but since it is temporary and
+-            //       read-only, it doesn't really matter
+-            RubyString expr = RubyString.newStringLight(getRuntime(), num);
+-            RubyFloat number = RubyNumeric.str2fnum(getRuntime(), expr, true);
+-            return new ParserResult(number, p + 1);
+-        }
+-
+-        
+-// line 1144 "Parser.java"
+-private static byte[] init__JSON_string_actions_0()
+-{
+-	return new byte [] {
+-	    0,    2,    0,    1
+-	};
+-}
+-
+-private static final byte _JSON_string_actions[] = init__JSON_string_actions_0();
+-
+-
+-private static byte[] init__JSON_string_key_offsets_0()
+-{
+-	return new byte [] {
+-	    0,    0,    1,    5,    8,   14,   20,   26,   32
+-	};
+-}
+-
+-private static final byte _JSON_string_key_offsets[] = init__JSON_string_key_offsets_0();
+-
+-
+-private static char[] init__JSON_string_trans_keys_0()
+-{
+-	return new char [] {
+-	   34,   34,   92,    0,   31,  117,    0,   31,   48,   57,   65,   70,
+-	   97,  102,   48,   57,   65,   70,   97,  102,   48,   57,   65,   70,
+-	   97,  102,   48,   57,   65,   70,   97,  102,    0
+-	};
+-}
+-
+-private static final char _JSON_string_trans_keys[] = init__JSON_string_trans_keys_0();
+-
+-
+-private static byte[] init__JSON_string_single_lengths_0()
+-{
+-	return new byte [] {
+-	    0,    1,    2,    1,    0,    0,    0,    0,    0
+-	};
+-}
+-
+-private static final byte _JSON_string_single_lengths[] = init__JSON_string_single_lengths_0();
+-
+-
+-private static byte[] init__JSON_string_range_lengths_0()
+-{
+-	return new byte [] {
+-	    0,    0,    1,    1,    3,    3,    3,    3,    0
+-	};
+-}
+-
+-private static final byte _JSON_string_range_lengths[] = init__JSON_string_range_lengths_0();
+-
+-
+-private static byte[] init__JSON_string_index_offsets_0()
+-{
+-	return new byte [] {
+-	    0,    0,    2,    6,    9,   13,   17,   21,   25
+-	};
+-}
+-
+-private static final byte _JSON_string_index_offsets[] = init__JSON_string_index_offsets_0();
+-
+-
+-private static byte[] init__JSON_string_indicies_0()
+-{
+-	return new byte [] {
+-	    0,    1,    2,    3,    1,    0,    4,    1,    0,    5,    5,    5,
+-	    1,    6,    6,    6,    1,    7,    7,    7,    1,    0,    0,    0,
+-	    1,    1,    0
+-	};
+-}
+-
+-private static final byte _JSON_string_indicies[] = init__JSON_string_indicies_0();
+-
+-
+-private static byte[] init__JSON_string_trans_targs_0()
+-{
+-	return new byte [] {
+-	    2,    0,    8,    3,    4,    5,    6,    7
+-	};
+-}
+-
+-private static final byte _JSON_string_trans_targs[] = init__JSON_string_trans_targs_0();
+-
+-
+-private static byte[] init__JSON_string_trans_actions_0()
+-{
+-	return new byte [] {
+-	    0,    0,    1,    0,    0,    0,    0,    0
+-	};
+-}
+-
+-private static final byte _JSON_string_trans_actions[] = init__JSON_string_trans_actions_0();
+-
+-
+-static final int JSON_string_start = 1;
+-static final int JSON_string_first_final = 8;
+-static final int JSON_string_error = 0;
+-
+-static final int JSON_string_en_main = 1;
+-
+-
+-// line 545 "Parser.rl"
+-
+-
+-        ParserResult parseString(int p, int pe) {
+-            int cs = EVIL;
+-            IRubyObject result = null;
+-
+-            
+-// line 1254 "Parser.java"
+-	{
+-	cs = JSON_string_start;
+-	}
+-
+-// line 552 "Parser.rl"
+-            int memo = p;
+-            
+-// line 1262 "Parser.java"
+-	{
+-	int _klen;
+-	int _trans = 0;
+-	int _acts;
+-	int _nacts;
+-	int _keys;
+-	int _goto_targ = 0;
+-
+-	_goto: while (true) {
+-	switch ( _goto_targ ) {
+-	case 0:
+-	if ( p == pe ) {
+-		_goto_targ = 4;
+-		continue _goto;
+-	}
+-	if ( cs == 0 ) {
+-		_goto_targ = 5;
+-		continue _goto;
+-	}
+-case 1:
+-	_match: do {
+-	_keys = _JSON_string_key_offsets[cs];
+-	_trans = _JSON_string_index_offsets[cs];
+-	_klen = _JSON_string_single_lengths[cs];
+-	if ( _klen > 0 ) {
+-		int _lower = _keys;
+-		int _mid;
+-		int _upper = _keys + _klen - 1;
+-		while (true) {
+-			if ( _upper < _lower )
+-				break;
+-
+-			_mid = _lower + ((_upper-_lower) >> 1);
+-			if ( data[p] < _JSON_string_trans_keys[_mid] )
+-				_upper = _mid - 1;
+-			else if ( data[p] > _JSON_string_trans_keys[_mid] )
+-				_lower = _mid + 1;
+-			else {
+-				_trans += (_mid - _keys);
+-				break _match;
+-			}
+-		}
+-		_keys += _klen;
+-		_trans += _klen;
+-	}
+-
+-	_klen = _JSON_string_range_lengths[cs];
+-	if ( _klen > 0 ) {
+-		int _lower = _keys;
+-		int _mid;
+-		int _upper = _keys + (_klen<<1) - 2;
+-		while (true) {
+-			if ( _upper < _lower )
+-				break;
+-
+-			_mid = _lower + (((_upper-_lower) >> 1) & ~1);
+-			if ( data[p] < _JSON_string_trans_keys[_mid] )
+-				_upper = _mid - 2;
+-			else if ( data[p] > _JSON_string_trans_keys[_mid+1] )
+-				_lower = _mid + 2;
+-			else {
+-				_trans += ((_mid - _keys)>>1);
+-				break _match;
+-			}
+-		}
+-		_trans += _klen;
+-	}
+-	} while (false);
+-
+-	_trans = _JSON_string_indicies[_trans];
+-	cs = _JSON_string_trans_targs[_trans];
+-
+-	if ( _JSON_string_trans_actions[_trans] != 0 ) {
+-		_acts = _JSON_string_trans_actions[_trans];
+-		_nacts = (int) _JSON_string_actions[_acts++];
+-		while ( _nacts-- > 0 )
+-	{
+-			switch ( _JSON_string_actions[_acts++] )
+-			{
+-	case 0:
+-// line 520 "Parser.rl"
+-	{
+-                int offset = byteList.begin();
+-                ByteList decoded = decoder.decode(byteList, memo + 1 - offset,
+-                                                  p - offset);
+-                result = getRuntime().newString(decoded);
+-                if (result == null) {
+-                    p--;
+-                    { p += 1; _goto_targ = 5; if (true)  continue _goto;}
+-                } else {
+-                    {p = (( p + 1))-1;}
+-                }
+-            }
+-	break;
+-	case 1:
+-// line 533 "Parser.rl"
+-	{
+-                p--;
+-                { p += 1; _goto_targ = 5; if (true)  continue _goto;}
+-            }
+-	break;
+-// line 1364 "Parser.java"
+-			}
+-		}
+-	}
+-
+-case 2:
+-	if ( cs == 0 ) {
+-		_goto_targ = 5;
+-		continue _goto;
+-	}
+-	if ( ++p != pe ) {
+-		_goto_targ = 1;
+-		continue _goto;
+-	}
+-case 4:
+-case 5:
+-	}
+-	break; }
+-	}
+-
+-// line 554 "Parser.rl"
+-
+-            if (parser.createAdditions) {
+-                RubyHash match_string = parser.match_string;
+-                if (match_string != null) {
+-                    final IRubyObject[] memoArray = { result, null };
+-                    try {
+-                      match_string.visitAll(new RubyHash.Visitor() {
+-                          @Override
+-                          public void visit(IRubyObject pattern, IRubyObject klass) {
+-                              if (pattern.callMethod(context, "===", memoArray[0]).isTrue()) {
+-                                  memoArray[1] = klass;
+-                                  throw JumpException.SPECIAL_JUMP;
+-                              }
+-                          }
+-                      });
+-                    } catch (JumpException e) { }
+-                    if (memoArray[1] != null) { 
+-                        RubyClass klass = (RubyClass) memoArray[1];
+-                        if (klass.respondsTo("json_creatable?") &&
+-                            klass.callMethod(context, "json_creatable?").isTrue()) {
+-                            result = klass.callMethod(context, "json_create", result);
+-                        }
+-                    }
+-                }
+-            }
+-
+-            if (cs >= JSON_string_first_final && result != null) {
+-                return new ParserResult(result, p + 1);
+-            } else {
+-                return null;
+-            }
+-        }
+-
+-        
+-// line 1419 "Parser.java"
+-private static byte[] init__JSON_array_actions_0()
+-{
+-	return new byte [] {
+-	    0,    1,    0,    1,    1
+-	};
+-}
+-
+-private static final byte _JSON_array_actions[] = init__JSON_array_actions_0();
+-
+-
+-private static byte[] init__JSON_array_key_offsets_0()
+-{
+-	return new byte [] {
+-	    0,    0,    1,   18,   25,   41,   43,   44,   46,   47,   49,   50,
+-	   52,   53,   55,   56,   58,   59
+-	};
+-}
+-
+-private static final byte _JSON_array_key_offsets[] = init__JSON_array_key_offsets_0();
+-
+-
+-private static char[] init__JSON_array_trans_keys_0()
+-{
+-	return new char [] {
+-	   91,   13,   32,   34,   45,   47,   73,   78,   91,   93,  102,  110,
+-	  116,  123,    9,   10,   48,   57,   13,   32,   44,   47,   93,    9,
+-	   10,   13,   32,   34,   45,   47,   73,   78,   91,  102,  110,  116,
+-	  123,    9,   10,   48,   57,   42,   47,   42,   42,   47,   10,   42,
+-	   47,   42,   42,   47,   10,   42,   47,   42,   42,   47,   10,    0
+-	};
+-}
+-
+-private static final char _JSON_array_trans_keys[] = init__JSON_array_trans_keys_0();
+-
+-
+-private static byte[] init__JSON_array_single_lengths_0()
+-{
+-	return new byte [] {
+-	    0,    1,   13,    5,   12,    2,    1,    2,    1,    2,    1,    2,
+-	    1,    2,    1,    2,    1,    0
+-	};
+-}
+-
+-private static final byte _JSON_array_single_lengths[] = init__JSON_array_single_lengths_0();
+-
+-
+-private static byte[] init__JSON_array_range_lengths_0()
+-{
+-	return new byte [] {
+-	    0,    0,    2,    1,    2,    0,    0,    0,    0,    0,    0,    0,
+-	    0,    0,    0,    0,    0,    0
+-	};
+-}
+-
+-private static final byte _JSON_array_range_lengths[] = init__JSON_array_range_lengths_0();
+-
+-
+-private static byte[] init__JSON_array_index_offsets_0()
+-{
+-	return new byte [] {
+-	    0,    0,    2,   18,   25,   40,   43,   45,   48,   50,   53,   55,
+-	   58,   60,   63,   65,   68,   70
+-	};
+-}
+-
+-private static final byte _JSON_array_index_offsets[] = init__JSON_array_index_offsets_0();
+-
+-
+-private static byte[] init__JSON_array_indicies_0()
+-{
+-	return new byte [] {
+-	    0,    1,    0,    0,    2,    2,    3,    2,    2,    2,    4,    2,
+-	    2,    2,    2,    0,    2,    1,    5,    5,    6,    7,    4,    5,
+-	    1,    6,    6,    2,    2,    8,    2,    2,    2,    2,    2,    2,
+-	    2,    6,    2,    1,    9,   10,    1,   11,    9,   11,    6,    9,
+-	    6,   10,   12,   13,    1,   14,   12,   14,    5,   12,    5,   13,
+-	   15,   16,    1,   17,   15,   17,    0,   15,    0,   16,    1,    0
+-	};
+-}
+-
+-private static final byte _JSON_array_indicies[] = init__JSON_array_indicies_0();
+-
+-
+-private static byte[] init__JSON_array_trans_targs_0()
+-{
+-	return new byte [] {
+-	    2,    0,    3,   13,   17,    3,    4,    9,    5,    6,    8,    7,
+-	   10,   12,   11,   14,   16,   15
+-	};
+-}
+-
+-private static final byte _JSON_array_trans_targs[] = init__JSON_array_trans_targs_0();
+-
+-
+-private static byte[] init__JSON_array_trans_actions_0()
+-{
+-	return new byte [] {
+-	    0,    0,    1,    0,    3,    0,    0,    0,    0,    0,    0,    0,
+-	    0,    0,    0,    0,    0,    0
+-	};
+-}
+-
+-private static final byte _JSON_array_trans_actions[] = init__JSON_array_trans_actions_0();
+-
+-
+-static final int JSON_array_start = 1;
+-static final int JSON_array_first_final = 17;
+-static final int JSON_array_error = 0;
+-
+-static final int JSON_array_en_main = 1;
+-
+-
+-// line 620 "Parser.rl"
+-
+-
+-        ParserResult parseArray(int p, int pe) {
+-            int cs = EVIL;
+-
+-            if (parser.maxNesting > 0 && currentNesting > parser.maxNesting) {
+-                throw newException(Utils.M_NESTING_ERROR,
+-                    "nesting of " + currentNesting + " is too deep");
+-            }
+-
+-            // this is guaranteed to be a RubyArray due to the earlier
+-            // allocator test at OptionsReader#getClass
+-            RubyArray result =
+-                (RubyArray)parser.arrayClass.newInstance(context,
+-                    IRubyObject.NULL_ARRAY, Block.NULL_BLOCK);
+-
+-            
+-// line 1550 "Parser.java"
+-	{
+-	cs = JSON_array_start;
+-	}
+-
+-// line 637 "Parser.rl"
+-            
+-// line 1557 "Parser.java"
+-	{
+-	int _klen;
+-	int _trans = 0;
+-	int _acts;
+-	int _nacts;
+-	int _keys;
+-	int _goto_targ = 0;
+-
+-	_goto: while (true) {
+-	switch ( _goto_targ ) {
+-	case 0:
+-	if ( p == pe ) {
+-		_goto_targ = 4;
+-		continue _goto;
+-	}
+-	if ( cs == 0 ) {
+-		_goto_targ = 5;
+-		continue _goto;
+-	}
+-case 1:
+-	_match: do {
+-	_keys = _JSON_array_key_offsets[cs];
+-	_trans = _JSON_array_index_offsets[cs];
+-	_klen = _JSON_array_single_lengths[cs];
+-	if ( _klen > 0 ) {
+-		int _lower = _keys;
+-		int _mid;
+-		int _upper = _keys + _klen - 1;
+-		while (true) {
+-			if ( _upper < _lower )
+-				break;
+-
+-			_mid = _lower + ((_upper-_lower) >> 1);
+-			if ( data[p] < _JSON_array_trans_keys[_mid] )
+-				_upper = _mid - 1;
+-			else if ( data[p] > _JSON_array_trans_keys[_mid] )
+-				_lower = _mid + 1;
+-			else {
+-				_trans += (_mid - _keys);
+-				break _match;
+-			}
+-		}
+-		_keys += _klen;
+-		_trans += _klen;
+-	}
+-
+-	_klen = _JSON_array_range_lengths[cs];
+-	if ( _klen > 0 ) {
+-		int _lower = _keys;
+-		int _mid;
+-		int _upper = _keys + (_klen<<1) - 2;
+-		while (true) {
+-			if ( _upper < _lower )
+-				break;
+-
+-			_mid = _lower + (((_upper-_lower) >> 1) & ~1);
+-			if ( data[p] < _JSON_array_trans_keys[_mid] )
+-				_upper = _mid - 2;
+-			else if ( data[p] > _JSON_array_trans_keys[_mid+1] )
+-				_lower = _mid + 2;
+-			else {
+-				_trans += ((_mid - _keys)>>1);
+-				break _match;
+-			}
+-		}
+-		_trans += _klen;
+-	}
+-	} while (false);
+-
+-	_trans = _JSON_array_indicies[_trans];
+-	cs = _JSON_array_trans_targs[_trans];
+-
+-	if ( _JSON_array_trans_actions[_trans] != 0 ) {
+-		_acts = _JSON_array_trans_actions[_trans];
+-		_nacts = (int) _JSON_array_actions[_acts++];
+-		while ( _nacts-- > 0 )
+-	{
+-			switch ( _JSON_array_actions[_acts++] )
+-			{
+-	case 0:
+-// line 593 "Parser.rl"
+-	{
+-                ParserResult res = parseValue(p, pe);
+-                if (res == null) {
+-                    p--;
+-                    { p += 1; _goto_targ = 5; if (true)  continue _goto;}
+-                } else {
+-                    result.append(res.result);
+-                    {p = (( res.p))-1;}
+-                }
+-            }
+-	break;
+-	case 1:
+-// line 604 "Parser.rl"
+-	{
+-                p--;
+-                { p += 1; _goto_targ = 5; if (true)  continue _goto;}
+-            }
+-	break;
+-// line 1657 "Parser.java"
+-			}
+-		}
+-	}
+-
+-case 2:
+-	if ( cs == 0 ) {
+-		_goto_targ = 5;
+-		continue _goto;
+-	}
+-	if ( ++p != pe ) {
+-		_goto_targ = 1;
+-		continue _goto;
+-	}
+-case 4:
+-case 5:
+-	}
+-	break; }
+-	}
+-
+-// line 638 "Parser.rl"
+-
+-            if (cs >= JSON_array_first_final) {
+-                return new ParserResult(result, p + 1);
+-            } else {
+-                throw unexpectedToken(p, pe);
+-            }
+-        }
+-
+-        
+-// line 1687 "Parser.java"
+-private static byte[] init__JSON_object_actions_0()
+-{
+-	return new byte [] {
+-	    0,    1,    0,    1,    1,    1,    2
+-	};
+-}
+-
+-private static final byte _JSON_object_actions[] = init__JSON_object_actions_0();
+-
+-
+-private static byte[] init__JSON_object_key_offsets_0()
+-{
+-	return new byte [] {
+-	    0,    0,    1,    8,   14,   16,   17,   19,   20,   36,   43,   49,
+-	   51,   52,   54,   55,   57,   58,   60,   61,   63,   64,   66,   67,
+-	   69,   70,   72,   73
+-	};
+-}
+-
+-private static final byte _JSON_object_key_offsets[] = init__JSON_object_key_offsets_0();
+-
+-
+-private static char[] init__JSON_object_trans_keys_0()
+-{
+-	return new char [] {
+-	  123,   13,   32,   34,   47,  125,    9,   10,   13,   32,   47,   58,
+-	    9,   10,   42,   47,   42,   42,   47,   10,   13,   32,   34,   45,
+-	   47,   73,   78,   91,  102,  110,  116,  123,    9,   10,   48,   57,
+-	   13,   32,   44,   47,  125,    9,   10,   13,   32,   34,   47,    9,
+-	   10,   42,   47,   42,   42,   47,   10,   42,   47,   42,   42,   47,
+-	   10,   42,   47,   42,   42,   47,   10,   42,   47,   42,   42,   47,
+-	   10,    0
+-	};
+-}
+-
+-private static final char _JSON_object_trans_keys[] = init__JSON_object_trans_keys_0();
+-
+-
+-private static byte[] init__JSON_object_single_lengths_0()
+-{
+-	return new byte [] {
+-	    0,    1,    5,    4,    2,    1,    2,    1,   12,    5,    4,    2,
+-	    1,    2,    1,    2,    1,    2,    1,    2,    1,    2,    1,    2,
+-	    1,    2,    1,    0
+-	};
+-}
+-
+-private static final byte _JSON_object_single_lengths[] = init__JSON_object_single_lengths_0();
+-
+-
+-private static byte[] init__JSON_object_range_lengths_0()
+-{
+-	return new byte [] {
+-	    0,    0,    1,    1,    0,    0,    0,    0,    2,    1,    1,    0,
+-	    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+-	    0,    0,    0,    0
+-	};
+-}
+-
+-private static final byte _JSON_object_range_lengths[] = init__JSON_object_range_lengths_0();
+-
+-
+-private static byte[] init__JSON_object_index_offsets_0()
+-{
+-	return new byte [] {
+-	    0,    0,    2,    9,   15,   18,   20,   23,   25,   40,   47,   53,
+-	   56,   58,   61,   63,   66,   68,   71,   73,   76,   78,   81,   83,
+-	   86,   88,   91,   93
+-	};
+-}
+-
+-private static final byte _JSON_object_index_offsets[] = init__JSON_object_index_offsets_0();
+-
+-
+-private static byte[] init__JSON_object_indicies_0()
+-{
+-	return new byte [] {
+-	    0,    1,    0,    0,    2,    3,    4,    0,    1,    5,    5,    6,
+-	    7,    5,    1,    8,    9,    1,   10,    8,   10,    5,    8,    5,
+-	    9,    7,    7,   11,   11,   12,   11,   11,   11,   11,   11,   11,
+-	   11,    7,   11,    1,   13,   13,   14,   15,    4,   13,    1,   14,
+-	   14,    2,   16,   14,    1,   17,   18,    1,   19,   17,   19,   14,
+-	   17,   14,   18,   20,   21,    1,   22,   20,   22,   13,   20,   13,
+-	   21,   23,   24,    1,   25,   23,   25,    7,   23,    7,   24,   26,
+-	   27,    1,   28,   26,   28,    0,   26,    0,   27,    1,    0
+-	};
+-}
+-
+-private static final byte _JSON_object_indicies[] = init__JSON_object_indicies_0();
+-
+-
+-private static byte[] init__JSON_object_trans_targs_0()
+-{
+-	return new byte [] {
+-	    2,    0,    3,   23,   27,    3,    4,    8,    5,    7,    6,    9,
+-	   19,    9,   10,   15,   11,   12,   14,   13,   16,   18,   17,   20,
+-	   22,   21,   24,   26,   25
+-	};
+-}
+-
+-private static final byte _JSON_object_trans_targs[] = init__JSON_object_trans_targs_0();
+-
+-
+-private static byte[] init__JSON_object_trans_actions_0()
+-{
+-	return new byte [] {
+-	    0,    0,    3,    0,    5,    0,    0,    0,    0,    0,    0,    1,
+-	    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+-	    0,    0,    0,    0,    0
+-	};
+-}
+-
+-private static final byte _JSON_object_trans_actions[] = init__JSON_object_trans_actions_0();
+-
+-
+-static final int JSON_object_start = 1;
+-static final int JSON_object_first_final = 27;
+-static final int JSON_object_error = 0;
+-
+-static final int JSON_object_en_main = 1;
+-
+-
+-// line 694 "Parser.rl"
+-
+-
+-        ParserResult parseObject(int p, int pe) {
+-            int cs = EVIL;
+-            IRubyObject lastName = null;
+-
+-            if (parser.maxNesting > 0 && currentNesting > parser.maxNesting) {
+-                throw newException(Utils.M_NESTING_ERROR,
+-                    "nesting of " + currentNesting + " is too deep");
+-            }
+-
+-            // this is guaranteed to be a RubyHash due to the earlier
+-            // allocator test at OptionsReader#getClass
+-            RubyHash result =
+-                (RubyHash)parser.objectClass.newInstance(context,
+-                    IRubyObject.NULL_ARRAY, Block.NULL_BLOCK);
+-
+-            
+-// line 1829 "Parser.java"
+-	{
+-	cs = JSON_object_start;
+-	}
+-
+-// line 712 "Parser.rl"
+-            
+-// line 1836 "Parser.java"
+-	{
+-	int _klen;
+-	int _trans = 0;
+-	int _acts;
+-	int _nacts;
+-	int _keys;
+-	int _goto_targ = 0;
+-
+-	_goto: while (true) {
+-	switch ( _goto_targ ) {
+-	case 0:
+-	if ( p == pe ) {
+-		_goto_targ = 4;
+-		continue _goto;
+-	}
+-	if ( cs == 0 ) {
+-		_goto_targ = 5;
+-		continue _goto;
+-	}
+-case 1:
+-	_match: do {
+-	_keys = _JSON_object_key_offsets[cs];
+-	_trans = _JSON_object_index_offsets[cs];
+-	_klen = _JSON_object_single_lengths[cs];
+-	if ( _klen > 0 ) {
+-		int _lower = _keys;
+-		int _mid;
+-		int _upper = _keys + _klen - 1;
+-		while (true) {
+-			if ( _upper < _lower )
+-				break;
+-
+-			_mid = _lower + ((_upper-_lower) >> 1);
+-			if ( data[p] < _JSON_object_trans_keys[_mid] )
+-				_upper = _mid - 1;
+-			else if ( data[p] > _JSON_object_trans_keys[_mid] )
+-				_lower = _mid + 1;
+-			else {
+-				_trans += (_mid - _keys);
+-				break _match;
+-			}
+-		}
+-		_keys += _klen;
+-		_trans += _klen;
+-	}
+-
+-	_klen = _JSON_object_range_lengths[cs];
+-	if ( _klen > 0 ) {
+-		int _lower = _keys;
+-		int _mid;
+-		int _upper = _keys + (_klen<<1) - 2;
+-		while (true) {
+-			if ( _upper < _lower )
+-				break;
+-
+-			_mid = _lower + (((_upper-_lower) >> 1) & ~1);
+-			if ( data[p] < _JSON_object_trans_keys[_mid] )
+-				_upper = _mid - 2;
+-			else if ( data[p] > _JSON_object_trans_keys[_mid+1] )
+-				_lower = _mid + 2;
+-			else {
+-				_trans += ((_mid - _keys)>>1);
+-				break _match;
+-			}
+-		}
+-		_trans += _klen;
+-	}
+-	} while (false);
+-
+-	_trans = _JSON_object_indicies[_trans];
+-	cs = _JSON_object_trans_targs[_trans];
+-
+-	if ( _JSON_object_trans_actions[_trans] != 0 ) {
+-		_acts = _JSON_object_trans_actions[_trans];
+-		_nacts = (int) _JSON_object_actions[_acts++];
+-		while ( _nacts-- > 0 )
+-	{
+-			switch ( _JSON_object_actions[_acts++] )
+-			{
+-	case 0:
+-// line 652 "Parser.rl"
+-	{
+-                ParserResult res = parseValue(p, pe);
+-                if (res == null) {
+-                    p--;
+-                    { p += 1; _goto_targ = 5; if (true)  continue _goto;}
+-                } else {
+-                    result.op_aset(context, lastName, res.result);
+-                    {p = (( res.p))-1;}
+-                }
+-            }
+-	break;
+-	case 1:
+-// line 663 "Parser.rl"
+-	{
+-                ParserResult res = parseString(p, pe);
+-                if (res == null) {
+-                    p--;
+-                    { p += 1; _goto_targ = 5; if (true)  continue _goto;}
+-                } else {
+-                    RubyString name = (RubyString)res.result;
+-                    if (parser.symbolizeNames) {
+-                        lastName = context.getRuntime().is1_9()
+-                                       ? name.intern19()
+-                                       : name.intern();
+-                    } else {
+-                        lastName = name;
+-                    }
+-                    {p = (( res.p))-1;}
+-                }
+-            }
+-	break;
+-	case 2:
+-// line 681 "Parser.rl"
+-	{
+-                p--;
+-                { p += 1; _goto_targ = 5; if (true)  continue _goto;}
+-            }
+-	break;
+-// line 1956 "Parser.java"
+-			}
+-		}
+-	}
+-
+-case 2:
+-	if ( cs == 0 ) {
+-		_goto_targ = 5;
+-		continue _goto;
+-	}
+-	if ( ++p != pe ) {
+-		_goto_targ = 1;
+-		continue _goto;
+-	}
+-case 4:
+-case 5:
+-	}
+-	break; }
+-	}
+-
+-// line 713 "Parser.rl"
+-
+-            if (cs < JSON_object_first_final) {
+-                return null;
+-            }
+-
+-            IRubyObject returnedResult = result;
+-
+-            // attempt to de-serialize object
+-            if (parser.createAdditions) {
+-                IRubyObject vKlassName = result.op_aref(context, parser.createId);
+-                if (!vKlassName.isNil()) {
+-                    // might throw ArgumentError, we let it propagate
+-                    IRubyObject klass = parser.info.jsonModule.
+-                            callMethod(context, "deep_const_get", vKlassName);
+-                    if (klass.respondsTo("json_creatable?") &&
+-                        klass.callMethod(context, "json_creatable?").isTrue()) {
+-
+-                        returnedResult = klass.callMethod(context, "json_create", result);
+-                    }
+-                }
+-            }
+-            return new ParserResult(returnedResult, p + 1);
+-        }
+-
+-        
+-// line 2002 "Parser.java"
+-private static byte[] init__JSON_actions_0()
+-{
+-	return new byte [] {
+-	    0,    1,    0,    1,    1
+-	};
+-}
+-
+-private static final byte _JSON_actions[] = init__JSON_actions_0();
+-
+-
+-private static byte[] init__JSON_key_offsets_0()
+-{
+-	return new byte [] {
+-	    0,    0,    7,    9,   10,   12,   13,   15,   16,   18,   19
+-	};
+-}
+-
+-private static final byte _JSON_key_offsets[] = init__JSON_key_offsets_0();
+-
+-
+-private static char[] init__JSON_trans_keys_0()
+-{
+-	return new char [] {
+-	   13,   32,   47,   91,  123,    9,   10,   42,   47,   42,   42,   47,
+-	   10,   42,   47,   42,   42,   47,   10,   13,   32,   47,    9,   10,
+-	    0
+-	};
+-}
+-
+-private static final char _JSON_trans_keys[] = init__JSON_trans_keys_0();
+-
+-
+-private static byte[] init__JSON_single_lengths_0()
+-{
+-	return new byte [] {
+-	    0,    5,    2,    1,    2,    1,    2,    1,    2,    1,    3
+-	};
+-}
+-
+-private static final byte _JSON_single_lengths[] = init__JSON_single_lengths_0();
+-
+-
+-private static byte[] init__JSON_range_lengths_0()
+-{
+-	return new byte [] {
+-	    0,    1,    0,    0,    0,    0,    0,    0,    0,    0,    1
+-	};
+-}
+-
+-private static final byte _JSON_range_lengths[] = init__JSON_range_lengths_0();
+-
+-
+-private static byte[] init__JSON_index_offsets_0()
+-{
+-	return new byte [] {
+-	    0,    0,    7,   10,   12,   15,   17,   20,   22,   25,   27
+-	};
+-}
+-
+-private static final byte _JSON_index_offsets[] = init__JSON_index_offsets_0();
+-
+-
+-private static byte[] init__JSON_indicies_0()
+-{
+-	return new byte [] {
+-	    0,    0,    2,    3,    4,    0,    1,    5,    6,    1,    7,    5,
+-	    7,    0,    5,    0,    6,    8,    9,    1,   10,    8,   10,   11,
+-	    8,   11,    9,   11,   11,   12,   11,    1,    0
+-	};
+-}
+-
+-private static final byte _JSON_indicies[] = init__JSON_indicies_0();
+-
+-
+-private static byte[] init__JSON_trans_targs_0()
+-{
+-	return new byte [] {
+-	    1,    0,    2,   10,   10,    3,    5,    4,    7,    9,    8,   10,
+-	    6
+-	};
+-}
+-
+-private static final byte _JSON_trans_targs[] = init__JSON_trans_targs_0();
+-
+-
+-private static byte[] init__JSON_trans_actions_0()
+-{
+-	return new byte [] {
+-	    0,    0,    0,    3,    1,    0,    0,    0,    0,    0,    0,    0,
+-	    0
+-	};
+-}
+-
+-private static final byte _JSON_trans_actions[] = init__JSON_trans_actions_0();
+-
+-
+-static final int JSON_start = 1;
+-static final int JSON_first_final = 10;
+-static final int JSON_error = 0;
+-
+-static final int JSON_en_main = 1;
+-
+-
+-// line 771 "Parser.rl"
+-
+-
+-        public IRubyObject parse() {
+-            int cs = EVIL;
+-            int p, pe;
+-            IRubyObject result = null;
+-
+-            
+-// line 2115 "Parser.java"
+-	{
+-	cs = JSON_start;
+-	}
+-
+-// line 779 "Parser.rl"
+-            p = byteList.begin();
+-            pe = p + byteList.length();
+-            
+-// line 2124 "Parser.java"
+-	{
+-	int _klen;
+-	int _trans = 0;
+-	int _acts;
+-	int _nacts;
+-	int _keys;
+-	int _goto_targ = 0;
+-
+-	_goto: while (true) {
+-	switch ( _goto_targ ) {
+-	case 0:
+-	if ( p == pe ) {
+-		_goto_targ = 4;
+-		continue _goto;
+-	}
+-	if ( cs == 0 ) {
+-		_goto_targ = 5;
+-		continue _goto;
+-	}
+-case 1:
+-	_match: do {
+-	_keys = _JSON_key_offsets[cs];
+-	_trans = _JSON_index_offsets[cs];
+-	_klen = _JSON_single_lengths[cs];
+-	if ( _klen > 0 ) {
+-		int _lower = _keys;
+-		int _mid;
+-		int _upper = _keys + _klen - 1;
+-		while (true) {
+-			if ( _upper < _lower )
+-				break;
+-
+-			_mid = _lower + ((_upper-_lower) >> 1);
+-			if ( data[p] < _JSON_trans_keys[_mid] )
+-				_upper = _mid - 1;
+-			else if ( data[p] > _JSON_trans_keys[_mid] )
+-				_lower = _mid + 1;
+-			else {
+-				_trans += (_mid - _keys);
+-				break _match;
+-			}
+-		}
+-		_keys += _klen;
+-		_trans += _klen;
+-	}
+-
+-	_klen = _JSON_range_lengths[cs];
+-	if ( _klen > 0 ) {
+-		int _lower = _keys;
+-		int _mid;
+-		int _upper = _keys + (_klen<<1) - 2;
+-		while (true) {
+-			if ( _upper < _lower )
+-				break;
+-
+-			_mid = _lower + (((_upper-_lower) >> 1) & ~1);
+-			if ( data[p] < _JSON_trans_keys[_mid] )
+-				_upper = _mid - 2;
+-			else if ( data[p] > _JSON_trans_keys[_mid+1] )
+-				_lower = _mid + 2;
+-			else {
+-				_trans += ((_mid - _keys)>>1);
+-				break _match;
+-			}
+-		}
+-		_trans += _klen;
+-	}
+-	} while (false);
+-
+-	_trans = _JSON_indicies[_trans];
+-	cs = _JSON_trans_targs[_trans];
+-
+-	if ( _JSON_trans_actions[_trans] != 0 ) {
+-		_acts = _JSON_trans_actions[_trans];
+-		_nacts = (int) _JSON_actions[_acts++];
+-		while ( _nacts-- > 0 )
+-	{
+-			switch ( _JSON_actions[_acts++] )
+-			{
+-	case 0:
+-// line 743 "Parser.rl"
+-	{
+-                currentNesting = 1;
+-                ParserResult res = parseObject(p, pe);
+-                if (res == null) {
+-                    p--;
+-                    { p += 1; _goto_targ = 5; if (true)  continue _goto;}
+-                } else {
+-                    result = res.result;
+-                    {p = (( res.p))-1;}
+-                }
+-            }
+-	break;
+-	case 1:
+-// line 755 "Parser.rl"
+-	{
+-                currentNesting = 1;
+-                ParserResult res = parseArray(p, pe);
+-                if (res == null) {
+-                    p--;
+-                    { p += 1; _goto_targ = 5; if (true)  continue _goto;}
+-                } else {
+-                    result = res.result;
+-                    {p = (( res.p))-1;}
+-                }
+-            }
+-	break;
+-// line 2232 "Parser.java"
+-			}
+-		}
+-	}
+-
+-case 2:
+-	if ( cs == 0 ) {
+-		_goto_targ = 5;
+-		continue _goto;
+-	}
+-	if ( ++p != pe ) {
+-		_goto_targ = 1;
+-		continue _goto;
+-	}
+-case 4:
+-case 5:
+-	}
+-	break; }
+-	}
+-
+-// line 782 "Parser.rl"
+-
+-            if (cs >= JSON_first_final && p == pe) {
+-                return result;
+-            } else {
+-                throw unexpectedToken(p, pe);
+-            }
+-        }
+-
+-        /**
+-         * Returns a subsequence of the source ByteList, based on source
+-         * array byte offsets (i.e., the ByteList's own begin offset is not
+-         * automatically added).
+-         * @param start
+-         * @param end
+-         */
+-        private ByteList absSubSequence(int absStart, int absEnd) {
+-            int offset = byteList.begin();
+-            return (ByteList)byteList.subSequence(absStart - offset,
+-                                                  absEnd - offset);
+-        }
+-
+-        /**
+-         * Retrieves a constant directly descended from the <code>JSON</code> module.
+-         * @param name The constant name
+-         */
+-        private IRubyObject getConstant(String name) {
+-            return parser.info.jsonModule.getConstant(name);
+-        }
+-
+-        private RaiseException newException(String className, String message) {
+-            return Utils.newException(context, className, message);
+-        }
+-
+-        private RaiseException newException(String className, RubyString message) {
+-            return Utils.newException(context, className, message);
+-        }
+-
+-        private RaiseException newException(String className,
+-                String messageBegin, ByteList messageEnd) {
+-            return newException(className,
+-                    getRuntime().newString(messageBegin).cat(messageEnd));
+-        }
+-    }
+-}
+diff --git a/lib/mcollective/vendor/json/java/src/json/ext/Parser.rl b/lib/mcollective/vendor/json/java/src/json/ext/Parser.rl
+deleted file mode 100644
+index e576b97..0000000
+--- a/lib/mcollective/vendor/json/java/src/json/ext/Parser.rl
++++ /dev/null
+@@ -1,825 +0,0 @@
+-/*
+- * This code is copyrighted work by Daniel Luz <dev at mernen dot com>.
+- * 
+- * Distributed under the Ruby and GPLv2 licenses; see COPYING and GPL files
+- * for details.
+- */
+-package json.ext;
+-
+-import org.jruby.Ruby;
+-import org.jruby.RubyArray;
+-import org.jruby.RubyClass;
+-import org.jruby.RubyEncoding;
+-import org.jruby.RubyFloat;
+-import org.jruby.RubyHash;
+-import org.jruby.RubyInteger;
+-import org.jruby.RubyModule;
+-import org.jruby.RubyNumeric;
+-import org.jruby.RubyObject;
+-import org.jruby.RubyString;
+-import org.jruby.anno.JRubyMethod;
+-import org.jruby.exceptions.JumpException;
+-import org.jruby.exceptions.RaiseException;
+-import org.jruby.runtime.Block;
+-import org.jruby.runtime.ObjectAllocator;
+-import org.jruby.runtime.ThreadContext;
+-import org.jruby.runtime.Visibility;
+-import org.jruby.runtime.builtin.IRubyObject;
+-import org.jruby.util.ByteList;
+-
+-/**
+- * The <code>JSON::Ext::Parser</code> class.
+- * 
+- * <p>This is the JSON parser implemented as a Java class. To use it as the
+- * standard parser, set
+- *   <pre>JSON.parser = JSON::Ext::Parser</pre>
+- * This is performed for you when you <code>include "json/ext"</code>.
+- * 
+- * <p>This class does not perform the actual parsing, just acts as an interface
+- * to Ruby code. When the {@link #parse()} method is invoked, a
+- * Parser.ParserSession object is instantiated, which handles the process.
+- * 
+- * @author mernen
+- */
+-public class Parser extends RubyObject {
+-    private final RuntimeInfo info;
+-    private RubyString vSource;
+-    private RubyString createId;
+-    private boolean createAdditions;
+-    private int maxNesting;
+-    private boolean allowNaN;
+-    private boolean symbolizeNames;
+-    private RubyClass objectClass;
+-    private RubyClass arrayClass;
+-    private RubyHash match_string;
+-
+-    private static final int DEFAULT_MAX_NESTING = 19;
+-
+-    private static final String JSON_MINUS_INFINITY = "-Infinity";
+-    // constant names in the JSON module containing those values
+-    private static final String CONST_NAN = "NaN";
+-    private static final String CONST_INFINITY = "Infinity";
+-    private static final String CONST_MINUS_INFINITY = "MinusInfinity";
+-
+-    static final ObjectAllocator ALLOCATOR = new ObjectAllocator() {
+-        public IRubyObject allocate(Ruby runtime, RubyClass klazz) {
+-            return new Parser(runtime, klazz);
+-        }
+-    };
+-
+-    /**
+-     * Multiple-value return for internal parser methods.
+-     * 
+-     * <p>All the <code>parse<var>Stuff</var></code> methods return instances of
+-     * <code>ParserResult</code> when successful, or <code>null</code> when
+-     * there's a problem with the input data.
+-     */
+-    static final class ParserResult {
+-        /**
+-         * The result of the successful parsing. Should never be
+-         * <code>null</code>.
+-         */
+-        final IRubyObject result;
+-        /**
+-         * The point where the parser returned.
+-         */
+-        final int p;
+-
+-        ParserResult(IRubyObject result, int p) {
+-            this.result = result;
+-            this.p = p;
+-        }
+-    }
+-
+-    public Parser(Ruby runtime, RubyClass metaClass) {
+-        super(runtime, metaClass);
+-        info = RuntimeInfo.forRuntime(runtime);
+-    }
+-
+-    /**
+-     * <code>Parser.new(source, opts = {})</code>
+-     * 
+-     * <p>Creates a new <code>JSON::Ext::Parser</code> instance for the string
+-     * <code>source</code>.
+-     * It will be configured by the <code>opts</code> Hash.
+-     * <code>opts</code> can have the following keys:
+-     * 
+-     * <dl>
+-     * <dt><code>:max_nesting</code>
+-     * <dd>The maximum depth of nesting allowed in the parsed data
+-     * structures. Disable depth checking with <code>:max_nesting => false|nil|0</code>,
+-     * it defaults to 19.
+-     * 
+-     * <dt><code>:allow_nan</code>
+-     * <dd>If set to <code>true</code>, allow <code>NaN</code>,
+-     * <code>Infinity</code> and <code>-Infinity</code> in defiance of RFC 4627
+-     * to be parsed by the Parser. This option defaults to <code>false</code>.
+-     *
+-     * <dt><code>:symbolize_names</code>
+-     * <dd>If set to <code>true</code>, returns symbols for the names (keys) in
+-     * a JSON object. Otherwise strings are returned, which is also the default.
+-     * 
+-     * <dt><code>:create_additions</code>
+-     * <dd>If set to <code>false</code>, the Parser doesn't create additions
+-     * even if a matchin class and <code>create_id</code> was found. This option
+-     * defaults to <code>true</code>.
+-     * 
+-     * <dt><code>:object_class</code>
+-     * <dd>Defaults to Hash.
+-     * 
+-     * <dt><code>:array_class</code>
+-     * <dd>Defaults to Array.
+-     * </dl>
+-     */
+-    @JRubyMethod(name = "new", required = 1, optional = 1, meta = true)
+-    public static IRubyObject newInstance(IRubyObject clazz, IRubyObject[] args, Block block) {
+-        Parser parser = (Parser)((RubyClass)clazz).allocate();
+-
+-        parser.callInit(args, block);
+-
+-        return parser;
+-    }
+-
+-    @JRubyMethod(required = 1, optional = 1, visibility = Visibility.PRIVATE)
+-    public IRubyObject initialize(ThreadContext context, IRubyObject[] args) {
+-        Ruby runtime      = context.getRuntime();
+-        RubyString source = convertEncoding(context, args[0].convertToString());
+-
+-        OptionsReader opts   = new OptionsReader(context, args.length > 1 ? args[1] : null);
+-        this.maxNesting      = opts.getInt("max_nesting", DEFAULT_MAX_NESTING);
+-        this.allowNaN        = opts.getBool("allow_nan", false);
+-        this.symbolizeNames  = opts.getBool("symbolize_names", false);
+-        this.createId        = opts.getString("create_id", getCreateId(context));
+-        this.createAdditions = opts.getBool("create_additions", true);
+-        this.objectClass     = opts.getClass("object_class", runtime.getHash());
+-        this.arrayClass      = opts.getClass("array_class", runtime.getArray());
+-        this.match_string    = opts.getHash("match_string");
+-
+-        this.vSource = source;
+-        return this;
+-    }
+-
+-    /**
+-     * Checks the given string's encoding. If a non-UTF-8 encoding is detected,
+-     * a converted copy is returned.
+-     * Returns the source string if no conversion is needed.
+-     */
+-    private RubyString convertEncoding(ThreadContext context, RubyString source) {
+-        ByteList bl = source.getByteList();
+-        int len = bl.length();
+-        if (len < 2) {
+-            throw Utils.newException(context, Utils.M_PARSER_ERROR,
+-                "A JSON text must at least contain two octets!");
+-        }
+-
+-        if (info.encodingsSupported()) {
+-            RubyEncoding encoding = (RubyEncoding)source.encoding(context);
+-            if (encoding != info.ascii8bit) {
+-                return (RubyString)source.encode(context, info.utf8);
+-            }
+-
+-            String sniffedEncoding = sniffByteList(bl);
+-            if (sniffedEncoding == null) return source; // assume UTF-8
+-            return reinterpretEncoding(context, source, sniffedEncoding);
+-        }
+-
+-        String sniffedEncoding = sniffByteList(bl);
+-        if (sniffedEncoding == null) return source; // assume UTF-8
+-        Ruby runtime = context.getRuntime();
+-        return (RubyString)info.jsonModule.
+-            callMethod(context, "iconv",
+-                new IRubyObject[] {
+-                    runtime.newString("utf-8"),
+-                    runtime.newString(sniffedEncoding),
+-                    source});
+-    }
+-
+-    /**
+-     * Checks the first four bytes of the given ByteList to infer its encoding,
+-     * using the principle demonstrated on section 3 of RFC 4627 (JSON).
+-     */
+-    private static String sniffByteList(ByteList bl) {
+-        if (bl.length() < 4) return null;
+-        if (bl.get(0) == 0 && bl.get(2) == 0) {
+-            return bl.get(1) == 0 ? "utf-32be" : "utf-16be";
+-        }
+-        if (bl.get(1) == 0 && bl.get(3) == 0) {
+-            return bl.get(2) == 0 ? "utf-32le" : "utf-16le";
+-        }
+-        return null;
+-    }
+-
+-    /**
+-     * Assumes the given (binary) RubyString to be in the given encoding, then
+-     * converts it to UTF-8.
+-     */
+-    private RubyString reinterpretEncoding(ThreadContext context,
+-            RubyString str, String sniffedEncoding) {
+-        RubyEncoding actualEncoding = info.getEncoding(context, sniffedEncoding);
+-        RubyEncoding targetEncoding = info.utf8;
+-        RubyString dup = (RubyString)str.dup();
+-        dup.force_encoding(context, actualEncoding);
+-        return (RubyString)dup.encode_bang(context, targetEncoding);
+-    }
+-
+-    /**
+-     * <code>Parser#parse()</code>
+-     * 
+-     * <p>Parses the current JSON text <code>source</code> and returns the
+-     * complete data structure as a result.
+-     */
+-    @JRubyMethod
+-    public IRubyObject parse(ThreadContext context) {
+-        return new ParserSession(this, context).parse();
+-    }
+-
+-    /**
+-     * <code>Parser#source()</code>
+-     * 
+-     * <p>Returns a copy of the current <code>source</code> string, that was
+-     * used to construct this Parser.
+-     */
+-    @JRubyMethod(name = "source")
+-    public IRubyObject source_get() {
+-        return vSource.dup();
+-    }
+-
+-    /**
+-     * Queries <code>JSON.create_id</code>. Returns <code>null</code> if it is
+-     * set to <code>nil</code> or <code>false</code>, and a String if not.
+-     */
+-    private RubyString getCreateId(ThreadContext context) {
+-        IRubyObject v = info.jsonModule.callMethod(context, "create_id");
+-        return v.isTrue() ? v.convertToString() : null;
+-    }
+-
+-    /**
+-     * A string parsing session.
+-     * 
+-     * <p>Once a ParserSession is instantiated, the source string should not
+-     * change until the parsing is complete. The ParserSession object assumes
+-     * the source {@link RubyString} is still associated to its original
+-     * {@link ByteList}, which in turn must still be bound to the same
+-     * <code>byte[]</code> value (and on the same offset).
+-     */
+-    // Ragel uses lots of fall-through
+-    @SuppressWarnings("fallthrough")
+-    private static class ParserSession {
+-        private final Parser parser;
+-        private final ThreadContext context;
+-        private final ByteList byteList;
+-        private final byte[] data;
+-        private final StringDecoder decoder;
+-        private int currentNesting = 0;
+-
+-        // initialization value for all state variables.
+-        // no idea about the origins of this value, ask Flori ;)
+-        private static final int EVIL = 0x666;
+-
+-        private ParserSession(Parser parser, ThreadContext context) {
+-            this.parser = parser;
+-            this.context = context;
+-            this.byteList = parser.vSource.getByteList();
+-            this.data = byteList.unsafeBytes();
+-            this.decoder = new StringDecoder(context);
+-        }
+-
+-        private RaiseException unexpectedToken(int absStart, int absEnd) {
+-            RubyString msg = getRuntime().newString("unexpected token at '")
+-                    .cat(data, absStart, absEnd - absStart)
+-                    .cat((byte)'\'');
+-            return newException(Utils.M_PARSER_ERROR, msg);
+-        }
+-
+-        private Ruby getRuntime() {
+-            return context.getRuntime();
+-        }
+-
+-        %%{
+-            machine JSON_common;
+-
+-            cr                  = '\n';
+-            cr_neg              = [^\n];
+-            ws                  = [ \t\r\n];
+-            c_comment           = '/*' ( any* - (any* '*/' any* ) ) '*/';
+-            cpp_comment         = '//' cr_neg* cr;
+-            comment             = c_comment | cpp_comment;
+-            ignore              = ws | comment;
+-            name_separator      = ':';
+-            value_separator     = ',';
+-            Vnull               = 'null';
+-            Vfalse              = 'false';
+-            Vtrue               = 'true';
+-            VNaN                = 'NaN';
+-            VInfinity           = 'Infinity';
+-            VMinusInfinity      = '-Infinity';
+-            begin_value         = [nft"\-[{NI] | digit;
+-            begin_object        = '{';
+-            end_object          = '}';
+-            begin_array         = '[';
+-            end_array           = ']';
+-            begin_string        = '"';
+-            begin_name          = begin_string;
+-            begin_number        = digit | '-';
+-        }%%
+-
+-        %%{
+-            machine JSON_value;
+-            include JSON_common;
+-
+-            write data;
+-
+-            action parse_null {
+-                result = getRuntime().getNil();
+-            }
+-            action parse_false {
+-                result = getRuntime().getFalse();
+-            }
+-            action parse_true {
+-                result = getRuntime().getTrue();
+-            }
+-            action parse_nan {
+-                if (parser.allowNaN) {
+-                    result = getConstant(CONST_NAN);
+-                } else {
+-                    throw unexpectedToken(p - 2, pe);
+-                }
+-            }
+-            action parse_infinity {
+-                if (parser.allowNaN) {
+-                    result = getConstant(CONST_INFINITY);
+-                } else {
+-                    throw unexpectedToken(p - 7, pe);
+-                }
+-            }
+-            action parse_number {
+-                if (pe > fpc + 9 &&
+-                    absSubSequence(fpc, fpc + 9).toString().equals(JSON_MINUS_INFINITY)) {
+-
+-                    if (parser.allowNaN) {
+-                        result = getConstant(CONST_MINUS_INFINITY);
+-                        fexec p + 10;
+-                        fhold;
+-                        fbreak;
+-                    } else {
+-                        throw unexpectedToken(p, pe);
+-                    }
+-                }
+-                ParserResult res = parseFloat(fpc, pe);
+-                if (res != null) {
+-                    result = res.result;
+-                    fexec res.p;
+-                }
+-                res = parseInteger(fpc, pe);
+-                if (res != null) {
+-                    result = res.result;
+-                    fexec res.p;
+-                }
+-                fhold;
+-                fbreak;
+-            }
+-            action parse_string {
+-                ParserResult res = parseString(fpc, pe);
+-                if (res == null) {
+-                    fhold;
+-                    fbreak;
+-                } else {
+-                    result = res.result;
+-                    fexec res.p;
+-                }
+-            }
+-            action parse_array {
+-                currentNesting++;
+-                ParserResult res = parseArray(fpc, pe);
+-                currentNesting--;
+-                if (res == null) {
+-                    fhold;
+-                    fbreak;
+-                } else {
+-                    result = res.result;
+-                    fexec res.p;
+-                }
+-            }
+-            action parse_object {
+-                currentNesting++;
+-                ParserResult res = parseObject(fpc, pe);
+-                currentNesting--;
+-                if (res == null) {
+-                    fhold;
+-                    fbreak;
+-                } else {
+-                    result = res.result;
+-                    fexec res.p;
+-                }
+-            }
+-            action exit {
+-                fhold;
+-                fbreak;
+-            }
+-
+-            main := ( Vnull @parse_null |
+-                      Vfalse @parse_false |
+-                      Vtrue @parse_true |
+-                      VNaN @parse_nan |
+-                      VInfinity @parse_infinity |
+-                      begin_number >parse_number |
+-                      begin_string >parse_string |
+-                      begin_array >parse_array |
+-                      begin_object >parse_object
+-                    ) %*exit;
+-        }%%
+-
+-        ParserResult parseValue(int p, int pe) {
+-            int cs = EVIL;
+-            IRubyObject result = null;
+-
+-            %% write init;
+-            %% write exec;
+-
+-            if (cs >= JSON_value_first_final && result != null) {
+-                return new ParserResult(result, p);
+-            } else {
+-                return null;
+-            }
+-        }
+-
+-        %%{
+-            machine JSON_integer;
+-
+-            write data;
+-
+-            action exit {
+-                fhold;
+-                fbreak;
+-            }
+-
+-            main := '-'? ( '0' | [1-9][0-9]* ) ( ^[0-9] @exit );
+-        }%%
+-
+-        ParserResult parseInteger(int p, int pe) {
+-            int cs = EVIL;
+-
+-            %% write init;
+-            int memo = p;
+-            %% write exec;
+-
+-            if (cs < JSON_integer_first_final) {
+-                return null;
+-            }
+-
+-            ByteList num = absSubSequence(memo, p);
+-            // note: this is actually a shared string, but since it is temporary and
+-            //       read-only, it doesn't really matter
+-            RubyString expr = RubyString.newStringLight(getRuntime(), num);
+-            RubyInteger number = RubyNumeric.str2inum(getRuntime(), expr, 10, true);
+-            return new ParserResult(number, p + 1);
+-        }
+-
+-        %%{
+-            machine JSON_float;
+-            include JSON_common;
+-
+-            write data;
+-
+-            action exit {
+-                fhold;
+-                fbreak;
+-            }
+-
+-            main := '-'?
+-                    ( ( ( '0' | [1-9][0-9]* ) '.' [0-9]+ ( [Ee] [+\-]?[0-9]+ )? )
+-                    | ( ( '0' | [1-9][0-9]* ) ( [Ee] [+\-]? [0-9]+ ) ) )
+-                    ( ^[0-9Ee.\-] @exit );
+-        }%%
+-
+-        ParserResult parseFloat(int p, int pe) {
+-            int cs = EVIL;
+-
+-            %% write init;
+-            int memo = p;
+-            %% write exec;
+-
+-            if (cs < JSON_float_first_final) {
+-                return null;
+-            }
+-
+-            ByteList num = absSubSequence(memo, p);
+-            // note: this is actually a shared string, but since it is temporary and
+-            //       read-only, it doesn't really matter
+-            RubyString expr = RubyString.newStringLight(getRuntime(), num);
+-            RubyFloat number = RubyNumeric.str2fnum(getRuntime(), expr, true);
+-            return new ParserResult(number, p + 1);
+-        }
+-
+-        %%{
+-            machine JSON_string;
+-            include JSON_common;
+-
+-            write data;
+-
+-            action parse_string {
+-                int offset = byteList.begin();
+-                ByteList decoded = decoder.decode(byteList, memo + 1 - offset,
+-                                                  p - offset);
+-                result = getRuntime().newString(decoded);
+-                if (result == null) {
+-                    fhold;
+-                    fbreak;
+-                } else {
+-                    fexec p + 1;
+-                }
+-            }
+-
+-            action exit {
+-                fhold;
+-                fbreak;
+-            }
+-
+-            main := '"'
+-                    ( ( ^(["\\]|0..0x1f)
+-                      | '\\'["\\/bfnrt]
+-                      | '\\u'[0-9a-fA-F]{4}
+-                      | '\\'^(["\\/bfnrtu]|0..0x1f)
+-                      )* %parse_string
+-                    ) '"' @exit;
+-        }%%
+-
+-        ParserResult parseString(int p, int pe) {
+-            int cs = EVIL;
+-            IRubyObject result = null;
+-
+-            %% write init;
+-            int memo = p;
+-            %% write exec;
+-
+-            if (parser.createAdditions) {
+-                RubyHash match_string = parser.match_string;
+-                if (match_string != null) {
+-                    final IRubyObject[] memoArray = { result, null };
+-                    try {
+-                      match_string.visitAll(new RubyHash.Visitor() {
+-                          @Override
+-                          public void visit(IRubyObject pattern, IRubyObject klass) {
+-                              if (pattern.callMethod(context, "===", memoArray[0]).isTrue()) {
+-                                  memoArray[1] = klass;
+-                                  throw JumpException.SPECIAL_JUMP;
+-                              }
+-                          }
+-                      });
+-                    } catch (JumpException e) { }
+-                    if (memoArray[1] != null) { 
+-                        RubyClass klass = (RubyClass) memoArray[1];
+-                        if (klass.respondsTo("json_creatable?") &&
+-                            klass.callMethod(context, "json_creatable?").isTrue()) {
+-                            result = klass.callMethod(context, "json_create", result);
+-                        }
+-                    }
+-                }
+-            }
+-
+-            if (cs >= JSON_string_first_final && result != null) {
+-                return new ParserResult(result, p + 1);
+-            } else {
+-                return null;
+-            }
+-        }
+-
+-        %%{
+-            machine JSON_array;
+-            include JSON_common;
+-
+-            write data;
+-
+-            action parse_value {
+-                ParserResult res = parseValue(fpc, pe);
+-                if (res == null) {
+-                    fhold;
+-                    fbreak;
+-                } else {
+-                    result.append(res.result);
+-                    fexec res.p;
+-                }
+-            }
+-
+-            action exit {
+-                fhold;
+-                fbreak;
+-            }
+-
+-            next_element = value_separator ignore* begin_value >parse_value;
+-
+-            main := begin_array
+-                    ignore*
+-                    ( ( begin_value >parse_value
+-                        ignore* )
+-                      ( ignore*
+-                        next_element
+-                        ignore* )* )?
+-                    ignore*
+-                    end_array @exit;
+-        }%%
+-
+-        ParserResult parseArray(int p, int pe) {
+-            int cs = EVIL;
+-
+-            if (parser.maxNesting > 0 && currentNesting > parser.maxNesting) {
+-                throw newException(Utils.M_NESTING_ERROR,
+-                    "nesting of " + currentNesting + " is too deep");
+-            }
+-
+-            // this is guaranteed to be a RubyArray due to the earlier
+-            // allocator test at OptionsReader#getClass
+-            RubyArray result =
+-                (RubyArray)parser.arrayClass.newInstance(context,
+-                    IRubyObject.NULL_ARRAY, Block.NULL_BLOCK);
+-
+-            %% write init;
+-            %% write exec;
+-
+-            if (cs >= JSON_array_first_final) {
+-                return new ParserResult(result, p + 1);
+-            } else {
+-                throw unexpectedToken(p, pe);
+-            }
+-        }
+-
+-        %%{
+-            machine JSON_object;
+-            include JSON_common;
+-
+-            write data;
+-
+-            action parse_value {
+-                ParserResult res = parseValue(fpc, pe);
+-                if (res == null) {
+-                    fhold;
+-                    fbreak;
+-                } else {
+-                    result.op_aset(context, lastName, res.result);
+-                    fexec res.p;
+-                }
+-            }
+-
+-            action parse_name {
+-                ParserResult res = parseString(fpc, pe);
+-                if (res == null) {
+-                    fhold;
+-                    fbreak;
+-                } else {
+-                    RubyString name = (RubyString)res.result;
+-                    if (parser.symbolizeNames) {
+-                        lastName = context.getRuntime().is1_9()
+-                                       ? name.intern19()
+-                                       : name.intern();
+-                    } else {
+-                        lastName = name;
+-                    }
+-                    fexec res.p;
+-                }
+-            }
+-
+-            action exit {
+-                fhold;
+-                fbreak;
+-            }
+-
+-            a_pair = ignore*
+-                     begin_name >parse_name
+-                     ignore* name_separator ignore*
+-                     begin_value >parse_value;
+-
+-            main := begin_object
+-                    (a_pair (ignore* value_separator a_pair)*)?
+-                    ignore* end_object @exit;
+-        }%%
+-
+-        ParserResult parseObject(int p, int pe) {
+-            int cs = EVIL;
+-            IRubyObject lastName = null;
+-
+-            if (parser.maxNesting > 0 && currentNesting > parser.maxNesting) {
+-                throw newException(Utils.M_NESTING_ERROR,
+-                    "nesting of " + currentNesting + " is too deep");
+-            }
+-
+-            // this is guaranteed to be a RubyHash due to the earlier
+-            // allocator test at OptionsReader#getClass
+-            RubyHash result =
+-                (RubyHash)parser.objectClass.newInstance(context,
+-                    IRubyObject.NULL_ARRAY, Block.NULL_BLOCK);
+-
+-            %% write init;
+-            %% write exec;
+-
+-            if (cs < JSON_object_first_final) {
+-                return null;
+-            }
+-
+-            IRubyObject returnedResult = result;
+-
+-            // attempt to de-serialize object
+-            if (parser.createAdditions) {
+-                IRubyObject vKlassName = result.op_aref(context, parser.createId);
+-                if (!vKlassName.isNil()) {
+-                    // might throw ArgumentError, we let it propagate
+-                    IRubyObject klass = parser.info.jsonModule.
+-                            callMethod(context, "deep_const_get", vKlassName);
+-                    if (klass.respondsTo("json_creatable?") &&
+-                        klass.callMethod(context, "json_creatable?").isTrue()) {
+-
+-                        returnedResult = klass.callMethod(context, "json_create", result);
+-                    }
+-                }
+-            }
+-            return new ParserResult(returnedResult, p + 1);
+-        }
+-
+-        %%{
+-            machine JSON;
+-            include JSON_common;
+-
+-            write data;
+-
+-            action parse_object {
+-                currentNesting = 1;
+-                ParserResult res = parseObject(fpc, pe);
+-                if (res == null) {
+-                    fhold;
+-                    fbreak;
+-                } else {
+-                    result = res.result;
+-                    fexec res.p;
+-                }
+-            }
+-
+-            action parse_array {
+-                currentNesting = 1;
+-                ParserResult res = parseArray(fpc, pe);
+-                if (res == null) {
+-                    fhold;
+-                    fbreak;
+-                } else {
+-                    result = res.result;
+-                    fexec res.p;
+-                }
+-            }
+-
+-            main := ignore*
+-                    ( begin_object >parse_object
+-                    | begin_array >parse_array )
+-                    ignore*;
+-        }%%
+-
+-        public IRubyObject parse() {
+-            int cs = EVIL;
+-            int p, pe;
+-            IRubyObject result = null;
+-
+-            %% write init;
+-            p = byteList.begin();
+-            pe = p + byteList.length();
+-            %% write exec;
+-
+-            if (cs >= JSON_first_final && p == pe) {
+-                return result;
+-            } else {
+-                throw unexpectedToken(p, pe);
+-            }
+-        }
+-
+-        /**
+-         * Returns a subsequence of the source ByteList, based on source
+-         * array byte offsets (i.e., the ByteList's own begin offset is not
+-         * automatically added).
+-         * @param start
+-         * @param end
+-         */
+-        private ByteList absSubSequence(int absStart, int absEnd) {
+-            int offset = byteList.begin();
+-            return (ByteList)byteList.subSequence(absStart - offset,
+-                                                  absEnd - offset);
+-        }
+-
+-        /**
+-         * Retrieves a constant directly descended from the <code>JSON</code> module.
+-         * @param name The constant name
+-         */
+-        private IRubyObject getConstant(String name) {
+-            return parser.info.jsonModule.getConstant(name);
+-        }
+-
+-        private RaiseException newException(String className, String message) {
+-            return Utils.newException(context, className, message);
+-        }
+-
+-        private RaiseException newException(String className, RubyString message) {
+-            return Utils.newException(context, className, message);
+-        }
+-
+-        private RaiseException newException(String className,
+-                String messageBegin, ByteList messageEnd) {
+-            return newException(className,
+-                    getRuntime().newString(messageBegin).cat(messageEnd));
+-        }
+-    }
+-}
+diff --git a/lib/mcollective/vendor/json/java/src/json/ext/ParserService.java b/lib/mcollective/vendor/json/java/src/json/ext/ParserService.java
+deleted file mode 100644
+index e0805a7..0000000
+--- a/lib/mcollective/vendor/json/java/src/json/ext/ParserService.java
++++ /dev/null
+@@ -1,34 +0,0 @@
+-/*
+- * This code is copyrighted work by Daniel Luz <dev at mernen dot com>.
+- * 
+- * Distributed under the Ruby and GPLv2 licenses; see COPYING and GPL files
+- * for details.
+- */
+-package json.ext;
+-
+-import java.io.IOException;
+-
+-import org.jruby.Ruby;
+-import org.jruby.RubyClass;
+-import org.jruby.RubyModule;
+-import org.jruby.runtime.load.BasicLibraryService;
+-
+-/**
+- * The service invoked by JRuby's {@link org.jruby.runtime.load.LoadService LoadService}.
+- * Defines the <code>JSON::Ext::Parser</code> class.
+- * @author mernen
+- */
+-public class ParserService implements BasicLibraryService {
+-    public boolean basicLoad(Ruby runtime) throws IOException {
+-        runtime.getLoadService().require("json/common");
+-        RuntimeInfo info = RuntimeInfo.initRuntime(runtime);
+-
+-        info.jsonModule = runtime.defineModule("JSON");
+-        RubyModule jsonExtModule = info.jsonModule.defineModuleUnder("Ext");
+-        RubyClass parserClass =
+-            jsonExtModule.defineClassUnder("Parser", runtime.getObject(),
+-                                           Parser.ALLOCATOR);
+-        parserClass.defineAnnotatedMethods(Parser.class);
+-        return true;
+-    }
+-}
+diff --git a/lib/mcollective/vendor/json/java/src/json/ext/RuntimeInfo.java b/lib/mcollective/vendor/json/java/src/json/ext/RuntimeInfo.java
+deleted file mode 100644
+index f446afe..0000000
+--- a/lib/mcollective/vendor/json/java/src/json/ext/RuntimeInfo.java
++++ /dev/null
+@@ -1,119 +0,0 @@
+-/*
+- * This code is copyrighted work by Daniel Luz <dev at mernen dot com>.
+- *
+- * Distributed under the Ruby and GPLv2 licenses; see COPYING and GPL files
+- * for details.
+- */
+-package json.ext;
+-
+-import java.lang.ref.WeakReference;
+-import java.util.HashMap;
+-import java.util.Map;
+-import java.util.WeakHashMap;
+-import org.jruby.Ruby;
+-import org.jruby.RubyClass;
+-import org.jruby.RubyEncoding;
+-import org.jruby.RubyModule;
+-import org.jruby.runtime.ThreadContext;
+-import org.jruby.runtime.builtin.IRubyObject;
+-
+-
+-final class RuntimeInfo {
+-    // since the vast majority of cases runs just one runtime,
+-    // we optimize for that
+-    private static WeakReference<Ruby> runtime1 = new WeakReference<Ruby>(null);
+-    private static RuntimeInfo info1;
+-    // store remaining runtimes here (does not include runtime1)
+-    private static Map<Ruby, RuntimeInfo> runtimes;
+-
+-    // these fields are filled by the service loaders
+-    /** JSON */
+-    RubyModule jsonModule;
+-    /** JSON::Ext::Generator::GeneratorMethods::String::Extend */
+-    RubyModule stringExtendModule;
+-    /** JSON::Ext::Generator::State */
+-    RubyClass generatorStateClass;
+-    /** JSON::SAFE_STATE_PROTOTYPE */
+-    GeneratorState safeStatePrototype;
+-
+-    final RubyEncoding utf8;
+-    final RubyEncoding ascii8bit;
+-    // other encodings
+-    private final Map<String, RubyEncoding> encodings;
+-
+-    private RuntimeInfo(Ruby runtime) {
+-        RubyClass encodingClass = runtime.getEncoding();
+-        if (encodingClass == null) { // 1.8 mode
+-            utf8 = ascii8bit = null;
+-            encodings = null;
+-        } else {
+-            ThreadContext context = runtime.getCurrentContext();
+-
+-            utf8 = (RubyEncoding)RubyEncoding.find(context,
+-                    encodingClass, runtime.newString("utf-8"));
+-            ascii8bit = (RubyEncoding)RubyEncoding.find(context,
+-                    encodingClass, runtime.newString("ascii-8bit"));
+-            encodings = new HashMap<String, RubyEncoding>();
+-        }
+-    }
+-
+-    static RuntimeInfo initRuntime(Ruby runtime) {
+-        synchronized (RuntimeInfo.class) {
+-            if (runtime1.get() == runtime) {
+-                return info1;
+-            } else if (runtime1.get() == null) {
+-                runtime1 = new WeakReference<Ruby>(runtime);
+-                info1 = new RuntimeInfo(runtime);
+-                return info1;
+-            } else {
+-                if (runtimes == null) {
+-                    runtimes = new WeakHashMap<Ruby, RuntimeInfo>(1);
+-                }
+-                RuntimeInfo cache = runtimes.get(runtime);
+-                if (cache == null) {
+-                    cache = new RuntimeInfo(runtime);
+-                    runtimes.put(runtime, cache);
+-                }
+-                return cache;
+-            }
+-        }
+-    }
+-
+-    public static RuntimeInfo forRuntime(Ruby runtime) {
+-        synchronized (RuntimeInfo.class) {
+-            if (runtime1.get() == runtime) return info1;
+-            RuntimeInfo cache = null;
+-            if (runtimes != null) cache = runtimes.get(runtime);
+-            assert cache != null : "Runtime given has not initialized JSON::Ext";
+-            return cache;
+-        }
+-    }
+-
+-    public boolean encodingsSupported() {
+-        return utf8 != null;
+-    }
+-
+-    public RubyEncoding getEncoding(ThreadContext context, String name) {
+-        synchronized (encodings) {
+-            RubyEncoding encoding = encodings.get(name);
+-            if (encoding == null) {
+-                Ruby runtime = context.getRuntime();
+-                encoding = (RubyEncoding)RubyEncoding.find(context,
+-                        runtime.getEncoding(), runtime.newString(name));
+-                encodings.put(name, encoding);
+-            }
+-            return encoding;
+-        }
+-    }
+-
+-    public GeneratorState getSafeStatePrototype(ThreadContext context) {
+-        if (safeStatePrototype == null) {
+-            IRubyObject value = jsonModule.getConstant("SAFE_STATE_PROTOTYPE");
+-            if (!(value instanceof GeneratorState)) {
+-                throw context.getRuntime().newTypeError(value, generatorStateClass);
+-            }
+-            safeStatePrototype = (GeneratorState)value;
+-        }
+-        return safeStatePrototype;
+-    }
+-}
+diff --git a/lib/mcollective/vendor/json/java/src/json/ext/StringDecoder.java b/lib/mcollective/vendor/json/java/src/json/ext/StringDecoder.java
+deleted file mode 100644
+index a4ee975..0000000
+--- a/lib/mcollective/vendor/json/java/src/json/ext/StringDecoder.java
++++ /dev/null
+@@ -1,166 +0,0 @@
+-/*
+- * This code is copyrighted work by Daniel Luz <dev at mernen dot com>.
+- *
+- * Distributed under the Ruby and GPLv2 licenses; see COPYING and GPL files
+- * for details.
+- */
+-package json.ext;
+-
+-import org.jruby.exceptions.RaiseException;
+-import org.jruby.runtime.ThreadContext;
+-import org.jruby.util.ByteList;
+-
+-/**
+- * A decoder that reads a JSON-encoded string from the given sources and
+- * returns its decoded form on a new ByteList. Escaped Unicode characters
+- * are encoded as UTF-8.
+- */
+-final class StringDecoder extends ByteListTranscoder {
+-    /**
+-     * Stores the offset of the high surrogate when reading a surrogate pair,
+-     * or -1 when not.
+-     */
+-    private int surrogatePairStart = -1;
+-
+-    // Array used for writing multi-byte characters into the buffer at once
+-    private final byte[] aux = new byte[4];
+-
+-    StringDecoder(ThreadContext context) {
+-        super(context);
+-    }
+-
+-    ByteList decode(ByteList src, int start, int end) {
+-        ByteList out = new ByteList(end - start);
+-        init(src, start, end, out);
+-        while (hasNext()) {
+-            handleChar(readUtf8Char());
+-        }
+-        quoteStop(pos);
+-        return out;
+-    }
+-
+-    private void handleChar(int c) {
+-        if (c == '\\') {
+-            quoteStop(charStart);
+-            handleEscapeSequence();
+-        } else {
+-            quoteStart();
+-        }
+-    }
+-
+-    private void handleEscapeSequence() {
+-        ensureMin(1);
+-        switch (readUtf8Char()) {
+-        case 'b':
+-            append('\b');
+-            break;
+-        case 'f':
+-            append('\f');
+-            break;
+-        case 'n':
+-            append('\n');
+-            break;
+-        case 'r':
+-            append('\r');
+-            break;
+-        case 't':
+-            append('\t');
+-            break;
+-        case 'u':
+-            ensureMin(4);
+-            int cp = readHex();
+-            if (Character.isHighSurrogate((char)cp)) {
+-                handleLowSurrogate((char)cp);
+-            } else if (Character.isLowSurrogate((char)cp)) {
+-                // low surrogate with no high surrogate
+-                throw invalidUtf8();
+-            } else {
+-                writeUtf8Char(cp);
+-            }
+-            break;
+-        default: // '\\', '"', '/'...
+-            quoteStart();
+-        }
+-    }
+-
+-    private void handleLowSurrogate(char highSurrogate) {
+-        surrogatePairStart = charStart;
+-        ensureMin(1);
+-        int lowSurrogate = readUtf8Char();
+-
+-        if (lowSurrogate == '\\') {
+-            ensureMin(5);
+-            if (readUtf8Char() != 'u') throw invalidUtf8();
+-            lowSurrogate = readHex();
+-        }
+-
+-        if (Character.isLowSurrogate((char)lowSurrogate)) {
+-            writeUtf8Char(Character.toCodePoint(highSurrogate,
+-                                                (char)lowSurrogate));
+-            surrogatePairStart = -1;
+-        } else {
+-            throw invalidUtf8();
+-        }
+-    }
+-
+-    private void writeUtf8Char(int codePoint) {
+-        if (codePoint < 0x80) {
+-            append(codePoint);
+-        } else if (codePoint < 0x800) {
+-            aux[0] = (byte)(0xc0 | (codePoint >>> 6));
+-            aux[1] = tailByte(codePoint & 0x3f);
+-            append(aux, 0, 2);
+-        } else if (codePoint < 0x10000) {
+-            aux[0] = (byte)(0xe0 | (codePoint >>> 12));
+-            aux[1] = tailByte(codePoint >>> 6);
+-            aux[2] = tailByte(codePoint);
+-            append(aux, 0, 3);
+-        } else {
+-            aux[0] = (byte)(0xf0 | codePoint >>> 18);
+-            aux[1] = tailByte(codePoint >>> 12);
+-            aux[2] = tailByte(codePoint >>> 6);
+-            aux[3] = tailByte(codePoint);
+-            append(aux, 0, 4);
+-        }
+-    }
+-
+-    private byte tailByte(int value) {
+-        return (byte)(0x80 | (value & 0x3f));
+-    }
+-
+-    /**
+-     * Reads a 4-digit unsigned hexadecimal number from the source.
+-     */
+-    private int readHex() {
+-        int numberStart = pos;
+-        int result = 0;
+-        int length = 4;
+-        for (int i = 0; i < length; i++) {
+-            int digit = readUtf8Char();
+-            int digitValue;
+-            if (digit >= '0' && digit <= '9') {
+-                digitValue = digit - '0';
+-            } else if (digit >= 'a' && digit <= 'f') {
+-                digitValue = 10 + digit - 'a';
+-            } else if (digit >= 'A' && digit <= 'F') {
+-                digitValue = 10 + digit - 'A';
+-            } else {
+-                throw new NumberFormatException("Invalid base 16 number "
+-                        + src.subSequence(numberStart, numberStart + length));
+-            }
+-            result = result * 16 + digitValue;
+-        }
+-        return result;
+-    }
+-
+-    @Override
+-    protected RaiseException invalidUtf8() {
+-        ByteList message = new ByteList(
+-                ByteList.plain("partial character in source, " +
+-                               "but hit end near "));
+-        int start = surrogatePairStart != -1 ? surrogatePairStart : charStart;
+-        message.append(src, start, srcEnd - start);
+-        return Utils.newException(context, Utils.M_PARSER_ERROR,
+-                                  context.getRuntime().newString(message));
+-    }
+-}
+diff --git a/lib/mcollective/vendor/json/java/src/json/ext/StringEncoder.java b/lib/mcollective/vendor/json/java/src/json/ext/StringEncoder.java
+deleted file mode 100644
+index 57bd19b..0000000
+--- a/lib/mcollective/vendor/json/java/src/json/ext/StringEncoder.java
++++ /dev/null
+@@ -1,106 +0,0 @@
+-package json.ext;
+-
+-import org.jruby.exceptions.RaiseException;
+-import org.jruby.runtime.ThreadContext;
+-import org.jruby.util.ByteList;
+-
+-/**
+- * An encoder that reads from the given source and outputs its representation
+- * to another ByteList. The source string is fully checked for UTF-8 validity,
+- * and throws a GeneratorError if any problem is found.
+- */
+-final class StringEncoder extends ByteListTranscoder {
+-    private final boolean asciiOnly;
+-
+-    // Escaped characters will reuse this array, to avoid new allocations
+-    // or appending them byte-by-byte
+-    private final byte[] aux =
+-        new byte[] {/* First unicode character */
+-                    '\\', 'u', 0, 0, 0, 0,
+-                    /* Second unicode character (for surrogate pairs) */
+-                    '\\', 'u', 0, 0, 0, 0,
+-                    /* "\X" characters */
+-                    '\\', 0};
+-    // offsets on the array above
+-    private static final int ESCAPE_UNI1_OFFSET = 0;
+-    private static final int ESCAPE_UNI2_OFFSET = ESCAPE_UNI1_OFFSET + 6;
+-    private static final int ESCAPE_CHAR_OFFSET = ESCAPE_UNI2_OFFSET + 6;
+-    /** Array used for code point decomposition in surrogates */
+-    private final char[] utf16 = new char[2];
+-
+-    private static final byte[] HEX =
+-            new byte[] {'0', '1', '2', '3', '4', '5', '6', '7',
+-                        '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'};
+-
+-    StringEncoder(ThreadContext context, boolean asciiOnly) {
+-        super(context);
+-        this.asciiOnly = asciiOnly;
+-    }
+-
+-    void encode(ByteList src, ByteList out) {
+-        init(src, out);
+-        append('"');
+-        while (hasNext()) {
+-            handleChar(readUtf8Char());
+-        }
+-        quoteStop(pos);
+-        append('"');
+-    }
+-
+-    private void handleChar(int c) {
+-        switch (c) {
+-        case '"':
+-        case '\\':
+-            escapeChar((char)c);
+-            break;
+-        case '\n':
+-            escapeChar('n');
+-            break;
+-        case '\r':
+-            escapeChar('r');
+-            break;
+-        case '\t':
+-            escapeChar('t');
+-            break;
+-        case '\f':
+-            escapeChar('f');
+-            break;
+-        case '\b':
+-            escapeChar('b');
+-            break;
+-        default:
+-            if (c >= 0x20 && c <= 0x7f ||
+-                    (c >= 0x80 && !asciiOnly)) {
+-                quoteStart();
+-            } else {
+-                quoteStop(charStart);
+-                escapeUtf8Char(c);
+-            }
+-        }
+-    }
+-
+-    private void escapeChar(char c) {
+-        quoteStop(charStart);
+-        aux[ESCAPE_CHAR_OFFSET + 1] = (byte)c;
+-        append(aux, ESCAPE_CHAR_OFFSET, 2);
+-    }
+-
+-    private void escapeUtf8Char(int codePoint) {
+-        int numChars = Character.toChars(codePoint, utf16, 0);
+-        escapeCodeUnit(utf16[0], ESCAPE_UNI1_OFFSET + 2);
+-        if (numChars > 1) escapeCodeUnit(utf16[1], ESCAPE_UNI2_OFFSET + 2);
+-        append(aux, ESCAPE_UNI1_OFFSET, 6 * numChars);
+-    }
+-
+-    private void escapeCodeUnit(char c, int auxOffset) {
+-        for (int i = 0; i < 4; i++) {
+-            aux[auxOffset + i] = HEX[(c >>> (12 - 4 * i)) & 0xf];
+-        }
+-    }
+-
+-    @Override
+-    protected RaiseException invalidUtf8() {
+-         return Utils.newException(context, Utils.M_GENERATOR_ERROR,
+-                 "source sequence is illegal/malformed utf-8");
+-    }
+-}
+diff --git a/lib/mcollective/vendor/json/java/src/json/ext/Utils.java b/lib/mcollective/vendor/json/java/src/json/ext/Utils.java
+deleted file mode 100644
+index 7a1dfee..0000000
+--- a/lib/mcollective/vendor/json/java/src/json/ext/Utils.java
++++ /dev/null
+@@ -1,89 +0,0 @@
+-/*
+- * This code is copyrighted work by Daniel Luz <dev at mernen dot com>.
+- * 
+- * Distributed under the Ruby and GPLv2 licenses; see COPYING and GPL files
+- * for details.
+- */
+-package json.ext;
+-
+-import org.jruby.Ruby;
+-import org.jruby.RubyArray;
+-import org.jruby.RubyClass;
+-import org.jruby.RubyException;
+-import org.jruby.RubyHash;
+-import org.jruby.RubyString;
+-import org.jruby.exceptions.RaiseException;
+-import org.jruby.runtime.Block;
+-import org.jruby.runtime.ThreadContext;
+-import org.jruby.runtime.builtin.IRubyObject;
+-import org.jruby.util.ByteList;
+-
+-/**
+- * Library of miscellaneous utility functions
+- */
+-final class Utils {
+-    public static final String M_GENERATOR_ERROR = "GeneratorError";
+-    public static final String M_NESTING_ERROR = "NestingError";
+-    public static final String M_PARSER_ERROR = "ParserError";
+-
+-    private Utils() {
+-        throw new RuntimeException();
+-    }
+-
+-    /**
+-     * Safe {@link RubyArray} type-checking.
+-     * Returns the given object if it is an <code>Array</code>,
+-     * or throws an exception if not.
+-     * @param object The object to test
+-     * @return The given object if it is an <code>Array</code>
+-     * @throws RaiseException <code>TypeError</code> if the object is not
+-     *                        of the expected type
+-     */
+-    static RubyArray ensureArray(IRubyObject object) throws RaiseException {
+-        if (object instanceof RubyArray) return (RubyArray)object;
+-        Ruby runtime = object.getRuntime();
+-        throw runtime.newTypeError(object, runtime.getArray());
+-    }
+-
+-    static RubyHash ensureHash(IRubyObject object) throws RaiseException {
+-        if (object instanceof RubyHash) return (RubyHash)object;
+-        Ruby runtime = object.getRuntime();
+-        throw runtime.newTypeError(object, runtime.getHash());
+-    }
+-
+-    static RubyString ensureString(IRubyObject object) throws RaiseException {
+-        if (object instanceof RubyString) return (RubyString)object;
+-        Ruby runtime = object.getRuntime();
+-        throw runtime.newTypeError(object, runtime.getString());
+-    }
+-
+-    static RaiseException newException(ThreadContext context,
+-                                       String className, String message) {
+-        return newException(context, className,
+-                            context.getRuntime().newString(message));
+-    }
+-
+-    static RaiseException newException(ThreadContext context,
+-                                       String className, RubyString message) {
+-        RuntimeInfo info = RuntimeInfo.forRuntime(context.getRuntime());
+-        RubyClass klazz = info.jsonModule.getClass(className);
+-        RubyException excptn =
+-            (RubyException)klazz.newInstance(context,
+-                new IRubyObject[] {message}, Block.NULL_BLOCK);
+-        return new RaiseException(excptn);
+-    }
+-
+-    static byte[] repeat(ByteList a, int n) {
+-        return repeat(a.unsafeBytes(), a.begin(), a.length(), n);
+-    }
+-
+-    static byte[] repeat(byte[] a, int begin, int length, int n) {
+-        if (length == 0) return ByteList.NULL_ARRAY;
+-        int resultLen = length * n;
+-        byte[] result = new byte[resultLen];
+-        for (int pos = 0; pos < resultLen; pos += length) {
+-            System.arraycopy(a, begin, result, pos, length);
+-        }
+-        return result;
+-    }
+-}
+diff --git a/lib/mcollective/vendor/json/json-java.gemspec b/lib/mcollective/vendor/json/json-java.gemspec
+deleted file mode 100644
+index 144f650..0000000
+--- a/lib/mcollective/vendor/json/json-java.gemspec
++++ /dev/null
+@@ -1,20 +0,0 @@
+-#! /usr/bin/env jruby
+-require "rubygems"
+-
+-spec = Gem::Specification.new do |s|
+-  s.name = "json"
+-  s.version = File.read("VERSION").chomp
+-  s.summary = "JSON implementation for JRuby"
+-  s.description = "A JSON implementation as a JRuby extension."
+-  s.author = "Daniel Luz"
+-  s.email = "dev+ruby at mernen.com"
+-  s.homepage = "http://json-jruby.rubyforge.org/"
+-  s.platform = 'java'
+-  s.rubyforge_project = "json-jruby"
+-
+-  s.files = Dir["{docs,lib,tests}/**/*"]
+-end
+-
+-if $0 == __FILE__
+-  Gem::Builder.new(spec).build
+-end
+diff --git a/lib/mcollective/vendor/json/lib/json.rb b/lib/mcollective/vendor/json/lib/json.rb
+deleted file mode 100644
+index 789b0de..0000000
+--- a/lib/mcollective/vendor/json/lib/json.rb
++++ /dev/null
+@@ -1,10 +0,0 @@
+-require 'json/common'
+-module JSON
+-  require 'json/version'
+-
+-  begin
+-    require 'json/ext'
+-  rescue LoadError
+-    require 'json/pure'
+-  end
+-end
+diff --git a/lib/mcollective/vendor/json/lib/json/Array.xpm b/lib/mcollective/vendor/json/lib/json/Array.xpm
+deleted file mode 100644
+index 27c4801..0000000
+--- a/lib/mcollective/vendor/json/lib/json/Array.xpm
++++ /dev/null
+@@ -1,21 +0,0 @@
+-/* XPM */
+-static char * Array_xpm[] = {
+-"16 16 2 1",
+-" 	c None",
+-".	c #000000",
+-"                ",
+-"                ",
+-"                ",
+-"   ..........   ",
+-"   .        .   ",
+-"   .        .   ",
+-"   .        .   ",
+-"   .        .   ",
+-"   .        .   ",
+-"   .        .   ",
+-"   .        .   ",
+-"   .        .   ",
+-"   ..........   ",
+-"                ",
+-"                ",
+-"                "};
+diff --git a/lib/mcollective/vendor/json/lib/json/FalseClass.xpm b/lib/mcollective/vendor/json/lib/json/FalseClass.xpm
+deleted file mode 100644
+index 25ce608..0000000
+--- a/lib/mcollective/vendor/json/lib/json/FalseClass.xpm
++++ /dev/null
+@@ -1,21 +0,0 @@
+-/* XPM */
+-static char * False_xpm[] = {
+-"16 16 2 1",
+-" 	c None",
+-".	c #FF0000",
+-"                ",
+-"                ",
+-"                ",
+-"     ......     ",
+-"     .          ",
+-"     .          ",
+-"     .          ",
+-"     ......     ",
+-"     .          ",
+-"     .          ",
+-"     .          ",
+-"     .          ",
+-"     .          ",
+-"                ",
+-"                ",
+-"                "};
+diff --git a/lib/mcollective/vendor/json/lib/json/Hash.xpm b/lib/mcollective/vendor/json/lib/json/Hash.xpm
+deleted file mode 100644
+index cd8f6f7..0000000
+--- a/lib/mcollective/vendor/json/lib/json/Hash.xpm
++++ /dev/null
+@@ -1,21 +0,0 @@
+-/* XPM */
+-static char * Hash_xpm[] = {
+-"16 16 2 1",
+-" 	c None",
+-".	c #000000",
+-"                ",
+-"                ",
+-"                ",
+-"       .  .     ",
+-"       .  .     ",
+-"       .  .     ",
+-"    .........   ",
+-"      .  .      ",
+-"      .  .      ",
+-"   .........    ",
+-"     .  .       ",
+-"     .  .       ",
+-"     .  .       ",
+-"                ",
+-"                ",
+-"                "};
+diff --git a/lib/mcollective/vendor/json/lib/json/Key.xpm b/lib/mcollective/vendor/json/lib/json/Key.xpm
+deleted file mode 100644
+index 9fd7281..0000000
+--- a/lib/mcollective/vendor/json/lib/json/Key.xpm
++++ /dev/null
+@@ -1,73 +0,0 @@
+-/* XPM */
+-static char * Key_xpm[] = {
+-"16 16 54 1",
+-" 	c None",
+-".	c #110007",
+-"+	c #0E0900",
+-"@	c #000013",
+-"#	c #070600",
+-"$	c #F6F006",
+-"%	c #ECE711",
+-"&	c #E5EE00",
+-"*	c #16021E",
+-"=	c #120900",
+-"-	c #EDF12B",
+-";	c #000033",
+-">	c #0F0000",
+-",	c #FFFE03",
+-"'	c #E6E500",
+-")	c #16021B",
+-"!	c #F7F502",
+-"~	c #000E00",
+-"{	c #130000",
+-"]	c #FFF000",
+-"^	c #FFE711",
+-"/	c #140005",
+-"(	c #190025",
+-"_	c #E9DD27",
+-":	c #E7DC04",
+-"<	c #FFEC09",
+-"[	c #FFE707",
+-"}	c #FFDE10",
+-"|	c #150021",
+-"1	c #160700",
+-"2	c #FAF60E",
+-"3	c #EFE301",
+-"4	c #FEF300",
+-"5	c #E7E000",
+-"6	c #FFFF08",
+-"7	c #0E0206",
+-"8	c #040000",
+-"9	c #03052E",
+-"0	c #041212",
+-"a	c #070300",
+-"b	c #F2E713",
+-"c	c #F9DE13",
+-"d	c #36091E",
+-"e	c #00001C",
+-"f	c #1F0010",
+-"g	c #FFF500",
+-"h	c #DEDE00",
+-"i	c #050A00",
+-"j	c #FAF14A",
+-"k	c #F5F200",
+-"l	c #040404",
+-"m	c #1A0D00",
+-"n	c #EDE43D",
+-"o	c #ECE007",
+-"                ",
+-"                ",
+-"    .+@         ",
+-"   #$%&*        ",
+-"  =-;>,')       ",
+-"  >!~{]^/       ",
+-"  (_:<[}|       ",
+-"   1234567      ",
+-"    890abcd     ",
+-"       efghi    ",
+-"         >jkl   ",
+-"          mnol  ",
+-"           >kl  ",
+-"            ll  ",
+-"                ",
+-"                "};
+diff --git a/lib/mcollective/vendor/json/lib/json/NilClass.xpm b/lib/mcollective/vendor/json/lib/json/NilClass.xpm
+deleted file mode 100644
+index 3509f06..0000000
+--- a/lib/mcollective/vendor/json/lib/json/NilClass.xpm
++++ /dev/null
+@@ -1,21 +0,0 @@
+-/* XPM */
+-static char * False_xpm[] = {
+-"16 16 2 1",
+-" 	c None",
+-".	c #000000",
+-"                ",
+-"                ",
+-"                ",
+-"       ...      ",
+-"      .   .     ",
+-"     .     .    ",
+-"     .     .    ",
+-"     .     .    ",
+-"     .     .    ",
+-"     .     .    ",
+-"     .     .    ",
+-"      .   .     ",
+-"       ...      ",
+-"                ",
+-"                ",
+-"                "};
+diff --git a/lib/mcollective/vendor/json/lib/json/Numeric.xpm b/lib/mcollective/vendor/json/lib/json/Numeric.xpm
+deleted file mode 100644
+index e071e2e..0000000
+--- a/lib/mcollective/vendor/json/lib/json/Numeric.xpm
++++ /dev/null
+@@ -1,28 +0,0 @@
+-/* XPM */
+-static char * Numeric_xpm[] = {
+-"16 16 9 1",
+-" 	c None",
+-".	c #FF0000",
+-"+	c #0000FF",
+-"@	c #0023DB",
+-"#	c #00EA14",
+-"$	c #00FF00",
+-"%	c #004FAF",
+-"&	c #0028D6",
+-"*	c #00F20C",
+-"                ",
+-"                ",
+-"                ",
+-" ... +++@#$$$$  ",
+-"   .+   %&   $$ ",
+-"   .     +    $ ",
+-"   .     +   $$ ",
+-"   .    ++$$$$  ",
+-"   .    +    $$ ",
+-"   .   +      $ ",
+-"   .  +       $ ",
+-"   . +  $    $$ ",
+-" .....++++*$$   ",
+-"                ",
+-"                ",
+-"                "};
+diff --git a/lib/mcollective/vendor/json/lib/json/String.xpm b/lib/mcollective/vendor/json/lib/json/String.xpm
+deleted file mode 100644
+index f79a89c..0000000
+--- a/lib/mcollective/vendor/json/lib/json/String.xpm
++++ /dev/null
+@@ -1,96 +0,0 @@
+-/* XPM */
+-static char * String_xpm[] = {
+-"16 16 77 1",
+-" 	c None",
+-".	c #000000",
+-"+	c #040404",
+-"@	c #080806",
+-"#	c #090606",
+-"$	c #EEEAE1",
+-"%	c #E7E3DA",
+-"&	c #E0DBD1",
+-"*	c #D4B46F",
+-"=	c #0C0906",
+-"-	c #E3C072",
+-";	c #E4C072",
+-">	c #060505",
+-",	c #0B0A08",
+-"'	c #D5B264",
+-")	c #D3AF5A",
+-"!	c #080602",
+-"~	c #E1B863",
+-"{	c #DDB151",
+-"]	c #DBAE4A",
+-"^	c #DDB152",
+-"/	c #DDB252",
+-"(	c #070705",
+-"_	c #0C0A07",
+-":	c #D3A33B",
+-"<	c #020201",
+-"[	c #DAAA41",
+-"}	c #040302",
+-"|	c #E4D9BF",
+-"1	c #0B0907",
+-"2	c #030201",
+-"3	c #020200",
+-"4	c #C99115",
+-"5	c #080704",
+-"6	c #DBC8A2",
+-"7	c #E7D7B4",
+-"8	c #E0CD9E",
+-"9	c #080601",
+-"0	c #040400",
+-"a	c #010100",
+-"b	c #0B0B08",
+-"c	c #DCBF83",
+-"d	c #DCBC75",
+-"e	c #DEB559",
+-"f	c #040301",
+-"g	c #BC8815",
+-"h	c #120E07",
+-"i	c #060402",
+-"j	c #0A0804",
+-"k	c #D4A747",
+-"l	c #D6A12F",
+-"m	c #0E0C05",
+-"n	c #C8C1B0",
+-"o	c #1D1B15",
+-"p	c #D7AD51",
+-"q	c #070502",
+-"r	c #080804",
+-"s	c #BC953B",
+-"t	c #C4BDAD",
+-"u	c #0B0807",
+-"v	c #DBAC47",
+-"w	c #1B150A",
+-"x	c #B78A2C",
+-"y	c #D8A83C",
+-"z	c #D4A338",
+-"A	c #0F0B03",
+-"B	c #181105",
+-"C	c #C59325",
+-"D	c #C18E1F",
+-"E	c #060600",
+-"F	c #CC992D",
+-"G	c #B98B25",
+-"H	c #B3831F",
+-"I	c #C08C1C",
+-"J	c #060500",
+-"K	c #0E0C03",
+-"L	c #0D0A00",
+-"                ",
+-"   .+@#         ",
+-"  .$%&*=        ",
+-" .-;>,')!       ",
+-" .~.  .{].      ",
+-" .^/. (_:<      ",
+-"  .[.}|$12      ",
+-"   345678}90    ",
+-"    a2bcdefgh   ",
+-"      ijkl.mno  ",
+-"      <pq. rstu ",
+-"      .]v.  wx= ",
+-"       .yzABCDE ",
+-"        .FGHIJ  ",
+-"         0KL0   ",
+-"                "};
+diff --git a/lib/mcollective/vendor/json/lib/json/TrueClass.xpm b/lib/mcollective/vendor/json/lib/json/TrueClass.xpm
+deleted file mode 100644
+index 143eef4..0000000
+--- a/lib/mcollective/vendor/json/lib/json/TrueClass.xpm
++++ /dev/null
+@@ -1,21 +0,0 @@
+-/* XPM */
+-static char * TrueClass_xpm[] = {
+-"16 16 2 1",
+-" 	c None",
+-".	c #0BF311",
+-"                ",
+-"                ",
+-"                ",
+-"   .........    ",
+-"       .        ",
+-"       .        ",
+-"       .        ",
+-"       .        ",
+-"       .        ",
+-"       .        ",
+-"       .        ",
+-"       .        ",
+-"       .        ",
+-"                ",
+-"                ",
+-"                "};
+diff --git a/lib/mcollective/vendor/json/lib/json/add/core.rb b/lib/mcollective/vendor/json/lib/json/add/core.rb
+deleted file mode 100644
+index 7a901d0..0000000
+--- a/lib/mcollective/vendor/json/lib/json/add/core.rb
++++ /dev/null
+@@ -1,147 +0,0 @@
+-# This file contains implementations of ruby core's custom objects for
+-# serialisation/deserialisation.
+-
+-unless defined?(::JSON::JSON_LOADED) and ::JSON::JSON_LOADED
+-  require 'json'
+-end
+-require 'date'
+-
+-class Symbol
+-  def to_json(*a)
+-    {
+-      JSON.create_id => self.class.name,
+-      's' => to_s,
+-    }.to_json(*a)
+-  end
+-
+-  def self.json_create(o)
+-    o['s'].to_sym
+-  end
+-end
+-
+-class Time
+-  def self.json_create(object)
+-    if usec = object.delete('u') # used to be tv_usec -> tv_nsec
+-      object['n'] = usec * 1000
+-    end
+-    if respond_to?(:tv_nsec)
+-      at(*object.values_at('s', 'n'))
+-    else
+-      at(object['s'], object['n'] / 1000)
+-    end
+-  end
+-
+-  def to_json(*args)
+-    {
+-      JSON.create_id => self.class.name,
+-      's' => tv_sec,
+-      'n' => respond_to?(:tv_nsec) ? tv_nsec : tv_usec * 1000
+-    }.to_json(*args)
+-  end
+-end
+-
+-class Date
+-  def self.json_create(object)
+-    civil(*object.values_at('y', 'm', 'd', 'sg'))
+-  end
+-
+-  alias start sg unless method_defined?(:start)
+-
+-  def to_json(*args)
+-    {
+-      JSON.create_id => self.class.name,
+-      'y' => year,
+-      'm' => month,
+-      'd' => day,
+-      'sg' => start,
+-    }.to_json(*args)
+-  end
+-end
+-
+-class DateTime
+-  def self.json_create(object)
+-    args = object.values_at('y', 'm', 'd', 'H', 'M', 'S')
+-    of_a, of_b = object['of'].split('/')
+-    if of_b and of_b != '0'
+-      args << Rational(of_a.to_i, of_b.to_i)
+-    else
+-      args << of_a
+-    end
+-    args << object['sg']
+-    civil(*args)
+-  end
+-
+-  alias start sg unless method_defined?(:start)
+-
+-  def to_json(*args)
+-    {
+-      JSON.create_id => self.class.name,
+-      'y' => year,
+-      'm' => month,
+-      'd' => day,
+-      'H' => hour,
+-      'M' => min,
+-      'S' => sec,
+-      'of' => offset.to_s,
+-      'sg' => start,
+-    }.to_json(*args)
+-  end
+-end
+-
+-class Range
+-  def self.json_create(object)
+-    new(*object['a'])
+-  end
+-
+-  def to_json(*args)
+-    {
+-      JSON.create_id   => self.class.name,
+-      'a'         => [ first, last, exclude_end? ]
+-    }.to_json(*args)
+-  end
+-end
+-
+-class Struct
+-  def self.json_create(object)
+-    new(*object['v'])
+-  end
+-
+-  def to_json(*args)
+-    klass = self.class.name
+-    klass.to_s.empty? and raise JSON::JSONError, "Only named structs are supported!"
+-    {
+-      JSON.create_id => klass,
+-      'v'     => values,
+-    }.to_json(*args)
+-  end
+-end
+-
+-class Exception
+-  def self.json_create(object)
+-    result = new(object['m'])
+-    result.set_backtrace object['b']
+-    result
+-  end
+-
+-  def to_json(*args)
+-    {
+-      JSON.create_id => self.class.name,
+-      'm'   => message,
+-      'b' => backtrace,
+-    }.to_json(*args)
+-  end
+-end
+-
+-class Regexp
+-  def self.json_create(object)
+-    new(object['s'], object['o'])
+-  end
+-
+-  def to_json(*)
+-    {
+-      JSON.create_id => self.class.name,
+-      'o' => options,
+-      's' => source,
+-    }.to_json
+-  end
+-end
+diff --git a/lib/mcollective/vendor/json/lib/json/add/rails.rb b/lib/mcollective/vendor/json/lib/json/add/rails.rb
+deleted file mode 100644
+index af95e52..0000000
+--- a/lib/mcollective/vendor/json/lib/json/add/rails.rb
++++ /dev/null
+@@ -1,8 +0,0 @@
+-# This file used to implementations of rails custom objects for
+-# serialisation/deserialisation and is obsoleted now.
+-
+-unless defined?(::JSON::JSON_LOADED) and ::JSON::JSON_LOADED
+-  require 'json'
+-end
+-
+-$DEBUG and warn "required json/add/rails which is obsolete now!"
+diff --git a/lib/mcollective/vendor/json/lib/json/common.rb b/lib/mcollective/vendor/json/lib/json/common.rb
+deleted file mode 100644
+index f8ce2da..0000000
+--- a/lib/mcollective/vendor/json/lib/json/common.rb
++++ /dev/null
+@@ -1,419 +0,0 @@
+-require 'json/version'
+-
+-module JSON
+-  class << self
+-    # If _object_ is string-like parse the string and return the parsed result
+-    # as a Ruby data structure. Otherwise generate a JSON text from the Ruby
+-    # data structure object and return it.
+-    #
+-    # The _opts_ argument is passed through to generate/parse respectively, see
+-    # generate and parse for their documentation.
+-    def [](object, opts = {})
+-      if object.respond_to? :to_str
+-        JSON.parse(object.to_str, opts)
+-      else
+-        JSON.generate(object, opts)
+-      end
+-    end
+-
+-    # Returns the JSON parser class, that is used by JSON. This might be either
+-    # JSON::Ext::Parser or JSON::Pure::Parser.
+-    attr_reader :parser
+-
+-    # Set the JSON parser class _parser_ to be used by JSON.
+-    def parser=(parser) # :nodoc:
+-      @parser = parser
+-      remove_const :Parser if JSON.const_defined_in?(self, :Parser)
+-      const_set :Parser, parser
+-    end
+-
+-    # Return the constant located at _path_. The format of _path_ has to be
+-    # either ::A::B::C or A::B::C. In any case A has to be located at the top
+-    # level (absolute namespace path?). If there doesn't exist a constant at
+-    # the given path, an ArgumentError is raised.
+-    def deep_const_get(path) # :nodoc:
+-      path.to_s.split(/::/).inject(Object) do |p, c|
+-        case
+-        when c.empty?                     then p
+-        when JSON.const_defined_in?(p, c) then p.const_get(c)
+-        else
+-          begin
+-            p.const_missing(c)
+-          rescue NameError => e
+-            raise ArgumentError, "can't get const #{path}: #{e}"
+-          end
+-        end
+-      end
+-    end
+-
+-    # Set the module _generator_ to be used by JSON.
+-    def generator=(generator) # :nodoc:
+-      old, $VERBOSE = $VERBOSE, nil
+-      @generator = generator
+-      generator_methods = generator::GeneratorMethods
+-      for const in generator_methods.constants
+-        klass = deep_const_get(const)
+-        modul = generator_methods.const_get(const)
+-        klass.class_eval do
+-          instance_methods(false).each do |m|
+-            m.to_s == 'to_json' and remove_method m
+-          end
+-          include modul
+-        end
+-      end
+-      self.state = generator::State
+-      const_set :State, self.state
+-      const_set :SAFE_STATE_PROTOTYPE, State.new
+-      const_set :FAST_STATE_PROTOTYPE, State.new(
+-        :indent         => '',
+-        :space          => '',
+-        :object_nl      => "",
+-        :array_nl       => "",
+-        :max_nesting    => false
+-      )
+-      const_set :PRETTY_STATE_PROTOTYPE, State.new(
+-        :indent         => '  ',
+-        :space          => ' ',
+-        :object_nl      => "\n",
+-        :array_nl       => "\n"
+-      )
+-    ensure
+-      $VERBOSE = old
+-    end
+-
+-    # Returns the JSON generator modul, that is used by JSON. This might be
+-    # either JSON::Ext::Generator or JSON::Pure::Generator.
+-    attr_reader :generator
+-
+-    # Returns the JSON generator state class, that is used by JSON. This might
+-    # be either JSON::Ext::Generator::State or JSON::Pure::Generator::State.
+-    attr_accessor :state
+-
+-    # This is create identifier, that is used to decide, if the _json_create_
+-    # hook of a class should be called. It defaults to 'json_class'.
+-    attr_accessor :create_id
+-  end
+-  self.create_id = 'json_class'
+-
+-  NaN           = 0.0/0
+-
+-  Infinity      = 1.0/0
+-
+-  MinusInfinity = -Infinity
+-
+-  # The base exception for JSON errors.
+-  class JSONError < StandardError; end
+-
+-  # This exception is raised, if a parser error occurs.
+-  class ParserError < JSONError; end
+-
+-  # This exception is raised, if the nesting of parsed datastructures is too
+-  # deep.
+-  class NestingError < ParserError; end
+-
+-  # :stopdoc:
+-  class CircularDatastructure < NestingError; end
+-  # :startdoc:
+-
+-  # This exception is raised, if a generator or unparser error occurs.
+-  class GeneratorError < JSONError; end
+-  # For backwards compatibility
+-  UnparserError = GeneratorError
+-
+-  # This exception is raised, if the required unicode support is missing on the
+-  # system. Usually this means, that the iconv library is not installed.
+-  class MissingUnicodeSupport < JSONError; end
+-
+-  module_function
+-
+-  # Parse the JSON document _source_ into a Ruby data structure and return it.
+-  #
+-  # _opts_ can have the following
+-  # keys:
+-  # * *max_nesting*: The maximum depth of nesting allowed in the parsed data
+-  #   structures. Disable depth checking with :max_nesting => false, it defaults
+-  #   to 19.
+-  # * *allow_nan*: If set to true, allow NaN, Infinity and -Infinity in
+-  #   defiance of RFC 4627 to be parsed by the Parser. This option defaults
+-  #   to false.
+-  # * *symbolize_names*: If set to true, returns symbols for the names
+-  #   (keys) in a JSON object. Otherwise strings are returned, which is also
+-  #   the default.
+-  # * *create_additions*: If set to false, the Parser doesn't create
+-  #   additions even if a matchin class and create_id was found. This option
+-  #   defaults to true.
+-  # * *object_class*: Defaults to Hash
+-  # * *array_class*: Defaults to Array
+-  def parse(source, opts = {})
+-    Parser.new(source, opts).parse
+-  end
+-
+-  # Parse the JSON document _source_ into a Ruby data structure and return it.
+-  # The bang version of the parse method, defaults to the more dangerous values
+-  # for the _opts_ hash, so be sure only to parse trusted _source_ documents.
+-  #
+-  # _opts_ can have the following keys:
+-  # * *max_nesting*: The maximum depth of nesting allowed in the parsed data
+-  #   structures. Enable depth checking with :max_nesting => anInteger. The parse!
+-  #   methods defaults to not doing max depth checking: This can be dangerous,
+-  #   if someone wants to fill up your stack.
+-  # * *allow_nan*: If set to true, allow NaN, Infinity, and -Infinity in
+-  #   defiance of RFC 4627 to be parsed by the Parser. This option defaults
+-  #   to true.
+-  # * *create_additions*: If set to false, the Parser doesn't create
+-  #   additions even if a matchin class and create_id was found. This option
+-  #   defaults to true.
+-  def parse!(source, opts = {})
+-    opts = {
+-      :max_nesting  => false,
+-      :allow_nan    => true
+-    }.update(opts)
+-    Parser.new(source, opts).parse
+-  end
+-
+-  # Generate a JSON document from the Ruby data structure _obj_ and return
+-  # it. _state_ is * a JSON::State object,
+-  # * or a Hash like object (responding to to_hash),
+-  # * an object convertible into a hash by a to_h method,
+-  # that is used as or to configure a State object.
+-  #
+-  # It defaults to a state object, that creates the shortest possible JSON text
+-  # in one line, checks for circular data structures and doesn't allow NaN,
+-  # Infinity, and -Infinity.
+-  #
+-  # A _state_ hash can have the following keys:
+-  # * *indent*: a string used to indent levels (default: ''),
+-  # * *space*: a string that is put after, a : or , delimiter (default: ''),
+-  # * *space_before*: a string that is put before a : pair delimiter (default: ''),
+-  # * *object_nl*: a string that is put at the end of a JSON object (default: ''), 
+-  # * *array_nl*: a string that is put at the end of a JSON array (default: ''),
+-  # * *allow_nan*: true if NaN, Infinity, and -Infinity should be
+-  #   generated, otherwise an exception is thrown, if these values are
+-  #   encountered. This options defaults to false.
+-  # * *max_nesting*: The maximum depth of nesting allowed in the data
+-  #   structures from which JSON is to be generated. Disable depth checking
+-  #   with :max_nesting => false, it defaults to 19.
+-  #
+-  # See also the fast_generate for the fastest creation method with the least
+-  # amount of sanity checks, and the pretty_generate method for some
+-  # defaults for a pretty output.
+-  def generate(obj, opts = nil)
+-    state = SAFE_STATE_PROTOTYPE.dup
+-    if opts
+-      if opts.respond_to? :to_hash
+-        opts = opts.to_hash
+-      elsif opts.respond_to? :to_h
+-        opts = opts.to_h
+-      else
+-        raise TypeError, "can't convert #{opts.class} into Hash"
+-      end
+-      state = state.configure(opts)
+-    end
+-    state.generate(obj)
+-  end
+-
+-  # :stopdoc:
+-  # I want to deprecate these later, so I'll first be silent about them, and
+-  # later delete them.
+-  alias unparse generate
+-  module_function :unparse
+-  # :startdoc:
+-
+-  # Generate a JSON document from the Ruby data structure _obj_ and return it.
+-  # This method disables the checks for circles in Ruby objects.
+-  #
+-  # *WARNING*: Be careful not to pass any Ruby data structures with circles as
+-  # _obj_ argument, because this will cause JSON to go into an infinite loop.
+-  def fast_generate(obj, opts = nil)
+-    state = FAST_STATE_PROTOTYPE.dup
+-    if opts
+-      if opts.respond_to? :to_hash
+-        opts = opts.to_hash
+-      elsif opts.respond_to? :to_h
+-        opts = opts.to_h
+-      else
+-        raise TypeError, "can't convert #{opts.class} into Hash"
+-      end
+-      state.configure(opts)
+-    end
+-    state.generate(obj)
+-  end
+-
+-  # :stopdoc:
+-  # I want to deprecate these later, so I'll first be silent about them, and later delete them.
+-  alias fast_unparse fast_generate
+-  module_function :fast_unparse
+-  # :startdoc:
+-
+-  # Generate a JSON document from the Ruby data structure _obj_ and return it.
+-  # The returned document is a prettier form of the document returned by
+-  # #unparse.
+-  #
+-  # The _opts_ argument can be used to configure the generator, see the
+-  # generate method for a more detailed explanation.
+-  def pretty_generate(obj, opts = nil)
+-    state = PRETTY_STATE_PROTOTYPE.dup
+-    if opts
+-      if opts.respond_to? :to_hash
+-        opts = opts.to_hash
+-      elsif opts.respond_to? :to_h
+-        opts = opts.to_h
+-      else
+-        raise TypeError, "can't convert #{opts.class} into Hash"
+-      end
+-      state.configure(opts)
+-    end
+-    state.generate(obj)
+-  end
+-
+-  # :stopdoc:
+-  # I want to deprecate these later, so I'll first be silent about them, and later delete them.
+-  alias pretty_unparse pretty_generate
+-  module_function :pretty_unparse
+-  # :startdoc:
+-
+-  # Load a ruby data structure from a JSON _source_ and return it. A source can
+-  # either be a string-like object, an IO like object, or an object responding
+-  # to the read method. If _proc_ was given, it will be called with any nested
+-  # Ruby object as an argument recursively in depth first order.
+-  #
+-  # This method is part of the implementation of the load/dump interface of
+-  # Marshal and YAML.
+-  def load(source, proc = nil)
+-    if source.respond_to? :to_str
+-      source = source.to_str
+-    elsif source.respond_to? :to_io
+-      source = source.to_io.read
+-    else
+-      source = source.read
+-    end
+-    result = parse(source, :max_nesting => false, :allow_nan => true)
+-    recurse_proc(result, &proc) if proc
+-    result
+-  end
+-
+-  def recurse_proc(result, &proc)
+-    case result
+-    when Array
+-      result.each { |x| recurse_proc x, &proc }
+-      proc.call result
+-    when Hash
+-      result.each { |x, y| recurse_proc x, &proc; recurse_proc y, &proc }
+-      proc.call result
+-    else
+-      proc.call result
+-    end
+-  end
+-
+-  alias restore load
+-  module_function :restore
+-
+-  # Dumps _obj_ as a JSON string, i.e. calls generate on the object and returns
+-  # the result.
+-  #
+-  # If anIO (an IO like object or an object that responds to the write method)
+-  # was given, the resulting JSON is written to it.
+-  #
+-  # If the number of nested arrays or objects exceeds _limit_ an ArgumentError
+-  # exception is raised. This argument is similar (but not exactly the
+-  # same!) to the _limit_ argument in Marshal.dump.
+-  #
+-  # This method is part of the implementation of the load/dump interface of
+-  # Marshal and YAML.
+-  def dump(obj, anIO = nil, limit = nil)
+-    if anIO and limit.nil?
+-      anIO = anIO.to_io if anIO.respond_to?(:to_io)
+-      unless anIO.respond_to?(:write)
+-        limit = anIO
+-        anIO = nil
+-      end
+-    end
+-    limit ||= 0
+-    result = generate(obj, :allow_nan => true, :max_nesting => limit)
+-    if anIO
+-      anIO.write result
+-      anIO
+-    else
+-      result
+-    end
+-  rescue JSON::NestingError
+-    raise ArgumentError, "exceed depth limit"
+-  end
+-
+-  # Swap consecutive bytes of _string_ in place.
+-  def self.swap!(string) # :nodoc:
+-    0.upto(string.size / 2) do |i|
+-      break unless string[2 * i + 1]
+-      string[2 * i], string[2 * i + 1] = string[2 * i + 1], string[2 * i]
+-    end
+-    string
+-  end
+-
+-  # Shortuct for iconv.
+-  if ::String.method_defined?(:encode)
+-    def self.iconv(to, from, string)
+-      string.encode(to, from)
+-    end
+-  else
+-    require 'iconv'
+-    def self.iconv(to, from, string)
+-      Iconv.iconv(to, from, string).first
+-    end
+-  end
+-
+-  if ::Object.method(:const_defined?).arity == 1
+-    def self.const_defined_in?(modul, constant)
+-      modul.const_defined?(constant)
+-    end
+-  else
+-    def self.const_defined_in?(modul, constant)
+-      modul.const_defined?(constant, false)
+-    end
+-  end
+-end
+-
+-module ::Kernel
+-  private
+-
+-  # Outputs _objs_ to STDOUT as JSON strings in the shortest form, that is in
+-  # one line.
+-  def j(*objs)
+-    objs.each do |obj|
+-      puts JSON::generate(obj, :allow_nan => true, :max_nesting => false)
+-    end
+-    nil
+-  end
+-
+-  # Ouputs _objs_ to STDOUT as JSON strings in a pretty format, with
+-  # indentation and over many lines.
+-  def jj(*objs)
+-    objs.each do |obj|
+-      puts JSON::pretty_generate(obj, :allow_nan => true, :max_nesting => false)
+-    end
+-    nil
+-  end
+-
+-  # If _object_ is string-like parse the string and return the parsed result as
+-  # a Ruby data structure. Otherwise generate a JSON text from the Ruby data
+-  # structure object and return it.
+-  #
+-  # The _opts_ argument is passed through to generate/parse respectively, see
+-  # generate and parse for their documentation.
+-  def JSON(object, *args)
+-    if object.respond_to? :to_str
+-      JSON.parse(object.to_str, args.first)
+-    else
+-      JSON.generate(object, args.first)
+-    end
+-  end
+-end
+-
+-class ::Class
+-  # Returns true, if this class can be used to create an instance
+-  # from a serialised JSON string. The class has to implement a class
+-  # method _json_create_ that expects a hash as first parameter, which includes
+-  # the required data.
+-  def json_creatable?
+-    respond_to?(:json_create)
+-  end
+-end
+diff --git a/lib/mcollective/vendor/json/lib/json/editor.rb b/lib/mcollective/vendor/json/lib/json/editor.rb
+deleted file mode 100644
+index 3450455..0000000
+--- a/lib/mcollective/vendor/json/lib/json/editor.rb
++++ /dev/null
+@@ -1,1369 +0,0 @@
+-# To use the GUI JSON editor, start the edit_json.rb executable script. It
+-# requires ruby-gtk to be installed.
+-
+-require 'gtk2'
+-require 'json'
+-require 'rbconfig'
+-require 'open-uri'
+-
+-module JSON
+-  module Editor
+-    include Gtk
+-
+-    # Beginning of the editor window title
+-    TITLE                 = 'JSON Editor'.freeze
+-
+-    # Columns constants
+-    ICON_COL, TYPE_COL, CONTENT_COL = 0, 1, 2
+-
+-    # JSON primitive types (Containers)
+-    CONTAINER_TYPES = %w[Array Hash].sort
+-    # All JSON primitive types
+-    ALL_TYPES = (%w[TrueClass FalseClass Numeric String NilClass] +
+-                 CONTAINER_TYPES).sort
+-
+-    # The Nodes necessary for the tree representation of a JSON document
+-    ALL_NODES = (ALL_TYPES + %w[Key]).sort
+-
+-    DEFAULT_DIALOG_KEY_PRESS_HANDLER = lambda do |dialog, event|
+-      case event.keyval
+-      when Gdk::Keyval::GDK_Return
+-        dialog.response Dialog::RESPONSE_ACCEPT
+-      when Gdk::Keyval::GDK_Escape
+-        dialog.response Dialog::RESPONSE_REJECT
+-      end
+-    end
+-
+-    # Returns the Gdk::Pixbuf of the icon named _name_ from the icon cache.
+-    def Editor.fetch_icon(name)
+-      @icon_cache ||= {}
+-      unless @icon_cache.key?(name)
+-        path = File.dirname(__FILE__)
+-        @icon_cache[name] = Gdk::Pixbuf.new(File.join(path, name + '.xpm'))
+-      end
+-     @icon_cache[name]
+-    end
+-
+-    # Opens an error dialog on top of _window_ showing the error message
+-    # _text_.
+-    def Editor.error_dialog(window, text)
+-      dialog = MessageDialog.new(window, Dialog::MODAL, 
+-        MessageDialog::ERROR, 
+-        MessageDialog::BUTTONS_CLOSE, text)
+-      dialog.show_all
+-      dialog.run
+-    rescue TypeError
+-      dialog = MessageDialog.new(Editor.window, Dialog::MODAL, 
+-        MessageDialog::ERROR, 
+-        MessageDialog::BUTTONS_CLOSE, text)
+-      dialog.show_all
+-      dialog.run
+-    ensure
+-      dialog.destroy if dialog
+-    end
+-
+-    # Opens a yes/no question dialog on top of _window_ showing the error
+-    # message _text_. If yes was answered _true_ is returned, otherwise
+-    # _false_.
+-    def Editor.question_dialog(window, text)
+-      dialog = MessageDialog.new(window, Dialog::MODAL, 
+-        MessageDialog::QUESTION, 
+-        MessageDialog::BUTTONS_YES_NO, text)
+-      dialog.show_all
+-      dialog.run do |response|
+-        return Gtk::Dialog::RESPONSE_YES === response
+-      end
+-    ensure
+-      dialog.destroy if dialog
+-    end
+-
+-    # Convert the tree model starting from Gtk::TreeIter _iter_ into a Ruby
+-    # data structure and return it.
+-    def Editor.model2data(iter)
+-      return nil if iter.nil?
+-      case iter.type
+-      when 'Hash'
+-        hash = {}
+-        iter.each { |c| hash[c.content] = Editor.model2data(c.first_child) }
+-        hash
+-      when 'Array'
+-        array = Array.new(iter.n_children)
+-        iter.each_with_index { |c, i| array[i] = Editor.model2data(c) }
+-        array
+-      when 'Key'
+-        iter.content
+-      when 'String'
+-        iter.content
+-      when 'Numeric'
+-        content = iter.content
+-        if /\./.match(content)
+-          content.to_f
+-        else
+-          content.to_i
+-        end
+-      when 'TrueClass'
+-        true
+-      when 'FalseClass'
+-        false
+-      when 'NilClass'
+-        nil
+-      else
+-        fail "Unknown type found in model: #{iter.type}"
+-      end
+-    end
+-
+-    # Convert the Ruby data structure _data_ into tree model data for Gtk and
+-    # returns the whole model. If the parameter _model_ wasn't given a new
+-    # Gtk::TreeStore is created as the model. The _parent_ parameter specifies
+-    # the parent node (iter, Gtk:TreeIter instance) to which the data is
+-    # appended, alternativeley the result of the yielded block is used as iter.
+-    def Editor.data2model(data, model = nil, parent = nil)
+-      model ||= TreeStore.new(Gdk::Pixbuf, String, String)
+-      iter = if block_given?
+-        yield model
+-      else
+-        model.append(parent)
+-      end
+-      case data
+-      when Hash
+-        iter.type = 'Hash'
+-        data.sort.each do |key, value|
+-          pair_iter = model.append(iter)
+-          pair_iter.type    = 'Key'
+-          pair_iter.content = key.to_s
+-          Editor.data2model(value, model, pair_iter)
+-        end
+-      when Array
+-        iter.type = 'Array'
+-        data.each do |value|
+-          Editor.data2model(value, model, iter)
+-        end
+-      when Numeric
+-        iter.type = 'Numeric'
+-        iter.content = data.to_s
+-      when String, true, false, nil
+-        iter.type    = data.class.name
+-        iter.content = data.nil? ? 'null' : data.to_s
+-      else
+-        iter.type    = 'String'
+-        iter.content = data.to_s
+-      end
+-      model
+-    end
+-
+-    # The Gtk::TreeIter class is reopened and some auxiliary methods are added.
+-    class Gtk::TreeIter
+-      include Enumerable
+-
+-      # Traverse each of this Gtk::TreeIter instance's children
+-      # and yield to them.
+-      def each
+-        n_children.times { |i| yield nth_child(i) }
+-      end
+-
+-      # Recursively traverse all nodes of this Gtk::TreeIter's subtree
+-      # (including self) and yield to them.
+-      def recursive_each(&block)
+-        yield self
+-        each do |i|
+-          i.recursive_each(&block)
+-        end
+-      end
+-
+-      # Remove the subtree of this Gtk::TreeIter instance from the
+-      # model _model_.
+-      def remove_subtree(model)
+-        while current = first_child
+-          model.remove(current)
+-        end
+-      end
+-
+-      # Returns the type of this node.
+-      def type
+-        self[TYPE_COL]
+-      end
+-
+-      # Sets the type of this node to _value_. This implies setting
+-      # the respective icon accordingly.
+-      def type=(value)
+-        self[TYPE_COL] = value
+-        self[ICON_COL] = Editor.fetch_icon(value)
+-      end
+-
+-      # Returns the content of this node.
+-      def content
+-        self[CONTENT_COL]
+-      end
+-
+-      # Sets the content of this node to _value_.
+-      def content=(value)
+-        self[CONTENT_COL] = value
+-      end
+-    end
+-
+-    # This module bundles some method, that can be used to create a menu. It
+-    # should be included into the class in question.
+-    module MenuExtension
+-      include Gtk
+-
+-      # Creates a Menu, that includes MenuExtension. _treeview_ is the
+-      # Gtk::TreeView, on which it operates.
+-      def initialize(treeview)
+-        @treeview = treeview
+-        @menu = Menu.new
+-      end
+-
+-      # Returns the Gtk::TreeView of this menu.
+-      attr_reader :treeview
+-
+-      # Returns the menu.
+-      attr_reader :menu
+-
+-      # Adds a Gtk::SeparatorMenuItem to this instance's #menu.
+-      def add_separator
+-        menu.append SeparatorMenuItem.new
+-      end
+-
+-      # Adds a Gtk::MenuItem to this instance's #menu. _label_ is the label
+-      # string, _klass_ is the item type, and _callback_ is the procedure, that
+-      # is called if the _item_ is activated.
+-      def add_item(label, keyval = nil, klass = MenuItem, &callback)
+-        label = "#{label} (C-#{keyval.chr})" if keyval
+-        item = klass.new(label)
+-        item.signal_connect(:activate, &callback)
+-        if keyval
+-          self.signal_connect(:'key-press-event') do |item, event|
+-            if event.state & Gdk::Window::ModifierType::CONTROL_MASK != 0 and
+-              event.keyval == keyval
+-              callback.call item
+-            end
+-          end
+-        end
+-        menu.append item
+-        item
+-      end
+-
+-      # This method should be implemented in subclasses to create the #menu of
+-      # this instance. It has to be called after an instance of this class is
+-      # created, to build the menu.
+-      def create
+-        raise NotImplementedError
+-      end
+-
+-      def method_missing(*a, &b)
+-        treeview.__send__(*a, &b)
+-      end
+-    end
+-
+-    # This class creates the popup menu, that opens when clicking onto the
+-    # treeview.
+-    class PopUpMenu
+-      include MenuExtension
+-
+-      # Change the type or content of the selected node.
+-      def change_node(item)
+-        if current = selection.selected
+-          parent = current.parent
+-          old_type, old_content = current.type, current.content
+-          if ALL_TYPES.include?(old_type)
+-            @clipboard_data = Editor.model2data(current)
+-            type, content = ask_for_element(parent, current.type,
+-              current.content)
+-            if type
+-              current.type, current.content = type, content
+-              current.remove_subtree(model)
+-              toplevel.display_status("Changed a node in tree.")
+-              window.change
+-            end
+-          else
+-            toplevel.display_status(
+-              "Cannot change node of type #{old_type} in tree!")
+-          end
+-        end
+-      end
+-
+-      # Cut the selected node and its subtree, and save it into the
+-      # clipboard.
+-      def cut_node(item)
+-        if current = selection.selected
+-          if current and current.type == 'Key'
+-            @clipboard_data = {
+-              current.content => Editor.model2data(current.first_child)
+-            }
+-          else
+-            @clipboard_data = Editor.model2data(current)
+-          end
+-          model.remove(current)
+-          window.change
+-          toplevel.display_status("Cut a node from tree.")
+-        end
+-      end
+-
+-      # Copy the selected node and its subtree, and save it into the
+-      # clipboard.
+-      def copy_node(item)
+-        if current = selection.selected
+-          if current and current.type == 'Key'
+-            @clipboard_data = {
+-              current.content => Editor.model2data(current.first_child)
+-            }
+-          else
+-            @clipboard_data = Editor.model2data(current)
+-          end
+-          window.change
+-          toplevel.display_status("Copied a node from tree.")
+-        end
+-      end
+-
+-      # Paste the data in the clipboard into the selected Array or Hash by
+-      # appending it.
+-      def paste_node_appending(item)
+-        if current = selection.selected
+-          if @clipboard_data
+-            case current.type
+-            when 'Array'
+-              Editor.data2model(@clipboard_data, model, current)
+-              expand_collapse(current)
+-            when 'Hash'
+-              if @clipboard_data.is_a? Hash
+-                parent = current.parent
+-                hash = Editor.model2data(current)
+-                model.remove(current)
+-                hash.update(@clipboard_data)
+-                Editor.data2model(hash, model, parent)
+-                if parent
+-                  expand_collapse(parent)
+-                elsif @expanded
+-                  expand_all
+-                end
+-                window.change
+-              else
+-                toplevel.display_status(
+-                  "Cannot paste non-#{current.type} data into '#{current.type}'!")
+-              end
+-            else
+-              toplevel.display_status(
+-                "Cannot paste node below '#{current.type}'!")
+-            end
+-          else
+-            toplevel.display_status("Nothing to paste in clipboard!")
+-          end
+-        else
+-            toplevel.display_status("Append a node into the root first!")
+-        end
+-      end
+-
+-      # Paste the data in the clipboard into the selected Array inserting it
+-      # before the selected element.
+-      def paste_node_inserting_before(item)
+-        if current = selection.selected
+-          if @clipboard_data
+-            parent = current.parent or return
+-            parent_type = parent.type
+-            if parent_type == 'Array'
+-              selected_index = parent.each_with_index do |c, i|
+-                break i if c == current
+-              end
+-              Editor.data2model(@clipboard_data, model, parent) do |m|
+-                m.insert_before(parent, current)
+-              end
+-              expand_collapse(current)
+-              toplevel.display_status("Inserted an element to " +
+-                "'#{parent_type}' before index #{selected_index}.")
+-              window.change
+-            else
+-              toplevel.display_status(
+-                "Cannot insert node below '#{parent_type}'!")
+-            end
+-          else
+-            toplevel.display_status("Nothing to paste in clipboard!")
+-          end
+-        else
+-            toplevel.display_status("Append a node into the root first!")
+-        end
+-      end
+-
+-      # Append a new node to the selected Hash or Array.
+-      def append_new_node(item)
+-        if parent = selection.selected
+-          parent_type = parent.type
+-          case parent_type
+-          when 'Hash'
+-            key, type, content = ask_for_hash_pair(parent)
+-            key or return
+-            iter = create_node(parent, 'Key', key)
+-            iter = create_node(iter, type, content)
+-            toplevel.display_status(
+-              "Added a (key, value)-pair to '#{parent_type}'.")
+-            window.change
+-          when 'Array'
+-            type, content = ask_for_element(parent)
+-            type or return
+-            iter = create_node(parent, type, content)
+-            window.change
+-            toplevel.display_status("Appendend an element to '#{parent_type}'.")
+-          else
+-            toplevel.display_status("Cannot append to '#{parent_type}'!")
+-          end
+-        else
+-          type, content = ask_for_element
+-          type or return
+-          iter = create_node(nil, type, content)
+-          window.change
+-        end
+-      end
+-
+-      # Insert a new node into an Array before the selected element.
+-      def insert_new_node(item)
+-        if current = selection.selected
+-          parent = current.parent or return
+-          parent_parent = parent.parent
+-          parent_type = parent.type
+-          if parent_type == 'Array'
+-            selected_index = parent.each_with_index do |c, i|
+-              break i if c == current
+-            end
+-            type, content = ask_for_element(parent)
+-            type or return
+-            iter = model.insert_before(parent, current)
+-            iter.type, iter.content = type, content
+-            toplevel.display_status("Inserted an element to " +
+-              "'#{parent_type}' before index #{selected_index}.")
+-            window.change
+-          else
+-            toplevel.display_status(
+-              "Cannot insert node below '#{parent_type}'!")
+-          end
+-        else
+-            toplevel.display_status("Append a node into the root first!")
+-        end
+-      end
+-
+-      # Recursively collapse/expand a subtree starting from the selected node.
+-      def collapse_expand(item)
+-        if current = selection.selected
+-          if row_expanded?(current.path)
+-            collapse_row(current.path)
+-          else
+-            expand_row(current.path, true)
+-          end
+-        else
+-            toplevel.display_status("Append a node into the root first!")
+-        end
+-      end
+-
+-      # Create the menu.
+-      def create
+-        add_item("Change node", ?n, &method(:change_node))
+-        add_separator
+-        add_item("Cut node", ?X, &method(:cut_node))
+-        add_item("Copy node", ?C, &method(:copy_node))
+-        add_item("Paste node (appending)", ?A, &method(:paste_node_appending))
+-        add_item("Paste node (inserting before)", ?I,
+-          &method(:paste_node_inserting_before))
+-        add_separator
+-        add_item("Append new node", ?a, &method(:append_new_node))
+-        add_item("Insert new node before", ?i, &method(:insert_new_node))
+-        add_separator 
+-        add_item("Collapse/Expand node (recursively)", ?e,
+-          &method(:collapse_expand))
+-
+-        menu.show_all
+-        signal_connect(:button_press_event) do |widget, event|
+-          if event.kind_of? Gdk::EventButton and event.button == 3
+-            menu.popup(nil, nil, event.button, event.time)
+-          end
+-        end
+-        signal_connect(:popup_menu) do
+-          menu.popup(nil, nil, 0, Gdk::Event::CURRENT_TIME)
+-        end
+-      end
+-    end
+-
+-    # This class creates the File pulldown menu.
+-    class FileMenu
+-      include MenuExtension
+-
+-      # Clear the model and filename, but ask to save the JSON document, if
+-      # unsaved changes have occured.
+-      def new(item)
+-        window.clear
+-      end
+-
+-      # Open a file and load it into the editor. Ask to save the JSON document
+-      # first, if unsaved changes have occured.
+-      def open(item)
+-        window.file_open
+-      end
+-
+-      def open_location(item)
+-        window.location_open
+-      end
+-
+-      # Revert the current JSON document in the editor to the saved version.
+-      def revert(item)
+-        window.instance_eval do
+-          @filename and file_open(@filename) 
+-        end
+-      end
+-
+-      # Save the current JSON document.
+-      def save(item)
+-        window.file_save
+-      end
+-
+-      # Save the current JSON document under the given filename.
+-      def save_as(item)
+-        window.file_save_as
+-      end
+-
+-      # Quit the editor, after asking to save any unsaved changes first.
+-      def quit(item)
+-        window.quit
+-      end
+-
+-      # Create the menu.
+-      def create
+-        title = MenuItem.new('File')
+-        title.submenu = menu
+-        add_item('New', &method(:new))
+-        add_item('Open', ?o, &method(:open))
+-        add_item('Open location', ?l, &method(:open_location))
+-        add_item('Revert', &method(:revert))
+-        add_separator
+-        add_item('Save', ?s, &method(:save))
+-        add_item('Save As', ?S, &method(:save_as))
+-        add_separator
+-        add_item('Quit', ?q, &method(:quit))
+-        title
+-      end
+-    end
+-
+-    # This class creates the Edit pulldown menu.
+-    class EditMenu
+-      include MenuExtension
+-
+-      # Copy data from model into primary clipboard.
+-      def copy(item)
+-        data = Editor.model2data(model.iter_first)
+-        json = JSON.pretty_generate(data, :max_nesting => false)
+-        c = Gtk::Clipboard.get(Gdk::Selection::PRIMARY)
+-        c.text = json
+-      end
+-
+-      # Copy json text from primary clipboard into model.
+-      def paste(item)
+-        c = Gtk::Clipboard.get(Gdk::Selection::PRIMARY)
+-        if json = c.wait_for_text
+-          window.ask_save if @changed
+-          begin
+-            window.edit json
+-          rescue JSON::ParserError
+-            window.clear
+-          end
+-        end
+-      end
+-
+-      # Find a string in all nodes' contents and select the found node in the
+-      # treeview.
+-      def find(item)
+-        @search = ask_for_find_term(@search) or return
+-        iter = model.get_iter('0') or return
+-        iter.recursive_each do |i|
+-          if @iter
+-            if @iter != i
+-              next
+-            else
+-              @iter = nil
+-              next
+-            end
+-          elsif @search.match(i[CONTENT_COL])
+-             set_cursor(i.path, nil, false)
+-             @iter = i
+-             break
+-          end
+-        end
+-      end
+-
+-      # Repeat the last search given by #find.
+-      def find_again(item)
+-        @search or return
+-        iter = model.get_iter('0')
+-        iter.recursive_each do |i|
+-          if @iter
+-            if @iter != i
+-              next
+-            else
+-              @iter = nil
+-              next
+-            end
+-          elsif @search.match(i[CONTENT_COL])
+-             set_cursor(i.path, nil, false)
+-             @iter = i
+-             break
+-          end
+-        end
+-      end
+-
+-      # Sort (Reverse sort) all elements of the selected array by the given
+-      # expression. _x_ is the element in question.
+-      def sort(item)
+-        if current = selection.selected
+-          if current.type == 'Array'
+-            parent = current.parent
+-            ary = Editor.model2data(current)
+-            order, reverse = ask_for_order
+-            order or return
+-            begin
+-              block = eval "lambda { |x| #{order} }"
+-              if reverse
+-                ary.sort! { |a,b| block[b] <=> block[a] }
+-              else
+-                ary.sort! { |a,b| block[a] <=> block[b] }
+-              end
+-            rescue => e
+-              Editor.error_dialog(self, "Failed to sort Array with #{order}: #{e}!")
+-            else
+-              Editor.data2model(ary, model, parent) do |m|
+-                m.insert_before(parent, current)
+-              end
+-              model.remove(current)
+-              expand_collapse(parent)
+-              window.change
+-              toplevel.display_status("Array has been sorted.")
+-            end
+-          else
+-            toplevel.display_status("Only Array nodes can be sorted!")
+-          end
+-        else
+-            toplevel.display_status("Select an Array to sort first!")
+-        end
+-      end
+-
+-      # Create the menu.
+-      def create
+-        title = MenuItem.new('Edit')
+-        title.submenu = menu
+-        add_item('Copy', ?c, &method(:copy))
+-        add_item('Paste', ?v, &method(:paste))
+-        add_separator
+-        add_item('Find', ?f, &method(:find))
+-        add_item('Find Again', ?g, &method(:find_again))
+-        add_separator
+-        add_item('Sort', ?S, &method(:sort))
+-        title
+-      end
+-    end
+-
+-    class OptionsMenu
+-      include MenuExtension
+-
+-      # Collapse/Expand all nodes by default.
+-      def collapsed_nodes(item)
+-        if expanded
+-          self.expanded = false
+-          collapse_all
+-        else
+-          self.expanded = true
+-          expand_all 
+-        end
+-      end
+-
+-      # Toggle pretty saving mode on/off.
+-      def pretty_saving(item)
+-        @pretty_item.toggled
+-        window.change
+-      end
+-
+-      attr_reader :pretty_item
+-
+-      # Create the menu.
+-      def create
+-        title = MenuItem.new('Options')
+-        title.submenu = menu
+-        add_item('Collapsed nodes', nil, CheckMenuItem, &method(:collapsed_nodes))
+-        @pretty_item = add_item('Pretty saving', nil, CheckMenuItem,
+-          &method(:pretty_saving))
+-        @pretty_item.active = true
+-        window.unchange
+-        title
+-      end
+-    end
+-
+-    # This class inherits from Gtk::TreeView, to configure it and to add a lot
+-    # of behaviour to it.
+-    class JSONTreeView < Gtk::TreeView
+-      include Gtk
+-
+-      # Creates a JSONTreeView instance, the parameter _window_ is
+-      # a MainWindow instance and used for self delegation.
+-      def initialize(window)
+-        @window = window
+-        super(TreeStore.new(Gdk::Pixbuf, String, String))
+-        self.selection.mode = SELECTION_BROWSE
+-
+-        @expanded = false
+-        self.headers_visible = false
+-        add_columns
+-        add_popup_menu
+-      end
+-
+-      # Returns the MainWindow instance of this JSONTreeView.
+-      attr_reader :window
+-
+-      # Returns true, if nodes are autoexpanding, false otherwise.
+-      attr_accessor :expanded
+-
+-      private
+-
+-      def add_columns
+-        cell = CellRendererPixbuf.new
+-        column = TreeViewColumn.new('Icon', cell,
+-          'pixbuf'      => ICON_COL
+-        )
+-        append_column(column)
+-
+-        cell = CellRendererText.new
+-        column = TreeViewColumn.new('Type', cell,
+-          'text'      => TYPE_COL
+-        )
+-        append_column(column)
+-
+-        cell = CellRendererText.new
+-        cell.editable = true
+-        column = TreeViewColumn.new('Content', cell,
+-          'text'       => CONTENT_COL
+-        )
+-        cell.signal_connect(:edited, &method(:cell_edited))
+-        append_column(column)
+-      end
+-
+-      def unify_key(iter, key)
+-        return unless iter.type == 'Key'
+-        parent = iter.parent
+-        if parent.any? { |c| c != iter and c.content == key }
+-          old_key = key
+-          i = 0
+-          begin
+-            key = sprintf("%s.%d", old_key, i += 1)
+-          end while parent.any? { |c| c != iter and c.content == key }
+-        end
+-        iter.content = key
+-      end
+-
+-      def cell_edited(cell, path, value)
+-        iter = model.get_iter(path)
+-        case iter.type
+-        when 'Key'
+-          unify_key(iter, value)
+-          toplevel.display_status('Key has been changed.')
+-        when 'FalseClass'
+-          value.downcase!
+-          if value == 'true'
+-            iter.type, iter.content = 'TrueClass', 'true'
+-          end
+-        when 'TrueClass'
+-          value.downcase!
+-          if value == 'false'
+-            iter.type, iter.content = 'FalseClass', 'false'
+-          end
+-        when 'Numeric'
+-          iter.content =
+-            if value == 'Infinity'
+-              value
+-            else
+-              (Integer(value) rescue Float(value) rescue 0).to_s
+-            end
+-        when 'String'
+-          iter.content = value
+-        when 'Hash', 'Array'
+-          return
+-        else
+-          fail "Unknown type found in model: #{iter.type}"
+-        end
+-        window.change
+-      end
+-
+-      def configure_value(value, type)
+-        value.editable = false
+-        case type
+-        when 'Array', 'Hash'
+-          value.text = ''
+-        when 'TrueClass'
+-          value.text = 'true'
+-        when 'FalseClass'
+-          value.text = 'false'
+-        when 'NilClass'
+-          value.text = 'null'
+-        when 'Numeric', 'String'
+-          value.text ||= ''
+-          value.editable = true
+-        else
+-          raise ArgumentError, "unknown type '#{type}' encountered"
+-        end
+-      end
+-
+-      def add_popup_menu
+-        menu = PopUpMenu.new(self)
+-        menu.create
+-      end
+-
+-      public
+-
+-      # Create a _type_ node with content _content_, and add it to _parent_
+-      # in the model. If _parent_ is nil, create a new model and put it into
+-      # the editor treeview.
+-      def create_node(parent, type, content)
+-        iter = if parent
+-          model.append(parent)
+-        else
+-          new_model = Editor.data2model(nil)
+-          toplevel.view_new_model(new_model)
+-          new_model.iter_first
+-        end
+-        iter.type, iter.content = type, content
+-        expand_collapse(parent) if parent
+-        iter
+-      end
+-
+-      # Ask for a hash key, value pair to be added to the Hash node _parent_.
+-      def ask_for_hash_pair(parent)
+-        key_input = type_input = value_input = nil
+-
+-        dialog = Dialog.new("New (key, value) pair for Hash", nil, nil,
+-          [ Stock::OK, Dialog::RESPONSE_ACCEPT ],
+-          [ Stock::CANCEL, Dialog::RESPONSE_REJECT ]
+-        )
+-        dialog.width_request = 640
+-
+-        hbox = HBox.new(false, 5)
+-        hbox.pack_start(Label.new("Key:"), false)
+-        hbox.pack_start(key_input = Entry.new)
+-        key_input.text = @key || ''
+-        dialog.vbox.pack_start(hbox, false)
+-        key_input.signal_connect(:activate) do
+-          if parent.any? { |c| c.content == key_input.text }
+-            toplevel.display_status('Key already exists in Hash!')
+-            key_input.text = ''
+-          else
+-            toplevel.display_status('Key has been changed.')
+-          end
+-        end
+-
+-        hbox = HBox.new(false, 5)
+-        hbox.pack_start(Label.new("Type:"), false)
+-        hbox.pack_start(type_input = ComboBox.new(true))
+-        ALL_TYPES.each { |t| type_input.append_text(t) }
+-        type_input.active = @type || 0
+-        dialog.vbox.pack_start(hbox, false)
+-
+-        type_input.signal_connect(:changed) do
+-          value_input.editable = false
+-          case ALL_TYPES[type_input.active]
+-          when 'Array', 'Hash'
+-            value_input.text = ''
+-          when 'TrueClass'
+-            value_input.text = 'true'
+-          when 'FalseClass'
+-            value_input.text = 'false'
+-          when 'NilClass'
+-            value_input.text = 'null'
+-          else
+-            value_input.text = ''
+-            value_input.editable = true
+-          end
+-        end
+-
+-        hbox = HBox.new(false, 5)
+-        hbox.pack_start(Label.new("Value:"), false)
+-        hbox.pack_start(value_input = Entry.new)
+-        value_input.width_chars = 60
+-        value_input.text = @value || ''
+-        dialog.vbox.pack_start(hbox, false)
+-
+-        dialog.signal_connect(:'key-press-event', &DEFAULT_DIALOG_KEY_PRESS_HANDLER)
+-        dialog.show_all
+-        self.focus = dialog
+-        dialog.run do |response| 
+-          if response == Dialog::RESPONSE_ACCEPT
+-            @key = key_input.text
+-            type = ALL_TYPES[@type = type_input.active]
+-            content = value_input.text
+-            return @key, type, content
+-          end
+-        end
+-        return
+-      ensure
+-        dialog.destroy
+-      end
+-
+-      # Ask for an element to be appended _parent_.
+-      def ask_for_element(parent = nil, default_type = nil, value_text = @content)
+-        type_input = value_input = nil
+-
+-        dialog = Dialog.new(
+-          "New element into #{parent ? parent.type : 'root'}",
+-          nil, nil,
+-          [ Stock::OK, Dialog::RESPONSE_ACCEPT ],
+-          [ Stock::CANCEL, Dialog::RESPONSE_REJECT ]
+-        )
+-        hbox = HBox.new(false, 5)
+-        hbox.pack_start(Label.new("Type:"), false)
+-        hbox.pack_start(type_input = ComboBox.new(true))
+-        default_active = 0
+-        types = parent ? ALL_TYPES : CONTAINER_TYPES
+-        types.each_with_index do |t, i|
+-          type_input.append_text(t)
+-          if t == default_type
+-            default_active = i
+-          end
+-        end
+-        type_input.active = default_active
+-        dialog.vbox.pack_start(hbox, false)
+-        type_input.signal_connect(:changed) do
+-          configure_value(value_input, types[type_input.active])
+-        end
+-
+-        hbox = HBox.new(false, 5)
+-        hbox.pack_start(Label.new("Value:"), false)
+-        hbox.pack_start(value_input = Entry.new)
+-        value_input.width_chars = 60
+-        value_input.text = value_text if value_text
+-        configure_value(value_input, types[type_input.active])
+-
+-        dialog.vbox.pack_start(hbox, false)
+-
+-        dialog.signal_connect(:'key-press-event', &DEFAULT_DIALOG_KEY_PRESS_HANDLER)
+-        dialog.show_all
+-        self.focus = dialog
+-        dialog.run do |response| 
+-          if response == Dialog::RESPONSE_ACCEPT
+-            type = types[type_input.active]
+-            @content = case type
+-            when 'Numeric'
+-              if (t = value_input.text) == 'Infinity'
+-                1 / 0.0
+-              else
+-                Integer(t) rescue Float(t) rescue 0
+-              end
+-            else
+-              value_input.text
+-            end.to_s
+-            return type, @content
+-          end
+-        end
+-        return
+-      ensure
+-        dialog.destroy if dialog
+-      end
+-
+-      # Ask for an order criteria for sorting, using _x_ for the element in
+-      # question. Returns the order criterium, and true/false for reverse
+-      # sorting.
+-      def ask_for_order
+-        dialog = Dialog.new(
+-          "Give an order criterium for 'x'.",
+-          nil, nil,
+-          [ Stock::OK, Dialog::RESPONSE_ACCEPT ],
+-          [ Stock::CANCEL, Dialog::RESPONSE_REJECT ]
+-        )
+-        hbox = HBox.new(false, 5)
+-
+-        hbox.pack_start(Label.new("Order:"), false)
+-        hbox.pack_start(order_input = Entry.new)
+-        order_input.text = @order || 'x'
+-        order_input.width_chars = 60
+-
+-        hbox.pack_start(reverse_checkbox = CheckButton.new('Reverse'), false)
+-
+-        dialog.vbox.pack_start(hbox, false)
+-
+-        dialog.signal_connect(:'key-press-event', &DEFAULT_DIALOG_KEY_PRESS_HANDLER)
+-        dialog.show_all
+-        self.focus = dialog
+-        dialog.run do |response| 
+-          if response == Dialog::RESPONSE_ACCEPT
+-            return @order = order_input.text, reverse_checkbox.active?
+-          end
+-        end
+-        return
+-      ensure
+-        dialog.destroy if dialog
+-      end
+-
+-      # Ask for a find term to search for in the tree. Returns the term as a
+-      # string.
+-      def ask_for_find_term(search = nil)
+-        dialog = Dialog.new(
+-          "Find a node matching regex in tree.",
+-          nil, nil,
+-          [ Stock::OK, Dialog::RESPONSE_ACCEPT ],
+-          [ Stock::CANCEL, Dialog::RESPONSE_REJECT ]
+-        )
+-        hbox = HBox.new(false, 5)
+-
+-        hbox.pack_start(Label.new("Regex:"), false)
+-        hbox.pack_start(regex_input = Entry.new)
+-        hbox.pack_start(icase_checkbox = CheckButton.new('Icase'), false)
+-        regex_input.width_chars = 60
+-        if search
+-          regex_input.text = search.source
+-          icase_checkbox.active = search.casefold?
+-        end
+-
+-        dialog.vbox.pack_start(hbox, false)
+-
+-        dialog.signal_connect(:'key-press-event', &DEFAULT_DIALOG_KEY_PRESS_HANDLER)
+-        dialog.show_all
+-        self.focus = dialog
+-        dialog.run do |response| 
+-          if response == Dialog::RESPONSE_ACCEPT
+-            begin
+-              return Regexp.new(regex_input.text, icase_checkbox.active? ? Regexp::IGNORECASE : 0)
+-            rescue => e
+-              Editor.error_dialog(self, "Evaluation of regex /#{regex_input.text}/ failed: #{e}!")
+-              return
+-            end
+-          end
+-        end
+-        return
+-      ensure
+-        dialog.destroy if dialog
+-      end
+-
+-      # Expand or collapse row pointed to by _iter_ according
+-      # to the #expanded attribute.
+-      def expand_collapse(iter)
+-        if expanded
+-          expand_row(iter.path, true)
+-        else
+-          collapse_row(iter.path)
+-        end
+-      end
+-    end
+-
+-    # The editor main window
+-    class MainWindow < Gtk::Window
+-      include Gtk
+-
+-      def initialize(encoding)
+-        @changed  = false
+-        @encoding = encoding
+-        super(TOPLEVEL)
+-        display_title
+-        set_default_size(800, 600)
+-        signal_connect(:delete_event) { quit }
+-
+-        vbox = VBox.new(false, 0)
+-        add(vbox)
+-        #vbox.border_width = 0
+-
+-        @treeview = JSONTreeView.new(self)
+-        @treeview.signal_connect(:'cursor-changed') do
+-          display_status('')
+-        end
+-
+-        menu_bar = create_menu_bar
+-        vbox.pack_start(menu_bar, false, false, 0)
+-
+-        sw = ScrolledWindow.new(nil, nil)
+-        sw.shadow_type = SHADOW_ETCHED_IN
+-        sw.set_policy(POLICY_AUTOMATIC, POLICY_AUTOMATIC)
+-        vbox.pack_start(sw, true, true, 0)
+-        sw.add(@treeview)
+-
+-        @status_bar = Statusbar.new
+-        vbox.pack_start(@status_bar, false, false, 0)
+-
+-        @filename ||= nil
+-        if @filename
+-          data = read_data(@filename)
+-          view_new_model Editor.data2model(data)
+-        end
+-
+-        signal_connect(:button_release_event) do |_,event|
+-          if event.button == 2
+-            c = Gtk::Clipboard.get(Gdk::Selection::PRIMARY)
+-            if url = c.wait_for_text
+-              location_open url
+-            end
+-            false
+-          else
+-            true
+-          end
+-        end
+-      end
+-
+-      # Creates the menu bar with the pulldown menus and returns it.
+-      def create_menu_bar
+-        menu_bar = MenuBar.new
+-        @file_menu = FileMenu.new(@treeview)
+-        menu_bar.append @file_menu.create
+-        @edit_menu = EditMenu.new(@treeview)
+-        menu_bar.append @edit_menu.create
+-        @options_menu = OptionsMenu.new(@treeview)
+-        menu_bar.append @options_menu.create
+-        menu_bar
+-      end
+-
+-      # Sets editor status to changed, to indicate that the edited data
+-      # containts unsaved changes.
+-      def change
+-        @changed = true
+-        display_title
+-      end
+-
+-      # Sets editor status to unchanged, to indicate that the edited data
+-      # doesn't containt unsaved changes.
+-      def unchange
+-        @changed = false
+-        display_title
+-      end
+-
+-      # Puts a new model _model_ into the Gtk::TreeView to be edited.
+-      def view_new_model(model)
+-        @treeview.model     = model
+-        @treeview.expanded  = true
+-        @treeview.expand_all
+-        unchange
+-      end
+-
+-      # Displays _text_ in the status bar.
+-      def display_status(text)
+-        @cid ||= nil
+-        @status_bar.pop(@cid) if @cid
+-        @cid = @status_bar.get_context_id('dummy')
+-        @status_bar.push(@cid, text)
+-      end
+-
+-      # Opens a dialog, asking, if changes should be saved to a file.
+-      def ask_save
+-        if Editor.question_dialog(self,
+-          "Unsaved changes to JSON model. Save?")
+-          if @filename
+-            file_save
+-          else
+-            file_save_as
+-          end
+-        end
+-      end
+-
+-      # Quit this editor, that is, leave this editor's main loop.
+-      def quit
+-        ask_save if @changed
+-        if Gtk.main_level > 0
+-          destroy
+-          Gtk.main_quit
+-        end
+-        nil
+-      end
+-
+-      # Display the new title according to the editor's current state.
+-      def display_title
+-        title = TITLE.dup
+-        title << ": #@filename" if @filename
+-        title << " *" if @changed
+-        self.title = title
+-      end
+-
+-      # Clear the current model, after asking to save all unsaved changes.
+-      def clear
+-        ask_save if @changed
+-        @filename = nil
+-        self.view_new_model nil
+-      end
+-
+-      def check_pretty_printed(json)
+-        pretty = !!((nl_index = json.index("\n")) && nl_index != json.size - 1)
+-        @options_menu.pretty_item.active = pretty
+-      end
+-      private :check_pretty_printed
+-
+-      # Open the data at the location _uri_, if given. Otherwise open a dialog
+-      # to ask for the _uri_.
+-      def location_open(uri = nil)
+-        uri = ask_for_location unless uri
+-        uri or return
+-        ask_save if @changed
+-        data = load_location(uri) or return
+-        view_new_model Editor.data2model(data)
+-      end
+-
+-      # Open the file _filename_ or call the #select_file method to ask for a
+-      # filename.
+-      def file_open(filename = nil)
+-        filename = select_file('Open as a JSON file') unless filename
+-        data = load_file(filename) or return
+-        view_new_model Editor.data2model(data)
+-      end
+-
+-      # Edit the string _json_ in the editor.
+-      def edit(json)
+-        if json.respond_to? :read
+-          json = json.read
+-        end
+-        data = parse_json json
+-        view_new_model Editor.data2model(data)
+-      end
+-
+-      # Save the current file.
+-      def file_save
+-        if @filename
+-          store_file(@filename)
+-        else
+-          file_save_as
+-        end
+-      end
+-
+-      # Save the current file as the filename 
+-      def file_save_as
+-        filename = select_file('Save as a JSON file')
+-        store_file(filename)
+-      end
+-
+-      # Store the current JSON document to _path_.
+-      def store_file(path)
+-        if path
+-          data = Editor.model2data(@treeview.model.iter_first)
+-          File.open(path + '.tmp', 'wb') do |output|
+-            data or break
+-            if @options_menu.pretty_item.active?
+-              output.puts JSON.pretty_generate(data, :max_nesting => false)
+-            else
+-              output.write JSON.generate(data, :max_nesting => false)
+-            end
+-          end
+-          File.rename path + '.tmp', path
+-          @filename = path
+-          toplevel.display_status("Saved data to '#@filename'.")
+-          unchange
+-        end
+-      rescue SystemCallError => e
+-        Editor.error_dialog(self, "Failed to store JSON file: #{e}!")
+-      end
+-  
+-      # Load the file named _filename_ into the editor as a JSON document.
+-      def load_file(filename)
+-        if filename
+-          if File.directory?(filename)
+-            Editor.error_dialog(self, "Try to select a JSON file!")
+-            nil
+-          else
+-            @filename = filename
+-            if data = read_data(filename)
+-              toplevel.display_status("Loaded data from '#@filename'.")
+-            end
+-            display_title
+-            data
+-          end
+-        end
+-      end
+-
+-      # Load the data at location _uri_ into the editor as a JSON document.
+-      def load_location(uri)
+-        data = read_data(uri) or return
+-        @filename = nil
+-        toplevel.display_status("Loaded data from '#{uri}'.")
+-        display_title
+-        data
+-      end
+-
+-      def parse_json(json)
+-        check_pretty_printed(json)
+-        if @encoding && !/^utf8$/i.match(@encoding)
+-          json = JSON.iconv 'utf-8', @encoding, json
+-        end
+-        JSON::parse(json, :max_nesting => false, :create_additions => false)
+-      end
+-      private :parse_json
+-
+-      # Read a JSON document from the file named _filename_, parse it into a
+-      # ruby data structure, and return the data.
+-      def read_data(filename)
+-        open(filename) do |f|
+-          json = f.read
+-          return parse_json(json)
+-        end
+-      rescue => e
+-        Editor.error_dialog(self, "Failed to parse JSON file: #{e}!")
+-        return
+-      end
+-
+-      # Open a file selecton dialog, displaying _message_, and return the
+-      # selected filename or nil, if no file was selected.
+-      def select_file(message)
+-        filename = nil
+-        fs = FileSelection.new(message)
+-        fs.set_modal(true)
+-        @default_dir = File.join(Dir.pwd, '') unless @default_dir
+-        fs.set_filename(@default_dir)
+-        fs.set_transient_for(self)
+-        fs.signal_connect(:destroy) { Gtk.main_quit }
+-        fs.ok_button.signal_connect(:clicked) do
+-          filename = fs.filename
+-          @default_dir = File.join(File.dirname(filename), '')
+-          fs.destroy
+-          Gtk.main_quit
+-        end
+-        fs.cancel_button.signal_connect(:clicked) do
+-          fs.destroy
+-          Gtk.main_quit
+-        end
+-        fs.show_all
+-        Gtk.main
+-        filename
+-      end
+-
+-      # Ask for location URI a to load data from. Returns the URI as a string.
+-      def ask_for_location
+-        dialog = Dialog.new(
+-          "Load data from location...",
+-          nil, nil,
+-          [ Stock::OK, Dialog::RESPONSE_ACCEPT ],
+-          [ Stock::CANCEL, Dialog::RESPONSE_REJECT ]
+-        )
+-        hbox = HBox.new(false, 5)
+-
+-        hbox.pack_start(Label.new("Location:"), false)
+-        hbox.pack_start(location_input = Entry.new)
+-        location_input.width_chars = 60
+-        location_input.text = @location || ''
+-
+-        dialog.vbox.pack_start(hbox, false)
+-
+-        dialog.signal_connect(:'key-press-event', &DEFAULT_DIALOG_KEY_PRESS_HANDLER)
+-        dialog.show_all
+-        dialog.run do |response| 
+-          if response == Dialog::RESPONSE_ACCEPT
+-            return @location = location_input.text
+-          end
+-        end
+-        return
+-      ensure
+-        dialog.destroy if dialog
+-      end
+-    end
+-
+-    class << self
+-      # Starts a JSON Editor. If a block was given, it yields
+-      # to the JSON::Editor::MainWindow instance.
+-      def start(encoding = 'utf8') # :yield: window
+-        Gtk.init
+-        @window = Editor::MainWindow.new(encoding)
+-        @window.icon_list = [ Editor.fetch_icon('json') ]
+-        yield @window if block_given?
+-        @window.show_all
+-        Gtk.main
+-      end
+-
+-      # Edit the string _json_ with encoding _encoding_ in the editor.
+-      def edit(json, encoding = 'utf8')
+-        start(encoding) do |window|
+-          window.edit json
+-        end
+-      end
+-
+-      attr_reader :window
+-    end
+-  end
+-end
+diff --git a/lib/mcollective/vendor/json/lib/json/ext.rb b/lib/mcollective/vendor/json/lib/json/ext.rb
+deleted file mode 100644
+index 1fbc3fd..0000000
+--- a/lib/mcollective/vendor/json/lib/json/ext.rb
++++ /dev/null
+@@ -1,28 +0,0 @@
+-require 'json/common'
+-
+-module JSON
+-  # This module holds all the modules/classes that implement JSON's
+-  # functionality as C extensions.
+-  module Ext
+-    begin
+-      if defined?(RUBY_ENGINE) == 'constant' and RUBY_ENGINE == 'ruby' and RUBY_VERSION =~ /\A1\.9\./
+-        require 'json/ext/1.9/parser'
+-        require 'json/ext/1.9/generator'
+-      elsif !defined?(RUBY_ENGINE) && RUBY_VERSION =~ /\A1\.8\./
+-        require 'json/ext/1.8/parser'
+-        require 'json/ext/1.8/generator'
+-      else
+-        require 'json/ext/parser'
+-        require 'json/ext/generator'
+-      end
+-    rescue LoadError
+-      require 'json/ext/parser'
+-      require 'json/ext/generator'
+-    end
+-    $DEBUG and warn "Using Ext extension for JSON."
+-    JSON.parser = Parser
+-    JSON.generator = Generator
+-  end
+-
+-  JSON_LOADED = true unless defined?(::JSON::JSON_LOADED)
+-end
+diff --git a/lib/mcollective/vendor/json/lib/json/ext/.keep b/lib/mcollective/vendor/json/lib/json/ext/.keep
+deleted file mode 100644
+index e69de29..0000000
+diff --git a/lib/mcollective/vendor/json/lib/json/json.xpm b/lib/mcollective/vendor/json/lib/json/json.xpm
+deleted file mode 100644
+index 2cb626b..0000000
+--- a/lib/mcollective/vendor/json/lib/json/json.xpm
++++ /dev/null
+@@ -1,1499 +0,0 @@
+-/* XPM */
+-static char * json_xpm[] = {
+-"64 64 1432 2",
+-"  	c None",
+-". 	c #641839",
+-"+ 	c #CF163C",
+-"@ 	c #D31C3B",
+-"# 	c #E11A38",
+-"$ 	c #5F242D",
+-"% 	c #320C22",
+-"& 	c #9B532D",
+-"* 	c #F32E34",
+-"= 	c #820F33",
+-"- 	c #4B0F34",
+-"; 	c #8E1237",
+-"> 	c #944029",
+-", 	c #961325",
+-"' 	c #A00C24",
+-") 	c #872C23",
+-"! 	c #694021",
+-"~ 	c #590D1F",
+-"{ 	c #420528",
+-"] 	c #D85A2D",
+-"^ 	c #7E092B",
+-"/ 	c #0E0925",
+-"( 	c #0D081F",
+-"_ 	c #0F081E",
+-": 	c #12071F",
+-"< 	c #360620",
+-"[ 	c #682A21",
+-"} 	c #673F21",
+-"| 	c #780E21",
+-"1 	c #A82320",
+-"2 	c #8D1D1F",
+-"3 	c #970127",
+-"4 	c #0D0123",
+-"5 	c #0D0324",
+-"6 	c #3B1E28",
+-"7 	c #C28429",
+-"8 	c #0C0523",
+-"9 	c #0C041E",
+-"0 	c #0E031A",
+-"a 	c #11031A",
+-"b 	c #13031B",
+-"c 	c #13031C",
+-"d 	c #11031D",
+-"e 	c #19051E",
+-"f 	c #390E20",
+-"g 	c #9C0C20",
+-"h 	c #C00721",
+-"i 	c #980320",
+-"j 	c #14031E",
+-"k 	c #CD9F32",
+-"l 	c #C29F2E",
+-"m 	c #0F0325",
+-"n 	c #0D0321",
+-"o 	c #0E0324",
+-"p 	c #D08329",
+-"q 	c #9D1B27",
+-"r 	c #1C0320",
+-"s 	c #0D011A",
+-"t 	c #120117",
+-"u 	c #130017",
+-"v 	c #150018",
+-"w 	c #160119",
+-"x 	c #17021A",
+-"y 	c #15021B",
+-"z 	c #11021E",
+-"A 	c #0F021F",
+-"B 	c #8C1821",
+-"C 	c #CF4522",
+-"D 	c #831821",
+-"E 	c #BA7033",
+-"F 	c #EDB339",
+-"G 	c #C89733",
+-"H 	c #280727",
+-"I 	c #0F051F",
+-"J 	c #0E0420",
+-"K 	c #591F27",
+-"L 	c #E47129",
+-"M 	c #612224",
+-"N 	c #0C021D",
+-"O 	c #120018",
+-"P 	c #140017",
+-"Q 	c #170017",
+-"R 	c #190018",
+-"S 	c #1B0019",
+-"T 	c #1B011A",
+-"U 	c #18011B",
+-"V 	c #15011C",
+-"W 	c #12031E",
+-"X 	c #460A21",
+-"Y 	c #A13823",
+-"Z 	c #784323",
+-"` 	c #5A0C21",
+-" .	c #BC4530",
+-"..	c #EB5B38",
+-"+.	c #CE4E3B",
+-"@.	c #DD9334",
+-"#.	c #751A27",
+-"$.	c #11071E",
+-"%.	c #0F041C",
+-"&.	c #1E0824",
+-"*.	c #955A28",
+-"=.	c #9A5027",
+-"-.	c #1E0321",
+-";.	c #11011A",
+-">.	c #140018",
+-",.	c #180018",
+-"'.	c #1F001A",
+-").	c #20001B",
+-"!.	c #1E001A",
+-"~.	c #1B001A",
+-"{.	c #16021B",
+-"].	c #16041E",
+-"^.	c #220622",
+-"/.	c #5F3525",
+-"(.	c #DE5724",
+-"_.	c #611021",
+-":.	c #0F0925",
+-"<.	c #D1892E",
+-"[.	c #F27036",
+-"}.	c #EC633B",
+-"|.	c #DA293C",
+-"1.	c #E64833",
+-"2.	c #912226",
+-"3.	c #11081C",
+-"4.	c #110419",
+-"5.	c #0F041E",
+-"6.	c #451425",
+-"7.	c #BF6F28",
+-"8.	c #332225",
+-"9.	c #0E021E",
+-"0.	c #13001B",
+-"a.	c #17001A",
+-"b.	c #1C001B",
+-"c.	c #21001C",
+-"d.	c #23001C",
+-"e.	c #21001B",
+-"f.	c #19021A",
+-"g.	c #17041E",
+-"h.	c #150721",
+-"i.	c #602424",
+-"j.	c #D51223",
+-"k.	c #540820",
+-"l.	c #D04D2D",
+-"m.	c #EA8933",
+-"n.	c #875637",
+-"o.	c #88543A",
+-"p.	c #E5923A",
+-"q.	c #891931",
+-"r.	c #130B25",
+-"s.	c #10051B",
+-"t.	c #110217",
+-"u.	c #12021A",
+-"v.	c #761826",
+-"w.	c #E2A728",
+-"x.	c #300224",
+-"y.	c #10011E",
+-"z.	c #16001B",
+-"A.	c #1B001B",
+-"B.	c #21001A",
+-"C.	c #1E0019",
+-"D.	c #1D0019",
+-"E.	c #1A011A",
+-"F.	c #17031C",
+-"G.	c #120720",
+-"H.	c #4E0822",
+-"I.	c #670721",
+-"J.	c #C07630",
+-"K.	c #F59734",
+-"L.	c #BE1B35",
+-"M.	c #0E1435",
+-"N.	c #522037",
+-"O.	c #DB8039",
+-"P.	c #D45933",
+-"Q.	c #420927",
+-"R.	c #0F041D",
+-"S.	c #140118",
+-"T.	c #13021D",
+-"U.	c #100423",
+-"V.	c #7B6227",
+-"W.	c #C04326",
+-"X.	c #0E0020",
+-"Y.	c #13001D",
+-"Z.	c #18001B",
+-"`.	c #1E001B",
+-" +	c #22001C",
+-".+	c #22001B",
+-"++	c #1B011B",
+-"@+	c #16041D",
+-"#+	c #130520",
+-"$+	c #860521",
+-"%+	c #710520",
+-"&+	c #670A2A",
+-"*+	c #A66431",
+-"=+	c #E97536",
+-"-+	c #F8833A",
+-";+	c #F77A3A",
+-">+	c #C45337",
+-",+	c #0A1C35",
+-"'+	c #993638",
+-")+	c #F7863B",
+-"!+	c #F49736",
+-"~+	c #94462B",
+-"{+	c #0E031F",
+-"]+	c #130119",
+-"^+	c #160018",
+-"/+	c #16011B",
+-"(+	c #15021F",
+-"_+	c #120123",
+-":+	c #A65C28",
+-"<+	c #5C4D23",
+-"[+	c #0F001F",
+-"}+	c #14001D",
+-"|+	c #1A001B",
+-"1+	c #1F001B",
+-"2+	c #24001D",
+-"3+	c #25001D",
+-"4+	c #24001C",
+-"5+	c #1F001C",
+-"6+	c #1A011C",
+-"7+	c #16021E",
+-"8+	c #3F0421",
+-"9+	c #BC0522",
+-"0+	c #1C041E",
+-"a+	c #7F5531",
+-"b+	c #E68A38",
+-"c+	c #F8933E",
+-"d+	c #FA7942",
+-"e+	c #FB7543",
+-"f+	c #FA6F41",
+-"g+	c #F1793D",
+-"h+	c #7D3B3A",
+-"i+	c #28263B",
+-"j+	c #D45441",
+-"k+	c #F8A238",
+-"l+	c #996B2D",
+-"m+	c #0E0421",
+-"n+	c #12011A",
+-"o+	c #180019",
+-"p+	c #17001C",
+-"q+	c #12001F",
+-"r+	c #4C2B2A",
+-"s+	c #DB8130",
+-"t+	c #540023",
+-"u+	c #0F0120",
+-"v+	c #16011C",
+-"w+	c #22001D",
+-"x+	c #25001F",
+-"y+	c #26001F",
+-"z+	c #25001E",
+-"A+	c #24001E",
+-"B+	c #1D001C",
+-"C+	c #18011D",
+-"D+	c #16031F",
+-"E+	c #3C0522",
+-"F+	c #9B0821",
+-"G+	c #13041E",
+-"H+	c #F6462E",
+-"I+	c #E6AB37",
+-"J+	c #E7A03E",
+-"K+	c #FA9F44",
+-"L+	c #FB8A48",
+-"M+	c #FD7A4A",
+-"N+	c #FD794A",
+-"O+	c #FD7748",
+-"P+	c #FD7E45",
+-"Q+	c #FD8343",
+-"R+	c #FB5D42",
+-"S+	c #6E3A40",
+-"T+	c #EE8A37",
+-"U+	c #7E252B",
+-"V+	c #100520",
+-"W+	c #13011A",
+-"X+	c #170019",
+-"Y+	c #15001C",
+-"Z+	c #0F0020",
+-"`+	c #564427",
+-" @	c #E0BA29",
+-".@	c #5E2B25",
+-"+@	c #10011F",
+-"@@	c #17011C",
+-"#@	c #1E001D",
+-"$@	c #23001F",
+-"%@	c #250020",
+-"&@	c #24001F",
+-"*@	c #23001E",
+-"=@	c #21001E",
+-"-@	c #1B001C",
+-";@	c #17021D",
+-">@	c #14041E",
+-",@	c #AC0B25",
+-"'@	c #5E1420",
+-")@	c #F28635",
+-"!@	c #C2733E",
+-"~@	c #984C44",
+-"{@	c #EA9148",
+-"]@	c #FB844B",
+-"^@	c #FD7E4C",
+-"/@	c #FE7E4C",
+-"(@	c #FE7E4B",
+-"_@	c #FE7749",
+-":@	c #FD7148",
+-"<@	c #FB7D46",
+-"[@	c #F89641",
+-"}@	c #B95634",
+-"|@	c #0D0927",
+-"1@	c #11041D",
+-"2@	c #150119",
+-"3@	c #180017",
+-"4@	c #16001A",
+-"5@	c #13001E",
+-"6@	c #110023",
+-"7@	c #944C29",
+-"8@	c #EE6229",
+-"9@	c #3D0324",
+-"0@	c #12021F",
+-"a@	c #19011D",
+-"b@	c #21001F",
+-"c@	c #22001F",
+-"d@	c #20001E",
+-"e@	c #1F001D",
+-"f@	c #1C001C",
+-"g@	c #19011C",
+-"h@	c #3D1621",
+-"i@	c #B53622",
+-"j@	c #31061F",
+-"k@	c #841D34",
+-"l@	c #F2703F",
+-"m@	c #C14445",
+-"n@	c #E67349",
+-"o@	c #FB8E4B",
+-"p@	c #FD834C",
+-"q@	c #FE834D",
+-"r@	c #FE834C",
+-"s@	c #FE804C",
+-"t@	c #FD814B",
+-"u@	c #FB7D49",
+-"v@	c #F79B43",
+-"w@	c #AF1234",
+-"x@	c #0D0625",
+-"y@	c #13021C",
+-"z@	c #1A0019",
+-"A@	c #190019",
+-"B@	c #410225",
+-"C@	c #D39729",
+-"D@	c #AA5927",
+-"E@	c #0E0422",
+-"F@	c #15021E",
+-"G@	c #1A011D",
+-"H@	c #1D001D",
+-"I@	c #15031D",
+-"J@	c #240820",
+-"K@	c #A01023",
+-"L@	c #670B21",
+-"M@	c #3D0D33",
+-"N@	c #E63C3E",
+-"O@	c #EF7C45",
+-"P@	c #F59048",
+-"Q@	c #FB944A",
+-"R@	c #FD904A",
+-"S@	c #FE8E4B",
+-"T@	c #FE854A",
+-"U@	c #FE854B",
+-"V@	c #FE884C",
+-"W@	c #FC954B",
+-"X@	c #F8AB45",
+-"Y@	c #C37A35",
+-"Z@	c #0D0425",
+-"`@	c #13011B",
+-" #	c #170018",
+-".#	c #1A0018",
+-"+#	c #1C0019",
+-"@#	c #15001B",
+-"##	c #100120",
+-"$#	c #311F25",
+-"%#	c #E68E28",
+-"&#	c #7A1425",
+-"*#	c #130321",
+-"=#	c #17011E",
+-"-#	c #1A001D",
+-";#	c #19001B",
+-">#	c #16021C",
+-",#	c #130521",
+-"'#	c #6F3123",
+-")#	c #6D3022",
+-"!#	c #C89433",
+-"~#	c #EA7E3E",
+-"{#	c #DB2943",
+-"]#	c #EF7745",
+-"^#	c #FB8544",
+-"/#	c #FD9A43",
+-"(#	c #FE9941",
+-"_#	c #FE9D43",
+-":#	c #FEA548",
+-"<#	c #FEAE49",
+-"[#	c #FCB944",
+-"}#	c #CA9F35",
+-"|#	c #0E0225",
+-"1#	c #11001B",
+-"2#	c #160019",
+-"3#	c #12011B",
+-"4#	c #0F0220",
+-"5#	c #351D26",
+-"6#	c #D85B28",
+-"7#	c #6C0F26",
+-"8#	c #190121",
+-"9#	c #1B001E",
+-"0#	c #1A001C",
+-"a#	c #1D001B",
+-"b#	c #130220",
+-"c#	c #703A23",
+-"d#	c #713A23",
+-"e#	c #140327",
+-"f#	c #411B36",
+-"g#	c #C8713E",
+-"h#	c #7A3A3F",
+-"i#	c #CE2C3C",
+-"j#	c #E77338",
+-"k#	c #9C6535",
+-"l#	c #9C6233",
+-"m#	c #9C6332",
+-"n#	c #9C6A35",
+-"o#	c #C37D3C",
+-"p#	c #FEAC41",
+-"q#	c #FEC23E",
+-"r#	c #826330",
+-"s#	c #100122",
+-"t#	c #120019",
+-"u#	c #150017",
+-"v#	c #190017",
+-"w#	c #1B0018",
+-"x#	c #12001A",
+-"y#	c #10021F",
+-"z#	c #1A0326",
+-"A#	c #5F292A",
+-"B#	c #7B4E29",
+-"C#	c #3C0E25",
+-"D#	c #1A0020",
+-"E#	c #14021F",
+-"F#	c #723B23",
+-"G#	c #14001A",
+-"H#	c #58042A",
+-"I#	c #A28337",
+-"J#	c #C8813B",
+-"K#	c #B14B38",
+-"L#	c #761231",
+-"M#	c #5A132A",
+-"N#	c #0D0726",
+-"O#	c #0C0623",
+-"P#	c #0B0723",
+-"Q#	c #0B0A26",
+-"R#	c #321C2D",
+-"S#	c #C45B33",
+-"T#	c #FEBB33",
+-"U#	c #13052A",
+-"V#	c #13011F",
+-"W#	c #160017",
+-"X#	c #15001A",
+-"Y#	c #12001D",
+-"Z#	c #94062A",
+-"`#	c #630D2C",
+-" $	c #85292B",
+-".$	c #AA5E29",
+-"+$	c #1F0123",
+-"@$	c #19011F",
+-"#$	c #1E001C",
+-"$$	c #15031F",
+-"%$	c #712122",
+-"&$	c #712223",
+-"*$	c #14011B",
+-"=$	c #110321",
+-"-$	c #AF0C2B",
+-";$	c #E7D534",
+-">$	c #EAC934",
+-",$	c #84582D",
+-"'$	c #1B0824",
+-")$	c #11041E",
+-"!$	c #10021B",
+-"~$	c #100119",
+-"{$	c #100218",
+-"]$	c #0F041A",
+-"^$	c #0E0720",
+-"/$	c #2C1026",
+-"($	c #D8A328",
+-"_$	c #140322",
+-":$	c #160016",
+-"<$	c #14001F",
+-"[$	c #120024",
+-"}$	c #100128",
+-"|$	c #3C032F",
+-"1$	c #2C062E",
+-"2$	c #29022B",
+-"3$	c #A31D29",
+-"4$	c #976A25",
+-"5$	c #1A0321",
+-"6$	c #17031E",
+-"7$	c #1B021D",
+-"8$	c #20001C",
+-"9$	c #14041F",
+-"0$	c #703422",
+-"a$	c #6F3522",
+-"b$	c #8D0328",
+-"c$	c #920329",
+-"d$	c #0F0326",
+-"e$	c #100321",
+-"f$	c #11021B",
+-"g$	c #130117",
+-"h$	c #140016",
+-"i$	c #150015",
+-"j$	c #140015",
+-"k$	c #130116",
+-"l$	c #120219",
+-"m$	c #11031C",
+-"n$	c #12031D",
+-"o$	c #170016",
+-"p$	c #160020",
+-"q$	c #250029",
+-"r$	c #670033",
+-"s$	c #DCA238",
+-"t$	c #F5C736",
+-"u$	c #9A732E",
+-"v$	c #110227",
+-"w$	c #110324",
+-"x$	c #811924",
+-"y$	c #A04323",
+-"z$	c #250721",
+-"A$	c #1A041F",
+-"B$	c #1E011D",
+-"C$	c #1C011C",
+-"D$	c #18031D",
+-"E$	c #130721",
+-"F$	c #6F3623",
+-"G$	c #6B3622",
+-"H$	c #1A001A",
+-"I$	c #14011F",
+-"J$	c #12011E",
+-"K$	c #11011C",
+-"L$	c #140117",
+-"M$	c #170015",
+-"N$	c #150016",
+-"O$	c #120119",
+-"P$	c #11011B",
+-"Q$	c #11001A",
+-"R$	c #130018",
+-"S$	c #170118",
+-"T$	c #170119",
+-"U$	c #18021E",
+-"V$	c #1A0126",
+-"W$	c #6F2332",
+-"X$	c #E5563B",
+-"Y$	c #F1B83F",
+-"Z$	c #F6CC38",
+-"`$	c #9D7A2D",
+-" %	c #130123",
+-".%	c #130320",
+-"+%	c #2A0721",
+-"@%	c #B00E24",
+-"#%	c #7D0B23",
+-"$%	c #1F0522",
+-"%%	c #1E0220",
+-"&%	c #1D011E",
+-"*%	c #1A031E",
+-"=%	c #15051F",
+-"-%	c #241322",
+-";%	c #A32F23",
+-">%	c #670E21",
+-",%	c #1C001A",
+-"'%	c #19001A",
+-")%	c #180016",
+-"!%	c #160118",
+-"~%	c #140219",
+-"{%	c #11021C",
+-"]%	c #10021E",
+-"^%	c #0F011D",
+-"/%	c #170117",
+-"(%	c #160219",
+-"_%	c #17041D",
+-":%	c #190523",
+-"<%	c #8C042E",
+-"[%	c #B65838",
+-"}%	c #E9D73F",
+-"|%	c #EED43E",
+-"1%	c #D85538",
+-"2%	c #493129",
+-"3%	c #130120",
+-"4%	c #15021D",
+-"5%	c #330822",
+-"6%	c #8A0825",
+-"7%	c #3C0424",
+-"8%	c #1E0322",
+-"9%	c #1C0321",
+-"0%	c #180421",
+-"a%	c #130822",
+-"b%	c #AF2D24",
+-"c%	c #BC5623",
+-"d%	c #2F071F",
+-"e%	c #1A041C",
+-"f%	c #1C031C",
+-"g%	c #1D011C",
+-"h%	c #160117",
+-"i%	c #150419",
+-"j%	c #12081D",
+-"k%	c #0F0923",
+-"l%	c #A77027",
+-"m%	c #A60525",
+-"n%	c #11021A",
+-"o%	c #130218",
+-"p%	c #150319",
+-"q%	c #16061D",
+-"r%	c #180923",
+-"s%	c #9C1D2B",
+-"t%	c #A32636",
+-"u%	c #A66E3B",
+-"v%	c #4B2E3C",
+-"w%	c #412C36",
+-"x%	c #36012D",
+-"y%	c #140123",
+-"z%	c #17001E",
+-"A%	c #19011B",
+-"B%	c #1A0421",
+-"C%	c #340425",
+-"D%	c #9E0326",
+-"E%	c #1F0424",
+-"F%	c #1C0524",
+-"G%	c #180724",
+-"H%	c #A91024",
+-"I%	c #D55D24",
+-"J%	c #90071E",
+-"K%	c #3C051D",
+-"L%	c #1C021C",
+-"M%	c #1C011A",
+-"N%	c #1D001A",
+-"O%	c #160116",
+-"P%	c #150216",
+-"Q%	c #140217",
+-"R%	c #140618",
+-"S%	c #120D1D",
+-"T%	c #231925",
+-"U%	c #B16A2E",
+-"V%	c #FDAC34",
+-"W%	c #D58631",
+-"X%	c #280E2A",
+-"Y%	c #0D0A23",
+-"Z%	c #0F0920",
+-"`%	c #120C21",
+-" &	c #1F1026",
+-".&	c #A3352E",
+-"+&	c #EE9F36",
+-"@&	c #5D2A3C",
+-"#&	c #960D3C",
+-"$&	c #970638",
+-"%&	c #A00330",
+-"&&	c #4D0126",
+-"*&	c #1C001F",
+-"=&	c #280120",
+-"-&	c #290223",
+-";&	c #1F0425",
+-">&	c #260726",
+-",&	c #340A26",
+-"'&	c #850925",
+-")&	c #3A0823",
+-"!&	c #82071D",
+-"~&	c #5E071D",
+-"{&	c #18051C",
+-"]&	c #18021A",
+-"^&	c #190118",
+-"/&	c #160217",
+-"(&	c #150418",
+-"_&	c #130618",
+-":&	c #110718",
+-"<&	c #10081A",
+-"[&	c #110D1D",
+-"}&	c #291C24",
+-"|&	c #A73B2D",
+-"1&	c #FD6B36",
+-"2&	c #FD853C",
+-"3&	c #FD863B",
+-"4&	c #C24A35",
+-"5&	c #6B442F",
+-"6&	c #6D302D",
+-"7&	c #6E252E",
+-"8&	c #8E3B32",
+-"9&	c #DE7739",
+-"0&	c #F48E3F",
+-"a&	c #DD8D41",
+-"b&	c #854F3D",
+-"c&	c #7E2D35",
+-"d&	c #33082B",
+-"e&	c #1C0222",
+-"f&	c #20001F",
+-"g&	c #1F0222",
+-"h&	c #1A0524",
+-"i&	c #440C27",
+-"j&	c #BC1427",
+-"k&	c #20041B",
+-"l&	c #53061C",
+-"m&	c #25071B",
+-"n&	c #11061A",
+-"o&	c #130418",
+-"p&	c #140317",
+-"q&	c #150217",
+-"r&	c #160318",
+-"s&	c #12051B",
+-"t&	c #100C1D",
+-"u&	c #0E101E",
+-"v&	c #0C121F",
+-"w&	c #0C1321",
+-"x&	c #781725",
+-"y&	c #B25D2C",
+-"z&	c #FA6335",
+-"A&	c #FD633C",
+-"B&	c #FE6D42",
+-"C&	c #FE7C42",
+-"D&	c #FE813F",
+-"E&	c #FE873C",
+-"F&	c #FD743B",
+-"G&	c #FB683B",
+-"H&	c #FA7A3E",
+-"I&	c #F98242",
+-"J&	c #F97844",
+-"K&	c #F98943",
+-"L&	c #F79C3D",
+-"M&	c #A25133",
+-"N&	c #280B28",
+-"O&	c #1D021F",
+-"P&	c #1F011C",
+-"Q&	c #280321",
+-"R&	c #1C0724",
+-"S&	c #3F1C27",
+-"T&	c #D33C27",
+-"U&	c #0E061B",
+-"V&	c #0C091C",
+-"W&	c #0C0A1B",
+-"X&	c #0E091A",
+-"Y&	c #11081B",
+-"Z&	c #100A20",
+-"`&	c #0E0D23",
+-" *	c #551227",
+-".*	c #B21829",
+-"+*	c #C42329",
+-"@*	c #C62C29",
+-"#*	c #C55429",
+-"$*	c #E76F2B",
+-"%*	c #F14232",
+-"&*	c #F95E3A",
+-"**	c #FC6740",
+-"=*	c #FE6E45",
+-"-*	c #FE7246",
+-";*	c #FE7545",
+-">*	c #FE7744",
+-",*	c #FD7745",
+-"'*	c #FD7845",
+-")*	c #FD7847",
+-"!*	c #FD7948",
+-"~*	c #FD7B44",
+-"{*	c #FC7C3B",
+-"]*	c #6F3130",
+-"^*	c #140B24",
+-"/*	c #19031D",
+-"(*	c #1C011B",
+-"_*	c #5A011F",
+-":*	c #B70421",
+-"<*	c #380824",
+-"[*	c #3E2626",
+-"}*	c #9F5626",
+-"|*	c #13051E",
+-"1*	c #360A21",
+-"2*	c #361223",
+-"3*	c #371724",
+-"4*	c #381824",
+-"5*	c #3B1524",
+-"6*	c #3E1E26",
+-"7*	c #471A29",
+-"8*	c #DB252E",
+-"9*	c #ED2733",
+-"0*	c #EE5436",
+-"a*	c #F04237",
+-"b*	c #F33934",
+-"c*	c #F53D2F",
+-"d*	c #D7312B",
+-"e*	c #AF212B",
+-"f*	c #3A2C31",
+-"g*	c #F65F39",
+-"h*	c #FB6F41",
+-"i*	c #FD6D45",
+-"j*	c #FE7047",
+-"k*	c #FE7647",
+-"l*	c #FE7847",
+-"m*	c #FE7848",
+-"n*	c #FE7748",
+-"o*	c #FE7948",
+-"p*	c #FE7C48",
+-"q*	c #FE7C47",
+-"r*	c #FE7642",
+-"s*	c #FE7439",
+-"t*	c #6D332C",
+-"u*	c #100B21",
+-"v*	c #16031B",
+-"w*	c #2B001B",
+-"x*	c #22011F",
+-"y*	c #220521",
+-"z*	c #1B0A23",
+-"A*	c #421425",
+-"B*	c #951924",
+-"C*	c #381023",
+-"D*	c #E94028",
+-"E*	c #E7302B",
+-"F*	c #EF432D",
+-"G*	c #F4302E",
+-"H*	c #F32C30",
+-"I*	c #CB4432",
+-"J*	c #DD3235",
+-"K*	c #EF4B3A",
+-"L*	c #F0333E",
+-"M*	c #CC3D3F",
+-"N*	c #E4313C",
+-"O*	c #F34834",
+-"P*	c #D13E2C",
+-"Q*	c #431825",
+-"R*	c #0E1424",
+-"S*	c #3C202C",
+-"T*	c #F15537",
+-"U*	c #F97140",
+-"V*	c #FC6E45",
+-"W*	c #FE7547",
+-"X*	c #FE7947",
+-"Y*	c #FE7B48",
+-"Z*	c #FE7D48",
+-"`*	c #FE8047",
+-" =	c #FE7A42",
+-".=	c #FE7A38",
+-"+=	c #6D442B",
+-"@=	c #0F0B21",
+-"#=	c #15031A",
+-"$=	c #49001B",
+-"%=	c #2F001C",
+-"&=	c #21021E",
+-"*=	c #220620",
+-"==	c #1B0D23",
+-"-=	c #641625",
+-";=	c #951823",
+-">=	c #390F25",
+-",=	c #AC3A2A",
+-"'=	c #B6492E",
+-")=	c #ED7531",
+-"!=	c #F45A34",
+-"~=	c #F54C36",
+-"{=	c #C72D39",
+-"]=	c #DE283C",
+-"^=	c #F33B40",
+-"/=	c #F34142",
+-"(=	c #D0393F",
+-"_=	c #E72E39",
+-":=	c #DB3C2E",
+-"<=	c #461724",
+-"[=	c #0F0D1E",
+-"}=	c #140B1E",
+-"|=	c #341427",
+-"1=	c #CB4834",
+-"2=	c #F7743F",
+-"3=	c #FB7145",
+-"4=	c #FE7747",
+-"5=	c #FE7A47",
+-"6=	c #FF7B48",
+-"7=	c #FF7C48",
+-"8=	c #FE7F47",
+-"9=	c #FE8247",
+-"0=	c #FE8642",
+-"a=	c #FE8439",
+-"b=	c #6D442D",
+-"c=	c #0F0A21",
+-"d=	c #14031A",
+-"e=	c #20031D",
+-"f=	c #210821",
+-"g=	c #191024",
+-"h=	c #CC1C25",
+-"i=	c #961423",
+-"j=	c #2C162C",
+-"k=	c #BD242E",
+-"l=	c #EF2C31",
+-"m=	c #F54C34",
+-"n=	c #F34037",
+-"o=	c #F5353A",
+-"p=	c #F7413D",
+-"q=	c #F8423D",
+-"r=	c #F93A39",
+-"s=	c #F95731",
+-"t=	c #341425",
+-"u=	c #110A1D",
+-"v=	c #140619",
+-"w=	c #18051B",
+-"x=	c #200F26",
+-"y=	c #864833",
+-"z=	c #F8773F",
+-"A=	c #FC7445",
+-"B=	c #FF7E48",
+-"C=	c #FF7E49",
+-"D=	c #FF7D49",
+-"E=	c #FF7D48",
+-"F=	c #FE8347",
+-"G=	c #FE8743",
+-"H=	c #FE893B",
+-"I=	c #6E452F",
+-"J=	c #100E23",
+-"K=	c #14041A",
+-"L=	c #55041D",
+-"M=	c #540921",
+-"N=	c #161124",
+-"O=	c #CE6A25",
+-"P=	c #3F1129",
+-"Q=	c #170A29",
+-"R=	c #0F0F29",
+-"S=	c #15132B",
+-"T=	c #1E182D",
+-"U=	c #A82B3D",
+-"V=	c #CB6633",
+-"W=	c #CC6932",
+-"X=	c #CC3D2D",
+-"Y=	c #331225",
+-"Z=	c #0F091C",
+-"`=	c #120417",
+-" -	c #160216",
+-".-	c #190419",
+-"+-	c #210F26",
+-"@-	c #8C4934",
+-"#-	c #F97A40",
+-"$-	c #FC7545",
+-"%-	c #FF7B49",
+-"&-	c #FE7D46",
+-"*-	c #FE7E43",
+-"=-	c #FD7B3E",
+-"--	c #FA6934",
+-";-	c #532328",
+-">-	c #130B1D",
+-",-	c #150519",
+-"'-	c #14041C",
+-")-	c #120920",
+-"!-	c #C43624",
+-"~-	c #A21E23",
+-"{-	c #F87C30",
+-"]-	c #C9302D",
+-"^-	c #300F2A",
+-"/-	c #591129",
+-"(-	c #171328",
+-"_-	c #171628",
+-":-	c #141829",
+-"<-	c #101A2B",
+-"[-	c #0F172B",
+-"}-	c #0F1226",
+-"|-	c #0E0C20",
+-"1-	c #100619",
+-"2-	c #140316",
+-"3-	c #19051B",
+-"4-	c #3C1428",
+-"5-	c #E04B36",
+-"6-	c #FA7B41",
+-"7-	c #FD7346",
+-"8-	c #FE7548",
+-"9-	c #FF7849",
+-"0-	c #FF7749",
+-"a-	c #FE7B47",
+-"b-	c #FE7945",
+-"c-	c #FC7740",
+-"d-	c #FA7E39",
+-"e-	c #C1432F",
+-"f-	c #131523",
+-"g-	c #130A1C",
+-"h-	c #420621",
+-"i-	c #D08423",
+-"j-	c #F87739",
+-"k-	c #C03D37",
+-"l-	c #962B34",
+-"m-	c #A14332",
+-"n-	c #E54B30",
+-"o-	c #9E3E2F",
+-"p-	c #7F262E",
+-"q-	c #922D2E",
+-"r-	c #9C4B2E",
+-"s-	c #65212C",
+-"t-	c #101628",
+-"u-	c #101022",
+-"v-	c #11091C",
+-"w-	c #130619",
+-"x-	c #160A1E",
+-"y-	c #43252C",
+-"z-	c #F66439",
+-"A-	c #FA6942",
+-"B-	c #FD6C47",
+-"C-	c #FE6E48",
+-"D-	c #FE6F48",
+-"E-	c #FE7049",
+-"F-	c #FE714A",
+-"G-	c #FE744A",
+-"H-	c #FE7846",
+-"I-	c #FD7243",
+-"J-	c #FC703E",
+-"K-	c #FA6C37",
+-"L-	c #81312B",
+-"M-	c #121123",
+-"N-	c #15071D",
+-"O-	c #16031A",
+-"P-	c #17021B",
+-"Q-	c #8F3D22",
+-"R-	c #F8393E",
+-"S-	c #E42A3D",
+-"T-	c #E7473B",
+-"U-	c #FB503B",
+-"V-	c #FB4F3A",
+-"W-	c #F95439",
+-"X-	c #ED4C38",
+-"Y-	c #F45938",
+-"Z-	c #FB6537",
+-"`-	c #EA5236",
+-" ;	c #CE6232",
+-".;	c #CD392C",
+-"+;	c #181425",
+-"@;	c #120F21",
+-"#;	c #130D20",
+-"$;	c #151225",
+-"%;	c #903431",
+-"&;	c #F8703D",
+-"*;	c #FB6344",
+-"=;	c #FD6748",
+-"-;	c #FE6849",
+-";;	c #FE6949",
+-">;	c #FE6A49",
+-",;	c #FE6C4A",
+-"';	c #FE704A",
+-");	c #FE734A",
+-"!;	c #FE7449",
+-"~;	c #FE7347",
+-"{;	c #FE7145",
+-"];	c #FD6C42",
+-"^;	c #FD753D",
+-"/;	c #F36E35",
+-"(;	c #CB452C",
+-"_;	c #600D24",
+-":;	c #1C061F",
+-"<;	c #1E031F",
+-"[;	c #5B3821",
+-"};	c #CE9822",
+-"|;	c #FA4341",
+-"1;	c #FB4341",
+-"2;	c #FC4541",
+-"3;	c #FC4542",
+-"4;	c #FC4143",
+-"5;	c #FC4D42",
+-"6;	c #FB5042",
+-"7;	c #FB5342",
+-"8;	c #FC5242",
+-"9;	c #FD4F40",
+-"0;	c #FD503E",
+-"a;	c #FB6339",
+-"b;	c #F45E33",
+-"c;	c #A12A2E",
+-"d;	c #401E2C",
+-"e;	c #452D2F",
+-"f;	c #F74F38",
+-"g;	c #FA5940",
+-"h;	c #FC6245",
+-"i;	c #FE6447",
+-"j;	c #FE6449",
+-"k;	c #FE6549",
+-"l;	c #FE6749",
+-"m;	c #FE6B49",
+-"n;	c #FE6D49",
+-"o;	c #FE6D48",
+-"p;	c #FE6D47",
+-"q;	c #FE6D45",
+-"r;	c #FE6C44",
+-"s;	c #FE6A42",
+-"t;	c #FE663C",
+-"u;	c #FC6233",
+-"v;	c #752129",
+-"w;	c #1F0922",
+-"x;	c #750520",
+-"y;	c #81061F",
+-"z;	c #FA3D42",
+-"A;	c #FB4142",
+-"B;	c #FD4543",
+-"C;	c #FD4844",
+-"D;	c #FD4A45",
+-"E;	c #FD4D45",
+-"F;	c #FD5045",
+-"G;	c #FD5345",
+-"H;	c #FE5346",
+-"I;	c #FE5445",
+-"J;	c #FD5444",
+-"K;	c #FC4F41",
+-"L;	c #FA513D",
+-"M;	c #F95339",
+-"N;	c #F63736",
+-"O;	c #F75737",
+-"P;	c #F95F3B",
+-"Q;	c #FB5840",
+-"R;	c #FD5F43",
+-"S;	c #FE6345",
+-"T;	c #FE6547",
+-"U;	c #FE6548",
+-"V;	c #FE6448",
+-"W;	c #FE6248",
+-"X;	c #FE6348",
+-"Y;	c #FE6748",
+-"Z;	c #FE6848",
+-"`;	c #FE6846",
+-" >	c #FE6A45",
+-".>	c #FE6D43",
+-"+>	c #FE703F",
+-"@>	c #FC6F36",
+-"#>	c #6F302B",
+-"$>	c #140A22",
+-"%>	c #FA3B42",
+-"&>	c #FC4243",
+-"*>	c #FD4744",
+-"=>	c #FE4A45",
+-"->	c #FE4C47",
+-";>	c #FE4D47",
+-">>	c #FE5047",
+-",>	c #FE5347",
+-"'>	c #FE5447",
+-")>	c #FD5246",
+-"!>	c #FB503F",
+-"~>	c #FA543D",
+-"{>	c #9B3D3B",
+-"]>	c #A3433B",
+-"^>	c #F9683D",
+-"/>	c #FC6940",
+-"(>	c #FE6342",
+-"_>	c #FE6645",
+-":>	c #FE6646",
+-"<>	c #FE6147",
+-"[>	c #FE6048",
+-"}>	c #FE6148",
+-"|>	c #FE6746",
+-"1>	c #FE6A46",
+-"2>	c #FE6F45",
+-"3>	c #FE7441",
+-"4>	c #FC7D39",
+-"5>	c #6C422E",
+-"6>	c #0F0F23",
+-"7>	c #FA4142",
+-"8>	c #FC4643",
+-"9>	c #FE4D46",
+-"0>	c #FE4E47",
+-"a>	c #FE4F48",
+-"b>	c #FE5148",
+-"c>	c #FE5348",
+-"d>	c #FE5548",
+-"e>	c #FE5247",
+-"f>	c #FD5445",
+-"g>	c #FC5544",
+-"h>	c #F96041",
+-"i>	c #D33F3D",
+-"j>	c #392D39",
+-"k>	c #973C38",
+-"l>	c #F94E3A",
+-"m>	c #FD693E",
+-"n>	c #FE6C43",
+-"o>	c #FE6047",
+-"p>	c #FE5D47",
+-"q>	c #FE5E48",
+-"r>	c #FE6948",
+-"s>	c #FE6947",
+-"t>	c #FE6B47",
+-"u>	c #FE6E46",
+-"v>	c #FD6D43",
+-"w>	c #FB723D",
+-"x>	c #D54A33",
+-"y>	c #301C29",
+-"z>	c #FB4A42",
+-"A>	c #FD4B44",
+-"B>	c #FE4F47",
+-"C>	c #FE5048",
+-"D>	c #FE5648",
+-"E>	c #FE5848",
+-"F>	c #FE5747",
+-"G>	c #FE5547",
+-"H>	c #FC5945",
+-"I>	c #F95742",
+-"J>	c #F3543D",
+-"K>	c #A33336",
+-"L>	c #302032",
+-"M>	c #152433",
+-"N>	c #CD3E38",
+-"O>	c #FD5A3F",
+-"P>	c #FE6343",
+-"Q>	c #FE6446",
+-"R>	c #FE6247",
+-"S>	c #FE6A47",
+-"T>	c #FC6542",
+-"U>	c #FB6A3B",
+-"V>	c #FA6D34",
+-"W>	c #D73C2D",
+-"X>	c #442428",
+-"Y>	c #281323",
+-"Z>	c #FD4E42",
+-"`>	c #FD4D43",
+-" ,	c #FE4D45",
+-".,	c #FE5248",
+-"+,	c #FE5947",
+-"@,	c #FE5C47",
+-"#,	c #FE5B47",
+-"$,	c #FE5A47",
+-"%,	c #FE5847",
+-"&,	c #FC5C45",
+-"*,	c #F95B43",
+-"=,	c #F3613F",
+-"-,	c #E74F37",
+-";,	c #8C2431",
+-">,	c #161E2F",
+-",,	c #CD4E33",
+-"',	c #FD503A",
+-"),	c #FE5D40",
+-"!,	c #FE6445",
+-"~,	c #FE6946",
+-"{,	c #FE6847",
+-"],	c #FE6747",
+-"^,	c #FD6644",
+-"/,	c #FD6241",
+-"(,	c #FD5B3D",
+-"_,	c #FE6739",
+-":,	c #FE6135",
+-"<,	c #AB4830",
+-"[,	c #733E2A",
+-"},	c #161224",
+-"|,	c #FC4E42",
+-"1,	c #FE4D44",
+-"2,	c #FE4E46",
+-"3,	c #FE5147",
+-"4,	c #FE5E47",
+-"5,	c #FD5C46",
+-"6,	c #FA5B44",
+-"7,	c #F45441",
+-"8,	c #EB393A",
+-"9,	c #CC3433",
+-"0,	c #47212F",
+-"a,	c #59242F",
+-"b,	c #FC6734",
+-"c,	c #FC6F3A",
+-"d,	c #FC723E",
+-"e,	c #FD6540",
+-"f,	c #FE6442",
+-"g,	c #FE6643",
+-"h,	c #FE6944",
+-"i,	c #FE6546",
+-"j,	c #FE6444",
+-"k,	c #FE6143",
+-"l,	c #FE5E41",
+-"m,	c #FE613F",
+-"n,	c #FE683C",
+-"o,	c #FE7937",
+-"p,	c #A25030",
+-"q,	c #692629",
+-"r,	c #151122",
+-"s,	c #FA573F",
+-"t,	c #FB4D40",
+-"u,	c #FC4F43",
+-"v,	c #FE5246",
+-"w,	c #FF6347",
+-"x,	c #FE5F48",
+-"y,	c #F65942",
+-"z,	c #F0493D",
+-"A,	c #ED3736",
+-"B,	c #73262F",
+-"C,	c #10152C",
+-"D,	c #3B292F",
+-"E,	c #363034",
+-"F,	c #AC3938",
+-"G,	c #FC6B3B",
+-"H,	c #FD763C",
+-"I,	c #FE6D3F",
+-"J,	c #FE6341",
+-"K,	c #FE6642",
+-"L,	c #FE6745",
+-"M,	c #FE6245",
+-"N,	c #FE6244",
+-"O,	c #FE6841",
+-"P,	c #FF683B",
+-"Q,	c #EC7035",
+-"R,	c #D0412D",
+-"S,	c #3A1627",
+-"T,	c #CF3938",
+-"U,	c #F6543C",
+-"V,	c #FB5040",
+-"W,	c #FD5544",
+-"X,	c #FE5A48",
+-"Y,	c #FE5D48",
+-"Z,	c #FE5F47",
+-"`,	c #FF6147",
+-" '	c #FD5C45",
+-".'	c #FB5B43",
+-"+'	c #FA5A42",
+-"@'	c #F76040",
+-"#'	c #F4623D",
+-"$'	c #F26D38",
+-"%'	c #EC4130",
+-"&'	c #380E2B",
+-"*'	c #13122C",
+-"='	c #362D31",
+-"-'	c #353435",
+-";'	c #352E37",
+-">'	c #2D3337",
+-",'	c #CC5838",
+-"''	c #CD6F3A",
+-")'	c #CE6E3D",
+-"!'	c #FE793F",
+-"~'	c #FD7541",
+-"{'	c #FD6243",
+-"]'	c #FE6545",
+-"^'	c #FF6543",
+-"/'	c #FF6240",
+-"('	c #FE723B",
+-"_'	c #FE8034",
+-":'	c #442D2C",
+-"<'	c #311725",
+-"['	c #222830",
+-"}'	c #B73B36",
+-"|'	c #F94C3D",
+-"1'	c #FD5543",
+-"2'	c #FE5B48",
+-"3'	c #FF5E47",
+-"4'	c #FE5C48",
+-"5'	c #FC5B44",
+-"6'	c #F95640",
+-"7'	c #C34E3D",
+-"8'	c #A45A3A",
+-"9'	c #F37438",
+-"0'	c #F28935",
+-"a'	c #AF422F",
+-"b'	c #240D2B",
+-"c'	c #88292F",
+-"d'	c #FA8E34",
+-"e'	c #FC7E38",
+-"f'	c #FC5939",
+-"g'	c #694A37",
+-"h'	c #693437",
+-"i'	c #382638",
+-"j'	c #142439",
+-"k'	c #9F483A",
+-"l'	c #C45E3C",
+-"m'	c #FD7240",
+-"n'	c #FF6645",
+-"o'	c #FF6245",
+-"p'	c #FF6045",
+-"q'	c #FF6146",
+-"r'	c #FF6246",
+-"s'	c #FF6446",
+-"t'	c #FF6545",
+-"u'	c #FE763F",
+-"v'	c #FE7237",
+-"w'	c #C65331",
+-"x'	c #3D272A",
+-"y'	c #0D1E2B",
+-"z'	c #683032",
+-"A'	c #F9453A",
+-"B'	c #FD5341",
+-"C'	c #FE5A46",
+-"D'	c #FF5A48",
+-"E'	c #FE5948",
+-"F'	c #FD5A47",
+-"G'	c #FC5D43",
+-"H'	c #F95B3D",
+-"I'	c #713F37",
+-"J'	c #1E2D32",
+-"K'	c #C44531",
+-"L'	c #EF7A2F",
+-"M'	c #6B2E2C",
+-"N'	c #0F0E2C",
+-"O'	c #F56633",
+-"P'	c #FA803A",
+-"Q'	c #FC673E",
+-"R'	c #FD673E",
+-"S'	c #FC6F3C",
+-"T'	c #FA6E3B",
+-"U'	c #C6633A",
+-"V'	c #A06739",
+-"W'	c #835638",
+-"X'	c #381F38",
+-"Y'	c #713B38",
+-"Z'	c #7B503C",
+-"`'	c #FE7741",
+-" )	c #FE7344",
+-".)	c #FE6D46",
+-"+)	c #FF6946",
+-"@)	c #FF5E46",
+-"#)	c #FF5D46",
+-"$)	c #FF5D47",
+-"%)	c #FF5F48",
+-"&)	c #FF6248",
+-"*)	c #FE6941",
+-"=)	c #FC783C",
+-"-)	c #C46B35",
+-";)	c #892730",
+-">)	c #111629",
+-",)	c #1F2630",
+-"')	c #AD3939",
+-"))	c #FC5D41",
+-"!)	c #FE5946",
+-"~)	c #FF5848",
+-"{)	c #FE5549",
+-"])	c #FC5E42",
+-"^)	c #FA673B",
+-"/)	c #DB7033",
+-"()	c #392E2B",
+-"_)	c #311A28",
+-":)	c #3C2127",
+-"<)	c #1D1027",
+-"[)	c #92102C",
+-"})	c #F58336",
+-"|)	c #FA673E",
+-"1)	c #FD6642",
+-"2)	c #FD5A41",
+-"3)	c #FC6D41",
+-"4)	c #FC6D3F",
+-"5)	c #FD683E",
+-"6)	c #F38C39",
+-"7)	c #CE6535",
+-"8)	c #612E34",
+-"9)	c #1D2637",
+-"0)	c #71513E",
+-"a)	c #FF6847",
+-"b)	c #FF5F47",
+-"c)	c #FF5A46",
+-"d)	c #FF5847",
+-"e)	c #FF5748",
+-"f)	c #FF594A",
+-"g)	c #FF5E4B",
+-"h)	c #FE654C",
+-"i)	c #FE694B",
+-"j)	c #FE6B48",
+-"k)	c #FC6A43",
+-"l)	c #F7683E",
+-"m)	c #EC6E39",
+-"                                                                                                                                ",
+-"                                                                                                                                ",
+-"                                                                                                                                ",
+-"                                                                                                                                ",
+-"                                                                                                                                ",
+-"                                                                                                                                ",
+-"                                                                                                                                ",
+-"                                                                                                                                ",
+-"                                                              . + @ # $   %                                                     ",
+-"                                                            & * = - ; > , ' ) ! ~                                               ",
+-"                                                            { ] ^ / ( _ : < [ } | 1 2                                           ",
+-"                                                        3 4 5 6 7 8 9 0 a b c d e f g h i j                                     ",
+-"                                                      k l m n o p q r s t u v w x y z A B C D                                   ",
+-"                                                    E F G H I J K L M N O P Q R S T U V W X Y Z `                               ",
+-"                                                   ...+. at .#.$.%.&.*.=.-.;.>.,.S '.).!.~.{.].^./.(._.                            ",
+-"                                              :.<.[.}.|.1.2.3.4.5.6.7.8.9.0.a.b.c.d.e.!.S f.g.h.i.j.k.                          ",
+-"                                              l.m.n.o.p.q.r.s.t.u.J v.w.x.y.z.A.c.d.d.B.C.D.E.F.G.H.I.                          ",
+-"                                            J.K.L.M.N.O.P.Q.R.t S.T.U.V.W.X.Y.Z.`. +d.d..+B.'.++ at +#+$+%+                        ",
+-"                                      &+*+=+-+;+>+,+'+)+!+~+{+]+^+/+(+_+:+<+[+}+|+1+d.2+3+4+d.5+6+7+8+9+0+                      ",
+-"                                    a+b+c+d+e+f+g+h+i+j+k+l+m+n+^+o+p+q+r+s+t+u+v+b.w+x+y+z+A+w+B+C+D+E+F+G+                    ",
+-"                                H+I+J+K+L+M+N+O+P+Q+R+S+T+U+V+W+Q ,.X+Y+Z+`+ @. at +@@@#@$@%@&@*@=@#@-@;@>@,@'@                    ",
+-"                                )@!@~@{@]@^@/@(@_@:@<@[@}@|@1 at 2@3 at R ,.4 at 5@6 at 7@8 at 9@0 at a@#@b at c@=@d at e@f at g@>@h at i@j@                  ",
+-"                                k at l@m at n@o at p@q at r@s at t@u at v@w at x@y@^+R S z at A@z.q+B at C@D at E@F at G@H@#@e@#@#@f at g@I at J@K at L@                  ",
+-"                                M at N@O at P@Q at R@S at T@U at V@W at X@Y at Z@`@ #.#+#+#S A@@###$#%#&#*#=#-#f at B+B+B+f@;#>#,#'#)#                  ",
+-"                                !#~#{#]#^#/#(#(#_#:#<#[#}#|#1#^+.#S +#+#z at 2#3#4#5#6#7#8#9#0#A.B+B+a#A.@@b#c#d#                  ",
+-"                              e#f#g#h#i#j#k#l#m#n#o#p#q#r#s#t#u#v#.#w#S R ^+x#y#z#A#B#C#D#-#A.a#`.`.b.g at E#d#F#                  ",
+-"                          G#0 at H#I#J#K#L#M#N#O#P#Q#R#S#T#U#V#>.W#3 at v#R R X+X#Y#s#Z#`# $.$+$@$g at f@5+5+#$6+$$%$&$                  ",
+-"                          *$=$-$;$>$,$'$)$!$~${$]$^$/$($_$*$u#:$Q 3@,.X+z.<$[$}$|$1$2$3$4$5$6$7$e at 8$#$G at 9$0$a$                  ",
+-"                        ,.4 at E#b$c$d$e$f$g$h$i$j$k$l$m$n$`@>.:$o$3@,. #a.p$q$r$s$t$u$v$w$x$y$z$A$B$#@C$D$E$F$G$                  ",
+-"                      R S H$v+I$J$K$n+L$:$o$o$M$N$L$O$P$Q$R$N$o$3 at S$T$U$V$W$X$Y$Z$`$ %.%+%@%#%$%%%&%*%=%-%;%>%                  ",
+-"                      E.,%~.'%Z.4 at v W#o$)%)%)%Q !%~%{%]%^%Q$u u#/%(%_%:%<%[%}%|%1%2%3%4%=%5%6%7%8%9%0%a%b%c%d%                  ",
+-"                    e%f%g%a#,%,%z at R 3 at 3@3@)%Q h%i%j%k%l%m%{+n%o%p%q%r%s%t%u%v%w%x%y%z%A%*%B%C%D%E%F%G%H%I%                      ",
+-"                    J%K%L%M%N%D.S v#)%)%O%P%Q%R%S%T%U%V%W%X%Y%Z%`% &.&+&@&#&$&%&&&*&f at a##@=&-&;&>&,&'&)&                        ",
+-"                  !&~&{&]&^&.#w#^&/%/&(&_&:&<&[&}&|&1&2&3&4&5&6&7&8&9&0&a&b&c&d&e&e at 1+5+e@f&g&h&i&j&                            ",
+-"                k&l&m&n&o&p&q&r&i%s&3.t&u&v&w&x&y&z&A&B&C&D&E&F&G&H&I&J&K&L&M&N&O&P&1+`.e at f&Q&R&S&T&                            ",
+-"                0 U&V&W&X&<&Y&j%Z&`& *.*+*@*#*$*%*&***=*-*;*>*>*,*'*)*!*~*{*]*^*/*(*a#B+#@_*:*<*[*}*                            ",
+-"                |*1*2*3*4*5*6*7*8*9*0*a*b*c*d*e*f*g*h*i*j*k*l*m*n*o*p*q*r*s*t*u*v*E.w*d.e at x*y*z*A*B*                            ",
+-"                C*D*E*F*G*H*I*J*K*L*M*N*O*P*Q*R*S*T*U*V*W*l*X*o*o*Y*Z*`* =.=+=@=#='%$=%=e@&=*===-=;=                            ",
+-"                >=,='=)=!=~={=]=^=/=(=_=:=<=[=}=|=1=2=3=4=5=p*6=6=7=8=9=0=a=b=c=d=A@~.b.B+e=f=g=h=i=                            ",
+-"                    j=k=l=m=n=o=p=q=r=s=t=u=v=w=x=y=z=A=5=Z*B=C=D=E=8=F=G=H=I=J=K=S$R z@'%L=M=N=O=                              ",
+-"                    P=Q=R=S=T=U=V=W=X=Y=Z=`= -.-+- at -#-$-5=p*E=D=%-%-q*&-*-=---;->-,-/%3@^+'-)-!-~-                              ",
+-"                  {-]-^-/-(-_-:-<-[-}-|-1-2- -3-4-5-6-7-8-n*m*9-0-9-o*a-b-c-d-e-f-g-(&h%w c h-i-                                ",
+-"                j-k-l-m-n-o-p-q-r-s-t-u-v-w-,-x-y-z-A-B-C-D-E-E-F-G-_ at m*H-I-J-K-L-M-N-O-P-(+Q-                                  ",
+-"                R-S-T-U-V-W-X-Y-Z-`- ;.;+;@;#;$;%;&;*;=;-;-;;;>;,;';);!;~;{;];^;/;(;_;:;<;[;};                                  ",
+-"                |;1;2;3;4;5;6;7;8;9;0;a;b;c;d;e;f;g;h;i;j;j;k;k;l;m;n;o;p;q;r;s;t;u;v;w;x;y;                                    ",
+-"                z;A;B;C;D;E;F;G;H;I;J;K;L;M;N;O;P;Q;R;S;T;U;V;W;X;k;Y;Z;`; >r;.>+>@>#>$>                                        ",
+-"                %>&>*>=>->;>>>,>'>,>)>F;8;!>~>{>]>^>/>(>_>:>i;<>[>X;}>i;|>1>q;2>3>4>5>6>                                        ",
+-"                7>8>=>9>0>a>b>c>d>,>e>e>f>g>h>i>j>k>l>m>n>:>i;o>p>q>W;r>s>t>p;u>v>w>x>y>                                        ",
+-"                z>A>9>0>B>C>c>D>E>F>G>G>F>H>I>J>K>L>M>N>O>P>Q>R>o>R>T;s>S>S>S>t>1>T>U>V>W>X>Y>                                  ",
+-"                Z>`> ,9>B>.,D>+,@,#,$,%,$,&,*,=,-,;,>,,,',),P>!,!,_>~,t>s>{,],{,],^,/,(,_,:,<,[,},                              ",
+-"                |,`>1,2,3,G>+,4,o>o>4,@,@,5,6,7,8,9,0,a,b,c,d,e,f,g,h, >~,|>T;T;T;i,j,k,l,m,n,o,p,q,r,                          ",
+-"                s,t,u,v,G>%,@,o>w,R>x,p>@,5,6,y,z,A,B,C,D,E,F,G,H,I,J,K,L,L,i,i;i;i;Q>S;M,N,P>O,P,Q,R,S,                        ",
+-"                T,U,V,W,%,X,Y,Z,`,[>q>@, '.'+'@'#'$'%'&'*'='-';'>',''')'!'~'{'N,i,:>_>]'M,M,Q>_>^'/'('_':'<'                    ",
+-"                ['}'|'1'$,X,2'p>3'4'2'@,5'6'7'8'9'0'a'b'c'd'e'f'g'h'i'j'k'l'd,m'g, > >n'o'p'q'r's't'.>u'v'w'x'                  ",
+-"                y'z'A'B'C'X,X,2'D'E'E'F'G'H'I'J'K'L'M'N'O'P'Q'R'S'T'U'V'W'X'Y'Z'`' ).)+)r'@)#)$)%)&)l;1>*)=)-);)                ",
+-"                >),)')))!)X,E'X,~){)d>!)])^)/)()_):)<)[)})|)1)f,2)3)4)5)6)7)8)9)0)*--*a)b)c)d)e)f)g)h)i)j)k)l)m)                ",
+-"                                                                                                                                ",
+-"                                                                                                                                ",
+-"                                                                                                                                ",
+-"                                                                                                                                ",
+-"                                                                                                                                ",
+-"                                                                                                                                ",
+-"                                                                                                                                ",
+-"                                                                                                                                "};
+diff --git a/lib/mcollective/vendor/json/lib/json/pure.rb b/lib/mcollective/vendor/json/lib/json/pure.rb
+deleted file mode 100644
+index dbac93c..0000000
+--- a/lib/mcollective/vendor/json/lib/json/pure.rb
++++ /dev/null
+@@ -1,15 +0,0 @@
+-require 'json/common'
+-require 'json/pure/parser'
+-require 'json/pure/generator'
+-
+-module JSON
+-  # This module holds all the modules/classes that implement JSON's
+-  # functionality in pure ruby.
+-  module Pure
+-    $DEBUG and warn "Using Pure library for JSON."
+-    JSON.parser = Parser
+-    JSON.generator = Generator
+-  end
+-
+-  JSON_LOADED = true unless defined?(::JSON::JSON_LOADED)
+-end
+diff --git a/lib/mcollective/vendor/json/lib/json/pure/generator.rb b/lib/mcollective/vendor/json/lib/json/pure/generator.rb
+deleted file mode 100644
+index 44cca60..0000000
+--- a/lib/mcollective/vendor/json/lib/json/pure/generator.rb
++++ /dev/null
+@@ -1,441 +0,0 @@
+-module JSON
+-  MAP = {
+-    "\x0" => '\u0000',
+-    "\x1" => '\u0001',
+-    "\x2" => '\u0002',
+-    "\x3" => '\u0003',
+-    "\x4" => '\u0004',
+-    "\x5" => '\u0005',
+-    "\x6" => '\u0006',
+-    "\x7" => '\u0007',
+-    "\b"  =>  '\b',
+-    "\t"  =>  '\t',
+-    "\n"  =>  '\n',
+-    "\xb" => '\u000b',
+-    "\f"  =>  '\f',
+-    "\r"  =>  '\r',
+-    "\xe" => '\u000e',
+-    "\xf" => '\u000f',
+-    "\x10" => '\u0010',
+-    "\x11" => '\u0011',
+-    "\x12" => '\u0012',
+-    "\x13" => '\u0013',
+-    "\x14" => '\u0014',
+-    "\x15" => '\u0015',
+-    "\x16" => '\u0016',
+-    "\x17" => '\u0017',
+-    "\x18" => '\u0018',
+-    "\x19" => '\u0019',
+-    "\x1a" => '\u001a',
+-    "\x1b" => '\u001b',
+-    "\x1c" => '\u001c',
+-    "\x1d" => '\u001d',
+-    "\x1e" => '\u001e',
+-    "\x1f" => '\u001f',
+-    '"'   =>  '\"',
+-    '\\'  =>  '\\\\',
+-  } # :nodoc:
+-
+-  # Convert a UTF8 encoded Ruby string _string_ to a JSON string, encoded with
+-  # UTF16 big endian characters as \u????, and return it.
+-  if defined?(::Encoding)
+-    def utf8_to_json(string) # :nodoc:
+-      string = string.dup
+-      string << '' # XXX workaround: avoid buffer sharing
+-      string.force_encoding(::Encoding::ASCII_8BIT)
+-      string.gsub!(/["\\\x0-\x1f]/) { MAP[$&] }
+-      string.force_encoding(::Encoding::UTF_8)
+-      string
+-    end
+-
+-    def utf8_to_json_ascii(string) # :nodoc:
+-      string = string.dup
+-      string << '' # XXX workaround: avoid buffer sharing
+-      string.force_encoding(::Encoding::ASCII_8BIT)
+-      string.gsub!(/["\\\x0-\x1f]/) { MAP[$&] }
+-      string.gsub!(/(
+-                      (?:
+-                        [\xc2-\xdf][\x80-\xbf]    |
+-                        [\xe0-\xef][\x80-\xbf]{2} |
+-                        [\xf0-\xf4][\x80-\xbf]{3}
+-                      )+ |
+-                      [\x80-\xc1\xf5-\xff]       # invalid
+-                    )/nx) { |c|
+-                      c.size == 1 and raise GeneratorError, "invalid utf8 byte: '#{c}'"
+-                      s = JSON.iconv('utf-16be', 'utf-8', c).unpack('H*')[0]
+-                      s.gsub!(/.{4}/n, '\\\\u\&')
+-                    }
+-      string.force_encoding(::Encoding::UTF_8)
+-      string
+-    rescue => e
+-      raise GeneratorError, "Caught #{e.class}: #{e}"
+-    end
+-  else
+-    def utf8_to_json(string) # :nodoc:
+-      string.gsub(/["\\\x0-\x1f]/) { MAP[$&] }
+-    end
+-
+-    def utf8_to_json_ascii(string) # :nodoc:
+-      string = string.gsub(/["\\\x0-\x1f]/) { MAP[$&] }
+-      string.gsub!(/(
+-                      (?:
+-                        [\xc2-\xdf][\x80-\xbf]    |
+-                        [\xe0-\xef][\x80-\xbf]{2} |
+-                        [\xf0-\xf4][\x80-\xbf]{3}
+-                      )+ |
+-                      [\x80-\xc1\xf5-\xff]       # invalid
+-                    )/nx) { |c|
+-        c.size == 1 and raise GeneratorError, "invalid utf8 byte: '#{c}'"
+-        s = JSON.iconv('utf-16be', 'utf-8', c).unpack('H*')[0]
+-        s.gsub!(/.{4}/n, '\\\\u\&')
+-      }
+-      string
+-    rescue => e
+-      raise GeneratorError, "Caught #{e.class}: #{e}"
+-    end
+-  end
+-  module_function :utf8_to_json, :utf8_to_json_ascii
+-
+-  module Pure
+-    module Generator
+-      # This class is used to create State instances, that are use to hold data
+-      # while generating a JSON text from a a Ruby data structure.
+-      class State
+-        # Creates a State object from _opts_, which ought to be Hash to create
+-        # a new State instance configured by _opts_, something else to create
+-        # an unconfigured instance. If _opts_ is a State object, it is just
+-        # returned.
+-        def self.from_state(opts)
+-          case
+-          when self === opts
+-            opts
+-          when opts.respond_to?(:to_hash)
+-            new(opts.to_hash)
+-          when opts.respond_to?(:to_h)
+-            new(opts.to_h)
+-          else
+-            SAFE_STATE_PROTOTYPE.dup
+-          end
+-        end
+-
+-        # Instantiates a new State object, configured by _opts_.
+-        #
+-        # _opts_ can have the following keys:
+-        #
+-        # * *indent*: a string used to indent levels (default: ''),
+-        # * *space*: a string that is put after, a : or , delimiter (default: ''),
+-        # * *space_before*: a string that is put before a : pair delimiter (default: ''),
+-        # * *object_nl*: a string that is put at the end of a JSON object (default: ''), 
+-        # * *array_nl*: a string that is put at the end of a JSON array (default: ''),
+-        # * *check_circular*: is deprecated now, use the :max_nesting option instead,
+-        # * *max_nesting*: sets the maximum level of data structure nesting in
+-        #   the generated JSON, max_nesting = 0 if no maximum should be checked.
+-        # * *allow_nan*: true if NaN, Infinity, and -Infinity should be
+-        #   generated, otherwise an exception is thrown, if these values are
+-        #   encountered. This options defaults to false.
+-        def initialize(opts = {})
+-          @indent         = ''
+-          @space          = ''
+-          @space_before   = ''
+-          @object_nl      = ''
+-          @array_nl       = ''
+-          @allow_nan      = false
+-          @ascii_only     = false
+-          configure opts
+-        end
+-
+-        # This string is used to indent levels in the JSON text.
+-        attr_accessor :indent
+-
+-        # This string is used to insert a space between the tokens in a JSON
+-        # string.
+-        attr_accessor :space
+-
+-        # This string is used to insert a space before the ':' in JSON objects.
+-        attr_accessor :space_before
+-
+-        # This string is put at the end of a line that holds a JSON object (or
+-        # Hash).
+-        attr_accessor :object_nl
+-
+-        # This string is put at the end of a line that holds a JSON array.
+-        attr_accessor :array_nl
+-
+-        # This integer returns the maximum level of data structure nesting in
+-        # the generated JSON, max_nesting = 0 if no maximum is checked.
+-        attr_accessor :max_nesting
+-
+-        # This integer returns the current depth data structure nesting in the
+-        # generated JSON.
+-        attr_accessor :depth
+-
+-        def check_max_nesting # :nodoc:
+-          return if @max_nesting.zero?
+-          current_nesting = depth + 1
+-          current_nesting > @max_nesting and
+-            raise NestingError, "nesting of #{current_nesting} is too deep"
+-        end
+-
+-        # Returns true, if circular data structures are checked,
+-        # otherwise returns false.
+-        def check_circular?
+-          !@max_nesting.zero?
+-        end
+-
+-        # Returns true if NaN, Infinity, and -Infinity should be considered as
+-        # valid JSON and output.
+-        def allow_nan?
+-          @allow_nan
+-        end
+-
+-        def ascii_only?
+-          @ascii_only
+-        end
+-
+-        # Configure this State instance with the Hash _opts_, and return
+-        # itself.
+-        def configure(opts)
+-          @indent         = opts[:indent] if opts.key?(:indent)
+-          @space          = opts[:space] if opts.key?(:space)
+-          @space_before   = opts[:space_before] if opts.key?(:space_before)
+-          @object_nl      = opts[:object_nl] if opts.key?(:object_nl)
+-          @array_nl       = opts[:array_nl] if opts.key?(:array_nl)
+-          @allow_nan      = !!opts[:allow_nan] if opts.key?(:allow_nan)
+-          @ascii_only     = opts[:ascii_only] if opts.key?(:ascii_only)
+-          @depth          = opts[:depth] || 0
+-          if !opts.key?(:max_nesting) # defaults to 19
+-            @max_nesting = 19
+-          elsif opts[:max_nesting]
+-            @max_nesting = opts[:max_nesting]
+-          else
+-            @max_nesting = 0
+-          end
+-          self
+-        end
+-
+-        # Returns the configuration instance variables as a hash, that can be
+-        # passed to the configure method.
+-        def to_h
+-          result = {}
+-          for iv in %w[indent space space_before object_nl array_nl allow_nan max_nesting ascii_only depth]
+-            result[iv.intern] = instance_variable_get("@#{iv}")
+-          end
+-          result
+-        end
+-
+-        # Generates a valid JSON document from object +obj+ and returns the
+-        # result. If no valid JSON document can be created this method raises a
+-        # GeneratorError exception.
+-        def generate(obj)
+-          result = obj.to_json(self)
+-          if result !~ /\A\s*(?:\[.*\]|\{.*\})\s*\Z/m
+-            raise GeneratorError, "only generation of JSON objects or arrays allowed"
+-          end
+-          result
+-        end
+-
+-        # Return the value returned by method +name+.
+-        def [](name)
+-          __send__ name
+-        end
+-      end
+-
+-      module GeneratorMethods
+-        module Object
+-          # Converts this object to a string (calling #to_s), converts
+-          # it to a JSON string, and returns the result. This is a fallback, if no
+-          # special method #to_json was defined for some object.
+-          def to_json(*) to_s.to_json end
+-        end
+-
+-        module Hash
+-          # Returns a JSON string containing a JSON object, that is unparsed from
+-          # this Hash instance.
+-          # _state_ is a JSON::State object, that can also be used to configure the
+-          # produced JSON string output further.
+-          # _depth_ is used to find out nesting depth, to indent accordingly.
+-          def to_json(state = nil, *)
+-            state = State.from_state(state)
+-            state.check_max_nesting
+-            json_transform(state)
+-          end
+-
+-          private
+-
+-          def json_shift(state)
+-            state.object_nl.empty? or return ''
+-            state.indent * state.depth
+-          end
+-
+-          def json_transform(state)
+-            delim = ','
+-            delim << state.object_nl
+-            result = '{'
+-            result << state.object_nl
+-            depth = state.depth += 1
+-            first = true
+-            indent = !state.object_nl.empty?
+-            each { |key,value|
+-              result << delim unless first
+-              result << state.indent * depth if indent
+-              result << key.to_s.to_json(state)
+-              result << state.space_before
+-              result << ':'
+-              result << state.space
+-              result << value.to_json(state)
+-              first = false
+-            }
+-            depth = state.depth -= 1
+-            result << state.object_nl
+-            result << state.indent * depth if indent if indent
+-            result << '}'
+-            result
+-          end
+-        end
+-
+-        module Array
+-          # Returns a JSON string containing a JSON array, that is unparsed from
+-          # this Array instance.
+-          # _state_ is a JSON::State object, that can also be used to configure the
+-          # produced JSON string output further.
+-          def to_json(state = nil, *)
+-            state = State.from_state(state)
+-            state.check_max_nesting
+-            json_transform(state)
+-          end
+-
+-          private
+-
+-          def json_transform(state)
+-            delim = ','
+-            delim << state.array_nl
+-            result = '['
+-            result << state.array_nl
+-            depth = state.depth += 1
+-            first = true
+-            indent = !state.array_nl.empty?
+-            each { |value|
+-              result << delim unless first
+-              result << state.indent * depth if indent
+-              result << value.to_json(state)
+-              first = false
+-            }
+-            depth = state.depth -= 1
+-            result << state.array_nl
+-            result << state.indent * depth if indent
+-            result << ']'
+-          end
+-        end
+-
+-        module Integer
+-          # Returns a JSON string representation for this Integer number.
+-          def to_json(*) to_s end
+-        end
+-
+-        module Float
+-          # Returns a JSON string representation for this Float number.
+-          def to_json(state = nil, *)
+-            state = State.from_state(state)
+-            case
+-            when infinite?
+-              if state.allow_nan?
+-                to_s
+-              else
+-                raise GeneratorError, "#{self} not allowed in JSON"
+-              end
+-            when nan?
+-              if state.allow_nan?
+-                to_s
+-              else
+-                raise GeneratorError, "#{self} not allowed in JSON"
+-              end
+-            else
+-              to_s
+-            end
+-          end
+-        end
+-
+-        module String
+-          if defined?(::Encoding)
+-            # This string should be encoded with UTF-8 A call to this method
+-            # returns a JSON string encoded with UTF16 big endian characters as
+-            # \u????.
+-            def to_json(state = nil, *args)
+-              state = State.from_state(state)
+-              if encoding == ::Encoding::UTF_8
+-                string = self
+-              else
+-                string = encode(::Encoding::UTF_8)
+-              end
+-              if state.ascii_only?
+-                '"' << JSON.utf8_to_json_ascii(string) << '"'
+-              else
+-                '"' << JSON.utf8_to_json(string) << '"'
+-              end
+-            end
+-          else
+-            # This string should be encoded with UTF-8 A call to this method
+-            # returns a JSON string encoded with UTF16 big endian characters as
+-            # \u????.
+-            def to_json(state = nil, *args)
+-              state = State.from_state(state)
+-              if state.ascii_only?
+-                '"' << JSON.utf8_to_json_ascii(self) << '"'
+-              else
+-                '"' << JSON.utf8_to_json(self) << '"'
+-              end
+-            end
+-          end
+-
+-          # Module that holds the extinding methods if, the String module is
+-          # included.
+-          module Extend
+-            # Raw Strings are JSON Objects (the raw bytes are stored in an
+-            # array for the key "raw"). The Ruby String can be created by this
+-            # module method.
+-            def json_create(o)
+-              o['raw'].pack('C*')
+-            end
+-          end
+-
+-          # Extends _modul_ with the String::Extend module.
+-          def self.included(modul)
+-            modul.extend Extend
+-          end
+-
+-          # This method creates a raw object hash, that can be nested into
+-          # other data structures and will be unparsed as a raw string. This
+-          # method should be used, if you want to convert raw strings to JSON
+-          # instead of UTF-8 strings, e. g. binary data.
+-          def to_json_raw_object
+-            {
+-              JSON.create_id  => self.class.name,
+-              'raw'           => self.unpack('C*'),
+-            }
+-          end
+-
+-          # This method creates a JSON text from the result of
+-          # a call to to_json_raw_object of this String.
+-          def to_json_raw(*args)
+-            to_json_raw_object.to_json(*args)
+-          end
+-        end
+-
+-        module TrueClass
+-          # Returns a JSON string for true: 'true'.
+-          def to_json(*) 'true' end
+-        end
+-
+-        module FalseClass
+-          # Returns a JSON string for false: 'false'.
+-          def to_json(*) 'false' end
+-        end
+-
+-        module NilClass
+-          # Returns a JSON string for nil: 'null'.
+-          def to_json(*) 'null' end
+-        end
+-      end
+-    end
+-  end
+-end
+diff --git a/lib/mcollective/vendor/json/lib/json/pure/parser.rb b/lib/mcollective/vendor/json/lib/json/pure/parser.rb
+deleted file mode 100644
+index 8043e67..0000000
+--- a/lib/mcollective/vendor/json/lib/json/pure/parser.rb
++++ /dev/null
+@@ -1,320 +0,0 @@
+-require 'strscan'
+-
+-module JSON
+-  module Pure
+-    # This class implements the JSON parser that is used to parse a JSON string
+-    # into a Ruby data structure.
+-    class Parser < StringScanner
+-      STRING                = /" ((?:[^\x0-\x1f"\\] |
+-                                   # escaped special characters:
+-                                  \\["\\\/bfnrt] |
+-                                  \\u[0-9a-fA-F]{4} |
+-                                   # match all but escaped special characters:
+-                                  \\[\x20-\x21\x23-\x2e\x30-\x5b\x5d-\x61\x63-\x65\x67-\x6d\x6f-\x71\x73\x75-\xff])*)
+-                              "/nx
+-      INTEGER               = /(-?0|-?[1-9]\d*)/
+-      FLOAT                 = /(-?
+-                                (?:0|[1-9]\d*)
+-                                (?:
+-                                  \.\d+(?i:e[+-]?\d+) |
+-                                  \.\d+ |
+-                                  (?i:e[+-]?\d+)
+-                                )
+-                                )/x
+-      NAN                   = /NaN/
+-      INFINITY              = /Infinity/
+-      MINUS_INFINITY        = /-Infinity/
+-      OBJECT_OPEN           = /\{/
+-      OBJECT_CLOSE          = /\}/
+-      ARRAY_OPEN            = /\[/
+-      ARRAY_CLOSE           = /\]/
+-      PAIR_DELIMITER        = /:/
+-      COLLECTION_DELIMITER  = /,/
+-      TRUE                  = /true/
+-      FALSE                 = /false/
+-      NULL                  = /null/
+-      IGNORE                = %r(
+-        (?:
+-         //[^\n\r]*[\n\r]| # line comments
+-         /\*               # c-style comments
+-         (?:
+-          [^*/]|        # normal chars
+-          /[^*]|        # slashes that do not start a nested comment
+-          \*[^/]|       # asterisks that do not end this comment
+-          /(?=\*/)      # single slash before this comment's end 
+-         )*
+-           \*/               # the End of this comment
+-           |[ \t\r\n]+       # whitespaces: space, horicontal tab, lf, cr
+-        )+
+-      )mx
+-
+-      UNPARSED = Object.new
+-
+-      # Creates a new JSON::Pure::Parser instance for the string _source_.
+-      #
+-      # It will be configured by the _opts_ hash. _opts_ can have the following
+-      # keys:
+-      # * *max_nesting*: The maximum depth of nesting allowed in the parsed data
+-      #   structures. Disable depth checking with :max_nesting => false|nil|0,
+-      #   it defaults to 19.
+-      # * *allow_nan*: If set to true, allow NaN, Infinity and -Infinity in
+-      #   defiance of RFC 4627 to be parsed by the Parser. This option defaults
+-      #   to false.
+-      # * *symbolize_names*: If set to true, returns symbols for the names
+-      #   (keys) in a JSON object. Otherwise strings are returned, which is also
+-      #   the default.
+-      # * *create_additions*: If set to false, the Parser doesn't create
+-      #   additions even if a matchin class and create_id was found. This option
+-      #   defaults to true.
+-      # * *object_class*: Defaults to Hash
+-      # * *array_class*: Defaults to Array
+-      def initialize(source, opts = {})
+-        opts ||= {}
+-        if defined?(::Encoding)
+-          if source.encoding == ::Encoding::ASCII_8BIT
+-            b = source[0, 4].bytes.to_a
+-            source = case
+-                     when b.size >= 4 && b[0] == 0 && b[1] == 0 && b[2] == 0
+-                       source.dup.force_encoding(::Encoding::UTF_32BE).encode!(::Encoding::UTF_8)
+-                     when b.size >= 4 && b[0] == 0 && b[2] == 0
+-                       source.dup.force_encoding(::Encoding::UTF_16BE).encode!(::Encoding::UTF_8)
+-                     when b.size >= 4 && b[1] == 0 && b[2] == 0 && b[3] == 0
+-                       source.dup.force_encoding(::Encoding::UTF_32LE).encode!(::Encoding::UTF_8)
+-
+-                     when b.size >= 4 && b[1] == 0 && b[3] == 0
+-                       source.dup.force_encoding(::Encoding::UTF_16LE).encode!(::Encoding::UTF_8)
+-                     else
+-                       source.dup
+-                     end
+-          else
+-            source = source.encode(::Encoding::UTF_8)
+-          end
+-          source.force_encoding(::Encoding::ASCII_8BIT)
+-        else
+-          b = source
+-          source = case
+-                   when b.size >= 4 && b[0] == 0 && b[1] == 0 && b[2] == 0
+-                     JSON.iconv('utf-8', 'utf-32be', b)
+-                   when b.size >= 4 && b[0] == 0 && b[2] == 0
+-                     JSON.iconv('utf-8', 'utf-16be', b)
+-                   when b.size >= 4 && b[1] == 0 && b[2] == 0 && b[3] == 0
+-                     JSON.iconv('utf-8', 'utf-32le', b)
+-                   when b.size >= 4 && b[1] == 0 && b[3] == 0
+-                     JSON.iconv('utf-8', 'utf-16le', b)
+-                   else
+-                     b
+-                   end
+-        end
+-        super source
+-        if !opts.key?(:max_nesting) # defaults to 19
+-          @max_nesting = 19
+-        elsif opts[:max_nesting]
+-          @max_nesting = opts[:max_nesting]
+-        else
+-          @max_nesting = 0
+-        end
+-        @allow_nan        = !!opts[:allow_nan]
+-        @symbolize_names  = !!opts[:symbolize_names]
+-        @create_additions = opts.key?(:create_additions) ? !!opts[:create_additions] : true
+-        @create_id        = opts[:create_id] || JSON.create_id
+-        @object_class     = opts[:object_class] || Hash
+-        @array_class      = opts[:array_class] || Array
+-        @match_string     = opts[:match_string]
+-      end
+-
+-      alias source string
+-
+-      # Parses the current JSON string _source_ and returns the complete data
+-      # structure as a result.
+-      def parse
+-        reset
+-        obj = nil
+-        until eos?
+-          case
+-          when scan(OBJECT_OPEN)
+-            obj and raise ParserError, "source '#{peek(20)}' not in JSON!"
+-            @current_nesting = 1
+-            obj = parse_object
+-          when scan(ARRAY_OPEN)
+-            obj and raise ParserError, "source '#{peek(20)}' not in JSON!"
+-            @current_nesting = 1
+-            obj = parse_array
+-          when skip(IGNORE)
+-            ;
+-          else
+-            raise ParserError, "source '#{peek(20)}' not in JSON!"
+-          end
+-        end
+-        obj or raise ParserError, "source did not contain any JSON!"
+-        obj
+-      end
+-
+-      private
+-
+-      # Unescape characters in strings.
+-      UNESCAPE_MAP = Hash.new { |h, k| h[k] = k.chr }
+-      UNESCAPE_MAP.update({
+-        ?"  => '"',
+-        ?\\ => '\\',
+-        ?/  => '/',
+-        ?b  => "\b",
+-        ?f  => "\f",
+-        ?n  => "\n",
+-        ?r  => "\r",
+-        ?t  => "\t",
+-        ?u  => nil, 
+-      })
+-
+-      EMPTY_8BIT_STRING = ''
+-      if ::String.method_defined?(:encode)
+-        EMPTY_8BIT_STRING.force_encoding Encoding::ASCII_8BIT 
+-      end
+-
+-      def parse_string
+-        if scan(STRING)
+-          return '' if self[1].empty?
+-          string = self[1].gsub(%r((?:\\[\\bfnrt"/]|(?:\\u(?:[A-Fa-f\d]{4}))+|\\[\x20-\xff]))n) do |c|
+-            if u = UNESCAPE_MAP[$&[1]]
+-              u
+-            else # \uXXXX
+-              bytes = EMPTY_8BIT_STRING.dup
+-              i = 0
+-              while c[6 * i] == ?\\ && c[6 * i + 1] == ?u
+-                bytes << c[6 * i + 2, 2].to_i(16) << c[6 * i + 4, 2].to_i(16)
+-                i += 1
+-              end
+-              JSON.iconv('utf-8', 'utf-16be', bytes)
+-            end
+-          end
+-          if string.respond_to?(:force_encoding)
+-            string.force_encoding(::Encoding::UTF_8)
+-          end
+-          if @create_additions and @match_string
+-            for (regexp, klass) in @match_string
+-              klass.json_creatable? or next
+-              string =~ regexp and return klass.json_create(string)
+-            end
+-          end
+-          string
+-        else
+-          UNPARSED
+-        end
+-      rescue => e
+-        raise ParserError, "Caught #{e.class} at '#{peek(20)}': #{e}"
+-      end
+-
+-      def parse_value
+-        case
+-        when scan(FLOAT)
+-          Float(self[1])
+-        when scan(INTEGER)
+-          Integer(self[1])
+-        when scan(TRUE)
+-          true
+-        when scan(FALSE)
+-          false
+-        when scan(NULL)
+-          nil
+-        when (string = parse_string) != UNPARSED
+-          string
+-        when scan(ARRAY_OPEN)
+-          @current_nesting += 1
+-          ary = parse_array
+-          @current_nesting -= 1
+-          ary
+-        when scan(OBJECT_OPEN)
+-          @current_nesting += 1
+-          obj = parse_object
+-          @current_nesting -= 1
+-          obj
+-        when @allow_nan && scan(NAN)
+-          NaN
+-        when @allow_nan && scan(INFINITY)
+-          Infinity
+-        when @allow_nan && scan(MINUS_INFINITY)
+-          MinusInfinity
+-        else
+-          UNPARSED
+-        end
+-      end
+-
+-      def parse_array
+-        raise NestingError, "nesting of #@current_nesting is too deep" if
+-          @max_nesting.nonzero? && @current_nesting > @max_nesting
+-        result = @array_class.new
+-        delim = false
+-        until eos?
+-          case
+-          when (value = parse_value) != UNPARSED
+-            delim = false
+-            result << value
+-            skip(IGNORE)
+-            if scan(COLLECTION_DELIMITER)
+-              delim = true
+-            elsif match?(ARRAY_CLOSE)
+-              ;
+-            else
+-              raise ParserError, "expected ',' or ']' in array at '#{peek(20)}'!"
+-            end
+-          when scan(ARRAY_CLOSE)
+-            if delim
+-              raise ParserError, "expected next element in array at '#{peek(20)}'!"
+-            end
+-            break
+-          when skip(IGNORE)
+-            ;
+-          else
+-            raise ParserError, "unexpected token in array at '#{peek(20)}'!"
+-          end
+-        end
+-        result
+-      end
+-
+-      def parse_object
+-        raise NestingError, "nesting of #@current_nesting is too deep" if
+-          @max_nesting.nonzero? && @current_nesting > @max_nesting
+-        result = @object_class.new
+-        delim = false
+-        until eos?
+-          case
+-          when (string = parse_string) != UNPARSED
+-            skip(IGNORE)
+-            unless scan(PAIR_DELIMITER)
+-              raise ParserError, "expected ':' in object at '#{peek(20)}'!"
+-            end
+-            skip(IGNORE)
+-            unless (value = parse_value).equal? UNPARSED
+-              result[@symbolize_names ? string.to_sym : string] = value
+-              delim = false
+-              skip(IGNORE)
+-              if scan(COLLECTION_DELIMITER)
+-                delim = true
+-              elsif match?(OBJECT_CLOSE)
+-                ;
+-              else
+-                raise ParserError, "expected ',' or '}' in object at '#{peek(20)}'!"
+-              end
+-            else
+-              raise ParserError, "expected value in object at '#{peek(20)}'!"
+-            end
+-          when scan(OBJECT_CLOSE)
+-            if delim
+-              raise ParserError, "expected next name, value pair in object at '#{peek(20)}'!"
+-            end
+-            if @create_additions and klassname = result[@create_id]
+-              klass = JSON.deep_const_get klassname
+-              break unless klass and klass.json_creatable?
+-              result = klass.json_create(result)
+-            end
+-            break
+-          when skip(IGNORE)
+-            ;
+-          else
+-            raise ParserError, "unexpected token in object at '#{peek(20)}'!"
+-          end
+-        end
+-        result
+-      end
+-    end
+-  end
+-end
+diff --git a/lib/mcollective/vendor/json/lib/json/version.rb b/lib/mcollective/vendor/json/lib/json/version.rb
+deleted file mode 100644
+index 86a741a..0000000
+--- a/lib/mcollective/vendor/json/lib/json/version.rb
++++ /dev/null
+@@ -1,8 +0,0 @@
+-module JSON
+-  # JSON version
+-  VERSION         = '1.5.1'
+-  VERSION_ARRAY   = VERSION.split(/\./).map { |x| x.to_i } # :nodoc:
+-  VERSION_MAJOR   = VERSION_ARRAY[0] # :nodoc:
+-  VERSION_MINOR   = VERSION_ARRAY[1] # :nodoc:
+-  VERSION_BUILD   = VERSION_ARRAY[2] # :nodoc:
+-end
+diff --git a/lib/mcollective/vendor/json/tests/fixtures/fail1.json b/lib/mcollective/vendor/json/tests/fixtures/fail1.json
+deleted file mode 100644
+index 6216b86..0000000
+--- a/lib/mcollective/vendor/json/tests/fixtures/fail1.json
++++ /dev/null
+@@ -1 +0,0 @@
+-"A JSON payload should be an object or array, not a string."
+\ No newline at end of file
+diff --git a/lib/mcollective/vendor/json/tests/fixtures/fail10.json b/lib/mcollective/vendor/json/tests/fixtures/fail10.json
+deleted file mode 100644
+index 5d8c004..0000000
+--- a/lib/mcollective/vendor/json/tests/fixtures/fail10.json
++++ /dev/null
+@@ -1 +0,0 @@
+-{"Extra value after close": true} "misplaced quoted value"
+\ No newline at end of file
+diff --git a/lib/mcollective/vendor/json/tests/fixtures/fail11.json b/lib/mcollective/vendor/json/tests/fixtures/fail11.json
+deleted file mode 100644
+index 76eb95b..0000000
+--- a/lib/mcollective/vendor/json/tests/fixtures/fail11.json
++++ /dev/null
+@@ -1 +0,0 @@
+-{"Illegal expression": 1 + 2}
+\ No newline at end of file
+diff --git a/lib/mcollective/vendor/json/tests/fixtures/fail12.json b/lib/mcollective/vendor/json/tests/fixtures/fail12.json
+deleted file mode 100644
+index 77580a4..0000000
+--- a/lib/mcollective/vendor/json/tests/fixtures/fail12.json
++++ /dev/null
+@@ -1 +0,0 @@
+-{"Illegal invocation": alert()}
+\ No newline at end of file
+diff --git a/lib/mcollective/vendor/json/tests/fixtures/fail13.json b/lib/mcollective/vendor/json/tests/fixtures/fail13.json
+deleted file mode 100644
+index 379406b..0000000
+--- a/lib/mcollective/vendor/json/tests/fixtures/fail13.json
++++ /dev/null
+@@ -1 +0,0 @@
+-{"Numbers cannot have leading zeroes": 013}
+\ No newline at end of file
+diff --git a/lib/mcollective/vendor/json/tests/fixtures/fail14.json b/lib/mcollective/vendor/json/tests/fixtures/fail14.json
+deleted file mode 100644
+index 0ed366b..0000000
+--- a/lib/mcollective/vendor/json/tests/fixtures/fail14.json
++++ /dev/null
+@@ -1 +0,0 @@
+-{"Numbers cannot be hex": 0x14}
+\ No newline at end of file
+diff --git a/lib/mcollective/vendor/json/tests/fixtures/fail18.json b/lib/mcollective/vendor/json/tests/fixtures/fail18.json
+deleted file mode 100644
+index e2d130c..0000000
+--- a/lib/mcollective/vendor/json/tests/fixtures/fail18.json
++++ /dev/null
+@@ -1 +0,0 @@
+-[[[[[[[[[[[[[[[[[[[["Too deep"]]]]]]]]]]]]]]]]]]]]
+diff --git a/lib/mcollective/vendor/json/tests/fixtures/fail19.json b/lib/mcollective/vendor/json/tests/fixtures/fail19.json
+deleted file mode 100644
+index 3b9c46f..0000000
+--- a/lib/mcollective/vendor/json/tests/fixtures/fail19.json
++++ /dev/null
+@@ -1 +0,0 @@
+-{"Missing colon" null}
+\ No newline at end of file
+diff --git a/lib/mcollective/vendor/json/tests/fixtures/fail2.json b/lib/mcollective/vendor/json/tests/fixtures/fail2.json
+deleted file mode 100644
+index 6b7c11e..0000000
+--- a/lib/mcollective/vendor/json/tests/fixtures/fail2.json
++++ /dev/null
+@@ -1 +0,0 @@
+-["Unclosed array"
+\ No newline at end of file
+diff --git a/lib/mcollective/vendor/json/tests/fixtures/fail20.json b/lib/mcollective/vendor/json/tests/fixtures/fail20.json
+deleted file mode 100644
+index 27c1af3..0000000
+--- a/lib/mcollective/vendor/json/tests/fixtures/fail20.json
++++ /dev/null
+@@ -1 +0,0 @@
+-{"Double colon":: null}
+\ No newline at end of file
+diff --git a/lib/mcollective/vendor/json/tests/fixtures/fail21.json b/lib/mcollective/vendor/json/tests/fixtures/fail21.json
+deleted file mode 100644
+index 6247457..0000000
+--- a/lib/mcollective/vendor/json/tests/fixtures/fail21.json
++++ /dev/null
+@@ -1 +0,0 @@
+-{"Comma instead of colon", null}
+\ No newline at end of file
+diff --git a/lib/mcollective/vendor/json/tests/fixtures/fail22.json b/lib/mcollective/vendor/json/tests/fixtures/fail22.json
+deleted file mode 100644
+index a775258..0000000
+--- a/lib/mcollective/vendor/json/tests/fixtures/fail22.json
++++ /dev/null
+@@ -1 +0,0 @@
+-["Colon instead of comma": false]
+\ No newline at end of file
+diff --git a/lib/mcollective/vendor/json/tests/fixtures/fail23.json b/lib/mcollective/vendor/json/tests/fixtures/fail23.json
+deleted file mode 100644
+index 494add1..0000000
+--- a/lib/mcollective/vendor/json/tests/fixtures/fail23.json
++++ /dev/null
+@@ -1 +0,0 @@
+-["Bad value", truth]
+\ No newline at end of file
+diff --git a/lib/mcollective/vendor/json/tests/fixtures/fail24.json b/lib/mcollective/vendor/json/tests/fixtures/fail24.json
+deleted file mode 100644
+index caff239..0000000
+--- a/lib/mcollective/vendor/json/tests/fixtures/fail24.json
++++ /dev/null
+@@ -1 +0,0 @@
+-['single quote']
+\ No newline at end of file
+diff --git a/lib/mcollective/vendor/json/tests/fixtures/fail25.json b/lib/mcollective/vendor/json/tests/fixtures/fail25.json
+deleted file mode 100644
+index 2dfbd25..0000000
+--- a/lib/mcollective/vendor/json/tests/fixtures/fail25.json
++++ /dev/null
+@@ -1 +0,0 @@
+-["tab	character	in	string	"]
+diff --git a/lib/mcollective/vendor/json/tests/fixtures/fail27.json b/lib/mcollective/vendor/json/tests/fixtures/fail27.json
+deleted file mode 100644
+index 6b01a2c..0000000
+--- a/lib/mcollective/vendor/json/tests/fixtures/fail27.json
++++ /dev/null
+@@ -1,2 +0,0 @@
+-["line
+-break"]
+\ No newline at end of file
+diff --git a/lib/mcollective/vendor/json/tests/fixtures/fail28.json b/lib/mcollective/vendor/json/tests/fixtures/fail28.json
+deleted file mode 100644
+index 621a010..0000000
+--- a/lib/mcollective/vendor/json/tests/fixtures/fail28.json
++++ /dev/null
+@@ -1,2 +0,0 @@
+-["line\
+-break"]
+\ No newline at end of file
+diff --git a/lib/mcollective/vendor/json/tests/fixtures/fail3.json b/lib/mcollective/vendor/json/tests/fixtures/fail3.json
+deleted file mode 100644
+index 168c81e..0000000
+--- a/lib/mcollective/vendor/json/tests/fixtures/fail3.json
++++ /dev/null
+@@ -1 +0,0 @@
+-{unquoted_key: "keys must be quoted"}
+\ No newline at end of file
+diff --git a/lib/mcollective/vendor/json/tests/fixtures/fail4.json b/lib/mcollective/vendor/json/tests/fixtures/fail4.json
+deleted file mode 100644
+index 9de168b..0000000
+--- a/lib/mcollective/vendor/json/tests/fixtures/fail4.json
++++ /dev/null
+@@ -1 +0,0 @@
+-["extra comma",]
+\ No newline at end of file
+diff --git a/lib/mcollective/vendor/json/tests/fixtures/fail5.json b/lib/mcollective/vendor/json/tests/fixtures/fail5.json
+deleted file mode 100644
+index ddf3ce3..0000000
+--- a/lib/mcollective/vendor/json/tests/fixtures/fail5.json
++++ /dev/null
+@@ -1 +0,0 @@
+-["double extra comma",,]
+\ No newline at end of file
+diff --git a/lib/mcollective/vendor/json/tests/fixtures/fail6.json b/lib/mcollective/vendor/json/tests/fixtures/fail6.json
+deleted file mode 100644
+index ed91580..0000000
+--- a/lib/mcollective/vendor/json/tests/fixtures/fail6.json
++++ /dev/null
+@@ -1 +0,0 @@
+-[   , "<-- missing value"]
+\ No newline at end of file
+diff --git a/lib/mcollective/vendor/json/tests/fixtures/fail7.json b/lib/mcollective/vendor/json/tests/fixtures/fail7.json
+deleted file mode 100644
+index 8a96af3..0000000
+--- a/lib/mcollective/vendor/json/tests/fixtures/fail7.json
++++ /dev/null
+@@ -1 +0,0 @@
+-["Comma after the close"],
+\ No newline at end of file
+diff --git a/lib/mcollective/vendor/json/tests/fixtures/fail8.json b/lib/mcollective/vendor/json/tests/fixtures/fail8.json
+deleted file mode 100644
+index b28479c..0000000
+--- a/lib/mcollective/vendor/json/tests/fixtures/fail8.json
++++ /dev/null
+@@ -1 +0,0 @@
+-["Extra close"]]
+\ No newline at end of file
+diff --git a/lib/mcollective/vendor/json/tests/fixtures/fail9.json b/lib/mcollective/vendor/json/tests/fixtures/fail9.json
+deleted file mode 100644
+index 5815574..0000000
+--- a/lib/mcollective/vendor/json/tests/fixtures/fail9.json
++++ /dev/null
+@@ -1 +0,0 @@
+-{"Extra comma": true,}
+\ No newline at end of file
+diff --git a/lib/mcollective/vendor/json/tests/fixtures/pass1.json b/lib/mcollective/vendor/json/tests/fixtures/pass1.json
+deleted file mode 100644
+index 7828fcc..0000000
+--- a/lib/mcollective/vendor/json/tests/fixtures/pass1.json
++++ /dev/null
+@@ -1,56 +0,0 @@
+-[
+-    "JSON Test Pattern pass1",
+-    {"object with 1 member":["array with 1 element"]},
+-    {},
+-    [],
+-    -42,
+-    true,
+-    false,
+-    null,
+-    {
+-        "integer": 1234567890,
+-        "real": -9876.543210,
+-        "e": 0.123456789e-12,
+-        "E": 1.234567890E+34,
+-        "":  23456789012E666,
+-        "zero": 0,
+-        "one": 1,
+-        "space": " ",
+-        "quote": "\"",
+-        "backslash": "\\",
+-        "controls": "\b\f\n\r\t",
+-        "slash": "/ & \/",
+-        "alpha": "abcdefghijklmnopqrstuvwyz",
+-        "ALPHA": "ABCDEFGHIJKLMNOPQRSTUVWYZ",
+-        "digit": "0123456789",
+-        "special": "`1~!@#$%^&*()_+-={':[,]}|;.</>?",
+-        "hex": "\u0123\u4567\u89AB\uCDEF\uabcd\uef4A",
+-        "true": true,
+-        "false": false,
+-        "null": null,
+-        "array":[  ],
+-        "object":{  },
+-        "address": "50 St. James Street",
+-        "url": "http://www.JSON.org/",
+-        "comment": "// /* <!-- --",
+-        "# -- --> */": " ",
+-        " s p a c e d " :[1,2 , 3
+-
+-,
+-
+-4 , 5        ,          6           ,7        ],
+-        "compact": [1,2,3,4,5,6,7],
+-        "jsontext": "{\"object with 1 member\":[\"array with 1 element\"]}",
+-        "quotes": "&#34; \u0022 %22 0x22 034 &#x22;",
+-        "\/\\\"\uCAFE\uBABE\uAB98\uFCDE\ubcda\uef4A\b\f\n\r\t`1~!@#$%^&*()_+-=[]{}|;:',./<>?"
+-: "A key can be any string"
+-    },
+-    0.5 ,98.6
+-,
+-99.44
+-,
+-
+-1066
+-
+-
+-,"rosebud"]
+\ No newline at end of file
+diff --git a/lib/mcollective/vendor/json/tests/fixtures/pass15.json b/lib/mcollective/vendor/json/tests/fixtures/pass15.json
+deleted file mode 100644
+index fc8376b..0000000
+--- a/lib/mcollective/vendor/json/tests/fixtures/pass15.json
++++ /dev/null
+@@ -1 +0,0 @@
+-["Illegal backslash escape: \x15"]
+\ No newline at end of file
+diff --git a/lib/mcollective/vendor/json/tests/fixtures/pass16.json b/lib/mcollective/vendor/json/tests/fixtures/pass16.json
+deleted file mode 100644
+index c43ae3c..0000000
+--- a/lib/mcollective/vendor/json/tests/fixtures/pass16.json
++++ /dev/null
+@@ -1 +0,0 @@
+-["Illegal backslash escape: \'"]
+\ No newline at end of file
+diff --git a/lib/mcollective/vendor/json/tests/fixtures/pass17.json b/lib/mcollective/vendor/json/tests/fixtures/pass17.json
+deleted file mode 100644
+index 62b9214..0000000
+--- a/lib/mcollective/vendor/json/tests/fixtures/pass17.json
++++ /dev/null
+@@ -1 +0,0 @@
+-["Illegal backslash escape: \017"]
+\ No newline at end of file
+diff --git a/lib/mcollective/vendor/json/tests/fixtures/pass2.json b/lib/mcollective/vendor/json/tests/fixtures/pass2.json
+deleted file mode 100644
+index d3c63c7..0000000
+--- a/lib/mcollective/vendor/json/tests/fixtures/pass2.json
++++ /dev/null
+@@ -1 +0,0 @@
+-[[[[[[[[[[[[[[[[[[["Not too deep"]]]]]]]]]]]]]]]]]]]
+\ No newline at end of file
+diff --git a/lib/mcollective/vendor/json/tests/fixtures/pass26.json b/lib/mcollective/vendor/json/tests/fixtures/pass26.json
+deleted file mode 100644
+index 845d26a..0000000
+--- a/lib/mcollective/vendor/json/tests/fixtures/pass26.json
++++ /dev/null
+@@ -1 +0,0 @@
+-["tab\   character\   in\  string\  "]
+\ No newline at end of file
+diff --git a/lib/mcollective/vendor/json/tests/fixtures/pass3.json b/lib/mcollective/vendor/json/tests/fixtures/pass3.json
+deleted file mode 100644
+index 4528d51..0000000
+--- a/lib/mcollective/vendor/json/tests/fixtures/pass3.json
++++ /dev/null
+@@ -1,6 +0,0 @@
+-{
+-    "JSON Test Pattern pass3": {
+-        "The outermost value": "must be an object or array.",
+-        "In this test": "It is an object."
+-    }
+-}
+diff --git a/lib/mcollective/vendor/json/tests/setup_variant.rb b/lib/mcollective/vendor/json/tests/setup_variant.rb
+deleted file mode 100644
+index 2dab184..0000000
+--- a/lib/mcollective/vendor/json/tests/setup_variant.rb
++++ /dev/null
+@@ -1,11 +0,0 @@
+-case ENV['JSON']
+-when 'pure'
+-  $:.unshift 'lib'
+-  require 'json/pure'
+-when 'ext'
+-  $:.unshift 'ext', 'lib'
+-  require 'json/ext'
+-else
+-  $:.unshift 'ext', 'lib'
+-  require 'json'
+-end
+diff --git a/lib/mcollective/vendor/json/tests/test_json.rb b/lib/mcollective/vendor/json/tests/test_json.rb
+deleted file mode 100755
+index 2fc3c09..0000000
+--- a/lib/mcollective/vendor/json/tests/test_json.rb
++++ /dev/null
+@@ -1,390 +0,0 @@
+-#!/usr/bin/env ruby
+-# -*- coding: utf-8 -*-
+-
+-require 'test/unit'
+-require File.join(File.dirname(__FILE__), 'setup_variant')
+-require 'stringio'
+-
+-unless Array.method_defined?(:permutation)
+-  begin
+-    require 'enumerator'
+-    require 'permutation'
+-    class Array
+-      def permutation
+-        Permutation.for(self).to_enum.map { |x| x.project }
+-      end
+-    end
+-  rescue LoadError
+-    warn "Skipping permutation tests."
+-  end
+-end
+-
+-class TC_JSON < Test::Unit::TestCase
+-  include JSON
+-
+-  def setup
+-    @ary = [1, "foo", 3.14, 4711.0, 2.718, nil, [1,-2,3], false, true].map do
+-      |x| [x]
+-    end
+-    @ary_to_parse = ["1", '"foo"', "3.14", "4711.0", "2.718", "null",
+-      "[1,-2,3]", "false", "true"].map do
+-      |x| "[#{x}]"
+-    end
+-    @hash = {
+-      'a' => 2,
+-      'b' => 3.141,
+-      'c' => 'c',
+-      'd' => [ 1, "b", 3.14 ],
+-      'e' => { 'foo' => 'bar' },
+-      'g' => "\"\0\037",
+-      'h' => 1000.0,
+-      'i' => 0.001
+-    }
+-    @json = '{"a":2,"b":3.141,"c":"c","d":[1,"b",3.14],"e":{"foo":"bar"},'\
+-      '"g":"\\"\\u0000\\u001f","h":1.0E3,"i":1.0E-3}'
+-  end
+-
+-  def test_construction
+-    parser = JSON::Parser.new('test')
+-    assert_equal 'test', parser.source
+-  end
+-
+-  def assert_equal_float(expected, is)
+-    assert_in_delta(expected.first, is.first, 1e-2)
+-  end
+-
+-  def test_parse_simple_arrays
+-    assert_equal([], parse('[]'))
+-    assert_equal([], parse('  [  ] '))
+-    assert_equal([nil], parse('[null]'))
+-    assert_equal([false], parse('[false]'))
+-    assert_equal([true], parse('[true]'))
+-    assert_equal([-23], parse('[-23]'))
+-    assert_equal([23], parse('[23]'))
+-    assert_equal([0.23], parse('[0.23]'))
+-    assert_equal([0.0], parse('[0e0]'))
+-    assert_raises(JSON::ParserError) { parse('[+23.2]') }
+-    assert_raises(JSON::ParserError) { parse('[+23]') }
+-    assert_raises(JSON::ParserError) { parse('[.23]') }
+-    assert_raises(JSON::ParserError) { parse('[023]') }
+-    assert_equal_float [3.141], parse('[3.141]')
+-    assert_equal_float [-3.141], parse('[-3.141]')
+-    assert_equal_float [3.141], parse('[3141e-3]')
+-    assert_equal_float [3.141], parse('[3141.1e-3]')
+-    assert_equal_float [3.141], parse('[3141E-3]')
+-    assert_equal_float [3.141], parse('[3141.0E-3]')
+-    assert_equal_float [-3.141], parse('[-3141.0e-3]')
+-    assert_equal_float [-3.141], parse('[-3141e-3]')
+-    assert_raises(ParserError) { parse('[NaN]') }
+-    assert parse('[NaN]', :allow_nan => true).first.nan?
+-    assert_raises(ParserError) { parse('[Infinity]') }
+-    assert_equal [1.0/0], parse('[Infinity]', :allow_nan => true)
+-    assert_raises(ParserError) { parse('[-Infinity]') }
+-    assert_equal [-1.0/0], parse('[-Infinity]', :allow_nan => true)
+-    assert_equal([""], parse('[""]'))
+-    assert_equal(["foobar"], parse('["foobar"]'))
+-    assert_equal([{}], parse('[{}]'))
+-  end
+-
+-  def test_parse_simple_objects
+-    assert_equal({}, parse('{}'))
+-    assert_equal({}, parse(' {   }   '))
+-    assert_equal({ "a" => nil }, parse('{   "a"   :  null}'))
+-    assert_equal({ "a" => nil }, parse('{"a":null}'))
+-    assert_equal({ "a" => false }, parse('{   "a"  :  false  }  '))
+-    assert_equal({ "a" => false }, parse('{"a":false}'))
+-    assert_raises(JSON::ParserError) { parse('{false}') }
+-    assert_equal({ "a" => true }, parse('{"a":true}'))
+-    assert_equal({ "a" => true }, parse('  { "a" :  true  }   '))
+-    assert_equal({ "a" => -23 }, parse('  {  "a"  :  -23  }  '))
+-    assert_equal({ "a" => -23 }, parse('  { "a" : -23 } '))
+-    assert_equal({ "a" => 23 }, parse('{"a":23  } '))
+-    assert_equal({ "a" => 23 }, parse('  { "a"  : 23  } '))
+-    assert_equal({ "a" => 0.23 }, parse(' { "a"  :  0.23 }  '))
+-    assert_equal({ "a" => 0.23 }, parse('  {  "a"  :  0.23  }  '))
+-  end
+-
+-  if Array.method_defined?(:permutation)
+-    def test_parse_more_complex_arrays
+-      a = [ nil, false, true, "foßbar", [ "n€st€d", true ], { "nested" => true, "n€ßt€ð2" => {} }]
+-      a.permutation.each do |perm|
+-        json = pretty_generate(perm)
+-        assert_equal perm, parse(json)
+-      end
+-    end
+-
+-    def test_parse_complex_objects
+-      a = [ nil, false, true, "foßbar", [ "n€st€d", true ], { "nested" => true, "n€ßt€ð2" => {} }]
+-      a.permutation.each do |perm|
+-        s = "a"
+-        orig_obj = perm.inject({}) { |h, x| h[s.dup] = x; s = s.succ; h }
+-        json = pretty_generate(orig_obj)
+-        assert_equal orig_obj, parse(json)
+-      end
+-    end
+-  end
+-
+-  def test_parse_arrays
+-    assert_equal([1,2,3], parse('[1,2,3]'))
+-    assert_equal([1.2,2,3], parse('[1.2,2,3]'))
+-    assert_equal([[],[[],[]]], parse('[[],[[],[]]]'))
+-  end
+-
+-  def test_parse_values
+-    assert_equal([""], parse('[""]'))
+-    assert_equal(["\\"], parse('["\\\\"]'))
+-    assert_equal(['"'], parse('["\""]'))
+-    assert_equal(['\\"\\'], parse('["\\\\\\"\\\\"]'))
+-    assert_equal(["\"\b\n\r\t\0\037"],
+-      parse('["\"\b\n\r\t\u0000\u001f"]'))
+-    for i in 0 ... @ary.size
+-      assert_equal(@ary[i], parse(@ary_to_parse[i]))
+-    end
+-  end
+-
+-  def test_parse_array
+-    assert_equal([], parse('[]'))
+-    assert_equal([], parse('  [  ]  '))
+-    assert_equal([1], parse('[1]'))
+-    assert_equal([1], parse('  [ 1  ]  '))
+-    assert_equal(@ary,
+-      parse('[[1],["foo"],[3.14],[47.11e+2],[2718.0E-3],[null],[[1,-2,3]]'\
+-      ',[false],[true]]'))
+-    assert_equal(@ary, parse(%Q{   [   [1] , ["foo"]  ,  [3.14] \t ,  [47.11e+2] 
+-      , [2718.0E-3 ],\r[ null] , [[1, -2, 3 ]], [false ],[ true]\n ]  }))
+-  end
+-
+-  class SubArray < Array; end
+-
+-  class SubArray2 < Array
+-    def to_json(*a)
+-      {
+-        JSON.create_id => self.class.name,
+-        'ary'          => to_a,
+-      }.to_json(*a)
+-    end
+-
+-    def self.json_create(o)
+-      o.delete JSON.create_id
+-      o['ary']
+-    end
+-  end
+-
+-  def test_parse_array_custom_class
+-    res = parse('[]', :array_class => SubArray)
+-    assert_equal([], res)
+-    assert_equal(SubArray, res.class)
+-  end
+-
+-  def test_parse_object
+-    assert_equal({}, parse('{}'))
+-    assert_equal({}, parse('  {  }  '))
+-    assert_equal({'foo'=>'bar'}, parse('{"foo":"bar"}'))
+-    assert_equal({'foo'=>'bar'}, parse('    { "foo"  :   "bar"   }   '))
+-  end
+-
+-  class SubHash < Hash
+-  end
+-
+-  class SubHash2 < Hash
+-    def to_json(*a)
+-      {
+-        JSON.create_id => self.class.name,
+-      }.merge(self).to_json(*a)
+-    end
+-
+-    def self.json_create(o)
+-      o.delete JSON.create_id
+-      self[o]
+-    end
+-  end
+-
+-  def test_parse_object_custom_class
+-    res = parse('{}', :object_class => SubHash2)
+-    assert_equal({}, res)
+-    assert_equal(SubHash2, res.class)
+-  end
+-
+-  def test_generation_of_core_subclasses_with_new_to_json
+-    obj = SubHash2["foo" => SubHash2["bar" => true]]
+-    obj_json = JSON(obj)
+-    obj_again = JSON(obj_json)
+-    assert_kind_of SubHash2, obj_again
+-    assert_kind_of SubHash2, obj_again['foo']
+-    assert obj_again['foo']['bar']
+-    assert_equal obj, obj_again
+-    assert_equal ["foo"], JSON(JSON(SubArray2["foo"]))
+-  end
+-
+-  def test_generation_of_core_subclasses_with_default_to_json
+-    assert_equal '{"foo":"bar"}', JSON(SubHash["foo" => "bar"])
+-    assert_equal '["foo"]', JSON(SubArray["foo"])
+-  end
+-
+-  def test_generation_of_core_subclasses
+-    obj = SubHash["foo" => SubHash["bar" => true]]
+-    obj_json = JSON(obj)
+-    obj_again = JSON(obj_json)
+-    assert_kind_of Hash, obj_again
+-    assert_kind_of Hash, obj_again['foo']
+-    assert obj_again['foo']['bar']
+-    assert_equal obj, obj_again
+-  end
+-
+-  def test_parser_reset
+-    parser = Parser.new(@json)
+-    assert_equal(@hash, parser.parse)
+-    assert_equal(@hash, parser.parse)
+-  end
+-
+-  def test_comments
+-    json = <<EOT
+-{
+-  "key1":"value1", // eol comment
+-  "key2":"value2"  /* multi line
+-                    *  comment */,
+-  "key3":"value3"  /* multi line
+-                    // nested eol comment
+-                    *  comment */
+-}
+-EOT
+-    assert_equal(
+-      { "key1" => "value1", "key2" => "value2", "key3" => "value3" },
+-      parse(json))
+-    json = <<EOT
+-{
+-  "key1":"value1"  /* multi line
+-                    // nested eol comment
+-                    /* illegal nested multi line comment */
+-                    *  comment */
+-}
+-EOT
+-    assert_raises(ParserError) { parse(json) }
+-    json = <<EOT
+-{
+-  "key1":"value1"  /* multi line
+-                   // nested eol comment
+-                   closed multi comment */
+-                   and again, throw an Error */
+-}
+-EOT
+-    assert_raises(ParserError) { parse(json) }
+-    json = <<EOT
+-{
+-  "key1":"value1"  /*/*/
+-}
+-EOT
+-    assert_equal({ "key1" => "value1" }, parse(json))
+-  end
+-
+-  def test_backslash
+-    data = [ '\\.(?i:gif|jpe?g|png)$' ]
+-    json = '["\\\\.(?i:gif|jpe?g|png)$"]'
+-    assert_equal json, JSON.generate(data)
+-    assert_equal data, JSON.parse(json)
+-    #
+-    data = [ '\\"' ]
+-    json = '["\\\\\""]'
+-    assert_equal json, JSON.generate(data)
+-    assert_equal data, JSON.parse(json)
+-    #
+-    json = '["/"]'
+-    data = JSON.parse(json)
+-    assert_equal ['/'], data
+-    assert_equal json, JSON.generate(data)
+-    #
+-    json = '["\""]'
+-    data = JSON.parse(json)
+-    assert_equal ['"'], data
+-    assert_equal json, JSON.generate(data)
+-    json = '["\\\'"]'
+-    data = JSON.parse(json)
+-    assert_equal ["'"], data
+-    assert_equal '["\'"]', JSON.generate(data)
+-  end
+-
+-  def test_wrong_inputs
+-    assert_raises(ParserError) { JSON.parse('"foo"') }
+-    assert_raises(ParserError) { JSON.parse('123') }
+-    assert_raises(ParserError) { JSON.parse('[] bla') }
+-    assert_raises(ParserError) { JSON.parse('[] 1') }
+-    assert_raises(ParserError) { JSON.parse('[] []') }
+-    assert_raises(ParserError) { JSON.parse('[] {}') }
+-    assert_raises(ParserError) { JSON.parse('{} []') }
+-    assert_raises(ParserError) { JSON.parse('{} {}') }
+-    assert_raises(ParserError) { JSON.parse('[NULL]') }
+-    assert_raises(ParserError) { JSON.parse('[FALSE]') }
+-    assert_raises(ParserError) { JSON.parse('[TRUE]') }
+-    assert_raises(ParserError) { JSON.parse('[07]    ') }
+-    assert_raises(ParserError) { JSON.parse('[0a]') }
+-    assert_raises(ParserError) { JSON.parse('[1.]') }
+-    assert_raises(ParserError) { JSON.parse('     ') }
+-  end
+-
+-  def test_nesting
+-    assert_raises(JSON::NestingError) { JSON.parse '[[]]', :max_nesting => 1 }
+-    assert_raises(JSON::NestingError) { JSON.parser.new('[[]]', :max_nesting => 1).parse }
+-    assert_equal [[]], JSON.parse('[[]]', :max_nesting => 2)
+-    too_deep = '[[[[[[[[[[[[[[[[[[[["Too deep"]]]]]]]]]]]]]]]]]]]]'
+-    too_deep_ary = eval too_deep
+-    assert_raises(JSON::NestingError) { JSON.parse too_deep }
+-    assert_raises(JSON::NestingError) { JSON.parser.new(too_deep).parse }
+-    assert_raises(JSON::NestingError) { JSON.parse too_deep, :max_nesting => 19 }
+-    ok = JSON.parse too_deep, :max_nesting => 20
+-    assert_equal too_deep_ary, ok
+-    ok = JSON.parse too_deep, :max_nesting => nil
+-    assert_equal too_deep_ary, ok
+-    ok = JSON.parse too_deep, :max_nesting => false
+-    assert_equal too_deep_ary, ok
+-    ok = JSON.parse too_deep, :max_nesting => 0
+-    assert_equal too_deep_ary, ok
+-    assert_raises(JSON::NestingError) { JSON.generate [[]], :max_nesting => 1 }
+-    assert_equal '[[]]', JSON.generate([[]], :max_nesting => 2)
+-    assert_raises(JSON::NestingError) { JSON.generate too_deep_ary }
+-    assert_raises(JSON::NestingError) { JSON.generate too_deep_ary, :max_nesting => 19 }
+-    ok = JSON.generate too_deep_ary, :max_nesting => 20
+-    assert_equal too_deep, ok
+-    ok = JSON.generate too_deep_ary, :max_nesting => nil
+-    assert_equal too_deep, ok
+-    ok = JSON.generate too_deep_ary, :max_nesting => false
+-    assert_equal too_deep, ok
+-    ok = JSON.generate too_deep_ary, :max_nesting => 0
+-    assert_equal too_deep, ok
+-  end
+-
+-  def test_symbolize_names
+-    assert_equal({ "foo" => "bar", "baz" => "quux" },
+-      JSON.parse('{"foo":"bar", "baz":"quux"}'))
+-    assert_equal({ :foo => "bar", :baz => "quux" },
+-      JSON.parse('{"foo":"bar", "baz":"quux"}', :symbolize_names => true))
+-  end
+-
+-  def test_load_dump
+-    too_deep = '[[[[[[[[[[[[[[[[[[[[]]]]]]]]]]]]]]]]]]]]'
+-    assert_equal too_deep, JSON.dump(eval(too_deep))
+-    assert_kind_of String, Marshal.dump(eval(too_deep))
+-    assert_raises(ArgumentError) { JSON.dump(eval(too_deep), 19) }
+-    assert_raises(ArgumentError) { Marshal.dump(eval(too_deep), 19) }
+-    assert_equal too_deep, JSON.dump(eval(too_deep), 20)
+-    assert_kind_of String, Marshal.dump(eval(too_deep), 20)
+-    output = StringIO.new
+-    JSON.dump(eval(too_deep), output)
+-    assert_equal too_deep, output.string
+-    output = StringIO.new
+-    JSON.dump(eval(too_deep), output, 20)
+-    assert_equal too_deep, output.string
+-  end
+-
+-  def test_big_integers
+-    json1 = JSON([orig = (1 << 31) - 1])
+-    assert_equal orig, JSON[json1][0]
+-    json2 = JSON([orig = 1 << 31])
+-    assert_equal orig, JSON[json2][0]
+-    json3 = JSON([orig = (1 << 62) - 1])
+-    assert_equal orig, JSON[json3][0]
+-    json4 = JSON([orig = 1 << 62])
+-    assert_equal orig, JSON[json4][0]
+-    json5 = JSON([orig = 1 << 64])
+-    assert_equal orig, JSON[json5][0]
+-  end
+-end
+diff --git a/lib/mcollective/vendor/json/tests/test_json_addition.rb b/lib/mcollective/vendor/json/tests/test_json_addition.rb
+deleted file mode 100755
+index c8bfb41..0000000
+--- a/lib/mcollective/vendor/json/tests/test_json_addition.rb
++++ /dev/null
+@@ -1,167 +0,0 @@
+-#!/usr/bin/env ruby
+-# -*- coding:utf-8 -*-
+-
+-require 'test/unit'
+-require File.join(File.dirname(__FILE__), 'setup_variant')
+-load 'json/add/core.rb'
+-require 'date'
+-
+-class TC_JSONAddition < Test::Unit::TestCase
+-  include JSON
+-
+-  class A
+-    def initialize(a)
+-      @a = a
+-    end
+-
+-    attr_reader :a
+-
+-    def ==(other)
+-      a == other.a
+-    end
+-    
+-    def self.json_create(object)
+-      new(*object['args'])
+-    end
+-
+-    def to_json(*args)
+-      {
+-        'json_class'  => self.class.name,
+-        'args'        => [ @a ],
+-      }.to_json(*args)
+-    end
+-  end
+-
+-  class A2 < A
+-    def to_json(*args)
+-      {
+-        'json_class'  => self.class.name,
+-        'args'        => [ @a ],
+-      }.to_json(*args)
+-    end
+-  end
+-
+-  class B
+-    def self.json_creatable?
+-      false
+-    end
+-
+-    def to_json(*args)
+-      {
+-        'json_class'  => self.class.name,
+-      }.to_json(*args)
+-    end
+-  end
+-
+-  class C
+-    def self.json_creatable?
+-      false
+-    end
+-
+-    def to_json(*args)
+-      {
+-        'json_class'  => 'TC_JSONAddition::Nix',
+-      }.to_json(*args)
+-    end
+-  end
+-
+-  def test_extended_json
+-    a = A.new(666)
+-    assert A.json_creatable?
+-    json = generate(a)
+-    a_again = JSON.parse(json)
+-    assert_kind_of a.class, a_again
+-    assert_equal a, a_again
+-  end
+-
+-  def test_extended_json_disabled
+-    a = A.new(666)
+-    assert A.json_creatable?
+-    json = generate(a)
+-    a_again = JSON.parse(json, :create_additions => true)
+-    assert_kind_of a.class, a_again
+-    assert_equal a, a_again
+-    a_hash = JSON.parse(json, :create_additions => false)
+-    assert_kind_of Hash, a_hash
+-    assert_equal(
+-      {"args"=>[666], "json_class"=>"TC_JSONAddition::A"}.sort_by { |k,| k },
+-      a_hash.sort_by { |k,| k }
+-    )
+-  end
+-
+-  def test_extended_json_fail1
+-    b = B.new
+-    assert !B.json_creatable?
+-    json = generate(b)
+-    assert_equal({ "json_class"=>"TC_JSONAddition::B" }, JSON.parse(json))
+-  end
+-
+-  def test_extended_json_fail2
+-    c = C.new
+-    assert !C.json_creatable?
+-    json = generate(c)
+-    assert_raises(ArgumentError, NameError) { JSON.parse(json) }
+-  end
+-
+-  def test_raw_strings
+-    raw = ''
+-    raw.respond_to?(:encode!) and raw.encode!(Encoding::ASCII_8BIT)
+-    raw_array = []
+-    for i in 0..255
+-      raw << i
+-      raw_array << i
+-    end
+-    json = raw.to_json_raw
+-    json_raw_object = raw.to_json_raw_object
+-    hash = { 'json_class' => 'String', 'raw'=> raw_array }
+-    assert_equal hash, json_raw_object
+-    assert_match(/\A\{.*\}\Z/, json)
+-    assert_match(/"json_class":"String"/, json)
+-    assert_match(/"raw":\[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255\]/, json)
+-    raw_again = JSON.parse(json)
+-    assert_equal raw, raw_again
+-  end
+-
+-  MyJsonStruct = Struct.new 'MyJsonStruct', :foo, :bar
+-
+-  def test_core
+-    t = Time.now
+-    assert_equal t.inspect, JSON(JSON(t)).inspect
+-    d = Date.today
+-    assert_equal d, JSON(JSON(d))
+-    d = DateTime.civil(2007, 6, 14, 14, 57, 10, Rational(1, 12), 2299161)
+-    assert_equal d, JSON(JSON(d))
+-    assert_equal 1..10, JSON(JSON(1..10))
+-    assert_equal 1...10, JSON(JSON(1...10))
+-    assert_equal "a".."c", JSON(JSON("a".."c"))
+-    assert_equal "a"..."c", JSON(JSON("a"..."c"))
+-    s = MyJsonStruct.new 4711, 'foot'
+-    assert_equal s, JSON(JSON(s))
+-    struct = Struct.new :foo, :bar
+-    s = struct.new 4711, 'foot'
+-    assert_raises(JSONError) { JSON(s) }
+-    begin
+-      raise TypeError, "test me"
+-    rescue TypeError => e
+-      e_json = JSON.generate e
+-      e_again = JSON e_json
+-      assert_kind_of TypeError, e_again
+-      assert_equal e.message, e_again.message
+-      assert_equal e.backtrace, e_again.backtrace
+-    end
+-    assert_equal(/foo/, JSON(JSON(/foo/)))
+-    assert_equal(/foo/i, JSON(JSON(/foo/i)))
+-  end
+-
+-  def test_utc_datetime
+-    now = Time.now
+-    d = DateTime.parse(now.to_s)                    # usual case
+-    assert_equal d, JSON.parse(d.to_json)
+-    d = DateTime.parse(now.utc.to_s)                # of = 0
+-    assert_equal d, JSON.parse(d.to_json)
+-    d = DateTime.civil(2008, 6, 17, 11, 48, 32, Rational(1,24))
+-    assert_equal d, JSON.parse(d.to_json)
+-    d = DateTime.civil(2008, 6, 17, 11, 48, 32, Rational(12,24))
+-    assert_equal d, JSON.parse(d.to_json)
+-  end
+-end
+diff --git a/lib/mcollective/vendor/json/tests/test_json_encoding.rb b/lib/mcollective/vendor/json/tests/test_json_encoding.rb
+deleted file mode 100644
+index 7af5e63..0000000
+--- a/lib/mcollective/vendor/json/tests/test_json_encoding.rb
++++ /dev/null
+@@ -1,65 +0,0 @@
+-#!/usr/bin/env ruby
+-# -*- coding: utf-8 -*-
+-
+-require 'test/unit'
+-require File.join(File.dirname(__FILE__), 'setup_variant')
+-
+-class TC_JSONEncoding < Test::Unit::TestCase
+-  include JSON
+-
+-  def setup
+-    @utf_8 = '["© ≠ €!"]'
+-    @parsed = [ "© ≠ €!" ]
+-    @generated = '["\u00a9 \u2260 \u20ac!"]'
+-    if String.method_defined?(:encode)
+-      @utf_16_data = [@parsed.first.encode('utf-16be', 'utf-8')]
+-      @utf_8_ascii_8bit = @utf_8.dup.force_encoding(Encoding::ASCII_8BIT)
+-      @utf_16be = @utf_8.encode('utf-16be', 'utf-8')
+-      @utf_16be_ascii_8bit = @utf_16be.dup.force_encoding(Encoding::ASCII_8BIT)
+-      @utf_16le = @utf_8.encode('utf-16le', 'utf-8')
+-      @utf_16le_ascii_8bit = @utf_16le.dup.force_encoding(Encoding::ASCII_8BIT)
+-      @utf_32be = @utf_8.encode('utf-32be', 'utf-8')
+-      @utf_32be_ascii_8bit = @utf_32be.dup.force_encoding(Encoding::ASCII_8BIT)
+-      @utf_32le = @utf_8.encode('utf-32le', 'utf-8')
+-      @utf_32le_ascii_8bit = @utf_32le.dup.force_encoding(Encoding::ASCII_8BIT)
+-    else
+-      require 'iconv'
+-      @utf_16_data = Iconv.iconv('utf-16be', 'utf-8', @parsed.first)
+-      @utf_8_ascii_8bit = @utf_8.dup
+-      @utf_16be, = Iconv.iconv('utf-16be', 'utf-8', @utf_8)
+-      @utf_16be_ascii_8bit = @utf_16be.dup
+-      @utf_16le, = Iconv.iconv('utf-16le', 'utf-8', @utf_8)
+-      @utf_16le_ascii_8bit = @utf_16le.dup
+-      @utf_32be, = Iconv.iconv('utf-32be', 'utf-8', @utf_8)
+-      @utf_32be_ascii_8bit = @utf_32be.dup
+-      @utf_32le, = Iconv.iconv('utf-32le', 'utf-8', @utf_8)
+-      @utf_32le_ascii_8bit = @utf_32le.dup
+-    end
+-  end
+-
+-  def test_parse
+-    assert_equal @parsed, JSON.parse(@utf_8)
+-    assert_equal @parsed, JSON.parse(@utf_16be)
+-    assert_equal @parsed, JSON.parse(@utf_16le)
+-    assert_equal @parsed, JSON.parse(@utf_32be)
+-    assert_equal @parsed, JSON.parse(@utf_32le)
+-  end
+-
+-  def test_parse_ascii_8bit
+-    assert_equal @parsed, JSON.parse(@utf_8_ascii_8bit)
+-    assert_equal @parsed, JSON.parse(@utf_16be_ascii_8bit)
+-    assert_equal @parsed, JSON.parse(@utf_16le_ascii_8bit)
+-    assert_equal @parsed, JSON.parse(@utf_32be_ascii_8bit)
+-    assert_equal @parsed, JSON.parse(@utf_32le_ascii_8bit)
+-  end
+-
+-  def test_generate
+-    assert_equal @generated, JSON.generate(@parsed, :ascii_only => true)
+-    if defined?(::Encoding)
+-      assert_equal @generated, JSON.generate(@utf_16_data, :ascii_only => true)
+-    else
+-      # XXX checking of correct utf8 data is not as strict (yet?) without :ascii_only
+-      assert_raises(JSON::GeneratorError) { JSON.generate(@utf_16_data, :ascii_only => true) }
+-    end
+-  end
+-end
+diff --git a/lib/mcollective/vendor/json/tests/test_json_fixtures.rb b/lib/mcollective/vendor/json/tests/test_json_fixtures.rb
+deleted file mode 100755
+index e9df8f5..0000000
+--- a/lib/mcollective/vendor/json/tests/test_json_fixtures.rb
++++ /dev/null
+@@ -1,35 +0,0 @@
+-#!/usr/bin/env ruby
+-# -*- coding: utf-8 -*-
+-
+-require 'test/unit'
+-require File.join(File.dirname(__FILE__), 'setup_variant')
+-
+-class TC_JSONFixtures < Test::Unit::TestCase
+-  def setup
+-    fixtures = File.join(File.dirname(__FILE__), 'fixtures/*.json')
+-    passed, failed = Dir[fixtures].partition { |f| f['pass'] }
+-    @passed = passed.inject([]) { |a, f| a << [ f, File.read(f) ] }.sort
+-    @failed = failed.inject([]) { |a, f| a << [ f, File.read(f) ] }.sort
+-  end
+-
+-  def test_passing
+-    for name, source in @passed
+-      begin
+-        assert JSON.parse(source),
+-          "Did not pass for fixture '#{name}': #{source.inspect}"
+-      rescue => e
+-        warn "\nCaught #{e.class}(#{e}) for fixture '#{name}': #{source.inspect}\n#{e.backtrace * "\n"}"
+-        raise e
+-      end
+-    end
+-  end
+-
+-  def test_failing
+-    for name, source in @failed
+-      assert_raises(JSON::ParserError, JSON::NestingError,
+-        "Did not fail for fixture '#{name}': #{source.inspect}") do
+-        JSON.parse(source)
+-      end
+-    end
+-  end
+-end
+diff --git a/lib/mcollective/vendor/json/tests/test_json_generate.rb b/lib/mcollective/vendor/json/tests/test_json_generate.rb
+deleted file mode 100755
+index e6219df..0000000
+--- a/lib/mcollective/vendor/json/tests/test_json_generate.rb
++++ /dev/null
+@@ -1,179 +0,0 @@
+-#!/usr/bin/env ruby
+-# -*- coding: utf-8 -*-
+-
+-require 'test/unit'
+-require File.join(File.dirname(__FILE__), 'setup_variant')
+-
+-class TC_JSONGenerate < Test::Unit::TestCase
+-  include JSON
+-
+-  def setup
+-    @hash = {
+-      'a' => 2,
+-      'b' => 3.141,
+-      'c' => 'c',
+-      'd' => [ 1, "b", 3.14 ],
+-      'e' => { 'foo' => 'bar' },
+-      'g' => "\"\0\037",
+-      'h' => 1000.0,
+-      'i' => 0.001
+-    }
+-    @json2 = '{"a":2,"b":3.141,"c":"c","d":[1,"b",3.14],"e":{"foo":"bar"},' +
+-      '"g":"\\"\\u0000\\u001f","h":1000.0,"i":0.001}'
+-    @json3 = <<'EOT'.chomp
+-{
+-  "a": 2,
+-  "b": 3.141,
+-  "c": "c",
+-  "d": [
+-    1,
+-    "b",
+-    3.14
+-  ],
+-  "e": {
+-    "foo": "bar"
+-  },
+-  "g": "\"\u0000\u001f",
+-  "h": 1000.0,
+-  "i": 0.001
+-}
+-EOT
+-  end
+-
+-  def test_generate
+-    json = generate(@hash)
+-    assert_equal(JSON.parse(@json2), JSON.parse(json))
+-    parsed_json = parse(json)
+-    assert_equal(@hash, parsed_json)
+-    json = generate({1=>2})
+-    assert_equal('{"1":2}', json)
+-    parsed_json = parse(json)
+-    assert_equal({"1"=>2}, parsed_json)
+-    assert_raise(GeneratorError) { generate(666) }
+-  end
+-
+-  def test_generate_pretty
+-    json = pretty_generate(@hash)
+-    assert_equal(JSON.parse(@json3), JSON.parse(json))
+-    parsed_json = parse(json)
+-    assert_equal(@hash, parsed_json)
+-    json = pretty_generate({1=>2})
+-    assert_equal(<<'EOT'.chomp, json)
+-{
+-  "1": 2
+-}
+-EOT
+-    parsed_json = parse(json)
+-    assert_equal({"1"=>2}, parsed_json)
+-    assert_raise(GeneratorError) { pretty_generate(666) }
+-  end
+-
+-  def test_fast_generate
+-    json = fast_generate(@hash)
+-    assert_equal(JSON.parse(@json2), JSON.parse(json))
+-    parsed_json = parse(json)
+-    assert_equal(@hash, parsed_json)
+-    json = fast_generate({1=>2})
+-    assert_equal('{"1":2}', json)
+-    parsed_json = parse(json)
+-    assert_equal({"1"=>2}, parsed_json)
+-    assert_raise(GeneratorError) { fast_generate(666) }
+-  end
+-
+-
+-
+-  def test_states
+-    json = generate({1=>2}, nil)
+-    assert_equal('{"1":2}', json)
+-    s = JSON.state.new
+-    assert s.check_circular?
+-    assert s[:check_circular?]
+-    h = { 1=>2 }
+-    h[3] = h
+-    assert_raises(JSON::NestingError) {  generate(h) }
+-    assert_raises(JSON::NestingError) {  generate(h, s) }
+-    s = JSON.state.new
+-    a = [ 1, 2 ]
+-    a << a
+-    assert_raises(JSON::NestingError) {  generate(a, s) }
+-    assert s.check_circular?
+-    assert s[:check_circular?]
+-  end
+-
+-  def test_pretty_state
+-    state = PRETTY_STATE_PROTOTYPE.dup
+-    assert_equal({
+-      :allow_nan    => false,
+-      :array_nl     => "\n",
+-      :ascii_only   => false,
+-      :depth        => 0,
+-      :indent       => "  ",
+-      :max_nesting  => 19,
+-      :object_nl    => "\n",
+-      :space        => " ",
+-      :space_before => "",
+-    }.sort_by { |n,| n.to_s }, state.to_h.sort_by { |n,| n.to_s })
+-  end
+-
+-  def test_safe_state
+-    state = SAFE_STATE_PROTOTYPE.dup
+-    assert_equal({
+-      :allow_nan    => false,
+-      :array_nl     => "",
+-      :ascii_only   => false,
+-      :depth        => 0,
+-      :indent       => "",
+-      :max_nesting  => 19,
+-      :object_nl    => "",
+-      :space        => "",
+-      :space_before => "",
+-    }.sort_by { |n,| n.to_s }, state.to_h.sort_by { |n,| n.to_s })
+-  end
+-
+-  def test_fast_state
+-    state = FAST_STATE_PROTOTYPE.dup
+-    assert_equal({
+-      :allow_nan    => false,
+-      :array_nl     => "",
+-      :ascii_only   => false,
+-      :depth        => 0,
+-      :indent       => "",
+-      :max_nesting  => 0,
+-      :object_nl    => "",
+-      :space        => "",
+-      :space_before => "",
+-    }.sort_by { |n,| n.to_s }, state.to_h.sort_by { |n,| n.to_s })
+-  end
+-
+-  def test_allow_nan
+-    assert_raises(GeneratorError) { generate([JSON::NaN]) }
+-    assert_equal '[NaN]', generate([JSON::NaN], :allow_nan => true)
+-    assert_raises(GeneratorError) { fast_generate([JSON::NaN]) }
+-    assert_raises(GeneratorError) { pretty_generate([JSON::NaN]) }
+-    assert_equal "[\n  NaN\n]", pretty_generate([JSON::NaN], :allow_nan => true)
+-    assert_raises(GeneratorError) { generate([JSON::Infinity]) }
+-    assert_equal '[Infinity]', generate([JSON::Infinity], :allow_nan => true)
+-    assert_raises(GeneratorError) { fast_generate([JSON::Infinity]) }
+-    assert_raises(GeneratorError) { pretty_generate([JSON::Infinity]) }
+-    assert_equal "[\n  Infinity\n]", pretty_generate([JSON::Infinity], :allow_nan => true)
+-    assert_raises(GeneratorError) { generate([JSON::MinusInfinity]) }
+-    assert_equal '[-Infinity]', generate([JSON::MinusInfinity], :allow_nan => true)
+-    assert_raises(GeneratorError) { fast_generate([JSON::MinusInfinity]) }
+-    assert_raises(GeneratorError) { pretty_generate([JSON::MinusInfinity]) }
+-    assert_equal "[\n  -Infinity\n]", pretty_generate([JSON::MinusInfinity], :allow_nan => true)
+-  end
+-
+-  def test_depth
+-    ary = []; ary << ary
+-    assert_equal 0, JSON::SAFE_STATE_PROTOTYPE.depth
+-    assert_raises(JSON::NestingError) { JSON.generate(ary) }
+-    assert_equal 0, JSON::SAFE_STATE_PROTOTYPE.depth
+-    assert_equal 0, JSON::PRETTY_STATE_PROTOTYPE.depth
+-    assert_raises(JSON::NestingError) { JSON.pretty_generate(ary) }
+-    assert_equal 0, JSON::PRETTY_STATE_PROTOTYPE.depth
+-    s = JSON.state.new
+-    assert_equal 0, s.depth
+-    assert_raises(JSON::NestingError) { ary.to_json(s) }
+-    assert_equal 19, s.depth
+-  end
+-end
+diff --git a/lib/mcollective/vendor/json/tests/test_json_string_matching.rb b/lib/mcollective/vendor/json/tests/test_json_string_matching.rb
+deleted file mode 100644
+index df26a68..0000000
+--- a/lib/mcollective/vendor/json/tests/test_json_string_matching.rb
++++ /dev/null
+@@ -1,40 +0,0 @@
+-#!/usr/bin/env ruby
+-# -*- coding: utf-8 -*-
+-
+-require 'test/unit'
+-require File.join(File.dirname(__FILE__), 'setup_variant')
+-require 'stringio'
+-require 'time'
+-
+-class TestJsonStringMatching < Test::Unit::TestCase
+-  include JSON
+-
+-  class TestTime < ::Time
+-    def self.json_create(string)
+-      Time.parse(string)
+-    end
+-
+-    def to_json(*)
+-      %{"#{strftime('%FT%T%z')}"}
+-    end
+-
+-    def ==(other)
+-      to_i == other.to_i
+-    end
+-  end
+-
+-  def test_match_date
+-    t = TestTime.new
+-    t_json = [ t ].to_json
+-    assert_equal [ t ],
+-      JSON.parse(t_json,
+-        :match_string => { /\A\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}[+-]\d{4}\Z/ => TestTime })
+-    assert_equal [ t.strftime('%FT%T%z') ],
+-      JSON.parse(t_json,
+-        :match_string => { /\A\d{3}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}[+-]\d{4}\Z/ => TestTime })
+-    assert_equal [ t.strftime('%FT%T%z') ],
+-      JSON.parse(t_json,
+-        :match_string => { /\A\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}[+-]\d{4}\Z/ => TestTime },
+-        :create_additions => false)
+-  end
+-end
+diff --git a/lib/mcollective/vendor/json/tests/test_json_unicode.rb b/lib/mcollective/vendor/json/tests/test_json_unicode.rb
+deleted file mode 100755
+index ace56ca..0000000
+--- a/lib/mcollective/vendor/json/tests/test_json_unicode.rb
++++ /dev/null
+@@ -1,72 +0,0 @@
+-#!/usr/bin/env ruby
+-# -*- coding: utf-8 -*-
+-
+-require 'test/unit'
+-require File.join(File.dirname(__FILE__), 'setup_variant')
+-
+-class TC_JSONUnicode < Test::Unit::TestCase
+-  include JSON
+-
+-  def test_unicode
+-    assert_equal '""', ''.to_json
+-    assert_equal '"\\b"', "\b".to_json
+-    assert_equal '"\u0001"', 0x1.chr.to_json
+-    assert_equal '"\u001f"', 0x1f.chr.to_json
+-    assert_equal '" "', ' '.to_json
+-    assert_equal "\"#{0x7f.chr}\"", 0x7f.chr.to_json
+-    utf8 = [ "© ≠ €! \01" ]
+-    json = '["© ≠ €! \u0001"]'
+-    assert_equal json, utf8.to_json(:ascii_only => false)
+-    assert_equal utf8, parse(json)
+-    json = '["\u00a9 \u2260 \u20ac! \u0001"]'
+-    assert_equal json, utf8.to_json(:ascii_only => true)
+-    assert_equal utf8, parse(json)
+-    utf8 = ["\343\201\202\343\201\204\343\201\206\343\201\210\343\201\212"]
+-    json = "[\"\343\201\202\343\201\204\343\201\206\343\201\210\343\201\212\"]"
+-    assert_equal utf8, parse(json)
+-    assert_equal json, utf8.to_json(:ascii_only => false)
+-    utf8 = ["\343\201\202\343\201\204\343\201\206\343\201\210\343\201\212"]
+-    assert_equal utf8, parse(json)
+-    json = "[\"\\u3042\\u3044\\u3046\\u3048\\u304a\"]"
+-    assert_equal json, utf8.to_json(:ascii_only => true)
+-    assert_equal utf8, parse(json)
+-    utf8 = ['საქართველო']
+-    json = '["საქართველო"]'
+-    assert_equal json, utf8.to_json(:ascii_only => false)
+-    json = "[\"\\u10e1\\u10d0\\u10e5\\u10d0\\u10e0\\u10d7\\u10d5\\u10d4\\u10da\\u10dd\"]"
+-    assert_equal json, utf8.to_json(:ascii_only => true)
+-    assert_equal utf8, parse(json)
+-    assert_equal '["Ã"]', JSON.generate(["Ã"], :ascii_only => false)
+-    assert_equal '["\\u00c3"]', JSON.generate(["Ã"], :ascii_only => true)
+-    assert_equal ["€"], JSON.parse('["\u20ac"]')
+-    utf8 = ["\xf0\xa0\x80\x81"]
+-    json = "[\"\xf0\xa0\x80\x81\"]"
+-    assert_equal json, JSON.generate(utf8, :ascii_only => false)
+-    assert_equal utf8, JSON.parse(json)
+-    json = '["\ud840\udc01"]'
+-    assert_equal json, JSON.generate(utf8, :ascii_only => true)
+-    assert_equal utf8, JSON.parse(json)
+-  end
+-
+-  def test_chars
+-    (0..0x7f).each do |i|
+-      json = '["\u%04x"]' % i
+-      if RUBY_VERSION >= "1.9."
+-        i = i.chr
+-      end
+-      assert_equal i, JSON.parse(json).first[0]
+-      if i == ?\b
+-        generated = JSON.generate(["" << i])
+-        assert '["\b"]' == generated || '["\10"]' == generated
+-      elsif [?\n, ?\r, ?\t, ?\f].include?(i)
+-        assert_equal '[' << ('' << i).dump << ']', JSON.generate(["" << i])
+-      elsif i.chr < 0x20.chr
+-        assert_equal json, JSON.generate(["" << i])
+-      end
+-    end
+-    assert_raise(JSON::GeneratorError) do
+-      JSON.generate(["\x80"], :ascii_only => true)
+-    end
+-    assert_equal "\302\200", JSON.parse('["\u0080"]').first
+-  end
+-end
+diff --git a/lib/mcollective/vendor/json/tools/fuzz.rb b/lib/mcollective/vendor/json/tools/fuzz.rb
+deleted file mode 100755
+index 4dacd95..0000000
+--- a/lib/mcollective/vendor/json/tools/fuzz.rb
++++ /dev/null
+@@ -1,139 +0,0 @@
+-require 'json'
+-
+-require 'iconv'
+-ISO_8859_1_TO_UTF8 = Iconv.new('utf-8', 'iso-8859-15')
+-class ::String
+-  def to_utf8
+-    ISO_8859_1_TO_UTF8.iconv self
+-  end
+-end
+-
+-class Fuzzer
+-  def initialize(n, freqs = {})
+-    sum = freqs.inject(0.0) { |s, x| s + x.last }
+-    freqs.each_key { |x| freqs[x] /= sum }
+-    s = 0.0
+-    freqs.each_key do |x|
+-      freqs[x] = s .. (s + t = freqs[x])
+-      s += t
+-    end
+-    @freqs = freqs
+-    @n = n
+-    @alpha = (0..0xff).to_a
+-  end
+-
+-  def random_string
+-    s = ''
+-    30.times { s << @alpha[rand(@alpha.size)] }
+-    s.to_utf8
+-  end
+-
+-  def pick
+-    r = rand
+-    found = @freqs.find { |k, f| f.include? rand }
+-    found && found.first
+-  end
+-
+-  def make_pick
+-    k = pick
+-    case
+-    when k == Hash, k == Array
+-      k.new
+-    when k == true, k == false, k == nil
+-      k
+-    when k == String
+-      random_string
+-    when k == Fixnum
+-      rand(2 ** 30) - 2 ** 29
+-    when k == Bignum
+-      rand(2 ** 70) - 2 ** 69
+-    end
+-  end
+-
+-  def fuzz(current = nil)
+-    if @n > 0
+-      case current
+-      when nil
+-        @n -= 1
+-        current = fuzz [ Hash, Array ][rand(2)].new
+-      when Array
+-        while @n > 0
+-          @n -= 1
+-          current << case p = make_pick
+-          when Array, Hash
+-            fuzz(p)
+-          else
+-            p
+-          end
+-        end
+-      when Hash
+-        while @n > 0
+-          @n -= 1
+-          current[random_string] = case p = make_pick
+-          when Array, Hash
+-            fuzz(p)
+-          else
+-            p
+-          end
+-        end
+-      end
+-    end
+-    current
+-  end
+-end
+-
+-class MyState < JSON.state
+-  WS = " \r\t\n"
+-
+-  def initialize
+-    super(
+-          :indent       => make_spaces,
+-          :space        => make_spaces,
+-          :space_before => make_spaces,
+-          :object_nl    => make_spaces,
+-          :array_nl     => make_spaces,
+-          :max_nesting  => false
+-         )
+-  end
+-
+-  def make_spaces
+-    s = ''
+-    rand(1).times { s << WS[rand(WS.size)] }
+-    s
+-  end
+-end
+-
+-n = (ARGV.shift || 500).to_i
+-loop do
+-  fuzzer = Fuzzer.new(n,
+-                      Hash => 25,
+-                      Array => 25,
+-                      String => 10,
+-                      Fixnum => 10,
+-                      Bignum => 10,
+-                      nil => 5,
+-                      true => 5,
+-                      false => 5
+-                     )
+-  o1 = fuzzer.fuzz
+-  json = JSON.generate o1, MyState.new
+-  if $DEBUG
+-    puts "-" * 80
+-    puts json, json.size
+-  else 
+-    puts json.size
+-  end
+-  begin
+-    o2 = JSON.parse(json, :max_nesting => false)
+-  rescue JSON::ParserError => e
+-    puts "Caught #{e.class}: #{e.message}\n#{e.backtrace * "\n"}"
+-    puts "o1 = #{o1.inspect}", "json = #{json}", "json_str = #{json.inspect}"
+-    puts "locals = #{local_variables.inspect}"
+-    exit
+-  end
+-  if o1 != o2
+-    puts "mismatch", "o1 = #{o1.inspect}", "o2 = #{o2.inspect}",
+-      "json = #{json}", "json_str = #{json.inspect}"
+-    puts "locals = #{local_variables.inspect}"
+-  end
+-end
+diff --git a/lib/mcollective/vendor/json/tools/server.rb b/lib/mcollective/vendor/json/tools/server.rb
+deleted file mode 100755
+index 084377f..0000000
+--- a/lib/mcollective/vendor/json/tools/server.rb
++++ /dev/null
+@@ -1,61 +0,0 @@
+-#!/usr/bin/env ruby
+-
+-require 'webrick'
+-include WEBrick
+-$:.unshift 'ext'
+-$:.unshift 'lib'
+-require 'json'
+-
+-class JSONServlet < HTTPServlet::AbstractServlet
+-  @@count = 1
+-
+-  def do_GET(req, res)
+-    obj = {
+-      "TIME" => Time.now.strftime("%FT%T"),
+-      "foo" => "Bär",
+-      "bar" => "© ≠ €!",
+-      'a' => 2,
+-      'b' => 3.141,
+-      'COUNT' => @@count += 1,
+-      'c' => 'c',
+-      'd' => [ 1, "b", 3.14 ],
+-      'e' => { 'foo' => 'bar' },
+-      'g' => "松本行弘",
+-      'h' => 1000.0,
+-      'i' => 0.001,
+-      'j' => "\xf0\xa0\x80\x81",
+-    }
+-    res.body = JSON.generate obj
+-    res['Content-Type'] = "application/json"
+-  end
+-end
+-
+-def create_server(err, dir, port)
+-  dir = File.expand_path(dir)
+-  err.puts "Surf to:", "http://#{Socket.gethostname}:#{port}"
+-
+-  s = HTTPServer.new(
+-    :Port         => port,
+-    :DocumentRoot => dir,
+-    :Logger       => WEBrick::Log.new(err),
+-    :AccessLog    => [
+-      [ err, WEBrick::AccessLog::COMMON_LOG_FORMAT  ],
+-      [ err, WEBrick::AccessLog::REFERER_LOG_FORMAT ],
+-      [ err, WEBrick::AccessLog::AGENT_LOG_FORMAT   ]
+-    ]
+-  )
+-  s.mount("/json", JSONServlet)
+-  s
+-end
+-
+-default_dir = File.expand_path(File.join(File.dirname(__FILE__), '..', 'data'))
+-dir = ARGV.shift || default_dir
+-port = (ARGV.shift || 6666).to_i
+-s = create_server(STDERR, dir, 6666)
+-t = Thread.new { s.start }
+-trap(:INT) do
+-  s.shutdown
+-  t.join
+-  exit
+-end
+-sleep
+diff --git a/lib/mcollective/vendor/load_json.rb b/lib/mcollective/vendor/load_json.rb
+deleted file mode 100644
+index ab78c7d..0000000
+--- a/lib/mcollective/vendor/load_json.rb
++++ /dev/null
+@@ -1 +0,0 @@
+-$: << File.join([File.dirname(__FILE__), "json/lib"])
+diff --git a/lib/mcollective/vendor/load_systemu.rb b/lib/mcollective/vendor/load_systemu.rb
+deleted file mode 100644
+index 3962686..0000000
+--- a/lib/mcollective/vendor/load_systemu.rb
++++ /dev/null
+@@ -1 +0,0 @@
+-$: << File.join([File.dirname(__FILE__), "systemu/lib"])
+diff --git a/lib/mcollective/vendor/require_vendored.rb b/lib/mcollective/vendor/require_vendored.rb
+deleted file mode 100644
+index be5a267..0000000
+--- a/lib/mcollective/vendor/require_vendored.rb
++++ /dev/null
+@@ -1,2 +0,0 @@
+-require 'systemu'
+-require 'json'
+diff --git a/lib/mcollective/vendor/systemu/LICENSE b/lib/mcollective/vendor/systemu/LICENSE
+deleted file mode 100644
+index 38060d8..0000000
+--- a/lib/mcollective/vendor/systemu/LICENSE
++++ /dev/null
+@@ -1,3 +0,0 @@
+-same as Ruby's
+-
+-http://www.ruby-lang.org/en/LICENSE.txt
+diff --git a/lib/mcollective/vendor/systemu/README b/lib/mcollective/vendor/systemu/README
+deleted file mode 100644
+index 82a2089..0000000
+--- a/lib/mcollective/vendor/systemu/README
++++ /dev/null
+@@ -1,169 +0,0 @@
+-NAME
+-
+-  systemu
+-
+-SYNOPSIS
+-
+-  univeral capture of stdout and stderr and handling of child process pid for windows, *nix, etc.
+-
+-URIS
+-
+-  http://github.com/ahoward/systemu
+-  http://rubyforge.org/projects/codeforpeople/
+-
+-INSTALL
+-
+-  gem install systemu
+-
+-HISTORY
+-  2.0.0
+-    - versioning issue.  new gem release.
+-
+-  1.3.1
+-    - updates for ruby 1.9.1
+-
+-  1.3.0
+-    - move to github
+-
+-  1.2.0
+-
+-    - fixed handling of background thread management - needed
+-      Thread.current.abort_on_exception = true
+-
+-    - fixed reporting of child pid, it was reported as the parent's pid before
+-
+-SAMPLES
+-
+-
+-  <========< samples/a.rb >========>
+-
+-  ~ > cat samples/a.rb
+-
+-    #
+-    # systemu can be used on any platform to return status, stdout, and stderr of
+-    # any command.  unlike other methods like open3/popen4 there is zero danger of
+-    # full pipes or threading issues hanging your process or subprocess.
+-    #
+-      require 'systemu'
+-    
+-      date = %q( ruby -e"  t = Time.now; STDOUT.puts t; STDERR.puts t  " )
+-    
+-      status, stdout, stderr = systemu date
+-      p [ status, stdout, stderr ]
+-
+-  ~ > ruby samples/a.rb
+-
+-    [#<Process::Status: pid=44129,exited(0)>, "Tue Apr 12 21:43:07 -0600 2011\n", "Tue Apr 12 21:43:07 -0600 2011\n"]
+-
+-
+-  <========< samples/b.rb >========>
+-
+-  ~ > cat samples/b.rb
+-
+-    #
+-    # quite a few keys can be passed to the command to alter it's behaviour.  if
+-    # either stdout or stderr is supplied those objects should respond_to? '<<'
+-    # and only status will be returned
+-    #
+-      require 'systemu'
+-    
+-      date = %q( ruby -e"  t = Time.now; STDOUT.puts t; STDERR.puts t  " )
+-    
+-      stdout, stderr = '', ''
+-      status = systemu date, 'stdout' => stdout, 'stderr' => stderr
+-      p [ status, stdout, stderr ]
+-
+-  ~ > ruby samples/b.rb
+-
+-    [#<Process::Status: pid=44134,exited(0)>, "Tue Apr 12 21:43:07 -0600 2011\n", "Tue Apr 12 21:43:07 -0600 2011\n"]
+-
+-
+-  <========< samples/c.rb >========>
+-
+-  ~ > cat samples/c.rb
+-
+-    #
+-    # of course stdin can be supplied too.  synonyms for 'stdin' include '0' and
+-    # 0.  the other stdio streams have similar shortcuts
+-    #
+-      require 'systemu'
+-    
+-      cat = %q( ruby -e"  ARGF.each{|line| puts line}  " )
+-    
+-      status = systemu cat, 0=>'the stdin for cat', 1=>stdout=''
+-      puts stdout
+-
+-  ~ > ruby samples/c.rb
+-
+-    the stdin for cat
+-
+-
+-  <========< samples/d.rb >========>
+-
+-  ~ > cat samples/d.rb
+-
+-    #
+-    # the cwd can be supplied
+-    #
+-      require 'systemu'
+-      require 'tmpdir'
+-    
+-      pwd = %q( ruby -e"  STDERR.puts Dir.pwd  " )
+-    
+-      status = systemu pwd, 2=>(stderr=''), :cwd=>Dir.tmpdir
+-      puts stderr
+-    
+-
+-  ~ > ruby samples/d.rb
+-
+-    /private/var/folders/nO/nOjBCb30ELegrm98Bhyvbk+++TM/-Tmp-
+-
+-
+-  <========< samples/e.rb >========>
+-
+-  ~ > cat samples/e.rb
+-
+-    #
+-    # any environment vars specified are merged into the child's environment
+-    #
+-      require 'systemu'
+-    
+-      env = %q( ruby -r yaml -e"  puts ENV[ 'answer' ] " )
+-    
+-      status = systemu env, 1=>stdout='', 'env'=>{ 'answer' => 0b101010 }
+-      puts stdout
+-
+-  ~ > ruby samples/e.rb
+-
+-    42
+-
+-
+-  <========< samples/f.rb >========>
+-
+-  ~ > cat samples/f.rb
+-
+-    #
+-    # if a block is specified then it is passed the child pid and run in a
+-    # background thread.  note that this thread will __not__ be blocked during the
+-    # execution of the command so it may do useful work such as killing the child
+-    # if execution time passes a certain threshold
+-    #
+-      require 'systemu'
+-    
+-      looper = %q( ruby -e" loop{ STDERR.puts Time.now.to_i; sleep 1 } " )
+-    
+-      status, stdout, stderr =
+-        systemu looper do |cid|
+-          sleep 3
+-          Process.kill 9, cid
+-        end
+-    
+-      p status
+-      p stderr
+-
+-  ~ > ruby samples/f.rb
+-
+-    #<Process::Status: pid=44154,signaled(SIGKILL=9)>
+-    "1302666187\n1302666188\n1302666189\n"
+-
+-
+diff --git a/lib/mcollective/vendor/systemu/README.erb b/lib/mcollective/vendor/systemu/README.erb
+deleted file mode 100644
+index ab04eff..0000000
+--- a/lib/mcollective/vendor/systemu/README.erb
++++ /dev/null
+@@ -1,37 +0,0 @@
+-NAME
+-
+-  systemu
+-
+-SYNOPSIS
+-
+-  univeral capture of stdout and stderr and handling of child process pid for windows, *nix, etc.
+-
+-URIS
+-
+-  http://github.com/ahoward/systemu
+-  http://rubyforge.org/projects/codeforpeople/
+-
+-INSTALL
+-
+-  gem install systemu
+-
+-HISTORY
+-  2.0.0
+-    - versioning issue.  new gem release.
+-
+-  1.3.1
+-    - updates for ruby 1.9.1
+-
+-  1.3.0
+-    - move to github
+-
+-  1.2.0
+-
+-    - fixed handling of background thread management - needed
+-      Thread.current.abort_on_exception = true
+-
+-    - fixed reporting of child pid, it was reported as the parent's pid before
+-
+-SAMPLES
+-
+-<%= samples %>
+diff --git a/lib/mcollective/vendor/systemu/Rakefile b/lib/mcollective/vendor/systemu/Rakefile
+deleted file mode 100644
+index 44e9122..0000000
+--- a/lib/mcollective/vendor/systemu/Rakefile
++++ /dev/null
+@@ -1,364 +0,0 @@
+-This.rubyforge_project = 'codeforpeople'
+-This.author = "Ara T. Howard"
+-This.email = "ara.t.howard at gmail.com"
+-This.homepage = "http://github.com/ahoward/#{ This.lib }"
+-
+-
+-task :default do
+-  puts((Rake::Task.tasks.map{|task| task.name.gsub(/::/,':')} - ['default']).sort)
+-end
+-
+-task :test do
+-  run_tests!
+-end
+-
+-namespace :test do
+-  task(:unit){ run_tests!(:unit) }
+-  task(:functional){ run_tests!(:functional) }
+-  task(:integration){ run_tests!(:integration) }
+-end
+-
+-def run_tests!(which = nil)
+-  which ||= '**'
+-  test_dir = File.join(This.dir, "test")
+-  test_glob ||= File.join(test_dir, "#{ which }/**_test.rb")
+-  test_rbs = Dir.glob(test_glob).sort
+-        
+-  div = ('=' * 119)
+-  line = ('-' * 119)
+-  helper = "-r ./test/helper.rb" if test(?e, "./test/helper.rb")
+-
+-  test_rbs.each_with_index do |test_rb, index|
+-    testno = index + 1
+-    command = "#{ This.ruby } -I ./lib -I ./test/lib #{ helper } #{ test_rb }"
+-
+-    puts
+-    say(div, :color => :cyan, :bold => true)
+-    say("@#{ testno } => ", :bold => true, :method => :print)
+-    say(command, :color => :cyan, :bold => true)
+-    say(line, :color => :cyan, :bold => true)
+-
+-    system(command)
+-
+-    say(line, :color => :cyan, :bold => true)
+-
+-    status = $?.exitstatus
+-
+-    if status.zero? 
+-      say("@#{ testno } <= ", :bold => true, :color => :white, :method => :print)
+-      say("SUCCESS", :color => :green, :bold => true)
+-    else
+-      say("@#{ testno } <= ", :bold => true, :color => :white, :method => :print)
+-      say("FAILURE", :color => :red, :bold => true)
+-    end
+-    say(line, :color => :cyan, :bold => true)
+-
+-    exit(status) unless status.zero?
+-  end
+-end
+-
+-
+-task :gemspec do
+-  ignore_extensions = 'git', 'svn', 'tmp', /sw./, 'bak', 'gem'
+-  ignore_directories = %w[ pkg ]
+-  ignore_files = %w[ test/log ]
+-
+-  shiteless = 
+-    lambda do |list|
+-      list.delete_if do |entry|
+-        next unless test(?e, entry)
+-        extension = File.basename(entry).split(%r/[.]/).last
+-        ignore_extensions.any?{|ext| ext === extension}
+-      end
+-      list.delete_if do |entry|
+-        next unless test(?d, entry)
+-        dirname = File.expand_path(entry)
+-        ignore_directories.any?{|dir| File.expand_path(dir) == dirname}
+-      end
+-      list.delete_if do |entry|
+-        next unless test(?f, entry)
+-        filename = File.expand_path(entry)
+-        ignore_files.any?{|file| File.expand_path(file) == filename}
+-      end
+-    end
+-
+-  lib         = This.lib
+-  object      = This.object
+-  version     = This.version
+-  files       = shiteless[Dir::glob("**/**")]
+-  executables = shiteless[Dir::glob("bin/*")].map{|exe| File.basename(exe)}
+-  has_rdoc    = true #File.exist?('doc')
+-  test_files  = "test/#{ lib }.rb" if File.file?("test/#{ lib }.rb")
+-  summary     = object.respond_to?(:summary) ? object.summary : "summary: #{ lib } kicks the ass"
+-  description = object.respond_to?(:description) ? object.description : "description: #{ lib } kicks the ass"
+-
+-  if This.extensions.nil?
+-    This.extensions = []
+-    extensions = This.extensions
+-    %w( Makefile configure extconf.rb ).each do |ext|
+-      extensions << ext if File.exists?(ext)
+-    end
+-  end
+-  extensions = [extensions].flatten.compact
+-
+-  template = 
+-    if test(?e, 'gemspec.erb')
+-      Template{ IO.read('gemspec.erb') }
+-    else
+-      Template {
+-        <<-__
+-          ## #{ lib }.gemspec
+-          #
+-
+-          Gem::Specification::new do |spec|
+-            spec.name = #{ lib.inspect }
+-            spec.version = #{ version.inspect }
+-            spec.platform = Gem::Platform::RUBY
+-            spec.summary = #{ lib.inspect }
+-            spec.description = #{ description.inspect }
+-
+-            spec.files = #{ files.inspect }
+-            spec.executables = #{ executables.inspect }
+-            
+-            spec.require_path = "lib"
+-
+-            spec.has_rdoc = #{ has_rdoc.inspect }
+-            spec.test_files = #{ test_files.inspect }
+-
+-          # spec.add_dependency 'lib', '>= version'
+-
+-            spec.extensions.push(*#{ extensions.inspect })
+-
+-            spec.rubyforge_project = #{ This.rubyforge_project.inspect }
+-            spec.author = #{ This.author.inspect }
+-            spec.email = #{ This.email.inspect }
+-            spec.homepage = #{ This.homepage.inspect }
+-          end
+-        __
+-      }
+-    end
+-
+-  Fu.mkdir_p(This.pkgdir)
+-  This.gemspec = File.join(This.dir, "#{ This.lib }.gemspec") #File.join(This.pkgdir, "gemspec.rb")
+-  open("#{ This.gemspec }", "w"){|fd| fd.puts(template)}
+-end
+-
+-task :gem => [:clean, :gemspec] do
+-  Fu.mkdir_p(This.pkgdir)
+-  before = Dir['*.gem']
+-  cmd = "gem build #{ This.gemspec }"
+-  `#{ cmd }`
+-  after = Dir['*.gem']
+-  gem = ((after - before).first || after.first) or abort('no gem!')
+-  Fu.mv gem, This.pkgdir
+-  This.gem = File.basename(gem)
+-end
+-
+-task :readme do
+-  samples = ''
+-  prompt = '~ > '
+-  lib = This.lib
+-  version = This.version
+-
+-  Dir['sample*/*'].sort.each do |sample|
+-    samples << "\n" << "  <========< #{ sample } >========>" << "\n\n"
+-
+-    cmd = "cat #{ sample }"
+-    samples << Util.indent(prompt + cmd, 2) << "\n\n"
+-    samples << Util.indent(`#{ cmd }`, 4) << "\n"
+-
+-    cmd = "ruby #{ sample }"
+-    samples << Util.indent(prompt + cmd, 2) << "\n\n"
+-
+-    cmd = "ruby -e'STDOUT.sync=true; exec %(ruby -I ./lib #{ sample })'"
+-    samples << Util.indent(`#{ cmd } 2>&1`, 4) << "\n"
+-  end
+-
+-  template = 
+-    if test(?e, 'readme.erb')
+-      Template{ IO.read('readme.erb') }
+-    else
+-      Template {
+-        <<-__
+-          NAME
+-            #{ lib }
+-
+-          DESCRIPTION
+-
+-          INSTALL
+-            gem install #{ lib }
+-
+-          SAMPLES
+-            #{ samples }
+-        __
+-      }
+-    end
+-
+-  open("README", "w"){|fd| fd.puts template}
+-end
+-
+-
+-task :clean do
+-  Dir[File.join(This.pkgdir, '**/**')].each{|entry| Fu.rm_rf(entry)}
+-end
+-
+-
+-task :release => [:clean, :gemspec, :gem] do
+-  gems = Dir[File.join(This.pkgdir, '*.gem')].flatten
+-  raise "which one? : #{ gems.inspect }" if gems.size > 1
+-  raise "no gems?" if gems.size < 1
+-  cmd = "rubyforge login && rubyforge add_release #{ This.rubyforge_project } #{ This.lib } #{ This.version } #{ This.pkgdir }/#{ This.gem }"
+-  puts cmd
+-  system cmd
+-  cmd = "gem push #{ This.pkgdir }/#{ This.gem }"
+-  puts cmd
+-  system cmd
+-end
+-
+-
+-
+-
+-
+-BEGIN {
+-# support for this rakefile
+-#
+-  $VERBOSE = nil
+-
+-  require 'ostruct'
+-  require 'erb'
+-  require 'fileutils'
+-  require 'rbconfig'
+-
+-# fu shortcut
+-#
+-  Fu = FileUtils
+-
+-# cache a bunch of stuff about this rakefile/environment
+-#
+-  This = OpenStruct.new
+-
+-  This.file = File.expand_path(__FILE__)
+-  This.dir = File.dirname(This.file)
+-  This.pkgdir = File.join(This.dir, 'pkg')
+-
+-# grok lib
+-#
+-  lib = ENV['LIB']
+-  unless lib
+-    lib = File.basename(Dir.pwd).sub(/[-].*$/, '')
+-  end
+-  This.lib = lib
+-
+-# grok version
+-#
+-  version = ENV['VERSION']
+-  unless version
+-    require "./lib/#{ This.lib }"
+-    This.name = lib.capitalize
+-    This.object = eval(This.name)
+-    version = This.object.send(:version)
+-  end
+-  This.version = version
+-
+-# we need to know the name of the lib an it's version
+-#
+-  abort('no lib') unless This.lib
+-  abort('no version') unless This.version
+-
+-# discover full path to this ruby executable
+-#
+-  c = Config::CONFIG
+-  bindir = c["bindir"] || c['BINDIR']
+-  ruby_install_name = c['ruby_install_name'] || c['RUBY_INSTALL_NAME'] || 'ruby'
+-  ruby_ext = c['EXEEXT'] || ''
+-  ruby = File.join(bindir, (ruby_install_name + ruby_ext))
+-  This.ruby = ruby
+-
+-# some utils
+-#
+-  module Util
+-    def indent(s, n = 2)
+-      s = unindent(s)
+-      ws = ' ' * n
+-      s.gsub(%r/^/, ws)
+-    end
+-
+-    def unindent(s)
+-      indent = nil
+-      s.each_line do |line|
+-        next if line =~ %r/^\s*$/
+-        indent = line[%r/^\s*/] and break
+-      end
+-      indent ? s.gsub(%r/^#{ indent }/, "") : s
+-    end
+-    extend self
+-  end
+-
+-# template support
+-#
+-  class Template
+-    def initialize(&block)
+-      @block = block.binding
+-      @template = block.call.to_s
+-    end
+-    def expand(b=nil)
+-      ERB.new(Util.unindent(@template)).result(b||@block)
+-    end
+-    alias_method 'to_s', 'expand'
+-  end
+-  def Template(*args, &block) Template.new(*args, &block) end
+-
+-# colored console output support
+-#
+-  This.ansi = {
+-    :clear      => "\e[0m",
+-    :reset      => "\e[0m",
+-    :erase_line => "\e[K",
+-    :erase_char => "\e[P",
+-    :bold       => "\e[1m",
+-    :dark       => "\e[2m",
+-    :underline  => "\e[4m",
+-    :underscore => "\e[4m",
+-    :blink      => "\e[5m",
+-    :reverse    => "\e[7m",
+-    :concealed  => "\e[8m",
+-    :black      => "\e[30m",
+-    :red        => "\e[31m",
+-    :green      => "\e[32m",
+-    :yellow     => "\e[33m",
+-    :blue       => "\e[34m",
+-    :magenta    => "\e[35m",
+-    :cyan       => "\e[36m",
+-    :white      => "\e[37m",
+-    :on_black   => "\e[40m",
+-    :on_red     => "\e[41m",
+-    :on_green   => "\e[42m",
+-    :on_yellow  => "\e[43m",
+-    :on_blue    => "\e[44m",
+-    :on_magenta => "\e[45m",
+-    :on_cyan    => "\e[46m",
+-    :on_white   => "\e[47m"
+-  }
+-  def say(phrase, *args)
+-    options = args.last.is_a?(Hash) ? args.pop : {}
+-    options[:color] = args.shift.to_s.to_sym unless args.empty?
+-    keys = options.keys
+-    keys.each{|key| options[key.to_s.to_sym] = options.delete(key)}
+-
+-    color = options[:color]
+-    bold = options.has_key?(:bold)
+-
+-    parts = [phrase]
+-    parts.unshift(This.ansi[color]) if color
+-    parts.unshift(This.ansi[:bold]) if bold
+-    parts.push(This.ansi[:clear]) if parts.size > 1
+-
+-    method = options[:method] || :puts
+-
+-    Kernel.send(method, parts.join)
+-  end
+-
+-# always run out of the project dir
+-#
+-  Dir.chdir(This.dir)
+-}
+diff --git a/lib/mcollective/vendor/systemu/lib/systemu.rb b/lib/mcollective/vendor/systemu/lib/systemu.rb
+deleted file mode 100644
+index 56ea580..0000000
+--- a/lib/mcollective/vendor/systemu/lib/systemu.rb
++++ /dev/null
+@@ -1,357 +0,0 @@
+-# vim: ts=2:sw=2:sts=2:et:fdm=marker
+-require 'tmpdir'
+-require 'socket'
+-require 'fileutils'
+-require 'rbconfig'
+-require 'thread'
+-require 'yaml'
+-
+-class Object
+-  def systemu(*a, &b) SystemUniversal.new(*a, &b).systemu end
+-end
+-
+-class SystemUniversal
+-#
+-# constants
+-#
+-  SystemUniversal::VERSION = '2.2.0' unless SystemUniversal.send(:const_defined?, :VERSION)
+-  def SystemUniversal.version() SystemUniversal::VERSION end
+-  def version() SystemUniversal::VERSION end
+-#
+-# class methods
+-#
+-
+-  @host = Socket.gethostname
+-  @ppid = Process.ppid
+-  @pid = Process.pid
+-  @turd = ENV['SYSTEMU_TURD']
+-
+-  c = ::Config::CONFIG
+-  ruby = File.join(c['bindir'], c['ruby_install_name']) << c['EXEEXT']
+-  @ruby = if system('%s -e 42' % ruby)
+-    ruby
+-  else
+-    system('%s -e 42' % 'ruby') ? 'ruby' : warn('no ruby in PATH/CONFIG')
+-  end
+-
+-  class << SystemUniversal
+-    %w( host ppid pid ruby turd ).each{|a| attr_accessor a}
+-
+-    def quote(*words)
+-      words.map{|word| word.inspect}.join(' ')
+-    end
+-  end
+-
+-#
+-# instance methods
+-#
+-
+-  def initialize argv, opts = {}, &block
+-    getopt = getopts opts
+-
+-    @argv = argv
+-    @block = block
+-
+-    @stdin = getopt[ ['stdin', 'in', '0', 0] ]
+-    @stdout = getopt[ ['stdout', 'out', '1', 1] ]
+-    @stderr = getopt[ ['stderr', 'err', '2', 2] ]
+-    @env = getopt[ 'env' ]
+-    @cwd = getopt[ 'cwd' ]
+-
+-    @host = getopt[ 'host', self.class.host ]
+-    @ppid = getopt[ 'ppid', self.class.ppid ]
+-    @pid = getopt[ 'pid', self.class.pid ]
+-    @ruby = getopt[ 'ruby', self.class.ruby ]
+-  end
+-
+-  def systemu
+-    tmpdir do |tmp|
+-      c = child_setup tmp
+-      status = nil
+-
+-      begin
+-        thread = nil
+-
+-        quietly{
+-          IO.popen "#{ quote(@ruby) } #{ quote(c['program']) }", 'r+' do |pipe|
+-            line = pipe.gets
+-            case line
+-              when %r/^pid: \d+$/
+-                cid = Integer line[%r/\d+/] 
+-              else
+-                begin
+-                  buf = pipe.read
+-                  buf = "#{ line }#{ buf }"
+-                  e = Marshal.load buf
+-                  raise unless Exception === e
+-                  raise e
+-                rescue
+-                  raise "wtf?\n#{ buf }\n"
+-                end
+-            end
+-            thread = new_thread cid, @block if @block
+-            pipe.read rescue nil
+-          end
+-        }
+-        status = $?
+-      ensure
+-        if thread
+-          begin
+-            class << status
+-              attr 'thread'
+-            end
+-            status.instance_eval{ @thread = thread }
+-          rescue
+-            42
+-          end
+-        end
+-      end
+-
+-      if @stdout or @stderr
+-        open(c['stdout']){|f| relay f => @stdout} if @stdout
+-        open(c['stderr']){|f| relay f => @stderr} if @stderr
+-        status
+-      else
+-        [status, IO.read(c['stdout']), IO.read(c['stderr'])]
+-      end
+-    end
+-  end
+-
+-  def quote *args, &block
+-    SystemUniversal.quote(*args, &block)
+-  end
+-
+-  def new_thread cid, block 
+-    q = Queue.new
+-    Thread.new(cid) do |cid| 
+-      current = Thread.current 
+-      current.abort_on_exception = true
+-      q.push current 
+-      block.call cid
+-    end
+-    q.pop
+-  end
+-
+-  def child_setup tmp
+-    stdin = File.expand_path(File.join(tmp, 'stdin'))
+-    stdout = File.expand_path(File.join(tmp, 'stdout'))
+-    stderr = File.expand_path(File.join(tmp, 'stderr'))
+-    program = File.expand_path(File.join(tmp, 'program'))
+-    config = File.expand_path(File.join(tmp, 'config'))
+-
+-    if @stdin
+-      open(stdin, 'w'){|f| relay @stdin => f}
+-    else
+-      FileUtils.touch stdin
+-    end
+-    FileUtils.touch stdout
+-    FileUtils.touch stderr
+-
+-    c = {}
+-    c['argv'] = @argv
+-    c['env'] = @env
+-    c['cwd'] = @cwd
+-    c['stdin'] = stdin 
+-    c['stdout'] = stdout 
+-    c['stderr'] = stderr 
+-    c['program'] = program 
+-    open(config, 'w'){|f| YAML.dump c, f}
+-
+-    open(program, 'w'){|f| f.write child_program(config)}
+-
+-    c
+-  end
+-
+-  def quietly
+-    v = $VERBOSE
+-    $VERBOSE = nil
+-    yield
+-  ensure
+-    $VERBOSE = v
+-  end
+-
+-  def child_program config
+-    <<-program
+-      PIPE = STDOUT.dup
+-      begin
+-        require 'yaml'
+-
+-        config = YAML.load(IO.read('#{ config }'))
+-
+-        argv = config['argv']
+-        env = config['env']
+-        cwd = config['cwd']
+-        stdin = config['stdin']
+-        stdout = config['stdout']
+-        stderr = config['stderr']
+-
+-        Dir.chdir cwd if cwd
+-        env.each{|k,v| ENV[k.to_s] = v.to_s} if env
+-
+-        STDIN.reopen stdin
+-        STDOUT.reopen stdout
+-        STDERR.reopen stderr
+-
+-        PIPE.puts "pid: \#{ Process.pid }"
+-        PIPE.flush                        ### the process is ready yo! 
+-        PIPE.close
+-
+-        exec *argv
+-      rescue Exception => e
+-        PIPE.write Marshal.dump(e) rescue nil
+-        exit 42
+-      end
+-    program
+-  end
+-
+-  def relay srcdst
+-    src, dst, ignored = srcdst.to_a.first
+-    if src.respond_to? 'read'
+-      while((buf = src.read(8192))); dst << buf; end
+-    else
+-      if src.respond_to?(:each_line)
+-        src.each_line{|buf| dst << buf}
+-      else
+-        src.each{|buf| dst << buf}
+-      end
+-    end
+-  end
+-
+-  def tmpdir d = Dir.tmpdir, max = 42, &b
+-    i = -1 and loop{
+-      i += 1
+-
+-      tmp = File.join d, "systemu_#{ @host }_#{ @ppid }_#{ @pid }_#{ rand }_#{ i += 1 }"
+-
+-      begin
+-        Dir.mkdir tmp 
+-      rescue Errno::EEXIST
+-        raise if i >= max 
+-        next
+-      end
+-
+-      break(
+-        if b
+-          begin
+-            b.call tmp
+-          ensure
+-            FileUtils.rm_rf tmp unless SystemU.turd 
+-          end
+-        else
+-          tmp
+-        end
+-      )
+-    }
+-  end
+-
+-  def getopts opts = {}
+-    lambda do |*args|
+-      keys, default, ignored = args
+-      catch(:opt) do
+-        [keys].flatten.each do |key|
+-          [key, key.to_s, key.to_s.intern].each do |key|
+-            throw :opt, opts[key] if opts.has_key?(key)
+-          end
+-        end
+-        default
+-      end
+-    end
+-  end
+-end
+-
+-# some monkeypatching for JRuby
+-if defined? JRUBY_VERSION
+-  require 'jruby'
+-  import org.jruby.RubyProcess
+-        
+-  class SystemUniversal
+-    def systemu
+-      split_argv = JRuby::PathHelper.smart_split_command @argv
+-      process = java.lang.Runtime.runtime.exec split_argv.to_java(:string)
+-      
+-      stdout, stderr = [process.input_stream, process.error_stream].map do |stream|
+-        StreamReader.new(stream)
+-      end
+-
+-      exit_code = process.wait_for
+-      [
+-        RubyProcess::RubyStatus.new_process_status(JRuby.runtime, exit_code), 
+-        stdout.join, 
+-        stderr.join
+-      ]
+-    end
+-    
+-    class StreamReader
+-      def initialize(stream)
+-        @data = ""
+-        @thread = Thread.new do
+-          reader = java.io.BufferedReader.new java.io.InputStreamReader.new(stream)
+-          
+-          while line = reader.read_line
+-            @data << line << "\n"
+-          end
+-        end
+-      end
+-      
+-      def join
+-        @thread.join
+-        @data
+-      end
+-    end
+-  end
+-end
+-  
+-
+-
+-SystemU = SystemUniversal unless defined? SystemU
+-Systemu = SystemUniversal unless defined? Systemu
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-if $0 == __FILE__
+-#
+-# date
+-#
+-  date = %q( ruby -e"  t = Time.now; STDOUT.puts t; STDERR.puts t  " )
+-
+-  status, stdout, stderr = systemu date
+-  p [status, stdout, stderr]
+-
+-  status = systemu date, 1=>(stdout = '')
+-  p [status, stdout]
+-
+-  status = systemu date, 2=>(stderr = '')
+-  p [status, stderr]
+-#
+-# sleep
+-#
+-  sleep = %q( ruby -e"  p(sleep(1))  " )
+-  status, stdout, stderr = systemu sleep 
+-  p [status, stdout, stderr]
+-
+-  sleep = %q( ruby -e"  p(sleep(42))  " )
+-  status, stdout, stderr = systemu(sleep){|cid| Process.kill 9, cid}
+-  p [status, stdout, stderr]
+-#
+-# env 
+-#
+-  env = %q( ruby -e"  p ENV['A']  " )
+-  status, stdout, stderr = systemu env, :env => {'A' => 42} 
+-  p [status, stdout, stderr]
+-#
+-# cwd 
+-#
+-  env = %q( ruby -e"  p Dir.pwd  " )
+-  status, stdout, stderr = systemu env, :cwd => Dir.tmpdir
+-  p [status, stdout, stderr]
+-end
+diff --git a/lib/mcollective/vendor/systemu/samples/a.rb b/lib/mcollective/vendor/systemu/samples/a.rb
+deleted file mode 100644
+index 37af06a..0000000
+--- a/lib/mcollective/vendor/systemu/samples/a.rb
++++ /dev/null
+@@ -1,11 +0,0 @@
+-#
+-# systemu can be used on any platform to return status, stdout, and stderr of
+-# any command.  unlike other methods like open3/popen4 there is zero danger of
+-# full pipes or threading issues hanging your process or subprocess.
+-#
+-  require 'systemu'
+-
+-  date = %q( ruby -e"  t = Time.now; STDOUT.puts t; STDERR.puts t  " )
+-
+-  status, stdout, stderr = systemu date
+-  p [ status, stdout, stderr ]
+diff --git a/lib/mcollective/vendor/systemu/samples/b.rb b/lib/mcollective/vendor/systemu/samples/b.rb
+deleted file mode 100644
+index 951dce1..0000000
+--- a/lib/mcollective/vendor/systemu/samples/b.rb
++++ /dev/null
+@@ -1,12 +0,0 @@
+-#
+-# quite a few keys can be passed to the command to alter it's behaviour.  if
+-# either stdout or stderr is supplied those objects should respond_to? '<<'
+-# and only status will be returned
+-#
+-  require 'systemu'
+-
+-  date = %q( ruby -e"  t = Time.now; STDOUT.puts t; STDERR.puts t  " )
+-
+-  stdout, stderr = '', ''
+-  status = systemu date, 'stdout' => stdout, 'stderr' => stderr
+-  p [ status, stdout, stderr ]
+diff --git a/lib/mcollective/vendor/systemu/samples/c.rb b/lib/mcollective/vendor/systemu/samples/c.rb
+deleted file mode 100644
+index c3ffc54..0000000
+--- a/lib/mcollective/vendor/systemu/samples/c.rb
++++ /dev/null
+@@ -1,10 +0,0 @@
+-#
+-# of course stdin can be supplied too.  synonyms for 'stdin' include '0' and
+-# 0.  the other stdio streams have similar shortcuts
+-#
+-  require 'systemu'
+-
+-  cat = %q( ruby -e"  ARGF.each{|line| puts line}  " )
+-
+-  status = systemu cat, 0=>'the stdin for cat', 1=>stdout=''
+-  puts stdout
+diff --git a/lib/mcollective/vendor/systemu/samples/d.rb b/lib/mcollective/vendor/systemu/samples/d.rb
+deleted file mode 100644
+index 84d4ae9..0000000
+--- a/lib/mcollective/vendor/systemu/samples/d.rb
++++ /dev/null
+@@ -1,11 +0,0 @@
+-#
+-# the cwd can be supplied
+-#
+-  require 'systemu'
+-  require 'tmpdir'
+-
+-  pwd = %q( ruby -e"  STDERR.puts Dir.pwd  " )
+-
+-  status = systemu pwd, 2=>(stderr=''), :cwd=>Dir.tmpdir
+-  puts stderr
+-
+diff --git a/lib/mcollective/vendor/systemu/samples/e.rb b/lib/mcollective/vendor/systemu/samples/e.rb
+deleted file mode 100644
+index 2c26e62..0000000
+--- a/lib/mcollective/vendor/systemu/samples/e.rb
++++ /dev/null
+@@ -1,9 +0,0 @@
+-#
+-# any environment vars specified are merged into the child's environment
+-#
+-  require 'systemu'
+-
+-  env = %q( ruby -r yaml -e"  puts ENV[ 'answer' ] " )
+-
+-  status = systemu env, 1=>stdout='', 'env'=>{ 'answer' => 0b101010 }
+-  puts stdout
+diff --git a/lib/mcollective/vendor/systemu/samples/f.rb b/lib/mcollective/vendor/systemu/samples/f.rb
+deleted file mode 100644
+index 158301d..0000000
+--- a/lib/mcollective/vendor/systemu/samples/f.rb
++++ /dev/null
+@@ -1,18 +0,0 @@
+-#
+-# if a block is specified then it is passed the child pid and run in a
+-# background thread.  note that this thread will __not__ be blocked during the
+-# execution of the command so it may do useful work such as killing the child
+-# if execution time passes a certain threshold
+-#
+-  require 'systemu'
+-
+-  looper = %q( ruby -e" loop{ STDERR.puts Time.now.to_i; sleep 1 } " )
+-
+-  status, stdout, stderr =
+-    systemu looper do |cid|
+-      sleep 3
+-      Process.kill 9, cid
+-    end
+-
+-  p status
+-  p stderr
+diff --git a/lib/mcollective/vendor/systemu/systemu.gemspec b/lib/mcollective/vendor/systemu/systemu.gemspec
+deleted file mode 100644
+index 74e0c45..0000000
+--- a/lib/mcollective/vendor/systemu/systemu.gemspec
++++ /dev/null
+@@ -1,27 +0,0 @@
+-## systemu.gemspec
+-#
+-
+-Gem::Specification::new do |spec|
+-  spec.name = "systemu"
+-  spec.version = "2.2.0"
+-  spec.platform = Gem::Platform::RUBY
+-  spec.summary = "systemu"
+-  spec.description = "description: systemu kicks the ass"
+-
+-  spec.files = ["lib", "lib/systemu.rb", "LICENSE", "Rakefile", "README", "README.erb", "samples", "samples/a.rb", "samples/b.rb", "samples/c.rb", "samples/d.rb", "samples/e.rb", "samples/f.rb"]
+-  spec.executables = []
+-  
+-  spec.require_path = "lib"
+-
+-  spec.has_rdoc = true
+-  spec.test_files = nil
+-
+-# spec.add_dependency 'lib', '>= version'
+-
+-  spec.extensions.push(*[])
+-
+-  spec.rubyforge_project = "codeforpeople"
+-  spec.author = "Ara T. Howard"
+-  spec.email = "ara.t.howard at gmail.com"
+-  spec.homepage = "http://github.com/ahoward/systemu"
+-end
+
diff --git a/0002-Don-t-enable-services-by-default.patch b/0002-Don-t-enable-services-by-default.patch
new file mode 100644
index 0000000..0a40348
--- /dev/null
+++ b/0002-Don-t-enable-services-by-default.patch
@@ -0,0 +1,61 @@
+From e94536dd65ee717830990c50f6eedce310d4373e Mon Sep 17 00:00:00 2001
+From: "Jeffrey C. Ollie" <jeff at ocjtech.us>
+Date: Mon, 5 Dec 2011 16:07:20 -0600
+Subject: [PATCH 2/2] Don't enable services by default.
+
+---
+ mcollective.init    |    6 +++---
+ mcollective.init-rh |    6 +++---
+ 2 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/mcollective.init b/mcollective.init
+index 37e96ab..eaff24d 100755
+--- a/mcollective.init
++++ b/mcollective.init
+@@ -2,7 +2,7 @@
+ #
+ # mcollective   Application Server for STOMP based agents
+ #
+-# chkconfig:    345 24 76
++# chkconfig:    - 24 76
+ #
+ # description:  mcollective lets you build powerful Stomp compatible middleware clients in ruby without having to worry too
+ #               much about all the setup and management of a Stomp connection, it also provides stats, logging and so forth
+@@ -12,8 +12,8 @@
+ # Provides:          mcollective
+ # Required-Start:    $remote_fs
+ # Required-Stop:     $remote_fs
+-# Default-Start:     2 3 4 5
+-# Default-Stop:      0 1 6
++# Default-Start:     
++# Default-Stop:      0 1 2 3 4 5 6
+ # Short-Description: Start daemon at boot time
+ # Description:       Enable service provided by daemon.
+ ### END INIT INFO
+diff --git a/mcollective.init-rh b/mcollective.init-rh
+index feebc0c..aa9a3d4 100755
+--- a/mcollective.init-rh
++++ b/mcollective.init-rh
+@@ -2,7 +2,7 @@
+ #
+ # mcollective   Application Server for STOMP based agents
+ #
+-# chkconfig:    345 24 76
++# chkconfig:    - 24 76
+ #
+ # description:  mcollective lets you build powerful Stomp compatible middleware clients in ruby without having to worry too
+ #               much about all the setup and management of a Stomp connection, it also provides stats, logging and so forth
+@@ -12,8 +12,8 @@
+ # Provides:          mcollective
+ # Required-Start:    $remote_fs
+ # Required-Stop:     $remote_fs
+-# Default-Start:     2 3 4 5
+-# Default-Stop:      0 1 6
++# Default-Start:     
++# Default-Stop:      0 1 2 3 4 5 6
+ # Short-Description: Start daemon at boot time
+ # Description:       Enable service provided by daemon.
+ ### END INIT INFO
+-- 
+1.7.7.4
+
diff --git a/mcollective.service b/mcollective.service
new file mode 100644
index 0000000..bad474b
--- /dev/null
+++ b/mcollective.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=The Marionette Collective
+After=network.target
+
+[Service]
+StandardOutput=syslog
+StandardError=syslog
+ExecStart=/usr/sbin/mcollectived --config=/etc/mcollective/server.cfg
+
+[Install]
+WantedBy=multi-user.target
diff --git a/mcollective.spec b/mcollective.spec
new file mode 100644
index 0000000..3a35d74
--- /dev/null
+++ b/mcollective.spec
@@ -0,0 +1,228 @@
+%{!?ruby_sitelib: %global ruby_sitelib %(ruby -rrbconfig -e 'puts Config::CONFIG["sitelibdir"] ')}
+
+Summary: A framework to build server orchestration or parallel job execution systems
+Name: mcollective
+Version: 1.3.1
+Release: 6%{?dist}
+Group: Applications/System
+License: ASL 2.0
+
+URL: http://marionette-collective.org/
+
+Source0: http://puppetlabs.com/downloads/mcollective/%{name}-%{version}.tgz
+Source1: mcollective.service
+Patch1: 0001-get-rid-of-vendor-libraries.patch
+Patch2: 0002-Don-t-enable-services-by-default.patch
+
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+
+BuildRequires: ruby
+%if 0%{?fedora} >= 15
+BuildRequires: systemd-units
+%endif
+
+Requires: mcollective-common = %{version}-%{release}
+
+%if 0%{?fedora} >= 15
+Requires(post): systemd-units
+Requires(preun): systemd-units
+Requires(postun): systemd-units
+Requires(post): systemd-sysv
+%endif
+
+BuildArch: noarch
+
+%package common
+Summary: Common libraries for the mcollective clients and servers
+Group: Applications/System
+Requires: ruby
+Requires: ruby(abi) = 1.8
+Requires: rubygems
+Requires: rubygem(json)
+Requires: rubygem(stomp)
+Requires: rubygem(systemu)
+
+%description common
+Common libraries for the mcollective clients and servers
+
+%package client
+Summary: Client tools for the mcollective application server
+Requires: mcollective-common = %{version}-%{release}
+Group: Applications/System
+
+%description client
+Client tools for the mcollective application server
+
+%description
+The Marionette Collective is a framework to build server orchestration
+or parallel job execution systems.
+
+%prep
+%setup0 -q
+%patch1 -p1
+%patch2 -p1
+
+%build
+%if 0%{?fedora} <= 14 || 0%{?rhel}
+%{__sed} -i -e 's/^daemonize = .*$/daemonize = 1/' etc/server.cfg.dist
+%endif
+%if 0%{?fedora} >= 15
+%{__sed} -i -e 's/^daemonize = .*$/daemonize = 0/' etc/server.cfg.dist
+%endif
+
+%install
+rm -rf %{buildroot}
+
+%{__install} -d -m0755  %{buildroot}/%{ruby_sitelib}/mcollective
+cp --preserve=timestamps --recursive lib/* %{buildroot}/%{ruby_sitelib}
+
+%{__install} -d -m0755  %{buildroot}/usr/sbin
+%{__install} -p -m0755 mcollectived.rb %{buildroot}/usr/sbin/mcollectived
+for f in mc-*
+do
+  %{__install} -p -m0755 $f %{buildroot}/usr/sbin/$f
+done
+%{__install} -p -m0755 mco %{buildroot}/usr/sbin/mco
+
+%if 0%{?fedora} <= 14 || 0%{?rhel}
+%{__install} -d -m0755  %{buildroot}%{_initrddir}
+%{__install} -p -m0755 mcollective.init %{buildroot}%{_initrddir}/mcollective
+%endif
+
+%if 0%{?fedora} >= 15
+%{__install} -d -m0755  %{buildroot}%{_unitdir}
+%{__install} -p -m0644 %{SOURCE1} %{buildroot}%{_unitdir}/mcollective.service
+%endif
+
+%{__install} -d -m0755  %{buildroot}/usr/libexec/mcollective
+cp --preserve=timestamps --recursive plugins/* %{buildroot}/usr/libexec/mcollective
+
+%{__install} -d -m0755  %{buildroot}/etc/mcollective
+%{__install} -d -m0755  %{buildroot}/etc/mcollective/ssl
+%{__install} -d -m0755  %{buildroot}/etc/mcollective/ssl/clients
+%{__install} -p -m0640 etc/server.cfg.dist %{buildroot}/etc/mcollective/server.cfg
+%{__install} -p -m0640 etc/client.cfg.dist %{buildroot}/etc/mcollective/client.cfg
+%{__install} -p -m0644 etc/facts.yaml.dist %{buildroot}/etc/mcollective/facts.yaml
+%{__install} -p -m0644 etc/rpc-help.erb %{buildroot}/etc/mcollective/rpc-help.erb
+
+%clean
+rm -rf %{buildroot}
+
+%post
+%if 0%{?fedora} <= 14 || 0%{?rhel}
+/sbin/chkconfig --add mcollective || :
+%endif
+%if 0%{?fedora} >= 15
+if [ $1 -eq 1 ] ; then
+    # Initial installation
+    /bin/systemctl daemon-reload >/dev/null 2>&1 || :
+fi
+%endif
+
+%postun
+%if 0%{?fedora} <= 14 || 0%{?rhel}
+if [ "$1" -ge 1 ]; then
+        /sbin/service mcollective condrestart &>/dev/null || :
+fi
+%endif
+%if 0%{?fedora} >= 15
+/bin/systemctl daemon-reload >/dev/null 2>&1 || :
+if [ $1 -ge 1 ] ; then
+    # Package upgrade, not uninstall
+    /bin/systemctl try-restart mcollective.service >/dev/null 2>&1 || :
+fi
+%endif
+
+%preun
+%if 0%{?fedora} <= 14 || 0%{?rhel}
+if [ "$1" = 0 ] ; then
+  /sbin/service mcollective stop > /dev/null 2>&1
+  /sbin/chkconfig --del mcollective || :
+fi
+%endif
+%if 0%{?fedora} >= 15
+if [ $1 -eq 0 ] ; then
+    # Package removal, not upgrade
+    /bin/systemctl --no-reload disable mcollective.service > /dev/null 2>&1 || :
+    /bin/systemctl stop mcollective.service > /dev/null 2>&1 || :
+fi
+%endif
+
+%if 0%{?fedora} >= 15
+%triggerun -- mcollective < 1.3.1-1
+# Save the current service runlevel info
+# User must manually run systemd-sysv-convert --apply httpd
+# to migrate them to systemd targets
+/usr/bin/systemd-sysv-convert --save mcollective >/dev/null 2>&1 ||:
+
+# Run these because the SysV package being removed won't do them
+/sbin/chkconfig --del mcollective >/dev/null 2>&1 || :
+/bin/systemctl try-restart mcollective.service >/dev/null 2>&1 || :
+%endif
+
+%files common
+%defattr(-,root,root,-)
+%doc COPYING
+%{ruby_sitelib}/mcollective.rb
+%{ruby_sitelib}/mcollective
+/usr/libexec/mcollective
+%dir /etc/mcollective
+%dir /etc/mcollective/ssl
+
+%files client
+%defattr(-,root,root,-)
+%doc COPYING
+%config(noreplace) /etc/mcollective/client.cfg
+%config(noreplace) /etc/mcollective/rpc-help.erb
+%{_sbindir}/mc-*
+%{_sbindir}/mco
+
+%files
+%defattr(-,root,root,-)
+%doc COPYING
+%config(noreplace) /etc/mcollective/server.cfg
+%config(noreplace) /etc/mcollective/facts.yaml
+%{_sbindir}/mcollectived
+%if 0%{?fedora} <= 14 || 0%{?rhel}
+%{_initrddir}/mcollective
+%endif
+%if 0%{?fedora} >= 15
+%{_unitdir}/mcollective.service
+%endif
+%dir /etc/mcollective/ssl/clients
+
+%changelog
+* Wed Dec  7 2011 Jeffrey Ollie <jeff at ocjtech.us> - 1.3.1-6
+- Use sed instead of perl in build section
+
+* Tue Dec  6 2011 Jeffrey Ollie <jeff at ocjtech.us> - 1.3.1-5
+- Use patches instead of perl
+- Remove included copy of systemu
+
+* Mon Dec  5 2011 Jeffrey Ollie <jeff at ocjtech.us> - 1.3.1-4
+- More work on keeping init scripts disabled by default
+- reorder defattr and doc lines
+
+* Thu Dec  1 2011 Jeffrey Ollie <jeff at ocjtech.us> - 1.3.1-3
+- Don't enable SysV init script by default
+- use sbindir macro for a few more things
+- fix config(noreplace) flag
+- default file attributes for EPEL
+
+* Thu Nov 17 2011 Jeffrey Ollie <jeff at ocjtech.us> - 1.3.1-2
+- Remove internal copy of JSON library
+
+* Thu Nov 17 2011 Jeffrey Ollie <jeff at ocjtech.us> - 1.3.1-1
+- Update to 1.3.1
+
+* Thu Aug 18 2011 Jeffrey Ollie <jeff at ocjtech.us> - 1.3.0-1
+- Update to 1.3.0
+
+* Fri May 27 2011 Jeffrey Ollie <jeff at ocjtech.us> - 1.2.0-2
+- Add mco script
+
+* Mon May 23 2011 Jeffrey Ollie <jeff at ocjtech.us> - 1.2.0-1
+- Update to 1.2.0
+
+* Wed Apr 20 2011 Jeffrey Ollie <jeff at ocjtech.us> - 1.1.3-3
+- First version for Fedora
diff --git a/sources b/sources
index e69de29..bef3c46 100644
--- a/sources
+++ b/sources
@@ -0,0 +1 @@
+c63901134ea66973702720861f020d3a  mcollective-1.3.1.tgz


More information about the scm-commits mailing list