# Copyright 2016 Louis Dionne
# Copyright 2016 Bruno Dutra
#
# Distributed under the Boost Software License, Version 1.0.
# See https://github.com/ldionne/metabench/blob/master/LICENSE.md.
#
# This file is part of Metabench, a simple framework for compile-time
# benchmarks. For documentation, questions and other resources please
# visit the home of the project at https://github.com/ldionne/metabench.

cmake_minimum_required(VERSION 3.0)

find_package(Ruby 2.1 QUIET)
if(NOT RUBY_EXECUTABLE)
    message(WARNING "Ruby >= 2.1 was not found; the metabench.cmake module can't be used.")
    return()
endif()

# The directory where all files related to Metabench support are written, to
# avoid polluting the build tree.
set(METABENCH_DIR ${CMAKE_CURRENT_BINARY_DIR}/_metabench)


# metabench_add_dataset(target path_to_template range
#                       [NAME name]
#                       [ENV env]
#                       [MEDIAN_OF n]
#                       [OUTPUT path/to/file])
#
#   Registers a dataset with Metabench. When needed, the dataset will be
#   generated by rendering the ERB template at `path_to_template` for each
#   value of n in the `range`. Then, the resulting C++ file will be compiled
#   and benchmarking data will be recorded. The `target` target represents
#   the executable being built for each value of `n`; any property set on
#   that target will take effect when collecting the dataset.
#
#   Note that building the `target` target itself is not supported. To
#   trigger the generation of the dataset, one must either add the dataset
#   to a chart using `metabench_add_chart`, or create a custom CMake target
#   that depends on the JSON file itself. When that target is built, the
#   dataset will be generated if and only if it is outdated.
#
#   Additionally, a CTest target with the same name is also created. When run,
#   this CTest target will run the benchmark for only the first and last
#   elements in `range`, and won't gather any benchmarking data. This is very
#   useful to make sure that benchmarks stay sane as part of continuous
#   integration scripts, for example.
#
#   What is measured?
#   -----------------
#   When generating a dataset, Metabench records information related to
#   several different aspects of the executable. All the different aspects
#   are always stored in the dataset, and the aspect being displayed on a
#   chart can be controlled with the `ASPECT` option of `metabench_add_chart`.
#   Currently, Metabench measures the following aspects:
#       - Compilation time in seconds. This is the time required to generate
#         the object file from the `.cpp` file. This includes preprocessing,
#         but does not include linking time. Compilation time is treated in
#         a slightly special way; the program is first built with the
#         `METABENCH` macro undefined, and then with the macro defined.
#         The compilation time is then taken to be the difference of the
#         measurement with the macro defined and without the macro defined.
#       - Link time in seconds. This is the time required to generate the
#         executable from the object file. This does not include the
#         compilation time.
#       - Executable size in KB. This is the size of the executable created
#         from the `.cpp` file.
#       - Execution time in seconds. This is the time required to execute the
#         built program. This can be used to get rough runtime performance
#         measurements, but Metabench's resolution is too low for precision
#         benchmarking. To measure this, Metabench runs the built executable
#         with no arguments, so the program should support being run this way.
#
#   Parameters
#   ----------
#   target:
#       The name of the target associated to this dataset.
#
#   path_to_template:
#       The path of the ERB template to use for this dataset. This may be
#       either an absolute path or a path relative to the current source
#       directory.
#
#   range:
#       A sequence of integers representing the values of `n` for which the
#       template will be rendered and measurements will be taken. The sequence
#       must be provided as a Ruby Iterable (such as `(1...100).step(5)`).
#
#   [NAME name]:
#       A name used to identify the dataset. For example, this is used as the
#       name of the curve associated to the dataset inside a chart. Defaults
#       to `target`.
#
#   [ENV env]:
#       An arbitrary Ruby Hash that will be made available to the ERB template
#       in the `env` variable. For example, if you pass `ENV "{foo: 1, bar: 2}"`,
#       `env[:foo]` will be equal to `1` and `env[:bar]` will be equal to `2`
#       inside the ERB template. This argument can be used to parameterize the
#       dataset in more complex ways.
#
#   [MEDIAN_OF n]:
#       The number of times to build and run the ERB template when gathering
#       timing information. The timings are taken `n` times, and the median of
#       these `n` values is retained. This can help reduce variability at the
#       cost of longer benchmarking times. By default, the timings are taken
#       only once. `n` must be a positive (non-zero) integer.
#
#   [OUTPUT path/to/file]:
#       The path of the resulting JSON file containing the benchmark data. If
#       a relative path is used, the path will be considered as being relative
#       to the current CMake binary directory. This defaults to `target.json`,
#       so that the output file will be `target.json` in the current CMake
#       binary directory.
function(metabench_add_dataset target path_to_template range)
    set(options)
    set(one_value_args NAME ENV MEDIAN_OF OUTPUT)
    set(multi_value_args)
    cmake_parse_arguments(ARGS "${options}" "${one_value_args}" "${multi_value_args}" ${ARGN})

    if (NOT IS_ABSOLUTE ${path_to_template})
        set(path_to_template "${CMAKE_CURRENT_SOURCE_DIR}/${path_to_template}")
    endif()
    if (NOT EXISTS ${path_to_template})
        message(FATAL_ERROR "The file specified to metabench_add_dataset (${path_to_template}) does not exist.")
    endif()

    if (NOT ARGS_NAME)
        set(ARGS_NAME ${target})
    endif()

    if (NOT ARGS_ENV)
        set(ARGS_ENV "{}")
    endif()

    if (NOT ARGS_MEDIAN_OF)
        set(ARGS_MEDIAN_OF 1)
    endif()

    if (NOT ARGS_OUTPUT)
        set(ARGS_OUTPUT "${target}.json")
    endif()
    if(NOT IS_ABSOLUTE ${ARGS_OUTPUT})
        set(ARGS_OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/${ARGS_OUTPUT}")
    endif()


    # Add a dummy executable that will be used to collect the dataset.
    # We'll build this executable multiple times for different values
    # of `n`, and collect compilation statistics each time. Compiling
    # through CMake allows us to be portable without additional work.
    #
    # Also, metabench_add_chart needs to be able to find the JSON file
    # containing the benchmark data from the name of the executable target,
    # so we store it in a custom property.
    file(WRITE ${METABENCH_DIR}/${target}.cpp "")
    add_executable(${target} EXCLUDE_FROM_ALL ${METABENCH_DIR}/${target}.cpp)
    set_target_properties(${target} PROPERTIES
        RULE_LAUNCH_COMPILE "${RUBY_EXECUTABLE} -- \"${COMPILE_RB_PATH}\""
        RULE_LAUNCH_LINK "${RUBY_EXECUTABLE} -- \"${LINK_RB_PATH}\""
        RUNTIME_OUTPUT_DIRECTORY "${METABENCH_DIR}"
        METABENCH_DATASET_PATH "${ARGS_OUTPUT}"
    )
    get_filename_component(template_dir ${path_to_template} DIRECTORY)
    target_include_directories(${target} PUBLIC "${template_dir}")


    # Add a command to generate the JSON file that will contain the measurements
    # we collect for this dataset when we build the executable above.
    add_custom_command(OUTPUT "${ARGS_OUTPUT}"
        COMMAND ${RUBY_EXECUTABLE} -r json -r fileutils -r ${METABENCH_RB_PATH}
            -e "range = (${range}).to_a"
            -e "env = (${ARGS_ENV})"
            -e "data = {}"
            -e "data['key'] = '${ARGS_NAME}'"
            -e "data['values'] = measure('${target}', '${path_to_template}', range, env, ${ARGS_MEDIAN_OF})"
            -e "FileUtils.mkdir_p(File.dirname('${ARGS_OUTPUT}'))"
            -e "IO.write('${ARGS_OUTPUT}', JSON.generate(data))"
        DEPENDS ${path_to_template}
        WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
        VERBATIM USES_TERMINAL
    )


    # We also setup a CTest target to test the generation of the dataset.
    # We do not actually collect any data here.
    add_test(NAME ${target}
        COMMAND ${RUBY_EXECUTABLE} -r ${METABENCH_RB_PATH}
            -e "range = (${range}).to_a"
            -e "range = [range[0], range[-1]] if range.length >= 2"
            -e "env = (${ARGS_ENV})"
            -e "data = measure('${target}', '${path_to_template}', range, env, 1)"
        WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
    )
endfunction()

# metabench_add_chart(target [ALL]
#                     [ASPECT COMPILATION_TIME|LINK_TIME|EXECUTION_TIME|EXECUTABLE_SIZE]
#                     [TITLE title]
#                     [SUBTITLE subtitle]
#                     [XLABEL label] [YLABEL label]
#                     DATASETS dataset1 [dataset2 [dataset3 [...]]]
#                     [OUTPUT path/to/file])
#
#   Creates a target which generates a chart displaying compile-time benchmarks.
#   After issuing this command, running the target named `target` will cause
#   each `dataset` to be generated and a HTML chart to be generated from those
#   datasets. Several aspects of the compilation can be displayed, such as
#   compilation time and executable size. The aspect being plotted on the
#   generated chart can be controled via the `ASPECT` argument.
#
#   Parameters
#   ----------
#   target:
#       The name of the target associated to this chart.
#
#   [ALL]:
#       If `ALL` is provided, the target will be added to the default target.
#       This is the same behaviour as `add_custom_target` used with the `ALL`
#       keyword.
#
#   [ASPECT COMPILATION_TIME|LINK_TIME|EXECUTION_TIME|EXECUTABLE_SIZE]:
#       The aspect of the datasets to display on the chart. When this argument
#       is provided, the chart will adopt reasonable default values for the
#       axis labels and other similar settings. However, any setting set
#       explicitly using arguments like `TITLE` or `XLABEL` will have priority
#       over anything defaulted by the choice of an `ASPECT`. When no aspect
#       is provided, it defaults to `COMPILATION_TIME`.
#
#   [TITLE title]:
#       A title to use for the generated chart. If this is not provided, the
#       chart has no title.
#
#   [SUBTITLE subtitle]:
#       A subtitle to use for the generated chart. The subtitle will appear
#       just below the title, in a smaller font. If this is not provided, the
#       chart has no subtitle.
#
#   [XLABEL label]:
#       The label to use for the X axis.
#
#   [YLABEL label]:
#       The label to use for the Y axis.
#
#   DATASETS dataset1 [dataset2 [dataset3 [...]]]:
#       A list of datasets from which the benchmark is generated.
#
#   [OUTPUT path/to/file]:
#       The path of the resulting HTML file containing the chart. If a
#       relative path is used, the path will be considered as being relative
#       to the current CMake binary directory. This defaults to `target.html`,
#       so that the output file will be `target.html` in the current CMake
#       binary directory.
function(metabench_add_chart target)
    set(options ALL)
    set(one_value_args OUTPUT ASPECT TITLE SUBTITLE XLABEL YLABEL)
    set(multi_value_args DATASETS)
    cmake_parse_arguments(ARGS "${options}" "${one_value_args}" "${multi_value_args}" ${ARGN})

    if (NOT ARGS_ASPECT)
        set(ARGS_ASPECT "COMPILATION_TIME")
    endif()

    if(NOT ARGS_DATASETS)
        message(FATAL_ERROR "metabench_add_chart requires at least one dataset.")
    endif()

    if (NOT ARGS_OUTPUT)
        set(ARGS_OUTPUT "${target}.html")
    endif()

    if(NOT IS_ABSOLUTE ${ARGS_OUTPUT})
        set(ARGS_OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/${ARGS_OUTPUT}")
    endif()

    set(data)
    foreach(dataset ${ARGS_DATASETS})
        get_target_property(json_file ${dataset} METABENCH_DATASET_PATH)
        list(APPEND data "${json_file}")
    endforeach()

    add_custom_command(
        OUTPUT "${ARGS_OUTPUT}"
        COMMAND ${RUBY_EXECUTABLE} -r erb -r json -r fileutils
            -e "options = {}"
            -e "options['TITLE'] = '${ARGS_TITLE}'"
            -e "options['SUBTITLE'] = '${ARGS_SUBTITLE}'"
            -e "options['XLABEL'] = '${ARGS_XLABEL}'"
            -e "options['YLABEL'] = '${ARGS_YLABEL}'"
            -e "aspect = '${ARGS_ASPECT}'"
            -e "data = '${data}'.split(';').map { |datum| JSON.parse(IO.read(datum)) }"
            -e "html = ERB.new(File.read('${CHART_HTML_ERB_PATH}')).result(binding)"
            -e "FileUtils.mkdir_p(File.dirname('${ARGS_OUTPUT}'))"
            -e "IO.write('${ARGS_OUTPUT}', html)"
        DEPENDS ${data} "${ARGS_CHART}"
        VERBATIM
    )

    if (${ARGS_ALL})
        add_custom_target(${target} ALL DEPENDS "${ARGS_OUTPUT}")
    else()
        add_custom_target(${target} DEPENDS "${ARGS_OUTPUT}")
    endif()
endfunction()

################################################################################
# Below this line are scripts and other files that are required by one part or
# another of Metabench. They are hardcoded here so that users only have to
# copy the `metabench.cmake` module to their project, without having to worry
# about dependencies and other implementation details.
################################################################################

################################################################################
# metabench.rb
#
# This script is used to drive CMake when gathering the measurements for a
# single dataset. If takes a `.cpp.erb` file, renders it with different values
# of `n` and then builds the associated executable for each value of `n`.
################################################################################
set(METABENCH_RB_PATH ${METABENCH_DIR}/metabench.rb)
file(WRITE ${METABENCH_RB_PATH}
"require 'benchmark'                                                                                \n"
"require 'erb'                                                                                      \n"
"require 'fileutils'                                                                                \n"
"require 'open3'                                                                                    \n"
"require 'pathname'                                                                                 \n"
"require 'time'                                                                                     \n"
"                                                                                                   \n"
"def median(values)                                                                                 \n"
"  values = values.sort                                                                             \n"
"  if values.length.even?                                                                           \n"
"     return (values[values.length / 2 - 1] + values[values.length / 2])/2                          \n"
"  else                                                                                             \n"
"    return values[values.length / 2]                                                               \n"
"  end                                                                                              \n"
"end                                                                                                \n"
"                                                                                                   \n"
"def report_error(command_line, stdout, stderr, code)                                               \n"
"  raise [%{\\ncommand line: #{command_line}},                                                      \n"
"         %{stdout\\n#{'-'*80}\\n#{stdout}},                                                        \n"
"         %{stderr\\n#{'-'*80}\\n#{stderr}},                                                        \n"
"         %{code\\n#{'-'*80}\\n#{code}}].join(%{\\n\\n})                                            \n"
"end                                                                                                \n"
"                                                                                                   \n"
"# Build the specified CMake target and return the benchmark information that                       \n"
"# was gathered.                                                                                    \n"
"def build(target)                                                                                  \n"
"  command = ['${CMAKE_COMMAND}', '--build', '${CMAKE_BINARY_DIR}', '--target', target]             \n"
"  exe_file = %{${METABENCH_DIR}/#{target}${CMAKE_EXECUTABLE_SUFFIX}}                               \n"
"  cpp_file = %{${METABENCH_DIR}/#{target}.cpp}                                                     \n"
"                                                                                                   \n"
"  # We change the timestamp of the source file and remove the executable                           \n"
"  # to make sure CMake considers the target as outdated; otherwise, we                             \n"
"  # might skip the compilation and/or link steps. This is because CMake's                          \n"
"  # timestamps are not precise enough.                                                             \n"
"  FileUtils.touch(cpp_file, mtime: Time.now+1)                                                     \n"
"  File.delete(exe_file) if File.exist?(exe_file)                                                   \n"
"                                                                                                   \n"
"  stdout, stderr, status = Open3.capture3(*command)                                                \n"
"  compile_cli = stdout.match(/\\[compilation command: (.+)\\]/i)                                   \n"
"  compile_cli = compile_cli ? compile_cli.captures[0] : '(unavailable)'                            \n"
"  link_cli = stdout.match(/\\[link command: (.+)\\]/i)                                             \n"
"  link_cli = link_cli ? link_cli.captures[0] : '(unavailable)'                                     \n"
"                                                                                                   \n"
"  if not status.success?                                                                           \n"
"    cli = %{compile: #{compile_cli}\\nlink: #{link_cli}}                                           \n"
"    report_error(cli, stdout, stderr, IO.read(cpp_file))                                           \n"
"  end                                                                                              \n"
"                                                                                                   \n"
"  result = {}                                                                                      \n"
"                                                                                                   \n"
"  # Compilation and link times in seconds. They are output to stdout because                       \n"
"  # we use the `compile.rb` and `link.rb` scripts below to launch the compiler                     \n"
"  # and linker with CMake.                                                                         \n"
"  result['compilation_time'] = stdout.match(/\\[compilation time: (.+)\\]/i).captures[0].to_f      \n"
"  result['link_time'] = stdout.match(/\\[link time: (.+)\\]/i).captures[0].to_f                    \n"
"                                                                                                   \n"
"  # Size of the generated executable in KB                                                         \n"
"  result['executable_size'] = File.size(exe_file).to_f / 1000                                      \n"
"                                                                                                   \n"
"  # Execution time of the generated executable in seconds                                          \n"
"  result['execution_time'] = Benchmark.realtime {                                                  \n"
"    stdout, stderr, status = Open3.capture3('\"' + exe_file + '\"')                                \n"
"  }                                                                                                \n"
"                                                                                                   \n"
"  if not status.success?                                                                           \n"
"    report_error(exe_file, stdout, stderr, IO.read(cpp_file))                                      \n"
"  end                                                                                              \n"
"                                                                                                   \n"
"  return result                                                                                    \n"
"end                                                                                                \n"
"                                                                                                   \n"
"# Render the ERB template and return the generated code.                                           \n"
"def render(erb_template, n, env)                                                                   \n"
"  ERB.new(File.read(erb_template)).result(binding)                                                 \n"
"end                                                                                                \n"
"                                                                                                   \n"
"def measure(target, erb_template, range, env, median_reps)                                         \n"
"  erb_template = Pathname.new(erb_template)                                                        \n"
"  cpp_file = %{${METABENCH_DIR}/#{target}.cpp}                                                     \n"
"  data = []                                                                                        \n"
"  range = range.to_a                                                                               \n"
"  range.each_with_index do |n, index|                                                              \n"
"    # Write the progress of the benchmark to stderr                                                \n"
"    percentage = (index+1) * 100 / range.size                                                      \n"
"    $stderr.write(%{\\r==> #{percentage}% #{erb_template.relative_path_from(Pathname.getwd)} (n = #{n})})\n"
"                                                                                                   \n"
"    code = render(erb_template, n, env)                                                            \n"
"    compile = -> (code) {                                                                          \n"
"      IO.write(cpp_file, code)                                                                     \n"
"      datum = {'n' => n}                                                                           \n"
"      results = median_reps.times.map { build(target) }                                            \n"
"      datum['compilation_time'] = median(results.map { |r| r['compilation_time'] })                \n"
"      datum['link_time'] = median(results.map { |r| r['link_time'] })                              \n"
"      datum['executable_size'] = results.map { |r| r['executable_size'] }.first                    \n"
"      datum['execution_time'] = median(results.map { |r| r['execution_time'] })                    \n"
"      return datum                                                                                 \n"
"    }                                                                                              \n"
"    compile[code] if index == 0 # Fill the cache on the first iteration                            \n"
"    base = compile[code]                                                                           \n"
"    datum = compile[%{#define METABENCH\\n} + code]                                                \n"
"    datum['compilation_time'] = datum['compilation_time'] - base['compilation_time']               \n"
"    data << datum                                                                                  \n"
"  end                                                                                              \n"
"  return data                                                                                      \n"
"ensure                                                                                             \n"
"  $stderr.puts # Otherwise the output of the next CMake command appears on the same line           \n"
"  IO.write(cpp_file, '')                                                                           \n"
"end                                                                                                \n"
)
################################################################################
# end metabench.rb
################################################################################

################################################################################
# compile.rb
#
# This script is used to launch the compiler and measure the compilation time.
################################################################################
set(COMPILE_RB_PATH ${METABENCH_DIR}/compile.rb)
file(WRITE ${COMPILE_RB_PATH}
"require 'benchmark'                                                            \n"
"require 'open3'                                                                \n"
"stdout = stderr = status = nil                                                 \n"
"time = Benchmark.realtime { stdout, stderr, status = Open3.capture3(*ARGV) }   \n"
"$stdout.puts(stdout)                                                           \n"
"$stdout.puts(%{[compilation command: #{ARGV.join(' ')}]})                      \n"
"$stdout.puts(%{[compilation time: #{time}]})                                   \n"
"$stderr.puts(stderr)                                                           \n"
"exit(status.success?)                                                          \n"
)
################################################################################
# end compile.rb
################################################################################

################################################################################
# link.rb
#
# This script is used to launch the link and measure the link time.
################################################################################
set(LINK_RB_PATH ${METABENCH_DIR}/link.rb)
file(WRITE ${LINK_RB_PATH}
"require 'benchmark'                                                            \n"
"require 'open3'                                                                \n"
"stdout = stderr = status = nil                                                 \n"
"time = Benchmark.realtime { stdout, stderr, status = Open3.capture3(*ARGV) }   \n"
"$stdout.puts(stdout)                                                           \n"
"$stdout.puts(%{[link command: #{ARGV.join(' ')}]})                             \n"
"$stdout.puts(%{[link time: #{time}]})                                          \n"
"$stderr.puts(stderr)                                                           \n"
"exit(status.success?)                                                          \n"
)
################################################################################
# end link.rb
################################################################################

################################################################################
# chart.html.erb
#
# The following is a ERB template for the HTML files used to visualize the
# benchmarks. The template is completed by filling it with the contents
# of the corresponding JSON file and the required JS libraries.
################################################################################
set(CHART_HTML_ERB_PATH ${METABENCH_DIR}/chart.html.erb)
file(WRITE ${CHART_HTML_ERB_PATH}
"<!DOCTYPE html>                                                                                          \n"
"<html>                                                                                                   \n"
"  <head>                                                                                                 \n"
"    <meta charset='utf-8'>                                                                               \n"
"    <style><%= IO.read('${METABENCH_DIR}/nvd3.css') %></style>                                           \n"
"    <style>                                                                                              \n"
"      * {                                                                                                \n"
"        box-sizing: border-box;                                                                          \n"
"      }                                                                                                  \n"
"      html, body {                                                                                       \n"
"        position: relative;                                                                              \n"
"        height: 100%;                                                                                    \n"
"        width: 100%;                                                                                     \n"
"        border: 0;                                                                                       \n"
"        margin: 0;                                                                                       \n"
"        padding: 0;                                                                                      \n"
"        font-size: 0;                                                                                    \n"
"      }                                                                                                  \n"
"      g {                                                                                                \n"
"        clip-path: none;                                                                                 \n"
"      }                                                                                                  \n"
"      .nv-axislabel {                                                                                    \n"
"        font-size: 16px !important;                                                                      \n"
"      }                                                                                                  \n"
"    </style>                                                                                             \n"
"    <script><%= IO.read('${METABENCH_DIR}/d3.js') %></script>                                            \n"
"    <script><%= IO.read('${METABENCH_DIR}/nvd3.js') %></script>                                          \n"
"  </head>                                                                                                \n"
"  <body>                                                                                                 \n"
"    <svg id='chart'></svg>                                                                               \n"
"    <script type='text/javascript'>                                                                      \n"
"      var customSettings = <%= options.to_json %>;                                                       \n"
"      var aspect = '<%= aspect %>';                                                                      \n"
"      var data = <%= data.to_json %>;                                                                    \n"
"                                                                                                         \n"
"      /* setup the chart and its options */                                                              \n"
"      var chart = nv.models.lineChart()                                                                  \n"
"                    .useInteractiveGuideline(true)                                                       \n"
"                    .color(d3.scale.category10().range())                                                \n"
"                    .margin({left: 75, bottom: 50})                                                      \n"
"                    .forceX([0]).forceY([0])                                                             \n"
"                    ;                                                                                    \n"
"      chart.xAxis.options({                                                                              \n"
"        axisLabel: customSettings.XLABEL || 'Number of elements',                                        \n"
"        tickFormat: d3.format('.0f')                                                                     \n"
"      });                                                                                                \n"
"      if (aspect == 'COMPILATION_TIME') {                                                                \n"
"        chart.x(function(datum){ return datum.n; })                                                      \n"
"             .y(function(datum){ return datum.compilation_time; })                                       \n"
"             .yAxis.options({                                                                            \n"
"               axisLabel: customSettings.YLABEL || 'Compilation time',                                   \n"
"               tickFormat: function(val){ return d3.format('.2f')(val) + 's'; }                          \n"
"             });                                                                                         \n"
"      }                                                                                                  \n"
"      else if (aspect == 'EXECUTABLE_SIZE') {                                                            \n"
"        chart.x(function(datum){ return datum.n; })                                                      \n"
"             .y(function(datum){ return datum.executable_size; })                                        \n"
"             .yAxis.options({                                                                            \n"
"               axisLabel: customSettings.YLABEL || 'Executable size',                                    \n"
"               tickFormat: function(val){ return d3.format('.0f')(val) + 'kb'; }                         \n"
"             });                                                                                         \n"
"      }                                                                                                  \n"
"      else if (aspect == 'EXECUTION_TIME') {                                                             \n"
"        chart.x(function(datum){ return datum.n; })                                                      \n"
"             .y(function(datum){ return datum.execution_time; })                                         \n"
"             .yAxis.options({                                                                            \n"
"               axisLabel: customSettings.YLABEL || 'Execution time',                                     \n"
"               tickFormat: function(val){ return d3.format('.2f')(val) + 's'; }                          \n"
"             });                                                                                         \n"
"      }                                                                                                  \n"
"      else if (aspect == 'LINK_TIME') {                                                                  \n"
"        chart.x(function(datum){ return datum.n; })                                                      \n"
"             .y(function(datum){ return datum.link_time; })                                              \n"
"             .yAxis.options({                                                                            \n"
"               axisLabel: customSettings.YLABEL || 'Link time',                                          \n"
"               tickFormat: function(val){ return d3.format('.2f')(val) + 's'; }                          \n"
"             });                                                                                         \n"
"      }                                                                                                  \n"
"                                                                                                         \n"
"      d3.select('#chart').datum(data).call(chart);                                                       \n"
"                                                                                                         \n"
"      /* setup the title */                                                                              \n"
"      d3.select('#chart')                                                                                \n"
"        .append('text')                                                                                  \n"
"        .style('font-size', '20px').style('font-family', 'arial')                                        \n"
"        .attr('text-anchor', 'middle')                                                                   \n"
"        .attr('x', '50%').attr('y', '2em')                                                               \n"
"        .text(customSettings.TITLE || '');                                                               \n"
"                                                                                                         \n"
"      /* setup the subtitle */                                                                           \n"
"      d3.select('#chart')                                                                                \n"
"        .append('text')                                                                                  \n"
"        .style('font-size', '16px').style('font-family', 'arial')                                        \n"
"        .attr('text-anchor', 'middle')                                                                   \n"
"        .attr('x', '50%').attr('y', '4em')                                                               \n"
"        .text(customSettings.SUBTITLE || '');                                                            \n"
"                                                                                                         \n"
"      /* ensure the chart is responsive */                                                               \n"
"      nv.utils.windowResize(function(){setTimeout(chart.update, 0)});                                    \n"
"    </script>                                                                                            \n"
"  </body>                                                                                                \n"
"</html>                                                                                                  \n"
)
################################################################################
# end chart.html.erb
################################################################################

################################################################################
# nvd3.css
#
# The following is a copy of the nvd3 1.8.2 css file.
# https://github.com/novus/nvd3
################################################################################
file(WRITE ${METABENCH_DIR}/nvd3.css "\
.nvd3 .nv-axis line,.nvd3 .nv-axis path{fill:none;shape-rendering:crispEdges}.n\
v-brush .extent,.nvd3 .background path,.nvd3 .nv-axis line,.nvd3 .nv-axis path{\
shape-rendering:crispEdges}.nv-distx,.nv-disty,.nv-noninteractive,.nvd3 .nv-axi\
s,.nvd3.nv-pie .nv-label,.nvd3.nv-sparklineplus g.nv-hoverValue{pointer-events:\
none}.nvtooltip,svg.nvd3-svg{display:block;-webkit-touch-callout:none;-khtml-us\
er-select:none}.nvd3 .nv-axis{opacity:1}.nvd3 .nv-axis.nv-disabled,.nvd3 .nv-co\
ntrolsWrap .nv-legend .nv-check-box .nv-check{opacity:0}.nvd3 .nv-axis path{str\
oke:#000;stroke-opacity:.75}.nvd3 .nv-axis path.domain{stroke-opacity:.75}.nvd3\
 .nv-axis.nv-x path.domain{stroke-opacity:0}.nvd3 .nv-axis line{stroke:#e5e5e5}\
.nvd3 .nv-axis .zero line, .nvd3 .nv-axis line.zero{stroke-opacity:.75}.nvd3 .n\
v-axis .nv-axisMaxMin text{font-weight:700}.nvd3 .x .nv-axis .nv-axisMaxMin tex\
t,.nvd3 .x2 .nv-axis .nv-axisMaxMin text,.nvd3 .x3 .nv-axis .nv-axisMaxMin text\
{text-anchor:middle}.nvd3 .nv-bars rect{fill-opacity:.75;transition:fill-opacit\
y 250ms linear;-moz-transition:fill-opacity 250ms linear;-webkit-transition:fil\
l-opacity 250ms linear}.nvd3 .nv-bars rect.hover{fill-opacity:1}.nvd3 .nv-bars \
.hover rect{fill:#add8e6}.nvd3 .nv-bars text{fill:transparent}.nvd3 .nv-bars .h\
over text{fill:rgba(0,0,0,1)}.nvd3 .nv-discretebar .nv-groups rect,.nvd3 .nv-mu\
ltibar .nv-groups rect,.nvd3 .nv-multibarHorizontal .nv-groups rect{stroke-opac\
ity:0;transition:fill-opacity 250ms linear;-moz-transition:fill-opacity 250ms l\
inear;-webkit-transition:fill-opacity 250ms linear}.nvd3 .nv-candlestickBar .nv\
-ticks rect:hover,.nvd3 .nv-discretebar .nv-groups rect:hover,.nvd3 .nv-multiba\
r .nv-groups rect:hover,.nvd3 .nv-multibarHorizontal .nv-groups rect:hover{fill\
-opacity:1}.nvd3 .nv-discretebar .nv-groups text,.nvd3 .nv-multibarHorizontal .\
nv-groups text{font-weight:700;fill:rgba(0,0,0,1);stroke:transparent}.nvd3 .nv-\
boxplot circle{fill-opacity:.5}.nvd3 .nv-boxplot circle:hover,.nvd3 .nv-boxplot\
 rect:hover{fill-opacity:1}.nvd3 line.nv-boxplot-median{stroke:#000}.nv-boxplot\
-tick:hover{stroke-width:2.5px}.nvd3.nv-bullet{font:10px sans-serif}.nvd3.nv-bu\
llet .nv-measure{fill-opacity:.8}.nvd3.nv-bullet .nv-measure:hover{fill-opacity\
:1}.nvd3.nv-bullet .nv-marker{stroke:#000;stroke-width:2px}.nvd3.nv-bullet .nv-\
markerTriangle{stroke:#000;fill:#fff;stroke-width:1.5px}.nvd3.nv-bullet .nv-tic\
k line{stroke:#666;stroke-width:.5px}.nvd3.nv-bullet .nv-range.nv-s0{fill:#eee}\
.nvd3.nv-bullet .nv-range.nv-s1{fill:#ddd}.nvd3.nv-bullet .nv-range.nv-s2{fill:\
#ccc}.nvd3.nv-bullet .nv-title{font-size:14px;font-weight:700}.nvd3.nv-bullet .\
nv-subtitle{fill:#999}.nvd3.nv-bullet .nv-range{fill:#bababa;fill-opacity:.4}.n\
vd3.nv-bullet .nv-range:hover{fill-opacity:.7}.nvd3.nv-candlestickBar .nv-ticks\
 .nv-tick{stroke-width:1px}.nvd3.nv-candlestickBar .nv-ticks .nv-tick.hover{str\
oke-width:2px}.nvd3.nv-candlestickBar .nv-ticks .nv-tick.positive rect{stroke:#\
2ca02c;fill:#2ca02c}.nvd3.nv-candlestickBar .nv-ticks .nv-tick.negative rect{st\
roke:#d62728;fill:#d62728}.with-transitions .nv-candlestickBar .nv-ticks .nv-ti\
ck{transition:stroke-width 250ms linear,stroke-opacity 250ms linear;-moz-transi\
tion:stroke-width 250ms linear,stroke-opacity 250ms linear;-webkit-transition:s\
troke-width 250ms linear,stroke-opacity 250ms linear}.nvd3.nv-candlestickBar .n\
v-ticks line{stroke:#333}.nvd3 .nv-check-box .nv-box{fill-opacity:0;stroke-widt\
h:2}.nvd3 .nv-check-box .nv-check{fill-opacity:0;stroke-width:4}.nvd3 .nv-serie\
s.nv-disabled .nv-check-box .nv-check{fill-opacity:0;stroke-opacity:0}.nvd3.nv-\
linePlusBar .nv-bar rect{fill-opacity:.75}.nvd3.nv-linePlusBar .nv-bar rect:hov\
er{fill-opacity:1}.nvd3 .nv-groups path.nv-line{fill:none}.nvd3 .nv-groups path\
.nv-area{stroke:none}.nvd3.nv-line .nvd3.nv-scatter .nv-groups .nv-point{fill-o\
pacity:0;stroke-opacity:0}.nvd3.nv-scatter.nv-single-point .nv-groups .nv-point\
{fill-opacity:.5!important;stroke-opacity:.5!important}.with-transitions .nvd3 \
.nv-groups .nv-point{transition:stroke-width 250ms linear,stroke-opacity 250ms \
linear;-moz-transition:stroke-width 250ms linear,stroke-opacity 250ms linear;-w\
ebkit-transition:stroke-width 250ms linear,stroke-opacity 250ms linear}.nvd3 .n\
v-groups .nv-point.hover,.nvd3.nv-scatter .nv-groups .nv-point.hover{stroke-wid\
th:7px;fill-opacity:.95!important;stroke-opacity:.95!important}.nvd3 .nv-point-\
paths path{stroke:#aaa;stroke-opacity:0;fill:#eee;fill-opacity:0}.nvd3 .nv-inde\
xLine{cursor:ew-resize}svg.nvd3-svg{-webkit-user-select:none;-ms-user-select:no\
ne;-moz-user-select:none;user-select:none;width:100%;height:100%}.nvtooltip.wit\
h-3d-shadow,.with-3d-shadow .nvtooltip{-moz-box-shadow:0 5px 10px rgba(0,0,0,.2\
);-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0\
,.2);-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.nvd3 t\
ext{font:400 12px Arial}.nvd3 .title{font:700 14px Arial}.nvd3 .nv-background{f\
ill:#fff;fill-opacity:0}.nvd3.nv-noData{font-size:18px;font-weight:700}.nv-brus\
h .extent{fill-opacity:.125}.nv-brush .resize path{fill:#eee;stroke:#666}.nvd3 \
.nv-legend .nv-series{cursor:pointer}.nvd3 .nv-legend .nv-disabled circle{fill-\
opacity:0}.nvd3 .nv-brush .extent{fill-opacity:0!important}.nvd3 .nv-brushBackg\
round rect{stroke:#000;stroke-width:.4;fill:#fff;fill-opacity:.7}.nvd3.nv-ohlcB\
ar .nv-ticks .nv-tick{stroke-width:1px}.nvd3.nv-ohlcBar .nv-ticks .nv-tick.hove\
r{stroke-width:2px}.nvd3.nv-ohlcBar .nv-ticks .nv-tick.positive{stroke:#2ca02c}\
.nvd3.nv-ohlcBar .nv-ticks .nv-tick.negative{stroke:#d62728}.nvd3 .background p\
ath{fill:none;stroke:#EEE;stroke-opacity:.4}.nvd3 .foreground path{fill:none;st\
roke-opacity:.7}.nvd3 .nv-parallelCoordinates-brush .extent{fill:#fff;fill-opac\
ity:.6;stroke:gray;shape-rendering:crispEdges}.nvd3 .nv-parallelCoordinates .ho\
ver{fill-opacity:1;stroke-width:3px}.nvd3 .missingValuesline line{fill:none;str\
oke:#000;stroke-width:1;stroke-opacity:1;stroke-dasharray:5,5}.nvd3.nv-pie .nv-\
pie-title{font-size:24px;fill:rgba(19,196,249,.59)}.nvd3.nv-pie .nv-slice text{\
stroke:#000;stroke-width:0}.nvd3.nv-pie path{transition:fill-opacity 250ms line\
ar,stroke-width 250ms linear,stroke-opacity 250ms linear;-moz-transition:fill-o\
pacity 250ms linear,stroke-width 250ms linear,stroke-opacity 250ms linear;-webk\
it-transition:fill-opacity 250ms linear,stroke-width 250ms linear,stroke-opacit\
y 250ms linear;stroke:#fff;stroke-width:1px;stroke-opacity:1;fill-opacity:.7}.n\
vd3.nv-pie .hover path{fill-opacity:1}.nvd3.nv-pie .nv-label rect{fill-opacity:\
0;stroke-opacity:0}.nvd3 .nv-groups .nv-point.hover{stroke-width:20px;stroke-op\
acity:.5}.nvd3 .nv-scatter .nv-point.hover{fill-opacity:1}.nvd3.nv-sparkline pa\
th{fill:none}.nvd3.nv-sparklineplus .nv-hoverValue line{stroke:#333;stroke-widt\
h:1.5px}.nvd3.nv-sparklineplus,.nvd3.nv-sparklineplus g{pointer-events:all}.nvd\
3 .nv-interactiveGuideLine,.nvtooltip{pointer-events:none}.nvd3 .nv-hoverArea{f\
ill-opacity:0;stroke-opacity:0}.nvd3.nv-sparklineplus .nv-xValue,.nvd3.nv-spark\
lineplus .nv-yValue{stroke-width:0;font-size:.9em;font-weight:400}.nvd3.nv-spar\
klineplus .nv-yValue{stroke:#f66}.nvd3.nv-sparklineplus .nv-maxValue{stroke:#2c\
a02c;fill:#2ca02c}.nvd3.nv-sparklineplus .nv-minValue{stroke:#d62728;fill:#d627\
28}.nvd3.nv-sparklineplus .nv-currentValue{font-weight:700;font-size:1.1em}.nvt\
ooltip h3,.nvtooltip table td.key{font-weight:400}.nvd3.nv-stackedarea path.nv-\
area{fill-opacity:.7;stroke-opacity:0;transition:fill-opacity 250ms linear,stro\
ke-opacity 250ms linear;-moz-transition:fill-opacity 250ms linear,stroke-opacit\
y 250ms linear;-webkit-transition:fill-opacity 250ms linear,stroke-opacity 250m\
s linear}.nvd3.nv-stackedarea path.nv-area.hover{fill-opacity:.9}.nvd3.nv-stack\
edarea .nv-groups .nv-point{stroke-opacity:0;fill-opacity:0}.nvtooltip{position\
:absolute;color:rgba(0,0,0,1);padding:1px;z-index:10000;font-family:Arial;font-\
size:13px;text-align:left;white-space:nowrap;-webkit-user-select:none;-moz-user\
-select:none;-ms-user-select:none;user-select:none;background:rgba(255,255,255,\
.8);border:1px solid rgba(0,0,0,.5);border-radius:4px}.nvtooltip h3,.nvtooltip \
p{margin:0;text-align:center}.nvtooltip.with-transitions,.with-transitions .nvt\
ooltip{transition:opacity 50ms linear;-moz-transition:opacity 50ms linear;-webk\
it-transition:opacity 50ms linear;transition-delay:200ms;-moz-transition-delay:\
200ms;-webkit-transition-delay:200ms}.nvtooltip.x-nvtooltip,.nvtooltip.y-nvtool\
tip{padding:8px}.nvtooltip h3{padding:4px 14px;line-height:18px;background-colo\
r:rgba(247,247,247,.75);color:rgba(0,0,0,1);border-bottom:1px solid #ebebeb;-we\
bkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;border-radius:5px\
 5px 0 0}.nvtooltip p{padding:5px 14px}.nvtooltip span{display:inline-block;mar\
gin:2px 0}.nvtooltip table{margin:6px;border-spacing:0}.nvtooltip table td{padd\
ing:2px 9px 2px 0;vertical-align:middle}.nvtooltip table td.key.total{font-weig\
ht:700}.nvtooltip table td.value{text-align:right;font-weight:700}.nvtooltip ta\
ble tr.highlight td{padding:1px 9px 1px 0;border-bottom-style:solid;border-bott\
om-width:1px;border-top-style:solid;border-top-width:1px}.nvtooltip table td.le\
gend-color-guide div{vertical-align:middle;width:12px;height:12px;border:1px so\
lid #999}.nvtooltip .footer{padding:3px;text-align:center}.nvtooltip-pending-re\
moval{pointer-events:none;display:none}.nvd3 line.nv-guideline{stroke:#ccc}\
/*# sourceMappingURL=nv.d3.min.css.map */\
")
################################################################################
# end nvd3.css
################################################################################

################################################################################
# nvd3.js
#
# The following is a copy of the nvd3 1.8.2 js file.
# https://github.com/novus/nvd3
################################################################################
file(WRITE ${METABENCH_DIR}/nvd3.js "\
/* nvd3 version 1.8.2 (https://github.com/novus/nvd3) 2016-01-24 */\
\
!function(){var a={};a.dev=!1,a.tooltip=a.tooltip||{},a.utils=a.utils||{},a.mod\
els=a.models||{},a.charts={},a.logs={},a.dom={},a.dispatch=d3.dispatch(\"render_\
start\",\"render_end\"),Function.prototype.bind||(Function.prototype.bind=function\
(a){if(\"function\"!=typeof this)throw new TypeError(\"Function.prototype.bind - w\
hat is trying to be bound is not callable\");var b=Array.prototype.slice.call(ar\
guments,1),c=this,d=function(){},e=function(){return c.apply(this instanceof d&\
&a?this:a,b.concat(Array.prototype.slice.call(arguments)))};return d.prototype=\
this.prototype,e.prototype=new d,e}),a.dev&&(a.dispatch.on(\"render_start\",funct\
ion(b){a.logs.startTime=+new Date}),a.dispatch.on(\"render_end\",function(b){a.lo\
gs.endTime=+new Date,a.logs.totalTime=a.logs.endTime-a.logs.startTime,a.log(\"to\
tal\",a.logs.totalTime)})),a.log=function(){if(a.dev&&window.console&&console.lo\
g&&console.log.apply)console.log.apply(console,arguments);else if(a.dev&&window\
.console&&\"function\"==typeof console.log&&Function.prototype.bind){var b=Functi\
on.prototype.bind.call(console.log,console);b.apply(console,arguments)}return a\
rguments[arguments.length-1]},a.deprecated=function(a,b){console&&console.warn&\
&console.warn(\"nvd3 warning: `\"+a+\"` has been deprecated. \",b||\"\")},a.render=fu\
nction(b){b=b||1,a.render.active=!0,a.dispatch.render_start();var c=function(){\
for(var d,e,f=0;b>f&&(e=a.render.queue[f]);f++)d=e.generate(),typeof e.callback\
==typeof Function&&e.callback(d);a.render.queue.splice(0,f),a.render.queue.leng\
th?setTimeout(c):(a.dispatch.render_end(),a.render.active=!1)};setTimeout(c)},a\
.render.active=!1,a.render.queue=[],a.addGraph=function(b){typeof arguments[0]=\
=typeof Function&&(b={generate:arguments[0],callback:arguments[1]}),a.render.qu\
eue.push(b),a.render.active||a.render()},\"undefined\"!=typeof module&&\"undefined\
\"!=typeof exports&&(module.exports=a),\"undefined\"!=typeof window&&(window.nv=a)\
,a.dom.write=function(a){return void 0!==window.fastdom?fastdom.write(a):a()},a\
.dom.read=function(a){return void 0!==window.fastdom?fastdom.read(a):a()},a.int\
eractiveGuideline=function(){\"use strict\";function b(l){l.each(function(l){func\
tion m(){var a=d3.mouse(this),d=a[0],e=a[1],h=!0,i=!1;if(k&&(d=d3.event.offsetX\
,e=d3.event.offsetY,\"svg\"!==d3.event.target.tagName&&(h=!1),d3.event.target.cla\
ssName.baseVal.match(\"nv-legend\")&&(i=!0)),h&&(d-=c.left,e-=c.top),0>d||0>e||d>\
o||e>p||d3.event.relatedTarget&&void 0===d3.event.relatedTarget.ownerSVGElement\
||i){if(k&&d3.event.relatedTarget&&void 0===d3.event.relatedTarget.ownerSVGElem\
ent&&(void 0===d3.event.relatedTarget.className||d3.event.relatedTarget.classNa\
me.match(j.nvPointerEventsClass)))return;return g.elementMouseout({mouseX:d,mou\
seY:e}),b.renderGuideLine(null),void j.hidden(!0)}j.hidden(!1);var l=\"function\"\
==typeof f.rangeBands,m=void 0;if(l){var n=d3.bisect(f.range(),d)-1;if(!(f.rang\
e()[n]+f.rangeBand()>=d))return g.elementMouseout({mouseX:d,mouseY:e}),b.render\
GuideLine(null),void j.hidden(!0);m=f.domain()[d3.bisect(f.range(),d)-1]}else m\
=f.invert(d);g.elementMousemove({mouseX:d,mouseY:e,pointXValue:m}),\"dblclick\"==\
=d3.event.type&&g.elementDblclick({mouseX:d,mouseY:e,pointXValue:m}),\"click\"===\
d3.event.type&&g.elementClick({mouseX:d,mouseY:e,pointXValue:m}),\"mousedown\"===\
d3.event.type&&g.elementMouseDown({mouseX:d,mouseY:e,pointXValue:m}),\"mouseup\"=\
==d3.event.type&&g.elementMouseUp({mouseX:d,mouseY:e,pointXValue:m})}var n=d3.s\
elect(this),o=d||960,p=e||400,q=n.selectAll(\"g.nv-wrap.nv-interactiveLineLayer\"\
).data([l]),r=q.enter().append(\"g\").attr(\"class\",\" nv-wrap nv-interactiveLineLa\
yer\");r.append(\"g\").attr(\"class\",\"nv-interactiveGuideLine\"),i&&(i.on(\"touchmove\
\",m).on(\"mousemove\",m,!0).on(\"mouseout\",m,!0).on(\"mousedown\",m,!0).on(\"mouseup\"\
,m,!0).on(\"dblclick\",m).on(\"click\",m),b.guideLine=null,b.renderGuideLine=functi\
on(c){h&&(b.guideLine&&b.guideLine.attr(\"x1\")===c||a.dom.write(function(){var b\
=q.select(\".nv-interactiveGuideLine\").selectAll(\"line\").data(null!=c?[a.utils.N\
aNtoZero(c)]:[],String);b.enter().append(\"line\").attr(\"class\",\"nv-guideline\").a\
ttr(\"x1\",function(a){return a}).attr(\"x2\",function(a){return a}).attr(\"y1\",p).a\
ttr(\"y2\",0),b.exit().remove()}))})})}var c={left:0,top:0},d=null,e=null,f=d3.sc\
ale.linear(),g=d3.dispatch(\"elementMousemove\",\"elementMouseout\",\"elementClick\",\
\"elementDblclick\",\"elementMouseDown\",\"elementMouseUp\"),h=!0,i=null,j=a.models.t\
ooltip(),k=\"ActiveXObject\"in window;return j.duration(0).hideDelay(0).hidden(!1\
),b.dispatch=g,b.tooltip=j,b.margin=function(a){return arguments.length?(c.top=\
\"undefined\"!=typeof a.top?a.top:c.top,c.left=\"undefined\"!=typeof a.left?a.left:\
c.left,b):c},b.width=function(a){return arguments.length?(d=a,b):d},b.height=fu\
nction(a){return arguments.length?(e=a,b):e},b.xScale=function(a){return argume\
nts.length?(f=a,b):f},b.showGuideLine=function(a){return arguments.length?(h=a,\
b):h},b.svgContainer=function(a){return arguments.length?(i=a,b):i},b},a.intera\
ctiveBisect=function(a,b,c){\"use strict\";if(!(a instanceof Array))return null;v\
ar d;d=\"function\"!=typeof c?function(a){return a.x}:c;var e=function(a,b){retur\
n d(a)-b},f=d3.bisector(e).left,g=d3.max([0,f(a,b)-1]),h=d(a[g]);if(\"undefined\"\
==typeof h&&(h=g),h===b)return g;var i=d3.min([g+1,a.length-1]),j=d(a[i]);retur\
n\"undefined\"==typeof j&&(j=i),Math.abs(j-b)>=Math.abs(h-b)?g:i},a.nearestValueI\
ndex=function(a,b,c){\"use strict\";var d=1/0,e=null;return a.forEach(function(a,\
f){var g=Math.abs(b-a);null!=a&&d>=g&&c>g&&(d=g,e=f)}),e},a.models.tooltip=func\
tion(){\"use strict\";function b(){if(!m){var a=j?j:document.body;m=d3.select(a).\
append(\"div\").attr(\"class\",\"nvtooltip \"+(i?i:\"xy-tooltip\")).attr(\"id\",d),m.styl\
e(\"top\",0).style(\"left\",0),m.style(\"opacity\",0),m.style(\"position\",\"fixed\"),m.s\
electAll(\"div, table, td, tr\").classed(r,!0),m.classed(r,!0)}}function c(){retu\
rn o&&x(e)?(a.dom.write(function(){b();var a=w(e);a&&(m.node().innerHTML=a),z()\
}),c):void 0}var d=\"nvtooltip-\"+Math.floor(1e5*Math.random()),e=null,f=\"w\",g=25\
,h=0,i=null,j=null,k=!0,l=200,m=null,n={left:null,top:null},o=!0,p=100,q=!0,r=\"\
nv-pointer-events-none\",s=function(){return{left:null!==d3.event?d3.event.clien\
tX:0,top:null!==d3.event?d3.event.clientY:0}},t=function(a,b){return a},u=funct\
ion(a){return a},v=function(a,b){return a},w=function(a){if(null===a)return\"\";v\
ar b=d3.select(document.createElement(\"table\"));if(q){var c=b.selectAll(\"thead\"\
).data([a]).enter().append(\"thead\");c.append(\"tr\").append(\"td\").attr(\"colspan\",\
3).append(\"strong\").classed(\"x-value\",!0).html(u(a.value))}var d=b.selectAll(\"t\
body\").data([a]).enter().append(\"tbody\"),e=d.selectAll(\"tr\").data(function(a){r\
eturn a.series}).enter().append(\"tr\").classed(\"highlight\",function(a){return a.\
highlight});e.append(\"td\").classed(\"legend-color-guide\",!0).append(\"div\").style\
(\"background-color\",function(a){return a.color}),e.append(\"td\").classed(\"key\",!\
0).classed(\"total\",function(a){return!!a.total}).html(function(a,b){return v(a.\
key,b)}),e.append(\"td\").classed(\"value\",!0).html(function(a,b){return t(a.value\
,b)}),e.selectAll(\"td\").each(function(a){if(a.highlight){var b=d3.scale.linear(\
).domain([0,1]).range([\"#fff\",a.color]),c=.6;d3.select(this).style(\"border-bott\
om-color\",b(c)).style(\"border-top-color\",b(c))}});var f=b.node().outerHTML;retu\
rn void 0!==a.footer&&(f+=\"<div class='footer'>\"+a.footer+\"</div>\"),f},x=functi\
on(a){if(a&&a.series){if(a.series instanceof Array)return!!a.series.length;if(a\
.series instanceof Object)return a.series=[a.series],!0}return!1},y=function(a)\
{var b,c,d,e=m.node().offsetHeight,h=m.node().offsetWidth,i=document.documentEl\
ement.clientWidth,j=document.documentElement.clientHeight;switch(f){case\"e\":b=-\
h-g,c=-(e/2),a.left+b<0&&(b=g),(d=a.top+c)<0&&(c-=d),(d=a.top+c+e)>j&&(c-=d-j);\
break;case\"w\":b=g,c=-(e/2),a.left+b+h>i&&(b=-h-g),(d=a.top+c)<0&&(c-=d),(d=a.to\
p+c+e)>j&&(c-=d-j);break;case\"n\":b=-(h/2)-5,c=g,a.top+c+e>j&&(c=-e-g),(d=a.left\
+b)<0&&(b-=d),(d=a.left+b+h)>i&&(b-=d-i);break;case\"s\":b=-(h/2),c=-e-g,a.top+c<\
0&&(c=g),(d=a.left+b)<0&&(b-=d),(d=a.left+b+h)>i&&(b-=d-i);break;case\"center\":b\
=-(h/2),c=-(e/2);break;default:b=0,c=0}return{left:b,top:c}},z=function(){a.dom\
.read(function(){var a=s(),b=y(a),c=a.left+b.left,d=a.top+b.top;if(k)m.interrup\
t().transition().delay(l).duration(0).style(\"opacity\",0);else{var e=\"translate(\
\"+n.left+\"px, \"+n.top+\"px)\",f=\"translate(\"+c+\"px, \"+d+\"px)\",g=d3.interpolateStr\
ing(e,f),h=m.style(\"opacity\")<.1;m.interrupt().transition().duration(h?0:p).sty\
leTween(\"transform\",function(a){return g},\"important\").styleTween(\"-webkit-tran\
sform\",function(a){return g}).style(\"-ms-transform\",f).style(\"opacity\",1)}n.lef\
t=c,n.top=d})};return c.nvPointerEventsClass=r,c.options=a.utils.optionsFunc.bi\
nd(c),c._options=Object.create({},{duration:{get:function(){return p},set:funct\
ion(a){p=a}},gravity:{get:function(){return f},set:function(a){f=a}},distance:{\
get:function(){return g},set:function(a){g=a}},snapDistance:{get:function(){ret\
urn h},set:function(a){h=a}},classes:{get:function(){return i},set:function(a){\
i=a}},chartContainer:{get:function(){return j},set:function(a){j=a}},enabled:{g\
et:function(){return o},set:function(a){o=a}},hideDelay:{get:function(){return \
l},set:function(a){l=a}},contentGenerator:{get:function(){return w},set:functio\
n(a){w=a}},valueFormatter:{get:function(){return t},set:function(a){t=a}},heade\
rFormatter:{get:function(){return u},set:function(a){u=a}},keyFormatter:{get:fu\
nction(){return v},set:function(a){v=a}},headerEnabled:{get:function(){return q\
},set:function(a){q=a}},position:{get:function(){return s},set:function(a){s=a}\
},fixedTop:{get:function(){return null},set:function(b){a.deprecated(\"fixedTop\"\
,\"feature removed after 1.8.1\")}},offset:{get:function(){return{left:0,top:0}},\
set:function(b){a.deprecated(\"offset\",\"use chart.tooltip.distance() instead\")}}\
,hidden:{get:function(){return k},set:function(a){k!=a&&(k=!!a,c())}},data:{get\
:function(){return e},set:function(a){a.point&&(a.value=a.point.x,a.series=a.se\
ries||{},a.series.value=a.point.y,a.series.color=a.point.color||a.series.color)\
,e=a}},node:{get:function(){return m.node()},set:function(a){}},id:{get:functio\
n(){return d},set:function(a){}}}),a.utils.initOptions(c),c},a.utils.windowSize\
=function(){var a={width:640,height:480};return window.innerWidth&&window.inner\
Height?(a.width=window.innerWidth,a.height=window.innerHeight,a):\"CSS1Compat\"==\
document.compatMode&&document.documentElement&&document.documentElement.offsetW\
idth?(a.width=document.documentElement.offsetWidth,a.height=document.documentEl\
ement.offsetHeight,a):document.body&&document.body.offsetWidth?(a.width=documen\
t.body.offsetWidth,a.height=document.body.offsetHeight,a):a},a.utils.windowResi\
ze=function(b){return window.addEventListener?window.addEventListener(\"resize\",\
b):a.log(\"ERROR: Failed to bind to window.resize with: \",b),{callback:b,clear:f\
unction(){window.removeEventListener(\"resize\",b)}}},a.utils.getColor=function(b\
){if(void 0===b)return a.utils.defaultColor();if(Array.isArray(b)){var c=d3.sca\
le.ordinal().range(b);return function(a,b){var d=void 0===b?a:b;return a.color|\
|c(d)}}return b},a.utils.defaultColor=function(){return a.utils.getColor(d3.sca\
le.category20().range())},a.utils.customTheme=function(a,b,c){b=b||function(a){\
return a.key},c=c||d3.scale.category20().range();var d=c.length;return function\
(e,f){var g=b(e);return\"function\"==typeof a[g]?a[g]():void 0!==a[g]?a[g]:(d||(d\
=c.length),d-=1,c[d])}},a.utils.pjax=function(b,c){var d=function(d){d3.html(d,\
function(d){var e=d3.select(c).node();e.parentNode.replaceChild(d3.select(d).se\
lect(c).node(),e),a.utils.pjax(b,c)})};d3.selectAll(b).on(\"click\",function(){hi\
story.pushState(this.href,this.textContent,this.href),d(this.href),d3.event.pre\
ventDefault()}),d3.select(window).on(\"popstate\",function(){d3.event.state&&d(d3\
.event.state)})},a.utils.calcApproxTextWidth=function(a){if(\"function\"==typeof \
a.style&&\"function\"==typeof a.text){var b=parseInt(a.style(\"font-size\").replace\
(\"px\",\"\"),10),c=a.text().length;return c*b*.5}return 0},a.utils.NaNtoZero=funct\
ion(a){return\"number\"!=typeof a||isNaN(a)||null===a||a===1/0||a===-(1/0)?0:a},d\
3.selection.prototype.watchTransition=function(a){var b=[this].concat([].slice.\
call(arguments,1));return a.transition.apply(a,b)},a.utils.renderWatch=function\
(b,c){if(!(this instanceof a.utils.renderWatch))return new a.utils.renderWatch(\
b,c);var d=void 0!==c?c:250,e=[],f=this;this.models=function(a){return a=[].sli\
ce.call(arguments,0),a.forEach(function(a){a.__rendered=!1,function(a){a.dispat\
ch.on(\"renderEnd\",function(b){a.__rendered=!0,f.renderEnd(\"model\")})}(a),e.inde\
xOf(a)<0&&e.push(a)}),this},this.reset=function(a){void 0!==a&&(d=a),e=[]},this\
.transition=function(a,b,c){if(b=arguments.length>1?[].slice.call(arguments,1):\
[],c=b.length>1?b.pop():void 0!==d?d:250,a.__rendered=!1,e.indexOf(a)<0&&e.push\
(a),0===c)return a.__rendered=!0,a.delay=function(){return this},a.duration=fun\
ction(){return this},a;0===a.length?a.__rendered=!0:a.every(function(a){return!\
a.length})?a.__rendered=!0:a.__rendered=!1;var g=0;return a.transition().durati\
on(c).each(function(){++g}).each(\"end\",function(c,d){0===--g&&(a.__rendered=!0,\
f.renderEnd.apply(this,b))})},this.renderEnd=function(){e.every(function(a){ret\
urn a.__rendered})&&(e.forEach(function(a){a.__rendered=!1}),b.renderEnd.apply(\
this,arguments))}},a.utils.deepExtend=function(b){var c=arguments.length>1?[].s\
lice.call(arguments,1):[];c.forEach(function(c){for(var d in c){var e=b[d]insta\
nceof Array,f=\"object\"==typeof b[d],g=\"object\"==typeof c[d];f&&!e&&g?a.utils.de\
epExtend(b[d],c[d]):b[d]=c[d]}})},a.utils.state=function(){if(!(this instanceof\
 a.utils.state))return new a.utils.state;var b={},c=function(){},d=function(){r\
eturn{}},e=null,f=null;this.dispatch=d3.dispatch(\"change\",\"set\"),this.dispatch.\
on(\"set\",function(a){c(a,!0)}),this.getter=function(a){return d=a,this},this.se\
tter=function(a,b){return b||(b=function(){}),c=function(c,d){a(c),d&&b()},this\
},this.init=function(b){e=e||{},a.utils.deepExtend(e,b)};var g=function(){var a\
=d();if(JSON.stringify(a)===JSON.stringify(b))return!1;for(var c in a)void 0===\
b[c]&&(b[c]={}),b[c]=a[c],f=!0;return!0};this.update=function(){e&&(c(e,!1),e=n\
ull),g.call(this)&&this.dispatch.change(b)}},a.utils.optionsFunc=function(a){re\
turn a&&d3.map(a).forEach(function(a,b){\"function\"==typeof this[a]&&this[a](b)}\
.bind(this)),this},a.utils.calcTicksX=function(b,c){var d=1,e=0;for(e;e<c.lengt\
h;e+=1){var f=c[e]&&c[e].values?c[e].values.length:0;d=f>d?f:d}return a.log(\"Re\
quested number of ticks: \",b),a.log(\"Calculated max values to be: \",d),b=b>d?b=\
d-1:b,b=1>b?1:b,b=Math.floor(b),a.log(\"Calculating tick count as: \",b),b},a.uti\
ls.calcTicksY=function(b,c){return a.utils.calcTicksX(b,c)},a.utils.initOption=\
function(a,b){a._calls&&a._calls[b]?a[b]=a._calls[b]:(a[b]=function(c){return a\
rguments.length?(a._overrides[b]=!0,a._options[b]=c,a):a._options[b]},a[\"_\"+b]=\
function(c){return arguments.length?(a._overrides[b]||(a._options[b]=c),a):a._o\
ptions[b]})},a.utils.initOptions=function(b){b._overrides=b._overrides||{};var \
c=Object.getOwnPropertyNames(b._options||{}),d=Object.getOwnPropertyNames(b._ca\
lls||{});c=c.concat(d);for(var e in c)a.utils.initOption(b,c[e])},a.utils.inher\
itOptionsD3=function(a,b,c){a._d3options=c.concat(a._d3options||[]),c.unshift(b\
),c.unshift(a),d3.rebind.apply(this,c)},a.utils.arrayUnique=function(a){return \
a.sort().filter(function(b,c){return!c||b!=a[c-1]})},a.utils.symbolMap=d3.map()\
,a.utils.symbol=function(){function b(b,e){var f=c.call(this,b,e),g=d.call(this\
,b,e);return-1!==d3.svg.symbolTypes.indexOf(f)?d3.svg.symbol().type(f).size(g)(\
):a.utils.symbolMap.get(f)(g)}var c,d=64;return b.type=function(a){return argum\
ents.length?(c=d3.functor(a),b):c},b.size=function(a){return arguments.length?(\
d=d3.functor(a),b):d},b},a.utils.inheritOptions=function(b,c){var d=Object.getO\
wnPropertyNames(c._options||{}),e=Object.getOwnPropertyNames(c._calls||{}),f=c.\
_inherited||[],g=c._d3options||[],h=d.concat(e).concat(f).concat(g);h.unshift(c\
),h.unshift(b),d3.rebind.apply(this,h),b._inherited=a.utils.arrayUnique(d.conca\
t(e).concat(f).concat(d).concat(b._inherited||[])),b._d3options=a.utils.arrayUn\
ique(g.concat(b._d3options||[]))},a.utils.initSVG=function(a){a.classed({\"nvd3-\
svg\":!0})},a.utils.sanitizeHeight=function(a,b){return a||parseInt(b.style(\"hei\
ght\"),10)||400},a.utils.sanitizeWidth=function(a,b){return a||parseInt(b.style(\
\"width\"),10)||960},a.utils.availableHeight=function(b,c,d){return Math.max(0,a.\
utils.sanitizeHeight(b,c)-d.top-d.bottom)},a.utils.availableWidth=function(b,c,\
d){return Math.max(0,a.utils.sanitizeWidth(b,c)-d.left-d.right)},a.utils.noData\
=function(b,c){var d=b.options(),e=d.margin(),f=d.noData(),g=null==f?[\"No Data \
Available.\"]:[f],h=a.utils.availableHeight(null,c,e),i=a.utils.availableWidth(n\
ull,c,e),j=e.left+i/2,k=e.top+h/2;c.selectAll(\"g\").remove();var l=c.selectAll(\"\
.nv-noData\").data(g);l.enter().append(\"text\").attr(\"class\",\"nvd3 nv-noData\").at\
tr(\"dy\",\"-.7em\").style(\"text-anchor\",\"middle\"),l.attr(\"x\",j).attr(\"y\",k).text(f\
unction(a){return a})},a.utils.wrapTicks=function(a,b){a.each(function(){for(va\
r a,c=d3.select(this),d=c.text().split(/\\s+/).reverse(),e=[],f=0,g=1.1,h=c.attr\
(\"y\"),i=parseFloat(c.attr(\"dy\")),j=c.text(null).append(\"tspan\").attr(\"x\",0).att\
r(\"y\",h).attr(\"dy\",i+\"em\");a=d.pop();)e.push(a),j.text(e.join(\" \")),j.node().ge\
tComputedTextLength()>b&&(e.pop(),j.text(e.join(\" \")),e=[a],j=c.append(\"tspan\")\
.attr(\"x\",0).attr(\"y\",h).attr(\"dy\",++f*g+i+\"em\").text(a))})},a.utils.arrayEqual\
s=function(b,c){if(b===c)return!0;if(!b||!c)return!1;if(b.length!=c.length)retu\
rn!1;for(var d=0,e=b.length;e>d;d++)if(b[d]instanceof Array&&c[d]instanceof Arr\
ay){if(!a.arrayEquals(b[d],c[d]))return!1}else if(b[d]!=c[d])return!1;return!0}\
,a.models.axis=function(){\"use strict\";function b(g){return s.reset(),g.each(fu\
nction(b){var g=d3.select(this);a.utils.initSVG(g);var p=g.selectAll(\"g.nv-wrap\
.nv-axis\").data([b]),q=p.enter().append(\"g\").attr(\"class\",\"nvd3 nv-wrap nv-axis\
\"),t=(q.append(\"g\"),p.select(\"g\"));null!==n?c.ticks(n):(\"top\"==c.orient()||\"bot\
tom\"==c.orient())&&c.ticks(Math.abs(d.range()[1]-d.range()[0])/100),t.watchTran\
sition(s,\"axis\").call(c),r=r||c.scale();var u=c.tickFormat();null==u&&(u=r.tick\
Format());var v=t.selectAll(\"text.nv-axislabel\").data([h||null]);v.exit().remov\
e();var w,x,y;switch(c.orient()){case\"top\":v.enter().append(\"text\").attr(\"class\
\",\"nv-axislabel\"),y=0,1===d.range().length?y=m?2*d.range()[0]+d.rangeBand():0:2\
===d.range().length?y=m?d.range()[0]+d.range()[1]+d.rangeBand():d.range()[1]:d.\
range().length>2&&(y=d.range()[d.range().length-1]+(d.range()[1]-d.range()[0]))\
,v.attr(\"text-anchor\",\"middle\").attr(\"y\",0).attr(\"x\",y/2),i&&(x=p.selectAll(\"g.\
nv-axisMaxMin\").data(d.domain()),x.enter().append(\"g\").attr(\"class\",function(a,\
b){return[\"nv-axisMaxMin\",\"nv-axisMaxMin-x\",0==b?\"nv-axisMin-x\":\"nv-axisMax-x\"]\
.join(\" \")}).append(\"text\"),x.exit().remove(),x.attr(\"transform\",function(b,c){\
return\"translate(\"+a.utils.NaNtoZero(d(b))+\",0)\"}).select(\"text\").attr(\"dy\",\"-0\
.5em\").attr(\"y\",-c.tickPadding()).attr(\"text-anchor\",\"middle\").text(function(a,\
b){var c=u(a);return(\"\"+c).match(\"NaN\")?\"\":c}),x.watchTransition(s,\"min-max top\
\").attr(\"transform\",function(b,c){return\"translate(\"+a.utils.NaNtoZero(d.range(\
)[c])+\",0)\"}));break;case\"bottom\":w=o+36;var z=30,A=0,B=t.selectAll(\"g\").select\
(\"text\"),C=\"\";if(j%360){B.each(function(a,b){var c=this.getBoundingClientRect()\
,d=c.width;A=c.height,d>z&&(z=d)}),C=\"rotate(\"+j+\" 0,\"+(A/2+c.tickPadding())+\")\
\";var D=Math.abs(Math.sin(j*Math.PI/180));w=(D?D*z:z)+30,B.attr(\"transform\",C).\
style(\"text-anchor\",j%360>0?\"start\":\"end\")}else l?B.attr(\"transform\",function(a\
,b){return\"translate(0,\"+(b%2==0?\"0\":\"12\")+\")\"}):B.attr(\"transform\",\"translate(\
0,0)\");v.enter().append(\"text\").attr(\"class\",\"nv-axislabel\"),y=0,1===d.range().\
length?y=m?2*d.range()[0]+d.rangeBand():0:2===d.range().length?y=m?d.range()[0]\
+d.range()[1]+d.rangeBand():d.range()[1]:d.range().length>2&&(y=d.range()[d.ran\
ge().length-1]+(d.range()[1]-d.range()[0])),v.attr(\"text-anchor\",\"middle\").attr\
(\"y\",w).attr(\"x\",y/2),i&&(x=p.selectAll(\"g.nv-axisMaxMin\").data([d.domain()[0],\
d.domain()[d.domain().length-1]]),x.enter().append(\"g\").attr(\"class\",function(a\
,b){return[\"nv-axisMaxMin\",\"nv-axisMaxMin-x\",0==b?\"nv-axisMin-x\":\"nv-axisMax-x\"\
].join(\" \")}).append(\"text\"),x.exit().remove(),x.attr(\"transform\",function(b,c)\
{return\"translate(\"+a.utils.NaNtoZero(d(b)+(m?d.rangeBand()/2:0))+\",0)\"}).selec\
t(\"text\").attr(\"dy\",\".71em\").attr(\"y\",c.tickPadding()).attr(\"transform\",C).styl\
e(\"text-anchor\",j?j%360>0?\"start\":\"end\":\"middle\").text(function(a,b){var c=u(a)\
;return(\"\"+c).match(\"NaN\")?\"\":c}),x.watchTransition(s,\"min-max bottom\").attr(\"t\
ransform\",function(b,c){return\"translate(\"+a.utils.NaNtoZero(d(b)+(m?d.rangeBan\
d()/2:0))+\",0)\"}));break;case\"right\":v.enter().append(\"text\").attr(\"class\",\"nv-\
axislabel\"),v.style(\"text-anchor\",k?\"middle\":\"begin\").attr(\"transform\",k?\"rotat\
e(90)\":\"\").attr(\"y\",k?-Math.max(e.right,f)+12:-10).attr(\"x\",k?d3.max(d.range())\
/2:c.tickPadding()),i&&(x=p.selectAll(\"g.nv-axisMaxMin\").data(d.domain()),x.ent\
er().append(\"g\").attr(\"class\",function(a,b){return[\"nv-axisMaxMin\",\"nv-axisMaxM\
in-y\",0==b?\"nv-axisMin-y\":\"nv-axisMax-y\"].join(\" \")}).append(\"text\").style(\"opa\
city\",0),x.exit().remove(),x.attr(\"transform\",function(b,c){return\"translate(0,\
\"+a.utils.NaNtoZero(d(b))+\")\"}).select(\"text\").attr(\"dy\",\".32em\").attr(\"y\",0).a\
ttr(\"x\",c.tickPadding()).style(\"text-anchor\",\"start\").text(function(a,b){var c=\
u(a);return(\"\"+c).match(\"NaN\")?\"\":c}),x.watchTransition(s,\"min-max right\").attr\
(\"transform\",function(b,c){return\"translate(0,\"+a.utils.NaNtoZero(d.range()[c])\
+\")\"}).select(\"text\").style(\"opacity\",1));break;case\"left\":v.enter().append(\"te\
xt\").attr(\"class\",\"nv-axislabel\"),v.style(\"text-anchor\",k?\"middle\":\"end\").attr(\
\"transform\",k?\"rotate(-90)\":\"\").attr(\"y\",k?-Math.max(e.left,f)+25-(o||0):-10).a\
ttr(\"x\",k?-d3.max(d.range())/2:-c.tickPadding()),i&&(x=p.selectAll(\"g.nv-axisMa\
xMin\").data(d.domain()),x.enter().append(\"g\").attr(\"class\",function(a,b){return\
[\"nv-axisMaxMin\",\"nv-axisMaxMin-y\",0==b?\"nv-axisMin-y\":\"nv-axisMax-y\"].join(\" \"\
)}).append(\"text\").style(\"opacity\",0),x.exit().remove(),x.attr(\"transform\",func\
tion(b,c){return\"translate(0,\"+a.utils.NaNtoZero(r(b))+\")\"}).select(\"text\").att\
r(\"dy\",\".32em\").attr(\"y\",0).attr(\"x\",-c.tickPadding()).attr(\"text-anchor\",\"end\"\
).text(function(a,b){var c=u(a);return(\"\"+c).match(\"NaN\")?\"\":c}),x.watchTransit\
ion(s,\"min-max right\").attr(\"transform\",function(b,c){return\"translate(0,\"+a.ut\
ils.NaNtoZero(d.range()[c])+\")\"}).select(\"text\").style(\"opacity\",1))}if(v.text(\
function(a){return a}),!i||\"left\"!==c.orient()&&\"right\"!==c.orient()||(t.select\
All(\"g\").each(function(a,b){d3.select(this).select(\"text\").attr(\"opacity\",1),(d\
(a)<d.range()[1]+10||d(a)>d.range()[0]-10)&&((a>1e-10||-1e-10>a)&&d3.select(thi\
s).attr(\"opacity\",0),d3.select(this).select(\"text\").attr(\"opacity\",0))}),d.doma\
in()[0]==d.domain()[1]&&0==d.domain()[0]&&p.selectAll(\"g.nv-axisMaxMin\").style(\
\"opacity\",function(a,b){return b?0:1})),i&&(\"top\"===c.orient()||\"bottom\"===c.or\
ient())){var E=[];p.selectAll(\"g.nv-axisMaxMin\").each(function(a,b){try{b?E.pus\
h(d(a)-this.getBoundingClientRect().width-4):E.push(d(a)+this.getBoundingClient\
Rect().width+4)}catch(c){b?E.push(d(a)-4):E.push(d(a)+4)}}),t.selectAll(\"g\").ea\
ch(function(a,b){(d(a)<E[0]||d(a)>E[1])&&(a>1e-10||-1e-10>a?d3.select(this).rem\
ove():d3.select(this).select(\"text\").remove())})}t.selectAll(\".tick\").filter(fu\
nction(a){return!parseFloat(Math.round(1e5*a)/1e6)&&void 0!==a}).classed(\"zero\"\
,!0),r=d.copy()}),s.renderEnd(\"axis immediate\"),b}var c=d3.svg.axis(),d=d3.scal\
e.linear(),e={top:0,right:0,bottom:0,left:0},f=75,g=60,h=null,i=!0,j=0,k=!0,l=!\
1,m=!1,n=null,o=0,p=250,q=d3.dispatch(\"renderEnd\");c.scale(d).orient(\"bottom\").\
tickFormat(function(a){return a});var r,s=a.utils.renderWatch(q,p);return b.axi\
s=c,b.dispatch=q,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create\
({},{axisLabelDistance:{get:function(){return o},set:function(a){o=a}},staggerL\
abels:{get:function(){return l},set:function(a){l=a}},rotateLabels:{get:functio\
n(){return j},set:function(a){j=a}},rotateYLabel:{get:function(){return k},set:\
function(a){k=a}},showMaxMin:{get:function(){return i},set:function(a){i=a}},ax\
isLabel:{get:function(){return h},set:function(a){h=a}},height:{get:function(){\
return g},set:function(a){g=a}},ticks:{get:function(){return n},set:function(a)\
{n=a}},width:{get:function(){return f},set:function(a){f=a}},margin:{get:functi\
on(){return e},set:function(a){e.top=void 0!==a.top?a.top:e.top,e.right=void 0!\
==a.right?a.right:e.right,e.bottom=void 0!==a.bottom?a.bottom:e.bottom,e.left=v\
oid 0!==a.left?a.left:e.left}},duration:{get:function(){return p},set:function(\
a){p=a,s.reset(p)}},scale:{get:function(){return d},set:function(e){d=e,c.scale\
(d),m=\"function\"==typeof d.rangeBands,a.utils.inheritOptionsD3(b,d,[\"domain\",\"r\
ange\",\"rangeBand\",\"rangeBands\"])}}}),a.utils.initOptions(b),a.utils.inheritOpti\
onsD3(b,c,[\"orient\",\"tickValues\",\"tickSubdivide\",\"tickSize\",\"tickPadding\",\"tick\
Format\"]),a.utils.inheritOptionsD3(b,d,[\"domain\",\"range\",\"rangeBand\",\"rangeBand\
s\"]),b},a.models.boxPlot=function(){\"use strict\";function b(l){return v.reset()\
,l.each(function(b){var l=j-i.left-i.right,p=k-i.top-i.bottom;r=d3.select(this)\
,a.utils.initSVG(r),m.domain(c||b.map(function(a,b){return o(a,b)})).rangeBands\
(e||[0,l],.1);var w=[];if(!d){var x=d3.min(b.map(function(a){var b=[];return b.\
push(a.values.Q1),a.values.hasOwnProperty(\"whisker_low\")&&null!==a.values.whisk\
er_low&&b.push(a.values.whisker_low),a.values.hasOwnProperty(\"outliers\")&&null!\
==a.values.outliers&&(b=b.concat(a.values.outliers)),d3.min(b)})),y=d3.max(b.ma\
p(function(a){var b=[];return b.push(a.values.Q3),a.values.hasOwnProperty(\"whis\
ker_high\")&&null!==a.values.whisker_high&&b.push(a.values.whisker_high),a.value\
s.hasOwnProperty(\"outliers\")&&null!==a.values.outliers&&(b=b.concat(a.values.ou\
tliers)),d3.max(b)}));w=[x,y]}n.domain(d||w),n.range(f||[p,0]),g=g||m,h=h||n.co\
py().range([n(0),n(0)]);var z=r.selectAll(\"g.nv-wrap\").data([b]);z.enter().appe\
nd(\"g\").attr(\"class\",\"nvd3 nv-wrap\");z.attr(\"transform\",\"translate(\"+i.left+\",\"\
+i.top+\")\");var A=z.selectAll(\".nv-boxplot\").data(function(a){return a}),B=A.en\
ter().append(\"g\").style(\"stroke-opacity\",1e-6).style(\"fill-opacity\",1e-6);A.att\
r(\"class\",\"nv-boxplot\").attr(\"transform\",function(a,b,c){return\"translate(\"+(m(\
o(a,b))+.05*m.rangeBand())+\", 0)\"}).classed(\"hover\",function(a){return a.hover}\
),A.watchTransition(v,\"nv-boxplot: boxplots\").style(\"stroke-opacity\",1).style(\"\
fill-opacity\",.75).delay(function(a,c){return c*t/b.length}).attr(\"transform\",f\
unction(a,b){return\"translate(\"+(m(o(a,b))+.05*m.rangeBand())+\", 0)\"}),A.exit()\
.remove(),B.each(function(a,b){var c=d3.select(this);[\"low\",\"high\"].forEach(fun\
ction(d){a.values.hasOwnProperty(\"whisker_\"+d)&&null!==a.values[\"whisker_\"+d]&&\
(c.append(\"line\").style(\"stroke\",a.color?a.color:q(a,b)).attr(\"class\",\"nv-boxpl\
ot-whisker nv-boxplot-\"+d),c.append(\"line\").style(\"stroke\",a.color?a.color:q(a,\
b)).attr(\"class\",\"nv-boxplot-tick nv-boxplot-\"+d))})});var C=A.selectAll(\".nv-b\
oxplot-outlier\").data(function(a){return a.values.hasOwnProperty(\"outliers\")&&n\
ull!==a.values.outliers?a.values.outliers:[]});C.enter().append(\"circle\").style\
(\"fill\",function(a,b,c){return q(a,c)}).style(\"stroke\",function(a,b,c){return q\
(a,c)}).on(\"mouseover\",function(a,b,c){d3.select(this).classed(\"hover\",!0),s.el\
ementMouseover({series:{key:a,color:q(a,c)},e:d3.event})}).on(\"mouseout\",functi\
on(a,b,c){d3.select(this).classed(\"hover\",!1),s.elementMouseout({series:{key:a,\
color:q(a,c)},e:d3.event})}).on(\"mousemove\",function(a,b){s.elementMousemove({e\
:d3.event})}),C.attr(\"class\",\"nv-boxplot-outlier\"),C.watchTransition(v,\"nv-boxp\
lot: nv-boxplot-outlier\").attr(\"cx\",.45*m.rangeBand()).attr(\"cy\",function(a,b,c\
){return n(a)}).attr(\"r\",\"3\"),C.exit().remove();var D=function(){return null===\
u?.9*m.rangeBand():Math.min(75,.9*m.rangeBand())},E=function(){return.45*m.rang\
eBand()-D()/2},F=function(){return.45*m.rangeBand()+D()/2};[\"low\",\"high\"].forEa\
ch(function(a){var b=\"low\"===a?\"Q1\":\"Q3\";A.select(\"line.nv-boxplot-whisker.nv-b\
oxplot-\"+a).watchTransition(v,\"nv-boxplot: boxplots\").attr(\"x1\",.45*m.rangeBand\
()).attr(\"y1\",function(b,c){return n(b.values[\"whisker_\"+a])}).attr(\"x2\",.45*m.\
rangeBand()).attr(\"y2\",function(a,c){return n(a.values[b])}),A.select(\"line.nv-\
boxplot-tick.nv-boxplot-\"+a).watchTransition(v,\"nv-boxplot: boxplots\").attr(\"x1\
\",E).attr(\"y1\",function(b,c){return n(b.values[\"whisker_\"+a])}).attr(\"x2\",F).at\
tr(\"y2\",function(b,c){return n(b.values[\"whisker_\"+a])})}),[\"low\",\"high\"].forEa\
ch(function(a){B.selectAll(\".nv-boxplot-\"+a).on(\"mouseover\",function(b,c,d){d3.\
select(this).classed(\"hover\",!0),s.elementMouseover({series:{key:b.values[\"whis\
ker_\"+a],color:q(b,d)},e:d3.event})}).on(\"mouseout\",function(b,c,d){d3.select(t\
his).classed(\"hover\",!1),s.elementMouseout({series:{key:b.values[\"whisker_\"+a],\
color:q(b,d)},e:d3.event})}).on(\"mousemove\",function(a,b){s.elementMousemove({e\
:d3.event})})}),B.append(\"rect\").attr(\"class\",\"nv-boxplot-box\").on(\"mouseover\",\
function(a,b){d3.select(this).classed(\"hover\",!0),s.elementMouseover({key:a.lab\
el,value:a.label,series:[{key:\"Q3\",value:a.values.Q3,color:a.color||q(a,b)},{ke\
y:\"Q2\",value:a.values.Q2,color:a.color||q(a,b)},{key:\"Q1\",value:a.values.Q1,col\
or:a.color||q(a,b)}],data:a,index:b,e:d3.event})}).on(\"mouseout\",function(a,b){\
d3.select(this).classed(\"hover\",!1),s.elementMouseout({key:a.label,value:a.labe\
l,series:[{key:\"Q3\",value:a.values.Q3,color:a.color||q(a,b)},{key:\"Q2\",value:a.\
values.Q2,color:a.color||q(a,b)},{key:\"Q1\",value:a.values.Q1,color:a.color||q(a\
,b)}],data:a,index:b,e:d3.event})}).on(\"mousemove\",function(a,b){s.elementMouse\
move({e:d3.event})}),A.select(\"rect.nv-boxplot-box\").watchTransition(v,\"nv-boxp\
lot: boxes\").attr(\"y\",function(a,b){return n(a.values.Q3)}).attr(\"width\",D).att\
r(\"x\",E).attr(\"height\",function(a,b){return Math.abs(n(a.values.Q3)-n(a.values.\
Q1))||1}).style(\"fill\",function(a,b){return a.color||q(a,b)}).style(\"stroke\",fu\
nction(a,b){return a.color||q(a,b)}),B.append(\"line\").attr(\"class\",\"nv-boxplot-\
median\"),A.select(\"line.nv-boxplot-median\").watchTransition(v,\"nv-boxplot: boxp\
lots line\").attr(\"x1\",E).attr(\"y1\",function(a,b){return n(a.values.Q2)}).attr(\"\
x2\",F).attr(\"y2\",function(a,b){return n(a.values.Q2)}),g=m.copy(),h=n.copy()}),\
v.renderEnd(\"nv-boxplot immediate\"),b}var c,d,e,f,g,h,i={top:0,right:0,bottom:0\
,left:0},j=960,k=500,l=Math.floor(1e4*Math.random()),m=d3.scale.ordinal(),n=d3.\
scale.linear(),o=function(a){return a.x},p=function(a){return a.y},q=a.utils.de\
faultColor(),r=null,s=d3.dispatch(\"elementMouseover\",\"elementMouseout\",\"element\
Mousemove\",\"renderEnd\"),t=250,u=null,v=a.utils.renderWatch(s,t);return b.dispat\
ch=s,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{width:{\
get:function(){return j},set:function(a){j=a}},height:{get:function(){return k}\
,set:function(a){k=a}},maxBoxWidth:{get:function(){return u},set:function(a){u=\
a}},x:{get:function(){return o},set:function(a){o=a}},y:{get:function(){return \
p},set:function(a){p=a}},xScale:{get:function(){return m},set:function(a){m=a}}\
,yScale:{get:function(){return n},set:function(a){n=a}},xDomain:{get:function()\
{return c},set:function(a){c=a}},yDomain:{get:function(){return d},set:function\
(a){d=a}},xRange:{get:function(){return e},set:function(a){e=a}},yRange:{get:fu\
nction(){return f},set:function(a){f=a}},id:{get:function(){return l},set:funct\
ion(a){l=a}},margin:{get:function(){return i},set:function(a){i.top=void 0!==a.\
top?a.top:i.top,i.right=void 0!==a.right?a.right:i.right,i.bottom=void 0!==a.bo\
ttom?a.bottom:i.bottom,i.left=void 0!==a.left?a.left:i.left}},color:{get:functi\
on(){return q},set:function(b){q=a.utils.getColor(b)}},duration:{get:function()\
{return t},set:function(a){t=a,v.reset(t)}}}),a.utils.initOptions(b),b},a.model\
s.boxPlotChart=function(){\"use strict\";function b(k){return t.reset(),t.models(\
e),l&&t.models(f),m&&t.models(g),k.each(function(k){var p=d3.select(this);a.uti\
ls.initSVG(p);var t=(i||parseInt(p.style(\"width\"))||960)-h.left-h.right,u=(j||p\
arseInt(p.style(\"height\"))||400)-h.top-h.bottom;if(b.update=function(){r.before\
Update(),
p.transition().duration(s).call(b)},b.container=this,!(k&&k.length&&k.filter(fu\
nction(a){return a.values.hasOwnProperty(\"Q1\")&&a.values.hasOwnProperty(\"Q2\")&&\
a.values.hasOwnProperty(\"Q3\")}).length)){var v=p.selectAll(\".nv-noData\").data([\
q]);return v.enter().append(\"text\").attr(\"class\",\"nvd3 nv-noData\").attr(\"dy\",\"-\
.7em\").style(\"text-anchor\",\"middle\"),v.attr(\"x\",h.left+t/2).attr(\"y\",h.top+u/2)\
.text(function(a){return a}),b}p.selectAll(\".nv-noData\").remove(),c=e.xScale(),\
d=e.yScale().clamp(!0);var w=p.selectAll(\"g.nv-wrap.nv-boxPlotWithAxes\").data([\
k]),x=w.enter().append(\"g\").attr(\"class\",\"nvd3 nv-wrap nv-boxPlotWithAxes\").app\
end(\"g\"),y=x.append(\"defs\"),z=w.select(\"g\");x.append(\"g\").attr(\"class\",\"nv-x nv\
-axis\"),x.append(\"g\").attr(\"class\",\"nv-y nv-axis\").append(\"g\").attr(\"class\",\"nv\
-zeroLine\").append(\"line\"),x.append(\"g\").attr(\"class\",\"nv-barsWrap\"),z.attr(\"tr\
ansform\",\"translate(\"+h.left+\",\"+h.top+\")\"),n&&z.select(\".nv-y.nv-axis\").attr(\"\
transform\",\"translate(\"+t+\",0)\"),e.width(t).height(u);var A=z.select(\".nv-barsW\
rap\").datum(k.filter(function(a){return!a.disabled}));if(A.transition().call(e)\
,y.append(\"clipPath\").attr(\"id\",\"nv-x-label-clip-\"+e.id()).append(\"rect\"),z.sel\
ect(\"#nv-x-label-clip-\"+e.id()+\" rect\").attr(\"width\",c.rangeBand()*(o?2:1)).att\
r(\"height\",16).attr(\"x\",-c.rangeBand()/(o?1:2)),l){f.scale(c).ticks(a.utils.cal\
cTicksX(t/100,k)).tickSize(-u,0),z.select(\".nv-x.nv-axis\").attr(\"transform\",\"tr\
anslate(0,\"+d.range()[0]+\")\"),z.select(\".nv-x.nv-axis\").call(f);var B=z.select(\
\".nv-x.nv-axis\").selectAll(\"g\");o&&B.selectAll(\"text\").attr(\"transform\",functio\
n(a,b,c){return\"translate(0,\"+(c%2==0?\"5\":\"17\")+\")\"})}m&&(g.scale(d).ticks(Math\
.floor(u/36)).tickSize(-t,0),z.select(\".nv-y.nv-axis\").call(g)),z.select(\".nv-z\
eroLine line\").attr(\"x1\",0).attr(\"x2\",t).attr(\"y1\",d(0)).attr(\"y2\",d(0))}),t.re\
nderEnd(\"nv-boxplot chart immediate\"),b}var c,d,e=a.models.boxPlot(),f=a.models\
.axis(),g=a.models.axis(),h={top:15,right:10,bottom:50,left:60},i=null,j=null,k\
=a.utils.getColor(),l=!0,m=!0,n=!1,o=!1,p=a.models.tooltip(),q=\"No Data Availab\
le.\",r=d3.dispatch(\"beforeUpdate\",\"renderEnd\"),s=250;f.orient(\"bottom\").showMax\
Min(!1).tickFormat(function(a){return a}),g.orient(n?\"right\":\"left\").tickFormat\
(d3.format(\",.1f\")),p.duration(0);var t=a.utils.renderWatch(r,s);return e.dispa\
tch.on(\"elementMouseover.tooltip\",function(a){p.data(a).hidden(!1)}),e.dispatch\
.on(\"elementMouseout.tooltip\",function(a){p.data(a).hidden(!0)}),e.dispatch.on(\
\"elementMousemove.tooltip\",function(a){p()}),b.dispatch=r,b.boxplot=e,b.xAxis=f\
,b.yAxis=g,b.tooltip=p,b.options=a.utils.optionsFunc.bind(b),b._options=Object.\
create({},{width:{get:function(){return i},set:function(a){i=a}},height:{get:fu\
nction(){return j},set:function(a){j=a}},staggerLabels:{get:function(){return o\
},set:function(a){o=a}},showXAxis:{get:function(){return l},set:function(a){l=a\
}},showYAxis:{get:function(){return m},set:function(a){m=a}},tooltipContent:{ge\
t:function(){return p},set:function(a){p=a}},noData:{get:function(){return q},s\
et:function(a){q=a}},margin:{get:function(){return h},set:function(a){h.top=voi\
d 0!==a.top?a.top:h.top,h.right=void 0!==a.right?a.right:h.right,h.bottom=void \
0!==a.bottom?a.bottom:h.bottom,h.left=void 0!==a.left?a.left:h.left}},duration:\
{get:function(){return s},set:function(a){s=a,t.reset(s),e.duration(s),f.durati\
on(s),g.duration(s)}},color:{get:function(){return k},set:function(b){k=a.utils\
.getColor(b),e.color(k)}},rightAlignYAxis:{get:function(){return n},set:functio\
n(a){n=a,g.orient(a?\"right\":\"left\")}}}),a.utils.inheritOptions(b,e),a.utils.ini\
tOptions(b),b},a.models.bullet=function(){\"use strict\";function b(d){return d.e\
ach(function(b,d){var p=m-c.left-c.right,s=n-c.top-c.bottom;o=d3.select(this),a\
.utils.initSVG(o);var t=f.call(this,b,d).slice().sort(d3.descending),u=g.call(t\
his,b,d).slice().sort(d3.descending),v=h.call(this,b,d).slice().sort(d3.descend\
ing),w=i.call(this,b,d).slice(),x=j.call(this,b,d).slice(),y=k.call(this,b,d).s\
lice(),z=d3.scale.linear().domain(d3.extent(d3.merge([l,t]))).range(e?[p,0]:[0,\
p]);this.__chart__||d3.scale.linear().domain([0,1/0]).range(z.range());this.__c\
hart__=z;var A=d3.min(t),B=d3.max(t),C=t[1],D=o.selectAll(\"g.nv-wrap.nv-bullet\"\
).data([b]),E=D.enter().append(\"g\").attr(\"class\",\"nvd3 nv-wrap nv-bullet\"),F=E.\
append(\"g\"),G=D.select(\"g\");F.append(\"rect\").attr(\"class\",\"nv-range nv-rangeMax\
\"),F.append(\"rect\").attr(\"class\",\"nv-range nv-rangeAvg\"),F.append(\"rect\").attr(\
\"class\",\"nv-range nv-rangeMin\"),F.append(\"rect\").attr(\"class\",\"nv-measure\"),D.a\
ttr(\"transform\",\"translate(\"+c.left+\",\"+c.top+\")\");var H=function(a){return Mat\
h.abs(z(a)-z(0))},I=function(a){return z(0>a?a:0)};G.select(\"rect.nv-rangeMax\")\
.attr(\"height\",s).attr(\"width\",H(B>0?B:A)).attr(\"x\",I(B>0?B:A)).datum(B>0?B:A),\
G.select(\"rect.nv-rangeAvg\").attr(\"height\",s).attr(\"width\",H(C)).attr(\"x\",I(C))\
.datum(C),G.select(\"rect.nv-rangeMin\").attr(\"height\",s).attr(\"width\",H(B)).attr\
(\"x\",I(B)).attr(\"width\",H(B>0?A:B)).attr(\"x\",I(B>0?A:B)).datum(B>0?A:B),G.selec\
t(\"rect.nv-measure\").style(\"fill\",q).attr(\"height\",s/3).attr(\"y\",s/3).attr(\"wid\
th\",0>v?z(0)-z(v[0]):z(v[0])-z(0)).attr(\"x\",I(v)).on(\"mouseover\",function(){r.e\
lementMouseover({value:v[0],label:y[0]||\"Current\",color:d3.select(this).style(\"\
fill\")})}).on(\"mousemove\",function(){r.elementMousemove({value:v[0],label:y[0]|\
|\"Current\",color:d3.select(this).style(\"fill\")})}).on(\"mouseout\",function(){r.e\
lementMouseout({value:v[0],label:y[0]||\"Current\",color:d3.select(this).style(\"f\
ill\")})});var J=s/6,K=u.map(function(a,b){return{value:a,label:x[b]}});F.select\
All(\"path.nv-markerTriangle\").data(K).enter().append(\"path\").attr(\"class\",\"nv-m\
arkerTriangle\").attr(\"d\",\"M0,\"+J+\"L\"+J+\",\"+-J+\" \"+-J+\",\"+-J+\"Z\").on(\"mouseover\"\
,function(a){r.elementMouseover({value:a.value,label:a.label||\"Previous\",color:\
d3.select(this).style(\"fill\"),pos:[z(a.value),s/2]})}).on(\"mousemove\",function(\
a){r.elementMousemove({value:a.value,label:a.label||\"Previous\",color:d3.select(\
this).style(\"fill\")})}).on(\"mouseout\",function(a,b){r.elementMouseout({value:a.\
value,label:a.label||\"Previous\",color:d3.select(this).style(\"fill\")})}),G.selec\
tAll(\"path.nv-markerTriangle\").data(K).attr(\"transform\",function(a){return\"tran\
slate(\"+z(a.value)+\",\"+s/2+\")\"}),D.selectAll(\".nv-range\").on(\"mouseover\",functi\
on(a,b){var c=w[b]||(b?1==b?\"Mean\":\"Minimum\":\"Maximum\");r.elementMouseover({val\
ue:a,label:c,color:d3.select(this).style(\"fill\")})}).on(\"mousemove\",function(){\
r.elementMousemove({value:v[0],label:y[0]||\"Previous\",color:d3.select(this).sty\
le(\"fill\")})}).on(\"mouseout\",function(a,b){var c=w[b]||(b?1==b?\"Mean\":\"Minimum\"\
:\"Maximum\");r.elementMouseout({value:a,label:c,color:d3.select(this).style(\"fil\
l\")})})}),b}var c={top:0,right:0,bottom:0,left:0},d=\"left\",e=!1,f=function(a){r\
eturn a.ranges},g=function(a){return a.markers?a.markers:[]},h=function(a){retu\
rn a.measures},i=function(a){return a.rangeLabels?a.rangeLabels:[]},j=function(\
a){return a.markerLabels?a.markerLabels:[]},k=function(a){return a.measureLabel\
s?a.measureLabels:[]},l=[0],m=380,n=30,o=null,p=null,q=a.utils.getColor([\"#1f77\
b4\"]),r=d3.dispatch(\"elementMouseover\",\"elementMouseout\",\"elementMousemove\");re\
turn b.dispatch=r,b.options=a.utils.optionsFunc.bind(b),b._options=Object.creat\
e({},{ranges:{get:function(){return f},set:function(a){f=a}},markers:{get:funct\
ion(){return g},set:function(a){g=a}},measures:{get:function(){return h},set:fu\
nction(a){h=a}},forceX:{get:function(){return l},set:function(a){l=a}},width:{g\
et:function(){return m},set:function(a){m=a}},height:{get:function(){return n},\
set:function(a){n=a}},tickFormat:{get:function(){return p},set:function(a){p=a}\
},margin:{get:function(){return c},set:function(a){c.top=void 0!==a.top?a.top:c\
.top,c.right=void 0!==a.right?a.right:c.right,c.bottom=void 0!==a.bottom?a.bott\
om:c.bottom,c.left=void 0!==a.left?a.left:c.left}},orient:{get:function(){retur\
n d},set:function(a){d=a,e=\"right\"==d||\"bottom\"==d}},color:{get:function(){retu\
rn q},set:function(b){q=a.utils.getColor(b)}}}),a.utils.initOptions(b),b},a.mod\
els.bulletChart=function(){\"use strict\";function b(d){return d.each(function(e,\
o){var p=d3.select(this);a.utils.initSVG(p);var q=a.utils.availableWidth(k,p,g)\
,r=l-g.top-g.bottom;if(b.update=function(){b(d)},b.container=this,!e||!h.call(t\
his,e,o))return a.utils.noData(b,p),b;p.selectAll(\".nv-noData\").remove();var s=\
h.call(this,e,o).slice().sort(d3.descending),t=i.call(this,e,o).slice().sort(d3\
.descending),u=j.call(this,e,o).slice().sort(d3.descending),v=p.selectAll(\"g.nv\
-wrap.nv-bulletChart\").data([e]),w=v.enter().append(\"g\").attr(\"class\",\"nvd3 nv-\
wrap nv-bulletChart\"),x=w.append(\"g\"),y=v.select(\"g\");x.append(\"g\").attr(\"class\
\",\"nv-bulletWrap\"),x.append(\"g\").attr(\"class\",\"nv-titles\"),v.attr(\"transform\",\"\
translate(\"+g.left+\",\"+g.top+\")\");var z=d3.scale.linear().domain([0,Math.max(s[\
0],t[0]||0,u[0])]).range(f?[q,0]:[0,q]),A=this.__chart__||d3.scale.linear().dom\
ain([0,1/0]).range(z.range());this.__chart__=z;var B=x.select(\".nv-titles\").app\
end(\"g\").attr(\"text-anchor\",\"end\").attr(\"transform\",\"translate(-6,\"+(l-g.top-g.\
bottom)/2+\")\");B.append(\"text\").attr(\"class\",\"nv-title\").text(function(a){retur\
n a.title}),B.append(\"text\").attr(\"class\",\"nv-subtitle\").attr(\"dy\",\"1em\").text(\
function(a){return a.subtitle}),c.width(q).height(r);var C=y.select(\".nv-bullet\
Wrap\");d3.transition(C).call(c);var D=m||z.tickFormat(q/100),E=y.selectAll(\"g.n\
v-tick\").data(z.ticks(n?n:q/50),function(a){return this.textContent||D(a)}),F=E\
.enter().append(\"g\").attr(\"class\",\"nv-tick\").attr(\"transform\",function(a){retur\
n\"translate(\"+A(a)+\",0)\"}).style(\"opacity\",1e-6);F.append(\"line\").attr(\"y1\",r).\
attr(\"y2\",7*r/6),F.append(\"text\").attr(\"text-anchor\",\"middle\").attr(\"dy\",\"1em\")\
.attr(\"y\",7*r/6).text(D);var G=d3.transition(E).attr(\"transform\",function(a){re\
turn\"translate(\"+z(a)+\",0)\"}).style(\"opacity\",1);G.select(\"line\").attr(\"y1\",r).\
attr(\"y2\",7*r/6),G.select(\"text\").attr(\"y\",7*r/6),d3.transition(E.exit()).attr(\
\"transform\",function(a){return\"translate(\"+z(a)+\",0)\"}).style(\"opacity\",1e-6).r\
emove()}),d3.timer.flush(),b}var c=a.models.bullet(),d=a.models.tooltip(),e=\"le\
ft\",f=!1,g={top:5,right:40,bottom:20,left:120},h=function(a){return a.ranges},i\
=function(a){return a.markers?a.markers:[]},j=function(a){return a.measures},k=\
null,l=55,m=null,n=null,o=null,p=d3.dispatch();return d.duration(0).headerEnabl\
ed(!1),c.dispatch.on(\"elementMouseover.tooltip\",function(a){a.series={key:a.lab\
el,value:a.value,color:a.color},d.data(a).hidden(!1)}),c.dispatch.on(\"elementMo\
useout.tooltip\",function(a){d.hidden(!0)}),c.dispatch.on(\"elementMousemove.tool\
tip\",function(a){d()}),b.bullet=c,b.dispatch=p,b.tooltip=d,b.options=a.utils.op\
tionsFunc.bind(b),b._options=Object.create({},{ranges:{get:function(){return h}\
,set:function(a){h=a}},markers:{get:function(){return i},set:function(a){i=a}},\
measures:{get:function(){return j},set:function(a){j=a}},width:{get:function(){\
return k},set:function(a){k=a}},height:{get:function(){return l},set:function(a\
){l=a}},tickFormat:{get:function(){return m},set:function(a){m=a}},ticks:{get:f\
unction(){return n},set:function(a){n=a}},noData:{get:function(){return o},set:\
function(a){o=a}},margin:{get:function(){return g},set:function(a){g.top=void 0\
!==a.top?a.top:g.top,g.right=void 0!==a.right?a.right:g.right,g.bottom=void 0!=\
=a.bottom?a.bottom:g.bottom,g.left=void 0!==a.left?a.left:g.left}},orient:{get:\
function(){return e},set:function(a){e=a,f=\"right\"==e||\"bottom\"==e}}}),a.utils.\
inheritOptions(b,c),a.utils.initOptions(b),b},a.models.candlestickBar=function(\
){\"use strict\";function b(x){return x.each(function(b){c=d3.select(this);var x=\
a.utils.availableWidth(i,c,h),y=a.utils.availableHeight(j,c,h);a.utils.initSVG(\
c);var A=x/b[0].values.length*.45;l.domain(d||d3.extent(b[0].values.map(n).conc\
at(t))),v?l.range(f||[.5*x/b[0].values.length,x*(b[0].values.length-.5)/b[0].va\
lues.length]):l.range(f||[5+A/2,x-A/2-5]),m.domain(e||[d3.min(b[0].values.map(s\
).concat(u)),d3.max(b[0].values.map(r).concat(u))]).range(g||[y,0]),l.domain()[\
0]===l.domain()[1]&&(l.domain()[0]?l.domain([l.domain()[0]-.01*l.domain()[0],l.\
domain()[1]+.01*l.domain()[1]]):l.domain([-1,1])),m.domain()[0]===m.domain()[1]\
&&(m.domain()[0]?m.domain([m.domain()[0]+.01*m.domain()[0],m.domain()[1]-.01*m.\
domain()[1]]):m.domain([-1,1]));var B=d3.select(this).selectAll(\"g.nv-wrap.nv-c\
andlestickBar\").data([b[0].values]),C=B.enter().append(\"g\").attr(\"class\",\"nvd3 \
nv-wrap nv-candlestickBar\"),D=C.append(\"defs\"),E=C.append(\"g\"),F=B.select(\"g\");\
E.append(\"g\").attr(\"class\",\"nv-ticks\"),B.attr(\"transform\",\"translate(\"+h.left+\"\
,\"+h.top+\")\"),c.on(\"click\",function(a,b){z.chartClick({data:a,index:b,pos:d3.ev\
ent,id:k})}),D.append(\"clipPath\").attr(\"id\",\"nv-chart-clip-path-\"+k).append(\"re\
ct\"),B.select(\"#nv-chart-clip-path-\"+k+\" rect\").attr(\"width\",x).attr(\"height\",y\
),F.attr(\"clip-path\",w?\"url(#nv-chart-clip-path-\"+k+\")\":\"\");var G=B.select(\".nv\
-ticks\").selectAll(\".nv-tick\").data(function(a){return a});G.exit().remove();va\
r H=G.enter().append(\"g\");G.attr(\"class\",function(a,b,c){return(p(a,b)>q(a,b)?\"\
nv-tick negative\":\"nv-tick positive\")+\" nv-tick-\"+c+\"-\"+b});H.append(\"line\").at\
tr(\"class\",\"nv-candlestick-lines\").attr(\"transform\",function(a,b){return\"transl\
ate(\"+l(n(a,b))+\",0)\"}).attr(\"x1\",0).attr(\"y1\",function(a,b){return m(r(a,b))})\
.attr(\"x2\",0).attr(\"y2\",function(a,b){return m(s(a,b))}),H.append(\"rect\").attr(\
\"class\",\"nv-candlestick-rects nv-bars\").attr(\"transform\",function(a,b){return\"t\
ranslate(\"+(l(n(a,b))-A/2)+\",\"+(m(o(a,b))-(p(a,b)>q(a,b)?m(q(a,b))-m(p(a,b)):0)\
)+\")\"}).attr(\"x\",0).attr(\"y\",0).attr(\"width\",A).attr(\"height\",function(a,b){var\
 c=p(a,b),d=q(a,b);return c>d?m(d)-m(c):m(c)-m(d)});G.select(\".nv-candlestick-l\
ines\").transition().attr(\"transform\",function(a,b){return\"translate(\"+l(n(a,b))\
+\",0)\"}).attr(\"x1\",0).attr(\"y1\",function(a,b){return m(r(a,b))}).attr(\"x2\",0).a\
ttr(\"y2\",function(a,b){return m(s(a,b))}),G.select(\".nv-candlestick-rects\").tra\
nsition().attr(\"transform\",function(a,b){return\"translate(\"+(l(n(a,b))-A/2)+\",\"\
+(m(o(a,b))-(p(a,b)>q(a,b)?m(q(a,b))-m(p(a,b)):0))+\")\"}).attr(\"x\",0).attr(\"y\",0\
).attr(\"width\",A).attr(\"height\",function(a,b){var c=p(a,b),d=q(a,b);return c>d?\
m(d)-m(c):m(c)-m(d)})}),b}var c,d,e,f,g,h={top:0,right:0,bottom:0,left:0},i=nul\
l,j=null,k=Math.floor(1e4*Math.random()),l=d3.scale.linear(),m=d3.scale.linear(\
),n=function(a){return a.x},o=function(a){return a.y},p=function(a){return a.op\
en},q=function(a){return a.close},r=function(a){return a.high},s=function(a){re\
turn a.low},t=[],u=[],v=!1,w=!0,x=a.utils.defaultColor(),y=!1,z=d3.dispatch(\"st\
ateChange\",\"changeState\",\"renderEnd\",\"chartClick\",\"elementClick\",\"elementDblCli\
ck\",\"elementMouseover\",\"elementMouseout\",\"elementMousemove\");return b.highlight\
Point=function(a,d){b.clearHighlights(),c.select(\".nv-candlestickBar .nv-tick-0\
-\"+a).classed(\"hover\",d)},b.clearHighlights=function(){c.select(\".nv-candlestic\
kBar .nv-tick.hover\").classed(\"hover\",!1)},b.dispatch=z,b.options=a.utils.optio\
nsFunc.bind(b),b._options=Object.create({},{width:{get:function(){return i},set\
:function(a){i=a}},height:{get:function(){return j},set:function(a){j=a}},xScal\
e:{get:function(){return l},set:function(a){l=a}},yScale:{get:function(){return\
 m},set:function(a){m=a}},xDomain:{get:function(){return d},set:function(a){d=a\
}},yDomain:{get:function(){return e},set:function(a){e=a}},xRange:{get:function\
(){return f},set:function(a){f=a}},yRange:{get:function(){return g},set:functio\
n(a){g=a}},forceX:{get:function(){return t},set:function(a){t=a}},forceY:{get:f\
unction(){return u},set:function(a){u=a}},padData:{get:function(){return v},set\
:function(a){v=a}},clipEdge:{get:function(){return w},set:function(a){w=a}},id:\
{get:function(){return k},set:function(a){k=a}},interactive:{get:function(){ret\
urn y},set:function(a){y=a}},x:{get:function(){return n},set:function(a){n=a}},\
y:{get:function(){return o},set:function(a){o=a}},open:{get:function(){return p\
()},set:function(a){p=a}},close:{get:function(){return q()},set:function(a){q=a\
}},high:{get:function(){return r},set:function(a){r=a}},low:{get:function(){ret\
urn s},set:function(a){s=a}},margin:{get:function(){return h},set:function(a){h\
.top=void 0!=a.top?a.top:h.top,h.right=void 0!=a.right?a.right:h.right,h.bottom\
=void 0!=a.bottom?a.bottom:h.bottom,h.left=void 0!=a.left?a.left:h.left}},color\
:{get:function(){return x},set:function(b){x=a.utils.getColor(b)}}}),a.utils.in\
itOptions(b),b},a.models.cumulativeLineChart=function(){\"use strict\";function b\
(l){return H.reset(),H.models(f),r&&H.models(g),s&&H.models(h),l.each(function(\
l){function A(a,c){d3.select(b.container).style(\"cursor\",\"ew-resize\")}function \
E(a,b){G.x=d3.event.x,G.i=Math.round(F.invert(G.x)),K()}function H(a,c){d3.sele\
ct(b.container).style(\"cursor\",\"auto\"),y.index=G.i,C.stateChange(y)}function K(\
){ba.data([G]);var a=b.duration();b.duration(0),b.update(),b.duration(a)}var L=\
d3.select(this);a.utils.initSVG(L),L.classed(\"nv-chart-\"+x,!0);var M=this,N=a.u\
tils.availableWidth(o,L,m),O=a.utils.availableHeight(p,L,m);if(b.update=functio\
n(){0===D?L.call(b):L.transition().duration(D).call(b)},b.container=this,y.sett\
er(J(l),b.update).getter(I(l)).update(),y.disabled=l.map(function(a){return!!a.\
disabled}),!z){var P;z={};for(P in y)y[P]instanceof Array?z[P]=y[P].slice(0):z[\
P]=y[P]}var Q=d3.behavior.drag().on(\"dragstart\",A).on(\"drag\",E).on(\"dragend\",H)\
;if(!(l&&l.length&&l.filter(function(a){return a.values.length}).length))return\
 a.utils.noData(b,L),b;if(L.selectAll(\".nv-noData\").remove(),d=f.xScale(),e=f.y\
Scale(),w)f.yDomain(null);else{var R=l.filter(function(a){return!a.disabled}).m\
ap(function(a,b){var c=d3.extent(a.values,f.y());return c[0]<-.95&&(c[0]=-.95),\
[(c[0]-c[1])/(1+c[1]),(c[1]-c[0])/(1+c[0])]}),S=[d3.min(R,function(a){return a[\
0]}),d3.max(R,function(a){return a[1]})];f.yDomain(S)}F.domain([0,l[0].values.l\
ength-1]).range([0,N]).clamp(!0);var l=c(G.i,l),T=v?\"none\":\"all\",U=L.selectAll(\
\"g.nv-wrap.nv-cumulativeLine\").data([l]),V=U.enter().append(\"g\").attr(\"class\",\"\
nvd3 nv-wrap nv-cumulativeLine\").append(\"g\"),W=U.select(\"g\");if(V.append(\"g\").a\
ttr(\"class\",\"nv-interactive\"),V.append(\"g\").attr(\"class\",\"nv-x nv-axis\").style(\
\"pointer-events\",\"none\"),V.append(\"g\").attr(\"class\",\"nv-y nv-axis\"),V.append(\"g\
\").attr(\"class\",\"nv-background\"),V.append(\"g\").attr(\"class\",\"nv-linesWrap\").sty\
le(\"pointer-events\",T),V.append(\"g\").attr(\"class\",\"nv-avgLinesWrap\").style(\"poi\
nter-events\",\"none\"),V.append(\"g\").attr(\"class\",\"nv-legendWrap\"),V.append(\"g\").\
attr(\"class\",\"nv-controlsWrap\"),q&&(i.width(N),W.select(\".nv-legendWrap\").datum\
(l).call(i),m.top!=i.height()&&(m.top=i.height(),O=a.utils.availableHeight(p,L,\
m)),W.select(\".nv-legendWrap\").attr(\"transform\",\"translate(0,\"+-m.top+\")\")),u){\
var X=[{key:\"Re-scale y-axis\",disabled:!w}];j.width(140).color([\"#444\",\"#444\",\"\
#444\"]).rightAlign(!1).margin({top:5,right:0,bottom:5,left:20}),W.select(\".nv-c\
ontrolsWrap\").datum(X).attr(\"transform\",\"translate(0,\"+-m.top+\")\").call(j)}U.at\
tr(\"transform\",\"translate(\"+m.left+\",\"+m.top+\")\"),t&&W.select(\".nv-y.nv-axis\").\
attr(\"transform\",\"translate(\"+N+\",0)\");var Y=l.filter(function(a){return a.temp\
Disabled});U.select(\".tempDisabled\").remove(),Y.length&&U.append(\"text\").attr(\"\
class\",\"tempDisabled\").attr(\"x\",N/2).attr(\"y\",\"-.71em\").style(\"text-anchor\",\"en\
d\").text(Y.map(function(a){return a.key}).join(\", \")+\" values cannot be calcula\
ted for this time period.\"),v&&(k.width(N).height(O).margin({left:m.left,top:m.\
top}).svgContainer(L).xScale(d),U.select(\".nv-interactive\").call(k)),V.select(\"\
.nv-background\").append(\"rect\"),W.select(\".nv-background rect\").attr(\"width\",N)\
.attr(\"height\",O),f.y(function(a){return a.display.y}).width(N).height(O).color\
(l.map(function(a,b){return a.color||n(a,b)}).filter(function(a,b){return!l[b].\
disabled&&!l[b].tempDisabled}));var Z=W.select(\".nv-linesWrap\").datum(l.filter(\
function(a){return!a.disabled&&!a.tempDisabled}));Z.call(f),l.forEach(function(\
a,b){a.seriesIndex=b});var $=l.filter(function(a){return!a.disabled&&!!B(a)}),_\
=W.select(\".nv-avgLinesWrap\").selectAll(\"line\").data($,function(a){return a.key\
}),aa=function(a){var b=e(B(a));return 0>b?0:b>O?O:b};_.enter().append(\"line\").\
style(\"stroke-width\",2).style(\"stroke-dasharray\",\"10,10\").style(\"stroke\",functi\
on(a,b){return f.color()(a,a.seriesIndex)}).attr(\"x1\",0).attr(\"x2\",N).attr(\"y1\"\
,aa).attr(\"y2\",aa),_.style(\"stroke-opacity\",function(a){var b=e(B(a));return 0>\
b||b>O?0:1}).attr(\"x1\",0).attr(\"x2\",N).attr(\"y1\",aa).attr(\"y2\",aa),_.exit().rem\
ove();var ba=Z.selectAll(\".nv-indexLine\").data([G]);ba.enter().append(\"rect\").a\
ttr(\"class\",\"nv-indexLine\").attr(\"width\",3).attr(\"x\",-2).attr(\"fill\",\"red\").att\
r(\"fill-opacity\",.5).style(\"pointer-events\",\"all\").call(Q),ba.attr(\"transform\",\
function(a){return\"translate(\"+F(a.i)+\",0)\"}).attr(\"height\",O),r&&(g.scale(d)._\
ticks(a.utils.calcTicksX(N/70,l)).tickSize(-O,0),W.select(\".nv-x.nv-axis\").attr\
(\"transform\",\"translate(0,\"+e.range()[0]+\")\"),W.select(\".nv-x.nv-axis\").call(g)\
),s&&(h.scale(e)._ticks(a.utils.calcTicksY(O/36,l)).tickSize(-N,0),W.select(\".n\
v-y.nv-axis\").call(h)),W.select(\".nv-background rect\").on(\"click\",function(){G.\
x=d3.mouse(this)[0],G.i=Math.round(F.invert(G.x)),y.index=G.i,C.stateChange(y),\
K()}),f.dispatch.on(\"elementClick\",function(a){G.i=a.pointIndex,G.x=F(G.i),y.in\
dex=G.i,C.stateChange(y),K()}),j.dispatch.on(\"legendClick\",function(a,c){a.disa\
bled=!a.disabled,w=!a.disabled,y.rescaleY=w,C.stateChange(y),b.update()}),i.dis\
patch.on(\"stateChange\",function(a){for(var c in a)y[c]=a[c];C.stateChange(y),b.\
update()}),k.dispatch.on(\"elementMousemove\",function(c){f.clearHighlights();var\
 d,e,i,j=[];if(l.filter(function(a,b){return a.seriesIndex=b,!a.disabled}).forE\
ach(function(g,h){e=a.interactiveBisect(g.values,c.pointXValue,b.x()),f.highlig\
htPoint(h,e,!0);var k=g.values[e];\"undefined\"!=typeof k&&(\"undefined\"==typeof d\
&&(d=k),\"undefined\"==typeof i&&(i=b.xScale()(b.x()(k,e))),j.push({key:g.key,val\
ue:b.y()(k,e),color:n(g,g.seriesIndex)}))}),j.length>2){var m=b.yScale().invert\
(c.mouseY),o=Math.abs(b.yScale().domain()[0]-b.yScale().domain()[1]),p=.03*o,q=\
a.nearestValueIndex(j.map(function(a){return a.value}),m,p);null!==q&&(j[q].hig\
hlight=!0)}var r=g.tickFormat()(b.x()(d,e),e);k.tooltip.chartContainer(M.parent\
Node).valueFormatter(function(a,b){return h.tickFormat()(a)}).data({value:r,ser\
ies:j})(),k.renderGuideLine(i)}),k.dispatch.on(\"elementMouseout\",function(a){f.\
clearHighlights()}),C.on(\"changeState\",function(a){\"undefined\"!=typeof a.disabl\
ed&&(l.forEach(function(b,c){b.disabled=a.disabled[c]}),y.disabled=a.disabled),\
\"undefined\"!=typeof a.index&&(G.i=a.index,G.x=F(G.i),y.index=a.index,ba.data([G\
])),\"undefined\"!=typeof a.rescaleY&&(w=a.rescaleY),b.update()})}),H.renderEnd(\"\
cumulativeLineChart immediate\"),b}function c(a,b){return K||(K=f.y()),b.map(fun\
ction(b,c){if(!b.values)return b;var d=b.values[a];if(null==d)return b;var e=K(\
d,a);return-.95>e&&!E?(b.tempDisabled=!0,b):(b.tempDisabled=!1,b.values=b.value\
s.map(function(a,b){return a.display={y:(K(a,b)-e)/(1+e)},a}),b)})}var d,e,f=a.\
models.line(),g=a.models.axis(),h=a.models.axis(),i=a.models.legend(),j=a.model\
s.legend(),k=a.interactiveGuideline(),l=a.models.tooltip(),m={top:30,right:30,b\
ottom:50,left:60},n=a.utils.defaultColor(),o=null,p=null,q=!0,r=!0,s=!0,t=!1,u=\
!0,v=!1,w=!0,x=f.id(),y=a.utils.state(),z=null,A=null,B=function(a){return a.av\
erage},C=d3.dispatch(\"stateChange\",\"changeState\",\"renderEnd\"),D=250,E=!1;y.inde\
x=0,y.rescaleY=w,g.orient(\"bottom\").tickPadding(7),h.orient(t?\"right\":\"left\"),l\
.valueFormatter(function(a,b){return h.tickFormat()(a,b)}).headerFormatter(func\
tion(a,b){return g.tickFormat()(a,b)}),j.updateState(!1);var F=d3.scale.linear(\
),G={i:0,x:0},H=a.utils.renderWatch(C,D),I=function(a){return function(){return\
{active:a.map(function(a){return!a.disabled}),index:G.i,rescaleY:w}}},J=functio\
n(a){return function(b){void 0!==b.index&&(G.i=b.index),void 0!==b.rescaleY&&(w\
=b.rescaleY),void 0!==b.active&&a.forEach(function(a,c){a.disabled=!b.active[c]\
})}};f.dispatch.on(\"elementMouseover.tooltip\",function(a){var c={x:b.x()(a.poin\
t),y:b.y()(a.point),color:a.point.color};a.point=c,l.data(a).hidden(!1)}),f.dis\
patch.on(\"elementMouseout.tooltip\",function(a){l.hidden(!0)});var K=null;return\
 b.dispatch=C,b.lines=f,b.legend=i,b.controls=j,b.xAxis=g,b.yAxis=h,b.interacti\
veLayer=k,b.state=y,b.tooltip=l,b.options=a.utils.optionsFunc.bind(b),b._option\
s=Object.create({},{width:{get:function(){return o},set:function(a){o=a}},heigh\
t:{get:function(){return p},set:function(a){p=a}},rescaleY:{get:function(){retu\
rn w},set:function(a){w=a}},showControls:{get:function(){return u},set:function\
(a){u=a}},showLegend:{get:function(){return q},set:function(a){q=a}},average:{g\
et:function(){return B},set:function(a){B=a}},defaultState:{get:function(){retu\
rn z},set:function(a){z=a}},noData:{get:function(){return A},set:function(a){A=\
a}},showXAxis:{get:function(){return r},set:function(a){r=a}},showYAxis:{get:fu\
nction(){return s},set:function(a){s=a}},noErrorCheck:{get:function(){return E}\
,set:function(a){E=a}},margin:{get:function(){return m},set:function(a){m.top=v\
oid 0!==a.top?a.top:m.top,m.right=void 0!==a.right?a.right:m.right,m.bottom=voi\
d 0!==a.bottom?a.bottom:m.bottom,m.left=void 0!==a.left?a.left:m.left}},color:{\
get:function(){return n},set:function(b){n=a.utils.getColor(b),i.color(n)}},use\
InteractiveGuideline:{get:function(){return v},set:function(a){v=a,a===!0&&(b.i\
nteractive(!1),b.useVoronoi(!1))}},rightAlignYAxis:{get:function(){return t},se\
t:function(a){t=a,h.orient(a?\"right\":\"left\")}},duration:{get:function(){return \
D},set:function(a){D=a,f.duration(D),g.duration(D),h.duration(D),H.reset(D)}}})\
,a.utils.inheritOptions(b,f),a.utils.initOptions(b),b},a.models.discreteBar=fun\
ction(){\"use strict\";function b(m){return y.reset(),m.each(function(b){var m=k-\
j.left-j.right,x=l-j.top-j.bottom;c=d3.select(this),a.utils.initSVG(c),b.forEac\
h(function(a,b){a.values.forEach(function(a){a.series=b})});var z=d&&e?[]:b.map\
(function(a){return a.values.map(function(a,b){return{x:p(a,b),y:q(a,b),y0:a.y0\
}})});n.domain(d||d3.merge(z).map(function(a){return a.x})).rangeBands(f||[0,m]\
,.1),o.domain(e||d3.extent(d3.merge(z).map(function(a){return a.y}).concat(r)))\
,t?o.range(g||[x-(o.domain()[0]<0?12:0),o.domain()[1]>0?12:0]):o.range(g||[x,0]\
),h=h||n,i=i||o.copy().range([o(0),o(0)]);var A=c.selectAll(\"g.nv-wrap.nv-discr\
etebar\").data([b]),B=A.enter().append(\"g\").attr(\"class\",\"nvd3 nv-wrap nv-discre\
tebar\"),C=B.append(\"g\");A.select(\"g\");C.append(\"g\").attr(\"class\",\"nv-groups\"),A\
.attr(\"transform\",\"translate(\"+j.left+\",\"+j.top+\")\");var D=A.select(\".nv-groups\
\").selectAll(\".nv-group\").data(function(a){return a},function(a){return a.key})\
;D.enter().append(\"g\").style(\"stroke-opacity\",1e-6).style(\"fill-opacity\",1e-6),\
D.exit().watchTransition(y,\"discreteBar: exit groups\").style(\"stroke-opacity\",1\
e-6).style(\"fill-opacity\",1e-6).remove(),D.attr(\"class\",function(a,b){return\"nv\
-group nv-series-\"+b}).classed(\"hover\",function(a){return a.hover}),D.watchTran\
sition(y,\"discreteBar: groups\").style(\"stroke-opacity\",1).style(\"fill-opacity\",\
.75);var E=D.selectAll(\"g.nv-bar\").data(function(a){return a.values});E.exit().\
remove();var F=E.enter().append(\"g\").attr(\"transform\",function(a,b,c){return\"tr\
anslate(\"+(n(p(a,b))+.05*n.rangeBand())+\", \"+o(0)+\")\"}).on(\"mouseover\",function\
(a,b){d3.select(this).classed(\"hover\",!0),v.elementMouseover({data:a,index:b,co\
lor:d3.select(this).style(\"fill\")})}).on(\"mouseout\",function(a,b){d3.select(thi\
s).classed(\"hover\",!1),v.elementMouseout({data:a,index:b,color:d3.select(this).\
style(\"fill\")})}).on(\"mousemove\",function(a,b){v.elementMousemove({data:a,index\
:b,color:d3.select(this).style(\"fill\")})}).on(\"click\",function(a,b){var c=this;\
v.elementClick({data:a,index:b,color:d3.select(this).style(\"fill\"),event:d3.eve\
nt,element:c}),d3.event.stopPropagation()}).on(\"dblclick\",function(a,b){v.eleme\
ntDblClick({data:a,index:b,color:d3.select(this).style(\"fill\")}),d3.event.stopP\
ropagation()});F.append(\"rect\").attr(\"height\",0).attr(\"width\",.9*n.rangeBand()/\
b.length),t?(F.append(\"text\").attr(\"text-anchor\",\"middle\"),E.select(\"text\").tex\
t(function(a,b){return u(q(a,b))}).watchTransition(y,\"discreteBar: bars text\").\
attr(\"x\",.9*n.rangeBand()/2).attr(\"y\",function(a,b){return q(a,b)<0?o(q(a,b))-o\
(0)+12:-4})):E.selectAll(\"text\").remove(),E.attr(\"class\",function(a,b){return q\
(a,b)<0?\"nv-bar negative\":\"nv-bar positive\"}).style(\"fill\",function(a,b){return\
 a.color||s(a,b)}).style(\"stroke\",function(a,b){return a.color||s(a,b)}).select\
(\"rect\").attr(\"class\",w).watchTransition(y,\"discreteBar: bars rect\").attr(\"widt\
h\",.9*n.rangeBand()/b.length),E.watchTransition(y,\"discreteBar: bars\").attr(\"tr\
ansform\",function(a,b){var c=n(p(a,b))+.05*n.rangeBand(),d=q(a,b)<0?o(0):o(0)-o\
(q(a,b))<1?o(0)-1:o(q(a,b));return\"translate(\"+c+\", \"+d+\")\"}).select(\"rect\").at\
tr(\"height\",function(a,b){return Math.max(Math.abs(o(q(a,b))-o(0)),1)}),h=n.cop\
y(),i=o.copy()}),y.renderEnd(\"discreteBar immediate\"),b}var c,d,e,f,g,h,i,j={to\
p:0,right:0,bottom:0,left:0},k=960,l=500,m=Math.floor(1e4*Math.random()),n=d3.s\
cale.ordinal(),o=d3.scale.linear(),p=function(a){return a.x},q=function(a){retu\
rn a.y},r=[0],s=a.utils.defaultColor(),t=!1,u=d3.format(\",.2f\"),v=d3.dispatch(\"\
chartClick\",\"elementClick\",\"elementDblClick\",\"elementMouseover\",\"elementMouseou\
t\",\"elementMousemove\",\"renderEnd\"),w=\"discreteBar\",x=250,y=a.utils.renderWatch(\
v,x);return b.dispatch=v,b.options=a.utils.optionsFunc.bind(b),b._options=Objec\
t.create({},{width:{get:function(){return k},set:function(a){k=a}},height:{get:\
function(){return l},set:function(a){l=a}},forceY:{get:function(){return r},set\
:function(a){r=a}},showValues:{get:function(){return t},set:function(a){t=a}},x\
:{get:function(){return p},set:function(a){p=a}},y:{get:function(){return q},se\
t:function(a){q=a}},xScale:{get:function(){return n},set:function(a){n=a}},ySca\
le:{get:function(){return o},set:function(a){o=a}},xDomain:{get:function(){retu\
rn d},set:function(a){d=a}},yDomain:{get:function(){return e},set:function(a){e\
=a}},xRange:{get:function(){return f},set:function(a){f=a}},yRange:{get:functio\
n(){return g},set:function(a){g=a}},valueFormat:{get:function(){return u},set:f\
unction(a){u=a}},id:{get:function(){return m},set:function(a){m=a}},rectClass:{\
get:function(){return w},set:function(a){w=a}},margin:{get:function(){return j}\
,set:function(a){j.top=void 0!==a.top?a.top:j.top,j.right=void 0!==a.right?a.ri\
ght:j.right,j.bottom=void 0!==a.bottom?a.bottom:j.bottom,j.left=void 0!==a.left\
?a.left:j.left}},color:{get:function(){return s},set:function(b){s=a.utils.getC\
olor(b)}},duration:{get:function(){return x},set:function(a){x=a,y.reset(x)}}})\
,a.utils.initOptions(b),b},a.models.discreteBarChart=function(){\"use strict\";fu\
nction b(i){return x.reset(),x.models(e),o&&x.models(f),p&&x.models(g),i.each(f\
unction(i){var m=d3.select(this);a.utils.initSVG(m);var u=a.utils.availableWidt\
h(k,m,j),x=a.utils.availableHeight(l,m,j);if(b.update=function(){v.beforeUpdate\
(),m.transition().duration(w).call(b)},b.container=this,!(i&&i.length&&i.filter\
(function(a){return a.values.length}).length))return a.utils.noData(b,m),b;m.se\
lectAll(\".nv-noData\").remove(),c=e.xScale(),d=e.yScale().clamp(!0);var y=m.sele\
ctAll(\"g.nv-wrap.nv-discreteBarWithAxes\").data([i]),z=y.enter().append(\"g\").att\
r(\"class\",\"nvd3 nv-wrap nv-discreteBarWithAxes\").append(\"g\"),A=z.append(\"defs\")\
,B=y.select(\"g\");z.append(\"g\").attr(\"class\",\"nv-x nv-axis\"),z.append(\"g\").attr(\
\"class\",\"nv-y nv-axis\").append(\"g\").attr(\"class\",\"nv-zeroLine\").append(\"line\"),\
z.append(\"g\").attr(\"class\",\"nv-barsWrap\"),z.append(\"g\").attr(\"class\",\"nv-legend\
Wrap\"),B.attr(\"transform\",\"translate(\"+j.left+\",\"+j.top+\")\"),n&&(h.width(u),B.s\
elect(\".nv-legendWrap\").datum(i).call(h),j.top!=h.height()&&(j.top=h.height(),x\
=a.utils.availableHeight(l,m,j)),y.select(\".nv-legendWrap\").attr(\"transform\",\"t\
ranslate(0,\"+-j.top+\")\")),q&&B.select(\".nv-y.nv-axis\").attr(\"transform\",\"transl\
ate(\"+u+\",0)\"),q&&B.select(\".nv-y.nv-axis\").attr(\"transform\",\"translate(\"+u+\",0\
)\"),e.width(u).height(x);var C=B.select(\".nv-barsWrap\").datum(i.filter(function\
(a){return!a.disabled}));if(C.transition().call(e),A.append(\"clipPath\").attr(\"i\
d\",\"nv-x-label-clip-\"+e.id()).append(\"rect\"),B.select(\"#nv-x-label-clip-\"+e.id(\
)+\" rect\").attr(\"width\",c.rangeBand()*(r?2:1)).attr(\"height\",16).attr(\"x\",-c.ra\
ngeBand()/(r?1:2)),
o){f.scale(c)._ticks(a.utils.calcTicksX(u/100,i)).tickSize(-x,0),B.select(\".nv-\
x.nv-axis\").attr(\"transform\",\"translate(0,\"+(d.range()[0]+(e.showValues()&&d.do\
main()[0]<0?16:0))+\")\"),B.select(\".nv-x.nv-axis\").call(f);var D=B.select(\".nv-x\
.nv-axis\").selectAll(\"g\");r&&D.selectAll(\"text\").attr(\"transform\",function(a,b,\
c){return\"translate(0,\"+(c%2==0?\"5\":\"17\")+\")\"}),t&&D.selectAll(\".tick text\").at\
tr(\"transform\",\"rotate(\"+t+\" 0,0)\").style(\"text-anchor\",t>0?\"start\":\"end\"),s&&B\
.selectAll(\".tick text\").call(a.utils.wrapTicks,b.xAxis.rangeBand())}p&&(g.scal\
e(d)._ticks(a.utils.calcTicksY(x/36,i)).tickSize(-u,0),B.select(\".nv-y.nv-axis\"\
).call(g)),B.select(\".nv-zeroLine line\").attr(\"x1\",0).attr(\"x2\",q?-u:u).attr(\"y\
1\",d(0)).attr(\"y2\",d(0))}),x.renderEnd(\"discreteBar chart immediate\"),b}var c,d\
,e=a.models.discreteBar(),f=a.models.axis(),g=a.models.axis(),h=a.models.legend\
(),i=a.models.tooltip(),j={top:15,right:10,bottom:50,left:60},k=null,l=null,m=a\
.utils.getColor(),n=!1,o=!0,p=!0,q=!1,r=!1,s=!1,t=0,u=null,v=d3.dispatch(\"befor\
eUpdate\",\"renderEnd\"),w=250;f.orient(\"bottom\").showMaxMin(!1).tickFormat(functi\
on(a){return a}),g.orient(q?\"right\":\"left\").tickFormat(d3.format(\",.1f\")),i.dur\
ation(0).headerEnabled(!1).valueFormatter(function(a,b){return g.tickFormat()(a\
,b)}).keyFormatter(function(a,b){return f.tickFormat()(a,b)});var x=a.utils.ren\
derWatch(v,w);return e.dispatch.on(\"elementMouseover.tooltip\",function(a){a.ser\
ies={key:b.x()(a.data),value:b.y()(a.data),color:a.color},i.data(a).hidden(!1)}\
),e.dispatch.on(\"elementMouseout.tooltip\",function(a){i.hidden(!0)}),e.dispatch\
.on(\"elementMousemove.tooltip\",function(a){i()}),b.dispatch=v,b.discretebar=e,b\
.legend=h,b.xAxis=f,b.yAxis=g,b.tooltip=i,b.options=a.utils.optionsFunc.bind(b)\
,b._options=Object.create({},{width:{get:function(){return k},set:function(a){k\
=a}},height:{get:function(){return l},set:function(a){l=a}},showLegend:{get:fun\
ction(){return n},set:function(a){n=a}},staggerLabels:{get:function(){return r}\
,set:function(a){r=a}},rotateLabels:{get:function(){return t},set:function(a){t\
=a}},wrapLabels:{get:function(){return s},set:function(a){s=!!a}},showXAxis:{ge\
t:function(){return o},set:function(a){o=a}},showYAxis:{get:function(){return p\
},set:function(a){p=a}},noData:{get:function(){return u},set:function(a){u=a}},\
margin:{get:function(){return j},set:function(a){j.top=void 0!==a.top?a.top:j.t\
op,j.right=void 0!==a.right?a.right:j.right,j.bottom=void 0!==a.bottom?a.bottom\
:j.bottom,j.left=void 0!==a.left?a.left:j.left}},duration:{get:function(){retur\
n w},set:function(a){w=a,x.reset(w),e.duration(w),f.duration(w),g.duration(w)}}\
,color:{get:function(){return m},set:function(b){m=a.utils.getColor(b),e.color(\
m),h.color(m)}},rightAlignYAxis:{get:function(){return q},set:function(a){q=a,g\
.orient(a?\"right\":\"left\")}}}),a.utils.inheritOptions(b,e),a.utils.initOptions(b\
),b},a.models.distribution=function(){\"use strict\";function b(k){return m.reset\
(),k.each(function(b){var k=(e-(\"x\"===g?d.left+d.right:d.top+d.bottom),\"x\"==g?\"\
y\":\"x\"),l=d3.select(this);a.utils.initSVG(l),c=c||j;var n=l.selectAll(\"g.nv-dis\
tribution\").data([b]),o=n.enter().append(\"g\").attr(\"class\",\"nvd3 nv-distributio\
n\"),p=(o.append(\"g\"),n.select(\"g\"));n.attr(\"transform\",\"translate(\"+d.left+\",\"+\
d.top+\")\");var q=p.selectAll(\"g.nv-dist\").data(function(a){return a},function(a\
){return a.key});q.enter().append(\"g\"),q.attr(\"class\",function(a,b){return\"nv-d\
ist nv-series-\"+b}).style(\"stroke\",function(a,b){return i(a,b)});var r=q.select\
All(\"line.nv-dist\"+g).data(function(a){return a.values});r.enter().append(\"line\
\").attr(g+\"1\",function(a,b){return c(h(a,b))}).attr(g+\"2\",function(a,b){return \
c(h(a,b))}),m.transition(q.exit().selectAll(\"line.nv-dist\"+g),\"dist exit\").attr\
(g+\"1\",function(a,b){return j(h(a,b))}).attr(g+\"2\",function(a,b){return j(h(a,b\
))}).style(\"stroke-opacity\",0).remove(),r.attr(\"class\",function(a,b){return\"nv-\
dist\"+g+\" nv-dist\"+g+\"-\"+b}).attr(k+\"1\",0).attr(k+\"2\",f),m.transition(r,\"dist\")\
.attr(g+\"1\",function(a,b){return j(h(a,b))}).attr(g+\"2\",function(a,b){return j(\
h(a,b))}),c=j.copy()}),m.renderEnd(\"distribution immediate\"),b}var c,d={top:0,r\
ight:0,bottom:0,left:0},e=400,f=8,g=\"x\",h=function(a){return a[g]},i=a.utils.de\
faultColor(),j=d3.scale.linear(),k=250,l=d3.dispatch(\"renderEnd\"),m=a.utils.ren\
derWatch(l,k);return b.options=a.utils.optionsFunc.bind(b),b.dispatch=l,b.margi\
n=function(a){return arguments.length?(d.top=\"undefined\"!=typeof a.top?a.top:d.\
top,d.right=\"undefined\"!=typeof a.right?a.right:d.right,d.bottom=\"undefined\"!=t\
ypeof a.bottom?a.bottom:d.bottom,d.left=\"undefined\"!=typeof a.left?a.left:d.lef\
t,b):d},b.width=function(a){return arguments.length?(e=a,b):e},b.axis=function(\
a){return arguments.length?(g=a,b):g},b.size=function(a){return arguments.lengt\
h?(f=a,b):f},b.getData=function(a){return arguments.length?(h=d3.functor(a),b):\
h},b.scale=function(a){return arguments.length?(j=a,b):j},b.color=function(c){r\
eturn arguments.length?(i=a.utils.getColor(c),b):i},b.duration=function(a){retu\
rn arguments.length?(k=a,m.reset(k),b):k},b},a.models.furiousLegend=function(){\
\"use strict\";function b(q){function r(a,b){return\"furious\"!=p?\"#000\":n?a.diseng\
aged?g(a,b):\"#fff\":n?void 0:a.disabled?g(a,b):\"#fff\"}function s(a,b){return n&&\
\"furious\"==p?a.disengaged?\"#fff\":g(a,b):a.disabled?\"#fff\":g(a,b)}return q.each(\
function(b){var q=d-c.left-c.right,t=d3.select(this);a.utils.initSVG(t);var u=t\
.selectAll(\"g.nv-legend\").data([b]),v=(u.enter().append(\"g\").attr(\"class\",\"nvd3\
 nv-legend\").append(\"g\"),u.select(\"g\"));u.attr(\"transform\",\"translate(\"+c.left+\
\",\"+c.top+\")\");var w,x=v.selectAll(\".nv-series\").data(function(a){return\"furiou\
s\"!=p?a:a.filter(function(a){return n?!0:!a.disengaged})}),y=x.enter().append(\"\
g\").attr(\"class\",\"nv-series\");if(\"classic\"==p)y.append(\"circle\").style(\"stroke-\
width\",2).attr(\"class\",\"nv-legend-symbol\").attr(\"r\",5),w=x.select(\"circle\");els\
e if(\"furious\"==p){y.append(\"rect\").style(\"stroke-width\",2).attr(\"class\",\"nv-le\
gend-symbol\").attr(\"rx\",3).attr(\"ry\",3),w=x.select(\"rect\"),y.append(\"g\").attr(\"\
class\",\"nv-check-box\").property(\"innerHTML\",'<path d=\"M0.5,5 L22.5,5 L22.5,26.5\
 L0.5,26.5 L0.5,5 Z\" class=\"nv-box\"></path><path d=\"M5.5,12.8618467 L11.9185089\
,19.2803556 L31,0.198864511\" class=\"nv-check\"></path>').attr(\"transform\",\"trans\
late(-10,-8)scale(0.5)\");var z=x.select(\".nv-check-box\");z.each(function(a,b){d\
3.select(this).selectAll(\"path\").attr(\"stroke\",r(a,b))})}y.append(\"text\").attr(\
\"text-anchor\",\"start\").attr(\"class\",\"nv-legend-text\").attr(\"dy\",\".32em\").attr(\"\
dx\",\"8\");var A=x.select(\"text.nv-legend-text\");x.on(\"mouseover\",function(a,b){o\
.legendMouseover(a,b)}).on(\"mouseout\",function(a,b){o.legendMouseout(a,b)}).on(\
\"click\",function(a,b){o.legendClick(a,b);var c=x.data();if(l){if(\"classic\"==p)m\
?(c.forEach(function(a){a.disabled=!0}),a.disabled=!1):(a.disabled=!a.disabled,\
c.every(function(a){return a.disabled})&&c.forEach(function(a){a.disabled=!1}))\
;else if(\"furious\"==p)if(n)a.disengaged=!a.disengaged,a.userDisabled=void 0==a.\
userDisabled?!!a.disabled:a.userDisabled,a.disabled=a.disengaged||a.userDisable\
d;else if(!n){a.disabled=!a.disabled,a.userDisabled=a.disabled;var d=c.filter(f\
unction(a){return!a.disengaged});d.every(function(a){return a.userDisabled})&&c\
.forEach(function(a){a.disabled=a.userDisabled=!1})}o.stateChange({disabled:c.m\
ap(function(a){return!!a.disabled}),disengaged:c.map(function(a){return!!a.dise\
ngaged})})}}).on(\"dblclick\",function(a,b){if((\"furious\"!=p||!n)&&(o.legendDblcl\
ick(a,b),l)){var c=x.data();c.forEach(function(a){a.disabled=!0,\"furious\"==p&&(\
a.userDisabled=a.disabled)}),a.disabled=!1,\"furious\"==p&&(a.userDisabled=a.disa\
bled),o.stateChange({disabled:c.map(function(a){return!!a.disabled})})}}),x.cla\
ssed(\"nv-disabled\",function(a){return a.userDisabled}),x.exit().remove(),A.attr\
(\"fill\",r).text(f);var B;switch(p){case\"furious\":B=23;break;case\"classic\":B=20}\
if(i){var C=[];x.each(function(b,c){var d;if(f(b).length>h){var e=f(b).substrin\
g(0,h);d=d3.select(this).select(\"text\").text(e+\"...\"),d3.select(this).append(\"s\
vg:title\").text(f(b))}else d=d3.select(this).select(\"text\");var g;try{if(g=d.no\
de().getComputedTextLength(),0>=g)throw Error()}catch(i){g=a.utils.calcApproxTe\
xtWidth(d)}C.push(g+j)});for(var D=0,E=0,F=[];q>E&&D<C.length;)F[D]=C[D],E+=C[D\
++];for(0===D&&(D=1);E>q&&D>1;){F=[],D--;for(var G=0;G<C.length;G++)C[G]>(F[G%D\
]||0)&&(F[G%D]=C[G]);E=F.reduce(function(a,b,c,d){return a+b})}for(var H=[],I=0\
,J=0;D>I;I++)H[I]=J,J+=F[I];x.attr(\"transform\",function(a,b){return\"translate(\"\
+H[b%D]+\",\"+(5+Math.floor(b/D)*B)+\")\"}),k?v.attr(\"transform\",\"translate(\"+(d-c.\
right-E)+\",\"+c.top+\")\"):v.attr(\"transform\",\"translate(0,\"+c.top+\")\"),e=c.top+c.\
bottom+Math.ceil(C.length/D)*B}else{var K,L=5,M=5,N=0;x.attr(\"transform\",functi\
on(a,b){var e=d3.select(this).select(\"text\").node().getComputedTextLength()+j;r\
eturn K=M,d<c.left+c.right+K+e&&(M=K=5,L+=B),M+=e,M>N&&(N=M),\"translate(\"+K+\",\"\
+L+\")\"}),v.attr(\"transform\",\"translate(\"+(d-c.right-N)+\",\"+c.top+\")\"),e=c.top+c\
.bottom+L+15}\"furious\"==p&&w.attr(\"width\",function(a,b){return A[0][b].getCompu\
tedTextLength()+27}).attr(\"height\",18).attr(\"y\",-9).attr(\"x\",-15),w.style(\"fill\
\",s).style(\"stroke\",function(a,b){return a.color||g(a,b)})}),b}var c={top:5,rig\
ht:0,bottom:5,left:0},d=400,e=20,f=function(a){return a.key},g=a.utils.getColor\
(),h=20,i=!0,j=28,k=!0,l=!0,m=!1,n=!1,o=d3.dispatch(\"legendClick\",\"legendDblcli\
ck\",\"legendMouseover\",\"legendMouseout\",\"stateChange\"),p=\"classic\";return b.disp\
atch=o,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{width\
:{get:function(){return d},set:function(a){d=a}},height:{get:function(){return \
e},set:function(a){e=a}},key:{get:function(){return f},set:function(a){f=a}},al\
ign:{get:function(){return i},set:function(a){i=a}},rightAlign:{get:function(){\
return k},set:function(a){k=a}},maxKeyLength:{get:function(){return h},set:func\
tion(a){h=a}},padding:{get:function(){return j},set:function(a){j=a}},updateSta\
te:{get:function(){return l},set:function(a){l=a}},radioButtonMode:{get:functio\
n(){return m},set:function(a){m=a}},expanded:{get:function(){return n},set:func\
tion(a){n=a}},vers:{get:function(){return p},set:function(a){p=a}},margin:{get:\
function(){return c},set:function(a){c.top=void 0!==a.top?a.top:c.top,c.right=v\
oid 0!==a.right?a.right:c.right,c.bottom=void 0!==a.bottom?a.bottom:c.bottom,c.\
left=void 0!==a.left?a.left:c.left}},color:{get:function(){return g},set:functi\
on(b){g=a.utils.getColor(b)}}}),a.utils.initOptions(b),b},a.models.historicalBa\
r=function(){\"use strict\";function b(x){return x.each(function(b){w.reset(),k=d\
3.select(this);var x=a.utils.availableWidth(h,k,g),y=a.utils.availableHeight(i,\
k,g);a.utils.initSVG(k),l.domain(c||d3.extent(b[0].values.map(n).concat(p))),r?\
l.range(e||[.5*x/b[0].values.length,x*(b[0].values.length-.5)/b[0].values.lengt\
h]):l.range(e||[0,x]),m.domain(d||d3.extent(b[0].values.map(o).concat(q))).rang\
e(f||[y,0]),l.domain()[0]===l.domain()[1]&&(l.domain()[0]?l.domain([l.domain()[\
0]-.01*l.domain()[0],l.domain()[1]+.01*l.domain()[1]]):l.domain([-1,1])),m.doma\
in()[0]===m.domain()[1]&&(m.domain()[0]?m.domain([m.domain()[0]+.01*m.domain()[\
0],m.domain()[1]-.01*m.domain()[1]]):m.domain([-1,1]));var z=k.selectAll(\"g.nv-\
wrap.nv-historicalBar-\"+j).data([b[0].values]),A=z.enter().append(\"g\").attr(\"cl\
ass\",\"nvd3 nv-wrap nv-historicalBar-\"+j),B=A.append(\"defs\"),C=A.append(\"g\"),D=z\
.select(\"g\");C.append(\"g\").attr(\"class\",\"nv-bars\"),z.attr(\"transform\",\"translat\
e(\"+g.left+\",\"+g.top+\")\"),k.on(\"click\",function(a,b){u.chartClick({data:a,index\
:b,pos:d3.event,id:j})}),B.append(\"clipPath\").attr(\"id\",\"nv-chart-clip-path-\"+j\
).append(\"rect\"),z.select(\"#nv-chart-clip-path-\"+j+\" rect\").attr(\"width\",x).att\
r(\"height\",y),D.attr(\"clip-path\",s?\"url(#nv-chart-clip-path-\"+j+\")\":\"\");var E=z\
.select(\".nv-bars\").selectAll(\".nv-bar\").data(function(a){return a},function(a,\
b){return n(a,b)});E.exit().remove(),E.enter().append(\"rect\").attr(\"x\",0).attr(\
\"y\",function(b,c){return a.utils.NaNtoZero(m(Math.max(0,o(b,c))))}).attr(\"heigh\
t\",function(b,c){return a.utils.NaNtoZero(Math.abs(m(o(b,c))-m(0)))}).attr(\"tra\
nsform\",function(a,c){return\"translate(\"+(l(n(a,c))-x/b[0].values.length*.45)+\"\
,0)\"}).on(\"mouseover\",function(a,b){v&&(d3.select(this).classed(\"hover\",!0),u.e\
lementMouseover({data:a,index:b,color:d3.select(this).style(\"fill\")}))}).on(\"mo\
useout\",function(a,b){v&&(d3.select(this).classed(\"hover\",!1),u.elementMouseout\
({data:a,index:b,color:d3.select(this).style(\"fill\")}))}).on(\"mousemove\",functi\
on(a,b){v&&u.elementMousemove({data:a,index:b,color:d3.select(this).style(\"fill\
\")})}).on(\"click\",function(a,b){v&&(u.elementClick({data:a,index:b,color:d3.sel\
ect(this).style(\"fill\")}),d3.event.stopPropagation())}).on(\"dblclick\",function(\
a,b){v&&(u.elementDblClick({data:a,index:b,color:d3.select(this).style(\"fill\")}\
),d3.event.stopPropagation())}),E.attr(\"fill\",function(a,b){return t(a,b)}).att\
r(\"class\",function(a,b,c){return(o(a,b)<0?\"nv-bar negative\":\"nv-bar positive\")+\
\" nv-bar-\"+c+\"-\"+b}).watchTransition(w,\"bars\").attr(\"transform\",function(a,c){r\
eturn\"translate(\"+(l(n(a,c))-x/b[0].values.length*.45)+\",0)\"}).attr(\"width\",x/b\
[0].values.length*.9),E.watchTransition(w,\"bars\").attr(\"y\",function(b,c){var d=\
o(b,c)<0?m(0):m(0)-m(o(b,c))<1?m(0)-1:m(o(b,c));return a.utils.NaNtoZero(d)}).a\
ttr(\"height\",function(b,c){return a.utils.NaNtoZero(Math.max(Math.abs(m(o(b,c))\
-m(0)),1))})}),w.renderEnd(\"historicalBar immediate\"),b}var c,d,e,f,g={top:0,ri\
ght:0,bottom:0,left:0},h=null,i=null,j=Math.floor(1e4*Math.random()),k=null,l=d\
3.scale.linear(),m=d3.scale.linear(),n=function(a){return a.x},o=function(a){re\
turn a.y},p=[],q=[0],r=!1,s=!0,t=a.utils.defaultColor(),u=d3.dispatch(\"chartCli\
ck\",\"elementClick\",\"elementDblClick\",\"elementMouseover\",\"elementMouseout\",\"elem\
entMousemove\",\"renderEnd\"),v=!0,w=a.utils.renderWatch(u,0);return b.highlightPo\
int=function(a,b){k.select(\".nv-bars .nv-bar-0-\"+a).classed(\"hover\",b)},b.clear\
Highlights=function(){k.select(\".nv-bars .nv-bar.hover\").classed(\"hover\",!1)},b\
.dispatch=u,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{\
width:{get:function(){return h},set:function(a){h=a}},height:{get:function(){re\
turn i},set:function(a){i=a}},forceX:{get:function(){return p},set:function(a){\
p=a}},forceY:{get:function(){return q},set:function(a){q=a}},padData:{get:funct\
ion(){return r},set:function(a){r=a}},x:{get:function(){return n},set:function(\
a){n=a}},y:{get:function(){return o},set:function(a){o=a}},xScale:{get:function\
(){return l},set:function(a){l=a}},yScale:{get:function(){return m},set:functio\
n(a){m=a}},xDomain:{get:function(){return c},set:function(a){c=a}},yDomain:{get\
")

file(APPEND ${METABENCH_DIR}/nvd3.js "\
:function(){return d},set:function(a){d=a}},xRange:{get:function(){return e},se\
t:function(a){e=a}},yRange:{get:function(){return f},set:function(a){f=a}},clip\
Edge:{get:function(){return s},set:function(a){s=a}},id:{get:function(){return \
j},set:function(a){j=a}},interactive:{get:function(){return v},set:function(a){\
v=a}},margin:{get:function(){return g},set:function(a){g.top=void 0!==a.top?a.t\
op:g.top,g.right=void 0!==a.right?a.right:g.right,g.bottom=void 0!==a.bottom?a.\
bottom:g.bottom,g.left=void 0!==a.left?a.left:g.left}},color:{get:function(){re\
turn t},set:function(b){t=a.utils.getColor(b)}}}),a.utils.initOptions(b),b},a.m\
odels.historicalBarChart=function(b){\"use strict\";function c(b){return b.each(f\
unction(k){z.reset(),z.models(f),q&&z.models(g),r&&z.models(h);var w=d3.select(\
this),A=this;a.utils.initSVG(w);var B=a.utils.availableWidth(n,w,l),C=a.utils.a\
vailableHeight(o,w,l);if(c.update=function(){w.transition().duration(y).call(c)\
},c.container=this,u.disabled=k.map(function(a){return!!a.disabled}),!v){var D;\
v={};for(D in u)u[D]instanceof Array?v[D]=u[D].slice(0):v[D]=u[D]}if(!(k&&k.len\
gth&&k.filter(function(a){return a.values.length}).length))return a.utils.noDat\
a(c,w),c;w.selectAll(\".nv-noData\").remove(),d=f.xScale(),e=f.yScale();var E=w.s\
electAll(\"g.nv-wrap.nv-historicalBarChart\").data([k]),F=E.enter().append(\"g\").a\
ttr(\"class\",\"nvd3 nv-wrap nv-historicalBarChart\").append(\"g\"),G=E.select(\"g\");F\
.append(\"g\").attr(\"class\",\"nv-x nv-axis\"),F.append(\"g\").attr(\"class\",\"nv-y nv-a\
xis\"),F.append(\"g\").attr(\"class\",\"nv-barsWrap\"),F.append(\"g\").attr(\"class\",\"nv-\
legendWrap\"),F.append(\"g\").attr(\"class\",\"nv-interactive\"),p&&(i.width(B),G.sele\
ct(\".nv-legendWrap\").datum(k).call(i),l.top!=i.height()&&(l.top=i.height(),C=a.\
utils.availableHeight(o,w,l)),E.select(\".nv-legendWrap\").attr(\"transform\",\"tran\
slate(0,\"+-l.top+\")\")),E.attr(\"transform\",\"translate(\"+l.left+\",\"+l.top+\")\"),s&\
&G.select(\".nv-y.nv-axis\").attr(\"transform\",\"translate(\"+B+\",0)\"),t&&(j.width(B\
).height(C).margin({left:l.left,top:l.top}).svgContainer(w).xScale(d),E.select(\
\".nv-interactive\").call(j)),f.width(B).height(C).color(k.map(function(a,b){retu\
rn a.color||m(a,b)}).filter(function(a,b){return!k[b].disabled}));var H=G.selec\
t(\".nv-barsWrap\").datum(k.filter(function(a){return!a.disabled}));H.transition(\
).call(f),q&&(g.scale(d)._ticks(a.utils.calcTicksX(B/100,k)).tickSize(-C,0),G.s\
elect(\".nv-x.nv-axis\").attr(\"transform\",\"translate(0,\"+e.range()[0]+\")\"),G.sele\
ct(\".nv-x.nv-axis\").transition().call(g)),r&&(h.scale(e)._ticks(a.utils.calcTic\
ksY(C/36,k)).tickSize(-B,0),G.select(\".nv-y.nv-axis\").transition().call(h)),j.d\
ispatch.on(\"elementMousemove\",function(b){f.clearHighlights();var d,e,i,l=[];k.\
filter(function(a,b){return a.seriesIndex=b,!a.disabled}).forEach(function(g,h)\
{e=a.interactiveBisect(g.values,b.pointXValue,c.x()),f.highlightPoint(e,!0);var\
 j=g.values[e];void 0!==j&&(void 0===d&&(d=j),void 0===i&&(i=c.xScale()(c.x()(j\
,e))),l.push({key:g.key,value:c.y()(j,e),color:m(g,g.seriesIndex),data:g.values\
[e]}))});var n=g.tickFormat()(c.x()(d,e));j.tooltip.chartContainer(A.parentNode\
).valueFormatter(function(a,b){return h.tickFormat()(a)}).data({value:n,index:e\
,series:l})(),j.renderGuideLine(i)}),j.dispatch.on(\"elementMouseout\",function(a\
){x.tooltipHide(),f.clearHighlights()}),i.dispatch.on(\"legendClick\",function(a,\
d){a.disabled=!a.disabled,k.filter(function(a){return!a.disabled}).length||k.ma\
p(function(a){return a.disabled=!1,E.selectAll(\".nv-series\").classed(\"disabled\"\
,!1),a}),u.disabled=k.map(function(a){return!!a.disabled}),x.stateChange(u),b.t\
ransition().call(c)}),i.dispatch.on(\"legendDblclick\",function(a){k.forEach(func\
tion(a){a.disabled=!0}),a.disabled=!1,u.disabled=k.map(function(a){return!!a.di\
sabled}),x.stateChange(u),c.update()}),x.on(\"changeState\",function(a){\"undefine\
d\"!=typeof a.disabled&&(k.forEach(function(b,c){b.disabled=a.disabled[c]}),u.di\
sabled=a.disabled),c.update()})}),z.renderEnd(\"historicalBarChart immediate\"),c\
}var d,e,f=b||a.models.historicalBar(),g=a.models.axis(),h=a.models.axis(),i=a.\
models.legend(),j=a.interactiveGuideline(),k=a.models.tooltip(),l={top:30,right\
:90,bottom:50,left:90},m=a.utils.defaultColor(),n=null,o=null,p=!1,q=!0,r=!0,s=\
!1,t=!1,u={},v=null,w=null,x=d3.dispatch(\"tooltipHide\",\"stateChange\",\"changeSta\
te\",\"renderEnd\"),y=250;g.orient(\"bottom\").tickPadding(7),h.orient(s?\"right\":\"le\
ft\"),k.duration(0).headerEnabled(!1).valueFormatter(function(a,b){return h.tick\
Format()(a,b)}).headerFormatter(function(a,b){return g.tickFormat()(a,b)});var \
z=a.utils.renderWatch(x,0);return f.dispatch.on(\"elementMouseover.tooltip\",func\
tion(a){a.series={key:c.x()(a.data),value:c.y()(a.data),color:a.color},k.data(a\
).hidden(!1)}),f.dispatch.on(\"elementMouseout.tooltip\",function(a){k.hidden(!0)\
}),f.dispatch.on(\"elementMousemove.tooltip\",function(a){k()}),c.dispatch=x,c.ba\
rs=f,c.legend=i,c.xAxis=g,c.yAxis=h,c.interactiveLayer=j,c.tooltip=k,c.options=\
a.utils.optionsFunc.bind(c),c._options=Object.create({},{width:{get:function(){\
return n},set:function(a){n=a}},height:{get:function(){return o},set:function(a\
){o=a}},showLegend:{get:function(){return p},set:function(a){p=a}},showXAxis:{g\
et:function(){return q},set:function(a){q=a}},showYAxis:{get:function(){return \
r},set:function(a){r=a}},defaultState:{get:function(){return v},set:function(a)\
{v=a}},noData:{get:function(){return w},set:function(a){w=a}},margin:{get:funct\
ion(){return l},set:function(a){l.top=void 0!==a.top?a.top:l.top,l.right=void 0\
!==a.right?a.right:l.right,l.bottom=void 0!==a.bottom?a.bottom:l.bottom,l.left=\
void 0!==a.left?a.left:l.left}},color:{get:function(){return m},set:function(b)\
{m=a.utils.getColor(b),i.color(m),f.color(m)}},duration:{get:function(){return \
y},set:function(a){y=a,z.reset(y),h.duration(y),g.duration(y)}},rightAlignYAxis\
:{get:function(){return s},set:function(a){s=a,h.orient(a?\"right\":\"left\")}},use\
InteractiveGuideline:{get:function(){return t},set:function(a){t=a,a===!0&&c.in\
teractive(!1)}}}),a.utils.inheritOptions(c,f),a.utils.initOptions(c),c},a.model\
s.ohlcBarChart=function(){var b=a.models.historicalBarChart(a.models.ohlcBar())\
;return b.useInteractiveGuideline(!0),b.interactiveLayer.tooltip.contentGenerat\
or(function(a){var c=a.series[0].data,d=c.open<c.close?\"2ca02c\":\"d62728\";return\
'<h3 style=\"color: #'+d+'\">'+a.value+\"</h3><table><tr><td>open:</td><td>\"+b.yAx\
is.tickFormat()(c.open)+\"</td></tr><tr><td>close:</td><td>\"+b.yAxis.tickFormat(\
)(c.close)+\"</td></tr><tr><td>high</td><td>\"+b.yAxis.tickFormat()(c.high)+\"</td\
></tr><tr><td>low:</td><td>\"+b.yAxis.tickFormat()(c.low)+\"</td></tr></table>\"})\
,b},a.models.candlestickBarChart=function(){var b=a.models.historicalBarChart(a\
.models.candlestickBar());return b.useInteractiveGuideline(!0),b.interactiveLay\
er.tooltip.contentGenerator(function(a){var c=a.series[0].data,d=c.open<c.close\
?\"2ca02c\":\"d62728\";return'<h3 style=\"color: #'+d+'\">'+a.value+\"</h3><table><tr>\
<td>open:</td><td>\"+b.yAxis.tickFormat()(c.open)+\"</td></tr><tr><td>close:</td>\
<td>\"+b.yAxis.tickFormat()(c.close)+\"</td></tr><tr><td>high</td><td>\"+b.yAxis.t\
ickFormat()(c.high)+\"</td></tr><tr><td>low:</td><td>\"+b.yAxis.tickFormat()(c.lo\
w)+\"</td></tr></table>\"}),b},a.models.legend=function(){\"use strict\";function b\
(q){function r(a,b){return\"furious\"!=p?\"#000\":n?a.disengaged?\"#000\":\"#fff\":n?vo\
id 0:(a.color||(a.color=g(a,b)),a.disabled?a.color:\"#fff\")}function s(a,b){retu\
rn n&&\"furious\"==p&&a.disengaged?\"#eee\":a.color||g(a,b)}function t(a,b){return \
n&&\"furious\"==p?1:a.disabled?0:1}return q.each(function(b){var g=d-c.left-c.rig\
ht,q=d3.select(this);a.utils.initSVG(q);var u=q.selectAll(\"g.nv-legend\").data([\
b]),v=u.enter().append(\"g\").attr(\"class\",\"nvd3 nv-legend\").append(\"g\"),w=u.sele\
ct(\"g\");u.attr(\"transform\",\"translate(\"+c.left+\",\"+c.top+\")\");var x,y,z=w.selec\
tAll(\".nv-series\").data(function(a){return\"furious\"!=p?a:a.filter(function(a){r\
eturn n?!0:!a.disengaged})}),A=z.enter().append(\"g\").attr(\"class\",\"nv-series\");\
switch(p){case\"furious\":y=23;break;case\"classic\":y=20}if(\"classic\"==p)A.append(\
\"circle\").style(\"stroke-width\",2).attr(\"class\",\"nv-legend-symbol\").attr(\"r\",5),\
x=z.select(\"circle\");else if(\"furious\"==p){A.append(\"rect\").style(\"stroke-width\
\",2).attr(\"class\",\"nv-legend-symbol\").attr(\"rx\",3).attr(\"ry\",3),x=z.select(\".nv\
-legend-symbol\"),A.append(\"g\").attr(\"class\",\"nv-check-box\").property(\"innerHTML\
\",'<path d=\"M0.5,5 L22.5,5 L22.5,26.5 L0.5,26.5 L0.5,5 Z\" class=\"nv-box\"></path\
><path d=\"M5.5,12.8618467 L11.9185089,19.2803556 L31,0.198864511\" class=\"nv-che\
ck\"></path>').attr(\"transform\",\"translate(-10,-8)scale(0.5)\");var B=z.select(\".\
nv-check-box\");B.each(function(a,b){d3.select(this).selectAll(\"path\").attr(\"str\
oke\",r(a,b))})}A.append(\"text\").attr(\"text-anchor\",\"start\").attr(\"class\",\"nv-le\
gend-text\").attr(\"dy\",\".32em\").attr(\"dx\",\"8\");var C=z.select(\"text.nv-legend-te\
xt\");z.on(\"mouseover\",function(a,b){o.legendMouseover(a,b)}).on(\"mouseout\",func\
tion(a,b){o.legendMouseout(a,b)}).on(\"click\",function(a,b){o.legendClick(a,b);v\
ar c=z.data();if(l){if(\"classic\"==p)m?(c.forEach(function(a){a.disabled=!0}),a.\
disabled=!1):(a.disabled=!a.disabled,c.every(function(a){return a.disabled})&&c\
.forEach(function(a){a.disabled=!1}));else if(\"furious\"==p)if(n)a.disengaged=!a\
.disengaged,a.userDisabled=void 0==a.userDisabled?!!a.disabled:a.userDisabled,a\
.disabled=a.disengaged||a.userDisabled;else if(!n){a.disabled=!a.disabled,a.use\
rDisabled=a.disabled;var d=c.filter(function(a){return!a.disengaged});d.every(f\
unction(a){return a.userDisabled})&&c.forEach(function(a){a.disabled=a.userDisa\
bled=!1})}o.stateChange({disabled:c.map(function(a){return!!a.disabled}),diseng\
aged:c.map(function(a){return!!a.disengaged})})}}).on(\"dblclick\",function(a,b){\
if((\"furious\"!=p||!n)&&(o.legendDblclick(a,b),l)){var c=z.data();c.forEach(func\
tion(a){a.disabled=!0,\"furious\"==p&&(a.userDisabled=a.disabled)}),a.disabled=!1\
,\"furious\"==p&&(a.userDisabled=a.disabled),o.stateChange({disabled:c.map(functi\
on(a){return!!a.disabled})})}}),z.classed(\"nv-disabled\",function(a){return a.us\
erDisabled}),z.exit().remove(),C.attr(\"fill\",r).text(f);var D=0;if(i){var E=[];\
z.each(function(b,c){var d;if(f(b).length>h){var e=f(b).substring(0,h);d=d3.sel\
ect(this).select(\"text\").text(e+\"...\"),d3.select(this).append(\"svg:title\").text\
(f(b))}else d=d3.select(this).select(\"text\");var g;try{if(g=d.node().getCompute\
dTextLength(),0>=g)throw Error()}catch(i){g=a.utils.calcApproxTextWidth(d)}E.pu\
sh(g+j)});var F=0,G=[];for(D=0;g>D&&F<E.length;)G[F]=E[F],D+=E[F++];for(0===F&&\
(F=1);D>g&&F>1;){G=[],F--;for(var H=0;H<E.length;H++)E[H]>(G[H%F]||0)&&(G[H%F]=\
E[H]);D=G.reduce(function(a,b,c,d){return a+b})}for(var I=[],J=0,K=0;F>J;J++)I[\
J]=K,K+=G[J];z.attr(\"transform\",function(a,b){return\"translate(\"+I[b%F]+\",\"+(5+\
Math.floor(b/F)*y)+\")\"}),k?w.attr(\"transform\",\"translate(\"+(d-c.right-D)+\",\"+c.\
top+\")\"):w.attr(\"transform\",\"translate(0,\"+c.top+\")\"),e=c.top+c.bottom+Math.cei\
l(E.length/F)*y}else{var L,M=5,N=5,O=0;z.attr(\"transform\",function(a,b){var e=d\
3.select(this).select(\"text\").node().getComputedTextLength()+j;return L=N,d<c.l\
eft+c.right+L+e&&(N=L=5,M+=y),N+=e,N>O&&(O=N),L+O>D&&(D=L+O),\"translate(\"+L+\",\"\
+M+\")\"}),w.attr(\"transform\",\"translate(\"+(d-c.right-O)+\",\"+c.top+\")\"),e=c.top+c\
.bottom+M+15}if(\"furious\"==p){x.attr(\"width\",function(a,b){return C[0][b].getCo\
mputedTextLength()+27}).attr(\"height\",18).attr(\"y\",-9).attr(\"x\",-15),v.insert(\"\
rect\",\":first-child\").attr(\"class\",\"nv-legend-bg\").attr(\"fill\",\"#eee\").attr(\"op\
acity\",0);var P=w.select(\".nv-legend-bg\");P.transition().duration(300).attr(\"x\"\
,-y).attr(\"width\",D+y-12).attr(\"height\",e+10).attr(\"y\",-c.top-10).attr(\"opacity\
\",n?1:0)}x.style(\"fill\",s).style(\"fill-opacity\",t).style(\"stroke\",s)}),b}var c=\
{top:5,right:0,bottom:5,left:0},d=400,e=20,f=function(a){return a.key},g=a.util\
s.getColor(),h=20,i=!0,j=32,k=!0,l=!0,m=!1,n=!1,o=d3.dispatch(\"legendClick\",\"le\
gendDblclick\",\"legendMouseover\",\"legendMouseout\",\"stateChange\"),p=\"classic\";ret\
urn b.dispatch=o,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create\
({},{width:{get:function(){return d},set:function(a){d=a}},height:{get:function\
(){return e},set:function(a){e=a}},key:{get:function(){return f},set:function(a\
){f=a}},align:{get:function(){return i},set:function(a){i=a}},maxKeyLength:{get\
:function(){return h},set:function(a){h=a}},rightAlign:{get:function(){return k\
},set:function(a){k=a}},padding:{get:function(){return j},set:function(a){j=a}}\
,updateState:{get:function(){return l},set:function(a){l=a}},radioButtonMode:{g\
et:function(){return m},set:function(a){m=a}},expanded:{get:function(){return n\
},set:function(a){n=a}},vers:{get:function(){return p},set:function(a){p=a}},ma\
rgin:{get:function(){return c},set:function(a){c.top=void 0!==a.top?a.top:c.top\
,c.right=void 0!==a.right?a.right:c.right,c.bottom=void 0!==a.bottom?a.bottom:c\
.bottom,c.left=void 0!==a.left?a.left:c.left}},color:{get:function(){return g},\
set:function(b){g=a.utils.getColor(b)}}}),a.utils.initOptions(b),b},a.models.li\
ne=function(){\"use strict\";function b(r){return v.reset(),v.models(e),r.each(fu\
nction(b){i=d3.select(this);var r=a.utils.availableWidth(g,i,f),s=a.utils.avail\
ableHeight(h,i,f);a.utils.initSVG(i),c=e.xScale(),d=e.yScale(),t=t||c,u=u||d;va\
r w=i.selectAll(\"g.nv-wrap.nv-line\").data([b]),x=w.enter().append(\"g\").attr(\"cl\
ass\",\"nvd3 nv-wrap nv-line\"),y=x.append(\"defs\"),z=x.append(\"g\"),A=w.select(\"g\")\
;z.append(\"g\").attr(\"class\",\"nv-groups\"),z.append(\"g\").attr(\"class\",\"nv-scatter\
Wrap\"),w.attr(\"transform\",\"translate(\"+f.left+\",\"+f.top+\")\"),e.width(r).height(\
s);var B=w.select(\".nv-scatterWrap\");B.call(e),y.append(\"clipPath\").attr(\"id\",\"\
nv-edge-clip-\"+e.id()).append(\"rect\"),w.select(\"#nv-edge-clip-\"+e.id()+\" rect\")\
.attr(\"width\",r).attr(\"height\",s>0?s:0),A.attr(\"clip-path\",p?\"url(#nv-edge-clip\
-\"+e.id()+\")\":\"\"),B.attr(\"clip-path\",p?\"url(#nv-edge-clip-\"+e.id()+\")\":\"\");var \
C=w.select(\".nv-groups\").selectAll(\".nv-group\").data(function(a){return a},func\
tion(a){return a.key});C.enter().append(\"g\").style(\"stroke-opacity\",1e-6).style\
(\"stroke-width\",function(a){return a.strokeWidth||j}).style(\"fill-opacity\",1e-6\
),C.exit().remove(),C.attr(\"class\",function(a,b){return(a.classed||\"\")+\" nv-gro\
up nv-series-\"+b}).classed(\"hover\",function(a){return a.hover}).style(\"fill\",fu\
nction(a,b){return k(a,b)}).style(\"stroke\",function(a,b){return k(a,b)}),C.watc\
hTransition(v,\"line: groups\").style(\"stroke-opacity\",1).style(\"fill-opacity\",fu\
nction(a){return a.fillOpacity||.5});var D=C.selectAll(\"path.nv-area\").data(fun\
ction(a){return o(a)?[a]:[]});D.enter().append(\"path\").attr(\"class\",\"nv-area\").\
attr(\"d\",function(b){return d3.svg.area().interpolate(q).defined(n).x(function(\
b,c){return a.utils.NaNtoZero(t(l(b,c)))}).y0(function(b,c){return a.utils.NaNt\
oZero(u(m(b,c)))}).y1(function(a,b){return u(d.domain()[0]<=0?d.domain()[1]>=0?\
0:d.domain()[1]:d.domain()[0])}).apply(this,[b.values])}),C.exit().selectAll(\"p\
ath.nv-area\").remove(),D.watchTransition(v,\"line: areaPaths\").attr(\"d\",function\
(b){return d3.svg.area().interpolate(q).defined(n).x(function(b,d){return a.uti\
ls.NaNtoZero(c(l(b,d)))}).y0(function(b,c){return a.utils.NaNtoZero(d(m(b,c)))}\
).y1(function(a,b){return d(d.domain()[0]<=0?d.domain()[1]>=0?0:d.domain()[1]:d\
.domain()[0])}).apply(this,[b.values])});var E=C.selectAll(\"path.nv-line\").data\
(function(a){return[a.values]});E.enter().append(\"path\").attr(\"class\",\"nv-line\"\
).attr(\"d\",d3.svg.line().interpolate(q).defined(n).x(function(b,c){return a.uti\
ls.NaNtoZero(t(l(b,c)))}).y(function(b,c){return a.utils.NaNtoZero(u(m(b,c)))})\
),E.watchTransition(v,\"line: linePaths\").attr(\"d\",d3.svg.line().interpolate(q).\
defined(n).x(function(b,d){return a.utils.NaNtoZero(c(l(b,d)))}).y(function(b,c\
){return a.utils.NaNtoZero(d(m(b,c)))})),t=c.copy(),u=d.copy()}),v.renderEnd(\"l\
ine immediate\"),b}var c,d,e=a.models.scatter(),f={top:0,right:0,bottom:0,left:0\
},g=960,h=500,i=null,j=1.5,k=a.utils.defaultColor(),l=function(a){return a.x},m\
=function(a){return a.y},n=function(a,b){return!isNaN(m(a,b))&&null!==m(a,b)},o\
=function(a){return a.area},p=!1,q=\"linear\",r=250,s=d3.dispatch(\"elementClick\",\
\"elementMouseover\",\"elementMouseout\",\"renderEnd\");e.pointSize(16).pointDomain([\
16,256]);var t,u,v=a.utils.renderWatch(s,r);return b.dispatch=s,b.scatter=e,e.d\
ispatch.on(\"elementClick\",function(){s.elementClick.apply(this,arguments)}),e.d\
ispatch.on(\"elementMouseover\",function(){s.elementMouseover.apply(this,argument\
s)}),e.dispatch.on(\"elementMouseout\",function(){s.elementMouseout.apply(this,ar\
guments)}),b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{w\
idth:{get:function(){return g},set:function(a){g=a}},height:{get:function(){ret\
urn h},set:function(a){h=a}},defined:{get:function(){return n},set:function(a){\
n=a}},interpolate:{get:function(){return q},set:function(a){q=a}},clipEdge:{get\
:function(){return p},set:function(a){p=a}},margin:{get:function(){return f},se\
t:function(a){f.top=void 0!==a.top?a.top:f.top,f.right=void 0!==a.right?a.right\
:f.right,f.bottom=void 0!==a.bottom?a.bottom:f.bottom,f.left=void 0!==a.left?a.\
left:f.left}},duration:{get:function(){return r},set:function(a){r=a,v.reset(r)\
,e.duration(r)}},isArea:{get:function(){return o},set:function(a){o=d3.functor(\
a)}},x:{get:function(){return l},set:function(a){l=a,e.x(a)}},y:{get:function()\
{return m},set:function(a){m=a,e.y(a)}},color:{get:function(){return k},set:fun\
ction(b){k=a.utils.getColor(b),e.color(k)}}}),a.utils.inheritOptions(b,e),a.uti\
ls.initOptions(b),b},a.models.lineChart=function(){\"use strict\";function b(l){r\
eturn K.reset(),K.models(g),K.models(m),w&&K.models(h),x&&K.models(i),C&&K.mode\
ls(n),
B&&K.models(o),l.each(function(l){function H(){w&&X.select(\".nv-focus .nv-x.nv-\
axis\").transition().duration(J).call(h)}function K(){x&&X.select(\".nv-focus .nv\
-y.nv-axis\").transition().duration(J).call(i)}function N(a){var b=+(\"e\"==a),c=b\
?1:-1,d=T/3;return\"M\"+.5*c+\",\"+d+\"A6,6 0 0 \"+b+\" \"+6.5*c+\",\"+(d+6)+\"V\"+(2*d-6)+\
\"A6,6 0 0 \"+b+\" \"+.5*c+\",\"+2*d+\"ZM\"+2.5*c+\",\"+(d+8)+\"V\"+(2*d-8)+\"M\"+4.5*c+\",\"+(\
d+8)+\"V\"+(2*d-8)}function O(){p.empty()||p.extent(E),aa.data([p.empty()?e.domai\
n():E]).each(function(a,b){var d=e(a[0])-c.range()[0],f=R-e(a[1]);d3.select(thi\
s).select(\".left\").attr(\"width\",0>d?0:d),d3.select(this).select(\".right\").attr(\
\"x\",e(a[1])).attr(\"width\",0>f?0:f)})}function P(){E=p.empty()?null:p.extent();v\
ar a=p.empty()?e.domain():p.extent();if(!(Math.abs(a[0]-a[1])<=1)){I.brush({ext\
ent:a,brush:p}),O();var b=X.select(\".nv-focus .nv-linesWrap\").datum(l.filter(fu\
nction(a){return!a.disabled}).map(function(b,c){return{key:b.key,area:b.area,cl\
assed:b.classed,values:b.values.filter(function(b,c){return g.x()(b,c)>=a[0]&&g\
.x()(b,c)<=a[1]}),disableTooltip:b.disableTooltip}}));b.transition().duration(J\
).call(g),H(),K()}}var Q=d3.select(this);a.utils.initSVG(Q);var R=a.utils.avail\
ableWidth(t,Q,q),S=a.utils.availableHeight(u,Q,q)-(A?D:0),T=D-r.top-r.bottom;if\
(b.update=function(){0===J?Q.call(b):Q.transition().duration(J).call(b)},b.cont\
ainer=this,F.setter(M(l),b.update).getter(L(l)).update(),F.disabled=l.map(funct\
ion(a){return!!a.disabled}),!G){var U;G={};for(U in F)F[U]instanceof Array?G[U]\
=F[U].slice(0):G[U]=F[U]}if(!(l&&l.length&&l.filter(function(a){return a.values\
.length}).length))return a.utils.noData(b,Q),b;Q.selectAll(\".nv-noData\").remove\
(),c=g.xScale(),d=g.yScale(),e=m.xScale(),f=m.yScale();var V=Q.selectAll(\"g.nv-\
wrap.nv-lineChart\").data([l]),W=V.enter().append(\"g\").attr(\"class\",\"nvd3 nv-wra\
p nv-lineChart\").append(\"g\"),X=V.select(\"g\");W.append(\"g\").attr(\"class\",\"nv-leg\
endWrap\");var Y=W.append(\"g\").attr(\"class\",\"nv-focus\");Y.append(\"g\").attr(\"clas\
s\",\"nv-background\").append(\"rect\"),Y.append(\"g\").attr(\"class\",\"nv-x nv-axis\"),Y\
.append(\"g\").attr(\"class\",\"nv-y nv-axis\"),Y.append(\"g\").attr(\"class\",\"nv-linesW\
rap\"),Y.append(\"g\").attr(\"class\",\"nv-interactive\");var Z=W.append(\"g\").attr(\"cl\
ass\",\"nv-context\");Z.append(\"g\").attr(\"class\",\"nv-background\").append(\"rect\"),Z\
.append(\"g\").attr(\"class\",\"nv-x nv-axis\"),Z.append(\"g\").attr(\"class\",\"nv-y nv-a\
xis\"),Z.append(\"g\").attr(\"class\",\"nv-linesWrap\"),Z.append(\"g\").attr(\"class\",\"nv\
-brushBackground\"),Z.append(\"g\").attr(\"class\",\"nv-x nv-brush\"),v&&(j.width(R),X\
.select(\".nv-legendWrap\").datum(l).call(j),q.top!=j.height()&&(q.top=j.height()\
,S=a.utils.availableHeight(u,Q,q)-(A?D:0)),V.select(\".nv-legendWrap\").attr(\"tra\
nsform\",\"translate(0,\"+-q.top+\")\")),V.attr(\"transform\",\"translate(\"+q.left+\",\"+\
q.top+\")\"),y&&X.select(\".nv-y.nv-axis\").attr(\"transform\",\"translate(\"+R+\",0)\"),\
z&&(k.width(R).height(S).margin({left:q.left,top:q.top}).svgContainer(Q).xScale\
(c),V.select(\".nv-interactive\").call(k)),X.select(\".nv-focus .nv-background rec\
t\").attr(\"width\",R).attr(\"height\",S),g.width(R).height(S).color(l.map(function(\
a,b){return a.color||s(a,b)}).filter(function(a,b){return!l[b].disabled}));var \
$=X.select(\".nv-linesWrap\").datum(l.filter(function(a){return!a.disabled}));if(\
w&&h.scale(c)._ticks(a.utils.calcTicksX(R/100,l)).tickSize(-S,0),x&&i.scale(d).\
_ticks(a.utils.calcTicksY(S/36,l)).tickSize(-R,0),X.select(\".nv-focus .nv-x.nv-\
axis\").attr(\"transform\",\"translate(0,\"+S+\")\"),A){m.defined(g.defined()).width(R\
).height(T).color(l.map(function(a,b){return a.color||s(a,b)}).filter(function(\
a,b){return!l[b].disabled})),X.select(\".nv-context\").attr(\"transform\",\"translat\
e(0,\"+(S+q.bottom+r.top)+\")\").style(\"display\",A?\"initial\":\"none\");var _=X.selec\
t(\".nv-context .nv-linesWrap\").datum(l.filter(function(a){return!a.disabled}));\
d3.transition(_).call(m),p.x(e).on(\"brush\",function(){P()}),E&&p.extent(E);var \
aa=X.select(\".nv-brushBackground\").selectAll(\"g\").data([E||p.extent()]),ba=aa.e\
nter().append(\"g\");ba.append(\"rect\").attr(\"class\",\"left\").attr(\"x\",0).attr(\"y\",\
0).attr(\"height\",T),ba.append(\"rect\").attr(\"class\",\"right\").attr(\"x\",0).attr(\"y\
\",0).attr(\"height\",T);var ca=X.select(\".nv-x.nv-brush\").call(p);ca.selectAll(\"r\
ect\").attr(\"height\",T),ca.selectAll(\".resize\").append(\"path\").attr(\"d\",N),P(),X\
.select(\".nv-context .nv-background rect\").attr(\"width\",R).attr(\"height\",T),C&&\
(n.scale(e)._ticks(a.utils.calcTicksX(R/100,l)).tickSize(-T,0),X.select(\".nv-co\
ntext .nv-x.nv-axis\").attr(\"transform\",\"translate(0,\"+f.range()[0]+\")\"),d3.tran\
sition(X.select(\".nv-context .nv-x.nv-axis\")).call(n)),B&&(o.scale(f)._ticks(a.\
utils.calcTicksY(T/36,l)).tickSize(-R,0),d3.transition(X.select(\".nv-context .n\
v-y.nv-axis\")).call(o)),X.select(\".nv-context .nv-x.nv-axis\").attr(\"transform\",\
\"translate(0,\"+f.range()[0]+\")\")}else $.call(g),H(),K();j.dispatch.on(\"stateCha\
nge\",function(a){for(var c in a)F[c]=a[c];I.stateChange(F),b.update()}),k.dispa\
tch.on(\"elementMousemove\",function(d){g.clearHighlights();var f,h,j,m=[];if(l.f\
ilter(function(a,b){return a.seriesIndex=b,!a.disabled&&!a.disableTooltip}).for\
Each(function(i,k){var l=A?p.empty()?e.domain():p.extent():c.domain(),n=i.value\
s.filter(function(a,b){return g.x()(a,b)>=l[0]&&g.x()(a,b)<=l[1]});h=a.interact\
iveBisect(n,d.pointXValue,g.x());var o=n[h],q=b.y()(o,h);null!==q&&g.highlightP\
oint(i.seriesIndex,h,!0),void 0!==o&&(void 0===f&&(f=o),void 0===j&&(j=b.xScale\
()(b.x()(o,h))),m.push({key:i.key,value:q,color:s(i,i.seriesIndex),data:o}))}),\
m.length>2){var n=b.yScale().invert(d.mouseY),o=Math.abs(b.yScale().domain()[0]\
-b.yScale().domain()[1]),q=.03*o,r=a.nearestValueIndex(m.map(function(a){return\
 a.value}),n,q);null!==r&&(m[r].highlight=!0)}k.tooltip.chartContainer(b.contai\
ner.parentNode).valueFormatter(function(a,b){return null===a?\"N/A\":i.tickFormat\
()(a)}).data({value:b.x()(f,h),index:h,series:m})(),k.renderGuideLine(j)}),k.di\
spatch.on(\"elementClick\",function(c){var d,e=[];l.filter(function(a,b){return a\
.seriesIndex=b,!a.disabled}).forEach(function(f){var g=a.interactiveBisect(f.va\
lues,c.pointXValue,b.x()),h=f.values[g];if(\"undefined\"!=typeof h){\"undefined\"==\
typeof d&&(d=b.xScale()(b.x()(h,g)));var i=b.yScale()(b.y()(h,g));e.push({point\
:h,pointIndex:g,pos:[d,i],seriesIndex:f.seriesIndex,series:f})}}),g.dispatch.el\
ementClick(e)}),k.dispatch.on(\"elementMouseout\",function(a){g.clearHighlights()\
}),I.on(\"changeState\",function(a){\"undefined\"!=typeof a.disabled&&l.length===a.\
disabled.length&&(l.forEach(function(b,c){b.disabled=a.disabled[c]}),F.disabled\
=a.disabled),b.update()})}),K.renderEnd(\"lineChart immediate\"),b}var c,d,e,f,g=\
a.models.line(),h=a.models.axis(),i=a.models.axis(),j=a.models.legend(),k=a.int\
eractiveGuideline(),l=a.models.tooltip(),m=a.models.line(),n=a.models.axis(),o=\
a.models.axis(),p=d3.svg.brush(),q={top:30,right:20,bottom:50,left:60},r={top:0\
,right:20,bottom:20,left:60},s=a.utils.defaultColor(),t=null,u=null,v=!0,w=!0,x\
=!0,y=!1,z=!1,A=!1,B=!1,C=!0,D=50,E=null,F=a.utils.state(),G=null,H=null,I=d3.d\
ispatch(\"tooltipShow\",\"tooltipHide\",\"brush\",\"stateChange\",\"changeState\",\"render\
End\"),J=250;h.orient(\"bottom\").tickPadding(7),i.orient(y?\"right\":\"left\"),g.clip\
Edge(!0).duration(0),m.interactive(!1),m.pointActive(function(a){return!1}),n.o\
rient(\"bottom\").tickPadding(5),o.orient(y?\"right\":\"left\"),l.valueFormatter(func\
tion(a,b){return i.tickFormat()(a,b)}).headerFormatter(function(a,b){return h.t\
ickFormat()(a,b)}),k.tooltip.valueFormatter(function(a,b){return i.tickFormat()\
(a,b)}).headerFormatter(function(a,b){return h.tickFormat()(a,b)});var K=a.util\
s.renderWatch(I,J),L=function(a){return function(){return{active:a.map(function\
(a){return!a.disabled})}}},M=function(a){return function(b){void 0!==b.active&&\
a.forEach(function(a,c){a.disabled=!b.active[c]})}};return g.dispatch.on(\"eleme\
ntMouseover.tooltip\",function(a){a.series.disableTooltip||l.data(a).hidden(!1)}\
),g.dispatch.on(\"elementMouseout.tooltip\",function(a){l.hidden(!0)}),b.dispatch\
=I,b.lines=g,b.lines2=m,b.legend=j,b.xAxis=h,b.x2Axis=n,b.yAxis=i,b.y2Axis=o,b.\
interactiveLayer=k,b.tooltip=l,b.state=F,b.dispatch=I,b.options=a.utils.options\
Func.bind(b),b._options=Object.create({},{width:{get:function(){return t},set:f\
unction(a){t=a}},height:{get:function(){return u},set:function(a){u=a}},showLeg\
end:{get:function(){return v},set:function(a){v=a}},showXAxis:{get:function(){r\
eturn w},set:function(a){w=a}},showYAxis:{get:function(){return x},set:function\
(a){x=a}},focusEnable:{get:function(){return A},set:function(a){A=a}},focusHeig\
ht:{get:function(){return height2},set:function(a){D=a}},focusShowAxisX:{get:fu\
nction(){return C},set:function(a){C=a}},focusShowAxisY:{get:function(){return \
B},set:function(a){B=a}},brushExtent:{get:function(){return E},set:function(a){\
E=a}},defaultState:{get:function(){return G},set:function(a){G=a}},noData:{get:\
function(){return H},set:function(a){H=a}},margin:{get:function(){return q},set\
:function(a){q.top=void 0!==a.top?a.top:q.top,q.right=void 0!==a.right?a.right:\
q.right,q.bottom=void 0!==a.bottom?a.bottom:q.bottom,q.left=void 0!==a.left?a.l\
eft:q.left}},duration:{get:function(){return J},set:function(a){J=a,K.reset(J),\
g.duration(J),h.duration(J),n.duration(J),i.duration(J),o.duration(J)}},focusMa\
rgin:{get:function(){return r},set:function(a){r.top=void 0!==a.top?a.top:r.top\
,r.right=void 0!==a.right?a.right:r.right,r.bottom=void 0!==a.bottom?a.bottom:r\
.bottom,r.left=void 0!==a.left?a.left:r.left}},color:{get:function(){return s},\
set:function(b){s=a.utils.getColor(b),j.color(s),g.color(s)}},interpolate:{get:\
function(){return g.interpolate()},set:function(a){g.interpolate(a),m.interpola\
te(a)}},xTickFormat:{get:function(){return h.tickFormat()},set:function(a){h.ti\
ckFormat(a),n.tickFormat(a)}},yTickFormat:{get:function(){return i.tickFormat()\
},set:function(a){i.tickFormat(a),o.tickFormat(a)}},x:{get:function(){return g.\
x()},set:function(a){g.x(a),m.x(a)}},y:{get:function(){return g.y()},set:functi\
on(a){g.y(a),m.y(a)}},rightAlignYAxis:{get:function(){return y},set:function(a)\
{y=a,i.orient(y?\"right\":\"left\")}},useInteractiveGuideline:{get:function(){retur\
n z},set:function(a){z=a,z&&(g.interactive(!1),g.useVoronoi(!1))}}}),a.utils.in\
heritOptions(b,g),a.utils.initOptions(b),b},a.models.lineWithFocusChart=functio\
n(){return a.models.lineChart().margin({bottom:30}).focusEnable(!0)},a.models.l\
inePlusBarChart=function(){\"use strict\";function b(v){return v.each(function(v)\
{function J(a){var b=+(\"e\"==a),c=b?1:-1,d=Z/3;return\"M\"+.5*c+\",\"+d+\"A6,6 0 0 \"+\
b+\" \"+6.5*c+\",\"+(d+6)+\"V\"+(2*d-6)+\"A6,6 0 0 \"+b+\" \"+.5*c+\",\"+2*d+\"ZM\"+2.5*c+\",\"\
+(d+8)+\"V\"+(2*d-8)+\"M\"+4.5*c+\",\"+(d+8)+\"V\"+(2*d-8)}function R(){u.empty()||u.ex\
tent(I),ma.data([u.empty()?e.domain():I]).each(function(a,b){var c=e(a[0])-e.ra\
nge()[0],d=e.range()[1]-e(a[1]);d3.select(this).select(\".left\").attr(\"width\",0>\
c?0:c),d3.select(this).select(\".right\").attr(\"x\",e(a[1])).attr(\"width\",0>d?0:d)\
})}function S(){I=u.empty()?null:u.extent(),c=u.empty()?e.domain():u.extent(),K\
.brush({extent:c,brush:u}),R(),l.width(X).height(Y).color(v.map(function(a,b){r\
eturn a.color||C(a,b)}).filter(function(a,b){return!v[b].disabled&&v[b].bar})),\
j.width(X).height(Y).color(v.map(function(a,b){return a.color||C(a,b)}).filter(\
function(a,b){return!v[b].disabled&&!v[b].bar}));var b=fa.select(\".nv-focus .nv\
-barsWrap\").datum(_.length?_.map(function(a,b){return{key:a.key,values:a.values\
.filter(function(a,b){return l.x()(a,b)>=c[0]&&l.x()(a,b)<=c[1]})}}):[{values:[\
]}]),h=fa.select(\".nv-focus .nv-linesWrap\").datum(V(aa)?[{values:[]}]:aa.filter\
(function(a){return!a.disabled}).map(function(a,b){return{area:a.area,fillOpaci\
ty:a.fillOpacity,key:a.key,values:a.values.filter(function(a,b){return j.x()(a,\
b)>=c[0]&&j.x()(a,b)<=c[1]})}}));d=_.length&&!Q?l.xScale():j.xScale(),n.scale(d\
)._ticks(a.utils.calcTicksX(X/100,v)).tickSize(-Y,0),n.domain([Math.ceil(c[0]),\
Math.floor(c[1])]),fa.select(\".nv-x.nv-axis\").transition().duration(L).call(n),\
b.transition().duration(L).call(l),h.transition().duration(L).call(j),fa.select\
(\".nv-focus .nv-x.nv-axis\").attr(\"transform\",\"translate(0,\"+f.range()[0]+\")\"),p\
.scale(f)._ticks(a.utils.calcTicksY(Y/36,v)).tickSize(-X,0),q.scale(g)._ticks(a\
.utils.calcTicksY(Y/36,v)).tickSize(_.length?0:-X,0);var i=_.length?1:0,k=aa.le\
ngth&&!V(aa)?1:0,m=Q?k:i,o=Q?i:k;fa.select(\".nv-focus .nv-y1.nv-axis\").style(\"o\
pacity\",m),fa.select(\".nv-focus .nv-y2.nv-axis\").style(\"opacity\",o).attr(\"trans\
form\",\"translate(\"+d.range()[1]+\",0)\"),fa.select(\".nv-focus .nv-y1.nv-axis\").tr\
ansition().duration(L).call(p),fa.select(\".nv-focus .nv-y2.nv-axis\").transition\
().duration(L).call(q)}var W=d3.select(this);a.utils.initSVG(W);var X=a.utils.a\
vailableWidth(y,W,w),Y=a.utils.availableHeight(z,W,w)-(E?H:0),Z=H-x.top-x.botto\
m;if(b.update=function(){W.transition().duration(L).call(b)},b.container=this,M\
.setter(U(v),b.update).getter(T(v)).update(),M.disabled=v.map(function(a){retur\
n!!a.disabled}),!N){var $;N={};for($ in M)M[$]instanceof Array?N[$]=M[$].slice(\
0):N[$]=M[$]}if(!(v&&v.length&&v.filter(function(a){return a.values.length}).le\
ngth))return a.utils.noData(b,W),b;W.selectAll(\".nv-noData\").remove();var _=v.f\
ilter(function(a){return!a.disabled&&a.bar}),aa=v.filter(function(a){return!a.b\
ar});d=l.xScale(),e=o.scale(),f=Q?j.yScale():l.yScale(),g=Q?l.yScale():j.yScale\
(),h=Q?k.yScale():m.yScale(),i=Q?m.yScale():k.yScale();var ba=v.filter(function\
(a){return!a.disabled&&(Q?!a.bar:a.bar)}).map(function(a){return a.values.map(f\
unction(a,b){return{x:A(a,b),y:B(a,b)}})}),ca=v.filter(function(a){return!a.dis\
abled&&(Q?a.bar:!a.bar)}).map(function(a){return a.values.map(function(a,b){ret\
urn{x:A(a,b),y:B(a,b)}})});d.range([0,X]),e.domain(d3.extent(d3.merge(ba.concat\
(ca)),function(a){return a.x})).range([0,X]);var da=W.selectAll(\"g.nv-wrap.nv-l\
inePlusBar\").data([v]),ea=da.enter().append(\"g\").attr(\"class\",\"nvd3 nv-wrap nv-\
linePlusBar\").append(\"g\"),fa=da.select(\"g\");ea.append(\"g\").attr(\"class\",\"nv-leg\
endWrap\");var ga=ea.append(\"g\").attr(\"class\",\"nv-focus\");ga.append(\"g\").attr(\"c\
lass\",\"nv-x nv-axis\"),ga.append(\"g\").attr(\"class\",\"nv-y1 nv-axis\"),ga.append(\"g\
\").attr(\"class\",\"nv-y2 nv-axis\"),ga.append(\"g\").attr(\"class\",\"nv-barsWrap\"),ga.\
append(\"g\").attr(\"class\",\"nv-linesWrap\");var ha=ea.append(\"g\").attr(\"class\",\"nv\
-context\");if(ha.append(\"g\").attr(\"class\",\"nv-x nv-axis\"),ha.append(\"g\").attr(\"\
class\",\"nv-y1 nv-axis\"),ha.append(\"g\").attr(\"class\",\"nv-y2 nv-axis\"),ha.append(\
\"g\").attr(\"class\",\"nv-barsWrap\"),ha.append(\"g\").attr(\"class\",\"nv-linesWrap\"),ha\
.append(\"g\").attr(\"class\",\"nv-brushBackground\"),ha.append(\"g\").attr(\"class\",\"nv\
-x nv-brush\"),D){var ia=t.align()?X/2:X,ja=t.align()?ia:0;t.width(ia),fa.select\
(\".nv-legendWrap\").datum(v.map(function(a){return a.originalKey=void 0===a.orig\
inalKey?a.key:a.originalKey,Q?a.key=a.originalKey+(a.bar?P:O):a.key=a.originalK\
ey+(a.bar?O:P),a})).call(t),w.top!=t.height()&&(w.top=t.height(),Y=a.utils.avai\
lableHeight(z,W,w)-H),fa.select(\".nv-legendWrap\").attr(\"transform\",\"translate(\"\
+ja+\",\"+-w.top+\")\")}da.attr(\"transform\",\"translate(\"+w.left+\",\"+w.top+\")\"),fa.s\
elect(\".nv-context\").style(\"display\",E?\"initial\":\"none\"),m.width(X).height(Z).c\
olor(v.map(function(a,b){return a.color||C(a,b)}).filter(function(a,b){return!v\
[b].disabled&&v[b].bar})),k.width(X).height(Z).color(v.map(function(a,b){return\
 a.color||C(a,b)}).filter(function(a,b){return!v[b].disabled&&!v[b].bar}));var \
ka=fa.select(\".nv-context .nv-barsWrap\").datum(_.length?_:[{values:[]}]),la=fa.\
select(\".nv-context .nv-linesWrap\").datum(V(aa)?[{values:[]}]:aa.filter(functio\
n(a){return!a.disabled}));fa.select(\".nv-context\").attr(\"transform\",\"translate(\
0,\"+(Y+w.bottom+x.top)+\")\"),ka.transition().call(m),la.transition().call(k),G&&\
(o._ticks(a.utils.calcTicksX(X/100,v)).tickSize(-Z,0),fa.select(\".nv-context .n\
v-x.nv-axis\").attr(\"transform\",\"translate(0,\"+h.range()[0]+\")\"),fa.select(\".nv-\
context .nv-x.nv-axis\").transition().call(o)),F&&(r.scale(h)._ticks(Z/36).tickS\
ize(-X,0),s.scale(i)._ticks(Z/36).tickSize(_.length?0:-X,0),fa.select(\".nv-cont\
ext .nv-y3.nv-axis\").style(\"opacity\",_.length?1:0).attr(\"transform\",\"translate(\
0,\"+e.range()[0]+\")\"),fa.select(\".nv-context .nv-y2.nv-axis\").style(\"opacity\",a\
a.length?1:0).attr(\"transform\",\"translate(\"+e.range()[1]+\",0)\"),fa.select(\".nv-\
context .nv-y1.nv-axis\").transition().call(r),fa.select(\".nv-context .nv-y2.nv-\
axis\").transition().call(s)),u.x(e).on(\"brush\",S),I&&u.extent(I);var ma=fa.sele\
ct(\".nv-brushBackground\").selectAll(\"g\").data([I||u.extent()]),na=ma.enter().ap\
pend(\"g\");na.append(\"rect\").attr(\"class\",\"left\").attr(\"x\",0).attr(\"y\",0).attr(\"\
height\",Z),na.append(\"rect\").attr(\"class\",\"right\").attr(\"x\",0).attr(\"y\",0).attr\
(\"height\",Z);var oa=fa.select(\".nv-x.nv-brush\").call(u);oa.selectAll(\"rect\").at\
tr(\"height\",Z),oa.selectAll(\".resize\").append(\"path\").attr(\"d\",J),t.dispatch.on\
(\"stateChange\",function(a){for(var c in a)M[c]=a[c];K.stateChange(M),b.update()\
}),K.on(\"changeState\",function(a){\"undefined\"!=typeof a.disabled&&(v.forEach(fu\
nction(b,c){b.disabled=a.disabled[c]}),M.disabled=a.disabled),b.update()}),S()}\
),b}var c,d,e,f,g,h,i,j=a.models.line(),k=a.models.line(),l=a.models.historical\
Bar(),m=a.models.historicalBar(),n=a.models.axis(),o=a.models.axis(),p=a.models\
.axis(),q=a.models.axis(),r=a.models.axis(),s=a.models.axis(),t=a.models.legend\
(),u=d3.svg.brush(),v=a.models.tooltip(),w={top:30,right:30,bottom:30,left:60},\
x={top:0,right:30,bottom:20,left:60},y=null,z=null,A=function(a){return a.x},B=\
function(a){return a.y},C=a.utils.defaultColor(),D=!0,E=!0,F=!1,G=!0,H=50,I=nul\
l,J=null,K=d3.dispatch(\"brush\",\"stateChange\",\"changeState\"),L=0,M=a.utils.state\
(),N=null,O=\" (left axis)\",P=\" (right axis)\",Q=!1;j.clipEdge(!0),k.interactive(\
!1),k.pointActive(function(a){return!1}),n.orient(\"bottom\").tickPadding(5),p.or\
ient(\"left\"),q.orient(\"right\"),o.orient(\"bottom\").tickPadding(5),r.orient(\"left\
\"),s.orient(\"right\"),v.headerEnabled(!0).headerFormatter(function(a,b){return n\
.tickFormat()(a,b)});var R=function(){return Q?{main:p,focus:r}:{main:q,focus:s\
}},S=function(){return Q?{main:q,focus:s}:{main:p,focus:r}},T=function(a){retur\
n function(){return{active:a.map(function(a){return!a.disabled})}}},U=function(\
a){return function(b){void 0!==b.active&&a.forEach(function(a,c){a.disabled=!b.\
active[c]})}},V=function(a){return a.every(function(a){return a.disabled})};ret\
urn j.dispatch.on(\"elementMouseover.tooltip\",function(a){v.duration(100).valueF\
ormatter(function(a,b){return S().main.tickFormat()(a,b)}).data(a).hidden(!1)})\
,j.dispatch.on(\"elementMouseout.tooltip\",function(a){v.hidden(!0)}),l.dispatch.\
on(\"elementMouseover.tooltip\",function(a){a.value=b.x()(a.data),a.series={value\
:b.y()(a.data),color:a.color},v.duration(0).valueFormatter(function(a,b){return\
 R().main.tickFormat()(a,b)}).data(a).hidden(!1)}),l.dispatch.on(\"elementMouseo\
ut.tooltip\",function(a){v.hidden(!0)}),l.dispatch.on(\"elementMousemove.tooltip\"\
,function(a){v()}),b.dispatch=K,b.legend=t,b.lines=j,b.lines2=k,b.bars=l,b.bars\
2=m,b.xAxis=n,b.x2Axis=o,b.y1Axis=p,b.y2Axis=q,b.y3Axis=r,b.y4Axis=s,b.tooltip=\
v,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{width:{get\
:function(){return y},set:function(a){y=a}},height:{get:function(){return z},se\
t:function(a){z=a}},showLegend:{get:function(){return D},set:function(a){D=a}},\
brushExtent:{get:function(){return I},set:function(a){I=a}},noData:{get:functio\
n(){return J},set:function(a){J=a}},focusEnable:{get:function(){return E},set:f\
unction(a){E=a}},focusHeight:{get:function(){return H},set:function(a){H=a}},fo\
cusShowAxisX:{get:function(){return G},set:function(a){G=a}},focusShowAxisY:{ge\
t:function(){return F},set:function(a){F=a}},legendLeftAxisHint:{get:function()\
{return O},set:function(a){O=a}},legendRightAxisHint:{get:function(){return P},\
set:function(a){P=a}},margin:{get:function(){return w},set:function(a){w.top=vo\
id 0!==a.top?a.top:w.top,w.right=void 0!==a.right?a.right:w.right,w.bottom=void\
 0!==a.bottom?a.bottom:w.bottom,w.left=void 0!==a.left?a.left:w.left}},focusMar\
gin:{get:function(){return x},set:function(a){x.top=void 0!==a.top?a.top:x.top,\
x.right=void 0!==a.right?a.right:x.right,x.bottom=void 0!==a.bottom?a.bottom:x.\
bottom,x.left=void 0!==a.left?a.left:x.left}},duration:{get:function(){return L\
},set:function(a){L=a}},color:{get:function(){return C},set:function(b){C=a.uti\
ls.getColor(b),t.color(C)}},x:{get:function(){return A},set:function(a){A=a,j.x\
(a),k.x(a),l.x(a),m.x(a)}},y:{get:function(){return B},set:function(a){B=a,j.y(\
a),k.y(a),l.y(a),m.y(a)}},switchYAxisOrder:{get:function(){return Q},set:functi\
on(a){if(Q!==a){var b=p.tickFormat();p.tickFormat(q.tickFormat()),q.tickFormat(\
b)}Q=a}}}),a.utils.inheritOptions(b,j),a.utils.initOptions(b),b},a.models.multi\
Bar=function(){\"use strict\";function b(E){return C.reset(),E.each(function(b){v\
ar E=k-j.left-j.right,F=l-j.top-j.bottom;p=d3.select(this),a.utils.initSVG(p);v\
ar G=0;if(x&&b.length&&(x=[{values:b[0].values.map(function(a){return{x:a.x,y:0\
,series:a.series,size:.01}})}]),u){var H=d3.layout.stack().offset(v).values(fun\
ction(a){return a.values}).y(r)(!b.length&&x?x:b);H.forEach(function(a,c){a.non\
Stackable?(b[c].nonStackableSeries=G++,H[c]=b[c]):c>0&&H[c-1].nonStackable&&H[c\
].values.map(function(a,b){a.y0-=H[c-1].values[b].y,a.y1=a.y0+a.y})}),b=H}b.for\
Each(function(a,b){a.values.forEach(function(c){c.series=b,c.key=a.key})}),u&&b\
[0].values.map(function(a,c){var d=0,e=0;b.map(function(a,f){if(!b[f].nonStacka\
ble){var g=a.values[c];g.size=Math.abs(g.y),g.y<0?(g.y1=e,e-=g.size):(g.y1=g.si\
ze+d,d+=g.size)}})});var I=d&&e?[]:b.map(function(a,b){return a.values.map(func\
tion(a,c){return{x:q(a,c),y:r(a,c),y0:a.y0,y1:a.y1,idx:b}})});m.domain(d||d3.me\
rge(I).map(function(a){return a.x})).rangeBands(f||[0,E],A),n.domain(e||d3.exte\
nt(d3.merge(I).map(function(a){var c=a.y;return u&&!b[a.idx].nonStackable&&(c=a\
.y>0?a.y1:a.y1+a.y),c}).concat(s))).range(g||[F,0]),m.domain()[0]===m.domain()[\
1]&&(m.domain()[0]?m.domain([m.domain()[0]-.01*m.domain()[0],m.domain()[1]+.01*\
m.domain()[1]]):m.domain([-1,1])),n.domain()[0]===n.domain()[1]&&(n.domain()[0]\
?n.domain([n.domain()[0]+.01*n.domain()[0],n.domain()[1]-.01*n.domain()[1]]):n.\
domain([-1,1])),h=h||m,i=i||n;var J=p.selectAll(\"g.nv-wrap.nv-multibar\").data([\
b]),K=J.enter().append(\"g\").attr(\"class\",\"nvd3 nv-wrap nv-multibar\"),L=K.append\
(\"defs\"),M=K.append(\"g\"),N=J.select(\"g\");M.append(\"g\").attr(\"class\",\"nv-groups\"\
),J.attr(\"transform\",\"translate(\"+j.left+\",\"+j.top+\")\"),L.append(\"clipPath\").at\
tr(\"id\",\"nv-edge-clip-\"+o).append(\"rect\"),J.select(\"#nv-edge-clip-\"+o+\" rect\").\
attr(\"width\",E).attr(\"height\",F),N.attr(\"clip-path\",t?\"url(#nv-edge-clip-\"+o+\")\
\":\"\");var O=J.select(\".nv-groups\").selectAll(\".nv-group\").data(function(a){retu\
rn a},function(a,b){return b});O.enter().append(\"g\").style(\"stroke-opacity\",1e-\
6).style(\"fill-opacity\",1e-6);var P=C.transition(O.exit().selectAll(\"rect.nv-ba\
r\"),\"multibarExit\",Math.min(100,z)).attr(\"y\",function(a,c,d){var e=i(0)||0;retu\
rn u&&b[a.series]&&!b[a.series].nonStackable&&(e=i(a.y0)),e}).attr(\"height\",0).\
remove();P.delay&&P.delay(function(a,b){var c=b*(z/(D+1))-b;return c}),O.attr(\"\
class\",function(a,b){return\"nv-group nv-series-\"+b}).classed(\"hover\",function(a\
){return a.hover}).style(\"fill\",function(a,b){return w(a,b)}).style(\"stroke\",fu\
nction(a,b){return w(a,b)}),O.style(\"stroke-opacity\",1).style(\"fill-opacity\",.7\
5);var Q=O.selectAll(\"rect.nv-bar\").data(function(a){return x&&!b.length?x.valu\
es:a.values});Q.exit().remove();Q.enter().append(\"rect\").attr(\"class\",function(\
a,b){return r(a,b)<0?\"nv-bar negative\":\"nv-bar positive\"}).attr(\"x\",function(a,\
c,d){return u&&!b[d].nonStackable?0:d*m.rangeBand()/b.length}).attr(\"y\",functio\
n(a,c,d){return i(u&&!b[d].nonStackable?a.y0:0)||0}).attr(\"height\",0).attr(\"wid\
th\",function(a,c,d){return m.rangeBand()/(u&&!b[d].nonStackable?1:b.length)}).a\
ttr(\"transform\",function(a,b){return\"translate(\"+m(q(a,b))+\",0)\"});Q.style(\"fil\
l\",function(a,b,c){return w(a,c,b)}).style(\"stroke\",function(a,b,c){return w(a,\
c,b)}).on(\"mouseover\",function(a,b){d3.select(this).classed(\"hover\",!0),B.eleme\
ntMouseover({data:a,index:b,color:d3.select(this).style(\"fill\")})}).on(\"mouseou\
t\",function(a,b){d3.select(this).classed(\"hover\",!1),B.elementMouseout({data:a,\
index:b,color:d3.select(this).style(\"fill\")})}).on(\"mousemove\",function(a,b){B.\
elementMousemove({data:a,index:b,color:d3.select(this).style(\"fill\")})}).on(\"cl\
ick\",function(a,b){var c=this;B.elementClick({data:a,index:b,color:d3.select(th\
is).style(\"fill\"),event:d3.event,element:c}),d3.event.stopPropagation()}).on(\"d\
blclick\",function(a,b){B.elementDblClick({data:a,index:b,color:d3.select(this).\
style(\"fill\")}),d3.event.stopPropagation()}),Q.attr(\"class\",function(a,b){retur\
n r(a,b)<0?\"nv-bar negative\":\"nv-bar positive\"}).attr(\"transform\",function(a,b)\
{return\"translate(\"+m(q(a,b))+\",0)\"}),y&&(c||(c=b.map(function(){return!0})),Q.\
style(\"fill\",function(a,b,d){return d3.rgb(y(a,b)).darker(c.map(function(a,b){r\
eturn b}).filter(function(a,b){return!c[b]})[d]).toString()}).style(\"stroke\",fu\
nction(a,b,d){return d3.rgb(y(a,b)).darker(c.map(function(a,b){return b}).filte\
r(function(a,b){return!c[b]})[d]).toString()}));var R=Q.watchTransition(C,\"mult\
ibar\",Math.min(250,z)).delay(function(a,c){return c*z/b[0].values.length});u?R.\
attr(\"y\",function(a,c,d){var e=0;return e=b[d].nonStackable?r(a,c)<0?n(0):n(0)-\
n(r(a,c))<-1?n(0)-1:n(r(a,c))||0:n(a.y1)}).attr(\"height\",function(a,c,d){return\
 b[d].nonStackable?Math.max(Math.abs(n(r(a,c))-n(0)),0)||0:Math.max(Math.abs(n(\
a.y+a.y0)-n(a.y0)),0)}).attr(\"x\",function(a,c,d){var e=0;return b[d].nonStackab\
le&&(e=a.series*m.rangeBand()/b.length,b.length!==G&&(e=b[d].nonStackableSeries\
*m.rangeBand()/(2*G))),e}).attr(\"width\",function(a,c,d){if(b[d].nonStackable){v\
ar e=m.rangeBand()/G;return b.length!==G&&(e=m.rangeBand()/(2*G)),e}return m.ra\
ngeBand()}):R.attr(\"x\",function(a,c){return a.series*m.rangeBand()/b.length}).a\
ttr(\"width\",m.rangeBand()/b.length).attr(\"y\",function(a,b){return r(a,b)<0?n(0)\
:n(0)-n(r(a,b))<1?n(0)-1:n(r(a,b))||0}).attr(\"height\",function(a,b){return Math\
.max(Math.abs(n(r(a,b))-n(0)),1)||0}),h=m.copy(),i=n.copy(),b[0]&&b[0].values&&\
(D=b[0].values.length)}),C.renderEnd(\"multibar immediate\"),b}var c,d,e,f,g,h,i,\
j={top:0,right:0,bottom:0,left:0},k=960,l=500,m=d3.scale.ordinal(),n=d3.scale.l\
inear(),o=Math.floor(1e4*Math.random()),p=null,q=function(a){return a.x},r=func\
tion(a){return a.y},s=[0],t=!0,u=!1,v=\"zero\",w=a.utils.defaultColor(),x=!1,y=nu\
ll,z=500,A=.1,B=d3.dispatch(\"chartClick\",\"elementClick\",\"elementDblClick\",\"elem\
entMouseover\",\"elementMouseout\",\"elementMousemove\",\"renderEnd\"),C=a.utils.rende\
rWatch(B,z),D=0;return b.dispatch=B,b.options=a.utils.optionsFunc.bind(b),b._op\
tions=Object.create({},{width:{get:function(){return k},set:function(a){k=a}},h\
eight:{get:function(){return l},set:function(a){l=a}},x:{get:function(){return \
q},set:function(a){q=a}},y:{get:function(){return r},set:function(a){r=a}},xSca\
le:{get:function(){return m},set:function(a){m=a}},yScale:{get:function(){retur\
n n},set:function(a){n=a}},xDomain:{get:function(){return d},set:function(a){d=\
a}},yDomain:{get:function(){return e},set:function(a){e=a}},xRange:{get:functio\
n(){return f},set:function(a){f=a}},yRange:{get:function(){return g},set:functi\
on(a){g=a}},forceY:{get:function(){return s},set:function(a){s=a}},stacked:{get\
:function(){return u},set:function(a){u=a}},stackOffset:{get:function(){return \
v},set:function(a){v=a}},clipEdge:{get:function(){return t},set:function(a){t=a\
}},disabled:{get:function(){return c},set:function(a){c=a}},id:{get:function(){\
return o},set:function(a){o=a}},hideable:{get:function(){return x},set:function\
(a){x=a}},groupSpacing:{get:function(){return A},set:function(a){A=a}},margin:{\
get:function(){return j},set:function(a){j.top=void 0!==a.top?a.top:j.top,j.rig\
ht=void 0!==a.right?a.right:j.right,j.bottom=void 0!==a.bottom?a.bottom:j.botto\
m,j.left=void 0!==a.left?a.left:j.left}},duration:{get:function(){return z},set\
:function(a){z=a,C.reset(z)}},color:{get:function(){return w},set:function(b){w\
=a.utils.getColor(b)}},barColor:{get:function(){return y},set:function(b){y=b?a\
.utils.getColor(b):null}}}),a.utils.initOptions(b),b},a.models.multiBarChart=fu\
nction(){\"use strict\";function b(B){return G.reset(),G.models(e),s&&G.models(f)\
,t&&G.models(g),B.each(function(B){var G=d3.select(this),K=this;a.utils.initSVG\
(G);var L=a.utils.availableWidth(m,G,l),M=a.utils.availableHeight(n,G,l);if(b.u\
pdate=function(){0===E?G.call(b):G.transition().duration(E).call(b)},b.containe\
r=this,z.setter(J(B),b.update).getter(I(B)).update(),z.disabled=B.map(function(\
a){return!!a.disabled}),!A){var N;A={};for(N in z)z[N]instanceof Array?A[N]=z[N\
].slice(0):A[N]=z[N]}if(!(B&&B.length&&B.filter(function(a){return a.values.len\
gth}).length))return a.utils.noData(b,G),b;G.selectAll(\".nv-noData\").remove(),c\
=e.xScale(),d=e.yScale();var O=G.selectAll(\"g.nv-wrap.nv-multiBarWithLegend\").d\
ata([B]),P=O.enter().append(\"g\").attr(\"class\",\"nvd3 nv-wrap nv-multiBarWithLege\
nd\").append(\"g\"),Q=O.select(\"g\");if(P.append(\"g\").attr(\"class\",\"nv-x nv-axis\"),\
P.append(\"g\").attr(\"class\",\"nv-y nv-axis\"),P.append(\"g\").attr(\"class\",\"nv-barsW\
rap\"),P.append(\"g\").attr(\"class\",\"nv-legendWrap\"),P.append(\"g\").attr(\"class\",\"n\
v-controlsWrap\"),P.append(\"g\").attr(\"class\",\"nv-interactive\"),r&&(i.width(L-D()\
),Q.select(\".nv-legendWrap\").datum(B).call(i),l.top!=i.height()&&(l.top=i.heigh\
t(),M=a.utils.availableHeight(n,G,l)),Q.select(\".nv-legendWrap\").attr(\"transfor\
m\",\"translate(\"+D()+\",\"+-l.top+\")\")),p){var R=[{key:q.grouped||\"Grouped\",disabl\
ed:e.stacked()},{key:q.stacked||\"Stacked\",disabled:!e.stacked()}];j.width(D()).\
color([\"#444\",\"#444\",\"#444\"]),Q.select(\".nv-controlsWrap\").datum(R).attr(\"trans\
form\",\"translate(0,\"+-l.top+\")\").call(j)}O.attr(\"transform\",\"translate(\"+l.left\
+\",\"+l.top+\")\"),u&&Q.select(\".nv-y.nv-axis\").attr(\"transform\",\"translate(\"+L+\",\
0)\"),e.disabled(B.map(function(a){return a.disabled})).width(L).height(M).color\
(B.map(function(a,b){return a.color||o(a,b)}).filter(function(a,b){return!B[b].\
disabled}));var S=Q.select(\".nv-barsWrap\").datum(B.filter(function(a){return!a.\
disabled}));if(S.call(e),s){f.scale(c)._ticks(a.utils.calcTicksX(L/100,B)).tick\
Size(-M,0),Q.select(\".nv-x.nv-axis\").attr(\"transform\",\"translate(0,\"+d.range()[\
0]+\")\"),Q.select(\".nv-x.nv-axis\").call(f);var T=Q.select(\".nv-x.nv-axis > g\").s\
electAll(\"g\");if(T.selectAll(\"line, text\").style(\"opacity\",1),w){var U=function\
(a,b){return\"translate(\"+a+\",\"+b+\")\"},V=5,W=17;T.selectAll(\"text\").attr(\"transf\
orm\",function(a,b,c){return U(0,c%2==0?V:W)});var X=d3.selectAll(\".nv-x.nv-axis\
 .nv-wrap g g text\")[0].length;Q.selectAll(\".nv-x.nv-axis .nv-axisMaxMin text\")\
.attr(\"transform\",function(a,b){return U(0,0===b||X%2!==0?W:V)})}x&&Q.selectAll\
(\".tick text\").call(a.utils.wrapTicks,b.xAxis.rangeBand()),v&&T.filter(function\
(a,b){return b%Math.ceil(B[0].values.length/(L/100))!==0}).selectAll(\"text, lin\
e\").style(\"opacity\",0),y&&T.selectAll(\".tick text\").attr(\"transform\",\"rotate(\"+\
y+\" 0,0)\").style(\"text-anchor\",y>0?\"start\":\"end\"),Q.select(\".nv-x.nv-axis\").sel\
ectAll(\"g.nv-axisMaxMin text\").style(\"opacity\",1)}t&&(g.scale(d)._ticks(a.utils\
.calcTicksY(M/36,B)).tickSize(-L,0),Q.select(\".nv-y.nv-axis\").call(g)),F&&(h.wi\
dth(L).height(M).margin({left:l.left,top:l.top}).svgContainer(G).xScale(c),O.se\
lect(\".nv-interactive\").call(h)),i.dispatch.on(\"stateChange\",function(a){for(va\
r c in a)z[c]=a[c];C.stateChange(z),b.update()}),j.dispatch.on(\"legendClick\",fu\
nction(a,c){if(a.disabled){switch(R=R.map(function(a){return a.disabled=!0,a}),\
a.disabled=!1,a.key){case\"Grouped\":case q.grouped:e.stacked(!1);break;case\"Stac\
ked\":case q.stacked:e.stacked(!0)}z.stacked=e.stacked(),C.stateChange(z),b.upda\
te()}}),C.on(\"changeState\",function(a){\"undefined\"!=typeof a.disabled&&(B.forEa\
ch(function(b,c){b.disabled=a.disabled[c]}),z.disabled=a.disabled),\"undefined\"!\
=typeof a.stacked&&(e.stacked(a.stacked),z.stacked=a.stacked,H=a.stacked),b.upd\
ate()}),F?(h.dispatch.on(\"elementMousemove\",function(a){if(void 0!=a.pointXValu\
e){var d,e,f,g,i=[];B.filter(function(a,b){return a.seriesIndex=b,!a.disabled})\
.forEach(function(h,j){e=c.domain().indexOf(a.pointXValue);var k=h.values[e];vo\
id 0!==k&&(g=k.x,void 0===d&&(d=k),void 0===f&&(f=a.mouseX),i.push({key:h.key,v\
alue:b.y()(k,e),
color:o(h,h.seriesIndex),data:h.values[e]}))}),h.tooltip.chartContainer(K.paren\
tNode).data({value:g,index:e,series:i})(),h.renderGuideLine(f)}}),h.dispatch.on\
(\"elementMouseout\",function(a){h.tooltip.hidden(!0)})):(e.dispatch.on(\"elementM\
ouseover.tooltip\",function(a){a.value=b.x()(a.data),a.series={key:a.data.key,va\
lue:b.y()(a.data),color:a.color},k.data(a).hidden(!1)}),e.dispatch.on(\"elementM\
ouseout.tooltip\",function(a){k.hidden(!0)}),e.dispatch.on(\"elementMousemove.too\
ltip\",function(a){k()}))}),G.renderEnd(\"multibarchart immediate\"),b}var c,d,e=a\
.models.multiBar(),f=a.models.axis(),g=a.models.axis(),h=a.interactiveGuideline\
(),i=a.models.legend(),j=a.models.legend(),k=a.models.tooltip(),l={top:30,right\
:20,bottom:50,left:60},m=null,n=null,o=a.utils.defaultColor(),p=!0,q={},r=!0,s=\
!0,t=!0,u=!1,v=!0,w=!1,x=!1,y=0,z=a.utils.state(),A=null,B=null,C=d3.dispatch(\"\
stateChange\",\"changeState\",\"renderEnd\"),D=function(){return p?180:0},E=250,F=!1\
;z.stacked=!1,e.stacked(!1),f.orient(\"bottom\").tickPadding(7).showMaxMin(!1).ti\
ckFormat(function(a){return a}),g.orient(u?\"right\":\"left\").tickFormat(d3.format\
(\",.1f\")),k.duration(0).valueFormatter(function(a,b){return g.tickFormat()(a,b)\
}).headerFormatter(function(a,b){return f.tickFormat()(a,b)}),j.updateState(!1)\
;var G=a.utils.renderWatch(C),H=!1,I=function(a){return function(){return{activ\
e:a.map(function(a){return!a.disabled}),stacked:H}}},J=function(a){return funct\
ion(b){void 0!==b.stacked&&(H=b.stacked),void 0!==b.active&&a.forEach(function(\
a,c){a.disabled=!b.active[c]})}};return b.dispatch=C,b.multibar=e,b.legend=i,b.\
controls=j,b.xAxis=f,b.yAxis=g,b.state=z,b.tooltip=k,b.interactiveLayer=h,b.opt\
ions=a.utils.optionsFunc.bind(b),b._options=Object.create({},{width:{get:functi\
on(){return m},set:function(a){m=a}},height:{get:function(){return n},set:funct\
ion(a){n=a}},showLegend:{get:function(){return r},set:function(a){r=a}},showCon\
trols:{get:function(){return p},set:function(a){p=a}},controlLabels:{get:functi\
on(){return q},set:function(a){q=a}},showXAxis:{get:function(){return s},set:fu\
nction(a){s=a}},showYAxis:{get:function(){return t},set:function(a){t=a}},defau\
ltState:{get:function(){return A},set:function(a){A=a}},noData:{get:function(){\
return B},set:function(a){B=a}},reduceXTicks:{get:function(){return v},set:func\
tion(a){v=a}},rotateLabels:{get:function(){return y},set:function(a){y=a}},stag\
gerLabels:{get:function(){return w},set:function(a){w=a}},wrapLabels:{get:funct\
ion(){return x},set:function(a){x=!!a}},margin:{get:function(){return l},set:fu\
nction(a){l.top=void 0!==a.top?a.top:l.top,l.right=void 0!==a.right?a.right:l.r\
ight,l.bottom=void 0!==a.bottom?a.bottom:l.bottom,l.left=void 0!==a.left?a.left\
:l.left}},duration:{get:function(){return E},set:function(a){E=a,e.duration(E),\
f.duration(E),g.duration(E),G.reset(E)}},color:{get:function(){return o},set:fu\
nction(b){o=a.utils.getColor(b),i.color(o)}},rightAlignYAxis:{get:function(){re\
turn u},set:function(a){u=a,g.orient(u?\"right\":\"left\")}},useInteractiveGuidelin\
e:{get:function(){return F},set:function(a){F=a}},barColor:{get:function(){retu\
rn e.barColor},set:function(a){e.barColor(a),i.color(function(a,b){return d3.rg\
b(\"#ccc\").darker(1.5*b).toString()})}}}),a.utils.inheritOptions(b,e),a.utils.in\
itOptions(b),b},a.models.multiBarHorizontal=function(){\"use strict\";function b(\
m){return E.reset(),m.each(function(b){var m=k-j.left-j.right,C=l-j.top-j.botto\
m;n=d3.select(this),a.utils.initSVG(n),w&&(b=d3.layout.stack().offset(\"zero\").v\
alues(function(a){return a.values}).y(r)(b)),b.forEach(function(a,b){a.values.f\
orEach(function(c){c.series=b,c.key=a.key})}),w&&b[0].values.map(function(a,c){\
var d=0,e=0;b.map(function(a){var b=a.values[c];b.size=Math.abs(b.y),b.y<0?(b.y\
1=e-b.size,e-=b.size):(b.y1=d,d+=b.size)})});var F=d&&e?[]:b.map(function(a){re\
turn a.values.map(function(a,b){return{x:q(a,b),y:r(a,b),y0:a.y0,y1:a.y1}})});o\
.domain(d||d3.merge(F).map(function(a){return a.x})).rangeBands(f||[0,C],A),p.d\
omain(e||d3.extent(d3.merge(F).map(function(a){return w?a.y>0?a.y1+a.y:a.y1:a.y\
}).concat(t))),x&&!w?p.range(g||[p.domain()[0]<0?z:0,m-(p.domain()[1]>0?z:0)]):\
p.range(g||[0,m]),h=h||o,i=i||d3.scale.linear().domain(p.domain()).range([p(0),\
p(0)]);var G=d3.select(this).selectAll(\"g.nv-wrap.nv-multibarHorizontal\").data(\
[b]),H=G.enter().append(\"g\").attr(\"class\",\"nvd3 nv-wrap nv-multibarHorizontal\")\
,I=(H.append(\"defs\"),H.append(\"g\"));G.select(\"g\");I.append(\"g\").attr(\"class\",\"n\
v-groups\"),G.attr(\"transform\",\"translate(\"+j.left+\",\"+j.top+\")\");var J=G.select\
(\".nv-groups\").selectAll(\".nv-group\").data(function(a){return a},function(a,b){\
return b});J.enter().append(\"g\").style(\"stroke-opacity\",1e-6).style(\"fill-opaci\
ty\",1e-6),J.exit().watchTransition(E,\"multibarhorizontal: exit groups\").style(\"\
stroke-opacity\",1e-6).style(\"fill-opacity\",1e-6).remove(),J.attr(\"class\",functi\
on(a,b){return\"nv-group nv-series-\"+b}).classed(\"hover\",function(a){return a.ho\
ver}).style(\"fill\",function(a,b){return u(a,b)}).style(\"stroke\",function(a,b){r\
eturn u(a,b)}),J.watchTransition(E,\"multibarhorizontal: groups\").style(\"stroke-\
opacity\",1).style(\"fill-opacity\",.75);var K=J.selectAll(\"g.nv-bar\").data(functi\
on(a){return a.values});K.exit().remove();var L=K.enter().append(\"g\").attr(\"tra\
nsform\",function(a,c,d){return\"translate(\"+i(w?a.y0:0)+\",\"+(w?0:d*o.rangeBand()\
/b.length+o(q(a,c)))+\")\"});L.append(\"rect\").attr(\"width\",0).attr(\"height\",o.ran\
geBand()/(w?1:b.length)),K.on(\"mouseover\",function(a,b){d3.select(this).classed\
(\"hover\",!0),D.elementMouseover({data:a,index:b,color:d3.select(this).style(\"fi\
ll\")})}).on(\"mouseout\",function(a,b){d3.select(this).classed(\"hover\",!1),D.elem\
entMouseout({data:a,index:b,color:d3.select(this).style(\"fill\")})}).on(\"mouseou\
t\",function(a,b){D.elementMouseout({data:a,index:b,color:d3.select(this).style(\
\"fill\")})}).on(\"mousemove\",function(a,b){D.elementMousemove({data:a,index:b,col\
or:d3.select(this).style(\"fill\")})}).on(\"click\",function(a,b){D.elementClick({d\
ata:a,index:b,color:d3.select(this).style(\"fill\")}),d3.event.stopPropagation()}\
).on(\"dblclick\",function(a,b){D.elementDblClick({data:a,index:b,color:d3.select\
(this).style(\"fill\")}),d3.event.stopPropagation()}),s(b[0],0)&&(L.append(\"polyl\
ine\"),K.select(\"polyline\").attr(\"fill\",\"none\").attr(\"points\",function(a,c){var \
d=s(a,c),e=.8*o.rangeBand()/(2*(w?1:b.length));d=d.length?d:[-Math.abs(d),Math.\
abs(d)],d=d.map(function(a){return p(a)-p(0)});var f=[[d[0],-e],[d[0],e],[d[0],\
0],[d[1],0],[d[1],-e],[d[1],e]];return f.map(function(a){return a.join(\",\")}).j\
oin(\" \")}).attr(\"transform\",function(a,c){var d=o.rangeBand()/(2*(w?1:b.length)\
);return\"translate(\"+(r(a,c)<0?0:p(r(a,c))-p(0))+\", \"+d+\")\"})),L.append(\"text\")\
,x&&!w?(K.select(\"text\").attr(\"text-anchor\",function(a,b){return r(a,b)<0?\"end\"\
:\"start\"}).attr(\"y\",o.rangeBand()/(2*b.length)).attr(\"dy\",\".32em\").text(functio\
n(a,b){var c=B(r(a,b)),d=s(a,b);return void 0===d?c:d.length?c+\"+\"+B(Math.abs(d\
[1]))+\"-\"+B(Math.abs(d[0])):c+\"±\"+B(Math.abs(d))}),K.watchTransition(E,\"multib\
arhorizontal: bars\").select(\"text\").attr(\"x\",function(a,b){return r(a,b)<0?-4:p\
(r(a,b))-p(0)+4})):K.selectAll(\"text\").text(\"\"),y&&!w?(L.append(\"text\").classed\
(\"nv-bar-label\",!0),K.select(\"text.nv-bar-label\").attr(\"text-anchor\",function(a\
,b){return r(a,b)<0?\"start\":\"end\"}).attr(\"y\",o.rangeBand()/(2*b.length)).attr(\"\
dy\",\".32em\").text(function(a,b){return q(a,b)}),K.watchTransition(E,\"multibarho\
rizontal: bars\").select(\"text.nv-bar-label\").attr(\"x\",function(a,b){return r(a,\
b)<0?p(0)-p(r(a,b))+4:-4})):K.selectAll(\"text.nv-bar-label\").text(\"\"),K.attr(\"c\
lass\",function(a,b){return r(a,b)<0?\"nv-bar negative\":\"nv-bar positive\"}),v&&(c\
||(c=b.map(function(){return!0})),K.style(\"fill\",function(a,b,d){return d3.rgb(\
v(a,b)).darker(c.map(function(a,b){return b}).filter(function(a,b){return!c[b]}\
)[d]).toString()}).style(\"stroke\",function(a,b,d){return d3.rgb(v(a,b)).darker(\
c.map(function(a,b){return b}).filter(function(a,b){return!c[b]})[d]).toString(\
)})),w?K.watchTransition(E,\"multibarhorizontal: bars\").attr(\"transform\",functio\
n(a,b){return\"translate(\"+p(a.y1)+\",\"+o(q(a,b))+\")\"}).select(\"rect\").attr(\"widt\
h\",function(a,b){return Math.abs(p(r(a,b)+a.y0)-p(a.y0))||0}).attr(\"height\",o.r\
angeBand()):K.watchTransition(E,\"multibarhorizontal: bars\").attr(\"transform\",fu\
nction(a,c){return\"translate(\"+p(r(a,c)<0?r(a,c):0)+\",\"+(a.series*o.rangeBand()\
/b.length+o(q(a,c)))+\")\"}).select(\"rect\").attr(\"height\",o.rangeBand()/b.length)\
.attr(\"width\",function(a,b){return Math.max(Math.abs(p(r(a,b))-p(0)),1)||0}),h=\
o.copy(),i=p.copy()}),E.renderEnd(\"multibarHorizontal immediate\"),b}var c,d,e,f\
,g,h,i,j={top:0,right:0,bottom:0,left:0},k=960,l=500,m=Math.floor(1e4*Math.rand\
om()),n=null,o=d3.scale.ordinal(),p=d3.scale.linear(),q=function(a){return a.x}\
,r=function(a){return a.y},s=function(a){return a.yErr},t=[0],u=a.utils.default\
Color(),v=null,w=!1,x=!1,y=!1,z=60,A=.1,B=d3.format(\",.2f\"),C=250,D=d3.dispatch\
(\"chartClick\",\"elementClick\",\"elementDblClick\",\"elementMouseover\",\"elementMouse\
out\",\"elementMousemove\",\"renderEnd\"),E=a.utils.renderWatch(D,C);return b.dispat\
ch=D,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{width:{\
get:function(){return k},set:function(a){k=a}},height:{get:function(){return l}\
,set:function(a){l=a}},x:{get:function(){return q},set:function(a){q=a}},y:{get\
:function(){return r},set:function(a){r=a}},yErr:{get:function(){return s},set:\
function(a){s=a}},xScale:{get:function(){return o},set:function(a){o=a}},yScale\
:{get:function(){return p},set:function(a){p=a}},xDomain:{get:function(){return\
 d},set:function(a){d=a}},yDomain:{get:function(){return e},set:function(a){e=a\
}},xRange:{get:function(){return f},set:function(a){f=a}},yRange:{get:function(\
){return g},set:function(a){g=a}},forceY:{get:function(){return t},set:function\
(a){t=a}},stacked:{get:function(){return w},set:function(a){w=a}},showValues:{g\
et:function(){return x},set:function(a){x=a}},disabled:{get:function(){return c\
},set:function(a){c=a}},id:{get:function(){return m},set:function(a){m=a}},valu\
eFormat:{get:function(){return B},set:function(a){B=a}},valuePadding:{get:funct\
ion(){return z},set:function(a){z=a}},groupSpacing:{get:function(){return A},se\
t:function(a){A=a}},margin:{get:function(){return j},set:function(a){j.top=void\
 0!==a.top?a.top:j.top,j.right=void 0!==a.right?a.right:j.right,j.bottom=void 0\
!==a.bottom?a.bottom:j.bottom,j.left=void 0!==a.left?a.left:j.left}},duration:{\
get:function(){return C},set:function(a){C=a,E.reset(C)}},color:{get:function()\
{return u},set:function(b){u=a.utils.getColor(b)}},barColor:{get:function(){ret\
urn v},set:function(b){v=b?a.utils.getColor(b):null}}}),a.utils.initOptions(b),\
b},a.models.multiBarHorizontalChart=function(){\"use strict\";function b(j){retur\
n C.reset(),C.models(e),r&&C.models(f),s&&C.models(g),j.each(function(j){var w=\
d3.select(this);a.utils.initSVG(w);var C=a.utils.availableWidth(l,w,k),D=a.util\
s.availableHeight(m,w,k);if(b.update=function(){w.transition().duration(z).call\
(b)},b.container=this,t=e.stacked(),u.setter(B(j),b.update).getter(A(j)).update\
(),u.disabled=j.map(function(a){return!!a.disabled}),!v){var E;v={};for(E in u)\
u[E]instanceof Array?v[E]=u[E].slice(0):v[E]=u[E]}if(!(j&&j.length&&j.filter(fu\
nction(a){return a.values.length}).length))return a.utils.noData(b,w),b;w.selec\
tAll(\".nv-noData\").remove(),c=e.xScale(),d=e.yScale().clamp(!0);var F=w.selectA\
ll(\"g.nv-wrap.nv-multiBarHorizontalChart\").data([j]),G=F.enter().append(\"g\").at\
tr(\"class\",\"nvd3 nv-wrap nv-multiBarHorizontalChart\").append(\"g\"),H=F.select(\"g\
\");if(G.append(\"g\").attr(\"class\",\"nv-x nv-axis\"),G.append(\"g\").attr(\"class\",\"nv\
-y nv-axis\").append(\"g\").attr(\"class\",\"nv-zeroLine\").append(\"line\"),G.append(\"g\
\").attr(\"class\",\"nv-barsWrap\"),G.append(\"g\").attr(\"class\",\"nv-legendWrap\"),G.ap\
pend(\"g\").attr(\"class\",\"nv-controlsWrap\"),q&&(h.width(C-y()),H.select(\".nv-lege\
ndWrap\").datum(j).call(h),k.top!=h.height()&&(k.top=h.height(),D=a.utils.availa\
bleHeight(m,w,k)),H.select(\".nv-legendWrap\").attr(\"transform\",\"translate(\"+y()+\
\",\"+-k.top+\")\")),o){var I=[{key:p.grouped||\"Grouped\",disabled:e.stacked()},{key\
:p.stacked||\"Stacked\",disabled:!e.stacked()}];i.width(y()).color([\"#444\",\"#444\"\
,\"#444\"]),H.select(\".nv-controlsWrap\").datum(I).attr(\"transform\",\"translate(0,\"\
+-k.top+\")\").call(i)}F.attr(\"transform\",\"translate(\"+k.left+\",\"+k.top+\")\"),e.di\
sabled(j.map(function(a){return a.disabled})).width(C).height(D).color(j.map(fu\
nction(a,b){return a.color||n(a,b)}).filter(function(a,b){return!j[b].disabled}\
));var J=H.select(\".nv-barsWrap\").datum(j.filter(function(a){return!a.disabled}\
));if(J.transition().call(e),r){f.scale(c)._ticks(a.utils.calcTicksY(D/24,j)).t\
ickSize(-C,0),H.select(\".nv-x.nv-axis\").call(f);var K=H.select(\".nv-x.nv-axis\")\
.selectAll(\"g\");K.selectAll(\"line, text\")}s&&(g.scale(d)._ticks(a.utils.calcTic\
ksX(C/100,j)).tickSize(-D,0),H.select(\".nv-y.nv-axis\").attr(\"transform\",\"transl\
ate(0,\"+D+\")\"),H.select(\".nv-y.nv-axis\").call(g)),H.select(\".nv-zeroLine line\")\
.attr(\"x1\",d(0)).attr(\"x2\",d(0)).attr(\"y1\",0).attr(\"y2\",-D),h.dispatch.on(\"stat\
eChange\",function(a){for(var c in a)u[c]=a[c];x.stateChange(u),b.update()}),i.d\
ispatch.on(\"legendClick\",function(a,c){if(a.disabled){switch(I=I.map(function(a\
){return a.disabled=!0,a}),a.disabled=!1,a.key){case\"Grouped\":case p.grouped:e.\
stacked(!1);break;case\"Stacked\":case p.stacked:e.stacked(!0)}u.stacked=e.stacke\
d(),x.stateChange(u),t=e.stacked(),b.update()}}),x.on(\"changeState\",function(a)\
{\"undefined\"!=typeof a.disabled&&(j.forEach(function(b,c){b.disabled=a.disabled\
[c]}),u.disabled=a.disabled),\"undefined\"!=typeof a.stacked&&(e.stacked(a.stacke\
d),u.stacked=a.stacked,t=a.stacked),b.update()})}),C.renderEnd(\"multibar horizo\
ntal chart immediate\"),b}var c,d,e=a.models.multiBarHorizontal(),f=a.models.axi\
s(),g=a.models.axis(),h=a.models.legend().height(30),i=a.models.legend().height\
(30),j=a.models.tooltip(),k={top:30,right:20,bottom:50,left:60},l=null,m=null,n\
=a.utils.defaultColor(),o=!0,p={},q=!0,r=!0,s=!0,t=!1,u=a.utils.state(),v=null,\
w=null,x=d3.dispatch(\"stateChange\",\"changeState\",\"renderEnd\"),y=function(){retu\
rn o?180:0},z=250;u.stacked=!1,e.stacked(t),f.orient(\"left\").tickPadding(5).sho\
wMaxMin(!1).tickFormat(function(a){return a}),g.orient(\"bottom\").tickFormat(d3.\
format(\",.1f\")),j.duration(0).valueFormatter(function(a,b){return g.tickFormat(\
)(a,b)}).headerFormatter(function(a,b){return f.tickFormat()(a,b)}),i.updateSta\
te(!1);var A=function(a){return function(){return{active:a.map(function(a){retu\
rn!a.disabled}),stacked:t}}},B=function(a){return function(b){void 0!==b.stacke\
d&&(t=b.stacked),void 0!==b.active&&a.forEach(function(a,c){a.disabled=!b.activ\
e[c]})}},C=a.utils.renderWatch(x,z);return e.dispatch.on(\"elementMouseover.tool\
tip\",function(a){a.value=b.x()(a.data),a.series={key:a.data.key,value:b.y()(a.d\
ata),color:a.color},j.data(a).hidden(!1)}),e.dispatch.on(\"elementMouseout.toolt\
ip\",function(a){j.hidden(!0)}),e.dispatch.on(\"elementMousemove.tooltip\",functio\
n(a){j()}),b.dispatch=x,b.multibar=e,b.legend=h,b.controls=i,b.xAxis=f,b.yAxis=\
g,b.state=u,b.tooltip=j,b.options=a.utils.optionsFunc.bind(b),b._options=Object\
.create({},{width:{get:function(){return l},set:function(a){l=a}},height:{get:f\
unction(){return m},set:function(a){m=a}},showLegend:{get:function(){return q},\
set:function(a){q=a}},showControls:{get:function(){return o},set:function(a){o=\
a}},controlLabels:{get:function(){return p},set:function(a){p=a}},showXAxis:{ge\
t:function(){return r},set:function(a){r=a}},showYAxis:{get:function(){return s\
},set:function(a){s=a}},defaultState:{get:function(){return v},set:function(a){\
v=a}},noData:{get:function(){return w},set:function(a){w=a}},margin:{get:functi\
on(){return k},set:function(a){k.top=void 0!==a.top?a.top:k.top,k.right=void 0!\
==a.right?a.right:k.right,k.bottom=void 0!==a.bottom?a.bottom:k.bottom,k.left=v\
oid 0!==a.left?a.left:k.left}},duration:{get:function(){return z},set:function(\
a){z=a,C.reset(z),e.duration(z),f.duration(z),g.duration(z)}},color:{get:functi\
on(){return n},set:function(b){n=a.utils.getColor(b),h.color(n)}},barColor:{get\
:function(){return e.barColor},set:function(a){e.barColor(a),h.color(function(a\
,b){return d3.rgb(\"#ccc\").darker(1.5*b).toString()})}}}),a.utils.inheritOptions\
(b,e),a.utils.initOptions(b),b},a.models.multiChart=function(){\"use strict\";fun\
ction b(j){return j.each(function(j){function n(a){var b=2===j[a.seriesIndex].y\
Axis?E:D;a.value=a.point.x,a.series={value:a.point.y,color:a.point.color,key:a.\
series.key},G.duration(0).valueFormatter(function(a,c){return b.tickFormat()(a,\
c)}).data(a).hidden(!1)}function H(a){var b=2===j[a.seriesIndex].yAxis?E:D;a.va\
lue=a.point.x,a.series={value:a.point.y,color:a.point.color,key:a.series.key},G\
.duration(100).valueFormatter(function(a,c){return b.tickFormat()(a,c)}).data(a\
).hidden(!1)}function J(a){var b=2===j[a.seriesIndex].yAxis?E:D;a.point.x=A.x()\
(a.point),a.point.y=A.y()(a.point),G.duration(0).valueFormatter(function(a,c){r\
eturn b.tickFormat()(a,c)}).data(a).hidden(!1)}function K(a){var b=2===j[a.data\
.series].yAxis?E:D;a.value=y.x()(a.data),a.series={value:y.y()(a.data),color:a.\
color,key:a.data.key},G.duration(0).valueFormatter(function(a,c){return b.tickF\
ormat()(a,c)}).data(a).hidden(!1)}function L(){for(var a=0,b=I.length;b>a;a++){\
var c=I[a];try{c.clearHighlights()}catch(d){}}}function M(a,b,c){for(var d=0,e=\
I.length;e>d;d++){var f=I[d];try{f.highlightPoint(a,b,c)}catch(g){}}}var N=d3.s\
elect(this);a.utils.initSVG(N),b.update=function(){N.transition().call(b)},b.co\
ntainer=this;var O=a.utils.availableWidth(g,N,e),P=a.utils.availableHeight(h,N,\
e),Q=j.filter(function(a){return\"line\"==a.type&&1==a.yAxis}),R=j.filter(functio\
n(a){return\"line\"==a.type&&2==a.yAxis}),S=j.filter(function(a){return\"scatter\"=\
=a.type&&1==a.yAxis}),T=j.filter(function(a){return\"scatter\"==a.type&&2==a.yAxi\
s}),U=j.filter(function(a){return\"bar\"==a.type&&1==a.yAxis}),V=j.filter(functio\
n(a){return\"bar\"==a.type&&2==a.yAxis}),W=j.filter(function(a){return\"area\"==a.t\
ype&&1==a.yAxis}),X=j.filter(function(a){return\"area\"==a.type&&2==a.yAxis});if(\
!(j&&j.length&&j.filter(function(a){return a.values.length}).length))return a.u\
tils.noData(b,N),b;N.selectAll(\".nv-noData\").remove();var Y=j.filter(function(a\
){return!a.disabled&&1==a.yAxis}).map(function(a){return a.values.map(function(\
a,b){return{x:k(a),y:l(a)}})}),Z=j.filter(function(a){return!a.disabled&&2==a.y\
Axis}).map(function(a){return a.values.map(function(a,b){return{x:k(a),y:l(a)}}\
)});r.domain(d3.extent(d3.merge(Y.concat(Z)),function(a){return k(a)})).range([\
0,O]);var $=N.selectAll(\"g.wrap.multiChart\").data([j]),_=$.enter().append(\"g\").\
attr(\"class\",\"wrap nvd3 multiChart\").append(\"g\");_.append(\"g\").attr(\"class\",\"nv\
-x nv-axis\"),_.append(\"g\").attr(\"class\",\"nv-y1 nv-axis\"),_.append(\"g\").attr(\"cl\
ass\",\"nv-y2 nv-axis\"),_.append(\"g\").attr(\"class\",\"stack1Wrap\"),_.append(\"g\").at\
tr(\"class\",\"stack2Wrap\"),_.append(\"g\").attr(\"class\",\"bars1Wrap\"),_.append(\"g\").\
attr(\"class\",\"bars2Wrap\"),_.append(\"g\").attr(\"class\",\"scatters1Wrap\"),_.append(\
\"g\").attr(\"class\",\"scatters2Wrap\"),_.append(\"g\").attr(\"class\",\"lines1Wrap\"),_.a\
ppend(\"g\").attr(\"class\",\"lines2Wrap\"),_.append(\"g\").attr(\"class\",\"legendWrap\"),\
_.append(\"g\").attr(\"class\",\"nv-interactive\");var aa=$.select(\"g\"),ba=j.map(func\
tion(a,b){return j[b].color||f(a,b)});if(i){var ca=F.align()?O/2:O,da=F.align()\
?ca:0;F.width(ca),F.color(ba),aa.select(\".legendWrap\").datum(j.map(function(a){\
return a.originalKey=void 0===a.originalKey?a.key:a.originalKey,a.key=a.origina\
lKey+(1==a.yAxis?\"\":q),a})).call(F),e.top!=F.height()&&(e.top=F.height(),P=a.ut\
ils.availableHeight(h,N,e)),aa.select(\".legendWrap\").attr(\"transform\",\"translat\
e(\"+da+\",\"+-e.top+\")\")}u.width(O).height(P).interpolate(m).color(ba.filter(func\
tion(a,b){return!j[b].disabled&&1==j[b].yAxis&&\"line\"==j[b].type})),v.width(O).\
height(P).interpolate(m).color(ba.filter(function(a,b){return!j[b].disabled&&2=\
=j[b].yAxis&&\"line\"==j[b].type})),w.width(O).height(P).color(ba.filter(function\
(a,b){return!j[b].disabled&&1==j[b].yAxis&&\"scatter\"==j[b].type})),x.width(O).h\
eight(P).color(ba.filter(function(a,b){return!j[b].disabled&&2==j[b].yAxis&&\"sc\
atter\"==j[b].type})),y.width(O).height(P).color(ba.filter(function(a,b){return!\
j[b].disabled&&1==j[b].yAxis&&\"bar\"==j[b].type})),z.width(O).height(P).color(ba\
.filter(function(a,b){return!j[b].disabled&&2==j[b].yAxis&&\"bar\"==j[b].type})),\
A.width(O).height(P).color(ba.filter(function(a,b){return!j[b].disabled&&1==j[b\
].yAxis&&\"area\"==j[b].type})),B.width(O).height(P).color(ba.filter(function(a,b\
){return!j[b].disabled&&2==j[b].yAxis&&\"area\"==j[b].type})),aa.attr(\"transform\"\
,\"translate(\"+e.left+\",\"+e.top+\")\");var ea=aa.select(\".lines1Wrap\").datum(Q.fil\
ter(function(a){return!a.disabled})),fa=aa.select(\".scatters1Wrap\").datum(S.fil\
ter(function(a){return!a.disabled})),ga=aa.select(\".bars1Wrap\").datum(U.filter(\
function(a){return!a.disabled})),ha=aa.select(\".stack1Wrap\").datum(W.filter(fun\
ction(a){return!a.disabled})),ia=aa.select(\".lines2Wrap\").datum(R.filter(functi\
on(a){return!a.disabled})),ja=aa.select(\".scatters2Wrap\").datum(T.filter(functi\
on(a){return!a.disabled})),ka=aa.select(\".bars2Wrap\").datum(V.filter(function(a\
){return!a.disabled})),la=aa.select(\".stack2Wrap\").datum(X.filter(function(a){r\
eturn!a.disabled})),ma=W.length?W.map(function(a){return a.values}).reduce(func\
tion(a,b){return a.map(function(a,c){return{x:a.x,y:a.y+b[c].y}})}).concat([{x:\
0,y:0}]):[],na=X.length?X.map(function(a){return a.values}).reduce(function(a,b\
){return a.map(function(a,c){return{x:a.x,y:a.y+b[c].y}})}).concat([{x:0,y:0}])\
:[];s.domain(c||d3.extent(d3.merge(Y).concat(ma),function(a){return a.y})).rang\
e([0,P]),t.domain(d||d3.extent(d3.merge(Z).concat(na),function(a){return a.y}))\
.range([0,P]),u.yDomain(s.domain()),w.yDomain(s.domain()),y.yDomain(s.domain())\
,A.yDomain(s.domain()),v.yDomain(t.domain()),x.yDomain(t.domain()),z.yDomain(t.\
domain()),B.yDomain(t.domain()),W.length&&d3.transition(ha).call(A),X.length&&d\
3.transition(la).call(B),U.length&&d3.transition(ga).call(y),V.length&&d3.trans\
ition(ka).call(z),Q.length&&d3.transition(ea).call(u),R.length&&d3.transition(i\
a).call(v),S.length&&d3.transition(fa).call(w),T.length&&d3.transition(ja).call\
(x),C._ticks(a.utils.calcTicksX(O/100,j)).tickSize(-P,0),aa.select(\".nv-x.nv-ax\
is\").attr(\"transform\",\"translate(0,\"+P+\")\"),d3.transition(aa.select(\".nv-x.nv-a\
xis\")).call(C),D._ticks(a.utils.calcTicksY(P/36,j)).tickSize(-O,0),d3.transitio\
n(aa.select(\".nv-y1.nv-axis\")).call(D),E._ticks(a.utils.calcTicksY(P/36,j)).tic\
kSize(-O,0),d3.transition(aa.select(\".nv-y2.nv-axis\")).call(E),aa.select(\".nv-y\
1.nv-axis\").classed(\"nv-disabled\",Y.length?!1:!0).attr(\"transform\",\"translate(\"\
+r.range()[0]+\",0)\"),aa.select(\".nv-y2.nv-axis\").classed(\"nv-disabled\",Z.length\
?!1:!0).attr(\"transform\",\"translate(\"+r.range()[1]+\",0)\"),F.dispatch.on(\"stateC\
hange\",function(a){b.update()}),p&&(o.width(O).height(P).margin({left:e.left,to\
p:e.top}).svgContainer(N).xScale(r),$.select(\".nv-interactive\").call(o)),p?(o.d\
ispatch.on(\"elementMousemove\",function(c){L();var d,e,g,h=[];j.filter(function(\
a,b){return a.seriesIndex=b,!a.disabled}).forEach(function(i,j){var k=r.domain(\
),l=i.values.filter(function(a,c){return b.x()(a,c)>=k[0]&&b.x()(a,c)<=k[1]});e\
=a.interactiveBisect(l,c.pointXValue,b.x());var m=l[e],n=b.y()(m,e);null!==n&&M\
(j,e,!0),void 0!==m&&(void 0===d&&(d=m),void 0===g&&(g=r(b.x()(m,e))),h.push({k\
ey:i.key,value:n,color:f(i,i.seriesIndex),data:m,yAxis:2==i.yAxis?E:D}))}),o.to\
oltip.chartContainer(b.container.parentNode).valueFormatter(function(a,b){var c\
=h[b].yAxis;return null===a?\"N/A\":c.tickFormat()(a)}).data({value:b.x()(d,e),in\
dex:e,series:h})(),o.renderGuideLine(g)}),o.dispatch.on(\"elementMouseout\",funct\
ion(a){L()})):(u.dispatch.on(\"elementMouseover.tooltip\",n),v.dispatch.on(\"eleme\
ntMouseover.tooltip\",n),u.dispatch.on(\"elementMouseout.tooltip\",function(a){G.h\
idden(!0)}),v.dispatch.on(\"elementMouseout.tooltip\",function(a){G.hidden(!0)}),\
w.dispatch.on(\"elementMouseover.tooltip\",H),x.dispatch.on(\"elementMouseover.too\
ltip\",H),w.dispatch.on(\"elementMouseout.tooltip\",function(a){G.hidden(!0)}),x.d\
ispatch.on(\"elementMouseout.tooltip\",function(a){G.hidden(!0)}),A.dispatch.on(\"\
elementMouseover.tooltip\",J),B.dispatch.on(\"elementMouseover.tooltip\",J),A.disp\
atch.on(\"elementMouseout.tooltip\",function(a){G.hidden(!0)}),B.dispatch.on(\"ele\
mentMouseout.tooltip\",function(a){G.hidden(!0)}),y.dispatch.on(\"elementMouseove\
r.tooltip\",K),z.dispatch.on(\"elementMouseover.tooltip\",K),y.dispatch.on(\"elemen\
tMouseout.tooltip\",function(a){G.hidden(!0)}),z.dispatch.on(\"elementMouseout.to\
oltip\",function(a){G.hidden(!0)}),y.dispatch.on(\"elementMousemove.tooltip\",func\
tion(a){G()}),z.dispatch.on(\"elementMousemove.tooltip\",function(a){G()}))}),b}v\
ar c,d,e={top:30,right:20,bottom:50,left:60},f=a.utils.defaultColor(),g=null,h=\
null,i=!0,j=null,k=function(a){return a.x},l=function(a){return a.y},m=\"monoton\
e\",n=!0,o=a.interactiveGuideline(),p=!1,q=\" (right axis)\",r=d3.scale.linear(),s\
=d3.scale.linear(),t=d3.scale.linear(),u=a.models.line().yScale(s),v=a.models.l\
ine().yScale(t),w=a.models.scatter().yScale(s),x=a.models.scatter().yScale(t),y\
=a.models.multiBar().stacked(!1).yScale(s),z=a.models.multiBar().stacked(!1).yS\
cale(t),A=a.models.stackedArea().yScale(s),B=a.models.stackedArea().yScale(t),C\
=a.models.axis().scale(r).orient(\"bottom\").tickPadding(5),D=a.models.axis().sca\
le(s).orient(\"left\"),E=a.models.axis().scale(t).orient(\"right\"),F=a.models.lege\
nd().height(30),G=a.models.tooltip(),H=d3.dispatch(),I=[u,v,w,x,y,z,A,B];return\
 b.dispatch=H,b.legend=F,b.lines1=u,b.lines2=v,b.scatters1=w,b.scatters2=x,b.ba\
rs1=y,b.bars2=z,b.stack1=A,b.stack2=B,b.xAxis=C,b.yAxis1=D,b.yAxis2=E,b.tooltip\
=G,b.interactiveLayer=o,b.options=a.utils.optionsFunc.bind(b),b._options=Object\
.create({},{width:{get:function(){return g},set:function(a){g=a}},height:{get:f\
unction(){return h},set:function(a){h=a}},showLegend:{get:function(){return i},\
set:function(a){i=a}},yDomain1:{get:function(){return c},set:function(a){c=a}},\
yDomain2:{get:function(){return d},set:function(a){d=a}},noData:{get:function()\
{return j},set:function(a){j=a}},interpolate:{get:function(){return m},set:func\
tion(a){m=a}},legendRightAxisHint:{get:function(){return q},set:function(a){q=a\
}},margin:{get:function(){return e},set:function(a){e.top=void 0!==a.top?a.top:\
e.top,e.right=void 0!==a.right?a.right:e.right,e.bottom=void 0!==a.bottom?a.bot\
tom:e.bottom,e.left=void 0!==a.left?a.left:e.left}},color:{get:function(){retur\
n f},set:function(b){f=a.utils.getColor(b)}},x:{get:function(){return k},set:fu\
nction(a){k=a,u.x(a),v.x(a),w.x(a),x.x(a),y.x(a),z.x(a),A.x(a),B.x(a)}},y:{get:\
function(){return l},set:function(a){l=a,u.y(a),v.y(a),w.y(a),x.y(a),A.y(a),B.y\
(a),y.y(a),z.y(a)}},useVoronoi:{get:function(){return n},set:function(a){n=a,u.\
useVoronoi(a),v.useVoronoi(a),A.useVoronoi(a),B.useVoronoi(a)}},useInteractiveG\
uideline:{get:function(){return p},set:function(a){p=a,p&&(u.interactive(!1),u.\
useVoronoi(!1),v.interactive(!1),v.useVoronoi(!1),A.interactive(!1),A.useVorono\
i(!1),B.interactive(!1),B.useVoronoi(!1),w.interactive(!1),x.interactive(!1))}}\
}),a.utils.initOptions(b),b},a.models.ohlcBar=function(){\"use strict\";function \
b(y){return y.each(function(b){k=d3.select(this);var y=a.utils.availableWidth(h\
,k,g),A=a.utils.availableHeight(i,k,g);a.utils.initSVG(k);var B=y/b[0].values.l\
ength*.9;l.domain(c||d3.extent(b[0].values.map(n).concat(t))),v?l.range(e||[.5*\
y/b[0].values.length,y*(b[0].values.length-.5)/b[0].values.length]):l.range(e||\
[5+B/2,y-B/2-5]),m.domain(d||[d3.min(b[0].values.map(s).concat(u)),d3.max(b[0].\
values.map(r).concat(u))]).range(f||[A,0]),l.domain()[0]===l.domain()[1]&&(l.do\
main()[0]?l.domain([l.domain()[0]-.01*l.domain()[0],l.domain()[1]+.01*l.domain(\
)[1]]):l.domain([-1,1])),m.domain()[0]===m.domain()[1]&&(m.domain()[0]?m.domain\
([m.domain()[0]+.01*m.domain()[0],m.domain()[1]-.01*m.domain()[1]]):m.domain([-\
1,1]));var C=d3.select(this).selectAll(\"g.nv-wrap.nv-ohlcBar\").data([b[0].value\
s]),D=C.enter().append(\"g\").attr(\"class\",\"nvd3 nv-wrap nv-ohlcBar\"),E=D.append(\
\"defs\"),F=D.append(\"g\"),G=C.select(\"g\");F.append(\"g\").attr(\"class\",\"nv-ticks\"),\
C.attr(\"transform\",\"translate(\"+g.left+\",\"+g.top+\")\"),k.on(\"click\",function(a,b\
){z.chartClick({data:a,index:b,pos:d3.event,id:j})}),E.append(\"clipPath\").attr(\
\"id\",\"nv-chart-clip-path-\"+j).append(\"rect\"),C.select(\"#nv-chart-clip-path-\"+j+\
\" rect\").attr(\"width\",y).attr(\"height\",A),G.attr(\"clip-path\",w?\"url(#nv-chart-c\
lip-path-\"+j+\")\":\"\");var H=C.select(\".nv-ticks\").selectAll(\".nv-tick\").data(fun\
ction(a){return a});H.exit().remove(),H.enter().append(\"path\").attr(\"class\",fun\
ction(a,b,c){return(p(a,b)>q(a,b)?\"nv-tick negative\":\"nv-tick positive\")+\" nv-t\
ick-\"+c+\"-\"+b}).attr(\"d\",function(a,b){return\"m0,0l0,\"+(m(p(a,b))-m(r(a,b)))+\"l\
\"+-B/2+\",0l\"+B/2+\",0l0,\"+(m(s(a,b))-m(p(a,b)))+\"l0,\"+(m(q(a,b))-m(s(a,b)))+\"l\"+\
B/2+\",0l\"+-B/2+\",0z\"}).attr(\"transform\",function(a,b){return\"translate(\"+l(n(a,\
b))+\",\"+m(r(a,b))+\")\"}).attr(\"fill\",function(a,b){return x[0]}).attr(\"stroke\",f\
unction(a,b){return x[0]}).attr(\"x\",0).attr(\"y\",function(a,b){return m(Math.max\
(0,o(a,b)))}).attr(\"height\",function(a,b){return Math.abs(m(o(a,b))-m(0))}),H.a\
ttr(\"class\",function(a,b,c){return(p(a,b)>q(a,b)?\"nv-tick negative\":\"nv-tick po\
sitive\")+\" nv-tick-\"+c+\"-\"+b}),d3.transition(H).attr(\"transform\",function(a,b){\
return\"translate(\"+l(n(a,b))+\",\"+m(r(a,b))+\")\"}).attr(\"d\",function(a,c){var d=y\
/b[0].values.length*.9;return\"m0,0l0,\"+(m(p(a,c))-m(r(a,c)))+\"l\"+-d/2+\",0l\"+d/2\
")

file(APPEND ${METABENCH_DIR}/nvd3.js "\
+\",0l0,\"+(m(s(a,c))-m(p(a,c)))+\"l0,\"+(m(q(a,c))-m(s(a,c)))+\"l\"+d/2+\",0l\"+-d/2+\"\
,0z\"})}),b}var c,d,e,f,g={top:0,right:0,bottom:0,left:0},h=null,i=null,j=Math.f\
loor(1e4*Math.random()),k=null,l=d3.scale.linear(),m=d3.scale.linear(),n=functi\
on(a){return a.x},o=function(a){return a.y},p=function(a){return a.open},q=func\
tion(a){return a.close},r=function(a){return a.high},s=function(a){return a.low\
},t=[],u=[],v=!1,w=!0,x=a.utils.defaultColor(),y=!1,z=d3.dispatch(\"stateChange\"\
,\"changeState\",\"renderEnd\",\"chartClick\",\"elementClick\",\"elementDblClick\",\"eleme\
ntMouseover\",\"elementMouseout\",\"elementMousemove\");return b.highlightPoint=func\
tion(a,c){b.clearHighlights(),k.select(\".nv-ohlcBar .nv-tick-0-\"+a).classed(\"ho\
ver\",c)},b.clearHighlights=function(){k.select(\".nv-ohlcBar .nv-tick.hover\").cl\
assed(\"hover\",!1)},b.dispatch=z,b.options=a.utils.optionsFunc.bind(b),b._option\
s=Object.create({},{width:{get:function(){return h},set:function(a){h=a}},heigh\
t:{get:function(){return i},set:function(a){i=a}},xScale:{get:function(){return\
 l},set:function(a){l=a}},yScale:{get:function(){return m},set:function(a){m=a}\
},xDomain:{get:function(){return c},set:function(a){c=a}},yDomain:{get:function\
(){return d},set:function(a){d=a}},xRange:{get:function(){return e},set:functio\
n(a){e=a}},yRange:{get:function(){return f},set:function(a){f=a}},forceX:{get:f\
unction(){return t},set:function(a){t=a}},forceY:{get:function(){return u},set:\
function(a){u=a}},padData:{get:function(){return v},set:function(a){v=a}},clipE\
dge:{get:function(){return w},set:function(a){w=a}},id:{get:function(){return j\
},set:function(a){j=a}},interactive:{get:function(){return y},set:function(a){y\
=a}},x:{get:function(){return n},set:function(a){n=a}},y:{get:function(){return\
 o},set:function(a){o=a}},open:{get:function(){return p()},set:function(a){p=a}\
},close:{get:function(){return q()},set:function(a){q=a}},high:{get:function(){\
return r},set:function(a){r=a}},low:{get:function(){return s},set:function(a){s\
=a}},margin:{get:function(){return g},set:function(a){g.top=void 0!=a.top?a.top\
:g.top,g.right=void 0!=a.right?a.right:g.right,g.bottom=void 0!=a.bottom?a.bott\
om:g.bottom,g.left=void 0!=a.left?a.left:g.left}},color:{get:function(){return \
x},set:function(b){x=a.utils.getColor(b)}}}),a.utils.initOptions(b),b},a.models\
.parallelCoordinates=function(){\"use strict\";function b(y){return x.reset(),y.e\
ach(function(b){function x(a){return u(l.map(function(b){if(isNaN(a.values[b.ke\
y])||isNaN(parseFloat(a.values[b.key]))||M){var c=j[b.key].domain(),d=j[b.key].\
range(),e=c[0]-(c[1]-c[0])/9;if(s.indexOf(b.key)<0){var f=d3.scale.linear().dom\
ain([e,c[1]]).range([I-12,d[1]]);j[b.key].brush.y(f),s.push(b.key)}if(isNaN(a.v\
alues[b.key])||isNaN(parseFloat(a.values[b.key])))return[i(b.key),j[b.key](e)];\

}return void 0!==R&&(s.length>0||M?(R.style(\"display\",\"inline\"),S.style(\"displa\
y\",\"inline\")):(R.style(\"display\",\"none\"),S.style(\"display\",\"none\"))),[i(b.key),\
j[b.key](a.values[b.key])]}))}function y(a){p.forEach(function(b){var c=j[b.dim\
ension].brush.y().domain();b.hasOnlyNaN&&(b.extent[1]=(j[b.dimension].domain()[\
1]-c[0])*(b.extent[1]-b.extent[0])/(L[b.dimension]-b.extent[0])+c[0]),b.hasNaN&\
&(b.extent[0]=c[0]),a&&j[b.dimension].brush.extent(b.extent)}),e.select(\".nv-br\
ushBackground\").each(function(a){d3.select(this).call(j[a.key].brush)}).selectA\
ll(\"rect\").attr(\"x\",-8).attr(\"width\",16)}function z(){n===!1&&y(!0)}function A(\
){X=m.filter(function(a){return!j[a].brush.empty()}),Y=X.map(function(a){return\
 j[a].brush.extent()}),p=[],X.forEach(function(a,b){p[b]={dimension:a,extent:Y[\
b],hasNaN:!1,hasOnlyNaN:!1}}),q=[],c.style(\"display\",function(a){var b=X.every(\
function(b,c){return(isNaN(a.values[b])||isNaN(parseFloat(a.values[b])))&&Y[c][\
0]==j[b].brush.y().domain()[0]?!0:Y[c][0]<=a.values[b]&&a.values[b]<=Y[c][1]&&!\
isNaN(parseFloat(a.values[b]))});return b&&q.push(a),b?null:\"none\"}),w.brush({f\
ilters:p,active:q})}function B(){var a=X.length>0?!0:!1;p.forEach(function(a){a\
.extent[0]===j[a.dimension].brush.y().domain()[0]&&s.indexOf(a.dimension)>=0&&(\
a.hasNaN=!0),a.extent[1]<j[a.dimension].domain()[0]&&(a.hasOnlyNaN=!0)}),w.brus\
hEnd(q,a)}function C(a){r[a.key]=this.parentNode.__origin__=i(a.key),d.attr(\"vi\
sibility\",\"hidden\")}function D(a){r[a.key]=Math.min(H,Math.max(0,this.parentNod\
e.__origin__+=d3.event.x)),c.attr(\"d\",x),l.sort(function(a,b){return F(a.key)-F\
(b.key)}),l.forEach(function(a,b){return a.currentPosition=b}),i.domain(l.map(f\
unction(a){return a.key})),e.attr(\"transform\",function(a){return\"translate(\"+F(\
a.key)+\")\"})}function E(a,b){delete this.parentNode.__origin__,delete r[a.key],\
d3.select(this.parentNode).attr(\"transform\",\"translate(\"+i(a.key)+\")\"),c.attr(\"\
d\",x),d.attr(\"d\",x).attr(\"visibility\",null),w.dimensionsOrder(l)}function F(a){\
var b=r[a];return null==b?i(a):b}var G=d3.select(this),H=a.utils.availableWidth\
(g,G,f),I=a.utils.availableHeight(h,G,f);if(a.utils.initSVG(G),void 0===b[0].va\
lues){var J=[];b.forEach(function(a){var b={},c=Object.keys(a);c.forEach(functi\
on(c){\"name\"!==c&&(b[c]=a[c])}),J.push({key:a.name,values:b})}),b=J}var K=b.map\
(function(a){return a.values});0===q.length&&(q=b),m=k.sort(function(a,b){retur\
n a.currentPosition-b.currentPosition}).map(function(a){return a.key}),l=k.filt\
er(function(a){return!a.disabled}),i.rangePoints([0,H],1).domain(l.map(function\
(a){return a.key}));var L={},M=!1;m.forEach(function(a){var b=d3.extent(K,funct\
ion(b){return+b[a]}),c=b[0],d=b[1],e=!1;(isNaN(c)||isNaN(d))&&(e=!0,c=0,d=0),c=\
==d&&(c-=1,d+=1);var f=p.filter(function(b){return b.dimension==a});0!==f.lengt\
h&&(e?(c=j[a].domain()[0],d=j[a].domain()[1]):!f[0].hasOnlyNaN&&n?(c=c>f[0].ext\
ent[0]?f[0].extent[0]:c,d=d<f[0].extent[1]?f[0].extent[1]:d):f[0].hasNaN&&(d=d<\
f[0].extent[1]?f[0].extent[1]:d,L[a]=j[a].domain()[1],M=!0)),j[a]=d3.scale.line\
ar().domain([c,d]).range([.9*(I-12),0]),s=[],j[a].brush=d3.svg.brush().y(j[a]).\
on(\"brushstart\",z).on(\"brush\",A).on(\"brushend\",B)});var N=G.selectAll(\"g.nv-wra\
p.nv-parallelCoordinates\").data([b]),O=N.enter().append(\"g\").attr(\"class\",\"nvd3\
 nv-wrap nv-parallelCoordinates\"),P=O.append(\"g\"),Q=N.select(\"g\");P.append(\"g\")\
.attr(\"class\",\"nv-parallelCoordinates background\"),P.append(\"g\").attr(\"class\",\"\
nv-parallelCoordinates foreground\"),P.append(\"g\").attr(\"class\",\"nv-parallelCoor\
dinates missingValuesline\"),N.attr(\"transform\",\"translate(\"+f.left+\",\"+f.top+\")\
\"),u.interpolate(\"cardinal\").tension(t),v.orient(\"left\");var R,S,T=d3.behavior.\
drag().on(\"dragstart\",C).on(\"drag\",D).on(\"dragend\",E),U=i.range()[1]-i.range()[\
0];if(!isNaN(U)){var V=[0+U/2,I-12,H-U/2,I-12];R=N.select(\".missingValuesline\")\
.selectAll(\"line\").data([V]),R.enter().append(\"line\"),R.exit().remove(),R.attr(\
\"x1\",function(a){return a[0]}).attr(\"y1\",function(a){return a[1]}).attr(\"x2\",fu\
nction(a){return a[2]}).attr(\"y2\",function(a){return a[3]}),S=N.select(\".missin\
gValuesline\").selectAll(\"text\").data([\"undefined values\"]),S.append(\"text\").dat\
a([\"undefined values\"]),S.enter().append(\"text\"),S.exit().remove(),S.attr(\"y\",I\
).attr(\"x\",H-92-U/2).text(function(a){return a})}d=N.select(\".background\").sele\
ctAll(\"path\").data(b),d.enter().append(\"path\"),d.exit().remove(),d.attr(\"d\",x),\
c=N.select(\".foreground\").selectAll(\"path\").data(b),c.enter().append(\"path\"),c.\
exit().remove(),c.attr(\"d\",x).style(\"stroke-width\",function(a,b){return isNaN(a\
.strokeWidth)&&(a.strokeWidth=1),a.strokeWidth}).attr(\"stroke\",function(a,b){re\
turn a.color||o(a,b)}),c.on(\"mouseover\",function(a,b){d3.select(this).classed(\"\
hover\",!0).style(\"stroke-width\",a.strokeWidth+2+\"px\").style(\"stroke-opacity\",1)\
,w.elementMouseover({label:a.name,color:a.color||o(a,b)})}),c.on(\"mouseout\",fun\
ction(a,b){d3.select(this).classed(\"hover\",!1).style(\"stroke-width\",a.strokeWid\
th+\"px\").style(\"stroke-opacity\",.7),w.elementMouseout({label:a.name,index:b})})\
,c.on(\"mousemove\",function(a,b){w.elementMousemove()}),c.on(\"click\",function(a)\
{w.elementClick({id:a.id})}),e=Q.selectAll(\".dimension\").data(l);var W=e.enter(\
).append(\"g\").attr(\"class\",\"nv-parallelCoordinates dimension\");e.attr(\"transfor\
m\",function(a){return\"translate(\"+i(a.key)+\",0)\"}),W.append(\"g\").attr(\"class\",\"\
nv-axis\"),W.append(\"text\").attr(\"class\",\"nv-label\").style(\"cursor\",\"move\").attr\
(\"dy\",\"-1em\").attr(\"text-anchor\",\"middle\").on(\"mouseover\",function(a,b){w.eleme\
ntMouseover({label:a.tooltip||a.key})}).on(\"mouseout\",function(a,b){w.elementMo\
useout({label:a.tooltip})}).on(\"mousemove\",function(a,b){w.elementMousemove()})\
.call(T),W.append(\"g\").attr(\"class\",\"nv-brushBackground\"),e.exit().remove(),e.s\
elect(\".nv-label\").text(function(a){return a.key}),e.select(\".nv-axis\").each(fu\
nction(a,b){d3.select(this).call(v.scale(j[a.key]).tickFormat(d3.format(a.forma\
t)))}),y(n);var X=m.filter(function(a){return!j[a].brush.empty()}),Y=X.map(func\
tion(a){return j[a].brush.extent()}),Z=q.slice(0);q=[],c.style(\"display\",functi\
on(a){var b=X.every(function(b,c){return(isNaN(a.values[b])||isNaN(parseFloat(a\
.values[b])))&&Y[c][0]==j[b].brush.y().domain()[0]?!0:Y[c][0]<=a.values[b]&&a.v\
alues[b]<=Y[c][1]&&!isNaN(parseFloat(a.values[b]))});return b&&q.push(a),b?null\
:\"none\"}),(p.length>0||!a.utils.arrayEquals(q,Z))&&w.activeChanged(q)}),b}var c\
,d,e,f={top:30,right:0,bottom:10,left:0},g=null,h=null,i=d3.scale.ordinal(),j={\
},k=[],l=[],m=[],n=!0,o=a.utils.defaultColor(),p=[],q=[],r=[],s=[],t=1,u=d3.svg\
.line(),v=d3.svg.axis(),w=d3.dispatch(\"brushstart\",\"brush\",\"brushEnd\",\"dimensio\
nsOrder\",\"stateChange\",\"elementClick\",\"elementMouseover\",\"elementMouseout\",\"ele\
mentMousemove\",\"renderEnd\",\"activeChanged\"),x=a.utils.renderWatch(w);return b.d\
ispatch=w,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{wi\
dth:{get:function(){return g},set:function(a){g=a}},height:{get:function(){retu\
rn h},set:function(a){h=a}},dimensionData:{get:function(){return k},set:functio\
n(a){k=a}},displayBrush:{get:function(){return n},set:function(a){n=a}},filters\
:{get:function(){return p},set:function(a){p=a}},active:{get:function(){return \
q},set:function(a){q=a}},lineTension:{get:function(){return t},set:function(a){\
t=a}},dimensions:{get:function(){return k.map(function(a){return a.key})},set:f\
unction(b){a.deprecated(\"dimensions\",\"use dimensionData instead\"),0===k.length?\
b.forEach(function(a){k.push({key:a})}):b.forEach(function(a,b){k[b].key=a})}},\
dimensionNames:{get:function(){return k.map(function(a){return a.key})},set:fun\
ction(b){a.deprecated(\"dimensionNames\",\"use dimensionData instead\"),m=[],0===k.\
length?b.forEach(function(a){k.push({key:a})}):b.forEach(function(a,b){k[b].key\
=a})}},dimensionFormats:{get:function(){return k.map(function(a){return a.forma\
t})},set:function(b){a.deprecated(\"dimensionFormats\",\"use dimensionData instead\
\"),0===k.length?b.forEach(function(a){k.push({format:a})}):b.forEach(function(a\
,b){k[b].format=a})}},margin:{get:function(){return f},set:function(a){f.top=vo\
id 0!==a.top?a.top:f.top,f.right=void 0!==a.right?a.right:f.right,f.bottom=void\
 0!==a.bottom?a.bottom:f.bottom,f.left=void 0!==a.left?a.left:f.left}},color:{g\
et:function(){return o},set:function(b){o=a.utils.getColor(b)}}}),a.utils.initO\
ptions(b),b},a.models.parallelCoordinatesChart=function(){\"use strict\";function\
 b(e){return r.reset(),r.models(c),e.each(function(e){var j=d3.select(this);a.u\
tils.initSVG(j);var p=a.utils.availableWidth(g,j,f),r=a.utils.availableHeight(h\
,j,f);b.update=function(){j.call(b)},b.container=this,k.setter(t(l),b.update).g\
etter(s(l)).update(),k.disabled=l.map(function(a){return!!a.disabled}),l=l.map(\
function(a){return a.disabled=!!a.disabled,a}),l.forEach(function(a,b){a.origin\
alPosition=isNaN(a.originalPosition)?b:a.originalPosition,a.currentPosition=isN\
aN(a.currentPosition)?b:a.currentPosition});var u=m.map(function(a){return a.ke\
y}),v=l.map(function(a){return a.key});if(l.forEach(function(a,b){var c=u.index\
Of(a.key);if(0>c)m.splice(b,0,a);else{var d=m[c].currentPosition-m[c].originalP\
osition;m[c].originalPosition=a.originalPosition,m[c].currentPosition=a.origina\
lPosition+d}}),m=m.filter(function(a){return v.indexOf(a.key)>=0}),!o){var w;o=\
{};for(w in k)k[w]instanceof Array?o[w]=k[w].slice(0):o[w]=k[w]}if(!e||!e.lengt\
h)return a.utils.noData(b,j),b;j.selectAll(\".nv-noData\").remove();var x=j.selec\
tAll(\"g.nv-wrap.nv-parallelCoordinatesChart\").data([e]),y=x.enter().append(\"g\")\
.attr(\"class\",\"nvd3 nv-wrap nv-parallelCoordinatesChart\").append(\"g\"),z=x.selec\
t(\"g\");y.append(\"g\").attr(\"class\",\"nv-parallelCoordinatesWrap\"),y.append(\"g\").a\
ttr(\"class\",\"nv-legendWrap\"),z.select(\"rect\").attr(\"width\",p).attr(\"height\",r>0\
?r:0),i&&(d.width(p).color(function(a){return\"rgb(188,190,192)\"}),z.select(\".nv\
-legendWrap\").datum(m.sort(function(a,b){return a.originalPosition-b.originalPo\
sition})).call(d),f.top!=d.height()&&(f.top=d.height(),r=a.utils.availableHeigh\
t(h,j,f)),x.select(\".nv-legendWrap\").attr(\"transform\",\"translate( 0 ,\"+-f.top+\"\
)\")),x.attr(\"transform\",\"translate(\"+f.left+\",\"+f.top+\")\"),c.width(p).height(r)\
.dimensionData(m).displayBrush(n);var A=z.select(\".nv-parallelCoordinatesWrap \"\
).datum(e);A.transition().call(c),c.dispatch.on(\"brushEnd\",function(a,b){b?(n=!\
0,q.brushEnd(a)):n=!1}),d.dispatch.on(\"stateChange\",function(a){for(var c in a)\
k[c]=a[c];q.stateChange(k),b.update()}),c.dispatch.on(\"dimensionsOrder\",functio\
n(a){m.sort(function(a,b){return a.currentPosition-b.currentPosition});var b=!1\
;m.forEach(function(a,c){a.currentPosition=c,a.currentPosition!==a.originalPosi\
tion&&(b=!0)}),q.dimensionsOrder(m,b)}),q.on(\"changeState\",function(a){\"undefin\
ed\"!=typeof a.disabled&&(m.forEach(function(b,c){b.disabled=a.disabled[c]}),k.d\
isabled=a.disabled),b.update()})}),r.renderEnd(\"parraleleCoordinateChart immedi\
ate\"),b}var c=a.models.parallelCoordinates(),d=a.models.legend(),e=a.models.too\
ltip(),f=(a.models.tooltip(),{top:0,right:0,bottom:0,left:0}),g=null,h=null,i=!\
0,j=a.utils.defaultColor(),k=a.utils.state(),l=[],m=[],n=!0,o=null,p=null,q=d3.\
dispatch(\"dimensionsOrder\",\"brushEnd\",\"stateChange\",\"changeState\",\"renderEnd\"),\
r=a.utils.renderWatch(q),s=function(a){return function(){return{active:a.map(fu\
nction(a){return!a.disabled})}}},t=function(a){return function(b){void 0!==b.ac\
tive&&a.forEach(function(a,c){a.disabled=!b.active[c]})}};return c.dispatch.on(\
\"elementMouseover.tooltip\",function(a){a.series={key:a.label,color:a.color},e.d\
ata(a).hidden(!1)}),c.dispatch.on(\"elementMouseout.tooltip\",function(a){e.hidde\
n(!0)}),c.dispatch.on(\"elementMousemove.tooltip\",function(){e()}),b.dispatch=q,\
b.parallelCoordinates=c,b.legend=d,b.tooltip=e,b.options=a.utils.optionsFunc.bi\
nd(b),b._options=Object.create({},{width:{get:function(){return g},set:function\
(a){g=a}},height:{get:function(){return h},set:function(a){h=a}},showLegend:{ge\
t:function(){return i},set:function(a){i=a}},defaultState:{get:function(){retur\
n o},set:function(a){o=a}},dimensionData:{get:function(){return l},set:function\
(a){l=a}},displayBrush:{get:function(){return n},set:function(a){n=a}},noData:{\
get:function(){return p},set:function(a){p=a}},margin:{get:function(){return f}\
,set:function(a){f.top=void 0!==a.top?a.top:f.top,f.right=void 0!==a.right?a.ri\
ght:f.right,f.bottom=void 0!==a.bottom?a.bottom:f.bottom,f.left=void 0!==a.left\
?a.left:f.left}},color:{get:function(){return j},set:function(b){j=a.utils.getC\
olor(b),d.color(j),c.color(j)}}}),a.utils.inheritOptions(b,c),a.utils.initOptio\
ns(b),b},a.models.pie=function(){\"use strict\";function b(E){return D.reset(),E.\
each(function(b){function E(a,b){a.endAngle=isNaN(a.endAngle)?0:a.endAngle,a.st\
artAngle=isNaN(a.startAngle)?0:a.startAngle,p||(a.innerRadius=0);var c=d3.inter\
polate(this._current,a);return this._current=c(0),function(a){return B[b](c(a))\
}}var F=d-c.left-c.right,G=e-c.top-c.bottom,H=Math.min(F,G)/2,I=[],J=[];if(i=d3\
.select(this),0===z.length)for(var K=H-H/5,L=y*H,M=0;M<b[0].length;M++)I.push(K\
),J.push(L);else I=z.map(function(a){return(a.outer-a.outer/5)*H}),J=z.map(func\
tion(a){return(a.inner-a.inner/5)*H}),y=d3.min(z.map(function(a){return a.inner\
-a.inner/5}));a.utils.initSVG(i);var N=i.selectAll(\".nv-wrap.nv-pie\").data(b),O\
=N.enter().append(\"g\").attr(\"class\",\"nvd3 nv-wrap nv-pie nv-chart-\"+h),P=O.appe\
nd(\"g\"),Q=N.select(\"g\"),R=P.append(\"g\").attr(\"class\",\"nv-pie\");P.append(\"g\").at\
tr(\"class\",\"nv-pieLabels\"),N.attr(\"transform\",\"translate(\"+c.left+\",\"+c.top+\")\"\
),Q.select(\".nv-pie\").attr(\"transform\",\"translate(\"+F/2+\",\"+G/2+\")\"),Q.select(\"\
.nv-pieLabels\").attr(\"transform\",\"translate(\"+F/2+\",\"+G/2+\")\"),i.on(\"click\",fun\
ction(a,b){A.chartClick({data:a,index:b,pos:d3.event,id:h})}),B=[],C=[];for(var\
 M=0;M<b[0].length;M++){var S=d3.svg.arc().outerRadius(I[M]),T=d3.svg.arc().out\
erRadius(I[M]+5);u!==!1&&(S.startAngle(u),T.startAngle(u)),w!==!1&&(S.endAngle(\
w),T.endAngle(w)),p&&(S.innerRadius(J[M]),T.innerRadius(J[M])),S.cornerRadius&&\
x&&(S.cornerRadius(x),T.cornerRadius(x)),B.push(S),C.push(T)}var U=d3.layout.pi\
e().sort(null).value(function(a){return a.disabled?0:g(a)});U.padAngle&&v&&U.pa\
dAngle(v),p&&q&&(R.append(\"text\").attr(\"class\",\"nv-pie-title\"),N.select(\".nv-pi\
e-title\").style(\"text-anchor\",\"middle\").text(function(a){return q}).style(\"font\
-size\",Math.min(F,G)*y*2/(q.length+2)+\"px\").attr(\"dy\",\"0.35em\").attr(\"transform\
\",function(a,b){return\"translate(0, \"+s+\")\"}));var V=N.select(\".nv-pie\").select\
All(\".nv-slice\").data(U),W=N.select(\".nv-pieLabels\").selectAll(\".nv-label\").dat\
a(U);V.exit().remove(),W.exit().remove();var X=V.enter().append(\"g\");X.attr(\"cl\
ass\",\"nv-slice\"),X.on(\"mouseover\",function(a,b){d3.select(this).classed(\"hover\"\
,!0),r&&d3.select(this).select(\"path\").transition().duration(70).attr(\"d\",C[b])\
,A.elementMouseover({data:a.data,index:b,color:d3.select(this).style(\"fill\")})}\
),X.on(\"mouseout\",function(a,b){d3.select(this).classed(\"hover\",!1),r&&d3.selec\
t(this).select(\"path\").transition().duration(50).attr(\"d\",B[b]),A.elementMouseo\
ut({data:a.data,index:b})}),X.on(\"mousemove\",function(a,b){A.elementMousemove({\
data:a.data,index:b})}),X.on(\"click\",function(a,b){var c=this;A.elementClick({d\
ata:a.data,index:b,color:d3.select(this).style(\"fill\"),event:d3.event,element:c\
})}),X.on(\"dblclick\",function(a,b){A.elementDblClick({data:a.data,index:b,color\
:d3.select(this).style(\"fill\")})}),V.attr(\"fill\",function(a,b){return j(a.data,\
b)}),V.attr(\"stroke\",function(a,b){return j(a.data,b)});X.append(\"path\").each(f\
unction(a){this._current=a});if(V.select(\"path\").transition().attr(\"d\",function\
(a,b){return B[b](a)}).attrTween(\"d\",E),l){for(var Y=[],M=0;M<b[0].length;M++)Y\
.push(B[M]),m?p&&(Y[M]=d3.svg.arc().outerRadius(B[M].outerRadius()),u!==!1&&Y[M\
].startAngle(u),w!==!1&&Y[M].endAngle(w)):p||Y[M].innerRadius(0);W.enter().appe\
nd(\"g\").classed(\"nv-label\",!0).each(function(a,b){var c=d3.select(this);c.attr(\
\"transform\",function(a,b){if(t){a.outerRadius=I[b]+10,a.innerRadius=I[b]+15;var\
 c=(a.startAngle+a.endAngle)/2*(180/Math.PI);return(a.startAngle+a.endAngle)/2<\
Math.PI?c-=90:c+=90,\"translate(\"+Y[b].centroid(a)+\") rotate(\"+c+\")\"}return a.ou\
terRadius=H+10,a.innerRadius=H+15,\"translate(\"+Y[b].centroid(a)+\")\"}),c.append(\
\"rect\").style(\"stroke\",\"#fff\").style(\"fill\",\"#fff\").attr(\"rx\",3).attr(\"ry\",3),c\
.append(\"text\").style(\"text-anchor\",t?(a.startAngle+a.endAngle)/2<Math.PI?\"star\
t\":\"end\":\"middle\").style(\"fill\",\"#000\")});var Z={},$=14,_=140,aa=function(a){re\
turn Math.floor(a[0]/_)*_+\",\"+Math.floor(a[1]/$)*$},ba=function(a){return(a.end\
Angle-a.startAngle)/(2*Math.PI)};W.watchTransition(D,\"pie labels\").attr(\"transf\
orm\",function(a,b){if(t){a.outerRadius=I[b]+10,a.innerRadius=I[b]+15;var c=(a.s\
tartAngle+a.endAngle)/2*(180/Math.PI);return(a.startAngle+a.endAngle)/2<Math.PI\
?c-=90:c+=90,\"translate(\"+Y[b].centroid(a)+\") rotate(\"+c+\")\"}a.outerRadius=H+10\
,a.innerRadius=H+15;var d=Y[b].centroid(a),e=ba(a);if(a.value&&e>=o){var f=aa(d\
);Z[f]&&(d[1]-=$),Z[aa(d)]=!0}return\"translate(\"+d+\")\"}),W.select(\".nv-label te\
xt\").style(\"text-anchor\",function(a,b){return t?(a.startAngle+a.endAngle)/2<Mat\
h.PI?\"start\":\"end\":\"middle\"}).text(function(a,b){var c=ba(a),d=\"\";if(!a.value||\
o>c)return\"\";if(\"function\"==typeof n)d=n(a,b,{key:f(a.data),value:g(a.data),per\
cent:k(c)});else switch(n){case\"key\":d=f(a.data);break;case\"value\":d=k(g(a.data\
));break;case\"percent\":d=d3.format(\"%\")(c)}return d})}}),D.renderEnd(\"pie immed\
iate\"),b}var c={top:0,right:0,bottom:0,left:0},d=500,e=500,f=function(a){return\
 a.x},g=function(a){return a.y},h=Math.floor(1e4*Math.random()),i=null,j=a.util\
s.defaultColor(),k=d3.format(\",.2f\"),l=!0,m=!1,n=\"key\",o=.02,p=!1,q=!1,r=!0,s=0\
,t=!1,u=!1,v=!1,w=!1,x=0,y=.5,z=[],A=d3.dispatch(\"chartClick\",\"elementClick\",\"e\
lementDblClick\",\"elementMouseover\",\"elementMouseout\",\"elementMousemove\",\"render\
End\"),B=[],C=[],D=a.utils.renderWatch(A);return b.dispatch=A,b.options=a.utils.\
optionsFunc.bind(b),b._options=Object.create({},{arcsRadius:{get:function(){ret\
urn z},set:function(a){z=a}},width:{get:function(){return d},set:function(a){d=\
a}},height:{get:function(){return e},set:function(a){e=a}},showLabels:{get:func\
tion(){return l},set:function(a){l=a}},title:{get:function(){return q},set:func\
tion(a){q=a}},titleOffset:{get:function(){return s},set:function(a){s=a}},label\
Threshold:{get:function(){return o},set:function(a){o=a}},valueFormat:{get:func\
tion(){return k},set:function(a){k=a}},x:{get:function(){return f},set:function\
(a){f=a}},id:{get:function(){return h},set:function(a){h=a}},endAngle:{get:func\
tion(){return w},set:function(a){w=a}},startAngle:{get:function(){return u},set\
:function(a){u=a}},padAngle:{get:function(){return v},set:function(a){v=a}},cor\
nerRadius:{get:function(){return x},set:function(a){x=a}},donutRatio:{get:funct\
ion(){return y},set:function(a){y=a}},labelsOutside:{get:function(){return m},s\
et:function(a){m=a}},labelSunbeamLayout:{get:function(){return t},set:function(\
a){t=a}},donut:{get:function(){return p},set:function(a){p=a}},growOnHover:{get\
:function(){return r},set:function(a){r=a}},pieLabelsOutside:{get:function(){re\
turn m},set:function(b){m=b,a.deprecated(\"pieLabelsOutside\",\"use labelsOutside \
instead\")}},donutLabelsOutside:{get:function(){return m},set:function(b){m=b,a.\
deprecated(\"donutLabelsOutside\",\"use labelsOutside instead\")}},labelFormat:{get\
:function(){return k},set:function(b){k=b,a.deprecated(\"labelFormat\",\"use value\
Format instead\")}},margin:{get:function(){return c},set:function(a){c.top=\"unde\
fined\"!=typeof a.top?a.top:c.top,c.right=\"undefined\"!=typeof a.right?a.right:c.\
right,c.bottom=\"undefined\"!=typeof a.bottom?a.bottom:c.bottom,c.left=\"undefined\
\"!=typeof a.left?a.left:c.left}},y:{get:function(){return g},set:function(a){g=\
d3.functor(a)}},color:{get:function(){return j},set:function(b){j=a.utils.getCo\
lor(b)}},labelType:{get:function(){return n},set:function(a){n=a||\"key\"}}}),a.u\
tils.initOptions(b),b},a.models.pieChart=function(){\"use strict\";function b(e){\
return q.reset(),q.models(c),e.each(function(e){var k=d3.select(this);a.utils.i\
nitSVG(k);var n=a.utils.availableWidth(g,k,f),o=a.utils.availableHeight(h,k,f);\
if(b.update=function(){k.transition().call(b)},b.container=this,l.setter(s(e),b\
.update).getter(r(e)).update(),l.disabled=e.map(function(a){return!!a.disabled}\
),!m){var q;m={};for(q in l)l[q]instanceof Array?m[q]=l[q].slice(0):m[q]=l[q]}i\
f(!e||!e.length)return a.utils.noData(b,k),b;k.selectAll(\".nv-noData\").remove()\
;var t=k.selectAll(\"g.nv-wrap.nv-pieChart\").data([e]),u=t.enter().append(\"g\").a\
ttr(\"class\",\"nvd3 nv-wrap nv-pieChart\").append(\"g\"),v=t.select(\"g\");if(u.append\
(\"g\").attr(\"class\",\"nv-pieWrap\"),u.append(\"g\").attr(\"class\",\"nv-legendWrap\"),i)\
if(\"top\"===j)d.width(n).key(c.x()),t.select(\".nv-legendWrap\").datum(e).call(d),\
f.top!=d.height()&&(f.top=d.height(),o=a.utils.availableHeight(h,k,f)),t.select\
(\".nv-legendWrap\").attr(\"transform\",\"translate(0,\"+-f.top+\")\");else if(\"right\"=\
==j){var w=a.models.legend().width();w>n/2&&(w=n/2),d.height(o).key(c.x()),d.wi\
dth(w),n-=d.width(),t.select(\".nv-legendWrap\").datum(e).call(d).attr(\"transform\
\",\"translate(\"+n+\",0)\")}t.attr(\"transform\",\"translate(\"+f.left+\",\"+f.top+\")\"),c\
.width(n).height(o);var x=v.select(\".nv-pieWrap\").datum([e]);d3.transition(x).c\
all(c),d.dispatch.on(\"stateChange\",function(a){for(var c in a)l[c]=a[c];p.state\
Change(l),b.update()}),p.on(\"changeState\",function(a){\"undefined\"!=typeof a.dis\
abled&&(e.forEach(function(b,c){b.disabled=a.disabled[c]}),l.disabled=a.disable\
d),b.update()})}),q.renderEnd(\"pieChart immediate\"),b}var c=a.models.pie(),d=a.\
models.legend(),e=a.models.tooltip(),f={top:30,right:20,bottom:20,left:20},g=nu\
ll,h=null,i=!0,j=\"top\",k=a.utils.defaultColor(),l=a.utils.state(),m=null,n=null\
,o=250,p=d3.dispatch(\"stateChange\",\"changeState\",\"renderEnd\");e.duration(0).hea\
derEnabled(!1).valueFormatter(function(a,b){return c.valueFormat()(a,b)});var q\
=a.utils.renderWatch(p),r=function(a){return function(){return{active:a.map(fun\
ction(a){return!a.disabled})}}},s=function(a){return function(b){void 0!==b.act\
ive&&a.forEach(function(a,c){a.disabled=!b.active[c]})}};return c.dispatch.on(\"\
elementMouseover.tooltip\",function(a){a.series={key:b.x()(a.data),value:b.y()(a\
.data),color:a.color},e.data(a).hidden(!1)}),c.dispatch.on(\"elementMouseout.too\
ltip\",function(a){e.hidden(!0)}),c.dispatch.on(\"elementMousemove.tooltip\",funct\
ion(a){e()}),b.legend=d,b.dispatch=p,b.pie=c,b.tooltip=e,b.options=a.utils.opti\
onsFunc.bind(b),b._options=Object.create({},{noData:{get:function(){return n},s\
et:function(a){n=a}},showLegend:{get:function(){return i},set:function(a){i=a}}\
,legendPosition:{get:function(){return j},set:function(a){j=a}},defaultState:{g\
et:function(){return m},set:function(a){m=a}},color:{get:function(){return k},s\
et:function(a){k=a,d.color(k),c.color(k)}},duration:{get:function(){return o},s\
et:function(a){o=a,q.reset(o)}},margin:{get:function(){return f},set:function(a\
){f.top=void 0!==a.top?a.top:f.top,f.right=void 0!==a.right?a.right:f.right,f.b\
ottom=void 0!==a.bottom?a.bottom:f.bottom,f.left=void 0!==a.left?a.left:f.left}\
}}),a.utils.inheritOptions(b,c),a.utils.initOptions(b),b},a.models.scatter=func\
tion(){\"use strict\";function b(N){return Q.reset(),N.each(function(N){function \
S(){if(P=!1,!w)return!1;if(M===!0){var a=d3.merge(N.map(function(a,b){return a.\
values.map(function(a,c){var d=p(a,c),e=q(a,c);return[m(d)+1e-4*Math.random(),n\
(e)+1e-4*Math.random(),b,c,a]}).filter(function(a,b){return x(a[4],b)})}));if(0\
==a.length)return!1;a.length<3&&(a.push([m.range()[0]-20,n.range()[0]-20,null,n\
ull]),a.push([m.range()[1]+20,n.range()[1]+20,null,null]),a.push([m.range()[0]-\
20,n.range()[0]+20,null,null]),a.push([m.range()[1]+20,n.range()[1]-20,null,nul\
l]));var b=d3.geom.polygon([[-10,-10],[-10,i+10],[h+10,i+10],[h+10,-10]]),c=d3.\
geom.voronoi(a).map(function(c,d){return{data:b.clip(c),series:a[d][2],point:a[\
d][3]}});X.select(\".nv-point-paths\").selectAll(\"path\").remove();var d=X.select(\
\".nv-point-paths\").selectAll(\"path\").data(c),e=d.enter().append(\"svg:path\").att\
r(\"d\",function(a){return a&&a.data&&0!==a.data.length?\"M\"+a.data.join(\",\")+\"Z\":\
\"M 0 0\"}).attr(\"id\",function(a,b){return\"nv-path-\"+b}).attr(\"clip-path\",functio\
n(a,b){return\"url(#nv-clip-\"+k+\"-\"+b+\")\"});if(C&&e.style(\"fill\",d3.rgb(230,230,\
230)).style(\"fill-opacity\",.4).style(\"stroke-opacity\",1).style(\"stroke\",d3.rgb(\
200,200,200)),B){X.select(\".nv-point-clips\").selectAll(\"*\").remove();var f=X.se\
lect(\".nv-point-clips\").selectAll(\"clipPath\").data(a);f.enter().append(\"svg:cli\
pPath\").attr(\"id\",function(a,b){return\"nv-clip-\"+k+\"-\"+b}).append(\"svg:circle\")\
.attr(\"cx\",function(a){return a[0]}).attr(\"cy\",function(a){return a[1]}).attr(\"\
r\",D)}var o=function(a,b){if(P)return 0;var c=N[a.series];if(void 0!==c){var d=\
c.values[a.point];d.color=j(c,a.series),d.x=p(d),d.y=q(d);var e=l.node().getBou\
ndingClientRect(),f=window.pageYOffset||document.documentElement.scrollTop,h=wi\
ndow.pageXOffset||document.documentElement.scrollLeft,i={left:m(p(d,a.point))+e\
.left+h+g.left+10,top:n(q(d,a.point))+e.top+f+g.top+10};b({point:d,series:c,pos\
:i,relativePos:[m(p(d,a.point))+g.left,n(q(d,a.point))+g.top],seriesIndex:a.ser\
ies,pointIndex:a.point})}};d.on(\"click\",function(a){o(a,L.elementClick)}).on(\"d\
blclick\",function(a){o(a,L.elementDblClick)}).on(\"mouseover\",function(a){o(a,L.\
elementMouseover)}).on(\"mouseout\",function(a,b){o(a,L.elementMouseout)})}else X\
.select(\".nv-groups\").selectAll(\".nv-group\").selectAll(\".nv-point\").on(\"click\",\
function(a,b){if(P||!N[a.series])return 0;var c=N[a.series],d=c.values[b];L.ele\
mentClick({point:d,series:c,pos:[m(p(d,b))+g.left,n(q(d,b))+g.top],relativePos:\
[m(p(d,b))+g.left,n(q(d,b))+g.top],seriesIndex:a.series,pointIndex:b})}).on(\"db\
lclick\",function(a,b){if(P||!N[a.series])return 0;var c=N[a.series],d=c.values[\
b];L.elementDblClick({point:d,series:c,pos:[m(p(d,b))+g.left,n(q(d,b))+g.top],r\
elativePos:[m(p(d,b))+g.left,n(q(d,b))+g.top],seriesIndex:a.series,pointIndex:b\
})}).on(\"mouseover\",function(a,b){if(P||!N[a.series])return 0;var c=N[a.series]\
,d=c.values[b];L.elementMouseover({point:d,series:c,pos:[m(p(d,b))+g.left,n(q(d\
,b))+g.top],relativePos:[m(p(d,b))+g.left,n(q(d,b))+g.top],seriesIndex:a.series\
,pointIndex:b,color:j(a,b)})}).on(\"mouseout\",function(a,b){if(P||!N[a.series])r\
eturn 0;var c=N[a.series],d=c.values[b];L.elementMouseout({point:d,series:c,pos\
:[m(p(d,b))+g.left,n(q(d,b))+g.top],relativePos:[m(p(d,b))+g.left,n(q(d,b))+g.t\
op],seriesIndex:a.series,pointIndex:b,color:j(a,b)})})}l=d3.select(this);var T=\
a.utils.availableWidth(h,l,g),U=a.utils.availableHeight(i,l,g);a.utils.initSVG(\
l),N.forEach(function(a,b){a.values.forEach(function(a){a.series=b})});var V=E&\
&F&&I?[]:d3.merge(N.map(function(a){return a.values.map(function(a,b){return{x:\
p(a,b),y:q(a,b),size:r(a,b)}})}));if(m.domain(E||d3.extent(V.map(function(a){re\
turn a.x}).concat(t))),y&&N[0]?m.range(G||[(T*z+T)/(2*N[0].values.length),T-T*(\
1+z)/(2*N[0].values.length)]):m.range(G||[0,T]),\"o\"===b.yScale().name){var W=d3\
.min(V.map(function(a){return 0!==a.y?a.y:void 0}));n.clamp(!0).domain(F||d3.ex\
tent(V.map(function(a){return 0!==a.y?a.y:.1*W}).concat(u))).range(H||[U,0])}el\
se n.domain(F||d3.extent(V.map(function(a){return a.y}).concat(u))).range(H||[U\
,0]);o.domain(I||d3.extent(V.map(function(a){return a.size}).concat(v))).range(\
J||R),K=m.domain()[0]===m.domain()[1]||n.domain()[0]===n.domain()[1],m.domain()\
[0]===m.domain()[1]&&(m.domain()[0]?m.domain([m.domain()[0]-.01*m.domain()[0],m\
.domain()[1]+.01*m.domain()[1]]):m.domain([-1,1])),n.domain()[0]===n.domain()[1\
]&&(n.domain()[0]?n.domain([n.domain()[0]-.01*n.domain()[0],n.domain()[1]+.01*n\
.domain()[1]]):n.domain([-1,1])),isNaN(m.domain()[0])&&m.domain([-1,1]),isNaN(n\
.domain()[0])&&n.domain([-1,1]),c=c||m,d=d||n,e=e||o;var X=l.selectAll(\"g.nv-wr\
ap.nv-scatter\").data([N]),Y=X.enter().append(\"g\").attr(\"class\",\"nvd3 nv-wrap nv\
-scatter nv-chart-\"+k),Z=Y.append(\"defs\"),$=Y.append(\"g\"),_=X.select(\"g\");X.cla\
ssed(\"nv-single-point\",K),$.append(\"g\").attr(\"class\",\"nv-groups\"),$.append(\"g\")\
.attr(\"class\",\"nv-point-paths\"),Y.append(\"g\").attr(\"class\",\"nv-point-clips\"),X.\
attr(\"transform\",\"translate(\"+g.left+\",\"+g.top+\")\"),Z.append(\"clipPath\").attr(\"\
id\",\"nv-edge-clip-\"+k).append(\"rect\"),X.select(\"#nv-edge-clip-\"+k+\" rect\").attr\
(\"width\",T).attr(\"height\",U>0?U:0),_.attr(\"clip-path\",A?\"url(#nv-edge-clip-\"+k+\
\")\":\"\"),P=!0;var aa=X.select(\".nv-groups\").selectAll(\".nv-group\").data(function\
(a){return a},function(a){return a.key});aa.enter().append(\"g\").style(\"stroke-o\
pacity\",1e-6).style(\"fill-opacity\",1e-6),aa.exit().remove(),aa.attr(\"class\",fun\
ction(a,b){return(a.classed||\"\")+\" nv-group nv-series-\"+b}).classed(\"hover\",fun\
ction(a){return a.hover}),aa.watchTransition(Q,\"scatter: groups\").style(\"fill\",\
function(a,b){return j(a,b)}).style(\"stroke\",function(a,b){return j(a,b)}).styl\
e(\"stroke-opacity\",1).style(\"fill-opacity\",.5);var ba=aa.selectAll(\"path.nv-poi\
nt\").data(function(a){return a.values.map(function(a,b){return[a,b]}).filter(fu\
nction(a,b){return x(a[0],b)})});ba.enter().append(\"path\").style(\"fill\",functio\
n(a){return a.color}).style(\"stroke\",function(a){return a.color}).attr(\"transfo\
rm\",function(b){return\"translate(\"+a.utils.NaNtoZero(c(p(b[0],b[1])))+\",\"+a.uti\
ls.NaNtoZero(d(q(b[0],b[1])))+\")\"}).attr(\"d\",a.utils.symbol().type(function(a){\
return s(a[0])}).size(function(a){return o(r(a[0],a[1]))})),ba.exit().remove(),\
aa.exit().selectAll(\"path.nv-point\").watchTransition(Q,\"scatter exit\").attr(\"tr\
ansform\",function(b){return\"translate(\"+a.utils.NaNtoZero(m(p(b[0],b[1])))+\",\"+\
a.utils.NaNtoZero(n(q(b[0],b[1])))+\")\"}).remove(),ba.each(function(a){d3.select\
(this).classed(\"nv-point\",!0).classed(\"nv-point-\"+a[1],!0).classed(\"nv-noninter\
active\",!w).classed(\"hover\",!1)}),ba.watchTransition(Q,\"scatter points\").attr(\"\
transform\",function(b){return\"translate(\"+a.utils.NaNtoZero(m(p(b[0],b[1])))+\",\
\"+a.utils.NaNtoZero(n(q(b[0],b[1])))+\")\"}).attr(\"d\",a.utils.symbol().type(funct\
ion(a){return s(a[0])}).size(function(a){return o(r(a[0],a[1]))})),O?(clearTime\
out(f),f=setTimeout(S,O)):S(),c=m.copy(),d=n.copy(),e=o.copy()}),Q.renderEnd(\"s\
catter immediate\"),b}var c,d,e,f,g={top:0,right:0,bottom:0,left:0},h=null,i=nul\
l,j=a.utils.defaultColor(),k=Math.floor(1e5*Math.random()),l=null,m=d3.scale.li\
near(),n=d3.scale.linear(),o=d3.scale.linear(),p=function(a){return a.x},q=func\
tion(a){return a.y},r=function(a){return a.size||1},s=function(a){return a.shap\
e||\"circle\"},t=[],u=[],v=[],w=!0,x=function(a){return!a.notActive},y=!1,z=.1,A=\
!1,B=!0,C=!1,D=function(){return 25},E=null,F=null,G=null,H=null,I=null,J=null,\
K=!1,L=d3.dispatch(\"elementClick\",\"elementDblClick\",\"elementMouseover\",\"element\
Mouseout\",\"renderEnd\"),M=!0,N=250,O=300,P=!1,Q=a.utils.renderWatch(L,N),R=[16,2\
56];return b.dispatch=L,b.options=a.utils.optionsFunc.bind(b),b._calls=new func\
tion(){this.clearHighlights=function(){return a.dom.write(function(){l.selectAl\
l(\".nv-point.hover\").classed(\"hover\",!1)}),null},this.highlightPoint=function(b\
,c,d){a.dom.write(function(){l.select(\".nv-groups\").selectAll(\".nv-series-\"+b).\
selectAll(\".nv-point-\"+c).classed(\"hover\",d)})}},L.on(\"elementMouseover.point\",\
function(a){w&&b._calls.highlightPoint(a.seriesIndex,a.pointIndex,!0)}),L.on(\"e\
lementMouseout.point\",function(a){w&&b._calls.highlightPoint(a.seriesIndex,a.po\
intIndex,!1)}),b._options=Object.create({},{width:{get:function(){return h},set\
:function(a){h=a}},height:{get:function(){return i},set:function(a){i=a}},xScal\
e:{get:function(){return m},set:function(a){m=a}},yScale:{get:function(){return\
 n},set:function(a){n=a}},pointScale:{get:function(){return o},set:function(a){\
o=a}},xDomain:{get:function(){return E},set:function(a){E=a}},yDomain:{get:func\
tion(){return F},set:function(a){F=a}},pointDomain:{get:function(){return I},se\
t:function(a){I=a}},xRange:{get:function(){return G},set:function(a){G=a}},yRan\
ge:{get:function(){return H},set:function(a){H=a}},pointRange:{get:function(){r\
eturn J},set:function(a){J=a}},forceX:{get:function(){return t},set:function(a)\
{t=a}},forceY:{get:function(){return u},set:function(a){u=a}},forcePoint:{get:f\
unction(){return v},set:function(a){v=a}},interactive:{get:function(){return w}\
,set:function(a){w=a}},pointActive:{get:function(){return x},set:function(a){x=\
a}},padDataOuter:{get:function(){return z},set:function(a){z=a}},padData:{get:f\
unction(){
return y},set:function(a){y=a}},clipEdge:{get:function(){return A},set:function\
(a){A=a}},clipVoronoi:{get:function(){return B},set:function(a){B=a}},clipRadiu\
s:{get:function(){return D},set:function(a){D=a}},showVoronoi:{get:function(){r\
eturn C},set:function(a){C=a}},id:{get:function(){return k},set:function(a){k=a\
}},interactiveUpdateDelay:{get:function(){return O},set:function(a){O=a}},x:{ge\
t:function(){return p},set:function(a){p=d3.functor(a)}},y:{get:function(){retu\
rn q},set:function(a){q=d3.functor(a)}},pointSize:{get:function(){return r},set\
:function(a){r=d3.functor(a)}},pointShape:{get:function(){return s},set:functio\
n(a){s=d3.functor(a)}},margin:{get:function(){return g},set:function(a){g.top=v\
oid 0!==a.top?a.top:g.top,g.right=void 0!==a.right?a.right:g.right,g.bottom=voi\
d 0!==a.bottom?a.bottom:g.bottom,g.left=void 0!==a.left?a.left:g.left}},duratio\
n:{get:function(){return N},set:function(a){N=a,Q.reset(N)}},color:{get:functio\
n(){return j},set:function(b){j=a.utils.getColor(b)}},useVoronoi:{get:function(\
){return M},set:function(a){M=a,M===!1&&(B=!1)}}}),a.utils.initOptions(b),b},a.\
models.scatterChart=function(){\"use strict\";function b(z){return D.reset(),D.mo\
dels(c),t&&D.models(d),u&&D.models(e),q&&D.models(g),r&&D.models(h),z.each(func\
tion(z){m=d3.select(this),a.utils.initSVG(m);var G=a.utils.availableWidth(k,m,j\
),H=a.utils.availableHeight(l,m,j);if(b.update=function(){0===A?m.call(b):m.tra\
nsition().duration(A).call(b)},b.container=this,w.setter(F(z),b.update).getter(\
E(z)).update(),w.disabled=z.map(function(a){return!!a.disabled}),!x){var I;x={}\
;for(I in w)w[I]instanceof Array?x[I]=w[I].slice(0):x[I]=w[I]}if(!(z&&z.length&\
&z.filter(function(a){return a.values.length}).length))return a.utils.noData(b,\
m),D.renderEnd(\"scatter immediate\"),b;m.selectAll(\".nv-noData\").remove(),o=c.xS\
cale(),p=c.yScale();var J=m.selectAll(\"g.nv-wrap.nv-scatterChart\").data([z]),K=\
J.enter().append(\"g\").attr(\"class\",\"nvd3 nv-wrap nv-scatterChart nv-chart-\"+c.i\
d()),L=K.append(\"g\"),M=J.select(\"g\");if(L.append(\"rect\").attr(\"class\",\"nvd3 nv-\
background\").style(\"pointer-events\",\"none\"),L.append(\"g\").attr(\"class\",\"nv-x nv\
-axis\"),L.append(\"g\").attr(\"class\",\"nv-y nv-axis\"),L.append(\"g\").attr(\"class\",\"\
nv-scatterWrap\"),L.append(\"g\").attr(\"class\",\"nv-regressionLinesWrap\"),L.append(\
\"g\").attr(\"class\",\"nv-distWrap\"),L.append(\"g\").attr(\"class\",\"nv-legendWrap\"),v&\
&M.select(\".nv-y.nv-axis\").attr(\"transform\",\"translate(\"+G+\",0)\"),s){var N=G;f.\
width(N),J.select(\".nv-legendWrap\").datum(z).call(f),j.top!=f.height()&&(j.top=\
f.height(),H=a.utils.availableHeight(l,m,j)),J.select(\".nv-legendWrap\").attr(\"t\
ransform\",\"translate(0,\"+-j.top+\")\")}J.attr(\"transform\",\"translate(\"+j.left+\",\"\
+j.top+\")\"),c.width(G).height(H).color(z.map(function(a,b){return a.color=a.col\
or||n(a,b),a.color}).filter(function(a,b){return!z[b].disabled})),J.select(\".nv\
-scatterWrap\").datum(z.filter(function(a){return!a.disabled})).call(c),J.select\
(\".nv-regressionLinesWrap\").attr(\"clip-path\",\"url(#nv-edge-clip-\"+c.id()+\")\");v\
ar O=J.select(\".nv-regressionLinesWrap\").selectAll(\".nv-regLines\").data(functio\
n(a){return a});O.enter().append(\"g\").attr(\"class\",\"nv-regLines\");var P=O.selec\
tAll(\".nv-regLine\").data(function(a){return[a]});P.enter().append(\"line\").attr(\
\"class\",\"nv-regLine\").style(\"stroke-opacity\",0),P.filter(function(a){return a.i\
ntercept&&a.slope}).watchTransition(D,\"scatterPlusLineChart: regline\").attr(\"x1\
\",o.range()[0]).attr(\"x2\",o.range()[1]).attr(\"y1\",function(a,b){return p(o.doma\
in()[0]*a.slope+a.intercept)}).attr(\"y2\",function(a,b){return p(o.domain()[1]*a\
.slope+a.intercept)}).style(\"stroke\",function(a,b,c){return n(a,c)}).style(\"str\
oke-opacity\",function(a,b){return a.disabled||\"undefined\"==typeof a.slope||\"und\
efined\"==typeof a.intercept?0:1}),t&&(d.scale(o)._ticks(a.utils.calcTicksX(G/10\
0,z)).tickSize(-H,0),M.select(\".nv-x.nv-axis\").attr(\"transform\",\"translate(0,\"+\
p.range()[0]+\")\").call(d)),u&&(e.scale(p)._ticks(a.utils.calcTicksY(H/36,z)).ti\
ckSize(-G,0),M.select(\".nv-y.nv-axis\").call(e)),q&&(g.getData(c.x()).scale(o).w\
idth(G).color(z.map(function(a,b){return a.color||n(a,b)}).filter(function(a,b)\
{return!z[b].disabled})),L.select(\".nv-distWrap\").append(\"g\").attr(\"class\",\"nv-\
distributionX\"),M.select(\".nv-distributionX\").attr(\"transform\",\"translate(0,\"+p\
.range()[0]+\")\").datum(z.filter(function(a){return!a.disabled})).call(g)),r&&(h\
.getData(c.y()).scale(p).width(H).color(z.map(function(a,b){return a.color||n(a\
,b)}).filter(function(a,b){return!z[b].disabled})),L.select(\".nv-distWrap\").app\
end(\"g\").attr(\"class\",\"nv-distributionY\"),M.select(\".nv-distributionY\").attr(\"t\
ransform\",\"translate(\"+(v?G:-h.size())+\",0)\").datum(z.filter(function(a){return\
!a.disabled})).call(h)),f.dispatch.on(\"stateChange\",function(a){for(var c in a)\
w[c]=a[c];y.stateChange(w),b.update()}),y.on(\"changeState\",function(a){\"undefin\
ed\"!=typeof a.disabled&&(z.forEach(function(b,c){b.disabled=a.disabled[c]}),w.d\
isabled=a.disabled),b.update()}),c.dispatch.on(\"elementMouseout.tooltip\",functi\
on(a){i.hidden(!0),m.select(\".nv-chart-\"+c.id()+\" .nv-series-\"+a.seriesIndex+\" \
.nv-distx-\"+a.pointIndex).attr(\"y1\",0),m.select(\".nv-chart-\"+c.id()+\" .nv-serie\
s-\"+a.seriesIndex+\" .nv-disty-\"+a.pointIndex).attr(\"x2\",h.size())}),c.dispatch.\
on(\"elementMouseover.tooltip\",function(a){m.select(\".nv-series-\"+a.seriesIndex+\
\" .nv-distx-\"+a.pointIndex).attr(\"y1\",a.relativePos[1]-H),m.select(\".nv-series-\
\"+a.seriesIndex+\" .nv-disty-\"+a.pointIndex).attr(\"x2\",a.relativePos[0]+g.size()\
),i.data(a).hidden(!1)}),B=o.copy(),C=p.copy()}),D.renderEnd(\"scatter with line\
 immediate\"),b}var c=a.models.scatter(),d=a.models.axis(),e=a.models.axis(),f=a\
.models.legend(),g=a.models.distribution(),h=a.models.distribution(),i=a.models\
.tooltip(),j={top:30,right:20,bottom:50,left:75},k=null,l=null,m=null,n=a.utils\
.defaultColor(),o=c.xScale(),p=c.yScale(),q=!1,r=!1,s=!0,t=!0,u=!0,v=!1,w=a.uti\
ls.state(),x=null,y=d3.dispatch(\"stateChange\",\"changeState\",\"renderEnd\"),z=null\
,A=250;c.xScale(o).yScale(p),d.orient(\"bottom\").tickPadding(10),e.orient(v?\"rig\
ht\":\"left\").tickPadding(10),g.axis(\"x\"),h.axis(\"y\"),i.headerFormatter(function(\
a,b){return d.tickFormat()(a,b)}).valueFormatter(function(a,b){return e.tickFor\
mat()(a,b)});var B,C,D=a.utils.renderWatch(y,A),E=function(a){return function()\
{return{active:a.map(function(a){return!a.disabled})}}},F=function(a){return fu\
nction(b){void 0!==b.active&&a.forEach(function(a,c){a.disabled=!b.active[c]})}\
};return b.dispatch=y,b.scatter=c,b.legend=f,b.xAxis=d,b.yAxis=e,b.distX=g,b.di\
stY=h,b.tooltip=i,b.options=a.utils.optionsFunc.bind(b),b._options=Object.creat\
e({},{width:{get:function(){return k},set:function(a){k=a}},height:{get:functio\
n(){return l},set:function(a){l=a}},container:{get:function(){return m},set:fun\
ction(a){m=a}},showDistX:{get:function(){return q},set:function(a){q=a}},showDi\
stY:{get:function(){return r},set:function(a){r=a}},showLegend:{get:function(){\
return s},set:function(a){s=a}},showXAxis:{get:function(){return t},set:functio\
n(a){t=a}},showYAxis:{get:function(){return u},set:function(a){u=a}},defaultSta\
te:{get:function(){return x},set:function(a){x=a}},noData:{get:function(){retur\
n z},set:function(a){z=a}},duration:{get:function(){return A},set:function(a){A\
=a}},margin:{get:function(){return j},set:function(a){j.top=void 0!==a.top?a.to\
p:j.top,j.right=void 0!==a.right?a.right:j.right,j.bottom=void 0!==a.bottom?a.b\
ottom:j.bottom,j.left=void 0!==a.left?a.left:j.left}},rightAlignYAxis:{get:func\
tion(){return v},set:function(a){v=a,e.orient(a?\"right\":\"left\")}},color:{get:fu\
nction(){return n},set:function(b){n=a.utils.getColor(b),f.color(n),g.color(n),\
h.color(n)}}}),a.utils.inheritOptions(b,c),a.utils.initOptions(b),b},a.models.s\
parkline=function(){\"use strict\";function b(k){return r.reset(),k.each(function\
(b){var k=h-g.left-g.right,q=i-g.top-g.bottom;j=d3.select(this),a.utils.initSVG\
(j),l.domain(c||d3.extent(b,n)).range(e||[0,k]),m.domain(d||d3.extent(b,o)).ran\
ge(f||[q,0]);var r=j.selectAll(\"g.nv-wrap.nv-sparkline\").data([b]),s=r.enter().\
append(\"g\").attr(\"class\",\"nvd3 nv-wrap nv-sparkline\");s.append(\"g\"),r.select(\"g\
\");r.attr(\"transform\",\"translate(\"+g.left+\",\"+g.top+\")\");var t=r.selectAll(\"pat\
h\").data(function(a){return[a]});t.enter().append(\"path\"),t.exit().remove(),t.s\
tyle(\"stroke\",function(a,b){return a.color||p(a,b)}).attr(\"d\",d3.svg.line().x(f\
unction(a,b){return l(n(a,b))}).y(function(a,b){return m(o(a,b))}));var u=r.sel\
ectAll(\"circle.nv-point\").data(function(a){function b(b){if(-1!=b){var c=a[b];r\
eturn c.pointIndex=b,c}return null}var c=a.map(function(a,b){return o(a,b)}),d=\
b(c.lastIndexOf(m.domain()[1])),e=b(c.indexOf(m.domain()[0])),f=b(c.length-1);r\
eturn[e,d,f].filter(function(a){return null!=a})});u.enter().append(\"circle\"),u\
.exit().remove(),u.attr(\"cx\",function(a,b){return l(n(a,a.pointIndex))}).attr(\"\
cy\",function(a,b){return m(o(a,a.pointIndex))}).attr(\"r\",2).attr(\"class\",functi\
on(a,b){return n(a,a.pointIndex)==l.domain()[1]?\"nv-point nv-currentValue\":o(a,\
a.pointIndex)==m.domain()[0]?\"nv-point nv-minValue\":\"nv-point nv-maxValue\"})}),\
r.renderEnd(\"sparkline immediate\"),b}var c,d,e,f,g={top:2,right:0,bottom:2,left\
:0},h=400,i=32,j=null,k=!0,l=d3.scale.linear(),m=d3.scale.linear(),n=function(a\
){return a.x},o=function(a){return a.y},p=a.utils.getColor([\"#000\"]),q=d3.dispa\
tch(\"renderEnd\"),r=a.utils.renderWatch(q);return b.options=a.utils.optionsFunc.\
bind(b),b._options=Object.create({},{width:{get:function(){return h},set:functi\
on(a){h=a}},height:{get:function(){return i},set:function(a){i=a}},xDomain:{get\
:function(){return c},set:function(a){c=a}},yDomain:{get:function(){return d},s\
et:function(a){d=a}},xRange:{get:function(){return e},set:function(a){e=a}},yRa\
nge:{get:function(){return f},set:function(a){f=a}},xScale:{get:function(){retu\
rn l},set:function(a){l=a}},yScale:{get:function(){return m},set:function(a){m=\
a}},animate:{get:function(){return k},set:function(a){k=a}},x:{get:function(){r\
eturn n},set:function(a){n=d3.functor(a)}},y:{get:function(){return o},set:func\
tion(a){o=d3.functor(a)}},margin:{get:function(){return g},set:function(a){g.to\
p=void 0!==a.top?a.top:g.top,g.right=void 0!==a.right?a.right:g.right,g.bottom=\
void 0!==a.bottom?a.bottom:g.bottom,g.left=void 0!==a.left?a.left:g.left}},colo\
r:{get:function(){return p},set:function(b){p=a.utils.getColor(b)}}}),b.dispatc\
h=q,a.utils.initOptions(b),b},a.models.sparklinePlus=function(){\"use strict\";fu\
nction b(p){return r.reset(),r.models(e),p.each(function(p){function q(){if(!j)\
{var a=z.selectAll(\".nv-hoverValue\").data(i),b=a.enter().append(\"g\").attr(\"clas\
s\",\"nv-hoverValue\").style(\"stroke-opacity\",0).style(\"fill-opacity\",0);a.exit().\
transition().duration(250).style(\"stroke-opacity\",0).style(\"fill-opacity\",0).re\
move(),a.attr(\"transform\",function(a){return\"translate(\"+c(e.x()(p[a],a))+\",0)\"\
}).transition().duration(250).style(\"stroke-opacity\",1).style(\"fill-opacity\",1)\
,i.length&&(b.append(\"line\").attr(\"x1\",0).attr(\"y1\",-f.top).attr(\"x2\",0).attr(\"\
y2\",u),b.append(\"text\").attr(\"class\",\"nv-xValue\").attr(\"x\",-6).attr(\"y\",-f.top)\
.attr(\"text-anchor\",\"end\").attr(\"dy\",\".9em\"),z.select(\".nv-hoverValue .nv-xValu\
e\").text(k(e.x()(p[i[0]],i[0]))),b.append(\"text\").attr(\"class\",\"nv-yValue\").att\
r(\"x\",6).attr(\"y\",-f.top).attr(\"text-anchor\",\"start\").attr(\"dy\",\".9em\"),z.selec\
t(\".nv-hoverValue .nv-yValue\").text(l(e.y()(p[i[0]],i[0]))))}}function r(){func\
tion a(a,b){for(var c=Math.abs(e.x()(a[0],0)-b),d=0,f=0;f<a.length;f++)Math.abs\
(e.x()(a[f],f)-b)<c&&(c=Math.abs(e.x()(a[f],f)-b),d=f);return d}if(!j){var b=d3\
.mouse(this)[0]-f.left;i=[a(p,Math.round(c.invert(b)))],q()}}var s=d3.select(th\
is);a.utils.initSVG(s);var t=a.utils.availableWidth(g,s,f),u=a.utils.availableH\
eight(h,s,f);if(b.update=function(){s.call(b)},b.container=this,!p||!p.length)r\
eturn a.utils.noData(b,s),b;s.selectAll(\".nv-noData\").remove();var v=e.y()(p[p.\
length-1],p.length-1);c=e.xScale(),d=e.yScale();var w=s.selectAll(\"g.nv-wrap.nv\
-sparklineplus\").data([p]),x=w.enter().append(\"g\").attr(\"class\",\"nvd3 nv-wrap n\
v-sparklineplus\"),y=x.append(\"g\"),z=w.select(\"g\");y.append(\"g\").attr(\"class\",\"n\
v-sparklineWrap\"),y.append(\"g\").attr(\"class\",\"nv-valueWrap\"),y.append(\"g\").attr\
(\"class\",\"nv-hoverArea\"),w.attr(\"transform\",\"translate(\"+f.left+\",\"+f.top+\")\");\
var A=z.select(\".nv-sparklineWrap\");if(e.width(t).height(u),A.call(e),m){var B=\
z.select(\".nv-valueWrap\"),C=B.selectAll(\".nv-currentValue\").data([v]);C.enter()\
.append(\"text\").attr(\"class\",\"nv-currentValue\").attr(\"dx\",o?-8:8).attr(\"dy\",\".9\
em\").style(\"text-anchor\",o?\"end\":\"start\"),C.attr(\"x\",t+(o?f.right:0)).attr(\"y\",\
n?function(a){return d(a)}:0).style(\"fill\",e.color()(p[p.length-1],p.length-1))\
.text(l(v))}y.select(\".nv-hoverArea\").append(\"rect\").on(\"mousemove\",r).on(\"clic\
k\",function(){j=!j}).on(\"mouseout\",function(){i=[],q()}),z.select(\".nv-hoverAre\
a rect\").attr(\"transform\",function(a){return\"translate(\"+-f.left+\",\"+-f.top+\")\"\
}).attr(\"width\",t+f.left+f.right).attr(\"height\",u+f.top)}),r.renderEnd(\"sparkli\
nePlus immediate\"),b}var c,d,e=a.models.sparkline(),f={top:15,right:100,bottom:\
10,left:50},g=null,h=null,i=[],j=!1,k=d3.format(\",r\"),l=d3.format(\",.2f\"),m=!0,\
n=!0,o=!1,p=null,q=d3.dispatch(\"renderEnd\"),r=a.utils.renderWatch(q);return b.d\
ispatch=q,b.sparkline=e,b.options=a.utils.optionsFunc.bind(b),b._options=Object\
.create({},{width:{get:function(){return g},set:function(a){g=a}},height:{get:f\
unction(){return h},set:function(a){h=a}},xTickFormat:{get:function(){return k}\
,set:function(a){k=a}},yTickFormat:{get:function(){return l},set:function(a){l=\
a}},showLastValue:{get:function(){return m},set:function(a){m=a}},alignValue:{g\
et:function(){return n},set:function(a){n=a}},rightAlignValue:{get:function(){r\
eturn o},set:function(a){o=a}},noData:{get:function(){return p},set:function(a)\
{p=a}},margin:{get:function(){return f},set:function(a){f.top=void 0!==a.top?a.\
top:f.top,f.right=void 0!==a.right?a.right:f.right,f.bottom=void 0!==a.bottom?a\
.bottom:f.bottom,f.left=void 0!==a.left?a.left:f.left}}}),a.utils.inheritOption\
s(b,e),a.utils.initOptions(b),b},a.models.stackedArea=function(){\"use strict\";f\
unction b(n){return v.reset(),v.models(s),n.each(function(n){var t=f-e.left-e.r\
ight,w=g-e.top-e.bottom;j=d3.select(this),a.utils.initSVG(j),c=s.xScale(),d=s.y\
Scale();var x=n;n.forEach(function(a,b){a.seriesIndex=b,a.values=a.values.map(f\
unction(a,c){return a.index=c,a.seriesIndex=b,a})});var y=n.filter(function(a){\
return!a.disabled});n=d3.layout.stack().order(p).offset(o).values(function(a){r\
eturn a.values}).x(k).y(l).out(function(a,b,c){a.display={y:c,y0:b}})(y);var z=\
j.selectAll(\"g.nv-wrap.nv-stackedarea\").data([n]),A=z.enter().append(\"g\").attr(\
\"class\",\"nvd3 nv-wrap nv-stackedarea\"),B=A.append(\"defs\"),C=A.append(\"g\"),D=z.s\
elect(\"g\");C.append(\"g\").attr(\"class\",\"nv-areaWrap\"),C.append(\"g\").attr(\"class\"\
,\"nv-scatterWrap\"),z.attr(\"transform\",\"translate(\"+e.left+\",\"+e.top+\")\"),0==s.f\
orceY().length&&s.forceY().push(0),s.width(t).height(w).x(k).y(function(a){retu\
rn void 0!==a.display?a.display.y+a.display.y0:void 0}).forceY([0]).color(n.map\
(function(a,b){return a.color=a.color||h(a,a.seriesIndex),a.color}));var E=D.se\
lect(\".nv-scatterWrap\").datum(n);E.call(s),B.append(\"clipPath\").attr(\"id\",\"nv-e\
dge-clip-\"+i).append(\"rect\"),z.select(\"#nv-edge-clip-\"+i+\" rect\").attr(\"width\",\
t).attr(\"height\",w),D.attr(\"clip-path\",r?\"url(#nv-edge-clip-\"+i+\")\":\"\");var F=d\
3.svg.area().defined(m).x(function(a,b){return c(k(a,b))}).y0(function(a){retur\
n d(a.display.y0)}).y1(function(a){return d(a.display.y+a.display.y0)}).interpo\
late(q),G=d3.svg.area().defined(m).x(function(a,b){return c(k(a,b))}).y0(functi\
on(a){return d(a.display.y0)}).y1(function(a){return d(a.display.y0)}),H=D.sele\
ct(\".nv-areaWrap\").selectAll(\"path.nv-area\").data(function(a){return a});H.ente\
r().append(\"path\").attr(\"class\",function(a,b){return\"nv-area nv-area-\"+b}).attr\
(\"d\",function(a,b){return G(a.values,a.seriesIndex)}).on(\"mouseover\",function(a\
,b){d3.select(this).classed(\"hover\",!0),u.areaMouseover({point:a,series:a.key,p\
os:[d3.event.pageX,d3.event.pageY],seriesIndex:a.seriesIndex})}).on(\"mouseout\",\
function(a,b){d3.select(this).classed(\"hover\",!1),u.areaMouseout({point:a,serie\
s:a.key,pos:[d3.event.pageX,d3.event.pageY],seriesIndex:a.seriesIndex})}).on(\"c\
lick\",function(a,b){d3.select(this).classed(\"hover\",!1),u.areaClick({point:a,se\
ries:a.key,pos:[d3.event.pageX,d3.event.pageY],seriesIndex:a.seriesIndex})}),H.\
exit().remove(),H.style(\"fill\",function(a,b){return a.color||h(a,a.seriesIndex)\
}).style(\"stroke\",function(a,b){return a.color||h(a,a.seriesIndex)}),H.watchTra\
nsition(v,\"stackedArea path\").attr(\"d\",function(a,b){return F(a.values,b)}),s.d\
ispatch.on(\"elementMouseover.area\",function(a){D.select(\".nv-chart-\"+i+\" .nv-ar\
ea-\"+a.seriesIndex).classed(\"hover\",!0)}),s.dispatch.on(\"elementMouseout.area\",\
function(a){D.select(\".nv-chart-\"+i+\" .nv-area-\"+a.seriesIndex).classed(\"hover\"\
,!1)}),b.d3_stackedOffset_stackPercent=function(a){var b,c,d,e=a.length,f=a[0].\
length,g=[];for(c=0;f>c;++c){for(b=0,d=0;b<x.length;b++)d+=l(x[b].values[c]);if\
(d)for(b=0;e>b;b++)a[b][c][1]/=d;else for(b=0;e>b;b++)a[b][c][1]=0}for(c=0;f>c;\
++c)g[c]=0;return g}}),v.renderEnd(\"stackedArea immediate\"),b}var c,d,e={top:0,\
right:0,bottom:0,left:0},f=960,g=500,h=a.utils.defaultColor(),i=Math.floor(1e5*\
Math.random()),j=null,k=function(a){return a.x},l=function(a){return a.y},m=fun\
ction(a,b){return!isNaN(l(a,b))&&null!==l(a,b)},n=\"stack\",o=\"zero\",p=\"default\",\
q=\"linear\",r=!1,s=a.models.scatter(),t=250,u=d3.dispatch(\"areaClick\",\"areaMouse\
over\",\"areaMouseout\",\"renderEnd\",\"elementClick\",\"elementMouseover\",\"elementMous\
eout\");s.pointSize(2.2).pointDomain([2.2,2.2]);var v=a.utils.renderWatch(u,t);r\
eturn b.dispatch=u,b.scatter=s,s.dispatch.on(\"elementClick\",function(){u.elemen\
tClick.apply(this,arguments)}),s.dispatch.on(\"elementMouseover\",function(){u.el\
ementMouseover.apply(this,arguments)}),s.dispatch.on(\"elementMouseout\",function\
(){u.elementMouseout.apply(this,arguments)}),b.interpolate=function(a){return a\
rguments.length?(q=a,b):q},b.duration=function(a){return arguments.length?(t=a,\
v.reset(t),s.duration(t),b):t},b.dispatch=u,b.scatter=s,b.options=a.utils.optio\
nsFunc.bind(b),b._options=Object.create({},{width:{get:function(){return f},set\
:function(a){f=a}},height:{get:function(){return g},set:function(a){g=a}},defin\
ed:{get:function(){return m},set:function(a){m=a}},clipEdge:{get:function(){ret\
urn r},set:function(a){r=a}},offset:{get:function(){return o},set:function(a){o\
=a}},order:{get:function(){return p},set:function(a){p=a}},interpolate:{get:fun\
ction(){return q},set:function(a){q=a}},x:{get:function(){return k},set:functio\
n(a){k=d3.functor(a)}},y:{get:function(){return l},set:function(a){l=d3.functor\
(a)}},margin:{get:function(){return e},set:function(a){e.top=void 0!==a.top?a.t\
op:e.top,e.right=void 0!==a.right?a.right:e.right,e.bottom=void 0!==a.bottom?a.\
bottom:e.bottom,e.left=void 0!==a.left?a.left:e.left}},color:{get:function(){re\
turn h},set:function(b){h=a.utils.getColor(b)}},style:{get:function(){return n}\
,set:function(a){switch(n=a){case\"stack\":b.offset(\"zero\"),b.order(\"default\");br\
eak;case\"stream\":b.offset(\"wiggle\"),b.order(\"inside-out\");break;case\"stream-cen\
ter\":b.offset(\"silhouette\"),b.order(\"inside-out\");break;case\"expand\":b.offset(\"\
expand\"),b.order(\"default\");break;case\"stack_percent\":b.offset(b.d3_stackedOffs\
et_stackPercent),b.order(\"default\")}}},duration:{get:function(){return t},set:f\
unction(a){t=a,v.reset(t),s.duration(t)}}}),a.utils.inheritOptions(b,s),a.utils\
.initOptions(b),b},a.models.stackedAreaChart=function(){\"use strict\";function b\
(k){return H.reset(),H.models(e),r&&H.models(f),s&&H.models(g),k.each(function(\
k){var z=d3.select(this),H=this;a.utils.initSVG(z);var M=a.utils.availableWidth\
(m,z,l),N=a.utils.availableHeight(n,z,l);if(b.update=function(){z.transition().\
duration(E).call(b)},b.container=this,x.setter(K(k),b.update).getter(J(k)).upda\
te(),x.disabled=k.map(function(a){return!!a.disabled}),!y){var O;y={};for(O in \
x)x[O]instanceof Array?y[O]=x[O].slice(0):y[O]=x[O]}if(!(k&&k.length&&k.filter(\
function(a){return a.values.length}).length))return a.utils.noData(b,z),b;z.sel\
ectAll(\".nv-noData\").remove(),c=e.xScale(),d=e.yScale();var P=z.selectAll(\"g.nv\
-wrap.nv-stackedAreaChart\").data([k]),Q=P.enter().append(\"g\").attr(\"class\",\"nvd\
3 nv-wrap nv-stackedAreaChart\").append(\"g\"),R=P.select(\"g\");if(Q.append(\"rect\")\
.style(\"opacity\",0),Q.append(\"g\").attr(\"class\",\"nv-x nv-axis\"),Q.append(\"g\").at\
tr(\"class\",\"nv-y nv-axis\"),Q.append(\"g\").attr(\"class\",\"nv-stackedWrap\"),Q.appen\
d(\"g\").attr(\"class\",\"nv-legendWrap\"),Q.append(\"g\").attr(\"class\",\"nv-controlsWra\
p\"),Q.append(\"g\").attr(\"class\",\"nv-interactive\"),R.select(\"rect\").attr(\"width\",\
M).attr(\"height\",N),q){var S=p?M-B:M;h.width(S),R.select(\".nv-legendWrap\").datu\
m(k).call(h),l.top!=h.height()&&(l.top=h.height(),N=a.utils.availableHeight(n,z\
,l)),R.select(\".nv-legendWrap\").attr(\"transform\",\"translate(\"+(M-S)+\",\"+-l.top+\
\")\")}if(p){var T=[{key:D.stacked||\"Stacked\",metaKey:\"Stacked\",disabled:\"stack\"!\
=e.style(),style:\"stack\"},{key:D.stream||\"Stream\",metaKey:\"Stream\",disabled:\"st\
ream\"!=e.style(),style:\"stream\"},{key:D.expanded||\"Expanded\",metaKey:\"Expanded\"\
,disabled:\"expand\"!=e.style(),style:\"expand\"},{key:D.stack_percent||\"Stack %\",m\
etaKey:\"Stack_Percent\",disabled:\"stack_percent\"!=e.style(),style:\"stack_percent\
\"}];B=C.length/3*260,T=T.filter(function(a){return-1!==C.indexOf(a.metaKey)}),i\
.width(B).color([\"#444\",\"#444\",\"#444\"]),R.select(\".nv-controlsWrap\").datum(T).c\
all(i),l.top!=Math.max(i.height(),h.height())&&(l.top=Math.max(i.height(),h.hei\
ght()),N=a.utils.availableHeight(n,z,l)),R.select(\".nv-controlsWrap\").attr(\"tra\
nsform\",\"translate(0,\"+-l.top+\")\")}P.attr(\"transform\",\"translate(\"+l.left+\",\"+l\
.top+\")\"),t&&R.select(\".nv-y.nv-axis\").attr(\"transform\",\"translate(\"+M+\",0)\"),u\
&&(j.width(M).height(N).margin({left:l.left,top:l.top}).svgContainer(z).xScale(\
c),P.select(\".nv-interactive\").call(j)),e.width(M).height(N);var U=R.select(\".n\
v-stackedWrap\").datum(k);if(U.transition().call(e),r&&(f.scale(c)._ticks(a.util\
s.calcTicksX(M/100,k)).tickSize(-N,0),R.select(\".nv-x.nv-axis\").attr(\"transform\
\",\"translate(0,\"+N+\")\"),R.select(\".nv-x.nv-axis\").transition().duration(0).call\
(f)),s){var V;if(V=\"wiggle\"===e.offset()?0:a.utils.calcTicksY(N/36,k),g.scale(d\
)._ticks(V).tickSize(-M,0),\"expand\"===e.style()||\"stack_percent\"===e.style()){v\
ar W=g.tickFormat();F&&W===L||(F=W),g.tickFormat(L)}else F&&(g.tickFormat(F),F=\
null);R.select(\".nv-y.nv-axis\").transition().duration(0).call(g)}e.dispatch.on(\
\"areaClick.toggle\",function(a){1===k.filter(function(a){return!a.disabled}).len\
gth?k.forEach(function(a){a.disabled=!1}):k.forEach(function(b,c){b.disabled=c!\
=a.seriesIndex}),x.disabled=k.map(function(a){return!!a.disabled}),A.stateChang\
e(x),b.update()}),h.dispatch.on(\"stateChange\",function(a){for(var c in a)x[c]=a\
[c];A.stateChange(x),b.update()}),i.dispatch.on(\"legendClick\",function(a,c){a.d\
isabled&&(T=T.map(function(a){return a.disabled=!0,a}),a.disabled=!1,e.style(a.\
style),x.style=e.style(),A.stateChange(x),b.update())}),j.dispatch.on(\"elementM\
ousemove\",function(c){e.clearHighlights();var d,f,g,h=[],i=0;if(k.filter(functi\
on(a,b){return a.seriesIndex=b,!a.disabled}).forEach(function(j,k){f=a.interact\
iveBisect(j.values,c.pointXValue,b.x());var l=j.values[f],m=b.y()(l,f);if(null!\
=m&&e.highlightPoint(k,f,!0),\"undefined\"!=typeof l){\"undefined\"==typeof d&&(d=l\
),\"undefined\"==typeof g&&(g=b.xScale()(b.x()(l,f)));var n=\"expand\"==e.style()?l\
.display.y:b.y()(l,f);h.push({key:j.key,value:n,color:o(j,j.seriesIndex),stacke\
dValue:l.display}),v&&\"expand\"!=e.style()&&(i+=n)}}),h.reverse(),h.length>2){va\
r l=b.yScale().invert(c.mouseY),m=null;h.forEach(function(a,b){l=Math.abs(l);va\
r c=Math.abs(a.stackedValue.y0),d=Math.abs(a.stackedValue.y);return l>=c&&d+c>=\
l?void(m=b):void 0}),null!=m&&(h[m].highlight=!0)}v&&\"expand\"!=e.style()&&h.len\
gth>=2&&h.push({key:w,value:i,total:!0});var n=b.x()(d,f),p=j.tooltip.valueForm\
atter();\"expand\"===e.style()||\"stack_percent\"===e.style()?(G||(G=p),p=d3.format\
(\".1%\")):G&&(p=G,G=null),j.tooltip.chartContainer(H.parentNode).valueFormatter(\
p).data({value:n,series:h})(),j.renderGuideLine(g)}),j.dispatch.on(\"elementMous\
eout\",function(a){e.clearHighlights()}),A.on(\"changeState\",function(a){\"undefin\
ed\"!=typeof a.disabled&&k.length===a.disabled.length&&(k.forEach(function(b,c){\
b.disabled=a.disabled[c]}),x.disabled=a.disabled),\"undefined\"!=typeof a.style&&\
(e.style(a.style),I=a.style),b.update()})}),H.renderEnd(\"stacked Area chart imm\
ediate\"),b}var c,d,e=a.models.stackedArea(),f=a.models.axis(),g=a.models.axis()\
,h=a.models.legend(),i=a.models.legend(),j=a.interactiveGuideline(),k=a.models.\
tooltip(),l={top:30,right:25,bottom:50,left:60},m=null,n=null,o=a.utils.default\
Color(),p=!0,q=!0,r=!0,s=!0,t=!1,u=!1,v=!0,w=\"TOTAL\",x=a.utils.state(),y=null,z\
=null,A=d3.dispatch(\"stateChange\",\"changeState\",\"renderEnd\"),B=250,C=[\"Stacked\"\
,\"Stream\",\"Expanded\"],D={},E=250;x.style=e.style(),f.orient(\"bottom\").tickPaddi\
ng(7),g.orient(t?\"right\":\"left\"),k.headerFormatter(function(a,b){return f.tickF\
ormat()(a,b)}).valueFormatter(function(a,b){return g.tickFormat()(a,b)}),j.tool\
tip.headerFormatter(function(a,b){return f.tickFormat()(a,b)}).valueFormatter(f\
unction(a,b){return g.tickFormat()(a,b)});var F=null,G=null;i.updateState(!1);v\
ar H=a.utils.renderWatch(A),I=e.style(),J=function(a){return function(){return{\
active:a.map(function(a){return!a.disabled}),style:e.style()}}},K=function(a){r\
eturn function(b){void 0!==b.style&&(I=b.style),void 0!==b.active&&a.forEach(fu\
nction(a,c){a.disabled=!b.active[c]})}},L=d3.format(\"%\");return e.dispatch.on(\"\
elementMouseover.tooltip\",function(a){a.point.x=e.x()(a.point),a.point.y=e.y()(\
a.point),k.data(a).hidden(!1)}),e.dispatch.on(\"elementMouseout.tooltip\",functio\
n(a){k.hidden(!0)}),b.dispatch=A,b.stacked=e,b.legend=h,b.controls=i,b.xAxis=f,\
b.yAxis=g,b.interactiveLayer=j,b.tooltip=k,b.dispatch=A,b.options=a.utils.optio\
nsFunc.bind(b),b._options=Object.create({},{width:{get:function(){return m},set\
:function(a){m=a}},height:{get:function(){return n},set:function(a){n=a}},showL\
egend:{get:function(){return q},set:function(a){q=a}},showXAxis:{get:function()\
{return r},set:function(a){r=a}},showYAxis:{get:function(){return s},set:functi\
on(a){s=a}},defaultState:{get:function(){return y},set:function(a){y=a}},noData\
:{get:function(){return z},set:function(a){z=a}},showControls:{get:function(){r\
eturn p},set:function(a){p=a}},controlLabels:{get:function(){return D},set:func\
tion(a){D=a}},controlOptions:{get:function(){return C},set:function(a){C=a}},sh\
owTotalInTooltip:{get:function(){return v},set:function(a){v=a}},totalLabel:{ge\
t:function(){return w},set:function(a){w=a}},margin:{get:function(){return l},s\
et:function(a){l.top=void 0!==a.top?a.top:l.top,l.right=void 0!==a.right?a.righ\
t:l.right,l.bottom=void 0!==a.bottom?a.bottom:l.bottom,l.left=void 0!==a.left?a\
.left:l.left}},duration:{get:function(){return E},set:function(a){E=a,H.reset(E\
),e.duration(E),f.duration(E),g.duration(E)}},color:{get:function(){return o},s\
et:function(b){o=a.utils.getColor(b),h.color(o),e.color(o)}},rightAlignYAxis:{g\
et:function(){return t},set:function(a){t=a,g.orient(t?\"right\":\"left\")}},useInt\
eractiveGuideline:{get:function(){return u},set:function(a){u=!!a,b.interactive\
(!a),b.useVoronoi(!a),e.scatter.interactive(!a)}}}),a.utils.inheritOptions(b,e)\
,a.utils.initOptions(b),b},a.models.sunburst=function(){\"use strict\";function b\
(v){return u.reset(),v.each(function(u){function v(a){a.x0=a.x,a.dx0=a.dx}funct\
ion w(a){var b=d3.interpolate(q.domain(),[a.x,a.x+a.dx]),c=d3.interpolate(r.dom\
ain(),[a.y,1]),d=d3.interpolate(r.range(),[a.y?20:0,A]);return function(a,e){re\
turn e?function(b){return t(a)}:function(e){return q.domain(b(e)),r.domain(c(e)\
).range(d(e)),t(a)}}}l=d3.select(this);var x,y=a.utils.availableWidth(g,l,f),z=\
a.utils.availableHeight(h,l,f),A=Math.min(y,z)/2;a.utils.initSVG(l);var B=l.sel\
ectAll(\".nv-wrap.nv-sunburst\").data(u),C=B.enter().append(\"g\").attr(\"class\",\"nv\
d3 nv-wrap nv-sunburst nv-chart-\"+k),D=C.selectAll(\"nv-sunburst\");b.update=func\
tion(){0===o?l.call(b):l.transition().duration(o).call(b)},b.container=this,B.a\
ttr(\"transform\",\"translate(\"+y/2+\",\"+z/2+\")\"),l.on(\"click\",function(a,b){p.char\
tClick({data:a,index:b,pos:d3.event,id:k})}),r.range([0,A]),c=c||u,e=u[0],s.val\
ue(j[i]||j.count),x=D.data(s.nodes).enter().append(\"path\").attr(\"d\",t).style(\"f\
ill\",function(a){return a.color?a.color:m(n?(a.children?a:a.parent).name:a.name\
)}).style(\"stroke\",\"#FFF\").on(\"click\",function(a){d!==c&&c!==a&&(d=c),c=a,x.tra\
nsition().duration(o).attrTween(\"d\",w(a))}).each(v).on(\"dblclick\",function(a){d\
.parent==a&&x.transition().duration(o).attrTween(\"d\",w(e))}).each(v).on(\"mouseo\
ver\",function(a,b){d3.select(this).classed(\"hover\",!0).style(\"opacity\",.8),p.el\
ementMouseover({data:a,color:d3.select(this).style(\"fill\")})}).on(\"mouseout\",fu\
nction(a,b){d3.select(this).classed(\"hover\",!1).style(\"opacity\",1),p.elementMou\
seout({data:a})}).on(\"mousemove\",function(a,b){p.elementMousemove({data:a})})})\
,u.renderEnd(\"sunburst immediate\"),b}var c,d,e,f={top:0,right:0,bottom:0,left:0\
},g=null,h=null,i=\"count\",j={count:function(a){return 1},size:function(a){retur\
n a.size}},k=Math.floor(1e4*Math.random()),l=null,m=a.utils.defaultColor(),n=!0\
,o=500,p=d3.dispatch(\"chartClick\",\"elementClick\",\"elementDblClick\",\"elementMous\
emove\",\"elementMouseover\",\"elementMouseout\",\"renderEnd\"),q=d3.scale.linear().ra\
nge([0,2*Math.PI]),r=d3.scale.sqrt(),s=d3.layout.partition().sort(null).value(f\
unction(a){return 1}),t=d3.svg.arc().startAngle(function(a){return Math.max(0,M\
ath.min(2*Math.PI,q(a.x)))}).endAngle(function(a){return Math.max(0,Math.min(2*\
Math.PI,q(a.x+a.dx)))}).innerRadius(function(a){return Math.max(0,r(a.y))}).out\
erRadius(function(a){return Math.max(0,r(a.y+a.dy))}),u=a.utils.renderWatch(p);\
return b.dispatch=p,b.options=a.utils.optionsFunc.bind(b),b._options=Object.cre\
ate({},{width:{get:function(){return g},set:function(a){g=a}},height:{get:funct\
ion(){return h},set:function(a){h=a}},mode:{get:function(){return i},set:functi\
on(a){i=a}},id:{get:function(){return k},set:function(a){k=a}},duration:{get:fu\
nction(){return o},set:function(a){o=a}},groupColorByParent:{get:function(){ret\
urn n},set:function(a){n=!!a}},margin:{get:function(){return f},set:function(a)\
{f.top=void 0!=a.top?a.top:f.top,f.right=void 0!=a.right?a.right:f.right,f.bott\
om=void 0!=a.bottom?a.bottom:f.bottom,f.left=void 0!=a.left?a.left:f.left}},col\
or:{get:function(){return m},set:function(b){m=a.utils.getColor(b)}}}),a.utils.\
initOptions(b),b},a.models.sunburstChart=function(){\"use strict\";function b(d){\
return m.reset(),m.models(c),d.each(function(d){var h=d3.select(this);a.utils.i\
nitSVG(h);var i=a.utils.availableWidth(f,h,e),j=a.utils.availableHeight(g,h,e);\
if(b.update=function(){0===k?h.call(b):h.transition().duration(k).call(b)},b.co\
ntainer=this,!d||!d.length)return a.utils.noData(b,h),b;h.selectAll(\".nv-noData\
\").remove();var l=h.selectAll(\"g.nv-wrap.nv-sunburstChart\").data(d),m=l.enter()\
.append(\"g\").attr(\"class\",\"nvd3 nv-wrap nv-sunburstChart\").append(\"g\"),n=l.sele\
ct(\"g\");m.append(\"g\").attr(\"class\",\"nv-sunburstWrap\"),l.attr(\"transform\",\"trans\
late(\"+e.left+\",\"+e.top+\")\"),c.width(i).height(j);var o=n.select(\".nv-sunburstW\
rap\").datum(d);d3.transition(o).call(c)}),m.renderEnd(\"sunburstChart immediate\"\
),b}var c=a.models.sunburst(),d=a.models.tooltip(),e={top:30,right:20,bottom:20\
,left:20},f=null,g=null,h=a.utils.defaultColor(),i=(Math.round(1e5*Math.random(\
)),null),j=null,k=250,l=d3.dispatch(\"stateChange\",\"changeState\",\"renderEnd\");d.\
duration(0);var m=a.utils.renderWatch(l);return d.headerEnabled(!1).valueFormat\
ter(function(a,b){return a}),c.dispatch.on(\"elementMouseover.tooltip\",function(\
a){a.series={key:a.data.name,value:a.data.size,color:a.color},d.data(a).hidden(\
!1)}),c.dispatch.on(\"elementMouseout.tooltip\",function(a){d.hidden(!0)}),c.disp\
atch.on(\"elementMousemove.tooltip\",function(a){d()}),b.dispatch=l,b.sunburst=c,\
b.tooltip=d,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{\
noData:{get:function(){return j},set:function(a){j=a}},defaultState:{get:functi\
on(){return i},set:function(a){i=a}},color:{get:function(){return h},set:functi\
on(a){\
h=a,c.color(h)}},duration:{get:function(){return k},set:function(a){k=a,m.reset\
(k),c.duration(k)}},margin:{get:function(){return e},set:function(a){e.top=void\
 0!==a.top?a.top:e.top,e.right=void 0!==a.right?a.right:e.right,e.bottom=void 0\
!==a.bottom?a.bottom:e.bottom,e.left=void 0!==a.left?a.left:e.left}}}),a.utils.\
inheritOptions(b,c),a.utils.initOptions(b),b},a.version=\"1.8.2\"}();\
//# sourceMappingURL=nv.d3.min.js.map\
")
################################################################################
# end nvd3.js
################################################################################

################################################################################
# d3.js
#
# The following is a copy of the d3 3.5.16 js file.
# https://github.com/mbostock/d3
################################################################################
file(WRITE ${METABENCH_DIR}/d3.js "\
!function(){function n(n){return n&&(n.ownerDocument||n.document||n).documentEl\
ement}function t(n){return n&&(n.ownerDocument&&n.ownerDocument.defaultView||n.\
document&&n||n.defaultView)}function e(n,t){return t>n?-1:n>t?1:n>=t?0:NaN}func\
tion r(n){return null===n?NaN:+n}function u(n){return!isNaN(n)}function i(n){re\
turn{left:function(t,e,r,u){for(arguments.length<3&&(r=0),arguments.length<4&&(\
u=t.length);u>r;){var i=r+u>>>1;n(t[i],e)<0?r=i+1:u=i}return r},right:function(\
t,e,r,u){for(arguments.length<3&&(r=0),arguments.length<4&&(u=t.length);u>r;){v\
ar i=r+u>>>1;n(t[i],e)>0?u=i:r=i+1}return r}}}function a(n){return n.length}fun\
ction o(n){for(var t=1;n*t%1;)t*=10;return t}function l(n,t){for(var e in t)Obj\
ect.defineProperty(n.prototype,e,{value:t[e],enumerable:!1})}function c(){this.\
_=Object.create(null)}function s(n){return(n+=\"\")===xa||n[0]===ba?ba+n:n}functi\
on f(n){return(n+=\"\")[0]===ba?n.slice(1):n}function h(n){return s(n)in this._}f\
unction g(n){return(n=s(n))in this._&&delete this._[n]}function p(){var n=[];fo\
r(var t in this._)n.push(f(t));return n}function v(){var n=0;for(var t in this.\
_)++n;return n}function d(){for(var n in this._)return!1;return!0}function m(){\
this._=Object.create(null)}function y(n){return n}function M(n,t,e){return func\
tion(){var r=e.apply(t,arguments);return r===t?n:r}}function x(n,t){if(t in n)r\
eturn t;t=t.charAt(0).toUpperCase()+t.slice(1);for(var e=0,r=_a.length;r>e;++e)\
{var u=_a[e]+t;if(u in n)return u}}function b(){}function _(){}function w(n){fu\
nction t(){for(var t,r=e,u=-1,i=r.length;++u<i;)(t=r[u].on)&&t.apply(this,argum\
ents);return n}var e=[],r=new c;return t.on=function(t,u){var i,a=r.get(t);retu\
rn arguments.length<2?a&&a.on:(a&&(a.on=null,e=e.slice(0,i=e.indexOf(a)).concat\
(e.slice(i+1)),r.remove(t)),u&&e.push(r.set(t,{on:u})),n)},t}function S(){oa.ev\
ent.preventDefault()}function k(){for(var n,t=oa.event;n=t.sourceEvent;)t=n;ret\
urn t}function N(n){for(var t=new _,e=0,r=arguments.length;++e<r;)t[arguments[e\
]]=w(t);return t.of=function(e,r){return function(u){try{var i=u.sourceEvent=oa\
.event;u.target=n,oa.event=u,t[u.type].apply(e,r)}finally{oa.event=i}}},t}funct\
ion E(n){return Sa(n,Aa),n}function A(n){return\"function\"==typeof n?n:function(\
){return ka(n,this)}}function C(n){return\"function\"==typeof n?n:function(){retu\
rn Na(n,this)}}function z(n,t){function e(){this.removeAttribute(n)}function r(\
){this.removeAttributeNS(n.space,n.local)}function u(){this.setAttribute(n,t)}f\
unction i(){this.setAttributeNS(n.space,n.local,t)}function a(){var e=t.apply(t\
his,arguments);null==e?this.removeAttribute(n):this.setAttribute(n,e)}function \
o(){var e=t.apply(this,arguments);null==e?this.removeAttributeNS(n.space,n.loca\
l):this.setAttributeNS(n.space,n.local,e)}return n=oa.ns.qualify(n),null==t?n.l\
ocal?r:e:\"function\"==typeof t?n.local?o:a:n.local?i:u}function L(n){return n.tr\
im().replace(/\\s+/g,\" \")}function q(n){return new RegExp(\"(?:^|\\\\s+)\"+oa.req\
uote(n)+\"(?:\\\\s+|$)\",\"g\")}function T(n){return(n+\"\").trim().split(/^|\\s+/)}f\
unction R(n,t){function e(){for(var e=-1;++e<u;)n[e](this,t)}function r(){for(v\
ar e=-1,r=t.apply(this,arguments);++e<u;)n[e](this,r)}n=T(n).map(D);var u=n.len\
gth;return\"function\"==typeof t?r:e}function D(n){var t=q(n);return function(e,r\
){if(u=e.classList)return r?u.add(n):u.remove(n);var u=e.getAttribute(\"class\")|\
|\"\";r?(t.lastIndex=0,t.test(u)||e.setAttribute(\"class\",L(u+\" \"+n))):e.setAttrib\
ute(\"class\",L(u.replace(t,\" \")))}}function P(n,t,e){function r(){this.style.rem\
oveProperty(n)}function u(){this.style.setProperty(n,t,e)}function i(){var r=t.\
apply(this,arguments);null==r?this.style.removeProperty(n):this.style.setProper\
ty(n,r,e)}return null==t?r:\"function\"==typeof t?i:u}function U(n,t){function e(\
){delete this[n]}function r(){this[n]=t}function u(){var e=t.apply(this,argumen\
ts);null==e?delete this[n]:this[n]=e}return null==t?e:\"function\"==typeof t?u:r}\
function j(n){function t(){var t=this.ownerDocument,e=this.namespaceURI;return \
e===Ca&&t.documentElement.namespaceURI===Ca?t.createElement(n):t.createElementN\
S(e,n)}function e(){return this.ownerDocument.createElementNS(n.space,n.local)}\
return\"function\"==typeof n?n:(n=oa.ns.qualify(n)).local?e:t}function F(){var n=\
this.parentNode;n&&n.removeChild(this)}function H(n){return{__data__:n}}functio\
n O(n){return function(){return Ea(this,n)}}function I(n){return arguments.leng\
th||(n=e),function(t,e){return t&&e?n(t.__data__,e.__data__):!t-!e}}function Y(\
n,t){for(var e=0,r=n.length;r>e;e++)for(var u,i=n[e],a=0,o=i.length;o>a;a++)(u=\
i[a])&&t(u,a,e);return n}function Z(n){return Sa(n,La),n}function V(n){var t,e;\
return function(r,u,i){var a,o=n[i].update,l=o.length;for(i!=e&&(e=i,t=0),u>=t&\
&(t=u+1);!(a=o[t])&&++t<l;);return a}}function X(n,t,e){function r(){var t=this\
[a];t&&(this.removeEventListener(n,t,t.$),delete this[a])}function u(){var u=l(\
t,ca(arguments));r.call(this),this.addEventListener(n,this[a]=u,u.$=e),u._=t}fu\
nction i(){var t,e=new RegExp(\"^__on([^.]+)\"+oa.requote(n)+\"$\");for(var r in th\
is)if(t=r.match(e)){var u=this[r];this.removeEventListener(t[1],u,u.$),delete t\
his[r]}}var a=\"__on\"+n,o=n.indexOf(\".\"),l=$;o>0&&(n=n.slice(0,o));var c=qa.get(\
n);return c&&(n=c,l=B),o?t?u:r:t?b:i}function $(n,t){return function(e){var r=o\
a.event;oa.event=e,t[0]=this.__data__;try{n.apply(this,t)}finally{oa.event=r}}}\
function B(n,t){var e=$(n,t);return function(n){var t=this,r=n.relatedTarget;r&\
&(r===t||8&r.compareDocumentPosition(t))||e.call(t,n)}}function W(e){var r=\".dr\
agsuppress-\"+ ++Ra,u=\"click\"+r,i=oa.select(t(e)).on(\"touchmove\"+r,S).on(\"dragst\
art\"+r,S).on(\"selectstart\"+r,S);if(null==Ta&&(Ta=\"onselectstart\"in e?!1:x(e.sty\
le,\"userSelect\")),Ta){var a=n(e).style,o=a[Ta];a[Ta]=\"none\"}return function(n){\
if(i.on(r,null),Ta&&(a[Ta]=o),n){var t=function(){i.on(u,null)};i.on(u,function\
(){S(),t()},!0),setTimeout(t,0)}}}function J(n,e){e.changedTouches&&(e=e.change\
dTouches[0]);var r=n.ownerSVGElement||n;if(r.createSVGPoint){var u=r.createSVGP\
oint();if(0>Da){var i=t(n);if(i.scrollX||i.scrollY){r=oa.select(\"body\").append(\
\"svg\").style({position:\"absolute\",top:0,left:0,margin:0,padding:0,border:\"none\"\
},\"important\");var a=r[0][0].getScreenCTM();Da=!(a.f||a.e),r.remove()}}return D\
a?(u.x=e.pageX,u.y=e.pageY):(u.x=e.clientX,u.y=e.clientY),u=u.matrixTransform(n\
.getScreenCTM().inverse()),[u.x,u.y]}var o=n.getBoundingClientRect();return[e.c\
lientX-o.left-n.clientLeft,e.clientY-o.top-n.clientTop]}function G(){return oa.\
event.changedTouches[0].identifier}function K(n){return n>0?1:0>n?-1:0}function\
 Q(n,t,e){return(t[0]-n[0])*(e[1]-n[1])-(t[1]-n[1])*(e[0]-n[0])}function nn(n){\
return n>1?0:-1>n?ja:Math.acos(n)}function tn(n){return n>1?Oa:-1>n?-Oa:Math.as\
in(n)}function en(n){return((n=Math.exp(n))-1/n)/2}function rn(n){return((n=Mat\
h.exp(n))+1/n)/2}function un(n){return((n=Math.exp(2*n))-1)/(n+1)}function an(n\
){return(n=Math.sin(n/2))*n}function on(){}function ln(n,t,e){return this insta\
nceof ln?(this.h=+n,this.s=+t,void(this.l=+e)):arguments.length<2?n instanceof \
ln?new ln(n.h,n.s,n.l):_n(\"\"+n,wn,ln):new ln(n,t,e)}function cn(n,t,e){function\
 r(n){return n>360?n-=360:0>n&&(n+=360),60>n?i+(a-i)*n/60:180>n?a:240>n?i+(a-i)\
*(240-n)/60:i}function u(n){return Math.round(255*r(n))}var i,a;return n=isNaN(\
n)?0:(n%=360)<0?n+360:n,t=isNaN(t)?0:0>t?0:t>1?1:t,e=0>e?0:e>1?1:e,a=.5>=e?e*(1\
+t):e+t-e*t,i=2*e-a,new yn(u(n+120),u(n),u(n-120))}function sn(n,t,e){return th\
is instanceof sn?(this.h=+n,this.c=+t,void(this.l=+e)):arguments.length<2?n ins\
tanceof sn?new sn(n.h,n.c,n.l):n instanceof hn?pn(n.l,n.a,n.b):pn((n=Sn((n=oa.r\
gb(n)).r,n.g,n.b)).l,n.a,n.b):new sn(n,t,e)}function fn(n,t,e){return isNaN(n)&\
&(n=0),isNaN(t)&&(t=0),new hn(e,Math.cos(n*=Ia)*t,Math.sin(n)*t)}function hn(n,\
t,e){return this instanceof hn?(this.l=+n,this.a=+t,void(this.b=+e)):arguments.\
length<2?n instanceof hn?new hn(n.l,n.a,n.b):n instanceof sn?fn(n.h,n.c,n.l):Sn\
((n=yn(n)).r,n.g,n.b):new hn(n,t,e)}function gn(n,t,e){var r=(n+16)/116,u=r+t/5\
00,i=r-e/200;return u=vn(u)*Qa,r=vn(r)*no,i=vn(i)*to,new yn(mn(3.2404542*u-1.53\
71385*r-.4985314*i),mn(-.969266*u+1.8760108*r+.041556*i),mn(.0556434*u-.2040259\
*r+1.0572252*i))}function pn(n,t,e){return n>0?new sn(Math.atan2(e,t)*Ya,Math.s\
qrt(t*t+e*e),n):new sn(NaN,NaN,n)}function vn(n){return n>.206893034?n*n*n:(n-4\
/29)/7.787037}function dn(n){return n>.008856?Math.pow(n,1/3):7.787037*n+4/29}f\
unction mn(n){return Math.round(255*(.00304>=n?12.92*n:1.055*Math.pow(n,1/2.4)-\
.055))}function yn(n,t,e){return this instanceof yn?(this.r=~~n,this.g=~~t,void\
(this.b=~~e)):arguments.length<2?n instanceof yn?new yn(n.r,n.g,n.b):_n(\"\"+n,yn\
,cn):new yn(n,t,e)}function Mn(n){return new yn(n>>16,n>>8&255,255&n)}function \
xn(n){return Mn(n)+\"\"}function bn(n){return 16>n?\"0\"+Math.max(0,n).toString(16)\
:Math.min(255,n).toString(16)}function _n(n,t,e){var r,u,i,a=0,o=0,l=0;if(r=/([\
a-z]+)\\((.*)\\)/.exec(n=n.toLowerCase()))switch(u=r[2].split(\",\"),r[1]){case\"h\
sl\":return e(parseFloat(u[0]),parseFloat(u[1])/100,parseFloat(u[2])/100);case\"r\
gb\":return t(Nn(u[0]),Nn(u[1]),Nn(u[2]))}return(i=uo.get(n))?t(i.r,i.g,i.b):(nu\
ll==n||\"#\"!==n.charAt(0)||isNaN(i=parseInt(n.slice(1),16))||(4===n.length?(a=(3\
840&i)>>4,a=a>>4|a,o=240&i,o=o>>4|o,l=15&i,l=l<<4|l):7===n.length&&(a=(16711680\
&i)>>16,o=(65280&i)>>8,l=255&i)),t(a,o,l))}function wn(n,t,e){var r,u,i=Math.mi\
n(n/=255,t/=255,e/=255),a=Math.max(n,t,e),o=a-i,l=(a+i)/2;return o?(u=.5>l?o/(a\
+i):o/(2-a-i),r=n==a?(t-e)/o+(e>t?6:0):t==a?(e-n)/o+2:(n-t)/o+4,r*=60):(r=NaN,u\
=l>0&&1>l?0:r),new ln(r,u,l)}function Sn(n,t,e){n=kn(n),t=kn(t),e=kn(e);var r=d\
n((.4124564*n+.3575761*t+.1804375*e)/Qa),u=dn((.2126729*n+.7151522*t+.072175*e)\
/no),i=dn((.0193339*n+.119192*t+.9503041*e)/to);return hn(116*u-16,500*(r-u),20\
0*(u-i))}function kn(n){return(n/=255)<=.04045?n/12.92:Math.pow((n+.055)/1.055,\
2.4)}function Nn(n){var t=parseFloat(n);return\"%\"===n.charAt(n.length-1)?Math.r\
ound(2.55*t):t}function En(n){return\"function\"==typeof n?n:function(){return n}\
}function An(n){return function(t,e,r){return 2===arguments.length&&\"function\"=\
=typeof e&&(r=e,e=null),Cn(t,e,n,r)}}function Cn(n,t,e,r){function u(){var n,t=\
l.status;if(!t&&Ln(l)||t>=200&&300>t||304===t){try{n=e.call(i,l)}catch(r){retur\
n void a.error.call(i,r)}a.load.call(i,n)}else a.error.call(i,l)}var i={},a=oa.\
dispatch(\"beforesend\",\"progress\",\"load\",\"error\"),o={},l=new XMLHttpRequest,c=nu\
ll;return!this.XDomainRequest||\"withCredentials\"in l||!/^(http(s)?:)?\\/\\//.te\
st(n)||(l=new XDomainRequest),\"onload\"in l?l.onload=l.onerror=u:l.onreadystatec\
hange=function(){l.readyState>3&&u()},l.onprogress=function(n){var t=oa.event;o\
a.event=n;try{a.progress.call(i,l)}finally{oa.event=t}},i.header=function(n,t){\
return n=(n+\"\").toLowerCase(),arguments.length<2?o[n]:(null==t?delete o[n]:o[n]\
=t+\"\",i)},i.mimeType=function(n){return arguments.length?(t=null==n?null:n+\"\",i\
):t},i.responseType=function(n){return arguments.length?(c=n,i):c},i.response=f\
unction(n){return e=n,i},[\"get\",\"post\"].forEach(function(n){i[n]=function(){ret\
urn i.send.apply(i,[n].concat(ca(arguments)))}}),i.send=function(e,r,u){if(2===\
arguments.length&&\"function\"==typeof r&&(u=r,r=null),l.open(e,n,!0),null==t||\"a\
ccept\"in o||(o.accept=t+\",*/*\"),l.setRequestHeader)for(var s in o)l.setRequestH\
eader(s,o[s]);return null!=t&&l.overrideMimeType&&l.overrideMimeType(t),null!=c\
&&(l.responseType=c),null!=u&&i.on(\"error\",u).on(\"load\",function(n){u(null,n)})\
,a.beforesend.call(i,l),l.send(null==r?null:r),i},i.abort=function(){return l.a\
bort(),i},oa.rebind(i,a,\"on\"),null==r?i:i.get(zn(r))}function zn(n){return 1===\
n.length?function(t,e){n(null==t?e:null)}:n}function Ln(n){var t=n.responseType\
;return t&&\"text\"!==t?n.response:n.responseText}function qn(n,t,e){var r=argume\
nts.length;2>r&&(t=0),3>r&&(e=Date.now());var u=e+t,i={c:n,t:u,n:null};return a\
o?ao.n=i:io=i,ao=i,oo||(lo=clearTimeout(lo),oo=1,co(Tn)),i}function Tn(){var n=\
Rn(),t=Dn()-n;t>24?(isFinite(t)&&(clearTimeout(lo),lo=setTimeout(Tn,t)),oo=0):(\
oo=1,co(Tn))}function Rn(){for(var n=Date.now(),t=io;t;)n>=t.t&&t.c(n-t.t)&&(t.\
c=null),t=t.n;return n}function Dn(){for(var n,t=io,e=1/0;t;)t.c?(t.t<e&&(e=t.t\
),t=(n=t).n):t=n?n.n=t.n:io=t.n;return ao=n,e}function Pn(n,t){return t-(n?Math\
.ceil(Math.log(n)/Math.LN10):1)}function Un(n,t){var e=Math.pow(10,3*Ma(8-t));r\
eturn{scale:t>8?function(n){return n/e}:function(n){return n*e},symbol:n}}funct\
ion jn(n){var t=n.decimal,e=n.thousands,r=n.grouping,u=n.currency,i=r&&e?functi\
on(n,t){for(var u=n.length,i=[],a=0,o=r[0],l=0;u>0&&o>0&&(l+o+1>t&&(o=Math.max(\
1,t-l)),i.push(n.substring(u-=o,u+o)),!((l+=o+1)>t));)o=r[a=(a+1)%r.length];ret\
urn i.reverse().join(e)}:y;return function(n){var e=fo.exec(n),r=e[1]||\" \",a=e[\
2]||\">\",o=e[3]||\"-\",l=e[4]||\"\",c=e[5],s=+e[6],f=e[7],h=e[8],g=e[9],p=1,v=\"\",d=\"\
\",m=!1,y=!0;switch(h&&(h=+h.substring(1)),(c||\"0\"===r&&\"=\"===a)&&(c=r=\"0\",a=\"=\"\
),g){case\"n\":f=!0,g=\"g\";break;case\"%\":p=100,d=\"%\",g=\"f\";break;case\"p\":p=100,d=\"\
%\",g=\"r\";break;case\"b\":case\"o\":case\"x\":case\"X\":\"#\"===l&&(v=\"0\"+g.toLowerCase())\
;case\"c\":y=!1;case\"d\":m=!0,h=0;break;case\"s\":p=-1,g=\"r\"}\"$\"===l&&(v=u[0],d=u[1]\
),\"r\"!=g||h||(g=\"g\"),null!=h&&(\"g\"==g?h=Math.max(1,Math.min(21,h)):(\"e\"==g||\"f\"\
==g)&&(h=Math.max(0,Math.min(20,h)))),g=ho.get(g)||Fn;var M=c&&f;return functio\
n(n){var e=d;if(m&&n%1)return\"\";var u=0>n||0===n&&0>1/n?(n=-n,\"-\"):\"-\"===o?\"\":o\
;if(0>p){var l=oa.formatPrefix(n,h);n=l.scale(n),e=l.symbol+d}else n*=p;n=g(n,h\
);var x,b,_=n.lastIndexOf(\".\");if(0>_){var w=y?n.lastIndexOf(\"e\"):-1;0>w?(x=n,b\
=\"\"):(x=n.substring(0,w),b=n.substring(w))}else x=n.substring(0,_),b=t+n.substr\
ing(_+1);!c&&f&&(x=i(x,1/0));var S=v.length+x.length+b.length+(M?0:u.length),k=\
s>S?new Array(S=s-S+1).join(r):\"\";return M&&(x=i(k+x,k.length?s-b.length:1/0)),\
u+=v,n=x+b,(\"<\"===a?u+n+k:\">\"===a?k+u+n:\"^\"===a?k.substring(0,S>>=1)+u+n+k.subs\
tring(S):u+(M?n:k+n))+e}}}function Fn(n){return n+\"\"}function Hn(){this._=new D\
ate(arguments.length>1?Date.UTC.apply(this,arguments):arguments[0])}function On\
(n,t,e){function r(t){var e=n(t),r=i(e,1);return r-t>t-e?e:r}function u(e){retu\
rn t(e=n(new po(e-1)),1),e}function i(n,e){return t(n=new po(+n),e),n}function \
a(n,r,i){var a=u(n),o=[];if(i>1)for(;r>a;)e(a)%i||o.push(new Date(+a)),t(a,1);e\
lse for(;r>a;)o.push(new Date(+a)),t(a,1);return o}function o(n,t,e){try{po=Hn;\
var r=new Hn;return r._=n,a(r,t,e)}finally{po=Date}}n.floor=n,n.round=r,n.ceil=\
u,n.offset=i,n.range=a;var l=n.utc=In(n);return l.floor=l,l.round=In(r),l.ceil=\
In(u),l.offset=In(i),l.range=o,n}function In(n){return function(t,e){try{po=Hn;\
var r=new Hn;return r._=t,n(r,e)._}finally{po=Date}}}function Yn(n){function t(\
n){function t(t){for(var e,u,i,a=[],o=-1,l=0;++o<r;)37===n.charCodeAt(o)&&(a.pu\
sh(n.slice(l,o)),null!=(u=mo[e=n.charAt(++o)])&&(e=n.charAt(++o)),(i=A[e])&&(e=\
i(t,null==u?\"e\"===e?\" \":\"0\":u)),a.push(e),l=o+1);return a.push(n.slice(l,o)),a.\
join(\"\")}var r=n.length;return t.parse=function(t){var r={y:1900,m:0,d:1,H:0,M:\
0,S:0,L:0,Z:null},u=e(r,n,t,0);if(u!=t.length)return null;\"p\"in r&&(r.H=r.H%12+\
12*r.p);var i=null!=r.Z&&po!==Hn,a=new(i?Hn:po);return\"j\"in r?a.setFullYear(r.y\
,0,r.j):\"W\"in r||\"U\"in r?(\"w\"in r||(r.w=\"W\"in r?1:0),a.setFullYear(r.y,0,1),a.s\
etFullYear(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),i?a._:a},t.toString=function(){return n},t}function e(n,t,e,r){for(var u,i,\
a,o=0,l=t.length,c=e.length;l>o;){if(r>=c)return-1;if(u=t.charCodeAt(o++),37===\
u){if(a=t.charAt(o++),i=C[a in mo?t.charAt(o++):a],!i||(r=i(n,e,r))<0)return-1}\
else if(u!=e.charCodeAt(r++))return-1}return r}function r(n,t,e){_.lastIndex=0;\
var r=_.exec(t.slice(e));return r?(n.w=w.get(r[0].toLowerCase()),e+r[0].length)\
:-1}function u(n,t,e){x.lastIndex=0;var r=x.exec(t.slice(e));return r?(n.w=b.ge\
t(r[0].toLowerCase()),e+r[0].length):-1}function i(n,t,e){N.lastIndex=0;var r=N\
.exec(t.slice(e));return r?(n.m=E.get(r[0].toLowerCase()),e+r[0].length):-1}fun\
ction a(n,t,e){S.lastIndex=0;var r=S.exec(t.slice(e));return r?(n.m=k.get(r[0].\
toLowerCase()),e+r[0].length):-1}function o(n,t,r){return e(n,A.c.toString(),t,\
r)}function l(n,t,r){return e(n,A.x.toString(),t,r)}function c(n,t,r){return e(\
n,A.X.toString(),t,r)}function s(n,t,e){var r=M.get(t.slice(e,e+=2).toLowerCase\
());return null==r?-1:(n.p=r,e)}var f=n.dateTime,h=n.date,g=n.time,p=n.periods,\
v=n.days,d=n.shortDays,m=n.months,y=n.shortMonths;t.utc=function(n){function e(\
n){try{po=Hn;var t=new po;return t._=n,r(t)}finally{po=Date}}var r=t(n);return \
e.parse=function(n){try{po=Hn;var t=r.parse(n);return t&&t._}finally{po=Date}},\
e.toString=r.toString,e},t.multi=t.utc.multi=ct;var M=oa.map(),x=Vn(v),b=Xn(v),\
_=Vn(d),w=Xn(d),S=Vn(m),k=Xn(m),N=Vn(y),E=Xn(y);p.forEach(function(n,t){M.set(n\
.toLowerCase(),t)});var A={a:function(n){return d[n.getDay()]},A:function(n){re\
turn v[n.getDay()]},b:function(n){return y[n.getMonth()]},B:function(n){return \
m[n.getMonth()]},c:t(f),d:function(n,t){return Zn(n.getDate(),t,2)},e:function(\
n,t){return Zn(n.getDate(),t,2)},H:function(n,t){return Zn(n.getHours(),t,2)},I\
:function(n,t){return Zn(n.getHours()%12||12,t,2)},j:function(n,t){return Zn(1+\
go.dayOfYear(n),t,3)},L:function(n,t){return Zn(n.getMilliseconds(),t,3)},m:fun\
ction(n,t){return Zn(n.getMonth()+1,t,2)},M:function(n,t){return Zn(n.getMinute\
s(),t,2)},p:function(n){return p[+(n.getHours()>=12)]},S:function(n,t){return Z\
n(n.getSeconds(),t,2)},U:function(n,t){return Zn(go.sundayOfYear(n),t,2)},w:fun\
ction(n){return n.getDay()},W:function(n,t){return Zn(go.mondayOfYear(n),t,2)},\
x:t(h),X:t(g),y:function(n,t){return Zn(n.getFullYear()%100,t,2)},Y:function(n,\
t){return Zn(n.getFullYear()%1e4,t,4)},Z:ot,\"%\":function(){return\"%\"}},C={a:r,A\
:u,b:i,B:a,c:o,d:tt,e:tt,H:rt,I:rt,j:et,L:at,m:nt,M:ut,p:s,S:it,U:Bn,w:$n,W:Wn,\
x:l,X:c,y:Gn,Y:Jn,Z:Kn,\"%\":lt};return t}function Zn(n,t,e){var r=0>n?\"-\":\"\",u=(\
r?-n:n)+\"\",i=u.length;return r+(e>i?new Array(e-i+1).join(t)+u:u)}function Vn(n\
){return new RegExp(\"^(?:\"+n.map(oa.requote).join(\"|\")+\")\",\"i\")}function Xn(n){\
for(var t=new c,e=-1,r=n.length;++e<r;)t.set(n[e].toLowerCase(),e);return t}fun\
ction $n(n,t,e){yo.lastIndex=0;var r=yo.exec(t.slice(e,e+1));return r?(n.w=+r[0\
],e+r[0].length):-1}function Bn(n,t,e){yo.lastIndex=0;var r=yo.exec(t.slice(e))\
;return r?(n.U=+r[0],e+r[0].length):-1}function Wn(n,t,e){yo.lastIndex=0;var r=\
yo.exec(t.slice(e));return r?(n.W=+r[0],e+r[0].length):-1}function Jn(n,t,e){yo\
.lastIndex=0;var r=yo.exec(t.slice(e,e+4));return r?(n.y=+r[0],e+r[0].length):-\
1}function Gn(n,t,e){yo.lastIndex=0;var r=yo.exec(t.slice(e,e+2));return r?(n.y\
=Qn(+r[0]),e+r[0].length):-1}function Kn(n,t,e){return/^[+-]\\d{4}$/.test(t=t.s\
lice(e,e+5))?(n.Z=-t,e+5):-1}function Qn(n){return n+(n>68?1900:2e3)}function n\
t(n,t,e){yo.lastIndex=0;var r=yo.exec(t.slice(e,e+2));return r?(n.m=r[0]-1,e+r[\
0].length):-1}function tt(n,t,e){yo.lastIndex=0;var r=yo.exec(t.slice(e,e+2));r\
eturn r?(n.d=+r[0],e+r[0].length):-1}function et(n,t,e){yo.lastIndex=0;var r=yo\
.exec(t.slice(e,e+3));return r?(n.j=+r[0],e+r[0].length):-1}function rt(n,t,e){\
yo.lastIndex=0;var r=yo.exec(t.slice(e,e+2));return r?(n.H=+r[0],e+r[0].length)\
:-1}function ut(n,t,e){yo.lastIndex=0;var r=yo.exec(t.slice(e,e+2));return r?(n\
.M=+r[0],e+r[0].length):-1}function it(n,t,e){yo.lastIndex=0;var r=yo.exec(t.sl\
ice(e,e+2));return r?(n.S=+r[0],e+r[0].length):-1}function at(n,t,e){yo.lastInd\
ex=0;var r=yo.exec(t.slice(e,e+3));return r?(n.L=+r[0],e+r[0].length):-1}functi\
on ot(n){var t=n.getTimezoneOffset(),e=t>0?\"-\":\"+\",r=Ma(t)/60|0,u=Ma(t)%60;retu\
rn e+Zn(r,\"0\",2)+Zn(u,\"0\",2)}function lt(n,t,e){Mo.lastIndex=0;var r=Mo.exec(t.\
slice(e,e+1));return r?e+r[0].length:-1}function ct(n){for(var t=n.length,e=-1;\
++e<t;)n[e][0]=this(n[e][0]);return function(t){for(var e=0,r=n[e];!r[1](t);)r=\
n[++e];return r[0](t)}}function st(){}function ft(n,t,e){var r=e.s=n+t,u=r-n,i=\
r-u;e.t=n-i+(t-u)}function ht(n,t){n&&wo.hasOwnProperty(n.type)&&wo[n.type](n,t\
)}function gt(n,t,e){var r,u=-1,i=n.length-e;for(t.lineStart();++u<i;)r=n[u],t.\
point(r[0],r[1],r[2]);t.lineEnd()}function pt(n,t){var e=-1,r=n.length;for(t.po\
lygonStart();++e<r;)gt(n[e],t,1);t.polygonEnd()}function vt(){function n(n,t){n\
*=Ia,t=t*Ia/2+ja/4;var e=n-r,a=e>=0?1:-1,o=a*e,l=Math.cos(t),c=Math.sin(t),s=i*\
c,f=u*l+s*Math.cos(o),h=s*a*Math.sin(o);ko.add(Math.atan2(h,f)),r=n,u=l,i=c}var\
 t,e,r,u,i;No.point=function(a,o){No.point=n,r=(t=a)*Ia,u=Math.cos(o=(e=o)*Ia/2\
+ja/4),i=Math.sin(o)},No.lineEnd=function(){n(t,e)}}function dt(n){var t=n[0],e\
=n[1],r=Math.cos(e);return[r*Math.cos(t),r*Math.sin(t),Math.sin(e)]}function mt\
(n,t){return n[0]*t[0]+n[1]*t[1]+n[2]*t[2]}function yt(n,t){return[n[1]*t[2]-n[\
2]*t[1],n[2]*t[0]-n[0]*t[2],n[0]*t[1]-n[1]*t[0]]}function Mt(n,t){n[0]+=t[0],n[\
1]+=t[1],n[2]+=t[2]}function xt(n,t){return[n[0]*t,n[1]*t,n[2]*t]}function bt(n\
){var t=Math.sqrt(n[0]*n[0]+n[1]*n[1]+n[2]*n[2]);n[0]/=t,n[1]/=t,n[2]/=t}functi\
on _t(n){return[Math.atan2(n[1],n[0]),tn(n[2])]}function wt(n,t){return Ma(n[0]\
-t[0])<Pa&&Ma(n[1]-t[1])<Pa}function St(n,t){n*=Ia;var e=Math.cos(t*=Ia);kt(e*M\
ath.cos(n),e*Math.sin(n),Math.sin(t))}function kt(n,t,e){++Eo,Co+=(n-Co)/Eo,zo+\
=(t-zo)/Eo,Lo+=(e-Lo)/Eo}function Nt(){function n(n,u){n*=Ia;var i=Math.cos(u*=\
Ia),a=i*Math.cos(n),o=i*Math.sin(n),l=Math.sin(u),c=Math.atan2(Math.sqrt((c=e*l\
-r*o)*c+(c=r*a-t*l)*c+(c=t*o-e*a)*c),t*a+e*o+r*l);Ao+=c,qo+=c*(t+(t=a)),To+=c*(\
e+(e=o)),Ro+=c*(r+(r=l)),kt(t,e,r)}var t,e,r;jo.point=function(u,i){u*=Ia;var a\
=Math.cos(i*=Ia);t=a*Math.cos(u),e=a*Math.sin(u),r=Math.sin(i),jo.point=n,kt(t,\
e,r)}}function Et(){jo.point=St}function At(){function n(n,t){n*=Ia;var e=Math.\
cos(t*=Ia),a=e*Math.cos(n),o=e*Math.sin(n),l=Math.sin(t),c=u*l-i*o,s=i*a-r*l,f=\
r*o-u*a,h=Math.sqrt(c*c+s*s+f*f),g=r*a+u*o+i*l,p=h&&-nn(g)/h,v=Math.atan2(h,g);\
Do+=p*c,Po+=p*s,Uo+=p*f,Ao+=v,qo+=v*(r+(r=a)),To+=v*(u+(u=o)),Ro+=v*(i+(i=l)),k\
t(r,u,i)}var t,e,r,u,i;jo.point=function(a,o){t=a,e=o,jo.point=n,a*=Ia;var l=Ma\
th.cos(o*=Ia);r=l*Math.cos(a),u=l*Math.sin(a),i=Math.sin(o),kt(r,u,i)},jo.lineE\
nd=function(){n(t,e),jo.lineEnd=Et,jo.point=St}}function Ct(n,t){function e(e,r\
){return e=n(e,r),t(e[0],e[1])}return n.invert&&t.invert&&(e.invert=function(e,\
r){return e=t.invert(e,r),e&&n.invert(e[0],e[1])}),e}function zt(){return!0}fun\
ction Lt(n,t,e,r,u){var i=[],a=[];if(n.forEach(function(n){if(!((t=n.length-1)<\
=0)){var t,e=n[0],r=n[t];if(wt(e,r)){u.lineStart();for(var o=0;t>o;++o)u.point(\
(e=n[o])[0],e[1]);return void u.lineEnd()}var l=new Tt(e,n,null,!0),c=new Tt(e,\
null,l,!1);l.o=c,i.push(l),a.push(c),l=new Tt(r,n,null,!1),c=new Tt(r,null,l,!0\
),l.o=c,i.push(l),a.push(c)}}),a.sort(t),qt(i),qt(a),i.length){for(var o=0,l=e,\
c=a.length;c>o;++o)a[o].e=l=!l;for(var s,f,h=i[0];;){for(var g=h,p=!0;g.v;)if((\
g=g.n)===h)return;s=g.z,u.lineStart();do{if(g.v=g.o.v=!0,g.e){if(p)for(var o=0,\
c=s.length;c>o;++o)u.point((f=s[o])[0],f[1]);else r(g.x,g.n.x,1,u);g=g.n}else{i\
f(p){s=g.p.z;for(var o=s.length-1;o>=0;--o)u.point((f=s[o])[0],f[1])}else r(g.x\
,g.p.x,-1,u);g=g.p}g=g.o,s=g.z,p=!p}while(!g.v);u.lineEnd()}}}function qt(n){if\
(t=n.length){for(var t,e,r=0,u=n[0];++r<t;)u.n=e=n[r],e.p=u,u=e;u.n=e=n[0],e.p=\
u}}function Tt(n,t,e,r){this.x=n,this.z=t,this.o=e,this.e=r,this.v=!1,this.n=th\
is.p=null}function Rt(n,t,e,r){return function(u,i){function a(t,e){var r=u(t,e\
);n(t=r[0],e=r[1])&&i.point(t,e)}function o(n,t){var e=u(n,t);d.point(e[0],e[1]\
)}function l(){y.point=o,d.lineStart()}function c(){y.point=a,d.lineEnd()}funct\
ion s(n,t){v.push([n,t]);var e=u(n,t);x.point(e[0],e[1])}function f(){x.lineSta\
rt(),v=[]}function h(){s(v[0][0],v[0][1]),x.lineEnd();var n,t=x.clean(),e=M.buf\
fer(),r=e.length;if(v.pop(),p.push(v),v=null,r)if(1&t){n=e[0];var u,r=n.length-\
1,a=-1;if(r>0){for(b||(i.polygonStart(),b=!0),i.lineStart();++a<r;)i.point((u=n\
[a])[0],u[1]);i.lineEnd()}}else r>1&&2&t&&e.push(e.pop().concat(e.shift())),g.p\
ush(e.filter(Dt))}var g,p,v,d=t(i),m=u.invert(r[0],r[1]),y={point:a,lineStart:l\
,lineEnd:c,polygonStart:function(){y.point=s,y.lineStart=f,y.lineEnd=h,g=[],p=[\
]},polygonEnd:function(){y.point=a,y.lineStart=l,y.lineEnd=c,g=oa.merge(g);var \
n=Ot(m,p);g.length?(b||(i.polygonStart(),b=!0),Lt(g,Ut,n,e,i)):n&&(b||(i.polygo\
nStart(),b=!0),i.lineStart(),e(null,null,1,i),i.lineEnd()),b&&(i.polygonEnd(),b\
=!1),g=p=null},sphere:function(){i.polygonStart(),i.lineStart(),e(null,null,1,i\
),i.lineEnd(),i.polygonEnd()}},M=Pt(),x=t(M),b=!1;return y}}function Dt(n){retu\
rn n.length>1}function Pt(){var n,t=[];return{lineStart:function(){t.push(n=[])\
},point:function(t,e){n.push([t,e])},lineEnd:b,buffer:function(){var e=t;return\
 t=[],n=null,e},rejoin:function(){t.length>1&&t.push(t.pop().concat(t.shift()))\
}}}function Ut(n,t){return((n=n.x)[0]<0?n[1]-Oa-Pa:Oa-n[1])-((t=t.x)[0]<0?t[1]-\
Oa-Pa:Oa-t[1])}function jt(n){var t,e=NaN,r=NaN,u=NaN;return{lineStart:function\
(){n.lineStart(),t=1},point:function(i,a){var o=i>0?ja:-ja,l=Ma(i-e);Ma(l-ja)<P\
a?(n.point(e,r=(r+a)/2>0?Oa:-Oa),n.point(u,r),n.lineEnd(),n.lineStart(),n.point\
(o,r),n.point(i,r),t=0):u!==o&&l>=ja&&(Ma(e-u)<Pa&&(e-=u*Pa),Ma(i-o)<Pa&&(i-=o*\
Pa),r=Ft(e,r,i,a),n.point(u,r),n.lineEnd(),n.lineStart(),n.point(o,r),t=0),n.po\
int(e=i,r=a),u=o},lineEnd:function(){n.lineEnd(),e=r=NaN},clean:function(){retu\
rn 2-t}}}function Ft(n,t,e,r){var u,i,a=Math.sin(n-e);return Ma(a)>Pa?Math.atan\
((Math.sin(t)*(i=Math.cos(r))*Math.sin(e)-Math.sin(r)*(u=Math.cos(t))*Math.sin(\
n))/(u*i*a)):(t+r)/2}function Ht(n,t,e,r){var u;if(null==n)u=e*Oa,r.point(-ja,u\
),r.point(0,u),r.point(ja,u),r.point(ja,0),r.point(ja,-u),r.point(0,-u),r.point\
(-ja,-u),r.point(-ja,0),r.point(-ja,u);else if(Ma(n[0]-t[0])>Pa){var i=n[0]<t[0\
]?ja:-ja;u=e*i/2,r.point(-i,u),r.point(0,u),r.point(i,u)}else r.point(t[0],t[1]\
)}function Ot(n,t){var e=n[0],r=n[1],u=[Math.sin(e),-Math.cos(e),0],i=0,a=0;ko.\
reset();for(var o=0,l=t.length;l>o;++o){var c=t[o],s=c.length;if(s)for(var f=c[\
0],h=f[0],g=f[1]/2+ja/4,p=Math.sin(g),v=Math.cos(g),d=1;;){d===s&&(d=0),n=c[d];\
var m=n[0],y=n[1]/2+ja/4,M=Math.sin(y),x=Math.cos(y),b=m-h,_=b>=0?1:-1,w=_*b,S=\
w>ja,k=p*M;if(ko.add(Math.atan2(k*_*Math.sin(w),v*x+k*Math.cos(w))),i+=S?b+_*Fa\
:b,S^h>=e^m>=e){var N=yt(dt(f),dt(n));bt(N);var E=yt(u,N);bt(E);var A=(S^b>=0?-\
1:1)*tn(E[2]);(r>A||r===A&&(N[0]||N[1]))&&(a+=S^b>=0?1:-1)}if(!d++)break;h=m,p=\
M,v=x,f=n}}return(-Pa>i||Pa>i&&0>ko)^1&a}function It(n){function t(n,t){return \
Math.cos(n)*Math.cos(t)>i}function e(n){var e,i,l,c,s;return{lineStart:function\
(){c=l=!1,s=1},point:function(f,h){var g,p=[f,h],v=t(f,h),d=a?v?0:u(f,h):v?u(f+\
(0>f?ja:-ja),h):0;if(!e&&(c=l=v)&&n.lineStart(),v!==l&&(g=r(e,p),(wt(e,g)||wt(p\
,g))&&(p[0]+=Pa,p[1]+=Pa,v=t(p[0],p[1]))),v!==l)s=0,v?(n.lineStart(),g=r(p,e),n\
.point(g[0],g[1])):(g=r(e,p),n.point(g[0],g[1]),n.lineEnd()),e=g;else if(o&&e&&\
a^v){var m;d&i||!(m=r(p,e,!0))||(s=0,a?(n.lineStart(),n.point(m[0][0],m[0][1]),\
n.point(m[1][0],m[1][1]),n.lineEnd()):(n.point(m[1][0],m[1][1]),n.lineEnd(),n.l\
ineStart(),n.point(m[0][0],m[0][1])))}!v||e&&wt(e,p)||n.point(p[0],p[1]),e=p,l=\
v,i=d},lineEnd:function(){l&&n.lineEnd(),e=null},clean:function(){return s|(c&&\
l)<<1}}}function r(n,t,e){var r=dt(n),u=dt(t),a=[1,0,0],o=yt(r,u),l=mt(o,o),c=o\
[0],s=l-c*c;if(!s)return!e&&n;var f=i*l/s,h=-i*c/s,g=yt(a,o),p=xt(a,f),v=xt(o,h\
);Mt(p,v);var d=g,m=mt(p,d),y=mt(d,d),M=m*m-y*(mt(p,p)-1);if(!(0>M)){var x=Math\
.sqrt(M),b=xt(d,(-m-x)/y);if(Mt(b,p),b=_t(b),!e)return b;var _,w=n[0],S=t[0],k=\
n[1],N=t[1];w>S&&(_=w,w=S,S=_);var E=S-w,A=Ma(E-ja)<Pa,C=A||Pa>E;if(!A&&k>N&&(_\
=k,k=N,N=_),C?A?k+N>0^b[1]<(Ma(b[0]-w)<Pa?k:N):k<=b[1]&&b[1]<=N:E>ja^(w<=b[0]&&\
b[0]<=S)){var z=xt(d,(-m+x)/y);return Mt(z,p),[b,_t(z)]}}}function u(t,e){var r\
=a?n:ja-n,u=0;return-r>t?u|=1:t>r&&(u|=2),-r>e?u|=4:e>r&&(u|=8),u}var i=Math.co\
s(n),a=i>0,o=Ma(i)>Pa,l=ve(n,6*Ia);return Rt(t,e,l,a?[0,-n]:[-ja,n-ja])}functio\
n Yt(n,t,e,r){return function(u){var i,a=u.a,o=u.b,l=a.x,c=a.y,s=o.x,f=o.y,h=0,\
g=1,p=s-l,v=f-c;if(i=n-l,p||!(i>0)){if(i/=p,0>p){if(h>i)return;g>i&&(g=i)}else \
if(p>0){if(i>g)return;i>h&&(h=i)}if(i=e-l,p||!(0>i)){if(i/=p,0>p){if(i>g)return\
;i>h&&(h=i)}else if(p>0){if(h>i)return;g>i&&(g=i)}if(i=t-c,v||!(i>0)){if(i/=v,0\
>v){if(h>i)return;g>i&&(g=i)}else if(v>0){if(i>g)return;i>h&&(h=i)}if(i=r-c,v||\
!(0>i)){if(i/=v,0>v){if(i>g)return;i>h&&(h=i)}else if(v>0){if(h>i)return;g>i&&(\
g=i)}return h>0&&(u.a={x:l+h*p,y:c+h*v}),1>g&&(u.b={x:l+g*p,y:c+g*v}),u}}}}}}fu\
nction Zt(n,t,e,r){function u(r,u){return Ma(r[0]-n)<Pa?u>0?0:3:Ma(r[0]-e)<Pa?u\
>0?2:1:Ma(r[1]-t)<Pa?u>0?1:0:u>0?3:2}function i(n,t){return a(n.x,t.x)}function\
 a(n,t){var e=u(n,1),r=u(t,1);return e!==r?e-r:0===e?t[1]-n[1]:1===e?n[0]-t[0]:\
2===e?n[1]-t[1]:t[0]-n[0]}return function(o){function l(n){for(var t=0,e=d.leng\
th,r=n[1],u=0;e>u;++u)for(var i,a=1,o=d[u],l=o.length,c=o[0];l>a;++a)i=o[a],c[1\
]<=r?i[1]>r&&Q(c,i,n)>0&&++t:i[1]<=r&&Q(c,i,n)<0&&--t,c=i;return 0!==t}function\
 c(i,o,l,c){var s=0,f=0;if(null==i||(s=u(i,l))!==(f=u(o,l))||a(i,o)<0^l>0){do c\
.point(0===s||3===s?n:e,s>1?r:t);while((s=(s+l+4)%4)!==f)}else c.point(o[0],o[1\
])}function s(u,i){return u>=n&&e>=u&&i>=t&&r>=i}function f(n,t){s(n,t)&&o.poin\
t(n,t)}function h(){C.point=p,d&&d.push(m=[]),S=!0,w=!1,b=_=NaN}function g(){v&\
&(p(y,M),x&&w&&E.rejoin(),v.push(E.buffer())),C.point=f,w&&o.lineEnd()}function\
 p(n,t){n=Math.max(-Ho,Math.min(Ho,n)),t=Math.max(-Ho,Math.min(Ho,t));var e=s(n\
,t);if(d&&m.push([n,t]),S)y=n,M=t,x=e,S=!1,e&&(o.lineStart(),o.point(n,t));else\
 if(e&&w)o.point(n,t);else{var r={a:{x:b,y:_},b:{x:n,y:t}};A(r)?(w||(o.lineStar\
t(),o.point(r.a.x,r.a.y)),o.point(r.b.x,r.b.y),e||o.lineEnd(),k=!1):e&&(o.lineS\
tart(),o.point(n,t),k=!1)}b=n,_=t,w=e}var v,d,m,y,M,x,b,_,w,S,k,N=o,E=Pt(),A=Yt\
(n,t,e,r),C={point:f,lineStart:h,lineEnd:g,polygonStart:function(){o=E,v=[],d=[\
],k=!0},polygonEnd:function(){o=N,v=oa.merge(v);var t=l([n,r]),e=k&&t,u=v.lengt\
h;(e||u)&&(o.polygonStart(),e&&(o.lineStart(),c(null,null,1,o),o.lineEnd()),u&&\
Lt(v,i,t,c,o),o.polygonEnd()),v=d=m=null}};return C}}function Vt(n){var t=0,e=j\
a/3,r=oe(n),u=r(t,e);return u.parallels=function(n){return arguments.length?r(t\
=n[0]*ja/180,e=n[1]*ja/180):[t/ja*180,e/ja*180]},u}function Xt(n,t){function e(\
n,t){var e=Math.sqrt(i-2*u*Math.sin(t))/u;return[e*Math.sin(n*=u),a-e*Math.cos(\
n)]}var r=Math.sin(n),u=(r+Math.sin(t))/2,i=1+r*(2*u-r),a=Math.sqrt(i)/u;return\
 e.invert=function(n,t){var e=a-t;return[Math.atan2(n,e)/u,tn((i-(n*n+e*e)*u*u)\
/(2*u))]},e}function $t(){function n(n,t){Io+=u*n-r*t,r=n,u=t}var t,e,r,u;$o.po\
int=function(i,a){$o.point=n,t=r=i,e=u=a},$o.lineEnd=function(){n(t,e)}}functio\
n Bt(n,t){Yo>n&&(Yo=n),n>Vo&&(Vo=n),Zo>t&&(Zo=t),t>Xo&&(Xo=t)}function Wt(){fun\
ction n(n,t){a.push(\"M\",n,\",\",t,i)}function t(n,t){a.push(\"M\",n,\",\",t),o.point=\
e}function e(n,t){a.push(\"L\",n,\",\",t)}function r(){o.point=n}function u(){a.pus\
h(\"Z\")}var i=Jt(4.5),a=[],o={point:n,lineStart:function(){o.point=t},lineEnd:r,\
polygonStart:function(){o.lineEnd=u},polygonEnd:function(){o.lineEnd=r,o.point=\
n},pointRadius:function(n){return i=Jt(n),o},result:function(){if(a.length){var\
 n=a.join(\"\");return a=[],n}}};return o}function Jt(n){return\"m0,\"+n+\"a\"+n+\",\"+\
n+\" 0 1,1 0,\"+-2*n+\"a\"+n+\",\"+n+\" 0 1,1 0,\"+2*n+\"z\"}function Gt(n,t){Co+=n,zo+=t\
,++Lo}function Kt(){function n(n,r){var u=n-t,i=r-e,a=Math.sqrt(u*u+i*i);qo+=a*\
(t+n)/2,To+=a*(e+r)/2,Ro+=a,Gt(t=n,e=r)}var t,e;Wo.point=function(r,u){Wo.point\
=n,Gt(t=r,e=u)}}function Qt(){Wo.point=Gt}function ne(){function n(n,t){var e=n\
-r,i=t-u,a=Math.sqrt(e*e+i*i);qo+=a*(r+n)/2,To+=a*(u+t)/2,Ro+=a,a=u*n-r*t,Do+=a\
*(r+n),Po+=a*(u+t),Uo+=3*a,Gt(r=n,u=t)}var t,e,r,u;Wo.point=function(i,a){Wo.po\
int=n,Gt(t=r=i,e=u=a)},Wo.lineEnd=function(){n(t,e)}}function te(n){function t(\
t,e){n.moveTo(t+a,e),n.arc(t,e,a,0,Fa)}function e(t,e){n.moveTo(t,e),o.point=r}\
function r(t,e){n.lineTo(t,e)}function u(){o.point=t}function i(){n.closePath()\
}var a=4.5,o={point:t,lineStart:function(){o.point=e},lineEnd:u,polygonStart:fu\
nction(){o.lineEnd=i},polygonEnd:function(){o.lineEnd=u,o.point=t},pointRadius:\
function(n){return a=n,o},result:b};return o}function ee(n){function t(n){retur\
n(o?r:e)(n)}function e(t){return ie(t,function(e,r){e=n(e,r),t.point(e[0],e[1])\
})}function r(t){function e(e,r){e=n(e,r),t.point(e[0],e[1])}function r(){M=NaN\
,S.point=i,t.lineStart()}function i(e,r){var i=dt([e,r]),a=n(e,r);u(M,x,y,b,_,w\
,M=a[0],x=a[1],y=e,b=i[0],_=i[1],w=i[2],o,t),t.point(M,x)}function a(){S.point=\
e,t.lineEnd()}function l(){
r(),S.point=c,S.lineEnd=s}function c(n,t){i(f=n,h=t),g=M,p=x,v=b,d=_,m=w,S.poin\
t=i}function s(){u(M,x,y,b,_,w,g,p,f,v,d,m,o,t),S.lineEnd=a,a()}var f,h,g,p,v,d\
,m,y,M,x,b,_,w,S={point:e,lineStart:r,lineEnd:a,polygonStart:function(){t.polyg\
onStart(),S.lineStart=l},polygonEnd:function(){t.polygonEnd(),S.lineStart=r}};r\
eturn S}function u(t,e,r,o,l,c,s,f,h,g,p,v,d,m){var y=s-t,M=f-e,x=y*y+M*M;if(x>\
4*i&&d--){var b=o+g,_=l+p,w=c+v,S=Math.sqrt(b*b+_*_+w*w),k=Math.asin(w/=S),N=Ma\
(Ma(w)-1)<Pa||Ma(r-h)<Pa?(r+h)/2:Math.atan2(_,b),E=n(N,k),A=E[0],C=E[1],z=A-t,L\
=C-e,q=M*z-y*L;(q*q/x>i||Ma((y*z+M*L)/x-.5)>.3||a>o*g+l*p+c*v)&&(u(t,e,r,o,l,c,\
A,C,N,b/=S,_/=S,w,d,m),m.point(A,C),u(A,C,N,b,_,w,s,f,h,g,p,v,d,m))}}var i=.5,a\
=Math.cos(30*Ia),o=16;return t.precision=function(n){return arguments.length?(o\
=(i=n*n)>0&&16,t):Math.sqrt(i)},t}function re(n){var t=ee(function(t,e){return \
n([t*Ya,e*Ya])});return function(n){return le(t(n))}}function ue(n){this.stream\
=n}function ie(n,t){return{point:t,sphere:function(){n.sphere()},lineStart:func\
tion(){n.lineStart()},lineEnd:function(){n.lineEnd()},polygonStart:function(){n\
.polygonStart()},polygonEnd:function(){n.polygonEnd()}}}function ae(n){return o\
e(function(){return n})()}function oe(n){function t(n){return n=o(n[0]*Ia,n[1]*\
Ia),[n[0]*h+l,c-n[1]*h]}function e(n){return n=o.invert((n[0]-l)/h,(c-n[1])/h),\
n&&[n[0]*Ya,n[1]*Ya]}function r(){o=Ct(a=fe(m,M,x),i);var n=i(v,d);return l=g-n\
[0]*h,c=p+n[1]*h,u()}function u(){return s&&(s.valid=!1,s=null),t}var i,a,o,l,c\
,s,f=ee(function(n,t){return n=i(n,t),[n[0]*h+l,c-n[1]*h]}),h=150,g=480,p=250,v\
=0,d=0,m=0,M=0,x=0,b=Fo,_=y,w=null,S=null;return t.stream=function(n){return s&\
&(s.valid=!1),s=le(b(a,f(_(n)))),s.valid=!0,s},t.clipAngle=function(n){return a\
rguments.length?(b=null==n?(w=n,Fo):It((w=+n)*Ia),u()):w},t.clipExtent=function\
(n){return arguments.length?(S=n,_=n?Zt(n[0][0],n[0][1],n[1][0],n[1][1]):y,u())\
:S},t.scale=function(n){return arguments.length?(h=+n,r()):h},t.translate=funct\
ion(n){return arguments.length?(g=+n[0],p=+n[1],r()):[g,p]},t.center=function(n\
){return arguments.length?(v=n[0]%360*Ia,d=n[1]%360*Ia,r()):[v*Ya,d*Ya]},t.rota\
te=function(n){return arguments.length?(m=n[0]%360*Ia,M=n[1]%360*Ia,x=n.length>\
2?n[2]%360*Ia:0,r()):[m*Ya,M*Ya,x*Ya]},oa.rebind(t,f,\"precision\"),function(){re\
turn i=n.apply(this,arguments),t.invert=i.invert&&e,r()}}function le(n){return \
ie(n,function(t,e){n.point(t*Ia,e*Ia)})}function ce(n,t){return[n,t]}function s\
e(n,t){return[n>ja?n-Fa:-ja>n?n+Fa:n,t]}function fe(n,t,e){return n?t||e?Ct(ge(\
n),pe(t,e)):ge(n):t||e?pe(t,e):se}function he(n){return function(t,e){return t+\
=n,[t>ja?t-Fa:-ja>t?t+Fa:t,e]}}function ge(n){var t=he(n);return t.invert=he(-n\
),t}function pe(n,t){function e(n,t){var e=Math.cos(t),o=Math.cos(n)*e,l=Math.s\
in(n)*e,c=Math.sin(t),s=c*r+o*u;return[Math.atan2(l*i-s*a,o*r-c*u),tn(s*i+l*a)]\
}var r=Math.cos(n),u=Math.sin(n),i=Math.cos(t),a=Math.sin(t);return e.invert=fu\
nction(n,t){var e=Math.cos(t),o=Math.cos(n)*e,l=Math.sin(n)*e,c=Math.sin(t),s=c\
*i-l*a;return[Math.atan2(l*i+c*a,o*r+s*u),tn(s*r-o*u)]},e}function ve(n,t){var \
e=Math.cos(n),r=Math.sin(n);return function(u,i,a,o){var l=a*t;null!=u?(u=de(e,\
u),i=de(e,i),(a>0?i>u:u>i)&&(u+=a*Fa)):(u=n+a*Fa,i=n-.5*l);for(var c,s=u;a>0?s>\
i:i>s;s-=l)o.point((c=_t([e,-r*Math.cos(s),-r*Math.sin(s)]))[0],c[1])}}function\
 de(n,t){var e=dt(t);e[0]-=n,bt(e);var r=nn(-e[1]);return((-e[2]<0?-r:r)+2*Math\
.PI-Pa)%(2*Math.PI)}function me(n,t,e){var r=oa.range(n,t-Pa,e).concat(t);retur\
n function(n){return r.map(function(t){return[n,t]})}}function ye(n,t,e){var r=\
oa.range(n,t-Pa,e).concat(t);return function(n){return r.map(function(t){return\
[t,n]})}}function Me(n){return n.source}function xe(n){return n.target}function\
 be(n,t,e,r){var u=Math.cos(t),i=Math.sin(t),a=Math.cos(r),o=Math.sin(r),l=u*Ma\
th.cos(n),c=u*Math.sin(n),s=a*Math.cos(e),f=a*Math.sin(e),h=2*Math.asin(Math.sq\
rt(an(r-t)+u*a*an(e-n))),g=1/Math.sin(h),p=h?function(n){var t=Math.sin(n*=h)*g\
,e=Math.sin(h-n)*g,r=e*l+t*s,u=e*c+t*f,a=e*i+t*o;return[Math.atan2(u,r)*Ya,Math\
.atan2(a,Math.sqrt(r*r+u*u))*Ya]}:function(){return[n*Ya,t*Ya]};return p.distan\
ce=h,p}function _e(){function n(n,u){var i=Math.sin(u*=Ia),a=Math.cos(u),o=Ma((\
n*=Ia)-t),l=Math.cos(o);Jo+=Math.atan2(Math.sqrt((o=a*Math.sin(o))*o+(o=r*i-e*a\
*l)*o),e*i+r*a*l),t=n,e=i,r=a}var t,e,r;Go.point=function(u,i){t=u*Ia,e=Math.si\
n(i*=Ia),r=Math.cos(i),Go.point=n},Go.lineEnd=function(){Go.point=Go.lineEnd=b}\
}function we(n,t){function e(t,e){var r=Math.cos(t),u=Math.cos(e),i=n(r*u);retu\
rn[i*u*Math.sin(t),i*Math.sin(e)]}return e.invert=function(n,e){var r=Math.sqrt\
(n*n+e*e),u=t(r),i=Math.sin(u),a=Math.cos(u);return[Math.atan2(n*i,r*a),Math.as\
in(r&&e*i/r)]},e}function Se(n,t){function e(n,t){a>0?-Oa+Pa>t&&(t=-Oa+Pa):t>Oa\
-Pa&&(t=Oa-Pa);var e=a/Math.pow(u(t),i);return[e*Math.sin(i*n),a-e*Math.cos(i*n\
)]}var r=Math.cos(n),u=function(n){return Math.tan(ja/4+n/2)},i=n===t?Math.sin(\
n):Math.log(r/Math.cos(t))/Math.log(u(t)/u(n)),a=r*Math.pow(u(n),i)/i;return i?\
(e.invert=function(n,t){var e=a-t,r=K(i)*Math.sqrt(n*n+e*e);return[Math.atan2(n\
,e)/i,2*Math.atan(Math.pow(a/r,1/i))-Oa]},e):Ne}function ke(n,t){function e(n,t\
){var e=i-t;return[e*Math.sin(u*n),i-e*Math.cos(u*n)]}var r=Math.cos(n),u=n===t\
?Math.sin(n):(r-Math.cos(t))/(t-n),i=r/u+n;return Ma(u)<Pa?ce:(e.invert=functio\
n(n,t){var e=i-t;return[Math.atan2(n,e)/u,i-K(u)*Math.sqrt(n*n+e*e)]},e)}functi\
on Ne(n,t){return[n,Math.log(Math.tan(ja/4+t/2))]}function Ee(n){var t,e=ae(n),\
r=e.scale,u=e.translate,i=e.clipExtent;return e.scale=function(){var n=r.apply(\
e,arguments);return n===e?t?e.clipExtent(null):e:n},e.translate=function(){var \
n=u.apply(e,arguments);return n===e?t?e.clipExtent(null):e:n},e.clipExtent=func\
tion(n){var a=i.apply(e,arguments);if(a===e){if(t=null==n){var o=ja*r(),l=u();i\
([[l[0]-o,l[1]-o],[l[0]+o,l[1]+o]])}}else t&&(a=null);return a},e.clipExtent(nu\
ll)}function Ae(n,t){return[Math.log(Math.tan(ja/4+t/2)),-n]}function Ce(n){ret\
urn n[0]}function ze(n){return n[1]}function Le(n){for(var t=n.length,e=[0,1],r\
=2,u=2;t>u;u++){for(;r>1&&Q(n[e[r-2]],n[e[r-1]],n[u])<=0;)--r;e[r++]=u}return e\
.slice(0,r)}function qe(n,t){return n[0]-t[0]||n[1]-t[1]}function Te(n,t,e){ret\
urn(e[0]-t[0])*(n[1]-t[1])<(e[1]-t[1])*(n[0]-t[0])}function Re(n,t,e,r){var u=n\
[0],i=e[0],a=t[0]-u,o=r[0]-i,l=n[1],c=e[1],s=t[1]-l,f=r[1]-c,h=(o*(l-c)-f*(u-i)\
)/(f*a-o*s);return[u+h*a,l+h*s]}function De(n){var t=n[0],e=n[n.length-1];retur\
n!(t[0]-e[0]||t[1]-e[1])}function Pe(){rr(this),this.edge=this.site=this.circle\
=null}function Ue(n){var t=cl.pop()||new Pe;return t.site=n,t}function je(n){Be\
(n),al.remove(n),cl.push(n),rr(n)}function Fe(n){var t=n.circle,e=t.x,r=t.cy,u=\
{x:e,y:r},i=n.P,a=n.N,o=[n];je(n);for(var l=i;l.circle&&Ma(e-l.circle.x)<Pa&&Ma\
(r-l.circle.cy)<Pa;)i=l.P,o.unshift(l),je(l),l=i;o.unshift(l),Be(l);for(var c=a\
;c.circle&&Ma(e-c.circle.x)<Pa&&Ma(r-c.circle.cy)<Pa;)a=c.N,o.push(c),je(c),c=a\
;o.push(c),Be(c);var s,f=o.length;for(s=1;f>s;++s)c=o[s],l=o[s-1],nr(c.edge,l.s\
ite,c.site,u);l=o[0],c=o[f-1],c.edge=Ke(l.site,c.site,null,u),$e(l),$e(c)}funct\
ion He(n){for(var t,e,r,u,i=n.x,a=n.y,o=al._;o;)if(r=Oe(o,a)-i,r>Pa)o=o.L;else{\
if(u=i-Ie(o,a),!(u>Pa)){r>-Pa?(t=o.P,e=o):u>-Pa?(t=o,e=o.N):t=e=o;break}if(!o.R\
){t=o;break}o=o.R}var l=Ue(n);if(al.insert(t,l),t||e){if(t===e)return Be(t),e=U\
e(t.site),al.insert(l,e),l.edge=e.edge=Ke(t.site,l.site),$e(t),void $e(e);if(!e\
)return void(l.edge=Ke(t.site,l.site));Be(t),Be(e);var c=t.site,s=c.x,f=c.y,h=n\
.x-s,g=n.y-f,p=e.site,v=p.x-s,d=p.y-f,m=2*(h*d-g*v),y=h*h+g*g,M=v*v+d*d,x={x:(d\
*y-g*M)/m+s,y:(h*M-v*y)/m+f};nr(e.edge,c,p,x),l.edge=Ke(c,n,null,x),e.edge=Ke(n\
,p,null,x),$e(t),$e(e)}}function Oe(n,t){var e=n.site,r=e.x,u=e.y,i=u-t;if(!i)r\
eturn r;var a=n.P;if(!a)return-(1/0);e=a.site;var o=e.x,l=e.y,c=l-t;if(!c)retur\
n o;var s=o-r,f=1/i-1/c,h=s/c;return f?(-h+Math.sqrt(h*h-2*f*(s*s/(-2*c)-l+c/2+\
u-i/2)))/f+r:(r+o)/2}function Ie(n,t){var e=n.N;if(e)return Oe(e,t);var r=n.sit\
e;return r.y===t?r.x:1/0}function Ye(n){this.site=n,this.edges=[]}function Ze(n\
){for(var t,e,r,u,i,a,o,l,c,s,f=n[0][0],h=n[1][0],g=n[0][1],p=n[1][1],v=il,d=v.\
length;d--;)if(i=v[d],i&&i.prepare())for(o=i.edges,l=o.length,a=0;l>a;)s=o[a].e\
nd(),r=s.x,u=s.y,c=o[++a%l].start(),t=c.x,e=c.y,(Ma(r-t)>Pa||Ma(u-e)>Pa)&&(o.sp\
lice(a,0,new tr(Qe(i.site,s,Ma(r-f)<Pa&&p-u>Pa?{x:f,y:Ma(t-f)<Pa?e:p}:Ma(u-p)<P\
a&&h-r>Pa?{x:Ma(e-p)<Pa?t:h,y:p}:Ma(r-h)<Pa&&u-g>Pa?{x:h,y:Ma(t-h)<Pa?e:g}:Ma(u\
-g)<Pa&&r-f>Pa?{x:Ma(e-g)<Pa?t:f,y:g}:null),i.site,null)),++l)}function Ve(n,t)\
{return t.angle-n.angle}function Xe(){rr(this),this.x=this.y=this.arc=this.site\
=this.cy=null}function $e(n){var t=n.P,e=n.N;if(t&&e){var r=t.site,u=n.site,i=e\
.site;if(r!==i){var a=u.x,o=u.y,l=r.x-a,c=r.y-o,s=i.x-a,f=i.y-o,h=2*(l*f-c*s);i\
f(!(h>=-Ua)){var g=l*l+c*c,p=s*s+f*f,v=(f*g-c*p)/h,d=(l*p-s*g)/h,f=d+o,m=sl.pop\
()||new Xe;m.arc=n,m.site=u,m.x=v+a,m.y=f+Math.sqrt(v*v+d*d),m.cy=f,n.circle=m;\
for(var y=null,M=ll._;M;)if(m.y<M.y||m.y===M.y&&m.x<=M.x){if(!M.L){y=M.P;break}\
M=M.L}else{if(!M.R){y=M;break}M=M.R}ll.insert(y,m),y||(ol=m)}}}}function Be(n){\
var t=n.circle;t&&(t.P||(ol=t.N),ll.remove(t),sl.push(t),rr(t),n.circle=null)}f\
unction We(n){for(var t,e=ul,r=Yt(n[0][0],n[0][1],n[1][0],n[1][1]),u=e.length;u\
--;)t=e[u],(!Je(t,n)||!r(t)||Ma(t.a.x-t.b.x)<Pa&&Ma(t.a.y-t.b.y)<Pa)&&(t.a=t.b=\
null,e.splice(u,1))}function Je(n,t){var e=n.b;if(e)return!0;var r,u,i=n.a,a=t[\
0][0],o=t[1][0],l=t[0][1],c=t[1][1],s=n.l,f=n.r,h=s.x,g=s.y,p=f.x,v=f.y,d=(h+p)\
/2,m=(g+v)/2;if(v===g){if(a>d||d>=o)return;if(h>p){if(i){if(i.y>=c)return}else \
i={x:d,y:l};e={x:d,y:c}}else{if(i){if(i.y<l)return}else i={x:d,y:c};e={x:d,y:l}\
}}else if(r=(h-p)/(v-g),u=m-r*d,-1>r||r>1)if(h>p){if(i){if(i.y>=c)return}else i\
={x:(l-u)/r,y:l};e={x:(c-u)/r,y:c}}else{if(i){if(i.y<l)return}else i={x:(c-u)/r\
,y:c};e={x:(l-u)/r,y:l}}else if(v>g){if(i){if(i.x>=o)return}else i={x:a,y:r*a+u\
};e={x:o,y:r*o+u}}else{if(i){if(i.x<a)return}else i={x:o,y:r*o+u};e={x:a,y:r*a+\
u}}return n.a=i,n.b=e,!0}function Ge(n,t){this.l=n,this.r=t,this.a=this.b=null}\
function Ke(n,t,e,r){var u=new Ge(n,t);return ul.push(u),e&&nr(u,n,t,e),r&&nr(u\
,t,n,r),il[n.i].edges.push(new tr(u,n,t)),il[t.i].edges.push(new tr(u,t,n)),u}f\
unction Qe(n,t,e){var r=new Ge(n,null);return r.a=t,r.b=e,ul.push(r),r}function\
 nr(n,t,e,r){n.a||n.b?n.l===e?n.b=r:n.a=r:(n.a=r,n.l=t,n.r=e)}function tr(n,t,e\
){var r=n.a,u=n.b;this.edge=n,this.site=t,this.angle=e?Math.atan2(e.y-t.y,e.x-t\
.x):n.l===t?Math.atan2(u.x-r.x,r.y-u.y):Math.atan2(r.x-u.x,u.y-r.y)}function er\
(){this._=null}function rr(n){n.U=n.C=n.L=n.R=n.P=n.N=null}function ur(n,t){var\
 e=t,r=t.R,u=e.U;u?u.L===e?u.L=r:u.R=r:n._=r,r.U=u,e.U=r,e.R=r.L,e.R&&(e.R.U=e)\
,r.L=e}function ir(n,t){var e=t,r=t.L,u=e.U;u?u.L===e?u.L=r:u.R=r:n._=r,r.U=u,e\
.U=r,e.L=r.R,e.L&&(e.L.U=e),r.R=e}function ar(n){for(;n.L;)n=n.L;return n}funct\
ion or(n,t){var e,r,u,i=n.sort(lr).pop();for(ul=[],il=new Array(n.length),al=ne\
w er,ll=new er;;)if(u=ol,i&&(!u||i.y<u.y||i.y===u.y&&i.x<u.x))(i.x!==e||i.y!==r\
)&&(il[i.i]=new Ye(i),He(i),e=i.x,r=i.y),i=n.pop();else{if(!u)break;Fe(u.arc)}t\
&&(We(t),Ze(t));var a={cells:il,edges:ul};return al=ll=ul=il=null,a}function lr\
(n,t){return t.y-n.y||t.x-n.x}function cr(n,t,e){return(n.x-e.x)*(t.y-n.y)-(n.x\
-t.x)*(e.y-n.y)}function sr(n){return n.x}function fr(n){return n.y}function hr\
(){return{leaf:!0,nodes:[],point:null,x:null,y:null}}function gr(n,t,e,r,u,i){i\
f(!n(t,e,r,u,i)){var a=.5*(e+u),o=.5*(r+i),l=t.nodes;l[0]&&gr(n,l[0],e,r,a,o),l\
[1]&&gr(n,l[1],a,r,u,o),l[2]&&gr(n,l[2],e,o,a,i),l[3]&&gr(n,l[3],a,o,u,i)}}func\
tion pr(n,t,e,r,u,i,a){var o,l=1/0;return function c(n,s,f,h,g){if(!(s>i||f>a||\
r>h||u>g)){if(p=n.point){var p,v=t-n.x,d=e-n.y,m=v*v+d*d;if(l>m){var y=Math.sqr\
t(l=m);r=t-y,u=e-y,i=t+y,a=e+y,o=p}}for(var M=n.nodes,x=.5*(s+h),b=.5*(f+g),_=t\
>=x,w=e>=b,S=w<<1|_,k=S+4;k>S;++S)if(n=M[3&S])switch(3&S){case 0:c(n,s,f,x,b);b\
reak;case 1:c(n,x,f,h,b);break;case 2:c(n,s,b,x,g);break;case 3:c(n,x,b,h,g)}}}\
(n,r,u,i,a),o}function vr(n,t){n=oa.rgb(n),t=oa.rgb(t);var e=n.r,r=n.g,u=n.b,i=\
t.r-e,a=t.g-r,o=t.b-u;return function(n){return\"#\"+bn(Math.round(e+i*n))+bn(Mat\
h.round(r+a*n))+bn(Math.round(u+o*n))}}function dr(n,t){var e,r={},u={};for(e i\
n n)e in t?r[e]=Mr(n[e],t[e]):u[e]=n[e];for(e in t)e in n||(u[e]=t[e]);return f\
unction(n){for(e in r)u[e]=r[e](n);return u}}function mr(n,t){return n=+n,t=+t,\
function(e){return n*(1-e)+t*e}}function yr(n,t){var e,r,u,i=hl.lastIndex=gl.la\
stIndex=0,a=-1,o=[],l=[];for(n+=\"\",t+=\"\";(e=hl.exec(n))&&(r=gl.exec(t));)(u=r.i\
ndex)>i&&(u=t.slice(i,u),o[a]?o[a]+=u:o[++a]=u),(e=e[0])===(r=r[0])?o[a]?o[a]+=\
r:o[++a]=r:(o[++a]=null,l.push({i:a,x:mr(e,r)})),i=gl.lastIndex;return i<t.leng\
th&&(u=t.slice(i),o[a]?o[a]+=u:o[++a]=u),o.length<2?l[0]?(t=l[0].x,function(n){\
return t(n)+\"\"}):function(){return t}:(t=l.length,function(n){for(var e,r=0;t>r\
;++r)o[(e=l[r]).i]=e.x(n);return o.join(\"\")})}function Mr(n,t){for(var e,r=oa.i\
nterpolators.length;--r>=0&&!(e=oa.interpolators[r](n,t)););return e}function x\
r(n,t){var e,r=[],u=[],i=n.length,a=t.length,o=Math.min(n.length,t.length);for(\
e=0;o>e;++e)r.push(Mr(n[e],t[e]));for(;i>e;++e)u[e]=n[e];for(;a>e;++e)u[e]=t[e]\
;return function(n){for(e=0;o>e;++e)u[e]=r[e](n);return u}}function br(n){retur\
n function(t){return 0>=t?0:t>=1?1:n(t)}}function _r(n){return function(t){retu\
rn 1-n(1-t)}}function wr(n){return function(t){return.5*(.5>t?n(2*t):2-n(2-2*t)\
)}}function Sr(n){return n*n}function kr(n){return n*n*n}function Nr(n){if(0>=n\
)return 0;if(n>=1)return 1;var t=n*n,e=t*n;return 4*(.5>n?e:3*(n-t)+e-.75)}func\
tion Er(n){return function(t){return Math.pow(t,n)}}function Ar(n){return 1-Mat\
h.cos(n*Oa)}function Cr(n){return Math.pow(2,10*(n-1))}function zr(n){return 1-\
Math.sqrt(1-n*n)}function Lr(n,t){var e;return arguments.length<2&&(t=.45),argu\
ments.length?e=t/Fa*Math.asin(1/n):(n=1,e=t/4),function(r){return 1+n*Math.pow(\
2,-10*r)*Math.sin((r-e)*Fa/t)}}function qr(n){return n||(n=1.70158),function(t)\
{return t*t*((n+1)*t-n)}}function Tr(n){return 1/2.75>n?7.5625*n*n:2/2.75>n?7.5\
625*(n-=1.5/2.75)*n+.75:2.5/2.75>n?7.5625*(n-=2.25/2.75)*n+.9375:7.5625*(n-=2.6\
25/2.75)*n+.984375}function Rr(n,t){n=oa.hcl(n),t=oa.hcl(t);var e=n.h,r=n.c,u=n\
.l,i=t.h-e,a=t.c-r,o=t.l-u;return isNaN(a)&&(a=0,r=isNaN(r)?t.c:r),isNaN(i)?(i=\
0,e=isNaN(e)?t.h:e):i>180?i-=360:-180>i&&(i+=360),function(n){return fn(e+i*n,r\
+a*n,u+o*n)+\"\"}}function Dr(n,t){n=oa.hsl(n),t=oa.hsl(t);var e=n.h,r=n.s,u=n.l,\
i=t.h-e,a=t.s-r,o=t.l-u;return isNaN(a)&&(a=0,r=isNaN(r)?t.s:r),isNaN(i)?(i=0,e\
=isNaN(e)?t.h:e):i>180?i-=360:-180>i&&(i+=360),function(n){return cn(e+i*n,r+a*\
n,u+o*n)+\"\"}}function Pr(n,t){n=oa.lab(n),t=oa.lab(t);var e=n.l,r=n.a,u=n.b,i=t\
.l-e,a=t.a-r,o=t.b-u;return function(n){return gn(e+i*n,r+a*n,u+o*n)+\"\"}}functi\
on Ur(n,t){return t-=n,function(e){return Math.round(n+t*e)}}function jr(n){var\
 t=[n.a,n.b],e=[n.c,n.d],r=Hr(t),u=Fr(t,e),i=Hr(Or(e,t,-u))||0;t[0]*e[1]<e[0]*t\
[1]&&(t[0]*=-1,t[1]*=-1,r*=-1,u*=-1),this.rotate=(r?Math.atan2(t[1],t[0]):Math.\
atan2(-e[0],e[1]))*Ya,this.translate=[n.e,n.f],this.scale=[r,i],this.skew=i?Mat\
h.atan2(u,i)*Ya:0}function Fr(n,t){return n[0]*t[0]+n[1]*t[1]}function Hr(n){va\
r t=Math.sqrt(Fr(n,n));return t&&(n[0]/=t,n[1]/=t),t}function Or(n,t,e){return \
n[0]+=e*t[0],n[1]+=e*t[1],n}function Ir(n){return n.length?n.pop()+\",\":\"\"}funct\
ion Yr(n,t,e,r){if(n[0]!==t[0]||n[1]!==t[1]){var u=e.push(\"translate(\",null,\",\"\
,null,\")\");r.push({i:u-4,x:mr(n[0],t[0])},{i:u-2,x:mr(n[1],t[1])})}else(t[0]||t\
[1])&&e.push(\"translate(\"+t+\")\")}function Zr(n,t,e,r){n!==t?(n-t>180?t+=360:t-n\
>180&&(n+=360),r.push({i:e.push(Ir(e)+\"rotate(\",null,\")\")-2,x:mr(n,t)})):t&&e.p\
ush(Ir(e)+\"rotate(\"+t+\")\")}function Vr(n,t,e,r){n!==t?r.push({i:e.push(Ir(e)+\"s\
kewX(\",null,\")\")-2,x:mr(n,t)}):t&&e.push(Ir(e)+\"skewX(\"+t+\")\")}function Xr(n,t,\
e,r){if(n[0]!==t[0]||n[1]!==t[1]){var u=e.push(Ir(e)+\"scale(\",null,\",\",null,\")\"\
);r.push({i:u-4,x:mr(n[0],t[0])},{i:u-2,x:mr(n[1],t[1])})}else(1!==t[0]||1!==t[\
1])&&e.push(Ir(e)+\"scale(\"+t+\")\")}function $r(n,t){var e=[],r=[];return n=oa.tr\
ansform(n),t=oa.transform(t),Yr(n.translate,t.translate,e,r),Zr(n.rotate,t.rota\
te,e,r),Vr(n.skew,t.skew,e,r),Xr(n.scale,t.scale,e,r),n=t=null,function(n){for(\
var t,u=-1,i=r.length;++u<i;)e[(t=r[u]).i]=t.x(n);return e.join(\"\")}}function B\
r(n,t){return t=(t-=n=+n)||1/t,function(e){return(e-n)/t}}function Wr(n,t){retu\
rn t=(t-=n=+n)||1/t,function(e){return Math.max(0,Math.min(1,(e-n)/t))}}functio\
n Jr(n){for(var t=n.source,e=n.target,r=Kr(t,e),u=[t];t!==r;)t=t.parent,u.push(\
t);for(var i=u.length;e!==r;)u.splice(i,0,e),e=e.parent;return u}function Gr(n)\
{for(var t=[],e=n.parent;null!=e;)t.push(n),n=e,e=e.parent;return t.push(n),t}f\
unction Kr(n,t){if(n===t)return n;for(var e=Gr(n),r=Gr(t),u=e.pop(),i=r.pop(),a\
=null;u===i;)a=u,u=e.pop(),i=r.pop();return a}function Qr(n){n.fixed|=2}functio\
n nu(n){n.fixed&=-7}function tu(n){n.fixed|=4,n.px=n.x,n.py=n.y}function eu(n){\
n.fixed&=-5}function ru(n,t,e){var r=0,u=0;if(n.charge=0,!n.leaf)for(var i,a=n.\
nodes,o=a.length,l=-1;++l<o;)i=a[l],null!=i&&(ru(i,t,e),n.charge+=i.charge,r+=i\
.charge*i.cx,u+=i.charge*i.cy);if(n.point){n.leaf||(n.point.x+=Math.random()-.5\
,n.point.y+=Math.random()-.5);var c=t*e[n.point.index];n.charge+=n.pointCharge=\
c,r+=c*n.point.x,u+=c*n.point.y}n.cx=r/n.charge,n.cy=u/n.charge}function uu(n,t\
){return oa.rebind(n,t,\"sort\",\"children\",\"value\"),n.nodes=n,n.links=su,n}functi\
on iu(n,t){for(var e=[n];null!=(n=e.pop());)if(t(n),(u=n.children)&&(r=u.length\
))for(var r,u;--r>=0;)e.push(u[r])}function au(n,t){for(var e=[n],r=[];null!=(n\
=e.pop());)if(r.push(n),(i=n.children)&&(u=i.length))for(var u,i,a=-1;++a<u;)e.\
push(i[a]);for(;null!=(n=r.pop());)t(n)}function ou(n){return n.children}functi\
on lu(n){return n.value}function cu(n,t){return t.value-n.value}function su(n){\
return oa.merge(n.map(function(n){return(n.children||[]).map(function(t){return\
{source:n,target:t}})}))}function fu(n){return n.x}function hu(n){return n.y}fu\
nction gu(n,t,e){n.y0=t,n.y=e}function pu(n){return oa.range(n.length)}function\
 vu(n){for(var t=-1,e=n[0].length,r=[];++t<e;)r[t]=0;return r}function du(n){fo\
r(var t,e=1,r=0,u=n[0][1],i=n.length;i>e;++e)(t=n[e][1])>u&&(r=e,u=t);return r}\
function mu(n){return n.reduce(yu,0)}function yu(n,t){return n+t[1]}function Mu\
(n,t){return xu(n,Math.ceil(Math.log(t.length)/Math.LN2+1))}function xu(n,t){fo\
r(var e=-1,r=+n[0],u=(n[1]-r)/t,i=[];++e<=t;)i[e]=u*e+r;return i}function bu(n)\
{return[oa.min(n),oa.max(n)]}function _u(n,t){return n.value-t.value}function w\
u(n,t){var e=n._pack_next;n._pack_next=t,t._pack_prev=n,t._pack_next=e,e._pack_\
prev=t}function Su(n,t){n._pack_next=t,t._pack_prev=n}function ku(n,t){var e=t.\
x-n.x,r=t.y-n.y,u=n.r+t.r;return.999*u*u>e*e+r*r}function Nu(n){function t(n){s\
=Math.min(n.x-n.r,s),f=Math.max(n.x+n.r,f),h=Math.min(n.y-n.r,h),g=Math.max(n.y\
+n.r,g)}if((e=n.children)&&(c=e.length)){var e,r,u,i,a,o,l,c,s=1/0,f=-(1/0),h=1\
/0,g=-(1/0);if(e.forEach(Eu),r=e[0],r.x=-r.r,r.y=0,t(r),c>1&&(u=e[1],u.x=u.r,u.\
y=0,t(u),c>2))for(i=e[2],zu(r,u,i),t(i),wu(r,i),r._pack_prev=i,wu(i,u),u=r._pac\
k_next,a=3;c>a;a++){zu(r,u,i=e[a]);var p=0,v=1,d=1;for(o=u._pack_next;o!==u;o=o\
._pack_next,v++)if(ku(o,i)){p=1;break}if(1==p)for(l=r._pack_prev;l!==o._pack_pr\
ev&&!ku(l,i);l=l._pack_prev,d++);p?(d>v||v==d&&u.r<r.r?Su(r,u=o):Su(r=l,u),a--)\
:(wu(r,i),u=i,t(i))}var m=(s+f)/2,y=(h+g)/2,M=0;for(a=0;c>a;a++)i=e[a],i.x-=m,i\
.y-=y,M=Math.max(M,i.r+Math.sqrt(i.x*i.x+i.y*i.y));n.r=M,e.forEach(Au)}}functio\
n Eu(n){n._pack_next=n._pack_prev=n}function Au(n){delete n._pack_next,delete n\
._pack_prev}function Cu(n,t,e,r){var u=n.children;if(n.x=t+=r*n.x,n.y=e+=r*n.y,\
n.r*=r,u)for(var i=-1,a=u.length;++i<a;)Cu(u[i],t,e,r)}function zu(n,t,e){var r\
=n.r+e.r,u=t.x-n.x,i=t.y-n.y;if(r&&(u||i)){var a=t.r+e.r,o=u*u+i*i;a*=a,r*=r;va\
r l=.5+(r-a)/(2*o),c=Math.sqrt(Math.max(0,2*a*(r+o)-(r-=o)*r-a*a))/(2*o);e.x=n.\
x+l*u+c*i,e.y=n.y+l*i-c*u}else e.x=n.x+r,e.y=n.y}function Lu(n,t){return n.pare\
nt==t.parent?1:2}function qu(n){var t=n.children;return t.length?t[0]:n.t}funct\
ion Tu(n){var t,e=n.children;return(t=e.length)?e[t-1]:n.t}function Ru(n,t,e){v\
ar r=e/(t.i-n.i);t.c-=r,t.s+=e,n.c+=r,t.z+=e,t.m+=e}function Du(n){for(var t,e=\
0,r=0,u=n.children,i=u.length;--i>=0;)t=u[i],t.z+=e,t.m+=e,e+=t.s+(r+=t.c)}func\
tion Pu(n,t,e){return n.a.parent===t.parent?n.a:e}function Uu(n){return 1+oa.ma\
x(n,function(n){return n.y})}function ju(n){return n.reduce(function(n,t){retur\
n n+t.x},0)/n.length}function Fu(n){var t=n.children;return t&&t.length?Fu(t[0]\
):n}function Hu(n){var t,e=n.children;return e&&(t=e.length)?Hu(e[t-1]):n}funct\
ion Ou(n){return{x:n.x,y:n.y,dx:n.dx,dy:n.dy}}function Iu(n,t){var e=n.x+t[3],r\
=n.y+t[0],u=n.dx-t[1]-t[3],i=n.dy-t[0]-t[2];return 0>u&&(e+=u/2,u=0),0>i&&(r+=i\
/2,i=0),{x:e,y:r,dx:u,dy:i}}function Yu(n){var t=n[0],e=n[n.length-1];return e>\
t?[t,e]:[e,t]}function Zu(n){return n.rangeExtent?n.rangeExtent():Yu(n.range())\
}function Vu(n,t,e,r){var u=e(n[0],n[1]),i=r(t[0],t[1]);return function(n){retu\
rn i(u(n))}}function Xu(n,t){var e,r=0,u=n.length-1,i=n[r],a=n[u];return i>a&&(\
e=r,r=u,u=e,e=i,i=a,a=e),n[r]=t.floor(i),n[u]=t.ceil(a),n}function $u(n){return\
 n?{floor:function(t){return Math.floor(t/n)*n},ceil:function(t){return Math.ce\
il(t/n)*n}}:Sl}function Bu(n,t,e,r){var u=[],i=[],a=0,o=Math.min(n.length,t.len\
gth)-1;for(n[o]<n[0]&&(n=n.slice().reverse(),t=t.slice().reverse());++a<=o;)u.p\
ush(e(n[a-1],n[a])),i.push(r(t[a-1],t[a]));return function(t){var e=oa.bisect(n\
,t,1,o)-1;return i[e](u[e](t))}}function Wu(n,t,e,r){function u(){var u=Math.mi\
n(n.length,t.length)>2?Bu:Vu,l=r?Wr:Br;return a=u(n,t,l,e),o=u(t,n,l,Mr),i}func\
tion i(n){return a(n)}var a,o;return i.invert=function(n){return o(n)},i.domain\
=function(t){return arguments.length?(n=t.map(Number),u()):n},i.range=function(\
n){return arguments.length?(t=n,u()):t},i.rangeRound=function(n){return i.range\
(n).interpolate(Ur)},i.clamp=function(n){return arguments.length?(r=n,u()):r},i\
.interpolate=function(n){return arguments.length?(e=n,u()):e},i.ticks=function(\
t){return Qu(n,t)},i.tickFormat=function(t,e){return ni(n,t,e)},i.nice=function\
(t){return Gu(n,t),u()},i.copy=function(){return Wu(n,t,e,r)},u()}function Ju(n\
,t){return oa.rebind(n,t,\"range\",\"rangeRound\",\"interpolate\",\"clamp\")}function G\
u(n,t){return Xu(n,$u(Ku(n,t)[2])),Xu(n,$u(Ku(n,t)[2])),n}function Ku(n,t){null\
==t&&(t=10);var e=Yu(n),r=e[1]-e[0],u=Math.pow(10,Math.floor(Math.log(r/t)/Math\
.LN10)),i=t/r*u;return.15>=i?u*=10:.35>=i?u*=5:.75>=i&&(u*=2),e[0]=Math.ceil(e[\
0]/u)*u,e[1]=Math.floor(e[1]/u)*u+.5*u,e[2]=u,e}function Qu(n,t){return oa.rang\
e.apply(oa,Ku(n,t))}function ni(n,t,e){var r=Ku(n,t);if(e){var u=fo.exec(e);if(\
u.shift(),\"s\"===u[8]){var i=oa.formatPrefix(Math.max(Ma(r[0]),Ma(r[1])));return\
 u[7]||(u[7]=\".\"+ti(i.scale(r[2]))),u[8]=\"f\",e=oa.format(u.join(\"\")),function(n\
){return e(i.scale(n))+i.symbol}}u[7]||(u[7]=\".\"+ei(u[8],r)),e=u.join(\"\")}else \
e=\",.\"+ti(r[2])+\"f\";return oa.format(e)}function ti(n){return-Math.floor(Math.l\
og(n)/Math.LN10+.01)}function ei(n,t){var e=ti(t[2]);return n in kl?Math.abs(e-\
ti(Math.max(Ma(t[0]),Ma(t[1]))))+ +(\"e\"!==n):e-2*(\"%\"===n)}function ri(n,t,e,r)\
{function u(n){return(e?Math.log(0>n?0:n):-Math.log(n>0?0:-n))/Math.log(t)}func\
tion i(n){return e?Math.pow(t,n):-Math.pow(t,-n)}function a(t){return n(u(t))}r\
eturn a.invert=function(t){return i(n.invert(t))},a.domain=function(t){return a\
rguments.length?(e=t[0]>=0,n.domain((r=t.map(Number)).map(u)),a):r},a.base=func\
tion(e){return arguments.length?(t=+e,n.domain(r.map(u)),a):t},a.nice=function(\
){var t=Xu(r.map(u),e?Math:El);return n.domain(t),r=t.map(i),a},a.ticks=functio\
n(){var n=Yu(r),a=[],o=n[0],l=n[1],c=Math.floor(u(o)),s=Math.ceil(u(l)),f=t%1?2\
:t;if(isFinite(s-c)){if(e){for(;s>c;c++)for(var h=1;f>h;h++)a.push(i(c)*h);a.pu\
sh(i(c))}else for(a.push(i(c));c++<s;)for(var h=f-1;h>0;h--)a.push(i(c)*h);for(\
c=0;a[c]<o;c++);for(s=a.length;a[s-1]>l;s--);a=a.slice(c,s)}return a},a.tickFor\
mat=function(n,e){if(!arguments.length)return Nl;arguments.length<2?e=Nl:\"funct\
ion\"!=typeof e&&(e=oa.format(e));var r=Math.max(1,t*n/a.ticks().length);return \
function(n){var a=n/i(Math.round(u(n)));return t-.5>a*t&&(a*=t),r>=a?e(n):\"\"}},\
a.copy=function(){return ri(n.copy(),t,e,r)},Ju(a,n)}function ui(n,t,e){functio\
n r(t){return n(u(t))}var u=ii(t),i=ii(1/t);return r.invert=function(t){return \
i(n.invert(t))},r.domain=function(t){return arguments.length?(n.domain((e=t.map\
(Number)).map(u)),r):e},r.ticks=function(n){return Qu(e,n)},r.tickFormat=functi\
on(n,t){return ni(e,n,t)},r.nice=function(n){return r.domain(Gu(e,n))},r.expone\
nt=function(a){return arguments.length?(u=ii(t=a),i=ii(1/t),n.domain(e.map(u)),\
r):t},r.copy=function(){return ui(n.copy(),t,e)},Ju(r,n)}function ii(n){return \
function(t){return 0>t?-Math.pow(-t,n):Math.pow(t,n)}}function ai(n,t){function\
 e(e){return i[((u.get(e)||(\"range\"===t.t?u.set(e,n.push(e)):NaN))-1)%i.length]\
}function r(t,e){return oa.range(n.length).map(function(n){return t+e*n})}var u\
,i,a;return e.domain=function(r){if(!arguments.length)return n;n=[],u=new c;for\
(var i,a=-1,o=r.length;++a<o;)u.has(i=r[a])||u.set(i,n.push(i));return e[t.t].a\
pply(e,t.a)},e.range=function(n){return arguments.length?(i=n,a=0,t={t:\"range\",\
a:arguments},e):i},e.rangePoints=function(u,o){arguments.length<2&&(o=0);var l=\
u[0],c=u[1],s=n.length<2?(l=(l+c)/2,0):(c-l)/(n.length-1+o);return i=r(l+s*o/2,\
s),a=0,t={t:\"rangePoints\",a:arguments},e},e.rangeRoundPoints=function(u,o){argu\
ments.length<2&&(o=0);var l=u[0],c=u[1],s=n.length<2?(l=c=Math.round((l+c)/2),0\
):(c-l)/(n.length-1+o)|0;return i=r(l+Math.round(s*o/2+(c-l-(n.length-1+o)*s)/2\
),s),a=0,t={t:\"rangeRoundPoints\",a:arguments},e},e.rangeBands=function(u,o,l){a\
rguments.length<2&&(o=0),arguments.length<3&&(l=o);var c=u[1]<u[0],s=u[c-0],f=u\
[1-c],h=(f-s)/(n.length-o+2*l);return i=r(s+h*l,h),c&&i.reverse(),a=h*(1-o),t={\
t:\"rangeBands\",a:arguments},e},e.rangeRoundBands=function(u,o,l){arguments.leng\
th<2&&(o=0),arguments.length<3&&(l=o);var c=u[1]<u[0],s=u[c-0],f=u[1-c],h=Math.\
floor((f-s)/(n.length-o+2*l));return i=r(s+Math.round((f-s-(n.length-o)*h)/2),h\
),c&&i.reverse(),a=Math.round(h*(1-o)),t={t:\"rangeRoundBands\",a:arguments},e},e\
.rangeBand=function(){return a},e.rangeExtent=function(){return Yu(t.a[0])},e.c\
opy=function(){return ai(n,t)},e.domain(n)}function oi(n,t){function i(){var e=\
0,r=t.length;for(o=[];++e<r;)o[e-1]=oa.quantile(n,e/r);return a}function a(n){r\
eturn isNaN(n=+n)?void 0:t[oa.bisect(o,n)]}var o;return a.domain=function(t){re\
turn arguments.length?(n=t.map(r).filter(u).sort(e),i()):n},a.range=function(n)\
{return arguments.length?(t=n,i()):t},a.quantiles=function(){return o},a.invert\
Extent=function(e){return e=t.indexOf(e),0>e?[NaN,NaN]:[e>0?o[e-1]:n[0],e<o.len\
gth?o[e]:n[n.length-1]]},a.copy=function(){return oi(n,t)},i()}function li(n,t,\
e){function r(t){return e[Math.max(0,Math.min(a,Math.floor(i*(t-n))))]}function\
 u(){return i=e.length/(t-n),a=e.length-1,r}var i,a;return r.domain=function(e)\
{return arguments.length?(n=+e[0],t=+e[e.length-1],u()):[n,t]},r.range=function\
(n){return arguments.length?(e=n,u()):e},r.invertExtent=function(t){return t=e.\
indexOf(t),t=0>t?NaN:t/i+n,[t,t+1/i]},r.copy=function(){return li(n,t,e)},u()}f\
unction ci(n,t){function e(e){return e>=e?t[oa.bisect(n,e)]:void 0}return e.dom\
ain=function(t){return arguments.length?(n=t,e):n},e.range=function(n){return a\
rguments.length?(t=n,e):t},e.invertExtent=function(e){return e=t.indexOf(e),[n[\
e-1],n[e]]},e.copy=function(){return ci(n,t)},e}function si(n){function t(n){re\
turn+n}return t.invert=t,t.domain=t.range=function(e){return arguments.length?(\
n=e.map(t),t):n},t.ticks=function(t){return Qu(n,t)},t.tickFormat=function(t,e)\
{return ni(n,t,e)},t.copy=function(){return si(n)},t}function fi(){return 0}fun\
ction hi(n){return n.innerRadius}function gi(n){return n.outerRadius}function p\
i(n){return n.startAngle}function vi(n){return n.endAngle}function di(n){return\
 n&&n.padAngle}function mi(n,t,e,r){return(n-e)*t-(t-r)*n>0?0:1}function yi(n,t\
,e,r,u){var i=n[0]-t[0],a=n[1]-t[1],o=(u?r:-r)/Math.sqrt(i*i+a*a),l=o*a,c=-o*i,\
s=n[0]+l,f=n[1]+c,h=t[0]+l,g=t[1]+c,p=(s+h)/2,v=(f+g)/2,d=h-s,m=g-f,y=d*d+m*m,M\
=e-r,x=s*g-h*f,b=(0>m?-1:1)*Math.sqrt(Math.max(0,M*M*y-x*x)),_=(x*m-d*b)/y,w=(-\
x*d-m*b)/y,S=(x*m+d*b)/y,k=(-x*d+m*b)/y,N=_-p,E=w-v,A=S-p,C=k-v;return N*N+E*E>\
A*A+C*C&&(_=S,w=k),[[_-l,w-c],[_*e/M,w*e/M]]}function Mi(n){function t(t){funct\
ion a(){c.push(\"M\",i(n(s),o))}for(var l,c=[],s=[],f=-1,h=t.length,g=En(e),p=En(\
r);++f<h;)u.call(this,l=t[f],f)?s.push([+g.call(this,l,f),+p.call(this,l,f)]):s\
.length&&(a(),s=[]);return s.length&&a(),c.length?c.join(\"\"):null}var e=Ce,r=ze\
,u=zt,i=xi,a=i.key,o=.7;return t.x=function(n){return arguments.length?(e=n,t):\
e},t.y=function(n){return arguments.length?(r=n,t):r},t.defined=function(n){ret\
urn arguments.length?(u=n,t):u},t.interpolate=function(n){return arguments.leng\
th?(a=\"function\"==typeof n?i=n:(i=Tl.get(n)||xi).key,t):a},t.tension=function(n\
){return arguments.length?(o=n,t):o},t}function xi(n){return n.length>1?n.join(\
\"L\"):n+\"Z\"}function bi(n){return n.join(\"L\")+\"Z\"}function _i(n){for(var t=0,e=n\
.length,r=n[0],u=[r[0],\",\",r[1]];++t<e;)u.push(\"H\",(r[0]+(r=n[t])[0])/2,\"V\",r[1\
]);return e>1&&u.push(\"H\",r[0]),u.join(\"\")}function wi(n){for(var t=0,e=n.lengt\
h,r=n[0],u=[r[0],\",\",r[1]];++t<e;)u.push(\"V\",(r=n[t])[1],\"H\",r[0]);return u.joi\
n(\"\")}function Si(n){for(var t=0,e=n.length,r=n[0],u=[r[0],\",\",r[1]];++t<e;)u.p\
ush(\"H\",(r=n[t])[0],\"V\",r[1]);return u.join(\"\")}function ki(n,t){return n.lengt\
h<4?xi(n):n[1]+Ai(n.slice(1,-1),Ci(n,t))}function Ni(n,t){return n.length<3?bi(\
n):n[0]+Ai((n.push(n[0]),n),Ci([n[n.length-2]].concat(n,[n[1]]),t))}function Ei\
(n,t){return n.length<3?xi(n):n[0]+Ai(n,Ci(n,t))}function Ai(n,t){if(t.length<1\
||n.length!=t.length&&n.length!=t.length+2)return xi(n);var e=n.length!=t.lengt\
h,r=\"\",u=n[0],i=n[1],a=t[0],o=a,l=1;if(e&&(r+=\"Q\"+(i[0]-2*a[0]/3)+\",\"+(i[1]-2*a\
[1]/3)+\",\"+i[0]+\",\"+i[1],u=n[1],l=2),t.length>1){o=t[1],i=n[l],l++,r+=\"C\"+(u[0]\
+a[0])+\",\"+(u[1]+a[1])+\",\"+(i[0]-o[0])+\",\"+(i[1]-o[1])+\",\"+i[0]+\",\"+i[1];for(va\
r c=2;c<t.length;c++,l++)i=n[l],o=t[c],r+=\"S\"+(i[0]-o[0])+\",\"+(i[1]-o[1])+\",\"+i\
[0]+\",\"+i[1]}if(e){var s=n[l];r+=\"Q\"+(i[0]+2*o[0]/3)+\",\"+(i[1]+2*o[1]/3)+\",\"+s[\
0]+\",\"+s[1]}return r}function Ci(n,t){for(var e,r=[],u=(1-t)/2,i=n[0],a=n[1],o=\
1,l=n.length;++o<l;)e=i,i=a,a=n[o],r.push([u*(a[0]-e[0]),u*(a[1]-e[1])]);return\
 r}function zi(n){if(n.length<3)return xi(n);var t=1,e=n.length,r=n[0],u=r[0],i\
=r[1],a=[u,u,u,(r=n[1])[0]],o=[i,i,i,r[1]],l=[u,\",\",i,\"L\",Ri(Pl,a),\",\",Ri(Pl,o)\
];for(n.push(n[e-1]);++t<=e;)r=n[t],a.shift(),a.push(r[0]),o.shift(),o.push(r[1\
]),Di(l,a,o);return n.pop(),l.push(\"L\",r),l.join(\"\")}function Li(n){if(n.length\
<4)return xi(n);for(var t,e=[],r=-1,u=n.length,i=[0],a=[0];++r<3;)t=n[r],i.push\
(t[0]),a.push(t[1]);for(e.push(Ri(Pl,i)+\",\"+Ri(Pl,a)),--r;++r<u;)t=n[r],i.shift\
(),i.push(t[0]),a.shift(),a.push(t[1]),Di(e,i,a);return e.join(\"\")}function qi(\
n){for(var t,e,r=-1,u=n.length,i=u+4,a=[],o=[];++r<4;)e=n[r%u],a.push(e[0]),o.p\
ush(e[1]);for(t=[Ri(Pl,a),\",\",Ri(Pl,o)],--r;++r<i;)e=n[r%u],a.shift(),a.push(e[\
0]),o.shift(),o.push(e[1]),Di(t,a,o);return t.join(\"\")}function Ti(n,t){var e=n\
.length-1;if(e)for(var r,u,i=n[0][0],a=n[0][1],o=n[e][0]-i,l=n[e][1]-a,c=-1;++c\
<=e;)r=n[c],u=c/e,r[0]=t*r[0]+(1-t)*(i+u*o),r[1]=t*r[1]+(1-t)*(a+u*l);return zi\
(n)}function Ri(n,t){return n[0]*t[0]+n[1]*t[1]+n[2]*t[2]+n[3]*t[3]}function Di\
(n,t,e){n.push(\"C\",Ri(Rl,t),\",\",Ri(Rl,e),\",\",Ri(Dl,t),\",\",Ri(Dl,e),\",\",Ri(Pl,t)\
,\",\",Ri(Pl,e))}function Pi(n,t){return(t[1]-n[1])/(t[0]-n[0])}function Ui(n){fo\
r(var t=0,e=n.length-1,r=[],u=n[0],i=n[1],a=r[0]=Pi(u,i);++t<e;)r[t]=(a+(a=Pi(u\
=i,i=n[t+1])))/2;return r[t]=a,r}function ji(n){for(var t,e,r,u,i=[],a=Ui(n),o=\
-1,l=n.length-1;++o<l;)t=Pi(n[o],n[o+1]),Ma(t)<Pa?a[o]=a[o+1]=0:(e=a[o]/t,r=a[o\
+1]/t,u=e*e+r*r,u>9&&(u=3*t/Math.sqrt(u),a[o]=u*e,a[o+1]=u*r));for(o=-1;++o<=l;\
)u=(n[Math.min(l,o+1)][0]-n[Math.max(0,o-1)][0])/(6*(1+a[o]*a[o])),i.push([u||0\
,a[o]*u||0]);return i}function Fi(n){return n.length<3?xi(n):n[0]+Ai(n,ji(n))}f\
unction Hi(n){for(var t,e,r,u=-1,i=n.length;++u<i;)t=n[u],e=t[0],r=t[1]-Oa,t[0]\
=e*Math.cos(r),t[1]=e*Math.sin(r);return n}function Oi(n){function t(t){functio\
n l(){v.push(\"M\",o(n(m),f),s,c(n(d.reverse()),f),\"Z\")}for(var h,g,p,v=[],d=[],m\
=[],y=-1,M=t.length,x=En(e),b=En(u),_=e===r?function(){
return g}:En(r),w=u===i?function(){return p}:En(i);++y<M;)a.call(this,h=t[y],y)\
?(d.push([g=+x.call(this,h,y),p=+b.call(this,h,y)]),m.push([+_.call(this,h,y),+\
w.call(this,h,y)])):d.length&&(l(),d=[],m=[]);return d.length&&l(),v.length?v.j\
oin(\"\"):null}var e=Ce,r=Ce,u=0,i=ze,a=zt,o=xi,l=o.key,c=o,s=\"L\",f=.7;return t.x\
=function(n){return arguments.length?(e=r=n,t):r},t.x0=function(n){return argum\
ents.length?(e=n,t):e},t.x1=function(n){return arguments.length?(r=n,t):r},t.y=\
function(n){return arguments.length?(u=i=n,t):i},t.y0=function(n){return argume\
nts.length?(u=n,t):u},t.y1=function(n){return arguments.length?(i=n,t):i},t.def\
ined=function(n){return arguments.length?(a=n,t):a},t.interpolate=function(n){r\
eturn arguments.length?(l=\"function\"==typeof n?o=n:(o=Tl.get(n)||xi).key,c=o.re\
verse||o,s=o.closed?\"M\":\"L\",t):l},t.tension=function(n){return arguments.length\
?(f=n,t):f},t}function Ii(n){return n.radius}function Yi(n){return[n.x,n.y]}fun\
ction Zi(n){return function(){var t=n.apply(this,arguments),e=t[0],r=t[1]-Oa;re\
turn[e*Math.cos(r),e*Math.sin(r)]}}function Vi(){return 64}function Xi(){return\
\"circle\"}function $i(n){var t=Math.sqrt(n/ja);return\"M0,\"+t+\"A\"+t+\",\"+t+\" 0 1,1\
 0,\"+-t+\"A\"+t+\",\"+t+\" 0 1,1 0,\"+t+\"Z\"}function Bi(n){return function(){var t,e,\
r;(t=this[n])&&(r=t[e=t.active])&&(r.timer.c=null,r.timer.t=NaN,--t.count?delet\
e t[e]:delete this[n],t.active+=.5,r.event&&r.event.interrupt.call(this,this.__\
data__,r.index))}}function Wi(n,t,e){return Sa(n,Yl),n.namespace=t,n.id=e,n}fun\
ction Ji(n,t,e,r){var u=n.id,i=n.namespace;return Y(n,\"function\"==typeof e?func\
tion(n,a,o){n[i][u].tween.set(t,r(e.call(n,n.__data__,a,o)))}:(e=r(e),function(\
n){n[i][u].tween.set(t,e)}))}function Gi(n){return null==n&&(n=\"\"),function(){t\
his.textContent=n}}function Ki(n){return null==n?\"__transition__\":\"__transition\
_\"+n+\"__\"}function Qi(n,t,e,r,u){function i(n){var t=v.delay;return s.t=t+l,n>=\
t?a(n-t):void(s.c=a)}function a(e){var u=p.active,i=p[u];i&&(i.timer.c=null,i.t\
imer.t=NaN,--p.count,delete p[u],i.event&&i.event.interrupt.call(n,n.__data__,i\
.index));for(var a in p)if(r>+a){var c=p[a];c.timer.c=null,c.timer.t=NaN,--p.co\
unt,delete p[a]}s.c=o,qn(function(){return s.c&&o(e||1)&&(s.c=null,s.t=NaN),1},\
0,l),p.active=r,v.event&&v.event.start.call(n,n.__data__,t),g=[],v.tween.forEac\
h(function(e,r){(r=r.call(n,n.__data__,t))&&g.push(r)}),h=v.ease,f=v.duration}f\
unction o(u){for(var i=u/f,a=h(i),o=g.length;o>0;)g[--o].call(n,a);return i>=1?\
(v.event&&v.event.end.call(n,n.__data__,t),--p.count?delete p[r]:delete n[e],1)\
:void 0}var l,s,f,h,g,p=n[e]||(n[e]={active:0,count:0}),v=p[r];v||(l=u.time,s=q\
n(i,0,l),v=p[r]={tween:new c,time:l,timer:s,delay:u.delay,duration:u.duration,e\
ase:u.ease,index:t},u=null,++p.count)}function na(n,t,e){n.attr(\"transform\",fun\
ction(n){var r=t(n);return\"translate(\"+(isFinite(r)?r:e(n))+\",0)\"})}function ta\
(n,t,e){n.attr(\"transform\",function(n){var r=t(n);return\"translate(0,\"+(isFinit\
e(r)?r:e(n))+\")\"})}function ea(n){return n.toISOString()}function ra(n,t,e){fun\
ction r(t){return n(t)}function u(n,e){var r=n[1]-n[0],u=r/e,i=oa.bisect(Kl,u);\
return i==Kl.length?[t.year,Ku(n.map(function(n){return n/31536e6}),e)[2]]:i?t[\
u/Kl[i-1]<Kl[i]/u?i-1:i]:[tc,Ku(n,e)[2]]}return r.invert=function(t){return ua(\
n.invert(t))},r.domain=function(t){return arguments.length?(n.domain(t),r):n.do\
main().map(ua)},r.nice=function(n,t){function e(e){return!isNaN(e)&&!n.range(e,\
ua(+e+1),t).length}var i=r.domain(),a=Yu(i),o=null==n?u(a,10):\"number\"==typeof \
n&&u(a,n);return o&&(n=o[0],t=o[1]),r.domain(Xu(i,t>1?{floor:function(t){for(;e\
(t=n.floor(t));)t=ua(t-1);return t},ceil:function(t){for(;e(t=n.ceil(t));)t=ua(\
+t+1);return t}}:n))},r.ticks=function(n,t){var e=Yu(r.domain()),i=null==n?u(e,\
10):\"number\"==typeof n?u(e,n):!n.range&&[{range:n},t];return i&&(n=i[0],t=i[1])\
,n.range(e[0],ua(+e[1]+1),1>t?1:t)},r.tickFormat=function(){return e},r.copy=fu\
nction(){return ra(n.copy(),t,e)},Ju(r,n)}function ua(n){return new Date(n)}fun\
ction ia(n){return JSON.parse(n.responseText)}function aa(n){var t=sa.createRan\
ge();return t.selectNode(sa.body),t.createContextualFragment(n.responseText)}va\
r oa={version:\"3.5.16\"},la=[].slice,ca=function(n){return la.call(n)},sa=this.d\
ocument;if(sa)try{ca(sa.documentElement.childNodes)[0].nodeType}catch(fa){ca=fu\
nction(n){for(var t=n.length,e=new Array(t);t--;)e[t]=n[t];return e}}if(Date.no\
w||(Date.now=function(){return+new Date}),sa)try{sa.createElement(\"DIV\").style.\
setProperty(\"opacity\",0,\"\")}catch(ha){var ga=this.Element.prototype,pa=ga.setAt\
tribute,va=ga.setAttributeNS,da=this.CSSStyleDeclaration.prototype,ma=da.setPro\
perty;ga.setAttribute=function(n,t){pa.call(this,n,t+\"\")},ga.setAttributeNS=fun\
ction(n,t,e){va.call(this,n,t,e+\"\")},da.setProperty=function(n,t,e){ma.call(thi\
s,n,t+\"\",e)}}oa.ascending=e,oa.descending=function(n,t){return n>t?-1:t>n?1:t>=\
n?0:NaN},oa.min=function(n,t){var e,r,u=-1,i=n.length;if(1===arguments.length){\
for(;++u<i;)if(null!=(r=n[u])&&r>=r){e=r;break}for(;++u<i;)null!=(r=n[u])&&e>r&\
&(e=r)}else{for(;++u<i;)if(null!=(r=t.call(n,n[u],u))&&r>=r){e=r;break}for(;++u\
<i;)null!=(r=t.call(n,n[u],u))&&e>r&&(e=r)}return e},oa.max=function(n,t){var e\
,r,u=-1,i=n.length;if(1===arguments.length){for(;++u<i;)if(null!=(r=n[u])&&r>=r\
){e=r;break}for(;++u<i;)null!=(r=n[u])&&r>e&&(e=r)}else{for(;++u<i;)if(null!=(r\
=t.call(n,n[u],u))&&r>=r){e=r;break}for(;++u<i;)null!=(r=t.call(n,n[u],u))&&r>e\
&&(e=r)}return e},oa.extent=function(n,t){var e,r,u,i=-1,a=n.length;if(1===argu\
ments.length){for(;++i<a;)if(null!=(r=n[i])&&r>=r){e=u=r;break}for(;++i<a;)null\
!=(r=n[i])&&(e>r&&(e=r),r>u&&(u=r))}else{for(;++i<a;)if(null!=(r=t.call(n,n[i],\
i))&&r>=r){e=u=r;break}for(;++i<a;)null!=(r=t.call(n,n[i],i))&&(e>r&&(e=r),r>u&\
&(u=r))}return[e,u]},oa.sum=function(n,t){var e,r=0,i=n.length,a=-1;if(1===argu\
ments.length)for(;++a<i;)u(e=+n[a])&&(r+=e);else for(;++a<i;)u(e=+t.call(n,n[a]\
,a))&&(r+=e);return r},oa.mean=function(n,t){var e,i=0,a=n.length,o=-1,l=a;if(1\
===arguments.length)for(;++o<a;)u(e=r(n[o]))?i+=e:--l;else for(;++o<a;)u(e=r(t.\
call(n,n[o],o)))?i+=e:--l;return l?i/l:void 0},oa.quantile=function(n,t){var e=\
(n.length-1)*t+1,r=Math.floor(e),u=+n[r-1],i=e-r;return i?u+i*(n[r]-u):u},oa.me\
dian=function(n,t){var i,a=[],o=n.length,l=-1;if(1===arguments.length)for(;++l<\
o;)u(i=r(n[l]))&&a.push(i);else for(;++l<o;)u(i=r(t.call(n,n[l],l)))&&a.push(i)\
;return a.length?oa.quantile(a.sort(e),.5):void 0},oa.variance=function(n,t){va\
r e,i,a=n.length,o=0,l=0,c=-1,s=0;if(1===arguments.length)for(;++c<a;)u(e=r(n[c\
]))&&(i=e-o,o+=i/++s,l+=i*(e-o));else for(;++c<a;)u(e=r(t.call(n,n[c],c)))&&(i=\
e-o,o+=i/++s,l+=i*(e-o));return s>1?l/(s-1):void 0},oa.deviation=function(){var\
 n=oa.variance.apply(this,arguments);return n?Math.sqrt(n):n};var ya=i(e);oa.bi\
sectLeft=ya.left,oa.bisect=oa.bisectRight=ya.right,oa.bisector=function(n){retu\
rn i(1===n.length?function(t,r){return e(n(t),r)}:n)},oa.shuffle=function(n,t,e\
){(i=arguments.length)<3&&(e=n.length,2>i&&(t=0));for(var r,u,i=e-t;i;)u=Math.r\
andom()*i--|0,r=n[i+t],n[i+t]=n[u+t],n[u+t]=r;return n},oa.permute=function(n,t\
){for(var e=t.length,r=new Array(e);e--;)r[e]=n[t[e]];return r},oa.pairs=functi\
on(n){for(var t,e=0,r=n.length-1,u=n[0],i=new Array(0>r?0:r);r>e;)i[e]=[t=u,u=n\
[++e]];return i},oa.transpose=function(n){if(!(u=n.length))return[];for(var t=-\
1,e=oa.min(n,a),r=new Array(e);++t<e;)for(var u,i=-1,o=r[t]=new Array(u);++i<u;\
)o[i]=n[i][t];return r},oa.zip=function(){return oa.transpose(arguments)},oa.ke\
ys=function(n){var t=[];for(var e in n)t.push(e);return t},oa.values=function(n\
){var t=[];for(var e in n)t.push(n[e]);return t},oa.entries=function(n){var t=[\
];for(var e in n)t.push({key:e,value:n[e]});return t},oa.merge=function(n){for(\
var t,e,r,u=n.length,i=-1,a=0;++i<u;)a+=n[i].length;for(e=new Array(a);--u>=0;)\
for(r=n[u],t=r.length;--t>=0;)e[--a]=r[t];return e};var Ma=Math.abs;oa.range=fu\
nction(n,t,e){if(arguments.length<3&&(e=1,arguments.length<2&&(t=n,n=0)),(t-n)/\
e===1/0)throw new Error(\"infinite range\");var r,u=[],i=o(Ma(e)),a=-1;if(n*=i,t*\
=i,e*=i,0>e)for(;(r=n+e*++a)>t;)u.push(r/i);else for(;(r=n+e*++a)<t;)u.push(r/i\
);return u},oa.map=function(n,t){var e=new c;if(n instanceof c)n.forEach(functi\
on(n,t){e.set(n,t)});else if(Array.isArray(n)){var r,u=-1,i=n.length;if(1===arg\
uments.length)for(;++u<i;)e.set(u,n[u]);else for(;++u<i;)e.set(t.call(n,r=n[u],\
u),r)}else for(var a in n)e.set(a,n[a]);return e};var xa=\"__proto__\",ba=\"\\x00\"\
;l(c,{has:h,get:function(n){return this._[s(n)]},set:function(n,t){return this.\
_[s(n)]=t},remove:g,keys:p,values:function(){var n=[];for(var t in this._)n.pus\
h(this._[t]);return n},entries:function(){var n=[];for(var t in this._)n.push({\
key:f(t),value:this._[t]});return n},size:v,empty:d,forEach:function(n){for(var\
 t in this._)n.call(this,f(t),this._[t])}}),oa.nest=function(){function n(t,a,o\
){if(o>=i.length)return r?r.call(u,a):e?a.sort(e):a;for(var l,s,f,h,g=-1,p=a.le\
ngth,v=i[o++],d=new c;++g<p;)(h=d.get(l=v(s=a[g])))?h.push(s):d.set(l,[s]);retu\
rn t?(s=t(),f=function(e,r){s.set(e,n(t,r,o))}):(s={},f=function(e,r){s[e]=n(t,\
r,o)}),d.forEach(f),s}function t(n,e){if(e>=i.length)return n;var r=[],u=a[e++]\
;return n.forEach(function(n,u){r.push({key:n,values:t(u,e)})}),u?r.sort(functi\
on(n,t){return u(n.key,t.key)}):r}var e,r,u={},i=[],a=[];return u.map=function(\
t,e){return n(e,t,0)},u.entries=function(e){return t(n(oa.map,e,0),0)},u.key=fu\
nction(n){return i.push(n),u},u.sortKeys=function(n){return a[i.length-1]=n,u},\
u.sortValues=function(n){return e=n,u},u.rollup=function(n){return r=n,u},u},oa\
.set=function(n){var t=new m;if(n)for(var e=0,r=n.length;r>e;++e)t.add(n[e]);re\
turn t},l(m,{has:h,add:function(n){return this._[s(n+=\"\")]=!0,n},remove:g,value\
s:p,size:v,empty:d,forEach:function(n){for(var t in this._)n.call(this,f(t))}})\
,oa.behavior={},oa.rebind=function(n,t){for(var e,r=1,u=arguments.length;++r<u;\
)n[e=arguments[r]]=M(n,t,t[e]);return n};var _a=[\"webkit\",\"ms\",\"moz\",\"Moz\",\"o\",\
\"O\"];oa.dispatch=function(){for(var n=new _,t=-1,e=arguments.length;++t<e;)n[ar\
guments[t]]=w(n);return n},_.prototype.on=function(n,t){var e=n.indexOf(\".\"),r=\
\"\";if(e>=0&&(r=n.slice(e+1),n=n.slice(0,e)),n)return arguments.length<2?this[n]\
.on(r):this[n].on(r,t);if(2===arguments.length){if(null==t)for(n in this)this.h\
asOwnProperty(n)&&this[n].on(r,null);return this}},oa.event=null,oa.requote=fun\
ction(n){return n.replace(wa,\"\\\\$&\")};var wa=/[\\\\\\^\\$\\*\\+\\?\\|\\[\\]\\\
(\\)\\.\\{\\}]/g,Sa={}.__proto__?function(n,t){n.__proto__=t}:function(n,t){for\
(var e in t)n[e]=t[e]},ka=function(n,t){return t.querySelector(n)},Na=function(\
n,t){return t.querySelectorAll(n)},Ea=function(n,t){var e=n.matches||n[x(n,\"mat\
chesSelector\")];return(Ea=function(n,t){return e.call(n,t)})(n,t)};\"function\"==\
typeof Sizzle&&(ka=function(n,t){return Sizzle(n,t)[0]||null},Na=Sizzle,Ea=Sizz\
le.matchesSelector),oa.selection=function(){return oa.select(sa.documentElement\
)};var Aa=oa.selection.prototype=[];Aa.select=function(n){var t,e,r,u,i=[];n=A(\
n);for(var a=-1,o=this.length;++a<o;){i.push(t=[]),t.parentNode=(r=this[a]).par\
entNode;for(var l=-1,c=r.length;++l<c;)(u=r[l])?(t.push(e=n.call(u,u.__data__,l\
,a)),e&&\"__data__\"in u&&(e.__data__=u.__data__)):t.push(null)}return E(i)},Aa.s\
electAll=function(n){var t,e,r=[];n=C(n);for(var u=-1,i=this.length;++u<i;)for(\
var a=this[u],o=-1,l=a.length;++o<l;)(e=a[o])&&(r.push(t=ca(n.call(e,e.__data__\
,o,u))),t.parentNode=e);return E(r)};var Ca=\"http://www.w3.org/1999/xhtml\",za={\
svg:\"http://www.w3.org/2000/svg\",xhtml:Ca,xlink:\"http://www.w3.org/1999/xlink\",\
xml:\"http://www.w3.org/XML/1998/namespace\",xmlns:\"http://www.w3.org/2000/xmlns/\
\"};oa.ns={prefix:za,qualify:function(n){var t=n.indexOf(\":\"),e=n;return t>=0&&\"\
xmlns\"!==(e=n.slice(0,t))&&(n=n.slice(t+1)),za.hasOwnProperty(e)?{space:za[e],l\
ocal:n}:n}},Aa.attr=function(n,t){if(arguments.length<2){if(\"string\"==typeof n)\
{var e=this.node();return n=oa.ns.qualify(n),n.local?e.getAttributeNS(n.space,n\
.local):e.getAttribute(n)}for(t in n)this.each(z(t,n[t]));return this}return th\
is.each(z(n,t))},Aa.classed=function(n,t){if(arguments.length<2){if(\"string\"==t\
ypeof n){var e=this.node(),r=(n=T(n)).length,u=-1;if(t=e.classList){for(;++u<r;\
)if(!t.contains(n[u]))return!1}else for(t=e.getAttribute(\"class\");++u<r;)if(!q(\
n[u]).test(t))return!1;return!0}for(t in n)this.each(R(t,n[t]));return this}ret\
urn this.each(R(n,t))},Aa.style=function(n,e,r){var u=arguments.length;if(3>u){\
if(\"string\"!=typeof n){2>u&&(e=\"\");for(r in n)this.each(P(r,n[r],e));return thi\
s}if(2>u){var i=this.node();return t(i).getComputedStyle(i,null).getPropertyVal\
ue(n)}r=\"\"}return this.each(P(n,e,r))},Aa.property=function(n,t){if(arguments.l\
ength<2){if(\"string\"==typeof n)return this.node()[n];for(t in n)this.each(U(t,n\
[t]));return this}return this.each(U(n,t))},Aa.text=function(n){return argument\
s.length?this.each(\"function\"==typeof n?function(){var t=n.apply(this,arguments\
);this.textContent=null==t?\"\":t}:null==n?function(){this.textContent=\"\"}:functi\
on(){this.textContent=n}):this.node().textContent},Aa.html=function(n){return a\
rguments.length?this.each(\"function\"==typeof n?function(){var t=n.apply(this,ar\
guments);this.innerHTML=null==t?\"\":t}:null==n?function(){this.innerHTML=\"\"}:fun\
ction(){this.innerHTML=n}):this.node().innerHTML},Aa.append=function(n){return \
n=j(n),this.select(function(){return this.appendChild(n.apply(this,arguments))}\
)},Aa.insert=function(n,t){return n=j(n),t=A(t),this.select(function(){return t\
his.insertBefore(n.apply(this,arguments),t.apply(this,arguments)||null)})},Aa.r\
emove=function(){return this.each(F)},Aa.data=function(n,t){function e(n,e){var\
 r,u,i,a=n.length,f=e.length,h=Math.min(a,f),g=new Array(f),p=new Array(f),v=ne\
w Array(a);if(t){var d,m=new c,y=new Array(a);for(r=-1;++r<a;)(u=n[r])&&(m.has(\
d=t.call(u,u.__data__,r))?v[r]=u:m.set(d,u),y[r]=d);for(r=-1;++r<f;)(u=m.get(d=\
t.call(e,i=e[r],r)))?u!==!0&&(g[r]=u,u.__data__=i):p[r]=H(i),m.set(d,!0);for(r=\
-1;++r<a;)r in y&&m.get(y[r])!==!0&&(v[r]=n[r])}else{for(r=-1;++r<h;)u=n[r],i=e\
[r],u?(u.__data__=i,g[r]=u):p[r]=H(i);for(;f>r;++r)p[r]=H(e[r]);for(;a>r;++r)v[\
r]=n[r]}p.update=g,p.parentNode=g.parentNode=v.parentNode=n.parentNode,o.push(p\
),l.push(g),s.push(v)}var r,u,i=-1,a=this.length;if(!arguments.length){for(n=ne\
w Array(a=(r=this[0]).length);++i<a;)(u=r[i])&&(n[i]=u.__data__);return n}var o\
=Z([]),l=E([]),s=E([]);if(\"function\"==typeof n)for(;++i<a;)e(r=this[i],n.call(r\
,r.parentNode.__data__,i));else for(;++i<a;)e(r=this[i],n);return l.enter=funct\
ion(){return o},l.exit=function(){return s},l},Aa.datum=function(n){return argu\
ments.length?this.property(\"__data__\",n):this.property(\"__data__\")},Aa.filter=f\
unction(n){var t,e,r,u=[];\"function\"!=typeof n&&(n=O(n));for(var i=0,a=this.len\
gth;a>i;i++){u.push(t=[]),t.parentNode=(e=this[i]).parentNode;for(var o=0,l=e.l\
ength;l>o;o++)(r=e[o])&&n.call(r,r.__data__,o,i)&&t.push(r)}return E(u)},Aa.ord\
")

file(APPEND ${METABENCH_DIR}/d3.js "\
er=function(){for(var n=-1,t=this.length;++n<t;)for(var e,r=this[n],u=r.length-\
1,i=r[u];--u>=0;)(e=r[u])&&(i&&i!==e.nextSibling&&i.parentNode.insertBefore(e,i\
),i=e);return this},Aa.sort=function(n){n=I.apply(this,arguments);for(var t=-1,\
e=this.length;++t<e;)this[t].sort(n);return this.order()},Aa.each=function(n){r\
eturn Y(this,function(t,e,r){n.call(t,t.__data__,e,r)})},Aa.call=function(n){va\
r t=ca(arguments);return n.apply(t[0]=this,t),this},Aa.empty=function(){return!\
this.node()},Aa.node=function(){for(var n=0,t=this.length;t>n;n++)for(var e=thi\
s[n],r=0,u=e.length;u>r;r++){var i=e[r];if(i)return i}return null},Aa.size=func\
tion(){var n=0;return Y(this,function(){++n}),n};var La=[];oa.selection.enter=Z\
,oa.selection.enter.prototype=La,La.append=Aa.append,La.empty=Aa.empty,La.node=\
Aa.node,La.call=Aa.call,La.size=Aa.size,La.select=function(n){for(var t,e,r,u,i\
,a=[],o=-1,l=this.length;++o<l;){r=(u=this[o]).update,a.push(t=[]),t.parentNode\
=u.parentNode;for(var c=-1,s=u.length;++c<s;)(i=u[c])?(t.push(r[c]=e=n.call(u.p\
arentNode,i.__data__,c,o)),e.__data__=i.__data__):t.push(null)}return E(a)},La.\
insert=function(n,t){return arguments.length<2&&(t=V(this)),Aa.insert.call(this\
,n,t)},oa.select=function(t){var e;return\"string\"==typeof t?(e=[ka(t,sa)],e.par\
entNode=sa.documentElement):(e=[t],e.parentNode=n(t)),E([e])},oa.selectAll=func\
tion(n){var t;return\"string\"==typeof n?(t=ca(Na(n,sa)),t.parentNode=sa.document\
Element):(t=ca(n),t.parentNode=null),E([t])},Aa.on=function(n,t,e){var r=argume\
nts.length;if(3>r){if(\"string\"!=typeof n){2>r&&(t=!1);for(e in n)this.each(X(e,\
n[e],t));return this}if(2>r)return(r=this.node()[\"__on\"+n])&&r._;e=!1}return th\
is.each(X(n,t,e))};var qa=oa.map({mouseenter:\"mouseover\",mouseleave:\"mouseout\"}\
);sa&&qa.forEach(function(n){\"on\"+n in sa&&qa.remove(n)});var Ta,Ra=0;oa.mouse=\
function(n){return J(n,k())};var Da=this.navigator&&/WebKit/.test(this.navigato\
r.userAgent)?-1:0;oa.touch=function(n,t,e){if(arguments.length<3&&(e=t,t=k().ch\
angedTouches),t)for(var r,u=0,i=t.length;i>u;++u)if((r=t[u]).identifier===e)ret\
urn J(n,r)},oa.behavior.drag=function(){function n(){this.on(\"mousedown.drag\",i\
).on(\"touchstart.drag\",a)}function e(n,t,e,i,a){return function(){function o(){\
var n,e,r=t(h,v);r&&(n=r[0]-M[0],e=r[1]-M[1],p|=n|e,M=r,g({type:\"drag\",x:r[0]+c\
[0],y:r[1]+c[1],dx:n,dy:e}))}function l(){t(h,v)&&(m.on(i+d,null).on(a+d,null),\
y(p),g({type:\"dragend\"}))}var c,s=this,f=oa.event.target.correspondingElement||\
oa.event.target,h=s.parentNode,g=r.of(s,arguments),p=0,v=n(),d=\".drag\"+(null==v\
?\"\":\"-\"+v),m=oa.select(e(f)).on(i+d,o).on(a+d,l),y=W(f),M=t(h,v);u?(c=u.apply(s\
,arguments),c=[c.x-M[0],c.y-M[1]]):c=[0,0],g({type:\"dragstart\"})}}var r=N(n,\"dr\
ag\",\"dragstart\",\"dragend\"),u=null,i=e(b,oa.mouse,t,\"mousemove\",\"mouseup\"),a=e(G\
,oa.touch,y,\"touchmove\",\"touchend\");return n.origin=function(t){return argument\
s.length?(u=t,n):u},oa.rebind(n,r,\"on\")},oa.touches=function(n,t){return argume\
nts.length<2&&(t=k().touches),t?ca(t).map(function(t){var e=J(n,t);return e.ide\
ntifier=t.identifier,e}):[]};var Pa=1e-6,Ua=Pa*Pa,ja=Math.PI,Fa=2*ja,Ha=Fa-Pa,O\
a=ja/2,Ia=ja/180,Ya=180/ja,Za=Math.SQRT2,Va=2,Xa=4;oa.interpolateZoom=function(\
n,t){var e,r,u=n[0],i=n[1],a=n[2],o=t[0],l=t[1],c=t[2],s=o-u,f=l-i,h=s*s+f*f;if\
(Ua>h)r=Math.log(c/a)/Za,e=function(n){return[u+n*s,i+n*f,a*Math.exp(Za*n*r)]};\
else{var g=Math.sqrt(h),p=(c*c-a*a+Xa*h)/(2*a*Va*g),v=(c*c-a*a-Xa*h)/(2*c*Va*g)\
,d=Math.log(Math.sqrt(p*p+1)-p),m=Math.log(Math.sqrt(v*v+1)-v);r=(m-d)/Za,e=fun\
ction(n){var t=n*r,e=rn(d),o=a/(Va*g)*(e*un(Za*t+d)-en(d));return[u+o*s,i+o*f,a\
*e/rn(Za*t+d)]}}return e.duration=1e3*r,e},oa.behavior.zoom=function(){function\
 n(n){n.on(L,f).on(Ba+\".zoom\",g).on(\"dblclick.zoom\",p).on(R,h)}function e(n){re\
turn[(n[0]-k.x)/k.k,(n[1]-k.y)/k.k]}function r(n){return[n[0]*k.k+k.x,n[1]*k.k+\
k.y]}function u(n){k.k=Math.max(A[0],Math.min(A[1],n))}function i(n,t){t=r(t),k\
.x+=n[0]-t[0],k.y+=n[1]-t[1]}function a(t,e,r,a){t.__chart__={x:k.x,y:k.y,k:k.k\
},u(Math.pow(2,a)),i(d=e,r),t=oa.select(t),C>0&&(t=t.transition().duration(C)),\
t.call(n.event)}function o(){b&&b.domain(x.range().map(function(n){return(n-k.x\
)/k.k}).map(x.invert)),w&&w.domain(_.range().map(function(n){return(n-k.y)/k.k}\
).map(_.invert))}function l(n){z++||n({type:\"zoomstart\"})}function c(n){o(),n({\
type:\"zoom\",scale:k.k,translate:[k.x,k.y]})}function s(n){--z||(n({type:\"zoomen\
d\"}),d=null)}function f(){function n(){o=1,i(oa.mouse(u),h),c(a)}function r(){f\
.on(q,null).on(T,null),g(o),s(a)}var u=this,a=D.of(u,arguments),o=0,f=oa.select\
(t(u)).on(q,n).on(T,r),h=e(oa.mouse(u)),g=W(u);Il.call(u),l(a)}function h(){fun\
ction n(){var n=oa.touches(p);return g=k.k,n.forEach(function(n){n.identifier i\
n d&&(d[n.identifier]=e(n))}),n}function t(){var t=oa.event.target;oa.select(t)\
.on(x,r).on(b,o),_.push(t);for(var e=oa.event.changedTouches,u=0,i=e.length;i>u\
;++u)d[e[u].identifier]=null;var l=n(),c=Date.now();if(1===l.length){if(500>c-M\
){var s=l[0];a(p,s,d[s.identifier],Math.floor(Math.log(k.k)/Math.LN2)+1),S()}M=\
c}else if(l.length>1){var s=l[0],f=l[1],h=s[0]-f[0],g=s[1]-f[1];m=h*h+g*g}}func\
tion r(){var n,t,e,r,a=oa.touches(p);Il.call(p);for(var o=0,l=a.length;l>o;++o,\
r=null)if(e=a[o],r=d[e.identifier]){if(t)break;n=e,t=r}if(r){var s=(s=e[0]-n[0]\
)*s+(s=e[1]-n[1])*s,f=m&&Math.sqrt(s/m);n=[(n[0]+e[0])/2,(n[1]+e[1])/2],t=[(t[0\
]+r[0])/2,(t[1]+r[1])/2],u(f*g)}M=null,i(n,t),c(v)}function o(){if(oa.event.tou\
ches.length){for(var t=oa.event.changedTouches,e=0,r=t.length;r>e;++e)delete d[\
t[e].identifier];for(var u in d)return void n()}oa.selectAll(_).on(y,null),w.on\
(L,f).on(R,h),N(),s(v)}var g,p=this,v=D.of(p,arguments),d={},m=0,y=\".zoom-\"+oa.\
event.changedTouches[0].identifier,x=\"touchmove\"+y,b=\"touchend\"+y,_=[],w=oa.sel\
ect(p),N=W(p);t(),l(v),w.on(L,null).on(R,t)}function g(){var n=D.of(this,argume\
nts);y?clearTimeout(y):(Il.call(this),v=e(d=m||oa.mouse(this)),l(n)),y=setTimeo\
ut(function(){y=null,s(n)},50),S(),u(Math.pow(2,.002*$a())*k.k),i(d,v),c(n)}fun\
ction p(){var n=oa.mouse(this),t=Math.log(k.k)/Math.LN2;a(this,n,e(n),oa.event.\
shiftKey?Math.ceil(t)-1:Math.floor(t)+1)}var v,d,m,y,M,x,b,_,w,k={x:0,y:0,k:1},\
E=[960,500],A=Wa,C=250,z=0,L=\"mousedown.zoom\",q=\"mousemove.zoom\",T=\"mouseup.zoo\
m\",R=\"touchstart.zoom\",D=N(n,\"zoomstart\",\"zoom\",\"zoomend\");return Ba||(Ba=\"onwh\
eel\"in sa?($a=function(){return-oa.event.deltaY*(oa.event.deltaMode?120:1)},\"wh\
eel\"):\"onmousewheel\"in sa?($a=function(){return oa.event.wheelDelta},\"mousewhee\
l\"):($a=function(){return-oa.event.detail},\"MozMousePixelScroll\")),n.event=func\
tion(n){n.each(function(){var n=D.of(this,arguments),t=k;Hl?oa.select(this).tra\
nsition().each(\"start.zoom\",function(){k=this.__chart__||{x:0,y:0,k:1},l(n)}).t\
ween(\"zoom:zoom\",function(){var e=E[0],r=E[1],u=d?d[0]:e/2,i=d?d[1]:r/2,a=oa.in\
terpolateZoom([(u-k.x)/k.k,(i-k.y)/k.k,e/k.k],[(u-t.x)/t.k,(i-t.y)/t.k,e/t.k]);\
return function(t){var r=a(t),o=e/r[2];this.__chart__=k={x:u-r[0]*o,y:i-r[1]*o,\
k:o},c(n)}}).each(\"interrupt.zoom\",function(){s(n)}).each(\"end.zoom\",function()\
{s(n)}):(this.__chart__=k,l(n),c(n),s(n))})},n.translate=function(t){return arg\
uments.length?(k={x:+t[0],y:+t[1],k:k.k},o(),n):[k.x,k.y]},n.scale=function(t){\
return arguments.length?(k={x:k.x,y:k.y,k:null},u(+t),o(),n):k.k},n.scaleExtent\
=function(t){return arguments.length?(A=null==t?Wa:[+t[0],+t[1]],n):A},n.center\
=function(t){return arguments.length?(m=t&&[+t[0],+t[1]],n):m},n.size=function(\
t){return arguments.length?(E=t&&[+t[0],+t[1]],n):E},n.duration=function(t){ret\
urn arguments.length?(C=+t,n):C},n.x=function(t){return arguments.length?(b=t,x\
=t.copy(),k={x:0,y:0,k:1},n):b},n.y=function(t){return arguments.length?(w=t,_=\
t.copy(),k={x:0,y:0,k:1},n):w},oa.rebind(n,D,\"on\")};var $a,Ba,Wa=[0,1/0];oa.col\
or=on,on.prototype.toString=function(){return this.rgb()+\"\"},oa.hsl=ln;var Ja=l\
n.prototype=new on;Ja.brighter=function(n){return n=Math.pow(.7,arguments.lengt\
h?n:1),new ln(this.h,this.s,this.l/n)},Ja.darker=function(n){return n=Math.pow(\
.7,arguments.length?n:1),new ln(this.h,this.s,n*this.l)},Ja.rgb=function(){retu\
rn cn(this.h,this.s,this.l)},oa.hcl=sn;var Ga=sn.prototype=new on;Ga.brighter=f\
unction(n){return new sn(this.h,this.c,Math.min(100,this.l+Ka*(arguments.length\
?n:1)))},Ga.darker=function(n){return new sn(this.h,this.c,Math.max(0,this.l-Ka\
*(arguments.length?n:1)))},Ga.rgb=function(){return fn(this.h,this.c,this.l).rg\
b()},oa.lab=hn;var Ka=18,Qa=.95047,no=1,to=1.08883,eo=hn.prototype=new on;eo.br\
ighter=function(n){return new hn(Math.min(100,this.l+Ka*(arguments.length?n:1))\
,this.a,this.b)},eo.darker=function(n){return new hn(Math.max(0,this.l-Ka*(argu\
ments.length?n:1)),this.a,this.b)},eo.rgb=function(){return gn(this.l,this.a,th\
is.b)},oa.rgb=yn;var ro=yn.prototype=new on;ro.brighter=function(n){n=Math.pow(\
.7,arguments.length?n:1);var t=this.r,e=this.g,r=this.b,u=30;return t||e||r?(t&\
&u>t&&(t=u),e&&u>e&&(e=u),r&&u>r&&(r=u),new yn(Math.min(255,t/n),Math.min(255,e\
/n),Math.min(255,r/n))):new yn(u,u,u)},ro.darker=function(n){return n=Math.pow(\
.7,arguments.length?n:1),new yn(n*this.r,n*this.g,n*this.b)},ro.hsl=function(){\
return wn(this.r,this.g,this.b)},ro.toString=function(){return\"#\"+bn(this.r)+bn\
(this.g)+bn(this.b)};var uo=oa.map({aliceblue:15792383,antiquewhite:16444375,aq\
ua: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:1674427\
2,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue\
:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,da\
rkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,d\
arkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,dark\
seagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100\
495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,\
dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhi\
te: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,ind\
igo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773\
365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761\
536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgr\
een:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightsea\
green:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:783375\
3,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,lin\
en:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue\
:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumsl\
ateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred\
:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:1\
6770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:\
7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:156571\
30,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:\
16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblu\
e:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519\
,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seag\
reen: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:167370\
95,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:1\
6119285,yellow:16776960,yellowgreen:10145074});uo.forEach(function(n,t){uo.set(\
n,Mn(t))}),oa.functor=En,oa.xhr=An(y),oa.dsv=function(n,t){function e(n,e,i){ar\
guments.length<3&&(i=e,e=null);var a=Cn(n,t,null==e?r:u(e),i);return a.row=func\
tion(n){return arguments.length?a.response(null==(e=n)?r:u(n)):e},a}function r(\
n){return e.parse(n.responseText)}function u(n){return function(t){return e.par\
se(t.responseText,n)}}function i(t){return t.map(a).join(n)}function a(n){retur\
n o.test(n)?'\"'+n.replace(/\\\"/g,'\"\"')+'\"':n}var o=new RegExp('[\"'+n+\"\\n]\"),l=\
n.charCodeAt(0);return e.parse=function(n,t){var r;return e.parseRows(n,functio\
n(n,e){if(r)return r(n,e-1);var u=new Function(\"d\",\"return {\"+n.map(function(n,\
t){return JSON.stringify(n)+\": d[\"+t+\"]\"}).join(\",\")+\"}\");r=t?function(n,e){ret\
urn t(u(n),e)}:u})},e.parseRows=function(n,t){function e(){if(s>=c)return a;if(\
u)return u=!1,i;var t=s;if(34===n.charCodeAt(t)){for(var e=t;e++<c;)if(34===n.c\
harCodeAt(e)){if(34!==n.charCodeAt(e+1))break;++e}s=e+2;var r=n.charCodeAt(e+1)\
;return 13===r?(u=!0,10===n.charCodeAt(e+2)&&++s):10===r&&(u=!0),n.slice(t+1,e)\
.replace(/\"\"/g,'\"')}for(;c>s;){var r=n.charCodeAt(s++),o=1;if(10===r)u=!0;else \
if(13===r)u=!0,10===n.charCodeAt(s)&&(++s,++o);else if(r!==l)continue;return n.\
slice(t,s-o)}return n.slice(t)}for(var r,u,i={},a={},o=[],c=n.length,s=0,f=0;(r\
=e())!==a;){for(var h=[];r!==i&&r!==a;)h.push(r),r=e();t&&null==(h=t(h,f++))||o\
.push(h)}return o},e.format=function(t){if(Array.isArray(t[0]))return e.formatR\
ows(t);var r=new m,u=[];return t.forEach(function(n){for(var t in n)r.has(t)||u\
.push(r.add(t))}),[u.map(a).join(n)].concat(t.map(function(t){return u.map(func\
tion(n){return a(t[n])}).join(n)})).join(\"\\n\")},e.formatRows=function(n){retur\
n n.map(i).join(\"\\n\")},e},oa.csv=oa.dsv(\",\",\"text/csv\"),oa.tsv=oa.dsv(\" \",\"tex\
t/tab-separated-values\");var io,ao,oo,lo,co=this[x(this,\"requestAnimationFrame\"\
)]||function(n){setTimeout(n,17)};oa.timer=function(){qn.apply(this,arguments)}\
,oa.timer.flush=function(){Rn(),Dn()},oa.round=function(n,t){return t?Math.roun\
d(n*(t=Math.pow(10,t)))/t:Math.round(n)};var so=[\"y\",\"z\",\"a\",\"f\",\"p\",\"n\",\"\\xb5\
\",\"m\",\"\",\"k\",\"M\",\"G\",\"T\",\"P\",\"E\",\"Z\",\"Y\"].map(Un);oa.formatPrefix=function(n,t)\
{var e=0;return(n=+n)&&(0>n&&(n*=-1),t&&(n=oa.round(n,Pn(n,t))),e=1+Math.floor(\
1e-12+Math.log(n)/Math.LN10),e=Math.max(-24,Math.min(24,3*Math.floor((e-1)/3)))\
),so[8+e/3]};var fo=/(?:([^{])?([<>=^]))?([+\\- ])?([$#])?(0)?(\\d+)?(,)?(\\.-?\
\\d+)?([a-z%])?/i,ho=oa.map({b:function(n){return n.toString(2)},c:function(n){\
return String.fromCharCode(n)},o:function(n){return n.toString(8)},x:function(n\
){return n.toString(16)},X:function(n){return n.toString(16).toUpperCase()},g:f\
unction(n,t){return n.toPrecision(t)},e:function(n,t){return n.toExponential(t)\
},f:function(n,t){return n.toFixed(t)},r:function(n,t){return(n=oa.round(n,Pn(n\
,t))).toFixed(Math.max(0,Math.min(20,Pn(n*(1+1e-15),t))))}}),go=oa.time={},po=D\
ate;Hn.prototype={getDate:function(){return this._.getUTCDate()},getDay:functio\
n(){return this._.getUTCDay()},getFullYear:function(){return this._.getUTCFullY\
ear()},getHours:function(){return this._.getUTCHours()},getMilliseconds:functio\
n(){return this._.getUTCMilliseconds()},getMinutes:function(){return this._.get\
UTCMinutes()},getMonth:function(){return this._.getUTCMonth()},getSeconds:funct\
ion(){return this._.getUTCSeconds()},getTime:function(){return this._.getTime()\
},getTimezoneOffset:function(){return 0},valueOf:function(){return this._.value\
Of()},setDate:function(){vo.setUTCDate.apply(this._,arguments)},setDay:function\
(){vo.setUTCDay.apply(this._,arguments)},setFullYear:function(){vo.setUTCFullYe\
ar.apply(this._,arguments)},setHours:function(){vo.setUTCHours.apply(this._,arg\
uments)},setMilliseconds:function(){vo.setUTCMilliseconds.apply(this._,argument\
s)},setMinutes:function(){vo.setUTCMinutes.apply(this._,arguments)},setMonth:fu\
nction(){vo.setUTCMonth.apply(this._,arguments)},setSeconds:function(){vo.setUT\
CSeconds.apply(this._,arguments)},setTime:function(){vo.setTime.apply(this._,ar\
guments)}};var vo=Date.prototype;go.year=On(function(n){return n=go.day(n),n.se\
tMonth(0,1),n},function(n,t){n.setFullYear(n.getFullYear()+t)},function(n){retu\
rn n.getFullYear()}),go.years=go.year.range,go.years.utc=go.year.utc.range,go.d\
ay=On(function(n){var t=new po(2e3,0);return t.setFullYear(n.getFullYear(),n.ge\
tMonth(),n.getDate()),t},function(n,t){n.setDate(n.getDate()+t)},function(n){re\
turn n.getDate()-1}),go.days=go.day.range,go.days.utc=go.day.utc.range,go.dayOf\
Year=function(n){var t=go.year(n);return Math.floor((n-t-6e4*(n.getTimezoneOffs\
et()-t.getTimezoneOffset()))/864e5)},[\"sunday\",\"monday\",\"tuesday\",\"wednesday\",\"\
thursday\",\"friday\",\"saturday\"].forEach(function(n,t){t=7-t;var e=go[n]=On(funct\
ion(n){return(n=go.day(n)).setDate(n.getDate()-(n.getDay()+t)%7),n},function(n,\
t){n.setDate(n.getDate()+7*Math.floor(t))},function(n){var e=go.year(n).getDay(\
);return Math.floor((go.dayOfYear(n)+(e+t)%7)/7)-(e!==t)});go[n+\"s\"]=e.range,go\
[n+\"s\"].utc=e.utc.range,go[n+\"OfYear\"]=function(n){var e=go.year(n).getDay();re\
turn Math.floor((go.dayOfYear(n)+(e+t)%7)/7)}}),go.week=go.sunday,go.weeks=go.s\
unday.range,go.weeks.utc=go.sunday.utc.range,go.weekOfYear=go.sundayOfYear;var \
mo={\"-\":\"\",_:\" \",0:\"0\"},yo=/^\\s*\\d+/,Mo=/^%/;oa.locale=function(n){return{num\
berFormat:jn(n),timeFormat:Yn(n)}};var xo=oa.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\",\"Th\
ursday\",\"Friday\",\"Saturday\"],
shortDays:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],months:[\"January\",\"Februa\
ry\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"Novembe\
r\",\"December\"],shortMonths:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Se\
p\",\"Oct\",\"Nov\",\"Dec\"]});oa.format=xo.numberFormat,oa.geo={},st.prototype={s:0,t\
:0,add:function(n){ft(n,this.t,bo),ft(bo.s,this.s,this),this.s?this.t+=bo.t:thi\
s.s=bo.t},reset:function(){this.s=this.t=0},valueOf:function(){return this.s}};\
var bo=new st;oa.geo.stream=function(n,t){n&&_o.hasOwnProperty(n.type)?_o[n.typ\
e](n,t):ht(n,t)};var _o={Feature:function(n,t){ht(n.geometry,t)},FeatureCollect\
ion:function(n,t){for(var e=n.features,r=-1,u=e.length;++r<u;)ht(e[r].geometry,\
t)}},wo={Sphere:function(n,t){t.sphere()},Point:function(n,t){n=n.coordinates,t\
.point(n[0],n[1],n[2])},MultiPoint:function(n,t){for(var e=n.coordinates,r=-1,u\
=e.length;++r<u;)n=e[r],t.point(n[0],n[1],n[2])},LineString:function(n,t){gt(n.\
coordinates,t,0)},MultiLineString:function(n,t){for(var e=n.coordinates,r=-1,u=\
e.length;++r<u;)gt(e[r],t,0)},Polygon:function(n,t){pt(n.coordinates,t)},MultiP\
olygon:function(n,t){for(var e=n.coordinates,r=-1,u=e.length;++r<u;)pt(e[r],t)}\
,GeometryCollection:function(n,t){for(var e=n.geometries,r=-1,u=e.length;++r<u;\
)ht(e[r],t)}};oa.geo.area=function(n){return So=0,oa.geo.stream(n,No),So};var S\
o,ko=new st,No={sphere:function(){So+=4*ja},point:b,lineStart:b,lineEnd:b,polyg\
onStart:function(){ko.reset(),No.lineStart=vt},polygonEnd:function(){var n=2*ko\
;So+=0>n?4*ja+n:n,No.lineStart=No.lineEnd=No.point=b}};oa.geo.bounds=function()\
{function n(n,t){M.push(x=[s=n,h=n]),f>t&&(f=t),t>g&&(g=t)}function t(t,e){var \
r=dt([t*Ia,e*Ia]);if(m){var u=yt(m,r),i=[u[1],-u[0],0],a=yt(i,u);bt(a),a=_t(a);\
var l=t-p,c=l>0?1:-1,v=a[0]*Ya*c,d=Ma(l)>180;if(d^(v>c*p&&c*t>v)){var y=a[1]*Ya\
;y>g&&(g=y)}else if(v=(v+360)%360-180,d^(v>c*p&&c*t>v)){var y=-a[1]*Ya;f>y&&(f=\
y)}else f>e&&(f=e),e>g&&(g=e);d?p>t?o(s,t)>o(s,h)&&(h=t):o(t,h)>o(s,h)&&(s=t):h\
>=s?(s>t&&(s=t),t>h&&(h=t)):t>p?o(s,t)>o(s,h)&&(h=t):o(t,h)>o(s,h)&&(s=t)}else \
n(t,e);m=r,p=t}function e(){b.point=t}function r(){x[0]=s,x[1]=h,b.point=n,m=nu\
ll}function u(n,e){if(m){var r=n-p;y+=Ma(r)>180?r+(r>0?360:-360):r}else v=n,d=e\
;No.point(n,e),t(n,e)}function i(){No.lineStart()}function a(){u(v,d),No.lineEn\
d(),Ma(y)>Pa&&(s=-(h=180)),x[0]=s,x[1]=h,m=null}function o(n,t){return(t-=n)<0?\
t+360:t}function l(n,t){return n[0]-t[0]}function c(n,t){return t[0]<=t[1]?t[0]\
<=n&&n<=t[1]:n<t[0]||t[1]<n}var s,f,h,g,p,v,d,m,y,M,x,b={point:n,lineStart:e,li\
neEnd:r,polygonStart:function(){b.point=u,b.lineStart=i,b.lineEnd=a,y=0,No.poly\
gonStart()},polygonEnd:function(){No.polygonEnd(),b.point=n,b.lineStart=e,b.lin\
eEnd=r,0>ko?(s=-(h=180),f=-(g=90)):y>Pa?g=90:-Pa>y&&(f=-90),x[0]=s,x[1]=h}};ret\
urn function(n){g=h=-(s=f=1/0),M=[],oa.geo.stream(n,b);var t=M.length;if(t){M.s\
ort(l);for(var e,r=1,u=M[0],i=[u];t>r;++r)e=M[r],c(e[0],u)||c(e[1],u)?(o(u[0],e\
[1])>o(u[0],u[1])&&(u[1]=e[1]),o(e[0],u[1])>o(u[0],u[1])&&(u[0]=e[0])):i.push(u\
=e);for(var a,e,p=-(1/0),t=i.length-1,r=0,u=i[t];t>=r;u=e,++r)e=i[r],(a=o(u[1],\
e[0]))>p&&(p=a,s=e[0],h=u[1])}return M=x=null,s===1/0||f===1/0?[[NaN,NaN],[NaN,\
NaN]]:[[s,f],[h,g]]}}(),oa.geo.centroid=function(n){Eo=Ao=Co=zo=Lo=qo=To=Ro=Do=\
Po=Uo=0,oa.geo.stream(n,jo);var t=Do,e=Po,r=Uo,u=t*t+e*e+r*r;return Ua>u&&(t=qo\
,e=To,r=Ro,Pa>Ao&&(t=Co,e=zo,r=Lo),u=t*t+e*e+r*r,Ua>u)?[NaN,NaN]:[Math.atan2(e,\
t)*Ya,tn(r/Math.sqrt(u))*Ya]};var Eo,Ao,Co,zo,Lo,qo,To,Ro,Do,Po,Uo,jo={sphere:b\
,point:St,lineStart:Nt,lineEnd:Et,polygonStart:function(){jo.lineStart=At},poly\
gonEnd:function(){jo.lineStart=Nt}},Fo=Rt(zt,jt,Ht,[-ja,-ja/2]),Ho=1e9;oa.geo.c\
lipExtent=function(){var n,t,e,r,u,i,a={stream:function(n){return u&&(u.valid=!\
1),u=i(n),u.valid=!0,u},extent:function(o){return arguments.length?(i=Zt(n=+o[0\
][0],t=+o[0][1],e=+o[1][0],r=+o[1][1]),u&&(u.valid=!1,u=null),a):[[n,t],[e,r]]}\
};return a.extent([[0,0],[960,500]])},(oa.geo.conicEqualArea=function(){return \
Vt(Xt)}).raw=Xt,oa.geo.albers=function(){return oa.geo.conicEqualArea().rotate(\
[96,0]).center([-.6,38.7]).parallels([29.5,45.5]).scale(1070)},oa.geo.albersUsa\
=function(){function n(n){var i=n[0],a=n[1];return t=null,e(i,a),t||(r(i,a),t)|\
|u(i,a),t}var t,e,r,u,i=oa.geo.albers(),a=oa.geo.conicEqualArea().rotate([154,0\
]).center([-2,58.5]).parallels([55,65]),o=oa.geo.conicEqualArea().rotate([157,0\
]).center([-3,19.9]).parallels([8,18]),l={point:function(n,e){t=[n,e]}};return \
n.invert=function(n){var t=i.scale(),e=i.translate(),r=(n[0]-e[0])/t,u=(n[1]-e[\
1])/t;return(u>=.12&&.234>u&&r>=-.425&&-.214>r?a:u>=.166&&.234>u&&r>=-.214&&-.1\
15>r?o:i).invert(n)},n.stream=function(n){var t=i.stream(n),e=a.stream(n),r=o.s\
tream(n);return{point:function(n,u){t.point(n,u),e.point(n,u),r.point(n,u)},sph\
ere:function(){t.sphere(),e.sphere(),r.sphere()},lineStart:function(){t.lineSta\
rt(),e.lineStart(),r.lineStart()},lineEnd:function(){t.lineEnd(),e.lineEnd(),r.\
lineEnd()},polygonStart:function(){t.polygonStart(),e.polygonStart(),r.polygonS\
tart()},polygonEnd:function(){t.polygonEnd(),e.polygonEnd(),r.polygonEnd()}}},n\
.precision=function(t){return arguments.length?(i.precision(t),a.precision(t),o\
.precision(t),n):i.precision()},n.scale=function(t){return arguments.length?(i.\
scale(t),a.scale(.35*t),o.scale(t),n.translate(i.translate())):i.scale()},n.tra\
nslate=function(t){if(!arguments.length)return i.translate();var c=i.scale(),s=\
+t[0],f=+t[1];return e=i.translate(t).clipExtent([[s-.455*c,f-.238*c],[s+.455*c\
,f+.238*c]]).stream(l).point,r=a.translate([s-.307*c,f+.201*c]).clipExtent([[s-\
.425*c+Pa,f+.12*c+Pa],[s-.214*c-Pa,f+.234*c-Pa]]).stream(l).point,u=o.translate\
([s-.205*c,f+.212*c]).clipExtent([[s-.214*c+Pa,f+.166*c+Pa],[s-.115*c-Pa,f+.234\
*c-Pa]]).stream(l).point,n},n.scale(1070)};var Oo,Io,Yo,Zo,Vo,Xo,$o={point:b,li\
neStart:b,lineEnd:b,polygonStart:function(){Io=0,$o.lineStart=$t},polygonEnd:fu\
nction(){$o.lineStart=$o.lineEnd=$o.point=b,Oo+=Ma(Io/2)}},Bo={point:Bt,lineSta\
rt:b,lineEnd:b,polygonStart:b,polygonEnd:b},Wo={point:Gt,lineStart:Kt,lineEnd:Q\
t,polygonStart:function(){Wo.lineStart=ne},polygonEnd:function(){Wo.point=Gt,Wo\
.lineStart=Kt,Wo.lineEnd=Qt}};oa.geo.path=function(){function n(n){return n&&(\"\
function\"==typeof o&&i.pointRadius(+o.apply(this,arguments)),a&&a.valid||(a=u(i\
)),oa.geo.stream(n,a)),i.result()}function t(){return a=null,n}var e,r,u,i,a,o=\
4.5;return n.area=function(n){return Oo=0,oa.geo.stream(n,u($o)),Oo},n.centroid\
=function(n){return Co=zo=Lo=qo=To=Ro=Do=Po=Uo=0,oa.geo.stream(n,u(Wo)),Uo?[Do/\
Uo,Po/Uo]:Ro?[qo/Ro,To/Ro]:Lo?[Co/Lo,zo/Lo]:[NaN,NaN]},n.bounds=function(n){ret\
urn Vo=Xo=-(Yo=Zo=1/0),oa.geo.stream(n,u(Bo)),[[Yo,Zo],[Vo,Xo]]},n.projection=f\
unction(n){return arguments.length?(u=(e=n)?n.stream||re(n):y,t()):e},n.context\
=function(n){return arguments.length?(i=null==(r=n)?new Wt:new te(n),\"function\"\
!=typeof o&&i.pointRadius(o),t()):r},n.pointRadius=function(t){return arguments\
.length?(o=\"function\"==typeof t?t:(i.pointRadius(+t),+t),n):o},n.projection(oa.\
geo.albersUsa()).context(null)},oa.geo.transform=function(n){return{stream:func\
tion(t){var e=new ue(t);for(var r in n)e[r]=n[r];return e}}},ue.prototype={poin\
t:function(n,t){this.stream.point(n,t)},sphere:function(){this.stream.sphere()}\
,lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.l\
ineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:functi\
on(){this.stream.polygonEnd()}},oa.geo.projection=ae,oa.geo.projectionMutator=o\
e,(oa.geo.equirectangular=function(){return ae(ce)}).raw=ce.invert=ce,oa.geo.ro\
tation=function(n){function t(t){return t=n(t[0]*Ia,t[1]*Ia),t[0]*=Ya,t[1]*=Ya,\
t}return n=fe(n[0]%360*Ia,n[1]*Ia,n.length>2?n[2]*Ia:0),t.invert=function(t){re\
turn t=n.invert(t[0]*Ia,t[1]*Ia),t[0]*=Ya,t[1]*=Ya,t},t},se.invert=ce,oa.geo.ci\
rcle=function(){function n(){var n=\"function\"==typeof r?r.apply(this,arguments)\
:r,t=fe(-n[0]*Ia,-n[1]*Ia,0).invert,u=[];return e(null,null,1,{point:function(n\
,e){u.push(n=t(n,e)),n[0]*=Ya,n[1]*=Ya}}),{type:\"Polygon\",coordinates:[u]}}var \
t,e,r=[0,0],u=6;return n.origin=function(t){return arguments.length?(r=t,n):r},\
n.angle=function(r){return arguments.length?(e=ve((t=+r)*Ia,u*Ia),n):t},n.preci\
sion=function(r){return arguments.length?(e=ve(t*Ia,(u=+r)*Ia),n):u},n.angle(90\
)},oa.geo.distance=function(n,t){var e,r=(t[0]-n[0])*Ia,u=n[1]*Ia,i=t[1]*Ia,a=M\
ath.sin(r),o=Math.cos(r),l=Math.sin(u),c=Math.cos(u),s=Math.sin(i),f=Math.cos(i\
);return Math.atan2(Math.sqrt((e=f*a)*e+(e=c*s-l*f*o)*e),l*s+c*f*o)},oa.geo.gra\
ticule=function(){function n(){return{type:\"MultiLineString\",coordinates:t()}}f\
unction t(){return oa.range(Math.ceil(i/d)*d,u,d).map(h).concat(oa.range(Math.c\
eil(c/m)*m,l,m).map(g)).concat(oa.range(Math.ceil(r/p)*p,e,p).filter(function(n\
){return Ma(n%d)>Pa}).map(s)).concat(oa.range(Math.ceil(o/v)*v,a,v).filter(func\
tion(n){return Ma(n%m)>Pa}).map(f))}var e,r,u,i,a,o,l,c,s,f,h,g,p=10,v=p,d=90,m\
=360,y=2.5;return n.lines=function(){return t().map(function(n){return{type:\"Li\
neString\",coordinates:n}})},n.outline=function(){return{type:\"Polygon\",coordina\
tes:[h(i).concat(g(l).slice(1),h(u).reverse().slice(1),g(c).reverse().slice(1))\
]}},n.extent=function(t){return arguments.length?n.majorExtent(t).minorExtent(t\
):n.minorExtent()},n.majorExtent=function(t){return arguments.length?(i=+t[0][0\
],u=+t[1][0],c=+t[0][1],l=+t[1][1],i>u&&(t=i,i=u,u=t),c>l&&(t=c,c=l,l=t),n.prec\
ision(y)):[[i,c],[u,l]]},n.minorExtent=function(t){return arguments.length?(r=+\
t[0][0],e=+t[1][0],o=+t[0][1],a=+t[1][1],r>e&&(t=r,r=e,e=t),o>a&&(t=o,o=a,a=t),\
n.precision(y)):[[r,o],[e,a]]},n.step=function(t){return arguments.length?n.maj\
orStep(t).minorStep(t):n.minorStep()},n.majorStep=function(t){return arguments.\
length?(d=+t[0],m=+t[1],n):[d,m]},n.minorStep=function(t){return arguments.leng\
th?(p=+t[0],v=+t[1],n):[p,v]},n.precision=function(t){return arguments.length?(\
y=+t,s=me(o,a,90),f=ye(r,e,y),h=me(c,l,90),g=ye(i,u,y),n):y},n.majorExtent([[-1\
80,-90+Pa],[180,90-Pa]]).minorExtent([[-180,-80-Pa],[180,80+Pa]])},oa.geo.great\
Arc=function(){function n(){return{type:\"LineString\",coordinates:[t||r.apply(th\
is,arguments),e||u.apply(this,arguments)]}}var t,e,r=Me,u=xe;return n.distance=\
function(){return oa.geo.distance(t||r.apply(this,arguments),e||u.apply(this,ar\
guments))},n.source=function(e){return arguments.length?(r=e,t=\"function\"==type\
of e?null:e,n):r},n.target=function(t){return arguments.length?(u=t,e=\"function\
\"==typeof t?null:t,n):u},n.precision=function(){return arguments.length?n:0},n}\
,oa.geo.interpolate=function(n,t){return be(n[0]*Ia,n[1]*Ia,t[0]*Ia,t[1]*Ia)},o\
a.geo.length=function(n){return Jo=0,oa.geo.stream(n,Go),Jo};var Jo,Go={sphere:\
b,point:b,lineStart:_e,lineEnd:b,polygonStart:b,polygonEnd:b},Ko=we(function(n)\
{return Math.sqrt(2/(1+n))},function(n){return 2*Math.asin(n/2)});(oa.geo.azimu\
thalEqualArea=function(){return ae(Ko)}).raw=Ko;var Qo=we(function(n){var t=Mat\
h.acos(n);return t&&t/Math.sin(t)},y);(oa.geo.azimuthalEquidistant=function(){r\
eturn ae(Qo)}).raw=Qo,(oa.geo.conicConformal=function(){return Vt(Se)}).raw=Se,\
(oa.geo.conicEquidistant=function(){return Vt(ke)}).raw=ke;var nl=we(function(n\
){return 1/n},Math.atan);(oa.geo.gnomonic=function(){return ae(nl)}).raw=nl,Ne.\
invert=function(n,t){return[n,2*Math.atan(Math.exp(t))-Oa]},(oa.geo.mercator=fu\
nction(){return Ee(Ne)}).raw=Ne;var tl=we(function(){return 1},Math.asin);(oa.g\
eo.orthographic=function(){return ae(tl)}).raw=tl;var el=we(function(n){return \
1/(1+n)},function(n){return 2*Math.atan(n)});(oa.geo.stereographic=function(){r\
eturn ae(el)}).raw=el,Ae.invert=function(n,t){return[-t,2*Math.atan(Math.exp(n)\
)-Oa]},(oa.geo.transverseMercator=function(){var n=Ee(Ae),t=n.center,e=n.rotate\
;return n.center=function(n){return n?t([-n[1],n[0]]):(n=t(),[n[1],-n[0]])},n.r\
otate=function(n){return n?e([n[0],n[1],n.length>2?n[2]+90:90]):(n=e(),[n[0],n[\
1],n[2]-90])},e([0,0,90])}).raw=Ae,oa.geom={},oa.geom.hull=function(n){function\
 t(n){if(n.length<3)return[];var t,u=En(e),i=En(r),a=n.length,o=[],l=[];for(t=0\
;a>t;t++)o.push([+u.call(this,n[t],t),+i.call(this,n[t],t),t]);for(o.sort(qe),t\
=0;a>t;t++)l.push([o[t][0],-o[t][1]]);var c=Le(o),s=Le(l),f=s[0]===c[0],h=s[s.l\
ength-1]===c[c.length-1],g=[];for(t=c.length-1;t>=0;--t)g.push(n[o[c[t]][2]]);f\
or(t=+f;t<s.length-h;++t)g.push(n[o[s[t]][2]]);return g}var e=Ce,r=ze;return ar\
guments.length?t(n):(t.x=function(n){return arguments.length?(e=n,t):e},t.y=fun\
ction(n){return arguments.length?(r=n,t):r},t)},oa.geom.polygon=function(n){ret\
urn Sa(n,rl),n};var rl=oa.geom.polygon.prototype=[];rl.area=function(){for(var \
n,t=-1,e=this.length,r=this[e-1],u=0;++t<e;)n=r,r=this[t],u+=n[1]*r[0]-n[0]*r[1\
];return.5*u},rl.centroid=function(n){var t,e,r=-1,u=this.length,i=0,a=0,o=this\
[u-1];for(arguments.length||(n=-1/(6*this.area()));++r<u;)t=o,o=this[r],e=t[0]*\
o[1]-o[0]*t[1],i+=(t[0]+o[0])*e,a+=(t[1]+o[1])*e;return[i*n,a*n]},rl.clip=funct\
ion(n){for(var t,e,r,u,i,a,o=De(n),l=-1,c=this.length-De(this),s=this[c-1];++l<\
c;){for(t=n.slice(),n.length=0,u=this[l],i=t[(r=t.length-o)-1],e=-1;++e<r;)a=t[\
e],Te(a,s,u)?(Te(i,s,u)||n.push(Re(i,a,s,u)),n.push(a)):Te(i,s,u)&&n.push(Re(i,\
a,s,u)),i=a;o&&n.push(n[0]),s=u}return n};var ul,il,al,ol,ll,cl=[],sl=[];Ye.pro\
totype.prepare=function(){for(var n,t=this.edges,e=t.length;e--;)n=t[e].edge,n.\
b&&n.a||t.splice(e,1);return t.sort(Ve),t.length},tr.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}},er.prototype={insert:functio\
n(n,t){var e,r,u;if(n){if(t.P=n,t.N=n.N,n.N&&(n.N.P=t),n.N=t,n.R){for(n=n.R;n.L\
;)n=n.L;n.L=t}else n.R=t;e=n}else this._?(n=ar(this._),t.P=null,t.N=n,n.P=n.L=t\
,e=n):(t.P=t.N=null,this._=t,e=null);for(t.L=t.R=null,t.U=e,t.C=!0,n=t;e&&e.C;)\
r=e.U,e===r.L?(u=r.R,u&&u.C?(e.C=u.C=!1,r.C=!0,n=r):(n===e.R&&(ur(this,e),n=e,e\
=n.U),e.C=!1,r.C=!0,ir(this,r))):(u=r.L,u&&u.C?(e.C=u.C=!1,r.C=!0,n=r):(n===e.L\
&&(ir(this,e),n=e,e=n.U),e.C=!1,r.C=!0,ur(this,r))),e=n.U;this._.C=!1},remove:f\
unction(n){n.N&&(n.N.P=n.P),n.P&&(n.P.N=n.N),n.N=n.P=null;var t,e,r,u=n.U,i=n.L\
,a=n.R;if(e=i?a?ar(a):i:a,u?u.L===n?u.L=e:u.R=e:this._=e,i&&a?(r=e.C,e.C=n.C,e.\
L=i,i.U=e,e!==a?(u=e.U,e.U=n.U,n=e.R,u.L=n,e.R=a,a.U=e):(e.U=u,u=e,n=e.R)):(r=n\
.C,n=e),n&&(n.U=u),!r){if(n&&n.C)return void(n.C=!1);do{if(n===this._)break;if(\
n===u.L){if(t=u.R,t.C&&(t.C=!1,u.C=!0,ur(this,u),t=u.R),t.L&&t.L.C||t.R&&t.R.C)\
{t.R&&t.R.C||(t.L.C=!1,t.C=!0,ir(this,t),t=u.R),t.C=u.C,u.C=t.R.C=!1,ur(this,u)\
,n=this._;break}}else if(t=u.L,t.C&&(t.C=!1,u.C=!0,ir(this,u),t=u.L),t.L&&t.L.C\
||t.R&&t.R.C){t.L&&t.L.C||(t.R.C=!1,t.C=!0,ur(this,t),t=u.L),t.C=u.C,u.C=t.L.C=\
!1,ir(this,u),n=this._;break}t.C=!0,n=u,u=u.U}while(!n.C);n&&(n.C=!1)}}},oa.geo\
m.voronoi=function(n){function t(n){var t=new Array(n.length),r=o[0][0],u=o[0][\
1],i=o[1][0],a=o[1][1];return or(e(n),o).cells.forEach(function(e,o){var l=e.ed\
ges,c=e.site,s=t[o]=l.length?l.map(function(n){var t=n.start();return[t.x,t.y]}\
):c.x>=r&&c.x<=i&&c.y>=u&&c.y<=a?[[r,a],[i,a],[i,u],[r,u]]:[];s.point=n[o]}),t}\
function e(n){return n.map(function(n,t){return{x:Math.round(i(n,t)/Pa)*Pa,y:Ma\
th.round(a(n,t)/Pa)*Pa,i:t}})}var r=Ce,u=ze,i=r,a=u,o=fl;return n?t(n):(t.links\
=function(n){return or(e(n)).edges.filter(function(n){return n.l&&n.r}).map(fun\
ction(t){return{source:n[t.l.i],target:n[t.r.i]}})},t.triangles=function(n){var\
 t=[];return or(e(n)).cells.forEach(function(e,r){for(var u,i,a=e.site,o=e.edge\
s.sort(Ve),l=-1,c=o.length,s=o[c-1].edge,f=s.l===a?s.r:s.l;++l<c;)u=s,i=f,s=o[l\
].edge,f=s.l===a?s.r:s.l,r<i.i&&r<f.i&&cr(a,i,f)<0&&t.push([n[r],n[i.i],n[f.i]]\
)}),t},t.x=function(n){return arguments.length?(i=En(r=n),t):r},t.y=function(n)\
{return arguments.length?(a=En(u=n),t):u},t.clipExtent=function(n){return argum\
ents.length?(o=null==n?fl:n,t):o===fl?null:o},t.size=function(n){return argumen\
ts.length?t.clipExtent(n&&[[0,0],n]):o===fl?null:o&&o[1]},t)};var fl=[[-1e6,-1e\
6],[1e6,1e6]];oa.geom.delaunay=function(n){return oa.geom.voronoi().triangles(n\
)},oa.geom.quadtree=function(n,t,e,r,u){function i(n){function i(n,t,e,r,u,i,a,\
o){if(!isNaN(e)&&!isNaN(r))if(n.leaf){var l=n.x,s=n.y;if(null!=l)if(Ma(l-e)+Ma(\
s-r)<.01)c(n,t,e,r,u,i,a,o);else{var f=n.point;n.x=n.y=n.point=null,c(n,f,l,s,u\
,i,a,o),c(n,t,e,r,u,i,a,o)}else n.x=e,n.y=r,n.point=t}else c(n,t,e,r,u,i,a,o)}f\
unction c(n,t,e,r,u,a,o,l){var c=.5*(u+o),s=.5*(a+l),f=e>=c,h=r>=s,g=h<<1|f;n.l\
eaf=!1,n=n.nodes[g]||(n.nodes[g]=hr()),f?u=c:o=c,h?a=s:l=s,i(n,t,e,r,u,a,o,l)}v\
ar s,f,h,g,p,v,d,m,y,M=En(o),x=En(l);if(null!=t)v=t,d=e,m=r,y=u;else if(m=y=-(v\
=d=1/0),f=[],h=[],p=n.length,a)for(g=0;p>g;++g)s=n[g],s.x<v&&(v=s.x),s.y<d&&(d=\
s.y),s.x>m&&(m=s.x),s.y>y&&(y=s.y),f.push(s.x),h.push(s.y);else for(g=0;p>g;++g\
){var b=+M(s=n[g],g),_=+x(s,g);v>b&&(v=b),d>_&&(d=_),b>m&&(m=b),_>y&&(y=_),f.pu\
sh(b),h.push(_)}var w=m-v,S=y-d;w>S?y=d+w:m=v+S;var k=hr();if(k.add=function(n)\
{i(k,n,+M(n,++g),+x(n,g),v,d,m,y)},k.visit=function(n){gr(n,k,v,d,m,y)},k.find=\
function(n){return pr(k,n[0],n[1],v,d,m,y)},g=-1,null==t){for(;++g<p;)i(k,n[g],\
f[g],h[g],v,d,m,y);--g}else n.forEach(k.add);return f=h=n=s=null,k}var a,o=Ce,l\
=ze;return(a=arguments.length)?(o=sr,l=fr,3===a&&(u=e,r=t,e=t=0),i(n)):(i.x=fun\
ction(n){return arguments.length?(o=n,i):o},i.y=function(n){return arguments.le\
ngth?(l=n,i):l},i.extent=function(n){return arguments.length?(null==n?t=e=r=u=n\
ull:(t=+n[0][0],e=+n[0][1],r=+n[1][0],u=+n[1][1]),i):null==t?null:[[t,e],[r,u]]\
},i.size=function(n){return arguments.length?(null==n?t=e=r=u=null:(t=e=0,r=+n[\
0],u=+n[1]),i):null==t?null:[r-t,u-e]},i)},oa.interpolateRgb=vr,oa.interpolateO\
bject=dr,oa.interpolateNumber=mr,oa.interpolateString=yr;var hl=/[-+]?(?:\\d+\\\
.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g,gl=new RegExp(hl.source,\"g\");oa.interpolat\
e=Mr,oa.interpolators=[function(n,t){var e=typeof t;return(\"string\"===e?uo.has(\
t.toLowerCase())||/^(#|rgb\\(|hsl\\()/i.test(t)?vr:yr:t instanceof on?vr:Array.\
isArray(t)?xr:\"object\"===e&&isNaN(t)?dr:mr)(n,t)}],oa.interpolateArray=xr;var p\
l=function(){return y},vl=oa.map({linear:pl,poly:Er,quad:function(){return Sr},\
cubic:function(){return kr},sin:function(){return Ar},exp:function(){return Cr}\
,circle:function(){return zr},elastic:Lr,back:qr,bounce:function(){return Tr}})\
,dl=oa.map({\"in\":y,out:_r,\"in-out\":wr,\"out-in\":function(n){return wr(_r(n))}});\
oa.ease=function(n){var t=n.indexOf(\"-\"),e=t>=0?n.slice(0,t):n,r=t>=0?n.slice(t\
+1):\"in\";return e=vl.get(e)||pl,r=dl.get(r)||y,br(r(e.apply(null,la.call(argume\
nts,1))))},oa.interpolateHcl=Rr,oa.interpolateHsl=Dr,oa.interpolateLab=Pr,oa.in\
terpolateRound=Ur,oa.transform=function(n){var t=sa.createElementNS(oa.ns.prefi\
x.svg,\"g\");return(oa.transform=function(n){if(null!=n){t.setAttribute(\"transfor\
m\",n);var e=t.transform.baseVal.consolidate()}return new jr(e?e.matrix:ml)})(n)\
},jr.prototype.toString=function(){return\"translate(\"+this.translate+\")rotate(\"\
+this.rotate+\")skewX(\"+this.skew+\")scale(\"+this.scale+\")\"};var ml={a:1,b:0,c:0,\
d:1,e:0,f:0};oa.interpolateTransform=$r,oa.layout={},oa.layout.bundle=function(\
){return function(n){for(var t=[],e=-1,r=n.length;++e<r;)t.push(Jr(n[e]));retur\
n t}},oa.layout.chord=function(){function n(){var n,c,f,h,g,p={},v=[],d=oa.rang\
e(i),m=[];for(e=[],r=[],n=0,h=-1;++h<i;){for(c=0,g=-1;++g<i;)c+=u[h][g];v.push(\
c),m.push(oa.range(i)),n+=c}for(a&&d.sort(function(n,t){return a(v[n],v[t])}),o\
&&m.forEach(function(n,t){n.sort(function(n,e){return o(u[t][n],u[t][e])})}),n=\
(Fa-s*i)/n,c=0,h=-1;++h<i;){for(f=c,g=-1;++g<i;){var y=d[h],M=m[y][g],x=u[y][M]\
,b=c,_=c+=x*n;p[y+\"-\"+M]={index:y,subindex:M,startAngle:b,endAngle:_,value:x}}r\
[y]={index:y,startAngle:f,endAngle:c,value:v[y]},c+=s}for(h=-1;++h<i;)for(g=h-1\
;++g<i;){var w=p[h+\"-\"+g],S=p[g+\"-\"+h];(w.value||S.value)&&e.push(w.value<S.val\
ue?{source:S,target:w}:{source:w,target:S})}l&&t()}function t(){e.sort(function\
(n,t){return l((n.source.value+n.target.value)/2,(t.source.value+t.target.value\
)/2)})}var e,r,u,i,a,o,l,c={},s=0;return c.matrix=function(n){return arguments.\
length?(i=(u=n)&&u.length,e=r=null,c):u},c.padding=function(n){return arguments\
.length?(s=n,e=r=null,c):s},c.sortGroups=function(n){return arguments.length?(a\
=n,e=r=null,c):a},c.sortSubgroups=function(n){return arguments.length?(o=n,e=nu\
ll,c):o},c.sortChords=function(n){return arguments.length?(l=n,e&&t(),c):l},c.c\
hords=function(){return e||n(),e},c.groups=function(){return r||n(),r},c},oa.la\
yout.force=function(){function n(n){return function(t,e,r,u){if(t.point!==n){va\
r i=t.cx-n.x,a=t.cy-n.y,o=u-e,l=i*i+a*a;if(l>o*o/m){if(v>l){var c=t.charge/l;n.\
px-=i*c,n.py-=a*c}return!0}if(t.point&&l&&v>l){var c=t.pointCharge/l;n.px-=i*c,\
n.py-=a*c}}return!t.charge}}function t(n){n.px=oa.event.x,n.py=oa.event.y,l.res\
ume()}var e,r,u,i,a,o,l={},c=oa.dispatch(\"start\",\"tick\",\"end\"),s=[1,1],f=.9,h=y\
l,g=Ml,p=-30,v=xl,d=.1,m=.64,M=[],x=[];return l.tick=function(){if((u*=.99)<.00\
5)return e=null,c.end({type:\"end\",alpha:u=0}),!0;var t,r,l,h,g,v,m,y,b,_=M.leng\
th,w=x.length;for(r=0;w>r;++r)l=x[r],h=l.source,g=l.target,y=g.x-h.x,b=g.y-h.y,\
(v=y*y+b*b)&&(v=u*a[r]*((v=Math.sqrt(v))-i[r])/v,y*=v,b*=v,g.x-=y*(m=h.weight+g\
.weight?h.weight/(h.weight+g.weight):.5),g.y-=b*m,h.x+=y*(m=1-m),h.y+=b*m);if((\
m=u*d)&&(y=s[0]/2,b=s[1]/2,r=-1,m))for(;++r<_;)l=M[r],l.x+=(y-l.x)*m,l.y+=(b-l.\
y)*m;if(p)for(ru(t=oa.geom.quadtree(M),u,o),r=-1;++r<_;)(l=M[r]).fixed||t.visit\
(n(l));for(r=-1;++r<_;)l=M[r],l.fixed?(l.x=l.px,l.y=l.py):(l.x-=(l.px-(l.px=l.x\
))*f,l.y-=(l.py-(l.py=l.y))*f);c.tick({type:\"tick\",alpha:u})},l.nodes=function(\
n){return arguments.length?(M=n,l):M},l.links=function(n){return arguments.leng\
th?(x=n,l):x},l.size=function(n){return arguments.length?(s=n,l):s},l.linkDista\
nce=function(n){return arguments.length?(h=\"function\"==typeof n?n:+n,l):h},l.di\
stance=l.linkDistance,l.linkStrength=function(n){return arguments.length?(g=\"fu\
nction\"==typeof n?n:+n,l):g},l.friction=function(n){return arguments.length?(f=\
+n,l):f},l.charge=function(n){return arguments.length?(p=\"function\"==typeof n?n\
:+n,l):p},l.chargeDistance=function(n){return arguments.length?(v=n*n,l):Math.s\
qrt(v)},l.gravity=function(n){return arguments.length?(d=+n,l):d},l.theta=funct\
ion(n){return arguments.length?(m=n*n,l):Math.sqrt(m)},l.alpha=function(n){retu\
rn arguments.length?(n=+n,u?n>0?u=n:(e.c=null,e.t=NaN,e=null,c.end({type:\"end\",\
alpha:u=0})):n>0&&(c.start({type:\"start\",alpha:u=n}),e=qn(l.tick)),l):u},l.star\
t=function(){function n(n,r){if(!e){for(e=new Array(u),l=0;u>l;++l)e[l]=[];for(\
l=0;c>l;++l){var i=x[l];e[i.source.index].push(i.target),e[i.target.index].push\
(i.source)}}for(var a,o=e[t],l=-1,s=o.length;++l<s;)if(!isNaN(a=o[l][n]))return\
 a;return Math.random()*r}var t,e,r,u=M.length,c=x.length,f=s[0],v=s[1];for(t=0\
;u>t;++t)(r=M[t]).index=t,r.weight=0;for(t=0;c>t;++t)r=x[t],\"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(t=0;u>t;++t)r=M[t],isNaN(r.x)&&(r.x=n\
(\"x\",f)),isNaN(r.y)&&(r.y=n(\"y\",v)),isNaN(r.px)&&(r.px=r.x),isNaN(r.py)&&(r.py=\
r.y);if(i=[],\"function\"==typeof h)for(t=0;c>t;++t)i[t]=+h.call(this,x[t],t);els\
e for(t=0;c>t;++t)i[t]=h;if(a=[],\"function\"==typeof g)for(t=0;c>t;++t)a[t]=+g.c\
all(this,x[t],t);else for(t=0;c>t;++t)a[t]=g;if(o=[],\"function\"==typeof p)for(t\
=0;u>t;++t)o[t]=+p.call(this,M[t],t);else for(t=0;u>t;++t)o[t]=p;return l.resum\
e()},l.resume=function(){return l.alpha(.1)},l.stop=function(){return l.alpha(0\
)},l.drag=function(){return r||(r=oa.behavior.drag().origin(y).on(\"dragstart.fo\
rce\",Qr).on(\"drag.force\",t).on(\"dragend.force\",nu)),arguments.length?void this.\
on(\"mouseover.force\",tu).on(\"mouseout.force\",eu).call(r):r},oa.rebind(l,c,\"on\")\
};var yl=20,Ml=1,xl=1/0;oa.layout.hierarchy=function(){function n(u){var i,a=[u\
],o=[];for(u.depth=0;null!=(i=a.pop());)if(o.push(i),(c=e.call(n,i,i.depth))&&(\
l=c.length)){for(var l,c,s;--l>=0;)a.push(s=c[l]),s.parent=i,s.depth=i.depth+1;\
r&&(i.value=0),i.children=c}else r&&(i.value=+r.call(n,i,i.depth)||0),delete i.\
children;return au(u,function(n){var e,u;t&&(e=n.children)&&e.sort(t),r&&(u=n.p\
arent)&&(u.value+=n.value)}),o}var t=cu,e=ou,r=lu;return n.sort=function(e){ret\
urn arguments.length?(t=e,n):t},n.children=function(t){return arguments.length?\
(e=t,n):e},n.value=function(t){return arguments.length?(r=t,n):r},n.revalue=fun\
ction(t){return r&&(iu(t,function(n){n.children&&(n.value=0)}),au(t,function(t)\
{var e;t.children||(t.value=+r.call(n,t,t.depth)||0),(e=t.parent)&&(e.value+=t.\
value)})),t},n},oa.layout.partition=function(){function n(t,e,r,u){var i=t.chil\
dren;if(t.x=e,t.y=t.depth*u,t.dx=r,t.dy=u,i&&(a=i.length)){var a,o,l,c=-1;for(r\
=t.value?r/t.value:0;++c<a;)n(o=i[c],e,l=o.value*r,u),e+=l}}function t(n){var e\
=n.children,r=0;if(e&&(u=e.length))for(var u,i=-1;++i<u;)r=Math.max(r,t(e[i]));\
return 1+r}function e(e,i){var a=r.call(this,e,i);return n(a[0],0,u[0],u[1]/t(a\
[0])),a}var r=oa.layout.hierarchy(),u=[1,1];return e.size=function(n){return ar\
guments.length?(u=n,e):u},uu(e,r)},oa.layout.pie=function(){function n(a){var o\
,l=a.length,c=a.map(function(e,r){return+t.call(n,e,r)}),s=+(\"function\"==typeof\
 r?r.apply(this,arguments):r),f=(\"function\"==typeof u?u.apply(this,arguments):u\
)-s,h=Math.min(Math.abs(f)/l,+(\"function\"==typeof i?i.apply(this,arguments):i))\
,g=h*(0>f?-1:1),p=oa.sum(c),v=p?(f-l*g)/p:0,d=oa.range(l),m=[];return null!=e&&\
d.sort(e===bl?function(n,t){return c[t]-c[n]}:function(n,t){return e(a[n],a[t])\
}),d.forEach(function(n){m[n]={data:a[n],value:o=c[n],startAngle:s,endAngle:s+=\
o*v+g,padAngle:h}}),m}var t=Number,e=bl,r=0,u=Fa,i=0;return n.value=function(e)\
{return arguments.length?(t=e,n):t},n.sort=function(t){return arguments.length?\
(e=t,n):e},n.startAngle=function(t){return arguments.length?(r=t,n):r},n.endAng\
le=function(t){return arguments.length?(u=t,n):u},n.padAngle=function(t){return\
 arguments.length?(i=t,n):i},n};var bl={};oa.layout.stack=function(){function n\
(o,l){if(!(h=o.length))return o;var c=o.map(function(e,r){return t.call(n,e,r)}\
),s=c.map(function(t){return t.map(function(t,e){return[i.call(n,t,e),a.call(n,\
t,e)]})}),f=e.call(n,s,l);c=oa.permute(c,f),s=oa.permute(s,f);var h,g,p,v,d=r.c\
all(n,s,l),m=c[0].length;for(p=0;m>p;++p)for(u.call(n,c[0][p],v=d[p],s[0][p][1]\
),g=1;h>g;++g)u.call(n,c[g][p],v+=s[g-1][p][1],s[g][p][1]);return o}var t=y,e=p\
u,r=vu,u=gu,i=fu,a=hu;return n.values=function(e){return arguments.length?(t=e,\
n):t},n.order=function(t){return arguments.length?(e=\"function\"==typeof t?t:_l.\
get(t)||pu,n):e},n.offset=function(t){return arguments.length?(r=\"function\"==ty\
peof t?t:wl.get(t)||vu,n):r},n.x=function(t){return arguments.length?(i=t,n):i}\
,n.y=function(t){return arguments.length?(a=t,n):a},n.out=function(t){return ar\
guments.length?(u=t,n):u},n};var _l=oa.map({\"inside-out\":function(n){var t,e,r=\
n.length,u=n.map(du),i=n.map(mu),a=oa.range(r).sort(function(n,t){return u[n]-u\
[t]}),o=0,l=0,c=[],s=[];for(t=0;r>t;++t)e=a[t],l>o?(o+=i[e],c.push(e)):(l+=i[e]\
,s.push(e));return s.reverse().concat(c)},reverse:function(n){return oa.range(n\
.length).reverse()},\"default\":pu}),wl=oa.map({silhouette:function(n){var t,e,r,\
u=n.length,i=n[0].length,a=[],o=0,l=[];for(e=0;i>e;++e){for(t=0,r=0;u>t;t++)r+=\
n[t][e][1];r>o&&(o=r),a.push(r)}for(e=0;i>e;++e)l[e]=(o-a[e])/2;return l},wiggl\
e:function(n){var t,e,r,u,i,a,o,l,c,s=n.length,f=n[0],h=f.length,g=[];for(g[0]=\
l=c=0,e=1;h>e;++e){for(t=0,u=0;s>t;++t)u+=n[t][e][1];for(t=0,i=0,o=f[e][0]-f[e-\
1][0];s>t;++t){for(r=0,a=(n[t][e][1]-n[t][e-1][1])/(2*o);t>r;++r)a+=(n[r][e][1]\
-n[r][e-1][1])/o;i+=a*n[t][e][1]}g[e]=l-=u?i/u*o:0,c>l&&(c=l)}for(e=0;h>e;++e)g\
[e]-=c;return g},expand:function(n){var t,e,r,u=n.length,i=n[0].length,a=1/u,o=\
[];for(e=0;i>e;++e){for(t=0,r=0;u>t;t++)r+=n[t][e][1];if(r)for(t=0;u>t;t++)n[t]\
[e][1]/=r;else for(t=0;u>t;t++)n[t][e][1]=a}for(e=0;i>e;++e)o[e]=0;return o},ze\
ro:vu});oa.layout.histogram=function(){function n(n,i){for(var a,o,l=[],c=n.map\
(e,this),s=r.call(this,c,i),f=u.call(this,s,c,i),i=-1,h=c.length,g=f.length-1,p\
=t?1:1/h;++i<g;)a=l[i]=[],a.dx=f[i+1]-(a.x=f[i]),a.y=0;if(g>0)for(i=-1;++i<h;)o\
=c[i],o>=s[0]&&o<=s[1]&&(a=l[oa.bisect(f,o,1,g)-1],a.y+=p,a.push(n[i]));return \
l}var t=!0,e=Number,r=bu,u=Mu;return n.value=function(t){return arguments.lengt\
h?(e=t,n):e},n.range=function(t){return arguments.length?(r=En(t),n):r},n.bins=\
function(t){return arguments.length?(u=\"number\"==typeof t?function(n){return xu\
(n,t)}:En(t),n):u},n.frequency=function(e){return arguments.length?(t=!!e,n):t}\
,n},oa.layout.pack=function(){function n(n,i){var a=e.call(this,n,i),o=a[0],l=u\
[0],c=u[1],s=null==t?Math.sqrt:\"function\"==typeof t?t:function(){return t};if(o\
.x=o.y=0,au(o,function(n){n.r=+s(n.value)}),au(o,Nu),r){var f=r*(t?1:Math.max(2\
*o.r/l,2*o.r/c))/2;au(o,function(n){n.r+=f}),au(o,Nu),au(o,function(n){n.r-=f})\
}return Cu(o,l/2,c/2,t?1:1/Math.max(2*o.r/l,2*o.r/c)),a}var t,e=oa.layout.hiera\
rchy().sort(_u),r=0,u=[1,1];return n.size=function(t){return arguments.length?(\
u=t,n):u},n.radius=function(e){return arguments.length?(t=null==e||\"function\"==\
typeof e?e:+e,n):t},n.padding=function(t){return arguments.length?(r=+t,n):r},u\
u(n,e)},oa.layout.tree=function(){function n(n,u){var s=a.call(this,n,u),f=s[0]\
,h=t(f);if(au(h,e),h.parent.m=-h.z,iu(h,r),c)iu(f,i);else{var g=f,p=f,v=f;iu(f,\
function(n){n.x<g.x&&(g=n),n.x>p.x&&(p=n),n.depth>v.depth&&(v=n)});var d=o(g,p)\
/2-g.x,m=l[0]/(p.x+o(p,g)/2+d),y=l[1]/(v.depth||1);iu(f,function(n){n.x=(n.x+d)\
*m,n.y=n.depth*y})}return s}function t(n){for(var t,e={A:null,children:[n]},r=[\
e];null!=(t=r.pop());)for(var u,i=t.children,a=0,o=i.length;o>a;++a)r.push((i[a\
]=u={_:i[a],parent:t,children:(u=i[a].children)&&u.slice()||[],A:null,a:null,z:\
0,m:0,c:0,s:0,t:null,i:a}).a=u);return e.children[0]}function e(n){var t=n.chil\
dren,e=n.parent.children,r=n.i?e[n.i-1]:null;if(t.length){Du(n);var i=(t[0].z+t\
[t.length-1].z)/2;r?(n.z=r.z+o(n._,r._),n.m=n.z-i):n.z=i}else r&&(n.z=r.z+o(n._\
,r._));n.parent.A=u(n,r,n.parent.A||e[0])}function r(n){n._.x=n.z+n.parent.m,n.\
m+=n.parent.m}function u(n,t,e){if(t){for(var r,u=n,i=n,a=t,l=u.parent.children\
[0],c=u.m,s=i.m,f=a.m,h=l.m;a=Tu(a),u=qu(u),a&&u;)l=qu(l),i=Tu(i),i.a=n,r=a.z+f\
-u.z-c+o(a._,u._),r>0&&(Ru(Pu(a,n,e),n,r),c+=r,s+=r),f+=a.m,c+=u.m,h+=l.m,s+=i.\
m;a&&!Tu(i)&&(i.t=a,i.m+=f-s),u&&!qu(l)&&(l.t=u,l.m+=c-h,e=n)}return e}function\
 i(n){n.x*=l[0],n.y=n.depth*l[1]}var a=oa.layout.hierarchy().sort(null).value(n\
ull),o=Lu,l=[1,1],c=null;return n.separation=function(t){return arguments.lengt\
h?(o=t,n):o},n.size=function(t){return arguments.length?(c=null==(l=t)?i:null,n\
):c?null:l},n.nodeSize=function(t){return arguments.length?(c=null==(l=t)?null:\
i,n):c?l:null},uu(n,a)},oa.layout.cluster=function(){function n(n,i){var a,o=t.\
call(this,n,i),l=o[0],c=0;au(l,function(n){var t=n.children;t&&t.length?(n.x=ju\
(t),n.y=Uu(t)):(n.x=a?c+=e(n,a):0,n.y=0,a=n)});var s=Fu(l),f=Hu(l),h=s.x-e(s,f)\
/2,g=f.x+e(f,s)/2;return au(l,u?function(n){n.x=(n.x-l.x)*r[0],n.y=(l.y-n.y)*r[\
1]}:function(n){n.x=(n.x-h)/(g-h)*r[0],n.y=(1-(l.y?n.y/l.y:1))*r[1]}),o}var t=o\
a.layout.hierarchy().sort(null).value(null),e=Lu,r=[1,1],u=!1;return n.separati\
on=function(t){return arguments.length?(e=t,n):e},n.size=function(t){return arg\
uments.length?(u=null==(r=t),n):u?null:r},n.nodeSize=function(t){return argumen\
ts.length?(u=null!=(r=t),n):u?r:null},uu(n,t)},oa.layout.treemap=function(){fun\
ction n(n,t){for(var e,r,u=-1,i=n.length;++u<i;)r=(e=n[u]).value*(0>t?0:t),e.ar\
ea=isNaN(r)||0>=r?0:r}function t(e){var i=e.children;if(i&&i.length){var a,o,l,\
c=f(e),s=[],h=i.slice(),p=1/0,v=\"slice\"===g?c.dx:\"dice\"===g?c.dy:\"slice-dice\"==\
=g?1&e.depth?c.dy:c.dx:Math.min(c.dx,c.dy);for(n(h,c.dx*c.dy/e.value),s.area=0;\
(l=h.length)>0;)s.push(a=h[l-1]),s.area+=a.area,\"squarify\"!==g||(o=r(s,v))<=p?(\
h.pop(),p=o):(s.area-=s.pop().area,u(s,v,c,!1),v=Math.min(c.dx,c.dy),s.length=s\
.area=0,p=1/0);s.length&&(u(s,v,c,!0),s.length=s.area=0),i.forEach(t)}}function\
 e(t){var r=t.children;if(r&&r.length){var i,a=f(t),o=r.slice(),l=[];for(n(o,a.\
dx*a.dy/t.value),l.area=0;i=o.pop();)l.push(i),l.area+=i.area,null!=i.z&&(u(l,i\
.z?a.dx:a.dy,a,!o.length),l.length=l.area=0);r.forEach(e)}}function r(n,t){for(\
var e,r=n.area,u=0,i=1/0,a=-1,o=n.length;++a<o;)(e=n[a].area)&&(i>e&&(i=e),e>u&\
&(u=e));return r*=r,t*=t,r?Math.max(t*u*p/r,r/(t*i*p)):1/0}function u(n,t,e,r){\
var u,i=-1,a=n.length,o=e.x,c=e.y,s=t?l(n.area/t):0;
if(t==e.dx){for((r||s>e.dy)&&(s=e.dy);++i<a;)u=n[i],u.x=o,u.y=c,u.dy=s,o+=u.dx=\
Math.min(e.x+e.dx-o,s?l(u.area/s):0);u.z=!0,u.dx+=e.x+e.dx-o,e.y+=s,e.dy-=s}els\
e{for((r||s>e.dx)&&(s=e.dx);++i<a;)u=n[i],u.x=o,u.y=c,u.dx=s,c+=u.dy=Math.min(e\
.y+e.dy-c,s?l(u.area/s):0);u.z=!1,u.dy+=e.y+e.dy-c,e.x+=s,e.dx-=s}}function i(r\
){var u=a||o(r),i=u[0];return i.x=i.y=0,i.value?(i.dx=c[0],i.dy=c[1]):i.dx=i.dy\
=0,a&&o.revalue(i),n([i],i.dx*i.dy/i.value),(a?e:t)(i),h&&(a=u),u}var a,o=oa.la\
yout.hierarchy(),l=Math.round,c=[1,1],s=null,f=Ou,h=!1,g=\"squarify\",p=.5*(1+Mat\
h.sqrt(5));return i.size=function(n){return arguments.length?(c=n,i):c},i.paddi\
ng=function(n){function t(t){var e=n.call(i,t,t.depth);return null==e?Ou(t):Iu(\
t,\"number\"==typeof e?[e,e,e,e]:e)}function e(t){return Iu(t,n)}if(!arguments.le\
ngth)return s;var r;return f=null==(s=n)?Ou:\"function\"==(r=typeof n)?t:\"number\"\
===r?(n=[n,n,n,n],e):e,i},i.round=function(n){return arguments.length?(l=n?Math\
.round:Number,i):l!=Number},i.sticky=function(n){return arguments.length?(h=n,a\
=null,i):h},i.ratio=function(n){return arguments.length?(p=n,i):p},i.mode=funct\
ion(n){return arguments.length?(g=n+\"\",i):g},uu(i,o)},oa.random={normal:functio\
n(n,t){var e=arguments.length;return 2>e&&(t=1),1>e&&(n=0),function(){var e,r,u\
;do e=2*Math.random()-1,r=2*Math.random()-1,u=e*e+r*r;while(!u||u>1);return n+t\
*e*Math.sqrt(-2*Math.log(u)/u)}},logNormal:function(){var n=oa.random.normal.ap\
ply(oa,arguments);return function(){return Math.exp(n())}},bates:function(n){va\
r t=oa.random.irwinHall(n);return function(){return t()/n}},irwinHall:function(\
n){return function(){for(var t=0,e=0;n>e;e++)t+=Math.random();return t}}},oa.sc\
ale={};var Sl={floor:y,ceil:y};oa.scale.linear=function(){return Wu([0,1],[0,1]\
,Mr,!1)};var kl={s:1,g:1,p:1,r:1,e:1};oa.scale.log=function(){return ri(oa.scal\
e.linear().domain([0,1]),10,!0,[1,10])};var Nl=oa.format(\".0e\"),El={floor:funct\
ion(n){return-Math.ceil(-n)},ceil:function(n){return-Math.floor(-n)}};oa.scale.\
pow=function(){return ui(oa.scale.linear(),1,[0,1])},oa.scale.sqrt=function(){r\
eturn oa.scale.pow().exponent(.5)},oa.scale.ordinal=function(){return ai([],{t:\
\"range\",a:[[]]})},oa.scale.category10=function(){return oa.scale.ordinal().rang\
e(Al)},oa.scale.category20=function(){return oa.scale.ordinal().range(Cl)},oa.s\
cale.category20b=function(){return oa.scale.ordinal().range(zl)},oa.scale.categ\
ory20c=function(){return oa.scale.ordinal().range(Ll)};var Al=[2062260,16744206\
,2924588,14034728,9725885,9197131,14907330,8355711,12369186,1556175].map(xn),Cl\
=[2062260,11454440,16744206,16759672,2924588,10018698,14034728,16750742,9725885\
,12955861,9197131,12885140,14907330,16234194,8355711,13092807,12369186,14408589\
,1556175,10410725].map(xn),zl=[3750777,5395619,7040719,10264286,6519097,9216594\
,11915115,13556636,9202993,12426809,15186514,15190932,8666169,11356490,14049643\
,15177372,8077683,10834324,13528509,14589654].map(xn),Ll=[3244733,7057110,10406\
625,13032431,15095053,16616764,16625259,16634018,3253076,7652470,10607003,13101\
504,7695281,10394312,12369372,14342891,6513507,9868950,12434877,14277081].map(x\
n);oa.scale.quantile=function(){return oi([],[])},oa.scale.quantize=function(){\
return li(0,1,[0,1])},oa.scale.threshold=function(){return ci([.5],[0,1])},oa.s\
cale.identity=function(){return si([0,1])},oa.svg={},oa.svg.arc=function(){func\
tion n(){var n=Math.max(0,+e.apply(this,arguments)),c=Math.max(0,+r.apply(this,\
arguments)),s=a.apply(this,arguments)-Oa,f=o.apply(this,arguments)-Oa,h=Math.ab\
s(f-s),g=s>f?0:1;if(n>c&&(p=c,c=n,n=p),h>=Ha)return t(c,g)+(n?t(n,1-g):\"\")+\"Z\";\
var p,v,d,m,y,M,x,b,_,w,S,k,N=0,E=0,A=[];if((m=(+l.apply(this,arguments)||0)/2)\
&&(d=i===ql?Math.sqrt(n*n+c*c):+i.apply(this,arguments),g||(E*=-1),c&&(E=tn(d/c\
*Math.sin(m))),n&&(N=tn(d/n*Math.sin(m)))),c){y=c*Math.cos(s+E),M=c*Math.sin(s+\
E),x=c*Math.cos(f-E),b=c*Math.sin(f-E);var C=Math.abs(f-s-2*E)<=ja?0:1;if(E&&mi\
(y,M,x,b)===g^C){var z=(s+f)/2;y=c*Math.cos(z),M=c*Math.sin(z),x=b=null}}else y\
=M=0;if(n){_=n*Math.cos(f-N),w=n*Math.sin(f-N),S=n*Math.cos(s+N),k=n*Math.sin(s\
+N);var L=Math.abs(s-f+2*N)<=ja?0:1;if(N&&mi(_,w,S,k)===1-g^L){var q=(s+f)/2;_=\
n*Math.cos(q),w=n*Math.sin(q),S=k=null}}else _=w=0;if(h>Pa&&(p=Math.min(Math.ab\
s(c-n)/2,+u.apply(this,arguments)))>.001){v=c>n^g?0:1;var T=p,R=p;if(ja>h){var \
D=null==S?[_,w]:null==x?[y,M]:Re([y,M],[S,k],[x,b],[_,w]),P=y-D[0],U=M-D[1],j=x\
-D[0],F=b-D[1],H=1/Math.sin(Math.acos((P*j+U*F)/(Math.sqrt(P*P+U*U)*Math.sqrt(j\
*j+F*F)))/2),O=Math.sqrt(D[0]*D[0]+D[1]*D[1]);R=Math.min(p,(n-O)/(H-1)),T=Math.\
min(p,(c-O)/(H+1))}if(null!=x){var I=yi(null==S?[_,w]:[S,k],[y,M],c,T,g),Y=yi([\
x,b],[_,w],c,T,g);p===T?A.push(\"M\",I[0],\"A\",T,\",\",T,\" 0 0,\",v,\" \",I[1],\"A\",c,\",\
\",c,\" 0 \",1-g^mi(I[1][0],I[1][1],Y[1][0],Y[1][1]),\",\",g,\" \",Y[1],\"A\",T,\",\",T,\" \
0 0,\",v,\" \",Y[0]):A.push(\"M\",I[0],\"A\",T,\",\",T,\" 0 1,\",v,\" \",Y[0])}else A.push(\"\
M\",y,\",\",M);if(null!=S){var Z=yi([y,M],[S,k],n,-R,g),V=yi([_,w],null==x?[y,M]:[\
x,b],n,-R,g);p===R?A.push(\"L\",V[0],\"A\",R,\",\",R,\" 0 0,\",v,\" \",V[1],\"A\",n,\",\",n,\"\
 0 \",g^mi(V[1][0],V[1][1],Z[1][0],Z[1][1]),\",\",1-g,\" \",Z[1],\"A\",R,\",\",R,\" 0 0,\"\
,v,\" \",Z[0]):A.push(\"L\",V[0],\"A\",R,\",\",R,\" 0 0,\",v,\" \",Z[0])}else A.push(\"L\",_,\
\",\",w)}else A.push(\"M\",y,\",\",M),null!=x&&A.push(\"A\",c,\",\",c,\" 0 \",C,\",\",g,\" \",x\
,\",\",b),A.push(\"L\",_,\",\",w),null!=S&&A.push(\"A\",n,\",\",n,\" 0 \",L,\",\",1-g,\" \",S,\"\
,\",k);return A.push(\"Z\"),A.join(\"\")}function t(n,t){return\"M0,\"+n+\"A\"+n+\",\"+n+\"\
 0 1,\"+t+\" 0,\"+-n+\"A\"+n+\",\"+n+\" 0 1,\"+t+\" 0,\"+n}var e=hi,r=gi,u=fi,i=ql,a=pi,o=\
vi,l=di;return n.innerRadius=function(t){return arguments.length?(e=En(t),n):e}\
,n.outerRadius=function(t){return arguments.length?(r=En(t),n):r},n.cornerRadiu\
s=function(t){return arguments.length?(u=En(t),n):u},n.padRadius=function(t){re\
turn arguments.length?(i=t==ql?ql:En(t),n):i},n.startAngle=function(t){return a\
rguments.length?(a=En(t),n):a},n.endAngle=function(t){return arguments.length?(\
o=En(t),n):o},n.padAngle=function(t){return arguments.length?(l=En(t),n):l},n.c\
entroid=function(){var n=(+e.apply(this,arguments)+ +r.apply(this,arguments))/2\
,t=(+a.apply(this,arguments)+ +o.apply(this,arguments))/2-Oa;return[Math.cos(t)\
*n,Math.sin(t)*n]},n};var ql=\"auto\";oa.svg.line=function(){return Mi(y)};var Tl\
=oa.map({linear:xi,\"linear-closed\":bi,step:_i,\"step-before\":wi,\"step-after\":Si,\
basis:zi,\"basis-open\":Li,\"basis-closed\":qi,bundle:Ti,cardinal:Ei,\"cardinal-open\
\":ki,\"cardinal-closed\":Ni,monotone:Fi});Tl.forEach(function(n,t){t.key=n,t.clos\
ed=/-closed$/.test(n)});var Rl=[0,2/3,1/3,0],Dl=[0,1/3,2/3,0],Pl=[0,1/6,2/3,1/6\
];oa.svg.line.radial=function(){var n=Mi(Hi);return n.radius=n.x,delete n.x,n.a\
ngle=n.y,delete n.y,n},wi.reverse=Si,Si.reverse=wi,oa.svg.area=function(){retur\
n Oi(y)},oa.svg.area.radial=function(){var n=Oi(Hi);return n.radius=n.x,delete \
n.x,n.innerRadius=n.x0,delete n.x0,n.outerRadius=n.x1,delete n.x1,n.angle=n.y,d\
elete n.y,n.startAngle=n.y0,delete n.y0,n.endAngle=n.y1,delete n.y1,n},oa.svg.c\
hord=function(){function n(n,o){var l=t(this,i,n,o),c=t(this,a,n,o);return\"M\"+l\
.p0+r(l.r,l.p1,l.a1-l.a0)+(e(l,c)?u(l.r,l.p1,l.r,l.p0):u(l.r,l.p1,c.r,c.p0)+r(c\
.r,c.p1,c.a1-c.a0)+u(c.r,c.p1,l.r,l.p0))+\"Z\"}function t(n,t,e,r){var u=t.call(n\
,e,r),i=o.call(n,u,r),a=l.call(n,u,r)-Oa,s=c.call(n,u,r)-Oa;return{r:i,a0:a,a1:\
s,p0:[i*Math.cos(a),i*Math.sin(a)],p1:[i*Math.cos(s),i*Math.sin(s)]}}function e\
(n,t){return n.a0==t.a0&&n.a1==t.a1}function r(n,t,e){return\"A\"+n+\",\"+n+\" 0 \"+ \
+(e>ja)+\",1 \"+t}function u(n,t,e,r){return\"Q 0,0 \"+r}var i=Me,a=xe,o=Ii,l=pi,c=\
vi;return n.radius=function(t){return arguments.length?(o=En(t),n):o},n.source=\
function(t){return arguments.length?(i=En(t),n):i},n.target=function(t){return \
arguments.length?(a=En(t),n):a},n.startAngle=function(t){return arguments.lengt\
h?(l=En(t),n):l},n.endAngle=function(t){return arguments.length?(c=En(t),n):c},\
n},oa.svg.diagonal=function(){function n(n,u){var i=t.call(this,n,u),a=e.call(t\
his,n,u),o=(i.y+a.y)/2,l=[i,{x:i.x,y:o},{x:a.x,y:o},a];return l=l.map(r),\"M\"+l[\
0]+\"C\"+l[1]+\" \"+l[2]+\" \"+l[3]}var t=Me,e=xe,r=Yi;return n.source=function(e){re\
turn arguments.length?(t=En(e),n):t},n.target=function(t){return arguments.leng\
th?(e=En(t),n):e},n.projection=function(t){return arguments.length?(r=t,n):r},n\
},oa.svg.diagonal.radial=function(){var n=oa.svg.diagonal(),t=Yi,e=n.projection\
;return n.projection=function(n){return arguments.length?e(Zi(t=n)):t},n},oa.sv\
g.symbol=function(){function n(n,r){return(Ul.get(t.call(this,n,r))||$i)(e.call\
(this,n,r))}var t=Xi,e=Vi;return n.type=function(e){return arguments.length?(t=\
En(e),n):t},n.size=function(t){return arguments.length?(e=En(t),n):e},n};var Ul\
=oa.map({circle:$i,cross:function(n){var t=Math.sqrt(n/5)/2;return\"M\"+-3*t+\",\"+\
-t+\"H\"+-t+\"V\"+-3*t+\"H\"+t+\"V\"+-t+\"H\"+3*t+\"V\"+t+\"H\"+t+\"V\"+3*t+\"H\"+-t+\"V\"+t+\"H\"+-3\
*t+\"Z\"},diamond:function(n){var t=Math.sqrt(n/(2*Fl)),e=t*Fl;return\"M0,\"+-t+\"L\"\
+e+\",0 0,\"+t+\" \"+-e+\",0Z\"},square:function(n){var t=Math.sqrt(n)/2;return\"M\"+-t\
+\",\"+-t+\"L\"+t+\",\"+-t+\" \"+t+\",\"+t+\" \"+-t+\",\"+t+\"Z\"},\"triangle-down\":function(n){\
var t=Math.sqrt(n/jl),e=t*jl/2;return\"M0,\"+e+\"L\"+t+\",\"+-e+\" \"+-t+\",\"+-e+\"Z\"},\"t\
riangle-up\":function(n){var t=Math.sqrt(n/jl),e=t*jl/2;return\"M0,\"+-e+\"L\"+t+\",\"\
+e+\" \"+-t+\",\"+e+\"Z\"}});oa.svg.symbolTypes=Ul.keys();var jl=Math.sqrt(3),Fl=Math\
.tan(30*Ia);Aa.transition=function(n){for(var t,e,r=Hl||++Zl,u=Ki(n),i=[],a=Ol|\
|{time:Date.now(),ease:Nr,delay:0,duration:250},o=-1,l=this.length;++o<l;){i.pu\
sh(t=[]);for(var c=this[o],s=-1,f=c.length;++s<f;)(e=c[s])&&Qi(e,s,u,r,a),t.pus\
h(e)}return Wi(i,u,r)},Aa.interrupt=function(n){return this.each(null==n?Il:Bi(\
Ki(n)))};var Hl,Ol,Il=Bi(Ki()),Yl=[],Zl=0;Yl.call=Aa.call,Yl.empty=Aa.empty,Yl.\
node=Aa.node,Yl.size=Aa.size,oa.transition=function(n,t){return n&&n.transition\
?Hl?n.transition(t):n:oa.selection().transition(n)},oa.transition.prototype=Yl,\
Yl.select=function(n){var t,e,r,u=this.id,i=this.namespace,a=[];n=A(n);for(var \
o=-1,l=this.length;++o<l;){a.push(t=[]);for(var c=this[o],s=-1,f=c.length;++s<f\
;)(r=c[s])&&(e=n.call(r,r.__data__,s,o))?(\"__data__\"in r&&(e.__data__=r.__data_\
_),Qi(e,s,i,u,r[i][u]),t.push(e)):t.push(null)}return Wi(a,i,u)},Yl.selectAll=f\
unction(n){var t,e,r,u,i,a=this.id,o=this.namespace,l=[];n=C(n);for(var c=-1,s=\
this.length;++c<s;)for(var f=this[c],h=-1,g=f.length;++h<g;)if(r=f[h]){i=r[o][a\
],e=n.call(r,r.__data__,h,c),l.push(t=[]);for(var p=-1,v=e.length;++p<v;)(u=e[p\
])&&Qi(u,p,o,a,i),t.push(u)}return Wi(l,o,a)},Yl.filter=function(n){var t,e,r,u\
=[];\"function\"!=typeof n&&(n=O(n));for(var i=0,a=this.length;a>i;i++){u.push(t=\
[]);for(var e=this[i],o=0,l=e.length;l>o;o++)(r=e[o])&&n.call(r,r.__data__,o,i)\
&&t.push(r)}return Wi(u,this.namespace,this.id)},Yl.tween=function(n,t){var e=t\
his.id,r=this.namespace;return arguments.length<2?this.node()[r][e].tween.get(n\
):Y(this,null==t?function(t){t[r][e].tween.remove(n)}:function(u){u[r][e].tween\
.set(n,t)})},Yl.attr=function(n,t){function e(){this.removeAttribute(o)}functio\
n r(){this.removeAttributeNS(o.space,o.local)}function u(n){return null==n?e:(n\
+=\"\",function(){var t,e=this.getAttribute(o);return e!==n&&(t=a(e,n),function(n\
){this.setAttribute(o,t(n))})})}function i(n){return null==n?r:(n+=\"\",function(\
){var t,e=this.getAttributeNS(o.space,o.local);return e!==n&&(t=a(e,n),function\
(n){this.setAttributeNS(o.space,o.local,t(n))})})}if(arguments.length<2){for(t \
in n)this.attr(t,n[t]);return this}var a=\"transform\"==n?$r:Mr,o=oa.ns.qualify(n\
);return Ji(this,\"attr.\"+n,t,o.local?i:u)},Yl.attrTween=function(n,t){function \
e(n,e){var r=t.call(this,n,e,this.getAttribute(u));return r&&function(n){this.s\
etAttribute(u,r(n))}}function r(n,e){var r=t.call(this,n,e,this.getAttributeNS(\
u.space,u.local));return r&&function(n){this.setAttributeNS(u.space,u.local,r(n\
))}}var u=oa.ns.qualify(n);return this.tween(\"attr.\"+n,u.local?r:e)},Yl.style=f\
unction(n,e,r){function u(){this.style.removeProperty(n)}function i(e){return n\
ull==e?u:(e+=\"\",function(){var u,i=t(this).getComputedStyle(this,null).getPrope\
rtyValue(n);return i!==e&&(u=Mr(i,e),function(t){this.style.setProperty(n,u(t),\
r)})})}var a=arguments.length;if(3>a){if(\"string\"!=typeof n){2>a&&(e=\"\");for(r \
in n)this.style(r,n[r],e);return this}r=\"\"}return Ji(this,\"style.\"+n,e,i)},Yl.s\
tyleTween=function(n,e,r){function u(u,i){var a=e.call(this,u,i,t(this).getComp\
utedStyle(this,null).getPropertyValue(n));return a&&function(t){this.style.setP\
roperty(n,a(t),r)}}return arguments.length<3&&(r=\"\"),this.tween(\"style.\"+n,u)},\
Yl.text=function(n){return Ji(this,\"text\",n,Gi)},Yl.remove=function(){var n=thi\
s.namespace;return this.each(\"end.transition\",function(){var t;this[n].count<2&\
&(t=this.parentNode)&&t.removeChild(this)})},Yl.ease=function(n){var t=this.id,\
e=this.namespace;return arguments.length<1?this.node()[e][t].ease:(\"function\"!=\
typeof n&&(n=oa.ease.apply(oa,arguments)),Y(this,function(r){r[e][t].ease=n}))}\
,Yl.delay=function(n){var t=this.id,e=this.namespace;return arguments.length<1?\
this.node()[e][t].delay:Y(this,\"function\"==typeof n?function(r,u,i){r[e][t].del\
ay=+n.call(r,r.__data__,u,i)}:(n=+n,function(r){r[e][t].delay=n}))},Yl.duration\
=function(n){var t=this.id,e=this.namespace;return arguments.length<1?this.node\
()[e][t].duration:Y(this,\"function\"==typeof n?function(r,u,i){r[e][t].duration=\
Math.max(1,n.call(r,r.__data__,u,i))}:(n=Math.max(1,n),function(r){r[e][t].dura\
tion=n}))},Yl.each=function(n,t){var e=this.id,r=this.namespace;if(arguments.le\
ngth<2){var u=Ol,i=Hl;try{Hl=e,Y(this,function(t,u,i){Ol=t[r][e],n.call(t,t.__d\
ata__,u,i)})}finally{Ol=u,Hl=i}}else Y(this,function(u){var i=u[r][e];(i.event|\
|(i.event=oa.dispatch(\"start\",\"end\",\"interrupt\"))).on(n,t)});return this},Yl.tr\
ansition=function(){for(var n,t,e,r,u=this.id,i=++Zl,a=this.namespace,o=[],l=0,\
c=this.length;c>l;l++){o.push(n=[]);for(var t=this[l],s=0,f=t.length;f>s;s++)(e\
=t[s])&&(r=e[a][u],Qi(e,s,a,i,{time:r.time,ease:r.ease,delay:r.delay+r.duration\
,duration:r.duration})),n.push(e)}return Wi(o,a,i)},oa.svg.axis=function(){func\
tion n(n){n.each(function(){var n,c=oa.select(this),s=this.__chart__||e,f=this.\
__chart__=e.copy(),h=null==l?f.ticks?f.ticks.apply(f,o):f.domain():l,g=null==t?\
f.tickFormat?f.tickFormat.apply(f,o):y:t,p=c.selectAll(\".tick\").data(h,f),v=p.e\
nter().insert(\"g\",\".domain\").attr(\"class\",\"tick\").style(\"opacity\",Pa),d=oa.tran\
sition(p.exit()).style(\"opacity\",Pa).remove(),m=oa.transition(p.order()).style(\
\"opacity\",1),M=Math.max(u,0)+a,x=Zu(f),b=c.selectAll(\".domain\").data([0]),_=(b.\
enter().append(\"path\").attr(\"class\",\"domain\"),oa.transition(b));v.append(\"line\"\
),v.append(\"text\");var w,S,k,N,E=v.select(\"line\"),A=m.select(\"line\"),C=p.select\
(\"text\").text(g),z=v.select(\"text\"),L=m.select(\"text\"),q=\"top\"===r||\"left\"===r?\
-1:1;if(\"bottom\"===r||\"top\"===r?(n=na,w=\"x\",k=\"y\",S=\"x2\",N=\"y2\",C.attr(\"dy\",0>q\
?\"0em\":\".71em\").style(\"text-anchor\",\"middle\"),_.attr(\"d\",\"M\"+x[0]+\",\"+q*i+\"V0H\"\
+x[1]+\"V\"+q*i)):(n=ta,w=\"y\",k=\"x\",S=\"y2\",N=\"x2\",C.attr(\"dy\",\".32em\").style(\"tex\
t-anchor\",0>q?\"end\":\"start\"),_.attr(\"d\",\"M\"+q*i+\",\"+x[0]+\"H0V\"+x[1]+\"H\"+q*i)),E\
.attr(N,q*u),z.attr(k,q*M),A.attr(S,0).attr(N,q*u),L.attr(w,0).attr(k,q*M),f.ra\
ngeBand){var T=f,R=T.rangeBand()/2;s=f=function(n){return T(n)+R}}else s.rangeB\
and?s=f:d.call(n,f,s);v.call(n,s,f),m.call(n,f,f)})}var t,e=oa.scale.linear(),r\
=Vl,u=6,i=6,a=3,o=[10],l=null;return n.scale=function(t){return arguments.lengt\
h?(e=t,n):e},n.orient=function(t){return arguments.length?(r=t in Xl?t+\"\":Vl,n)\
:r},n.ticks=function(){return arguments.length?(o=ca(arguments),n):o},n.tickVal\
ues=function(t){return arguments.length?(l=t,n):l},n.tickFormat=function(e){ret\
urn arguments.length?(t=e,n):t},n.tickSize=function(t){var e=arguments.length;r\
eturn e?(u=+t,i=+arguments[e-1],n):u},n.innerTickSize=function(t){return argume\
nts.length?(u=+t,n):u},n.outerTickSize=function(t){return arguments.length?(i=+\
t,n):i},n.tickPadding=function(t){return arguments.length?(a=+t,n):a},n.tickSub\
divide=function(){return arguments.length&&n},n};var Vl=\"bottom\",Xl={top:1,righ\
t:1,bottom:1,left:1};oa.svg.brush=function(){function n(t){t.each(function(){va\
r t=oa.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=t.se\
lectAll(\".background\").data([0]);a.enter().append(\"rect\").attr(\"class\",\"backgro\
und\").style(\"visibility\",\"hidden\").style(\"cursor\",\"crosshair\"),t.selectAll(\".ex\
tent\").data([0]).enter().append(\"rect\").attr(\"class\",\"extent\").style(\"cursor\",\"\
move\");var o=t.selectAll(\".resize\").data(v,y);o.exit().remove(),o.enter().appen\
d(\"g\").attr(\"class\",function(n){return\"resize \"+n}).style(\"cursor\",function(n){\
return $l[n]}).append(\"rect\").attr(\"x\",function(n){return/[ew]$/.test(n)?-3:nul\
l}).attr(\"y\",function(n){return/^[ns]/.test(n)?-3:null}).attr(\"width\",6).attr(\"\
height\",6).style(\"visibility\",\"hidden\"),o.style(\"display\",n.empty()?\"none\":null\
);var l,f=oa.transition(t),h=oa.transition(a);c&&(l=Zu(c),h.attr(\"x\",l[0]).attr\
(\"width\",l[1]-l[0]),r(f)),s&&(l=Zu(s),h.attr(\"y\",l[0]).attr(\"height\",l[1]-l[0])\
,u(f)),e(f)})}function e(n){n.selectAll(\".resize\").attr(\"transform\",function(n)\
{return\"translate(\"+f[+/e$/.test(n)]+\",\"+h[+/^s/.test(n)]+\")\"})}function r(n){n\
.select(\".extent\").attr(\"x\",f[0]),n.selectAll(\".extent,.n>rect,.s>rect\").attr(\"\
width\",f[1]-f[0])}function u(n){n.select(\".extent\").attr(\"y\",h[0]),n.selectAll(\
\".extent,.e>rect,.w>rect\").attr(\"height\",h[1]-h[0])}function i(){function i(){3\
2==oa.event.keyCode&&(C||(M=null,L[0]-=f[1],L[1]-=h[1],C=2),S())}function v(){3\
2==oa.event.keyCode&&2==C&&(L[0]+=f[1],L[1]+=h[1],C=0,S())}function d(){var n=o\
a.mouse(b),t=!1;x&&(n[0]+=x[0],n[1]+=x[1]),C||(oa.event.altKey?(M||(M=[(f[0]+f[\
1])/2,(h[0]+h[1])/2]),L[0]=f[+(n[0]<M[0])],L[1]=h[+(n[1]<M[1])]):M=null),E&&m(n\
,c,0)&&(r(k),t=!0),A&&m(n,s,1)&&(u(k),t=!0),t&&(e(k),w({type:\"brush\",mode:C?\"mo\
ve\":\"resize\"}))}function m(n,t,e){var r,u,i=Zu(t),l=i[0],c=i[1],s=L[e],v=e?h:f,\
d=v[1]-v[0];return C&&(l-=s,c-=d+s),r=(e?p:g)?Math.max(l,Math.min(c,n[e])):n[e]\
,C?u=(r+=s)+d:(M&&(s=Math.max(l,Math.min(c,2*M[e]-r))),r>s?(u=r,r=s):u=s),v[0]!\
=r||v[1]!=u?(e?o=null:a=null,v[0]=r,v[1]=u,!0):void 0}function y(){d(),k.style(\
\"pointer-events\",\"all\").selectAll(\".resize\").style(\"display\",n.empty()?\"none\":n\
ull),oa.select(\"body\").style(\"cursor\",null),q.on(\"mousemove.brush\",null).on(\"mo\
useup.brush\",null).on(\"touchmove.brush\",null).on(\"touchend.brush\",null).on(\"key\
down.brush\",null).on(\"keyup.brush\",null),z(),w({type:\"brushend\"})}var M,x,b=thi\
s,_=oa.select(oa.event.target),w=l.of(b,arguments),k=oa.select(b),N=_.datum(),E\
=!/^(n|s)$/.test(N)&&c,A=!/^(e|w)$/.test(N)&&s,C=_.classed(\"extent\"),z=W(b),L=o\
a.mouse(b),q=oa.select(t(b)).on(\"keydown.brush\",i).on(\"keyup.brush\",v);if(oa.ev\
ent.changedTouches?q.on(\"touchmove.brush\",d).on(\"touchend.brush\",y):q.on(\"mouse\
move.brush\",d).on(\"mouseup.brush\",y),k.interrupt().selectAll(\"*\").interrupt(),C\
)L[0]=f[0]-L[0],L[1]=h[0]-L[1];else if(N){var T=+/w$/.test(N),R=+/^n/.test(N);x\
=[f[1-T]-L[0],h[1-R]-L[1]],L[0]=f[T],L[1]=h[R]}else oa.event.altKey&&(M=L.slice\
());k.style(\"pointer-events\",\"none\").selectAll(\".resize\").style(\"display\",null)\
,oa.select(\"body\").style(\"cursor\",_.style(\"cursor\")),w({type:\"brushstart\"}),d()\
}var a,o,l=N(n,\"brushstart\",\"brush\",\"brushend\"),c=null,s=null,f=[0,0],h=[0,0],g\
=!0,p=!0,v=Bl[0];return n.event=function(n){n.each(function(){var n=l.of(this,a\
rguments),t={x:f,y:h,i:a,j:o},e=this.__chart__||t;this.__chart__=t,Hl?oa.select\
(this).transition().each(\"start.brush\",function(){a=e.i,o=e.j,f=e.x,h=e.y,n({ty\
pe:\"brushstart\"})}).tween(\"brush:brush\",function(){var e=xr(f,t.x),r=xr(h,t.y);\
return a=o=null,function(u){f=t.x=e(u),h=t.y=r(u),n({type:\"brush\",mode:\"resize\"\
})}}).each(\"end.brush\",function(){a=t.i,o=t.j,n({type:\"brush\",mode:\"resize\"}),n\
({type:\"brushend\"})}):(n({type:\"brushstart\"}),n({type:\"brush\",mode:\"resize\"}),n\
({type:\"brushend\"}))})},n.x=function(t){return arguments.length?(c=t,v=Bl[!c<<1\
|!s],n):c},n.y=function(t){return arguments.length?(s=t,v=Bl[!c<<1|!s],n):s},n.\
clamp=function(t){return arguments.length?(c&&s?(g=!!t[0],p=!!t[1]):c?g=!!t:s&&\
(p=!!t),n):c&&s?[g,p]:c?g:s?p:null},n.extent=function(t){var e,r,u,i,l;return a\
rguments.length?(c&&(e=t[0],r=t[1],s&&(e=e[0],r=r[0]),a=[e,r],c.invert&&(e=c(e)\
,r=c(r)),e>r&&(l=e,e=r,r=l),(e!=f[0]||r!=f[1])&&(f=[e,r])),s&&(u=t[0],i=t[1],c&\
&(u=u[1],i=i[1]),o=[u,i],s.invert&&(u=s(u),i=s(i)),u>i&&(l=u,u=i,i=l),(u!=h[0]|\
|i!=h[1])&&(h=[u,i])),n):(c&&(a?(e=a[0],r=a[1]):(e=f[0],r=f[1],c.invert&&(e=c.i\
nvert(e),r=c.invert(r)),e>r&&(l=e,e=r,r=l))),s&&(o?(u=o[0],i=o[1]):(u=h[0],i=h[\
1],s.invert&&(u=s.invert(u),i=s.invert(i)),u>i&&(l=u,u=i,i=l))),c&&s?[[e,u],[r,\
i]]:c?[e,r]:s&&[u,i])},n.clear=function(){return n.empty()||(f=[0,0],h=[0,0],a=\
o=null),n},n.empty=function(){return!!c&&f[0]==f[1]||!!s&&h[0]==h[1]},oa.rebind\
(n,l,\"on\")};var $l={n:\"ns-resize\",e:\"ew-resize\",s:\"ns-resize\",w:\"ew-resize\",nw:\
\"nwse-resize\",ne:\"nesw-resize\",se:\"nwse-resize\",sw:\"nesw-resize\"},Bl=[[\"n\",\"e\",\
\"s\",\"w\",\"nw\",\"ne\",\"se\",\"sw\"],[\"e\",\"w\"],[\"n\",\"s\"],[]],Wl=go.format=xo.timeFormat\
,Jl=Wl.utc,Gl=Jl(\"%Y-%m-%dT%H:%M:%S.%LZ\");Wl.iso=Date.prototype.toISOString&&+n\
ew Date(\"2000-01-01T00:00:00.000Z\")?ea:Gl,ea.parse=function(n){var t=new Date(n\
);return isNaN(t)?null:t},ea.toString=Gl.toString,go.second=On(function(n){retu\
rn new po(1e3*Math.floor(n/1e3))},function(n,t){n.setTime(n.getTime()+1e3*Math.\
floor(t))},function(n){return n.getSeconds()}),go.seconds=go.second.range,go.se\
conds.utc=go.second.utc.range,go.minute=On(function(n){return new po(6e4*Math.f\
loor(n/6e4))},function(n,t){n.setTime(n.getTime()+6e4*Math.floor(t))},function(\
n){return n.getMinutes()}),go.minutes=go.minute.range,go.minutes.utc=go.minute.\
utc.range,go.hour=On(function(n){var t=n.getTimezoneOffset()/60;return new po(3\
6e5*(Math.floor(n/36e5-t)+t))},function(n,t){n.setTime(n.getTime()+36e5*Math.fl\
oor(t))},function(n){return n.getHours()}),go.hours=go.hour.range,go.hours.utc=\
go.hour.utc.range,go.month=On(function(n){return n=go.day(n),n.setDate(1),n},fu\
nction(n,t){n.setMonth(n.getMonth()+t)},function(n){return n.getMonth()}),go.mo\
nths=go.month.range,go.months.utc=go.month.utc.range;var Kl=[1e3,5e3,15e3,3e4,6\
e4,3e5,9e5,18e5,36e5,108e5,216e5,432e5,864e5,1728e5,6048e5,2592e6,7776e6,31536e\
6],Ql=[[go.second,1],[go.second,5],[go.second,15],[go.second,30],[go.minute,1],\
[go.minute,5],[go.minute,15],[go.minute,30],[go.hour,1],[go.hour,3],[go.hour,6]\
,[go.hour,12],[go.day,1],[go.day,2],[go.week,1],[go.month,1],[go.month,3],[go.y\
ear,1]],nc=Wl.multi([[\".%L\",function(n){return n.getMilliseconds()}],[\":%S\",fun\
ction(n){return n.getSeconds()}],[\"%I:%M\",function(n){return n.getMinutes()}],[\
\"%I %p\",function(n){return n.getHours()}],[\"%a %d\",function(n){return n.getDay(\
)&&1!=n.getDate()}],[\"%b %d\",function(n){return 1!=n.getDate()}],[\"%B\",function\
(n){return n.getMonth()}],[\"%Y\",zt]]),tc={range:function(n,t,e){return oa.range\
(Math.ceil(n/e)*e,+t,e).map(ua)},floor:y,ceil:y};Ql.year=go.year,go.scale=funct\
ion(){return ra(oa.scale.linear(),Ql,nc)};var ec=Ql.map(function(n){return[n[0]\
.utc,n[1]]}),rc=Jl.multi([[\".%L\",function(n){return n.getUTCMilliseconds()}],[\"\
:%S\",function(n){return n.getUTCSeconds()}],[\"%I:%M\",function(n){return n.getUT\
CMinutes()}],[\"%I %p\",function(n){return n.getUTCHours()}],[\"%a %d\",function(n)\
{return n.getUTCDay()&&1!=n.getUTCDate()}],[\"%b %d\",function(n){return 1!=n.get\
UTCDate()}],[\"%B\",function(n){return n.getUTCMonth()}],[\"%Y\",zt]]);ec.year=go.y\
ear.utc,go.scale.utc=function(){return ra(oa.scale.linear(),ec,rc)},oa.text=An(\
function(n){return n.responseText}),oa.json=function(n,t){return Cn(n,\"applicat\
ion/json\",ia,t)},oa.html=function(n,t){return Cn(n,\"text/html\",aa,t)},oa.xml=An\
(function(n){return n.responseXML}),\"function\"==typeof define&&define.amd?(this\
.d3=oa,define(oa)):\"object\"==typeof module&&module.exports?module.exports=oa:th\
is.d3=oa}();\
")
################################################################################
# end d3.js
################################################################################
