Add Kythe to prebuilts/tools

Kythe in combination with Bazel will allow us to have
cross-references and jump-to-definition support on our
sources.

See README.google for details on how this was integrated.

Change-Id: I28afb766bdb806b0bedef8a8b7d11fc98e429c5b
diff --git a/linux-x86_64/kythe/LICENSE b/linux-x86_64/kythe/LICENSE
new file mode 100644
index 0000000..d645695
--- /dev/null
+++ b/linux-x86_64/kythe/LICENSE
@@ -0,0 +1,202 @@
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
diff --git a/linux-x86_64/kythe/README.google b/linux-x86_64/kythe/README.google
new file mode 100644
index 0000000..95e5611
--- /dev/null
+++ b/linux-x86_64/kythe/README.google
@@ -0,0 +1,13 @@
+URL: https://github.com/google/kythe/releases/download/v0.0.23/kythe-v0.0.23.tar.gz
+Version: 0.0.23
+License: Apache 2.0
+License File: LICENSE
+
+Description:
+Kythe is a pluggable, (mostly) language-agnostic ecosystem for building
+tools that work with code. https://kythe.io
+
+Local Modifications:
+-added extractors/BUILD and extractors/vnames.json
+-patched in https://github.com/google/kythe/commit/bd502d99c0605f52bb268e109598487327abaceb
+-added scripts to studio/ to run kythe over Android Studio.
diff --git a/linux-x86_64/kythe/README.md b/linux-x86_64/kythe/README.md
new file mode 100644
index 0000000..0b01d79
--- /dev/null
+++ b/linux-x86_64/kythe/README.md
@@ -0,0 +1,165 @@
+*WARNING:* Kythe is alpha.  Use at your own risk.
+
+Kythe is a pluggable, (mostly) language-agnostic ecosystem for building tools
+that work with code.  This release contains the core set of indexers,
+extractors, and tools directly supported by the Kythe team.
+
+*License:* Apache Licence, Version 2.0
+
+# Contents
+ - indexers
+   - cxx_indexer              :: C++ indexer
+   - java_indexer.jar         :: Java indexer
+ - extractors
+   - bazel_cxx_extractor      :: C++ extractor for Bazel extra_actions
+   - bazel_java_extractor.jar :: Java extractor for Bazel extra_actions
+   - cxx_extractor            :: C++ extractor
+   - javac_extractor.jar      :: Java extractor
+   - javac-wrapper.sh         :: javac wrapper script for extractor
+ - proto                      :: Protocol buffer definitions of public APIs
+ - tools
+   - dedup_stream             :: Removes duplicates entries from a delimited stream
+   - directory_indexer        :: Emits Kythe file nodes for some local paths
+   - entrystream              :: Generic Kythe entry stream processor
+   - http_server              :: HTTP/GRPC server for Kythe service APIs (xrefs, filetree, search)
+   - indexpack                :: Converts between .kindex archives and indexpacks
+   - kwazthis                 :: Determine what Kythe node(s) are at a particular point in a file
+   - kythe                    :: CLI for the service APIs exposed by http_server
+   - read_entries             :: Dumps a GraphStore's contents as an entry stream
+   - triples                  :: Converts an entry stream (or GraphStore) to N-Triples
+   - verifier                 :: Verifies indexer outputs with source-inlined goals
+   - viewindex                :: Dumps a .kindex file as JSON
+   - write_entries            :: Writes an entry stream to a GraphStore
+   - write_tables             :: Processes a GraphStore into efficient serving tables for http_server
+
+# Dependencies
+ - Java JDK >=8
+ - libncurses
+ - libuuid
+
+## Debian Jessie Install
+
+    echo "deb http://http.debian.net/debian jessie-backports main" >> /etc/apt/sources.list
+    apt-get install openjdk-8-jdk libncurses5 libssl1.0.0
+
+# End-to-end Java Example
+
+```
+# Install Kythe
+tar xzf kythe-v*.tar.gz
+rm -rf /opt/kythe
+mv kythe-v*/ /opt/kythe
+
+git clone https://github.com/GoogleCloudPlatform/DataflowJavaSDK.git
+cd DataflowJavaSDK
+
+# Setup the Java extractor's environment
+export REAL_JAVAC="$(which javac)"
+export JAVAC_EXTRACTOR_JAR=/opt/kythe/extractors/javac_extractor.jar
+export KYTHE_ROOT_DIRECTORY="$PWD"
+export KYTHE_OUTPUT_DIRECTORY="/tmp/kythe"
+export KYTHE_CORPUS=DataflowJavaSDK
+mkdir -p "$KYTHE_OUTPUT_DIRECTORY"
+
+# Force Maven to compile with extractors/javac-wrapper.sh
+mvn clean compile \
+  -Dmaven.compiler.forceJavacCompilerUse=true \
+  -Dmaven.compiler.fork=true \
+  -Dmaven.compiler.executable=/opt/kythe/extractors/javac-wrapper.sh
+
+cd ..
+
+# Index the resulting .kindex files, deduplicate the entries, and finally store
+# them in a GraphStore
+GRAPHSTORE=/tmp/kythe_graphstore
+rm -rf "$GRAPHSTORE"
+find "$KYTHE_OUTPUT_DIRECTORY" -name '*.kindex' | \
+  xargs -L1 java -jar /opt/kythe/indexers/java_indexer.jar | \
+  /opt/kythe/tools/dedup_stream | \
+  /opt/kythe/tools/write_entries --graphstore $GRAPHSTORE
+
+# Process the GraphStore into serving tables
+SERVING=/tmp/kythe_serving
+rm -rf "$SERVING"
+/opt/kythe/tools/write_tables --graphstore $GRAPHSTORE --out "$SERVING"
+
+# Launch Kythe's service APIs as an HTTP server listening to only local
+# connections on port 9898.  Using `--listen :9898` instead will allow
+# connections from other networked machines.
+/opt/kythe/tools/http_server --serving_table "$SERVING" \
+  --public_resources /opt/kythe/web/ui --listen localhost:9898
+
+# The sample web UI will be serving at http://localhost:9898
+
+# /opt/kythe/tools/kythe and /opt/kythe/tools/kwazthis can be used with the
+# local running server by passing the '--api=http://localhost:9898' flag.
+```
+
+# Usage
+
+## Extractors
+
+`extractors/cxx_extractor` and `extractors/javac_extractor.jar` are
+flag-compatible replacements for clang and javac, respectively.  Instead of
+performing a full compilation, they extract the compilation's full context
+including all file inputs and archive them in a .kindex file.
+
+Since each extractor is meant to replace a compiler, all configuration is passed
+by the following environment variables:
+
+    KYTHE_ROOT_DIRECTORY (required): root directory of the repository being compiled.
+        This helps the extractor correctly infer file input paths.
+    KYTHE_OUTPUT_DIRECTORY (required): output directory for resulting .kindex
+        files
+    KYTHE_VNAMES: path to a JSON-encoded VNames configuration file.  See
+        https://godoc.org/github.com/google/kythe/kythe/go/storage/vnameutil for
+        more details on the file's format and
+        https://kythe.io/repo/kythe/data/vnames.json for an example.
+    KYTHE_CORPUS: the name of the corpus for all constructed VNames (only used if
+        KYTHE_VNAMES is unset; defaults to "kythe")
+
+`extractors/javac-wrapper.sh` is provided as one way to inject an extractor into
+a build system -- by wrapping each compiler command.  For instance, Maven
+compilations can easily be extracted by replacing `$JAVA_HOME/bin/javac` with
+this script and setting the following Maven options:
+
+    -Dmaven.compiler.forceJavacCompilerUse=true
+    -Dmaven.compiler.fork=true
+    -Dmaven.compiler.executable=$JAVA_HOME/bin/javac
+
+Read `extractors/javac-wrapper.sh` for more details on its usage and see
+examples usages in the Docker images defined at
+https://kythe.io/repo/kythe/java/com/google/devtools/kythe/extractors/java/standalone/Dockerfile
+and
+https://kythe.io/repo/kythe/java/com/google/devtools/kythe/extractors/java/maven/Dockerfile.
+
+### Examples:
+
+    export KYTHE_ROOT_DIRECTORY="$PWD"
+    export KYTHE_OUTPUT_DIRECTORY=/tmp/kythe
+
+    mkdir -p "$KYTHE_OUTPUT_DIRECTORY"
+
+    java -Xbootclasspath/p:extractors/javac_extractor.jar \
+      -jar extractors/javac_extractor.jar \
+      -cp "${$(find third_party -name '*.jar' -printf '%p:')%:}" \
+      $(find src/main -name '*.java')
+
+    extractors/cxx_extractor -Ithird_party/include some.cc
+
+## Indexers
+
+`indexers/cxx_indexer` and `indexers/java_indexer.jar` analyze the .kindex files
+produced by the extractors and emit a stream of protobuf wire-encoded facts
+(entries) that conform to https://kythe.io/schema.  The output stream can be
+processed by many of the accompanying binaries in the tools/ directory.
+
+### Examples
+
+    java -jar indexers/java_indexer.jar \
+      /tmp/kythe/065c7a9a0789d09b73d74b0ca17cfcec6643d69a6218d095d19a770b10dffdf9.kindex \
+      > java.entries
+
+    indexers/cxx_indexers \
+      /tmp/kythe/579d266e5914257a9bd4458eb9b218690280ae15123d642025f224d10f64e6f3.kindex \
+      > cxx.entries
diff --git a/linux-x86_64/kythe/RELEASES.md b/linux-x86_64/kythe/RELEASES.md
new file mode 100644
index 0000000..2928732
--- /dev/null
+++ b/linux-x86_64/kythe/RELEASES.md
@@ -0,0 +1,232 @@
+# Release Notes
+
+## v0.0.23
+
+Notable changes:
+ - CrossReferences API: hide signature generation behind feature flag
+ - Java indexer: emit `ref/imports` anchors for imported symbols
+
+Notable additions:
+ - Java indexer: emit basic `format` facts
+
+## v0.0.22
+
+Notable changes:
+ - Schema: `callable` nodes and `callableas` edges have been removed.
+ - `xrefs.CrossReferences`: change Anchors in the reply to RelatedAnchors
+ - Removed search API
+
+## v0.0.21
+
+Notable changes:
+ - xrefs service: replace most repeated fields with maps
+ - xrefs service: add `ordinal` field to each EdgeSet edge
+ - `xrefs.CrossReferences`: group declarations/definitions for incomplete nodes
+ - C++ indexer: `--flush_after_each_entry` now defaults to `true`
+
+Notable additions:
+ - `xrefs.Decorations`: add experimental `target_definitions` switch
+ - kythe tool: add `--graphviz` output flag to `edges` subcommand
+ - kythe tool: add `--target_definitions` switch to `decor` subcommand
+
+Notable fixes:
+  `write_tables`: correctly handle nodes with missing facts
+ - Javac extractor: add processors registered in META-INF/services
+ - javac-wrapper.sh: prepend bootclasspath jar to use packaged javac tools
+
+## v0.0.20
+
+Notable fixes:
+ - Java indexer: reduce redundant AST traversals causing large slowdowns
+
+## v0.0.19
+
+Notable changes:
+ - C++ extractor: `KYTHE_ROOT_DIRECTORY` no longer changes the working
+   directory during extraction, but does still change the root for path
+   normalization.
+ - `http_server`: ensure the given `--serving_table` exists (do not create, if missing)
+ - Java indexer: fixes/tests for interfaces, which now have `extends` edges
+ - `kythe` tool: display subkinds for related nodes in xrefs subcommand
+
+Notable additions:
+ - `entrystream`: add `--unique` flag
+ - `write_tables`: add `--entries` flag
+
+## v0.0.18
+
+Notable changes:
+ - C++ indexer: `--ignore_unimplemented` now defaults to `true`
+ - Java indexer: emit single anchor for package in qualified identifiers
+
+Notable additions:
+ - Java indexer: add callgraph edges
+ - Java indexer: add Java 8 member reference support
+
+## v0.0.17
+
+Notable additions:
+ - `write_tables`: produce serving data for xrefs.CrossReferences method
+ - `write_tables`: add flags to tweak performance
+     - `--compress_shards`: determines whether intermediate data written to disk
+       should be compressed
+     - `--max_shard_size`: maximum number of elements (edges, decoration
+       fragments, etc.) to keep in-memory before flushing an intermediary data
+       shard to disk
+     - `--shard_io_buffer`: size of the reading/writing buffers for the
+       intermediary data shards
+
+## v0.0.16
+
+Notable changes:
+ - Denormalize the serving table format
+ - xrefs.Decorations: only return Reference targets in DecorationsReply.Nodes
+ - Use proto3 JSON mapping for web requests: https://developers.google.com/protocol-buffers/docs/proto3#json
+ - Java indexer: report error when indexing from compilation's source root
+ - Consistently use corpus root relative paths in filetree API
+ - Java, C++ indexer: ensure file node VNames to be schema compliant
+ - Schema: File nodes should no longer have the `language` VName field set
+
+Notable additions:
+ - Java indexer: emit (possibly multi-line) snippets over entire surrounding statement
+ - Java indexer: emit class node for static imports
+
+Notable fixes:
+ - Java extractor: correctly parse @file arguments using javac CommandLine parser
+ - Java extractor: correctly parse/load -processor classes
+ - xrefs.Edges: correctly return empty page_token on last page (when filtering by edge kinds)
+
+## v0.0.15
+
+Notable changes:
+ - Java 8 is required for the Java extractor/indexer
+
+Notable fixes:
+ - `write_tables`: don't crash when given a node without any edges
+ - Java extractor: ensure output directory exists before writing kindex
+
+## v0.0.14
+
+Notable fixes:
+ - Bazel Java extractor: filter out Bazel-specific flags
+ - Java extractor/indexer: filter all unsupported options before yielding to the compiler
+
+## v0.0.13
+
+Notable additions:
+ - Java indexer: add `ref/doc` anchors for simple class references in JavaDoc
+ - Java indexer: emit JavaDoc comments more consistently; emit enum documentation
+
+## v0.0.12
+
+Notable changes:
+ - C++ indexer: rename `/kythe/edge/defines` to `/kythe/edge/defines/binding`
+ - Java extractor: change failure to warning on detection of non-java sources
+ - Java indexer: `defines` anchors span an entire class/method/var definition (instead of
+                 just their identifier; see below for `defines/binding` anchors)
+ - Add public protocol buffer API/message definitions
+
+Notable additions:
+ - Java indexer: `ref` anchors span import packages
+ - Java indexer: `defines/binding` anchors span a definition's identifier (identical
+                  behavior to previous `defines` anchors)
+ - `http_server`: add `--http_allow_origin` flag that adds the `Access-Control-Allow-Origin` header to each HTTP response
+
+## v0.0.11
+
+Notable additions:
+ - Java indexer: name node support for array types, builtins, files, and generics
+
+Notable fixes:
+ - Java indexer: stop an exception from being thrown when a line contains multiple comments
+
+## v0.0.10
+
+Notable additions:
+ - `http_server`: support TLS HTTP2 server interface
+ - Java indexer: broader `name` node coverage
+ - Java indexer: add anchors for method/field/class definition comments
+ - `write_table`: add `--max_edge_page_size` flag to control the sizes of each
+                  PagedEdgeSet and EdgePage written to the output table
+
+Notable fixes:
+ - `entrystream`: prevent panic when given `--entrysets` flag
+
+## v0.0.9
+
+Notable changes:
+ - xrefs.Decorations: nodes will not be populated unless given a fact filter
+ - xrefs.Decorations: each reference has its associated anchor start/end byte offsets
+ - Schema: loosened restrictions on VNames to permit hashing
+
+Notable additions:
+ - dedup_stream: add `--cache_size` flag to limit memory usage
+ - C++ indexer: hash VNames whenever permitted to reduce output size
+
+Notable fixes:
+ - write_tables: avoid deadlock in case of errors
+
+## v0.0.8
+
+Notable additions:
+ - Java extractor: add JavaDetails to each CompilationUnit
+ - Release the indexer verifier tool (see http://www.kythe.io/docs/kythe-verifier.html)
+
+Notable fixes:
+ - write_tables: ensure that all edges are scanned for FileDecorations
+ - kythe refs command: normalize locations within dirty buffer, if given one
+
+## v0.0.7
+
+Notable changes:
+ - Dependencies: updated minimum LLVM revision. Run tools/modules/update.sh.
+ - C++ indexer: index definitions and references to member variables.
+ - kwazthis: replace `--ignore_local_repo` behavior with `--local_repo=NONE`
+
+Notable additions:
+ - kwazthis: if found, automatically send local file as `--dirty_buffer`
+ - kwazthis: return `/kythe/edge/typed` target ticket for each node
+
+## v0.0.6
+
+Notable additions:
+ - kwazthis: allow `--line` and `--column` info in place of a byte `--offset`
+ - kwazthis: the `--api` flag can now handle a local path to a serving table
+
+Notable fixes:
+ - Java indexer: don't generate anchors for implicit constructors
+
+## v0.0.5
+
+Notable additions:
+ - Bazel `extra_action` extractors for C++ and Java
+ - Implementation of DecorationsRequest.dirty_buffer in xrefs serving table
+
+## v0.0.4
+
+Notable changes:
+ - `kythe` tool: merge `--serving_table` flag into `--api` flag
+
+Notable fixes:
+ - Allow empty requests in `http_server`'s `/corpusRoots` handler
+ - Java extractor: correctly handle symlinks in KYTHE_ROOT_DIRECTORY
+
+## v0.0.3
+
+Notable changes:
+ - Go binaries no longer require shared libraries for libsnappy or libleveldb
+ - kythe tool: `--log_requests` global flag
+ - Java indexer: `--print_statistics` flag
+
+## v0.0.2
+
+Notable changes:
+ - optimized binaries
+ - more useful CLI `--help` messages
+ - remove sqlite3 GraphStore support
+ - kwazthis: list known definition locations for each node
+ - Java indexer: emit actual nodes for JDK classes
+
+## v0.0.1
+
+Initial release
diff --git a/linux-x86_64/kythe/extractors/BUILD b/linux-x86_64/kythe/extractors/BUILD
new file mode 100644
index 0000000..39b2468
--- /dev/null
+++ b/linux-x86_64/kythe/extractors/BUILD
@@ -0,0 +1,30 @@
+package(default_visibility = ["//visibility:public"])
+
+action_listener(
+    name = "extract_kindex",
+    extra_actions = [":extra_action"],
+    mnemonics = ["Javac"],
+    visibility = ["//visibility:public"],
+)
+
+extra_action(
+    name = "extra_action",
+    cmd = "$(location :java_extractor) $(EXTRA_ACTION_FILE) $(output $(ACTION_ID).java.kindex) $(location vnames.json)",
+    data = ["vnames.json"],
+    out_templates = ["$(ACTION_ID).java.kindex"],
+    tools = [":java_extractor"],
+)
+
+java_binary(
+    name = "java_extractor",
+    main_class = "com.google.devtools.kythe.extractors.java.bazel.JavaExtractor",
+    runtime_deps = [
+            ":java_extractor_jar"
+    ],
+)
+
+
+java_import(
+    name= "java_extractor_jar",
+    jars = [ "bazel_java_extractor.jar" ],
+)
\ No newline at end of file
diff --git a/linux-x86_64/kythe/extractors/bazel_cxx_extractor b/linux-x86_64/kythe/extractors/bazel_cxx_extractor
new file mode 100755
index 0000000..3128657
--- /dev/null
+++ b/linux-x86_64/kythe/extractors/bazel_cxx_extractor
Binary files differ
diff --git a/linux-x86_64/kythe/extractors/bazel_java_extractor.jar b/linux-x86_64/kythe/extractors/bazel_java_extractor.jar
new file mode 100755
index 0000000..6d87768
--- /dev/null
+++ b/linux-x86_64/kythe/extractors/bazel_java_extractor.jar
Binary files differ
diff --git a/linux-x86_64/kythe/extractors/cxx_extractor b/linux-x86_64/kythe/extractors/cxx_extractor
new file mode 100755
index 0000000..fe1c340
--- /dev/null
+++ b/linux-x86_64/kythe/extractors/cxx_extractor
Binary files differ
diff --git a/linux-x86_64/kythe/extractors/javac-wrapper.sh b/linux-x86_64/kythe/extractors/javac-wrapper.sh
new file mode 100755
index 0000000..c2dcbba
--- /dev/null
+++ b/linux-x86_64/kythe/extractors/javac-wrapper.sh
@@ -0,0 +1,67 @@
+#!/bin/bash
+
+# Copyright 2015 Google Inc. All rights reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Wrapper for extracting compilation information from javac invocations.  It
+# requires the same environment variables as the javac extractor (see
+# AbstractJavacWrapper.java).  In particular, it needs KYTHE_ROOT_DIRECTORY and
+# KYTHE_OUTPUT_DIRECTORY set to understand where the root of the compiled source
+# repository is and where to put the resulting .kindex files, respectively.
+#
+# This script assumes a usable java binary is on $PATH.
+#
+# This script is meant as a replacement for $JAVA_HOME/bin/javac.  It assumes
+# the true javac binary is in the same directory as itself and named
+# "javac.real".  The location of the real javac binary can be configured with
+# the REAL_JAVAC environment variable.  The default path for the javac extractor
+# jar is /opt/kythe/javac_extractor.jar but can be set with the
+# JAVAC_EXTRACTOR_JAR environment variable.
+#
+# If used in a Docker environment where KYTHE_ROOT_DIRECTORY and
+# KYTHE_OUTPUT_DIRECTORY are volumes, it can be useful to set the DOCKER_CLEANUP
+# environment variable so that files modified/created in either volume have
+# their owner/group set to the volume's root directory's owner/group.
+#
+# Other environment variables that may be passed to this script include:
+#   KYTHE_EXTRACT_ONLY: if set, suppress the call to javac after extraction
+#   TMPDIR: override the location of extraction logs and other temporary output
+
+export TMPDIR="${TMPDIR:-/tmp}"
+
+if [[ -z "$REAL_JAVAC" ]]; then
+  readonly REAL_JAVAC="$(dirname "$(readlink -e "$0")")/javac.real"
+fi
+if [[ -z "$JAVAC_EXTRACTOR_JAR" ]]; then
+  readonly JAVAC_EXTRACTOR_JAR="/opt/kythe/extractors/javac_extractor.jar"
+fi
+
+fix_permissions() {
+  local dir="${1:?missing path}"
+  chown -R $(stat "$dir" -c %u:%g) "$dir"
+}
+cleanup() {
+  fix_permissions "$KYTHE_ROOT_DIRECTORY"
+  fix_permissions "$KYTHE_OUTPUT_DIRECTORY"
+}
+if [[ -n "$DOCKER_CLEANUP" ]]; then
+  trap cleanup EXIT ERR INT
+fi
+
+java -Xbootclasspath/p:"$JAVAC_EXTRACTOR_JAR" \
+     -jar "$JAVAC_EXTRACTOR_JAR" \
+     "$@" >>"$TMPDIR"/javac-extractor.out 2>> "$TMPDIR"/javac-extractor.err
+if [[ -z "$KYTHE_EXTRACT_ONLY" ]]; then
+  "$REAL_JAVAC" "$@"
+fi
diff --git a/linux-x86_64/kythe/extractors/javac_extractor.jar b/linux-x86_64/kythe/extractors/javac_extractor.jar
new file mode 100755
index 0000000..94f4f35
--- /dev/null
+++ b/linux-x86_64/kythe/extractors/javac_extractor.jar
Binary files differ
diff --git a/linux-x86_64/kythe/extractors/vnames.json b/linux-x86_64/kythe/extractors/vnames.json
new file mode 100644
index 0000000..6ce7576
--- /dev/null
+++ b/linux-x86_64/kythe/extractors/vnames.json
@@ -0,0 +1,69 @@
+[
+  {
+    "pattern": "bazel-out/[^/]+/bin/([^/]+/javatests/.+/testdata)/.+\\.jar!/([^\\$]+)(\\$.+)?\\.class",
+    "vname": {
+      "corpus": "studio",
+      "path": "@1@/@2@.java"
+    }
+  },
+  {
+    "pattern": "bazel-out/[^/]+/bin/(.*?/java|javatests)/.*\\.jar!/([^\\$]+)(\\$.+)?\\.class",
+    "vname": {
+      "corpus": "studio",
+      "path": "@1@/@2@.java"
+    }
+  },
+  {
+    "pattern": "bazel-out/[^/]+/bin/[^/]+/proto/.*\\.jar!/([^\\$]+)(\\$.+)?\\.class",
+    "vname": {
+      "corpus": "studio",
+      "root": "GENERATED/proto/java",
+      "path": "@1@.java"
+    }
+  },
+  {
+    "pattern": "bazel-out/[^/]+/bin/third_party/go/src/((.*)/[^/]+\\.a)",
+    "vname": {
+      "corpus": "@2@",
+      "path": "@1@"
+    }
+  },
+  {
+    "pattern": "(/kythe_builtins/include)/(.*)",
+    "vname": {
+      "corpus": "cstdlib",
+      "root": "@1@",
+      "path": "@2@"
+    }
+  },
+  {
+    "pattern": "([^/]+/java|javatests/[^\\$]+)(\\$.+)?\\.(class|java)",
+    "vname": {
+      "corpus": "studio",
+      "path": "@1@.java"
+    }
+  },
+  {
+    "pattern": "(/usr/include/c\\+\\+/[^/]+)/(.*)",
+    "vname": {
+      "corpus": "libstdcxx",
+      "root": "@1@",
+      "path": "@2@"
+    }
+  },
+  {
+    "pattern": "/usr/include/(.*)",
+    "vname": {
+      "corpus": "cstdlib",
+      "root": "/usr/include",
+      "path": "@1@"
+    }
+  },
+  {
+    "pattern": "(.*)",
+    "vname": {
+      "corpus": "studio",
+      "path": "@1@"
+    }
+  }
+]
diff --git a/linux-x86_64/kythe/indexers/cxx_indexer b/linux-x86_64/kythe/indexers/cxx_indexer
new file mode 100755
index 0000000..ba2ef73
--- /dev/null
+++ b/linux-x86_64/kythe/indexers/cxx_indexer
Binary files differ
diff --git a/linux-x86_64/kythe/indexers/java_indexer.jar b/linux-x86_64/kythe/indexers/java_indexer.jar
new file mode 100755
index 0000000..842a90b
--- /dev/null
+++ b/linux-x86_64/kythe/indexers/java_indexer.jar
Binary files differ
diff --git a/linux-x86_64/kythe/proto/analysis.proto b/linux-x86_64/kythe/proto/analysis.proto
new file mode 100644
index 0000000..fdf665a
--- /dev/null
+++ b/linux-x86_64/kythe/proto/analysis.proto
@@ -0,0 +1,220 @@
+/*
+ * Copyright 2014 Google Inc. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+syntax = "proto3";
+
+package kythe.proto;
+option java_package = "com.google.devtools.kythe.proto";
+
+import "google/protobuf/any.proto";
+import "kythe/proto/storage.proto";
+
+// CompilationAnalyzer services are exposed by any program that wants to plug
+// into the Kythe pipeline to perform per-compilation analysis.
+service CompilationAnalyzer {
+  // Analyze is the main entry point for the analysis driver to send work to the
+  // analyzer.  The analysis may produce many outputs which will be streamed as
+  // framed AnalysisOutput messages.
+  //
+  // A driver may choose to retry analyses that return RPC errors.  It should
+  // not retry analyses that are reported as finished unless it is necessary to
+  // recover from an external production issue.
+  rpc Analyze(AnalysisRequest) returns (stream AnalysisOutput) {}
+}
+
+// FileDataServices are used by a CompilationAnalyzer to retrieve the contents of
+// input files required for analysis.
+service FileDataService {
+  // Get returns the contents of one or more files needed for analysis.  It is
+  // the server's responsibility to do any caching necessary to make this
+  // perform well, so that an analyzer does not need to implement its own
+  // caches unless it is doing something unusual.
+  //
+  // For each distinct path/digest pair in the request, the server must return
+  // exactly one response.  The order of the responses is arbitrary.
+  //
+  // For each requested file, one or both of the path and digest fields must be
+  // nonempty, otherwise an error is returned.  It is not an error for there to
+  // be no requested files, however.
+  rpc Get(FilesRequest) returns (stream FileData) {}
+}
+
+// An AnalysisRequest instructs an analyzer to perform an analysis on a single
+// CompilationUnit.
+message AnalysisRequest {
+  // The compilation to analyze.
+  CompilationUnit compilation = 1;
+
+  // The address of a file data service to use.  If this is provided, it should
+  // be used in preference to any other file data service the analyzer may know
+  // about for this compilation.
+  string file_data_service = 2;
+}
+
+// AnalysisOutput contains an output artifact for the current analysis taking
+// place.  A given analysis may not produce any outputs.  It is okay for an
+// indexer to send an empty AnalysisOutput message if needed to keep the RPC
+// channel alive; the driver must correctly handle this.
+message AnalysisOutput {
+  bytes value = 1;
+}
+
+// Describes a single unit of compilation.
+message CompilationUnit {
+  // The base VName for the compilation and any generated VNames from its
+  // analysis. Generally, the `language` component designates the language of
+  // the compilation's sources.
+  VName v_name = 1;
+
+  // The revision of the compilation.
+  string revision = 2;
+
+  // All files that might be touched in the course of this compilation.
+  // Consumers of the CompilationUnit may not assume anything about the order
+  // of the elements of this field.
+  repeated FileInput required_input = 3;
+
+  // Set by the extractor to indicate that the original input had compile
+  // errors. This is used to check validity of the sharded analysis.
+  bool has_compile_errors = 4;
+
+  // The arguments to pass to a compiler tool for this compilation unit,
+  // including the compiler executable, flags, and input files.
+  repeated string argument = 5;
+
+  // Of those files in `required_input`, the ones that this CompilationUnit
+  // is intended to analyze. This is necessary to support languages like Go,
+  // where a single translation unit may contain many source files that must all
+  // be processed at once (while excluding source files that belong to other
+  // CUs/packages, if any).
+  repeated string source_file = 6;
+
+  // The output key of the CompilationUnit; for example, the object file that
+  // it writes.  The output key for a compilation should match the path in the
+  // FileInfo message of a dependent compilation that consumes its output.
+  string output_key = 7;
+
+  // ContextDependentVersionColumn and ContextDependentVersionRow
+  // define a table that relates input contexts (keyed by a single
+  // source context per row) to tuples of (byte offset * linked context).
+  // When a FileInput F being processed in context C refers to another
+  // FileInput F' at offset O (perhaps because F has an #include directive at O)
+  // the context in which F' should be processed is the linked context derived
+  // from this table.
+  message ContextDependentVersionColumn {
+    // The byte offset into the file resource.
+    int32 offset = 1;
+    // The signature for the resulting context.
+    string linked_context = 2;
+  }
+
+  // See ContextDependentVersionColumn for details.
+  // It is valid for a ContextDependentVersionRow to have no columns. In this
+  // case, the associated FileInput was seen to exist in some context C, but
+  // did not refer to any other FileInputs while in that context.
+  message ContextDependentVersionRow {
+    // The context to be applied to all columns.
+    string source_context = 1;
+    // A map from byte offsets to linked contexts.
+    repeated ContextDependentVersionColumn column = 2;
+    // If true, this version should always be processed regardless of any
+    // claiming.
+    bool always_process = 3;
+  }
+
+  message FileInput {
+    // If set, overrides the `v_name` in the `CompilationUnit` for deriving
+    // VNames during analysis.
+    VName v_name = 1;
+
+    // The file's metadata. It is invalid to provide a FileInput without both
+    // the file's path and digest.
+    FileInfo info = 2;
+
+    // The file's context-dependent versions.
+    repeated ContextDependentVersionRow context = 3;
+  }
+
+  // The absolute path of the current working directory where the build tool
+  // was invoked.  During analysis, a file whose path has working_directory
+  // plus a path separator as an exact prefix is considered accessible from
+  // that same path without said prefix.  It is only necessary to set this
+  // field if the build tool requires it.
+  string working_directory = 8;
+
+  // For languages that make use of resource contexts (like C++), the context
+  // that should be initially entered.
+  // TODO(zarko): What is a "resource context"? Needs a clear definition and/or
+  // a link to one.
+  string entry_context = 9;
+
+  // An Env message represents the name and value of a single environment
+  // variable in the build environment.
+  message Env {
+    string name = 1;
+    string value = 2;
+  }
+
+  // A collection of environment variables that the build environment expects
+  // to be set.  As a rule, we only record variables here that must be set to
+  // specific values for the build to work.  Users of this field may not assume
+  // anything about the order of values; in particular the pipeline is free to
+  // sort by name in order to canonicalize the message.
+  repeated Env environment = 10;
+
+  // Per-language or per-tool details.
+  repeated google.protobuf.Any details = 11;
+}
+
+// A FilesRequest specifies a collection of files to be fetched from a
+// FileDataService.
+message FilesRequest {
+  repeated FileInfo files = 1;
+}
+
+// A FileInfo identifies a file used for analysis.
+// At least one of the path and digest fields must be non-empty.
+message FileInfo {
+  // The path of the file relative to the working directory of the compilation
+  // command, which is typically the root of the build.
+  // For example:
+  //  file/base/file.cc
+  //  ../../base/atomic_ref_count.h
+  string path = 1;
+
+  // The lowercase ascii hex SHA-256 digest of the file contents.
+  string digest = 2;
+}
+
+// A FileData carries the content of a single file, as returned from the Get
+// method of a FileDataService.
+message FileData {
+  // The content of the file, if known.  If missing == true, this field must be
+  // empty.
+  bytes content = 1;
+
+  // A (possibly normalized) copy of the non-empty fields of the FileInfo
+  // message from the Get request.  If either field from the original request
+  // was empty, the server may optionally fill in that field in the reply if it
+  // is known.  For example, if the client requested a file by path only and
+  // the server found it, the reply MAY fill in the digest.
+  FileInfo info = 2;
+
+  // If true, no data are available for the requested file, and the content
+  // field must be empty.  If false, the content field contains the complete
+  // file content (which may be empty).
+  bool missing = 3;
+}
diff --git a/linux-x86_64/kythe/proto/common.proto b/linux-x86_64/kythe/proto/common.proto
new file mode 100644
index 0000000..765f598
--- /dev/null
+++ b/linux-x86_64/kythe/proto/common.proto
@@ -0,0 +1,48 @@
+/*
+ * Copyright 2015 Google Inc. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+syntax = "proto3";
+
+package kythe.proto.common;
+
+// Fact represents a single key/value fact from the graph.
+message Fact {
+  string name = 1;
+  bytes value = 2;
+}
+
+// A Point represents a location within a file or buffer.
+//
+// If line_number ≤ 0, the line number and column offset are considered
+// unknown and will be ignored.
+//
+// A point with line_number > 0 is said to be _normalized_ if it satisfies
+// the constraint 0 ≤ column_offset ≤ bytelen(line_number); that is, if the
+// column_offset is within the actual range of the corresponding line.  A
+// point can be normalized by adjusting line_number and column_offset so that
+// this constraint is satisfied.  This may be impossible if the column offset
+// exceeds the bounds of the file.
+message Point {
+  int32 byte_offset = 1;
+  int32 line_number = 2;
+  int32 column_offset = 3;
+}
+
+// A Span represents an inclusive-exclusive range inside of a file or buffer.
+message Span {
+  Point start = 1;
+  Point end = 2;
+}
diff --git a/linux-x86_64/kythe/proto/cxx.proto b/linux-x86_64/kythe/proto/cxx.proto
new file mode 100644
index 0000000..fe8864b
--- /dev/null
+++ b/linux-x86_64/kythe/proto/cxx.proto
@@ -0,0 +1,62 @@
+/*
+ * Copyright 2015 Google Inc. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+syntax = "proto3";
+
+package kythe.proto;
+option java_package = "com.google.devtools.kythe.proto";
+
+// C++-specific details used in a CompilationUnit.
+// Its type is "kythe.io/proto/kythe.proto.CxxCompilationUnitDetails".
+message CxxCompilationUnitDetails {
+  // A path used to search for compilation resources.
+  message HeaderSearchDir {
+    // The path to search in. If relative, is relative to working_directory.
+    string path = 1;
+    // The kind of data stored in this directory.
+    // For C++, {0 = user code, 1 = system code, 2 = "extern C" system code}.
+    int32 characteristic_kind = 2;
+    // If true, this directory is a framework.
+    bool is_framework = 3;
+  }
+
+  // Configuration for header search. This may be a function
+  // of more state than is reflected in the environment and compiler
+  // arguments.
+  message HeaderSearchInfo {
+    // For C-family languages, the index of the first directory to require <>s.
+    int32 first_angled_dir = 1;
+    // For C-family languages, the index of the first directory to have the
+    // 'system_header' property.
+    int32 first_system_dir = 2;
+    // All search directories, ordered as {quoted, angled, system}.
+    repeated HeaderSearchDir dir = 3;
+  }
+
+  HeaderSearchInfo header_search_info = 1;
+
+  // Overrides the default assignment for the 'system_header' property for
+  // C-family languages for both quoted and angled includes. The last matching
+  // entry has effect.
+  message SystemHeaderPrefix {
+    // Matches if the include path has this string as a prefix.
+    string prefix = 1;
+    // Controls whether the matched path has the 'system_header' property.
+    bool is_system_header = 2;
+  }
+
+  repeated SystemHeaderPrefix system_header_prefix = 2;
+}
diff --git a/linux-x86_64/kythe/proto/filetree.proto b/linux-x86_64/kythe/proto/filetree.proto
new file mode 100644
index 0000000..2ce7d78
--- /dev/null
+++ b/linux-x86_64/kythe/proto/filetree.proto
@@ -0,0 +1,53 @@
+/*
+ * Copyright 2015 Google Inc. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+syntax = "proto3";
+
+package kythe.proto;
+option java_package = "com.google.devtools.kythe.proto";
+
+// FileTreeService provides an interface to explore a tree of files.
+service FileTreeService {
+  // CorpusRoots returns all known corpus/root pairs for stored files.
+  rpc CorpusRoots(CorpusRootsRequest) returns (CorpusRootsReply) {}
+
+  // Directory returns the file/sub-directory contents of the given directory.
+  rpc Directory(DirectoryRequest) returns (DirectoryReply) {}
+}
+
+message CorpusRootsRequest {}
+
+message CorpusRootsReply {
+  message Corpus {
+    string name = 1;
+    repeated string root = 2;
+  }
+  repeated Corpus corpus = 1;
+}
+
+message DirectoryRequest {
+  string corpus = 1;
+  string root = 2;
+  string path = 3;
+}
+
+message DirectoryReply {
+  // Set of tickets for each contained sub-directory's corpus, root, and path.
+  repeated string subdirectory = 1;
+
+  // Set of file tickets contained within this directory.
+  repeated string file = 2;
+}
diff --git a/linux-x86_64/kythe/proto/java.proto b/linux-x86_64/kythe/proto/java.proto
new file mode 100644
index 0000000..498645e
--- /dev/null
+++ b/linux-x86_64/kythe/proto/java.proto
@@ -0,0 +1,30 @@
+/*
+ * Copyright 2015 Google Inc. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+syntax = "proto3";
+
+package kythe.proto;
+option java_package = "com.google.devtools.kythe.proto";
+
+// Java-specific details used in a CompilationUnit.
+// Its type is "kythe.io/proto/kythe.proto.JavaDetails".
+message JavaDetails {
+  // List of classpaths used in the compilation.
+  repeated string classpath = 1;
+
+  // List of sourcepaths used in the compilation.
+  repeated string sourcepath = 2;
+}
diff --git a/linux-x86_64/kythe/proto/storage.proto b/linux-x86_64/kythe/proto/storage.proto
new file mode 100644
index 0000000..997243e
--- /dev/null
+++ b/linux-x86_64/kythe/proto/storage.proto
@@ -0,0 +1,213 @@
+/*
+ * Copyright 2014 Google Inc. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+syntax = "proto3";
+
+package kythe.proto;
+option java_package = "com.google.devtools.kythe.proto";
+
+// Persistent storage server for Kythe analysis data.
+// See: http://www.kythe.io/docs/kythe-storage.html
+service GraphStore {
+  // Read responds with all Entry messages that match the given ReadRequest.
+  // The Read operation should be implemented with time complexity proportional
+  // to the size of the return set.
+  rpc Read(ReadRequest) returns (stream Entry) {}
+
+  // Scan responds with all Entry messages matching the given ScanRequest.  If a
+  // ScanRequest field is empty, any entry value for that field matches and will
+  // be returned.  Scan is similar to Read, but with no time complexity
+  // restrictions.
+  rpc Scan(ScanRequest) returns (stream Entry) {}
+
+  // Write atomically inserts or updates a collection of entries into the store.
+  // Each update is a tuple of the form (kind, target, fact, value).  For each
+  // such update, an entry (source, kind, target, fact, value) is written into
+  // the store, replacing any existing entry (source, kind, target, fact,
+  // value') that may exist.  Note that this operation cannot delete any data
+  // from the store; entries are only ever inserted or updated.  Apart from
+  // acting atomically, no other constraints are placed on the implementation.
+  rpc Write(WriteRequest) returns (WriteReply) {}
+}
+
+// ShardedGraphStores can be arbitrarily sharded for parallel processing.
+// Depending on the implementation, these methods may not return consistent
+// results when the store is being written to.  Shards are indexed from 0.
+service ShardedGraphStore {
+  // Count returns the number of entries in the given shard.
+  rpc Count(CountRequest) returns (CountReply) {}
+
+  // Shard responds with each Entry in the given shard.
+  rpc Shard(ShardRequest) returns (stream Entry) {}
+}
+
+// VName is a proto representation of a vector name.
+//
+// Rules:
+//  - All fields must be optional, and must have default values.
+//  - No field may ever be removed.  If a field is deprecated, it may be
+//    renamed or marked with a comment, but must not be deleted.
+//  - New fields are always added to the end of the message.
+//  - All fields must be strings, not messages.
+//
+// One of the key principles is that we want as few fields as possible in a
+// vname.  We're not trying to exhaust the possible dimensions along which a
+// name could vary, but to find a minimal basis. Be conservative.
+message VName {
+  // A language-specific signature assigned by the analyzer.
+  // e.g., "com.google.common.collect.Lists.newLinkedList<#1>()"
+  string signature = 1;
+
+  // The corpus this name belongs to.
+  // e.g., "kythe", "chromium", "github.com/creachadair/imath", "aosp"
+  // The corpus label "kythe" is reserved for internal use.
+  string corpus = 2;
+
+  // A corpus-specific root label, designating a subordinate collection within
+  // the corpus.  If a corpus stores files in unrelated directory structures,
+  // for example, the root can be used to distinguish them.  Or, of a corpus
+  // incorporates subprojects, the root can be a project ID that it governs.
+  // This may also be used to distinguish virtual subgroups of a corpus such as
+  // generated files.
+  string root = 3;
+
+  // A path-structured label describing the location of this object relative to
+  // the corpus and the root.  For code, this will generally be the relative
+  // path to the file containing the code, e.g., "storage/service.go" in kythe.
+  //
+  // However, this need not be a true file path; virtual objects like figments
+  // can assign an ad-hoc abstract ID, or omit it entirely.
+  //
+  // Examples:
+  //   "devools/kythe/platform/go/datastore.go" (a file)
+  //   "type/cpp/void.cc" (a type figment)
+  string path = 4;
+
+  // The language this name belongs to.
+  // e.g., "c++", "python", "elisp", "haskell", "java"
+  //
+  // The schema will define specific labels for each supported language, so we
+  // don't wind up with a confusion of names like "cxx", "cpp", "C++", etc.
+  // Prototype: Official language name converted to lowercase.  If a version
+  // number is necessary, include it, e.g., "python3".
+  string language = 5;
+
+  // Other fields we may need in the future, but do not currently use:
+  // branch -- a branch name within the corpus depot, e.g., "gslb_branch".
+  // client -- a source-control client ID, e.g., "sergey:googlex:8:citc".
+
+  // Note: We have intentionally NOT included a revision or timestamp here.
+  // Time should be recorded as facts belonging to the appropriate Nodes and
+  // Edges.  Having records of when something existed may be important, but time
+  // is not a good axis for a name -- a name should say "what" something is, not
+  // "when".  So we will store timestamps, revisions, and other markers of this
+  // kind as facts inside the graph.
+}
+
+message VNameMask {
+  bool signature = 1;
+  bool corpus = 2;
+  bool root = 3;
+  bool path = 4;
+  bool language = 5;
+}
+
+// An Entry associates a fact with a graph object (node or edge).  This is the
+// the primary unit of storage.
+message Entry {
+  VName source = 1;
+
+  // The following two fields must either be both empty, or both nonempty.
+  string edge_kind = 2;
+  VName target = 3;
+
+  // The grammar for fact_name:
+  //  name   = "/" | 1*path
+  //  path   = "/" word
+  //  word   = 1*{LETTER|DIGIT|PUNCT}
+  //  LETTER = [A-Za-z]
+  //  DIGIT  = [0-9]
+  //  PUNCT  = [-.@#$%&_+:()]
+  string fact_name = 4;
+  bytes  fact_value = 5;
+}
+
+// A collection of Entry instances.
+message Entries {
+  repeated Entry entries = 1;
+}
+
+// Request for a stream of Entry objects from a GraphStore.  Read operations
+// should be implemented with time complexity proportional to the size of the
+// return set.
+message ReadRequest {
+  // Return entries having this source VName, which may not be empty.
+  VName source = 1;
+
+  // Return entries having this edge kind; if empty, only entries with an empty
+  // edge kind are returned; if "*", entries of any edge kind are returned.
+  string edge_kind = 2;
+}
+
+// Request to write Entry objects to a GraphStore
+message WriteRequest {
+  message Update {
+    string edge_kind = 1;
+    VName target = 2;
+    string fact_name = 3;
+    bytes fact_value = 4;
+  }
+
+  VName source = 1;
+  repeated Update update = 2;
+}
+
+// Response to a WriteRequest
+message WriteReply {}
+
+// Request for a stream of Entry objects resulting from a full scan of a
+// GraphStore.
+message ScanRequest {
+  // Return entries having this target VName; if empty, any target field is
+  // matched, including empty.
+  VName target = 1;
+
+  // Return entries having this kind; if empty, any kind is matched, including
+  // empty.
+  string edge_kind = 2;
+
+  // Return entries having fact labels with this prefix; if empty, any fact
+  // label is matched,
+  string fact_prefix = 3;
+}
+
+// Request for the size of the shard at the given index.
+message CountRequest {
+  int64 index = 1;
+  int64 shards = 2;
+}
+
+// Response for a CountRequest
+message CountReply {
+  // Total number of entries in the specified shard.
+  int64 entries = 1;
+}
+
+// Request for a stream of Entry objects in the given shard.
+message ShardRequest {
+  int64 index = 1;
+  int64 shards = 2;
+}
diff --git a/linux-x86_64/kythe/proto/xref.proto b/linux-x86_64/kythe/proto/xref.proto
new file mode 100644
index 0000000..03f524e
--- /dev/null
+++ b/linux-x86_64/kythe/proto/xref.proto
@@ -0,0 +1,734 @@
+/*
+ * Copyright 2014 Google Inc. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+syntax = "proto3";
+
+package kythe.proto;
+
+// Design document: <link when written>
+// This proto represents a very preliminary attempt to define a cross-reference
+// service interface, based on Kythe data.
+//
+// Tickets are Kythe URIs (http://www.kythe.io/docs/kythe-uri-spec.html).
+
+// XRefService provides access to a Kythe graph for fast read-only access to
+// cross-reference relationships.  What constitutes a "Cross-reference" is not
+// precisely defined, but generally includes non-transitive (single-step)
+// relation like usage of a declaration, instantiation of a type, invocation of
+// a function, direct inheritance or overrides, and so forth.  Some transitive
+// relations can be converted into cross-references by precomputing a flattened
+// representation of a transitive relation.  In general, though, this service
+// is designed to be most efficient for single-step expansions.
+//
+// Key design principles:
+//  - All requests must be satisfied "quickly", e.g., in time proportional to
+//    the size of the returned set.
+//
+//  - The client should be able to batch related requests.
+//
+//  - The client specifies exactly what facts should be returned.
+//
+// There is no distinction made in the API between "node not found" and "no
+// facts/edges for node".  A node is extensionally defined by its facts and
+// edges, so a node without any facts or edges is not considered to exist.
+service XRefService {
+
+  // TODO(schroederc): break off Nodes/Edges into a separate service
+
+  // Nodes returns a subset of the facts for each of the requested nodes.
+  rpc Nodes(NodesRequest) returns (NodesReply) {}
+
+  // Edges returns a subset of the outbound edges for each of a set of
+  // requested nodes.
+  rpc Edges(EdgesRequest) returns (EdgesReply) {}
+
+  // Decorations returns an index of the nodes and edges associated with a
+  // particular file node.
+  rpc Decorations(DecorationsRequest) returns (DecorationsReply) {}
+
+  // CrossReferences returns the global references, definitions, and
+  // documentation of a set of requested nodes.
+  rpc CrossReferences(CrossReferencesRequest) returns (CrossReferencesReply) {}
+
+  // Callers takes a set of tickets for semantic objects and returns the set
+  // of places where those objects were called. For example, in the program
+  //   void bar() { foo(); foo(); } void baz() { foo(); } void foo() { }
+  // `Callers({foo})` would return:
+  //   {(bar, {first-call-anchor, second-call-anchor}),
+  //    (baz, {first-call-anchor})}
+  // To walk further up the call graph, you can project the first field of
+  // each tuple in the result set ({bar, baz}) and feed that set back in
+  // to a new Callers request.
+  //
+  // The core of this query is specified in terms of graph operations in the
+  // Kythe repository at //kythe/docs/schema/callgraph.txt.
+  rpc Callers(CallersRequest) returns (CallersReply) {}
+
+  // Documentation takes a set of tickets for semantic objects and returns
+  // documentation about them, including generated signatures and
+  // user-provided text. The documentation may refer to tickets for other
+  // nodes in the graph.
+  rpc Documentation(DocumentationRequest) returns (DocumentationReply) {}
+}
+
+message NodesRequest {
+  // The tickets of the nodes to be looked up.
+  repeated string ticket = 1;
+
+  // A collection of filter globs that specify which facts (by name) should be
+  // returned for each node.  If filter is empty or unset, all available facts
+  // are returned for each matching node.  The filter applies to ALL requested
+  // nodes.  For different filters per node, the client must issue separate
+  // requests.  See EdgesRequest for the format of the filter globs.
+  repeated string filter = 2;
+}
+
+message NodeInfo {
+  // The matching facts known for that node, a map from fact name to value.
+  map<string, bytes> facts = 2;
+
+  // If known and unambiguous, an anchor ticket for this node's definition
+  // location.
+  string definition = 5;
+
+  reserved 1;
+  reserved "ticket";
+}
+
+message NodesReply {
+  // One NodeInfo, keyed by its ticket, is returned for each requested node
+  // that had a non-zero number of matching facts.  Each NodeInfo will not have
+  // its ticket set since it would just be a copy of the map keys.
+  map<string, NodeInfo> nodes = 1;
+}
+
+message EdgesRequest {
+  // The tickets of the source nodes for which edges are requested.
+  // The service will return an error if no tickets are specified.
+  repeated string ticket = 1;
+
+  // The kinds of outbound edges that should be returned for each matching
+  // source node.  If empty, all available edge kinds are returned.
+  repeated string kind = 2;
+
+  // A collection of filter globs that specify which facts (by name) should be
+  // returned for the target node of each matching edge.  If filter is empty,
+  // no facts are returned.
+  //
+  // The supported glob operators are:
+  //   *   zero or more non-slash characters ([^/]*)
+  //   ?   any single non-slash character ([^/])
+  //   **  zero or more of any character (.*)
+  //
+  // All other characters match literally, and the glob must consume the entire
+  // name in order to match.  The facts returned are the union of those matched
+  // by all the globs provided.
+  repeated string filter = 3;
+
+  // The edges matching a request are organized into logical pages.  The size
+  // of each page is a number of distinct edges.  Notionally: All the matching
+  // edges are ordered lexicographically by (start_ticket, kind, end_ticket);
+  // the page_token determines where in the ordering to start, and page_size
+  // determines how many edges should be returned.
+  //
+  // If page_token is empty, edges will be returned starting at the beginning
+  // of the sequence; otherwise the starting point named by the page_token will
+  // be used.  Legal values of page_token are returned by the server in the
+  // next_page_token field of the EdgesReply.  A page token should be treated
+  // as an opaque value by the client, and is valid only relative to a
+  // particular set of tickets and kinds.  If an invalid page token is
+  // requested, the server will return an error.
+  //
+  // If page_size > 0, at most that number of edges will be returned by the
+  // service for this request (see EdgeSet and EdgesReply below).
+  // If page_size = 0, the default, the server will assume a reasonable default
+  // page size.  The server will return an error if page_size < 0.
+  //
+  // The server is allowed to return fewer edges than the requested page_size,
+  // even if more are available, save that it must return at least 1 edge if
+  // any are available at all.
+  int32  page_size  = 8;
+  string page_token = 9;
+
+
+  // TODO(fromberger): Should this interface support automatic indirection
+  // through "name" nodes?
+  // For now, I'm assuming name-indirecting lookup will be a separate
+  // API, and that the initial clients will just make two (batching)
+  // calls if they need to.
+}
+
+// An EdgeSet represents a collection of edges outbound from a single node.  The
+// edges are organized into groups, each sharing a common edge kind.
+//
+// The number of edges represented by an EdgeSet es, denoted len(es), is the sum
+// of the lengths of the repeated edge fields for all the groups in the EdgeSet.
+// This count is used to determine page size in a request.
+message EdgeSet {
+  message Group {
+    message Edge {
+      string target_ticket = 1;
+
+      // An optional integer to give an ordering between multiple edges of same
+      // source and kind to one or more targets.  See https://kythe.io/schema
+      // for when ordinals are used for a given edge kind.
+      int32 ordinal = 2;
+    }
+
+    repeated Edge edge = 2;
+
+    reserved 1;
+    reserved "kind";
+  }
+
+  // Each group is a collection of outbound edges from source node sharing a
+  // given kind, the map's keys.  In a given EdgeSet, the server will not send
+  // more than one group with the same kind label.
+  map<string, Group> groups = 2;
+
+  reserved 1;
+  reserved "source_ticket";
+}
+
+message EdgesReply {
+  // This field will contain one EdgeSet for each source node with one or more
+  // matching outbound edges, keyed by the source node's ticket.  The number of
+  // edges represented by an EdgesReply er, denoted len(er), is the sum of
+  // len(es) for each es in edge_sets.  This count is used to determine the page
+  // size.
+  map<string, EdgeSet> edge_sets = 1;
+
+  // This field will contain one entry, keyed by ticket, for each distinct node
+  // referenced by some edge in edgesets, for which there is one or more
+  // matching facts.
+  //
+  // Rationale: This prevents us from having to copy the data to all the end
+  // nodes, but allows the client to have that information without making
+  // additional requests.
+  map<string, NodeInfo> nodes = 2;
+
+  // Total number of edges on all pages matching requested kinds, by kind.
+  map<string, int64> total_edges_by_kind = 5;
+
+  // If there are additional pages of edges after the ones returned in this
+  // reply, next_page_token is the page token that may be passed to fetch the
+  // next page in sequence after this one.  If there are no additional edges,
+  // this field will be empty.
+  string next_page_token = 9;
+}
+
+// A Location represents a single span of zero or more contiguous bytes of a
+// file or buffer.  An empty LOCATION denotes the entirety of the referenced
+// file or buffer.
+//
+message Location {
+  // TODO(schroederc): reuse Span from common.proto
+
+  // The ticket of the file this location belongs to.  If the location
+  // represents a memory buffer, the ticket should be omitted.
+  string ticket = 1;
+
+  enum Kind {
+    // The entire file; the start and end fields are ignored.
+    FILE = 0;
+
+    // The point or span of file subtended by start and end.
+    SPAN = 1;
+  }
+
+  // What kind of location this is.
+  Kind kind = 2;
+
+  // A Point represents a location within a file or buffer.
+  //
+  // If line_number ≤ 0, the line number and column offset are considered
+  // unknown and will be ignored.
+  //
+  // A point with line_number > 0 is said to be _normalized_ if it satisfies
+  // the constraint 0 ≤ column_offset ≤ bytelen(line_number); that is, if the
+  // column_offset is within the actual range of the corresponding line.  A
+  // point can be normalized by adjusting line_number and column_offset so that
+  // this constraint is satisfied.  This may be impossible if the column offset
+  // exceeds the bounds of the file.
+  message Point {
+    // The offset in bytes from the beginning of the file.
+    // Requires 0 ≤ byte_offset ≤ len(file).
+    int32 byte_offset = 1;
+
+    // The line number containing the point, 1-based.
+    int32 line_number = 2;
+
+    // The byte offset of the point within its line.
+    int32 column_offset = 3;
+  }
+
+  // The starting point of the location.
+  Point start = 3;
+
+  // The ending point of the location.
+  Point end = 4;
+
+  // A location is _valid_ if 0 ≤ start.offset ≤ end.offset.  If a valid
+  // location has start.offset = end.offset, it denotes a single point;
+  // otherwise it denotes the half-closed interval [start.offset, end.offset).
+  //
+  // When kind = FILE, start and end should be unset or set to zero values.
+}
+
+message DecorationsRequest {
+  // The location of the file to fetch decorations for.  The ticket of location
+  // must be non-empty.  It is an error in any case if location is invalid.
+  Location location = 1;
+
+  enum SpanKind {
+    // If the location is a SPAN, only decorations contained within the
+    // specified window of the file are returned.  This is the default behavior.
+    WITHIN_SPAN = 0;
+
+    // If the location is a SPAN, any decorations that surround it are returned.
+    AROUND_SPAN = 1;
+  }
+
+  // How to treat SPAN locations.
+  SpanKind span_kind = 10;
+
+  // If dirty_buffer is non-empty, the results will be adjusted (patched) to
+  // account for the regions of the specified file differing from the contents
+  // of the dirty buffer.
+  bytes dirty_buffer = 2;
+
+  // If true, return the encoded source text for the selected window.  Source
+  // text is not affected by patching.
+  bool source_text = 3;
+
+  // If true, return reference edges whose source nodes are located in the
+  // selected window.  References are affected by patching.
+  bool references = 4;
+
+  // If true, return definition locations, if possible, for each returned
+  // reference target in the DecorationsReply.
+  bool target_definitions = 6;
+
+  // A collection of filter globs that specify which facts (by name) should be
+  // returned for each node.  If filter is empty or unset, no node facts are
+  // returned.  The filter applies to ALL referenced nodes.  See EdgesRequest
+  // for the format of the filter globs.
+  repeated string filter = 5;
+}
+
+message DecorationsReply {
+  // The normalized location for which decorations are returned.
+  Location location = 1;
+
+  // The encoded source text for the selected window.
+  bytes source_text = 2;
+  string encoding = 3;
+
+  // Represents a reference edge source ---KIND---> target.  Each source is an
+  // anchor within the requested source location.
+  message Reference {
+    string source_ticket = 1;
+    string target_ticket = 2;
+    string kind = 3;
+
+    // Starting byte offset of this references's anchor (source_ticket) span.
+    Location.Point anchor_start = 10;
+    // Ending byte offset of this references's anchor (source_ticket) span.
+    Location.Point anchor_end = 11;
+
+    // Anchor ticket of the target's definition.  Populated only if
+    // target_definitions is true in the DecorationsRequest and the target has
+    // a single unambiguous definition.  For each ticket, an Anchor will be
+    // populated in the top-level definition_locations map.
+    string target_definition = 4;
+  }
+
+  // The reference edges located in the specified window.
+  repeated Reference reference = 4;
+
+  // This field will contain one entry, keyed by ticket, for each distinct node
+  // referenced by a reference edge that has at least 1 non-filtered fact.
+  map<string, NodeInfo> nodes = 15;
+
+  // Each anchor cited as a target definition in the references.  The map is
+  // keyed by each anchor's ticket.
+  map<string, Anchor> definition_locations = 16;
+
+  // TODO(fromberger): Patch diff information.
+}
+
+message CrossReferencesRequest {
+  // Set of nodes for which to return their cross-references.  Must be
+  // non-empty.
+  repeated string ticket = 1;
+
+  enum DefinitionKind {
+    // No definitions will be populated in the CrossReferencesReply.
+    NO_DEFINITIONS = 0;
+
+    // All known definition anchors reached by the "/kythe/edge/defines" edge
+    // kind (or its variants) will be populated in the CrossReferencesReply.
+    ALL_DEFINITIONS = 1;
+
+    // Only definition anchors reached by the "/kythe/edge/defines" edge kind
+    // will be populated in the CrossReferencesReply.
+    FULL_DEFINITIONS = 2;
+
+    // Only definition anchors reached by the "/kythe/edge/defines/binding" edge
+    // kind will be populated in the CrossReferencesReply.
+    BINDING_DEFINITIONS = 3;
+  }
+
+  // Determines what kind of definition anchors, if any, should be returned in
+  // the response.  See the documentation for each DefinitionKind for more
+  // information.
+  DefinitionKind definition_kind = 2;
+
+  enum DeclarationKind {
+    // No declarations will be populated in the CrossDeclarationsReply.
+    NO_DECLARATIONS = 0;
+    // When the source node is incomplete, all known declaration anchors reached
+    // by the "/kythe/edge/defines" edge kind (or its variants) will be
+    // populated in the CrossDeclarationsReply.
+    ALL_DECLARATIONS = 1;
+  }
+
+  // Determines what kind of declaration anchors, if any, should be returned in
+  // the response.  See the documentation for each DeclarationKind for more
+  // information.
+  DeclarationKind declaration_kind = 7;
+
+  enum ReferenceKind {
+    // No references will be populated in the CrossReferencesReply.
+    NO_REFERENCES = 0;
+    // Only callgraph-related references as described in
+    // http://www.kythe.io/docs/schema/callgraph.html
+    CALL_REFERENCES = 1;
+    // All references except those that are related to the callgraph.
+    NON_CALL_REFERENCES = 2;
+    // All known reference anchors reached by the "/kythe/edge/ref" edge kind
+    // (or its variants) will be populated in the CrossReferencesReply.
+    ALL_REFERENCES = 3;
+  }
+
+  // Determines what kind of reference anchors, if any, should be returned in
+  // the response.  See the documentation for each ReferenceKind for more
+  // information.
+  ReferenceKind reference_kind = 3;
+
+  enum DocumentationKind {
+    // No documentation will be populated in the CrossReferencesReply.
+    NO_DOCUMENTATION = 0;
+    // All known documentation reached by the "/kythe/edge/documentation" edge
+    // kind (or its variants) will be populated in the CrossReferencesReply.
+    ALL_DOCUMENTATION = 1;
+  }
+
+  // Determines what kind of documentation anchors, if any, should be returned
+  // in the response.  See the documentation for each DocumentationKind for more
+  // information.
+  DocumentationKind documentation_kind = 4;
+
+  enum CallerKind {
+    // No callgraph information will be populated in the CrossReferencesReply.
+    NO_CALLERS = 0;
+    // Callgraph information will be populated in the CrossReferencesReply.
+    DIRECT_CALLERS = 1;
+    // Callgraph information will be populated in the CrossReferencesReply.
+    // Calls to override-related functions will also be considered.
+    OVERRIDE_CALLERS = 2;
+  }
+
+  // Determines what kind of callgraph information, if any, should be returned
+  // in the response.  See the documentation for each CallerKind for more
+  // information.
+  CallerKind caller_kind = 12;
+
+  // Collection of filter globs that determines which facts will be returned for
+  // the related nodes of each requested node.  If filter is empty or unset, no
+  // node facts or related nodes are returned.  See EdgesRequest for the format
+  // of the filter globs.
+  repeated string filter = 5;
+
+  // Determines whether each Anchor in the response should have its text field
+  // populated.
+  bool anchor_text = 6;
+
+  // Determines whether each NodeInfo matching the above filters will have its
+  // definition location populated, if known.
+  bool node_definitions = 8;
+
+  // Enable the experimental generation of signatures in the
+  // CrossReferencesReply.  Enabling this currently causes multiple lookups and
+  // can significantly impact latency.  Once latency concerns have been
+  // addressed, this field will be removed and signatures will be returned by
+  // default.
+  // TODO(T156): remove this flag; always enable feature
+  bool experimental_signatures = 100;
+
+  // TODO(schroederc): snippet kinds (none, indexer-default, or always line-based)
+
+  // The cross-references matching a request are organized into logical pages.
+  // The size of each page is a number of distinct cross-references
+  // (definitions, references, documentation, and related nodes).
+  //
+  // If page_token is empty, cross-references will be returned starting at the
+  // beginning of the sequence; otherwise the starting point named by the
+  // page_token will be used.  Legal values of page_token are returned by the
+  // server in the next_page_token field of the CrossReferencesReply.  A page
+  // token should be treated as an opaque value by the client, and is valid only
+  // relative to a particular CrossReferencesRequest.  If an invalid page token
+  // is requested, the server will return an error.
+  //
+  // If page_size > 0, at most that number of cross-references will be returned
+  // by the service for this request (see ReferenceSet and CrossReferencesReply
+  // below).  If page_size = 0, the default, the server will assume a reasonable
+  // default page size.  The server will return an error if page_size < 0.
+  //
+  // The server is allowed to return fewer cross-references than the requested
+  // page_size, even if more are available, save that it must return at least 1
+  // edge if any are available at all.
+  int32 page_size = 10;
+  string page_token = 11;
+}
+
+// TODO(schroederc): eliminate duplicate serving.ExpandedAnchor message defintion
+
+message Anchor {
+  // Ticket of the anchor node
+  string ticket = 1;
+  // Edge kind describing the anchor's relationship with its referenced node
+  string kind = 2;
+
+  // Parent ticket of the anchor; this is the file containing the anchor
+  string parent = 3;
+
+  // Starting location of the anchor within its parent's text
+  Location.Point start = 4;
+  // Ending location of the anchor within its parent's text
+  Location.Point end = 5;
+  // The anchor's spanning text within the anchor parent's text
+  string text = 6;
+
+  // User-readable snippet of the anchor parent's text at the location of this
+  // anchor
+  string snippet = 7;
+  // Starting location of the anchor's snippet within its parent's text
+  Location.Point snippet_start = 8;
+  // Ending location of the anchor's snippet within its parent's text
+  Location.Point snippet_end = 9;
+}
+
+message Link {
+  // Definition sites found for some ticket.
+  repeated Anchor definition = 1;
+}
+
+message Printable {
+  // Raw text that can be displayed to the user (but may also contain
+  // markup that can be interpreted, like Doxygen comments). Links are
+  // marked using []. \ is an escape character (where possible escape
+  // sequences are \[, \], and \\).
+  string raw_text = 1;
+  // Destinations for links in raw_text. The ith Link corresponds to the link
+  // starting at the ith [.
+  repeated Link link = 2;
+}
+
+message CrossReferencesReply {
+  message RelatedNode {
+    // Ticket of the node
+    string ticket = 1;
+    // Edge kind describing the node's relation
+    string relation_kind = 2;
+    // Optional ordinal for edges of the same relation_kind.
+    int32 ordinal = 3;
+  }
+
+  message RelatedAnchor {
+    // The anchor covering the related object.
+    Anchor anchor = 1;
+    // A name for the related object.
+    Printable display_name = 2;
+    // Specific locations, usually within the related object, that caused
+    // the relationship to exist. This field is relevant to caller sets.
+    repeated Anchor site = 3;
+  }
+
+  message CrossReferenceSet {
+    string ticket = 1;
+
+    // A name for the given node.
+    Printable display_name = 7;
+
+    // The set of definitions for the given node.
+    repeated RelatedAnchor definition = 2;
+    // The set of declarations for the given node.
+    repeated RelatedAnchor declaration = 5;
+    // The set of simple references for the given node.
+    repeated RelatedAnchor reference = 3;
+    // The set of documentation for the given node.
+    repeated RelatedAnchor documentation = 4;
+    // The set of callers for the given node.
+    repeated RelatedAnchor caller = 6;
+
+    // The set of related nodes to the given node.
+    repeated RelatedNode related_node = 10;
+  }
+
+  message Total {
+    int64 definitions = 1;
+    int64 declarations = 2;
+    int64 references = 3;
+    int64 documentation = 4;
+    int64 callers = 5;
+
+    map<string, int64> related_nodes_by_relation = 6;
+  }
+  // Total number of cross-references on all pages matching requested filters.
+  Total total = 5;
+
+  // Sets of cross-references for each requested node
+  map<string, CrossReferenceSet> cross_references = 1;
+
+  // The facts left from the requested filters of the related node facts
+  map<string, NodeInfo> nodes = 2;
+
+  // Map from the definition tickets referred to in each NodeInfo to their
+  // Anchor.  This map will only be returned if the
+  // CrossReferencesRequest.node_definitions switch is true.
+  map<string, Anchor> definition_locations = 3;
+
+  // If there are additional pages of cross-references after the ones returned
+  // in this reply, next_page_token is the page token that may be passed to
+  // fetch the next page in sequence after this one.  If there are no additional
+  // cross-references, this field will be empty.
+  string next_page_token = 10;
+}
+
+message CallersRequest {
+  // Semantic tickets for callees (e.g., function nodes).
+  repeated string semantic_object = 1;
+  // Expand the semantic_object set by including nodes that participate in
+  // an `overrides` relationship (in either direction) with nodes in the set.
+  //
+  // In the program:
+  //   struct A { virtual void f(); };
+  //   struct B : public A { void f() override; };
+  //   struct C : public B { void f() override; };
+  //   void g(B* b) { b->f(); }
+  //
+  // we would return the following results (for queries on the singleton
+  // semantic_object set containing A::f, B::f, or C::f):
+  //
+  // include_overrides  A::f  B::f  C::f
+  //             false    {}   {g}    {}
+  //              true   {g}   {g}   {g}
+  bool include_overrides = 2;
+}
+
+message CallersReply {
+  // Details common to all objects that participate in the call graph.
+  message CallableDetail {
+    // The definition site of the object called or being blamed for a call.
+    // This would be the "bar" in "void bar()" for calls blamed on bar above
+    // and the "foo" in "void foo()" if it refers to foo as a callee.
+    Anchor definition = 1;
+    // The ticket of the callable object. This would refer to the function node
+    // for "bar" or "foo". This object may be the target of a `completes` edge
+    // (e.g., if the call was made to a definition rather than a declaration).
+    string semantic_object = 2;
+    // The unqualified identifier for this object ("bar" or "foo" above,
+    // even if they were defined in some namespace or record). This field
+    // should be human-readable and can be displayed in a UI.
+    string identifier = 4;
+    // An unambiguous (as possible) identifier for this object ("bar()" or
+    // "foo()" above; if it was defined in a namespace, "ns::bar()";
+    // if it took arguments, "ns::bar(int *, void *)"). This field should
+    // be human-readable and can be displayed in a UI.
+    string display_name = 5;
+    // A parameter bound by the object referred to by `definition` above.
+    message Parameter {
+      enum Kind {
+        // A term-level binding (like the `x` in `void foo(int x)`).
+        TERM = 0;
+        // A type-level binding (like the `T` in
+        // `template <typename T> void foo()`).
+        TYPE = 1;
+      }
+      // The parameter's kind.
+      Kind kind = 1;
+      // The parameter's (unqualified) human-readable and displayable name.
+      // May be empty. May also be non-unique; for example, the identifiers for
+      // the (unnamed in the source language) parameters for the function
+      // `void ignore_pair(int, int)` may be "int" and "int".
+      string identifier = 2;
+      // The ticket that refers to the parameter.
+      string ticket = 3;
+    }
+    // The parameters bound by the object referred to by `definition` above.
+    // There is no semantic meaning to the order of this array, but it should
+    // be reasonable to surface the ordering in a UI (for example, term-level
+    // parameters will not be capriciously reordered).
+    repeated Parameter parameter = 6;
+  }
+  // An object that was blamed for making a call to an object in the set passed
+  // to Callers, along with the syntactic locations that caused that blame to
+  // be cast.
+  message Caller {
+    // The object (e.g., a function) responsible for making a call.
+    CallableDetail detail = 1;
+    message CallSite {
+      // The location where a call was found inside the blamed object.
+      Anchor anchor = 1;
+      // This field will be set to true iff this call site was included in the
+      // results because include_overrides was true in CallersRequest.
+      bool call_to_override = 2;
+    }
+    repeated CallSite call_site = 2;
+  }
+  // All objects that were blamed for making calls.
+  repeated Caller caller = 1;
+  // Details for the semantic objects that were passed via a CallersRequest.
+  repeated CallableDetail callee = 2;
+}
+
+message DocumentationRequest {
+  // Semantic tickets about which documentation is sought.
+  repeated string ticket = 1;
+}
+
+message DocumentationReply {
+  message Document {
+    // The ticket to which this Document refers.
+    string ticket = 1;
+    // Documentation that can be displayed to the user.
+    Printable text = 2;
+    // A signature that can be displayed to the user. For variables, this
+    // may just be the variable name; for functions, this may be some version
+    // of the function prototype.
+    Printable signature = 3;
+    // The type as a signature that can be displayed to the user.
+    Printable type = 4;
+    // The initialization value, if any.
+    Printable initializer = 5;
+    // The semantic parent of this value.
+    Printable defined_by = 6;
+    // The node kind being defined.
+    string kind = 7;
+  }
+  repeated Document document = 1;
+}
diff --git a/linux-x86_64/kythe/studio/build_studio_kythe.sh b/linux-x86_64/kythe/studio/build_studio_kythe.sh
new file mode 100755
index 0000000..a328cf4
--- /dev/null
+++ b/linux-x86_64/kythe/studio/build_studio_kythe.sh
@@ -0,0 +1,49 @@
+#!/bin/bash -e
+
+# Bazel build target for running kythe extractor as an extra_action
+# to create kythe index files as a side effect of running the build.
+EAL=//prebuilts/tools/linux-x86_64/kythe/extractors:extract_kindex
+
+# Path to the kyth binaries.
+KYTHE_ROOT="$(readlink -f prebuilts/tools/linux-x86_64/kythe)"
+
+# Get the output path for the kythe artifacts.
+OUT="$1"
+if [ -z "${OUT}" ]; then
+  echo Usage: $0 \<out_dir\>
+  echo  e.g. $0 $HOME/studio_kythe
+  echo
+  echo $0 must be launched from the root of the studio branch.
+  exit 1
+fi
+OUT_ENTRIES="${OUT}/entries"
+mkdir -p "${OUT_ENTRIES}"
+
+#TODO: read from file
+TARGETS="//prebuilts/studio/... \
+  //prebuilts/tools/common/... \
+  //tools/adt/idea/... \
+  //tools/analytics-library/... \
+  //tools/base/... \
+  //tools/data-binding/... \
+  //tools/idea/... \
+  //tools/sherpa/..."
+
+# Build all targets and run the kythe extractor via extra_actions.
+bazel build \
+  --experimental_action_listener=${EAL} -- ${TARGETS}
+
+# Find all generated kythe index files.
+KINDEXES=$(find bazel-out/local-fastbuild/extra_actions/ \
+  -name *.kindex -exec realpath {} \;)
+
+# For each kythe index file run the java index to generate kythe
+# entries.
+cd "${OUT_ENTRIES}"
+for KINDEX in ${KINDEXES}; do
+  ENTRIES="$(basename "${KINDEX}").entries"
+  if [ ! -f "${ENTRIES}" ]; then
+    java -jar "${KYTHE_ROOT}/indexers/java_indexer.jar" \
+      "${KINDEX}" > "${ENTRIES}"
+  fi
+done;
diff --git a/linux-x86_64/kythe/studio/serve_studio_kythe.sh b/linux-x86_64/kythe/studio/serve_studio_kythe.sh
new file mode 100755
index 0000000..798802a
--- /dev/null
+++ b/linux-x86_64/kythe/studio/serve_studio_kythe.sh
@@ -0,0 +1,53 @@
+#!/bin/bash -e
+# Takes kythe indexer output and processes it into servable format
+# And brings up a webserver (port 8080) to inspect the data.
+#
+# This is not used for normal production runs as processing on a single
+# machine is very slow (our index output is currently around 20GB).
+#
+# Instead the processing is done with a MapReduce job.
+
+# Path to the kyth binaries.
+KYTHE_ROOT="$(readlink -f prebuilts/tools/linux-x86_64/kythe)"
+
+# Get the output path for the kythe artifacts.
+OUT="$1"
+OUT_ENTRIES="${OUT}/entries"
+OUT_GRAPHSTORE="${OUT}/graphstore"
+OUT_SERVING="${OUT}/serving"
+if [ -z "${OUT}" ]; then
+  echo Usage: $0 \<out_dir\>
+  echo  e.g. $0 $HOME/studio_kythe
+  echo
+  echo $0 must be launched from the root of the studio branch.
+  exit 1
+fi
+
+# if the graphstore has not been created, create it from the
+# entries created using "build_studio_kythe.sh"
+if [ ! -d "${OUT_GRAPHSTORE}" ]; then
+
+  # delete all empty files as the write_entries tool is not happy with
+  # empty files
+  find "${OUT_ENTRIES}" -empty -type f -delete
+  ENTRIES=$(find "${OUT_ENTRIES}" -name *.entries \
+    -exec realpath {} \;)
+
+  for ENTRY in ${ENTRIES}; do
+    "${KYTHE_ROOT}/tools/write_entries" \
+      --graphstore "leveldb:${OUT_GRAPHSTORE}" < "${ENTRY}"
+  done;
+fi
+
+# If no serving table exists yet, create it from the graphstore.
+if [ ! -d "${OUT_SERVING}" ]; then
+  "${KYTHE_ROOT}/tools/write_tables" \
+    --graphstore "${OUT_GRAPHSTORE}" \
+    --out "${OUT_SERVING}"
+fi
+
+# Start the kythe webserver for the serving table.
+"${KYTHE_ROOT}/tools/http_server" \
+  --public_resources "${KYTHE_ROOT}/web/ui" \
+  --listen localhost:8080 \
+  --serving_table "${OUT_SERVING}"
\ No newline at end of file
diff --git a/linux-x86_64/kythe/third_party/README b/linux-x86_64/kythe/third_party/README
new file mode 100644
index 0000000..3b5a278
--- /dev/null
+++ b/linux-x86_64/kythe/third_party/README
@@ -0,0 +1,18 @@
+All third_party libraries are available at http://kythe.io/repo/third_party/
+
+To add a new component to this third_party directory, follow these steps:
+
+1) Have a discussion on kythe-dev mailing list;
+2) Provide a clear rational in the change adding the third_party code;
+3) Add the third_party code in a patch containing no other changes;
+4) Add a third_party/<projectxyz>/README.google file listing:
+     * The URL to the package version
+     * The Version
+     * The License
+     * The path to a LICENSE file (create one if it does not exist)
+     * A brief Description
+     * A list of Local Modifications
+5) Ensure //third_party:licenses includes the component's license.
+6) Have the change reviewed by multiple people in the team.
+
+Thank you.
diff --git a/linux-x86_64/kythe/third_party/bazel/LICENSE b/linux-x86_64/kythe/third_party/bazel/LICENSE
new file mode 100644
index 0000000..d645695
--- /dev/null
+++ b/linux-x86_64/kythe/third_party/bazel/LICENSE
@@ -0,0 +1,202 @@
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
diff --git a/linux-x86_64/kythe/third_party/external/com_apache_org_license_2_0/file/LICENSE-2.0.txt b/linux-x86_64/kythe/third_party/external/com_apache_org_license_2_0/file/LICENSE-2.0.txt
new file mode 100644
index 0000000..d645695
--- /dev/null
+++ b/linux-x86_64/kythe/third_party/external/com_apache_org_license_2_0/file/LICENSE-2.0.txt
@@ -0,0 +1,202 @@
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
diff --git a/linux-x86_64/kythe/third_party/external/com_github_gflags_gflags/COPYING.txt b/linux-x86_64/kythe/third_party/external/com_github_gflags_gflags/COPYING.txt
new file mode 100644
index 0000000..d15b0c2
--- /dev/null
+++ b/linux-x86_64/kythe/third_party/external/com_github_gflags_gflags/COPYING.txt
@@ -0,0 +1,28 @@
+Copyright (c) 2006, Google Inc.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+    * Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above
+copyright notice, this list of conditions and the following disclaimer
+in the documentation and/or other materials provided with the
+distribution.
+    * Neither the name of Google Inc. nor the names of its
+contributors may be used to endorse or promote products derived from
+this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/linux-x86_64/kythe/third_party/external/com_github_google_glog/COPYING b/linux-x86_64/kythe/third_party/external/com_github_google_glog/COPYING
new file mode 100644
index 0000000..38396b5
--- /dev/null
+++ b/linux-x86_64/kythe/third_party/external/com_github_google_glog/COPYING
@@ -0,0 +1,65 @@
+Copyright (c) 2008, Google Inc.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+    * Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above
+copyright notice, this list of conditions and the following disclaimer
+in the documentation and/or other materials provided with the
+distribution.
+    * Neither the name of Google Inc. nor the names of its
+contributors may be used to endorse or promote products derived from
+this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+A function gettimeofday in utilities.cc is based on
+
+http://www.google.com/codesearch/p?hl=en#dR3YEbitojA/COPYING&q=GetSystemTimeAsFileTime%20license:bsd
+
+The license of this code is:
+
+Copyright (c) 2003-2008, Jouni Malinen <j@w1.fi> and contributors
+All Rights Reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+1. Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in the
+   documentation and/or other materials provided with the distribution.
+
+3. Neither the name(s) of the above-listed copyright holder(s) nor the
+   names of its contributors may be used to endorse or promote products
+   derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/linux-x86_64/kythe/third_party/external/com_github_google_googletest/LICENSE b/linux-x86_64/kythe/third_party/external/com_github_google_googletest/LICENSE
new file mode 100644
index 0000000..1941a11
--- /dev/null
+++ b/linux-x86_64/kythe/third_party/external/com_github_google_googletest/LICENSE
@@ -0,0 +1,28 @@
+Copyright 2008, Google Inc.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+    * Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above
+copyright notice, this list of conditions and the following disclaimer
+in the documentation and/or other materials provided with the
+distribution.
+    * Neither the name of Google Inc. nor the names of its
+contributors may be used to endorse or promote products derived from
+this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/linux-x86_64/kythe/third_party/external/com_googlesource_code_re2/LICENSE b/linux-x86_64/kythe/third_party/external/com_googlesource_code_re2/LICENSE
new file mode 100644
index 0000000..09e5ec1
--- /dev/null
+++ b/linux-x86_64/kythe/third_party/external/com_googlesource_code_re2/LICENSE
@@ -0,0 +1,27 @@
+// Copyright (c) 2009 The RE2 Authors. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+//    * Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+//    * Redistributions in binary form must reproduce the above
+// copyright notice, this list of conditions and the following disclaimer
+// in the documentation and/or other materials provided with the
+// distribution.
+//    * Neither the name of Google Inc. nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/linux-x86_64/kythe/third_party/external/go_diff/LICENSE.txt b/linux-x86_64/kythe/third_party/external/go_diff/LICENSE.txt
new file mode 100644
index 0000000..eeb9102
--- /dev/null
+++ b/linux-x86_64/kythe/third_party/external/go_diff/LICENSE.txt
@@ -0,0 +1,20 @@
+Copyright (c) 2012 Sergi Mansilla <sergi.mansilla@gmail.com>
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the "Software"),
+to deal in the Software without restriction, including without limitation
+the rights to use, copy, modify, merge, publish, distribute, sublicense,
+and/or sell copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+DEALINGS IN THE SOFTWARE.
+
diff --git a/linux-x86_64/kythe/third_party/external/go_gapi/LICENSE b/linux-x86_64/kythe/third_party/external/go_gapi/LICENSE
new file mode 100644
index 0000000..263aa7a
--- /dev/null
+++ b/linux-x86_64/kythe/third_party/external/go_gapi/LICENSE
@@ -0,0 +1,27 @@
+Copyright (c) 2011 Google Inc. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+   * Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+   * Redistributions in binary form must reproduce the above
+copyright notice, this list of conditions and the following disclaimer
+in the documentation and/or other materials provided with the
+distribution.
+   * Neither the name of Google Inc. nor the names of its
+contributors may be used to endorse or promote products derived from
+this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/linux-x86_64/kythe/third_party/external/go_gcloud/LICENSE b/linux-x86_64/kythe/third_party/external/go_gcloud/LICENSE
new file mode 100644
index 0000000..a4c5efd
--- /dev/null
+++ b/linux-x86_64/kythe/third_party/external/go_gcloud/LICENSE
@@ -0,0 +1,202 @@
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright 2014 Google Inc.
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
diff --git a/linux-x86_64/kythe/third_party/external/go_grpc/LICENSE b/linux-x86_64/kythe/third_party/external/go_grpc/LICENSE
new file mode 100644
index 0000000..f4988b4
--- /dev/null
+++ b/linux-x86_64/kythe/third_party/external/go_grpc/LICENSE
@@ -0,0 +1,28 @@
+Copyright 2014, Google Inc.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+    * Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above
+copyright notice, this list of conditions and the following disclaimer
+in the documentation and/or other materials provided with the
+distribution.
+    * Neither the name of Google Inc. nor the names of its
+contributors may be used to endorse or promote products derived from
+this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/linux-x86_64/kythe/third_party/external/go_levigo/LICENSE b/linux-x86_64/kythe/third_party/external/go_levigo/LICENSE
new file mode 100644
index 0000000..c7c73be
--- /dev/null
+++ b/linux-x86_64/kythe/third_party/external/go_levigo/LICENSE
@@ -0,0 +1,7 @@
+Copyright (c) 2012 Jeffrey M Hodges
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/linux-x86_64/kythe/third_party/external/go_protobuf/LICENSE b/linux-x86_64/kythe/third_party/external/go_protobuf/LICENSE
new file mode 100644
index 0000000..1b1b192
--- /dev/null
+++ b/linux-x86_64/kythe/third_party/external/go_protobuf/LICENSE
@@ -0,0 +1,31 @@
+Go support for Protocol Buffers - Google's data interchange format
+
+Copyright 2010 The Go Authors.  All rights reserved.
+https://github.com/golang/protobuf
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+    * Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above
+copyright notice, this list of conditions and the following disclaimer
+in the documentation and/or other materials provided with the
+distribution.
+    * Neither the name of Google Inc. nor the names of its
+contributors may be used to endorse or promote products derived from
+this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
diff --git a/linux-x86_64/kythe/third_party/external/go_shell/LICENSE b/linux-x86_64/kythe/third_party/external/go_shell/LICENSE
new file mode 100644
index 0000000..10d7273
--- /dev/null
+++ b/linux-x86_64/kythe/third_party/external/go_shell/LICENSE
@@ -0,0 +1,27 @@
+Copyright (c) 2015, Michael J. Fromberger
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice, this
+   list of conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright notice,
+   this list of conditions and the following disclaimer in the documentation
+   and/or other materials provided with the distribution.
+
+3. Neither the name of the copyright holder nor the names of its contributors
+   may be used to endorse or promote products derived from this software
+   without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/linux-x86_64/kythe/third_party/external/go_snappy/LICENSE b/linux-x86_64/kythe/third_party/external/go_snappy/LICENSE
new file mode 100644
index 0000000..6050c10
--- /dev/null
+++ b/linux-x86_64/kythe/third_party/external/go_snappy/LICENSE
@@ -0,0 +1,27 @@
+Copyright (c) 2011 The Snappy-Go Authors. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+   * Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+   * Redistributions in binary form must reproduce the above
+copyright notice, this list of conditions and the following disclaimer
+in the documentation and/or other materials provided with the
+distribution.
+   * Neither the name of Google Inc. nor the names of its
+contributors may be used to endorse or promote products derived from
+this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/linux-x86_64/kythe/third_party/external/go_uuid/LICENSE b/linux-x86_64/kythe/third_party/external/go_uuid/LICENSE
new file mode 100644
index 0000000..5dc6826
--- /dev/null
+++ b/linux-x86_64/kythe/third_party/external/go_uuid/LICENSE
@@ -0,0 +1,27 @@
+Copyright (c) 2009,2014 Google Inc. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+   * Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+   * Redistributions in binary form must reproduce the above
+copyright notice, this list of conditions and the following disclaimer
+in the documentation and/or other materials provided with the
+distribution.
+   * Neither the name of Google Inc. nor the names of its
+contributors may be used to endorse or promote products derived from
+this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/linux-x86_64/kythe/third_party/external/go_x_net/LICENSE b/linux-x86_64/kythe/third_party/external/go_x_net/LICENSE
new file mode 100644
index 0000000..6a66aea
--- /dev/null
+++ b/linux-x86_64/kythe/third_party/external/go_x_net/LICENSE
@@ -0,0 +1,27 @@
+Copyright (c) 2009 The Go Authors. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+   * Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+   * Redistributions in binary form must reproduce the above
+copyright notice, this list of conditions and the following disclaimer
+in the documentation and/or other materials provided with the
+distribution.
+   * Neither the name of Google Inc. nor the names of its
+contributors may be used to endorse or promote products derived from
+this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/linux-x86_64/kythe/third_party/external/go_x_oauth2/LICENSE b/linux-x86_64/kythe/third_party/external/go_x_oauth2/LICENSE
new file mode 100644
index 0000000..d02f24f
--- /dev/null
+++ b/linux-x86_64/kythe/third_party/external/go_x_oauth2/LICENSE
@@ -0,0 +1,27 @@
+Copyright (c) 2009 The oauth2 Authors. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+   * Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+   * Redistributions in binary form must reproduce the above
+copyright notice, this list of conditions and the following disclaimer
+in the documentation and/or other materials provided with the
+distribution.
+   * Neither the name of Google Inc. nor the names of its
+contributors may be used to endorse or promote products derived from
+this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/linux-x86_64/kythe/third_party/external/go_x_text/LICENSE b/linux-x86_64/kythe/third_party/external/go_x_text/LICENSE
new file mode 100644
index 0000000..6a66aea
--- /dev/null
+++ b/linux-x86_64/kythe/third_party/external/go_x_text/LICENSE
@@ -0,0 +1,27 @@
+Copyright (c) 2009 The Go Authors. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+   * Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+   * Redistributions in binary form must reproduce the above
+copyright notice, this list of conditions and the following disclaimer
+in the documentation and/or other materials provided with the
+distribution.
+   * Neither the name of Google Inc. nor the names of its
+contributors may be used to endorse or promote products derived from
+this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/linux-x86_64/kythe/third_party/external/go_x_tools/LICENSE b/linux-x86_64/kythe/third_party/external/go_x_tools/LICENSE
new file mode 100644
index 0000000..6a66aea
--- /dev/null
+++ b/linux-x86_64/kythe/third_party/external/go_x_tools/LICENSE
@@ -0,0 +1,27 @@
+Copyright (c) 2009 The Go Authors. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+   * Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+   * Redistributions in binary form must reproduce the above
+copyright notice, this list of conditions and the following disclaimer
+in the documentation and/or other materials provided with the
+distribution.
+   * Neither the name of Google Inc. nor the names of its
+contributors may be used to endorse or promote products derived from
+this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/linux-x86_64/kythe/third_party/grpc-java/LICENSE b/linux-x86_64/kythe/third_party/grpc-java/LICENSE
new file mode 100644
index 0000000..2acb3d7
--- /dev/null
+++ b/linux-x86_64/kythe/third_party/grpc-java/LICENSE
@@ -0,0 +1,28 @@
+Copyright 2014, Google Inc. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+   * Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+   * Redistributions in binary form must reproduce the above
+copyright notice, this list of conditions and the following disclaimer
+in the documentation and/or other materials provided with the
+distribution.
+
+   * Neither the name of Google Inc. nor the names of its
+contributors may be used to endorse or promote products derived from
+this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
\ No newline at end of file
diff --git a/linux-x86_64/kythe/third_party/grpc/LICENSE b/linux-x86_64/kythe/third_party/grpc/LICENSE
new file mode 100644
index 0000000..0209b57
--- /dev/null
+++ b/linux-x86_64/kythe/third_party/grpc/LICENSE
@@ -0,0 +1,28 @@
+Copyright 2015, Google Inc.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+    * Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above
+copyright notice, this list of conditions and the following disclaimer
+in the documentation and/or other materials provided with the
+distribution.
+    * Neither the name of Google Inc. nor the names of its
+contributors may be used to endorse or promote products derived from
+this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/linux-x86_64/kythe/third_party/gson/LICENSE b/linux-x86_64/kythe/third_party/gson/LICENSE
new file mode 100644
index 0000000..d645695
--- /dev/null
+++ b/linux-x86_64/kythe/third_party/gson/LICENSE
@@ -0,0 +1,202 @@
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
diff --git a/linux-x86_64/kythe/third_party/hpack/LICENSE b/linux-x86_64/kythe/third_party/hpack/LICENSE
new file mode 100644
index 0000000..e06d208
--- /dev/null
+++ b/linux-x86_64/kythe/third_party/hpack/LICENSE
@@ -0,0 +1,202 @@
+Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "{}"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright {yyyy} {name of copyright owner}
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
diff --git a/linux-x86_64/kythe/third_party/jcommander/LICENSE b/linux-x86_64/kythe/third_party/jcommander/LICENSE
new file mode 100644
index 0000000..d645695
--- /dev/null
+++ b/linux-x86_64/kythe/third_party/jcommander/LICENSE
@@ -0,0 +1,202 @@
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
diff --git a/linux-x86_64/kythe/third_party/jsr305_annotations/LICENSE b/linux-x86_64/kythe/third_party/jsr305_annotations/LICENSE
new file mode 100644
index 0000000..d645695
--- /dev/null
+++ b/linux-x86_64/kythe/third_party/jsr305_annotations/LICENSE
@@ -0,0 +1,202 @@
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
diff --git a/linux-x86_64/kythe/third_party/leiningen/COPYING b/linux-x86_64/kythe/third_party/leiningen/COPYING
new file mode 100644
index 0000000..528d194
--- /dev/null
+++ b/linux-x86_64/kythe/third_party/leiningen/COPYING
@@ -0,0 +1,599 @@
+Source code distributed under the Eclipse Public License - v 1.0:
+
+THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE
+PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF
+THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
+
+1. DEFINITIONS
+
+"Contribution" means:
+
+a) in the case of the initial Contributor, the initial code and
+documentation distributed under this Agreement, and
+
+b) in the case of each subsequent Contributor:
+
+i) changes to the Program, and
+
+ii) additions to the Program;
+
+where such changes and/or additions to the Program originate from and
+are distributed by that particular Contributor. A Contribution
+'originates' from a Contributor if it was added to the Program by such
+Contributor itself or anyone acting on such Contributor's
+behalf. Contributions do not include additions to the Program which:
+(i) are separate modules of software distributed in conjunction with
+the Program under their own license agreement, and (ii) are not
+derivative works of the Program.
+
+"Contributor" means any person or entity that distributes the Program.
+
+"Licensed Patents" mean patent claims licensable by a Contributor
+which are necessarily infringed by the use or sale of its Contribution
+alone or when combined with the Program.
+
+"Program" means the Contributions distributed in accordance with this
+Agreement.
+
+"Recipient" means anyone who receives the Program under this
+Agreement, including all Contributors.
+
+2. GRANT OF RIGHTS
+
+a) Subject to the terms of this Agreement, each Contributor hereby
+grants Recipient a non-exclusive, worldwide, royalty-free copyright
+license to reproduce, prepare derivative works of, publicly display,
+publicly perform, distribute and sublicense the Contribution of such
+Contributor, if any, and such derivative works, in source code and
+object code form.
+
+b) Subject to the terms of this Agreement, each Contributor hereby
+grants Recipient a non-exclusive, worldwide, royalty-free patent
+license under Licensed Patents to make, use, sell, offer to sell,
+import and otherwise transfer the Contribution of such Contributor, if
+any, in source code and object code form.  This patent license shall
+apply to the combination of the Contribution and the Program if, at
+the time the Contribution is added by the Contributor, such addition
+of the Contribution causes such combination to be covered by the
+Licensed Patents. The patent license shall not apply to any other
+combinations which include the Contribution. No hardware per se is
+licensed hereunder.
+
+c) Recipient understands that although each Contributor grants the
+licenses to its Contributions set forth herein, no assurances are
+provided by any Contributor that the Program does not infringe the
+patent or other intellectual property rights of any other entity. Each
+Contributor disclaims any liability to Recipient for claims brought by
+any other entity based on infringement of intellectual property rights
+or otherwise. As a condition to exercising the rights and licenses
+granted hereunder, each Recipient hereby assumes sole responsibility
+to secure any other intellectual property rights needed, if any. For
+example, if a third party patent license is required to allow
+Recipient to distribute the Program, it is Recipient's responsibility
+to acquire that license before distributing the Program.
+
+d) Each Contributor represents that to its knowledge it has sufficient
+copyright rights in its Contribution, if any, to grant the copyright
+license set forth in this Agreement.
+
+3. REQUIREMENTS
+
+A Contributor may choose to distribute the Program in object code form
+under its own license agreement, provided that:
+
+a) it complies with the terms and conditions of this Agreement; and
+
+b) its license agreement:
+
+i) effectively disclaims on behalf of all Contributors all warranties
+and conditions, express and implied, including warranties or
+conditions of title and non-infringement, and implied warranties or
+conditions of merchantability and fitness for a particular purpose;
+
+ii) effectively excludes on behalf of all Contributors all liability
+for damages, including direct, indirect, special, incidental and
+consequential damages, such as lost profits;
+
+iii) states that any provisions which differ from this Agreement are
+offered by that Contributor alone and not by any other party; and
+
+iv) states that source code for the Program is available from such
+Contributor, and informs licensees how to obtain it in a reasonable
+manner on or through a medium customarily used for software exchange.
+
+When the Program is made available in source code form:
+
+a) it must be made available under this Agreement; and
+
+b) a copy of this Agreement must be included with each copy of the Program.
+
+Contributors may not remove or alter any copyright notices contained
+within the Program.
+
+Each Contributor must identify itself as the originator of its
+Contribution, if any, in a manner that reasonably allows subsequent
+Recipients to identify the originator of the Contribution.
+
+4. COMMERCIAL DISTRIBUTION
+
+Commercial distributors of software may accept certain
+responsibilities with respect to end users, business partners and the
+like. While this license is intended to facilitate the commercial use
+of the Program, the Contributor who includes the Program in a
+commercial product offering should do so in a manner which does not
+create potential liability for other Contributors. Therefore, if a
+Contributor includes the Program in a commercial product offering,
+such Contributor ("Commercial Contributor") hereby agrees to defend
+and indemnify every other Contributor ("Indemnified Contributor")
+against any losses, damages and costs (collectively "Losses") arising
+from claims, lawsuits and other legal actions brought by a third party
+against the Indemnified Contributor to the extent caused by the acts
+or omissions of such Commercial Contributor in connection with its
+distribution of the Program in a commercial product offering.  The
+obligations in this section do not apply to any claims or Losses
+relating to any actual or alleged intellectual property
+infringement. In order to qualify, an Indemnified Contributor must: a)
+promptly notify the Commercial Contributor in writing of such claim,
+and b) allow the Commercial Contributor tocontrol, and cooperate with
+the Commercial Contributor in, the defense and any related settlement
+negotiations. The Indemnified Contributor may participate in any such
+claim at its own expense.
+
+For example, a Contributor might include the Program in a commercial
+product offering, Product X. That Contributor is then a Commercial
+Contributor. If that Commercial Contributor then makes performance
+claims, or offers warranties related to Product X, those performance
+claims and warranties are such Commercial Contributor's responsibility
+alone. Under this section, the Commercial Contributor would have to
+defend claims against the other Contributors related to those
+performance claims and warranties, and if a court requires any other
+Contributor to pay any damages as a result, the Commercial Contributor
+must pay those damages.
+
+5. NO WARRANTY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS
+PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY
+WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY
+OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
+responsible for determining the appropriateness of using and
+distributing the Program and assumes all risks associated with its
+exercise of rights under this Agreement , including but not limited to
+the risks and costs of program errors, compliance with applicable
+laws, damage to or loss of data, programs or equipment, and
+unavailability or interruption of operations.
+
+6. DISCLAIMER OF LIABILITY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR
+ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING
+WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF
+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR
+DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED
+HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+7. GENERAL
+
+If any provision of this Agreement is invalid or unenforceable under
+applicable law, it shall not affect the validity or enforceability of
+the remainder of the terms of this Agreement, and without further
+action by the parties hereto, such provision shall be reformed to the
+minimum extent necessary to make such provision valid and enforceable.
+
+If Recipient institutes patent litigation against any entity
+(including a cross-claim or counterclaim in a lawsuit) alleging that
+the Program itself (excluding combinations of the Program with other
+software or hardware) infringes such Recipient's patent(s), then such
+Recipient's rights granted under Section 2(b) shall terminate as of
+the date such litigation is filed.
+
+All Recipient's rights under this Agreement shall terminate if it
+fails to comply with any of the material terms or conditions of this
+Agreement and does not cure such failure in a reasonable period of
+time after becoming aware of such noncompliance. If all Recipient's
+rights under this Agreement terminate, Recipient agrees to cease use
+and distribution of the Program as soon as reasonably
+practicable. However, Recipient's obligations under this Agreement and
+any licenses granted by Recipient relating to the Program shall
+continue and survive.
+
+Everyone is permitted to copy and distribute copies of this Agreement,
+but in order to avoid inconsistency the Agreement is copyrighted and
+may only be modified in the following manner. The Agreement Steward
+reserves the right to publish new versions (including revisions) of
+this Agreement from time to time. No one other than the Agreement
+Steward has the right to modify this Agreement. The Eclipse Foundation
+is the initial Agreement Steward. The Eclipse Foundation may assign
+the responsibility to serve as the Agreement Steward to a suitable
+separate entity. Each new version of the Agreement will be given a
+distinguishing version number. The Program (including Contributions)
+may always be distributed subject to the version of the Agreement
+under which it was received. In addition, after a new version of the
+Agreement is published, Contributor may elect to distribute the
+Program (including its Contributions) under the new version. Except as
+expressly stated in Sections 2(a) and 2(b) above, Recipient receives
+no rights or licenses to the intellectual property of any Contributor
+under this Agreement, whether expressly, by implication, estoppel or
+otherwise. All rights in the Program not expressly granted under this
+Agreement are reserved.
+
+This Agreement is governed by the laws of the State of New York and
+the intellectual property laws of the United States of America. No
+party to this Agreement will bring a legal action under this Agreement
+more than one year after the cause of action arose. Each party waives
+its rights to a jury trial in any resulting litigation.
+
+
+
+Images distributed under the Creative Commons Attribution + ShareAlike
+License version 3.0:
+
+THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS
+CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS
+PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE
+WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS
+PROHIBITED.
+
+BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND
+AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS
+LICENSE MAY BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU
+THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH
+TERMS AND CONDITIONS.
+
+1. Definitions
+
+    "Adaptation" means a work based upon the Work, or upon the Work
+    and other pre-existing works, such as a translation, adaptation,
+    derivative work, arrangement of music or other alterations of a
+    literary or artistic work, or phonogram or performance and
+    includes cinematographic adaptations or any other form in which
+    the Work may be recast, transformed, or adapted including in any
+    form recognizably derived from the original, except that a work
+    that constitutes a Collection will not be considered an Adaptation
+    for the purpose of this License. For the avoidance of doubt, where
+    the Work is a musical work, performance or phonogram, the
+    synchronization of the Work in timed-relation with a moving image
+    ("synching") will be considered an Adaptation for the purpose of
+    this License.
+
+    "Collection" means a collection of literary or artistic works,
+    such as encyclopedias and anthologies, or performances, phonograms
+    or broadcasts, or other works or subject matter other than works
+    listed in Section 1(f) below, which, by reason of the selection
+    and arrangement of their contents, constitute intellectual
+    creations, in which the Work is included in its entirety in
+    unmodified form along with one or more other contributions, each
+    constituting separate and independent works in themselves, which
+    together are assembled into a collective whole. A work that
+    constitutes a Collection will not be considered an Adaptation (as
+    defined below) for the purposes of this License.
+
+    "Creative Commons Compatible License" means a license that is
+    listed at http://creativecommons.org/compatiblelicenses that has
+    been approved by Creative Commons as being essentially equivalent
+    to this License, including, at a minimum, because that license:
+    (i) contains terms that have the same purpose, meaning and effect
+    as the License Elements of this License; and, (ii) explicitly
+    permits the relicensing of adaptations of works made available
+    under that license under this License or a Creative Commons
+    jurisdiction license with the same License Elements as this
+    License.
+
+    "Distribute" means to make available to the public the original
+    and copies of the Work or Adaptation, as appropriate, through sale
+    or other transfer of ownership.
+
+    "License Elements" means the following high-level license
+    attributes as selected by Licensor and indicated in the title of
+    this License: Attribution, ShareAlike.
+
+    "Licensor" means the individual, individuals, entity or entities
+    that offer(s) the Work under the terms of this License.
+
+    "Original Author" means, in the case of a literary or artistic
+    work, the individual, individuals, entity or entities who created
+    the Work or if no individual or entity can be identified, the
+    publisher; and in addition (i) in the case of a performance the
+    actors, singers, musicians, dancers, and other persons who act,
+    sing, deliver, declaim, play in, interpret or otherwise perform
+    literary or artistic works or expressions of folklore; (ii) in the
+    case of a phonogram the producer being the person or legal entity
+    who first fixes the sounds of a performance or other sounds; and,
+    (iii) in the case of broadcasts, the organization that transmits
+    the broadcast.
+
+    "Work" means the literary and/or artistic work offered under the
+    terms of this License including without limitation any production
+    in the literary, scientific and artistic domain, whatever may be
+    the mode or form of its expression including digital form, such as
+    a book, pamphlet and other writing; a lecture, address, sermon or
+    other work of the same nature; a dramatic or dramatico-musical
+    work; a choreographic work or entertainment in dumb show; a
+    musical composition with or without words; a cinematographic work
+    to which are assimilated works expressed by a process analogous to
+    cinematography; a work of drawing, painting, architecture,
+    sculpture, engraving or lithography; a photographic work to which
+    are assimilated works expressed by a process analogous to
+    photography; a work of applied art; an illustration, map, plan,
+    sketch or three-dimensional work relative to geography,
+    topography, architecture or science; a performance; a broadcast; a
+    phonogram; a compilation of data to the extent it is protected as
+    a copyrightable work; or a work performed by a variety or circus
+    performer to the extent it is not otherwise considered a literary
+    or artistic work.
+
+    "You" means an individual or entity exercising rights under this
+    License who has not previously violated the terms of this License
+    with respect to the Work, or who has received express permission
+    from the Licensor to exercise rights under this License despite a
+    previous violation.
+
+    "Publicly Perform" means to perform public recitations of the Work
+    and to communicate to the public those public recitations, by any
+    means or process, including by wire or wireless means or public
+    digital performances; to make available to the public Works in
+    such a way that members of the public may access these Works from
+    a place and at a place individually chosen by them; to perform the
+    Work to the public by any means or process and the communication
+    to the public of the performances of the Work, including by public
+    digital performance; to broadcast and rebroadcast the Work by any
+    means including signs, sounds or images.
+
+    "Reproduce" means to make copies of the Work by any means
+    including without limitation by sound or visual recordings and the
+    right of fixation and reproducing fixations of the Work, including
+    storage of a protected performance or phonogram in digital form or
+    other electronic medium.
+
+2. Fair Dealing Rights. Nothing in this License is intended to reduce,
+limit, or restrict any uses free from copyright or rights arising from
+limitations or exceptions that are provided for in connection with the
+copyright protection under copyright law or other applicable laws.
+
+3. License Grant. Subject to the terms and conditions of this License,
+Licensor hereby grants You a worldwide, royalty-free, non-exclusive,
+perpetual (for the duration of the applicable copyright) license to
+exercise the rights in the Work as stated below:
+
+    to Reproduce the Work, to incorporate the Work into one or more
+    Collections, and to Reproduce the Work as incorporated in the
+    Collections;
+
+    to create and Reproduce Adaptations provided that any such
+    Adaptation, including any translation in any medium, takes
+    reasonable steps to clearly label, demarcate or otherwise identify
+    that changes were made to the original Work. For example, a
+    translation could be marked "The original work was translated from
+    English to Spanish," or a modification could indicate "The
+    original work has been modified.";
+
+    to Distribute and Publicly Perform the Work including as
+    incorporated in Collections; and,
+
+    to Distribute and Publicly Perform Adaptations.
+
+    For the avoidance of doubt:
+
+        Non-waivable Compulsory License Schemes. In those
+        jurisdictions in which the right to collect royalties through
+        any statutory or compulsory licensing scheme cannot be waived,
+        the Licensor reserves the exclusive right to collect such
+        royalties for any exercise by You of the rights granted under
+        this License;
+
+        Waivable Compulsory License Schemes. In those jurisdictions in
+        which the right to collect royalties through any statutory or
+        compulsory licensing scheme can be waived, the Licensor waives
+        the exclusive right to collect such royalties for any exercise
+        by You of the rights granted under this License; and,
+
+        Voluntary License Schemes. The Licensor waives the right to
+        collect royalties, whether individually or, in the event that
+        the Licensor is a member of a collecting society that
+        administers voluntary licensing schemes, via that society,
+        from any exercise by You of the rights granted under this
+        License.
+
+The above rights may be exercised in all media and formats whether now
+known or hereafter devised. The above rights include the right to make
+such modifications as are technically necessary to exercise the rights
+in other media and formats. Subject to Section 8(f), all rights not
+expressly granted by Licensor are hereby reserved.
+
+4. Restrictions. The license granted in Section 3 above is expressly
+made subject to and limited by the following restrictions:
+
+    You may Distribute or Publicly Perform the Work only under the
+    terms of this License. You must include a copy of, or the Uniform
+    Resource Identifier (URI) for, this License with every copy of the
+    Work You Distribute or Publicly Perform. You may not offer or
+    impose any terms on the Work that restrict the terms of this
+    License or the ability of the recipient of the Work to exercise
+    the rights granted to that recipient under the terms of the
+    License. You may not sublicense the Work. You must keep intact all
+    notices that refer to this License and to the disclaimer of
+    warranties with every copy of the Work You Distribute or Publicly
+    Perform. When You Distribute or Publicly Perform the Work, You may
+    not impose any effective technological measures on the Work that
+    restrict the ability of a recipient of the Work from You to
+    exercise the rights granted to that recipient under the terms of
+    the License. This Section 4(a) applies to the Work as incorporated
+    in a Collection, but this does not require the Collection apart
+    from the Work itself to be made subject to the terms of this
+    License. If You create a Collection, upon notice from any Licensor
+    You must, to the extent practicable, remove from the Collection
+    any credit as required by Section 4(c), as requested. If You
+    create an Adaptation, upon notice from any Licensor You must, to
+    the extent practicable, remove from the Adaptation any credit as
+    required by Section 4(c), as requested.
+
+    You may Distribute or Publicly Perform an Adaptation only under
+    the terms of: (i) this License; (ii) a later version of this
+    License with the same License Elements as this License; (iii) a
+    Creative Commons jurisdiction license (either this or a later
+    license version) that contains the same License Elements as this
+    License (e.g., Attribution-ShareAlike 3.0 US)); (iv) a Creative
+    Commons Compatible License. If you license the Adaptation under
+    one of the licenses mentioned in (iv), you must comply with the
+    terms of that license. If you license the Adaptation under the
+    terms of any of the licenses mentioned in (i), (ii) or (iii) (the
+    "Applicable License"), you must comply with the terms of the
+    Applicable License generally and the following provisions: (I) You
+    must include a copy of, or the URI for, the Applicable License
+    with every copy of each Adaptation You Distribute or Publicly
+    Perform; (II) You may not offer or impose any terms on the
+    Adaptation that restrict the terms of the Applicable License or
+    the ability of the recipient of the Adaptation to exercise the
+    rights granted to that recipient under the terms of the Applicable
+    License; (III) You must keep intact all notices that refer to the
+    Applicable License and to the disclaimer of warranties with every
+    copy of the Work as included in the Adaptation You Distribute or
+    Publicly Perform; (IV) when You Distribute or Publicly Perform the
+    Adaptation, You may not impose any effective technological
+    measures on the Adaptation that restrict the ability of a
+    recipient of the Adaptation from You to exercise the rights
+    granted to that recipient under the terms of the Applicable
+    License. This Section 4(b) applies to the Adaptation as
+    incorporated in a Collection, but this does not require the
+    Collection apart from the Adaptation itself to be made subject to
+    the terms of the Applicable License.
+
+    If You Distribute, or Publicly Perform the Work or any Adaptations
+    or Collections, You must, unless a request has been made pursuant
+    to Section 4(a), keep intact all copyright notices for the Work
+    and provide, reasonable to the medium or means You are utilizing:
+    (i) the name of the Original Author (or pseudonym, if applicable)
+    if supplied, and/or if the Original Author and/or Licensor
+    designate another party or parties (e.g., a sponsor institute,
+    publishing entity, journal) for attribution ("Attribution
+    Parties") in Licensor's copyright notice, terms of service or by
+    other reasonable means, the name of such party or parties; (ii)
+    the title of the Work if supplied; (iii) to the extent reasonably
+    practicable, the URI, if any, that Licensor specifies to be
+    associated with the Work, unless such URI does not refer to the
+    copyright notice or licensing information for the Work; and (iv) ,
+    consistent with Ssection 3(b), in the case of an Adaptation, a
+    credit identifying the use of the Work in the Adaptation (e.g.,
+    "French translation of the Work by Original Author," or
+    "Screenplay based on original Work by Original Author"). The
+    credit required by this Section 4(c) may be implemented in any
+    reasonable manner; provided, however, that in the case of a
+    Adaptation or Collection, at a minimum such credit will appear, if
+    a credit for all contributing authors of the Adaptation or
+    Collection appears, then as part of these credits and in a manner
+    at least as prominent as the credits for the other contributing
+    authors. For the avoidance of doubt, You may only use the credit
+    required by this Section for the purpose of attribution in the
+    manner set out above and, by exercising Your rights under this
+    License, You may not implicitly or explicitly assert or imply any
+    connection with, sponsorship or endorsement by the Original
+    Author, Licensor and/or Attribution Parties, as appropriate, of
+    You or Your use of the Work, without the separate, express prior
+    written permission of the Original Author, Licensor and/or
+    Attribution Parties.
+
+    Except as otherwise agreed in writing by the Licensor or as may be
+    otherwise permitted by applicable law, if You Reproduce,
+    Distribute or Publicly Perform the Work either by itself or as
+    part of any Adaptations or Collections, You must not distort,
+    mutilate, modify or take other derogatory action in relation to
+    the Work which would be prejudicial to the Original Author's honor
+    or reputation. Licensor agrees that in those jurisdictions
+    (e.g. Japan), in which any exercise of the right granted in
+    Section 3(b) of this License (the right to make Adaptations) would
+    be deemed to be a distortion, mutilation, modification or other
+    derogatory action prejudicial to the Original Author's honor and
+    reputation, the Licensor will waive or not assert, as appropriate,
+    this Section, to the fullest extent permitted by the applicable
+    national law, to enable You to reasonably exercise Your right
+    under Section 3(b) of this License (right to make Adaptations) but
+    not otherwise.
+
+5. Representations, Warranties and Disclaimer
+
+UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING,
+LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR
+WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED,
+STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF
+TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE,
+NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY,
+OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT
+DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED
+WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU.
+
+6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY
+APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY
+LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR
+EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK,
+EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+7. Termination
+
+    This License and the rights granted hereunder will terminate
+    automatically upon any breach by You of the terms of this
+    License. Individuals or entities who have received Adaptations or
+    Collections from You under this License, however, will not have
+    their licenses terminated provided such individuals or entities
+    remain in full compliance with those licenses. Sections 1, 2, 5,
+    6, 7, and 8 will survive any termination of this License.
+
+    Subject to the above terms and conditions, the license granted
+    here is perpetual (for the duration of the applicable copyright in
+    the Work). Notwithstanding the above, Licensor reserves the right
+    to release the Work under different license terms or to stop
+    distributing the Work at any time; provided, however that any such
+    election will not serve to withdraw this License (or any other
+    license that has been, or is required to be, granted under the
+    terms of this License), and this License will continue in full
+    force and effect unless terminated as stated above.
+
+8. Miscellaneous
+
+    Each time You Distribute or Publicly Perform the Work or a
+    Collection, the Licensor offers to the recipient a license to the
+    Work on the same terms and conditions as the license granted to
+    You under this License.
+
+    Each time You Distribute or Publicly Perform an Adaptation,
+    Licensor offers to the recipient a license to the original Work on
+    the same terms and conditions as the license granted to You under
+    this License.
+
+    If any provision of this License is invalid or unenforceable under
+    applicable law, it shall not affect the validity or enforceability
+    of the remainder of the terms of this License, and without further
+    action by the parties to this agreement, such provision shall be
+    reformed to the minimum extent necessary to make such provision
+    valid and enforceable.
+
+    No term or provision of this License shall be deemed waived and no
+    breach consented to unless such waiver or consent shall be in
+    writing and signed by the party to be charged with such waiver or
+    consent.
+
+    This License constitutes the entire agreement between the parties
+    with respect to the Work licensed here. There are no
+    understandings, agreements or representations with respect to the
+    Work not specified here. Licensor shall not be bound by any
+    additional provisions that may appear in any communication from
+    You. This License may not be modified without the mutual written
+    agreement of the Licensor and You.
+
+    The rights granted under, and the subject matter referenced, in
+    this License were drafted utilizing the terminology of the Berne
+    Convention for the Protection of Literary and Artistic Works (as
+    amended on September 28, 1979), the Rome Convention of 1961, the
+    WIPO Copyright Treaty of 1996, the WIPO Performances and
+    Phonograms Treaty of 1996 and the Universal Copyright Convention
+    (as revised on July 24, 1971). These rights and subject matter
+    take effect in the relevant jurisdiction in which the License
+    terms are sought to be enforced according to the corresponding
+    provisions of the implementation of those treaty provisions in the
+    applicable national law. If the standard suite of rights granted
+    under applicable copyright law includes additional rights not
+    granted under this License, such additional rights are deemed to
+    be included in the License; this License is not intended to
+    restrict the license of any rights under applicable law.
diff --git a/linux-x86_64/kythe/third_party/leveldb/LICENSE b/linux-x86_64/kythe/third_party/leveldb/LICENSE
new file mode 100644
index 0000000..8e80208
--- /dev/null
+++ b/linux-x86_64/kythe/third_party/leveldb/LICENSE
@@ -0,0 +1,27 @@
+Copyright (c) 2011 The LevelDB Authors. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+   * Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+   * Redistributions in binary form must reproduce the above
+copyright notice, this list of conditions and the following disclaimer
+in the documentation and/or other materials provided with the
+distribution.
+   * Neither the name of Google Inc. nor the names of its
+contributors may be used to endorse or promote products derived from
+this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/linux-x86_64/kythe/third_party/llvm/LICENSE b/linux-x86_64/kythe/third_party/llvm/LICENSE
new file mode 100644
index 0000000..84090c0
--- /dev/null
+++ b/linux-x86_64/kythe/third_party/llvm/LICENSE
@@ -0,0 +1,70 @@
+==============================================================================
+LLVM Release License
+==============================================================================
+University of Illinois/NCSA
+Open Source License
+
+Copyright (c) 2003-2015 University of Illinois at Urbana-Champaign.
+All rights reserved.
+
+Developed by:
+
+    LLVM Team
+
+    University of Illinois at Urbana-Champaign
+
+    http://llvm.org
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal with
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
+of the Software, and to permit persons to whom the Software is furnished to do
+so, subject to the following conditions:
+
+    * Redistributions of source code must retain the above copyright notice,
+      this list of conditions and the following disclaimers.
+
+    * Redistributions in binary form must reproduce the above copyright notice,
+      this list of conditions and the following disclaimers in the
+      documentation and/or other materials provided with the distribution.
+
+    * Neither the names of the LLVM Team, University of Illinois at
+      Urbana-Champaign, nor the names of its contributors may be used to
+      endorse or promote products derived from this Software without specific
+      prior written permission.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
+FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE
+SOFTWARE.
+
+==============================================================================
+Copyrights and Licenses for Third Party Software Distributed with LLVM:
+==============================================================================
+The LLVM software contains code written by third parties.  Such software will
+have its own individual LICENSE.TXT file in the directory in which it appears.
+This file will describe the copyrights, license, and restrictions which apply
+to that code.
+
+The disclaimer of warranty in the University of Illinois Open Source License
+applies to all code in the LLVM Distribution, and nothing in any of the
+other licenses gives permission to use the names of the LLVM Team or the
+University of Illinois to endorse or promote products derived from this
+Software.
+
+The following pieces of software have additional or alternate copyrights,
+licenses, and/or restrictions:
+
+Program             Directory
+-------             ---------
+Autoconf            llvm/autoconf
+                    llvm/projects/ModuleMaker/autoconf
+Google Test         llvm/utils/unittest/googletest
+OpenBSD regex       llvm/lib/Support/{reg*, COPYRIGHT.regex}
+pyyaml tests        llvm/test/YAMLParser/{*.data, LICENSE.TXT}
+ARM contributions   llvm/lib/Target/ARM/LICENSE.TXT
+md5 contributions   llvm/lib/Support/MD5.cpp llvm/include/llvm/Support/MD5.h
diff --git a/linux-x86_64/kythe/third_party/netty/LICENSE.txt b/linux-x86_64/kythe/third_party/netty/LICENSE.txt
new file mode 100644
index 0000000..d645695
--- /dev/null
+++ b/linux-x86_64/kythe/third_party/netty/LICENSE.txt
@@ -0,0 +1,202 @@
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
diff --git a/linux-x86_64/kythe/third_party/proto/LICENSE b/linux-x86_64/kythe/third_party/proto/LICENSE
new file mode 100644
index 0000000..a15d52c
--- /dev/null
+++ b/linux-x86_64/kythe/third_party/proto/LICENSE
@@ -0,0 +1,42 @@
+This license applies to all parts of Protocol Buffers except the following:
+
+  - Atomicops support for generic gcc, located in
+    src/google/protobuf/stubs/atomicops_internals_generic_gcc.h.
+    This file is copyrighted by Red Hat Inc.
+
+  - Atomicops support for AIX/POWER, located in
+    src/google/protobuf/stubs/atomicops_internals_aix.h.
+    This file is copyrighted by Bloomberg Finance LP.
+
+Copyright 2014, Google Inc.  All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+    * Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above
+copyright notice, this list of conditions and the following disclaimer
+in the documentation and/or other materials provided with the
+distribution.
+    * Neither the name of Google Inc. nor the names of its
+contributors may be used to endorse or promote products derived from
+this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+Code generated by the Protocol Buffer compiler is owned by the owner
+of the input file used when generating it.  This code is not
+standalone and requires a support library to be linked with it.  This
+support library is itself covered by the above license.
diff --git a/linux-x86_64/kythe/third_party/rapidjson/license.txt b/linux-x86_64/kythe/third_party/rapidjson/license.txt
new file mode 100644
index 0000000..03d97d1
--- /dev/null
+++ b/linux-x86_64/kythe/third_party/rapidjson/license.txt
@@ -0,0 +1,19 @@
+Copyright (C) 2011 Milo Yip
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
\ No newline at end of file
diff --git a/linux-x86_64/kythe/third_party/re2j/LICENSE b/linux-x86_64/kythe/third_party/re2j/LICENSE
new file mode 100644
index 0000000..b620ae6
--- /dev/null
+++ b/linux-x86_64/kythe/third_party/re2j/LICENSE
@@ -0,0 +1,32 @@
+This is a work derived from Russ Cox's RE2 in Go, whose license
+http://golang.org/LICENSE is as follows:
+
+Copyright (c) 2009 The Go Authors. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+   * Redistributions of source code must retain the above copyright
+     notice, this list of conditions and the following disclaimer.
+
+   * Redistributions in binary form must reproduce the above copyright
+     notice, this list of conditions and the following disclaimer in
+     the documentation and/or other materials provided with the
+     distribution.
+
+   * Neither the name of Google Inc. nor the names of its contributors
+     may be used to endorse or promote products derived from this
+     software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/linux-x86_64/kythe/third_party/snappy/COPYING b/linux-x86_64/kythe/third_party/snappy/COPYING
new file mode 100644
index 0000000..4816c43
--- /dev/null
+++ b/linux-x86_64/kythe/third_party/snappy/COPYING
@@ -0,0 +1,54 @@
+Copyright 2011, Google Inc.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+    * Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above
+copyright notice, this list of conditions and the following disclaimer
+in the documentation and/or other materials provided with the
+distribution.
+    * Neither the name of Google Inc. nor the names of its
+contributors may be used to endorse or promote products derived from
+this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+===
+
+Some of the benchmark data in util/zippy/testdata is licensed differently:
+
+ - fireworks.jpeg is Copyright 2013 Steinar H. Gunderson, and
+   is licensed under the Creative Commons Attribution 3.0 license
+   (CC-BY-3.0). See https://creativecommons.org/licenses/by/3.0/
+   for more information.
+
+ - kppkn.gtb is taken from the Gaviota chess tablebase set, and
+   is licensed under the MIT License. See
+   https://sites.google.com/site/gaviotachessengine/Home/endgame-tablebases-1
+   for more information.
+
+ - paper-100k.pdf is an excerpt (bytes 92160 to 194560) from the paper
+   “Combinatorial Modeling of Chromatin Features Quantitatively Predicts DNA
+   Replication Timing in _Drosophila_” by Federico Comoglio and Renato Paro,
+   which is licensed under the CC-BY license. See
+   http://www.ploscompbiol.org/static/license for more ifnormation.
+
+ - alice29.txt, asyoulik.txt, plrabn12.txt and lcet10.txt are from Project
+   Gutenberg. The first three have expired copyrights and are in the public
+   domain; the latter does not have expired copyright, but is still in the
+   public domain according to the license information
+   (http://www.gutenberg.org/ebooks/53).
diff --git a/linux-x86_64/kythe/third_party/zlib/LICENSE b/linux-x86_64/kythe/third_party/zlib/LICENSE
new file mode 100644
index 0000000..7b302f4
--- /dev/null
+++ b/linux-x86_64/kythe/third_party/zlib/LICENSE
@@ -0,0 +1,29 @@
+ (C) 1995-2013 Jean-loup Gailly and Mark Adler
+
+  This software is provided 'as-is', without any express or implied
+  warranty.  In no event will the authors be held liable for any damages
+  arising from the use of this software.
+
+  Permission is granted to anyone to use this software for any purpose,
+  including commercial applications, and to alter it and redistribute it
+  freely, subject to the following restrictions:
+
+  1. The origin of this software must not be misrepresented; you must not
+     claim that you wrote the original software. If you use this software
+     in a product, an acknowledgment in the product documentation would be
+     appreciated but is not required.
+  2. Altered source versions must be plainly marked as such, and must not be
+     misrepresented as being the original software.
+  3. This notice may not be removed or altered from any source distribution.
+
+  Jean-loup Gailly        Mark Adler
+  jloup@gzip.org          madler@alumni.caltech.edu
+
+If you use the zlib library in a product, we would appreciate *not* receiving
+lengthy legal documents to sign.  The sources are provided for free but without
+warranty of any kind.  The library has been entirely written by Jean-loup
+Gailly and Mark Adler; it does not include third-party code.
+
+If you redistribute modified sources, we would appreciate that you include in
+the file ChangeLog history information documenting your changes.  Please read
+the FAQ for more information on the distribution of modified source versions.
diff --git a/linux-x86_64/kythe/tools/dedup_stream b/linux-x86_64/kythe/tools/dedup_stream
new file mode 100755
index 0000000..a48d054
--- /dev/null
+++ b/linux-x86_64/kythe/tools/dedup_stream
Binary files differ
diff --git a/linux-x86_64/kythe/tools/directory_indexer b/linux-x86_64/kythe/tools/directory_indexer
new file mode 100755
index 0000000..86ba258
--- /dev/null
+++ b/linux-x86_64/kythe/tools/directory_indexer
Binary files differ
diff --git a/linux-x86_64/kythe/tools/entrystream b/linux-x86_64/kythe/tools/entrystream
new file mode 100755
index 0000000..dce2013
--- /dev/null
+++ b/linux-x86_64/kythe/tools/entrystream
Binary files differ
diff --git a/linux-x86_64/kythe/tools/http_server b/linux-x86_64/kythe/tools/http_server
new file mode 100755
index 0000000..245f1ce
--- /dev/null
+++ b/linux-x86_64/kythe/tools/http_server
Binary files differ
diff --git a/linux-x86_64/kythe/tools/indexpack b/linux-x86_64/kythe/tools/indexpack
new file mode 100755
index 0000000..7f13f67
--- /dev/null
+++ b/linux-x86_64/kythe/tools/indexpack
Binary files differ
diff --git a/linux-x86_64/kythe/tools/kwazthis b/linux-x86_64/kythe/tools/kwazthis
new file mode 100755
index 0000000..e5b9983
--- /dev/null
+++ b/linux-x86_64/kythe/tools/kwazthis
Binary files differ
diff --git a/linux-x86_64/kythe/tools/kythe b/linux-x86_64/kythe/tools/kythe
new file mode 100755
index 0000000..d7f77e0
--- /dev/null
+++ b/linux-x86_64/kythe/tools/kythe
Binary files differ
diff --git a/linux-x86_64/kythe/tools/read_entries b/linux-x86_64/kythe/tools/read_entries
new file mode 100755
index 0000000..af2e90d
--- /dev/null
+++ b/linux-x86_64/kythe/tools/read_entries
Binary files differ
diff --git a/linux-x86_64/kythe/tools/triples b/linux-x86_64/kythe/tools/triples
new file mode 100755
index 0000000..73c417a
--- /dev/null
+++ b/linux-x86_64/kythe/tools/triples
Binary files differ
diff --git a/linux-x86_64/kythe/tools/verifier b/linux-x86_64/kythe/tools/verifier
new file mode 100755
index 0000000..bac621c
--- /dev/null
+++ b/linux-x86_64/kythe/tools/verifier
Binary files differ
diff --git a/linux-x86_64/kythe/tools/viewindex b/linux-x86_64/kythe/tools/viewindex
new file mode 100755
index 0000000..38b2d8d
--- /dev/null
+++ b/linux-x86_64/kythe/tools/viewindex
Binary files differ
diff --git a/linux-x86_64/kythe/tools/write_entries b/linux-x86_64/kythe/tools/write_entries
new file mode 100755
index 0000000..06833e6
--- /dev/null
+++ b/linux-x86_64/kythe/tools/write_entries
Binary files differ
diff --git a/linux-x86_64/kythe/tools/write_tables b/linux-x86_64/kythe/tools/write_tables
new file mode 100755
index 0000000..3ab035f
--- /dev/null
+++ b/linux-x86_64/kythe/tools/write_tables
Binary files differ
diff --git a/linux-x86_64/kythe/web/ui/css/style.css b/linux-x86_64/kythe/web/ui/css/style.css
new file mode 100644
index 0000000..87d2224
--- /dev/null
+++ b/linux-x86_64/kythe/web/ui/css/style.css
@@ -0,0 +1,104 @@
+/*
+ * Copyright 2014 Google Inc. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/* Fullscreen display elements */
+html, body, #kythe, #container, #container div {
+  height: 100%;
+  margin-bottom: 0px;
+}
+
+#fringe {
+  float: left;
+  border: 0px;
+  background: none;
+  width: 35px; /* Enough space for 4-digit line numbers */
+  word-wrap: normal;
+  padding-left: 0px;
+  padding-right: 4px;
+  text-align: right;
+}
+
+#src-container code {
+  white-space: pre;
+  word-wrap: normal;
+}
+
+#src-container, #filetree-container {
+  overflow: auto;
+}
+
+/* Compress file tree items */
+#filetree-container ul > li {
+  margin-left: 11px;
+}
+#filetree-container a {
+  display: inline;
+}
+#filetree-container > ul > li {
+  margin-left: 5px;
+}
+#filetree-container a {
+  padding: 3px;
+  margin: -1px;
+}
+
+.border {
+  border: 1px solid lightgray;
+  border-radius: 4px;
+}
+
+/* TODO(schroederc): don't overlay on top of source text */
+#xrefs {
+  padding: 5px;
+  width: 100%;
+  position: fixed;
+  margin: 0px;
+  bottom: 0px;
+  overflow: auto;
+  background: white;
+  height: 33% !important;
+}
+
+#xrefs div {
+  height: auto;
+}
+
+.snippet {
+  font-size: 90%;
+  color: gray;
+  margin-left: 2em;
+  margin-bottom: 0;
+  white-space: pre;
+}
+
+.snippet span {
+  display: inline-flex;
+}
+
+.spinner {
+  -animation: spin 0.9s infinite linear;
+  -webkit-animation: spin-webkit 0.9s infinite linear;
+}
+
+@-webkit-keyframes spin-webkit {
+  from { -webkit-transform: rotate(0deg); }
+  to   { -webkit-transform: rotate(360deg); }
+}
+
+@keyframes spin {
+  from { transform: scale(1) rotate(0deg); }
+  to   { transform: scale(1) rotate(360deg); }
+}
diff --git a/linux-x86_64/kythe/web/ui/index.html b/linux-x86_64/kythe/web/ui/index.html
new file mode 100644
index 0000000..13e2a1d
--- /dev/null
+++ b/linux-x86_64/kythe/web/ui/index.html
@@ -0,0 +1,14 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <title>Kythe XRefs Browser</title>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">
+    <link rel="stylesheet" href="css/style.css">
+  </head>
+  <body>
+    <div id="kythe"></div>
+    <script src="js/main.js" type="text/javascript"></script>
+  </body>
+</html>
diff --git a/linux-x86_64/kythe/web/ui/js/licenses.txt b/linux-x86_64/kythe/web/ui/js/licenses.txt
new file mode 100755
index 0000000..a5b5ebd
--- /dev/null
+++ b/linux-x86_64/kythe/web/ui/js/licenses.txt
@@ -0,0 +1,32 @@
+args4j - 2.0.26 - MIT License
+clj-time - 0.5.0 - MIT License
+cljs-ajax - 0.3.3 - Eclipse Public License
+clojure-complete - 0.2.3 - unknown
+com.cognitect/transit-cljs - 0.8.188 - The Apache Software License, Version 2.0
+com.cognitect/transit-js - 0.8.723 - The Apache Software License, Version 2.0
+com.facebook/react - 0.11.2 - Eclipse Public License
+com.google.code.findbugs/jsr305 - 1.3.9 - The Apache Software License, Version 2.0
+com.google.guava/guava - 17.0 - The Apache Software License, Version 2.0
+com.google.javascript/closure-compiler - v20140625 - The Apache Software License, Version 2.0
+com.google.javascript/closure-compiler-externs - v20140625 - The Apache Software License, Version 2.0
+com.google.protobuf/protobuf-java - 2.5.0 - New BSD license
+joda-time - 2.2 - Apache 2
+net.colourcoding/poppea - 0.2.0 - Eclipse Public License
+om - 0.8.0-alpha2 - Eclipse
+org.clojure/clojure - 1.7.0 - Eclipse Public License 1.0
+org.clojure/clojurescript - 0.0-2371 - Eclipse Public License 1.0
+org.clojure/core.async - 0.1.346.0-17112a-alpha - Eclipse Public License 1.0
+org.clojure/core.cache - 0.6.3 - Eclipse Public License 1.0
+org.clojure/core.memoize - 0.5.6 - Eclipse Public License 1.0
+org.clojure/data.json - 0.2.3 - Eclipse Public License 1.0
+org.clojure/data.priority-map - 0.0.2 - Eclipse Public License 1.0
+org.clojure/google-closure-library - 0.0-20140718-946a7d39 - The Apache Software License, Version 2.0
+org.clojure/google-closure-library-third-party - 0.0-20140718-946a7d39 - The Apache Software License, Version 2.0
+org.clojure/tools.analyzer - 0.1.0-beta12 - Eclipse Public License 1.0
+org.clojure/tools.analyzer.jvm - 0.1.0-beta12 - Eclipse Public License 1.0
+org.clojure/tools.nrepl - 0.2.6 - Eclipse Public License 1.0
+org.clojure/tools.reader - 0.8.9 - Eclipse Public License 1.0
+org.json/json - 20090211 - provided without support or warranty
+org.mozilla/rhino - 1.7R4 - Mozilla Public License, Version 2.0
+org.ow2.asm/asm-all - 4.1 - BSD
+spyscope - 0.1.3 - Eclipse Public License
diff --git a/linux-x86_64/kythe/web/ui/js/main.js b/linux-x86_64/kythe/web/ui/js/main.js
new file mode 100755
index 0000000..71af8dc
--- /dev/null
+++ b/linux-x86_64/kythe/web/ui/js/main.js
@@ -0,0 +1,701 @@
+/**
+ * React v0.11.2
+ *
+ * Copyright 2013-2014 Facebook, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var t;"undefined"!=typeof window?t=window:"undefined"!=typeof global?t=global:"undefined"!=typeof self&&(t=self),t.React=e()}}(function(){return function e(t,n,r){function o(a,s){if(!n[a]){if(!t[a]){var u="function"==typeof require&&require;if(!s&&u)return u(a,!0);if(i)return i(a,!0);throw new Error("Cannot find module '"+a+"'")}var c=n[a]={exports:{}};t[a][0].call(c.exports,function(e){var n=t[a][1][e];return o(n?n:e)},c,c.exports,e,t,n,r)}return n[a].exports}for(var i="function"==typeof require&&require,a=0;a<r.length;a++)o(r[a]);return o}({1:[function(e,t){"use strict";var n=e("./focusNode"),r={componentDidMount:function(){this.props.autoFocus&&n(this.getDOMNode())}};t.exports=r},{"./focusNode":104}],2:[function(e,t){"use strict";function n(){var e=window.opera;return"object"==typeof e&&"function"==typeof e.version&&parseInt(e.version(),10)<=12}function r(e){return(e.ctrlKey||e.altKey||e.metaKey)&&!(e.ctrlKey&&e.altKey)}var o=e("./EventConstants"),i=e("./EventPropagators"),a=e("./ExecutionEnvironment"),s=e("./SyntheticInputEvent"),u=e("./keyOf"),c=a.canUseDOM&&"TextEvent"in window&&!("documentMode"in document||n()),l=32,p=String.fromCharCode(l),d=o.topLevelTypes,f={beforeInput:{phasedRegistrationNames:{bubbled:u({onBeforeInput:null}),captured:u({onBeforeInputCapture:null})},dependencies:[d.topCompositionEnd,d.topKeyPress,d.topTextInput,d.topPaste]}},h=null,v={eventTypes:f,extractEvents:function(e,t,n,o){var a;if(c)switch(e){case d.topKeyPress:var u=o.which;if(u!==l)return;a=String.fromCharCode(u);break;case d.topTextInput:if(a=o.data,a===p)return;break;default:return}else{switch(e){case d.topPaste:h=null;break;case d.topKeyPress:o.which&&!r(o)&&(h=String.fromCharCode(o.which));break;case d.topCompositionEnd:h=o.data}if(null===h)return;a=h}if(a){var v=s.getPooled(f.beforeInput,n,o);return v.data=a,h=null,i.accumulateTwoPhaseDispatches(v),v}}};t.exports=v},{"./EventConstants":15,"./EventPropagators":20,"./ExecutionEnvironment":21,"./SyntheticInputEvent":84,"./keyOf":125}],3:[function(e,t){"use strict";function n(e,t){return e+t.charAt(0).toUpperCase()+t.substring(1)}var r={columnCount:!0,fillOpacity:!0,flex:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},o=["Webkit","ms","Moz","O"];Object.keys(r).forEach(function(e){o.forEach(function(t){r[n(t,e)]=r[e]})});var i={background:{backgroundImage:!0,backgroundPosition:!0,backgroundRepeat:!0,backgroundColor:!0},border:{borderWidth:!0,borderStyle:!0,borderColor:!0},borderBottom:{borderBottomWidth:!0,borderBottomStyle:!0,borderBottomColor:!0},borderLeft:{borderLeftWidth:!0,borderLeftStyle:!0,borderLeftColor:!0},borderRight:{borderRightWidth:!0,borderRightStyle:!0,borderRightColor:!0},borderTop:{borderTopWidth:!0,borderTopStyle:!0,borderTopColor:!0},font:{fontStyle:!0,fontVariant:!0,fontWeight:!0,fontSize:!0,lineHeight:!0,fontFamily:!0}},a={isUnitlessNumber:r,shorthandPropertyExpansions:i};t.exports=a},{}],4:[function(e,t){"use strict";var n=e("./CSSProperty"),r=e("./dangerousStyleValue"),o=e("./hyphenateStyleName"),i=e("./memoizeStringOnly"),a=i(function(e){return o(e)}),s={createMarkupForStyles:function(e){var t="";for(var n in e)if(e.hasOwnProperty(n)){var o=e[n];null!=o&&(t+=a(n)+":",t+=r(n,o)+";")}return t||null},setValueForStyles:function(e,t){var o=e.style;for(var i in t)if(t.hasOwnProperty(i)){var a=r(i,t[i]);if(a)o[i]=a;else{var s=n.shorthandPropertyExpansions[i];if(s)for(var u in s)o[u]="";else o[i]=""}}}};t.exports=s},{"./CSSProperty":3,"./dangerousStyleValue":99,"./hyphenateStyleName":116,"./memoizeStringOnly":127}],5:[function(e,t){"use strict";function n(){this._callbacks=null,this._contexts=null}var r=e("./PooledClass"),o=e("./invariant"),i=e("./mixInto");i(n,{enqueue:function(e,t){this._callbacks=this._callbacks||[],this._contexts=this._contexts||[],this._callbacks.push(e),this._contexts.push(t)},notifyAll:function(){var e=this._callbacks,t=this._contexts;if(e){o(e.length===t.length),this._callbacks=null,this._contexts=null;for(var n=0,r=e.length;r>n;n++)e[n].call(t[n]);e.length=0,t.length=0}},reset:function(){this._callbacks=null,this._contexts=null},destructor:function(){this.reset()}}),r.addPoolingTo(n),t.exports=n},{"./PooledClass":26,"./invariant":118,"./mixInto":131}],6:[function(e,t){"use strict";function n(e){return"SELECT"===e.nodeName||"INPUT"===e.nodeName&&"file"===e.type}function r(e){var t=M.getPooled(P.change,_,e);C.accumulateTwoPhaseDispatches(t),R.batchedUpdates(o,t)}function o(e){y.enqueueEvents(e),y.processEventQueue()}function i(e,t){I=e,_=t,I.attachEvent("onchange",r)}function a(){I&&(I.detachEvent("onchange",r),I=null,_=null)}function s(e,t,n){return e===O.topChange?n:void 0}function u(e,t,n){e===O.topFocus?(a(),i(t,n)):e===O.topBlur&&a()}function c(e,t){I=e,_=t,T=e.value,N=Object.getOwnPropertyDescriptor(e.constructor.prototype,"value"),Object.defineProperty(I,"value",A),I.attachEvent("onpropertychange",p)}function l(){I&&(delete I.value,I.detachEvent("onpropertychange",p),I=null,_=null,T=null,N=null)}function p(e){if("value"===e.propertyName){var t=e.srcElement.value;t!==T&&(T=t,r(e))}}function d(e,t,n){return e===O.topInput?n:void 0}function f(e,t,n){e===O.topFocus?(l(),c(t,n)):e===O.topBlur&&l()}function h(e){return e!==O.topSelectionChange&&e!==O.topKeyUp&&e!==O.topKeyDown||!I||I.value===T?void 0:(T=I.value,_)}function v(e){return"INPUT"===e.nodeName&&("checkbox"===e.type||"radio"===e.type)}function m(e,t,n){return e===O.topClick?n:void 0}var g=e("./EventConstants"),y=e("./EventPluginHub"),C=e("./EventPropagators"),E=e("./ExecutionEnvironment"),R=e("./ReactUpdates"),M=e("./SyntheticEvent"),D=e("./isEventSupported"),x=e("./isTextInputElement"),b=e("./keyOf"),O=g.topLevelTypes,P={change:{phasedRegistrationNames:{bubbled:b({onChange:null}),captured:b({onChangeCapture:null})},dependencies:[O.topBlur,O.topChange,O.topClick,O.topFocus,O.topInput,O.topKeyDown,O.topKeyUp,O.topSelectionChange]}},I=null,_=null,T=null,N=null,w=!1;E.canUseDOM&&(w=D("change")&&(!("documentMode"in document)||document.documentMode>8));var S=!1;E.canUseDOM&&(S=D("input")&&(!("documentMode"in document)||document.documentMode>9));var A={get:function(){return N.get.call(this)},set:function(e){T=""+e,N.set.call(this,e)}},k={eventTypes:P,extractEvents:function(e,t,r,o){var i,a;if(n(t)?w?i=s:a=u:x(t)?S?i=d:(i=h,a=f):v(t)&&(i=m),i){var c=i(e,t,r);if(c){var l=M.getPooled(P.change,c,o);return C.accumulateTwoPhaseDispatches(l),l}}a&&a(e,t,r)}};t.exports=k},{"./EventConstants":15,"./EventPluginHub":17,"./EventPropagators":20,"./ExecutionEnvironment":21,"./ReactUpdates":74,"./SyntheticEvent":82,"./isEventSupported":119,"./isTextInputElement":121,"./keyOf":125}],7:[function(e,t){"use strict";var n=0,r={createReactRootIndex:function(){return n++}};t.exports=r},{}],8:[function(e,t){"use strict";function n(e){switch(e){case g.topCompositionStart:return C.compositionStart;case g.topCompositionEnd:return C.compositionEnd;case g.topCompositionUpdate:return C.compositionUpdate}}function r(e,t){return e===g.topKeyDown&&t.keyCode===h}function o(e,t){switch(e){case g.topKeyUp:return-1!==f.indexOf(t.keyCode);case g.topKeyDown:return t.keyCode!==h;case g.topKeyPress:case g.topMouseDown:case g.topBlur:return!0;default:return!1}}function i(e){this.root=e,this.startSelection=c.getSelection(e),this.startValue=this.getText()}var a=e("./EventConstants"),s=e("./EventPropagators"),u=e("./ExecutionEnvironment"),c=e("./ReactInputSelection"),l=e("./SyntheticCompositionEvent"),p=e("./getTextContentAccessor"),d=e("./keyOf"),f=[9,13,27,32],h=229,v=u.canUseDOM&&"CompositionEvent"in window,m=!v||"documentMode"in document&&document.documentMode>8&&document.documentMode<=11,g=a.topLevelTypes,y=null,C={compositionEnd:{phasedRegistrationNames:{bubbled:d({onCompositionEnd:null}),captured:d({onCompositionEndCapture:null})},dependencies:[g.topBlur,g.topCompositionEnd,g.topKeyDown,g.topKeyPress,g.topKeyUp,g.topMouseDown]},compositionStart:{phasedRegistrationNames:{bubbled:d({onCompositionStart:null}),captured:d({onCompositionStartCapture:null})},dependencies:[g.topBlur,g.topCompositionStart,g.topKeyDown,g.topKeyPress,g.topKeyUp,g.topMouseDown]},compositionUpdate:{phasedRegistrationNames:{bubbled:d({onCompositionUpdate:null}),captured:d({onCompositionUpdateCapture:null})},dependencies:[g.topBlur,g.topCompositionUpdate,g.topKeyDown,g.topKeyPress,g.topKeyUp,g.topMouseDown]}};i.prototype.getText=function(){return this.root.value||this.root[p()]},i.prototype.getData=function(){var e=this.getText(),t=this.startSelection.start,n=this.startValue.length-this.startSelection.end;return e.substr(t,e.length-n-t)};var E={eventTypes:C,extractEvents:function(e,t,a,u){var c,p;if(v?c=n(e):y?o(e,u)&&(c=C.compositionEnd):r(e,u)&&(c=C.compositionStart),m&&(y||c!==C.compositionStart?c===C.compositionEnd&&y&&(p=y.getData(),y=null):y=new i(t)),c){var d=l.getPooled(c,a,u);return p&&(d.data=p),s.accumulateTwoPhaseDispatches(d),d}}};t.exports=E},{"./EventConstants":15,"./EventPropagators":20,"./ExecutionEnvironment":21,"./ReactInputSelection":56,"./SyntheticCompositionEvent":80,"./getTextContentAccessor":113,"./keyOf":125}],9:[function(e,t){"use strict";function n(e,t,n){e.insertBefore(t,e.childNodes[n]||null)}var r,o=e("./Danger"),i=e("./ReactMultiChildUpdateTypes"),a=e("./getTextContentAccessor"),s=e("./invariant"),u=a();r="textContent"===u?function(e,t){e.textContent=t}:function(e,t){for(;e.firstChild;)e.removeChild(e.firstChild);if(t){var n=e.ownerDocument||document;e.appendChild(n.createTextNode(t))}};var c={dangerouslyReplaceNodeWithMarkup:o.dangerouslyReplaceNodeWithMarkup,updateTextContent:r,processUpdates:function(e,t){for(var a,u=null,c=null,l=0;a=e[l];l++)if(a.type===i.MOVE_EXISTING||a.type===i.REMOVE_NODE){var p=a.fromIndex,d=a.parentNode.childNodes[p],f=a.parentID;s(d),u=u||{},u[f]=u[f]||[],u[f][p]=d,c=c||[],c.push(d)}var h=o.dangerouslyRenderMarkup(t);if(c)for(var v=0;v<c.length;v++)c[v].parentNode.removeChild(c[v]);for(var m=0;a=e[m];m++)switch(a.type){case i.INSERT_MARKUP:n(a.parentNode,h[a.markupIndex],a.toIndex);break;case i.MOVE_EXISTING:n(a.parentNode,u[a.parentID][a.fromIndex],a.toIndex);break;case i.TEXT_CONTENT:r(a.parentNode,a.textContent);break;case i.REMOVE_NODE:}}};t.exports=c},{"./Danger":12,"./ReactMultiChildUpdateTypes":61,"./getTextContentAccessor":113,"./invariant":118}],10:[function(e,t){"use strict";var n=e("./invariant"),r={MUST_USE_ATTRIBUTE:1,MUST_USE_PROPERTY:2,HAS_SIDE_EFFECTS:4,HAS_BOOLEAN_VALUE:8,HAS_NUMERIC_VALUE:16,HAS_POSITIVE_NUMERIC_VALUE:48,HAS_OVERLOADED_BOOLEAN_VALUE:64,injectDOMPropertyConfig:function(e){var t=e.Properties||{},o=e.DOMAttributeNames||{},a=e.DOMPropertyNames||{},s=e.DOMMutationMethods||{};e.isCustomAttribute&&i._isCustomAttributeFunctions.push(e.isCustomAttribute);for(var u in t){n(!i.isStandardName.hasOwnProperty(u)),i.isStandardName[u]=!0;var c=u.toLowerCase();if(i.getPossibleStandardName[c]=u,o.hasOwnProperty(u)){var l=o[u];i.getPossibleStandardName[l]=u,i.getAttributeName[u]=l}else i.getAttributeName[u]=c;i.getPropertyName[u]=a.hasOwnProperty(u)?a[u]:u,i.getMutationMethod[u]=s.hasOwnProperty(u)?s[u]:null;var p=t[u];i.mustUseAttribute[u]=p&r.MUST_USE_ATTRIBUTE,i.mustUseProperty[u]=p&r.MUST_USE_PROPERTY,i.hasSideEffects[u]=p&r.HAS_SIDE_EFFECTS,i.hasBooleanValue[u]=p&r.HAS_BOOLEAN_VALUE,i.hasNumericValue[u]=p&r.HAS_NUMERIC_VALUE,i.hasPositiveNumericValue[u]=p&r.HAS_POSITIVE_NUMERIC_VALUE,i.hasOverloadedBooleanValue[u]=p&r.HAS_OVERLOADED_BOOLEAN_VALUE,n(!i.mustUseAttribute[u]||!i.mustUseProperty[u]),n(i.mustUseProperty[u]||!i.hasSideEffects[u]),n(!!i.hasBooleanValue[u]+!!i.hasNumericValue[u]+!!i.hasOverloadedBooleanValue[u]<=1)}}},o={},i={ID_ATTRIBUTE_NAME:"data-reactid",isStandardName:{},getPossibleStandardName:{},getAttributeName:{},getPropertyName:{},getMutationMethod:{},mustUseAttribute:{},mustUseProperty:{},hasSideEffects:{},hasBooleanValue:{},hasNumericValue:{},hasPositiveNumericValue:{},hasOverloadedBooleanValue:{},_isCustomAttributeFunctions:[],isCustomAttribute:function(e){for(var t=0;t<i._isCustomAttributeFunctions.length;t++){var n=i._isCustomAttributeFunctions[t];if(n(e))return!0}return!1},getDefaultValueForProperty:function(e,t){var n,r=o[e];return r||(o[e]=r={}),t in r||(n=document.createElement(e),r[t]=n[t]),r[t]},injection:r};t.exports=i},{"./invariant":118}],11:[function(e,t){"use strict";function n(e,t){return null==t||r.hasBooleanValue[e]&&!t||r.hasNumericValue[e]&&isNaN(t)||r.hasPositiveNumericValue[e]&&1>t||r.hasOverloadedBooleanValue[e]&&t===!1}var r=e("./DOMProperty"),o=e("./escapeTextForBrowser"),i=e("./memoizeStringOnly"),a=(e("./warning"),i(function(e){return o(e)+'="'})),s={createMarkupForID:function(e){return a(r.ID_ATTRIBUTE_NAME)+o(e)+'"'},createMarkupForProperty:function(e,t){if(r.isStandardName.hasOwnProperty(e)&&r.isStandardName[e]){if(n(e,t))return"";var i=r.getAttributeName[e];return r.hasBooleanValue[e]||r.hasOverloadedBooleanValue[e]&&t===!0?o(i):a(i)+o(t)+'"'}return r.isCustomAttribute(e)?null==t?"":a(e)+o(t)+'"':null},setValueForProperty:function(e,t,o){if(r.isStandardName.hasOwnProperty(t)&&r.isStandardName[t]){var i=r.getMutationMethod[t];if(i)i(e,o);else if(n(t,o))this.deleteValueForProperty(e,t);else if(r.mustUseAttribute[t])e.setAttribute(r.getAttributeName[t],""+o);else{var a=r.getPropertyName[t];r.hasSideEffects[t]&&e[a]===o||(e[a]=o)}}else r.isCustomAttribute(t)&&(null==o?e.removeAttribute(t):e.setAttribute(t,""+o))},deleteValueForProperty:function(e,t){if(r.isStandardName.hasOwnProperty(t)&&r.isStandardName[t]){var n=r.getMutationMethod[t];if(n)n(e,void 0);else if(r.mustUseAttribute[t])e.removeAttribute(r.getAttributeName[t]);else{var o=r.getPropertyName[t],i=r.getDefaultValueForProperty(e.nodeName,o);r.hasSideEffects[t]&&e[o]===i||(e[o]=i)}}else r.isCustomAttribute(t)&&e.removeAttribute(t)}};t.exports=s},{"./DOMProperty":10,"./escapeTextForBrowser":102,"./memoizeStringOnly":127,"./warning":139}],12:[function(e,t){"use strict";function n(e){return e.substring(1,e.indexOf(" "))}var r=e("./ExecutionEnvironment"),o=e("./createNodesFromMarkup"),i=e("./emptyFunction"),a=e("./getMarkupWrap"),s=e("./invariant"),u=/^(<[^ \/>]+)/,c="data-danger-index",l={dangerouslyRenderMarkup:function(e){s(r.canUseDOM);for(var t,l={},p=0;p<e.length;p++)s(e[p]),t=n(e[p]),t=a(t)?t:"*",l[t]=l[t]||[],l[t][p]=e[p];var d=[],f=0;for(t in l)if(l.hasOwnProperty(t)){var h=l[t];for(var v in h)if(h.hasOwnProperty(v)){var m=h[v];h[v]=m.replace(u,"$1 "+c+'="'+v+'" ')}var g=o(h.join(""),i);for(p=0;p<g.length;++p){var y=g[p];y.hasAttribute&&y.hasAttribute(c)&&(v=+y.getAttribute(c),y.removeAttribute(c),s(!d.hasOwnProperty(v)),d[v]=y,f+=1)}}return s(f===d.length),s(d.length===e.length),d},dangerouslyReplaceNodeWithMarkup:function(e,t){s(r.canUseDOM),s(t),s("html"!==e.tagName.toLowerCase());var n=o(t,i)[0];e.parentNode.replaceChild(n,e)}};t.exports=l},{"./ExecutionEnvironment":21,"./createNodesFromMarkup":98,"./emptyFunction":100,"./getMarkupWrap":110,"./invariant":118}],13:[function(e,t){"use strict";var n=e("./keyOf"),r=[n({ResponderEventPlugin:null}),n({SimpleEventPlugin:null}),n({TapEventPlugin:null}),n({EnterLeaveEventPlugin:null}),n({ChangeEventPlugin:null}),n({SelectEventPlugin:null}),n({CompositionEventPlugin:null}),n({BeforeInputEventPlugin:null}),n({AnalyticsEventPlugin:null}),n({MobileSafariClickEventPlugin:null})];t.exports=r},{"./keyOf":125}],14:[function(e,t){"use strict";var n=e("./EventConstants"),r=e("./EventPropagators"),o=e("./SyntheticMouseEvent"),i=e("./ReactMount"),a=e("./keyOf"),s=n.topLevelTypes,u=i.getFirstReactDOM,c={mouseEnter:{registrationName:a({onMouseEnter:null}),dependencies:[s.topMouseOut,s.topMouseOver]},mouseLeave:{registrationName:a({onMouseLeave:null}),dependencies:[s.topMouseOut,s.topMouseOver]}},l=[null,null],p={eventTypes:c,extractEvents:function(e,t,n,a){if(e===s.topMouseOver&&(a.relatedTarget||a.fromElement))return null;if(e!==s.topMouseOut&&e!==s.topMouseOver)return null;var p;if(t.window===t)p=t;else{var d=t.ownerDocument;p=d?d.defaultView||d.parentWindow:window}var f,h;if(e===s.topMouseOut?(f=t,h=u(a.relatedTarget||a.toElement)||p):(f=p,h=t),f===h)return null;var v=f?i.getID(f):"",m=h?i.getID(h):"",g=o.getPooled(c.mouseLeave,v,a);g.type="mouseleave",g.target=f,g.relatedTarget=h;var y=o.getPooled(c.mouseEnter,m,a);return y.type="mouseenter",y.target=h,y.relatedTarget=f,r.accumulateEnterLeaveDispatches(g,y,v,m),l[0]=g,l[1]=y,l}};t.exports=p},{"./EventConstants":15,"./EventPropagators":20,"./ReactMount":59,"./SyntheticMouseEvent":86,"./keyOf":125}],15:[function(e,t){"use strict";var n=e("./keyMirror"),r=n({bubbled:null,captured:null}),o=n({topBlur:null,topChange:null,topClick:null,topCompositionEnd:null,topCompositionStart:null,topCompositionUpdate:null,topContextMenu:null,topCopy:null,topCut:null,topDoubleClick:null,topDrag:null,topDragEnd:null,topDragEnter:null,topDragExit:null,topDragLeave:null,topDragOver:null,topDragStart:null,topDrop:null,topError:null,topFocus:null,topInput:null,topKeyDown:null,topKeyPress:null,topKeyUp:null,topLoad:null,topMouseDown:null,topMouseMove:null,topMouseOut:null,topMouseOver:null,topMouseUp:null,topPaste:null,topReset:null,topScroll:null,topSelectionChange:null,topSubmit:null,topTextInput:null,topTouchCancel:null,topTouchEnd:null,topTouchMove:null,topTouchStart:null,topWheel:null}),i={topLevelTypes:o,PropagationPhases:r};t.exports=i},{"./keyMirror":124}],16:[function(e,t){var n=e("./emptyFunction"),r={listen:function(e,t,n){return e.addEventListener?(e.addEventListener(t,n,!1),{remove:function(){e.removeEventListener(t,n,!1)}}):e.attachEvent?(e.attachEvent("on"+t,n),{remove:function(){e.detachEvent("on"+t,n)}}):void 0},capture:function(e,t,r){return e.addEventListener?(e.addEventListener(t,r,!0),{remove:function(){e.removeEventListener(t,r,!0)}}):{remove:n}},registerDefault:function(){}};t.exports=r},{"./emptyFunction":100}],17:[function(e,t){"use strict";var n=e("./EventPluginRegistry"),r=e("./EventPluginUtils"),o=e("./accumulate"),i=e("./forEachAccumulated"),a=e("./invariant"),s=(e("./isEventSupported"),e("./monitorCodeUse"),{}),u=null,c=function(e){if(e){var t=r.executeDispatch,o=n.getPluginModuleForEvent(e);o&&o.executeDispatch&&(t=o.executeDispatch),r.executeDispatchesInOrder(e,t),e.isPersistent()||e.constructor.release(e)}},l=null,p={injection:{injectMount:r.injection.injectMount,injectInstanceHandle:function(e){l=e},getInstanceHandle:function(){return l},injectEventPluginOrder:n.injectEventPluginOrder,injectEventPluginsByName:n.injectEventPluginsByName},eventNameDispatchConfigs:n.eventNameDispatchConfigs,registrationNameModules:n.registrationNameModules,putListener:function(e,t,n){a(!n||"function"==typeof n);var r=s[t]||(s[t]={});r[e]=n},getListener:function(e,t){var n=s[t];return n&&n[e]},deleteListener:function(e,t){var n=s[t];n&&delete n[e]},deleteAllListeners:function(e){for(var t in s)delete s[t][e]},extractEvents:function(e,t,r,i){for(var a,s=n.plugins,u=0,c=s.length;c>u;u++){var l=s[u];if(l){var p=l.extractEvents(e,t,r,i);p&&(a=o(a,p))}}return a},enqueueEvents:function(e){e&&(u=o(u,e))},processEventQueue:function(){var e=u;u=null,i(e,c),a(!u)},__purge:function(){s={}},__getListenerBank:function(){return s}};t.exports=p},{"./EventPluginRegistry":18,"./EventPluginUtils":19,"./accumulate":92,"./forEachAccumulated":105,"./invariant":118,"./isEventSupported":119,"./monitorCodeUse":132}],18:[function(e,t){"use strict";function n(){if(a)for(var e in s){var t=s[e],n=a.indexOf(e);if(i(n>-1),!u.plugins[n]){i(t.extractEvents),u.plugins[n]=t;var o=t.eventTypes;for(var c in o)i(r(o[c],t,c))}}}function r(e,t,n){i(!u.eventNameDispatchConfigs.hasOwnProperty(n)),u.eventNameDispatchConfigs[n]=e;var r=e.phasedRegistrationNames;if(r){for(var a in r)if(r.hasOwnProperty(a)){var s=r[a];o(s,t,n)}return!0}return e.registrationName?(o(e.registrationName,t,n),!0):!1}function o(e,t,n){i(!u.registrationNameModules[e]),u.registrationNameModules[e]=t,u.registrationNameDependencies[e]=t.eventTypes[n].dependencies}var i=e("./invariant"),a=null,s={},u={plugins:[],eventNameDispatchConfigs:{},registrationNameModules:{},registrationNameDependencies:{},injectEventPluginOrder:function(e){i(!a),a=Array.prototype.slice.call(e),n()},injectEventPluginsByName:function(e){var t=!1;for(var r in e)if(e.hasOwnProperty(r)){var o=e[r];s.hasOwnProperty(r)&&s[r]===o||(i(!s[r]),s[r]=o,t=!0)}t&&n()},getPluginModuleForEvent:function(e){var t=e.dispatchConfig;if(t.registrationName)return u.registrationNameModules[t.registrationName]||null;for(var n in t.phasedRegistrationNames)if(t.phasedRegistrationNames.hasOwnProperty(n)){var r=u.registrationNameModules[t.phasedRegistrationNames[n]];if(r)return r}return null},_resetEventPlugins:function(){a=null;for(var e in s)s.hasOwnProperty(e)&&delete s[e];u.plugins.length=0;var t=u.eventNameDispatchConfigs;for(var n in t)t.hasOwnProperty(n)&&delete t[n];var r=u.registrationNameModules;for(var o in r)r.hasOwnProperty(o)&&delete r[o]}};t.exports=u},{"./invariant":118}],19:[function(e,t){"use strict";function n(e){return e===v.topMouseUp||e===v.topTouchEnd||e===v.topTouchCancel}function r(e){return e===v.topMouseMove||e===v.topTouchMove}function o(e){return e===v.topMouseDown||e===v.topTouchStart}function i(e,t){var n=e._dispatchListeners,r=e._dispatchIDs;if(Array.isArray(n))for(var o=0;o<n.length&&!e.isPropagationStopped();o++)t(e,n[o],r[o]);else n&&t(e,n,r)}function a(e,t,n){e.currentTarget=h.Mount.getNode(n);var r=t(e,n);return e.currentTarget=null,r}function s(e,t){i(e,t),e._dispatchListeners=null,e._dispatchIDs=null}function u(e){var t=e._dispatchListeners,n=e._dispatchIDs;if(Array.isArray(t)){for(var r=0;r<t.length&&!e.isPropagationStopped();r++)if(t[r](e,n[r]))return n[r]}else if(t&&t(e,n))return n;return null}function c(e){var t=u(e);return e._dispatchIDs=null,e._dispatchListeners=null,t}function l(e){var t=e._dispatchListeners,n=e._dispatchIDs;f(!Array.isArray(t));var r=t?t(e,n):null;return e._dispatchListeners=null,e._dispatchIDs=null,r}function p(e){return!!e._dispatchListeners}var d=e("./EventConstants"),f=e("./invariant"),h={Mount:null,injectMount:function(e){h.Mount=e}},v=d.topLevelTypes,m={isEndish:n,isMoveish:r,isStartish:o,executeDirectDispatch:l,executeDispatch:a,executeDispatchesInOrder:s,executeDispatchesInOrderStopAtTrue:c,hasDispatches:p,injection:h,useTouchEvents:!1};t.exports=m},{"./EventConstants":15,"./invariant":118}],20:[function(e,t){"use strict";function n(e,t,n){var r=t.dispatchConfig.phasedRegistrationNames[n];return v(e,r)}function r(e,t,r){var o=t?h.bubbled:h.captured,i=n(e,r,o);i&&(r._dispatchListeners=d(r._dispatchListeners,i),r._dispatchIDs=d(r._dispatchIDs,e))}function o(e){e&&e.dispatchConfig.phasedRegistrationNames&&p.injection.getInstanceHandle().traverseTwoPhase(e.dispatchMarker,r,e)}function i(e,t,n){if(n&&n.dispatchConfig.registrationName){var r=n.dispatchConfig.registrationName,o=v(e,r);o&&(n._dispatchListeners=d(n._dispatchListeners,o),n._dispatchIDs=d(n._dispatchIDs,e))}}function a(e){e&&e.dispatchConfig.registrationName&&i(e.dispatchMarker,null,e)}function s(e){f(e,o)}function u(e,t,n,r){p.injection.getInstanceHandle().traverseEnterLeave(n,r,i,e,t)}function c(e){f(e,a)}var l=e("./EventConstants"),p=e("./EventPluginHub"),d=e("./accumulate"),f=e("./forEachAccumulated"),h=l.PropagationPhases,v=p.getListener,m={accumulateTwoPhaseDispatches:s,accumulateDirectDispatches:c,accumulateEnterLeaveDispatches:u};t.exports=m},{"./EventConstants":15,"./EventPluginHub":17,"./accumulate":92,"./forEachAccumulated":105}],21:[function(e,t){"use strict";var n=!("undefined"==typeof window||!window.document||!window.document.createElement),r={canUseDOM:n,canUseWorkers:"undefined"!=typeof Worker,canUseEventListeners:n&&!(!window.addEventListener&&!window.attachEvent),canUseViewport:n&&!!window.screen,isInWorker:!n};t.exports=r},{}],22:[function(e,t){"use strict";var n,r=e("./DOMProperty"),o=e("./ExecutionEnvironment"),i=r.injection.MUST_USE_ATTRIBUTE,a=r.injection.MUST_USE_PROPERTY,s=r.injection.HAS_BOOLEAN_VALUE,u=r.injection.HAS_SIDE_EFFECTS,c=r.injection.HAS_NUMERIC_VALUE,l=r.injection.HAS_POSITIVE_NUMERIC_VALUE,p=r.injection.HAS_OVERLOADED_BOOLEAN_VALUE;if(o.canUseDOM){var d=document.implementation;n=d&&d.hasFeature&&d.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure","1.1")}var f={isCustomAttribute:RegExp.prototype.test.bind(/^(data|aria)-[a-z_][a-z\d_.\-]*$/),Properties:{accept:null,accessKey:null,action:null,allowFullScreen:i|s,allowTransparency:i,alt:null,async:s,autoComplete:null,autoPlay:s,cellPadding:null,cellSpacing:null,charSet:i,checked:a|s,className:n?i:a,cols:i|l,colSpan:null,content:null,contentEditable:null,contextMenu:i,controls:a|s,coords:null,crossOrigin:null,data:null,dateTime:i,defer:s,dir:null,disabled:i|s,download:p,draggable:null,encType:null,form:i,formNoValidate:s,frameBorder:i,height:i,hidden:i|s,href:null,hrefLang:null,htmlFor:null,httpEquiv:null,icon:null,id:a,label:null,lang:null,list:null,loop:a|s,max:null,maxLength:i,media:i,mediaGroup:null,method:null,min:null,multiple:a|s,muted:a|s,name:null,noValidate:s,open:null,pattern:null,placeholder:null,poster:null,preload:null,radioGroup:null,readOnly:a|s,rel:null,required:s,role:i,rows:i|l,rowSpan:null,sandbox:null,scope:null,scrollLeft:a,scrolling:null,scrollTop:a,seamless:i|s,selected:a|s,shape:null,size:i|l,sizes:i,span:l,spellCheck:null,src:null,srcDoc:a,srcSet:i,start:c,step:null,style:null,tabIndex:null,target:null,title:null,type:null,useMap:null,value:a|u,width:i,wmode:i,autoCapitalize:null,autoCorrect:null,itemProp:i,itemScope:i|s,itemType:i,property:null},DOMAttributeNames:{className:"class",htmlFor:"for",httpEquiv:"http-equiv"},DOMPropertyNames:{autoCapitalize:"autocapitalize",autoComplete:"autocomplete",autoCorrect:"autocorrect",autoFocus:"autofocus",autoPlay:"autoplay",encType:"enctype",hrefLang:"hreflang",radioGroup:"radiogroup",spellCheck:"spellcheck",srcDoc:"srcdoc",srcSet:"srcset"}};t.exports=f},{"./DOMProperty":10,"./ExecutionEnvironment":21}],23:[function(e,t){"use strict";function n(e){u(null==e.props.checkedLink||null==e.props.valueLink)}function r(e){n(e),u(null==e.props.value&&null==e.props.onChange)}function o(e){n(e),u(null==e.props.checked&&null==e.props.onChange)}function i(e){this.props.valueLink.requestChange(e.target.value)}function a(e){this.props.checkedLink.requestChange(e.target.checked)}var s=e("./ReactPropTypes"),u=e("./invariant"),c={button:!0,checkbox:!0,image:!0,hidden:!0,radio:!0,reset:!0,submit:!0},l={Mixin:{propTypes:{value:function(e,t){return!e[t]||c[e.type]||e.onChange||e.readOnly||e.disabled?void 0:new Error("You provided a `value` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultValue`. Otherwise, set either `onChange` or `readOnly`.")},checked:function(e,t){return!e[t]||e.onChange||e.readOnly||e.disabled?void 0:new Error("You provided a `checked` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultChecked`. Otherwise, set either `onChange` or `readOnly`.")},onChange:s.func}},getValue:function(e){return e.props.valueLink?(r(e),e.props.valueLink.value):e.props.value},getChecked:function(e){return e.props.checkedLink?(o(e),e.props.checkedLink.value):e.props.checked},getOnChange:function(e){return e.props.valueLink?(r(e),i):e.props.checkedLink?(o(e),a):e.props.onChange}};t.exports=l},{"./ReactPropTypes":67,"./invariant":118}],24:[function(e,t){"use strict";function n(e){e.remove()}var r=e("./ReactBrowserEventEmitter"),o=e("./accumulate"),i=e("./forEachAccumulated"),a=e("./invariant"),s={trapBubbledEvent:function(e,t){a(this.isMounted());var n=r.trapBubbledEvent(e,t,this.getDOMNode());this._localEventListeners=o(this._localEventListeners,n)},componentWillUnmount:function(){this._localEventListeners&&i(this._localEventListeners,n)}};t.exports=s},{"./ReactBrowserEventEmitter":29,"./accumulate":92,"./forEachAccumulated":105,"./invariant":118}],25:[function(e,t){"use strict";var n=e("./EventConstants"),r=e("./emptyFunction"),o=n.topLevelTypes,i={eventTypes:null,extractEvents:function(e,t,n,i){if(e===o.topTouchStart){var a=i.target;a&&!a.onclick&&(a.onclick=r)}}};t.exports=i},{"./EventConstants":15,"./emptyFunction":100}],26:[function(e,t){"use strict";var n=e("./invariant"),r=function(e){var t=this;if(t.instancePool.length){var n=t.instancePool.pop();return t.call(n,e),n}return new t(e)},o=function(e,t){var n=this;if(n.instancePool.length){var r=n.instancePool.pop();return n.call(r,e,t),r}return new n(e,t)},i=function(e,t,n){var r=this;if(r.instancePool.length){var o=r.instancePool.pop();return r.call(o,e,t,n),o}return new r(e,t,n)},a=function(e,t,n,r,o){var i=this;if(i.instancePool.length){var a=i.instancePool.pop();return i.call(a,e,t,n,r,o),a}return new i(e,t,n,r,o)},s=function(e){var t=this;n(e instanceof t),e.destructor&&e.destructor(),t.instancePool.length<t.poolSize&&t.instancePool.push(e)},u=10,c=r,l=function(e,t){var n=e;return n.instancePool=[],n.getPooled=t||c,n.poolSize||(n.poolSize=u),n.release=s,n},p={addPoolingTo:l,oneArgumentPooler:r,twoArgumentPooler:o,threeArgumentPooler:i,fiveArgumentPooler:a};t.exports=p},{"./invariant":118}],27:[function(e,t){"use strict";function n(e){var t=Array.prototype.slice.call(arguments,1);return e.apply(null,t)}{var r=e("./DOMPropertyOperations"),o=e("./EventPluginUtils"),i=e("./ReactChildren"),a=e("./ReactComponent"),s=e("./ReactCompositeComponent"),u=e("./ReactContext"),c=e("./ReactCurrentOwner"),l=e("./ReactDescriptor"),p=e("./ReactDOM"),d=e("./ReactDOMComponent"),f=e("./ReactDefaultInjection"),h=e("./ReactInstanceHandles"),v=e("./ReactMount"),m=e("./ReactMultiChild"),g=e("./ReactPerf"),y=e("./ReactPropTypes"),C=e("./ReactServerRendering"),E=e("./ReactTextComponent"),R=e("./onlyChild");e("./warning")}f.inject();var M={Children:{map:i.map,forEach:i.forEach,count:i.count,only:R},DOM:p,PropTypes:y,initializeTouchEvents:function(e){o.useTouchEvents=e},createClass:s.createClass,createDescriptor:function(){return n.apply(this,arguments)},createElement:n,constructAndRenderComponent:v.constructAndRenderComponent,constructAndRenderComponentByID:v.constructAndRenderComponentByID,renderComponent:g.measure("React","renderComponent",v.renderComponent),renderComponentToString:C.renderComponentToString,renderComponentToStaticMarkup:C.renderComponentToStaticMarkup,unmountComponentAtNode:v.unmountComponentAtNode,isValidClass:l.isValidFactory,isValidComponent:l.isValidDescriptor,withContext:u.withContext,__internals:{Component:a,CurrentOwner:c,DOMComponent:d,DOMPropertyOperations:r,InstanceHandles:h,Mount:v,MultiChild:m,TextComponent:E}};M.version="0.11.2",t.exports=M},{"./DOMPropertyOperations":11,"./EventPluginUtils":19,"./ReactChildren":30,"./ReactComponent":31,"./ReactCompositeComponent":33,"./ReactContext":34,"./ReactCurrentOwner":35,"./ReactDOM":36,"./ReactDOMComponent":38,"./ReactDefaultInjection":48,"./ReactDescriptor":49,"./ReactInstanceHandles":57,"./ReactMount":59,"./ReactMultiChild":60,"./ReactPerf":63,"./ReactPropTypes":67,"./ReactServerRendering":71,"./ReactTextComponent":73,"./onlyChild":133,"./warning":139}],28:[function(e,t){"use strict";var n=e("./ReactEmptyComponent"),r=e("./ReactMount"),o=e("./invariant"),i={getDOMNode:function(){return o(this.isMounted()),n.isNullComponentID(this._rootNodeID)?null:r.getNode(this._rootNodeID)}};t.exports=i},{"./ReactEmptyComponent":51,"./ReactMount":59,"./invariant":118}],29:[function(e,t){"use strict";function n(e){return Object.prototype.hasOwnProperty.call(e,h)||(e[h]=d++,l[e[h]]={}),l[e[h]]}var r=e("./EventConstants"),o=e("./EventPluginHub"),i=e("./EventPluginRegistry"),a=e("./ReactEventEmitterMixin"),s=e("./ViewportMetrics"),u=e("./isEventSupported"),c=e("./merge"),l={},p=!1,d=0,f={topBlur:"blur",topChange:"change",topClick:"click",topCompositionEnd:"compositionend",topCompositionStart:"compositionstart",topCompositionUpdate:"compositionupdate",topContextMenu:"contextmenu",topCopy:"copy",topCut:"cut",topDoubleClick:"dblclick",topDrag:"drag",topDragEnd:"dragend",topDragEnter:"dragenter",topDragExit:"dragexit",topDragLeave:"dragleave",topDragOver:"dragover",topDragStart:"dragstart",topDrop:"drop",topFocus:"focus",topInput:"input",topKeyDown:"keydown",topKeyPress:"keypress",topKeyUp:"keyup",topMouseDown:"mousedown",topMouseMove:"mousemove",topMouseOut:"mouseout",topMouseOver:"mouseover",topMouseUp:"mouseup",topPaste:"paste",topScroll:"scroll",topSelectionChange:"selectionchange",topTextInput:"textInput",topTouchCancel:"touchcancel",topTouchEnd:"touchend",topTouchMove:"touchmove",topTouchStart:"touchstart",topWheel:"wheel"},h="_reactListenersID"+String(Math.random()).slice(2),v=c(a,{ReactEventListener:null,injection:{injectReactEventListener:function(e){e.setHandleTopLevel(v.handleTopLevel),v.ReactEventListener=e
+}},setEnabled:function(e){v.ReactEventListener&&v.ReactEventListener.setEnabled(e)},isEnabled:function(){return!(!v.ReactEventListener||!v.ReactEventListener.isEnabled())},listenTo:function(e,t){for(var o=t,a=n(o),s=i.registrationNameDependencies[e],c=r.topLevelTypes,l=0,p=s.length;p>l;l++){var d=s[l];a.hasOwnProperty(d)&&a[d]||(d===c.topWheel?u("wheel")?v.ReactEventListener.trapBubbledEvent(c.topWheel,"wheel",o):u("mousewheel")?v.ReactEventListener.trapBubbledEvent(c.topWheel,"mousewheel",o):v.ReactEventListener.trapBubbledEvent(c.topWheel,"DOMMouseScroll",o):d===c.topScroll?u("scroll",!0)?v.ReactEventListener.trapCapturedEvent(c.topScroll,"scroll",o):v.ReactEventListener.trapBubbledEvent(c.topScroll,"scroll",v.ReactEventListener.WINDOW_HANDLE):d===c.topFocus||d===c.topBlur?(u("focus",!0)?(v.ReactEventListener.trapCapturedEvent(c.topFocus,"focus",o),v.ReactEventListener.trapCapturedEvent(c.topBlur,"blur",o)):u("focusin")&&(v.ReactEventListener.trapBubbledEvent(c.topFocus,"focusin",o),v.ReactEventListener.trapBubbledEvent(c.topBlur,"focusout",o)),a[c.topBlur]=!0,a[c.topFocus]=!0):f.hasOwnProperty(d)&&v.ReactEventListener.trapBubbledEvent(d,f[d],o),a[d]=!0)}},trapBubbledEvent:function(e,t,n){return v.ReactEventListener.trapBubbledEvent(e,t,n)},trapCapturedEvent:function(e,t,n){return v.ReactEventListener.trapCapturedEvent(e,t,n)},ensureScrollValueMonitoring:function(){if(!p){var e=s.refreshScrollValues;v.ReactEventListener.monitorScrollValue(e),p=!0}},eventNameDispatchConfigs:o.eventNameDispatchConfigs,registrationNameModules:o.registrationNameModules,putListener:o.putListener,getListener:o.getListener,deleteListener:o.deleteListener,deleteAllListeners:o.deleteAllListeners});t.exports=v},{"./EventConstants":15,"./EventPluginHub":17,"./EventPluginRegistry":18,"./ReactEventEmitterMixin":53,"./ViewportMetrics":91,"./isEventSupported":119,"./merge":128}],30:[function(e,t){"use strict";function n(e,t){this.forEachFunction=e,this.forEachContext=t}function r(e,t,n,r){var o=e;o.forEachFunction.call(o.forEachContext,t,r)}function o(e,t,o){if(null==e)return e;var i=n.getPooled(t,o);p(e,r,i),n.release(i)}function i(e,t,n){this.mapResult=e,this.mapFunction=t,this.mapContext=n}function a(e,t,n,r){var o=e,i=o.mapResult,a=!i.hasOwnProperty(n);if(a){var s=o.mapFunction.call(o.mapContext,t,r);i[n]=s}}function s(e,t,n){if(null==e)return e;var r={},o=i.getPooled(r,t,n);return p(e,a,o),i.release(o),r}function u(){return null}function c(e){return p(e,u,null)}var l=e("./PooledClass"),p=e("./traverseAllChildren"),d=(e("./warning"),l.twoArgumentPooler),f=l.threeArgumentPooler;l.addPoolingTo(n,d),l.addPoolingTo(i,f);var h={forEach:o,map:s,count:c};t.exports=h},{"./PooledClass":26,"./traverseAllChildren":138,"./warning":139}],31:[function(e,t){"use strict";var n=e("./ReactDescriptor"),r=e("./ReactOwner"),o=e("./ReactUpdates"),i=e("./invariant"),a=e("./keyMirror"),s=e("./merge"),u=a({MOUNTED:null,UNMOUNTED:null}),c=!1,l=null,p=null,d={injection:{injectEnvironment:function(e){i(!c),p=e.mountImageIntoNode,l=e.unmountIDFromEnvironment,d.BackendIDOperations=e.BackendIDOperations,c=!0}},LifeCycle:u,BackendIDOperations:null,Mixin:{isMounted:function(){return this._lifeCycleState===u.MOUNTED},setProps:function(e,t){var n=this._pendingDescriptor||this._descriptor;this.replaceProps(s(n.props,e),t)},replaceProps:function(e,t){i(this.isMounted()),i(0===this._mountDepth),this._pendingDescriptor=n.cloneAndReplaceProps(this._pendingDescriptor||this._descriptor,e),o.enqueueUpdate(this,t)},_setPropsInternal:function(e,t){var r=this._pendingDescriptor||this._descriptor;this._pendingDescriptor=n.cloneAndReplaceProps(r,s(r.props,e)),o.enqueueUpdate(this,t)},construct:function(e){this.props=e.props,this._owner=e._owner,this._lifeCycleState=u.UNMOUNTED,this._pendingCallbacks=null,this._descriptor=e,this._pendingDescriptor=null},mountComponent:function(e,t,n){i(!this.isMounted());var o=this._descriptor.props;if(null!=o.ref){var a=this._descriptor._owner;r.addComponentAsRefTo(this,o.ref,a)}this._rootNodeID=e,this._lifeCycleState=u.MOUNTED,this._mountDepth=n},unmountComponent:function(){i(this.isMounted());var e=this.props;null!=e.ref&&r.removeComponentAsRefFrom(this,e.ref,this._owner),l(this._rootNodeID),this._rootNodeID=null,this._lifeCycleState=u.UNMOUNTED},receiveComponent:function(e,t){i(this.isMounted()),this._pendingDescriptor=e,this.performUpdateIfNecessary(t)},performUpdateIfNecessary:function(e){if(null!=this._pendingDescriptor){var t=this._descriptor,n=this._pendingDescriptor;this._descriptor=n,this.props=n.props,this._owner=n._owner,this._pendingDescriptor=null,this.updateComponent(e,t)}},updateComponent:function(e,t){var n=this._descriptor;(n._owner!==t._owner||n.props.ref!==t.props.ref)&&(null!=t.props.ref&&r.removeComponentAsRefFrom(this,t.props.ref,t._owner),null!=n.props.ref&&r.addComponentAsRefTo(this,n.props.ref,n._owner))},mountComponentIntoNode:function(e,t,n){var r=o.ReactReconcileTransaction.getPooled();r.perform(this._mountComponentIntoNode,this,e,t,r,n),o.ReactReconcileTransaction.release(r)},_mountComponentIntoNode:function(e,t,n,r){var o=this.mountComponent(e,n,0);p(o,t,r)},isOwnedBy:function(e){return this._owner===e},getSiblingByRef:function(e){var t=this._owner;return t&&t.refs?t.refs[e]:null}}};t.exports=d},{"./ReactDescriptor":49,"./ReactOwner":62,"./ReactUpdates":74,"./invariant":118,"./keyMirror":124,"./merge":128}],32:[function(e,t){"use strict";var n=e("./ReactDOMIDOperations"),r=e("./ReactMarkupChecksum"),o=e("./ReactMount"),i=e("./ReactPerf"),a=e("./ReactReconcileTransaction"),s=e("./getReactRootElementInContainer"),u=e("./invariant"),c=e("./setInnerHTML"),l=1,p=9,d={ReactReconcileTransaction:a,BackendIDOperations:n,unmountIDFromEnvironment:function(e){o.purgeID(e)},mountImageIntoNode:i.measure("ReactComponentBrowserEnvironment","mountImageIntoNode",function(e,t,n){if(u(t&&(t.nodeType===l||t.nodeType===p)),n){if(r.canReuseMarkup(e,s(t)))return;u(t.nodeType!==p)}u(t.nodeType!==p),c(t,e)})};t.exports=d},{"./ReactDOMIDOperations":40,"./ReactMarkupChecksum":58,"./ReactMount":59,"./ReactPerf":63,"./ReactReconcileTransaction":69,"./getReactRootElementInContainer":112,"./invariant":118,"./setInnerHTML":134}],33:[function(e,t){"use strict";function n(e){var t=e._owner||null;return t&&t.constructor&&t.constructor.displayName?" Check the render method of `"+t.constructor.displayName+"`.":""}function r(e,t){for(var n in t)t.hasOwnProperty(n)&&D("function"==typeof t[n])}function o(e,t){var n=N.hasOwnProperty(t)?N[t]:null;A.hasOwnProperty(t)&&D(n===_.OVERRIDE_BASE),e.hasOwnProperty(t)&&D(n===_.DEFINE_MANY||n===_.DEFINE_MANY_MERGED)}function i(e){var t=e._compositeLifeCycleState;D(e.isMounted()||t===S.MOUNTING),D(t!==S.RECEIVING_STATE),D(t!==S.UNMOUNTING)}function a(e,t){D(!h.isValidFactory(t)),D(!h.isValidDescriptor(t));var n=e.prototype;for(var r in t){var i=t[r];if(t.hasOwnProperty(r))if(o(n,r),w.hasOwnProperty(r))w[r](e,i);else{var a=N.hasOwnProperty(r),s=n.hasOwnProperty(r),u=i&&i.__reactDontBind,p="function"==typeof i,d=p&&!a&&!s&&!u;if(d)n.__reactAutoBindMap||(n.__reactAutoBindMap={}),n.__reactAutoBindMap[r]=i,n[r]=i;else if(s){var f=N[r];D(a&&(f===_.DEFINE_MANY_MERGED||f===_.DEFINE_MANY)),f===_.DEFINE_MANY_MERGED?n[r]=c(n[r],i):f===_.DEFINE_MANY&&(n[r]=l(n[r],i))}else n[r]=i}}}function s(e,t){if(t)for(var n in t){var r=t[n];if(t.hasOwnProperty(n)){var o=n in e,i=r;if(o){var a=e[n],s=typeof a,u=typeof r;D("function"===s&&"function"===u),i=l(a,r)}e[n]=i}}}function u(e,t){return D(e&&t&&"object"==typeof e&&"object"==typeof t),P(t,function(t,n){D(void 0===e[n]),e[n]=t}),e}function c(e,t){return function(){var n=e.apply(this,arguments),r=t.apply(this,arguments);return null==n?r:null==r?n:u(n,r)}}function l(e,t){return function(){e.apply(this,arguments),t.apply(this,arguments)}}var p=e("./ReactComponent"),d=e("./ReactContext"),f=e("./ReactCurrentOwner"),h=e("./ReactDescriptor"),v=(e("./ReactDescriptorValidator"),e("./ReactEmptyComponent")),m=e("./ReactErrorUtils"),g=e("./ReactOwner"),y=e("./ReactPerf"),C=e("./ReactPropTransferer"),E=e("./ReactPropTypeLocations"),R=(e("./ReactPropTypeLocationNames"),e("./ReactUpdates")),M=e("./instantiateReactComponent"),D=e("./invariant"),x=e("./keyMirror"),b=e("./merge"),O=e("./mixInto"),P=(e("./monitorCodeUse"),e("./mapObject")),I=e("./shouldUpdateReactComponent"),_=(e("./warning"),x({DEFINE_ONCE:null,DEFINE_MANY:null,OVERRIDE_BASE:null,DEFINE_MANY_MERGED:null})),T=[],N={mixins:_.DEFINE_MANY,statics:_.DEFINE_MANY,propTypes:_.DEFINE_MANY,contextTypes:_.DEFINE_MANY,childContextTypes:_.DEFINE_MANY,getDefaultProps:_.DEFINE_MANY_MERGED,getInitialState:_.DEFINE_MANY_MERGED,getChildContext:_.DEFINE_MANY_MERGED,render:_.DEFINE_ONCE,componentWillMount:_.DEFINE_MANY,componentDidMount:_.DEFINE_MANY,componentWillReceiveProps:_.DEFINE_MANY,shouldComponentUpdate:_.DEFINE_ONCE,componentWillUpdate:_.DEFINE_MANY,componentDidUpdate:_.DEFINE_MANY,componentWillUnmount:_.DEFINE_MANY,updateComponent:_.OVERRIDE_BASE},w={displayName:function(e,t){e.displayName=t},mixins:function(e,t){if(t)for(var n=0;n<t.length;n++)a(e,t[n])},childContextTypes:function(e,t){r(e,t,E.childContext),e.childContextTypes=b(e.childContextTypes,t)},contextTypes:function(e,t){r(e,t,E.context),e.contextTypes=b(e.contextTypes,t)},getDefaultProps:function(e,t){e.getDefaultProps=e.getDefaultProps?c(e.getDefaultProps,t):t},propTypes:function(e,t){r(e,t,E.prop),e.propTypes=b(e.propTypes,t)},statics:function(e,t){s(e,t)}},S=x({MOUNTING:null,UNMOUNTING:null,RECEIVING_PROPS:null,RECEIVING_STATE:null}),A={construct:function(){p.Mixin.construct.apply(this,arguments),g.Mixin.construct.apply(this,arguments),this.state=null,this._pendingState=null,this.context=null,this._compositeLifeCycleState=null},isMounted:function(){return p.Mixin.isMounted.call(this)&&this._compositeLifeCycleState!==S.MOUNTING},mountComponent:y.measure("ReactCompositeComponent","mountComponent",function(e,t,n){p.Mixin.mountComponent.call(this,e,t,n),this._compositeLifeCycleState=S.MOUNTING,this.__reactAutoBindMap&&this._bindAutoBindMethods(),this.context=this._processContext(this._descriptor._context),this.props=this._processProps(this.props),this.state=this.getInitialState?this.getInitialState():null,D("object"==typeof this.state&&!Array.isArray(this.state)),this._pendingState=null,this._pendingForceUpdate=!1,this.componentWillMount&&(this.componentWillMount(),this._pendingState&&(this.state=this._pendingState,this._pendingState=null)),this._renderedComponent=M(this._renderValidatedComponent()),this._compositeLifeCycleState=null;var r=this._renderedComponent.mountComponent(e,t,n+1);return this.componentDidMount&&t.getReactMountReady().enqueue(this.componentDidMount,this),r}),unmountComponent:function(){this._compositeLifeCycleState=S.UNMOUNTING,this.componentWillUnmount&&this.componentWillUnmount(),this._compositeLifeCycleState=null,this._renderedComponent.unmountComponent(),this._renderedComponent=null,p.Mixin.unmountComponent.call(this)},setState:function(e,t){D("object"==typeof e||null==e),this.replaceState(b(this._pendingState||this.state,e),t)},replaceState:function(e,t){i(this),this._pendingState=e,this._compositeLifeCycleState!==S.MOUNTING&&R.enqueueUpdate(this,t)},_processContext:function(e){var t=null,n=this.constructor.contextTypes;if(n){t={};for(var r in n)t[r]=e[r]}return t},_processChildContext:function(e){var t=this.getChildContext&&this.getChildContext();if(this.constructor.displayName||"ReactCompositeComponent",t){D("object"==typeof this.constructor.childContextTypes);for(var n in t)D(n in this.constructor.childContextTypes);return b(e,t)}return e},_processProps:function(e){var t,n=this.constructor.defaultProps;if(n){t=b(e);for(var r in n)"undefined"==typeof t[r]&&(t[r]=n[r])}else t=e;return t},_checkPropTypes:function(e,t,r){var o=this.constructor.displayName;for(var i in e)if(e.hasOwnProperty(i)){var a=e[i](t,i,o,r);a instanceof Error&&n(this)}},performUpdateIfNecessary:function(e){var t=this._compositeLifeCycleState;if(t!==S.MOUNTING&&t!==S.RECEIVING_PROPS&&(null!=this._pendingDescriptor||null!=this._pendingState||this._pendingForceUpdate)){var n=this.context,r=this.props,o=this._descriptor;null!=this._pendingDescriptor&&(o=this._pendingDescriptor,n=this._processContext(o._context),r=this._processProps(o.props),this._pendingDescriptor=null,this._compositeLifeCycleState=S.RECEIVING_PROPS,this.componentWillReceiveProps&&this.componentWillReceiveProps(r,n)),this._compositeLifeCycleState=S.RECEIVING_STATE;var i=this._pendingState||this.state;this._pendingState=null;try{var a=this._pendingForceUpdate||!this.shouldComponentUpdate||this.shouldComponentUpdate(r,i,n);a?(this._pendingForceUpdate=!1,this._performComponentUpdate(o,r,i,n,e)):(this._descriptor=o,this.props=r,this.state=i,this.context=n,this._owner=o._owner)}finally{this._compositeLifeCycleState=null}}},_performComponentUpdate:function(e,t,n,r,o){var i=this._descriptor,a=this.props,s=this.state,u=this.context;this.componentWillUpdate&&this.componentWillUpdate(t,n,r),this._descriptor=e,this.props=t,this.state=n,this.context=r,this._owner=e._owner,this.updateComponent(o,i),this.componentDidUpdate&&o.getReactMountReady().enqueue(this.componentDidUpdate.bind(this,a,s,u),this)},receiveComponent:function(e,t){(e!==this._descriptor||null==e._owner)&&p.Mixin.receiveComponent.call(this,e,t)},updateComponent:y.measure("ReactCompositeComponent","updateComponent",function(e,t){p.Mixin.updateComponent.call(this,e,t);var n=this._renderedComponent,r=n._descriptor,o=this._renderValidatedComponent();if(I(r,o))n.receiveComponent(o,e);else{var i=this._rootNodeID,a=n._rootNodeID;n.unmountComponent(),this._renderedComponent=M(o);var s=this._renderedComponent.mountComponent(i,e,this._mountDepth+1);p.BackendIDOperations.dangerouslyReplaceNodeWithMarkupByID(a,s)}}),forceUpdate:function(e){var t=this._compositeLifeCycleState;D(this.isMounted()||t===S.MOUNTING),D(t!==S.RECEIVING_STATE&&t!==S.UNMOUNTING),this._pendingForceUpdate=!0,R.enqueueUpdate(this,e)},_renderValidatedComponent:y.measure("ReactCompositeComponent","_renderValidatedComponent",function(){var e,t=d.current;d.current=this._processChildContext(this._descriptor._context),f.current=this;try{e=this.render(),null===e||e===!1?(e=v.getEmptyComponent(),v.registerNullComponentID(this._rootNodeID)):v.deregisterNullComponentID(this._rootNodeID)}finally{d.current=t,f.current=null}return D(h.isValidDescriptor(e)),e}),_bindAutoBindMethods:function(){for(var e in this.__reactAutoBindMap)if(this.__reactAutoBindMap.hasOwnProperty(e)){var t=this.__reactAutoBindMap[e];this[e]=this._bindAutoBindMethod(m.guard(t,this.constructor.displayName+"."+e))}},_bindAutoBindMethod:function(e){var t=this,n=function(){return e.apply(t,arguments)};return n}},k=function(){};O(k,p.Mixin),O(k,g.Mixin),O(k,C.Mixin),O(k,A);var U={LifeCycle:S,Base:k,createClass:function(e){var t=function(e,t){this.construct(e,t)};t.prototype=new k,t.prototype.constructor=t,T.forEach(a.bind(null,t)),a(t,e),t.getDefaultProps&&(t.defaultProps=t.getDefaultProps()),D(t.prototype.render);for(var n in N)t.prototype[n]||(t.prototype[n]=null);var r=h.createFactory(t);return r},injection:{injectMixin:function(e){T.push(e)}}};t.exports=U},{"./ReactComponent":31,"./ReactContext":34,"./ReactCurrentOwner":35,"./ReactDescriptor":49,"./ReactDescriptorValidator":50,"./ReactEmptyComponent":51,"./ReactErrorUtils":52,"./ReactOwner":62,"./ReactPerf":63,"./ReactPropTransferer":64,"./ReactPropTypeLocationNames":65,"./ReactPropTypeLocations":66,"./ReactUpdates":74,"./instantiateReactComponent":117,"./invariant":118,"./keyMirror":124,"./mapObject":126,"./merge":128,"./mixInto":131,"./monitorCodeUse":132,"./shouldUpdateReactComponent":136,"./warning":139}],34:[function(e,t){"use strict";var n=e("./merge"),r={current:{},withContext:function(e,t){var o,i=r.current;r.current=n(i,e);try{o=t()}finally{r.current=i}return o}};t.exports=r},{"./merge":128}],35:[function(e,t){"use strict";var n={current:null};t.exports=n},{}],36:[function(e,t){"use strict";function n(e,t){var n=function(e){this.construct(e)};n.prototype=new o(t,e),n.prototype.constructor=n,n.displayName=t;var i=r.createFactory(n);return i}var r=e("./ReactDescriptor"),o=(e("./ReactDescriptorValidator"),e("./ReactDOMComponent")),i=e("./mergeInto"),a=e("./mapObject"),s=a({a:!1,abbr:!1,address:!1,area:!0,article:!1,aside:!1,audio:!1,b:!1,base:!0,bdi:!1,bdo:!1,big:!1,blockquote:!1,body:!1,br:!0,button:!1,canvas:!1,caption:!1,cite:!1,code:!1,col:!0,colgroup:!1,data:!1,datalist:!1,dd:!1,del:!1,details:!1,dfn:!1,dialog:!1,div:!1,dl:!1,dt:!1,em:!1,embed:!0,fieldset:!1,figcaption:!1,figure:!1,footer:!1,form:!1,h1:!1,h2:!1,h3:!1,h4:!1,h5:!1,h6:!1,head:!1,header:!1,hr:!0,html:!1,i:!1,iframe:!1,img:!0,input:!0,ins:!1,kbd:!1,keygen:!0,label:!1,legend:!1,li:!1,link:!0,main:!1,map:!1,mark:!1,menu:!1,menuitem:!1,meta:!0,meter:!1,nav:!1,noscript:!1,object:!1,ol:!1,optgroup:!1,option:!1,output:!1,p:!1,param:!0,picture:!1,pre:!1,progress:!1,q:!1,rp:!1,rt:!1,ruby:!1,s:!1,samp:!1,script:!1,section:!1,select:!1,small:!1,source:!0,span:!1,strong:!1,style:!1,sub:!1,summary:!1,sup:!1,table:!1,tbody:!1,td:!1,textarea:!1,tfoot:!1,th:!1,thead:!1,time:!1,title:!1,tr:!1,track:!0,u:!1,ul:!1,"var":!1,video:!1,wbr:!0,circle:!1,defs:!1,ellipse:!1,g:!1,line:!1,linearGradient:!1,mask:!1,path:!1,pattern:!1,polygon:!1,polyline:!1,radialGradient:!1,rect:!1,stop:!1,svg:!1,text:!1,tspan:!1},n),u={injectComponentClasses:function(e){i(s,e)}};s.injection=u,t.exports=s},{"./ReactDOMComponent":38,"./ReactDescriptor":49,"./ReactDescriptorValidator":50,"./mapObject":126,"./mergeInto":130}],37:[function(e,t){"use strict";var n=e("./AutoFocusMixin"),r=e("./ReactBrowserComponentMixin"),o=e("./ReactCompositeComponent"),i=e("./ReactDOM"),a=e("./keyMirror"),s=i.button,u=a({onClick:!0,onDoubleClick:!0,onMouseDown:!0,onMouseMove:!0,onMouseUp:!0,onClickCapture:!0,onDoubleClickCapture:!0,onMouseDownCapture:!0,onMouseMoveCapture:!0,onMouseUpCapture:!0}),c=o.createClass({displayName:"ReactDOMButton",mixins:[n,r],render:function(){var e={};for(var t in this.props)!this.props.hasOwnProperty(t)||this.props.disabled&&u[t]||(e[t]=this.props[t]);return s(e,this.props.children)}});t.exports=c},{"./AutoFocusMixin":1,"./ReactBrowserComponentMixin":28,"./ReactCompositeComponent":33,"./ReactDOM":36,"./keyMirror":124}],38:[function(e,t){"use strict";function n(e){e&&(v(null==e.children||null==e.dangerouslySetInnerHTML),v(null==e.style||"object"==typeof e.style))}function r(e,t,n,r){var o=p.findReactContainerForID(e);if(o){var i=o.nodeType===x?o.ownerDocument:o;E(t,i)}r.getPutListenerQueue().enqueuePutListener(e,t,n)}function o(e,t){this._tagOpen="<"+e,this._tagClose=t?"":"</"+e+">",this.tagName=e.toUpperCase()}var i=e("./CSSPropertyOperations"),a=e("./DOMProperty"),s=e("./DOMPropertyOperations"),u=e("./ReactBrowserComponentMixin"),c=e("./ReactComponent"),l=e("./ReactBrowserEventEmitter"),p=e("./ReactMount"),d=e("./ReactMultiChild"),f=e("./ReactPerf"),h=e("./escapeTextForBrowser"),v=e("./invariant"),m=e("./keyOf"),g=e("./merge"),y=e("./mixInto"),C=l.deleteListener,E=l.listenTo,R=l.registrationNameModules,M={string:!0,number:!0},D=m({style:null}),x=1;o.Mixin={mountComponent:f.measure("ReactDOMComponent","mountComponent",function(e,t,r){return c.Mixin.mountComponent.call(this,e,t,r),n(this.props),this._createOpenTagMarkupAndPutListeners(t)+this._createContentMarkup(t)+this._tagClose}),_createOpenTagMarkupAndPutListeners:function(e){var t=this.props,n=this._tagOpen;for(var o in t)if(t.hasOwnProperty(o)){var a=t[o];if(null!=a)if(R.hasOwnProperty(o))r(this._rootNodeID,o,a,e);else{o===D&&(a&&(a=t.style=g(t.style)),a=i.createMarkupForStyles(a));var u=s.createMarkupForProperty(o,a);u&&(n+=" "+u)}}if(e.renderToStaticMarkup)return n+">";var c=s.createMarkupForID(this._rootNodeID);return n+" "+c+">"},_createContentMarkup:function(e){var t=this.props.dangerouslySetInnerHTML;if(null!=t){if(null!=t.__html)return t.__html}else{var n=M[typeof this.props.children]?this.props.children:null,r=null!=n?null:this.props.children;if(null!=n)return h(n);if(null!=r){var o=this.mountChildren(r,e);return o.join("")}}return""},receiveComponent:function(e,t){(e!==this._descriptor||null==e._owner)&&c.Mixin.receiveComponent.call(this,e,t)},updateComponent:f.measure("ReactDOMComponent","updateComponent",function(e,t){n(this._descriptor.props),c.Mixin.updateComponent.call(this,e,t),this._updateDOMProperties(t.props,e),this._updateDOMChildren(t.props,e)}),_updateDOMProperties:function(e,t){var n,o,i,s=this.props;for(n in e)if(!s.hasOwnProperty(n)&&e.hasOwnProperty(n))if(n===D){var u=e[n];for(o in u)u.hasOwnProperty(o)&&(i=i||{},i[o]="")}else R.hasOwnProperty(n)?C(this._rootNodeID,n):(a.isStandardName[n]||a.isCustomAttribute(n))&&c.BackendIDOperations.deletePropertyByID(this._rootNodeID,n);for(n in s){var l=s[n],p=e[n];if(s.hasOwnProperty(n)&&l!==p)if(n===D)if(l&&(l=s.style=g(l)),p){for(o in p)!p.hasOwnProperty(o)||l&&l.hasOwnProperty(o)||(i=i||{},i[o]="");for(o in l)l.hasOwnProperty(o)&&p[o]!==l[o]&&(i=i||{},i[o]=l[o])}else i=l;else R.hasOwnProperty(n)?r(this._rootNodeID,n,l,t):(a.isStandardName[n]||a.isCustomAttribute(n))&&c.BackendIDOperations.updatePropertyByID(this._rootNodeID,n,l)}i&&c.BackendIDOperations.updateStylesByID(this._rootNodeID,i)},_updateDOMChildren:function(e,t){var n=this.props,r=M[typeof e.children]?e.children:null,o=M[typeof n.children]?n.children:null,i=e.dangerouslySetInnerHTML&&e.dangerouslySetInnerHTML.__html,a=n.dangerouslySetInnerHTML&&n.dangerouslySetInnerHTML.__html,s=null!=r?null:e.children,u=null!=o?null:n.children,l=null!=r||null!=i,p=null!=o||null!=a;null!=s&&null==u?this.updateChildren(null,t):l&&!p&&this.updateTextContent(""),null!=o?r!==o&&this.updateTextContent(""+o):null!=a?i!==a&&c.BackendIDOperations.updateInnerHTMLByID(this._rootNodeID,a):null!=u&&this.updateChildren(u,t)},unmountComponent:function(){this.unmountChildren(),l.deleteAllListeners(this._rootNodeID),c.Mixin.unmountComponent.call(this)}},y(o,c.Mixin),y(o,o.Mixin),y(o,d.Mixin),y(o,u),t.exports=o},{"./CSSPropertyOperations":4,"./DOMProperty":10,"./DOMPropertyOperations":11,"./ReactBrowserComponentMixin":28,"./ReactBrowserEventEmitter":29,"./ReactComponent":31,"./ReactMount":59,"./ReactMultiChild":60,"./ReactPerf":63,"./escapeTextForBrowser":102,"./invariant":118,"./keyOf":125,"./merge":128,"./mixInto":131}],39:[function(e,t){"use strict";var n=e("./EventConstants"),r=e("./LocalEventTrapMixin"),o=e("./ReactBrowserComponentMixin"),i=e("./ReactCompositeComponent"),a=e("./ReactDOM"),s=a.form,u=i.createClass({displayName:"ReactDOMForm",mixins:[o,r],render:function(){return this.transferPropsTo(s(null,this.props.children))},componentDidMount:function(){this.trapBubbledEvent(n.topLevelTypes.topReset,"reset"),this.trapBubbledEvent(n.topLevelTypes.topSubmit,"submit")}});t.exports=u},{"./EventConstants":15,"./LocalEventTrapMixin":24,"./ReactBrowserComponentMixin":28,"./ReactCompositeComponent":33,"./ReactDOM":36}],40:[function(e,t){"use strict";var n=e("./CSSPropertyOperations"),r=e("./DOMChildrenOperations"),o=e("./DOMPropertyOperations"),i=e("./ReactMount"),a=e("./ReactPerf"),s=e("./invariant"),u=e("./setInnerHTML"),c={dangerouslySetInnerHTML:"`dangerouslySetInnerHTML` must be set using `updateInnerHTMLByID()`.",style:"`style` must be set using `updateStylesByID()`."},l={updatePropertyByID:a.measure("ReactDOMIDOperations","updatePropertyByID",function(e,t,n){var r=i.getNode(e);s(!c.hasOwnProperty(t)),null!=n?o.setValueForProperty(r,t,n):o.deleteValueForProperty(r,t)}),deletePropertyByID:a.measure("ReactDOMIDOperations","deletePropertyByID",function(e,t,n){var r=i.getNode(e);s(!c.hasOwnProperty(t)),o.deleteValueForProperty(r,t,n)}),updateStylesByID:a.measure("ReactDOMIDOperations","updateStylesByID",function(e,t){var r=i.getNode(e);n.setValueForStyles(r,t)}),updateInnerHTMLByID:a.measure("ReactDOMIDOperations","updateInnerHTMLByID",function(e,t){var n=i.getNode(e);u(n,t)}),updateTextContentByID:a.measure("ReactDOMIDOperations","updateTextContentByID",function(e,t){var n=i.getNode(e);r.updateTextContent(n,t)}),dangerouslyReplaceNodeWithMarkupByID:a.measure("ReactDOMIDOperations","dangerouslyReplaceNodeWithMarkupByID",function(e,t){var n=i.getNode(e);r.dangerouslyReplaceNodeWithMarkup(n,t)}),dangerouslyProcessChildrenUpdates:a.measure("ReactDOMIDOperations","dangerouslyProcessChildrenUpdates",function(e,t){for(var n=0;n<e.length;n++)e[n].parentNode=i.getNode(e[n].parentID);r.processUpdates(e,t)})};t.exports=l},{"./CSSPropertyOperations":4,"./DOMChildrenOperations":9,"./DOMPropertyOperations":11,"./ReactMount":59,"./ReactPerf":63,"./invariant":118,"./setInnerHTML":134}],41:[function(e,t){"use strict";var n=e("./EventConstants"),r=e("./LocalEventTrapMixin"),o=e("./ReactBrowserComponentMixin"),i=e("./ReactCompositeComponent"),a=e("./ReactDOM"),s=a.img,u=i.createClass({displayName:"ReactDOMImg",tagName:"IMG",mixins:[o,r],render:function(){return s(this.props)},componentDidMount:function(){this.trapBubbledEvent(n.topLevelTypes.topLoad,"load"),this.trapBubbledEvent(n.topLevelTypes.topError,"error")}});t.exports=u},{"./EventConstants":15,"./LocalEventTrapMixin":24,"./ReactBrowserComponentMixin":28,"./ReactCompositeComponent":33,"./ReactDOM":36}],42:[function(e,t){"use strict";var n=e("./AutoFocusMixin"),r=e("./DOMPropertyOperations"),o=e("./LinkedValueUtils"),i=e("./ReactBrowserComponentMixin"),a=e("./ReactCompositeComponent"),s=e("./ReactDOM"),u=e("./ReactMount"),c=e("./invariant"),l=e("./merge"),p=s.input,d={},f=a.createClass({displayName:"ReactDOMInput",mixins:[n,o.Mixin,i],getInitialState:function(){var e=this.props.defaultValue;return{checked:this.props.defaultChecked||!1,value:null!=e?e:null}},shouldComponentUpdate:function(){return!this._isChanging},render:function(){var e=l(this.props);e.defaultChecked=null,e.defaultValue=null;var t=o.getValue(this);e.value=null!=t?t:this.state.value;var n=o.getChecked(this);return e.checked=null!=n?n:this.state.checked,e.onChange=this._handleChange,p(e,this.props.children)},componentDidMount:function(){var e=u.getID(this.getDOMNode());d[e]=this},componentWillUnmount:function(){var e=this.getDOMNode(),t=u.getID(e);delete d[t]},componentDidUpdate:function(){var e=this.getDOMNode();null!=this.props.checked&&r.setValueForProperty(e,"checked",this.props.checked||!1);var t=o.getValue(this);null!=t&&r.setValueForProperty(e,"value",""+t)},_handleChange:function(e){var t,n=o.getOnChange(this);n&&(this._isChanging=!0,t=n.call(this,e),this._isChanging=!1),this.setState({checked:e.target.checked,value:e.target.value});var r=this.props.name;if("radio"===this.props.type&&null!=r){for(var i=this.getDOMNode(),a=i;a.parentNode;)a=a.parentNode;for(var s=a.querySelectorAll("input[name="+JSON.stringify(""+r)+'][type="radio"]'),l=0,p=s.length;p>l;l++){var f=s[l];if(f!==i&&f.form===i.form){var h=u.getID(f);c(h);var v=d[h];c(v),v.setState({checked:!1})}}}return t}});t.exports=f},{"./AutoFocusMixin":1,"./DOMPropertyOperations":11,"./LinkedValueUtils":23,"./ReactBrowserComponentMixin":28,"./ReactCompositeComponent":33,"./ReactDOM":36,"./ReactMount":59,"./invariant":118,"./merge":128}],43:[function(e,t){"use strict";var n=e("./ReactBrowserComponentMixin"),r=e("./ReactCompositeComponent"),o=e("./ReactDOM"),i=(e("./warning"),o.option),a=r.createClass({displayName:"ReactDOMOption",mixins:[n],componentWillMount:function(){},render:function(){return i(this.props,this.props.children)}});t.exports=a},{"./ReactBrowserComponentMixin":28,"./ReactCompositeComponent":33,"./ReactDOM":36,"./warning":139}],44:[function(e,t){"use strict";function n(e,t){if(null!=e[t])if(e.multiple){if(!Array.isArray(e[t]))return new Error("The `"+t+"` prop supplied to <select> must be an array if `multiple` is true.")}else if(Array.isArray(e[t]))return new Error("The `"+t+"` prop supplied to <select> must be a scalar value if `multiple` is false.")}function r(e,t){var n,r,o,i=e.props.multiple,a=null!=t?t:e.state.value,s=e.getDOMNode().options;if(i)for(n={},r=0,o=a.length;o>r;++r)n[""+a[r]]=!0;else n=""+a;for(r=0,o=s.length;o>r;r++){var u=i?n.hasOwnProperty(s[r].value):s[r].value===n;u!==s[r].selected&&(s[r].selected=u)}}var o=e("./AutoFocusMixin"),i=e("./LinkedValueUtils"),a=e("./ReactBrowserComponentMixin"),s=e("./ReactCompositeComponent"),u=e("./ReactDOM"),c=e("./merge"),l=u.select,p=s.createClass({displayName:"ReactDOMSelect",mixins:[o,i.Mixin,a],propTypes:{defaultValue:n,value:n},getInitialState:function(){return{value:this.props.defaultValue||(this.props.multiple?[]:"")}},componentWillReceiveProps:function(e){!this.props.multiple&&e.multiple?this.setState({value:[this.state.value]}):this.props.multiple&&!e.multiple&&this.setState({value:this.state.value[0]})},shouldComponentUpdate:function(){return!this._isChanging},render:function(){var e=c(this.props);return e.onChange=this._handleChange,e.value=null,l(e,this.props.children)},componentDidMount:function(){r(this,i.getValue(this))},componentDidUpdate:function(e){var t=i.getValue(this),n=!!e.multiple,o=!!this.props.multiple;(null!=t||n!==o)&&r(this,t)},_handleChange:function(e){var t,n=i.getOnChange(this);n&&(this._isChanging=!0,t=n.call(this,e),this._isChanging=!1);var r;if(this.props.multiple){r=[];for(var o=e.target.options,a=0,s=o.length;s>a;a++)o[a].selected&&r.push(o[a].value)}else r=e.target.value;return this.setState({value:r}),t}});t.exports=p},{"./AutoFocusMixin":1,"./LinkedValueUtils":23,"./ReactBrowserComponentMixin":28,"./ReactCompositeComponent":33,"./ReactDOM":36,"./merge":128}],45:[function(e,t){"use strict";function n(e,t,n,r){return e===n&&t===r}function r(e){var t=document.selection,n=t.createRange(),r=n.text.length,o=n.duplicate();o.moveToElementText(e),o.setEndPoint("EndToStart",n);var i=o.text.length,a=i+r;return{start:i,end:a}}function o(e){var t=window.getSelection();if(0===t.rangeCount)return null;var r=t.anchorNode,o=t.anchorOffset,i=t.focusNode,a=t.focusOffset,s=t.getRangeAt(0),u=n(t.anchorNode,t.anchorOffset,t.focusNode,t.focusOffset),c=u?0:s.toString().length,l=s.cloneRange();l.selectNodeContents(e),l.setEnd(s.startContainer,s.startOffset);var p=n(l.startContainer,l.startOffset,l.endContainer,l.endOffset),d=p?0:l.toString().length,f=d+c,h=document.createRange();h.setStart(r,o),h.setEnd(i,a);var v=h.collapsed;return h.detach(),{start:v?f:d,end:v?d:f}}function i(e,t){var n,r,o=document.selection.createRange().duplicate();"undefined"==typeof t.end?(n=t.start,r=n):t.start>t.end?(n=t.end,r=t.start):(n=t.start,r=t.end),o.moveToElementText(e),o.moveStart("character",n),o.setEndPoint("EndToStart",o),o.moveEnd("character",r-n),o.select()}function a(e,t){var n=window.getSelection(),r=e[c()].length,o=Math.min(t.start,r),i="undefined"==typeof t.end?o:Math.min(t.end,r);if(!n.extend&&o>i){var a=i;i=o,o=a}var s=u(e,o),l=u(e,i);if(s&&l){var p=document.createRange();p.setStart(s.node,s.offset),n.removeAllRanges(),o>i?(n.addRange(p),n.extend(l.node,l.offset)):(p.setEnd(l.node,l.offset),n.addRange(p)),p.detach()}}var s=e("./ExecutionEnvironment"),u=e("./getNodeForCharacterOffset"),c=e("./getTextContentAccessor"),l=s.canUseDOM&&document.selection,p={getOffsets:l?r:o,setOffsets:l?i:a};t.exports=p},{"./ExecutionEnvironment":21,"./getNodeForCharacterOffset":111,"./getTextContentAccessor":113}],46:[function(e,t){"use strict";var n=e("./AutoFocusMixin"),r=e("./DOMPropertyOperations"),o=e("./LinkedValueUtils"),i=e("./ReactBrowserComponentMixin"),a=e("./ReactCompositeComponent"),s=e("./ReactDOM"),u=e("./invariant"),c=e("./merge"),l=(e("./warning"),s.textarea),p=a.createClass({displayName:"ReactDOMTextarea",mixins:[n,o.Mixin,i],getInitialState:function(){var e=this.props.defaultValue,t=this.props.children;null!=t&&(u(null==e),Array.isArray(t)&&(u(t.length<=1),t=t[0]),e=""+t),null==e&&(e="");var n=o.getValue(this);return{initialValue:""+(null!=n?n:e)}},shouldComponentUpdate:function(){return!this._isChanging},render:function(){var e=c(this.props);return u(null==e.dangerouslySetInnerHTML),e.defaultValue=null,e.value=null,e.onChange=this._handleChange,l(e,this.state.initialValue)
+},componentDidUpdate:function(){var e=o.getValue(this);if(null!=e){var t=this.getDOMNode();r.setValueForProperty(t,"value",""+e)}},_handleChange:function(e){var t,n=o.getOnChange(this);return n&&(this._isChanging=!0,t=n.call(this,e),this._isChanging=!1),this.setState({value:e.target.value}),t}});t.exports=p},{"./AutoFocusMixin":1,"./DOMPropertyOperations":11,"./LinkedValueUtils":23,"./ReactBrowserComponentMixin":28,"./ReactCompositeComponent":33,"./ReactDOM":36,"./invariant":118,"./merge":128,"./warning":139}],47:[function(e,t){"use strict";function n(){this.reinitializeTransaction()}var r=e("./ReactUpdates"),o=e("./Transaction"),i=e("./emptyFunction"),a=e("./mixInto"),s={initialize:i,close:function(){p.isBatchingUpdates=!1}},u={initialize:i,close:r.flushBatchedUpdates.bind(r)},c=[u,s];a(n,o.Mixin),a(n,{getTransactionWrappers:function(){return c}});var l=new n,p={isBatchingUpdates:!1,batchedUpdates:function(e,t,n){var r=p.isBatchingUpdates;p.isBatchingUpdates=!0,r?e(t,n):l.perform(e,null,t,n)}};t.exports=p},{"./ReactUpdates":74,"./Transaction":90,"./emptyFunction":100,"./mixInto":131}],48:[function(e,t){"use strict";function n(){x.EventEmitter.injectReactEventListener(D),x.EventPluginHub.injectEventPluginOrder(s),x.EventPluginHub.injectInstanceHandle(b),x.EventPluginHub.injectMount(O),x.EventPluginHub.injectEventPluginsByName({SimpleEventPlugin:_,EnterLeaveEventPlugin:u,ChangeEventPlugin:o,CompositionEventPlugin:a,MobileSafariClickEventPlugin:p,SelectEventPlugin:P,BeforeInputEventPlugin:r}),x.DOM.injectComponentClasses({button:m,form:g,img:y,input:C,option:E,select:R,textarea:M,html:N(v.html),head:N(v.head),body:N(v.body)}),x.CompositeComponent.injectMixin(d),x.DOMProperty.injectDOMPropertyConfig(l),x.DOMProperty.injectDOMPropertyConfig(T),x.EmptyComponent.injectEmptyComponent(v.noscript),x.Updates.injectReconcileTransaction(f.ReactReconcileTransaction),x.Updates.injectBatchingStrategy(h),x.RootIndex.injectCreateReactRootIndex(c.canUseDOM?i.createReactRootIndex:I.createReactRootIndex),x.Component.injectEnvironment(f)}var r=e("./BeforeInputEventPlugin"),o=e("./ChangeEventPlugin"),i=e("./ClientReactRootIndex"),a=e("./CompositionEventPlugin"),s=e("./DefaultEventPluginOrder"),u=e("./EnterLeaveEventPlugin"),c=e("./ExecutionEnvironment"),l=e("./HTMLDOMPropertyConfig"),p=e("./MobileSafariClickEventPlugin"),d=e("./ReactBrowserComponentMixin"),f=e("./ReactComponentBrowserEnvironment"),h=e("./ReactDefaultBatchingStrategy"),v=e("./ReactDOM"),m=e("./ReactDOMButton"),g=e("./ReactDOMForm"),y=e("./ReactDOMImg"),C=e("./ReactDOMInput"),E=e("./ReactDOMOption"),R=e("./ReactDOMSelect"),M=e("./ReactDOMTextarea"),D=e("./ReactEventListener"),x=e("./ReactInjection"),b=e("./ReactInstanceHandles"),O=e("./ReactMount"),P=e("./SelectEventPlugin"),I=e("./ServerReactRootIndex"),_=e("./SimpleEventPlugin"),T=e("./SVGDOMPropertyConfig"),N=e("./createFullPageComponent");t.exports={inject:n}},{"./BeforeInputEventPlugin":2,"./ChangeEventPlugin":6,"./ClientReactRootIndex":7,"./CompositionEventPlugin":8,"./DefaultEventPluginOrder":13,"./EnterLeaveEventPlugin":14,"./ExecutionEnvironment":21,"./HTMLDOMPropertyConfig":22,"./MobileSafariClickEventPlugin":25,"./ReactBrowserComponentMixin":28,"./ReactComponentBrowserEnvironment":32,"./ReactDOM":36,"./ReactDOMButton":37,"./ReactDOMForm":39,"./ReactDOMImg":41,"./ReactDOMInput":42,"./ReactDOMOption":43,"./ReactDOMSelect":44,"./ReactDOMTextarea":46,"./ReactDefaultBatchingStrategy":47,"./ReactEventListener":54,"./ReactInjection":55,"./ReactInstanceHandles":57,"./ReactMount":59,"./SVGDOMPropertyConfig":75,"./SelectEventPlugin":76,"./ServerReactRootIndex":77,"./SimpleEventPlugin":78,"./createFullPageComponent":97}],49:[function(e,t){"use strict";function n(e,t){if("function"==typeof t)for(var n in t)if(t.hasOwnProperty(n)){var r=t[n];if("function"==typeof r){var o=r.bind(t);for(var i in r)r.hasOwnProperty(i)&&(o[i]=r[i]);e[n]=o}else e[n]=r}}var r=e("./ReactContext"),o=e("./ReactCurrentOwner"),i=e("./merge"),a=(e("./warning"),function(){});a.createFactory=function(e){var t=Object.create(a.prototype),s=function(e,n){null==e?e={}:"object"==typeof e&&(e=i(e));var a=arguments.length-1;if(1===a)e.children=n;else if(a>1){for(var s=Array(a),u=0;a>u;u++)s[u]=arguments[u+1];e.children=s}var c=Object.create(t);return c._owner=o.current,c._context=r.current,c.props=e,c};return s.prototype=t,s.type=e,t.type=e,n(s,e),t.constructor=s,s},a.cloneAndReplaceProps=function(e,t){var n=Object.create(e.constructor.prototype);return n._owner=e._owner,n._context=e._context,n.props=t,n},a.isValidFactory=function(e){return"function"==typeof e&&e.prototype instanceof a},a.isValidDescriptor=function(e){return e instanceof a},t.exports=a},{"./ReactContext":34,"./ReactCurrentOwner":35,"./merge":128,"./warning":139}],50:[function(e,t){"use strict";function n(){var e=p.current;return e&&e.constructor.displayName||void 0}function r(e,t){e._store.validated||null!=e.props.key||(e._store.validated=!0,i("react_key_warning",'Each child in an array should have a unique "key" prop.',e,t))}function o(e,t,n){m.test(e)&&i("react_numeric_key_warning","Child objects should have non-numeric keys so ordering is preserved.",t,n)}function i(e,t,r,o){var i=n(),a=o.displayName,s=i||a,u=f[e];if(!u.hasOwnProperty(s)){u[s]=!0,t+=i?" Check the render method of "+i+".":" Check the renderComponent call using <"+a+">.";var c=null;r._owner&&r._owner!==p.current&&(c=r._owner.constructor.displayName,t+=" It was passed a child from "+c+"."),t+=" See http://fb.me/react-warning-keys for more information.",d(e,{component:s,componentOwner:c}),console.warn(t)}}function a(){var e=n()||"";h.hasOwnProperty(e)||(h[e]=!0,d("react_object_map_children"))}function s(e,t){if(Array.isArray(e))for(var n=0;n<e.length;n++){var i=e[n];c.isValidDescriptor(i)&&r(i,t)}else if(c.isValidDescriptor(e))e._store.validated=!0;else if(e&&"object"==typeof e){a();for(var s in e)o(s,e[s],t)}}function u(e,t,n,r){for(var o in t)if(t.hasOwnProperty(o)){var i;try{i=t[o](n,o,e,r)}catch(a){i=a}i instanceof Error&&!(i.message in v)&&(v[i.message]=!0,d("react_failed_descriptor_type_check",{message:i.message}))}}var c=e("./ReactDescriptor"),l=e("./ReactPropTypeLocations"),p=e("./ReactCurrentOwner"),d=e("./monitorCodeUse"),f={react_key_warning:{},react_numeric_key_warning:{}},h={},v={},m=/^\d+$/,g={createFactory:function(e,t,n){var r=function(){for(var r=e.apply(this,arguments),o=1;o<arguments.length;o++)s(arguments[o],r.type);var i=r.type.displayName;return t&&u(i,t,r.props,l.prop),n&&u(i,n,r._context,l.context),r};r.prototype=e.prototype,r.type=e.type;for(var o in e)e.hasOwnProperty(o)&&(r[o]=e[o]);return r}};t.exports=g},{"./ReactCurrentOwner":35,"./ReactDescriptor":49,"./ReactPropTypeLocations":66,"./monitorCodeUse":132}],51:[function(e,t){"use strict";function n(){return s(a),a()}function r(e){u[e]=!0}function o(e){delete u[e]}function i(e){return u[e]}var a,s=e("./invariant"),u={},c={injectEmptyComponent:function(e){a=e}},l={deregisterNullComponentID:o,getEmptyComponent:n,injection:c,isNullComponentID:i,registerNullComponentID:r};t.exports=l},{"./invariant":118}],52:[function(e,t){"use strict";var n={guard:function(e){return e}};t.exports=n},{}],53:[function(e,t){"use strict";function n(e){r.enqueueEvents(e),r.processEventQueue()}var r=e("./EventPluginHub"),o={handleTopLevel:function(e,t,o,i){var a=r.extractEvents(e,t,o,i);n(a)}};t.exports=o},{"./EventPluginHub":17}],54:[function(e,t){"use strict";function n(e){var t=l.getID(e),n=c.getReactRootIDFromNodeID(t),r=l.findReactContainerForID(n),o=l.getFirstReactDOM(r);return o}function r(e,t){this.topLevelType=e,this.nativeEvent=t,this.ancestors=[]}function o(e){for(var t=l.getFirstReactDOM(d(e.nativeEvent))||window,r=t;r;)e.ancestors.push(r),r=n(r);for(var o=0,i=e.ancestors.length;i>o;o++){t=e.ancestors[o];var a=l.getID(t)||"";v._handleTopLevel(e.topLevelType,t,a,e.nativeEvent)}}function i(e){var t=f(window);e(t)}var a=e("./EventListener"),s=e("./ExecutionEnvironment"),u=e("./PooledClass"),c=e("./ReactInstanceHandles"),l=e("./ReactMount"),p=e("./ReactUpdates"),d=e("./getEventTarget"),f=e("./getUnboundedScrollPosition"),h=e("./mixInto");h(r,{destructor:function(){this.topLevelType=null,this.nativeEvent=null,this.ancestors.length=0}}),u.addPoolingTo(r,u.twoArgumentPooler);var v={_enabled:!0,_handleTopLevel:null,WINDOW_HANDLE:s.canUseDOM?window:null,setHandleTopLevel:function(e){v._handleTopLevel=e},setEnabled:function(e){v._enabled=!!e},isEnabled:function(){return v._enabled},trapBubbledEvent:function(e,t,n){var r=n;return r?a.listen(r,t,v.dispatchEvent.bind(null,e)):void 0},trapCapturedEvent:function(e,t,n){var r=n;return r?a.capture(r,t,v.dispatchEvent.bind(null,e)):void 0},monitorScrollValue:function(e){var t=i.bind(null,e);a.listen(window,"scroll",t),a.listen(window,"resize",t)},dispatchEvent:function(e,t){if(v._enabled){var n=r.getPooled(e,t);try{p.batchedUpdates(o,n)}finally{r.release(n)}}}};t.exports=v},{"./EventListener":16,"./ExecutionEnvironment":21,"./PooledClass":26,"./ReactInstanceHandles":57,"./ReactMount":59,"./ReactUpdates":74,"./getEventTarget":109,"./getUnboundedScrollPosition":114,"./mixInto":131}],55:[function(e,t){"use strict";var n=e("./DOMProperty"),r=e("./EventPluginHub"),o=e("./ReactComponent"),i=e("./ReactCompositeComponent"),a=e("./ReactDOM"),s=e("./ReactEmptyComponent"),u=e("./ReactBrowserEventEmitter"),c=e("./ReactPerf"),l=e("./ReactRootIndex"),p=e("./ReactUpdates"),d={Component:o.injection,CompositeComponent:i.injection,DOMProperty:n.injection,EmptyComponent:s.injection,EventPluginHub:r.injection,DOM:a.injection,EventEmitter:u.injection,Perf:c.injection,RootIndex:l.injection,Updates:p.injection};t.exports=d},{"./DOMProperty":10,"./EventPluginHub":17,"./ReactBrowserEventEmitter":29,"./ReactComponent":31,"./ReactCompositeComponent":33,"./ReactDOM":36,"./ReactEmptyComponent":51,"./ReactPerf":63,"./ReactRootIndex":70,"./ReactUpdates":74}],56:[function(e,t){"use strict";function n(e){return o(document.documentElement,e)}var r=e("./ReactDOMSelection"),o=e("./containsNode"),i=e("./focusNode"),a=e("./getActiveElement"),s={hasSelectionCapabilities:function(e){return e&&("INPUT"===e.nodeName&&"text"===e.type||"TEXTAREA"===e.nodeName||"true"===e.contentEditable)},getSelectionInformation:function(){var e=a();return{focusedElem:e,selectionRange:s.hasSelectionCapabilities(e)?s.getSelection(e):null}},restoreSelection:function(e){var t=a(),r=e.focusedElem,o=e.selectionRange;t!==r&&n(r)&&(s.hasSelectionCapabilities(r)&&s.setSelection(r,o),i(r))},getSelection:function(e){var t;if("selectionStart"in e)t={start:e.selectionStart,end:e.selectionEnd};else if(document.selection&&"INPUT"===e.nodeName){var n=document.selection.createRange();n.parentElement()===e&&(t={start:-n.moveStart("character",-e.value.length),end:-n.moveEnd("character",-e.value.length)})}else t=r.getOffsets(e);return t||{start:0,end:0}},setSelection:function(e,t){var n=t.start,o=t.end;if("undefined"==typeof o&&(o=n),"selectionStart"in e)e.selectionStart=n,e.selectionEnd=Math.min(o,e.value.length);else if(document.selection&&"INPUT"===e.nodeName){var i=e.createTextRange();i.collapse(!0),i.moveStart("character",n),i.moveEnd("character",o-n),i.select()}else r.setOffsets(e,t)}};t.exports=s},{"./ReactDOMSelection":45,"./containsNode":94,"./focusNode":104,"./getActiveElement":106}],57:[function(e,t){"use strict";function n(e){return d+e.toString(36)}function r(e,t){return e.charAt(t)===d||t===e.length}function o(e){return""===e||e.charAt(0)===d&&e.charAt(e.length-1)!==d}function i(e,t){return 0===t.indexOf(e)&&r(t,e.length)}function a(e){return e?e.substr(0,e.lastIndexOf(d)):""}function s(e,t){if(p(o(e)&&o(t)),p(i(e,t)),e===t)return e;for(var n=e.length+f,a=n;a<t.length&&!r(t,a);a++);return t.substr(0,a)}function u(e,t){var n=Math.min(e.length,t.length);if(0===n)return"";for(var i=0,a=0;n>=a;a++)if(r(e,a)&&r(t,a))i=a;else if(e.charAt(a)!==t.charAt(a))break;var s=e.substr(0,i);return p(o(s)),s}function c(e,t,n,r,o,u){e=e||"",t=t||"",p(e!==t);var c=i(t,e);p(c||i(e,t));for(var l=0,d=c?a:s,f=e;;f=d(f,t)){var v;if(o&&f===e||u&&f===t||(v=n(f,c,r)),v===!1||f===t)break;p(l++<h)}}var l=e("./ReactRootIndex"),p=e("./invariant"),d=".",f=d.length,h=100,v={createReactRootID:function(){return n(l.createReactRootIndex())},createReactID:function(e,t){return e+t},getReactRootIDFromNodeID:function(e){if(e&&e.charAt(0)===d&&e.length>1){var t=e.indexOf(d,1);return t>-1?e.substr(0,t):e}return null},traverseEnterLeave:function(e,t,n,r,o){var i=u(e,t);i!==e&&c(e,i,n,r,!1,!0),i!==t&&c(i,t,n,o,!0,!1)},traverseTwoPhase:function(e,t,n){e&&(c("",e,t,n,!0,!1),c(e,"",t,n,!1,!0))},traverseAncestors:function(e,t,n){c("",e,t,n,!0,!1)},_getFirstCommonAncestorID:u,_getNextDescendantID:s,isAncestorIDOf:i,SEPARATOR:d};t.exports=v},{"./ReactRootIndex":70,"./invariant":118}],58:[function(e,t){"use strict";var n=e("./adler32"),r={CHECKSUM_ATTR_NAME:"data-react-checksum",addChecksumToMarkup:function(e){var t=n(e);return e.replace(">"," "+r.CHECKSUM_ATTR_NAME+'="'+t+'">')},canReuseMarkup:function(e,t){var o=t.getAttribute(r.CHECKSUM_ATTR_NAME);o=o&&parseInt(o,10);var i=n(e);return i===o}};t.exports=r},{"./adler32":93}],59:[function(e,t){"use strict";function n(e){var t=g(e);return t&&T.getID(t)}function r(e){var t=o(e);if(t)if(D.hasOwnProperty(t)){var n=D[t];n!==e&&(C(!s(n,t)),D[t]=e)}else D[t]=e;return t}function o(e){return e&&e.getAttribute&&e.getAttribute(M)||""}function i(e,t){var n=o(e);n!==t&&delete D[n],e.setAttribute(M,t),D[t]=e}function a(e){return D.hasOwnProperty(e)&&s(D[e],e)||(D[e]=T.findReactNodeByID(e)),D[e]}function s(e,t){if(e){C(o(e)===t);var n=T.findReactContainerForID(t);if(n&&m(n,e))return!0}return!1}function u(e){delete D[e]}function c(e){var t=D[e];return t&&s(t,e)?void(_=t):!1}function l(e){_=null,h.traverseAncestors(e,c);var t=_;return _=null,t}var p=e("./DOMProperty"),d=e("./ReactBrowserEventEmitter"),f=(e("./ReactCurrentOwner"),e("./ReactDescriptor")),h=e("./ReactInstanceHandles"),v=e("./ReactPerf"),m=e("./containsNode"),g=e("./getReactRootElementInContainer"),y=e("./instantiateReactComponent"),C=e("./invariant"),E=e("./shouldUpdateReactComponent"),R=(e("./warning"),h.SEPARATOR),M=p.ID_ATTRIBUTE_NAME,D={},x=1,b=9,O={},P={},I=[],_=null,T={_instancesByReactRootID:O,scrollMonitor:function(e,t){t()},_updateRootComponent:function(e,t,n,r){var o=t.props;return T.scrollMonitor(n,function(){e.replaceProps(o,r)}),e},_registerComponent:function(e,t){C(t&&(t.nodeType===x||t.nodeType===b)),d.ensureScrollValueMonitoring();var n=T.registerContainer(t);return O[n]=e,n},_renderNewRootComponent:v.measure("ReactMount","_renderNewRootComponent",function(e,t,n){var r=y(e),o=T._registerComponent(r,t);return r.mountComponentIntoNode(o,t,n),r}),renderComponent:function(e,t,r){C(f.isValidDescriptor(e));var o=O[n(t)];if(o){var i=o._descriptor;if(E(i,e))return T._updateRootComponent(o,e,t,r);T.unmountComponentAtNode(t)}var a=g(t),s=a&&T.isRenderedByReact(a),u=s&&!o,c=T._renderNewRootComponent(e,t,u);return r&&r.call(c),c},constructAndRenderComponent:function(e,t,n){return T.renderComponent(e(t),n)},constructAndRenderComponentByID:function(e,t,n){var r=document.getElementById(n);return C(r),T.constructAndRenderComponent(e,t,r)},registerContainer:function(e){var t=n(e);return t&&(t=h.getReactRootIDFromNodeID(t)),t||(t=h.createReactRootID()),P[t]=e,t},unmountComponentAtNode:function(e){var t=n(e),r=O[t];return r?(T.unmountComponentFromNode(r,e),delete O[t],delete P[t],!0):!1},unmountComponentFromNode:function(e,t){for(e.unmountComponent(),t.nodeType===b&&(t=t.documentElement);t.lastChild;)t.removeChild(t.lastChild)},findReactContainerForID:function(e){var t=h.getReactRootIDFromNodeID(e),n=P[t];return n},findReactNodeByID:function(e){var t=T.findReactContainerForID(e);return T.findComponentRoot(t,e)},isRenderedByReact:function(e){if(1!==e.nodeType)return!1;var t=T.getID(e);return t?t.charAt(0)===R:!1},getFirstReactDOM:function(e){for(var t=e;t&&t.parentNode!==t;){if(T.isRenderedByReact(t))return t;t=t.parentNode}return null},findComponentRoot:function(e,t){var n=I,r=0,o=l(t)||e;for(n[0]=o.firstChild,n.length=1;r<n.length;){for(var i,a=n[r++];a;){var s=T.getID(a);s?t===s?i=a:h.isAncestorIDOf(s,t)&&(n.length=r=0,n.push(a.firstChild)):n.push(a.firstChild),a=a.nextSibling}if(i)return n.length=0,i}n.length=0,C(!1)},getReactRootID:n,getID:r,setID:i,getNode:a,purgeID:u};t.exports=T},{"./DOMProperty":10,"./ReactBrowserEventEmitter":29,"./ReactCurrentOwner":35,"./ReactDescriptor":49,"./ReactInstanceHandles":57,"./ReactPerf":63,"./containsNode":94,"./getReactRootElementInContainer":112,"./instantiateReactComponent":117,"./invariant":118,"./shouldUpdateReactComponent":136,"./warning":139}],60:[function(e,t){"use strict";function n(e,t,n){h.push({parentID:e,parentNode:null,type:c.INSERT_MARKUP,markupIndex:v.push(t)-1,textContent:null,fromIndex:null,toIndex:n})}function r(e,t,n){h.push({parentID:e,parentNode:null,type:c.MOVE_EXISTING,markupIndex:null,textContent:null,fromIndex:t,toIndex:n})}function o(e,t){h.push({parentID:e,parentNode:null,type:c.REMOVE_NODE,markupIndex:null,textContent:null,fromIndex:t,toIndex:null})}function i(e,t){h.push({parentID:e,parentNode:null,type:c.TEXT_CONTENT,markupIndex:null,textContent:t,fromIndex:null,toIndex:null})}function a(){h.length&&(u.BackendIDOperations.dangerouslyProcessChildrenUpdates(h,v),s())}function s(){h.length=0,v.length=0}var u=e("./ReactComponent"),c=e("./ReactMultiChildUpdateTypes"),l=e("./flattenChildren"),p=e("./instantiateReactComponent"),d=e("./shouldUpdateReactComponent"),f=0,h=[],v=[],m={Mixin:{mountChildren:function(e,t){var n=l(e),r=[],o=0;this._renderedChildren=n;for(var i in n){var a=n[i];if(n.hasOwnProperty(i)){var s=p(a);n[i]=s;var u=this._rootNodeID+i,c=s.mountComponent(u,t,this._mountDepth+1);s._mountIndex=o,r.push(c),o++}}return r},updateTextContent:function(e){f++;var t=!0;try{var n=this._renderedChildren;for(var r in n)n.hasOwnProperty(r)&&this._unmountChildByName(n[r],r);this.setTextContent(e),t=!1}finally{f--,f||(t?s():a())}},updateChildren:function(e,t){f++;var n=!0;try{this._updateChildren(e,t),n=!1}finally{f--,f||(n?s():a())}},_updateChildren:function(e,t){var n=l(e),r=this._renderedChildren;if(n||r){var o,i=0,a=0;for(o in n)if(n.hasOwnProperty(o)){var s=r&&r[o],u=s&&s._descriptor,c=n[o];if(d(u,c))this.moveChild(s,a,i),i=Math.max(s._mountIndex,i),s.receiveComponent(c,t),s._mountIndex=a;else{s&&(i=Math.max(s._mountIndex,i),this._unmountChildByName(s,o));var f=p(c);this._mountChildByNameAtIndex(f,o,a,t)}a++}for(o in r)!r.hasOwnProperty(o)||n&&n[o]||this._unmountChildByName(r[o],o)}},unmountChildren:function(){var e=this._renderedChildren;for(var t in e){var n=e[t];n.unmountComponent&&n.unmountComponent()}this._renderedChildren=null},moveChild:function(e,t,n){e._mountIndex<n&&r(this._rootNodeID,e._mountIndex,t)},createChild:function(e,t){n(this._rootNodeID,t,e._mountIndex)},removeChild:function(e){o(this._rootNodeID,e._mountIndex)},setTextContent:function(e){i(this._rootNodeID,e)},_mountChildByNameAtIndex:function(e,t,n,r){var o=this._rootNodeID+t,i=e.mountComponent(o,r,this._mountDepth+1);e._mountIndex=n,this.createChild(e,i),this._renderedChildren=this._renderedChildren||{},this._renderedChildren[t]=e},_unmountChildByName:function(e,t){this.removeChild(e),e._mountIndex=null,e.unmountComponent(),delete this._renderedChildren[t]}}};t.exports=m},{"./ReactComponent":31,"./ReactMultiChildUpdateTypes":61,"./flattenChildren":103,"./instantiateReactComponent":117,"./shouldUpdateReactComponent":136}],61:[function(e,t){"use strict";var n=e("./keyMirror"),r=n({INSERT_MARKUP:null,MOVE_EXISTING:null,REMOVE_NODE:null,TEXT_CONTENT:null});t.exports=r},{"./keyMirror":124}],62:[function(e,t){"use strict";var n=e("./emptyObject"),r=e("./invariant"),o={isValidOwner:function(e){return!(!e||"function"!=typeof e.attachRef||"function"!=typeof e.detachRef)},addComponentAsRefTo:function(e,t,n){r(o.isValidOwner(n)),n.attachRef(t,e)},removeComponentAsRefFrom:function(e,t,n){r(o.isValidOwner(n)),n.refs[t]===e&&n.detachRef(t)},Mixin:{construct:function(){this.refs=n},attachRef:function(e,t){r(t.isOwnedBy(this));var o=this.refs===n?this.refs={}:this.refs;o[e]=t},detachRef:function(e){delete this.refs[e]}}};t.exports=o},{"./emptyObject":101,"./invariant":118}],63:[function(e,t){"use strict";function n(e,t,n){return n}var r={enableMeasure:!1,storedMeasure:n,measure:function(e,t,n){return n},injection:{injectMeasure:function(e){r.storedMeasure=e}}};t.exports=r},{}],64:[function(e,t){"use strict";function n(e){return function(t,n,r){t[n]=t.hasOwnProperty(n)?e(t[n],r):r}}function r(e,t){for(var n in t)if(t.hasOwnProperty(n)){var r=c[n];r&&c.hasOwnProperty(n)?r(e,n,t[n]):e.hasOwnProperty(n)||(e[n]=t[n])}return e}var o=e("./emptyFunction"),i=e("./invariant"),a=e("./joinClasses"),s=e("./merge"),u=n(function(e,t){return s(t,e)}),c={children:o,className:n(a),key:o,ref:o,style:u},l={TransferStrategies:c,mergeProps:function(e,t){return r(s(e),t)},Mixin:{transferPropsTo:function(e){return i(e._owner===this),r(e.props,this.props),e}}};t.exports=l},{"./emptyFunction":100,"./invariant":118,"./joinClasses":123,"./merge":128}],65:[function(e,t){"use strict";var n={};t.exports=n},{}],66:[function(e,t){"use strict";var n=e("./keyMirror"),r=n({prop:null,context:null,childContext:null});t.exports=r},{"./keyMirror":124}],67:[function(e,t){"use strict";function n(e){function t(t,n,r,o,i){if(o=o||C,null!=n[r])return e(n,r,o,i);var a=g[i];return t?new Error("Required "+a+" `"+r+"` was not specified in "+("`"+o+"`.")):void 0}var n=t.bind(null,!1);return n.isRequired=t.bind(null,!0),n}function r(e){function t(t,n,r,o){var i=t[n],a=h(i);if(a!==e){var s=g[o],u=v(i);return new Error("Invalid "+s+" `"+n+"` of type `"+u+"` "+("supplied to `"+r+"`, expected `"+e+"`."))}}return n(t)}function o(){return n(y.thatReturns())}function i(e){function t(t,n,r,o){var i=t[n];if(!Array.isArray(i)){var a=g[o],s=h(i);return new Error("Invalid "+a+" `"+n+"` of type "+("`"+s+"` supplied to `"+r+"`, expected an array."))}for(var u=0;u<i.length;u++){var c=e(i,u,r,o);if(c instanceof Error)return c}}return n(t)}function a(){function e(e,t,n,r){if(!m.isValidDescriptor(e[t])){var o=g[r];return new Error("Invalid "+o+" `"+t+"` supplied to "+("`"+n+"`, expected a React component."))}}return n(e)}function s(e){function t(t,n,r,o){if(!(t[n]instanceof e)){var i=g[o],a=e.name||C;return new Error("Invalid "+i+" `"+n+"` supplied to "+("`"+r+"`, expected instance of `"+a+"`."))}}return n(t)}function u(e){function t(t,n,r,o){for(var i=t[n],a=0;a<e.length;a++)if(i===e[a])return;var s=g[o],u=JSON.stringify(e);return new Error("Invalid "+s+" `"+n+"` of value `"+i+"` "+("supplied to `"+r+"`, expected one of "+u+"."))}return n(t)}function c(e){function t(t,n,r,o){var i=t[n],a=h(i);if("object"!==a){var s=g[o];return new Error("Invalid "+s+" `"+n+"` of type "+("`"+a+"` supplied to `"+r+"`, expected an object."))}for(var u in i)if(i.hasOwnProperty(u)){var c=e(i,u,r,o);if(c instanceof Error)return c}}return n(t)}function l(e){function t(t,n,r,o){for(var i=0;i<e.length;i++){var a=e[i];if(null==a(t,n,r,o))return}var s=g[o];return new Error("Invalid "+s+" `"+n+"` supplied to "+("`"+r+"`."))}return n(t)}function p(){function e(e,t,n,r){if(!f(e[t])){var o=g[r];return new Error("Invalid "+o+" `"+t+"` supplied to "+("`"+n+"`, expected a renderable prop."))}}return n(e)}function d(e){function t(t,n,r,o){var i=t[n],a=h(i);if("object"!==a){var s=g[o];return new Error("Invalid "+s+" `"+n+"` of type `"+a+"` "+("supplied to `"+r+"`, expected `object`."))}for(var u in e){var c=e[u];if(c){var l=c(i,u,r,o);if(l)return l}}}return n(t,"expected `object`")}function f(e){switch(typeof e){case"number":case"string":return!0;case"boolean":return!e;case"object":if(Array.isArray(e))return e.every(f);if(m.isValidDescriptor(e))return!0;for(var t in e)if(!f(e[t]))return!1;return!0;default:return!1}}function h(e){var t=typeof e;return Array.isArray(e)?"array":e instanceof RegExp?"object":t}function v(e){var t=h(e);if("object"===t){if(e instanceof Date)return"date";if(e instanceof RegExp)return"regexp"}return t}var m=e("./ReactDescriptor"),g=e("./ReactPropTypeLocationNames"),y=e("./emptyFunction"),C="<<anonymous>>",E={array:r("array"),bool:r("boolean"),func:r("function"),number:r("number"),object:r("object"),string:r("string"),any:o(),arrayOf:i,component:a(),instanceOf:s,objectOf:c,oneOf:u,oneOfType:l,renderable:p(),shape:d};t.exports=E},{"./ReactDescriptor":49,"./ReactPropTypeLocationNames":65,"./emptyFunction":100}],68:[function(e,t){"use strict";function n(){this.listenersToPut=[]}var r=e("./PooledClass"),o=e("./ReactBrowserEventEmitter"),i=e("./mixInto");i(n,{enqueuePutListener:function(e,t,n){this.listenersToPut.push({rootNodeID:e,propKey:t,propValue:n})},putListeners:function(){for(var e=0;e<this.listenersToPut.length;e++){var t=this.listenersToPut[e];o.putListener(t.rootNodeID,t.propKey,t.propValue)}},reset:function(){this.listenersToPut.length=0},destructor:function(){this.reset()}}),r.addPoolingTo(n),t.exports=n},{"./PooledClass":26,"./ReactBrowserEventEmitter":29,"./mixInto":131}],69:[function(e,t){"use strict";function n(){this.reinitializeTransaction(),this.renderToStaticMarkup=!1,this.reactMountReady=r.getPooled(null),this.putListenerQueue=s.getPooled()}var r=e("./CallbackQueue"),o=e("./PooledClass"),i=e("./ReactBrowserEventEmitter"),a=e("./ReactInputSelection"),s=e("./ReactPutListenerQueue"),u=e("./Transaction"),c=e("./mixInto"),l={initialize:a.getSelectionInformation,close:a.restoreSelection},p={initialize:function(){var e=i.isEnabled();return i.setEnabled(!1),e},close:function(e){i.setEnabled(e)}},d={initialize:function(){this.reactMountReady.reset()},close:function(){this.reactMountReady.notifyAll()}},f={initialize:function(){this.putListenerQueue.reset()},close:function(){this.putListenerQueue.putListeners()}},h=[f,l,p,d],v={getTransactionWrappers:function(){return h},getReactMountReady:function(){return this.reactMountReady},getPutListenerQueue:function(){return this.putListenerQueue},destructor:function(){r.release(this.reactMountReady),this.reactMountReady=null,s.release(this.putListenerQueue),this.putListenerQueue=null}};c(n,u.Mixin),c(n,v),o.addPoolingTo(n),t.exports=n},{"./CallbackQueue":5,"./PooledClass":26,"./ReactBrowserEventEmitter":29,"./ReactInputSelection":56,"./ReactPutListenerQueue":68,"./Transaction":90,"./mixInto":131}],70:[function(e,t){"use strict";var n={injectCreateReactRootIndex:function(e){r.createReactRootIndex=e}},r={createReactRootIndex:null,injection:n};t.exports=r},{}],71:[function(e,t){"use strict";function n(e){c(o.isValidDescriptor(e)),c(!(2===arguments.length&&"function"==typeof arguments[1]));var t;try{var n=i.createReactRootID();return t=s.getPooled(!1),t.perform(function(){var r=u(e),o=r.mountComponent(n,t,0);return a.addChecksumToMarkup(o)},null)}finally{s.release(t)}}function r(e){c(o.isValidDescriptor(e));var t;try{var n=i.createReactRootID();return t=s.getPooled(!0),t.perform(function(){var r=u(e);return r.mountComponent(n,t,0)},null)}finally{s.release(t)}}var o=e("./ReactDescriptor"),i=e("./ReactInstanceHandles"),a=e("./ReactMarkupChecksum"),s=e("./ReactServerRenderingTransaction"),u=e("./instantiateReactComponent"),c=e("./invariant");t.exports={renderComponentToString:n,renderComponentToStaticMarkup:r}},{"./ReactDescriptor":49,"./ReactInstanceHandles":57,"./ReactMarkupChecksum":58,"./ReactServerRenderingTransaction":72,"./instantiateReactComponent":117,"./invariant":118}],72:[function(e,t){"use strict";function n(e){this.reinitializeTransaction(),this.renderToStaticMarkup=e,this.reactMountReady=o.getPooled(null),this.putListenerQueue=i.getPooled()}var r=e("./PooledClass"),o=e("./CallbackQueue"),i=e("./ReactPutListenerQueue"),a=e("./Transaction"),s=e("./emptyFunction"),u=e("./mixInto"),c={initialize:function(){this.reactMountReady.reset()},close:s},l={initialize:function(){this.putListenerQueue.reset()},close:s},p=[l,c],d={getTransactionWrappers:function(){return p},getReactMountReady:function(){return this.reactMountReady},getPutListenerQueue:function(){return this.putListenerQueue},destructor:function(){o.release(this.reactMountReady),this.reactMountReady=null,i.release(this.putListenerQueue),this.putListenerQueue=null}};u(n,a.Mixin),u(n,d),r.addPoolingTo(n),t.exports=n},{"./CallbackQueue":5,"./PooledClass":26,"./ReactPutListenerQueue":68,"./Transaction":90,"./emptyFunction":100,"./mixInto":131}],73:[function(e,t){"use strict";var n=e("./DOMPropertyOperations"),r=e("./ReactBrowserComponentMixin"),o=e("./ReactComponent"),i=e("./ReactDescriptor"),a=e("./escapeTextForBrowser"),s=e("./mixInto"),u=function(e){this.construct(e)};s(u,o.Mixin),s(u,r),s(u,{mountComponent:function(e,t,r){o.Mixin.mountComponent.call(this,e,t,r);var i=a(this.props);return t.renderToStaticMarkup?i:"<span "+n.createMarkupForID(e)+">"+i+"</span>"},receiveComponent:function(e){var t=e.props;t!==this.props&&(this.props=t,o.BackendIDOperations.updateTextContentByID(this._rootNodeID,t))}}),t.exports=i.createFactory(u)},{"./DOMPropertyOperations":11,"./ReactBrowserComponentMixin":28,"./ReactComponent":31,"./ReactDescriptor":49,"./escapeTextForBrowser":102,"./mixInto":131}],74:[function(e,t){"use strict";function n(){d(R.ReactReconcileTransaction&&v)}function r(){this.reinitializeTransaction(),this.dirtyComponentsLength=null,this.callbackQueue=u.getPooled(null),this.reconcileTransaction=R.ReactReconcileTransaction.getPooled()}function o(e,t,r){n(),v.batchedUpdates(e,t,r)}function i(e,t){return e._mountDepth-t._mountDepth}function a(e){var t=e.dirtyComponentsLength;d(t===h.length),h.sort(i);for(var n=0;t>n;n++){var r=h[n];if(r.isMounted()){var o=r._pendingCallbacks;if(r._pendingCallbacks=null,r.performUpdateIfNecessary(e.reconcileTransaction),o)for(var a=0;a<o.length;a++)e.callbackQueue.enqueue(o[a],r)}}}function s(e,t){return d(!t||"function"==typeof t),n(),v.isBatchingUpdates?(h.push(e),void(t&&(e._pendingCallbacks?e._pendingCallbacks.push(t):e._pendingCallbacks=[t]))):void v.batchedUpdates(s,e,t)}var u=e("./CallbackQueue"),c=e("./PooledClass"),l=(e("./ReactCurrentOwner"),e("./ReactPerf")),p=e("./Transaction"),d=e("./invariant"),f=e("./mixInto"),h=(e("./warning"),[]),v=null,m={initialize:function(){this.dirtyComponentsLength=h.length},close:function(){this.dirtyComponentsLength!==h.length?(h.splice(0,this.dirtyComponentsLength),C()):h.length=0}},g={initialize:function(){this.callbackQueue.reset()},close:function(){this.callbackQueue.notifyAll()}},y=[m,g];f(r,p.Mixin),f(r,{getTransactionWrappers:function(){return y},destructor:function(){this.dirtyComponentsLength=null,u.release(this.callbackQueue),this.callbackQueue=null,R.ReactReconcileTransaction.release(this.reconcileTransaction),this.reconcileTransaction=null},perform:function(e,t,n){return p.Mixin.perform.call(this,this.reconcileTransaction.perform,this.reconcileTransaction,e,t,n)}}),c.addPoolingTo(r);var C=l.measure("ReactUpdates","flushBatchedUpdates",function(){for(;h.length;){var e=r.getPooled();e.perform(a,null,e),r.release(e)}}),E={injectReconcileTransaction:function(e){d(e),R.ReactReconcileTransaction=e},injectBatchingStrategy:function(e){d(e),d("function"==typeof e.batchedUpdates),d("boolean"==typeof e.isBatchingUpdates),v=e}},R={ReactReconcileTransaction:null,batchedUpdates:o,enqueueUpdate:s,flushBatchedUpdates:C,injection:E};t.exports=R},{"./CallbackQueue":5,"./PooledClass":26,"./ReactCurrentOwner":35,"./ReactPerf":63,"./Transaction":90,"./invariant":118,"./mixInto":131,"./warning":139}],75:[function(e,t){"use strict";var n=e("./DOMProperty"),r=n.injection.MUST_USE_ATTRIBUTE,o={Properties:{cx:r,cy:r,d:r,dx:r,dy:r,fill:r,fillOpacity:r,fontFamily:r,fontSize:r,fx:r,fy:r,gradientTransform:r,gradientUnits:r,markerEnd:r,markerMid:r,markerStart:r,offset:r,opacity:r,patternContentUnits:r,patternUnits:r,points:r,preserveAspectRatio:r,r:r,rx:r,ry:r,spreadMethod:r,stopColor:r,stopOpacity:r,stroke:r,strokeDasharray:r,strokeLinecap:r,strokeOpacity:r,strokeWidth:r,textAnchor:r,transform:r,version:r,viewBox:r,x1:r,x2:r,x:r,y1:r,y2:r,y:r},DOMAttributeNames:{fillOpacity:"fill-opacity",fontFamily:"font-family",fontSize:"font-size",gradientTransform:"gradientTransform",gradientUnits:"gradientUnits",markerEnd:"marker-end",markerMid:"marker-mid",markerStart:"marker-start",patternContentUnits:"patternContentUnits",patternUnits:"patternUnits",preserveAspectRatio:"preserveAspectRatio",spreadMethod:"spreadMethod",stopColor:"stop-color",stopOpacity:"stop-opacity",strokeDasharray:"stroke-dasharray",strokeLinecap:"stroke-linecap",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",textAnchor:"text-anchor",viewBox:"viewBox"}};
+t.exports=o},{"./DOMProperty":10}],76:[function(e,t){"use strict";function n(e){if("selectionStart"in e&&a.hasSelectionCapabilities(e))return{start:e.selectionStart,end:e.selectionEnd};if(document.selection){var t=document.selection.createRange();return{parentElement:t.parentElement(),text:t.text,top:t.boundingTop,left:t.boundingLeft}}var n=window.getSelection();return{anchorNode:n.anchorNode,anchorOffset:n.anchorOffset,focusNode:n.focusNode,focusOffset:n.focusOffset}}function r(e){if(!g&&null!=h&&h==u()){var t=n(h);if(!m||!p(m,t)){m=t;var r=s.getPooled(f.select,v,e);return r.type="select",r.target=h,i.accumulateTwoPhaseDispatches(r),r}}}var o=e("./EventConstants"),i=e("./EventPropagators"),a=e("./ReactInputSelection"),s=e("./SyntheticEvent"),u=e("./getActiveElement"),c=e("./isTextInputElement"),l=e("./keyOf"),p=e("./shallowEqual"),d=o.topLevelTypes,f={select:{phasedRegistrationNames:{bubbled:l({onSelect:null}),captured:l({onSelectCapture:null})},dependencies:[d.topBlur,d.topContextMenu,d.topFocus,d.topKeyDown,d.topMouseDown,d.topMouseUp,d.topSelectionChange]}},h=null,v=null,m=null,g=!1,y={eventTypes:f,extractEvents:function(e,t,n,o){switch(e){case d.topFocus:(c(t)||"true"===t.contentEditable)&&(h=t,v=n,m=null);break;case d.topBlur:h=null,v=null,m=null;break;case d.topMouseDown:g=!0;break;case d.topContextMenu:case d.topMouseUp:return g=!1,r(o);case d.topSelectionChange:case d.topKeyDown:case d.topKeyUp:return r(o)}}};t.exports=y},{"./EventConstants":15,"./EventPropagators":20,"./ReactInputSelection":56,"./SyntheticEvent":82,"./getActiveElement":106,"./isTextInputElement":121,"./keyOf":125,"./shallowEqual":135}],77:[function(e,t){"use strict";var n=Math.pow(2,53),r={createReactRootIndex:function(){return Math.ceil(Math.random()*n)}};t.exports=r},{}],78:[function(e,t){"use strict";var n=e("./EventConstants"),r=e("./EventPluginUtils"),o=e("./EventPropagators"),i=e("./SyntheticClipboardEvent"),a=e("./SyntheticEvent"),s=e("./SyntheticFocusEvent"),u=e("./SyntheticKeyboardEvent"),c=e("./SyntheticMouseEvent"),l=e("./SyntheticDragEvent"),p=e("./SyntheticTouchEvent"),d=e("./SyntheticUIEvent"),f=e("./SyntheticWheelEvent"),h=e("./invariant"),v=e("./keyOf"),m=n.topLevelTypes,g={blur:{phasedRegistrationNames:{bubbled:v({onBlur:!0}),captured:v({onBlurCapture:!0})}},click:{phasedRegistrationNames:{bubbled:v({onClick:!0}),captured:v({onClickCapture:!0})}},contextMenu:{phasedRegistrationNames:{bubbled:v({onContextMenu:!0}),captured:v({onContextMenuCapture:!0})}},copy:{phasedRegistrationNames:{bubbled:v({onCopy:!0}),captured:v({onCopyCapture:!0})}},cut:{phasedRegistrationNames:{bubbled:v({onCut:!0}),captured:v({onCutCapture:!0})}},doubleClick:{phasedRegistrationNames:{bubbled:v({onDoubleClick:!0}),captured:v({onDoubleClickCapture:!0})}},drag:{phasedRegistrationNames:{bubbled:v({onDrag:!0}),captured:v({onDragCapture:!0})}},dragEnd:{phasedRegistrationNames:{bubbled:v({onDragEnd:!0}),captured:v({onDragEndCapture:!0})}},dragEnter:{phasedRegistrationNames:{bubbled:v({onDragEnter:!0}),captured:v({onDragEnterCapture:!0})}},dragExit:{phasedRegistrationNames:{bubbled:v({onDragExit:!0}),captured:v({onDragExitCapture:!0})}},dragLeave:{phasedRegistrationNames:{bubbled:v({onDragLeave:!0}),captured:v({onDragLeaveCapture:!0})}},dragOver:{phasedRegistrationNames:{bubbled:v({onDragOver:!0}),captured:v({onDragOverCapture:!0})}},dragStart:{phasedRegistrationNames:{bubbled:v({onDragStart:!0}),captured:v({onDragStartCapture:!0})}},drop:{phasedRegistrationNames:{bubbled:v({onDrop:!0}),captured:v({onDropCapture:!0})}},focus:{phasedRegistrationNames:{bubbled:v({onFocus:!0}),captured:v({onFocusCapture:!0})}},input:{phasedRegistrationNames:{bubbled:v({onInput:!0}),captured:v({onInputCapture:!0})}},keyDown:{phasedRegistrationNames:{bubbled:v({onKeyDown:!0}),captured:v({onKeyDownCapture:!0})}},keyPress:{phasedRegistrationNames:{bubbled:v({onKeyPress:!0}),captured:v({onKeyPressCapture:!0})}},keyUp:{phasedRegistrationNames:{bubbled:v({onKeyUp:!0}),captured:v({onKeyUpCapture:!0})}},load:{phasedRegistrationNames:{bubbled:v({onLoad:!0}),captured:v({onLoadCapture:!0})}},error:{phasedRegistrationNames:{bubbled:v({onError:!0}),captured:v({onErrorCapture:!0})}},mouseDown:{phasedRegistrationNames:{bubbled:v({onMouseDown:!0}),captured:v({onMouseDownCapture:!0})}},mouseMove:{phasedRegistrationNames:{bubbled:v({onMouseMove:!0}),captured:v({onMouseMoveCapture:!0})}},mouseOut:{phasedRegistrationNames:{bubbled:v({onMouseOut:!0}),captured:v({onMouseOutCapture:!0})}},mouseOver:{phasedRegistrationNames:{bubbled:v({onMouseOver:!0}),captured:v({onMouseOverCapture:!0})}},mouseUp:{phasedRegistrationNames:{bubbled:v({onMouseUp:!0}),captured:v({onMouseUpCapture:!0})}},paste:{phasedRegistrationNames:{bubbled:v({onPaste:!0}),captured:v({onPasteCapture:!0})}},reset:{phasedRegistrationNames:{bubbled:v({onReset:!0}),captured:v({onResetCapture:!0})}},scroll:{phasedRegistrationNames:{bubbled:v({onScroll:!0}),captured:v({onScrollCapture:!0})}},submit:{phasedRegistrationNames:{bubbled:v({onSubmit:!0}),captured:v({onSubmitCapture:!0})}},touchCancel:{phasedRegistrationNames:{bubbled:v({onTouchCancel:!0}),captured:v({onTouchCancelCapture:!0})}},touchEnd:{phasedRegistrationNames:{bubbled:v({onTouchEnd:!0}),captured:v({onTouchEndCapture:!0})}},touchMove:{phasedRegistrationNames:{bubbled:v({onTouchMove:!0}),captured:v({onTouchMoveCapture:!0})}},touchStart:{phasedRegistrationNames:{bubbled:v({onTouchStart:!0}),captured:v({onTouchStartCapture:!0})}},wheel:{phasedRegistrationNames:{bubbled:v({onWheel:!0}),captured:v({onWheelCapture:!0})}}},y={topBlur:g.blur,topClick:g.click,topContextMenu:g.contextMenu,topCopy:g.copy,topCut:g.cut,topDoubleClick:g.doubleClick,topDrag:g.drag,topDragEnd:g.dragEnd,topDragEnter:g.dragEnter,topDragExit:g.dragExit,topDragLeave:g.dragLeave,topDragOver:g.dragOver,topDragStart:g.dragStart,topDrop:g.drop,topError:g.error,topFocus:g.focus,topInput:g.input,topKeyDown:g.keyDown,topKeyPress:g.keyPress,topKeyUp:g.keyUp,topLoad:g.load,topMouseDown:g.mouseDown,topMouseMove:g.mouseMove,topMouseOut:g.mouseOut,topMouseOver:g.mouseOver,topMouseUp:g.mouseUp,topPaste:g.paste,topReset:g.reset,topScroll:g.scroll,topSubmit:g.submit,topTouchCancel:g.touchCancel,topTouchEnd:g.touchEnd,topTouchMove:g.touchMove,topTouchStart:g.touchStart,topWheel:g.wheel};for(var C in y)y[C].dependencies=[C];var E={eventTypes:g,executeDispatch:function(e,t,n){var o=r.executeDispatch(e,t,n);o===!1&&(e.stopPropagation(),e.preventDefault())},extractEvents:function(e,t,n,r){var v=y[e];if(!v)return null;var g;switch(e){case m.topInput:case m.topLoad:case m.topError:case m.topReset:case m.topSubmit:g=a;break;case m.topKeyPress:if(0===r.charCode)return null;case m.topKeyDown:case m.topKeyUp:g=u;break;case m.topBlur:case m.topFocus:g=s;break;case m.topClick:if(2===r.button)return null;case m.topContextMenu:case m.topDoubleClick:case m.topMouseDown:case m.topMouseMove:case m.topMouseOut:case m.topMouseOver:case m.topMouseUp:g=c;break;case m.topDrag:case m.topDragEnd:case m.topDragEnter:case m.topDragExit:case m.topDragLeave:case m.topDragOver:case m.topDragStart:case m.topDrop:g=l;break;case m.topTouchCancel:case m.topTouchEnd:case m.topTouchMove:case m.topTouchStart:g=p;break;case m.topScroll:g=d;break;case m.topWheel:g=f;break;case m.topCopy:case m.topCut:case m.topPaste:g=i}h(g);var C=g.getPooled(v,n,r);return o.accumulateTwoPhaseDispatches(C),C}};t.exports=E},{"./EventConstants":15,"./EventPluginUtils":19,"./EventPropagators":20,"./SyntheticClipboardEvent":79,"./SyntheticDragEvent":81,"./SyntheticEvent":82,"./SyntheticFocusEvent":83,"./SyntheticKeyboardEvent":85,"./SyntheticMouseEvent":86,"./SyntheticTouchEvent":87,"./SyntheticUIEvent":88,"./SyntheticWheelEvent":89,"./invariant":118,"./keyOf":125}],79:[function(e,t){"use strict";function n(e,t,n){r.call(this,e,t,n)}var r=e("./SyntheticEvent"),o={clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}};r.augmentClass(n,o),t.exports=n},{"./SyntheticEvent":82}],80:[function(e,t){"use strict";function n(e,t,n){r.call(this,e,t,n)}var r=e("./SyntheticEvent"),o={data:null};r.augmentClass(n,o),t.exports=n},{"./SyntheticEvent":82}],81:[function(e,t){"use strict";function n(e,t,n){r.call(this,e,t,n)}var r=e("./SyntheticMouseEvent"),o={dataTransfer:null};r.augmentClass(n,o),t.exports=n},{"./SyntheticMouseEvent":86}],82:[function(e,t){"use strict";function n(e,t,n){this.dispatchConfig=e,this.dispatchMarker=t,this.nativeEvent=n;var r=this.constructor.Interface;for(var i in r)if(r.hasOwnProperty(i)){var a=r[i];this[i]=a?a(n):n[i]}var s=null!=n.defaultPrevented?n.defaultPrevented:n.returnValue===!1;this.isDefaultPrevented=s?o.thatReturnsTrue:o.thatReturnsFalse,this.isPropagationStopped=o.thatReturnsFalse}var r=e("./PooledClass"),o=e("./emptyFunction"),i=e("./getEventTarget"),a=e("./merge"),s=e("./mergeInto"),u={type:null,target:i,currentTarget:o.thatReturnsNull,eventPhase:null,bubbles:null,cancelable:null,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:null,isTrusted:null};s(n.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e.preventDefault?e.preventDefault():e.returnValue=!1,this.isDefaultPrevented=o.thatReturnsTrue},stopPropagation:function(){var e=this.nativeEvent;e.stopPropagation?e.stopPropagation():e.cancelBubble=!0,this.isPropagationStopped=o.thatReturnsTrue},persist:function(){this.isPersistent=o.thatReturnsTrue},isPersistent:o.thatReturnsFalse,destructor:function(){var e=this.constructor.Interface;for(var t in e)this[t]=null;this.dispatchConfig=null,this.dispatchMarker=null,this.nativeEvent=null}}),n.Interface=u,n.augmentClass=function(e,t){var n=this,o=Object.create(n.prototype);s(o,e.prototype),e.prototype=o,e.prototype.constructor=e,e.Interface=a(n.Interface,t),e.augmentClass=n.augmentClass,r.addPoolingTo(e,r.threeArgumentPooler)},r.addPoolingTo(n,r.threeArgumentPooler),t.exports=n},{"./PooledClass":26,"./emptyFunction":100,"./getEventTarget":109,"./merge":128,"./mergeInto":130}],83:[function(e,t){"use strict";function n(e,t,n){r.call(this,e,t,n)}var r=e("./SyntheticUIEvent"),o={relatedTarget:null};r.augmentClass(n,o),t.exports=n},{"./SyntheticUIEvent":88}],84:[function(e,t){"use strict";function n(e,t,n){r.call(this,e,t,n)}var r=e("./SyntheticEvent"),o={data:null};r.augmentClass(n,o),t.exports=n},{"./SyntheticEvent":82}],85:[function(e,t){"use strict";function n(e,t,n){r.call(this,e,t,n)}var r=e("./SyntheticUIEvent"),o=e("./getEventKey"),i=e("./getEventModifierState"),a={key:o,location:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,repeat:null,locale:null,getModifierState:i,charCode:function(e){return"keypress"===e.type?"charCode"in e?e.charCode:e.keyCode:0},keyCode:function(e){return"keydown"===e.type||"keyup"===e.type?e.keyCode:0},which:function(e){return e.keyCode||e.charCode}};r.augmentClass(n,a),t.exports=n},{"./SyntheticUIEvent":88,"./getEventKey":107,"./getEventModifierState":108}],86:[function(e,t){"use strict";function n(e,t,n){r.call(this,e,t,n)}var r=e("./SyntheticUIEvent"),o=e("./ViewportMetrics"),i=e("./getEventModifierState"),a={screenX:null,screenY:null,clientX:null,clientY:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,getModifierState:i,button:function(e){var t=e.button;return"which"in e?t:2===t?2:4===t?1:0},buttons:null,relatedTarget:function(e){return e.relatedTarget||(e.fromElement===e.srcElement?e.toElement:e.fromElement)},pageX:function(e){return"pageX"in e?e.pageX:e.clientX+o.currentScrollLeft},pageY:function(e){return"pageY"in e?e.pageY:e.clientY+o.currentScrollTop}};r.augmentClass(n,a),t.exports=n},{"./SyntheticUIEvent":88,"./ViewportMetrics":91,"./getEventModifierState":108}],87:[function(e,t){"use strict";function n(e,t,n){r.call(this,e,t,n)}var r=e("./SyntheticUIEvent"),o=e("./getEventModifierState"),i={touches:null,targetTouches:null,changedTouches:null,altKey:null,metaKey:null,ctrlKey:null,shiftKey:null,getModifierState:o};r.augmentClass(n,i),t.exports=n},{"./SyntheticUIEvent":88,"./getEventModifierState":108}],88:[function(e,t){"use strict";function n(e,t,n){r.call(this,e,t,n)}var r=e("./SyntheticEvent"),o=e("./getEventTarget"),i={view:function(e){if(e.view)return e.view;var t=o(e);if(null!=t&&t.window===t)return t;var n=t.ownerDocument;return n?n.defaultView||n.parentWindow:window},detail:function(e){return e.detail||0}};r.augmentClass(n,i),t.exports=n},{"./SyntheticEvent":82,"./getEventTarget":109}],89:[function(e,t){"use strict";function n(e,t,n){r.call(this,e,t,n)}var r=e("./SyntheticMouseEvent"),o={deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:null,deltaMode:null};r.augmentClass(n,o),t.exports=n},{"./SyntheticMouseEvent":86}],90:[function(e,t){"use strict";var n=e("./invariant"),r={reinitializeTransaction:function(){this.transactionWrappers=this.getTransactionWrappers(),this.wrapperInitData?this.wrapperInitData.length=0:this.wrapperInitData=[],this._isInTransaction=!1},_isInTransaction:!1,getTransactionWrappers:null,isInTransaction:function(){return!!this._isInTransaction},perform:function(e,t,r,o,i,a,s,u){n(!this.isInTransaction());var c,l;try{this._isInTransaction=!0,c=!0,this.initializeAll(0),l=e.call(t,r,o,i,a,s,u),c=!1}finally{try{if(c)try{this.closeAll(0)}catch(p){}else this.closeAll(0)}finally{this._isInTransaction=!1}}return l},initializeAll:function(e){for(var t=this.transactionWrappers,n=e;n<t.length;n++){var r=t[n];try{this.wrapperInitData[n]=o.OBSERVED_ERROR,this.wrapperInitData[n]=r.initialize?r.initialize.call(this):null}finally{if(this.wrapperInitData[n]===o.OBSERVED_ERROR)try{this.initializeAll(n+1)}catch(i){}}}},closeAll:function(e){n(this.isInTransaction());for(var t=this.transactionWrappers,r=e;r<t.length;r++){var i,a=t[r],s=this.wrapperInitData[r];try{i=!0,s!==o.OBSERVED_ERROR&&a.close&&a.close.call(this,s),i=!1}finally{if(i)try{this.closeAll(r+1)}catch(u){}}}this.wrapperInitData.length=0}},o={Mixin:r,OBSERVED_ERROR:{}};t.exports=o},{"./invariant":118}],91:[function(e,t){"use strict";var n=e("./getUnboundedScrollPosition"),r={currentScrollLeft:0,currentScrollTop:0,refreshScrollValues:function(){var e=n(window);r.currentScrollLeft=e.x,r.currentScrollTop=e.y}};t.exports=r},{"./getUnboundedScrollPosition":114}],92:[function(e,t){"use strict";function n(e,t){if(r(null!=t),null==e)return t;var n=Array.isArray(e),o=Array.isArray(t);return n?e.concat(t):o?[e].concat(t):[e,t]}var r=e("./invariant");t.exports=n},{"./invariant":118}],93:[function(e,t){"use strict";function n(e){for(var t=1,n=0,o=0;o<e.length;o++)t=(t+e.charCodeAt(o))%r,n=(n+t)%r;return t|n<<16}var r=65521;t.exports=n},{}],94:[function(e,t){function n(e,t){return e&&t?e===t?!0:r(e)?!1:r(t)?n(e,t.parentNode):e.contains?e.contains(t):e.compareDocumentPosition?!!(16&e.compareDocumentPosition(t)):!1:!1}var r=e("./isTextNode");t.exports=n},{"./isTextNode":122}],95:[function(e,t){function n(e,t,n,r,o,i){e=e||{};for(var a,s=[t,n,r,o,i],u=0;s[u];){a=s[u++];for(var c in a)e[c]=a[c];a.hasOwnProperty&&a.hasOwnProperty("toString")&&"undefined"!=typeof a.toString&&e.toString!==a.toString&&(e.toString=a.toString)}return e}t.exports=n},{}],96:[function(e,t){function n(e){return!!e&&("object"==typeof e||"function"==typeof e)&&"length"in e&&!("setInterval"in e)&&"number"!=typeof e.nodeType&&(Array.isArray(e)||"callee"in e||"item"in e)}function r(e){return n(e)?Array.isArray(e)?e.slice():o(e):[e]}var o=e("./toArray");t.exports=r},{"./toArray":137}],97:[function(e,t){"use strict";function n(e){var t=r.createClass({displayName:"ReactFullPageComponent"+(e.type.displayName||""),componentWillUnmount:function(){o(!1)},render:function(){return this.transferPropsTo(e(null,this.props.children))}});return t}var r=e("./ReactCompositeComponent"),o=e("./invariant");t.exports=n},{"./ReactCompositeComponent":33,"./invariant":118}],98:[function(e,t){function n(e){var t=e.match(c);return t&&t[1].toLowerCase()}function r(e,t){var r=u;s(!!u);var o=n(e),c=o&&a(o);if(c){r.innerHTML=c[1]+e+c[2];for(var l=c[0];l--;)r=r.lastChild}else r.innerHTML=e;var p=r.getElementsByTagName("script");p.length&&(s(t),i(p).forEach(t));for(var d=i(r.childNodes);r.lastChild;)r.removeChild(r.lastChild);return d}var o=e("./ExecutionEnvironment"),i=e("./createArrayFrom"),a=e("./getMarkupWrap"),s=e("./invariant"),u=o.canUseDOM?document.createElement("div"):null,c=/^\s*<(\w+)/;t.exports=r},{"./ExecutionEnvironment":21,"./createArrayFrom":96,"./getMarkupWrap":110,"./invariant":118}],99:[function(e,t){"use strict";function n(e,t){var n=null==t||"boolean"==typeof t||""===t;if(n)return"";var r=isNaN(t);return r||0===t||o.hasOwnProperty(e)&&o[e]?""+t:("string"==typeof t&&(t=t.trim()),t+"px")}var r=e("./CSSProperty"),o=r.isUnitlessNumber;t.exports=n},{"./CSSProperty":3}],100:[function(e,t){function n(e){return function(){return e}}function r(){}var o=e("./copyProperties");o(r,{thatReturns:n,thatReturnsFalse:n(!1),thatReturnsTrue:n(!0),thatReturnsNull:n(null),thatReturnsThis:function(){return this},thatReturnsArgument:function(e){return e}}),t.exports=r},{"./copyProperties":95}],101:[function(e,t){"use strict";var n={};t.exports=n},{}],102:[function(e,t){"use strict";function n(e){return o[e]}function r(e){return(""+e).replace(i,n)}var o={"&":"&amp;",">":"&gt;","<":"&lt;",'"':"&quot;","'":"&#x27;"},i=/[&><"']/g;t.exports=r},{}],103:[function(e,t){"use strict";function n(e,t,n){var r=e,o=!r.hasOwnProperty(n);o&&null!=t&&(r[n]=t)}function r(e){if(null==e)return e;var t={};return o(e,n,t),t}{var o=e("./traverseAllChildren");e("./warning")}t.exports=r},{"./traverseAllChildren":138,"./warning":139}],104:[function(e,t){"use strict";function n(e){e.disabled||e.focus()}t.exports=n},{}],105:[function(e,t){"use strict";var n=function(e,t,n){Array.isArray(e)?e.forEach(t,n):e&&t.call(n,e)};t.exports=n},{}],106:[function(e,t){function n(){try{return document.activeElement||document.body}catch(e){return document.body}}t.exports=n},{}],107:[function(e,t){"use strict";function n(e){if(e.key){var t=o[e.key]||e.key;if("Unidentified"!==t)return t}if("keypress"===e.type){var n="charCode"in e?e.charCode:e.keyCode;return 13===n?"Enter":String.fromCharCode(n)}return"keydown"===e.type||"keyup"===e.type?i[e.keyCode]||"Unidentified":void r(!1)}var r=e("./invariant"),o={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},i={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"};t.exports=n},{"./invariant":118}],108:[function(e,t){"use strict";function n(e){var t=this,n=t.nativeEvent;if(n.getModifierState)return n.getModifierState(e);var r=o[e];return r?!!n[r]:!1}function r(){return n}var o={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};t.exports=r},{}],109:[function(e,t){"use strict";function n(e){var t=e.target||e.srcElement||window;return 3===t.nodeType?t.parentNode:t}t.exports=n},{}],110:[function(e,t){function n(e){return o(!!i),p.hasOwnProperty(e)||(e="*"),a.hasOwnProperty(e)||(i.innerHTML="*"===e?"<link />":"<"+e+"></"+e+">",a[e]=!i.firstChild),a[e]?p[e]:null}var r=e("./ExecutionEnvironment"),o=e("./invariant"),i=r.canUseDOM?document.createElement("div"):null,a={circle:!0,defs:!0,ellipse:!0,g:!0,line:!0,linearGradient:!0,path:!0,polygon:!0,polyline:!0,radialGradient:!0,rect:!0,stop:!0,text:!0},s=[1,'<select multiple="true">',"</select>"],u=[1,"<table>","</table>"],c=[3,"<table><tbody><tr>","</tr></tbody></table>"],l=[1,"<svg>","</svg>"],p={"*":[1,"?<div>","</div>"],area:[1,"<map>","</map>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],legend:[1,"<fieldset>","</fieldset>"],param:[1,"<object>","</object>"],tr:[2,"<table><tbody>","</tbody></table>"],optgroup:s,option:s,caption:u,colgroup:u,tbody:u,tfoot:u,thead:u,td:c,th:c,circle:l,defs:l,ellipse:l,g:l,line:l,linearGradient:l,path:l,polygon:l,polyline:l,radialGradient:l,rect:l,stop:l,text:l};t.exports=n},{"./ExecutionEnvironment":21,"./invariant":118}],111:[function(e,t){"use strict";function n(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function r(e){for(;e;){if(e.nextSibling)return e.nextSibling;e=e.parentNode}}function o(e,t){for(var o=n(e),i=0,a=0;o;){if(3==o.nodeType){if(a=i+o.textContent.length,t>=i&&a>=t)return{node:o,offset:t-i};i=a}o=n(r(o))}}t.exports=o},{}],112:[function(e,t){"use strict";function n(e){return e?e.nodeType===r?e.documentElement:e.firstChild:null}var r=9;t.exports=n},{}],113:[function(e,t){"use strict";function n(){return!o&&r.canUseDOM&&(o="textContent"in document.documentElement?"textContent":"innerText"),o}var r=e("./ExecutionEnvironment"),o=null;t.exports=n},{"./ExecutionEnvironment":21}],114:[function(e,t){"use strict";function n(e){return e===window?{x:window.pageXOffset||document.documentElement.scrollLeft,y:window.pageYOffset||document.documentElement.scrollTop}:{x:e.scrollLeft,y:e.scrollTop}}t.exports=n},{}],115:[function(e,t){function n(e){return e.replace(r,"-$1").toLowerCase()}var r=/([A-Z])/g;t.exports=n},{}],116:[function(e,t){"use strict";function n(e){return r(e).replace(o,"-ms-")}var r=e("./hyphenate"),o=/^ms-/;t.exports=n},{"./hyphenate":115}],117:[function(e,t){"use strict";function n(e){return e&&"function"==typeof e.type&&"function"==typeof e.type.prototype.mountComponent&&"function"==typeof e.type.prototype.receiveComponent}function r(e){return o(n(e)),new e.type(e)}var o=e("./invariant");t.exports=r},{"./invariant":118}],118:[function(e,t){"use strict";var n=function(e,t,n,r,o,i,a,s){if(!e){var u;if(void 0===t)u=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var c=[n,r,o,i,a,s],l=0;u=new Error("Invariant Violation: "+t.replace(/%s/g,function(){return c[l++]}))}throw u.framesToPop=1,u}};t.exports=n},{}],119:[function(e,t){"use strict";function n(e,t){if(!o.canUseDOM||t&&!("addEventListener"in document))return!1;var n="on"+e,i=n in document;if(!i){var a=document.createElement("div");a.setAttribute(n,"return;"),i="function"==typeof a[n]}return!i&&r&&"wheel"===e&&(i=document.implementation.hasFeature("Events.wheel","3.0")),i}var r,o=e("./ExecutionEnvironment");o.canUseDOM&&(r=document.implementation&&document.implementation.hasFeature&&document.implementation.hasFeature("","")!==!0),t.exports=n},{"./ExecutionEnvironment":21}],120:[function(e,t){function n(e){return!(!e||!("function"==typeof Node?e instanceof Node:"object"==typeof e&&"number"==typeof e.nodeType&&"string"==typeof e.nodeName))}t.exports=n},{}],121:[function(e,t){"use strict";function n(e){return e&&("INPUT"===e.nodeName&&r[e.type]||"TEXTAREA"===e.nodeName)}var r={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};t.exports=n},{}],122:[function(e,t){function n(e){return r(e)&&3==e.nodeType}var r=e("./isNode");t.exports=n},{"./isNode":120}],123:[function(e,t){"use strict";function n(e){e||(e="");var t,n=arguments.length;if(n>1)for(var r=1;n>r;r++)t=arguments[r],t&&(e+=" "+t);return e}t.exports=n},{}],124:[function(e,t){"use strict";var n=e("./invariant"),r=function(e){var t,r={};n(e instanceof Object&&!Array.isArray(e));for(t in e)e.hasOwnProperty(t)&&(r[t]=t);return r};t.exports=r},{"./invariant":118}],125:[function(e,t){var n=function(e){var t;for(t in e)if(e.hasOwnProperty(t))return t;return null};t.exports=n},{}],126:[function(e,t){"use strict";function n(e,t,n){if(!e)return null;var r=0,o={};for(var i in e)e.hasOwnProperty(i)&&(o[i]=t.call(n,e[i],i,r++));return o}t.exports=n},{}],127:[function(e,t){"use strict";function n(e){var t={};return function(n){return t.hasOwnProperty(n)?t[n]:t[n]=e.call(this,n)}}t.exports=n},{}],128:[function(e,t){"use strict";var n=e("./mergeInto"),r=function(e,t){var r={};return n(r,e),n(r,t),r};t.exports=r},{"./mergeInto":130}],129:[function(e,t){"use strict";var n=e("./invariant"),r=e("./keyMirror"),o=36,i=function(e){return"object"!=typeof e||null===e},a={MAX_MERGE_DEPTH:o,isTerminal:i,normalizeMergeArg:function(e){return void 0===e||null===e?{}:e},checkMergeArrayArgs:function(e,t){n(Array.isArray(e)&&Array.isArray(t))},checkMergeObjectArgs:function(e,t){a.checkMergeObjectArg(e),a.checkMergeObjectArg(t)},checkMergeObjectArg:function(e){n(!i(e)&&!Array.isArray(e))},checkMergeIntoObjectArg:function(e){n(!(i(e)&&"function"!=typeof e||Array.isArray(e)))},checkMergeLevel:function(e){n(o>e)},checkArrayStrategy:function(e){n(void 0===e||e in a.ArrayStrategies)},ArrayStrategies:r({Clobber:!0,IndexByIndex:!0})};t.exports=a},{"./invariant":118,"./keyMirror":124}],130:[function(e,t){"use strict";function n(e,t){if(i(e),null!=t){o(t);for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])}}var r=e("./mergeHelpers"),o=r.checkMergeObjectArg,i=r.checkMergeIntoObjectArg;t.exports=n},{"./mergeHelpers":129}],131:[function(e,t){"use strict";var n=function(e,t){var n;for(n in t)t.hasOwnProperty(n)&&(e.prototype[n]=t[n])};t.exports=n},{}],132:[function(e,t){"use strict";function n(e){r(e&&!/[^a-z0-9_]/.test(e))}var r=e("./invariant");t.exports=n},{"./invariant":118}],133:[function(e,t){"use strict";function n(e){return o(r.isValidDescriptor(e)),e}var r=e("./ReactDescriptor"),o=e("./invariant");t.exports=n},{"./ReactDescriptor":49,"./invariant":118}],134:[function(e,t){"use strict";var n=e("./ExecutionEnvironment"),r=function(e,t){e.innerHTML=t};if(n.canUseDOM){var o=document.createElement("div");o.innerHTML=" ",""===o.innerHTML&&(r=function(e,t){if(e.parentNode&&e.parentNode.replaceChild(e,e),t.match(/^[ \r\n\t\f]/)||"<"===t[0]&&(-1!==t.indexOf("<noscript")||-1!==t.indexOf("<script")||-1!==t.indexOf("<style")||-1!==t.indexOf("<meta")||-1!==t.indexOf("<link"))){e.innerHTML=""+t;var n=e.firstChild;1===n.data.length?e.removeChild(n):n.deleteData(0,1)}else e.innerHTML=t})}t.exports=r},{"./ExecutionEnvironment":21}],135:[function(e,t){"use strict";function n(e,t){if(e===t)return!0;var n;for(n in e)if(e.hasOwnProperty(n)&&(!t.hasOwnProperty(n)||e[n]!==t[n]))return!1;for(n in t)if(t.hasOwnProperty(n)&&!e.hasOwnProperty(n))return!1;return!0}t.exports=n},{}],136:[function(e,t){"use strict";function n(e,t){return e&&t&&e.type===t.type&&(e.props&&e.props.key)===(t.props&&t.props.key)&&e._owner===t._owner?!0:!1}t.exports=n},{}],137:[function(e,t){function n(e){var t=e.length;if(r(!Array.isArray(e)&&("object"==typeof e||"function"==typeof e)),r("number"==typeof t),r(0===t||t-1 in e),e.hasOwnProperty)try{return Array.prototype.slice.call(e)}catch(n){}for(var o=Array(t),i=0;t>i;i++)o[i]=e[i];return o}var r=e("./invariant");t.exports=n},{"./invariant":118}],138:[function(e,t){"use strict";function n(e){return d[e]}function r(e,t){return e&&e.props&&null!=e.props.key?i(e.props.key):t.toString(36)}function o(e){return(""+e).replace(f,n)}function i(e){return"$"+o(e)}function a(e,t,n){return null==e?0:h(e,"",0,t,n)}var s=e("./ReactInstanceHandles"),u=e("./ReactTextComponent"),c=e("./invariant"),l=s.SEPARATOR,p=":",d={"=":"=0",".":"=1",":":"=2"},f=/[=.:]/g,h=function(e,t,n,o,a){var s=0;if(Array.isArray(e))for(var d=0;d<e.length;d++){var f=e[d],v=t+(t?p:l)+r(f,d),m=n+s;s+=h(f,v,m,o,a)}else{var g=typeof e,y=""===t,C=y?l+r(e,0):t;if(null==e||"boolean"===g)o(a,null,C,n),s=1;else if(e.type&&e.type.prototype&&e.type.prototype.mountComponentIntoNode)o(a,e,C,n),s=1;else if("object"===g){c(!e||1!==e.nodeType);for(var E in e)e.hasOwnProperty(E)&&(s+=h(e[E],t+(t?p:l)+i(E)+p+r(e[E],0),n+s,o,a))}else if("string"===g){var R=u(e);o(a,R,C,n),s+=1}else if("number"===g){var M=u(""+e);o(a,M,C,n),s+=1}}return s};t.exports=a},{"./ReactInstanceHandles":57,"./ReactTextComponent":73,"./invariant":118}],139:[function(e,t){"use strict";var n=e("./emptyFunction"),r=n;t.exports=r},{"./emptyFunction":100}]},{},[27])(27)});if(typeof Math.imul == "undefined" || (Math.imul(0xffffffff,5) == 0)) {
+    Math.imul = function (a, b) {
+        var ah  = (a >>> 16) & 0xffff;
+        var al = a & 0xffff;
+        var bh  = (b >>> 16) & 0xffff;
+        var bl = b & 0xffff;
+        // the shift by 0 fixes the sign on the high part
+        // the final |0 converts the unsigned value into a signed value
+        return ((al * bl) + (((ah * bl + al * bh) << 16) >>> 0)|0);
+    }
+}
+
+;(function(){
+var h,aa=aa||{},ba=this;function ca(a){a=a.split(".");for(var b=ba,c;c=a.shift();)if(null!=b[c])b=b[c];else return null;return b}function ea(){}
+function p(a){var b=typeof a;if("object"==b)if(a){if(a instanceof Array)return"array";if(a instanceof Object)return b;var c=Object.prototype.toString.call(a);if("[object Window]"==c)return"object";if("[object Array]"==c||"number"==typeof a.length&&"undefined"!=typeof a.splice&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("splice"))return"array";if("[object Function]"==c||"undefined"!=typeof a.call&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("call"))return"function"}else return"null";
+else if("function"==b&&"undefined"==typeof a.call)return"object";return b}function fa(a){var b=p(a);return"array"==b||"object"==b&&"number"==typeof a.length}function ga(a){return"string"==typeof a}function ha(a){return"function"==p(a)}var ia="closure_uid_"+(1E9*Math.random()>>>0),ja=0;function ka(a,b,c){return a.call.apply(a.bind,arguments)}
+function la(a,b,c){if(!a)throw Error();if(2<arguments.length){var d=Array.prototype.slice.call(arguments,2);return function(){var c=Array.prototype.slice.call(arguments);Array.prototype.unshift.apply(c,d);return a.apply(b,c)}}return function(){return a.apply(b,arguments)}}function ma(a,b,c){ma=Function.prototype.bind&&-1!=Function.prototype.bind.toString().indexOf("native code")?ka:la;return ma.apply(null,arguments)}var na=Date.now||function(){return+new Date};
+function oa(a,b){function c(){}c.prototype=b.prototype;a.mg=b.prototype;a.prototype=new c;a.prototype.constructor=a;a.base=function(a,c,f){return b.prototype[c].apply(a,Array.prototype.slice.call(arguments,2))}};function pa(a){if(Error.captureStackTrace)Error.captureStackTrace(this,pa);else{var b=Error().stack;b&&(this.stack=b)}a&&(this.message=String(a))}oa(pa,Error);pa.prototype.name="CustomError";function qa(a,b){for(var c=a.split("%s"),d="",e=Array.prototype.slice.call(arguments,1);e.length&&1<c.length;)d+=c.shift()+e.shift();return d+c.join("%s")}function ra(a){return a.replace(/^[\s\xa0]+|[\s\xa0]+$/g,"")}
+function sa(a){if(!ua.test(a))return a;-1!=a.indexOf("\x26")&&(a=a.replace(wa,"\x26amp;"));-1!=a.indexOf("\x3c")&&(a=a.replace(xa,"\x26lt;"));-1!=a.indexOf("\x3e")&&(a=a.replace(ya,"\x26gt;"));-1!=a.indexOf('"')&&(a=a.replace(za,"\x26quot;"));-1!=a.indexOf("'")&&(a=a.replace(Aa,"\x26#39;"));-1!=a.indexOf("\x00")&&(a=a.replace(Ba,"\x26#0;"));return a}var wa=/&/g,xa=/</g,ya=/>/g,za=/"/g,Aa=/'/g,Ba=/\x00/g,ua=/[\x00&<>"']/;function Ca(a,b){return a<b?-1:a>b?1:0};function Da(a,b){b.unshift(a);pa.call(this,qa.apply(null,b));b.shift()}oa(Da,pa);Da.prototype.name="AssertionError";function Ea(a,b){throw new Da("Failure"+(a?": "+a:""),Array.prototype.slice.call(arguments,1));};var Fa=Array.prototype,Ha=Fa.indexOf?function(a,b,c){return Fa.indexOf.call(a,b,c)}:function(a,b,c){c=null==c?0:0>c?Math.max(0,a.length+c):c;if(ga(a))return ga(b)&&1==b.length?a.indexOf(b,c):-1;for(;c<a.length;c++)if(c in a&&a[c]===b)return c;return-1},Ia=Fa.forEach?function(a,b,c){Fa.forEach.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=ga(a)?a.split(""):a,f=0;f<d;f++)f in e&&b.call(c,e[f],f,a)};
+function Ja(a){var b;a:{b=Ka;for(var c=a.length,d=ga(a)?a.split(""):a,e=0;e<c;e++)if(e in d&&b.call(void 0,d[e],e,a)){b=e;break a}b=-1}return 0>b?null:ga(a)?a.charAt(b):a[b]}function La(a){return Fa.concat.apply(Fa,arguments)}function Na(a){var b=a.length;if(0<b){for(var c=Array(b),d=0;d<b;d++)c[d]=a[d];return c}return[]}function Oa(a,b,c){return 2>=arguments.length?Fa.slice.call(a,b):Fa.slice.call(a,b,c)}function Pa(a,b){a.sort(b||Qa)}
+function Ra(a,b){for(var c=0;c<a.length;c++)a[c]={index:c,value:a[c]};var d=b||Qa;Pa(a,function(a,b){return d(a.value,b.value)||a.index-b.index});for(c=0;c<a.length;c++)a[c]=a[c].value}function Qa(a,b){return a>b?1:a<b?-1:0};var Sa;a:{var Ua=ba.navigator;if(Ua){var Wa=Ua.userAgent;if(Wa){Sa=Wa;break a}}Sa=""}function Xa(a){return-1!=Sa.indexOf(a)};var Ya=Xa("Opera")||Xa("OPR"),Za=Xa("Trident")||Xa("MSIE"),$a=Xa("Gecko")&&-1==Sa.toLowerCase().indexOf("webkit")&&!(Xa("Trident")||Xa("MSIE")),bb=-1!=Sa.toLowerCase().indexOf("webkit");function cb(){var a=ba.document;return a?a.documentMode:void 0}
+var db=function(){var a="",b;if(Ya&&ba.opera)return a=ba.opera.version,ha(a)?a():a;$a?b=/rv\:([^\);]+)(\)|;)/:Za?b=/\b(?:MSIE|rv)[: ]([^\);]+)(\)|;)/:bb&&(b=/WebKit\/(\S+)/);b&&(a=(a=b.exec(Sa))?a[1]:"");return Za&&(b=cb(),b>parseFloat(a))?String(b):a}(),eb={};
+function fb(a){var b;if(!(b=eb[a])){b=0;for(var c=ra(String(db)).split("."),d=ra(String(a)).split("."),e=Math.max(c.length,d.length),f=0;0==b&&f<e;f++){var g=c[f]||"",k=d[f]||"",l=RegExp("(\\d*)(\\D*)","g"),m=RegExp("(\\d*)(\\D*)","g");do{var n=l.exec(g)||["","",""],q=m.exec(k)||["","",""];if(0==n[0].length&&0==q[0].length)break;b=Ca(0==n[1].length?0:parseInt(n[1],10),0==q[1].length?0:parseInt(q[1],10))||Ca(0==n[2].length,0==q[2].length)||Ca(n[2],q[2])}while(0==b)}b=eb[a]=0<=b}return b}
+var gb=ba.document,hb=gb&&Za?cb()||("CSS1Compat"==gb.compatMode?parseInt(db,10):5):void 0;var ib;(ib=!Za)||(ib=Za&&9<=hb);var jb=ib,kb=Za&&!fb("9");!bb||fb("528");$a&&fb("1.9b")||Za&&fb("8")||Ya&&fb("9.5")||bb&&fb("528");$a&&!fb("8")||Za&&fb("9");function nb(){0!=ob&&(this[ia]||(this[ia]=++ja))}var ob=0;nb.prototype.vf=!1;function pb(a,b){this.type=a;this.currentTarget=this.target=b;this.defaultPrevented=this.nc=!1;this.Re=!0}pb.prototype.preventDefault=function(){this.defaultPrevented=!0;this.Re=!1};function qb(a){qb[" "](a);return a}qb[" "]=ea;function sb(a,b){pb.call(this,a?a.type:"");this.relatedTarget=this.currentTarget=this.target=null;this.charCode=this.keyCode=this.button=this.screenY=this.screenX=this.clientY=this.clientX=this.offsetY=this.offsetX=0;this.metaKey=this.shiftKey=this.altKey=this.ctrlKey=!1;this.ie=this.state=null;a&&this.jc(a,b)}oa(sb,pb);
+sb.prototype.jc=function(a,b){var c=this.type=a.type;this.target=a.target||a.srcElement;this.currentTarget=b;var d=a.relatedTarget;if(d){if($a){var e;a:{try{qb(d.nodeName);e=!0;break a}catch(f){}e=!1}e||(d=null)}}else"mouseover"==c?d=a.fromElement:"mouseout"==c&&(d=a.toElement);this.relatedTarget=d;this.offsetX=bb||void 0!==a.offsetX?a.offsetX:a.layerX;this.offsetY=bb||void 0!==a.offsetY?a.offsetY:a.layerY;this.clientX=void 0!==a.clientX?a.clientX:a.pageX;this.clientY=void 0!==a.clientY?a.clientY:
+a.pageY;this.screenX=a.screenX||0;this.screenY=a.screenY||0;this.button=a.button;this.keyCode=a.keyCode||0;this.charCode=a.charCode||("keypress"==c?a.keyCode:0);this.ctrlKey=a.ctrlKey;this.altKey=a.altKey;this.shiftKey=a.shiftKey;this.metaKey=a.metaKey;this.state=a.state;this.ie=a;a.defaultPrevented&&this.preventDefault()};
+sb.prototype.preventDefault=function(){sb.mg.preventDefault.call(this);var a=this.ie;if(a.preventDefault)a.preventDefault();else if(a.returnValue=!1,kb)try{if(a.ctrlKey||112<=a.keyCode&&123>=a.keyCode)a.keyCode=-1}catch(b){}};var tb="closure_listenable_"+(1E6*Math.random()|0),ub=0;function vb(a,b,c,d,e){this.Ub=a;this.jd=null;this.src=b;this.type=c;this.capture=!!d;this.Fa=e;this.key=++ub;this.pc=this.Oc=!1}function wb(a){a.pc=!0;a.Ub=null;a.jd=null;a.src=null;a.Fa=null};function yb(a,b){for(var c in a)b.call(void 0,a[c],c,a)}function zb(a){var b=[],c=0,d;for(d in a)b[c++]=a[d];return b}function Ab(a){var b=[],c=0,d;for(d in a)b[c++]=d;return b}var Db="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" ");function Eb(a,b){for(var c,d,e=1;e<arguments.length;e++){d=arguments[e];for(c in d)a[c]=d[c];for(var f=0;f<Db.length;f++)c=Db[f],Object.prototype.hasOwnProperty.call(d,c)&&(a[c]=d[c])}};function Fb(a){this.src=a;this.Sa={};this.md=0}Fb.prototype.add=function(a,b,c,d,e){var f=a.toString();a=this.Sa[f];a||(a=this.Sa[f]=[],this.md++);var g=Gb(a,b,d,e);-1<g?(b=a[g],c||(b.Oc=!1)):(b=new vb(b,this.src,f,!!d,e),b.Oc=c,a.push(b));return b};Fb.prototype.remove=function(a,b,c,d){a=a.toString();if(!(a in this.Sa))return!1;var e=this.Sa[a];b=Gb(e,b,c,d);return-1<b?(wb(e[b]),Fa.splice.call(e,b,1),0==e.length&&(delete this.Sa[a],this.md--),!0):!1};
+function Hb(a,b){var c=b.type;if(c in a.Sa){var d=a.Sa[c],e=Ha(d,b),f;(f=0<=e)&&Fa.splice.call(d,e,1);f&&(wb(b),0==a.Sa[c].length&&(delete a.Sa[c],a.md--))}}Fb.prototype.getListener=function(a,b,c,d){a=this.Sa[a.toString()];var e=-1;a&&(e=Gb(a,b,c,d));return-1<e?a[e]:null};function Gb(a,b,c,d){for(var e=0;e<a.length;++e){var f=a[e];if(!f.pc&&f.Ub==b&&f.capture==!!c&&f.Fa==d)return e}return-1};var Ib="closure_lm_"+(1E6*Math.random()|0),Jb={},Kb=0;function Lb(a,b,c,d,e){if("array"==p(b))for(var f=0;f<b.length;f++)Lb(a,b[f],c,d,e);else if(c=Nb(c),a&&a[tb])a.listen(b,c,d,e);else{if(!b)throw Error("Invalid event type");var f=!!d,g=Ob(a);g||(a[Ib]=g=new Fb(a));c=g.add(b,c,!1,d,e);c.jd||(d=Pb(),c.jd=d,d.src=a,d.Ub=c,a.addEventListener?a.addEventListener(b.toString(),d,f):a.attachEvent(Qb(b.toString()),d),Kb++)}}
+function Pb(){var a=Rb,b=jb?function(c){return a.call(b.src,b.Ub,c)}:function(c){c=a.call(b.src,b.Ub,c);if(!c)return c};return b}function Sb(a,b,c,d,e){if("array"==p(b))for(var f=0;f<b.length;f++)Sb(a,b[f],c,d,e);else c=Nb(c),a&&a[tb]?a.hc.remove(String(b),c,d,e):a&&(a=Ob(a))&&(b=a.getListener(b,c,!!d,e))&&Tb(b)}
+function Tb(a){if("number"!=typeof a&&a&&!a.pc){var b=a.src;if(b&&b[tb])Hb(b.hc,a);else{var c=a.type,d=a.jd;b.removeEventListener?b.removeEventListener(c,d,a.capture):b.detachEvent&&b.detachEvent(Qb(c),d);Kb--;(c=Ob(b))?(Hb(c,a),0==c.md&&(c.src=null,b[Ib]=null)):wb(a)}}}function Qb(a){return a in Jb?Jb[a]:Jb[a]="on"+a}function Ub(a,b,c,d){var e=1;if(a=Ob(a))if(b=a.Sa[b.toString()])for(b=b.concat(),a=0;a<b.length;a++){var f=b[a];f&&f.capture==c&&!f.pc&&(e&=!1!==Vb(f,d))}return Boolean(e)}
+function Vb(a,b){var c=a.Ub,d=a.Fa||a.src;a.Oc&&Tb(a);return c.call(d,b)}
+function Rb(a,b){if(a.pc)return!0;if(!jb){var c=b||ca("window.event"),d=new sb(c,this),e=!0;if(!(0>c.keyCode||void 0!=c.returnValue)){a:{var f=!1;if(0==c.keyCode)try{c.keyCode=-1;break a}catch(g){f=!0}if(f||void 0==c.returnValue)c.returnValue=!0}c=[];for(f=d.currentTarget;f;f=f.parentNode)c.push(f);for(var f=a.type,k=c.length-1;!d.nc&&0<=k;k--)d.currentTarget=c[k],e&=Ub(c[k],f,!0,d);for(k=0;!d.nc&&k<c.length;k++)d.currentTarget=c[k],e&=Ub(c[k],f,!1,d)}return e}return Vb(a,new sb(b,this))}
+function Ob(a){a=a[Ib];return a instanceof Fb?a:null}var Wb="__closure_events_fn_"+(1E9*Math.random()>>>0);function Nb(a){if(ha(a))return a;a[Wb]||(a[Wb]=function(b){return a.handleEvent(b)});return a[Wb]};function Xb(){nb.call(this);this.hc=new Fb(this);this.Ue=this;this.Pe=null}oa(Xb,nb);Xb.prototype[tb]=!0;h=Xb.prototype;h.addEventListener=function(a,b,c,d){Lb(this,a,b,c,d)};h.removeEventListener=function(a,b,c,d){Sb(this,a,b,c,d)};
+h.dispatchEvent=function(a){var b,c=this.Pe;if(c)for(b=[];c;c=c.Pe)b.push(c);var c=this.Ue,d=a.type||a;if(ga(a))a=new pb(a,c);else if(a instanceof pb)a.target=a.target||c;else{var e=a;a=new pb(d,c);Eb(a,e)}var e=!0,f;if(b)for(var g=b.length-1;!a.nc&&0<=g;g--)f=a.currentTarget=b[g],e=Yb(f,d,!0,a)&&e;a.nc||(f=a.currentTarget=c,e=Yb(f,d,!0,a)&&e,a.nc||(e=Yb(f,d,!1,a)&&e));if(b)for(g=0;!a.nc&&g<b.length;g++)f=a.currentTarget=b[g],e=Yb(f,d,!1,a)&&e;return e};
+h.listen=function(a,b,c,d){return this.hc.add(String(a),b,!1,c,d)};function Yb(a,b,c,d){b=a.hc.Sa[String(b)];if(!b)return!0;b=b.concat();for(var e=!0,f=0;f<b.length;++f){var g=b[f];if(g&&!g.pc&&g.capture==c){var k=g.Ub,l=g.Fa||g.src;g.Oc&&Hb(a.hc,g);e=!1!==k.call(l,d)&&e}}return e&&!1!=d.Re}h.getListener=function(a,b,c,d){return this.hc.getListener(String(a),b,c,d)};function Zb(a,b,c){if(ha(a))c&&(a=ma(a,c));else if(a&&"function"==typeof a.handleEvent)a=ma(a.handleEvent,a);else throw Error("Invalid listener argument");return 2147483647<b?-1:ba.setTimeout(a,b||0)};function $b(a){a=String(a);if(/^\s*$/.test(a)?0:/^[\],:{}\s\u2028\u2029]*$/.test(a.replace(/\\["\\\/bfnrtu]/g,"@").replace(/"[^"\\\n\r\u2028\u2029\x00-\x08\x0a-\x1f]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:[\s\u2028\u2029]*\[)+/g,"")))try{return eval("("+a+")")}catch(b){}throw Error("Invalid JSON string: "+a);}function ac(){this.kd=void 0}
+function bc(a,b,c){switch(typeof b){case "string":cc(b,c);break;case "number":c.push(isFinite(b)&&!isNaN(b)?b:"null");break;case "boolean":c.push(b);break;case "undefined":c.push("null");break;case "object":if(null==b){c.push("null");break}if("array"==p(b)){var d=b.length;c.push("[");for(var e="",f=0;f<d;f++)c.push(e),e=b[f],bc(a,a.kd?a.kd.call(b,String(f),e):e,c),e=",";c.push("]");break}c.push("{");d="";for(f in b)Object.prototype.hasOwnProperty.call(b,f)&&(e=b[f],"function"!=typeof e&&(c.push(d),
+cc(f,c),c.push(":"),bc(a,a.kd?a.kd.call(b,f,e):e,c),d=","));c.push("}");break;case "function":break;default:throw Error("Unknown type: "+typeof b);}}var dc={'"':'\\"',"\\":"\\\\","/":"\\/","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t","\x0B":"\\u000b"},ec=/\uffff/.test("\uffff")?/[\\\"\x00-\x1f\x7f-\uffff]/g:/[\\\"\x00-\x1f\x7f-\xff]/g;
+function cc(a,b){b.push('"',a.replace(ec,function(a){if(a in dc)return dc[a];var b=a.charCodeAt(0),e="\\u";16>b?e+="000":256>b?e+="00":4096>b&&(e+="0");return dc[a]=e+b.toString(16)}),'"')};function fc(a){if("function"==typeof a.yb)return a.yb();if(ga(a))return a.split("");if(fa(a)){for(var b=[],c=a.length,d=0;d<c;d++)b.push(a[d]);return b}return zb(a)}function gc(a){if("function"==typeof a.Ja)return a.Ja();if("function"!=typeof a.yb){if(fa(a)||ga(a)){var b=[];a=a.length;for(var c=0;c<a;c++)b.push(c);return b}return Ab(a)}}
+function hc(a,b){if("function"==typeof a.forEach)a.forEach(b,void 0);else if(fa(a)||ga(a))Ia(a,b,void 0);else for(var c=gc(a),d=fc(a),e=d.length,f=0;f<e;f++)b.call(void 0,d[f],c&&c[f],a)};function ic(a,b){this.eb={};this.za=[];this.oa=0;var c=arguments.length;if(1<c){if(c%2)throw Error("Uneven number of arguments");for(var d=0;d<c;d+=2)this.set(arguments[d],arguments[d+1])}else if(a){a instanceof ic?(c=a.Ja(),d=a.yb()):(c=Ab(a),d=zb(a));for(var e=0;e<c.length;e++)this.set(c[e],d[e])}}h=ic.prototype;h.le=function(){return this.oa};h.yb=function(){jc(this);for(var a=[],b=0;b<this.za.length;b++)a.push(this.eb[this.za[b]]);return a};h.Ja=function(){jc(this);return this.za.concat()};
+h.Cc=function(a){return kc(this.eb,a)};h.Ca=function(a,b){if(this===a)return!0;if(this.oa!=a.le())return!1;var c=b||lc;jc(this);for(var d,e=0;d=this.za[e];e++)if(!c(this.get(d),a.get(d)))return!1;return!0};function lc(a,b){return a===b}h.clear=function(){this.eb={};this.oa=this.za.length=0};h.remove=function(a){return kc(this.eb,a)?(delete this.eb[a],this.oa--,this.za.length>2*this.oa&&jc(this),!0):!1};
+function jc(a){if(a.oa!=a.za.length){for(var b=0,c=0;b<a.za.length;){var d=a.za[b];kc(a.eb,d)&&(a.za[c++]=d);b++}a.za.length=c}if(a.oa!=a.za.length){for(var e={},c=b=0;b<a.za.length;)d=a.za[b],kc(e,d)||(a.za[c++]=d,e[d]=1),b++;a.za.length=c}}h.get=function(a,b){return kc(this.eb,a)?this.eb[a]:b};h.set=function(a,b){kc(this.eb,a)||(this.oa++,this.za.push(a));this.eb[a]=b};h.forEach=function(a,b){for(var c=this.Ja(),d=0;d<c.length;d++){var e=c[d],f=this.get(e);a.call(b,f,e,this)}};h.clone=function(){return new ic(this)};
+function kc(a,b){return Object.prototype.hasOwnProperty.call(a,b)};function mc(a){var b;b||(b=nc(a||arguments.callee.caller,[]));return b}
+function nc(a,b){var c=[];if(0<=Ha(b,a))c.push("[...circular reference...]");else if(a&&50>b.length){c.push(oc(a)+"(");for(var d=a.arguments,e=0;d&&e<d.length;e++){0<e&&c.push(", ");var f;f=d[e];switch(typeof f){case "object":f=f?"object":"null";break;case "string":break;case "number":f=String(f);break;case "boolean":f=f?"true":"false";break;case "function":f=(f=oc(f))?f:"[fn]";break;default:f=typeof f}40<f.length&&(f=f.substr(0,40)+"...");c.push(f)}b.push(a);c.push(")\n");try{c.push(nc(a.caller,
+b))}catch(g){c.push("[exception trying to get caller]\n")}}else a?c.push("[...long stack...]"):c.push("[end]");return c.join("")}function oc(a){if(pc[a])return pc[a];a=String(a);if(!pc[a]){var b=/function ([^\(]+)/.exec(a);pc[a]=b?b[1]:"[Anonymous]"}return pc[a]}var pc={};function qc(a,b,c,d,e){this.reset(a,b,c,d,e)}qc.prototype.ke=null;qc.prototype.je=null;var rc=0;qc.prototype.reset=function(a,b,c,d,e){"number"==typeof e||rc++;d||na();this.Kc=a;this.Lf=b;delete this.ke;delete this.je};qc.prototype.Se=function(a){this.Kc=a};function sc(a){this.Nf=a;this.oe=this.sd=this.Kc=this.fd=null}function tc(a,b){this.name=a;this.value=b}tc.prototype.toString=function(){return this.name};var uc=new tc("SEVERE",1E3),vc=new tc("CONFIG",700),wc=new tc("FINE",500);sc.prototype.getParent=function(){return this.fd};sc.prototype.Se=function(a){this.Kc=a};function xc(a){if(a.Kc)return a.Kc;if(a.fd)return xc(a.fd);Ea("Root logger has no level set.");return null}
+sc.prototype.log=function(a,b,c){if(a.value>=xc(this).value)for(ha(b)&&(b=b()),a=this.ne(a,b,c,sc.prototype.log),b="log:"+a.Lf,ba.console&&(ba.console.timeStamp?ba.console.timeStamp(b):ba.console.markTimeline&&ba.console.markTimeline(b)),ba.msWriteProfilerMark&&ba.msWriteProfilerMark(b),b=this;b;){c=b;var d=a;if(c.oe)for(var e=0,f=void 0;f=c.oe[e];e++)f(d);b=b.getParent()}};
+sc.prototype.ne=function(a,b,c,d){a=new qc(a,String(b),this.Nf);if(c){a.ke=c;var e;d=d||sc.prototype.ne;try{var f;var g=ca("window.location.href");if(ga(c))f={message:c,name:"Unknown error",lineNumber:"Not available",fileName:g,stack:"Not available"};else{var k,l;b=!1;try{k=c.lineNumber||c.line||"Not available"}catch(m){k="Not available",b=!0}try{l=c.fileName||c.filename||c.sourceURL||ba.$googDebugFname||g}catch(n){l="Not available",b=!0}f=!b&&c.lineNumber&&c.fileName&&c.stack&&c.message&&c.name?
+c:{message:c.message||"Not available",name:c.name||"UnknownError",lineNumber:k,fileName:l,stack:c.stack||"Not available"}}e="Message: "+sa(f.message)+'\nUrl: \x3ca href\x3d"view-source:'+f.fileName+'" target\x3d"_new"\x3e'+f.fileName+"\x3c/a\x3e\nLine: "+f.lineNumber+"\n\nBrowser stack:\n"+sa(f.stack+"-\x3e ")+"[end]\n\nJS stack traversal:\n"+sa(mc(d)+"-\x3e ")}catch(q){e="Exception trying to expose exception! You win, we lose. "+q}a.je=e}return a};var yc={},zc=null;
+function Ac(a){zc||(zc=new sc(""),yc[""]=zc,zc.Se(vc));var b;if(!(b=yc[a])){b=new sc(a);var c=a.lastIndexOf("."),d=a.substr(c+1),c=Ac(a.substr(0,c));c.sd||(c.sd={});c.sd[d]=b;b.fd=c;yc[a]=b}return b};function Bc(a,b){a&&a.log(wc,b,void 0)};function Cc(){}Cc.prototype.Sd=null;function Dc(a){var b;(b=a.Sd)||(b={},Ec(a)&&(b[0]=!0,b[1]=!0),b=a.Sd=b);return b};var Fc;function Gc(){}oa(Gc,Cc);function Hc(a){return(a=Ec(a))?new ActiveXObject(a):new XMLHttpRequest}function Ec(a){if(!a.pe&&"undefined"==typeof XMLHttpRequest&&"undefined"!=typeof ActiveXObject){for(var b=["MSXML2.XMLHTTP.6.0","MSXML2.XMLHTTP.3.0","MSXML2.XMLHTTP","Microsoft.XMLHTTP"],c=0;c<b.length;c++){var d=b[c];try{return new ActiveXObject(d),a.pe=d}catch(e){}}throw Error("Could not create ActiveXObject. ActiveX might be disabled, or MSXML might not be installed");}return a.pe}Fc=new Gc;var Ic=/^(?:([^:/?#.]+):)?(?:\/\/(?:([^/?#]*)@)?([^/#?]*?)(?::([0-9]+))?(?=[/#?]|$))?([^?#]+)?(?:\?([^#]*))?(?:#(.*))?$/;function Jc(a){if(Kc){Kc=!1;var b=ba.location;if(b){var c=b.href;if(c&&(c=(c=Jc(c)[3]||null)&&decodeURIComponent(c))&&c!=b.hostname)throw Kc=!0,Error();}}return a.match(Ic)}var Kc=bb;function Lc(a){Xb.call(this);this.headers=new ic;this.rd=a||null;this.$b=!1;this.qd=this.T=null;this.re=this.ad="";this.kc=0;this.Jc="";this.Gc=this.Ed=this.$c=this.Bd=!1;this.qc=0;this.ld=null;this.Qe=Mc;this.od=this.pg=!1}oa(Lc,Xb);var Mc="",Nc=Lc.prototype,Oc=Ac("goog.net.XhrIo");Nc.Ta=Oc;var Pc=/^https?$/i,Qc=["POST","PUT"];h=Lc.prototype;
+h.send=function(a,b,c,d){if(this.T)throw Error("[goog.net.XhrIo] Object is active with another request\x3d"+this.ad+"; newUri\x3d"+a);b=b?b.toUpperCase():"GET";this.ad=a;this.Jc="";this.kc=0;this.re=b;this.Bd=!1;this.$b=!0;this.T=this.rd?Hc(this.rd):Hc(Fc);this.qd=this.rd?Dc(this.rd):Dc(Fc);this.T.onreadystatechange=ma(this.Oe,this);try{Bc(this.Ta,Uc(this,"Opening Xhr")),this.Ed=!0,this.T.open(b,String(a),!0),this.Ed=!1}catch(e){Bc(this.Ta,Uc(this,"Error opening Xhr: "+e.message));Vc(this,e);return}a=
+c||"";var f=this.headers.clone();d&&hc(d,function(a,b){f.set(b,a)});d=Ja(f.Ja());c=ba.FormData&&a instanceof ba.FormData;!(0<=Ha(Qc,b))||d||c||f.set("Content-Type","application/x-www-form-urlencoded;charset\x3dutf-8");f.forEach(function(a,b){this.T.setRequestHeader(b,a)},this);this.Qe&&(this.T.responseType=this.Qe);"withCredentials"in this.T&&(this.T.withCredentials=this.pg);try{Wc(this),0<this.qc&&(this.od=Xc(this.T),Bc(this.Ta,Uc(this,"Will abort after "+this.qc+"ms if incomplete, xhr2 "+this.od)),
+this.od?(this.T.timeout=this.qc,this.T.ontimeout=ma(this.Te,this)):this.ld=Zb(this.Te,this.qc,this)),Bc(this.Ta,Uc(this,"Sending request")),this.$c=!0,this.T.send(a),this.$c=!1}catch(g){Bc(this.Ta,Uc(this,"Send error: "+g.message)),Vc(this,g)}};function Xc(a){return Za&&fb(9)&&"number"==typeof a.timeout&&void 0!==a.ontimeout}function Ka(a){return"content-type"==a.toLowerCase()}
+h.Te=function(){"undefined"!=typeof aa&&this.T&&(this.Jc="Timed out after "+this.qc+"ms, aborting",this.kc=8,Bc(this.Ta,Uc(this,this.Jc)),this.dispatchEvent("timeout"),this.abort(8))};function Vc(a,b){a.$b=!1;a.T&&(a.Gc=!0,a.T.abort(),a.Gc=!1);a.Jc=b;a.kc=5;Yc(a);Zc(a)}function Yc(a){a.Bd||(a.Bd=!0,a.dispatchEvent("complete"),a.dispatchEvent("error"))}
+h.abort=function(a){this.T&&this.$b&&(Bc(this.Ta,Uc(this,"Aborting")),this.$b=!1,this.Gc=!0,this.T.abort(),this.Gc=!1,this.kc=a||7,this.dispatchEvent("complete"),this.dispatchEvent("abort"),Zc(this))};h.Oe=function(){this.vf||(this.Ed||this.$c||this.Gc?$c(this):this.hg())};h.hg=function(){$c(this)};
+function $c(a){if(a.$b&&"undefined"!=typeof aa)if(a.qd[1]&&4==ad(a)&&2==bd(a))Bc(a.Ta,Uc(a,"Local request error detected and ignored"));else if(a.$c&&4==ad(a))Zb(a.Oe,0,a);else if(a.dispatchEvent("readystatechange"),4==ad(a)){Bc(a.Ta,Uc(a,"Request complete"));a.$b=!1;try{var b=bd(a),c;a:switch(b){case 200:case 201:case 202:case 204:case 206:case 304:case 1223:c=!0;break a;default:c=!1}var d;if(!(d=c)){var e;if(e=0===b){var f=Jc(String(a.ad))[1]||null;if(!f&&self.location)var g=self.location.protocol,
+f=g.substr(0,g.length-1);e=!Pc.test(f?f.toLowerCase():"")}d=e}d?(a.dispatchEvent("complete"),a.dispatchEvent("success")):(a.kc=6,a.Jc=cd(a)+" ["+bd(a)+"]",Yc(a))}finally{Zc(a)}}}function Zc(a){if(a.T){Wc(a);var b=a.T,c=a.qd[0]?ea:null;a.T=null;a.qd=null;a.dispatchEvent("ready");try{b.onreadystatechange=c}catch(d){(a=a.Ta)&&a.log(uc,"Problem encountered resetting onreadystatechange: "+d.message,void 0)}}}
+function Wc(a){a.T&&a.od&&(a.T.ontimeout=null);"number"==typeof a.ld&&(ba.clearTimeout(a.ld),a.ld=null)}function ad(a){return a.T?a.T.readyState:0}function bd(a){try{return 2<ad(a)?a.T.status:-1}catch(b){return-1}}function cd(a){try{return 2<ad(a)?a.T.statusText:""}catch(b){return Bc(a.Ta,"Can not get status: "+b.message),""}}function dd(a){try{return a.T?a.T.responseText:""}catch(b){return Bc(a.Ta,"Can not get responseText: "+b.message),""}}
+function ed(a,b){if(a.T){var c=a.T.responseText;b&&0==c.indexOf(b)&&(c=c.substring(b.length));return $b(c)}}h.getResponseHeader=function(a){return this.T&&4==ad(this)?this.T.getResponseHeader(a):void 0};function Uc(a,b){return b+" ["+a.re+" "+a.ad+" "+bd(a)+"]"};function fd(a,b){var c;if(a instanceof fd)this.Ra=void 0!==b?b:a.Ra,gd(this,a.Wb),c=a.pd,hd(this),this.pd=c,c=a.ec,hd(this),this.ec=c,id(this,a.gd),c=a.mc,hd(this),this.mc=c,jd(this,a.zb.clone()),c=a.Ec,hd(this),this.Ec=c;else if(a&&(c=Jc(String(a)))){this.Ra=!!b;gd(this,c[1]||"",!0);var d=c[2]||"";hd(this);this.pd=kd(d);d=c[3]||"";hd(this);this.ec=kd(d);id(this,c[4]);d=c[5]||"";hd(this);this.mc=kd(d);jd(this,c[6]||"",!0);c=c[7]||"";hd(this);this.Ec=kd(c)}else this.Ra=!!b,this.zb=new ld(null,0,this.Ra)}
+h=fd.prototype;h.Wb="";h.pd="";h.ec="";h.gd=null;h.mc="";h.Ec="";h.xf=!1;h.Ra=!1;h.toString=function(){var a=[],b=this.Wb;b&&a.push(md(b,nd),":");if(b=this.ec){a.push("//");var c=this.pd;c&&a.push(md(c,nd),"@");a.push(encodeURIComponent(String(b)));b=this.gd;null!=b&&a.push(":",String(b))}if(b=this.mc)this.ec&&"/"!=b.charAt(0)&&a.push("/"),a.push(md(b,"/"==b.charAt(0)?od:pd));(b=this.zb.toString())&&a.push("?",b);(b=this.Ec)&&a.push("#",md(b,qd));return a.join("")};h.clone=function(){return new fd(this)};
+function gd(a,b,c){hd(a);a.Wb=c?kd(b):b;a.Wb&&(a.Wb=a.Wb.replace(/:$/,""))}function id(a,b){hd(a);if(b){b=Number(b);if(isNaN(b)||0>b)throw Error("Bad port number "+b);a.gd=b}else a.gd=null}function jd(a,b,c){hd(a);b instanceof ld?(a.zb=b,a.zb.Md(a.Ra)):(c||(b=md(b,rd)),a.zb=new ld(b,0,a.Ra))}function hd(a){if(a.xf)throw Error("Tried to modify a read-only Uri");}h.Md=function(a){this.Ra=a;this.zb&&this.zb.Md(a);return this};function kd(a){return a?decodeURIComponent(a):""}
+function md(a,b){return ga(a)?encodeURI(a).replace(b,sd):null}function sd(a){a=a.charCodeAt(0);return"%"+(a>>4&15).toString(16)+(a&15).toString(16)}var nd=/[#\/\?@]/g,pd=/[\#\?:]/g,od=/[\#\?]/g,rd=/[\#\?@]/g,qd=/#/g;function ld(a,b,c){this.Ha=a||null;this.Ra=!!c}
+function td(a){if(!a.pa&&(a.pa=new ic,a.oa=0,a.Ha))for(var b=a.Ha.split("\x26"),c=0;c<b.length;c++){var d=b[c].indexOf("\x3d"),e=null,f=null;0<=d?(e=b[c].substring(0,d),f=b[c].substring(d+1)):e=b[c];e=decodeURIComponent(e.replace(/\+/g," "));e=vd(a,e);a.add(e,f?decodeURIComponent(f.replace(/\+/g," ")):"")}}h=ld.prototype;h.pa=null;h.oa=null;h.le=function(){td(this);return this.oa};
+h.add=function(a,b){td(this);this.Ha=null;a=vd(this,a);var c=this.pa.get(a);c||this.pa.set(a,c=[]);c.push(b);this.oa++;return this};h.remove=function(a){td(this);a=vd(this,a);return this.pa.Cc(a)?(this.Ha=null,this.oa-=this.pa.get(a).length,this.pa.remove(a)):!1};h.clear=function(){this.pa=this.Ha=null;this.oa=0};h.Cc=function(a){td(this);a=vd(this,a);return this.pa.Cc(a)};
+h.Ja=function(){td(this);for(var a=this.pa.yb(),b=this.pa.Ja(),c=[],d=0;d<b.length;d++)for(var e=a[d],f=0;f<e.length;f++)c.push(b[d]);return c};h.yb=function(a){td(this);var b=[];if(ga(a))this.Cc(a)&&(b=La(b,this.pa.get(vd(this,a))));else{a=this.pa.yb();for(var c=0;c<a.length;c++)b=La(b,a[c])}return b};h.set=function(a,b){td(this);this.Ha=null;a=vd(this,a);this.Cc(a)&&(this.oa-=this.pa.get(a).length);this.pa.set(a,[b]);this.oa++;return this};
+h.get=function(a,b){var c=a?this.yb(a):[];return 0<c.length?String(c[0]):b};function wd(a,b,c){a.remove(b);0<c.length&&(a.Ha=null,a.pa.set(vd(a,b),Na(c)),a.oa+=c.length)}h.toString=function(){if(this.Ha)return this.Ha;if(!this.pa)return"";for(var a=[],b=this.pa.Ja(),c=0;c<b.length;c++)for(var d=b[c],e=encodeURIComponent(String(d)),d=this.yb(d),f=0;f<d.length;f++){var g=e;""!==d[f]&&(g+="\x3d"+encodeURIComponent(String(d[f])));a.push(g)}return this.Ha=a.join("\x26")};
+h.clone=function(){var a=new ld;a.Ha=this.Ha;this.pa&&(a.pa=this.pa.clone(),a.oa=this.oa);return a};function vd(a,b){var c=String(b);a.Ra&&(c=c.toLowerCase());return c}h.Md=function(a){a&&!this.Ra&&(td(this),this.Ha=null,this.pa.forEach(function(a,c){var d=c.toLowerCase();c!=d&&(this.remove(c),wd(this,d,a))},this));this.Ra=a};function xd(a,b){null!=a&&this.append.apply(this,arguments)}h=xd.prototype;h.Eb="";h.set=function(a){this.Eb=""+a};h.append=function(a,b,c){this.Eb+=a;if(null!=b)for(var d=1;d<arguments.length;d++)this.Eb+=arguments[d];return this};h.clear=function(){this.Eb=""};h.toString=function(){return this.Eb};var yd=null;function zd(){return new s(null,5,[Ad,!0,Bd,!0,Cd,!1,Dd,!1,Ed,null],null)}function t(a){return null!=a&&!1!==a}function Fd(a){return null==a}function Gd(a){return t(a)?!1:!0}function u(a,b){return a[p(null==b?null:b)]?!0:a._?!0:!1}function Hd(a){return null==a?null:a.constructor}function w(a,b){var c=Hd(b),c=t(t(c)?c.Wa:c)?c.Va:p(b);return Error(["No protocol method ",a," defined for type ",c,": ",b].join(""))}function Id(a){var b=a.Va;return t(b)?b:""+z.h(a)}
+function Jd(a){for(var b=a.length,c=Array(b),d=0;;)if(d<b)c[d]=a[d],d+=1;else break;return c}function Kd(a){return Array.prototype.slice.call(arguments)}
+var Md=function(){function a(a,b){function c(a,b){a.push(b);return a}var g=[];return Ld.j?Ld.j(c,g,b):Ld.call(null,c,g,b)}function b(a){return c.e(null,a)}var c=null,c=function(c,e){switch(arguments.length){case 1:return b.call(this,c);case 2:return a.call(this,0,e)}throw Error("Invalid arity: "+arguments.length);};c.h=b;c.e=a;return c}(),Nd={},Od={},Pd={};
+function Qd(a){if(a?a.ua:a)return a.ua(a);var b;b=Qd[p(null==a?null:a)];if(!b&&(b=Qd._,!b))throw w("ICloneable.-clone",a);return b.call(null,a)}var Rd={};function Sd(a){if(a?a.ca:a)return a.ca(a);var b;b=Sd[p(null==a?null:a)];if(!b&&(b=Sd._,!b))throw w("ICounted.-count",a);return b.call(null,a)}function Td(a){if(a?a.da:a)return a.da(a);var b;b=Td[p(null==a?null:a)];if(!b&&(b=Td._,!b))throw w("IEmptyableCollection.-empty",a);return b.call(null,a)}var Ud={};
+function Vd(a,b){if(a?a.X:a)return a.X(a,b);var c;c=Vd[p(null==a?null:a)];if(!c&&(c=Vd._,!c))throw w("ICollection.-conj",a);return c.call(null,a,b)}
+var Wd={},A=function(){function a(a,b,c){if(a?a.ya:a)return a.ya(a,b,c);var g;g=A[p(null==a?null:a)];if(!g&&(g=A._,!g))throw w("IIndexed.-nth",a);return g.call(null,a,b,c)}function b(a,b){if(a?a.L:a)return a.L(a,b);var c;c=A[p(null==a?null:a)];if(!c&&(c=A._,!c))throw w("IIndexed.-nth",a);return c.call(null,a,b)}var c=null,c=function(c,e,f){switch(arguments.length){case 2:return b.call(this,c,e);case 3:return a.call(this,c,e,f)}throw Error("Invalid arity: "+arguments.length);};c.e=b;c.j=a;return c}(),
+Xd={};function Yd(a){if(a?a.la:a)return a.la(a);var b;b=Yd[p(null==a?null:a)];if(!b&&(b=Yd._,!b))throw w("ISeq.-first",a);return b.call(null,a)}function Zd(a){if(a?a.ra:a)return a.ra(a);var b;b=Zd[p(null==a?null:a)];if(!b&&(b=Zd._,!b))throw w("ISeq.-rest",a);return b.call(null,a)}
+var $d={},ae={},be=function(){function a(a,b,c){if(a?a.K:a)return a.K(a,b,c);var g;g=be[p(null==a?null:a)];if(!g&&(g=be._,!g))throw w("ILookup.-lookup",a);return g.call(null,a,b,c)}function b(a,b){if(a?a.J:a)return a.J(a,b);var c;c=be[p(null==a?null:a)];if(!c&&(c=be._,!c))throw w("ILookup.-lookup",a);return c.call(null,a,b)}var c=null,c=function(c,e,f){switch(arguments.length){case 2:return b.call(this,c,e);case 3:return a.call(this,c,e,f)}throw Error("Invalid arity: "+arguments.length);};c.e=b;c.j=
+a;return c}();function de(a,b){if(a?a.bc:a)return a.bc(a,b);var c;c=de[p(null==a?null:a)];if(!c&&(c=de._,!c))throw w("IAssociative.-contains-key?",a);return c.call(null,a,b)}function ee(a,b,c){if(a?a.bb:a)return a.bb(a,b,c);var d;d=ee[p(null==a?null:a)];if(!d&&(d=ee._,!d))throw w("IAssociative.-assoc",a);return d.call(null,a,b,c)}var fe={};function ge(a,b){if(a?a.xc:a)return a.xc(a,b);var c;c=ge[p(null==a?null:a)];if(!c&&(c=ge._,!c))throw w("IMap.-dissoc",a);return c.call(null,a,b)}var he={};
+function ie(a){if(a?a.yc:a)return a.yc(a);var b;b=ie[p(null==a?null:a)];if(!b&&(b=ie._,!b))throw w("IMapEntry.-key",a);return b.call(null,a)}function je(a){if(a?a.zc:a)return a.zc(a);var b;b=je[p(null==a?null:a)];if(!b&&(b=je._,!b))throw w("IMapEntry.-val",a);return b.call(null,a)}var ke={};function le(a,b){if(a?a.yd:a)return a.yd(a,b);var c;c=le[p(null==a?null:a)];if(!c&&(c=le._,!c))throw w("ISet.-disjoin",a);return c.call(null,a,b)}
+function me(a){if(a?a.wb:a)return a.wb(a);var b;b=me[p(null==a?null:a)];if(!b&&(b=me._,!b))throw w("IStack.-peek",a);return b.call(null,a)}var ne={};function oe(a,b,c){if(a?a.Qb:a)return a.Qb(a,b,c);var d;d=oe[p(null==a?null:a)];if(!d&&(d=oe._,!d))throw w("IVector.-assoc-n",a);return d.call(null,a,b,c)}function pe(a){if(a?a.Nb:a)return a.Nb(a);var b;b=pe[p(null==a?null:a)];if(!b&&(b=pe._,!b))throw w("IDeref.-deref",a);return b.call(null,a)}var qe={};
+function re(a){if(a?a.M:a)return a.M(a);var b;b=re[p(null==a?null:a)];if(!b&&(b=re._,!b))throw w("IMeta.-meta",a);return b.call(null,a)}var se={};function te(a,b){if(a?a.N:a)return a.N(a,b);var c;c=te[p(null==a?null:a)];if(!c&&(c=te._,!c))throw w("IWithMeta.-with-meta",a);return c.call(null,a,b)}
+var ue={},ve=function(){function a(a,b,c){if(a?a.na:a)return a.na(a,b,c);var g;g=ve[p(null==a?null:a)];if(!g&&(g=ve._,!g))throw w("IReduce.-reduce",a);return g.call(null,a,b,c)}function b(a,b){if(a?a.ma:a)return a.ma(a,b);var c;c=ve[p(null==a?null:a)];if(!c&&(c=ve._,!c))throw w("IReduce.-reduce",a);return c.call(null,a,b)}var c=null,c=function(c,e,f){switch(arguments.length){case 2:return b.call(this,c,e);case 3:return a.call(this,c,e,f)}throw Error("Invalid arity: "+arguments.length);};c.e=b;c.j=
+a;return c}();function we(a,b,c){if(a?a.wc:a)return a.wc(a,b,c);var d;d=we[p(null==a?null:a)];if(!d&&(d=we._,!d))throw w("IKVReduce.-kv-reduce",a);return d.call(null,a,b,c)}function ye(a,b){if(a?a.H:a)return a.H(a,b);var c;c=ye[p(null==a?null:a)];if(!c&&(c=ye._,!c))throw w("IEquiv.-equiv",a);return c.call(null,a,b)}function ze(a){if(a?a.P:a)return a.P(a);var b;b=ze[p(null==a?null:a)];if(!b&&(b=ze._,!b))throw w("IHash.-hash",a);return b.call(null,a)}var Ae={};
+function Be(a){if(a?a.U:a)return a.U(a);var b;b=Be[p(null==a?null:a)];if(!b&&(b=Be._,!b))throw w("ISeqable.-seq",a);return b.call(null,a)}var Ce={},De={};function Ee(a){if(a?a.dc:a)return a.dc(a);var b;b=Ee[p(null==a?null:a)];if(!b&&(b=Ee._,!b))throw w("IReversible.-rseq",a);return b.call(null,a)}function Fe(a,b){if(a?a.ae:a)return a.ae(0,b);var c;c=Fe[p(null==a?null:a)];if(!c&&(c=Fe._,!c))throw w("IWriter.-write",a);return c.call(null,a,b)}var Ge={};
+function He(a,b,c){if(a?a.Q:a)return a.Q(a,b,c);var d;d=He[p(null==a?null:a)];if(!d&&(d=He._,!d))throw w("IPrintWithWriter.-pr-writer",a);return d.call(null,a,b,c)}function Ie(a,b,c){if(a?a.Zd:a)return a.Zd(0,b,c);var d;d=Ie[p(null==a?null:a)];if(!d&&(d=Ie._,!d))throw w("IWatchable.-notify-watches",a);return d.call(null,a,b,c)}function Je(a,b,c){if(a?a.Yd:a)return a.Yd(0,b,c);var d;d=Je[p(null==a?null:a)];if(!d&&(d=Je._,!d))throw w("IWatchable.-add-watch",a);return d.call(null,a,b,c)}
+function Ke(a,b){if(a?a.$d:a)return a.$d(0,b);var c;c=Ke[p(null==a?null:a)];if(!c&&(c=Ke._,!c))throw w("IWatchable.-remove-watch",a);return c.call(null,a,b)}function Le(a){if(a?a.cc:a)return a.cc(a);var b;b=Le[p(null==a?null:a)];if(!b&&(b=Le._,!b))throw w("IEditableCollection.-as-transient",a);return b.call(null,a)}function Me(a,b){if(a?a.Ob:a)return a.Ob(a,b);var c;c=Me[p(null==a?null:a)];if(!c&&(c=Me._,!c))throw w("ITransientCollection.-conj!",a);return c.call(null,a,b)}
+function Ne(a){if(a?a.Pb:a)return a.Pb(a);var b;b=Ne[p(null==a?null:a)];if(!b&&(b=Ne._,!b))throw w("ITransientCollection.-persistent!",a);return b.call(null,a)}function Oe(a,b,c){if(a?a.Bc:a)return a.Bc(a,b,c);var d;d=Oe[p(null==a?null:a)];if(!d&&(d=Oe._,!d))throw w("ITransientAssociative.-assoc!",a);return d.call(null,a,b,c)}function Pe(a,b,c){if(a?a.Xd:a)return a.Xd(0,b,c);var d;d=Pe[p(null==a?null:a)];if(!d&&(d=Pe._,!d))throw w("ITransientVector.-assoc-n!",a);return d.call(null,a,b,c)}
+function Re(a){if(a?a.Ud:a)return a.Ud();var b;b=Re[p(null==a?null:a)];if(!b&&(b=Re._,!b))throw w("IChunk.-drop-first",a);return b.call(null,a)}function Se(a){if(a?a.vd:a)return a.vd(a);var b;b=Se[p(null==a?null:a)];if(!b&&(b=Se._,!b))throw w("IChunkedSeq.-chunked-first",a);return b.call(null,a)}function B(a){if(a?a.wd:a)return a.wd(a);var b;b=B[p(null==a?null:a)];if(!b&&(b=B._,!b))throw w("IChunkedSeq.-chunked-rest",a);return b.call(null,a)}
+function Te(a){if(a?a.ud:a)return a.ud(a);var b;b=Te[p(null==a?null:a)];if(!b&&(b=Te._,!b))throw w("IChunkedNext.-chunked-next",a);return b.call(null,a)}var Ue={};function Ve(a,b){if(a?a.mf:a)return a.mf(a,b);var c;c=Ve[p(null==a?null:a)];if(!c&&(c=Ve._,!c))throw w("IReset.-reset!",a);return c.call(null,a,b)}
+var We=function(){function a(a,b,c,d,e){if(a?a.qf:a)return a.qf(a,b,c,d,e);var n;n=We[p(null==a?null:a)];if(!n&&(n=We._,!n))throw w("ISwap.-swap!",a);return n.call(null,a,b,c,d,e)}function b(a,b,c,d){if(a?a.pf:a)return a.pf(a,b,c,d);var e;e=We[p(null==a?null:a)];if(!e&&(e=We._,!e))throw w("ISwap.-swap!",a);return e.call(null,a,b,c,d)}function c(a,b,c){if(a?a.of:a)return a.of(a,b,c);var d;d=We[p(null==a?null:a)];if(!d&&(d=We._,!d))throw w("ISwap.-swap!",a);return d.call(null,a,b,c)}function d(a,b){if(a?
+a.nf:a)return a.nf(a,b);var c;c=We[p(null==a?null:a)];if(!c&&(c=We._,!c))throw w("ISwap.-swap!",a);return c.call(null,a,b)}var e=null,e=function(e,g,k,l,m){switch(arguments.length){case 2:return d.call(this,e,g);case 3:return c.call(this,e,g,k);case 4:return b.call(this,e,g,k,l);case 5:return a.call(this,e,g,k,l,m)}throw Error("Invalid arity: "+arguments.length);};e.e=d;e.j=c;e.C=b;e.O=a;return e}();
+function Xe(a){if(a?a.vc:a)return a.vc(a);var b;b=Xe[p(null==a?null:a)];if(!b&&(b=Xe._,!b))throw w("IIterable.-iterator",a);return b.call(null,a)}function Ye(a){this.jg=a;this.w=1073741824;this.I=0}Ye.prototype.ae=function(a,b){return this.jg.append(b)};function Ze(a){var b=new xd;a.Q(null,new Ye(b),zd());return""+z.h(b)}
+var $e="undefined"!==typeof Math.imul&&0!==(Math.imul.e?Math.imul.e(4294967295,5):Math.imul.call(null,4294967295,5))?function(a,b){return Math.imul.e?Math.imul.e(a,b):Math.imul.call(null,a,b)}:function(a,b){var c=a&65535,d=b&65535;return c*d+((a>>>16&65535)*d+c*(b>>>16&65535)<<16>>>0)|0};function af(a){a=$e(a,3432918353);return $e(a<<15|a>>>-15,461845907)}function bf(a,b){var c=a^b;return $e(c<<13|c>>>-13,5)+3864292196}
+function cf(a,b){var c=a^b,c=$e(c^c>>>16,2246822507),c=$e(c^c>>>13,3266489909);return c^c>>>16}var df={},ef=0;function ff(a){255<ef&&(df={},ef=0);var b=df[a];if("number"!==typeof b){a:if(null!=a)if(b=a.length,0<b){for(var c=0,d=0;;)if(c<b)var e=c+1,d=$e(31,d)+a.charCodeAt(c),c=e;else{b=d;break a}b=void 0}else b=0;else b=0;df[a]=b;ef+=1}return a=b}
+function gf(a){a&&(a.w&4194304||a.xd)?a=a.P(null):"number"===typeof a?a=(Math.floor.h?Math.floor.h(a):Math.floor.call(null,a))%2147483647:!0===a?a=1:!1===a?a=0:"string"===typeof a?(a=ff(a),0!==a&&(a=af(a),a=bf(0,a),a=cf(a,4))):a=null==a?0:ze(a);return a}
+function hf(a){var b;b=a.name;var c;a:{c=1;for(var d=0;;)if(c<b.length){var e=c+2,d=bf(d,af(b.charCodeAt(c-1)|b.charCodeAt(c)<<16));c=e}else{c=d;break a}c=void 0}c=1===(b.length&1)?c^af(b.charCodeAt(b.length-1)):c;b=cf(c,$e(2,b.length));a=ff(a.gb);return b^a+2654435769+(b<<6)+(b>>2)}
+function jf(a,b){if(t(C.e?C.e(a,b):C.call(null,a,b)))return 0;if(t(function(){var c=Gd(a.gb);return c?b.gb:c}()))return-1;if(t(a.gb)){if(Gd(b.gb))return 1;var c=function(){var c=a.gb,d=b.gb;return kf.e?kf.e(c,d):kf.call(null,c,d)}();if(0===c){var c=a.name,d=b.name;return kf.e?kf.e(c,d):kf.call(null,c,d)}return c}c=a.name;d=b.name;return kf.e?kf.e(c,d):kf.call(null,c,d)}function D(a,b,c,d,e){this.gb=a;this.name=b;this.Ea=c;this.Yb=d;this.Ba=e;this.w=2154168321;this.I=4096}h=D.prototype;
+h.toString=function(){return this.Ea};h.equiv=function(a){return this.H(null,a)};h.H=function(a,b){return b instanceof D?this.Ea===b.Ea:!1};h.call=function(){var a=null,a=function(a,c,d){switch(arguments.length){case 2:return be.j(c,this,null);case 3:return be.j(c,this,d)}throw Error("Invalid arity: "+arguments.length);};a.e=function(a,c){return be.j(c,this,null)};a.j=function(a,c,d){return be.j(c,this,d)};return a}();h.apply=function(a,b){return this.call.apply(this,[this].concat(Jd(b)))};
+h.h=function(a){return be.j(a,this,null)};h.e=function(a,b){return be.j(a,this,b)};h.M=function(){return this.Ba};h.N=function(a,b){return new D(this.gb,this.name,this.Ea,this.Yb,b)};h.P=function(){var a=this.Yb;return null!=a?a:this.Yb=a=hf(this)};h.Q=function(a,b){return Fe(b,this.Ea)};
+var lf=function(){function a(a,b){var c=null!=a?""+z.h(a)+"/"+z.h(b):b;return new D(a,b,c,null,null)}function b(a){return a instanceof D?a:c.e(null,a)}var c=null,c=function(c,e){switch(arguments.length){case 1:return b.call(this,c);case 2:return a.call(this,c,e)}throw Error("Invalid arity: "+arguments.length);};c.h=b;c.e=a;return c}();
+function F(a){if(null==a)return null;if(a&&(a.w&8388608||a.zg))return a.U(null);if(a instanceof Array||"string"===typeof a)return 0===a.length?null:new mf(a,0);if(u(Ae,a))return Be(a);throw Error(""+z.h(a)+" is not ISeqable");}function G(a){if(null==a)return null;if(a&&(a.w&64||a.Ac))return a.la(null);a=F(a);return null==a?null:Yd(a)}function H(a){return null!=a?a&&(a.w&64||a.Ac)?a.ra(null):(a=F(a))?Zd(a):I:I}function K(a){return null==a?null:a&&(a.w&128||a.Sc)?a.va(null):F(H(a))}
+var C=function(){function a(a,b){return null==a?null==b:a===b||ye(a,b)}var b=null,c=function(){function a(b,d,k){var l=null;2<arguments.length&&(l=L(Array.prototype.slice.call(arguments,2),0));return c.call(this,b,d,l)}function c(a,d,e){for(;;)if(b.e(a,d))if(K(e))a=d,d=G(e),e=K(e);else return b.e(d,G(e));else return!1}a.G=2;a.v=function(a){var b=G(a);a=K(a);var d=G(a);a=H(a);return c(b,d,a)};a.k=c;return a}(),b=function(b,e,f){switch(arguments.length){case 1:return!0;case 2:return a.call(this,b,e);
+default:return c.k(b,e,L(arguments,2))}throw Error("Invalid arity: "+arguments.length);};b.G=2;b.v=c.v;b.h=function(){return!0};b.e=a;b.k=c.k;return b}();function nf(a,b){var c=af(a),c=bf(0,c);return cf(c,b)}function of(a){var b=0,c=1;for(a=F(a);;)if(null!=a)b+=1,c=$e(31,c)+gf(G(a))|0,a=K(a);else return nf(c,b)}function pf(a){var b=0,c=0;for(a=F(a);;)if(null!=a)b+=1,c=c+gf(G(a))|0,a=K(a);else return nf(c,b)}Rd["null"]=!0;Sd["null"]=function(){return 0};Date.prototype.uc=!0;
+Date.prototype.H=function(a,b){return b instanceof Date&&this.toString()===b.toString()};ye.number=function(a,b){return a===b};Nd["function"]=!0;qe["function"]=!0;re["function"]=function(){return null};ze._=function(a){return a[ia]||(a[ia]=++ja)};function qf(a){return a+1}function rf(a){this.D=a;this.w=32768;this.I=0}rf.prototype.Nb=function(){return this.D};function sf(a){return a instanceof rf}function M(a){return pe(a)}
+var tf=function(){function a(a,b,c,d){for(var l=Sd(a);;)if(d<l){var m=A.e(a,d);c=b.e?b.e(c,m):b.call(null,c,m);if(sf(c))return pe(c);d+=1}else return c}function b(a,b,c){var d=Sd(a),l=c;for(c=0;;)if(c<d){var m=A.e(a,c),l=b.e?b.e(l,m):b.call(null,l,m);if(sf(l))return pe(l);c+=1}else return l}function c(a,b){var c=Sd(a);if(0===c)return b.B?b.B():b.call(null);for(var d=A.e(a,0),l=1;;)if(l<c){var m=A.e(a,l),d=b.e?b.e(d,m):b.call(null,d,m);if(sf(d))return pe(d);l+=1}else return d}var d=null,d=function(d,
+f,g,k){switch(arguments.length){case 2:return c.call(this,d,f);case 3:return b.call(this,d,f,g);case 4:return a.call(this,d,f,g,k)}throw Error("Invalid arity: "+arguments.length);};d.e=c;d.j=b;d.C=a;return d}(),uf=function(){function a(a,b,c,d){for(var l=a.length;;)if(d<l){var m=a[d];c=b.e?b.e(c,m):b.call(null,c,m);if(sf(c))return pe(c);d+=1}else return c}function b(a,b,c){var d=a.length,l=c;for(c=0;;)if(c<d){var m=a[c],l=b.e?b.e(l,m):b.call(null,l,m);if(sf(l))return pe(l);c+=1}else return l}function c(a,
+b){var c=a.length;if(0===a.length)return b.B?b.B():b.call(null);for(var d=a[0],l=1;;)if(l<c){var m=a[l],d=b.e?b.e(d,m):b.call(null,d,m);if(sf(d))return pe(d);l+=1}else return d}var d=null,d=function(d,f,g,k){switch(arguments.length){case 2:return c.call(this,d,f);case 3:return b.call(this,d,f,g);case 4:return a.call(this,d,f,g,k)}throw Error("Invalid arity: "+arguments.length);};d.e=c;d.j=b;d.C=a;return d}();function vf(a){return a?a.w&2||a.af?!0:a.w?!1:u(Rd,a):u(Rd,a)}
+function wf(a){return a?a.w&16||a.Vd?!0:a.w?!1:u(Wd,a):u(Wd,a)}function xf(a,b){this.l=a;this.i=b}xf.prototype.Zc=function(){return this.i<this.l.length};xf.prototype.next=function(){var a=this.l[this.i];this.i+=1;return a};function mf(a,b){this.l=a;this.i=b;this.w=166199550;this.I=8192}h=mf.prototype;h.toString=function(){return Ze(this)};h.equiv=function(a){return this.H(null,a)};h.L=function(a,b){var c=b+this.i;return c<this.l.length?this.l[c]:null};
+h.ya=function(a,b,c){a=b+this.i;return a<this.l.length?this.l[a]:c};h.vc=function(){return new xf(this.l,this.i)};h.ua=function(){return new mf(this.l,this.i)};h.va=function(){return this.i+1<this.l.length?new mf(this.l,this.i+1):null};h.ca=function(){return this.l.length-this.i};h.dc=function(){var a=Sd(this);return 0<a?new yf(this,a-1,null):null};h.P=function(){return of(this)};h.H=function(a,b){return zf.e?zf.e(this,b):zf.call(null,this,b)};h.da=function(){return I};
+h.ma=function(a,b){return uf.C(this.l,b,this.l[this.i],this.i+1)};h.na=function(a,b,c){return uf.C(this.l,b,c,this.i)};h.la=function(){return this.l[this.i]};h.ra=function(){return this.i+1<this.l.length?new mf(this.l,this.i+1):I};h.U=function(){return this};h.X=function(a,b){return N.e?N.e(b,this):N.call(null,b,this)};
+var Af=function(){function a(a,b){return b<a.length?new mf(a,b):null}function b(a){return c.e(a,0)}var c=null,c=function(c,e){switch(arguments.length){case 1:return b.call(this,c);case 2:return a.call(this,c,e)}throw Error("Invalid arity: "+arguments.length);};c.h=b;c.e=a;return c}(),L=function(){function a(a,b){return Af.e(a,b)}function b(a){return Af.e(a,0)}var c=null,c=function(c,e){switch(arguments.length){case 1:return b.call(this,c);case 2:return a.call(this,c,e)}throw Error("Invalid arity: "+
+arguments.length);};c.h=b;c.e=a;return c}();function yf(a,b,c){this.tc=a;this.i=b;this.meta=c;this.w=32374990;this.I=8192}h=yf.prototype;h.toString=function(){return Ze(this)};h.equiv=function(a){return this.H(null,a)};h.M=function(){return this.meta};h.ua=function(){return new yf(this.tc,this.i,this.meta)};h.va=function(){return 0<this.i?new yf(this.tc,this.i-1,null):null};h.ca=function(){return this.i+1};h.P=function(){return of(this)};
+h.H=function(a,b){return zf.e?zf.e(this,b):zf.call(null,this,b)};h.da=function(){var a=I,b=this.meta;return Bf.e?Bf.e(a,b):Bf.call(null,a,b)};h.ma=function(a,b){return Cf.e?Cf.e(b,this):Cf.call(null,b,this)};h.na=function(a,b,c){return Cf.j?Cf.j(b,c,this):Cf.call(null,b,c,this)};h.la=function(){return A.e(this.tc,this.i)};h.ra=function(){return 0<this.i?new yf(this.tc,this.i-1,null):I};h.U=function(){return this};h.N=function(a,b){return new yf(this.tc,this.i,b)};
+h.X=function(a,b){return N.e?N.e(b,this):N.call(null,b,this)};function Df(a){return G(K(a))}function Ef(a){for(;;){var b=K(a);if(null!=b)a=b;else return G(a)}}ye._=function(a,b){return a===b};
+var Gf=function(){function a(a,b){return null!=a?Vd(a,b):Vd(I,b)}var b=null,c=function(){function a(b,d,k){var l=null;2<arguments.length&&(l=L(Array.prototype.slice.call(arguments,2),0));return c.call(this,b,d,l)}function c(a,d,e){for(;;)if(t(e))a=b.e(a,d),d=G(e),e=K(e);else return b.e(a,d)}a.G=2;a.v=function(a){var b=G(a);a=K(a);var d=G(a);a=H(a);return c(b,d,a)};a.k=c;return a}(),b=function(b,e,f){switch(arguments.length){case 0:return Ff;case 1:return b;case 2:return a.call(this,b,e);default:return c.k(b,
+e,L(arguments,2))}throw Error("Invalid arity: "+arguments.length);};b.G=2;b.v=c.v;b.B=function(){return Ff};b.h=function(a){return a};b.e=a;b.k=c.k;return b}();function Hf(a){return null==a?null:Td(a)}function P(a){if(null!=a)if(a&&(a.w&2||a.af))a=a.ca(null);else if(a instanceof Array)a=a.length;else if("string"===typeof a)a=a.length;else if(u(Rd,a))a=Sd(a);else a:{a=F(a);for(var b=0;;){if(vf(a)){a=b+Sd(a);break a}a=K(a);b+=1}a=void 0}else a=0;return a}
+var If=function(){function a(a,b,c){for(;;){if(null==a)return c;if(0===b)return F(a)?G(a):c;if(wf(a))return A.j(a,b,c);if(F(a))a=K(a),b-=1;else return c}}function b(a,b){for(;;){if(null==a)throw Error("Index out of bounds");if(0===b){if(F(a))return G(a);throw Error("Index out of bounds");}if(wf(a))return A.e(a,b);if(F(a)){var c=K(a),g=b-1;a=c;b=g}else throw Error("Index out of bounds");}}var c=null,c=function(c,e,f){switch(arguments.length){case 2:return b.call(this,c,e);case 3:return a.call(this,
+c,e,f)}throw Error("Invalid arity: "+arguments.length);};c.e=b;c.j=a;return c}(),Q=function(){function a(a,b,c){if("number"!==typeof b)throw Error("index argument to nth must be a number.");if(null==a)return c;if(a&&(a.w&16||a.Vd))return a.ya(null,b,c);if(a instanceof Array||"string"===typeof a)return b<a.length?a[b]:c;if(u(Wd,a))return A.e(a,b);if(a?a.w&64||a.Ac||(a.w?0:u(Xd,a)):u(Xd,a))return If.j(a,b,c);throw Error("nth not supported on this type "+z.h(Id(Hd(a))));}function b(a,b){if("number"!==
+typeof b)throw Error("index argument to nth must be a number");if(null==a)return a;if(a&&(a.w&16||a.Vd))return a.L(null,b);if(a instanceof Array||"string"===typeof a)return b<a.length?a[b]:null;if(u(Wd,a))return A.e(a,b);if(a?a.w&64||a.Ac||(a.w?0:u(Xd,a)):u(Xd,a))return If.e(a,b);throw Error("nth not supported on this type "+z.h(Id(Hd(a))));}var c=null,c=function(c,e,f){switch(arguments.length){case 2:return b.call(this,c,e);case 3:return a.call(this,c,e,f)}throw Error("Invalid arity: "+arguments.length);
+};c.e=b;c.j=a;return c}(),S=function(){function a(a,b,c){return null!=a?a&&(a.w&256||a.Wd)?a.K(null,b,c):a instanceof Array?b<a.length?a[b]:c:"string"===typeof a?b<a.length?a[b]:c:u(ae,a)?be.j(a,b,c):c:c}function b(a,b){return null==a?null:a&&(a.w&256||a.Wd)?a.J(null,b):a instanceof Array?b<a.length?a[b]:null:"string"===typeof a?b<a.length?a[b]:null:u(ae,a)?be.e(a,b):null}var c=null,c=function(c,e,f){switch(arguments.length){case 2:return b.call(this,c,e);case 3:return a.call(this,c,e,f)}throw Error("Invalid arity: "+
+arguments.length);};c.e=b;c.j=a;return c}(),T=function(){function a(a,b,c){return null!=a?ee(a,b,c):Jf([b],[c])}var b=null,c=function(){function a(b,d,k,l){var m=null;3<arguments.length&&(m=L(Array.prototype.slice.call(arguments,3),0));return c.call(this,b,d,k,m)}function c(a,d,e,l){for(;;)if(a=b.j(a,d,e),t(l))d=G(l),e=Df(l),l=K(K(l));else return a}a.G=3;a.v=function(a){var b=G(a);a=K(a);var d=G(a);a=K(a);var l=G(a);a=H(a);return c(b,d,l,a)};a.k=c;return a}(),b=function(b,e,f,g){switch(arguments.length){case 3:return a.call(this,
+b,e,f);default:return c.k(b,e,f,L(arguments,3))}throw Error("Invalid arity: "+arguments.length);};b.G=3;b.v=c.v;b.j=a;b.k=c.k;return b}(),Kf=function(){function a(a,b){return null==a?null:ge(a,b)}var b=null,c=function(){function a(b,d,k){var l=null;2<arguments.length&&(l=L(Array.prototype.slice.call(arguments,2),0));return c.call(this,b,d,l)}function c(a,d,e){for(;;){if(null==a)return null;a=b.e(a,d);if(t(e))d=G(e),e=K(e);else return a}}a.G=2;a.v=function(a){var b=G(a);a=K(a);var d=G(a);a=H(a);return c(b,
+d,a)};a.k=c;return a}(),b=function(b,e,f){switch(arguments.length){case 1:return b;case 2:return a.call(this,b,e);default:return c.k(b,e,L(arguments,2))}throw Error("Invalid arity: "+arguments.length);};b.G=2;b.v=c.v;b.h=function(a){return a};b.e=a;b.k=c.k;return b}();function Lf(a){var b=ha(a);return t(b)?b:a?t(t(null)?null:a.Ze)?!0:a.Y?!1:u(Nd,a):u(Nd,a)}function Mf(a,b){this.o=a;this.meta=b;this.w=393217;this.I=0}h=Mf.prototype;h.M=function(){return this.meta};
+h.N=function(a,b){return new Mf(this.o,b)};h.Ze=!0;
+h.call=function(){function a(a,b,c,d,e,f,g,k,l,m,n,q,r,v,y,x,O,E,R,Y,ta,J){a=this.o;return U.Rc?U.Rc(a,b,c,d,e,f,g,k,l,m,n,q,r,v,y,x,O,E,R,Y,ta,J):U.call(null,a,b,c,d,e,f,g,k,l,m,n,q,r,v,y,x,O,E,R,Y,ta,J)}function b(a,b,c,d,e,f,g,k,l,m,n,q,r,v,y,x,O,E,R,Y,ta){a=this;return a.o.tb?a.o.tb(b,c,d,e,f,g,k,l,m,n,q,r,v,y,x,O,E,R,Y,ta):a.o.call(null,b,c,d,e,f,g,k,l,m,n,q,r,v,y,x,O,E,R,Y,ta)}function c(a,b,c,d,e,f,g,k,l,m,n,q,r,v,y,x,O,E,R,Y){a=this;return a.o.sb?a.o.sb(b,c,d,e,f,g,k,l,m,n,q,r,v,y,x,O,E,R,
+Y):a.o.call(null,b,c,d,e,f,g,k,l,m,n,q,r,v,y,x,O,E,R,Y)}function d(a,b,c,d,e,f,g,k,l,m,n,q,r,v,y,x,O,E,R){a=this;return a.o.rb?a.o.rb(b,c,d,e,f,g,k,l,m,n,q,r,v,y,x,O,E,R):a.o.call(null,b,c,d,e,f,g,k,l,m,n,q,r,v,y,x,O,E,R)}function e(a,b,c,d,e,f,g,k,l,m,n,q,r,v,y,x,O,E){a=this;return a.o.qb?a.o.qb(b,c,d,e,f,g,k,l,m,n,q,r,v,y,x,O,E):a.o.call(null,b,c,d,e,f,g,k,l,m,n,q,r,v,y,x,O,E)}function f(a,b,c,d,e,f,g,k,l,m,n,q,r,v,y,x,O){a=this;return a.o.pb?a.o.pb(b,c,d,e,f,g,k,l,m,n,q,r,v,y,x,O):a.o.call(null,
+b,c,d,e,f,g,k,l,m,n,q,r,v,y,x,O)}function g(a,b,c,d,e,f,g,k,l,m,n,q,r,v,y,x){a=this;return a.o.ob?a.o.ob(b,c,d,e,f,g,k,l,m,n,q,r,v,y,x):a.o.call(null,b,c,d,e,f,g,k,l,m,n,q,r,v,y,x)}function k(a,b,c,d,e,f,g,k,l,m,n,q,r,v,y){a=this;return a.o.nb?a.o.nb(b,c,d,e,f,g,k,l,m,n,q,r,v,y):a.o.call(null,b,c,d,e,f,g,k,l,m,n,q,r,v,y)}function l(a,b,c,d,e,f,g,k,l,m,n,q,r,v){a=this;return a.o.mb?a.o.mb(b,c,d,e,f,g,k,l,m,n,q,r,v):a.o.call(null,b,c,d,e,f,g,k,l,m,n,q,r,v)}function m(a,b,c,d,e,f,g,k,l,m,n,q,r){a=this;
+return a.o.lb?a.o.lb(b,c,d,e,f,g,k,l,m,n,q,r):a.o.call(null,b,c,d,e,f,g,k,l,m,n,q,r)}function n(a,b,c,d,e,f,g,k,l,m,n,q){a=this;return a.o.kb?a.o.kb(b,c,d,e,f,g,k,l,m,n,q):a.o.call(null,b,c,d,e,f,g,k,l,m,n,q)}function q(a,b,c,d,e,f,g,k,l,m,n){a=this;return a.o.jb?a.o.jb(b,c,d,e,f,g,k,l,m,n):a.o.call(null,b,c,d,e,f,g,k,l,m,n)}function r(a,b,c,d,e,f,g,k,l,m){a=this;return a.o.vb?a.o.vb(b,c,d,e,f,g,k,l,m):a.o.call(null,b,c,d,e,f,g,k,l,m)}function v(a,b,c,d,e,f,g,k,l){a=this;return a.o.ub?a.o.ub(b,c,
+d,e,f,g,k,l):a.o.call(null,b,c,d,e,f,g,k,l)}function y(a,b,c,d,e,f,g,k){a=this;return a.o.Ma?a.o.Ma(b,c,d,e,f,g,k):a.o.call(null,b,c,d,e,f,g,k)}function x(a,b,c,d,e,f,g){a=this;return a.o.xa?a.o.xa(b,c,d,e,f,g):a.o.call(null,b,c,d,e,f,g)}function O(a,b,c,d,e,f){a=this;return a.o.O?a.o.O(b,c,d,e,f):a.o.call(null,b,c,d,e,f)}function E(a,b,c,d,e){a=this;return a.o.C?a.o.C(b,c,d,e):a.o.call(null,b,c,d,e)}function R(a,b,c,d){a=this;return a.o.j?a.o.j(b,c,d):a.o.call(null,b,c,d)}function Y(a,b,c){a=this;
+return a.o.e?a.o.e(b,c):a.o.call(null,b,c)}function ta(a,b){a=this;return a.o.h?a.o.h(b):a.o.call(null,b)}function Ta(a){a=this;return a.o.B?a.o.B():a.o.call(null)}var J=null,J=function(J,da,va,Ga,Va,ab,lb,rb,mb,xb,Bb,Cb,Mb,Sc,ud,ce,Qe,Pf,ch,Ma,Tc,Qq){switch(arguments.length){case 1:return Ta.call(this,J);case 2:return ta.call(this,J,da);case 3:return Y.call(this,J,da,va);case 4:return R.call(this,J,da,va,Ga);case 5:return E.call(this,J,da,va,Ga,Va);case 6:return O.call(this,J,da,va,Ga,Va,ab);case 7:return x.call(this,
+J,da,va,Ga,Va,ab,lb);case 8:return y.call(this,J,da,va,Ga,Va,ab,lb,rb);case 9:return v.call(this,J,da,va,Ga,Va,ab,lb,rb,mb);case 10:return r.call(this,J,da,va,Ga,Va,ab,lb,rb,mb,xb);case 11:return q.call(this,J,da,va,Ga,Va,ab,lb,rb,mb,xb,Bb);case 12:return n.call(this,J,da,va,Ga,Va,ab,lb,rb,mb,xb,Bb,Cb);case 13:return m.call(this,J,da,va,Ga,Va,ab,lb,rb,mb,xb,Bb,Cb,Mb);case 14:return l.call(this,J,da,va,Ga,Va,ab,lb,rb,mb,xb,Bb,Cb,Mb,Sc);case 15:return k.call(this,J,da,va,Ga,Va,ab,lb,rb,mb,xb,Bb,Cb,
+Mb,Sc,ud);case 16:return g.call(this,J,da,va,Ga,Va,ab,lb,rb,mb,xb,Bb,Cb,Mb,Sc,ud,ce);case 17:return f.call(this,J,da,va,Ga,Va,ab,lb,rb,mb,xb,Bb,Cb,Mb,Sc,ud,ce,Qe);case 18:return e.call(this,J,da,va,Ga,Va,ab,lb,rb,mb,xb,Bb,Cb,Mb,Sc,ud,ce,Qe,Pf);case 19:return d.call(this,J,da,va,Ga,Va,ab,lb,rb,mb,xb,Bb,Cb,Mb,Sc,ud,ce,Qe,Pf,ch);case 20:return c.call(this,J,da,va,Ga,Va,ab,lb,rb,mb,xb,Bb,Cb,Mb,Sc,ud,ce,Qe,Pf,ch,Ma);case 21:return b.call(this,J,da,va,Ga,Va,ab,lb,rb,mb,xb,Bb,Cb,Mb,Sc,ud,ce,Qe,Pf,ch,Ma,
+Tc);case 22:return a.call(this,J,da,va,Ga,Va,ab,lb,rb,mb,xb,Bb,Cb,Mb,Sc,ud,ce,Qe,Pf,ch,Ma,Tc,Qq)}throw Error("Invalid arity: "+arguments.length);};J.h=Ta;J.e=ta;J.j=Y;J.C=R;J.O=E;J.xa=O;J.Ma=x;J.ub=y;J.vb=v;J.jb=r;J.kb=q;J.lb=n;J.mb=m;J.nb=l;J.ob=k;J.pb=g;J.qb=f;J.rb=e;J.sb=d;J.tb=c;J.ff=b;J.Rc=a;return J}();h.apply=function(a,b){return this.call.apply(this,[this].concat(Jd(b)))};h.B=function(){return this.o.B?this.o.B():this.o.call(null)};
+h.h=function(a){return this.o.h?this.o.h(a):this.o.call(null,a)};h.e=function(a,b){return this.o.e?this.o.e(a,b):this.o.call(null,a,b)};h.j=function(a,b,c){return this.o.j?this.o.j(a,b,c):this.o.call(null,a,b,c)};h.C=function(a,b,c,d){return this.o.C?this.o.C(a,b,c,d):this.o.call(null,a,b,c,d)};h.O=function(a,b,c,d,e){return this.o.O?this.o.O(a,b,c,d,e):this.o.call(null,a,b,c,d,e)};h.xa=function(a,b,c,d,e,f){return this.o.xa?this.o.xa(a,b,c,d,e,f):this.o.call(null,a,b,c,d,e,f)};
+h.Ma=function(a,b,c,d,e,f,g){return this.o.Ma?this.o.Ma(a,b,c,d,e,f,g):this.o.call(null,a,b,c,d,e,f,g)};h.ub=function(a,b,c,d,e,f,g,k){return this.o.ub?this.o.ub(a,b,c,d,e,f,g,k):this.o.call(null,a,b,c,d,e,f,g,k)};h.vb=function(a,b,c,d,e,f,g,k,l){return this.o.vb?this.o.vb(a,b,c,d,e,f,g,k,l):this.o.call(null,a,b,c,d,e,f,g,k,l)};h.jb=function(a,b,c,d,e,f,g,k,l,m){return this.o.jb?this.o.jb(a,b,c,d,e,f,g,k,l,m):this.o.call(null,a,b,c,d,e,f,g,k,l,m)};
+h.kb=function(a,b,c,d,e,f,g,k,l,m,n){return this.o.kb?this.o.kb(a,b,c,d,e,f,g,k,l,m,n):this.o.call(null,a,b,c,d,e,f,g,k,l,m,n)};h.lb=function(a,b,c,d,e,f,g,k,l,m,n,q){return this.o.lb?this.o.lb(a,b,c,d,e,f,g,k,l,m,n,q):this.o.call(null,a,b,c,d,e,f,g,k,l,m,n,q)};h.mb=function(a,b,c,d,e,f,g,k,l,m,n,q,r){return this.o.mb?this.o.mb(a,b,c,d,e,f,g,k,l,m,n,q,r):this.o.call(null,a,b,c,d,e,f,g,k,l,m,n,q,r)};
+h.nb=function(a,b,c,d,e,f,g,k,l,m,n,q,r,v){return this.o.nb?this.o.nb(a,b,c,d,e,f,g,k,l,m,n,q,r,v):this.o.call(null,a,b,c,d,e,f,g,k,l,m,n,q,r,v)};h.ob=function(a,b,c,d,e,f,g,k,l,m,n,q,r,v,y){return this.o.ob?this.o.ob(a,b,c,d,e,f,g,k,l,m,n,q,r,v,y):this.o.call(null,a,b,c,d,e,f,g,k,l,m,n,q,r,v,y)};h.pb=function(a,b,c,d,e,f,g,k,l,m,n,q,r,v,y,x){return this.o.pb?this.o.pb(a,b,c,d,e,f,g,k,l,m,n,q,r,v,y,x):this.o.call(null,a,b,c,d,e,f,g,k,l,m,n,q,r,v,y,x)};
+h.qb=function(a,b,c,d,e,f,g,k,l,m,n,q,r,v,y,x,O){return this.o.qb?this.o.qb(a,b,c,d,e,f,g,k,l,m,n,q,r,v,y,x,O):this.o.call(null,a,b,c,d,e,f,g,k,l,m,n,q,r,v,y,x,O)};h.rb=function(a,b,c,d,e,f,g,k,l,m,n,q,r,v,y,x,O,E){return this.o.rb?this.o.rb(a,b,c,d,e,f,g,k,l,m,n,q,r,v,y,x,O,E):this.o.call(null,a,b,c,d,e,f,g,k,l,m,n,q,r,v,y,x,O,E)};
+h.sb=function(a,b,c,d,e,f,g,k,l,m,n,q,r,v,y,x,O,E,R){return this.o.sb?this.o.sb(a,b,c,d,e,f,g,k,l,m,n,q,r,v,y,x,O,E,R):this.o.call(null,a,b,c,d,e,f,g,k,l,m,n,q,r,v,y,x,O,E,R)};h.tb=function(a,b,c,d,e,f,g,k,l,m,n,q,r,v,y,x,O,E,R,Y){return this.o.tb?this.o.tb(a,b,c,d,e,f,g,k,l,m,n,q,r,v,y,x,O,E,R,Y):this.o.call(null,a,b,c,d,e,f,g,k,l,m,n,q,r,v,y,x,O,E,R,Y)};
+h.ff=function(a,b,c,d,e,f,g,k,l,m,n,q,r,v,y,x,O,E,R,Y,ta){var Ta=this.o;return U.Rc?U.Rc(Ta,a,b,c,d,e,f,g,k,l,m,n,q,r,v,y,x,O,E,R,Y,ta):U.call(null,Ta,a,b,c,d,e,f,g,k,l,m,n,q,r,v,y,x,O,E,R,Y,ta)};function Bf(a,b){return Lf(a)&&!(a?a.w&262144||a.rf||(a.w?0:u(se,a)):u(se,a))?new Mf(a,b):null==a?null:te(a,b)}function Nf(a){var b=null!=a;return(b?a?a.w&131072||a.jf||(a.w?0:u(qe,a)):u(qe,a):b)?re(a):null}
+var Of=function(){function a(a,b){return null==a?null:le(a,b)}var b=null,c=function(){function a(b,d,k){var l=null;2<arguments.length&&(l=L(Array.prototype.slice.call(arguments,2),0));return c.call(this,b,d,l)}function c(a,d,e){for(;;){if(null==a)return null;a=b.e(a,d);if(t(e))d=G(e),e=K(e);else return a}}a.G=2;a.v=function(a){var b=G(a);a=K(a);var d=G(a);a=H(a);return c(b,d,a)};a.k=c;return a}(),b=function(b,e,f){switch(arguments.length){case 1:return b;case 2:return a.call(this,b,e);default:return c.k(b,
+e,L(arguments,2))}throw Error("Invalid arity: "+arguments.length);};b.G=2;b.v=c.v;b.h=function(a){return a};b.e=a;b.k=c.k;return b}();function Qf(a){return null==a||Gd(F(a))}function Rf(a){return null==a?!1:a?a.w&8||a.ug?!0:a.w?!1:u(Ud,a):u(Ud,a)}function Sf(a){return null==a?!1:a?a.w&4096||a.Bg?!0:a.w?!1:u(ke,a):u(ke,a)}function Tf(a){return a?a.w&16777216||a.Ag?!0:a.w?!1:u(Ce,a):u(Ce,a)}function Uf(a){return null==a?!1:a?a.w&1024||a.gf?!0:a.w?!1:u(fe,a):u(fe,a)}
+function Vf(a){return a?a.w&16384||a.Cg?!0:a.w?!1:u(ne,a):u(ne,a)}function Wf(a){return a?a.I&512||a.tg?!0:!1:!1}function Xf(a){var b=[];yb(a,function(a,b){return function(a,c){return b.push(c)}}(a,b));return b}function Yf(a,b,c,d,e){for(;0!==e;)c[d]=a[b],d+=1,e-=1,b+=1}function Zf(a,b,c,d,e){b+=e-1;for(d+=e-1;0!==e;)c[d]=a[b],d-=1,e-=1,b-=1}var $f={};function ag(a){return null==a?!1:a?a.w&64||a.Ac?!0:a.w?!1:u(Xd,a):u(Xd,a)}function bg(a){return t(a)?!0:!1}
+function cg(a){var b=Lf(a);return b?b:a?a.w&1||a.xg?!0:a.w?!1:u(Od,a):u(Od,a)}function dg(a,b){return S.j(a,b,$f)===$f?!1:!0}function kf(a,b){if(a===b)return 0;if(null==a)return-1;if(null==b)return 1;if(Hd(a)===Hd(b))return a&&(a.I&2048||a.Pc)?a.Qc(null,b):Qa(a,b);throw Error("compare on non-nil objects of different types");}
+var eg=function(){function a(a,b,c,g){for(;;){var k=kf(Q.e(a,g),Q.e(b,g));if(0===k&&g+1<c)g+=1;else return k}}function b(a,b){var f=P(a),g=P(b);return f<g?-1:f>g?1:c.C(a,b,f,0)}var c=null,c=function(c,e,f,g){switch(arguments.length){case 2:return b.call(this,c,e);case 4:return a.call(this,c,e,f,g)}throw Error("Invalid arity: "+arguments.length);};c.e=b;c.C=a;return c}();
+function fg(a){return C.e(a,kf)?kf:function(b,c){var d=a.e?a.e(b,c):a.call(null,b,c);return"number"===typeof d?d:t(d)?-1:t(a.e?a.e(c,b):a.call(null,c,b))?1:0}}
+var hg=function(){function a(a,b){if(F(b)){var c=gg.h?gg.h(b):gg.call(null,b),g=fg(a);Ra(c,g);return F(c)}return I}function b(a){return c.e(kf,a)}var c=null,c=function(c,e){switch(arguments.length){case 1:return b.call(this,c);case 2:return a.call(this,c,e)}throw Error("Invalid arity: "+arguments.length);};c.h=b;c.e=a;return c}(),ig=function(){function a(a,b,c){return hg.e(function(c,f){return fg(b).call(null,a.h?a.h(c):a.call(null,c),a.h?a.h(f):a.call(null,f))},c)}function b(a,b){return c.j(a,kf,
+b)}var c=null,c=function(c,e,f){switch(arguments.length){case 2:return b.call(this,c,e);case 3:return a.call(this,c,e,f)}throw Error("Invalid arity: "+arguments.length);};c.e=b;c.j=a;return c}(),Cf=function(){function a(a,b,c){for(c=F(c);;)if(c){var g=G(c);b=a.e?a.e(b,g):a.call(null,b,g);if(sf(b))return pe(b);c=K(c)}else return b}function b(a,b){var c=F(b);if(c){var g=G(c),c=K(c);return Ld.j?Ld.j(a,g,c):Ld.call(null,a,g,c)}return a.B?a.B():a.call(null)}var c=null,c=function(c,e,f){switch(arguments.length){case 2:return b.call(this,
+c,e);case 3:return a.call(this,c,e,f)}throw Error("Invalid arity: "+arguments.length);};c.e=b;c.j=a;return c}(),Ld=function(){function a(a,b,c){return c&&(c.w&524288||c.lf)?c.na(null,a,b):c instanceof Array?uf.j(c,a,b):"string"===typeof c?uf.j(c,a,b):u(ue,c)?ve.j(c,a,b):Cf.j(a,b,c)}function b(a,b){return b&&(b.w&524288||b.lf)?b.ma(null,a):b instanceof Array?uf.e(b,a):"string"===typeof b?uf.e(b,a):u(ue,b)?ve.e(b,a):Cf.e(a,b)}var c=null,c=function(c,e,f){switch(arguments.length){case 2:return b.call(this,
+c,e);case 3:return a.call(this,c,e,f)}throw Error("Invalid arity: "+arguments.length);};c.e=b;c.j=a;return c}();function jg(a,b){var c=["^ "];return null!=b?we(b,a,c):c}function kg(a){return a}
+var lg=function(){function a(a,b,c,g){a=a.h?a.h(b):a.call(null,b);c=Ld.j(a,c,g);return a.h?a.h(c):a.call(null,c)}function b(a,b,f){return c.C(a,b,b.B?b.B():b.call(null),f)}var c=null,c=function(c,e,f,g){switch(arguments.length){case 3:return b.call(this,c,e,f);case 4:return a.call(this,c,e,f,g)}throw Error("Invalid arity: "+arguments.length);};c.j=b;c.C=a;return c}();function mg(a){return a-1}
+function ng(a){a=(a-a%2)/2;return 0<=a?Math.floor.h?Math.floor.h(a):Math.floor.call(null,a):Math.ceil.h?Math.ceil.h(a):Math.ceil.call(null,a)}function og(a){a-=a>>1&1431655765;a=(a&858993459)+(a>>2&858993459);return 16843009*(a+(a>>4)&252645135)>>24}function pg(a){var b=1;for(a=F(a);;)if(a&&0<b)b-=1,a=K(a);else return a}
+var z=function(){function a(a){return null==a?"":""+a}var b=null,c=function(){function a(b,d){var k=null;1<arguments.length&&(k=L(Array.prototype.slice.call(arguments,1),0));return c.call(this,b,k)}function c(a,d){for(var e=new xd(b.h(a)),l=d;;)if(t(l))e=e.append(b.h(G(l))),l=K(l);else return e.toString()}a.G=1;a.v=function(a){var b=G(a);a=H(a);return c(b,a)};a.k=c;return a}(),b=function(b,e){switch(arguments.length){case 0:return"";case 1:return a.call(this,b);default:return c.k(b,L(arguments,1))}throw Error("Invalid arity: "+
+arguments.length);};b.G=1;b.v=c.v;b.B=function(){return""};b.h=a;b.k=c.k;return b}(),qg=function(){var a=null,a=function(a,c,d){switch(arguments.length){case 2:return a.substring(c);case 3:return a.substring(c,d)}throw Error("Invalid arity: "+arguments.length);};a.e=function(a,c){return a.substring(c)};a.j=function(a,c,d){return a.substring(c,d)};return a}();
+function zf(a,b){var c;if(Tf(b))if(vf(a)&&vf(b)&&P(a)!==P(b))c=!1;else a:{c=F(a);for(var d=F(b);;){if(null==c){c=null==d;break a}if(null!=d&&C.e(G(c),G(d)))c=K(c),d=K(d);else{c=!1;break a}}c=void 0}else c=null;return bg(c)}function rg(a,b,c,d,e){this.meta=a;this.first=b;this.$a=c;this.count=d;this.F=e;this.w=65937646;this.I=8192}h=rg.prototype;h.toString=function(){return Ze(this)};h.equiv=function(a){return this.H(null,a)};h.M=function(){return this.meta};
+h.ua=function(){return new rg(this.meta,this.first,this.$a,this.count,this.F)};h.va=function(){return 1===this.count?null:this.$a};h.ca=function(){return this.count};h.wb=function(){return this.first};h.P=function(){var a=this.F;return null!=a?a:this.F=a=of(this)};h.H=function(a,b){return zf(this,b)};h.da=function(){return I};h.ma=function(a,b){return Cf.e(b,this)};h.na=function(a,b,c){return Cf.j(b,c,this)};h.la=function(){return this.first};h.ra=function(){return 1===this.count?I:this.$a};h.U=function(){return this};
+h.N=function(a,b){return new rg(b,this.first,this.$a,this.count,this.F)};h.X=function(a,b){return new rg(this.meta,b,this,this.count+1,null)};function sg(a){this.meta=a;this.w=65937614;this.I=8192}h=sg.prototype;h.toString=function(){return Ze(this)};h.equiv=function(a){return this.H(null,a)};h.M=function(){return this.meta};h.ua=function(){return new sg(this.meta)};h.va=function(){return null};h.ca=function(){return 0};h.wb=function(){return null};h.P=function(){return 0};
+h.H=function(a,b){return zf(this,b)};h.da=function(){return this};h.ma=function(a,b){return Cf.e(b,this)};h.na=function(a,b,c){return Cf.j(b,c,this)};h.la=function(){return null};h.ra=function(){return I};h.U=function(){return null};h.N=function(a,b){return new sg(b)};h.X=function(a,b){return new rg(this.meta,b,null,1,null)};var I=new sg(null);function tg(a){return(a?a.w&134217728||a.yg||(a.w?0:u(De,a)):u(De,a))?Ee(a):Ld.j(Gf,I,a)}
+var ug=function(){function a(a){var d=null;0<arguments.length&&(d=L(Array.prototype.slice.call(arguments,0),0));return b.call(this,d)}function b(a){var b;if(a instanceof mf&&0===a.i)b=a.l;else a:{for(b=[];;)if(null!=a)b.push(a.la(null)),a=a.va(null);else break a;b=void 0}a=b.length;for(var e=I;;)if(0<a){var f=a-1,e=e.X(null,b[a-1]);a=f}else return e}a.G=0;a.v=function(a){a=F(a);return b(a)};a.k=b;return a}();
+function vg(a,b,c,d){this.meta=a;this.first=b;this.$a=c;this.F=d;this.w=65929452;this.I=8192}h=vg.prototype;h.toString=function(){return Ze(this)};h.equiv=function(a){return this.H(null,a)};h.M=function(){return this.meta};h.ua=function(){return new vg(this.meta,this.first,this.$a,this.F)};h.va=function(){return null==this.$a?null:F(this.$a)};h.P=function(){var a=this.F;return null!=a?a:this.F=a=of(this)};h.H=function(a,b){return zf(this,b)};h.da=function(){return Bf(I,this.meta)};
+h.ma=function(a,b){return Cf.e(b,this)};h.na=function(a,b,c){return Cf.j(b,c,this)};h.la=function(){return this.first};h.ra=function(){return null==this.$a?I:this.$a};h.U=function(){return this};h.N=function(a,b){return new vg(b,this.first,this.$a,this.F)};h.X=function(a,b){return new vg(null,b,this,this.F)};function N(a,b){var c=null==b;return(c?c:b&&(b.w&64||b.Ac))?new vg(null,a,b,null):new vg(null,a,F(b),null)}
+function V(a,b,c,d){this.gb=a;this.name=b;this.Qa=c;this.Yb=d;this.w=2153775105;this.I=4096}h=V.prototype;h.toString=function(){return":"+z.h(this.Qa)};h.equiv=function(a){return this.H(null,a)};h.H=function(a,b){return b instanceof V?this.Qa===b.Qa:!1};
+h.call=function(){var a=null,a=function(a,c,d){switch(arguments.length){case 2:return S.e(c,this);case 3:return S.j(c,this,d)}throw Error("Invalid arity: "+arguments.length);};a.e=function(a,c){return S.e(c,this)};a.j=function(a,c,d){return S.j(c,this,d)};return a}();h.apply=function(a,b){return this.call.apply(this,[this].concat(Jd(b)))};h.h=function(a){return S.e(a,this)};h.e=function(a,b){return S.j(a,this,b)};h.P=function(){var a=this.Yb;return null!=a?a:this.Yb=a=hf(this)+2654435769|0};
+h.Q=function(a,b){return Fe(b,":"+z.h(this.Qa))};function wg(a,b){return a===b?!0:a instanceof V&&b instanceof V?a.Qa===b.Qa:!1}
+var yg=function(){function a(a,b){return new V(a,b,""+z.h(t(a)?""+z.h(a)+"/":null)+z.h(b),null)}function b(a){if(a instanceof V)return a;if(a instanceof D){var b;if(a&&(a.I&4096||a.kf))b=a.gb;else throw Error("Doesn't support namespace: "+z.h(a));return new V(b,xg.h?xg.h(a):xg.call(null,a),a.Ea,null)}return"string"===typeof a?(b=a.split("/"),2===b.length?new V(b[0],b[1],a,null):new V(null,b[0],a,null)):null}var c=null,c=function(c,e){switch(arguments.length){case 1:return b.call(this,c);case 2:return a.call(this,
+c,e)}throw Error("Invalid arity: "+arguments.length);};c.h=b;c.e=a;return c}();function zg(a,b,c,d){this.meta=a;this.ic=b;this.s=c;this.F=d;this.w=32374988;this.I=0}h=zg.prototype;h.toString=function(){return Ze(this)};h.equiv=function(a){return this.H(null,a)};function Ag(a){null!=a.ic&&(a.s=a.ic.B?a.ic.B():a.ic.call(null),a.ic=null);return a.s}h.M=function(){return this.meta};h.va=function(){Be(this);return null==this.s?null:K(this.s)};h.P=function(){var a=this.F;return null!=a?a:this.F=a=of(this)};
+h.H=function(a,b){return zf(this,b)};h.da=function(){return Bf(I,this.meta)};h.ma=function(a,b){return Cf.e(b,this)};h.na=function(a,b,c){return Cf.j(b,c,this)};h.la=function(){Be(this);return null==this.s?null:G(this.s)};h.ra=function(){Be(this);return null!=this.s?H(this.s):I};h.U=function(){Ag(this);if(null==this.s)return null;for(var a=this.s;;)if(a instanceof zg)a=Ag(a);else return this.s=a,F(this.s)};h.N=function(a,b){return new zg(b,this.ic,this.s,this.F)};h.X=function(a,b){return N(b,this)};
+function Bg(a,b){this.ba=a;this.end=b;this.w=2;this.I=0}Bg.prototype.add=function(a){this.ba[this.end]=a;return this.end+=1};Bg.prototype.qa=function(){var a=new Cg(this.ba,0,this.end);this.ba=null;return a};Bg.prototype.ca=function(){return this.end};function Dg(a){return new Bg(Array(a),0)}function Cg(a,b,c){this.l=a;this.ta=b;this.end=c;this.w=524306;this.I=0}h=Cg.prototype;h.ca=function(){return this.end-this.ta};h.L=function(a,b){return this.l[this.ta+b]};
+h.ya=function(a,b,c){return 0<=b&&b<this.end-this.ta?this.l[this.ta+b]:c};h.Ud=function(){if(this.ta===this.end)throw Error("-drop-first of empty chunk");return new Cg(this.l,this.ta+1,this.end)};h.ma=function(a,b){return uf.C(this.l,b,this.l[this.ta],this.ta+1)};h.na=function(a,b,c){return uf.C(this.l,b,c,this.ta)};
+var Eg=function(){function a(a,b,c){return new Cg(a,b,c)}function b(a,b){return new Cg(a,b,a.length)}function c(a){return new Cg(a,0,a.length)}var d=null,d=function(d,f,g){switch(arguments.length){case 1:return c.call(this,d);case 2:return b.call(this,d,f);case 3:return a.call(this,d,f,g)}throw Error("Invalid arity: "+arguments.length);};d.h=c;d.e=b;d.j=a;return d}();function Fg(a,b,c,d){this.qa=a;this.fb=b;this.meta=c;this.F=d;this.w=31850732;this.I=1536}h=Fg.prototype;h.toString=function(){return Ze(this)};
+h.equiv=function(a){return this.H(null,a)};h.M=function(){return this.meta};h.va=function(){if(1<Sd(this.qa))return new Fg(Re(this.qa),this.fb,this.meta,null);var a=Be(this.fb);return null==a?null:a};h.P=function(){var a=this.F;return null!=a?a:this.F=a=of(this)};h.H=function(a,b){return zf(this,b)};h.da=function(){return Bf(I,this.meta)};h.la=function(){return A.e(this.qa,0)};h.ra=function(){return 1<Sd(this.qa)?new Fg(Re(this.qa),this.fb,this.meta,null):null==this.fb?I:this.fb};h.U=function(){return this};
+h.vd=function(){return this.qa};h.wd=function(){return null==this.fb?I:this.fb};h.N=function(a,b){return new Fg(this.qa,this.fb,b,this.F)};h.X=function(a,b){return N(b,this)};h.ud=function(){return null==this.fb?null:this.fb};function Gg(a,b){return 0===Sd(a)?b:new Fg(a,b,null,null)}function Hg(a,b){a.add(b)}function gg(a){for(var b=[];;)if(F(a))b.push(G(a)),a=K(a);else return b}function Ig(a,b){if(vf(a))return P(a);for(var c=a,d=b,e=0;;)if(0<d&&F(c))c=K(c),d-=1,e+=1;else return e}
+var Kg=function Jg(b){return null==b?null:null==K(b)?F(G(b)):N(G(b),Jg(K(b)))},Lg=function(){function a(a,b){return new zg(null,function(){var c=F(a);return c?Wf(c)?Gg(Se(c),d.e(B(c),b)):N(G(c),d.e(H(c),b)):b},null,null)}function b(a){return new zg(null,function(){return a},null,null)}function c(){return new zg(null,function(){return null},null,null)}var d=null,e=function(){function a(c,d,e){var f=null;2<arguments.length&&(f=L(Array.prototype.slice.call(arguments,2),0));return b.call(this,c,d,f)}
+function b(a,c,e){return function q(a,b){return new zg(null,function(){var c=F(a);return c?Wf(c)?Gg(Se(c),q(B(c),b)):N(G(c),q(H(c),b)):t(b)?q(G(b),K(b)):null},null,null)}(d.e(a,c),e)}a.G=2;a.v=function(a){var c=G(a);a=K(a);var d=G(a);a=H(a);return b(c,d,a)};a.k=b;return a}(),d=function(d,g,k){switch(arguments.length){case 0:return c.call(this);case 1:return b.call(this,d);case 2:return a.call(this,d,g);default:return e.k(d,g,L(arguments,2))}throw Error("Invalid arity: "+arguments.length);};d.G=2;
+d.v=e.v;d.B=c;d.h=b;d.e=a;d.k=e.k;return d}(),Mg=function(){function a(a,b,c,d){return N(a,N(b,N(c,d)))}function b(a,b,c){return N(a,N(b,c))}var c=null,d=function(){function a(c,d,e,m,n){var q=null;4<arguments.length&&(q=L(Array.prototype.slice.call(arguments,4),0));return b.call(this,c,d,e,m,q)}function b(a,c,d,e,f){return N(a,N(c,N(d,N(e,Kg(f)))))}a.G=4;a.v=function(a){var c=G(a);a=K(a);var d=G(a);a=K(a);var e=G(a);a=K(a);var n=G(a);a=H(a);return b(c,d,e,n,a)};a.k=b;return a}(),c=function(c,f,g,
+k,l){switch(arguments.length){case 1:return F(c);case 2:return N(c,f);case 3:return b.call(this,c,f,g);case 4:return a.call(this,c,f,g,k);default:return d.k(c,f,g,k,L(arguments,4))}throw Error("Invalid arity: "+arguments.length);};c.G=4;c.v=d.v;c.h=function(a){return F(a)};c.e=function(a,b){return N(a,b)};c.j=b;c.C=a;c.k=d.k;return c}();function Ng(a){return Ne(a)}
+var Og=function(){function a(){return Le(Ff)}var b=null,c=function(){function a(c,d,k){var l=null;2<arguments.length&&(l=L(Array.prototype.slice.call(arguments,2),0));return b.call(this,c,d,l)}function b(a,c,d){for(;;)if(a=Me(a,c),t(d))c=G(d),d=K(d);else return a}a.G=2;a.v=function(a){var c=G(a);a=K(a);var d=G(a);a=H(a);return b(c,d,a)};a.k=b;return a}(),b=function(b,e,f){switch(arguments.length){case 0:return a.call(this);case 1:return b;case 2:return Me(b,e);default:return c.k(b,e,L(arguments,2))}throw Error("Invalid arity: "+
+arguments.length);};b.G=2;b.v=c.v;b.B=a;b.h=function(a){return a};b.e=function(a,b){return Me(a,b)};b.k=c.k;return b}(),Pg=function(){var a=null,b=function(){function a(c,f,g,k){var l=null;3<arguments.length&&(l=L(Array.prototype.slice.call(arguments,3),0));return b.call(this,c,f,g,l)}function b(a,c,d,k){for(;;)if(a=Oe(a,c,d),t(k))c=G(k),d=Df(k),k=K(K(k));else return a}a.G=3;a.v=function(a){var c=G(a);a=K(a);var g=G(a);a=K(a);var k=G(a);a=H(a);return b(c,g,k,a)};a.k=b;return a}(),a=function(a,d,e,
+f){switch(arguments.length){case 3:return Oe(a,d,e);default:return b.k(a,d,e,L(arguments,3))}throw Error("Invalid arity: "+arguments.length);};a.G=3;a.v=b.v;a.j=function(a,b,e){return Oe(a,b,e)};a.k=b.k;return a}();
+function Qg(a,b,c){var d=F(c);if(0===b)return a.B?a.B():a.call(null);c=Yd(d);var e=Zd(d);if(1===b)return a.h?a.h(c):a.h?a.h(c):a.call(null,c);var d=Yd(e),f=Zd(e);if(2===b)return a.e?a.e(c,d):a.e?a.e(c,d):a.call(null,c,d);var e=Yd(f),g=Zd(f);if(3===b)return a.j?a.j(c,d,e):a.j?a.j(c,d,e):a.call(null,c,d,e);var f=Yd(g),k=Zd(g);if(4===b)return a.C?a.C(c,d,e,f):a.C?a.C(c,d,e,f):a.call(null,c,d,e,f);var g=Yd(k),l=Zd(k);if(5===b)return a.O?a.O(c,d,e,f,g):a.O?a.O(c,d,e,f,g):a.call(null,c,d,e,f,g);var k=Yd(l),
+m=Zd(l);if(6===b)return a.xa?a.xa(c,d,e,f,g,k):a.xa?a.xa(c,d,e,f,g,k):a.call(null,c,d,e,f,g,k);var l=Yd(m),n=Zd(m);if(7===b)return a.Ma?a.Ma(c,d,e,f,g,k,l):a.Ma?a.Ma(c,d,e,f,g,k,l):a.call(null,c,d,e,f,g,k,l);var m=Yd(n),q=Zd(n);if(8===b)return a.ub?a.ub(c,d,e,f,g,k,l,m):a.ub?a.ub(c,d,e,f,g,k,l,m):a.call(null,c,d,e,f,g,k,l,m);var n=Yd(q),r=Zd(q);if(9===b)return a.vb?a.vb(c,d,e,f,g,k,l,m,n):a.vb?a.vb(c,d,e,f,g,k,l,m,n):a.call(null,c,d,e,f,g,k,l,m,n);var q=Yd(r),v=Zd(r);if(10===b)return a.jb?a.jb(c,
+d,e,f,g,k,l,m,n,q):a.jb?a.jb(c,d,e,f,g,k,l,m,n,q):a.call(null,c,d,e,f,g,k,l,m,n,q);var r=Yd(v),y=Zd(v);if(11===b)return a.kb?a.kb(c,d,e,f,g,k,l,m,n,q,r):a.kb?a.kb(c,d,e,f,g,k,l,m,n,q,r):a.call(null,c,d,e,f,g,k,l,m,n,q,r);var v=Yd(y),x=Zd(y);if(12===b)return a.lb?a.lb(c,d,e,f,g,k,l,m,n,q,r,v):a.lb?a.lb(c,d,e,f,g,k,l,m,n,q,r,v):a.call(null,c,d,e,f,g,k,l,m,n,q,r,v);var y=Yd(x),O=Zd(x);if(13===b)return a.mb?a.mb(c,d,e,f,g,k,l,m,n,q,r,v,y):a.mb?a.mb(c,d,e,f,g,k,l,m,n,q,r,v,y):a.call(null,c,d,e,f,g,k,l,
+m,n,q,r,v,y);var x=Yd(O),E=Zd(O);if(14===b)return a.nb?a.nb(c,d,e,f,g,k,l,m,n,q,r,v,y,x):a.nb?a.nb(c,d,e,f,g,k,l,m,n,q,r,v,y,x):a.call(null,c,d,e,f,g,k,l,m,n,q,r,v,y,x);var O=Yd(E),R=Zd(E);if(15===b)return a.ob?a.ob(c,d,e,f,g,k,l,m,n,q,r,v,y,x,O):a.ob?a.ob(c,d,e,f,g,k,l,m,n,q,r,v,y,x,O):a.call(null,c,d,e,f,g,k,l,m,n,q,r,v,y,x,O);var E=Yd(R),Y=Zd(R);if(16===b)return a.pb?a.pb(c,d,e,f,g,k,l,m,n,q,r,v,y,x,O,E):a.pb?a.pb(c,d,e,f,g,k,l,m,n,q,r,v,y,x,O,E):a.call(null,c,d,e,f,g,k,l,m,n,q,r,v,y,x,O,E);var R=
+Yd(Y),ta=Zd(Y);if(17===b)return a.qb?a.qb(c,d,e,f,g,k,l,m,n,q,r,v,y,x,O,E,R):a.qb?a.qb(c,d,e,f,g,k,l,m,n,q,r,v,y,x,O,E,R):a.call(null,c,d,e,f,g,k,l,m,n,q,r,v,y,x,O,E,R);var Y=Yd(ta),Ta=Zd(ta);if(18===b)return a.rb?a.rb(c,d,e,f,g,k,l,m,n,q,r,v,y,x,O,E,R,Y):a.rb?a.rb(c,d,e,f,g,k,l,m,n,q,r,v,y,x,O,E,R,Y):a.call(null,c,d,e,f,g,k,l,m,n,q,r,v,y,x,O,E,R,Y);ta=Yd(Ta);Ta=Zd(Ta);if(19===b)return a.sb?a.sb(c,d,e,f,g,k,l,m,n,q,r,v,y,x,O,E,R,Y,ta):a.sb?a.sb(c,d,e,f,g,k,l,m,n,q,r,v,y,x,O,E,R,Y,ta):a.call(null,
+c,d,e,f,g,k,l,m,n,q,r,v,y,x,O,E,R,Y,ta);var J=Yd(Ta);Zd(Ta);if(20===b)return a.tb?a.tb(c,d,e,f,g,k,l,m,n,q,r,v,y,x,O,E,R,Y,ta,J):a.tb?a.tb(c,d,e,f,g,k,l,m,n,q,r,v,y,x,O,E,R,Y,ta,J):a.call(null,c,d,e,f,g,k,l,m,n,q,r,v,y,x,O,E,R,Y,ta,J);throw Error("Only up to 20 arguments supported on functions");}
+var U=function(){function a(a,b,c,d,e){b=Mg.C(b,c,d,e);c=a.G;return a.v?(d=Ig(b,c+1),d<=c?Qg(a,d,b):a.v(b)):a.apply(a,gg(b))}function b(a,b,c,d){b=Mg.j(b,c,d);c=a.G;return a.v?(d=Ig(b,c+1),d<=c?Qg(a,d,b):a.v(b)):a.apply(a,gg(b))}function c(a,b,c){b=Mg.e(b,c);c=a.G;if(a.v){var d=Ig(b,c+1);return d<=c?Qg(a,d,b):a.v(b)}return a.apply(a,gg(b))}function d(a,b){var c=a.G;if(a.v){var d=Ig(b,c+1);return d<=c?Qg(a,d,b):a.v(b)}return a.apply(a,gg(b))}var e=null,f=function(){function a(c,d,e,f,g,v){var y=null;
+5<arguments.length&&(y=L(Array.prototype.slice.call(arguments,5),0));return b.call(this,c,d,e,f,g,y)}function b(a,c,d,e,f,g){c=N(c,N(d,N(e,N(f,Kg(g)))));d=a.G;return a.v?(e=Ig(c,d+1),e<=d?Qg(a,e,c):a.v(c)):a.apply(a,gg(c))}a.G=5;a.v=function(a){var c=G(a);a=K(a);var d=G(a);a=K(a);var e=G(a);a=K(a);var f=G(a);a=K(a);var g=G(a);a=H(a);return b(c,d,e,f,g,a)};a.k=b;return a}(),e=function(e,k,l,m,n,q){switch(arguments.length){case 2:return d.call(this,e,k);case 3:return c.call(this,e,k,l);case 4:return b.call(this,
+e,k,l,m);case 5:return a.call(this,e,k,l,m,n);default:return f.k(e,k,l,m,n,L(arguments,5))}throw Error("Invalid arity: "+arguments.length);};e.G=5;e.v=f.v;e.e=d;e.j=c;e.C=b;e.O=a;e.k=f.k;return e}(),Rg=function(){function a(a,b){return!C.e(a,b)}var b=null,c=function(){function a(c,d,k){var l=null;2<arguments.length&&(l=L(Array.prototype.slice.call(arguments,2),0));return b.call(this,c,d,l)}function b(a,c,d){return Gd(U.C(C,a,c,d))}a.G=2;a.v=function(a){var c=G(a);a=K(a);var d=G(a);a=H(a);return b(c,
+d,a)};a.k=b;return a}(),b=function(b,e,f){switch(arguments.length){case 1:return!1;case 2:return a.call(this,b,e);default:return c.k(b,e,L(arguments,2))}throw Error("Invalid arity: "+arguments.length);};b.G=2;b.v=c.v;b.h=function(){return!1};b.e=a;b.k=c.k;return b}();function Sg(a,b){for(;;){if(null==F(b))return!0;var c;c=G(b);c=a.h?a.h(c):a.call(null,c);if(t(c)){c=a;var d=K(b);a=c;b=d}else return!1}}
+function Tg(a,b){for(;;)if(F(b)){var c;c=G(b);c=a.h?a.h(c):a.call(null,c);if(t(c))return c;c=a;var d=K(b);a=c;b=d}else return null}function Ug(a){return function(){function b(b){0<arguments.length&&L(Array.prototype.slice.call(arguments,0),0);return a}b.G=0;b.v=function(b){F(b);return a};b.k=function(){return a};return b}()}
+var Vg=function(){function a(a,b,c){return function(){function d(k,l,m){k=c.j?c.j(k,l,m):c.call(null,k,l,m);k=b.h?b.h(k):b.call(null,k);return a.h?a.h(k):a.call(null,k)}function l(d,k){var l;l=c.e?c.e(d,k):c.call(null,d,k);l=b.h?b.h(l):b.call(null,l);return a.h?a.h(l):a.call(null,l)}function m(d){d=c.h?c.h(d):c.call(null,d);d=b.h?b.h(d):b.call(null,d);return a.h?a.h(d):a.call(null,d)}function n(){var d;d=c.B?c.B():c.call(null);d=b.h?b.h(d):b.call(null,d);return a.h?a.h(d):a.call(null,d)}var q=null,
+r=function(){function d(a,b,c,e){var f=null;3<arguments.length&&(f=L(Array.prototype.slice.call(arguments,3),0));return k.call(this,a,b,c,f)}function k(d,l,m,n){d=U.O(c,d,l,m,n);d=b.h?b.h(d):b.call(null,d);return a.h?a.h(d):a.call(null,d)}d.G=3;d.v=function(a){var b=G(a);a=K(a);var c=G(a);a=K(a);var d=G(a);a=H(a);return k(b,c,d,a)};d.k=k;return d}(),q=function(a,b,c,e){switch(arguments.length){case 0:return n.call(this);case 1:return m.call(this,a);case 2:return l.call(this,a,b);case 3:return d.call(this,
+a,b,c);default:return r.k(a,b,c,L(arguments,3))}throw Error("Invalid arity: "+arguments.length);};q.G=3;q.v=r.v;q.B=n;q.h=m;q.e=l;q.j=d;q.k=r.k;return q}()}function b(a,b){return function(){function c(d,g,k){d=b.j?b.j(d,g,k):b.call(null,d,g,k);return a.h?a.h(d):a.call(null,d)}function d(c,g){var k=b.e?b.e(c,g):b.call(null,c,g);return a.h?a.h(k):a.call(null,k)}function l(c){c=b.h?b.h(c):b.call(null,c);return a.h?a.h(c):a.call(null,c)}function m(){var c=b.B?b.B():b.call(null);return a.h?a.h(c):a.call(null,
+c)}var n=null,q=function(){function c(a,b,e,f){var g=null;3<arguments.length&&(g=L(Array.prototype.slice.call(arguments,3),0));return d.call(this,a,b,e,g)}function d(c,g,k,l){c=U.O(b,c,g,k,l);return a.h?a.h(c):a.call(null,c)}c.G=3;c.v=function(a){var b=G(a);a=K(a);var c=G(a);a=K(a);var e=G(a);a=H(a);return d(b,c,e,a)};c.k=d;return c}(),n=function(a,b,e,f){switch(arguments.length){case 0:return m.call(this);case 1:return l.call(this,a);case 2:return d.call(this,a,b);case 3:return c.call(this,a,b,e);
+default:return q.k(a,b,e,L(arguments,3))}throw Error("Invalid arity: "+arguments.length);};n.G=3;n.v=q.v;n.B=m;n.h=l;n.e=d;n.j=c;n.k=q.k;return n}()}var c=null,d=function(){function a(c,d,e,m){var n=null;3<arguments.length&&(n=L(Array.prototype.slice.call(arguments,3),0));return b.call(this,c,d,e,n)}function b(a,c,d,e){return function(a){return function(){function b(a){var d=null;0<arguments.length&&(d=L(Array.prototype.slice.call(arguments,0),0));return c.call(this,d)}function c(b){b=U.e(G(a),b);
+for(var d=K(a);;)if(d)b=G(d).call(null,b),d=K(d);else return b}b.G=0;b.v=function(a){a=F(a);return c(a)};b.k=c;return b}()}(tg(Mg.C(a,c,d,e)))}a.G=3;a.v=function(a){var c=G(a);a=K(a);var d=G(a);a=K(a);var e=G(a);a=H(a);return b(c,d,e,a)};a.k=b;return a}(),c=function(c,f,g,k){switch(arguments.length){case 0:return kg;case 1:return c;case 2:return b.call(this,c,f);case 3:return a.call(this,c,f,g);default:return d.k(c,f,g,L(arguments,3))}throw Error("Invalid arity: "+arguments.length);};c.G=3;c.v=d.v;
+c.B=function(){return kg};c.h=function(a){return a};c.e=b;c.j=a;c.k=d.k;return c}(),Wg=function(){function a(a,b,c,d){return function(){function e(a){var b=null;0<arguments.length&&(b=L(Array.prototype.slice.call(arguments,0),0));return n.call(this,b)}function n(e){return U.O(a,b,c,d,e)}e.G=0;e.v=function(a){a=F(a);return n(a)};e.k=n;return e}()}function b(a,b,c){return function(){function d(a){var b=null;0<arguments.length&&(b=L(Array.prototype.slice.call(arguments,0),0));return e.call(this,b)}function e(d){return U.C(a,
+b,c,d)}d.G=0;d.v=function(a){a=F(a);return e(a)};d.k=e;return d}()}function c(a,b){return function(){function c(a){var b=null;0<arguments.length&&(b=L(Array.prototype.slice.call(arguments,0),0));return d.call(this,b)}function d(c){return U.j(a,b,c)}c.G=0;c.v=function(a){a=F(a);return d(a)};c.k=d;return c}()}var d=null,e=function(){function a(c,d,e,f,q){var r=null;4<arguments.length&&(r=L(Array.prototype.slice.call(arguments,4),0));return b.call(this,c,d,e,f,r)}function b(a,c,d,e,f){return function(){function b(a){var c=
+null;0<arguments.length&&(c=L(Array.prototype.slice.call(arguments,0),0));return g.call(this,c)}function g(b){return U.O(a,c,d,e,Lg.e(f,b))}b.G=0;b.v=function(a){a=F(a);return g(a)};b.k=g;return b}()}a.G=4;a.v=function(a){var c=G(a);a=K(a);var d=G(a);a=K(a);var e=G(a);a=K(a);var f=G(a);a=H(a);return b(c,d,e,f,a)};a.k=b;return a}(),d=function(d,g,k,l,m){switch(arguments.length){case 1:return d;case 2:return c.call(this,d,g);case 3:return b.call(this,d,g,k);case 4:return a.call(this,d,g,k,l);default:return e.k(d,
+g,k,l,L(arguments,4))}throw Error("Invalid arity: "+arguments.length);};d.G=4;d.v=e.v;d.h=function(a){return a};d.e=c;d.j=b;d.C=a;d.k=e.k;return d}();
+function Xg(a,b){return function d(b,f){return new zg(null,function(){var g=F(f);if(g){if(Wf(g)){for(var k=Se(g),l=P(k),m=Dg(l),n=0;;)if(n<l)Hg(m,function(){var d=b+n,f=A.e(k,n);return a.e?a.e(d,f):a.call(null,d,f)}()),n+=1;else break;return Gg(m.qa(),d(b+l,B(g)))}return N(function(){var d=G(g);return a.e?a.e(b,d):a.call(null,b,d)}(),d(b+1,H(g)))}return null},null,null)}(0,b)}function Yg(a,b,c,d){this.state=a;this.meta=b;this.og=c;this.rc=d;this.I=16386;this.w=6455296}h=Yg.prototype;
+h.equiv=function(a){return this.H(null,a)};h.H=function(a,b){return this===b};h.Nb=function(){return this.state};h.M=function(){return this.meta};h.Zd=function(a,b,c){for(var d=F(this.rc),e=null,f=0,g=0;;)if(g<f){a=e.L(null,g);var k=Q.j(a,0,null);a=Q.j(a,1,null);var l=b,m=c;a.C?a.C(k,this,l,m):a.call(null,k,this,l,m);g+=1}else if(a=F(d))d=a,Wf(d)?(e=Se(d),d=B(d),a=e,f=P(e),e=a):(a=G(d),k=Q.j(a,0,null),a=Q.j(a,1,null),e=k,f=b,g=c,a.C?a.C(e,this,f,g):a.call(null,e,this,f,g),d=K(d),e=null,f=0),g=0;else return null};
+h.Yd=function(a,b,c){this.rc=T.j(this.rc,b,c);return this};h.$d=function(a,b){return this.rc=Kf.e(this.rc,b)};h.P=function(){return this[ia]||(this[ia]=++ja)};
+var W=function(){function a(a){return new Yg(a,null,null,null)}var b=null,c=function(){function a(c,d){var k=null;1<arguments.length&&(k=L(Array.prototype.slice.call(arguments,1),0));return b.call(this,c,k)}function b(a,c){var d=ag(c)?U.e(Zg,c):c,e=S.e(d,Cd),d=S.e(d,$g);return new Yg(a,e,d,null)}a.G=1;a.v=function(a){var c=G(a);a=H(a);return b(c,a)};a.k=b;return a}(),b=function(b,e){switch(arguments.length){case 1:return a.call(this,b);default:return c.k(b,L(arguments,1))}throw Error("Invalid arity: "+
+arguments.length);};b.G=1;b.v=c.v;b.h=a;b.k=c.k;return b}();function ah(a,b){if(a instanceof Yg){var c=a.og;if(null!=c&&!t(c.h?c.h(b):c.call(null,b)))throw Error("Assert failed: Validator rejected reference state\n"+z.h(function(){var a=ug(new D(null,"validate","validate",1439230700,null),new D(null,"new-value","new-value",-1567397401,null));return bh.h?bh.h(a):bh.call(null,a)}()));c=a.state;a.state=b;null!=a.rc&&Ie(a,c,b);return b}return Ve(a,b)}
+var dh=function(){function a(a,b,c,d){if(a instanceof Yg){var e=a.state;b=b.j?b.j(e,c,d):b.call(null,e,c,d);a=ah(a,b)}else a=We.C(a,b,c,d);return a}function b(a,b,c){if(a instanceof Yg){var d=a.state;b=b.e?b.e(d,c):b.call(null,d,c);a=ah(a,b)}else a=We.j(a,b,c);return a}function c(a,b){var c;a instanceof Yg?(c=a.state,c=b.h?b.h(c):b.call(null,c),c=ah(a,c)):c=We.e(a,b);return c}var d=null,e=function(){function a(c,d,e,f,q){var r=null;4<arguments.length&&(r=L(Array.prototype.slice.call(arguments,4),
+0));return b.call(this,c,d,e,f,r)}function b(a,c,d,e,f){return a instanceof Yg?ah(a,U.O(c,a.state,d,e,f)):We.O(a,c,d,e,f)}a.G=4;a.v=function(a){var c=G(a);a=K(a);var d=G(a);a=K(a);var e=G(a);a=K(a);var f=G(a);a=H(a);return b(c,d,e,f,a)};a.k=b;return a}(),d=function(d,g,k,l,m){switch(arguments.length){case 2:return c.call(this,d,g);case 3:return b.call(this,d,g,k);case 4:return a.call(this,d,g,k,l);default:return e.k(d,g,k,l,L(arguments,4))}throw Error("Invalid arity: "+arguments.length);};d.G=4;d.v=
+e.v;d.e=c;d.j=b;d.C=a;d.k=e.k;return d}(),eh=function(){function a(a,b,c,d){return new zg(null,function(){var f=F(b),q=F(c),r=F(d);if(f&&q&&r){var v=N,y;y=G(f);var x=G(q),O=G(r);y=a.j?a.j(y,x,O):a.call(null,y,x,O);f=v(y,e.C(a,H(f),H(q),H(r)))}else f=null;return f},null,null)}function b(a,b,c){return new zg(null,function(){var d=F(b),f=F(c);if(d&&f){var q=N,r;r=G(d);var v=G(f);r=a.e?a.e(r,v):a.call(null,r,v);d=q(r,e.j(a,H(d),H(f)))}else d=null;return d},null,null)}function c(a,b){return new zg(null,
+function(){var c=F(b);if(c){if(Wf(c)){for(var d=Se(c),f=P(d),q=Dg(f),r=0;;)if(r<f)Hg(q,function(){var b=A.e(d,r);return a.h?a.h(b):a.call(null,b)}()),r+=1;else break;return Gg(q.qa(),e.e(a,B(c)))}return N(function(){var b=G(c);return a.h?a.h(b):a.call(null,b)}(),e.e(a,H(c)))}return null},null,null)}function d(a){return function(b){return function(){function c(d,e){var f=a.h?a.h(e):a.call(null,e);return b.e?b.e(d,f):b.call(null,d,f)}function d(a){return b.h?b.h(a):b.call(null,a)}function e(){return b.B?
+b.B():b.call(null)}var f=null,r=function(){function c(a,b,e){var f=null;2<arguments.length&&(f=L(Array.prototype.slice.call(arguments,2),0));return d.call(this,a,b,f)}function d(c,e,f){e=U.j(a,e,f);return b.e?b.e(c,e):b.call(null,c,e)}c.G=2;c.v=function(a){var b=G(a);a=K(a);var c=G(a);a=H(a);return d(b,c,a)};c.k=d;return c}(),f=function(a,b,f){switch(arguments.length){case 0:return e.call(this);case 1:return d.call(this,a);case 2:return c.call(this,a,b);default:return r.k(a,b,L(arguments,2))}throw Error("Invalid arity: "+
+arguments.length);};f.G=2;f.v=r.v;f.B=e;f.h=d;f.e=c;f.k=r.k;return f}()}}var e=null,f=function(){function a(c,d,e,f,g){var v=null;4<arguments.length&&(v=L(Array.prototype.slice.call(arguments,4),0));return b.call(this,c,d,e,f,v)}function b(a,c,d,f,g){var k=function x(a){return new zg(null,function(){var b=e.e(F,a);return Sg(kg,b)?N(e.e(G,b),x(e.e(H,b))):null},null,null)};return e.e(function(){return function(b){return U.e(a,b)}}(k),k(Gf.k(g,f,L([d,c],0))))}a.G=4;a.v=function(a){var c=G(a);a=K(a);
+var d=G(a);a=K(a);var e=G(a);a=K(a);var f=G(a);a=H(a);return b(c,d,e,f,a)};a.k=b;return a}(),e=function(e,k,l,m,n){switch(arguments.length){case 1:return d.call(this,e);case 2:return c.call(this,e,k);case 3:return b.call(this,e,k,l);case 4:return a.call(this,e,k,l,m);default:return f.k(e,k,l,m,L(arguments,4))}throw Error("Invalid arity: "+arguments.length);};e.G=4;e.v=f.v;e.h=d;e.e=c;e.j=b;e.C=a;e.k=f.k;return e}(),fh=function(){function a(a,b){return new zg(null,function(){if(0<a){var f=F(b);return f?
+N(G(f),c.e(a-1,H(f))):null}return null},null,null)}function b(a){return function(b){return function(a){return function(){function c(d,g){var k=pe(a),l=dh.e(a,mg),k=0<k?b.e?b.e(d,g):b.call(null,d,g):d;return 0<l?k:new rf(k)}function d(a){return b.h?b.h(a):b.call(null,a)}function l(){return b.B?b.B():b.call(null)}var m=null,m=function(a,b){switch(arguments.length){case 0:return l.call(this);case 1:return d.call(this,a);case 2:return c.call(this,a,b)}throw Error("Invalid arity: "+arguments.length);};
+m.B=l;m.h=d;m.e=c;return m}()}(W.h(a))}}var c=null,c=function(c,e){switch(arguments.length){case 1:return b.call(this,c);case 2:return a.call(this,c,e)}throw Error("Invalid arity: "+arguments.length);};c.h=b;c.e=a;return c}(),gh=function(){function a(a,b){return new zg(null,function(c){return function(){return c(a,b)}}(function(a,b){for(;;){var c=F(b);if(0<a&&c){var d=a-1,c=H(c);a=d;b=c}else return c}}),null,null)}function b(a){return function(b){return function(a){return function(){function c(d,
+g){var k=pe(a);dh.e(a,mg);return 0<k?d:b.e?b.e(d,g):b.call(null,d,g)}function d(a){return b.h?b.h(a):b.call(null,a)}function l(){return b.B?b.B():b.call(null)}var m=null,m=function(a,b){switch(arguments.length){case 0:return l.call(this);case 1:return d.call(this,a);case 2:return c.call(this,a,b)}throw Error("Invalid arity: "+arguments.length);};m.B=l;m.h=d;m.e=c;return m}()}(W.h(a))}}var c=null,c=function(c,e){switch(arguments.length){case 1:return b.call(this,c);case 2:return a.call(this,c,e)}throw Error("Invalid arity: "+
+arguments.length);};c.h=b;c.e=a;return c}(),hh=function(){function a(a,b){return new zg(null,function(c){return function(){return c(a,b)}}(function(a,b){for(;;){var c=F(b),d;if(d=c)d=G(c),d=a.h?a.h(d):a.call(null,d);if(t(d))d=a,c=H(c),a=d,b=c;else return c}}),null,null)}function b(a){return function(b){return function(c){return function(){function g(g,k){var l=pe(c);if(t(t(l)?a.h?a.h(k):a.call(null,k):l))return g;ah(c,null);return b.e?b.e(g,k):b.call(null,g,k)}function k(a){return b.h?b.h(a):b.call(null,
+a)}function l(){return b.B?b.B():b.call(null)}var m=null,m=function(a,b){switch(arguments.length){case 0:return l.call(this);case 1:return k.call(this,a);case 2:return g.call(this,a,b)}throw Error("Invalid arity: "+arguments.length);};m.B=l;m.h=k;m.e=g;return m}()}(W.h(!0))}}var c=null,c=function(c,e){switch(arguments.length){case 1:return b.call(this,c);case 2:return a.call(this,c,e)}throw Error("Invalid arity: "+arguments.length);};c.h=b;c.e=a;return c}(),ih=function(){function a(a,b){return fh.e(a,
+c.h(b))}function b(a){return new zg(null,function(){return N(a,c.h(a))},null,null)}var c=null,c=function(c,e){switch(arguments.length){case 1:return b.call(this,c);case 2:return a.call(this,c,e)}throw Error("Invalid arity: "+arguments.length);};c.h=b;c.e=a;return c}(),jh=function(){function a(a,c){return new zg(null,function(){var f=F(a),g=F(c);return f&&g?N(G(f),N(G(g),b.e(H(f),H(g)))):null},null,null)}var b=null,c=function(){function a(b,d,k){var l=null;2<arguments.length&&(l=L(Array.prototype.slice.call(arguments,
+2),0));return c.call(this,b,d,l)}function c(a,d,e){return new zg(null,function(){var c=eh.e(F,Gf.k(e,d,L([a],0)));return Sg(kg,c)?Lg.e(eh.e(G,c),U.e(b,eh.e(H,c))):null},null,null)}a.G=2;a.v=function(a){var b=G(a);a=K(a);var d=G(a);a=H(a);return c(b,d,a)};a.k=c;return a}(),b=function(b,e,f){switch(arguments.length){case 2:return a.call(this,b,e);default:return c.k(b,e,L(arguments,2))}throw Error("Invalid arity: "+arguments.length);};b.G=2;b.v=c.v;b.e=a;b.k=c.k;return b}();
+function kh(a){return gh.e(1,jh.e(ih.h(", "),a))}
+var mh=function(){function a(a){return Vg.e(eh.h(a),lh)}var b=null,c=function(){function a(c,d){var k=null;1<arguments.length&&(k=L(Array.prototype.slice.call(arguments,1),0));return b.call(this,c,k)}function b(a,c){return U.e(Lg,U.j(eh,a,c))}a.G=1;a.v=function(a){var c=G(a);a=H(a);return b(c,a)};a.k=b;return a}(),b=function(b,e){switch(arguments.length){case 1:return a.call(this,b);default:return c.k(b,L(arguments,1))}throw Error("Invalid arity: "+arguments.length);};b.G=1;b.v=c.v;b.h=a;b.k=c.k;
+return b}(),nh=function(){function a(a,b){return new zg(null,function(){var f=F(b);if(f){if(Wf(f)){for(var g=Se(f),k=P(g),l=Dg(k),m=0;;)if(m<k){var n;n=A.e(g,m);n=a.h?a.h(n):a.call(null,n);t(n)&&(n=A.e(g,m),l.add(n));m+=1}else break;return Gg(l.qa(),c.e(a,B(f)))}g=G(f);f=H(f);return t(a.h?a.h(g):a.call(null,g))?N(g,c.e(a,f)):c.e(a,f)}return null},null,null)}function b(a){return function(b){return function(){function c(f,g){return t(a.h?a.h(g):a.call(null,g))?b.e?b.e(f,g):b.call(null,f,g):f}function g(a){return b.h?
+b.h(a):b.call(null,a)}function k(){return b.B?b.B():b.call(null)}var l=null,l=function(a,b){switch(arguments.length){case 0:return k.call(this);case 1:return g.call(this,a);case 2:return c.call(this,a,b)}throw Error("Invalid arity: "+arguments.length);};l.B=k;l.h=g;l.e=c;return l}()}}var c=null,c=function(c,e){switch(arguments.length){case 1:return b.call(this,c);case 2:return a.call(this,c,e)}throw Error("Invalid arity: "+arguments.length);};c.h=b;c.e=a;return c}(),oh=function(){function a(a,b,c){return a&&
+(a.I&4||a.bf)?Bf(Ng(lg.C(b,Og,Le(a),c)),Nf(a)):lg.C(b,Gf,a,c)}function b(a,b){return null!=a?a&&(a.I&4||a.bf)?Bf(Ng(Ld.j(Me,Le(a),b)),Nf(a)):Ld.j(Vd,a,b):Ld.j(Gf,I,b)}var c=null,c=function(c,e,f){switch(arguments.length){case 2:return b.call(this,c,e);case 3:return a.call(this,c,e,f)}throw Error("Invalid arity: "+arguments.length);};c.e=b;c.j=a;return c}(),ph=function(){function a(a,b,c,k){return new zg(null,function(){var l=F(k);if(l){var m=fh.e(a,l);return a===P(m)?N(m,d.C(a,b,c,gh.e(b,l))):Vd(I,
+fh.e(a,Lg.e(m,c)))}return null},null,null)}function b(a,b,c){return new zg(null,function(){var k=F(c);if(k){var l=fh.e(a,k);return a===P(l)?N(l,d.j(a,b,gh.e(b,k))):null}return null},null,null)}function c(a,b){return d.j(a,a,b)}var d=null,d=function(d,f,g,k){switch(arguments.length){case 2:return c.call(this,d,f);case 3:return b.call(this,d,f,g);case 4:return a.call(this,d,f,g,k)}throw Error("Invalid arity: "+arguments.length);};d.e=c;d.j=b;d.C=a;return d}(),qh=function(){function a(a,b,c){var g=$f;
+for(b=F(b);;)if(b){var k=a;if(k?k.w&256||k.Wd||(k.w?0:u(ae,k)):u(ae,k)){a=S.j(a,G(b),g);if(g===a)return c;b=K(b)}else return c}else return a}function b(a,b){return c.j(a,b,null)}var c=null,c=function(c,e,f){switch(arguments.length){case 2:return b.call(this,c,e);case 3:return a.call(this,c,e,f)}throw Error("Invalid arity: "+arguments.length);};c.e=b;c.j=a;return c}(),sh=function rh(b,c,d){var e=Q.j(c,0,null);return(c=pg(c))?T.j(b,e,rh(S.e(b,e),c,d)):T.j(b,e,d)},th=function(){function a(a,b,c,d,f,
+q){var r=Q.j(b,0,null);return(b=pg(b))?T.j(a,r,e.xa(S.e(a,r),b,c,d,f,q)):T.j(a,r,function(){var b=S.e(a,r);return c.C?c.C(b,d,f,q):c.call(null,b,d,f,q)}())}function b(a,b,c,d,f){var q=Q.j(b,0,null);return(b=pg(b))?T.j(a,q,e.O(S.e(a,q),b,c,d,f)):T.j(a,q,function(){var b=S.e(a,q);return c.j?c.j(b,d,f):c.call(null,b,d,f)}())}function c(a,b,c,d){var f=Q.j(b,0,null);return(b=pg(b))?T.j(a,f,e.C(S.e(a,f),b,c,d)):T.j(a,f,function(){var b=S.e(a,f);return c.e?c.e(b,d):c.call(null,b,d)}())}function d(a,b,c){var d=
+Q.j(b,0,null);return(b=pg(b))?T.j(a,d,e.j(S.e(a,d),b,c)):T.j(a,d,function(){var b=S.e(a,d);return c.h?c.h(b):c.call(null,b)}())}var e=null,f=function(){function a(c,d,e,f,g,v,y){var x=null;6<arguments.length&&(x=L(Array.prototype.slice.call(arguments,6),0));return b.call(this,c,d,e,f,g,v,x)}function b(a,c,d,f,g,k,y){var x=Q.j(c,0,null);return(c=pg(c))?T.j(a,x,U.k(e,S.e(a,x),c,d,f,L([g,k,y],0))):T.j(a,x,U.k(d,S.e(a,x),f,g,k,L([y],0)))}a.G=6;a.v=function(a){var c=G(a);a=K(a);var d=G(a);a=K(a);var e=
+G(a);a=K(a);var f=G(a);a=K(a);var g=G(a);a=K(a);var y=G(a);a=H(a);return b(c,d,e,f,g,y,a)};a.k=b;return a}(),e=function(e,k,l,m,n,q,r){switch(arguments.length){case 3:return d.call(this,e,k,l);case 4:return c.call(this,e,k,l,m);case 5:return b.call(this,e,k,l,m,n);case 6:return a.call(this,e,k,l,m,n,q);default:return f.k(e,k,l,m,n,q,L(arguments,6))}throw Error("Invalid arity: "+arguments.length);};e.G=6;e.v=f.v;e.j=d;e.C=c;e.O=b;e.xa=a;e.k=f.k;return e}();function uh(a,b){this.Z=a;this.l=b}
+function vh(a){return new uh(a,[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null])}function wh(a){a=a.A;return 32>a?0:a-1>>>5<<5}function xh(a,b,c){for(;;){if(0===b)return c;var d=vh(a);d.l[0]=c;c=d;b-=5}}var zh=function yh(b,c,d,e){var f=new uh(d.Z,Jd(d.l)),g=b.A-1>>>c&31;5===c?f.l[g]=e:(d=d.l[g],b=null!=d?yh(b,c-5,d,e):xh(null,c-5,e),f.l[g]=b);return f};
+function Ah(a,b){throw Error("No item "+z.h(a)+" in vector of length "+z.h(b));}function Bh(a,b){if(b>=wh(a))return a.S;for(var c=a.root,d=a.shift;;)if(0<d)var e=d-5,c=c.l[b>>>d&31],d=e;else return c.l}function Ch(a,b){return 0<=b&&b<a.A?Bh(a,b):Ah(b,a.A)}var Eh=function Dh(b,c,d,e,f){var g=new uh(d.Z,Jd(d.l));if(0===c)g.l[e&31]=f;else{var k=e>>>c&31;b=Dh(b,c-5,d.l[k],e,f);g.l[k]=b}return g};function Fh(a,b,c,d,e,f){this.i=a;this.base=b;this.l=c;this.ab=d;this.start=e;this.end=f}
+Fh.prototype.Zc=function(){return this.i<this.end};Fh.prototype.next=function(){32===this.i-this.base&&(this.l=Bh(this.ab,this.i),this.base+=32);var a=this.l[this.i&31];this.i+=1;return a};function X(a,b,c,d,e,f){this.meta=a;this.A=b;this.shift=c;this.root=d;this.S=e;this.F=f;this.w=167668511;this.I=8196}h=X.prototype;h.toString=function(){return Ze(this)};h.equiv=function(a){return this.H(null,a)};h.J=function(a,b){return be.j(this,b,null)};
+h.K=function(a,b,c){return"number"===typeof b?A.j(this,b,c):c};h.wc=function(a,b,c){a=0;for(var d=c;;)if(a<this.A){var e=Bh(this,a);c=e.length;a:{for(var f=0;;)if(f<c){var g=f+a,k=e[f],d=b.j?b.j(d,g,k):b.call(null,d,g,k);if(sf(d)){e=d;break a}f+=1}else{e=d;break a}e=void 0}if(sf(e))return b=e,M.h?M.h(b):M.call(null,b);a+=c;d=e}else return d};h.L=function(a,b){return Ch(this,b)[b&31]};h.ya=function(a,b,c){return 0<=b&&b<this.A?Bh(this,b)[b&31]:c};
+h.Qb=function(a,b,c){if(0<=b&&b<this.A)return wh(this)<=b?(a=Jd(this.S),a[b&31]=c,new X(this.meta,this.A,this.shift,this.root,a,null)):new X(this.meta,this.A,this.shift,Eh(this,this.shift,this.root,b,c),this.S,null);if(b===this.A)return Vd(this,c);throw Error("Index "+z.h(b)+" out of bounds  [0,"+z.h(this.A)+"]");};h.vc=function(){var a=this.A;return new Fh(0,0,0<P(this)?Bh(this,0):null,this,0,a)};h.M=function(){return this.meta};
+h.ua=function(){return new X(this.meta,this.A,this.shift,this.root,this.S,this.F)};h.ca=function(){return this.A};h.yc=function(){return A.e(this,0)};h.zc=function(){return A.e(this,1)};h.wb=function(){return 0<this.A?A.e(this,this.A-1):null};h.dc=function(){return 0<this.A?new yf(this,this.A-1,null):null};h.P=function(){var a=this.F;return null!=a?a:this.F=a=of(this)};
+h.H=function(a,b){if(b instanceof X)if(this.A===P(b))for(var c=Xe(this),d=Xe(b);;)if(t(c.Zc())){var e=c.next(),f=d.next();if(!C.e(e,f))return!1}else return!0;else return!1;else return zf(this,b)};h.cc=function(){var a=this;return new Gh(a.A,a.shift,function(){var b=a.root;return Hh.h?Hh.h(b):Hh.call(null,b)}(),function(){var b=a.S;return Ih.h?Ih.h(b):Ih.call(null,b)}())};h.da=function(){return Bf(Ff,this.meta)};h.ma=function(a,b){return tf.e(this,b)};
+h.na=function(a,b,c){a=0;for(var d=c;;)if(a<this.A){var e=Bh(this,a);c=e.length;a:{for(var f=0;;)if(f<c){var g=e[f],d=b.e?b.e(d,g):b.call(null,d,g);if(sf(d)){e=d;break a}f+=1}else{e=d;break a}e=void 0}if(sf(e))return b=e,M.h?M.h(b):M.call(null,b);a+=c;d=e}else return d};h.bb=function(a,b,c){if("number"===typeof b)return oe(this,b,c);throw Error("Vector's key for assoc must be a number.");};
+h.U=function(){if(0===this.A)return null;if(32>=this.A)return new mf(this.S,0);var a;a:{a=this.root;for(var b=this.shift;;)if(0<b)b-=5,a=a.l[0];else{a=a.l;break a}a=void 0}return Jh.C?Jh.C(this,a,0,0):Jh.call(null,this,a,0,0)};h.N=function(a,b){return new X(b,this.A,this.shift,this.root,this.S,this.F)};
+h.X=function(a,b){if(32>this.A-wh(this)){for(var c=this.S.length,d=Array(c+1),e=0;;)if(e<c)d[e]=this.S[e],e+=1;else break;d[c]=b;return new X(this.meta,this.A+1,this.shift,this.root,d,null)}c=(d=this.A>>>5>1<<this.shift)?this.shift+5:this.shift;d?(d=vh(null),d.l[0]=this.root,e=xh(null,this.shift,new uh(null,this.S)),d.l[1]=e):d=zh(this,this.shift,this.root,new uh(null,this.S));return new X(this.meta,this.A+1,c,d,[b],null)};
+h.call=function(){var a=null,a=function(a,c,d){switch(arguments.length){case 2:return this.L(null,c);case 3:return this.ya(null,c,d)}throw Error("Invalid arity: "+arguments.length);};a.e=function(a,c){return this.L(null,c)};a.j=function(a,c,d){return this.ya(null,c,d)};return a}();h.apply=function(a,b){return this.call.apply(this,[this].concat(Jd(b)))};h.h=function(a){return this.L(null,a)};h.e=function(a,b){return this.ya(null,a,b)};
+var Z=new uh(null,[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]),Ff=new X(null,0,5,Z,[],0);function Kh(a,b){var c=a.length,d=b?a:Jd(a);if(32>c)return new X(null,c,5,Z,d,null);for(var e=32,f=(new X(null,32,5,Z,d.slice(0,32),null)).cc(null);;)if(e<c)var g=e+1,f=Og.e(f,d[e]),e=g;else return Ne(f)}function Lh(a){return Ne(Ld.j(Me,Le(Ff),a))}
+function Mh(a,b,c,d,e,f){this.Ka=a;this.node=b;this.i=c;this.ta=d;this.meta=e;this.F=f;this.w=32375020;this.I=1536}h=Mh.prototype;h.toString=function(){return Ze(this)};h.equiv=function(a){return this.H(null,a)};h.M=function(){return this.meta};h.va=function(){if(this.ta+1<this.node.length){var a;a=this.Ka;var b=this.node,c=this.i,d=this.ta+1;a=Jh.C?Jh.C(a,b,c,d):Jh.call(null,a,b,c,d);return null==a?null:a}return Te(this)};h.P=function(){var a=this.F;return null!=a?a:this.F=a=of(this)};
+h.H=function(a,b){return zf(this,b)};h.da=function(){return Bf(Ff,this.meta)};h.ma=function(a,b){var c=this;return tf.e(function(){var a=c.Ka,b=c.i+c.ta,f=P(c.Ka);return Nh.j?Nh.j(a,b,f):Nh.call(null,a,b,f)}(),b)};h.na=function(a,b,c){var d=this;return tf.j(function(){var a=d.Ka,b=d.i+d.ta,c=P(d.Ka);return Nh.j?Nh.j(a,b,c):Nh.call(null,a,b,c)}(),b,c)};h.la=function(){return this.node[this.ta]};
+h.ra=function(){if(this.ta+1<this.node.length){var a;a=this.Ka;var b=this.node,c=this.i,d=this.ta+1;a=Jh.C?Jh.C(a,b,c,d):Jh.call(null,a,b,c,d);return null==a?I:a}return B(this)};h.U=function(){return this};h.vd=function(){return Eg.e(this.node,this.ta)};h.wd=function(){var a=this.i+this.node.length;if(a<Sd(this.Ka)){var b=this.Ka,c=Bh(this.Ka,a);return Jh.C?Jh.C(b,c,a,0):Jh.call(null,b,c,a,0)}return I};
+h.N=function(a,b){var c=this.Ka,d=this.node,e=this.i,f=this.ta;return Jh.O?Jh.O(c,d,e,f,b):Jh.call(null,c,d,e,f,b)};h.X=function(a,b){return N(b,this)};h.ud=function(){var a=this.i+this.node.length;if(a<Sd(this.Ka)){var b=this.Ka,c=Bh(this.Ka,a);return Jh.C?Jh.C(b,c,a,0):Jh.call(null,b,c,a,0)}return null};
+var Jh=function(){function a(a,b,c,d,l){return new Mh(a,b,c,d,l,null)}function b(a,b,c,d){return new Mh(a,b,c,d,null,null)}function c(a,b,c){return new Mh(a,Ch(a,b),b,c,null,null)}var d=null,d=function(d,f,g,k,l){switch(arguments.length){case 3:return c.call(this,d,f,g);case 4:return b.call(this,d,f,g,k);case 5:return a.call(this,d,f,g,k,l)}throw Error("Invalid arity: "+arguments.length);};d.j=c;d.C=b;d.O=a;return d}();
+function Oh(a,b,c,d,e){this.meta=a;this.ab=b;this.start=c;this.end=d;this.F=e;this.w=166617887;this.I=8192}h=Oh.prototype;h.toString=function(){return Ze(this)};h.equiv=function(a){return this.H(null,a)};h.J=function(a,b){return be.j(this,b,null)};h.K=function(a,b,c){return"number"===typeof b?A.j(this,b,c):c};h.L=function(a,b){return 0>b||this.end<=this.start+b?Ah(b,this.end-this.start):A.e(this.ab,this.start+b)};h.ya=function(a,b,c){return 0>b||this.end<=this.start+b?c:A.j(this.ab,this.start+b,c)};
+h.Qb=function(a,b,c){var d=this.start+b;a=this.meta;c=T.j(this.ab,d,c);b=this.start;var e=this.end,d=d+1,d=e>d?e:d;return Ph.O?Ph.O(a,c,b,d,null):Ph.call(null,a,c,b,d,null)};h.M=function(){return this.meta};h.ua=function(){return new Oh(this.meta,this.ab,this.start,this.end,this.F)};h.ca=function(){return this.end-this.start};h.wb=function(){return A.e(this.ab,this.end-1)};h.dc=function(){return this.start!==this.end?new yf(this,this.end-this.start-1,null):null};
+h.P=function(){var a=this.F;return null!=a?a:this.F=a=of(this)};h.H=function(a,b){return zf(this,b)};h.da=function(){return Bf(Ff,this.meta)};h.ma=function(a,b){return tf.e(this,b)};h.na=function(a,b,c){return tf.j(this,b,c)};h.bb=function(a,b,c){if("number"===typeof b)return oe(this,b,c);throw Error("Subvec's key for assoc must be a number.");};
+h.U=function(){var a=this;return function(b){return function d(e){return e===a.end?null:N(A.e(a.ab,e),new zg(null,function(){return function(){return d(e+1)}}(b),null,null))}}(this)(a.start)};h.N=function(a,b){var c=this.ab,d=this.start,e=this.end,f=this.F;return Ph.O?Ph.O(b,c,d,e,f):Ph.call(null,b,c,d,e,f)};h.X=function(a,b){var c=this.meta,d=oe(this.ab,this.end,b),e=this.start,f=this.end+1;return Ph.O?Ph.O(c,d,e,f,null):Ph.call(null,c,d,e,f,null)};
+h.call=function(){var a=null,a=function(a,c,d){switch(arguments.length){case 2:return this.L(null,c);case 3:return this.ya(null,c,d)}throw Error("Invalid arity: "+arguments.length);};a.e=function(a,c){return this.L(null,c)};a.j=function(a,c,d){return this.ya(null,c,d)};return a}();h.apply=function(a,b){return this.call.apply(this,[this].concat(Jd(b)))};h.h=function(a){return this.L(null,a)};h.e=function(a,b){return this.ya(null,a,b)};
+function Ph(a,b,c,d,e){for(;;)if(b instanceof Oh)c=b.start+c,d=b.start+d,b=b.ab;else{var f=P(b);if(0>c||0>d||c>f||d>f)throw Error("Index out of bounds");return new Oh(a,b,c,d,e)}}var Nh=function(){function a(a,b,c){return Ph(null,a,b,c,null)}function b(a,b){return c.j(a,b,P(a))}var c=null,c=function(c,e,f){switch(arguments.length){case 2:return b.call(this,c,e);case 3:return a.call(this,c,e,f)}throw Error("Invalid arity: "+arguments.length);};c.e=b;c.j=a;return c}();
+function Qh(a,b){return a===b.Z?b:new uh(a,Jd(b.l))}function Hh(a){return new uh({},Jd(a.l))}function Ih(a){var b=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];Yf(a,0,b,0,a.length);return b}var Sh=function Rh(b,c,d,e){d=Qh(b.root.Z,d);var f=b.A-1>>>c&31;if(5===c)b=e;else{var g=d.l[f];b=null!=g?Rh(b,c-5,g,e):xh(b.root.Z,c-5,e)}d.l[f]=b;return d};
+function Gh(a,b,c,d){this.A=a;this.shift=b;this.root=c;this.S=d;this.I=88;this.w=275}h=Gh.prototype;
+h.Ob=function(a,b){if(this.root.Z){if(32>this.A-wh(this))this.S[this.A&31]=b;else{var c=new uh(this.root.Z,this.S),d=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];d[0]=b;this.S=d;if(this.A>>>5>1<<this.shift){var d=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],e=this.shift+
+5;d[0]=this.root;d[1]=xh(this.root.Z,this.shift,c);this.root=new uh(this.root.Z,d);this.shift=e}else this.root=Sh(this,this.shift,this.root,c)}this.A+=1;return this}throw Error("conj! after persistent!");};h.Pb=function(){if(this.root.Z){this.root.Z=null;var a=this.A-wh(this),b=Array(a);Yf(this.S,0,b,0,a);return new X(null,this.A,this.shift,this.root,b,null)}throw Error("persistent! called twice");};
+h.Bc=function(a,b,c){if("number"===typeof b)return Pe(this,b,c);throw Error("TransientVector's key for assoc! must be a number.");};
+h.Xd=function(a,b,c){var d=this;if(d.root.Z){if(0<=b&&b<d.A)return wh(this)<=b?d.S[b&31]=c:(a=function(){return function f(a,k){var l=Qh(d.root.Z,k);if(0===a)l.l[b&31]=c;else{var m=b>>>a&31,n=f(a-5,l.l[m]);l.l[m]=n}return l}}(this).call(null,d.shift,d.root),d.root=a),this;if(b===d.A)return Me(this,c);throw Error("Index "+z.h(b)+" out of bounds for TransientVector of length"+z.h(d.A));}throw Error("assoc! after persistent!");};
+h.ca=function(){if(this.root.Z)return this.A;throw Error("count after persistent!");};h.L=function(a,b){if(this.root.Z)return Ch(this,b)[b&31];throw Error("nth after persistent!");};h.ya=function(a,b,c){return 0<=b&&b<this.A?A.e(this,b):c};h.J=function(a,b){return be.j(this,b,null)};h.K=function(a,b,c){return"number"===typeof b?A.j(this,b,c):c};
+h.call=function(){var a=null,a=function(a,c,d){switch(arguments.length){case 2:return this.J(null,c);case 3:return this.K(null,c,d)}throw Error("Invalid arity: "+arguments.length);};a.e=function(a,c){return this.J(null,c)};a.j=function(a,c,d){return this.K(null,c,d)};return a}();h.apply=function(a,b){return this.call.apply(this,[this].concat(Jd(b)))};h.h=function(a){return this.J(null,a)};h.e=function(a,b){return this.K(null,a,b)};
+function Th(a,b,c,d){this.meta=a;this.Ia=b;this.Ab=c;this.F=d;this.w=31850572;this.I=0}h=Th.prototype;h.toString=function(){return Ze(this)};h.equiv=function(a){return this.H(null,a)};h.M=function(){return this.meta};h.P=function(){var a=this.F;return null!=a?a:this.F=a=of(this)};h.H=function(a,b){return zf(this,b)};h.da=function(){return Bf(I,this.meta)};h.la=function(){return G(this.Ia)};
+h.ra=function(){var a=K(this.Ia);return a?new Th(this.meta,a,this.Ab,null):null==this.Ab?Td(this):new Th(this.meta,this.Ab,null,null)};h.U=function(){return this};h.N=function(a,b){return new Th(b,this.Ia,this.Ab,this.F)};h.X=function(a,b){return N(b,this)};function Uh(a,b,c,d,e){this.meta=a;this.count=b;this.Ia=c;this.Ab=d;this.F=e;this.w=31858766;this.I=8192}h=Uh.prototype;h.toString=function(){return Ze(this)};h.equiv=function(a){return this.H(null,a)};h.M=function(){return this.meta};
+h.ua=function(){return new Uh(this.meta,this.count,this.Ia,this.Ab,this.F)};h.ca=function(){return this.count};h.wb=function(){return G(this.Ia)};h.P=function(){var a=this.F;return null!=a?a:this.F=a=of(this)};h.H=function(a,b){return zf(this,b)};h.da=function(){return Vh};h.la=function(){return G(this.Ia)};h.ra=function(){return H(F(this))};h.U=function(){var a=F(this.Ab),b=this.Ia;return t(t(b)?b:a)?new Th(null,this.Ia,F(a),null):null};
+h.N=function(a,b){return new Uh(b,this.count,this.Ia,this.Ab,this.F)};h.X=function(a,b){var c;t(this.Ia)?(c=this.Ab,c=new Uh(this.meta,this.count+1,this.Ia,Gf.e(t(c)?c:Ff,b),null)):c=new Uh(this.meta,this.count+1,Gf.e(this.Ia,b),Ff,null);return c};var Vh=new Uh(null,0,null,Ff,0);function Wh(){this.w=2097152;this.I=0}Wh.prototype.equiv=function(a){return this.H(null,a)};Wh.prototype.H=function(){return!1};var Xh=new Wh;
+function Yh(a,b){return bg(Uf(b)?P(a)===P(b)?Sg(kg,eh.e(function(a){return C.e(S.j(b,G(a),Xh),Df(a))},a)):null:null)}function Zh(a){this.s=a}Zh.prototype.next=function(){if(null!=this.s){var a=G(this.s);this.s=K(this.s);return{value:a,done:!1}}return{value:null,done:!0}};function $h(a){return new Zh(F(a))}function ai(a){this.s=a}ai.prototype.next=function(){if(null!=this.s){var a=G(this.s),b=Q.j(a,0,null),a=Q.j(a,1,null);this.s=K(this.s);return{value:[b,a],done:!1}}return{value:null,done:!0}};
+function bi(a){return new ai(F(a))}function ci(a){this.s=a}ci.prototype.next=function(){if(null!=this.s){var a=G(this.s);this.s=K(this.s);return{value:[a,a],done:!1}}return{value:null,done:!0}};function di(a){return new ci(F(a))}
+function ei(a,b){var c=a.l;if(b instanceof V)a:{for(var d=c.length,e=b.Qa,f=0;;){if(d<=f){c=-1;break a}var g=c[f];if(g instanceof V&&e===g.Qa){c=f;break a}f+=2}c=void 0}else if(d=ga(b),t(t(d)?d:"number"===typeof b))a:{d=c.length;for(e=0;;){if(d<=e){c=-1;break a}if(b===c[e]){c=e;break a}e+=2}c=void 0}else if(b instanceof D)a:{d=c.length;e=b.Ea;for(f=0;;){if(d<=f){c=-1;break a}g=c[f];if(g instanceof D&&e===g.Ea){c=f;break a}f+=2}c=void 0}else if(null==b)a:{d=c.length;for(e=0;;){if(d<=e){c=-1;break a}if(null==
+c[e]){c=e;break a}e+=2}c=void 0}else a:{d=c.length;for(e=0;;){if(d<=e){c=-1;break a}if(C.e(b,c[e])){c=e;break a}e+=2}c=void 0}return c}function fi(a,b,c){this.l=a;this.i=b;this.Ba=c;this.w=32374990;this.I=0}h=fi.prototype;h.toString=function(){return Ze(this)};h.equiv=function(a){return this.H(null,a)};h.M=function(){return this.Ba};h.va=function(){return this.i<this.l.length-2?new fi(this.l,this.i+2,this.Ba):null};h.ca=function(){return(this.l.length-this.i)/2};h.P=function(){return of(this)};
+h.H=function(a,b){return zf(this,b)};h.da=function(){return Bf(I,this.Ba)};h.ma=function(a,b){return Cf.e(b,this)};h.na=function(a,b,c){return Cf.j(b,c,this)};h.la=function(){return new X(null,2,5,Z,[this.l[this.i],this.l[this.i+1]],null)};h.ra=function(){return this.i<this.l.length-2?new fi(this.l,this.i+2,this.Ba):I};h.U=function(){return this};h.N=function(a,b){return new fi(this.l,this.i,b)};h.X=function(a,b){return N(b,this)};function gi(a,b,c){this.l=a;this.i=b;this.A=c}
+gi.prototype.Zc=function(){return this.i<this.A};gi.prototype.next=function(){var a=new X(null,2,5,Z,[this.l[this.i],this.l[this.i+1]],null);this.i+=2;return a};function s(a,b,c,d){this.meta=a;this.A=b;this.l=c;this.F=d;this.w=16647951;this.I=8196}h=s.prototype;h.toString=function(){return Ze(this)};h.equiv=function(a){return this.H(null,a)};h.keys=function(){return $h(hi.h?hi.h(this):hi.call(null,this))};h.entries=function(){return bi(F(this))};
+h.values=function(){return $h(ii.h?ii.h(this):ii.call(null,this))};h.has=function(a){return dg(this,a)};h.get=function(a){return this.J(null,a)};h.forEach=function(a){for(var b=F(this),c=null,d=0,e=0;;)if(e<d){var f=c.L(null,e),g=Q.j(f,0,null),f=Q.j(f,1,null);a.e?a.e(f,g):a.call(null,f,g);e+=1}else if(b=F(b))Wf(b)?(c=Se(b),b=B(b),g=c,d=P(c),c=g):(c=G(b),g=Q.j(c,0,null),c=f=Q.j(c,1,null),a.e?a.e(c,g):a.call(null,c,g),b=K(b),c=null,d=0),e=0;else return null};h.J=function(a,b){return be.j(this,b,null)};
+h.K=function(a,b,c){a=ei(this,b);return-1===a?c:this.l[a+1]};h.wc=function(a,b,c){a=this.l.length;for(var d=0;;)if(d<a){var e=this.l[d],f=this.l[d+1];c=b.j?b.j(c,e,f):b.call(null,c,e,f);if(sf(c))return b=c,M.h?M.h(b):M.call(null,b);d+=2}else return c};h.vc=function(){return new gi(this.l,0,2*this.A)};h.M=function(){return this.meta};h.ua=function(){return new s(this.meta,this.A,this.l,this.F)};h.ca=function(){return this.A};h.P=function(){var a=this.F;return null!=a?a:this.F=a=pf(this)};
+h.H=function(a,b){if(b&&(b.w&1024||b.gf)){var c=this.l.length;if(this.A===b.ca(null))for(var d=0;;)if(d<c){var e=b.K(null,this.l[d],$f);if(e!==$f)if(C.e(this.l[d+1],e))d+=2;else return!1;else return!1}else return!0;else return!1}else return Yh(this,b)};h.cc=function(){return new ji({},this.l.length,Jd(this.l))};h.da=function(){return te(ki,this.meta)};h.ma=function(a,b){return Cf.e(b,this)};h.na=function(a,b,c){return Cf.j(b,c,this)};
+h.xc=function(a,b){if(0<=ei(this,b)){var c=this.l.length,d=c-2;if(0===d)return Td(this);for(var d=Array(d),e=0,f=0;;){if(e>=c)return new s(this.meta,this.A-1,d,null);C.e(b,this.l[e])||(d[f]=this.l[e],d[f+1]=this.l[e+1],f+=2);e+=2}}else return this};
+h.bb=function(a,b,c){a=ei(this,b);if(-1===a){if(this.A<li){a=this.l;for(var d=a.length,e=Array(d+2),f=0;;)if(f<d)e[f]=a[f],f+=1;else break;e[d]=b;e[d+1]=c;return new s(this.meta,this.A+1,e,null)}return te(ee(oh.e(mi,this),b,c),this.meta)}if(c===this.l[a+1])return this;b=Jd(this.l);b[a+1]=c;return new s(this.meta,this.A,b,null)};h.bc=function(a,b){return-1!==ei(this,b)};h.U=function(){var a=this.l;return 0<=a.length-2?new fi(a,0,null):null};h.N=function(a,b){return new s(b,this.A,this.l,this.F)};
+h.X=function(a,b){if(Vf(b))return ee(this,A.e(b,0),A.e(b,1));for(var c=this,d=F(b);;){if(null==d)return c;var e=G(d);if(Vf(e))c=ee(c,A.e(e,0),A.e(e,1)),d=K(d);else throw Error("conj on a map takes map entries or seqables of map entries");}};
+h.call=function(){var a=null,a=function(a,c,d){switch(arguments.length){case 2:return this.J(null,c);case 3:return this.K(null,c,d)}throw Error("Invalid arity: "+arguments.length);};a.e=function(a,c){return this.J(null,c)};a.j=function(a,c,d){return this.K(null,c,d)};return a}();h.apply=function(a,b){return this.call.apply(this,[this].concat(Jd(b)))};h.h=function(a){return this.J(null,a)};h.e=function(a,b){return this.K(null,a,b)};var ki=new s(null,0,[],null),li=8;
+function ni(a,b,c){a=b?a:Jd(a);if(c)return new s(null,a.length/2,a,null);c=a.length;b=0;for(var d=Le(ki);;)if(b<c){var e=b+2,d=Oe(d,a[b],a[b+1]);b=e}else return Ne(d)}function ji(a,b,c){this.fc=a;this.lc=b;this.l=c;this.w=258;this.I=56}h=ji.prototype;h.ca=function(){if(t(this.fc))return ng(this.lc);throw Error("count after persistent!");};h.J=function(a,b){return be.j(this,b,null)};h.K=function(a,b,c){if(t(this.fc))return a=ei(this,b),-1===a?c:this.l[a+1];throw Error("lookup after persistent!");};
+h.Ob=function(a,b){if(t(this.fc)){if(b?b.w&2048||b.hf||(b.w?0:u(he,b)):u(he,b))return Oe(this,oi.h?oi.h(b):oi.call(null,b),pi.h?pi.h(b):pi.call(null,b));for(var c=F(b),d=this;;){var e=G(c);if(t(e))var f=e,c=K(c),d=Oe(d,function(){var a=f;return oi.h?oi.h(a):oi.call(null,a)}(),function(){var a=f;return pi.h?pi.h(a):pi.call(null,a)}());else return d}}else throw Error("conj! after persistent!");};
+h.Pb=function(){if(t(this.fc))return this.fc=!1,new s(null,ng(this.lc),this.l,null);throw Error("persistent! called twice");};h.Bc=function(a,b,c){var d=this;if(t(d.fc)){a=ei(this,b);if(-1===a)return d.lc+2<=2*li?(d.lc+=2,d.l.push(b),d.l.push(c),this):Pg.j(function(){var a=d.lc,b=d.l;return qi.e?qi.e(a,b):qi.call(null,a,b)}(),b,c);c!==d.l[a+1]&&(d.l[a+1]=c);return this}throw Error("assoc! after persistent!");};
+function qi(a,b){for(var c=Le(mi),d=0;;)if(d<a)c=Pg.j(c,b[d],b[d+1]),d+=2;else return c}function ri(){this.D=!1}function si(a,b){return a===b?!0:wg(a,b)?!0:C.e(a,b)}var ti=function(){function a(a,b,c,g,k){a=Jd(a);a[b]=c;a[g]=k;return a}function b(a,b,c){a=Jd(a);a[b]=c;return a}var c=null,c=function(c,e,f,g,k){switch(arguments.length){case 3:return b.call(this,c,e,f);case 5:return a.call(this,c,e,f,g,k)}throw Error("Invalid arity: "+arguments.length);};c.j=b;c.O=a;return c}();
+function ui(a,b){var c=Array(a.length-2);Yf(a,0,c,0,2*b);Yf(a,2*(b+1),c,2*b,c.length-2*b);return c}var vi=function(){function a(a,b,c,g,k,l){a=a.gc(b);a.l[c]=g;a.l[k]=l;return a}function b(a,b,c,g){a=a.gc(b);a.l[c]=g;return a}var c=null,c=function(c,e,f,g,k,l){switch(arguments.length){case 4:return b.call(this,c,e,f,g);case 6:return a.call(this,c,e,f,g,k,l)}throw Error("Invalid arity: "+arguments.length);};c.C=b;c.xa=a;return c}();
+function wi(a,b,c){for(var d=a.length,e=0,f=c;;)if(e<d){c=a[e];if(null!=c){var g=a[e+1];c=b.j?b.j(f,c,g):b.call(null,f,c,g)}else c=a[e+1],c=null!=c?c.Tb(b,f):f;if(sf(c))return a=c,M.h?M.h(a):M.call(null,a);e+=2;f=c}else return f}function xi(a,b,c){this.Z=a;this.ha=b;this.l=c}h=xi.prototype;h.gc=function(a){if(a===this.Z)return this;var b=og(this.ha),c=Array(0>b?4:2*(b+1));Yf(this.l,0,c,0,2*b);return new xi(a,this.ha,c)};h.Hc=function(){var a=this.l;return yi.h?yi.h(a):yi.call(null,a)};
+h.Tb=function(a,b){return wi(this.l,a,b)};h.Gb=function(a,b,c,d){var e=1<<(b>>>a&31);if(0===(this.ha&e))return d;var f=og(this.ha&e-1),e=this.l[2*f],f=this.l[2*f+1];return null==e?f.Gb(a+5,b,c,d):si(c,e)?f:d};
+h.Za=function(a,b,c,d,e,f){var g=1<<(c>>>b&31),k=og(this.ha&g-1);if(0===(this.ha&g)){var l=og(this.ha);if(2*l<this.l.length){var m=this.gc(a),n=m.l;f.D=!0;Zf(n,2*k,n,2*(k+1),2*(l-k));n[2*k]=d;n[2*k+1]=e;m.ha|=g;return m}if(16<=l){g=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];g[c>>>b&31]=zi.Za(a,b+5,c,d,e,f);for(m=k=0;;)if(32>k)0!==(this.ha>>>k&1)&&(g[k]=null!=this.l[m]?zi.Za(a,b+5,
+gf(this.l[m]),this.l[m],this.l[m+1],f):this.l[m+1],m+=2),k+=1;else break;return new Ai(a,l+1,g)}n=Array(2*(l+4));Yf(this.l,0,n,0,2*k);n[2*k]=d;n[2*k+1]=e;Yf(this.l,2*k,n,2*(k+1),2*(l-k));f.D=!0;m=this.gc(a);m.l=n;m.ha|=g;return m}var q=this.l[2*k],r=this.l[2*k+1];if(null==q)return l=r.Za(a,b+5,c,d,e,f),l===r?this:vi.C(this,a,2*k+1,l);if(si(d,q))return e===r?this:vi.C(this,a,2*k+1,e);f.D=!0;return vi.xa(this,a,2*k,null,2*k+1,function(){var f=b+5;return Bi.Ma?Bi.Ma(a,f,q,r,c,d,e):Bi.call(null,a,f,q,
+r,c,d,e)}())};
+h.Ya=function(a,b,c,d,e){var f=1<<(b>>>a&31),g=og(this.ha&f-1);if(0===(this.ha&f)){var k=og(this.ha);if(16<=k){f=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];f[b>>>a&31]=zi.Ya(a+5,b,c,d,e);for(var l=g=0;;)if(32>g)0!==(this.ha>>>g&1)&&(f[g]=null!=this.l[l]?zi.Ya(a+5,gf(this.l[l]),this.l[l],this.l[l+1],e):this.l[l+1],l+=2),g+=1;else break;return new Ai(null,k+1,f)}l=Array(2*(k+1));Yf(this.l,
+0,l,0,2*g);l[2*g]=c;l[2*g+1]=d;Yf(this.l,2*g,l,2*(g+1),2*(k-g));e.D=!0;return new xi(null,this.ha|f,l)}var m=this.l[2*g],n=this.l[2*g+1];if(null==m)return k=n.Ya(a+5,b,c,d,e),k===n?this:new xi(null,this.ha,ti.j(this.l,2*g+1,k));if(si(c,m))return d===n?this:new xi(null,this.ha,ti.j(this.l,2*g+1,d));e.D=!0;return new xi(null,this.ha,ti.O(this.l,2*g,null,2*g+1,function(){var e=a+5;return Bi.xa?Bi.xa(e,m,n,b,c,d):Bi.call(null,e,m,n,b,c,d)}()))};
+h.Ic=function(a,b,c){var d=1<<(b>>>a&31);if(0===(this.ha&d))return this;var e=og(this.ha&d-1),f=this.l[2*e],g=this.l[2*e+1];return null==f?(a=g.Ic(a+5,b,c),a===g?this:null!=a?new xi(null,this.ha,ti.j(this.l,2*e+1,a)):this.ha===d?null:new xi(null,this.ha^d,ui(this.l,e))):si(c,f)?new xi(null,this.ha^d,ui(this.l,e)):this};var zi=new xi(null,0,[]);function Ai(a,b,c){this.Z=a;this.A=b;this.l=c}h=Ai.prototype;h.gc=function(a){return a===this.Z?this:new Ai(a,this.A,Jd(this.l))};
+h.Hc=function(){var a=this.l;return Ci.h?Ci.h(a):Ci.call(null,a)};h.Tb=function(a,b){for(var c=this.l.length,d=0,e=b;;)if(d<c){var f=this.l[d];if(null!=f&&(e=f.Tb(a,e),sf(e)))return c=e,M.h?M.h(c):M.call(null,c);d+=1}else return e};h.Gb=function(a,b,c,d){var e=this.l[b>>>a&31];return null!=e?e.Gb(a+5,b,c,d):d};h.Za=function(a,b,c,d,e,f){var g=c>>>b&31,k=this.l[g];if(null==k)return a=vi.C(this,a,g,zi.Za(a,b+5,c,d,e,f)),a.A+=1,a;b=k.Za(a,b+5,c,d,e,f);return b===k?this:vi.C(this,a,g,b)};
+h.Ya=function(a,b,c,d,e){var f=b>>>a&31,g=this.l[f];if(null==g)return new Ai(null,this.A+1,ti.j(this.l,f,zi.Ya(a+5,b,c,d,e)));a=g.Ya(a+5,b,c,d,e);return a===g?this:new Ai(null,this.A,ti.j(this.l,f,a))};
+h.Ic=function(a,b,c){var d=b>>>a&31,e=this.l[d];if(null!=e){a=e.Ic(a+5,b,c);if(a===e)d=this;else if(null==a)if(8>=this.A)a:{e=this.l;a=e.length;b=Array(2*(this.A-1));c=0;for(var f=1,g=0;;)if(c<a)c!==d&&null!=e[c]&&(b[f]=e[c],f+=2,g|=1<<c),c+=1;else{d=new xi(null,g,b);break a}d=void 0}else d=new Ai(null,this.A-1,ti.j(this.l,d,a));else d=new Ai(null,this.A,ti.j(this.l,d,a));return d}return this};function Di(a,b,c){b*=2;for(var d=0;;)if(d<b){if(si(c,a[d]))return d;d+=2}else return-1}
+function Ei(a,b,c,d){this.Z=a;this.xb=b;this.A=c;this.l=d}h=Ei.prototype;h.gc=function(a){if(a===this.Z)return this;var b=Array(2*(this.A+1));Yf(this.l,0,b,0,2*this.A);return new Ei(a,this.xb,this.A,b)};h.Hc=function(){var a=this.l;return yi.h?yi.h(a):yi.call(null,a)};h.Tb=function(a,b){return wi(this.l,a,b)};h.Gb=function(a,b,c,d){a=Di(this.l,this.A,c);return 0>a?d:si(c,this.l[a])?this.l[a+1]:d};
+h.Za=function(a,b,c,d,e,f){if(c===this.xb){b=Di(this.l,this.A,d);if(-1===b){if(this.l.length>2*this.A)return a=vi.xa(this,a,2*this.A,d,2*this.A+1,e),f.D=!0,a.A+=1,a;c=this.l.length;b=Array(c+2);Yf(this.l,0,b,0,c);b[c]=d;b[c+1]=e;f.D=!0;f=this.A+1;a===this.Z?(this.l=b,this.A=f,a=this):a=new Ei(this.Z,this.xb,f,b);return a}return this.l[b+1]===e?this:vi.C(this,a,b+1,e)}return(new xi(a,1<<(this.xb>>>b&31),[null,this,null,null])).Za(a,b,c,d,e,f)};
+h.Ya=function(a,b,c,d,e){return b===this.xb?(a=Di(this.l,this.A,c),-1===a?(a=2*this.A,b=Array(a+2),Yf(this.l,0,b,0,a),b[a]=c,b[a+1]=d,e.D=!0,new Ei(null,this.xb,this.A+1,b)):C.e(this.l[a],d)?this:new Ei(null,this.xb,this.A,ti.j(this.l,a+1,d))):(new xi(null,1<<(this.xb>>>a&31),[null,this])).Ya(a,b,c,d,e)};h.Ic=function(a,b,c){a=Di(this.l,this.A,c);return-1===a?this:1===this.A?null:new Ei(null,this.xb,this.A-1,ui(this.l,ng(a)))};
+var Bi=function(){function a(a,b,c,g,k,l,m){var n=gf(c);if(n===k)return new Ei(null,n,2,[c,g,l,m]);var q=new ri;return zi.Za(a,b,n,c,g,q).Za(a,b,k,l,m,q)}function b(a,b,c,g,k,l){var m=gf(b);if(m===g)return new Ei(null,m,2,[b,c,k,l]);var n=new ri;return zi.Ya(a,m,b,c,n).Ya(a,g,k,l,n)}var c=null,c=function(c,e,f,g,k,l,m){switch(arguments.length){case 6:return b.call(this,c,e,f,g,k,l);case 7:return a.call(this,c,e,f,g,k,l,m)}throw Error("Invalid arity: "+arguments.length);};c.xa=b;c.Ma=a;return c}();
+function Fi(a,b,c,d,e){this.meta=a;this.Hb=b;this.i=c;this.s=d;this.F=e;this.w=32374860;this.I=0}h=Fi.prototype;h.toString=function(){return Ze(this)};h.equiv=function(a){return this.H(null,a)};h.M=function(){return this.meta};h.P=function(){var a=this.F;return null!=a?a:this.F=a=of(this)};h.H=function(a,b){return zf(this,b)};h.da=function(){return Bf(I,this.meta)};h.ma=function(a,b){return Cf.e(b,this)};h.na=function(a,b,c){return Cf.j(b,c,this)};
+h.la=function(){return null==this.s?new X(null,2,5,Z,[this.Hb[this.i],this.Hb[this.i+1]],null):G(this.s)};h.ra=function(){if(null==this.s){var a=this.Hb,b=this.i+2;return yi.j?yi.j(a,b,null):yi.call(null,a,b,null)}var a=this.Hb,b=this.i,c=K(this.s);return yi.j?yi.j(a,b,c):yi.call(null,a,b,c)};h.U=function(){return this};h.N=function(a,b){return new Fi(b,this.Hb,this.i,this.s,this.F)};h.X=function(a,b){return N(b,this)};
+var yi=function(){function a(a,b,c){if(null==c)for(c=a.length;;)if(b<c){if(null!=a[b])return new Fi(null,a,b,null,null);var g=a[b+1];if(t(g)&&(g=g.Hc(),t(g)))return new Fi(null,a,b+2,g,null);b+=2}else return null;else return new Fi(null,a,b,c,null)}function b(a){return c.j(a,0,null)}var c=null,c=function(c,e,f){switch(arguments.length){case 1:return b.call(this,c);case 3:return a.call(this,c,e,f)}throw Error("Invalid arity: "+arguments.length);};c.h=b;c.j=a;return c}();
+function Gi(a,b,c,d,e){this.meta=a;this.Hb=b;this.i=c;this.s=d;this.F=e;this.w=32374860;this.I=0}h=Gi.prototype;h.toString=function(){return Ze(this)};h.equiv=function(a){return this.H(null,a)};h.M=function(){return this.meta};h.P=function(){var a=this.F;return null!=a?a:this.F=a=of(this)};h.H=function(a,b){return zf(this,b)};h.da=function(){return Bf(I,this.meta)};h.ma=function(a,b){return Cf.e(b,this)};h.na=function(a,b,c){return Cf.j(b,c,this)};h.la=function(){return G(this.s)};
+h.ra=function(){var a=this.Hb,b=this.i,c=K(this.s);return Ci.C?Ci.C(null,a,b,c):Ci.call(null,null,a,b,c)};h.U=function(){return this};h.N=function(a,b){return new Gi(b,this.Hb,this.i,this.s,this.F)};h.X=function(a,b){return N(b,this)};
+var Ci=function(){function a(a,b,c,g){if(null==g)for(g=b.length;;)if(c<g){var k=b[c];if(t(k)&&(k=k.Hc(),t(k)))return new Gi(a,b,c+1,k,null);c+=1}else return null;else return new Gi(a,b,c,g,null)}function b(a){return c.C(null,a,0,null)}var c=null,c=function(c,e,f,g){switch(arguments.length){case 1:return b.call(this,c);case 4:return a.call(this,c,e,f,g)}throw Error("Invalid arity: "+arguments.length);};c.h=b;c.C=a;return c}();
+function Hi(a,b,c,d,e,f){this.meta=a;this.A=b;this.root=c;this.wa=d;this.Da=e;this.F=f;this.w=16123663;this.I=8196}h=Hi.prototype;h.toString=function(){return Ze(this)};h.equiv=function(a){return this.H(null,a)};h.keys=function(){return $h(hi.h?hi.h(this):hi.call(null,this))};h.entries=function(){return bi(F(this))};h.values=function(){return $h(ii.h?ii.h(this):ii.call(null,this))};h.has=function(a){return dg(this,a)};h.get=function(a){return this.J(null,a)};
+h.forEach=function(a){for(var b=F(this),c=null,d=0,e=0;;)if(e<d){var f=c.L(null,e),g=Q.j(f,0,null),f=Q.j(f,1,null);a.e?a.e(f,g):a.call(null,f,g);e+=1}else if(b=F(b))Wf(b)?(c=Se(b),b=B(b),g=c,d=P(c),c=g):(c=G(b),g=Q.j(c,0,null),c=f=Q.j(c,1,null),a.e?a.e(c,g):a.call(null,c,g),b=K(b),c=null,d=0),e=0;else return null};h.J=function(a,b){return be.j(this,b,null)};h.K=function(a,b,c){return null==b?this.wa?this.Da:c:null==this.root?c:this.root.Gb(0,gf(b),b,c)};
+h.wc=function(a,b,c){this.wa&&(a=this.Da,c=b.j?b.j(c,null,a):b.call(null,c,null,a));return sf(c)?M.h?M.h(c):M.call(null,c):null!=this.root?this.root.Tb(b,c):c};h.M=function(){return this.meta};h.ua=function(){return new Hi(this.meta,this.A,this.root,this.wa,this.Da,this.F)};h.ca=function(){return this.A};h.P=function(){var a=this.F;return null!=a?a:this.F=a=pf(this)};h.H=function(a,b){return Yh(this,b)};h.cc=function(){return new Ii({},this.root,this.A,this.wa,this.Da)};
+h.da=function(){return te(mi,this.meta)};h.xc=function(a,b){if(null==b)return this.wa?new Hi(this.meta,this.A-1,this.root,!1,null,null):this;if(null==this.root)return this;var c=this.root.Ic(0,gf(b),b);return c===this.root?this:new Hi(this.meta,this.A-1,c,this.wa,this.Da,null)};
+h.bb=function(a,b,c){if(null==b)return this.wa&&c===this.Da?this:new Hi(this.meta,this.wa?this.A:this.A+1,this.root,!0,c,null);a=new ri;b=(null==this.root?zi:this.root).Ya(0,gf(b),b,c,a);return b===this.root?this:new Hi(this.meta,a.D?this.A+1:this.A,b,this.wa,this.Da,null)};h.bc=function(a,b){return null==b?this.wa:null==this.root?!1:this.root.Gb(0,gf(b),b,$f)!==$f};h.U=function(){if(0<this.A){var a=null!=this.root?this.root.Hc():null;return this.wa?N(new X(null,2,5,Z,[null,this.Da],null),a):a}return null};
+h.N=function(a,b){return new Hi(b,this.A,this.root,this.wa,this.Da,this.F)};h.X=function(a,b){if(Vf(b))return ee(this,A.e(b,0),A.e(b,1));for(var c=this,d=F(b);;){if(null==d)return c;var e=G(d);if(Vf(e))c=ee(c,A.e(e,0),A.e(e,1)),d=K(d);else throw Error("conj on a map takes map entries or seqables of map entries");}};
+h.call=function(){var a=null,a=function(a,c,d){switch(arguments.length){case 2:return this.J(null,c);case 3:return this.K(null,c,d)}throw Error("Invalid arity: "+arguments.length);};a.e=function(a,c){return this.J(null,c)};a.j=function(a,c,d){return this.K(null,c,d)};return a}();h.apply=function(a,b){return this.call.apply(this,[this].concat(Jd(b)))};h.h=function(a){return this.J(null,a)};h.e=function(a,b){return this.K(null,a,b)};var mi=new Hi(null,0,null,!1,null,0);
+function Jf(a,b){for(var c=a.length,d=0,e=Le(mi);;)if(d<c)var f=d+1,e=e.Bc(null,a[d],b[d]),d=f;else return Ne(e)}function Ii(a,b,c,d,e){this.Z=a;this.root=b;this.count=c;this.wa=d;this.Da=e;this.w=258;this.I=56}
+function Ji(a,b){if(a.Z){if(b?b.w&2048||b.hf||(b.w?0:u(he,b)):u(he,b))return Ki(a,oi.h?oi.h(b):oi.call(null,b),pi.h?pi.h(b):pi.call(null,b));for(var c=F(b),d=a;;){var e=G(c);if(t(e))var f=e,c=K(c),d=Ki(d,function(){var a=f;return oi.h?oi.h(a):oi.call(null,a)}(),function(){var a=f;return pi.h?pi.h(a):pi.call(null,a)}());else return d}}else throw Error("conj! after persistent");}
+function Ki(a,b,c){if(a.Z){if(null==b)a.Da!==c&&(a.Da=c),a.wa||(a.count+=1,a.wa=!0);else{var d=new ri;b=(null==a.root?zi:a.root).Za(a.Z,0,gf(b),b,c,d);b!==a.root&&(a.root=b);d.D&&(a.count+=1)}return a}throw Error("assoc! after persistent!");}h=Ii.prototype;h.ca=function(){if(this.Z)return this.count;throw Error("count after persistent!");};h.J=function(a,b){return null==b?this.wa?this.Da:null:null==this.root?null:this.root.Gb(0,gf(b),b)};
+h.K=function(a,b,c){return null==b?this.wa?this.Da:c:null==this.root?c:this.root.Gb(0,gf(b),b,c)};h.Ob=function(a,b){return Ji(this,b)};h.Pb=function(){var a;if(this.Z)this.Z=null,a=new Hi(null,this.count,this.root,this.wa,this.Da,null);else throw Error("persistent! called twice");return a};h.Bc=function(a,b,c){return Ki(this,b,c)};function Li(a,b,c){for(var d=b;;)if(null!=a)b=c?a.left:a.right,d=Gf.e(d,a),a=b;else return d}
+function Mi(a,b,c,d,e){this.meta=a;this.stack=b;this.Nc=c;this.A=d;this.F=e;this.w=32374862;this.I=0}h=Mi.prototype;h.toString=function(){return Ze(this)};h.equiv=function(a){return this.H(null,a)};h.M=function(){return this.meta};h.ca=function(){return 0>this.A?P(K(this))+1:this.A};h.P=function(){var a=this.F;return null!=a?a:this.F=a=of(this)};h.H=function(a,b){return zf(this,b)};h.da=function(){return Bf(I,this.meta)};h.ma=function(a,b){return Cf.e(b,this)};
+h.na=function(a,b,c){return Cf.j(b,c,this)};h.la=function(){var a=this.stack;return null==a?null:me(a)};h.ra=function(){var a=G(this.stack),a=Li(this.Nc?a.right:a.left,K(this.stack),this.Nc);return null!=a?new Mi(null,a,this.Nc,this.A-1,null):I};h.U=function(){return this};h.N=function(a,b){return new Mi(b,this.stack,this.Nc,this.A,this.F)};h.X=function(a,b){return N(b,this)};function Ni(a,b,c){return new Mi(null,Li(a,null,b),b,c,null)}
+function Oi(a,b,c,d){return c instanceof $?c.left instanceof $?new $(c.key,c.D,c.left.ib(),new Pi(a,b,c.right,d,null),null):c.right instanceof $?new $(c.right.key,c.right.D,new Pi(c.key,c.D,c.left,c.right.left,null),new Pi(a,b,c.right.right,d,null),null):new Pi(a,b,c,d,null):new Pi(a,b,c,d,null)}
+function Qi(a,b,c,d){return d instanceof $?d.right instanceof $?new $(d.key,d.D,new Pi(a,b,c,d.left,null),d.right.ib(),null):d.left instanceof $?new $(d.left.key,d.left.D,new Pi(a,b,c,d.left.left,null),new Pi(d.key,d.D,d.left.right,d.right,null),null):new Pi(a,b,c,d,null):new Pi(a,b,c,d,null)}
+function Ri(a,b,c,d){if(c instanceof $)return new $(a,b,c.ib(),d,null);if(d instanceof Pi)return Qi(a,b,c,d.Lc());if(d instanceof $&&d.left instanceof Pi)return new $(d.left.key,d.left.D,new Pi(a,b,c,d.left.left,null),Qi(d.key,d.D,d.left.right,d.right.Lc()),null);throw Error("red-black tree invariant violation");}
+var Ti=function Si(b,c,d){d=null!=b.left?Si(b.left,c,d):d;if(sf(d))return M.h?M.h(d):M.call(null,d);var e=b.key,f=b.D;d=c.j?c.j(d,e,f):c.call(null,d,e,f);if(sf(d))return M.h?M.h(d):M.call(null,d);b=null!=b.right?Si(b.right,c,d):d;return sf(b)?M.h?M.h(b):M.call(null,b):b};function Pi(a,b,c,d,e){this.key=a;this.D=b;this.left=c;this.right=d;this.F=e;this.w=32402207;this.I=0}h=Pi.prototype;h.Pd=function(a){return a.Rd(this)};h.Lc=function(){return new $(this.key,this.D,this.left,this.right,null)};
+h.ib=function(){return this};h.Od=function(a){return a.Qd(this)};h.replace=function(a,b,c,d){return new Pi(a,b,c,d,null)};h.Qd=function(a){return new Pi(a.key,a.D,this,a.right,null)};h.Rd=function(a){return new Pi(a.key,a.D,a.left,this,null)};h.Tb=function(a,b){return Ti(this,a,b)};h.J=function(a,b){return A.j(this,b,null)};h.K=function(a,b,c){return A.j(this,b,c)};h.L=function(a,b){return 0===b?this.key:1===b?this.D:null};h.ya=function(a,b,c){return 0===b?this.key:1===b?this.D:c};
+h.Qb=function(a,b,c){return(new X(null,2,5,Z,[this.key,this.D],null)).Qb(null,b,c)};h.M=function(){return null};h.ca=function(){return 2};h.yc=function(){return this.key};h.zc=function(){return this.D};h.wb=function(){return this.D};h.P=function(){var a=this.F;return null!=a?a:this.F=a=of(this)};h.H=function(a,b){return zf(this,b)};h.da=function(){return Ff};h.ma=function(a,b){return tf.e(this,b)};h.na=function(a,b,c){return tf.j(this,b,c)};
+h.bb=function(a,b,c){return T.j(new X(null,2,5,Z,[this.key,this.D],null),b,c)};h.U=function(){return Vd(Vd(I,this.D),this.key)};h.N=function(a,b){return Bf(new X(null,2,5,Z,[this.key,this.D],null),b)};h.X=function(a,b){return new X(null,3,5,Z,[this.key,this.D,b],null)};
+h.call=function(){var a=null,a=function(a,c,d){switch(arguments.length){case 2:return this.J(null,c);case 3:return this.K(null,c,d)}throw Error("Invalid arity: "+arguments.length);};a.e=function(a,c){return this.J(null,c)};a.j=function(a,c,d){return this.K(null,c,d)};return a}();h.apply=function(a,b){return this.call.apply(this,[this].concat(Jd(b)))};h.h=function(a){return this.J(null,a)};h.e=function(a,b){return this.K(null,a,b)};
+function $(a,b,c,d,e){this.key=a;this.D=b;this.left=c;this.right=d;this.F=e;this.w=32402207;this.I=0}h=$.prototype;h.Pd=function(a){return new $(this.key,this.D,this.left,a,null)};h.Lc=function(){throw Error("red-black tree invariant violation");};h.ib=function(){return new Pi(this.key,this.D,this.left,this.right,null)};h.Od=function(a){return new $(this.key,this.D,a,this.right,null)};h.replace=function(a,b,c,d){return new $(a,b,c,d,null)};
+h.Qd=function(a){return this.left instanceof $?new $(this.key,this.D,this.left.ib(),new Pi(a.key,a.D,this.right,a.right,null),null):this.right instanceof $?new $(this.right.key,this.right.D,new Pi(this.key,this.D,this.left,this.right.left,null),new Pi(a.key,a.D,this.right.right,a.right,null),null):new Pi(a.key,a.D,this,a.right,null)};
+h.Rd=function(a){return this.right instanceof $?new $(this.key,this.D,new Pi(a.key,a.D,a.left,this.left,null),this.right.ib(),null):this.left instanceof $?new $(this.left.key,this.left.D,new Pi(a.key,a.D,a.left,this.left.left,null),new Pi(this.key,this.D,this.left.right,this.right,null),null):new Pi(a.key,a.D,a.left,this,null)};h.Tb=function(a,b){return Ti(this,a,b)};h.J=function(a,b){return A.j(this,b,null)};h.K=function(a,b,c){return A.j(this,b,c)};
+h.L=function(a,b){return 0===b?this.key:1===b?this.D:null};h.ya=function(a,b,c){return 0===b?this.key:1===b?this.D:c};h.Qb=function(a,b,c){return(new X(null,2,5,Z,[this.key,this.D],null)).Qb(null,b,c)};h.M=function(){return null};h.ca=function(){return 2};h.yc=function(){return this.key};h.zc=function(){return this.D};h.wb=function(){return this.D};h.P=function(){var a=this.F;return null!=a?a:this.F=a=of(this)};h.H=function(a,b){return zf(this,b)};h.da=function(){return Ff};
+h.ma=function(a,b){return tf.e(this,b)};h.na=function(a,b,c){return tf.j(this,b,c)};h.bb=function(a,b,c){return T.j(new X(null,2,5,Z,[this.key,this.D],null),b,c)};h.U=function(){return Vd(Vd(I,this.D),this.key)};h.N=function(a,b){return Bf(new X(null,2,5,Z,[this.key,this.D],null),b)};h.X=function(a,b){return new X(null,3,5,Z,[this.key,this.D,b],null)};
+h.call=function(){var a=null,a=function(a,c,d){switch(arguments.length){case 2:return this.J(null,c);case 3:return this.K(null,c,d)}throw Error("Invalid arity: "+arguments.length);};a.e=function(a,c){return this.J(null,c)};a.j=function(a,c,d){return this.K(null,c,d)};return a}();h.apply=function(a,b){return this.call.apply(this,[this].concat(Jd(b)))};h.h=function(a){return this.J(null,a)};h.e=function(a,b){return this.K(null,a,b)};
+var Vi=function Ui(b,c,d,e,f){if(null==c)return new $(d,e,null,null,null);var g;g=c.key;g=b.e?b.e(d,g):b.call(null,d,g);if(0===g)return f[0]=c,null;if(0>g)return b=Ui(b,c.left,d,e,f),null!=b?c.Od(b):null;b=Ui(b,c.right,d,e,f);return null!=b?c.Pd(b):null},Xi=function Wi(b,c){if(null==b)return c;if(null==c)return b;if(b instanceof $){if(c instanceof $){var d=Wi(b.right,c.left);return d instanceof $?new $(d.key,d.D,new $(b.key,b.D,b.left,d.left,null),new $(c.key,c.D,d.right,c.right,null),null):new $(b.key,
+b.D,b.left,new $(c.key,c.D,d,c.right,null),null)}return new $(b.key,b.D,b.left,Wi(b.right,c),null)}if(c instanceof $)return new $(c.key,c.D,Wi(b,c.left),c.right,null);d=Wi(b.right,c.left);return d instanceof $?new $(d.key,d.D,new Pi(b.key,b.D,b.left,d.left,null),new Pi(c.key,c.D,d.right,c.right,null),null):Ri(b.key,b.D,b.left,new Pi(c.key,c.D,d,c.right,null))},Zi=function Yi(b,c,d,e){if(null!=c){var f;f=c.key;f=b.e?b.e(d,f):b.call(null,d,f);if(0===f)return e[0]=c,Xi(c.left,c.right);if(0>f)return b=
+Yi(b,c.left,d,e),null!=b||null!=e[0]?c.left instanceof Pi?Ri(c.key,c.D,b,c.right):new $(c.key,c.D,b,c.right,null):null;b=Yi(b,c.right,d,e);if(null!=b||null!=e[0])if(c.right instanceof Pi)if(e=c.key,d=c.D,c=c.left,b instanceof $)c=new $(e,d,c,b.ib(),null);else if(c instanceof Pi)c=Oi(e,d,c.Lc(),b);else if(c instanceof $&&c.right instanceof Pi)c=new $(c.right.key,c.right.D,Oi(c.key,c.D,c.left.Lc(),c.right.left),new Pi(e,d,c.right.right,b,null),null);else throw Error("red-black tree invariant violation");
+else c=new $(c.key,c.D,c.left,b,null);else c=null;return c}return null},aj=function $i(b,c,d,e){var f=c.key,g=b.e?b.e(d,f):b.call(null,d,f);return 0===g?c.replace(f,e,c.left,c.right):0>g?c.replace(f,c.D,$i(b,c.left,d,e),c.right):c.replace(f,c.D,c.left,$i(b,c.right,d,e))};function bj(a,b,c,d,e){this.Oa=a;this.hb=b;this.A=c;this.meta=d;this.F=e;this.w=418776847;this.I=8192}h=bj.prototype;
+h.forEach=function(a){for(var b=F(this),c=null,d=0,e=0;;)if(e<d){var f=c.L(null,e),g=Q.j(f,0,null),f=Q.j(f,1,null);a.e?a.e(f,g):a.call(null,f,g);e+=1}else if(b=F(b))Wf(b)?(c=Se(b),b=B(b),g=c,d=P(c),c=g):(c=G(b),g=Q.j(c,0,null),c=f=Q.j(c,1,null),a.e?a.e(c,g):a.call(null,c,g),b=K(b),c=null,d=0),e=0;else return null};h.get=function(a){return this.J(null,a)};h.entries=function(){return bi(F(this))};h.toString=function(){return Ze(this)};h.keys=function(){return $h(hi.h?hi.h(this):hi.call(null,this))};
+h.values=function(){return $h(ii.h?ii.h(this):ii.call(null,this))};h.equiv=function(a){return this.H(null,a)};function cj(a,b){for(var c=a.hb;;)if(null!=c){var d;d=c.key;d=a.Oa.e?a.Oa.e(b,d):a.Oa.call(null,b,d);if(0===d)return c;c=0>d?c.left:c.right}else return null}h.has=function(a){return dg(this,a)};h.J=function(a,b){return be.j(this,b,null)};h.K=function(a,b,c){a=cj(this,b);return null!=a?a.D:c};h.wc=function(a,b,c){return null!=this.hb?Ti(this.hb,b,c):c};h.M=function(){return this.meta};
+h.ua=function(){return new bj(this.Oa,this.hb,this.A,this.meta,this.F)};h.ca=function(){return this.A};h.dc=function(){return 0<this.A?Ni(this.hb,!1,this.A):null};h.P=function(){var a=this.F;return null!=a?a:this.F=a=pf(this)};h.H=function(a,b){return Yh(this,b)};h.da=function(){return Bf(dj,this.meta)};h.xc=function(a,b){var c=[null],d=Zi(this.Oa,this.hb,b,c);return null==d?null==Q.e(c,0)?this:new bj(this.Oa,null,0,this.meta,null):new bj(this.Oa,d.ib(),this.A-1,this.meta,null)};
+h.bb=function(a,b,c){a=[null];var d=Vi(this.Oa,this.hb,b,c,a);return null==d?(a=Q.e(a,0),C.e(c,a.D)?this:new bj(this.Oa,aj(this.Oa,this.hb,b,c),this.A,this.meta,null)):new bj(this.Oa,d.ib(),this.A+1,this.meta,null)};h.bc=function(a,b){return null!=cj(this,b)};h.U=function(){return 0<this.A?Ni(this.hb,!0,this.A):null};h.N=function(a,b){return new bj(this.Oa,this.hb,this.A,b,this.F)};
+h.X=function(a,b){if(Vf(b))return ee(this,A.e(b,0),A.e(b,1));for(var c=this,d=F(b);;){if(null==d)return c;var e=G(d);if(Vf(e))c=ee(c,A.e(e,0),A.e(e,1)),d=K(d);else throw Error("conj on a map takes map entries or seqables of map entries");}};
+h.call=function(){var a=null,a=function(a,c,d){switch(arguments.length){case 2:return this.J(null,c);case 3:return this.K(null,c,d)}throw Error("Invalid arity: "+arguments.length);};a.e=function(a,c){return this.J(null,c)};a.j=function(a,c,d){return this.K(null,c,d)};return a}();h.apply=function(a,b){return this.call.apply(this,[this].concat(Jd(b)))};h.h=function(a){return this.J(null,a)};h.e=function(a,b){return this.K(null,a,b)};
+var dj=new bj(kf,null,0,null,0),Zg=function(){function a(a){var d=null;0<arguments.length&&(d=L(Array.prototype.slice.call(arguments,0),0));return b.call(this,d)}function b(a){a=F(a);for(var b=Le(mi);;)if(a){var e=K(K(a)),b=Pg.j(b,G(a),Df(a));a=e}else return Ne(b)}a.G=0;a.v=function(a){a=F(a);return b(a)};a.k=b;return a}(),ej=function(){function a(a){var d=null;0<arguments.length&&(d=L(Array.prototype.slice.call(arguments,0),0));return b.call(this,d)}function b(a){return new s(null,ng(P(a)),U.e(Kd,
+a),null)}a.G=0;a.v=function(a){a=F(a);return b(a)};a.k=b;return a}();function fj(a,b){this.Aa=a;this.Ba=b;this.w=32374988;this.I=0}h=fj.prototype;h.toString=function(){return Ze(this)};h.equiv=function(a){return this.H(null,a)};h.M=function(){return this.Ba};h.va=function(){var a=this.Aa,a=(a?a.w&128||a.Sc||(a.w?0:u($d,a)):u($d,a))?this.Aa.va(null):K(this.Aa);return null==a?null:new fj(a,this.Ba)};h.P=function(){return of(this)};h.H=function(a,b){return zf(this,b)};h.da=function(){return Bf(I,this.Ba)};
+h.ma=function(a,b){return Cf.e(b,this)};h.na=function(a,b,c){return Cf.j(b,c,this)};h.la=function(){return this.Aa.la(null).yc(null)};h.ra=function(){var a=this.Aa,a=(a?a.w&128||a.Sc||(a.w?0:u($d,a)):u($d,a))?this.Aa.va(null):K(this.Aa);return null!=a?new fj(a,this.Ba):I};h.U=function(){return this};h.N=function(a,b){return new fj(this.Aa,b)};h.X=function(a,b){return N(b,this)};function hi(a){return(a=F(a))?new fj(a,null):null}function oi(a){return ie(a)}
+function gj(a,b){this.Aa=a;this.Ba=b;this.w=32374988;this.I=0}h=gj.prototype;h.toString=function(){return Ze(this)};h.equiv=function(a){return this.H(null,a)};h.M=function(){return this.Ba};h.va=function(){var a=this.Aa,a=(a?a.w&128||a.Sc||(a.w?0:u($d,a)):u($d,a))?this.Aa.va(null):K(this.Aa);return null==a?null:new gj(a,this.Ba)};h.P=function(){return of(this)};h.H=function(a,b){return zf(this,b)};h.da=function(){return Bf(I,this.Ba)};h.ma=function(a,b){return Cf.e(b,this)};
+h.na=function(a,b,c){return Cf.j(b,c,this)};h.la=function(){return this.Aa.la(null).zc(null)};h.ra=function(){var a=this.Aa,a=(a?a.w&128||a.Sc||(a.w?0:u($d,a)):u($d,a))?this.Aa.va(null):K(this.Aa);return null!=a?new gj(a,this.Ba):I};h.U=function(){return this};h.N=function(a,b){return new gj(this.Aa,b)};h.X=function(a,b){return N(b,this)};function ii(a){return(a=F(a))?new gj(a,null):null}function pi(a){return je(a)}
+var hj=function(){function a(a){var d=null;0<arguments.length&&(d=L(Array.prototype.slice.call(arguments,0),0));return b.call(this,d)}function b(a){return t(Tg(kg,a))?Ld.e(function(a,b){return Gf.e(t(a)?a:ki,b)},a):null}a.G=0;a.v=function(a){a=F(a);return b(a)};a.k=b;return a}();function ij(a,b){for(var c=ki,d=F(b);;)if(d)var e=G(d),f=S.j(a,e,jj),c=Rg.e(f,jj)?T.j(c,e,f):c,d=K(d);else return c}function kj(a,b,c){this.meta=a;this.Fb=b;this.F=c;this.w=15077647;this.I=8196}h=kj.prototype;h.toString=function(){return Ze(this)};
+h.equiv=function(a){return this.H(null,a)};h.keys=function(){return $h(F(this))};h.entries=function(){return di(F(this))};h.values=function(){return $h(F(this))};h.has=function(a){return dg(this,a)};h.forEach=function(a){for(var b=F(this),c=null,d=0,e=0;;)if(e<d){var f=c.L(null,e),g=Q.j(f,0,null),f=Q.j(f,1,null);a.e?a.e(f,g):a.call(null,f,g);e+=1}else if(b=F(b))Wf(b)?(c=Se(b),b=B(b),g=c,d=P(c),c=g):(c=G(b),g=Q.j(c,0,null),c=f=Q.j(c,1,null),a.e?a.e(c,g):a.call(null,c,g),b=K(b),c=null,d=0),e=0;else return null};
+h.J=function(a,b){return be.j(this,b,null)};h.K=function(a,b,c){return de(this.Fb,b)?b:c};h.M=function(){return this.meta};h.ua=function(){return new kj(this.meta,this.Fb,this.F)};h.ca=function(){return Sd(this.Fb)};h.P=function(){var a=this.F;return null!=a?a:this.F=a=pf(this)};h.H=function(a,b){return Sf(b)&&P(this)===P(b)&&Sg(function(a){return function(b){return dg(a,b)}}(this),b)};h.cc=function(){return new lj(Le(this.Fb))};h.da=function(){return Bf(mj,this.meta)};
+h.yd=function(a,b){return new kj(this.meta,ge(this.Fb,b),null)};h.U=function(){return hi(this.Fb)};h.N=function(a,b){return new kj(b,this.Fb,this.F)};h.X=function(a,b){return new kj(this.meta,T.j(this.Fb,b,null),null)};h.call=function(){var a=null,a=function(a,c,d){switch(arguments.length){case 2:return this.J(null,c);case 3:return this.K(null,c,d)}throw Error("Invalid arity: "+arguments.length);};a.e=function(a,c){return this.J(null,c)};a.j=function(a,c,d){return this.K(null,c,d)};return a}();
+h.apply=function(a,b){return this.call.apply(this,[this].concat(Jd(b)))};h.h=function(a){return this.J(null,a)};h.e=function(a,b){return this.K(null,a,b)};var mj=new kj(null,ki,0);function nj(a){var b=a.length;if(b<=li)for(var c=0,d=Le(ki);;)if(c<b)var e=c+1,d=Oe(d,a[c],null),c=e;else return new kj(null,Ne(d),null);else for(c=0,d=Le(mj);;)if(c<b)e=c+1,d=Me(d,a[c]),c=e;else return Ne(d)}function lj(a){this.Bb=a;this.I=136;this.w=259}h=lj.prototype;h.Ob=function(a,b){this.Bb=Pg.j(this.Bb,b,null);return this};
+h.Pb=function(){return new kj(null,Ne(this.Bb),null)};h.ca=function(){return P(this.Bb)};h.J=function(a,b){return be.j(this,b,null)};h.K=function(a,b,c){return be.j(this.Bb,b,$f)===$f?c:b};h.call=function(){function a(a,b,c){return be.j(this.Bb,b,$f)===$f?c:b}function b(a,b){return be.j(this.Bb,b,$f)===$f?null:b}var c=null,c=function(c,e,f){switch(arguments.length){case 2:return b.call(this,c,e);case 3:return a.call(this,c,e,f)}throw Error("Invalid arity: "+arguments.length);};c.e=b;c.j=a;return c}();
+h.apply=function(a,b){return this.call.apply(this,[this].concat(Jd(b)))};h.h=function(a){return be.j(this.Bb,a,$f)===$f?null:a};h.e=function(a,b){return be.j(this.Bb,a,$f)===$f?b:a};function oj(a,b,c){this.meta=a;this.Cb=b;this.F=c;this.w=417730831;this.I=8192}h=oj.prototype;h.toString=function(){return Ze(this)};h.equiv=function(a){return this.H(null,a)};h.keys=function(){return $h(F(this))};h.entries=function(){return di(F(this))};h.values=function(){return $h(F(this))};
+h.has=function(a){return dg(this,a)};h.forEach=function(a){for(var b=F(this),c=null,d=0,e=0;;)if(e<d){var f=c.L(null,e),g=Q.j(f,0,null),f=Q.j(f,1,null);a.e?a.e(f,g):a.call(null,f,g);e+=1}else if(b=F(b))Wf(b)?(c=Se(b),b=B(b),g=c,d=P(c),c=g):(c=G(b),g=Q.j(c,0,null),c=f=Q.j(c,1,null),a.e?a.e(c,g):a.call(null,c,g),b=K(b),c=null,d=0),e=0;else return null};h.J=function(a,b){return be.j(this,b,null)};h.K=function(a,b,c){a=cj(this.Cb,b);return null!=a?a.key:c};h.M=function(){return this.meta};
+h.ua=function(){return new oj(this.meta,this.Cb,this.F)};h.ca=function(){return P(this.Cb)};h.dc=function(){return 0<P(this.Cb)?eh.e(oi,Ee(this.Cb)):null};h.P=function(){var a=this.F;return null!=a?a:this.F=a=pf(this)};h.H=function(a,b){return Sf(b)&&P(this)===P(b)&&Sg(function(a){return function(b){return dg(a,b)}}(this),b)};h.da=function(){return Bf(pj,this.meta)};h.yd=function(a,b){return new oj(this.meta,Kf.e(this.Cb,b),null)};h.U=function(){return hi(this.Cb)};
+h.N=function(a,b){return new oj(b,this.Cb,this.F)};h.X=function(a,b){return new oj(this.meta,T.j(this.Cb,b,null),null)};h.call=function(){var a=null,a=function(a,c,d){switch(arguments.length){case 2:return this.J(null,c);case 3:return this.K(null,c,d)}throw Error("Invalid arity: "+arguments.length);};a.e=function(a,c){return this.J(null,c)};a.j=function(a,c,d){return this.K(null,c,d)};return a}();h.apply=function(a,b){return this.call.apply(this,[this].concat(Jd(b)))};
+h.h=function(a){return this.J(null,a)};h.e=function(a,b){return this.K(null,a,b)};var pj=new oj(null,dj,0);function xg(a){if(a&&(a.I&4096||a.kf))return a.name;if("string"===typeof a)return a;throw Error("Doesn't support name: "+z.h(a));}function qj(a,b,c){this.i=a;this.end=b;this.step=c}qj.prototype.Zc=function(){return 0<this.step?this.i<this.end:this.i>this.end};qj.prototype.next=function(){var a=this.i;this.i+=this.step;return a};
+function rj(a,b,c,d,e){this.meta=a;this.start=b;this.end=c;this.step=d;this.F=e;this.w=32375006;this.I=8192}h=rj.prototype;h.toString=function(){return Ze(this)};h.equiv=function(a){return this.H(null,a)};h.L=function(a,b){if(b<Sd(this))return this.start+b*this.step;if(this.start>this.end&&0===this.step)return this.start;throw Error("Index out of bounds");};h.ya=function(a,b,c){return b<Sd(this)?this.start+b*this.step:this.start>this.end&&0===this.step?this.start:c};
+h.vc=function(){return new qj(this.start,this.end,this.step)};h.M=function(){return this.meta};h.ua=function(){return new rj(this.meta,this.start,this.end,this.step,this.F)};h.va=function(){return 0<this.step?this.start+this.step<this.end?new rj(this.meta,this.start+this.step,this.end,this.step,null):null:this.start+this.step>this.end?new rj(this.meta,this.start+this.step,this.end,this.step,null):null};
+h.ca=function(){if(Gd(Be(this)))return 0;var a=(this.end-this.start)/this.step;return Math.ceil.h?Math.ceil.h(a):Math.ceil.call(null,a)};h.P=function(){var a=this.F;return null!=a?a:this.F=a=of(this)};h.H=function(a,b){return zf(this,b)};h.da=function(){return Bf(I,this.meta)};h.ma=function(a,b){return tf.e(this,b)};h.na=function(a,b,c){for(a=this.start;;)if(0<this.step?a<this.end:a>this.end){var d=a;c=b.e?b.e(c,d):b.call(null,c,d);if(sf(c))return b=c,M.h?M.h(b):M.call(null,b);a+=this.step}else return c};
+h.la=function(){return null==Be(this)?null:this.start};h.ra=function(){return null!=Be(this)?new rj(this.meta,this.start+this.step,this.end,this.step,null):I};h.U=function(){return 0<this.step?this.start<this.end?this:null:this.start>this.end?this:null};h.N=function(a,b){return new rj(b,this.start,this.end,this.step,this.F)};h.X=function(a,b){return N(b,this)};
+var sj=function(){function a(a,b,c){return new rj(null,a,b,c,null)}function b(a,b){return e.j(a,b,1)}function c(a){return e.j(0,a,1)}function d(){return e.j(0,Number.MAX_VALUE,1)}var e=null,e=function(e,g,k){switch(arguments.length){case 0:return d.call(this);case 1:return c.call(this,e);case 2:return b.call(this,e,g);case 3:return a.call(this,e,g,k)}throw Error("Invalid arity: "+arguments.length);};e.B=d;e.h=c;e.e=b;e.j=a;return e}(),tj=function(){function a(a,b,c){return function(){function d(e,
+l,m){return new X(null,3,5,Z,[a.j?a.j(e,l,m):a.call(null,e,l,m),b.j?b.j(e,l,m):b.call(null,e,l,m),c.j?c.j(e,l,m):c.call(null,e,l,m)],null)}function e(d,l){return new X(null,3,5,Z,[a.e?a.e(d,l):a.call(null,d,l),b.e?b.e(d,l):b.call(null,d,l),c.e?c.e(d,l):c.call(null,d,l)],null)}function n(d){return new X(null,3,5,Z,[a.h?a.h(d):a.call(null,d),b.h?b.h(d):b.call(null,d),c.h?c.h(d):c.call(null,d)],null)}function q(){return new X(null,3,5,Z,[a.B?a.B():a.call(null),b.B?b.B():b.call(null),c.B?c.B():c.call(null)],
+null)}var r=null,v=function(){function d(a,b,c,f){var g=null;3<arguments.length&&(g=L(Array.prototype.slice.call(arguments,3),0));return e.call(this,a,b,c,g)}function e(d,l,m,n){return new X(null,3,5,Z,[U.O(a,d,l,m,n),U.O(b,d,l,m,n),U.O(c,d,l,m,n)],null)}d.G=3;d.v=function(a){var b=G(a);a=K(a);var c=G(a);a=K(a);var d=G(a);a=H(a);return e(b,c,d,a)};d.k=e;return d}(),r=function(a,b,c,f){switch(arguments.length){case 0:return q.call(this);case 1:return n.call(this,a);case 2:return e.call(this,a,b);case 3:return d.call(this,
+a,b,c);default:return v.k(a,b,c,L(arguments,3))}throw Error("Invalid arity: "+arguments.length);};r.G=3;r.v=v.v;r.B=q;r.h=n;r.e=e;r.j=d;r.k=v.k;return r}()}function b(a,b){return function(){function c(d,e,k){return new X(null,2,5,Z,[a.j?a.j(d,e,k):a.call(null,d,e,k),b.j?b.j(d,e,k):b.call(null,d,e,k)],null)}function d(c,e){return new X(null,2,5,Z,[a.e?a.e(c,e):a.call(null,c,e),b.e?b.e(c,e):b.call(null,c,e)],null)}function e(c){return new X(null,2,5,Z,[a.h?a.h(c):a.call(null,c),b.h?b.h(c):b.call(null,
+c)],null)}function n(){return new X(null,2,5,Z,[a.B?a.B():a.call(null),b.B?b.B():b.call(null)],null)}var q=null,r=function(){function c(a,b,e,f){var g=null;3<arguments.length&&(g=L(Array.prototype.slice.call(arguments,3),0));return d.call(this,a,b,e,g)}function d(c,e,k,l){return new X(null,2,5,Z,[U.O(a,c,e,k,l),U.O(b,c,e,k,l)],null)}c.G=3;c.v=function(a){var b=G(a);a=K(a);var c=G(a);a=K(a);var e=G(a);a=H(a);return d(b,c,e,a)};c.k=d;return c}(),q=function(a,b,f,g){switch(arguments.length){case 0:return n.call(this);
+case 1:return e.call(this,a);case 2:return d.call(this,a,b);case 3:return c.call(this,a,b,f);default:return r.k(a,b,f,L(arguments,3))}throw Error("Invalid arity: "+arguments.length);};q.G=3;q.v=r.v;q.B=n;q.h=e;q.e=d;q.j=c;q.k=r.k;return q}()}function c(a){return function(){function b(c,d,e){return new X(null,1,5,Z,[a.j?a.j(c,d,e):a.call(null,c,d,e)],null)}function c(b,d){return new X(null,1,5,Z,[a.e?a.e(b,d):a.call(null,b,d)],null)}function d(b){return new X(null,1,5,Z,[a.h?a.h(b):a.call(null,b)],
+null)}function e(){return new X(null,1,5,Z,[a.B?a.B():a.call(null)],null)}var n=null,q=function(){function b(a,d,e,f){var g=null;3<arguments.length&&(g=L(Array.prototype.slice.call(arguments,3),0));return c.call(this,a,d,e,g)}function c(b,d,e,g){return new X(null,1,5,Z,[U.O(a,b,d,e,g)],null)}b.G=3;b.v=function(a){var b=G(a);a=K(a);var d=G(a);a=K(a);var e=G(a);a=H(a);return c(b,d,e,a)};b.k=c;return b}(),n=function(a,f,n,x){switch(arguments.length){case 0:return e.call(this);case 1:return d.call(this,
+a);case 2:return c.call(this,a,f);case 3:return b.call(this,a,f,n);default:return q.k(a,f,n,L(arguments,3))}throw Error("Invalid arity: "+arguments.length);};n.G=3;n.v=q.v;n.B=e;n.h=d;n.e=c;n.j=b;n.k=q.k;return n}()}var d=null,e=function(){function a(c,d,e,f){var q=null;3<arguments.length&&(q=L(Array.prototype.slice.call(arguments,3),0));return b.call(this,c,d,e,q)}function b(a,c,d,e){return function(a){return function(){function b(c,d,e){return Ld.j(function(){return function(a,b){return Gf.e(a,
+b.j?b.j(c,d,e):b.call(null,c,d,e))}}(a),Ff,a)}function c(b,d){return Ld.j(function(){return function(a,c){return Gf.e(a,c.e?c.e(b,d):c.call(null,b,d))}}(a),Ff,a)}function d(b){return Ld.j(function(){return function(a,c){return Gf.e(a,c.h?c.h(b):c.call(null,b))}}(a),Ff,a)}function e(){return Ld.j(function(){return function(a,b){return Gf.e(a,b.B?b.B():b.call(null))}}(a),Ff,a)}var f=null,g=function(){function b(a,d,e,f){var g=null;3<arguments.length&&(g=L(Array.prototype.slice.call(arguments,3),0));
+return c.call(this,a,d,e,g)}function c(b,d,e,f){return Ld.j(function(){return function(a,c){return Gf.e(a,U.O(c,b,d,e,f))}}(a),Ff,a)}b.G=3;b.v=function(a){var b=G(a);a=K(a);var d=G(a);a=K(a);var e=G(a);a=H(a);return c(b,d,e,a)};b.k=c;return b}(),f=function(a,f,k,l){switch(arguments.length){case 0:return e.call(this);case 1:return d.call(this,a);case 2:return c.call(this,a,f);case 3:return b.call(this,a,f,k);default:return g.k(a,f,k,L(arguments,3))}throw Error("Invalid arity: "+arguments.length);};
+f.G=3;f.v=g.v;f.B=e;f.h=d;f.e=c;f.j=b;f.k=g.k;return f}()}(Mg.C(a,c,d,e))}a.G=3;a.v=function(a){var c=G(a);a=K(a);var d=G(a);a=K(a);var e=G(a);a=H(a);return b(c,d,e,a)};a.k=b;return a}(),d=function(d,g,k,l){switch(arguments.length){case 1:return c.call(this,d);case 2:return b.call(this,d,g);case 3:return a.call(this,d,g,k);default:return e.k(d,g,k,L(arguments,3))}throw Error("Invalid arity: "+arguments.length);};d.G=3;d.v=e.v;d.h=c;d.e=b;d.j=a;d.k=e.k;return d}(),uj=function(){function a(a,b){for(;;)if(F(b)&&
+0<a){var c=a-1,g=K(b);a=c;b=g}else return null}function b(a){for(;;)if(F(a))a=K(a);else return null}var c=null,c=function(c,e){switch(arguments.length){case 1:return b.call(this,c);case 2:return a.call(this,c,e)}throw Error("Invalid arity: "+arguments.length);};c.h=b;c.e=a;return c}(),vj=function(){function a(a,b){uj.e(a,b);return b}function b(a){uj.h(a);return a}var c=null,c=function(c,e){switch(arguments.length){case 1:return b.call(this,c);case 2:return a.call(this,c,e)}throw Error("Invalid arity: "+
+arguments.length);};c.h=b;c.e=a;return c}();function wj(a,b){if("string"===typeof b){var c=a.exec(b);return C.e(G(c),b)?1===P(c)?G(c):Lh(c):null}throw new TypeError("re-matches must match against a string.");}function xj(a){if(a instanceof RegExp)return a;var b;b=/^(?:\(\?([idmsux]*)\))?(.*)/;if("string"===typeof a)a=b.exec(a),b=null==a?null:1===P(a)?G(a):Lh(a);else throw new TypeError("re-find must match against a string.");Q.j(b,0,null);a=Q.j(b,1,null);b=Q.j(b,2,null);return new RegExp(b,a)}
+function yj(a,b,c,d,e,f,g){var k=yd;try{yd=null==yd?null:yd-1;if(null!=yd&&0>yd)return Fe(a,"#");Fe(a,c);if(F(g)){var l=G(g);b.j?b.j(l,a,f):b.call(null,l,a,f)}for(var m=K(g),n=Ed.h(f)-1;;)if(!m||null!=n&&0===n){F(m)&&0===n&&(Fe(a,d),Fe(a,"..."));break}else{Fe(a,d);var q=G(m);c=a;g=f;b.j?b.j(q,c,g):b.call(null,q,c,g);var r=K(m);c=n-1;m=r;n=c}return Fe(a,e)}finally{yd=k}}
+var zj=function(){function a(a,d){var e=null;1<arguments.length&&(e=L(Array.prototype.slice.call(arguments,1),0));return b.call(this,a,e)}function b(a,b){for(var e=F(b),f=null,g=0,k=0;;)if(k<g){var l=f.L(null,k);Fe(a,l);k+=1}else if(e=F(e))f=e,Wf(f)?(e=Se(f),g=B(f),f=e,l=P(e),e=g,g=l):(l=G(f),Fe(a,l),e=K(f),f=null,g=0),k=0;else return null}a.G=1;a.v=function(a){var d=G(a);a=H(a);return b(d,a)};a.k=b;return a}(),Aj={'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t"};
+function Bj(a){return'"'+z.h(a.replace(RegExp('[\\\\"\b\f\n\r\t]',"g"),function(a){return Aj[a]}))+'"'}
+var Ej=function Cj(b,c,d){if(null==b)return Fe(c,"nil");if(void 0===b)return Fe(c,"#\x3cundefined\x3e");t(function(){var c=S.e(d,Cd);return t(c)?(c=b?b.w&131072||b.jf?!0:b.w?!1:u(qe,b):u(qe,b))?Nf(b):c:c}())&&(Fe(c,"^"),Cj(Nf(b),c,d),Fe(c," "));if(null==b)return Fe(c,"nil");if(b.Wa)return b.cb(b,c,d);if(b&&(b.w&2147483648||b.fa))return b.Q(null,c,d);if(Hd(b)===Boolean||"number"===typeof b)return Fe(c,""+z.h(b));if(null!=b&&b.constructor===Object){Fe(c,"#js ");var e=eh.e(function(c){return new X(null,
+2,5,Z,[yg.h(c),b[c]],null)},Xf(b));return Dj.C?Dj.C(e,Cj,c,d):Dj.call(null,e,Cj,c,d)}return b instanceof Array?yj(c,Cj,"#js ["," ","]",d,b):t(ga(b))?t(Bd.h(d))?Fe(c,Bj(b)):Fe(c,b):Lf(b)?zj.k(c,L(["#\x3c",""+z.h(b),"\x3e"],0)):b instanceof Date?(e=function(b,c){for(var d=""+z.h(b);;)if(P(d)<c)d="0"+z.h(d);else return d},zj.k(c,L(['#inst "',""+z.h(b.getUTCFullYear()),"-",e(b.getUTCMonth()+1,2),"-",e(b.getUTCDate(),2),"T",e(b.getUTCHours(),2),":",e(b.getUTCMinutes(),2),":",e(b.getUTCSeconds(),2),".",
+e(b.getUTCMilliseconds(),3),"-",'00:00"'],0))):b instanceof RegExp?zj.k(c,L(['#"',b.source,'"'],0)):(b?b.w&2147483648||b.fa||(b.w?0:u(Ge,b)):u(Ge,b))?He(b,c,d):zj.k(c,L(["#\x3c",""+z.h(b),"\x3e"],0))};function Fj(a,b){var c=new xd;a:{var d=new Ye(c);Ej(G(a),d,b);for(var e=F(K(a)),f=null,g=0,k=0;;)if(k<g){var l=f.L(null,k);Fe(d," ");Ej(l,d,b);k+=1}else if(e=F(e))f=e,Wf(f)?(e=Se(f),g=B(f),f=e,l=P(e),e=g,g=l):(l=G(f),Fe(d," "),Ej(l,d,b),e=K(f),f=null,g=0),k=0;else break a}return c}
+var bh=function(){function a(a){var d=null;0<arguments.length&&(d=L(Array.prototype.slice.call(arguments,0),0));return b.call(this,d)}function b(a){var b=zd();return Qf(a)?"":""+z.h(Fj(a,b))}a.G=0;a.v=function(a){a=F(a);return b(a)};a.k=b;return a}();function Dj(a,b,c,d){return yj(c,function(a,c,d){var k=ie(a);b.j?b.j(k,c,d):b.call(null,k,c,d);Fe(c," ");a=je(a);return b.j?b.j(a,c,d):b.call(null,a,c,d)},"{",", ","}",d,F(a))}mf.prototype.fa=!0;
+mf.prototype.Q=function(a,b,c){return yj(b,Ej,"("," ",")",c,this)};zg.prototype.fa=!0;zg.prototype.Q=function(a,b,c){return yj(b,Ej,"("," ",")",c,this)};Mi.prototype.fa=!0;Mi.prototype.Q=function(a,b,c){return yj(b,Ej,"("," ",")",c,this)};Fi.prototype.fa=!0;Fi.prototype.Q=function(a,b,c){return yj(b,Ej,"("," ",")",c,this)};Pi.prototype.fa=!0;Pi.prototype.Q=function(a,b,c){return yj(b,Ej,"["," ","]",c,this)};fi.prototype.fa=!0;fi.prototype.Q=function(a,b,c){return yj(b,Ej,"("," ",")",c,this)};
+oj.prototype.fa=!0;oj.prototype.Q=function(a,b,c){return yj(b,Ej,"#{"," ","}",c,this)};Mh.prototype.fa=!0;Mh.prototype.Q=function(a,b,c){return yj(b,Ej,"("," ",")",c,this)};vg.prototype.fa=!0;vg.prototype.Q=function(a,b,c){return yj(b,Ej,"("," ",")",c,this)};yf.prototype.fa=!0;yf.prototype.Q=function(a,b,c){return yj(b,Ej,"("," ",")",c,this)};Hi.prototype.fa=!0;Hi.prototype.Q=function(a,b,c){return Dj(this,Ej,b,c)};Gi.prototype.fa=!0;Gi.prototype.Q=function(a,b,c){return yj(b,Ej,"("," ",")",c,this)};
+Oh.prototype.fa=!0;Oh.prototype.Q=function(a,b,c){return yj(b,Ej,"["," ","]",c,this)};bj.prototype.fa=!0;bj.prototype.Q=function(a,b,c){return Dj(this,Ej,b,c)};kj.prototype.fa=!0;kj.prototype.Q=function(a,b,c){return yj(b,Ej,"#{"," ","}",c,this)};Fg.prototype.fa=!0;Fg.prototype.Q=function(a,b,c){return yj(b,Ej,"("," ",")",c,this)};Yg.prototype.fa=!0;Yg.prototype.Q=function(a,b,c){Fe(b,"#\x3cAtom: ");Ej(this.state,b,c);return Fe(b,"\x3e")};gj.prototype.fa=!0;
+gj.prototype.Q=function(a,b,c){return yj(b,Ej,"("," ",")",c,this)};$.prototype.fa=!0;$.prototype.Q=function(a,b,c){return yj(b,Ej,"["," ","]",c,this)};X.prototype.fa=!0;X.prototype.Q=function(a,b,c){return yj(b,Ej,"["," ","]",c,this)};Th.prototype.fa=!0;Th.prototype.Q=function(a,b,c){return yj(b,Ej,"("," ",")",c,this)};sg.prototype.fa=!0;sg.prototype.Q=function(a,b){return Fe(b,"()")};Uh.prototype.fa=!0;Uh.prototype.Q=function(a,b,c){return yj(b,Ej,"#queue ["," ","]",c,F(this))};s.prototype.fa=!0;
+s.prototype.Q=function(a,b,c){return Dj(this,Ej,b,c)};rj.prototype.fa=!0;rj.prototype.Q=function(a,b,c){return yj(b,Ej,"("," ",")",c,this)};fj.prototype.fa=!0;fj.prototype.Q=function(a,b,c){return yj(b,Ej,"("," ",")",c,this)};rg.prototype.fa=!0;rg.prototype.Q=function(a,b,c){return yj(b,Ej,"("," ",")",c,this)};D.prototype.Pc=!0;D.prototype.Qc=function(a,b){return jf(this,b)};V.prototype.Pc=!0;V.prototype.Qc=function(a,b){return jf(this,b)};Oh.prototype.Pc=!0;
+Oh.prototype.Qc=function(a,b){return eg.e(this,b)};X.prototype.Pc=!0;X.prototype.Qc=function(a,b){return eg.e(this,b)};function Gj(a,b,c){Je(a,b,c)}var Hj=null,Ij=function(){function a(a){null==Hj&&(Hj=W.h?W.h(0):W.call(null,0));return lf.h(""+z.h(a)+z.h(dh.e(Hj,qf)))}function b(){return c.h("G__")}var c=null,c=function(c){switch(arguments.length){case 0:return b.call(this);case 1:return a.call(this,c)}throw Error("Invalid arity: "+arguments.length);};c.B=b;c.h=a;return c}();
+function Jj(a){return function(b,c){var d=a.e?a.e(b,c):a.call(null,b,c);return sf(d)?new rf(d):d}}
+function lh(a){return function(b){return function(){function c(a,c){return Ld.j(b,a,c)}function d(b){return a.h?a.h(b):a.call(null,b)}function e(){return a.B?a.B():a.call(null)}var f=null,f=function(a,b){switch(arguments.length){case 0:return e.call(this);case 1:return d.call(this,a);case 2:return c.call(this,a,b)}throw Error("Invalid arity: "+arguments.length);};f.B=e;f.h=d;f.e=c;return f}()}(Jj(a))}var Kj={};
+function Lj(a){if(a?a.ef:a)return a.ef(a);var b;b=Lj[p(null==a?null:a)];if(!b&&(b=Lj._,!b))throw w("IEncodeJS.-clj-\x3ejs",a);return b.call(null,a)}function Mj(a){return(a?t(t(null)?null:a.df)||(a.Y?0:u(Kj,a)):u(Kj,a))?Lj(a):"string"===typeof a||"number"===typeof a||a instanceof V||a instanceof D?Nj.h?Nj.h(a):Nj.call(null,a):bh.k(L([a],0))}
+var Nj=function Oj(b){if(null==b)return null;if(b?t(t(null)?null:b.df)||(b.Y?0:u(Kj,b)):u(Kj,b))return Lj(b);if(b instanceof V)return xg(b);if(b instanceof D)return""+z.h(b);if(Uf(b)){var c={};b=F(b);for(var d=null,e=0,f=0;;)if(f<e){var g=d.L(null,f),k=Q.j(g,0,null),g=Q.j(g,1,null);c[Mj(k)]=Oj(g);f+=1}else if(b=F(b))Wf(b)?(e=Se(b),b=B(b),d=e,e=P(e)):(e=G(b),d=Q.j(e,0,null),e=Q.j(e,1,null),c[Mj(d)]=Oj(e),b=K(b),d=null,e=0),f=0;else break;return c}if(Rf(b)){c=[];b=F(eh.e(Oj,b));d=null;for(f=e=0;;)if(f<
+e)k=d.L(null,f),c.push(k),f+=1;else if(b=F(b))d=b,Wf(d)?(b=Se(d),f=B(d),d=b,e=P(b),b=f):(b=G(d),c.push(b),b=K(d),d=null,e=0),f=0;else break;return c}return b},Pj={};function Qj(a,b){if(a?a.cf:a)return a.cf(a,b);var c;c=Qj[p(null==a?null:a)];if(!c&&(c=Qj._,!c))throw w("IEncodeClojure.-js-\x3eclj",a);return c.call(null,a,b)}
+var Sj=function(){function a(a){return b.k(a,L([new s(null,1,[Rj,!1],null)],0))}var b=null,c=function(){function a(c,d){var k=null;1<arguments.length&&(k=L(Array.prototype.slice.call(arguments,1),0));return b.call(this,c,k)}function b(a,c){if(a?t(t(null)?null:a.wg)||(a.Y?0:u(Pj,a)):u(Pj,a))return Qj(a,U.e(ej,c));if(F(c)){var d=ag(c)?U.e(Zg,c):c,e=S.e(d,Rj);return function(a,b,c,d){return function y(e){return ag(e)?vj.h(eh.e(y,e)):Rf(e)?oh.e(Hf(e),eh.e(y,e)):e instanceof Array?Lh(eh.e(y,e)):Hd(e)===
+Object?oh.e(ki,function(){return function(a,b,c,d){return function Ta(f){return new zg(null,function(a,b,c,d){return function(){for(;;){var a=F(f);if(a){if(Wf(a)){var b=Se(a),c=P(b),g=Dg(c);return function(){for(var a=0;;)if(a<c){var f=A.e(b,a),k=g,l=Z,m;m=f;m=d.h?d.h(m):d.call(null,m);f=new X(null,2,5,l,[m,y(e[f])],null);k.add(f);a+=1}else return!0}()?Gg(g.qa(),Ta(B(a))):Gg(g.qa(),null)}var k=G(a);return N(new X(null,2,5,Z,[function(){var a=k;return d.h?d.h(a):d.call(null,a)}(),y(e[k])],null),Ta(H(a)))}return null}}}(a,
+b,c,d),null,null)}}(a,b,c,d)(Xf(e))}()):e}}(c,d,e,t(e)?yg:z)(a)}return null}a.G=1;a.v=function(a){var c=G(a);a=H(a);return b(c,a)};a.k=b;return a}(),b=function(b,e){switch(arguments.length){case 1:return a.call(this,b);default:return c.k(b,L(arguments,1))}throw Error("Invalid arity: "+arguments.length);};b.G=1;b.v=c.v;b.h=a;b.k=c.k;return b}();function Tj(a,b){return Ng(Ld.j(function(b,d){var e=a.h?a.h(d):a.call(null,d);return Pg.j(b,e,Gf.e(S.j(b,e,Ff),d))},Le(ki),b))}
+function Uj(a){this.Lb=a;this.w=2153775104;this.I=0}h=Uj.prototype;h.toString=function(){return this.Lb};h.equiv=function(a){return this.H(null,a)};h.H=function(a,b){return b instanceof Uj&&this.Lb===b.Lb};h.Q=function(a,b){return Fe(b,'#uuid "'+z.h(this.Lb)+'"')};h.P=function(){for(var a=bh.k(L([this],0)),b=0,c=0;c<a.length;++c)b=31*b+a.charCodeAt(c),b%=4294967296;return b};var Vj="undefined"!=typeof Object.keys?function(a){return Object.keys(a)}:function(a){return Ab(a)},Wj="undefined"!=typeof Array.isArray?function(a){return Array.isArray(a)}:function(a){return"array"===p(a)};function Xj(){return Math.round(15*Math.random()).toString(16)};function Yj(a,b){if(null==a)return null==b;if(a===b)return!0;if("object"===typeof a){if(Wj(a)){if(Wj(b)&&a.length===b.length){for(var c=0;c<a.length;c++)if(!Yj(a[c],b[c]))return!1;return!0}return!1}if(a.Na)return a.Na(b);if(null!=b&&"object"===typeof b){if(b.Na)return b.Na(a);var c=0,d=Vj(b).length,e;for(e in a)if(a.hasOwnProperty(e)&&(c++,!b.hasOwnProperty(e)||!Yj(a[e],b[e])))return!1;return c===d}}return!1}function Zj(a,b){return a^b+2654435769+(a<<6)+(a>>2)}var ak={},bk=0;
+function ck(a){var b=0;if(null!=a.forEach)a.forEach(function(a,c){b=(b+(dk(c)^dk(a)))%4503599627370496});else for(var c=Vj(a),d=0;d<c.length;d++)var e=c[d],f=a[e],b=(b+(dk(e)^dk(f)))%4503599627370496;return b}function ek(a){var b=0;if(Wj(a))for(var c=0;c<a.length;c++)b=Zj(b,dk(a[c]));else a.forEach&&a.forEach(function(a){b=Zj(b,dk(a))});return b}
+function dk(a){if(null==a)return 0;switch(typeof a){case "number":return a;case "boolean":return!0===a?1:0;case "string":var b=ak[a];if(null==b){for(var c=b=0;c<a.length;++c)b=31*b+a.charCodeAt(c),b%=4294967296;bk++;256<=bk&&(ak={},bk=1);ak[a]=b}a=b;return a;default:return a instanceof Date?a.valueOf():Wj(a)?ek(a):a.Xa?a.Xa():ck(a)}};function fk(a,b){this.ia=a|0;this.aa=b|0}var gk={};function hk(a){if(-128<=a&&128>a){var b=gk[a];if(b)return b}b=new fk(a|0,0>a?-1:0);-128<=a&&128>a&&(gk[a]=b);return b}function ik(a){return isNaN(a)||!isFinite(a)?jk:a<=-kk?lk:a+1>=kk?mk:0>a?nk(ik(-a)):new fk(a%ok|0,a/ok|0)}function pk(a,b){return new fk(a,b)}
+function qk(a,b){if(0==a.length)throw Error("number format error: empty string");var c=b||10;if(2>c||36<c)throw Error("radix out of range: "+c);if("-"==a.charAt(0))return nk(qk(a.substring(1),c));if(0<=a.indexOf("-"))throw Error('number format error: interior "-" character: '+a);for(var d=ik(Math.pow(c,8)),e=jk,f=0;f<a.length;f+=8){var g=Math.min(8,a.length-f),k=parseInt(a.substring(f,f+g),c);8>g?(g=ik(Math.pow(c,g)),e=e.multiply(g).add(ik(k))):(e=e.multiply(d),e=e.add(ik(k)))}return e}
+var ok=4294967296,kk=ok*ok/2,jk=hk(0),rk=hk(1),sk=hk(-1),mk=pk(-1,2147483647),lk=pk(0,-2147483648),tk=hk(16777216);function uk(a){return a.aa*ok+(0<=a.ia?a.ia:ok+a.ia)}h=fk.prototype;
+h.toString=function(a){a=a||10;if(2>a||36<a)throw Error("radix out of range: "+a);if(vk(this))return"0";if(0>this.aa){if(this.Ca(lk)){var b=ik(a),c=this.div(b),b=wk(c.multiply(b),this);return c.toString(a)+b.ia.toString(a)}return"-"+nk(this).toString(a)}for(var c=ik(Math.pow(a,6)),b=this,d="";;){var e=b.div(c),f=wk(b,e.multiply(c)).ia.toString(a),b=e;if(vk(b))return f+d;for(;6>f.length;)f="0"+f;d=""+f+d}};function vk(a){return 0==a.aa&&0==a.ia}h.Ca=function(a){return this.aa==a.aa&&this.ia==a.ia};
+h.compare=function(a){if(this.Ca(a))return 0;var b=0>this.aa,c=0>a.aa;return b&&!c?-1:!b&&c?1:0>wk(this,a).aa?-1:1};function nk(a){return a.Ca(lk)?lk:pk(~a.ia,~a.aa).add(rk)}h.add=function(a){var b=this.aa>>>16,c=this.aa&65535,d=this.ia>>>16,e=a.aa>>>16,f=a.aa&65535,g=a.ia>>>16,k;k=0+((this.ia&65535)+(a.ia&65535));a=0+(k>>>16);a+=d+g;d=0+(a>>>16);d+=c+f;c=0+(d>>>16);c=c+(b+e)&65535;return pk((a&65535)<<16|k&65535,c<<16|d&65535)};function wk(a,b){return a.add(nk(b))}
+h.multiply=function(a){if(vk(this)||vk(a))return jk;if(this.Ca(lk))return 1==(a.ia&1)?lk:jk;if(a.Ca(lk))return 1==(this.ia&1)?lk:jk;if(0>this.aa)return 0>a.aa?nk(this).multiply(nk(a)):nk(nk(this).multiply(a));if(0>a.aa)return nk(this.multiply(nk(a)));if(0>this.compare(tk)&&0>a.compare(tk))return ik(uk(this)*uk(a));var b=this.aa>>>16,c=this.aa&65535,d=this.ia>>>16,e=this.ia&65535,f=a.aa>>>16,g=a.aa&65535,k=a.ia>>>16;a=a.ia&65535;var l,m,n,q;q=0+e*a;n=0+(q>>>16);n+=d*a;m=0+(n>>>16);n=(n&65535)+e*k;
+m+=n>>>16;n&=65535;m+=c*a;l=0+(m>>>16);m=(m&65535)+d*k;l+=m>>>16;m&=65535;m+=e*g;l+=m>>>16;m&=65535;l=l+(b*a+c*k+d*g+e*f)&65535;return pk(n<<16|q&65535,l<<16|m)};
+h.div=function(a){if(vk(a))throw Error("division by zero");if(vk(this))return jk;if(this.Ca(lk)){if(a.Ca(rk)||a.Ca(sk))return lk;if(a.Ca(lk))return rk;var b;b=1;if(0==b)b=this;else{var c=this.aa;b=32>b?pk(this.ia>>>b|c<<32-b,c>>b):pk(c>>b-32,0<=c?0:-1)}b=b.div(a).shiftLeft(1);if(b.Ca(jk))return 0>a.aa?rk:sk;c=wk(this,a.multiply(b));return b.add(c.div(a))}if(a.Ca(lk))return jk;if(0>this.aa)return 0>a.aa?nk(this).div(nk(a)):nk(nk(this).div(a));if(0>a.aa)return nk(this.div(nk(a)));for(var d=jk,c=this;0<=
+c.compare(a);){b=Math.max(1,Math.floor(uk(c)/uk(a)));for(var e=Math.ceil(Math.log(b)/Math.LN2),e=48>=e?1:Math.pow(2,e-48),f=ik(b),g=f.multiply(a);0>g.aa||0<g.compare(c);)b-=e,f=ik(b),g=f.multiply(a);vk(f)&&(f=rk);d=d.add(f);c=wk(c,g)}return d};h.shiftLeft=function(a){a&=63;if(0==a)return this;var b=this.ia;return 32>a?pk(b<<a,this.aa<<a|b>>>32-a):pk(0,b<<a-32)};function xk(a,b){b&=63;if(0==b)return a;var c=a.aa;return 32>b?pk(a.ia>>>b|c<<32-b,c>>>b):32==b?pk(c,0):pk(c>>>b-32,0)};function yk(a,b){this.tag=a;this.R=b;this.ea=-1}yk.prototype.toString=function(){return"[TaggedValue: "+this.tag+", "+this.R+"]"};yk.prototype.equiv=function(a){return Yj(this,a)};yk.prototype.equiv=yk.prototype.equiv;yk.prototype.Na=function(a){return a instanceof yk?this.tag===a.tag&&Yj(this.R,a.R):!1};yk.prototype.Xa=function(){-1===this.ea&&(this.ea=Zj(dk(this.tag),dk(this.R)));return this.ea};function zk(a,b){return new yk(a,b)}var Ak=qk("9007199254740992"),Bk=qk("-9007199254740992");
+fk.prototype.equiv=function(a){return Yj(this,a)};fk.prototype.equiv=fk.prototype.equiv;fk.prototype.Na=function(a){return a instanceof fk&&this.Ca(a)};fk.prototype.Xa=function(){return this.ia};function Ck(a){this.name=a;this.ea=-1}Ck.prototype.toString=function(){return":"+this.name};Ck.prototype.equiv=function(a){return Yj(this,a)};Ck.prototype.equiv=Ck.prototype.equiv;Ck.prototype.Na=function(a){return a instanceof Ck&&this.name==a.name};
+Ck.prototype.Xa=function(){-1===this.ea&&(this.ea=dk(this.name));return this.ea};function Dk(a){this.name=a;this.ea=-1}Dk.prototype.toString=function(){return"[Symbol: "+this.name+"]"};Dk.prototype.equiv=function(a){return Yj(this,a)};Dk.prototype.equiv=Dk.prototype.equiv;Dk.prototype.Na=function(a){return a instanceof Dk&&this.name==a.name};Dk.prototype.Xa=function(){-1===this.ea&&(this.ea=dk(this.name));return this.ea};
+function Ek(a,b,c){var d="";c=c||b+1;for(var e=8*(7-b),f=hk(255).shiftLeft(e);b<c;b++,e-=8,f=xk(f,8)){var g=xk(pk(a.ia&f.ia,a.aa&f.aa),e).toString(16);1==g.length&&(g="0"+g);d+=g}return d}function Fk(a,b){this.Dd=a;this.Fd=b;this.ea=-1}Fk.prototype.toString=function(a){var b=this.Dd,c=this.Fd;a=""+(Ek(b,0,4)+"-");a+=Ek(b,4,6)+"-";a+=Ek(b,6,8)+"-";a+=Ek(c,0,2)+"-";return a+=Ek(c,2,8)};Fk.prototype.equiv=function(a){return Yj(this,a)};Fk.prototype.equiv=Fk.prototype.equiv;
+Fk.prototype.Na=function(a){return a instanceof Fk&&this.Dd.Ca(a.Dd)&&this.Fd.Ca(a.Fd)};Fk.prototype.Xa=function(){-1===this.ea&&(this.ea=dk(this.toString()));return this.ea};Date.prototype.Na=function(a){return a instanceof Date?this.valueOf()===a.valueOf():!1};Date.prototype.Xa=function(){return this.valueOf()};function Gk(a,b){this.entries=a;this.type=b||0;this.V=0}
+Gk.prototype.next=function(){if(this.V<this.entries.length){var a=null,a=0===this.type?this.entries[this.V]:1===this.type?this.entries[this.V+1]:[this.entries[this.V],this.entries[this.V+1]],a={value:a,done:!1};this.V+=2;return a}return{value:null,done:!0}};Gk.prototype.next=Gk.prototype.next;function Hk(a,b){this.map=a;this.type=b||0;this.keys=this.map.Ja();this.V=0;this.Mb=null;this.Db=0}
+Hk.prototype.next=function(){if(this.V<this.map.size){null!=this.Mb&&this.Db<this.Mb.length||(this.Mb=this.map.map[this.keys[this.V]],this.Db=0);var a=null,a=0===this.type?this.Mb[this.Db]:1===this.type?this.Mb[this.Db+1]:[this.Mb[this.Db],this.Mb[this.Db+1]],a={value:a,done:!1};this.V++;this.Db+=2;return a}return{value:null,done:!0}};Hk.prototype.next=Hk.prototype.next;
+function Ik(a,b){if((b instanceof Jk||b instanceof Kk)&&a.size===b.size){for(var c in a.map)for(var d=a.map[c],e=0;e<d.length;e+=2)if(!Yj(d[e+1],b.get(d[e])))return!1;return!0}if(null!=b&&"object"===typeof b&&(c=Vj(b),d=c.length,a.size===d)){for(e=0;e<d;e++){var f=c[e];if(!a.has(f)||!Yj(b[f],a.get(f)))return!1}return!0}return!1}function Kk(a){this.ga=a;this.W=null;this.ea=-1;this.size=a.length/2;this.Nd=0}Kk.prototype.toString=function(){return"[TransitArrayMap]"};
+function Lk(a){if(a.W)throw Error("Invalid operation, already converted");if(8>a.size)return!1;a.Nd++;return 32<a.Nd?(a.W=Mk(a.ga,!0),a.ga=[],!0):!1}Kk.prototype.clear=function(){this.ea=-1;this.W?this.W.clear():this.ga=[];this.size=0};Kk.prototype.clear=Kk.prototype.clear;Kk.prototype.keys=function(){return this.W?this.W.keys():new Gk(this.ga,0)};Kk.prototype.keys=Kk.prototype.keys;
+Kk.prototype.Sb=function(){if(this.W)return this.W.Sb();for(var a=[],b=0,c=0;c<this.ga.length;b++,c+=2)a[b]=this.ga[c];return a};Kk.prototype.keySet=Kk.prototype.Sb;Kk.prototype.entries=function(){return this.W?this.W.entries():new Gk(this.ga,2)};Kk.prototype.entries=Kk.prototype.entries;Kk.prototype.values=function(){return this.W?this.W.values():new Gk(this.ga,1)};Kk.prototype.values=Kk.prototype.values;
+Kk.prototype.forEach=function(a){if(this.W)this.W.forEach(a);else for(var b=0;b<this.ga.length;b+=2)a(this.ga[b+1],this.ga[b])};Kk.prototype.forEach=Kk.prototype.forEach;Kk.prototype.get=function(a,b){if(this.W)return this.W.get(a);if(Lk(this))return this.get(a);for(var c=0;c<this.ga.length;c+=2)if(Yj(this.ga[c],a))return this.ga[c+1];return b};Kk.prototype.get=Kk.prototype.get;
+Kk.prototype.has=function(a){if(this.W)return this.W.has(a);if(Lk(this))return this.has(a);for(var b=0;b<this.ga.length;b+=2)if(Yj(this.ga[b],a))return!0;return!1};Kk.prototype.has=Kk.prototype.has;Kk.prototype.set=function(a,b){this.ea=-1;if(this.W)this.W.set(a,b),this.size=this.W.size;else{for(var c=0;c<this.ga.length;c+=2)if(Yj(this.ga[c],a)){this.ga[c+1]=b;return}this.ga.push(a);this.ga.push(b);this.size++;32<this.size&&(this.W=Mk(this.ga,!0),this.ga=null)}};Kk.prototype.set=Kk.prototype.set;
+Kk.prototype["delete"]=function(a){this.ea=-1;if(this.W)this.W["delete"](a),this.size=this.W.size;else for(var b=0;b<this.ga.length;b+=2)if(Yj(this.ga[b],a)){this.ga.splice(b,2);this.size--;break}};Kk.prototype.Xa=function(){if(this.W)return this.W.Xa();-1===this.ea&&(this.ea=ck(this));return this.ea};Kk.prototype.Na=function(a){return this.W?Ik(this.W,a):Ik(this,a)};function Jk(a,b,c){this.map=b||{};this.Zb=a||[];this.size=c||0;this.ea=-1}Jk.prototype.toString=function(){return"[TransitMap]"};
+Jk.prototype.clear=function(){this.ea=-1;this.map={};this.Zb=[];this.size=0};Jk.prototype.clear=Jk.prototype.clear;Jk.prototype.Ja=function(){return null!=this.Zb?this.Zb:Vj(this.map)};Jk.prototype["delete"]=function(a){this.ea=-1;this.Zb=null;for(var b=dk(a),c=this.map[b],d=0;d<c.length;d+=2)if(Yj(a,c[d])){c.splice(d,2);0===c.length&&delete this.map[b];this.size--;break}};Jk.prototype.entries=function(){return new Hk(this,2)};Jk.prototype.entries=Jk.prototype.entries;
+Jk.prototype.forEach=function(a){for(var b=this.Ja(),c=0;c<b.length;c++)for(var d=this.map[b[c]],e=0;e<d.length;e+=2)a(d[e+1],d[e],this)};Jk.prototype.forEach=Jk.prototype.forEach;Jk.prototype.get=function(a,b){var c=dk(a),c=this.map[c];if(null!=c)for(var d=0;d<c.length;d+=2){if(Yj(a,c[d]))return c[d+1]}else return b};Jk.prototype.get=Jk.prototype.get;Jk.prototype.has=function(a){var b=dk(a),b=this.map[b];if(null!=b)for(var c=0;c<b.length;c+=2)if(Yj(a,b[c]))return!0;return!1};Jk.prototype.has=Jk.prototype.has;
+Jk.prototype.keys=function(){return new Hk(this,0)};Jk.prototype.keys=Jk.prototype.keys;Jk.prototype.Sb=function(){for(var a=this.Ja(),b=[],c=0;c<a.length;c++)for(var d=this.map[a[c]],e=0;e<d.length;e+=2)b.push(d[e]);return b};Jk.prototype.keySet=Jk.prototype.Sb;Jk.prototype.set=function(a,b){this.ea=-1;var c=dk(a),d=this.map[c];if(null==d)this.Zb&&this.Zb.push(c),this.map[c]=[a,b],this.size++;else{for(var c=!0,e=0;e<d.length;e+=2)if(Yj(b,d[e])){c=!1;d[e]=b;break}c&&(d.push(a),d.push(b),this.size++)}};
+Jk.prototype.set=Jk.prototype.set;Jk.prototype.values=function(){return new Hk(this,1)};Jk.prototype.values=Jk.prototype.values;Jk.prototype.Xa=function(){-1===this.ea&&(this.ea=ck(this));return this.ea};Jk.prototype.Na=function(a){return Ik(this,a)};
+function Mk(a,b){var c=!1;a=a||[];c=!1===c?c:!0;if((!0!==b||!b)&&64>=a.length){if(c){var d=a;a=[];for(c=0;c<d.length;c+=2){for(var e=!1,f=0;f<a.length;f+=2)if(Yj(a[f],d[c])){a[f+1]=d[c+1];e=!0;break}e||(a.push(d[c]),a.push(d[c+1]))}}return new Kk(a)}for(var d={},e=[],g=0,c=0;c<a.length;c+=2){var f=dk(a[c]),k=d[f];if(null==k)e.push(f),d[f]=[a[c],a[c+1]],g++;else{for(var l=!0,f=0;f<k.length;f+=2)if(Yj(k[f],a[c])){k[f+1]=a[c+1];l=!1;break}l&&(k.push(a[c]),k.push(a[c+1]),g++)}}return new Jk(e,d,g)}
+function Nk(a){this.map=a;this.size=a.size}Nk.prototype.toString=function(){return"[TransitSet]"};Nk.prototype.add=function(a){this.map.set(a,a);this.size=this.map.size};Nk.prototype.add=Nk.prototype.add;Nk.prototype.clear=function(){this.map=new Jk;this.size=0};Nk.prototype.clear=Nk.prototype.clear;Nk.prototype["delete"]=function(a){this.map["delete"](a);this.size=this.map.size};Nk.prototype.entries=function(){return this.map.entries()};Nk.prototype.entries=Nk.prototype.entries;
+Nk.prototype.forEach=function(a){var b=this;this.map.forEach(function(c,d){a(d,b)})};Nk.prototype.forEach=Nk.prototype.forEach;Nk.prototype.has=function(a){return this.map.has(a)};Nk.prototype.has=Nk.prototype.has;Nk.prototype.keys=function(){return this.map.keys()};Nk.prototype.keys=Nk.prototype.keys;Nk.prototype.Sb=function(){return this.map.Sb()};Nk.prototype.keySet=Nk.prototype.Sb;Nk.prototype.values=function(){return this.map.values()};Nk.prototype.values=Nk.prototype.values;
+Nk.prototype.Na=function(a){if(a instanceof Nk){if(this.size===a.size)return Yj(this.map,a.map)}else return!1};Nk.prototype.Xa=function(){return dk(this.map)};var Ok=new V(null,"response","response",-1068424192),Pk=new V(null,"description","description",-1428560544),Qk=new V(null,"old-state","old-state",1039580704),Rk=new V(null,"path","path",-188191168),Sk=new V(null,"state-map","state-map",-1313872128),Tk=new V(null,"new-value","new-value",1087038368),Uk=new V(null,"target-definition","target-definition",-2143889087),Vk=new V(null,"finally","finally",1589088705),Wk=new V(null,"xref-jump","xref-jump",50254753),Xk=new V(null,"definition","definition",-1198729982),
+Yk=new V(null,"format","format",-1306924766),Zk=new V(null,"descriptor","descriptor",76122018),$k=new V(null,"column_offset","column_offset",-919266877),al=new V("om.core","not-found","om.core/not-found",1869894275),bl=new V(null,"reference_kind","reference_kind",-428141917),cl=new V(null,"componentDidUpdate","componentDidUpdate",-1983477981),dl=new V(null,"fn","fn",-1175266204),el=new V(null,"new-state","new-state",-490349212),fl=new V(null,"original-text","original-text",744448452),gl=new V(null,
+"source_text","source_text",-1294343676),hl=new V(null,"instrument","instrument",-960698844),Cd=new V(null,"meta","meta",1499536964),il=new V(null,"react-key","react-key",1337881348),jl=new V("om.core","id","om.core/id",299074693),kl=new V(null,"keywords?","keywords?",764949733),Dd=new V(null,"dup","dup",556298533),ll=new V(null,"read","read",1140058661),ml=new V(null,"target-ticket","target-ticket",-229903835),nl=new V(null,"key","key",-1516042587),ol=new V(null,"skip-render-root","skip-render-root",
+-5219643),pl=new V(null,"parent","parent",-878878779),ql=new V(null,"snippet_start","snippet_start",1290939398),rl=new V(null,"anchor_end","anchor_end",1997053798),sl=new V(null,"failure","failure",720415879),tl=new V(null,"offset","offset",296498311),ul=new V(null,"file-to-view","file-to-view",1772288519),$g=new V(null,"validator","validator",-1966190681),vl=new V(null,"method","method",55703592),wl=new V(null,"raw","raw",1604651272),xl=new V(null,"finally-block","finally-block",832982472),yl=new V(null,
+"page_size","page_size",-1574119768),zl=new V(null,"vname","vname",558440489),Al=new V(null,"name","name",1843675177),Bl=new V(null,"adapt","adapt",-1817022327),Cl=new V(null,"declaration_kind","declaration_kind",395768681),Dl=new V(null,"signature","signature",1463754794),El=new V(null,"next_page_token","next_page_token",-876650262),Fl=new V(null,"snippet","snippet",953581994),Gl=new V(null,"response-format","response-format",1664465322),Hl=new V(null,"status-text","status-text",-1834235478),Il=
+new V(null,"loaded","loaded",-1246482293),Jl=new V(null,"start","start",-355208981),Kl=new V(null,"background","background",-863952629),Ll=new V(null,"aborted","aborted",1775972619),Ml=new V(null,"params","params",710516235),Nl=new V(null,"old-value","old-value",862546795),Ol=new V("om.core","pass","om.core/pass",-1453289268),Pl=new V(null,"recur","recur",-437573268),Ql=new V(null,"type","type",1174270348),Rl=new V(null,"init-state","init-state",1450863212),Sl=new V(null,"anchor_text","anchor_text",
+1709016748),Tl=new V(null,"catch-block","catch-block",1175212748),Ul=new V(null,"state","state",-1988618099),Vl=new V(null,"references","references",882562509),Wl=new V(null,"related_node","related_node",-1520648627),Xl=new V(null,"dirs","dirs",-18955571),Yl=new V(null,"pending-state","pending-state",1525896973),Zl=new V(null,"handlers","handlers",79528781),Ad=new V(null,"flush-on-newline","flush-on-newline",-151457939),$l=new V(null,"componentWillUnmount","componentWillUnmount",1573788814),am=new V(null,
+"componentWillReceiveProps","componentWillReceiveProps",559988974),bm=new V(null,"source_ticket","source_ticket",785865966),cm=new V(null,"corpus","corpus",-2028151250),dm=new V(null,"defaults","defaults",976027214),em=new V(null,"parse-error","parse-error",255902478),fm=new V(null,"source-text","source-text",-358175794),gm=new V(null,"target_definitions","target_definitions",-1654828017),hm=new V(null,"byte_offset","byte_offset",381936719),im=new V(null,"ignore","ignore",-1631542033),jm=new V(null,
+"documentation","documentation",1889593999),km=new V(null,"pages","pages",-285406513),lm=new V(null,"prefix","prefix",-265908465),mm=new V(null,"headers","headers",-835030129),nm=new V(null,"shouldComponentUpdate","shouldComponentUpdate",1795750960),om=new V(null,"error-handler","error-handler",-484945776),pm=new V(null,"write","write",-1857649168),qm=new V(null,"sig","sig",-1920417200),rm=new V(null,"lang","lang",-1819677104),Bd=new V(null,"readably","readably",1129599760),sm=new V(null,"current-xrefs",
+"current-xrefs",-219522224),tm=new V(null,"documentation_kind","documentation_kind",-1726796783),um=new V(null,"hover","hover",-341141711),vm=new V(null,"reference","reference",-1711695023),wm=new V(null,"render","render",-1408033454),xm=new V(null,"filter","filter",-948537934),ym=new V(null,"manager","manager",-818607470),zm=new V(null,"xrefs-to-view","xrefs-to-view",1772256050),Am=new V(null,"next","next",-117701485),Bm=new V(null,"current-file","current-file",56284307),Cm=new V(null,"current-page-token",
+"current-page-token",464218291),Dm=new V(null,"nodes","nodes",-2099585805),Em=new V(null,"line","line",212345235),Fm=new V(null,"loading","loading",-737050189),Gm=new V(null,"previous-state","previous-state",1888227923),Hm=new V(null,"root","root",-448657453),Im=new V(null,"status","status",-1997798413),Jm=new V(null,"language","language",-1591107564),Km=new V(null,"cross-references","cross-references",-1700630380),Ed=new V(null,"print-length","print-length",1931866356),Lm=new V(null,"hidden","hidden",
+-312506092),Mm=new V(null,"writer","writer",-277568236),Nm=new V(null,"componentWillUpdate","componentWillUpdate",657390932),Om=new V(null,"requested-file","requested-file",1426907604),Pm=new V(null,"definition_locations","definition_locations",-464247148),Qm=new V(null,"ticket","ticket",1810559700),Rm=new V(null,"page_token","page_token",-455475404),Sm=new V(null,"getInitialState","getInitialState",1541760916),Tm=new V(null,"definition_kind","definition_kind",-3048556),Um=new V(null,"catch-exception",
+"catch-exception",-1997306795),Vm=new V(null,"opts","opts",155075701),Wm=new V(null,"kind","kind",-717265803),Xm=new V(null,"anchor-ticket","anchor-ticket",-1356418859),Ym=new V(null,"anchor-info","anchor-info",-1761177163),Zm=new V(null,"reader","reader",169660853),$m=new V(null,"parse","parse",-1162164619),an=new V(null,"prev","prev",-1597069226),bn=new V(null,"num-lines","num-lines",-860050346),cn=new V(null,"continue-block","continue-block",-1852047850),dn=new V(null,"files","files",-472457450),
+en=new V(null,"content-type","content-type",-508222634),fn=new V("om.core","index","om.core/index",-1724175434),gn=new V(null,"shared","shared",-384145993),hn=new V(null,"target_ticket","target_ticket",-810921896),jn=new V(null,"componentDidMount","componentDidMount",955710936),kn=new V(null,"error","error",-978969032),ln=new V(null,"cross_references","cross_references",215567928),mn=new V(null,"declaration","declaration",-1819933768),nn=new V(null,"exception","exception",-335277064),on=new V("om.core",
+"invalid","om.core/invalid",1948827993),pn=new V(null,"uri","uri",-774711847),qn=new V(null,"tag","tag",-1290361223),rn=new V(null,"contents","contents",-1567174023),sn=new V(null,"anchor","anchor",1549638489),tn=new V(null,"decorations","decorations",-1882398759),un=new V(null,"target","target",253001721),vn=new V(null,"expanded","expanded",-3020742),wn=new V(null,"getDisplayName","getDisplayName",1324429466),xn=new V(null,"json","json",1279968570),yn=new V(null,"timeout","timeout",-318625318),zn=
+new V(null,"relation_kind","relation_kind",1397680666),An=new V(null,"end","end",-268185958),Bn=new V(null,"facts","facts",-1734543718),Cn=new V(null,"anchor_start","anchor_start",279198650),Dn=new V(null,"line_number","line_number",1385486971),En=new V(null,"location","location",1815599388),Fn=new V(null,"target_definition","target_definition",-925773220),Gn=new V(null,"handler","handler",-195596612),Rj=new V(null,"keywordize-keys","keywordize-keys",1310784252),Hn=new V(null,"componentWillMount",
+"componentWillMount",-285327619),In=new V("om.core","defer","om.core/defer",-1038866178),Jn=new V(null,"render-state","render-state",2053902270),Kn=new V(null,"tx-listen","tx-listen",119130367),jj=new V("cljs.core","not-found","cljs.core/not-found",-1572889185),Ln=new V(null,"text","text",-1790561697);function Mn(a,b){if(3<a.length){if(b)return!0;var c=a.charAt(1);return"~"===a.charAt(0)?":"===c||"$"===c||"#"===c:!1}return!1}function Nn(a){var b=Math.floor(a/44);a=String.fromCharCode(a%44+48);return 0===b?"^"+a:"^"+String.fromCharCode(b+48)+a}function On(){this.Ye=this.Fc=this.V=0;this.Ga={}}
+On.prototype.write=function(a,b){if(Mn(a,b)){4096===this.Ye?(this.clear(),this.Fc=0,this.Ga={}):1936===this.V&&this.clear();var c=this.Ga[a];return null==c?(this.Ga[a]=[Nn(this.V),this.Fc],this.V++,a):c[1]!=this.Fc?(c[1]=this.Fc,c[0]=Nn(this.V),this.V++,a):c[0]}return a};On.prototype.clear=function(){this.V=0;this.Fc++};function Pn(){this.V=0;this.Ga=[]}Pn.prototype.write=function(a){1936==this.V&&(this.V=0);this.Ga[this.V]=a;this.V++;return a};
+Pn.prototype.oc=function(a){return this.Ga[2===a.length?a.charCodeAt(1)-48:44*(a.charCodeAt(1)-48)+(a.charCodeAt(2)-48)]};Pn.prototype.clear=function(){this.V=0};function Qn(a){this.Ea=a}
+function Rn(a){this.options=a||{};this.sa={};for(var b in this.Vc.sa)this.sa[b]=this.Vc.sa[b];for(b in this.options.handlers){a:{switch(b){case "_":case "s":case "?":case "i":case "d":case "b":case "'":case "array":case "map":a=!0;break a}a=!1}if(a)throw Error('Cannot override handler for ground type "'+b+'"');this.sa[b]=this.options.handlers[b]}this.hd=null!=this.options.preferStrings?this.options.preferStrings:this.Vc.hd;this.Ad=this.options.defaultHandler||this.Vc.Ad;this.Ua=this.options.mapBuilder;
+this.ac=this.options.arrayBuilder}
+Rn.prototype.Vc={sa:{_:function(){return null},"?":function(a){return"t"===a},b:function(a){return zk("b",a)},i:function(a){"number"===typeof a||a instanceof fk||(a=qk(a,10),a=0<a.compare(Ak)||0>a.compare(Bk)?a:uk(a));return a},n:function(a){return zk("n",a)},d:function(a){return parseFloat(a)},f:function(a){return zk("f",a)},c:function(a){return a},":":function(a){return new Ck(a)},$:function(a){return new Dk(a)},r:function(a){return zk("r",a)},z:function(a){a:switch(a){case "-INF":a=-Infinity;break a;
+case "INF":a=Infinity;break a;case "NaN":a=NaN;break a;default:throw Error("Invalid special double value "+a);}return a},"'":function(a){return a},m:function(a){a="number"===typeof a?a:parseInt(a,10);return new Date(a)},t:function(a){return new Date(a)},u:function(a){a=a.replace(/-/g,"");for(var b=null,c=null,d=c=0,e=24,f=0,f=c=0,e=24;8>f;f+=2,e-=8)c|=parseInt(a.substring(f,f+2),16)<<e;d=0;f=8;for(e=24;16>f;f+=2,e-=8)d|=parseInt(a.substring(f,f+2),16)<<e;b=pk(d,c);c=0;f=16;for(e=24;24>f;f+=2,e-=8)c|=
+parseInt(a.substring(f,f+2),16)<<e;d=0;for(e=f=24;32>f;f+=2,e-=8)d|=parseInt(a.substring(f,f+2),16)<<e;c=pk(d,c);return new Fk(b,c)},set:function(a){a=a||[];for(var b={},c=[],d=0,e=0;e<a.length;e++){var f=dk(a[e]),g=b[f];if(null==g)c.push(f),b[f]=[a[e],a[e]],d++;else{for(var f=!0,k=0;k<g.length;k+=2)if(Yj(g[k],a[e])){f=!1;break}f&&(g.push(a[e]),g.push(a[e]),d++)}}return new Nk(new Jk(c,b,d))},list:function(a){return zk("list",a)},link:function(a){return zk("link",a)},cmap:function(a){return Mk(a)}},
+Ad:function(a,b){return zk(a,b)},hd:!0};
+Rn.prototype.ja=function(a,b,c,d){if(null==a)return null;switch(typeof a){case "string":return Mn(a,c)?(a=Sn(this,a),b&&b.write(a,c),b=a):b="^"===a.charAt(0)&&" "!==a.charAt(1)?b.oc(a,c):Sn(this,a),b;case "object":if(Wj(a))if("^ "===a[0])if(this.Ua)if(17>a.length&&this.Ua.Rb){d=[];for(c=1;c<a.length;c+=2)d.push(this.ja(a[c],b,!0,!1)),d.push(this.ja(a[c+1],b,!1,!1));b=this.Ua.Rb(d,a)}else{d=this.Ua.jc(a);for(c=1;c<a.length;c+=2)d=this.Ua.add(d,this.ja(a[c],b,!0,!1),this.ja(a[c+1],b,!1,!1),a);b=this.Ua.Yc(d,
+a)}else{d=[];for(c=1;c<a.length;c+=2)d.push(this.ja(a[c],b,!0,!1)),d.push(this.ja(a[c+1],b,!1,!1));b=Mk(d)}else b=Tn(this,a,b,d);else{c=Vj(a);var e=c[0];if((d=1==c.length?this.ja(e,b,!1,!1):null)&&d instanceof Qn)a=a[e],c=this.sa[d.Ea],b=null!=c?c(this.ja(a,b,!1,!0)):zk(d.Ea,this.ja(a,b,!1,!1));else if(this.Ua)if(16>c.length&&this.Ua.Rb){var f=[];for(d=0;d<c.length;d++)e=c[d],f.push(this.ja(e,b,!0,!1)),f.push(this.ja(a[e],b,!1,!1));b=this.Ua.Rb(f,a)}else{f=this.Ua.jc(a);for(d=0;d<c.length;d++)e=c[d],
+f=this.Ua.add(f,this.ja(e,b,!0,!1),this.ja(a[e],b,!1,!1),a);b=this.Ua.Yc(f,a)}else{f=[];for(d=0;d<c.length;d++)e=c[d],f.push(this.ja(e,b,!0,!1)),f.push(this.ja(a[e],b,!1,!1));b=Mk(f)}}return b}return a};Rn.prototype.decode=Rn.prototype.ja;
+function Tn(a,b,c,d){if(d){var e=[];for(d=0;d<b.length;d++)e.push(a.ja(b[d],c,!1,!1));return e}e=c&&c.V;if(2===b.length&&"string"===typeof b[0]&&(d=a.ja(b[0],c,!1,!1))&&d instanceof Qn)return b=b[1],e=a.sa[d.Ea],null!=e?e=e(a.ja(b,c,!1,!0)):zk(d.Ea,a.ja(b,c,!1,!1));c&&e!=c.V&&(c.V=e);if(a.ac){if(32>=b.length&&a.ac.Rb){e=[];for(d=0;d<b.length;d++)e.push(a.ja(b[d],c,!1,!1));return a.ac.Rb(e,b)}e=a.ac.jc();for(d=0;d<b.length;d++)e=a.ac.add(e,a.ja(b[d],c,!1,!1),b);return a.ac.Yc(e,b)}e=[];for(d=0;d<b.length;d++)e.push(a.ja(b[d],
+c,!1,!1));return e}function Sn(a,b){if("~"===b.charAt(0)){var c=b.charAt(1);if("~"===c||"^"===c||"`"===c)return b.substring(1);if("#"===c)return new Qn(b.substring(2));var d=a.sa[c];return null==d?a.Ad(c,b.substring(2)):d(b.substring(2))}return b};function Un(a){this.tf=new Rn(a)}function Vn(a,b){this.ng=a;this.options=b||{};this.Ga=this.options.cache?this.options.cache:new Pn}Vn.prototype.oc=function(a){var b=this.Ga;a=this.ng.tf.ja(JSON.parse(a),b);this.Ga.clear();return a};Vn.prototype.read=Vn.prototype.oc;var Wn=0,Xn=(8|3&Math.round(14*Math.random())).toString(16),Yn="transit$guid$"+(Xj()+Xj()+Xj()+Xj()+Xj()+Xj()+Xj()+Xj()+"-"+Xj()+Xj()+Xj()+Xj()+"-4"+Xj()+Xj()+Xj()+"-"+Xn+Xj()+Xj()+Xj()+"-"+Xj()+Xj()+Xj()+Xj()+Xj()+Xj()+Xj()+Xj()+Xj()+Xj()+Xj()+Xj());
+function Zn(a){if(null==a)return"null";if(a===String)return"string";if(a===Boolean)return"boolean";if(a===Number)return"number";if(a===Array)return"array";if(a===Object)return"map";var b=a[Yn];null==b&&("undefined"!=typeof Object.defineProperty?(b=++Wn,Object.defineProperty(a,Yn,{value:b,enumerable:!1})):a[Yn]=b=++Wn);return b}function $n(a,b){for(var c=a.toString(),d=c.length;d<b;d++)c="0"+c;return c}function ao(){}ao.prototype.tag=function(){return"_"};ao.prototype.R=function(){return null};
+ao.prototype.ka=function(){return"null"};function bo(){}bo.prototype.tag=function(){return"s"};bo.prototype.R=function(a){return a};bo.prototype.ka=function(a){return a};function co(){}co.prototype.tag=function(){return"i"};co.prototype.R=function(a){return a};co.prototype.ka=function(a){return a.toString()};function eo(){}eo.prototype.tag=function(){return"i"};eo.prototype.R=function(a){return a.toString()};eo.prototype.ka=function(a){return a.toString()};function fo(){}fo.prototype.tag=function(){return"?"};
+fo.prototype.R=function(a){return a};fo.prototype.ka=function(a){return a.toString()};function go(){}go.prototype.tag=function(){return"array"};go.prototype.R=function(a){return a};go.prototype.ka=function(){return null};function ho(){}ho.prototype.tag=function(){return"map"};ho.prototype.R=function(a){return a};ho.prototype.ka=function(){return null};function io(){}io.prototype.tag=function(){return"t"};
+io.prototype.R=function(a){return a.getUTCFullYear()+"-"+$n(a.getUTCMonth()+1,2)+"-"+$n(a.getUTCDate(),2)+"T"+$n(a.getUTCHours(),2)+":"+$n(a.getUTCMinutes(),2)+":"+$n(a.getUTCSeconds(),2)+"."+$n(a.getUTCMilliseconds(),3)+"Z"};io.prototype.ka=function(a,b){return b.R(a)};function jo(){}jo.prototype.tag=function(){return"m"};jo.prototype.R=function(a){return a.valueOf()};jo.prototype.ka=function(a){return a.valueOf().toString()};function ko(){}ko.prototype.tag=function(){return"u"};ko.prototype.R=function(a){return a.toString()};
+ko.prototype.ka=function(a){return a.toString()};function lo(){}lo.prototype.tag=function(){return":"};lo.prototype.R=function(a){return a.name};lo.prototype.ka=function(a,b){return b.R(a)};function mo(){}mo.prototype.tag=function(){return"$"};mo.prototype.R=function(a){return a.name};mo.prototype.ka=function(a,b){return b.R(a)};function no(){}no.prototype.tag=function(a){return a.tag};no.prototype.R=function(a){return a.R};no.prototype.ka=function(){return null};function oo(){}oo.prototype.tag=function(){return"set"};
+oo.prototype.R=function(a){var b=[];a.forEach(function(a){b.push(a)});return zk("array",b)};oo.prototype.ka=function(){return null};function po(){}po.prototype.tag=function(){return"map"};po.prototype.R=function(a){return a};po.prototype.ka=function(){return null};function qo(){}qo.prototype.tag=function(){return"map"};qo.prototype.R=function(a){return a};qo.prototype.ka=function(){return null};
+function ro(){this.sa={};this.set(null,new ao);this.set(String,new bo);this.set(Number,new co);this.set(fk,new eo);this.set(Boolean,new fo);this.set(Array,new go);this.set(Object,new ho);this.set(Date,new jo);this.set(Fk,new ko);this.set(Ck,new lo);this.set(Dk,new mo);this.set(yk,new no);this.set(Nk,new oo);this.set(Kk,new po);this.set(Jk,new qo)}ro.prototype.get=function(a){var b=null,b="string"===typeof a?this.sa[a]:this.sa[Zn(a)];return null!=b?b:this.sa["default"]};
+ro.prototype.set=function(a,b){var c;if(c="string"===typeof a)a:{switch(a){case "null":case "string":case "boolean":case "number":case "array":case "map":c=!1;break a}c=!0}c?this.sa[a]=b:this.sa[Zn(a)]=b};function so(a){this.Vb=a||{};this.hd=null!=this.Vb.preferStrings?this.Vb.preferStrings:!0;this.te=this.Vb.objectBuilder||null;this.sa=new ro;if(a=this.Vb.handlers){if(Wj(a)||!a.forEach)throw Error('transit writer "handlers" option must be a map');var b=this;a.forEach(function(a,d){b.sa.set(d,a)})}this.nd=this.Vb.unpack||function(a){return a instanceof Kk&&null===a.W?a.ga:!1};this.Mc=this.Vb&&this.Vb.verbose||!1}
+so.prototype.Fa=function(a){var b=this.sa.get(null==a?null:a.constructor);return null!=b?b:(a=a&&a.transitTag)?this.sa.get(a):null};function to(a,b,c,d,e){a=a+b+c;return e?e.write(a,d):a}function uo(a,b,c){var d=[];if(Wj(b))for(var e=0;e<b.length;e++)d.push(vo(a,b[e],!1,c));else b.forEach(function(b){d.push(vo(a,b,!1,c))});return d}function wo(a,b){if("string"!==typeof b){var c=a.Fa(b);return c&&1===c.tag(b).length}return!0}
+function xo(a,b){var c=a.nd(b),d=!0;if(c){for(var e=0;e<c.length&&(d=wo(a,c[e]),d);e+=2);return d}if(b.keys&&(c=b.keys(),c.next)){for(step=c.next();!step.done;){d=wo(a,step.value);if(!d)break;step=c.next()}return d}if(b.forEach)return b.forEach(function(b,c){d=d&&wo(a,c)}),d;throw Error("Cannot walk keys of object type "+(null==b?null:b.constructor).name);}
+function yo(a,b,c){if(b.constructor===Object||null!=b.forEach){if(a.Mc){if(null!=b.forEach)if(xo(a,b)){var d={};b.forEach(function(b,e){d[vo(a,e,!0,!1)]=vo(a,b,!1,c)})}else{var e=a.nd(b),f=[],g=to("~#","cmap","",!0,c);if(e)for(var k=0;k<e.length;k+=2)f.push(vo(a,e[k],!0,!1)),f.push(vo(a,e[k+1],!1,c));else b.forEach(function(b,d){f.push(vo(a,d,!0,!1));f.push(vo(a,b,!1,c))});d={};d[g]=f}else for(d={},e=Vj(b),k=0;k<e.length;k++)d[vo(a,e[k],!0,!1)]=vo(a,b[e[k]],!1,c);return d}if(null!=b.forEach){if(xo(a,
+b)){e=a.nd(b);d=["^ "];if(e)for(k=0;k<e.length;k+=2)d.push(vo(a,e[k],!0,c)),d.push(vo(a,e[k+1],!1,c));else b.forEach(function(b,e){d.push(vo(a,e,!0,c));d.push(vo(a,b,!1,c))});return d}e=a.nd(b);f=[];g=to("~#","cmap","",!0,c);if(e)for(k=0;k<e.length;k+=2)f.push(vo(a,e[k],!0,c)),f.push(vo(a,e[k+1],!1,c));else b.forEach(function(b,d){f.push(vo(a,d,!0,c));f.push(vo(a,b,!1,c))});return[g,f]}d=["^ "];e=Vj(b);for(k=0;k<e.length;k++)d.push(vo(a,e[k],!0,c)),d.push(vo(a,b[e[k]],!1,c));return d}if(null!=a.te)return a.te(b,
+function(b){return vo(a,b,!0,c)},function(b){return vo(a,b,!1,c)});k=(null==b?null:b.constructor).name;e=Error("Cannot write "+k);e.data={Gd:b,type:k};throw e;}
+function vo(a,b,c,d){var e=a.Fa(b),f=e?e.tag(b):null,g=e?e.R(b):null;if(null!=e&&null!=f)switch(f){case "_":return c?to("~","_","",c,d):null;case "s":return 0<g.length?(a=g.charAt(0),a="~"===a||"^"===a||"`"===a?"~"+g:g):a=g,to("","",a,c,d);case "?":return c?to("~","?",g.toString()[0],c,d):g;case "i":return Infinity===g?to("~","z","INF",c,d):-Infinity===g?to("~","z","-INF",c,d):isNaN(g)?to("~","z","NaN",c,d):c||"string"===typeof g||g instanceof fk?to("~","i",g.toString(),c,d):g;case "d":return c?to(g.rg,
+"d",g,c,d):g;case "b":return to("~","b",g,c,d);case "'":return a.Mc?(b={},c=to("~#","'","",!0,d),b[c]=vo(a,g,!1,d),d=b):d=[to("~#","'","",!0,d),vo(a,g,!1,d)],d;case "array":return uo(a,g,d);case "map":return yo(a,g,d);default:a:{if(1===f.length){if("string"===typeof g){d=to("~",f,g,c,d);break a}if(c||a.hd){(a=a.Mc&&new io)?(f=a.tag(b),g=a.ka(b,a)):g=e.ka(b,e);if(null!==g){d=to("~",f,g,c,d);break a}d=Error('Tag "'+f+'" cannot be encoded as string');d.data={tag:f,R:g,Gd:b};throw d;}}b=f;c=g;a.Mc?(g=
+{},g[to("~#",b,"",!0,d)]=vo(a,c,!1,d),d=g):d=[to("~#",b,"",!0,d),vo(a,c,!1,d)]}return d}else throw d=(null==b?null:b.constructor).name,a=Error("Cannot write "+d),a.data={Gd:b,type:d},a;}function zo(a,b){var c=a.Fa(b);if(null!=c)return 1===c.tag(b).length?zk("'",b):b;var c=(null==b?null:b.constructor).name,d=Error("Cannot write "+c);d.data={Gd:b,type:c};throw d;}function Ao(a,b){this.sc=a;this.options=b||{};this.Ga=!1===this.options.cache?null:this.options.cache?this.options.cache:new On}
+Ao.prototype.Af=function(){return this.sc};Ao.prototype.marshaller=Ao.prototype.Af;Ao.prototype.write=function(a,b){var c=null,d=b||{},c=d.asMapKey||!1,e=this.sc.Mc?!1:this.Ga;!1===d.marshalTop?c=vo(this.sc,a,c,e):(d=this.sc,c=JSON.stringify(vo(d,zo(d,a),c,e)));null!=this.Ga&&this.Ga.clear();return c};Ao.prototype.write=Ao.prototype.write;Ao.prototype.register=function(a,b){this.sc.sa.set(a,b)};Ao.prototype.register=Ao.prototype.register;function Bo(a,b){if("json"===a||"json-verbose"===a||null==a){var c=new Un(b);return new Vn(c,b)}throw Error("Cannot create reader of type "+a);}function Co(a,b){if("json"===a||"json-verbose"===a||null==a){"json-verbose"===a&&(null==b&&(b={}),b.verbose=!0);var c=new so(b);return new Ao(c,b)}c=Error('Type must be "json"');c.data={type:a};throw c;};Uj.prototype.uc=!0;Uj.prototype.H=function(a,b){return b instanceof Uj?this.Lb===b.Lb:b instanceof Fk?this.Lb===b.toString():!1};fk.prototype.uc=!0;fk.prototype.H=function(a,b){return this.equiv(b)};Fk.prototype.uc=!0;Fk.prototype.H=function(a,b){return b instanceof Uj?ye(b,this):this.equiv(b)};yk.prototype.uc=!0;yk.prototype.H=function(a,b){return this.equiv(b)};fk.prototype.xd=!0;fk.prototype.P=function(){return dk.h?dk.h(this):dk.call(null,this)};Fk.prototype.xd=!0;
+Fk.prototype.P=function(){return dk.h?dk.h(this):dk.call(null,this)};yk.prototype.xd=!0;yk.prototype.P=function(){return dk.h?dk.h(this):dk.call(null,this)};function Do(a,b){for(var c=F(Xf(b)),d=null,e=0,f=0;;)if(f<e){var g=d.L(null,f);a[g]=b[g];f+=1}else if(c=F(c))d=c,Wf(d)?(c=Se(d),f=B(d),d=c,e=P(c),c=f):(c=G(d),a[c]=b[c],c=K(d),d=null,e=0),f=0;else break;return a}function Eo(){}Eo.prototype.jc=function(){return Le(ki)};Eo.prototype.add=function(a,b,c){return Pg.j(a,b,c)};Eo.prototype.Yc=function(a){return Ne(a)};
+Eo.prototype.Rb=function(a){return ni.j?ni.j(a,!0,!0):ni.call(null,a,!0,!0)};function Fo(){}Fo.prototype.jc=function(){return Le(Ff)};Fo.prototype.add=function(a,b){return Og.e(a,b)};Fo.prototype.Yc=function(a){return Ne(a)};Fo.prototype.Rb=function(a){return Kh.e?Kh.e(a,!0):Kh.call(null,a,!0)};
+var Go=function(){function a(a,b){var c=xg(a),g=Do({handlers:Nj(hj.k(L([new s(null,5,["$",function(){return function(a){return lf.h(a)}}(c),":",function(){return function(a){return yg.h(a)}}(c),"set",function(){return function(a){return oh.e(mj,a)}}(c),"list",function(){return function(a){return oh.e(I,a.reverse())}}(c),"cmap",function(){return function(a){for(var b=0,c=Le(ki);;)if(b<a.length)var d=b+2,c=Pg.j(c,a[b],a[b+1]),b=d;else return Ne(c)}}(c)],null),Zl.h(b)],0))),mapBuilder:new Eo,arrayBuilder:new Fo,
+prefersStrings:!1},Nj(Kf.e(b,Zl)));return Bo.e?Bo.e(c,g):Bo.call(null,c,g)}function b(a){return c.e(a,null)}var c=null,c=function(c,e){switch(arguments.length){case 1:return b.call(this,c);case 2:return a.call(this,c,e)}throw Error("Invalid arity: "+arguments.length);};c.h=b;c.e=a;return c}();function Ho(){}Ho.prototype.tag=function(){return":"};Ho.prototype.R=function(a){return a.Qa};Ho.prototype.ka=function(a){return a.Qa};function Io(){}Io.prototype.tag=function(){return"$"};Io.prototype.R=function(a){return a.Ea};
+Io.prototype.ka=function(a){return a.Ea};function Jo(){}Jo.prototype.tag=function(){return"list"};Jo.prototype.R=function(a){var b=[];a=F(a);for(var c=null,d=0,e=0;;)if(e<d){var f=c.L(null,e);b.push(f);e+=1}else if(a=F(a))c=a,Wf(c)?(a=Se(c),e=B(c),c=a,d=P(a),a=e):(a=G(c),b.push(a),a=K(c),c=null,d=0),e=0;else break;return zk.e?zk.e("array",b):zk.call(null,"array",b)};Jo.prototype.ka=function(){return null};function Ko(){}Ko.prototype.tag=function(){return"map"};Ko.prototype.R=function(a){return a};
+Ko.prototype.ka=function(){return null};function Lo(){}Lo.prototype.tag=function(){return"set"};Lo.prototype.R=function(a){var b=[];a=F(a);for(var c=null,d=0,e=0;;)if(e<d){var f=c.L(null,e);b.push(f);e+=1}else if(a=F(a))c=a,Wf(c)?(a=Se(c),e=B(c),c=a,d=P(a),a=e):(a=G(c),b.push(a),a=K(c),c=null,d=0),e=0;else break;return zk.e?zk.e("array",b):zk.call(null,"array",b)};Lo.prototype.ka=function(){return null};function Mo(){}Mo.prototype.tag=function(){return"array"};
+Mo.prototype.R=function(a){var b=[];a=F(a);for(var c=null,d=0,e=0;;)if(e<d){var f=c.L(null,e);b.push(f);e+=1}else if(a=F(a))c=a,Wf(c)?(a=Se(c),e=B(c),c=a,d=P(a),a=e):(a=G(c),b.push(a),a=K(c),c=null,d=0),e=0;else break;return b};Mo.prototype.ka=function(){return null};function No(){}No.prototype.tag=function(){return"u"};No.prototype.R=function(a){return a.Lb};No.prototype.ka=function(a){return this.R(a)};
+var Oo=function(){function a(a,b){var c=new Ho,g=new Io,k=new Jo,l=new Ko,m=new Lo,n=new Mo,q=new No,r=hj.k(L([Jf([Hi,vg,s,Fi,Uh,mf,V,sg,zg,Oh,Th,Gi,gj,fi,X,rg,yf,kj,bj,fj,Mh,oj,Fg,D,Uj,rj,Mi],[l,k,l,k,k,k,c,k,k,n,k,k,k,k,n,k,k,m,l,k,k,m,k,g,q,k,k]),Zl.h(b)],0)),v=xg(a),y=Do({objectBuilder:function(a,b,c,d,e,f,g,k,l){return function(m,n,q){return jg(function(){return function(a,b,c){a.push(n.h?n.h(b):n.call(null,b),q.h?q.h(c):q.call(null,c));return a}}(a,b,c,d,e,f,g,k,l),m)}}(v,c,g,k,l,m,n,q,r),handlers:function(){var a=
+Qd(r);a.forEach=function(){return function(a){for(var b=F(this),c=null,d=0,e=0;;)if(e<d){var f=c.L(null,e),g=Q.j(f,0,null),f=Q.j(f,1,null);a.e?a.e(f,g):a.call(null,f,g);e+=1}else if(b=F(b))Wf(b)?(c=Se(b),b=B(b),g=c,d=P(c),c=g):(c=G(b),g=Q.j(c,0,null),c=f=Q.j(c,1,null),a.e?a.e(c,g):a.call(null,c,g),b=K(b),c=null,d=0),e=0;else return null}}(a,v,c,g,k,l,m,n,q,r);return a}(),unpack:function(){return function(a){return a instanceof s?a.l:!1}}(v,c,g,k,l,m,n,q,r)},Nj(Kf.e(b,Zl)));return Co.e?Co.e(v,y):Co.call(null,
+v,y)}function b(a){return c.e(a,null)}var c=null,c=function(c,e){switch(arguments.length){case 1:return b.call(this,c);case 2:return a.call(this,c,e)}throw Error("Invalid arity: "+arguments.length);};c.h=b;c.e=a;return c}();function Po(a){if(a?a.fe:a)return a.fe();var b;b=Po[p(null==a?null:a)];if(!b&&(b=Po._,!b))throw w("PushbackReader.read-char",a);return b.call(null,a)}function Qo(a,b){if(a?a.ge:a)return a.ge(0,b);var c;c=Qo[p(null==a?null:a)];if(!c&&(c=Qo._,!c))throw w("PushbackReader.unread",a);return c.call(null,a,b)}function Ro(a,b,c){this.s=a;this.buffer=b;this.V=c}Ro.prototype.fe=function(){return 0===this.buffer.length?(this.V+=1,this.s[this.V]):this.buffer.pop()};Ro.prototype.ge=function(a,b){return this.buffer.push(b)};
+function So(a){var b=!/[^\t\n\r ]/.test(a);return t(b)?b:","===a}function To(a,b){var c;!(c=!/[^0-9]/.test(b))&&(c="+"===b||"-"===b)&&(c=Po(a),Qo(a,c),c=!/[^0-9]/.test(c));return c}var Uo=function(){function a(a,d){var e=null;1<arguments.length&&(e=L(Array.prototype.slice.call(arguments,1),0));return b.call(this,0,e)}function b(a,b){throw Error(U.e(z,b));}a.G=1;a.v=function(a){G(a);a=H(a);return b(0,a)};a.k=b;return a}();
+function Vo(a,b){for(var c=new xd(b),d=Po(a);;){var e;if(!(e=null==d||So(d))){e=d;var f="#"!==e;e=f?(f="'"!==e)?(f=":"!==e)?Wo.h?Wo.h(e):Wo.call(null,e):f:f:f}if(e)return Qo(a,d),c.toString();c.append(d);d=Po(a)}}function Xo(a){for(;;){var b=Po(a);if("\n"===b||"\r"===b||null==b)return a}}var Yo=xj("^([-+]?)(?:(0)|([1-9][0-9]*)|0[xX]([0-9A-Fa-f]+)|0([0-7]+)|([1-9][0-9]?)[rR]([0-9A-Za-z]+))(N)?$"),Zo=xj("^([-+]?[0-9]+)/([0-9]+)$"),$o=xj("^([-+]?[0-9]+(\\.[0-9]*)?([eE][-+]?[0-9]+)?)(M)?$"),ap=xj("^[:]?([^0-9/].*/)?([^0-9/][^/]*)$");
+function bp(a,b){var c=a.exec(b);return null!=c&&c[0]===b?1===c.length?c[0]:c:null}function cp(a){if(t(bp(Yo,a))){a=bp(Yo,a);var b=a[2];if(null!=(C.e(b,"")?null:b))a=0;else{var b=t(a[3])?[a[3],10]:t(a[4])?[a[4],16]:t(a[5])?[a[5],8]:t(a[6])?[a[7],parseInt(a[6],10)]:[null,null],c=b[0];null==c?a=null:(b=parseInt(c,b[1]),a="-"===a[1]?-b:b)}}else t(bp(Zo,a))?(a=bp(Zo,a),a=parseInt(a[1],10)/parseInt(a[2],10)):a=t(bp($o,a))?parseFloat(a):null;return a}var dp=xj("^[0-9A-Fa-f]{2}$"),ep=xj("^[0-9A-Fa-f]{4}$");
+function fp(a,b,c,d){return t(wj(a,d))?d:Uo.k(b,L(["Unexpected unicode escape \\",c,d],0))}function gp(a){return String.fromCharCode(parseInt(a,16))}
+function hp(a){var b=Po(a),c="t"===b?"\t":"r"===b?"\r":"n"===b?"\n":"\\"===b?"\\":'"'===b?'"':"b"===b?"\b":"f"===b?"\f":null;t(c)?a=c:"x"===b?(c=(new xd(Po(a),Po(a))).toString(),a=gp(fp(dp,a,b,c))):"u"===b?(c=(new xd(Po(a),Po(a),Po(a),Po(a))).toString(),a=gp(fp(ep,a,b,c))):a=/[^0-9]/.test(b)?Uo.k(a,L(["Unexpected unicode escape \\",b],0)):String.fromCharCode(b);return a}function ip(a){for(var b=Po(a);;){var c;c=b;c=So.h?So.h(c):So.call(null,c);if(t(c))b=Po(a);else return b}}
+function jp(a,b){for(var c=Le(Ff);;){var d=ip(b);t(d)||Uo.k(b,L(["EOF while reading"],0));if(a===d)return Ne(c);var e=function(){var a=d;return Wo.h?Wo.h(a):Wo.call(null,a)}();if(t(e))var f=e,e=function(){var a=d;return f.e?f.e(b,a):f.call(null,b,a)}();else Qo(b,d),e=kp.C?kp.C(b,!0,null,!0):kp.call(null,b,!0,null);c=e===b?c:Og.e(c,e)}}function lp(a,b){return Uo.k(a,L(["Reader for ",b," not implemented yet"],0))}
+function mp(a,b){var c=Po(a),d=np.h?np.h(c):np.call(null,c);if(t(d))return d.e?d.e(a,b):d.call(null,a,b);d=op.e?op.e(a,c):op.call(null,a,c);return t(d)?d:Uo.k(a,L(["No dispatch macro for ",c],0))}function pp(a,b){return Uo.k(a,L(["Unmached delimiter ",b],0))}function qp(a){return U.e(ug,jp(")",a))}function rp(a){return jp("]",a)}
+function sp(a){var b=jp("}",a),c=P(b);if("number"!==typeof c||!Gd(isNaN(c))||Infinity===c||parseFloat(c)!==parseInt(c,10))throw Error("Argument must be an integer: "+z.h(c));0!==(c&1)&&Uo.k(a,L(["Map literal must contain an even number of forms"],0));return U.e(Zg,b)}
+function tp(a,b){for(var c=new xd(b),d=Po(a);;){if(t(function(){var a=null==d;if(a||(a=So(d)))return a;a=d;return Wo.h?Wo.h(a):Wo.call(null,a)}())){Qo(a,d);var e=c.toString(),c=cp(e);return t(c)?c:Uo.k(a,L(["Invalid number format [",e,"]"],0))}c.append(d);d=e=Po(a)}}function up(a){for(var b=new xd,c=Po(a);;){if(null==c)return Uo.k(a,L(["EOF while reading"],0));if("\\"===c)b.append(hp(a));else{if('"'===c)return b.toString();b.append(c)}c=Po(a)}}
+function vp(a){for(var b=new xd,c=Po(a);;){if(null==c)return Uo.k(a,L(["EOF while reading"],0));if("\\"===c){b.append(c);var d=Po(a);if(null==d)return Uo.k(a,L(["EOF while reading"],0));var e=function(){var a=b;a.append(d);return a}(),f=Po(a)}else{if('"'===c)return b.toString();e=function(){var a=b;a.append(c);return a}();f=Po(a)}b=e;c=f}}
+function wp(a,b){var c=Vo(a,b);if(t(-1!=c.indexOf("/")))c=lf.e(qg.j(c,0,c.indexOf("/")),qg.j(c,c.indexOf("/")+1,c.length));else var d=lf.h(c),c="nil"===c?null:"true"===c?!0:"false"===c?!1:d;return c}function xp(a){var b=Vo(a,Po(a)),c=bp(ap,b),b=c[0],d=c[1],c=c[2];return void 0!==d&&":/"===d.substring(d.length-2,d.length)||":"===c[c.length-1]||-1!==b.indexOf("::",1)?Uo.k(a,L(["Invalid token: ",b],0)):null!=d&&0<d.length?yg.e(d.substring(0,d.indexOf("/")),c):yg.h(b)}
+function yp(a){return function(b){return Vd(Vd(I,kp.C?kp.C(b,!0,null,!0):kp.call(null,b,!0,null)),a)}}function zp(){return function(a){return Uo.k(a,L(["Unreadable form"],0))}}
+function Ap(a){var b;b=kp.C?kp.C(a,!0,null,!0):kp.call(null,a,!0,null);b=b instanceof D?new s(null,1,[qn,b],null):"string"===typeof b?new s(null,1,[qn,b],null):b instanceof V?new ni([b,!0],!0,!1):b;Uf(b)||Uo.k(a,L(["Metadata must be Symbol,Keyword,String or Map"],0));var c=kp.C?kp.C(a,!0,null,!0):kp.call(null,a,!0,null);return(c?c.w&262144||c.rf||(c.w?0:u(se,c)):u(se,c))?Bf(c,hj.k(L([Nf(c),b],0))):Uo.k(a,L(["Metadata can only be applied to IWithMetas"],0))}
+function Bp(a){a:if(a=jp("}",a),a=F(a),null==a)a=mj;else if(a instanceof mf&&0===a.i){a=a.l;b:{for(var b=0,c=Le(mj);;)if(b<a.length)var d=b+1,c=c.Ob(null,a[b]),b=d;else{a=c;break b}a=void 0}a=a.Pb(null)}else{for(d=Le(mj);;)if(null!=a)b=a.va(null),d=d.Ob(null,a.la(null)),a=b;else{a=d.Pb(null);break a}a=void 0}return a}function Cp(a){return xj(vp(a))}function Dp(a){kp.C?kp.C(a,!0,null,!0):kp.call(null,a,!0,null);return a}
+function Wo(a){return'"'===a?up:":"===a?xp:";"===a?Xo:"'"===a?yp(new D(null,"quote","quote",1377916282,null)):"@"===a?yp(new D(null,"deref","deref",1494944732,null)):"^"===a?Ap:"`"===a?lp:"~"===a?lp:"("===a?qp:")"===a?pp:"["===a?rp:"]"===a?pp:"{"===a?sp:"}"===a?pp:"\\"===a?Po:"#"===a?mp:null}function np(a){return"{"===a?Bp:"\x3c"===a?zp():'"'===a?Cp:"!"===a?Xo:"_"===a?Dp:null}
+function kp(a,b,c){for(;;){var d=Po(a);if(null==d)return t(b)?Uo.k(a,L(["EOF while reading"],0)):c;if(!So(d))if(";"===d){var e=function(){var b=a,c=d;return Xo.e?Xo.e(b,c):Xo.call(null,b)}();a=e}else{var f=Wo(d),e=t(f)?function(){var b=a,c=d;return f.e?f.e(b,c):f.call(null,b,c)}():To(a,d)?tp(a,d):wp(a,d);if(e!==a)return e}}}
+var Ep=function(a,b){return function(c,d){return S.e(t(d)?b:a,c)}}(new X(null,13,5,Z,[null,31,28,31,30,31,30,31,31,30,31,30,31],null),new X(null,13,5,Z,[null,31,29,31,30,31,30,31,31,30,31,30,31],null)),Fp=/(\d\d\d\d)(?:-(\d\d)(?:-(\d\d)(?:[T](\d\d)(?::(\d\d)(?::(\d\d)(?:[.](\d+))?)?)?)?)?)?(?:[Z]|([-+])(\d\d):(\d\d))?/;function Gp(a){a=parseInt(a,10);return Gd(isNaN(a))?a:null}
+function Hp(a,b,c,d){a<=b&&b<=c||Uo.k(null,L([""+z.h(d)+" Failed:  "+z.h(a)+"\x3c\x3d"+z.h(b)+"\x3c\x3d"+z.h(c)],0));return b}
+function Ip(a){var b=wj(Fp,a);Q.j(b,0,null);var c=Q.j(b,1,null),d=Q.j(b,2,null),e=Q.j(b,3,null),f=Q.j(b,4,null),g=Q.j(b,5,null),k=Q.j(b,6,null),l=Q.j(b,7,null),m=Q.j(b,8,null),n=Q.j(b,9,null),q=Q.j(b,10,null);if(Gd(b))return Uo.k(null,L(["Unrecognized date/time syntax: "+z.h(a)],0));var r=Gp(c),v=function(){var a=Gp(d);return t(a)?a:1}();a=function(){var a=Gp(e);return t(a)?a:1}();var b=function(){var a=Gp(f);return t(a)?a:0}(),c=function(){var a=Gp(g);return t(a)?a:0}(),y=function(){var a=Gp(k);
+return t(a)?a:0}(),x=function(){var a;a:if(C.e(3,P(l)))a=l;else if(3<P(l))a=qg.j(l,0,3);else{for(a=new xd(l);;)if(3>a.Eb.length)a=a.append("0");else{a=a.toString();break a}a=void 0}a=Gp(a);return t(a)?a:0}(),m=(C.e(m,"-")?-1:1)*(60*function(){var a=Gp(n);return t(a)?a:0}()+function(){var a=Gp(q);return t(a)?a:0}());return new X(null,8,5,Z,[r,Hp(1,v,12,"timestamp month field must be in range 1..12"),Hp(1,a,function(){var a;if(a=0===(r%4+4)%4)a=0!==(r%100+100)%100||0===(r%400+400)%400;return Ep.e?Ep.e(v,
+a):Ep.call(null,v,a)}(),"timestamp day field must be in range 1..last day in month"),Hp(0,b,23,"timestamp hour field must be in range 0..23"),Hp(0,c,59,"timestamp minute field must be in range 0..59"),Hp(0,y,C.e(c,59)?60:59,"timestamp second field must be in range 0..60"),Hp(0,x,999,"timestamp millisecond field must be in range 0..999"),m],null)}
+var Jp,Kp=new s(null,4,["inst",function(a){var b;if("string"===typeof a)if(b=Ip(a),t(b)){a=Q.j(b,0,null);var c=Q.j(b,1,null),d=Q.j(b,2,null),e=Q.j(b,3,null),f=Q.j(b,4,null),g=Q.j(b,5,null),k=Q.j(b,6,null);b=Q.j(b,7,null);b=new Date(Date.UTC(a,c-1,d,e,f,g,k)-6E4*b)}else b=Uo.k(null,L(["Unrecognized date/time syntax: "+z.h(a)],0));else b=Uo.k(null,L(["Instance literal expects a string for its timestamp."],0));return b},"uuid",function(a){return"string"===typeof a?new Uj(a):Uo.k(null,L(["UUID literal expects a string as its representation."],
+0))},"queue",function(a){return Vf(a)?oh.e(Vh,a):Uo.k(null,L(["Queue literal expects a vector for its elements."],0))},"js",function(a){if(Vf(a)){var b=[];a=F(a);for(var c=null,d=0,e=0;;)if(e<d){var f=c.L(null,e);b.push(f);e+=1}else if(a=F(a))c=a,Wf(c)?(a=Se(c),e=B(c),c=a,d=P(a),a=e):(a=G(c),b.push(a),a=K(c),c=null,d=0),e=0;else break;return b}if(Uf(a)){b={};a=F(a);c=null;for(e=d=0;;)if(e<d){var g=c.L(null,e),f=Q.j(g,0,null),g=Q.j(g,1,null);b[xg(f)]=g;e+=1}else if(a=F(a))Wf(a)?(d=Se(a),a=B(a),c=d,
+d=P(d)):(d=G(a),c=Q.j(d,0,null),d=Q.j(d,1,null),b[xg(c)]=d,a=K(a),c=null,d=0),e=0;else break;return b}return Uo.k(null,L(["JS literal expects a vector or map containing only string or unqualified keyword keys"],0))}],null);Jp=W.h?W.h(Kp):W.call(null,Kp);var Lp=W.h?W.h(null):W.call(null,null);
+function op(a,b){var c=wp(a,b),d=S.e(M.h?M.h(Jp):M.call(null,Jp),""+z.h(c)),e=M.h?M.h(Lp):M.call(null,Lp);return t(d)?(c=kp(a,!0,null),d.h?d.h(c):d.call(null,c)):t(e)?(d=kp(a,!0,null),e.e?e.e(c,d):e.call(null,c,d)):Uo.k(a,L(["Could not find tag parser for ",""+z.h(c)," in ",bh.k(L([hi(M.h?M.h(Jp):M.call(null,Jp))],0))],0))};function Mp(a,b,c,d,e,f,g){if(a?a.Ve:a)return a.Ve(a,b,c,d,e,f,g);var k;k=Mp[p(null==a?null:a)];if(!k&&(k=Mp._,!k))throw w("AjaxImpl.-js-ajax-request",a);return k.call(null,a,b,c,d,e,f,g)}var Np={};"undefined"!==typeof FormData&&(FormData.prototype.We=!0);function Op(a){var b=a?t(t(null)?null:a.We)?!0:a.Y?!1:u(Np,a):u(Np,a);return b?b:"string"===typeof a}Mp["null"]=function(a,b,c,d,e,f,g){a=ag(g)?U.e(Zg,g):g;a=S.e(a,yn);g=new Lc;Lb(g,"complete",f);g.qc=Math.max(0,t(a)?a:0);g.send(b,c,d,e);return g};
+function Pp(a){return Tg(nj([a]),new X(null,6,5,Z,[200,201,202,204,205,206],null))}function Qp(a){a=dd(a);return kp(new Ro(a,[],-1),!1,null)}
+var Rp=function(){function a(){return c.B()}function b(){return new s(null,2,[ll,Qp,Pk,"EDN"],null)}var c=null,c=function(c){switch(arguments.length){case 0:return b.call(this);case 1:return a.call(this)}throw Error("Invalid arity: "+arguments.length);};c.B=b;c.h=a;return c}(),Sp=function(){function a(a){return function(b){return a.write(b)}}var b=null,b=function(b,d){switch(arguments.length){case 1:return a.call(this,b);case 2:return b.write(d)}throw Error("Invalid arity: "+arguments.length);};b.h=
+a;b.e=function(a,b){return a.write(b)};return b}(),Tp=function(){function a(a){a=ag(a)?U.e(Zg,a):a;var b=S.e(a,Ql),c=S.e(a,Mm);a=t(c)?c:Oo.e(t(b)?b:xn,a);return new s(null,2,[pm,Sp.h(a),en,"application/transit+json; charset\x3dutf-8"],null)}function b(){return c.h(ki)}var c=null,c=function(c){switch(arguments.length){case 0:return b.call(this);case 1:return a.call(this,c)}throw Error("Invalid arity: "+arguments.length);};c.B=b;c.h=a;return c}(),Up=function(){function a(a,b,c){c=dd(c);a=a.oc(c);return t(b)?
+a:Sj.h(a)}function b(a,b){return function(c){c=dd(c);c=a.oc(c);return t(b)?c:Sj.h(c)}}function c(a){return function(b,c){var d=dd(c),d=a.oc(d);return t(b)?d:Sj.h(d)}}var d=null,d=function(d,f,g){switch(arguments.length){case 1:return c.call(this,d);case 2:return b.call(this,d,f);case 3:return a.call(this,d,f,g)}throw Error("Invalid arity: "+arguments.length);};d.h=c;d.e=b;d.j=a;return d}(),Vp=function(){function a(a){var b=ag(a)?U.e(Zg,a):a,c=S.e(b,Ql),g=S.e(b,Zm);a=S.e(b,wl);b=t(g)?g:Go.e(t(c)?c:
+xn,b);return new s(null,2,[ll,Up.e(b,a),Pk,"Transit"],null)}function b(){return c.h(ki)}var c=null,c=function(c){switch(arguments.length){case 0:return b.call(this);case 1:return a.call(this,c)}throw Error("Invalid arity: "+arguments.length);};c.B=b;c.h=a;return c}();
+function Wp(a){if(t(a)){var b=new ic(Nj(a));a=gc(b);if("undefined"==typeof a)throw Error("Keys are undefined");for(var c=new ld(null,0,void 0),b=fc(b),d=0;d<a.length;d++){var e=a[d],f=b[d];"array"==p(f)?wd(c,e,f):c.add(e,f)}a=c.toString()}else a=null;return a}function Xp(a){return dd(a)}function Yp(){return new s(null,2,[pm,Wp,en,"application/x-www-form-urlencoded"],null)}
+var Zp=function(){function a(){return c.B()}function b(){return new s(null,2,[ll,Xp,Pk,"raw text"],null)}var c=null,c=function(c){switch(arguments.length){case 0:return b.call(this);case 1:return a.call(this)}throw Error("Invalid arity: "+arguments.length);};c.B=b;c.h=a;return c}();function $p(a){var b=new ac;a=Nj(a);var c=[];bc(b,a,c);return c.join("")}
+var aq=function(){function a(a,b,c,d){a=ed(d,a);return t(b)?a:Sj.k(a,L([Rj,c],0))}function b(a,b,c){return function(d){d=ed(d,a);return t(b)?d:Sj.k(d,L([Rj,c],0))}}function c(a,b){return function(c,d){var e=ed(d,a);return t(b)?e:Sj.k(e,L([Rj,c],0))}}function d(a){return function(b,c,d){d=ed(d,a);return t(b)?d:Sj.k(d,L([Rj,c],0))}}var e=null,e=function(e,g,k,l){switch(arguments.length){case 1:return d.call(this,e);case 2:return c.call(this,e,g);case 3:return b.call(this,e,g,k);case 4:return a.call(this,
+e,g,k,l)}throw Error("Invalid arity: "+arguments.length);};e.h=d;e.e=c;e.j=b;e.C=a;return e}(),bq=function(){function a(a){var b=ag(a)?U.e(Zg,a):a;a=S.e(b,lm);var c=S.e(b,kl),b=S.e(b,wl);return new s(null,2,[ll,aq.j(a,b,c),Pk,"JSON"+z.h(t(a)?" prefix '"+z.h(a)+"'":null)+z.h(t(c)?" keywordize":null)],null)}function b(){return c.h(ki)}var c=null,c=function(c){switch(arguments.length){case 0:return b.call(this);case 1:return a.call(this,c)}throw Error("Invalid arity: "+arguments.length);};c.B=b;c.h=
+a;return c}(),cq=function(){function a(a,d,e,f){var g=null;3<arguments.length&&(g=L(Array.prototype.slice.call(arguments,3),0));return b.call(this,a,d,e,g)}function b(a,b,e,f){return new X(null,2,5,Z,[!1,Ld.j(Gf,new s(null,3,[Im,a,Hl,b,sl,e],null),eh.e(Lh,ph.e(2,f)))],null)}a.G=3;a.v=function(a){var d=G(a);a=K(a);var e=G(a);a=K(a);var f=G(a);a=H(a);return b(d,e,f,a)};a.k=b;return a}();
+function dq(a,b){var c=ag(a)?U.e(Zg,a):a,d=S.e(c,ll);try{var e=b.target,f=bd(e),g=Wg.e(cq,f);if(C.e(-1,f))return C.e(e.kc,7)?g.e?g.e("Request aborted by client.",Ll):g.call(null,"Request aborted by client.",Ll):g.e?g.e("Request timed out.",yn):g.call(null,"Request timed out.",yn);try{var k=d.h?d.h(e):d.call(null,e);if(t(Pp(f)))return new X(null,2,5,Z,[!0,k],null);var l=cd(e);return g.C?g.C(l,kn,Ok,k):g.call(null,l,kn,Ok,k)}catch(m){if(m instanceof Object){var d=m,n,q=ag(c)?U.e(Zg,c):c,r=S.e(q,Pk),
+v=new s(null,3,[Im,f,sl,kn,Ok,null],null),y=""+z.h(d.message)+"  Format should have been "+z.h(r),x=T.k(v,Hl,y,L([sl,$m,fl,dd(e)],0));n=t(Pp(f))?x:T.k(v,Hl,cd(e),L([em,x],0));return new X(null,2,5,Z,[!1,n],null)}throw m;}}catch(O){if(O instanceof Object)return d=O,cq.k(0,d.message,nn,L([nn,d],0));throw O;}}function eq(a){return a instanceof V?xg(a).toUpperCase():a}
+var fq=function(){function a(a,b,c){a=dq(a,c);return b.h?b.h(a):b.call(null,a)}function b(a,b){return function(c){c=dq(a,c);return b.h?b.h(c):b.call(null,c)}}function c(a){return function(b,c){var d=dq(a,c);return b.h?b.h(d):b.call(null,d)}}var d=null,d=function(d,f,g){switch(arguments.length){case 1:return c.call(this,d);case 2:return b.call(this,d,f);case 3:return a.call(this,d,f,g)}throw Error("Invalid arity: "+arguments.length);};d.h=c;d.e=b;d.j=a;return d}(),gq=new X(null,6,5,Z,[new X(null,2,
+5,Z,["application/json",bq],null),new X(null,2,5,Z,["application/edn",Rp],null),new X(null,2,5,Z,["text/plain",Zp],null),new X(null,2,5,Z,["text/html",Zp],null),new X(null,2,5,Z,["application/transit+json",Vp],null),new X(null,2,5,Z,[null,Zp],null)],null),hq=function(){function a(a,b){var c=Q.j(b,0,null);return null==c||0<=a.indexOf(c)}function b(a){return function(b){b=Q.j(b,0,null);return null==b||0<=a.indexOf(b)}}var c=null,c=function(c,e){switch(arguments.length){case 1:return b.call(this,c);
+case 2:return a.call(this,c,e)}throw Error("Invalid arity: "+arguments.length);};c.h=b;c.e=a;return c}();function iq(a,b){var c=ag(b)?U.e(Zg,b):b,d=S.e(c,dm),e=hq.h(function(){var b=a.getResponseHeader("Content-Type");return t(b)?b:""}());return Df(G(nh.e(e,d))).call(null,c)}
+var jq=function(){function a(a,b){return ll.h(iq(b,a)).call(null,b)}function b(a){return function(b){return ll.h(iq(b,a)).call(null,b)}}var c=null,c=function(c,e){switch(arguments.length){case 1:return b.call(this,c);case 2:return a.call(this,c,e)}throw Error("Invalid arity: "+arguments.length);};c.h=b;c.e=a;return c}(),kq=function(){function a(a){return new s(null,2,[ll,jq.h(a),Yk,"(from content type)"],null)}function b(){return c.h(new s(null,1,[dm,gq],null))}var c=null,c=function(c){switch(arguments.length){case 0:return b.call(this);
+case 1:return a.call(this,c)}throw Error("Invalid arity: "+arguments.length);};c.B=b;c.h=a;return c}();function lq(a,b){if(Uf(a))return a;if(Lf(a))return new s(null,1,[pm,a],null);if(null==a)return Tp.h(b);switch(a instanceof V?a.Qa:null){case "transit":return Tp.h(b);case "json":return new s(null,2,[pm,$p,en,"application/json"],null);case "edn":return new s(null,2,[pm,bh,en,"application/edn"],null);case "raw":return Yp();case "url":return Yp();default:return null}}
+function mq(a,b){if(Uf(a))return a;if(Lf(a))return new s(null,2,[ll,a,Pk,"custom"],null);if(null==a)return kq.B();switch(a instanceof V?a.Qa:null){case "transit":return Vp.h(b);case "json":return bq.h(b);case "edn":return Rp.B();case "raw":return Zp.B();case "detect":return kq.B();default:return null}}
+var nq=function(){function a(a,b){var c=ag(a)?U.e(Zg,a):a,g=S.e(c,Gn),k=S.e(c,om),c=S.e(c,Vk),l=Q.j(b,0,null),m=Q.j(b,1,null),g=t(l)?g:k;t(g)&&(g.h?g.h(m):g.call(null,m));return Lf(c)?c.B?c.B():c.call(null):null}function b(a){var b=ag(a)?U.e(Zg,a):a,c=S.e(b,Gn),g=S.e(b,om),k=S.e(b,Vk);return function(a,b,c,d,e){return function(a){var b=Q.j(a,0,null);a=Q.j(a,1,null);b=t(b)?c:d;t(b)&&(b.h?b.h(a):b.call(null,a));return Lf(e)?e.B?e.B():e.call(null):null}}(a,b,c,g,k)}var c=null,c=function(c,e){switch(arguments.length){case 1:return b.call(this,
+c);case 2:return a.call(this,c,e)}throw Error("Invalid arity: "+arguments.length);};c.h=b;c.e=a;return c}();
+function oq(a,b,c){a=T.k(c,pn,a,L([vl,b],0));a=ag(a)?U.e(Zg,a):a;var d=S.e(a,vl);c=S.e(a,Yk);b=S.e(a,Gl);var e=S.e(a,Ml),d=!(Op(e)||C.e(d,"GET"));c=t(t(c)?c:d)?lq(c,a):null;a=T.k(a,Gn,nq.h(a),L([Yk,c,Gl,mq(b,a)],0));a=ag(a)?U.e(Zg,a):a;S.e(a,pn);c=S.e(a,vl);d=S.e(a,Gl);b=S.e(a,ym);if(!Uf(d))if(cg(d))d=new s(null,2,[ll,d,Pk,"custom"],null);else throw Error("unrecognized response format: "+z.h(d));c=eq(c);var f;var g=ag(a)?U.e(Zg,a):a,e=S.e(g,pn),k=S.e(g,vl);f=S.e(g,Yk);var l=S.e(g,Ml),g=S.e(g,mm);
+if(C.e(eq(k),"GET"))e=t(l)?""+z.h(e)+"?"+z.h(Wp(l)):e,f=new X(null,3,5,Z,[e,null,g],null);else{var k=Uf(f)?f:cg(f)?new s(null,2,[pm,f,en,"text/plain"],null):null,k=ag(k)?U.e(Zg,k):k,m=S.e(k,pm),k=S.e(k,en);if(null!=m)f=m.h?m.h(l):m.call(null,l);else{if(!Op(l))throw Error("unrecognized request format: "+z.h(f));f=l}g=hj.k(L([t(g)?g:ki,t(k)?new s(null,1,["Content-Type",k],null):null],0));f=new X(null,3,5,Z,[e,f,g],null)}e=Q.j(f,0,null);g=Q.j(f,1,null);f=Q.j(f,2,null);l=ag(a)?U.e(Zg,a):a;l=S.e(l,Gn);
+if(t(l))d=fq.e(d,l);else throw Error("No ajax handler provided.");return Mp(b,e,c,g,Nj(f),d,a)}
+var pq=function(){function a(a,d){var e=null;1<arguments.length&&(e=L(Array.prototype.slice.call(arguments,1),0));return b.call(this,a,e)}function b(a,b){var e=G(b);return oq(a,"GET",e instanceof V?U.e(Zg,b):e)}a.G=1;a.v=function(a){var d=G(a);a=H(a);return b(d,a)};a.k=b;return a}(),qq=function(){function a(a,d){var e=null;1<arguments.length&&(e=L(Array.prototype.slice.call(arguments,1),0));return b.call(this,a,e)}function b(a,b){var e=G(b);return oq(a,"POST",e instanceof V?U.e(Zg,b):e)}a.G=1;a.v=
+function(a){var d=G(a);a=H(a);return b(d,a)};a.k=b;return a}();var rq=null,sq=null,tq=null,uq=null,vq=$a||bb||Ya||"function"==typeof ba.atob;
+function wq(a,b){var c;if(vq&&!b)c=ba.atob(a);else{if(!rq)for(rq={},sq={},tq={},uq={},c=0;65>c;c++)rq[c]="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\x3d".charAt(c),sq[rq[c]]=c,tq[c]="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_.".charAt(c),uq[tq[c]]=c;var d=b?uq:sq;c=[];for(var e=0;e<a.length;){var f=d[a.charAt(e++)],g=e<a.length?d[a.charAt(e)]:0;++e;var k=e<a.length?d[a.charAt(e)]:64;++e;var l=e<a.length?d[a.charAt(e)]:64;++e;if(null==f||null==g||null==k||
+null==l)throw Error();c.push(f<<2|g>>4);64!=k&&(c.push(g<<4&240|k>>2),64!=l&&c.push(k<<6&192|l))}if(8192>c.length)c=String.fromCharCode.apply(null,c);else{d="";for(e=0;e<c.length;e+=8192)d+=String.fromCharCode.apply(null,Oa(c,e,e+8192));c=d}}return c};var xq;function yq(a,b,c){if(a?a.zd:a)return a.zd(0,b,c);var d;d=yq[p(null==a?null:a)];if(!d&&(d=yq._,!d))throw w("WritePort.put!",a);return d.call(null,a,b,c)}function zq(a){if(a?a.Uc:a)return a.Uc();var b;b=zq[p(null==a?null:a)];if(!b&&(b=zq._,!b))throw w("Channel.close!",a);return b.call(null,a)}function Aq(a){if(a?a.de:a)return!0;var b;b=Aq[p(null==a?null:a)];if(!b&&(b=Aq._,!b))throw w("Handler.active?",a);return b.call(null,a)}
+function Bq(a){if(a?a.ee:a)return a.Pa;var b;b=Bq[p(null==a?null:a)];if(!b&&(b=Bq._,!b))throw w("Handler.commit",a);return b.call(null,a)}function Cq(a,b){if(a?a.ce:a)return a.ce(0,b);var c;c=Cq[p(null==a?null:a)];if(!c&&(c=Cq._,!c))throw w("Buffer.add!*",a);return c.call(null,a,b)}
+var Dq=function(){function a(a,b){if(null==b)throw Error("Assert failed: "+z.h(bh.k(L([ug(new D(null,"not","not",1044554643,null),ug(new D(null,"nil?","nil?",1612038930,null),new D(null,"itm","itm",-713282527,null)))],0))));return Cq(a,b)}var b=null,b=function(b,d){switch(arguments.length){case 1:return b;case 2:return a.call(this,b,d)}throw Error("Invalid arity: "+arguments.length);};b.h=function(a){return a};b.e=a;return b}();function Eq(a,b,c,d,e){for(var f=0;;)if(f<e)c[d+f]=a[b+f],f+=1;else break}function Fq(a,b,c,d){this.head=a;this.S=b;this.length=c;this.l=d}Fq.prototype.pop=function(){if(0===this.length)return null;var a=this.l[this.S];this.l[this.S]=null;this.S=(this.S+1)%this.l.length;this.length-=1;return a};Fq.prototype.unshift=function(a){this.l[this.head]=a;this.head=(this.head+1)%this.l.length;this.length+=1;return null};function Gq(a,b){a.length+1===a.l.length&&a.resize();a.unshift(b)}
+Fq.prototype.resize=function(){var a=Array(2*this.l.length);return this.S<this.head?(Eq(this.l,this.S,a,0,this.length),this.S=0,this.head=this.length,this.l=a):this.S>this.head?(Eq(this.l,this.S,a,0,this.l.length-this.S),Eq(this.l,0,a,this.l.length-this.S,this.head),this.S=0,this.head=this.length,this.l=a):this.S===this.head?(this.head=this.S=0,this.l=a):null};function Hq(a,b){for(var c=a.length,d=0;;)if(d<c){var e=a.pop(),f;f=e;f=b.h?b.h(f):b.call(null,f);t(f)&&a.unshift(e);d+=1}else break}
+function Iq(a){if(!(0<a))throw Error("Assert failed: Can't create a ring buffer of size 0\n"+z.h(bh.k(L([ug(new D(null,"\x3e","\x3e",1085014381,null),new D(null,"n","n",-2092305744,null),0)],0))));return new Fq(0,0,0,Array(a))}function Jq(a,b){this.ba=a;this.Mf=b;this.w=2;this.I=0}function Kq(a){return a.ba.length===a.Mf}Jq.prototype.Tc=function(){return this.ba.pop()};Jq.prototype.ce=function(a,b){Gq(this.ba,b);return this};Jq.prototype.ca=function(){return this.ba.length};
+function Lq(a){return new Jq(Iq(a),a)};var Mq;
+function Nq(){var a=ba.MessageChannel;"undefined"===typeof a&&"undefined"!==typeof window&&window.postMessage&&window.addEventListener&&(a=function(){var a=document.createElement("iframe");a.style.display="none";a.src="";document.documentElement.appendChild(a);var b=a.contentWindow,a=b.document;a.open();a.write("");a.close();var c="callImmediate"+Math.random(),d="file:"==b.location.protocol?"*":b.location.protocol+"//"+b.location.host,a=ma(function(a){if(a.origin==d||a.data==c)this.port1.onmessage()},this);
+b.addEventListener("message",a,!1);this.port1={};this.port2={postMessage:function(){b.postMessage(c,d)}}});if("undefined"!==typeof a){var b=new a,c={},d=c;b.port1.onmessage=function(){c=c.next;var a=c.Td;c.Td=null;a()};return function(a){d.next={Td:a};d=d.next;b.port2.postMessage(0)}}return"undefined"!==typeof document&&"onreadystatechange"in document.createElement("script")?function(a){var b=document.createElement("script");b.onreadystatechange=function(){b.onreadystatechange=null;b.parentNode.removeChild(b);
+b=null;a();a=null};document.documentElement.appendChild(b)}:function(a){ba.setTimeout(a,0)}};var Oq=Iq(32),Pq=!1,Rq=!1;function Sq(){Pq=!0;Rq=!1;for(var a=0;;){var b=Oq.pop();if(null!=b&&(b.B?b.B():b.call(null),1024>a)){a+=1;continue}break}Pq=!1;return 0<Oq.length?Tq.B?Tq.B():Tq.call(null):null}function Tq(){var a=Rq;if(t(t(a)?Pq:a))return null;Rq=!0;ha(ba.setImmediate)?ba.setImmediate(Sq):(Mq||(Mq=Nq()),Mq(Sq))}function Uq(a){Gq(Oq,a);Tq()};var Vq,Xq=function Wq(b){"undefined"===typeof Vq&&(Vq=function(b,d,e){this.Xe=b;this.D=d;this.Kf=e;this.w=425984;this.I=0},Vq.Wa=!0,Vq.Va="cljs.core.async.impl.channels/t26879",Vq.cb=function(b,d){return Fe(d,"cljs.core.async.impl.channels/t26879")},Vq.prototype.N=function(b,d){return new Vq(this.Xe,this.D,d)},Vq.prototype.M=function(){return this.Kf},Vq.prototype.Nb=function(){return this.D});return new Vq(Wq,b,null)};function Yq(a,b){this.Fa=a;this.D=b}function Zq(a){return Aq(a.Fa)}
+function $q(a){if(a?a.be:a)return a.be();var b;b=$q[p(null==a?null:a)];if(!b&&(b=$q._,!b))throw w("MMC.abort",a);return b.call(null,a)}function ar(a,b,c,d,e,f,g){this.Xb=a;this.Xc=b;this.Kb=c;this.Wc=d;this.ba=e;this.closed=f;this.La=g}ar.prototype.be=function(){for(;;){var a=this.Kb.pop();if(null!=a){var b=a.Fa;Uq(function(a){return function(){return a.h?a.h(!0):a.call(null,!0)}}(b.Pa,b,a.D,a,this))}break}Hq(this.Kb,Ug(!1));return zq(this)};
+ar.prototype.zd=function(a,b,c){var d=this;if(null==b)throw Error("Assert failed: Can't put nil in on a channel\n"+z.h(bh.k(L([ug(new D(null,"not","not",1044554643,null),ug(new D(null,"nil?","nil?",1612038930,null),new D(null,"val","val",1769233139,null)))],0))));if(a=d.closed)return Xq(!a);if(t(function(){var a=d.ba;return t(a)?Gd(Kq(d.ba)):a}())){for(c=sf(function(){var a=d.ba;return d.La.e?d.La.e(a,b):d.La.call(null,a,b)}());;){if(0<d.Xb.length&&0<P(d.ba)){var e=d.Xb.pop(),f=e.Pa,g=d.ba.Tc();Uq(function(a,
+b){return function(){return a.h?a.h(b):a.call(null,b)}}(f,g,e,c,a,this))}break}c&&$q(this);return Xq(!0)}e=function(){for(;;){var a=d.Xb.pop();if(t(a)){if(t(!0))return a}else return null}}();if(t(e))return c=Bq(e),Uq(function(a){return function(){return a.h?a.h(b):a.call(null,b)}}(c,e,a,this)),Xq(!0);64<d.Wc?(d.Wc=0,Hq(d.Kb,Zq)):d.Wc+=1;if(!(1024>d.Kb.length))throw Error("Assert failed: "+z.h("No more than "+z.h(1024)+" pending puts are allowed on a single channel. Consider using a windowed buffer.")+
+"\n"+z.h(bh.k(L([ug(new D(null,"\x3c","\x3c",993667236,null),ug(new D(null,".-length",".-length",-280799999,null),new D(null,"puts","puts",-1883877054,null)),new D("impl","MAX-QUEUE-SIZE","impl/MAX-QUEUE-SIZE",1508600732,null))],0))));Gq(d.Kb,new Yq(c,b));return null};
+ar.prototype.sf=function(a){var b=this;if(null!=b.ba&&0<P(b.ba)){a=a.Pa;for(var c=Xq(b.ba.Tc());;){if(!t(Kq(b.ba))){var d=b.Kb.pop();if(null!=d){var e=d.Fa,f=d.D;Uq(function(a){return function(){return a.h?a.h(!0):a.call(null,!0)}}(e.Pa,e,f,d,a,c,this));sf(function(){var a=b.ba,c=f;return b.La.e?b.La.e(a,c):b.La.call(null,a,c)}())&&$q(this);continue}}break}return c}c=function(){for(;;){var a=b.Kb.pop();if(t(a)){if(Aq(a.Fa))return a}else return null}}();if(t(c))return a=Bq(c.Fa),Uq(function(a){return function(){return a.h?
+a.h(!0):a.call(null,!0)}}(a,c,this)),Xq(c.D);if(t(b.closed))return t(b.ba)&&(c=b.ba,b.La.h?b.La.h(c):b.La.call(null,c)),t(t(!0)?a.Pa:!0)?(a=function(){var a=b.ba;return t(a)?0<P(b.ba):a}(),a=t(a)?b.ba.Tc():null,Xq(a)):null;64<b.Xc?(b.Xc=0,Hq(b.Xb,Aq)):b.Xc+=1;if(!(1024>b.Xb.length))throw Error("Assert failed: "+z.h("No more than "+z.h(1024)+" pending takes are allowed on a single channel.")+"\n"+z.h(bh.k(L([ug(new D(null,"\x3c","\x3c",993667236,null),ug(new D(null,".-length",".-length",-280799999,
+null),new D(null,"takes","takes",298247964,null)),new D("impl","MAX-QUEUE-SIZE","impl/MAX-QUEUE-SIZE",1508600732,null))],0))));Gq(b.Xb,a);return null};
+ar.prototype.Uc=function(){var a=this;if(!a.closed){a.closed=!0;if(t(function(){var b=a.ba;return t(b)?0===a.Kb.length:b}())){var b=a.ba;a.La.h?a.La.h(b):a.La.call(null,b)}for(;;)if(b=a.Xb.pop(),null!=b){var c=b.Pa,d=t(function(){var b=a.ba;return t(b)?0<P(a.ba):b}())?a.ba.Tc():null;Uq(function(a,b){return function(){return a.h?a.h(b):a.call(null,b)}}(c,d,b,this))}else break}return null};function br(a){console.log(a);return null}
+function cr(a,b,c){b=(t(b)?b:br).call(null,c);return null==b?a:Dq.e(a,b)}
+var dr=function(){function a(a,b,c){return new ar(Iq(32),0,Iq(32),0,a,!1,function(){return function(a){return function(){function b(d,e){try{return a.e?a.e(d,e):a.call(null,d,e)}catch(f){return cr(d,c,f)}}function d(b){try{return a.h?a.h(b):a.call(null,b)}catch(e){return cr(b,c,e)}}var e=null,e=function(a,c){switch(arguments.length){case 1:return d.call(this,a);case 2:return b.call(this,a,c)}throw Error("Invalid arity: "+arguments.length);};e.h=d;e.e=b;return e}()}(t(b)?b.h?b.h(Dq):b.call(null,Dq):
+Dq)}())}function b(a,b){return d.j(a,b,null)}function c(a){return d.e(a,null)}var d=null,d=function(d,f,g){switch(arguments.length){case 1:return c.call(this,d);case 2:return b.call(this,d,f);case 3:return a.call(this,d,f,g)}throw Error("Invalid arity: "+arguments.length);};d.h=c;d.e=b;d.j=a;return d}();var er,gr=function fr(b){"undefined"===typeof er&&(er=function(b,d,e){this.Cd=b;this.Pa=d;this.Jf=e;this.w=393216;this.I=0},er.Wa=!0,er.Va="cljs.core.async.impl.ioc-helpers/t26762",er.cb=function(b,d){return Fe(d,"cljs.core.async.impl.ioc-helpers/t26762")},er.prototype.N=function(b,d){return new er(this.Cd,this.Pa,d)},er.prototype.M=function(){return this.Jf},er.prototype.de=function(){return!0},er.prototype.ee=function(){return this.Pa});return new er(fr,b,null)};
+function hr(a){try{return a[0].call(null,a)}catch(b){throw b instanceof Object&&a[6].Uc(),b;}}function ir(a,b){var c=b.sf(gr(function(b){a[2]=b;a[1]=4;return hr(a)}));return t(c)?(a[2]=M.h?M.h(c):M.call(null,c),a[1]=4,Pl):null}function jr(a,b){var c=a[6];null!=b&&c.zd(0,b,gr(function(){return function(){return null}}(c)));c.Uc();return c}
+function kr(a){for(;;){var b=a[4],c=Tl.h(b),d=Um.h(b),e=a[5];if(t(function(){var a=e;return t(a)?Gd(b):a}()))throw e;if(t(function(){var a=e;return t(a)?(a=c,t(a)?e instanceof d:a):a}())){a[1]=c;a[2]=e;a[5]=null;a[4]=T.k(b,Tl,null,L([Um,null],0));break}if(t(function(){var a=e;return t(a)?Gd(c)&&Gd(xl.h(b)):a}()))a[4]=an.h(b);else{if(t(function(){var a=e;return t(a)?(a=Gd(c))?xl.h(b):a:a}())){a[1]=xl.h(b);a[4]=T.j(b,xl,null);break}if(t(function(){var a=Gd(e);return a?xl.h(b):a}())){a[1]=xl.h(b);a[4]=
+T.j(b,xl,null);break}if(Gd(e)&&Gd(xl.h(b))){a[1]=cn.h(b);a[4]=an.h(b);break}throw Error("No matching clause");}}};function lr(a,b,c){this.key=a;this.D=b;this.forward=c;this.w=2155872256;this.I=0}lr.prototype.U=function(){return Vd(Vd(I,this.D),this.key)};lr.prototype.Q=function(a,b,c){return yj(b,Ej,"["," ","]",c,this)};
+(function(){function a(a,b,c){c=Array(c+1);for(var g=0;;)if(g<c.length)c[g]=null,g+=1;else break;return new lr(a,b,c)}function b(a){return c.j(null,null,a)}var c=null,c=function(c,e,f){switch(arguments.length){case 1:return b.call(this,c);case 3:return a.call(this,c,e,f)}throw Error("Invalid arity: "+arguments.length);};c.h=b;c.j=a;return c})().h(0);var nr=function mr(b){"undefined"===typeof xq&&(xq=function(b,d,e){this.Cd=b;this.Pa=d;this.If=e;this.w=393216;this.I=0},xq.Wa=!0,xq.Va="cljs.core.async/t23356",xq.cb=function(b,d){return Fe(d,"cljs.core.async/t23356")},xq.prototype.N=function(b,d){return new xq(this.Cd,this.Pa,d)},xq.prototype.M=function(){return this.If},xq.prototype.de=function(){return!0},xq.prototype.ee=function(){return this.Pa});return new xq(mr,b,null)},or=function(){function a(a,b,c){a=C.e(a,0)?null:a;if(t(b)&&!t(a))throw Error("Assert failed: buffer must be supplied when transducer is\n"+
+z.h(bh.k(L([new D(null,"buf-or-n","buf-or-n",-1646815050,null)],0))));return dr.j("number"===typeof a?Lq(a):a,b,c)}function b(a,b){return e.j(a,b,null)}function c(a){return e.j(a,null,null)}function d(){return e.h(null)}var e=null,e=function(e,g,k){switch(arguments.length){case 0:return d.call(this);case 1:return c.call(this,e);case 2:return b.call(this,e,g);case 3:return a.call(this,e,g,k)}throw Error("Invalid arity: "+arguments.length);};e.B=d;e.h=c;e.e=b;e.j=a;return e}(),pr=nr(function(){return null}),
+qr=function(){function a(a,b,c,d){a=yq(a,b,nr(c));return t(a)?(b=M.h?M.h(a):M.call(null,a),t(d)?c.h?c.h(b):c.call(null,b):Uq(function(a){return function(){return c.h?c.h(a):c.call(null,a)}}(b,a,a)),b):!0}function b(a,b,c){return d.C(a,b,c,!0)}function c(a,b){var c=yq(a,b,pr);return t(c)?M.h?M.h(c):M.call(null,c):!0}var d=null,d=function(d,f,g,k){switch(arguments.length){case 2:return c.call(this,d,f);case 3:return b.call(this,d,f,g);case 4:return a.call(this,d,f,g,k)}throw Error("Invalid arity: "+
+arguments.length);};d.e=c;d.j=b;d.C=a;return d}();function rr(a){return decodeURIComponent(escape(a))}
+var tr=function sr(b){return Qf(b)?b:C.e(S.e(b,P(b)-1),"/")?sr(qg.j(b,0,P(b)-1)):qg.e(b,1+b.lastIndexOf("/"))},ur=function(){function a(a,b,c){return""+z.h(a)+":"+z.h(b)+":"+z.h(c)}function b(a){var b=ag(a)?U.e(Zg,a):a;a=S.e(b,cm);var f=S.e(b,Hm),b=S.e(b,Rk);return c.j(a,f,b)}var c=null,c=function(c,e,f){switch(arguments.length){case 1:return b.call(this,c);case 3:return a.call(this,c,e,f)}throw Error("Invalid arity: "+arguments.length);};c.h=b;c.j=a;return c}(),vr=function(){function a(a,b,c){var g=
+or.h(1);Uq(function(g){return function(){var l=function(){return function(a){return function(){function b(c){for(;;){var d;a:{try{for(;;){var e=a(c);if(!wg(e,Pl)){d=e;break a}}}catch(f){if(f instanceof Object){c[5]=f;kr(c);d=Pl;break a}throw f;}d=void 0}if(!wg(d,Pl))return d}}function c(){var a=[null,null,null,null,null,null,null,null];a[0]=d;a[1]=1;return a}var d=null,d=function(a){switch(arguments.length){case 0:return c.call(this);case 1:return b.call(this,a)}throw Error("Invalid arity: "+arguments.length);
+};d.B=c;d.h=b;return d}()}(function(){return function(g){var k=g[1];if(1===k){var l=b;g[7]=l;g[2]=null;g[1]=2;return Pl}return 2===k?ir(g,a):3===k?(k=g[2],jr(g,k)):4===k?(l=g[7],k=g[2],k=c.e?c.e(k,l):c.call(null,k,l),g[7]=k,g[2]=null,g[1]=2,Pl):null}}(g),g)}(),m=function(){var a=l.B?l.B():l.call(null);a[6]=g;return a}();return hr(m)}}(g));return g}function b(a,b){var c=or.h(1);Uq(function(c){return function(){var f=function(){return function(a){return function(){function b(c){for(;;){var d;a:{try{for(;;){var e=
+a(c);if(!wg(e,Pl)){d=e;break a}}}catch(f){if(f instanceof Object){c[5]=f;kr(c);d=Pl;break a}throw f;}d=void 0}if(!wg(d,Pl))return d}}function c(){var a=[null,null,null,null,null,null,null,null];a[0]=d;a[1]=1;return a}var d=null,d=function(a){switch(arguments.length){case 0:return c.call(this);case 1:return b.call(this,a)}throw Error("Invalid arity: "+arguments.length);};d.B=c;d.h=b;return d}()}(function(){return function(c){var f=c[1];return 1===f?(c[2]=null,c[1]=2,Pl):2===f?ir(c,a):3===f?(f=c[2],
+jr(c,f)):4===f?(f=c[2],f=b.h?b.h(f):b.call(null,f),c[7]=f,c[2]=null,c[1]=2,Pl):null}}(c),c)}(),l=function(){var a=f.B?f.B():f.call(null);a[6]=c;return a}();return hr(l)}}(c));return c}var c=null,c=function(c,e,f){switch(arguments.length){case 2:return b.call(this,c,e);case 3:return a.call(this,c,e,f)}throw Error("Invalid arity: "+arguments.length);};c.e=b;c.j=a;return c}();
+function wr(a){var b=oh.e(ki,function(){return function d(a){return new zg(null,function(){for(;;){var b=F(a);if(b){if(Wf(b)){var g=Se(b),k=P(g),l=Dg(k);return function(){for(var a=0;;)if(a<k){var b=A.e(g,a),d=l,e=b.split("\x3d",2),b=Q.j(e,0,null),e=Q.j(e,1,null),b=new X(null,2,5,Z,[yg.h(b),e],null);d.add(b);a+=1}else return!0}()?Gg(l.qa(),d(B(b))):Gg(l.qa(),null)}var m=G(b);return N(function(){var a=m.split("\x3d",2),b=Q.j(a,0,null),a=Q.j(a,1,null);return new X(null,2,5,Z,[yg.h(b),a],null)}(),d(H(b)))}return null}},
+null,null)}(a.split("?"))}());return new s(null,3,[Jm,rm.h(b),Rk,Rk.h(b),Hm,Hm.h(b)],null)}function xr(a){var b=new fd(a);C.h(b.Wb)||console.log("WARNING: invalid ticket '"+z.h(a)+"'");return T.k(wr(kd(b.zb.toString())),cm,b.ec,L([Dl,b.Ec],0))}function yr(a,b){return t(b)?""+z.h(a)+z.h(encodeURIComponent(b)):""}function zr(a){return"kythe:"+z.h(yr("//",cm.h(a)))+z.h(yr("?lang\x3d",Jm.h(a)))+z.h(yr("?path\x3d",Rk.h(a)))+z.h(yr("?root\x3d",Hm.h(a)))+z.h(yr("#",Dl.h(a)))}
+var Ar=new s(null,2,[rm,Jm,qm,Dl],null);
+function Br(){var a=new fd(qg.e(location.hash,1)),b=a.zb,c=oh.e(ki,function(){return function(a,b){return function g(c){return new zg(null,function(a,b){return function(){for(;;){var a=F(c);if(a){if(Wf(a)){var d=Se(a),e=P(d),l=Dg(e);return function(){for(var a=0;;)if(a<e){var c=A.e(d,a),g=yg.h(c),k=l,n=Z,y=g.h?g.h(Ar):g.call(null,Ar),c=new X(null,2,5,n,[t(y)?y:g,b.get(c)],null);k.add(c);a+=1}else return!0}()?Gg(l.qa(),g(B(a))):Gg(l.qa(),null)}var y=G(a),x=yg.h(y);return N(new X(null,2,5,Z,[function(){var a=
+x.h?x.h(Ar):x.call(null,Ar);return t(a)?a:x}(),b.get(y)],null),g(H(a)))}return null}}}(a,b),null,null)}}(a,b)(b.Ja())}());return Qf(a.mc)?c:T.j(c,Rk,a.mc)}function Cr(a){var b=Rk.h(a),c=new ld;a=F(Kf.e(a,Rk));for(var d=null,e=0,f=0;;)if(f<e){var g=d.L(null,f),k=Q.j(g,0,null),g=Q.j(g,1,null);t(g)&&c.add(xg(k),g);f+=1}else if(a=F(a))Wf(a)?(e=Se(a),a=B(a),d=e,e=P(e)):(e=G(a),d=Q.j(e,0,null),e=Q.j(e,1,null),t(e)&&c.add(xg(d),e),a=K(a),d=null,e=0),f=0;else break;location.hash="#"+z.h(b)+"?"+z.h(c)};function Dr(a){return oh.e(ki,function(){return function c(a){return new zg(null,function(){for(;;){var e=F(a);if(e){if(Wf(e)){var f=Se(e),g=P(f),k=Dg(g);a:{for(var l=0;;)if(l<g){var m=A.e(f,l),m=new X(null,2,5,Z,[S.e(m,"name"),S.e(m,"root")],null);k.add(m);l+=1}else{f=!0;break a}f=void 0}return f?Gg(k.qa(),c(B(e))):Gg(k.qa(),null)}k=G(e);return N(new X(null,2,5,Z,[S.e(k,"name"),S.e(k,"root")],null),c(H(e)))}return null}},null,null)}(S.e(a,"corpus"))}())}
+function Er(a,b){return pq.k("corpusRoots",L([new s(null,3,[Gl,xn,Gn,Vg.e(a,Dr),om,b],null)],0))}function Fr(a){return new s(null,2,[Xl,oh.e(ki,eh.e(function(a){a=xr(a);return new X(null,2,5,Z,[Rk.h(a),ki],null)},S.e(a,"subdirectory"))),dn,oh.e(ki,eh.e(function(a){var c=xr(a);return new X(null,2,5,Z,[tr(Rk.h(c)),new s(null,2,[Qm,a,zl,c],null)],null)},S.e(a,"file")))],null)}
+function Gr(a,b,c,d,e){return qq.k("dir",L([new s(null,5,[Ml,new s(null,3,[cm,a,Hm,b,Rk,c],null),Yk,xn,Gl,xn,Gn,Vg.e(d,Fr),om,e],null)],0))}function Hr(a){return new s(null,1,[Bn,oh.e(ki,eh.e(tj.e(G,Vg.j(rr,wq,Df)),Bn.h(a)))],null)}function Ir(a){return new s(null,3,[Km,C.e(1,P(ln.h(a)))?Df(G(ln.h(a))):ln.h(a),Dm,oh.e(ki,eh.e(tj.e(G,Vg.e(Hr,Df)),Dm.h(a))),Am,El.h(a)],null)}
+var Jr=function(){function a(a,b,c,g){return qq.k("xrefs",L([new s(null,6,[Ml,hj.k(L([new s(null,7,[Tm,"BINDING_DEFINITIONS",Cl,"ALL_DECLARATIONS",bl,"ALL_REFERENCES",tm,"ALL_DOCUMENTATION",xm,new X(null,1,5,Z,["/kythe/node/kind"],null),Sl,!0,yl,20],null),b,new s(null,1,[Qm,ag(a)?a:new X(null,1,5,Z,[a],null)],null)],0)),Yk,xn,Gl,xn,kl,!0,Gn,Vg.e(c,Ir),om,g],null)],0))}function b(a,b,f){return c.C(a,ki,b,f)}var c=null,c=function(c,e,f,g){switch(arguments.length){case 3:return b.call(this,c,e,f);case 4:return a.call(this,
+c,e,f,g)}throw Error("Invalid arity: "+arguments.length);};c.j=b;c.C=a;return c}();function Kr(a,b,c){qq.k("decorations",L([new s(null,6,[Ml,new s(null,4,[En,new s(null,1,[Qm,a],null),gl,!0,Vl,!0,gm,!0],null),Yk,xn,Gl,xn,kl,!0,Gn,b,om,c],null)],0))};var Lr=function(){function a(a,d){var e=null;1<arguments.length&&(e=L(Array.prototype.slice.call(arguments,1),0));return b.call(this,a,e)}function b(a,b){return React.DOM.code.apply(null,Md.h(N(a,b)))}a.G=1;a.v=function(a){var d=G(a);a=H(a);return b(d,a)};a.k=b;return a}(),Mr=function(){function a(a,d){var e=null;1<arguments.length&&(e=L(Array.prototype.slice.call(arguments,1),0));return b.call(this,a,e)}function b(a,b){return React.DOM.div.apply(null,Md.h(N(a,b)))}a.G=1;a.v=function(a){var d=G(a);
+a=H(a);return b(d,a)};a.k=b;return a}(),Nr=function(){function a(a,d){var e=null;1<arguments.length&&(e=L(Array.prototype.slice.call(arguments,1),0));return b.call(this,a,e)}function b(a,b){return React.DOM.li.apply(null,Md.h(N(a,b)))}a.G=1;a.v=function(a){var d=G(a);a=H(a);return b(d,a)};a.k=b;return a}(),Or=function(){function a(a,d){var e=null;1<arguments.length&&(e=L(Array.prototype.slice.call(arguments,1),0));return b.call(this,a,e)}function b(a,b){return React.DOM.pre.apply(null,Md.h(N(a,b)))}
+a.G=1;a.v=function(a){var d=G(a);a=H(a);return b(d,a)};a.k=b;return a}(),Pr=function(){function a(a,d){var e=null;1<arguments.length&&(e=L(Array.prototype.slice.call(arguments,1),0));return b.call(this,a,e)}function b(a,b){return React.DOM.ul.apply(null,Md.h(N(a,b)))}a.G=1;a.v=function(a){var d=G(a);a=H(a);return b(d,a)};a.k=b;return a}();
+function Qr(a,b){React.createClass({getDisplayName:function(){return b},getInitialState:function(){return{value:this.props.value}},onChange:function(a){var b=this.props.onChange;if(null==b)return null;b.h?b.h(a):b.call(null,a);return this.setState({value:a.target.value})},componentWillReceiveProps:function(a){return this.setState({value:a.value})},render:function(){var b=this;return b.transferPropsTo(function(){var d={value:b.state.value,onChange:b.onChange,children:b.props.children};return a.h?a.h(d):
+a.call(null,d)}())}})}Qr(React.DOM.input,"input");Qr(React.DOM.textarea,"textarea");Qr(React.DOM.option,"option");function Rr(a,b){return React.renderComponent(a,b)};function Sr(a,b){var c=Array.prototype.slice.call(arguments),d=c.shift();if("undefined"==typeof d)throw Error("[goog.string.format] Template required");return d.replace(/%([0\-\ \+]*)(\d+)?(\.(\d+))?([%sfdiu])/g,function(a,b,d,k,l,m,n,q){if("%"==m)return"%";var r=c.shift();if("undefined"==typeof r)throw Error("[goog.string.format] Not enough arguments");arguments[0]=r;return Tr[m].apply(null,arguments)})}
+var Tr={s:function(a,b,c){return isNaN(c)||""==c||a.length>=c?a:a=-1<b.indexOf("-",0)?a+Array(c-a.length+1).join(" "):Array(c-a.length+1).join(" ")+a},f:function(a,b,c,d,e){d=a.toString();isNaN(e)||""==e||(d=a.toFixed(e));var f;f=0>a?"-":0<=b.indexOf("+")?"+":0<=b.indexOf(" ")?" ":"";0<=a&&(d=f+d);if(isNaN(c)||d.length>=c)return d;d=isNaN(e)?Math.abs(a).toString():Math.abs(a).toFixed(e);a=c-d.length-f.length;return d=0<=b.indexOf("-",0)?f+d+Array(a+1).join(" "):f+Array(a+1).join(0<=b.indexOf("0",
+0)?"0":" ")+d},d:function(a,b,c,d,e,f,g,k){return Tr.f(parseInt(a,10),b,c,d,0,f,g,k)}};Tr.i=Tr.d;Tr.u=Tr.d;function Ur(){}Ur.me=function(){return Ur.qe?Ur.qe:Ur.qe=new Ur};Ur.prototype.se=0;var Vr=null,Wr=null,Xr=null,Yr=null,Zr=null,$r={};function as(a){if(a?a.Rf:a)return a.Rf(a);var b;b=as[p(null==a?null:a)];if(!b&&(b=as._,!b))throw w("IDisplayName.display-name",a);return b.call(null,a)}var bs={};function cs(a){if(a?a.Jd:a)return a.Jd(a);var b;b=cs[p(null==a?null:a)];if(!b&&(b=cs._,!b))throw w("IInitState.init-state",a);return b.call(null,a)}var ds={};
+function es(a,b,c){if(a?a.Zf:a)return a.Zf(a,b,c);var d;d=es[p(null==a?null:a)];if(!d&&(d=es._,!d))throw w("IShouldUpdate.should-update",a);return d.call(null,a,b,c)}var fs={};function gs(a){if(a?a.Ld:a)return a.Ld(a);var b;b=gs[p(null==a?null:a)];if(!b&&(b=gs._,!b))throw w("IWillMount.will-mount",a);return b.call(null,a)}var hs={};function is(a){if(a?a.Qf:a)return a.Qf(a);var b;b=is[p(null==a?null:a)];if(!b&&(b=is._,!b))throw w("IDidMount.did-mount",a);return b.call(null,a)}var js={};
+function ks(a){if(a?a.dg:a)return a.dg(a);var b;b=ks[p(null==a?null:a)];if(!b&&(b=ks._,!b))throw w("IWillUnmount.will-unmount",a);return b.call(null,a)}var ls={};function ms(a,b,c){if(a?a.fg:a)return a.fg(a,b,c);var d;d=ms[p(null==a?null:a)];if(!d&&(d=ms._,!d))throw w("IWillUpdate.will-update",a);return d.call(null,a,b,c)}var ns={};function os(a,b,c){if(a?a.we:a)return a.we();var d;d=os[p(null==a?null:a)];if(!d&&(d=os._,!d))throw w("IDidUpdate.did-update",a);return d.call(null,a,b,c)}var ps={};
+function qs(a,b){if(a?a.bg:a)return a.bg(a,b);var c;c=qs[p(null==a?null:a)];if(!c&&(c=qs._,!c))throw w("IWillReceiveProps.will-receive-props",a);return c.call(null,a,b)}var rs={};function ss(a){if(a?a.Wf:a)return a.Wf(a);var b;b=ss[p(null==a?null:a)];if(!b&&(b=ss._,!b))throw w("IRender.render",a);return b.call(null,a)}var ts={};function us(a,b,c){if(a?a.Yf:a)return a.Yf(a,b,c);var d;d=us[p(null==a?null:a)];if(!d&&(d=us._,!d))throw w("IRenderProps.render-props",a);return d.call(null,a,b,c)}
+var vs={};function ws(a,b){if(a?a.Jb:a)return a.Jb(a,b);var c;c=ws[p(null==a?null:a)];if(!c&&(c=ws._,!c))throw w("IRenderState.render-state",a);return c.call(null,a,b)}var xs={},ys={};function zs(a,b,c,d,e){if(a?a.Uf:a)return a.Uf(a,b,c,d,e);var f;f=zs[p(null==a?null:a)];if(!f&&(f=zs._,!f))throw w("IOmSwap.-om-swap!",a);return f.call(null,a,b,c,d,e)}
+var As=function(){function a(a,b){if(a?a.Ae:a)return a.Ae(a,b);var c;c=As[p(null==a?null:a)];if(!c&&(c=As._,!c))throw w("IGetState.-get-state",a);return c.call(null,a,b)}function b(a){if(a?a.ze:a)return a.ze(a);var b;b=As[p(null==a?null:a)];if(!b&&(b=As._,!b))throw w("IGetState.-get-state",a);return b.call(null,a)}var c=null,c=function(c,e){switch(arguments.length){case 1:return b.call(this,c);case 2:return a.call(this,c,e)}throw Error("Invalid arity: "+arguments.length);};c.h=b;c.e=a;return c}(),
+Bs=function(){function a(a,b){if(a?a.ye:a)return a.ye(a,b);var c;c=Bs[p(null==a?null:a)];if(!c&&(c=Bs._,!c))throw w("IGetRenderState.-get-render-state",a);return c.call(null,a,b)}function b(a){if(a?a.xe:a)return a.xe(a);var b;b=Bs[p(null==a?null:a)];if(!b&&(b=Bs._,!b))throw w("IGetRenderState.-get-render-state",a);return b.call(null,a)}var c=null,c=function(c,e){switch(arguments.length){case 1:return b.call(this,c);case 2:return a.call(this,c,e)}throw Error("Invalid arity: "+arguments.length);};c.h=
+b;c.e=a;return c}(),Cs=function(){function a(a,b,c,g){if(a?a.Le:a)return a.Le(a,b,c,g);var k;k=Cs[p(null==a?null:a)];if(!k&&(k=Cs._,!k))throw w("ISetState.-set-state!",a);return k.call(null,a,b,c,g)}function b(a,b,c){if(a?a.Ke:a)return a.Ke(a,b,c);var g;g=Cs[p(null==a?null:a)];if(!g&&(g=Cs._,!g))throw w("ISetState.-set-state!",a);return g.call(null,a,b,c)}var c=null,c=function(c,e,f,g){switch(arguments.length){case 3:return b.call(this,c,e,f);case 4:return a.call(this,c,e,f,g)}throw Error("Invalid arity: "+
+arguments.length);};c.j=b;c.C=a;return c}();function Ds(a){if(a?a.Fe:a)return a.Fe(a);var b;b=Ds[p(null==a?null:a)];if(!b&&(b=Ds._,!b))throw w("IRenderQueue.-get-queue",a);return b.call(null,a)}function Es(a,b){if(a?a.Ge:a)return a.Ge(a,b);var c;c=Es[p(null==a?null:a)];if(!c&&(c=Es._,!c))throw w("IRenderQueue.-queue-render!",a);return c.call(null,a,b)}
+function Fs(a){if(a?a.Ee:a)return a.Ee(a);var b;b=Fs[p(null==a?null:a)];if(!b&&(b=Fs._,!b))throw w("IRenderQueue.-empty-queue!",a);return b.call(null,a)}function Gs(a){if(a?a.Ne:a)return a.value;var b;b=Gs[p(null==a?null:a)];if(!b&&(b=Gs._,!b))throw w("IValue.-value",a);return b.call(null,a)}Gs._=function(a){return a};var Hs={};function Is(a){if(a?a.bd:a)return a.bd(a);var b;b=Is[p(null==a?null:a)];if(!b&&(b=Is._,!b))throw w("ICursor.-path",a);return b.call(null,a)}
+function Js(a){if(a?a.cd:a)return a.cd(a);var b;b=Js[p(null==a?null:a)];if(!b&&(b=Js._,!b))throw w("ICursor.-state",a);return b.call(null,a)}
+var Ks={},Ls=function(){function a(a,b,c){if(a?a.ag:a)return a.ag(a,b,c);var g;g=Ls[p(null==a?null:a)];if(!g&&(g=Ls._,!g))throw w("IToCursor.-to-cursor",a);return g.call(null,a,b,c)}function b(a,b){if(a?a.$f:a)return a.$f(a,b);var c;c=Ls[p(null==a?null:a)];if(!c&&(c=Ls._,!c))throw w("IToCursor.-to-cursor",a);return c.call(null,a,b)}var c=null,c=function(c,e,f){switch(arguments.length){case 2:return b.call(this,c,e);case 3:return a.call(this,c,e,f)}throw Error("Invalid arity: "+arguments.length);};
+c.e=b;c.j=a;return c}();function Ms(a,b,c,d){if(a?a.Pf:a)return a.Pf(a,b,c,d);var e;e=Ms[p(null==a?null:a)];if(!e&&(e=Ms._,!e))throw w("ICursorDerive.-derive",a);return e.call(null,a,b,c,d)}Ms._=function(a,b,c,d){return Ns.j?Ns.j(b,c,d):Ns.call(null,b,c,d)};function Os(a){return Is(a)}function Ps(a,b,c,d){if(a?a.ed:a)return a.ed(a,b,c,d);var e;e=Ps[p(null==a?null:a)];if(!e&&(e=Ps._,!e))throw w("ITransact.-transact!",a);return e.call(null,a,b,c,d)}var Qs={};
+function Rs(a,b,c){if(a?a.Be:a)return a.Be(a,b,c);var d;d=Rs[p(null==a?null:a)];if(!d&&(d=Rs._,!d))throw w("INotify.-listen!",a);return d.call(null,a,b,c)}function Ss(a,b){if(a?a.De:a)return a.De(a,b);var c;c=Ss[p(null==a?null:a)];if(!c&&(c=Ss._,!c))throw w("INotify.-unlisten!",a);return c.call(null,a,b)}function Ts(a,b,c){if(a?a.Ce:a)return a.Ce(a,b,c);var d;d=Ts[p(null==a?null:a)];if(!d&&(d=Ts._,!d))throw w("INotify.-notify!",a);return d.call(null,a,b,c)}
+function Us(a,b,c,d){if(a?a.Je:a)return a.Je(a,b,c,d);var e;e=Us[p(null==a?null:a)];if(!e&&(e=Us._,!e))throw w("IRootProperties.-set-property!",a);return e.call(null,a,b,c,d)}function Vs(a,b){if(a?a.Ie:a)return a.Ie(a,b);var c;c=Vs[p(null==a?null:a)];if(!c&&(c=Vs._,!c))throw w("IRootProperties.-remove-properties!",a);return c.call(null,a,b)}
+function Ws(a,b,c){if(a?a.He:a)return a.He(a,b,c);var d;d=Ws[p(null==a?null:a)];if(!d&&(d=Ws._,!d))throw w("IRootProperties.-get-property",a);return d.call(null,a,b,c)}function Xs(a,b){if(a?a.ue:a)return a.ue(a,b);var c;c=Xs[p(null==a?null:a)];if(!c&&(c=Xs._,!c))throw w("IAdapt.-adapt",a);return c.call(null,a,b)}Xs._=function(a,b){return b};function Ys(a,b){if(a?a.Tf:a)return a.Tf(a,b);var c;c=Ys[p(null==a?null:a)];if(!c&&(c=Ys._,!c))throw w("IOmRef.-remove-dep!",a);return c.call(null,a,b)}
+function Zs(a,b,c,d,e){var f=M.h?M.h(a):M.call(null,a),g=oh.e(Os.h?Os.h(b):Os.call(null,b),c);c=(a?t(t(null)?null:a.Ig)||(a.Y?0:u(ys,a)):u(ys,a))?zs(a,b,c,d,e):Qf(g)?dh.e(a,d):dh.C(a,th,g,d);if(C.e(c,In))return null;a=new s(null,5,[Rk,g,Nl,qh.e(f,g),Tk,qh.e(M.h?M.h(a):M.call(null,a),g),Qk,f,el,M.h?M.h(a):M.call(null,a)],null);return null!=e?(e=T.j(a,qn,e),$s.e?$s.e(b,e):$s.call(null,b,e)):$s.e?$s.e(b,a):$s.call(null,b,a)}function at(a){return a?t(t(null)?null:a.Hd)?!0:a.Y?!1:u(Hs,a):u(Hs,a)}
+function bt(a){var b=a.props.children;return Lf(b)?a.props.children=b.h?b.h(a):b.call(null,a):b}function ct(a){return a.props.__om_cursor}
+var dt=function(){function a(a,b){var c=Tf(b)?b:new X(null,1,5,Z,[b],null);return As.e(a,c)}function b(a){return As.h(a)}var c=null,c=function(c,e){switch(arguments.length){case 1:return b.call(this,c);case 2:return a.call(this,c,e)}throw Error("Invalid arity: "+arguments.length);};c.h=b;c.e=a;return c}(),et=function(){function a(a,b){return Tf(b)?Qf(b)?c.h(a):qh.e(c.h(a),b):S.e(c.h(a),b)}function b(a){return null==a?null:a.props.__om_shared}var c=null,c=function(c,e){switch(arguments.length){case 1:return b.call(this,
+c);case 2:return a.call(this,c,e)}throw Error("Invalid arity: "+arguments.length);};c.h=b;c.e=a;return c}();function ft(a){a=a.state;var b=a.__om_pending_state;return t(b)?(a.__om_prev_state=a.__om_state,a.__om_state=b,a.__om_pending_state=null,a):null}
+var gt=function(){function a(a,b){var c=t(b)?b:a.props,g=c.__om_state;if(t(g)){var k=a.state,l=k.__om_pending_state;k.__om_pending_state=hj.k(L([t(l)?l:k.__om_state,g],0));return c.__om_state=null}return null}function b(a){return c.e(a,null)}var c=null,c=function(c,e){switch(arguments.length){case 1:return b.call(this,c);case 2:return a.call(this,c,e)}throw Error("Invalid arity: "+arguments.length);};c.h=b;c.e=a;return c}();
+function ht(a){var b=Gs(a),c=qh.j(function(){var b=Js(a);return M.h?M.h(b):M.call(null,b)}(),Os.h?Os.h(a):Os.call(null,a),al);return Rg.e(b,c)}function it(a){a=a.state;var b=a.__om_refs;return 0===P(b)?null:a.__om_refs=oh.e(mj,nh.e(Fd,eh.e(function(){return function(a){var b=Gs(a),e=Js(a),f=Os.h?Os.h(a):Os.call(null,a),g=qh.j(M.h?M.h(e):M.call(null,e),f,al);Rg.e(b,al)?Rg.e(b,g)&&(b=Ns.j?Ns.j(g,e,f):Ns.call(null,g,e,f),a=Xs(a,b)):a=null;return a}}(a,b),b)))}
+var kt=Jf([cl,$l,am,nm,wm,Nm,Sm,jn,wn,Hn],[function(a){var b=bt(this);if(b?t(t(null)?null:b.ve)||(b.Y?0:u(ns,b)):u(ns,b)){var c=this.state,d=c.__om_prev_state;os(b,ct({props:a}),t(d)?d:c.__om_state)}return this.state.__om_prev_state=null},function(){var a=bt(this);(a?t(t(null)?null:a.cg)||(a.Y?0:u(js,a)):u(js,a))&&ks(a);if(a=F(this.state.__om_refs))for(var a=F(a),b=null,c=0,d=0;;)if(d<c){var e=b.L(null,d);jt.e?jt.e(this,e):jt.call(null,this,e);d+=1}else if(a=F(a))Wf(a)?(c=Se(a),a=B(a),b=c,c=P(c)):
+(b=e=G(a),jt.e?jt.e(this,b):jt.call(null,this,b),a=K(a),b=null,c=0),d=0;else return null;else return null},function(a){var b=bt(this);return(b?t(t(null)?null:b.Rg)||(b.Y?0:u(ps,b)):u(ps,b))?qs(b,ct({props:a})):null},function(a){var b=this,c=b.props,d=b.state,e=bt(b);gt.e(b,a);if(e?t(t(null)?null:e.Pg)||(e.Y?0:u(ds,e)):u(ds,e))return es(e,ct({props:a}),As.h(b));var f=c.__om_cursor,g=a.__om_cursor;return Rg.e(Gs(f),Gs(g))?!0:at(f)&&at(g)&&Rg.e(Is(f),Is(g))?!0:Rg.e(As.h(b),Bs.h(b))?!0:t(function(){var a=
+0!==P(d.__om_refs);return a?Tg(function(){return function(a){return ht(a)}}(a,f,g,c,d,e,b),d.__om_refs):a}())?!0:c.__om_index!==a.__om_index?!0:!1},function(){var a=bt(this),b=this.props,c=Vr,d=Yr,e=Wr,f=Xr,g=Zr;try{return Vr=this,Yr=b.__om_app_state,Wr=b.__om_instrument,Xr=b.__om_descriptor,Zr=b.__om_root_key,(a?t(t(null)?null:a.Vf)||(a.Y?0:u(rs,a)):u(rs,a))?ss(a):(a?t(t(null)?null:a.Xf)||(a.Y?0:u(ts,a)):u(ts,a))?us(a,b.__om_cursor,dt.h(this)):(a?t(t(null)?null:a.Ib)||(a.Y?0:u(vs,a)):u(vs,a))?ws(a,
+dt.h(this)):a}finally{Zr=g,Xr=f,Wr=e,Yr=d,Vr=c}},function(a){var b=bt(this);(b?t(t(null)?null:b.eg)||(b.Y?0:u(ls,b)):u(ls,b))&&ms(b,ct({props:a}),As.h(this));ft(this);return it(this)},function(){var a=bt(this),b=this.props,c;c=b.__om_init_state;c=t(c)?c:ki;var d=jl.h(c),a={__om_id:t(d)?d:":"+(Ur.me().se++).toString(36),__om_state:hj.k(L([(a?t(t(null)?null:a.Id)||(a.Y?0:u(bs,a)):u(bs,a))?cs(a):null,Kf.e(c,jl)],0))};b.__om_init_state=null;return a},function(){var a=bt(this);return(a?t(t(null)?null:
+a.Eg)||(a.Y?0:u(hs,a)):u(hs,a))?is(a):null},function(){var a=bt(this);return(a?t(t(null)?null:a.Fg)||(a.Y?0:u($r,a)):u($r,a))?as(a):null},function(){gt.h(this);var a=bt(this);(a?t(t(null)?null:a.Kd)||(a.Y?0:u(fs,a)):u(fs,a))&&gs(a);return ft(this)}]),lt=function(a){a.Og=!0;a.Ke=function(){return function(a,c,d){a=this.props.__om_app_state;this.state.__om_pending_state=c;c=null!=a;return t(c?d:c)?Es(a,this):null}}(a);a.Le=function(){return function(a,c,d,e){var f=this.props;a=this.state;var g=As.h(this),
+f=f.__om_app_state;a.__om_pending_state=sh(g,c,d);c=null!=f;return t(c?e:c)?Es(f,this):null}}(a);a.Gg=!0;a.xe=function(){return function(){return this.state.__om_state}}(a);a.ye=function(){return function(a,c){return qh.e(Bs.h(this),c)}}(a);a.Hg=!0;a.ze=function(){return function(){var a=this.state,c=a.__om_pending_state;return t(c)?c:a.__om_state}}(a);a.Ae=function(){return function(a,c){return qh.e(As.h(this),c)}}(a);return a}(Nj(kt));
+function mt(a){a=a._rootNodeID;if(!t(a))throw Error("Assert failed: "+z.h(bh.k(L([new D(null,"id","id",252129435,null)],0))));return a}function nt(a){return a.props.__om_app_state}function ot(a){var b=nt(a);a=new X(null,2,5,Z,[Sk,mt(a)],null);var c=qh.e(M.h?M.h(b):M.call(null,b),a);return t(Yl.h(c))?dh.C(b,th,a,function(){return function(a){return Kf.e(T.j(a,Jn,hj.k(L([Jn.h(a),Yl.h(a)],0))),Yl)}}(b,a,c)):null}
+T.k(kt,Sm,function(){var a=bt(this),b=this.props,c=function(){var a=b.__om_init_state;return t(a)?a:ki}(),d=function(){var a=jl.h(c);return t(a)?a:":"+(Ur.me().se++).toString(36)}(),a=hj.k(L([Kf.e(c,jl),(a?t(t(null)?null:a.Id)||(a.Y?0:u(bs,a)):u(bs,a))?cs(a):null],0)),e=new X(null,3,5,Z,[Sk,mt(this),Jn],null);b.__om_init_state=null;dh.C(nt(this),sh,e,a);return{__om_id:d}},L([Hn,function(){gt.h(this);var a=bt(this);(a?t(t(null)?null:a.Kd)||(a.Y?0:u(fs,a)):u(fs,a))&&gs(a);return ot(this)},$l,function(){var a=
+bt(this),b=new X(null,2,5,Z,[Sk,mt(this)],null);(a?t(t(null)?null:a.cg)||(a.Y?0:u(js,a)):u(js,a))&&ks(a);dh.C(nt(this),th,b,Kf);if(a=F(this.state.__om_refs))for(var a=F(a),b=null,c=0,d=0;;)if(d<c){var e=b.L(null,d);jt.e?jt.e(this,e):jt.call(null,this,e);d+=1}else if(a=F(a))Wf(a)?(c=Se(a),a=B(a),b=c,c=P(c)):(b=e=G(a),jt.e?jt.e(this,b):jt.call(null,this,b),a=K(a),b=null,c=0),d=0;else return null;else return null},Nm,function(a){var b=bt(this);(b?t(t(null)?null:b.eg)||(b.Y?0:u(ls,b)):u(ls,b))&&ms(b,
+ct({props:a}),As.h(this));ot(this);return it(this)},cl,function(a){var b=bt(this),c=nt(this),d=qh.e(M.h?M.h(c):M.call(null,c),new X(null,2,5,Z,[Sk,mt(this)],null)),e=new X(null,2,5,Z,[Sk,mt(this)],null);if(b?t(t(null)?null:b.ve)||(b.Y?0:u(ns,b)):u(ns,b)){var f=os;a=ct({props:a});var g;g=Gm.h(d);g=t(g)?g:Jn.h(d);f(b,a,g)}return t(Gm.h(d))?dh.k(c,th,e,Kf,L([Gm],0)):null}],0));function pt(a,b,c){this.value=a;this.state=b;this.path=c;this.w=2162591503;this.I=8192}h=pt.prototype;
+h.J=function(a,b){return be.j(this,b,null)};h.K=function(a,b,c){a=be.j(this.value,b,al);return C.e(a,al)?c:Ms(this,a,this.state,Gf.e(this.path,b))};h.Q=function(a,b,c){return He(this.value,b,c)};h.Hd=!0;h.bd=function(){return this.path};h.cd=function(){return this.state};h.M=function(){return Nf(this.value)};h.ua=function(){return new pt(this.value,this.state,this.path)};h.ca=function(){return Sd(this.value)};h.P=function(){return gf(this.value)};
+h.H=function(a,b){return at(b)?C.e(this.value,Gs(b)):C.e(this.value,b)};h.Ne=function(){return this.value};h.da=function(){return new pt(Hf(this.value),this.state,this.path)};h.xc=function(a,b){return new pt(ge(this.value,b),this.state,this.path)};h.Me=!0;h.ed=function(a,b,c,d){return Zs(this.state,this,b,c,d)};h.bc=function(a,b){return de(this.value,b)};h.bb=function(a,b,c){return new pt(ee(this.value,b,c),this.state,this.path)};
+h.U=function(){var a=this;return 0<P(a.value)?eh.e(function(b){return function(c){var d=Q.j(c,0,null);c=Q.j(c,1,null);return new X(null,2,5,Z,[d,Ms(b,c,a.state,Gf.e(a.path,d))],null)}}(this),a.value):null};h.N=function(a,b){return new pt(Bf(this.value,b),this.state,this.path)};h.X=function(a,b){return new pt(Vd(this.value,b),this.state,this.path)};
+h.call=function(){var a=null,a=function(a,c,d){switch(arguments.length){case 2:return this.J(null,c);case 3:return this.K(null,c,d)}throw Error("Invalid arity: "+arguments.length);};a.e=function(a,c){return this.J(null,c)};a.j=function(a,c,d){return this.K(null,c,d)};return a}();h.apply=function(a,b){return this.call.apply(this,[this].concat(Jd(b)))};h.h=function(a){return this.J(null,a)};h.e=function(a,b){return this.K(null,a,b)};
+h.Nb=function(){var a=this;return qh.j(function(){var b=a.state;return M.h?M.h(b):M.call(null,b)}(),a.path,on)};function qt(a,b,c){this.value=a;this.state=b;this.path=c;this.w=2179375903;this.I=8192}h=qt.prototype;h.J=function(a,b){return A.j(this,b,null)};h.K=function(a,b,c){return A.j(this,b,c)};h.L=function(a,b){return Ms(this,A.e(this.value,b),this.state,Gf.e(this.path,b))};h.ya=function(a,b,c){return b<Sd(this.value)?Ms(this,A.j(this.value,b,c),this.state,Gf.e(this.path,b)):c};
+h.Q=function(a,b,c){return He(this.value,b,c)};h.Hd=!0;h.bd=function(){return this.path};h.cd=function(){return this.state};h.M=function(){return Nf(this.value)};h.ua=function(){return new qt(this.value,this.state,this.path)};h.ca=function(){return Sd(this.value)};h.wb=function(){return Ms(this,me(this.value),this.state,this.path)};h.P=function(){return gf(this.value)};h.H=function(a,b){return at(b)?C.e(this.value,Gs(b)):C.e(this.value,b)};h.Ne=function(){return this.value};
+h.da=function(){return new qt(Hf(this.value),this.state,this.path)};h.Me=!0;h.ed=function(a,b,c,d){return Zs(this.state,this,b,c,d)};h.bc=function(a,b){return de(this.value,b)};h.bb=function(a,b,c){return Ms(this,oe(this.value,b,c),this.state,this.path)};h.U=function(){var a=this;return 0<P(a.value)?eh.j(function(b){return function(c,d){return Ms(b,c,a.state,Gf.e(a.path,d))}}(this),a.value,sj.B()):null};h.N=function(a,b){return new qt(Bf(this.value,b),this.state,this.path)};
+h.X=function(a,b){return new qt(Vd(this.value,b),this.state,this.path)};h.call=function(){var a=null,a=function(a,c,d){switch(arguments.length){case 2:return this.J(null,c);case 3:return this.K(null,c,d)}throw Error("Invalid arity: "+arguments.length);};a.e=function(a,c){return this.J(null,c)};a.j=function(a,c,d){return this.K(null,c,d)};return a}();h.apply=function(a,b){return this.call.apply(this,[this].concat(Jd(b)))};h.h=function(a){return this.J(null,a)};
+h.e=function(a,b){return this.K(null,a,b)};h.Nb=function(){var a=this;return qh.j(function(){var b=a.state;return M.h?M.h(b):M.call(null,b)}(),a.path,on)};
+function rt(a,b,c){var d=Qd(a);d.vg=!0;d.Nb=function(){return function(){return qh.j(M.h?M.h(b):M.call(null,b),c,on)}}(d);d.Hd=!0;d.bd=function(){return function(){return c}}(d);d.cd=function(){return function(){return b}}(d);d.Me=!0;d.ed=function(){return function(a,c,d,k){return Zs(b,this,c,d,k)}}(d);d.uc=!0;d.H=function(){return function(b,c){return at(c)?C.e(a,Gs(c)):C.e(a,c)}}(d);return d}
+var Ns=function(){function a(a,b,c){return at(a)?a:(a?t(t(null)?null:a.Qg)||(a.Y?0:u(Ks,a)):u(Ks,a))?Ls.j(a,b,c):wf(a)?new qt(a,b,c):Uf(a)?new pt(a,b,c):(a?a.I&8192||a.$e||(a.I?0:u(Pd,a)):u(Pd,a))?rt(a,b,c):a}function b(a,b){return d.j(a,b,Ff)}function c(a){return d.j(a,null,Ff)}var d=null,d=function(d,f,g){switch(arguments.length){case 1:return c.call(this,d);case 2:return b.call(this,d,f);case 3:return a.call(this,d,f,g)}throw Error("Invalid arity: "+arguments.length);};d.h=c;d.e=b;d.j=a;return d}();
+function $s(a,b){var c=Js(a);return Ts(c,b,Ns.e(M.h?M.h(c):M.call(null,c),c))}var st,tt=ki;st=W.h?W.h(tt):W.call(null,tt);function jt(a,b){var c=a.state,d=c.__om_refs;dg(d,b)&&(c.__om_refs=Of.e(d,b));Ys(b,a);return b}var ut=!1,vt,wt=mj;vt=W.h?W.h(wt):W.call(null,wt);
+function xt(a){ut=!1;for(var b=F(M.h?M.h(vt):M.call(null,vt)),c=null,d=0,e=0;;)if(e<d){var f=c.L(null,e);f.B?f.B():f.call(null);e+=1}else if(b=F(b))c=b,Wf(c)?(b=Se(c),e=B(c),c=b,d=P(b),b=e):(b=G(c),b.B?b.B():b.call(null),b=K(c),c=null,d=0),e=0;else break;b=a.gg;return a.gg=(t(b)?b:0)+1}var yt,zt=ki;yt=W.h?W.h(zt):W.call(null,zt);
+function At(a,b){var c;c=a?t(t(null)?null:a.Vf)?!0:a.Y?!1:u(rs,a):u(rs,a);c||(c=(c=a?t(t(null)?null:a.Xf)?!0:a.Y?!1:u(ts,a):u(ts,a))?c:a?t(t(null)?null:a.Ib)?!0:a.Y?!1:u(vs,a):u(vs,a));if(!c)throw Error("Assert failed: "+z.h("Invalid Om component fn, "+z.h(b.name)+" does not return valid instance")+"\n"+z.h(bh.k(L([ug(new D(null,"or","or",1876275696,null),ug(new D(null,"satisfies?","satisfies?",-433227199,null),new D(null,"IRender","IRender",590822196,null),new D(null,"x","x",-555367584,null)),ug(new D(null,
+"satisfies?","satisfies?",-433227199,null),new D(null,"IRenderProps","IRenderProps",2115139472,null),new D(null,"x","x",-555367584,null)),ug(new D(null,"satisfies?","satisfies?",-433227199,null),new D(null,"IRenderState","IRenderState",-897673898,null),new D(null,"x","x",-555367584,null)))],0))));}
+var Bt=function(){function a(a,b){if(null==a.om$descriptor){var c;t(b)?c=b:(c=Xr,c=t(c)?c:lt);c=React.createClass(c);a.om$descriptor=c}return a.om$descriptor}function b(a){return c.e(a,null)}var c=null,c=function(c,e){switch(arguments.length){case 1:return b.call(this,c);case 2:return a.call(this,c,e)}throw Error("Invalid arity: "+arguments.length);};c.h=b;c.e=a;return c}(),Ct=function(){function a(a,b,c){if(!Sg(new kj(null,new s(null,10,[Zk,null,dl,null,hl,null,il,null,nl,null,Rl,null,Ul,null,Vm,
+null,fn,null,gn,null],null),null),hi(c)))throw Error("Assert failed: "+z.h(U.C(z,"build options contains invalid keys, only :key, :react-key, ",":fn, :init-state, :state, and :opts allowed, given ",kh(hi(c))))+"\n"+z.h(bh.k(L([ug(new D(null,"valid-opts?","valid-opts?",1000038576,null),new D(null,"m","m",-1021758608,null))],0))));if(null==c){var g=et.h(Vr),k=Bt.h(a),g={__om_cursor:b,__om_shared:g,__om_root_key:Zr,__om_app_state:Yr,__om_descriptor:Xr,__om_instrument:Wr,children:function(){return function(c){c=
+a.e?a.e(b,c):a.call(null,b,c);At(c,a);return c}}(g,k)};return k.h?k.h(g):k.call(null,g)}var l=ag(c)?U.e(Zg,c):c,m=S.e(l,nl),n=S.e(l,Ul),q=S.e(l,Rl),r=S.e(l,Vm),v=S.e(c,dl),y=null!=v?function(){var a=fn.h(c);return t(a)?v.e?v.e(b,a):v.call(null,b,a):v.h?v.h(b):v.call(null,b)}():b,x=null!=m?S.e(y,m):S.e(c,il),g=function(){var a=gn.h(c);return t(a)?a:et.h(Vr)}(),k=Bt.e(a,Zk.h(c)),g={__om_state:n,__om_instrument:Wr,children:null==r?function(b,c,e,f,g,k,l,m){return function(b){b=a.e?a.e(m,b):a.call(null,
+m,b);At(b,a);return b}}(c,l,m,n,q,r,v,y,x,g,k):function(b,c,e,f,g,k,l,m){return function(b){b=a.j?a.j(m,b,k):a.call(null,m,b,k);At(b,a);return b}}(c,l,m,n,q,r,v,y,x,g,k),__om_init_state:q,key:x,__om_app_state:Yr,__om_cursor:y,__om_index:fn.h(c),__om_shared:g,__om_descriptor:Xr,__om_root_key:Zr};return k.h?k.h(g):k.call(null,g)}function b(a,b){return c.j(a,b,null)}var c=null,c=function(c,e,f){switch(arguments.length){case 2:return b.call(this,c,e);case 3:return a.call(this,c,e,f)}throw Error("Invalid arity: "+
+arguments.length);};c.e=b;c.j=a;return c}(),Dt=function(){function a(a,b,c){if(null!=Wr){var g=Wr.j?Wr.j(a,b,c):Wr.call(null,a,b,c);return C.e(g,Ol)?Ct.j(a,b,c):g}return Ct.j(a,b,c)}function b(a,b){return c.j(a,b,null)}var c=null,c=function(c,e,f){switch(arguments.length){case 2:return b.call(this,c,e);case 3:return a.call(this,c,e,f)}throw Error("Invalid arity: "+arguments.length);};c.e=b;c.j=a;return c}(),Et=function(){function a(a,b,c){return eh.j(function(b,e){return Dt.j(a,b,T.j(c,fn,e))},b,
+sj.B())}function b(a,b){return c.j(a,b,null)}var c=null,c=function(c,e,f){switch(arguments.length){case 2:return b.call(this,c,e);case 3:return a.call(this,c,e,f)}throw Error("Invalid arity: "+arguments.length);};c.e=b;c.j=a;return c}();
+function Ft(a,b,c){if(!(a?t(t(null)?null:a.Sf)||(a.Y?0:u(Qs,a)):u(Qs,a))){var d=function(){var a=ki;return W.h?W.h(a):W.call(null,a)}(),e=function(){var a=ki;return W.h?W.h(a):W.call(null,a)}(),f=function(){var a=mj;return W.h?W.h(a):W.call(null,a)}();a.Mg=!0;a.Je=function(a,b){return function(a,c,d,e){return dh.C(b,sh,new X(null,2,5,Z,[c,d],null),e)}}(a,d,e,f);a.Ng=function(a,b){return function(a,c,d){return dh.C(b,Kf,c,d)}}(a,d,e,f);a.Ie=function(a,b){return function(a,c){return dh.j(b,Kf,c)}}(a,
+d,e,f);a.He=function(a,b){return function(a,c,d){return qh.e(M.h?M.h(b):M.call(null,b),new X(null,2,5,Z,[c,d],null))}}(a,d,e,f);a.Sf=!0;a.Be=function(a,b,c){return function(a,b,d){null!=d&&dh.C(c,T,b,d);return this}}(a,d,e,f);a.De=function(a,b,c){return function(a,b){dh.j(c,Kf,b);return this}}(a,d,e,f);a.Ce=function(a,b,c){return function(a,b,d){a=F(M.h?M.h(c):M.call(null,c));for(var e=null,f=0,g=0;;)if(g<f){var k=e.L(null,g);Q.j(k,0,null);var k=Q.j(k,1,null),O=b,E=d;k.e?k.e(O,E):k.call(null,O,E);
+g+=1}else if(a=F(a))Wf(a)?(f=Se(a),a=B(a),e=f,f=P(f)):(e=G(a),Q.j(e,0,null),e=Q.j(e,1,null),f=b,g=d,e.e?e.e(f,g):e.call(null,f,g),a=K(a),e=null,f=0),g=0;else break;return this}}(a,d,e,f);a.Jg=!0;a.Fe=function(a,b,c,d){return function(){return M.h?M.h(d):M.call(null,d)}}(a,d,e,f);a.Ge=function(a,b,c,d){return function(a,b){if(dg(M.h?M.h(d):M.call(null,d),b))return null;dh.j(d,Gf,b);return dh.e(this,kg)}}(a,d,e,f);a.Ee=function(a,b,c,d){return function(){return dh.e(d,Hf)}}(a,d,e,f)}return Rs(a,b,c)}
+var Ht=function Gt(b,c){if(at(b)){var d=Qd(b);d.$e=!0;d.ua=function(){return function(){return Gt(Qd(b),c)}}(d);d.Dg=!0;d.ue=function(){return function(d,f){return Gt(Xs(b,f),c)}}(d);d.Kg=!0;d.Lg=function(){return function(){return c}}(d);return d}return b},It=function(){function a(a,b,c,d){b=null==b?Ff:Tf(b)?b:new X(null,1,5,Z,[b],null);return Ps(a,b,c,d)}function b(a,b,c){return d.C(a,b,c,null)}function c(a,b){return d.C(a,Ff,b,null)}var d=null,d=function(d,f,g,k){switch(arguments.length){case 2:return c.call(this,
+d,f);case 3:return b.call(this,d,f,g);case 4:return a.call(this,d,f,g,k)}throw Error("Invalid arity: "+arguments.length);};d.e=c;d.j=b;d.C=a;return d}(),Jt=function(){function a(a,b,c){b=Tf(b)?b:new X(null,1,5,Z,[b],null);return Cs.C(a,b,c,!0)}function b(a,b){return Cs.j(a,b,!0)}var c=null,c=function(c,e,f){switch(arguments.length){case 2:return b.call(this,c,e);case 3:return a.call(this,c,e,f)}throw Error("Invalid arity: "+arguments.length);};c.e=b;c.j=a;return c}(),Kt=function(){function a(a,b,
+c){return Jt.j(a,b,function(){var g=dt.e(a,b);return c.h?c.h(g):c.call(null,g)}())}function b(a,b){return Jt.e(a,function(){var c=dt.h(a);return b.h?b.h(c):b.call(null,c)}())}var c=null,c=function(c,e,f){switch(arguments.length){case 2:return b.call(this,c,e);case 3:return a.call(this,c,e,f)}throw Error("Invalid arity: "+arguments.length);};c.e=b;c.j=a;return c}();var Lt;
+function Mt(a,b,c,d){var e=G(G(nh.e(function(a){return C.e(Df(a),c)},Xg(function(a,b){return new X(null,2,5,Z,[a,b],null)},b)))),f=0<e?Q.e(b,e-1):null,g=e+1<P(b)?Q.e(b,e+1):null;b=U.j(Pr,{className:"pagination pagination-sm"},Lg.k(new X(null,1,5,Z,[function(){var b={className:t(f)?null:"disabled"},c=function(){return React.DOM.a({href:"#",ariaLabel:"Previous",onClick:t(f)?function(b,c,e,f){return function(b){b.preventDefault();return qr.e(a,new s(null,2,[Qm,d,Rm,f],null))}}(b,null,e,f,g):null},"\x3c")}();
+return React.DOM.li(b,c)}()],null),Xg(function(b,e,f,g){return function(q,r){var v={className:C.e(r,c)?"active":null},y=function(){var c={href:"#",onClick:function(){return function(b){b.preventDefault();return qr.e(a,new s(null,2,[Qm,d,Rm,r],null))}}(v,b,e,f,g)},y=""+z.h(q+1);return React.DOM.a(c,y)}();return React.DOM.li(v,y)}}(null,e,f,g),b),L([new X(null,1,5,Z,[function(){var b={className:t(g)?null:"disabled"},c=function(){return React.DOM.a({href:"#",ariaLabel:"Next",onClick:t(g)?function(b,
+c,e,f,g){return function(b){b.preventDefault();return qr.e(a,new s(null,2,[Qm,d,Rm,g],null))}}(b,null,e,f,g):null},"\x3e")}();return React.DOM.li(b,c)}()],null)],0)));return React.DOM.nav(null,b)}
+function Nt(a){return oh.e(ki,function(){return function c(a){return new zg(null,function(){for(;;){var e=F(a);if(e){if(Wf(e)){var f=Se(e),g=P(f),k=Dg(g);a:{for(var l=0;;)if(l<g){var m=A.e(f,l),n=Q.j(m,0,null),m=Q.j(m,1,null),n=new X(null,2,5,Z,[n,ig.e(Vg.e(hm,Jl),m)],null);k.add(n);l+=1}else{f=!0;break a}f=void 0}return f?Gg(k.qa(),c(B(e))):Gg(k.qa(),null)}f=G(e);k=Q.j(f,0,null);f=Q.j(f,1,null);return N(new X(null,2,5,Z,[k,ig.e(Vg.e(hm,Jl),f)],null),c(H(e)))}return null}},null,null)}(Tj(pl,a))}())}
+function Ot(a,b,c){var d=Dn.h(ql.h(b)),e=Fl.h(b);if(t(t(d)?e:d)){var f={className:"snippet"},g=function(){var g={href:"#",title:function(){var a=$k.h(Jl.h(b)),c=Dn.h(An.h(b)),e=$k.h(An.h(b)),f=Wm.h(b),g=Ln.h(b);return Sr("[%d:%d-%d:%d) %s %s",d,a,c,e,f,g)}(),onClick:function(d,e){return function(d){d.preventDefault();return qr.e(c,new s(null,3,[Qm,a,sn,Qm.h(b),Em,e],null))}}(f,d,e)},k=""+z.h(d);return React.DOM.a(g,k)}(),k=function(){var a=ra(e);return React.DOM.span(null,a)}();return React.DOM.p(f,
+g,": ",k)}return null}function Pt(a,b,c){if(t(b)){var d=function(){var d=React.DOM.strong(null,a),f=U.j(Pr,null,eh.e(function(a,b,d){return function(e){var f=Q.j(e,0,null),q=Q.j(e,1,null);return U.C(Nr,null,Rk.h(xr(f)),nh.e(kg,eh.e(function(a,b){return function(a){return Ot(b,a,c)}}(e,f,q,a,b,d),q)))}}(null,d,null),Nt(eh.e(sn,b))));return React.DOM.li(null,d,f)}();return React.DOM.ul(null,d)}return null}
+var Rt=function Qt(b,c){"undefined"===typeof Lt&&(Lt=function(b,c,f,g){this.qg=b;this.state=c;this.owner=f;this.Hf=g;this.w=393216;this.I=0},Lt.Wa=!0,Lt.Va="ui.xrefs/t17548",Lt.cb=function(b,c){return Fe(c,"ui.xrefs/t17548")},Lt.prototype.N=function(b,c){return new Lt(this.qg,this.state,this.owner,c)},Lt.prototype.M=function(){return this.Hf},Lt.prototype.Ib=!0,Lt.prototype.Jb=function(b,c){var f=this,g=ag(c)?U.e(Zg,c):c,k=S.e(g,ul),l=S.e(g,zm),m=S.e(g,Ym),n=this;return U.C(Mr,{id:"xrefs",className:"row border",
+style:t(function(){var b=Lm.h(f.state);return t(b)?b:Qf(f.state)}())?{display:"none"}:null},function(){var b={id:"close-xrefs",className:"close btn btn-danger btn-xs",onClick:function(){return function(){return It.j(f.state,Lm,Ug(!0))}}(n,c,g,k,l,m)},d=React.DOM.span({className:"glyphicon glyphicon-remove"});return React.DOM.button(b,d)}(),t(Lm.h(f.state))?null:t(sl.h(f.state))?new X(null,2,5,Z,[React.DOM.p(null,"Sorry, an error occurred!"),function(){var b=fl.h(em.h(f.state));return React.DOM.p(null,
+b)}()],null):t(Fm.h(f.state))?new X(null,2,5,Z,[function(){var b={title:Fm.h(f.state)};return React.DOM.span(b,"Loading xrefs... ")}(),React.DOM.span({className:"glyphicon glyphicon-repeat spinner"})],null):new X(null,7,5,Z,[function(){var b=Qm.h(Km.h(f.state));return React.DOM.strong(null,b)}(),Pt("Definitions:",Xk.h(Km.h(f.state)),k),Pt("Declarations:",mn.h(Km.h(f.state)),k),Pt("Documentation:",jm.h(Km.h(f.state)),k),Pt("References:",vm.h(Km.h(f.state)),k),t(Wl.h(Km.h(f.state)))?function(){var b=
+function(){var b=React.DOM.strong(null,"Related Nodes:"),d=U.j(Pr,null,eh.e(function(b,c,d,e,g,k,l,m,n){return function(q){var r=Q.j(q,0,null),v=Q.j(q,1,null),Ga=React.DOM.strong(null,r);q=U.j(Pr,null,eh.e(function(b,c,d,e,g,k,l,m,n,q,r,v,y,x,O){return function(E){var R=ag(E)?U.e(Zg,E):E,J=S.e(R,Qm),Y=""+z.h(function(){var b=qh.e(Dm.h(function(){var b=f.state;return M.h?M.h(b):M.call(null,b)}()),new X(null,3,5,Z,[yg.h(J),Bn,yg.h("/kythe/node/kind")],null));return t(b)?b:"UNKNOWN"}())+" ",ta=function(){return React.DOM.a({href:"#",
+onClick:function(b,c,d,e,f,g,k,l,m,n,q,r,v,y,x,O,E,R,J){return function(b){b.preventDefault();return qr.e(J,f)}}(null,Y,E,R,J,b,c,d,e,g,k,l,m,n,q,r,v,y,x,O)},J)}();return React.DOM.li(null,Y,ta)}}(null,Ga," ",q,r,v,b,c,d,e,g,k,l,m,n),v));return React.DOM.li(null,Ga," ",q)}}(null,b,null,n,c,g,k,l,m),Tj(zn,Wl.h(Km.h(f.state)))));return React.DOM.li(null,b,d)}();return React.DOM.ul(null,b)}():null,Mt(l,N("",km.h(f.state)),function(){var b=Cm.h(f.state);return t(b)?b:""}(),Qm.h(Km.h(f.state)))],null))});
+return new Lt(Qt,b,c,null)};var St,Tt,Vt=function Ut(b,c,d){var e=ag(d)?U.e(Zg,d):d,f=S.e(e,cm),g=S.e(e,Hm),k=S.e(e,Rk),l=S.e(e,Al);"undefined"===typeof St&&(St=function(b,c,d,e,f,g,k,l,E,R){this.he=b;this.state=c;this.owner=d;this.ig=e;this.zf=f;this.Dc=g;this.root=k;this.path=l;this.name=E;this.Bf=R;this.w=393216;this.I=0},St.Wa=!0,St.Va="ui.filetree/t16633",St.cb=function(){return function(b,c){return Fe(c,"ui.filetree/t16633")}}(d,e,f,g,k,l),St.prototype.N=function(){return function(b,c){return new St(this.he,this.state,
+this.owner,this.ig,this.zf,this.Dc,this.root,this.path,this.name,c)}}(d,e,f,g,k,l),St.prototype.M=function(){return function(){return this.Bf}}(d,e,f,g,k,l),St.prototype.Id=!0,St.prototype.Jd=function(){return function(){return new s(null,3,[vn,!0,Im,null,sl,null],null)}}(d,e,f,g,k,l),St.prototype.Ib=!0,St.prototype.Jb=function(b,c,d,e,f,g){return function(k,l){var E=this,R=ag(l)?U.e(Zg,l):l,Y=S.e(R,vn),ta=S.e(R,Im),Ta=S.e(R,sl),J=S.e(R,ul),Rc=this,da=function(){var k={title:ur.j(E.Dc,E.root,E.path),
+href:"#",onClick:function(b,c,d,e,f,g,k,l,m,n,q,r,v,y){return function(x){x.preventDefault();x=dt.e(E.owner,Im);if(t(C.e?C.e(Fm,x):C.call(null,Fm,x)))return null;if(t(C.e?C.e(Il,x):C.call(null,Il,x)))return Kt.j(E.owner,vn,Gd);Jt.j(E.owner,Im,Fm);Jt.j(E.owner,sl,null);return Gr(E.Dc,E.root,E.path,function(){return function(b){It.j(E.state,rn,Ug(b));return Jt.j(E.owner,Im,Il)}}(C,x,b,c,d,e,f,g,k,l,m,n,q,r,v,y),function(){return function(b){Jt.j(E.owner,sl,b);return Jt.j(E.owner,Im,null)}}(C,x,b,c,
+d,e,f,g,k,l,m,n,q,r,v,y))}}(null,Rc,l,R,Y,ta,Ta,J,b,c,d,e,f,g)},x=""+z.h(function(){var b=E.name;return t(b)?b:ur.j(E.Dc,E.root,E.path)}())+"/ ",va=t(Ta)?function(){var b=fl.h(em.h(Ta));return React.DOM.span({className:"glyphicon glyphicon-exclamation-sign",title:t(b)?b:"Unknown error occurred"})}():null,da=C.e(Ul,Fm)?React.DOM.span({className:"glyphicon glyphicon-repeat spinner"}):null;return React.DOM.a(k,x,va,da)}(),va=t(t(Y)?!Qf(rn.h(E.state)):Y)?U.j(Pr,{className:"nav nav-pills nav-stacked"},
+Lg.e(eh.e(function(b,c,d,e,f,g,k,l,m){return function(b){var c=Q.j(b,0,null);b=Q.j(b,1,null);return Dt.j(E.he,b,new s(null,2,[Vm,new s(null,4,[cm,E.Dc,Hm,E.root,Al,tr(c),Rk,c],null),Rl,new s(null,1,[ul,m],null)],null))}}(null,da,Rc,l,R,Y,ta,Ta,J,b,c,d,e,f,g),ig.e(G,Xl.h(rn.h(E.state)))),eh.e(function(b,c,d,e,f,g,k,l,m,n,q,r,v,y,x){return function(E){var O=Q.j(E,0,null),R=Q.j(E,1,null),J=ag(R)?U.e(Zg,R):R,Y=S.e(J,zl),ta=S.e(J,Qm),va=function(){var va={title:ur.h(Y),href:"#",onClick:function(b,c,d,
+e,f,g,k,l,m,n,q,r,v,y,x,E){return function(b){qr.e(E,Gs(k));return b.preventDefault()}}(null,E,O,R,J,Y,ta,b,c,d,e,f,g,k,l,m,n,q,r,v,y,x)};return React.DOM.a(va,O)}();return React.DOM.li(null,va)}}(null,da,Rc,l,R,Y,ta,Ta,J,b,c,d,e,f,g),ig.e(G,dn.h(rn.h(E.state)))))):null;return React.DOM.li(null,da,va)}}(d,e,f,g,k,l));return new St(Ut,b,c,d,e,f,g,k,l,null)},Xt=function Wt(b,c){"undefined"===typeof Tt&&(Tt=function(b,c,f,g){this.wf=b;this.state=c;this.owner=f;this.Cf=g;this.w=393216;this.I=0},Tt.Wa=
+!0,Tt.Va="ui.filetree/t16690",Tt.cb=function(b,c){return Fe(c,"ui.filetree/t16690")},Tt.prototype.N=function(b,c){return new Tt(this.wf,this.state,this.owner,c)},Tt.prototype.M=function(){return this.Cf},Tt.prototype.Ib=!0,Tt.prototype.Jb=function(b,c){var f=this,g=ag(c)?U.e(Zg,c):c,k=S.e(g,ul),l=this,m={className:"col-md-3 col-lg-2 border",id:"filetree-container"},n=React.DOM.h3(null,"Files"),q=t(sl.h(f.state))?function(){var b=function(){var b=React.DOM.br(null),c=Hl.h(f.state);return React.DOM.p(null,
+"Error getting corpus roots: ",b,c)}(),d=function(){var d=function(){return React.DOM.button({className:"btn btn-danger btn-xs",onClick:function(){return function(){return location.reload()}}(null,"Please ",null,b,m,n,l,c,g,k)},"refresh")}();return React.DOM.p(null,"Please ",d," the page to try again!")}();return React.DOM.div(null,b,d)}():U.j(Pr,{className:"nav nav-pills nav-stacked"},eh.e(function(b,c,d,e,f,g){return function(b){var c=Q.j(b,0,null),d=ag(c)?U.e(Zg,c):c,c=S.e(d,cm),d=S.e(d,Hm);b=
+Q.j(b,1,null);return Dt.j(Vt,b,new s(null,2,[Vm,new s(null,3,[cm,c,Hm,d,Rk,""],null),Rl,new s(null,1,[ul,g],null)],null))}}(m,n,l,c,g,k),f.state));return React.DOM.div(m,n,q)});return new Tt(Wt,b,c,null)};var Yt,Zt,au;
+function bu(a){return Ld.j(function c(a,e){if(Qf(a))return N(e,a);var f=Q.j(a,0,null),g=pg(a);if(Jl.h(e)>=An.h(f))return N(f,c(g,e));if(An.h(e)<=Jl.h(f))return N(e,a);if(C.e(Jl.h(e),Jl.h(f))&&C.e(An.h(e),An.h(f)))return a;if(Jl.h(e)<Jl.h(f))return N(T.j(e,An,Jl.h(f)),a);if(An.h(e)>An.h(f)){var k=Q.j(g,0,null);pg(g);return t(t(k)?Jl.h(k)<An.h(e):k)?a:N(f,N(T.j(e,Jl,An.h(f)),g))}return C.e(Jl.h(e),Jl.h(f))?N(e,N(T.j(f,Jl,An.h(e)),g)):C.e(An.h(e),An.h(f))?N(T.j(f,An,Jl.h(e)),N(e,g)):N(T.j(f,An,Jl.h(e)),
+N(e,N(T.j(f,Jl,An.h(e)),g)))},I,ig.e(tj.e(Jl,An),a))}
+function cu(a){var b=Ld.j(function(a,b){var c=Q.j(a,0,null),g=Q.j(a,1,null),k=Q.j(g,0,null),l=Q.j(g,1,null),g=Q.j(g,2,null);if(Jl.h(b)<=g)var k=Gf.e(k,b),m=An.h(b),c=new X(null,2,5,Z,[c,new X(null,3,5,Z,[k,l,g>m?g:m],null)],null);else c=new X(null,2,5,Z,[Gf.e(c,k),new X(null,3,5,Z,[new X(null,1,5,Z,[b],null),Jl.h(b),An.h(b)],null)],null);return c},new X(null,2,5,Z,[Ff,new X(null,3,5,Z,[Ff,0,0],null)],null),ig.e(Jl,a));a=Q.j(b,0,null);var b=Q.j(b,1,null),c=Q.j(b,0,null);Q.j(b,1,null);Q.j(b,2,null);
+return hh.e(Qf,Qf(c)?a:Gf.e(a,c))}
+function du(a){var b=function(){var b=gl.h(a);return wq(b)}(),c=Pm.h(a),d=mh.k(bu,L([cu(nh.e(function(){return function(a){a=ag(a)?U.e(Zg,a):a;var b=S.e(a,Jl),c=S.e(a,An);S.e(a,Wm);return 0<c&&b<c}}(b,c),eh.e(function(a,b){return function(a){var c=ag(a)?U.e(Zg,a):a;a=S.e(c,bm);var d=S.e(c,hn),e=S.e(c,Cn),n=S.e(c,rl),q=S.e(c,Wm),c=S.e(c,Fn),c=t(c)?S.e(b,yg.h(c)):null,e=hm.h(e),n=hm.h(n),q=C.e(0,q.indexOf("/kythe/edge/"))?qg.e(q,P("/kythe/edge/")):q;return new s(null,6,[Jl,e,An,n,Uk,c,Wm,q,Xm,a,ml,
+d],null)}}(b,c),nh.e(function(){return function(a){return!dg(nj(["/kythe/edge/documents","/kythe/edge/defines"]),Wm.h(a))}}(b,c),vm.h(a)))))],0));return new s(null,3,[fm,b,bn,P(b.split("\n")),Dm,function(){for(var a=0,c=d,g=Ff;;){if(Qf(c))return Gf.e(g,rr(qg.e(b,a)));var k=G(c),l=ag(k)?U.e(Zg,k):k,k=l,m=S.e(l,Jl),n=S.e(l,An);m<a?(console.log("Overlapping anchor at offest "+z.h(m)),c=H(c)):(l=n,c=H(c),g=Gf.e(m>a?Gf.e(g,rr(qg.j(b,a,m))):g,T.j(k,Ln,rr(qg.j(b,m,n)))),a=l)}}()],null)}
+var fu=function eu(b,c){"undefined"===typeof Yt&&(Yt=function(b,c,f,g){this.kg=b;this.state=c;this.owner=f;this.Ef=g;this.w=393216;this.I=0},Yt.Wa=!0,Yt.Va="ui.src/t17313",Yt.cb=function(b,c){return Fe(c,"ui.src/t17313")},Yt.prototype.N=function(b,c){return new Yt(this.kg,this.state,this.owner,c)},Yt.prototype.M=function(){return this.Ef},Yt.prototype.Ib=!0,Yt.prototype.Jb=function(b,c){var f=ag(c)?U.e(Zg,c):c,g=S.e(f,ul),k=S.e(f,zm),l=S.e(f,um),m=this.state,n=ag(m)?U.e(Zg,m):m,q=S.e(n,Jl),r=S.e(n,
+An),v=S.e(n,Xm),y=S.e(n,ml),x=S.e(n,Uk),O=S.e(n,Wm),E=S.e(n,Ln),R=S.e(n,Kl);return t(v)?(f={title:""+z.h(O)+" \x3d\x3e "+z.h(y),href:"#",onClick:function(b,c,d,e,f,g,k,l,m,n,q,r,v,y,x){return function(b){b.preventDefault();return t(t(k)?b.ctrlKey:k)?(console.log("Jumping to definition: "+z.h(Qm.h(k))),qr.e(y,new s(null,3,[Qm,pl.h(k),sn,Qm.h(k),Em,Dn.h(Jl.h(k))],null))):qr.e(x,g)}}(m,n,q,r,v,y,x,O,E,R,this,c,f,g,k,l),style:{backgroundColor:R},onMouseEnter:function(b,c,d,e,f,g,k,l,m,n,q,r,v,y,x,E){return function(){return qr.e(E,
+new s(null,2,[Qm,f,un,g],null))}}(m,n,q,r,v,y,x,O,E,R,this,c,f,g,k,l),onMouseLeave:function(b,c,d,e,f,g,k,l,m,n,q,r,v,y,x,E){return function(){return qr.e(E,ki)}}(m,n,q,r,v,y,x,O,E,R,this,c,f,g,k,l)},React.DOM.a(f,E)):React.DOM.span(null,this.state)});return new Yt(eu,b,c,null)},hu=function gu(b,c){"undefined"===typeof Zt&&(Zt=function(b,c,f,g){this.uf=b;this.state=c;this.owner=f;this.Ff=g;this.w=393216;this.I=0},Zt.Wa=!0,Zt.Va="ui.src/t17338",Zt.cb=function(b,c){return Fe(c,"ui.src/t17338")},Zt.prototype.N=
+function(b,c){return new Zt(this.uf,this.state,this.owner,c)},Zt.prototype.M=function(){return this.Ff},Zt.prototype.Kd=!0,Zt.prototype.Ld=function(){var b=this;return vr.e(dt.e(b.owner,um),function(c){return function(f){var g=ag(f)?U.e(Zg,f):f,k=S.e(g,Qm),l=S.e(g,un),m=S.e(g,Wk);return It.j(b.state,Dm,function(b,c,d,e,f,g){return function(k){return eh.e(function(b,c,d,e,f){return function(b){return t(Xm.h(b))?C.e(f,Xm.h(b))?T.j(b,Kl,"lightgreen"):C.e(d,Xm.h(b))?T.j(b,Kl,"lightgray"):C.e(e,ml.h(b))?
+T.j(b,Kl,"yellow"):t(Kl.h(b))?Kf.e(b,Kl):b:b}}(b,c,d,e,f,g),k)}}(f,g,k,l,m,c))}}(this))},Zt.prototype.Ib=!0,Zt.prototype.Jb=function(b,c){var f=this,g=ag(c)?U.e(Zg,c):c,k=S.e(g,zm),l=S.e(g,ul),m=S.e(g,um),n={className:"col-md-9 col-lg-10",id:"src-container"},g=U.j(Or,{id:"fringe"},mh.k(function(b,c,d,e,f,g,k){return function(l){return new X(null,2,5,Z,[function(){var m={id:"line"+z.h(l),href:"#",onClick:function(){return function(b){var c=b.target;c.scrollIntoView(!0);c.focus();return b.preventDefault()}}(b,
+c,d,e,f,g,k)},n=""+z.h(l);return React.DOM.a(m,n)}(),"\n"],null)}}(n,this,c,g,k,l,m),L([sj.e(1,bn.h(f.state))],0))),q=function(){var b=U.j(Lr,{id:"src"},Qf(fm.h(f.state))?null:Et.j(fu,Dm.h(f.state),new s(null,1,[Rl,new s(null,3,[zm,k,ul,l,um,m],null)],null)));return React.DOM.pre(null,b)}();return React.DOM.div(n,g,q)});return new Zt(gu,b,c,null)};function iu(a,b){return P(qg.j(a,0,b).split("\n"))}
+var ku=function ju(b,c){"undefined"===typeof au&&(au=function(b,c,f,g){this.lg=b;this.state=c;this.owner=f;this.Gf=g;this.w=393216;this.I=0},au.Wa=!0,au.Va="ui.src/t17372",au.cb=function(b,c){return Fe(c,"ui.src/t17372")},au.prototype.N=function(b,c){return new au(this.lg,this.state,this.owner,c)},au.prototype.M=function(){return this.Gf},au.prototype.Ib=!0,au.prototype.Jb=function(b,c){var f=this,g=ag(c)?U.e(Zg,c):c,k=S.e(g,ul),l=S.e(g,zm),g=S.e(g,um);return Qf(f.state)?React.DOM.span(null,"Please select a file to your left!"):
+t(sl.h(f.state))?(k=function(){var b='Sorry, an error occurred while requesting file decorations for ticket: "'+z.h(Om.h(f.state))+'"';return React.DOM.p(null,b)}(),l=function(){var b=fl.h(em.h(f.state));return React.DOM.p(null,b)}(),React.DOM.div(null,k,l)):t(Fm.h(f.state))?(k=React.DOM.span(null,"Loading..."),l=React.DOM.span({className:"glyphicon glyphicon-repeat spinner"}),React.DOM.div(null,k,l)):Dt.j(hu,tn.h(f.state),new s(null,1,[Rl,new s(null,3,[zm,l,ul,k,um,g],null)],null))},au.prototype.ve=
+!0,au.prototype.we=function(){var b=Em.h(this.state);return t(b)?(document.getElementById("line"+z.h(b)).click(),It.j(this.state,Em,Ug(null))):null});return new au(ju,b,c,null)};var lu;function mu(a,b){return function(c){return It.j(a,b,Ug(c))}}var nu=new s(null,2,[Bm,ki,sm,ki],null);
+(function(a,b,c){var d=ag(c)?U.e(Zg,c):c,e=S.e(d,un),f=S.e(d,Kn),g=S.e(d,Rk),k=S.e(d,hl),l=S.e(d,Zk),m=S.e(d,Bl);if(null==e)throw Error("Assert failed: No target specified to om.core/root\n"+z.h(bh.k(L([ug(new D(null,"not","not",1044554643,null),ug(new D(null,"nil?","nil?",1612038930,null),new D(null,"target","target",1893533248,null)))],0))));var n=M.h?M.h(yt):M.call(null,yt);dg(n,e)&&S.e(n,e).call(null);n=Ij.B();b=(b?b.I&16384||b.sg||(b.I?0:u(Ue,b)):u(Ue,b))?b:W.h?W.h(b):W.call(null,b);var q=Ft(b,
+n,f),r=t(m)?m:kg,v=Kf.k(d,un,L([Kn,Rk,Bl],0)),y=W.h?W.h(null):W.call(null,null),x=function(b,c,d,e,f,g,k,l,m,n,q,r,v,y){return function mb(){dh.j(vt,Of,mb);var c=M.h?M.h(d):M.call(null,d),k=function(){var a=Ht(null==r?Ns.j(c,d,Ff):Ns.j(qh.e(c,r),d,r),b);return e.h?e.h(a):e.call(null,a)}();if(!t(Ws(d,b,ol))){var l=Rr(function(){var c=Xr,e=Wr,g=Yr,l=Zr;try{return Xr=y,Wr=v,Yr=d,Zr=b,Dt.j(a,k,f)}finally{Zr=l,Yr=g,Wr=e,Xr=c}}(),n);null==(M.h?M.h(g):M.call(null,g))&&(ah.e?ah.e(g,l):ah.call(null,g,l))}l=
+Ds(d);if(!Qf(l)){for(var l=F(l),m=null,q=0,x=0;;)if(x<q){var E=m.L(null,x);if(t(E.isMounted())){var J=E.state.__om_next_cursor;t(J)&&(E.props.__om_cursor=J,E.state.__om_next_cursor=null);t(function(){var a=bt(E);return(a=!(a?t(t(null)?null:a.Of)||(a.Y?0:u(xs,a)):u(xs,a)))?a:E.shouldComponentUpdate(E.props,E.state)}())&&E.forceUpdate()}x+=1}else if(l=F(l)){m=l;if(Wf(m))l=Se(m),x=B(m),m=l,q=P(l),l=x;else{var da=G(m);t(da.isMounted())&&(l=da.state.__om_next_cursor,t(l)&&(da.props.__om_cursor=l,da.state.__om_next_cursor=
+null),t(function(){var a=bt(da);return(a=!(a?t(t(null)?null:a.Of)||(a.Y?0:u(xs,a)):u(xs,a)))?a:da.shouldComponentUpdate(da.props,da.state)}())&&da.forceUpdate());l=K(m);m=null;q=0}x=0}else break;Fs(d)}l=M.h?M.h(st):M.call(null,st);if(!Qf(l))for(l=F(l),m=null,x=q=0;;)if(x<q){J=m.L(null,x);Q.j(J,0,null);for(var Ga=Q.j(J,1,null),J=function(){var a=Ga;return M.h?M.h(a):M.call(null,a)}(),J=F(J),Ma=null,Tc=0,Rc=0;;)if(Rc<Tc){var xe=Ma.L(null,Rc);Q.j(xe,0,null);xe=Q.j(xe,1,null);t(xe.shouldComponentUpdate(xe.props,
+xe.state))&&xe.forceUpdate();Rc+=1}else if(J=F(J))Wf(J)?(Tc=Se(J),J=B(J),Ma=Tc,Tc=P(Tc)):(Ma=G(J),Q.j(Ma,0,null),Ma=Q.j(Ma,1,null),t(Ma.shouldComponentUpdate(Ma.props,Ma.state))&&Ma.forceUpdate(),J=K(J),Ma=null,Tc=0),Rc=0;else break;x+=1}else if(l=F(l)){if(Wf(l))q=Se(l),l=B(l),m=q,q=P(q);else{m=G(l);Q.j(m,0,null);for(var $t=Q.j(m,1,null),m=function(){var a=$t;return M.h?M.h(a):M.call(null,a)}(),m=F(m),q=null,J=x=0;;)if(J<x)Ma=q.L(null,J),Q.j(Ma,0,null),Ma=Q.j(Ma,1,null),t(Ma.shouldComponentUpdate(Ma.props,
+Ma.state))&&Ma.forceUpdate(),J+=1;else if(m=F(m))Wf(m)?(x=Se(m),m=B(m),q=x,x=P(x)):(q=G(m),Q.j(q,0,null),q=Q.j(q,1,null),t(q.shouldComponentUpdate(q.props,q.state))&&q.forceUpdate(),m=K(m),q=null,x=0),J=0;else break;l=K(l);m=null;q=0}x=0}else break;Us(d,b,ol,!0);return M.h?M.h(g):M.call(null,g)}}(n,b,q,r,v,y,c,d,d,e,f,g,k,l,m);Gj(q,n,function(a,b,c,d,e,f,g,k,l,m,n,q,r,x,v,y){return function(xb,Bb,Cb,Mb){Gd(Ws(c,a,im))&&Cb!==Mb&&Us(c,a,ol,!1);Us(c,a,im,!1);dg(M.h?M.h(vt):M.call(null,vt),g)||dh.j(vt,
+Gf,g);if(t(ut))return null;ut=!0;return"undefined"!==typeof requestAnimationFrame?requestAnimationFrame(function(a,b,c){return function(){return xt(c)}}(a,b,c,d,e,f,g,k,l,m,n,q,r,x,v,y)):setTimeout(function(a,b,c){return function(){return xt(c)}}(a,b,c,d,e,f,g,k,l,m,n,q,r,x,v,y),16)}}(n,b,q,r,v,y,x,c,d,d,e,f,g,k,l,m));dh.C(yt,T,e,function(a,b,c,d,e,f,g,k,l,m,n){return function(){Vs(c,a);Ke(c,a);Ss(c,a);dh.j(yt,Kf,n);return React.unmountComponentAtNode(n)}}(n,b,q,r,v,y,x,c,d,d,e,f,g,k,l,m));return x()})(function ou(b,
+c){"undefined"===typeof lu&&(lu=function(b,c,f,g){this.yf=b;this.state=c;this.owner=f;this.Df=g;this.w=393216;this.I=0},lu.Wa=!0,lu.Va="ui.core/t17246",lu.cb=function(b,c){return Fe(c,"ui.core/t17246")},lu.prototype.N=function(b,c){return new lu(this.yf,this.state,this.owner,c)},lu.prototype.M=function(){return this.Df},lu.prototype.Id=!0,lu.prototype.Jd=function(){return new s(null,3,[ul,or.B(),zm,or.B(),um,or.B()],null)},lu.prototype.Kd=!0,lu.prototype.Ld=function(){var b=this,c=Br(),f=ij(c,new X(null,
+3,5,Z,[Rk,cm,Hm],null));Qf(f)||qr.e(dt.e(b.owner,ul),T.j(ij(c,new X(null,2,5,Z,[tl,Em],null)),Qm,zr(f)));vr.j(dt.e(b.owner,ul),null,function(c){return function(e,f){var m=t(Qm.h(e))?e:new s(null,1,[Qm,e],null),n=Qm.h(m),q=tl.h(m),r=Em.h(m),v=sn.h(m);Rg.e(n,f)?(It.j(b.state,Bm,Ug(new s(null,1,[Fm,!0],null))),Kr(n,function(c,e,f,g,k){return function(c){c=du(c);var l=t(g)?g:t(f)?iu(fm.h(c),f):null;Cr(T.k(xr(e),Em,l,L([tl,f],0)));It.j(b.state,Bm,Ug(new s(null,2,[Em,l,tn,c],null)));return qr.e(dt.e(b.owner,
+um),new s(null,1,[Wk,k],null))}}(m,n,q,r,v,c),function(c,e){return function(c){return It.j(b.state,Bm,Ug(T.j(c,Om,e)))}}(m,n,q,r,v,c))):t(t(r)?r:q)&&(Cr(T.k(xr(n),tl,q,L([Em,r],0))),It.j(b.state,Bm,function(b,c,d,e){return function(b){return T.j(b,Em,t(e)?e:iu(fm.h(tn.h(b)),d))}}(m,n,q,r,v,c)),qr.e(dt.e(b.owner,um),new s(null,1,[Wk,v],null)));return n}}(this));vr.e(dt.e(b.owner,zm),function(c){return function(e){e=t(Qm.h(e))?e:new s(null,1,[Qm,e],null);var f=Rm.h(e);It.j(b.state,sm,function(b){return function(c){return T.j(c,
+Fm,Qm.h(b))}}(e,f,c));return Jr.C(Qm.h(e),e,function(c,e,f){return function(g){return It.j(b.state,sm,function(b,c){return function(b){b=C.e(Qm.h(Km.h(b)),Qm.h(Km.h(g)))?km.h(b):Ff;return T.k(g,Cm,c,L([km,Gd(Am.h(g))?b:t(t(c)?C.e(Ef(b),c):c)?Gf.e(b,Am.h(g)):t(Tg(nj([Am.h(g)]),b))?b:new X(null,1,5,Z,[Am.h(g)],null)],0))}}(c,e,f))}}(e,f,c),mu(b.state,sm))}}(this));return Er(function(c){return function(e){return It.j(b.state,dn,function(b){return function(){return oh.e(ki,eh.e(function(){return function(b){return new X(null,
+2,5,Z,[b,new s(null,1,[rn,ki],null)],null)}}(b),mh.k(function(b){return function(c){var d=Q.j(c,0,null),e=Q.j(c,1,null);return eh.e(function(b,c){return function(b){return new s(null,2,[cm,c,Hm,Qf(b)?null:b],null)}}(c,d,e,b),e)}}(b),L([e],0))))}}(c))}}(this),mu(b.state,dn))},lu.prototype.Ib=!0,lu.prototype.Jb=function(b,c){var f=ag(c)?U.e(Zg,c):c,g=S.e(f,ul),k=S.e(f,zm),l=S.e(f,um),f=Dt.j(Xt,dn.h(this.state),new s(null,1,[Rl,new s(null,1,[ul,g],null)],null)),l=Dt.j(ku,Bm.h(this.state),new s(null,
+1,[Rl,new s(null,3,[zm,k,ul,g,um,l],null)],null)),f=React.DOM.div({className:"container-row"},f,l),g=Dt.j(Rt,sm.h(this.state),new s(null,1,[Rl,new s(null,2,[zm,k,ul,g],null)],null));return React.DOM.div({id:"container"},f,g)});return new lu(ou,b,c,null)},W.h?W.h(nu):W.call(null,nu),new s(null,1,[un,document.getElementById("kythe")],null));
+})();