summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRamon Fernandez <ramon.fernandez@mongodb.com>2015-03-09 11:02:22 -0400
committerRamon Fernandez <ramon.fernandez@mongodb.com>2015-03-09 11:02:22 -0400
commitc5b0ff8c1d063ced62da89446f675a05d1181816 (patch)
treeba56e7d9470453c83561df59435babab3a42f722
parentaf56dea51db8d96773ed541927522ee18ff96f31 (diff)
downloadmongo-c5b0ff8c1d063ced62da89446f675a05d1181816.tar.gz
Import wiredtiger-wiredtiger-2.5.1-144-g3a3bda5.tar.gz from wiredtiger branch mongodb-3.0
-rw-r--r--src/third_party/wiredtiger/NEWS148
-rw-r--r--src/third_party/wiredtiger/NEWS.MONGODB241
-rw-r--r--src/third_party/wiredtiger/README6
-rw-r--r--src/third_party/wiredtiger/RELEASE_INFO2
-rw-r--r--src/third_party/wiredtiger/build_posix/Make.subdirs1
-rw-r--r--src/third_party/wiredtiger/build_posix/aclocal/version-set.m44
-rw-r--r--src/third_party/wiredtiger/build_posix/aclocal/version.m42
-rw-r--r--src/third_party/wiredtiger/dist/flags.py6
-rw-r--r--src/third_party/wiredtiger/dist/s_define.list1
-rw-r--r--src/third_party/wiredtiger/dist/s_string.ok2
-rw-r--r--src/third_party/wiredtiger/dist/stat_data.py3
-rw-r--r--src/third_party/wiredtiger/src/btree/bt_delete.c3
-rw-r--r--src/third_party/wiredtiger/src/btree/bt_handle.c5
-rw-r--r--src/third_party/wiredtiger/src/btree/bt_page.c3
-rw-r--r--src/third_party/wiredtiger/src/btree/bt_slvg.c7
-rw-r--r--src/third_party/wiredtiger/src/btree/bt_split.c41
-rw-r--r--src/third_party/wiredtiger/src/btree/bt_stat.c155
-rw-r--r--src/third_party/wiredtiger/src/btree/bt_sync.c41
-rw-r--r--src/third_party/wiredtiger/src/btree/bt_walk.c110
-rw-r--r--src/third_party/wiredtiger/src/btree/row_key.c57
-rw-r--r--src/third_party/wiredtiger/src/conn/conn_api.c3
-rw-r--r--src/third_party/wiredtiger/src/conn/conn_cache.c82
-rw-r--r--src/third_party/wiredtiger/src/conn/conn_cache_pool.c25
-rw-r--r--src/third_party/wiredtiger/src/conn/conn_dhandle.c61
-rw-r--r--src/third_party/wiredtiger/src/conn/conn_log.c143
-rw-r--r--src/third_party/wiredtiger/src/conn/conn_open.c6
-rw-r--r--src/third_party/wiredtiger/src/conn/conn_stat.c2
-rw-r--r--src/third_party/wiredtiger/src/cursor/cur_index.c2
-rw-r--r--src/third_party/wiredtiger/src/cursor/cur_stat.c1
-rw-r--r--src/third_party/wiredtiger/src/evict/evict_file.c34
-rw-r--r--src/third_party/wiredtiger/src/evict/evict_lru.c95
-rw-r--r--src/third_party/wiredtiger/src/evict/evict_page.c4
-rw-r--r--src/third_party/wiredtiger/src/include/btmem.h55
-rw-r--r--src/third_party/wiredtiger/src/include/btree.i6
-rw-r--r--src/third_party/wiredtiger/src/include/cache.h7
-rw-r--r--src/third_party/wiredtiger/src/include/connection.h4
-rw-r--r--src/third_party/wiredtiger/src/include/error.h4
-rw-r--r--src/third_party/wiredtiger/src/include/extern.h10
-rw-r--r--src/third_party/wiredtiger/src/include/flags.h30
-rw-r--r--src/third_party/wiredtiger/src/include/log.h10
-rw-r--r--src/third_party/wiredtiger/src/include/stat.h3
-rw-r--r--src/third_party/wiredtiger/src/include/wiredtiger.in111
-rw-r--r--src/third_party/wiredtiger/src/log/log.c95
-rw-r--r--src/third_party/wiredtiger/src/log/log_slot.c30
-rw-r--r--src/third_party/wiredtiger/src/lsm/lsm_cursor.c24
-rw-r--r--src/third_party/wiredtiger/src/lsm/lsm_work_unit.c18
-rw-r--r--src/third_party/wiredtiger/src/reconcile/rec_write.c76
-rw-r--r--src/third_party/wiredtiger/src/schema/schema_worker.c16
-rw-r--r--src/third_party/wiredtiger/src/support/stat.c8
-rw-r--r--src/third_party/wiredtiger/src/txn/txn_ckpt.c27
-rw-r--r--src/third_party/wiredtiger/tools/wtstats/wtstats.html.template24
51 files changed, 1380 insertions, 474 deletions
diff --git a/src/third_party/wiredtiger/NEWS b/src/third_party/wiredtiger/NEWS
index a359edafabe..9af9a41a5c6 100644
--- a/src/third_party/wiredtiger/NEWS
+++ b/src/third_party/wiredtiger/NEWS
@@ -1,3 +1,151 @@
+WiredTiger release 2.5.1, 2015-03-07
+------------------------------------
+
+The WiredTiger 2.5.1 release contains new features, minor API changes and many
+bug fixes.
+
+New features and API changes:
+
+* Add a new "log=(recover=on)" option to ::wiredtiger_open. The default value
+ is "on", if set to "error", recovery won't be run on startup. An error will be
+ returned if recovery is needed but disabled. This option is mainly to support
+ the WiredTiger command line utility.
+ refs #1651
+
+* Add a new WT_CURSOR::equals method that returns when the cursors are equal,
+ intended as a fast-path for cursor comparison.
+
+* Change how statistics work when there are checkpoints for an object. We
+ used to aggregate statistics for all open checkpoints and the current
+ handle. We now only return statistics for the object being queried. See
+ upgrading documentation for further information.
+
+* Add a mode to LSM that allows us to limit the size of a tree by dropping
+ old chunks. Enabled via "lsm=(chunk_count_limit=0)", default to 0 which
+ disables the functionality. Note that enabling this feature discards old
+ data automatically.
+ refs #1652
+
+* Update the WiredTiger printlog command line utility to generate JSON that
+ can be parsed by third party tools.
+ Refs #1438
+
+* Change how we track memory allocation overhead. We used to apply a fixed
+ size for each allocation (which was difficult to track). The overhead
+ can be specified via a new configuration option to ::wiredtiger_open using
+ "cache_overhead=8". The value is a percentage and the default is 8.
+ refs #1564 #1565
+
+* Major enhancements to the wtstats.py tool that translates WiredTiger
+ statistics into an HTML graph. The tool now generates interactive graphs
+ and no longer requires third party Python libraries to be installed.
+
+* Add a new WT_CURSOR::reconfigure method for cursor configuration.
+ See API documentation for more information.
+ refs #1381
+
+* Add a new WT_SESSION.strerror method, a thread-safe alternative to
+ ::wiredtiger_strerror.
+ refs #1516
+
+Bug fixes for bugs that could cause data inconsistency:
+
+* Fix a bug in recovery where we could lose track of file identifiers and
+ apply updates to the wrong file.
+ Refs SERVER-17142 SERVER-17131
+
+* Fix several bugs in data consistency that could cause corruption when
+ restarting after a hard crash, including:
+ - A bug in table create that could cause recovery to fail.
+ refs SERVER-17204
+
+Other significant changes:
+
+* Significant tuning enhancements for the WiredTiger cache, including:
+
+ - Avoiding stalls due to evicting large pages
+ - Better algorithms for getting application threads to help with cache
+ management without interfering with operation latencies.
+ - Better algorithms for maintaining the cache when there are a few very hot
+ pages (e.g: append workloads). SERVER-17344
+ - Freeing obsolete references more aggressively, which saves space and
+ reduces traversal overhead when there are lots of updates or deletes.
+ refs SERVER-17195, #1647
+ - Fix a bug that could cause a data loss if we split a large page into
+ multiple smaller pages and attempted to evict the page at the same time.
+ refs #1583 #1563 SERVER-16868
+
+* Significant improvements to the cursor truncate implementation,
+ especially for workloads that periodically truncate from the start of
+ the file.
+ refs SERVER-17141
+
+* Fix a bug in eviction where reconfiguring the number of eviction threads
+ could result in a segfault.
+ refs SERVER-17293
+
+* Significant bug fixes and performance enhancements to the logging subsystem
+ including:
+ - Avoid yielding excessively to avoid CPU overhead when there are many
+ active sessions.
+ refs #1610
+ - The log close thread needs to wait for outstanding writes. #1571
+ - Create a new utility thread to close and fsync log files. #1560
+ - Ensure that log files are closed in sequence. #1555
+ - Ensure that log file create appears atomic. #1482
+ - Fix a race between connection close and switching log files that could
+ lead to a new log file being in an undefined state. #1480
+
+* Added support for advanced options to the WiredTiger verify command line
+ tool.
+
+* Fix a bug in our conflict detection algorithm, where we were failing to
+ detect some write-write conflicts in no-overwrite cursors.
+ refs SERVER-16351
+
+* Significant bug fixes when writing pages to disk, including:
+ - Stop double count the on-disk header when choosing split points. Refs #1655
+ - Fill the first and second pages as much as possible when splitting.
+ refs #1282
+ - Improve the algorithm for fitting large items onto pages when splitting.
+ refs #1630 #1631
+ - Fix a bug when using raw compression where we could overflow allocated
+ memory.
+ refs SERVER-16664
+
+* Fix several cases where WT_SESSION::verify and WT_SESSION::salvage could
+ return EBUSY unnecessarily.
+ Refs #1404 SERVER-16457
+
+* Fix a bug where racing between discarding and updating a tree returned an
+ error to the application.
+ refs #1618 SERVER-17048
+
+* Fix a bug where opening a statistics cursor in parallel with a checkpoint
+ could lead to a deadlock.
+ refs #1575 SERVER-16738
+
+* Change the shared cache implementation to use cache read pressure rather
+ than write pressure to determine how best to share memory (as checkpoints
+ skew write pressure as a metric).
+ refs #1569
+
+* Fix a bug where a deadlock could occur if a checkpoint starts in parallel to
+ compact operations.
+ refs #1589 SERVER-16967
+
+* Fix a bug in how we parse Huffman-encoding configuration settings during
+ WT_SESSION::create.
+ refs #1417 #1536
+
+* Fix a bug where the custom extractor terminate callback was being made twice.
+ refs #1503
+
+* Add a new mode to the eviction server where it writes out some pages even
+ though the eviction triggers have not yet been reached.
+
+* Fix several issues reported by COVERITY static analysis tool.
+
WiredTiger release 2.5.0, 2014-12-24
------------------------------------
diff --git a/src/third_party/wiredtiger/NEWS.MONGODB b/src/third_party/wiredtiger/NEWS.MONGODB
index ff01113390b..30963fb5558 100644
--- a/src/third_party/wiredtiger/NEWS.MONGODB
+++ b/src/third_party/wiredtiger/NEWS.MONGODB
@@ -1,3 +1,244 @@
+3.0.1RC1, Mar 9 2015
+---------------------
+
+commit d654795bb763b95d14604b9b65d09ae79b8ee5b6
+Author: Alex Gorrod <alexg@wiredtiger.com>
+Date: Mon Mar 9 05:35:33 2015 +0000
+
+ Add a test case for checkpoint consistency.
+
+ We recently fixed a bug where updating a page after the write leaves phase of a checkpoint had completed, then either checkpointed again or closed the database. We would end up with inconsistent data. That was the case because we weren't marking trees dirty all the time.
+
+ This test case reproduces the scenario so we don't reintroduce the failure.
+
+ refs #1735 SUPPORT-1248, SERVER-17506
+
+commit 0315ee75f712ed0ccddca0616339de93b17835a3
+Author: Alex Gorrod <alexg@wiredtiger.com>
+Date: Mon Mar 9 11:21:06 2015 +1100
+
+ Bump release version to 2.5.2
+
+commit 4235c69d37474fb4e14673e0ea99337659db948d
+Author: Michael Cahill <michael.cahill@wiredtiger.com>
+Date: Mon Mar 9 08:32:50 2015 +1100
+
+ When skipping a dirty page during a checkpoint, make sure the tree is marked dirty.
+
+ refs SUPPORT-1248, SERVER-17506
+
+commit 8382d14f32efc53b19aecd596cab3ba0d682b22d
+Author: Keith Bostic <keith@wiredtiger.com>
+Date: Fri Mar 6 16:10:37 2015 -0500
+
+ Only increment/decrement from the current position on the first position set by our caller, that is, the position passed-in from our caller is the only position the caller has already seen.
+
+ refs SERVER-17345.
+
+commit ed9c48c7b8fa5dd3362e417fda8337f1690585ed
+Author: Michael Cahill <michael.cahill@wiredtiger.com>
+Date: Fri Mar 6 22:48:45 2015 +1100
+
+ Ignore empty child pages in column stores.
+
+commit 553a351ca6a81179c7f1db9c04d6f96aef0545ac
+Author: Alex Gorrod <alexg@wiredtiger.com>
+Date: Thu Mar 5 05:46:15 2015 +0000
+
+ Don't allow LSM bloom create to block waiting for space in the cache.
+
+ We are only accessing one page at a time, and allowing the bloom create to block can lead to LSM not making progress.
+
+ Refs: #1720
+
+commit 5285b768de3237b4379f1526176efdeb55860971
+Author: Michael Cahill <michael.cahill@wiredtiger.com>
+Date: Thu Mar 5 16:15:08 2015 +1100
+
+ Remove the special "discard" path for trees marked clean: always go through eviction, which checks page modify flags. This may mean additional writes to internal pages when discarding a tree, but means that if a discard stops part-way through, the remaining in-memory tree has not lost any context.
+
+ refs SUPPORT-1248, SERVER-17510
+
+commit 00edf7a47115923bc9f3eaa7eee84c9f7d6b0d77
+Author: Michael Cahill <michael.cahill@wiredtiger.com>
+Date: Thu Mar 5 16:15:07 2015 +1100
+
+ If a page is split by eviction, mark the tree dirty to avoid having dirty pages in a tree marked clean.
+
+ refs SUPPORT-1248
+
+commit 57d3eba53fb91a0287374b9642b7cd4ef644854a
+Author: Susan LoVerso <sue@wiredtiger.com>
+Date: Wed Mar 4 10:00:59 2015 -0500
+
+ Add fsync before closing log files and after header. #1717
+
+ refs SERVER-17451
+
+commit d970bfe6b1bed7d1919b800bf2d65a3789b74d6f
+Author: Keith Bostic <keith@wiredtiger.com>
+Date: Tue Mar 3 09:38:59 2015 -0500
+
+ Don't set eviction_workers_min/eviction_workers_max in the connection structure before checking the values are OK.
+
+commit 90f3f34a97440b6788a1a558e560a33fd116f166
+Author: Susan LoVerso <sue@wiredtiger.com>
+Date: Tue Mar 3 09:26:38 2015 -0500
+
+ Move writing into log worker thread. #1683
+
+commit 1266bbb1143b22fec6b1c255b3aade5d0506477e
+Author: Alex Gorrod <alexg@wiredtiger.com>
+Date: Tue Mar 3 03:37:18 2015 +0000
+
+ Fix a bug in the reconfigure API related to shared cache quotas.
+
+ While fixing the bug simplify the code flow for reconfigure and caches/shared caches.
+
+ refs #1712
+
+commit 1ebd617e6dfcf542983d62d9666c5a328dd41bb8
+Author: Keith Bostic <keith@wiredtiger.com>
+Date: Mon Mar 2 15:31:05 2015 -0500
+
+ Add overflow key/value counts to the statistics code
+
+ refs #1520, #1703
+
+commit a2166ead528ef61da478db67e3c0209a6bef5ac6
+Author: Alex Gorrod <alexg@wiredtiger.com>
+Date: Mon Mar 2 14:18:37 2015 +1100
+
+ Allow memory_page_max to be at most 1/4 of the cache size not 1/2.
+
+ If we let a single page grow to half the cache size, it's too easy for the cache to get pinned full if it is tiny to start with.
+
+commit b036921625e415bb66ac458922b81a9fae07740b
+Author: Alex Gorrod <alexg@wiredtiger.com>
+Date: Mon Mar 2 14:17:12 2015 +1100
+
+ Take all eviction candidates if we are aggressive.
+
+commit 0ddd3face0b99f5653001825bf3df0662ffcdc10
+Author: Michael Cahill <michael.cahill@wiredtiger.com>
+Date: Mon Mar 2 13:07:08 2015 +1100
+
+ Reverse the direction of the LRU walk each time the eviction server goes to sleep. Keep looking for candidates if eviction is stuck. Don't give up our walk position if eviction is stuck.
+
+commit cff10ba30f2eac379197e5d7dea49da2b8159890
+Author: Don Anderson <dda@ddanderson.com>
+Date: Fri Feb 27 15:05:24 2015 -0500
+
+ Added test for wt dump on an index.
+
+ refs #1709
+
+commit a9f0e3ac769a060a8c3b06bac71fbed0e5f46cc6
+Author: Michael Cahill <michael.cahill@wiredtiger.com>
+Date: Fri Feb 27 16:59:35 2015 +1100
+
+ If we encounter a dirty page when closing a clean tree, switch to checkpointing.
+
+ refs SERVER-17319, #1643?, #1404?
+
+commit bfcf5987b2b6f08d931d620330aed46837e3a8c2
+Author: Michael Cahill <michael.cahill@wiredtiger.com>
+Date: Thu Feb 26 16:32:09 2015 +1100
+
+ Add some paranoia to LSM around transaction checks: make sure we have allocated an ID before using it for anything.
+
+ Recheck switch transactions before doing update checks in old chunks.
+
+ refs #1641, #1701, #1702
+
+commit da0bc67c821282e9fd0da725279811b59b25a675
+Author: Michael Cahill <michael.cahill@wiredtiger.com>
+Date: Thu Feb 26 16:32:09 2015 +1100
+
+ Add some paranoia around setting row-store internal keys.
+
+ refs #1582
+
+commit 5ea91f6ed0e0677530c5ab8215f81eb48ea307b8
+Author: Alex Gorrod <alexg@wiredtiger.com>
+Date: Thu Feb 26 04:51:25 2015 +0000
+
+ Several optimizations to large page eviction:
+
+ * Don't update the read generation on page in if it's set to oldest.
+ * Clear the walk positions before the eviction server sleeps.
+ * If only looking for pages that would block add them all to the queue.
+ * If evicting dirty pages use the worker threads, not the server.
+
+commit 0eecd0a2d97771380ecbd7fd27bd44988db1148c
+Author: Alex Gorrod <alexg@wiredtiger.com>
+Date: Thu Feb 26 02:08:36 2015 +0000
+
+ Fix a bug in checkpoint, where it could get an EBUSY return.
+
+ The case that could return EBUSY was when checkpointing with a specific target, while that target was open exclusively or for a bulk load.
+
+ Refs #1404 #1589
+
+commit 392a540deec817c5d6738b8e848a68882df3ac8a
+Author: Susan LoVerso <sue@wiredtiger.com>
+Date: Wed Feb 25 15:03:50 2015 -0500
+
+ If the LSN given doesn't exist, don't return an error, but do force recovery. Fix recover.sh to grep the CONFIG. #1700
+
+commit 59b699b7085868d1b12a41ae4cd7a01f25f6e865
+Author: Alex Gorrod <alexg@wiredtiger.com>
+Date: Tue Feb 24 23:55:20 2015 +0000
+
+ Handle the case where a large record pushes us over a page boundary and we spill across two pages correctly. The previous fix could let us span additional space.
+
+ Fix another bug in the fixup code - ensure there is enough space in the temporary buffer when fixing up after the fist page is full.
+
+ refs #1697
+
+commit ad8b58188961943e74c57b85e3b976aa03b79617
+Author: Susan LoVerso <sue@wiredtiger.com>
+Date: Tue Feb 24 18:54:18 2015 -0500
+
+ Set flags to SLOT_INIT_FLAGS on free. refs #1683
+
+commit 45e4c049044efc96c682f390466a35d22dac555f
+Author: Keith Bostic <keith@wiredtiger.com>
+Date: Tue Feb 24 16:17:32 2015 -0500
+
+ Move WT_PAGE.u.row.d next to WT_PAGE.u.row.entries, it reduces cache misses inside of row-search.
+
+ refs #1665
+
+commit 3c6d7adf422f432ae117e2292dcce00cc3b531a3
+Author: Keith Bostic <keith@wiredtiger.com>
+Date: Tue Feb 24 16:07:16 2015 -0500
+
+ Turn off key prefix-compression and rebuild the key before doing the boundary split. The size of the key is likely to increase by a few bytes, and if the value is large enough to consume almost all of the buffer, we overflow the space available.
+
+ refs #1697
+
+commit ca9ab16c320f6f154ff1fd3d0b65316f87e8bddc
+Author: Alex Gorrod <alexg@wiredtiger.com>
+Date: Tue Feb 24 06:51:14 2015 +0000
+
+ Fix a bug in reconciliation. In cases where we decide to squeeze one more large entry onto a page, we could have attempted to decrement space available negative.
+
+commit 777c35b074fce3656c14ca5770b424a65c719134
+Author: Susan LoVerso <sue@wiredtiger.com>
+Date: Thu Feb 19 12:32:16 2015 -0500
+
+ Add log worker thread to advance write_lsn.
+
+ refs #1683
+
+commit ae686a225a011bac07119e2d66e837e08d5a3a0e
+Author: Keith Bostic <keith@wiredtiger.com>
+Date: Tue Feb 10 12:46:04 2015 -0500
+
+ Sasha says (my paraphrasing): I simply rearranged the fields in the WT_PAGE struct, so that u.row.d and u.row.entries are close together at the very end of the definition of union u, and the "uint8_t type;" immediately follows that.
+
+
3.0-RC10, Feb 24 2015
---------------------
diff --git a/src/third_party/wiredtiger/README b/src/third_party/wiredtiger/README
index 55c1097b339..d89756c9f42 100644
--- a/src/third_party/wiredtiger/README
+++ b/src/third_party/wiredtiger/README
@@ -1,6 +1,6 @@
-WiredTiger 2.5.1: (December 24, 2014)
+WiredTiger 2.5.2: (March 9, 2015)
-This is version 2.5.1 of WiredTiger.
+This is version 2.5.2 of WiredTiger.
WiredTiger release packages and documentation can be found at:
@@ -9,7 +9,7 @@ WiredTiger release packages and documentation can be found at:
Information on configuring, building and installing WiredTiger can be
found at:
- http://source.wiredtiger.com/2.5.1/install.html
+ http://source.wiredtiger.com/2.5.2/install.html
WiredTiger licensing information can be found at:
diff --git a/src/third_party/wiredtiger/RELEASE_INFO b/src/third_party/wiredtiger/RELEASE_INFO
index 6c7da8cb961..ac5ff8ac028 100644
--- a/src/third_party/wiredtiger/RELEASE_INFO
+++ b/src/third_party/wiredtiger/RELEASE_INFO
@@ -1,6 +1,6 @@
WIREDTIGER_VERSION_MAJOR=2
WIREDTIGER_VERSION_MINOR=5
-WIREDTIGER_VERSION_PATCH=1
+WIREDTIGER_VERSION_PATCH=2
WIREDTIGER_VERSION="$WIREDTIGER_VERSION_MAJOR.$WIREDTIGER_VERSION_MINOR.$WIREDTIGER_VERSION_PATCH"
WIREDTIGER_RELEASE_DATE=`date "+%B %e, %Y"`
diff --git a/src/third_party/wiredtiger/build_posix/Make.subdirs b/src/third_party/wiredtiger/build_posix/Make.subdirs
index d37acef50e1..82feee58aa1 100644
--- a/src/third_party/wiredtiger/build_posix/Make.subdirs
+++ b/src/third_party/wiredtiger/build_posix/Make.subdirs
@@ -24,5 +24,6 @@ test/checkpoint
test/fops
test/format HAVE_BERKELEY_DB
test/huge
+test/packing
test/salvage
test/thread
diff --git a/src/third_party/wiredtiger/build_posix/aclocal/version-set.m4 b/src/third_party/wiredtiger/build_posix/aclocal/version-set.m4
index 205bb78e6f1..cbd389ea40d 100644
--- a/src/third_party/wiredtiger/build_posix/aclocal/version-set.m4
+++ b/src/third_party/wiredtiger/build_posix/aclocal/version-set.m4
@@ -2,8 +2,8 @@ dnl build by dist/s_version
VERSION_MAJOR=2
VERSION_MINOR=5
-VERSION_PATCH=1
-VERSION_STRING='"WiredTiger 2.5.1: (December 24, 2014)"'
+VERSION_PATCH=2
+VERSION_STRING='"WiredTiger 2.5.2: (March 9, 2015)"'
AC_SUBST(VERSION_MAJOR)
AC_SUBST(VERSION_MINOR)
diff --git a/src/third_party/wiredtiger/build_posix/aclocal/version.m4 b/src/third_party/wiredtiger/build_posix/aclocal/version.m4
index 71598b276eb..340f77e5474 100644
--- a/src/third_party/wiredtiger/build_posix/aclocal/version.m4
+++ b/src/third_party/wiredtiger/build_posix/aclocal/version.m4
@@ -1,2 +1,2 @@
dnl WiredTiger product version for AC_INIT. Maintained by dist/s_version
-2.5.1
+2.5.2
diff --git a/src/third_party/wiredtiger/dist/flags.py b/src/third_party/wiredtiger/dist/flags.py
index a0e307debf6..f1eb6b24968 100644
--- a/src/third_party/wiredtiger/dist/flags.py
+++ b/src/third_party/wiredtiger/dist/flags.py
@@ -36,12 +36,11 @@ flags = {
'page_read' : [
'READ_CACHE',
'READ_COMPACT',
- 'READ_NO_GEN',
'READ_NO_EVICT',
+ 'READ_NO_GEN',
'READ_NO_WAIT',
'READ_PREV',
'READ_SKIP_INTL',
- 'READ_SKIP_LEAF',
'READ_TRUNCATE',
'READ_WONT_NEED',
],
@@ -88,15 +87,16 @@ flags = {
'conn' : [
'CONN_CACHE_POOL',
'CONN_CKPT_SYNC',
+ 'CONN_CLOSING',
'CONN_EVICTION_RUN',
'CONN_LEAK_MEMORY',
'CONN_LOG_SERVER_RUN',
'CONN_LSM_MERGE',
'CONN_PANIC',
- 'CONN_SERVER_RUN',
'CONN_SERVER_ASYNC',
'CONN_SERVER_CHECKPOINT',
'CONN_SERVER_LSM',
+ 'CONN_SERVER_RUN',
'CONN_SERVER_STATISTICS',
'CONN_SERVER_SWEEP',
'CONN_WAS_BACKUP',
diff --git a/src/third_party/wiredtiger/dist/s_define.list b/src/third_party/wiredtiger/dist/s_define.list
index 91fbc971afa..4924a1935ae 100644
--- a/src/third_party/wiredtiger/dist/s_define.list
+++ b/src/third_party/wiredtiger/dist/s_define.list
@@ -49,6 +49,7 @@ WT_STAT_ATOMIC_DECR
WT_STAT_ATOMIC_DECRV
WT_STAT_ATOMIC_INCR
WT_STAT_ATOMIC_INCRV
+WT_STAT_DECR
WT_STAT_DECRV
WT_STAT_FAST_ATOMIC_DECR
WT_STAT_FAST_ATOMIC_DECRV
diff --git a/src/third_party/wiredtiger/dist/s_string.ok b/src/third_party/wiredtiger/dist/s_string.ok
index 66439faf161..8b0335a6480 100644
--- a/src/third_party/wiredtiger/dist/s_string.ok
+++ b/src/third_party/wiredtiger/dist/s_string.ok
@@ -551,6 +551,7 @@ dest
dev
dhandle
dhandles
+dir
dirlist
dl
dlclose
@@ -1161,6 +1162,7 @@ wrapup
writelock
writeunlock
wrlock
+wrlsn
ws
wti
wtperf
diff --git a/src/third_party/wiredtiger/dist/stat_data.py b/src/third_party/wiredtiger/dist/stat_data.py
index 5a42f2ff318..dd4d292c8b6 100644
--- a/src/third_party/wiredtiger/dist/stat_data.py
+++ b/src/third_party/wiredtiger/dist/stat_data.py
@@ -221,11 +221,14 @@ connection_stats = [
LogStat('log_prealloc_max', 'number of pre-allocated log files to create'),
LogStat('log_prealloc_used', 'pre-allocated log files used'),
LogStat('log_reads', 'log read operations'),
+ LogStat('log_release_write_lsn', 'log release advances write LSN'),
LogStat('log_scan_records', 'records processed by log scan'),
LogStat('log_scan_rereads', 'log scan records requiring two reads'),
LogStat('log_scans', 'log scan operations'),
LogStat('log_sync', 'log sync operations'),
+ LogStat('log_sync_dir', 'log sync_dir operations'),
LogStat('log_writes', 'log write operations'),
+ LogStat('log_write_lsn', 'log server thread advances write LSN'),
LogStat('log_slot_consolidated', 'logging bytes consolidated'),
LogStat('log_slot_closes', 'consolidated slot closures'),
diff --git a/src/third_party/wiredtiger/src/btree/bt_delete.c b/src/third_party/wiredtiger/src/btree/bt_delete.c
index 9c4ab05ce40..479f6547e42 100644
--- a/src/third_party/wiredtiger/src/btree/bt_delete.c
+++ b/src/third_party/wiredtiger/src/btree/bt_delete.c
@@ -221,9 +221,6 @@ __wt_delete_page_skip(WT_SESSION_IMPL *session, WT_REF *ref)
{
int skip;
- if (ref->state != WT_REF_DELETED)
- return (0);
-
/*
* Deleted pages come from two sources: either it's a fast-delete as
* described above, or the page has been emptied by other operations
diff --git a/src/third_party/wiredtiger/src/btree/bt_handle.c b/src/third_party/wiredtiger/src/btree/bt_handle.c
index 299849ad365..5b3624a4a2d 100644
--- a/src/third_party/wiredtiger/src/btree/bt_handle.c
+++ b/src/third_party/wiredtiger/src/btree/bt_handle.c
@@ -453,8 +453,7 @@ __btree_tree_open_empty(WT_SESSION_IMPL *session, int creation)
ref->page = NULL;
ref->addr = NULL;
ref->state = WT_REF_DELETED;
- WT_ERR(__wt_row_ikey_incr(
- session, root, 0, "", 1, &ref->key.ikey));
+ WT_ERR(__wt_row_ikey_incr(session, root, 0, "", 1, ref));
break;
WT_ILLEGAL_VALUE_ERR(session);
}
@@ -634,7 +633,7 @@ __btree_page_sizes(WT_SESSION_IMPL *session)
WT_MAX((uint64_t)cval.val, 50 * (uint64_t)btree->maxleafpage);
cache_size = S2C(session)->cache_size;
if (cache_size > 0)
- btree->maxmempage = WT_MIN(btree->maxmempage, cache_size / 2);
+ btree->maxmempage = WT_MIN(btree->maxmempage, cache_size / 4);
/*
* Get the split percentage (reconciliation splits pages into smaller
diff --git a/src/third_party/wiredtiger/src/btree/bt_page.c b/src/third_party/wiredtiger/src/btree/bt_page.c
index b5140beb792..e177b05cd24 100644
--- a/src/third_party/wiredtiger/src/btree/bt_page.c
+++ b/src/third_party/wiredtiger/src/btree/bt_page.c
@@ -165,6 +165,7 @@ __wt_page_in_func(WT_SESSION_IMPL *session, WT_REF *ref, uint32_t flags
if (oldgen && page->read_gen == WT_READGEN_NOTSET)
__wt_page_evict_soon(page);
else if (!LF_ISSET(WT_READ_NO_GEN) &&
+ page->read_gen != WT_READGEN_OLDEST &&
page->read_gen < __wt_cache_read_gen(session))
page->read_gen =
__wt_cache_read_gen_set(session);
@@ -611,7 +612,7 @@ __inmem_row_int(WT_SESSION_IMPL *session, WT_PAGE *page, size_t *sizep)
WT_ERR(__wt_row_ikey_incr(session, page,
WT_PAGE_DISK_OFFSET(page, cell),
- current->data, current->size, &ref->key.ikey));
+ current->data, current->size, ref));
*sizep += sizeof(WT_IKEY) + current->size;
break;
diff --git a/src/third_party/wiredtiger/src/btree/bt_slvg.c b/src/third_party/wiredtiger/src/btree/bt_slvg.c
index 1cf616a2f6b..d6c20556a9a 100644
--- a/src/third_party/wiredtiger/src/btree/bt_slvg.c
+++ b/src/third_party/wiredtiger/src/btree/bt_slvg.c
@@ -1858,8 +1858,7 @@ __slvg_row_build_internal(
WT_ERR(__slvg_row_build_leaf(session, trk, ref, ss));
} else {
WT_ERR(__wt_row_ikey_incr(session, page, 0,
- trk->row_start.data, trk->row_start.size,
- &ref->key.ikey));
+ trk->row_start.data, trk->row_start.size, ref));
WT_ERR(__slvg_ovfl_ref_all(session, trk));
}
@@ -1981,8 +1980,8 @@ __slvg_row_build_leaf(
*/
rip = page->pg_row_d + skip_start;
WT_ERR(__wt_row_leaf_key(session, page, rip, key, 0));
- WT_ERR(__wt_row_ikey_incr(session,
- ref->home, 0, key->data, key->size, &ref->key.ikey));
+ WT_ERR(__wt_row_ikey_incr(
+ session, ref->home, 0, key->data, key->size, ref));
/* Set the referenced flag on overflow pages we're using. */
if (trk->trk_ovfl_cnt != 0)
diff --git a/src/third_party/wiredtiger/src/btree/bt_split.c b/src/third_party/wiredtiger/src/btree/bt_split.c
index 6ebd4609efa..95fb9c68a86 100644
--- a/src/third_party/wiredtiger/src/btree/bt_split.c
+++ b/src/third_party/wiredtiger/src/btree/bt_split.c
@@ -281,8 +281,8 @@ __split_ref_deepen_move(WT_SESSION_IMPL *session,
if (parent->type == WT_PAGE_ROW_INT) {
if ((ikey = __wt_ref_key_instantiated(ref)) == NULL) {
__wt_ref_key(parent, ref, &key, &size);
- WT_RET(__wt_row_ikey(session, 0, key, size, &ikey));
- ref->key.ikey = ikey;
+ WT_RET(__wt_row_ikey(session, 0, key, size, ref));
+ ikey = ref->key.ikey;
} else {
WT_RET(__split_ovfl_key_cleanup(session, parent, ref));
*parent_decrp += sizeof(WT_IKEY) + ikey->size;
@@ -454,8 +454,7 @@ __split_deepen(WT_SESSION_IMPL *session, WT_PAGE *parent, uint32_t children)
ref->addr = NULL;
if (parent->type == WT_PAGE_ROW_INT) {
__wt_ref_key(parent, *parent_refp, &p, &size);
- WT_ERR(
- __wt_row_ikey(session, 0, p, size, &ref->key.ikey));
+ WT_ERR(__wt_row_ikey(session, 0, p, size, ref));
parent_incr += sizeof(WT_IKEY) + size;
} else
ref->key.recno = (*parent_refp)->key.recno;
@@ -468,7 +467,7 @@ __split_deepen(WT_SESSION_IMPL *session, WT_PAGE *parent, uint32_t children)
/* Mark it dirty. */
WT_ERR(__wt_page_modify_init(session, child));
- __wt_page_only_modify_set(session, child);
+ __wt_page_modify_set(session, child);
/*
* Once the split goes live, the newly created internal pages
@@ -761,8 +760,8 @@ __wt_multi_to_ref(WT_SESSION_IMPL *session,
case WT_PAGE_ROW_INT:
case WT_PAGE_ROW_LEAF:
ikey = multi->key.ikey;
- WT_RET(__wt_row_ikey(session, 0,
- WT_IKEY_DATA(ikey), ikey->size, &ref->key.ikey));
+ WT_RET(__wt_row_ikey(
+ session, 0, WT_IKEY_DATA(ikey), ikey->size, ref));
incr += sizeof(WT_IKEY) + ikey->size;
break;
default:
@@ -855,7 +854,8 @@ __split_parent(WT_SESSION_IMPL *session, WT_REF *ref, WT_REF **ref_new,
for (i = 0, deleted_entries = 0; i < parent_entries; ++i) {
next_ref = pindex->index[i];
WT_ASSERT(session, next_ref->state != WT_REF_SPLIT);
- if (__wt_delete_page_skip(session, next_ref) &&
+ if (next_ref->state == WT_REF_DELETED &&
+ __wt_delete_page_skip(session, next_ref) &&
WT_ATOMIC_CAS4(next_ref->state,
WT_REF_DELETED, WT_REF_SPLIT))
deleted_entries++;
@@ -1139,15 +1139,23 @@ __wt_split_insert(WT_SESSION_IMPL *session, WT_REF *ref, int *splitp)
F_SET_ATOMIC(page, WT_PAGE_SPLIT_INSERT);
/*
- * The first page in the split is the current page, but we still need to
- * create a replacement WT_REF and make a copy of the key (the original
- * WT_REF is set to split-status and eventually freed).
- *
- * The new reference is visible to readers once the split completes.
+ * The first page in the split is the current page, but we still have
+ * to create a replacement WT_REF, the original WT_REF will be set to
+ * split status and eventually freed.
*/
WT_ERR(__wt_calloc_one(session, &split_ref[0]));
child = split_ref[0];
*child = *ref;
+
+ /*
+ * The new WT_REF is not quite identical: we have to instantiate a key,
+ * and the new reference is visible to readers once the split completes.
+ *
+ * The key-instantiation code checks for races, clear the key fields so
+ * we don't trigger them.
+ */
+ child->key.recno = 0;
+ child->key.ikey = NULL;
child->state = WT_REF_MEM;
/*
@@ -1167,8 +1175,7 @@ __wt_split_insert(WT_SESSION_IMPL *session, WT_REF *ref, int *splitp)
} else
WT_ERR(__wt_row_leaf_key(
session, page, &page->pg_row_d[0], key, 1));
- WT_ERR(__wt_row_ikey(
- session, 0, key->data, key->size, &child->key.ikey));
+ WT_ERR(__wt_row_ikey(session, 0, key->data, key->size, child));
parent_incr += sizeof(WT_REF) + sizeof(WT_IKEY) + key->size;
__wt_scr_free(session, &key);
@@ -1187,7 +1194,7 @@ __wt_split_insert(WT_SESSION_IMPL *session, WT_REF *ref, int *splitp)
child->state = WT_REF_MEM;
WT_ERR(__wt_row_ikey(session, 0,
WT_INSERT_KEY(moved_ins), WT_INSERT_KEY_SIZE(moved_ins),
- &child->key.ikey));
+ child));
parent_incr +=
sizeof(WT_REF) + sizeof(WT_IKEY) + WT_INSERT_KEY_SIZE(moved_ins);
@@ -1203,7 +1210,7 @@ __wt_split_insert(WT_SESSION_IMPL *session, WT_REF *ref, int *splitp)
/* The new page is dirty by definition. */
WT_ERR(__wt_page_modify_init(session, right));
- __wt_page_only_modify_set(session, right);
+ __wt_page_modify_set(session, right);
/*
* We modified the page above, which will have set the first dirty
diff --git a/src/third_party/wiredtiger/src/btree/bt_stat.c b/src/third_party/wiredtiger/src/btree/bt_stat.c
index 2e34a925f84..b550158a5a9 100644
--- a/src/third_party/wiredtiger/src/btree/bt_stat.c
+++ b/src/third_party/wiredtiger/src/btree/bt_stat.c
@@ -9,8 +9,9 @@
#include "wt_internal.h"
static int __stat_page(WT_SESSION_IMPL *, WT_PAGE *, WT_DSRC_STATS *);
-static int __stat_page_col_var(WT_PAGE *, WT_DSRC_STATS *);
-static int __stat_page_row_leaf(WT_PAGE *, WT_DSRC_STATS *);
+static void __stat_page_col_var(WT_PAGE *, WT_DSRC_STATS *);
+static void __stat_page_row_int(WT_SESSION_IMPL *, WT_PAGE *, WT_DSRC_STATS *);
+static void __stat_page_row_leaf(WT_SESSION_IMPL *, WT_PAGE *, WT_DSRC_STATS *);
/*
* __wt_btree_stat_init --
@@ -89,18 +90,13 @@ __stat_page(WT_SESSION_IMPL *session, WT_PAGE *page, WT_DSRC_STATS *stats)
WT_STAT_INCRV(stats, btree_entries, pindex->entries);
break;
case WT_PAGE_COL_VAR:
- WT_RET(__stat_page_col_var(page, stats));
- break;
- case WT_PAGE_OVFL:
- WT_STAT_INCR(stats, btree_overflow);
+ __stat_page_col_var(page, stats);
break;
case WT_PAGE_ROW_INT:
- WT_STAT_INCR(stats, btree_row_internal);
- pindex = WT_INTL_INDEX_COPY(page);
- WT_STAT_INCRV(stats, btree_entries, pindex->entries);
+ __stat_page_row_int(session, page, stats);
break;
case WT_PAGE_ROW_LEAF:
- WT_RET(__stat_page_row_leaf(page, stats));
+ __stat_page_row_leaf(session, page, stats);
break;
WT_ILLEGAL_VALUE(session);
}
@@ -111,7 +107,7 @@ __stat_page(WT_SESSION_IMPL *session, WT_PAGE *page, WT_DSRC_STATS *stats)
* __stat_page_col_var --
* Stat a WT_PAGE_COL_VAR page.
*/
-static int
+static void
__stat_page_col_var(WT_PAGE *page, WT_DSRC_STATS *stats)
{
WT_CELL *cell;
@@ -119,29 +115,33 @@ __stat_page_col_var(WT_PAGE *page, WT_DSRC_STATS *stats)
WT_COL *cip;
WT_INSERT *ins;
WT_UPDATE *upd;
+ uint64_t deleted_cnt, entry_cnt, ovfl_cnt;
uint32_t i;
int orig_deleted;
unpack = &_unpack;
+ deleted_cnt = entry_cnt = ovfl_cnt = 0;
WT_STAT_INCR(stats, btree_column_variable);
/*
- * Walk the page, counting regular and overflow data items, and checking
- * to be sure any updates weren't deletions. If the item was updated,
- * assume it was updated by an item of the same size (it's expensive to
- * figure out if it will require the same space or not, especially if
- * there's Huffman encoding).
+ * Walk the page counting regular items, adjusting if the item has been
+ * subsequently deleted or not. This is a mess because 10-item RLE might
+ * have 3 of the items subsequently deleted. Overflow items are harder,
+ * we can't know if an updated item will be an overflow item or not; do
+ * our best, and simply count every overflow item (or RLE set of items)
+ * we see.
*/
WT_COL_FOREACH(page, cip, i) {
if ((cell = WT_COL_PTR(page, cip)) == NULL) {
orig_deleted = 1;
- WT_STAT_INCR(stats, btree_column_deleted);
+ ++deleted_cnt;
} else {
orig_deleted = 0;
__wt_cell_unpack(cell, unpack);
- WT_STAT_INCRV(
- stats, btree_entries, __wt_cell_rle(unpack));
+ entry_cnt += __wt_cell_rle(unpack);
+ if (unpack->ovfl)
+ ++ovfl_cnt;
}
/*
@@ -151,57 +151,128 @@ __stat_page_col_var(WT_PAGE *page, WT_DSRC_STATS *stats)
WT_SKIP_FOREACH(ins, WT_COL_UPDATE(page, cip)) {
upd = ins->upd;
if (WT_UPDATE_DELETED_ISSET(upd)) {
- if (orig_deleted)
- continue;
- WT_STAT_INCR(stats, btree_column_deleted);
- WT_STAT_DECR(stats, btree_entries);
- } else {
- if (!orig_deleted)
- continue;
- WT_STAT_DECR(stats, btree_column_deleted);
- WT_STAT_INCR(stats, btree_entries);
- }
+ if (!orig_deleted) {
+ ++deleted_cnt;
+ --entry_cnt;
+ }
+ } else
+ if (orig_deleted) {
+ --deleted_cnt;
+ ++entry_cnt;
+ }
}
}
- return (0);
+
+ /* Walk any append list. */
+ WT_SKIP_FOREACH(ins, WT_COL_APPEND(page))
+ ++entry_cnt;
+
+ WT_STAT_INCRV(stats, btree_column_deleted, deleted_cnt);
+ WT_STAT_INCRV(stats, btree_entries, entry_cnt);
+ WT_STAT_INCRV(stats, btree_overflow, ovfl_cnt);
+}
+
+/*
+ * __stat_page_row_int --
+ * Stat a WT_PAGE_ROW_INT page.
+ */
+static void
+__stat_page_row_int(
+ WT_SESSION_IMPL *session, WT_PAGE *page, WT_DSRC_STATS *stats)
+{
+ WT_BTREE *btree;
+ WT_CELL *cell;
+ WT_CELL_UNPACK unpack;
+ WT_PAGE_INDEX *pindex;
+ uint32_t i, ovfl_cnt;
+
+ btree = S2BT(session);
+ ovfl_cnt = 0;
+
+ WT_STAT_INCR(stats, btree_row_internal);
+
+ /*
+ * The number of entries tells us the number of items on row-store
+ * internal page.
+ */
+ pindex = WT_INTL_INDEX_COPY(page);
+ WT_STAT_INCRV(stats, btree_entries, pindex->entries);
+
+ /*
+ * Overflow keys are hard: we have to walk the disk image to count them,
+ * the in-memory representation of the page doesn't necessarily contain
+ * a reference to the original cell.
+ */
+ if (page->dsk != NULL)
+ WT_CELL_FOREACH(btree, page->dsk, cell, &unpack, i) {
+ __wt_cell_unpack(cell, &unpack);
+ if (__wt_cell_type(cell) == WT_CELL_KEY_OVFL)
+ ++ovfl_cnt;
+ }
+
+ WT_STAT_INCRV(stats, btree_overflow, ovfl_cnt);
}
/*
* __stat_page_row_leaf --
* Stat a WT_PAGE_ROW_LEAF page.
*/
-static int
-__stat_page_row_leaf(WT_PAGE *page, WT_DSRC_STATS *stats)
+static void
+__stat_page_row_leaf(
+ WT_SESSION_IMPL *session, WT_PAGE *page, WT_DSRC_STATS *stats)
{
+ WT_BTREE *btree;
+ WT_CELL *cell;
+ WT_CELL_UNPACK unpack;
WT_INSERT *ins;
WT_ROW *rip;
WT_UPDATE *upd;
- uint32_t cnt, i;
+ uint32_t entry_cnt, i, ovfl_cnt;
+
+ btree = S2BT(session);
+ entry_cnt = ovfl_cnt = 0;
WT_STAT_INCR(stats, btree_row_leaf);
/*
- * Stat any K/V pairs inserted into the page before the first from-disk
+ * Walk any K/V pairs inserted into the page before the first from-disk
* key on the page.
*/
- cnt = 0;
WT_SKIP_FOREACH(ins, WT_ROW_INSERT_SMALLEST(page))
if (!WT_UPDATE_DELETED_ISSET(ins->upd))
- ++cnt;
+ ++entry_cnt;
- /* Stat the page's K/V pairs. */
+ /*
+ * Walk the page's K/V pairs. Count overflow values, where an overflow
+ * item is any on-disk overflow item that hasn't been updated.
+ */
WT_ROW_FOREACH(page, rip, i) {
upd = WT_ROW_UPDATE(page, rip);
if (upd == NULL || !WT_UPDATE_DELETED_ISSET(upd))
- ++cnt;
+ ++entry_cnt;
+ if (upd == NULL && (cell =
+ __wt_row_leaf_value_cell(page, rip, NULL)) != NULL &&
+ __wt_cell_type(cell) == WT_CELL_VALUE_OVFL)
+ ++ovfl_cnt;
- /* Stat inserted K/V pairs. */
+ /* Walk K/V pairs inserted after the on-page K/V pair. */
WT_SKIP_FOREACH(ins, WT_ROW_INSERT(page, rip))
if (!WT_UPDATE_DELETED_ISSET(ins->upd))
- ++cnt;
+ ++entry_cnt;
}
- WT_STAT_INCRV(stats, btree_entries, cnt);
+ /*
+ * Overflow keys are hard: we have to walk the disk image to count them,
+ * the in-memory representation of the page doesn't necessarily contain
+ * a reference to the original cell.
+ */
+ if (page->dsk != NULL)
+ WT_CELL_FOREACH(btree, page->dsk, cell, &unpack, i) {
+ __wt_cell_unpack(cell, &unpack);
+ if (__wt_cell_type(cell) == WT_CELL_KEY_OVFL)
+ ++ovfl_cnt;
+ }
- return (0);
+ WT_STAT_INCRV(stats, btree_entries, entry_cnt);
+ WT_STAT_INCRV(stats, btree_overflow, ovfl_cnt);
}
diff --git a/src/third_party/wiredtiger/src/btree/bt_sync.c b/src/third_party/wiredtiger/src/btree/bt_sync.c
index d925eefc2fe..bc5d1051b1e 100644
--- a/src/third_party/wiredtiger/src/btree/bt_sync.c
+++ b/src/third_party/wiredtiger/src/btree/bt_sync.c
@@ -113,6 +113,13 @@ __sync_file(WT_SESSION_IMPL *session, int syncop)
if (walk == NULL)
break;
+ page = walk->page;
+ mod = page->modify;
+
+ /* Skip clean pages. */
+ if (!__wt_page_is_modified(page))
+ continue;
+
/*
* Write dirty pages, unless we can be sure they only
* became dirty after the checkpoint started.
@@ -125,23 +132,27 @@ __sync_file(WT_SESSION_IMPL *session, int syncop)
* (3) the first dirty update on the page is
* sufficiently recent that the checkpoint
* transaction would skip them.
+ *
+ * Mark the tree dirty: the checkpoint marked it clean
+ * and we can't skip future checkpoints until this page
+ * is written.
*/
- page = walk->page;
- mod = page->modify;
- if (__wt_page_is_modified(page) &&
- (WT_PAGE_IS_INTERNAL(page) ||
- !F_ISSET(txn, TXN_HAS_SNAPSHOT) ||
- TXNID_LE(mod->first_dirty_txn, txn->snap_max))) {
- if (WT_PAGE_IS_INTERNAL(page)) {
- internal_bytes +=
- page->memory_footprint;
- ++internal_pages;
- } else {
- leaf_bytes += page->memory_footprint;
- ++leaf_pages;
- }
- WT_ERR(__wt_reconcile(session, walk, NULL, 0));
+ if (!WT_PAGE_IS_INTERNAL(page) &&
+ F_ISSET(txn, TXN_HAS_SNAPSHOT) &&
+ TXNID_LT(txn->snap_max, mod->first_dirty_txn)) {
+ __wt_page_modify_set(session, page);
+ continue;
+ }
+
+ if (WT_PAGE_IS_INTERNAL(page)) {
+ internal_bytes +=
+ page->memory_footprint;
+ ++internal_pages;
+ } else {
+ leaf_bytes += page->memory_footprint;
+ ++leaf_pages;
}
+ WT_ERR(__wt_reconcile(session, walk, NULL, 0));
}
break;
}
diff --git a/src/third_party/wiredtiger/src/btree/bt_walk.c b/src/third_party/wiredtiger/src/btree/bt_walk.c
index 10dd5b12936..917e0c54a30 100644
--- a/src/third_party/wiredtiger/src/btree/bt_walk.c
+++ b/src/third_party/wiredtiger/src/btree/bt_walk.c
@@ -20,12 +20,11 @@ __wt_tree_walk(WT_SESSION_IMPL *session,
WT_DECL_RET;
WT_PAGE *page;
WT_PAGE_INDEX *pindex;
- WT_REF *couple, *ref;
- int descending, prev, skip;
+ WT_REF *couple, *couple_orig, *ref;
+ int prev, skip;
uint32_t slot;
btree = S2BT(session);
- descending = 0;
/*
* Tree walks are special: they look inside page structures that splits
@@ -79,7 +78,7 @@ __wt_tree_walk(WT_SESSION_IMPL *session,
* here. We check when discarding pages that we're not discarding that
* page, so this clear must be done before the page is released.
*/
- couple = ref = *refp;
+ couple = couple_orig = ref = *refp;
*refp = NULL;
/* If no page is active, begin a walk from the start of the tree. */
@@ -102,29 +101,6 @@ ascend: /*
/* Figure out the current slot in the WT_REF array. */
__wt_page_refp(session, ref, &pindex, &slot);
- if (0) {
-restart: /*
- * The page we're moving to might have split, in which case find
- * the last position we held.
- *
- * If we were starting a tree walk, begin again.
- *
- * If we were in the process of descending, repeat the descent.
- * If we were moving within a single level of the tree, repeat
- * the last move.
- */
- ref = couple;
- if (ref == &btree->root) {
- ref = &btree->root;
- if (ref->page == NULL)
- goto done;
- goto descend;
- }
- __wt_page_refp(session, ref, &pindex, &slot);
- if (descending)
- goto descend;
- }
-
for (;;) {
/*
* If we're at the last/first slot on the page, return this page
@@ -152,14 +128,11 @@ restart: /*
/*
* Locate the reference to our parent page then
* swap our child hazard pointer for the parent.
- * We don't handle a restart return because it
- * would require additional complexity in the
- * restart code (ascent code somewhat like the
- * descent code already there), and it's not a
- * possible return: we're moving to the parent
- * of the current child, not another child of
- * the same parent, there's no way our parent
- * split.
+ * We don't handle restart or not-found returns.
+ * It would require additional complexity and is
+ * not a possible return: we're moving to the
+ * parent of the current child page, our parent
+ * reference can't have split or been evicted.
*/
__wt_page_refp(session, ref, &pindex, &slot);
if ((ret = __wt_page_swap(
@@ -182,7 +155,7 @@ restart: /*
if (walkcntp != NULL)
++*walkcntp;
- for (descending = 0;;) {
+ for (;;) {
ref = pindex->index[slot];
if (LF_ISSET(WT_READ_CACHE)) {
@@ -198,7 +171,8 @@ restart: /*
* Avoid pulling a deleted page back in to try
* to delete it again.
*/
- if (__wt_delete_page_skip(session, ref))
+ if (ref->state == WT_REF_DELETED &&
+ __wt_delete_page_skip(session, ref))
break;
/*
* If deleting a range, try to delete the page
@@ -232,26 +206,67 @@ restart: /*
}
} else {
/*
- * If iterating a cursor, try to skip deleted
- * pages that are visible to us.
+ * Try to skip deleted pages visible to us.
*/
- if (__wt_delete_page_skip(session, ref))
+ if (ref->state == WT_REF_DELETED &&
+ __wt_delete_page_skip(session, ref))
break;
}
ret = __wt_page_swap(session, couple, ref, flags);
+
+ /*
+ * Not-found is an expected return when only walking
+ * in-cache pages.
+ */
if (ret == WT_NOTFOUND) {
ret = 0;
break;
}
- if (ret == WT_RESTART)
- goto restart;
+
+ /*
+ * The page we're moving to might have split, in which
+ * case move to the last position we held.
+ */
+ if (ret == WT_RESTART) {
+ ret = 0;
+
+ /*
+ * If a new walk that never coupled from the
+ * root to a new saved position in the tree,
+ * restart the walk.
+ */
+ if (couple == &btree->root) {
+ ref = &btree->root;
+ if (ref->page == NULL)
+ goto done;
+ goto descend;
+ }
+
+ /*
+ * If restarting from some original position,
+ * repeat the increment or decrement we made at
+ * that time. Otherwise, couple is an internal
+ * page we've acquired after moving from that
+ * starting position and we can treat it as a
+ * new page. This works because we never acquire
+ * a hazard pointer on a leaf page we're not
+ * going to return to our caller, this will quit
+ * work if that ever changes.
+ */
+ WT_ASSERT(session,
+ couple == couple_orig ||
+ WT_PAGE_IS_INTERNAL(couple->page));
+ ref = couple;
+ __wt_page_refp(session, ref, &pindex, &slot);
+ if (couple == couple_orig)
+ break;
+ }
WT_ERR(ret);
/*
- * Entering a new page: configure for traversal of any
- * internal page's children, else return (or optionally
- * skip), the leaf page.
+ * A new page: configure for traversal of any internal
+ * page's children, else return the leaf page.
*/
descend: couple = ref;
page = ref->page;
@@ -259,10 +274,7 @@ descend: couple = ref;
page->type == WT_PAGE_COL_INT) {
pindex = WT_INTL_INDEX_COPY(page);
slot = prev ? pindex->entries - 1 : 0;
- descending = 1;
- } else if (LF_ISSET(WT_READ_SKIP_LEAF))
- goto ascend;
- else {
+ } else {
*refp = ref;
goto done;
}
diff --git a/src/third_party/wiredtiger/src/btree/row_key.c b/src/third_party/wiredtiger/src/btree/row_key.c
index 92cfd1e4273..f2868afe13a 100644
--- a/src/third_party/wiredtiger/src/btree/row_key.c
+++ b/src/third_party/wiredtiger/src/btree/row_key.c
@@ -439,7 +439,7 @@ next: switch (direction) {
(void)__wt_row_leaf_key_info(
page, copy, &ikey, &cell, NULL, NULL);
if (ikey == NULL) {
- WT_ERR(__wt_row_ikey(session,
+ WT_ERR(__wt_row_ikey_alloc(session,
WT_PAGE_DISK_OFFSET(page, cell),
keyb->data, keyb->size, &ikey));
@@ -462,15 +462,37 @@ err: __wt_scr_free(session, &tmp);
}
/*
+ * __wt_row_ikey_alloc --
+ * Instantiate a key in a WT_IKEY structure.
+ */
+int
+__wt_row_ikey_alloc(WT_SESSION_IMPL *session,
+ uint32_t cell_offset, const void *key, size_t size, WT_IKEY **ikeyp)
+{
+ WT_IKEY *ikey;
+
+ /*
+ * Allocate memory for the WT_IKEY structure and the key, then copy
+ * the key into place.
+ */
+ WT_RET(__wt_calloc(session, 1, sizeof(WT_IKEY) + size, &ikey));
+ ikey->size = WT_STORE_SIZE(size);
+ ikey->cell_offset = cell_offset;
+ memcpy(WT_IKEY_DATA(ikey), key, size);
+ *ikeyp = ikey;
+ return (0);
+}
+
+/*
* __wt_row_ikey_incr --
* Instantiate a key in a WT_IKEY structure and increment the page's
* memory footprint.
*/
int
__wt_row_ikey_incr(WT_SESSION_IMPL *session, WT_PAGE *page,
- uint32_t cell_offset, const void *key, size_t size, void *ikeyp)
+ uint32_t cell_offset, const void *key, size_t size, WT_REF *ref)
{
- WT_RET(__wt_row_ikey(session, cell_offset, key, size, ikeyp));
+ WT_RET(__wt_row_ikey(session, cell_offset, key, size, ref));
__wt_cache_page_inmem_incr(session, page, sizeof(WT_IKEY) + size);
@@ -483,19 +505,30 @@ __wt_row_ikey_incr(WT_SESSION_IMPL *session, WT_PAGE *page,
*/
int
__wt_row_ikey(WT_SESSION_IMPL *session,
- uint32_t cell_offset, const void *key, size_t size, void *ikeyp)
+ uint32_t cell_offset, const void *key, size_t size, WT_REF *ref)
{
WT_IKEY *ikey;
+ WT_RET(__wt_row_ikey_alloc(session, cell_offset, key, size, &ikey));
+
+#ifdef HAVE_DIAGNOSTIC
+ {
+ uintptr_t oldv;
+
+ oldv = (uintptr_t)ref->key.ikey;
+ WT_DIAGNOSTIC_YIELD;
+
/*
- * Allocate memory for the WT_IKEY structure and the key, then copy
- * the key into place.
+ * We should never overwrite an instantiated key, and we should
+ * never instantiate a key after a split.
*/
- WT_RET(__wt_calloc(session, 1, sizeof(WT_IKEY) + size, &ikey));
- ikey->size = WT_STORE_SIZE(size);
- ikey->cell_offset = cell_offset;
- memcpy(WT_IKEY_DATA(ikey), key, size);
-
- *(WT_IKEY **)ikeyp = ikey;
+ WT_ASSERT(session, oldv == 0 || (oldv & WT_IK_FLAG) != 0);
+ WT_ASSERT(session, ref->state != WT_REF_SPLIT);
+ WT_ASSERT(session,
+ WT_ATOMIC_CAS8(ref->key.ikey, (WT_IKEY *)oldv, ikey));
+ }
+#else
+ ref->key.ikey = ikey;
+#endif
return (0);
}
diff --git a/src/third_party/wiredtiger/src/conn/conn_api.c b/src/third_party/wiredtiger/src/conn/conn_api.c
index 0562f9cfc34..6b9824fc415 100644
--- a/src/third_party/wiredtiger/src/conn/conn_api.c
+++ b/src/third_party/wiredtiger/src/conn/conn_api.c
@@ -762,8 +762,7 @@ __conn_reconfigure(WT_CONNECTION *wt_conn, const char *config)
WT_ERR(__conn_statistics_config(session, config_cfg));
WT_ERR(__wt_async_reconfig(session, config_cfg));
- WT_ERR(__wt_cache_config(session, config_cfg));
- WT_ERR(__wt_cache_pool_config(session, config_cfg));
+ WT_ERR(__wt_cache_config(session, 1, config_cfg));
WT_ERR(__wt_checkpoint_server_create(session, config_cfg));
WT_ERR(__wt_lsm_manager_reconfig(session, config_cfg));
WT_ERR(__wt_statlog_create(session, config_cfg));
diff --git a/src/third_party/wiredtiger/src/conn/conn_cache.c b/src/third_party/wiredtiger/src/conn/conn_cache.c
index c513d46137c..4a7e15044de 100644
--- a/src/third_party/wiredtiger/src/conn/conn_cache.c
+++ b/src/third_party/wiredtiger/src/conn/conn_cache.c
@@ -9,33 +9,28 @@
#include "wt_internal.h"
/*
- * __wt_cache_config --
+ * __cache_config_local --
* Configure the underlying cache.
*/
-int
-__wt_cache_config(WT_SESSION_IMPL *session, const char *cfg[])
+static int
+__cache_config_local(WT_SESSION_IMPL *session, int shared, const char *cfg[])
{
WT_CACHE *cache;
WT_CONFIG_ITEM cval;
WT_CONNECTION_IMPL *conn;
+ uint32_t evict_workers_max, evict_workers_min;
conn = S2C(session);
cache = conn->cache;
/*
* If not using a shared cache configure the cache size, otherwise
- * check for a reserved size.
+ * check for a reserved size. All other settings are independent of
+ * whether we are using a shared cache or not.
*/
- if (!F_ISSET(conn, WT_CONN_CACHE_POOL)) {
+ if (!shared) {
WT_RET(__wt_config_gets(session, cfg, "cache_size", &cval));
conn->cache_size = (uint64_t)cval.val;
- } else {
- WT_RET(__wt_config_gets(
- session, cfg, "shared_cache.reserve", &cval));
- if (cval.val == 0)
- WT_RET(__wt_config_gets(
- session, cfg, "shared_cache.chunk", &cval));
- cache->cp_reserved = (uint64_t)cval.val;
}
WT_RET(__wt_config_gets(session, cfg, "cache_overhead", &cval));
@@ -57,16 +52,64 @@ __wt_cache_config(WT_SESSION_IMPL *session, const char *cfg[])
*/
WT_RET(__wt_config_gets(session, cfg, "eviction.threads_max", &cval));
WT_ASSERT(session, cval.val > 0);
- conn->evict_workers_max = (u_int)cval.val - 1;
+ evict_workers_max = (uint32_t)cval.val - 1;
WT_RET(__wt_config_gets(session, cfg, "eviction.threads_min", &cval));
WT_ASSERT(session, cval.val > 0);
- conn->evict_workers_min = (u_int)cval.val - 1;
+ evict_workers_min = (uint32_t)cval.val - 1;
- if (conn->evict_workers_min > conn->evict_workers_max)
+ if (evict_workers_min > evict_workers_max)
WT_RET_MSG(session, EINVAL,
"eviction=(threads_min) cannot be greater than "
"eviction=(threads_max)");
+ conn->evict_workers_max = evict_workers_max;
+ conn->evict_workers_min = evict_workers_min;
+
+ return (0);
+}
+
+/*
+ * __wt_cache_config --
+ * Configure or reconfigure the current cache and shared cache.
+ */
+int
+__wt_cache_config(WT_SESSION_IMPL *session, int reconfigure, const char *cfg[])
+{
+ WT_CONFIG_ITEM cval;
+ WT_CONNECTION_IMPL *conn;
+ int now_shared, was_shared;
+
+ conn = S2C(session);
+
+ WT_ASSERT(session, conn->cache != NULL);
+
+ WT_RET(__wt_config_gets_none(session, cfg, "shared_cache.name", &cval));
+ now_shared = cval.len != 0;
+ was_shared = F_ISSET(conn, WT_CONN_CACHE_POOL);
+
+ /* Cleanup if reconfiguring */
+ if (reconfigure && was_shared && !now_shared)
+ /* Remove ourselves from the pool if necessary */
+ WT_RET(__wt_conn_cache_pool_destroy(session));
+ else if (reconfigure && !was_shared && now_shared)
+ /*
+ * Cache size will now be managed by the cache pool - the
+ * start size always needs to be zero to allow the pool to
+ * manage how much memory is in-use.
+ */
+ conn->cache_size = 0;
+
+ /*
+ * Always setup the local cache - it's used even if we are
+ * participating in a shared cache.
+ */
+ WT_RET(__cache_config_local(session, now_shared, cfg));
+ if (now_shared) {
+ WT_RET(__wt_cache_pool_config(session, cfg));
+ WT_ASSERT(session, F_ISSET(conn, WT_CONN_CACHE_POOL));
+ if (!was_shared)
+ WT_RET(__wt_conn_cache_pool_open(session));
+ }
return (0);
}
@@ -84,19 +127,14 @@ __wt_cache_create(WT_SESSION_IMPL *session, const char *cfg[])
conn = S2C(session);
- WT_ASSERT(session, conn->cache == NULL ||
- (F_ISSET(conn, WT_CONN_CACHE_POOL) && conn->cache != NULL));
+ WT_ASSERT(session, conn->cache == NULL);
WT_RET(__wt_calloc_one(session, &conn->cache));
cache = conn->cache;
/* Use a common routine for run-time configuration options. */
- WT_RET(__wt_cache_config(session, cfg));
-
- /* Add the configured cache to the cache pool. */
- if (F_ISSET(conn, WT_CONN_CACHE_POOL))
- WT_RET(__wt_conn_cache_pool_open(session));
+ WT_RET(__wt_cache_config(session, 0, cfg));
/*
* The target size must be lower than the trigger size or we will never
diff --git a/src/third_party/wiredtiger/src/conn/conn_cache_pool.c b/src/third_party/wiredtiger/src/conn/conn_cache_pool.c
index f5b78e33b04..7bf090496a8 100644
--- a/src/third_party/wiredtiger/src/conn/conn_cache_pool.c
+++ b/src/third_party/wiredtiger/src/conn/conn_cache_pool.c
@@ -36,17 +36,17 @@ __wt_cache_pool_config(WT_SESSION_IMPL *session, const char **cfg)
WT_CONNECTION_IMPL *conn, *entry;
WT_DECL_RET;
char *pool_name;
- int created, reconfiguring;
+ int created, updating;
uint64_t chunk, reserve, size, used_cache;
conn = S2C(session);
- created = reconfiguring = 0;
+ created = updating = 0;
pool_name = NULL;
cp = NULL;
size = 0;
if (F_ISSET(conn, WT_CONN_CACHE_POOL))
- reconfiguring = 1;
+ updating = 1;
else {
WT_RET(__wt_config_gets_none(
session, cfg, "shared_cache.name", &cval));
@@ -81,7 +81,7 @@ __wt_cache_pool_config(WT_SESSION_IMPL *session, const char **cfg)
__wt_spin_lock(session, &__wt_process.spinlock);
if (__wt_process.cache_pool == NULL) {
- WT_ASSERT(session, !reconfiguring);
+ WT_ASSERT(session, !updating);
/* Create a cache pool. */
WT_ERR(__wt_calloc_one(session, &cp));
created = 1;
@@ -96,7 +96,7 @@ __wt_cache_pool_config(WT_SESSION_IMPL *session, const char **cfg)
__wt_process.cache_pool = cp;
WT_ERR(__wt_verbose(session,
WT_VERB_SHARED_CACHE, "Created cache pool %s", cp->name));
- } else if (!reconfiguring && !WT_STRING_MATCH(
+ } else if (!updating && !WT_STRING_MATCH(
__wt_process.cache_pool->name, pool_name, strlen(pool_name)))
/* Only a single cache pool is supported. */
WT_ERR_MSG(session, WT_ERROR,
@@ -109,7 +109,7 @@ __wt_cache_pool_config(WT_SESSION_IMPL *session, const char **cfg)
* The cache pool requires a reference count to avoid a race between
* configuration/open and destroy.
*/
- if (!reconfiguring)
+ if (!updating)
++cp->refs;
/*
@@ -157,7 +157,7 @@ __wt_cache_pool_config(WT_SESSION_IMPL *session, const char **cfg)
if (__wt_config_gets(session, &cfg[1],
"shared_cache.reserve", &cval) == 0 && cval.val != 0)
reserve = (uint64_t)cval.val;
- else if (reconfiguring)
+ else if (updating)
reserve = conn->cache->cp_reserved;
else
reserve = chunk;
@@ -171,18 +171,23 @@ __wt_cache_pool_config(WT_SESSION_IMPL *session, const char **cfg)
TAILQ_FOREACH(entry, &cp->cache_pool_qh, cpq)
used_cache += entry->cache->cp_reserved;
}
+ /* Ignore our old allocation if reconfiguring */
+ if (updating)
+ used_cache -= conn->cache->cp_reserved;
if (used_cache + reserve > size)
WT_ERR_MSG(session, EINVAL,
"Shared cache unable to accommodate this configuration. "
- "Shared cache size: %" PRIu64 ", reserved: %" PRIu64,
+ "Shared cache size: %" PRIu64 ", requested min: %" PRIu64,
size, used_cache + reserve);
/* The configuration is verified - it's safe to update the pool. */
cp->size = size;
cp->chunk = chunk;
+ conn->cache->cp_reserved = reserve;
+
/* Wake up the cache pool server so any changes are noticed. */
- if (reconfiguring)
+ if (updating)
WT_ERR(__wt_cond_signal(
session, __wt_process.cache_pool->cache_pool_cond));
@@ -192,7 +197,7 @@ __wt_cache_pool_config(WT_SESSION_IMPL *session, const char **cfg)
F_SET(conn, WT_CONN_CACHE_POOL);
err: __wt_spin_unlock(session, &__wt_process.spinlock);
- if (!reconfiguring)
+ if (!updating)
__wt_free(session, pool_name);
if (ret != 0 && created) {
__wt_free(session, cp->name);
diff --git a/src/third_party/wiredtiger/src/conn/conn_dhandle.c b/src/third_party/wiredtiger/src/conn/conn_dhandle.c
index a5512352f2c..7756158594c 100644
--- a/src/third_party/wiredtiger/src/conn/conn_dhandle.c
+++ b/src/third_party/wiredtiger/src/conn/conn_dhandle.c
@@ -375,6 +375,8 @@ __conn_btree_open(
F_ISSET(dhandle, WT_DHANDLE_EXCLUSIVE) &&
!LF_ISSET(WT_DHANDLE_LOCK_ONLY));
+ WT_ASSERT(session, !F_ISSET(S2C(session), WT_CONN_CLOSING));
+
/*
* If the handle is already open, it has to be closed so it can be
* reopened with a new configuration. We don't need to check again:
@@ -539,6 +541,48 @@ __wt_conn_btree_apply(WT_SESSION_IMPL *session,
}
/*
+ * __wt_conn_btree_apply_single_ckpt --
+ * Decode any checkpoint information from the configuration string then
+ * call btree apply single.
+ */
+int
+__wt_conn_btree_apply_single_ckpt(WT_SESSION_IMPL *session,
+ const char *uri,
+ int (*func)(WT_SESSION_IMPL *, const char *[]), const char *cfg[])
+{
+ WT_CONFIG_ITEM cval;
+ WT_DECL_RET;
+ const char *checkpoint;
+
+ checkpoint = NULL;
+
+ /*
+ * This function exists to handle checkpoint configuration. Callers
+ * that never open a checkpoint call the underlying function directly.
+ */
+ WT_RET_NOTFOUND_OK(
+ __wt_config_gets_def(session, cfg, "checkpoint", 0, &cval));
+ if (cval.len != 0) {
+ /*
+ * The internal checkpoint name is special, find the last
+ * unnamed checkpoint of the object.
+ */
+ if (WT_STRING_MATCH(WT_CHECKPOINT, cval.str, cval.len)) {
+ WT_RET(__wt_meta_checkpoint_last_name(
+ session, uri, &checkpoint));
+ } else
+ WT_RET(__wt_strndup(
+ session, cval.str, cval.len, &checkpoint));
+ }
+
+ ret = __wt_conn_btree_apply_single(session, uri, checkpoint, func, cfg);
+
+ __wt_free(session, checkpoint);
+
+ return (ret);
+}
+
+/*
* __wt_conn_btree_apply_single --
* Apply a function to a single btree handle that couldn't be locked
* (attempting to get the handle returned EBUSY).
@@ -580,10 +624,10 @@ __wt_conn_btree_apply_single(WT_SESSION_IMPL *session,
ret = func(session, cfg));
}
__wt_spin_unlock(session, &dhandle->close_lock);
- WT_ERR(ret);
+ WT_RET(ret);
}
-err: return (ret);
+ return (0);
}
/*
@@ -683,20 +727,25 @@ __wt_conn_dhandle_discard_single(WT_SESSION_IMPL *session, int final)
{
WT_DATA_HANDLE *dhandle;
WT_DECL_RET;
+ int tret;
dhandle = session->dhandle;
if (F_ISSET(dhandle, WT_DHANDLE_OPEN)) {
- ret = __wt_conn_btree_sync_and_close(session, 0);
- if (!final)
- WT_RET(ret);
+ tret = __wt_conn_btree_sync_and_close(session, 0);
+ if (final && tret != 0) {
+ __wt_err(session, tret,
+ "Final close of %s failed", dhandle->name);
+ WT_TRET(tret);
+ } else if (!final)
+ WT_RET(tret);
}
/*
* Kludge: interrupt the eviction server in case it is holding the
* handle list lock.
*/
- F_SET(S2C(session)->cache, WT_EVICT_CLEAR_WALKS);
+ F_SET(S2C(session)->cache, WT_CACHE_CLEAR_WALKS);
/* Try to remove the handle, protected by the data handle lock. */
WT_WITH_DHANDLE_LOCK(session,
diff --git a/src/third_party/wiredtiger/src/conn/conn_log.c b/src/third_party/wiredtiger/src/conn/conn_log.c
index 36d4d539d92..315e93c1875 100644
--- a/src/third_party/wiredtiger/src/conn/conn_log.c
+++ b/src/third_party/wiredtiger/src/conn/conn_log.c
@@ -347,6 +347,124 @@ err: __wt_err(session, ret, "log close server error");
}
/*
+ * Simple structure for sorting written slots.
+ */
+typedef struct {
+ WT_LSN lsn;
+ uint32_t slot_index;
+} WT_LOG_WRLSN_ENTRY;
+
+/*
+ * __log_wrlsn_cmp --
+ * The log wrlsn comparison function for qsort.
+ */
+static int
+__log_wrlsn_cmp(const void *a, const void *b)
+{
+ WT_LOG_WRLSN_ENTRY *ae, *be;
+
+ ae = (WT_LOG_WRLSN_ENTRY *)a;
+ be = (WT_LOG_WRLSN_ENTRY *)b;
+ return (LOG_CMP(&ae->lsn, &be->lsn));
+}
+
+/*
+ * __log_wrlsn_server --
+ * The log wrlsn server thread.
+ */
+static void *
+__log_wrlsn_server(void *arg)
+{
+ WT_CONNECTION_IMPL *conn;
+ WT_DECL_RET;
+ WT_LOG *log;
+ WT_LOG_WRLSN_ENTRY written[SLOT_POOL];
+ WT_LOGSLOT *slot;
+ WT_SESSION_IMPL *session;
+ size_t written_i;
+ uint32_t i, save_i;
+ int yield;
+
+ session = arg;
+ conn = S2C(session);
+ log = conn->log;
+ yield = 0;
+ while (F_ISSET(conn, WT_CONN_LOG_SERVER_RUN)) {
+ /*
+ * No need to use the log_slot_lock because the slot pool
+ * is statically allocated and any slot in the
+ * WT_LOG_SLOT_WRITTEN state is exclusively ours for now.
+ */
+ i = 0;
+ written_i = 0;
+ /*
+ * Walk the array once saving any slots that are in the
+ * WT_LOG_SLOT_WRITTEN state.
+ */
+ while (i < SLOT_POOL) {
+ save_i = i;
+ slot = &log->slot_pool[i++];
+ if (slot->slot_state != WT_LOG_SLOT_WRITTEN)
+ continue;
+ written[written_i].slot_index = save_i;
+ written[written_i++].lsn = slot->slot_release_lsn;
+ }
+ /*
+ * If we found any written slots process them. We sort them
+ * based on the release LSN, and then look for them in order.
+ */
+ if (written_i > 0) {
+ yield = 0;
+ qsort(written, written_i, sizeof(WT_LOG_WRLSN_ENTRY),
+ __log_wrlsn_cmp);
+ /*
+ * We know the written array is sorted by LSN. Go
+ * through them either advancing write_lsn or stop
+ * as soon as one is not in order.
+ */
+ for (i = 0; i < written_i; i++) {
+ if (LOG_CMP(&log->write_lsn,
+ &written[i].lsn) != 0)
+ break;
+ /*
+ * If we get here we have a slot to process.
+ * Advance the LSN and process the slot.
+ */
+ slot = &log->slot_pool[written[i].slot_index];
+ WT_ASSERT(session, LOG_CMP(&written[i].lsn,
+ &slot->slot_release_lsn) == 0);
+ log->write_lsn = slot->slot_end_lsn;
+ WT_ERR(__wt_cond_signal(session,
+ log->log_write_cond));
+ WT_STAT_FAST_CONN_INCR(session, log_write_lsn);
+
+ /*
+ * Signal the close thread if needed.
+ */
+ if (F_ISSET(slot, SLOT_CLOSEFH))
+ WT_ERR(__wt_cond_signal(session,
+ conn->log_close_cond));
+ WT_ERR(__wt_log_slot_free(session, slot));
+ }
+ }
+ /*
+ * If we saw a later write, we always want to yield because
+ * we know something is in progress.
+ */
+ if (yield++ < 1000)
+ __wt_yield();
+ else
+ /* Wait until the next event. */
+ WT_ERR(__wt_cond_wait(session,
+ conn->log_wrlsn_cond, 100000));
+ }
+
+ if (0)
+err: __wt_err(session, ret, "log wrlsn server error");
+ return (NULL);
+}
+
+/*
* __log_server --
* The log server thread.
*/
@@ -479,12 +597,24 @@ __wt_logmgr_open(WT_SESSION_IMPL *session)
"log close server", 0, &conn->log_close_cond));
/*
- * Start the thread.
+ * Start the log file close thread.
*/
WT_RET(__wt_thread_create(conn->log_close_session,
&conn->log_close_tid, __log_close_server, conn->log_close_session));
conn->log_close_tid_set = 1;
+ /*
+ * Start the log write LSN thread. It is not configurable.
+ * If logging is enabled, this thread runs.
+ */
+ WT_RET(__wt_open_internal_session(
+ conn, "log-wrlsn-server", 0, 0, &conn->log_wrlsn_session));
+ WT_RET(__wt_cond_alloc(conn->log_wrlsn_session,
+ "log write lsn server", 0, &conn->log_wrlsn_cond));
+ WT_RET(__wt_thread_create(conn->log_wrlsn_session,
+ &conn->log_wrlsn_tid, __log_wrlsn_server, conn->log_wrlsn_session));
+ conn->log_wrlsn_tid_set = 1;
+
/* If no log thread services are configured, we're done. */
if (!FLD_ISSET(conn->log_flags,
(WT_CONN_LOG_ARCHIVE | WT_CONN_LOG_PREALLOC)))
@@ -557,6 +687,17 @@ __wt_logmgr_destroy(WT_SESSION_IMPL *session)
WT_TRET(wt_session->close(wt_session, NULL));
conn->log_close_session = NULL;
}
+ if (conn->log_wrlsn_tid_set) {
+ WT_TRET(__wt_cond_signal(session, conn->log_wrlsn_cond));
+ WT_TRET(__wt_thread_join(session, conn->log_wrlsn_tid));
+ conn->log_wrlsn_tid_set = 0;
+ }
+ WT_TRET(__wt_cond_destroy(session, &conn->log_wrlsn_cond));
+ if (conn->log_wrlsn_session != NULL) {
+ wt_session = &conn->log_wrlsn_session->iface;
+ WT_TRET(wt_session->close(wt_session, NULL));
+ conn->log_wrlsn_session = NULL;
+ }
WT_TRET(__wt_log_close(session));
diff --git a/src/third_party/wiredtiger/src/conn/conn_open.c b/src/third_party/wiredtiger/src/conn/conn_open.c
index d4f6cf4869c..0a3d35ac0b1 100644
--- a/src/third_party/wiredtiger/src/conn/conn_open.c
+++ b/src/third_party/wiredtiger/src/conn/conn_open.c
@@ -55,9 +55,6 @@ __wt_connection_open(WT_CONNECTION_IMPL *conn, const char *cfg[])
*/
WT_WRITE_BARRIER();
- /* Connect to a cache pool. */
- WT_RET(__wt_cache_pool_config(session, cfg));
-
/* Create the cache. */
WT_RET(__wt_cache_create(session, cfg));
@@ -113,6 +110,9 @@ __wt_connection_close(WT_CONNECTION_IMPL *conn)
F_CLR(conn, WT_CONN_SERVER_RUN);
WT_TRET(__wt_async_destroy(session));
WT_TRET(__wt_lsm_manager_destroy(session));
+
+ F_SET(conn, WT_CONN_CLOSING);
+
WT_TRET(__wt_checkpoint_server_destroy(session));
WT_TRET(__wt_statlog_destroy(session, 1));
WT_TRET(__wt_sweep_destroy(session));
diff --git a/src/third_party/wiredtiger/src/conn/conn_stat.c b/src/third_party/wiredtiger/src/conn/conn_stat.c
index 67814dc330b..c38e0ef125f 100644
--- a/src/third_party/wiredtiger/src/conn/conn_stat.c
+++ b/src/third_party/wiredtiger/src/conn/conn_stat.c
@@ -205,7 +205,7 @@ __statlog_apply(WT_SESSION_IMPL *session, const char *cfg[])
if (WT_PREFIX_MATCH(dhandle->name, *p)) {
WT_WITHOUT_DHANDLE(session,
ret = __statlog_dump(session, dhandle->name, 0));
- WT_RET(ret);
+ return (ret);
}
return (0);
}
diff --git a/src/third_party/wiredtiger/src/cursor/cur_index.c b/src/third_party/wiredtiger/src/cursor/cur_index.c
index abc6a106cc9..bf086bcc813 100644
--- a/src/third_party/wiredtiger/src/cursor/cur_index.c
+++ b/src/third_party/wiredtiger/src/cursor/cur_index.c
@@ -26,7 +26,7 @@ __curindex_get_value(WT_CURSOR *cursor, ...)
WT_CURSOR_NEEDVALUE(cursor);
va_start(ap, cursor);
- if (F_ISSET(cursor, WT_CURSTD_RAW)) {
+ if (F_ISSET(cursor, WT_CURSOR_RAW_OK)) {
ret = __wt_schema_project_merge(session,
cindex->cg_cursors, cindex->value_plan,
cursor->value_format, &cursor->value);
diff --git a/src/third_party/wiredtiger/src/cursor/cur_stat.c b/src/third_party/wiredtiger/src/cursor/cur_stat.c
index bebce217a6a..74b998876c2 100644
--- a/src/third_party/wiredtiger/src/cursor/cur_stat.c
+++ b/src/third_party/wiredtiger/src/cursor/cur_stat.c
@@ -354,7 +354,6 @@ __curstat_file_init(WT_SESSION_IMPL *session,
/* Release the handle, we're done with it. */
WT_TRET(__wt_session_release_btree(session));
- WT_RET(ret);
return (ret);
}
diff --git a/src/third_party/wiredtiger/src/evict/evict_file.c b/src/third_party/wiredtiger/src/evict/evict_file.c
index 9e39fcc7a2c..1030c0aa818 100644
--- a/src/third_party/wiredtiger/src/evict/evict_file.c
+++ b/src/third_party/wiredtiger/src/evict/evict_file.c
@@ -72,6 +72,17 @@ __wt_evict_file(WT_SESSION_IMPL *session, int syncop)
WT_READ_CACHE | WT_READ_NO_EVICT));
switch (syncop) {
+ case WT_SYNC_DISCARD:
+ /*
+ * Check that the page is clean: if we see a dirty page
+ * (including a dirty parent page after evicting a
+ * child), give up. The higher level can try to
+ * checkpoint, but during discard we aren't set up to
+ * manage checkpoints.
+ */
+ if (__wt_page_is_modified(page))
+ WT_ERR(EBUSY);
+ /* FALLTHROUGH */
case WT_SYNC_CLOSE:
/*
* Evict the page.
@@ -84,29 +95,6 @@ __wt_evict_file(WT_SESSION_IMPL *session, int syncop)
!F_ISSET(page->modify, WT_PM_REC_EMPTY))
WT_ERR(__wt_evict(session, ref, 1));
break;
- case WT_SYNC_DISCARD:
- /*
- * Ordinary discard of the page, whether clean or dirty.
- * If we see a dirty page in an ordinary discard (e.g.,
- * from sweep), give up: an update must have happened
- * since the file was selected for sweeping.
- */
- if (__wt_page_is_modified(page))
- WT_ERR(EBUSY);
-
- /*
- * If the page contains an update that is too recent to
- * evict, stop. This should never happen during
- * connection close, but in other paths our caller
- * should be prepared to deal with this case.
- */
- if (page->modify != NULL &&
- !__wt_txn_visible_all(session,
- page->modify->rec_max_txn))
- WT_ERR(EBUSY);
-
- __wt_evict_page_clean_update(session, ref);
- break;
case WT_SYNC_DISCARD_FORCE:
/*
* Forced discard of the page, whether clean or dirty.
diff --git a/src/third_party/wiredtiger/src/evict/evict_lru.c b/src/third_party/wiredtiger/src/evict/evict_lru.c
index e3d8ea6a4e0..640c9b0541d 100644
--- a/src/third_party/wiredtiger/src/evict/evict_lru.c
+++ b/src/third_party/wiredtiger/src/evict/evict_lru.c
@@ -194,6 +194,17 @@ __evict_server(void *arg)
ret = 0;
}
}
+ /*
+ * Clear the walks so we don't pin pages while asleep,
+ * otherwise we can block applications evicting large pages.
+ */
+ if (!F_ISSET(cache, WT_CACHE_STUCK)) {
+ WT_ERR(__evict_clear_walks(session));
+
+ /* Next time we wake up, reverse the sweep direction. */
+ cache->flags ^= WT_CACHE_WALK_REVERSE;
+ }
+
WT_ERR(__wt_verbose(session, WT_VERB_EVICTSERVER, "sleeping"));
/* Don't rely on signals: check periodically. */
WT_ERR(__wt_cond_wait(session, cache->evict_cond, 100000));
@@ -237,7 +248,7 @@ __evict_workers_resize(WT_SESSION_IMPL *session)
WT_DECL_RET;
WT_EVICT_WORKER *workers;
size_t alloc;
- u_int i;
+ uint32_t i;
conn = S2C(session);
@@ -321,7 +332,7 @@ __wt_evict_destroy(WT_SESSION_IMPL *session)
WT_DECL_RET;
WT_EVICT_WORKER *workers;
WT_SESSION *wt_session;
- u_int i;
+ uint32_t i;
conn = S2C(session);
cache = conn->cache;
@@ -432,17 +443,17 @@ __evict_has_work(WT_SESSION_IMPL *session, uint32_t *flagsp)
(cache->eviction_dirty_target * bytes_max) / 100)
/* Ignore clean pages unless the cache is too large */
LF_SET(WT_EVICT_PASS_DIRTY);
- else if (F_ISSET(cache, WT_EVICT_WOULD_BLOCK)) {
+ else if (F_ISSET(cache, WT_CACHE_WOULD_BLOCK)) {
/*
* Evict pages with oldest generation (which would otherwise
* block application threads) set regardless of whether we have
* reached the eviction trigger.
*/
LF_SET(WT_EVICT_PASS_WOULD_BLOCK);
- F_CLR(cache, WT_EVICT_WOULD_BLOCK);
+ F_CLR(cache, WT_CACHE_WOULD_BLOCK);
}
- if (F_ISSET(cache, WT_EVICT_STUCK))
+ if (F_ISSET(cache, WT_CACHE_STUCK))
LF_SET(WT_EVICT_PASS_AGGRESSIVE);
*flagsp = flags;
@@ -475,8 +486,8 @@ __evict_pass(WT_SESSION_IMPL *session)
* If there is a request to clear eviction walks, do that now,
* before checking if the cache is full.
*/
- if (F_ISSET(cache, WT_EVICT_CLEAR_WALKS)) {
- F_CLR(cache, WT_EVICT_CLEAR_WALKS);
+ if (F_ISSET(cache, WT_CACHE_CLEAR_WALKS)) {
+ F_CLR(cache, WT_CACHE_CLEAR_WALKS);
WT_RET(__evict_clear_walks(session));
WT_RET(__wt_cond_signal(
session, cache->evict_waiter_cond));
@@ -493,7 +504,8 @@ __evict_pass(WT_SESSION_IMPL *session)
* Start a worker if we have capacity and we haven't reached
* the eviction targets.
*/
- if (LF_ISSET(WT_EVICT_PASS_ALL | WT_EVICT_PASS_DIRTY) &&
+ if (LF_ISSET(WT_EVICT_PASS_ALL |
+ WT_EVICT_PASS_DIRTY | WT_EVICT_PASS_WOULD_BLOCK) &&
conn->evict_workers < conn->evict_workers_max) {
WT_RET(__wt_verbose(session, WT_VERB_EVICTSERVER,
"Starting evict worker: %"PRIu32"\n",
@@ -527,10 +539,8 @@ __evict_pass(WT_SESSION_IMPL *session)
* handles.
*/
__wt_sleep(0, 1000 * (long)loop);
- if (F_ISSET(cache, WT_EVICT_STUCK))
- break;
if (loop == 100) {
- F_SET(cache, WT_EVICT_STUCK);
+ F_SET(cache, WT_CACHE_STUCK);
WT_STAT_FAST_CONN_INCR(
session, cache_eviction_slow);
WT_RET(__wt_verbose(
@@ -605,7 +615,7 @@ __evict_tree_walk_clear(WT_SESSION_IMPL *session)
F_SET(session, WT_SESSION_CLEAR_EVICT_WALK);
while (btree->evict_ref != NULL && ret == 0) {
- F_SET(cache, WT_EVICT_CLEAR_WALKS);
+ F_SET(cache, WT_CACHE_CLEAR_WALKS);
ret = __wt_cond_wait(
session, cache->evict_waiter_cond, 100000);
}
@@ -792,21 +802,29 @@ __evict_lru_walk(WT_SESSION_IMPL *session, uint32_t flags)
WT_ASSERT(session, cache->evict[0].ref != NULL);
- /* Find the bottom 25% of read generations. */
- cutoff = (3 * __evict_read_gen(&cache->evict[0]) +
- __evict_read_gen(&cache->evict[entries - 1])) / 4;
-
- /*
- * Don't take less than 10% or more than 50% of entries, regardless.
- * That said, if there is only one entry, which is normal when
- * populating an empty file, don't exclude it.
- */
- for (candidates = 1 + entries / 10;
- candidates < entries / 2;
- candidates++)
- if (__evict_read_gen(&cache->evict[candidates]) > cutoff)
- break;
- cache->evict_candidates = candidates;
+ if (LF_ISSET(WT_EVICT_PASS_AGGRESSIVE | WT_EVICT_PASS_WOULD_BLOCK))
+ /*
+ * Take all candidates if we only gathered pages with an oldest
+ * read generation set.
+ */
+ cache->evict_candidates = entries;
+ else {
+ /* Find the bottom 25% of read generations. */
+ cutoff = (3 * __evict_read_gen(&cache->evict[0]) +
+ __evict_read_gen(&cache->evict[entries - 1])) / 4;
+ /*
+ * Don't take less than 10% or more than 50% of entries,
+ * regardless. That said, if there is only one entry, which is
+ * normal when populating an empty file, don't exclude it.
+ */
+ for (candidates = 1 + entries / 10;
+ candidates < entries / 2;
+ candidates++)
+ if (__evict_read_gen(
+ &cache->evict[candidates]) > cutoff)
+ break;
+ cache->evict_candidates = candidates;
+ }
/* If we have more than the minimum number of entries, clear them. */
if (cache->evict_entries > WT_EVICT_WALK_BASE) {
@@ -907,7 +925,7 @@ retry: while (slot < max_entries && ret == 0) {
* If another thread is waiting on the eviction server to clear
* the walk point in a tree, give up.
*/
- if (F_ISSET(cache, WT_EVICT_CLEAR_WALKS))
+ if (F_ISSET(cache, WT_CACHE_CLEAR_WALKS))
break;
/*
@@ -917,7 +935,7 @@ retry: while (slot < max_entries && ret == 0) {
if (!dhandle_locked) {
for (spins = 0; (ret = __wt_spin_trylock(
session, &conn->dhandle_lock, &id)) == EBUSY &&
- !F_ISSET(cache, WT_EVICT_CLEAR_WALKS);
+ !F_ISSET(cache, WT_CACHE_CLEAR_WALKS);
spins++) {
if (spins < 1000)
__wt_yield();
@@ -1029,7 +1047,7 @@ retry: while (slot < max_entries && ret == 0) {
* candidates and we aren't finding more. Take care not to skip files
* on subsequent passes.
*/
- if (!F_ISSET(cache, WT_EVICT_CLEAR_WALKS) && ret == 0 &&
+ if (!F_ISSET(cache, WT_CACHE_CLEAR_WALKS) && ret == 0 &&
slot < max_entries && (retries < 2 ||
(!LF_ISSET(WT_EVICT_PASS_WOULD_BLOCK) && retries < 10 &&
(slot == cache->evict_entries || slot > start_slot)))) {
@@ -1096,8 +1114,11 @@ __evict_walk_file(WT_SESSION_IMPL *session, u_int *slotp, uint32_t flags)
cache->evict + cache->evict_slots);
enough = internal_pages = restarts = 0;
- walk_flags =
- WT_READ_CACHE | WT_READ_NO_EVICT | WT_READ_NO_GEN | WT_READ_NO_WAIT;
+ walk_flags = WT_READ_CACHE | WT_READ_NO_EVICT |
+ WT_READ_NO_GEN | WT_READ_NO_WAIT;
+
+ if (F_ISSET(cache, WT_CACHE_WALK_REVERSE))
+ walk_flags |= WT_READ_PREV;
/*
* Get some more eviction candidate pages.
@@ -1181,7 +1202,7 @@ fast: /* If the page can't be evicted, give up. */
*/
mod = page->modify;
if (!modified && mod != NULL && !LF_ISSET(
- WT_EVICT_PASS_AGGRESSIVE | WT_EVICT_WOULD_BLOCK) &&
+ WT_EVICT_PASS_AGGRESSIVE | WT_EVICT_PASS_WOULD_BLOCK) &&
!__wt_txn_visible_all(session, mod->rec_max_txn))
continue;
@@ -1355,8 +1376,8 @@ __wt_evict_lru_page(WT_SESSION_IMPL *session, int is_server)
WT_RET(ret);
cache = S2C(session)->cache;
- if (F_ISSET(cache, WT_EVICT_STUCK))
- F_CLR(cache, WT_EVICT_STUCK);
+ if (F_ISSET(cache, WT_CACHE_STUCK))
+ F_CLR(cache, WT_CACHE_STUCK);
return (ret);
}
@@ -1400,9 +1421,9 @@ __wt_cache_wait(WT_SESSION_IMPL *session, int full)
* abort the transaction to give up all hazard pointers before
* trying again.
*/
- if (F_ISSET(cache, WT_EVICT_STUCK) &&
+ if (F_ISSET(cache, WT_CACHE_STUCK) &&
__wt_txn_am_oldest(session)) {
- F_CLR(cache, WT_EVICT_STUCK);
+ F_CLR(cache, WT_CACHE_STUCK);
WT_STAT_FAST_CONN_INCR(session, txn_fail_cache);
return (WT_ROLLBACK);
}
diff --git a/src/third_party/wiredtiger/src/evict/evict_page.c b/src/third_party/wiredtiger/src/evict/evict_page.c
index 9ba1af897a4..892d5b4ac60 100644
--- a/src/third_party/wiredtiger/src/evict/evict_page.c
+++ b/src/third_party/wiredtiger/src/evict/evict_page.c
@@ -130,8 +130,8 @@ done: session->excl_next = 0;
txn_state->snap_min = WT_TXN_NONE;
if ((inmem_split || (forced_eviction && ret == EBUSY)) &&
- !F_ISSET(conn->cache, WT_EVICT_WOULD_BLOCK)) {
- F_SET(conn->cache, WT_EVICT_WOULD_BLOCK);
+ !F_ISSET(conn->cache, WT_CACHE_WOULD_BLOCK)) {
+ F_SET(conn->cache, WT_CACHE_WOULD_BLOCK);
WT_TRET(__wt_evict_server_wake(session));
}
diff --git a/src/third_party/wiredtiger/src/include/btmem.h b/src/third_party/wiredtiger/src/include/btmem.h
index 91d0d1eb654..101fd450fc7 100644
--- a/src/third_party/wiredtiger/src/include/btmem.h
+++ b/src/third_party/wiredtiger/src/include/btmem.h
@@ -442,8 +442,6 @@ struct __wt_page {
/* Row-store leaf page. */
struct {
- WT_ROW *d; /* Key/value pairs */
-
/*
* The column-store leaf page modification structures
* live in the WT_PAGE_MODIFY structure to keep the
@@ -457,6 +455,7 @@ struct __wt_page {
WT_INSERT_HEAD **ins; /* Inserts */
WT_UPDATE **upd; /* Updates */
+ WT_ROW *d; /* Key/value pairs */
uint32_t entries; /* Entries */
} row;
#undef pg_row_d
@@ -510,11 +509,31 @@ struct __wt_page {
#define pg_var_entries u.col_var.entries
} u;
- /* Page's on-disk representation: NULL for pages created in memory. */
- const WT_PAGE_HEADER *dsk;
+ /*
+ * The page's type and flags are positioned at the end of the WT_PAGE
+ * union, it reduces cache misses in the row-store search function.
+ */
+#define WT_PAGE_IS_INTERNAL(page) \
+ ((page)->type == WT_PAGE_COL_INT || (page)->type == WT_PAGE_ROW_INT)
+#define WT_PAGE_INVALID 0 /* Invalid page */
+#define WT_PAGE_BLOCK_MANAGER 1 /* Block-manager page */
+#define WT_PAGE_COL_FIX 2 /* Col-store fixed-len leaf */
+#define WT_PAGE_COL_INT 3 /* Col-store internal page */
+#define WT_PAGE_COL_VAR 4 /* Col-store var-length leaf page */
+#define WT_PAGE_OVFL 5 /* Overflow page */
+#define WT_PAGE_ROW_INT 6 /* Row-store internal page */
+#define WT_PAGE_ROW_LEAF 7 /* Row-store leaf page */
+ uint8_t type; /* Page type */
- /* If/when the page is modified, we need lots more information. */
- WT_PAGE_MODIFY *modify;
+#define WT_PAGE_BUILD_KEYS 0x01 /* Keys have been built in memory */
+#define WT_PAGE_DISK_ALLOC 0x02 /* Disk image in allocated memory */
+#define WT_PAGE_DISK_MAPPED 0x04 /* Disk image in mapped memory */
+#define WT_PAGE_EVICT_LRU 0x08 /* Page is on the LRU queue */
+#define WT_PAGE_REFUSE_DEEPEN 0x10 /* Don't deepen the tree at this page */
+#define WT_PAGE_SCANNING 0x20 /* Obsolete updates are being scanned */
+#define WT_PAGE_SPLIT_INSERT 0x40 /* A leaf page was split for append */
+#define WT_PAGE_SPLITTING 0x80 /* An internal page is growing */
+ uint8_t flags_atomic; /* Atomic flags, use F_*_ATOMIC */
/*
* The page's read generation acts as an LRU value for each page in the
@@ -539,27 +558,11 @@ struct __wt_page {
size_t memory_footprint; /* Memory attached to the page */
-#define WT_PAGE_IS_INTERNAL(page) \
- ((page)->type == WT_PAGE_COL_INT || (page)->type == WT_PAGE_ROW_INT)
-#define WT_PAGE_INVALID 0 /* Invalid page */
-#define WT_PAGE_BLOCK_MANAGER 1 /* Block-manager page */
-#define WT_PAGE_COL_FIX 2 /* Col-store fixed-len leaf */
-#define WT_PAGE_COL_INT 3 /* Col-store internal page */
-#define WT_PAGE_COL_VAR 4 /* Col-store var-length leaf page */
-#define WT_PAGE_OVFL 5 /* Overflow page */
-#define WT_PAGE_ROW_INT 6 /* Row-store internal page */
-#define WT_PAGE_ROW_LEAF 7 /* Row-store leaf page */
- uint8_t type; /* Page type */
+ /* Page's on-disk representation: NULL for pages created in memory. */
+ const WT_PAGE_HEADER *dsk;
-#define WT_PAGE_BUILD_KEYS 0x01 /* Keys have been built in memory */
-#define WT_PAGE_DISK_ALLOC 0x02 /* Disk image in allocated memory */
-#define WT_PAGE_DISK_MAPPED 0x04 /* Disk image in mapped memory */
-#define WT_PAGE_EVICT_LRU 0x08 /* Page is on the LRU queue */
-#define WT_PAGE_REFUSE_DEEPEN 0x10 /* Don't deepen the tree at this page */
-#define WT_PAGE_SCANNING 0x20 /* Obsolete updates are being scanned */
-#define WT_PAGE_SPLIT_INSERT 0x40 /* A leaf page was split for append */
-#define WT_PAGE_SPLITTING 0x80 /* An internal page is growing */
- uint8_t flags_atomic; /* Atomic flags, use F_*_ATOMIC */
+ /* If/when the page is modified, we need lots more information. */
+ WT_PAGE_MODIFY *modify;
};
/*
diff --git a/src/third_party/wiredtiger/src/include/btree.i b/src/third_party/wiredtiger/src/include/btree.i
index 032178b4755..56fb66abaef 100644
--- a/src/third_party/wiredtiger/src/include/btree.i
+++ b/src/third_party/wiredtiger/src/include/btree.i
@@ -404,7 +404,7 @@ __wt_page_modify_set(WT_SESSION_IMPL *session, WT_PAGE *page)
/*
* __wt_page_parent_modify_set --
- * Mark the parent page and tree dirty.
+ * Mark the parent page, and optionally the tree, dirty.
*/
static inline int
__wt_page_parent_modify_set(
@@ -957,6 +957,10 @@ __wt_page_can_evict(WT_SESSION_IMPL *session, WT_PAGE *page, int check_splits)
if (mod == NULL)
return (1);
+ /* Skip pages that are already being evicted. */
+ if (F_ISSET_ATOMIC(page, WT_PAGE_EVICT_LRU))
+ return (0);
+
/*
* If the tree was deepened, there's a requirement that newly created
* internal pages not be evicted until all threads are known to have
diff --git a/src/third_party/wiredtiger/src/include/cache.h b/src/third_party/wiredtiger/src/include/cache.h
index 84b18082a25..8ed3176492f 100644
--- a/src/third_party/wiredtiger/src/include/cache.h
+++ b/src/third_party/wiredtiger/src/include/cache.h
@@ -118,9 +118,10 @@ struct __wt_cache {
*/
#define WT_CACHE_POOL_MANAGER 0x01 /* The active cache pool manager */
#define WT_CACHE_POOL_RUN 0x02 /* Cache pool thread running */
-#define WT_EVICT_CLEAR_WALKS 0x04 /* Clear eviction walks */
-#define WT_EVICT_STUCK 0x08 /* Eviction server is stuck */
-#define WT_EVICT_WOULD_BLOCK 0x10 /* Pages that would block apps */
+#define WT_CACHE_CLEAR_WALKS 0x04 /* Clear eviction walks */
+#define WT_CACHE_STUCK 0x08 /* Eviction server is stuck */
+#define WT_CACHE_WALK_REVERSE 0x10 /* Scan backwards for candidates */
+#define WT_CACHE_WOULD_BLOCK 0x20 /* Pages that would block apps */
uint32_t flags;
};
diff --git a/src/third_party/wiredtiger/src/include/connection.h b/src/third_party/wiredtiger/src/include/connection.h
index 9cb42ae7c80..78b2949ab98 100644
--- a/src/third_party/wiredtiger/src/include/connection.h
+++ b/src/third_party/wiredtiger/src/include/connection.h
@@ -320,6 +320,10 @@ struct __wt_connection_impl {
WT_SESSION_IMPL *log_close_session;/* Log close thread session */
wt_thread_t log_close_tid; /* Log close thread thread */
int log_close_tid_set;/* Log close thread set */
+ WT_CONDVAR *log_wrlsn_cond;/* Log write lsn thread wait mutex */
+ WT_SESSION_IMPL *log_wrlsn_session;/* Log write lsn thread session */
+ wt_thread_t log_wrlsn_tid; /* Log write lsn thread thread */
+ int log_wrlsn_tid_set;/* Log write lsn thread set */
WT_LOG *log; /* Logging structure */
WT_COMPRESSOR *log_compressor;/* Logging compressor */
wt_off_t log_file_max; /* Log file max size */
diff --git a/src/third_party/wiredtiger/src/include/error.h b/src/third_party/wiredtiger/src/include/error.h
index b732776badf..efc1617fcd3 100644
--- a/src/third_party/wiredtiger/src/include/error.h
+++ b/src/third_party/wiredtiger/src/include/error.h
@@ -11,11 +11,11 @@
/* In DIAGNOSTIC mode, yield in places where we want to encourage races. */
#ifdef HAVE_DIAGNOSTIC
-#define WT_HAVE_DIAGNOSTIC_YIELD do { \
+#define WT_DIAGNOSTIC_YIELD do { \
__wt_yield(); \
} while (0)
#else
-#define WT_HAVE_DIAGNOSTIC_YIELD
+#define WT_DIAGNOSTIC_YIELD
#endif
/* Set "ret" and branch-to-err-label tests. */
diff --git a/src/third_party/wiredtiger/src/include/extern.h b/src/third_party/wiredtiger/src/include/extern.h
index 5d3ee5bc8f8..bddbb5e01eb 100644
--- a/src/third_party/wiredtiger/src/include/extern.h
+++ b/src/third_party/wiredtiger/src/include/extern.h
@@ -163,8 +163,9 @@ extern int __wt_col_search(WT_SESSION_IMPL *session, uint64_t recno, WT_REF *lea
extern int __wt_row_leaf_keys(WT_SESSION_IMPL *session, WT_PAGE *page);
extern int __wt_row_leaf_key_copy( WT_SESSION_IMPL *session, WT_PAGE *page, WT_ROW *rip, WT_ITEM *key);
extern int __wt_row_leaf_key_work(WT_SESSION_IMPL *session, WT_PAGE *page, WT_ROW *rip_arg, WT_ITEM *keyb, int instantiate);
-extern int __wt_row_ikey_incr(WT_SESSION_IMPL *session, WT_PAGE *page, uint32_t cell_offset, const void *key, size_t size, void *ikeyp);
-extern int __wt_row_ikey(WT_SESSION_IMPL *session, uint32_t cell_offset, const void *key, size_t size, void *ikeyp);
+extern int __wt_row_ikey_alloc(WT_SESSION_IMPL *session, uint32_t cell_offset, const void *key, size_t size, WT_IKEY **ikeyp);
+extern int __wt_row_ikey_incr(WT_SESSION_IMPL *session, WT_PAGE *page, uint32_t cell_offset, const void *key, size_t size, WT_REF *ref);
+extern int __wt_row_ikey(WT_SESSION_IMPL *session, uint32_t cell_offset, const void *key, size_t size, WT_REF *ref);
extern int __wt_page_modify_alloc(WT_SESSION_IMPL *session, WT_PAGE *page);
extern int __wt_row_modify(WT_SESSION_IMPL *session, WT_CURSOR_BTREE *cbt, WT_ITEM *key, WT_ITEM *value, WT_UPDATE *upd, int is_remove);
extern int __wt_row_insert_alloc(WT_SESSION_IMPL *session, WT_ITEM *key, u_int skipdepth, WT_INSERT **insp, size_t *ins_sizep);
@@ -206,7 +207,7 @@ extern int __wt_conn_remove_data_source(WT_SESSION_IMPL *session);
extern int __wt_extractor_config(WT_SESSION_IMPL *session, const char *config, WT_EXTRACTOR **extractorp, int *ownp);
extern int __wt_conn_remove_extractor(WT_SESSION_IMPL *session);
extern int __wt_verbose_config(WT_SESSION_IMPL *session, const char *cfg[]);
-extern int __wt_cache_config(WT_SESSION_IMPL *session, const char *cfg[]);
+extern int __wt_cache_config(WT_SESSION_IMPL *session, int reconfigure, const char *cfg[]);
extern int __wt_cache_create(WT_SESSION_IMPL *session, const char *cfg[]);
extern void __wt_cache_stats_update(WT_SESSION_IMPL *session);
extern int __wt_cache_destroy(WT_SESSION_IMPL *session);
@@ -221,6 +222,7 @@ extern int __wt_conn_dhandle_find(WT_SESSION_IMPL *session, const char *name, co
extern int __wt_conn_btree_sync_and_close(WT_SESSION_IMPL *session, int force);
extern int __wt_conn_btree_get(WT_SESSION_IMPL *session, const char *name, const char *ckpt, const char *cfg[], uint32_t flags);
extern int __wt_conn_btree_apply(WT_SESSION_IMPL *session, int apply_checkpoints, const char *uri, int (*func)(WT_SESSION_IMPL *, const char *[]), const char *cfg[]);
+extern int __wt_conn_btree_apply_single_ckpt(WT_SESSION_IMPL *session, const char *uri, int (*func)(WT_SESSION_IMPL *, const char *[]), const char *cfg[]);
extern int __wt_conn_btree_apply_single(WT_SESSION_IMPL *session, const char *uri, const char *checkpoint, int (*func)(WT_SESSION_IMPL *, const char *[]), const char *cfg[]);
extern int __wt_conn_dhandle_close_all( WT_SESSION_IMPL *session, const char *name, int force);
extern int __wt_conn_dhandle_discard_single(WT_SESSION_IMPL *session, int final);
@@ -349,7 +351,7 @@ extern int __wt_log_slot_close(WT_SESSION_IMPL *session, WT_LOGSLOT *slot);
extern int __wt_log_slot_notify(WT_SESSION_IMPL *session, WT_LOGSLOT *slot);
extern int __wt_log_slot_wait(WT_SESSION_IMPL *session, WT_LOGSLOT *slot);
extern int64_t __wt_log_slot_release(WT_LOGSLOT *slot, uint64_t size);
-extern int __wt_log_slot_free(WT_LOGSLOT *slot);
+extern int __wt_log_slot_free(WT_SESSION_IMPL *session, WT_LOGSLOT *slot);
extern int __wt_log_slot_grow_buffers(WT_SESSION_IMPL *session, size_t newsize);
extern int __wt_clsm_init_merge( WT_CURSOR *cursor, u_int start_chunk, uint32_t start_id, u_int nchunks);
extern int __wt_clsm_open(WT_SESSION_IMPL *session, const char *uri, WT_CURSOR *owner, const char *cfg[], WT_CURSOR **cursorp);
diff --git a/src/third_party/wiredtiger/src/include/flags.h b/src/third_party/wiredtiger/src/include/flags.h
index 9664fce3f9f..30b2ab1c0e3 100644
--- a/src/third_party/wiredtiger/src/include/flags.h
+++ b/src/third_party/wiredtiger/src/include/flags.h
@@ -4,18 +4,19 @@
*/
#define WT_CONN_CACHE_POOL 0x00000001
#define WT_CONN_CKPT_SYNC 0x00000002
-#define WT_CONN_EVICTION_RUN 0x00000004
-#define WT_CONN_LEAK_MEMORY 0x00000008
-#define WT_CONN_LOG_SERVER_RUN 0x00000010
-#define WT_CONN_LSM_MERGE 0x00000020
-#define WT_CONN_PANIC 0x00000040
-#define WT_CONN_SERVER_ASYNC 0x00000080
-#define WT_CONN_SERVER_CHECKPOINT 0x00000100
-#define WT_CONN_SERVER_LSM 0x00000200
-#define WT_CONN_SERVER_RUN 0x00000400
-#define WT_CONN_SERVER_STATISTICS 0x00000800
-#define WT_CONN_SERVER_SWEEP 0x00001000
-#define WT_CONN_WAS_BACKUP 0x00002000
+#define WT_CONN_CLOSING 0x00000004
+#define WT_CONN_EVICTION_RUN 0x00000008
+#define WT_CONN_LEAK_MEMORY 0x00000010
+#define WT_CONN_LOG_SERVER_RUN 0x00000020
+#define WT_CONN_LSM_MERGE 0x00000040
+#define WT_CONN_PANIC 0x00000080
+#define WT_CONN_SERVER_ASYNC 0x00000100
+#define WT_CONN_SERVER_CHECKPOINT 0x00000200
+#define WT_CONN_SERVER_LSM 0x00000400
+#define WT_CONN_SERVER_RUN 0x00000800
+#define WT_CONN_SERVER_STATISTICS 0x00001000
+#define WT_CONN_SERVER_SWEEP 0x00002000
+#define WT_CONN_WAS_BACKUP 0x00004000
#define WT_EVICTING 0x00000001
#define WT_FILE_TYPE_CHECKPOINT 0x00000001
#define WT_FILE_TYPE_DATA 0x00000002
@@ -36,9 +37,8 @@
#define WT_READ_NO_WAIT 0x00000010
#define WT_READ_PREV 0x00000020
#define WT_READ_SKIP_INTL 0x00000040
-#define WT_READ_SKIP_LEAF 0x00000080
-#define WT_READ_TRUNCATE 0x00000100
-#define WT_READ_WONT_NEED 0x00000200
+#define WT_READ_TRUNCATE 0x00000080
+#define WT_READ_WONT_NEED 0x00000100
#define WT_SESSION_CAN_WAIT 0x00000001
#define WT_SESSION_CLEAR_EVICT_WALK 0x00000002
#define WT_SESSION_DISCARD_FORCE 0x00000004
diff --git a/src/third_party/wiredtiger/src/include/log.h b/src/third_party/wiredtiger/src/include/log.h
index 82d90070609..760321d9abb 100644
--- a/src/third_party/wiredtiger/src/include/log.h
+++ b/src/third_party/wiredtiger/src/include/log.h
@@ -59,17 +59,21 @@
/*
* Possible values for the consolidation array slot states:
+ * (NOTE: Any new states must be > WT_LOG_SLOT_DONE and < WT_LOG_SLOT_READY.)
+ *
* < WT_LOG_SLOT_DONE - threads are actively writing to the log.
* WT_LOG_SLOT_DONE - all activity on this slot is complete.
* WT_LOG_SLOT_FREE - slot is available for allocation.
* WT_LOG_SLOT_PENDING - slot is transitioning from ready to active.
+ * WT_LOG_SLOT_WRITTEN - slot is written and should be processed by worker.
* WT_LOG_SLOT_READY - slot is ready for threads to join.
* > WT_LOG_SLOT_READY - threads are actively consolidating on this slot.
*/
#define WT_LOG_SLOT_DONE 0
#define WT_LOG_SLOT_FREE 1
#define WT_LOG_SLOT_PENDING 2
-#define WT_LOG_SLOT_READY 3
+#define WT_LOG_SLOT_WRITTEN 3
+#define WT_LOG_SLOT_READY 4
typedef WT_COMPILER_TYPE_ALIGN(WT_CACHE_LINE_ALIGNMENT) struct {
int64_t slot_state; /* Slot state */
uint64_t slot_group_size; /* Group size */
@@ -92,9 +96,11 @@ typedef WT_COMPILER_TYPE_ALIGN(WT_CACHE_LINE_ALIGNMENT) struct {
uint32_t flags; /* Flags */
} WT_LOGSLOT;
+#define SLOT_INIT_FLAGS (SLOT_BUFFERED)
+
typedef struct {
WT_LOGSLOT *slot;
- wt_off_t offset;
+ wt_off_t offset;
} WT_MYSLOT;
/* Offset of first record */
diff --git a/src/third_party/wiredtiger/src/include/stat.h b/src/third_party/wiredtiger/src/include/stat.h
index 3f684478358..21eaff0677f 100644
--- a/src/third_party/wiredtiger/src/include/stat.h
+++ b/src/third_party/wiredtiger/src/include/stat.h
@@ -215,6 +215,7 @@ struct __wt_connection_stats {
WT_STATS log_prealloc_max;
WT_STATS log_prealloc_used;
WT_STATS log_reads;
+ WT_STATS log_release_write_lsn;
WT_STATS log_scan_records;
WT_STATS log_scan_rereads;
WT_STATS log_scans;
@@ -227,6 +228,8 @@ struct __wt_connection_stats {
WT_STATS log_slot_toosmall;
WT_STATS log_slot_transitions;
WT_STATS log_sync;
+ WT_STATS log_sync_dir;
+ WT_STATS log_write_lsn;
WT_STATS log_writes;
WT_STATS lsm_checkpoint_throttle;
WT_STATS lsm_merge_throttle;
diff --git a/src/third_party/wiredtiger/src/include/wiredtiger.in b/src/third_party/wiredtiger/src/include/wiredtiger.in
index d0d0f9eec77..fed6042c67a 100644
--- a/src/third_party/wiredtiger/src/include/wiredtiger.in
+++ b/src/third_party/wiredtiger/src/include/wiredtiger.in
@@ -561,7 +561,6 @@ struct __wt_cursor {
* user on open.
*/
const char *internal_uri;
- /* Saved modification methods. */
#define WT_CURSTD_APPEND 0x0001
#define WT_CURSTD_BULK 0x0002
@@ -3336,110 +3335,116 @@ extern int wiredtiger_extension_terminate(WT_CONNECTION *connection);
#define WT_STAT_CONN_LOG_PREALLOC_USED 1081
/*! log: log read operations */
#define WT_STAT_CONN_LOG_READS 1082
+/*! log: log release advances write LSN */
+#define WT_STAT_CONN_LOG_RELEASE_WRITE_LSN 1083
/*! log: records processed by log scan */
-#define WT_STAT_CONN_LOG_SCAN_RECORDS 1083
+#define WT_STAT_CONN_LOG_SCAN_RECORDS 1084
/*! log: log scan records requiring two reads */
-#define WT_STAT_CONN_LOG_SCAN_REREADS 1084
+#define WT_STAT_CONN_LOG_SCAN_REREADS 1085
/*! log: log scan operations */
-#define WT_STAT_CONN_LOG_SCANS 1085
+#define WT_STAT_CONN_LOG_SCANS 1086
/*! log: consolidated slot closures */
-#define WT_STAT_CONN_LOG_SLOT_CLOSES 1086
+#define WT_STAT_CONN_LOG_SLOT_CLOSES 1087
/*! log: logging bytes consolidated */
-#define WT_STAT_CONN_LOG_SLOT_CONSOLIDATED 1087
+#define WT_STAT_CONN_LOG_SLOT_CONSOLIDATED 1088
/*! log: consolidated slot joins */
-#define WT_STAT_CONN_LOG_SLOT_JOINS 1088
+#define WT_STAT_CONN_LOG_SLOT_JOINS 1089
/*! log: consolidated slot join races */
-#define WT_STAT_CONN_LOG_SLOT_RACES 1089
+#define WT_STAT_CONN_LOG_SLOT_RACES 1090
/*! log: slots selected for switching that were unavailable */
-#define WT_STAT_CONN_LOG_SLOT_SWITCH_FAILS 1090
+#define WT_STAT_CONN_LOG_SLOT_SWITCH_FAILS 1091
/*! log: record size exceeded maximum */
-#define WT_STAT_CONN_LOG_SLOT_TOOBIG 1091
+#define WT_STAT_CONN_LOG_SLOT_TOOBIG 1092
/*! log: failed to find a slot large enough for record */
-#define WT_STAT_CONN_LOG_SLOT_TOOSMALL 1092
+#define WT_STAT_CONN_LOG_SLOT_TOOSMALL 1093
/*! log: consolidated slot join transitions */
-#define WT_STAT_CONN_LOG_SLOT_TRANSITIONS 1093
+#define WT_STAT_CONN_LOG_SLOT_TRANSITIONS 1094
/*! log: log sync operations */
-#define WT_STAT_CONN_LOG_SYNC 1094
+#define WT_STAT_CONN_LOG_SYNC 1095
+/*! log: log sync_dir operations */
+#define WT_STAT_CONN_LOG_SYNC_DIR 1096
+/*! log: log server thread advances write LSN */
+#define WT_STAT_CONN_LOG_WRITE_LSN 1097
/*! log: log write operations */
-#define WT_STAT_CONN_LOG_WRITES 1095
+#define WT_STAT_CONN_LOG_WRITES 1098
/*! LSM: sleep for LSM checkpoint throttle */
-#define WT_STAT_CONN_LSM_CHECKPOINT_THROTTLE 1096
+#define WT_STAT_CONN_LSM_CHECKPOINT_THROTTLE 1099
/*! LSM: sleep for LSM merge throttle */
-#define WT_STAT_CONN_LSM_MERGE_THROTTLE 1097
+#define WT_STAT_CONN_LSM_MERGE_THROTTLE 1100
/*! LSM: rows merged in an LSM tree */
-#define WT_STAT_CONN_LSM_ROWS_MERGED 1098
+#define WT_STAT_CONN_LSM_ROWS_MERGED 1101
/*! LSM: application work units currently queued */
-#define WT_STAT_CONN_LSM_WORK_QUEUE_APP 1099
+#define WT_STAT_CONN_LSM_WORK_QUEUE_APP 1102
/*! LSM: merge work units currently queued */
-#define WT_STAT_CONN_LSM_WORK_QUEUE_MANAGER 1100
+#define WT_STAT_CONN_LSM_WORK_QUEUE_MANAGER 1103
/*! LSM: tree queue hit maximum */
-#define WT_STAT_CONN_LSM_WORK_QUEUE_MAX 1101
+#define WT_STAT_CONN_LSM_WORK_QUEUE_MAX 1104
/*! LSM: switch work units currently queued */
-#define WT_STAT_CONN_LSM_WORK_QUEUE_SWITCH 1102
+#define WT_STAT_CONN_LSM_WORK_QUEUE_SWITCH 1105
/*! LSM: tree maintenance operations scheduled */
-#define WT_STAT_CONN_LSM_WORK_UNITS_CREATED 1103
+#define WT_STAT_CONN_LSM_WORK_UNITS_CREATED 1106
/*! LSM: tree maintenance operations discarded */
-#define WT_STAT_CONN_LSM_WORK_UNITS_DISCARDED 1104
+#define WT_STAT_CONN_LSM_WORK_UNITS_DISCARDED 1107
/*! LSM: tree maintenance operations executed */
-#define WT_STAT_CONN_LSM_WORK_UNITS_DONE 1105
+#define WT_STAT_CONN_LSM_WORK_UNITS_DONE 1108
/*! connection: memory allocations */
-#define WT_STAT_CONN_MEMORY_ALLOCATION 1106
+#define WT_STAT_CONN_MEMORY_ALLOCATION 1109
/*! connection: memory frees */
-#define WT_STAT_CONN_MEMORY_FREE 1107
+#define WT_STAT_CONN_MEMORY_FREE 1110
/*! connection: memory re-allocations */
-#define WT_STAT_CONN_MEMORY_GROW 1108
+#define WT_STAT_CONN_MEMORY_GROW 1111
/*! thread-yield: page acquire busy blocked */
-#define WT_STAT_CONN_PAGE_BUSY_BLOCKED 1109
+#define WT_STAT_CONN_PAGE_BUSY_BLOCKED 1112
/*! thread-yield: page acquire eviction blocked */
-#define WT_STAT_CONN_PAGE_FORCIBLE_EVICT_BLOCKED 1110
+#define WT_STAT_CONN_PAGE_FORCIBLE_EVICT_BLOCKED 1113
/*! thread-yield: page acquire locked blocked */
-#define WT_STAT_CONN_PAGE_LOCKED_BLOCKED 1111
+#define WT_STAT_CONN_PAGE_LOCKED_BLOCKED 1114
/*! thread-yield: page acquire read blocked */
-#define WT_STAT_CONN_PAGE_READ_BLOCKED 1112
+#define WT_STAT_CONN_PAGE_READ_BLOCKED 1115
/*! thread-yield: page acquire time sleeping (usecs) */
-#define WT_STAT_CONN_PAGE_SLEEP 1113
+#define WT_STAT_CONN_PAGE_SLEEP 1116
/*! connection: total read I/Os */
-#define WT_STAT_CONN_READ_IO 1114
+#define WT_STAT_CONN_READ_IO 1117
/*! reconciliation: page reconciliation calls */
-#define WT_STAT_CONN_REC_PAGES 1115
+#define WT_STAT_CONN_REC_PAGES 1118
/*! reconciliation: page reconciliation calls for eviction */
-#define WT_STAT_CONN_REC_PAGES_EVICTION 1116
+#define WT_STAT_CONN_REC_PAGES_EVICTION 1119
/*! reconciliation: split bytes currently awaiting free */
-#define WT_STAT_CONN_REC_SPLIT_STASHED_BYTES 1117
+#define WT_STAT_CONN_REC_SPLIT_STASHED_BYTES 1120
/*! reconciliation: split objects currently awaiting free */
-#define WT_STAT_CONN_REC_SPLIT_STASHED_OBJECTS 1118
+#define WT_STAT_CONN_REC_SPLIT_STASHED_OBJECTS 1121
/*! connection: pthread mutex shared lock read-lock calls */
-#define WT_STAT_CONN_RWLOCK_READ 1119
+#define WT_STAT_CONN_RWLOCK_READ 1122
/*! connection: pthread mutex shared lock write-lock calls */
-#define WT_STAT_CONN_RWLOCK_WRITE 1120
+#define WT_STAT_CONN_RWLOCK_WRITE 1123
/*! session: open cursor count */
-#define WT_STAT_CONN_SESSION_CURSOR_OPEN 1121
+#define WT_STAT_CONN_SESSION_CURSOR_OPEN 1124
/*! session: open session count */
-#define WT_STAT_CONN_SESSION_OPEN 1122
+#define WT_STAT_CONN_SESSION_OPEN 1125
/*! transaction: transaction begins */
-#define WT_STAT_CONN_TXN_BEGIN 1123
+#define WT_STAT_CONN_TXN_BEGIN 1126
/*! transaction: transaction checkpoints */
-#define WT_STAT_CONN_TXN_CHECKPOINT 1124
+#define WT_STAT_CONN_TXN_CHECKPOINT 1127
/*! transaction: transaction checkpoint currently running */
-#define WT_STAT_CONN_TXN_CHECKPOINT_RUNNING 1125
+#define WT_STAT_CONN_TXN_CHECKPOINT_RUNNING 1128
/*! transaction: transaction checkpoint max time (msecs) */
-#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_MAX 1126
+#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_MAX 1129
/*! transaction: transaction checkpoint min time (msecs) */
-#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_MIN 1127
+#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_MIN 1130
/*! transaction: transaction checkpoint most recent time (msecs) */
-#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_RECENT 1128
+#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_RECENT 1131
/*! transaction: transaction checkpoint total time (msecs) */
-#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_TOTAL 1129
+#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_TOTAL 1132
/*! transaction: transactions committed */
-#define WT_STAT_CONN_TXN_COMMIT 1130
+#define WT_STAT_CONN_TXN_COMMIT 1133
/*! transaction: transaction failures due to cache overflow */
-#define WT_STAT_CONN_TXN_FAIL_CACHE 1131
+#define WT_STAT_CONN_TXN_FAIL_CACHE 1134
/*! transaction: transaction range of IDs currently pinned */
-#define WT_STAT_CONN_TXN_PINNED_RANGE 1132
+#define WT_STAT_CONN_TXN_PINNED_RANGE 1135
/*! transaction: transactions rolled back */
-#define WT_STAT_CONN_TXN_ROLLBACK 1133
+#define WT_STAT_CONN_TXN_ROLLBACK 1136
/*! connection: total write I/Os */
-#define WT_STAT_CONN_WRITE_IO 1134
+#define WT_STAT_CONN_WRITE_IO 1137
/*!
* @}
diff --git a/src/third_party/wiredtiger/src/log/log.c b/src/third_party/wiredtiger/src/log/log.c
index f76ec402b0d..f485f0a09e5 100644
--- a/src/third_party/wiredtiger/src/log/log.c
+++ b/src/third_party/wiredtiger/src/log/log.c
@@ -61,16 +61,23 @@ __wt_log_needs_recovery(WT_SESSION_IMPL *session, WT_LSN *ckp_lsn, int *rec)
WT_RET(__wt_curlog_open(session, "log:", NULL, &c));
c->set_key(c, ckp_lsn->file, ckp_lsn->offset, 0);
- WT_ERR(c->search(c));
-
- /*
- * If the checkpoint LSN we're given is the last record, then recovery
- * is not needed.
- */
- if ((ret = c->next(c)) == WT_NOTFOUND) {
- *rec = 0;
+ if ((ret = c->search(c)) == 0) {
+ /*
+ * If the checkpoint LSN we're given is the last record,
+ * then recovery is not needed.
+ */
+ if ((ret = c->next(c)) == WT_NOTFOUND) {
+ *rec = 0;
+ ret = 0;
+ }
+ } else if (ret == WT_NOTFOUND)
+ /*
+ * If we didn't find that LSN, we need to run recovery,
+ * but not return any error.
+ */
ret = 0;
- }
+ else
+ WT_ERR(ret);
err: WT_TRET(c->close(c));
return (ret);
@@ -455,6 +462,10 @@ __log_file_header(
WT_ERR(__log_acquire(session, logrec->len, &tmp));
}
WT_ERR(__log_fill(session, &myslot, 1, buf, NULL));
+ /*
+ * Make sure the header gets to disk.
+ */
+ WT_ERR(__wt_fsync(session, tmp.slot_fh));
if (end_lsn != NULL)
*end_lsn = tmp.slot_end_lsn;
@@ -573,6 +584,7 @@ __log_truncate(WT_SESSION_IMPL *session,
WT_ERR(__wt_ftruncate(session, log_fh, lsn->offset));
tmp_fh = log_fh;
log_fh = NULL;
+ WT_ERR(__wt_fsync(session, tmp_fh));
WT_ERR(__wt_close(session, tmp_fh));
/*
@@ -596,6 +608,7 @@ __log_truncate(WT_SESSION_IMPL *session,
log_fh, LOG_FIRST_RECORD));
tmp_fh = log_fh;
log_fh = NULL;
+ WT_ERR(__wt_fsync(session, tmp_fh));
WT_ERR(__wt_close(session, tmp_fh));
}
}
@@ -646,6 +659,7 @@ __wt_log_allocfile(
WT_ERR(__log_prealloc(session, log_fh));
tmp_fh = log_fh;
log_fh = NULL;
+ WT_ERR(__wt_fsync(session, tmp_fh));
WT_ERR(__wt_close(session, tmp_fh));
WT_ERR(__wt_verbose(session, WT_VERB_LOG,
"log_prealloc: rename %s to %s",
@@ -790,17 +804,20 @@ __wt_log_close(WT_SESSION_IMPL *session)
if (log->log_close_fh != NULL && log->log_close_fh != log->log_fh) {
WT_RET(__wt_verbose(session, WT_VERB_LOG,
"closing old log %s", log->log_close_fh->name));
+ WT_RET(__wt_fsync(session, log->log_close_fh));
WT_RET(__wt_close(session, log->log_close_fh));
}
if (log->log_fh != NULL) {
WT_RET(__wt_verbose(session, WT_VERB_LOG,
"closing log %s", log->log_fh->name));
+ WT_RET(__wt_fsync(session, log->log_fh));
WT_RET(__wt_close(session, log->log_fh));
log->log_fh = NULL;
}
if (log->log_dir_fh != NULL) {
WT_RET(__wt_verbose(session, WT_VERB_LOG,
"closing log directory %s", log->log_dir_fh->name));
+ WT_RET(__wt_directory_sync_fh(session, log->log_dir_fh));
WT_RET(__wt_close(session, log->log_dir_fh));
log->log_dir_fh = NULL;
}
@@ -900,7 +917,7 @@ err:
* Release a log slot.
*/
static int
-__log_release(WT_SESSION_IMPL *session, WT_LOGSLOT *slot)
+__log_release(WT_SESSION_IMPL *session, WT_LOGSLOT *slot, int *freep)
{
WT_CONNECTION_IMPL *conn;
WT_DECL_RET;
@@ -913,6 +930,7 @@ __log_release(WT_SESSION_IMPL *session, WT_LOGSLOT *slot)
conn = S2C(session);
log = conn->log;
locked = yield_count = 0;
+ *freep = 1;
/* Write the buffered records */
if (F_ISSET(slot, SLOT_BUFFERED)) {
@@ -923,9 +941,29 @@ __log_release(WT_SESSION_IMPL *session, WT_LOGSLOT *slot)
}
/*
- * Wait for earlier groups to finish, otherwise there could be holes
- * in the log file.
+ * If this is not a buffered write, meaning the slot we have is a
+ * dummy constructed slot, not from the slot pool, or we have to wait
+ * for a synchronous operation, we do not pass handling of this slot
+ * off to the worker thread. The caller is responsible for freeing
+ * the slot in that case. Otherwise the worker thread will free it.
+ */
+ if (F_ISSET(slot, SLOT_BUFFERED) &&
+ !F_ISSET(slot, SLOT_SYNC | SLOT_SYNC_DIR)) {
+ *freep = 0;
+ slot->slot_state = WT_LOG_SLOT_WRITTEN;
+ /*
+ * After this point the worker thread owns the slot. There
+ * is nothing more to do but return.
+ */
+ WT_ERR(__wt_cond_signal(session, conn->log_wrlsn_cond));
+ goto done;
+ }
+
+ /*
+ * Wait for earlier groups to finish, otherwise there could
+ * be holes in the log file.
*/
+ WT_STAT_FAST_CONN_INCR(session, log_release_write_lsn);
while (LOG_CMP(&log->write_lsn, &slot->slot_release_lsn) != 0) {
if (++yield_count < 1000)
__wt_yield();
@@ -936,6 +974,9 @@ __log_release(WT_SESSION_IMPL *session, WT_LOGSLOT *slot)
log->write_lsn = slot->slot_end_lsn;
WT_ERR(__wt_cond_signal(session, log->log_write_cond));
+ /*
+ * Signal the close thread if needed.
+ */
if (F_ISSET(slot, SLOT_CLOSEFH))
WT_ERR(__wt_cond_signal(session, conn->log_close_cond));
@@ -978,7 +1019,7 @@ __log_release(WT_SESSION_IMPL *session, WT_LOGSLOT *slot)
WT_ERR(__wt_directory_sync_fh(
session, log->log_dir_fh));
log->sync_dir_lsn = sync_lsn;
- F_CLR(slot, SLOT_SYNC_DIR);
+ WT_STAT_FAST_CONN_INCR(session, log_sync_dir);
}
/*
@@ -990,26 +1031,22 @@ __log_release(WT_SESSION_IMPL *session, WT_LOGSLOT *slot)
"log_release: sync log %s", log->log_fh->name));
WT_STAT_FAST_CONN_INCR(session, log_sync);
WT_ERR(__wt_fsync(session, log->log_fh));
- F_CLR(slot, SLOT_SYNC);
log->sync_lsn = sync_lsn;
WT_ERR(__wt_cond_signal(session, log->log_sync_cond));
}
+ /*
+ * Clear the flags before leaving the loop.
+ */
+ F_CLR(slot, SLOT_SYNC | SLOT_SYNC_DIR);
locked = 0;
__wt_spin_unlock(session, &log->log_sync_lock);
break;
}
- if (F_ISSET(slot, SLOT_BUF_GROW)) {
- WT_STAT_FAST_CONN_INCR(session, log_buffer_grow);
- F_CLR(slot, SLOT_BUF_GROW);
- WT_STAT_FAST_CONN_INCRV(session,
- log_buffer_size, slot->slot_buf.memsize);
- WT_ERR(__wt_buf_grow(session,
- &slot->slot_buf, slot->slot_buf.memsize * 2));
- }
err: if (locked)
__wt_spin_unlock(session, &log->log_sync_lock);
if (ret != 0 && slot->slot_error == 0)
slot->slot_error = ret;
+done:
return (ret);
}
@@ -1460,12 +1497,13 @@ __log_direct_write(WT_SESSION_IMPL *session, WT_ITEM *record, WT_LSN *lsnp,
WT_LOG *log;
WT_LOGSLOT tmp;
WT_MYSLOT myslot;
- int locked;
+ int dummy, locked;
WT_DECL_SPINLOCK_ID(id); /* Must appear last */
log = S2C(session)->log;
myslot.slot = &tmp;
myslot.offset = 0;
+ dummy = 0;
WT_CLEAR(tmp);
/* Fast path the contended case. */
@@ -1481,7 +1519,7 @@ __log_direct_write(WT_SESSION_IMPL *session, WT_ITEM *record, WT_LSN *lsnp,
__wt_spin_unlock(session, &log->log_slot_lock);
locked = 0;
WT_ERR(__log_fill(session, &myslot, 1, record, lsnp));
- WT_ERR(__log_release(session, &tmp));
+ WT_ERR(__log_release(session, &tmp, &dummy));
err: if (locked)
__wt_spin_unlock(session, &log->log_slot_lock);
@@ -1609,11 +1647,11 @@ __log_write_internal(WT_SESSION_IMPL *session, WT_ITEM *record, WT_LSN *lsnp,
WT_LSN lsn;
WT_MYSLOT myslot;
uint32_t rdup_len;
- int locked;
+ int free_slot, locked;
conn = S2C(session);
log = conn->log;
- locked = 0;
+ free_slot = locked = 0;
WT_INIT_LSN(&lsn);
myslot.slot = NULL;
/*
@@ -1695,8 +1733,9 @@ __log_write_internal(WT_SESSION_IMPL *session, WT_ITEM *record, WT_LSN *lsnp,
WT_ERR(__wt_log_slot_wait(session, myslot.slot));
WT_ERR(__log_fill(session, &myslot, 0, record, &lsn));
if (__wt_log_slot_release(myslot.slot, rdup_len) == WT_LOG_SLOT_DONE) {
- WT_ERR(__log_release(session, myslot.slot));
- WT_ERR(__wt_log_slot_free(myslot.slot));
+ WT_ERR(__log_release(session, myslot.slot, &free_slot));
+ if (free_slot)
+ WT_ERR(__wt_log_slot_free(session, myslot.slot));
} else if (LF_ISSET(WT_LOG_FSYNC)) {
/* Wait for our writes to reach disk */
while (LOG_CMP(&log->sync_lsn, &lsn) <= 0 &&
diff --git a/src/third_party/wiredtiger/src/log/log_slot.c b/src/third_party/wiredtiger/src/log/log_slot.c
index 8dcb2f9f165..02b3056be6f 100644
--- a/src/third_party/wiredtiger/src/log/log_slot.c
+++ b/src/third_party/wiredtiger/src/log/log_slot.c
@@ -57,7 +57,7 @@ __wt_log_slot_init(WT_SESSION_IMPL *session)
for (i = 0; i < SLOT_POOL; i++) {
WT_ERR(__wt_buf_init(session,
&log->slot_pool[i].slot_buf, WT_LOG_SLOT_BUF_INIT_SIZE));
- F_SET(&log->slot_pool[i], SLOT_BUFFERED);
+ F_SET(&log->slot_pool[i], SLOT_INIT_FLAGS);
}
WT_STAT_FAST_CONN_INCRV(session,
log_buffer_size, WT_LOG_SLOT_BUF_INIT_SIZE * SLOT_POOL);
@@ -295,10 +295,34 @@ __wt_log_slot_release(WT_LOGSLOT *slot, uint64_t size)
* Free a slot back into the pool.
*/
int
-__wt_log_slot_free(WT_LOGSLOT *slot)
+__wt_log_slot_free(WT_SESSION_IMPL *session, WT_LOGSLOT *slot)
{
+ WT_DECL_RET;
+
+ ret = 0;
+ /*
+ * Grow the buffer if needed before returning it to the pool.
+ */
+ if (F_ISSET(slot, SLOT_BUF_GROW)) {
+ WT_STAT_FAST_CONN_INCR(session, log_buffer_grow);
+ WT_STAT_FAST_CONN_INCRV(session,
+ log_buffer_size, slot->slot_buf.memsize);
+ WT_ERR(__wt_buf_grow(session,
+ &slot->slot_buf, slot->slot_buf.memsize * 2));
+ }
+err:
+ /*
+ * No matter if there is an error, we always want to free
+ * the slot back to the pool.
+ */
+ /*
+ * Make sure flags don't get retained between uses.
+ * We have to reset them them here because multiple threads may
+ * change the flags when joining the slot.
+ */
+ slot->flags = SLOT_INIT_FLAGS;
slot->slot_state = WT_LOG_SLOT_FREE;
- return (0);
+ return (ret);
}
/*
diff --git a/src/third_party/wiredtiger/src/lsm/lsm_cursor.c b/src/third_party/wiredtiger/src/lsm/lsm_cursor.c
index 3b4dc639945..8474b6e8b37 100644
--- a/src/third_party/wiredtiger/src/lsm/lsm_cursor.c
+++ b/src/third_party/wiredtiger/src/lsm/lsm_cursor.c
@@ -77,6 +77,7 @@ __clsm_enter_update(WT_CURSOR_LSM *clsm)
} else {
primary = clsm->cursors[clsm->nchunks - 1];
primary_chunk = clsm->primary_chunk;
+ WT_ASSERT(session, F_ISSET(&session->txn, TXN_HAS_ID));
have_primary = (primary != NULL && primary_chunk != NULL &&
(primary_chunk->switch_txn == WT_TXN_NONE ||
TXNID_LT(session->txn.id, primary_chunk->switch_txn)));
@@ -177,14 +178,15 @@ __clsm_enter(WT_CURSOR_LSM *clsm, int reset, int update)
/* Update the maximum transaction ID in the primary chunk. */
if (update) {
- WT_RET(__clsm_enter_update(clsm));
- if (clsm->dsk_gen != clsm->lsm_tree->dsk_gen)
- goto open;
-
/*
* Ensure that there is a transaction snapshot active.
*/
WT_RET(__wt_txn_autocommit_check(session));
+ WT_RET(__wt_txn_id_check(session));
+
+ WT_RET(__clsm_enter_update(clsm));
+ if (clsm->dsk_gen != clsm->lsm_tree->dsk_gen)
+ goto open;
if (session->txn.isolation == TXN_ISO_SNAPSHOT)
__wt_txn_cursor_op(session);
@@ -1237,11 +1239,12 @@ __clsm_put(WT_SESSION_IMPL *session,
{
WT_CURSOR *c, *primary;
WT_LSM_TREE *lsm_tree;
- u_int i;
+ u_int i, slot;
lsm_tree = clsm->lsm_tree;
WT_ASSERT(session,
+ F_ISSET(&session->txn, TXN_HAS_ID) &&
clsm->primary_chunk != NULL &&
(clsm->primary_chunk->switch_txn == WT_TXN_NONE ||
TXNID_LE(session->txn.id, clsm->primary_chunk->switch_txn)));
@@ -1257,8 +1260,15 @@ __clsm_put(WT_SESSION_IMPL *session,
if (position)
clsm->current = primary;
- for (i = 0; i < clsm->nupdates; i++) {
- c = clsm->cursors[(clsm->nchunks - i) - 1];
+ for (i = 0, slot = clsm->nchunks - 1; i < clsm->nupdates; i++, slot--) {
+ /* Check if we need to keep updating old chunks. */
+ if (i > 0 &&
+ __wt_txn_visible(session, clsm->switch_txn[slot])) {
+ clsm->nupdates = i;
+ break;
+ }
+
+ c = clsm->cursors[slot];
c->set_key(c, key);
c->set_value(c, value);
WT_RET((position && i == 0) ? c->update(c) : c->insert(c));
diff --git a/src/third_party/wiredtiger/src/lsm/lsm_work_unit.c b/src/third_party/wiredtiger/src/lsm/lsm_work_unit.c
index f4ddd4f7e2f..dea012ccb9e 100644
--- a/src/third_party/wiredtiger/src/lsm/lsm_work_unit.c
+++ b/src/third_party/wiredtiger/src/lsm/lsm_work_unit.c
@@ -401,7 +401,13 @@ __lsm_bloom_create(WT_SESSION_IMPL *session,
F_SET(src, WT_CURSTD_RAW);
WT_ERR(__wt_clsm_init_merge(src, chunk_off, chunk->id, 1));
- F_SET(session, WT_SESSION_NO_CACHE);
+ /*
+ * Setup so that we don't hold pages we read into cache, and so
+ * that we don't get stuck if the cache is full. If we allow
+ * ourselves to get stuck creating bloom filters, the entire tree
+ * can stall since there may be no worker threads available to flush.
+ */
+ F_SET(session, WT_SESSION_NO_CACHE | WT_SESSION_NO_CACHE_CHECK);
for (insert_count = 0; (ret = src->next(src)) == 0; insert_count++) {
WT_ERR(src->get_key(src, &key));
WT_ERR(__wt_bloom_insert(bloom, &key));
@@ -414,15 +420,7 @@ __lsm_bloom_create(WT_SESSION_IMPL *session,
F_CLR(session, WT_SESSION_NO_CACHE);
- /*
- * Load the new Bloom filter into cache.
- *
- * We're doing advisory reads to fault the new trees into cache.
- * Don't block if the cache is full: our next unit of work may be to
- * discard some trees to free space.
- */
- F_SET(session, WT_SESSION_NO_CACHE_CHECK);
-
+ /* Load the new Bloom filter into cache. */
WT_CLEAR(key);
WT_ERR_NOTFOUND_OK(__wt_bloom_get(bloom, &key));
diff --git a/src/third_party/wiredtiger/src/reconcile/rec_write.c b/src/third_party/wiredtiger/src/reconcile/rec_write.c
index 4ca1a6bc623..33d79e6d4ce 100644
--- a/src/third_party/wiredtiger/src/reconcile/rec_write.c
+++ b/src/third_party/wiredtiger/src/reconcile/rec_write.c
@@ -522,6 +522,12 @@ __rec_root_write(WT_SESSION_IMPL *session, WT_PAGE *page, uint32_t flags)
*/
mod->mod_root_split = next;
+ /*
+ * Mark the page dirty.
+ * Don't mark the tree dirty: if this reconciliation is in service of a
+ * checkpoint, it's cleared the tree's dirty flag, and we don't want to
+ * set it again as part of that walk.
+ */
WT_ERR(__wt_page_modify_init(session, next));
__wt_page_only_modify_set(session, next);
@@ -1113,12 +1119,14 @@ __rec_child_modify(WT_SESSION_IMPL *session,
* process will have completed before we walk any pages
* for checkpoint.
*/
- if ((ret = __wt_page_in(session, ref,
+ ret = __wt_page_in(session, ref,
WT_READ_CACHE | WT_READ_NO_EVICT |
- WT_READ_NO_GEN | WT_READ_NO_WAIT)) == WT_NOTFOUND) {
+ WT_READ_NO_GEN | WT_READ_NO_WAIT);
+ if (ret == WT_NOTFOUND) {
ret = 0;
break;
}
+ WT_RET(ret);
*hazardp = 1;
goto in_memory;
@@ -1173,7 +1181,7 @@ in_memory:
CHILD_RELEASE(session, *hazardp, ref);
}
-done: WT_HAVE_DIAGNOSTIC_YIELD;
+done: WT_DIAGNOSTIC_YIELD;
return (ret);
}
@@ -1982,16 +1990,20 @@ __rec_split(WT_SESSION_IMPL *session, WT_RECONCILE *r, size_t next_len)
next->start = r->first_free;
next->entries = 0;
- /*
- * Set the space available to another split-size chunk, if we
- * have one. If we don't have room for another split chunk,
- * add whatever space remains in this page.
- */
+ /* Set the space available to another split-size chunk. */
r->space_avail =
r->split_size - WT_PAGE_HEADER_BYTE_SIZE(btree);
+
+ /*
+ * Adjust the space available to handle two cases:
+ * - We don't have enough room for another full split-size
+ * chunk on the page.
+ * - We chose to fill past a page boundary because of a
+ * large item.
+ */
if (inuse + r->space_avail > r->page_size) {
- WT_ASSERT(session, r->page_size >= inuse);
- r->space_avail = r->page_size - inuse;
+ r->space_avail =
+ r->page_size > inuse ? (r->page_size - inuse) : 0;
/* There are no further boundary points. */
r->bnd_state = SPLIT_MAX;
@@ -2649,7 +2661,7 @@ __rec_split_fixup(WT_SESSION_IMPL *session, WT_RECONCILE *r)
* WT_PAGE_HEADER header onto the scratch buffer, most of the header
* information remains unchanged between the pages.
*/
- WT_RET(__wt_scr_alloc(session, r->page_size, &tmp));
+ WT_RET(__wt_scr_alloc(session, r->dsk.memsize, &tmp));
dsk = tmp->mem;
memcpy(dsk, r->dsk.mem, WT_PAGE_HEADER_SIZE);
@@ -2977,7 +2989,7 @@ __wt_bulk_wrapup(WT_SESSION_IMPL *session, WT_CURSOR_BULK *cbulk)
WT_RET(__rec_split_finish(session, r));
WT_RET(__rec_write_wrapup(session, r, r->page));
- /* Mark the page's parent dirty. */
+ /* Mark the page's parent and the tree dirty. */
parent = r->ref->home;
WT_RET(__wt_page_modify_init(session, parent));
__wt_page_modify_set(session, parent);
@@ -3017,8 +3029,6 @@ __wt_bulk_insert_row(WT_SESSION_IMPL *session, WT_CURSOR_BULK *cbulk)
WT_RET(
__rec_split_raw(session, r, key->len + val->len));
else {
- WT_RET(__rec_split(session, r, key->len + val->len));
-
/*
* Turn off prefix compression until a full key written
* to the new page, and (unless already working with an
@@ -3030,6 +3040,8 @@ __wt_bulk_insert_row(WT_SESSION_IMPL *session, WT_CURSOR_BULK *cbulk)
WT_RET(__rec_cell_build_leaf_key(
session, r, NULL, 0, &ovfl_key));
}
+
+ WT_RET(__rec_split(session, r, key->len + val->len));
}
}
@@ -3225,15 +3237,18 @@ __rec_col_int(WT_SESSION_IMPL *session, WT_RECONCILE *r, WT_PAGE *page)
WT_ERR(__rec_child_modify(session, r, ref, &hazard, &state));
addr = NULL;
child = ref->page;
- if (state != 0) {
- /*
- * Currently the only non-zero returned stated possible
- * for a column-store page is child-modified (all other
- * states are part of the fast-truncate support, which
- * is row-store only).
- */
- WT_ASSERT(session, state == WT_CHILD_MODIFIED);
+ /* Deleted child we don't have to write. */
+ if (state == WT_CHILD_IGNORE) {
+ CHILD_RELEASE_ERR(session, hazard, ref);
+ continue;
+ }
+
+ /*
+ * Modified child. Empty pages are merged into the parent and
+ * discarded.
+ */
+ if (state == WT_CHILD_MODIFIED) {
switch (F_ISSET(child->modify, WT_PM_REC_MASK)) {
case WT_PM_REC_EMPTY:
/*
@@ -3253,7 +3268,9 @@ __rec_col_int(WT_SESSION_IMPL *session, WT_RECONCILE *r, WT_PAGE *page)
break;
WT_ILLEGAL_VALUE_ERR(session);
}
- }
+ } else
+ /* No other states are expected for column stores. */
+ WT_ASSERT(session, state == 0);
/*
* Build the value cell. The child page address is in one of 3
@@ -4550,8 +4567,6 @@ build:
WT_PAGE_ROW_LEAF, kpack, r->cur));
key_onpage_ovfl = 0;
}
- WT_ERR(__rec_split(
- session, r, key->len + val->len));
/*
* Turn off prefix compression until a full key
@@ -4567,6 +4582,9 @@ build:
session,
r, NULL, 0, &ovfl_key));
}
+
+ WT_ERR(__rec_split(
+ session, r, key->len + val->len));
}
}
@@ -4636,9 +4654,6 @@ __rec_row_leaf_insert(WT_SESSION_IMPL *session, WT_RECONCILE *r, WT_INSERT *ins)
WT_RET(__rec_split_raw(
session, r, key->len + val->len));
else {
- WT_RET(__rec_split(
- session, r, key->len + val->len));
-
/*
* Turn off prefix compression until a full key
* written to the new page, and (unless already
@@ -4653,6 +4668,9 @@ __rec_row_leaf_insert(WT_SESSION_IMPL *session, WT_RECONCILE *r, WT_INSERT *ins)
session,
r, NULL, 0, &ovfl_key));
}
+
+ WT_RET(__rec_split(
+ session, r, key->len + val->len));
}
}
@@ -5085,7 +5103,7 @@ __rec_split_row(WT_SESSION_IMPL *session, WT_RECONCILE *r, WT_PAGE *page)
for (multi = mod->mod_multi,
bnd = r->bnd, i = 0; i < r->bnd_next; ++multi, ++bnd, ++i) {
- WT_RET(__wt_row_ikey(session, 0,
+ WT_RET(__wt_row_ikey_alloc(session, 0,
bnd->key.data, bnd->key.size, &multi->key.ikey));
if (bnd->skip == NULL) {
diff --git a/src/third_party/wiredtiger/src/schema/schema_worker.c b/src/third_party/wiredtiger/src/schema/schema_worker.c
index 3dfd068cf9c..e913fcfe69d 100644
--- a/src/third_party/wiredtiger/src/schema/schema_worker.c
+++ b/src/third_party/wiredtiger/src/schema/schema_worker.c
@@ -55,11 +55,17 @@ __wt_schema_worker(WT_SESSION_IMPL *session,
WT_ERR(ret);
}
- WT_ERR(__wt_session_get_btree_ckpt(
- session, uri, cfg, open_flags));
- WT_SAVE_DHANDLE(session,
- ret = file_func(session, cfg));
- WT_TRET(__wt_session_release_btree(session));
+ if ((ret = __wt_session_get_btree_ckpt(
+ session, uri, cfg, open_flags)) == 0) {
+ WT_SAVE_DHANDLE(session,
+ ret = file_func(session, cfg));
+ WT_TRET(__wt_session_release_btree(session));
+ } else if (ret == EBUSY)
+ /* TODO: Decode checkpoint from cfg. */
+ WT_WITH_DHANDLE_LOCK(session,
+ ret = __wt_conn_btree_apply_single_ckpt(
+ session, uri, file_func, cfg));
+ WT_ERR(ret);
}
} else if (WT_PREFIX_MATCH(uri, "colgroup:")) {
WT_ERR(__wt_schema_get_colgroup(
diff --git a/src/third_party/wiredtiger/src/support/stat.c b/src/third_party/wiredtiger/src/support/stat.c
index 0926636a532..9d10c4d5ca6 100644
--- a/src/third_party/wiredtiger/src/support/stat.c
+++ b/src/third_party/wiredtiger/src/support/stat.c
@@ -447,10 +447,15 @@ __wt_stat_init_connection_stats(WT_CONNECTION_STATS *stats)
"log: log records not compressed";
stats->log_compress_small.desc =
"log: log records too small to compress";
+ stats->log_release_write_lsn.desc =
+ "log: log release advances write LSN";
stats->log_scans.desc = "log: log scan operations";
stats->log_scan_rereads.desc =
"log: log scan records requiring two reads";
+ stats->log_write_lsn.desc =
+ "log: log server thread advances write LSN";
stats->log_sync.desc = "log: log sync operations";
+ stats->log_sync_dir.desc = "log: log sync_dir operations";
stats->log_writes.desc = "log: log write operations";
stats->log_slot_consolidated.desc = "log: logging bytes consolidated";
stats->log_max_filesize.desc = "log: maximum log file size";
@@ -613,9 +618,12 @@ __wt_stat_refresh_connection_stats(void *stats_arg)
stats->log_compress_writes.v = 0;
stats->log_compress_write_fails.v = 0;
stats->log_compress_small.v = 0;
+ stats->log_release_write_lsn.v = 0;
stats->log_scans.v = 0;
stats->log_scan_rereads.v = 0;
+ stats->log_write_lsn.v = 0;
stats->log_sync.v = 0;
+ stats->log_sync_dir.v = 0;
stats->log_writes.v = 0;
stats->log_slot_consolidated.v = 0;
stats->log_prealloc_max.v = 0;
diff --git a/src/third_party/wiredtiger/src/txn/txn_ckpt.c b/src/third_party/wiredtiger/src/txn/txn_ckpt.c
index fb590e1a297..87b85eb2d8d 100644
--- a/src/third_party/wiredtiger/src/txn/txn_ckpt.c
+++ b/src/third_party/wiredtiger/src/txn/txn_ckpt.c
@@ -259,10 +259,10 @@ __wt_checkpoint_list(WT_SESSION_IMPL *session, const char *cfg[])
session->ckpt_handle[session->ckpt_handle_next++].dhandle =
session->dhandle;
else if (ret == EBUSY)
- WT_ERR(__wt_strdup(session, name,
- &session->ckpt_handle[session->ckpt_handle_next++].name));
+ ret = __wt_strdup(session, name,
+ &session->ckpt_handle[session->ckpt_handle_next++].name);
-err: return (ret);
+ return (ret);
}
/*
@@ -988,14 +988,23 @@ __wt_checkpoint_sync(WT_SESSION_IMPL *session, const char *cfg[])
int
__wt_checkpoint_close(WT_SESSION_IMPL *session, int force)
{
- /* If closing an unmodified file, simply discard its blocks. */
- if (!S2BT(session)->modified || force)
- return (__wt_cache_op(session, NULL,
- force ? WT_SYNC_DISCARD_FORCE : WT_SYNC_DISCARD));
+ WT_DECL_RET;
+
+ /* Handle forced discard (when dropping a file). */
+ if (force)
+ return (__wt_cache_op(session, NULL, WT_SYNC_DISCARD_FORCE));
+
+ /* If closing an unmodified file, try to evict its pages. */
+ if (!S2BT(session)->modified) {
+ ret = __wt_cache_op(session, NULL, WT_SYNC_DISCARD);
+ if (ret != EBUSY)
+ return (ret);
+ }
/*
- * Else, checkpoint the file and optionally flush the writes (the
- * checkpoint call will discard the blocks, there's no additional
+ * If closing a modified file, or closing an unmodified file was blocked
+ * for any reason, checkpoint the file and optionally flush the writes
+ * (the checkpoint call will discard the blocks, there's no additional
* step needed).
*/
WT_RET(__checkpoint_worker(session, NULL, 0));
diff --git a/src/third_party/wiredtiger/tools/wtstats/wtstats.html.template b/src/third_party/wiredtiger/tools/wtstats/wtstats.html.template
index 8b80328a9a8..6d4376c1d82 100644
--- a/src/third_party/wiredtiger/tools/wtstats/wtstats.html.template
+++ b/src/third_party/wiredtiger/tools/wtstats/wtstats.html.template
@@ -10011,17 +10011,17 @@ svg.multiline .line {
}
</style></head><body><div id="app"></div></body><script type="text/javascript">(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);throw new Error("Cannot find module '"+o+"'")}var f=n[o]={exports:{}};t[o][0].call(f.exports,function(e){var n=t[o][1][e];return s(n?n:e)},f,f.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
(function (global){
-!function t(e,n,r){function i(a,u){if(!n[a]){if(!e[a]){var s="function"==typeof require&&require;if(!u&&s)return s(a,!0);if(o)return o(a,!0);var l=new Error("Cannot find module '"+a+"'");throw l.code="MODULE_NOT_FOUND",l}var c=n[a]={exports:{}};e[a][0].call(c.exports,function(t){var n=e[a][1][t];return i(n?n:t)},c,c.exports,t,e,n,r)}return n[a].exports}for(var o="function"==typeof require&&require,a=0;a<r.length;a++)i(r[a]);return i}({1:[function(t){{var e=(window.$=window.jQuery=t("jquery"),t("../views/app")),n=t("../models/app");t("debug")("index")}t("bootstrap/js/dropdown"),t("bootstrap/js/collapse"),t("bootstrap/js/transition"),t("bootstrap/js/button");var data="### INSERT DATA HERE ###",r=window.app=new n(data,{parse:!0}),i=document.getElementById("app"),o=new e({model:r,el:i});o.render()},{"../models/app":2,"../views/app":60,"bootstrap/js/button":48,"bootstrap/js/collapse":49,"bootstrap/js/dropdown":50,"bootstrap/js/transition":51,debug:54,jquery:58}],2:[function(t,e){{var n=t("ampersand-state"),r=t("./chart"),i=t("./stat-collection"),o=t("./sidebar"),a=t("lodash"),u=t("debug")("model:app");e.exports=n.extend({children:{sidebar:o,chart:r},collections:{stats:i},props:{selectionState:{type:"array","default":function(){return[]}}},parse:function(t){var e=(new Date).getFullYear(),n={},r=a.map(t.series,function(t){if(-1!==t.key.indexOf(":"))var r=t.key.split(":"),i=r[0].trim(),o=r[1].trim();else var i="stats",o=t.key;var data=a.sortBy(a.map(t.values,function(t,n){var r=n.split(" ");r.splice(2,0,e.toString());var i=r.join(" ");return{x:new Date(i),y:t}}),"x"),u=Math.min.apply(null,data.map(function(t){return t.x}));return data.forEach(function(t){t.xrel=(t.x-u)/1e3}),n[i]=!0,{group:i,name:o,data:data}});n=a.keys(n).map(function(t){return{title:t}});var i={stats:r,sidebar:{panels:n}};return i},initialize:function(){var t=this.sidebar.panels;t.each(function(t){t.app=this}.bind(this)),this.stats.each(function(e){e.app=this,t.get(e.group).stats.add(e)}.bind(this))},clearSelectionState:function(){this.selectionState=[],u("clear")},toggleAllExcept:function(t){this.stats.filter(function(e){return e!==t}).some(function(t){return t.selected});0!==this.selectionState.length&&t.selected?(this.stats.each(function(t,e){t.selected=this.selectionState.length?this.selectionState[e]:!0}.bind(this)),this.clearSelectionState()):(this.selectionState=this.stats.map(function(t){return t.selected}),this.stats.each(function(e){e.selected=e===t}))}})}},{"./chart":3,"./sidebar":7,"./stat-collection":8,"ampersand-state":18,debug:54,lodash:59}],3:[function(t,e){{var n=t("ampersand-state"),r=t("lodash");t("debug")("model:chart"),e.exports=n.extend({props:{xSetting:{type:"string","default":"relative",values:["relative","absolute"]},ySetting:{type:"string","default":"linear",values:["linear","log-scale"]},allowSampling:{type:"boolean","default":!0},subSampled:{type:"boolean","default":!1},recalcXDomain:{type:"boolean","default":!0}},derived:{series:{deps:["parent"],cache:!1,fn:function(){var t=this.parent.stats.filter(function(t){return t.selected}).map(function(t){return r.pick(t,["color","data","name","cid","selected"])});return t}},empty:{deps:["parent","series"],cache:!1,fn:function(){return 0===this.series.length}}}})}},{"ampersand-state":18,debug:54,lodash:59}],4:[function(t,e){{var n=t("d3");e.exports=function(){function t(){var t=n.scale.category20();return t}var e;return{getInstance:function(){return e||(e=t()),e}}}()}},{d3:53}],5:[function(t,e){{var n=t("ampersand-state"),r=t("./stat-collection");t("debug")("model:panel"),e.exports=n.extend({collections:{stats:r},props:{title:{type:"string",required:!0},open:{type:"boolean","default":!1},app:{type:"object"}},derived:{selected:{deps:["stats"],cache:!1,fn:function(){var t=this.stats.filter(function(t){return t.selected});return t.length===this.stats.length?"all":0===t.length?"none":"some"}},suptitle:{deps:["title"],cache:!1,fn:function(){var t=this.title.split(" ");return t.length>1?t[0]:""}},subtitle:{deps:["title"],fn:function(){var t=this.title.split(" ");return t.length>1?t[1]:this.title}}}})}},{"./stat-collection":8,"ampersand-state":18,debug:54}],6:[function(t,e){{var n=t("ampersand-state");t("debug")("model:search"),e.exports=n.extend({props:{content:{type:"string","default":""}},derived:{empty:{deps:["content"],fn:function(){return""===this.content}}}})}},{"ampersand-state":18,debug:54}],7:[function(t,e){{var n=t("ampersand-state"),r=t("ampersand-collection"),i=t("./search"),o=t("./panel"),a=(t("lodash"),t("debug")("model:sidebar"),r.extend({mainIndex:"title",model:o}));e.exports=n.extend({children:{search:i},collections:{panels:a}})}},{"./panel":5,"./search":6,"ampersand-collection":12,"ampersand-state":18,debug:54,lodash:59}],8:[function(t,e){{var n=t("ampersand-collection"),r=t("ampersand-collection-underscore-mixin"),i=t("./stat");e.exports=n.extend(r,{comparator:"name",model:i})}},{"./stat":9,"ampersand-collection":12,"ampersand-collection-underscore-mixin":10}],9:[function(t,e){{var n=t("ampersand-state"),r=t("./colors").getInstance();t("debug")("model:stat"),e.exports=n.extend({props:{name:{type:"string","default":""},group:{type:"string","default":""},selected:{type:"boolean","default":!1},data:{type:"object"},app:{type:"object"}},derived:{color:{cache:!0,fn:function(){return r(this.cid)}}}})}},{"./colors":4,"ampersand-state":18,debug:54}],10:[function(t,e){"undefined"!=typeof window&&(window.ampersand=window.ampersand||{},window.ampersand["ampersand-collection-underscore-mixin"]=window.ampersand["ampersand-collection-underscore-mixin"]||[],window.ampersand["ampersand-collection-underscore-mixin"].push("1.0.3"));var n=t("underscore"),r=[].slice,i={},o=["forEach","each","map","collect","reduce","foldl","inject","reduceRight","foldr","find","detect","filter","select","reject","every","all","some","any","include","contains","invoke","max","min","toArray","size","first","head","take","initial","rest","tail","drop","last","without","difference","indexOf","shuffle","lastIndexOf","isEmpty","chain","sample","partition"];n.each(o,function(t){n[t]&&(i[t]=function(){var e=r.call(arguments);return e.unshift(this.models),n[t].apply(n,e)})});var a=["groupBy","countBy","sortBy","indexBy"];n.each(a,function(t){n[t]&&(i[t]=function(e,r){var i=n.isFunction(e)?e:function(t){return t.get?t.get(e):t[e]};return n[t](this.models,i,r)})}),i.where=function(t,e){return n.isEmpty(t)?e?void 0:[]:this[e?"find":"filter"](function(e){var n;for(var r in t)if(n=e.get?e.get(r):e[r],t[r]!==n)return!1;return!0})},i.findWhere=function(t){return this.where(t,!0)},i.pluck=function(t){return n.invoke(this.models,"get",t)},e.exports=i},{underscore:11}],11:[function(t,e,n){(function(){var t=this,r=t._,i=Array.prototype,o=Object.prototype,a=Function.prototype,u=i.push,s=i.slice,l=i.concat,c=o.toString,f=o.hasOwnProperty,h=Array.isArray,p=Object.keys,d=a.bind,g=function(t){return t instanceof g?t:this instanceof g?void(this._wrapped=t):new g(t)};"undefined"!=typeof n?("undefined"!=typeof e&&e.exports&&(n=e.exports=g),n._=g):t._=g,g.VERSION="1.7.0";var v=function(t,e,n){if(void 0===e)return t;switch(null==n?3:n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,i){return t.call(e,n,r,i)};case 4:return function(n,r,i,o){return t.call(e,n,r,i,o)}}return function(){return t.apply(e,arguments)}};g.iteratee=function(t,e,n){return null==t?g.identity:g.isFunction(t)?v(t,e,n):g.isObject(t)?g.matches(t):g.property(t)},g.each=g.forEach=function(t,e,n){if(null==t)return t;e=v(e,n);var r,i=t.length;if(i===+i)for(r=0;i>r;r++)e(t[r],r,t);else{var o=g.keys(t);for(r=0,i=o.length;i>r;r++)e(t[o[r]],o[r],t)}return t},g.map=g.collect=function(t,e,n){if(null==t)return[];e=g.iteratee(e,n);for(var r,i=t.length!==+t.length&&g.keys(t),o=(i||t).length,a=Array(o),u=0;o>u;u++)r=i?i[u]:u,a[u]=e(t[r],r,t);return a};var m="Reduce of empty array with no initial value";g.reduce=g.foldl=g.inject=function(t,e,n,r){null==t&&(t=[]),e=v(e,r,4);var i,o=t.length!==+t.length&&g.keys(t),a=(o||t).length,u=0;if(arguments.length<3){if(!a)throw new TypeError(m);n=t[o?o[u++]:u++]}for(;a>u;u++)i=o?o[u]:u,n=e(n,t[i],i,t);return n},g.reduceRight=g.foldr=function(t,e,n,r){null==t&&(t=[]),e=v(e,r,4);var i,o=t.length!==+t.length&&g.keys(t),a=(o||t).length;if(arguments.length<3){if(!a)throw new TypeError(m);n=t[o?o[--a]:--a]}for(;a--;)i=o?o[a]:a,n=e(n,t[i],i,t);return n},g.find=g.detect=function(t,e,n){var r;return e=g.iteratee(e,n),g.some(t,function(t,n,i){return e(t,n,i)?(r=t,!0):void 0}),r},g.filter=g.select=function(t,e,n){var r=[];return null==t?r:(e=g.iteratee(e,n),g.each(t,function(t,n,i){e(t,n,i)&&r.push(t)}),r)},g.reject=function(t,e,n){return g.filter(t,g.negate(g.iteratee(e)),n)},g.every=g.all=function(t,e,n){if(null==t)return!0;e=g.iteratee(e,n);var r,i,o=t.length!==+t.length&&g.keys(t),a=(o||t).length;for(r=0;a>r;r++)if(i=o?o[r]:r,!e(t[i],i,t))return!1;return!0},g.some=g.any=function(t,e,n){if(null==t)return!1;e=g.iteratee(e,n);var r,i,o=t.length!==+t.length&&g.keys(t),a=(o||t).length;for(r=0;a>r;r++)if(i=o?o[r]:r,e(t[i],i,t))return!0;return!1},g.contains=g.include=function(t,e){return null==t?!1:(t.length!==+t.length&&(t=g.values(t)),g.indexOf(t,e)>=0)},g.invoke=function(t,e){var n=s.call(arguments,2),r=g.isFunction(e);return g.map(t,function(t){return(r?e:t[e]).apply(t,n)})},g.pluck=function(t,e){return g.map(t,g.property(e))},g.where=function(t,e){return g.filter(t,g.matches(e))},g.findWhere=function(t,e){return g.find(t,g.matches(e))},g.max=function(t,e,n){var r,i,o=-1/0,a=-1/0;if(null==e&&null!=t){t=t.length===+t.length?t:g.values(t);for(var u=0,s=t.length;s>u;u++)r=t[u],r>o&&(o=r)}else e=g.iteratee(e,n),g.each(t,function(t,n,r){i=e(t,n,r),(i>a||i===-1/0&&o===-1/0)&&(o=t,a=i)});return o},g.min=function(t,e,n){var r,i,o=1/0,a=1/0;if(null==e&&null!=t){t=t.length===+t.length?t:g.values(t);for(var u=0,s=t.length;s>u;u++)r=t[u],o>r&&(o=r)}else e=g.iteratee(e,n),g.each(t,function(t,n,r){i=e(t,n,r),(a>i||1/0===i&&1/0===o)&&(o=t,a=i)});return o},g.shuffle=function(t){for(var e,n=t&&t.length===+t.length?t:g.values(t),r=n.length,i=Array(r),o=0;r>o;o++)e=g.random(0,o),e!==o&&(i[o]=i[e]),i[e]=n[o];return i},g.sample=function(t,e,n){return null==e||n?(t.length!==+t.length&&(t=g.values(t)),t[g.random(t.length-1)]):g.shuffle(t).slice(0,Math.max(0,e))},g.sortBy=function(t,e,n){return e=g.iteratee(e,n),g.pluck(g.map(t,function(t,n,r){return{value:t,index:n,criteria:e(t,n,r)}}).sort(function(t,e){var n=t.criteria,r=e.criteria;if(n!==r){if(n>r||void 0===n)return 1;if(r>n||void 0===r)return-1}return t.index-e.index}),"value")};var y=function(t){return function(e,n,r){var i={};return n=g.iteratee(n,r),g.each(e,function(r,o){var a=n(r,o,e);t(i,r,a)}),i}};g.groupBy=y(function(t,e,n){g.has(t,n)?t[n].push(e):t[n]=[e]}),g.indexBy=y(function(t,e,n){t[n]=e}),g.countBy=y(function(t,e,n){g.has(t,n)?t[n]++:t[n]=1}),g.sortedIndex=function(t,e,n,r){n=g.iteratee(n,r,1);for(var i=n(e),o=0,a=t.length;a>o;){var u=o+a>>>1;n(t[u])<i?o=u+1:a=u}return o},g.toArray=function(t){return t?g.isArray(t)?s.call(t):t.length===+t.length?g.map(t,g.identity):g.values(t):[]},g.size=function(t){return null==t?0:t.length===+t.length?t.length:g.keys(t).length},g.partition=function(t,e,n){e=g.iteratee(e,n);var r=[],i=[];return g.each(t,function(t,n,o){(e(t,n,o)?r:i).push(t)}),[r,i]},g.first=g.head=g.take=function(t,e,n){return null==t?void 0:null==e||n?t[0]:0>e?[]:s.call(t,0,e)},g.initial=function(t,e,n){return s.call(t,0,Math.max(0,t.length-(null==e||n?1:e)))},g.last=function(t,e,n){return null==t?void 0:null==e||n?t[t.length-1]:s.call(t,Math.max(t.length-e,0))},g.rest=g.tail=g.drop=function(t,e,n){return s.call(t,null==e||n?1:e)},g.compact=function(t){return g.filter(t,g.identity)};var b=function(t,e,n,r){if(e&&g.every(t,g.isArray))return l.apply(r,t);for(var i=0,o=t.length;o>i;i++){var a=t[i];g.isArray(a)||g.isArguments(a)?e?u.apply(r,a):b(a,e,n,r):n||r.push(a)}return r};g.flatten=function(t,e){return b(t,e,!1,[])},g.without=function(t){return g.difference(t,s.call(arguments,1))},g.uniq=g.unique=function(t,e,n,r){if(null==t)return[];g.isBoolean(e)||(r=n,n=e,e=!1),null!=n&&(n=g.iteratee(n,r));for(var i=[],o=[],a=0,u=t.length;u>a;a++){var s=t[a];if(e)a&&o===s||i.push(s),o=s;else if(n){var l=n(s,a,t);g.indexOf(o,l)<0&&(o.push(l),i.push(s))}else g.indexOf(i,s)<0&&i.push(s)}return i},g.union=function(){return g.uniq(b(arguments,!0,!0,[]))},g.intersection=function(t){if(null==t)return[];for(var e=[],n=arguments.length,r=0,i=t.length;i>r;r++){var o=t[r];if(!g.contains(e,o)){for(var a=1;n>a&&g.contains(arguments[a],o);a++);a===n&&e.push(o)}}return e},g.difference=function(t){var e=b(s.call(arguments,1),!0,!0,[]);return g.filter(t,function(t){return!g.contains(e,t)})},g.zip=function(t){if(null==t)return[];for(var e=g.max(arguments,"length").length,n=Array(e),r=0;e>r;r++)n[r]=g.pluck(arguments,r);return n},g.object=function(t,e){if(null==t)return{};for(var n={},r=0,i=t.length;i>r;r++)e?n[t[r]]=e[r]:n[t[r][0]]=t[r][1];return n},g.indexOf=function(t,e,n){if(null==t)return-1;var r=0,i=t.length;if(n){if("number"!=typeof n)return r=g.sortedIndex(t,e),t[r]===e?r:-1;r=0>n?Math.max(0,i+n):n}for(;i>r;r++)if(t[r]===e)return r;return-1},g.lastIndexOf=function(t,e,n){if(null==t)return-1;var r=t.length;for("number"==typeof n&&(r=0>n?r+n+1:Math.min(r,n+1));--r>=0;)if(t[r]===e)return r;return-1},g.range=function(t,e,n){arguments.length<=1&&(e=t||0,t=0),n=n||1;for(var r=Math.max(Math.ceil((e-t)/n),0),i=Array(r),o=0;r>o;o++,t+=n)i[o]=t;return i};var x=function(){};g.bind=function(t,e){var n,r;if(d&&t.bind===d)return d.apply(t,s.call(arguments,1));if(!g.isFunction(t))throw new TypeError("Bind must be called on a function");return n=s.call(arguments,2),r=function(){if(!(this instanceof r))return t.apply(e,n.concat(s.call(arguments)));x.prototype=t.prototype;var i=new x;x.prototype=null;var o=t.apply(i,n.concat(s.call(arguments)));return g.isObject(o)?o:i}},g.partial=function(t){var e=s.call(arguments,1);return function(){for(var n=0,r=e.slice(),i=0,o=r.length;o>i;i++)r[i]===g&&(r[i]=arguments[n++]);for(;n<arguments.length;)r.push(arguments[n++]);return t.apply(this,r)}},g.bindAll=function(t){var e,n,r=arguments.length;if(1>=r)throw new Error("bindAll must be passed function names");for(e=1;r>e;e++)n=arguments[e],t[n]=g.bind(t[n],t);return t},g.memoize=function(t,e){var n=function(r){var i=n.cache,o=e?e.apply(this,arguments):r;return g.has(i,o)||(i[o]=t.apply(this,arguments)),i[o]};return n.cache={},n},g.delay=function(t,e){var n=s.call(arguments,2);return setTimeout(function(){return t.apply(null,n)},e)},g.defer=function(t){return g.delay.apply(g,[t,1].concat(s.call(arguments,1)))},g.throttle=function(t,e,n){var r,i,o,a=null,u=0;n||(n={});var s=function(){u=n.leading===!1?0:g.now(),a=null,o=t.apply(r,i),a||(r=i=null)};return function(){var l=g.now();u||n.leading!==!1||(u=l);var c=e-(l-u);return r=this,i=arguments,0>=c||c>e?(clearTimeout(a),a=null,u=l,o=t.apply(r,i),a||(r=i=null)):a||n.trailing===!1||(a=setTimeout(s,c)),o}},g.debounce=function(t,e,n){var r,i,o,a,u,s=function(){var l=g.now()-a;e>l&&l>0?r=setTimeout(s,e-l):(r=null,n||(u=t.apply(o,i),r||(o=i=null)))};return function(){o=this,i=arguments,a=g.now();var l=n&&!r;return r||(r=setTimeout(s,e)),l&&(u=t.apply(o,i),o=i=null),u}},g.wrap=function(t,e){return g.partial(e,t)},g.negate=function(t){return function(){return!t.apply(this,arguments)}},g.compose=function(){var t=arguments,e=t.length-1;return function(){for(var n=e,r=t[e].apply(this,arguments);n--;)r=t[n].call(this,r);return r}},g.after=function(t,e){return function(){return--t<1?e.apply(this,arguments):void 0}},g.before=function(t,e){var n;return function(){return--t>0?n=e.apply(this,arguments):e=null,n}},g.once=g.partial(g.before,2),g.keys=function(t){if(!g.isObject(t))return[];if(p)return p(t);var e=[];for(var n in t)g.has(t,n)&&e.push(n);return e},g.values=function(t){for(var e=g.keys(t),n=e.length,r=Array(n),i=0;n>i;i++)r[i]=t[e[i]];return r},g.pairs=function(t){for(var e=g.keys(t),n=e.length,r=Array(n),i=0;n>i;i++)r[i]=[e[i],t[e[i]]];return r},g.invert=function(t){for(var e={},n=g.keys(t),r=0,i=n.length;i>r;r++)e[t[n[r]]]=n[r];return e},g.functions=g.methods=function(t){var e=[];for(var n in t)g.isFunction(t[n])&&e.push(n);return e.sort()},g.extend=function(t){if(!g.isObject(t))return t;for(var e,n,r=1,i=arguments.length;i>r;r++){e=arguments[r];for(n in e)f.call(e,n)&&(t[n]=e[n])}return t},g.pick=function(t,e,n){var r,i={};if(null==t)return i;if(g.isFunction(e)){e=v(e,n);for(r in t){var o=t[r];e(o,r,t)&&(i[r]=o)}}else{var a=l.apply([],s.call(arguments,1));t=new Object(t);for(var u=0,c=a.length;c>u;u++)r=a[u],r in t&&(i[r]=t[r])}return i},g.omit=function(t,e,n){if(g.isFunction(e))e=g.negate(e);else{var r=g.map(l.apply([],s.call(arguments,1)),String);e=function(t,e){return!g.contains(r,e)}}return g.pick(t,e,n)},g.defaults=function(t){if(!g.isObject(t))return t;for(var e=1,n=arguments.length;n>e;e++){var r=arguments[e];for(var i in r)void 0===t[i]&&(t[i]=r[i])}return t},g.clone=function(t){return g.isObject(t)?g.isArray(t)?t.slice():g.extend({},t):t},g.tap=function(t,e){return e(t),t};var w=function(t,e,n,r){if(t===e)return 0!==t||1/t===1/e;if(null==t||null==e)return t===e;t instanceof g&&(t=t._wrapped),e instanceof g&&(e=e._wrapped);var i=c.call(t);if(i!==c.call(e))return!1;switch(i){case"[object RegExp]":case"[object String]":return""+t==""+e;case"[object Number]":return+t!==+t?+e!==+e:0===+t?1/+t===1/e:+t===+e;case"[object Date]":case"[object Boolean]":return+t===+e}if("object"!=typeof t||"object"!=typeof e)return!1;for(var o=n.length;o--;)if(n[o]===t)return r[o]===e;var a=t.constructor,u=e.constructor;if(a!==u&&"constructor"in t&&"constructor"in e&&!(g.isFunction(a)&&a instanceof a&&g.isFunction(u)&&u instanceof u))return!1;n.push(t),r.push(e);var s,l;if("[object Array]"===i){if(s=t.length,l=s===e.length)for(;s--&&(l=w(t[s],e[s],n,r)););}else{var f,h=g.keys(t);if(s=h.length,l=g.keys(e).length===s)for(;s--&&(f=h[s],l=g.has(e,f)&&w(t[f],e[f],n,r)););}return n.pop(),r.pop(),l};g.isEqual=function(t,e){return w(t,e,[],[])},g.isEmpty=function(t){if(null==t)return!0;if(g.isArray(t)||g.isString(t)||g.isArguments(t))return 0===t.length;for(var e in t)if(g.has(t,e))return!1;return!0},g.isElement=function(t){return!(!t||1!==t.nodeType)},g.isArray=h||function(t){return"[object Array]"===c.call(t)},g.isObject=function(t){var e=typeof t;return"function"===e||"object"===e&&!!t},g.each(["Arguments","Function","String","Number","Date","RegExp"],function(t){g["is"+t]=function(e){return c.call(e)==="[object "+t+"]"}}),g.isArguments(arguments)||(g.isArguments=function(t){return g.has(t,"callee")}),"function"!=typeof/./&&(g.isFunction=function(t){return"function"==typeof t||!1}),g.isFinite=function(t){return isFinite(t)&&!isNaN(parseFloat(t))},g.isNaN=function(t){return g.isNumber(t)&&t!==+t},g.isBoolean=function(t){return t===!0||t===!1||"[object Boolean]"===c.call(t)},g.isNull=function(t){return null===t},g.isUndefined=function(t){return void 0===t},g.has=function(t,e){return null!=t&&f.call(t,e)},g.noConflict=function(){return t._=r,this},g.identity=function(t){return t},g.constant=function(t){return function(){return t}},g.noop=function(){},g.property=function(t){return function(e){return e[t]}},g.matches=function(t){var e=g.pairs(t),n=e.length;return function(t){if(null==t)return!n;t=new Object(t);for(var r=0;n>r;r++){var i=e[r],o=i[0];if(i[1]!==t[o]||!(o in t))return!1}return!0}},g.times=function(t,e,n){var r=Array(Math.max(0,t));e=v(e,n,1);for(var i=0;t>i;i++)r[i]=e(i);return r},g.random=function(t,e){return null==e&&(e=t,t=0),t+Math.floor(Math.random()*(e-t+1))},g.now=Date.now||function(){return(new Date).getTime()};var _={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;"},M=g.invert(_),k=function(t){var e=function(e){return t[e]},n="(?:"+g.keys(t).join("|")+")",r=RegExp(n),i=RegExp(n,"g");return function(t){return t=null==t?"":""+t,r.test(t)?t.replace(i,e):t}};g.escape=k(_),g.unescape=k(M),g.result=function(t,e){if(null==t)return void 0;var n=t[e];return g.isFunction(n)?t[e]():n};var E=0;g.uniqueId=function(t){var e=++E+"";return t?t+e:e},g.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var C=/(.)^/,S={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},T=/\\|'|\r|\n|\u2028|\u2029/g,j=function(t){return"\\"+S[t]};g.template=function(t,e,n){!e&&n&&(e=n),e=g.defaults({},e,g.templateSettings);var r=RegExp([(e.escape||C).source,(e.interpolate||C).source,(e.evaluate||C).source].join("|")+"|$","g"),i=0,o="__p+='";t.replace(r,function(e,n,r,a,u){return o+=t.slice(i,u).replace(T,j),i=u+e.length,n?o+="'+\n((__t=("+n+"))==null?'':_.escape(__t))+\n'":r?o+="'+\n((__t=("+r+"))==null?'':__t)+\n'":a&&(o+="';\n"+a+"\n__p+='"),e}),o+="';\n",e.variable||(o="with(obj||{}){\n"+o+"}\n"),o="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+o+"return __p;\n";try{var a=new Function(e.variable||"obj","_",o)}catch(u){throw u.source=o,u}var s=function(data){return a.call(this,data,g)},l=e.variable||"obj";return s.source="function("+l+"){\n"+o+"}",s},g.chain=function(t){var e=g(t);return e._chain=!0,e};var A=function(t){return this._chain?g(t).chain():t};g.mixin=function(t){g.each(g.functions(t),function(e){var n=g[e]=t[e];g.prototype[e]=function(){var t=[this._wrapped];return u.apply(t,arguments),A.call(this,n.apply(g,t))}})},g.mixin(g),g.each(["pop","push","reverse","shift","sort","splice","unshift"],function(t){var e=i[t];g.prototype[t]=function(){var n=this._wrapped;return e.apply(n,arguments),"shift"!==t&&"splice"!==t||0!==n.length||delete n[0],A.call(this,n)}}),g.each(["concat","join","slice"],function(t){var e=i[t];g.prototype[t]=function(){return A.call(this,e.apply(this._wrapped,arguments))}}),g.prototype.value=function(){return this._wrapped},"function"==typeof define&&define.amd&&define("underscore",[],function(){return g})}).call(this)},{}],12:[function(t,e){function n(t,e){if(e||(e={}),e.model&&(this.model=e.model),e.comparator&&(this.comparator=e.comparator),e.parent&&(this.parent=e.parent),!this.mainIndex){var n=this.model&&this.model.prototype&&this.model.prototype.idAttribute;this.mainIndex=n||"id"}this._reset(),this.initialize.apply(this,arguments),t&&this.reset(t,a({silent:!0},e))}var r=t("backbone-events-standalone"),i=t("ampersand-class-extend"),o=t("is-array"),a=t("extend-object"),u=[].slice;a(n.prototype,r,{initialize:function(){},indexes:[],isModel:function(t){return this.model&&t instanceof this.model},add:function(t,e){return this.set(t,a({merge:!1,add:!0,remove:!1},e))},parse:function(t){return t},serialize:function(){return this.map(function(t){if(t.serialize)return t.serialize();var e={};return a(e,t),delete e.collection,e})},toJSON:function(){return this.serialize()},set:function(t,e){e=a({add:!0,remove:!0,merge:!0},e),e.parse&&(t=this.parse(t,e));var n=!o(t);t=n?t?[t]:[]:t.slice();var r,i,u,s,l,c,f,h=e.at,p=this.comparator&&null==h&&e.sort!==!1,d="string"==typeof this.comparator?this.comparator:null,g=[],v=[],m={},y=e.add,b=e.merge,x=e.remove,w=!p&&y&&x?[]:!1,_=this.model&&this.model.prototype||Object.prototype;for(c=0,f=t.length;f>c;c++){if(u=t[c]||{},r=this.isModel(u)?i=u:_.generateId?_.generateId(u):u[_.idAttribute||this.mainIndex],s=this.get(r))x&&(m[s.cid||s[this.mainIndex]]=!0),b&&(u=u===i?i.attributes:u,e.parse&&(u=s.parse(u,e)),s.set?(s.set(u,e),p&&!l&&s.hasChanged(d)&&(l=!0)):a(s,u)),t[c]=s;else if(y){if(i=t[c]=this._prepareModel(u,e),!i)continue;g.push(i),this._addReference(i,e)}i=s||i,i&&(w&&(i.isNew&&i.isNew()||!i[this.mainIndex]||!m[i.cid||i[this.mainIndex]])&&w.push(i),m[i[this.mainIndex]]=!0)}if(x){for(c=0,f=this.length;f>c;c++)i=this.models[c],m[i.cid||i[this.mainIndex]]||v.push(i);v.length&&this.remove(v,e)}if(g.length||w&&w.length)if(p&&(l=!0),null!=h)for(c=0,f=g.length;f>c;c++)this.models.splice(h+c,0,g[c]);else{var M=w||g;for(c=0,f=M.length;f>c;c++)this.models.push(M[c])}if(l&&this.sort({silent:!0}),!e.silent){for(c=0,f=g.length;f>c;c++)i=g[c],i.trigger?i.trigger("add",i,this,e):this.trigger("add",i,this,e);(l||w&&w.length)&&this.trigger("sort",this,e)}return n?t[0]:t},get:function(t,e){if(t){var n=this._indexes[e||this.mainIndex];return n[t]||n[t[this.mainIndex]]||this._indexes.cid[t]||this._indexes.cid[t.cid]}},at:function(t){return this.models[t]},remove:function(t,e){var n,r,i,a,s=!o(t);for(t=s?[t]:u.call(t),e||(e={}),n=0,r=t.length;r>n;n++)i=t[n]=this.get(t[n]),i&&(this._deIndex(i),a=this.models.indexOf(i),this.models.splice(a,1),e.silent||(e.index=a,i.trigger?i.trigger("remove",i,this,e):this.trigger("remove",i,this,e)),this._removeReference(i,e));return s?t[0]:t},reset:function(t,e){e||(e={});for(var n=0,r=this.models.length;r>n;n++)this._removeReference(this.models[n],e);return e.previousModels=this.models,this._reset(),t=this.add(t,a({silent:!0},e)),e.silent||this.trigger("reset",this,e),t},sort:function(t){var e=this;if(!this.comparator)throw new Error("Cannot sort a set without a comparator");return t||(t={}),this.models.sort("string"==typeof this.comparator?function(t,n){return t.get?(t=t.get(e.comparator),n=n.get(e.comparator)):(t=t[e.comparator],n=n[e.comparator]),t>n||void 0===t?1:n>t||void 0===n?-1:0}:1===this.comparator.length?function(t,n){return t=e.comparator(t),n=e.comparator(n),t>n||void 0===t?1:n>t||void 0===n?-1:0}:this.comparator.bind(this)),t.silent||this.trigger("sort",this,t),this},_reset:function(){var t=this.indexes||[],e=0;t.push(this.mainIndex),t.push("cid");var n=t.length;for(this.models=[],this._indexes={};n>e;e++)this._indexes[t[e]]={}},_prepareModel:function(t,e){if(!this.model)return t;if(this.isModel(t))return t.collection||(t.collection=this),t;e=e?a({},e):{},e.collection=this;var n=new this.model(t,e);return n.validationError?(this.trigger("invalid",this,n.validationError,e),!1):n},_deIndex:function(t){for(var e in this._indexes)delete this._indexes[e][t[e]||t.get&&t.get(e)]},_index:function(t){for(var e in this._indexes){var n=t[e]||t.get&&t.get(e);n&&(this._indexes[e][n]=t)}},_addReference:function(t){this._index(t),t.collection||(t.collection=this),t.on&&t.on("all",this._onModelEvent,this)},_removeReference:function(t){this===t.collection&&delete t.collection,this._deIndex(t),t.off&&t.off("all",this._onModelEvent,this)},_onModelEvent:function(t,e,n,r){("add"!==t&&"remove"!==t||n===this)&&("destroy"===t&&this.remove(e,r),e&&t==="change:"+this.mainIndex&&(this._deIndex(e),this._index(e)),this.trigger.apply(this,arguments))}}),Object.defineProperties(n.prototype,{length:{get:function(){return this.models.length}},isCollection:{value:!0}});var s=["indexOf","lastIndexOf","every","some","forEach","map","filter","reduce","reduceRight"];s.forEach(function(t){n.prototype[t]=function(){return this.models[t].apply(this.models,arguments)}}),n.prototype.each=n.prototype.forEach,n.extend=i,e.exports=n},{"ampersand-class-extend":13,"backbone-events-standalone":15,"extend-object":16,"is-array":17}],13:[function(t,e){var n=t("extend-object"),r=function(t){var e,r=this,i=[].slice.call(arguments);e=t&&t.hasOwnProperty("constructor")?t.constructor:function(){return r.apply(this,arguments)},n(e,r);var o=function(){this.constructor=e};return o.prototype=r.prototype,e.prototype=new o,t&&(i.unshift(e.prototype),n.apply(null,i)),e.__super__=r.prototype,e};e.exports=r},{"extend-object":16}],14:[function(t,e,n){!function(){function t(){return{keys:Object.keys,uniqueId:function(t){var e=++l+"";return t?t+e:e},has:function(t,e){return u.call(t,e)},each:function(t,e,n){if(null!=t)if(a&&t.forEach===a)t.forEach(e,n);else if(t.length===+t.length){for(var r=0,i=t.length;i>r;r++)if(e.call(n,t[r],r,t)===o)return}else for(var u in t)if(this.has(t,u)&&e.call(n,t[u],u,t)===o)return},once:function(t){var e,n=!1;return function(){return n?e:(n=!0,e=t.apply(this,arguments),t=null,e)}}}}var r,i=this,o={},a=Array.prototype.forEach,u=Object.prototype.hasOwnProperty,s=Array.prototype.slice,l=0,c=t();r={on:function(t,e,n){if(!h(this,"on",t,[e,n])||!e)return this;this._events||(this._events={});var r=this._events[t]||(this._events[t]=[]);return r.push({callback:e,context:n,ctx:n||this}),this},once:function(t,e,n){if(!h(this,"once",t,[e,n])||!e)return this;var r=this,i=c.once(function(){r.off(t,i),e.apply(this,arguments)});return i._callback=e,this.on(t,i,n)},off:function(t,e,n){var r,i,o,a,u,s,l,f;if(!this._events||!h(this,"off",t,[e,n]))return this;if(!t&&!e&&!n)return this._events={},this;for(a=t?[t]:c.keys(this._events),u=0,s=a.length;s>u;u++)if(t=a[u],o=this._events[t]){if(this._events[t]=r=[],e||n)for(l=0,f=o.length;f>l;l++)i=o[l],(e&&e!==i.callback&&e!==i.callback._callback||n&&n!==i.context)&&r.push(i);r.length||delete this._events[t]}return this},trigger:function(t){if(!this._events)return this;var e=s.call(arguments,1);if(!h(this,"trigger",t,e))return this;var n=this._events[t],r=this._events.all;return n&&p(n,e),r&&p(r,arguments),this},stopListening:function(t,e,n){var r=this._listeners;if(!r)return this;var i=!e&&!n;"object"==typeof e&&(n=this),t&&((r={})[t._listenerId]=t);for(var o in r)r[o].off(e,n,this),i&&delete this._listeners[o];return this}};var f=/\s+/,h=function(t,e,n,r){if(!n)return!0;if("object"==typeof n){for(var i in n)t[e].apply(t,[i,n[i]].concat(r));return!1}if(f.test(n)){for(var o=n.split(f),a=0,u=o.length;u>a;a++)t[e].apply(t,[o[a]].concat(r));return!1}return!0},p=function(t,e){var n,r=-1,i=t.length,o=e[0],a=e[1],u=e[2];switch(e.length){case 0:for(;++r<i;)(n=t[r]).callback.call(n.ctx);return;case 1:for(;++r<i;)(n=t[r]).callback.call(n.ctx,o);return;case 2:for(;++r<i;)(n=t[r]).callback.call(n.ctx,o,a);return;case 3:for(;++r<i;)(n=t[r]).callback.call(n.ctx,o,a,u);return;default:for(;++r<i;)(n=t[r]).callback.apply(n.ctx,e)}},d={listenTo:"on",listenToOnce:"once"};c.each(d,function(t,e){r[e]=function(e,n,r){var i=this._listeners||(this._listeners={}),o=e._listenerId||(e._listenerId=c.uniqueId("l"));return i[o]=e,"object"==typeof n&&(r=this),e[t](n,r,this),this}}),r.bind=r.on,r.unbind=r.off,r.mixin=function(t){var e=["on","once","off","trigger","stopListening","listenTo","listenToOnce","bind","unbind"];return c.each(e,function(e){t[e]=this[e]},this),t},"function"==typeof define?define(function(){return r}):"undefined"!=typeof n?("undefined"!=typeof e&&e.exports&&(n=e.exports=r),n.BackboneEvents=r):i.BackboneEvents=r}(this)},{}],15:[function(t,e){e.exports=t("./backbone-events-standalone")},{"./backbone-events-standalone":14}],16:[function(t,e){var n=[],r=n.forEach,i=n.slice;e.exports=function(t){return r.call(i.call(arguments,1),function(e){if(e)for(var n in e)t[n]=e[n]}),t}},{}],17:[function(t,e){var n=Array.isArray,r=Object.prototype.toString;e.exports=n||function(t){return!!t&&"[object Array]"==r.call(t)}},{}],18:[function(t,e){function n(t,e){e||(e={}),this.cid||(this.cid=a.uniqueId("state")),this._events={},this._values={},this._definition=Object.create(this._definition),e.parse&&(t=this.parse(t,e)),this.parent=e.parent,this.collection=e.collection,this._keyTree=new s,this._initCollections(),this._initChildren(),this._cache={},this._previousAttributes={},t&&this.set(t,a.extend({silent:!0,initial:!0},e)),this._changed={},this._derived&&this._initDerived(),e.init!==!1&&this.initialize.apply(this,arguments)}function r(t,e,n,r){var i,o,u=t._definition[e]={};if(a.isString(n))i=t._ensureValidType(n),i&&(u.type=i);else{if(a.isArray(n)&&(o=n,n={type:o[0],required:o[1],"default":o[2]}),i=t._ensureValidType(n.type),i&&(u.type=i),n.required&&(u.required=!0),n["default"]&&"object"==typeof n["default"])throw new TypeError("The default value for "+e+" cannot be an object/array, must be a value or a function which returns a value/object/array");u["default"]=n["default"],u.allowNull=n.allowNull?n.allowNull:!1,n.setOnce&&(u.setOnce=!0),u.required&&a.isUndefined(u["default"])&&!u.setOnce&&(u["default"]=t._getDefaultForType(i)),u.test=n.test,u.values=n.values
-}return r&&(u.session=!0),Object.defineProperty(t,e,{set:function(t){this.set(e,t)},get:function(){var t=this._values[e],n=this._dataTypes[u.type];return"undefined"!=typeof t?(n&&n.get&&(t=n.get(t)),t):(t=a.result(u,"default"),this._values[e]=t,t)}}),u}function i(t,e,n){var r=t._derived[e]={fn:a.isFunction(n)?n:n.fn,cache:n.cache!==!1,depList:n.deps||[]};a.each(r.depList,function(n){t._deps[n]=a(t._deps[n]||[]).union([e])}),Object.defineProperty(t,e,{get:function(){return this._getDerivedProperty(e)},set:function(){throw new TypeError('"'+e+"\" is a derived property, it can't be set directly.")}})}function o(t){var e,n=this,o=[].slice.call(arguments);e=t&&t.hasOwnProperty("constructor")?t.constructor:function(){return n.apply(this,arguments)},a.extend(e,n);var u=function(){this.constructor=e};u.prototype=n.prototype,e.prototype=new u,e.prototype._derived=a.extend({},n.prototype._derived),e.prototype._deps=a.extend({},n.prototype._deps),e.prototype._definition=a.extend({},n.prototype._definition),e.prototype._collections=a.extend({},n.prototype._collections),e.prototype._children=a.extend({},n.prototype._children),e.prototype._dataTypes=a.extend({},n.prototype._dataTypes||f),t&&o.forEach(function(t){var n=["dataTypes","props","session","derived","collections","children"];t.dataTypes&&a.each(t.dataTypes,function(t,n){e.prototype._dataTypes[n]=t}),t.props&&a.each(t.props,function(t,n){r(e.prototype,n,t)}),t.session&&a.each(t.session,function(t,n){r(e.prototype,n,t,!0)}),t.derived&&a.each(t.derived,function(t,n){i(e.prototype,n,t)}),t.collections&&a.each(t.collections,function(t,n){e.prototype._collections[n]=t}),t.children&&a.each(t.children,function(t,n){e.prototype._children[n]=t}),a.extend(e.prototype,a.omit(t,n))});Object.prototype.toString;return e.__super__=n.prototype,e}"undefined"!=typeof window&&(window.ampersand=window.ampersand||{},window.ampersand["ampersand-state"]=window.ampersand["ampersand-state"]||[],window.ampersand["ampersand-state"].push("4.4.4"));var a=t("underscore"),u=t("backbone-events-standalone"),s=t("key-tree-store"),l=t("array-next"),c=/^change:/;a.extend(n.prototype,u,{extraProperties:"ignore",idAttribute:"id",namespaceAttribute:"namespace",typeAttribute:"modelType",initialize:function(){return this},getId:function(){return this[this.idAttribute]},getNamespace:function(){return this[this.namespaceAttribute]},getType:function(){return this[this.typeAttribute]},isNew:function(){return null==this.getId()},escape:function(t){return a.escape(this.get(t))},isValid:function(t){return this._validate({},a.extend(t||{},{validate:!0}))},parse:function(t){return t},serialize:function(){var t=this.getAttributes({props:!0},!0);return a.each(this._children,function(e,n){t[n]=this[n].serialize()},this),a.each(this._collections,function(e,n){t[n]=this[n].serialize()},this),t},set:function(t,e,n){var r,i,o,u,s,l,c,f,h,p,d,g,v,m,y,b,x=this,w=this.extraProperties;if(a.isObject(t)||null===t?(h=t,n=e):(h={},h[t]=e),n=n||{},!this._validate(h,n))return!1;g=n.unset,d=n.silent,m=n.initial,i=[],r=this._changing,this._changing=!0,r||(this._previousAttributes=this.attributes,this._changed={});for(f in h){if(u=h[f],o=typeof u,v=this._values[f],s=this._definition[f],!s){if(this._children[f]||this._collections[f]){this[f].set(u,n);continue}if("ignore"===w)continue;if("reject"===w)throw new TypeError('No "'+f+'" property defined on '+(this.type||"this")+' model and extraProperties not set to "ignore" or "allow"');if("allow"===w)s=this._createPropertyDefinition(f,"any");else if(w)throw new TypeError('Invalid value for extraProperties: "'+w+'"')}if(b=this._getCompareForType(s.type),p=this._dataTypes[s.type],p&&p.set&&(l=p.set(u),u=l.val,o=l.type),s.test&&(c=s.test.call(this,u,o)))throw new TypeError("Property '"+f+"' failed validation with error: "+c);if(a.isUndefined(u)&&s.required)throw new TypeError("Required property '"+f+"' must be of type "+s.type+". Tried to set "+u);if(a.isNull(u)&&s.required&&!s.allowNull)throw new TypeError("Property '"+f+"' must be of type "+s.type+" (cannot be null). Tried to set "+u);if(s.type&&"any"!==s.type&&s.type!==o&&!a.isNull(u)&&!a.isUndefined(u))throw new TypeError("Property '"+f+"' must be of type "+s.type+". Tried to set "+u);if(s.values&&!a.contains(s.values,u))throw new TypeError("Property '"+f+"' must be one of values: "+s.values.join(", ")+". Tried to set "+u);if(y=!b(v,u,f),s.setOnce&&void 0!==v&&y&&!m)throw new TypeError("Property '"+f+"' can only be set once.");y?(i.push({prev:v,val:u,key:f}),x._changed[f]=u):delete x._changed[f]}if(a.each(i,function(t){x._previousAttributes[t.key]=t.prev,g?delete x._values[t.key]:x._values[t.key]=t.val}),!d&&i.length&&(x._pending=!0),d||a.each(i,function(t){x.trigger("change:"+t.key,x,t.val,n)}),r)return this;if(!d)for(;this._pending;)this._pending=!1,this.trigger("change",this,n);return this._pending=!1,this._changing=!1,this},get:function(t){return this[t]},toggle:function(t){var e=this._definition[t];if("boolean"===e.type)this[t]=!this[t];else{if(!e||!e.values)throw new TypeError("Can only toggle properties that are type `boolean` or have `values` array.");this[t]=l(e.values,this[t])}return this},previousAttributes:function(){return a.clone(this._previousAttributes)},hasChanged:function(t){return null==t?!a.isEmpty(this._changed):a.has(this._changed,t)},changedAttributes:function(t){if(!t)return this.hasChanged()?a.clone(this._changed):!1;var e,n,r,i=!1,o=this._changing?this._previousAttributes:this.attributes;for(var u in t)n=this._definition[u],n&&(r=this._getCompareForType(n.type),r(o[u],e=t[u])||((i||(i={}))[u]=e));return i},toJSON:function(){return this.serialize()},unset:function(t,e){{var n,r=this._definition[t];r.type}return r.required?(n=a.result(r,"default"),this.set(t,n,e)):this.set(t,n,a.extend({},e,{unset:!0}))},clear:function(t){var e=this;return a.each(a.keys(this.attributes),function(n){e.unset(n,t)}),this},previous:function(t){return null!=t&&Object.keys(this._previousAttributes).length?this._previousAttributes[t]:null},_getDefaultForType:function(t){var e=this._dataTypes[t];return e&&e["default"]},_getCompareForType:function(t){var e=this._dataTypes[t];return e&&e.compare?a.bind(e.compare,this):a.isEqual},_validate:function(t,e){if(!e.validate||!this.validate)return!0;t=a.extend({},this.attributes,t);var n=this.validationError=this.validate(t,e)||null;return n?(this.trigger("invalid",this,n,a.extend(e||{},{validationError:n})),!1):!0},_createPropertyDefinition:function(t,e,n){return r(this,t,e,n)},_ensureValidType:function(t){return a.contains(["string","number","boolean","array","object","date","any"].concat(a.keys(this._dataTypes)),t)?t:void 0},getAttributes:function(t,e){t||(t={}),a.defaults(t,{session:!1,props:!1,derived:!1});var n,r,i,o={};for(r in this._definition)i=this._definition[r],(t.session&&i.session||t.props&&!i.session)&&(n=e?this._values[r]:this[r],"undefined"==typeof n&&(n=a.result(i,"default")),"undefined"!=typeof n&&(o[r]=n));if(t.derived)for(r in this._derived)o[r]=this[r];return o},_initDerived:function(){var t=this;a.each(this._derived,function(e,n){var r=t._derived[n];r.deps=r.depList;var i=function(e){e=e||{};var i=r.fn.call(t);t._cache[n]===i&&r.cache||(r.cache&&(t._previousAttributes[n]=t._cache[n]),t._cache[n]=i,t.trigger("change:"+n,t,t._cache[n]))};r.deps.forEach(function(e){t._keyTree.add(e,i)})}),this.on("all",function(e){c.test(e)&&t._keyTree.get(e.split(":")[1]).forEach(function(t){t()})},this)},_getDerivedProperty:function(t,e){return this._derived[t].cache?((e||!this._cache.hasOwnProperty(t))&&(this._cache[t]=this._derived[t].fn.apply(this)),this._cache[t]):this._derived[t].fn.apply(this)},_initCollections:function(){var t;if(this._collections)for(t in this._collections)this[t]=new this._collections[t](null,{parent:this})},_initChildren:function(){var t;if(this._children)for(t in this._children)this[t]=new this._children[t]({},{parent:this}),this.listenTo(this[t],"all",this._getEventBubblingHandler(t))},_getEventBubblingHandler:function(t){return a.bind(function(e,n,r){c.test(e)?this.trigger("change:"+t+"."+e.split(":")[1],n,r):"change"===e&&this.trigger("change",this)},this)},_verifyRequired:function(){var t=this.attributes;for(var e in this._definition)if(this._definition[e].required&&"undefined"==typeof t[e])return!1;return!0}}),Object.defineProperties(n.prototype,{attributes:{get:function(){return this.getAttributes({props:!0,session:!0})}},all:{get:function(){return this.getAttributes({session:!0,props:!0,derived:!0})}},isState:{get:function(){return!0},set:function(){}}});var f={string:{"default":function(){return""}},date:{set:function(t){var e;if(a.isDate(t))e="date",t=t.valueOf();else try{var n=new Date(t).valueOf();if(isNaN(n)&&(n=new Date(parseInt(t,10)).valueOf(),isNaN(n)))throw TypeError;t=n,e="date"}catch(r){e=typeof t}return{val:t,type:e}},get:function(t){return new Date(t)},"default":function(){return new Date}},array:{set:function(t){return{val:t,type:a.isArray(t)?"array":typeof t}},"default":function(){return[]}},object:{set:function(t){var e=typeof t;return"object"!==e&&a.isUndefined(t)&&(t=null,e="object"),{val:t,type:e}},"default":function(){return{}}},state:{set:function(t){var e=t instanceof n||t&&t.isState;return e?{val:t,type:"state"}:{val:t,type:typeof t}},compare:function(t,e,n){var r=t===e;return r||(t&&this.stopListening(t),null!=e&&this.listenTo(e,"all",this._getEventBubblingHandler(n))),r}}};n.extend=o,e.exports=n},{"array-next":19,"backbone-events-standalone":21,"key-tree-store":22,underscore:23}],19:[function(t,e){e.exports=function(t,e){var n=t.length,r=t.indexOf(e)+1;return r>n-1&&(r=0),t[r]}},{}],20:[function(t,e){e.exports=t(14)},{"/mnt/fast/bostic/work/wiredtiger/tools/wtstats/template/node_modules/ampersand-collection/node_modules/backbone-events-standalone/backbone-events-standalone.js":14}],21:[function(t,e){e.exports=t(15)},{"./backbone-events-standalone":20,"/mnt/fast/bostic/work/wiredtiger/tools/wtstats/template/node_modules/ampersand-collection/node_modules/backbone-events-standalone/index.js":15}],22:[function(t,e){function n(){this.storage={}}n.prototype.add=function(t,e){var n=this.storage[t]||(this.storage[t]=[]);n.push(e)},n.prototype.remove=function(t){var e,n;for(e in this.storage)n=this.storage[e],n.some(function(e,r){return e===t?(n.splice(r,1),!0):void 0})},n.prototype.get=function(t){var e,n=[];for(e in this.storage)(t===e||0===e.indexOf(t+"."))&&(n=n.concat(this.storage[e]));return n},e.exports=n},{}],23:[function(t,e){e.exports=t(11)},{"/mnt/fast/bostic/work/wiredtiger/tools/wtstats/template/node_modules/ampersand-collection-underscore-mixin/node_modules/underscore/underscore.js":11}],24:[function(t,e){function n(t,e){e||(e={}),this.collection=t,this._reset(),this._watched=e.watched||[],this._parseFilters(e),this._runFilters(),this.listenTo(this.collection,"all",this._onCollectionEvent)}"undefined"!=typeof window&&(window.ampersand=window.ampersand||{},window.ampersand["ampersand-subcollection"]=window.ampersand["ampersand-subcollection"]||[],window.ampersand["ampersand-subcollection"].push("1.5.0"));var r=t("underscore"),i=t("backbone-events-standalone"),o=t("ampersand-class-extend"),a=t("ampersand-collection-underscore-mixin"),u=Array.prototype.slice;r.extend(n.prototype,i,a,{addFilter:function(t){this.swapFilters([t],[])},removeFilter:function(t){this.swapFilters([],[t])},clearFilters:function(){this._reset(),this._runFilters()},swapFilters:function(t,e){var n=this;e?r.isArray(e)||(e=[e]):e=this._filters,t?r.isArray(t)||(t=[t]):t=[],e.forEach(function(t){n._removeFilter(t)}),t.forEach(function(t){n._addFilter(t)}),this._runFilters()},configure:function(t,e){e&&this._resetFilters(),this._parseFilters(t),this._runFilters()},at:function(t){return this.models[t]},get:function(t,e){var n=this.collection.get(t,e);return n&&this.contains(n)?n:void 0},_removeFilter:function(t){var e=this._filters.indexOf(t);-1!==e&&this._filters.splice(e,1)},_reset:function(){this.models=[],this._resetFilters()},_resetFilters:function(){this._filters=[],this._watched=[],this.limit=void 0,this.offset=void 0},_addFilter:function(t){this._filters.push(t)},_watch:function(t){this._watched=r.union(this._watched,r.isArray(t)?t:[t])},_unwatch:function(t){this._watched=r.without(this._watched,t)},_parseFilters:function(t){t.where&&(r.each(t.where,function(t,e){this._addFilter(function(n){return(n.get?n.get(e):n[e])===t})},this),this._watch(r.keys(t.where))),t.hasOwnProperty("limit")&&(this.limit=t.limit),t.hasOwnProperty("offset")&&(this.offset=t.offset),t.filter&&this._addFilter(t.filter,!1),t.filters&&t.filters.forEach(this._addFilter,this),t.comparator&&(this.comparator=t.comparator)},_runFilters:function(){var t,e,n,i=u.call(this.models),o=u.call(this.collection.models),a=this.offset||0;t=this._filters.length?r.reduce(this._filters,function(t,e){return t.filter(e)},o):u.call(o),this.comparator&&(t=r.sortBy(t,this.comparator)),(this.limit||this.offset)&&(t=t.slice(a,this.limit+a)),e=r.difference(t,i),n=r.difference(i,t),this.models=t,r.each(n,function(t){this.trigger("remove",t,this)},this),r.each(e,function(t){this.trigger("add",t,this)},this),r.isEqual(i,t)||this.trigger("sort",this)},_onCollectionEvent:function(t,e){(r.contains(this._watched,t.split(":")[1])||r.contains(["add","remove","reset","sync"],t))&&this._runFilters(),(r.contains(["sync","invalid","destroy"])||-1!==t.indexOf("change"))&&this.contains(e)&&this.trigger.apply(this,arguments)}}),Object.defineProperty(n.prototype,"length",{get:function(){return this.models.length}}),Object.defineProperty(n.prototype,"isCollection",{get:function(){return!0}}),n.extend=o,e.exports=n},{"ampersand-class-extend":25,"ampersand-collection-underscore-mixin":10,"backbone-events-standalone":28,underscore:29}],25:[function(t,e){e.exports=t(13)},{"/mnt/fast/bostic/work/wiredtiger/tools/wtstats/template/node_modules/ampersand-collection/node_modules/ampersand-class-extend/ampersand-class-extend.js":13,"extend-object":26}],26:[function(t,e){e.exports=t(16)},{"/mnt/fast/bostic/work/wiredtiger/tools/wtstats/template/node_modules/ampersand-collection/node_modules/extend-object/extend-object.js":16}],27:[function(t,e){e.exports=t(14)},{"/mnt/fast/bostic/work/wiredtiger/tools/wtstats/template/node_modules/ampersand-collection/node_modules/backbone-events-standalone/backbone-events-standalone.js":14}],28:[function(t,e){e.exports=t(15)},{"./backbone-events-standalone":27,"/mnt/fast/bostic/work/wiredtiger/tools/wtstats/template/node_modules/ampersand-collection/node_modules/backbone-events-standalone/index.js":15}],29:[function(t,e){e.exports=t(11)},{"/mnt/fast/bostic/work/wiredtiger/tools/wtstats/template/node_modules/ampersand-collection-underscore-mixin/node_modules/underscore/underscore.js":11}],30:[function(t,e){function n(t){this.cid=a.uniqueId("view"),t||(t={});var e=t.parent;delete t.parent,f.call(this,t,{init:!1,parent:e}),this.on("change:el",this._handleElementChange,this),this._parsedBindings=l(this.bindings,this),this._initializeBindings(),t.el&&!this.autoRender&&this._handleElementChange(),this._initializeSubviews(),this.template=t.template||this.template,this.initialize.apply(this,arguments),this.set(a.pick(t,h)),this.autoRender&&this.template&&this.render()}"undefined"!=typeof window&&(window.ampersand=window.ampersand||{},window.ampersand["ampersand-view"]=window.ampersand["ampersand-view"]||[],window.ampersand["ampersand-view"].push("7.2.0"));var r=t("ampersand-state"),i=t("ampersand-collection-view"),o=t("domify"),a=t("underscore"),u=t("events-mixin"),s=t("matches-selector"),l=t("ampersand-dom-bindings"),c=t("get-object-path"),f=r.extend({dataTypes:{element:{set:function(t){return{val:t,type:t instanceof Element?"element":typeof t}},compare:function(t,e){return t===e}},collection:{set:function(t){return{val:t,type:t&&t.isCollection?"collection":typeof t}},compare:function(t,e){return t===e}}},props:{model:"state",el:"element",collection:"collection"},derived:{rendered:{deps:["el"],fn:function(){return!!this.el}},hasData:{deps:["model"],fn:function(){return!!this.model}}}}),h=["model","collection","el"];n.prototype=Object.create(f.prototype),a.extend(n.prototype,{query:function(t){return t?"string"==typeof t?s(this.el,t)?this.el:this.el.querySelector(t)||void 0:t:this.el},queryAll:function(t){var e=[];return this.el?""===t?[this.el]:(s(this.el,t)&&e.push(this.el),e.concat(Array.prototype.slice.call(this.el.querySelectorAll(t)))):e},queryByHook:function(t){return this.query('[data-hook~="'+t+'"]')},initialize:function(){},render:function(){return this.renderWithTemplate(this),this},remove:function(){var t=this._parsedBindings;return this.el&&this.el.parentNode&&this.el.parentNode.removeChild(this.el),this._subviews&&a.chain(this._subviews).flatten().invoke("remove"),this.stopListening(),a.each(t,function(e,n){a.each(e,function(e,r){delete t[n][r]}),delete t[n]}),this.trigger("remove",this),this},_handleElementChange:function(){return this.eventManager&&this.eventManager.unbind(),this.eventManager=u(this.el,this),this.delegateEvents(),this._applyBindingsForKey(),this},delegateEvents:function(t){if(!t&&!(t=a.result(this,"events")))return this;this.undelegateEvents();for(var e in t)this.eventManager.bind(e,t[e]);return this},undelegateEvents:function(){return this.eventManager.unbind(),this},registerSubview:function(t){return this._subviews||(this._subviews=[]),this._subviews.push(t),t.el&&(t.parent=this),t},renderSubview:function(t,e){return"string"==typeof e&&(e=this.query(e)),this.registerSubview(t),t.render(),(e||this.el).appendChild(t.el),t},_applyBindingsForKey:function(t){if(this.el){var e,n=this._parsedBindings.getGrouped(t);for(e in n)n[e].forEach(function(t){t(this.el,c(this,e),a.last(e.split(".")))},this)}},_initializeBindings:function(){this.bindings&&this.on("all",function(t){"change:"===t.slice(0,7)&&this._applyBindingsForKey(t.split(":")[1])},this)},_initializeSubviews:function(){if(this.subviews)for(var t in this.subviews)this._parseSubview(this.subviews[t],t)},_parseSubview:function(t,e){function n(){var t,r;this.el&&(t=this.query(i.selector))&&(!i.waitFor||c(this,i.waitFor))&&(r=this[e]=i.prepareView.call(this,t),r.render(),this.registerSubview(r),this.off("change",n))}var r=this,i={selector:t.container||'[data-hook="'+t.hook+'"]',waitFor:t.waitFor||"",prepareView:t.prepareView||function(e){return new t.constructor({el:e,parent:r})}};this.on("change",n,this)},renderWithTemplate:function(t,e){var n=e||this.template;if(!n)throw new Error("Template string or function needed.");var r=a.isString(n)?n:n.call(this,t||this);a.isString(r)&&(r=o(r));var i=this.el&&this.el.parentNode;if(i&&i.replaceChild(r,this.el),"#document-fragment"===r.nodeName)throw new Error("Views can only have one root element.");return this.el=r,this},cacheElements:function(t){for(var e in t)this[e]=this.query(t[e])},listenToAndRun:function(t,e,n){var r=a.bind(n,this);this.listenTo(t,e,r),r()},animateRemove:function(){this.remove()},renderCollection:function(t,e,n,r){var o="string"==typeof n?this.query(n):n,u=a.extend({collection:t,el:o||this.el,view:e,parent:this,viewOptions:{parent:this}},r),s=new i(u);return s.render(),this.registerSubview(s)}}),n.extend=f.extend,e.exports=n},{"ampersand-collection-view":31,"ampersand-dom-bindings":36,"ampersand-state":18,domify:39,"events-mixin":40,"get-object-path":45,"matches-selector":46,underscore:47}],31:[function(t,e){function n(t){if(!t)throw new ReferenceError("Collection view missing required parameters: collection, el");if(!t.collection)throw new ReferenceError("Collection view requires a collection");if(!t.el&&!this.insertSelf)throw new ReferenceError("Collection view requires an el");r.extend(this,r.pick(t,a)),this.views=[],this.listenTo(this.collection,"add",this._addViewForModel),this.listenTo(this.collection,"remove",this._removeViewForModel),this.listenTo(this.collection,"sort",this._rerenderAll),this.listenTo(this.collection,"refresh reset",this._reset)}"undefined"!=typeof window&&(window.ampersand=window.ampersand||{},window.ampersand["ampersand-collection-view"]=window.ampersand["ampersand-collection-view"]||[],window.ampersand["ampersand-collection-view"].push("1.2.1"));var r=t("underscore"),i=t("backbone-events-standalone"),o=t("ampersand-class-extend"),a=["collection","el","viewOptions","view","emptyView","filter","reverse","parent"];r.extend(n.prototype,i,{render:function(){return this._renderAll(),this},remove:function(){r.invoke(this.views,"remove"),this.stopListening()},_getViewByModel:function(t){return r.find(this.views,function(e){return t===e.model})},_createViewForModel:function(t,e){var n=new this.view(r({model:t,collection:this.collection}).extend(this.viewOptions));return this.views.push(n),n.parent=this,n.renderedByParentView=!0,n.render(e),n},_getOrCreateByModel:function(t,e){return this._getViewByModel(t)||this._createViewForModel(t,e)},_addViewForModel:function(t,e,n){var r=this.filter?this.filter(t):!0;if(r){this.renderedEmptyView&&(this.renderedEmptyView.remove(),delete this.renderedEmptyView);var i=this._getOrCreateByModel(t,{containerEl:this.el});n&&n.rerender?this._insertView(i):this._insertViewAtIndex(i)}},_insertViewAtIndex:function(t){if(!t.insertSelf){var e,n,r=this.collection.indexOf(t.model);e=this.collection.at(this.reverse?r-1:r+1),n=this._getViewByModel(e),n?this.el.insertBefore(t.el,n&&n.el):this.el.appendChild(t.el)}},_insertView:function(t){t.insertSelf||(this.reverse&&this.el.firstChild?this.el.insertBefore(t.el,this.el.firstChild):this.el.appendChild(t.el))},_removeViewForModel:function(t){var e=this._getViewByModel(t);if(e){var n=this.views.indexOf(e);-1!==n&&(e=this.views.splice(n,1)[0],this._removeView(e),0===this.views.length&&this._renderEmptyView())}},_removeView:function(t){t.animateRemove?t.animateRemove():t.remove()},_renderAll:function(){this.collection.each(this._addViewForModel,this),0===this.views.length&&this._renderEmptyView()},_rerenderAll:function(t,e){e=e||{},this.collection.each(function(t){this._addViewForModel(t,this,r.extend(e,{rerender:!0}))},this)},_renderEmptyView:function(){if(this.emptyView&&!this.renderedEmptyView){var t=this.renderedEmptyView=new this.emptyView;this.el.appendChild(t.render().el)}},_reset:function(){var t=this.collection.map(this._getOrCreateByModel,this),e=r.difference(this.views,t);e.forEach(this._removeView,this),this.views=t,this._rerenderAll(),0===this.views.length&&this._renderEmptyView()}}),n.extend=o,e.exports=n},{"ampersand-class-extend":32,"backbone-events-standalone":35,underscore:47}],32:[function(t,e){e.exports=t(13)},{"/mnt/fast/bostic/work/wiredtiger/tools/wtstats/template/node_modules/ampersand-collection/node_modules/ampersand-class-extend/ampersand-class-extend.js":13,"extend-object":33}],33:[function(t,e){e.exports=t(16)},{"/mnt/fast/bostic/work/wiredtiger/tools/wtstats/template/node_modules/ampersand-collection/node_modules/extend-object/extend-object.js":16}],34:[function(t,e,n){!function(){function t(){return{keys:Object.keys||function(t){if("object"!=typeof t&&"function"!=typeof t||null===t)throw new TypeError("keys() called on a non-object");var e,n=[];for(e in t)t.hasOwnProperty(e)&&(n[n.length]=e);return n},uniqueId:function(t){var e=++l+"";return t?t+e:e},has:function(t,e){return u.call(t,e)},each:function(t,e,n){if(null!=t)if(a&&t.forEach===a)t.forEach(e,n);else if(t.length===+t.length){for(var r=0,i=t.length;i>r;r++)if(e.call(n,t[r],r,t)===o)return}else for(var u in t)if(this.has(t,u)&&e.call(n,t[u],u,t)===o)return},once:function(t){var e,n=!1;return function(){return n?e:(n=!0,e=t.apply(this,arguments),t=null,e)}}}}var r,i=this,o={},a=Array.prototype.forEach,u=Object.prototype.hasOwnProperty,s=Array.prototype.slice,l=0,c=t();r={on:function(t,e,n){if(!h(this,"on",t,[e,n])||!e)return this;this._events||(this._events={});var r=this._events[t]||(this._events[t]=[]);return r.push({callback:e,context:n,ctx:n||this}),this},once:function(t,e,n){if(!h(this,"once",t,[e,n])||!e)return this;var r=this,i=c.once(function(){r.off(t,i),e.apply(this,arguments)});return i._callback=e,this.on(t,i,n)},off:function(t,e,n){var r,i,o,a,u,s,l,f;if(!this._events||!h(this,"off",t,[e,n]))return this;if(!t&&!e&&!n)return this._events={},this;for(a=t?[t]:c.keys(this._events),u=0,s=a.length;s>u;u++)if(t=a[u],o=this._events[t]){if(this._events[t]=r=[],e||n)for(l=0,f=o.length;f>l;l++)i=o[l],(e&&e!==i.callback&&e!==i.callback._callback||n&&n!==i.context)&&r.push(i);r.length||delete this._events[t]}return this},trigger:function(t){if(!this._events)return this;var e=s.call(arguments,1);if(!h(this,"trigger",t,e))return this;var n=this._events[t],r=this._events.all;return n&&p(n,e),r&&p(r,arguments),this},stopListening:function(t,e,n){var r=this._listeners;if(!r)return this;var i=!e&&!n;"object"==typeof e&&(n=this),t&&((r={})[t._listenerId]=t);for(var o in r)r[o].off(e,n,this),i&&delete this._listeners[o];return this}};var f=/\s+/,h=function(t,e,n,r){if(!n)return!0;if("object"==typeof n){for(var i in n)t[e].apply(t,[i,n[i]].concat(r));return!1}if(f.test(n)){for(var o=n.split(f),a=0,u=o.length;u>a;a++)t[e].apply(t,[o[a]].concat(r));return!1}return!0},p=function(t,e){var n,r=-1,i=t.length,o=e[0],a=e[1],u=e[2];switch(e.length){case 0:for(;++r<i;)(n=t[r]).callback.call(n.ctx);return;case 1:for(;++r<i;)(n=t[r]).callback.call(n.ctx,o);return;case 2:for(;++r<i;)(n=t[r]).callback.call(n.ctx,o,a);return;case 3:for(;++r<i;)(n=t[r]).callback.call(n.ctx,o,a,u);return;default:for(;++r<i;)(n=t[r]).callback.apply(n.ctx,e)}},d={listenTo:"on",listenToOnce:"once"};c.each(d,function(t,e){r[e]=function(e,n,r){var i=this._listeners||(this._listeners={}),o=e._listenerId||(e._listenerId=c.uniqueId("l"));return i[o]=e,"object"==typeof n&&(r=this),e[t](n,r,this),this}}),r.bind=r.on,r.unbind=r.off,r.mixin=function(t){var e=["on","once","off","trigger","stopListening","listenTo","listenToOnce","bind","unbind"];return c.each(e,function(e){t[e]=this[e]},this),t},"function"==typeof define?define(function(){return r}):"undefined"!=typeof n?("undefined"!=typeof e&&e.exports&&(n=e.exports=r),n.BackboneEvents=r):i.BackboneEvents=r}(this)},{}],35:[function(t,e,n){arguments[4][15][0].apply(n,arguments)},{"./backbone-events-standalone":34,"/mnt/fast/bostic/work/wiredtiger/tools/wtstats/template/node_modules/ampersand-collection/node_modules/backbone-events-standalone/index.js":15}],36:[function(t,e){function n(t,e){if(""===e)return[t];var n=[];return u(t,e)&&n.push(t),n.concat(s.call(t.querySelectorAll(e)))}function r(t){return Array.isArray(t)?t:[t]}function i(t,e){var i,o=t.type||"text",u="function"==typeof o,s=function(){return"string"==typeof t.selector?t.selector:t.hook?'[data-hook~="'+t.hook+'"]':""}(),l=t.yes,c=t.no,f=!(!l&&!c);if(u)return function(t,r){n(t,s).forEach(function(t){o.call(e,t,r,i)}),i=r};if("text"===o)return function(t,e){n(t,s).forEach(function(t){a.text(t,e)})};if("class"===o)return function(t,e){n(t,s).forEach(function(t){a.switchClass(t,i,e)}),i=e};if("attribute"===o){if(!t.name)throw Error('attribute bindings must have a "name"');return function(e,o){var u=r(t.name);n(e,s).forEach(function(t){u.forEach(function(e){a.setAttribute(t,e,o)})}),i=o}}if("value"===o)return function(t,e){n(t,s).forEach(function(t){e||0===e||(e=""),document.activeElement!==t&&(t.value=e)}),i=e};if("booleanClass"===o)return f?(l=r(l||""),c=r(c||""),function(t,e){var r=e?c:l,i=e?l:c;n(t,s).forEach(function(t){r.forEach(function(e){a.removeClass(t,e)}),i.forEach(function(e){a.addClass(t,e)})})}):function(e,i,o){var u=r(t.name||o);n(e,s).forEach(function(t){u.forEach(function(e){a[i?"addClass":"removeClass"](t,e)})})};if("booleanAttribute"===o)return function(e,i,o){var u=r(t.name||o);n(e,s).forEach(function(t){u.forEach(function(e){a[i?"addAttribute":"removeAttribute"](t,e)})})};if("toggle"===o)return f?function(t,e){n(t,l).forEach(function(t){a[e?"show":"hide"](t)}),n(t,c).forEach(function(t){a[e?"hide":"show"](t)})}:function(t,e){n(t,s).forEach(function(t){a[e?"show":"hide"](t)})};if("switch"===o){if(!t.cases)throw Error('switch bindings must have "cases"');return function(e,r){for(var i in t.cases)n(e,t.cases[i]).forEach(function(t){a[r===i?"show":"hide"](t)})}}if("innerHTML"===o)return function(t,e){n(t,s).forEach(function(t){a.html(t,e)})};if("switchClass"===o){if(!t.cases)throw Error('switchClass bindings must have "cases"');return function(e,i,o){var u=r(t.name||o);for(var s in t.cases)n(e,t.cases[s]).forEach(function(t){u.forEach(function(e){a[i===s?"addClass":"removeClass"](t,e)})})}}throw new Error("no such binding type: "+o)}"undefined"!=typeof window&&(window.ampersand=window.ampersand||{},window.ampersand["ampersand-dom-bindings"]=window.ampersand["ampersand-dom-bindings"]||[],window.ampersand["ampersand-dom-bindings"].push("3.3.3"));var o=t("key-tree-store"),a=t("ampersand-dom"),u=t("matches-selector");e.exports=function(t,e){var n,r,a=new o;for(n in t)r=t[n],"string"==typeof r?a.add(n,i({type:"text",selector:r})):r.forEach?r.forEach(function(t){a.add(n,i(t,e))}):a.add(n,i(r,e));return a};var s=Array.prototype.slice},{"ampersand-dom":37,"key-tree-store":38,"matches-selector":46}],37:[function(t,e){function n(t){return t||0===t?t:""}function r(t,e){return t.classList?t.classList.contains(e):new RegExp("(^| )"+e+"( |$)","gi").test(t.className)}function i(t,e){var n=t[e];return e in t&&(n===!0||n===!1)}function o(t){return"true"===l.getAttribute(t,"data-anddom-hidden")}function a(t){l.setAttribute(t,"data-anddom-display",t.style.display)}function u(t){t.style.display=l.getAttribute(t,"data-anddom-display")||"",l.removeAttribute(t,"data-anddom-hidden")}function s(t){l.setAttribute(t,"data-anddom-hidden","true"),t.style.display="none"}"undefined"!=typeof window&&(window.ampersand=window.ampersand||{},window.ampersand["ampersand-dom"]=window.ampersand["ampersand-dom"]||[],window.ampersand["ampersand-dom"].push("1.2.7"));var l=e.exports={text:function(t,e){t.textContent=n(e)},addClass:function(t,e){e=n(e),e&&(Array.isArray(e)?e.forEach(function(e){l.addClass(t,e)}):t.classList?t.classList.add(e):r(t,e)||(t.classList?t.classList.add(e):t.className+=" "+e))},removeClass:function(t,e){Array.isArray(e)?e.forEach(function(e){l.removeClass(t,e)}):t.classList?(e=n(e),e&&t.classList.remove(e)):t.className=t.className.replace(new RegExp("(^|\\b)"+e.split(" ").join("|")+"(\\b|$)","gi")," ")},hasClass:r,switchClass:function(t,e,n){e&&this.removeClass(t,e),this.addClass(t,n)},addAttribute:function(t,e){t.setAttribute(e,""),i(t,e)&&(t[e]=!0)},removeAttribute:function(t,e){t.removeAttribute(e),i(t,e)&&(t[e]=!1)},setAttribute:function(t,e,r){t.setAttribute(e,n(r))},getAttribute:function(t,e){return t.getAttribute(e)},hide:function(t){o(t)||(a(t),s(t))},show:function(t){u(t)},html:function(t,e){t.innerHTML=e}}},{}],38:[function(t,e){function n(){this.storage={}}var r=Array.prototype.slice;n.prototype.add=function(t,e){var n=this.storage[t]||(this.storage[t]=[]);n.push(e)},n.prototype.remove=function(t){var e,n;for(e in this.storage)n=this.storage[e],n.some(function(e,r){return e===t?(n.splice(r,1),!0):void 0})},n.prototype.get=function(t){var e,n=[];for(e in this.storage)t&&t!==e&&0!==e.indexOf(t+".")||(n=n.concat(this.storage[e]));return n},n.prototype.getGrouped=function(t){var e,n={};for(e in this.storage)t&&t!==e&&0!==e.indexOf(t+".")||(n[e]=r.call(this.storage[e]));return n},n.prototype.getAll=function(t){var e,n={};for(e in this.storage)(t===e||0===e.indexOf(t+"."))&&(n[e]=r.call(this.storage[e]));return n},n.prototype.run=function(t,e){var n=r.call(arguments,2);this.get(t).forEach(function(t){t.apply(e||this,n)})},e.exports=n},{}],39:[function(t,e){function n(t,e){if("string"!=typeof t)throw new TypeError("String expected");e||(e=document);var n=/<([\w:]+)/.exec(t);if(!n)return e.createTextNode(t);t=t.replace(/^\s+|\s+$/g,"");var r=n[1];if("body"==r){var i=e.createElement("html");return i.innerHTML=t,i.removeChild(i.lastChild)}var a=o[r]||o._default,u=a[0],s=a[1],l=a[2],i=e.createElement("div");for(i.innerHTML=s+t+l;u--;)i=i.lastChild;
-if(i.firstChild==i.lastChild)return i.removeChild(i.firstChild);for(var c=e.createDocumentFragment();i.firstChild;)c.appendChild(i.removeChild(i.firstChild));return c}e.exports=n;var r=document.createElement("div");r.innerHTML=' <link/><table></table><a href="/a">a</a><input type="checkbox"/>';var i=!r.getElementsByTagName("link").length;r=void 0;var o={legend:[1,"<fieldset>","</fieldset>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],_default:i?[1,"X<div>","</div>"]:[0,"",""]};o.td=o.th=[3,"<table><tbody><tr>","</tr></tbody></table>"],o.option=o.optgroup=[1,'<select multiple="multiple">',"</select>"],o.thead=o.tbody=o.colgroup=o.caption=o.tfoot=[1,"<table>","</table>"],o.text=o.circle=o.ellipse=o.line=o.path=o.polygon=o.polyline=o.rect=[1,'<svg xmlns="http://www.w3.org/2000/svg" version="1.1">',"</svg>"]},{}],40:[function(t,e){function n(t,e){if(!(this instanceof n))return new n(t,e);if(!t)throw new Error("element required");if(!e)throw new Error("object required");this.el=t,this.obj=e,this._events={}}function r(t){var e=t.split(/ +/);return{name:e.shift(),selector:e.join(" ")}}var i=t("component-event"),o=t("delegate-events"),a=["focus","blur"];e.exports=n,n.prototype.sub=function(t,e,n){this._events[t]=this._events[t]||{},this._events[t][e]=n},n.prototype.bind=function(t,e){function n(){var t=[].slice.call(arguments).concat(c);s[e].apply(s,t)}var a=r(t),u=this.el,s=this.obj,l=a.name,e=e||"on"+l,c=[].slice.call(arguments,2);return a.selector?n=o.bind(u,a.selector,l,n):i.bind(u,l,n),this.sub(l,e,n),n},n.prototype.unbind=function(t,e){if(0==arguments.length)return this.unbindAll();if(1==arguments.length)return this.unbindAllOf(t);var n=this._events[t],r=-1!==a.indexOf(t);if(n){var o=n[e];o&&i.unbind(this.el,t,o,r)}},n.prototype.unbindAll=function(){for(var t in this._events)this.unbindAllOf(t)},n.prototype.unbindAllOf=function(t){var e=this._events[t];if(e)for(var n in e)this.unbind(t,n)}},{"component-event":41,"delegate-events":42}],41:[function(t,e,n){var r=window.addEventListener?"addEventListener":"attachEvent",i=window.removeEventListener?"removeEventListener":"detachEvent",o="addEventListener"!==r?"on":"";n.bind=function(t,e,n,i){return t[r](o+e,n,i||!1),n},n.unbind=function(t,e,n,r){return t[i](o+e,n,r||!1),n}},{}],42:[function(t,e,n){var r=t("closest"),i=t("event"),o=["focus","blur"];n.bind=function(t,e,n,a,u){return-1!==o.indexOf(n)&&(u=!0),i.bind(t,n,function(n){var i=n.target||n.srcElement;n.delegateTarget=r(i,e,!0,t),n.delegateTarget&&a.call(t,n)},u)},n.unbind=function(t,e,n,r){-1!==o.indexOf(e)&&(r=!0),i.unbind(t,e,n,r)}},{closest:43,event:41}],43:[function(t,e){var n=t("matches-selector");e.exports=function(t,e,r){for(var i=r?t:t.parentNode;i&&i!==document;){if(n(i,e))return i;i=i.parentNode}}},{"matches-selector":44}],44:[function(t,e){function n(t,e){if(i)return i.call(t,e);for(var n=t.parentNode.querySelectorAll(e),r=0;r<n.length;++r)if(n[r]==t)return!0;return!1}var r=Element.prototype,i=r.matchesSelector||r.webkitMatchesSelector||r.mozMatchesSelector||r.msMatchesSelector||r.oMatchesSelector;e.exports=n},{}],45:[function(t,e){function n(t,e){if(-1==e.indexOf(".")&&-1==e.indexOf("["))return t[e];for(var n,r=e.split(/\.|\[|\]/g),i=-1,o=r.length;++i<o;)if(0==i&&(n=t),r[i]){if(void 0==n)break;n=n[r[i]]}return n}e.exports=n},{}],46:[function(t,e){"use strict";function n(t,e){if(i)return i.call(t,e);for(var n=t.parentNode.querySelectorAll(e),r=0;r<n.length;r++)if(n[r]==t)return!0;return!1}var r=Element.prototype,i=r.matches||r.matchesSelector||r.webkitMatchesSelector||r.mozMatchesSelector||r.msMatchesSelector||r.oMatchesSelector;e.exports=n},{}],47:[function(t,e,n){(function(){var t=this,r=t._,i={},o=Array.prototype,a=Object.prototype,u=Function.prototype,s=o.push,l=o.slice,c=o.concat,f=a.toString,h=a.hasOwnProperty,p=o.forEach,d=o.map,g=o.reduce,v=o.reduceRight,m=o.filter,y=o.every,b=o.some,x=o.indexOf,w=o.lastIndexOf,_=Array.isArray,M=Object.keys,k=u.bind,E=function(t){return t instanceof E?t:this instanceof E?void(this._wrapped=t):new E(t)};"undefined"!=typeof n?("undefined"!=typeof e&&e.exports&&(n=e.exports=E),n._=E):t._=E,E.VERSION="1.6.0";var C=E.each=E.forEach=function(t,e,n){if(null==t)return t;if(p&&t.forEach===p)t.forEach(e,n);else if(t.length===+t.length){for(var r=0,o=t.length;o>r;r++)if(e.call(n,t[r],r,t)===i)return}else for(var a=E.keys(t),r=0,o=a.length;o>r;r++)if(e.call(n,t[a[r]],a[r],t)===i)return;return t};E.map=E.collect=function(t,e,n){var r=[];return null==t?r:d&&t.map===d?t.map(e,n):(C(t,function(t,i,o){r.push(e.call(n,t,i,o))}),r)};var S="Reduce of empty array with no initial value";E.reduce=E.foldl=E.inject=function(t,e,n,r){var i=arguments.length>2;if(null==t&&(t=[]),g&&t.reduce===g)return r&&(e=E.bind(e,r)),i?t.reduce(e,n):t.reduce(e);if(C(t,function(t,o,a){i?n=e.call(r,n,t,o,a):(n=t,i=!0)}),!i)throw new TypeError(S);return n},E.reduceRight=E.foldr=function(t,e,n,r){var i=arguments.length>2;if(null==t&&(t=[]),v&&t.reduceRight===v)return r&&(e=E.bind(e,r)),i?t.reduceRight(e,n):t.reduceRight(e);var o=t.length;if(o!==+o){var a=E.keys(t);o=a.length}if(C(t,function(u,s,l){s=a?a[--o]:--o,i?n=e.call(r,n,t[s],s,l):(n=t[s],i=!0)}),!i)throw new TypeError(S);return n},E.find=E.detect=function(t,e,n){var r;return T(t,function(t,i,o){return e.call(n,t,i,o)?(r=t,!0):void 0}),r},E.filter=E.select=function(t,e,n){var r=[];return null==t?r:m&&t.filter===m?t.filter(e,n):(C(t,function(t,i,o){e.call(n,t,i,o)&&r.push(t)}),r)},E.reject=function(t,e,n){return E.filter(t,function(t,r,i){return!e.call(n,t,r,i)},n)},E.every=E.all=function(t,e,n){e||(e=E.identity);var r=!0;return null==t?r:y&&t.every===y?t.every(e,n):(C(t,function(t,o,a){return(r=r&&e.call(n,t,o,a))?void 0:i}),!!r)};var T=E.some=E.any=function(t,e,n){e||(e=E.identity);var r=!1;return null==t?r:b&&t.some===b?t.some(e,n):(C(t,function(t,o,a){return r||(r=e.call(n,t,o,a))?i:void 0}),!!r)};E.contains=E.include=function(t,e){return null==t?!1:x&&t.indexOf===x?-1!=t.indexOf(e):T(t,function(t){return t===e})},E.invoke=function(t,e){var n=l.call(arguments,2),r=E.isFunction(e);return E.map(t,function(t){return(r?e:t[e]).apply(t,n)})},E.pluck=function(t,e){return E.map(t,E.property(e))},E.where=function(t,e){return E.filter(t,E.matches(e))},E.findWhere=function(t,e){return E.find(t,E.matches(e))},E.max=function(t,e,n){if(!e&&E.isArray(t)&&t[0]===+t[0]&&t.length<65535)return Math.max.apply(Math,t);var r=-1/0,i=-1/0;return C(t,function(t,o,a){var u=e?e.call(n,t,o,a):t;u>i&&(r=t,i=u)}),r},E.min=function(t,e,n){if(!e&&E.isArray(t)&&t[0]===+t[0]&&t.length<65535)return Math.min.apply(Math,t);var r=1/0,i=1/0;return C(t,function(t,o,a){var u=e?e.call(n,t,o,a):t;i>u&&(r=t,i=u)}),r},E.shuffle=function(t){var e,n=0,r=[];return C(t,function(t){e=E.random(n++),r[n-1]=r[e],r[e]=t}),r},E.sample=function(t,e,n){return null==e||n?(t.length!==+t.length&&(t=E.values(t)),t[E.random(t.length-1)]):E.shuffle(t).slice(0,Math.max(0,e))};var j=function(t){return null==t?E.identity:E.isFunction(t)?t:E.property(t)};E.sortBy=function(t,e,n){return e=j(e),E.pluck(E.map(t,function(t,r,i){return{value:t,index:r,criteria:e.call(n,t,r,i)}}).sort(function(t,e){var n=t.criteria,r=e.criteria;if(n!==r){if(n>r||void 0===n)return 1;if(r>n||void 0===r)return-1}return t.index-e.index}),"value")};var A=function(t){return function(e,n,r){var i={};return n=j(n),C(e,function(o,a){var u=n.call(r,o,a,e);t(i,u,o)}),i}};E.groupBy=A(function(t,e,n){E.has(t,e)?t[e].push(n):t[e]=[n]}),E.indexBy=A(function(t,e,n){t[e]=n}),E.countBy=A(function(t,e){E.has(t,e)?t[e]++:t[e]=1}),E.sortedIndex=function(t,e,n,r){n=j(n);for(var i=n.call(r,e),o=0,a=t.length;a>o;){var u=o+a>>>1;n.call(r,t[u])<i?o=u+1:a=u}return o},E.toArray=function(t){return t?E.isArray(t)?l.call(t):t.length===+t.length?E.map(t,E.identity):E.values(t):[]},E.size=function(t){return null==t?0:t.length===+t.length?t.length:E.keys(t).length},E.first=E.head=E.take=function(t,e,n){return null==t?void 0:null==e||n?t[0]:0>e?[]:l.call(t,0,e)},E.initial=function(t,e,n){return l.call(t,0,t.length-(null==e||n?1:e))},E.last=function(t,e,n){return null==t?void 0:null==e||n?t[t.length-1]:l.call(t,Math.max(t.length-e,0))},E.rest=E.tail=E.drop=function(t,e,n){return l.call(t,null==e||n?1:e)},E.compact=function(t){return E.filter(t,E.identity)};var N=function(t,e,n){return e&&E.every(t,E.isArray)?c.apply(n,t):(C(t,function(t){E.isArray(t)||E.isArguments(t)?e?s.apply(n,t):N(t,e,n):n.push(t)}),n)};E.flatten=function(t,e){return N(t,e,[])},E.without=function(t){return E.difference(t,l.call(arguments,1))},E.partition=function(t,e){var n=[],r=[];return C(t,function(t){(e(t)?n:r).push(t)}),[n,r]},E.uniq=E.unique=function(t,e,n,r){E.isFunction(e)&&(r=n,n=e,e=!1);var i=n?E.map(t,n,r):t,o=[],a=[];return C(i,function(n,r){(e?r&&a[a.length-1]===n:E.contains(a,n))||(a.push(n),o.push(t[r]))}),o},E.union=function(){return E.uniq(E.flatten(arguments,!0))},E.intersection=function(t){var e=l.call(arguments,1);return E.filter(E.uniq(t),function(t){return E.every(e,function(e){return E.contains(e,t)})})},E.difference=function(t){var e=c.apply(o,l.call(arguments,1));return E.filter(t,function(t){return!E.contains(e,t)})},E.zip=function(){for(var t=E.max(E.pluck(arguments,"length").concat(0)),e=new Array(t),n=0;t>n;n++)e[n]=E.pluck(arguments,""+n);return e},E.object=function(t,e){if(null==t)return{};for(var n={},r=0,i=t.length;i>r;r++)e?n[t[r]]=e[r]:n[t[r][0]]=t[r][1];return n},E.indexOf=function(t,e,n){if(null==t)return-1;var r=0,i=t.length;if(n){if("number"!=typeof n)return r=E.sortedIndex(t,e),t[r]===e?r:-1;r=0>n?Math.max(0,i+n):n}if(x&&t.indexOf===x)return t.indexOf(e,n);for(;i>r;r++)if(t[r]===e)return r;return-1},E.lastIndexOf=function(t,e,n){if(null==t)return-1;var r=null!=n;if(w&&t.lastIndexOf===w)return r?t.lastIndexOf(e,n):t.lastIndexOf(e);for(var i=r?n:t.length;i--;)if(t[i]===e)return i;return-1},E.range=function(t,e,n){arguments.length<=1&&(e=t||0,t=0),n=arguments[2]||1;for(var r=Math.max(Math.ceil((e-t)/n),0),i=0,o=new Array(r);r>i;)o[i++]=t,t+=n;return o};var q=function(){};E.bind=function(t,e){var n,r;if(k&&t.bind===k)return k.apply(t,l.call(arguments,1));if(!E.isFunction(t))throw new TypeError;return n=l.call(arguments,2),r=function(){if(!(this instanceof r))return t.apply(e,n.concat(l.call(arguments)));q.prototype=t.prototype;var i=new q;q.prototype=null;var o=t.apply(i,n.concat(l.call(arguments)));return Object(o)===o?o:i}},E.partial=function(t){var e=l.call(arguments,1);return function(){for(var n=0,r=e.slice(),i=0,o=r.length;o>i;i++)r[i]===E&&(r[i]=arguments[n++]);for(;n<arguments.length;)r.push(arguments[n++]);return t.apply(this,r)}},E.bindAll=function(t){var e=l.call(arguments,1);if(0===e.length)throw new Error("bindAll must be passed function names");return C(e,function(e){t[e]=E.bind(t[e],t)}),t},E.memoize=function(t,e){var n={};return e||(e=E.identity),function(){var r=e.apply(this,arguments);return E.has(n,r)?n[r]:n[r]=t.apply(this,arguments)}},E.delay=function(t,e){var n=l.call(arguments,2);return setTimeout(function(){return t.apply(null,n)},e)},E.defer=function(t){return E.delay.apply(E,[t,1].concat(l.call(arguments,1)))},E.throttle=function(t,e,n){var r,i,o,a=null,u=0;n||(n={});var s=function(){u=n.leading===!1?0:E.now(),a=null,o=t.apply(r,i),r=i=null};return function(){var l=E.now();u||n.leading!==!1||(u=l);var c=e-(l-u);return r=this,i=arguments,0>=c?(clearTimeout(a),a=null,u=l,o=t.apply(r,i),r=i=null):a||n.trailing===!1||(a=setTimeout(s,c)),o}},E.debounce=function(t,e,n){var r,i,o,a,u,s=function(){var l=E.now()-a;e>l?r=setTimeout(s,e-l):(r=null,n||(u=t.apply(o,i),o=i=null))};return function(){o=this,i=arguments,a=E.now();var l=n&&!r;return r||(r=setTimeout(s,e)),l&&(u=t.apply(o,i),o=i=null),u}},E.once=function(t){var e,n=!1;return function(){return n?e:(n=!0,e=t.apply(this,arguments),t=null,e)}},E.wrap=function(t,e){return E.partial(e,t)},E.compose=function(){var t=arguments;return function(){for(var e=arguments,n=t.length-1;n>=0;n--)e=[t[n].apply(this,e)];return e[0]}},E.after=function(t,e){return function(){return--t<1?e.apply(this,arguments):void 0}},E.keys=function(t){if(!E.isObject(t))return[];if(M)return M(t);var e=[];for(var n in t)E.has(t,n)&&e.push(n);return e},E.values=function(t){for(var e=E.keys(t),n=e.length,r=new Array(n),i=0;n>i;i++)r[i]=t[e[i]];return r},E.pairs=function(t){for(var e=E.keys(t),n=e.length,r=new Array(n),i=0;n>i;i++)r[i]=[e[i],t[e[i]]];return r},E.invert=function(t){for(var e={},n=E.keys(t),r=0,i=n.length;i>r;r++)e[t[n[r]]]=n[r];return e},E.functions=E.methods=function(t){var e=[];for(var n in t)E.isFunction(t[n])&&e.push(n);return e.sort()},E.extend=function(t){return C(l.call(arguments,1),function(e){if(e)for(var n in e)t[n]=e[n]}),t},E.pick=function(t){var e={},n=c.apply(o,l.call(arguments,1));return C(n,function(n){n in t&&(e[n]=t[n])}),e},E.omit=function(t){var e={},n=c.apply(o,l.call(arguments,1));for(var r in t)E.contains(n,r)||(e[r]=t[r]);return e},E.defaults=function(t){return C(l.call(arguments,1),function(e){if(e)for(var n in e)void 0===t[n]&&(t[n]=e[n])}),t},E.clone=function(t){return E.isObject(t)?E.isArray(t)?t.slice():E.extend({},t):t},E.tap=function(t,e){return e(t),t};var O=function(t,e,n,r){if(t===e)return 0!==t||1/t==1/e;if(null==t||null==e)return t===e;t instanceof E&&(t=t._wrapped),e instanceof E&&(e=e._wrapped);var i=f.call(t);if(i!=f.call(e))return!1;switch(i){case"[object String]":return t==String(e);case"[object Number]":return t!=+t?e!=+e:0==t?1/t==1/e:t==+e;case"[object Date]":case"[object Boolean]":return+t==+e;case"[object RegExp]":return t.source==e.source&&t.global==e.global&&t.multiline==e.multiline&&t.ignoreCase==e.ignoreCase}if("object"!=typeof t||"object"!=typeof e)return!1;for(var o=n.length;o--;)if(n[o]==t)return r[o]==e;var a=t.constructor,u=e.constructor;if(a!==u&&!(E.isFunction(a)&&a instanceof a&&E.isFunction(u)&&u instanceof u)&&"constructor"in t&&"constructor"in e)return!1;n.push(t),r.push(e);var s=0,l=!0;if("[object Array]"==i){if(s=t.length,l=s==e.length)for(;s--&&(l=O(t[s],e[s],n,r)););}else{for(var c in t)if(E.has(t,c)&&(s++,!(l=E.has(e,c)&&O(t[c],e[c],n,r))))break;if(l){for(c in e)if(E.has(e,c)&&!s--)break;l=!s}}return n.pop(),r.pop(),l};E.isEqual=function(t,e){return O(t,e,[],[])},E.isEmpty=function(t){if(null==t)return!0;if(E.isArray(t)||E.isString(t))return 0===t.length;for(var e in t)if(E.has(t,e))return!1;return!0},E.isElement=function(t){return!(!t||1!==t.nodeType)},E.isArray=_||function(t){return"[object Array]"==f.call(t)},E.isObject=function(t){return t===Object(t)},C(["Arguments","Function","String","Number","Date","RegExp"],function(t){E["is"+t]=function(e){return f.call(e)=="[object "+t+"]"}}),E.isArguments(arguments)||(E.isArguments=function(t){return!(!t||!E.has(t,"callee"))}),"function"!=typeof/./&&(E.isFunction=function(t){return"function"==typeof t}),E.isFinite=function(t){return isFinite(t)&&!isNaN(parseFloat(t))},E.isNaN=function(t){return E.isNumber(t)&&t!=+t},E.isBoolean=function(t){return t===!0||t===!1||"[object Boolean]"==f.call(t)},E.isNull=function(t){return null===t},E.isUndefined=function(t){return void 0===t},E.has=function(t,e){return h.call(t,e)},E.noConflict=function(){return t._=r,this},E.identity=function(t){return t},E.constant=function(t){return function(){return t}},E.property=function(t){return function(e){return e[t]}},E.matches=function(t){return function(e){if(e===t)return!0;for(var n in t)if(t[n]!==e[n])return!1;return!0}},E.times=function(t,e,n){for(var r=Array(Math.max(0,t)),i=0;t>i;i++)r[i]=e.call(n,i);return r},E.random=function(t,e){return null==e&&(e=t,t=0),t+Math.floor(Math.random()*(e-t+1))},E.now=Date.now||function(){return(new Date).getTime()};var D={escape:{"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;"}};D.unescape=E.invert(D.escape);var L={escape:new RegExp("["+E.keys(D.escape).join("")+"]","g"),unescape:new RegExp("("+E.keys(D.unescape).join("|")+")","g")};E.each(["escape","unescape"],function(t){E[t]=function(e){return null==e?"":(""+e).replace(L[t],function(e){return D[t][e]})}}),E.result=function(t,e){if(null==t)return void 0;var n=t[e];return E.isFunction(n)?n.call(t):n},E.mixin=function(t){C(E.functions(t),function(e){var n=E[e]=t[e];E.prototype[e]=function(){var t=[this._wrapped];return s.apply(t,arguments),I.call(this,n.apply(E,t))}})};var F=0;E.uniqueId=function(t){var e=++F+"";return t?t+e:e},E.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var z=/(.)^/,R={"'":"'","\\":"\\","\r":"r","\n":"n"," ":"t","\u2028":"u2028","\u2029":"u2029"},P=/\\|'|\r|\n|\t|\u2028|\u2029/g;E.template=function(t,data,e){var n;e=E.defaults({},e,E.templateSettings);var r=new RegExp([(e.escape||z).source,(e.interpolate||z).source,(e.evaluate||z).source].join("|")+"|$","g"),i=0,o="__p+='";t.replace(r,function(e,n,r,a,u){return o+=t.slice(i,u).replace(P,function(t){return"\\"+R[t]}),n&&(o+="'+\n((__t=("+n+"))==null?'':_.escape(__t))+\n'"),r&&(o+="'+\n((__t=("+r+"))==null?'':__t)+\n'"),a&&(o+="';\n"+a+"\n__p+='"),i=u+e.length,e}),o+="';\n",e.variable||(o="with(obj||{}){\n"+o+"}\n"),o="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+o+"return __p;\n";try{n=new Function(e.variable||"obj","_",o)}catch(a){throw a.source=o,a}if(data)return n(data,E);var u=function(data){return n.call(this,data,E)};return u.source="function("+(e.variable||"obj")+"){\n"+o+"}",u},E.chain=function(t){return E(t).chain()};var I=function(t){return this._chain?E(t).chain():t};E.mixin(E),C(["pop","push","reverse","shift","sort","splice","unshift"],function(t){var e=o[t];E.prototype[t]=function(){var n=this._wrapped;return e.apply(n,arguments),"shift"!=t&&"splice"!=t||0!==n.length||delete n[0],I.call(this,n)}}),C(["concat","join","slice"],function(t){var e=o[t];E.prototype[t]=function(){return I.call(this,e.apply(this._wrapped,arguments))}}),E.extend(E.prototype,{chain:function(){return this._chain=!0,this},value:function(){return this._wrapped}}),"function"==typeof define&&define.amd&&define("underscore",[],function(){return E})}).call(this)},{}],48:[function(){+function(t){"use strict";function e(e){return this.each(function(){var r=t(this),data=r.data("bs.button"),i="object"==typeof e&&e;data||r.data("bs.button",data=new n(this,i)),"toggle"==e?data.toggle():e&&data.setState(e)})}var n=function(e,r){this.$element=t(e),this.options=t.extend({},n.DEFAULTS,r),this.isLoading=!1};n.VERSION="3.2.0",n.DEFAULTS={loadingText:"loading..."},n.prototype.setState=function(e){var n="disabled",r=this.$element,i=r.is("input")?"val":"html",data=r.data();e+="Text",null==data.resetText&&r.data("resetText",r[i]()),r[i](null==data[e]?this.options[e]:data[e]),setTimeout(t.proxy(function(){"loadingText"==e?(this.isLoading=!0,r.addClass(n).attr(n,n)):this.isLoading&&(this.isLoading=!1,r.removeClass(n).removeAttr(n))},this),0)},n.prototype.toggle=function(){var t=!0,e=this.$element.closest('[data-toggle="buttons"]');if(e.length){var n=this.$element.find("input");"radio"==n.prop("type")&&(n.prop("checked")&&this.$element.hasClass("active")?t=!1:e.find(".active").removeClass("active")),t&&n.prop("checked",!this.$element.hasClass("active")).trigger("change")}t&&this.$element.toggleClass("active")};var r=t.fn.button;t.fn.button=e,t.fn.button.Constructor=n,t.fn.button.noConflict=function(){return t.fn.button=r,this},t(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(n){var r=t(n.target);r.hasClass("btn")||(r=r.closest(".btn")),e.call(r,"toggle"),n.preventDefault()})}(jQuery)},{}],49:[function(){+function(t){"use strict";function e(e){return this.each(function(){var r=t(this),data=r.data("bs.collapse"),i=t.extend({},n.DEFAULTS,r.data(),"object"==typeof e&&e);!data&&i.toggle&&"show"==e&&(e=!e),data||r.data("bs.collapse",data=new n(this,i)),"string"==typeof e&&data[e]()})}var n=function(e,r){this.$element=t(e),this.options=t.extend({},n.DEFAULTS,r),this.transitioning=null,this.options.parent&&(this.$parent=t(this.options.parent)),this.options.toggle&&this.toggle()};n.VERSION="3.2.0",n.DEFAULTS={toggle:!0},n.prototype.dimension=function(){var t=this.$element.hasClass("width");return t?"width":"height"},n.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var n=t.Event("show.bs.collapse");if(this.$element.trigger(n),!n.isDefaultPrevented()){var r=this.$parent&&this.$parent.find("> .panel > .in");if(r&&r.length){var i=r.data("bs.collapse");if(i&&i.transitioning)return;e.call(r,"hide"),i||r.data("bs.collapse",null)}var o=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[o](0),this.transitioning=1;var a=function(){this.$element.removeClass("collapsing").addClass("collapse in")[o](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!t.support.transition)return a.call(this);var u=t.camelCase(["scroll",o].join("-"));this.$element.one("bsTransitionEnd",t.proxy(a,this)).emulateTransitionEnd(350)[o](this.$element[0][u])}}},n.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var e=t.Event("hide.bs.collapse");if(this.$element.trigger(e),!e.isDefaultPrevented()){var n=this.dimension();this.$element[n](this.$element[n]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse").removeClass("in"),this.transitioning=1;var r=function(){this.transitioning=0,this.$element.trigger("hidden.bs.collapse").removeClass("collapsing").addClass("collapse")};return t.support.transition?void this.$element[n](0).one("bsTransitionEnd",t.proxy(r,this)).emulateTransitionEnd(350):r.call(this)}}},n.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()};var r=t.fn.collapse;t.fn.collapse=e,t.fn.collapse.Constructor=n,t.fn.collapse.noConflict=function(){return t.fn.collapse=r,this},t(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(n){var r,i=t(this),o=i.attr("data-target")||n.preventDefault()||(r=i.attr("href"))&&r.replace(/.*(?=#[^\s]+$)/,""),a=t(o),data=a.data("bs.collapse"),u=data?"toggle":i.data(),s=i.attr("data-parent"),l=s&&t(s);data&&data.transitioning||(l&&l.find('[data-toggle="collapse"][data-parent="'+s+'"]').not(i).addClass("collapsed"),i[a.hasClass("in")?"addClass":"removeClass"]("collapsed")),e.call(a,u)})}(jQuery)},{}],50:[function(){+function(t){"use strict";function e(e){e&&3===e.which||(t(i).remove(),t(o).each(function(){var r=n(t(this)),i={relatedTarget:this};r.hasClass("open")&&(r.trigger(e=t.Event("hide.bs.dropdown",i)),e.isDefaultPrevented()||r.removeClass("open").trigger("hidden.bs.dropdown",i))}))}function n(e){var n=e.attr("data-target");n||(n=e.attr("href"),n=n&&/#[A-Za-z]/.test(n)&&n.replace(/.*(?=#[^\s]*$)/,""));var r=n&&t(n);return r&&r.length?r:e.parent()}function r(e){return this.each(function(){var n=t(this),data=n.data("bs.dropdown");data||n.data("bs.dropdown",data=new a(this)),"string"==typeof e&&data[e].call(n)})}var i=".dropdown-backdrop",o='[data-toggle="dropdown"]',a=function(e){t(e).on("click.bs.dropdown",this.toggle)};a.VERSION="3.2.0",a.prototype.toggle=function(r){var i=t(this);if(!i.is(".disabled, :disabled")){var o=n(i),a=o.hasClass("open");if(e(),!a){"ontouchstart"in document.documentElement&&!o.closest(".navbar-nav").length&&t('<div class="dropdown-backdrop"/>').insertAfter(t(this)).on("click",e);var u={relatedTarget:this};if(o.trigger(r=t.Event("show.bs.dropdown",u)),r.isDefaultPrevented())return;i.trigger("focus"),o.toggleClass("open").trigger("shown.bs.dropdown",u)}return!1}},a.prototype.keydown=function(e){if(/(38|40|27)/.test(e.keyCode)){var r=t(this);if(e.preventDefault(),e.stopPropagation(),!r.is(".disabled, :disabled")){var i=n(r),a=i.hasClass("open");if(!a||a&&27==e.keyCode)return 27==e.which&&i.find(o).trigger("focus"),r.trigger("click");var u=" li:not(.divider):visible a",s=i.find('[role="menu"]'+u+', [role="listbox"]'+u);if(s.length){var l=s.index(s.filter(":focus"));38==e.keyCode&&l>0&&l--,40==e.keyCode&&l<s.length-1&&l++,~l||(l=0),s.eq(l).trigger("focus")}}}};var u=t.fn.dropdown;t.fn.dropdown=r,t.fn.dropdown.Constructor=a,t.fn.dropdown.noConflict=function(){return t.fn.dropdown=u,this},t(document).on("click.bs.dropdown.data-api",e).on("click.bs.dropdown.data-api",".dropdown form",function(t){t.stopPropagation()}).on("click.bs.dropdown.data-api",o,a.prototype.toggle).on("keydown.bs.dropdown.data-api",o+', [role="menu"], [role="listbox"]',a.prototype.keydown)}(jQuery)},{}],51:[function(){+function(t){"use strict";function e(){var t=document.createElement("bootstrap"),e={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var n in e)if(void 0!==t.style[n])return{end:e[n]};return!1}t.fn.emulateTransitionEnd=function(e){var n=!1,r=this;t(this).one("bsTransitionEnd",function(){n=!0});var i=function(){n||t(r).trigger(t.support.transition.end)};return setTimeout(i,e),this},t(function(){t.support.transition=e(),t.support.transition&&(t.event.special.bsTransitionEnd={bindType:t.support.transition.end,delegateType:t.support.transition.end,handle:function(e){return t(e.target).is(this)?e.handleObj.handler.apply(this,arguments):void 0}})})}(jQuery)},{}],52:[function(){},{}],53:[function(t,e){!function(){function t(t,e){return e>t?-1:t>e?1:t>=e?0:0/0}function n(t){return null===t?0/0:+t}function r(t){return!isNaN(t)}function i(t){return{left:function(e,n,r,i){for(arguments.length<3&&(r=0),arguments.length<4&&(i=e.length);i>r;){var o=r+i>>>1;t(e[o],n)<0?r=o+1:i=o}return r},right:function(e,n,r,i){for(arguments.length<3&&(r=0),arguments.length<4&&(i=e.length);i>r;){var o=r+i>>>1;t(e[o],n)>0?i=o:r=o+1}return r}}}function o(t){return t.length}function a(t){for(var e=1;t*e%1;)e*=10;return e}function u(t,e){for(var n in e)Object.defineProperty(t.prototype,n,{value:e[n],enumerable:!1})}function s(){this._=Object.create(null)}function l(t){return(t+="")===yu||t[0]===bu?bu+t:t}function c(t){return(t+="")[0]===bu?t.slice(1):t}function f(t){return l(t)in this._}function h(t){return(t=l(t))in this._&&delete this._[t]}function p(){var t=[];for(var e in this._)t.push(c(e));return t}function d(){var t=0;for(var e in this._)++t;return t}function g(){for(var t in this._)return!1;return!0}function v(){this._=Object.create(null)}function m(t,e,n){return function(){var r=n.apply(e,arguments);return r===e?t:r}}function y(t,e){if(e in t)return e;e=e.charAt(0).toUpperCase()+e.slice(1);for(var n=0,r=xu.length;r>n;++n){var i=xu[n]+e;if(i in t)return i}}function b(){}function x(){}function w(t){function e(){for(var e,r=n,i=-1,o=r.length;++i<o;)(e=r[i].on)&&e.apply(this,arguments);return t}var n=[],r=new s;return e.on=function(e,i){var o,a=r.get(e);return arguments.length<2?a&&a.on:(a&&(a.on=null,n=n.slice(0,o=n.indexOf(a)).concat(n.slice(o+1)),r.remove(e)),i&&n.push(r.set(e,{on:i})),t)},e}function _(){ru.event.preventDefault()}function M(){for(var t,e=ru.event;t=e.sourceEvent;)e=t;return e}function k(t){for(var e=new x,n=0,r=arguments.length;++n<r;)e[arguments[n]]=w(e);return e.of=function(n,r){return function(i){try{var o=i.sourceEvent=ru.event;i.target=t,ru.event=i,e[i.type].apply(n,r)}finally{ru.event=o}}},e}function E(t){return _u(t,Su),t}function C(t){return"function"==typeof t?t:function(){return Mu(t,this)}}function S(t){return"function"==typeof t?t:function(){return ku(t,this)}}function T(t,e){function n(){this.removeAttribute(t)}function r(){this.removeAttributeNS(t.space,t.local)}function i(){this.setAttribute(t,e)}function o(){this.setAttributeNS(t.space,t.local,e)}function a(){var n=e.apply(this,arguments);null==n?this.removeAttribute(t):this.setAttribute(t,n)}function u(){var n=e.apply(this,arguments);null==n?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,n)}return t=ru.ns.qualify(t),null==e?t.local?r:n:"function"==typeof e?t.local?u:a:t.local?o:i}function j(t){return t.trim().replace(/\s+/g," ")}function A(t){return new RegExp("(?:^|\\s+)"+ru.requote(t)+"(?:\\s+|$)","g")}function N(t){return(t+"").trim().split(/^|\s+/)}function q(t,e){function n(){for(var n=-1;++n<i;)t[n](this,e)}function r(){for(var n=-1,r=e.apply(this,arguments);++n<i;)t[n](this,r)}t=N(t).map(O);var i=t.length;return"function"==typeof e?r:n}function O(t){var e=A(t);return function(n,r){if(i=n.classList)return r?i.add(t):i.remove(t);var i=n.getAttribute("class")||"";r?(e.lastIndex=0,e.test(i)||n.setAttribute("class",j(i+" "+t))):n.setAttribute("class",j(i.replace(e," ")))}}function D(t,e,n){function r(){this.style.removeProperty(t)}function i(){this.style.setProperty(t,e,n)}function o(){var r=e.apply(this,arguments);null==r?this.style.removeProperty(t):this.style.setProperty(t,r,n)}return null==e?r:"function"==typeof e?o:i}function L(t,e){function n(){delete this[t]}function r(){this[t]=e}function i(){var n=e.apply(this,arguments);null==n?delete this[t]:this[t]=n}return null==e?n:"function"==typeof e?i:r}function F(t){return"function"==typeof t?t:(t=ru.ns.qualify(t)).local?function(){return this.ownerDocument.createElementNS(t.space,t.local)}:function(){return this.ownerDocument.createElementNS(this.namespaceURI,t)}}function z(){var t=this.parentNode;t&&t.removeChild(this)}function R(data){return{__data__:data}}function P(t){return function(){return Cu(this,t)}}function I(e){return arguments.length||(e=t),function(t,n){return t&&n?e(t.__data__,n.__data__):!t-!n}}function H(t,e){for(var n=0,r=t.length;r>n;n++)for(var i,o=t[n],a=0,u=o.length;u>a;a++)(i=o[a])&&e(i,a,n);return t}function B(t){return _u(t,ju),t}function $(t){var e,n;return function(r,i,o){var a,u=t[o].update,s=u.length;for(o!=n&&(n=o,e=0),i>=e&&(e=i+1);!(a=u[e])&&++e<s;);return a}}function V(t,e,n){function r(){var e=this[a];e&&(this.removeEventListener(t,e,e.$),delete this[a])}function i(){var i=s(e,ou(arguments));r.call(this),this.addEventListener(t,this[a]=i,i.$=n),i._=e}function o(){var e,n=new RegExp("^__on([^.]+)"+ru.requote(t)+"$");for(var r in this)if(e=r.match(n)){var i=this[r];this.removeEventListener(e[1],i,i.$),delete this[r]}}var a="__on"+t,u=t.indexOf("."),s=U;u>0&&(t=t.slice(0,u));var l=Nu.get(t);return l&&(t=l,s=W),u?e?i:r:e?b:o}function U(t,e){return function(n){var r=ru.event;ru.event=n,e[0]=this.__data__;try{t.apply(this,e)}finally{ru.event=r}}}function W(t,e){var n=U(t,e);return function(t){var e=this,r=t.relatedTarget;r&&(r===e||8&r.compareDocumentPosition(e))||n.call(e,t)}}function Y(){var t=".dragsuppress-"+ ++Ou,e="click"+t,n=ru.select(su).on("touchmove"+t,_).on("dragstart"+t,_).on("selectstart"+t,_);if(qu){var r=uu.style,i=r[qu];r[qu]="none"}return function(o){if(n.on(t,null),qu&&(r[qu]=i),o){var a=function(){n.on(e,null)};n.on(e,function(){_(),a()},!0),setTimeout(a,0)}}}function X(t,e){e.changedTouches&&(e=e.changedTouches[0]);var n=t.ownerSVGElement||t;if(n.createSVGPoint){var r=n.createSVGPoint();if(0>Du&&(su.scrollX||su.scrollY)){n=ru.select("body").append("svg").style({position:"absolute",top:0,left:0,margin:0,padding:0,border:"none"},"important");var i=n[0][0].getScreenCTM();Du=!(i.f||i.e),n.remove()}return Du?(r.x=e.pageX,r.y=e.pageY):(r.x=e.clientX,r.y=e.clientY),r=r.matrixTransform(t.getScreenCTM().inverse()),[r.x,r.y]}var o=t.getBoundingClientRect();return[e.clientX-o.left-t.clientLeft,e.clientY-o.top-t.clientTop]}function J(){return ru.event.changedTouches[0].identifier}function Z(){return ru.event.target}function G(){return su}function K(t){return t>0?1:0>t?-1:0}function Q(t,e,n){return(e[0]-t[0])*(n[1]-t[1])-(e[1]-t[1])*(n[0]-t[0])}function te(t){return t>1?0:-1>t?zu:Math.acos(t)}function ee(t){return t>1?Iu:-1>t?-Iu:Math.asin(t)}function ne(t){return((t=Math.exp(t))-1/t)/2}function re(t){return((t=Math.exp(t))+1/t)/2}function ie(t){return((t=Math.exp(2*t))-1)/(t+1)}function oe(t){return(t=Math.sin(t/2))*t}function ae(){}function ue(t,e,n){return this instanceof ue?(this.h=+t,this.s=+e,void(this.l=+n)):arguments.length<2?t instanceof ue?new ue(t.h,t.s,t.l):we(""+t,_e,ue):new ue(t,e,n)}function se(t,e,n){function r(t){return t>360?t-=360:0>t&&(t+=360),60>t?o+(a-o)*t/60:180>t?a:240>t?o+(a-o)*(240-t)/60:o
-}function i(t){return Math.round(255*r(t))}var o,a;return t=isNaN(t)?0:(t%=360)<0?t+360:t,e=isNaN(e)?0:0>e?0:e>1?1:e,n=0>n?0:n>1?1:n,a=.5>=n?n*(1+e):n+e-n*e,o=2*n-a,new me(i(t+120),i(t),i(t-120))}function le(t,e,n){return this instanceof le?(this.h=+t,this.c=+e,void(this.l=+n)):arguments.length<2?t instanceof le?new le(t.h,t.c,t.l):t instanceof fe?pe(t.l,t.a,t.b):pe((t=Me((t=ru.rgb(t)).r,t.g,t.b)).l,t.a,t.b):new le(t,e,n)}function ce(t,e,n){return isNaN(t)&&(t=0),isNaN(e)&&(e=0),new fe(n,Math.cos(t*=Hu)*e,Math.sin(t)*e)}function fe(t,e,n){return this instanceof fe?(this.l=+t,this.a=+e,void(this.b=+n)):arguments.length<2?t instanceof fe?new fe(t.l,t.a,t.b):t instanceof le?ce(t.h,t.c,t.l):Me((t=me(t)).r,t.g,t.b):new fe(t,e,n)}function he(t,e,n){var r=(t+16)/116,i=r+e/500,o=r-n/200;return i=de(i)*Ku,r=de(r)*Qu,o=de(o)*ts,new me(ve(3.2404542*i-1.5371385*r-.4985314*o),ve(-.969266*i+1.8760108*r+.041556*o),ve(.0556434*i-.2040259*r+1.0572252*o))}function pe(t,e,n){return t>0?new le(Math.atan2(n,e)*Bu,Math.sqrt(e*e+n*n),t):new le(0/0,0/0,t)}function de(t){return t>.206893034?t*t*t:(t-4/29)/7.787037}function ge(t){return t>.008856?Math.pow(t,1/3):7.787037*t+4/29}function ve(t){return Math.round(255*(.00304>=t?12.92*t:1.055*Math.pow(t,1/2.4)-.055))}function me(t,e,n){return this instanceof me?(this.r=~~t,this.g=~~e,void(this.b=~~n)):arguments.length<2?t instanceof me?new me(t.r,t.g,t.b):we(""+t,me,se):new me(t,e,n)}function ye(t){return new me(t>>16,t>>8&255,255&t)}function be(t){return ye(t)+""}function xe(t){return 16>t?"0"+Math.max(0,t).toString(16):Math.min(255,t).toString(16)}function we(t,e,n){var r,i,o,a=0,u=0,s=0;if(r=/([a-z]+)\((.*)\)/i.exec(t))switch(i=r[2].split(","),r[1]){case"hsl":return n(parseFloat(i[0]),parseFloat(i[1])/100,parseFloat(i[2])/100);case"rgb":return e(Ee(i[0]),Ee(i[1]),Ee(i[2]))}return(o=rs.get(t))?e(o.r,o.g,o.b):(null==t||"#"!==t.charAt(0)||isNaN(o=parseInt(t.slice(1),16))||(4===t.length?(a=(3840&o)>>4,a=a>>4|a,u=240&o,u=u>>4|u,s=15&o,s=s<<4|s):7===t.length&&(a=(16711680&o)>>16,u=(65280&o)>>8,s=255&o)),e(a,u,s))}function _e(t,e,n){var r,i,o=Math.min(t/=255,e/=255,n/=255),a=Math.max(t,e,n),u=a-o,s=(a+o)/2;return u?(i=.5>s?u/(a+o):u/(2-a-o),r=t==a?(e-n)/u+(n>e?6:0):e==a?(n-t)/u+2:(t-e)/u+4,r*=60):(r=0/0,i=s>0&&1>s?0:r),new ue(r,i,s)}function Me(t,e,n){t=ke(t),e=ke(e),n=ke(n);var r=ge((.4124564*t+.3575761*e+.1804375*n)/Ku),i=ge((.2126729*t+.7151522*e+.072175*n)/Qu),o=ge((.0193339*t+.119192*e+.9503041*n)/ts);return fe(116*i-16,500*(r-i),200*(i-o))}function ke(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function Ee(t){var e=parseFloat(t);return"%"===t.charAt(t.length-1)?Math.round(2.55*e):e}function Ce(t){return"function"==typeof t?t:function(){return t}}function Se(t){return t}function Te(t){return function(e,n,r){return 2===arguments.length&&"function"==typeof n&&(r=n,n=null),je(e,n,t,r)}}function je(t,e,n,r){function i(){var t,e=s.status;if(!e&&Ne(s)||e>=200&&300>e||304===e){try{t=n.call(o,s)}catch(r){return void a.error.call(o,r)}a.load.call(o,t)}else a.error.call(o,s)}var o={},a=ru.dispatch("beforesend","progress","load","error"),u={},s=new XMLHttpRequest,l=null;return!su.XDomainRequest||"withCredentials"in s||!/^(http(s)?:)?\/\//.test(t)||(s=new XDomainRequest),"onload"in s?s.onload=s.onerror=i:s.onreadystatechange=function(){s.readyState>3&&i()},s.onprogress=function(t){var e=ru.event;ru.event=t;try{a.progress.call(o,s)}finally{ru.event=e}},o.header=function(t,e){return t=(t+"").toLowerCase(),arguments.length<2?u[t]:(null==e?delete u[t]:u[t]=e+"",o)},o.mimeType=function(t){return arguments.length?(e=null==t?null:t+"",o):e},o.responseType=function(t){return arguments.length?(l=t,o):l},o.response=function(t){return n=t,o},["get","post"].forEach(function(t){o[t]=function(){return o.send.apply(o,[t].concat(ou(arguments)))}}),o.send=function(n,data,r){if(2===arguments.length&&"function"==typeof data&&(r=data,data=null),s.open(n,t,!0),null==e||"accept"in u||(u.accept=e+",*/*"),s.setRequestHeader)for(var i in u)s.setRequestHeader(i,u[i]);return null!=e&&s.overrideMimeType&&s.overrideMimeType(e),null!=l&&(s.responseType=l),null!=r&&o.on("error",r).on("load",function(t){r(null,t)}),a.beforesend.call(o,s),s.send(null==data?null:data),o},o.abort=function(){return s.abort(),o},ru.rebind(o,a,"on"),null==r?o:o.get(Ae(r))}function Ae(t){return 1===t.length?function(e,n){t(null==e?n:null)}:t}function Ne(t){var e=t.responseType;return e&&"text"!==e?t.response:t.responseText}function qe(){var t=Oe(),e=De()-t;e>24?(isFinite(e)&&(clearTimeout(us),us=setTimeout(qe,e)),as=0):(as=1,ls(qe))}function Oe(){var t=Date.now();for(ss=is;ss;)t>=ss.t&&(ss.f=ss.c(t-ss.t)),ss=ss.n;return t}function De(){for(var t,e=is,n=1/0;e;)e.f?e=t?t.n=e.n:is=e.n:(e.t<n&&(n=e.t),e=(t=e).n);return os=t,n}function Le(t,e){return e-(t?Math.ceil(Math.log(t)/Math.LN10):1)}function Fe(t,e){var n=Math.pow(10,3*mu(8-e));return{scale:e>8?function(t){return t/n}:function(t){return t*n},symbol:t}}function ze(t){var e=t.decimal,n=t.thousands,r=t.grouping,i=t.currency,o=r&&n?function(t,e){for(var i=t.length,o=[],a=0,u=r[0],s=0;i>0&&u>0&&(s+u+1>e&&(u=Math.max(1,e-s)),o.push(t.substring(i-=u,i+u)),!((s+=u+1)>e));)u=r[a=(a+1)%r.length];return o.reverse().join(n)}:Se;return function(t){var n=fs.exec(t),r=n[1]||" ",a=n[2]||">",u=n[3]||"-",s=n[4]||"",l=n[5],c=+n[6],f=n[7],h=n[8],p=n[9],d=1,g="",v="",m=!1,y=!0;switch(h&&(h=+h.substring(1)),(l||"0"===r&&"="===a)&&(l=r="0",a="="),p){case"n":f=!0,p="g";break;case"%":d=100,v="%",p="f";break;case"p":d=100,v="%",p="r";break;case"b":case"o":case"x":case"X":"#"===s&&(g="0"+p.toLowerCase());case"c":y=!1;case"d":m=!0,h=0;break;case"s":d=-1,p="r"}"$"===s&&(g=i[0],v=i[1]),"r"!=p||h||(p="g"),null!=h&&("g"==p?h=Math.max(1,Math.min(21,h)):("e"==p||"f"==p)&&(h=Math.max(0,Math.min(20,h)))),p=hs.get(p)||Re;var b=l&&f;return function(t){var n=v;if(m&&t%1)return"";var i=0>t||0===t&&0>1/t?(t=-t,"-"):"-"===u?"":u;if(0>d){var s=ru.formatPrefix(t,h);t=s.scale(t),n=s.symbol+v}else t*=d;t=p(t,h);var x,w,_=t.lastIndexOf(".");if(0>_){var M=y?t.lastIndexOf("e"):-1;0>M?(x=t,w=""):(x=t.substring(0,M),w=t.substring(M))}else x=t.substring(0,_),w=e+t.substring(_+1);!l&&f&&(x=o(x,1/0));var k=g.length+x.length+w.length+(b?0:i.length),E=c>k?new Array(k=c-k+1).join(r):"";return b&&(x=o(E+x,E.length?c-w.length:1/0)),i+=g,t=x+w,("<"===a?i+t+E:">"===a?E+i+t:"^"===a?E.substring(0,k>>=1)+i+t+E.substring(k):i+(b?t:E+t))+n}}}function Re(t){return t+""}function Pe(){this._=new Date(arguments.length>1?Date.UTC.apply(this,arguments):arguments[0])}function Ie(t,e,n){function r(e){var n=t(e),r=o(n,1);return r-e>e-n?n:r}function i(n){return e(n=t(new ds(n-1)),1),n}function o(t,n){return e(t=new ds(+t),n),t}function a(t,r,o){var a=i(t),u=[];if(o>1)for(;r>a;)n(a)%o||u.push(new Date(+a)),e(a,1);else for(;r>a;)u.push(new Date(+a)),e(a,1);return u}function u(t,e,n){try{ds=Pe;var r=new Pe;return r._=t,a(r,e,n)}finally{ds=Date}}t.floor=t,t.round=r,t.ceil=i,t.offset=o,t.range=a;var s=t.utc=He(t);return s.floor=s,s.round=He(r),s.ceil=He(i),s.offset=He(o),s.range=u,t}function He(t){return function(e,n){try{ds=Pe;var r=new Pe;return r._=e,t(r,n)._}finally{ds=Date}}}function Be(t){function e(t){function e(e){for(var n,i,o,a=[],u=-1,s=0;++u<r;)37===t.charCodeAt(u)&&(a.push(t.slice(s,u)),null!=(i=vs[n=t.charAt(++u)])&&(n=t.charAt(++u)),(o=T[n])&&(n=o(e,null==i?"e"===n?" ":"0":i)),a.push(n),s=u+1);return a.push(t.slice(s,u)),a.join("")}var r=t.length;return e.parse=function(e){var r={y:1900,m:0,d:1,H:0,M:0,S:0,L:0,Z:null},i=n(r,t,e,0);if(i!=e.length)return null;"p"in r&&(r.H=r.H%12+12*r.p);var o=null!=r.Z&&ds!==Pe,a=new(o?Pe:ds);return"j"in r?a.setFullYear(r.y,0,r.j):"w"in r&&("W"in r||"U"in r)?(a.setFullYear(r.y,0,1),a.setFullYear(r.y,0,"W"in r?(r.w+6)%7+7*r.W-(a.getDay()+5)%7:r.w+7*r.U-(a.getDay()+6)%7)):a.setFullYear(r.y,r.m,r.d),a.setHours(r.H+(r.Z/100|0),r.M+r.Z%100,r.S,r.L),o?a._:a},e.toString=function(){return t},e}function n(t,e,n,r){for(var i,o,a,u=0,s=e.length,l=n.length;s>u;){if(r>=l)return-1;if(i=e.charCodeAt(u++),37===i){if(a=e.charAt(u++),o=j[a in vs?e.charAt(u++):a],!o||(r=o(t,n,r))<0)return-1}else if(i!=n.charCodeAt(r++))return-1}return r}function r(t,e,n){_.lastIndex=0;var r=_.exec(e.slice(n));return r?(t.w=M.get(r[0].toLowerCase()),n+r[0].length):-1}function i(t,e,n){x.lastIndex=0;var r=x.exec(e.slice(n));return r?(t.w=w.get(r[0].toLowerCase()),n+r[0].length):-1}function o(t,e,n){C.lastIndex=0;var r=C.exec(e.slice(n));return r?(t.m=S.get(r[0].toLowerCase()),n+r[0].length):-1}function a(t,e,n){k.lastIndex=0;var r=k.exec(e.slice(n));return r?(t.m=E.get(r[0].toLowerCase()),n+r[0].length):-1}function u(t,e,r){return n(t,T.c.toString(),e,r)}function s(t,e,r){return n(t,T.x.toString(),e,r)}function l(t,e,r){return n(t,T.X.toString(),e,r)}function c(t,e,n){var r=b.get(e.slice(n,n+=2).toLowerCase());return null==r?-1:(t.p=r,n)}var f=t.dateTime,h=t.date,p=t.time,d=t.periods,g=t.days,v=t.shortDays,m=t.months,y=t.shortMonths;e.utc=function(t){function n(t){try{ds=Pe;var e=new ds;return e._=t,r(e)}finally{ds=Date}}var r=e(t);return n.parse=function(t){try{ds=Pe;var e=r.parse(t);return e&&e._}finally{ds=Date}},n.toString=r.toString,n},e.multi=e.utc.multi=ln;var b=ru.map(),x=Ve(g),w=Ue(g),_=Ve(v),M=Ue(v),k=Ve(m),E=Ue(m),C=Ve(y),S=Ue(y);d.forEach(function(t,e){b.set(t.toLowerCase(),e)});var T={a:function(t){return v[t.getDay()]},A:function(t){return g[t.getDay()]},b:function(t){return y[t.getMonth()]},B:function(t){return m[t.getMonth()]},c:e(f),d:function(t,e){return $e(t.getDate(),e,2)},e:function(t,e){return $e(t.getDate(),e,2)},H:function(t,e){return $e(t.getHours(),e,2)},I:function(t,e){return $e(t.getHours()%12||12,e,2)},j:function(t,e){return $e(1+ps.dayOfYear(t),e,3)},L:function(t,e){return $e(t.getMilliseconds(),e,3)},m:function(t,e){return $e(t.getMonth()+1,e,2)},M:function(t,e){return $e(t.getMinutes(),e,2)},p:function(t){return d[+(t.getHours()>=12)]},S:function(t,e){return $e(t.getSeconds(),e,2)},U:function(t,e){return $e(ps.sundayOfYear(t),e,2)},w:function(t){return t.getDay()},W:function(t,e){return $e(ps.mondayOfYear(t),e,2)},x:e(h),X:e(p),y:function(t,e){return $e(t.getFullYear()%100,e,2)},Y:function(t,e){return $e(t.getFullYear()%1e4,e,4)},Z:un,"%":function(){return"%"}},j={a:r,A:i,b:o,B:a,c:u,d:tn,e:tn,H:nn,I:nn,j:en,L:an,m:Qe,M:rn,p:c,S:on,U:Ye,w:We,W:Xe,x:s,X:l,y:Ze,Y:Je,Z:Ge,"%":sn};return e}function $e(t,e,n){var r=0>t?"-":"",i=(r?-t:t)+"",o=i.length;return r+(n>o?new Array(n-o+1).join(e)+i:i)}function Ve(t){return new RegExp("^(?:"+t.map(ru.requote).join("|")+")","i")}function Ue(t){for(var e=new s,n=-1,r=t.length;++n<r;)e.set(t[n].toLowerCase(),n);return e}function We(t,e,n){ms.lastIndex=0;var r=ms.exec(e.slice(n,n+1));return r?(t.w=+r[0],n+r[0].length):-1}function Ye(t,e,n){ms.lastIndex=0;var r=ms.exec(e.slice(n));return r?(t.U=+r[0],n+r[0].length):-1}function Xe(t,e,n){ms.lastIndex=0;var r=ms.exec(e.slice(n));return r?(t.W=+r[0],n+r[0].length):-1}function Je(t,e,n){ms.lastIndex=0;var r=ms.exec(e.slice(n,n+4));return r?(t.y=+r[0],n+r[0].length):-1}function Ze(t,e,n){ms.lastIndex=0;var r=ms.exec(e.slice(n,n+2));return r?(t.y=Ke(+r[0]),n+r[0].length):-1}function Ge(t,e,n){return/^[+-]\d{4}$/.test(e=e.slice(n,n+5))?(t.Z=-e,n+5):-1}function Ke(t){return t+(t>68?1900:2e3)}function Qe(t,e,n){ms.lastIndex=0;var r=ms.exec(e.slice(n,n+2));return r?(t.m=r[0]-1,n+r[0].length):-1}function tn(t,e,n){ms.lastIndex=0;var r=ms.exec(e.slice(n,n+2));return r?(t.d=+r[0],n+r[0].length):-1}function en(t,e,n){ms.lastIndex=0;var r=ms.exec(e.slice(n,n+3));return r?(t.j=+r[0],n+r[0].length):-1}function nn(t,e,n){ms.lastIndex=0;var r=ms.exec(e.slice(n,n+2));return r?(t.H=+r[0],n+r[0].length):-1}function rn(t,e,n){ms.lastIndex=0;var r=ms.exec(e.slice(n,n+2));return r?(t.M=+r[0],n+r[0].length):-1}function on(t,e,n){ms.lastIndex=0;var r=ms.exec(e.slice(n,n+2));return r?(t.S=+r[0],n+r[0].length):-1}function an(t,e,n){ms.lastIndex=0;var r=ms.exec(e.slice(n,n+3));return r?(t.L=+r[0],n+r[0].length):-1}function un(t){var e=t.getTimezoneOffset(),n=e>0?"-":"+",r=mu(e)/60|0,i=mu(e)%60;return n+$e(r,"0",2)+$e(i,"0",2)}function sn(t,e,n){ys.lastIndex=0;var r=ys.exec(e.slice(n,n+1));return r?n+r[0].length:-1}function ln(t){for(var e=t.length,n=-1;++n<e;)t[n][0]=this(t[n][0]);return function(e){for(var n=0,r=t[n];!r[1](e);)r=t[++n];return r[0](e)}}function cn(){}function fn(t,e,n){var r=n.s=t+e,i=r-t,o=r-i;n.t=t-o+(e-i)}function hn(t,e){t&&_s.hasOwnProperty(t.type)&&_s[t.type](t,e)}function pn(t,e,n){var r,i=-1,o=t.length-n;for(e.lineStart();++i<o;)r=t[i],e.point(r[0],r[1],r[2]);e.lineEnd()}function dn(t,e){var n=-1,r=t.length;for(e.polygonStart();++n<r;)pn(t[n],e,1);e.polygonEnd()}function gn(){function t(t,e){t*=Hu,e=e*Hu/2+zu/4;var n=t-r,a=n>=0?1:-1,u=a*n,s=Math.cos(e),l=Math.sin(e),c=o*l,f=i*s+c*Math.cos(u),h=c*a*Math.sin(u);ks.add(Math.atan2(h,f)),r=t,i=s,o=l}var e,n,r,i,o;Es.point=function(a,u){Es.point=t,r=(e=a)*Hu,i=Math.cos(u=(n=u)*Hu/2+zu/4),o=Math.sin(u)},Es.lineEnd=function(){t(e,n)}}function vn(t){var e=t[0],n=t[1],r=Math.cos(n);return[r*Math.cos(e),r*Math.sin(e),Math.sin(n)]}function mn(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function yn(t,e){return[t[1]*e[2]-t[2]*e[1],t[2]*e[0]-t[0]*e[2],t[0]*e[1]-t[1]*e[0]]}function bn(t,e){t[0]+=e[0],t[1]+=e[1],t[2]+=e[2]}function xn(t,e){return[t[0]*e,t[1]*e,t[2]*e]}function wn(t){var e=Math.sqrt(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=e,t[1]/=e,t[2]/=e}function _n(t){return[Math.atan2(t[1],t[0]),ee(t[2])]}function Mn(t,e){return mu(t[0]-e[0])<Lu&&mu(t[1]-e[1])<Lu}function kn(t,e){t*=Hu;var n=Math.cos(e*=Hu);En(n*Math.cos(t),n*Math.sin(t),Math.sin(e))}function En(t,e,n){++Cs,Ts+=(t-Ts)/Cs,js+=(e-js)/Cs,As+=(n-As)/Cs}function Cn(){function t(t,i){t*=Hu;var o=Math.cos(i*=Hu),a=o*Math.cos(t),u=o*Math.sin(t),s=Math.sin(i),l=Math.atan2(Math.sqrt((l=n*s-r*u)*l+(l=r*a-e*s)*l+(l=e*u-n*a)*l),e*a+n*u+r*s);Ss+=l,Ns+=l*(e+(e=a)),qs+=l*(n+(n=u)),Os+=l*(r+(r=s)),En(e,n,r)}var e,n,r;zs.point=function(i,o){i*=Hu;var a=Math.cos(o*=Hu);e=a*Math.cos(i),n=a*Math.sin(i),r=Math.sin(o),zs.point=t,En(e,n,r)}}function Sn(){zs.point=kn}function Tn(){function t(t,e){t*=Hu;var n=Math.cos(e*=Hu),a=n*Math.cos(t),u=n*Math.sin(t),s=Math.sin(e),l=i*s-o*u,c=o*a-r*s,f=r*u-i*a,h=Math.sqrt(l*l+c*c+f*f),p=r*a+i*u+o*s,d=h&&-te(p)/h,g=Math.atan2(h,p);Ds+=d*l,Ls+=d*c,Fs+=d*f,Ss+=g,Ns+=g*(r+(r=a)),qs+=g*(i+(i=u)),Os+=g*(o+(o=s)),En(r,i,o)}var e,n,r,i,o;zs.point=function(a,u){e=a,n=u,zs.point=t,a*=Hu;var s=Math.cos(u*=Hu);r=s*Math.cos(a),i=s*Math.sin(a),o=Math.sin(u),En(r,i,o)},zs.lineEnd=function(){t(e,n),zs.lineEnd=Sn,zs.point=kn}}function jn(t,e){function n(n,r){return n=t(n,r),e(n[0],n[1])}return t.invert&&e.invert&&(n.invert=function(n,r){return n=e.invert(n,r),n&&t.invert(n[0],n[1])}),n}function An(){return!0}function Nn(t,e,n,r,i){var o=[],a=[];if(t.forEach(function(t){if(!((e=t.length-1)<=0)){var e,n=t[0],r=t[e];if(Mn(n,r)){i.lineStart();for(var u=0;e>u;++u)i.point((n=t[u])[0],n[1]);return void i.lineEnd()}var s=new On(n,t,null,!0),l=new On(n,null,s,!1);s.o=l,o.push(s),a.push(l),s=new On(r,t,null,!1),l=new On(r,null,s,!0),s.o=l,o.push(s),a.push(l)}}),a.sort(e),qn(o),qn(a),o.length){for(var u=0,s=n,l=a.length;l>u;++u)a[u].e=s=!s;for(var c,f,h=o[0];;){for(var p=h,d=!0;p.v;)if((p=p.n)===h)return;c=p.z,i.lineStart();do{if(p.v=p.o.v=!0,p.e){if(d)for(var u=0,l=c.length;l>u;++u)i.point((f=c[u])[0],f[1]);else r(p.x,p.n.x,1,i);p=p.n}else{if(d){c=p.p.z;for(var u=c.length-1;u>=0;--u)i.point((f=c[u])[0],f[1])}else r(p.x,p.p.x,-1,i);p=p.p}p=p.o,c=p.z,d=!d}while(!p.v);i.lineEnd()}}}function qn(t){if(e=t.length){for(var e,n,r=0,i=t[0];++r<e;)i.n=n=t[r],n.p=i,i=n;i.n=n=t[0],n.p=i}}function On(t,e,n,r){this.x=t,this.z=e,this.o=n,this.e=r,this.v=!1,this.n=this.p=null}function Dn(t,e,n,r){return function(i,o){function a(e,n){var r=i(e,n);t(e=r[0],n=r[1])&&o.point(e,n)}function u(t,e){var n=i(t,e);v.point(n[0],n[1])}function s(){y.point=u,v.lineStart()}function l(){y.point=a,v.lineEnd()}function c(t,e){g.push([t,e]);var n=i(t,e);x.point(n[0],n[1])}function f(){x.lineStart(),g=[]}function h(){c(g[0][0],g[0][1]),x.lineEnd();var t,e=x.clean(),n=b.buffer(),r=n.length;if(g.pop(),d.push(g),g=null,r)if(1&e){t=n[0];var i,r=t.length-1,a=-1;if(r>0){for(w||(o.polygonStart(),w=!0),o.lineStart();++a<r;)o.point((i=t[a])[0],i[1]);o.lineEnd()}}else r>1&&2&e&&n.push(n.pop().concat(n.shift())),p.push(n.filter(Ln))}var p,d,g,v=e(o),m=i.invert(r[0],r[1]),y={point:a,lineStart:s,lineEnd:l,polygonStart:function(){y.point=c,y.lineStart=f,y.lineEnd=h,p=[],d=[]},polygonEnd:function(){y.point=a,y.lineStart=s,y.lineEnd=l,p=ru.merge(p);var t=Hn(m,d);p.length?(w||(o.polygonStart(),w=!0),Nn(p,zn,t,n,o)):t&&(w||(o.polygonStart(),w=!0),o.lineStart(),n(null,null,1,o),o.lineEnd()),w&&(o.polygonEnd(),w=!1),p=d=null},sphere:function(){o.polygonStart(),o.lineStart(),n(null,null,1,o),o.lineEnd(),o.polygonEnd()}},b=Fn(),x=e(b),w=!1;return y}}function Ln(t){return t.length>1}function Fn(){var t,e=[];return{lineStart:function(){e.push(t=[])},point:function(e,n){t.push([e,n])},lineEnd:b,buffer:function(){var n=e;return e=[],t=null,n},rejoin:function(){e.length>1&&e.push(e.pop().concat(e.shift()))}}}function zn(t,e){return((t=t.x)[0]<0?t[1]-Iu-Lu:Iu-t[1])-((e=e.x)[0]<0?e[1]-Iu-Lu:Iu-e[1])}function Rn(t){var e,n=0/0,r=0/0,i=0/0;return{lineStart:function(){t.lineStart(),e=1},point:function(o,a){var u=o>0?zu:-zu,s=mu(o-n);mu(s-zu)<Lu?(t.point(n,r=(r+a)/2>0?Iu:-Iu),t.point(i,r),t.lineEnd(),t.lineStart(),t.point(u,r),t.point(o,r),e=0):i!==u&&s>=zu&&(mu(n-i)<Lu&&(n-=i*Lu),mu(o-u)<Lu&&(o-=u*Lu),r=Pn(n,r,o,a),t.point(i,r),t.lineEnd(),t.lineStart(),t.point(u,r),e=0),t.point(n=o,r=a),i=u},lineEnd:function(){t.lineEnd(),n=r=0/0},clean:function(){return 2-e}}}function Pn(t,e,n,r){var i,o,a=Math.sin(t-n);return mu(a)>Lu?Math.atan((Math.sin(e)*(o=Math.cos(r))*Math.sin(n)-Math.sin(r)*(i=Math.cos(e))*Math.sin(t))/(i*o*a)):(e+r)/2}function In(t,e,n,r){var i;if(null==t)i=n*Iu,r.point(-zu,i),r.point(0,i),r.point(zu,i),r.point(zu,0),r.point(zu,-i),r.point(0,-i),r.point(-zu,-i),r.point(-zu,0),r.point(-zu,i);else if(mu(t[0]-e[0])>Lu){var o=t[0]<e[0]?zu:-zu;i=n*o/2,r.point(-o,i),r.point(0,i),r.point(o,i)}else r.point(e[0],e[1])}function Hn(t,e){var n=t[0],r=t[1],i=[Math.sin(n),-Math.cos(n),0],o=0,a=0;ks.reset();for(var u=0,s=e.length;s>u;++u){var l=e[u],c=l.length;if(c)for(var f=l[0],h=f[0],p=f[1]/2+zu/4,d=Math.sin(p),g=Math.cos(p),v=1;;){v===c&&(v=0),t=l[v];var m=t[0],y=t[1]/2+zu/4,b=Math.sin(y),x=Math.cos(y),w=m-h,_=w>=0?1:-1,M=_*w,k=M>zu,E=d*b;if(ks.add(Math.atan2(E*_*Math.sin(M),g*x+E*Math.cos(M))),o+=k?w+_*Ru:w,k^h>=n^m>=n){var C=yn(vn(f),vn(t));wn(C);var S=yn(i,C);wn(S);var T=(k^w>=0?-1:1)*ee(S[2]);(r>T||r===T&&(C[0]||C[1]))&&(a+=k^w>=0?1:-1)}if(!v++)break;h=m,d=b,g=x,f=t}}return(-Lu>o||Lu>o&&0>ks)^1&a}function Bn(t){function e(t,e){return Math.cos(t)*Math.cos(e)>o}function n(t){var n,o,s,l,c;return{lineStart:function(){l=s=!1,c=1},point:function(f,h){var p,d=[f,h],g=e(f,h),v=a?g?0:i(f,h):g?i(f+(0>f?zu:-zu),h):0;if(!n&&(l=s=g)&&t.lineStart(),g!==s&&(p=r(n,d),(Mn(n,p)||Mn(d,p))&&(d[0]+=Lu,d[1]+=Lu,g=e(d[0],d[1]))),g!==s)c=0,g?(t.lineStart(),p=r(d,n),t.point(p[0],p[1])):(p=r(n,d),t.point(p[0],p[1]),t.lineEnd()),n=p;else if(u&&n&&a^g){var m;v&o||!(m=r(d,n,!0))||(c=0,a?(t.lineStart(),t.point(m[0][0],m[0][1]),t.point(m[1][0],m[1][1]),t.lineEnd()):(t.point(m[1][0],m[1][1]),t.lineEnd(),t.lineStart(),t.point(m[0][0],m[0][1])))}!g||n&&Mn(n,d)||t.point(d[0],d[1]),n=d,s=g,o=v},lineEnd:function(){s&&t.lineEnd(),n=null},clean:function(){return c|(l&&s)<<1}}}function r(t,e,n){var r=vn(t),i=vn(e),a=[1,0,0],u=yn(r,i),s=mn(u,u),l=u[0],c=s-l*l;if(!c)return!n&&t;var f=o*s/c,h=-o*l/c,p=yn(a,u),d=xn(a,f),g=xn(u,h);bn(d,g);var v=p,m=mn(d,v),y=mn(v,v),b=m*m-y*(mn(d,d)-1);if(!(0>b)){var x=Math.sqrt(b),w=xn(v,(-m-x)/y);if(bn(w,d),w=_n(w),!n)return w;var _,M=t[0],k=e[0],E=t[1],C=e[1];M>k&&(_=M,M=k,k=_);var S=k-M,T=mu(S-zu)<Lu,j=T||Lu>S;if(!T&&E>C&&(_=E,E=C,C=_),j?T?E+C>0^w[1]<(mu(w[0]-M)<Lu?E:C):E<=w[1]&&w[1]<=C:S>zu^(M<=w[0]&&w[0]<=k)){var A=xn(v,(-m+x)/y);return bn(A,d),[w,_n(A)]}}}function i(e,n){var r=a?t:zu-t,i=0;return-r>e?i|=1:e>r&&(i|=2),-r>n?i|=4:n>r&&(i|=8),i}var o=Math.cos(t),a=o>0,u=mu(o)>Lu,s=gr(t,6*Hu);return Dn(e,n,s,a?[0,-t]:[-zu,t-zu])}function $n(t,e,n,r){return function(i){var o,a=i.a,u=i.b,s=a.x,l=a.y,c=u.x,f=u.y,h=0,p=1,d=c-s,g=f-l;if(o=t-s,d||!(o>0)){if(o/=d,0>d){if(h>o)return;p>o&&(p=o)}else if(d>0){if(o>p)return;o>h&&(h=o)}if(o=n-s,d||!(0>o)){if(o/=d,0>d){if(o>p)return;o>h&&(h=o)}else if(d>0){if(h>o)return;p>o&&(p=o)}if(o=e-l,g||!(o>0)){if(o/=g,0>g){if(h>o)return;p>o&&(p=o)}else if(g>0){if(o>p)return;o>h&&(h=o)}if(o=r-l,g||!(0>o)){if(o/=g,0>g){if(o>p)return;o>h&&(h=o)}else if(g>0){if(h>o)return;p>o&&(p=o)}return h>0&&(i.a={x:s+h*d,y:l+h*g}),1>p&&(i.b={x:s+p*d,y:l+p*g}),i}}}}}}function Vn(t,e,n,r){function i(r,i){return mu(r[0]-t)<Lu?i>0?0:3:mu(r[0]-n)<Lu?i>0?2:1:mu(r[1]-e)<Lu?i>0?1:0:i>0?3:2}function o(t,e){return a(t.x,e.x)}function a(t,e){var n=i(t,1),r=i(e,1);return n!==r?n-r:0===n?e[1]-t[1]:1===n?t[0]-e[0]:2===n?t[1]-e[1]:e[0]-t[0]}return function(u){function s(t){for(var e=0,n=v.length,r=t[1],i=0;n>i;++i)for(var o,a=1,u=v[i],s=u.length,l=u[0];s>a;++a)o=u[a],l[1]<=r?o[1]>r&&Q(l,o,t)>0&&++e:o[1]<=r&&Q(l,o,t)<0&&--e,l=o;return 0!==e}function l(o,u,s,l){var c=0,f=0;if(null==o||(c=i(o,s))!==(f=i(u,s))||a(o,u)<0^s>0){do l.point(0===c||3===c?t:n,c>1?r:e);while((c=(c+s+4)%4)!==f)}else l.point(u[0],u[1])}function c(i,o){return i>=t&&n>=i&&o>=e&&r>=o}function f(t,e){c(t,e)&&u.point(t,e)}function h(){j.point=d,v&&v.push(m=[]),k=!0,M=!1,w=_=0/0}function p(){g&&(d(y,b),x&&M&&S.rejoin(),g.push(S.buffer())),j.point=f,M&&u.lineEnd()}function d(t,e){t=Math.max(-Ps,Math.min(Ps,t)),e=Math.max(-Ps,Math.min(Ps,e));var n=c(t,e);if(v&&m.push([t,e]),k)y=t,b=e,x=n,k=!1,n&&(u.lineStart(),u.point(t,e));else if(n&&M)u.point(t,e);else{var r={a:{x:w,y:_},b:{x:t,y:e}};T(r)?(M||(u.lineStart(),u.point(r.a.x,r.a.y)),u.point(r.b.x,r.b.y),n||u.lineEnd(),E=!1):n&&(u.lineStart(),u.point(t,e),E=!1)}w=t,_=e,M=n}var g,v,m,y,b,x,w,_,M,k,E,C=u,S=Fn(),T=$n(t,e,n,r),j={point:f,lineStart:h,lineEnd:p,polygonStart:function(){u=S,g=[],v=[],E=!0},polygonEnd:function(){u=C,g=ru.merge(g);var e=s([t,r]),n=E&&e,i=g.length;(n||i)&&(u.polygonStart(),n&&(u.lineStart(),l(null,null,1,u),u.lineEnd()),i&&Nn(g,o,e,l,u),u.polygonEnd()),g=v=m=null}};return j}}function Un(t){var e=0,n=zu/3,r=ur(t),i=r(e,n);return i.parallels=function(t){return arguments.length?r(e=t[0]*zu/180,n=t[1]*zu/180):[e/zu*180,n/zu*180]},i}function Wn(t,e){function n(t,e){var n=Math.sqrt(o-2*i*Math.sin(e))/i;return[n*Math.sin(t*=i),a-n*Math.cos(t)]}var r=Math.sin(t),i=(r+Math.sin(e))/2,o=1+r*(2*i-r),a=Math.sqrt(o)/i;return n.invert=function(t,e){var n=a-e;return[Math.atan2(t,n)/i,ee((o-(t*t+n*n)*i*i)/(2*i))]},n}function Yn(){function t(t,e){Hs+=i*t-r*e,r=t,i=e}var e,n,r,i;Ws.point=function(o,a){Ws.point=t,e=r=o,n=i=a},Ws.lineEnd=function(){t(e,n)}}function Xn(t,e){Bs>t&&(Bs=t),t>Vs&&(Vs=t),$s>e&&($s=e),e>Us&&(Us=e)}function Jn(){function t(t,e){a.push("M",t,",",e,o)}function e(t,e){a.push("M",t,",",e),u.point=n}function n(t,e){a.push("L",t,",",e)}function r(){u.point=t}function i(){a.push("Z")}var o=Zn(4.5),a=[],u={point:t,lineStart:function(){u.point=e},lineEnd:r,polygonStart:function(){u.lineEnd=i},polygonEnd:function(){u.lineEnd=r,u.point=t},pointRadius:function(t){return o=Zn(t),u},result:function(){if(a.length){var t=a.join("");return a=[],t}}};return u}function Zn(t){return"m0,"+t+"a"+t+","+t+" 0 1,1 0,"+-2*t+"a"+t+","+t+" 0 1,1 0,"+2*t+"z"}function Gn(t,e){Ts+=t,js+=e,++As}function Kn(){function t(t,r){var i=t-e,o=r-n,a=Math.sqrt(i*i+o*o);Ns+=a*(e+t)/2,qs+=a*(n+r)/2,Os+=a,Gn(e=t,n=r)}var e,n;Xs.point=function(r,i){Xs.point=t,Gn(e=r,n=i)}}function Qn(){Xs.point=Gn}function tr(){function t(t,e){var n=t-r,o=e-i,a=Math.sqrt(n*n+o*o);Ns+=a*(r+t)/2,qs+=a*(i+e)/2,Os+=a,a=i*t-r*e,Ds+=a*(r+t),Ls+=a*(i+e),Fs+=3*a,Gn(r=t,i=e)}var e,n,r,i;Xs.point=function(o,a){Xs.point=t,Gn(e=r=o,n=i=a)},Xs.lineEnd=function(){t(e,n)}}function er(t){function e(e,n){t.moveTo(e+a,n),t.arc(e,n,a,0,Ru)}function n(e,n){t.moveTo(e,n),u.point=r}function r(e,n){t.lineTo(e,n)}function i(){u.point=e}function o(){t.closePath()}var a=4.5,u={point:e,lineStart:function(){u.point=n},lineEnd:i,polygonStart:function(){u.lineEnd=o},polygonEnd:function(){u.lineEnd=i,u.point=e},pointRadius:function(t){return a=t,u},result:b};return u}function nr(t){function e(t){return(u?r:n)(t)}function n(e){return or(e,function(n,r){n=t(n,r),e.point(n[0],n[1])})}function r(e){function n(n,r){n=t(n,r),e.point(n[0],n[1])}function r(){b=0/0,k.point=o,e.lineStart()}function o(n,r){var o=vn([n,r]),a=t(n,r);i(b,x,y,w,_,M,b=a[0],x=a[1],y=n,w=o[0],_=o[1],M=o[2],u,e),e.point(b,x)}function a(){k.point=n,e.lineEnd()}function s(){r(),k.point=l,k.lineEnd=c}function l(t,e){o(f=t,h=e),p=b,d=x,g=w,v=_,m=M,k.point=o}function c(){i(b,x,y,w,_,M,p,d,f,g,v,m,u,e),k.lineEnd=a,a()}var f,h,p,d,g,v,m,y,b,x,w,_,M,k={point:n,lineStart:r,lineEnd:a,polygonStart:function(){e.polygonStart(),k.lineStart=s},polygonEnd:function(){e.polygonEnd(),k.lineStart=r}};return k}function i(e,n,r,u,s,l,c,f,h,p,d,g,v,m){var y=c-e,b=f-n,x=y*y+b*b;if(x>4*o&&v--){var w=u+p,_=s+d,M=l+g,k=Math.sqrt(w*w+_*_+M*M),E=Math.asin(M/=k),C=mu(mu(M)-1)<Lu||mu(r-h)<Lu?(r+h)/2:Math.atan2(_,w),S=t(C,E),T=S[0],j=S[1],A=T-e,N=j-n,q=b*A-y*N;(q*q/x>o||mu((y*A+b*N)/x-.5)>.3||a>u*p+s*d+l*g)&&(i(e,n,r,u,s,l,T,j,C,w/=k,_/=k,M,v,m),m.point(T,j),i(T,j,C,w,_,M,c,f,h,p,d,g,v,m))}}var o=.5,a=Math.cos(30*Hu),u=16;return e.precision=function(t){return arguments.length?(u=(o=t*t)>0&&16,e):Math.sqrt(o)},e}function rr(t){var e=nr(function(e,n){return t([e*Bu,n*Bu])});return function(t){return sr(e(t))}}function ir(t){this.stream=t}function or(t,e){return{point:e,sphere:function(){t.sphere()},lineStart:function(){t.lineStart()},lineEnd:function(){t.lineEnd()},polygonStart:function(){t.polygonStart()},polygonEnd:function(){t.polygonEnd()}}}function ar(t){return ur(function(){return t})()}function ur(t){function e(t){return t=u(t[0]*Hu,t[1]*Hu),[t[0]*h+s,l-t[1]*h]}function n(t){return t=u.invert((t[0]-s)/h,(l-t[1])/h),t&&[t[0]*Bu,t[1]*Bu]}function r(){u=jn(a=fr(m,y,b),o);var t=o(g,v);return s=p-t[0]*h,l=d+t[1]*h,i()}function i(){return c&&(c.valid=!1,c=null),e}var o,a,u,s,l,c,f=nr(function(t,e){return t=o(t,e),[t[0]*h+s,l-t[1]*h]}),h=150,p=480,d=250,g=0,v=0,m=0,y=0,b=0,x=Rs,w=Se,_=null,M=null;return e.stream=function(t){return c&&(c.valid=!1),c=sr(x(a,f(w(t)))),c.valid=!0,c},e.clipAngle=function(t){return arguments.length?(x=null==t?(_=t,Rs):Bn((_=+t)*Hu),i()):_},e.clipExtent=function(t){return arguments.length?(M=t,w=t?Vn(t[0][0],t[0][1],t[1][0],t[1][1]):Se,i()):M},e.scale=function(t){return arguments.length?(h=+t,r()):h},e.translate=function(t){return arguments.length?(p=+t[0],d=+t[1],r()):[p,d]},e.center=function(t){return arguments.length?(g=t[0]%360*Hu,v=t[1]%360*Hu,r()):[g*Bu,v*Bu]},e.rotate=function(t){return arguments.length?(m=t[0]%360*Hu,y=t[1]%360*Hu,b=t.length>2?t[2]%360*Hu:0,r()):[m*Bu,y*Bu,b*Bu]},ru.rebind(e,f,"precision"),function(){return o=t.apply(this,arguments),e.invert=o.invert&&n,r()}}function sr(t){return or(t,function(e,n){t.point(e*Hu,n*Hu)})}function lr(t,e){return[t,e]}function cr(t,e){return[t>zu?t-Ru:-zu>t?t+Ru:t,e]}function fr(t,e,n){return t?e||n?jn(pr(t),dr(e,n)):pr(t):e||n?dr(e,n):cr}function hr(t){return function(e,n){return e+=t,[e>zu?e-Ru:-zu>e?e+Ru:e,n]}}function pr(t){var e=hr(t);return e.invert=hr(-t),e}function dr(t,e){function n(t,e){var n=Math.cos(e),u=Math.cos(t)*n,s=Math.sin(t)*n,l=Math.sin(e),c=l*r+u*i;return[Math.atan2(s*o-c*a,u*r-l*i),ee(c*o+s*a)]}var r=Math.cos(t),i=Math.sin(t),o=Math.cos(e),a=Math.sin(e);return n.invert=function(t,e){var n=Math.cos(e),u=Math.cos(t)*n,s=Math.sin(t)*n,l=Math.sin(e),c=l*o-s*a;return[Math.atan2(s*o+l*a,u*r+c*i),ee(c*r-u*i)]},n}function gr(t,e){var n=Math.cos(t),r=Math.sin(t);return function(i,o,a,u){var s=a*e;null!=i?(i=vr(n,i),o=vr(n,o),(a>0?o>i:i>o)&&(i+=a*Ru)):(i=t+a*Ru,o=t-.5*s);for(var l,c=i;a>0?c>o:o>c;c-=s)u.point((l=_n([n,-r*Math.cos(c),-r*Math.sin(c)]))[0],l[1])}}function vr(t,e){var n=vn(e);n[0]-=t,wn(n);var r=te(-n[1]);return((-n[2]<0?-r:r)+2*Math.PI-Lu)%(2*Math.PI)}function mr(t,e,n){var r=ru.range(t,e-Lu,n).concat(e);return function(t){return r.map(function(e){return[t,e]})}}function yr(t,e,n){var r=ru.range(t,e-Lu,n).concat(e);return function(t){return r.map(function(e){return[e,t]})}}function br(t){return t.source}function xr(t){return t.target}function wr(t,e,n,r){var i=Math.cos(e),o=Math.sin(e),a=Math.cos(r),u=Math.sin(r),s=i*Math.cos(t),l=i*Math.sin(t),c=a*Math.cos(n),f=a*Math.sin(n),h=2*Math.asin(Math.sqrt(oe(r-e)+i*a*oe(n-t))),p=1/Math.sin(h),d=h?function(t){var e=Math.sin(t*=h)*p,n=Math.sin(h-t)*p,r=n*s+e*c,i=n*l+e*f,a=n*o+e*u;return[Math.atan2(i,r)*Bu,Math.atan2(a,Math.sqrt(r*r+i*i))*Bu]}:function(){return[t*Bu,e*Bu]};return d.distance=h,d}function _r(){function t(t,i){var o=Math.sin(i*=Hu),a=Math.cos(i),u=mu((t*=Hu)-e),s=Math.cos(u);Js+=Math.atan2(Math.sqrt((u=a*Math.sin(u))*u+(u=r*o-n*a*s)*u),n*o+r*a*s),e=t,n=o,r=a}var e,n,r;Zs.point=function(i,o){e=i*Hu,n=Math.sin(o*=Hu),r=Math.cos(o),Zs.point=t},Zs.lineEnd=function(){Zs.point=Zs.lineEnd=b}}function Mr(t,e){function n(e,n){var r=Math.cos(e),i=Math.cos(n),o=t(r*i);return[o*i*Math.sin(e),o*Math.sin(n)]}return n.invert=function(t,n){var r=Math.sqrt(t*t+n*n),i=e(r),o=Math.sin(i),a=Math.cos(i);return[Math.atan2(t*o,r*a),Math.asin(r&&n*o/r)]},n}function kr(t,e){function n(t,e){a>0?-Iu+Lu>e&&(e=-Iu+Lu):e>Iu-Lu&&(e=Iu-Lu);var n=a/Math.pow(i(e),o);return[n*Math.sin(o*t),a-n*Math.cos(o*t)]}var r=Math.cos(t),i=function(t){return Math.tan(zu/4+t/2)},o=t===e?Math.sin(t):Math.log(r/Math.cos(e))/Math.log(i(e)/i(t)),a=r*Math.pow(i(t),o)/o;return o?(n.invert=function(t,e){var n=a-e,r=K(o)*Math.sqrt(t*t+n*n);return[Math.atan2(t,n)/o,2*Math.atan(Math.pow(a/r,1/o))-Iu]},n):Cr}function Er(t,e){function n(t,e){var n=o-e;return[n*Math.sin(i*t),o-n*Math.cos(i*t)]}var r=Math.cos(t),i=t===e?Math.sin(t):(r-Math.cos(e))/(e-t),o=r/i+t;return mu(i)<Lu?lr:(n.invert=function(t,e){var n=o-e;return[Math.atan2(t,n)/i,o-K(i)*Math.sqrt(t*t+n*n)]},n)}function Cr(t,e){return[t,Math.log(Math.tan(zu/4+e/2))]}function Sr(t){var e,n=ar(t),r=n.scale,i=n.translate,o=n.clipExtent;return n.scale=function(){var t=r.apply(n,arguments);return t===n?e?n.clipExtent(null):n:t},n.translate=function(){var t=i.apply(n,arguments);return t===n?e?n.clipExtent(null):n:t},n.clipExtent=function(t){var a=o.apply(n,arguments);if(a===n){if(e=null==t){var u=zu*r(),s=i();o([[s[0]-u,s[1]-u],[s[0]+u,s[1]+u]])}}else e&&(a=null);return a},n.clipExtent(null)}function Tr(t,e){return[Math.log(Math.tan(zu/4+e/2)),-t]}function jr(t){return t[0]}function Ar(t){return t[1]}function Nr(t){for(var e=t.length,n=[0,1],r=2,i=2;e>i;i++){for(;r>1&&Q(t[n[r-2]],t[n[r-1]],t[i])<=0;)--r;n[r++]=i}return n.slice(0,r)}function qr(t,e){return t[0]-e[0]||t[1]-e[1]}function Or(t,e,n){return(n[0]-e[0])*(t[1]-e[1])<(n[1]-e[1])*(t[0]-e[0])}function Dr(t,e,n,r){var i=t[0],o=n[0],a=e[0]-i,u=r[0]-o,s=t[1],l=n[1],c=e[1]-s,f=r[1]-l,h=(u*(s-l)-f*(i-o))/(f*a-u*c);return[i+h*a,s+h*c]}function Lr(t){var e=t[0],n=t[t.length-1];return!(e[0]-n[0]||e[1]-n[1])}function Fr(){ri(this),this.edge=this.site=this.circle=null}function zr(t){var e=sl.pop()||new Fr;return e.site=t,e}function Rr(t){Xr(t),ol.remove(t),sl.push(t),ri(t)}function Pr(t){var e=t.circle,n=e.x,r=e.cy,i={x:n,y:r},o=t.P,a=t.N,u=[t];Rr(t);for(var s=o;s.circle&&mu(n-s.circle.x)<Lu&&mu(r-s.circle.cy)<Lu;)o=s.P,u.unshift(s),Rr(s),s=o;u.unshift(s),Xr(s);for(var l=a;l.circle&&mu(n-l.circle.x)<Lu&&mu(r-l.circle.cy)<Lu;)a=l.N,u.push(l),Rr(l),l=a;u.push(l),Xr(l);var c,f=u.length;for(c=1;f>c;++c)l=u[c],s=u[c-1],ti(l.edge,s.site,l.site,i);s=u[0],l=u[f-1],l.edge=Kr(s.site,l.site,null,i),Yr(s),Yr(l)}function Ir(t){for(var e,n,r,i,o=t.x,a=t.y,u=ol._;u;)if(r=Hr(u,a)-o,r>Lu)u=u.L;else{if(i=o-Br(u,a),!(i>Lu)){r>-Lu?(e=u.P,n=u):i>-Lu?(e=u,n=u.N):e=n=u;break}if(!u.R){e=u;break}u=u.R}var s=zr(t);if(ol.insert(e,s),e||n){if(e===n)return Xr(e),n=zr(e.site),ol.insert(s,n),s.edge=n.edge=Kr(e.site,s.site),Yr(e),void Yr(n);
-if(!n)return void(s.edge=Kr(e.site,s.site));Xr(e),Xr(n);var l=e.site,c=l.x,f=l.y,h=t.x-c,p=t.y-f,d=n.site,g=d.x-c,v=d.y-f,m=2*(h*v-p*g),y=h*h+p*p,b=g*g+v*v,x={x:(v*y-p*b)/m+c,y:(h*b-g*y)/m+f};ti(n.edge,l,d,x),s.edge=Kr(l,t,null,x),n.edge=Kr(t,d,null,x),Yr(e),Yr(n)}}function Hr(t,e){var n=t.site,r=n.x,i=n.y,o=i-e;if(!o)return r;var a=t.P;if(!a)return-1/0;n=a.site;var u=n.x,s=n.y,l=s-e;if(!l)return u;var c=u-r,f=1/o-1/l,h=c/l;return f?(-h+Math.sqrt(h*h-2*f*(c*c/(-2*l)-s+l/2+i-o/2)))/f+r:(r+u)/2}function Br(t,e){var n=t.N;if(n)return Hr(n,e);var r=t.site;return r.y===e?r.x:1/0}function $r(t){this.site=t,this.edges=[]}function Vr(t){for(var e,n,r,i,o,a,u,s,l,c,f=t[0][0],h=t[1][0],p=t[0][1],d=t[1][1],g=il,v=g.length;v--;)if(o=g[v],o&&o.prepare())for(u=o.edges,s=u.length,a=0;s>a;)c=u[a].end(),r=c.x,i=c.y,l=u[++a%s].start(),e=l.x,n=l.y,(mu(r-e)>Lu||mu(i-n)>Lu)&&(u.splice(a,0,new ei(Qr(o.site,c,mu(r-f)<Lu&&d-i>Lu?{x:f,y:mu(e-f)<Lu?n:d}:mu(i-d)<Lu&&h-r>Lu?{x:mu(n-d)<Lu?e:h,y:d}:mu(r-h)<Lu&&i-p>Lu?{x:h,y:mu(e-h)<Lu?n:p}:mu(i-p)<Lu&&r-f>Lu?{x:mu(n-p)<Lu?e:f,y:p}:null),o.site,null)),++s)}function Ur(t,e){return e.angle-t.angle}function Wr(){ri(this),this.x=this.y=this.arc=this.site=this.cy=null}function Yr(t){var e=t.P,n=t.N;if(e&&n){var r=e.site,i=t.site,o=n.site;if(r!==o){var a=i.x,u=i.y,s=r.x-a,l=r.y-u,c=o.x-a,f=o.y-u,h=2*(s*f-l*c);if(!(h>=-Fu)){var p=s*s+l*l,d=c*c+f*f,g=(f*p-l*d)/h,v=(s*d-c*p)/h,f=v+u,m=ll.pop()||new Wr;m.arc=t,m.site=i,m.x=g+a,m.y=f+Math.sqrt(g*g+v*v),m.cy=f,t.circle=m;for(var y=null,b=ul._;b;)if(m.y<b.y||m.y===b.y&&m.x<=b.x){if(!b.L){y=b.P;break}b=b.L}else{if(!b.R){y=b;break}b=b.R}ul.insert(y,m),y||(al=m)}}}}function Xr(t){var e=t.circle;e&&(e.P||(al=e.N),ul.remove(e),ll.push(e),ri(e),t.circle=null)}function Jr(t){for(var e,n=rl,r=$n(t[0][0],t[0][1],t[1][0],t[1][1]),i=n.length;i--;)e=n[i],(!Zr(e,t)||!r(e)||mu(e.a.x-e.b.x)<Lu&&mu(e.a.y-e.b.y)<Lu)&&(e.a=e.b=null,n.splice(i,1))}function Zr(t,e){var n=t.b;if(n)return!0;var r,i,o=t.a,a=e[0][0],u=e[1][0],s=e[0][1],l=e[1][1],c=t.l,f=t.r,h=c.x,p=c.y,d=f.x,g=f.y,v=(h+d)/2,m=(p+g)/2;if(g===p){if(a>v||v>=u)return;if(h>d){if(o){if(o.y>=l)return}else o={x:v,y:s};n={x:v,y:l}}else{if(o){if(o.y<s)return}else o={x:v,y:l};n={x:v,y:s}}}else if(r=(h-d)/(g-p),i=m-r*v,-1>r||r>1)if(h>d){if(o){if(o.y>=l)return}else o={x:(s-i)/r,y:s};n={x:(l-i)/r,y:l}}else{if(o){if(o.y<s)return}else o={x:(l-i)/r,y:l};n={x:(s-i)/r,y:s}}else if(g>p){if(o){if(o.x>=u)return}else o={x:a,y:r*a+i};n={x:u,y:r*u+i}}else{if(o){if(o.x<a)return}else o={x:u,y:r*u+i};n={x:a,y:r*a+i}}return t.a=o,t.b=n,!0}function Gr(t,e){this.l=t,this.r=e,this.a=this.b=null}function Kr(t,e,n,r){var i=new Gr(t,e);return rl.push(i),n&&ti(i,t,e,n),r&&ti(i,e,t,r),il[t.i].edges.push(new ei(i,t,e)),il[e.i].edges.push(new ei(i,e,t)),i}function Qr(t,e,n){var r=new Gr(t,null);return r.a=e,r.b=n,rl.push(r),r}function ti(t,e,n,r){t.a||t.b?t.l===n?t.b=r:t.a=r:(t.a=r,t.l=e,t.r=n)}function ei(t,e,n){var r=t.a,i=t.b;this.edge=t,this.site=e,this.angle=n?Math.atan2(n.y-e.y,n.x-e.x):t.l===e?Math.atan2(i.x-r.x,r.y-i.y):Math.atan2(r.x-i.x,i.y-r.y)}function ni(){this._=null}function ri(t){t.U=t.C=t.L=t.R=t.P=t.N=null}function ii(t,e){var n=e,r=e.R,i=n.U;i?i.L===n?i.L=r:i.R=r:t._=r,r.U=i,n.U=r,n.R=r.L,n.R&&(n.R.U=n),r.L=n}function oi(t,e){var n=e,r=e.L,i=n.U;i?i.L===n?i.L=r:i.R=r:t._=r,r.U=i,n.U=r,n.L=r.R,n.L&&(n.L.U=n),r.R=n}function ai(t){for(;t.L;)t=t.L;return t}function ui(t,e){var n,r,i,o=t.sort(si).pop();for(rl=[],il=new Array(t.length),ol=new ni,ul=new ni;;)if(i=al,o&&(!i||o.y<i.y||o.y===i.y&&o.x<i.x))(o.x!==n||o.y!==r)&&(il[o.i]=new $r(o),Ir(o),n=o.x,r=o.y),o=t.pop();else{if(!i)break;Pr(i.arc)}e&&(Jr(e),Vr(e));var a={cells:il,edges:rl};return ol=ul=rl=il=null,a}function si(t,e){return e.y-t.y||e.x-t.x}function li(t,e,n){return(t.x-n.x)*(e.y-t.y)-(t.x-e.x)*(n.y-t.y)}function ci(t){return t.x}function fi(t){return t.y}function hi(){return{leaf:!0,nodes:[],point:null,x:null,y:null}}function pi(t,e,n,r,i,o){if(!t(e,n,r,i,o)){var a=.5*(n+i),u=.5*(r+o),s=e.nodes;s[0]&&pi(t,s[0],n,r,a,u),s[1]&&pi(t,s[1],a,r,i,u),s[2]&&pi(t,s[2],n,u,a,o),s[3]&&pi(t,s[3],a,u,i,o)}}function di(t,e,n,r,i,o,a){var u,s=1/0;return function l(t,c,f,h,p){if(!(c>o||f>a||r>h||i>p)){if(d=t.point){var d,g=e-d[0],v=n-d[1],m=g*g+v*v;if(s>m){var y=Math.sqrt(s=m);r=e-y,i=n-y,o=e+y,a=n+y,u=d}}for(var b=t.nodes,x=.5*(c+h),w=.5*(f+p),_=e>=x,M=n>=w,k=M<<1|_,E=k+4;E>k;++k)if(t=b[3&k])switch(3&k){case 0:l(t,c,f,x,w);break;case 1:l(t,x,f,h,w);break;case 2:l(t,c,w,x,p);break;case 3:l(t,x,w,h,p)}}}(t,r,i,o,a),u}function gi(t,e){t=ru.rgb(t),e=ru.rgb(e);var n=t.r,r=t.g,i=t.b,o=e.r-n,a=e.g-r,u=e.b-i;return function(t){return"#"+xe(Math.round(n+o*t))+xe(Math.round(r+a*t))+xe(Math.round(i+u*t))}}function vi(t,e){var n,r={},i={};for(n in t)n in e?r[n]=bi(t[n],e[n]):i[n]=t[n];for(n in e)n in t||(i[n]=e[n]);return function(t){for(n in r)i[n]=r[n](t);return i}}function mi(t,e){return t=+t,e=+e,function(n){return t*(1-n)+e*n}}function yi(t,e){var n,r,i,o=fl.lastIndex=hl.lastIndex=0,a=-1,u=[],s=[];for(t+="",e+="";(n=fl.exec(t))&&(r=hl.exec(e));)(i=r.index)>o&&(i=e.slice(o,i),u[a]?u[a]+=i:u[++a]=i),(n=n[0])===(r=r[0])?u[a]?u[a]+=r:u[++a]=r:(u[++a]=null,s.push({i:a,x:mi(n,r)})),o=hl.lastIndex;return o<e.length&&(i=e.slice(o),u[a]?u[a]+=i:u[++a]=i),u.length<2?s[0]?(e=s[0].x,function(t){return e(t)+""}):function(){return e}:(e=s.length,function(t){for(var n,r=0;e>r;++r)u[(n=s[r]).i]=n.x(t);return u.join("")})}function bi(t,e){for(var n,r=ru.interpolators.length;--r>=0&&!(n=ru.interpolators[r](t,e)););return n}function xi(t,e){var n,r=[],i=[],o=t.length,a=e.length,u=Math.min(t.length,e.length);for(n=0;u>n;++n)r.push(bi(t[n],e[n]));for(;o>n;++n)i[n]=t[n];for(;a>n;++n)i[n]=e[n];return function(t){for(n=0;u>n;++n)i[n]=r[n](t);return i}}function wi(t){return function(e){return 0>=e?0:e>=1?1:t(e)}}function _i(t){return function(e){return 1-t(1-e)}}function Mi(t){return function(e){return.5*(.5>e?t(2*e):2-t(2-2*e))}}function ki(t){return t*t}function Ei(t){return t*t*t}function Ci(t){if(0>=t)return 0;if(t>=1)return 1;var e=t*t,n=e*t;return 4*(.5>t?n:3*(t-e)+n-.75)}function Si(t){return function(e){return Math.pow(e,t)}}function Ti(t){return 1-Math.cos(t*Iu)}function ji(t){return Math.pow(2,10*(t-1))}function Ai(t){return 1-Math.sqrt(1-t*t)}function Ni(t,e){var n;return arguments.length<2&&(e=.45),arguments.length?n=e/Ru*Math.asin(1/t):(t=1,n=e/4),function(r){return 1+t*Math.pow(2,-10*r)*Math.sin((r-n)*Ru/e)}}function qi(t){return t||(t=1.70158),function(e){return e*e*((t+1)*e-t)}}function Oi(t){return 1/2.75>t?7.5625*t*t:2/2.75>t?7.5625*(t-=1.5/2.75)*t+.75:2.5/2.75>t?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375}function Di(t,e){t=ru.hcl(t),e=ru.hcl(e);var n=t.h,r=t.c,i=t.l,o=e.h-n,a=e.c-r,u=e.l-i;return isNaN(a)&&(a=0,r=isNaN(r)?e.c:r),isNaN(o)?(o=0,n=isNaN(n)?e.h:n):o>180?o-=360:-180>o&&(o+=360),function(t){return ce(n+o*t,r+a*t,i+u*t)+""}}function Li(t,e){t=ru.hsl(t),e=ru.hsl(e);var n=t.h,r=t.s,i=t.l,o=e.h-n,a=e.s-r,u=e.l-i;return isNaN(a)&&(a=0,r=isNaN(r)?e.s:r),isNaN(o)?(o=0,n=isNaN(n)?e.h:n):o>180?o-=360:-180>o&&(o+=360),function(t){return se(n+o*t,r+a*t,i+u*t)+""}}function Fi(t,e){t=ru.lab(t),e=ru.lab(e);var n=t.l,r=t.a,i=t.b,o=e.l-n,a=e.a-r,u=e.b-i;return function(t){return he(n+o*t,r+a*t,i+u*t)+""}}function zi(t,e){return e-=t,function(n){return Math.round(t+e*n)}}function Ri(t){var e=[t.a,t.b],n=[t.c,t.d],r=Ii(e),i=Pi(e,n),o=Ii(Hi(n,e,-i))||0;e[0]*n[1]<n[0]*e[1]&&(e[0]*=-1,e[1]*=-1,r*=-1,i*=-1),this.rotate=(r?Math.atan2(e[1],e[0]):Math.atan2(-n[0],n[1]))*Bu,this.translate=[t.e,t.f],this.scale=[r,o],this.skew=o?Math.atan2(i,o)*Bu:0}function Pi(t,e){return t[0]*e[0]+t[1]*e[1]}function Ii(t){var e=Math.sqrt(Pi(t,t));return e&&(t[0]/=e,t[1]/=e),e}function Hi(t,e,n){return t[0]+=n*e[0],t[1]+=n*e[1],t}function Bi(t,e){var n,r=[],i=[],o=ru.transform(t),a=ru.transform(e),u=o.translate,s=a.translate,l=o.rotate,c=a.rotate,f=o.skew,h=a.skew,p=o.scale,d=a.scale;return u[0]!=s[0]||u[1]!=s[1]?(r.push("translate(",null,",",null,")"),i.push({i:1,x:mi(u[0],s[0])},{i:3,x:mi(u[1],s[1])})):r.push(s[0]||s[1]?"translate("+s+")":""),l!=c?(l-c>180?c+=360:c-l>180&&(l+=360),i.push({i:r.push(r.pop()+"rotate(",null,")")-2,x:mi(l,c)})):c&&r.push(r.pop()+"rotate("+c+")"),f!=h?i.push({i:r.push(r.pop()+"skewX(",null,")")-2,x:mi(f,h)}):h&&r.push(r.pop()+"skewX("+h+")"),p[0]!=d[0]||p[1]!=d[1]?(n=r.push(r.pop()+"scale(",null,",",null,")"),i.push({i:n-4,x:mi(p[0],d[0])},{i:n-2,x:mi(p[1],d[1])})):(1!=d[0]||1!=d[1])&&r.push(r.pop()+"scale("+d+")"),n=i.length,function(t){for(var e,o=-1;++o<n;)r[(e=i[o]).i]=e.x(t);return r.join("")}}function $i(t,e){return e=(e-=t=+t)||1/e,function(n){return(n-t)/e}}function Vi(t,e){return e=(e-=t=+t)||1/e,function(n){return Math.max(0,Math.min(1,(n-t)/e))}}function Ui(t){for(var e=t.source,n=t.target,r=Yi(e,n),i=[e];e!==r;)e=e.parent,i.push(e);for(var o=i.length;n!==r;)i.splice(o,0,n),n=n.parent;return i}function Wi(t){for(var e=[],n=t.parent;null!=n;)e.push(t),t=n,n=n.parent;return e.push(t),e}function Yi(t,e){if(t===e)return t;for(var n=Wi(t),r=Wi(e),i=n.pop(),o=r.pop(),a=null;i===o;)a=i,i=n.pop(),o=r.pop();return a}function Xi(t){t.fixed|=2}function Ji(t){t.fixed&=-7}function Zi(t){t.fixed|=4,t.px=t.x,t.py=t.y}function Gi(t){t.fixed&=-5}function Ki(t,e,n){var r=0,i=0;if(t.charge=0,!t.leaf)for(var o,a=t.nodes,u=a.length,s=-1;++s<u;)o=a[s],null!=o&&(Ki(o,e,n),t.charge+=o.charge,r+=o.charge*o.cx,i+=o.charge*o.cy);if(t.point){t.leaf||(t.point.x+=Math.random()-.5,t.point.y+=Math.random()-.5);var l=e*n[t.point.index];t.charge+=t.pointCharge=l,r+=l*t.point.x,i+=l*t.point.y}t.cx=r/t.charge,t.cy=i/t.charge}function Qi(t,e){return ru.rebind(t,e,"sort","children","value"),t.nodes=t,t.links=oo,t}function to(t,e){for(var n=[t];null!=(t=n.pop());)if(e(t),(i=t.children)&&(r=i.length))for(var r,i;--r>=0;)n.push(i[r])}function eo(t,e){for(var n=[t],r=[];null!=(t=n.pop());)if(r.push(t),(o=t.children)&&(i=o.length))for(var i,o,a=-1;++a<i;)n.push(o[a]);for(;null!=(t=r.pop());)e(t)}function no(t){return t.children}function ro(t){return t.value}function io(t,e){return e.value-t.value}function oo(t){return ru.merge(t.map(function(t){return(t.children||[]).map(function(e){return{source:t,target:e}})}))}function ao(t){return t.x}function uo(t){return t.y}function so(t,e,n){t.y0=e,t.y=n}function lo(data){return ru.range(data.length)}function co(data){for(var t=-1,e=data[0].length,n=[];++t<e;)n[t]=0;return n}function fo(t){for(var e,n=1,r=0,i=t[0][1],o=t.length;o>n;++n)(e=t[n][1])>i&&(r=n,i=e);return r}function ho(t){return t.reduce(po,0)}function po(t,e){return t+e[1]}function go(t,e){return vo(t,Math.ceil(Math.log(e.length)/Math.LN2+1))}function vo(t,e){for(var n=-1,r=+t[0],i=(t[1]-r)/e,o=[];++n<=e;)o[n]=i*n+r;return o}function mo(t){return[ru.min(t),ru.max(t)]}function yo(t,e){return t.value-e.value}function bo(t,e){var n=t._pack_next;t._pack_next=e,e._pack_prev=t,e._pack_next=n,n._pack_prev=e}function xo(t,e){t._pack_next=e,e._pack_prev=t}function wo(t,e){var n=e.x-t.x,r=e.y-t.y,i=t.r+e.r;return.999*i*i>n*n+r*r}function _o(t){function e(t){c=Math.min(t.x-t.r,c),f=Math.max(t.x+t.r,f),h=Math.min(t.y-t.r,h),p=Math.max(t.y+t.r,p)}if((n=t.children)&&(l=n.length)){var n,r,i,o,a,u,s,l,c=1/0,f=-1/0,h=1/0,p=-1/0;if(n.forEach(Mo),r=n[0],r.x=-r.r,r.y=0,e(r),l>1&&(i=n[1],i.x=i.r,i.y=0,e(i),l>2))for(o=n[2],Co(r,i,o),e(o),bo(r,o),r._pack_prev=o,bo(o,i),i=r._pack_next,a=3;l>a;a++){Co(r,i,o=n[a]);var d=0,g=1,v=1;for(u=i._pack_next;u!==i;u=u._pack_next,g++)if(wo(u,o)){d=1;break}if(1==d)for(s=r._pack_prev;s!==u._pack_prev&&!wo(s,o);s=s._pack_prev,v++);d?(v>g||g==v&&i.r<r.r?xo(r,i=u):xo(r=s,i),a--):(bo(r,o),i=o,e(o))}var m=(c+f)/2,y=(h+p)/2,b=0;for(a=0;l>a;a++)o=n[a],o.x-=m,o.y-=y,b=Math.max(b,o.r+Math.sqrt(o.x*o.x+o.y*o.y));t.r=b,n.forEach(ko)}}function Mo(t){t._pack_next=t._pack_prev=t}function ko(t){delete t._pack_next,delete t._pack_prev}function Eo(t,e,n,r){var i=t.children;if(t.x=e+=r*t.x,t.y=n+=r*t.y,t.r*=r,i)for(var o=-1,a=i.length;++o<a;)Eo(i[o],e,n,r)}function Co(t,e,n){var r=t.r+n.r,i=e.x-t.x,o=e.y-t.y;if(r&&(i||o)){var a=e.r+n.r,u=i*i+o*o;a*=a,r*=r;var s=.5+(r-a)/(2*u),l=Math.sqrt(Math.max(0,2*a*(r+u)-(r-=u)*r-a*a))/(2*u);n.x=t.x+s*i+l*o,n.y=t.y+s*o-l*i}else n.x=t.x+r,n.y=t.y}function So(t,e){return t.parent==e.parent?1:2}function To(t){var e=t.children;return e.length?e[0]:t.t}function jo(t){var e,n=t.children;return(e=n.length)?n[e-1]:t.t}function Ao(t,e,n){var r=n/(e.i-t.i);e.c-=r,e.s+=n,t.c+=r,e.z+=n,e.m+=n}function No(t){for(var e,n=0,r=0,i=t.children,o=i.length;--o>=0;)e=i[o],e.z+=n,e.m+=n,n+=e.s+(r+=e.c)}function qo(t,e,n){return t.a.parent===e.parent?t.a:n}function Oo(t){return 1+ru.max(t,function(t){return t.y})}function Do(t){return t.reduce(function(t,e){return t+e.x},0)/t.length}function Lo(t){var e=t.children;return e&&e.length?Lo(e[0]):t}function Fo(t){var e,n=t.children;return n&&(e=n.length)?Fo(n[e-1]):t}function zo(t){return{x:t.x,y:t.y,dx:t.dx,dy:t.dy}}function Ro(t,e){var n=t.x+e[3],r=t.y+e[0],i=t.dx-e[1]-e[3],o=t.dy-e[0]-e[2];return 0>i&&(n+=i/2,i=0),0>o&&(r+=o/2,o=0),{x:n,y:r,dx:i,dy:o}}function Po(t){var e=t[0],n=t[t.length-1];return n>e?[e,n]:[n,e]}function Io(t){return t.rangeExtent?t.rangeExtent():Po(t.range())}function Ho(t,e,n,r){var i=n(t[0],t[1]),o=r(e[0],e[1]);return function(t){return o(i(t))}}function Bo(t,e){var n,r=0,i=t.length-1,o=t[r],a=t[i];return o>a&&(n=r,r=i,i=n,n=o,o=a,a=n),t[r]=e.floor(o),t[i]=e.ceil(a),t}function $o(t){return t?{floor:function(e){return Math.floor(e/t)*t},ceil:function(e){return Math.ceil(e/t)*t}}:Ml}function Vo(t,e,n,r){var i=[],o=[],a=0,u=Math.min(t.length,e.length)-1;for(t[u]<t[0]&&(t=t.slice().reverse(),e=e.slice().reverse());++a<=u;)i.push(n(t[a-1],t[a])),o.push(r(e[a-1],e[a]));return function(e){var n=ru.bisect(t,e,1,u)-1;return o[n](i[n](e))}}function Uo(t,e,n,r){function i(){var i=Math.min(t.length,e.length)>2?Vo:Ho,s=r?Vi:$i;return a=i(t,e,s,n),u=i(e,t,s,bi),o}function o(t){return a(t)}var a,u;return o.invert=function(t){return u(t)},o.domain=function(e){return arguments.length?(t=e.map(Number),i()):t},o.range=function(t){return arguments.length?(e=t,i()):e},o.rangeRound=function(t){return o.range(t).interpolate(zi)},o.clamp=function(t){return arguments.length?(r=t,i()):r},o.interpolate=function(t){return arguments.length?(n=t,i()):n},o.ticks=function(e){return Jo(t,e)},o.tickFormat=function(e,n){return Zo(t,e,n)},o.nice=function(e){return Yo(t,e),i()},o.copy=function(){return Uo(t,e,n,r)},i()}function Wo(t,e){return ru.rebind(t,e,"range","rangeRound","interpolate","clamp")}function Yo(t,e){return Bo(t,$o(Xo(t,e)[2]))}function Xo(t,e){null==e&&(e=10);var n=Po(t),r=n[1]-n[0],i=Math.pow(10,Math.floor(Math.log(r/e)/Math.LN10)),o=e/r*i;return.15>=o?i*=10:.35>=o?i*=5:.75>=o&&(i*=2),n[0]=Math.ceil(n[0]/i)*i,n[1]=Math.floor(n[1]/i)*i+.5*i,n[2]=i,n}function Jo(t,e){return ru.range.apply(ru,Xo(t,e))}function Zo(t,e,n){var r=Xo(t,e);if(n){var i=fs.exec(n);if(i.shift(),"s"===i[8]){var o=ru.formatPrefix(Math.max(mu(r[0]),mu(r[1])));return i[7]||(i[7]="."+Go(o.scale(r[2]))),i[8]="f",n=ru.format(i.join("")),function(t){return n(o.scale(t))+o.symbol}}i[7]||(i[7]="."+Ko(i[8],r)),n=i.join("")}else n=",."+Go(r[2])+"f";return ru.format(n)}function Go(t){return-Math.floor(Math.log(t)/Math.LN10+.01)}function Ko(t,e){var n=Go(e[2]);return t in kl?Math.abs(n-Go(Math.max(mu(e[0]),mu(e[1]))))+ +("e"!==t):n-2*("%"===t)}function Qo(t,e,n,r){function i(t){return(n?Math.log(0>t?0:t):-Math.log(t>0?0:-t))/Math.log(e)}function o(t){return n?Math.pow(e,t):-Math.pow(e,-t)}function a(e){return t(i(e))}return a.invert=function(e){return o(t.invert(e))},a.domain=function(e){return arguments.length?(n=e[0]>=0,t.domain((r=e.map(Number)).map(i)),a):r},a.base=function(n){return arguments.length?(e=+n,t.domain(r.map(i)),a):e},a.nice=function(){var e=Bo(r.map(i),n?Math:Cl);return t.domain(e),r=e.map(o),a},a.ticks=function(){var t=Po(r),a=[],u=t[0],s=t[1],l=Math.floor(i(u)),c=Math.ceil(i(s)),f=e%1?2:e;if(isFinite(c-l)){if(n){for(;c>l;l++)for(var h=1;f>h;h++)a.push(o(l)*h);a.push(o(l))}else for(a.push(o(l));l++<c;)for(var h=f-1;h>0;h--)a.push(o(l)*h);for(l=0;a[l]<u;l++);for(c=a.length;a[c-1]>s;c--);a=a.slice(l,c)}return a},a.tickFormat=function(t,e){if(!arguments.length)return El;arguments.length<2?e=El:"function"!=typeof e&&(e=ru.format(e));var r,u=Math.max(.1,t/a.ticks().length),s=n?(r=1e-12,Math.ceil):(r=-1e-12,Math.floor);return function(t){return t/o(s(i(t)+r))<=u?e(t):""}},a.copy=function(){return Qo(t.copy(),e,n,r)},Wo(a,t)}function ta(t,e,n){function r(e){return t(i(e))}var i=ea(e),o=ea(1/e);return r.invert=function(e){return o(t.invert(e))},r.domain=function(e){return arguments.length?(t.domain((n=e.map(Number)).map(i)),r):n},r.ticks=function(t){return Jo(n,t)},r.tickFormat=function(t,e){return Zo(n,t,e)},r.nice=function(t){return r.domain(Yo(n,t))},r.exponent=function(a){return arguments.length?(i=ea(e=a),o=ea(1/e),t.domain(n.map(i)),r):e},r.copy=function(){return ta(t.copy(),e,n)},Wo(r,t)}function ea(t){return function(e){return 0>e?-Math.pow(-e,t):Math.pow(e,t)}}function na(t,e){function n(n){return o[((i.get(n)||("range"===e.t?i.set(n,t.push(n)):0/0))-1)%o.length]}function r(e,n){return ru.range(t.length).map(function(t){return e+n*t})}var i,o,a;return n.domain=function(r){if(!arguments.length)return t;t=[],i=new s;for(var o,a=-1,u=r.length;++a<u;)i.has(o=r[a])||i.set(o,t.push(o));return n[e.t].apply(n,e.a)},n.range=function(t){return arguments.length?(o=t,a=0,e={t:"range",a:arguments},n):o},n.rangePoints=function(i,u){arguments.length<2&&(u=0);var s=i[0],l=i[1],c=t.length<2?(s=(s+l)/2,0):(l-s)/(t.length-1+u);return o=r(s+c*u/2,c),a=0,e={t:"rangePoints",a:arguments},n},n.rangeRoundPoints=function(i,u){arguments.length<2&&(u=0);var s=i[0],l=i[1],c=t.length<2?(s=l=Math.round((s+l)/2),0):(l-s)/(t.length-1+u)|0;return o=r(s+Math.round(c*u/2+(l-s-(t.length-1+u)*c)/2),c),a=0,e={t:"rangeRoundPoints",a:arguments},n},n.rangeBands=function(i,u,s){arguments.length<2&&(u=0),arguments.length<3&&(s=u);var l=i[1]<i[0],c=i[l-0],f=i[1-l],h=(f-c)/(t.length-u+2*s);return o=r(c+h*s,h),l&&o.reverse(),a=h*(1-u),e={t:"rangeBands",a:arguments},n},n.rangeRoundBands=function(i,u,s){arguments.length<2&&(u=0),arguments.length<3&&(s=u);var l=i[1]<i[0],c=i[l-0],f=i[1-l],h=Math.floor((f-c)/(t.length-u+2*s));return o=r(c+Math.round((f-c-(t.length-u)*h)/2),h),l&&o.reverse(),a=Math.round(h*(1-u)),e={t:"rangeRoundBands",a:arguments},n},n.rangeBand=function(){return a},n.rangeExtent=function(){return Po(e.a[0])},n.copy=function(){return na(t,e)},n.domain(t)}function ra(e,i){function o(){var t=0,n=i.length;for(u=[];++t<n;)u[t-1]=ru.quantile(e,t/n);return a}function a(t){return isNaN(t=+t)?void 0:i[ru.bisect(u,t)]}var u;return a.domain=function(i){return arguments.length?(e=i.map(n).filter(r).sort(t),o()):e},a.range=function(t){return arguments.length?(i=t,o()):i},a.quantiles=function(){return u},a.invertExtent=function(t){return t=i.indexOf(t),0>t?[0/0,0/0]:[t>0?u[t-1]:e[0],t<u.length?u[t]:e[e.length-1]]},a.copy=function(){return ra(e,i)},o()}function ia(t,e,n){function r(e){return n[Math.max(0,Math.min(a,Math.floor(o*(e-t))))]}function i(){return o=n.length/(e-t),a=n.length-1,r}var o,a;return r.domain=function(n){return arguments.length?(t=+n[0],e=+n[n.length-1],i()):[t,e]},r.range=function(t){return arguments.length?(n=t,i()):n},r.invertExtent=function(e){return e=n.indexOf(e),e=0>e?0/0:e/o+t,[e,e+1/o]},r.copy=function(){return ia(t,e,n)},i()}function oa(t,e){function n(n){return n>=n?e[ru.bisect(t,n)]:void 0}return n.domain=function(e){return arguments.length?(t=e,n):t},n.range=function(t){return arguments.length?(e=t,n):e},n.invertExtent=function(n){return n=e.indexOf(n),[t[n-1],t[n]]},n.copy=function(){return oa(t,e)},n}function aa(t){function e(t){return+t}return e.invert=e,e.domain=e.range=function(n){return arguments.length?(t=n.map(e),e):t},e.ticks=function(e){return Jo(t,e)},e.tickFormat=function(e,n){return Zo(t,e,n)},e.copy=function(){return aa(t)},e}function ua(){return 0}function sa(t){return t.innerRadius}function la(t){return t.outerRadius}function ca(t){return t.startAngle}function fa(t){return t.endAngle}function ha(t){return t&&t.padAngle}function pa(t,e,n,r){return(t-n)*e-(e-r)*t>0?0:1}function da(t,e,n,r,i){var o=t[0]-e[0],a=t[1]-e[1],u=(i?r:-r)/Math.sqrt(o*o+a*a),s=u*a,l=-u*o,c=t[0]+s,f=t[1]+l,h=e[0]+s,p=e[1]+l,d=(c+h)/2,g=(f+p)/2,v=h-c,m=p-f,y=v*v+m*m,b=n-r,x=c*p-h*f,w=(0>m?-1:1)*Math.sqrt(b*b*y-x*x),_=(x*m-v*w)/y,M=(-x*v-m*w)/y,k=(x*m+v*w)/y,E=(-x*v+m*w)/y,C=_-d,S=M-g,T=k-d,j=E-g;return C*C+S*S>T*T+j*j&&(_=k,M=E),[[_-s,M-l],[_*n/b,M*n/b]]}function ga(t){function e(data){function e(){s.push("M",o(t(l),u))}for(var a,s=[],l=[],c=-1,f=data.length,h=Ce(n),p=Ce(r);++c<f;)i.call(this,a=data[c],c)?l.push([+h.call(this,a,c),+p.call(this,a,c)]):l.length&&(e(),l=[]);return l.length&&e(),s.length?s.join(""):null}var n=jr,r=Ar,i=An,o=va,a=o.key,u=.7;return e.x=function(t){return arguments.length?(n=t,e):n},e.y=function(t){return arguments.length?(r=t,e):r},e.defined=function(t){return arguments.length?(i=t,e):i},e.interpolate=function(t){return arguments.length?(a="function"==typeof t?o=t:(o=ql.get(t)||va).key,e):a},e.tension=function(t){return arguments.length?(u=t,e):u},e}function va(t){return t.join("L")}function ma(t){return va(t)+"Z"}function ya(t){for(var e=0,n=t.length,r=t[0],i=[r[0],",",r[1]];++e<n;)i.push("H",(r[0]+(r=t[e])[0])/2,"V",r[1]);return n>1&&i.push("H",r[0]),i.join("")}function ba(t){for(var e=0,n=t.length,r=t[0],i=[r[0],",",r[1]];++e<n;)i.push("V",(r=t[e])[1],"H",r[0]);return i.join("")}function xa(t){for(var e=0,n=t.length,r=t[0],i=[r[0],",",r[1]];++e<n;)i.push("H",(r=t[e])[0],"V",r[1]);return i.join("")}function wa(t,e){return t.length<4?va(t):t[1]+ka(t.slice(1,-1),Ea(t,e))}function _a(t,e){return t.length<3?va(t):t[0]+ka((t.push(t[0]),t),Ea([t[t.length-2]].concat(t,[t[1]]),e))}function Ma(t,e){return t.length<3?va(t):t[0]+ka(t,Ea(t,e))}function ka(t,e){if(e.length<1||t.length!=e.length&&t.length!=e.length+2)return va(t);var n=t.length!=e.length,r="",i=t[0],o=t[1],a=e[0],u=a,s=1;if(n&&(r+="Q"+(o[0]-2*a[0]/3)+","+(o[1]-2*a[1]/3)+","+o[0]+","+o[1],i=t[1],s=2),e.length>1){u=e[1],o=t[s],s++,r+="C"+(i[0]+a[0])+","+(i[1]+a[1])+","+(o[0]-u[0])+","+(o[1]-u[1])+","+o[0]+","+o[1];for(var l=2;l<e.length;l++,s++)o=t[s],u=e[l],r+="S"+(o[0]-u[0])+","+(o[1]-u[1])+","+o[0]+","+o[1]}if(n){var c=t[s];r+="Q"+(o[0]+2*u[0]/3)+","+(o[1]+2*u[1]/3)+","+c[0]+","+c[1]}return r}function Ea(t,e){for(var n,r=[],i=(1-e)/2,o=t[0],a=t[1],u=1,s=t.length;++u<s;)n=o,o=a,a=t[u],r.push([i*(a[0]-n[0]),i*(a[1]-n[1])]);return r}function Ca(t){if(t.length<3)return va(t);var e=1,n=t.length,r=t[0],i=r[0],o=r[1],a=[i,i,i,(r=t[1])[0]],u=[o,o,o,r[1]],s=[i,",",o,"L",Aa(Ll,a),",",Aa(Ll,u)];for(t.push(t[n-1]);++e<=n;)r=t[e],a.shift(),a.push(r[0]),u.shift(),u.push(r[1]),Na(s,a,u);return t.pop(),s.push("L",r),s.join("")}function Sa(t){if(t.length<4)return va(t);for(var e,n=[],r=-1,i=t.length,o=[0],a=[0];++r<3;)e=t[r],o.push(e[0]),a.push(e[1]);for(n.push(Aa(Ll,o)+","+Aa(Ll,a)),--r;++r<i;)e=t[r],o.shift(),o.push(e[0]),a.shift(),a.push(e[1]),Na(n,o,a);return n.join("")}function Ta(t){for(var e,n,r=-1,i=t.length,o=i+4,a=[],u=[];++r<4;)n=t[r%i],a.push(n[0]),u.push(n[1]);for(e=[Aa(Ll,a),",",Aa(Ll,u)],--r;++r<o;)n=t[r%i],a.shift(),a.push(n[0]),u.shift(),u.push(n[1]),Na(e,a,u);return e.join("")}function ja(t,e){var n=t.length-1;if(n)for(var r,i,o=t[0][0],a=t[0][1],u=t[n][0]-o,s=t[n][1]-a,l=-1;++l<=n;)r=t[l],i=l/n,r[0]=e*r[0]+(1-e)*(o+i*u),r[1]=e*r[1]+(1-e)*(a+i*s);return Ca(t)}function Aa(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]}function Na(t,e,n){t.push("C",Aa(Ol,e),",",Aa(Ol,n),",",Aa(Dl,e),",",Aa(Dl,n),",",Aa(Ll,e),",",Aa(Ll,n))}function qa(t,e){return(e[1]-t[1])/(e[0]-t[0])}function Oa(t){for(var e=0,n=t.length-1,r=[],i=t[0],o=t[1],a=r[0]=qa(i,o);++e<n;)r[e]=(a+(a=qa(i=o,o=t[e+1])))/2;return r[e]=a,r}function Da(t){for(var e,n,r,i,o=[],a=Oa(t),u=-1,s=t.length-1;++u<s;)e=qa(t[u],t[u+1]),mu(e)<Lu?a[u]=a[u+1]=0:(n=a[u]/e,r=a[u+1]/e,i=n*n+r*r,i>9&&(i=3*e/Math.sqrt(i),a[u]=i*n,a[u+1]=i*r));for(u=-1;++u<=s;)i=(t[Math.min(s,u+1)][0]-t[Math.max(0,u-1)][0])/(6*(1+a[u]*a[u])),o.push([i||0,a[u]*i||0]);return o}function La(t){return t.length<3?va(t):t[0]+ka(t,Da(t))}function Fa(t){for(var e,n,r,i=-1,o=t.length;++i<o;)e=t[i],n=e[0],r=e[1]-Iu,e[0]=n*Math.cos(r),e[1]=n*Math.sin(r);return t}function za(t){function e(data){function e(){d.push("M",u(t(v),f),c,l(t(g.reverse()),f),"Z")}for(var s,h,p,d=[],g=[],v=[],m=-1,y=data.length,b=Ce(n),x=Ce(i),w=n===r?function(){return h}:Ce(r),_=i===o?function(){return p}:Ce(o);++m<y;)a.call(this,s=data[m],m)?(g.push([h=+b.call(this,s,m),p=+x.call(this,s,m)]),v.push([+w.call(this,s,m),+_.call(this,s,m)])):g.length&&(e(),g=[],v=[]);return g.length&&e(),d.length?d.join(""):null}var n=jr,r=jr,i=0,o=Ar,a=An,u=va,s=u.key,l=u,c="L",f=.7;return e.x=function(t){return arguments.length?(n=r=t,e):r},e.x0=function(t){return arguments.length?(n=t,e):n},e.x1=function(t){return arguments.length?(r=t,e):r},e.y=function(t){return arguments.length?(i=o=t,e):o},e.y0=function(t){return arguments.length?(i=t,e):i},e.y1=function(t){return arguments.length?(o=t,e):o},e.defined=function(t){return arguments.length?(a=t,e):a},e.interpolate=function(t){return arguments.length?(s="function"==typeof t?u=t:(u=ql.get(t)||va).key,l=u.reverse||u,c=u.closed?"M":"L",e):s},e.tension=function(t){return arguments.length?(f=t,e):f},e}function Ra(t){return t.radius}function Pa(t){return[t.x,t.y]}function Ia(t){return function(){var e=t.apply(this,arguments),n=e[0],r=e[1]-Iu;return[n*Math.cos(r),n*Math.sin(r)]}}function Ha(){return 64}function Ba(){return"circle"}function $a(t){var e=Math.sqrt(t/zu);return"M0,"+e+"A"+e+","+e+" 0 1,1 0,"+-e+"A"+e+","+e+" 0 1,1 0,"+e+"Z"}function Va(t){return function(){var e,n;(e=this[t])&&(n=e[e.active])&&(--e.count?delete e[e.active]:delete this[t],e.active+=.5,n.event&&n.event.interrupt.call(this,this.__data__,n.index))}}function Ua(t,e,n){return _u(t,Bl),t.namespace=e,t.id=n,t}function Wa(t,e,n,r){var i=t.id,o=t.namespace;return H(t,"function"==typeof n?function(t,a,u){t[o][i].tween.set(e,r(n.call(t,t.__data__,a,u)))}:(n=r(n),function(t){t[o][i].tween.set(e,n)}))}function Ya(t){return null==t&&(t=""),function(){this.textContent=t}}function Xa(t){return null==t?"__transition__":"__transition_"+t+"__"}function Ja(t,e,n,r,i){var o=t[n]||(t[n]={active:0,count:0}),a=o[r];if(!a){var u=i.time;a=o[r]={tween:new s,time:u,delay:i.delay,duration:i.duration,ease:i.ease,index:e},i=null,++o.count,ru.timer(function(i){function s(n){if(o.active>r)return c();var i=o[o.active];i&&(--o.count,delete o[o.active],i.event&&i.event.interrupt.call(t,t.__data__,i.index)),o.active=r,a.event&&a.event.start.call(t,t.__data__,e),a.tween.forEach(function(n,r){(r=r.call(t,t.__data__,e))&&g.push(r)}),h=a.ease,f=a.duration,ru.timer(function(){return d.c=l(n||1)?An:l,1},0,u)}function l(n){if(o.active!==r)return 1;for(var i=n/f,u=h(i),s=g.length;s>0;)g[--s].call(t,u);return i>=1?(a.event&&a.event.end.call(t,t.__data__,e),c()):void 0}function c(){return--o.count?delete o[r]:delete t[n],1}var f,h,p=a.delay,d=ss,g=[];return d.t=p+u,i>=p?s(i-p):void(d.c=s)},0,u)}}function Za(t,e,n){t.attr("transform",function(t){var r=e(t);return"translate("+(isFinite(r)?r:n(t))+",0)"})}function Ga(t,e,n){t.attr("transform",function(t){var r=e(t);return"translate(0,"+(isFinite(r)?r:n(t))+")"})}function Ka(t){return t.toISOString()}function Qa(t,e,n){function r(e){return t(e)}function i(t,n){var r=t[1]-t[0],i=r/n,o=ru.bisect(Gl,i);return o==Gl.length?[e.year,Xo(t.map(function(t){return t/31536e6}),n)[2]]:o?e[i/Gl[o-1]<Gl[o]/i?o-1:o]:[tc,Xo(t,n)[2]]}return r.invert=function(e){return tu(t.invert(e))},r.domain=function(e){return arguments.length?(t.domain(e),r):t.domain().map(tu)},r.nice=function(t,e){function n(n){return!isNaN(n)&&!t.range(n,tu(+n+1),e).length}var o=r.domain(),a=Po(o),u=null==t?i(a,10):"number"==typeof t&&i(a,t);return u&&(t=u[0],e=u[1]),r.domain(Bo(o,e>1?{floor:function(e){for(;n(e=t.floor(e));)e=tu(e-1);return e},ceil:function(e){for(;n(e=t.ceil(e));)e=tu(+e+1);return e}}:t))},r.ticks=function(t,e){var n=Po(r.domain()),o=null==t?i(n,10):"number"==typeof t?i(n,t):!t.range&&[{range:t},e];return o&&(t=o[0],e=o[1]),t.range(n[0],tu(+n[1]+1),1>e?1:e)},r.tickFormat=function(){return n},r.copy=function(){return Qa(t.copy(),e,n)},Wo(r,t)}function tu(t){return new Date(t)}function eu(t){return JSON.parse(t.responseText)}function nu(t){var e=au.createRange();return e.selectNode(au.body),e.createContextualFragment(t.responseText)}var ru={version:"3.5.3"};Date.now||(Date.now=function(){return+new Date});var iu=[].slice,ou=function(t){return iu.call(t)},au=document,uu=au.documentElement,su=window;try{ou(uu.childNodes)[0].nodeType}catch(lu){ou=function(t){for(var e=t.length,n=new Array(e);e--;)n[e]=t[e];return n}}try{au.createElement("div").style.setProperty("opacity",0,"")}catch(cu){var fu=su.Element.prototype,hu=fu.setAttribute,pu=fu.setAttributeNS,du=su.CSSStyleDeclaration.prototype,gu=du.setProperty;fu.setAttribute=function(t,e){hu.call(this,t,e+"")},fu.setAttributeNS=function(t,e,n){pu.call(this,t,e,n+"")},du.setProperty=function(t,e,n){gu.call(this,t,e+"",n)}}ru.ascending=t,ru.descending=function(t,e){return t>e?-1:e>t?1:e>=t?0:0/0},ru.min=function(t,e){var n,r,i=-1,o=t.length;if(1===arguments.length){for(;++i<o;)if(null!=(r=t[i])&&r>=r){n=r;break}for(;++i<o;)null!=(r=t[i])&&n>r&&(n=r)}else{for(;++i<o;)if(null!=(r=e.call(t,t[i],i))&&r>=r){n=r;break}for(;++i<o;)null!=(r=e.call(t,t[i],i))&&n>r&&(n=r)}return n},ru.max=function(t,e){var n,r,i=-1,o=t.length;if(1===arguments.length){for(;++i<o;)if(null!=(r=t[i])&&r>=r){n=r;break}for(;++i<o;)null!=(r=t[i])&&r>n&&(n=r)}else{for(;++i<o;)if(null!=(r=e.call(t,t[i],i))&&r>=r){n=r;break}for(;++i<o;)null!=(r=e.call(t,t[i],i))&&r>n&&(n=r)}return n},ru.extent=function(t,e){var n,r,i,o=-1,a=t.length;if(1===arguments.length){for(;++o<a;)if(null!=(r=t[o])&&r>=r){n=i=r;break}for(;++o<a;)null!=(r=t[o])&&(n>r&&(n=r),r>i&&(i=r))}else{for(;++o<a;)if(null!=(r=e.call(t,t[o],o))&&r>=r){n=i=r;break}for(;++o<a;)null!=(r=e.call(t,t[o],o))&&(n>r&&(n=r),r>i&&(i=r))}return[n,i]},ru.sum=function(t,e){var n,i=0,o=t.length,a=-1;if(1===arguments.length)for(;++a<o;)r(n=+t[a])&&(i+=n);else for(;++a<o;)r(n=+e.call(t,t[a],a))&&(i+=n);return i},ru.mean=function(t,e){var i,o=0,a=t.length,u=-1,s=a;if(1===arguments.length)for(;++u<a;)r(i=n(t[u]))?o+=i:--s;else for(;++u<a;)r(i=n(e.call(t,t[u],u)))?o+=i:--s;return s?o/s:void 0},ru.quantile=function(t,e){var n=(t.length-1)*e+1,r=Math.floor(n),i=+t[r-1],o=n-r;return o?i+o*(t[r]-i):i},ru.median=function(e,i){var o,a=[],u=e.length,s=-1;if(1===arguments.length)for(;++s<u;)r(o=n(e[s]))&&a.push(o);else for(;++s<u;)r(o=n(i.call(e,e[s],s)))&&a.push(o);return a.length?ru.quantile(a.sort(t),.5):void 0},ru.variance=function(t,e){var i,o,a=t.length,u=0,s=0,l=-1,c=0;if(1===arguments.length)for(;++l<a;)r(i=n(t[l]))&&(o=i-u,u+=o/++c,s+=o*(i-u));else for(;++l<a;)r(i=n(e.call(t,t[l],l)))&&(o=i-u,u+=o/++c,s+=o*(i-u));return c>1?s/(c-1):void 0},ru.deviation=function(){var t=ru.variance.apply(this,arguments);return t?Math.sqrt(t):t};var vu=i(t);ru.bisectLeft=vu.left,ru.bisect=ru.bisectRight=vu.right,ru.bisector=function(e){return i(1===e.length?function(n,r){return t(e(n),r)}:e)},ru.shuffle=function(t,e,n){(o=arguments.length)<3&&(n=t.length,2>o&&(e=0));for(var r,i,o=n-e;o;)i=Math.random()*o--|0,r=t[o+e],t[o+e]=t[i+e],t[i+e]=r;return t},ru.permute=function(t,e){for(var n=e.length,r=new Array(n);n--;)r[n]=t[e[n]];return r},ru.pairs=function(t){for(var e,n=0,r=t.length-1,i=t[0],o=new Array(0>r?0:r);r>n;)o[n]=[e=i,i=t[++n]];return o},ru.zip=function(){if(!(r=arguments.length))return[];for(var t=-1,e=ru.min(arguments,o),n=new Array(e);++t<e;)for(var r,i=-1,a=n[t]=new Array(r);++i<r;)a[i]=arguments[i][t];return n},ru.transpose=function(t){return ru.zip.apply(ru,t)},ru.keys=function(t){var e=[];for(var n in t)e.push(n);return e},ru.values=function(t){var e=[];for(var n in t)e.push(t[n]);return e
-},ru.entries=function(t){var e=[];for(var n in t)e.push({key:n,value:t[n]});return e},ru.merge=function(t){for(var e,n,r,i=t.length,o=-1,a=0;++o<i;)a+=t[o].length;for(n=new Array(a);--i>=0;)for(r=t[i],e=r.length;--e>=0;)n[--a]=r[e];return n};var mu=Math.abs;ru.range=function(t,e,n){if(arguments.length<3&&(n=1,arguments.length<2&&(e=t,t=0)),(e-t)/n===1/0)throw new Error("infinite range");var r,i=[],o=a(mu(n)),u=-1;if(t*=o,e*=o,n*=o,0>n)for(;(r=t+n*++u)>e;)i.push(r/o);else for(;(r=t+n*++u)<e;)i.push(r/o);return i},ru.map=function(t,e){var n=new s;if(t instanceof s)t.forEach(function(t,e){n.set(t,e)});else if(Array.isArray(t)){var r,i=-1,o=t.length;if(1===arguments.length)for(;++i<o;)n.set(i,t[i]);else for(;++i<o;)n.set(e.call(t,r=t[i],i),r)}else for(var a in t)n.set(a,t[a]);return n};var yu="__proto__",bu="\x00";u(s,{has:f,get:function(t){return this._[l(t)]},set:function(t,e){return this._[l(t)]=e},remove:h,keys:p,values:function(){var t=[];for(var e in this._)t.push(this._[e]);return t},entries:function(){var t=[];for(var e in this._)t.push({key:c(e),value:this._[e]});return t},size:d,empty:g,forEach:function(t){for(var e in this._)t.call(this,c(e),this._[e])}}),ru.nest=function(){function t(e,a,u){if(u>=o.length)return r?r.call(i,a):n?a.sort(n):a;for(var l,c,f,h,p=-1,d=a.length,g=o[u++],v=new s;++p<d;)(h=v.get(l=g(c=a[p])))?h.push(c):v.set(l,[c]);return e?(c=e(),f=function(n,r){c.set(n,t(e,r,u))}):(c={},f=function(n,r){c[n]=t(e,r,u)}),v.forEach(f),c}function e(t,n){if(n>=o.length)return t;var r=[],i=a[n++];return t.forEach(function(t,i){r.push({key:t,values:e(i,n)})}),i?r.sort(function(t,e){return i(t.key,e.key)}):r}var n,r,i={},o=[],a=[];return i.map=function(e,n){return t(n,e,0)},i.entries=function(n){return e(t(ru.map,n,0),0)},i.key=function(t){return o.push(t),i},i.sortKeys=function(t){return a[o.length-1]=t,i},i.sortValues=function(t){return n=t,i},i.rollup=function(t){return r=t,i},i},ru.set=function(t){var e=new v;if(t)for(var n=0,r=t.length;r>n;++n)e.add(t[n]);return e},u(v,{has:f,add:function(t){return this._[l(t+="")]=!0,t},remove:h,values:p,size:d,empty:g,forEach:function(t){for(var e in this._)t.call(this,c(e))}}),ru.behavior={},ru.rebind=function(t,e){for(var n,r=1,i=arguments.length;++r<i;)t[n=arguments[r]]=m(t,e,e[n]);return t};var xu=["webkit","ms","moz","Moz","o","O"];ru.dispatch=function(){for(var t=new x,e=-1,n=arguments.length;++e<n;)t[arguments[e]]=w(t);return t},x.prototype.on=function(t,e){var n=t.indexOf("."),r="";if(n>=0&&(r=t.slice(n+1),t=t.slice(0,n)),t)return arguments.length<2?this[t].on(r):this[t].on(r,e);if(2===arguments.length){if(null==e)for(t in this)this.hasOwnProperty(t)&&this[t].on(r,null);return this}},ru.event=null,ru.requote=function(t){return t.replace(wu,"\\$&")};var wu=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,_u={}.__proto__?function(t,e){t.__proto__=e}:function(t,e){for(var n in e)t[n]=e[n]},Mu=function(t,e){return e.querySelector(t)},ku=function(t,e){return e.querySelectorAll(t)},Eu=uu.matches||uu[y(uu,"matchesSelector")],Cu=function(t,e){return Eu.call(t,e)};"function"==typeof Sizzle&&(Mu=function(t,e){return Sizzle(t,e)[0]||null},ku=Sizzle,Cu=Sizzle.matchesSelector),ru.selection=function(){return Au};var Su=ru.selection.prototype=[];Su.select=function(t){var e,n,r,i,o=[];t=C(t);for(var a=-1,u=this.length;++a<u;){o.push(e=[]),e.parentNode=(r=this[a]).parentNode;for(var s=-1,l=r.length;++s<l;)(i=r[s])?(e.push(n=t.call(i,i.__data__,s,a)),n&&"__data__"in i&&(n.__data__=i.__data__)):e.push(null)}return E(o)},Su.selectAll=function(t){var e,n,r=[];t=S(t);for(var i=-1,o=this.length;++i<o;)for(var a=this[i],u=-1,s=a.length;++u<s;)(n=a[u])&&(r.push(e=ou(t.call(n,n.__data__,u,i))),e.parentNode=n);return E(r)};var Tu={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};ru.ns={prefix:Tu,qualify:function(t){var e=t.indexOf(":"),n=t;return e>=0&&(n=t.slice(0,e),t=t.slice(e+1)),Tu.hasOwnProperty(n)?{space:Tu[n],local:t}:t}},Su.attr=function(t,e){if(arguments.length<2){if("string"==typeof t){var n=this.node();return t=ru.ns.qualify(t),t.local?n.getAttributeNS(t.space,t.local):n.getAttribute(t)}for(e in t)this.each(T(e,t[e]));return this}return this.each(T(t,e))},Su.classed=function(t,e){if(arguments.length<2){if("string"==typeof t){var n=this.node(),r=(t=N(t)).length,i=-1;if(e=n.classList){for(;++i<r;)if(!e.contains(t[i]))return!1}else for(e=n.getAttribute("class");++i<r;)if(!A(t[i]).test(e))return!1;return!0}for(e in t)this.each(q(e,t[e]));return this}return this.each(q(t,e))},Su.style=function(t,e,n){var r=arguments.length;if(3>r){if("string"!=typeof t){2>r&&(e="");for(n in t)this.each(D(n,t[n],e));return this}if(2>r)return su.getComputedStyle(this.node(),null).getPropertyValue(t);n=""}return this.each(D(t,e,n))},Su.property=function(t,e){if(arguments.length<2){if("string"==typeof t)return this.node()[t];for(e in t)this.each(L(e,t[e]));return this}return this.each(L(t,e))},Su.text=function(t){return arguments.length?this.each("function"==typeof t?function(){var e=t.apply(this,arguments);this.textContent=null==e?"":e}:null==t?function(){this.textContent=""}:function(){this.textContent=t}):this.node().textContent},Su.html=function(t){return arguments.length?this.each("function"==typeof t?function(){var e=t.apply(this,arguments);this.innerHTML=null==e?"":e}:null==t?function(){this.innerHTML=""}:function(){this.innerHTML=t}):this.node().innerHTML},Su.append=function(t){return t=F(t),this.select(function(){return this.appendChild(t.apply(this,arguments))})},Su.insert=function(t,e){return t=F(t),e=C(e),this.select(function(){return this.insertBefore(t.apply(this,arguments),e.apply(this,arguments)||null)})},Su.remove=function(){return this.each(z)},Su.data=function(t,e){function n(t,n){var r,i,o,a=t.length,f=n.length,h=Math.min(a,f),p=new Array(f),d=new Array(f),g=new Array(a);if(e){var v,m=new s,y=new Array(a);for(r=-1;++r<a;)m.has(v=e.call(i=t[r],i.__data__,r))?g[r]=i:m.set(v,i),y[r]=v;for(r=-1;++r<f;)(i=m.get(v=e.call(n,o=n[r],r)))?i!==!0&&(p[r]=i,i.__data__=o):d[r]=R(o),m.set(v,!0);for(r=-1;++r<a;)m.get(y[r])!==!0&&(g[r]=t[r])}else{for(r=-1;++r<h;)i=t[r],o=n[r],i?(i.__data__=o,p[r]=i):d[r]=R(o);for(;f>r;++r)d[r]=R(n[r]);for(;a>r;++r)g[r]=t[r]}d.update=p,d.parentNode=p.parentNode=g.parentNode=t.parentNode,u.push(d),l.push(p),c.push(g)}var r,i,o=-1,a=this.length;if(!arguments.length){for(t=new Array(a=(r=this[0]).length);++o<a;)(i=r[o])&&(t[o]=i.__data__);return t}var u=B([]),l=E([]),c=E([]);if("function"==typeof t)for(;++o<a;)n(r=this[o],t.call(r,r.parentNode.__data__,o));else for(;++o<a;)n(r=this[o],t);return l.enter=function(){return u},l.exit=function(){return c},l},Su.datum=function(t){return arguments.length?this.property("__data__",t):this.property("__data__")},Su.filter=function(t){var e,n,r,i=[];"function"!=typeof t&&(t=P(t));for(var o=0,a=this.length;a>o;o++){i.push(e=[]),e.parentNode=(n=this[o]).parentNode;for(var u=0,s=n.length;s>u;u++)(r=n[u])&&t.call(r,r.__data__,u,o)&&e.push(r)}return E(i)},Su.order=function(){for(var t=-1,e=this.length;++t<e;)for(var n,r=this[t],i=r.length-1,o=r[i];--i>=0;)(n=r[i])&&(o&&o!==n.nextSibling&&o.parentNode.insertBefore(n,o),o=n);return this},Su.sort=function(t){t=I.apply(this,arguments);for(var e=-1,n=this.length;++e<n;)this[e].sort(t);return this.order()},Su.each=function(t){return H(this,function(e,n,r){t.call(e,e.__data__,n,r)})},Su.call=function(t){var e=ou(arguments);return t.apply(e[0]=this,e),this},Su.empty=function(){return!this.node()},Su.node=function(){for(var t=0,e=this.length;e>t;t++)for(var n=this[t],r=0,i=n.length;i>r;r++){var o=n[r];if(o)return o}return null},Su.size=function(){var t=0;return H(this,function(){++t}),t};var ju=[];ru.selection.enter=B,ru.selection.enter.prototype=ju,ju.append=Su.append,ju.empty=Su.empty,ju.node=Su.node,ju.call=Su.call,ju.size=Su.size,ju.select=function(t){for(var e,n,r,i,o,a=[],u=-1,s=this.length;++u<s;){r=(i=this[u]).update,a.push(e=[]),e.parentNode=i.parentNode;for(var l=-1,c=i.length;++l<c;)(o=i[l])?(e.push(r[l]=n=t.call(i.parentNode,o.__data__,l,u)),n.__data__=o.__data__):e.push(null)}return E(a)},ju.insert=function(t,e){return arguments.length<2&&(e=$(this)),Su.insert.call(this,t,e)},ru.select=function(t){var e=["string"==typeof t?Mu(t,au):t];return e.parentNode=uu,E([e])},ru.selectAll=function(t){var e=ou("string"==typeof t?ku(t,au):t);return e.parentNode=uu,E([e])};var Au=ru.select(uu);Su.on=function(t,e,n){var r=arguments.length;if(3>r){if("string"!=typeof t){2>r&&(e=!1);for(n in t)this.each(V(n,t[n],e));return this}if(2>r)return(r=this.node()["__on"+t])&&r._;n=!1}return this.each(V(t,e,n))};var Nu=ru.map({mouseenter:"mouseover",mouseleave:"mouseout"});Nu.forEach(function(t){"on"+t in au&&Nu.remove(t)});var qu="onselectstart"in au?null:y(uu.style,"userSelect"),Ou=0;ru.mouse=function(t){return X(t,M())};var Du=/WebKit/.test(su.navigator.userAgent)?-1:0;ru.touch=function(t,e,n){if(arguments.length<3&&(n=e,e=M().changedTouches),e)for(var r,i=0,o=e.length;o>i;++i)if((r=e[i]).identifier===n)return X(t,r)},ru.behavior.drag=function(){function t(){this.on("mousedown.drag",i).on("touchstart.drag",o)}function e(t,e,i,o,a){return function(){function u(){var t,n,r=e(h,g);r&&(t=r[0]-b[0],n=r[1]-b[1],d|=t|n,b=r,p({type:"drag",x:r[0]+l[0],y:r[1]+l[1],dx:t,dy:n}))}function s(){e(h,g)&&(m.on(o+v,null).on(a+v,null),y(d&&ru.event.target===f),p({type:"dragend"}))}var l,c=this,f=ru.event.target,h=c.parentNode,p=n.of(c,arguments),d=0,g=t(),v=".drag"+(null==g?"":"-"+g),m=ru.select(i()).on(o+v,u).on(a+v,s),y=Y(),b=e(h,g);r?(l=r.apply(c,arguments),l=[l.x-b[0],l.y-b[1]]):l=[0,0],p({type:"dragstart"})}}var n=k(t,"drag","dragstart","dragend"),r=null,i=e(b,ru.mouse,G,"mousemove","mouseup"),o=e(J,ru.touch,Z,"touchmove","touchend");return t.origin=function(e){return arguments.length?(r=e,t):r},ru.rebind(t,n,"on")},ru.touches=function(t,e){return arguments.length<2&&(e=M().touches),e?ou(e).map(function(e){var n=X(t,e);return n.identifier=e.identifier,n}):[]};var Lu=1e-6,Fu=Lu*Lu,zu=Math.PI,Ru=2*zu,Pu=Ru-Lu,Iu=zu/2,Hu=zu/180,Bu=180/zu,$u=Math.SQRT2,Vu=2,Uu=4;ru.interpolateZoom=function(t,e){function n(t){var e=t*y;if(m){var n=re(g),a=o/(Vu*h)*(n*ie($u*e+g)-ne(g));return[r+a*l,i+a*c,o*n/re($u*e+g)]}return[r+t*l,i+t*c,o*Math.exp($u*e)]}var r=t[0],i=t[1],o=t[2],a=e[0],u=e[1],s=e[2],l=a-r,c=u-i,f=l*l+c*c,h=Math.sqrt(f),p=(s*s-o*o+Uu*f)/(2*o*Vu*h),d=(s*s-o*o-Uu*f)/(2*s*Vu*h),g=Math.log(Math.sqrt(p*p+1)-p),v=Math.log(Math.sqrt(d*d+1)-d),m=v-g,y=(m||Math.log(s/o))/$u;return n.duration=1e3*y,n},ru.behavior.zoom=function(){function t(t){t.on(A,c).on(Xu+".zoom",h).on("dblclick.zoom",p).on(O,f)}function e(t){return[(t[0]-E.x)/E.k,(t[1]-E.y)/E.k]}function n(t){return[t[0]*E.k+E.x,t[1]*E.k+E.y]}function r(t){E.k=Math.max(S[0],Math.min(S[1],t))}function i(t,e){e=n(e),E.x+=t[0]-e[0],E.y+=t[1]-e[1]}function o(e,n,o,a){e.__chart__={x:E.x,y:E.y,k:E.k},r(Math.pow(2,a)),i(g=n,o),e=ru.select(e),T>0&&(e=e.transition().duration(T)),e.call(t.event)}function a(){x&&x.domain(b.range().map(function(t){return(t-E.x)/E.k}).map(b.invert)),M&&M.domain(w.range().map(function(t){return(t-E.y)/E.k}).map(w.invert))}function u(t){j++||t({type:"zoomstart"})}function s(t){a(),t({type:"zoom",scale:E.k,translate:[E.x,E.y]})}function l(t){--j||t({type:"zoomend"}),g=null}function c(){function t(){c=1,i(ru.mouse(r),h),s(a)}function n(){f.on(N,null).on(q,null),p(c&&ru.event.target===o),l(a)}var r=this,o=ru.event.target,a=D.of(r,arguments),c=0,f=ru.select(su).on(N,t).on(q,n),h=e(ru.mouse(r)),p=Y();Hl.call(r),u(a)}function f(){function t(){var t=ru.touches(d);return p=E.k,t.forEach(function(t){t.identifier in v&&(v[t.identifier]=e(t))}),t}function n(){var e=ru.event.target;ru.select(e).on(x,a).on(w,h),M.push(e);for(var n=ru.event.changedTouches,r=0,i=n.length;i>r;++r)v[n[r].identifier]=null;var u=t(),s=Date.now();if(1===u.length){if(500>s-y){var l=u[0];o(d,l,v[l.identifier],Math.floor(Math.log(E.k)/Math.LN2)+1),_()}y=s}else if(u.length>1){var l=u[0],c=u[1],f=l[0]-c[0],p=l[1]-c[1];m=f*f+p*p}}function a(){var t,e,n,o,a=ru.touches(d);Hl.call(d);for(var u=0,l=a.length;l>u;++u,o=null)if(n=a[u],o=v[n.identifier]){if(e)break;t=n,e=o}if(o){var c=(c=n[0]-t[0])*c+(c=n[1]-t[1])*c,f=m&&Math.sqrt(c/m);t=[(t[0]+n[0])/2,(t[1]+n[1])/2],e=[(e[0]+o[0])/2,(e[1]+o[1])/2],r(f*p)}y=null,i(t,e),s(g)}function h(){if(ru.event.touches.length){for(var e=ru.event.changedTouches,n=0,r=e.length;r>n;++n)delete v[e[n].identifier];for(var i in v)return void t()}ru.selectAll(M).on(b,null),k.on(A,c).on(O,f),C(),l(g)}var p,d=this,g=D.of(d,arguments),v={},m=0,b=".zoom-"+ru.event.changedTouches[0].identifier,x="touchmove"+b,w="touchend"+b,M=[],k=ru.select(d),C=Y();n(),u(g),k.on(A,null).on(O,n)}function h(){var t=D.of(this,arguments);m?clearTimeout(m):(d=e(g=v||ru.mouse(this)),Hl.call(this),u(t)),m=setTimeout(function(){m=null,l(t)},50),_(),r(Math.pow(2,.002*Wu())*E.k),i(g,d),s(t)}function p(){var t=ru.mouse(this),n=Math.log(E.k)/Math.LN2;o(this,t,e(t),ru.event.shiftKey?Math.ceil(n)-1:Math.floor(n)+1)}var d,g,v,m,y,b,x,w,M,E={x:0,y:0,k:1},C=[960,500],S=Yu,T=250,j=0,A="mousedown.zoom",N="mousemove.zoom",q="mouseup.zoom",O="touchstart.zoom",D=k(t,"zoomstart","zoom","zoomend");return t.event=function(t){t.each(function(){var t=D.of(this,arguments),e=E;Pl?ru.select(this).transition().each("start.zoom",function(){E=this.__chart__||{x:0,y:0,k:1},u(t)}).tween("zoom:zoom",function(){var n=C[0],r=C[1],i=g?g[0]:n/2,o=g?g[1]:r/2,a=ru.interpolateZoom([(i-E.x)/E.k,(o-E.y)/E.k,n/E.k],[(i-e.x)/e.k,(o-e.y)/e.k,n/e.k]);return function(e){var r=a(e),u=n/r[2];this.__chart__=E={x:i-r[0]*u,y:o-r[1]*u,k:u},s(t)}}).each("interrupt.zoom",function(){l(t)}).each("end.zoom",function(){l(t)}):(this.__chart__=E,u(t),s(t),l(t))})},t.translate=function(e){return arguments.length?(E={x:+e[0],y:+e[1],k:E.k},a(),t):[E.x,E.y]},t.scale=function(e){return arguments.length?(E={x:E.x,y:E.y,k:+e},a(),t):E.k},t.scaleExtent=function(e){return arguments.length?(S=null==e?Yu:[+e[0],+e[1]],t):S},t.center=function(e){return arguments.length?(v=e&&[+e[0],+e[1]],t):v},t.size=function(e){return arguments.length?(C=e&&[+e[0],+e[1]],t):C},t.duration=function(e){return arguments.length?(T=+e,t):T},t.x=function(e){return arguments.length?(x=e,b=e.copy(),E={x:0,y:0,k:1},t):x},t.y=function(e){return arguments.length?(M=e,w=e.copy(),E={x:0,y:0,k:1},t):M},ru.rebind(t,D,"on")};var Wu,Yu=[0,1/0],Xu="onwheel"in au?(Wu=function(){return-ru.event.deltaY*(ru.event.deltaMode?120:1)},"wheel"):"onmousewheel"in au?(Wu=function(){return ru.event.wheelDelta},"mousewheel"):(Wu=function(){return-ru.event.detail},"MozMousePixelScroll");ru.color=ae,ae.prototype.toString=function(){return this.rgb()+""},ru.hsl=ue;var Ju=ue.prototype=new ae;Ju.brighter=function(t){return t=Math.pow(.7,arguments.length?t:1),new ue(this.h,this.s,this.l/t)},Ju.darker=function(t){return t=Math.pow(.7,arguments.length?t:1),new ue(this.h,this.s,t*this.l)},Ju.rgb=function(){return se(this.h,this.s,this.l)},ru.hcl=le;var Zu=le.prototype=new ae;Zu.brighter=function(t){return new le(this.h,this.c,Math.min(100,this.l+Gu*(arguments.length?t:1)))},Zu.darker=function(t){return new le(this.h,this.c,Math.max(0,this.l-Gu*(arguments.length?t:1)))},Zu.rgb=function(){return ce(this.h,this.c,this.l).rgb()},ru.lab=fe;var Gu=18,Ku=.95047,Qu=1,ts=1.08883,es=fe.prototype=new ae;es.brighter=function(t){return new fe(Math.min(100,this.l+Gu*(arguments.length?t:1)),this.a,this.b)},es.darker=function(t){return new fe(Math.max(0,this.l-Gu*(arguments.length?t:1)),this.a,this.b)},es.rgb=function(){return he(this.l,this.a,this.b)},ru.rgb=me;var ns=me.prototype=new ae;ns.brighter=function(t){t=Math.pow(.7,arguments.length?t:1);var e=this.r,n=this.g,r=this.b,i=30;return e||n||r?(e&&i>e&&(e=i),n&&i>n&&(n=i),r&&i>r&&(r=i),new me(Math.min(255,e/t),Math.min(255,n/t),Math.min(255,r/t))):new me(i,i,i)},ns.darker=function(t){return t=Math.pow(.7,arguments.length?t:1),new me(t*this.r,t*this.g,t*this.b)},ns.hsl=function(){return _e(this.r,this.g,this.b)},ns.toString=function(){return"#"+xe(this.r)+xe(this.g)+xe(this.b)};var rs=ru.map({aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074});rs.forEach(function(t,e){rs.set(t,ye(e))}),ru.functor=Ce,ru.xhr=Te(Se),ru.dsv=function(t,e){function n(t,n,o){arguments.length<3&&(o=n,n=null);var a=je(t,e,null==n?r:i(n),o);return a.row=function(t){return arguments.length?a.response(null==(n=t)?r:i(t)):n},a}function r(t){return n.parse(t.responseText)}function i(t){return function(e){return n.parse(e.responseText,t)}}function o(e){return e.map(a).join(t)}function a(t){return u.test(t)?'"'+t.replace(/\"/g,'""')+'"':t}var u=new RegExp('["'+t+"\n]"),s=t.charCodeAt(0);return n.parse=function(t,e){var r;return n.parseRows(t,function(t,n){if(r)return r(t,n-1);var i=new Function("d","return {"+t.map(function(t,e){return JSON.stringify(t)+": d["+e+"]"}).join(",")+"}");r=e?function(t,n){return e(i(t),n)}:i})},n.parseRows=function(t,e){function n(){if(c>=l)return a;if(i)return i=!1,o;var e=c;if(34===t.charCodeAt(e)){for(var n=e;n++<l;)if(34===t.charCodeAt(n)){if(34!==t.charCodeAt(n+1))break;++n}c=n+2;var r=t.charCodeAt(n+1);return 13===r?(i=!0,10===t.charCodeAt(n+2)&&++c):10===r&&(i=!0),t.slice(e+1,n).replace(/""/g,'"')}for(;l>c;){var r=t.charCodeAt(c++),u=1;if(10===r)i=!0;else if(13===r)i=!0,10===t.charCodeAt(c)&&(++c,++u);else if(r!==s)continue;return t.slice(e,c-u)}return t.slice(e)}for(var r,i,o={},a={},u=[],l=t.length,c=0,f=0;(r=n())!==a;){for(var h=[];r!==o&&r!==a;)h.push(r),r=n();e&&null==(h=e(h,f++))||u.push(h)}return u},n.format=function(e){if(Array.isArray(e[0]))return n.formatRows(e);var r=new v,i=[];return e.forEach(function(t){for(var e in t)r.has(e)||i.push(r.add(e))}),[i.map(a).join(t)].concat(e.map(function(e){return i.map(function(t){return a(e[t])}).join(t)})).join("\n")},n.formatRows=function(t){return t.map(o).join("\n")},n},ru.csv=ru.dsv(",","text/csv"),ru.tsv=ru.dsv(" ","text/tab-separated-values");var is,os,as,us,ss,ls=su[y(su,"requestAnimationFrame")]||function(t){setTimeout(t,17)};ru.timer=function(t,e,n){var r=arguments.length;2>r&&(e=0),3>r&&(n=Date.now());var i=n+e,o={c:t,t:i,f:!1,n:null};os?os.n=o:is=o,os=o,as||(us=clearTimeout(us),as=1,ls(qe))},ru.timer.flush=function(){Oe(),De()},ru.round=function(t,e){return e?Math.round(t*(e=Math.pow(10,e)))/e:Math.round(t)};var cs=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"].map(Fe);ru.formatPrefix=function(t,e){var n=0;return t&&(0>t&&(t*=-1),e&&(t=ru.round(t,Le(t,e))),n=1+Math.floor(1e-12+Math.log(t)/Math.LN10),n=Math.max(-24,Math.min(24,3*Math.floor((n-1)/3)))),cs[8+n/3]};var fs=/(?:([^{])?([<>=^]))?([+\- ])?([$#])?(0)?(\d+)?(,)?(\.-?\d+)?([a-z%])?/i,hs=ru.map({b:function(t){return t.toString(2)},c:function(t){return String.fromCharCode(t)},o:function(t){return t.toString(8)},x:function(t){return t.toString(16)},X:function(t){return t.toString(16).toUpperCase()},g:function(t,e){return t.toPrecision(e)},e:function(t,e){return t.toExponential(e)},f:function(t,e){return t.toFixed(e)},r:function(t,e){return(t=ru.round(t,Le(t,e))).toFixed(Math.max(0,Math.min(20,Le(t*(1+1e-15),e))))}}),ps=ru.time={},ds=Date;Pe.prototype={getDate:function(){return this._.getUTCDate()},getDay:function(){return this._.getUTCDay()},getFullYear:function(){return this._.getUTCFullYear()},getHours:function(){return this._.getUTCHours()},getMilliseconds:function(){return this._.getUTCMilliseconds()},getMinutes:function(){return this._.getUTCMinutes()},getMonth:function(){return this._.getUTCMonth()},getSeconds:function(){return this._.getUTCSeconds()},getTime:function(){return this._.getTime()},getTimezoneOffset:function(){return 0},valueOf:function(){return this._.valueOf()},setDate:function(){gs.setUTCDate.apply(this._,arguments)},setDay:function(){gs.setUTCDay.apply(this._,arguments)},setFullYear:function(){gs.setUTCFullYear.apply(this._,arguments)},setHours:function(){gs.setUTCHours.apply(this._,arguments)},setMilliseconds:function(){gs.setUTCMilliseconds.apply(this._,arguments)},setMinutes:function(){gs.setUTCMinutes.apply(this._,arguments)},setMonth:function(){gs.setUTCMonth.apply(this._,arguments)},setSeconds:function(){gs.setUTCSeconds.apply(this._,arguments)},setTime:function(){gs.setTime.apply(this._,arguments)}};var gs=Date.prototype;ps.year=Ie(function(t){return t=ps.day(t),t.setMonth(0,1),t},function(t,e){t.setFullYear(t.getFullYear()+e)},function(t){return t.getFullYear()}),ps.years=ps.year.range,ps.years.utc=ps.year.utc.range,ps.day=Ie(function(t){var e=new ds(2e3,0);return e.setFullYear(t.getFullYear(),t.getMonth(),t.getDate()),e},function(t,e){t.setDate(t.getDate()+e)},function(t){return t.getDate()-1}),ps.days=ps.day.range,ps.days.utc=ps.day.utc.range,ps.dayOfYear=function(t){var e=ps.year(t);return Math.floor((t-e-6e4*(t.getTimezoneOffset()-e.getTimezoneOffset()))/864e5)},["sunday","monday","tuesday","wednesday","thursday","friday","saturday"].forEach(function(t,e){e=7-e;var n=ps[t]=Ie(function(t){return(t=ps.day(t)).setDate(t.getDate()-(t.getDay()+e)%7),t},function(t,e){t.setDate(t.getDate()+7*Math.floor(e))},function(t){var n=ps.year(t).getDay();return Math.floor((ps.dayOfYear(t)+(n+e)%7)/7)-(n!==e)});ps[t+"s"]=n.range,ps[t+"s"].utc=n.utc.range,ps[t+"OfYear"]=function(t){var n=ps.year(t).getDay();return Math.floor((ps.dayOfYear(t)+(n+e)%7)/7)}}),ps.week=ps.sunday,ps.weeks=ps.sunday.range,ps.weeks.utc=ps.sunday.utc.range,ps.weekOfYear=ps.sundayOfYear;var vs={"-":"",_:" ",0:"0"},ms=/^\s*\d+/,ys=/^%/;ru.locale=function(t){return{numberFormat:ze(t),timeFormat:Be(t)}};var bs=ru.locale({decimal:".",thousands:",",grouping:[3],currency:["$",""],dateTime:"%a %b %e %X %Y",date:"%m/%d/%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});ru.format=bs.numberFormat,ru.geo={},cn.prototype={s:0,t:0,add:function(t){fn(t,this.t,xs),fn(xs.s,this.s,this),this.s?this.t+=xs.t:this.s=xs.t},reset:function(){this.s=this.t=0},valueOf:function(){return this.s}};var xs=new cn;ru.geo.stream=function(t,e){t&&ws.hasOwnProperty(t.type)?ws[t.type](t,e):hn(t,e)};var ws={Feature:function(t,e){hn(t.geometry,e)},FeatureCollection:function(t,e){for(var n=t.features,r=-1,i=n.length;++r<i;)hn(n[r].geometry,e)}},_s={Sphere:function(t,e){e.sphere()},Point:function(t,e){t=t.coordinates,e.point(t[0],t[1],t[2])},MultiPoint:function(t,e){for(var n=t.coordinates,r=-1,i=n.length;++r<i;)t=n[r],e.point(t[0],t[1],t[2])},LineString:function(t,e){pn(t.coordinates,e,0)},MultiLineString:function(t,e){for(var n=t.coordinates,r=-1,i=n.length;++r<i;)pn(n[r],e,0)},Polygon:function(t,e){dn(t.coordinates,e)},MultiPolygon:function(t,e){for(var n=t.coordinates,r=-1,i=n.length;++r<i;)dn(n[r],e)},GeometryCollection:function(t,e){for(var n=t.geometries,r=-1,i=n.length;++r<i;)hn(n[r],e)}};ru.geo.area=function(t){return Ms=0,ru.geo.stream(t,Es),Ms};var Ms,ks=new cn,Es={sphere:function(){Ms+=4*zu},point:b,lineStart:b,lineEnd:b,polygonStart:function(){ks.reset(),Es.lineStart=gn},polygonEnd:function(){var t=2*ks;Ms+=0>t?4*zu+t:t,Es.lineStart=Es.lineEnd=Es.point=b}};ru.geo.bounds=function(){function t(t,e){b.push(x=[c=t,h=t]),f>e&&(f=e),e>p&&(p=e)}function e(e,n){var r=vn([e*Hu,n*Hu]);if(m){var i=yn(m,r),o=[i[1],-i[0],0],a=yn(o,i);wn(a),a=_n(a);var s=e-d,l=s>0?1:-1,g=a[0]*Bu*l,v=mu(s)>180;if(v^(g>l*d&&l*e>g)){var y=a[1]*Bu;y>p&&(p=y)}else if(g=(g+360)%360-180,v^(g>l*d&&l*e>g)){var y=-a[1]*Bu;f>y&&(f=y)}else f>n&&(f=n),n>p&&(p=n);v?d>e?u(c,e)>u(c,h)&&(h=e):u(e,h)>u(c,h)&&(c=e):h>=c?(c>e&&(c=e),e>h&&(h=e)):e>d?u(c,e)>u(c,h)&&(h=e):u(e,h)>u(c,h)&&(c=e)}else t(e,n);m=r,d=e}function n(){w.point=e}function r(){x[0]=c,x[1]=h,w.point=t,m=null}function i(t,n){if(m){var r=t-d;y+=mu(r)>180?r+(r>0?360:-360):r}else g=t,v=n;Es.point(t,n),e(t,n)}function o(){Es.lineStart()}function a(){i(g,v),Es.lineEnd(),mu(y)>Lu&&(c=-(h=180)),x[0]=c,x[1]=h,m=null}function u(t,e){return(e-=t)<0?e+360:e}function s(t,e){return t[0]-e[0]}function l(t,e){return e[0]<=e[1]?e[0]<=t&&t<=e[1]:t<e[0]||e[1]<t}var c,f,h,p,d,g,v,m,y,b,x,w={point:t,lineStart:n,lineEnd:r,polygonStart:function(){w.point=i,w.lineStart=o,w.lineEnd=a,y=0,Es.polygonStart()},polygonEnd:function(){Es.polygonEnd(),w.point=t,w.lineStart=n,w.lineEnd=r,0>ks?(c=-(h=180),f=-(p=90)):y>Lu?p=90:-Lu>y&&(f=-90),x[0]=c,x[1]=h}};return function(t){p=h=-(c=f=1/0),b=[],ru.geo.stream(t,w);var e=b.length;if(e){b.sort(s);for(var n,r=1,i=b[0],o=[i];e>r;++r)n=b[r],l(n[0],i)||l(n[1],i)?(u(i[0],n[1])>u(i[0],i[1])&&(i[1]=n[1]),u(n[0],i[1])>u(i[0],i[1])&&(i[0]=n[0])):o.push(i=n);for(var a,n,d=-1/0,e=o.length-1,r=0,i=o[e];e>=r;i=n,++r)n=o[r],(a=u(i[1],n[0]))>d&&(d=a,c=n[0],h=i[1])}return b=x=null,1/0===c||1/0===f?[[0/0,0/0],[0/0,0/0]]:[[c,f],[h,p]]}}(),ru.geo.centroid=function(t){Cs=Ss=Ts=js=As=Ns=qs=Os=Ds=Ls=Fs=0,ru.geo.stream(t,zs);var e=Ds,n=Ls,r=Fs,i=e*e+n*n+r*r;return Fu>i&&(e=Ns,n=qs,r=Os,Lu>Ss&&(e=Ts,n=js,r=As),i=e*e+n*n+r*r,Fu>i)?[0/0,0/0]:[Math.atan2(n,e)*Bu,ee(r/Math.sqrt(i))*Bu]};var Cs,Ss,Ts,js,As,Ns,qs,Os,Ds,Ls,Fs,zs={sphere:b,point:kn,lineStart:Cn,lineEnd:Sn,polygonStart:function(){zs.lineStart=Tn},polygonEnd:function(){zs.lineStart=Cn}},Rs=Dn(An,Rn,In,[-zu,-zu/2]),Ps=1e9;ru.geo.clipExtent=function(){var t,e,n,r,i,o,a={stream:function(t){return i&&(i.valid=!1),i=o(t),i.valid=!0,i},extent:function(u){return arguments.length?(o=Vn(t=+u[0][0],e=+u[0][1],n=+u[1][0],r=+u[1][1]),i&&(i.valid=!1,i=null),a):[[t,e],[n,r]]}};return a.extent([[0,0],[960,500]])},(ru.geo.conicEqualArea=function(){return Un(Wn)}).raw=Wn,ru.geo.albers=function(){return ru.geo.conicEqualArea().rotate([96,0]).center([-.6,38.7]).parallels([29.5,45.5]).scale(1070)},ru.geo.albersUsa=function(){function t(t){var o=t[0],a=t[1];return e=null,n(o,a),e||(r(o,a),e)||i(o,a),e}var e,n,r,i,o=ru.geo.albers(),a=ru.geo.conicEqualArea().rotate([154,0]).center([-2,58.5]).parallels([55,65]),u=ru.geo.conicEqualArea().rotate([157,0]).center([-3,19.9]).parallels([8,18]),s={point:function(t,n){e=[t,n]}};return t.invert=function(t){var e=o.scale(),n=o.translate(),r=(t[0]-n[0])/e,i=(t[1]-n[1])/e;return(i>=.12&&.234>i&&r>=-.425&&-.214>r?a:i>=.166&&.234>i&&r>=-.214&&-.115>r?u:o).invert(t)},t.stream=function(t){var e=o.stream(t),n=a.stream(t),r=u.stream(t);return{point:function(t,i){e.point(t,i),n.point(t,i),r.point(t,i)},sphere:function(){e.sphere(),n.sphere(),r.sphere()},lineStart:function(){e.lineStart(),n.lineStart(),r.lineStart()},lineEnd:function(){e.lineEnd(),n.lineEnd(),r.lineEnd()},polygonStart:function(){e.polygonStart(),n.polygonStart(),r.polygonStart()},polygonEnd:function(){e.polygonEnd(),n.polygonEnd(),r.polygonEnd()}}},t.precision=function(e){return arguments.length?(o.precision(e),a.precision(e),u.precision(e),t):o.precision()},t.scale=function(e){return arguments.length?(o.scale(e),a.scale(.35*e),u.scale(e),t.translate(o.translate())):o.scale()},t.translate=function(e){if(!arguments.length)return o.translate();var l=o.scale(),c=+e[0],f=+e[1];return n=o.translate(e).clipExtent([[c-.455*l,f-.238*l],[c+.455*l,f+.238*l]]).stream(s).point,r=a.translate([c-.307*l,f+.201*l]).clipExtent([[c-.425*l+Lu,f+.12*l+Lu],[c-.214*l-Lu,f+.234*l-Lu]]).stream(s).point,i=u.translate([c-.205*l,f+.212*l]).clipExtent([[c-.214*l+Lu,f+.166*l+Lu],[c-.115*l-Lu,f+.234*l-Lu]]).stream(s).point,t},t.scale(1070)};var Is,Hs,Bs,$s,Vs,Us,Ws={point:b,lineStart:b,lineEnd:b,polygonStart:function(){Hs=0,Ws.lineStart=Yn},polygonEnd:function(){Ws.lineStart=Ws.lineEnd=Ws.point=b,Is+=mu(Hs/2)}},Ys={point:Xn,lineStart:b,lineEnd:b,polygonStart:b,polygonEnd:b},Xs={point:Gn,lineStart:Kn,lineEnd:Qn,polygonStart:function(){Xs.lineStart=tr},polygonEnd:function(){Xs.point=Gn,Xs.lineStart=Kn,Xs.lineEnd=Qn}};ru.geo.path=function(){function t(t){return t&&("function"==typeof u&&o.pointRadius(+u.apply(this,arguments)),a&&a.valid||(a=i(o)),ru.geo.stream(t,a)),o.result()}function e(){return a=null,t}var n,r,i,o,a,u=4.5;return t.area=function(t){return Is=0,ru.geo.stream(t,i(Ws)),Is},t.centroid=function(t){return Ts=js=As=Ns=qs=Os=Ds=Ls=Fs=0,ru.geo.stream(t,i(Xs)),Fs?[Ds/Fs,Ls/Fs]:Os?[Ns/Os,qs/Os]:As?[Ts/As,js/As]:[0/0,0/0]},t.bounds=function(t){return Vs=Us=-(Bs=$s=1/0),ru.geo.stream(t,i(Ys)),[[Bs,$s],[Vs,Us]]},t.projection=function(t){return arguments.length?(i=(n=t)?t.stream||rr(t):Se,e()):n},t.context=function(t){return arguments.length?(o=null==(r=t)?new Jn:new er(t),"function"!=typeof u&&o.pointRadius(u),e()):r},t.pointRadius=function(e){return arguments.length?(u="function"==typeof e?e:(o.pointRadius(+e),+e),t):u},t.projection(ru.geo.albersUsa()).context(null)},ru.geo.transform=function(t){return{stream:function(e){var n=new ir(e);for(var r in t)n[r]=t[r];return n}}},ir.prototype={point:function(t,e){this.stream.point(t,e)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}},ru.geo.projection=ar,ru.geo.projectionMutator=ur,(ru.geo.equirectangular=function(){return ar(lr)}).raw=lr.invert=lr,ru.geo.rotation=function(t){function e(e){return e=t(e[0]*Hu,e[1]*Hu),e[0]*=Bu,e[1]*=Bu,e
-}return t=fr(t[0]%360*Hu,t[1]*Hu,t.length>2?t[2]*Hu:0),e.invert=function(e){return e=t.invert(e[0]*Hu,e[1]*Hu),e[0]*=Bu,e[1]*=Bu,e},e},cr.invert=lr,ru.geo.circle=function(){function t(){var t="function"==typeof r?r.apply(this,arguments):r,e=fr(-t[0]*Hu,-t[1]*Hu,0).invert,i=[];return n(null,null,1,{point:function(t,n){i.push(t=e(t,n)),t[0]*=Bu,t[1]*=Bu}}),{type:"Polygon",coordinates:[i]}}var e,n,r=[0,0],i=6;return t.origin=function(e){return arguments.length?(r=e,t):r},t.angle=function(r){return arguments.length?(n=gr((e=+r)*Hu,i*Hu),t):e},t.precision=function(r){return arguments.length?(n=gr(e*Hu,(i=+r)*Hu),t):i},t.angle(90)},ru.geo.distance=function(t,e){var n,r=(e[0]-t[0])*Hu,i=t[1]*Hu,o=e[1]*Hu,a=Math.sin(r),u=Math.cos(r),s=Math.sin(i),l=Math.cos(i),c=Math.sin(o),f=Math.cos(o);return Math.atan2(Math.sqrt((n=f*a)*n+(n=l*c-s*f*u)*n),s*c+l*f*u)},ru.geo.graticule=function(){function t(){return{type:"MultiLineString",coordinates:e()}}function e(){return ru.range(Math.ceil(o/v)*v,i,v).map(h).concat(ru.range(Math.ceil(l/m)*m,s,m).map(p)).concat(ru.range(Math.ceil(r/d)*d,n,d).filter(function(t){return mu(t%v)>Lu}).map(c)).concat(ru.range(Math.ceil(u/g)*g,a,g).filter(function(t){return mu(t%m)>Lu}).map(f))}var n,r,i,o,a,u,s,l,c,f,h,p,d=10,g=d,v=90,m=360,y=2.5;return t.lines=function(){return e().map(function(t){return{type:"LineString",coordinates:t}})},t.outline=function(){return{type:"Polygon",coordinates:[h(o).concat(p(s).slice(1),h(i).reverse().slice(1),p(l).reverse().slice(1))]}},t.extent=function(e){return arguments.length?t.majorExtent(e).minorExtent(e):t.minorExtent()},t.majorExtent=function(e){return arguments.length?(o=+e[0][0],i=+e[1][0],l=+e[0][1],s=+e[1][1],o>i&&(e=o,o=i,i=e),l>s&&(e=l,l=s,s=e),t.precision(y)):[[o,l],[i,s]]},t.minorExtent=function(e){return arguments.length?(r=+e[0][0],n=+e[1][0],u=+e[0][1],a=+e[1][1],r>n&&(e=r,r=n,n=e),u>a&&(e=u,u=a,a=e),t.precision(y)):[[r,u],[n,a]]},t.step=function(e){return arguments.length?t.majorStep(e).minorStep(e):t.minorStep()},t.majorStep=function(e){return arguments.length?(v=+e[0],m=+e[1],t):[v,m]},t.minorStep=function(e){return arguments.length?(d=+e[0],g=+e[1],t):[d,g]},t.precision=function(e){return arguments.length?(y=+e,c=mr(u,a,90),f=yr(r,n,y),h=mr(l,s,90),p=yr(o,i,y),t):y},t.majorExtent([[-180,-90+Lu],[180,90-Lu]]).minorExtent([[-180,-80-Lu],[180,80+Lu]])},ru.geo.greatArc=function(){function t(){return{type:"LineString",coordinates:[e||r.apply(this,arguments),n||i.apply(this,arguments)]}}var e,n,r=br,i=xr;return t.distance=function(){return ru.geo.distance(e||r.apply(this,arguments),n||i.apply(this,arguments))},t.source=function(n){return arguments.length?(r=n,e="function"==typeof n?null:n,t):r},t.target=function(e){return arguments.length?(i=e,n="function"==typeof e?null:e,t):i},t.precision=function(){return arguments.length?t:0},t},ru.geo.interpolate=function(t,e){return wr(t[0]*Hu,t[1]*Hu,e[0]*Hu,e[1]*Hu)},ru.geo.length=function(t){return Js=0,ru.geo.stream(t,Zs),Js};var Js,Zs={sphere:b,point:b,lineStart:_r,lineEnd:b,polygonStart:b,polygonEnd:b},Gs=Mr(function(t){return Math.sqrt(2/(1+t))},function(t){return 2*Math.asin(t/2)});(ru.geo.azimuthalEqualArea=function(){return ar(Gs)}).raw=Gs;var Ks=Mr(function(t){var e=Math.acos(t);return e&&e/Math.sin(e)},Se);(ru.geo.azimuthalEquidistant=function(){return ar(Ks)}).raw=Ks,(ru.geo.conicConformal=function(){return Un(kr)}).raw=kr,(ru.geo.conicEquidistant=function(){return Un(Er)}).raw=Er;var Qs=Mr(function(t){return 1/t},Math.atan);(ru.geo.gnomonic=function(){return ar(Qs)}).raw=Qs,Cr.invert=function(t,e){return[t,2*Math.atan(Math.exp(e))-Iu]},(ru.geo.mercator=function(){return Sr(Cr)}).raw=Cr;var tl=Mr(function(){return 1},Math.asin);(ru.geo.orthographic=function(){return ar(tl)}).raw=tl;var el=Mr(function(t){return 1/(1+t)},function(t){return 2*Math.atan(t)});(ru.geo.stereographic=function(){return ar(el)}).raw=el,Tr.invert=function(t,e){return[-e,2*Math.atan(Math.exp(t))-Iu]},(ru.geo.transverseMercator=function(){var t=Sr(Tr),e=t.center,n=t.rotate;return t.center=function(t){return t?e([-t[1],t[0]]):(t=e(),[t[1],-t[0]])},t.rotate=function(t){return t?n([t[0],t[1],t.length>2?t[2]+90:90]):(t=n(),[t[0],t[1],t[2]-90])},n([0,0,90])}).raw=Tr,ru.geom={},ru.geom.hull=function(t){function e(data){if(data.length<3)return[];var t,e=Ce(n),i=Ce(r),o=data.length,a=[],u=[];for(t=0;o>t;t++)a.push([+e.call(this,data[t],t),+i.call(this,data[t],t),t]);for(a.sort(qr),t=0;o>t;t++)u.push([a[t][0],-a[t][1]]);var s=Nr(a),l=Nr(u),c=l[0]===s[0],f=l[l.length-1]===s[s.length-1],h=[];for(t=s.length-1;t>=0;--t)h.push(data[a[s[t]][2]]);for(t=+c;t<l.length-f;++t)h.push(data[a[l[t]][2]]);return h}var n=jr,r=Ar;return arguments.length?e(t):(e.x=function(t){return arguments.length?(n=t,e):n},e.y=function(t){return arguments.length?(r=t,e):r},e)},ru.geom.polygon=function(t){return _u(t,nl),t};var nl=ru.geom.polygon.prototype=[];nl.area=function(){for(var t,e=-1,n=this.length,r=this[n-1],i=0;++e<n;)t=r,r=this[e],i+=t[1]*r[0]-t[0]*r[1];return.5*i},nl.centroid=function(t){var e,n,r=-1,i=this.length,o=0,a=0,u=this[i-1];for(arguments.length||(t=-1/(6*this.area()));++r<i;)e=u,u=this[r],n=e[0]*u[1]-u[0]*e[1],o+=(e[0]+u[0])*n,a+=(e[1]+u[1])*n;return[o*t,a*t]},nl.clip=function(t){for(var e,n,r,i,o,a,u=Lr(t),s=-1,l=this.length-Lr(this),c=this[l-1];++s<l;){for(e=t.slice(),t.length=0,i=this[s],o=e[(r=e.length-u)-1],n=-1;++n<r;)a=e[n],Or(a,c,i)?(Or(o,c,i)||t.push(Dr(o,a,c,i)),t.push(a)):Or(o,c,i)&&t.push(Dr(o,a,c,i)),o=a;u&&t.push(t[0]),c=i}return t};var rl,il,ol,al,ul,sl=[],ll=[];$r.prototype.prepare=function(){for(var t,e=this.edges,n=e.length;n--;)t=e[n].edge,t.b&&t.a||e.splice(n,1);return e.sort(Ur),e.length},ei.prototype={start:function(){return this.edge.l===this.site?this.edge.a:this.edge.b},end:function(){return this.edge.l===this.site?this.edge.b:this.edge.a}},ni.prototype={insert:function(t,e){var n,r,i;if(t){if(e.P=t,e.N=t.N,t.N&&(t.N.P=e),t.N=e,t.R){for(t=t.R;t.L;)t=t.L;t.L=e}else t.R=e;n=t}else this._?(t=ai(this._),e.P=null,e.N=t,t.P=t.L=e,n=t):(e.P=e.N=null,this._=e,n=null);for(e.L=e.R=null,e.U=n,e.C=!0,t=e;n&&n.C;)r=n.U,n===r.L?(i=r.R,i&&i.C?(n.C=i.C=!1,r.C=!0,t=r):(t===n.R&&(ii(this,n),t=n,n=t.U),n.C=!1,r.C=!0,oi(this,r))):(i=r.L,i&&i.C?(n.C=i.C=!1,r.C=!0,t=r):(t===n.L&&(oi(this,n),t=n,n=t.U),n.C=!1,r.C=!0,ii(this,r))),n=t.U;this._.C=!1},remove:function(t){t.N&&(t.N.P=t.P),t.P&&(t.P.N=t.N),t.N=t.P=null;var e,n,r,i=t.U,o=t.L,a=t.R;if(n=o?a?ai(a):o:a,i?i.L===t?i.L=n:i.R=n:this._=n,o&&a?(r=n.C,n.C=t.C,n.L=o,o.U=n,n!==a?(i=n.U,n.U=t.U,t=n.R,i.L=t,n.R=a,a.U=n):(n.U=i,i=n,t=n.R)):(r=t.C,t=n),t&&(t.U=i),!r){if(t&&t.C)return void(t.C=!1);do{if(t===this._)break;if(t===i.L){if(e=i.R,e.C&&(e.C=!1,i.C=!0,ii(this,i),e=i.R),e.L&&e.L.C||e.R&&e.R.C){e.R&&e.R.C||(e.L.C=!1,e.C=!0,oi(this,e),e=i.R),e.C=i.C,i.C=e.R.C=!1,ii(this,i),t=this._;break}}else if(e=i.L,e.C&&(e.C=!1,i.C=!0,oi(this,i),e=i.L),e.L&&e.L.C||e.R&&e.R.C){e.L&&e.L.C||(e.R.C=!1,e.C=!0,ii(this,e),e=i.L),e.C=i.C,i.C=e.L.C=!1,oi(this,i),t=this._;break}e.C=!0,t=i,i=i.U}while(!t.C);t&&(t.C=!1)}}},ru.geom.voronoi=function(t){function e(data){var t=new Array(data.length),e=u[0][0],r=u[0][1],i=u[1][0],o=u[1][1];return ui(n(data),u).cells.forEach(function(n,a){var u=n.edges,s=n.site,l=t[a]=u.length?u.map(function(t){var e=t.start();return[e.x,e.y]}):s.x>=e&&s.x<=i&&s.y>=r&&s.y<=o?[[e,o],[i,o],[i,r],[e,r]]:[];l.point=data[a]}),t}function n(data){return data.map(function(t,e){return{x:Math.round(o(t,e)/Lu)*Lu,y:Math.round(a(t,e)/Lu)*Lu,i:e}})}var r=jr,i=Ar,o=r,a=i,u=cl;return t?e(t):(e.links=function(data){return ui(n(data)).edges.filter(function(t){return t.l&&t.r}).map(function(t){return{source:data[t.l.i],target:data[t.r.i]}})},e.triangles=function(data){var t=[];return ui(n(data)).cells.forEach(function(e,n){for(var r,i,o=e.site,a=e.edges.sort(Ur),u=-1,s=a.length,l=a[s-1].edge,c=l.l===o?l.r:l.l;++u<s;)r=l,i=c,l=a[u].edge,c=l.l===o?l.r:l.l,n<i.i&&n<c.i&&li(o,i,c)<0&&t.push([data[n],data[i.i],data[c.i]])}),t},e.x=function(t){return arguments.length?(o=Ce(r=t),e):r},e.y=function(t){return arguments.length?(a=Ce(i=t),e):i},e.clipExtent=function(t){return arguments.length?(u=null==t?cl:t,e):u===cl?null:u},e.size=function(t){return arguments.length?e.clipExtent(t&&[[0,0],t]):u===cl?null:u&&u[1]},e)};var cl=[[-1e6,-1e6],[1e6,1e6]];ru.geom.delaunay=function(t){return ru.geom.voronoi().triangles(t)},ru.geom.quadtree=function(t,e,n,r,i){function o(data){function t(t,e,n,r,i,a,u,s){if(!isNaN(n)&&!isNaN(r))if(t.leaf){var l=t.x,c=t.y;if(null!=l)if(mu(l-n)+mu(c-r)<.01)o(t,e,n,r,i,a,u,s);else{var f=t.point;t.x=t.y=t.point=null,o(t,f,l,c,i,a,u,s),o(t,e,n,r,i,a,u,s)}else t.x=n,t.y=r,t.point=e}else o(t,e,n,r,i,a,u,s)}function o(e,n,r,i,o,a,u,s){var l=.5*(o+u),c=.5*(a+s),f=r>=l,h=i>=c,p=h<<1|f;e.leaf=!1,e=e.nodes[p]||(e.nodes[p]=hi()),f?o=l:u=l,h?a=c:s=c,t(e,n,r,i,o,a,u,s)}var l,c,f,h,p,d,g,v,m,y=Ce(u),b=Ce(s);if(null!=e)d=e,g=n,v=r,m=i;else if(v=m=-(d=g=1/0),c=[],f=[],p=data.length,a)for(h=0;p>h;++h)l=data[h],l.x<d&&(d=l.x),l.y<g&&(g=l.y),l.x>v&&(v=l.x),l.y>m&&(m=l.y),c.push(l.x),f.push(l.y);else for(h=0;p>h;++h){var x=+y(l=data[h],h),w=+b(l,h);d>x&&(d=x),g>w&&(g=w),x>v&&(v=x),w>m&&(m=w),c.push(x),f.push(w)}var _=v-d,M=m-g;_>M?m=g+_:v=d+M;var k=hi();if(k.add=function(e){t(k,e,+y(e,++h),+b(e,h),d,g,v,m)},k.visit=function(t){pi(t,k,d,g,v,m)},k.find=function(t){return di(k,t[0],t[1],d,g,v,m)},h=-1,null==e){for(;++h<p;)t(k,data[h],c[h],f[h],d,g,v,m);--h}else data.forEach(k.add);return c=f=data=l=null,k}var a,u=jr,s=Ar;return(a=arguments.length)?(u=ci,s=fi,3===a&&(i=n,r=e,n=e=0),o(t)):(o.x=function(t){return arguments.length?(u=t,o):u},o.y=function(t){return arguments.length?(s=t,o):s},o.extent=function(t){return arguments.length?(null==t?e=n=r=i=null:(e=+t[0][0],n=+t[0][1],r=+t[1][0],i=+t[1][1]),o):null==e?null:[[e,n],[r,i]]},o.size=function(t){return arguments.length?(null==t?e=n=r=i=null:(e=n=0,r=+t[0],i=+t[1]),o):null==e?null:[r-e,i-n]},o)},ru.interpolateRgb=gi,ru.interpolateObject=vi,ru.interpolateNumber=mi,ru.interpolateString=yi;var fl=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,hl=new RegExp(fl.source,"g");ru.interpolate=bi,ru.interpolators=[function(t,e){var n=typeof e;return("string"===n?rs.has(e)||/^(#|rgb\(|hsl\()/.test(e)?gi:yi:e instanceof ae?gi:Array.isArray(e)?xi:"object"===n&&isNaN(e)?vi:mi)(t,e)}],ru.interpolateArray=xi;var pl=function(){return Se},dl=ru.map({linear:pl,poly:Si,quad:function(){return ki},cubic:function(){return Ei},sin:function(){return Ti},exp:function(){return ji},circle:function(){return Ai},elastic:Ni,back:qi,bounce:function(){return Oi}}),gl=ru.map({"in":Se,out:_i,"in-out":Mi,"out-in":function(t){return Mi(_i(t))}});ru.ease=function(t){var e=t.indexOf("-"),n=e>=0?t.slice(0,e):t,r=e>=0?t.slice(e+1):"in";return n=dl.get(n)||pl,r=gl.get(r)||Se,wi(r(n.apply(null,iu.call(arguments,1))))},ru.interpolateHcl=Di,ru.interpolateHsl=Li,ru.interpolateLab=Fi,ru.interpolateRound=zi,ru.transform=function(t){var e=au.createElementNS(ru.ns.prefix.svg,"g");return(ru.transform=function(t){if(null!=t){e.setAttribute("transform",t);var n=e.transform.baseVal.consolidate()}return new Ri(n?n.matrix:vl)})(t)},Ri.prototype.toString=function(){return"translate("+this.translate+")rotate("+this.rotate+")skewX("+this.skew+")scale("+this.scale+")"};var vl={a:1,b:0,c:0,d:1,e:0,f:0};ru.interpolateTransform=Bi,ru.layout={},ru.layout.bundle=function(){return function(t){for(var e=[],n=-1,r=t.length;++n<r;)e.push(Ui(t[n]));return e}},ru.layout.chord=function(){function t(){var t,l,f,h,p,d={},g=[],v=ru.range(o),m=[];for(n=[],r=[],t=0,h=-1;++h<o;){for(l=0,p=-1;++p<o;)l+=i[h][p];g.push(l),m.push(ru.range(o)),t+=l}for(a&&v.sort(function(t,e){return a(g[t],g[e])}),u&&m.forEach(function(t,e){t.sort(function(t,n){return u(i[e][t],i[e][n])})}),t=(Ru-c*o)/t,l=0,h=-1;++h<o;){for(f=l,p=-1;++p<o;){var y=v[h],b=m[y][p],x=i[y][b],w=l,_=l+=x*t;d[y+"-"+b]={index:y,subindex:b,startAngle:w,endAngle:_,value:x}}r[y]={index:y,startAngle:f,endAngle:l,value:(l-f)/t},l+=c}for(h=-1;++h<o;)for(p=h-1;++p<o;){var M=d[h+"-"+p],k=d[p+"-"+h];(M.value||k.value)&&n.push(M.value<k.value?{source:k,target:M}:{source:M,target:k})}s&&e()}function e(){n.sort(function(t,e){return s((t.source.value+t.target.value)/2,(e.source.value+e.target.value)/2)})}var n,r,i,o,a,u,s,l={},c=0;return l.matrix=function(t){return arguments.length?(o=(i=t)&&i.length,n=r=null,l):i},l.padding=function(t){return arguments.length?(c=t,n=r=null,l):c},l.sortGroups=function(t){return arguments.length?(a=t,n=r=null,l):a},l.sortSubgroups=function(t){return arguments.length?(u=t,n=null,l):u},l.sortChords=function(t){return arguments.length?(s=t,n&&e(),l):s},l.chords=function(){return n||t(),n},l.groups=function(){return r||t(),r},l},ru.layout.force=function(){function t(t){return function(e,n,r,i){if(e.point!==t){var o=e.cx-t.x,a=e.cy-t.y,u=i-n,s=o*o+a*a;if(s>u*u/v){if(d>s){var l=e.charge/s;t.px-=o*l,t.py-=a*l}return!0}if(e.point&&s&&d>s){var l=e.pointCharge/s;t.px-=o*l,t.py-=a*l}}return!e.charge}}function e(t){t.px=ru.event.x,t.py=ru.event.y,u.resume()}var n,r,i,o,a,u={},s=ru.dispatch("start","tick","end"),l=[1,1],c=.9,f=ml,h=yl,p=-30,d=bl,g=.1,v=.64,m=[],y=[];return u.tick=function(){if((r*=.99)<.005)return s.end({type:"end",alpha:r=0}),!0;var e,n,u,f,h,d,v,b,x,w=m.length,_=y.length;for(n=0;_>n;++n)u=y[n],f=u.source,h=u.target,b=h.x-f.x,x=h.y-f.y,(d=b*b+x*x)&&(d=r*o[n]*((d=Math.sqrt(d))-i[n])/d,b*=d,x*=d,h.x-=b*(v=f.weight/(h.weight+f.weight)),h.y-=x*v,f.x+=b*(v=1-v),f.y+=x*v);if((v=r*g)&&(b=l[0]/2,x=l[1]/2,n=-1,v))for(;++n<w;)u=m[n],u.x+=(b-u.x)*v,u.y+=(x-u.y)*v;if(p)for(Ki(e=ru.geom.quadtree(m),r,a),n=-1;++n<w;)(u=m[n]).fixed||e.visit(t(u));for(n=-1;++n<w;)u=m[n],u.fixed?(u.x=u.px,u.y=u.py):(u.x-=(u.px-(u.px=u.x))*c,u.y-=(u.py-(u.py=u.y))*c);s.tick({type:"tick",alpha:r})},u.nodes=function(t){return arguments.length?(m=t,u):m},u.links=function(t){return arguments.length?(y=t,u):y},u.size=function(t){return arguments.length?(l=t,u):l},u.linkDistance=function(t){return arguments.length?(f="function"==typeof t?t:+t,u):f},u.distance=u.linkDistance,u.linkStrength=function(t){return arguments.length?(h="function"==typeof t?t:+t,u):h},u.friction=function(t){return arguments.length?(c=+t,u):c},u.charge=function(t){return arguments.length?(p="function"==typeof t?t:+t,u):p},u.chargeDistance=function(t){return arguments.length?(d=t*t,u):Math.sqrt(d)},u.gravity=function(t){return arguments.length?(g=+t,u):g},u.theta=function(t){return arguments.length?(v=t*t,u):Math.sqrt(v)},u.alpha=function(t){return arguments.length?(t=+t,r?r=t>0?t:0:t>0&&(s.start({type:"start",alpha:r=t}),ru.timer(u.tick)),u):r},u.start=function(){function t(t,r){if(!n){for(n=new Array(s),u=0;s>u;++u)n[u]=[];for(u=0;l>u;++u){var i=y[u];n[i.source.index].push(i.target),n[i.target.index].push(i.source)}}for(var o,a=n[e],u=-1,l=a.length;++u<l;)if(!isNaN(o=a[u][t]))return o;return Math.random()*r}var e,n,r,s=m.length,c=y.length,d=l[0],g=l[1];for(e=0;s>e;++e)(r=m[e]).index=e,r.weight=0;for(e=0;c>e;++e)r=y[e],"number"==typeof r.source&&(r.source=m[r.source]),"number"==typeof r.target&&(r.target=m[r.target]),++r.source.weight,++r.target.weight;for(e=0;s>e;++e)r=m[e],isNaN(r.x)&&(r.x=t("x",d)),isNaN(r.y)&&(r.y=t("y",g)),isNaN(r.px)&&(r.px=r.x),isNaN(r.py)&&(r.py=r.y);if(i=[],"function"==typeof f)for(e=0;c>e;++e)i[e]=+f.call(this,y[e],e);else for(e=0;c>e;++e)i[e]=f;if(o=[],"function"==typeof h)for(e=0;c>e;++e)o[e]=+h.call(this,y[e],e);else for(e=0;c>e;++e)o[e]=h;if(a=[],"function"==typeof p)for(e=0;s>e;++e)a[e]=+p.call(this,m[e],e);else for(e=0;s>e;++e)a[e]=p;return u.resume()},u.resume=function(){return u.alpha(.1)},u.stop=function(){return u.alpha(0)},u.drag=function(){return n||(n=ru.behavior.drag().origin(Se).on("dragstart.force",Xi).on("drag.force",e).on("dragend.force",Ji)),arguments.length?void this.on("mouseover.force",Zi).on("mouseout.force",Gi).call(n):n},ru.rebind(u,s,"on")};var ml=20,yl=1,bl=1/0;ru.layout.hierarchy=function(){function t(i){var o,a=[i],u=[];for(i.depth=0;null!=(o=a.pop());)if(u.push(o),(l=n.call(t,o,o.depth))&&(s=l.length)){for(var s,l,c;--s>=0;)a.push(c=l[s]),c.parent=o,c.depth=o.depth+1;r&&(o.value=0),o.children=l}else r&&(o.value=+r.call(t,o,o.depth)||0),delete o.children;return eo(i,function(t){var n,i;e&&(n=t.children)&&n.sort(e),r&&(i=t.parent)&&(i.value+=t.value)}),u}var e=io,n=no,r=ro;return t.sort=function(n){return arguments.length?(e=n,t):e},t.children=function(e){return arguments.length?(n=e,t):n},t.value=function(e){return arguments.length?(r=e,t):r},t.revalue=function(e){return r&&(to(e,function(t){t.children&&(t.value=0)}),eo(e,function(e){var n;e.children||(e.value=+r.call(t,e,e.depth)||0),(n=e.parent)&&(n.value+=e.value)})),e},t},ru.layout.partition=function(){function t(e,n,r,i){var o=e.children;if(e.x=n,e.y=e.depth*i,e.dx=r,e.dy=i,o&&(a=o.length)){var a,u,s,l=-1;for(r=e.value?r/e.value:0;++l<a;)t(u=o[l],n,s=u.value*r,i),n+=s}}function e(t){var n=t.children,r=0;if(n&&(i=n.length))for(var i,o=-1;++o<i;)r=Math.max(r,e(n[o]));return 1+r}function n(n,o){var a=r.call(this,n,o);return t(a[0],0,i[0],i[1]/e(a[0])),a}var r=ru.layout.hierarchy(),i=[1,1];return n.size=function(t){return arguments.length?(i=t,n):i},Qi(n,r)},ru.layout.pie=function(){function t(data){var a,u=data.length,s=data.map(function(n,r){return+e.call(t,n,r)}),l=+("function"==typeof r?r.apply(this,arguments):r),c=("function"==typeof i?i.apply(this,arguments):i)-l,f=Math.min(Math.abs(c)/u,+("function"==typeof o?o.apply(this,arguments):o)),h=f*(0>c?-1:1),p=(c-u*h)/ru.sum(s),d=ru.range(u),g=[];return null!=n&&d.sort(n===xl?function(t,e){return s[e]-s[t]}:function(t,e){return n(data[t],data[e])}),d.forEach(function(t){g[t]={data:data[t],value:a=s[t],startAngle:l,endAngle:l+=a*p+h,padAngle:f}}),g}var e=Number,n=xl,r=0,i=Ru,o=0;return t.value=function(n){return arguments.length?(e=n,t):e},t.sort=function(e){return arguments.length?(n=e,t):n},t.startAngle=function(e){return arguments.length?(r=e,t):r},t.endAngle=function(e){return arguments.length?(i=e,t):i},t.padAngle=function(e){return arguments.length?(o=e,t):o},t};var xl={};ru.layout.stack=function(){function t(data,u){if(!(f=data.length))return data;var s=data.map(function(n,r){return e.call(t,n,r)}),l=s.map(function(e){return e.map(function(e,n){return[o.call(t,e,n),a.call(t,e,n)]})}),c=n.call(t,l,u);s=ru.permute(s,c),l=ru.permute(l,c);var f,h,p,d,g=r.call(t,l,u),v=s[0].length;for(p=0;v>p;++p)for(i.call(t,s[0][p],d=g[p],l[0][p][1]),h=1;f>h;++h)i.call(t,s[h][p],d+=l[h-1][p][1],l[h][p][1]);return data}var e=Se,n=lo,r=co,i=so,o=ao,a=uo;return t.values=function(n){return arguments.length?(e=n,t):e},t.order=function(e){return arguments.length?(n="function"==typeof e?e:wl.get(e)||lo,t):n},t.offset=function(e){return arguments.length?(r="function"==typeof e?e:_l.get(e)||co,t):r},t.x=function(e){return arguments.length?(o=e,t):o},t.y=function(e){return arguments.length?(a=e,t):a},t.out=function(e){return arguments.length?(i=e,t):i},t};var wl=ru.map({"inside-out":function(data){var t,e,n=data.length,r=data.map(fo),i=data.map(ho),o=ru.range(n).sort(function(t,e){return r[t]-r[e]}),a=0,u=0,s=[],l=[];for(t=0;n>t;++t)e=o[t],u>a?(a+=i[e],s.push(e)):(u+=i[e],l.push(e));return l.reverse().concat(s)},reverse:function(data){return ru.range(data.length).reverse()},"default":lo}),_l=ru.map({silhouette:function(data){var t,e,n,r=data.length,i=data[0].length,o=[],a=0,u=[];for(e=0;i>e;++e){for(t=0,n=0;r>t;t++)n+=data[t][e][1];n>a&&(a=n),o.push(n)}for(e=0;i>e;++e)u[e]=(a-o[e])/2;return u},wiggle:function(data){var t,e,n,r,i,o,a,u,s,l=data.length,c=data[0],f=c.length,h=[];for(h[0]=u=s=0,e=1;f>e;++e){for(t=0,r=0;l>t;++t)r+=data[t][e][1];for(t=0,i=0,a=c[e][0]-c[e-1][0];l>t;++t){for(n=0,o=(data[t][e][1]-data[t][e-1][1])/(2*a);t>n;++n)o+=(data[n][e][1]-data[n][e-1][1])/a;i+=o*data[t][e][1]}h[e]=u-=r?i/r*a:0,s>u&&(s=u)}for(e=0;f>e;++e)h[e]-=s;return h},expand:function(data){var t,e,n,r=data.length,i=data[0].length,o=1/r,a=[];for(e=0;i>e;++e){for(t=0,n=0;r>t;t++)n+=data[t][e][1];if(n)for(t=0;r>t;t++)data[t][e][1]/=n;else for(t=0;r>t;t++)data[t][e][1]=o}for(e=0;i>e;++e)a[e]=0;return a},zero:co});ru.layout.histogram=function(){function t(data,t){for(var o,a,u=[],s=data.map(n,this),l=r.call(this,s,t),c=i.call(this,l,s,t),t=-1,f=s.length,h=c.length-1,p=e?1:1/f;++t<h;)o=u[t]=[],o.dx=c[t+1]-(o.x=c[t]),o.y=0;if(h>0)for(t=-1;++t<f;)a=s[t],a>=l[0]&&a<=l[1]&&(o=u[ru.bisect(c,a,1,h)-1],o.y+=p,o.push(data[t]));return u}var e=!0,n=Number,r=mo,i=go;return t.value=function(e){return arguments.length?(n=e,t):n},t.range=function(e){return arguments.length?(r=Ce(e),t):r},t.bins=function(e){return arguments.length?(i="number"==typeof e?function(t){return vo(t,e)}:Ce(e),t):i},t.frequency=function(n){return arguments.length?(e=!!n,t):e},t},ru.layout.pack=function(){function t(t,o){var a=n.call(this,t,o),u=a[0],s=i[0],l=i[1],c=null==e?Math.sqrt:"function"==typeof e?e:function(){return e};if(u.x=u.y=0,eo(u,function(t){t.r=+c(t.value)}),eo(u,_o),r){var f=r*(e?1:Math.max(2*u.r/s,2*u.r/l))/2;eo(u,function(t){t.r+=f}),eo(u,_o),eo(u,function(t){t.r-=f})}return Eo(u,s/2,l/2,e?1:1/Math.max(2*u.r/s,2*u.r/l)),a}var e,n=ru.layout.hierarchy().sort(yo),r=0,i=[1,1];return t.size=function(e){return arguments.length?(i=e,t):i},t.radius=function(n){return arguments.length?(e=null==n||"function"==typeof n?n:+n,t):e},t.padding=function(e){return arguments.length?(r=+e,t):r},Qi(t,n)},ru.layout.tree=function(){function t(t,i){var c=a.call(this,t,i),f=c[0],h=e(f);if(eo(h,n),h.parent.m=-h.z,to(h,r),l)to(f,o);else{var p=f,d=f,g=f;to(f,function(t){t.x<p.x&&(p=t),t.x>d.x&&(d=t),t.depth>g.depth&&(g=t)});var v=u(p,d)/2-p.x,m=s[0]/(d.x+u(d,p)/2+v),y=s[1]/(g.depth||1);to(f,function(t){t.x=(t.x+v)*m,t.y=t.depth*y})}return c}function e(t){for(var e,n={A:null,children:[t]},r=[n];null!=(e=r.pop());)for(var i,o=e.children,a=0,u=o.length;u>a;++a)r.push((o[a]=i={_:o[a],parent:e,children:(i=o[a].children)&&i.slice()||[],A:null,a:null,z:0,m:0,c:0,s:0,t:null,i:a}).a=i);return n.children[0]}function n(t){var e=t.children,n=t.parent.children,r=t.i?n[t.i-1]:null;if(e.length){No(t);var o=(e[0].z+e[e.length-1].z)/2;r?(t.z=r.z+u(t._,r._),t.m=t.z-o):t.z=o}else r&&(t.z=r.z+u(t._,r._));t.parent.A=i(t,r,t.parent.A||n[0])}function r(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function i(t,e,n){if(e){for(var r,i=t,o=t,a=e,s=i.parent.children[0],l=i.m,c=o.m,f=a.m,h=s.m;a=jo(a),i=To(i),a&&i;)s=To(s),o=jo(o),o.a=t,r=a.z+f-i.z-l+u(a._,i._),r>0&&(Ao(qo(a,t,n),t,r),l+=r,c+=r),f+=a.m,l+=i.m,h+=s.m,c+=o.m;a&&!jo(o)&&(o.t=a,o.m+=f-c),i&&!To(s)&&(s.t=i,s.m+=l-h,n=t)}return n}function o(t){t.x*=s[0],t.y=t.depth*s[1]}var a=ru.layout.hierarchy().sort(null).value(null),u=So,s=[1,1],l=null;return t.separation=function(e){return arguments.length?(u=e,t):u},t.size=function(e){return arguments.length?(l=null==(s=e)?o:null,t):l?null:s},t.nodeSize=function(e){return arguments.length?(l=null==(s=e)?null:o,t):l?s:null},Qi(t,a)},ru.layout.cluster=function(){function t(t,o){var a,u=e.call(this,t,o),s=u[0],l=0;eo(s,function(t){var e=t.children;e&&e.length?(t.x=Do(e),t.y=Oo(e)):(t.x=a?l+=n(t,a):0,t.y=0,a=t)});var c=Lo(s),f=Fo(s),h=c.x-n(c,f)/2,p=f.x+n(f,c)/2;return eo(s,i?function(t){t.x=(t.x-s.x)*r[0],t.y=(s.y-t.y)*r[1]}:function(t){t.x=(t.x-h)/(p-h)*r[0],t.y=(1-(s.y?t.y/s.y:1))*r[1]}),u}var e=ru.layout.hierarchy().sort(null).value(null),n=So,r=[1,1],i=!1;return t.separation=function(e){return arguments.length?(n=e,t):n},t.size=function(e){return arguments.length?(i=null==(r=e),t):i?null:r},t.nodeSize=function(e){return arguments.length?(i=null!=(r=e),t):i?r:null},Qi(t,e)},ru.layout.treemap=function(){function t(t,e){for(var n,r,i=-1,o=t.length;++i<o;)r=(n=t[i]).value*(0>e?0:e),n.area=isNaN(r)||0>=r?0:r}function e(n){var o=n.children;if(o&&o.length){var a,u,s,l=f(n),c=[],h=o.slice(),d=1/0,g="slice"===p?l.dx:"dice"===p?l.dy:"slice-dice"===p?1&n.depth?l.dy:l.dx:Math.min(l.dx,l.dy);for(t(h,l.dx*l.dy/n.value),c.area=0;(s=h.length)>0;)c.push(a=h[s-1]),c.area+=a.area,"squarify"!==p||(u=r(c,g))<=d?(h.pop(),d=u):(c.area-=c.pop().area,i(c,g,l,!1),g=Math.min(l.dx,l.dy),c.length=c.area=0,d=1/0);c.length&&(i(c,g,l,!0),c.length=c.area=0),o.forEach(e)}}function n(e){var r=e.children;if(r&&r.length){var o,a=f(e),u=r.slice(),s=[];for(t(u,a.dx*a.dy/e.value),s.area=0;o=u.pop();)s.push(o),s.area+=o.area,null!=o.z&&(i(s,o.z?a.dx:a.dy,a,!u.length),s.length=s.area=0);r.forEach(n)}}function r(t,e){for(var n,r=t.area,i=0,o=1/0,a=-1,u=t.length;++a<u;)(n=t[a].area)&&(o>n&&(o=n),n>i&&(i=n));return r*=r,e*=e,r?Math.max(e*i*d/r,r/(e*o*d)):1/0}function i(t,e,n,r){var i,o=-1,a=t.length,u=n.x,l=n.y,c=e?s(t.area/e):0;if(e==n.dx){for((r||c>n.dy)&&(c=n.dy);++o<a;)i=t[o],i.x=u,i.y=l,i.dy=c,u+=i.dx=Math.min(n.x+n.dx-u,c?s(i.area/c):0);i.z=!0,i.dx+=n.x+n.dx-u,n.y+=c,n.dy-=c}else{for((r||c>n.dx)&&(c=n.dx);++o<a;)i=t[o],i.x=u,i.y=l,i.dx=c,l+=i.dy=Math.min(n.y+n.dy-l,c?s(i.area/c):0);i.z=!1,i.dy+=n.y+n.dy-l,n.x+=c,n.dx-=c}}function o(r){var i=a||u(r),o=i[0];return o.x=0,o.y=0,o.dx=l[0],o.dy=l[1],a&&u.revalue(o),t([o],o.dx*o.dy/o.value),(a?n:e)(o),h&&(a=i),i}var a,u=ru.layout.hierarchy(),s=Math.round,l=[1,1],c=null,f=zo,h=!1,p="squarify",d=.5*(1+Math.sqrt(5));return o.size=function(t){return arguments.length?(l=t,o):l},o.padding=function(t){function e(e){var n=t.call(o,e,e.depth);return null==n?zo(e):Ro(e,"number"==typeof n?[n,n,n,n]:n)}function n(e){return Ro(e,t)}if(!arguments.length)return c;var r;return f=null==(c=t)?zo:"function"==(r=typeof t)?e:"number"===r?(t=[t,t,t,t],n):n,o},o.round=function(t){return arguments.length?(s=t?Math.round:Number,o):s!=Number},o.sticky=function(t){return arguments.length?(h=t,a=null,o):h},o.ratio=function(t){return arguments.length?(d=t,o):d},o.mode=function(t){return arguments.length?(p=t+"",o):p},Qi(o,u)},ru.random={normal:function(t,e){var n=arguments.length;return 2>n&&(e=1),1>n&&(t=0),function(){var n,r,i;do n=2*Math.random()-1,r=2*Math.random()-1,i=n*n+r*r;while(!i||i>1);return t+e*n*Math.sqrt(-2*Math.log(i)/i)}},logNormal:function(){var t=ru.random.normal.apply(ru,arguments);return function(){return Math.exp(t())}},bates:function(t){var e=ru.random.irwinHall(t);return function(){return e()/t}},irwinHall:function(t){return function(){for(var e=0,n=0;t>n;n++)e+=Math.random();return e}}},ru.scale={};var Ml={floor:Se,ceil:Se};ru.scale.linear=function(){return Uo([0,1],[0,1],bi,!1)};var kl={s:1,g:1,p:1,r:1,e:1};ru.scale.log=function(){return Qo(ru.scale.linear().domain([0,1]),10,!0,[1,10])};var El=ru.format(".0e"),Cl={floor:function(t){return-Math.ceil(-t)},ceil:function(t){return-Math.floor(-t)}};ru.scale.pow=function(){return ta(ru.scale.linear(),1,[0,1])},ru.scale.sqrt=function(){return ru.scale.pow().exponent(.5)},ru.scale.ordinal=function(){return na([],{t:"range",a:[[]]})},ru.scale.category10=function(){return ru.scale.ordinal().range(Sl)},ru.scale.category20=function(){return ru.scale.ordinal().range(Tl)},ru.scale.category20b=function(){return ru.scale.ordinal().range(jl)},ru.scale.category20c=function(){return ru.scale.ordinal().range(Al)};var Sl=[2062260,16744206,2924588,14034728,9725885,9197131,14907330,8355711,12369186,1556175].map(be),Tl=[2062260,11454440,16744206,16759672,2924588,10018698,14034728,16750742,9725885,12955861,9197131,12885140,14907330,16234194,8355711,13092807,12369186,14408589,1556175,10410725].map(be),jl=[3750777,5395619,7040719,10264286,6519097,9216594,11915115,13556636,9202993,12426809,15186514,15190932,8666169,11356490,14049643,15177372,8077683,10834324,13528509,14589654].map(be),Al=[3244733,7057110,10406625,13032431,15095053,16616764,16625259,16634018,3253076,7652470,10607003,13101504,7695281,10394312,12369372,14342891,6513507,9868950,12434877,14277081].map(be);ru.scale.quantile=function(){return ra([],[])},ru.scale.quantize=function(){return ia(0,1,[0,1])},ru.scale.threshold=function(){return oa([.5],[0,1])},ru.scale.identity=function(){return aa([0,1])},ru.svg={},ru.svg.arc=function(){function t(){var t=Math.max(0,+n.apply(this,arguments)),l=Math.max(0,+r.apply(this,arguments)),c=a.apply(this,arguments)-Iu,f=u.apply(this,arguments)-Iu,h=Math.abs(f-c),p=c>f?0:1;if(t>l&&(d=l,l=t,t=d),h>=Pu)return e(l,p)+(t?e(t,1-p):"")+"Z";var d,g,v,m,y,b,x,w,_,M,k,E,C=0,S=0,T=[];if((m=(+s.apply(this,arguments)||0)/2)&&(v=o===Nl?Math.sqrt(t*t+l*l):+o.apply(this,arguments),p||(S*=-1),l&&(S=ee(v/l*Math.sin(m))),t&&(C=ee(v/t*Math.sin(m)))),l){y=l*Math.cos(c+S),b=l*Math.sin(c+S),x=l*Math.cos(f-S),w=l*Math.sin(f-S);var j=Math.abs(f-c-2*S)<=zu?0:1;if(S&&pa(y,b,x,w)===p^j){var A=(c+f)/2;y=l*Math.cos(A),b=l*Math.sin(A),x=w=null}}else y=b=0;if(t){_=t*Math.cos(f-C),M=t*Math.sin(f-C),k=t*Math.cos(c+C),E=t*Math.sin(c+C);var N=Math.abs(c-f+2*C)<=zu?0:1;if(C&&pa(_,M,k,E)===1-p^N){var q=(c+f)/2;_=t*Math.cos(q),M=t*Math.sin(q),k=E=null}}else _=M=0;if((d=Math.min(Math.abs(l-t)/2,+i.apply(this,arguments)))>.001){g=l>t^p?0:1;var O=null==k?[_,M]:null==x?[y,b]:Dr([y,b],[k,E],[x,w],[_,M]),D=y-O[0],L=b-O[1],F=x-O[0],z=w-O[1],R=1/Math.sin(Math.acos((D*F+L*z)/(Math.sqrt(D*D+L*L)*Math.sqrt(F*F+z*z)))/2),P=Math.sqrt(O[0]*O[0]+O[1]*O[1]);if(null!=x){var I=Math.min(d,(l-P)/(R+1)),H=da(null==k?[_,M]:[k,E],[y,b],l,I,p),B=da([x,w],[_,M],l,I,p);d===I?T.push("M",H[0],"A",I,",",I," 0 0,",g," ",H[1],"A",l,",",l," 0 ",1-p^pa(H[1][0],H[1][1],B[1][0],B[1][1]),",",p," ",B[1],"A",I,",",I," 0 0,",g," ",B[0]):T.push("M",H[0],"A",I,",",I," 0 1,",g," ",B[0])}else T.push("M",y,",",b);if(null!=k){var $=Math.min(d,(t-P)/(R-1)),V=da([y,b],[k,E],t,-$,p),U=da([_,M],null==x?[y,b]:[x,w],t,-$,p);d===$?T.push("L",U[0],"A",$,",",$," 0 0,",g," ",U[1],"A",t,",",t," 0 ",p^pa(U[1][0],U[1][1],V[1][0],V[1][1]),",",1-p," ",V[1],"A",$,",",$," 0 0,",g," ",V[0]):T.push("L",U[0],"A",$,",",$," 0 0,",g," ",V[0])}else T.push("L",_,",",M)}else T.push("M",y,",",b),null!=x&&T.push("A",l,",",l," 0 ",j,",",p," ",x,",",w),T.push("L",_,",",M),null!=k&&T.push("A",t,",",t," 0 ",N,",",1-p," ",k,",",E);return T.push("Z"),T.join("")}function e(t,e){return"M0,"+t+"A"+t+","+t+" 0 1,"+e+" 0,"+-t+"A"+t+","+t+" 0 1,"+e+" 0,"+t}var n=sa,r=la,i=ua,o=Nl,a=ca,u=fa,s=ha;return t.innerRadius=function(e){return arguments.length?(n=Ce(e),t):n},t.outerRadius=function(e){return arguments.length?(r=Ce(e),t):r},t.cornerRadius=function(e){return arguments.length?(i=Ce(e),t):i},t.padRadius=function(e){return arguments.length?(o=e==Nl?Nl:Ce(e),t):o},t.startAngle=function(e){return arguments.length?(a=Ce(e),t):a},t.endAngle=function(e){return arguments.length?(u=Ce(e),t):u},t.padAngle=function(e){return arguments.length?(s=Ce(e),t):s},t.centroid=function(){var t=(+n.apply(this,arguments)+ +r.apply(this,arguments))/2,e=(+a.apply(this,arguments)+ +u.apply(this,arguments))/2-Iu;return[Math.cos(e)*t,Math.sin(e)*t]},t};var Nl="auto";ru.svg.line=function(){return ga(Se)};var ql=ru.map({linear:va,"linear-closed":ma,step:ya,"step-before":ba,"step-after":xa,basis:Ca,"basis-open":Sa,"basis-closed":Ta,bundle:ja,cardinal:Ma,"cardinal-open":wa,"cardinal-closed":_a,monotone:La});ql.forEach(function(t,e){e.key=t,e.closed=/-closed$/.test(t)});var Ol=[0,2/3,1/3,0],Dl=[0,1/3,2/3,0],Ll=[0,1/6,2/3,1/6];ru.svg.line.radial=function(){var t=ga(Fa);return t.radius=t.x,delete t.x,t.angle=t.y,delete t.y,t},ba.reverse=xa,xa.reverse=ba,ru.svg.area=function(){return za(Se)},ru.svg.area.radial=function(){var t=za(Fa);return t.radius=t.x,delete t.x,t.innerRadius=t.x0,delete t.x0,t.outerRadius=t.x1,delete t.x1,t.angle=t.y,delete t.y,t.startAngle=t.y0,delete t.y0,t.endAngle=t.y1,delete t.y1,t},ru.svg.chord=function(){function t(t,u){var s=e(this,o,t,u),l=e(this,a,t,u);return"M"+s.p0+r(s.r,s.p1,s.a1-s.a0)+(n(s,l)?i(s.r,s.p1,s.r,s.p0):i(s.r,s.p1,l.r,l.p0)+r(l.r,l.p1,l.a1-l.a0)+i(l.r,l.p1,s.r,s.p0))+"Z"}function e(t,e,n,r){var i=e.call(t,n,r),o=u.call(t,i,r),a=s.call(t,i,r)-Iu,c=l.call(t,i,r)-Iu;return{r:o,a0:a,a1:c,p0:[o*Math.cos(a),o*Math.sin(a)],p1:[o*Math.cos(c),o*Math.sin(c)]}}function n(t,e){return t.a0==e.a0&&t.a1==e.a1}function r(t,e,n){return"A"+t+","+t+" 0 "+ +(n>zu)+",1 "+e}function i(t,e,n,r){return"Q 0,0 "+r}var o=br,a=xr,u=Ra,s=ca,l=fa;return t.radius=function(e){return arguments.length?(u=Ce(e),t):u
-},t.source=function(e){return arguments.length?(o=Ce(e),t):o},t.target=function(e){return arguments.length?(a=Ce(e),t):a},t.startAngle=function(e){return arguments.length?(s=Ce(e),t):s},t.endAngle=function(e){return arguments.length?(l=Ce(e),t):l},t},ru.svg.diagonal=function(){function t(t,i){var o=e.call(this,t,i),a=n.call(this,t,i),u=(o.y+a.y)/2,s=[o,{x:o.x,y:u},{x:a.x,y:u},a];return s=s.map(r),"M"+s[0]+"C"+s[1]+" "+s[2]+" "+s[3]}var e=br,n=xr,r=Pa;return t.source=function(n){return arguments.length?(e=Ce(n),t):e},t.target=function(e){return arguments.length?(n=Ce(e),t):n},t.projection=function(e){return arguments.length?(r=e,t):r},t},ru.svg.diagonal.radial=function(){var t=ru.svg.diagonal(),e=Pa,n=t.projection;return t.projection=function(t){return arguments.length?n(Ia(e=t)):e},t},ru.svg.symbol=function(){function t(t,r){return(Fl.get(e.call(this,t,r))||$a)(n.call(this,t,r))}var e=Ba,n=Ha;return t.type=function(n){return arguments.length?(e=Ce(n),t):e},t.size=function(e){return arguments.length?(n=Ce(e),t):n},t};var Fl=ru.map({circle:$a,cross:function(t){var e=Math.sqrt(t/5)/2;return"M"+-3*e+","+-e+"H"+-e+"V"+-3*e+"H"+e+"V"+-e+"H"+3*e+"V"+e+"H"+e+"V"+3*e+"H"+-e+"V"+e+"H"+-3*e+"Z"},diamond:function(t){var e=Math.sqrt(t/(2*Rl)),n=e*Rl;return"M0,"+-e+"L"+n+",0 0,"+e+" "+-n+",0Z"},square:function(t){var e=Math.sqrt(t)/2;return"M"+-e+","+-e+"L"+e+","+-e+" "+e+","+e+" "+-e+","+e+"Z"},"triangle-down":function(t){var e=Math.sqrt(t/zl),n=e*zl/2;return"M0,"+n+"L"+e+","+-n+" "+-e+","+-n+"Z"},"triangle-up":function(t){var e=Math.sqrt(t/zl),n=e*zl/2;return"M0,"+-n+"L"+e+","+n+" "+-e+","+n+"Z"}});ru.svg.symbolTypes=Fl.keys();var zl=Math.sqrt(3),Rl=Math.tan(30*Hu);Su.transition=function(t){for(var e,n,r=Pl||++$l,i=Xa(t),o=[],a=Il||{time:Date.now(),ease:Ci,delay:0,duration:250},u=-1,s=this.length;++u<s;){o.push(e=[]);for(var l=this[u],c=-1,f=l.length;++c<f;)(n=l[c])&&Ja(n,c,i,r,a),e.push(n)}return Ua(o,i,r)},Su.interrupt=function(t){return this.each(null==t?Hl:Va(Xa(t)))};var Pl,Il,Hl=Va(Xa()),Bl=[],$l=0;Bl.call=Su.call,Bl.empty=Su.empty,Bl.node=Su.node,Bl.size=Su.size,ru.transition=function(t,e){return t&&t.transition?Pl?t.transition(e):t:Au.transition(t)},ru.transition.prototype=Bl,Bl.select=function(t){var e,n,r,i=this.id,o=this.namespace,a=[];t=C(t);for(var u=-1,s=this.length;++u<s;){a.push(e=[]);for(var l=this[u],c=-1,f=l.length;++c<f;)(r=l[c])&&(n=t.call(r,r.__data__,c,u))?("__data__"in r&&(n.__data__=r.__data__),Ja(n,c,o,i,r[o][i]),e.push(n)):e.push(null)}return Ua(a,o,i)},Bl.selectAll=function(t){var e,n,r,i,o,a=this.id,u=this.namespace,s=[];t=S(t);for(var l=-1,c=this.length;++l<c;)for(var f=this[l],h=-1,p=f.length;++h<p;)if(r=f[h]){o=r[u][a],n=t.call(r,r.__data__,h,l),s.push(e=[]);for(var d=-1,g=n.length;++d<g;)(i=n[d])&&Ja(i,d,u,a,o),e.push(i)}return Ua(s,u,a)},Bl.filter=function(t){var e,n,r,i=[];"function"!=typeof t&&(t=P(t));for(var o=0,a=this.length;a>o;o++){i.push(e=[]);for(var n=this[o],u=0,s=n.length;s>u;u++)(r=n[u])&&t.call(r,r.__data__,u,o)&&e.push(r)}return Ua(i,this.namespace,this.id)},Bl.tween=function(t,e){var n=this.id,r=this.namespace;return arguments.length<2?this.node()[r][n].tween.get(t):H(this,null==e?function(e){e[r][n].tween.remove(t)}:function(i){i[r][n].tween.set(t,e)})},Bl.attr=function(t,e){function n(){this.removeAttribute(u)}function r(){this.removeAttributeNS(u.space,u.local)}function i(t){return null==t?n:(t+="",function(){var e,n=this.getAttribute(u);return n!==t&&(e=a(n,t),function(t){this.setAttribute(u,e(t))})})}function o(t){return null==t?r:(t+="",function(){var e,n=this.getAttributeNS(u.space,u.local);return n!==t&&(e=a(n,t),function(t){this.setAttributeNS(u.space,u.local,e(t))})})}if(arguments.length<2){for(e in t)this.attr(e,t[e]);return this}var a="transform"==t?Bi:bi,u=ru.ns.qualify(t);return Wa(this,"attr."+t,e,u.local?o:i)},Bl.attrTween=function(t,e){function n(t,n){var r=e.call(this,t,n,this.getAttribute(i));return r&&function(t){this.setAttribute(i,r(t))}}function r(t,n){var r=e.call(this,t,n,this.getAttributeNS(i.space,i.local));return r&&function(t){this.setAttributeNS(i.space,i.local,r(t))}}var i=ru.ns.qualify(t);return this.tween("attr."+t,i.local?r:n)},Bl.style=function(t,e,n){function r(){this.style.removeProperty(t)}function i(e){return null==e?r:(e+="",function(){var r,i=su.getComputedStyle(this,null).getPropertyValue(t);return i!==e&&(r=bi(i,e),function(e){this.style.setProperty(t,r(e),n)})})}var o=arguments.length;if(3>o){if("string"!=typeof t){2>o&&(e="");for(n in t)this.style(n,t[n],e);return this}n=""}return Wa(this,"style."+t,e,i)},Bl.styleTween=function(t,e,n){function r(r,i){var o=e.call(this,r,i,su.getComputedStyle(this,null).getPropertyValue(t));return o&&function(e){this.style.setProperty(t,o(e),n)}}return arguments.length<3&&(n=""),this.tween("style."+t,r)},Bl.text=function(t){return Wa(this,"text",t,Ya)},Bl.remove=function(){var t=this.namespace;return this.each("end.transition",function(){var e;this[t].count<2&&(e=this.parentNode)&&e.removeChild(this)})},Bl.ease=function(t){var e=this.id,n=this.namespace;return arguments.length<1?this.node()[n][e].ease:("function"!=typeof t&&(t=ru.ease.apply(ru,arguments)),H(this,function(r){r[n][e].ease=t}))},Bl.delay=function(t){var e=this.id,n=this.namespace;return arguments.length<1?this.node()[n][e].delay:H(this,"function"==typeof t?function(r,i,o){r[n][e].delay=+t.call(r,r.__data__,i,o)}:(t=+t,function(r){r[n][e].delay=t}))},Bl.duration=function(t){var e=this.id,n=this.namespace;return arguments.length<1?this.node()[n][e].duration:H(this,"function"==typeof t?function(r,i,o){r[n][e].duration=Math.max(1,t.call(r,r.__data__,i,o))}:(t=Math.max(1,t),function(r){r[n][e].duration=t}))},Bl.each=function(t,e){var n=this.id,r=this.namespace;if(arguments.length<2){var i=Il,o=Pl;try{Pl=n,H(this,function(e,i,o){Il=e[r][n],t.call(e,e.__data__,i,o)})}finally{Il=i,Pl=o}}else H(this,function(i){var o=i[r][n];(o.event||(o.event=ru.dispatch("start","end","interrupt"))).on(t,e)});return this},Bl.transition=function(){for(var t,e,n,r,i=this.id,o=++$l,a=this.namespace,u=[],s=0,l=this.length;l>s;s++){u.push(t=[]);for(var e=this[s],c=0,f=e.length;f>c;c++)(n=e[c])&&(r=n[a][i],Ja(n,c,a,o,{time:r.time,ease:r.ease,delay:r.delay+r.duration,duration:r.duration})),t.push(n)}return Ua(u,a,o)},ru.svg.axis=function(){function t(t){t.each(function(){var t,l=ru.select(this),c=this.__chart__||n,f=this.__chart__=n.copy(),h=null==s?f.ticks?f.ticks.apply(f,u):f.domain():s,p=null==e?f.tickFormat?f.tickFormat.apply(f,u):Se:e,d=l.selectAll(".tick").data(h,f),g=d.enter().insert("g",".domain").attr("class","tick").style("opacity",Lu),v=ru.transition(d.exit()).style("opacity",Lu).remove(),m=ru.transition(d.order()).style("opacity",1),y=Math.max(i,0)+a,b=Io(f),x=l.selectAll(".domain").data([0]),w=(x.enter().append("path").attr("class","domain"),ru.transition(x));g.append("line"),g.append("text");var _,M,k,E,C=g.select("line"),S=m.select("line"),T=d.select("text").text(p),j=g.select("text"),A=m.select("text"),N="top"===r||"left"===r?-1:1;if("bottom"===r||"top"===r?(t=Za,_="x",k="y",M="x2",E="y2",T.attr("dy",0>N?"0em":".71em").style("text-anchor","middle"),w.attr("d","M"+b[0]+","+N*o+"V0H"+b[1]+"V"+N*o)):(t=Ga,_="y",k="x",M="y2",E="x2",T.attr("dy",".32em").style("text-anchor",0>N?"end":"start"),w.attr("d","M"+N*o+","+b[0]+"H0V"+b[1]+"H"+N*o)),C.attr(E,N*i),j.attr(k,N*y),S.attr(M,0).attr(E,N*i),A.attr(_,0).attr(k,N*y),f.rangeBand){var q=f,O=q.rangeBand()/2;c=f=function(t){return q(t)+O}}else c.rangeBand?c=f:v.call(t,f,c);g.call(t,c,f),m.call(t,f,f)})}var e,n=ru.scale.linear(),r=Vl,i=6,o=6,a=3,u=[10],s=null;return t.scale=function(e){return arguments.length?(n=e,t):n},t.orient=function(e){return arguments.length?(r=e in Ul?e+"":Vl,t):r},t.ticks=function(){return arguments.length?(u=arguments,t):u},t.tickValues=function(e){return arguments.length?(s=e,t):s},t.tickFormat=function(n){return arguments.length?(e=n,t):e},t.tickSize=function(e){var n=arguments.length;return n?(i=+e,o=+arguments[n-1],t):i},t.innerTickSize=function(e){return arguments.length?(i=+e,t):i},t.outerTickSize=function(e){return arguments.length?(o=+e,t):o},t.tickPadding=function(e){return arguments.length?(a=+e,t):a},t.tickSubdivide=function(){return arguments.length&&t},t};var Vl="bottom",Ul={top:1,right:1,bottom:1,left:1};ru.svg.brush=function(){function t(o){o.each(function(){var o=ru.select(this).style("pointer-events","all").style("-webkit-tap-highlight-color","rgba(0,0,0,0)").on("mousedown.brush",i).on("touchstart.brush",i),a=o.selectAll(".background").data([0]);a.enter().append("rect").attr("class","background").style("visibility","hidden").style("cursor","crosshair"),o.selectAll(".extent").data([0]).enter().append("rect").attr("class","extent").style("cursor","move");var u=o.selectAll(".resize").data(d,Se);u.exit().remove(),u.enter().append("g").attr("class",function(t){return"resize "+t}).style("cursor",function(t){return Wl[t]}).append("rect").attr("x",function(t){return/[ew]$/.test(t)?-3:null}).attr("y",function(t){return/^[ns]/.test(t)?-3:null}).attr("width",6).attr("height",6).style("visibility","hidden"),u.style("display",t.empty()?"none":null);var c,f=ru.transition(o),h=ru.transition(a);s&&(c=Io(s),h.attr("x",c[0]).attr("width",c[1]-c[0]),n(f)),l&&(c=Io(l),h.attr("y",c[0]).attr("height",c[1]-c[0]),r(f)),e(f)})}function e(t){t.selectAll(".resize").attr("transform",function(t){return"translate("+c[+/e$/.test(t)]+","+f[+/^s/.test(t)]+")"})}function n(t){t.select(".extent").attr("x",c[0]),t.selectAll(".extent,.n>rect,.s>rect").attr("width",c[1]-c[0])}function r(t){t.select(".extent").attr("y",f[0]),t.selectAll(".extent,.e>rect,.w>rect").attr("height",f[1]-f[0])}function i(){function i(){32==ru.event.keyCode&&(T||(y=null,A[0]-=c[1],A[1]-=f[1],T=2),_())}function d(){32==ru.event.keyCode&&2==T&&(A[0]+=c[1],A[1]+=f[1],T=0,_())}function g(){var t=ru.mouse(x),i=!1;b&&(t[0]+=b[0],t[1]+=b[1]),T||(ru.event.altKey?(y||(y=[(c[0]+c[1])/2,(f[0]+f[1])/2]),A[0]=c[+(t[0]<y[0])],A[1]=f[+(t[1]<y[1])]):y=null),C&&v(t,s,0)&&(n(k),i=!0),S&&v(t,l,1)&&(r(k),i=!0),i&&(e(k),M({type:"brush",mode:T?"move":"resize"}))}function v(t,e,n){var r,i,u=Io(e),s=u[0],l=u[1],d=A[n],g=n?f:c,v=g[1]-g[0];return T&&(s-=d,l-=v+d),r=(n?p:h)?Math.max(s,Math.min(l,t[n])):t[n],T?i=(r+=d)+v:(y&&(d=Math.max(s,Math.min(l,2*y[n]-r))),r>d?(i=r,r=d):i=d),g[0]!=r||g[1]!=i?(n?a=null:o=null,g[0]=r,g[1]=i,!0):void 0}function m(){g(),k.style("pointer-events","all").selectAll(".resize").style("display",t.empty()?"none":null),ru.select("body").style("cursor",null),N.on("mousemove.brush",null).on("mouseup.brush",null).on("touchmove.brush",null).on("touchend.brush",null).on("keydown.brush",null).on("keyup.brush",null),j(),M({type:"brushend"})}var y,b,x=this,w=ru.select(ru.event.target),M=u.of(x,arguments),k=ru.select(x),E=w.datum(),C=!/^(n|s)$/.test(E)&&s,S=!/^(e|w)$/.test(E)&&l,T=w.classed("extent"),j=Y(),A=ru.mouse(x),N=ru.select(su).on("keydown.brush",i).on("keyup.brush",d);if(ru.event.changedTouches?N.on("touchmove.brush",g).on("touchend.brush",m):N.on("mousemove.brush",g).on("mouseup.brush",m),k.interrupt().selectAll("*").interrupt(),T)A[0]=c[0]-A[0],A[1]=f[0]-A[1];else if(E){var q=+/w$/.test(E),O=+/^n/.test(E);b=[c[1-q]-A[0],f[1-O]-A[1]],A[0]=c[q],A[1]=f[O]}else ru.event.altKey&&(y=A.slice());k.style("pointer-events","none").selectAll(".resize").style("display",null),ru.select("body").style("cursor",w.style("cursor")),M({type:"brushstart"}),g()}var o,a,u=k(t,"brushstart","brush","brushend"),s=null,l=null,c=[0,0],f=[0,0],h=!0,p=!0,d=Yl[0];return t.event=function(t){t.each(function(){var t=u.of(this,arguments),e={x:c,y:f,i:o,j:a},n=this.__chart__||e;this.__chart__=e,Pl?ru.select(this).transition().each("start.brush",function(){o=n.i,a=n.j,c=n.x,f=n.y,t({type:"brushstart"})}).tween("brush:brush",function(){var n=xi(c,e.x),r=xi(f,e.y);return o=a=null,function(i){c=e.x=n(i),f=e.y=r(i),t({type:"brush",mode:"resize"})}}).each("end.brush",function(){o=e.i,a=e.j,t({type:"brush",mode:"resize"}),t({type:"brushend"})}):(t({type:"brushstart"}),t({type:"brush",mode:"resize"}),t({type:"brushend"}))})},t.x=function(e){return arguments.length?(s=e,d=Yl[!s<<1|!l],t):s},t.y=function(e){return arguments.length?(l=e,d=Yl[!s<<1|!l],t):l},t.clamp=function(e){return arguments.length?(s&&l?(h=!!e[0],p=!!e[1]):s?h=!!e:l&&(p=!!e),t):s&&l?[h,p]:s?h:l?p:null},t.extent=function(e){var n,r,i,u,h;return arguments.length?(s&&(n=e[0],r=e[1],l&&(n=n[0],r=r[0]),o=[n,r],s.invert&&(n=s(n),r=s(r)),n>r&&(h=n,n=r,r=h),(n!=c[0]||r!=c[1])&&(c=[n,r])),l&&(i=e[0],u=e[1],s&&(i=i[1],u=u[1]),a=[i,u],l.invert&&(i=l(i),u=l(u)),i>u&&(h=i,i=u,u=h),(i!=f[0]||u!=f[1])&&(f=[i,u])),t):(s&&(o?(n=o[0],r=o[1]):(n=c[0],r=c[1],s.invert&&(n=s.invert(n),r=s.invert(r)),n>r&&(h=n,n=r,r=h))),l&&(a?(i=a[0],u=a[1]):(i=f[0],u=f[1],l.invert&&(i=l.invert(i),u=l.invert(u)),i>u&&(h=i,i=u,u=h))),s&&l?[[n,i],[r,u]]:s?[n,r]:l&&[i,u])},t.clear=function(){return t.empty()||(c=[0,0],f=[0,0],o=a=null),t},t.empty=function(){return!!s&&c[0]==c[1]||!!l&&f[0]==f[1]},ru.rebind(t,u,"on")};var Wl={n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},Yl=[["n","e","s","w","nw","ne","se","sw"],["e","w"],["n","s"],[]],Xl=ps.format=bs.timeFormat,Jl=Xl.utc,Zl=Jl("%Y-%m-%dT%H:%M:%S.%LZ");Xl.iso=Date.prototype.toISOString&&+new Date("2000-01-01T00:00:00.000Z")?Ka:Zl,Ka.parse=function(t){var e=new Date(t);return isNaN(e)?null:e},Ka.toString=Zl.toString,ps.second=Ie(function(t){return new ds(1e3*Math.floor(t/1e3))},function(t,e){t.setTime(t.getTime()+1e3*Math.floor(e))},function(t){return t.getSeconds()}),ps.seconds=ps.second.range,ps.seconds.utc=ps.second.utc.range,ps.minute=Ie(function(t){return new ds(6e4*Math.floor(t/6e4))},function(t,e){t.setTime(t.getTime()+6e4*Math.floor(e))},function(t){return t.getMinutes()}),ps.minutes=ps.minute.range,ps.minutes.utc=ps.minute.utc.range,ps.hour=Ie(function(t){var e=t.getTimezoneOffset()/60;return new ds(36e5*(Math.floor(t/36e5-e)+e))},function(t,e){t.setTime(t.getTime()+36e5*Math.floor(e))},function(t){return t.getHours()}),ps.hours=ps.hour.range,ps.hours.utc=ps.hour.utc.range,ps.month=Ie(function(t){return t=ps.day(t),t.setDate(1),t},function(t,e){t.setMonth(t.getMonth()+e)},function(t){return t.getMonth()}),ps.months=ps.month.range,ps.months.utc=ps.month.utc.range;var Gl=[1e3,5e3,15e3,3e4,6e4,3e5,9e5,18e5,36e5,108e5,216e5,432e5,864e5,1728e5,6048e5,2592e6,7776e6,31536e6],Kl=[[ps.second,1],[ps.second,5],[ps.second,15],[ps.second,30],[ps.minute,1],[ps.minute,5],[ps.minute,15],[ps.minute,30],[ps.hour,1],[ps.hour,3],[ps.hour,6],[ps.hour,12],[ps.day,1],[ps.day,2],[ps.week,1],[ps.month,1],[ps.month,3],[ps.year,1]],Ql=Xl.multi([[".%L",function(t){return t.getMilliseconds()}],[":%S",function(t){return t.getSeconds()}],["%I:%M",function(t){return t.getMinutes()}],["%I %p",function(t){return t.getHours()}],["%a %d",function(t){return t.getDay()&&1!=t.getDate()}],["%b %d",function(t){return 1!=t.getDate()}],["%B",function(t){return t.getMonth()}],["%Y",An]]),tc={range:function(t,e,n){return ru.range(Math.ceil(t/n)*n,+e,n).map(tu)},floor:Se,ceil:Se};Kl.year=ps.year,ps.scale=function(){return Qa(ru.scale.linear(),Kl,Ql)};var ec=Kl.map(function(t){return[t[0].utc,t[1]]}),nc=Jl.multi([[".%L",function(t){return t.getUTCMilliseconds()}],[":%S",function(t){return t.getUTCSeconds()}],["%I:%M",function(t){return t.getUTCMinutes()}],["%I %p",function(t){return t.getUTCHours()}],["%a %d",function(t){return t.getUTCDay()&&1!=t.getUTCDate()}],["%b %d",function(t){return 1!=t.getUTCDate()}],["%B",function(t){return t.getUTCMonth()}],["%Y",An]]);ec.year=ps.year.utc,ps.scale.utc=function(){return Qa(ru.scale.linear(),ec,nc)},ru.text=Te(function(t){return t.responseText}),ru.json=function(t,e){return je(t,"application/json",eu,e)},ru.html=function(t,e){return je(t,"text/html",nu,e)},ru.xml=Te(function(t){return t.responseXML}),"function"==typeof define&&define.amd?define(ru):"object"==typeof e&&e.exports&&(e.exports=ru),this.d3=ru}()},{}],54:[function(t,e,n){function r(){return"WebkitAppearance"in document.documentElement.style||window.console&&(console.firebug||console.exception&&console.table)||navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31}function i(){var t=arguments,e=this.useColors;if(t[0]=(e?"%c":"")+this.namespace+(e?" %c":" ")+t[0]+(e?"%c ":" ")+"+"+n.humanize(this.diff),!e)return t;var r="color: "+this.color;t=[t[0],r,"color: inherit"].concat(Array.prototype.slice.call(t,1));var i=0,o=0;return t[0].replace(/%[a-z%]/g,function(t){"%%"!==t&&(i++,"%c"===t&&(o=i))}),t.splice(o,0,r),t}function o(){return"object"==typeof console&&console.log&&Function.prototype.apply.call(console.log,console,arguments)}function a(t){try{null==t?s.removeItem("debug"):s.debug=t}catch(e){}}function u(){var t;try{t=s.debug}catch(e){}return t}n=e.exports=t("./debug"),n.log=o,n.formatArgs=i,n.save=a,n.load=u,n.useColors=r;var s;s="undefined"!=typeof chrome&&"undefined"!=typeof chrome.storage?chrome.storage.local:window.localStorage,n.colors=["lightseagreen","forestgreen","goldenrod","dodgerblue","darkorchid","crimson"],n.formatters.j=function(t){return JSON.stringify(t)},n.enable(u())},{"./debug":55}],55:[function(t,e,n){function r(){return n.colors[c++%n.colors.length]}function i(t){function e(){}function i(){var t=i,e=+new Date,o=e-(l||e);t.diff=o,t.prev=l,t.curr=e,l=e,null==t.useColors&&(t.useColors=n.useColors()),null==t.color&&t.useColors&&(t.color=r());var a=Array.prototype.slice.call(arguments);a[0]=n.coerce(a[0]),"string"!=typeof a[0]&&(a=["%o"].concat(a));var u=0;a[0]=a[0].replace(/%([a-z%])/g,function(e,r){if("%%"===e)return e;u++;var i=n.formatters[r];if("function"==typeof i){var o=a[u];e=i.call(t,o),a.splice(u,1),u--}return e}),"function"==typeof n.formatArgs&&(a=n.formatArgs.apply(t,a));var s=i.log||n.log||console.log.bind(console);s.apply(t,a)}e.enabled=!1,i.enabled=!0;var o=n.enabled(t)?i:e;return o.namespace=t,o}function o(t){n.save(t);for(var e=(t||"").split(/[\s,]+/),r=e.length,i=0;r>i;i++)e[i]&&(t=e[i].replace(/\*/g,".*?"),"-"===t[0]?n.skips.push(new RegExp("^"+t.substr(1)+"$")):n.names.push(new RegExp("^"+t+"$")))}function a(){n.enable("")}function u(t){var e,r;for(e=0,r=n.skips.length;r>e;e++)if(n.skips[e].test(t))return!1;for(e=0,r=n.names.length;r>e;e++)if(n.names[e].test(t))return!0;return!1}function s(t){return t instanceof Error?t.stack||t.message:t}n=e.exports=i,n.coerce=s,n.disable=a,n.enable=o,n.enabled=u,n.humanize=t("ms"),n.names=[],n.skips=[],n.formatters={};var l,c=0},{ms:56}],56:[function(t,e){function n(t){var e=/^((?:\d+)?\.?\d+) *(ms|seconds?|s|minutes?|m|hours?|h|days?|d|years?|y)?$/i.exec(t);if(e){var n=parseFloat(e[1]),r=(e[2]||"ms").toLowerCase();switch(r){case"years":case"year":case"y":return n*c;case"days":case"day":case"d":return n*l;case"hours":case"hour":case"h":return n*s;case"minutes":case"minute":case"m":return n*u;case"seconds":case"second":case"s":return n*a;case"ms":return n}}}function r(t){return t>=l?Math.round(t/l)+"d":t>=s?Math.round(t/s)+"h":t>=u?Math.round(t/u)+"m":t>=a?Math.round(t/a)+"s":t+"ms"}function i(t){return o(t,l,"day")||o(t,s,"hour")||o(t,u,"minute")||o(t,a,"second")||t+" ms"}function o(t,e,n){return e>t?void 0:1.5*e>t?Math.floor(t/e)+" "+n:Math.ceil(t/e)+" "+n+"s"}var a=1e3,u=60*a,s=60*u,l=24*s,c=365.25*l;e.exports=function(t,e){return e=e||{},"string"==typeof t?n(t):e["long"]?i(t):r(t)}},{}],57:[function(t,e,n){(function(r){!function(t){if("object"==typeof n&&"undefined"!=typeof e)e.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var i;"undefined"!=typeof window?i=window:"undefined"!=typeof r?i=r:"undefined"!=typeof self&&(i=self),i.jade=t()}}(function(){return function e(n,r,i){function o(u,s){if(!r[u]){if(!n[u]){var l="function"==typeof t&&t;if(!s&&l)return l(u,!0);if(a)return a(u,!0);var c=new Error("Cannot find module '"+u+"'");throw c.code="MODULE_NOT_FOUND",c}var f=r[u]={exports:{}};n[u][0].call(f.exports,function(t){var e=n[u][1][t];return o(e?e:t)},f,f.exports,e,n,r,i)}return r[u].exports}for(var a="function"==typeof t&&t,u=0;u<i.length;u++)o(i[u]);return o}({1:[function(t,e,n){"use strict";function r(t){return null!=t&&""!==t}function i(t){return(Array.isArray(t)?t.map(i):t&&"object"==typeof t?Object.keys(t).filter(function(e){return t[e]}):[t]).filter(r).join(" ")}n.merge=function o(t,e){if(1===arguments.length){for(var n=t[0],i=1;i<t.length;i++)n=o(n,t[i]);return n}var a=t["class"],u=e["class"];(a||u)&&(a=a||[],u=u||[],Array.isArray(a)||(a=[a]),Array.isArray(u)||(u=[u]),t["class"]=a.concat(u).filter(r));for(var s in e)"class"!=s&&(t[s]=e[s]);return t},n.joinClasses=i,n.cls=function(t,e){for(var r=[],o=0;o<t.length;o++)r.push(e&&e[o]?n.escape(i([t[o]])):i(t[o]));var a=i(r);return a.length?' class="'+a+'"':""},n.style=function(t){return t&&"object"==typeof t?Object.keys(t).map(function(e){return e+":"+t[e]}).join(";"):t},n.attr=function(t,e,r,i){return"style"===t&&(e=n.style(e)),"boolean"==typeof e||null==e?e?" "+(i?t:t+'="'+t+'"'):"":0==t.indexOf("data")&&"string"!=typeof e?(-1!==JSON.stringify(e).indexOf("&")&&console.warn("Since Jade 2.0.0, ampersands (`&`) in data attributes will be escaped to `&amp;`"),e&&"function"==typeof e.toISOString&&console.warn("Jade will eliminate the double quotes around dates in ISO form after 2.0.0")," "+t+"='"+JSON.stringify(e).replace(/'/g,"&apos;")+"'"):r?(e&&"function"==typeof e.toISOString&&console.warn("Jade will stringify dates in ISO form after 2.0.0")," "+t+'="'+n.escape(e)+'"'):(e&&"function"==typeof e.toISOString&&console.warn("Jade will stringify dates in ISO form after 2.0.0")," "+t+'="'+e+'"')},n.attrs=function(t,e){var r=[],o=Object.keys(t);if(o.length)for(var a=0;a<o.length;++a){var u=o[a],s=t[u];"class"==u?(s=i(s))&&r.push(" "+u+'="'+s+'"'):r.push(n.attr(u,s,!1,e))}return r.join("")},n.escape=function(t){var e=String(t).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;");return e===""+t?t:e},n.rethrow=function a(e,n,r,i){if(!(e instanceof Error))throw e;if(!("undefined"==typeof window&&n||i))throw e.message+=" on line "+r,e;try{i=i||t("fs").readFileSync(n,"utf8")}catch(o){a(e,null,r)}var u=3,s=i.split("\n"),l=Math.max(r-u,0),c=Math.min(s.length,r+u),u=s.slice(l,c).map(function(t,e){var n=e+l+1;return(n==r?" > ":" ")+n+"| "+t}).join("\n");throw e.path=n,e.message=(n||"Jade")+":"+r+"\n"+u+"\n\n"+e.message,e}},{fs:2}],2:[function(){},{}]},{},[1])(1)})}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{fs:52}],58:[function(t,e){!function(t,n){"object"==typeof e&&"object"==typeof e.exports?e.exports=t.document?n(t,!0):function(t){if(!t.document)throw new Error("jQuery requires a window with a document");return n(t)}:n(t)}("undefined"!=typeof window?window:this,function(t,e){function n(t){var e=t.length,n=Q.type(t);return"function"===n||Q.isWindow(t)?!1:1===t.nodeType&&e?!0:"array"===n||0===e||"number"==typeof e&&e>0&&e-1 in t}function r(t,e,n){if(Q.isFunction(e))return Q.grep(t,function(t,r){return!!e.call(t,r,t)!==n});if(e.nodeType)return Q.grep(t,function(t){return t===e!==n});if("string"==typeof e){if(ue.test(e))return Q.filter(e,t,n);e=Q.filter(e,t)}return Q.grep(t,function(t){return W.call(e,t)>=0!==n})}function i(t,e){for(;(t=t[e])&&1!==t.nodeType;);return t}function o(t){var e=de[t]={};return Q.each(t.match(pe)||[],function(t,n){e[n]=!0}),e}function a(){G.removeEventListener("DOMContentLoaded",a,!1),t.removeEventListener("load",a,!1),Q.ready()}function u(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=Q.expando+u.uid++}function s(t,e,data){var n;if(void 0===data&&1===t.nodeType)if(n="data-"+e.replace(xe,"-$1").toLowerCase(),data=t.getAttribute(n),"string"==typeof data){try{data="true"===data?!0:"false"===data?!1:"null"===data?null:+data+""===data?+data:be.test(data)?Q.parseJSON(data):data}catch(r){}ye.set(t,e,data)}else data=void 0;return data}function l(){return!0}function c(){return!1}function f(){try{return G.activeElement}catch(t){}}function h(t,e){return Q.nodeName(t,"table")&&Q.nodeName(11!==e.nodeType?e:e.firstChild,"tr")?t.getElementsByTagName("tbody")[0]||t.appendChild(t.ownerDocument.createElement("tbody")):t}function p(t){return t.type=(null!==t.getAttribute("type"))+"/"+t.type,t}function d(t){var e=Fe.exec(t.type);return e?t.type=e[1]:t.removeAttribute("type"),t}function g(t,e){for(var n=0,r=t.length;r>n;n++)me.set(t[n],"globalEval",!e||me.get(e[n],"globalEval"))}function v(t,e){var n,r,i,o,a,u,s,l;if(1===e.nodeType){if(me.hasData(t)&&(o=me.access(t),a=me.set(e,o),l=o.events)){delete a.handle,a.events={};for(i in l)for(n=0,r=l[i].length;r>n;n++)Q.event.add(e,i,l[i][n])}ye.hasData(t)&&(u=ye.access(t),s=Q.extend({},u),ye.set(e,s))}}function m(t,e){var n=t.getElementsByTagName?t.getElementsByTagName(e||"*"):t.querySelectorAll?t.querySelectorAll(e||"*"):[];return void 0===e||e&&Q.nodeName(t,e)?Q.merge([t],n):n}function y(t,e){var n=e.nodeName.toLowerCase();"input"===n&&ke.test(t.type)?e.checked=t.checked:("input"===n||"textarea"===n)&&(e.defaultValue=t.defaultValue)}function b(e,n){var r,i=Q(n.createElement(e)).appendTo(n.body),o=t.getDefaultComputedStyle&&(r=t.getDefaultComputedStyle(i[0]))?r.display:Q.css(i[0],"display");return i.detach(),o}function x(t){var e=G,n=Ie[t];return n||(n=b(t,e),"none"!==n&&n||(Pe=(Pe||Q("<iframe frameborder='0' width='0' height='0'/>")).appendTo(e.documentElement),e=Pe[0].contentDocument,e.write(),e.close(),n=b(t,e),Pe.detach()),Ie[t]=n),n}function w(t,e,n){var r,i,o,a,u=t.style;return n=n||$e(t),n&&(a=n.getPropertyValue(e)||n[e]),n&&(""!==a||Q.contains(t.ownerDocument,t)||(a=Q.style(t,e)),Be.test(a)&&He.test(e)&&(r=u.width,i=u.minWidth,o=u.maxWidth,u.minWidth=u.maxWidth=u.width=a,a=n.width,u.width=r,u.minWidth=i,u.maxWidth=o)),void 0!==a?a+"":a}function _(t,e){return{get:function(){return t()?void delete this.get:(this.get=e).apply(this,arguments)}}}function M(t,e){if(e in t)return e;for(var n=e[0].toUpperCase()+e.slice(1),r=e,i=Je.length;i--;)if(e=Je[i]+n,e in t)return e;return r}function k(t,e,n){var r=Ue.exec(e);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):e}function E(t,e,n,r,i){for(var o=n===(r?"border":"content")?4:"width"===e?1:0,a=0;4>o;o+=2)"margin"===n&&(a+=Q.css(t,n+_e[o],!0,i)),r?("content"===n&&(a-=Q.css(t,"padding"+_e[o],!0,i)),"margin"!==n&&(a-=Q.css(t,"border"+_e[o]+"Width",!0,i))):(a+=Q.css(t,"padding"+_e[o],!0,i),"padding"!==n&&(a+=Q.css(t,"border"+_e[o]+"Width",!0,i)));return a}function C(t,e,n){var r=!0,i="width"===e?t.offsetWidth:t.offsetHeight,o=$e(t),a="border-box"===Q.css(t,"boxSizing",!1,o);if(0>=i||null==i){if(i=w(t,e,o),(0>i||null==i)&&(i=t.style[e]),Be.test(i))return i;r=a&&(Z.boxSizingReliable()||i===t.style[e]),i=parseFloat(i)||0}return i+E(t,e,n||(a?"border":"content"),r,o)+"px"}function S(t,e){for(var n,r,i,o=[],a=0,u=t.length;u>a;a++)r=t[a],r.style&&(o[a]=me.get(r,"olddisplay"),n=r.style.display,e?(o[a]||"none"!==n||(r.style.display=""),""===r.style.display&&Me(r)&&(o[a]=me.access(r,"olddisplay",x(r.nodeName)))):(i=Me(r),"none"===n&&i||me.set(r,"olddisplay",i?n:Q.css(r,"display"))));for(a=0;u>a;a++)r=t[a],r.style&&(e&&"none"!==r.style.display&&""!==r.style.display||(r.style.display=e?o[a]||"":"none"));return t}function T(t,e,n,r,i){return new T.prototype.init(t,e,n,r,i)}function j(){return setTimeout(function(){Ze=void 0}),Ze=Q.now()}function A(t,e){var n,r=0,i={height:t};for(e=e?1:0;4>r;r+=2-e)n=_e[r],i["margin"+n]=i["padding"+n]=t;return e&&(i.opacity=i.width=t),i}function N(t,e,n){for(var r,i=(nn[e]||[]).concat(nn["*"]),o=0,a=i.length;a>o;o++)if(r=i[o].call(n,e,t))return r}function q(t,e,n){var r,i,o,a,u,s,l,c,f=this,h={},p=t.style,d=t.nodeType&&Me(t),g=me.get(t,"fxshow");n.queue||(u=Q._queueHooks(t,"fx"),null==u.unqueued&&(u.unqueued=0,s=u.empty.fire,u.empty.fire=function(){u.unqueued||s()}),u.unqueued++,f.always(function(){f.always(function(){u.unqueued--,Q.queue(t,"fx").length||u.empty.fire()})})),1===t.nodeType&&("height"in e||"width"in e)&&(n.overflow=[p.overflow,p.overflowX,p.overflowY],l=Q.css(t,"display"),c="none"===l?me.get(t,"olddisplay")||x(t.nodeName):l,"inline"===c&&"none"===Q.css(t,"float")&&(p.display="inline-block")),n.overflow&&(p.overflow="hidden",f.always(function(){p.overflow=n.overflow[0],p.overflowX=n.overflow[1],p.overflowY=n.overflow[2]}));for(r in e)if(i=e[r],Ke.exec(i)){if(delete e[r],o=o||"toggle"===i,i===(d?"hide":"show")){if("show"!==i||!g||void 0===g[r])continue;d=!0}h[r]=g&&g[r]||Q.style(t,r)}else l=void 0;if(Q.isEmptyObject(h))"inline"===("none"===l?x(t.nodeName):l)&&(p.display=l);else{g?"hidden"in g&&(d=g.hidden):g=me.access(t,"fxshow",{}),o&&(g.hidden=!d),d?Q(t).show():f.done(function(){Q(t).hide()}),f.done(function(){var e;me.remove(t,"fxshow");for(e in h)Q.style(t,e,h[e])});for(r in h)a=N(d?g[r]:0,r,f),r in g||(g[r]=a.start,d&&(a.end=a.start,a.start="width"===r||"height"===r?1:0))}}function O(t,e){var n,r,i,o,a;for(n in t)if(r=Q.camelCase(n),i=e[r],o=t[n],Q.isArray(o)&&(i=o[1],o=t[n]=o[0]),n!==r&&(t[r]=o,delete t[n]),a=Q.cssHooks[r],a&&"expand"in a){o=a.expand(o),delete t[r];for(n in o)n in t||(t[n]=o[n],e[n]=i)}else e[r]=i}function D(t,e,n){var r,i,o=0,a=en.length,u=Q.Deferred().always(function(){delete s.elem}),s=function(){if(i)return!1;for(var e=Ze||j(),n=Math.max(0,l.startTime+l.duration-e),r=n/l.duration||0,o=1-r,a=0,s=l.tweens.length;s>a;a++)l.tweens[a].run(o);return u.notifyWith(t,[l,o,n]),1>o&&s?n:(u.resolveWith(t,[l]),!1)},l=u.promise({elem:t,props:Q.extend({},e),opts:Q.extend(!0,{specialEasing:{}},n),originalProperties:e,originalOptions:n,startTime:Ze||j(),duration:n.duration,tweens:[],createTween:function(e,n){var r=Q.Tween(t,l.opts,e,n,l.opts.specialEasing[e]||l.opts.easing);return l.tweens.push(r),r},stop:function(e){var n=0,r=e?l.tweens.length:0;if(i)return this;for(i=!0;r>n;n++)l.tweens[n].run(1);return e?u.resolveWith(t,[l,e]):u.rejectWith(t,[l,e]),this}}),c=l.props;for(O(c,l.opts.specialEasing);a>o;o++)if(r=en[o].call(l,t,c,l.opts))return r;return Q.map(c,N,l),Q.isFunction(l.opts.start)&&l.opts.start.call(t,l),Q.fx.timer(Q.extend(s,{elem:t,anim:l,queue:l.opts.queue})),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always)}function L(t){return function(e,n){"string"!=typeof e&&(n=e,e="*");var r,i=0,o=e.toLowerCase().match(pe)||[];if(Q.isFunction(n))for(;r=o[i++];)"+"===r[0]?(r=r.slice(1)||"*",(t[r]=t[r]||[]).unshift(n)):(t[r]=t[r]||[]).push(n)}}function F(t,e,n,r){function i(u){var s;return o[u]=!0,Q.each(t[u]||[],function(t,u){var l=u(e,n,r);return"string"!=typeof l||a||o[l]?a?!(s=l):void 0:(e.dataTypes.unshift(l),i(l),!1)}),s}var o={},a=t===xn;return i(e.dataTypes[0])||!o["*"]&&i("*")}function z(t,e){var n,r,i=Q.ajaxSettings.flatOptions||{};for(n in e)void 0!==e[n]&&((i[n]?t:r||(r={}))[n]=e[n]);return r&&Q.extend(!0,t,r),t}function R(t,e,n){for(var r,i,o,a,u=t.contents,s=t.dataTypes;"*"===s[0];)s.shift(),void 0===r&&(r=t.mimeType||e.getResponseHeader("Content-Type"));if(r)for(i in u)if(u[i]&&u[i].test(r)){s.unshift(i);break}if(s[0]in n)o=s[0];else{for(i in n){if(!s[0]||t.converters[i+" "+s[0]]){o=i;break}a||(a=i)}o=o||a}return o?(o!==s[0]&&s.unshift(o),n[o]):void 0}function P(t,e,n,r){var i,o,a,u,s,l={},c=t.dataTypes.slice();if(c[1])for(a in t.converters)l[a.toLowerCase()]=t.converters[a];for(o=c.shift();o;)if(t.responseFields[o]&&(n[t.responseFields[o]]=e),!s&&r&&t.dataFilter&&(e=t.dataFilter(e,t.dataType)),s=o,o=c.shift())if("*"===o)o=s;else if("*"!==s&&s!==o){if(a=l[s+" "+o]||l["* "+o],!a)for(i in l)if(u=i.split(" "),u[1]===o&&(a=l[s+" "+u[0]]||l["* "+u[0]])){a===!0?a=l[i]:l[i]!==!0&&(o=u[0],c.unshift(u[1]));break}if(a!==!0)if(a&&t["throws"])e=a(e);else try{e=a(e)}catch(f){return{state:"parsererror",error:a?f:"No conversion from "+s+" to "+o}}}return{state:"success",data:e}}function I(t,e,n,r){var i;if(Q.isArray(e))Q.each(e,function(e,i){n||En.test(t)?r(t,i):I(t+"["+("object"==typeof i?e:"")+"]",i,n,r)});else if(n||"object"!==Q.type(e))r(t,e);
-else for(i in e)I(t+"["+i+"]",e[i],n,r)}function H(t){return Q.isWindow(t)?t:9===t.nodeType&&t.defaultView}var B=[],$=B.slice,V=B.concat,U=B.push,W=B.indexOf,Y={},X=Y.toString,J=Y.hasOwnProperty,Z={},G=t.document,K="2.1.3",Q=function(t,e){return new Q.fn.init(t,e)},te=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,ee=/^-ms-/,ne=/-([\da-z])/gi,re=function(t,e){return e.toUpperCase()};Q.fn=Q.prototype={jquery:K,constructor:Q,selector:"",length:0,toArray:function(){return $.call(this)},get:function(t){return null!=t?0>t?this[t+this.length]:this[t]:$.call(this)},pushStack:function(t){var e=Q.merge(this.constructor(),t);return e.prevObject=this,e.context=this.context,e},each:function(t,e){return Q.each(this,t,e)},map:function(t){return this.pushStack(Q.map(this,function(e,n){return t.call(e,n,e)}))},slice:function(){return this.pushStack($.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(t){var e=this.length,n=+t+(0>t?e:0);return this.pushStack(n>=0&&e>n?[this[n]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:U,sort:B.sort,splice:B.splice},Q.extend=Q.fn.extend=function(){var t,e,n,r,i,o,a=arguments[0]||{},u=1,s=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[u]||{},u++),"object"==typeof a||Q.isFunction(a)||(a={}),u===s&&(a=this,u--);s>u;u++)if(null!=(t=arguments[u]))for(e in t)n=a[e],r=t[e],a!==r&&(l&&r&&(Q.isPlainObject(r)||(i=Q.isArray(r)))?(i?(i=!1,o=n&&Q.isArray(n)?n:[]):o=n&&Q.isPlainObject(n)?n:{},a[e]=Q.extend(l,o,r)):void 0!==r&&(a[e]=r));return a},Q.extend({expando:"jQuery"+(K+Math.random()).replace(/\D/g,""),isReady:!0,error:function(t){throw new Error(t)},noop:function(){},isFunction:function(t){return"function"===Q.type(t)},isArray:Array.isArray,isWindow:function(t){return null!=t&&t===t.window},isNumeric:function(t){return!Q.isArray(t)&&t-parseFloat(t)+1>=0},isPlainObject:function(t){return"object"!==Q.type(t)||t.nodeType||Q.isWindow(t)?!1:t.constructor&&!J.call(t.constructor.prototype,"isPrototypeOf")?!1:!0},isEmptyObject:function(t){var e;for(e in t)return!1;return!0},type:function(t){return null==t?t+"":"object"==typeof t||"function"==typeof t?Y[X.call(t)]||"object":typeof t},globalEval:function(t){var e,n=eval;t=Q.trim(t),t&&(1===t.indexOf("use strict")?(e=G.createElement("script"),e.text=t,G.head.appendChild(e).parentNode.removeChild(e)):n(t))},camelCase:function(t){return t.replace(ee,"ms-").replace(ne,re)},nodeName:function(t,e){return t.nodeName&&t.nodeName.toLowerCase()===e.toLowerCase()},each:function(t,e,r){var i,o=0,a=t.length,u=n(t);if(r){if(u)for(;a>o&&(i=e.apply(t[o],r),i!==!1);o++);else for(o in t)if(i=e.apply(t[o],r),i===!1)break}else if(u)for(;a>o&&(i=e.call(t[o],o,t[o]),i!==!1);o++);else for(o in t)if(i=e.call(t[o],o,t[o]),i===!1)break;return t},trim:function(t){return null==t?"":(t+"").replace(te,"")},makeArray:function(t,e){var r=e||[];return null!=t&&(n(Object(t))?Q.merge(r,"string"==typeof t?[t]:t):U.call(r,t)),r},inArray:function(t,e,n){return null==e?-1:W.call(e,t,n)},merge:function(t,e){for(var n=+e.length,r=0,i=t.length;n>r;r++)t[i++]=e[r];return t.length=i,t},grep:function(t,e,n){for(var r,i=[],o=0,a=t.length,u=!n;a>o;o++)r=!e(t[o],o),r!==u&&i.push(t[o]);return i},map:function(t,e,r){var i,o=0,a=t.length,u=n(t),s=[];if(u)for(;a>o;o++)i=e(t[o],o,r),null!=i&&s.push(i);else for(o in t)i=e(t[o],o,r),null!=i&&s.push(i);return V.apply([],s)},guid:1,proxy:function(t,e){var n,r,i;return"string"==typeof e&&(n=t[e],e=t,t=n),Q.isFunction(t)?(r=$.call(arguments,2),i=function(){return t.apply(e||this,r.concat($.call(arguments)))},i.guid=t.guid=t.guid||Q.guid++,i):void 0},now:Date.now,support:Z}),Q.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(t,e){Y["[object "+e+"]"]=e.toLowerCase()});var ie=function(t){function e(t,e,n,r){var i,o,a,u,s,l,f,p,d,g;if((e?e.ownerDocument||e:I)!==q&&N(e),e=e||q,n=n||[],u=e.nodeType,"string"!=typeof t||!t||1!==u&&9!==u&&11!==u)return n;if(!r&&D){if(11!==u&&(i=ye.exec(t)))if(a=i[1]){if(9===u){if(o=e.getElementById(a),!o||!o.parentNode)return n;if(o.id===a)return n.push(o),n}else if(e.ownerDocument&&(o=e.ownerDocument.getElementById(a))&&R(e,o)&&o.id===a)return n.push(o),n}else{if(i[2])return K.apply(n,e.getElementsByTagName(t)),n;if((a=i[3])&&w.getElementsByClassName)return K.apply(n,e.getElementsByClassName(a)),n}if(w.qsa&&(!L||!L.test(t))){if(p=f=P,d=e,g=1!==u&&t,1===u&&"object"!==e.nodeName.toLowerCase()){for(l=E(t),(f=e.getAttribute("id"))?p=f.replace(xe,"\\$&"):e.setAttribute("id",p),p="[id='"+p+"'] ",s=l.length;s--;)l[s]=p+h(l[s]);d=be.test(t)&&c(e.parentNode)||e,g=l.join(",")}if(g)try{return K.apply(n,d.querySelectorAll(g)),n}catch(v){}finally{f||e.removeAttribute("id")}}}return S(t.replace(se,"$1"),e,n,r)}function n(){function t(n,r){return e.push(n+" ")>_.cacheLength&&delete t[e.shift()],t[n+" "]=r}var e=[];return t}function r(t){return t[P]=!0,t}function i(t){var e=q.createElement("div");try{return!!t(e)}catch(n){return!1}finally{e.parentNode&&e.parentNode.removeChild(e),e=null}}function o(t,e){for(var n=t.split("|"),r=t.length;r--;)_.attrHandle[n[r]]=e}function a(t,e){var n=e&&t,r=n&&1===t.nodeType&&1===e.nodeType&&(~e.sourceIndex||Y)-(~t.sourceIndex||Y);if(r)return r;if(n)for(;n=n.nextSibling;)if(n===e)return-1;return t?1:-1}function u(t){return function(e){var n=e.nodeName.toLowerCase();return"input"===n&&e.type===t}}function s(t){return function(e){var n=e.nodeName.toLowerCase();return("input"===n||"button"===n)&&e.type===t}}function l(t){return r(function(e){return e=+e,r(function(n,r){for(var i,o=t([],n.length,e),a=o.length;a--;)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}function c(t){return t&&"undefined"!=typeof t.getElementsByTagName&&t}function f(){}function h(t){for(var e=0,n=t.length,r="";n>e;e++)r+=t[e].value;return r}function p(t,e,n){var r=e.dir,i=n&&"parentNode"===r,o=B++;return e.first?function(e,n,o){for(;e=e[r];)if(1===e.nodeType||i)return t(e,n,o)}:function(e,n,a){var u,s,l=[H,o];if(a){for(;e=e[r];)if((1===e.nodeType||i)&&t(e,n,a))return!0}else for(;e=e[r];)if(1===e.nodeType||i){if(s=e[P]||(e[P]={}),(u=s[r])&&u[0]===H&&u[1]===o)return l[2]=u[2];if(s[r]=l,l[2]=t(e,n,a))return!0}}}function d(t){return t.length>1?function(e,n,r){for(var i=t.length;i--;)if(!t[i](e,n,r))return!1;return!0}:t[0]}function g(t,n,r){for(var i=0,o=n.length;o>i;i++)e(t,n[i],r);return r}function v(t,e,n,r,i){for(var o,a=[],u=0,s=t.length,l=null!=e;s>u;u++)(o=t[u])&&(!n||n(o,r,i))&&(a.push(o),l&&e.push(u));return a}function m(t,e,n,i,o,a){return i&&!i[P]&&(i=m(i)),o&&!o[P]&&(o=m(o,a)),r(function(r,a,u,s){var l,c,f,h=[],p=[],d=a.length,m=r||g(e||"*",u.nodeType?[u]:u,[]),y=!t||!r&&e?m:v(m,h,t,u,s),b=n?o||(r?t:d||i)?[]:a:y;if(n&&n(y,b,u,s),i)for(l=v(b,p),i(l,[],u,s),c=l.length;c--;)(f=l[c])&&(b[p[c]]=!(y[p[c]]=f));if(r){if(o||t){if(o){for(l=[],c=b.length;c--;)(f=b[c])&&l.push(y[c]=f);o(null,b=[],l,s)}for(c=b.length;c--;)(f=b[c])&&(l=o?te(r,f):h[c])>-1&&(r[l]=!(a[l]=f))}}else b=v(b===a?b.splice(d,b.length):b),o?o(null,a,b,s):K.apply(a,b)})}function y(t){for(var e,n,r,i=t.length,o=_.relative[t[0].type],a=o||_.relative[" "],u=o?1:0,s=p(function(t){return t===e},a,!0),l=p(function(t){return te(e,t)>-1},a,!0),c=[function(t,n,r){var i=!o&&(r||n!==T)||((e=n).nodeType?s(t,n,r):l(t,n,r));return e=null,i}];i>u;u++)if(n=_.relative[t[u].type])c=[p(d(c),n)];else{if(n=_.filter[t[u].type].apply(null,t[u].matches),n[P]){for(r=++u;i>r&&!_.relative[t[r].type];r++);return m(u>1&&d(c),u>1&&h(t.slice(0,u-1).concat({value:" "===t[u-2].type?"*":""})).replace(se,"$1"),n,r>u&&y(t.slice(u,r)),i>r&&y(t=t.slice(r)),i>r&&h(t))}c.push(n)}return d(c)}function b(t,n){var i=n.length>0,o=t.length>0,a=function(r,a,u,s,l){var c,f,h,p=0,d="0",g=r&&[],m=[],y=T,b=r||o&&_.find.TAG("*",l),x=H+=null==y?1:Math.random()||.1,w=b.length;for(l&&(T=a!==q&&a);d!==w&&null!=(c=b[d]);d++){if(o&&c){for(f=0;h=t[f++];)if(h(c,a,u)){s.push(c);break}l&&(H=x)}i&&((c=!h&&c)&&p--,r&&g.push(c))}if(p+=d,i&&d!==p){for(f=0;h=n[f++];)h(g,m,a,u);if(r){if(p>0)for(;d--;)g[d]||m[d]||(m[d]=Z.call(s));m=v(m)}K.apply(s,m),l&&!r&&m.length>0&&p+n.length>1&&e.uniqueSort(s)}return l&&(H=x,T=y),g};return i?r(a):a}var x,w,_,M,k,E,C,S,T,j,A,N,q,O,D,L,F,z,R,P="sizzle"+1*new Date,I=t.document,H=0,B=0,$=n(),V=n(),U=n(),W=function(t,e){return t===e&&(A=!0),0},Y=1<<31,X={}.hasOwnProperty,J=[],Z=J.pop,G=J.push,K=J.push,Q=J.slice,te=function(t,e){for(var n=0,r=t.length;r>n;n++)if(t[n]===e)return n;return-1},ee="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",ne="[\\x20\\t\\r\\n\\f]",re="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",ie=re.replace("w","w#"),oe="\\["+ne+"*("+re+")(?:"+ne+"*([*^$|!~]?=)"+ne+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+ie+"))|)"+ne+"*\\]",ae=":("+re+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+oe+")*)|.*)\\)|)",ue=new RegExp(ne+"+","g"),se=new RegExp("^"+ne+"+|((?:^|[^\\\\])(?:\\\\.)*)"+ne+"+$","g"),le=new RegExp("^"+ne+"*,"+ne+"*"),ce=new RegExp("^"+ne+"*([>+~]|"+ne+")"+ne+"*"),fe=new RegExp("="+ne+"*([^\\]'\"]*?)"+ne+"*\\]","g"),he=new RegExp(ae),pe=new RegExp("^"+ie+"$"),de={ID:new RegExp("^#("+re+")"),CLASS:new RegExp("^\\.("+re+")"),TAG:new RegExp("^("+re.replace("w","w*")+")"),ATTR:new RegExp("^"+oe),PSEUDO:new RegExp("^"+ae),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+ne+"*(even|odd|(([+-]|)(\\d*)n|)"+ne+"*(?:([+-]|)"+ne+"*(\\d+)|))"+ne+"*\\)|)","i"),bool:new RegExp("^(?:"+ee+")$","i"),needsContext:new RegExp("^"+ne+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+ne+"*((?:-\\d)?\\d*)"+ne+"*\\)|)(?=[^-]|$)","i")},ge=/^(?:input|select|textarea|button)$/i,ve=/^h\d$/i,me=/^[^{]+\{\s*\[native \w/,ye=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,be=/[+~]/,xe=/'|\\/g,we=new RegExp("\\\\([\\da-f]{1,6}"+ne+"?|("+ne+")|.)","ig"),_e=function(t,e,n){var r="0x"+e-65536;return r!==r||n?e:0>r?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},Me=function(){N()};try{K.apply(J=Q.call(I.childNodes),I.childNodes),J[I.childNodes.length].nodeType}catch(ke){K={apply:J.length?function(t,e){G.apply(t,Q.call(e))}:function(t,e){for(var n=t.length,r=0;t[n++]=e[r++];);t.length=n-1}}}w=e.support={},k=e.isXML=function(t){var e=t&&(t.ownerDocument||t).documentElement;return e?"HTML"!==e.nodeName:!1},N=e.setDocument=function(t){var e,n,r=t?t.ownerDocument||t:I;return r!==q&&9===r.nodeType&&r.documentElement?(q=r,O=r.documentElement,n=r.defaultView,n&&n!==n.top&&(n.addEventListener?n.addEventListener("unload",Me,!1):n.attachEvent&&n.attachEvent("onunload",Me)),D=!k(r),w.attributes=i(function(t){return t.className="i",!t.getAttribute("className")}),w.getElementsByTagName=i(function(t){return t.appendChild(r.createComment("")),!t.getElementsByTagName("*").length}),w.getElementsByClassName=me.test(r.getElementsByClassName),w.getById=i(function(t){return O.appendChild(t).id=P,!r.getElementsByName||!r.getElementsByName(P).length}),w.getById?(_.find.ID=function(t,e){if("undefined"!=typeof e.getElementById&&D){var n=e.getElementById(t);return n&&n.parentNode?[n]:[]}},_.filter.ID=function(t){var e=t.replace(we,_e);return function(t){return t.getAttribute("id")===e}}):(delete _.find.ID,_.filter.ID=function(t){var e=t.replace(we,_e);return function(t){var n="undefined"!=typeof t.getAttributeNode&&t.getAttributeNode("id");return n&&n.value===e}}),_.find.TAG=w.getElementsByTagName?function(t,e){return"undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t):w.qsa?e.querySelectorAll(t):void 0}:function(t,e){var n,r=[],i=0,o=e.getElementsByTagName(t);if("*"===t){for(;n=o[i++];)1===n.nodeType&&r.push(n);return r}return o},_.find.CLASS=w.getElementsByClassName&&function(t,e){return D?e.getElementsByClassName(t):void 0},F=[],L=[],(w.qsa=me.test(r.querySelectorAll))&&(i(function(t){O.appendChild(t).innerHTML="<a id='"+P+"'></a><select id='"+P+"-\f]' msallowcapture=''><option selected=''></option></select>",t.querySelectorAll("[msallowcapture^='']").length&&L.push("[*^$]="+ne+"*(?:''|\"\")"),t.querySelectorAll("[selected]").length||L.push("\\["+ne+"*(?:value|"+ee+")"),t.querySelectorAll("[id~="+P+"-]").length||L.push("~="),t.querySelectorAll(":checked").length||L.push(":checked"),t.querySelectorAll("a#"+P+"+*").length||L.push(".#.+[+~]")}),i(function(t){var e=r.createElement("input");e.setAttribute("type","hidden"),t.appendChild(e).setAttribute("name","D"),t.querySelectorAll("[name=d]").length&&L.push("name"+ne+"*[*^$|!~]?="),t.querySelectorAll(":enabled").length||L.push(":enabled",":disabled"),t.querySelectorAll("*,:x"),L.push(",.*:")})),(w.matchesSelector=me.test(z=O.matches||O.webkitMatchesSelector||O.mozMatchesSelector||O.oMatchesSelector||O.msMatchesSelector))&&i(function(t){w.disconnectedMatch=z.call(t,"div"),z.call(t,"[s!='']:x"),F.push("!=",ae)}),L=L.length&&new RegExp(L.join("|")),F=F.length&&new RegExp(F.join("|")),e=me.test(O.compareDocumentPosition),R=e||me.test(O.contains)?function(t,e){var n=9===t.nodeType?t.documentElement:t,r=e&&e.parentNode;return t===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):t.compareDocumentPosition&&16&t.compareDocumentPosition(r)))}:function(t,e){if(e)for(;e=e.parentNode;)if(e===t)return!0;return!1},W=e?function(t,e){if(t===e)return A=!0,0;var n=!t.compareDocumentPosition-!e.compareDocumentPosition;return n?n:(n=(t.ownerDocument||t)===(e.ownerDocument||e)?t.compareDocumentPosition(e):1,1&n||!w.sortDetached&&e.compareDocumentPosition(t)===n?t===r||t.ownerDocument===I&&R(I,t)?-1:e===r||e.ownerDocument===I&&R(I,e)?1:j?te(j,t)-te(j,e):0:4&n?-1:1)}:function(t,e){if(t===e)return A=!0,0;var n,i=0,o=t.parentNode,u=e.parentNode,s=[t],l=[e];if(!o||!u)return t===r?-1:e===r?1:o?-1:u?1:j?te(j,t)-te(j,e):0;if(o===u)return a(t,e);for(n=t;n=n.parentNode;)s.unshift(n);for(n=e;n=n.parentNode;)l.unshift(n);for(;s[i]===l[i];)i++;return i?a(s[i],l[i]):s[i]===I?-1:l[i]===I?1:0},r):q},e.matches=function(t,n){return e(t,null,null,n)},e.matchesSelector=function(t,n){if((t.ownerDocument||t)!==q&&N(t),n=n.replace(fe,"='$1']"),!(!w.matchesSelector||!D||F&&F.test(n)||L&&L.test(n)))try{var r=z.call(t,n);if(r||w.disconnectedMatch||t.document&&11!==t.document.nodeType)return r}catch(i){}return e(n,q,null,[t]).length>0},e.contains=function(t,e){return(t.ownerDocument||t)!==q&&N(t),R(t,e)},e.attr=function(t,e){(t.ownerDocument||t)!==q&&N(t);var n=_.attrHandle[e.toLowerCase()],r=n&&X.call(_.attrHandle,e.toLowerCase())?n(t,e,!D):void 0;return void 0!==r?r:w.attributes||!D?t.getAttribute(e):(r=t.getAttributeNode(e))&&r.specified?r.value:null},e.error=function(t){throw new Error("Syntax error, unrecognized expression: "+t)},e.uniqueSort=function(t){var e,n=[],r=0,i=0;if(A=!w.detectDuplicates,j=!w.sortStable&&t.slice(0),t.sort(W),A){for(;e=t[i++];)e===t[i]&&(r=n.push(i));for(;r--;)t.splice(n[r],1)}return j=null,t},M=e.getText=function(t){var e,n="",r=0,i=t.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof t.textContent)return t.textContent;for(t=t.firstChild;t;t=t.nextSibling)n+=M(t)}else if(3===i||4===i)return t.nodeValue}else for(;e=t[r++];)n+=M(e);return n},_=e.selectors={cacheLength:50,createPseudo:r,match:de,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(t){return t[1]=t[1].replace(we,_e),t[3]=(t[3]||t[4]||t[5]||"").replace(we,_e),"~="===t[2]&&(t[3]=" "+t[3]+" "),t.slice(0,4)},CHILD:function(t){return t[1]=t[1].toLowerCase(),"nth"===t[1].slice(0,3)?(t[3]||e.error(t[0]),t[4]=+(t[4]?t[5]+(t[6]||1):2*("even"===t[3]||"odd"===t[3])),t[5]=+(t[7]+t[8]||"odd"===t[3])):t[3]&&e.error(t[0]),t},PSEUDO:function(t){var e,n=!t[6]&&t[2];return de.CHILD.test(t[0])?null:(t[3]?t[2]=t[4]||t[5]||"":n&&he.test(n)&&(e=E(n,!0))&&(e=n.indexOf(")",n.length-e)-n.length)&&(t[0]=t[0].slice(0,e),t[2]=n.slice(0,e)),t.slice(0,3))}},filter:{TAG:function(t){var e=t.replace(we,_e).toLowerCase();return"*"===t?function(){return!0}:function(t){return t.nodeName&&t.nodeName.toLowerCase()===e}},CLASS:function(t){var e=$[t+" "];return e||(e=new RegExp("(^|"+ne+")"+t+"("+ne+"|$)"))&&$(t,function(t){return e.test("string"==typeof t.className&&t.className||"undefined"!=typeof t.getAttribute&&t.getAttribute("class")||"")})},ATTR:function(t,n,r){return function(i){var o=e.attr(i,t);return null==o?"!="===n:n?(o+="","="===n?o===r:"!="===n?o!==r:"^="===n?r&&0===o.indexOf(r):"*="===n?r&&o.indexOf(r)>-1:"$="===n?r&&o.slice(-r.length)===r:"~="===n?(" "+o.replace(ue," ")+" ").indexOf(r)>-1:"|="===n?o===r||o.slice(0,r.length+1)===r+"-":!1):!0}},CHILD:function(t,e,n,r,i){var o="nth"!==t.slice(0,3),a="last"!==t.slice(-4),u="of-type"===e;return 1===r&&0===i?function(t){return!!t.parentNode}:function(e,n,s){var l,c,f,h,p,d,g=o!==a?"nextSibling":"previousSibling",v=e.parentNode,m=u&&e.nodeName.toLowerCase(),y=!s&&!u;if(v){if(o){for(;g;){for(f=e;f=f[g];)if(u?f.nodeName.toLowerCase()===m:1===f.nodeType)return!1;d=g="only"===t&&!d&&"nextSibling"}return!0}if(d=[a?v.firstChild:v.lastChild],a&&y){for(c=v[P]||(v[P]={}),l=c[t]||[],p=l[0]===H&&l[1],h=l[0]===H&&l[2],f=p&&v.childNodes[p];f=++p&&f&&f[g]||(h=p=0)||d.pop();)if(1===f.nodeType&&++h&&f===e){c[t]=[H,p,h];break}}else if(y&&(l=(e[P]||(e[P]={}))[t])&&l[0]===H)h=l[1];else for(;(f=++p&&f&&f[g]||(h=p=0)||d.pop())&&((u?f.nodeName.toLowerCase()!==m:1!==f.nodeType)||!++h||(y&&((f[P]||(f[P]={}))[t]=[H,h]),f!==e)););return h-=i,h===r||h%r===0&&h/r>=0}}},PSEUDO:function(t,n){var i,o=_.pseudos[t]||_.setFilters[t.toLowerCase()]||e.error("unsupported pseudo: "+t);return o[P]?o(n):o.length>1?(i=[t,t,"",n],_.setFilters.hasOwnProperty(t.toLowerCase())?r(function(t,e){for(var r,i=o(t,n),a=i.length;a--;)r=te(t,i[a]),t[r]=!(e[r]=i[a])}):function(t){return o(t,0,i)}):o}},pseudos:{not:r(function(t){var e=[],n=[],i=C(t.replace(se,"$1"));return i[P]?r(function(t,e,n,r){for(var o,a=i(t,null,r,[]),u=t.length;u--;)(o=a[u])&&(t[u]=!(e[u]=o))}):function(t,r,o){return e[0]=t,i(e,null,o,n),e[0]=null,!n.pop()}}),has:r(function(t){return function(n){return e(t,n).length>0}}),contains:r(function(t){return t=t.replace(we,_e),function(e){return(e.textContent||e.innerText||M(e)).indexOf(t)>-1}}),lang:r(function(t){return pe.test(t||"")||e.error("unsupported lang: "+t),t=t.replace(we,_e).toLowerCase(),function(e){var n;do if(n=D?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return n=n.toLowerCase(),n===t||0===n.indexOf(t+"-");while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var n=t.location&&t.location.hash;return n&&n.slice(1)===e.id},root:function(t){return t===O},focus:function(t){return t===q.activeElement&&(!q.hasFocus||q.hasFocus())&&!!(t.type||t.href||~t.tabIndex)},enabled:function(t){return t.disabled===!1},disabled:function(t){return t.disabled===!0},checked:function(t){var e=t.nodeName.toLowerCase();return"input"===e&&!!t.checked||"option"===e&&!!t.selected},selected:function(t){return t.parentNode&&t.parentNode.selectedIndex,t.selected===!0},empty:function(t){for(t=t.firstChild;t;t=t.nextSibling)if(t.nodeType<6)return!1;return!0},parent:function(t){return!_.pseudos.empty(t)},header:function(t){return ve.test(t.nodeName)},input:function(t){return ge.test(t.nodeName)},button:function(t){var e=t.nodeName.toLowerCase();return"input"===e&&"button"===t.type||"button"===e},text:function(t){var e;return"input"===t.nodeName.toLowerCase()&&"text"===t.type&&(null==(e=t.getAttribute("type"))||"text"===e.toLowerCase())},first:l(function(){return[0]}),last:l(function(t,e){return[e-1]}),eq:l(function(t,e,n){return[0>n?n+e:n]}),even:l(function(t,e){for(var n=0;e>n;n+=2)t.push(n);return t}),odd:l(function(t,e){for(var n=1;e>n;n+=2)t.push(n);return t}),lt:l(function(t,e,n){for(var r=0>n?n+e:n;--r>=0;)t.push(r);return t}),gt:l(function(t,e,n){for(var r=0>n?n+e:n;++r<e;)t.push(r);return t})}},_.pseudos.nth=_.pseudos.eq;for(x in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})_.pseudos[x]=u(x);for(x in{submit:!0,reset:!0})_.pseudos[x]=s(x);return f.prototype=_.filters=_.pseudos,_.setFilters=new f,E=e.tokenize=function(t,n){var r,i,o,a,u,s,l,c=V[t+" "];if(c)return n?0:c.slice(0);for(u=t,s=[],l=_.preFilter;u;){(!r||(i=le.exec(u)))&&(i&&(u=u.slice(i[0].length)||u),s.push(o=[])),r=!1,(i=ce.exec(u))&&(r=i.shift(),o.push({value:r,type:i[0].replace(se," ")}),u=u.slice(r.length));for(a in _.filter)!(i=de[a].exec(u))||l[a]&&!(i=l[a](i))||(r=i.shift(),o.push({value:r,type:a,matches:i}),u=u.slice(r.length));if(!r)break}return n?u.length:u?e.error(t):V(t,s).slice(0)},C=e.compile=function(t,e){var n,r=[],i=[],o=U[t+" "];if(!o){for(e||(e=E(t)),n=e.length;n--;)o=y(e[n]),o[P]?r.push(o):i.push(o);o=U(t,b(i,r)),o.selector=t}return o},S=e.select=function(t,e,n,r){var i,o,a,u,s,l="function"==typeof t&&t,f=!r&&E(t=l.selector||t);if(n=n||[],1===f.length){if(o=f[0]=f[0].slice(0),o.length>2&&"ID"===(a=o[0]).type&&w.getById&&9===e.nodeType&&D&&_.relative[o[1].type]){if(e=(_.find.ID(a.matches[0].replace(we,_e),e)||[])[0],!e)return n;l&&(e=e.parentNode),t=t.slice(o.shift().value.length)}for(i=de.needsContext.test(t)?0:o.length;i--&&(a=o[i],!_.relative[u=a.type]);)if((s=_.find[u])&&(r=s(a.matches[0].replace(we,_e),be.test(o[0].type)&&c(e.parentNode)||e))){if(o.splice(i,1),t=r.length&&h(o),!t)return K.apply(n,r),n;break}}return(l||C(t,f))(r,e,!D,n,be.test(t)&&c(e.parentNode)||e),n},w.sortStable=P.split("").sort(W).join("")===P,w.detectDuplicates=!!A,N(),w.sortDetached=i(function(t){return 1&t.compareDocumentPosition(q.createElement("div"))}),i(function(t){return t.innerHTML="<a href='#'></a>","#"===t.firstChild.getAttribute("href")})||o("type|href|height|width",function(t,e,n){return n?void 0:t.getAttribute(e,"type"===e.toLowerCase()?1:2)}),w.attributes&&i(function(t){return t.innerHTML="<input/>",t.firstChild.setAttribute("value",""),""===t.firstChild.getAttribute("value")})||o("value",function(t,e,n){return n||"input"!==t.nodeName.toLowerCase()?void 0:t.defaultValue}),i(function(t){return null==t.getAttribute("disabled")})||o(ee,function(t,e,n){var r;return n?void 0:t[e]===!0?e.toLowerCase():(r=t.getAttributeNode(e))&&r.specified?r.value:null}),e}(t);Q.find=ie,Q.expr=ie.selectors,Q.expr[":"]=Q.expr.pseudos,Q.unique=ie.uniqueSort,Q.text=ie.getText,Q.isXMLDoc=ie.isXML,Q.contains=ie.contains;var oe=Q.expr.match.needsContext,ae=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,ue=/^.[^:#\[\.,]*$/;Q.filter=function(t,e,n){var r=e[0];return n&&(t=":not("+t+")"),1===e.length&&1===r.nodeType?Q.find.matchesSelector(r,t)?[r]:[]:Q.find.matches(t,Q.grep(e,function(t){return 1===t.nodeType}))},Q.fn.extend({find:function(t){var e,n=this.length,r=[],i=this;if("string"!=typeof t)return this.pushStack(Q(t).filter(function(){for(e=0;n>e;e++)if(Q.contains(i[e],this))return!0}));for(e=0;n>e;e++)Q.find(t,i[e],r);return r=this.pushStack(n>1?Q.unique(r):r),r.selector=this.selector?this.selector+" "+t:t,r},filter:function(t){return this.pushStack(r(this,t||[],!1))},not:function(t){return this.pushStack(r(this,t||[],!0))},is:function(t){return!!r(this,"string"==typeof t&&oe.test(t)?Q(t):t||[],!1).length}});var se,le=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,ce=Q.fn.init=function(t,e){var n,r;if(!t)return this;if("string"==typeof t){if(n="<"===t[0]&&">"===t[t.length-1]&&t.length>=3?[null,t,null]:le.exec(t),!n||!n[1]&&e)return!e||e.jquery?(e||se).find(t):this.constructor(e).find(t);if(n[1]){if(e=e instanceof Q?e[0]:e,Q.merge(this,Q.parseHTML(n[1],e&&e.nodeType?e.ownerDocument||e:G,!0)),ae.test(n[1])&&Q.isPlainObject(e))for(n in e)Q.isFunction(this[n])?this[n](e[n]):this.attr(n,e[n]);return this}return r=G.getElementById(n[2]),r&&r.parentNode&&(this.length=1,this[0]=r),this.context=G,this.selector=t,this}return t.nodeType?(this.context=this[0]=t,this.length=1,this):Q.isFunction(t)?"undefined"!=typeof se.ready?se.ready(t):t(Q):(void 0!==t.selector&&(this.selector=t.selector,this.context=t.context),Q.makeArray(t,this))};ce.prototype=Q.fn,se=Q(G);var fe=/^(?:parents|prev(?:Until|All))/,he={children:!0,contents:!0,next:!0,prev:!0};Q.extend({dir:function(t,e,n){for(var r=[],i=void 0!==n;(t=t[e])&&9!==t.nodeType;)if(1===t.nodeType){if(i&&Q(t).is(n))break;r.push(t)}return r},sibling:function(t,e){for(var n=[];t;t=t.nextSibling)1===t.nodeType&&t!==e&&n.push(t);return n}}),Q.fn.extend({has:function(t){var e=Q(t,this),n=e.length;return this.filter(function(){for(var t=0;n>t;t++)if(Q.contains(this,e[t]))return!0})},closest:function(t,e){for(var n,r=0,i=this.length,o=[],a=oe.test(t)||"string"!=typeof t?Q(t,e||this.context):0;i>r;r++)for(n=this[r];n&&n!==e;n=n.parentNode)if(n.nodeType<11&&(a?a.index(n)>-1:1===n.nodeType&&Q.find.matchesSelector(n,t))){o.push(n);break}return this.pushStack(o.length>1?Q.unique(o):o)},index:function(t){return t?"string"==typeof t?W.call(Q(t),this[0]):W.call(this,t.jquery?t[0]:t):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(t,e){return this.pushStack(Q.unique(Q.merge(this.get(),Q(t,e))))},addBack:function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}}),Q.each({parent:function(t){var e=t.parentNode;return e&&11!==e.nodeType?e:null},parents:function(t){return Q.dir(t,"parentNode")},parentsUntil:function(t,e,n){return Q.dir(t,"parentNode",n)},next:function(t){return i(t,"nextSibling")},prev:function(t){return i(t,"previousSibling")},nextAll:function(t){return Q.dir(t,"nextSibling")},prevAll:function(t){return Q.dir(t,"previousSibling")},nextUntil:function(t,e,n){return Q.dir(t,"nextSibling",n)},prevUntil:function(t,e,n){return Q.dir(t,"previousSibling",n)},siblings:function(t){return Q.sibling((t.parentNode||{}).firstChild,t)},children:function(t){return Q.sibling(t.firstChild)},contents:function(t){return t.contentDocument||Q.merge([],t.childNodes)}},function(t,e){Q.fn[t]=function(n,r){var i=Q.map(this,e,n);return"Until"!==t.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=Q.filter(r,i)),this.length>1&&(he[t]||Q.unique(i),fe.test(t)&&i.reverse()),this.pushStack(i)}});var pe=/\S+/g,de={};Q.Callbacks=function(t){t="string"==typeof t?de[t]||o(t):Q.extend({},t);var e,n,r,i,a,u,s=[],l=!t.once&&[],c=function(data){for(e=t.memory&&data,n=!0,u=i||0,i=0,a=s.length,r=!0;s&&a>u;u++)if(s[u].apply(data[0],data[1])===!1&&t.stopOnFalse){e=!1;break}r=!1,s&&(l?l.length&&c(l.shift()):e?s=[]:f.disable())},f={add:function(){if(s){var n=s.length;!function o(e){Q.each(e,function(e,n){var r=Q.type(n);"function"===r?t.unique&&f.has(n)||s.push(n):n&&n.length&&"string"!==r&&o(n)})}(arguments),r?a=s.length:e&&(i=n,c(e))}return this},remove:function(){return s&&Q.each(arguments,function(t,e){for(var n;(n=Q.inArray(e,s,n))>-1;)s.splice(n,1),r&&(a>=n&&a--,u>=n&&u--)}),this},has:function(t){return t?Q.inArray(t,s)>-1:!(!s||!s.length)},empty:function(){return s=[],a=0,this},disable:function(){return s=l=e=void 0,this},disabled:function(){return!s},lock:function(){return l=void 0,e||f.disable(),this},locked:function(){return!l},fireWith:function(t,e){return!s||n&&!l||(e=e||[],e=[t,e.slice?e.slice():e],r?l.push(e):c(e)),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!n}};return f},Q.extend({Deferred:function(t){var e=[["resolve","done",Q.Callbacks("once memory"),"resolved"],["reject","fail",Q.Callbacks("once memory"),"rejected"],["notify","progress",Q.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var t=arguments;return Q.Deferred(function(n){Q.each(e,function(e,o){var a=Q.isFunction(t[e])&&t[e];i[o[1]](function(){var t=a&&a.apply(this,arguments);t&&Q.isFunction(t.promise)?t.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[o[0]+"With"](this===r?n.promise():this,a?[t]:arguments)})}),t=null}).promise()},promise:function(t){return null!=t?Q.extend(t,r):r}},i={};return r.pipe=r.then,Q.each(e,function(t,o){var a=o[2],u=o[3];r[o[1]]=a.add,u&&a.add(function(){n=u},e[1^t][2].disable,e[2][2].lock),i[o[0]]=function(){return i[o[0]+"With"](this===i?r:this,arguments),this},i[o[0]+"With"]=a.fireWith}),r.promise(i),t&&t.call(i,i),i},when:function(t){var e,n,r,i=0,o=$.call(arguments),a=o.length,u=1!==a||t&&Q.isFunction(t.promise)?a:0,s=1===u?t:Q.Deferred(),l=function(t,n,r){return function(i){n[t]=this,r[t]=arguments.length>1?$.call(arguments):i,r===e?s.notifyWith(n,r):--u||s.resolveWith(n,r)}};if(a>1)for(e=new Array(a),n=new Array(a),r=new Array(a);a>i;i++)o[i]&&Q.isFunction(o[i].promise)?o[i].promise().done(l(i,r,o)).fail(s.reject).progress(l(i,n,e)):--u;return u||s.resolveWith(r,o),s.promise()}});var ge;Q.fn.ready=function(t){return Q.ready.promise().done(t),this},Q.extend({isReady:!1,readyWait:1,holdReady:function(t){t?Q.readyWait++:Q.ready(!0)},ready:function(t){(t===!0?--Q.readyWait:Q.isReady)||(Q.isReady=!0,t!==!0&&--Q.readyWait>0||(ge.resolveWith(G,[Q]),Q.fn.triggerHandler&&(Q(G).triggerHandler("ready"),Q(G).off("ready"))))}}),Q.ready.promise=function(e){return ge||(ge=Q.Deferred(),"complete"===G.readyState?setTimeout(Q.ready):(G.addEventListener("DOMContentLoaded",a,!1),t.addEventListener("load",a,!1))),ge.promise(e)},Q.ready.promise();var ve=Q.access=function(t,e,n,r,i,o,a){var u=0,s=t.length,l=null==n;if("object"===Q.type(n)){i=!0;for(u in n)Q.access(t,e,u,n[u],!0,o,a)}else if(void 0!==r&&(i=!0,Q.isFunction(r)||(a=!0),l&&(a?(e.call(t,r),e=null):(l=e,e=function(t,e,n){return l.call(Q(t),n)})),e))for(;s>u;u++)e(t[u],n,a?r:r.call(t[u],u,e(t[u],n)));return i?t:l?e.call(t):s?e(t[0],n):o};Q.acceptData=function(t){return 1===t.nodeType||9===t.nodeType||!+t.nodeType},u.uid=1,u.accepts=Q.acceptData,u.prototype={key:function(t){if(!u.accepts(t))return 0;var e={},n=t[this.expando];if(!n){n=u.uid++;try{e[this.expando]={value:n},Object.defineProperties(t,e)}catch(r){e[this.expando]=n,Q.extend(t,e)}}return this.cache[n]||(this.cache[n]={}),n},set:function(t,data,e){var n,r=this.key(t),i=this.cache[r];if("string"==typeof data)i[data]=e;else if(Q.isEmptyObject(i))Q.extend(this.cache[r],data);else for(n in data)i[n]=data[n];return i},get:function(t,e){var n=this.cache[this.key(t)];return void 0===e?n:n[e]},access:function(t,e,n){var r;return void 0===e||e&&"string"==typeof e&&void 0===n?(r=this.get(t,e),void 0!==r?r:this.get(t,Q.camelCase(e))):(this.set(t,e,n),void 0!==n?n:e)},remove:function(t,e){var n,r,i,o=this.key(t),a=this.cache[o];if(void 0===e)this.cache[o]={};else{Q.isArray(e)?r=e.concat(e.map(Q.camelCase)):(i=Q.camelCase(e),e in a?r=[e,i]:(r=i,r=r in a?[r]:r.match(pe)||[])),n=r.length;for(;n--;)delete a[r[n]]}},hasData:function(t){return!Q.isEmptyObject(this.cache[t[this.expando]]||{})},discard:function(t){t[this.expando]&&delete this.cache[t[this.expando]]}};var me=new u,ye=new u,be=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,xe=/([A-Z])/g;Q.extend({hasData:function(t){return ye.hasData(t)||me.hasData(t)},data:function(t,e,data){return ye.access(t,e,data)},removeData:function(t,e){ye.remove(t,e)},_data:function(t,e,data){return me.access(t,e,data)},_removeData:function(t,e){me.remove(t,e)}}),Q.fn.extend({data:function(t,e){var n,r,data,i=this[0],o=i&&i.attributes;if(void 0===t){if(this.length&&(data=ye.get(i),1===i.nodeType&&!me.get(i,"hasDataAttrs"))){for(n=o.length;n--;)o[n]&&(r=o[n].name,0===r.indexOf("data-")&&(r=Q.camelCase(r.slice(5)),s(i,r,data[r])));me.set(i,"hasDataAttrs",!0)}return data}return"object"==typeof t?this.each(function(){ye.set(this,t)}):ve(this,function(e){var data,n=Q.camelCase(t);if(i&&void 0===e){if(data=ye.get(i,t),void 0!==data)return data;if(data=ye.get(i,n),void 0!==data)return data;if(data=s(i,n,void 0),void 0!==data)return data}else this.each(function(){var data=ye.get(this,n);ye.set(this,n,e),-1!==t.indexOf("-")&&void 0!==data&&ye.set(this,t,e)})},null,e,arguments.length>1,null,!0)},removeData:function(t){return this.each(function(){ye.remove(this,t)})}}),Q.extend({queue:function(t,e,data){var n;return t?(e=(e||"fx")+"queue",n=me.get(t,e),data&&(!n||Q.isArray(data)?n=me.access(t,e,Q.makeArray(data)):n.push(data)),n||[]):void 0},dequeue:function(t,e){e=e||"fx";var n=Q.queue(t,e),r=n.length,i=n.shift(),o=Q._queueHooks(t,e),a=function(){Q.dequeue(t,e)
-};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===e&&n.unshift("inprogress"),delete o.stop,i.call(t,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(t,e){var n=e+"queueHooks";return me.get(t,n)||me.access(t,n,{empty:Q.Callbacks("once memory").add(function(){me.remove(t,[e+"queue",n])})})}}),Q.fn.extend({queue:function(t,data){var e=2;return"string"!=typeof t&&(data=t,t="fx",e--),arguments.length<e?Q.queue(this[0],t):void 0===data?this:this.each(function(){var e=Q.queue(this,t,data);Q._queueHooks(this,t),"fx"===t&&"inprogress"!==e[0]&&Q.dequeue(this,t)})},dequeue:function(t){return this.each(function(){Q.dequeue(this,t)})},clearQueue:function(t){return this.queue(t||"fx",[])},promise:function(t,e){var n,r=1,i=Q.Deferred(),o=this,a=this.length,u=function(){--r||i.resolveWith(o,[o])};for("string"!=typeof t&&(e=t,t=void 0),t=t||"fx";a--;)n=me.get(o[a],t+"queueHooks"),n&&n.empty&&(r++,n.empty.add(u));return u(),i.promise(e)}});var we=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,_e=["Top","Right","Bottom","Left"],Me=function(t,e){return t=e||t,"none"===Q.css(t,"display")||!Q.contains(t.ownerDocument,t)},ke=/^(?:checkbox|radio)$/i;!function(){var t=G.createDocumentFragment(),e=t.appendChild(G.createElement("div")),n=G.createElement("input");n.setAttribute("type","radio"),n.setAttribute("checked","checked"),n.setAttribute("name","t"),e.appendChild(n),Z.checkClone=e.cloneNode(!0).cloneNode(!0).lastChild.checked,e.innerHTML="<textarea>x</textarea>",Z.noCloneChecked=!!e.cloneNode(!0).lastChild.defaultValue}();var Ee="undefined";Z.focusinBubbles="onfocusin"in t;var Ce=/^key/,Se=/^(?:mouse|pointer|contextmenu)|click/,Te=/^(?:focusinfocus|focusoutblur)$/,je=/^([^.]*)(?:\.(.+)|)$/;Q.event={global:{},add:function(t,e,n,data,r){var i,o,a,u,s,l,c,f,h,p,d,g=me.get(t);if(g)for(n.handler&&(i=n,n=i.handler,r=i.selector),n.guid||(n.guid=Q.guid++),(u=g.events)||(u=g.events={}),(o=g.handle)||(o=g.handle=function(e){return typeof Q!==Ee&&Q.event.triggered!==e.type?Q.event.dispatch.apply(t,arguments):void 0}),e=(e||"").match(pe)||[""],s=e.length;s--;)a=je.exec(e[s])||[],h=d=a[1],p=(a[2]||"").split(".").sort(),h&&(c=Q.event.special[h]||{},h=(r?c.delegateType:c.bindType)||h,c=Q.event.special[h]||{},l=Q.extend({type:h,origType:d,data:data,handler:n,guid:n.guid,selector:r,needsContext:r&&Q.expr.match.needsContext.test(r),namespace:p.join(".")},i),(f=u[h])||(f=u[h]=[],f.delegateCount=0,c.setup&&c.setup.call(t,data,p,o)!==!1||t.addEventListener&&t.addEventListener(h,o,!1)),c.add&&(c.add.call(t,l),l.handler.guid||(l.handler.guid=n.guid)),r?f.splice(f.delegateCount++,0,l):f.push(l),Q.event.global[h]=!0)},remove:function(t,e,n,r,i){var o,a,u,s,l,c,f,h,p,d,g,v=me.hasData(t)&&me.get(t);if(v&&(s=v.events)){for(e=(e||"").match(pe)||[""],l=e.length;l--;)if(u=je.exec(e[l])||[],p=g=u[1],d=(u[2]||"").split(".").sort(),p){for(f=Q.event.special[p]||{},p=(r?f.delegateType:f.bindType)||p,h=s[p]||[],u=u[2]&&new RegExp("(^|\\.)"+d.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=h.length;o--;)c=h[o],!i&&g!==c.origType||n&&n.guid!==c.guid||u&&!u.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(h.splice(o,1),c.selector&&h.delegateCount--,f.remove&&f.remove.call(t,c));a&&!h.length&&(f.teardown&&f.teardown.call(t,d,v.handle)!==!1||Q.removeEvent(t,p,v.handle),delete s[p])}else for(p in s)Q.event.remove(t,p+e[l],n,r,!0);Q.isEmptyObject(s)&&(delete v.handle,me.remove(t,"events"))}},trigger:function(e,data,n,r){var i,o,a,u,s,l,c,f=[n||G],h=J.call(e,"type")?e.type:e,p=J.call(e,"namespace")?e.namespace.split("."):[];if(o=a=n=n||G,3!==n.nodeType&&8!==n.nodeType&&!Te.test(h+Q.event.triggered)&&(h.indexOf(".")>=0&&(p=h.split("."),h=p.shift(),p.sort()),s=h.indexOf(":")<0&&"on"+h,e=e[Q.expando]?e:new Q.Event(h,"object"==typeof e&&e),e.isTrigger=r?2:3,e.namespace=p.join("."),e.namespace_re=e.namespace?new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=n),data=null==data?[e]:Q.makeArray(data,[e]),c=Q.event.special[h]||{},r||!c.trigger||c.trigger.apply(n,data)!==!1)){if(!r&&!c.noBubble&&!Q.isWindow(n)){for(u=c.delegateType||h,Te.test(u+h)||(o=o.parentNode);o;o=o.parentNode)f.push(o),a=o;a===(n.ownerDocument||G)&&f.push(a.defaultView||a.parentWindow||t)}for(i=0;(o=f[i++])&&!e.isPropagationStopped();)e.type=i>1?u:c.bindType||h,l=(me.get(o,"events")||{})[e.type]&&me.get(o,"handle"),l&&l.apply(o,data),l=s&&o[s],l&&l.apply&&Q.acceptData(o)&&(e.result=l.apply(o,data),e.result===!1&&e.preventDefault());return e.type=h,r||e.isDefaultPrevented()||c._default&&c._default.apply(f.pop(),data)!==!1||!Q.acceptData(n)||s&&Q.isFunction(n[h])&&!Q.isWindow(n)&&(a=n[s],a&&(n[s]=null),Q.event.triggered=h,n[h](),Q.event.triggered=void 0,a&&(n[s]=a)),e.result}},dispatch:function(t){t=Q.event.fix(t);var e,n,r,i,o,a=[],u=$.call(arguments),s=(me.get(this,"events")||{})[t.type]||[],l=Q.event.special[t.type]||{};if(u[0]=t,t.delegateTarget=this,!l.preDispatch||l.preDispatch.call(this,t)!==!1){for(a=Q.event.handlers.call(this,t,s),e=0;(i=a[e++])&&!t.isPropagationStopped();)for(t.currentTarget=i.elem,n=0;(o=i.handlers[n++])&&!t.isImmediatePropagationStopped();)(!t.namespace_re||t.namespace_re.test(o.namespace))&&(t.handleObj=o,t.data=o.data,r=((Q.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,u),void 0!==r&&(t.result=r)===!1&&(t.preventDefault(),t.stopPropagation()));return l.postDispatch&&l.postDispatch.call(this,t),t.result}},handlers:function(t,e){var n,r,i,o,a=[],u=e.delegateCount,s=t.target;if(u&&s.nodeType&&(!t.button||"click"!==t.type))for(;s!==this;s=s.parentNode||this)if(s.disabled!==!0||"click"!==t.type){for(r=[],n=0;u>n;n++)o=e[n],i=o.selector+" ",void 0===r[i]&&(r[i]=o.needsContext?Q(i,this).index(s)>=0:Q.find(i,this,null,[s]).length),r[i]&&r.push(o);r.length&&a.push({elem:s,handlers:r})}return u<e.length&&a.push({elem:this,handlers:e.slice(u)}),a},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(t,e){return null==t.which&&(t.which=null!=e.charCode?e.charCode:e.keyCode),t}},mouseHooks:{props:"button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(t,e){var n,r,i,o=e.button;return null==t.pageX&&null!=e.clientX&&(n=t.target.ownerDocument||G,r=n.documentElement,i=n.body,t.pageX=e.clientX+(r&&r.scrollLeft||i&&i.scrollLeft||0)-(r&&r.clientLeft||i&&i.clientLeft||0),t.pageY=e.clientY+(r&&r.scrollTop||i&&i.scrollTop||0)-(r&&r.clientTop||i&&i.clientTop||0)),t.which||void 0===o||(t.which=1&o?1:2&o?3:4&o?2:0),t}},fix:function(t){if(t[Q.expando])return t;var e,n,r,i=t.type,o=t,a=this.fixHooks[i];for(a||(this.fixHooks[i]=a=Se.test(i)?this.mouseHooks:Ce.test(i)?this.keyHooks:{}),r=a.props?this.props.concat(a.props):this.props,t=new Q.Event(o),e=r.length;e--;)n=r[e],t[n]=o[n];return t.target||(t.target=G),3===t.target.nodeType&&(t.target=t.target.parentNode),a.filter?a.filter(t,o):t},special:{load:{noBubble:!0},focus:{trigger:function(){return this!==f()&&this.focus?(this.focus(),!1):void 0},delegateType:"focusin"},blur:{trigger:function(){return this===f()&&this.blur?(this.blur(),!1):void 0},delegateType:"focusout"},click:{trigger:function(){return"checkbox"===this.type&&this.click&&Q.nodeName(this,"input")?(this.click(),!1):void 0},_default:function(t){return Q.nodeName(t.target,"a")}},beforeunload:{postDispatch:function(t){void 0!==t.result&&t.originalEvent&&(t.originalEvent.returnValue=t.result)}}},simulate:function(t,e,n,r){var i=Q.extend(new Q.Event,n,{type:t,isSimulated:!0,originalEvent:{}});r?Q.event.trigger(i,null,e):Q.event.dispatch.call(e,i),i.isDefaultPrevented()&&n.preventDefault()}},Q.removeEvent=function(t,e,n){t.removeEventListener&&t.removeEventListener(e,n,!1)},Q.Event=function(t,e){return this instanceof Q.Event?(t&&t.type?(this.originalEvent=t,this.type=t.type,this.isDefaultPrevented=t.defaultPrevented||void 0===t.defaultPrevented&&t.returnValue===!1?l:c):this.type=t,e&&Q.extend(this,e),this.timeStamp=t&&t.timeStamp||Q.now(),void(this[Q.expando]=!0)):new Q.Event(t,e)},Q.Event.prototype={isDefaultPrevented:c,isPropagationStopped:c,isImmediatePropagationStopped:c,preventDefault:function(){var t=this.originalEvent;this.isDefaultPrevented=l,t&&t.preventDefault&&t.preventDefault()},stopPropagation:function(){var t=this.originalEvent;this.isPropagationStopped=l,t&&t.stopPropagation&&t.stopPropagation()},stopImmediatePropagation:function(){var t=this.originalEvent;this.isImmediatePropagationStopped=l,t&&t.stopImmediatePropagation&&t.stopImmediatePropagation(),this.stopPropagation()}},Q.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(t,e){Q.event.special[t]={delegateType:e,bindType:e,handle:function(t){var n,r=this,i=t.relatedTarget,o=t.handleObj;return(!i||i!==r&&!Q.contains(r,i))&&(t.type=o.origType,n=o.handler.apply(this,arguments),t.type=e),n}}}),Z.focusinBubbles||Q.each({focus:"focusin",blur:"focusout"},function(t,e){var n=function(t){Q.event.simulate(e,t.target,Q.event.fix(t),!0)};Q.event.special[e]={setup:function(){var r=this.ownerDocument||this,i=me.access(r,e);i||r.addEventListener(t,n,!0),me.access(r,e,(i||0)+1)},teardown:function(){var r=this.ownerDocument||this,i=me.access(r,e)-1;i?me.access(r,e,i):(r.removeEventListener(t,n,!0),me.remove(r,e))}}}),Q.fn.extend({on:function(t,e,data,n,r){var i,o;if("object"==typeof t){"string"!=typeof e&&(data=data||e,e=void 0);for(o in t)this.on(o,e,data,t[o],r);return this}if(null==data&&null==n?(n=e,data=e=void 0):null==n&&("string"==typeof e?(n=data,data=void 0):(n=data,data=e,e=void 0)),n===!1)n=c;else if(!n)return this;return 1===r&&(i=n,n=function(t){return Q().off(t),i.apply(this,arguments)},n.guid=i.guid||(i.guid=Q.guid++)),this.each(function(){Q.event.add(this,t,n,data,e)})},one:function(t,e,data,n){return this.on(t,e,data,n,1)},off:function(t,e,n){var r,i;if(t&&t.preventDefault&&t.handleObj)return r=t.handleObj,Q(t.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof t){for(i in t)this.off(i,e,t[i]);return this}return(e===!1||"function"==typeof e)&&(n=e,e=void 0),n===!1&&(n=c),this.each(function(){Q.event.remove(this,t,n,e)})},trigger:function(t,data){return this.each(function(){Q.event.trigger(t,data,this)})},triggerHandler:function(t,data){var e=this[0];return e?Q.event.trigger(t,data,e,!0):void 0}});var Ae=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,Ne=/<([\w:]+)/,qe=/<|&#?\w+;/,Oe=/<(?:script|style|link)/i,De=/checked\s*(?:[^=]|=\s*.checked.)/i,Le=/^$|\/(?:java|ecma)script/i,Fe=/^true\/(.*)/,ze=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,Re={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};Re.optgroup=Re.option,Re.tbody=Re.tfoot=Re.colgroup=Re.caption=Re.thead,Re.th=Re.td,Q.extend({clone:function(t,e,n){var r,i,o,a,u=t.cloneNode(!0),s=Q.contains(t.ownerDocument,t);if(!(Z.noCloneChecked||1!==t.nodeType&&11!==t.nodeType||Q.isXMLDoc(t)))for(a=m(u),o=m(t),r=0,i=o.length;i>r;r++)y(o[r],a[r]);if(e)if(n)for(o=o||m(t),a=a||m(u),r=0,i=o.length;i>r;r++)v(o[r],a[r]);else v(t,u);return a=m(u,"script"),a.length>0&&g(a,!s&&m(t,"script")),u},buildFragment:function(t,e,n,r){for(var i,o,a,u,s,l,c=e.createDocumentFragment(),f=[],h=0,p=t.length;p>h;h++)if(i=t[h],i||0===i)if("object"===Q.type(i))Q.merge(f,i.nodeType?[i]:i);else if(qe.test(i)){for(o=o||c.appendChild(e.createElement("div")),a=(Ne.exec(i)||["",""])[1].toLowerCase(),u=Re[a]||Re._default,o.innerHTML=u[1]+i.replace(Ae,"<$1></$2>")+u[2],l=u[0];l--;)o=o.lastChild;Q.merge(f,o.childNodes),o=c.firstChild,o.textContent=""}else f.push(e.createTextNode(i));for(c.textContent="",h=0;i=f[h++];)if((!r||-1===Q.inArray(i,r))&&(s=Q.contains(i.ownerDocument,i),o=m(c.appendChild(i),"script"),s&&g(o),n))for(l=0;i=o[l++];)Le.test(i.type||"")&&n.push(i);return c},cleanData:function(t){for(var data,e,n,r,i=Q.event.special,o=0;void 0!==(e=t[o]);o++){if(Q.acceptData(e)&&(r=e[me.expando],r&&(data=me.cache[r]))){if(data.events)for(n in data.events)i[n]?Q.event.remove(e,n):Q.removeEvent(e,n,data.handle);me.cache[r]&&delete me.cache[r]}delete ye.cache[e[ye.expando]]}}}),Q.fn.extend({text:function(t){return ve(this,function(t){return void 0===t?Q.text(this):this.empty().each(function(){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&(this.textContent=t)})},null,t,arguments.length)},append:function(){return this.domManip(arguments,function(t){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var e=h(this,t);e.appendChild(t)}})},prepend:function(){return this.domManip(arguments,function(t){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var e=h(this,t);e.insertBefore(t,e.firstChild)}})},before:function(){return this.domManip(arguments,function(t){this.parentNode&&this.parentNode.insertBefore(t,this)})},after:function(){return this.domManip(arguments,function(t){this.parentNode&&this.parentNode.insertBefore(t,this.nextSibling)})},remove:function(t,e){for(var n,r=t?Q.filter(t,this):this,i=0;null!=(n=r[i]);i++)e||1!==n.nodeType||Q.cleanData(m(n)),n.parentNode&&(e&&Q.contains(n.ownerDocument,n)&&g(m(n,"script")),n.parentNode.removeChild(n));return this},empty:function(){for(var t,e=0;null!=(t=this[e]);e++)1===t.nodeType&&(Q.cleanData(m(t,!1)),t.textContent="");return this},clone:function(t,e){return t=null==t?!1:t,e=null==e?t:e,this.map(function(){return Q.clone(this,t,e)})},html:function(t){return ve(this,function(t){var e=this[0]||{},n=0,r=this.length;if(void 0===t&&1===e.nodeType)return e.innerHTML;if("string"==typeof t&&!Oe.test(t)&&!Re[(Ne.exec(t)||["",""])[1].toLowerCase()]){t=t.replace(Ae,"<$1></$2>");try{for(;r>n;n++)e=this[n]||{},1===e.nodeType&&(Q.cleanData(m(e,!1)),e.innerHTML=t);e=0}catch(i){}}e&&this.empty().append(t)},null,t,arguments.length)},replaceWith:function(){var t=arguments[0];return this.domManip(arguments,function(e){t=this.parentNode,Q.cleanData(m(this)),t&&t.replaceChild(e,this)}),t&&(t.length||t.nodeType)?this:this.remove()},detach:function(t){return this.remove(t,!0)},domManip:function(t,e){t=V.apply([],t);var n,r,i,o,a,u,s=0,l=this.length,c=this,f=l-1,h=t[0],g=Q.isFunction(h);if(g||l>1&&"string"==typeof h&&!Z.checkClone&&De.test(h))return this.each(function(n){var r=c.eq(n);g&&(t[0]=h.call(this,n,r.html())),r.domManip(t,e)});if(l&&(n=Q.buildFragment(t,this[0].ownerDocument,!1,this),r=n.firstChild,1===n.childNodes.length&&(n=r),r)){for(i=Q.map(m(n,"script"),p),o=i.length;l>s;s++)a=n,s!==f&&(a=Q.clone(a,!0,!0),o&&Q.merge(i,m(a,"script"))),e.call(this[s],a,s);if(o)for(u=i[i.length-1].ownerDocument,Q.map(i,d),s=0;o>s;s++)a=i[s],Le.test(a.type||"")&&!me.access(a,"globalEval")&&Q.contains(u,a)&&(a.src?Q._evalUrl&&Q._evalUrl(a.src):Q.globalEval(a.textContent.replace(ze,"")))}return this}}),Q.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(t,e){Q.fn[t]=function(t){for(var n,r=[],i=Q(t),o=i.length-1,a=0;o>=a;a++)n=a===o?this:this.clone(!0),Q(i[a])[e](n),U.apply(r,n.get());return this.pushStack(r)}});var Pe,Ie={},He=/^margin/,Be=new RegExp("^("+we+")(?!px)[a-z%]+$","i"),$e=function(e){return e.ownerDocument.defaultView.opener?e.ownerDocument.defaultView.getComputedStyle(e,null):t.getComputedStyle(e,null)};!function(){function e(){a.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;margin-top:1%;top:1%;border:1px;padding:1px;width:4px;position:absolute",a.innerHTML="",i.appendChild(o);var e=t.getComputedStyle(a,null);n="1%"!==e.top,r="4px"===e.width,i.removeChild(o)}var n,r,i=G.documentElement,o=G.createElement("div"),a=G.createElement("div");a.style&&(a.style.backgroundClip="content-box",a.cloneNode(!0).style.backgroundClip="",Z.clearCloneStyle="content-box"===a.style.backgroundClip,o.style.cssText="border:0;width:0;height:0;top:0;left:-9999px;margin-top:1px;position:absolute",o.appendChild(a),t.getComputedStyle&&Q.extend(Z,{pixelPosition:function(){return e(),n},boxSizingReliable:function(){return null==r&&e(),r},reliableMarginRight:function(){var e,n=a.appendChild(G.createElement("div"));return n.style.cssText=a.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",n.style.marginRight=n.style.width="0",a.style.width="1px",i.appendChild(o),e=!parseFloat(t.getComputedStyle(n,null).marginRight),i.removeChild(o),a.removeChild(n),e}}))}(),Q.swap=function(t,e,n,r){var i,o,a={};for(o in e)a[o]=t.style[o],t.style[o]=e[o];i=n.apply(t,r||[]);for(o in e)t.style[o]=a[o];return i};var Ve=/^(none|table(?!-c[ea]).+)/,Ue=new RegExp("^("+we+")(.*)$","i"),We=new RegExp("^([+-])=("+we+")","i"),Ye={position:"absolute",visibility:"hidden",display:"block"},Xe={letterSpacing:"0",fontWeight:"400"},Je=["Webkit","O","Moz","ms"];Q.extend({cssHooks:{opacity:{get:function(t,e){if(e){var n=w(t,"opacity");return""===n?"1":n}}}},cssNumber:{columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":"cssFloat"},style:function(t,e,n,r){if(t&&3!==t.nodeType&&8!==t.nodeType&&t.style){var i,o,a,u=Q.camelCase(e),s=t.style;return e=Q.cssProps[u]||(Q.cssProps[u]=M(s,u)),a=Q.cssHooks[e]||Q.cssHooks[u],void 0===n?a&&"get"in a&&void 0!==(i=a.get(t,!1,r))?i:s[e]:(o=typeof n,"string"===o&&(i=We.exec(n))&&(n=(i[1]+1)*i[2]+parseFloat(Q.css(t,e)),o="number"),null!=n&&n===n&&("number"!==o||Q.cssNumber[u]||(n+="px"),Z.clearCloneStyle||""!==n||0!==e.indexOf("background")||(s[e]="inherit"),a&&"set"in a&&void 0===(n=a.set(t,n,r))||(s[e]=n)),void 0)}},css:function(t,e,n,r){var i,o,a,u=Q.camelCase(e);return e=Q.cssProps[u]||(Q.cssProps[u]=M(t.style,u)),a=Q.cssHooks[e]||Q.cssHooks[u],a&&"get"in a&&(i=a.get(t,!0,n)),void 0===i&&(i=w(t,e,r)),"normal"===i&&e in Xe&&(i=Xe[e]),""===n||n?(o=parseFloat(i),n===!0||Q.isNumeric(o)?o||0:i):i}}),Q.each(["height","width"],function(t,e){Q.cssHooks[e]={get:function(t,n,r){return n?Ve.test(Q.css(t,"display"))&&0===t.offsetWidth?Q.swap(t,Ye,function(){return C(t,e,r)}):C(t,e,r):void 0},set:function(t,n,r){var i=r&&$e(t);return k(t,n,r?E(t,e,r,"border-box"===Q.css(t,"boxSizing",!1,i),i):0)}}}),Q.cssHooks.marginRight=_(Z.reliableMarginRight,function(t,e){return e?Q.swap(t,{display:"inline-block"},w,[t,"marginRight"]):void 0}),Q.each({margin:"",padding:"",border:"Width"},function(t,e){Q.cssHooks[t+e]={expand:function(n){for(var r=0,i={},o="string"==typeof n?n.split(" "):[n];4>r;r++)i[t+_e[r]+e]=o[r]||o[r-2]||o[0];return i}},He.test(t)||(Q.cssHooks[t+e].set=k)}),Q.fn.extend({css:function(t,e){return ve(this,function(t,e,n){var r,i,o={},a=0;if(Q.isArray(e)){for(r=$e(t),i=e.length;i>a;a++)o[e[a]]=Q.css(t,e[a],!1,r);return o}return void 0!==n?Q.style(t,e,n):Q.css(t,e)},t,e,arguments.length>1)},show:function(){return S(this,!0)},hide:function(){return S(this)},toggle:function(t){return"boolean"==typeof t?t?this.show():this.hide():this.each(function(){Me(this)?Q(this).show():Q(this).hide()})}}),Q.Tween=T,T.prototype={constructor:T,init:function(t,e,n,r,i,o){this.elem=t,this.prop=n,this.easing=i||"swing",this.options=e,this.start=this.now=this.cur(),this.end=r,this.unit=o||(Q.cssNumber[n]?"":"px")},cur:function(){var t=T.propHooks[this.prop];return t&&t.get?t.get(this):T.propHooks._default.get(this)},run:function(t){var e,n=T.propHooks[this.prop];return this.pos=e=this.options.duration?Q.easing[this.easing](t,this.options.duration*t,0,1,this.options.duration):t,this.now=(this.end-this.start)*e+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):T.propHooks._default.set(this),this}},T.prototype.init.prototype=T.prototype,T.propHooks={_default:{get:function(t){var e;return null==t.elem[t.prop]||t.elem.style&&null!=t.elem.style[t.prop]?(e=Q.css(t.elem,t.prop,""),e&&"auto"!==e?e:0):t.elem[t.prop]},set:function(t){Q.fx.step[t.prop]?Q.fx.step[t.prop](t):t.elem.style&&(null!=t.elem.style[Q.cssProps[t.prop]]||Q.cssHooks[t.prop])?Q.style(t.elem,t.prop,t.now+t.unit):t.elem[t.prop]=t.now}}},T.propHooks.scrollTop=T.propHooks.scrollLeft={set:function(t){t.elem.nodeType&&t.elem.parentNode&&(t.elem[t.prop]=t.now)}},Q.easing={linear:function(t){return t},swing:function(t){return.5-Math.cos(t*Math.PI)/2}},Q.fx=T.prototype.init,Q.fx.step={};var Ze,Ge,Ke=/^(?:toggle|show|hide)$/,Qe=new RegExp("^(?:([+-])=|)("+we+")([a-z%]*)$","i"),tn=/queueHooks$/,en=[q],nn={"*":[function(t,e){var n=this.createTween(t,e),r=n.cur(),i=Qe.exec(e),o=i&&i[3]||(Q.cssNumber[t]?"":"px"),a=(Q.cssNumber[t]||"px"!==o&&+r)&&Qe.exec(Q.css(n.elem,t)),u=1,s=20;if(a&&a[3]!==o){o=o||a[3],i=i||[],a=+r||1;do u=u||".5",a/=u,Q.style(n.elem,t,a+o);while(u!==(u=n.cur()/r)&&1!==u&&--s)}return i&&(a=n.start=+a||+r||0,n.unit=o,n.end=i[1]?a+(i[1]+1)*i[2]:+i[2]),n}]};Q.Animation=Q.extend(D,{tweener:function(t,e){Q.isFunction(t)?(e=t,t=["*"]):t=t.split(" ");for(var n,r=0,i=t.length;i>r;r++)n=t[r],nn[n]=nn[n]||[],nn[n].unshift(e)},prefilter:function(t,e){e?en.unshift(t):en.push(t)}}),Q.speed=function(t,e,n){var r=t&&"object"==typeof t?Q.extend({},t):{complete:n||!n&&e||Q.isFunction(t)&&t,duration:t,easing:n&&e||e&&!Q.isFunction(e)&&e};return r.duration=Q.fx.off?0:"number"==typeof r.duration?r.duration:r.duration in Q.fx.speeds?Q.fx.speeds[r.duration]:Q.fx.speeds._default,(null==r.queue||r.queue===!0)&&(r.queue="fx"),r.old=r.complete,r.complete=function(){Q.isFunction(r.old)&&r.old.call(this),r.queue&&Q.dequeue(this,r.queue)},r},Q.fn.extend({fadeTo:function(t,e,n,r){return this.filter(Me).css("opacity",0).show().end().animate({opacity:e},t,n,r)},animate:function(t,e,n,r){var i=Q.isEmptyObject(t),o=Q.speed(e,n,r),a=function(){var e=D(this,Q.extend({},t),o);(i||me.get(this,"finish"))&&e.stop(!0)};return a.finish=a,i||o.queue===!1?this.each(a):this.queue(o.queue,a)},stop:function(t,e,n){var r=function(t){var e=t.stop;delete t.stop,e(n)};return"string"!=typeof t&&(n=e,e=t,t=void 0),e&&t!==!1&&this.queue(t||"fx",[]),this.each(function(){var e=!0,i=null!=t&&t+"queueHooks",o=Q.timers,data=me.get(this);if(i)data[i]&&data[i].stop&&r(data[i]);else for(i in data)data[i]&&data[i].stop&&tn.test(i)&&r(data[i]);for(i=o.length;i--;)o[i].elem!==this||null!=t&&o[i].queue!==t||(o[i].anim.stop(n),e=!1,o.splice(i,1));(e||!n)&&Q.dequeue(this,t)})},finish:function(t){return t!==!1&&(t=t||"fx"),this.each(function(){var e,data=me.get(this),n=data[t+"queue"],r=data[t+"queueHooks"],i=Q.timers,o=n?n.length:0;for(data.finish=!0,Q.queue(this,t,[]),r&&r.stop&&r.stop.call(this,!0),e=i.length;e--;)i[e].elem===this&&i[e].queue===t&&(i[e].anim.stop(!0),i.splice(e,1));for(e=0;o>e;e++)n[e]&&n[e].finish&&n[e].finish.call(this);delete data.finish})}}),Q.each(["toggle","show","hide"],function(t,e){var n=Q.fn[e];Q.fn[e]=function(t,r,i){return null==t||"boolean"==typeof t?n.apply(this,arguments):this.animate(A(e,!0),t,r,i)}}),Q.each({slideDown:A("show"),slideUp:A("hide"),slideToggle:A("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(t,e){Q.fn[t]=function(t,n,r){return this.animate(e,t,n,r)}}),Q.timers=[],Q.fx.tick=function(){var t,e=0,n=Q.timers;for(Ze=Q.now();e<n.length;e++)t=n[e],t()||n[e]!==t||n.splice(e--,1);n.length||Q.fx.stop(),Ze=void 0},Q.fx.timer=function(t){Q.timers.push(t),t()?Q.fx.start():Q.timers.pop()},Q.fx.interval=13,Q.fx.start=function(){Ge||(Ge=setInterval(Q.fx.tick,Q.fx.interval))},Q.fx.stop=function(){clearInterval(Ge),Ge=null},Q.fx.speeds={slow:600,fast:200,_default:400},Q.fn.delay=function(t,e){return t=Q.fx?Q.fx.speeds[t]||t:t,e=e||"fx",this.queue(e,function(e,n){var r=setTimeout(e,t);n.stop=function(){clearTimeout(r)}})},function(){var t=G.createElement("input"),e=G.createElement("select"),n=e.appendChild(G.createElement("option"));t.type="checkbox",Z.checkOn=""!==t.value,Z.optSelected=n.selected,e.disabled=!0,Z.optDisabled=!n.disabled,t=G.createElement("input"),t.value="t",t.type="radio",Z.radioValue="t"===t.value}();var rn,on,an=Q.expr.attrHandle;Q.fn.extend({attr:function(t,e){return ve(this,Q.attr,t,e,arguments.length>1)},removeAttr:function(t){return this.each(function(){Q.removeAttr(this,t)})}}),Q.extend({attr:function(t,e,n){var r,i,o=t.nodeType;if(t&&3!==o&&8!==o&&2!==o)return typeof t.getAttribute===Ee?Q.prop(t,e,n):(1===o&&Q.isXMLDoc(t)||(e=e.toLowerCase(),r=Q.attrHooks[e]||(Q.expr.match.bool.test(e)?on:rn)),void 0===n?r&&"get"in r&&null!==(i=r.get(t,e))?i:(i=Q.find.attr(t,e),null==i?void 0:i):null!==n?r&&"set"in r&&void 0!==(i=r.set(t,n,e))?i:(t.setAttribute(e,n+""),n):void Q.removeAttr(t,e))},removeAttr:function(t,e){var n,r,i=0,o=e&&e.match(pe);if(o&&1===t.nodeType)for(;n=o[i++];)r=Q.propFix[n]||n,Q.expr.match.bool.test(n)&&(t[r]=!1),t.removeAttribute(n)},attrHooks:{type:{set:function(t,e){if(!Z.radioValue&&"radio"===e&&Q.nodeName(t,"input")){var n=t.value;return t.setAttribute("type",e),n&&(t.value=n),e}}}}}),on={set:function(t,e,n){return e===!1?Q.removeAttr(t,n):t.setAttribute(n,n),n}},Q.each(Q.expr.match.bool.source.match(/\w+/g),function(t,e){var n=an[e]||Q.find.attr;an[e]=function(t,e,r){var i,o;return r||(o=an[e],an[e]=i,i=null!=n(t,e,r)?e.toLowerCase():null,an[e]=o),i}});var un=/^(?:input|select|textarea|button)$/i;Q.fn.extend({prop:function(t,e){return ve(this,Q.prop,t,e,arguments.length>1)},removeProp:function(t){return this.each(function(){delete this[Q.propFix[t]||t]})}}),Q.extend({propFix:{"for":"htmlFor","class":"className"},prop:function(t,e,n){var r,i,o,a=t.nodeType;if(t&&3!==a&&8!==a&&2!==a)return o=1!==a||!Q.isXMLDoc(t),o&&(e=Q.propFix[e]||e,i=Q.propHooks[e]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(t,n,e))?r:t[e]=n:i&&"get"in i&&null!==(r=i.get(t,e))?r:t[e]},propHooks:{tabIndex:{get:function(t){return t.hasAttribute("tabindex")||un.test(t.nodeName)||t.href?t.tabIndex:-1}}}}),Z.optSelected||(Q.propHooks.selected={get:function(t){var e=t.parentNode;return e&&e.parentNode&&e.parentNode.selectedIndex,null}}),Q.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){Q.propFix[this.toLowerCase()]=this});var sn=/[\t\r\n\f]/g;Q.fn.extend({addClass:function(t){var e,n,r,i,o,a,u="string"==typeof t&&t,s=0,l=this.length;if(Q.isFunction(t))return this.each(function(e){Q(this).addClass(t.call(this,e,this.className))});if(u)for(e=(t||"").match(pe)||[];l>s;s++)if(n=this[s],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(sn," "):" ")){for(o=0;i=e[o++];)r.indexOf(" "+i+" ")<0&&(r+=i+" ");a=Q.trim(r),n.className!==a&&(n.className=a)}return this},removeClass:function(t){var e,n,r,i,o,a,u=0===arguments.length||"string"==typeof t&&t,s=0,l=this.length;if(Q.isFunction(t))return this.each(function(e){Q(this).removeClass(t.call(this,e,this.className))});if(u)for(e=(t||"").match(pe)||[];l>s;s++)if(n=this[s],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(sn," "):"")){for(o=0;i=e[o++];)for(;r.indexOf(" "+i+" ")>=0;)r=r.replace(" "+i+" "," ");a=t?Q.trim(r):"",n.className!==a&&(n.className=a)}return this},toggleClass:function(t,e){var n=typeof t;return"boolean"==typeof e&&"string"===n?e?this.addClass(t):this.removeClass(t):this.each(Q.isFunction(t)?function(n){Q(this).toggleClass(t.call(this,n,this.className,e),e)}:function(){if("string"===n)for(var e,r=0,i=Q(this),o=t.match(pe)||[];e=o[r++];)i.hasClass(e)?i.removeClass(e):i.addClass(e);else(n===Ee||"boolean"===n)&&(this.className&&me.set(this,"__className__",this.className),this.className=this.className||t===!1?"":me.get(this,"__className__")||"")})},hasClass:function(t){for(var e=" "+t+" ",n=0,r=this.length;r>n;n++)if(1===this[n].nodeType&&(" "+this[n].className+" ").replace(sn," ").indexOf(e)>=0)return!0;return!1}});var ln=/\r/g;Q.fn.extend({val:function(t){var e,n,r,i=this[0];{if(arguments.length)return r=Q.isFunction(t),this.each(function(n){var i;1===this.nodeType&&(i=r?t.call(this,n,Q(this).val()):t,null==i?i="":"number"==typeof i?i+="":Q.isArray(i)&&(i=Q.map(i,function(t){return null==t?"":t+""})),e=Q.valHooks[this.type]||Q.valHooks[this.nodeName.toLowerCase()],e&&"set"in e&&void 0!==e.set(this,i,"value")||(this.value=i))});if(i)return e=Q.valHooks[i.type]||Q.valHooks[i.nodeName.toLowerCase()],e&&"get"in e&&void 0!==(n=e.get(i,"value"))?n:(n=i.value,"string"==typeof n?n.replace(ln,""):null==n?"":n)}}}),Q.extend({valHooks:{option:{get:function(t){var e=Q.find.attr(t,"value");return null!=e?e:Q.trim(Q.text(t))}},select:{get:function(t){for(var e,n,r=t.options,i=t.selectedIndex,o="select-one"===t.type||0>i,a=o?null:[],u=o?i+1:r.length,s=0>i?u:o?i:0;u>s;s++)if(n=r[s],!(!n.selected&&s!==i||(Z.optDisabled?n.disabled:null!==n.getAttribute("disabled"))||n.parentNode.disabled&&Q.nodeName(n.parentNode,"optgroup"))){if(e=Q(n).val(),o)return e;a.push(e)}return a},set:function(t,e){for(var n,r,i=t.options,o=Q.makeArray(e),a=i.length;a--;)r=i[a],(r.selected=Q.inArray(r.value,o)>=0)&&(n=!0);return n||(t.selectedIndex=-1),o}}}}),Q.each(["radio","checkbox"],function(){Q.valHooks[this]={set:function(t,e){return Q.isArray(e)?t.checked=Q.inArray(Q(t).val(),e)>=0:void 0}},Z.checkOn||(Q.valHooks[this].get=function(t){return null===t.getAttribute("value")?"on":t.value})}),Q.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(t,e){Q.fn[e]=function(data,t){return arguments.length>0?this.on(e,null,data,t):this.trigger(e)}}),Q.fn.extend({hover:function(t,e){return this.mouseenter(t).mouseleave(e||t)},bind:function(t,data,e){return this.on(t,null,data,e)},unbind:function(t,e){return this.off(t,null,e)},delegate:function(t,e,data,n){return this.on(e,t,data,n)},undelegate:function(t,e,n){return 1===arguments.length?this.off(t,"**"):this.off(e,t||"**",n)}});var cn=Q.now(),fn=/\?/;Q.parseJSON=function(data){return JSON.parse(data+"")},Q.parseXML=function(data){var t,e;if(!data||"string"!=typeof data)return null;try{e=new DOMParser,t=e.parseFromString(data,"text/xml")}catch(n){t=void 0}return(!t||t.getElementsByTagName("parsererror").length)&&Q.error("Invalid XML: "+data),t};var hn=/#.*$/,pn=/([?&])_=[^&]*/,dn=/^(.*?):[ \t]*([^\r\n]*)$/gm,gn=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,vn=/^(?:GET|HEAD)$/,mn=/^\/\//,yn=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,bn={},xn={},wn="*/".concat("*"),_n=t.location.href,Mn=yn.exec(_n.toLowerCase())||[];Q.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:_n,type:"GET",isLocal:gn.test(Mn[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":wn,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":Q.parseJSON,"text xml":Q.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(t,e){return e?z(z(t,Q.ajaxSettings),e):z(Q.ajaxSettings,t)},ajaxPrefilter:L(bn),ajaxTransport:L(xn),ajax:function(t,e){function n(t,e,n,a){var s,c,m,y,x,_=e;2!==b&&(b=2,u&&clearTimeout(u),r=void 0,o=a||"",w.readyState=t>0?4:0,s=t>=200&&300>t||304===t,n&&(y=R(f,w,n)),y=P(f,y,w,s),s?(f.ifModified&&(x=w.getResponseHeader("Last-Modified"),x&&(Q.lastModified[i]=x),x=w.getResponseHeader("etag"),x&&(Q.etag[i]=x)),204===t||"HEAD"===f.type?_="nocontent":304===t?_="notmodified":(_=y.state,c=y.data,m=y.error,s=!m)):(m=_,(t||!_)&&(_="error",0>t&&(t=0))),w.status=t,w.statusText=(e||_)+"",s?d.resolveWith(h,[c,_,w]):d.rejectWith(h,[w,_,m]),w.statusCode(v),v=void 0,l&&p.trigger(s?"ajaxSuccess":"ajaxError",[w,f,s?c:m]),g.fireWith(h,[w,_]),l&&(p.trigger("ajaxComplete",[w,f]),--Q.active||Q.event.trigger("ajaxStop")))
-}"object"==typeof t&&(e=t,t=void 0),e=e||{};var r,i,o,a,u,s,l,c,f=Q.ajaxSetup({},e),h=f.context||f,p=f.context&&(h.nodeType||h.jquery)?Q(h):Q.event,d=Q.Deferred(),g=Q.Callbacks("once memory"),v=f.statusCode||{},m={},y={},b=0,x="canceled",w={readyState:0,getResponseHeader:function(t){var e;if(2===b){if(!a)for(a={};e=dn.exec(o);)a[e[1].toLowerCase()]=e[2];e=a[t.toLowerCase()]}return null==e?null:e},getAllResponseHeaders:function(){return 2===b?o:null},setRequestHeader:function(t,e){var n=t.toLowerCase();return b||(t=y[n]=y[n]||t,m[t]=e),this},overrideMimeType:function(t){return b||(f.mimeType=t),this},statusCode:function(t){var e;if(t)if(2>b)for(e in t)v[e]=[v[e],t[e]];else w.always(t[w.status]);return this},abort:function(t){var e=t||x;return r&&r.abort(e),n(0,e),this}};if(d.promise(w).complete=g.add,w.success=w.done,w.error=w.fail,f.url=((t||f.url||_n)+"").replace(hn,"").replace(mn,Mn[1]+"//"),f.type=e.method||e.type||f.method||f.type,f.dataTypes=Q.trim(f.dataType||"*").toLowerCase().match(pe)||[""],null==f.crossDomain&&(s=yn.exec(f.url.toLowerCase()),f.crossDomain=!(!s||s[1]===Mn[1]&&s[2]===Mn[2]&&(s[3]||("http:"===s[1]?"80":"443"))===(Mn[3]||("http:"===Mn[1]?"80":"443")))),f.data&&f.processData&&"string"!=typeof f.data&&(f.data=Q.param(f.data,f.traditional)),F(bn,f,e,w),2===b)return w;l=Q.event&&f.global,l&&0===Q.active++&&Q.event.trigger("ajaxStart"),f.type=f.type.toUpperCase(),f.hasContent=!vn.test(f.type),i=f.url,f.hasContent||(f.data&&(i=f.url+=(fn.test(i)?"&":"?")+f.data,delete f.data),f.cache===!1&&(f.url=pn.test(i)?i.replace(pn,"$1_="+cn++):i+(fn.test(i)?"&":"?")+"_="+cn++)),f.ifModified&&(Q.lastModified[i]&&w.setRequestHeader("If-Modified-Since",Q.lastModified[i]),Q.etag[i]&&w.setRequestHeader("If-None-Match",Q.etag[i])),(f.data&&f.hasContent&&f.contentType!==!1||e.contentType)&&w.setRequestHeader("Content-Type",f.contentType),w.setRequestHeader("Accept",f.dataTypes[0]&&f.accepts[f.dataTypes[0]]?f.accepts[f.dataTypes[0]]+("*"!==f.dataTypes[0]?", "+wn+"; q=0.01":""):f.accepts["*"]);for(c in f.headers)w.setRequestHeader(c,f.headers[c]);if(f.beforeSend&&(f.beforeSend.call(h,w,f)===!1||2===b))return w.abort();x="abort";for(c in{success:1,error:1,complete:1})w[c](f[c]);if(r=F(xn,f,e,w)){w.readyState=1,l&&p.trigger("ajaxSend",[w,f]),f.async&&f.timeout>0&&(u=setTimeout(function(){w.abort("timeout")},f.timeout));try{b=1,r.send(m,n)}catch(_){if(!(2>b))throw _;n(-1,_)}}else n(-1,"No Transport");return w},getJSON:function(t,data,e){return Q.get(t,data,e,"json")},getScript:function(t,e){return Q.get(t,void 0,e,"script")}}),Q.each(["get","post"],function(t,e){Q[e]=function(t,data,n,r){return Q.isFunction(data)&&(r=r||n,n=data,data=void 0),Q.ajax({url:t,type:e,dataType:r,data:data,success:n})}}),Q._evalUrl=function(t){return Q.ajax({url:t,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})},Q.fn.extend({wrapAll:function(t){var e;return Q.isFunction(t)?this.each(function(e){Q(this).wrapAll(t.call(this,e))}):(this[0]&&(e=Q(t,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&e.insertBefore(this[0]),e.map(function(){for(var t=this;t.firstElementChild;)t=t.firstElementChild;return t}).append(this)),this)},wrapInner:function(t){return this.each(Q.isFunction(t)?function(e){Q(this).wrapInner(t.call(this,e))}:function(){var e=Q(this),n=e.contents();n.length?n.wrapAll(t):e.append(t)})},wrap:function(t){var e=Q.isFunction(t);return this.each(function(n){Q(this).wrapAll(e?t.call(this,n):t)})},unwrap:function(){return this.parent().each(function(){Q.nodeName(this,"body")||Q(this).replaceWith(this.childNodes)}).end()}}),Q.expr.filters.hidden=function(t){return t.offsetWidth<=0&&t.offsetHeight<=0},Q.expr.filters.visible=function(t){return!Q.expr.filters.hidden(t)};var kn=/%20/g,En=/\[\]$/,Cn=/\r?\n/g,Sn=/^(?:submit|button|image|reset|file)$/i,Tn=/^(?:input|select|textarea|keygen)/i;Q.param=function(t,e){var n,r=[],i=function(t,e){e=Q.isFunction(e)?e():null==e?"":e,r[r.length]=encodeURIComponent(t)+"="+encodeURIComponent(e)};if(void 0===e&&(e=Q.ajaxSettings&&Q.ajaxSettings.traditional),Q.isArray(t)||t.jquery&&!Q.isPlainObject(t))Q.each(t,function(){i(this.name,this.value)});else for(n in t)I(n,t[n],e,i);return r.join("&").replace(kn,"+")},Q.fn.extend({serialize:function(){return Q.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var t=Q.prop(this,"elements");return t?Q.makeArray(t):this}).filter(function(){var t=this.type;return this.name&&!Q(this).is(":disabled")&&Tn.test(this.nodeName)&&!Sn.test(t)&&(this.checked||!ke.test(t))}).map(function(t,e){var n=Q(this).val();return null==n?null:Q.isArray(n)?Q.map(n,function(t){return{name:e.name,value:t.replace(Cn,"\r\n")}}):{name:e.name,value:n.replace(Cn,"\r\n")}}).get()}}),Q.ajaxSettings.xhr=function(){try{return new XMLHttpRequest}catch(t){}};var jn=0,An={},Nn={0:200,1223:204},qn=Q.ajaxSettings.xhr();t.attachEvent&&t.attachEvent("onunload",function(){for(var t in An)An[t]()}),Z.cors=!!qn&&"withCredentials"in qn,Z.ajax=qn=!!qn,Q.ajaxTransport(function(t){var e;return Z.cors||qn&&!t.crossDomain?{send:function(n,r){var i,o=t.xhr(),a=++jn;if(o.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(i in t.xhrFields)o[i]=t.xhrFields[i];t.mimeType&&o.overrideMimeType&&o.overrideMimeType(t.mimeType),t.crossDomain||n["X-Requested-With"]||(n["X-Requested-With"]="XMLHttpRequest");for(i in n)o.setRequestHeader(i,n[i]);e=function(t){return function(){e&&(delete An[a],e=o.onload=o.onerror=null,"abort"===t?o.abort():"error"===t?r(o.status,o.statusText):r(Nn[o.status]||o.status,o.statusText,"string"==typeof o.responseText?{text:o.responseText}:void 0,o.getAllResponseHeaders()))}},o.onload=e(),o.onerror=e("error"),e=An[a]=e("abort");try{o.send(t.hasContent&&t.data||null)}catch(u){if(e)throw u}},abort:function(){e&&e()}}:void 0}),Q.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(t){return Q.globalEval(t),t}}}),Q.ajaxPrefilter("script",function(t){void 0===t.cache&&(t.cache=!1),t.crossDomain&&(t.type="GET")}),Q.ajaxTransport("script",function(t){if(t.crossDomain){var e,n;return{send:function(r,i){e=Q("<script>").prop({async:!0,charset:t.scriptCharset,src:t.url}).on("load error",n=function(t){e.remove(),n=null,t&&i("error"===t.type?404:200,t.type)}),G.head.appendChild(e[0])},abort:function(){n&&n()}}}});var On=[],Dn=/(=)\?(?=&|$)|\?\?/;Q.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var t=On.pop()||Q.expando+"_"+cn++;return this[t]=!0,t}}),Q.ajaxPrefilter("json jsonp",function(e,n,r){var i,o,a,u=e.jsonp!==!1&&(Dn.test(e.url)?"url":"string"==typeof e.data&&!(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Dn.test(e.data)&&"data");return u||"jsonp"===e.dataTypes[0]?(i=e.jsonpCallback=Q.isFunction(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,u?e[u]=e[u].replace(Dn,"$1"+i):e.jsonp!==!1&&(e.url+=(fn.test(e.url)?"&":"?")+e.jsonp+"="+i),e.converters["script json"]=function(){return a||Q.error(i+" was not called"),a[0]},e.dataTypes[0]="json",o=t[i],t[i]=function(){a=arguments},r.always(function(){t[i]=o,e[i]&&(e.jsonpCallback=n.jsonpCallback,On.push(i)),a&&Q.isFunction(o)&&o(a[0]),a=o=void 0}),"script"):void 0}),Q.parseHTML=function(data,t,e){if(!data||"string"!=typeof data)return null;"boolean"==typeof t&&(e=t,t=!1),t=t||G;var n=ae.exec(data),r=!e&&[];return n?[t.createElement(n[1])]:(n=Q.buildFragment([data],t,r),r&&r.length&&Q(r).remove(),Q.merge([],n.childNodes))};var Ln=Q.fn.load;Q.fn.load=function(t,e,n){if("string"!=typeof t&&Ln)return Ln.apply(this,arguments);var r,i,o,a=this,u=t.indexOf(" ");return u>=0&&(r=Q.trim(t.slice(u)),t=t.slice(0,u)),Q.isFunction(e)?(n=e,e=void 0):e&&"object"==typeof e&&(i="POST"),a.length>0&&Q.ajax({url:t,type:i,dataType:"html",data:e}).done(function(t){o=arguments,a.html(r?Q("<div>").append(Q.parseHTML(t)).find(r):t)}).complete(n&&function(t,e){a.each(n,o||[t.responseText,e,t])}),this},Q.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(t,e){Q.fn[e]=function(t){return this.on(e,t)}}),Q.expr.filters.animated=function(t){return Q.grep(Q.timers,function(e){return t===e.elem}).length};var Fn=t.document.documentElement;Q.offset={setOffset:function(t,e,n){var r,i,o,a,u,s,l,c=Q.css(t,"position"),f=Q(t),h={};"static"===c&&(t.style.position="relative"),u=f.offset(),o=Q.css(t,"top"),s=Q.css(t,"left"),l=("absolute"===c||"fixed"===c)&&(o+s).indexOf("auto")>-1,l?(r=f.position(),a=r.top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(s)||0),Q.isFunction(e)&&(e=e.call(t,n,u)),null!=e.top&&(h.top=e.top-u.top+a),null!=e.left&&(h.left=e.left-u.left+i),"using"in e?e.using.call(t,h):f.css(h)}},Q.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){Q.offset.setOffset(this,t,e)});var e,n,r=this[0],i={top:0,left:0},o=r&&r.ownerDocument;if(o)return e=o.documentElement,Q.contains(e,r)?(typeof r.getBoundingClientRect!==Ee&&(i=r.getBoundingClientRect()),n=H(o),{top:i.top+n.pageYOffset-e.clientTop,left:i.left+n.pageXOffset-e.clientLeft}):i},position:function(){if(this[0]){var t,e,n=this[0],r={top:0,left:0};return"fixed"===Q.css(n,"position")?e=n.getBoundingClientRect():(t=this.offsetParent(),e=this.offset(),Q.nodeName(t[0],"html")||(r=t.offset()),r.top+=Q.css(t[0],"borderTopWidth",!0),r.left+=Q.css(t[0],"borderLeftWidth",!0)),{top:e.top-r.top-Q.css(n,"marginTop",!0),left:e.left-r.left-Q.css(n,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var t=this.offsetParent||Fn;t&&!Q.nodeName(t,"html")&&"static"===Q.css(t,"position");)t=t.offsetParent;return t||Fn})}}),Q.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,n){var r="pageYOffset"===n;Q.fn[e]=function(i){return ve(this,function(e,i,o){var a=H(e);return void 0===o?a?a[n]:e[i]:void(a?a.scrollTo(r?t.pageXOffset:o,r?o:t.pageYOffset):e[i]=o)},e,i,arguments.length,null)}}),Q.each(["top","left"],function(t,e){Q.cssHooks[e]=_(Z.pixelPosition,function(t,n){return n?(n=w(t,e),Be.test(n)?Q(t).position()[e]+"px":n):void 0})}),Q.each({Height:"height",Width:"width"},function(t,e){Q.each({padding:"inner"+t,content:e,"":"outer"+t},function(n,r){Q.fn[r]=function(r,i){var o=arguments.length&&(n||"boolean"!=typeof r),a=n||(r===!0||i===!0?"margin":"border");return ve(this,function(e,n,r){var i;return Q.isWindow(e)?e.document.documentElement["client"+t]:9===e.nodeType?(i=e.documentElement,Math.max(e.body["scroll"+t],i["scroll"+t],e.body["offset"+t],i["offset"+t],i["client"+t])):void 0===r?Q.css(e,n,a):Q.style(e,n,r,a)},e,o?r:void 0,o,null)}})}),Q.fn.size=function(){return this.length},Q.fn.andSelf=Q.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return Q});var zn=t.jQuery,Rn=t.$;return Q.noConflict=function(e){return t.$===Q&&(t.$=Rn),e&&t.jQuery===Q&&(t.jQuery=zn),Q},typeof e===Ee&&(t.jQuery=t.$=Q),Q})},{}],59:[function(t,e,n){(function(t){(function(){function r(t,e,n){for(var r=(n||0)-1,i=t?t.length:0;++r<i;)if(t[r]===e)return r;return-1}function i(t,e){var n=typeof e;if(t=t.cache,"boolean"==n||null==e)return t[e]?0:-1;"number"!=n&&"string"!=n&&(n="object");var i="number"==n?e:x+e;return t=(t=t[n])&&t[i],"object"==n?t&&r(t,e)>-1?0:-1:t?0:-1}function o(t){var e=this.cache,n=typeof t;if("boolean"==n||null==t)e[t]=!0;else{"number"!=n&&"string"!=n&&(n="object");var r="number"==n?t:x+t,i=e[n]||(e[n]={});"object"==n?(i[r]||(i[r]=[])).push(t):i[r]=!0}}function a(t){return t.charCodeAt(0)}function u(t,e){for(var n=t.criteria,r=e.criteria,i=-1,o=n.length;++i<o;){var a=n[i],u=r[i];if(a!==u){if(a>u||"undefined"==typeof a)return 1;if(u>a||"undefined"==typeof u)return-1}}return t.index-e.index}function s(t){var e=-1,n=t.length,r=t[0],i=t[n/2|0],a=t[n-1];if(r&&"object"==typeof r&&i&&"object"==typeof i&&a&&"object"==typeof a)return!1;var u=f();u["false"]=u["null"]=u["true"]=u.undefined=!1;var s=f();for(s.array=t,s.cache=u,s.push=o;++e<n;)s.push(t[e]);return s}function l(t){return"\\"+Z[t]}function c(){return m.pop()||[]}function f(){return y.pop()||{array:null,cache:null,criteria:null,"false":!1,index:0,"null":!1,number:null,object:null,push:null,string:null,"true":!1,undefined:!1,value:null}}function h(t){t.length=0,m.length<_&&m.push(t)}function p(t){var e=t.cache;e&&p(e),t.array=t.cache=t.criteria=t.object=t.number=t.string=t.value=null,y.length<_&&y.push(t)}function d(t,e,n){e||(e=0),"undefined"==typeof n&&(n=t?t.length:0);for(var r=-1,i=n-e||0,o=Array(0>i?0:i);++r<i;)o[r]=t[e+r];return o}function g(t){function e(t){return t&&"object"==typeof t&&!Kr(t)&&Dr.call(t,"__wrapped__")?t:new n(t)}function n(t,e){this.__chain__=!!e,this.__wrapped__=t}function o(t){function e(){if(r){var t=d(r);Lr.apply(t,arguments)}if(this instanceof e){var o=y(n.prototype),a=n.apply(o,t||arguments);return Ae(a)?a:o}return n.apply(i,t||arguments)}var n=t[0],r=t[2],i=t[4];return Gr(e,t),e}function m(t,e,n,r,i){if(n){var o=n(t);if("undefined"!=typeof o)return o}var a=Ae(t);if(!a)return t;var u=Sr.call(t);if(!W[u])return t;var s=Jr[u];switch(u){case P:case I:return new s(+t);case B:case U:return new s(t);case V:return o=s(t.source,T.exec(t)),o.lastIndex=t.lastIndex,o}var l=Kr(t);if(e){var f=!r;r||(r=c()),i||(i=c());for(var p=r.length;p--;)if(r[p]==t)return i[p];o=l?s(t.length):{}}else o=l?d(t):oi({},t);return l&&(Dr.call(t,"index")&&(o.index=t.index),Dr.call(t,"input")&&(o.input=t.input)),e?(r.push(t),i.push(o),(l?Ze:si)(t,function(t,a){o[a]=m(t,e,n,r,i)}),f&&(h(r),h(i)),o):o}function y(t){return Ae(t)?Ir(t):{}}function _(t,e,n){if("function"!=typeof t)return Kn;if("undefined"==typeof e||!("prototype"in t))return t;var r=t.__bindData__;if("undefined"==typeof r&&(Zr.funcNames&&(r=!t.name),r=r||!Zr.funcDecomp,!r)){var i=qr.call(t);Zr.funcNames||(r=!j.test(i)),r||(r=O.test(i),Gr(t,r))}if(r===!1||r!==!0&&1&r[1])return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,i){return t.call(e,n,r,i)};case 4:return function(n,r,i,o){return t.call(e,n,r,i,o)}}return Ln(t,e)}function Z(t){function e(){var t=s?a:this;if(i){var p=d(i);Lr.apply(p,arguments)}if((o||c)&&(p||(p=d(arguments)),o&&Lr.apply(p,o),c&&p.length<u))return r|=16,Z([n,f?r:-4&r,p,null,a,u]);if(p||(p=arguments),l&&(n=t[h]),this instanceof e){t=y(n.prototype);var g=n.apply(t,p);return Ae(g)?g:t}return n.apply(t,p)}var n=t[0],r=t[1],i=t[2],o=t[3],a=t[4],u=t[5],s=1&r,l=2&r,c=4&r,f=8&r,h=n;return Gr(e,t),e}function K(t,e){var n=-1,o=se(),a=t?t.length:0,u=a>=w&&o===r,l=[];if(u){var c=s(e);c?(o=i,e=c):u=!1}for(;++n<a;){var f=t[n];o(e,f)<0&&l.push(f)}return u&&p(e),l}function Q(t,e,n,r){for(var i=(r||0)-1,o=t?t.length:0,a=[];++i<o;){var u=t[i];if(u&&"object"==typeof u&&"number"==typeof u.length&&(Kr(u)||he(u))){e||(u=Q(u,e,n));var s=-1,l=u.length,c=a.length;for(a.length+=l;++s<l;)a[c++]=u[s]}else n||a.push(u)}return a}function te(t,e,n,r,i,o){if(n){var a=n(t,e);if("undefined"!=typeof a)return!!a}if(t===e)return 0!==t||1/t==1/e;var u=typeof t,s=typeof e;if(!(t!==t||t&&J[u]||e&&J[s]))return!1;if(null==t||null==e)return t===e;var l=Sr.call(t),f=Sr.call(e);if(l==z&&(l=$),f==z&&(f=$),l!=f)return!1;switch(l){case P:case I:return+t==+e;case B:return t!=+t?e!=+e:0==t?1/t==1/e:t==+e;case V:case U:return t==_r(e)}var p=l==R;if(!p){var d=Dr.call(t,"__wrapped__"),g=Dr.call(e,"__wrapped__");if(d||g)return te(d?t.__wrapped__:t,g?e.__wrapped__:e,n,r,i,o);if(l!=$)return!1;var v=t.constructor,m=e.constructor;if(v!=m&&!(je(v)&&v instanceof v&&je(m)&&m instanceof m)&&"constructor"in t&&"constructor"in e)return!1}var y=!i;i||(i=c()),o||(o=c());for(var b=i.length;b--;)if(i[b]==t)return o[b]==e;var x=0;if(a=!0,i.push(t),o.push(e),p){if(b=t.length,x=e.length,a=x==b,a||r)for(;x--;){var w=b,_=e[x];if(r)for(;w--&&!(a=te(t[w],_,n,r,i,o)););else if(!(a=te(t[x],_,n,r,i,o)))break}}else ui(e,function(e,u,s){return Dr.call(s,u)?(x++,a=Dr.call(t,u)&&te(t[u],e,n,r,i,o)):void 0}),a&&!r&&ui(t,function(t,e,n){return Dr.call(n,e)?a=--x>-1:void 0});return i.pop(),o.pop(),y&&(h(i),h(o)),a}function ee(t,e,n,r,i){(Kr(e)?Ze:si)(e,function(e,o){var a,u,s=e,l=t[o];if(e&&((u=Kr(e))||li(e))){for(var c=r.length;c--;)if(a=r[c]==e){l=i[c];break}if(!a){var f;n&&(s=n(l,e),(f="undefined"!=typeof s)&&(l=s)),f||(l=u?Kr(l)?l:[]:li(l)?l:{}),r.push(e),i.push(l),f||ee(l,e,n,r,i)}}else n&&(s=n(l,e),"undefined"==typeof s&&(s=e)),"undefined"!=typeof s&&(l=s);t[o]=l})}function re(t,e){return t+Nr(Xr()*(e-t+1))}function ie(t,e,n){var o=-1,a=se(),u=t?t.length:0,l=[],f=!e&&u>=w&&a===r,d=n||f?c():l;if(f){var g=s(d);a=i,d=g}for(;++o<u;){var v=t[o],m=n?n(v,o,t):v;(e?!o||d[d.length-1]!==m:a(d,m)<0)&&((n||f)&&d.push(m),l.push(v))}return f?(h(d.array),p(d)):n&&h(d),l}function oe(t){return function(n,r,i){var o={};r=e.createCallback(r,i,3);var a=-1,u=n?n.length:0;if("number"==typeof u)for(;++a<u;){var s=n[a];t(o,s,r(s,a,n),n)}else si(n,function(e,n,i){t(o,e,r(e,n,i),i)});return o}}function ae(t,e,n,r,i,a){var u=1&e,s=2&e,l=4&e,c=16&e,f=32&e;if(!s&&!je(t))throw new Mr;c&&!n.length&&(e&=-17,c=n=!1),f&&!r.length&&(e&=-33,f=r=!1);var h=t&&t.__bindData__;if(h&&h!==!0)return h=d(h),h[2]&&(h[2]=d(h[2])),h[3]&&(h[3]=d(h[3])),!u||1&h[1]||(h[4]=i),!u&&1&h[1]&&(e|=8),!l||4&h[1]||(h[5]=a),c&&Lr.apply(h[2]||(h[2]=[]),n),f&&Rr.apply(h[3]||(h[3]=[]),r),h[1]|=e,ae.apply(null,h);var p=1==e||17===e?o:Z;return p([t,e,n,r,i,a])}function ue(t){return ei[t]}function se(){var t=(t=e.indexOf)===yn?r:t;return t}function le(t){return"function"==typeof t&&Tr.test(t)}function ce(t){var e,n;return t&&Sr.call(t)==$&&(e=t.constructor,!je(e)||e instanceof e)?(ui(t,function(t,e){n=e}),"undefined"==typeof n||Dr.call(t,n)):!1}function fe(t){return ni[t]}function he(t){return t&&"object"==typeof t&&"number"==typeof t.length&&Sr.call(t)==z||!1}function pe(t,e,n,r){return"boolean"!=typeof e&&null!=e&&(r=n,n=e,e=!1),m(t,e,"function"==typeof n&&_(n,r,1))}function de(t,e,n){return m(t,!0,"function"==typeof e&&_(e,n,1))}function ge(t,e){var n=y(t);return e?oi(n,e):n}function ve(t,n,r){var i;return n=e.createCallback(n,r,3),si(t,function(t,e,r){return n(t,e,r)?(i=e,!1):void 0}),i}function me(t,n,r){var i;return n=e.createCallback(n,r,3),be(t,function(t,e,r){return n(t,e,r)?(i=e,!1):void 0}),i}function ye(t,e,n){var r=[];ui(t,function(t,e){r.push(e,t)});var i=r.length;for(e=_(e,n,3);i--&&e(r[i--],r[i],t)!==!1;);return t}function be(t,e,n){var r=ti(t),i=r.length;for(e=_(e,n,3);i--;){var o=r[i];if(e(t[o],o,t)===!1)break}return t}function xe(t){var e=[];return ui(t,function(t,n){je(t)&&e.push(n)}),e.sort()}function we(t,e){return t?Dr.call(t,e):!1}function _e(t){for(var e=-1,n=ti(t),r=n.length,i={};++e<r;){var o=n[e];i[t[o]]=o}return i}function Me(t){return t===!0||t===!1||t&&"object"==typeof t&&Sr.call(t)==P||!1}function ke(t){return t&&"object"==typeof t&&Sr.call(t)==I||!1}function Ee(t){return t&&1===t.nodeType||!1}function Ce(t){var e=!0;if(!t)return e;var n=Sr.call(t),r=t.length;return n==R||n==U||n==z||n==$&&"number"==typeof r&&je(t.splice)?!r:(si(t,function(){return e=!1}),e)}function Se(t,e,n,r){return te(t,e,"function"==typeof n&&_(n,r,2))}function Te(t){return Br(t)&&!$r(parseFloat(t))}function je(t){return"function"==typeof t}function Ae(t){return!(!t||!J[typeof t])}function Ne(t){return Oe(t)&&t!=+t}function qe(t){return null===t}function Oe(t){return"number"==typeof t||t&&"object"==typeof t&&Sr.call(t)==B||!1}function De(t){return t&&"object"==typeof t&&Sr.call(t)==V||!1}function Le(t){return"string"==typeof t||t&&"object"==typeof t&&Sr.call(t)==U||!1}function Fe(t){return"undefined"==typeof t}function ze(t,n,r){var i={};return n=e.createCallback(n,r,3),si(t,function(t,e,r){i[e]=n(t,e,r)}),i}function Re(t){var e=arguments,n=2;if(!Ae(t))return t;if("number"!=typeof e[2]&&(n=e.length),n>3&&"function"==typeof e[n-2])var r=_(e[--n-1],e[n--],2);else n>2&&"function"==typeof e[n-1]&&(r=e[--n]);for(var i=d(arguments,1,n),o=-1,a=c(),u=c();++o<n;)ee(t,i[o],r,a,u);return h(a),h(u),t}function Pe(t,n,r){var i={};if("function"!=typeof n){var o=[];ui(t,function(t,e){o.push(e)}),o=K(o,Q(arguments,!0,!1,1));for(var a=-1,u=o.length;++a<u;){var s=o[a];i[s]=t[s]}}else n=e.createCallback(n,r,3),ui(t,function(t,e,r){n(t,e,r)||(i[e]=t)});return i}function Ie(t){for(var e=-1,n=ti(t),r=n.length,i=dr(r);++e<r;){var o=n[e];i[e]=[o,t[o]]}return i}function He(t,n,r){var i={};if("function"!=typeof n)for(var o=-1,a=Q(arguments,!0,!1,1),u=Ae(t)?a.length:0;++o<u;){var s=a[o];s in t&&(i[s]=t[s])}else n=e.createCallback(n,r,3),ui(t,function(t,e,r){n(t,e,r)&&(i[e]=t)});return i}function Be(t,n,r,i){var o=Kr(t);if(null==r)if(o)r=[];else{var a=t&&t.constructor,u=a&&a.prototype;r=y(u)}return n&&(n=e.createCallback(n,i,4),(o?Ze:si)(t,function(t,e,i){return n(r,t,e,i)})),r}function $e(t){for(var e=-1,n=ti(t),r=n.length,i=dr(r);++e<r;)i[e]=t[n[e]];return i}function Ve(t){for(var e=arguments,n=-1,r=Q(e,!0,!1,1),i=e[2]&&e[2][e[1]]===t?1:r.length,o=dr(i);++n<i;)o[n]=t[r[n]];return o}function Ue(t,e,n){var r=-1,i=se(),o=t?t.length:0,a=!1;return n=(0>n?Ur(0,o+n):n)||0,Kr(t)?a=i(t,e,n)>-1:"number"==typeof o?a=(Le(t)?t.indexOf(e,n):i(t,e,n))>-1:si(t,function(t){return++r>=n?!(a=t===e):void 0}),a}function We(t,n,r){var i=!0;n=e.createCallback(n,r,3);var o=-1,a=t?t.length:0;if("number"==typeof a)for(;++o<a&&(i=!!n(t[o],o,t)););else si(t,function(t,e,r){return i=!!n(t,e,r)});return i}function Ye(t,n,r){var i=[];n=e.createCallback(n,r,3);var o=-1,a=t?t.length:0;if("number"==typeof a)for(;++o<a;){var u=t[o];n(u,o,t)&&i.push(u)}else si(t,function(t,e,r){n(t,e,r)&&i.push(t)});return i}function Xe(t,n,r){n=e.createCallback(n,r,3);var i=-1,o=t?t.length:0;if("number"!=typeof o){var a;return si(t,function(t,e,r){return n(t,e,r)?(a=t,!1):void 0}),a}for(;++i<o;){var u=t[i];if(n(u,i,t))return u}}function Je(t,n,r){var i;return n=e.createCallback(n,r,3),Ge(t,function(t,e,r){return n(t,e,r)?(i=t,!1):void 0}),i}function Ze(t,e,n){var r=-1,i=t?t.length:0;if(e=e&&"undefined"==typeof n?e:_(e,n,3),"number"==typeof i)for(;++r<i&&e(t[r],r,t)!==!1;);else si(t,e);return t}function Ge(t,e,n){var r=t?t.length:0;if(e=e&&"undefined"==typeof n?e:_(e,n,3),"number"==typeof r)for(;r--&&e(t[r],r,t)!==!1;);else{var i=ti(t);r=i.length,si(t,function(t,n,o){return n=i?i[--r]:--r,e(o[n],n,o)})}return t}function Ke(t,e){var n=d(arguments,2),r=-1,i="function"==typeof e,o=t?t.length:0,a=dr("number"==typeof o?o:0);return Ze(t,function(t){a[++r]=(i?e:t[e]).apply(t,n)}),a}function Qe(t,n,r){var i=-1,o=t?t.length:0;if(n=e.createCallback(n,r,3),"number"==typeof o)for(var a=dr(o);++i<o;)a[i]=n(t[i],i,t);else a=[],si(t,function(t,e,r){a[++i]=n(t,e,r)});return a}function tn(t,n,r){var i=-1/0,o=i;if("function"!=typeof n&&r&&r[n]===t&&(n=null),null==n&&Kr(t))for(var u=-1,s=t.length;++u<s;){var l=t[u];l>o&&(o=l)}else n=null==n&&Le(t)?a:e.createCallback(n,r,3),Ze(t,function(t,e,r){var a=n(t,e,r);a>i&&(i=a,o=t)});return o}function en(t,n,r){var i=1/0,o=i;if("function"!=typeof n&&r&&r[n]===t&&(n=null),null==n&&Kr(t))for(var u=-1,s=t.length;++u<s;){var l=t[u];o>l&&(o=l)}else n=null==n&&Le(t)?a:e.createCallback(n,r,3),Ze(t,function(t,e,r){var a=n(t,e,r);i>a&&(i=a,o=t)});return o}function nn(t,n,r,i){if(!t)return r;var o=arguments.length<3;n=e.createCallback(n,i,4);var a=-1,u=t.length;if("number"==typeof u)for(o&&(r=t[++a]);++a<u;)r=n(r,t[a],a,t);else si(t,function(t,e,i){r=o?(o=!1,t):n(r,t,e,i)});return r}function rn(t,n,r,i){var o=arguments.length<3;return n=e.createCallback(n,i,4),Ge(t,function(t,e,i){r=o?(o=!1,t):n(r,t,e,i)}),r}function on(t,n,r){return n=e.createCallback(n,r,3),Ye(t,function(t,e,r){return!n(t,e,r)})}function an(t,e,n){if(t&&"number"!=typeof t.length&&(t=$e(t)),null==e||n)return t?t[re(0,t.length-1)]:v;var r=un(t);return r.length=Wr(Ur(0,e),r.length),r}function un(t){var e=-1,n=t?t.length:0,r=dr("number"==typeof n?n:0);return Ze(t,function(t){var n=re(0,++e);r[e]=r[n],r[n]=t}),r}function sn(t){var e=t?t.length:0;return"number"==typeof e?e:ti(t).length}function ln(t,n,r){var i;n=e.createCallback(n,r,3);var o=-1,a=t?t.length:0;if("number"==typeof a)for(;++o<a&&!(i=n(t[o],o,t)););else si(t,function(t,e,r){return!(i=n(t,e,r))});return!!i}function cn(t,n,r){var i=-1,o=Kr(n),a=t?t.length:0,s=dr("number"==typeof a?a:0);for(o||(n=e.createCallback(n,r,3)),Ze(t,function(t,e,r){var a=s[++i]=f();o?a.criteria=Qe(n,function(e){return t[e]}):(a.criteria=c())[0]=n(t,e,r),a.index=i,a.value=t}),a=s.length,s.sort(u);a--;){var l=s[a];s[a]=l.value,o||h(l.criteria),p(l)}return s}function fn(t){return t&&"number"==typeof t.length?d(t):$e(t)}function hn(t){for(var e=-1,n=t?t.length:0,r=[];++e<n;){var i=t[e];i&&r.push(i)}return r}function pn(t){return K(t,Q(arguments,!0,!0,1))}function dn(t,n,r){var i=-1,o=t?t.length:0;for(n=e.createCallback(n,r,3);++i<o;)if(n(t[i],i,t))return i;return-1}function gn(t,n,r){var i=t?t.length:0;for(n=e.createCallback(n,r,3);i--;)if(n(t[i],i,t))return i;return-1}function vn(t,n,r){var i=0,o=t?t.length:0;if("number"!=typeof n&&null!=n){var a=-1;for(n=e.createCallback(n,r,3);++a<o&&n(t[a],a,t);)i++}else if(i=n,null==i||r)return t?t[0]:v;return d(t,0,Wr(Ur(0,i),o))}function mn(t,e,n,r){return"boolean"!=typeof e&&null!=e&&(r=n,n="function"!=typeof e&&r&&r[e]===t?null:e,e=!1),null!=n&&(t=Qe(t,n,r)),Q(t,e)}function yn(t,e,n){if("number"==typeof n){var i=t?t.length:0;n=0>n?Ur(0,i+n):n||0}else if(n){var o=Sn(t,e);return t[o]===e?o:-1}return r(t,e,n)}function bn(t,n,r){var i=0,o=t?t.length:0;if("number"!=typeof n&&null!=n){var a=o;for(n=e.createCallback(n,r,3);a--&&n(t[a],a,t);)i++}else i=null==n||r?1:n||i;return d(t,0,Wr(Ur(0,o-i),o))}function xn(){for(var t=[],e=-1,n=arguments.length,o=c(),a=se(),u=a===r,l=c();++e<n;){var f=arguments[e];(Kr(f)||he(f))&&(t.push(f),o.push(u&&f.length>=w&&s(e?t[e]:l)))}var d=t[0],g=-1,v=d?d.length:0,m=[];t:for(;++g<v;){var y=o[0];if(f=d[g],(y?i(y,f):a(l,f))<0){for(e=n,(y||l).push(f);--e;)if(y=o[e],(y?i(y,f):a(t[e],f))<0)continue t;m.push(f)}}for(;n--;)y=o[n],y&&p(y);return h(o),h(l),m}function wn(t,n,r){var i=0,o=t?t.length:0;if("number"!=typeof n&&null!=n){var a=o;for(n=e.createCallback(n,r,3);a--&&n(t[a],a,t);)i++}else if(i=n,null==i||r)return t?t[o-1]:v;return d(t,Ur(0,o-i))}function _n(t,e,n){var r=t?t.length:0;for("number"==typeof n&&(r=(0>n?Ur(0,r+n):Wr(n,r-1))+1);r--;)if(t[r]===e)return r;return-1}function Mn(t){for(var e=arguments,n=0,r=e.length,i=t?t.length:0;++n<r;)for(var o=-1,a=e[n];++o<i;)t[o]===a&&(zr.call(t,o--,1),i--);return t}function kn(t,e,n){t=+t||0,n="number"==typeof n?n:+n||1,null==e&&(e=t,t=0);for(var r=-1,i=Ur(0,jr((e-t)/(n||1))),o=dr(i);++r<i;)o[r]=t,t+=n;return o}function En(t,n,r){var i=-1,o=t?t.length:0,a=[];for(n=e.createCallback(n,r,3);++i<o;){var u=t[i];n(u,i,t)&&(a.push(u),zr.call(t,i--,1),o--)}return a}function Cn(t,n,r){if("number"!=typeof n&&null!=n){var i=0,o=-1,a=t?t.length:0;for(n=e.createCallback(n,r,3);++o<a&&n(t[o],o,t);)i++}else i=null==n||r?1:Ur(0,n);return d(t,i)}function Sn(t,n,r,i){var o=0,a=t?t.length:o;for(r=r?e.createCallback(r,i,1):Kn,n=r(n);a>o;){var u=o+a>>>1;r(t[u])<n?o=u+1:a=u}return o}function Tn(){return ie(Q(arguments,!0,!0))}function jn(t,n,r,i){return"boolean"!=typeof n&&null!=n&&(i=r,r="function"!=typeof n&&i&&i[n]===t?null:n,n=!1),null!=r&&(r=e.createCallback(r,i,3)),ie(t,n,r)}function An(t){return K(t,d(arguments,1))}function Nn(){for(var t=-1,e=arguments.length;++t<e;){var n=arguments[t];if(Kr(n)||he(n))var r=r?ie(K(r,n).concat(K(n,r))):n}return r||[]}function qn(){for(var t=arguments.length>1?arguments:arguments[0],e=-1,n=t?tn(pi(t,"length")):0,r=dr(0>n?0:n);++e<n;)r[e]=pi(t,e);return r}function On(t,e){var n=-1,r=t?t.length:0,i={};for(e||!r||Kr(t[0])||(e=[]);++n<r;){var o=t[n];e?i[o]=e[n]:o&&(i[o[0]]=o[1])}return i}function Dn(t,e){if(!je(e))throw new Mr;return function(){return--t<1?e.apply(this,arguments):void 0}}function Ln(t,e){return arguments.length>2?ae(t,17,d(arguments,2),null,e):ae(t,1,null,null,e)}function Fn(t){for(var e=arguments.length>1?Q(arguments,!0,!1,1):xe(t),n=-1,r=e.length;++n<r;){var i=e[n];t[i]=ae(t[i],1,null,null,t)}return t}function zn(t,e){return arguments.length>2?ae(e,19,d(arguments,2),null,t):ae(e,3,null,null,t)}function Rn(){for(var t=arguments,e=t.length;e--;)if(!je(t[e]))throw new Mr;return function(){for(var e=arguments,n=t.length;n--;)e=[t[n].apply(this,e)];return e[0]}}function Pn(t,e){return e="number"==typeof e?e:+e||t.length,ae(t,4,null,null,null,e)}function In(t,e,n){var r,i,o,a,u,s,l,c=0,f=!1,h=!0;if(!je(t))throw new Mr;if(e=Ur(0,e)||0,n===!0){var p=!0;h=!1}else Ae(n)&&(p=n.leading,f="maxWait"in n&&(Ur(e,n.maxWait)||0),h="trailing"in n?n.trailing:h);var d=function(){var n=e-(gi()-a);if(0>=n){i&&Ar(i);var f=l;i=s=l=v,f&&(c=gi(),o=t.apply(u,r),s||i||(r=u=null))}else s=Fr(d,n)},g=function(){s&&Ar(s),i=s=l=v,(h||f!==e)&&(c=gi(),o=t.apply(u,r),s||i||(r=u=null))};return function(){if(r=arguments,a=gi(),u=this,l=h&&(s||!p),f===!1)var n=p&&!s;else{i||p||(c=a);var v=f-(a-c),m=0>=v;m?(i&&(i=Ar(i)),c=a,o=t.apply(u,r)):i||(i=Fr(g,v))}return m&&s?s=Ar(s):s||e===f||(s=Fr(d,e)),n&&(m=!0,o=t.apply(u,r)),!m||s||i||(r=u=null),o}}function Hn(t){if(!je(t))throw new Mr;var e=d(arguments,1);return Fr(function(){t.apply(v,e)},1)}function Bn(t,e){if(!je(t))throw new Mr;var n=d(arguments,2);return Fr(function(){t.apply(v,n)},e)}function $n(t,e){if(!je(t))throw new Mr;var n=function(){var r=n.cache,i=e?e.apply(this,arguments):x+arguments[0];return Dr.call(r,i)?r[i]:r[i]=t.apply(this,arguments)};return n.cache={},n}function Vn(t){var e,n;if(!je(t))throw new Mr;return function(){return e?n:(e=!0,n=t.apply(this,arguments),t=null,n)}}function Un(t){return ae(t,16,d(arguments,1))}function Wn(t){return ae(t,32,null,d(arguments,1))}function Yn(t,e,n){var r=!0,i=!0;if(!je(t))throw new Mr;return n===!1?r=!1:Ae(n)&&(r="leading"in n?n.leading:r,i="trailing"in n?n.trailing:i),Y.leading=r,Y.maxWait=e,Y.trailing=i,In(t,e,Y)}function Xn(t,e){return ae(e,16,[t])}function Jn(t){return function(){return t}}function Zn(t,e,n){var r=typeof t;if(null==t||"function"==r)return _(t,e,n);if("object"!=r)return nr(t);var i=ti(t),o=i[0],a=t[o];return 1!=i.length||a!==a||Ae(a)?function(e){for(var n=i.length,r=!1;n--&&(r=te(e[i[n]],t[i[n]],null,!0)););return r}:function(t){var e=t[o];return a===e&&(0!==a||1/a==1/e)}}function Gn(t){return null==t?"":_r(t).replace(ii,ue)}function Kn(t){return t}function Qn(t,r,i){var o=!0,a=r&&xe(r);r&&(i||a.length)||(null==i&&(i=r),u=n,r=t,t=e,a=xe(r)),i===!1?o=!1:Ae(i)&&"chain"in i&&(o=i.chain);var u=t,s=je(u);Ze(a,function(e){var n=t[e]=r[e];s&&(u.prototype[e]=function(){var e=this.__chain__,r=this.__wrapped__,i=[r];Lr.apply(i,arguments);var a=n.apply(t,i);if(o||e){if(r===a&&Ae(a))return this;a=new u(a),a.__chain__=e}return a})})}function tr(){return t._=Cr,this}function er(){}function nr(t){return function(e){return e[t]}}function rr(t,e,n){var r=null==t,i=null==e;if(null==n&&("boolean"==typeof t&&i?(n=t,t=1):i||"boolean"!=typeof e||(n=e,i=!0)),r&&i&&(e=1),t=+t||0,i?(e=t,t=0):e=+e||0,n||t%1||e%1){var o=Xr();return Wr(t+o*(e-t+parseFloat("1e-"+((o+"").length-1))),e)}return re(t,e)}function ir(t,e){if(t){var n=t[e];return je(n)?t[e]():n}}function or(t,data,n){var r=e.templateSettings;t=_r(t||""),n=ai({},n,r);var i,o=ai({},n.imports,r.imports),a=ti(o),u=$e(o),s=0,c=n.interpolate||q,f="__p += '",h=wr((n.escape||q).source+"|"+c.source+"|"+(c===A?S:q).source+"|"+(n.evaluate||q).source+"|$","g");t.replace(h,function(e,n,r,o,a,u){return r||(r=o),f+=t.slice(s,u).replace(D,l),n&&(f+="' +\n__e("+n+") +\n'"),a&&(i=!0,f+="';\n"+a+";\n__p += '"),r&&(f+="' +\n((__t = ("+r+")) == null ? '' : __t) +\n'"),s=u+e.length,e}),f+="';\n";var p=n.variable,d=p;d||(p="obj",f="with ("+p+") {\n"+f+"\n}\n"),f=(i?f.replace(k,""):f).replace(E,"$1").replace(C,"$1;"),f="function("+p+") {\n"+(d?"":p+" || ("+p+" = {});\n")+"var __t, __p = '', __e = _.escape"+(i?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+f+"return __p\n}";var g="\n/*\n//# sourceURL="+(n.sourceURL||"/lodash/template/source["+F++ +"]")+"\n*/";try{var m=mr(a,"return "+f+g).apply(v,u)
-}catch(y){throw y.source=f,y}return data?m(data):(m.source=f,m)}function ar(t,e,n){t=(t=+t)>-1?t:0;var r=-1,i=dr(t);for(e=_(e,n,1);++r<t;)i[r]=e(r);return i}function ur(t){return null==t?"":_r(t).replace(ri,fe)}function sr(t){var e=++b;return _r(null==t?"":t)+e}function lr(t){return t=new n(t),t.__chain__=!0,t}function cr(t,e){return e(t),t}function fr(){return this.__chain__=!0,this}function hr(){return _r(this.__wrapped__)}function pr(){return this.__wrapped__}t=t?ne.defaults(G.Object(),t,ne.pick(G,L)):G;var dr=t.Array,gr=t.Boolean,vr=t.Date,mr=t.Function,yr=t.Math,br=t.Number,xr=t.Object,wr=t.RegExp,_r=t.String,Mr=t.TypeError,kr=[],Er=xr.prototype,Cr=t._,Sr=Er.toString,Tr=wr("^"+_r(Sr).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),jr=yr.ceil,Ar=t.clearTimeout,Nr=yr.floor,qr=mr.prototype.toString,Or=le(Or=xr.getPrototypeOf)&&Or,Dr=Er.hasOwnProperty,Lr=kr.push,Fr=t.setTimeout,zr=kr.splice,Rr=kr.unshift,Pr=function(){try{var t={},e=le(e=xr.defineProperty)&&e,n=e(t,t,t)&&e}catch(r){}return n}(),Ir=le(Ir=xr.create)&&Ir,Hr=le(Hr=dr.isArray)&&Hr,Br=t.isFinite,$r=t.isNaN,Vr=le(Vr=xr.keys)&&Vr,Ur=yr.max,Wr=yr.min,Yr=t.parseInt,Xr=yr.random,Jr={};Jr[R]=dr,Jr[P]=gr,Jr[I]=vr,Jr[H]=mr,Jr[$]=xr,Jr[B]=br,Jr[V]=wr,Jr[U]=_r,n.prototype=e.prototype;var Zr=e.support={};Zr.funcDecomp=!le(t.WinRTError)&&O.test(g),Zr.funcNames="string"==typeof mr.name,e.templateSettings={escape:/<%-([\s\S]+?)%>/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:A,variable:"",imports:{_:e}},Ir||(y=function(){function e(){}return function(n){if(Ae(n)){e.prototype=n;var r=new e;e.prototype=null}return r||t.Object()}}());var Gr=Pr?function(t,e){X.value=e,Pr(t,"__bindData__",X)}:er,Kr=Hr||function(t){return t&&"object"==typeof t&&"number"==typeof t.length&&Sr.call(t)==R||!1},Qr=function(t){var e,n=t,r=[];if(!n)return r;if(!J[typeof t])return r;for(e in n)Dr.call(n,e)&&r.push(e);return r},ti=Vr?function(t){return Ae(t)?Vr(t):[]}:Qr,ei={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},ni=_e(ei),ri=wr("("+ti(ni).join("|")+")","g"),ii=wr("["+ti(ei).join("")+"]","g"),oi=function(t,e,n){var r,i=t,o=i;if(!i)return o;var a=arguments,u=0,s="number"==typeof n?2:a.length;if(s>3&&"function"==typeof a[s-2])var l=_(a[--s-1],a[s--],2);else s>2&&"function"==typeof a[s-1]&&(l=a[--s]);for(;++u<s;)if(i=a[u],i&&J[typeof i])for(var c=-1,f=J[typeof i]&&ti(i),h=f?f.length:0;++c<h;)r=f[c],o[r]=l?l(o[r],i[r]):i[r];return o},ai=function(t,e,n){var r,i=t,o=i;if(!i)return o;for(var a=arguments,u=0,s="number"==typeof n?2:a.length;++u<s;)if(i=a[u],i&&J[typeof i])for(var l=-1,c=J[typeof i]&&ti(i),f=c?c.length:0;++l<f;)r=c[l],"undefined"==typeof o[r]&&(o[r]=i[r]);return o},ui=function(t,e,n){var r,i=t,o=i;if(!i)return o;if(!J[typeof i])return o;e=e&&"undefined"==typeof n?e:_(e,n,3);for(r in i)if(e(i[r],r,t)===!1)return o;return o},si=function(t,e,n){var r,i=t,o=i;if(!i)return o;if(!J[typeof i])return o;e=e&&"undefined"==typeof n?e:_(e,n,3);for(var a=-1,u=J[typeof i]&&ti(i),s=u?u.length:0;++a<s;)if(r=u[a],e(i[r],r,t)===!1)return o;return o},li=Or?function(t){if(!t||Sr.call(t)!=$)return!1;var e=t.valueOf,n=le(e)&&(n=Or(e))&&Or(n);return n?t==n||Or(t)==n:ce(t)}:ce,ci=oe(function(t,e,n){Dr.call(t,n)?t[n]++:t[n]=1}),fi=oe(function(t,e,n){(Dr.call(t,n)?t[n]:t[n]=[]).push(e)}),hi=oe(function(t,e,n){t[n]=e}),pi=Qe,di=Ye,gi=le(gi=vr.now)&&gi||function(){return(new vr).getTime()},vi=8==Yr(M+"08")?Yr:function(t,e){return Yr(Le(t)?t.replace(N,""):t,e||0)};return e.after=Dn,e.assign=oi,e.at=Ve,e.bind=Ln,e.bindAll=Fn,e.bindKey=zn,e.chain=lr,e.compact=hn,e.compose=Rn,e.constant=Jn,e.countBy=ci,e.create=ge,e.createCallback=Zn,e.curry=Pn,e.debounce=In,e.defaults=ai,e.defer=Hn,e.delay=Bn,e.difference=pn,e.filter=Ye,e.flatten=mn,e.forEach=Ze,e.forEachRight=Ge,e.forIn=ui,e.forInRight=ye,e.forOwn=si,e.forOwnRight=be,e.functions=xe,e.groupBy=fi,e.indexBy=hi,e.initial=bn,e.intersection=xn,e.invert=_e,e.invoke=Ke,e.keys=ti,e.map=Qe,e.mapValues=ze,e.max=tn,e.memoize=$n,e.merge=Re,e.min=en,e.omit=Pe,e.once=Vn,e.pairs=Ie,e.partial=Un,e.partialRight=Wn,e.pick=He,e.pluck=pi,e.property=nr,e.pull=Mn,e.range=kn,e.reject=on,e.remove=En,e.rest=Cn,e.shuffle=un,e.sortBy=cn,e.tap=cr,e.throttle=Yn,e.times=ar,e.toArray=fn,e.transform=Be,e.union=Tn,e.uniq=jn,e.values=$e,e.where=di,e.without=An,e.wrap=Xn,e.xor=Nn,e.zip=qn,e.zipObject=On,e.collect=Qe,e.drop=Cn,e.each=Ze,e.eachRight=Ge,e.extend=oi,e.methods=xe,e.object=On,e.select=Ye,e.tail=Cn,e.unique=jn,e.unzip=qn,Qn(e),e.clone=pe,e.cloneDeep=de,e.contains=Ue,e.escape=Gn,e.every=We,e.find=Xe,e.findIndex=dn,e.findKey=ve,e.findLast=Je,e.findLastIndex=gn,e.findLastKey=me,e.has=we,e.identity=Kn,e.indexOf=yn,e.isArguments=he,e.isArray=Kr,e.isBoolean=Me,e.isDate=ke,e.isElement=Ee,e.isEmpty=Ce,e.isEqual=Se,e.isFinite=Te,e.isFunction=je,e.isNaN=Ne,e.isNull=qe,e.isNumber=Oe,e.isObject=Ae,e.isPlainObject=li,e.isRegExp=De,e.isString=Le,e.isUndefined=Fe,e.lastIndexOf=_n,e.mixin=Qn,e.noConflict=tr,e.noop=er,e.now=gi,e.parseInt=vi,e.random=rr,e.reduce=nn,e.reduceRight=rn,e.result=ir,e.runInContext=g,e.size=sn,e.some=ln,e.sortedIndex=Sn,e.template=or,e.unescape=ur,e.uniqueId=sr,e.all=We,e.any=ln,e.detect=Xe,e.findWhere=Xe,e.foldl=nn,e.foldr=rn,e.include=Ue,e.inject=nn,Qn(function(){var t={};return si(e,function(n,r){e.prototype[r]||(t[r]=n)}),t}(),!1),e.first=vn,e.last=wn,e.sample=an,e.take=vn,e.head=vn,si(e,function(t,r){var i="sample"!==r;e.prototype[r]||(e.prototype[r]=function(e,r){var o=this.__chain__,a=t(this.__wrapped__,e,r);return o||null!=e&&(!r||i&&"function"==typeof e)?new n(a,o):a})}),e.VERSION="2.4.1",e.prototype.chain=fr,e.prototype.toString=hr,e.prototype.value=pr,e.prototype.valueOf=pr,Ze(["join","pop","shift"],function(t){var r=kr[t];e.prototype[t]=function(){var t=this.__chain__,e=r.apply(this.__wrapped__,arguments);return t?new n(e,t):e}}),Ze(["push","reverse","sort","unshift"],function(t){var n=kr[t];e.prototype[t]=function(){return n.apply(this.__wrapped__,arguments),this}}),Ze(["concat","slice","splice"],function(t){var r=kr[t];e.prototype[t]=function(){return new n(r.apply(this.__wrapped__,arguments),this.__chain__)}}),e}var v,m=[],y=[],b=0,x=+new Date+"",w=75,_=40,M=" \f \n\r\u2028\u2029 ᠎              ",k=/\b__p \+= '';/g,E=/\b(__p \+=) '' \+/g,C=/(__e\(.*?\)|\b__t\)) \+\n'';/g,S=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,T=/\w*$/,j=/^\s*function[ \n\r\t]+\w/,A=/<%=([\s\S]+?)%>/g,N=RegExp("^["+M+"]*0+(?=.$)"),q=/($^)/,O=/\bthis\b/,D=/['\n\r\t\u2028\u2029\\]/g,L=["Array","Boolean","Date","Function","Math","Number","Object","RegExp","String","_","attachEvent","clearTimeout","isFinite","isNaN","parseInt","setTimeout"],F=0,z="[object Arguments]",R="[object Array]",P="[object Boolean]",I="[object Date]",H="[object Function]",B="[object Number]",$="[object Object]",V="[object RegExp]",U="[object String]",W={};W[H]=!1,W[z]=W[R]=W[P]=W[I]=W[B]=W[$]=W[V]=W[U]=!0;var Y={leading:!1,maxWait:0,trailing:!1},X={configurable:!1,enumerable:!1,value:null,writable:!1},J={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},Z={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"},G=J[typeof window]&&window||this,K=J[typeof n]&&n&&!n.nodeType&&n,Q=J[typeof e]&&e&&!e.nodeType&&e,te=Q&&Q.exports===K&&K,ee=J[typeof t]&&t;!ee||ee.global!==ee&&ee.window!==ee||(G=ee);var ne=g();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(G._=ne,define(function(){return ne})):K&&Q?te?(Q.exports=ne)._=ne:K._=ne:G._=ne}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],60:[function(t,e){{var n=t("ampersand-view"),r=t("./sidebar"),i=t("./chart"),o=t("jquery");t("debug")("view:app"),e.exports=n.extend({template:t("./templates/app.jade"),props:{chartView:"object",menuOpen:{type:"boolean","default":!1}},events:{"click .navbar-right label":"navButtonClicked","click [data-hook=menu-toggle]":"menuToggled"},bindings:{"model.chart.subSampled":{type:"toggle",hook:"sample-warning"},menuOpen:{type:"booleanClass",selector:"#wrapper",name:"active"}},subviews:{sidebar:{hook:"sidebar",waitFor:"model.sidebar",prepareView:function(t){return new r({el:t,model:this.model.sidebar})}},chart:{hook:"chart",waitFor:"model.chart",prepareView:function(t){return this.chartView=new i({el:t,model:this.model.chart}),this.chartView}}},statChanged:function(){this.model.chart.recalcXDomain=!0,this.chartView.render()},render:function(){this.renderWithTemplate(this.model)},navButtonClicked:function(t){var e=o(t.target).find("input"),n=e.attr("name"),r=e.val();this.model.chart[n]=r,this.model.chart.recalcXDomain="xSetting"===n,this.chartView.render()},menuToggled:function(){this.toggle("menuOpen")}})}},{"./chart":61,"./sidebar":64,"./templates/app.jade":66,"ampersand-view":30,debug:54,jquery:58}],61:[function(t,e){{var n=t("ampersand-view"),r=t("./viz"),i=t("./empty");t("d3"),t("jquery"),t("debug")("view:chart"),e.exports=n.extend({props:{vizView:{type:"any","default":null},emptyView:{type:"any","default":null},activeView:{type:"string","default":"empty",values:["empty","viz"]}},template:t("./templates/chart.jade"),bindings:{activeView:{type:"switch",cases:{empty:"[data-hook=empty]",viz:"[data-hook=graph]"}}},render:function(){this.activeView=this.model.empty?"empty":"viz",this.vizView?(this.vizView.data={series:this.model.series.filter(function(t){return t.selected}),model:this.model},this.vizView.redraw()):(this.renderWithTemplate(this.model),this.vizView=new r({width:"auto",height:600,renderMode:"svg",className:"multiline",debounceRender:!1,vizFn:t("./viz/d3-multiline"),data:{series:this.model.series.filter(function(t){return t.selected}),model:this.model}}),this.emptyView=new i,this.renderSubview(this.emptyView,"[data-hook=empty]"),this.renderSubview(this.vizView,"[data-hook=graph]"))}})}},{"./empty":62,"./templates/chart.jade":67,"./viz":72,"./viz/d3-multiline":73,"ampersand-view":30,d3:53,debug:54,jquery:58}],62:[function(t,e){{var n=t("ampersand-view");t("debug")("view:empty"),e.exports=n.extend({template:t("./templates/empty.jade"),autorender:!0})}},{"./templates/empty.jade":68,"ampersand-view":30,debug:54}],63:[function(t,e){{var n=t("ampersand-view"),r=t("ampersand-subcollection"),i=t("./stat"),o=t("jquery");t("lodash"),t("debug")("view:panel"),e.exports=n.extend({props:{indicator:{type:"string","default":"none",values:["none","some","all"]},statViews:"object",filteredStats:"object"},template:t("./templates/panel.jade"),events:{"click a":"collapsibleToggle","click [data-hook=caret]":"collapsibleToggle","click [data-hook=indicator]":"indicatorClicked"},bindings:{indicator:{type:function(t){switch($el=o(t),$el.removeClass(),this.model.selected){case"all":$el.addClass("fa fa-circle");break;case"some":$el.addClass("fa fa-adjust");break;case"none":$el.addClass("fa fa-circle-o")}},hook:"indicator"},"model.open":{type:"booleanClass",hook:"caret",yes:"fa-caret-up",no:"fa-caret-down"}},initialize:function(){this.filteredStats=new r(this.model.stats,{comparator:function(t){return t.name}})},render:function(){this.renderWithTemplate(this.model),this.statViews=this.renderCollection(this.filteredStats,i,this.queryByHook("stats"))},indicatorClicked:function(){var t="all"!==this.model.selected;switch(this.filteredStats.each(function(e){e.selected=t}),this.model.selected){case"all":case"some":this.collapsibleOpen();break;case"none":this.collapsibleClose()}this.model.app.clearSelectionState(),this.statChanged(null,{propagate:!0})},statChanged:function(t,e){e=e||{},this.indicator=this.model.selected,e.propagate&&this.parent.parent.statChanged(t,e)},collapsibleToggle:function(t){this.model.open?this.collapsibleClose(t):this.collapsibleOpen(t)},collapsibleClose:function(){o(this.query(".collapse")).collapse("hide"),this.model.open=!1},collapsibleOpen:function(){o(this.query(".collapse")).collapse("show"),this.model.open=!0},resetStats:function(){this.filteredStats.configure({},!0)},filterStats:function(t){this.filteredStats.configure({filter:function(e){return-1!==e.name.search(new RegExp(t),"gi")}},!0),0===this.filteredStats.length?this.collapsibleClose():this.collapsibleOpen()}})}},{"./stat":65,"./templates/panel.jade":69,"ampersand-subcollection":24,"ampersand-view":30,debug:54,jquery:58,lodash:59}],64:[function(t,e){{var n=t("ampersand-view"),r=t("./panel"),i=t("lodash");t("debug")("view:sidebar"),e.exports=n.extend({props:{panelViews:"object"},template:t("./templates/sidebar.jade"),events:{"click [data-hook=button]":"clearClicked","input [data-hook=input]":"inputChanged"},bindings:{"model.search.content":{type:"value",hook:"input"}},render:function(){this.renderWithTemplate(this.model),this.panelViews=this.renderCollection(this.model.panels,r,this.queryByHook("panels"))},closeAndReset:function(){i.each(this.panelViews.views,function(t){t.collapsibleClose(),t.resetStats()})},clearClicked:function(){this.model.search.content="",this.closeAndReset(),this.queryByHook("button").blur()},filterPanels:function(t){i.each(this.panelViews.views,function(e){e.filterStats(t)})},statChanged:function(t,e){this.parent.statChanged(t,e),e.all&&i.each(this.panelViews.views,function(e){e.statChanged(t,{all:!1,propagate:!1})})},inputChanged:i.debounce(function(){var t=this.queryByHook("input").value;this.model.search.content=t,""===t.trim()?this.closeAndReset():this.filterPanels(t)},200,{leading:!1,trailing:!0})})}},{"./panel":63,"./templates/sidebar.jade":70,"ampersand-view":30,debug:54,lodash:59}],65:[function(t,e){{var n=t("ampersand-view");t("debug")("view:stat"),e.exports=n.extend({template:t("./templates/stat.jade"),render:function(){this.renderWithTemplate(this.model)},events:{click:"clicked"},bindings:{"model.selected":{type:"booleanClass",hook:"circle",yes:"fa-circle",no:"fa-circle-o"}},clicked:function(t){t.shiftKey?this.model.app.toggleAllExcept(this.model):(this.model.app.clearSelectionState(),this.model.toggle("selected")),this.parent.parent.statChanged(this,{all:t.shiftKey,propagate:!0})}})}},{"./templates/stat.jade":71,"ampersand-view":30,debug:54}],66:[function(t,e){t("jade/runtime");e.exports=function(){var t=[];return t.push('<div id="app"><nav id="navbar" role="navigation" class="navbar navbar-default"><div class="container-fluid"><div class="navbar-header"><div class="navbar-brand"> <div data-hook="menu-toggle" class="brand-image"></div></div></div><ul class="nav navbar-right"><li data-hook="sample-warning" class="navbar-text"><div title="warning: more series data points than pixels. data is being sub-sampled to improve performance. To avoid sub-sampling, increase the browser window width or zoom in." class="alert alert-warning"><i id="menubtn" class="fa fa-warning"></i><span>sub-sampling</span></div></li><li class="navbar-text"><i id="menubtn" class="fa fa-clock-o"></i><span>x-axis</span><div data-toggle="buttons" data-hook="xSetting" class="btn-group"><label class="btn btn-default active"><input type="radio" name="xSetting" id="relative" value="relative" checked="checked"/>relative</label><label class="btn btn-default"><input type="radio" name="xSetting" id="absolute" value="absolute"/>absolute</label></div></li><li class="navbar-text"><i id="menubtn" class="fa fa-line-chart"></i><span>y-axis</span><div data-toggle="buttons" data-hook="ySetting" class="btn-group"><label class="btn btn-default active"><input type="radio" name="ySetting" value="linear" checked="checked"/>linear</label><label class="btn btn-default"><input type="radio" name="ySetting" value="log-scale"/>log-scale</label></div></li></ul></div></nav><div id="wrapper"><div id="sidebar-wrapper"><div class="sidebar-nav"><div data-hook="sidebar"></div></div></div><div class="container-fluid"><div class="row"><div class="col-md-12"><div data-hook="chart"></div></div></div></div></div></div>'),t.join("")}},{"jade/runtime":57}],67:[function(t,e){t("jade/runtime");e.exports=function(){var t=[];return t.push('<div><div class="container-fluid"><div class="row"><div class="col-md-12"><div data-hook="empty"></div><div data-hook="graph"></div></div></div></div></div>'),t.join("")}},{"jade/runtime":57}],68:[function(t,e){t("jade/runtime");e.exports=function(){var t=[];return t.push('<div class="instructions"><dl class="dl-horizontal"><dt><h1><span class="searchbox">mem|&nbsp;</span><i class="fa fa-search"></i></h1></dt><dd>filter stats by typing in the text box</dd><dt><h1> <u>cursor</u><i class="fa fa-caret-down"></i></h1></dt><dd>open/close group panels</dd><dt><h1><i class="fa fa-circle-o"></i><i class="fa fa-adjust"> </i><i class="fa fa-circle"> </i></h1></dt><dd>click to toggle individual stats or the entire group</dd><dt><h1><i class="fa fa-expand"></i><i class="fa fa-arrows-h"> </i><i class="fa fa-compress"> </i></h1></dt><dd>zoom with two-finger scroll or mouse wheel, pan with click+drag</dd><dt><h1>x<i class="fa fa-clock-o"></i>y<i class="fa fa-line-chart"> </i></h1></dt><dd>change x/y axis scaling with buttons at the top</dd></dl></div>'),t.join("")}},{"jade/runtime":57}],69:[function(t,e){var n=t("jade/runtime");e.exports=function(t){var e,r=[],i=t||{};return function(t,i){r.push('<div class="panel panel-default"><div class="panel-heading">'),i&&r.push('<span class="suptitle">'+n.escape(null==(e=i)?"":e)+"</span>"),r.push('<h4 class="panel-title"><i data-hook="indicator" class="fa fa-circle-o"></i><a data-toggle="collapse" data-parent="#panel-accordion">'+n.escape(null==(e=t)?"":e)+'</a><div class="pull-right"><i data-hook="caret" class="fa"></i></div></h4></div><div class="panel-collapse collapse"><div class="panel-body"><ul data-hook="stats" class="stats"></ul></div></div></div>')}.call(this,"subtitle"in i?i.subtitle:"undefined"!=typeof subtitle?subtitle:void 0,"suptitle"in i?i.suptitle:"undefined"!=typeof suptitle?suptitle:void 0),r.join("")}},{"jade/runtime":57}],70:[function(t,e){t("jade/runtime");e.exports=function(){var t=[];return t.push('<ul class="sidebar-nav"><li><div class="input-group"><input data-hook="input" type="text" class="form-control"/><span class="input-group-btn"><button data-hook="button" type="button" class="btn btn-default">Clear</button></span></div></li><li><div data-hook="panels" id="panel-accordion" class="panel-group"></div></li></ul>'),t.join("")}},{"jade/runtime":57}],71:[function(t,e){var n=t("jade/runtime");e.exports=function(t){var e,r=[],i=t||{};return function(t,i){r.push('<li class="stat"><i data-hook="circle"'+n.attr("style","color:"+t,!0,!1)+' class="fa fa-circle"></i>'+n.escape(null==(e=i)?"":e)+"</li>")}.call(this,"color"in i?i.color:"undefined"!=typeof color?color:void 0,"name"in i?i.name:"undefined"!=typeof name?name:void 0),r.join("")}},{"jade/runtime":57}],72:[function(t,e){{var n=t("ampersand-view"),r=t("lodash"),i=t("jquery");t("debug")("view:viz")}e.exports=n.extend({_values:{},_autoWidth:!1,_autoHeight:!1,props:{data:"any",className:"any",vizFn:"any",debounceRender:{type:"boolean","default":!0},renderMode:{type:"string",values:["canvas","svg","html"],"default":"svg"},width:{type:"any","default":"auto"},height:{type:"any","default":400}},bindings:{width:[{type:"attribute",name:"width",hook:"viz-container"}],height:{type:"attribute",name:"height",hook:"viz-container"},className:{type:"attribute",name:"class",hook:"viz-container"}},initialize:function(){switch(("auto"===this.width||void 0===this.width)&&(this._autoWidth=!0,this.width=0),("auto"===this.height||void 0===this.height)&&(this._autoHeight=!0,this.height=0),(this._autoWidth||this._autoHeight)&&(this.debounceRender?window.addEventListener("resize",r.debounce(this.redraw.bind(this),100)):window.addEventListener("resize",this.redraw.bind(this))),this.renderMode){case"canvas":this.template='<canvas data-hook="viz-container" id="canvas"></canvas>';break;case"svg":this.template='<svg data-hook="viz-container"></svg>';break;case"html":this.template='<div data-hook="viz-container"></div>'}},_measure:function(){this.el&&(this._autoWidth&&(this.width=i(this.el).parent().width()),this._autoHeight&&(this.height=i(this.el).parent().height()))},_chooseDataSource:function(){void 0!==this.model?this.data=this.model.toJSON():void 0!==this.collection&&(this.data=this.collection.toJSON())},remove:function(){return window.removeEventListener("resize",this._onResize),this},transform:function(data){return data},render:function(){return this._chooseDataSource(),this.data=this.transform(this.data),this.renderWithTemplate(this),this._measure(),this.vizFn&&(this.vizFn=this.vizFn({width:this.width,height:this.height,data:this.data,el:this.el})),this},redraw:function(){this._chooseDataSource(),this.data=this.transform(this.data),this._measure(),this.vizFn&&this.vizFn({width:this.width,height:this.height,data:this.data,el:this.el})}}),e.exports.create=function(t,n){return e.exports.extend({className:t,vizFn:n})}},{"ampersand-view":30,debug:54,jquery:58,lodash:59}],73:[function(t,e){{var n=t("d3"),r=t("lodash");t("debug")("viz:d3-multiline")}n.selection.prototype.moveToFront=function(){return this.each(function(){this.parentNode.appendChild(this)})},e.exports=function(t){function e(e){if(e){if(t=e,f=t.width-c.left-c.right,h=t.height-c.top-c.bottom,data=t.data,d=data.model,g=d.serialize(),F=data.series,0===F.length?T.style("visibility","hidden"):T.style("visibility","visible"),T.attr({width:f,height:h}),"relative"===g.xSetting?(v=function(t){return t.xrel},x=y,w.tickFormat(n.format(","))):(v=function(t){return t.x},x=m,w.tickFormat(b)),x.range([0,f]),(r.isEqual(x.domain(),[0,1])||r.isEqual(x.domain(),[new Date(0),new Date(1)])||g.recalcXDomain)&&(z=[n.min(F,function(t){return n.min(t.data,function(t){return v(t)})}),n.max(F,function(t){return n.max(t.data,function(t){return v(t)})})],x.domain(z),S.x(x)),F.length>0){var i=r.find(F,function(t){return t.data.length>1}).data;L=i?x(v(i[1]))-x(v(i[0])):1}else L=1;d.subSampled=g.allowSampling&&1>L,"linear"===g.ySetting?(k=_,k.domain([n.min(F,function(t){return n.min(t.data,function(t){return t.y})}),n.max(F,function(t){return n.max(t.data,function(t){return t.y})})])):(k=M,k.domain([.1,n.max(F,function(t){return n.max(t.data,function(t){return t.y})})])),k.range([h,0])}T.selectAll(".x").call(w.scale(x)),T.selectAll(".y").call(E.scale(k)),O=T.selectAll(".serie").data(F,function(t){return t.cid}),O.enter().append("g").attr("class","serie").append("path").attr("class","line").style("stroke",function(t){return t.color}),O.exit().remove(),O.selectAll(".line").attr("d",function(t){return C(v)(o(t.data))}),L>6?(D=O.selectAll(".point").data(function(t){return o(t.data).map(function(e){return{x:v(e),y:e.y,c:t.color}})}),D.enter().append("circle").attr("class","point").attr("r","3px").style("fill",function(t){return t.c}),D.exit().remove(),D.attr("cx",function(t){return x(t.x)}).attr("cy",function(t){return k(t.y)})):O.selectAll(".point").remove(),j.attr("x2",f),A.attr("y2",h+20),R.attr("width",f).attr("height",h).moveToFront()}function i(data){var t=x.domain(),e=s(v)(data,t[0]),n=s(v)(data,t[1]);return data.slice(e,n)}function o(data){data=i(data);var t=1/L;return g.allowSampling&&t>1?data.filter(function(e,n){return n%Math.ceil(t)===0}):data}function a(t,e){var n=o(e.data),r=x.invert(t),i=s(v)(n,r),a=n[i-1],u=n[i];return void 0===a?u:void 0===u?a:r-v(a)>v(u)-r?u:a}function u(){var t=n.mouse(this),e=t[0],r=t[1],i=F.map(function(t){return a(e,t)}),o=i.map(function(t){return t?Math.pow(e-x(v(t)),2)+Math.pow(r-k(t.y),2):1/0}),u=o.indexOf(Math.min.apply(Math,o)),s=F[u],l=i[u];N.attr("transform","translate("+x(v(l))+","+k(l.y)+")").moveToFront(),N.select("circle").attr("stroke",s.color),N.select("text.name").text(s.name),N.select("text.value").text(n.format(",")(l.y)),q.attr("transform","translate("+x(v(l))+","+(h+34)+")").text("relative"===g.xSetting?n.format(",")(v(l)):n.time.format("%b %d %H:%M:%S")(v(l))).moveToFront(),j.attr("y1",k(l.y)).attr("y2",k(l.y)),A.attr("x1",x(v(l))).attr("x2",x(v(l)))}function s(t){return n.bisector(function(e){return t(e)}).left}function l(){d.recalcXDomain=!1,e(t)}var c={top:80,right:20,bottom:60,left:100},f=t.width-c.left-c.right,h=t.height-c.top-c.bottom,data=t.data,p=t.el,d=data.model,g=d.serialize(),v=function(t){return t.x},m=n.time.scale(),y=n.scale.linear(),b=n.time.format.multi([[".%L",function(t){return t.getMilliseconds()}],[":%S",function(t){return t.getSeconds()}],["%b %e %H:%M",function(t){return t.getMinutes()}],["%b %e %H:%M",function(t){return t.getHours()}],["%b %e",function(t){return t.getDay()&&1!=t.getDate()}],["%b %e",function(t){return 1!=t.getDate()}],["%Y",function(t){return t.getMonth()}],["%Y",function(){return!0}]]),x="relative"===g.xSetting?y:m,w=n.svg.axis().scale(x).ticks(10).orient("bottom"),_=n.scale.linear().range([h,0]),M=n.scale.log().clamp(!0).range([h,0]).nice(),k="linear"===g.ySetting?_:M,E=n.svg.axis().scale(k).orient("left"),C=function(t){return n.svg.line().x(function(e){return x(t(e))}).y(function(t){return k(t.y)})},S=n.behavior.zoom().scaleExtent([1,50]).x(x).on("zoom",l),T=n.select(p).append("g").attr("transform","translate("+c.left+","+c.top+")").call(S);T.append("g").attr("class","x axis").attr("transform","translate(0,"+h+")"),T.append("g").attr("class","y axis");var j=T.append("line").style("stroke","#ddd").style("display","none").attr("class","x cross").attr("x1",0),A=T.append("line").style("stroke","#ddd").style("display","none").attr("class","x cross").attr("y1",0),N=T.append("g").attr("class","focus").style("display","none");N.append("circle").attr("r",6).attr("fill","none").attr("stroke-width",2);var q=T.append("text").attr("text-anchor","middle").attr("class","xlabel").attr("font-size","0.8em").attr("fill","#bbb");N.append("text").attr("class","name").attr("fill","black").attr("x",9).attr("dy","-.8em"),N.append("text").attr("class","value").attr("fill","black").attr("font-size","20px").attr("x",8).attr("dy","-1.2em");var O,D,L,F,z,R=T.append("rect").attr("class","windshield").style("opacity",0).on("mouseover",function(){j.style("display",null),A.style("display",null),N.style("display",null),q.style("display",null)}).on("mouseout",function(){N.style("display","none"),j.style("display","none"),A.style("display","none"),q.style("display","none")}).on("mousemove",u);return e}},{d3:53,debug:54,lodash:59}]},{},[1]);
+!function t(e,n,r){function i(a,u){if(!n[a]){if(!e[a]){var s="function"==typeof require&&require;if(!u&&s)return s(a,!0);if(o)return o(a,!0);var l=new Error("Cannot find module '"+a+"'");throw l.code="MODULE_NOT_FOUND",l}var c=n[a]={exports:{}};e[a][0].call(c.exports,function(t){var n=e[a][1][t];return i(n?n:t)},c,c.exports,t,e,n,r)}return n[a].exports}for(var o="function"==typeof require&&require,a=0;a<r.length;a++)i(r[a]);return i}({1:[function(t){{var e=(window.$=window.jQuery=t("jquery"),t("../views/app")),n=t("../models/app");t("debug")("index")}t("bootstrap/js/dropdown"),t("bootstrap/js/collapse"),t("bootstrap/js/transition"),t("bootstrap/js/button");var data="### INSERT DATA HERE ###",r=window.app=new n(data,{parse:!0}),i=document.getElementById("app"),o=new e({model:r,el:i});o.render()},{"../models/app":2,"../views/app":63,"bootstrap/js/button":51,"bootstrap/js/collapse":52,"bootstrap/js/dropdown":53,"bootstrap/js/transition":54,debug:57,jquery:61}],2:[function(t,e){{var n=t("ampersand-state"),r=t("./chart"),i=t("./stat-collection"),o=t("./sidebar"),a=t("lodash"),u=t("debug")("model:app");e.exports=n.extend({children:{sidebar:o,chart:r},collections:{stats:i},props:{selectionState:{type:"array","default":function(){return[]}}},parse:function(t){var e=(new Date).getFullYear(),n={},r=a.map(t.series,function(t){if(-1!==t.key.indexOf(":"))var r=t.key.split(":"),i=r[0].trim(),o=r[1].trim();else var i="stats",o=t.key;var data=a.sortBy(a.map(t.values,function(t,n){var r=n.split(" ");r.splice(2,0,e.toString());var i=r.join(" ");return{x:new Date(i),y:t}}),"x"),u=Math.min.apply(null,data.map(function(t){return t.x}));return data.forEach(function(t){t.xrel=(t.x-u)/1e3}),n[i]=!0,{group:i,name:o,data:data}});n=a.keys(n).map(function(t){return{title:t}});var i={stats:r,sidebar:{panels:n}};return i},initialize:function(){var t=this.sidebar.panels;t.each(function(t){t.app=this}.bind(this)),this.stats.each(function(e){e.app=this,t.get(e.group).stats.add(e)}.bind(this))},clearSelectionState:function(){this.selectionState=[],u("clear")},toggleAllExcept:function(t){this.stats.filter(function(e){return e!==t}).some(function(t){return t.selected});0!==this.selectionState.length&&t.selected?(this.stats.each(function(t,e){t.selected=this.selectionState.length?this.selectionState[e]:!0}.bind(this)),this.clearSelectionState()):(this.selectionState=this.stats.map(function(t){return t.selected}),this.stats.each(function(e){e.selected=e===t}))}})}},{"./chart":3,"./sidebar":7,"./stat-collection":8,"ampersand-state":21,debug:57,lodash:62}],3:[function(t,e){{var n=t("ampersand-state"),r=t("lodash");t("debug")("model:chart"),e.exports=n.extend({props:{xSetting:{type:"string","default":"relative",values:["relative","absolute"]},ySetting:{type:"string","default":"linear",values:["linear","log-scale"]},allowSampling:{type:"boolean","default":!0},subSampled:{type:"boolean","default":!1},recalcXDomain:{type:"boolean","default":!0}},derived:{series:{deps:["parent"],cache:!1,fn:function(){var t=this.parent.stats.filter(function(t){return t.selected}).map(function(t){return r.pick(t,["color","data","name","cid","selected"])});return t}},empty:{deps:["parent","series"],cache:!1,fn:function(){return 0===this.series.length}}}})}},{"ampersand-state":21,debug:57,lodash:62}],4:[function(t,e){{var n=t("d3");e.exports=function(){function t(){var t=n.scale.category20();return t}var e;return{getInstance:function(){return e||(e=t()),e}}}()}},{d3:56}],5:[function(t,e){{var n=t("ampersand-state"),r=t("./stat-collection");t("debug")("model:panel"),e.exports=n.extend({collections:{stats:r},props:{title:{type:"string",required:!0},open:{type:"boolean","default":!1},app:{type:"object"}},derived:{selected:{deps:["stats"],cache:!1,fn:function(){var t=this.stats.filter(function(t){return t.selected});return t.length===this.stats.length?"all":0===t.length?"none":"some"}},suptitle:{deps:["title"],cache:!1,fn:function(){var t=this.title.split(" ");return t.length>1?t[0]:""}},subtitle:{deps:["title"],fn:function(){var t=this.title.split(" ");return t.length>1?t[1]:this.title}}}})}},{"./stat-collection":8,"ampersand-state":21,debug:57}],6:[function(t,e){{var n=t("ampersand-state");t("debug")("model:search"),e.exports=n.extend({props:{content:{type:"string","default":""}},derived:{empty:{deps:["content"],fn:function(){return""===this.content}}}})}},{"ampersand-state":21,debug:57}],7:[function(t,e){{var n=t("ampersand-state"),r=t("ampersand-collection"),i=t("./search"),o=t("./panel"),a=(t("lodash"),t("debug")("model:sidebar"),r.extend({mainIndex:"title",model:o}));e.exports=n.extend({children:{search:i},collections:{panels:a}})}},{"./panel":5,"./search":6,"ampersand-collection":12,"ampersand-state":21,debug:57,lodash:62}],8:[function(t,e){{var n=t("ampersand-collection"),r=t("ampersand-collection-underscore-mixin"),i=t("./stat");e.exports=n.extend(r,{comparator:"name",model:i})}},{"./stat":9,"ampersand-collection":12,"ampersand-collection-underscore-mixin":10}],9:[function(t,e){{var n=t("ampersand-state"),r=t("./colors").getInstance();t("debug")("model:stat"),e.exports=n.extend({props:{name:{type:"string","default":""},group:{type:"string","default":""},selected:{type:"boolean","default":!1},data:{type:"object"},app:{type:"object"}},derived:{color:{cache:!0,fn:function(){return r(this.cid)}}}})}},{"./colors":4,"ampersand-state":21,debug:57}],10:[function(t,e){"undefined"!=typeof window&&(window.ampersand=window.ampersand||{},window.ampersand["ampersand-collection-underscore-mixin"]=window.ampersand["ampersand-collection-underscore-mixin"]||[],window.ampersand["ampersand-collection-underscore-mixin"].push("1.0.3"));var n=t("underscore"),r=[].slice,i={},o=["forEach","each","map","collect","reduce","foldl","inject","reduceRight","foldr","find","detect","filter","select","reject","every","all","some","any","include","contains","invoke","max","min","toArray","size","first","head","take","initial","rest","tail","drop","last","without","difference","indexOf","shuffle","lastIndexOf","isEmpty","chain","sample","partition"];n.each(o,function(t){n[t]&&(i[t]=function(){var e=r.call(arguments);return e.unshift(this.models),n[t].apply(n,e)})});var a=["groupBy","countBy","sortBy","indexBy"];n.each(a,function(t){n[t]&&(i[t]=function(e,r){var i=n.isFunction(e)?e:function(t){return t.get?t.get(e):t[e]};return n[t](this.models,i,r)})}),i.where=function(t,e){return n.isEmpty(t)?e?void 0:[]:this[e?"find":"filter"](function(e){var n;for(var r in t)if(n=e.get?e.get(r):e[r],t[r]!==n)return!1;return!0})},i.findWhere=function(t){return this.where(t,!0)},i.pluck=function(t){return n.invoke(this.models,"get",t)},e.exports=i},{underscore:11}],11:[function(t,e,n){(function(){function t(t){function e(e,n,r,i,o,a){for(;o>=0&&a>o;o+=t){var u=i?i[o]:o;r=n(r,e[u],u,e)}return r}return function(n,r,i,o){r=x(r,o,4);var a=!E(n)&&b.keys(n),u=(a||n).length,s=t>0?0:u-1;return arguments.length<3&&(i=n[a?a[s]:s],s+=t),e(n,r,i,a,s,u)}}function r(t){return function(e,n,r){n=w(n,r);for(var i=null!=e&&e.length,o=t>0?0:i-1;o>=0&&i>o;o+=t)if(n(e[o],o,e))return o;return-1}}function i(t,e){var n=A.length,r=t.constructor,i=b.isFunction(r)&&r.prototype||s,o="constructor";for(b.has(t,o)&&!b.contains(e,o)&&e.push(o);n--;)o=A[n],o in t&&t[o]!==i[o]&&!b.contains(e,o)&&e.push(o)}var o=this,a=o._,u=Array.prototype,s=Object.prototype,l=Function.prototype,c=u.push,f=u.slice,h=s.toString,p=s.hasOwnProperty,d=Array.isArray,g=Object.keys,v=l.bind,m=Object.create,y=function(){},b=function(t){return t instanceof b?t:this instanceof b?void(this._wrapped=t):new b(t)};"undefined"!=typeof n?("undefined"!=typeof e&&e.exports&&(n=e.exports=b),n._=b):o._=b,b.VERSION="1.8.2";var x=function(t,e,n){if(void 0===e)return t;switch(null==n?3:n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,i){return t.call(e,n,r,i)};case 4:return function(n,r,i,o){return t.call(e,n,r,i,o)}}return function(){return t.apply(e,arguments)}},w=function(t,e,n){return null==t?b.identity:b.isFunction(t)?x(t,e,n):b.isObject(t)?b.matcher(t):b.property(t)};b.iteratee=function(t,e){return w(t,e,1/0)};var _=function(t,e){return function(n){var r=arguments.length;if(2>r||null==n)return n;for(var i=1;r>i;i++)for(var o=arguments[i],a=t(o),u=a.length,s=0;u>s;s++){var l=a[s];e&&void 0!==n[l]||(n[l]=o[l])}return n}},M=function(t){if(!b.isObject(t))return{};if(m)return m(t);y.prototype=t;var e=new y;return y.prototype=null,e},k=Math.pow(2,53)-1,E=function(t){var e=t&&t.length;return"number"==typeof e&&e>=0&&k>=e};b.each=b.forEach=function(t,e,n){e=x(e,n);var r,i;if(E(t))for(r=0,i=t.length;i>r;r++)e(t[r],r,t);else{var o=b.keys(t);for(r=0,i=o.length;i>r;r++)e(t[o[r]],o[r],t)}return t},b.map=b.collect=function(t,e,n){e=w(e,n);for(var r=!E(t)&&b.keys(t),i=(r||t).length,o=Array(i),a=0;i>a;a++){var u=r?r[a]:a;o[a]=e(t[u],u,t)}return o},b.reduce=b.foldl=b.inject=t(1),b.reduceRight=b.foldr=t(-1),b.find=b.detect=function(t,e,n){var r;return r=E(t)?b.findIndex(t,e,n):b.findKey(t,e,n),void 0!==r&&-1!==r?t[r]:void 0},b.filter=b.select=function(t,e,n){var r=[];return e=w(e,n),b.each(t,function(t,n,i){e(t,n,i)&&r.push(t)}),r},b.reject=function(t,e,n){return b.filter(t,b.negate(w(e)),n)},b.every=b.all=function(t,e,n){e=w(e,n);for(var r=!E(t)&&b.keys(t),i=(r||t).length,o=0;i>o;o++){var a=r?r[o]:o;if(!e(t[a],a,t))return!1}return!0},b.some=b.any=function(t,e,n){e=w(e,n);for(var r=!E(t)&&b.keys(t),i=(r||t).length,o=0;i>o;o++){var a=r?r[o]:o;if(e(t[a],a,t))return!0}return!1},b.contains=b.includes=b.include=function(t,e,n){return E(t)||(t=b.values(t)),b.indexOf(t,e,"number"==typeof n&&n)>=0},b.invoke=function(t,e){var n=f.call(arguments,2),r=b.isFunction(e);return b.map(t,function(t){var i=r?e:t[e];return null==i?i:i.apply(t,n)})},b.pluck=function(t,e){return b.map(t,b.property(e))},b.where=function(t,e){return b.filter(t,b.matcher(e))},b.findWhere=function(t,e){return b.find(t,b.matcher(e))},b.max=function(t,e,n){var r,i,o=-1/0,a=-1/0;if(null==e&&null!=t){t=E(t)?t:b.values(t);for(var u=0,s=t.length;s>u;u++)r=t[u],r>o&&(o=r)}else e=w(e,n),b.each(t,function(t,n,r){i=e(t,n,r),(i>a||i===-1/0&&o===-1/0)&&(o=t,a=i)});return o},b.min=function(t,e,n){var r,i,o=1/0,a=1/0;if(null==e&&null!=t){t=E(t)?t:b.values(t);for(var u=0,s=t.length;s>u;u++)r=t[u],o>r&&(o=r)}else e=w(e,n),b.each(t,function(t,n,r){i=e(t,n,r),(a>i||1/0===i&&1/0===o)&&(o=t,a=i)});return o},b.shuffle=function(t){for(var e,n=E(t)?t:b.values(t),r=n.length,i=Array(r),o=0;r>o;o++)e=b.random(0,o),e!==o&&(i[o]=i[e]),i[e]=n[o];return i},b.sample=function(t,e,n){return null==e||n?(E(t)||(t=b.values(t)),t[b.random(t.length-1)]):b.shuffle(t).slice(0,Math.max(0,e))},b.sortBy=function(t,e,n){return e=w(e,n),b.pluck(b.map(t,function(t,n,r){return{value:t,index:n,criteria:e(t,n,r)}}).sort(function(t,e){var n=t.criteria,r=e.criteria;if(n!==r){if(n>r||void 0===n)return 1;if(r>n||void 0===r)return-1}return t.index-e.index}),"value")};var C=function(t){return function(e,n,r){var i={};return n=w(n,r),b.each(e,function(r,o){var a=n(r,o,e);t(i,r,a)}),i}};b.groupBy=C(function(t,e,n){b.has(t,n)?t[n].push(e):t[n]=[e]}),b.indexBy=C(function(t,e,n){t[n]=e}),b.countBy=C(function(t,e,n){b.has(t,n)?t[n]++:t[n]=1}),b.toArray=function(t){return t?b.isArray(t)?f.call(t):E(t)?b.map(t,b.identity):b.values(t):[]},b.size=function(t){return null==t?0:E(t)?t.length:b.keys(t).length},b.partition=function(t,e,n){e=w(e,n);var r=[],i=[];return b.each(t,function(t,n,o){(e(t,n,o)?r:i).push(t)}),[r,i]},b.first=b.head=b.take=function(t,e,n){return null==t?void 0:null==e||n?t[0]:b.initial(t,t.length-e)},b.initial=function(t,e,n){return f.call(t,0,Math.max(0,t.length-(null==e||n?1:e)))},b.last=function(t,e,n){return null==t?void 0:null==e||n?t[t.length-1]:b.rest(t,Math.max(0,t.length-e))},b.rest=b.tail=b.drop=function(t,e,n){return f.call(t,null==e||n?1:e)},b.compact=function(t){return b.filter(t,b.identity)};var S=function(t,e,n,r){for(var i=[],o=0,a=r||0,u=t&&t.length;u>a;a++){var s=t[a];if(E(s)&&(b.isArray(s)||b.isArguments(s))){e||(s=S(s,e,n));var l=0,c=s.length;for(i.length+=c;c>l;)i[o++]=s[l++]}else n||(i[o++]=s)}return i};b.flatten=function(t,e){return S(t,e,!1)},b.without=function(t){return b.difference(t,f.call(arguments,1))},b.uniq=b.unique=function(t,e,n,r){if(null==t)return[];b.isBoolean(e)||(r=n,n=e,e=!1),null!=n&&(n=w(n,r));for(var i=[],o=[],a=0,u=t.length;u>a;a++){var s=t[a],l=n?n(s,a,t):s;e?(a&&o===l||i.push(s),o=l):n?b.contains(o,l)||(o.push(l),i.push(s)):b.contains(i,s)||i.push(s)}return i},b.union=function(){return b.uniq(S(arguments,!0,!0))},b.intersection=function(t){if(null==t)return[];for(var e=[],n=arguments.length,r=0,i=t.length;i>r;r++){var o=t[r];if(!b.contains(e,o)){for(var a=1;n>a&&b.contains(arguments[a],o);a++);a===n&&e.push(o)}}return e},b.difference=function(t){var e=S(arguments,!0,!0,1);return b.filter(t,function(t){return!b.contains(e,t)})},b.zip=function(){return b.unzip(arguments)},b.unzip=function(t){for(var e=t&&b.max(t,"length").length||0,n=Array(e),r=0;e>r;r++)n[r]=b.pluck(t,r);return n},b.object=function(t,e){for(var n={},r=0,i=t&&t.length;i>r;r++)e?n[t[r]]=e[r]:n[t[r][0]]=t[r][1];return n},b.indexOf=function(t,e,n){var r=0,i=t&&t.length;if("number"==typeof n)r=0>n?Math.max(0,i+n):n;else if(n&&i)return r=b.sortedIndex(t,e),t[r]===e?r:-1;if(e!==e)return b.findIndex(f.call(t,r),b.isNaN);for(;i>r;r++)if(t[r]===e)return r;return-1},b.lastIndexOf=function(t,e,n){var r=t?t.length:0;if("number"==typeof n&&(r=0>n?r+n+1:Math.min(r,n+1)),e!==e)return b.findLastIndex(f.call(t,0,r),b.isNaN);for(;--r>=0;)if(t[r]===e)return r;return-1},b.findIndex=r(1),b.findLastIndex=r(-1),b.sortedIndex=function(t,e,n,r){n=w(n,r,1);for(var i=n(e),o=0,a=t.length;a>o;){var u=Math.floor((o+a)/2);n(t[u])<i?o=u+1:a=u}return o},b.range=function(t,e,n){arguments.length<=1&&(e=t||0,t=0),n=n||1;for(var r=Math.max(Math.ceil((e-t)/n),0),i=Array(r),o=0;r>o;o++,t+=n)i[o]=t;return i};var T=function(t,e,n,r,i){if(!(r instanceof e))return t.apply(n,i);var o=M(t.prototype),a=t.apply(o,i);return b.isObject(a)?a:o};b.bind=function(t,e){if(v&&t.bind===v)return v.apply(t,f.call(arguments,1));if(!b.isFunction(t))throw new TypeError("Bind must be called on a function");var n=f.call(arguments,2),r=function(){return T(t,r,e,this,n.concat(f.call(arguments)))};return r},b.partial=function(t){var e=f.call(arguments,1),n=function(){for(var r=0,i=e.length,o=Array(i),a=0;i>a;a++)o[a]=e[a]===b?arguments[r++]:e[a];for(;r<arguments.length;)o.push(arguments[r++]);return T(t,n,this,this,o)};return n},b.bindAll=function(t){var e,n,r=arguments.length;if(1>=r)throw new Error("bindAll must be passed function names");for(e=1;r>e;e++)n=arguments[e],t[n]=b.bind(t[n],t);return t},b.memoize=function(t,e){var n=function(r){var i=n.cache,o=""+(e?e.apply(this,arguments):r);return b.has(i,o)||(i[o]=t.apply(this,arguments)),i[o]};return n.cache={},n},b.delay=function(t,e){var n=f.call(arguments,2);return setTimeout(function(){return t.apply(null,n)},e)},b.defer=b.partial(b.delay,b,1),b.throttle=function(t,e,n){var r,i,o,a=null,u=0;n||(n={});var s=function(){u=n.leading===!1?0:b.now(),a=null,o=t.apply(r,i),a||(r=i=null)};return function(){var l=b.now();u||n.leading!==!1||(u=l);var c=e-(l-u);return r=this,i=arguments,0>=c||c>e?(a&&(clearTimeout(a),a=null),u=l,o=t.apply(r,i),a||(r=i=null)):a||n.trailing===!1||(a=setTimeout(s,c)),o}},b.debounce=function(t,e,n){var r,i,o,a,u,s=function(){var l=b.now()-a;e>l&&l>=0?r=setTimeout(s,e-l):(r=null,n||(u=t.apply(o,i),r||(o=i=null)))};return function(){o=this,i=arguments,a=b.now();var l=n&&!r;return r||(r=setTimeout(s,e)),l&&(u=t.apply(o,i),o=i=null),u}},b.wrap=function(t,e){return b.partial(e,t)},b.negate=function(t){return function(){return!t.apply(this,arguments)}},b.compose=function(){var t=arguments,e=t.length-1;return function(){for(var n=e,r=t[e].apply(this,arguments);n--;)r=t[n].call(this,r);return r}},b.after=function(t,e){return function(){return--t<1?e.apply(this,arguments):void 0}},b.before=function(t,e){var n;return function(){return--t>0&&(n=e.apply(this,arguments)),1>=t&&(e=null),n}},b.once=b.partial(b.before,2);var j=!{toString:null}.propertyIsEnumerable("toString"),A=["valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"];b.keys=function(t){if(!b.isObject(t))return[];if(g)return g(t);var e=[];for(var n in t)b.has(t,n)&&e.push(n);return j&&i(t,e),e},b.allKeys=function(t){if(!b.isObject(t))return[];var e=[];for(var n in t)e.push(n);return j&&i(t,e),e},b.values=function(t){for(var e=b.keys(t),n=e.length,r=Array(n),i=0;n>i;i++)r[i]=t[e[i]];return r},b.mapObject=function(t,e,n){e=w(e,n);for(var r,i=b.keys(t),o=i.length,a={},u=0;o>u;u++)r=i[u],a[r]=e(t[r],r,t);return a},b.pairs=function(t){for(var e=b.keys(t),n=e.length,r=Array(n),i=0;n>i;i++)r[i]=[e[i],t[e[i]]];return r},b.invert=function(t){for(var e={},n=b.keys(t),r=0,i=n.length;i>r;r++)e[t[n[r]]]=n[r];return e},b.functions=b.methods=function(t){var e=[];for(var n in t)b.isFunction(t[n])&&e.push(n);return e.sort()},b.extend=_(b.allKeys),b.extendOwn=b.assign=_(b.keys),b.findKey=function(t,e,n){e=w(e,n);for(var r,i=b.keys(t),o=0,a=i.length;a>o;o++)if(r=i[o],e(t[r],r,t))return r},b.pick=function(t,e,n){var r,i,o={},a=t;if(null==a)return o;b.isFunction(e)?(i=b.allKeys(a),r=x(e,n)):(i=S(arguments,!1,!1,1),r=function(t,e,n){return e in n},a=Object(a));for(var u=0,s=i.length;s>u;u++){var l=i[u],c=a[l];r(c,l,a)&&(o[l]=c)}return o},b.omit=function(t,e,n){if(b.isFunction(e))e=b.negate(e);else{var r=b.map(S(arguments,!1,!1,1),String);e=function(t,e){return!b.contains(r,e)}}return b.pick(t,e,n)},b.defaults=_(b.allKeys,!0),b.clone=function(t){return b.isObject(t)?b.isArray(t)?t.slice():b.extend({},t):t},b.tap=function(t,e){return e(t),t},b.isMatch=function(t,e){var n=b.keys(e),r=n.length;if(null==t)return!r;for(var i=Object(t),o=0;r>o;o++){var a=n[o];if(e[a]!==i[a]||!(a in i))return!1}return!0};var N=function(t,e,n,r){if(t===e)return 0!==t||1/t===1/e;if(null==t||null==e)return t===e;t instanceof b&&(t=t._wrapped),e instanceof b&&(e=e._wrapped);var i=h.call(t);if(i!==h.call(e))return!1;switch(i){case"[object RegExp]":case"[object String]":return""+t==""+e;case"[object Number]":return+t!==+t?+e!==+e:0===+t?1/+t===1/e:+t===+e;case"[object Date]":case"[object Boolean]":return+t===+e}var o="[object Array]"===i;if(!o){if("object"!=typeof t||"object"!=typeof e)return!1;var a=t.constructor,u=e.constructor;if(a!==u&&!(b.isFunction(a)&&a instanceof a&&b.isFunction(u)&&u instanceof u)&&"constructor"in t&&"constructor"in e)return!1}n=n||[],r=r||[];for(var s=n.length;s--;)if(n[s]===t)return r[s]===e;if(n.push(t),r.push(e),o){if(s=t.length,s!==e.length)return!1;for(;s--;)if(!N(t[s],e[s],n,r))return!1}else{var l,c=b.keys(t);if(s=c.length,b.keys(e).length!==s)return!1;for(;s--;)if(l=c[s],!b.has(e,l)||!N(t[l],e[l],n,r))return!1}return n.pop(),r.pop(),!0};b.isEqual=function(t,e){return N(t,e)},b.isEmpty=function(t){return null==t?!0:E(t)&&(b.isArray(t)||b.isString(t)||b.isArguments(t))?0===t.length:0===b.keys(t).length},b.isElement=function(t){return!(!t||1!==t.nodeType)},b.isArray=d||function(t){return"[object Array]"===h.call(t)},b.isObject=function(t){var e=typeof t;return"function"===e||"object"===e&&!!t},b.each(["Arguments","Function","String","Number","Date","RegExp","Error"],function(t){b["is"+t]=function(e){return h.call(e)==="[object "+t+"]"}}),b.isArguments(arguments)||(b.isArguments=function(t){return b.has(t,"callee")}),"function"!=typeof/./&&"object"!=typeof Int8Array&&(b.isFunction=function(t){return"function"==typeof t||!1}),b.isFinite=function(t){return isFinite(t)&&!isNaN(parseFloat(t))},b.isNaN=function(t){return b.isNumber(t)&&t!==+t},b.isBoolean=function(t){return t===!0||t===!1||"[object Boolean]"===h.call(t)},b.isNull=function(t){return null===t},b.isUndefined=function(t){return void 0===t},b.has=function(t,e){return null!=t&&p.call(t,e)},b.noConflict=function(){return o._=a,this},b.identity=function(t){return t},b.constant=function(t){return function(){return t}},b.noop=function(){},b.property=function(t){return function(e){return null==e?void 0:e[t]}},b.propertyOf=function(t){return null==t?function(){}:function(e){return t[e]}},b.matcher=b.matches=function(t){return t=b.extendOwn({},t),function(e){return b.isMatch(e,t)}},b.times=function(t,e,n){var r=Array(Math.max(0,t));e=x(e,n,1);for(var i=0;t>i;i++)r[i]=e(i);return r},b.random=function(t,e){return null==e&&(e=t,t=0),t+Math.floor(Math.random()*(e-t+1))},b.now=Date.now||function(){return(new Date).getTime()};var O={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;"},q=b.invert(O),D=function(t){var e=function(e){return t[e]},n="(?:"+b.keys(t).join("|")+")",r=RegExp(n),i=RegExp(n,"g");return function(t){return t=null==t?"":""+t,r.test(t)?t.replace(i,e):t}};b.escape=D(O),b.unescape=D(q),b.result=function(t,e,n){var r=null==t?void 0:t[e];return void 0===r&&(r=n),b.isFunction(r)?r.call(t):r};var L=0;b.uniqueId=function(t){var e=++L+"";return t?t+e:e},b.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var F=/(.)^/,z={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},R=/\\|'|\r|\n|\u2028|\u2029/g,I=function(t){return"\\"+z[t]};b.template=function(t,e,n){!e&&n&&(e=n),e=b.defaults({},e,b.templateSettings);var r=RegExp([(e.escape||F).source,(e.interpolate||F).source,(e.evaluate||F).source].join("|")+"|$","g"),i=0,o="__p+='";t.replace(r,function(e,n,r,a,u){return o+=t.slice(i,u).replace(R,I),i=u+e.length,n?o+="'+\n((__t=("+n+"))==null?'':_.escape(__t))+\n'":r?o+="'+\n((__t=("+r+"))==null?'':__t)+\n'":a&&(o+="';\n"+a+"\n__p+='"),e}),o+="';\n",e.variable||(o="with(obj||{}){\n"+o+"}\n"),o="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+o+"return __p;\n";try{var a=new Function(e.variable||"obj","_",o)}catch(u){throw u.source=o,u}var s=function(data){return a.call(this,data,b)},l=e.variable||"obj";return s.source="function("+l+"){\n"+o+"}",s},b.chain=function(t){var e=b(t);return e._chain=!0,e};var P=function(t,e){return t._chain?b(e).chain():e};b.mixin=function(t){b.each(b.functions(t),function(e){var n=b[e]=t[e];b.prototype[e]=function(){var t=[this._wrapped];return c.apply(t,arguments),P(this,n.apply(b,t))}})},b.mixin(b),b.each(["pop","push","reverse","shift","sort","splice","unshift"],function(t){var e=u[t];b.prototype[t]=function(){var n=this._wrapped;return e.apply(n,arguments),"shift"!==t&&"splice"!==t||0!==n.length||delete n[0],P(this,n)}}),b.each(["concat","join","slice"],function(t){var e=u[t];b.prototype[t]=function(){return P(this,e.apply(this._wrapped,arguments))}}),b.prototype.value=function(){return this._wrapped},b.prototype.valueOf=b.prototype.toJSON=b.prototype.value,b.prototype.toString=function(){return""+this._wrapped},"function"==typeof define&&define.amd&&define("underscore",[],function(){return b})}).call(this)},{}],12:[function(t,e){function n(t,e){if(e||(e={}),e.model&&(this.model=e.model),e.comparator&&(this.comparator=e.comparator),e.parent&&(this.parent=e.parent),!this.mainIndex){var n=this.model&&this.model.prototype&&this.model.prototype.idAttribute;this.mainIndex=n||"id"}this._reset(),this.initialize.apply(this,arguments),t&&this.reset(t,u({silent:!0},e))}var r=t("backbone-events-standalone"),i=t("ampersand-class-extend"),o=t("is-array"),a=t("amp-bind"),u=t("extend-object"),s=[].slice;u(n.prototype,r,{initialize:function(){},indexes:[],isModel:function(t){return this.model&&t instanceof this.model},add:function(t,e){return this.set(t,u({merge:!1,add:!0,remove:!1},e))},parse:function(t){return t},serialize:function(){return this.map(function(t){if(t.serialize)return t.serialize();var e={};return u(e,t),delete e.collection,e})},toJSON:function(){return this.serialize()},set:function(t,e){e=u({add:!0,remove:!0,merge:!0},e),e.parse&&(t=this.parse(t,e));var n=!o(t);t=n?t?[t]:[]:t.slice();var r,i,a,s,l,c,f,h=e.at,p=this.comparator&&null==h&&e.sort!==!1,d="string"==typeof this.comparator?this.comparator:null,g=[],v=[],m={},y=e.add,b=e.merge,x=e.remove,w=!p&&y&&x?[]:!1,_=this.model&&this.model.prototype||Object.prototype;for(c=0,f=t.length;f>c;c++){if(a=t[c]||{},r=this.isModel(a)?i=a:_.generateId?_.generateId(a):a[_.idAttribute||this.mainIndex],s=this.get(r))x&&(m[s.cid||s[this.mainIndex]]=!0),b&&(a=a===i?i.attributes:a,e.parse&&(a=s.parse(a,e)),s.set?(s.set(a,e),p&&!l&&s.hasChanged(d)&&(l=!0)):u(s,a)),t[c]=s;else if(y){if(i=t[c]=this._prepareModel(a,e),!i)continue;g.push(i),this._addReference(i,e)}i=s||i,i&&(w&&(i.isNew&&i.isNew()||!i[this.mainIndex]||!m[i.cid||i[this.mainIndex]])&&w.push(i),m[i[this.mainIndex]]=!0)}if(x){for(c=0,f=this.length;f>c;c++)i=this.models[c],m[i.cid||i[this.mainIndex]]||v.push(i);v.length&&this.remove(v,e)}if(g.length||w&&w.length)if(p&&(l=!0),null!=h)for(c=0,f=g.length;f>c;c++)this.models.splice(h+c,0,g[c]);else{var M=w||g;for(c=0,f=M.length;f>c;c++)this.models.push(M[c])}if(l&&this.sort({silent:!0}),!e.silent){for(c=0,f=g.length;f>c;c++)i=g[c],i.trigger?i.trigger("add",i,this,e):this.trigger("add",i,this,e);(l||w&&w.length)&&this.trigger("sort",this,e)}return n?t[0]:t},get:function(t,e){if(t){var n=this._indexes[e||this.mainIndex];return n[t]||n[t[this.mainIndex]]||this._indexes.cid[t]||this._indexes.cid[t.cid]}},at:function(t){return this.models[t]},remove:function(t,e){var n,r,i,a,u=!o(t);for(t=u?[t]:s.call(t),e||(e={}),n=0,r=t.length;r>n;n++)i=t[n]=this.get(t[n]),i&&(this._deIndex(i),a=this.models.indexOf(i),this.models.splice(a,1),e.silent||(e.index=a,i.trigger?i.trigger("remove",i,this,e):this.trigger("remove",i,this,e)),this._removeReference(i,e));return u?t[0]:t},reset:function(t,e){e||(e={});for(var n=0,r=this.models.length;r>n;n++)this._removeReference(this.models[n],e);return e.previousModels=this.models,this._reset(),t=this.add(t,u({silent:!0},e)),e.silent||this.trigger("reset",this,e),t},sort:function(t){var e=this;if(!this.comparator)throw new Error("Cannot sort a set without a comparator");return t||(t={}),this.models.sort("string"==typeof this.comparator?function(t,n){return t.get?(t=t.get(e.comparator),n=n.get(e.comparator)):(t=t[e.comparator],n=n[e.comparator]),t>n||void 0===t?1:n>t||void 0===n?-1:0}:1===this.comparator.length?function(t,n){return t=e.comparator(t),n=e.comparator(n),t>n||void 0===t?1:n>t||void 0===n?-1:0}:a(this.comparator,this)),t.silent||this.trigger("sort",this,t),this},_reset:function(){var t=this.indexes||[],e=0;t.push(this.mainIndex),t.push("cid");var n=t.length;for(this.models=[],this._indexes={};n>e;e++)this._indexes[t[e]]={}},_prepareModel:function(t,e){if(!this.model)return t;if(this.isModel(t))return t.collection||(t.collection=this),t;e=e?u({},e):{},e.collection=this;var n=new this.model(t,e);return n.validationError?(this.trigger("invalid",this,n.validationError,e),!1):n},_deIndex:function(t){for(var e in this._indexes)delete this._indexes[e][t[e]||t.get&&t.get(e)]},_index:function(t){for(var e in this._indexes){var n=t[e]||t.get&&t.get(e);n&&(this._indexes[e][n]=t)}},_addReference:function(t){this._index(t),t.collection||(t.collection=this),t.on&&t.on("all",this._onModelEvent,this)},_removeReference:function(t){this===t.collection&&delete t.collection,this._deIndex(t),t.off&&t.off("all",this._onModelEvent,this)},_onModelEvent:function(t,e,n,r){("add"!==t&&"remove"!==t||n===this)&&("destroy"===t&&this.remove(e,r),e&&t==="change:"+this.mainIndex&&(this._deIndex(e),this._index(e)),this.trigger.apply(this,arguments))}}),Object.defineProperties(n.prototype,{length:{get:function(){return this.models.length}},isCollection:{value:!0}});var l=["indexOf","lastIndexOf","every","some","forEach","map","filter","reduce","reduceRight"];l.forEach(function(t){n.prototype[t]=function(){return this.models[t].apply(this.models,arguments)}}),n.prototype.each=n.prototype.forEach,n.extend=i,e.exports=n},{"amp-bind":13,"ampersand-class-extend":16,"backbone-events-standalone":18,"extend-object":19,"is-array":20}],13:[function(t,e){var n=t("amp-is-function"),r=t("amp-is-object"),i=Function.prototype.bind,o=Array.prototype.slice,a=function(){};e.exports=function(t,e){var u,s;if(i&&t.bind===i)return i.apply(t,o.call(arguments,1));if(!n(t))throw new TypeError("Bind must be called on a function");return u=o.call(arguments,2),s=function(){if(!(this instanceof s))return t.apply(e,u.concat(o.call(arguments)));a.prototype=t.prototype;var n=new a;a.prototype=null;var i=t.apply(n,u.concat(o.call(arguments)));return r(i)?i:n}}},{"amp-is-function":14,"amp-is-object":15}],14:[function(t,e){var n=Object.prototype.toString,r=function(t){return"[object Function]"===n.call(t)};"function"!=typeof/./&&(r=function(t){return"function"==typeof t||!1}),e.exports=r},{}],15:[function(t,e){e.exports=function(t){var e=typeof t;return!!t&&("function"===e||"object"===e)}},{}],16:[function(t,e){var n=t("extend-object"),r=function(t){var e,r=this,i=[].slice.call(arguments);e=t&&t.hasOwnProperty("constructor")?t.constructor:function(){return r.apply(this,arguments)},n(e,r);var o=function(){this.constructor=e};return o.prototype=r.prototype,e.prototype=new o,t&&(i.unshift(e.prototype),n.apply(null,i)),e.__super__=r.prototype,e};e.exports=r},{"extend-object":19}],17:[function(t,e,n){!function(){function t(){return{keys:Object.keys,uniqueId:function(t){var e=++l+"";return t?t+e:e},has:function(t,e){return u.call(t,e)},each:function(t,e,n){if(null!=t)if(a&&t.forEach===a)t.forEach(e,n);else if(t.length===+t.length){for(var r=0,i=t.length;i>r;r++)if(e.call(n,t[r],r,t)===o)return}else for(var u in t)if(this.has(t,u)&&e.call(n,t[u],u,t)===o)return},once:function(t){var e,n=!1;return function(){return n?e:(n=!0,e=t.apply(this,arguments),t=null,e)}}}}var r,i=this,o={},a=Array.prototype.forEach,u=Object.prototype.hasOwnProperty,s=Array.prototype.slice,l=0,c=t();r={on:function(t,e,n){if(!h(this,"on",t,[e,n])||!e)return this;this._events||(this._events={});var r=this._events[t]||(this._events[t]=[]);return r.push({callback:e,context:n,ctx:n||this}),this},once:function(t,e,n){if(!h(this,"once",t,[e,n])||!e)return this;var r=this,i=c.once(function(){r.off(t,i),e.apply(this,arguments)});return i._callback=e,this.on(t,i,n)},off:function(t,e,n){var r,i,o,a,u,s,l,f;if(!this._events||!h(this,"off",t,[e,n]))return this;if(!t&&!e&&!n)return this._events={},this;for(a=t?[t]:c.keys(this._events),u=0,s=a.length;s>u;u++)if(t=a[u],o=this._events[t]){if(this._events[t]=r=[],e||n)for(l=0,f=o.length;f>l;l++)i=o[l],(e&&e!==i.callback&&e!==i.callback._callback||n&&n!==i.context)&&r.push(i);r.length||delete this._events[t]}return this},trigger:function(t){if(!this._events)return this;var e=s.call(arguments,1);if(!h(this,"trigger",t,e))return this;var n=this._events[t],r=this._events.all;return n&&p(n,e),r&&p(r,arguments),this},stopListening:function(t,e,n){var r=this._listeners;if(!r)return this;var i=!e&&!n;"object"==typeof e&&(n=this),t&&((r={})[t._listenerId]=t);for(var o in r)r[o].off(e,n,this),i&&delete this._listeners[o];return this}};var f=/\s+/,h=function(t,e,n,r){if(!n)return!0;if("object"==typeof n){for(var i in n)t[e].apply(t,[i,n[i]].concat(r));return!1}if(f.test(n)){for(var o=n.split(f),a=0,u=o.length;u>a;a++)t[e].apply(t,[o[a]].concat(r));return!1}return!0},p=function(t,e){var n,r=-1,i=t.length,o=e[0],a=e[1],u=e[2];switch(e.length){case 0:for(;++r<i;)(n=t[r]).callback.call(n.ctx);return;case 1:for(;++r<i;)(n=t[r]).callback.call(n.ctx,o);return;case 2:for(;++r<i;)(n=t[r]).callback.call(n.ctx,o,a);return;case 3:for(;++r<i;)(n=t[r]).callback.call(n.ctx,o,a,u);return;default:for(;++r<i;)(n=t[r]).callback.apply(n.ctx,e)}},d={listenTo:"on",listenToOnce:"once"};c.each(d,function(t,e){r[e]=function(e,n,r){var i=this._listeners||(this._listeners={}),o=e._listenerId||(e._listenerId=c.uniqueId("l"));return i[o]=e,"object"==typeof n&&(r=this),e[t](n,r,this),this}}),r.bind=r.on,r.unbind=r.off,r.mixin=function(t){var e=["on","once","off","trigger","stopListening","listenTo","listenToOnce","bind","unbind"];return c.each(e,function(e){t[e]=this[e]
+},this),t},"function"==typeof define?define(function(){return r}):"undefined"!=typeof n?("undefined"!=typeof e&&e.exports&&(n=e.exports=r),n.BackboneEvents=r):i.BackboneEvents=r}(this)},{}],18:[function(t,e){e.exports=t("./backbone-events-standalone")},{"./backbone-events-standalone":17}],19:[function(t,e){var n=[],r=n.forEach,i=n.slice;e.exports=function(t){return r.call(i.call(arguments,1),function(e){if(e)for(var n in e)t[n]=e[n]}),t}},{}],20:[function(t,e){var n=Array.isArray,r=Object.prototype.toString;e.exports=n||function(t){return!!t&&"[object Array]"==r.call(t)}},{}],21:[function(t,e){function n(t,e){e||(e={}),this.cid||(this.cid=a.uniqueId("state")),this._events={},this._values={},this._definition=Object.create(this._definition),e.parse&&(t=this.parse(t,e)),this.parent=e.parent,this.collection=e.collection,this._keyTree=new s,this._initCollections(),this._initChildren(),this._cache={},this._previousAttributes={},t&&this.set(t,a.extend({silent:!0,initial:!0},e)),this._changed={},this._derived&&this._initDerived(),e.init!==!1&&this.initialize.apply(this,arguments)}function r(t,e,n,r){var i,o,u=t._definition[e]={};if(a.isString(n))i=t._ensureValidType(n),i&&(u.type=i);else{if(a.isArray(n)&&(o=n,n={type:o[0],required:o[1],"default":o[2]}),i=t._ensureValidType(n.type),i&&(u.type=i),n.required&&(u.required=!0),n["default"]&&"object"==typeof n["default"])throw new TypeError("The default value for "+e+" cannot be an object/array, must be a value or a function which returns a value/object/array");u["default"]=n["default"],u.allowNull=n.allowNull?n.allowNull:!1,n.setOnce&&(u.setOnce=!0),u.required&&a.isUndefined(u["default"])&&!u.setOnce&&(u["default"]=t._getDefaultForType(i)),u.test=n.test,u.values=n.values}return r&&(u.session=!0),Object.defineProperty(t,e,{set:function(t){this.set(e,t)},get:function(){var t=this._values[e],n=this._dataTypes[u.type];return"undefined"!=typeof t?(n&&n.get&&(t=n.get(t)),t):(t=a.result(u,"default"),this._values[e]=t,t)}}),u}function i(t,e,n){var r=t._derived[e]={fn:a.isFunction(n)?n:n.fn,cache:n.cache!==!1,depList:n.deps||[]};a.each(r.depList,function(n){t._deps[n]=a(t._deps[n]||[]).union([e])}),Object.defineProperty(t,e,{get:function(){return this._getDerivedProperty(e)},set:function(){throw new TypeError('"'+e+"\" is a derived property, it can't be set directly.")}})}function o(t){var e,n=this,o=[].slice.call(arguments);e=t&&t.hasOwnProperty("constructor")?t.constructor:function(){return n.apply(this,arguments)},a.extend(e,n);var u=function(){this.constructor=e};u.prototype=n.prototype,e.prototype=new u,e.prototype._derived=a.extend({},n.prototype._derived),e.prototype._deps=a.extend({},n.prototype._deps),e.prototype._definition=a.extend({},n.prototype._definition),e.prototype._collections=a.extend({},n.prototype._collections),e.prototype._children=a.extend({},n.prototype._children),e.prototype._dataTypes=a.extend({},n.prototype._dataTypes||f),t&&o.forEach(function(t){var n=["dataTypes","props","session","derived","collections","children"];t.dataTypes&&a.each(t.dataTypes,function(t,n){e.prototype._dataTypes[n]=t}),t.props&&a.each(t.props,function(t,n){r(e.prototype,n,t)}),t.session&&a.each(t.session,function(t,n){r(e.prototype,n,t,!0)}),t.derived&&a.each(t.derived,function(t,n){i(e.prototype,n,t)}),t.collections&&a.each(t.collections,function(t,n){e.prototype._collections[n]=t}),t.children&&a.each(t.children,function(t,n){e.prototype._children[n]=t}),a.extend(e.prototype,a.omit(t,n))});Object.prototype.toString;return e.__super__=n.prototype,e}"undefined"!=typeof window&&(window.ampersand=window.ampersand||{},window.ampersand["ampersand-state"]=window.ampersand["ampersand-state"]||[],window.ampersand["ampersand-state"].push("4.4.5"));var a=t("underscore"),u=t("backbone-events-standalone"),s=t("key-tree-store"),l=t("array-next"),c=/^change:/;a.extend(n.prototype,u,{extraProperties:"ignore",idAttribute:"id",namespaceAttribute:"namespace",typeAttribute:"modelType",initialize:function(){return this},getId:function(){return this[this.idAttribute]},getNamespace:function(){return this[this.namespaceAttribute]},getType:function(){return this[this.typeAttribute]},isNew:function(){return null==this.getId()},escape:function(t){return a.escape(this.get(t))},isValid:function(t){return this._validate({},a.extend(t||{},{validate:!0}))},parse:function(t){return t},serialize:function(){var t=this.getAttributes({props:!0},!0);return a.each(this._children,function(e,n){t[n]=this[n].serialize()},this),a.each(this._collections,function(e,n){t[n]=this[n].serialize()},this),t},set:function(t,e,n){var r,i,o,u,s,l,c,f,h,p,d,g,v,m,y,b,x=this,w=this.extraProperties;if(a.isObject(t)||null===t?(h=t,n=e):(h={},h[t]=e),n=n||{},!this._validate(h,n))return!1;g=n.unset,d=n.silent,m=n.initial,i=[],r=this._changing,this._changing=!0,r||(this._previousAttributes=this.attributes,this._changed={});for(f in h){if(u=h[f],o=typeof u,v=this._values[f],s=this._definition[f],!s){if(this._children[f]||this._collections[f]){this[f].set(u,n);continue}if("ignore"===w)continue;if("reject"===w)throw new TypeError('No "'+f+'" property defined on '+(this.type||"this")+' model and extraProperties not set to "ignore" or "allow"');if("allow"===w)s=this._createPropertyDefinition(f,"any");else if(w)throw new TypeError('Invalid value for extraProperties: "'+w+'"')}if(b=this._getCompareForType(s.type),p=this._dataTypes[s.type],p&&p.set&&(l=p.set(u),u=l.val,o=l.type),s.test&&(c=s.test.call(this,u,o)))throw new TypeError("Property '"+f+"' failed validation with error: "+c);if(a.isUndefined(u)&&s.required)throw new TypeError("Required property '"+f+"' must be of type "+s.type+". Tried to set "+u);if(a.isNull(u)&&s.required&&!s.allowNull)throw new TypeError("Property '"+f+"' must be of type "+s.type+" (cannot be null). Tried to set "+u);if(s.type&&"any"!==s.type&&s.type!==o&&!a.isNull(u)&&!a.isUndefined(u))throw new TypeError("Property '"+f+"' must be of type "+s.type+". Tried to set "+u);if(s.values&&!a.contains(s.values,u))throw new TypeError("Property '"+f+"' must be one of values: "+s.values.join(", ")+". Tried to set "+u);if(y=!b(v,u,f),s.setOnce&&void 0!==v&&y&&!m)throw new TypeError("Property '"+f+"' can only be set once.");y?(i.push({prev:v,val:u,key:f}),x._changed[f]=u):delete x._changed[f]}if(a.each(i,function(t){x._previousAttributes[t.key]=t.prev,g?delete x._values[t.key]:x._values[t.key]=t.val}),!d&&i.length&&(x._pending=!0),d||a.each(i,function(t){x.trigger("change:"+t.key,x,t.val,n)}),r)return this;if(!d)for(;this._pending;)this._pending=!1,this.trigger("change",this,n);return this._pending=!1,this._changing=!1,this},get:function(t){return this[t]},toggle:function(t){var e=this._definition[t];if("boolean"===e.type)this[t]=!this[t];else{if(!e||!e.values)throw new TypeError("Can only toggle properties that are type `boolean` or have `values` array.");this[t]=l(e.values,this[t])}return this},previousAttributes:function(){return a.clone(this._previousAttributes)},hasChanged:function(t){return null==t?!a.isEmpty(this._changed):a.has(this._changed,t)},changedAttributes:function(t){if(!t)return this.hasChanged()?a.clone(this._changed):!1;var e,n,r,i=!1,o=this._changing?this._previousAttributes:this.attributes;for(var u in t)n=this._definition[u],n&&(r=this._getCompareForType(n.type),r(o[u],e=t[u])||((i||(i={}))[u]=e));return i},toJSON:function(){return this.serialize()},unset:function(t,e){{var n,r=this._definition[t];r.type}return r.required?(n=a.result(r,"default"),this.set(t,n,e)):this.set(t,n,a.extend({},e,{unset:!0}))},clear:function(t){var e=this;return a.each(a.keys(this.attributes),function(n){e.unset(n,t)}),this},previous:function(t){return null!=t&&Object.keys(this._previousAttributes).length?this._previousAttributes[t]:null},_getDefaultForType:function(t){var e=this._dataTypes[t];return e&&e["default"]},_getCompareForType:function(t){var e=this._dataTypes[t];return e&&e.compare?a.bind(e.compare,this):a.isEqual},_validate:function(t,e){if(!e.validate||!this.validate)return!0;t=a.extend({},this.attributes,t);var n=this.validationError=this.validate(t,e)||null;return n?(this.trigger("invalid",this,n,a.extend(e||{},{validationError:n})),!1):!0},_createPropertyDefinition:function(t,e,n){return r(this,t,e,n)},_ensureValidType:function(t){return a.contains(["string","number","boolean","array","object","date","any"].concat(a.keys(this._dataTypes)),t)?t:void 0},getAttributes:function(t,e){t||(t={}),a.defaults(t,{session:!1,props:!1,derived:!1});var n,r,i,o={};for(r in this._definition)i=this._definition[r],(t.session&&i.session||t.props&&!i.session)&&(n=e?this._values[r]:this[r],"undefined"==typeof n&&(n=a.result(i,"default")),"undefined"!=typeof n&&(o[r]=n));if(t.derived)for(r in this._derived)o[r]=this[r];return o},_initDerived:function(){var t=this;a.each(this._derived,function(e,n){var r=t._derived[n];r.deps=r.depList;var i=function(e){e=e||{};var i=r.fn.call(t);t._cache[n]===i&&r.cache||(r.cache&&(t._previousAttributes[n]=t._cache[n]),t._cache[n]=i,t.trigger("change:"+n,t,t._cache[n]))};r.deps.forEach(function(e){t._keyTree.add(e,i)})}),this.on("all",function(e){c.test(e)&&t._keyTree.get(e.split(":")[1]).forEach(function(t){t()})},this)},_getDerivedProperty:function(t,e){return this._derived[t].cache?((e||!this._cache.hasOwnProperty(t))&&(this._cache[t]=this._derived[t].fn.apply(this)),this._cache[t]):this._derived[t].fn.apply(this)},_initCollections:function(){var t;if(this._collections)for(t in this._collections)this[t]=new this._collections[t](null,{parent:this})},_initChildren:function(){var t;if(this._children)for(t in this._children)this[t]=new this._children[t]({},{parent:this}),this.listenTo(this[t],"all",this._getEventBubblingHandler(t))},_getEventBubblingHandler:function(t){return a.bind(function(e,n,r){c.test(e)?this.trigger("change:"+t+"."+e.split(":")[1],n,r):"change"===e&&this.trigger("change",this)},this)},_verifyRequired:function(){var t=this.attributes;for(var e in this._definition)if(this._definition[e].required&&"undefined"==typeof t[e])return!1;return!0}}),Object.defineProperties(n.prototype,{attributes:{get:function(){return this.getAttributes({props:!0,session:!0})}},all:{get:function(){return this.getAttributes({session:!0,props:!0,derived:!0})}},isState:{get:function(){return!0},set:function(){}}});var f={string:{"default":function(){return""}},date:{set:function(t){var e;if(null==t)e="object";else if(a.isDate(t))e="date",t=t.valueOf();else try{var n=new Date(t).valueOf();if(isNaN(n)&&(n=new Date(parseInt(t,10)).valueOf(),isNaN(n)))throw TypeError;t=n,e="date"}catch(r){e=typeof t}return{val:t,type:e}},get:function(t){return null==t?t:new Date(t)},"default":function(){return new Date}},array:{set:function(t){return{val:t,type:a.isArray(t)?"array":typeof t}},"default":function(){return[]}},object:{set:function(t){var e=typeof t;return"object"!==e&&a.isUndefined(t)&&(t=null,e="object"),{val:t,type:e}},"default":function(){return{}}},state:{set:function(t){var e=t instanceof n||t&&t.isState;return e?{val:t,type:"state"}:{val:t,type:typeof t}},compare:function(t,e,n){var r=t===e;return r||(t&&this.stopListening(t),null!=e&&this.listenTo(e,"all",this._getEventBubblingHandler(n))),r}}};n.extend=o,e.exports=n},{"array-next":22,"backbone-events-standalone":24,"key-tree-store":25,underscore:26}],22:[function(t,e){e.exports=function(t,e){var n=t.length,r=t.indexOf(e)+1;return r>n-1&&(r=0),t[r]}},{}],23:[function(t,e){e.exports=t(17)},{"/home/alexg/work/wiredtiger/tools/wtstats/template/node_modules/ampersand-collection/node_modules/backbone-events-standalone/backbone-events-standalone.js":17}],24:[function(t,e){e.exports=t(18)},{"./backbone-events-standalone":23,"/home/alexg/work/wiredtiger/tools/wtstats/template/node_modules/ampersand-collection/node_modules/backbone-events-standalone/index.js":18}],25:[function(t,e){function n(){this.storage={}}n.prototype.add=function(t,e){var n=this.storage[t]||(this.storage[t]=[]);n.push(e)},n.prototype.remove=function(t){var e,n;for(e in this.storage)n=this.storage[e],n.some(function(e,r){return e===t?(n.splice(r,1),!0):void 0})},n.prototype.get=function(t){var e,n=[];for(e in this.storage)(t===e||0===e.indexOf(t+"."))&&(n=n.concat(this.storage[e]));return n},e.exports=n},{}],26:[function(t,e){e.exports=t(11)},{"/home/alexg/work/wiredtiger/tools/wtstats/template/node_modules/ampersand-collection-underscore-mixin/node_modules/underscore/underscore.js":11}],27:[function(t,e){function n(t,e){e||(e={}),this.collection=t,this._reset(),this._watched=e.watched||[],this._parseFilters(e),this._runFilters(),this.listenTo(this.collection,"all",this._onCollectionEvent)}"undefined"!=typeof window&&(window.ampersand=window.ampersand||{},window.ampersand["ampersand-subcollection"]=window.ampersand["ampersand-subcollection"]||[],window.ampersand["ampersand-subcollection"].push("1.5.0"));var r=t("underscore"),i=t("backbone-events-standalone"),o=t("ampersand-class-extend"),a=t("ampersand-collection-underscore-mixin"),u=Array.prototype.slice;r.extend(n.prototype,i,a,{addFilter:function(t){this.swapFilters([t],[])},removeFilter:function(t){this.swapFilters([],[t])},clearFilters:function(){this._reset(),this._runFilters()},swapFilters:function(t,e){var n=this;e?r.isArray(e)||(e=[e]):e=this._filters,t?r.isArray(t)||(t=[t]):t=[],e.forEach(function(t){n._removeFilter(t)}),t.forEach(function(t){n._addFilter(t)}),this._runFilters()},configure:function(t,e){e&&this._resetFilters(),this._parseFilters(t),this._runFilters()},at:function(t){return this.models[t]},get:function(t,e){var n=this.collection.get(t,e);return n&&this.contains(n)?n:void 0},_removeFilter:function(t){var e=this._filters.indexOf(t);-1!==e&&this._filters.splice(e,1)},_reset:function(){this.models=[],this._resetFilters()},_resetFilters:function(){this._filters=[],this._watched=[],this.limit=void 0,this.offset=void 0},_addFilter:function(t){this._filters.push(t)},_watch:function(t){this._watched=r.union(this._watched,r.isArray(t)?t:[t])},_unwatch:function(t){this._watched=r.without(this._watched,t)},_parseFilters:function(t){t.where&&(r.each(t.where,function(t,e){this._addFilter(function(n){return(n.get?n.get(e):n[e])===t})},this),this._watch(r.keys(t.where))),t.hasOwnProperty("limit")&&(this.limit=t.limit),t.hasOwnProperty("offset")&&(this.offset=t.offset),t.filter&&this._addFilter(t.filter,!1),t.filters&&t.filters.forEach(this._addFilter,this),t.comparator&&(this.comparator=t.comparator)},_runFilters:function(){var t,e,n,i=u.call(this.models),o=u.call(this.collection.models),a=this.offset||0;t=this._filters.length?r.reduce(this._filters,function(t,e){return t.filter(e)},o):u.call(o),this.comparator&&(t=r.sortBy(t,this.comparator)),(this.limit||this.offset)&&(t=t.slice(a,this.limit+a)),e=r.difference(t,i),n=r.difference(i,t),this.models=t,r.each(n,function(t){this.trigger("remove",t,this)},this),r.each(e,function(t){this.trigger("add",t,this)},this),r.isEqual(i,t)||this.trigger("sort",this)},_onCollectionEvent:function(t,e){(r.contains(this._watched,t.split(":")[1])||r.contains(["add","remove","reset","sync"],t))&&this._runFilters(),(r.contains(["sync","invalid","destroy"])||-1!==t.indexOf("change"))&&this.contains(e)&&this.trigger.apply(this,arguments)}}),Object.defineProperty(n.prototype,"length",{get:function(){return this.models.length}}),Object.defineProperty(n.prototype,"isCollection",{get:function(){return!0}}),n.extend=o,e.exports=n},{"ampersand-class-extend":28,"ampersand-collection-underscore-mixin":10,"backbone-events-standalone":31,underscore:32}],28:[function(t,e){e.exports=t(16)},{"/home/alexg/work/wiredtiger/tools/wtstats/template/node_modules/ampersand-collection/node_modules/ampersand-class-extend/ampersand-class-extend.js":16,"extend-object":29}],29:[function(t,e){e.exports=t(19)},{"/home/alexg/work/wiredtiger/tools/wtstats/template/node_modules/ampersand-collection/node_modules/extend-object/extend-object.js":19}],30:[function(t,e){e.exports=t(17)},{"/home/alexg/work/wiredtiger/tools/wtstats/template/node_modules/ampersand-collection/node_modules/backbone-events-standalone/backbone-events-standalone.js":17}],31:[function(t,e){e.exports=t(18)},{"./backbone-events-standalone":30,"/home/alexg/work/wiredtiger/tools/wtstats/template/node_modules/ampersand-collection/node_modules/backbone-events-standalone/index.js":18}],32:[function(t,e){e.exports=t(11)},{"/home/alexg/work/wiredtiger/tools/wtstats/template/node_modules/ampersand-collection-underscore-mixin/node_modules/underscore/underscore.js":11}],33:[function(t,e){function n(t){this.cid=a.uniqueId("view"),t||(t={});var e=t.parent;delete t.parent,f.call(this,t,{init:!1,parent:e}),this.on("change:el",this._handleElementChange,this),this._parsedBindings=l(this.bindings,this),this._initializeBindings(),t.el&&!this.autoRender&&this._handleElementChange(),this._initializeSubviews(),this.template=t.template||this.template,this.initialize.apply(this,arguments),this.set(a.pick(t,h)),this.autoRender&&this.template&&this.render()}"undefined"!=typeof window&&(window.ampersand=window.ampersand||{},window.ampersand["ampersand-view"]=window.ampersand["ampersand-view"]||[],window.ampersand["ampersand-view"].push("7.2.0"));var r=t("ampersand-state"),i=t("ampersand-collection-view"),o=t("domify"),a=t("underscore"),u=t("events-mixin"),s=t("matches-selector"),l=t("ampersand-dom-bindings"),c=t("get-object-path"),f=r.extend({dataTypes:{element:{set:function(t){return{val:t,type:t instanceof Element?"element":typeof t}},compare:function(t,e){return t===e}},collection:{set:function(t){return{val:t,type:t&&t.isCollection?"collection":typeof t}},compare:function(t,e){return t===e}}},props:{model:"state",el:"element",collection:"collection"},derived:{rendered:{deps:["el"],fn:function(){return!!this.el}},hasData:{deps:["model"],fn:function(){return!!this.model}}}}),h=["model","collection","el"];n.prototype=Object.create(f.prototype),a.extend(n.prototype,{query:function(t){return t?"string"==typeof t?s(this.el,t)?this.el:this.el.querySelector(t)||void 0:t:this.el},queryAll:function(t){var e=[];return this.el?""===t?[this.el]:(s(this.el,t)&&e.push(this.el),e.concat(Array.prototype.slice.call(this.el.querySelectorAll(t)))):e},queryByHook:function(t){return this.query('[data-hook~="'+t+'"]')},initialize:function(){},render:function(){return this.renderWithTemplate(this),this},remove:function(){var t=this._parsedBindings;return this.el&&this.el.parentNode&&this.el.parentNode.removeChild(this.el),this._subviews&&a.chain(this._subviews).flatten().invoke("remove"),this.stopListening(),a.each(t,function(e,n){a.each(e,function(e,r){delete t[n][r]}),delete t[n]}),this.trigger("remove",this),this},_handleElementChange:function(){return this.eventManager&&this.eventManager.unbind(),this.eventManager=u(this.el,this),this.delegateEvents(),this._applyBindingsForKey(),this},delegateEvents:function(t){if(!t&&!(t=a.result(this,"events")))return this;this.undelegateEvents();for(var e in t)this.eventManager.bind(e,t[e]);return this},undelegateEvents:function(){return this.eventManager.unbind(),this},registerSubview:function(t){return this._subviews||(this._subviews=[]),this._subviews.push(t),t.el&&(t.parent=this),t},renderSubview:function(t,e){return"string"==typeof e&&(e=this.query(e)),this.registerSubview(t),t.render(),(e||this.el).appendChild(t.el),t},_applyBindingsForKey:function(t){if(this.el){var e,n=this._parsedBindings.getGrouped(t);for(e in n)n[e].forEach(function(t){t(this.el,c(this,e),a.last(e.split(".")))},this)}},_initializeBindings:function(){this.bindings&&this.on("all",function(t){"change:"===t.slice(0,7)&&this._applyBindingsForKey(t.split(":")[1])},this)},_initializeSubviews:function(){if(this.subviews)for(var t in this.subviews)this._parseSubview(this.subviews[t],t)},_parseSubview:function(t,e){function n(){var t,r;this.el&&(t=this.query(i.selector))&&(!i.waitFor||c(this,i.waitFor))&&(r=this[e]=i.prepareView.call(this,t),r.render(),this.registerSubview(r),this.off("change",n))}var r=this,i={selector:t.container||'[data-hook="'+t.hook+'"]',waitFor:t.waitFor||"",prepareView:t.prepareView||function(e){return new t.constructor({el:e,parent:r})}};this.on("change",n,this)},renderWithTemplate:function(t,e){var n=e||this.template;if(!n)throw new Error("Template string or function needed.");var r=a.isString(n)?n:n.call(this,t||this);a.isString(r)&&(r=o(r));var i=this.el&&this.el.parentNode;if(i&&i.replaceChild(r,this.el),"#document-fragment"===r.nodeName)throw new Error("Views can only have one root element.");return this.el=r,this},cacheElements:function(t){for(var e in t)this[e]=this.query(t[e])},listenToAndRun:function(t,e,n){var r=a.bind(n,this);this.listenTo(t,e,r),r()},animateRemove:function(){this.remove()},renderCollection:function(t,e,n,r){var o="string"==typeof n?this.query(n):n,u=a.extend({collection:t,el:o||this.el,view:e,parent:this,viewOptions:{parent:this}},r),s=new i(u);return s.render(),this.registerSubview(s)}}),n.extend=f.extend,e.exports=n},{"ampersand-collection-view":34,"ampersand-dom-bindings":39,"ampersand-state":21,domify:42,"events-mixin":43,"get-object-path":48,"matches-selector":49,underscore:50}],34:[function(t,e){function n(t){if(!t)throw new ReferenceError("Collection view missing required parameters: collection, el");if(!t.collection)throw new ReferenceError("Collection view requires a collection");if(!t.el&&!this.insertSelf)throw new ReferenceError("Collection view requires an el");r.extend(this,r.pick(t,a)),this.views=[],this.listenTo(this.collection,"add",this._addViewForModel),this.listenTo(this.collection,"remove",this._removeViewForModel),this.listenTo(this.collection,"sort",this._rerenderAll),this.listenTo(this.collection,"refresh reset",this._reset)}"undefined"!=typeof window&&(window.ampersand=window.ampersand||{},window.ampersand["ampersand-collection-view"]=window.ampersand["ampersand-collection-view"]||[],window.ampersand["ampersand-collection-view"].push("1.2.1"));var r=t("underscore"),i=t("backbone-events-standalone"),o=t("ampersand-class-extend"),a=["collection","el","viewOptions","view","emptyView","filter","reverse","parent"];r.extend(n.prototype,i,{render:function(){return this._renderAll(),this},remove:function(){r.invoke(this.views,"remove"),this.stopListening()},_getViewByModel:function(t){return r.find(this.views,function(e){return t===e.model})},_createViewForModel:function(t,e){var n=new this.view(r({model:t,collection:this.collection}).extend(this.viewOptions));return this.views.push(n),n.parent=this,n.renderedByParentView=!0,n.render(e),n},_getOrCreateByModel:function(t,e){return this._getViewByModel(t)||this._createViewForModel(t,e)},_addViewForModel:function(t,e,n){var r=this.filter?this.filter(t):!0;if(r){this.renderedEmptyView&&(this.renderedEmptyView.remove(),delete this.renderedEmptyView);var i=this._getOrCreateByModel(t,{containerEl:this.el});n&&n.rerender?this._insertView(i):this._insertViewAtIndex(i)}},_insertViewAtIndex:function(t){if(!t.insertSelf){var e,n,r=this.collection.indexOf(t.model);e=this.collection.at(this.reverse?r-1:r+1),n=this._getViewByModel(e),n?this.el.insertBefore(t.el,n&&n.el):this.el.appendChild(t.el)}},_insertView:function(t){t.insertSelf||(this.reverse&&this.el.firstChild?this.el.insertBefore(t.el,this.el.firstChild):this.el.appendChild(t.el))},_removeViewForModel:function(t){var e=this._getViewByModel(t);if(e){var n=this.views.indexOf(e);-1!==n&&(e=this.views.splice(n,1)[0],this._removeView(e),0===this.views.length&&this._renderEmptyView())}},_removeView:function(t){t.animateRemove?t.animateRemove():t.remove()},_renderAll:function(){this.collection.each(this._addViewForModel,this),0===this.views.length&&this._renderEmptyView()},_rerenderAll:function(t,e){e=e||{},this.collection.each(function(t){this._addViewForModel(t,this,r.extend(e,{rerender:!0}))},this)},_renderEmptyView:function(){if(this.emptyView&&!this.renderedEmptyView){var t=this.renderedEmptyView=new this.emptyView;this.el.appendChild(t.render().el)}},_reset:function(){var t=this.collection.map(this._getOrCreateByModel,this),e=r.difference(this.views,t);e.forEach(this._removeView,this),this.views=t,this._rerenderAll(),0===this.views.length&&this._renderEmptyView()}}),n.extend=o,e.exports=n},{"ampersand-class-extend":35,"backbone-events-standalone":38,underscore:50}],35:[function(t,e){e.exports=t(16)},{"/home/alexg/work/wiredtiger/tools/wtstats/template/node_modules/ampersand-collection/node_modules/ampersand-class-extend/ampersand-class-extend.js":16,"extend-object":36}],36:[function(t,e){e.exports=t(19)},{"/home/alexg/work/wiredtiger/tools/wtstats/template/node_modules/ampersand-collection/node_modules/extend-object/extend-object.js":19}],37:[function(t,e,n){!function(){function t(){return{keys:Object.keys||function(t){if("object"!=typeof t&&"function"!=typeof t||null===t)throw new TypeError("keys() called on a non-object");var e,n=[];for(e in t)t.hasOwnProperty(e)&&(n[n.length]=e);return n},uniqueId:function(t){var e=++l+"";return t?t+e:e},has:function(t,e){return u.call(t,e)},each:function(t,e,n){if(null!=t)if(a&&t.forEach===a)t.forEach(e,n);else if(t.length===+t.length){for(var r=0,i=t.length;i>r;r++)if(e.call(n,t[r],r,t)===o)return}else for(var u in t)if(this.has(t,u)&&e.call(n,t[u],u,t)===o)return},once:function(t){var e,n=!1;return function(){return n?e:(n=!0,e=t.apply(this,arguments),t=null,e)}}}}var r,i=this,o={},a=Array.prototype.forEach,u=Object.prototype.hasOwnProperty,s=Array.prototype.slice,l=0,c=t();r={on:function(t,e,n){if(!h(this,"on",t,[e,n])||!e)return this;this._events||(this._events={});var r=this._events[t]||(this._events[t]=[]);return r.push({callback:e,context:n,ctx:n||this}),this},once:function(t,e,n){if(!h(this,"once",t,[e,n])||!e)return this;var r=this,i=c.once(function(){r.off(t,i),e.apply(this,arguments)});return i._callback=e,this.on(t,i,n)},off:function(t,e,n){var r,i,o,a,u,s,l,f;if(!this._events||!h(this,"off",t,[e,n]))return this;if(!t&&!e&&!n)return this._events={},this;for(a=t?[t]:c.keys(this._events),u=0,s=a.length;s>u;u++)if(t=a[u],o=this._events[t]){if(this._events[t]=r=[],e||n)for(l=0,f=o.length;f>l;l++)i=o[l],(e&&e!==i.callback&&e!==i.callback._callback||n&&n!==i.context)&&r.push(i);r.length||delete this._events[t]}return this},trigger:function(t){if(!this._events)return this;var e=s.call(arguments,1);if(!h(this,"trigger",t,e))return this;var n=this._events[t],r=this._events.all;return n&&p(n,e),r&&p(r,arguments),this},stopListening:function(t,e,n){var r=this._listeners;if(!r)return this;var i=!e&&!n;"object"==typeof e&&(n=this),t&&((r={})[t._listenerId]=t);for(var o in r)r[o].off(e,n,this),i&&delete this._listeners[o];return this}};var f=/\s+/,h=function(t,e,n,r){if(!n)return!0;if("object"==typeof n){for(var i in n)t[e].apply(t,[i,n[i]].concat(r));return!1}if(f.test(n)){for(var o=n.split(f),a=0,u=o.length;u>a;a++)t[e].apply(t,[o[a]].concat(r));return!1}return!0},p=function(t,e){var n,r=-1,i=t.length,o=e[0],a=e[1],u=e[2];switch(e.length){case 0:for(;++r<i;)(n=t[r]).callback.call(n.ctx);return;case 1:for(;++r<i;)(n=t[r]).callback.call(n.ctx,o);return;case 2:for(;++r<i;)(n=t[r]).callback.call(n.ctx,o,a);return;case 3:for(;++r<i;)(n=t[r]).callback.call(n.ctx,o,a,u);return;default:for(;++r<i;)(n=t[r]).callback.apply(n.ctx,e)}},d={listenTo:"on",listenToOnce:"once"};c.each(d,function(t,e){r[e]=function(e,n,r){var i=this._listeners||(this._listeners={}),o=e._listenerId||(e._listenerId=c.uniqueId("l"));return i[o]=e,"object"==typeof n&&(r=this),e[t](n,r,this),this}}),r.bind=r.on,r.unbind=r.off,r.mixin=function(t){var e=["on","once","off","trigger","stopListening","listenTo","listenToOnce","bind","unbind"];return c.each(e,function(e){t[e]=this[e]},this),t},"function"==typeof define?define(function(){return r}):"undefined"!=typeof n?("undefined"!=typeof e&&e.exports&&(n=e.exports=r),n.BackboneEvents=r):i.BackboneEvents=r}(this)},{}],38:[function(t,e,n){arguments[4][18][0].apply(n,arguments)},{"./backbone-events-standalone":37,"/home/alexg/work/wiredtiger/tools/wtstats/template/node_modules/ampersand-collection/node_modules/backbone-events-standalone/index.js":18}],39:[function(t,e){function n(t,e){if(""===e)return[t];var n=[];return u(t,e)&&n.push(t),n.concat(s.call(t.querySelectorAll(e)))}function r(t){return Array.isArray(t)?t:[t]}function i(t,e){var i,o=t.type||"text",u="function"==typeof o,s=function(){return"string"==typeof t.selector?t.selector:t.hook?'[data-hook~="'+t.hook+'"]':""}(),l=t.yes,c=t.no,f=!(!l&&!c);if(u)return function(t,r){n(t,s).forEach(function(t){o.call(e,t,r,i)}),i=r};if("text"===o)return function(t,e){n(t,s).forEach(function(t){a.text(t,e)})};if("class"===o)return function(t,e){n(t,s).forEach(function(t){a.switchClass(t,i,e)}),i=e};if("attribute"===o){if(!t.name)throw Error('attribute bindings must have a "name"');return function(e,o){var u=r(t.name);n(e,s).forEach(function(t){u.forEach(function(e){a.setAttribute(t,e,o)})}),i=o}}if("value"===o)return function(t,e){n(t,s).forEach(function(t){e||0===e||(e=""),document.activeElement!==t&&(t.value=e)}),i=e};if("booleanClass"===o)return f?(l=r(l||""),c=r(c||""),function(t,e){var r=e?c:l,i=e?l:c;n(t,s).forEach(function(t){r.forEach(function(e){a.removeClass(t,e)}),i.forEach(function(e){a.addClass(t,e)})})}):function(e,i,o){var u=r(t.name||o);n(e,s).forEach(function(t){u.forEach(function(e){a[i?"addClass":"removeClass"](t,e)})})};if("booleanAttribute"===o)return function(e,i,o){var u=r(t.name||o);n(e,s).forEach(function(t){u.forEach(function(e){a[i?"addAttribute":"removeAttribute"](t,e)})})};if("toggle"===o)return f?function(t,e){n(t,l).forEach(function(t){a[e?"show":"hide"](t)}),n(t,c).forEach(function(t){a[e?"hide":"show"](t)})}:function(t,e){n(t,s).forEach(function(t){a[e?"show":"hide"](t)})};if("switch"===o){if(!t.cases)throw Error('switch bindings must have "cases"');return function(e,r){for(var i in t.cases)n(e,t.cases[i]).forEach(function(t){a[r===i?"show":"hide"](t)})}}if("innerHTML"===o)return function(t,e){n(t,s).forEach(function(t){a.html(t,e)})};if("switchClass"===o){if(!t.cases)throw Error('switchClass bindings must have "cases"');return function(e,i,o){var u=r(t.name||o);for(var s in t.cases)n(e,t.cases[s]).forEach(function(t){u.forEach(function(e){a[i===s?"addClass":"removeClass"](t,e)})})}}throw new Error("no such binding type: "+o)}"undefined"!=typeof window&&(window.ampersand=window.ampersand||{},window.ampersand["ampersand-dom-bindings"]=window.ampersand["ampersand-dom-bindings"]||[],window.ampersand["ampersand-dom-bindings"].push("3.3.3"));var o=t("key-tree-store"),a=t("ampersand-dom"),u=t("matches-selector");e.exports=function(t,e){var n,r,a=new o;for(n in t)r=t[n],"string"==typeof r?a.add(n,i({type:"text",selector:r})):r.forEach?r.forEach(function(t){a.add(n,i(t,e))}):a.add(n,i(r,e));return a};var s=Array.prototype.slice},{"ampersand-dom":40,"key-tree-store":41,"matches-selector":49}],40:[function(t,e){function n(t){return t||0===t?t:""}function r(t,e){return t.classList?t.classList.contains(e):new RegExp("(^| )"+e+"( |$)","gi").test(t.className)}function i(t,e){var n=t[e];return e in t&&(n===!0||n===!1)}function o(t){return"true"===l.getAttribute(t,"data-anddom-hidden")}function a(t){l.setAttribute(t,"data-anddom-display",t.style.display)}function u(t){t.style.display=l.getAttribute(t,"data-anddom-display")||"",l.removeAttribute(t,"data-anddom-hidden")}function s(t){l.setAttribute(t,"data-anddom-hidden","true"),t.style.display="none"}"undefined"!=typeof window&&(window.ampersand=window.ampersand||{},window.ampersand["ampersand-dom"]=window.ampersand["ampersand-dom"]||[],window.ampersand["ampersand-dom"].push("1.2.7"));var l=e.exports={text:function(t,e){t.textContent=n(e)},addClass:function(t,e){e=n(e),e&&(Array.isArray(e)?e.forEach(function(e){l.addClass(t,e)}):t.classList?t.classList.add(e):r(t,e)||(t.classList?t.classList.add(e):t.className+=" "+e))},removeClass:function(t,e){Array.isArray(e)?e.forEach(function(e){l.removeClass(t,e)}):t.classList?(e=n(e),e&&t.classList.remove(e)):t.className=t.className.replace(new RegExp("(^|\\b)"+e.split(" ").join("|")+"(\\b|$)","gi")," ")
+},hasClass:r,switchClass:function(t,e,n){e&&this.removeClass(t,e),this.addClass(t,n)},addAttribute:function(t,e){t.setAttribute(e,""),i(t,e)&&(t[e]=!0)},removeAttribute:function(t,e){t.removeAttribute(e),i(t,e)&&(t[e]=!1)},setAttribute:function(t,e,r){t.setAttribute(e,n(r))},getAttribute:function(t,e){return t.getAttribute(e)},hide:function(t){o(t)||(a(t),s(t))},show:function(t){u(t)},html:function(t,e){t.innerHTML=e}}},{}],41:[function(t,e){function n(){this.storage={}}var r=Array.prototype.slice;n.prototype.add=function(t,e){var n=this.storage[t]||(this.storage[t]=[]);n.push(e)},n.prototype.remove=function(t){var e,n;for(e in this.storage)n=this.storage[e],n.some(function(e,r){return e===t?(n.splice(r,1),!0):void 0})},n.prototype.get=function(t){var e,n=[];for(e in this.storage)t&&t!==e&&0!==e.indexOf(t+".")||(n=n.concat(this.storage[e]));return n},n.prototype.getGrouped=function(t){var e,n={};for(e in this.storage)t&&t!==e&&0!==e.indexOf(t+".")||(n[e]=r.call(this.storage[e]));return n},n.prototype.getAll=function(t){var e,n={};for(e in this.storage)(t===e||0===e.indexOf(t+"."))&&(n[e]=r.call(this.storage[e]));return n},n.prototype.run=function(t,e){var n=r.call(arguments,2);this.get(t).forEach(function(t){t.apply(e||this,n)})},e.exports=n},{}],42:[function(t,e){function n(t,e){if("string"!=typeof t)throw new TypeError("String expected");e||(e=document);var n=/<([\w:]+)/.exec(t);if(!n)return e.createTextNode(t);t=t.replace(/^\s+|\s+$/g,"");var r=n[1];if("body"==r){var i=e.createElement("html");return i.innerHTML=t,i.removeChild(i.lastChild)}var a=o[r]||o._default,u=a[0],s=a[1],l=a[2],i=e.createElement("div");for(i.innerHTML=s+t+l;u--;)i=i.lastChild;if(i.firstChild==i.lastChild)return i.removeChild(i.firstChild);for(var c=e.createDocumentFragment();i.firstChild;)c.appendChild(i.removeChild(i.firstChild));return c}e.exports=n;var r=document.createElement("div");r.innerHTML=' <link/><table></table><a href="/a">a</a><input type="checkbox"/>';var i=!r.getElementsByTagName("link").length;r=void 0;var o={legend:[1,"<fieldset>","</fieldset>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],_default:i?[1,"X<div>","</div>"]:[0,"",""]};o.td=o.th=[3,"<table><tbody><tr>","</tr></tbody></table>"],o.option=o.optgroup=[1,'<select multiple="multiple">',"</select>"],o.thead=o.tbody=o.colgroup=o.caption=o.tfoot=[1,"<table>","</table>"],o.text=o.circle=o.ellipse=o.line=o.path=o.polygon=o.polyline=o.rect=[1,'<svg xmlns="http://www.w3.org/2000/svg" version="1.1">',"</svg>"]},{}],43:[function(t,e){function n(t,e){if(!(this instanceof n))return new n(t,e);if(!t)throw new Error("element required");if(!e)throw new Error("object required");this.el=t,this.obj=e,this._events={}}function r(t){var e=t.split(/ +/);return{name:e.shift(),selector:e.join(" ")}}var i=t("component-event"),o=t("delegate-events"),a=["focus","blur"];e.exports=n,n.prototype.sub=function(t,e,n){this._events[t]=this._events[t]||{},this._events[t][e]=n},n.prototype.bind=function(t,e){function n(){var t=[].slice.call(arguments).concat(c);if("function"==typeof e)return void e.apply(s,t);if(!s[e])throw new Error(e+" method is not defined");s[e].apply(s,t)}var a=r(t),u=this.el,s=this.obj,l=a.name,e=e||"on"+l,c=[].slice.call(arguments,2);return a.selector?n=o.bind(u,a.selector,l,n):i.bind(u,l,n),this.sub(l,e,n),n},n.prototype.unbind=function(t,e){if(0==arguments.length)return this.unbindAll();if(1==arguments.length)return this.unbindAllOf(t);var n=this._events[t],r=-1!==a.indexOf(t);if(n){var o=n[e];o&&i.unbind(this.el,t,o,r)}},n.prototype.unbindAll=function(){for(var t in this._events)this.unbindAllOf(t)},n.prototype.unbindAllOf=function(t){var e=this._events[t];if(e)for(var n in e)this.unbind(t,n)}},{"component-event":44,"delegate-events":45}],44:[function(t,e,n){var r=window.addEventListener?"addEventListener":"attachEvent",i=window.removeEventListener?"removeEventListener":"detachEvent",o="addEventListener"!==r?"on":"";n.bind=function(t,e,n,i){return t[r](o+e,n,i||!1),n},n.unbind=function(t,e,n,r){return t[i](o+e,n,r||!1),n}},{}],45:[function(t,e,n){var r=t("closest"),i=t("event"),o=["focus","blur"];n.bind=function(t,e,n,a,u){return-1!==o.indexOf(n)&&(u=!0),i.bind(t,n,function(n){var i=n.target||n.srcElement;n.delegateTarget=r(i,e,!0,t),n.delegateTarget&&a.call(t,n)},u)},n.unbind=function(t,e,n,r){-1!==o.indexOf(e)&&(r=!0),i.unbind(t,e,n,r)}},{closest:46,event:44}],46:[function(t,e){var n=t("matches-selector");e.exports=function(t,e,r){for(var i=r?t:t.parentNode;i&&i!==document;){if(n(i,e))return i;i=i.parentNode}}},{"matches-selector":47}],47:[function(t,e){function n(t,e){if(i)return i.call(t,e);for(var n=t.parentNode.querySelectorAll(e),r=0;r<n.length;++r)if(n[r]==t)return!0;return!1}var r=Element.prototype,i=r.matchesSelector||r.webkitMatchesSelector||r.mozMatchesSelector||r.msMatchesSelector||r.oMatchesSelector;e.exports=n},{}],48:[function(t,e){function n(t,e){if(-1==e.indexOf(".")&&-1==e.indexOf("["))return t[e];for(var n,r=e.split(/\.|\[|\]/g),i=-1,o=r.length;++i<o;)if(0==i&&(n=t),r[i]){if(void 0==n)break;n=n[r[i]]}return n}e.exports=n},{}],49:[function(t,e){"use strict";function n(t,e){if(i)return i.call(t,e);for(var n=t.parentNode.querySelectorAll(e),r=0;r<n.length;r++)if(n[r]==t)return!0;return!1}var r=Element.prototype,i=r.matches||r.matchesSelector||r.webkitMatchesSelector||r.mozMatchesSelector||r.msMatchesSelector||r.oMatchesSelector;e.exports=n},{}],50:[function(t,e,n){(function(){var t=this,r=t._,i={},o=Array.prototype,a=Object.prototype,u=Function.prototype,s=o.push,l=o.slice,c=o.concat,f=a.toString,h=a.hasOwnProperty,p=o.forEach,d=o.map,g=o.reduce,v=o.reduceRight,m=o.filter,y=o.every,b=o.some,x=o.indexOf,w=o.lastIndexOf,_=Array.isArray,M=Object.keys,k=u.bind,E=function(t){return t instanceof E?t:this instanceof E?void(this._wrapped=t):new E(t)};"undefined"!=typeof n?("undefined"!=typeof e&&e.exports&&(n=e.exports=E),n._=E):t._=E,E.VERSION="1.6.0";var C=E.each=E.forEach=function(t,e,n){if(null==t)return t;if(p&&t.forEach===p)t.forEach(e,n);else if(t.length===+t.length){for(var r=0,o=t.length;o>r;r++)if(e.call(n,t[r],r,t)===i)return}else for(var a=E.keys(t),r=0,o=a.length;o>r;r++)if(e.call(n,t[a[r]],a[r],t)===i)return;return t};E.map=E.collect=function(t,e,n){var r=[];return null==t?r:d&&t.map===d?t.map(e,n):(C(t,function(t,i,o){r.push(e.call(n,t,i,o))}),r)};var S="Reduce of empty array with no initial value";E.reduce=E.foldl=E.inject=function(t,e,n,r){var i=arguments.length>2;if(null==t&&(t=[]),g&&t.reduce===g)return r&&(e=E.bind(e,r)),i?t.reduce(e,n):t.reduce(e);if(C(t,function(t,o,a){i?n=e.call(r,n,t,o,a):(n=t,i=!0)}),!i)throw new TypeError(S);return n},E.reduceRight=E.foldr=function(t,e,n,r){var i=arguments.length>2;if(null==t&&(t=[]),v&&t.reduceRight===v)return r&&(e=E.bind(e,r)),i?t.reduceRight(e,n):t.reduceRight(e);var o=t.length;if(o!==+o){var a=E.keys(t);o=a.length}if(C(t,function(u,s,l){s=a?a[--o]:--o,i?n=e.call(r,n,t[s],s,l):(n=t[s],i=!0)}),!i)throw new TypeError(S);return n},E.find=E.detect=function(t,e,n){var r;return T(t,function(t,i,o){return e.call(n,t,i,o)?(r=t,!0):void 0}),r},E.filter=E.select=function(t,e,n){var r=[];return null==t?r:m&&t.filter===m?t.filter(e,n):(C(t,function(t,i,o){e.call(n,t,i,o)&&r.push(t)}),r)},E.reject=function(t,e,n){return E.filter(t,function(t,r,i){return!e.call(n,t,r,i)},n)},E.every=E.all=function(t,e,n){e||(e=E.identity);var r=!0;return null==t?r:y&&t.every===y?t.every(e,n):(C(t,function(t,o,a){return(r=r&&e.call(n,t,o,a))?void 0:i}),!!r)};var T=E.some=E.any=function(t,e,n){e||(e=E.identity);var r=!1;return null==t?r:b&&t.some===b?t.some(e,n):(C(t,function(t,o,a){return r||(r=e.call(n,t,o,a))?i:void 0}),!!r)};E.contains=E.include=function(t,e){return null==t?!1:x&&t.indexOf===x?-1!=t.indexOf(e):T(t,function(t){return t===e})},E.invoke=function(t,e){var n=l.call(arguments,2),r=E.isFunction(e);return E.map(t,function(t){return(r?e:t[e]).apply(t,n)})},E.pluck=function(t,e){return E.map(t,E.property(e))},E.where=function(t,e){return E.filter(t,E.matches(e))},E.findWhere=function(t,e){return E.find(t,E.matches(e))},E.max=function(t,e,n){if(!e&&E.isArray(t)&&t[0]===+t[0]&&t.length<65535)return Math.max.apply(Math,t);var r=-1/0,i=-1/0;return C(t,function(t,o,a){var u=e?e.call(n,t,o,a):t;u>i&&(r=t,i=u)}),r},E.min=function(t,e,n){if(!e&&E.isArray(t)&&t[0]===+t[0]&&t.length<65535)return Math.min.apply(Math,t);var r=1/0,i=1/0;return C(t,function(t,o,a){var u=e?e.call(n,t,o,a):t;i>u&&(r=t,i=u)}),r},E.shuffle=function(t){var e,n=0,r=[];return C(t,function(t){e=E.random(n++),r[n-1]=r[e],r[e]=t}),r},E.sample=function(t,e,n){return null==e||n?(t.length!==+t.length&&(t=E.values(t)),t[E.random(t.length-1)]):E.shuffle(t).slice(0,Math.max(0,e))};var j=function(t){return null==t?E.identity:E.isFunction(t)?t:E.property(t)};E.sortBy=function(t,e,n){return e=j(e),E.pluck(E.map(t,function(t,r,i){return{value:t,index:r,criteria:e.call(n,t,r,i)}}).sort(function(t,e){var n=t.criteria,r=e.criteria;if(n!==r){if(n>r||void 0===n)return 1;if(r>n||void 0===r)return-1}return t.index-e.index}),"value")};var A=function(t){return function(e,n,r){var i={};return n=j(n),C(e,function(o,a){var u=n.call(r,o,a,e);t(i,u,o)}),i}};E.groupBy=A(function(t,e,n){E.has(t,e)?t[e].push(n):t[e]=[n]}),E.indexBy=A(function(t,e,n){t[e]=n}),E.countBy=A(function(t,e){E.has(t,e)?t[e]++:t[e]=1}),E.sortedIndex=function(t,e,n,r){n=j(n);for(var i=n.call(r,e),o=0,a=t.length;a>o;){var u=o+a>>>1;n.call(r,t[u])<i?o=u+1:a=u}return o},E.toArray=function(t){return t?E.isArray(t)?l.call(t):t.length===+t.length?E.map(t,E.identity):E.values(t):[]},E.size=function(t){return null==t?0:t.length===+t.length?t.length:E.keys(t).length},E.first=E.head=E.take=function(t,e,n){return null==t?void 0:null==e||n?t[0]:0>e?[]:l.call(t,0,e)},E.initial=function(t,e,n){return l.call(t,0,t.length-(null==e||n?1:e))},E.last=function(t,e,n){return null==t?void 0:null==e||n?t[t.length-1]:l.call(t,Math.max(t.length-e,0))},E.rest=E.tail=E.drop=function(t,e,n){return l.call(t,null==e||n?1:e)},E.compact=function(t){return E.filter(t,E.identity)};var N=function(t,e,n){return e&&E.every(t,E.isArray)?c.apply(n,t):(C(t,function(t){E.isArray(t)||E.isArguments(t)?e?s.apply(n,t):N(t,e,n):n.push(t)}),n)};E.flatten=function(t,e){return N(t,e,[])},E.without=function(t){return E.difference(t,l.call(arguments,1))},E.partition=function(t,e){var n=[],r=[];return C(t,function(t){(e(t)?n:r).push(t)}),[n,r]},E.uniq=E.unique=function(t,e,n,r){E.isFunction(e)&&(r=n,n=e,e=!1);var i=n?E.map(t,n,r):t,o=[],a=[];return C(i,function(n,r){(e?r&&a[a.length-1]===n:E.contains(a,n))||(a.push(n),o.push(t[r]))}),o},E.union=function(){return E.uniq(E.flatten(arguments,!0))},E.intersection=function(t){var e=l.call(arguments,1);return E.filter(E.uniq(t),function(t){return E.every(e,function(e){return E.contains(e,t)})})},E.difference=function(t){var e=c.apply(o,l.call(arguments,1));return E.filter(t,function(t){return!E.contains(e,t)})},E.zip=function(){for(var t=E.max(E.pluck(arguments,"length").concat(0)),e=new Array(t),n=0;t>n;n++)e[n]=E.pluck(arguments,""+n);return e},E.object=function(t,e){if(null==t)return{};for(var n={},r=0,i=t.length;i>r;r++)e?n[t[r]]=e[r]:n[t[r][0]]=t[r][1];return n},E.indexOf=function(t,e,n){if(null==t)return-1;var r=0,i=t.length;if(n){if("number"!=typeof n)return r=E.sortedIndex(t,e),t[r]===e?r:-1;r=0>n?Math.max(0,i+n):n}if(x&&t.indexOf===x)return t.indexOf(e,n);for(;i>r;r++)if(t[r]===e)return r;return-1},E.lastIndexOf=function(t,e,n){if(null==t)return-1;var r=null!=n;if(w&&t.lastIndexOf===w)return r?t.lastIndexOf(e,n):t.lastIndexOf(e);for(var i=r?n:t.length;i--;)if(t[i]===e)return i;return-1},E.range=function(t,e,n){arguments.length<=1&&(e=t||0,t=0),n=arguments[2]||1;for(var r=Math.max(Math.ceil((e-t)/n),0),i=0,o=new Array(r);r>i;)o[i++]=t,t+=n;return o};var O=function(){};E.bind=function(t,e){var n,r;if(k&&t.bind===k)return k.apply(t,l.call(arguments,1));if(!E.isFunction(t))throw new TypeError;return n=l.call(arguments,2),r=function(){if(!(this instanceof r))return t.apply(e,n.concat(l.call(arguments)));O.prototype=t.prototype;var i=new O;O.prototype=null;var o=t.apply(i,n.concat(l.call(arguments)));return Object(o)===o?o:i}},E.partial=function(t){var e=l.call(arguments,1);return function(){for(var n=0,r=e.slice(),i=0,o=r.length;o>i;i++)r[i]===E&&(r[i]=arguments[n++]);for(;n<arguments.length;)r.push(arguments[n++]);return t.apply(this,r)}},E.bindAll=function(t){var e=l.call(arguments,1);if(0===e.length)throw new Error("bindAll must be passed function names");return C(e,function(e){t[e]=E.bind(t[e],t)}),t},E.memoize=function(t,e){var n={};return e||(e=E.identity),function(){var r=e.apply(this,arguments);return E.has(n,r)?n[r]:n[r]=t.apply(this,arguments)}},E.delay=function(t,e){var n=l.call(arguments,2);return setTimeout(function(){return t.apply(null,n)},e)},E.defer=function(t){return E.delay.apply(E,[t,1].concat(l.call(arguments,1)))},E.throttle=function(t,e,n){var r,i,o,a=null,u=0;n||(n={});var s=function(){u=n.leading===!1?0:E.now(),a=null,o=t.apply(r,i),r=i=null};return function(){var l=E.now();u||n.leading!==!1||(u=l);var c=e-(l-u);return r=this,i=arguments,0>=c?(clearTimeout(a),a=null,u=l,o=t.apply(r,i),r=i=null):a||n.trailing===!1||(a=setTimeout(s,c)),o}},E.debounce=function(t,e,n){var r,i,o,a,u,s=function(){var l=E.now()-a;e>l?r=setTimeout(s,e-l):(r=null,n||(u=t.apply(o,i),o=i=null))};return function(){o=this,i=arguments,a=E.now();var l=n&&!r;return r||(r=setTimeout(s,e)),l&&(u=t.apply(o,i),o=i=null),u}},E.once=function(t){var e,n=!1;return function(){return n?e:(n=!0,e=t.apply(this,arguments),t=null,e)}},E.wrap=function(t,e){return E.partial(e,t)},E.compose=function(){var t=arguments;return function(){for(var e=arguments,n=t.length-1;n>=0;n--)e=[t[n].apply(this,e)];return e[0]}},E.after=function(t,e){return function(){return--t<1?e.apply(this,arguments):void 0}},E.keys=function(t){if(!E.isObject(t))return[];if(M)return M(t);var e=[];for(var n in t)E.has(t,n)&&e.push(n);return e},E.values=function(t){for(var e=E.keys(t),n=e.length,r=new Array(n),i=0;n>i;i++)r[i]=t[e[i]];return r},E.pairs=function(t){for(var e=E.keys(t),n=e.length,r=new Array(n),i=0;n>i;i++)r[i]=[e[i],t[e[i]]];return r},E.invert=function(t){for(var e={},n=E.keys(t),r=0,i=n.length;i>r;r++)e[t[n[r]]]=n[r];return e},E.functions=E.methods=function(t){var e=[];for(var n in t)E.isFunction(t[n])&&e.push(n);return e.sort()},E.extend=function(t){return C(l.call(arguments,1),function(e){if(e)for(var n in e)t[n]=e[n]}),t},E.pick=function(t){var e={},n=c.apply(o,l.call(arguments,1));return C(n,function(n){n in t&&(e[n]=t[n])}),e},E.omit=function(t){var e={},n=c.apply(o,l.call(arguments,1));for(var r in t)E.contains(n,r)||(e[r]=t[r]);return e},E.defaults=function(t){return C(l.call(arguments,1),function(e){if(e)for(var n in e)void 0===t[n]&&(t[n]=e[n])}),t},E.clone=function(t){return E.isObject(t)?E.isArray(t)?t.slice():E.extend({},t):t},E.tap=function(t,e){return e(t),t};var q=function(t,e,n,r){if(t===e)return 0!==t||1/t==1/e;if(null==t||null==e)return t===e;t instanceof E&&(t=t._wrapped),e instanceof E&&(e=e._wrapped);var i=f.call(t);if(i!=f.call(e))return!1;switch(i){case"[object String]":return t==String(e);case"[object Number]":return t!=+t?e!=+e:0==t?1/t==1/e:t==+e;case"[object Date]":case"[object Boolean]":return+t==+e;case"[object RegExp]":return t.source==e.source&&t.global==e.global&&t.multiline==e.multiline&&t.ignoreCase==e.ignoreCase}if("object"!=typeof t||"object"!=typeof e)return!1;for(var o=n.length;o--;)if(n[o]==t)return r[o]==e;var a=t.constructor,u=e.constructor;if(a!==u&&!(E.isFunction(a)&&a instanceof a&&E.isFunction(u)&&u instanceof u)&&"constructor"in t&&"constructor"in e)return!1;n.push(t),r.push(e);var s=0,l=!0;if("[object Array]"==i){if(s=t.length,l=s==e.length)for(;s--&&(l=q(t[s],e[s],n,r)););}else{for(var c in t)if(E.has(t,c)&&(s++,!(l=E.has(e,c)&&q(t[c],e[c],n,r))))break;if(l){for(c in e)if(E.has(e,c)&&!s--)break;l=!s}}return n.pop(),r.pop(),l};E.isEqual=function(t,e){return q(t,e,[],[])},E.isEmpty=function(t){if(null==t)return!0;if(E.isArray(t)||E.isString(t))return 0===t.length;for(var e in t)if(E.has(t,e))return!1;return!0},E.isElement=function(t){return!(!t||1!==t.nodeType)},E.isArray=_||function(t){return"[object Array]"==f.call(t)},E.isObject=function(t){return t===Object(t)},C(["Arguments","Function","String","Number","Date","RegExp"],function(t){E["is"+t]=function(e){return f.call(e)=="[object "+t+"]"}}),E.isArguments(arguments)||(E.isArguments=function(t){return!(!t||!E.has(t,"callee"))}),"function"!=typeof/./&&(E.isFunction=function(t){return"function"==typeof t}),E.isFinite=function(t){return isFinite(t)&&!isNaN(parseFloat(t))},E.isNaN=function(t){return E.isNumber(t)&&t!=+t},E.isBoolean=function(t){return t===!0||t===!1||"[object Boolean]"==f.call(t)},E.isNull=function(t){return null===t},E.isUndefined=function(t){return void 0===t},E.has=function(t,e){return h.call(t,e)},E.noConflict=function(){return t._=r,this},E.identity=function(t){return t},E.constant=function(t){return function(){return t}},E.property=function(t){return function(e){return e[t]}},E.matches=function(t){return function(e){if(e===t)return!0;for(var n in t)if(t[n]!==e[n])return!1;return!0}},E.times=function(t,e,n){for(var r=Array(Math.max(0,t)),i=0;t>i;i++)r[i]=e.call(n,i);return r},E.random=function(t,e){return null==e&&(e=t,t=0),t+Math.floor(Math.random()*(e-t+1))},E.now=Date.now||function(){return(new Date).getTime()};var D={escape:{"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;"}};D.unescape=E.invert(D.escape);var L={escape:new RegExp("["+E.keys(D.escape).join("")+"]","g"),unescape:new RegExp("("+E.keys(D.unescape).join("|")+")","g")};E.each(["escape","unescape"],function(t){E[t]=function(e){return null==e?"":(""+e).replace(L[t],function(e){return D[t][e]})}}),E.result=function(t,e){if(null==t)return void 0;var n=t[e];return E.isFunction(n)?n.call(t):n},E.mixin=function(t){C(E.functions(t),function(e){var n=E[e]=t[e];E.prototype[e]=function(){var t=[this._wrapped];return s.apply(t,arguments),P.call(this,n.apply(E,t))}})};var F=0;E.uniqueId=function(t){var e=++F+"";return t?t+e:e},E.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var z=/(.)^/,R={"'":"'","\\":"\\","\r":"r","\n":"n"," ":"t","\u2028":"u2028","\u2029":"u2029"},I=/\\|'|\r|\n|\t|\u2028|\u2029/g;E.template=function(t,data,e){var n;e=E.defaults({},e,E.templateSettings);var r=new RegExp([(e.escape||z).source,(e.interpolate||z).source,(e.evaluate||z).source].join("|")+"|$","g"),i=0,o="__p+='";t.replace(r,function(e,n,r,a,u){return o+=t.slice(i,u).replace(I,function(t){return"\\"+R[t]}),n&&(o+="'+\n((__t=("+n+"))==null?'':_.escape(__t))+\n'"),r&&(o+="'+\n((__t=("+r+"))==null?'':__t)+\n'"),a&&(o+="';\n"+a+"\n__p+='"),i=u+e.length,e}),o+="';\n",e.variable||(o="with(obj||{}){\n"+o+"}\n"),o="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+o+"return __p;\n";try{n=new Function(e.variable||"obj","_",o)}catch(a){throw a.source=o,a}if(data)return n(data,E);var u=function(data){return n.call(this,data,E)};return u.source="function("+(e.variable||"obj")+"){\n"+o+"}",u},E.chain=function(t){return E(t).chain()};var P=function(t){return this._chain?E(t).chain():t};E.mixin(E),C(["pop","push","reverse","shift","sort","splice","unshift"],function(t){var e=o[t];E.prototype[t]=function(){var n=this._wrapped;return e.apply(n,arguments),"shift"!=t&&"splice"!=t||0!==n.length||delete n[0],P.call(this,n)}}),C(["concat","join","slice"],function(t){var e=o[t];E.prototype[t]=function(){return P.call(this,e.apply(this._wrapped,arguments))}}),E.extend(E.prototype,{chain:function(){return this._chain=!0,this},value:function(){return this._wrapped}}),"function"==typeof define&&define.amd&&define("underscore",[],function(){return E})}).call(this)},{}],51:[function(){+function(t){"use strict";function e(e){return this.each(function(){var r=t(this),data=r.data("bs.button"),i="object"==typeof e&&e;data||r.data("bs.button",data=new n(this,i)),"toggle"==e?data.toggle():e&&data.setState(e)})}var n=function(e,r){this.$element=t(e),this.options=t.extend({},n.DEFAULTS,r),this.isLoading=!1};n.VERSION="3.2.0",n.DEFAULTS={loadingText:"loading..."},n.prototype.setState=function(e){var n="disabled",r=this.$element,i=r.is("input")?"val":"html",data=r.data();e+="Text",null==data.resetText&&r.data("resetText",r[i]()),r[i](null==data[e]?this.options[e]:data[e]),setTimeout(t.proxy(function(){"loadingText"==e?(this.isLoading=!0,r.addClass(n).attr(n,n)):this.isLoading&&(this.isLoading=!1,r.removeClass(n).removeAttr(n))},this),0)},n.prototype.toggle=function(){var t=!0,e=this.$element.closest('[data-toggle="buttons"]');if(e.length){var n=this.$element.find("input");"radio"==n.prop("type")&&(n.prop("checked")&&this.$element.hasClass("active")?t=!1:e.find(".active").removeClass("active")),t&&n.prop("checked",!this.$element.hasClass("active")).trigger("change")}t&&this.$element.toggleClass("active")};var r=t.fn.button;t.fn.button=e,t.fn.button.Constructor=n,t.fn.button.noConflict=function(){return t.fn.button=r,this},t(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(n){var r=t(n.target);r.hasClass("btn")||(r=r.closest(".btn")),e.call(r,"toggle"),n.preventDefault()})}(jQuery)},{}],52:[function(){+function(t){"use strict";function e(e){return this.each(function(){var r=t(this),data=r.data("bs.collapse"),i=t.extend({},n.DEFAULTS,r.data(),"object"==typeof e&&e);!data&&i.toggle&&"show"==e&&(e=!e),data||r.data("bs.collapse",data=new n(this,i)),"string"==typeof e&&data[e]()})}var n=function(e,r){this.$element=t(e),this.options=t.extend({},n.DEFAULTS,r),this.transitioning=null,this.options.parent&&(this.$parent=t(this.options.parent)),this.options.toggle&&this.toggle()};n.VERSION="3.2.0",n.DEFAULTS={toggle:!0},n.prototype.dimension=function(){var t=this.$element.hasClass("width");return t?"width":"height"},n.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var n=t.Event("show.bs.collapse");if(this.$element.trigger(n),!n.isDefaultPrevented()){var r=this.$parent&&this.$parent.find("> .panel > .in");if(r&&r.length){var i=r.data("bs.collapse");if(i&&i.transitioning)return;e.call(r,"hide"),i||r.data("bs.collapse",null)}var o=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[o](0),this.transitioning=1;var a=function(){this.$element.removeClass("collapsing").addClass("collapse in")[o](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!t.support.transition)return a.call(this);var u=t.camelCase(["scroll",o].join("-"));this.$element.one("bsTransitionEnd",t.proxy(a,this)).emulateTransitionEnd(350)[o](this.$element[0][u])}}},n.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var e=t.Event("hide.bs.collapse");if(this.$element.trigger(e),!e.isDefaultPrevented()){var n=this.dimension();this.$element[n](this.$element[n]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse").removeClass("in"),this.transitioning=1;var r=function(){this.transitioning=0,this.$element.trigger("hidden.bs.collapse").removeClass("collapsing").addClass("collapse")};return t.support.transition?void this.$element[n](0).one("bsTransitionEnd",t.proxy(r,this)).emulateTransitionEnd(350):r.call(this)}}},n.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()};var r=t.fn.collapse;t.fn.collapse=e,t.fn.collapse.Constructor=n,t.fn.collapse.noConflict=function(){return t.fn.collapse=r,this},t(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(n){var r,i=t(this),o=i.attr("data-target")||n.preventDefault()||(r=i.attr("href"))&&r.replace(/.*(?=#[^\s]+$)/,""),a=t(o),data=a.data("bs.collapse"),u=data?"toggle":i.data(),s=i.attr("data-parent"),l=s&&t(s);data&&data.transitioning||(l&&l.find('[data-toggle="collapse"][data-parent="'+s+'"]').not(i).addClass("collapsed"),i[a.hasClass("in")?"addClass":"removeClass"]("collapsed")),e.call(a,u)})}(jQuery)},{}],53:[function(){+function(t){"use strict";function e(e){e&&3===e.which||(t(i).remove(),t(o).each(function(){var r=n(t(this)),i={relatedTarget:this};r.hasClass("open")&&(r.trigger(e=t.Event("hide.bs.dropdown",i)),e.isDefaultPrevented()||r.removeClass("open").trigger("hidden.bs.dropdown",i))}))}function n(e){var n=e.attr("data-target");n||(n=e.attr("href"),n=n&&/#[A-Za-z]/.test(n)&&n.replace(/.*(?=#[^\s]*$)/,""));var r=n&&t(n);return r&&r.length?r:e.parent()}function r(e){return this.each(function(){var n=t(this),data=n.data("bs.dropdown");data||n.data("bs.dropdown",data=new a(this)),"string"==typeof e&&data[e].call(n)})}var i=".dropdown-backdrop",o='[data-toggle="dropdown"]',a=function(e){t(e).on("click.bs.dropdown",this.toggle)};a.VERSION="3.2.0",a.prototype.toggle=function(r){var i=t(this);if(!i.is(".disabled, :disabled")){var o=n(i),a=o.hasClass("open");if(e(),!a){"ontouchstart"in document.documentElement&&!o.closest(".navbar-nav").length&&t('<div class="dropdown-backdrop"/>').insertAfter(t(this)).on("click",e);var u={relatedTarget:this};if(o.trigger(r=t.Event("show.bs.dropdown",u)),r.isDefaultPrevented())return;i.trigger("focus"),o.toggleClass("open").trigger("shown.bs.dropdown",u)}return!1}},a.prototype.keydown=function(e){if(/(38|40|27)/.test(e.keyCode)){var r=t(this);if(e.preventDefault(),e.stopPropagation(),!r.is(".disabled, :disabled")){var i=n(r),a=i.hasClass("open");if(!a||a&&27==e.keyCode)return 27==e.which&&i.find(o).trigger("focus"),r.trigger("click");var u=" li:not(.divider):visible a",s=i.find('[role="menu"]'+u+', [role="listbox"]'+u);if(s.length){var l=s.index(s.filter(":focus"));38==e.keyCode&&l>0&&l--,40==e.keyCode&&l<s.length-1&&l++,~l||(l=0),s.eq(l).trigger("focus")}}}};var u=t.fn.dropdown;t.fn.dropdown=r,t.fn.dropdown.Constructor=a,t.fn.dropdown.noConflict=function(){return t.fn.dropdown=u,this},t(document).on("click.bs.dropdown.data-api",e).on("click.bs.dropdown.data-api",".dropdown form",function(t){t.stopPropagation()}).on("click.bs.dropdown.data-api",o,a.prototype.toggle).on("keydown.bs.dropdown.data-api",o+', [role="menu"], [role="listbox"]',a.prototype.keydown)}(jQuery)},{}],54:[function(){+function(t){"use strict";function e(){var t=document.createElement("bootstrap"),e={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var n in e)if(void 0!==t.style[n])return{end:e[n]};return!1}t.fn.emulateTransitionEnd=function(e){var n=!1,r=this;t(this).one("bsTransitionEnd",function(){n=!0});var i=function(){n||t(r).trigger(t.support.transition.end)};return setTimeout(i,e),this},t(function(){t.support.transition=e(),t.support.transition&&(t.event.special.bsTransitionEnd={bindType:t.support.transition.end,delegateType:t.support.transition.end,handle:function(e){return t(e.target).is(this)?e.handleObj.handler.apply(this,arguments):void 0}})})}(jQuery)},{}],55:[function(){},{}],56:[function(t,e){!function(){function t(t){return t&&(t.ownerDocument||t.document||t).documentElement}function n(t){return t&&(t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView)}function r(t,e){return e>t?-1:t>e?1:t>=e?0:0/0}function i(t){return null===t?0/0:+t}function o(t){return!isNaN(t)}function a(t){return{left:function(e,n,r,i){for(arguments.length<3&&(r=0),arguments.length<4&&(i=e.length);i>r;){var o=r+i>>>1;t(e[o],n)<0?r=o+1:i=o}return r},right:function(e,n,r,i){for(arguments.length<3&&(r=0),arguments.length<4&&(i=e.length);i>r;){var o=r+i>>>1;t(e[o],n)>0?i=o:r=o+1}return r}}}function u(t){return t.length}function s(t){for(var e=1;t*e%1;)e*=10;return e}function l(t,e){for(var n in e)Object.defineProperty(t.prototype,n,{value:e[n],enumerable:!1})}function c(){this._=Object.create(null)}function f(t){return(t+="")===vu||t[0]===mu?mu+t:t}function h(t){return(t+="")[0]===mu?t.slice(1):t}function p(t){return f(t)in this._}function d(t){return(t=f(t))in this._&&delete this._[t]}function g(){var t=[];for(var e in this._)t.push(h(e));return t}function v(){var t=0;for(var e in this._)++t;return t}function m(){for(var t in this._)return!1;return!0}function y(){this._=Object.create(null)}function b(t){return t}function x(t,e,n){return function(){var r=n.apply(e,arguments);return r===e?t:r}}function w(t,e){if(e in t)return e;e=e.charAt(0).toUpperCase()+e.slice(1);for(var n=0,r=yu.length;r>n;++n){var i=yu[n]+e;if(i in t)return i}}function _(){}function M(){}function k(t){function e(){for(var e,r=n,i=-1,o=r.length;++i<o;)(e=r[i].on)&&e.apply(this,arguments);return t}var n=[],r=new c;return e.on=function(e,i){var o,a=r.get(e);return arguments.length<2?a&&a.on:(a&&(a.on=null,n=n.slice(0,o=n.indexOf(a)).concat(n.slice(o+1)),r.remove(e)),i&&n.push(r.set(e,{on:i})),t)},e}function E(){ru.event.preventDefault()}function C(){for(var t,e=ru.event;t=e.sourceEvent;)e=t;return e}function S(t){for(var e=new M,n=0,r=arguments.length;++n<r;)e[arguments[n]]=k(e);return e.of=function(n,r){return function(i){try{var o=i.sourceEvent=ru.event;i.target=t,ru.event=i,e[i.type].apply(n,r)}finally{ru.event=o}}},e}function T(t){return xu(t,ku),t}function j(t){return"function"==typeof t?t:function(){return wu(t,this)}}function A(t){return"function"==typeof t?t:function(){return _u(t,this)}}function N(t,e){function n(){this.removeAttribute(t)}function r(){this.removeAttributeNS(t.space,t.local)}function i(){this.setAttribute(t,e)}function o(){this.setAttributeNS(t.space,t.local,e)}function a(){var n=e.apply(this,arguments);null==n?this.removeAttribute(t):this.setAttribute(t,n)}function u(){var n=e.apply(this,arguments);null==n?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,n)}return t=ru.ns.qualify(t),null==e?t.local?r:n:"function"==typeof e?t.local?u:a:t.local?o:i}function O(t){return t.trim().replace(/\s+/g," ")}function q(t){return new RegExp("(?:^|\\s+)"+ru.requote(t)+"(?:\\s+|$)","g")}function D(t){return(t+"").trim().split(/^|\s+/)}function L(t,e){function n(){for(var n=-1;++n<i;)t[n](this,e)}function r(){for(var n=-1,r=e.apply(this,arguments);++n<i;)t[n](this,r)}t=D(t).map(F);var i=t.length;return"function"==typeof e?r:n}function F(t){var e=q(t);return function(n,r){if(i=n.classList)return r?i.add(t):i.remove(t);var i=n.getAttribute("class")||"";r?(e.lastIndex=0,e.test(i)||n.setAttribute("class",O(i+" "+t))):n.setAttribute("class",O(i.replace(e," ")))}}function z(t,e,n){function r(){this.style.removeProperty(t)}function i(){this.style.setProperty(t,e,n)}function o(){var r=e.apply(this,arguments);null==r?this.style.removeProperty(t):this.style.setProperty(t,r,n)}return null==e?r:"function"==typeof e?o:i}function R(t,e){function n(){delete this[t]}function r(){this[t]=e}function i(){var n=e.apply(this,arguments);null==n?delete this[t]:this[t]=n}return null==e?n:"function"==typeof e?i:r}function I(t){function e(){var e=this.ownerDocument,n=this.namespaceURI;return n?e.createElementNS(n,t):e.createElement(t)}function n(){return this.ownerDocument.createElementNS(t.space,t.local)}return"function"==typeof t?t:(t=ru.ns.qualify(t)).local?n:e}function P(){var t=this.parentNode;t&&t.removeChild(this)}function H(data){return{__data__:data}}function B(t){return function(){return Mu(this,t)}}function $(t){return arguments.length||(t=r),function(e,n){return e&&n?t(e.__data__,n.__data__):!e-!n}}function V(t,e){for(var n=0,r=t.length;r>n;n++)for(var i,o=t[n],a=0,u=o.length;u>a;a++)(i=o[a])&&e(i,a,n);return t}function U(t){return xu(t,Cu),t}function W(t){var e,n;return function(r,i,o){var a,u=t[o].update,s=u.length;for(o!=n&&(n=o,e=0),i>=e&&(e=i+1);!(a=u[e])&&++e<s;);return a}}function Y(t,e,n){function r(){var e=this[a];e&&(this.removeEventListener(t,e,e.$),delete this[a])}function i(){var i=s(e,ou(arguments));r.call(this),this.addEventListener(t,this[a]=i,i.$=n),i._=e}function o(){var e,n=new RegExp("^__on([^.]+)"+ru.requote(t)+"$");for(var r in this)if(e=r.match(n)){var i=this[r];
+this.removeEventListener(e[1],i,i.$),delete this[r]}}var a="__on"+t,u=t.indexOf("."),s=X;u>0&&(t=t.slice(0,u));var l=Su.get(t);return l&&(t=l,s=J),u?e?i:r:e?_:o}function X(t,e){return function(n){var r=ru.event;ru.event=n,e[0]=this.__data__;try{t.apply(this,e)}finally{ru.event=r}}}function J(t,e){var n=X(t,e);return function(t){var e=this,r=t.relatedTarget;r&&(r===e||8&r.compareDocumentPosition(e))||n.call(e,t)}}function Z(e){var r=".dragsuppress-"+ ++ju,i="click"+r,o=ru.select(n(e)).on("touchmove"+r,E).on("dragstart"+r,E).on("selectstart"+r,E);if(null==Tu&&(Tu="onselectstart"in e?!1:w(e.style,"userSelect")),Tu){var a=t(e).style,u=a[Tu];a[Tu]="none"}return function(t){if(o.on(r,null),Tu&&(a[Tu]=u),t){var e=function(){o.on(i,null)};o.on(i,function(){E(),e()},!0),setTimeout(e,0)}}}function K(t,e){e.changedTouches&&(e=e.changedTouches[0]);var r=t.ownerSVGElement||t;if(r.createSVGPoint){var i=r.createSVGPoint();if(0>Au){var o=n(t);if(o.scrollX||o.scrollY){r=ru.select("body").append("svg").style({position:"absolute",top:0,left:0,margin:0,padding:0,border:"none"},"important");var a=r[0][0].getScreenCTM();Au=!(a.f||a.e),r.remove()}}return Au?(i.x=e.pageX,i.y=e.pageY):(i.x=e.clientX,i.y=e.clientY),i=i.matrixTransform(t.getScreenCTM().inverse()),[i.x,i.y]}var u=t.getBoundingClientRect();return[e.clientX-u.left-t.clientLeft,e.clientY-u.top-t.clientTop]}function G(){return ru.event.changedTouches[0].identifier}function Q(t){return t>0?1:0>t?-1:0}function te(t,e,n){return(e[0]-t[0])*(n[1]-t[1])-(e[1]-t[1])*(n[0]-t[0])}function ee(t){return t>1?0:-1>t?qu:Math.acos(t)}function ne(t){return t>1?Fu:-1>t?-Fu:Math.asin(t)}function re(t){return((t=Math.exp(t))-1/t)/2}function ie(t){return((t=Math.exp(t))+1/t)/2}function oe(t){return((t=Math.exp(2*t))-1)/(t+1)}function ae(t){return(t=Math.sin(t/2))*t}function ue(){}function se(t,e,n){return this instanceof se?(this.h=+t,this.s=+e,void(this.l=+n)):arguments.length<2?t instanceof se?new se(t.h,t.s,t.l):_e(""+t,Me,se):new se(t,e,n)}function le(t,e,n){function r(t){return t>360?t-=360:0>t&&(t+=360),60>t?o+(a-o)*t/60:180>t?a:240>t?o+(a-o)*(240-t)/60:o}function i(t){return Math.round(255*r(t))}var o,a;return t=isNaN(t)?0:(t%=360)<0?t+360:t,e=isNaN(e)?0:0>e?0:e>1?1:e,n=0>n?0:n>1?1:n,a=.5>=n?n*(1+e):n+e-n*e,o=2*n-a,new ye(i(t+120),i(t),i(t-120))}function ce(t,e,n){return this instanceof ce?(this.h=+t,this.c=+e,void(this.l=+n)):arguments.length<2?t instanceof ce?new ce(t.h,t.c,t.l):t instanceof he?de(t.l,t.a,t.b):de((t=ke((t=ru.rgb(t)).r,t.g,t.b)).l,t.a,t.b):new ce(t,e,n)}function fe(t,e,n){return isNaN(t)&&(t=0),isNaN(e)&&(e=0),new he(n,Math.cos(t*=zu)*e,Math.sin(t)*e)}function he(t,e,n){return this instanceof he?(this.l=+t,this.a=+e,void(this.b=+n)):arguments.length<2?t instanceof he?new he(t.l,t.a,t.b):t instanceof ce?fe(t.h,t.c,t.l):ke((t=ye(t)).r,t.g,t.b):new he(t,e,n)}function pe(t,e,n){var r=(t+16)/116,i=r+e/500,o=r-n/200;return i=ge(i)*Xu,r=ge(r)*Ju,o=ge(o)*Zu,new ye(me(3.2404542*i-1.5371385*r-.4985314*o),me(-.969266*i+1.8760108*r+.041556*o),me(.0556434*i-.2040259*r+1.0572252*o))}function de(t,e,n){return t>0?new ce(Math.atan2(n,e)*Ru,Math.sqrt(e*e+n*n),t):new ce(0/0,0/0,t)}function ge(t){return t>.206893034?t*t*t:(t-4/29)/7.787037}function ve(t){return t>.008856?Math.pow(t,1/3):7.787037*t+4/29}function me(t){return Math.round(255*(.00304>=t?12.92*t:1.055*Math.pow(t,1/2.4)-.055))}function ye(t,e,n){return this instanceof ye?(this.r=~~t,this.g=~~e,void(this.b=~~n)):arguments.length<2?t instanceof ye?new ye(t.r,t.g,t.b):_e(""+t,ye,le):new ye(t,e,n)}function be(t){return new ye(t>>16,t>>8&255,255&t)}function xe(t){return be(t)+""}function we(t){return 16>t?"0"+Math.max(0,t).toString(16):Math.min(255,t).toString(16)}function _e(t,e,n){var r,i,o,a=0,u=0,s=0;if(r=/([a-z]+)\((.*)\)/i.exec(t))switch(i=r[2].split(","),r[1]){case"hsl":return n(parseFloat(i[0]),parseFloat(i[1])/100,parseFloat(i[2])/100);case"rgb":return e(Ce(i[0]),Ce(i[1]),Ce(i[2]))}return(o=Qu.get(t.toLowerCase()))?e(o.r,o.g,o.b):(null==t||"#"!==t.charAt(0)||isNaN(o=parseInt(t.slice(1),16))||(4===t.length?(a=(3840&o)>>4,a=a>>4|a,u=240&o,u=u>>4|u,s=15&o,s=s<<4|s):7===t.length&&(a=(16711680&o)>>16,u=(65280&o)>>8,s=255&o)),e(a,u,s))}function Me(t,e,n){var r,i,o=Math.min(t/=255,e/=255,n/=255),a=Math.max(t,e,n),u=a-o,s=(a+o)/2;return u?(i=.5>s?u/(a+o):u/(2-a-o),r=t==a?(e-n)/u+(n>e?6:0):e==a?(n-t)/u+2:(t-e)/u+4,r*=60):(r=0/0,i=s>0&&1>s?0:r),new se(r,i,s)}function ke(t,e,n){t=Ee(t),e=Ee(e),n=Ee(n);var r=ve((.4124564*t+.3575761*e+.1804375*n)/Xu),i=ve((.2126729*t+.7151522*e+.072175*n)/Ju),o=ve((.0193339*t+.119192*e+.9503041*n)/Zu);return he(116*i-16,500*(r-i),200*(i-o))}function Ee(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function Ce(t){var e=parseFloat(t);return"%"===t.charAt(t.length-1)?Math.round(2.55*e):e}function Se(t){return"function"==typeof t?t:function(){return t}}function Te(t){return function(e,n,r){return 2===arguments.length&&"function"==typeof n&&(r=n,n=null),je(e,n,t,r)}}function je(t,e,n,r){function i(){var t,e=s.status;if(!e&&Ne(s)||e>=200&&300>e||304===e){try{t=n.call(o,s)}catch(r){return void a.error.call(o,r)}a.load.call(o,t)}else a.error.call(o,s)}var o={},a=ru.dispatch("beforesend","progress","load","error"),u={},s=new XMLHttpRequest,l=null;return!this.XDomainRequest||"withCredentials"in s||!/^(http(s)?:)?\/\//.test(t)||(s=new XDomainRequest),"onload"in s?s.onload=s.onerror=i:s.onreadystatechange=function(){s.readyState>3&&i()},s.onprogress=function(t){var e=ru.event;ru.event=t;try{a.progress.call(o,s)}finally{ru.event=e}},o.header=function(t,e){return t=(t+"").toLowerCase(),arguments.length<2?u[t]:(null==e?delete u[t]:u[t]=e+"",o)},o.mimeType=function(t){return arguments.length?(e=null==t?null:t+"",o):e},o.responseType=function(t){return arguments.length?(l=t,o):l},o.response=function(t){return n=t,o},["get","post"].forEach(function(t){o[t]=function(){return o.send.apply(o,[t].concat(ou(arguments)))}}),o.send=function(n,data,r){if(2===arguments.length&&"function"==typeof data&&(r=data,data=null),s.open(n,t,!0),null==e||"accept"in u||(u.accept=e+",*/*"),s.setRequestHeader)for(var i in u)s.setRequestHeader(i,u[i]);return null!=e&&s.overrideMimeType&&s.overrideMimeType(e),null!=l&&(s.responseType=l),null!=r&&o.on("error",r).on("load",function(t){r(null,t)}),a.beforesend.call(o,s),s.send(null==data?null:data),o},o.abort=function(){return s.abort(),o},ru.rebind(o,a,"on"),null==r?o:o.get(Ae(r))}function Ae(t){return 1===t.length?function(e,n){t(null==e?n:null)}:t}function Ne(t){var e=t.responseType;return e&&"text"!==e?t.response:t.responseText}function Oe(){var t=qe(),e=De()-t;e>24?(isFinite(e)&&(clearTimeout(rs),rs=setTimeout(Oe,e)),ns=0):(ns=1,os(Oe))}function qe(){var t=Date.now();for(is=ts;is;)t>=is.t&&(is.f=is.c(t-is.t)),is=is.n;return t}function De(){for(var t,e=ts,n=1/0;e;)e.f?e=t?t.n=e.n:ts=e.n:(e.t<n&&(n=e.t),e=(t=e).n);return es=t,n}function Le(t,e){return e-(t?Math.ceil(Math.log(t)/Math.LN10):1)}function Fe(t,e){var n=Math.pow(10,3*gu(8-e));return{scale:e>8?function(t){return t/n}:function(t){return t*n},symbol:t}}function ze(t){var e=t.decimal,n=t.thousands,r=t.grouping,i=t.currency,o=r&&n?function(t,e){for(var i=t.length,o=[],a=0,u=r[0],s=0;i>0&&u>0&&(s+u+1>e&&(u=Math.max(1,e-s)),o.push(t.substring(i-=u,i+u)),!((s+=u+1)>e));)u=r[a=(a+1)%r.length];return o.reverse().join(n)}:b;return function(t){var n=us.exec(t),r=n[1]||" ",a=n[2]||">",u=n[3]||"-",s=n[4]||"",l=n[5],c=+n[6],f=n[7],h=n[8],p=n[9],d=1,g="",v="",m=!1,y=!0;switch(h&&(h=+h.substring(1)),(l||"0"===r&&"="===a)&&(l=r="0",a="="),p){case"n":f=!0,p="g";break;case"%":d=100,v="%",p="f";break;case"p":d=100,v="%",p="r";break;case"b":case"o":case"x":case"X":"#"===s&&(g="0"+p.toLowerCase());case"c":y=!1;case"d":m=!0,h=0;break;case"s":d=-1,p="r"}"$"===s&&(g=i[0],v=i[1]),"r"!=p||h||(p="g"),null!=h&&("g"==p?h=Math.max(1,Math.min(21,h)):("e"==p||"f"==p)&&(h=Math.max(0,Math.min(20,h)))),p=ss.get(p)||Re;var b=l&&f;return function(t){var n=v;if(m&&t%1)return"";var i=0>t||0===t&&0>1/t?(t=-t,"-"):"-"===u?"":u;if(0>d){var s=ru.formatPrefix(t,h);t=s.scale(t),n=s.symbol+v}else t*=d;t=p(t,h);var x,w,_=t.lastIndexOf(".");if(0>_){var M=y?t.lastIndexOf("e"):-1;0>M?(x=t,w=""):(x=t.substring(0,M),w=t.substring(M))}else x=t.substring(0,_),w=e+t.substring(_+1);!l&&f&&(x=o(x,1/0));var k=g.length+x.length+w.length+(b?0:i.length),E=c>k?new Array(k=c-k+1).join(r):"";return b&&(x=o(E+x,E.length?c-w.length:1/0)),i+=g,t=x+w,("<"===a?i+t+E:">"===a?E+i+t:"^"===a?E.substring(0,k>>=1)+i+t+E.substring(k):i+(b?t:E+t))+n}}}function Re(t){return t+""}function Ie(){this._=new Date(arguments.length>1?Date.UTC.apply(this,arguments):arguments[0])}function Pe(t,e,n){function r(e){var n=t(e),r=o(n,1);return r-e>e-n?n:r}function i(n){return e(n=t(new cs(n-1)),1),n}function o(t,n){return e(t=new cs(+t),n),t}function a(t,r,o){var a=i(t),u=[];if(o>1)for(;r>a;)n(a)%o||u.push(new Date(+a)),e(a,1);else for(;r>a;)u.push(new Date(+a)),e(a,1);return u}function u(t,e,n){try{cs=Ie;var r=new Ie;return r._=t,a(r,e,n)}finally{cs=Date}}t.floor=t,t.round=r,t.ceil=i,t.offset=o,t.range=a;var s=t.utc=He(t);return s.floor=s,s.round=He(r),s.ceil=He(i),s.offset=He(o),s.range=u,t}function He(t){return function(e,n){try{cs=Ie;var r=new Ie;return r._=e,t(r,n)._}finally{cs=Date}}}function Be(t){function e(t){function e(e){for(var n,i,o,a=[],u=-1,s=0;++u<r;)37===t.charCodeAt(u)&&(a.push(t.slice(s,u)),null!=(i=hs[n=t.charAt(++u)])&&(n=t.charAt(++u)),(o=T[n])&&(n=o(e,null==i?"e"===n?" ":"0":i)),a.push(n),s=u+1);return a.push(t.slice(s,u)),a.join("")}var r=t.length;return e.parse=function(e){var r={y:1900,m:0,d:1,H:0,M:0,S:0,L:0,Z:null},i=n(r,t,e,0);if(i!=e.length)return null;"p"in r&&(r.H=r.H%12+12*r.p);var o=null!=r.Z&&cs!==Ie,a=new(o?Ie:cs);return"j"in r?a.setFullYear(r.y,0,r.j):"w"in r&&("W"in r||"U"in r)?(a.setFullYear(r.y,0,1),a.setFullYear(r.y,0,"W"in r?(r.w+6)%7+7*r.W-(a.getDay()+5)%7:r.w+7*r.U-(a.getDay()+6)%7)):a.setFullYear(r.y,r.m,r.d),a.setHours(r.H+(r.Z/100|0),r.M+r.Z%100,r.S,r.L),o?a._:a},e.toString=function(){return t},e}function n(t,e,n,r){for(var i,o,a,u=0,s=e.length,l=n.length;s>u;){if(r>=l)return-1;if(i=e.charCodeAt(u++),37===i){if(a=e.charAt(u++),o=j[a in hs?e.charAt(u++):a],!o||(r=o(t,n,r))<0)return-1}else if(i!=n.charCodeAt(r++))return-1}return r}function r(t,e,n){_.lastIndex=0;var r=_.exec(e.slice(n));return r?(t.w=M.get(r[0].toLowerCase()),n+r[0].length):-1}function i(t,e,n){x.lastIndex=0;var r=x.exec(e.slice(n));return r?(t.w=w.get(r[0].toLowerCase()),n+r[0].length):-1}function o(t,e,n){C.lastIndex=0;var r=C.exec(e.slice(n));return r?(t.m=S.get(r[0].toLowerCase()),n+r[0].length):-1}function a(t,e,n){k.lastIndex=0;var r=k.exec(e.slice(n));return r?(t.m=E.get(r[0].toLowerCase()),n+r[0].length):-1}function u(t,e,r){return n(t,T.c.toString(),e,r)}function s(t,e,r){return n(t,T.x.toString(),e,r)}function l(t,e,r){return n(t,T.X.toString(),e,r)}function c(t,e,n){var r=b.get(e.slice(n,n+=2).toLowerCase());return null==r?-1:(t.p=r,n)}var f=t.dateTime,h=t.date,p=t.time,d=t.periods,g=t.days,v=t.shortDays,m=t.months,y=t.shortMonths;e.utc=function(t){function n(t){try{cs=Ie;var e=new cs;return e._=t,r(e)}finally{cs=Date}}var r=e(t);return n.parse=function(t){try{cs=Ie;var e=r.parse(t);return e&&e._}finally{cs=Date}},n.toString=r.toString,n},e.multi=e.utc.multi=ln;var b=ru.map(),x=Ve(g),w=Ue(g),_=Ve(v),M=Ue(v),k=Ve(m),E=Ue(m),C=Ve(y),S=Ue(y);d.forEach(function(t,e){b.set(t.toLowerCase(),e)});var T={a:function(t){return v[t.getDay()]},A:function(t){return g[t.getDay()]},b:function(t){return y[t.getMonth()]},B:function(t){return m[t.getMonth()]},c:e(f),d:function(t,e){return $e(t.getDate(),e,2)},e:function(t,e){return $e(t.getDate(),e,2)},H:function(t,e){return $e(t.getHours(),e,2)},I:function(t,e){return $e(t.getHours()%12||12,e,2)},j:function(t,e){return $e(1+ls.dayOfYear(t),e,3)},L:function(t,e){return $e(t.getMilliseconds(),e,3)},m:function(t,e){return $e(t.getMonth()+1,e,2)},M:function(t,e){return $e(t.getMinutes(),e,2)},p:function(t){return d[+(t.getHours()>=12)]},S:function(t,e){return $e(t.getSeconds(),e,2)},U:function(t,e){return $e(ls.sundayOfYear(t),e,2)},w:function(t){return t.getDay()},W:function(t,e){return $e(ls.mondayOfYear(t),e,2)},x:e(h),X:e(p),y:function(t,e){return $e(t.getFullYear()%100,e,2)},Y:function(t,e){return $e(t.getFullYear()%1e4,e,4)},Z:un,"%":function(){return"%"}},j={a:r,A:i,b:o,B:a,c:u,d:tn,e:tn,H:nn,I:nn,j:en,L:an,m:Qe,M:rn,p:c,S:on,U:Ye,w:We,W:Xe,x:s,X:l,y:Ze,Y:Je,Z:Ke,"%":sn};return e}function $e(t,e,n){var r=0>t?"-":"",i=(r?-t:t)+"",o=i.length;return r+(n>o?new Array(n-o+1).join(e)+i:i)}function Ve(t){return new RegExp("^(?:"+t.map(ru.requote).join("|")+")","i")}function Ue(t){for(var e=new c,n=-1,r=t.length;++n<r;)e.set(t[n].toLowerCase(),n);return e}function We(t,e,n){ps.lastIndex=0;var r=ps.exec(e.slice(n,n+1));return r?(t.w=+r[0],n+r[0].length):-1}function Ye(t,e,n){ps.lastIndex=0;var r=ps.exec(e.slice(n));return r?(t.U=+r[0],n+r[0].length):-1}function Xe(t,e,n){ps.lastIndex=0;var r=ps.exec(e.slice(n));return r?(t.W=+r[0],n+r[0].length):-1}function Je(t,e,n){ps.lastIndex=0;var r=ps.exec(e.slice(n,n+4));return r?(t.y=+r[0],n+r[0].length):-1}function Ze(t,e,n){ps.lastIndex=0;var r=ps.exec(e.slice(n,n+2));return r?(t.y=Ge(+r[0]),n+r[0].length):-1}function Ke(t,e,n){return/^[+-]\d{4}$/.test(e=e.slice(n,n+5))?(t.Z=-e,n+5):-1}function Ge(t){return t+(t>68?1900:2e3)}function Qe(t,e,n){ps.lastIndex=0;var r=ps.exec(e.slice(n,n+2));return r?(t.m=r[0]-1,n+r[0].length):-1}function tn(t,e,n){ps.lastIndex=0;var r=ps.exec(e.slice(n,n+2));return r?(t.d=+r[0],n+r[0].length):-1}function en(t,e,n){ps.lastIndex=0;var r=ps.exec(e.slice(n,n+3));return r?(t.j=+r[0],n+r[0].length):-1}function nn(t,e,n){ps.lastIndex=0;var r=ps.exec(e.slice(n,n+2));return r?(t.H=+r[0],n+r[0].length):-1}function rn(t,e,n){ps.lastIndex=0;var r=ps.exec(e.slice(n,n+2));return r?(t.M=+r[0],n+r[0].length):-1}function on(t,e,n){ps.lastIndex=0;var r=ps.exec(e.slice(n,n+2));return r?(t.S=+r[0],n+r[0].length):-1}function an(t,e,n){ps.lastIndex=0;var r=ps.exec(e.slice(n,n+3));return r?(t.L=+r[0],n+r[0].length):-1}function un(t){var e=t.getTimezoneOffset(),n=e>0?"-":"+",r=gu(e)/60|0,i=gu(e)%60;return n+$e(r,"0",2)+$e(i,"0",2)}function sn(t,e,n){ds.lastIndex=0;var r=ds.exec(e.slice(n,n+1));return r?n+r[0].length:-1}function ln(t){for(var e=t.length,n=-1;++n<e;)t[n][0]=this(t[n][0]);return function(e){for(var n=0,r=t[n];!r[1](e);)r=t[++n];return r[0](e)}}function cn(){}function fn(t,e,n){var r=n.s=t+e,i=r-t,o=r-i;n.t=t-o+(e-i)}function hn(t,e){t&&ys.hasOwnProperty(t.type)&&ys[t.type](t,e)}function pn(t,e,n){var r,i=-1,o=t.length-n;for(e.lineStart();++i<o;)r=t[i],e.point(r[0],r[1],r[2]);e.lineEnd()}function dn(t,e){var n=-1,r=t.length;for(e.polygonStart();++n<r;)pn(t[n],e,1);e.polygonEnd()}function gn(){function t(t,e){t*=zu,e=e*zu/2+qu/4;var n=t-r,a=n>=0?1:-1,u=a*n,s=Math.cos(e),l=Math.sin(e),c=o*l,f=i*s+c*Math.cos(u),h=c*a*Math.sin(u);xs.add(Math.atan2(h,f)),r=t,i=s,o=l}var e,n,r,i,o;ws.point=function(a,u){ws.point=t,r=(e=a)*zu,i=Math.cos(u=(n=u)*zu/2+qu/4),o=Math.sin(u)},ws.lineEnd=function(){t(e,n)}}function vn(t){var e=t[0],n=t[1],r=Math.cos(n);return[r*Math.cos(e),r*Math.sin(e),Math.sin(n)]}function mn(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function yn(t,e){return[t[1]*e[2]-t[2]*e[1],t[2]*e[0]-t[0]*e[2],t[0]*e[1]-t[1]*e[0]]}function bn(t,e){t[0]+=e[0],t[1]+=e[1],t[2]+=e[2]}function xn(t,e){return[t[0]*e,t[1]*e,t[2]*e]}function wn(t){var e=Math.sqrt(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=e,t[1]/=e,t[2]/=e}function _n(t){return[Math.atan2(t[1],t[0]),ne(t[2])]}function Mn(t,e){return gu(t[0]-e[0])<Nu&&gu(t[1]-e[1])<Nu}function kn(t,e){t*=zu;var n=Math.cos(e*=zu);En(n*Math.cos(t),n*Math.sin(t),Math.sin(e))}function En(t,e,n){++_s,ks+=(t-ks)/_s,Es+=(e-Es)/_s,Cs+=(n-Cs)/_s}function Cn(){function t(t,i){t*=zu;var o=Math.cos(i*=zu),a=o*Math.cos(t),u=o*Math.sin(t),s=Math.sin(i),l=Math.atan2(Math.sqrt((l=n*s-r*u)*l+(l=r*a-e*s)*l+(l=e*u-n*a)*l),e*a+n*u+r*s);Ms+=l,Ss+=l*(e+(e=a)),Ts+=l*(n+(n=u)),js+=l*(r+(r=s)),En(e,n,r)}var e,n,r;qs.point=function(i,o){i*=zu;var a=Math.cos(o*=zu);e=a*Math.cos(i),n=a*Math.sin(i),r=Math.sin(o),qs.point=t,En(e,n,r)}}function Sn(){qs.point=kn}function Tn(){function t(t,e){t*=zu;var n=Math.cos(e*=zu),a=n*Math.cos(t),u=n*Math.sin(t),s=Math.sin(e),l=i*s-o*u,c=o*a-r*s,f=r*u-i*a,h=Math.sqrt(l*l+c*c+f*f),p=r*a+i*u+o*s,d=h&&-ee(p)/h,g=Math.atan2(h,p);As+=d*l,Ns+=d*c,Os+=d*f,Ms+=g,Ss+=g*(r+(r=a)),Ts+=g*(i+(i=u)),js+=g*(o+(o=s)),En(r,i,o)}var e,n,r,i,o;qs.point=function(a,u){e=a,n=u,qs.point=t,a*=zu;var s=Math.cos(u*=zu);r=s*Math.cos(a),i=s*Math.sin(a),o=Math.sin(u),En(r,i,o)},qs.lineEnd=function(){t(e,n),qs.lineEnd=Sn,qs.point=kn}}function jn(t,e){function n(n,r){return n=t(n,r),e(n[0],n[1])}return t.invert&&e.invert&&(n.invert=function(n,r){return n=e.invert(n,r),n&&t.invert(n[0],n[1])}),n}function An(){return!0}function Nn(t,e,n,r,i){var o=[],a=[];if(t.forEach(function(t){if(!((e=t.length-1)<=0)){var e,n=t[0],r=t[e];if(Mn(n,r)){i.lineStart();for(var u=0;e>u;++u)i.point((n=t[u])[0],n[1]);return void i.lineEnd()}var s=new qn(n,t,null,!0),l=new qn(n,null,s,!1);s.o=l,o.push(s),a.push(l),s=new qn(r,t,null,!1),l=new qn(r,null,s,!0),s.o=l,o.push(s),a.push(l)}}),a.sort(e),On(o),On(a),o.length){for(var u=0,s=n,l=a.length;l>u;++u)a[u].e=s=!s;for(var c,f,h=o[0];;){for(var p=h,d=!0;p.v;)if((p=p.n)===h)return;c=p.z,i.lineStart();do{if(p.v=p.o.v=!0,p.e){if(d)for(var u=0,l=c.length;l>u;++u)i.point((f=c[u])[0],f[1]);else r(p.x,p.n.x,1,i);p=p.n}else{if(d){c=p.p.z;for(var u=c.length-1;u>=0;--u)i.point((f=c[u])[0],f[1])}else r(p.x,p.p.x,-1,i);p=p.p}p=p.o,c=p.z,d=!d}while(!p.v);i.lineEnd()}}}function On(t){if(e=t.length){for(var e,n,r=0,i=t[0];++r<e;)i.n=n=t[r],n.p=i,i=n;i.n=n=t[0],n.p=i}}function qn(t,e,n,r){this.x=t,this.z=e,this.o=n,this.e=r,this.v=!1,this.n=this.p=null}function Dn(t,e,n,r){return function(i,o){function a(e,n){var r=i(e,n);t(e=r[0],n=r[1])&&o.point(e,n)}function u(t,e){var n=i(t,e);v.point(n[0],n[1])}function s(){y.point=u,v.lineStart()}function l(){y.point=a,v.lineEnd()}function c(t,e){g.push([t,e]);var n=i(t,e);x.point(n[0],n[1])}function f(){x.lineStart(),g=[]}function h(){c(g[0][0],g[0][1]),x.lineEnd();var t,e=x.clean(),n=b.buffer(),r=n.length;if(g.pop(),d.push(g),g=null,r)if(1&e){t=n[0];var i,r=t.length-1,a=-1;if(r>0){for(w||(o.polygonStart(),w=!0),o.lineStart();++a<r;)o.point((i=t[a])[0],i[1]);o.lineEnd()}}else r>1&&2&e&&n.push(n.pop().concat(n.shift())),p.push(n.filter(Ln))}var p,d,g,v=e(o),m=i.invert(r[0],r[1]),y={point:a,lineStart:s,lineEnd:l,polygonStart:function(){y.point=c,y.lineStart=f,y.lineEnd=h,p=[],d=[]},polygonEnd:function(){y.point=a,y.lineStart=s,y.lineEnd=l,p=ru.merge(p);var t=Hn(m,d);p.length?(w||(o.polygonStart(),w=!0),Nn(p,zn,t,n,o)):t&&(w||(o.polygonStart(),w=!0),o.lineStart(),n(null,null,1,o),o.lineEnd()),w&&(o.polygonEnd(),w=!1),p=d=null},sphere:function(){o.polygonStart(),o.lineStart(),n(null,null,1,o),o.lineEnd(),o.polygonEnd()}},b=Fn(),x=e(b),w=!1;return y}}function Ln(t){return t.length>1}function Fn(){var t,e=[];return{lineStart:function(){e.push(t=[])},point:function(e,n){t.push([e,n])},lineEnd:_,buffer:function(){var n=e;return e=[],t=null,n},rejoin:function(){e.length>1&&e.push(e.pop().concat(e.shift()))}}}function zn(t,e){return((t=t.x)[0]<0?t[1]-Fu-Nu:Fu-t[1])-((e=e.x)[0]<0?e[1]-Fu-Nu:Fu-e[1])}function Rn(t){var e,n=0/0,r=0/0,i=0/0;return{lineStart:function(){t.lineStart(),e=1},point:function(o,a){var u=o>0?qu:-qu,s=gu(o-n);gu(s-qu)<Nu?(t.point(n,r=(r+a)/2>0?Fu:-Fu),t.point(i,r),t.lineEnd(),t.lineStart(),t.point(u,r),t.point(o,r),e=0):i!==u&&s>=qu&&(gu(n-i)<Nu&&(n-=i*Nu),gu(o-u)<Nu&&(o-=u*Nu),r=In(n,r,o,a),t.point(i,r),t.lineEnd(),t.lineStart(),t.point(u,r),e=0),t.point(n=o,r=a),i=u},lineEnd:function(){t.lineEnd(),n=r=0/0},clean:function(){return 2-e}}}function In(t,e,n,r){var i,o,a=Math.sin(t-n);return gu(a)>Nu?Math.atan((Math.sin(e)*(o=Math.cos(r))*Math.sin(n)-Math.sin(r)*(i=Math.cos(e))*Math.sin(t))/(i*o*a)):(e+r)/2}function Pn(t,e,n,r){var i;if(null==t)i=n*Fu,r.point(-qu,i),r.point(0,i),r.point(qu,i),r.point(qu,0),r.point(qu,-i),r.point(0,-i),r.point(-qu,-i),r.point(-qu,0),r.point(-qu,i);else if(gu(t[0]-e[0])>Nu){var o=t[0]<e[0]?qu:-qu;i=n*o/2,r.point(-o,i),r.point(0,i),r.point(o,i)}else r.point(e[0],e[1])}function Hn(t,e){var n=t[0],r=t[1],i=[Math.sin(n),-Math.cos(n),0],o=0,a=0;xs.reset();for(var u=0,s=e.length;s>u;++u){var l=e[u],c=l.length;if(c)for(var f=l[0],h=f[0],p=f[1]/2+qu/4,d=Math.sin(p),g=Math.cos(p),v=1;;){v===c&&(v=0),t=l[v];var m=t[0],y=t[1]/2+qu/4,b=Math.sin(y),x=Math.cos(y),w=m-h,_=w>=0?1:-1,M=_*w,k=M>qu,E=d*b;if(xs.add(Math.atan2(E*_*Math.sin(M),g*x+E*Math.cos(M))),o+=k?w+_*Du:w,k^h>=n^m>=n){var C=yn(vn(f),vn(t));wn(C);var S=yn(i,C);wn(S);var T=(k^w>=0?-1:1)*ne(S[2]);(r>T||r===T&&(C[0]||C[1]))&&(a+=k^w>=0?1:-1)}if(!v++)break;h=m,d=b,g=x,f=t}}return(-Nu>o||Nu>o&&0>xs)^1&a}function Bn(t){function e(t,e){return Math.cos(t)*Math.cos(e)>o}function n(t){var n,o,s,l,c;return{lineStart:function(){l=s=!1,c=1},point:function(f,h){var p,d=[f,h],g=e(f,h),v=a?g?0:i(f,h):g?i(f+(0>f?qu:-qu),h):0;if(!n&&(l=s=g)&&t.lineStart(),g!==s&&(p=r(n,d),(Mn(n,p)||Mn(d,p))&&(d[0]+=Nu,d[1]+=Nu,g=e(d[0],d[1]))),g!==s)c=0,g?(t.lineStart(),p=r(d,n),t.point(p[0],p[1])):(p=r(n,d),t.point(p[0],p[1]),t.lineEnd()),n=p;else if(u&&n&&a^g){var m;v&o||!(m=r(d,n,!0))||(c=0,a?(t.lineStart(),t.point(m[0][0],m[0][1]),t.point(m[1][0],m[1][1]),t.lineEnd()):(t.point(m[1][0],m[1][1]),t.lineEnd(),t.lineStart(),t.point(m[0][0],m[0][1])))}!g||n&&Mn(n,d)||t.point(d[0],d[1]),n=d,s=g,o=v},lineEnd:function(){s&&t.lineEnd(),n=null},clean:function(){return c|(l&&s)<<1}}}function r(t,e,n){var r=vn(t),i=vn(e),a=[1,0,0],u=yn(r,i),s=mn(u,u),l=u[0],c=s-l*l;if(!c)return!n&&t;var f=o*s/c,h=-o*l/c,p=yn(a,u),d=xn(a,f),g=xn(u,h);bn(d,g);var v=p,m=mn(d,v),y=mn(v,v),b=m*m-y*(mn(d,d)-1);if(!(0>b)){var x=Math.sqrt(b),w=xn(v,(-m-x)/y);if(bn(w,d),w=_n(w),!n)return w;var _,M=t[0],k=e[0],E=t[1],C=e[1];M>k&&(_=M,M=k,k=_);var S=k-M,T=gu(S-qu)<Nu,j=T||Nu>S;if(!T&&E>C&&(_=E,E=C,C=_),j?T?E+C>0^w[1]<(gu(w[0]-M)<Nu?E:C):E<=w[1]&&w[1]<=C:S>qu^(M<=w[0]&&w[0]<=k)){var A=xn(v,(-m+x)/y);return bn(A,d),[w,_n(A)]}}}function i(e,n){var r=a?t:qu-t,i=0;return-r>e?i|=1:e>r&&(i|=2),-r>n?i|=4:n>r&&(i|=8),i}var o=Math.cos(t),a=o>0,u=gu(o)>Nu,s=gr(t,6*zu);return Dn(e,n,s,a?[0,-t]:[-qu,t-qu])}function $n(t,e,n,r){return function(i){var o,a=i.a,u=i.b,s=a.x,l=a.y,c=u.x,f=u.y,h=0,p=1,d=c-s,g=f-l;if(o=t-s,d||!(o>0)){if(o/=d,0>d){if(h>o)return;p>o&&(p=o)}else if(d>0){if(o>p)return;o>h&&(h=o)}if(o=n-s,d||!(0>o)){if(o/=d,0>d){if(o>p)return;o>h&&(h=o)}else if(d>0){if(h>o)return;p>o&&(p=o)}if(o=e-l,g||!(o>0)){if(o/=g,0>g){if(h>o)return;p>o&&(p=o)}else if(g>0){if(o>p)return;o>h&&(h=o)}if(o=r-l,g||!(0>o)){if(o/=g,0>g){if(o>p)return;o>h&&(h=o)}else if(g>0){if(h>o)return;p>o&&(p=o)}return h>0&&(i.a={x:s+h*d,y:l+h*g}),1>p&&(i.b={x:s+p*d,y:l+p*g}),i}}}}}}function Vn(t,e,n,r){function i(r,i){return gu(r[0]-t)<Nu?i>0?0:3:gu(r[0]-n)<Nu?i>0?2:1:gu(r[1]-e)<Nu?i>0?1:0:i>0?3:2}function o(t,e){return a(t.x,e.x)}function a(t,e){var n=i(t,1),r=i(e,1);return n!==r?n-r:0===n?e[1]-t[1]:1===n?t[0]-e[0]:2===n?t[1]-e[1]:e[0]-t[0]}return function(u){function s(t){for(var e=0,n=v.length,r=t[1],i=0;n>i;++i)for(var o,a=1,u=v[i],s=u.length,l=u[0];s>a;++a)o=u[a],l[1]<=r?o[1]>r&&te(l,o,t)>0&&++e:o[1]<=r&&te(l,o,t)<0&&--e,l=o;return 0!==e}function l(o,u,s,l){var c=0,f=0;if(null==o||(c=i(o,s))!==(f=i(u,s))||a(o,u)<0^s>0){do l.point(0===c||3===c?t:n,c>1?r:e);while((c=(c+s+4)%4)!==f)}else l.point(u[0],u[1])}function c(i,o){return i>=t&&n>=i&&o>=e&&r>=o}function f(t,e){c(t,e)&&u.point(t,e)}function h(){j.point=d,v&&v.push(m=[]),k=!0,M=!1,w=_=0/0}function p(){g&&(d(y,b),x&&M&&S.rejoin(),g.push(S.buffer())),j.point=f,M&&u.lineEnd()}function d(t,e){t=Math.max(-Ls,Math.min(Ls,t)),e=Math.max(-Ls,Math.min(Ls,e));var n=c(t,e);if(v&&m.push([t,e]),k)y=t,b=e,x=n,k=!1,n&&(u.lineStart(),u.point(t,e));else if(n&&M)u.point(t,e);else{var r={a:{x:w,y:_},b:{x:t,y:e}};T(r)?(M||(u.lineStart(),u.point(r.a.x,r.a.y)),u.point(r.b.x,r.b.y),n||u.lineEnd(),E=!1):n&&(u.lineStart(),u.point(t,e),E=!1)}w=t,_=e,M=n}var g,v,m,y,b,x,w,_,M,k,E,C=u,S=Fn(),T=$n(t,e,n,r),j={point:f,lineStart:h,lineEnd:p,polygonStart:function(){u=S,g=[],v=[],E=!0},polygonEnd:function(){u=C,g=ru.merge(g);var e=s([t,r]),n=E&&e,i=g.length;(n||i)&&(u.polygonStart(),n&&(u.lineStart(),l(null,null,1,u),u.lineEnd()),i&&Nn(g,o,e,l,u),u.polygonEnd()),g=v=m=null}};return j}}function Un(t){var e=0,n=qu/3,r=ur(t),i=r(e,n);return i.parallels=function(t){return arguments.length?r(e=t[0]*qu/180,n=t[1]*qu/180):[e/qu*180,n/qu*180]},i}function Wn(t,e){function n(t,e){var n=Math.sqrt(o-2*i*Math.sin(e))/i;return[n*Math.sin(t*=i),a-n*Math.cos(t)]}var r=Math.sin(t),i=(r+Math.sin(e))/2,o=1+r*(2*i-r),a=Math.sqrt(o)/i;return n.invert=function(t,e){var n=a-e;return[Math.atan2(t,n)/i,ne((o-(t*t+n*n)*i*i)/(2*i))]},n}function Yn(){function t(t,e){zs+=i*t-r*e,r=t,i=e}var e,n,r,i;Bs.point=function(o,a){Bs.point=t,e=r=o,n=i=a},Bs.lineEnd=function(){t(e,n)}}function Xn(t,e){Rs>t&&(Rs=t),t>Ps&&(Ps=t),Is>e&&(Is=e),e>Hs&&(Hs=e)}function Jn(){function t(t,e){a.push("M",t,",",e,o)}function e(t,e){a.push("M",t,",",e),u.point=n}function n(t,e){a.push("L",t,",",e)}function r(){u.point=t}function i(){a.push("Z")}var o=Zn(4.5),a=[],u={point:t,lineStart:function(){u.point=e},lineEnd:r,polygonStart:function(){u.lineEnd=i},polygonEnd:function(){u.lineEnd=r,u.point=t},pointRadius:function(t){return o=Zn(t),u},result:function(){if(a.length){var t=a.join("");return a=[],t}}};return u}function Zn(t){return"m0,"+t+"a"+t+","+t+" 0 1,1 0,"+-2*t+"a"+t+","+t+" 0 1,1 0,"+2*t+"z"}function Kn(t,e){ks+=t,Es+=e,++Cs}function Gn(){function t(t,r){var i=t-e,o=r-n,a=Math.sqrt(i*i+o*o);Ss+=a*(e+t)/2,Ts+=a*(n+r)/2,js+=a,Kn(e=t,n=r)}var e,n;Vs.point=function(r,i){Vs.point=t,Kn(e=r,n=i)}}function Qn(){Vs.point=Kn}function tr(){function t(t,e){var n=t-r,o=e-i,a=Math.sqrt(n*n+o*o);Ss+=a*(r+t)/2,Ts+=a*(i+e)/2,js+=a,a=i*t-r*e,As+=a*(r+t),Ns+=a*(i+e),Os+=3*a,Kn(r=t,i=e)}var e,n,r,i;Vs.point=function(o,a){Vs.point=t,Kn(e=r=o,n=i=a)},Vs.lineEnd=function(){t(e,n)}}function er(t){function e(e,n){t.moveTo(e+a,n),t.arc(e,n,a,0,Du)}function n(e,n){t.moveTo(e,n),u.point=r}function r(e,n){t.lineTo(e,n)}function i(){u.point=e}function o(){t.closePath()}var a=4.5,u={point:e,lineStart:function(){u.point=n},lineEnd:i,polygonStart:function(){u.lineEnd=o},polygonEnd:function(){u.lineEnd=i,u.point=e},pointRadius:function(t){return a=t,u},result:_};return u}function nr(t){function e(t){return(u?r:n)(t)}function n(e){return or(e,function(n,r){n=t(n,r),e.point(n[0],n[1])})}function r(e){function n(n,r){n=t(n,r),e.point(n[0],n[1])}function r(){b=0/0,k.point=o,e.lineStart()}function o(n,r){var o=vn([n,r]),a=t(n,r);i(b,x,y,w,_,M,b=a[0],x=a[1],y=n,w=o[0],_=o[1],M=o[2],u,e),e.point(b,x)}function a(){k.point=n,e.lineEnd()}function s(){r(),k.point=l,k.lineEnd=c}function l(t,e){o(f=t,h=e),p=b,d=x,g=w,v=_,m=M,k.point=o}function c(){i(b,x,y,w,_,M,p,d,f,g,v,m,u,e),k.lineEnd=a,a()}var f,h,p,d,g,v,m,y,b,x,w,_,M,k={point:n,lineStart:r,lineEnd:a,polygonStart:function(){e.polygonStart(),k.lineStart=s},polygonEnd:function(){e.polygonEnd(),k.lineStart=r}};return k}function i(e,n,r,u,s,l,c,f,h,p,d,g,v,m){var y=c-e,b=f-n,x=y*y+b*b;if(x>4*o&&v--){var w=u+p,_=s+d,M=l+g,k=Math.sqrt(w*w+_*_+M*M),E=Math.asin(M/=k),C=gu(gu(M)-1)<Nu||gu(r-h)<Nu?(r+h)/2:Math.atan2(_,w),S=t(C,E),T=S[0],j=S[1],A=T-e,N=j-n,O=b*A-y*N;(O*O/x>o||gu((y*A+b*N)/x-.5)>.3||a>u*p+s*d+l*g)&&(i(e,n,r,u,s,l,T,j,C,w/=k,_/=k,M,v,m),m.point(T,j),i(T,j,C,w,_,M,c,f,h,p,d,g,v,m))}}var o=.5,a=Math.cos(30*zu),u=16;return e.precision=function(t){return arguments.length?(u=(o=t*t)>0&&16,e):Math.sqrt(o)},e}function rr(t){var e=nr(function(e,n){return t([e*Ru,n*Ru])});return function(t){return sr(e(t))}}function ir(t){this.stream=t}function or(t,e){return{point:e,sphere:function(){t.sphere()},lineStart:function(){t.lineStart()},lineEnd:function(){t.lineEnd()},polygonStart:function(){t.polygonStart()},polygonEnd:function(){t.polygonEnd()}}}function ar(t){return ur(function(){return t})()}function ur(t){function e(t){return t=u(t[0]*zu,t[1]*zu),[t[0]*h+s,l-t[1]*h]}function n(t){return t=u.invert((t[0]-s)/h,(l-t[1])/h),t&&[t[0]*Ru,t[1]*Ru]}function r(){u=jn(a=fr(m,y,x),o);var t=o(g,v);return s=p-t[0]*h,l=d+t[1]*h,i()}function i(){return c&&(c.valid=!1,c=null),e}var o,a,u,s,l,c,f=nr(function(t,e){return t=o(t,e),[t[0]*h+s,l-t[1]*h]}),h=150,p=480,d=250,g=0,v=0,m=0,y=0,x=0,w=Ds,_=b,M=null,k=null;return e.stream=function(t){return c&&(c.valid=!1),c=sr(w(a,f(_(t)))),c.valid=!0,c},e.clipAngle=function(t){return arguments.length?(w=null==t?(M=t,Ds):Bn((M=+t)*zu),i()):M},e.clipExtent=function(t){return arguments.length?(k=t,_=t?Vn(t[0][0],t[0][1],t[1][0],t[1][1]):b,i()):k},e.scale=function(t){return arguments.length?(h=+t,r()):h},e.translate=function(t){return arguments.length?(p=+t[0],d=+t[1],r()):[p,d]},e.center=function(t){return arguments.length?(g=t[0]%360*zu,v=t[1]%360*zu,r()):[g*Ru,v*Ru]},e.rotate=function(t){return arguments.length?(m=t[0]%360*zu,y=t[1]%360*zu,x=t.length>2?t[2]%360*zu:0,r()):[m*Ru,y*Ru,x*Ru]},ru.rebind(e,f,"precision"),function(){return o=t.apply(this,arguments),e.invert=o.invert&&n,r()}}function sr(t){return or(t,function(e,n){t.point(e*zu,n*zu)})}function lr(t,e){return[t,e]}function cr(t,e){return[t>qu?t-Du:-qu>t?t+Du:t,e]}function fr(t,e,n){return t?e||n?jn(pr(t),dr(e,n)):pr(t):e||n?dr(e,n):cr}function hr(t){return function(e,n){return e+=t,[e>qu?e-Du:-qu>e?e+Du:e,n]}}function pr(t){var e=hr(t);return e.invert=hr(-t),e}function dr(t,e){function n(t,e){var n=Math.cos(e),u=Math.cos(t)*n,s=Math.sin(t)*n,l=Math.sin(e),c=l*r+u*i;return[Math.atan2(s*o-c*a,u*r-l*i),ne(c*o+s*a)]}var r=Math.cos(t),i=Math.sin(t),o=Math.cos(e),a=Math.sin(e);return n.invert=function(t,e){var n=Math.cos(e),u=Math.cos(t)*n,s=Math.sin(t)*n,l=Math.sin(e),c=l*o-s*a;return[Math.atan2(s*o+l*a,u*r+c*i),ne(c*r-u*i)]},n}function gr(t,e){var n=Math.cos(t),r=Math.sin(t);return function(i,o,a,u){var s=a*e;null!=i?(i=vr(n,i),o=vr(n,o),(a>0?o>i:i>o)&&(i+=a*Du)):(i=t+a*Du,o=t-.5*s);for(var l,c=i;a>0?c>o:o>c;c-=s)u.point((l=_n([n,-r*Math.cos(c),-r*Math.sin(c)]))[0],l[1])}}function vr(t,e){var n=vn(e);n[0]-=t,wn(n);var r=ee(-n[1]);return((-n[2]<0?-r:r)+2*Math.PI-Nu)%(2*Math.PI)}function mr(t,e,n){var r=ru.range(t,e-Nu,n).concat(e);return function(t){return r.map(function(e){return[t,e]})}}function yr(t,e,n){var r=ru.range(t,e-Nu,n).concat(e);return function(t){return r.map(function(e){return[e,t]})}}function br(t){return t.source}function xr(t){return t.target}function wr(t,e,n,r){var i=Math.cos(e),o=Math.sin(e),a=Math.cos(r),u=Math.sin(r),s=i*Math.cos(t),l=i*Math.sin(t),c=a*Math.cos(n),f=a*Math.sin(n),h=2*Math.asin(Math.sqrt(ae(r-e)+i*a*ae(n-t))),p=1/Math.sin(h),d=h?function(t){var e=Math.sin(t*=h)*p,n=Math.sin(h-t)*p,r=n*s+e*c,i=n*l+e*f,a=n*o+e*u;return[Math.atan2(i,r)*Ru,Math.atan2(a,Math.sqrt(r*r+i*i))*Ru]}:function(){return[t*Ru,e*Ru]};return d.distance=h,d}function _r(){function t(t,i){var o=Math.sin(i*=zu),a=Math.cos(i),u=gu((t*=zu)-e),s=Math.cos(u);Us+=Math.atan2(Math.sqrt((u=a*Math.sin(u))*u+(u=r*o-n*a*s)*u),n*o+r*a*s),e=t,n=o,r=a}var e,n,r;Ws.point=function(i,o){e=i*zu,n=Math.sin(o*=zu),r=Math.cos(o),Ws.point=t},Ws.lineEnd=function(){Ws.point=Ws.lineEnd=_}}function Mr(t,e){function n(e,n){var r=Math.cos(e),i=Math.cos(n),o=t(r*i);return[o*i*Math.sin(e),o*Math.sin(n)]}return n.invert=function(t,n){var r=Math.sqrt(t*t+n*n),i=e(r),o=Math.sin(i),a=Math.cos(i);return[Math.atan2(t*o,r*a),Math.asin(r&&n*o/r)]},n}function kr(t,e){function n(t,e){a>0?-Fu+Nu>e&&(e=-Fu+Nu):e>Fu-Nu&&(e=Fu-Nu);var n=a/Math.pow(i(e),o);return[n*Math.sin(o*t),a-n*Math.cos(o*t)]}var r=Math.cos(t),i=function(t){return Math.tan(qu/4+t/2)},o=t===e?Math.sin(t):Math.log(r/Math.cos(e))/Math.log(i(e)/i(t)),a=r*Math.pow(i(t),o)/o;return o?(n.invert=function(t,e){var n=a-e,r=Q(o)*Math.sqrt(t*t+n*n);return[Math.atan2(t,n)/o,2*Math.atan(Math.pow(a/r,1/o))-Fu]},n):Cr}function Er(t,e){function n(t,e){var n=o-e;return[n*Math.sin(i*t),o-n*Math.cos(i*t)]
+}var r=Math.cos(t),i=t===e?Math.sin(t):(r-Math.cos(e))/(e-t),o=r/i+t;return gu(i)<Nu?lr:(n.invert=function(t,e){var n=o-e;return[Math.atan2(t,n)/i,o-Q(i)*Math.sqrt(t*t+n*n)]},n)}function Cr(t,e){return[t,Math.log(Math.tan(qu/4+e/2))]}function Sr(t){var e,n=ar(t),r=n.scale,i=n.translate,o=n.clipExtent;return n.scale=function(){var t=r.apply(n,arguments);return t===n?e?n.clipExtent(null):n:t},n.translate=function(){var t=i.apply(n,arguments);return t===n?e?n.clipExtent(null):n:t},n.clipExtent=function(t){var a=o.apply(n,arguments);if(a===n){if(e=null==t){var u=qu*r(),s=i();o([[s[0]-u,s[1]-u],[s[0]+u,s[1]+u]])}}else e&&(a=null);return a},n.clipExtent(null)}function Tr(t,e){return[Math.log(Math.tan(qu/4+e/2)),-t]}function jr(t){return t[0]}function Ar(t){return t[1]}function Nr(t){for(var e=t.length,n=[0,1],r=2,i=2;e>i;i++){for(;r>1&&te(t[n[r-2]],t[n[r-1]],t[i])<=0;)--r;n[r++]=i}return n.slice(0,r)}function Or(t,e){return t[0]-e[0]||t[1]-e[1]}function qr(t,e,n){return(n[0]-e[0])*(t[1]-e[1])<(n[1]-e[1])*(t[0]-e[0])}function Dr(t,e,n,r){var i=t[0],o=n[0],a=e[0]-i,u=r[0]-o,s=t[1],l=n[1],c=e[1]-s,f=r[1]-l,h=(u*(s-l)-f*(i-o))/(f*a-u*c);return[i+h*a,s+h*c]}function Lr(t){var e=t[0],n=t[t.length-1];return!(e[0]-n[0]||e[1]-n[1])}function Fr(){ri(this),this.edge=this.site=this.circle=null}function zr(t){var e=il.pop()||new Fr;return e.site=t,e}function Rr(t){Xr(t),el.remove(t),il.push(t),ri(t)}function Ir(t){var e=t.circle,n=e.x,r=e.cy,i={x:n,y:r},o=t.P,a=t.N,u=[t];Rr(t);for(var s=o;s.circle&&gu(n-s.circle.x)<Nu&&gu(r-s.circle.cy)<Nu;)o=s.P,u.unshift(s),Rr(s),s=o;u.unshift(s),Xr(s);for(var l=a;l.circle&&gu(n-l.circle.x)<Nu&&gu(r-l.circle.cy)<Nu;)a=l.N,u.push(l),Rr(l),l=a;u.push(l),Xr(l);var c,f=u.length;for(c=1;f>c;++c)l=u[c],s=u[c-1],ti(l.edge,s.site,l.site,i);s=u[0],l=u[f-1],l.edge=Gr(s.site,l.site,null,i),Yr(s),Yr(l)}function Pr(t){for(var e,n,r,i,o=t.x,a=t.y,u=el._;u;)if(r=Hr(u,a)-o,r>Nu)u=u.L;else{if(i=o-Br(u,a),!(i>Nu)){r>-Nu?(e=u.P,n=u):i>-Nu?(e=u,n=u.N):e=n=u;break}if(!u.R){e=u;break}u=u.R}var s=zr(t);if(el.insert(e,s),e||n){if(e===n)return Xr(e),n=zr(e.site),el.insert(s,n),s.edge=n.edge=Gr(e.site,s.site),Yr(e),void Yr(n);if(!n)return void(s.edge=Gr(e.site,s.site));Xr(e),Xr(n);var l=e.site,c=l.x,f=l.y,h=t.x-c,p=t.y-f,d=n.site,g=d.x-c,v=d.y-f,m=2*(h*v-p*g),y=h*h+p*p,b=g*g+v*v,x={x:(v*y-p*b)/m+c,y:(h*b-g*y)/m+f};ti(n.edge,l,d,x),s.edge=Gr(l,t,null,x),n.edge=Gr(t,d,null,x),Yr(e),Yr(n)}}function Hr(t,e){var n=t.site,r=n.x,i=n.y,o=i-e;if(!o)return r;var a=t.P;if(!a)return-1/0;n=a.site;var u=n.x,s=n.y,l=s-e;if(!l)return u;var c=u-r,f=1/o-1/l,h=c/l;return f?(-h+Math.sqrt(h*h-2*f*(c*c/(-2*l)-s+l/2+i-o/2)))/f+r:(r+u)/2}function Br(t,e){var n=t.N;if(n)return Hr(n,e);var r=t.site;return r.y===e?r.x:1/0}function $r(t){this.site=t,this.edges=[]}function Vr(t){for(var e,n,r,i,o,a,u,s,l,c,f=t[0][0],h=t[1][0],p=t[0][1],d=t[1][1],g=tl,v=g.length;v--;)if(o=g[v],o&&o.prepare())for(u=o.edges,s=u.length,a=0;s>a;)c=u[a].end(),r=c.x,i=c.y,l=u[++a%s].start(),e=l.x,n=l.y,(gu(r-e)>Nu||gu(i-n)>Nu)&&(u.splice(a,0,new ei(Qr(o.site,c,gu(r-f)<Nu&&d-i>Nu?{x:f,y:gu(e-f)<Nu?n:d}:gu(i-d)<Nu&&h-r>Nu?{x:gu(n-d)<Nu?e:h,y:d}:gu(r-h)<Nu&&i-p>Nu?{x:h,y:gu(e-h)<Nu?n:p}:gu(i-p)<Nu&&r-f>Nu?{x:gu(n-p)<Nu?e:f,y:p}:null),o.site,null)),++s)}function Ur(t,e){return e.angle-t.angle}function Wr(){ri(this),this.x=this.y=this.arc=this.site=this.cy=null}function Yr(t){var e=t.P,n=t.N;if(e&&n){var r=e.site,i=t.site,o=n.site;if(r!==o){var a=i.x,u=i.y,s=r.x-a,l=r.y-u,c=o.x-a,f=o.y-u,h=2*(s*f-l*c);if(!(h>=-Ou)){var p=s*s+l*l,d=c*c+f*f,g=(f*p-l*d)/h,v=(s*d-c*p)/h,f=v+u,m=ol.pop()||new Wr;m.arc=t,m.site=i,m.x=g+a,m.y=f+Math.sqrt(g*g+v*v),m.cy=f,t.circle=m;for(var y=null,b=rl._;b;)if(m.y<b.y||m.y===b.y&&m.x<=b.x){if(!b.L){y=b.P;break}b=b.L}else{if(!b.R){y=b;break}b=b.R}rl.insert(y,m),y||(nl=m)}}}}function Xr(t){var e=t.circle;e&&(e.P||(nl=e.N),rl.remove(e),ol.push(e),ri(e),t.circle=null)}function Jr(t){for(var e,n=Qs,r=$n(t[0][0],t[0][1],t[1][0],t[1][1]),i=n.length;i--;)e=n[i],(!Zr(e,t)||!r(e)||gu(e.a.x-e.b.x)<Nu&&gu(e.a.y-e.b.y)<Nu)&&(e.a=e.b=null,n.splice(i,1))}function Zr(t,e){var n=t.b;if(n)return!0;var r,i,o=t.a,a=e[0][0],u=e[1][0],s=e[0][1],l=e[1][1],c=t.l,f=t.r,h=c.x,p=c.y,d=f.x,g=f.y,v=(h+d)/2,m=(p+g)/2;if(g===p){if(a>v||v>=u)return;if(h>d){if(o){if(o.y>=l)return}else o={x:v,y:s};n={x:v,y:l}}else{if(o){if(o.y<s)return}else o={x:v,y:l};n={x:v,y:s}}}else if(r=(h-d)/(g-p),i=m-r*v,-1>r||r>1)if(h>d){if(o){if(o.y>=l)return}else o={x:(s-i)/r,y:s};n={x:(l-i)/r,y:l}}else{if(o){if(o.y<s)return}else o={x:(l-i)/r,y:l};n={x:(s-i)/r,y:s}}else if(g>p){if(o){if(o.x>=u)return}else o={x:a,y:r*a+i};n={x:u,y:r*u+i}}else{if(o){if(o.x<a)return}else o={x:u,y:r*u+i};n={x:a,y:r*a+i}}return t.a=o,t.b=n,!0}function Kr(t,e){this.l=t,this.r=e,this.a=this.b=null}function Gr(t,e,n,r){var i=new Kr(t,e);return Qs.push(i),n&&ti(i,t,e,n),r&&ti(i,e,t,r),tl[t.i].edges.push(new ei(i,t,e)),tl[e.i].edges.push(new ei(i,e,t)),i}function Qr(t,e,n){var r=new Kr(t,null);return r.a=e,r.b=n,Qs.push(r),r}function ti(t,e,n,r){t.a||t.b?t.l===n?t.b=r:t.a=r:(t.a=r,t.l=e,t.r=n)}function ei(t,e,n){var r=t.a,i=t.b;this.edge=t,this.site=e,this.angle=n?Math.atan2(n.y-e.y,n.x-e.x):t.l===e?Math.atan2(i.x-r.x,r.y-i.y):Math.atan2(r.x-i.x,i.y-r.y)}function ni(){this._=null}function ri(t){t.U=t.C=t.L=t.R=t.P=t.N=null}function ii(t,e){var n=e,r=e.R,i=n.U;i?i.L===n?i.L=r:i.R=r:t._=r,r.U=i,n.U=r,n.R=r.L,n.R&&(n.R.U=n),r.L=n}function oi(t,e){var n=e,r=e.L,i=n.U;i?i.L===n?i.L=r:i.R=r:t._=r,r.U=i,n.U=r,n.L=r.R,n.L&&(n.L.U=n),r.R=n}function ai(t){for(;t.L;)t=t.L;return t}function ui(t,e){var n,r,i,o=t.sort(si).pop();for(Qs=[],tl=new Array(t.length),el=new ni,rl=new ni;;)if(i=nl,o&&(!i||o.y<i.y||o.y===i.y&&o.x<i.x))(o.x!==n||o.y!==r)&&(tl[o.i]=new $r(o),Pr(o),n=o.x,r=o.y),o=t.pop();else{if(!i)break;Ir(i.arc)}e&&(Jr(e),Vr(e));var a={cells:tl,edges:Qs};return el=rl=Qs=tl=null,a}function si(t,e){return e.y-t.y||e.x-t.x}function li(t,e,n){return(t.x-n.x)*(e.y-t.y)-(t.x-e.x)*(n.y-t.y)}function ci(t){return t.x}function fi(t){return t.y}function hi(){return{leaf:!0,nodes:[],point:null,x:null,y:null}}function pi(t,e,n,r,i,o){if(!t(e,n,r,i,o)){var a=.5*(n+i),u=.5*(r+o),s=e.nodes;s[0]&&pi(t,s[0],n,r,a,u),s[1]&&pi(t,s[1],a,r,i,u),s[2]&&pi(t,s[2],n,u,a,o),s[3]&&pi(t,s[3],a,u,i,o)}}function di(t,e,n,r,i,o,a){var u,s=1/0;return function l(t,c,f,h,p){if(!(c>o||f>a||r>h||i>p)){if(d=t.point){var d,g=e-t.x,v=n-t.y,m=g*g+v*v;if(s>m){var y=Math.sqrt(s=m);r=e-y,i=n-y,o=e+y,a=n+y,u=d}}for(var b=t.nodes,x=.5*(c+h),w=.5*(f+p),_=e>=x,M=n>=w,k=M<<1|_,E=k+4;E>k;++k)if(t=b[3&k])switch(3&k){case 0:l(t,c,f,x,w);break;case 1:l(t,x,f,h,w);break;case 2:l(t,c,w,x,p);break;case 3:l(t,x,w,h,p)}}}(t,r,i,o,a),u}function gi(t,e){t=ru.rgb(t),e=ru.rgb(e);var n=t.r,r=t.g,i=t.b,o=e.r-n,a=e.g-r,u=e.b-i;return function(t){return"#"+we(Math.round(n+o*t))+we(Math.round(r+a*t))+we(Math.round(i+u*t))}}function vi(t,e){var n,r={},i={};for(n in t)n in e?r[n]=bi(t[n],e[n]):i[n]=t[n];for(n in e)n in t||(i[n]=e[n]);return function(t){for(n in r)i[n]=r[n](t);return i}}function mi(t,e){return t=+t,e=+e,function(n){return t*(1-n)+e*n}}function yi(t,e){var n,r,i,o=ul.lastIndex=sl.lastIndex=0,a=-1,u=[],s=[];for(t+="",e+="";(n=ul.exec(t))&&(r=sl.exec(e));)(i=r.index)>o&&(i=e.slice(o,i),u[a]?u[a]+=i:u[++a]=i),(n=n[0])===(r=r[0])?u[a]?u[a]+=r:u[++a]=r:(u[++a]=null,s.push({i:a,x:mi(n,r)})),o=sl.lastIndex;return o<e.length&&(i=e.slice(o),u[a]?u[a]+=i:u[++a]=i),u.length<2?s[0]?(e=s[0].x,function(t){return e(t)+""}):function(){return e}:(e=s.length,function(t){for(var n,r=0;e>r;++r)u[(n=s[r]).i]=n.x(t);return u.join("")})}function bi(t,e){for(var n,r=ru.interpolators.length;--r>=0&&!(n=ru.interpolators[r](t,e)););return n}function xi(t,e){var n,r=[],i=[],o=t.length,a=e.length,u=Math.min(t.length,e.length);for(n=0;u>n;++n)r.push(bi(t[n],e[n]));for(;o>n;++n)i[n]=t[n];for(;a>n;++n)i[n]=e[n];return function(t){for(n=0;u>n;++n)i[n]=r[n](t);return i}}function wi(t){return function(e){return 0>=e?0:e>=1?1:t(e)}}function _i(t){return function(e){return 1-t(1-e)}}function Mi(t){return function(e){return.5*(.5>e?t(2*e):2-t(2-2*e))}}function ki(t){return t*t}function Ei(t){return t*t*t}function Ci(t){if(0>=t)return 0;if(t>=1)return 1;var e=t*t,n=e*t;return 4*(.5>t?n:3*(t-e)+n-.75)}function Si(t){return function(e){return Math.pow(e,t)}}function Ti(t){return 1-Math.cos(t*Fu)}function ji(t){return Math.pow(2,10*(t-1))}function Ai(t){return 1-Math.sqrt(1-t*t)}function Ni(t,e){var n;return arguments.length<2&&(e=.45),arguments.length?n=e/Du*Math.asin(1/t):(t=1,n=e/4),function(r){return 1+t*Math.pow(2,-10*r)*Math.sin((r-n)*Du/e)}}function Oi(t){return t||(t=1.70158),function(e){return e*e*((t+1)*e-t)}}function qi(t){return 1/2.75>t?7.5625*t*t:2/2.75>t?7.5625*(t-=1.5/2.75)*t+.75:2.5/2.75>t?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375}function Di(t,e){t=ru.hcl(t),e=ru.hcl(e);var n=t.h,r=t.c,i=t.l,o=e.h-n,a=e.c-r,u=e.l-i;return isNaN(a)&&(a=0,r=isNaN(r)?e.c:r),isNaN(o)?(o=0,n=isNaN(n)?e.h:n):o>180?o-=360:-180>o&&(o+=360),function(t){return fe(n+o*t,r+a*t,i+u*t)+""}}function Li(t,e){t=ru.hsl(t),e=ru.hsl(e);var n=t.h,r=t.s,i=t.l,o=e.h-n,a=e.s-r,u=e.l-i;return isNaN(a)&&(a=0,r=isNaN(r)?e.s:r),isNaN(o)?(o=0,n=isNaN(n)?e.h:n):o>180?o-=360:-180>o&&(o+=360),function(t){return le(n+o*t,r+a*t,i+u*t)+""}}function Fi(t,e){t=ru.lab(t),e=ru.lab(e);var n=t.l,r=t.a,i=t.b,o=e.l-n,a=e.a-r,u=e.b-i;return function(t){return pe(n+o*t,r+a*t,i+u*t)+""}}function zi(t,e){return e-=t,function(n){return Math.round(t+e*n)}}function Ri(t){var e=[t.a,t.b],n=[t.c,t.d],r=Pi(e),i=Ii(e,n),o=Pi(Hi(n,e,-i))||0;e[0]*n[1]<n[0]*e[1]&&(e[0]*=-1,e[1]*=-1,r*=-1,i*=-1),this.rotate=(r?Math.atan2(e[1],e[0]):Math.atan2(-n[0],n[1]))*Ru,this.translate=[t.e,t.f],this.scale=[r,o],this.skew=o?Math.atan2(i,o)*Ru:0}function Ii(t,e){return t[0]*e[0]+t[1]*e[1]}function Pi(t){var e=Math.sqrt(Ii(t,t));return e&&(t[0]/=e,t[1]/=e),e}function Hi(t,e,n){return t[0]+=n*e[0],t[1]+=n*e[1],t}function Bi(t,e){var n,r=[],i=[],o=ru.transform(t),a=ru.transform(e),u=o.translate,s=a.translate,l=o.rotate,c=a.rotate,f=o.skew,h=a.skew,p=o.scale,d=a.scale;return u[0]!=s[0]||u[1]!=s[1]?(r.push("translate(",null,",",null,")"),i.push({i:1,x:mi(u[0],s[0])},{i:3,x:mi(u[1],s[1])})):r.push(s[0]||s[1]?"translate("+s+")":""),l!=c?(l-c>180?c+=360:c-l>180&&(l+=360),i.push({i:r.push(r.pop()+"rotate(",null,")")-2,x:mi(l,c)})):c&&r.push(r.pop()+"rotate("+c+")"),f!=h?i.push({i:r.push(r.pop()+"skewX(",null,")")-2,x:mi(f,h)}):h&&r.push(r.pop()+"skewX("+h+")"),p[0]!=d[0]||p[1]!=d[1]?(n=r.push(r.pop()+"scale(",null,",",null,")"),i.push({i:n-4,x:mi(p[0],d[0])},{i:n-2,x:mi(p[1],d[1])})):(1!=d[0]||1!=d[1])&&r.push(r.pop()+"scale("+d+")"),n=i.length,function(t){for(var e,o=-1;++o<n;)r[(e=i[o]).i]=e.x(t);return r.join("")}}function $i(t,e){return e=(e-=t=+t)||1/e,function(n){return(n-t)/e}}function Vi(t,e){return e=(e-=t=+t)||1/e,function(n){return Math.max(0,Math.min(1,(n-t)/e))}}function Ui(t){for(var e=t.source,n=t.target,r=Yi(e,n),i=[e];e!==r;)e=e.parent,i.push(e);for(var o=i.length;n!==r;)i.splice(o,0,n),n=n.parent;return i}function Wi(t){for(var e=[],n=t.parent;null!=n;)e.push(t),t=n,n=n.parent;return e.push(t),e}function Yi(t,e){if(t===e)return t;for(var n=Wi(t),r=Wi(e),i=n.pop(),o=r.pop(),a=null;i===o;)a=i,i=n.pop(),o=r.pop();return a}function Xi(t){t.fixed|=2}function Ji(t){t.fixed&=-7}function Zi(t){t.fixed|=4,t.px=t.x,t.py=t.y}function Ki(t){t.fixed&=-5}function Gi(t,e,n){var r=0,i=0;if(t.charge=0,!t.leaf)for(var o,a=t.nodes,u=a.length,s=-1;++s<u;)o=a[s],null!=o&&(Gi(o,e,n),t.charge+=o.charge,r+=o.charge*o.cx,i+=o.charge*o.cy);if(t.point){t.leaf||(t.point.x+=Math.random()-.5,t.point.y+=Math.random()-.5);var l=e*n[t.point.index];t.charge+=t.pointCharge=l,r+=l*t.point.x,i+=l*t.point.y}t.cx=r/t.charge,t.cy=i/t.charge}function Qi(t,e){return ru.rebind(t,e,"sort","children","value"),t.nodes=t,t.links=oo,t}function to(t,e){for(var n=[t];null!=(t=n.pop());)if(e(t),(i=t.children)&&(r=i.length))for(var r,i;--r>=0;)n.push(i[r])}function eo(t,e){for(var n=[t],r=[];null!=(t=n.pop());)if(r.push(t),(o=t.children)&&(i=o.length))for(var i,o,a=-1;++a<i;)n.push(o[a]);for(;null!=(t=r.pop());)e(t)}function no(t){return t.children}function ro(t){return t.value}function io(t,e){return e.value-t.value}function oo(t){return ru.merge(t.map(function(t){return(t.children||[]).map(function(e){return{source:t,target:e}})}))}function ao(t){return t.x}function uo(t){return t.y}function so(t,e,n){t.y0=e,t.y=n}function lo(data){return ru.range(data.length)}function co(data){for(var t=-1,e=data[0].length,n=[];++t<e;)n[t]=0;return n}function fo(t){for(var e,n=1,r=0,i=t[0][1],o=t.length;o>n;++n)(e=t[n][1])>i&&(r=n,i=e);return r}function ho(t){return t.reduce(po,0)}function po(t,e){return t+e[1]}function go(t,e){return vo(t,Math.ceil(Math.log(e.length)/Math.LN2+1))}function vo(t,e){for(var n=-1,r=+t[0],i=(t[1]-r)/e,o=[];++n<=e;)o[n]=i*n+r;return o}function mo(t){return[ru.min(t),ru.max(t)]}function yo(t,e){return t.value-e.value}function bo(t,e){var n=t._pack_next;t._pack_next=e,e._pack_prev=t,e._pack_next=n,n._pack_prev=e}function xo(t,e){t._pack_next=e,e._pack_prev=t}function wo(t,e){var n=e.x-t.x,r=e.y-t.y,i=t.r+e.r;return.999*i*i>n*n+r*r}function _o(t){function e(t){c=Math.min(t.x-t.r,c),f=Math.max(t.x+t.r,f),h=Math.min(t.y-t.r,h),p=Math.max(t.y+t.r,p)}if((n=t.children)&&(l=n.length)){var n,r,i,o,a,u,s,l,c=1/0,f=-1/0,h=1/0,p=-1/0;if(n.forEach(Mo),r=n[0],r.x=-r.r,r.y=0,e(r),l>1&&(i=n[1],i.x=i.r,i.y=0,e(i),l>2))for(o=n[2],Co(r,i,o),e(o),bo(r,o),r._pack_prev=o,bo(o,i),i=r._pack_next,a=3;l>a;a++){Co(r,i,o=n[a]);var d=0,g=1,v=1;for(u=i._pack_next;u!==i;u=u._pack_next,g++)if(wo(u,o)){d=1;break}if(1==d)for(s=r._pack_prev;s!==u._pack_prev&&!wo(s,o);s=s._pack_prev,v++);d?(v>g||g==v&&i.r<r.r?xo(r,i=u):xo(r=s,i),a--):(bo(r,o),i=o,e(o))}var m=(c+f)/2,y=(h+p)/2,b=0;for(a=0;l>a;a++)o=n[a],o.x-=m,o.y-=y,b=Math.max(b,o.r+Math.sqrt(o.x*o.x+o.y*o.y));t.r=b,n.forEach(ko)}}function Mo(t){t._pack_next=t._pack_prev=t}function ko(t){delete t._pack_next,delete t._pack_prev}function Eo(t,e,n,r){var i=t.children;if(t.x=e+=r*t.x,t.y=n+=r*t.y,t.r*=r,i)for(var o=-1,a=i.length;++o<a;)Eo(i[o],e,n,r)}function Co(t,e,n){var r=t.r+n.r,i=e.x-t.x,o=e.y-t.y;if(r&&(i||o)){var a=e.r+n.r,u=i*i+o*o;a*=a,r*=r;var s=.5+(r-a)/(2*u),l=Math.sqrt(Math.max(0,2*a*(r+u)-(r-=u)*r-a*a))/(2*u);n.x=t.x+s*i+l*o,n.y=t.y+s*o-l*i}else n.x=t.x+r,n.y=t.y}function So(t,e){return t.parent==e.parent?1:2}function To(t){var e=t.children;return e.length?e[0]:t.t}function jo(t){var e,n=t.children;return(e=n.length)?n[e-1]:t.t}function Ao(t,e,n){var r=n/(e.i-t.i);e.c-=r,e.s+=n,t.c+=r,e.z+=n,e.m+=n}function No(t){for(var e,n=0,r=0,i=t.children,o=i.length;--o>=0;)e=i[o],e.z+=n,e.m+=n,n+=e.s+(r+=e.c)}function Oo(t,e,n){return t.a.parent===e.parent?t.a:n}function qo(t){return 1+ru.max(t,function(t){return t.y})}function Do(t){return t.reduce(function(t,e){return t+e.x},0)/t.length}function Lo(t){var e=t.children;return e&&e.length?Lo(e[0]):t}function Fo(t){var e,n=t.children;return n&&(e=n.length)?Fo(n[e-1]):t}function zo(t){return{x:t.x,y:t.y,dx:t.dx,dy:t.dy}}function Ro(t,e){var n=t.x+e[3],r=t.y+e[0],i=t.dx-e[1]-e[3],o=t.dy-e[0]-e[2];return 0>i&&(n+=i/2,i=0),0>o&&(r+=o/2,o=0),{x:n,y:r,dx:i,dy:o}}function Io(t){var e=t[0],n=t[t.length-1];return n>e?[e,n]:[n,e]}function Po(t){return t.rangeExtent?t.rangeExtent():Io(t.range())}function Ho(t,e,n,r){var i=n(t[0],t[1]),o=r(e[0],e[1]);return function(t){return o(i(t))}}function Bo(t,e){var n,r=0,i=t.length-1,o=t[r],a=t[i];return o>a&&(n=r,r=i,i=n,n=o,o=a,a=n),t[r]=e.floor(o),t[i]=e.ceil(a),t}function $o(t){return t?{floor:function(e){return Math.floor(e/t)*t},ceil:function(e){return Math.ceil(e/t)*t}}:bl}function Vo(t,e,n,r){var i=[],o=[],a=0,u=Math.min(t.length,e.length)-1;for(t[u]<t[0]&&(t=t.slice().reverse(),e=e.slice().reverse());++a<=u;)i.push(n(t[a-1],t[a])),o.push(r(e[a-1],e[a]));return function(e){var n=ru.bisect(t,e,1,u)-1;return o[n](i[n](e))}}function Uo(t,e,n,r){function i(){var i=Math.min(t.length,e.length)>2?Vo:Ho,s=r?Vi:$i;return a=i(t,e,s,n),u=i(e,t,s,bi),o}function o(t){return a(t)}var a,u;return o.invert=function(t){return u(t)},o.domain=function(e){return arguments.length?(t=e.map(Number),i()):t},o.range=function(t){return arguments.length?(e=t,i()):e},o.rangeRound=function(t){return o.range(t).interpolate(zi)},o.clamp=function(t){return arguments.length?(r=t,i()):r},o.interpolate=function(t){return arguments.length?(n=t,i()):n},o.ticks=function(e){return Jo(t,e)},o.tickFormat=function(e,n){return Zo(t,e,n)},o.nice=function(e){return Yo(t,e),i()},o.copy=function(){return Uo(t,e,n,r)},i()}function Wo(t,e){return ru.rebind(t,e,"range","rangeRound","interpolate","clamp")}function Yo(t,e){return Bo(t,$o(Xo(t,e)[2]))}function Xo(t,e){null==e&&(e=10);var n=Io(t),r=n[1]-n[0],i=Math.pow(10,Math.floor(Math.log(r/e)/Math.LN10)),o=e/r*i;return.15>=o?i*=10:.35>=o?i*=5:.75>=o&&(i*=2),n[0]=Math.ceil(n[0]/i)*i,n[1]=Math.floor(n[1]/i)*i+.5*i,n[2]=i,n}function Jo(t,e){return ru.range.apply(ru,Xo(t,e))}function Zo(t,e,n){var r=Xo(t,e);if(n){var i=us.exec(n);if(i.shift(),"s"===i[8]){var o=ru.formatPrefix(Math.max(gu(r[0]),gu(r[1])));return i[7]||(i[7]="."+Ko(o.scale(r[2]))),i[8]="f",n=ru.format(i.join("")),function(t){return n(o.scale(t))+o.symbol}}i[7]||(i[7]="."+Go(i[8],r)),n=i.join("")}else n=",."+Ko(r[2])+"f";return ru.format(n)}function Ko(t){return-Math.floor(Math.log(t)/Math.LN10+.01)}function Go(t,e){var n=Ko(e[2]);return t in xl?Math.abs(n-Ko(Math.max(gu(e[0]),gu(e[1]))))+ +("e"!==t):n-2*("%"===t)}function Qo(t,e,n,r){function i(t){return(n?Math.log(0>t?0:t):-Math.log(t>0?0:-t))/Math.log(e)}function o(t){return n?Math.pow(e,t):-Math.pow(e,-t)}function a(e){return t(i(e))}return a.invert=function(e){return o(t.invert(e))},a.domain=function(e){return arguments.length?(n=e[0]>=0,t.domain((r=e.map(Number)).map(i)),a):r},a.base=function(n){return arguments.length?(e=+n,t.domain(r.map(i)),a):e},a.nice=function(){var e=Bo(r.map(i),n?Math:_l);return t.domain(e),r=e.map(o),a},a.ticks=function(){var t=Io(r),a=[],u=t[0],s=t[1],l=Math.floor(i(u)),c=Math.ceil(i(s)),f=e%1?2:e;if(isFinite(c-l)){if(n){for(;c>l;l++)for(var h=1;f>h;h++)a.push(o(l)*h);a.push(o(l))}else for(a.push(o(l));l++<c;)for(var h=f-1;h>0;h--)a.push(o(l)*h);for(l=0;a[l]<u;l++);for(c=a.length;a[c-1]>s;c--);a=a.slice(l,c)}return a},a.tickFormat=function(t,e){if(!arguments.length)return wl;arguments.length<2?e=wl:"function"!=typeof e&&(e=ru.format(e));var r,u=Math.max(.1,t/a.ticks().length),s=n?(r=1e-12,Math.ceil):(r=-1e-12,Math.floor);return function(t){return t/o(s(i(t)+r))<=u?e(t):""}},a.copy=function(){return Qo(t.copy(),e,n,r)},Wo(a,t)}function ta(t,e,n){function r(e){return t(i(e))}var i=ea(e),o=ea(1/e);return r.invert=function(e){return o(t.invert(e))},r.domain=function(e){return arguments.length?(t.domain((n=e.map(Number)).map(i)),r):n},r.ticks=function(t){return Jo(n,t)},r.tickFormat=function(t,e){return Zo(n,t,e)},r.nice=function(t){return r.domain(Yo(n,t))},r.exponent=function(a){return arguments.length?(i=ea(e=a),o=ea(1/e),t.domain(n.map(i)),r):e},r.copy=function(){return ta(t.copy(),e,n)},Wo(r,t)}function ea(t){return function(e){return 0>e?-Math.pow(-e,t):Math.pow(e,t)}}function na(t,e){function n(n){return o[((i.get(n)||("range"===e.t?i.set(n,t.push(n)):0/0))-1)%o.length]}function r(e,n){return ru.range(t.length).map(function(t){return e+n*t})}var i,o,a;return n.domain=function(r){if(!arguments.length)return t;t=[],i=new c;for(var o,a=-1,u=r.length;++a<u;)i.has(o=r[a])||i.set(o,t.push(o));return n[e.t].apply(n,e.a)},n.range=function(t){return arguments.length?(o=t,a=0,e={t:"range",a:arguments},n):o},n.rangePoints=function(i,u){arguments.length<2&&(u=0);var s=i[0],l=i[1],c=t.length<2?(s=(s+l)/2,0):(l-s)/(t.length-1+u);return o=r(s+c*u/2,c),a=0,e={t:"rangePoints",a:arguments},n},n.rangeRoundPoints=function(i,u){arguments.length<2&&(u=0);var s=i[0],l=i[1],c=t.length<2?(s=l=Math.round((s+l)/2),0):(l-s)/(t.length-1+u)|0;return o=r(s+Math.round(c*u/2+(l-s-(t.length-1+u)*c)/2),c),a=0,e={t:"rangeRoundPoints",a:arguments},n},n.rangeBands=function(i,u,s){arguments.length<2&&(u=0),arguments.length<3&&(s=u);var l=i[1]<i[0],c=i[l-0],f=i[1-l],h=(f-c)/(t.length-u+2*s);return o=r(c+h*s,h),l&&o.reverse(),a=h*(1-u),e={t:"rangeBands",a:arguments},n},n.rangeRoundBands=function(i,u,s){arguments.length<2&&(u=0),arguments.length<3&&(s=u);var l=i[1]<i[0],c=i[l-0],f=i[1-l],h=Math.floor((f-c)/(t.length-u+2*s));return o=r(c+Math.round((f-c-(t.length-u)*h)/2),h),l&&o.reverse(),a=Math.round(h*(1-u)),e={t:"rangeRoundBands",a:arguments},n},n.rangeBand=function(){return a},n.rangeExtent=function(){return Io(e.a[0])},n.copy=function(){return na(t,e)},n.domain(t)}function ra(t,e){function n(){var n=0,r=e.length;for(u=[];++n<r;)u[n-1]=ru.quantile(t,n/r);return a}function a(t){return isNaN(t=+t)?void 0:e[ru.bisect(u,t)]}var u;return a.domain=function(e){return arguments.length?(t=e.map(i).filter(o).sort(r),n()):t},a.range=function(t){return arguments.length?(e=t,n()):e},a.quantiles=function(){return u},a.invertExtent=function(n){return n=e.indexOf(n),0>n?[0/0,0/0]:[n>0?u[n-1]:t[0],n<u.length?u[n]:t[t.length-1]]},a.copy=function(){return ra(t,e)},n()}function ia(t,e,n){function r(e){return n[Math.max(0,Math.min(a,Math.floor(o*(e-t))))]}function i(){return o=n.length/(e-t),a=n.length-1,r}var o,a;return r.domain=function(n){return arguments.length?(t=+n[0],e=+n[n.length-1],i()):[t,e]},r.range=function(t){return arguments.length?(n=t,i()):n},r.invertExtent=function(e){return e=n.indexOf(e),e=0>e?0/0:e/o+t,[e,e+1/o]},r.copy=function(){return ia(t,e,n)},i()}function oa(t,e){function n(n){return n>=n?e[ru.bisect(t,n)]:void 0}return n.domain=function(e){return arguments.length?(t=e,n):t},n.range=function(t){return arguments.length?(e=t,n):e},n.invertExtent=function(n){return n=e.indexOf(n),[t[n-1],t[n]]},n.copy=function(){return oa(t,e)},n}function aa(t){function e(t){return+t}return e.invert=e,e.domain=e.range=function(n){return arguments.length?(t=n.map(e),e):t},e.ticks=function(e){return Jo(t,e)},e.tickFormat=function(e,n){return Zo(t,e,n)},e.copy=function(){return aa(t)},e}function ua(){return 0}function sa(t){return t.innerRadius}function la(t){return t.outerRadius}function ca(t){return t.startAngle}function fa(t){return t.endAngle}function ha(t){return t&&t.padAngle}function pa(t,e,n,r){return(t-n)*e-(e-r)*t>0?0:1}function da(t,e,n,r,i){var o=t[0]-e[0],a=t[1]-e[1],u=(i?r:-r)/Math.sqrt(o*o+a*a),s=u*a,l=-u*o,c=t[0]+s,f=t[1]+l,h=e[0]+s,p=e[1]+l,d=(c+h)/2,g=(f+p)/2,v=h-c,m=p-f,y=v*v+m*m,b=n-r,x=c*p-h*f,w=(0>m?-1:1)*Math.sqrt(b*b*y-x*x),_=(x*m-v*w)/y,M=(-x*v-m*w)/y,k=(x*m+v*w)/y,E=(-x*v+m*w)/y,C=_-d,S=M-g,T=k-d,j=E-g;return C*C+S*S>T*T+j*j&&(_=k,M=E),[[_-s,M-l],[_*n/b,M*n/b]]}function ga(t){function e(data){function e(){s.push("M",o(t(l),u))}for(var a,s=[],l=[],c=-1,f=data.length,h=Se(n),p=Se(r);++c<f;)i.call(this,a=data[c],c)?l.push([+h.call(this,a,c),+p.call(this,a,c)]):l.length&&(e(),l=[]);return l.length&&e(),s.length?s.join(""):null}var n=jr,r=Ar,i=An,o=va,a=o.key,u=.7;return e.x=function(t){return arguments.length?(n=t,e):n},e.y=function(t){return arguments.length?(r=t,e):r},e.defined=function(t){return arguments.length?(i=t,e):i},e.interpolate=function(t){return arguments.length?(a="function"==typeof t?o=t:(o=Tl.get(t)||va).key,e):a},e.tension=function(t){return arguments.length?(u=t,e):u},e}function va(t){return t.join("L")}function ma(t){return va(t)+"Z"}function ya(t){for(var e=0,n=t.length,r=t[0],i=[r[0],",",r[1]];++e<n;)i.push("H",(r[0]+(r=t[e])[0])/2,"V",r[1]);return n>1&&i.push("H",r[0]),i.join("")}function ba(t){for(var e=0,n=t.length,r=t[0],i=[r[0],",",r[1]];++e<n;)i.push("V",(r=t[e])[1],"H",r[0]);return i.join("")}function xa(t){for(var e=0,n=t.length,r=t[0],i=[r[0],",",r[1]];++e<n;)i.push("H",(r=t[e])[0],"V",r[1]);return i.join("")}function wa(t,e){return t.length<4?va(t):t[1]+ka(t.slice(1,-1),Ea(t,e))}function _a(t,e){return t.length<3?va(t):t[0]+ka((t.push(t[0]),t),Ea([t[t.length-2]].concat(t,[t[1]]),e))}function Ma(t,e){return t.length<3?va(t):t[0]+ka(t,Ea(t,e))}function ka(t,e){if(e.length<1||t.length!=e.length&&t.length!=e.length+2)return va(t);var n=t.length!=e.length,r="",i=t[0],o=t[1],a=e[0],u=a,s=1;if(n&&(r+="Q"+(o[0]-2*a[0]/3)+","+(o[1]-2*a[1]/3)+","+o[0]+","+o[1],i=t[1],s=2),e.length>1){u=e[1],o=t[s],s++,r+="C"+(i[0]+a[0])+","+(i[1]+a[1])+","+(o[0]-u[0])+","+(o[1]-u[1])+","+o[0]+","+o[1];for(var l=2;l<e.length;l++,s++)o=t[s],u=e[l],r+="S"+(o[0]-u[0])+","+(o[1]-u[1])+","+o[0]+","+o[1]}if(n){var c=t[s];r+="Q"+(o[0]+2*u[0]/3)+","+(o[1]+2*u[1]/3)+","+c[0]+","+c[1]}return r}function Ea(t,e){for(var n,r=[],i=(1-e)/2,o=t[0],a=t[1],u=1,s=t.length;++u<s;)n=o,o=a,a=t[u],r.push([i*(a[0]-n[0]),i*(a[1]-n[1])]);return r}function Ca(t){if(t.length<3)return va(t);var e=1,n=t.length,r=t[0],i=r[0],o=r[1],a=[i,i,i,(r=t[1])[0]],u=[o,o,o,r[1]],s=[i,",",o,"L",Aa(Nl,a),",",Aa(Nl,u)];for(t.push(t[n-1]);++e<=n;)r=t[e],a.shift(),a.push(r[0]),u.shift(),u.push(r[1]),Na(s,a,u);return t.pop(),s.push("L",r),s.join("")}function Sa(t){if(t.length<4)return va(t);for(var e,n=[],r=-1,i=t.length,o=[0],a=[0];++r<3;)e=t[r],o.push(e[0]),a.push(e[1]);for(n.push(Aa(Nl,o)+","+Aa(Nl,a)),--r;++r<i;)e=t[r],o.shift(),o.push(e[0]),a.shift(),a.push(e[1]),Na(n,o,a);return n.join("")}function Ta(t){for(var e,n,r=-1,i=t.length,o=i+4,a=[],u=[];++r<4;)n=t[r%i],a.push(n[0]),u.push(n[1]);for(e=[Aa(Nl,a),",",Aa(Nl,u)],--r;++r<o;)n=t[r%i],a.shift(),a.push(n[0]),u.shift(),u.push(n[1]),Na(e,a,u);return e.join("")}function ja(t,e){var n=t.length-1;if(n)for(var r,i,o=t[0][0],a=t[0][1],u=t[n][0]-o,s=t[n][1]-a,l=-1;++l<=n;)r=t[l],i=l/n,r[0]=e*r[0]+(1-e)*(o+i*u),r[1]=e*r[1]+(1-e)*(a+i*s);return Ca(t)}function Aa(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]}function Na(t,e,n){t.push("C",Aa(jl,e),",",Aa(jl,n),",",Aa(Al,e),",",Aa(Al,n),",",Aa(Nl,e),",",Aa(Nl,n))}function Oa(t,e){return(e[1]-t[1])/(e[0]-t[0])}function qa(t){for(var e=0,n=t.length-1,r=[],i=t[0],o=t[1],a=r[0]=Oa(i,o);++e<n;)r[e]=(a+(a=Oa(i=o,o=t[e+1])))/2;return r[e]=a,r}function Da(t){for(var e,n,r,i,o=[],a=qa(t),u=-1,s=t.length-1;++u<s;)e=Oa(t[u],t[u+1]),gu(e)<Nu?a[u]=a[u+1]=0:(n=a[u]/e,r=a[u+1]/e,i=n*n+r*r,i>9&&(i=3*e/Math.sqrt(i),a[u]=i*n,a[u+1]=i*r));for(u=-1;++u<=s;)i=(t[Math.min(s,u+1)][0]-t[Math.max(0,u-1)][0])/(6*(1+a[u]*a[u])),o.push([i||0,a[u]*i||0]);return o}function La(t){return t.length<3?va(t):t[0]+ka(t,Da(t))}function Fa(t){for(var e,n,r,i=-1,o=t.length;++i<o;)e=t[i],n=e[0],r=e[1]-Fu,e[0]=n*Math.cos(r),e[1]=n*Math.sin(r);return t}function za(t){function e(data){function e(){d.push("M",u(t(v),f),c,l(t(g.reverse()),f),"Z")}for(var s,h,p,d=[],g=[],v=[],m=-1,y=data.length,b=Se(n),x=Se(i),w=n===r?function(){return h}:Se(r),_=i===o?function(){return p}:Se(o);++m<y;)a.call(this,s=data[m],m)?(g.push([h=+b.call(this,s,m),p=+x.call(this,s,m)]),v.push([+w.call(this,s,m),+_.call(this,s,m)])):g.length&&(e(),g=[],v=[]);return g.length&&e(),d.length?d.join(""):null}var n=jr,r=jr,i=0,o=Ar,a=An,u=va,s=u.key,l=u,c="L",f=.7;return e.x=function(t){return arguments.length?(n=r=t,e):r},e.x0=function(t){return arguments.length?(n=t,e):n},e.x1=function(t){return arguments.length?(r=t,e):r},e.y=function(t){return arguments.length?(i=o=t,e):o},e.y0=function(t){return arguments.length?(i=t,e):i},e.y1=function(t){return arguments.length?(o=t,e):o},e.defined=function(t){return arguments.length?(a=t,e):a},e.interpolate=function(t){return arguments.length?(s="function"==typeof t?u=t:(u=Tl.get(t)||va).key,l=u.reverse||u,c=u.closed?"M":"L",e):s},e.tension=function(t){return arguments.length?(f=t,e):f},e}function Ra(t){return t.radius}function Ia(t){return[t.x,t.y]}function Pa(t){return function(){var e=t.apply(this,arguments),n=e[0],r=e[1]-Fu;return[n*Math.cos(r),n*Math.sin(r)]}}function Ha(){return 64}function Ba(){return"circle"}function $a(t){var e=Math.sqrt(t/qu);return"M0,"+e+"A"+e+","+e+" 0 1,1 0,"+-e+"A"+e+","+e+" 0 1,1 0,"+e+"Z"}function Va(t){return function(){var e,n;(e=this[t])&&(n=e[e.active])&&(--e.count?delete e[e.active]:delete this[t],e.active+=.5,n.event&&n.event.interrupt.call(this,this.__data__,n.index))}}function Ua(t,e,n){return xu(t,Rl),t.namespace=e,t.id=n,t}function Wa(t,e,n,r){var i=t.id,o=t.namespace;return V(t,"function"==typeof n?function(t,a,u){t[o][i].tween.set(e,r(n.call(t,t.__data__,a,u)))}:(n=r(n),function(t){t[o][i].tween.set(e,n)}))}function Ya(t){return null==t&&(t=""),function(){this.textContent=t}}function Xa(t){return null==t?"__transition__":"__transition_"+t+"__"}function Ja(t,e,n,r,i){var o=t[n]||(t[n]={active:0,count:0}),a=o[r];if(!a){var u=i.time;a=o[r]={tween:new c,time:u,delay:i.delay,duration:i.duration,ease:i.ease,index:e},i=null,++o.count,ru.timer(function(i){function s(n){if(o.active>r)return c();var i=o[o.active];i&&(--o.count,delete o[o.active],i.event&&i.event.interrupt.call(t,t.__data__,i.index)),o.active=r,a.event&&a.event.start.call(t,t.__data__,e),a.tween.forEach(function(n,r){(r=r.call(t,t.__data__,e))&&g.push(r)}),h=a.ease,f=a.duration,ru.timer(function(){return d.c=l(n||1)?An:l,1},0,u)}function l(n){if(o.active!==r)return 1;for(var i=n/f,u=h(i),s=g.length;s>0;)g[--s].call(t,u);return i>=1?(a.event&&a.event.end.call(t,t.__data__,e),c()):void 0}function c(){return--o.count?delete o[r]:delete t[n],1}var f,h,p=a.delay,d=is,g=[];return d.t=p+u,i>=p?s(i-p):void(d.c=s)},0,u)}}function Za(t,e,n){t.attr("transform",function(t){var r=e(t);return"translate("+(isFinite(r)?r:n(t))+",0)"})}function Ka(t,e,n){t.attr("transform",function(t){var r=e(t);return"translate(0,"+(isFinite(r)?r:n(t))+")"})}function Ga(t){return t.toISOString()}function Qa(t,e,n){function r(e){return t(e)}function i(t,n){var r=t[1]-t[0],i=r/n,o=ru.bisect(Yl,i);return o==Yl.length?[e.year,Xo(t.map(function(t){return t/31536e6}),n)[2]]:o?e[i/Yl[o-1]<Yl[o]/i?o-1:o]:[Zl,Xo(t,n)[2]]}return r.invert=function(e){return tu(t.invert(e))},r.domain=function(e){return arguments.length?(t.domain(e),r):t.domain().map(tu)},r.nice=function(t,e){function n(n){return!isNaN(n)&&!t.range(n,tu(+n+1),e).length}var o=r.domain(),a=Io(o),u=null==t?i(a,10):"number"==typeof t&&i(a,t);return u&&(t=u[0],e=u[1]),r.domain(Bo(o,e>1?{floor:function(e){for(;n(e=t.floor(e));)e=tu(e-1);return e},ceil:function(e){for(;n(e=t.ceil(e));)e=tu(+e+1);return e}}:t))},r.ticks=function(t,e){var n=Io(r.domain()),o=null==t?i(n,10):"number"==typeof t?i(n,t):!t.range&&[{range:t},e];return o&&(t=o[0],e=o[1]),t.range(n[0],tu(+n[1]+1),1>e?1:e)},r.tickFormat=function(){return n},r.copy=function(){return Qa(t.copy(),e,n)},Wo(r,t)}function tu(t){return new Date(t)}function eu(t){return JSON.parse(t.responseText)}function nu(t){var e=au.createRange();return e.selectNode(au.body),e.createContextualFragment(t.responseText)}var ru={version:"3.5.5"},iu=[].slice,ou=function(t){return iu.call(t)},au=this.document;if(au)try{ou(au.documentElement.childNodes)[0].nodeType}catch(uu){ou=function(t){for(var e=t.length,n=new Array(e);e--;)n[e]=t[e];return n}}if(Date.now||(Date.now=function(){return+new Date}),au)try{au.createElement("DIV").style.setProperty("opacity",0,"")}catch(su){var lu=this.Element.prototype,cu=lu.setAttribute,fu=lu.setAttributeNS,hu=this.CSSStyleDeclaration.prototype,pu=hu.setProperty;lu.setAttribute=function(t,e){cu.call(this,t,e+"")},lu.setAttributeNS=function(t,e,n){fu.call(this,t,e,n+"")},hu.setProperty=function(t,e,n){pu.call(this,t,e+"",n)}}ru.ascending=r,ru.descending=function(t,e){return t>e?-1:e>t?1:e>=t?0:0/0},ru.min=function(t,e){var n,r,i=-1,o=t.length;if(1===arguments.length){for(;++i<o;)if(null!=(r=t[i])&&r>=r){n=r;break}for(;++i<o;)null!=(r=t[i])&&n>r&&(n=r)}else{for(;++i<o;)if(null!=(r=e.call(t,t[i],i))&&r>=r){n=r;break}for(;++i<o;)null!=(r=e.call(t,t[i],i))&&n>r&&(n=r)}return n},ru.max=function(t,e){var n,r,i=-1,o=t.length;if(1===arguments.length){for(;++i<o;)if(null!=(r=t[i])&&r>=r){n=r;break}for(;++i<o;)null!=(r=t[i])&&r>n&&(n=r)}else{for(;++i<o;)if(null!=(r=e.call(t,t[i],i))&&r>=r){n=r;break}for(;++i<o;)null!=(r=e.call(t,t[i],i))&&r>n&&(n=r)}return n},ru.extent=function(t,e){var n,r,i,o=-1,a=t.length;
+if(1===arguments.length){for(;++o<a;)if(null!=(r=t[o])&&r>=r){n=i=r;break}for(;++o<a;)null!=(r=t[o])&&(n>r&&(n=r),r>i&&(i=r))}else{for(;++o<a;)if(null!=(r=e.call(t,t[o],o))&&r>=r){n=i=r;break}for(;++o<a;)null!=(r=e.call(t,t[o],o))&&(n>r&&(n=r),r>i&&(i=r))}return[n,i]},ru.sum=function(t,e){var n,r=0,i=t.length,a=-1;if(1===arguments.length)for(;++a<i;)o(n=+t[a])&&(r+=n);else for(;++a<i;)o(n=+e.call(t,t[a],a))&&(r+=n);return r},ru.mean=function(t,e){var n,r=0,a=t.length,u=-1,s=a;if(1===arguments.length)for(;++u<a;)o(n=i(t[u]))?r+=n:--s;else for(;++u<a;)o(n=i(e.call(t,t[u],u)))?r+=n:--s;return s?r/s:void 0},ru.quantile=function(t,e){var n=(t.length-1)*e+1,r=Math.floor(n),i=+t[r-1],o=n-r;return o?i+o*(t[r]-i):i},ru.median=function(t,e){var n,a=[],u=t.length,s=-1;if(1===arguments.length)for(;++s<u;)o(n=i(t[s]))&&a.push(n);else for(;++s<u;)o(n=i(e.call(t,t[s],s)))&&a.push(n);return a.length?ru.quantile(a.sort(r),.5):void 0},ru.variance=function(t,e){var n,r,a=t.length,u=0,s=0,l=-1,c=0;if(1===arguments.length)for(;++l<a;)o(n=i(t[l]))&&(r=n-u,u+=r/++c,s+=r*(n-u));else for(;++l<a;)o(n=i(e.call(t,t[l],l)))&&(r=n-u,u+=r/++c,s+=r*(n-u));return c>1?s/(c-1):void 0},ru.deviation=function(){var t=ru.variance.apply(this,arguments);return t?Math.sqrt(t):t};var du=a(r);ru.bisectLeft=du.left,ru.bisect=ru.bisectRight=du.right,ru.bisector=function(t){return a(1===t.length?function(e,n){return r(t(e),n)}:t)},ru.shuffle=function(t,e,n){(o=arguments.length)<3&&(n=t.length,2>o&&(e=0));for(var r,i,o=n-e;o;)i=Math.random()*o--|0,r=t[o+e],t[o+e]=t[i+e],t[i+e]=r;return t},ru.permute=function(t,e){for(var n=e.length,r=new Array(n);n--;)r[n]=t[e[n]];return r},ru.pairs=function(t){for(var e,n=0,r=t.length-1,i=t[0],o=new Array(0>r?0:r);r>n;)o[n]=[e=i,i=t[++n]];return o},ru.zip=function(){if(!(r=arguments.length))return[];for(var t=-1,e=ru.min(arguments,u),n=new Array(e);++t<e;)for(var r,i=-1,o=n[t]=new Array(r);++i<r;)o[i]=arguments[i][t];return n},ru.transpose=function(t){return ru.zip.apply(ru,t)},ru.keys=function(t){var e=[];for(var n in t)e.push(n);return e},ru.values=function(t){var e=[];for(var n in t)e.push(t[n]);return e},ru.entries=function(t){var e=[];for(var n in t)e.push({key:n,value:t[n]});return e},ru.merge=function(t){for(var e,n,r,i=t.length,o=-1,a=0;++o<i;)a+=t[o].length;for(n=new Array(a);--i>=0;)for(r=t[i],e=r.length;--e>=0;)n[--a]=r[e];return n};var gu=Math.abs;ru.range=function(t,e,n){if(arguments.length<3&&(n=1,arguments.length<2&&(e=t,t=0)),(e-t)/n===1/0)throw new Error("infinite range");var r,i=[],o=s(gu(n)),a=-1;if(t*=o,e*=o,n*=o,0>n)for(;(r=t+n*++a)>e;)i.push(r/o);else for(;(r=t+n*++a)<e;)i.push(r/o);return i},ru.map=function(t,e){var n=new c;if(t instanceof c)t.forEach(function(t,e){n.set(t,e)});else if(Array.isArray(t)){var r,i=-1,o=t.length;if(1===arguments.length)for(;++i<o;)n.set(i,t[i]);else for(;++i<o;)n.set(e.call(t,r=t[i],i),r)}else for(var a in t)n.set(a,t[a]);return n};var vu="__proto__",mu="\x00";l(c,{has:p,get:function(t){return this._[f(t)]},set:function(t,e){return this._[f(t)]=e},remove:d,keys:g,values:function(){var t=[];for(var e in this._)t.push(this._[e]);return t},entries:function(){var t=[];for(var e in this._)t.push({key:h(e),value:this._[e]});return t},size:v,empty:m,forEach:function(t){for(var e in this._)t.call(this,h(e),this._[e])}}),ru.nest=function(){function t(e,a,u){if(u>=o.length)return r?r.call(i,a):n?a.sort(n):a;for(var s,l,f,h,p=-1,d=a.length,g=o[u++],v=new c;++p<d;)(h=v.get(s=g(l=a[p])))?h.push(l):v.set(s,[l]);return e?(l=e(),f=function(n,r){l.set(n,t(e,r,u))}):(l={},f=function(n,r){l[n]=t(e,r,u)}),v.forEach(f),l}function e(t,n){if(n>=o.length)return t;var r=[],i=a[n++];return t.forEach(function(t,i){r.push({key:t,values:e(i,n)})}),i?r.sort(function(t,e){return i(t.key,e.key)}):r}var n,r,i={},o=[],a=[];return i.map=function(e,n){return t(n,e,0)},i.entries=function(n){return e(t(ru.map,n,0),0)},i.key=function(t){return o.push(t),i},i.sortKeys=function(t){return a[o.length-1]=t,i},i.sortValues=function(t){return n=t,i},i.rollup=function(t){return r=t,i},i},ru.set=function(t){var e=new y;if(t)for(var n=0,r=t.length;r>n;++n)e.add(t[n]);return e},l(y,{has:p,add:function(t){return this._[f(t+="")]=!0,t},remove:d,values:g,size:v,empty:m,forEach:function(t){for(var e in this._)t.call(this,h(e))}}),ru.behavior={},ru.rebind=function(t,e){for(var n,r=1,i=arguments.length;++r<i;)t[n=arguments[r]]=x(t,e,e[n]);return t};var yu=["webkit","ms","moz","Moz","o","O"];ru.dispatch=function(){for(var t=new M,e=-1,n=arguments.length;++e<n;)t[arguments[e]]=k(t);return t},M.prototype.on=function(t,e){var n=t.indexOf("."),r="";if(n>=0&&(r=t.slice(n+1),t=t.slice(0,n)),t)return arguments.length<2?this[t].on(r):this[t].on(r,e);if(2===arguments.length){if(null==e)for(t in this)this.hasOwnProperty(t)&&this[t].on(r,null);return this}},ru.event=null,ru.requote=function(t){return t.replace(bu,"\\$&")};var bu=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,xu={}.__proto__?function(t,e){t.__proto__=e}:function(t,e){for(var n in e)t[n]=e[n]},wu=function(t,e){return e.querySelector(t)},_u=function(t,e){return e.querySelectorAll(t)},Mu=function(t,e){var n=t.matches||t[w(t,"matchesSelector")];return(Mu=function(t,e){return n.call(t,e)})(t,e)};"function"==typeof Sizzle&&(wu=function(t,e){return Sizzle(t,e)[0]||null},_u=Sizzle,Mu=Sizzle.matchesSelector),ru.selection=function(){return ru.select(au.documentElement)};var ku=ru.selection.prototype=[];ku.select=function(t){var e,n,r,i,o=[];t=j(t);for(var a=-1,u=this.length;++a<u;){o.push(e=[]),e.parentNode=(r=this[a]).parentNode;for(var s=-1,l=r.length;++s<l;)(i=r[s])?(e.push(n=t.call(i,i.__data__,s,a)),n&&"__data__"in i&&(n.__data__=i.__data__)):e.push(null)}return T(o)},ku.selectAll=function(t){var e,n,r=[];t=A(t);for(var i=-1,o=this.length;++i<o;)for(var a=this[i],u=-1,s=a.length;++u<s;)(n=a[u])&&(r.push(e=ou(t.call(n,n.__data__,u,i))),e.parentNode=n);return T(r)};var Eu={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};ru.ns={prefix:Eu,qualify:function(t){var e=t.indexOf(":"),n=t;return e>=0&&(n=t.slice(0,e),t=t.slice(e+1)),Eu.hasOwnProperty(n)?{space:Eu[n],local:t}:t}},ku.attr=function(t,e){if(arguments.length<2){if("string"==typeof t){var n=this.node();return t=ru.ns.qualify(t),t.local?n.getAttributeNS(t.space,t.local):n.getAttribute(t)}for(e in t)this.each(N(e,t[e]));return this}return this.each(N(t,e))},ku.classed=function(t,e){if(arguments.length<2){if("string"==typeof t){var n=this.node(),r=(t=D(t)).length,i=-1;if(e=n.classList){for(;++i<r;)if(!e.contains(t[i]))return!1}else for(e=n.getAttribute("class");++i<r;)if(!q(t[i]).test(e))return!1;return!0}for(e in t)this.each(L(e,t[e]));return this}return this.each(L(t,e))},ku.style=function(t,e,r){var i=arguments.length;if(3>i){if("string"!=typeof t){2>i&&(e="");for(r in t)this.each(z(r,t[r],e));return this}if(2>i){var o=this.node();return n(o).getComputedStyle(o,null).getPropertyValue(t)}r=""}return this.each(z(t,e,r))},ku.property=function(t,e){if(arguments.length<2){if("string"==typeof t)return this.node()[t];for(e in t)this.each(R(e,t[e]));return this}return this.each(R(t,e))},ku.text=function(t){return arguments.length?this.each("function"==typeof t?function(){var e=t.apply(this,arguments);this.textContent=null==e?"":e}:null==t?function(){this.textContent=""}:function(){this.textContent=t}):this.node().textContent},ku.html=function(t){return arguments.length?this.each("function"==typeof t?function(){var e=t.apply(this,arguments);this.innerHTML=null==e?"":e}:null==t?function(){this.innerHTML=""}:function(){this.innerHTML=t}):this.node().innerHTML},ku.append=function(t){return t=I(t),this.select(function(){return this.appendChild(t.apply(this,arguments))})},ku.insert=function(t,e){return t=I(t),e=j(e),this.select(function(){return this.insertBefore(t.apply(this,arguments),e.apply(this,arguments)||null)})},ku.remove=function(){return this.each(P)},ku.data=function(t,e){function n(t,n){var r,i,o,a=t.length,f=n.length,h=Math.min(a,f),p=new Array(f),d=new Array(f),g=new Array(a);if(e){var v,m=new c,y=new Array(a);for(r=-1;++r<a;)m.has(v=e.call(i=t[r],i.__data__,r))?g[r]=i:m.set(v,i),y[r]=v;for(r=-1;++r<f;)(i=m.get(v=e.call(n,o=n[r],r)))?i!==!0&&(p[r]=i,i.__data__=o):d[r]=H(o),m.set(v,!0);for(r=-1;++r<a;)m.get(y[r])!==!0&&(g[r]=t[r])}else{for(r=-1;++r<h;)i=t[r],o=n[r],i?(i.__data__=o,p[r]=i):d[r]=H(o);for(;f>r;++r)d[r]=H(n[r]);for(;a>r;++r)g[r]=t[r]}d.update=p,d.parentNode=p.parentNode=g.parentNode=t.parentNode,u.push(d),s.push(p),l.push(g)}var r,i,o=-1,a=this.length;if(!arguments.length){for(t=new Array(a=(r=this[0]).length);++o<a;)(i=r[o])&&(t[o]=i.__data__);return t}var u=U([]),s=T([]),l=T([]);if("function"==typeof t)for(;++o<a;)n(r=this[o],t.call(r,r.parentNode.__data__,o));else for(;++o<a;)n(r=this[o],t);return s.enter=function(){return u},s.exit=function(){return l},s},ku.datum=function(t){return arguments.length?this.property("__data__",t):this.property("__data__")},ku.filter=function(t){var e,n,r,i=[];"function"!=typeof t&&(t=B(t));for(var o=0,a=this.length;a>o;o++){i.push(e=[]),e.parentNode=(n=this[o]).parentNode;for(var u=0,s=n.length;s>u;u++)(r=n[u])&&t.call(r,r.__data__,u,o)&&e.push(r)}return T(i)},ku.order=function(){for(var t=-1,e=this.length;++t<e;)for(var n,r=this[t],i=r.length-1,o=r[i];--i>=0;)(n=r[i])&&(o&&o!==n.nextSibling&&o.parentNode.insertBefore(n,o),o=n);return this},ku.sort=function(t){t=$.apply(this,arguments);for(var e=-1,n=this.length;++e<n;)this[e].sort(t);return this.order()},ku.each=function(t){return V(this,function(e,n,r){t.call(e,e.__data__,n,r)})},ku.call=function(t){var e=ou(arguments);return t.apply(e[0]=this,e),this},ku.empty=function(){return!this.node()},ku.node=function(){for(var t=0,e=this.length;e>t;t++)for(var n=this[t],r=0,i=n.length;i>r;r++){var o=n[r];if(o)return o}return null},ku.size=function(){var t=0;return V(this,function(){++t}),t};var Cu=[];ru.selection.enter=U,ru.selection.enter.prototype=Cu,Cu.append=ku.append,Cu.empty=ku.empty,Cu.node=ku.node,Cu.call=ku.call,Cu.size=ku.size,Cu.select=function(t){for(var e,n,r,i,o,a=[],u=-1,s=this.length;++u<s;){r=(i=this[u]).update,a.push(e=[]),e.parentNode=i.parentNode;for(var l=-1,c=i.length;++l<c;)(o=i[l])?(e.push(r[l]=n=t.call(i.parentNode,o.__data__,l,u)),n.__data__=o.__data__):e.push(null)}return T(a)},Cu.insert=function(t,e){return arguments.length<2&&(e=W(this)),ku.insert.call(this,t,e)},ru.select=function(e){var n;return"string"==typeof e?(n=[wu(e,au)],n.parentNode=au.documentElement):(n=[e],n.parentNode=t(e)),T([n])},ru.selectAll=function(t){var e;return"string"==typeof t?(e=ou(_u(t,au)),e.parentNode=au.documentElement):(e=t,e.parentNode=null),T([e])},ku.on=function(t,e,n){var r=arguments.length;if(3>r){if("string"!=typeof t){2>r&&(e=!1);for(n in t)this.each(Y(n,t[n],e));return this}if(2>r)return(r=this.node()["__on"+t])&&r._;n=!1}return this.each(Y(t,e,n))};var Su=ru.map({mouseenter:"mouseover",mouseleave:"mouseout"});au&&Su.forEach(function(t){"on"+t in au&&Su.remove(t)});var Tu,ju=0;ru.mouse=function(t){return K(t,C())};var Au=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;ru.touch=function(t,e,n){if(arguments.length<3&&(n=e,e=C().changedTouches),e)for(var r,i=0,o=e.length;o>i;++i)if((r=e[i]).identifier===n)return K(t,r)},ru.behavior.drag=function(){function t(){this.on("mousedown.drag",o).on("touchstart.drag",a)}function e(t,e,n,o,a){return function(){function u(){var t,n,r=e(h,g);r&&(t=r[0]-b[0],n=r[1]-b[1],d|=t|n,b=r,p({type:"drag",x:r[0]+l[0],y:r[1]+l[1],dx:t,dy:n}))}function s(){e(h,g)&&(m.on(o+v,null).on(a+v,null),y(d&&ru.event.target===f),p({type:"dragend"}))}var l,c=this,f=ru.event.target,h=c.parentNode,p=r.of(c,arguments),d=0,g=t(),v=".drag"+(null==g?"":"-"+g),m=ru.select(n(f)).on(o+v,u).on(a+v,s),y=Z(f),b=e(h,g);i?(l=i.apply(c,arguments),l=[l.x-b[0],l.y-b[1]]):l=[0,0],p({type:"dragstart"})}}var r=S(t,"drag","dragstart","dragend"),i=null,o=e(_,ru.mouse,n,"mousemove","mouseup"),a=e(G,ru.touch,b,"touchmove","touchend");return t.origin=function(e){return arguments.length?(i=e,t):i},ru.rebind(t,r,"on")},ru.touches=function(t,e){return arguments.length<2&&(e=C().touches),e?ou(e).map(function(e){var n=K(t,e);return n.identifier=e.identifier,n}):[]};var Nu=1e-6,Ou=Nu*Nu,qu=Math.PI,Du=2*qu,Lu=Du-Nu,Fu=qu/2,zu=qu/180,Ru=180/qu,Iu=Math.SQRT2,Pu=2,Hu=4;ru.interpolateZoom=function(t,e){function n(t){var e=t*y;if(m){var n=ie(g),a=o/(Pu*h)*(n*oe(Iu*e+g)-re(g));return[r+a*l,i+a*c,o*n/ie(Iu*e+g)]}return[r+t*l,i+t*c,o*Math.exp(Iu*e)]}var r=t[0],i=t[1],o=t[2],a=e[0],u=e[1],s=e[2],l=a-r,c=u-i,f=l*l+c*c,h=Math.sqrt(f),p=(s*s-o*o+Hu*f)/(2*o*Pu*h),d=(s*s-o*o-Hu*f)/(2*s*Pu*h),g=Math.log(Math.sqrt(p*p+1)-p),v=Math.log(Math.sqrt(d*d+1)-d),m=v-g,y=(m||Math.log(s/o))/Iu;return n.duration=1e3*y,n},ru.behavior.zoom=function(){function t(t){t.on(N,f).on($u+".zoom",p).on("dblclick.zoom",d).on(D,h)}function e(t){return[(t[0]-k.x)/k.k,(t[1]-k.y)/k.k]}function r(t){return[t[0]*k.k+k.x,t[1]*k.k+k.y]}function i(t){k.k=Math.max(T[0],Math.min(T[1],t))}function o(t,e){e=r(e),k.x+=t[0]-e[0],k.y+=t[1]-e[1]}function a(e,n,r,a){e.__chart__={x:k.x,y:k.y,k:k.k},i(Math.pow(2,a)),o(v=n,r),e=ru.select(e),j>0&&(e=e.transition().duration(j)),e.call(t.event)}function u(){w&&w.domain(x.range().map(function(t){return(t-k.x)/k.k}).map(x.invert)),M&&M.domain(_.range().map(function(t){return(t-k.y)/k.k}).map(_.invert))}function s(t){A++||t({type:"zoomstart"})}function l(t){u(),t({type:"zoom",scale:k.k,translate:[k.x,k.y]})}function c(t){--A||t({type:"zoomend"}),v=null}function f(){function t(){f=1,o(ru.mouse(i),p),l(u)}function r(){h.on(O,null).on(q,null),d(f&&ru.event.target===a),c(u)}var i=this,a=ru.event.target,u=L.of(i,arguments),f=0,h=ru.select(n(i)).on(O,t).on(q,r),p=e(ru.mouse(i)),d=Z(i);zl.call(i),s(u)}function h(){function t(){var t=ru.touches(d);return p=k.k,t.forEach(function(t){t.identifier in v&&(v[t.identifier]=e(t))}),t}function n(){var e=ru.event.target;ru.select(e).on(x,r).on(w,u),_.push(e);for(var n=ru.event.changedTouches,i=0,o=n.length;o>i;++i)v[n[i].identifier]=null;var s=t(),l=Date.now();if(1===s.length){if(500>l-b){var c=s[0];a(d,c,v[c.identifier],Math.floor(Math.log(k.k)/Math.LN2)+1),E()}b=l}else if(s.length>1){var c=s[0],f=s[1],h=c[0]-f[0],p=c[1]-f[1];m=h*h+p*p}}function r(){var t,e,n,r,a=ru.touches(d);zl.call(d);for(var u=0,s=a.length;s>u;++u,r=null)if(n=a[u],r=v[n.identifier]){if(e)break;t=n,e=r}if(r){var c=(c=n[0]-t[0])*c+(c=n[1]-t[1])*c,f=m&&Math.sqrt(c/m);t=[(t[0]+n[0])/2,(t[1]+n[1])/2],e=[(e[0]+r[0])/2,(e[1]+r[1])/2],i(f*p)}b=null,o(t,e),l(g)}function u(){if(ru.event.touches.length){for(var e=ru.event.changedTouches,n=0,r=e.length;r>n;++n)delete v[e[n].identifier];for(var i in v)return void t()}ru.selectAll(_).on(y,null),M.on(N,f).on(D,h),C(),c(g)}var p,d=this,g=L.of(d,arguments),v={},m=0,y=".zoom-"+ru.event.changedTouches[0].identifier,x="touchmove"+y,w="touchend"+y,_=[],M=ru.select(d),C=Z(d);n(),s(g),M.on(N,null).on(D,n)}function p(){var t=L.of(this,arguments);y?clearTimeout(y):(g=e(v=m||ru.mouse(this)),zl.call(this),s(t)),y=setTimeout(function(){y=null,c(t)},50),E(),i(Math.pow(2,.002*Bu())*k.k),o(v,g),l(t)}function d(){var t=ru.mouse(this),n=Math.log(k.k)/Math.LN2;a(this,t,e(t),ru.event.shiftKey?Math.ceil(n)-1:Math.floor(n)+1)}var g,v,m,y,b,x,w,_,M,k={x:0,y:0,k:1},C=[960,500],T=Vu,j=250,A=0,N="mousedown.zoom",O="mousemove.zoom",q="mouseup.zoom",D="touchstart.zoom",L=S(t,"zoomstart","zoom","zoomend");return $u||($u="onwheel"in au?(Bu=function(){return-ru.event.deltaY*(ru.event.deltaMode?120:1)},"wheel"):"onmousewheel"in au?(Bu=function(){return ru.event.wheelDelta},"mousewheel"):(Bu=function(){return-ru.event.detail},"MozMousePixelScroll")),t.event=function(t){t.each(function(){var t=L.of(this,arguments),e=k;Ll?ru.select(this).transition().each("start.zoom",function(){k=this.__chart__||{x:0,y:0,k:1},s(t)}).tween("zoom:zoom",function(){var n=C[0],r=C[1],i=v?v[0]:n/2,o=v?v[1]:r/2,a=ru.interpolateZoom([(i-k.x)/k.k,(o-k.y)/k.k,n/k.k],[(i-e.x)/e.k,(o-e.y)/e.k,n/e.k]);return function(e){var r=a(e),u=n/r[2];this.__chart__=k={x:i-r[0]*u,y:o-r[1]*u,k:u},l(t)}}).each("interrupt.zoom",function(){c(t)}).each("end.zoom",function(){c(t)}):(this.__chart__=k,s(t),l(t),c(t))})},t.translate=function(e){return arguments.length?(k={x:+e[0],y:+e[1],k:k.k},u(),t):[k.x,k.y]},t.scale=function(e){return arguments.length?(k={x:k.x,y:k.y,k:+e},u(),t):k.k},t.scaleExtent=function(e){return arguments.length?(T=null==e?Vu:[+e[0],+e[1]],t):T},t.center=function(e){return arguments.length?(m=e&&[+e[0],+e[1]],t):m},t.size=function(e){return arguments.length?(C=e&&[+e[0],+e[1]],t):C},t.duration=function(e){return arguments.length?(j=+e,t):j},t.x=function(e){return arguments.length?(w=e,x=e.copy(),k={x:0,y:0,k:1},t):w},t.y=function(e){return arguments.length?(M=e,_=e.copy(),k={x:0,y:0,k:1},t):M},ru.rebind(t,L,"on")};var Bu,$u,Vu=[0,1/0];ru.color=ue,ue.prototype.toString=function(){return this.rgb()+""},ru.hsl=se;var Uu=se.prototype=new ue;Uu.brighter=function(t){return t=Math.pow(.7,arguments.length?t:1),new se(this.h,this.s,this.l/t)},Uu.darker=function(t){return t=Math.pow(.7,arguments.length?t:1),new se(this.h,this.s,t*this.l)},Uu.rgb=function(){return le(this.h,this.s,this.l)},ru.hcl=ce;var Wu=ce.prototype=new ue;Wu.brighter=function(t){return new ce(this.h,this.c,Math.min(100,this.l+Yu*(arguments.length?t:1)))},Wu.darker=function(t){return new ce(this.h,this.c,Math.max(0,this.l-Yu*(arguments.length?t:1)))},Wu.rgb=function(){return fe(this.h,this.c,this.l).rgb()},ru.lab=he;var Yu=18,Xu=.95047,Ju=1,Zu=1.08883,Ku=he.prototype=new ue;Ku.brighter=function(t){return new he(Math.min(100,this.l+Yu*(arguments.length?t:1)),this.a,this.b)},Ku.darker=function(t){return new he(Math.max(0,this.l-Yu*(arguments.length?t:1)),this.a,this.b)},Ku.rgb=function(){return pe(this.l,this.a,this.b)},ru.rgb=ye;var Gu=ye.prototype=new ue;Gu.brighter=function(t){t=Math.pow(.7,arguments.length?t:1);var e=this.r,n=this.g,r=this.b,i=30;return e||n||r?(e&&i>e&&(e=i),n&&i>n&&(n=i),r&&i>r&&(r=i),new ye(Math.min(255,e/t),Math.min(255,n/t),Math.min(255,r/t))):new ye(i,i,i)},Gu.darker=function(t){return t=Math.pow(.7,arguments.length?t:1),new ye(t*this.r,t*this.g,t*this.b)},Gu.hsl=function(){return Me(this.r,this.g,this.b)},Gu.toString=function(){return"#"+we(this.r)+we(this.g)+we(this.b)};var Qu=ru.map({aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074});Qu.forEach(function(t,e){Qu.set(t,be(e))}),ru.functor=Se,ru.xhr=Te(b),ru.dsv=function(t,e){function n(t,n,o){arguments.length<3&&(o=n,n=null);var a=je(t,e,null==n?r:i(n),o);return a.row=function(t){return arguments.length?a.response(null==(n=t)?r:i(t)):n},a}function r(t){return n.parse(t.responseText)}function i(t){return function(e){return n.parse(e.responseText,t)}}function o(e){return e.map(a).join(t)}function a(t){return u.test(t)?'"'+t.replace(/\"/g,'""')+'"':t}var u=new RegExp('["'+t+"\n]"),s=t.charCodeAt(0);return n.parse=function(t,e){var r;return n.parseRows(t,function(t,n){if(r)return r(t,n-1);var i=new Function("d","return {"+t.map(function(t,e){return JSON.stringify(t)+": d["+e+"]"}).join(",")+"}");r=e?function(t,n){return e(i(t),n)}:i})},n.parseRows=function(t,e){function n(){if(c>=l)return a;if(i)return i=!1,o;var e=c;if(34===t.charCodeAt(e)){for(var n=e;n++<l;)if(34===t.charCodeAt(n)){if(34!==t.charCodeAt(n+1))break;++n}c=n+2;var r=t.charCodeAt(n+1);return 13===r?(i=!0,10===t.charCodeAt(n+2)&&++c):10===r&&(i=!0),t.slice(e+1,n).replace(/""/g,'"')}for(;l>c;){var r=t.charCodeAt(c++),u=1;if(10===r)i=!0;else if(13===r)i=!0,10===t.charCodeAt(c)&&(++c,++u);else if(r!==s)continue;return t.slice(e,c-u)}return t.slice(e)}for(var r,i,o={},a={},u=[],l=t.length,c=0,f=0;(r=n())!==a;){for(var h=[];r!==o&&r!==a;)h.push(r),r=n();e&&null==(h=e(h,f++))||u.push(h)}return u},n.format=function(e){if(Array.isArray(e[0]))return n.formatRows(e);var r=new y,i=[];return e.forEach(function(t){for(var e in t)r.has(e)||i.push(r.add(e))}),[i.map(a).join(t)].concat(e.map(function(e){return i.map(function(t){return a(e[t])}).join(t)})).join("\n")},n.formatRows=function(t){return t.map(o).join("\n")},n},ru.csv=ru.dsv(",","text/csv"),ru.tsv=ru.dsv(" ","text/tab-separated-values");var ts,es,ns,rs,is,os=this[w(this,"requestAnimationFrame")]||function(t){setTimeout(t,17)};ru.timer=function(t,e,n){var r=arguments.length;2>r&&(e=0),3>r&&(n=Date.now());var i=n+e,o={c:t,t:i,f:!1,n:null};es?es.n=o:ts=o,es=o,ns||(rs=clearTimeout(rs),ns=1,os(Oe))},ru.timer.flush=function(){qe(),De()},ru.round=function(t,e){return e?Math.round(t*(e=Math.pow(10,e)))/e:Math.round(t)};var as=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"].map(Fe);ru.formatPrefix=function(t,e){var n=0;return t&&(0>t&&(t*=-1),e&&(t=ru.round(t,Le(t,e))),n=1+Math.floor(1e-12+Math.log(t)/Math.LN10),n=Math.max(-24,Math.min(24,3*Math.floor((n-1)/3)))),as[8+n/3]};var us=/(?:([^{])?([<>=^]))?([+\- ])?([$#])?(0)?(\d+)?(,)?(\.-?\d+)?([a-z%])?/i,ss=ru.map({b:function(t){return t.toString(2)},c:function(t){return String.fromCharCode(t)},o:function(t){return t.toString(8)},x:function(t){return t.toString(16)},X:function(t){return t.toString(16).toUpperCase()},g:function(t,e){return t.toPrecision(e)},e:function(t,e){return t.toExponential(e)},f:function(t,e){return t.toFixed(e)},r:function(t,e){return(t=ru.round(t,Le(t,e))).toFixed(Math.max(0,Math.min(20,Le(t*(1+1e-15),e))))}}),ls=ru.time={},cs=Date;Ie.prototype={getDate:function(){return this._.getUTCDate()},getDay:function(){return this._.getUTCDay()},getFullYear:function(){return this._.getUTCFullYear()},getHours:function(){return this._.getUTCHours()},getMilliseconds:function(){return this._.getUTCMilliseconds()},getMinutes:function(){return this._.getUTCMinutes()},getMonth:function(){return this._.getUTCMonth()},getSeconds:function(){return this._.getUTCSeconds()},getTime:function(){return this._.getTime()},getTimezoneOffset:function(){return 0},valueOf:function(){return this._.valueOf()},setDate:function(){fs.setUTCDate.apply(this._,arguments)},setDay:function(){fs.setUTCDay.apply(this._,arguments)},setFullYear:function(){fs.setUTCFullYear.apply(this._,arguments)},setHours:function(){fs.setUTCHours.apply(this._,arguments)},setMilliseconds:function(){fs.setUTCMilliseconds.apply(this._,arguments)},setMinutes:function(){fs.setUTCMinutes.apply(this._,arguments)},setMonth:function(){fs.setUTCMonth.apply(this._,arguments)},setSeconds:function(){fs.setUTCSeconds.apply(this._,arguments)},setTime:function(){fs.setTime.apply(this._,arguments)}};var fs=Date.prototype;ls.year=Pe(function(t){return t=ls.day(t),t.setMonth(0,1),t},function(t,e){t.setFullYear(t.getFullYear()+e)},function(t){return t.getFullYear()}),ls.years=ls.year.range,ls.years.utc=ls.year.utc.range,ls.day=Pe(function(t){var e=new cs(2e3,0);return e.setFullYear(t.getFullYear(),t.getMonth(),t.getDate()),e},function(t,e){t.setDate(t.getDate()+e)},function(t){return t.getDate()-1}),ls.days=ls.day.range,ls.days.utc=ls.day.utc.range,ls.dayOfYear=function(t){var e=ls.year(t);return Math.floor((t-e-6e4*(t.getTimezoneOffset()-e.getTimezoneOffset()))/864e5)},["sunday","monday","tuesday","wednesday","thursday","friday","saturday"].forEach(function(t,e){e=7-e;var n=ls[t]=Pe(function(t){return(t=ls.day(t)).setDate(t.getDate()-(t.getDay()+e)%7),t},function(t,e){t.setDate(t.getDate()+7*Math.floor(e))},function(t){var n=ls.year(t).getDay();return Math.floor((ls.dayOfYear(t)+(n+e)%7)/7)-(n!==e)});ls[t+"s"]=n.range,ls[t+"s"].utc=n.utc.range,ls[t+"OfYear"]=function(t){var n=ls.year(t).getDay();return Math.floor((ls.dayOfYear(t)+(n+e)%7)/7)}}),ls.week=ls.sunday,ls.weeks=ls.sunday.range,ls.weeks.utc=ls.sunday.utc.range,ls.weekOfYear=ls.sundayOfYear;var hs={"-":"",_:" ",0:"0"},ps=/^\s*\d+/,ds=/^%/;ru.locale=function(t){return{numberFormat:ze(t),timeFormat:Be(t)}};var gs=ru.locale({decimal:".",thousands:",",grouping:[3],currency:["$",""],dateTime:"%a %b %e %X %Y",date:"%m/%d/%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});ru.format=gs.numberFormat,ru.geo={},cn.prototype={s:0,t:0,add:function(t){fn(t,this.t,vs),fn(vs.s,this.s,this),this.s?this.t+=vs.t:this.s=vs.t},reset:function(){this.s=this.t=0},valueOf:function(){return this.s}};var vs=new cn;ru.geo.stream=function(t,e){t&&ms.hasOwnProperty(t.type)?ms[t.type](t,e):hn(t,e)};var ms={Feature:function(t,e){hn(t.geometry,e)},FeatureCollection:function(t,e){for(var n=t.features,r=-1,i=n.length;++r<i;)hn(n[r].geometry,e)}},ys={Sphere:function(t,e){e.sphere()},Point:function(t,e){t=t.coordinates,e.point(t[0],t[1],t[2])},MultiPoint:function(t,e){for(var n=t.coordinates,r=-1,i=n.length;++r<i;)t=n[r],e.point(t[0],t[1],t[2])},LineString:function(t,e){pn(t.coordinates,e,0)},MultiLineString:function(t,e){for(var n=t.coordinates,r=-1,i=n.length;++r<i;)pn(n[r],e,0)},Polygon:function(t,e){dn(t.coordinates,e)},MultiPolygon:function(t,e){for(var n=t.coordinates,r=-1,i=n.length;++r<i;)dn(n[r],e)},GeometryCollection:function(t,e){for(var n=t.geometries,r=-1,i=n.length;++r<i;)hn(n[r],e)}};ru.geo.area=function(t){return bs=0,ru.geo.stream(t,ws),bs};var bs,xs=new cn,ws={sphere:function(){bs+=4*qu},point:_,lineStart:_,lineEnd:_,polygonStart:function(){xs.reset(),ws.lineStart=gn},polygonEnd:function(){var t=2*xs;bs+=0>t?4*qu+t:t,ws.lineStart=ws.lineEnd=ws.point=_}};ru.geo.bounds=function(){function t(t,e){b.push(x=[c=t,h=t]),f>e&&(f=e),e>p&&(p=e)}function e(e,n){var r=vn([e*zu,n*zu]);if(m){var i=yn(m,r),o=[i[1],-i[0],0],a=yn(o,i);wn(a),a=_n(a);var s=e-d,l=s>0?1:-1,g=a[0]*Ru*l,v=gu(s)>180;if(v^(g>l*d&&l*e>g)){var y=a[1]*Ru;y>p&&(p=y)}else if(g=(g+360)%360-180,v^(g>l*d&&l*e>g)){var y=-a[1]*Ru;f>y&&(f=y)}else f>n&&(f=n),n>p&&(p=n);v?d>e?u(c,e)>u(c,h)&&(h=e):u(e,h)>u(c,h)&&(c=e):h>=c?(c>e&&(c=e),e>h&&(h=e)):e>d?u(c,e)>u(c,h)&&(h=e):u(e,h)>u(c,h)&&(c=e)}else t(e,n);m=r,d=e}function n(){w.point=e}function r(){x[0]=c,x[1]=h,w.point=t,m=null}function i(t,n){if(m){var r=t-d;y+=gu(r)>180?r+(r>0?360:-360):r}else g=t,v=n;ws.point(t,n),e(t,n)}function o(){ws.lineStart()}function a(){i(g,v),ws.lineEnd(),gu(y)>Nu&&(c=-(h=180)),x[0]=c,x[1]=h,m=null}function u(t,e){return(e-=t)<0?e+360:e}function s(t,e){return t[0]-e[0]}function l(t,e){return e[0]<=e[1]?e[0]<=t&&t<=e[1]:t<e[0]||e[1]<t}var c,f,h,p,d,g,v,m,y,b,x,w={point:t,lineStart:n,lineEnd:r,polygonStart:function(){w.point=i,w.lineStart=o,w.lineEnd=a,y=0,ws.polygonStart()},polygonEnd:function(){ws.polygonEnd(),w.point=t,w.lineStart=n,w.lineEnd=r,0>xs?(c=-(h=180),f=-(p=90)):y>Nu?p=90:-Nu>y&&(f=-90),x[0]=c,x[1]=h}};return function(t){p=h=-(c=f=1/0),b=[],ru.geo.stream(t,w);var e=b.length;if(e){b.sort(s);for(var n,r=1,i=b[0],o=[i];e>r;++r)n=b[r],l(n[0],i)||l(n[1],i)?(u(i[0],n[1])>u(i[0],i[1])&&(i[1]=n[1]),u(n[0],i[1])>u(i[0],i[1])&&(i[0]=n[0])):o.push(i=n);for(var a,n,d=-1/0,e=o.length-1,r=0,i=o[e];e>=r;i=n,++r)n=o[r],(a=u(i[1],n[0]))>d&&(d=a,c=n[0],h=i[1])}return b=x=null,1/0===c||1/0===f?[[0/0,0/0],[0/0,0/0]]:[[c,f],[h,p]]}}(),ru.geo.centroid=function(t){_s=Ms=ks=Es=Cs=Ss=Ts=js=As=Ns=Os=0,ru.geo.stream(t,qs);var e=As,n=Ns,r=Os,i=e*e+n*n+r*r;return Ou>i&&(e=Ss,n=Ts,r=js,Nu>Ms&&(e=ks,n=Es,r=Cs),i=e*e+n*n+r*r,Ou>i)?[0/0,0/0]:[Math.atan2(n,e)*Ru,ne(r/Math.sqrt(i))*Ru]};var _s,Ms,ks,Es,Cs,Ss,Ts,js,As,Ns,Os,qs={sphere:_,point:kn,lineStart:Cn,lineEnd:Sn,polygonStart:function(){qs.lineStart=Tn},polygonEnd:function(){qs.lineStart=Cn}},Ds=Dn(An,Rn,Pn,[-qu,-qu/2]),Ls=1e9;ru.geo.clipExtent=function(){var t,e,n,r,i,o,a={stream:function(t){return i&&(i.valid=!1),i=o(t),i.valid=!0,i},extent:function(u){return arguments.length?(o=Vn(t=+u[0][0],e=+u[0][1],n=+u[1][0],r=+u[1][1]),i&&(i.valid=!1,i=null),a):[[t,e],[n,r]]}};return a.extent([[0,0],[960,500]])},(ru.geo.conicEqualArea=function(){return Un(Wn)}).raw=Wn,ru.geo.albers=function(){return ru.geo.conicEqualArea().rotate([96,0]).center([-.6,38.7]).parallels([29.5,45.5]).scale(1070)},ru.geo.albersUsa=function(){function t(t){var o=t[0],a=t[1];return e=null,n(o,a),e||(r(o,a),e)||i(o,a),e}var e,n,r,i,o=ru.geo.albers(),a=ru.geo.conicEqualArea().rotate([154,0]).center([-2,58.5]).parallels([55,65]),u=ru.geo.conicEqualArea().rotate([157,0]).center([-3,19.9]).parallels([8,18]),s={point:function(t,n){e=[t,n]}};return t.invert=function(t){var e=o.scale(),n=o.translate(),r=(t[0]-n[0])/e,i=(t[1]-n[1])/e;return(i>=.12&&.234>i&&r>=-.425&&-.214>r?a:i>=.166&&.234>i&&r>=-.214&&-.115>r?u:o).invert(t)},t.stream=function(t){var e=o.stream(t),n=a.stream(t),r=u.stream(t);return{point:function(t,i){e.point(t,i),n.point(t,i),r.point(t,i)},sphere:function(){e.sphere(),n.sphere(),r.sphere()},lineStart:function(){e.lineStart(),n.lineStart(),r.lineStart()},lineEnd:function(){e.lineEnd(),n.lineEnd(),r.lineEnd()},polygonStart:function(){e.polygonStart(),n.polygonStart(),r.polygonStart()},polygonEnd:function(){e.polygonEnd(),n.polygonEnd(),r.polygonEnd()}}},t.precision=function(e){return arguments.length?(o.precision(e),a.precision(e),u.precision(e),t):o.precision()},t.scale=function(e){return arguments.length?(o.scale(e),a.scale(.35*e),u.scale(e),t.translate(o.translate())):o.scale()
+},t.translate=function(e){if(!arguments.length)return o.translate();var l=o.scale(),c=+e[0],f=+e[1];return n=o.translate(e).clipExtent([[c-.455*l,f-.238*l],[c+.455*l,f+.238*l]]).stream(s).point,r=a.translate([c-.307*l,f+.201*l]).clipExtent([[c-.425*l+Nu,f+.12*l+Nu],[c-.214*l-Nu,f+.234*l-Nu]]).stream(s).point,i=u.translate([c-.205*l,f+.212*l]).clipExtent([[c-.214*l+Nu,f+.166*l+Nu],[c-.115*l-Nu,f+.234*l-Nu]]).stream(s).point,t},t.scale(1070)};var Fs,zs,Rs,Is,Ps,Hs,Bs={point:_,lineStart:_,lineEnd:_,polygonStart:function(){zs=0,Bs.lineStart=Yn},polygonEnd:function(){Bs.lineStart=Bs.lineEnd=Bs.point=_,Fs+=gu(zs/2)}},$s={point:Xn,lineStart:_,lineEnd:_,polygonStart:_,polygonEnd:_},Vs={point:Kn,lineStart:Gn,lineEnd:Qn,polygonStart:function(){Vs.lineStart=tr},polygonEnd:function(){Vs.point=Kn,Vs.lineStart=Gn,Vs.lineEnd=Qn}};ru.geo.path=function(){function t(t){return t&&("function"==typeof u&&o.pointRadius(+u.apply(this,arguments)),a&&a.valid||(a=i(o)),ru.geo.stream(t,a)),o.result()}function e(){return a=null,t}var n,r,i,o,a,u=4.5;return t.area=function(t){return Fs=0,ru.geo.stream(t,i(Bs)),Fs},t.centroid=function(t){return ks=Es=Cs=Ss=Ts=js=As=Ns=Os=0,ru.geo.stream(t,i(Vs)),Os?[As/Os,Ns/Os]:js?[Ss/js,Ts/js]:Cs?[ks/Cs,Es/Cs]:[0/0,0/0]},t.bounds=function(t){return Ps=Hs=-(Rs=Is=1/0),ru.geo.stream(t,i($s)),[[Rs,Is],[Ps,Hs]]},t.projection=function(t){return arguments.length?(i=(n=t)?t.stream||rr(t):b,e()):n},t.context=function(t){return arguments.length?(o=null==(r=t)?new Jn:new er(t),"function"!=typeof u&&o.pointRadius(u),e()):r},t.pointRadius=function(e){return arguments.length?(u="function"==typeof e?e:(o.pointRadius(+e),+e),t):u},t.projection(ru.geo.albersUsa()).context(null)},ru.geo.transform=function(t){return{stream:function(e){var n=new ir(e);for(var r in t)n[r]=t[r];return n}}},ir.prototype={point:function(t,e){this.stream.point(t,e)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}},ru.geo.projection=ar,ru.geo.projectionMutator=ur,(ru.geo.equirectangular=function(){return ar(lr)}).raw=lr.invert=lr,ru.geo.rotation=function(t){function e(e){return e=t(e[0]*zu,e[1]*zu),e[0]*=Ru,e[1]*=Ru,e}return t=fr(t[0]%360*zu,t[1]*zu,t.length>2?t[2]*zu:0),e.invert=function(e){return e=t.invert(e[0]*zu,e[1]*zu),e[0]*=Ru,e[1]*=Ru,e},e},cr.invert=lr,ru.geo.circle=function(){function t(){var t="function"==typeof r?r.apply(this,arguments):r,e=fr(-t[0]*zu,-t[1]*zu,0).invert,i=[];return n(null,null,1,{point:function(t,n){i.push(t=e(t,n)),t[0]*=Ru,t[1]*=Ru}}),{type:"Polygon",coordinates:[i]}}var e,n,r=[0,0],i=6;return t.origin=function(e){return arguments.length?(r=e,t):r},t.angle=function(r){return arguments.length?(n=gr((e=+r)*zu,i*zu),t):e},t.precision=function(r){return arguments.length?(n=gr(e*zu,(i=+r)*zu),t):i},t.angle(90)},ru.geo.distance=function(t,e){var n,r=(e[0]-t[0])*zu,i=t[1]*zu,o=e[1]*zu,a=Math.sin(r),u=Math.cos(r),s=Math.sin(i),l=Math.cos(i),c=Math.sin(o),f=Math.cos(o);return Math.atan2(Math.sqrt((n=f*a)*n+(n=l*c-s*f*u)*n),s*c+l*f*u)},ru.geo.graticule=function(){function t(){return{type:"MultiLineString",coordinates:e()}}function e(){return ru.range(Math.ceil(o/v)*v,i,v).map(h).concat(ru.range(Math.ceil(l/m)*m,s,m).map(p)).concat(ru.range(Math.ceil(r/d)*d,n,d).filter(function(t){return gu(t%v)>Nu}).map(c)).concat(ru.range(Math.ceil(u/g)*g,a,g).filter(function(t){return gu(t%m)>Nu}).map(f))}var n,r,i,o,a,u,s,l,c,f,h,p,d=10,g=d,v=90,m=360,y=2.5;return t.lines=function(){return e().map(function(t){return{type:"LineString",coordinates:t}})},t.outline=function(){return{type:"Polygon",coordinates:[h(o).concat(p(s).slice(1),h(i).reverse().slice(1),p(l).reverse().slice(1))]}},t.extent=function(e){return arguments.length?t.majorExtent(e).minorExtent(e):t.minorExtent()},t.majorExtent=function(e){return arguments.length?(o=+e[0][0],i=+e[1][0],l=+e[0][1],s=+e[1][1],o>i&&(e=o,o=i,i=e),l>s&&(e=l,l=s,s=e),t.precision(y)):[[o,l],[i,s]]},t.minorExtent=function(e){return arguments.length?(r=+e[0][0],n=+e[1][0],u=+e[0][1],a=+e[1][1],r>n&&(e=r,r=n,n=e),u>a&&(e=u,u=a,a=e),t.precision(y)):[[r,u],[n,a]]},t.step=function(e){return arguments.length?t.majorStep(e).minorStep(e):t.minorStep()},t.majorStep=function(e){return arguments.length?(v=+e[0],m=+e[1],t):[v,m]},t.minorStep=function(e){return arguments.length?(d=+e[0],g=+e[1],t):[d,g]},t.precision=function(e){return arguments.length?(y=+e,c=mr(u,a,90),f=yr(r,n,y),h=mr(l,s,90),p=yr(o,i,y),t):y},t.majorExtent([[-180,-90+Nu],[180,90-Nu]]).minorExtent([[-180,-80-Nu],[180,80+Nu]])},ru.geo.greatArc=function(){function t(){return{type:"LineString",coordinates:[e||r.apply(this,arguments),n||i.apply(this,arguments)]}}var e,n,r=br,i=xr;return t.distance=function(){return ru.geo.distance(e||r.apply(this,arguments),n||i.apply(this,arguments))},t.source=function(n){return arguments.length?(r=n,e="function"==typeof n?null:n,t):r},t.target=function(e){return arguments.length?(i=e,n="function"==typeof e?null:e,t):i},t.precision=function(){return arguments.length?t:0},t},ru.geo.interpolate=function(t,e){return wr(t[0]*zu,t[1]*zu,e[0]*zu,e[1]*zu)},ru.geo.length=function(t){return Us=0,ru.geo.stream(t,Ws),Us};var Us,Ws={sphere:_,point:_,lineStart:_r,lineEnd:_,polygonStart:_,polygonEnd:_},Ys=Mr(function(t){return Math.sqrt(2/(1+t))},function(t){return 2*Math.asin(t/2)});(ru.geo.azimuthalEqualArea=function(){return ar(Ys)}).raw=Ys;var Xs=Mr(function(t){var e=Math.acos(t);return e&&e/Math.sin(e)},b);(ru.geo.azimuthalEquidistant=function(){return ar(Xs)}).raw=Xs,(ru.geo.conicConformal=function(){return Un(kr)}).raw=kr,(ru.geo.conicEquidistant=function(){return Un(Er)}).raw=Er;var Js=Mr(function(t){return 1/t},Math.atan);(ru.geo.gnomonic=function(){return ar(Js)}).raw=Js,Cr.invert=function(t,e){return[t,2*Math.atan(Math.exp(e))-Fu]},(ru.geo.mercator=function(){return Sr(Cr)}).raw=Cr;var Zs=Mr(function(){return 1},Math.asin);(ru.geo.orthographic=function(){return ar(Zs)}).raw=Zs;var Ks=Mr(function(t){return 1/(1+t)},function(t){return 2*Math.atan(t)});(ru.geo.stereographic=function(){return ar(Ks)}).raw=Ks,Tr.invert=function(t,e){return[-e,2*Math.atan(Math.exp(t))-Fu]},(ru.geo.transverseMercator=function(){var t=Sr(Tr),e=t.center,n=t.rotate;return t.center=function(t){return t?e([-t[1],t[0]]):(t=e(),[t[1],-t[0]])},t.rotate=function(t){return t?n([t[0],t[1],t.length>2?t[2]+90:90]):(t=n(),[t[0],t[1],t[2]-90])},n([0,0,90])}).raw=Tr,ru.geom={},ru.geom.hull=function(t){function e(data){if(data.length<3)return[];var t,e=Se(n),i=Se(r),o=data.length,a=[],u=[];for(t=0;o>t;t++)a.push([+e.call(this,data[t],t),+i.call(this,data[t],t),t]);for(a.sort(Or),t=0;o>t;t++)u.push([a[t][0],-a[t][1]]);var s=Nr(a),l=Nr(u),c=l[0]===s[0],f=l[l.length-1]===s[s.length-1],h=[];for(t=s.length-1;t>=0;--t)h.push(data[a[s[t]][2]]);for(t=+c;t<l.length-f;++t)h.push(data[a[l[t]][2]]);return h}var n=jr,r=Ar;return arguments.length?e(t):(e.x=function(t){return arguments.length?(n=t,e):n},e.y=function(t){return arguments.length?(r=t,e):r},e)},ru.geom.polygon=function(t){return xu(t,Gs),t};var Gs=ru.geom.polygon.prototype=[];Gs.area=function(){for(var t,e=-1,n=this.length,r=this[n-1],i=0;++e<n;)t=r,r=this[e],i+=t[1]*r[0]-t[0]*r[1];return.5*i},Gs.centroid=function(t){var e,n,r=-1,i=this.length,o=0,a=0,u=this[i-1];for(arguments.length||(t=-1/(6*this.area()));++r<i;)e=u,u=this[r],n=e[0]*u[1]-u[0]*e[1],o+=(e[0]+u[0])*n,a+=(e[1]+u[1])*n;return[o*t,a*t]},Gs.clip=function(t){for(var e,n,r,i,o,a,u=Lr(t),s=-1,l=this.length-Lr(this),c=this[l-1];++s<l;){for(e=t.slice(),t.length=0,i=this[s],o=e[(r=e.length-u)-1],n=-1;++n<r;)a=e[n],qr(a,c,i)?(qr(o,c,i)||t.push(Dr(o,a,c,i)),t.push(a)):qr(o,c,i)&&t.push(Dr(o,a,c,i)),o=a;u&&t.push(t[0]),c=i}return t};var Qs,tl,el,nl,rl,il=[],ol=[];$r.prototype.prepare=function(){for(var t,e=this.edges,n=e.length;n--;)t=e[n].edge,t.b&&t.a||e.splice(n,1);return e.sort(Ur),e.length},ei.prototype={start:function(){return this.edge.l===this.site?this.edge.a:this.edge.b},end:function(){return this.edge.l===this.site?this.edge.b:this.edge.a}},ni.prototype={insert:function(t,e){var n,r,i;if(t){if(e.P=t,e.N=t.N,t.N&&(t.N.P=e),t.N=e,t.R){for(t=t.R;t.L;)t=t.L;t.L=e}else t.R=e;n=t}else this._?(t=ai(this._),e.P=null,e.N=t,t.P=t.L=e,n=t):(e.P=e.N=null,this._=e,n=null);for(e.L=e.R=null,e.U=n,e.C=!0,t=e;n&&n.C;)r=n.U,n===r.L?(i=r.R,i&&i.C?(n.C=i.C=!1,r.C=!0,t=r):(t===n.R&&(ii(this,n),t=n,n=t.U),n.C=!1,r.C=!0,oi(this,r))):(i=r.L,i&&i.C?(n.C=i.C=!1,r.C=!0,t=r):(t===n.L&&(oi(this,n),t=n,n=t.U),n.C=!1,r.C=!0,ii(this,r))),n=t.U;this._.C=!1},remove:function(t){t.N&&(t.N.P=t.P),t.P&&(t.P.N=t.N),t.N=t.P=null;var e,n,r,i=t.U,o=t.L,a=t.R;if(n=o?a?ai(a):o:a,i?i.L===t?i.L=n:i.R=n:this._=n,o&&a?(r=n.C,n.C=t.C,n.L=o,o.U=n,n!==a?(i=n.U,n.U=t.U,t=n.R,i.L=t,n.R=a,a.U=n):(n.U=i,i=n,t=n.R)):(r=t.C,t=n),t&&(t.U=i),!r){if(t&&t.C)return void(t.C=!1);do{if(t===this._)break;if(t===i.L){if(e=i.R,e.C&&(e.C=!1,i.C=!0,ii(this,i),e=i.R),e.L&&e.L.C||e.R&&e.R.C){e.R&&e.R.C||(e.L.C=!1,e.C=!0,oi(this,e),e=i.R),e.C=i.C,i.C=e.R.C=!1,ii(this,i),t=this._;break}}else if(e=i.L,e.C&&(e.C=!1,i.C=!0,oi(this,i),e=i.L),e.L&&e.L.C||e.R&&e.R.C){e.L&&e.L.C||(e.R.C=!1,e.C=!0,ii(this,e),e=i.L),e.C=i.C,i.C=e.L.C=!1,oi(this,i),t=this._;break}e.C=!0,t=i,i=i.U}while(!t.C);t&&(t.C=!1)}}},ru.geom.voronoi=function(t){function e(data){var t=new Array(data.length),e=u[0][0],r=u[0][1],i=u[1][0],o=u[1][1];return ui(n(data),u).cells.forEach(function(n,a){var u=n.edges,s=n.site,l=t[a]=u.length?u.map(function(t){var e=t.start();return[e.x,e.y]}):s.x>=e&&s.x<=i&&s.y>=r&&s.y<=o?[[e,o],[i,o],[i,r],[e,r]]:[];l.point=data[a]}),t}function n(data){return data.map(function(t,e){return{x:Math.round(o(t,e)/Nu)*Nu,y:Math.round(a(t,e)/Nu)*Nu,i:e}})}var r=jr,i=Ar,o=r,a=i,u=al;return t?e(t):(e.links=function(data){return ui(n(data)).edges.filter(function(t){return t.l&&t.r}).map(function(t){return{source:data[t.l.i],target:data[t.r.i]}})},e.triangles=function(data){var t=[];return ui(n(data)).cells.forEach(function(e,n){for(var r,i,o=e.site,a=e.edges.sort(Ur),u=-1,s=a.length,l=a[s-1].edge,c=l.l===o?l.r:l.l;++u<s;)r=l,i=c,l=a[u].edge,c=l.l===o?l.r:l.l,n<i.i&&n<c.i&&li(o,i,c)<0&&t.push([data[n],data[i.i],data[c.i]])}),t},e.x=function(t){return arguments.length?(o=Se(r=t),e):r},e.y=function(t){return arguments.length?(a=Se(i=t),e):i},e.clipExtent=function(t){return arguments.length?(u=null==t?al:t,e):u===al?null:u},e.size=function(t){return arguments.length?e.clipExtent(t&&[[0,0],t]):u===al?null:u&&u[1]},e)};var al=[[-1e6,-1e6],[1e6,1e6]];ru.geom.delaunay=function(t){return ru.geom.voronoi().triangles(t)},ru.geom.quadtree=function(t,e,n,r,i){function o(data){function t(t,e,n,r,i,a,u,s){if(!isNaN(n)&&!isNaN(r))if(t.leaf){var l=t.x,c=t.y;if(null!=l)if(gu(l-n)+gu(c-r)<.01)o(t,e,n,r,i,a,u,s);else{var f=t.point;t.x=t.y=t.point=null,o(t,f,l,c,i,a,u,s),o(t,e,n,r,i,a,u,s)}else t.x=n,t.y=r,t.point=e}else o(t,e,n,r,i,a,u,s)}function o(e,n,r,i,o,a,u,s){var l=.5*(o+u),c=.5*(a+s),f=r>=l,h=i>=c,p=h<<1|f;e.leaf=!1,e=e.nodes[p]||(e.nodes[p]=hi()),f?o=l:u=l,h?a=c:s=c,t(e,n,r,i,o,a,u,s)}var l,c,f,h,p,d,g,v,m,y=Se(u),b=Se(s);if(null!=e)d=e,g=n,v=r,m=i;else if(v=m=-(d=g=1/0),c=[],f=[],p=data.length,a)for(h=0;p>h;++h)l=data[h],l.x<d&&(d=l.x),l.y<g&&(g=l.y),l.x>v&&(v=l.x),l.y>m&&(m=l.y),c.push(l.x),f.push(l.y);else for(h=0;p>h;++h){var x=+y(l=data[h],h),w=+b(l,h);d>x&&(d=x),g>w&&(g=w),x>v&&(v=x),w>m&&(m=w),c.push(x),f.push(w)}var _=v-d,M=m-g;_>M?m=g+_:v=d+M;var k=hi();if(k.add=function(e){t(k,e,+y(e,++h),+b(e,h),d,g,v,m)},k.visit=function(t){pi(t,k,d,g,v,m)},k.find=function(t){return di(k,t[0],t[1],d,g,v,m)},h=-1,null==e){for(;++h<p;)t(k,data[h],c[h],f[h],d,g,v,m);--h}else data.forEach(k.add);return c=f=data=l=null,k}var a,u=jr,s=Ar;return(a=arguments.length)?(u=ci,s=fi,3===a&&(i=n,r=e,n=e=0),o(t)):(o.x=function(t){return arguments.length?(u=t,o):u},o.y=function(t){return arguments.length?(s=t,o):s},o.extent=function(t){return arguments.length?(null==t?e=n=r=i=null:(e=+t[0][0],n=+t[0][1],r=+t[1][0],i=+t[1][1]),o):null==e?null:[[e,n],[r,i]]},o.size=function(t){return arguments.length?(null==t?e=n=r=i=null:(e=n=0,r=+t[0],i=+t[1]),o):null==e?null:[r-e,i-n]},o)},ru.interpolateRgb=gi,ru.interpolateObject=vi,ru.interpolateNumber=mi,ru.interpolateString=yi;var ul=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,sl=new RegExp(ul.source,"g");ru.interpolate=bi,ru.interpolators=[function(t,e){var n=typeof e;return("string"===n?Qu.has(e)||/^(#|rgb\(|hsl\()/.test(e)?gi:yi:e instanceof ue?gi:Array.isArray(e)?xi:"object"===n&&isNaN(e)?vi:mi)(t,e)}],ru.interpolateArray=xi;var ll=function(){return b},cl=ru.map({linear:ll,poly:Si,quad:function(){return ki},cubic:function(){return Ei},sin:function(){return Ti},exp:function(){return ji},circle:function(){return Ai},elastic:Ni,back:Oi,bounce:function(){return qi}}),fl=ru.map({"in":b,out:_i,"in-out":Mi,"out-in":function(t){return Mi(_i(t))}});ru.ease=function(t){var e=t.indexOf("-"),n=e>=0?t.slice(0,e):t,r=e>=0?t.slice(e+1):"in";return n=cl.get(n)||ll,r=fl.get(r)||b,wi(r(n.apply(null,iu.call(arguments,1))))},ru.interpolateHcl=Di,ru.interpolateHsl=Li,ru.interpolateLab=Fi,ru.interpolateRound=zi,ru.transform=function(t){var e=au.createElementNS(ru.ns.prefix.svg,"g");return(ru.transform=function(t){if(null!=t){e.setAttribute("transform",t);var n=e.transform.baseVal.consolidate()}return new Ri(n?n.matrix:hl)})(t)},Ri.prototype.toString=function(){return"translate("+this.translate+")rotate("+this.rotate+")skewX("+this.skew+")scale("+this.scale+")"};var hl={a:1,b:0,c:0,d:1,e:0,f:0};ru.interpolateTransform=Bi,ru.layout={},ru.layout.bundle=function(){return function(t){for(var e=[],n=-1,r=t.length;++n<r;)e.push(Ui(t[n]));return e}},ru.layout.chord=function(){function t(){var t,l,f,h,p,d={},g=[],v=ru.range(o),m=[];for(n=[],r=[],t=0,h=-1;++h<o;){for(l=0,p=-1;++p<o;)l+=i[h][p];g.push(l),m.push(ru.range(o)),t+=l}for(a&&v.sort(function(t,e){return a(g[t],g[e])}),u&&m.forEach(function(t,e){t.sort(function(t,n){return u(i[e][t],i[e][n])})}),t=(Du-c*o)/t,l=0,h=-1;++h<o;){for(f=l,p=-1;++p<o;){var y=v[h],b=m[y][p],x=i[y][b],w=l,_=l+=x*t;d[y+"-"+b]={index:y,subindex:b,startAngle:w,endAngle:_,value:x}}r[y]={index:y,startAngle:f,endAngle:l,value:(l-f)/t},l+=c}for(h=-1;++h<o;)for(p=h-1;++p<o;){var M=d[h+"-"+p],k=d[p+"-"+h];(M.value||k.value)&&n.push(M.value<k.value?{source:k,target:M}:{source:M,target:k})}s&&e()}function e(){n.sort(function(t,e){return s((t.source.value+t.target.value)/2,(e.source.value+e.target.value)/2)})}var n,r,i,o,a,u,s,l={},c=0;return l.matrix=function(t){return arguments.length?(o=(i=t)&&i.length,n=r=null,l):i},l.padding=function(t){return arguments.length?(c=t,n=r=null,l):c},l.sortGroups=function(t){return arguments.length?(a=t,n=r=null,l):a},l.sortSubgroups=function(t){return arguments.length?(u=t,n=null,l):u},l.sortChords=function(t){return arguments.length?(s=t,n&&e(),l):s},l.chords=function(){return n||t(),n},l.groups=function(){return r||t(),r},l},ru.layout.force=function(){function t(t){return function(e,n,r,i){if(e.point!==t){var o=e.cx-t.x,a=e.cy-t.y,u=i-n,s=o*o+a*a;if(s>u*u/v){if(d>s){var l=e.charge/s;t.px-=o*l,t.py-=a*l}return!0}if(e.point&&s&&d>s){var l=e.pointCharge/s;t.px-=o*l,t.py-=a*l}}return!e.charge}}function e(t){t.px=ru.event.x,t.py=ru.event.y,u.resume()}var n,r,i,o,a,u={},s=ru.dispatch("start","tick","end"),l=[1,1],c=.9,f=pl,h=dl,p=-30,d=gl,g=.1,v=.64,m=[],y=[];return u.tick=function(){if((r*=.99)<.005)return s.end({type:"end",alpha:r=0}),!0;var e,n,u,f,h,d,v,b,x,w=m.length,_=y.length;for(n=0;_>n;++n)u=y[n],f=u.source,h=u.target,b=h.x-f.x,x=h.y-f.y,(d=b*b+x*x)&&(d=r*o[n]*((d=Math.sqrt(d))-i[n])/d,b*=d,x*=d,h.x-=b*(v=f.weight/(h.weight+f.weight)),h.y-=x*v,f.x+=b*(v=1-v),f.y+=x*v);if((v=r*g)&&(b=l[0]/2,x=l[1]/2,n=-1,v))for(;++n<w;)u=m[n],u.x+=(b-u.x)*v,u.y+=(x-u.y)*v;if(p)for(Gi(e=ru.geom.quadtree(m),r,a),n=-1;++n<w;)(u=m[n]).fixed||e.visit(t(u));for(n=-1;++n<w;)u=m[n],u.fixed?(u.x=u.px,u.y=u.py):(u.x-=(u.px-(u.px=u.x))*c,u.y-=(u.py-(u.py=u.y))*c);s.tick({type:"tick",alpha:r})},u.nodes=function(t){return arguments.length?(m=t,u):m},u.links=function(t){return arguments.length?(y=t,u):y},u.size=function(t){return arguments.length?(l=t,u):l},u.linkDistance=function(t){return arguments.length?(f="function"==typeof t?t:+t,u):f},u.distance=u.linkDistance,u.linkStrength=function(t){return arguments.length?(h="function"==typeof t?t:+t,u):h},u.friction=function(t){return arguments.length?(c=+t,u):c},u.charge=function(t){return arguments.length?(p="function"==typeof t?t:+t,u):p},u.chargeDistance=function(t){return arguments.length?(d=t*t,u):Math.sqrt(d)},u.gravity=function(t){return arguments.length?(g=+t,u):g},u.theta=function(t){return arguments.length?(v=t*t,u):Math.sqrt(v)},u.alpha=function(t){return arguments.length?(t=+t,r?r=t>0?t:0:t>0&&(s.start({type:"start",alpha:r=t}),ru.timer(u.tick)),u):r},u.start=function(){function t(t,r){if(!n){for(n=new Array(s),u=0;s>u;++u)n[u]=[];for(u=0;c>u;++u){var i=y[u];n[i.source.index].push(i.target),n[i.target.index].push(i.source)}}for(var o,a=n[e],u=-1,l=a.length;++u<l;)if(!isNaN(o=a[u][t]))return o;return Math.random()*r}var e,n,r,s=m.length,c=y.length,d=l[0],g=l[1];for(e=0;s>e;++e)(r=m[e]).index=e,r.weight=0;for(e=0;c>e;++e)r=y[e],"number"==typeof r.source&&(r.source=m[r.source]),"number"==typeof r.target&&(r.target=m[r.target]),++r.source.weight,++r.target.weight;for(e=0;s>e;++e)r=m[e],isNaN(r.x)&&(r.x=t("x",d)),isNaN(r.y)&&(r.y=t("y",g)),isNaN(r.px)&&(r.px=r.x),isNaN(r.py)&&(r.py=r.y);if(i=[],"function"==typeof f)for(e=0;c>e;++e)i[e]=+f.call(this,y[e],e);else for(e=0;c>e;++e)i[e]=f;if(o=[],"function"==typeof h)for(e=0;c>e;++e)o[e]=+h.call(this,y[e],e);else for(e=0;c>e;++e)o[e]=h;if(a=[],"function"==typeof p)for(e=0;s>e;++e)a[e]=+p.call(this,m[e],e);else for(e=0;s>e;++e)a[e]=p;return u.resume()},u.resume=function(){return u.alpha(.1)},u.stop=function(){return u.alpha(0)},u.drag=function(){return n||(n=ru.behavior.drag().origin(b).on("dragstart.force",Xi).on("drag.force",e).on("dragend.force",Ji)),arguments.length?void this.on("mouseover.force",Zi).on("mouseout.force",Ki).call(n):n},ru.rebind(u,s,"on")};var pl=20,dl=1,gl=1/0;ru.layout.hierarchy=function(){function t(i){var o,a=[i],u=[];for(i.depth=0;null!=(o=a.pop());)if(u.push(o),(l=n.call(t,o,o.depth))&&(s=l.length)){for(var s,l,c;--s>=0;)a.push(c=l[s]),c.parent=o,c.depth=o.depth+1;r&&(o.value=0),o.children=l}else r&&(o.value=+r.call(t,o,o.depth)||0),delete o.children;return eo(i,function(t){var n,i;e&&(n=t.children)&&n.sort(e),r&&(i=t.parent)&&(i.value+=t.value)}),u}var e=io,n=no,r=ro;return t.sort=function(n){return arguments.length?(e=n,t):e},t.children=function(e){return arguments.length?(n=e,t):n},t.value=function(e){return arguments.length?(r=e,t):r},t.revalue=function(e){return r&&(to(e,function(t){t.children&&(t.value=0)}),eo(e,function(e){var n;e.children||(e.value=+r.call(t,e,e.depth)||0),(n=e.parent)&&(n.value+=e.value)})),e},t},ru.layout.partition=function(){function t(e,n,r,i){var o=e.children;if(e.x=n,e.y=e.depth*i,e.dx=r,e.dy=i,o&&(a=o.length)){var a,u,s,l=-1;for(r=e.value?r/e.value:0;++l<a;)t(u=o[l],n,s=u.value*r,i),n+=s}}function e(t){var n=t.children,r=0;if(n&&(i=n.length))for(var i,o=-1;++o<i;)r=Math.max(r,e(n[o]));return 1+r}function n(n,o){var a=r.call(this,n,o);return t(a[0],0,i[0],i[1]/e(a[0])),a}var r=ru.layout.hierarchy(),i=[1,1];return n.size=function(t){return arguments.length?(i=t,n):i},Qi(n,r)},ru.layout.pie=function(){function t(data){var a,u=data.length,s=data.map(function(n,r){return+e.call(t,n,r)}),l=+("function"==typeof r?r.apply(this,arguments):r),c=("function"==typeof i?i.apply(this,arguments):i)-l,f=Math.min(Math.abs(c)/u,+("function"==typeof o?o.apply(this,arguments):o)),h=f*(0>c?-1:1),p=(c-u*h)/ru.sum(s),d=ru.range(u),g=[];return null!=n&&d.sort(n===vl?function(t,e){return s[e]-s[t]}:function(t,e){return n(data[t],data[e])}),d.forEach(function(t){g[t]={data:data[t],value:a=s[t],startAngle:l,endAngle:l+=a*p+h,padAngle:f}}),g}var e=Number,n=vl,r=0,i=Du,o=0;return t.value=function(n){return arguments.length?(e=n,t):e},t.sort=function(e){return arguments.length?(n=e,t):n},t.startAngle=function(e){return arguments.length?(r=e,t):r},t.endAngle=function(e){return arguments.length?(i=e,t):i},t.padAngle=function(e){return arguments.length?(o=e,t):o},t};var vl={};ru.layout.stack=function(){function t(data,u){if(!(f=data.length))return data;var s=data.map(function(n,r){return e.call(t,n,r)}),l=s.map(function(e){return e.map(function(e,n){return[o.call(t,e,n),a.call(t,e,n)]})}),c=n.call(t,l,u);s=ru.permute(s,c),l=ru.permute(l,c);var f,h,p,d,g=r.call(t,l,u),v=s[0].length;for(p=0;v>p;++p)for(i.call(t,s[0][p],d=g[p],l[0][p][1]),h=1;f>h;++h)i.call(t,s[h][p],d+=l[h-1][p][1],l[h][p][1]);return data}var e=b,n=lo,r=co,i=so,o=ao,a=uo;return t.values=function(n){return arguments.length?(e=n,t):e},t.order=function(e){return arguments.length?(n="function"==typeof e?e:ml.get(e)||lo,t):n},t.offset=function(e){return arguments.length?(r="function"==typeof e?e:yl.get(e)||co,t):r},t.x=function(e){return arguments.length?(o=e,t):o},t.y=function(e){return arguments.length?(a=e,t):a},t.out=function(e){return arguments.length?(i=e,t):i},t};var ml=ru.map({"inside-out":function(data){var t,e,n=data.length,r=data.map(fo),i=data.map(ho),o=ru.range(n).sort(function(t,e){return r[t]-r[e]}),a=0,u=0,s=[],l=[];for(t=0;n>t;++t)e=o[t],u>a?(a+=i[e],s.push(e)):(u+=i[e],l.push(e));return l.reverse().concat(s)},reverse:function(data){return ru.range(data.length).reverse()},"default":lo}),yl=ru.map({silhouette:function(data){var t,e,n,r=data.length,i=data[0].length,o=[],a=0,u=[];for(e=0;i>e;++e){for(t=0,n=0;r>t;t++)n+=data[t][e][1];n>a&&(a=n),o.push(n)}for(e=0;i>e;++e)u[e]=(a-o[e])/2;return u},wiggle:function(data){var t,e,n,r,i,o,a,u,s,l=data.length,c=data[0],f=c.length,h=[];for(h[0]=u=s=0,e=1;f>e;++e){for(t=0,r=0;l>t;++t)r+=data[t][e][1];for(t=0,i=0,a=c[e][0]-c[e-1][0];l>t;++t){for(n=0,o=(data[t][e][1]-data[t][e-1][1])/(2*a);t>n;++n)o+=(data[n][e][1]-data[n][e-1][1])/a;i+=o*data[t][e][1]}h[e]=u-=r?i/r*a:0,s>u&&(s=u)}for(e=0;f>e;++e)h[e]-=s;return h},expand:function(data){var t,e,n,r=data.length,i=data[0].length,o=1/r,a=[];for(e=0;i>e;++e){for(t=0,n=0;r>t;t++)n+=data[t][e][1];if(n)for(t=0;r>t;t++)data[t][e][1]/=n;else for(t=0;r>t;t++)data[t][e][1]=o}for(e=0;i>e;++e)a[e]=0;return a},zero:co});ru.layout.histogram=function(){function t(data,t){for(var o,a,u=[],s=data.map(n,this),l=r.call(this,s,t),c=i.call(this,l,s,t),t=-1,f=s.length,h=c.length-1,p=e?1:1/f;++t<h;)o=u[t]=[],o.dx=c[t+1]-(o.x=c[t]),o.y=0;if(h>0)for(t=-1;++t<f;)a=s[t],a>=l[0]&&a<=l[1]&&(o=u[ru.bisect(c,a,1,h)-1],o.y+=p,o.push(data[t]));return u}var e=!0,n=Number,r=mo,i=go;return t.value=function(e){return arguments.length?(n=e,t):n},t.range=function(e){return arguments.length?(r=Se(e),t):r},t.bins=function(e){return arguments.length?(i="number"==typeof e?function(t){return vo(t,e)}:Se(e),t):i},t.frequency=function(n){return arguments.length?(e=!!n,t):e},t},ru.layout.pack=function(){function t(t,o){var a=n.call(this,t,o),u=a[0],s=i[0],l=i[1],c=null==e?Math.sqrt:"function"==typeof e?e:function(){return e};if(u.x=u.y=0,eo(u,function(t){t.r=+c(t.value)}),eo(u,_o),r){var f=r*(e?1:Math.max(2*u.r/s,2*u.r/l))/2;eo(u,function(t){t.r+=f}),eo(u,_o),eo(u,function(t){t.r-=f})}return Eo(u,s/2,l/2,e?1:1/Math.max(2*u.r/s,2*u.r/l)),a}var e,n=ru.layout.hierarchy().sort(yo),r=0,i=[1,1];return t.size=function(e){return arguments.length?(i=e,t):i},t.radius=function(n){return arguments.length?(e=null==n||"function"==typeof n?n:+n,t):e},t.padding=function(e){return arguments.length?(r=+e,t):r},Qi(t,n)},ru.layout.tree=function(){function t(t,i){var c=a.call(this,t,i),f=c[0],h=e(f);if(eo(h,n),h.parent.m=-h.z,to(h,r),l)to(f,o);else{var p=f,d=f,g=f;to(f,function(t){t.x<p.x&&(p=t),t.x>d.x&&(d=t),t.depth>g.depth&&(g=t)});var v=u(p,d)/2-p.x,m=s[0]/(d.x+u(d,p)/2+v),y=s[1]/(g.depth||1);to(f,function(t){t.x=(t.x+v)*m,t.y=t.depth*y})}return c}function e(t){for(var e,n={A:null,children:[t]},r=[n];null!=(e=r.pop());)for(var i,o=e.children,a=0,u=o.length;u>a;++a)r.push((o[a]=i={_:o[a],parent:e,children:(i=o[a].children)&&i.slice()||[],A:null,a:null,z:0,m:0,c:0,s:0,t:null,i:a}).a=i);return n.children[0]}function n(t){var e=t.children,n=t.parent.children,r=t.i?n[t.i-1]:null;if(e.length){No(t);var o=(e[0].z+e[e.length-1].z)/2;r?(t.z=r.z+u(t._,r._),t.m=t.z-o):t.z=o}else r&&(t.z=r.z+u(t._,r._));t.parent.A=i(t,r,t.parent.A||n[0])}function r(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function i(t,e,n){if(e){for(var r,i=t,o=t,a=e,s=i.parent.children[0],l=i.m,c=o.m,f=a.m,h=s.m;a=jo(a),i=To(i),a&&i;)s=To(s),o=jo(o),o.a=t,r=a.z+f-i.z-l+u(a._,i._),r>0&&(Ao(Oo(a,t,n),t,r),l+=r,c+=r),f+=a.m,l+=i.m,h+=s.m,c+=o.m;a&&!jo(o)&&(o.t=a,o.m+=f-c),i&&!To(s)&&(s.t=i,s.m+=l-h,n=t)}return n}function o(t){t.x*=s[0],t.y=t.depth*s[1]}var a=ru.layout.hierarchy().sort(null).value(null),u=So,s=[1,1],l=null;return t.separation=function(e){return arguments.length?(u=e,t):u},t.size=function(e){return arguments.length?(l=null==(s=e)?o:null,t):l?null:s},t.nodeSize=function(e){return arguments.length?(l=null==(s=e)?null:o,t):l?s:null},Qi(t,a)},ru.layout.cluster=function(){function t(t,o){var a,u=e.call(this,t,o),s=u[0],l=0;eo(s,function(t){var e=t.children;e&&e.length?(t.x=Do(e),t.y=qo(e)):(t.x=a?l+=n(t,a):0,t.y=0,a=t)});var c=Lo(s),f=Fo(s),h=c.x-n(c,f)/2,p=f.x+n(f,c)/2;return eo(s,i?function(t){t.x=(t.x-s.x)*r[0],t.y=(s.y-t.y)*r[1]}:function(t){t.x=(t.x-h)/(p-h)*r[0],t.y=(1-(s.y?t.y/s.y:1))*r[1]}),u}var e=ru.layout.hierarchy().sort(null).value(null),n=So,r=[1,1],i=!1;return t.separation=function(e){return arguments.length?(n=e,t):n},t.size=function(e){return arguments.length?(i=null==(r=e),t):i?null:r},t.nodeSize=function(e){return arguments.length?(i=null!=(r=e),t):i?r:null},Qi(t,e)},ru.layout.treemap=function(){function t(t,e){for(var n,r,i=-1,o=t.length;++i<o;)r=(n=t[i]).value*(0>e?0:e),n.area=isNaN(r)||0>=r?0:r}function e(n){var o=n.children;if(o&&o.length){var a,u,s,l=f(n),c=[],h=o.slice(),d=1/0,g="slice"===p?l.dx:"dice"===p?l.dy:"slice-dice"===p?1&n.depth?l.dy:l.dx:Math.min(l.dx,l.dy);for(t(h,l.dx*l.dy/n.value),c.area=0;(s=h.length)>0;)c.push(a=h[s-1]),c.area+=a.area,"squarify"!==p||(u=r(c,g))<=d?(h.pop(),d=u):(c.area-=c.pop().area,i(c,g,l,!1),g=Math.min(l.dx,l.dy),c.length=c.area=0,d=1/0);c.length&&(i(c,g,l,!0),c.length=c.area=0),o.forEach(e)}}function n(e){var r=e.children;if(r&&r.length){var o,a=f(e),u=r.slice(),s=[];for(t(u,a.dx*a.dy/e.value),s.area=0;o=u.pop();)s.push(o),s.area+=o.area,null!=o.z&&(i(s,o.z?a.dx:a.dy,a,!u.length),s.length=s.area=0);r.forEach(n)}}function r(t,e){for(var n,r=t.area,i=0,o=1/0,a=-1,u=t.length;++a<u;)(n=t[a].area)&&(o>n&&(o=n),n>i&&(i=n));return r*=r,e*=e,r?Math.max(e*i*d/r,r/(e*o*d)):1/0}function i(t,e,n,r){var i,o=-1,a=t.length,u=n.x,l=n.y,c=e?s(t.area/e):0;if(e==n.dx){for((r||c>n.dy)&&(c=n.dy);++o<a;)i=t[o],i.x=u,i.y=l,i.dy=c,u+=i.dx=Math.min(n.x+n.dx-u,c?s(i.area/c):0);i.z=!0,i.dx+=n.x+n.dx-u,n.y+=c,n.dy-=c}else{for((r||c>n.dx)&&(c=n.dx);++o<a;)i=t[o],i.x=u,i.y=l,i.dx=c,l+=i.dy=Math.min(n.y+n.dy-l,c?s(i.area/c):0);i.z=!1,i.dy+=n.y+n.dy-l,n.x+=c,n.dx-=c}}function o(r){var i=a||u(r),o=i[0];return o.x=0,o.y=0,o.dx=l[0],o.dy=l[1],a&&u.revalue(o),t([o],o.dx*o.dy/o.value),(a?n:e)(o),h&&(a=i),i}var a,u=ru.layout.hierarchy(),s=Math.round,l=[1,1],c=null,f=zo,h=!1,p="squarify",d=.5*(1+Math.sqrt(5));return o.size=function(t){return arguments.length?(l=t,o):l},o.padding=function(t){function e(e){var n=t.call(o,e,e.depth);return null==n?zo(e):Ro(e,"number"==typeof n?[n,n,n,n]:n)}function n(e){return Ro(e,t)}if(!arguments.length)return c;var r;return f=null==(c=t)?zo:"function"==(r=typeof t)?e:"number"===r?(t=[t,t,t,t],n):n,o},o.round=function(t){return arguments.length?(s=t?Math.round:Number,o):s!=Number},o.sticky=function(t){return arguments.length?(h=t,a=null,o):h},o.ratio=function(t){return arguments.length?(d=t,o):d},o.mode=function(t){return arguments.length?(p=t+"",o):p},Qi(o,u)},ru.random={normal:function(t,e){var n=arguments.length;return 2>n&&(e=1),1>n&&(t=0),function(){var n,r,i;do n=2*Math.random()-1,r=2*Math.random()-1,i=n*n+r*r;while(!i||i>1);return t+e*n*Math.sqrt(-2*Math.log(i)/i)}},logNormal:function(){var t=ru.random.normal.apply(ru,arguments);return function(){return Math.exp(t())}},bates:function(t){var e=ru.random.irwinHall(t);return function(){return e()/t}},irwinHall:function(t){return function(){for(var e=0,n=0;t>n;n++)e+=Math.random();return e}}},ru.scale={};var bl={floor:b,ceil:b};ru.scale.linear=function(){return Uo([0,1],[0,1],bi,!1)};var xl={s:1,g:1,p:1,r:1,e:1};ru.scale.log=function(){return Qo(ru.scale.linear().domain([0,1]),10,!0,[1,10])};var wl=ru.format(".0e"),_l={floor:function(t){return-Math.ceil(-t)},ceil:function(t){return-Math.floor(-t)}};ru.scale.pow=function(){return ta(ru.scale.linear(),1,[0,1])},ru.scale.sqrt=function(){return ru.scale.pow().exponent(.5)},ru.scale.ordinal=function(){return na([],{t:"range",a:[[]]})},ru.scale.category10=function(){return ru.scale.ordinal().range(Ml)},ru.scale.category20=function(){return ru.scale.ordinal().range(kl)},ru.scale.category20b=function(){return ru.scale.ordinal().range(El)},ru.scale.category20c=function(){return ru.scale.ordinal().range(Cl)};var Ml=[2062260,16744206,2924588,14034728,9725885,9197131,14907330,8355711,12369186,1556175].map(xe),kl=[2062260,11454440,16744206,16759672,2924588,10018698,14034728,16750742,9725885,12955861,9197131,12885140,14907330,16234194,8355711,13092807,12369186,14408589,1556175,10410725].map(xe),El=[3750777,5395619,7040719,10264286,6519097,9216594,11915115,13556636,9202993,12426809,15186514,15190932,8666169,11356490,14049643,15177372,8077683,10834324,13528509,14589654].map(xe),Cl=[3244733,7057110,10406625,13032431,15095053,16616764,16625259,16634018,3253076,7652470,10607003,13101504,7695281,10394312,12369372,14342891,6513507,9868950,12434877,14277081].map(xe);ru.scale.quantile=function(){return ra([],[])},ru.scale.quantize=function(){return ia(0,1,[0,1])},ru.scale.threshold=function(){return oa([.5],[0,1])},ru.scale.identity=function(){return aa([0,1])},ru.svg={},ru.svg.arc=function(){function t(){var t=Math.max(0,+n.apply(this,arguments)),l=Math.max(0,+r.apply(this,arguments)),c=a.apply(this,arguments)-Fu,f=u.apply(this,arguments)-Fu,h=Math.abs(f-c),p=c>f?0:1;if(t>l&&(d=l,l=t,t=d),h>=Lu)return e(l,p)+(t?e(t,1-p):"")+"Z";var d,g,v,m,y,b,x,w,_,M,k,E,C=0,S=0,T=[];if((m=(+s.apply(this,arguments)||0)/2)&&(v=o===Sl?Math.sqrt(t*t+l*l):+o.apply(this,arguments),p||(S*=-1),l&&(S=ne(v/l*Math.sin(m))),t&&(C=ne(v/t*Math.sin(m)))),l){y=l*Math.cos(c+S),b=l*Math.sin(c+S),x=l*Math.cos(f-S),w=l*Math.sin(f-S);var j=Math.abs(f-c-2*S)<=qu?0:1;if(S&&pa(y,b,x,w)===p^j){var A=(c+f)/2;y=l*Math.cos(A),b=l*Math.sin(A),x=w=null}}else y=b=0;if(t){_=t*Math.cos(f-C),M=t*Math.sin(f-C),k=t*Math.cos(c+C),E=t*Math.sin(c+C);var N=Math.abs(c-f+2*C)<=qu?0:1;if(C&&pa(_,M,k,E)===1-p^N){var O=(c+f)/2;_=t*Math.cos(O),M=t*Math.sin(O),k=E=null}}else _=M=0;if((d=Math.min(Math.abs(l-t)/2,+i.apply(this,arguments)))>.001){g=l>t^p?0:1;var q=null==k?[_,M]:null==x?[y,b]:Dr([y,b],[k,E],[x,w],[_,M]),D=y-q[0],L=b-q[1],F=x-q[0],z=w-q[1],R=1/Math.sin(Math.acos((D*F+L*z)/(Math.sqrt(D*D+L*L)*Math.sqrt(F*F+z*z)))/2),I=Math.sqrt(q[0]*q[0]+q[1]*q[1]);if(null!=x){var P=Math.min(d,(l-I)/(R+1)),H=da(null==k?[_,M]:[k,E],[y,b],l,P,p),B=da([x,w],[_,M],l,P,p);d===P?T.push("M",H[0],"A",P,",",P," 0 0,",g," ",H[1],"A",l,",",l," 0 ",1-p^pa(H[1][0],H[1][1],B[1][0],B[1][1]),",",p," ",B[1],"A",P,",",P," 0 0,",g," ",B[0]):T.push("M",H[0],"A",P,",",P," 0 1,",g," ",B[0])}else T.push("M",y,",",b);if(null!=k){var $=Math.min(d,(t-I)/(R-1)),V=da([y,b],[k,E],t,-$,p),U=da([_,M],null==x?[y,b]:[x,w],t,-$,p);d===$?T.push("L",U[0],"A",$,",",$," 0 0,",g," ",U[1],"A",t,",",t," 0 ",p^pa(U[1][0],U[1][1],V[1][0],V[1][1]),",",1-p," ",V[1],"A",$,",",$," 0 0,",g," ",V[0]):T.push("L",U[0],"A",$,",",$," 0 0,",g," ",V[0])}else T.push("L",_,",",M)}else T.push("M",y,",",b),null!=x&&T.push("A",l,",",l," 0 ",j,",",p," ",x,",",w),T.push("L",_,",",M),null!=k&&T.push("A",t,",",t," 0 ",N,",",1-p," ",k,",",E);
+return T.push("Z"),T.join("")}function e(t,e){return"M0,"+t+"A"+t+","+t+" 0 1,"+e+" 0,"+-t+"A"+t+","+t+" 0 1,"+e+" 0,"+t}var n=sa,r=la,i=ua,o=Sl,a=ca,u=fa,s=ha;return t.innerRadius=function(e){return arguments.length?(n=Se(e),t):n},t.outerRadius=function(e){return arguments.length?(r=Se(e),t):r},t.cornerRadius=function(e){return arguments.length?(i=Se(e),t):i},t.padRadius=function(e){return arguments.length?(o=e==Sl?Sl:Se(e),t):o},t.startAngle=function(e){return arguments.length?(a=Se(e),t):a},t.endAngle=function(e){return arguments.length?(u=Se(e),t):u},t.padAngle=function(e){return arguments.length?(s=Se(e),t):s},t.centroid=function(){var t=(+n.apply(this,arguments)+ +r.apply(this,arguments))/2,e=(+a.apply(this,arguments)+ +u.apply(this,arguments))/2-Fu;return[Math.cos(e)*t,Math.sin(e)*t]},t};var Sl="auto";ru.svg.line=function(){return ga(b)};var Tl=ru.map({linear:va,"linear-closed":ma,step:ya,"step-before":ba,"step-after":xa,basis:Ca,"basis-open":Sa,"basis-closed":Ta,bundle:ja,cardinal:Ma,"cardinal-open":wa,"cardinal-closed":_a,monotone:La});Tl.forEach(function(t,e){e.key=t,e.closed=/-closed$/.test(t)});var jl=[0,2/3,1/3,0],Al=[0,1/3,2/3,0],Nl=[0,1/6,2/3,1/6];ru.svg.line.radial=function(){var t=ga(Fa);return t.radius=t.x,delete t.x,t.angle=t.y,delete t.y,t},ba.reverse=xa,xa.reverse=ba,ru.svg.area=function(){return za(b)},ru.svg.area.radial=function(){var t=za(Fa);return t.radius=t.x,delete t.x,t.innerRadius=t.x0,delete t.x0,t.outerRadius=t.x1,delete t.x1,t.angle=t.y,delete t.y,t.startAngle=t.y0,delete t.y0,t.endAngle=t.y1,delete t.y1,t},ru.svg.chord=function(){function t(t,u){var s=e(this,o,t,u),l=e(this,a,t,u);return"M"+s.p0+r(s.r,s.p1,s.a1-s.a0)+(n(s,l)?i(s.r,s.p1,s.r,s.p0):i(s.r,s.p1,l.r,l.p0)+r(l.r,l.p1,l.a1-l.a0)+i(l.r,l.p1,s.r,s.p0))+"Z"}function e(t,e,n,r){var i=e.call(t,n,r),o=u.call(t,i,r),a=s.call(t,i,r)-Fu,c=l.call(t,i,r)-Fu;return{r:o,a0:a,a1:c,p0:[o*Math.cos(a),o*Math.sin(a)],p1:[o*Math.cos(c),o*Math.sin(c)]}}function n(t,e){return t.a0==e.a0&&t.a1==e.a1}function r(t,e,n){return"A"+t+","+t+" 0 "+ +(n>qu)+",1 "+e}function i(t,e,n,r){return"Q 0,0 "+r}var o=br,a=xr,u=Ra,s=ca,l=fa;return t.radius=function(e){return arguments.length?(u=Se(e),t):u},t.source=function(e){return arguments.length?(o=Se(e),t):o},t.target=function(e){return arguments.length?(a=Se(e),t):a},t.startAngle=function(e){return arguments.length?(s=Se(e),t):s},t.endAngle=function(e){return arguments.length?(l=Se(e),t):l},t},ru.svg.diagonal=function(){function t(t,i){var o=e.call(this,t,i),a=n.call(this,t,i),u=(o.y+a.y)/2,s=[o,{x:o.x,y:u},{x:a.x,y:u},a];return s=s.map(r),"M"+s[0]+"C"+s[1]+" "+s[2]+" "+s[3]}var e=br,n=xr,r=Ia;return t.source=function(n){return arguments.length?(e=Se(n),t):e},t.target=function(e){return arguments.length?(n=Se(e),t):n},t.projection=function(e){return arguments.length?(r=e,t):r},t},ru.svg.diagonal.radial=function(){var t=ru.svg.diagonal(),e=Ia,n=t.projection;return t.projection=function(t){return arguments.length?n(Pa(e=t)):e},t},ru.svg.symbol=function(){function t(t,r){return(Ol.get(e.call(this,t,r))||$a)(n.call(this,t,r))}var e=Ba,n=Ha;return t.type=function(n){return arguments.length?(e=Se(n),t):e},t.size=function(e){return arguments.length?(n=Se(e),t):n},t};var Ol=ru.map({circle:$a,cross:function(t){var e=Math.sqrt(t/5)/2;return"M"+-3*e+","+-e+"H"+-e+"V"+-3*e+"H"+e+"V"+-e+"H"+3*e+"V"+e+"H"+e+"V"+3*e+"H"+-e+"V"+e+"H"+-3*e+"Z"},diamond:function(t){var e=Math.sqrt(t/(2*Dl)),n=e*Dl;return"M0,"+-e+"L"+n+",0 0,"+e+" "+-n+",0Z"},square:function(t){var e=Math.sqrt(t)/2;return"M"+-e+","+-e+"L"+e+","+-e+" "+e+","+e+" "+-e+","+e+"Z"},"triangle-down":function(t){var e=Math.sqrt(t/ql),n=e*ql/2;return"M0,"+n+"L"+e+","+-n+" "+-e+","+-n+"Z"},"triangle-up":function(t){var e=Math.sqrt(t/ql),n=e*ql/2;return"M0,"+-n+"L"+e+","+n+" "+-e+","+n+"Z"}});ru.svg.symbolTypes=Ol.keys();var ql=Math.sqrt(3),Dl=Math.tan(30*zu);ku.transition=function(t){for(var e,n,r=Ll||++Il,i=Xa(t),o=[],a=Fl||{time:Date.now(),ease:Ci,delay:0,duration:250},u=-1,s=this.length;++u<s;){o.push(e=[]);for(var l=this[u],c=-1,f=l.length;++c<f;)(n=l[c])&&Ja(n,c,i,r,a),e.push(n)}return Ua(o,i,r)},ku.interrupt=function(t){return this.each(null==t?zl:Va(Xa(t)))};var Ll,Fl,zl=Va(Xa()),Rl=[],Il=0;Rl.call=ku.call,Rl.empty=ku.empty,Rl.node=ku.node,Rl.size=ku.size,ru.transition=function(t,e){return t&&t.transition?Ll?t.transition(e):t:ru.selection().transition(t)},ru.transition.prototype=Rl,Rl.select=function(t){var e,n,r,i=this.id,o=this.namespace,a=[];t=j(t);for(var u=-1,s=this.length;++u<s;){a.push(e=[]);for(var l=this[u],c=-1,f=l.length;++c<f;)(r=l[c])&&(n=t.call(r,r.__data__,c,u))?("__data__"in r&&(n.__data__=r.__data__),Ja(n,c,o,i,r[o][i]),e.push(n)):e.push(null)}return Ua(a,o,i)},Rl.selectAll=function(t){var e,n,r,i,o,a=this.id,u=this.namespace,s=[];t=A(t);for(var l=-1,c=this.length;++l<c;)for(var f=this[l],h=-1,p=f.length;++h<p;)if(r=f[h]){o=r[u][a],n=t.call(r,r.__data__,h,l),s.push(e=[]);for(var d=-1,g=n.length;++d<g;)(i=n[d])&&Ja(i,d,u,a,o),e.push(i)}return Ua(s,u,a)},Rl.filter=function(t){var e,n,r,i=[];"function"!=typeof t&&(t=B(t));for(var o=0,a=this.length;a>o;o++){i.push(e=[]);for(var n=this[o],u=0,s=n.length;s>u;u++)(r=n[u])&&t.call(r,r.__data__,u,o)&&e.push(r)}return Ua(i,this.namespace,this.id)},Rl.tween=function(t,e){var n=this.id,r=this.namespace;return arguments.length<2?this.node()[r][n].tween.get(t):V(this,null==e?function(e){e[r][n].tween.remove(t)}:function(i){i[r][n].tween.set(t,e)})},Rl.attr=function(t,e){function n(){this.removeAttribute(u)}function r(){this.removeAttributeNS(u.space,u.local)}function i(t){return null==t?n:(t+="",function(){var e,n=this.getAttribute(u);return n!==t&&(e=a(n,t),function(t){this.setAttribute(u,e(t))})})}function o(t){return null==t?r:(t+="",function(){var e,n=this.getAttributeNS(u.space,u.local);return n!==t&&(e=a(n,t),function(t){this.setAttributeNS(u.space,u.local,e(t))})})}if(arguments.length<2){for(e in t)this.attr(e,t[e]);return this}var a="transform"==t?Bi:bi,u=ru.ns.qualify(t);return Wa(this,"attr."+t,e,u.local?o:i)},Rl.attrTween=function(t,e){function n(t,n){var r=e.call(this,t,n,this.getAttribute(i));return r&&function(t){this.setAttribute(i,r(t))}}function r(t,n){var r=e.call(this,t,n,this.getAttributeNS(i.space,i.local));return r&&function(t){this.setAttributeNS(i.space,i.local,r(t))}}var i=ru.ns.qualify(t);return this.tween("attr."+t,i.local?r:n)},Rl.style=function(t,e,r){function i(){this.style.removeProperty(t)}function o(e){return null==e?i:(e+="",function(){var i,o=n(this).getComputedStyle(this,null).getPropertyValue(t);return o!==e&&(i=bi(o,e),function(e){this.style.setProperty(t,i(e),r)})})}var a=arguments.length;if(3>a){if("string"!=typeof t){2>a&&(e="");for(r in t)this.style(r,t[r],e);return this}r=""}return Wa(this,"style."+t,e,o)},Rl.styleTween=function(t,e,r){function i(i,o){var a=e.call(this,i,o,n(this).getComputedStyle(this,null).getPropertyValue(t));return a&&function(e){this.style.setProperty(t,a(e),r)}}return arguments.length<3&&(r=""),this.tween("style."+t,i)},Rl.text=function(t){return Wa(this,"text",t,Ya)},Rl.remove=function(){var t=this.namespace;return this.each("end.transition",function(){var e;this[t].count<2&&(e=this.parentNode)&&e.removeChild(this)})},Rl.ease=function(t){var e=this.id,n=this.namespace;return arguments.length<1?this.node()[n][e].ease:("function"!=typeof t&&(t=ru.ease.apply(ru,arguments)),V(this,function(r){r[n][e].ease=t}))},Rl.delay=function(t){var e=this.id,n=this.namespace;return arguments.length<1?this.node()[n][e].delay:V(this,"function"==typeof t?function(r,i,o){r[n][e].delay=+t.call(r,r.__data__,i,o)}:(t=+t,function(r){r[n][e].delay=t}))},Rl.duration=function(t){var e=this.id,n=this.namespace;return arguments.length<1?this.node()[n][e].duration:V(this,"function"==typeof t?function(r,i,o){r[n][e].duration=Math.max(1,t.call(r,r.__data__,i,o))}:(t=Math.max(1,t),function(r){r[n][e].duration=t}))},Rl.each=function(t,e){var n=this.id,r=this.namespace;if(arguments.length<2){var i=Fl,o=Ll;try{Ll=n,V(this,function(e,i,o){Fl=e[r][n],t.call(e,e.__data__,i,o)})}finally{Fl=i,Ll=o}}else V(this,function(i){var o=i[r][n];(o.event||(o.event=ru.dispatch("start","end","interrupt"))).on(t,e)});return this},Rl.transition=function(){for(var t,e,n,r,i=this.id,o=++Il,a=this.namespace,u=[],s=0,l=this.length;l>s;s++){u.push(t=[]);for(var e=this[s],c=0,f=e.length;f>c;c++)(n=e[c])&&(r=n[a][i],Ja(n,c,a,o,{time:r.time,ease:r.ease,delay:r.delay+r.duration,duration:r.duration})),t.push(n)}return Ua(u,a,o)},ru.svg.axis=function(){function t(t){t.each(function(){var t,l=ru.select(this),c=this.__chart__||n,f=this.__chart__=n.copy(),h=null==s?f.ticks?f.ticks.apply(f,u):f.domain():s,p=null==e?f.tickFormat?f.tickFormat.apply(f,u):b:e,d=l.selectAll(".tick").data(h,f),g=d.enter().insert("g",".domain").attr("class","tick").style("opacity",Nu),v=ru.transition(d.exit()).style("opacity",Nu).remove(),m=ru.transition(d.order()).style("opacity",1),y=Math.max(i,0)+a,x=Po(f),w=l.selectAll(".domain").data([0]),_=(w.enter().append("path").attr("class","domain"),ru.transition(w));g.append("line"),g.append("text");var M,k,E,C,S=g.select("line"),T=m.select("line"),j=d.select("text").text(p),A=g.select("text"),N=m.select("text"),O="top"===r||"left"===r?-1:1;if("bottom"===r||"top"===r?(t=Za,M="x",E="y",k="x2",C="y2",j.attr("dy",0>O?"0em":".71em").style("text-anchor","middle"),_.attr("d","M"+x[0]+","+O*o+"V0H"+x[1]+"V"+O*o)):(t=Ka,M="y",E="x",k="y2",C="x2",j.attr("dy",".32em").style("text-anchor",0>O?"end":"start"),_.attr("d","M"+O*o+","+x[0]+"H0V"+x[1]+"H"+O*o)),S.attr(C,O*i),A.attr(E,O*y),T.attr(k,0).attr(C,O*i),N.attr(M,0).attr(E,O*y),f.rangeBand){var q=f,D=q.rangeBand()/2;c=f=function(t){return q(t)+D}}else c.rangeBand?c=f:v.call(t,f,c);g.call(t,c,f),m.call(t,f,f)})}var e,n=ru.scale.linear(),r=Pl,i=6,o=6,a=3,u=[10],s=null;return t.scale=function(e){return arguments.length?(n=e,t):n},t.orient=function(e){return arguments.length?(r=e in Hl?e+"":Pl,t):r},t.ticks=function(){return arguments.length?(u=arguments,t):u},t.tickValues=function(e){return arguments.length?(s=e,t):s},t.tickFormat=function(n){return arguments.length?(e=n,t):e},t.tickSize=function(e){var n=arguments.length;return n?(i=+e,o=+arguments[n-1],t):i},t.innerTickSize=function(e){return arguments.length?(i=+e,t):i},t.outerTickSize=function(e){return arguments.length?(o=+e,t):o},t.tickPadding=function(e){return arguments.length?(a=+e,t):a},t.tickSubdivide=function(){return arguments.length&&t},t};var Pl="bottom",Hl={top:1,right:1,bottom:1,left:1};ru.svg.brush=function(){function t(n){n.each(function(){var n=ru.select(this).style("pointer-events","all").style("-webkit-tap-highlight-color","rgba(0,0,0,0)").on("mousedown.brush",o).on("touchstart.brush",o),a=n.selectAll(".background").data([0]);a.enter().append("rect").attr("class","background").style("visibility","hidden").style("cursor","crosshair"),n.selectAll(".extent").data([0]).enter().append("rect").attr("class","extent").style("cursor","move");var u=n.selectAll(".resize").data(g,b);u.exit().remove(),u.enter().append("g").attr("class",function(t){return"resize "+t}).style("cursor",function(t){return Bl[t]}).append("rect").attr("x",function(t){return/[ew]$/.test(t)?-3:null}).attr("y",function(t){return/^[ns]/.test(t)?-3:null}).attr("width",6).attr("height",6).style("visibility","hidden"),u.style("display",t.empty()?"none":null);var s,f=ru.transition(n),h=ru.transition(a);l&&(s=Po(l),h.attr("x",s[0]).attr("width",s[1]-s[0]),r(f)),c&&(s=Po(c),h.attr("y",s[0]).attr("height",s[1]-s[0]),i(f)),e(f)})}function e(t){t.selectAll(".resize").attr("transform",function(t){return"translate("+f[+/e$/.test(t)]+","+h[+/^s/.test(t)]+")"})}function r(t){t.select(".extent").attr("x",f[0]),t.selectAll(".extent,.n>rect,.s>rect").attr("width",f[1]-f[0])}function i(t){t.select(".extent").attr("y",h[0]),t.selectAll(".extent,.e>rect,.w>rect").attr("height",h[1]-h[0])}function o(){function o(){32==ru.event.keyCode&&(j||(b=null,N[0]-=f[1],N[1]-=h[1],j=2),E())}function g(){32==ru.event.keyCode&&2==j&&(N[0]+=f[1],N[1]+=h[1],j=0,E())}function v(){var t=ru.mouse(w),n=!1;x&&(t[0]+=x[0],t[1]+=x[1]),j||(ru.event.altKey?(b||(b=[(f[0]+f[1])/2,(h[0]+h[1])/2]),N[0]=f[+(t[0]<b[0])],N[1]=h[+(t[1]<b[1])]):b=null),S&&m(t,l,0)&&(r(k),n=!0),T&&m(t,c,1)&&(i(k),n=!0),n&&(e(k),M({type:"brush",mode:j?"move":"resize"}))}function m(t,e,n){var r,i,o=Po(e),s=o[0],l=o[1],c=N[n],g=n?h:f,v=g[1]-g[0];return j&&(s-=c,l-=v+c),r=(n?d:p)?Math.max(s,Math.min(l,t[n])):t[n],j?i=(r+=c)+v:(b&&(c=Math.max(s,Math.min(l,2*b[n]-r))),r>c?(i=r,r=c):i=c),g[0]!=r||g[1]!=i?(n?u=null:a=null,g[0]=r,g[1]=i,!0):void 0}function y(){v(),k.style("pointer-events","all").selectAll(".resize").style("display",t.empty()?"none":null),ru.select("body").style("cursor",null),O.on("mousemove.brush",null).on("mouseup.brush",null).on("touchmove.brush",null).on("touchend.brush",null).on("keydown.brush",null).on("keyup.brush",null),A(),M({type:"brushend"})}var b,x,w=this,_=ru.select(ru.event.target),M=s.of(w,arguments),k=ru.select(w),C=_.datum(),S=!/^(n|s)$/.test(C)&&l,T=!/^(e|w)$/.test(C)&&c,j=_.classed("extent"),A=Z(w),N=ru.mouse(w),O=ru.select(n(w)).on("keydown.brush",o).on("keyup.brush",g);if(ru.event.changedTouches?O.on("touchmove.brush",v).on("touchend.brush",y):O.on("mousemove.brush",v).on("mouseup.brush",y),k.interrupt().selectAll("*").interrupt(),j)N[0]=f[0]-N[0],N[1]=h[0]-N[1];else if(C){var q=+/w$/.test(C),D=+/^n/.test(C);x=[f[1-q]-N[0],h[1-D]-N[1]],N[0]=f[q],N[1]=h[D]}else ru.event.altKey&&(b=N.slice());k.style("pointer-events","none").selectAll(".resize").style("display",null),ru.select("body").style("cursor",_.style("cursor")),M({type:"brushstart"}),v()}var a,u,s=S(t,"brushstart","brush","brushend"),l=null,c=null,f=[0,0],h=[0,0],p=!0,d=!0,g=$l[0];return t.event=function(t){t.each(function(){var t=s.of(this,arguments),e={x:f,y:h,i:a,j:u},n=this.__chart__||e;this.__chart__=e,Ll?ru.select(this).transition().each("start.brush",function(){a=n.i,u=n.j,f=n.x,h=n.y,t({type:"brushstart"})}).tween("brush:brush",function(){var n=xi(f,e.x),r=xi(h,e.y);return a=u=null,function(i){f=e.x=n(i),h=e.y=r(i),t({type:"brush",mode:"resize"})}}).each("end.brush",function(){a=e.i,u=e.j,t({type:"brush",mode:"resize"}),t({type:"brushend"})}):(t({type:"brushstart"}),t({type:"brush",mode:"resize"}),t({type:"brushend"}))})},t.x=function(e){return arguments.length?(l=e,g=$l[!l<<1|!c],t):l},t.y=function(e){return arguments.length?(c=e,g=$l[!l<<1|!c],t):c},t.clamp=function(e){return arguments.length?(l&&c?(p=!!e[0],d=!!e[1]):l?p=!!e:c&&(d=!!e),t):l&&c?[p,d]:l?p:c?d:null},t.extent=function(e){var n,r,i,o,s;return arguments.length?(l&&(n=e[0],r=e[1],c&&(n=n[0],r=r[0]),a=[n,r],l.invert&&(n=l(n),r=l(r)),n>r&&(s=n,n=r,r=s),(n!=f[0]||r!=f[1])&&(f=[n,r])),c&&(i=e[0],o=e[1],l&&(i=i[1],o=o[1]),u=[i,o],c.invert&&(i=c(i),o=c(o)),i>o&&(s=i,i=o,o=s),(i!=h[0]||o!=h[1])&&(h=[i,o])),t):(l&&(a?(n=a[0],r=a[1]):(n=f[0],r=f[1],l.invert&&(n=l.invert(n),r=l.invert(r)),n>r&&(s=n,n=r,r=s))),c&&(u?(i=u[0],o=u[1]):(i=h[0],o=h[1],c.invert&&(i=c.invert(i),o=c.invert(o)),i>o&&(s=i,i=o,o=s))),l&&c?[[n,i],[r,o]]:l?[n,r]:c&&[i,o])},t.clear=function(){return t.empty()||(f=[0,0],h=[0,0],a=u=null),t},t.empty=function(){return!!l&&f[0]==f[1]||!!c&&h[0]==h[1]},ru.rebind(t,s,"on")};var Bl={n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},$l=[["n","e","s","w","nw","ne","se","sw"],["e","w"],["n","s"],[]],Vl=ls.format=gs.timeFormat,Ul=Vl.utc,Wl=Ul("%Y-%m-%dT%H:%M:%S.%LZ");Vl.iso=Date.prototype.toISOString&&+new Date("2000-01-01T00:00:00.000Z")?Ga:Wl,Ga.parse=function(t){var e=new Date(t);return isNaN(e)?null:e},Ga.toString=Wl.toString,ls.second=Pe(function(t){return new cs(1e3*Math.floor(t/1e3))},function(t,e){t.setTime(t.getTime()+1e3*Math.floor(e))},function(t){return t.getSeconds()}),ls.seconds=ls.second.range,ls.seconds.utc=ls.second.utc.range,ls.minute=Pe(function(t){return new cs(6e4*Math.floor(t/6e4))},function(t,e){t.setTime(t.getTime()+6e4*Math.floor(e))},function(t){return t.getMinutes()}),ls.minutes=ls.minute.range,ls.minutes.utc=ls.minute.utc.range,ls.hour=Pe(function(t){var e=t.getTimezoneOffset()/60;return new cs(36e5*(Math.floor(t/36e5-e)+e))},function(t,e){t.setTime(t.getTime()+36e5*Math.floor(e))},function(t){return t.getHours()}),ls.hours=ls.hour.range,ls.hours.utc=ls.hour.utc.range,ls.month=Pe(function(t){return t=ls.day(t),t.setDate(1),t},function(t,e){t.setMonth(t.getMonth()+e)},function(t){return t.getMonth()}),ls.months=ls.month.range,ls.months.utc=ls.month.utc.range;var Yl=[1e3,5e3,15e3,3e4,6e4,3e5,9e5,18e5,36e5,108e5,216e5,432e5,864e5,1728e5,6048e5,2592e6,7776e6,31536e6],Xl=[[ls.second,1],[ls.second,5],[ls.second,15],[ls.second,30],[ls.minute,1],[ls.minute,5],[ls.minute,15],[ls.minute,30],[ls.hour,1],[ls.hour,3],[ls.hour,6],[ls.hour,12],[ls.day,1],[ls.day,2],[ls.week,1],[ls.month,1],[ls.month,3],[ls.year,1]],Jl=Vl.multi([[".%L",function(t){return t.getMilliseconds()}],[":%S",function(t){return t.getSeconds()}],["%I:%M",function(t){return t.getMinutes()}],["%I %p",function(t){return t.getHours()}],["%a %d",function(t){return t.getDay()&&1!=t.getDate()}],["%b %d",function(t){return 1!=t.getDate()}],["%B",function(t){return t.getMonth()}],["%Y",An]]),Zl={range:function(t,e,n){return ru.range(Math.ceil(t/n)*n,+e,n).map(tu)},floor:b,ceil:b};Xl.year=ls.year,ls.scale=function(){return Qa(ru.scale.linear(),Xl,Jl)};var Kl=Xl.map(function(t){return[t[0].utc,t[1]]}),Gl=Ul.multi([[".%L",function(t){return t.getUTCMilliseconds()}],[":%S",function(t){return t.getUTCSeconds()}],["%I:%M",function(t){return t.getUTCMinutes()}],["%I %p",function(t){return t.getUTCHours()}],["%a %d",function(t){return t.getUTCDay()&&1!=t.getUTCDate()}],["%b %d",function(t){return 1!=t.getUTCDate()}],["%B",function(t){return t.getUTCMonth()}],["%Y",An]]);Kl.year=ls.year.utc,ls.scale.utc=function(){return Qa(ru.scale.linear(),Kl,Gl)},ru.text=Te(function(t){return t.responseText}),ru.json=function(t,e){return je(t,"application/json",eu,e)},ru.html=function(t,e){return je(t,"text/html",nu,e)},ru.xml=Te(function(t){return t.responseXML}),"function"==typeof define&&define.amd?define(ru):"object"==typeof e&&e.exports&&(e.exports=ru),this.d3=ru}()},{}],57:[function(t,e,n){function r(){return"WebkitAppearance"in document.documentElement.style||window.console&&(console.firebug||console.exception&&console.table)||navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31}function i(){var t=arguments,e=this.useColors;if(t[0]=(e?"%c":"")+this.namespace+(e?" %c":" ")+t[0]+(e?"%c ":" ")+"+"+n.humanize(this.diff),!e)return t;var r="color: "+this.color;t=[t[0],r,"color: inherit"].concat(Array.prototype.slice.call(t,1));var i=0,o=0;return t[0].replace(/%[a-z%]/g,function(t){"%%"!==t&&(i++,"%c"===t&&(o=i))}),t.splice(o,0,r),t}function o(){return"object"==typeof console&&console.log&&Function.prototype.apply.call(console.log,console,arguments)}function a(t){try{null==t?l.removeItem("debug"):l.debug=t}catch(e){}}function u(){var t;try{t=l.debug}catch(e){}return t}function s(){try{return window.localStorage}catch(t){}}n=e.exports=t("./debug"),n.log=o,n.formatArgs=i,n.save=a,n.load=u,n.useColors=r;var l;l="undefined"!=typeof chrome&&"undefined"!=typeof chrome.storage?chrome.storage.local:s(),n.colors=["lightseagreen","forestgreen","goldenrod","dodgerblue","darkorchid","crimson"],n.formatters.j=function(t){return JSON.stringify(t)},n.enable(u())},{"./debug":58}],58:[function(t,e,n){function r(){return n.colors[c++%n.colors.length]}function i(t){function e(){}function i(){var t=i,e=+new Date,o=e-(l||e);t.diff=o,t.prev=l,t.curr=e,l=e,null==t.useColors&&(t.useColors=n.useColors()),null==t.color&&t.useColors&&(t.color=r());var a=Array.prototype.slice.call(arguments);a[0]=n.coerce(a[0]),"string"!=typeof a[0]&&(a=["%o"].concat(a));var u=0;a[0]=a[0].replace(/%([a-z%])/g,function(e,r){if("%%"===e)return e;u++;var i=n.formatters[r];if("function"==typeof i){var o=a[u];e=i.call(t,o),a.splice(u,1),u--}return e}),"function"==typeof n.formatArgs&&(a=n.formatArgs.apply(t,a));var s=i.log||n.log||console.log.bind(console);s.apply(t,a)}e.enabled=!1,i.enabled=!0;var o=n.enabled(t)?i:e;return o.namespace=t,o}function o(t){n.save(t);for(var e=(t||"").split(/[\s,]+/),r=e.length,i=0;r>i;i++)e[i]&&(t=e[i].replace(/\*/g,".*?"),"-"===t[0]?n.skips.push(new RegExp("^"+t.substr(1)+"$")):n.names.push(new RegExp("^"+t+"$")))}function a(){n.enable("")}function u(t){var e,r;for(e=0,r=n.skips.length;r>e;e++)if(n.skips[e].test(t))return!1;for(e=0,r=n.names.length;r>e;e++)if(n.names[e].test(t))return!0;return!1}function s(t){return t instanceof Error?t.stack||t.message:t}n=e.exports=i,n.coerce=s,n.disable=a,n.enable=o,n.enabled=u,n.humanize=t("ms"),n.names=[],n.skips=[],n.formatters={};var l,c=0},{ms:59}],59:[function(t,e){function n(t){var e=/^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(t);if(e){var n=parseFloat(e[1]),r=(e[2]||"ms").toLowerCase();switch(r){case"years":case"year":case"yrs":case"yr":case"y":return n*c;case"days":case"day":case"d":return n*l;case"hours":case"hour":case"hrs":case"hr":case"h":return n*s;case"minutes":case"minute":case"mins":case"min":case"m":return n*u;case"seconds":case"second":case"secs":case"sec":case"s":return n*a;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return n}}}function r(t){return t>=l?Math.round(t/l)+"d":t>=s?Math.round(t/s)+"h":t>=u?Math.round(t/u)+"m":t>=a?Math.round(t/a)+"s":t+"ms"}function i(t){return o(t,l,"day")||o(t,s,"hour")||o(t,u,"minute")||o(t,a,"second")||t+" ms"}function o(t,e,n){return e>t?void 0:1.5*e>t?Math.floor(t/e)+" "+n:Math.ceil(t/e)+" "+n+"s"}var a=1e3,u=60*a,s=60*u,l=24*s,c=365.25*l;e.exports=function(t,e){return e=e||{},"string"==typeof t?n(t):e["long"]?i(t):r(t)}},{}],60:[function(t,e,n){(function(r){!function(t){if("object"==typeof n&&"undefined"!=typeof e)e.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var i;"undefined"!=typeof window?i=window:"undefined"!=typeof r?i=r:"undefined"!=typeof self&&(i=self),i.jade=t()}}(function(){return function e(n,r,i){function o(u,s){if(!r[u]){if(!n[u]){var l="function"==typeof t&&t;if(!s&&l)return l(u,!0);if(a)return a(u,!0);var c=new Error("Cannot find module '"+u+"'");throw c.code="MODULE_NOT_FOUND",c}var f=r[u]={exports:{}};n[u][0].call(f.exports,function(t){var e=n[u][1][t];return o(e?e:t)},f,f.exports,e,n,r,i)}return r[u].exports}for(var a="function"==typeof t&&t,u=0;u<i.length;u++)o(i[u]);return o}({1:[function(t,e,n){"use strict";function r(t){return null!=t&&""!==t}function i(t){return(Array.isArray(t)?t.map(i):t&&"object"==typeof t?Object.keys(t).filter(function(e){return t[e]}):[t]).filter(r).join(" ")}n.merge=function o(t,e){if(1===arguments.length){for(var n=t[0],i=1;i<t.length;i++)n=o(n,t[i]);return n}var a=t["class"],u=e["class"];(a||u)&&(a=a||[],u=u||[],Array.isArray(a)||(a=[a]),Array.isArray(u)||(u=[u]),t["class"]=a.concat(u).filter(r));for(var s in e)"class"!=s&&(t[s]=e[s]);return t},n.joinClasses=i,n.cls=function(t,e){for(var r=[],o=0;o<t.length;o++)r.push(e&&e[o]?n.escape(i([t[o]])):i(t[o]));var a=i(r);return a.length?' class="'+a+'"':""},n.style=function(t){return t&&"object"==typeof t?Object.keys(t).map(function(e){return e+":"+t[e]}).join(";"):t},n.attr=function(t,e,r,i){return"style"===t&&(e=n.style(e)),"boolean"==typeof e||null==e?e?" "+(i?t:t+'="'+t+'"'):"":0==t.indexOf("data")&&"string"!=typeof e?(-1!==JSON.stringify(e).indexOf("&")&&console.warn("Since Jade 2.0.0, ampersands (`&`) in data attributes will be escaped to `&amp;`"),e&&"function"==typeof e.toISOString&&console.warn("Jade will eliminate the double quotes around dates in ISO form after 2.0.0")," "+t+"='"+JSON.stringify(e).replace(/'/g,"&apos;")+"'"):r?(e&&"function"==typeof e.toISOString&&console.warn("Jade will stringify dates in ISO form after 2.0.0")," "+t+'="'+n.escape(e)+'"'):(e&&"function"==typeof e.toISOString&&console.warn("Jade will stringify dates in ISO form after 2.0.0")," "+t+'="'+e+'"')},n.attrs=function(t,e){var r=[],o=Object.keys(t);if(o.length)for(var a=0;a<o.length;++a){var u=o[a],s=t[u];"class"==u?(s=i(s))&&r.push(" "+u+'="'+s+'"'):r.push(n.attr(u,s,!1,e))}return r.join("")},n.escape=function(t){var e=String(t).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;");return e===""+t?t:e},n.rethrow=function a(e,n,r,i){if(!(e instanceof Error))throw e;if(!("undefined"==typeof window&&n||i))throw e.message+=" on line "+r,e;try{i=i||t("fs").readFileSync(n,"utf8")}catch(o){a(e,null,r)}var u=3,s=i.split("\n"),l=Math.max(r-u,0),c=Math.min(s.length,r+u),u=s.slice(l,c).map(function(t,e){var n=e+l+1;return(n==r?" > ":" ")+n+"| "+t}).join("\n");throw e.path=n,e.message=(n||"Jade")+":"+r+"\n"+u+"\n\n"+e.message,e}},{fs:2}],2:[function(){},{}]},{},[1])(1)})}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{fs:55}],61:[function(t,e){!function(t,n){"object"==typeof e&&"object"==typeof e.exports?e.exports=t.document?n(t,!0):function(t){if(!t.document)throw new Error("jQuery requires a window with a document");return n(t)}:n(t)}("undefined"!=typeof window?window:this,function(t,e){function n(t){var e=t.length,n=Q.type(t);return"function"===n||Q.isWindow(t)?!1:1===t.nodeType&&e?!0:"array"===n||0===e||"number"==typeof e&&e>0&&e-1 in t}function r(t,e,n){if(Q.isFunction(e))return Q.grep(t,function(t,r){return!!e.call(t,r,t)!==n});if(e.nodeType)return Q.grep(t,function(t){return t===e!==n});if("string"==typeof e){if(ue.test(e))return Q.filter(e,t,n);e=Q.filter(e,t)}return Q.grep(t,function(t){return W.call(e,t)>=0!==n})}function i(t,e){for(;(t=t[e])&&1!==t.nodeType;);return t}function o(t){var e=de[t]={};return Q.each(t.match(pe)||[],function(t,n){e[n]=!0}),e}function a(){K.removeEventListener("DOMContentLoaded",a,!1),t.removeEventListener("load",a,!1),Q.ready()}function u(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=Q.expando+u.uid++}function s(t,e,data){var n;if(void 0===data&&1===t.nodeType)if(n="data-"+e.replace(xe,"-$1").toLowerCase(),data=t.getAttribute(n),"string"==typeof data){try{data="true"===data?!0:"false"===data?!1:"null"===data?null:+data+""===data?+data:be.test(data)?Q.parseJSON(data):data}catch(r){}ye.set(t,e,data)}else data=void 0;return data}function l(){return!0}function c(){return!1}function f(){try{return K.activeElement}catch(t){}}function h(t,e){return Q.nodeName(t,"table")&&Q.nodeName(11!==e.nodeType?e:e.firstChild,"tr")?t.getElementsByTagName("tbody")[0]||t.appendChild(t.ownerDocument.createElement("tbody")):t}function p(t){return t.type=(null!==t.getAttribute("type"))+"/"+t.type,t}function d(t){var e=Fe.exec(t.type);return e?t.type=e[1]:t.removeAttribute("type"),t}function g(t,e){for(var n=0,r=t.length;r>n;n++)me.set(t[n],"globalEval",!e||me.get(e[n],"globalEval"))}function v(t,e){var n,r,i,o,a,u,s,l;if(1===e.nodeType){if(me.hasData(t)&&(o=me.access(t),a=me.set(e,o),l=o.events)){delete a.handle,a.events={};for(i in l)for(n=0,r=l[i].length;r>n;n++)Q.event.add(e,i,l[i][n])}ye.hasData(t)&&(u=ye.access(t),s=Q.extend({},u),ye.set(e,s))}}function m(t,e){var n=t.getElementsByTagName?t.getElementsByTagName(e||"*"):t.querySelectorAll?t.querySelectorAll(e||"*"):[];return void 0===e||e&&Q.nodeName(t,e)?Q.merge([t],n):n}function y(t,e){var n=e.nodeName.toLowerCase();"input"===n&&ke.test(t.type)?e.checked=t.checked:("input"===n||"textarea"===n)&&(e.defaultValue=t.defaultValue)}function b(e,n){var r,i=Q(n.createElement(e)).appendTo(n.body),o=t.getDefaultComputedStyle&&(r=t.getDefaultComputedStyle(i[0]))?r.display:Q.css(i[0],"display");return i.detach(),o}function x(t){var e=K,n=Pe[t];return n||(n=b(t,e),"none"!==n&&n||(Ie=(Ie||Q("<iframe frameborder='0' width='0' height='0'/>")).appendTo(e.documentElement),e=Ie[0].contentDocument,e.write(),e.close(),n=b(t,e),Ie.detach()),Pe[t]=n),n}function w(t,e,n){var r,i,o,a,u=t.style;return n=n||$e(t),n&&(a=n.getPropertyValue(e)||n[e]),n&&(""!==a||Q.contains(t.ownerDocument,t)||(a=Q.style(t,e)),Be.test(a)&&He.test(e)&&(r=u.width,i=u.minWidth,o=u.maxWidth,u.minWidth=u.maxWidth=u.width=a,a=n.width,u.width=r,u.minWidth=i,u.maxWidth=o)),void 0!==a?a+"":a}function _(t,e){return{get:function(){return t()?void delete this.get:(this.get=e).apply(this,arguments)}}}function M(t,e){if(e in t)return e;for(var n=e[0].toUpperCase()+e.slice(1),r=e,i=Je.length;i--;)if(e=Je[i]+n,e in t)return e;return r}function k(t,e,n){var r=Ue.exec(e);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):e}function E(t,e,n,r,i){for(var o=n===(r?"border":"content")?4:"width"===e?1:0,a=0;4>o;o+=2)"margin"===n&&(a+=Q.css(t,n+_e[o],!0,i)),r?("content"===n&&(a-=Q.css(t,"padding"+_e[o],!0,i)),"margin"!==n&&(a-=Q.css(t,"border"+_e[o]+"Width",!0,i))):(a+=Q.css(t,"padding"+_e[o],!0,i),"padding"!==n&&(a+=Q.css(t,"border"+_e[o]+"Width",!0,i)));return a}function C(t,e,n){var r=!0,i="width"===e?t.offsetWidth:t.offsetHeight,o=$e(t),a="border-box"===Q.css(t,"boxSizing",!1,o);if(0>=i||null==i){if(i=w(t,e,o),(0>i||null==i)&&(i=t.style[e]),Be.test(i))return i;r=a&&(Z.boxSizingReliable()||i===t.style[e]),i=parseFloat(i)||0}return i+E(t,e,n||(a?"border":"content"),r,o)+"px"}function S(t,e){for(var n,r,i,o=[],a=0,u=t.length;u>a;a++)r=t[a],r.style&&(o[a]=me.get(r,"olddisplay"),n=r.style.display,e?(o[a]||"none"!==n||(r.style.display=""),""===r.style.display&&Me(r)&&(o[a]=me.access(r,"olddisplay",x(r.nodeName)))):(i=Me(r),"none"===n&&i||me.set(r,"olddisplay",i?n:Q.css(r,"display"))));for(a=0;u>a;a++)r=t[a],r.style&&(e&&"none"!==r.style.display&&""!==r.style.display||(r.style.display=e?o[a]||"":"none"));return t}function T(t,e,n,r,i){return new T.prototype.init(t,e,n,r,i)}function j(){return setTimeout(function(){Ze=void 0}),Ze=Q.now()}function A(t,e){var n,r=0,i={height:t};for(e=e?1:0;4>r;r+=2-e)n=_e[r],i["margin"+n]=i["padding"+n]=t;return e&&(i.opacity=i.width=t),i}function N(t,e,n){for(var r,i=(nn[e]||[]).concat(nn["*"]),o=0,a=i.length;a>o;o++)if(r=i[o].call(n,e,t))return r}function O(t,e,n){var r,i,o,a,u,s,l,c,f=this,h={},p=t.style,d=t.nodeType&&Me(t),g=me.get(t,"fxshow");n.queue||(u=Q._queueHooks(t,"fx"),null==u.unqueued&&(u.unqueued=0,s=u.empty.fire,u.empty.fire=function(){u.unqueued||s()}),u.unqueued++,f.always(function(){f.always(function(){u.unqueued--,Q.queue(t,"fx").length||u.empty.fire()})})),1===t.nodeType&&("height"in e||"width"in e)&&(n.overflow=[p.overflow,p.overflowX,p.overflowY],l=Q.css(t,"display"),c="none"===l?me.get(t,"olddisplay")||x(t.nodeName):l,"inline"===c&&"none"===Q.css(t,"float")&&(p.display="inline-block")),n.overflow&&(p.overflow="hidden",f.always(function(){p.overflow=n.overflow[0],p.overflowX=n.overflow[1],p.overflowY=n.overflow[2]}));for(r in e)if(i=e[r],Ge.exec(i)){if(delete e[r],o=o||"toggle"===i,i===(d?"hide":"show")){if("show"!==i||!g||void 0===g[r])continue;d=!0}h[r]=g&&g[r]||Q.style(t,r)}else l=void 0;if(Q.isEmptyObject(h))"inline"===("none"===l?x(t.nodeName):l)&&(p.display=l);else{g?"hidden"in g&&(d=g.hidden):g=me.access(t,"fxshow",{}),o&&(g.hidden=!d),d?Q(t).show():f.done(function(){Q(t).hide()}),f.done(function(){var e;me.remove(t,"fxshow");for(e in h)Q.style(t,e,h[e])});for(r in h)a=N(d?g[r]:0,r,f),r in g||(g[r]=a.start,d&&(a.end=a.start,a.start="width"===r||"height"===r?1:0))}}function q(t,e){var n,r,i,o,a;for(n in t)if(r=Q.camelCase(n),i=e[r],o=t[n],Q.isArray(o)&&(i=o[1],o=t[n]=o[0]),n!==r&&(t[r]=o,delete t[n]),a=Q.cssHooks[r],a&&"expand"in a){o=a.expand(o),delete t[r];for(n in o)n in t||(t[n]=o[n],e[n]=i)}else e[r]=i}function D(t,e,n){var r,i,o=0,a=en.length,u=Q.Deferred().always(function(){delete s.elem}),s=function(){if(i)return!1;for(var e=Ze||j(),n=Math.max(0,l.startTime+l.duration-e),r=n/l.duration||0,o=1-r,a=0,s=l.tweens.length;s>a;a++)l.tweens[a].run(o);return u.notifyWith(t,[l,o,n]),1>o&&s?n:(u.resolveWith(t,[l]),!1)},l=u.promise({elem:t,props:Q.extend({},e),opts:Q.extend(!0,{specialEasing:{}},n),originalProperties:e,originalOptions:n,startTime:Ze||j(),duration:n.duration,tweens:[],createTween:function(e,n){var r=Q.Tween(t,l.opts,e,n,l.opts.specialEasing[e]||l.opts.easing);
+return l.tweens.push(r),r},stop:function(e){var n=0,r=e?l.tweens.length:0;if(i)return this;for(i=!0;r>n;n++)l.tweens[n].run(1);return e?u.resolveWith(t,[l,e]):u.rejectWith(t,[l,e]),this}}),c=l.props;for(q(c,l.opts.specialEasing);a>o;o++)if(r=en[o].call(l,t,c,l.opts))return r;return Q.map(c,N,l),Q.isFunction(l.opts.start)&&l.opts.start.call(t,l),Q.fx.timer(Q.extend(s,{elem:t,anim:l,queue:l.opts.queue})),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always)}function L(t){return function(e,n){"string"!=typeof e&&(n=e,e="*");var r,i=0,o=e.toLowerCase().match(pe)||[];if(Q.isFunction(n))for(;r=o[i++];)"+"===r[0]?(r=r.slice(1)||"*",(t[r]=t[r]||[]).unshift(n)):(t[r]=t[r]||[]).push(n)}}function F(t,e,n,r){function i(u){var s;return o[u]=!0,Q.each(t[u]||[],function(t,u){var l=u(e,n,r);return"string"!=typeof l||a||o[l]?a?!(s=l):void 0:(e.dataTypes.unshift(l),i(l),!1)}),s}var o={},a=t===xn;return i(e.dataTypes[0])||!o["*"]&&i("*")}function z(t,e){var n,r,i=Q.ajaxSettings.flatOptions||{};for(n in e)void 0!==e[n]&&((i[n]?t:r||(r={}))[n]=e[n]);return r&&Q.extend(!0,t,r),t}function R(t,e,n){for(var r,i,o,a,u=t.contents,s=t.dataTypes;"*"===s[0];)s.shift(),void 0===r&&(r=t.mimeType||e.getResponseHeader("Content-Type"));if(r)for(i in u)if(u[i]&&u[i].test(r)){s.unshift(i);break}if(s[0]in n)o=s[0];else{for(i in n){if(!s[0]||t.converters[i+" "+s[0]]){o=i;break}a||(a=i)}o=o||a}return o?(o!==s[0]&&s.unshift(o),n[o]):void 0}function I(t,e,n,r){var i,o,a,u,s,l={},c=t.dataTypes.slice();if(c[1])for(a in t.converters)l[a.toLowerCase()]=t.converters[a];for(o=c.shift();o;)if(t.responseFields[o]&&(n[t.responseFields[o]]=e),!s&&r&&t.dataFilter&&(e=t.dataFilter(e,t.dataType)),s=o,o=c.shift())if("*"===o)o=s;else if("*"!==s&&s!==o){if(a=l[s+" "+o]||l["* "+o],!a)for(i in l)if(u=i.split(" "),u[1]===o&&(a=l[s+" "+u[0]]||l["* "+u[0]])){a===!0?a=l[i]:l[i]!==!0&&(o=u[0],c.unshift(u[1]));break}if(a!==!0)if(a&&t["throws"])e=a(e);else try{e=a(e)}catch(f){return{state:"parsererror",error:a?f:"No conversion from "+s+" to "+o}}}return{state:"success",data:e}}function P(t,e,n,r){var i;if(Q.isArray(e))Q.each(e,function(e,i){n||En.test(t)?r(t,i):P(t+"["+("object"==typeof i?e:"")+"]",i,n,r)});else if(n||"object"!==Q.type(e))r(t,e);else for(i in e)P(t+"["+i+"]",e[i],n,r)}function H(t){return Q.isWindow(t)?t:9===t.nodeType&&t.defaultView}var B=[],$=B.slice,V=B.concat,U=B.push,W=B.indexOf,Y={},X=Y.toString,J=Y.hasOwnProperty,Z={},K=t.document,G="2.1.3",Q=function(t,e){return new Q.fn.init(t,e)},te=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,ee=/^-ms-/,ne=/-([\da-z])/gi,re=function(t,e){return e.toUpperCase()};Q.fn=Q.prototype={jquery:G,constructor:Q,selector:"",length:0,toArray:function(){return $.call(this)},get:function(t){return null!=t?0>t?this[t+this.length]:this[t]:$.call(this)},pushStack:function(t){var e=Q.merge(this.constructor(),t);return e.prevObject=this,e.context=this.context,e},each:function(t,e){return Q.each(this,t,e)},map:function(t){return this.pushStack(Q.map(this,function(e,n){return t.call(e,n,e)}))},slice:function(){return this.pushStack($.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(t){var e=this.length,n=+t+(0>t?e:0);return this.pushStack(n>=0&&e>n?[this[n]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:U,sort:B.sort,splice:B.splice},Q.extend=Q.fn.extend=function(){var t,e,n,r,i,o,a=arguments[0]||{},u=1,s=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[u]||{},u++),"object"==typeof a||Q.isFunction(a)||(a={}),u===s&&(a=this,u--);s>u;u++)if(null!=(t=arguments[u]))for(e in t)n=a[e],r=t[e],a!==r&&(l&&r&&(Q.isPlainObject(r)||(i=Q.isArray(r)))?(i?(i=!1,o=n&&Q.isArray(n)?n:[]):o=n&&Q.isPlainObject(n)?n:{},a[e]=Q.extend(l,o,r)):void 0!==r&&(a[e]=r));return a},Q.extend({expando:"jQuery"+(G+Math.random()).replace(/\D/g,""),isReady:!0,error:function(t){throw new Error(t)},noop:function(){},isFunction:function(t){return"function"===Q.type(t)},isArray:Array.isArray,isWindow:function(t){return null!=t&&t===t.window},isNumeric:function(t){return!Q.isArray(t)&&t-parseFloat(t)+1>=0},isPlainObject:function(t){return"object"!==Q.type(t)||t.nodeType||Q.isWindow(t)?!1:t.constructor&&!J.call(t.constructor.prototype,"isPrototypeOf")?!1:!0},isEmptyObject:function(t){var e;for(e in t)return!1;return!0},type:function(t){return null==t?t+"":"object"==typeof t||"function"==typeof t?Y[X.call(t)]||"object":typeof t},globalEval:function(t){var e,n=eval;t=Q.trim(t),t&&(1===t.indexOf("use strict")?(e=K.createElement("script"),e.text=t,K.head.appendChild(e).parentNode.removeChild(e)):n(t))},camelCase:function(t){return t.replace(ee,"ms-").replace(ne,re)},nodeName:function(t,e){return t.nodeName&&t.nodeName.toLowerCase()===e.toLowerCase()},each:function(t,e,r){var i,o=0,a=t.length,u=n(t);if(r){if(u)for(;a>o&&(i=e.apply(t[o],r),i!==!1);o++);else for(o in t)if(i=e.apply(t[o],r),i===!1)break}else if(u)for(;a>o&&(i=e.call(t[o],o,t[o]),i!==!1);o++);else for(o in t)if(i=e.call(t[o],o,t[o]),i===!1)break;return t},trim:function(t){return null==t?"":(t+"").replace(te,"")},makeArray:function(t,e){var r=e||[];return null!=t&&(n(Object(t))?Q.merge(r,"string"==typeof t?[t]:t):U.call(r,t)),r},inArray:function(t,e,n){return null==e?-1:W.call(e,t,n)},merge:function(t,e){for(var n=+e.length,r=0,i=t.length;n>r;r++)t[i++]=e[r];return t.length=i,t},grep:function(t,e,n){for(var r,i=[],o=0,a=t.length,u=!n;a>o;o++)r=!e(t[o],o),r!==u&&i.push(t[o]);return i},map:function(t,e,r){var i,o=0,a=t.length,u=n(t),s=[];if(u)for(;a>o;o++)i=e(t[o],o,r),null!=i&&s.push(i);else for(o in t)i=e(t[o],o,r),null!=i&&s.push(i);return V.apply([],s)},guid:1,proxy:function(t,e){var n,r,i;return"string"==typeof e&&(n=t[e],e=t,t=n),Q.isFunction(t)?(r=$.call(arguments,2),i=function(){return t.apply(e||this,r.concat($.call(arguments)))},i.guid=t.guid=t.guid||Q.guid++,i):void 0},now:Date.now,support:Z}),Q.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(t,e){Y["[object "+e+"]"]=e.toLowerCase()});var ie=function(t){function e(t,e,n,r){var i,o,a,u,s,l,f,p,d,g;if((e?e.ownerDocument||e:P)!==O&&N(e),e=e||O,n=n||[],u=e.nodeType,"string"!=typeof t||!t||1!==u&&9!==u&&11!==u)return n;if(!r&&D){if(11!==u&&(i=ye.exec(t)))if(a=i[1]){if(9===u){if(o=e.getElementById(a),!o||!o.parentNode)return n;if(o.id===a)return n.push(o),n}else if(e.ownerDocument&&(o=e.ownerDocument.getElementById(a))&&R(e,o)&&o.id===a)return n.push(o),n}else{if(i[2])return G.apply(n,e.getElementsByTagName(t)),n;if((a=i[3])&&w.getElementsByClassName)return G.apply(n,e.getElementsByClassName(a)),n}if(w.qsa&&(!L||!L.test(t))){if(p=f=I,d=e,g=1!==u&&t,1===u&&"object"!==e.nodeName.toLowerCase()){for(l=E(t),(f=e.getAttribute("id"))?p=f.replace(xe,"\\$&"):e.setAttribute("id",p),p="[id='"+p+"'] ",s=l.length;s--;)l[s]=p+h(l[s]);d=be.test(t)&&c(e.parentNode)||e,g=l.join(",")}if(g)try{return G.apply(n,d.querySelectorAll(g)),n}catch(v){}finally{f||e.removeAttribute("id")}}}return S(t.replace(se,"$1"),e,n,r)}function n(){function t(n,r){return e.push(n+" ")>_.cacheLength&&delete t[e.shift()],t[n+" "]=r}var e=[];return t}function r(t){return t[I]=!0,t}function i(t){var e=O.createElement("div");try{return!!t(e)}catch(n){return!1}finally{e.parentNode&&e.parentNode.removeChild(e),e=null}}function o(t,e){for(var n=t.split("|"),r=t.length;r--;)_.attrHandle[n[r]]=e}function a(t,e){var n=e&&t,r=n&&1===t.nodeType&&1===e.nodeType&&(~e.sourceIndex||Y)-(~t.sourceIndex||Y);if(r)return r;if(n)for(;n=n.nextSibling;)if(n===e)return-1;return t?1:-1}function u(t){return function(e){var n=e.nodeName.toLowerCase();return"input"===n&&e.type===t}}function s(t){return function(e){var n=e.nodeName.toLowerCase();return("input"===n||"button"===n)&&e.type===t}}function l(t){return r(function(e){return e=+e,r(function(n,r){for(var i,o=t([],n.length,e),a=o.length;a--;)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}function c(t){return t&&"undefined"!=typeof t.getElementsByTagName&&t}function f(){}function h(t){for(var e=0,n=t.length,r="";n>e;e++)r+=t[e].value;return r}function p(t,e,n){var r=e.dir,i=n&&"parentNode"===r,o=B++;return e.first?function(e,n,o){for(;e=e[r];)if(1===e.nodeType||i)return t(e,n,o)}:function(e,n,a){var u,s,l=[H,o];if(a){for(;e=e[r];)if((1===e.nodeType||i)&&t(e,n,a))return!0}else for(;e=e[r];)if(1===e.nodeType||i){if(s=e[I]||(e[I]={}),(u=s[r])&&u[0]===H&&u[1]===o)return l[2]=u[2];if(s[r]=l,l[2]=t(e,n,a))return!0}}}function d(t){return t.length>1?function(e,n,r){for(var i=t.length;i--;)if(!t[i](e,n,r))return!1;return!0}:t[0]}function g(t,n,r){for(var i=0,o=n.length;o>i;i++)e(t,n[i],r);return r}function v(t,e,n,r,i){for(var o,a=[],u=0,s=t.length,l=null!=e;s>u;u++)(o=t[u])&&(!n||n(o,r,i))&&(a.push(o),l&&e.push(u));return a}function m(t,e,n,i,o,a){return i&&!i[I]&&(i=m(i)),o&&!o[I]&&(o=m(o,a)),r(function(r,a,u,s){var l,c,f,h=[],p=[],d=a.length,m=r||g(e||"*",u.nodeType?[u]:u,[]),y=!t||!r&&e?m:v(m,h,t,u,s),b=n?o||(r?t:d||i)?[]:a:y;if(n&&n(y,b,u,s),i)for(l=v(b,p),i(l,[],u,s),c=l.length;c--;)(f=l[c])&&(b[p[c]]=!(y[p[c]]=f));if(r){if(o||t){if(o){for(l=[],c=b.length;c--;)(f=b[c])&&l.push(y[c]=f);o(null,b=[],l,s)}for(c=b.length;c--;)(f=b[c])&&(l=o?te(r,f):h[c])>-1&&(r[l]=!(a[l]=f))}}else b=v(b===a?b.splice(d,b.length):b),o?o(null,a,b,s):G.apply(a,b)})}function y(t){for(var e,n,r,i=t.length,o=_.relative[t[0].type],a=o||_.relative[" "],u=o?1:0,s=p(function(t){return t===e},a,!0),l=p(function(t){return te(e,t)>-1},a,!0),c=[function(t,n,r){var i=!o&&(r||n!==T)||((e=n).nodeType?s(t,n,r):l(t,n,r));return e=null,i}];i>u;u++)if(n=_.relative[t[u].type])c=[p(d(c),n)];else{if(n=_.filter[t[u].type].apply(null,t[u].matches),n[I]){for(r=++u;i>r&&!_.relative[t[r].type];r++);return m(u>1&&d(c),u>1&&h(t.slice(0,u-1).concat({value:" "===t[u-2].type?"*":""})).replace(se,"$1"),n,r>u&&y(t.slice(u,r)),i>r&&y(t=t.slice(r)),i>r&&h(t))}c.push(n)}return d(c)}function b(t,n){var i=n.length>0,o=t.length>0,a=function(r,a,u,s,l){var c,f,h,p=0,d="0",g=r&&[],m=[],y=T,b=r||o&&_.find.TAG("*",l),x=H+=null==y?1:Math.random()||.1,w=b.length;for(l&&(T=a!==O&&a);d!==w&&null!=(c=b[d]);d++){if(o&&c){for(f=0;h=t[f++];)if(h(c,a,u)){s.push(c);break}l&&(H=x)}i&&((c=!h&&c)&&p--,r&&g.push(c))}if(p+=d,i&&d!==p){for(f=0;h=n[f++];)h(g,m,a,u);if(r){if(p>0)for(;d--;)g[d]||m[d]||(m[d]=Z.call(s));m=v(m)}G.apply(s,m),l&&!r&&m.length>0&&p+n.length>1&&e.uniqueSort(s)}return l&&(H=x,T=y),g};return i?r(a):a}var x,w,_,M,k,E,C,S,T,j,A,N,O,q,D,L,F,z,R,I="sizzle"+1*new Date,P=t.document,H=0,B=0,$=n(),V=n(),U=n(),W=function(t,e){return t===e&&(A=!0),0},Y=1<<31,X={}.hasOwnProperty,J=[],Z=J.pop,K=J.push,G=J.push,Q=J.slice,te=function(t,e){for(var n=0,r=t.length;r>n;n++)if(t[n]===e)return n;return-1},ee="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",ne="[\\x20\\t\\r\\n\\f]",re="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",ie=re.replace("w","w#"),oe="\\["+ne+"*("+re+")(?:"+ne+"*([*^$|!~]?=)"+ne+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+ie+"))|)"+ne+"*\\]",ae=":("+re+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+oe+")*)|.*)\\)|)",ue=new RegExp(ne+"+","g"),se=new RegExp("^"+ne+"+|((?:^|[^\\\\])(?:\\\\.)*)"+ne+"+$","g"),le=new RegExp("^"+ne+"*,"+ne+"*"),ce=new RegExp("^"+ne+"*([>+~]|"+ne+")"+ne+"*"),fe=new RegExp("="+ne+"*([^\\]'\"]*?)"+ne+"*\\]","g"),he=new RegExp(ae),pe=new RegExp("^"+ie+"$"),de={ID:new RegExp("^#("+re+")"),CLASS:new RegExp("^\\.("+re+")"),TAG:new RegExp("^("+re.replace("w","w*")+")"),ATTR:new RegExp("^"+oe),PSEUDO:new RegExp("^"+ae),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+ne+"*(even|odd|(([+-]|)(\\d*)n|)"+ne+"*(?:([+-]|)"+ne+"*(\\d+)|))"+ne+"*\\)|)","i"),bool:new RegExp("^(?:"+ee+")$","i"),needsContext:new RegExp("^"+ne+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+ne+"*((?:-\\d)?\\d*)"+ne+"*\\)|)(?=[^-]|$)","i")},ge=/^(?:input|select|textarea|button)$/i,ve=/^h\d$/i,me=/^[^{]+\{\s*\[native \w/,ye=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,be=/[+~]/,xe=/'|\\/g,we=new RegExp("\\\\([\\da-f]{1,6}"+ne+"?|("+ne+")|.)","ig"),_e=function(t,e,n){var r="0x"+e-65536;return r!==r||n?e:0>r?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},Me=function(){N()};try{G.apply(J=Q.call(P.childNodes),P.childNodes),J[P.childNodes.length].nodeType}catch(ke){G={apply:J.length?function(t,e){K.apply(t,Q.call(e))}:function(t,e){for(var n=t.length,r=0;t[n++]=e[r++];);t.length=n-1}}}w=e.support={},k=e.isXML=function(t){var e=t&&(t.ownerDocument||t).documentElement;return e?"HTML"!==e.nodeName:!1},N=e.setDocument=function(t){var e,n,r=t?t.ownerDocument||t:P;return r!==O&&9===r.nodeType&&r.documentElement?(O=r,q=r.documentElement,n=r.defaultView,n&&n!==n.top&&(n.addEventListener?n.addEventListener("unload",Me,!1):n.attachEvent&&n.attachEvent("onunload",Me)),D=!k(r),w.attributes=i(function(t){return t.className="i",!t.getAttribute("className")}),w.getElementsByTagName=i(function(t){return t.appendChild(r.createComment("")),!t.getElementsByTagName("*").length}),w.getElementsByClassName=me.test(r.getElementsByClassName),w.getById=i(function(t){return q.appendChild(t).id=I,!r.getElementsByName||!r.getElementsByName(I).length}),w.getById?(_.find.ID=function(t,e){if("undefined"!=typeof e.getElementById&&D){var n=e.getElementById(t);return n&&n.parentNode?[n]:[]}},_.filter.ID=function(t){var e=t.replace(we,_e);return function(t){return t.getAttribute("id")===e}}):(delete _.find.ID,_.filter.ID=function(t){var e=t.replace(we,_e);return function(t){var n="undefined"!=typeof t.getAttributeNode&&t.getAttributeNode("id");return n&&n.value===e}}),_.find.TAG=w.getElementsByTagName?function(t,e){return"undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t):w.qsa?e.querySelectorAll(t):void 0}:function(t,e){var n,r=[],i=0,o=e.getElementsByTagName(t);if("*"===t){for(;n=o[i++];)1===n.nodeType&&r.push(n);return r}return o},_.find.CLASS=w.getElementsByClassName&&function(t,e){return D?e.getElementsByClassName(t):void 0},F=[],L=[],(w.qsa=me.test(r.querySelectorAll))&&(i(function(t){q.appendChild(t).innerHTML="<a id='"+I+"'></a><select id='"+I+"-\f]' msallowcapture=''><option selected=''></option></select>",t.querySelectorAll("[msallowcapture^='']").length&&L.push("[*^$]="+ne+"*(?:''|\"\")"),t.querySelectorAll("[selected]").length||L.push("\\["+ne+"*(?:value|"+ee+")"),t.querySelectorAll("[id~="+I+"-]").length||L.push("~="),t.querySelectorAll(":checked").length||L.push(":checked"),t.querySelectorAll("a#"+I+"+*").length||L.push(".#.+[+~]")}),i(function(t){var e=r.createElement("input");e.setAttribute("type","hidden"),t.appendChild(e).setAttribute("name","D"),t.querySelectorAll("[name=d]").length&&L.push("name"+ne+"*[*^$|!~]?="),t.querySelectorAll(":enabled").length||L.push(":enabled",":disabled"),t.querySelectorAll("*,:x"),L.push(",.*:")})),(w.matchesSelector=me.test(z=q.matches||q.webkitMatchesSelector||q.mozMatchesSelector||q.oMatchesSelector||q.msMatchesSelector))&&i(function(t){w.disconnectedMatch=z.call(t,"div"),z.call(t,"[s!='']:x"),F.push("!=",ae)}),L=L.length&&new RegExp(L.join("|")),F=F.length&&new RegExp(F.join("|")),e=me.test(q.compareDocumentPosition),R=e||me.test(q.contains)?function(t,e){var n=9===t.nodeType?t.documentElement:t,r=e&&e.parentNode;return t===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):t.compareDocumentPosition&&16&t.compareDocumentPosition(r)))}:function(t,e){if(e)for(;e=e.parentNode;)if(e===t)return!0;return!1},W=e?function(t,e){if(t===e)return A=!0,0;var n=!t.compareDocumentPosition-!e.compareDocumentPosition;return n?n:(n=(t.ownerDocument||t)===(e.ownerDocument||e)?t.compareDocumentPosition(e):1,1&n||!w.sortDetached&&e.compareDocumentPosition(t)===n?t===r||t.ownerDocument===P&&R(P,t)?-1:e===r||e.ownerDocument===P&&R(P,e)?1:j?te(j,t)-te(j,e):0:4&n?-1:1)}:function(t,e){if(t===e)return A=!0,0;var n,i=0,o=t.parentNode,u=e.parentNode,s=[t],l=[e];if(!o||!u)return t===r?-1:e===r?1:o?-1:u?1:j?te(j,t)-te(j,e):0;if(o===u)return a(t,e);for(n=t;n=n.parentNode;)s.unshift(n);for(n=e;n=n.parentNode;)l.unshift(n);for(;s[i]===l[i];)i++;return i?a(s[i],l[i]):s[i]===P?-1:l[i]===P?1:0},r):O},e.matches=function(t,n){return e(t,null,null,n)},e.matchesSelector=function(t,n){if((t.ownerDocument||t)!==O&&N(t),n=n.replace(fe,"='$1']"),!(!w.matchesSelector||!D||F&&F.test(n)||L&&L.test(n)))try{var r=z.call(t,n);if(r||w.disconnectedMatch||t.document&&11!==t.document.nodeType)return r}catch(i){}return e(n,O,null,[t]).length>0},e.contains=function(t,e){return(t.ownerDocument||t)!==O&&N(t),R(t,e)},e.attr=function(t,e){(t.ownerDocument||t)!==O&&N(t);var n=_.attrHandle[e.toLowerCase()],r=n&&X.call(_.attrHandle,e.toLowerCase())?n(t,e,!D):void 0;return void 0!==r?r:w.attributes||!D?t.getAttribute(e):(r=t.getAttributeNode(e))&&r.specified?r.value:null},e.error=function(t){throw new Error("Syntax error, unrecognized expression: "+t)},e.uniqueSort=function(t){var e,n=[],r=0,i=0;if(A=!w.detectDuplicates,j=!w.sortStable&&t.slice(0),t.sort(W),A){for(;e=t[i++];)e===t[i]&&(r=n.push(i));for(;r--;)t.splice(n[r],1)}return j=null,t},M=e.getText=function(t){var e,n="",r=0,i=t.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof t.textContent)return t.textContent;for(t=t.firstChild;t;t=t.nextSibling)n+=M(t)}else if(3===i||4===i)return t.nodeValue}else for(;e=t[r++];)n+=M(e);return n},_=e.selectors={cacheLength:50,createPseudo:r,match:de,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(t){return t[1]=t[1].replace(we,_e),t[3]=(t[3]||t[4]||t[5]||"").replace(we,_e),"~="===t[2]&&(t[3]=" "+t[3]+" "),t.slice(0,4)},CHILD:function(t){return t[1]=t[1].toLowerCase(),"nth"===t[1].slice(0,3)?(t[3]||e.error(t[0]),t[4]=+(t[4]?t[5]+(t[6]||1):2*("even"===t[3]||"odd"===t[3])),t[5]=+(t[7]+t[8]||"odd"===t[3])):t[3]&&e.error(t[0]),t},PSEUDO:function(t){var e,n=!t[6]&&t[2];return de.CHILD.test(t[0])?null:(t[3]?t[2]=t[4]||t[5]||"":n&&he.test(n)&&(e=E(n,!0))&&(e=n.indexOf(")",n.length-e)-n.length)&&(t[0]=t[0].slice(0,e),t[2]=n.slice(0,e)),t.slice(0,3))}},filter:{TAG:function(t){var e=t.replace(we,_e).toLowerCase();return"*"===t?function(){return!0}:function(t){return t.nodeName&&t.nodeName.toLowerCase()===e}},CLASS:function(t){var e=$[t+" "];return e||(e=new RegExp("(^|"+ne+")"+t+"("+ne+"|$)"))&&$(t,function(t){return e.test("string"==typeof t.className&&t.className||"undefined"!=typeof t.getAttribute&&t.getAttribute("class")||"")})},ATTR:function(t,n,r){return function(i){var o=e.attr(i,t);return null==o?"!="===n:n?(o+="","="===n?o===r:"!="===n?o!==r:"^="===n?r&&0===o.indexOf(r):"*="===n?r&&o.indexOf(r)>-1:"$="===n?r&&o.slice(-r.length)===r:"~="===n?(" "+o.replace(ue," ")+" ").indexOf(r)>-1:"|="===n?o===r||o.slice(0,r.length+1)===r+"-":!1):!0}},CHILD:function(t,e,n,r,i){var o="nth"!==t.slice(0,3),a="last"!==t.slice(-4),u="of-type"===e;return 1===r&&0===i?function(t){return!!t.parentNode}:function(e,n,s){var l,c,f,h,p,d,g=o!==a?"nextSibling":"previousSibling",v=e.parentNode,m=u&&e.nodeName.toLowerCase(),y=!s&&!u;if(v){if(o){for(;g;){for(f=e;f=f[g];)if(u?f.nodeName.toLowerCase()===m:1===f.nodeType)return!1;d=g="only"===t&&!d&&"nextSibling"}return!0}if(d=[a?v.firstChild:v.lastChild],a&&y){for(c=v[I]||(v[I]={}),l=c[t]||[],p=l[0]===H&&l[1],h=l[0]===H&&l[2],f=p&&v.childNodes[p];f=++p&&f&&f[g]||(h=p=0)||d.pop();)if(1===f.nodeType&&++h&&f===e){c[t]=[H,p,h];break}}else if(y&&(l=(e[I]||(e[I]={}))[t])&&l[0]===H)h=l[1];else for(;(f=++p&&f&&f[g]||(h=p=0)||d.pop())&&((u?f.nodeName.toLowerCase()!==m:1!==f.nodeType)||!++h||(y&&((f[I]||(f[I]={}))[t]=[H,h]),f!==e)););return h-=i,h===r||h%r===0&&h/r>=0}}},PSEUDO:function(t,n){var i,o=_.pseudos[t]||_.setFilters[t.toLowerCase()]||e.error("unsupported pseudo: "+t);return o[I]?o(n):o.length>1?(i=[t,t,"",n],_.setFilters.hasOwnProperty(t.toLowerCase())?r(function(t,e){for(var r,i=o(t,n),a=i.length;a--;)r=te(t,i[a]),t[r]=!(e[r]=i[a])}):function(t){return o(t,0,i)}):o}},pseudos:{not:r(function(t){var e=[],n=[],i=C(t.replace(se,"$1"));return i[I]?r(function(t,e,n,r){for(var o,a=i(t,null,r,[]),u=t.length;u--;)(o=a[u])&&(t[u]=!(e[u]=o))}):function(t,r,o){return e[0]=t,i(e,null,o,n),e[0]=null,!n.pop()}}),has:r(function(t){return function(n){return e(t,n).length>0}}),contains:r(function(t){return t=t.replace(we,_e),function(e){return(e.textContent||e.innerText||M(e)).indexOf(t)>-1}}),lang:r(function(t){return pe.test(t||"")||e.error("unsupported lang: "+t),t=t.replace(we,_e).toLowerCase(),function(e){var n;do if(n=D?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return n=n.toLowerCase(),n===t||0===n.indexOf(t+"-");while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var n=t.location&&t.location.hash;return n&&n.slice(1)===e.id},root:function(t){return t===q},focus:function(t){return t===O.activeElement&&(!O.hasFocus||O.hasFocus())&&!!(t.type||t.href||~t.tabIndex)},enabled:function(t){return t.disabled===!1},disabled:function(t){return t.disabled===!0},checked:function(t){var e=t.nodeName.toLowerCase();return"input"===e&&!!t.checked||"option"===e&&!!t.selected},selected:function(t){return t.parentNode&&t.parentNode.selectedIndex,t.selected===!0},empty:function(t){for(t=t.firstChild;t;t=t.nextSibling)if(t.nodeType<6)return!1;return!0},parent:function(t){return!_.pseudos.empty(t)},header:function(t){return ve.test(t.nodeName)},input:function(t){return ge.test(t.nodeName)},button:function(t){var e=t.nodeName.toLowerCase();return"input"===e&&"button"===t.type||"button"===e},text:function(t){var e;return"input"===t.nodeName.toLowerCase()&&"text"===t.type&&(null==(e=t.getAttribute("type"))||"text"===e.toLowerCase())},first:l(function(){return[0]}),last:l(function(t,e){return[e-1]}),eq:l(function(t,e,n){return[0>n?n+e:n]}),even:l(function(t,e){for(var n=0;e>n;n+=2)t.push(n);return t}),odd:l(function(t,e){for(var n=1;e>n;n+=2)t.push(n);return t}),lt:l(function(t,e,n){for(var r=0>n?n+e:n;--r>=0;)t.push(r);return t}),gt:l(function(t,e,n){for(var r=0>n?n+e:n;++r<e;)t.push(r);return t})}},_.pseudos.nth=_.pseudos.eq;for(x in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})_.pseudos[x]=u(x);for(x in{submit:!0,reset:!0})_.pseudos[x]=s(x);return f.prototype=_.filters=_.pseudos,_.setFilters=new f,E=e.tokenize=function(t,n){var r,i,o,a,u,s,l,c=V[t+" "];if(c)return n?0:c.slice(0);for(u=t,s=[],l=_.preFilter;u;){(!r||(i=le.exec(u)))&&(i&&(u=u.slice(i[0].length)||u),s.push(o=[])),r=!1,(i=ce.exec(u))&&(r=i.shift(),o.push({value:r,type:i[0].replace(se," ")}),u=u.slice(r.length));for(a in _.filter)!(i=de[a].exec(u))||l[a]&&!(i=l[a](i))||(r=i.shift(),o.push({value:r,type:a,matches:i}),u=u.slice(r.length));if(!r)break}return n?u.length:u?e.error(t):V(t,s).slice(0)},C=e.compile=function(t,e){var n,r=[],i=[],o=U[t+" "];if(!o){for(e||(e=E(t)),n=e.length;n--;)o=y(e[n]),o[I]?r.push(o):i.push(o);o=U(t,b(i,r)),o.selector=t}return o},S=e.select=function(t,e,n,r){var i,o,a,u,s,l="function"==typeof t&&t,f=!r&&E(t=l.selector||t);if(n=n||[],1===f.length){if(o=f[0]=f[0].slice(0),o.length>2&&"ID"===(a=o[0]).type&&w.getById&&9===e.nodeType&&D&&_.relative[o[1].type]){if(e=(_.find.ID(a.matches[0].replace(we,_e),e)||[])[0],!e)return n;l&&(e=e.parentNode),t=t.slice(o.shift().value.length)}for(i=de.needsContext.test(t)?0:o.length;i--&&(a=o[i],!_.relative[u=a.type]);)if((s=_.find[u])&&(r=s(a.matches[0].replace(we,_e),be.test(o[0].type)&&c(e.parentNode)||e))){if(o.splice(i,1),t=r.length&&h(o),!t)return G.apply(n,r),n;break}}return(l||C(t,f))(r,e,!D,n,be.test(t)&&c(e.parentNode)||e),n},w.sortStable=I.split("").sort(W).join("")===I,w.detectDuplicates=!!A,N(),w.sortDetached=i(function(t){return 1&t.compareDocumentPosition(O.createElement("div"))}),i(function(t){return t.innerHTML="<a href='#'></a>","#"===t.firstChild.getAttribute("href")})||o("type|href|height|width",function(t,e,n){return n?void 0:t.getAttribute(e,"type"===e.toLowerCase()?1:2)}),w.attributes&&i(function(t){return t.innerHTML="<input/>",t.firstChild.setAttribute("value",""),""===t.firstChild.getAttribute("value")})||o("value",function(t,e,n){return n||"input"!==t.nodeName.toLowerCase()?void 0:t.defaultValue}),i(function(t){return null==t.getAttribute("disabled")})||o(ee,function(t,e,n){var r;return n?void 0:t[e]===!0?e.toLowerCase():(r=t.getAttributeNode(e))&&r.specified?r.value:null}),e}(t);Q.find=ie,Q.expr=ie.selectors,Q.expr[":"]=Q.expr.pseudos,Q.unique=ie.uniqueSort,Q.text=ie.getText,Q.isXMLDoc=ie.isXML,Q.contains=ie.contains;var oe=Q.expr.match.needsContext,ae=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,ue=/^.[^:#\[\.,]*$/;Q.filter=function(t,e,n){var r=e[0];return n&&(t=":not("+t+")"),1===e.length&&1===r.nodeType?Q.find.matchesSelector(r,t)?[r]:[]:Q.find.matches(t,Q.grep(e,function(t){return 1===t.nodeType}))},Q.fn.extend({find:function(t){var e,n=this.length,r=[],i=this;if("string"!=typeof t)return this.pushStack(Q(t).filter(function(){for(e=0;n>e;e++)if(Q.contains(i[e],this))return!0}));for(e=0;n>e;e++)Q.find(t,i[e],r);return r=this.pushStack(n>1?Q.unique(r):r),r.selector=this.selector?this.selector+" "+t:t,r},filter:function(t){return this.pushStack(r(this,t||[],!1))},not:function(t){return this.pushStack(r(this,t||[],!0))},is:function(t){return!!r(this,"string"==typeof t&&oe.test(t)?Q(t):t||[],!1).length}});var se,le=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,ce=Q.fn.init=function(t,e){var n,r;if(!t)return this;if("string"==typeof t){if(n="<"===t[0]&&">"===t[t.length-1]&&t.length>=3?[null,t,null]:le.exec(t),!n||!n[1]&&e)return!e||e.jquery?(e||se).find(t):this.constructor(e).find(t);if(n[1]){if(e=e instanceof Q?e[0]:e,Q.merge(this,Q.parseHTML(n[1],e&&e.nodeType?e.ownerDocument||e:K,!0)),ae.test(n[1])&&Q.isPlainObject(e))for(n in e)Q.isFunction(this[n])?this[n](e[n]):this.attr(n,e[n]);return this}return r=K.getElementById(n[2]),r&&r.parentNode&&(this.length=1,this[0]=r),this.context=K,this.selector=t,this}return t.nodeType?(this.context=this[0]=t,this.length=1,this):Q.isFunction(t)?"undefined"!=typeof se.ready?se.ready(t):t(Q):(void 0!==t.selector&&(this.selector=t.selector,this.context=t.context),Q.makeArray(t,this))};ce.prototype=Q.fn,se=Q(K);var fe=/^(?:parents|prev(?:Until|All))/,he={children:!0,contents:!0,next:!0,prev:!0};Q.extend({dir:function(t,e,n){for(var r=[],i=void 0!==n;(t=t[e])&&9!==t.nodeType;)if(1===t.nodeType){if(i&&Q(t).is(n))break;r.push(t)}return r},sibling:function(t,e){for(var n=[];t;t=t.nextSibling)1===t.nodeType&&t!==e&&n.push(t);return n}}),Q.fn.extend({has:function(t){var e=Q(t,this),n=e.length;return this.filter(function(){for(var t=0;n>t;t++)if(Q.contains(this,e[t]))return!0})},closest:function(t,e){for(var n,r=0,i=this.length,o=[],a=oe.test(t)||"string"!=typeof t?Q(t,e||this.context):0;i>r;r++)for(n=this[r];n&&n!==e;n=n.parentNode)if(n.nodeType<11&&(a?a.index(n)>-1:1===n.nodeType&&Q.find.matchesSelector(n,t))){o.push(n);break}return this.pushStack(o.length>1?Q.unique(o):o)},index:function(t){return t?"string"==typeof t?W.call(Q(t),this[0]):W.call(this,t.jquery?t[0]:t):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(t,e){return this.pushStack(Q.unique(Q.merge(this.get(),Q(t,e))))},addBack:function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}}),Q.each({parent:function(t){var e=t.parentNode;return e&&11!==e.nodeType?e:null},parents:function(t){return Q.dir(t,"parentNode")},parentsUntil:function(t,e,n){return Q.dir(t,"parentNode",n)},next:function(t){return i(t,"nextSibling")},prev:function(t){return i(t,"previousSibling")},nextAll:function(t){return Q.dir(t,"nextSibling")},prevAll:function(t){return Q.dir(t,"previousSibling")},nextUntil:function(t,e,n){return Q.dir(t,"nextSibling",n)},prevUntil:function(t,e,n){return Q.dir(t,"previousSibling",n)},siblings:function(t){return Q.sibling((t.parentNode||{}).firstChild,t)},children:function(t){return Q.sibling(t.firstChild)},contents:function(t){return t.contentDocument||Q.merge([],t.childNodes)}},function(t,e){Q.fn[t]=function(n,r){var i=Q.map(this,e,n);return"Until"!==t.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=Q.filter(r,i)),this.length>1&&(he[t]||Q.unique(i),fe.test(t)&&i.reverse()),this.pushStack(i)}});var pe=/\S+/g,de={};Q.Callbacks=function(t){t="string"==typeof t?de[t]||o(t):Q.extend({},t);var e,n,r,i,a,u,s=[],l=!t.once&&[],c=function(data){for(e=t.memory&&data,n=!0,u=i||0,i=0,a=s.length,r=!0;s&&a>u;u++)if(s[u].apply(data[0],data[1])===!1&&t.stopOnFalse){e=!1;break}r=!1,s&&(l?l.length&&c(l.shift()):e?s=[]:f.disable())},f={add:function(){if(s){var n=s.length;!function o(e){Q.each(e,function(e,n){var r=Q.type(n);"function"===r?t.unique&&f.has(n)||s.push(n):n&&n.length&&"string"!==r&&o(n)})}(arguments),r?a=s.length:e&&(i=n,c(e))}return this},remove:function(){return s&&Q.each(arguments,function(t,e){for(var n;(n=Q.inArray(e,s,n))>-1;)s.splice(n,1),r&&(a>=n&&a--,u>=n&&u--)}),this},has:function(t){return t?Q.inArray(t,s)>-1:!(!s||!s.length)},empty:function(){return s=[],a=0,this},disable:function(){return s=l=e=void 0,this},disabled:function(){return!s},lock:function(){return l=void 0,e||f.disable(),this},locked:function(){return!l},fireWith:function(t,e){return!s||n&&!l||(e=e||[],e=[t,e.slice?e.slice():e],r?l.push(e):c(e)),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!n}};return f},Q.extend({Deferred:function(t){var e=[["resolve","done",Q.Callbacks("once memory"),"resolved"],["reject","fail",Q.Callbacks("once memory"),"rejected"],["notify","progress",Q.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var t=arguments;return Q.Deferred(function(n){Q.each(e,function(e,o){var a=Q.isFunction(t[e])&&t[e];i[o[1]](function(){var t=a&&a.apply(this,arguments);t&&Q.isFunction(t.promise)?t.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[o[0]+"With"](this===r?n.promise():this,a?[t]:arguments)})}),t=null}).promise()},promise:function(t){return null!=t?Q.extend(t,r):r}},i={};return r.pipe=r.then,Q.each(e,function(t,o){var a=o[2],u=o[3];r[o[1]]=a.add,u&&a.add(function(){n=u},e[1^t][2].disable,e[2][2].lock),i[o[0]]=function(){return i[o[0]+"With"](this===i?r:this,arguments),this},i[o[0]+"With"]=a.fireWith}),r.promise(i),t&&t.call(i,i),i},when:function(t){var e,n,r,i=0,o=$.call(arguments),a=o.length,u=1!==a||t&&Q.isFunction(t.promise)?a:0,s=1===u?t:Q.Deferred(),l=function(t,n,r){return function(i){n[t]=this,r[t]=arguments.length>1?$.call(arguments):i,r===e?s.notifyWith(n,r):--u||s.resolveWith(n,r)}};if(a>1)for(e=new Array(a),n=new Array(a),r=new Array(a);a>i;i++)o[i]&&Q.isFunction(o[i].promise)?o[i].promise().done(l(i,r,o)).fail(s.reject).progress(l(i,n,e)):--u;return u||s.resolveWith(r,o),s.promise()}});var ge;Q.fn.ready=function(t){return Q.ready.promise().done(t),this},Q.extend({isReady:!1,readyWait:1,holdReady:function(t){t?Q.readyWait++:Q.ready(!0)},ready:function(t){(t===!0?--Q.readyWait:Q.isReady)||(Q.isReady=!0,t!==!0&&--Q.readyWait>0||(ge.resolveWith(K,[Q]),Q.fn.triggerHandler&&(Q(K).triggerHandler("ready"),Q(K).off("ready"))))}}),Q.ready.promise=function(e){return ge||(ge=Q.Deferred(),"complete"===K.readyState?setTimeout(Q.ready):(K.addEventListener("DOMContentLoaded",a,!1),t.addEventListener("load",a,!1))),ge.promise(e)},Q.ready.promise();var ve=Q.access=function(t,e,n,r,i,o,a){var u=0,s=t.length,l=null==n;if("object"===Q.type(n)){i=!0;for(u in n)Q.access(t,e,u,n[u],!0,o,a)}else if(void 0!==r&&(i=!0,Q.isFunction(r)||(a=!0),l&&(a?(e.call(t,r),e=null):(l=e,e=function(t,e,n){return l.call(Q(t),n)})),e))for(;s>u;u++)e(t[u],n,a?r:r.call(t[u],u,e(t[u],n)));return i?t:l?e.call(t):s?e(t[0],n):o};Q.acceptData=function(t){return 1===t.nodeType||9===t.nodeType||!+t.nodeType},u.uid=1,u.accepts=Q.acceptData,u.prototype={key:function(t){if(!u.accepts(t))return 0;var e={},n=t[this.expando];if(!n){n=u.uid++;try{e[this.expando]={value:n},Object.defineProperties(t,e)}catch(r){e[this.expando]=n,Q.extend(t,e)}}return this.cache[n]||(this.cache[n]={}),n
+},set:function(t,data,e){var n,r=this.key(t),i=this.cache[r];if("string"==typeof data)i[data]=e;else if(Q.isEmptyObject(i))Q.extend(this.cache[r],data);else for(n in data)i[n]=data[n];return i},get:function(t,e){var n=this.cache[this.key(t)];return void 0===e?n:n[e]},access:function(t,e,n){var r;return void 0===e||e&&"string"==typeof e&&void 0===n?(r=this.get(t,e),void 0!==r?r:this.get(t,Q.camelCase(e))):(this.set(t,e,n),void 0!==n?n:e)},remove:function(t,e){var n,r,i,o=this.key(t),a=this.cache[o];if(void 0===e)this.cache[o]={};else{Q.isArray(e)?r=e.concat(e.map(Q.camelCase)):(i=Q.camelCase(e),e in a?r=[e,i]:(r=i,r=r in a?[r]:r.match(pe)||[])),n=r.length;for(;n--;)delete a[r[n]]}},hasData:function(t){return!Q.isEmptyObject(this.cache[t[this.expando]]||{})},discard:function(t){t[this.expando]&&delete this.cache[t[this.expando]]}};var me=new u,ye=new u,be=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,xe=/([A-Z])/g;Q.extend({hasData:function(t){return ye.hasData(t)||me.hasData(t)},data:function(t,e,data){return ye.access(t,e,data)},removeData:function(t,e){ye.remove(t,e)},_data:function(t,e,data){return me.access(t,e,data)},_removeData:function(t,e){me.remove(t,e)}}),Q.fn.extend({data:function(t,e){var n,r,data,i=this[0],o=i&&i.attributes;if(void 0===t){if(this.length&&(data=ye.get(i),1===i.nodeType&&!me.get(i,"hasDataAttrs"))){for(n=o.length;n--;)o[n]&&(r=o[n].name,0===r.indexOf("data-")&&(r=Q.camelCase(r.slice(5)),s(i,r,data[r])));me.set(i,"hasDataAttrs",!0)}return data}return"object"==typeof t?this.each(function(){ye.set(this,t)}):ve(this,function(e){var data,n=Q.camelCase(t);if(i&&void 0===e){if(data=ye.get(i,t),void 0!==data)return data;if(data=ye.get(i,n),void 0!==data)return data;if(data=s(i,n,void 0),void 0!==data)return data}else this.each(function(){var data=ye.get(this,n);ye.set(this,n,e),-1!==t.indexOf("-")&&void 0!==data&&ye.set(this,t,e)})},null,e,arguments.length>1,null,!0)},removeData:function(t){return this.each(function(){ye.remove(this,t)})}}),Q.extend({queue:function(t,e,data){var n;return t?(e=(e||"fx")+"queue",n=me.get(t,e),data&&(!n||Q.isArray(data)?n=me.access(t,e,Q.makeArray(data)):n.push(data)),n||[]):void 0},dequeue:function(t,e){e=e||"fx";var n=Q.queue(t,e),r=n.length,i=n.shift(),o=Q._queueHooks(t,e),a=function(){Q.dequeue(t,e)};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===e&&n.unshift("inprogress"),delete o.stop,i.call(t,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(t,e){var n=e+"queueHooks";return me.get(t,n)||me.access(t,n,{empty:Q.Callbacks("once memory").add(function(){me.remove(t,[e+"queue",n])})})}}),Q.fn.extend({queue:function(t,data){var e=2;return"string"!=typeof t&&(data=t,t="fx",e--),arguments.length<e?Q.queue(this[0],t):void 0===data?this:this.each(function(){var e=Q.queue(this,t,data);Q._queueHooks(this,t),"fx"===t&&"inprogress"!==e[0]&&Q.dequeue(this,t)})},dequeue:function(t){return this.each(function(){Q.dequeue(this,t)})},clearQueue:function(t){return this.queue(t||"fx",[])},promise:function(t,e){var n,r=1,i=Q.Deferred(),o=this,a=this.length,u=function(){--r||i.resolveWith(o,[o])};for("string"!=typeof t&&(e=t,t=void 0),t=t||"fx";a--;)n=me.get(o[a],t+"queueHooks"),n&&n.empty&&(r++,n.empty.add(u));return u(),i.promise(e)}});var we=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,_e=["Top","Right","Bottom","Left"],Me=function(t,e){return t=e||t,"none"===Q.css(t,"display")||!Q.contains(t.ownerDocument,t)},ke=/^(?:checkbox|radio)$/i;!function(){var t=K.createDocumentFragment(),e=t.appendChild(K.createElement("div")),n=K.createElement("input");n.setAttribute("type","radio"),n.setAttribute("checked","checked"),n.setAttribute("name","t"),e.appendChild(n),Z.checkClone=e.cloneNode(!0).cloneNode(!0).lastChild.checked,e.innerHTML="<textarea>x</textarea>",Z.noCloneChecked=!!e.cloneNode(!0).lastChild.defaultValue}();var Ee="undefined";Z.focusinBubbles="onfocusin"in t;var Ce=/^key/,Se=/^(?:mouse|pointer|contextmenu)|click/,Te=/^(?:focusinfocus|focusoutblur)$/,je=/^([^.]*)(?:\.(.+)|)$/;Q.event={global:{},add:function(t,e,n,data,r){var i,o,a,u,s,l,c,f,h,p,d,g=me.get(t);if(g)for(n.handler&&(i=n,n=i.handler,r=i.selector),n.guid||(n.guid=Q.guid++),(u=g.events)||(u=g.events={}),(o=g.handle)||(o=g.handle=function(e){return typeof Q!==Ee&&Q.event.triggered!==e.type?Q.event.dispatch.apply(t,arguments):void 0}),e=(e||"").match(pe)||[""],s=e.length;s--;)a=je.exec(e[s])||[],h=d=a[1],p=(a[2]||"").split(".").sort(),h&&(c=Q.event.special[h]||{},h=(r?c.delegateType:c.bindType)||h,c=Q.event.special[h]||{},l=Q.extend({type:h,origType:d,data:data,handler:n,guid:n.guid,selector:r,needsContext:r&&Q.expr.match.needsContext.test(r),namespace:p.join(".")},i),(f=u[h])||(f=u[h]=[],f.delegateCount=0,c.setup&&c.setup.call(t,data,p,o)!==!1||t.addEventListener&&t.addEventListener(h,o,!1)),c.add&&(c.add.call(t,l),l.handler.guid||(l.handler.guid=n.guid)),r?f.splice(f.delegateCount++,0,l):f.push(l),Q.event.global[h]=!0)},remove:function(t,e,n,r,i){var o,a,u,s,l,c,f,h,p,d,g,v=me.hasData(t)&&me.get(t);if(v&&(s=v.events)){for(e=(e||"").match(pe)||[""],l=e.length;l--;)if(u=je.exec(e[l])||[],p=g=u[1],d=(u[2]||"").split(".").sort(),p){for(f=Q.event.special[p]||{},p=(r?f.delegateType:f.bindType)||p,h=s[p]||[],u=u[2]&&new RegExp("(^|\\.)"+d.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=h.length;o--;)c=h[o],!i&&g!==c.origType||n&&n.guid!==c.guid||u&&!u.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(h.splice(o,1),c.selector&&h.delegateCount--,f.remove&&f.remove.call(t,c));a&&!h.length&&(f.teardown&&f.teardown.call(t,d,v.handle)!==!1||Q.removeEvent(t,p,v.handle),delete s[p])}else for(p in s)Q.event.remove(t,p+e[l],n,r,!0);Q.isEmptyObject(s)&&(delete v.handle,me.remove(t,"events"))}},trigger:function(e,data,n,r){var i,o,a,u,s,l,c,f=[n||K],h=J.call(e,"type")?e.type:e,p=J.call(e,"namespace")?e.namespace.split("."):[];if(o=a=n=n||K,3!==n.nodeType&&8!==n.nodeType&&!Te.test(h+Q.event.triggered)&&(h.indexOf(".")>=0&&(p=h.split("."),h=p.shift(),p.sort()),s=h.indexOf(":")<0&&"on"+h,e=e[Q.expando]?e:new Q.Event(h,"object"==typeof e&&e),e.isTrigger=r?2:3,e.namespace=p.join("."),e.namespace_re=e.namespace?new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=n),data=null==data?[e]:Q.makeArray(data,[e]),c=Q.event.special[h]||{},r||!c.trigger||c.trigger.apply(n,data)!==!1)){if(!r&&!c.noBubble&&!Q.isWindow(n)){for(u=c.delegateType||h,Te.test(u+h)||(o=o.parentNode);o;o=o.parentNode)f.push(o),a=o;a===(n.ownerDocument||K)&&f.push(a.defaultView||a.parentWindow||t)}for(i=0;(o=f[i++])&&!e.isPropagationStopped();)e.type=i>1?u:c.bindType||h,l=(me.get(o,"events")||{})[e.type]&&me.get(o,"handle"),l&&l.apply(o,data),l=s&&o[s],l&&l.apply&&Q.acceptData(o)&&(e.result=l.apply(o,data),e.result===!1&&e.preventDefault());return e.type=h,r||e.isDefaultPrevented()||c._default&&c._default.apply(f.pop(),data)!==!1||!Q.acceptData(n)||s&&Q.isFunction(n[h])&&!Q.isWindow(n)&&(a=n[s],a&&(n[s]=null),Q.event.triggered=h,n[h](),Q.event.triggered=void 0,a&&(n[s]=a)),e.result}},dispatch:function(t){t=Q.event.fix(t);var e,n,r,i,o,a=[],u=$.call(arguments),s=(me.get(this,"events")||{})[t.type]||[],l=Q.event.special[t.type]||{};if(u[0]=t,t.delegateTarget=this,!l.preDispatch||l.preDispatch.call(this,t)!==!1){for(a=Q.event.handlers.call(this,t,s),e=0;(i=a[e++])&&!t.isPropagationStopped();)for(t.currentTarget=i.elem,n=0;(o=i.handlers[n++])&&!t.isImmediatePropagationStopped();)(!t.namespace_re||t.namespace_re.test(o.namespace))&&(t.handleObj=o,t.data=o.data,r=((Q.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,u),void 0!==r&&(t.result=r)===!1&&(t.preventDefault(),t.stopPropagation()));return l.postDispatch&&l.postDispatch.call(this,t),t.result}},handlers:function(t,e){var n,r,i,o,a=[],u=e.delegateCount,s=t.target;if(u&&s.nodeType&&(!t.button||"click"!==t.type))for(;s!==this;s=s.parentNode||this)if(s.disabled!==!0||"click"!==t.type){for(r=[],n=0;u>n;n++)o=e[n],i=o.selector+" ",void 0===r[i]&&(r[i]=o.needsContext?Q(i,this).index(s)>=0:Q.find(i,this,null,[s]).length),r[i]&&r.push(o);r.length&&a.push({elem:s,handlers:r})}return u<e.length&&a.push({elem:this,handlers:e.slice(u)}),a},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(t,e){return null==t.which&&(t.which=null!=e.charCode?e.charCode:e.keyCode),t}},mouseHooks:{props:"button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(t,e){var n,r,i,o=e.button;return null==t.pageX&&null!=e.clientX&&(n=t.target.ownerDocument||K,r=n.documentElement,i=n.body,t.pageX=e.clientX+(r&&r.scrollLeft||i&&i.scrollLeft||0)-(r&&r.clientLeft||i&&i.clientLeft||0),t.pageY=e.clientY+(r&&r.scrollTop||i&&i.scrollTop||0)-(r&&r.clientTop||i&&i.clientTop||0)),t.which||void 0===o||(t.which=1&o?1:2&o?3:4&o?2:0),t}},fix:function(t){if(t[Q.expando])return t;var e,n,r,i=t.type,o=t,a=this.fixHooks[i];for(a||(this.fixHooks[i]=a=Se.test(i)?this.mouseHooks:Ce.test(i)?this.keyHooks:{}),r=a.props?this.props.concat(a.props):this.props,t=new Q.Event(o),e=r.length;e--;)n=r[e],t[n]=o[n];return t.target||(t.target=K),3===t.target.nodeType&&(t.target=t.target.parentNode),a.filter?a.filter(t,o):t},special:{load:{noBubble:!0},focus:{trigger:function(){return this!==f()&&this.focus?(this.focus(),!1):void 0},delegateType:"focusin"},blur:{trigger:function(){return this===f()&&this.blur?(this.blur(),!1):void 0},delegateType:"focusout"},click:{trigger:function(){return"checkbox"===this.type&&this.click&&Q.nodeName(this,"input")?(this.click(),!1):void 0},_default:function(t){return Q.nodeName(t.target,"a")}},beforeunload:{postDispatch:function(t){void 0!==t.result&&t.originalEvent&&(t.originalEvent.returnValue=t.result)}}},simulate:function(t,e,n,r){var i=Q.extend(new Q.Event,n,{type:t,isSimulated:!0,originalEvent:{}});r?Q.event.trigger(i,null,e):Q.event.dispatch.call(e,i),i.isDefaultPrevented()&&n.preventDefault()}},Q.removeEvent=function(t,e,n){t.removeEventListener&&t.removeEventListener(e,n,!1)},Q.Event=function(t,e){return this instanceof Q.Event?(t&&t.type?(this.originalEvent=t,this.type=t.type,this.isDefaultPrevented=t.defaultPrevented||void 0===t.defaultPrevented&&t.returnValue===!1?l:c):this.type=t,e&&Q.extend(this,e),this.timeStamp=t&&t.timeStamp||Q.now(),void(this[Q.expando]=!0)):new Q.Event(t,e)},Q.Event.prototype={isDefaultPrevented:c,isPropagationStopped:c,isImmediatePropagationStopped:c,preventDefault:function(){var t=this.originalEvent;this.isDefaultPrevented=l,t&&t.preventDefault&&t.preventDefault()},stopPropagation:function(){var t=this.originalEvent;this.isPropagationStopped=l,t&&t.stopPropagation&&t.stopPropagation()},stopImmediatePropagation:function(){var t=this.originalEvent;this.isImmediatePropagationStopped=l,t&&t.stopImmediatePropagation&&t.stopImmediatePropagation(),this.stopPropagation()}},Q.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(t,e){Q.event.special[t]={delegateType:e,bindType:e,handle:function(t){var n,r=this,i=t.relatedTarget,o=t.handleObj;return(!i||i!==r&&!Q.contains(r,i))&&(t.type=o.origType,n=o.handler.apply(this,arguments),t.type=e),n}}}),Z.focusinBubbles||Q.each({focus:"focusin",blur:"focusout"},function(t,e){var n=function(t){Q.event.simulate(e,t.target,Q.event.fix(t),!0)};Q.event.special[e]={setup:function(){var r=this.ownerDocument||this,i=me.access(r,e);i||r.addEventListener(t,n,!0),me.access(r,e,(i||0)+1)},teardown:function(){var r=this.ownerDocument||this,i=me.access(r,e)-1;i?me.access(r,e,i):(r.removeEventListener(t,n,!0),me.remove(r,e))}}}),Q.fn.extend({on:function(t,e,data,n,r){var i,o;if("object"==typeof t){"string"!=typeof e&&(data=data||e,e=void 0);for(o in t)this.on(o,e,data,t[o],r);return this}if(null==data&&null==n?(n=e,data=e=void 0):null==n&&("string"==typeof e?(n=data,data=void 0):(n=data,data=e,e=void 0)),n===!1)n=c;else if(!n)return this;return 1===r&&(i=n,n=function(t){return Q().off(t),i.apply(this,arguments)},n.guid=i.guid||(i.guid=Q.guid++)),this.each(function(){Q.event.add(this,t,n,data,e)})},one:function(t,e,data,n){return this.on(t,e,data,n,1)},off:function(t,e,n){var r,i;if(t&&t.preventDefault&&t.handleObj)return r=t.handleObj,Q(t.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof t){for(i in t)this.off(i,e,t[i]);return this}return(e===!1||"function"==typeof e)&&(n=e,e=void 0),n===!1&&(n=c),this.each(function(){Q.event.remove(this,t,n,e)})},trigger:function(t,data){return this.each(function(){Q.event.trigger(t,data,this)})},triggerHandler:function(t,data){var e=this[0];return e?Q.event.trigger(t,data,e,!0):void 0}});var Ae=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,Ne=/<([\w:]+)/,Oe=/<|&#?\w+;/,qe=/<(?:script|style|link)/i,De=/checked\s*(?:[^=]|=\s*.checked.)/i,Le=/^$|\/(?:java|ecma)script/i,Fe=/^true\/(.*)/,ze=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,Re={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};Re.optgroup=Re.option,Re.tbody=Re.tfoot=Re.colgroup=Re.caption=Re.thead,Re.th=Re.td,Q.extend({clone:function(t,e,n){var r,i,o,a,u=t.cloneNode(!0),s=Q.contains(t.ownerDocument,t);if(!(Z.noCloneChecked||1!==t.nodeType&&11!==t.nodeType||Q.isXMLDoc(t)))for(a=m(u),o=m(t),r=0,i=o.length;i>r;r++)y(o[r],a[r]);if(e)if(n)for(o=o||m(t),a=a||m(u),r=0,i=o.length;i>r;r++)v(o[r],a[r]);else v(t,u);return a=m(u,"script"),a.length>0&&g(a,!s&&m(t,"script")),u},buildFragment:function(t,e,n,r){for(var i,o,a,u,s,l,c=e.createDocumentFragment(),f=[],h=0,p=t.length;p>h;h++)if(i=t[h],i||0===i)if("object"===Q.type(i))Q.merge(f,i.nodeType?[i]:i);else if(Oe.test(i)){for(o=o||c.appendChild(e.createElement("div")),a=(Ne.exec(i)||["",""])[1].toLowerCase(),u=Re[a]||Re._default,o.innerHTML=u[1]+i.replace(Ae,"<$1></$2>")+u[2],l=u[0];l--;)o=o.lastChild;Q.merge(f,o.childNodes),o=c.firstChild,o.textContent=""}else f.push(e.createTextNode(i));for(c.textContent="",h=0;i=f[h++];)if((!r||-1===Q.inArray(i,r))&&(s=Q.contains(i.ownerDocument,i),o=m(c.appendChild(i),"script"),s&&g(o),n))for(l=0;i=o[l++];)Le.test(i.type||"")&&n.push(i);return c},cleanData:function(t){for(var data,e,n,r,i=Q.event.special,o=0;void 0!==(e=t[o]);o++){if(Q.acceptData(e)&&(r=e[me.expando],r&&(data=me.cache[r]))){if(data.events)for(n in data.events)i[n]?Q.event.remove(e,n):Q.removeEvent(e,n,data.handle);me.cache[r]&&delete me.cache[r]}delete ye.cache[e[ye.expando]]}}}),Q.fn.extend({text:function(t){return ve(this,function(t){return void 0===t?Q.text(this):this.empty().each(function(){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&(this.textContent=t)})},null,t,arguments.length)},append:function(){return this.domManip(arguments,function(t){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var e=h(this,t);e.appendChild(t)}})},prepend:function(){return this.domManip(arguments,function(t){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var e=h(this,t);e.insertBefore(t,e.firstChild)}})},before:function(){return this.domManip(arguments,function(t){this.parentNode&&this.parentNode.insertBefore(t,this)})},after:function(){return this.domManip(arguments,function(t){this.parentNode&&this.parentNode.insertBefore(t,this.nextSibling)})},remove:function(t,e){for(var n,r=t?Q.filter(t,this):this,i=0;null!=(n=r[i]);i++)e||1!==n.nodeType||Q.cleanData(m(n)),n.parentNode&&(e&&Q.contains(n.ownerDocument,n)&&g(m(n,"script")),n.parentNode.removeChild(n));return this},empty:function(){for(var t,e=0;null!=(t=this[e]);e++)1===t.nodeType&&(Q.cleanData(m(t,!1)),t.textContent="");return this},clone:function(t,e){return t=null==t?!1:t,e=null==e?t:e,this.map(function(){return Q.clone(this,t,e)})},html:function(t){return ve(this,function(t){var e=this[0]||{},n=0,r=this.length;if(void 0===t&&1===e.nodeType)return e.innerHTML;if("string"==typeof t&&!qe.test(t)&&!Re[(Ne.exec(t)||["",""])[1].toLowerCase()]){t=t.replace(Ae,"<$1></$2>");try{for(;r>n;n++)e=this[n]||{},1===e.nodeType&&(Q.cleanData(m(e,!1)),e.innerHTML=t);e=0}catch(i){}}e&&this.empty().append(t)},null,t,arguments.length)},replaceWith:function(){var t=arguments[0];return this.domManip(arguments,function(e){t=this.parentNode,Q.cleanData(m(this)),t&&t.replaceChild(e,this)}),t&&(t.length||t.nodeType)?this:this.remove()},detach:function(t){return this.remove(t,!0)},domManip:function(t,e){t=V.apply([],t);var n,r,i,o,a,u,s=0,l=this.length,c=this,f=l-1,h=t[0],g=Q.isFunction(h);if(g||l>1&&"string"==typeof h&&!Z.checkClone&&De.test(h))return this.each(function(n){var r=c.eq(n);g&&(t[0]=h.call(this,n,r.html())),r.domManip(t,e)});if(l&&(n=Q.buildFragment(t,this[0].ownerDocument,!1,this),r=n.firstChild,1===n.childNodes.length&&(n=r),r)){for(i=Q.map(m(n,"script"),p),o=i.length;l>s;s++)a=n,s!==f&&(a=Q.clone(a,!0,!0),o&&Q.merge(i,m(a,"script"))),e.call(this[s],a,s);if(o)for(u=i[i.length-1].ownerDocument,Q.map(i,d),s=0;o>s;s++)a=i[s],Le.test(a.type||"")&&!me.access(a,"globalEval")&&Q.contains(u,a)&&(a.src?Q._evalUrl&&Q._evalUrl(a.src):Q.globalEval(a.textContent.replace(ze,"")))}return this}}),Q.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(t,e){Q.fn[t]=function(t){for(var n,r=[],i=Q(t),o=i.length-1,a=0;o>=a;a++)n=a===o?this:this.clone(!0),Q(i[a])[e](n),U.apply(r,n.get());return this.pushStack(r)}});var Ie,Pe={},He=/^margin/,Be=new RegExp("^("+we+")(?!px)[a-z%]+$","i"),$e=function(e){return e.ownerDocument.defaultView.opener?e.ownerDocument.defaultView.getComputedStyle(e,null):t.getComputedStyle(e,null)};!function(){function e(){a.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;margin-top:1%;top:1%;border:1px;padding:1px;width:4px;position:absolute",a.innerHTML="",i.appendChild(o);var e=t.getComputedStyle(a,null);n="1%"!==e.top,r="4px"===e.width,i.removeChild(o)}var n,r,i=K.documentElement,o=K.createElement("div"),a=K.createElement("div");a.style&&(a.style.backgroundClip="content-box",a.cloneNode(!0).style.backgroundClip="",Z.clearCloneStyle="content-box"===a.style.backgroundClip,o.style.cssText="border:0;width:0;height:0;top:0;left:-9999px;margin-top:1px;position:absolute",o.appendChild(a),t.getComputedStyle&&Q.extend(Z,{pixelPosition:function(){return e(),n},boxSizingReliable:function(){return null==r&&e(),r},reliableMarginRight:function(){var e,n=a.appendChild(K.createElement("div"));return n.style.cssText=a.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",n.style.marginRight=n.style.width="0",a.style.width="1px",i.appendChild(o),e=!parseFloat(t.getComputedStyle(n,null).marginRight),i.removeChild(o),a.removeChild(n),e}}))}(),Q.swap=function(t,e,n,r){var i,o,a={};for(o in e)a[o]=t.style[o],t.style[o]=e[o];i=n.apply(t,r||[]);for(o in e)t.style[o]=a[o];return i};var Ve=/^(none|table(?!-c[ea]).+)/,Ue=new RegExp("^("+we+")(.*)$","i"),We=new RegExp("^([+-])=("+we+")","i"),Ye={position:"absolute",visibility:"hidden",display:"block"},Xe={letterSpacing:"0",fontWeight:"400"},Je=["Webkit","O","Moz","ms"];Q.extend({cssHooks:{opacity:{get:function(t,e){if(e){var n=w(t,"opacity");return""===n?"1":n}}}},cssNumber:{columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":"cssFloat"},style:function(t,e,n,r){if(t&&3!==t.nodeType&&8!==t.nodeType&&t.style){var i,o,a,u=Q.camelCase(e),s=t.style;return e=Q.cssProps[u]||(Q.cssProps[u]=M(s,u)),a=Q.cssHooks[e]||Q.cssHooks[u],void 0===n?a&&"get"in a&&void 0!==(i=a.get(t,!1,r))?i:s[e]:(o=typeof n,"string"===o&&(i=We.exec(n))&&(n=(i[1]+1)*i[2]+parseFloat(Q.css(t,e)),o="number"),null!=n&&n===n&&("number"!==o||Q.cssNumber[u]||(n+="px"),Z.clearCloneStyle||""!==n||0!==e.indexOf("background")||(s[e]="inherit"),a&&"set"in a&&void 0===(n=a.set(t,n,r))||(s[e]=n)),void 0)}},css:function(t,e,n,r){var i,o,a,u=Q.camelCase(e);return e=Q.cssProps[u]||(Q.cssProps[u]=M(t.style,u)),a=Q.cssHooks[e]||Q.cssHooks[u],a&&"get"in a&&(i=a.get(t,!0,n)),void 0===i&&(i=w(t,e,r)),"normal"===i&&e in Xe&&(i=Xe[e]),""===n||n?(o=parseFloat(i),n===!0||Q.isNumeric(o)?o||0:i):i}}),Q.each(["height","width"],function(t,e){Q.cssHooks[e]={get:function(t,n,r){return n?Ve.test(Q.css(t,"display"))&&0===t.offsetWidth?Q.swap(t,Ye,function(){return C(t,e,r)}):C(t,e,r):void 0},set:function(t,n,r){var i=r&&$e(t);return k(t,n,r?E(t,e,r,"border-box"===Q.css(t,"boxSizing",!1,i),i):0)}}}),Q.cssHooks.marginRight=_(Z.reliableMarginRight,function(t,e){return e?Q.swap(t,{display:"inline-block"},w,[t,"marginRight"]):void 0}),Q.each({margin:"",padding:"",border:"Width"},function(t,e){Q.cssHooks[t+e]={expand:function(n){for(var r=0,i={},o="string"==typeof n?n.split(" "):[n];4>r;r++)i[t+_e[r]+e]=o[r]||o[r-2]||o[0];return i}},He.test(t)||(Q.cssHooks[t+e].set=k)}),Q.fn.extend({css:function(t,e){return ve(this,function(t,e,n){var r,i,o={},a=0;if(Q.isArray(e)){for(r=$e(t),i=e.length;i>a;a++)o[e[a]]=Q.css(t,e[a],!1,r);return o}return void 0!==n?Q.style(t,e,n):Q.css(t,e)},t,e,arguments.length>1)},show:function(){return S(this,!0)},hide:function(){return S(this)},toggle:function(t){return"boolean"==typeof t?t?this.show():this.hide():this.each(function(){Me(this)?Q(this).show():Q(this).hide()})}}),Q.Tween=T,T.prototype={constructor:T,init:function(t,e,n,r,i,o){this.elem=t,this.prop=n,this.easing=i||"swing",this.options=e,this.start=this.now=this.cur(),this.end=r,this.unit=o||(Q.cssNumber[n]?"":"px")},cur:function(){var t=T.propHooks[this.prop];return t&&t.get?t.get(this):T.propHooks._default.get(this)},run:function(t){var e,n=T.propHooks[this.prop];return this.pos=e=this.options.duration?Q.easing[this.easing](t,this.options.duration*t,0,1,this.options.duration):t,this.now=(this.end-this.start)*e+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):T.propHooks._default.set(this),this}},T.prototype.init.prototype=T.prototype,T.propHooks={_default:{get:function(t){var e;return null==t.elem[t.prop]||t.elem.style&&null!=t.elem.style[t.prop]?(e=Q.css(t.elem,t.prop,""),e&&"auto"!==e?e:0):t.elem[t.prop]},set:function(t){Q.fx.step[t.prop]?Q.fx.step[t.prop](t):t.elem.style&&(null!=t.elem.style[Q.cssProps[t.prop]]||Q.cssHooks[t.prop])?Q.style(t.elem,t.prop,t.now+t.unit):t.elem[t.prop]=t.now}}},T.propHooks.scrollTop=T.propHooks.scrollLeft={set:function(t){t.elem.nodeType&&t.elem.parentNode&&(t.elem[t.prop]=t.now)}},Q.easing={linear:function(t){return t},swing:function(t){return.5-Math.cos(t*Math.PI)/2}},Q.fx=T.prototype.init,Q.fx.step={};var Ze,Ke,Ge=/^(?:toggle|show|hide)$/,Qe=new RegExp("^(?:([+-])=|)("+we+")([a-z%]*)$","i"),tn=/queueHooks$/,en=[O],nn={"*":[function(t,e){var n=this.createTween(t,e),r=n.cur(),i=Qe.exec(e),o=i&&i[3]||(Q.cssNumber[t]?"":"px"),a=(Q.cssNumber[t]||"px"!==o&&+r)&&Qe.exec(Q.css(n.elem,t)),u=1,s=20;if(a&&a[3]!==o){o=o||a[3],i=i||[],a=+r||1;do u=u||".5",a/=u,Q.style(n.elem,t,a+o);while(u!==(u=n.cur()/r)&&1!==u&&--s)}return i&&(a=n.start=+a||+r||0,n.unit=o,n.end=i[1]?a+(i[1]+1)*i[2]:+i[2]),n}]};Q.Animation=Q.extend(D,{tweener:function(t,e){Q.isFunction(t)?(e=t,t=["*"]):t=t.split(" ");for(var n,r=0,i=t.length;i>r;r++)n=t[r],nn[n]=nn[n]||[],nn[n].unshift(e)},prefilter:function(t,e){e?en.unshift(t):en.push(t)}}),Q.speed=function(t,e,n){var r=t&&"object"==typeof t?Q.extend({},t):{complete:n||!n&&e||Q.isFunction(t)&&t,duration:t,easing:n&&e||e&&!Q.isFunction(e)&&e};return r.duration=Q.fx.off?0:"number"==typeof r.duration?r.duration:r.duration in Q.fx.speeds?Q.fx.speeds[r.duration]:Q.fx.speeds._default,(null==r.queue||r.queue===!0)&&(r.queue="fx"),r.old=r.complete,r.complete=function(){Q.isFunction(r.old)&&r.old.call(this),r.queue&&Q.dequeue(this,r.queue)},r},Q.fn.extend({fadeTo:function(t,e,n,r){return this.filter(Me).css("opacity",0).show().end().animate({opacity:e},t,n,r)},animate:function(t,e,n,r){var i=Q.isEmptyObject(t),o=Q.speed(e,n,r),a=function(){var e=D(this,Q.extend({},t),o);(i||me.get(this,"finish"))&&e.stop(!0)};return a.finish=a,i||o.queue===!1?this.each(a):this.queue(o.queue,a)},stop:function(t,e,n){var r=function(t){var e=t.stop;delete t.stop,e(n)};return"string"!=typeof t&&(n=e,e=t,t=void 0),e&&t!==!1&&this.queue(t||"fx",[]),this.each(function(){var e=!0,i=null!=t&&t+"queueHooks",o=Q.timers,data=me.get(this);if(i)data[i]&&data[i].stop&&r(data[i]);else for(i in data)data[i]&&data[i].stop&&tn.test(i)&&r(data[i]);for(i=o.length;i--;)o[i].elem!==this||null!=t&&o[i].queue!==t||(o[i].anim.stop(n),e=!1,o.splice(i,1));(e||!n)&&Q.dequeue(this,t)})},finish:function(t){return t!==!1&&(t=t||"fx"),this.each(function(){var e,data=me.get(this),n=data[t+"queue"],r=data[t+"queueHooks"],i=Q.timers,o=n?n.length:0;for(data.finish=!0,Q.queue(this,t,[]),r&&r.stop&&r.stop.call(this,!0),e=i.length;e--;)i[e].elem===this&&i[e].queue===t&&(i[e].anim.stop(!0),i.splice(e,1));for(e=0;o>e;e++)n[e]&&n[e].finish&&n[e].finish.call(this);delete data.finish})}}),Q.each(["toggle","show","hide"],function(t,e){var n=Q.fn[e];Q.fn[e]=function(t,r,i){return null==t||"boolean"==typeof t?n.apply(this,arguments):this.animate(A(e,!0),t,r,i)}}),Q.each({slideDown:A("show"),slideUp:A("hide"),slideToggle:A("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(t,e){Q.fn[t]=function(t,n,r){return this.animate(e,t,n,r)}}),Q.timers=[],Q.fx.tick=function(){var t,e=0,n=Q.timers;for(Ze=Q.now();e<n.length;e++)t=n[e],t()||n[e]!==t||n.splice(e--,1);n.length||Q.fx.stop(),Ze=void 0},Q.fx.timer=function(t){Q.timers.push(t),t()?Q.fx.start():Q.timers.pop()},Q.fx.interval=13,Q.fx.start=function(){Ke||(Ke=setInterval(Q.fx.tick,Q.fx.interval))},Q.fx.stop=function(){clearInterval(Ke),Ke=null},Q.fx.speeds={slow:600,fast:200,_default:400},Q.fn.delay=function(t,e){return t=Q.fx?Q.fx.speeds[t]||t:t,e=e||"fx",this.queue(e,function(e,n){var r=setTimeout(e,t);n.stop=function(){clearTimeout(r)}})},function(){var t=K.createElement("input"),e=K.createElement("select"),n=e.appendChild(K.createElement("option"));t.type="checkbox",Z.checkOn=""!==t.value,Z.optSelected=n.selected,e.disabled=!0,Z.optDisabled=!n.disabled,t=K.createElement("input"),t.value="t",t.type="radio",Z.radioValue="t"===t.value}();var rn,on,an=Q.expr.attrHandle;Q.fn.extend({attr:function(t,e){return ve(this,Q.attr,t,e,arguments.length>1)},removeAttr:function(t){return this.each(function(){Q.removeAttr(this,t)})}}),Q.extend({attr:function(t,e,n){var r,i,o=t.nodeType;if(t&&3!==o&&8!==o&&2!==o)return typeof t.getAttribute===Ee?Q.prop(t,e,n):(1===o&&Q.isXMLDoc(t)||(e=e.toLowerCase(),r=Q.attrHooks[e]||(Q.expr.match.bool.test(e)?on:rn)),void 0===n?r&&"get"in r&&null!==(i=r.get(t,e))?i:(i=Q.find.attr(t,e),null==i?void 0:i):null!==n?r&&"set"in r&&void 0!==(i=r.set(t,n,e))?i:(t.setAttribute(e,n+""),n):void Q.removeAttr(t,e))},removeAttr:function(t,e){var n,r,i=0,o=e&&e.match(pe);if(o&&1===t.nodeType)for(;n=o[i++];)r=Q.propFix[n]||n,Q.expr.match.bool.test(n)&&(t[r]=!1),t.removeAttribute(n)},attrHooks:{type:{set:function(t,e){if(!Z.radioValue&&"radio"===e&&Q.nodeName(t,"input")){var n=t.value;return t.setAttribute("type",e),n&&(t.value=n),e}}}}}),on={set:function(t,e,n){return e===!1?Q.removeAttr(t,n):t.setAttribute(n,n),n}},Q.each(Q.expr.match.bool.source.match(/\w+/g),function(t,e){var n=an[e]||Q.find.attr;an[e]=function(t,e,r){var i,o;return r||(o=an[e],an[e]=i,i=null!=n(t,e,r)?e.toLowerCase():null,an[e]=o),i}});var un=/^(?:input|select|textarea|button)$/i;Q.fn.extend({prop:function(t,e){return ve(this,Q.prop,t,e,arguments.length>1)},removeProp:function(t){return this.each(function(){delete this[Q.propFix[t]||t]})}}),Q.extend({propFix:{"for":"htmlFor","class":"className"},prop:function(t,e,n){var r,i,o,a=t.nodeType;if(t&&3!==a&&8!==a&&2!==a)return o=1!==a||!Q.isXMLDoc(t),o&&(e=Q.propFix[e]||e,i=Q.propHooks[e]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(t,n,e))?r:t[e]=n:i&&"get"in i&&null!==(r=i.get(t,e))?r:t[e]},propHooks:{tabIndex:{get:function(t){return t.hasAttribute("tabindex")||un.test(t.nodeName)||t.href?t.tabIndex:-1}}}}),Z.optSelected||(Q.propHooks.selected={get:function(t){var e=t.parentNode;return e&&e.parentNode&&e.parentNode.selectedIndex,null}}),Q.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){Q.propFix[this.toLowerCase()]=this});var sn=/[\t\r\n\f]/g;Q.fn.extend({addClass:function(t){var e,n,r,i,o,a,u="string"==typeof t&&t,s=0,l=this.length;if(Q.isFunction(t))return this.each(function(e){Q(this).addClass(t.call(this,e,this.className))});if(u)for(e=(t||"").match(pe)||[];l>s;s++)if(n=this[s],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(sn," "):" ")){for(o=0;i=e[o++];)r.indexOf(" "+i+" ")<0&&(r+=i+" ");a=Q.trim(r),n.className!==a&&(n.className=a)}return this},removeClass:function(t){var e,n,r,i,o,a,u=0===arguments.length||"string"==typeof t&&t,s=0,l=this.length;if(Q.isFunction(t))return this.each(function(e){Q(this).removeClass(t.call(this,e,this.className))});if(u)for(e=(t||"").match(pe)||[];l>s;s++)if(n=this[s],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(sn," "):"")){for(o=0;i=e[o++];)for(;r.indexOf(" "+i+" ")>=0;)r=r.replace(" "+i+" "," ");a=t?Q.trim(r):"",n.className!==a&&(n.className=a)}return this},toggleClass:function(t,e){var n=typeof t;return"boolean"==typeof e&&"string"===n?e?this.addClass(t):this.removeClass(t):this.each(Q.isFunction(t)?function(n){Q(this).toggleClass(t.call(this,n,this.className,e),e)}:function(){if("string"===n)for(var e,r=0,i=Q(this),o=t.match(pe)||[];e=o[r++];)i.hasClass(e)?i.removeClass(e):i.addClass(e);else(n===Ee||"boolean"===n)&&(this.className&&me.set(this,"__className__",this.className),this.className=this.className||t===!1?"":me.get(this,"__className__")||"")})},hasClass:function(t){for(var e=" "+t+" ",n=0,r=this.length;r>n;n++)if(1===this[n].nodeType&&(" "+this[n].className+" ").replace(sn," ").indexOf(e)>=0)return!0;return!1}});var ln=/\r/g;Q.fn.extend({val:function(t){var e,n,r,i=this[0];{if(arguments.length)return r=Q.isFunction(t),this.each(function(n){var i;1===this.nodeType&&(i=r?t.call(this,n,Q(this).val()):t,null==i?i="":"number"==typeof i?i+="":Q.isArray(i)&&(i=Q.map(i,function(t){return null==t?"":t+""})),e=Q.valHooks[this.type]||Q.valHooks[this.nodeName.toLowerCase()],e&&"set"in e&&void 0!==e.set(this,i,"value")||(this.value=i))});if(i)return e=Q.valHooks[i.type]||Q.valHooks[i.nodeName.toLowerCase()],e&&"get"in e&&void 0!==(n=e.get(i,"value"))?n:(n=i.value,"string"==typeof n?n.replace(ln,""):null==n?"":n)}}}),Q.extend({valHooks:{option:{get:function(t){var e=Q.find.attr(t,"value");return null!=e?e:Q.trim(Q.text(t))}},select:{get:function(t){for(var e,n,r=t.options,i=t.selectedIndex,o="select-one"===t.type||0>i,a=o?null:[],u=o?i+1:r.length,s=0>i?u:o?i:0;u>s;s++)if(n=r[s],!(!n.selected&&s!==i||(Z.optDisabled?n.disabled:null!==n.getAttribute("disabled"))||n.parentNode.disabled&&Q.nodeName(n.parentNode,"optgroup"))){if(e=Q(n).val(),o)return e;a.push(e)}return a},set:function(t,e){for(var n,r,i=t.options,o=Q.makeArray(e),a=i.length;a--;)r=i[a],(r.selected=Q.inArray(r.value,o)>=0)&&(n=!0);return n||(t.selectedIndex=-1),o}}}}),Q.each(["radio","checkbox"],function(){Q.valHooks[this]={set:function(t,e){return Q.isArray(e)?t.checked=Q.inArray(Q(t).val(),e)>=0:void 0}},Z.checkOn||(Q.valHooks[this].get=function(t){return null===t.getAttribute("value")?"on":t.value})}),Q.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(t,e){Q.fn[e]=function(data,t){return arguments.length>0?this.on(e,null,data,t):this.trigger(e)
+}}),Q.fn.extend({hover:function(t,e){return this.mouseenter(t).mouseleave(e||t)},bind:function(t,data,e){return this.on(t,null,data,e)},unbind:function(t,e){return this.off(t,null,e)},delegate:function(t,e,data,n){return this.on(e,t,data,n)},undelegate:function(t,e,n){return 1===arguments.length?this.off(t,"**"):this.off(e,t||"**",n)}});var cn=Q.now(),fn=/\?/;Q.parseJSON=function(data){return JSON.parse(data+"")},Q.parseXML=function(data){var t,e;if(!data||"string"!=typeof data)return null;try{e=new DOMParser,t=e.parseFromString(data,"text/xml")}catch(n){t=void 0}return(!t||t.getElementsByTagName("parsererror").length)&&Q.error("Invalid XML: "+data),t};var hn=/#.*$/,pn=/([?&])_=[^&]*/,dn=/^(.*?):[ \t]*([^\r\n]*)$/gm,gn=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,vn=/^(?:GET|HEAD)$/,mn=/^\/\//,yn=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,bn={},xn={},wn="*/".concat("*"),_n=t.location.href,Mn=yn.exec(_n.toLowerCase())||[];Q.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:_n,type:"GET",isLocal:gn.test(Mn[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":wn,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":Q.parseJSON,"text xml":Q.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(t,e){return e?z(z(t,Q.ajaxSettings),e):z(Q.ajaxSettings,t)},ajaxPrefilter:L(bn),ajaxTransport:L(xn),ajax:function(t,e){function n(t,e,n,a){var s,c,m,y,x,_=e;2!==b&&(b=2,u&&clearTimeout(u),r=void 0,o=a||"",w.readyState=t>0?4:0,s=t>=200&&300>t||304===t,n&&(y=R(f,w,n)),y=I(f,y,w,s),s?(f.ifModified&&(x=w.getResponseHeader("Last-Modified"),x&&(Q.lastModified[i]=x),x=w.getResponseHeader("etag"),x&&(Q.etag[i]=x)),204===t||"HEAD"===f.type?_="nocontent":304===t?_="notmodified":(_=y.state,c=y.data,m=y.error,s=!m)):(m=_,(t||!_)&&(_="error",0>t&&(t=0))),w.status=t,w.statusText=(e||_)+"",s?d.resolveWith(h,[c,_,w]):d.rejectWith(h,[w,_,m]),w.statusCode(v),v=void 0,l&&p.trigger(s?"ajaxSuccess":"ajaxError",[w,f,s?c:m]),g.fireWith(h,[w,_]),l&&(p.trigger("ajaxComplete",[w,f]),--Q.active||Q.event.trigger("ajaxStop")))}"object"==typeof t&&(e=t,t=void 0),e=e||{};var r,i,o,a,u,s,l,c,f=Q.ajaxSetup({},e),h=f.context||f,p=f.context&&(h.nodeType||h.jquery)?Q(h):Q.event,d=Q.Deferred(),g=Q.Callbacks("once memory"),v=f.statusCode||{},m={},y={},b=0,x="canceled",w={readyState:0,getResponseHeader:function(t){var e;if(2===b){if(!a)for(a={};e=dn.exec(o);)a[e[1].toLowerCase()]=e[2];e=a[t.toLowerCase()]}return null==e?null:e},getAllResponseHeaders:function(){return 2===b?o:null},setRequestHeader:function(t,e){var n=t.toLowerCase();return b||(t=y[n]=y[n]||t,m[t]=e),this},overrideMimeType:function(t){return b||(f.mimeType=t),this},statusCode:function(t){var e;if(t)if(2>b)for(e in t)v[e]=[v[e],t[e]];else w.always(t[w.status]);return this},abort:function(t){var e=t||x;return r&&r.abort(e),n(0,e),this}};if(d.promise(w).complete=g.add,w.success=w.done,w.error=w.fail,f.url=((t||f.url||_n)+"").replace(hn,"").replace(mn,Mn[1]+"//"),f.type=e.method||e.type||f.method||f.type,f.dataTypes=Q.trim(f.dataType||"*").toLowerCase().match(pe)||[""],null==f.crossDomain&&(s=yn.exec(f.url.toLowerCase()),f.crossDomain=!(!s||s[1]===Mn[1]&&s[2]===Mn[2]&&(s[3]||("http:"===s[1]?"80":"443"))===(Mn[3]||("http:"===Mn[1]?"80":"443")))),f.data&&f.processData&&"string"!=typeof f.data&&(f.data=Q.param(f.data,f.traditional)),F(bn,f,e,w),2===b)return w;l=Q.event&&f.global,l&&0===Q.active++&&Q.event.trigger("ajaxStart"),f.type=f.type.toUpperCase(),f.hasContent=!vn.test(f.type),i=f.url,f.hasContent||(f.data&&(i=f.url+=(fn.test(i)?"&":"?")+f.data,delete f.data),f.cache===!1&&(f.url=pn.test(i)?i.replace(pn,"$1_="+cn++):i+(fn.test(i)?"&":"?")+"_="+cn++)),f.ifModified&&(Q.lastModified[i]&&w.setRequestHeader("If-Modified-Since",Q.lastModified[i]),Q.etag[i]&&w.setRequestHeader("If-None-Match",Q.etag[i])),(f.data&&f.hasContent&&f.contentType!==!1||e.contentType)&&w.setRequestHeader("Content-Type",f.contentType),w.setRequestHeader("Accept",f.dataTypes[0]&&f.accepts[f.dataTypes[0]]?f.accepts[f.dataTypes[0]]+("*"!==f.dataTypes[0]?", "+wn+"; q=0.01":""):f.accepts["*"]);for(c in f.headers)w.setRequestHeader(c,f.headers[c]);if(f.beforeSend&&(f.beforeSend.call(h,w,f)===!1||2===b))return w.abort();x="abort";for(c in{success:1,error:1,complete:1})w[c](f[c]);if(r=F(xn,f,e,w)){w.readyState=1,l&&p.trigger("ajaxSend",[w,f]),f.async&&f.timeout>0&&(u=setTimeout(function(){w.abort("timeout")},f.timeout));try{b=1,r.send(m,n)}catch(_){if(!(2>b))throw _;n(-1,_)}}else n(-1,"No Transport");return w},getJSON:function(t,data,e){return Q.get(t,data,e,"json")},getScript:function(t,e){return Q.get(t,void 0,e,"script")}}),Q.each(["get","post"],function(t,e){Q[e]=function(t,data,n,r){return Q.isFunction(data)&&(r=r||n,n=data,data=void 0),Q.ajax({url:t,type:e,dataType:r,data:data,success:n})}}),Q._evalUrl=function(t){return Q.ajax({url:t,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})},Q.fn.extend({wrapAll:function(t){var e;return Q.isFunction(t)?this.each(function(e){Q(this).wrapAll(t.call(this,e))}):(this[0]&&(e=Q(t,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&e.insertBefore(this[0]),e.map(function(){for(var t=this;t.firstElementChild;)t=t.firstElementChild;return t}).append(this)),this)},wrapInner:function(t){return this.each(Q.isFunction(t)?function(e){Q(this).wrapInner(t.call(this,e))}:function(){var e=Q(this),n=e.contents();n.length?n.wrapAll(t):e.append(t)})},wrap:function(t){var e=Q.isFunction(t);return this.each(function(n){Q(this).wrapAll(e?t.call(this,n):t)})},unwrap:function(){return this.parent().each(function(){Q.nodeName(this,"body")||Q(this).replaceWith(this.childNodes)}).end()}}),Q.expr.filters.hidden=function(t){return t.offsetWidth<=0&&t.offsetHeight<=0},Q.expr.filters.visible=function(t){return!Q.expr.filters.hidden(t)};var kn=/%20/g,En=/\[\]$/,Cn=/\r?\n/g,Sn=/^(?:submit|button|image|reset|file)$/i,Tn=/^(?:input|select|textarea|keygen)/i;Q.param=function(t,e){var n,r=[],i=function(t,e){e=Q.isFunction(e)?e():null==e?"":e,r[r.length]=encodeURIComponent(t)+"="+encodeURIComponent(e)};if(void 0===e&&(e=Q.ajaxSettings&&Q.ajaxSettings.traditional),Q.isArray(t)||t.jquery&&!Q.isPlainObject(t))Q.each(t,function(){i(this.name,this.value)});else for(n in t)P(n,t[n],e,i);return r.join("&").replace(kn,"+")},Q.fn.extend({serialize:function(){return Q.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var t=Q.prop(this,"elements");return t?Q.makeArray(t):this}).filter(function(){var t=this.type;return this.name&&!Q(this).is(":disabled")&&Tn.test(this.nodeName)&&!Sn.test(t)&&(this.checked||!ke.test(t))}).map(function(t,e){var n=Q(this).val();return null==n?null:Q.isArray(n)?Q.map(n,function(t){return{name:e.name,value:t.replace(Cn,"\r\n")}}):{name:e.name,value:n.replace(Cn,"\r\n")}}).get()}}),Q.ajaxSettings.xhr=function(){try{return new XMLHttpRequest}catch(t){}};var jn=0,An={},Nn={0:200,1223:204},On=Q.ajaxSettings.xhr();t.attachEvent&&t.attachEvent("onunload",function(){for(var t in An)An[t]()}),Z.cors=!!On&&"withCredentials"in On,Z.ajax=On=!!On,Q.ajaxTransport(function(t){var e;return Z.cors||On&&!t.crossDomain?{send:function(n,r){var i,o=t.xhr(),a=++jn;if(o.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(i in t.xhrFields)o[i]=t.xhrFields[i];t.mimeType&&o.overrideMimeType&&o.overrideMimeType(t.mimeType),t.crossDomain||n["X-Requested-With"]||(n["X-Requested-With"]="XMLHttpRequest");for(i in n)o.setRequestHeader(i,n[i]);e=function(t){return function(){e&&(delete An[a],e=o.onload=o.onerror=null,"abort"===t?o.abort():"error"===t?r(o.status,o.statusText):r(Nn[o.status]||o.status,o.statusText,"string"==typeof o.responseText?{text:o.responseText}:void 0,o.getAllResponseHeaders()))}},o.onload=e(),o.onerror=e("error"),e=An[a]=e("abort");try{o.send(t.hasContent&&t.data||null)}catch(u){if(e)throw u}},abort:function(){e&&e()}}:void 0}),Q.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(t){return Q.globalEval(t),t}}}),Q.ajaxPrefilter("script",function(t){void 0===t.cache&&(t.cache=!1),t.crossDomain&&(t.type="GET")}),Q.ajaxTransport("script",function(t){if(t.crossDomain){var e,n;return{send:function(r,i){e=Q("<script>").prop({async:!0,charset:t.scriptCharset,src:t.url}).on("load error",n=function(t){e.remove(),n=null,t&&i("error"===t.type?404:200,t.type)}),K.head.appendChild(e[0])},abort:function(){n&&n()}}}});var qn=[],Dn=/(=)\?(?=&|$)|\?\?/;Q.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var t=qn.pop()||Q.expando+"_"+cn++;return this[t]=!0,t}}),Q.ajaxPrefilter("json jsonp",function(e,n,r){var i,o,a,u=e.jsonp!==!1&&(Dn.test(e.url)?"url":"string"==typeof e.data&&!(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Dn.test(e.data)&&"data");return u||"jsonp"===e.dataTypes[0]?(i=e.jsonpCallback=Q.isFunction(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,u?e[u]=e[u].replace(Dn,"$1"+i):e.jsonp!==!1&&(e.url+=(fn.test(e.url)?"&":"?")+e.jsonp+"="+i),e.converters["script json"]=function(){return a||Q.error(i+" was not called"),a[0]},e.dataTypes[0]="json",o=t[i],t[i]=function(){a=arguments},r.always(function(){t[i]=o,e[i]&&(e.jsonpCallback=n.jsonpCallback,qn.push(i)),a&&Q.isFunction(o)&&o(a[0]),a=o=void 0}),"script"):void 0}),Q.parseHTML=function(data,t,e){if(!data||"string"!=typeof data)return null;"boolean"==typeof t&&(e=t,t=!1),t=t||K;var n=ae.exec(data),r=!e&&[];return n?[t.createElement(n[1])]:(n=Q.buildFragment([data],t,r),r&&r.length&&Q(r).remove(),Q.merge([],n.childNodes))};var Ln=Q.fn.load;Q.fn.load=function(t,e,n){if("string"!=typeof t&&Ln)return Ln.apply(this,arguments);var r,i,o,a=this,u=t.indexOf(" ");return u>=0&&(r=Q.trim(t.slice(u)),t=t.slice(0,u)),Q.isFunction(e)?(n=e,e=void 0):e&&"object"==typeof e&&(i="POST"),a.length>0&&Q.ajax({url:t,type:i,dataType:"html",data:e}).done(function(t){o=arguments,a.html(r?Q("<div>").append(Q.parseHTML(t)).find(r):t)}).complete(n&&function(t,e){a.each(n,o||[t.responseText,e,t])}),this},Q.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(t,e){Q.fn[e]=function(t){return this.on(e,t)}}),Q.expr.filters.animated=function(t){return Q.grep(Q.timers,function(e){return t===e.elem}).length};var Fn=t.document.documentElement;Q.offset={setOffset:function(t,e,n){var r,i,o,a,u,s,l,c=Q.css(t,"position"),f=Q(t),h={};"static"===c&&(t.style.position="relative"),u=f.offset(),o=Q.css(t,"top"),s=Q.css(t,"left"),l=("absolute"===c||"fixed"===c)&&(o+s).indexOf("auto")>-1,l?(r=f.position(),a=r.top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(s)||0),Q.isFunction(e)&&(e=e.call(t,n,u)),null!=e.top&&(h.top=e.top-u.top+a),null!=e.left&&(h.left=e.left-u.left+i),"using"in e?e.using.call(t,h):f.css(h)}},Q.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){Q.offset.setOffset(this,t,e)});var e,n,r=this[0],i={top:0,left:0},o=r&&r.ownerDocument;if(o)return e=o.documentElement,Q.contains(e,r)?(typeof r.getBoundingClientRect!==Ee&&(i=r.getBoundingClientRect()),n=H(o),{top:i.top+n.pageYOffset-e.clientTop,left:i.left+n.pageXOffset-e.clientLeft}):i},position:function(){if(this[0]){var t,e,n=this[0],r={top:0,left:0};return"fixed"===Q.css(n,"position")?e=n.getBoundingClientRect():(t=this.offsetParent(),e=this.offset(),Q.nodeName(t[0],"html")||(r=t.offset()),r.top+=Q.css(t[0],"borderTopWidth",!0),r.left+=Q.css(t[0],"borderLeftWidth",!0)),{top:e.top-r.top-Q.css(n,"marginTop",!0),left:e.left-r.left-Q.css(n,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var t=this.offsetParent||Fn;t&&!Q.nodeName(t,"html")&&"static"===Q.css(t,"position");)t=t.offsetParent;return t||Fn})}}),Q.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,n){var r="pageYOffset"===n;Q.fn[e]=function(i){return ve(this,function(e,i,o){var a=H(e);return void 0===o?a?a[n]:e[i]:void(a?a.scrollTo(r?t.pageXOffset:o,r?o:t.pageYOffset):e[i]=o)},e,i,arguments.length,null)}}),Q.each(["top","left"],function(t,e){Q.cssHooks[e]=_(Z.pixelPosition,function(t,n){return n?(n=w(t,e),Be.test(n)?Q(t).position()[e]+"px":n):void 0})}),Q.each({Height:"height",Width:"width"},function(t,e){Q.each({padding:"inner"+t,content:e,"":"outer"+t},function(n,r){Q.fn[r]=function(r,i){var o=arguments.length&&(n||"boolean"!=typeof r),a=n||(r===!0||i===!0?"margin":"border");return ve(this,function(e,n,r){var i;return Q.isWindow(e)?e.document.documentElement["client"+t]:9===e.nodeType?(i=e.documentElement,Math.max(e.body["scroll"+t],i["scroll"+t],e.body["offset"+t],i["offset"+t],i["client"+t])):void 0===r?Q.css(e,n,a):Q.style(e,n,r,a)},e,o?r:void 0,o,null)}})}),Q.fn.size=function(){return this.length},Q.fn.andSelf=Q.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return Q});var zn=t.jQuery,Rn=t.$;return Q.noConflict=function(e){return t.$===Q&&(t.$=Rn),e&&t.jQuery===Q&&(t.jQuery=zn),Q},typeof e===Ee&&(t.jQuery=t.$=Q),Q})},{}],62:[function(t,e,n){(function(t){(function(){function r(t,e,n){for(var r=(n||0)-1,i=t?t.length:0;++r<i;)if(t[r]===e)return r;return-1}function i(t,e){var n=typeof e;if(t=t.cache,"boolean"==n||null==e)return t[e]?0:-1;"number"!=n&&"string"!=n&&(n="object");var i="number"==n?e:x+e;return t=(t=t[n])&&t[i],"object"==n?t&&r(t,e)>-1?0:-1:t?0:-1}function o(t){var e=this.cache,n=typeof t;if("boolean"==n||null==t)e[t]=!0;else{"number"!=n&&"string"!=n&&(n="object");var r="number"==n?t:x+t,i=e[n]||(e[n]={});"object"==n?(i[r]||(i[r]=[])).push(t):i[r]=!0}}function a(t){return t.charCodeAt(0)}function u(t,e){for(var n=t.criteria,r=e.criteria,i=-1,o=n.length;++i<o;){var a=n[i],u=r[i];if(a!==u){if(a>u||"undefined"==typeof a)return 1;if(u>a||"undefined"==typeof u)return-1}}return t.index-e.index}function s(t){var e=-1,n=t.length,r=t[0],i=t[n/2|0],a=t[n-1];if(r&&"object"==typeof r&&i&&"object"==typeof i&&a&&"object"==typeof a)return!1;var u=f();u["false"]=u["null"]=u["true"]=u.undefined=!1;var s=f();for(s.array=t,s.cache=u,s.push=o;++e<n;)s.push(t[e]);return s}function l(t){return"\\"+Z[t]}function c(){return m.pop()||[]}function f(){return y.pop()||{array:null,cache:null,criteria:null,"false":!1,index:0,"null":!1,number:null,object:null,push:null,string:null,"true":!1,undefined:!1,value:null}}function h(t){t.length=0,m.length<_&&m.push(t)}function p(t){var e=t.cache;e&&p(e),t.array=t.cache=t.criteria=t.object=t.number=t.string=t.value=null,y.length<_&&y.push(t)}function d(t,e,n){e||(e=0),"undefined"==typeof n&&(n=t?t.length:0);for(var r=-1,i=n-e||0,o=Array(0>i?0:i);++r<i;)o[r]=t[e+r];return o}function g(t){function e(t){return t&&"object"==typeof t&&!Gr(t)&&Dr.call(t,"__wrapped__")?t:new n(t)}function n(t,e){this.__chain__=!!e,this.__wrapped__=t}function o(t){function e(){if(r){var t=d(r);Lr.apply(t,arguments)}if(this instanceof e){var o=y(n.prototype),a=n.apply(o,t||arguments);return Ae(a)?a:o}return n.apply(i,t||arguments)}var n=t[0],r=t[2],i=t[4];return Kr(e,t),e}function m(t,e,n,r,i){if(n){var o=n(t);if("undefined"!=typeof o)return o}var a=Ae(t);if(!a)return t;var u=Sr.call(t);if(!W[u])return t;var s=Jr[u];switch(u){case I:case P:return new s(+t);case B:case U:return new s(t);case V:return o=s(t.source,T.exec(t)),o.lastIndex=t.lastIndex,o}var l=Gr(t);if(e){var f=!r;r||(r=c()),i||(i=c());for(var p=r.length;p--;)if(r[p]==t)return i[p];o=l?s(t.length):{}}else o=l?d(t):oi({},t);return l&&(Dr.call(t,"index")&&(o.index=t.index),Dr.call(t,"input")&&(o.input=t.input)),e?(r.push(t),i.push(o),(l?Ze:si)(t,function(t,a){o[a]=m(t,e,n,r,i)}),f&&(h(r),h(i)),o):o}function y(t){return Ae(t)?Pr(t):{}}function _(t,e,n){if("function"!=typeof t)return Gn;if("undefined"==typeof e||!("prototype"in t))return t;var r=t.__bindData__;if("undefined"==typeof r&&(Zr.funcNames&&(r=!t.name),r=r||!Zr.funcDecomp,!r)){var i=Or.call(t);Zr.funcNames||(r=!j.test(i)),r||(r=q.test(i),Kr(t,r))}if(r===!1||r!==!0&&1&r[1])return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,i){return t.call(e,n,r,i)};case 4:return function(n,r,i,o){return t.call(e,n,r,i,o)}}return Ln(t,e)}function Z(t){function e(){var t=s?a:this;if(i){var p=d(i);Lr.apply(p,arguments)}if((o||c)&&(p||(p=d(arguments)),o&&Lr.apply(p,o),c&&p.length<u))return r|=16,Z([n,f?r:-4&r,p,null,a,u]);if(p||(p=arguments),l&&(n=t[h]),this instanceof e){t=y(n.prototype);var g=n.apply(t,p);return Ae(g)?g:t}return n.apply(t,p)}var n=t[0],r=t[1],i=t[2],o=t[3],a=t[4],u=t[5],s=1&r,l=2&r,c=4&r,f=8&r,h=n;return Kr(e,t),e}function G(t,e){var n=-1,o=se(),a=t?t.length:0,u=a>=w&&o===r,l=[];if(u){var c=s(e);c?(o=i,e=c):u=!1}for(;++n<a;){var f=t[n];o(e,f)<0&&l.push(f)}return u&&p(e),l}function Q(t,e,n,r){for(var i=(r||0)-1,o=t?t.length:0,a=[];++i<o;){var u=t[i];if(u&&"object"==typeof u&&"number"==typeof u.length&&(Gr(u)||he(u))){e||(u=Q(u,e,n));var s=-1,l=u.length,c=a.length;for(a.length+=l;++s<l;)a[c++]=u[s]}else n||a.push(u)}return a}function te(t,e,n,r,i,o){if(n){var a=n(t,e);if("undefined"!=typeof a)return!!a}if(t===e)return 0!==t||1/t==1/e;var u=typeof t,s=typeof e;if(!(t!==t||t&&J[u]||e&&J[s]))return!1;if(null==t||null==e)return t===e;var l=Sr.call(t),f=Sr.call(e);if(l==z&&(l=$),f==z&&(f=$),l!=f)return!1;switch(l){case I:case P:return+t==+e;case B:return t!=+t?e!=+e:0==t?1/t==1/e:t==+e;case V:case U:return t==_r(e)}var p=l==R;if(!p){var d=Dr.call(t,"__wrapped__"),g=Dr.call(e,"__wrapped__");if(d||g)return te(d?t.__wrapped__:t,g?e.__wrapped__:e,n,r,i,o);if(l!=$)return!1;var v=t.constructor,m=e.constructor;if(v!=m&&!(je(v)&&v instanceof v&&je(m)&&m instanceof m)&&"constructor"in t&&"constructor"in e)return!1}var y=!i;i||(i=c()),o||(o=c());for(var b=i.length;b--;)if(i[b]==t)return o[b]==e;var x=0;if(a=!0,i.push(t),o.push(e),p){if(b=t.length,x=e.length,a=x==b,a||r)for(;x--;){var w=b,_=e[x];if(r)for(;w--&&!(a=te(t[w],_,n,r,i,o)););else if(!(a=te(t[x],_,n,r,i,o)))break}}else ui(e,function(e,u,s){return Dr.call(s,u)?(x++,a=Dr.call(t,u)&&te(t[u],e,n,r,i,o)):void 0}),a&&!r&&ui(t,function(t,e,n){return Dr.call(n,e)?a=--x>-1:void 0});return i.pop(),o.pop(),y&&(h(i),h(o)),a}function ee(t,e,n,r,i){(Gr(e)?Ze:si)(e,function(e,o){var a,u,s=e,l=t[o];if(e&&((u=Gr(e))||li(e))){for(var c=r.length;c--;)if(a=r[c]==e){l=i[c];break}if(!a){var f;n&&(s=n(l,e),(f="undefined"!=typeof s)&&(l=s)),f||(l=u?Gr(l)?l:[]:li(l)?l:{}),r.push(e),i.push(l),f||ee(l,e,n,r,i)}}else n&&(s=n(l,e),"undefined"==typeof s&&(s=e)),"undefined"!=typeof s&&(l=s);t[o]=l})}function re(t,e){return t+Nr(Xr()*(e-t+1))}function ie(t,e,n){var o=-1,a=se(),u=t?t.length:0,l=[],f=!e&&u>=w&&a===r,d=n||f?c():l;if(f){var g=s(d);a=i,d=g}for(;++o<u;){var v=t[o],m=n?n(v,o,t):v;(e?!o||d[d.length-1]!==m:a(d,m)<0)&&((n||f)&&d.push(m),l.push(v))}return f?(h(d.array),p(d)):n&&h(d),l}function oe(t){return function(n,r,i){var o={};r=e.createCallback(r,i,3);var a=-1,u=n?n.length:0;if("number"==typeof u)for(;++a<u;){var s=n[a];t(o,s,r(s,a,n),n)}else si(n,function(e,n,i){t(o,e,r(e,n,i),i)});return o}}function ae(t,e,n,r,i,a){var u=1&e,s=2&e,l=4&e,c=16&e,f=32&e;if(!s&&!je(t))throw new Mr;c&&!n.length&&(e&=-17,c=n=!1),f&&!r.length&&(e&=-33,f=r=!1);var h=t&&t.__bindData__;if(h&&h!==!0)return h=d(h),h[2]&&(h[2]=d(h[2])),h[3]&&(h[3]=d(h[3])),!u||1&h[1]||(h[4]=i),!u&&1&h[1]&&(e|=8),!l||4&h[1]||(h[5]=a),c&&Lr.apply(h[2]||(h[2]=[]),n),f&&Rr.apply(h[3]||(h[3]=[]),r),h[1]|=e,ae.apply(null,h);var p=1==e||17===e?o:Z;return p([t,e,n,r,i,a])}function ue(t){return ei[t]}function se(){var t=(t=e.indexOf)===yn?r:t;return t}function le(t){return"function"==typeof t&&Tr.test(t)}function ce(t){var e,n;return t&&Sr.call(t)==$&&(e=t.constructor,!je(e)||e instanceof e)?(ui(t,function(t,e){n=e}),"undefined"==typeof n||Dr.call(t,n)):!1}function fe(t){return ni[t]}function he(t){return t&&"object"==typeof t&&"number"==typeof t.length&&Sr.call(t)==z||!1}function pe(t,e,n,r){return"boolean"!=typeof e&&null!=e&&(r=n,n=e,e=!1),m(t,e,"function"==typeof n&&_(n,r,1))}function de(t,e,n){return m(t,!0,"function"==typeof e&&_(e,n,1))}function ge(t,e){var n=y(t);return e?oi(n,e):n}function ve(t,n,r){var i;return n=e.createCallback(n,r,3),si(t,function(t,e,r){return n(t,e,r)?(i=e,!1):void 0}),i}function me(t,n,r){var i;return n=e.createCallback(n,r,3),be(t,function(t,e,r){return n(t,e,r)?(i=e,!1):void 0}),i}function ye(t,e,n){var r=[];ui(t,function(t,e){r.push(e,t)});var i=r.length;for(e=_(e,n,3);i--&&e(r[i--],r[i],t)!==!1;);return t}function be(t,e,n){var r=ti(t),i=r.length;for(e=_(e,n,3);i--;){var o=r[i];if(e(t[o],o,t)===!1)break}return t}function xe(t){var e=[];return ui(t,function(t,n){je(t)&&e.push(n)}),e.sort()}function we(t,e){return t?Dr.call(t,e):!1}function _e(t){for(var e=-1,n=ti(t),r=n.length,i={};++e<r;){var o=n[e];i[t[o]]=o}return i}function Me(t){return t===!0||t===!1||t&&"object"==typeof t&&Sr.call(t)==I||!1}function ke(t){return t&&"object"==typeof t&&Sr.call(t)==P||!1}function Ee(t){return t&&1===t.nodeType||!1}function Ce(t){var e=!0;if(!t)return e;var n=Sr.call(t),r=t.length;return n==R||n==U||n==z||n==$&&"number"==typeof r&&je(t.splice)?!r:(si(t,function(){return e=!1}),e)}function Se(t,e,n,r){return te(t,e,"function"==typeof n&&_(n,r,2))}function Te(t){return Br(t)&&!$r(parseFloat(t))}function je(t){return"function"==typeof t}function Ae(t){return!(!t||!J[typeof t])}function Ne(t){return qe(t)&&t!=+t}function Oe(t){return null===t}function qe(t){return"number"==typeof t||t&&"object"==typeof t&&Sr.call(t)==B||!1}function De(t){return t&&"object"==typeof t&&Sr.call(t)==V||!1}function Le(t){return"string"==typeof t||t&&"object"==typeof t&&Sr.call(t)==U||!1}function Fe(t){return"undefined"==typeof t}function ze(t,n,r){var i={};return n=e.createCallback(n,r,3),si(t,function(t,e,r){i[e]=n(t,e,r)}),i}function Re(t){var e=arguments,n=2;if(!Ae(t))return t;if("number"!=typeof e[2]&&(n=e.length),n>3&&"function"==typeof e[n-2])var r=_(e[--n-1],e[n--],2);else n>2&&"function"==typeof e[n-1]&&(r=e[--n]);for(var i=d(arguments,1,n),o=-1,a=c(),u=c();++o<n;)ee(t,i[o],r,a,u);return h(a),h(u),t}function Ie(t,n,r){var i={};if("function"!=typeof n){var o=[];ui(t,function(t,e){o.push(e)}),o=G(o,Q(arguments,!0,!1,1));for(var a=-1,u=o.length;++a<u;){var s=o[a];i[s]=t[s]}}else n=e.createCallback(n,r,3),ui(t,function(t,e,r){n(t,e,r)||(i[e]=t)});return i}function Pe(t){for(var e=-1,n=ti(t),r=n.length,i=dr(r);++e<r;){var o=n[e];i[e]=[o,t[o]]}return i}function He(t,n,r){var i={};if("function"!=typeof n)for(var o=-1,a=Q(arguments,!0,!1,1),u=Ae(t)?a.length:0;++o<u;){var s=a[o];s in t&&(i[s]=t[s])}else n=e.createCallback(n,r,3),ui(t,function(t,e,r){n(t,e,r)&&(i[e]=t)});return i}function Be(t,n,r,i){var o=Gr(t);if(null==r)if(o)r=[];else{var a=t&&t.constructor,u=a&&a.prototype;r=y(u)}return n&&(n=e.createCallback(n,i,4),(o?Ze:si)(t,function(t,e,i){return n(r,t,e,i)})),r}function $e(t){for(var e=-1,n=ti(t),r=n.length,i=dr(r);++e<r;)i[e]=t[n[e]];return i}function Ve(t){for(var e=arguments,n=-1,r=Q(e,!0,!1,1),i=e[2]&&e[2][e[1]]===t?1:r.length,o=dr(i);++n<i;)o[n]=t[r[n]];return o}function Ue(t,e,n){var r=-1,i=se(),o=t?t.length:0,a=!1;return n=(0>n?Ur(0,o+n):n)||0,Gr(t)?a=i(t,e,n)>-1:"number"==typeof o?a=(Le(t)?t.indexOf(e,n):i(t,e,n))>-1:si(t,function(t){return++r>=n?!(a=t===e):void 0}),a}function We(t,n,r){var i=!0;n=e.createCallback(n,r,3);var o=-1,a=t?t.length:0;if("number"==typeof a)for(;++o<a&&(i=!!n(t[o],o,t)););else si(t,function(t,e,r){return i=!!n(t,e,r)});return i}function Ye(t,n,r){var i=[];n=e.createCallback(n,r,3);var o=-1,a=t?t.length:0;if("number"==typeof a)for(;++o<a;){var u=t[o];n(u,o,t)&&i.push(u)}else si(t,function(t,e,r){n(t,e,r)&&i.push(t)});return i}function Xe(t,n,r){n=e.createCallback(n,r,3);var i=-1,o=t?t.length:0;if("number"!=typeof o){var a;return si(t,function(t,e,r){return n(t,e,r)?(a=t,!1):void 0}),a}for(;++i<o;){var u=t[i];if(n(u,i,t))return u}}function Je(t,n,r){var i;return n=e.createCallback(n,r,3),Ke(t,function(t,e,r){return n(t,e,r)?(i=t,!1):void 0}),i}function Ze(t,e,n){var r=-1,i=t?t.length:0;if(e=e&&"undefined"==typeof n?e:_(e,n,3),"number"==typeof i)for(;++r<i&&e(t[r],r,t)!==!1;);else si(t,e);return t}function Ke(t,e,n){var r=t?t.length:0;if(e=e&&"undefined"==typeof n?e:_(e,n,3),"number"==typeof r)for(;r--&&e(t[r],r,t)!==!1;);else{var i=ti(t);r=i.length,si(t,function(t,n,o){return n=i?i[--r]:--r,e(o[n],n,o)})}return t}function Ge(t,e){var n=d(arguments,2),r=-1,i="function"==typeof e,o=t?t.length:0,a=dr("number"==typeof o?o:0);return Ze(t,function(t){a[++r]=(i?e:t[e]).apply(t,n)}),a}function Qe(t,n,r){var i=-1,o=t?t.length:0;if(n=e.createCallback(n,r,3),"number"==typeof o)for(var a=dr(o);++i<o;)a[i]=n(t[i],i,t);else a=[],si(t,function(t,e,r){a[++i]=n(t,e,r)});return a}function tn(t,n,r){var i=-1/0,o=i;if("function"!=typeof n&&r&&r[n]===t&&(n=null),null==n&&Gr(t))for(var u=-1,s=t.length;++u<s;){var l=t[u];l>o&&(o=l)}else n=null==n&&Le(t)?a:e.createCallback(n,r,3),Ze(t,function(t,e,r){var a=n(t,e,r);a>i&&(i=a,o=t)});return o}function en(t,n,r){var i=1/0,o=i;if("function"!=typeof n&&r&&r[n]===t&&(n=null),null==n&&Gr(t))for(var u=-1,s=t.length;++u<s;){var l=t[u];o>l&&(o=l)}else n=null==n&&Le(t)?a:e.createCallback(n,r,3),Ze(t,function(t,e,r){var a=n(t,e,r);i>a&&(i=a,o=t)});return o}function nn(t,n,r,i){if(!t)return r;var o=arguments.length<3;n=e.createCallback(n,i,4);var a=-1,u=t.length;if("number"==typeof u)for(o&&(r=t[++a]);++a<u;)r=n(r,t[a],a,t);else si(t,function(t,e,i){r=o?(o=!1,t):n(r,t,e,i)});return r}function rn(t,n,r,i){var o=arguments.length<3;return n=e.createCallback(n,i,4),Ke(t,function(t,e,i){r=o?(o=!1,t):n(r,t,e,i)}),r}function on(t,n,r){return n=e.createCallback(n,r,3),Ye(t,function(t,e,r){return!n(t,e,r)})}function an(t,e,n){if(t&&"number"!=typeof t.length&&(t=$e(t)),null==e||n)return t?t[re(0,t.length-1)]:v;var r=un(t);return r.length=Wr(Ur(0,e),r.length),r}function un(t){var e=-1,n=t?t.length:0,r=dr("number"==typeof n?n:0);return Ze(t,function(t){var n=re(0,++e);r[e]=r[n],r[n]=t}),r}function sn(t){var e=t?t.length:0;return"number"==typeof e?e:ti(t).length}function ln(t,n,r){var i;n=e.createCallback(n,r,3);var o=-1,a=t?t.length:0;if("number"==typeof a)for(;++o<a&&!(i=n(t[o],o,t)););else si(t,function(t,e,r){return!(i=n(t,e,r))});return!!i}function cn(t,n,r){var i=-1,o=Gr(n),a=t?t.length:0,s=dr("number"==typeof a?a:0);for(o||(n=e.createCallback(n,r,3)),Ze(t,function(t,e,r){var a=s[++i]=f();o?a.criteria=Qe(n,function(e){return t[e]}):(a.criteria=c())[0]=n(t,e,r),a.index=i,a.value=t}),a=s.length,s.sort(u);a--;){var l=s[a];s[a]=l.value,o||h(l.criteria),p(l)}return s}function fn(t){return t&&"number"==typeof t.length?d(t):$e(t)}function hn(t){for(var e=-1,n=t?t.length:0,r=[];++e<n;){var i=t[e];i&&r.push(i)}return r}function pn(t){return G(t,Q(arguments,!0,!0,1))}function dn(t,n,r){var i=-1,o=t?t.length:0;for(n=e.createCallback(n,r,3);++i<o;)if(n(t[i],i,t))return i;return-1}function gn(t,n,r){var i=t?t.length:0;for(n=e.createCallback(n,r,3);i--;)if(n(t[i],i,t))return i;return-1}function vn(t,n,r){var i=0,o=t?t.length:0;if("number"!=typeof n&&null!=n){var a=-1;for(n=e.createCallback(n,r,3);++a<o&&n(t[a],a,t);)i++}else if(i=n,null==i||r)return t?t[0]:v;return d(t,0,Wr(Ur(0,i),o))}function mn(t,e,n,r){return"boolean"!=typeof e&&null!=e&&(r=n,n="function"!=typeof e&&r&&r[e]===t?null:e,e=!1),null!=n&&(t=Qe(t,n,r)),Q(t,e)}function yn(t,e,n){if("number"==typeof n){var i=t?t.length:0;n=0>n?Ur(0,i+n):n||0}else if(n){var o=Sn(t,e);return t[o]===e?o:-1}return r(t,e,n)}function bn(t,n,r){var i=0,o=t?t.length:0;if("number"!=typeof n&&null!=n){var a=o;for(n=e.createCallback(n,r,3);a--&&n(t[a],a,t);)i++}else i=null==n||r?1:n||i;return d(t,0,Wr(Ur(0,o-i),o))}function xn(){for(var t=[],e=-1,n=arguments.length,o=c(),a=se(),u=a===r,l=c();++e<n;){var f=arguments[e];(Gr(f)||he(f))&&(t.push(f),o.push(u&&f.length>=w&&s(e?t[e]:l)))}var d=t[0],g=-1,v=d?d.length:0,m=[];t:for(;++g<v;){var y=o[0];if(f=d[g],(y?i(y,f):a(l,f))<0){for(e=n,(y||l).push(f);--e;)if(y=o[e],(y?i(y,f):a(t[e],f))<0)continue t;m.push(f)}}for(;n--;)y=o[n],y&&p(y);return h(o),h(l),m}function wn(t,n,r){var i=0,o=t?t.length:0;if("number"!=typeof n&&null!=n){var a=o;for(n=e.createCallback(n,r,3);a--&&n(t[a],a,t);)i++}else if(i=n,null==i||r)return t?t[o-1]:v;return d(t,Ur(0,o-i))}function _n(t,e,n){var r=t?t.length:0;for("number"==typeof n&&(r=(0>n?Ur(0,r+n):Wr(n,r-1))+1);r--;)if(t[r]===e)return r;return-1}function Mn(t){for(var e=arguments,n=0,r=e.length,i=t?t.length:0;++n<r;)for(var o=-1,a=e[n];++o<i;)t[o]===a&&(zr.call(t,o--,1),i--);return t}function kn(t,e,n){t=+t||0,n="number"==typeof n?n:+n||1,null==e&&(e=t,t=0);for(var r=-1,i=Ur(0,jr((e-t)/(n||1))),o=dr(i);++r<i;)o[r]=t,t+=n;return o}function En(t,n,r){var i=-1,o=t?t.length:0,a=[];for(n=e.createCallback(n,r,3);++i<o;){var u=t[i];n(u,i,t)&&(a.push(u),zr.call(t,i--,1),o--)}return a}function Cn(t,n,r){if("number"!=typeof n&&null!=n){var i=0,o=-1,a=t?t.length:0;for(n=e.createCallback(n,r,3);++o<a&&n(t[o],o,t);)i++}else i=null==n||r?1:Ur(0,n);return d(t,i)}function Sn(t,n,r,i){var o=0,a=t?t.length:o;for(r=r?e.createCallback(r,i,1):Gn,n=r(n);a>o;){var u=o+a>>>1;r(t[u])<n?o=u+1:a=u}return o}function Tn(){return ie(Q(arguments,!0,!0))}function jn(t,n,r,i){return"boolean"!=typeof n&&null!=n&&(i=r,r="function"!=typeof n&&i&&i[n]===t?null:n,n=!1),null!=r&&(r=e.createCallback(r,i,3)),ie(t,n,r)}function An(t){return G(t,d(arguments,1))}function Nn(){for(var t=-1,e=arguments.length;++t<e;){var n=arguments[t];if(Gr(n)||he(n))var r=r?ie(G(r,n).concat(G(n,r))):n}return r||[]}function On(){for(var t=arguments.length>1?arguments:arguments[0],e=-1,n=t?tn(pi(t,"length")):0,r=dr(0>n?0:n);++e<n;)r[e]=pi(t,e);return r}function qn(t,e){var n=-1,r=t?t.length:0,i={};for(e||!r||Gr(t[0])||(e=[]);++n<r;){var o=t[n];e?i[o]=e[n]:o&&(i[o[0]]=o[1])}return i}function Dn(t,e){if(!je(e))throw new Mr;return function(){return--t<1?e.apply(this,arguments):void 0}}function Ln(t,e){return arguments.length>2?ae(t,17,d(arguments,2),null,e):ae(t,1,null,null,e)}function Fn(t){for(var e=arguments.length>1?Q(arguments,!0,!1,1):xe(t),n=-1,r=e.length;++n<r;){var i=e[n];t[i]=ae(t[i],1,null,null,t)}return t}function zn(t,e){return arguments.length>2?ae(e,19,d(arguments,2),null,t):ae(e,3,null,null,t)}function Rn(){for(var t=arguments,e=t.length;e--;)if(!je(t[e]))throw new Mr;return function(){for(var e=arguments,n=t.length;n--;)e=[t[n].apply(this,e)];return e[0]}}function In(t,e){return e="number"==typeof e?e:+e||t.length,ae(t,4,null,null,null,e)}function Pn(t,e,n){var r,i,o,a,u,s,l,c=0,f=!1,h=!0;if(!je(t))throw new Mr;if(e=Ur(0,e)||0,n===!0){var p=!0;h=!1}else Ae(n)&&(p=n.leading,f="maxWait"in n&&(Ur(e,n.maxWait)||0),h="trailing"in n?n.trailing:h);var d=function(){var n=e-(gi()-a);if(0>=n){i&&Ar(i);var f=l;i=s=l=v,f&&(c=gi(),o=t.apply(u,r),s||i||(r=u=null))}else s=Fr(d,n)},g=function(){s&&Ar(s),i=s=l=v,(h||f!==e)&&(c=gi(),o=t.apply(u,r),s||i||(r=u=null))};return function(){if(r=arguments,a=gi(),u=this,l=h&&(s||!p),f===!1)var n=p&&!s;else{i||p||(c=a);var v=f-(a-c),m=0>=v;m?(i&&(i=Ar(i)),c=a,o=t.apply(u,r)):i||(i=Fr(g,v))}return m&&s?s=Ar(s):s||e===f||(s=Fr(d,e)),n&&(m=!0,o=t.apply(u,r)),!m||s||i||(r=u=null),o}}function Hn(t){if(!je(t))throw new Mr;var e=d(arguments,1);return Fr(function(){t.apply(v,e)},1)}function Bn(t,e){if(!je(t))throw new Mr;var n=d(arguments,2);return Fr(function(){t.apply(v,n)},e)}function $n(t,e){if(!je(t))throw new Mr;var n=function(){var r=n.cache,i=e?e.apply(this,arguments):x+arguments[0];return Dr.call(r,i)?r[i]:r[i]=t.apply(this,arguments)};return n.cache={},n}function Vn(t){var e,n;if(!je(t))throw new Mr;return function(){return e?n:(e=!0,n=t.apply(this,arguments),t=null,n)}}function Un(t){return ae(t,16,d(arguments,1))}function Wn(t){return ae(t,32,null,d(arguments,1))}function Yn(t,e,n){var r=!0,i=!0;
+if(!je(t))throw new Mr;return n===!1?r=!1:Ae(n)&&(r="leading"in n?n.leading:r,i="trailing"in n?n.trailing:i),Y.leading=r,Y.maxWait=e,Y.trailing=i,Pn(t,e,Y)}function Xn(t,e){return ae(e,16,[t])}function Jn(t){return function(){return t}}function Zn(t,e,n){var r=typeof t;if(null==t||"function"==r)return _(t,e,n);if("object"!=r)return nr(t);var i=ti(t),o=i[0],a=t[o];return 1!=i.length||a!==a||Ae(a)?function(e){for(var n=i.length,r=!1;n--&&(r=te(e[i[n]],t[i[n]],null,!0)););return r}:function(t){var e=t[o];return a===e&&(0!==a||1/a==1/e)}}function Kn(t){return null==t?"":_r(t).replace(ii,ue)}function Gn(t){return t}function Qn(t,r,i){var o=!0,a=r&&xe(r);r&&(i||a.length)||(null==i&&(i=r),u=n,r=t,t=e,a=xe(r)),i===!1?o=!1:Ae(i)&&"chain"in i&&(o=i.chain);var u=t,s=je(u);Ze(a,function(e){var n=t[e]=r[e];s&&(u.prototype[e]=function(){var e=this.__chain__,r=this.__wrapped__,i=[r];Lr.apply(i,arguments);var a=n.apply(t,i);if(o||e){if(r===a&&Ae(a))return this;a=new u(a),a.__chain__=e}return a})})}function tr(){return t._=Cr,this}function er(){}function nr(t){return function(e){return e[t]}}function rr(t,e,n){var r=null==t,i=null==e;if(null==n&&("boolean"==typeof t&&i?(n=t,t=1):i||"boolean"!=typeof e||(n=e,i=!0)),r&&i&&(e=1),t=+t||0,i?(e=t,t=0):e=+e||0,n||t%1||e%1){var o=Xr();return Wr(t+o*(e-t+parseFloat("1e-"+((o+"").length-1))),e)}return re(t,e)}function ir(t,e){if(t){var n=t[e];return je(n)?t[e]():n}}function or(t,data,n){var r=e.templateSettings;t=_r(t||""),n=ai({},n,r);var i,o=ai({},n.imports,r.imports),a=ti(o),u=$e(o),s=0,c=n.interpolate||O,f="__p += '",h=wr((n.escape||O).source+"|"+c.source+"|"+(c===A?S:O).source+"|"+(n.evaluate||O).source+"|$","g");t.replace(h,function(e,n,r,o,a,u){return r||(r=o),f+=t.slice(s,u).replace(D,l),n&&(f+="' +\n__e("+n+") +\n'"),a&&(i=!0,f+="';\n"+a+";\n__p += '"),r&&(f+="' +\n((__t = ("+r+")) == null ? '' : __t) +\n'"),s=u+e.length,e}),f+="';\n";var p=n.variable,d=p;d||(p="obj",f="with ("+p+") {\n"+f+"\n}\n"),f=(i?f.replace(k,""):f).replace(E,"$1").replace(C,"$1;"),f="function("+p+") {\n"+(d?"":p+" || ("+p+" = {});\n")+"var __t, __p = '', __e = _.escape"+(i?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+f+"return __p\n}";var g="\n/*\n//# sourceURL="+(n.sourceURL||"/lodash/template/source["+F++ +"]")+"\n*/";try{var m=mr(a,"return "+f+g).apply(v,u)}catch(y){throw y.source=f,y}return data?m(data):(m.source=f,m)}function ar(t,e,n){t=(t=+t)>-1?t:0;var r=-1,i=dr(t);for(e=_(e,n,1);++r<t;)i[r]=e(r);return i}function ur(t){return null==t?"":_r(t).replace(ri,fe)}function sr(t){var e=++b;return _r(null==t?"":t)+e}function lr(t){return t=new n(t),t.__chain__=!0,t}function cr(t,e){return e(t),t}function fr(){return this.__chain__=!0,this}function hr(){return _r(this.__wrapped__)}function pr(){return this.__wrapped__}t=t?ne.defaults(K.Object(),t,ne.pick(K,L)):K;var dr=t.Array,gr=t.Boolean,vr=t.Date,mr=t.Function,yr=t.Math,br=t.Number,xr=t.Object,wr=t.RegExp,_r=t.String,Mr=t.TypeError,kr=[],Er=xr.prototype,Cr=t._,Sr=Er.toString,Tr=wr("^"+_r(Sr).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),jr=yr.ceil,Ar=t.clearTimeout,Nr=yr.floor,Or=mr.prototype.toString,qr=le(qr=xr.getPrototypeOf)&&qr,Dr=Er.hasOwnProperty,Lr=kr.push,Fr=t.setTimeout,zr=kr.splice,Rr=kr.unshift,Ir=function(){try{var t={},e=le(e=xr.defineProperty)&&e,n=e(t,t,t)&&e}catch(r){}return n}(),Pr=le(Pr=xr.create)&&Pr,Hr=le(Hr=dr.isArray)&&Hr,Br=t.isFinite,$r=t.isNaN,Vr=le(Vr=xr.keys)&&Vr,Ur=yr.max,Wr=yr.min,Yr=t.parseInt,Xr=yr.random,Jr={};Jr[R]=dr,Jr[I]=gr,Jr[P]=vr,Jr[H]=mr,Jr[$]=xr,Jr[B]=br,Jr[V]=wr,Jr[U]=_r,n.prototype=e.prototype;var Zr=e.support={};Zr.funcDecomp=!le(t.WinRTError)&&q.test(g),Zr.funcNames="string"==typeof mr.name,e.templateSettings={escape:/<%-([\s\S]+?)%>/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:A,variable:"",imports:{_:e}},Pr||(y=function(){function e(){}return function(n){if(Ae(n)){e.prototype=n;var r=new e;e.prototype=null}return r||t.Object()}}());var Kr=Ir?function(t,e){X.value=e,Ir(t,"__bindData__",X)}:er,Gr=Hr||function(t){return t&&"object"==typeof t&&"number"==typeof t.length&&Sr.call(t)==R||!1},Qr=function(t){var e,n=t,r=[];if(!n)return r;if(!J[typeof t])return r;for(e in n)Dr.call(n,e)&&r.push(e);return r},ti=Vr?function(t){return Ae(t)?Vr(t):[]}:Qr,ei={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},ni=_e(ei),ri=wr("("+ti(ni).join("|")+")","g"),ii=wr("["+ti(ei).join("")+"]","g"),oi=function(t,e,n){var r,i=t,o=i;if(!i)return o;var a=arguments,u=0,s="number"==typeof n?2:a.length;if(s>3&&"function"==typeof a[s-2])var l=_(a[--s-1],a[s--],2);else s>2&&"function"==typeof a[s-1]&&(l=a[--s]);for(;++u<s;)if(i=a[u],i&&J[typeof i])for(var c=-1,f=J[typeof i]&&ti(i),h=f?f.length:0;++c<h;)r=f[c],o[r]=l?l(o[r],i[r]):i[r];return o},ai=function(t,e,n){var r,i=t,o=i;if(!i)return o;for(var a=arguments,u=0,s="number"==typeof n?2:a.length;++u<s;)if(i=a[u],i&&J[typeof i])for(var l=-1,c=J[typeof i]&&ti(i),f=c?c.length:0;++l<f;)r=c[l],"undefined"==typeof o[r]&&(o[r]=i[r]);return o},ui=function(t,e,n){var r,i=t,o=i;if(!i)return o;if(!J[typeof i])return o;e=e&&"undefined"==typeof n?e:_(e,n,3);for(r in i)if(e(i[r],r,t)===!1)return o;return o},si=function(t,e,n){var r,i=t,o=i;if(!i)return o;if(!J[typeof i])return o;e=e&&"undefined"==typeof n?e:_(e,n,3);for(var a=-1,u=J[typeof i]&&ti(i),s=u?u.length:0;++a<s;)if(r=u[a],e(i[r],r,t)===!1)return o;return o},li=qr?function(t){if(!t||Sr.call(t)!=$)return!1;var e=t.valueOf,n=le(e)&&(n=qr(e))&&qr(n);return n?t==n||qr(t)==n:ce(t)}:ce,ci=oe(function(t,e,n){Dr.call(t,n)?t[n]++:t[n]=1}),fi=oe(function(t,e,n){(Dr.call(t,n)?t[n]:t[n]=[]).push(e)}),hi=oe(function(t,e,n){t[n]=e}),pi=Qe,di=Ye,gi=le(gi=vr.now)&&gi||function(){return(new vr).getTime()},vi=8==Yr(M+"08")?Yr:function(t,e){return Yr(Le(t)?t.replace(N,""):t,e||0)};return e.after=Dn,e.assign=oi,e.at=Ve,e.bind=Ln,e.bindAll=Fn,e.bindKey=zn,e.chain=lr,e.compact=hn,e.compose=Rn,e.constant=Jn,e.countBy=ci,e.create=ge,e.createCallback=Zn,e.curry=In,e.debounce=Pn,e.defaults=ai,e.defer=Hn,e.delay=Bn,e.difference=pn,e.filter=Ye,e.flatten=mn,e.forEach=Ze,e.forEachRight=Ke,e.forIn=ui,e.forInRight=ye,e.forOwn=si,e.forOwnRight=be,e.functions=xe,e.groupBy=fi,e.indexBy=hi,e.initial=bn,e.intersection=xn,e.invert=_e,e.invoke=Ge,e.keys=ti,e.map=Qe,e.mapValues=ze,e.max=tn,e.memoize=$n,e.merge=Re,e.min=en,e.omit=Ie,e.once=Vn,e.pairs=Pe,e.partial=Un,e.partialRight=Wn,e.pick=He,e.pluck=pi,e.property=nr,e.pull=Mn,e.range=kn,e.reject=on,e.remove=En,e.rest=Cn,e.shuffle=un,e.sortBy=cn,e.tap=cr,e.throttle=Yn,e.times=ar,e.toArray=fn,e.transform=Be,e.union=Tn,e.uniq=jn,e.values=$e,e.where=di,e.without=An,e.wrap=Xn,e.xor=Nn,e.zip=On,e.zipObject=qn,e.collect=Qe,e.drop=Cn,e.each=Ze,e.eachRight=Ke,e.extend=oi,e.methods=xe,e.object=qn,e.select=Ye,e.tail=Cn,e.unique=jn,e.unzip=On,Qn(e),e.clone=pe,e.cloneDeep=de,e.contains=Ue,e.escape=Kn,e.every=We,e.find=Xe,e.findIndex=dn,e.findKey=ve,e.findLast=Je,e.findLastIndex=gn,e.findLastKey=me,e.has=we,e.identity=Gn,e.indexOf=yn,e.isArguments=he,e.isArray=Gr,e.isBoolean=Me,e.isDate=ke,e.isElement=Ee,e.isEmpty=Ce,e.isEqual=Se,e.isFinite=Te,e.isFunction=je,e.isNaN=Ne,e.isNull=Oe,e.isNumber=qe,e.isObject=Ae,e.isPlainObject=li,e.isRegExp=De,e.isString=Le,e.isUndefined=Fe,e.lastIndexOf=_n,e.mixin=Qn,e.noConflict=tr,e.noop=er,e.now=gi,e.parseInt=vi,e.random=rr,e.reduce=nn,e.reduceRight=rn,e.result=ir,e.runInContext=g,e.size=sn,e.some=ln,e.sortedIndex=Sn,e.template=or,e.unescape=ur,e.uniqueId=sr,e.all=We,e.any=ln,e.detect=Xe,e.findWhere=Xe,e.foldl=nn,e.foldr=rn,e.include=Ue,e.inject=nn,Qn(function(){var t={};return si(e,function(n,r){e.prototype[r]||(t[r]=n)}),t}(),!1),e.first=vn,e.last=wn,e.sample=an,e.take=vn,e.head=vn,si(e,function(t,r){var i="sample"!==r;e.prototype[r]||(e.prototype[r]=function(e,r){var o=this.__chain__,a=t(this.__wrapped__,e,r);return o||null!=e&&(!r||i&&"function"==typeof e)?new n(a,o):a})}),e.VERSION="2.4.1",e.prototype.chain=fr,e.prototype.toString=hr,e.prototype.value=pr,e.prototype.valueOf=pr,Ze(["join","pop","shift"],function(t){var r=kr[t];e.prototype[t]=function(){var t=this.__chain__,e=r.apply(this.__wrapped__,arguments);return t?new n(e,t):e}}),Ze(["push","reverse","sort","unshift"],function(t){var n=kr[t];e.prototype[t]=function(){return n.apply(this.__wrapped__,arguments),this}}),Ze(["concat","slice","splice"],function(t){var r=kr[t];e.prototype[t]=function(){return new n(r.apply(this.__wrapped__,arguments),this.__chain__)}}),e}var v,m=[],y=[],b=0,x=+new Date+"",w=75,_=40,M=" \f \n\r\u2028\u2029 ᠎              ",k=/\b__p \+= '';/g,E=/\b(__p \+=) '' \+/g,C=/(__e\(.*?\)|\b__t\)) \+\n'';/g,S=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,T=/\w*$/,j=/^\s*function[ \n\r\t]+\w/,A=/<%=([\s\S]+?)%>/g,N=RegExp("^["+M+"]*0+(?=.$)"),O=/($^)/,q=/\bthis\b/,D=/['\n\r\t\u2028\u2029\\]/g,L=["Array","Boolean","Date","Function","Math","Number","Object","RegExp","String","_","attachEvent","clearTimeout","isFinite","isNaN","parseInt","setTimeout"],F=0,z="[object Arguments]",R="[object Array]",I="[object Boolean]",P="[object Date]",H="[object Function]",B="[object Number]",$="[object Object]",V="[object RegExp]",U="[object String]",W={};W[H]=!1,W[z]=W[R]=W[I]=W[P]=W[B]=W[$]=W[V]=W[U]=!0;var Y={leading:!1,maxWait:0,trailing:!1},X={configurable:!1,enumerable:!1,value:null,writable:!1},J={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},Z={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"},K=J[typeof window]&&window||this,G=J[typeof n]&&n&&!n.nodeType&&n,Q=J[typeof e]&&e&&!e.nodeType&&e,te=Q&&Q.exports===G&&G,ee=J[typeof t]&&t;!ee||ee.global!==ee&&ee.window!==ee||(K=ee);var ne=g();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(K._=ne,define(function(){return ne})):G&&Q?te?(Q.exports=ne)._=ne:G._=ne:K._=ne}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],63:[function(t,e){{var n=t("ampersand-view"),r=t("./sidebar"),i=t("./chart"),o=t("jquery");t("debug")("view:app"),e.exports=n.extend({template:t("./templates/app.jade"),props:{chartView:"object",menuOpen:{type:"boolean","default":!1}},events:{"click .navbar-right label":"navButtonClicked","click [data-hook=menu-toggle]":"menuToggled"},bindings:{"model.chart.subSampled":{type:"toggle",hook:"sample-warning"},menuOpen:{type:"booleanClass",selector:"#wrapper",name:"active"}},subviews:{sidebar:{hook:"sidebar",waitFor:"model.sidebar",prepareView:function(t){return new r({el:t,model:this.model.sidebar})}},chart:{hook:"chart",waitFor:"model.chart",prepareView:function(t){return this.chartView=new i({el:t,model:this.model.chart}),this.chartView}}},statChanged:function(){this.model.chart.recalcXDomain=!0,this.chartView.render()},render:function(){this.renderWithTemplate(this.model)},navButtonClicked:function(t){var e=o(t.target).find("input"),n=e.attr("name"),r=e.val();this.model.chart[n]=r,this.model.chart.recalcXDomain="xSetting"===n,this.chartView.render()},menuToggled:function(){this.toggle("menuOpen")}})}},{"./chart":64,"./sidebar":67,"./templates/app.jade":69,"ampersand-view":33,debug:57,jquery:61}],64:[function(t,e){{var n=t("ampersand-view"),r=t("./viz"),i=t("./empty");t("d3"),t("jquery"),t("debug")("view:chart"),e.exports=n.extend({props:{vizView:{type:"any","default":null},emptyView:{type:"any","default":null},activeView:{type:"string","default":"empty",values:["empty","viz"]}},template:t("./templates/chart.jade"),bindings:{activeView:{type:"switch",cases:{empty:"[data-hook=empty]",viz:"[data-hook=graph]"}}},render:function(){this.activeView=this.model.empty?"empty":"viz",this.vizView?(this.vizView.data={series:this.model.series.filter(function(t){return t.selected}),model:this.model},this.vizView.redraw()):(this.renderWithTemplate(this.model),this.vizView=new r({width:"auto",height:600,renderMode:"svg",className:"multiline",debounceRender:!1,vizFn:t("./viz/d3-multiline"),data:{series:this.model.series.filter(function(t){return t.selected}),model:this.model}}),this.emptyView=new i,this.renderSubview(this.emptyView,"[data-hook=empty]"),this.renderSubview(this.vizView,"[data-hook=graph]"))}})}},{"./empty":65,"./templates/chart.jade":70,"./viz":75,"./viz/d3-multiline":76,"ampersand-view":33,d3:56,debug:57,jquery:61}],65:[function(t,e){{var n=t("ampersand-view");t("debug")("view:empty"),e.exports=n.extend({template:t("./templates/empty.jade"),autorender:!0})}},{"./templates/empty.jade":71,"ampersand-view":33,debug:57}],66:[function(t,e){{var n=t("ampersand-view"),r=t("ampersand-subcollection"),i=t("./stat"),o=t("jquery");t("lodash"),t("debug")("view:panel"),e.exports=n.extend({props:{indicator:{type:"string","default":"none",values:["none","some","all"]},statViews:"object",filteredStats:"object"},template:t("./templates/panel.jade"),events:{"click a":"collapsibleToggle","click [data-hook=caret]":"collapsibleToggle","click [data-hook=indicator]":"indicatorClicked"},bindings:{indicator:{type:function(t){switch($el=o(t),$el.removeClass(),this.model.selected){case"all":$el.addClass("fa fa-circle");break;case"some":$el.addClass("fa fa-adjust");break;case"none":$el.addClass("fa fa-circle-o")}},hook:"indicator"},"model.open":{type:"booleanClass",hook:"caret",yes:"fa-caret-up",no:"fa-caret-down"}},initialize:function(){this.filteredStats=new r(this.model.stats,{comparator:function(t){return t.name}})},render:function(){this.renderWithTemplate(this.model),this.statViews=this.renderCollection(this.filteredStats,i,this.queryByHook("stats"))},indicatorClicked:function(){var t="all"!==this.model.selected;switch(this.filteredStats.each(function(e){e.selected=t}),this.model.selected){case"all":case"some":this.collapsibleOpen();break;case"none":this.collapsibleClose()}this.model.app.clearSelectionState(),this.statChanged(null,{propagate:!0})},statChanged:function(t,e){e=e||{},this.indicator=this.model.selected,e.propagate&&this.parent.parent.statChanged(t,e)},collapsibleToggle:function(t){this.model.open?this.collapsibleClose(t):this.collapsibleOpen(t)},collapsibleClose:function(){o(this.query(".collapse")).collapse("hide"),this.model.open=!1},collapsibleOpen:function(){o(this.query(".collapse")).collapse("show"),this.model.open=!0},resetStats:function(){this.filteredStats.configure({},!0)},filterStats:function(t){this.filteredStats.configure({filter:function(e){return-1!==e.name.search(new RegExp(t),"gi")}},!0),0===this.filteredStats.length?this.collapsibleClose():this.collapsibleOpen()}})}},{"./stat":68,"./templates/panel.jade":72,"ampersand-subcollection":27,"ampersand-view":33,debug:57,jquery:61,lodash:62}],67:[function(t,e){{var n=t("ampersand-view"),r=t("./panel"),i=t("lodash");t("debug")("view:sidebar"),e.exports=n.extend({props:{panelViews:"object"},template:t("./templates/sidebar.jade"),events:{"click [data-hook=button]":"clearClicked","input [data-hook=input]":"inputChanged"},bindings:{"model.search.content":{type:"value",hook:"input"}},render:function(){this.renderWithTemplate(this.model),this.panelViews=this.renderCollection(this.model.panels,r,this.queryByHook("panels"))},closeAndReset:function(){i.each(this.panelViews.views,function(t){t.collapsibleClose(),t.resetStats()})},clearClicked:function(){this.model.search.content="",this.closeAndReset(),this.queryByHook("button").blur()},filterPanels:function(t){i.each(this.panelViews.views,function(e){e.filterStats(t)})},statChanged:function(t,e){this.parent.statChanged(t,e),e.all&&i.each(this.panelViews.views,function(e){e.statChanged(t,{all:!1,propagate:!1})})},inputChanged:i.debounce(function(){var t=this.queryByHook("input").value;this.model.search.content=t,""===t.trim()?this.closeAndReset():this.filterPanels(t)},200,{leading:!1,trailing:!0})})}},{"./panel":66,"./templates/sidebar.jade":73,"ampersand-view":33,debug:57,lodash:62}],68:[function(t,e){{var n=t("ampersand-view");t("debug")("view:stat"),e.exports=n.extend({template:t("./templates/stat.jade"),render:function(){this.renderWithTemplate(this.model)},events:{click:"clicked"},bindings:{"model.selected":{type:"booleanClass",hook:"circle",yes:"fa-circle",no:"fa-circle-o"}},clicked:function(t){t.shiftKey?this.model.app.toggleAllExcept(this.model):(this.model.app.clearSelectionState(),this.model.toggle("selected")),this.parent.parent.statChanged(this,{all:t.shiftKey,propagate:!0})}})}},{"./templates/stat.jade":74,"ampersand-view":33,debug:57}],69:[function(t,e){t("jade/runtime");e.exports=function(){var t=[];return t.push('<div id="app"><nav id="navbar" role="navigation" class="navbar navbar-default"><div class="container-fluid"><div class="navbar-header"><div class="navbar-brand"> <div data-hook="menu-toggle" class="brand-image"></div></div></div><ul class="nav navbar-right"><li data-hook="sample-warning" class="navbar-text"><div title="warning: more series data points than pixels. data is being sub-sampled to improve performance. To avoid sub-sampling, increase the browser window width or zoom in." class="alert alert-warning"><i id="menubtn" class="fa fa-warning"></i><span>sub-sampling</span></div></li><li class="navbar-text"><i id="menubtn" class="fa fa-clock-o"></i><span>x-axis</span><div data-toggle="buttons" data-hook="xSetting" class="btn-group"><label class="btn btn-default active"><input type="radio" name="xSetting" id="relative" value="relative" checked="checked"/>relative</label><label class="btn btn-default"><input type="radio" name="xSetting" id="absolute" value="absolute"/>absolute</label></div></li><li class="navbar-text"><i id="menubtn" class="fa fa-line-chart"></i><span>y-axis</span><div data-toggle="buttons" data-hook="ySetting" class="btn-group"><label class="btn btn-default active"><input type="radio" name="ySetting" value="linear" checked="checked"/>linear</label><label class="btn btn-default"><input type="radio" name="ySetting" value="log-scale"/>log-scale</label></div></li></ul></div></nav><div id="wrapper"><div id="sidebar-wrapper"><div class="sidebar-nav"><div data-hook="sidebar"></div></div></div><div class="container-fluid"><div class="row"><div class="col-md-12"><div data-hook="chart"></div></div></div></div></div></div>'),t.join("")}},{"jade/runtime":60}],70:[function(t,e){t("jade/runtime");e.exports=function(){var t=[];return t.push('<div><div class="container-fluid"><div class="row"><div class="col-md-12"><div data-hook="empty"></div><div data-hook="graph"></div></div></div></div></div>'),t.join("")}},{"jade/runtime":60}],71:[function(t,e){t("jade/runtime");e.exports=function(){var t=[];return t.push('<div class="instructions"><dl class="dl-horizontal"><dt><h1><span class="searchbox">mem|&nbsp;</span><i class="fa fa-search"></i></h1></dt><dd>filter stats by typing in the text box</dd><dt><h1> <u>cursor</u><i class="fa fa-caret-down"></i></h1></dt><dd>open/close group panels</dd><dt><h1><i class="fa fa-circle-o"></i><i class="fa fa-adjust"> </i><i class="fa fa-circle"> </i></h1></dt><dd>click to toggle individual stats or the entire group</dd><dt><h1><i class="fa fa-expand"></i><i class="fa fa-arrows-h"> </i><i class="fa fa-compress"> </i></h1></dt><dd>zoom with two-finger scroll or mouse wheel, pan with click+drag</dd><dt><h1>x<i class="fa fa-clock-o"></i>y<i class="fa fa-line-chart"> </i></h1></dt><dd>change x/y axis scaling with buttons at the top</dd></dl></div>'),t.join("")}},{"jade/runtime":60}],72:[function(t,e){var n=t("jade/runtime");e.exports=function(t){var e,r=[],i=t||{};return function(t,i){r.push('<div class="panel panel-default"><div class="panel-heading">'),i&&r.push('<span class="suptitle">'+n.escape(null==(e=i)?"":e)+"</span>"),r.push('<h4 class="panel-title"><i data-hook="indicator" class="fa fa-circle-o"></i><a data-toggle="collapse" data-parent="#panel-accordion">'+n.escape(null==(e=t)?"":e)+'</a><div class="pull-right"><i data-hook="caret" class="fa"></i></div></h4></div><div class="panel-collapse collapse"><div class="panel-body"><ul data-hook="stats" class="stats"></ul></div></div></div>')}.call(this,"subtitle"in i?i.subtitle:"undefined"!=typeof subtitle?subtitle:void 0,"suptitle"in i?i.suptitle:"undefined"!=typeof suptitle?suptitle:void 0),r.join("")}},{"jade/runtime":60}],73:[function(t,e){t("jade/runtime");e.exports=function(){var t=[];return t.push('<ul class="sidebar-nav"><li><div class="input-group"><input data-hook="input" type="text" class="form-control"/><span class="input-group-btn"><button data-hook="button" type="button" class="btn btn-default">Clear</button></span></div></li><li><div data-hook="panels" id="panel-accordion" class="panel-group"></div></li></ul>'),t.join("")}},{"jade/runtime":60}],74:[function(t,e){var n=t("jade/runtime");e.exports=function(t){var e,r=[],i=t||{};return function(t,i){r.push('<li class="stat"><i data-hook="circle"'+n.attr("style","color:"+t,!0,!1)+' class="fa fa-circle"></i>'+n.escape(null==(e=i)?"":e)+"</li>")}.call(this,"color"in i?i.color:"undefined"!=typeof color?color:void 0,"name"in i?i.name:"undefined"!=typeof name?name:void 0),r.join("")}},{"jade/runtime":60}],75:[function(t,e){{var n=t("ampersand-view"),r=t("lodash"),i=t("jquery");t("debug")("view:viz")}e.exports=n.extend({_values:{},_autoWidth:!1,_autoHeight:!1,props:{data:"any",className:"any",vizFn:"any",debounceRender:{type:"boolean","default":!0},renderMode:{type:"string",values:["canvas","svg","html"],"default":"svg"},width:{type:"any","default":"auto"},height:{type:"any","default":400}},bindings:{width:[{type:"attribute",name:"width",hook:"viz-container"}],height:{type:"attribute",name:"height",hook:"viz-container"},className:{type:"attribute",name:"class",hook:"viz-container"}},initialize:function(){switch(("auto"===this.width||void 0===this.width)&&(this._autoWidth=!0,this.width=0),("auto"===this.height||void 0===this.height)&&(this._autoHeight=!0,this.height=0),(this._autoWidth||this._autoHeight)&&(this.debounceRender?window.addEventListener("resize",r.debounce(this.redraw.bind(this),100)):window.addEventListener("resize",this.redraw.bind(this))),this.renderMode){case"canvas":this.template='<canvas data-hook="viz-container" id="canvas"></canvas>';break;case"svg":this.template='<svg data-hook="viz-container"></svg>';break;case"html":this.template='<div data-hook="viz-container"></div>'}},_measure:function(){this.el&&(this._autoWidth&&(this.width=i(this.el).parent().width()),this._autoHeight&&(this.height=i(this.el).parent().height()))},_chooseDataSource:function(){void 0!==this.model?this.data=this.model.toJSON():void 0!==this.collection&&(this.data=this.collection.toJSON())},remove:function(){return window.removeEventListener("resize",this._onResize),this},transform:function(data){return data},render:function(){return this._chooseDataSource(),this.data=this.transform(this.data),this.renderWithTemplate(this),this._measure(),this.vizFn&&(this.vizFn=this.vizFn({width:this.width,height:this.height,data:this.data,el:this.el})),this},redraw:function(){this._chooseDataSource(),this.data=this.transform(this.data),this._measure(),this.vizFn&&this.vizFn({width:this.width,height:this.height,data:this.data,el:this.el})}}),e.exports.create=function(t,n){return e.exports.extend({className:t,vizFn:n})}},{"ampersand-view":33,debug:57,jquery:61,lodash:62}],76:[function(t,e){{var n=t("d3"),r=t("lodash");t("debug")("viz:d3-multiline")}n.selection.prototype.moveToFront=function(){return this.each(function(){this.parentNode.appendChild(this)})},e.exports=function(t){function e(e){if(e){if(t=e,f=t.width-c.left-c.right,h=t.height-c.top-c.bottom,data=t.data,d=data.model,g=d.serialize(),F=data.series,0===F.length?T.style("visibility","hidden"):T.style("visibility","visible"),T.attr({width:f,height:h}),"relative"===g.xSetting?(v=function(t){return t.xrel},x=y,w.tickFormat(n.format(","))):(v=function(t){return t.x},x=m,w.tickFormat(b)),x.range([0,f]),(r.isEqual(x.domain(),[0,1])||r.isEqual(x.domain(),[new Date(0),new Date(1)])||g.recalcXDomain)&&(z=[n.min(F,function(t){return n.min(t.data,function(t){return v(t)})}),n.max(F,function(t){return n.max(t.data,function(t){return v(t)})})],x.domain(z),S.x(x)),F.length>0){var i=r.find(F,function(t){return t.data.length>1}).data;L=i?x(v(i[1]))-x(v(i[0])):1}else L=1;d.subSampled=g.allowSampling&&1>L,"linear"===g.ySetting?(k=_,k.domain([n.min(F,function(t){return n.min(t.data,function(t){return t.y})}),n.max(F,function(t){return n.max(t.data,function(t){return t.y})})])):(k=M,k.domain([.1,n.max(F,function(t){return n.max(t.data,function(t){return t.y})})])),k.range([h,0])}T.selectAll(".x").call(w.scale(x)),T.selectAll(".y").call(E.scale(k)),q=T.selectAll(".serie").data(F,function(t){return t.cid}),q.enter().append("g").attr("class","serie").append("path").attr("class","line").style("stroke",function(t){return t.color}),q.exit().remove(),q.selectAll(".line").attr("d",function(t){return C(v)(o(t.data))}),L>6?(D=q.selectAll(".point").data(function(t){return o(t.data).map(function(e){return{x:v(e),y:e.y,c:t.color}})}),D.enter().append("circle").attr("class","point").attr("r","3px").style("fill",function(t){return t.c}),D.exit().remove(),D.attr("cx",function(t){return x(t.x)}).attr("cy",function(t){return k(t.y)})):q.selectAll(".point").remove(),j.attr("x2",f),A.attr("y2",h+20),R.attr("width",f).attr("height",h).moveToFront()}function i(data){var t=x.domain(),e=s(v)(data,t[0]),n=s(v)(data,t[1]);return data.slice(e,n)}function o(data){data=i(data);var t=1/L;return g.allowSampling&&t>1?data.filter(function(e,n){return n%Math.ceil(t)===0}):data}function a(t,e){var n=o(e.data),r=x.invert(t),i=s(v)(n,r),a=n[i-1],u=n[i];return void 0===a?u:void 0===u?a:r-v(a)>v(u)-r?u:a}function u(){var t=n.mouse(this),e=t[0],r=t[1],i=F.map(function(t){return a(e,t)}),o=i.map(function(t){return t?Math.pow(e-x(v(t)),2)+Math.pow(r-k(t.y),2):1/0}),u=o.indexOf(Math.min.apply(Math,o)),s=F[u],l=i[u];N.attr("transform","translate("+x(v(l))+","+k(l.y)+")").moveToFront(),N.select("circle").attr("stroke",s.color),N.select("text.name").text(s.name),N.select("text.value").text(n.format(",")(l.y)),O.attr("transform","translate("+x(v(l))+","+(h+34)+")").text("relative"===g.xSetting?n.format(",")(v(l)):n.time.format("%b %d %H:%M:%S")(v(l))).moveToFront(),j.attr("y1",k(l.y)).attr("y2",k(l.y)),A.attr("x1",x(v(l))).attr("x2",x(v(l)))}function s(t){return n.bisector(function(e){return t(e)}).left}function l(){d.recalcXDomain=!1,e(t)}var c={top:80,right:20,bottom:60,left:100},f=t.width-c.left-c.right,h=t.height-c.top-c.bottom,data=t.data,p=t.el,d=data.model,g=d.serialize(),v=function(t){return t.x},m=n.time.scale(),y=n.scale.linear(),b=n.time.format.multi([[".%L",function(t){return t.getMilliseconds()}],[":%S",function(t){return t.getSeconds()}],["%b %e %H:%M",function(t){return t.getMinutes()}],["%b %e %H:%M",function(t){return t.getHours()}],["%b %e",function(t){return t.getDay()&&1!=t.getDate()}],["%b %e",function(t){return 1!=t.getDate()}],["%Y",function(t){return t.getMonth()}],["%Y",function(){return!0}]]),x="relative"===g.xSetting?y:m,w=n.svg.axis().scale(x).ticks(10).orient("bottom"),_=n.scale.linear().range([h,0]),M=n.scale.log().clamp(!0).range([h,0]).nice(),k="linear"===g.ySetting?_:M,E=n.svg.axis().scale(k).orient("left"),C=function(t){return n.svg.line().x(function(e){return x(t(e))}).y(function(t){return k(t.y)})},S=n.behavior.zoom().scaleExtent([1,50]).x(x).on("zoom",l),T=n.select(p).append("g").attr("transform","translate("+c.left+","+c.top+")").call(S);T.append("g").attr("class","x axis").attr("transform","translate(0,"+h+")"),T.append("g").attr("class","y axis");var j=T.append("line").style("stroke","#ddd").style("display","none").attr("class","x cross").attr("x1",0),A=T.append("line").style("stroke","#ddd").style("display","none").attr("class","x cross").attr("y1",0),N=T.append("g").attr("class","focus").style("display","none");N.append("circle").attr("r",6).attr("fill","none").attr("stroke-width",2);var O=T.append("text").attr("text-anchor","middle").attr("class","xlabel").attr("font-size","0.8em").attr("fill","#bbb");N.append("text").attr("class","name").attr("fill","black").attr("x",9).attr("dy","-.8em"),N.append("text").attr("class","value").attr("fill","black").attr("font-size","20px").attr("x",8).attr("dy","-1.2em");var q,D,L,F,z,R=T.append("rect").attr("class","windshield").style("opacity",0).on("mouseover",function(){j.style("display",null),A.style("display",null),N.style("display",null),O.style("display",null)}).on("mouseout",function(){N.style("display","none"),j.style("display","none"),A.style("display","none"),O.style("display","none")}).on("mousemove",u);return e}},{d3:56,debug:57,lodash:62}]},{},[1]);
}).call(this,typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
},{}]},{},[1])</script></html> \ No newline at end of file