From d425a959197164180047f34742ed2c2e960cc743 Mon Sep 17 00:00:00 2001 From: fruce-ki <jack_ohara_097@hotmail.com> Date: Thu, 8 Mar 2018 11:46:27 +0000 Subject: [PATCH 1/5] fixes #51 and closes #48 - 51: fixed the bug where accidentally the same isoform must exceed noise in both conditions. - 48: The noise threshold is applied to the total gene abundance as well, preventing genes that are switched off in one condition from creating wild proportions and exaggerated effect sizes. --- DESCRIPTION | 4 +- NAMESPACE | 1 - R/data_simulators.R | 138 ++++----------------------- R/func.R | 13 ++- R/rats.R | 2 +- inst/doc/input.R | 2 +- inst/doc/input.Rmd | 32 ++++--- inst/doc/input.html | 69 +++++++------- inst/doc/output.html | 80 +++++++++------- inst/doc/plots.html | 20 ++-- man/calculate_DTU.Rd | 2 +- man/call_DTU.Rd | 2 +- man/sim_sleuth_data.Rd | 39 -------- tests/testthat/test_2_data-munging.R | 74 -------------- tests/testthat/test_4_steps.R | 2 +- tests/testthat/test_5_output.R | 31 +++--- tests/testthat/test_6_reports.R | 34 +++---- vignettes/input.Rmd | 32 ++++--- 18 files changed, 190 insertions(+), 387 deletions(-) delete mode 100644 man/sim_sleuth_data.Rd diff --git a/DESCRIPTION b/DESCRIPTION index 6b8130e..aeb2231 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,7 +1,7 @@ Type: Package Package: rats -Version: 0.6.2 -Date: 2018-02-16 +Version: 0.6.2-1 +Date: 2018-03-07 Title: Relative Abundance of Transcripts Encoding: UTF-8 Authors: c(person("Kimon Froussios", role=c("aut"), email="k.froussios@dundee.ac.uk"), diff --git a/NAMESPACE b/NAMESPACE index f87589a..a460217 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -20,7 +20,6 @@ export(plot_overview) export(plot_shiny_volcano) export(sim_boot_data) export(sim_count_data) -export(sim_sleuth_data) export(tidy_annot) import(data.table) import(ggplot2) diff --git a/R/data_simulators.R b/R/data_simulators.R index 798ea73..d7d8a8a 100644 --- a/R/data_simulators.R +++ b/R/data_simulators.R @@ -1,109 +1,3 @@ -#============================================================================== -#' Generate an artificial minimal sleuth-like structure, for code-testing or examples. -#' -#' The default values here should match the default values expected by calculate_DTU(). -#' -#' @param varname Name for the variables by which to compare. -#' @param COUNTS_COL Name for the bootdtraps column containing counts. -#' @param TARGET_COL Name for annotation column containing transcript identification. -#' @param PARENT_COL Name for annotation column containing respective gene identification. -#' @param BS_TARGET_COL Name for bootstraps column containing transcript identification. -#' @param cnames A vector of (two) name values for the comparison variable. -#' @param errannot_inconsistent Logical. Introduces an inconsistency in the transcript IDs, for testing of sanity checks. (FALSE) -#' @param cv_dt Logical. Whether covariates table should be a data.table (FALSE). -#' @return A list with \code{slo} a minimal sleuth-like object, \code{annot} a corresponding annotation data.frame, -#' \code{isx} a vector of trancripts common between generated annotation and bootstraps (useful for code testing). -#' -#' The simulated data will have non-uniform number of bootstraps per sample and non-uniform order of -#' transcript id's among samples and bootstraps. These conditions are unlikely to occur in real data, -#' but this allows testing that the code can handle it. -#' -#' @import data.table -#' -#' @export -sim_sleuth_data <- function(varname="condition", COUNTS_COL="est_counts", TARGET_COL="target_id", - PARENT_COL="parent_id", BS_TARGET_COL="target_id", cnames=c("A","B"), - errannot_inconsistent=FALSE, cv_dt=FALSE) -{ - # !!! Some of the tests of the package are tightly connected to the specifics of the object returned by this function. - # !!! Entry additions might be tolerated. Changes or removals of entries or structure will certainly cause failures. - - tx <- data.frame(target_id= c("NIB.1", "1A1N-2", "1D1C:one", "1D1C:two", "1B1C.1", "1B1C.2", "CC_a", "CC_b", "1NN", "2NN", "MIX6.c1", "MIX6.c2", "MIX6.c3", "MIX6.c4", "MIX6.nc", "MIX6.d", "LC1", "LC2", "ALLA1", "ALLB1", "ALLB2"), - parent_id= c("NIB", "1A1N", "1D1C", "1D1C", "1B1C", "1B1C", "CC", "CC", "NN", "NN", "MIX6", "MIX6", "MIX6", "MIX6", "MIX6", "MIX6", "LC", "LC", "ALLA", "ALLB", "ALLB"), - stringsAsFactors=FALSE) - names(tx) <- c(TARGET_COL, PARENT_COL) - - sl <- list() - sl[["sample_to_covariates"]] <- NaN - if (cv_dt) { - sl[["sample_to_covariates"]] <- data.table("foo"=c(cnames[1], cnames[2], cnames[1], cnames[2]), - "bar"=c("ba", "ba", "bb", "bb")) - } else { - sl[["sample_to_covariates"]] <- data.frame("foo"=c(cnames[1], cnames[2], cnames[1], cnames[2]), - "bar"=c("ba", "ba", "bb", "bb")) - } - names(sl[["sample_to_covariates"]]) <- c(varname, "batch") - - sl[["kal"]] <- list() - sl$kal[[1]] <- list() - sl$kal[[1]]["bootstrap"] <- list() - sl$kal[[1]]$bootstrap[[1]] <- data.frame("target"= c("LC1", "NIA1", "NIA2", "1A1N-1", "1A1N-2", "1D1C:one", "1D1C:two", "1B1C.2", "CC_a", "CC_b", "MIX6.c1", "MIX6.c2", "MIX6.c3", "MIX6.c4", "MIX6.nc", "MIX6.d", "1NN", "2NN", "LC2", "ALLA1", "ALLB1", "ALLB2"), - "my_counts"= c(3, 333, 666, 10, 20, 0, 76, 52, 20, 50, 103, 321, 0, 100, 90, 0, 10, 30, 4, 50, 0, 0), - stringsAsFactors=FALSE) - sl$kal[[1]]$bootstrap[[2]] <- data.frame("target"= c("LC1", "NIA1", "NIA2", "1A1N-1", "1A1N-2", "1D1C:one", "1D1C:two", "1B1C.2", "CC_a", "CC_b", "MIX6.c1", "MIX6.c2", "MIX6.c3", "MIX6.c4", "MIX6.nc", "MIX6.d", "1NN", "2NN", "LC2", "ALLA1", "ALLB1", "ALLB2"), - "my_counts"= c(2, 310, 680, 11, 21, 0, 80, 55, 22, 52, 165, 320, 0, 130, 80, 0, 11, 29, 5, 40, 0, 0), - stringsAsFactors=FALSE) - sl$kal[[1]]$bootstrap[[3]] <- data.frame("target"= c("LC1", "NIA1", "NIA2", "1A1N-1", "1A1N-2", "1D1C:one", "1D1C:two", "1B1C.2", "CC_a", "CC_b", "MIX6.c1", "MIX6.c2", "MIX6.c3", "MIX6.c4", "MIX6.nc", "MIX6.d", "1NN", "2NN", "LC2", "ALLA1", "ALLB1", "ALLB2"), - "my_counts"= c(0, 340, 610, 7, 18, 0, 72, 50, 21, 49, 150, 325, 0, 120, 70, 0, 9, 28, 4, 60, 0, 0), - stringsAsFactors=FALSE) - - sl$kal[[2]] <- list() - sl$kal[[2]]["bootstrap"] <- list() - sl$kal[[2]]$bootstrap[[1]] <- data.frame("target"= c("NIA1", "LC1", "NIA2", "1A1N-1", "1A1N-2", "1D1C:one", "1D1C:two", "1B1C.2", "CC_a", "CC_b", "MIX6.c1", "MIX6.c2", "MIX6.c3", "MIX6.c4", "MIX6.nc", "MIX6.d", "1NN", "2NN", "LC2", "ALLA1", "ALLB1", "ALLB2"), - "my_counts"= c(333, 6, 666, 12, 23, 0, 25, 150, 15, 80, 325, 105, 40, 0, 200, 0, 15, 45, 12, 0, 80, 200), - stringsAsFactors=FALSE) - sl$kal[[2]]$bootstrap[[2]] <- data.frame("target"= c("NIA1", "LC1", "NIA2", "1A1N-1", "1A1N-2", "1D1C:one", "1D1C:two", "1B1C.2", "CC_a", "CC_b", "MIX6.c1", "MIX6.c2", "MIX6.c3", "MIX6.c4", "MIX6.nc", "MIX6.d", "1NN", "2NN", "LC2", "ALLA1", "ALLB1", "ALLB2"), - "my_counts"= c(323, 1, 606, 15, 22, 0, 23, 190, 20, 90, 270, 115, 30, 0, 150, 0, 20, 60, 15, 0, 120, 250), - stringsAsFactors=FALSE) - - sl$kal[[3]] <- list() - sl$kal[[3]]$bootstrap[[1]] <- data.frame("target"= c("NIA1", "1A1N-2", "LC1", "NIA2", "1D1C:one", "1D1C:two", "1B1C.2", "MIX6.c1", "1A1N-1", "MIX6.c2", "MIX6.c3", "MIX6.c4", "MIX6.d", "MIX6.nc", "CC_a", "CC_b", "1NN", "2NN", "LC2", "ALLA1", "ALLB1", "ALLB2"), - "my_counts"= c(333, 20, 3, 666, 0, 76, 52, 100, 10, 360, 0, 100, 0, 180, 25, 60, 7, 27, 13, 35, 0, 0), - stringsAsFactors=FALSE) - sl$kal[[3]]$bootstrap[[2]] <- data.frame("target"= c("MIX6.c4", "NIA1", "LC1", "NIA2", "1A1N-1", "1A1N-2", "1D1C:one", "1B1C.2", "MIX6.c1", "MIX6.c2", "MIX6.c3", "MIX6.nc", "1D1C:two", "MIX6.d", "CC_b", "CC_a", "1NN", "2NN", "LC2", "ALLA1", "ALLB1", "ALLB2"), - "my_counts"= c(80, 330, 4, 560, 11, 21, 0, 55, 90, 380, 0, 240, 80, 0, 55, 23, 10, 31, 2, 55, 0, 0), - stringsAsFactors=FALSE) - - sl$kal[[4]] <- list() - sl$kal[[4]]["bootstrap"] <- list() - sl$kal[[4]]$bootstrap[[1]] <- data.frame("target"= c("NIA2", "1A1N-1", "NIA1", "1A1N-2", "1D1C:one", "1D1C:two", "LC1", "1B1C.2", "MIX6.c2", "MIX6.c3", "MIX6.c1", "MIX6.c4", "MIX6.nc", "MIX6.d", "CC_b", "CC_a", "1NN", "2NN", "LC2", "ALLA1", "ALLB1", "ALLB2"), - "my_counts"= c(666, 12, 333, 23, 0, 25, 0, 150, 155, 40, 300, 0, 33, 0, 93, 22, 22, 61, 11, 0, 110, 210), - stringsAsFactors=FALSE) - sl$kal[[4]]$bootstrap[[2]] <- data.frame("target"= c("NIA1", "MIX6.d", "NIA2", "1A1N-1", "1A1N-2", "1D1C:one", "LC1", "1D1C:two", "MIX6.c1", "1B1C.2", "MIX6.c3", "MIX6.c2", "MIX6.c4", "MIX6.nc", "CC_a", "CC_b", "1NN", "2NN", "LC2", "ALLA1", "ALLB1", "ALLB2"), - "my_counts"= c(323, 0, 656, 15, 22, 0, 2, 23, 280, 160, 35, 120, 0, 95, 18, 119, 19, 58, 7, 0, 150, 220), - stringsAsFactors=FALSE) - sl$kal[[4]]$bootstrap[[3]] <- data.frame("target"= c("NIA1", "NIA2", "1A1N-1", "1A1N-2", "MIX6.nc", "1B1C.2", "LC1", "MIX6.c1", "MIX6.c2", "MIX6.c3", "1D1C:one", "1D1C:two", "MIX6.c4", "MIX6.d", "CC_a", "CC_b", "1NN", "2NN", "LC2", "ALLA1", "ALLB1", "ALLB2"), - "my_counts"= c(343, 676, 13, 21, 55, 145, 3, 270, 133, 30, 0, 20, 0, 0, 23, 80, 17, 50, 14, 0, 130, 200), - stringsAsFactors=FALSE) - - names(sl$kal[[1]]$bootstrap[[1]]) <- c(BS_TARGET_COL, COUNTS_COL) - names(sl$kal[[1]]$bootstrap[[2]]) <- c(BS_TARGET_COL, COUNTS_COL) - names(sl$kal[[1]]$bootstrap[[3]]) <- c(BS_TARGET_COL, COUNTS_COL) - names(sl$kal[[2]]$bootstrap[[1]]) <- c(BS_TARGET_COL, COUNTS_COL) - names(sl$kal[[2]]$bootstrap[[2]]) <- c(BS_TARGET_COL, COUNTS_COL) - names(sl$kal[[3]]$bootstrap[[1]]) <- c(BS_TARGET_COL, COUNTS_COL) - names(sl$kal[[3]]$bootstrap[[2]]) <- c(BS_TARGET_COL, COUNTS_COL) - names(sl$kal[[4]]$bootstrap[[1]]) <- c(BS_TARGET_COL, COUNTS_COL) - names(sl$kal[[4]]$bootstrap[[2]]) <- c(BS_TARGET_COL, COUNTS_COL) - names(sl$kal[[4]]$bootstrap[[3]]) <- c(BS_TARGET_COL, COUNTS_COL) - - if (errannot_inconsistent) { - sl$kal[[3]]$bootstrap[[1]][10, BS_TARGET_COL] <- "Unexpected-name" - } - - return(list("annot" = tx, "slo" = sl, "isx" = intersect(tx[[TARGET_COL]], sl$kal[[1]]$bootstrap[[1]][[BS_TARGET_COL]]) )) -} - #============================================================================== #' Generate an artificial dataset of bootstrapped abundance estimates, for code-testing or examples. #' @@ -118,33 +12,33 @@ sim_sleuth_data <- function(varname="condition", COUNTS_COL="est_counts", TARGET #' @export #' sim_boot_data <- function(errannot_inconsistent=FALSE, PARENT_COL="parent_id", TARGET_COL="target_id") { - tx <- data.frame(target_id= c("NIB.1", "1A1N-2", "1D1C:one", "1D1C:two", "1B1C.1", "1B1C.2", "CC_a", "CC_b", "1NN", "2NN", "MIX6.c1", "MIX6.c2", "MIX6.c3", "MIX6.c4", "MIX6.nc", "MIX6.d", "LC1", "LC2", "ALLA1", "ALLB1", "ALLB2"), - parent_id= c("NIB", "1A1N", "1D1C", "1D1C", "1B1C", "1B1C", "CC", "CC", "NN", "NN", "MIX6", "MIX6", "MIX6", "MIX6", "MIX6", "MIX6", "LC", "LC", "ALLA", "ALLB", "ALLB"), + tx <- data.frame(target_id= c("1A1B.a", "1A1B.b", "NIB.1", "1A1N-2", "1D1C:one", "1D1C:two", "1B1C.1", "1B1C.2", "CC_a", "CC_b", "1NN", "2NN", "MIX6.c1", "MIX6.c2", "MIX6.c3", "MIX6.c4", "MIX6.nc", "MIX6.d", "LC1", "LC2", "ALLA1", "ALLB1", "ALLB2"), + parent_id= c("1A1B", "1A1B", "NIB", "1A1N", "1D1C", "1D1C", "1B1C", "1B1C", "CC", "CC", "NN", "NN", "MIX6", "MIX6", "MIX6", "MIX6", "MIX6", "MIX6", "LC", "LC", "ALLA", "ALLB", "ALLB"), stringsAsFactors=FALSE) names(tx) <- c(TARGET_COL, PARENT_COL) a <- list() - a[[1]] <- data.table("target"= c("LC1", "NIA1", "NIA2", "1A1N-1", "1A1N-2", "1D1C:one", "1D1C:two", "1B1C.2", "CC_a", "CC_b", "MIX6.c1", "MIX6.c2", "MIX6.c3", "MIX6.c4", "MIX6.nc", "MIX6.d", "1NN", "2NN", "LC2", "ALLA1", "ALLB1", "ALLB2"), - "V1"= c( 3, 333, 666, 10, 20, 0, 76, 52, 20, 50, 103, 321, 0, 100, 90, 0, 10, 30, 4, 50, 0, 0), - "V2"= c( 2, 310, 680, 11, 21, 0, 80, 55, 22, 52, 165, 320, 0, 130, 80, 0, 11, 29, 5, 40, 0, 0), - "V3"= c( 0, 340, 610, 7, 18, 0, 72, 50, 21, 49, 150, 325, 0, 120, 70, 0, 9, 28, 4, 60, 0, 0), + a[[1]] <- data.table("target"= c("1A1B.a", "1A1B.b", "LC1", "NIA1", "NIA2", "1A1N-1", "1A1N-2", "1D1C:one", "1D1C:two", "1B1C.2", "CC_a", "CC_b", "MIX6.c1", "MIX6.c2", "MIX6.c3", "MIX6.c4", "MIX6.nc", "MIX6.d", "1NN", "2NN", "LC2", "ALLA1", "ALLB1", "ALLB2"), + "V1"= c( 69, 0, 3, 333, 666, 10, 20, 0, 76, 52, 20, 50, 103, 321, 0, 100, 90, 0, 10, 30, 4, 50, 0, 0), + "V2"= c( 96, 0, 2, 310, 680, 11, 21, 0, 80, 55, 22, 52, 165, 320, 0, 130, 80, 0, 11, 29, 5, 40, 0, 0), + "V3"= c( 88, 0, 0, 340, 610, 7, 18, 0, 72, 50, 21, 49, 150, 325, 0, 120, 70, 0, 9, 28, 4, 60, 0, 0), stringsAsFactors=FALSE) - a[[2]] <- data.table("target"= c("NIA1", "1A1N-2", "LC1", "NIA2", "1D1C:one", "1D1C:two", "1B1C.2", "MIX6.c1", "1A1N-1", "MIX6.c2", "MIX6.c3", "MIX6.c4", "MIX6.d", "MIX6.nc", "CC_a", "CC_b", "1NN", "2NN", "LC2", "ALLA1", "ALLB1", "ALLB2"), - "V1"= c( 333, 20, 3, 666, 0, 76, 52, 100, 10, 360, 0, 100, 0, 180, 25, 60, 7, 27, 13, 35, 0, 0), - "V2"= c( 330, 11, 4, 560, 0, 80, 55, 90, 11, 380, 0, 80, 0, 240, 23, 55, 10, 31, 2, 55, 0, 0), + a[[2]] <- data.table("target"= c("NIA1", "1A1B.a", "1A1B.b", "1A1N-2", "LC1", "NIA2", "1D1C:one", "1D1C:two", "1B1C.2", "MIX6.c1", "1A1N-1", "MIX6.c2", "MIX6.c3", "MIX6.c4", "MIX6.d", "MIX6.nc", "CC_a", "CC_b", "1NN", "2NN", "LC2", "ALLA1", "ALLB1", "ALLB2"), + "V1"= c( 333, 121, 0, 20, 3, 666, 0, 76, 52, 100, 10, 360, 0, 100, 0, 180, 25, 60, 7, 27, 13, 35, 0, 0), + "V2"= c( 330, 144, 0, 11, 4, 560, 0, 80, 55, 90, 11, 380, 0, 80, 0, 240, 23, 55, 10, 31, 2, 55, 0, 0), stringsAsFactors=FALSE) b <- list() - b[[1]] <- data.table("target"= c("NIA1", "LC1", "NIA2", "1A1N-1", "1A1N-2", "1D1C:one", "1D1C:two", "1B1C.2", "CC_a", "CC_b", "MIX6.c1", "MIX6.c2", "MIX6.c3", "MIX6.c4", "MIX6.nc", "MIX6.d", "1NN", "2NN", "LC2", "ALLA1", "ALLB1", "ALLB2"), - "V1"= c( 333, 6, 666, 12, 23, 0, 25, 150, 15, 80, 325, 105, 40, 0, 200, 0, 15, 45, 12, 0, 80, 200), - "V2"= c( 323, 1, 606, 15, 22, 0, 23, 190, 20, 90, 270, 115, 30, 0, 150, 0, 20, 60, 15, 0, 120, 250), + b[[1]] <- data.table("target"= c("1A1B.a", "1A1B.b", "NIA1", "LC1", "NIA2", "1A1N-1", "1A1N-2", "1D1C:one", "1D1C:two", "1B1C.2", "CC_a", "CC_b", "MIX6.c1", "MIX6.c2", "MIX6.c3", "MIX6.c4", "MIX6.nc", "MIX6.d", "1NN", "2NN", "LC2", "ALLA1", "ALLB1", "ALLB2"), + "V1"= c( 0, 91, 333, 6, 666, 12, 23, 0, 25, 150, 15, 80, 325, 105, 40, 0, 200, 0, 15, 45, 12, 0, 80, 200), + "V2"= c( 0, 100, 323, 1, 606, 15, 22, 0, 23, 190, 20, 90, 270, 115, 30, 0, 150, 0, 20, 60, 15, 0, 120, 250), stringsAsFactors=FALSE) - b[[2]] <- data.table("target"= c("NIA2", "1A1N-1", "NIA1", "1A1N-2", "1D1C:one", "1D1C:two", "LC1", "1B1C.2", "MIX6.c2", "MIX6.c3", "MIX6.c1", "MIX6.c4", "MIX6.nc", "MIX6.d", "CC_b", "CC_a", "1NN", "2NN", "LC2", "ALLA1", "ALLB1", "ALLB2"), - "V1"= c( 666, 12, 333, 23, 0, 25, 0, 150, 155, 40, 300, 0, 33, 0, 93, 22, 22, 61, 11, 0, 110, 210), - "V2"= c( 656, 15, 323, 22, 0, 23, 2, 160, 120, 35, 280, 0, 95, 0, 119, 18, 19, 58, 7, 0, 150, 220), - "V3"= c( 676, 13, 343, 21, 0, 20, 3, 145, 133, 30, 270, 0, 55, 0, 80, 23, 17, 50, 14, 0, 130, 200), + b[[2]] <- data.table("target"= c("NIA2", "1A1N-1", "NIA1", "1A1N-2", "1D1C:one", "1D1C:two", "LC1", "1B1C.2", "MIX6.c2", "MIX6.c3", "MIX6.c1", "MIX6.c4", "MIX6.nc", "MIX6.d", "CC_b", "CC_a", "1NN", "2NN", "LC2", "ALLA1", "ALLB1", "ALLB2", "1A1B.b", "1A1B.a"), + "V1"= c( 666, 12, 333, 23, 0, 25, 0, 150, 155, 40, 300, 0, 33, 0, 93, 22, 22, 61, 11, 0, 110, 210, 76, 0), + "V2"= c( 656, 15, 323, 22, 0, 23, 2, 160, 120, 35, 280, 0, 95, 0, 119, 18, 19, 58, 7, 0, 150, 220, 69, 0), + "V3"= c( 676, 13, 343, 21, 0, 20, 3, 145, 133, 30, 270, 0, 55, 0, 80, 23, 17, 50, 14, 0, 130, 200, 36, 0), stringsAsFactors=FALSE) if (errannot_inconsistent) diff --git a/R/func.R b/R/func.R index 3ee9031..a674b27 100644 --- a/R/func.R +++ b/R/func.R @@ -64,8 +64,8 @@ parameters_are_good <- function(annot, count_data_A, count_data_B, boot_data_A, return(list("error"=TRUE, "message"="Invalid p-value threshold!")) if ((!is.numeric(dprop_thresh)) || dprop_thresh < 0 || dprop_thresh > 1) return(list("error"=TRUE, "message"="Invalid proportion difference threshold! Must be between 0 and 1.")) - if ((!is.numeric(abund_thresh)) || abund_thresh < 0) - return(list("error"=TRUE, "message"="Invalid abundance threshold! Must be between 0 and 1.")) + if ((!is.numeric(abund_thresh)) || abund_thresh < 1) + return(list("error"=TRUE, "message"="Invalid abundance threshold! Must be a count >= 1.")) if ((!is.numeric(qbootnum)) || qbootnum < 0) return(list("error"=TRUE, "message"="Invalid number of bootstraps! Must be a positive integer number.")) if (!is.logical(qboot)) @@ -256,7 +256,7 @@ alloc_out <- function(annot, full, n=1){ #' @param test_transc Whether to do transcript-level test. #' @param test_genes Whether to do gene-level test. #' @param full Either "full" (for complete output structure) or "short" (for bootstrapping). -#' @param count_thresh Minimum number of counts per replicate. +#' @param count_thresh Minimum average count across replicates. #' @param p_thresh The p-value threshold. #' @param dprop_thresh Minimum difference in proportions. #' @param correction Multiple testing correction type. @@ -303,8 +303,11 @@ calculate_DTU <- function(counts_A, counts_B, tx_filter, test_transc, test_genes ctA <- count_thresh * resobj$Parameters[["num_replic_A"]] # Adjust count threshold for number of replicates. ctB <- count_thresh * resobj$Parameters[["num_replic_B"]] Transcripts[, elig_xp := (sumA >= ctA | sumB >= ctB)] - Transcripts[, elig := (elig_xp & totalA != 0 & totalB != 0 & (sumA != totalA | sumB != totalB))] # If the entire gene is shut off in one condition, changes in proportion cannot be defined. - # If sum and total are equal in both conditions the gene has only one expressed isoform, or one isoform altogether. + Transcripts[, elig := (elig_xp & # isoform expressed above the noise threshold in EITHER condition + totalA >= ctA & totalB >= ctB & # at least one eligibly expressed isoform exists in EACH condition (prevent gene-on/off from creating wild proportions from low counts) + totalA != 0 & totalB != 0 & # gene expressed in BOTH conditions (failsafe, in case user sets noise threshold to 0) + (propA != 1 | propB != 1) )] # not the only isoform expressed. + # If sum and total are equal in both conditions, it has no detected siblings and thus cannot change in proportion. Genes[, elig_transc := Transcripts[, as.integer(sum(elig, na.rm=TRUE)), by=parent_id][, V1] ] Genes[, elig := elig_transc >= 2] diff --git a/R/rats.R b/R/rats.R index 3e5d2bc..eb5d327 100644 --- a/R/rats.R +++ b/R/rats.R @@ -19,8 +19,8 @@ #' @param name_B The name for the other condition. (Default "Condition-B") #' @param varname The name of the covariate to which the two conditions belong. (Default \code{"condition"}). #' @param p_thresh The p-value threshold. (Default 0.05) -#' @param abund_thresh Noise threshold. Minimum mean abundance for transcripts to be eligible for testing. (Default 5) #' @param dprop_thresh Effect size threshold. Minimum change in proportion of a transcript for it to be considered meaningful. (Default 0.20) +#' @param abund_thresh Noise threshold. Minimum mean (across replicates) abundance for transcripts (and genes) to be eligible for testing. (Default 5) #' @param correction The p-value correction to apply, as defined in \code{\link[stats]{p.adjust.methods}}. (Default \code{"BH"}) #' @param scaling A scaling factor or vector of scaling factors, to be applied to the abundances *prior* to any thresholding and testing. Useful for scaling TPMs (transcripts per 1 million reads) to the actual library sizes of the samples. If a vector is supplied, the order should correspond to the samples in group A followed by the samples in group B. WARNING: Improper use of the scaling factor will artificially inflate/deflate the significances obtained. #' @param testmode One of \itemize{\item{"genes"}, \item{"transc"}, \item{"both" (default)}}. diff --git a/inst/doc/input.R b/inst/doc/input.R index 1bd5e38..1c840cb 100644 --- a/inst/doc/input.R +++ b/inst/doc/input.R @@ -83,7 +83,7 @@ myannot <- simdat[[1]] # Transcript and gene IDs for the above data. # # Calling DTU with custom thresholds. # mydtu <- call_DTU(annot= myannot, # boot_data_A= mycond_A, boot_data_B= mycond_B, -# p_thresh= 0.01, abund_thresh= 10, dprop_thres = 0.25) +# p_thresh= 0.01, dprop_thres = 0.15, abund_thresh= 10) ## ---- eval=FALSE--------------------------------------------------------- # # Bootstrap (default). Do 100 iterations. diff --git a/inst/doc/input.Rmd b/inst/doc/input.Rmd index 3a383a5..8bbba78 100644 --- a/inst/doc/input.Rmd +++ b/inst/doc/input.Rmd @@ -1,7 +1,7 @@ --- title: 'RATs: Input and Settings' author: "Kimon Froussios" -date: "19 SEP 2017" +date: "08 MAR 2018" output: html_document: keep_md: yes @@ -273,14 +273,16 @@ The following three main thresholds are used in RATs: # Calling DTU with custom thresholds. mydtu <- call_DTU(annot= myannot, boot_data_A= mycond_A, boot_data_B= mycond_B, - p_thresh= 0.01, abund_thresh= 10, dprop_thres = 0.25) + p_thresh= 0.01, dprop_thres = 0.15, abund_thresh= 10) ``` -1. `p_thresh` - Statistical significance level. P-values below this will be considered significant. Lower threshold values are stricter. (Default 0.05) -2. `abund_thresh` - Noise threshold. Transcripts with abundance below that value in both conditions are ignored. Higher threshold values are stricter. (Default 5, assumes abundances scaled to library size) -3. `dprop_thresh` - Effect size threshold. Transcripts whose proportion changes between conditions by less than the threshold are considered non-DTU, regardless of their statistical significance. Higher threshold values are stricter. (Default 0.20) +1. `p_thresh` - Statistical significance level. P-values below this will be considered significant. Lower threshold values are stricter, and help reduce low-count low-confidence calls. (Default 0.05, very permissive) +2. `dprop_thresh` - Effect size threshold. Transcripts whose proportion changes between conditions by less than this threshold are considered uninteresting, regardless of their statistical significance. (Default 0.20, quite strict) +3. `abund_thresh` - Noise threshold. Minimum mean (across replicates) abundance for a transcript to be considered expressed. Transcripts with mean abundances below this will be ignored. Mean total gene count must also meet this value in both conditions, a.k.a. at least one expressed isoform must exist in each condition. (Default 5, very permissive) + +The default values for these thresholds have been chosen such that they achieve a *median* FDR <5% for a high quality dataset from *Arabidopsis thaliana*, even with only 3 replicates per condition. +Your mileage may vary and you should give some consideration to selecting appropriate values. -The default values for these thresholds have been chosen such that they achieve a *median* FDR <5% for a high quality dataset from *Arabidopsis thaliana*, even with only 3 replicates per condition. Your mileage may vary and you should give some consideration to selecting appropriate values. Depending on the settings, *additional thresholds* are available and will be discussed in their respective sections below. @@ -378,7 +380,7 @@ mydtu <- call_DTU(annot = myannot, 1. `threads` - The number of threads to use. (Default 1) -Due to core R implementation limitations, the type of multi-threading used in RATs works only in POSIX-compliant systems. +Due to core R implementation limitations, the type of multi-threading used in RATs works only in POSIX-compliant systems (Linux, Mac, not Windows). Refer to the `parallel` package for details. @@ -447,14 +449,14 @@ such as those employed by RATs, and reduces the statistical power of the method. To counter this, RATs provides the option to scale abundaces either equally by a single factor (such as average library size among samples) or by a vector of factors (one per sample). The former maintains any pre-existing library-size normalisation among samples. This is necessary for fold-change based methods, but RATs does not require it. Instead, using the respective actual library sizes of the samples allows the -higher-throughput samples to have a bigger influence than the lower-throughput samples. This is particularly relevant if your samples have dissimilar +higher-throughput samples to have a bigger influence than the lower-throughput samples. This is particularly relevant if your samples have very dissimilar library sizes. For flexibility with different types of input, these scaling options can be applied in either of two stages: The data import step by `fish4rodents()`, or the actual testing step by `call_DTU()`. In the example examined previously, `fish4rodents()` was instructed to create TPM abundances, -by normalising to 10000000 reads. Such values are useful with certain other tools that a user may also intend to use. +by normalising to `1000000` reads. Such values are useful with certain other tools that a user may also intend to use. Subsequently, these TPMs were re-scaled to meet the library size of each sample, thus providing RATs with count-like abundance values that retain -the TPM's normalisation by isoform length. However, it is not necessary to scale in two separate steps. +the normalisation by isoform length. However, it is not necessary to scale in two separate steps. Both `fish4rodents()` and `call_DTU()` support scaling by a single value or a vector of values. If you don't need the TPMs, you can scale directly to the desired library size(s), as in the examples below: @@ -495,7 +497,7 @@ mydtu <- call_DTU(annot= myannot, boot_data_A= mydata$boot_data_A, ``` You can mix and match scaling options as per your needs, so take care to ensure that the scaling you apply is appropriate. -It is important to note, that if you simply run both methods with their respective defaults, you'll effectively run RATs +*It is important to note*, that if you simply run both methods with their respective defaults, you'll effectively run RATs on TPM values, which is extremely underpowered and not recommended. Please, provide appropriate scaling factors for your data. @@ -510,10 +512,10 @@ in a meaningful way. All internal operations and the output of RATs are based on the annotation provided: -* Any transcripts present in the data but missing from the annotation will be ignored completely and -will not show up in the output, as there is no reliable way to match them to gene IDs. -* Any transcript/gene present in the annotation but missing from the data will be included in the output as zero expression. -* If the samples appear to use different annotations from one another, RATs will abort. +* Any transcript IDs present in the data but missing from the annotation will be silently ignored and +will not show up in the output, as they cannot be matched to the gene IDs. +* Any transcript/gene ID present in the annotation but missing from the data will be included in the output as zero expression. +* If the samples appear to have been quantified with different annotations from one another, RATs will abort. *** diff --git a/inst/doc/input.html b/inst/doc/input.html index 8078e6c..6d5aa38 100644 --- a/inst/doc/input.html +++ b/inst/doc/input.html @@ -11,7 +11,7 @@ <meta name="author" content="Kimon Froussios" /> -<meta name="date" content="2017-09-19" /> +<meta name="date" content="2018-03-08" /> <title>RATs: Input and Settings</title> @@ -25,8 +25,8 @@ <link href="data:text/css;charset=utf-8,%0A%0A%2Etocify%20%7B%0Awidth%3A%2020%25%3B%0Amax%2Dheight%3A%2090%25%3B%0Aoverflow%3A%20auto%3B%0Amargin%2Dleft%3A%202%25%3B%0Aposition%3A%20fixed%3B%0Aborder%3A%201px%20solid%20%23ccc%3B%0Awebkit%2Dborder%2Dradius%3A%206px%3B%0Amoz%2Dborder%2Dradius%3A%206px%3B%0Aborder%2Dradius%3A%206px%3B%0A%7D%0A%0A%2Etocify%20ul%2C%20%2Etocify%20li%20%7B%0Alist%2Dstyle%3A%20none%3B%0Amargin%3A%200%3B%0Apadding%3A%200%3B%0Aborder%3A%20none%3B%0Aline%2Dheight%3A%2030px%3B%0A%7D%0A%0A%2Etocify%2Dheader%20%7B%0Atext%2Dindent%3A%2010px%3B%0A%7D%0A%0A%2Etocify%2Dsubheader%20%7B%0Atext%2Dindent%3A%2020px%3B%0Adisplay%3A%20none%3B%0A%7D%0A%0A%2Etocify%2Dsubheader%20li%20%7B%0Afont%2Dsize%3A%2012px%3B%0A%7D%0A%0A%2Etocify%2Dsubheader%20%2Etocify%2Dsubheader%20%7B%0Atext%2Dindent%3A%2030px%3B%0A%7D%0A%0A%2Etocify%2Dsubheader%20%2Etocify%2Dsubheader%20%2Etocify%2Dsubheader%20%7B%0Atext%2Dindent%3A%2040px%3B%0A%7D%0A%0A%2Etocify%20%2Etocify%2Ditem%20%3E%20a%2C%20%2Etocify%20%2Enav%2Dlist%20%2Enav%2Dheader%20%7B%0Amargin%3A%200px%3B%0A%7D%0A%0A%2Etocify%20%2Etocify%2Ditem%20a%2C%20%2Etocify%20%2Elist%2Dgroup%2Ditem%20%7B%0Apadding%3A%205px%3B%0A%7D%0A%2Etocify%20%2Enav%2Dpills%20%3E%20li%20%7B%0Afloat%3A%20none%3B%0A%7D%0A%0A%0A" rel="stylesheet" /> <script src="data:application/x-javascript;base64,LyoganF1ZXJ5IFRvY2lmeSAtIHYxLjkuMSAtIDIwMTMtMTAtMjIKICogaHR0cDovL3d3dy5ncmVnZnJhbmtvLmNvbS9qcXVlcnkudG9jaWZ5LmpzLwogKiBDb3B5cmlnaHQgKGMpIDIwMTMgR3JlZyBGcmFua287IExpY2Vuc2VkIE1JVCAqLwoKLy8gSW1tZWRpYXRlbHktSW52b2tlZCBGdW5jdGlvbiBFeHByZXNzaW9uIChJSUZFKSBbQmVuIEFsbWFuIEJsb2cgUG9zdF0oaHR0cDovL2JlbmFsbWFuLmNvbS9uZXdzLzIwMTAvMTEvaW1tZWRpYXRlbHktaW52b2tlZC1mdW5jdGlvbi1leHByZXNzaW9uLykgdGhhdCBjYWxscyBhbm90aGVyIElJRkUgdGhhdCBjb250YWlucyBhbGwgb2YgdGhlIHBsdWdpbiBsb2dpYy4gIEkgdXNlZCB0aGlzIHBhdHRlcm4gc28gdGhhdCBhbnlvbmUgdmlld2luZyB0aGlzIGNvZGUgd291bGQgbm90IGhhdmUgdG8gc2Nyb2xsIHRvIHRoZSBib3R0b20gb2YgdGhlIHBhZ2UgdG8gdmlldyB0aGUgbG9jYWwgcGFyYW1ldGVycyB0aGF0IHdlcmUgcGFzc2VkIHRvIHRoZSBtYWluIElJRkUuCihmdW5jdGlvbih0b2NpZnkpIHsKCiAgICAvLyBFQ01BU2NyaXB0IDUgU3RyaWN0IE1vZGU6IFtKb2huIFJlc2lnIEJsb2cgUG9zdF0oaHR0cDovL2Vqb2huLm9yZy9ibG9nL2VjbWFzY3JpcHQtNS1zdHJpY3QtbW9kZS1qc29uLWFuZC1tb3JlLykKICAgICJ1c2Ugc3RyaWN0IjsKCiAgICAvLyBDYWxscyB0aGUgc2Vjb25kIElJRkUgYW5kIGxvY2FsbHkgcGFzc2VzIGluIHRoZSBnbG9iYWwgalF1ZXJ5LCB3aW5kb3csIGFuZCBkb2N1bWVudCBvYmplY3RzCiAgICB0b2NpZnkod2luZG93LmpRdWVyeSwgd2luZG93LCBkb2N1bWVudCk7CgogIH0KCiAgLy8gTG9jYWxseSBwYXNzZXMgaW4gYGpRdWVyeWAsIHRoZSBgd2luZG93YCBvYmplY3QsIHRoZSBgZG9jdW1lbnRgIG9iamVjdCwgYW5kIGFuIGB1bmRlZmluZWRgIHZhcmlhYmxlLiAgVGhlIGBqUXVlcnlgLCBgd2luZG93YCBhbmQgYGRvY3VtZW50YCBvYmplY3RzIGFyZSBwYXNzZWQgaW4gbG9jYWxseSwgdG8gaW1wcm92ZSBwZXJmb3JtYW5jZSwgc2luY2UgamF2YXNjcmlwdCBmaXJzdCBzZWFyY2hlcyBmb3IgYSB2YXJpYWJsZSBtYXRjaCB3aXRoaW4gdGhlIGxvY2FsIHZhcmlhYmxlcyBzZXQgYmVmb3JlIHNlYXJjaGluZyB0aGUgZ2xvYmFsIHZhcmlhYmxlcyBzZXQuICBBbGwgb2YgdGhlIGdsb2JhbCB2YXJpYWJsZXMgYXJlIGFsc28gcGFzc2VkIGluIGxvY2FsbHkgdG8gYmUgbWluaWZpZXIgZnJpZW5kbHkuIGB1bmRlZmluZWRgIGNhbiBiZSBwYXNzZWQgaW4gbG9jYWxseSwgYmVjYXVzZSBpdCBpcyBub3QgYSByZXNlcnZlZCB3b3JkIGluIEphdmFTY3JpcHQuCiAgKGZ1bmN0aW9uKCQsIHdpbmRvdywgZG9jdW1lbnQsIHVuZGVmaW5lZCkgewoKICAgIC8vIEVDTUFTY3JpcHQgNSBTdHJpY3QgTW9kZTogW0pvaG4gUmVzaWcgQmxvZyBQb3N0XShodHRwOi8vZWpvaG4ub3JnL2Jsb2cvZWNtYXNjcmlwdC01LXN0cmljdC1tb2RlLWpzb24tYW5kLW1vcmUvKQogICAgInVzZSBzdHJpY3QiOwoKICAgIHZhciB0b2NDbGFzc05hbWUgPSAidG9jaWZ5IiwKICAgICAgdG9jQ2xhc3MgPSAiLiIgKyB0b2NDbGFzc05hbWUsCiAgICAgIHRvY0ZvY3VzQ2xhc3NOYW1lID0gInRvY2lmeS1mb2N1cyIsCiAgICAgIHRvY0hvdmVyQ2xhc3NOYW1lID0gInRvY2lmeS1ob3ZlciIsCiAgICAgIGhpZGVUb2NDbGFzc05hbWUgPSAidG9jaWZ5LWhpZGUiLAogICAgICBoaWRlVG9jQ2xhc3MgPSAiLiIgKyBoaWRlVG9jQ2xhc3NOYW1lLAogICAgICBoZWFkZXJDbGFzc05hbWUgPSAidG9jaWZ5LWhlYWRlciIsCiAgICAgIGhlYWRlckNsYXNzID0gIi4iICsgaGVhZGVyQ2xhc3NOYW1lLAogICAgICBzdWJoZWFkZXJDbGFzc05hbWUgPSAidG9jaWZ5LXN1YmhlYWRlciIsCiAgICAgIHN1YmhlYWRlckNsYXNzID0gIi4iICsgc3ViaGVhZGVyQ2xhc3NOYW1lLAogICAgICBpdGVtQ2xhc3NOYW1lID0gInRvY2lmeS1pdGVtIiwKICAgICAgaXRlbUNsYXNzID0gIi4iICsgaXRlbUNsYXNzTmFtZSwKICAgICAgZXh0ZW5kUGFnZUNsYXNzTmFtZSA9ICJ0b2NpZnktZXh0ZW5kLXBhZ2UiLAogICAgICBleHRlbmRQYWdlQ2xhc3MgPSAiLiIgKyBleHRlbmRQYWdlQ2xhc3NOYW1lOwoKICAgIC8vIENhbGxpbmcgdGhlIGpRdWVyeVVJIFdpZGdldCBGYWN0b3J5IE1ldGhvZAogICAgJC53aWRnZXQoInRvYy50b2NpZnkiLCB7CgogICAgICAvL1BsdWdpbiB2ZXJzaW9uCiAgICAgIHZlcnNpb246ICIxLjkuMSIsCgogICAgICAvLyBUaGVzZSBvcHRpb25zIHdpbGwgYmUgdXNlZCBhcyBkZWZhdWx0cwogICAgICBvcHRpb25zOiB7CgogICAgICAgIC8vICoqY29udGV4dCoqOiBBY2NlcHRzIFN0cmluZzogQW55IGpRdWVyeSBzZWxlY3RvcgogICAgICAgIC8vIFRoZSBjb250YWluZXIgZWxlbWVudCB0aGF0IGhvbGRzIGFsbCBvZiB0aGUgZWxlbWVudHMgdXNlZCB0byBnZW5lcmF0ZSB0aGUgdGFibGUgb2YgY29udGVudHMKICAgICAgICBjb250ZXh0OiAiYm9keSIsCgogICAgICAgIC8vICoqaWdub3JlU2VsZWN0b3IqKjogQWNjZXB0cyBTdHJpbmc6IEFueSBqUXVlcnkgc2VsZWN0b3IKICAgICAgICAvLyBBIHNlbGVjdG9yIHRvIGFueSBlbGVtZW50IHRoYXQgd291bGQgYmUgbWF0Y2hlZCBieSBzZWxlY3RvcnMgdGhhdCB5b3Ugd2lzaCB0byBiZSBpZ25vcmVkCiAgICAgICAgaWdub3JlU2VsZWN0b3I6IG51bGwsCgogICAgICAgIC8vICoqc2VsZWN0b3JzKio6IEFjY2VwdHMgYW4gQXJyYXkgb2YgU3RyaW5nczogQW55IGpRdWVyeSBzZWxlY3RvcnMKICAgICAgICAvLyBUaGUgZWxlbWVudCdzIHVzZWQgdG8gZ2VuZXJhdGUgdGhlIHRhYmxlIG9mIGNvbnRlbnRzLiAgVGhlIG9yZGVyIGlzIHZlcnkgaW1wb3J0YW50IHNpbmNlIGl0IHdpbGwgZGV0ZXJtaW5lIHRoZSB0YWJsZSBvZiBjb250ZW50J3MgbmVzdGluZyBzdHJ1Y3R1cmUKICAgICAgICBzZWxlY3RvcnM6ICJoMSwgaDIsIGgzIiwKCiAgICAgICAgLy8gKipzaG93QW5kSGlkZSoqOiBBY2NlcHRzIGEgYm9vbGVhbjogdHJ1ZSBvciBmYWxzZQogICAgICAgIC8vIFVzZWQgdG8gZGV0ZXJtaW5lIGlmIGVsZW1lbnRzIHNob3VsZCBiZSBzaG93biBhbmQgaGlkZGVuCiAgICAgICAgc2hvd0FuZEhpZGU6IHRydWUsCgogICAgICAgIC8vICoqc2hvd0VmZmVjdCoqOiBBY2NlcHRzIFN0cmluZzogIm5vbmUiLCAiZmFkZUluIiwgInNob3ciLCBvciAic2xpZGVEb3duIgogICAgICAgIC8vIFVzZWQgdG8gZGlzcGxheSBhbnkgb2YgdGhlIHRhYmxlIG9mIGNvbnRlbnRzIG5lc3RlZCBpdGVtcwogICAgICAgIHNob3dFZmZlY3Q6ICJzbGlkZURvd24iLAoKICAgICAgICAvLyAqKnNob3dFZmZlY3RTcGVlZCoqOiBBY2NlcHRzIE51bWJlciAobWlsbGlzZWNvbmRzKSBvciBTdHJpbmc6ICJzbG93IiwgIm1lZGl1bSIsIG9yICJmYXN0IgogICAgICAgIC8vIFRoZSB0aW1lIGR1cmF0aW9uIG9mIHRoZSBzaG93IGFuaW1hdGlvbgogICAgICAgIHNob3dFZmZlY3RTcGVlZDogIm1lZGl1bSIsCgogICAgICAgIC8vICoqaGlkZUVmZmVjdCoqOiBBY2NlcHRzIFN0cmluZzogIm5vbmUiLCAiZmFkZU91dCIsICJoaWRlIiwgb3IgInNsaWRlVXAiCiAgICAgICAgLy8gVXNlZCB0byBoaWRlIGFueSBvZiB0aGUgdGFibGUgb2YgY29udGVudHMgbmVzdGVkIGl0ZW1zCiAgICAgICAgaGlkZUVmZmVjdDogInNsaWRlVXAiLAoKICAgICAgICAvLyAqKmhpZGVFZmZlY3RTcGVlZCoqOiBBY2NlcHRzIE51bWJlciAobWlsbGlzZWNvbmRzKSBvciBTdHJpbmc6ICJzbG93IiwgIm1lZGl1bSIsIG9yICJmYXN0IgogICAgICAgIC8vIFRoZSB0aW1lIGR1cmF0aW9uIG9mIHRoZSBoaWRlIGFuaW1hdGlvbgogICAgICAgIGhpZGVFZmZlY3RTcGVlZDogIm1lZGl1bSIsCgogICAgICAgIC8vICoqc21vb3RoU2Nyb2xsKio6IEFjY2VwdHMgYSBib29sZWFuOiB0cnVlIG9yIGZhbHNlCiAgICAgICAgLy8gRGV0ZXJtaW5lcyBpZiBhIGpRdWVyeSBhbmltYXRpb24gc2hvdWxkIGJlIHVzZWQgdG8gc2Nyb2xsIHRvIHNwZWNpZmljIHRhYmxlIG9mIGNvbnRlbnRzIGl0ZW1zIG9uIHRoZSBwYWdlCiAgICAgICAgc21vb3RoU2Nyb2xsOiB0cnVlLAoKICAgICAgICAvLyAqKnNtb290aFNjcm9sbFNwZWVkKio6IEFjY2VwdHMgTnVtYmVyIChtaWxsaXNlY29uZHMpIG9yIFN0cmluZzogInNsb3ciLCAibWVkaXVtIiwgb3IgImZhc3QiCiAgICAgICAgLy8gVGhlIHRpbWUgZHVyYXRpb24gb2YgdGhlIHNtb290aFNjcm9sbCBhbmltYXRpb24KICAgICAgICBzbW9vdGhTY3JvbGxTcGVlZDogIm1lZGl1bSIsCgogICAgICAgIC8vICoqc2Nyb2xsVG8qKjogQWNjZXB0cyBOdW1iZXIgKHBpeGVscykKICAgICAgICAvLyBUaGUgYW1vdW50IG9mIHNwYWNlIGJldHdlZW4gdGhlIHRvcCBvZiBwYWdlIGFuZCB0aGUgc2VsZWN0ZWQgdGFibGUgb2YgY29udGVudHMgaXRlbSBhZnRlciB0aGUgcGFnZSBoYXMgYmVlbiBzY3JvbGxlZAogICAgICAgIHNjcm9sbFRvOiAwLAoKICAgICAgICAvLyAqKnNob3dBbmRIaWRlT25TY3JvbGwqKjogQWNjZXB0cyBhIGJvb2xlYW46IHRydWUgb3IgZmFsc2UKICAgICAgICAvLyBEZXRlcm1pbmVzIGlmIHRhYmxlIG9mIGNvbnRlbnRzIG5lc3RlZCBpdGVtcyBzaG91bGQgYmUgc2hvd24gYW5kIGhpZGRlbiB3aGlsZSBzY3JvbGxpbmcKICAgICAgICBzaG93QW5kSGlkZU9uU2Nyb2xsOiB0cnVlLAoKICAgICAgICAvLyAqKmhpZ2hsaWdodE9uU2Nyb2xsKio6IEFjY2VwdHMgYSBib29sZWFuOiB0cnVlIG9yIGZhbHNlCiAgICAgICAgLy8gRGV0ZXJtaW5lcyBpZiB0YWJsZSBvZiBjb250ZW50cyBuZXN0ZWQgaXRlbXMgc2hvdWxkIGJlIGhpZ2hsaWdodGVkIChzZXQgdG8gYSBkaWZmZXJlbnQgY29sb3IpIHdoaWxlIHNjcm9sbGluZwogICAgICAgIGhpZ2hsaWdodE9uU2Nyb2xsOiB0cnVlLAoKICAgICAgICAvLyAqKmhpZ2hsaWdodE9mZnNldCoqOiBBY2NlcHRzIGEgbnVtYmVyCiAgICAgICAgLy8gVGhlIG9mZnNldCBkaXN0YW5jZSBpbiBwaXhlbHMgdG8gdHJpZ2dlciB0aGUgbmV4dCBhY3RpdmUgdGFibGUgb2YgY29udGVudHMgaXRlbQogICAgICAgIGhpZ2hsaWdodE9mZnNldDogNDAsCgogICAgICAgIC8vICoqdGhlbWUqKjogQWNjZXB0cyBhIHN0cmluZzogImJvb3RzdHJhcCIsICJqcXVlcnl1aSIsIG9yICJub25lIgogICAgICAgIC8vIERldGVybWluZXMgaWYgVHdpdHRlciBCb290c3RyYXAsIGpRdWVyeVVJLCBvciBUb2NpZnkgY2xhc3NlcyBzaG91bGQgYmUgYWRkZWQgdG8gdGhlIHRhYmxlIG9mIGNvbnRlbnRzCiAgICAgICAgdGhlbWU6ICJib290c3RyYXAiLAoKICAgICAgICAvLyAqKmV4dGVuZFBhZ2UqKjogQWNjZXB0cyBhIGJvb2xlYW46IHRydWUgb3IgZmFsc2UKICAgICAgICAvLyBJZiBhIHVzZXIgc2Nyb2xscyB0byB0aGUgYm90dG9tIG9mIHRoZSBwYWdlIGFuZCB0aGUgcGFnZSBpcyBub3QgdGFsbCBlbm91Z2ggdG8gc2Nyb2xsIHRvIHRoZSBsYXN0IHRhYmxlIG9mIGNvbnRlbnRzIGl0ZW0sIHRoZW4gdGhlIHBhZ2UgaGVpZ2h0IGlzIGluY3JlYXNlZAogICAgICAgIGV4dGVuZFBhZ2U6IHRydWUsCgogICAgICAgIC8vICoqZXh0ZW5kUGFnZU9mZnNldCoqOiBBY2NlcHRzIGEgbnVtYmVyOiBwaXhlbHMKICAgICAgICAvLyBIb3cgY2xvc2UgdG8gdGhlIGJvdHRvbSBvZiB0aGUgcGFnZSBhIHVzZXIgbXVzdCBzY3JvbGwgYmVmb3JlIHRoZSBwYWdlIGlzIGV4dGVuZGVkCiAgICAgICAgZXh0ZW5kUGFnZU9mZnNldDogMTAwLAoKICAgICAgICAvLyAqKmhpc3RvcnkqKjogQWNjZXB0cyBhIGJvb2xlYW46IHRydWUgb3IgZmFsc2UKICAgICAgICAvLyBBZGRzIGEgaGFzaCB0byB0aGUgcGFnZSB1cmwgdG8gbWFpbnRhaW4gaGlzdG9yeQogICAgICAgIGhpc3Rvcnk6IHRydWUsCgogICAgICAgIC8vICoqc2Nyb2xsSGlzdG9yeSoqOiBBY2NlcHRzIGEgYm9vbGVhbjogdHJ1ZSBvciBmYWxzZQogICAgICAgIC8vIEFkZHMgYSBoYXNoIHRvIHRoZSBwYWdlIHVybCwgdG8gbWFpbnRhaW4gaGlzdG9yeSwgd2hlbiBzY3JvbGxpbmcgdG8gYSBUT0MgaXRlbQogICAgICAgIHNjcm9sbEhpc3Rvcnk6IGZhbHNlLAoKICAgICAgICAvLyAqKmhhc2hHZW5lcmF0b3IqKjogSG93IHRoZSBoYXNoIHZhbHVlICh0aGUgYW5jaG9yIHNlZ21lbnQgb2YgdGhlIFVSTCwgZm9sbG93aW5nIHRoZQogICAgICAgIC8vICMgY2hhcmFjdGVyKSB3aWxsIGJlIGdlbmVyYXRlZC4KICAgICAgICAvLwogICAgICAgIC8vICJjb21wYWN0IiAoZGVmYXVsdCkgLSAjQ29tcHJlc3Nlc0V2ZXJ5dGhpbmdUb2dldGhlcgogICAgICAgIC8vICJwcmV0dHkiIC0gI2xvb2tzLWxpa2UtYS1uaWNlLXVybC1hbmQtaXMtZWFzaWx5LXJlYWRhYmxlCiAgICAgICAgLy8gZnVuY3Rpb24odGV4dCwgZWxlbWVudCl7fSAtIFlvdXIgb3duIGhhc2ggZ2VuZXJhdGlvbiBmdW5jdGlvbiB0aGF0IGFjY2VwdHMgdGhlIHRleHQgYXMgYW4KICAgICAgICAvLyBhcmd1bWVudCwgYW5kIHJldHVybnMgdGhlIGhhc2ggdmFsdWUuCiAgICAgICAgaGFzaEdlbmVyYXRvcjogImNvbXBhY3QiLAoKICAgICAgICAvLyAqKmhpZ2hsaWdodERlZmF1bHQqKjogQWNjZXB0cyBhIGJvb2xlYW46IHRydWUgb3IgZmFsc2UKICAgICAgICAvLyBTZXQncyB0aGUgZmlyc3QgVE9DIGl0ZW0gYXMgYWN0aXZlIGlmIG5vIG90aGVyIFRPQyBpdGVtIGlzIGFjdGl2ZS4KICAgICAgICBoaWdobGlnaHREZWZhdWx0OiB0cnVlCgogICAgICB9LAoKICAgICAgLy8gX0NyZWF0ZQogICAgICAvLyAtLS0tLS0tCiAgICAgIC8vICAgICAgQ29uc3RydWN0cyB0aGUgcGx1Z2luLiAgT25seSBjYWxsZWQgb25jZS4KICAgICAgX2NyZWF0ZTogZnVuY3Rpb24oKSB7CgogICAgICAgIHZhciBzZWxmID0gdGhpczsKCiAgICAgICAgc2VsZi5leHRlbmRQYWdlU2Nyb2xsID0gdHJ1ZTsKCiAgICAgICAgLy8gSW50ZXJuYWwgYXJyYXkgdGhhdCBrZWVwcyB0cmFjayBvZiBhbGwgVE9DIGl0ZW1zIChIZWxwcyB0byByZWNvZ25pemUgaWYgdGhlcmUgYXJlIGR1cGxpY2F0ZSBUT0MgaXRlbSBzdHJpbmdzKQogICAgICAgIHNlbGYuaXRlbXMgPSBbXTsKCiAgICAgICAgLy8gR2VuZXJhdGVzIHRoZSBIVE1MIGZvciB0aGUgZHluYW1pYyB0YWJsZSBvZiBjb250ZW50cwogICAgICAgIHNlbGYuX2dlbmVyYXRlVG9jKCk7CgogICAgICAgIC8vIEFkZHMgQ1NTIGNsYXNzZXMgdG8gdGhlIG5ld2x5IGdlbmVyYXRlZCB0YWJsZSBvZiBjb250ZW50cyBIVE1MCiAgICAgICAgc2VsZi5fYWRkQ1NTQ2xhc3NlcygpOwoKICAgICAgICBzZWxmLndlYmtpdCA9IChmdW5jdGlvbigpIHsKCiAgICAgICAgICBmb3IgKHZhciBwcm9wIGluIHdpbmRvdykgewoKICAgICAgICAgICAgaWYgKHByb3ApIHsKCiAgICAgICAgICAgICAgaWYgKHByb3AudG9Mb3dlckNhc2UoKS5pbmRleE9mKCJ3ZWJraXQiKSAhPT0gLTEpIHsKCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKCiAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgfQoKICAgICAgICAgIH0KCiAgICAgICAgICByZXR1cm4gZmFsc2U7CgogICAgICAgIH0oKSk7CgogICAgICAgIC8vIEFkZHMgalF1ZXJ5IGV2ZW50IGhhbmRsZXJzIHRvIHRoZSBuZXdseSBnZW5lcmF0ZWQgdGFibGUgb2YgY29udGVudHMKICAgICAgICBzZWxmLl9zZXRFdmVudEhhbmRsZXJzKCk7CgogICAgICAgIC8vIEJpbmRpbmcgdG8gdGhlIFdpbmRvdyBsb2FkIGV2ZW50IHRvIG1ha2Ugc3VyZSB0aGUgY29ycmVjdCBzY3JvbGxUb3AgaXMgY2FsY3VsYXRlZAogICAgICAgICQod2luZG93KS5sb2FkKGZ1bmN0aW9uKCkgewoKICAgICAgICAgIC8vIFNldHMgdGhlIGFjdGl2ZSBUT0MgaXRlbQogICAgICAgICAgc2VsZi5fc2V0QWN0aXZlRWxlbWVudCh0cnVlKTsKCiAgICAgICAgICAvLyBPbmNlIGFsbCBhbmltYXRpb25zIG9uIHRoZSBwYWdlIGFyZSBjb21wbGV0ZSwgdGhpcyBjYWxsYmFjayBmdW5jdGlvbiB3aWxsIGJlIGNhbGxlZAogICAgICAgICAgJCgiaHRtbCwgYm9keSIpLnByb21pc2UoKS5kb25lKGZ1bmN0aW9uKCkgewoKICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKCiAgICAgICAgICAgICAgc2VsZi5leHRlbmRQYWdlU2Nyb2xsID0gZmFsc2U7CgogICAgICAgICAgICB9LCAwKTsKCiAgICAgICAgICB9KTsKCiAgICAgICAgfSk7CgogICAgICB9LAoKICAgICAgLy8gX2dlbmVyYXRlVG9jCiAgICAgIC8vIC0tLS0tLS0tLS0tLQogICAgICAvLyAgICAgIEdlbmVyYXRlcyB0aGUgSFRNTCBmb3IgdGhlIGR5bmFtaWMgdGFibGUgb2YgY29udGVudHMKICAgICAgX2dlbmVyYXRlVG9jOiBmdW5jdGlvbigpIHsKCiAgICAgICAgLy8gX0xvY2FsIHZhcmlhYmxlc18KCiAgICAgICAgLy8gU3RvcmVzIHRoZSBwbHVnaW4gY29udGV4dCBpbiB0aGUgc2VsZiB2YXJpYWJsZQogICAgICAgIHZhciBzZWxmID0gdGhpcywKCiAgICAgICAgICAvLyBBbGwgb2YgdGhlIEhUTUwgdGFncyBmb3VuZCB3aXRoaW4gdGhlIGNvbnRleHQgcHJvdmlkZWQgKGkuZS4gYm9keSkgdGhhdCBtYXRjaCB0aGUgdG9wIGxldmVsIGpRdWVyeSBzZWxlY3RvciBhYm92ZQogICAgICAgICAgZmlyc3RFbGVtLAoKICAgICAgICAgIC8vIEluc3RhbnRpYXRlZCB2YXJpYWJsZSB0aGF0IHdpbGwgc3RvcmUgdGhlIHRvcCBsZXZlbCBuZXdseSBjcmVhdGVkIHVub3JkZXJlZCBsaXN0IERPTSBlbGVtZW50CiAgICAgICAgICB1bCwKICAgICAgICAgIGlnbm9yZVNlbGVjdG9yID0gc2VsZi5vcHRpb25zLmlnbm9yZVNlbGVjdG9yOwoKCiAgICAgICAgLy8gRGV0ZXJtaW5lIHRoZSBlbGVtZW50IHRvIHN0YXJ0IHRoZSB0b2Mgd2l0aAogICAgICAgIC8vIGdldCBhbGwgdGhlIHRvcCBsZXZlbCBzZWxlY3RvcnMKICAgICAgICBmaXJzdEVsZW0gPSBbXTsKICAgICAgICB2YXIgc2VsZWN0b3JzID0gdGhpcy5vcHRpb25zLnNlbGVjdG9ycy5yZXBsYWNlKC8gL2csICIiKS5zcGxpdCgiLCIpOwogICAgICAgIC8vIGZpbmQgdGhlIGZpcnN0IHNldCB0aGF0IGhhdmUgYXQgbGVhc3Qgb25lIG5vbi1pZ25vcmVkIGVsZW1lbnQKICAgICAgICBmb3IodmFyIGkgPSAwOyBpIDwgc2VsZWN0b3JzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICB2YXIgZm91bmRTZWxlY3RvcnMgPSAkKHRoaXMub3B0aW9ucy5jb250ZXh0KS5maW5kKHNlbGVjdG9yc1tpXSk7CiAgICAgICAgICBmb3IgKHZhciBzID0gMDsgcyA8IGZvdW5kU2VsZWN0b3JzLmxlbmd0aDsgcysrKSB7CiAgICAgICAgICAgIGlmICghJChmb3VuZFNlbGVjdG9yc1tzXSkuaXMoaWdub3JlU2VsZWN0b3IpKSB7CiAgICAgICAgICAgICAgZmlyc3RFbGVtID0gZm91bmRTZWxlY3RvcnM7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICAgIGlmIChmaXJzdEVsZW0ubGVuZ3RoPiAwKQogICAgICAgICAgICBicmVhazsKICAgICAgICB9CgogICAgICAgIGlmICghZmlyc3RFbGVtLmxlbmd0aCkgewoKICAgICAgICAgIHNlbGYuZWxlbWVudC5hZGRDbGFzcyhoaWRlVG9jQ2xhc3NOYW1lKTsKCiAgICAgICAgICByZXR1cm47CgogICAgICAgIH0KCiAgICAgICAgc2VsZi5lbGVtZW50LmFkZENsYXNzKHRvY0NsYXNzTmFtZSk7CgogICAgICAgIC8vIExvb3BzIHRocm91Z2ggZWFjaCB0b3AgbGV2ZWwgc2VsZWN0b3IKICAgICAgICBmaXJzdEVsZW0uZWFjaChmdW5jdGlvbihpbmRleCkgewoKICAgICAgICAgIC8vSWYgdGhlIGVsZW1lbnQgbWF0Y2hlcyB0aGUgaWdub3JlU2VsZWN0b3IgdGhlbiB3ZSBza2lwIGl0CiAgICAgICAgICBpZiAoJCh0aGlzKS5pcyhpZ25vcmVTZWxlY3RvcikpIHsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgfQoKICAgICAgICAgIC8vIENyZWF0ZXMgYW4gdW5vcmRlcmVkIGxpc3QgSFRNTCBlbGVtZW50IGFuZCBhZGRzIGEgZHluYW1pYyBJRCBhbmQgc3RhbmRhcmQgY2xhc3MgbmFtZQogICAgICAgICAgdWwgPSAkKCI8dWwvPiIsIHsKICAgICAgICAgICAgImlkIjogaGVhZGVyQ2xhc3NOYW1lICsgaW5kZXgsCiAgICAgICAgICAgICJjbGFzcyI6IGhlYWRlckNsYXNzTmFtZQogICAgICAgICAgfSkuCgogICAgICAgICAgLy8gQXBwZW5kcyBhIHRvcCBsZXZlbCBsaXN0IGl0ZW0gSFRNTCBlbGVtZW50IHRvIHRoZSBwcmV2aW91c2x5IGNyZWF0ZWQgSFRNTCBoZWFkZXIKICAgICAgICAgIGFwcGVuZChzZWxmLl9uZXN0RWxlbWVudHMoJCh0aGlzKSwgaW5kZXgpKTsKCiAgICAgICAgICAvLyBBZGQgdGhlIGNyZWF0ZWQgdW5vcmRlcmVkIGxpc3QgZWxlbWVudCB0byB0aGUgSFRNTCBlbGVtZW50IGNhbGxpbmcgdGhlIHBsdWdpbgogICAgICAgICAgc2VsZi5lbGVtZW50LmFwcGVuZCh1bCk7CgogICAgICAgICAgLy8gRmluZHMgYWxsIG9mIHRoZSBIVE1MIHRhZ3MgYmV0d2VlbiB0aGUgaGVhZGVyIGFuZCBzdWJoZWFkZXIgZWxlbWVudHMKICAgICAgICAgICQodGhpcykubmV4dFVudGlsKHRoaXMubm9kZU5hbWUudG9Mb3dlckNhc2UoKSkuZWFjaChmdW5jdGlvbigpIHsKCiAgICAgICAgICAgIC8vIElmIHRoZXJlIGFyZSBubyBuZXN0ZWQgc3ViaGVhZGVyIGVsZW1lbWVudHMKICAgICAgICAgICAgaWYgKCQodGhpcykuZmluZChzZWxmLm9wdGlvbnMuc2VsZWN0b3JzKS5sZW5ndGggPT09IDApIHsKCiAgICAgICAgICAgICAgLy8gTG9vcHMgdGhyb3VnaCBhbGwgb2YgdGhlIHN1YmhlYWRlciBlbGVtZW50cwogICAgICAgICAgICAgICQodGhpcykuZmlsdGVyKHNlbGYub3B0aW9ucy5zZWxlY3RvcnMpLmVhY2goZnVuY3Rpb24oKSB7CgogICAgICAgICAgICAgICAgLy9JZiB0aGUgZWxlbWVudCBtYXRjaGVzIHRoZSBpZ25vcmVTZWxlY3RvciB0aGVuIHdlIHNraXAgaXQKICAgICAgICAgICAgICAgIGlmICgkKHRoaXMpLmlzKGlnbm9yZVNlbGVjdG9yKSkgewogICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgc2VsZi5fYXBwZW5kU3ViaGVhZGVycy5jYWxsKHRoaXMsIHNlbGYsIHVsKTsKCiAgICAgICAgICAgICAgfSk7CgogICAgICAgICAgICB9CgogICAgICAgICAgICAvLyBJZiB0aGVyZSBhcmUgbmVzdGVkIHN1YmhlYWRlciBlbGVtZW50cwogICAgICAgICAgICBlbHNlIHsKCiAgICAgICAgICAgICAgLy8gTG9vcHMgdGhyb3VnaCBhbGwgb2YgdGhlIHN1YmhlYWRlciBlbGVtZW50cwogICAgICAgICAgICAgICQodGhpcykuZmluZChzZWxmLm9wdGlvbnMuc2VsZWN0b3JzKS5lYWNoKGZ1bmN0aW9uKCkgewoKICAgICAgICAgICAgICAgIC8vSWYgdGhlIGVsZW1lbnQgbWF0Y2hlcyB0aGUgaWdub3JlU2VsZWN0b3IgdGhlbiB3ZSBza2lwIGl0CiAgICAgICAgICAgICAgICBpZiAoJCh0aGlzKS5pcyhpZ25vcmVTZWxlY3RvcikpIHsKICAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHNlbGYuX2FwcGVuZFN1YmhlYWRlcnMuY2FsbCh0aGlzLCBzZWxmLCB1bCk7CgogICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgfQoKICAgICAgICAgIH0pOwoKICAgICAgICB9KTsKCiAgICAgIH0sCgogICAgICBfc2V0QWN0aXZlRWxlbWVudDogZnVuY3Rpb24ocGFnZWxvYWQpIHsKCiAgICAgICAgdmFyIHNlbGYgPSB0aGlzLAoKICAgICAgICAgIGhhc2ggPSB3aW5kb3cubG9jYXRpb24uaGFzaC5zdWJzdHJpbmcoMSksCgogICAgICAgICAgZWxlbSA9IHNlbGYuZWxlbWVudC5maW5kKCdsaVtkYXRhLXVuaXF1ZT0iJyArIGhhc2ggKyAnIl0nKTsKCiAgICAgICAgaWYgKGhhc2gubGVuZ3RoKSB7CgogICAgICAgICAgLy8gUmVtb3ZlcyBoaWdobGlnaHRpbmcgZnJvbSBhbGwgb2YgdGhlIGxpc3QgaXRlbSdzCiAgICAgICAgICBzZWxmLmVsZW1lbnQuZmluZCgiLiIgKyBzZWxmLmZvY3VzQ2xhc3MpLnJlbW92ZUNsYXNzKHNlbGYuZm9jdXNDbGFzcyk7CgogICAgICAgICAgLy8gSGlnaGxpZ2h0cyB0aGUgY3VycmVudCBsaXN0IGl0ZW0gdGhhdCB3YXMgY2xpY2tlZAogICAgICAgICAgZWxlbS5hZGRDbGFzcyhzZWxmLmZvY3VzQ2xhc3MpOwoKICAgICAgICAgIC8vIFRyaWdnZXJzIHRoZSBjbGljayBldmVudCBvbiB0aGUgY3VycmVudGx5IGZvY3VzZWQgVE9DIGl0ZW0KICAgICAgICAgIGVsZW0uY2xpY2soKTsKCiAgICAgICAgfSBlbHNlIHsKCiAgICAgICAgICAvLyBSZW1vdmVzIGhpZ2hsaWdodGluZyBmcm9tIGFsbCBvZiB0aGUgbGlzdCBpdGVtJ3MKICAgICAgICAgIHNlbGYuZWxlbWVudC5maW5kKCIuIiArIHNlbGYuZm9jdXNDbGFzcykucmVtb3ZlQ2xhc3Moc2VsZi5mb2N1c0NsYXNzKTsKCiAgICAgICAgICBpZiAoIWhhc2gubGVuZ3RoICYmIHBhZ2Vsb2FkICYmIHNlbGYub3B0aW9ucy5oaWdobGlnaHREZWZhdWx0KSB7CgogICAgICAgICAgICAvLyBIaWdobGlnaHRzIHRoZSBmaXJzdCBUT0MgaXRlbSBpZiBubyBvdGhlciBpdGVtcyBhcmUgaGlnaGxpZ2h0ZWQKICAgICAgICAgICAgc2VsZi5lbGVtZW50LmZpbmQoaXRlbUNsYXNzKS5maXJzdCgpLmFkZENsYXNzKHNlbGYuZm9jdXNDbGFzcyk7CgogICAgICAgICAgfQoKICAgICAgICB9CgogICAgICAgIHJldHVybiBzZWxmOwoKICAgICAgfSwKCiAgICAgIC8vIF9uZXN0RWxlbWVudHMKICAgICAgLy8gLS0tLS0tLS0tLS0tLQogICAgICAvLyAgICAgIEhlbHBzIGNyZWF0ZSB0aGUgdGFibGUgb2YgY29udGVudHMgbGlzdCBieSBhcHBlbmRpbmcgbmVzdGVkIGxpc3QgaXRlbXMKICAgICAgX25lc3RFbGVtZW50czogZnVuY3Rpb24oc2VsZiwgaW5kZXgpIHsKCiAgICAgICAgdmFyIGFyciwgaXRlbSwgaGFzaFZhbHVlOwoKICAgICAgICBhcnIgPSAkLmdyZXAodGhpcy5pdGVtcywgZnVuY3Rpb24oaXRlbSkgewoKICAgICAgICAgIHJldHVybiBpdGVtID09PSBzZWxmLnRleHQoKTsKCiAgICAgICAgfSk7CgogICAgICAgIC8vIElmIHRoZXJlIGlzIGFscmVhZHkgYSBkdXBsaWNhdGUgVE9DIGl0ZW0KICAgICAgICBpZiAoYXJyLmxlbmd0aCkgewoKICAgICAgICAgIC8vIEFkZHMgdGhlIGN1cnJlbnQgVE9DIGl0ZW0gdGV4dCBhbmQgaW5kZXggKGZvciBzbGlnaHQgcmFuZG9taXphdGlvbikgdG8gdGhlIGludGVybmFsIGFycmF5CiAgICAgICAgICB0aGlzLml0ZW1zLnB1c2goc2VsZi50ZXh0KCkgKyBpbmRleCk7CgogICAgICAgIH0KCiAgICAgICAgLy8gSWYgdGhlcmUgbm90IGEgZHVwbGljYXRlIFRPQyBpdGVtCiAgICAgICAgZWxzZSB7CgogICAgICAgICAgLy8gQWRkcyB0aGUgY3VycmVudCBUT0MgaXRlbSB0ZXh0IHRvIHRoZSBpbnRlcm5hbCBhcnJheQogICAgICAgICAgdGhpcy5pdGVtcy5wdXNoKHNlbGYudGV4dCgpKTsKCiAgICAgICAgfQoKICAgICAgICBoYXNoVmFsdWUgPSB0aGlzLl9nZW5lcmF0ZUhhc2hWYWx1ZShhcnIsIHNlbGYsIGluZGV4KTsKCiAgICAgICAgLy8gQXBwZW5kcyBhIGxpc3QgaXRlbSBIVE1MIGVsZW1lbnQgdG8gdGhlIGxhc3QgdW5vcmRlcmVkIGxpc3QgSFRNTCBlbGVtZW50IGZvdW5kIHdpdGhpbiB0aGUgSFRNTCBlbGVtZW50IGNhbGxpbmcgdGhlIHBsdWdpbgogICAgICAgIGl0ZW0gPSAkKCI8bGkvPiIsIHsKCiAgICAgICAgICAvLyBTZXRzIGEgY29tbW9uIGNsYXNzIG5hbWUgdG8gdGhlIGxpc3QgaXRlbQogICAgICAgICAgImNsYXNzIjogaXRlbUNsYXNzTmFtZSwKCiAgICAgICAgICAiZGF0YS11bmlxdWUiOiBoYXNoVmFsdWUKCiAgICAgICAgfSk7CgogICAgICAgIGlmICh0aGlzLm9wdGlvbnMudGhlbWUgIT09ICJib290c3RyYXAzIikgewoKICAgICAgICAgIGl0ZW0uYXBwZW5kKCQoIjxhLz4iLCB7CgogICAgICAgICAgICAidGV4dCI6IHNlbGYudGV4dCgpCgogICAgICAgICAgfSkpOwoKICAgICAgICB9IGVsc2UgewoKICAgICAgICAgIGl0ZW0udGV4dChzZWxmLnRleHQoKSk7CgogICAgICAgIH0KCiAgICAgICAgLy8gQWRkcyBhbiBIVE1MIGFuY2hvciB0YWcgYmVmb3JlIHRoZSBjdXJyZW50bHkgdHJhdmVyc2VkIEhUTUwgZWxlbWVudAogICAgICAgIHNlbGYuYmVmb3JlKCQoIjxkaXYvPiIsIHsKCiAgICAgICAgICAvLyBTZXRzIGEgbmFtZSBhdHRyaWJ1dGUgb24gdGhlIGFuY2hvciB0YWcgdG8gdGhlIHRleHQgb2YgdGhlIGN1cnJlbnRseSB0cmF2ZXJzZWQgSFRNTCBlbGVtZW50IChhbHNvIG1ha2luZyBzdXJlIHRoYXQgYWxsIHdoaXRlc3BhY2UgaXMgcmVwbGFjZWQgd2l0aCBhbiB1bmRlcnNjb3JlKQogICAgICAgICAgIm5hbWUiOiBoYXNoVmFsdWUsCgogICAgICAgICAgImRhdGEtdW5pcXVlIjogaGFzaFZhbHVlCgogICAgICAgIH0pKTsKCiAgICAgICAgcmV0dXJuIGl0ZW07CgogICAgICB9LAoKICAgICAgLy8gX2dlbmVyYXRlSGFzaFZhbHVlCiAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLQogICAgICAvLyAgICAgIEdlbmVyYXRlcyB0aGUgaGFzaCB2YWx1ZSB0aGF0IHdpbGwgYmUgdXNlZCB0byByZWZlciB0byBlYWNoIGl0ZW0uCiAgICAgIF9nZW5lcmF0ZUhhc2hWYWx1ZTogZnVuY3Rpb24oYXJyLCBzZWxmLCBpbmRleCkgewoKICAgICAgICB2YXIgaGFzaFZhbHVlID0gIiIsCiAgICAgICAgICBoYXNoR2VuZXJhdG9yT3B0aW9uID0gdGhpcy5vcHRpb25zLmhhc2hHZW5lcmF0b3I7CgogICAgICAgIGlmIChoYXNoR2VuZXJhdG9yT3B0aW9uID09PSAicHJldHR5IikgewoKICAgICAgICAgIC8vIHByZXR0aWZ5IHRoZSB0ZXh0CiAgICAgICAgICBoYXNoVmFsdWUgPSBzZWxmLnRleHQoKS50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoL1xzL2csICItIik7CgogICAgICAgICAgLy8gZml4IGRvdWJsZSBoeXBoZW5zCiAgICAgICAgICB3aGlsZSAoaGFzaFZhbHVlLmluZGV4T2YoIi0tIikgPiAtMSkgewogICAgICAgICAgICBoYXNoVmFsdWUgPSBoYXNoVmFsdWUucmVwbGFjZSgvLS0vZywgIi0iKTsKICAgICAgICAgIH0KCiAgICAgICAgICAvLyBmaXggY29sb24tc3BhY2UgaW5zdGFuY2VzCiAgICAgICAgICB3aGlsZSAoaGFzaFZhbHVlLmluZGV4T2YoIjotIikgPiAtMSkgewogICAgICAgICAgICBoYXNoVmFsdWUgPSBoYXNoVmFsdWUucmVwbGFjZSgvOi0vZywgIi0iKTsKICAgICAgICAgIH0KCiAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgaGFzaEdlbmVyYXRvck9wdGlvbiA9PT0gImZ1bmN0aW9uIikgewoKICAgICAgICAgIC8vIGNhbGwgdGhlIGZ1bmN0aW9uCiAgICAgICAgICBoYXNoVmFsdWUgPSBoYXNoR2VuZXJhdG9yT3B0aW9uKHNlbGYudGV4dCgpLCBzZWxmKTsKCiAgICAgICAgfSBlbHNlIHsKCiAgICAgICAgICAvLyBjb21wYWN0IC0gdGhlIGRlZmF1bHQKICAgICAgICAgIGhhc2hWYWx1ZSA9IHNlbGYudGV4dCgpLnJlcGxhY2UoL1xzL2csICIiKTsKCiAgICAgICAgfQoKICAgICAgICAvLyBhZGQgdGhlIGluZGV4IGlmIHdlIG5lZWQgdG8KICAgICAgICBpZiAoYXJyLmxlbmd0aCkgewogICAgICAgICAgaGFzaFZhbHVlICs9ICIiICsgaW5kZXg7CiAgICAgICAgfQoKICAgICAgICAvLyByZXR1cm4gdGhlIHZhbHVlCiAgICAgICAgcmV0dXJuIGhhc2hWYWx1ZTsKCiAgICAgIH0sCgogICAgICAvLyBfYXBwZW5kRWxlbWVudHMKICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tCiAgICAgIC8vICAgICAgSGVscHMgY3JlYXRlIHRoZSB0YWJsZSBvZiBjb250ZW50cyBsaXN0IGJ5IGFwcGVuZGluZyBzdWJoZWFkZXIgZWxlbWVudHMKCiAgICAgIF9hcHBlbmRTdWJoZWFkZXJzOiBmdW5jdGlvbihzZWxmLCB1bCkgewoKICAgICAgICAvLyBUaGUgY3VycmVudCBlbGVtZW50IGluZGV4CiAgICAgICAgdmFyIGluZGV4ID0gJCh0aGlzKS5pbmRleChzZWxmLm9wdGlvbnMuc2VsZWN0b3JzKSwKCiAgICAgICAgICAvLyBGaW5kcyB0aGUgcHJldmlvdXMgaGVhZGVyIERPTSBlbGVtZW50CiAgICAgICAgICBwcmV2aW91c0hlYWRlciA9ICQoc2VsZi5vcHRpb25zLnNlbGVjdG9ycykuZXEoaW5kZXggLSAxKSwKCiAgICAgICAgICBjdXJyZW50VGFnTmFtZSA9ICskKHRoaXMpLnByb3AoInRhZ05hbWUiKS5jaGFyQXQoMSksCgogICAgICAgICAgcHJldmlvdXNUYWdOYW1lID0gK3ByZXZpb3VzSGVhZGVyLnByb3AoInRhZ05hbWUiKS5jaGFyQXQoMSksCgogICAgICAgICAgbGFzdFN1YmhlYWRlcjsKCiAgICAgICAgLy8gSWYgdGhlIGN1cnJlbnQgaGVhZGVyIERPTSBlbGVtZW50IGlzIHNtYWxsZXIgdGhhbiB0aGUgcHJldmlvdXMgaGVhZGVyIERPTSBlbGVtZW50IG9yIHRoZSBmaXJzdCBzdWJoZWFkZXIKICAgICAgICBpZiAoY3VycmVudFRhZ05hbWUgPCBwcmV2aW91c1RhZ05hbWUpIHsKCiAgICAgICAgICAvLyBTZWxlY3RzIHRoZSBsYXN0IHVub3JkZXJlZCBsaXN0IEhUTUwgZm91bmQgd2l0aGluIHRoZSBIVE1MIGVsZW1lbnQgY2FsbGluZyB0aGUgcGx1Z2luCiAgICAgICAgICBzZWxmLmVsZW1lbnQuZmluZChzdWJoZWFkZXJDbGFzcyArICJbZGF0YS10YWc9IiArIGN1cnJlbnRUYWdOYW1lICsgIl0iKS5sYXN0KCkuYXBwZW5kKHNlbGYuX25lc3RFbGVtZW50cygkKHRoaXMpLCBpbmRleCkpOwoKICAgICAgICB9CgogICAgICAgIC8vIElmIHRoZSBjdXJyZW50IGhlYWRlciBET00gZWxlbWVudCBpcyB0aGUgc2FtZSB0eXBlIG9mIGhlYWRlcihlZy4gaDQpIGFzIHRoZSBwcmV2aW91cyBoZWFkZXIgRE9NIGVsZW1lbnQKICAgICAgICBlbHNlIGlmIChjdXJyZW50VGFnTmFtZSA9PT0gcHJldmlvdXNUYWdOYW1lKSB7CgogICAgICAgICAgdWwuZmluZChpdGVtQ2xhc3MpLmxhc3QoKS5hZnRlcihzZWxmLl9uZXN0RWxlbWVudHMoJCh0aGlzKSwgaW5kZXgpKTsKCiAgICAgICAgfSBlbHNlIHsKCiAgICAgICAgICAvLyBTZWxlY3RzIHRoZSBsYXN0IHVub3JkZXJlZCBsaXN0IEhUTUwgZm91bmQgd2l0aGluIHRoZSBIVE1MIGVsZW1lbnQgY2FsbGluZyB0aGUgcGx1Z2luCiAgICAgICAgICB1bC5maW5kKGl0ZW1DbGFzcykubGFzdCgpLgoKICAgICAgICAgIC8vIEFwcGVuZHMgYW4gdW5vcmRlcmVkTGlzdCBIVE1MIGVsZW1lbnQgdG8gdGhlIGR5bmFtaWMgYHVub3JkZXJlZExpc3RgIHZhcmlhYmxlIGFuZCBzZXRzIGEgY29tbW9uIGNsYXNzIG5hbWUKICAgICAgICAgIGFmdGVyKCQoIjx1bC8+IiwgewoKICAgICAgICAgICAgImNsYXNzIjogc3ViaGVhZGVyQ2xhc3NOYW1lLAoKICAgICAgICAgICAgImRhdGEtdGFnIjogY3VycmVudFRhZ05hbWUKCiAgICAgICAgICB9KSkubmV4dChzdWJoZWFkZXJDbGFzcykuCgogICAgICAgICAgLy8gQXBwZW5kcyBhIGxpc3QgaXRlbSBIVE1MIGVsZW1lbnQgdG8gdGhlIGxhc3QgdW5vcmRlcmVkIGxpc3QgSFRNTCBlbGVtZW50IGZvdW5kIHdpdGhpbiB0aGUgSFRNTCBlbGVtZW50IGNhbGxpbmcgdGhlIHBsdWdpbgogICAgICAgICAgYXBwZW5kKHNlbGYuX25lc3RFbGVtZW50cygkKHRoaXMpLCBpbmRleCkpOwogICAgICAgIH0KCiAgICAgIH0sCgogICAgICAvLyBfc2V0RXZlbnRIYW5kbGVycwogICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tCiAgICAgIC8vICAgICAgQWRkcyBqUXVlcnkgZXZlbnQgaGFuZGxlcnMgdG8gdGhlIG5ld2x5IGdlbmVyYXRlZCB0YWJsZSBvZiBjb250ZW50cwogICAgICBfc2V0RXZlbnRIYW5kbGVyczogZnVuY3Rpb24oKSB7CgogICAgICAgIC8vIF9Mb2NhbCB2YXJpYWJsZXNfCgogICAgICAgIC8vIFN0b3JlcyB0aGUgcGx1Z2luIGNvbnRleHQgaW4gdGhlIHNlbGYgdmFyaWFibGUKICAgICAgICB2YXIgc2VsZiA9IHRoaXMsCgogICAgICAgICAgLy8gSW5zdGFudGlhdGVzIGEgbmV3IHZhcmlhYmxlIHRoYXQgd2lsbCBiZSB1c2VkIHRvIGhvbGQgYSBzcGVjaWZpYyBlbGVtZW50J3MgY29udGV4dAogICAgICAgICAgJHNlbGYsCgogICAgICAgICAgLy8gSW5zdGFudGlhdGVzIGEgbmV3IHZhcmlhYmxlIHRoYXQgd2lsbCBiZSB1c2VkIHRvIGRldGVybWluZSB0aGUgc21vb3RoU2Nyb2xsIGFuaW1hdGlvbiB0aW1lIGR1cmF0aW9uCiAgICAgICAgICBkdXJhdGlvbjsKCiAgICAgICAgLy8gRXZlbnQgZGVsZWdhdGlvbiB0aGF0IGxvb2tzIGZvciBhbnkgY2xpY2tzIG9uIGxpc3QgaXRlbSBlbGVtZW50cyBpbnNpZGUgb2YgdGhlIEhUTUwgZWxlbWVudCBjYWxsaW5nIHRoZSBwbHVnaW4KICAgICAgICB0aGlzLmVsZW1lbnQub24oImNsaWNrLnRvY2lmeSIsICJsaSIsIGZ1bmN0aW9uKGV2ZW50KSB7CgogICAgICAgICAgaWYgKHNlbGYub3B0aW9ucy5oaXN0b3J5KSB7CgogICAgICAgICAgICB3aW5kb3cubG9jYXRpb24uaGFzaCA9ICQodGhpcykuYXR0cigiZGF0YS11bmlxdWUiKTsKCiAgICAgICAgICB9CgogICAgICAgICAgLy8gUmVtb3ZlcyBoaWdobGlnaHRpbmcgZnJvbSBhbGwgb2YgdGhlIGxpc3QgaXRlbSdzCiAgICAgICAgICBzZWxmLmVsZW1lbnQuZmluZCgiLiIgKyBzZWxmLmZvY3VzQ2xhc3MpLnJlbW92ZUNsYXNzKHNlbGYuZm9jdXNDbGFzcyk7CgogICAgICAgICAgLy8gSGlnaGxpZ2h0cyB0aGUgY3VycmVudCBsaXN0IGl0ZW0gdGhhdCB3YXMgY2xpY2tlZAogICAgICAgICAgJCh0aGlzKS5hZGRDbGFzcyhzZWxmLmZvY3VzQ2xhc3MpOwoKICAgICAgICAgIC8vIElmIHRoZSBzaG93QW5kSGlkZSBvcHRpb24gaXMgdHJ1ZQogICAgICAgICAgaWYgKHNlbGYub3B0aW9ucy5zaG93QW5kSGlkZSkgewoKICAgICAgICAgICAgdmFyIGVsZW0gPSAkKCdsaVtkYXRhLXVuaXF1ZT0iJyArICQodGhpcykuYXR0cigiZGF0YS11bmlxdWUiKSArICciXScpOwoKICAgICAgICAgICAgc2VsZi5fdHJpZ2dlclNob3coZWxlbSk7CgogICAgICAgICAgfQoKICAgICAgICAgIHNlbGYuX3Njcm9sbFRvKCQodGhpcykpOwoKICAgICAgICB9KTsKCiAgICAgICAgLy8gTW91c2VlbnRlciBhbmQgTW91c2VsZWF2ZSBldmVudCBoYW5kbGVycyBmb3IgdGhlIGxpc3QgaXRlbSdzIHdpdGhpbiB0aGUgSFRNTCBlbGVtZW50IGNhbGxpbmcgdGhlIHBsdWdpbgogICAgICAgIHRoaXMuZWxlbWVudC5maW5kKCJsaSIpLm9uKHsKCiAgICAgICAgICAvLyBNb3VzZWVudGVyIGV2ZW50IGhhbmRsZXIKICAgICAgICAgICJtb3VzZWVudGVyLnRvY2lmeSI6IGZ1bmN0aW9uKCkgewoKICAgICAgICAgICAgLy8gQWRkcyBhIGhvdmVyIENTUyBjbGFzcyB0byB0aGUgY3VycmVudCBsaXN0IGl0ZW0KICAgICAgICAgICAgJCh0aGlzKS5hZGRDbGFzcyhzZWxmLmhvdmVyQ2xhc3MpOwoKICAgICAgICAgICAgLy8gTWFrZXMgc3VyZSB0aGUgY3Vyc29yIGlzIHNldCB0byB0aGUgcG9pbnRlciBpY29uCiAgICAgICAgICAgICQodGhpcykuY3NzKCJjdXJzb3IiLCAicG9pbnRlciIpOwoKICAgICAgICAgIH0sCgogICAgICAgICAgLy8gTW91c2VsZWF2ZSBldmVudCBoYW5kbGVyCiAgICAgICAgICAibW91c2VsZWF2ZS50b2NpZnkiOiBmdW5jdGlvbigpIHsKCiAgICAgICAgICAgIGlmIChzZWxmLm9wdGlvbnMudGhlbWUgIT09ICJib290c3RyYXAiKSB7CgogICAgICAgICAgICAgIC8vIFJlbW92ZXMgdGhlIGhvdmVyIENTUyBjbGFzcyBmcm9tIHRoZSBjdXJyZW50IGxpc3QgaXRlbQogICAgICAgICAgICAgICQodGhpcykucmVtb3ZlQ2xhc3Moc2VsZi5ob3ZlckNsYXNzKTsKCiAgICAgICAgICAgIH0KCiAgICAgICAgICB9CiAgICAgICAgfSk7CgogICAgICAgIC8vIG9ubHkgYXR0YWNoIGhhbmRsZXIgaWYgbmVlZGVkIChleHBlbnNpdmUgaW4gSUUpCiAgICAgICAgaWYgKHNlbGYub3B0aW9ucy5leHRlbmRQYWdlIHx8IHNlbGYub3B0aW9ucy5oaWdobGlnaHRPblNjcm9sbCB8fCBzZWxmLm9wdGlvbnMuc2Nyb2xsSGlzdG9yeSB8fCBzZWxmLm9wdGlvbnMuc2hvd0FuZEhpZGVPblNjcm9sbCkgewogICAgICAgICAgLy8gV2luZG93IHNjcm9sbCBldmVudCBoYW5kbGVyCiAgICAgICAgICAkKHdpbmRvdykub24oInNjcm9sbC50b2NpZnkiLCBmdW5jdGlvbigpIHsKCiAgICAgICAgICAgIC8vIE9uY2UgYWxsIGFuaW1hdGlvbnMgb24gdGhlIHBhZ2UgYXJlIGNvbXBsZXRlLCB0aGlzIGNhbGxiYWNrIGZ1bmN0aW9uIHdpbGwgYmUgY2FsbGVkCiAgICAgICAgICAgICQoImh0bWwsIGJvZHkiKS5wcm9taXNlKCkuZG9uZShmdW5jdGlvbigpIHsKCiAgICAgICAgICAgICAgLy8gTG9jYWwgdmFyaWFibGVzCgogICAgICAgICAgICAgIC8vIFN0b3JlcyBob3cgZmFyIHRoZSB1c2VyIGhhcyBzY3JvbGxlZAogICAgICAgICAgICAgIHZhciB3aW5TY3JvbGxUb3AgPSAkKHdpbmRvdykuc2Nyb2xsVG9wKCksCgogICAgICAgICAgICAgICAgLy8gU3RvcmVzIHRoZSBoZWlnaHQgb2YgdGhlIHdpbmRvdwogICAgICAgICAgICAgICAgd2luSGVpZ2h0ID0gJCh3aW5kb3cpLmhlaWdodCgpLAoKICAgICAgICAgICAgICAgIC8vIFN0b3JlcyB0aGUgaGVpZ2h0IG9mIHRoZSBkb2N1bWVudAogICAgICAgICAgICAgICAgZG9jSGVpZ2h0ID0gJChkb2N1bWVudCkuaGVpZ2h0KCksCgogICAgICAgICAgICAgICAgc2Nyb2xsSGVpZ2h0ID0gJCgiYm9keSIpWzBdLnNjcm9sbEhlaWdodCwKCiAgICAgICAgICAgICAgICAvLyBJbnN0YW50aWF0ZXMgYSB2YXJpYWJsZSB0aGF0IHdpbGwgYmUgdXNlZCB0byBob2xkIGEgc2VsZWN0ZWQgSFRNTCBlbGVtZW50CiAgICAgICAgICAgICAgICBlbGVtLAoKICAgICAgICAgICAgICAgIGxhc3RFbGVtLAoKICAgICAgICAgICAgICAgIGxhc3RFbGVtT2Zmc2V0LAoKICAgICAgICAgICAgICAgIGN1cnJlbnRFbGVtOwoKICAgICAgICAgICAgICBpZiAoc2VsZi5vcHRpb25zLmV4dGVuZFBhZ2UpIHsKCiAgICAgICAgICAgICAgICAvLyBJZiB0aGUgdXNlciBoYXMgc2Nyb2xsZWQgdG8gdGhlIGJvdHRvbSBvZiB0aGUgcGFnZSBhbmQgdGhlIGxhc3QgdG9jIGl0ZW0gaXMgbm90IGZvY3VzZWQKICAgICAgICAgICAgICAgIGlmICgoc2VsZi53ZWJraXQgJiYgd2luU2Nyb2xsVG9wID49IHNjcm9sbEhlaWdodCAtIHdpbkhlaWdodCAtIHNlbGYub3B0aW9ucy5leHRlbmRQYWdlT2Zmc2V0KSB8fCAoIXNlbGYud2Via2l0ICYmIHdpbkhlaWdodCArIHdpblNjcm9sbFRvcCA+IGRvY0hlaWdodCAtIHNlbGYub3B0aW9ucy5leHRlbmRQYWdlT2Zmc2V0KSkgewoKICAgICAgICAgICAgICAgICAgaWYgKCEkKGV4dGVuZFBhZ2VDbGFzcykubGVuZ3RoKSB7CgogICAgICAgICAgICAgICAgICAgIGxhc3RFbGVtID0gJCgnZGl2W2RhdGEtdW5pcXVlPSInICsgJChpdGVtQ2xhc3MpLmxhc3QoKS5hdHRyKCJkYXRhLXVuaXF1ZSIpICsgJyJdJyk7CgogICAgICAgICAgICAgICAgICAgIGlmICghbGFzdEVsZW0ubGVuZ3RoKSByZXR1cm47CgogICAgICAgICAgICAgICAgICAgIC8vIEdldHMgdGhlIHRvcCBvZmZzZXQgb2YgdGhlIHBhZ2UgaGVhZGVyIHRoYXQgaXMgbGlua2VkIHRvIHRoZSBsYXN0IHRvYyBpdGVtCiAgICAgICAgICAgICAgICAgICAgbGFzdEVsZW1PZmZzZXQgPSBsYXN0RWxlbS5vZmZzZXQoKS50b3A7CgogICAgICAgICAgICAgICAgICAgIC8vIEFwcGVuZHMgYSBkaXYgdG8gdGhlIGJvdHRvbSBvZiB0aGUgcGFnZSBhbmQgc2V0cyB0aGUgaGVpZ2h0IHRvIHRoZSBkaWZmZXJlbmNlIG9mIHRoZSB3aW5kb3cgc2Nyb2xsVG9wIGFuZCB0aGUgbGFzdCBlbGVtZW50J3MgcG9zaXRpb24gdG9wIG9mZnNldAogICAgICAgICAgICAgICAgICAgICQoc2VsZi5vcHRpb25zLmNvbnRleHQpLmFwcGVuZCgkKCI8ZGl2Lz4iLCB7CgogICAgICAgICAgICAgICAgICAgICAgImNsYXNzIjogZXh0ZW5kUGFnZUNsYXNzTmFtZSwKCiAgICAgICAgICAgICAgICAgICAgICAiaGVpZ2h0IjogTWF0aC5hYnMobGFzdEVsZW1PZmZzZXQgLSB3aW5TY3JvbGxUb3ApICsgInB4IiwKCiAgICAgICAgICAgICAgICAgICAgICAiZGF0YS11bmlxdWUiOiBleHRlbmRQYWdlQ2xhc3NOYW1lCgogICAgICAgICAgICAgICAgICAgIH0pKTsKCiAgICAgICAgICAgICAgICAgICAgaWYgKHNlbGYuZXh0ZW5kUGFnZVNjcm9sbCkgewoKICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRFbGVtID0gc2VsZi5lbGVtZW50LmZpbmQoJ2xpLicgKyBzZWxmLmZvY3VzQ2xhc3MpOwoKICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX3Njcm9sbFRvKCQoJ2RpdltkYXRhLXVuaXF1ZT0iJyArIGN1cnJlbnRFbGVtLmF0dHIoImRhdGEtdW5pcXVlIikgKyAnIl0nKSk7CgogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgLy8gVGhlIHplcm8gdGltZW91dCBlbnN1cmVzIHRoZSBmb2xsb3dpbmcgY29kZSBpcyBydW4gYWZ0ZXIgdGhlIHNjcm9sbCBldmVudHMKICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewoKICAgICAgICAgICAgICAgIC8vIF9Mb2NhbCB2YXJpYWJsZXNfCgogICAgICAgICAgICAgICAgLy8gU3RvcmVzIHRoZSBkaXN0YW5jZSB0byB0aGUgY2xvc2VzdCBhbmNob3IKICAgICAgICAgICAgICAgIHZhciBjbG9zZXN0QW5jaG9yRGlzdGFuY2UgPSBudWxsLAoKICAgICAgICAgICAgICAgICAgLy8gU3RvcmVzIHRoZSBpbmRleCBvZiB0aGUgY2xvc2VzdCBhbmNob3IKICAgICAgICAgICAgICAgICAgY2xvc2VzdEFuY2hvcklkeCA9IG51bGwsCgogICAgICAgICAgICAgICAgICAvLyBLZWVwcyBhIHJlZmVyZW5jZSB0byBhbGwgYW5jaG9ycwogICAgICAgICAgICAgICAgICBhbmNob3JzID0gJChzZWxmLm9wdGlvbnMuY29udGV4dCkuZmluZCgiZGl2W2RhdGEtdW5pcXVlXSIpLAoKICAgICAgICAgICAgICAgICAgYW5jaG9yVGV4dDsKCiAgICAgICAgICAgICAgICAvLyBEZXRlcm1pbmVzIHRoZSBpbmRleCBvZiB0aGUgY2xvc2VzdCBhbmNob3IKICAgICAgICAgICAgICAgIGFuY2hvcnMuZWFjaChmdW5jdGlvbihpZHgpIHsKICAgICAgICAgICAgICAgICAgdmFyIGRpc3RhbmNlID0gTWF0aC5hYnMoKCQodGhpcykubmV4dCgpLmxlbmd0aCA/ICQodGhpcykubmV4dCgpIDogJCh0aGlzKSkub2Zmc2V0KCkudG9wIC0gd2luU2Nyb2xsVG9wIC0gc2VsZi5vcHRpb25zLmhpZ2hsaWdodE9mZnNldCk7CiAgICAgICAgICAgICAgICAgIGlmIChjbG9zZXN0QW5jaG9yRGlzdGFuY2UgPT0gbnVsbCB8fCBkaXN0YW5jZSA8IGNsb3Nlc3RBbmNob3JEaXN0YW5jZSkgewogICAgICAgICAgICAgICAgICAgIGNsb3Nlc3RBbmNob3JEaXN0YW5jZSA9IGRpc3RhbmNlOwogICAgICAgICAgICAgICAgICAgIGNsb3Nlc3RBbmNob3JJZHggPSBpZHg7CiAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9KTsKCiAgICAgICAgICAgICAgICBhbmNob3JUZXh0ID0gJChhbmNob3JzW2Nsb3Nlc3RBbmNob3JJZHhdKS5hdHRyKCJkYXRhLXVuaXF1ZSIpOwoKICAgICAgICAgICAgICAgIC8vIFN0b3JlcyB0aGUgbGlzdCBpdGVtIEhUTUwgZWxlbWVudCB0aGF0IGNvcnJlc3BvbmRzIHRvIHRoZSBjdXJyZW50bHkgdHJhdmVyc2VkIGFuY2hvciB0YWcKICAgICAgICAgICAgICAgIGVsZW0gPSAkKCdsaVtkYXRhLXVuaXF1ZT0iJyArIGFuY2hvclRleHQgKyAnIl0nKTsKCiAgICAgICAgICAgICAgICAvLyBJZiB0aGUgYGhpZ2hsaWdodE9uU2Nyb2xsYCBvcHRpb24gaXMgdHJ1ZSBhbmQgYSBuZXh0IGVsZW1lbnQgaXMgZm91bmQKICAgICAgICAgICAgICAgIGlmIChzZWxmLm9wdGlvbnMuaGlnaGxpZ2h0T25TY3JvbGwgJiYgZWxlbS5sZW5ndGgpIHsKCiAgICAgICAgICAgICAgICAgIC8vIFJlbW92ZXMgaGlnaGxpZ2h0aW5nIGZyb20gYWxsIG9mIHRoZSBsaXN0IGl0ZW0ncwogICAgICAgICAgICAgICAgICBzZWxmLmVsZW1lbnQuZmluZCgiLiIgKyBzZWxmLmZvY3VzQ2xhc3MpLnJlbW92ZUNsYXNzKHNlbGYuZm9jdXNDbGFzcyk7CgogICAgICAgICAgICAgICAgICAvLyBIaWdobGlnaHRzIHRoZSBjb3JyZXNwb25kaW5nIGxpc3QgaXRlbQogICAgICAgICAgICAgICAgICBlbGVtLmFkZENsYXNzKHNlbGYuZm9jdXNDbGFzcyk7CgogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChzZWxmLm9wdGlvbnMuc2Nyb2xsSGlzdG9yeSkgewoKICAgICAgICAgICAgICAgICAgaWYgKHdpbmRvdy5sb2NhdGlvbi5oYXNoICE9PSAiIyIgKyBhbmNob3JUZXh0KSB7CgogICAgICAgICAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbi5yZXBsYWNlKCIjIiArIGFuY2hvclRleHQpOwoKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIC8vIElmIHRoZSBgc2hvd0FuZEhpZGVPblNjcm9sbGAgb3B0aW9uIGlzIHRydWUKICAgICAgICAgICAgICAgIGlmIChzZWxmLm9wdGlvbnMuc2hvd0FuZEhpZGVPblNjcm9sbCAmJiBzZWxmLm9wdGlvbnMuc2hvd0FuZEhpZGUpIHsKCiAgICAgICAgICAgICAgICAgIHNlbGYuX3RyaWdnZXJTaG93KGVsZW0sIHRydWUpOwoKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgfSwgMCk7CgogICAgICAgICAgICB9KTsKCiAgICAgICAgICB9KTsKICAgICAgICB9CgogICAgICB9LAoKICAgICAgLy8gU2hvdwogICAgICAvLyAtLS0tCiAgICAgIC8vICAgICAgT3BlbnMgdGhlIGN1cnJlbnQgc3ViLWhlYWRlcgogICAgICBzaG93OiBmdW5jdGlvbihlbGVtLCBzY3JvbGwpIHsKCiAgICAgICAgLy8gU3RvcmVzIHRoZSBwbHVnaW4gY29udGV4dCBpbiB0aGUgYHNlbGZgIHZhcmlhYmxlCiAgICAgICAgdmFyIHNlbGYgPSB0aGlzLAogICAgICAgICAgZWxlbWVudCA9IGVsZW07CgogICAgICAgIC8vIElmIHRoZSBzdWItaGVhZGVyIGlzIG5vdCBhbHJlYWR5IHZpc2libGUKICAgICAgICBpZiAoIWVsZW0uaXMoIjp2aXNpYmxlIikpIHsKCiAgICAgICAgICAvLyBJZiB0aGUgY3VycmVudCBlbGVtZW50IGRvZXMgbm90IGhhdmUgYW55IG5lc3RlZCBzdWJoZWFkZXJzLCBpcyBub3QgYSBoZWFkZXIsIGFuZCBpdHMgcGFyZW50IGlzIG5vdCB2aXNpYmxlCiAgICAgICAgICBpZiAoIWVsZW0uZmluZChzdWJoZWFkZXJDbGFzcykubGVuZ3RoICYmICFlbGVtLnBhcmVudCgpLmlzKGhlYWRlckNsYXNzKSAmJiAhZWxlbS5wYXJlbnQoKS5pcygiOnZpc2libGUiKSkgewoKICAgICAgICAgICAgLy8gU2V0cyB0aGUgY3VycmVudCBlbGVtZW50IHRvIGFsbCBvZiB0aGUgc3ViaGVhZGVycyB3aXRoaW4gdGhlIGN1cnJlbnQgaGVhZGVyCiAgICAgICAgICAgIGVsZW0gPSBlbGVtLnBhcmVudHMoc3ViaGVhZGVyQ2xhc3MpLmFkZChlbGVtKTsKCiAgICAgICAgICB9CgogICAgICAgICAgLy8gSWYgdGhlIGN1cnJlbnQgZWxlbWVudCBkb2VzIG5vdCBoYXZlIGFueSBuZXN0ZWQgc3ViaGVhZGVycyBhbmQgaXMgbm90IGEgaGVhZGVyCiAgICAgICAgICBlbHNlIGlmICghZWxlbS5jaGlsZHJlbihzdWJoZWFkZXJDbGFzcykubGVuZ3RoICYmICFlbGVtLnBhcmVudCgpLmlzKGhlYWRlckNsYXNzKSkgewoKICAgICAgICAgICAgLy8gU2V0cyB0aGUgY3VycmVudCBlbGVtZW50IHRvIHRoZSBjbG9zZXN0IHN1YmhlYWRlcgogICAgICAgICAgICBlbGVtID0gZWxlbS5jbG9zZXN0KHN1YmhlYWRlckNsYXNzKTsKCiAgICAgICAgICB9CgogICAgICAgICAgLy9EZXRlcm1pbmVzIHdoYXQgalF1ZXJ5IGVmZmVjdCB0byB1c2UKICAgICAgICAgIHN3aXRjaCAoc2VsZi5vcHRpb25zLnNob3dFZmZlY3QpIHsKCiAgICAgICAgICAgIC8vVXNlcyBgbm8gZWZmZWN0YAogICAgICAgICAgICBjYXNlICJub25lIjoKCiAgICAgICAgICAgICAgZWxlbS5zaG93KCk7CgogICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgICAvL1VzZXMgdGhlIGpRdWVyeSBgc2hvd2Agc3BlY2lhbCBlZmZlY3QKICAgICAgICAgICAgY2FzZSAic2hvdyI6CgogICAgICAgICAgICAgIGVsZW0uc2hvdyhzZWxmLm9wdGlvbnMuc2hvd0VmZmVjdFNwZWVkKTsKCiAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICAgIC8vVXNlcyB0aGUgalF1ZXJ5IGBzbGlkZURvd25gIHNwZWNpYWwgZWZmZWN0CiAgICAgICAgICAgIGNhc2UgInNsaWRlRG93biI6CgogICAgICAgICAgICAgIGVsZW0uc2xpZGVEb3duKHNlbGYub3B0aW9ucy5zaG93RWZmZWN0U3BlZWQpOwoKICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgICAgLy9Vc2VzIHRoZSBqUXVlcnkgYGZhZGVJbmAgc3BlY2lhbCBlZmZlY3QKICAgICAgICAgICAgY2FzZSAiZmFkZUluIjoKCiAgICAgICAgICAgICAgZWxlbS5mYWRlSW4oc2VsZi5vcHRpb25zLnNob3dFZmZlY3RTcGVlZCk7CgogICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgICAvL0lmIG5vbmUgb2YgdGhlIGFib3ZlIG9wdGlvbnMgd2VyZSBwYXNzZWQsIHRoZW4gYSBgalF1ZXJ5VUkgc2hvdyBlZmZlY3RgIGlzIGV4cGVjdGVkCiAgICAgICAgICAgIGRlZmF1bHQ6CgogICAgICAgICAgICAgIGVsZW0uc2hvdygpOwoKICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICB9CgogICAgICAgIH0KCiAgICAgICAgLy8gSWYgdGhlIGN1cnJlbnQgc3ViaGVhZGVyIHBhcmVudCBlbGVtZW50IGlzIGEgaGVhZGVyCiAgICAgICAgaWYgKGVsZW0ucGFyZW50KCkuaXMoaGVhZGVyQ2xhc3MpKSB7CgogICAgICAgICAgLy8gSGlkZXMgYWxsIG5vbi1hY3RpdmUgc3ViLWhlYWRlcnMKICAgICAgICAgIHNlbGYuaGlkZSgkKHN1YmhlYWRlckNsYXNzKS5ub3QoZWxlbSkpOwoKICAgICAgICB9CgogICAgICAgIC8vIElmIHRoZSBjdXJyZW50IHN1YmhlYWRlciBwYXJlbnQgZWxlbWVudCBpcyBub3QgYSBoZWFkZXIKICAgICAgICBlbHNlIHsKCiAgICAgICAgICAvLyBIaWRlcyBhbGwgbm9uLWFjdGl2ZSBzdWItaGVhZGVycwogICAgICAgICAgc2VsZi5oaWRlKCQoc3ViaGVhZGVyQ2xhc3MpLm5vdChlbGVtLmNsb3Nlc3QoaGVhZGVyQ2xhc3MpLmZpbmQoc3ViaGVhZGVyQ2xhc3MpLm5vdChlbGVtLnNpYmxpbmdzKCkpKSk7CgogICAgICAgIH0KCiAgICAgICAgLy8gTWFpbnRhaW5zIGNoYWluYWJsaXR5CiAgICAgICAgcmV0dXJuIHNlbGY7CgogICAgICB9LAoKICAgICAgLy8gSGlkZQogICAgICAvLyAtLS0tCiAgICAgIC8vICAgICAgQ2xvc2VzIHRoZSBjdXJyZW50IHN1Yi1oZWFkZXIKICAgICAgaGlkZTogZnVuY3Rpb24oZWxlbSkgewoKICAgICAgICAvLyBTdG9yZXMgdGhlIHBsdWdpbiBjb250ZXh0IGluIHRoZSBgc2VsZmAgdmFyaWFibGUKICAgICAgICB2YXIgc2VsZiA9IHRoaXM7CgogICAgICAgIC8vRGV0ZXJtaW5lcyB3aGF0IGpRdWVyeSBlZmZlY3QgdG8gdXNlCiAgICAgICAgc3dpdGNoIChzZWxmLm9wdGlvbnMuaGlkZUVmZmVjdCkgewoKICAgICAgICAgIC8vIFVzZXMgYG5vIGVmZmVjdGAKICAgICAgICAgIGNhc2UgIm5vbmUiOgoKICAgICAgICAgICAgZWxlbS5oaWRlKCk7CgogICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgIC8vIFVzZXMgdGhlIGpRdWVyeSBgaGlkZWAgc3BlY2lhbCBlZmZlY3QKICAgICAgICAgIGNhc2UgImhpZGUiOgoKICAgICAgICAgICAgZWxlbS5oaWRlKHNlbGYub3B0aW9ucy5oaWRlRWZmZWN0U3BlZWQpOwoKICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICAvLyBVc2VzIHRoZSBqUXVlcnkgYHNsaWRlVXBgIHNwZWNpYWwgZWZmZWN0CiAgICAgICAgICBjYXNlICJzbGlkZVVwIjoKCiAgICAgICAgICAgIGVsZW0uc2xpZGVVcChzZWxmLm9wdGlvbnMuaGlkZUVmZmVjdFNwZWVkKTsKCiAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgLy8gVXNlcyB0aGUgalF1ZXJ5IGBmYWRlT3V0YCBzcGVjaWFsIGVmZmVjdAogICAgICAgICAgY2FzZSAiZmFkZU91dCI6CgogICAgICAgICAgICBlbGVtLmZhZGVPdXQoc2VsZi5vcHRpb25zLmhpZGVFZmZlY3RTcGVlZCk7CgogICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgIC8vIElmIG5vbmUgb2YgdGhlIGFib3ZlIG9wdGlvbnMgd2VyZSBwYXNzZWQsIHRoZW4gYSBganF1ZXJ5VUkgaGlkZSBlZmZlY3RgIGlzIGV4cGVjdGVkCiAgICAgICAgICBkZWZhdWx0OgoKICAgICAgICAgICAgZWxlbS5oaWRlKCk7CgogICAgICAgICAgICBicmVhazsKCiAgICAgICAgfQoKICAgICAgICAvLyBNYWludGFpbnMgY2hhaW5hYmxpdHkKICAgICAgICByZXR1cm4gc2VsZjsKICAgICAgfSwKCiAgICAgIC8vIF90cmlnZ2VyU2hvdwogICAgICAvLyAtLS0tLS0tLS0tLS0KICAgICAgLy8gICAgICBEZXRlcm1pbmVzIHdoYXQgZWxlbWVudHMgZ2V0IHNob3duIG9uIHNjcm9sbCBhbmQgY2xpY2sKICAgICAgX3RyaWdnZXJTaG93OiBmdW5jdGlvbihlbGVtLCBzY3JvbGwpIHsKCiAgICAgICAgdmFyIHNlbGYgPSB0aGlzOwoKICAgICAgICAvLyBJZiB0aGUgY3VycmVudCBlbGVtZW50J3MgcGFyZW50IGlzIGEgaGVhZGVyIGVsZW1lbnQgb3IgdGhlIG5leHQgZWxlbWVudCBpcyBhIG5lc3RlZCBzdWJoZWFkZXIgZWxlbWVudAogICAgICAgIGlmIChlbGVtLnBhcmVudCgpLmlzKGhlYWRlckNsYXNzKSB8fCBlbGVtLm5leHQoKS5pcyhzdWJoZWFkZXJDbGFzcykpIHsKCiAgICAgICAgICAvLyBTaG93cyB0aGUgbmV4dCBzdWItaGVhZGVyIGVsZW1lbnQKICAgICAgICAgIHNlbGYuc2hvdyhlbGVtLm5leHQoc3ViaGVhZGVyQ2xhc3MpLCBzY3JvbGwpOwoKICAgICAgICB9CgogICAgICAgIC8vIElmIHRoZSBjdXJyZW50IGVsZW1lbnQncyBwYXJlbnQgaXMgYSBzdWJoZWFkZXIgZWxlbWVudAogICAgICAgIGVsc2UgaWYgKGVsZW0ucGFyZW50KCkuaXMoc3ViaGVhZGVyQ2xhc3MpKSB7CgogICAgICAgICAgLy8gU2hvd3MgdGhlIHBhcmVudCBzdWItaGVhZGVyIGVsZW1lbnQKICAgICAgICAgIHNlbGYuc2hvdyhlbGVtLnBhcmVudCgpLCBzY3JvbGwpOwoKICAgICAgICB9CgogICAgICAgIC8vIE1haW50YWlucyBjaGFpbmFiaWxpdHkKICAgICAgICByZXR1cm4gc2VsZjsKCiAgICAgIH0sCgogICAgICAvLyBfYWRkQ1NTQ2xhc3NlcwogICAgICAvLyAtLS0tLS0tLS0tLS0tLQogICAgICAvLyAgICAgIEFkZHMgQ1NTIGNsYXNzZXMgdG8gdGhlIG5ld2x5IGdlbmVyYXRlZCB0YWJsZSBvZiBjb250ZW50cyBIVE1MCiAgICAgIF9hZGRDU1NDbGFzc2VzOiBmdW5jdGlvbigpIHsKCiAgICAgICAgLy8gSWYgdGhlIHVzZXIgd2FudHMgYSBqcXVlcnlVSSB0aGVtZQogICAgICAgIGlmICh0aGlzLm9wdGlvbnMudGhlbWUgPT09ICJqcXVlcnl1aSIpIHsKCiAgICAgICAgICB0aGlzLmZvY3VzQ2xhc3MgPSAidWktc3RhdGUtZGVmYXVsdCI7CgogICAgICAgICAgdGhpcy5ob3ZlckNsYXNzID0gInVpLXN0YXRlLWhvdmVyIjsKCiAgICAgICAgICAvL0FkZHMgdGhlIGRlZmF1bHQgc3R5bGluZyB0byB0aGUgZHJvcGRvd24gbGlzdAogICAgICAgICAgdGhpcy5lbGVtZW50LmFkZENsYXNzKCJ1aS13aWRnZXQiKS5maW5kKCIudG9jLXRpdGxlIikuYWRkQ2xhc3MoInVpLXdpZGdldC1oZWFkZXIiKS5lbmQoKS5maW5kKCJsaSIpLmFkZENsYXNzKCJ1aS13aWRnZXQtY29udGVudCIpOwoKICAgICAgICB9CgogICAgICAgIC8vIElmIHRoZSB1c2VyIHdhbnRzIGEgdHdpdHRlckJvb3RzdHJhcCB0aGVtZQogICAgICAgIGVsc2UgaWYgKHRoaXMub3B0aW9ucy50aGVtZSA9PT0gImJvb3RzdHJhcCIpIHsKCiAgICAgICAgICB0aGlzLmVsZW1lbnQuZmluZChoZWFkZXJDbGFzcyArICIsIiArIHN1YmhlYWRlckNsYXNzKS5hZGRDbGFzcygibmF2IG5hdi1saXN0Iik7CgogICAgICAgICAgdGhpcy5mb2N1c0NsYXNzID0gImFjdGl2ZSI7CgogICAgICAgIH0KCiAgICAgICAgLy8gSWYgdGhlIHVzZXIgd2FudHMgYSB0d2l0dGVyQm9vdHN0cmFwIHRoZW1lCiAgICAgICAgZWxzZSBpZiAodGhpcy5vcHRpb25zLnRoZW1lID09PSAiYm9vdHN0cmFwMyIpIHsKCiAgICAgICAgICB0aGlzLmVsZW1lbnQuZmluZChoZWFkZXJDbGFzcyArICIsIiArIHN1YmhlYWRlckNsYXNzKS5hZGRDbGFzcygibGlzdC1ncm91cCIpOwoKICAgICAgICAgIHRoaXMuZWxlbWVudC5maW5kKGl0ZW1DbGFzcykuYWRkQ2xhc3MoImxpc3QtZ3JvdXAtaXRlbSIpOwoKICAgICAgICAgIHRoaXMuZm9jdXNDbGFzcyA9ICJhY3RpdmUiOwoKICAgICAgICB9CgogICAgICAgIC8vIElmIGEgdXNlciBkb2VzIG5vdCB3YW50IGEgcHJlYnVpbHQgdGhlbWUKICAgICAgICBlbHNlIHsKCiAgICAgICAgICAvLyBBZGRzIG1vcmUgbmV1dHJhbCBjbGFzc2VzIChpbnN0ZWFkIG9mIGpxdWVyeXVpKQoKICAgICAgICAgIHRoaXMuZm9jdXNDbGFzcyA9IHRvY0ZvY3VzQ2xhc3NOYW1lOwoKICAgICAgICAgIHRoaXMuaG92ZXJDbGFzcyA9IHRvY0hvdmVyQ2xhc3NOYW1lOwoKICAgICAgICB9CgogICAgICAgIC8vTWFpbnRhaW5zIGNoYWluYWJpbGl0eQogICAgICAgIHJldHVybiB0aGlzOwoKICAgICAgfSwKCiAgICAgIC8vIHNldE9wdGlvbgogICAgICAvLyAtLS0tLS0tLS0KICAgICAgLy8gICAgICBTZXRzIGEgc2luZ2xlIFRvY2lmeSBvcHRpb24gYWZ0ZXIgdGhlIHBsdWdpbiBpcyBpbnZva2VkCiAgICAgIHNldE9wdGlvbjogZnVuY3Rpb24oKSB7CgogICAgICAgIC8vIENhbGxzIHRoZSBqUXVlcnlVSSBXaWRnZXQgRmFjdG9yeSBzZXRPcHRpb24gbWV0aG9kCiAgICAgICAgJC5XaWRnZXQucHJvdG90eXBlLl9zZXRPcHRpb24uYXBwbHkodGhpcywgYXJndW1lbnRzKTsKCiAgICAgIH0sCgogICAgICAvLyBzZXRPcHRpb25zCiAgICAgIC8vIC0tLS0tLS0tLS0KICAgICAgLy8gICAgICBTZXRzIGEgc2luZ2xlIG9yIG11bHRpcGxlIFRvY2lmeSBvcHRpb25zIGFmdGVyIHRoZSBwbHVnaW4gaXMgaW52b2tlZAogICAgICBzZXRPcHRpb25zOiBmdW5jdGlvbigpIHsKCiAgICAgICAgLy8gQ2FsbHMgdGhlIGpRdWVyeVVJIFdpZGdldCBGYWN0b3J5IHNldE9wdGlvbnMgbWV0aG9kCiAgICAgICAgJC5XaWRnZXQucHJvdG90eXBlLl9zZXRPcHRpb25zLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7CgogICAgICB9LAoKICAgICAgLy8gX3Njcm9sbFRvCiAgICAgIC8vIC0tLS0tLS0tLQogICAgICAvLyAgICAgIFNjcm9sbHMgdG8gYSBzcGVjaWZpYyBlbGVtZW50CiAgICAgIF9zY3JvbGxUbzogZnVuY3Rpb24oZWxlbSkgewoKICAgICAgICB2YXIgc2VsZiA9IHRoaXMsCiAgICAgICAgICBkdXJhdGlvbiA9IHNlbGYub3B0aW9ucy5zbW9vdGhTY3JvbGwgfHwgMCwKICAgICAgICAgIHNjcm9sbFRvID0gc2VsZi5vcHRpb25zLnNjcm9sbFRvLAogICAgICAgICAgY3VycmVudERpdiA9ICQoJ2RpdltkYXRhLXVuaXF1ZT0iJyArIGVsZW0uYXR0cigiZGF0YS11bmlxdWUiKSArICciXScpOwoKICAgICAgICBpZiAoIWN1cnJlbnREaXYubGVuZ3RoKSB7CgogICAgICAgICAgcmV0dXJuIHNlbGY7CgogICAgICAgIH0KCiAgICAgICAgLy8gT25jZSBhbGwgYW5pbWF0aW9ucyBvbiB0aGUgcGFnZSBhcmUgY29tcGxldGUsIHRoaXMgY2FsbGJhY2sgZnVuY3Rpb24gd2lsbCBiZSBjYWxsZWQKICAgICAgICAkKCJodG1sLCBib2R5IikucHJvbWlzZSgpLmRvbmUoZnVuY3Rpb24oKSB7CgogICAgICAgICAgLy8gQW5pbWF0ZXMgdGhlIGh0bWwgYW5kIGJvZHkgZWxlbWVudCBzY3JvbGx0b3BzCiAgICAgICAgICAkKCJodG1sLCBib2R5IikuYW5pbWF0ZSh7CgogICAgICAgICAgICAvLyBTZXRzIHRoZSBqUXVlcnkgYHNjcm9sbFRvcGAgdG8gdGhlIHRvcCBvZmZzZXQgb2YgdGhlIEhUTUwgZGl2IHRhZyB0aGF0IG1hdGNoZXMgdGhlIGN1cnJlbnQgbGlzdCBpdGVtJ3MgYGRhdGEtdW5pcXVlYCB0YWcKICAgICAgICAgICAgInNjcm9sbFRvcCI6IGN1cnJlbnREaXYub2Zmc2V0KCkudG9wIC0gKCQuaXNGdW5jdGlvbihzY3JvbGxUbykgPyBzY3JvbGxUby5jYWxsKCkgOiBzY3JvbGxUbykgKyAicHgiCgogICAgICAgICAgfSwgewoKICAgICAgICAgICAgLy8gU2V0cyB0aGUgc21vb3RoU2Nyb2xsIGFuaW1hdGlvbiB0aW1lIGR1cmF0aW9uIHRvIHRoZSBzbW9vdGhTY3JvbGxTcGVlZCBvcHRpb24KICAgICAgICAgICAgImR1cmF0aW9uIjogZHVyYXRpb24KCiAgICAgICAgICB9KTsKCiAgICAgICAgfSk7CgogICAgICAgIC8vIE1haW50YWlucyBjaGFpbmFiaWxpdHkKICAgICAgICByZXR1cm4gc2VsZjsKCiAgICAgIH0KCiAgICB9KTsKCiAgfSkpOyAvL2VuZCBvZiBwbHVnaW4K"></script> <script src="data:application/x-javascript;base64,CgovKioKICogalF1ZXJ5IFBsdWdpbjogU3RpY2t5IFRhYnMKICoKICogQGF1dGhvciBBaWRhbiBMaXN0ZXIgPGFpZGFuQHBocC5uZXQ+CiAqIGFkYXB0ZWQgYnkgUnViZW4gQXJzbGFuIHRvIGFjdGl2YXRlIHBhcmVudCB0YWJzIHRvbwogKiBodHRwOi8vd3d3LmFpZGFubGlzdGVyLmNvbS8yMDE0LzAzL3BlcnNpc3RpbmctdGhlLXRhYi1zdGF0ZS1pbi1ib290c3RyYXAvCiAqLwooZnVuY3Rpb24oJCkgewogICJ1c2Ugc3RyaWN0IjsKICAkLmZuLnJtYXJrZG93blN0aWNreVRhYnMgPSBmdW5jdGlvbigpIHsKICAgIHZhciBjb250ZXh0ID0gdGhpczsKICAgIC8vIFNob3cgdGhlIHRhYiBjb3JyZXNwb25kaW5nIHdpdGggdGhlIGhhc2ggaW4gdGhlIFVSTCwgb3IgdGhlIGZpcnN0IHRhYgogICAgdmFyIHNob3dTdHVmZkZyb21IYXNoID0gZnVuY3Rpb24oKSB7CiAgICAgIHZhciBoYXNoID0gd2luZG93LmxvY2F0aW9uLmhhc2g7CiAgICAgIHZhciBzZWxlY3RvciA9IGhhc2ggPyAnYVtocmVmPSInICsgaGFzaCArICciXScgOiAnbGkuYWN0aXZlID4gYSc7CiAgICAgIHZhciAkc2VsZWN0b3IgPSAkKHNlbGVjdG9yLCBjb250ZXh0KTsKICAgICAgaWYoJHNlbGVjdG9yLmRhdGEoJ3RvZ2dsZScpID09PSAidGFiIikgewogICAgICAgICRzZWxlY3Rvci50YWIoJ3Nob3cnKTsKICAgICAgICAvLyB3YWxrIHVwIHRoZSBhbmNlc3RvcnMgb2YgdGhpcyBlbGVtZW50LCBzaG93IGFueSBoaWRkZW4gdGFicwogICAgICAgICRzZWxlY3Rvci5wYXJlbnRzKCcuc2VjdGlvbi50YWJzZXQnKS5lYWNoKGZ1bmN0aW9uKGksIGVsbSkgewogICAgICAgICAgdmFyIGxpbmsgPSAkKCdhW2hyZWY9IiMnICsgJChlbG0pLmF0dHIoJ2lkJykgKyAnIl0nKTsKICAgICAgICAgIGlmKGxpbmsuZGF0YSgndG9nZ2xlJykgPT09ICJ0YWIiKSB7CiAgICAgICAgICAgIGxpbmsudGFiKCJzaG93Iik7CiAgICAgICAgICB9CiAgICAgICAgfSk7CiAgICAgIH0KICAgIH07CgoKICAgIC8vIFNldCB0aGUgY29ycmVjdCB0YWIgd2hlbiB0aGUgcGFnZSBsb2FkcwogICAgc2hvd1N0dWZmRnJvbUhhc2goY29udGV4dCk7CgogICAgLy8gU2V0IHRoZSBjb3JyZWN0IHRhYiB3aGVuIGEgdXNlciB1c2VzIHRoZWlyIGJhY2svZm9yd2FyZCBidXR0b24KICAgICQod2luZG93KS5vbignaGFzaGNoYW5nZScsIGZ1bmN0aW9uKCkgewogICAgICBzaG93U3R1ZmZGcm9tSGFzaChjb250ZXh0KTsKICAgIH0pOwoKICAgIC8vIENoYW5nZSB0aGUgVVJMIHdoZW4gdGFicyBhcmUgY2xpY2tlZAogICAgJCgnYScsIGNvbnRleHQpLm9uKCdjbGljaycsIGZ1bmN0aW9uKGUpIHsKICAgICAgaGlzdG9yeS5wdXNoU3RhdGUobnVsbCwgbnVsbCwgdGhpcy5ocmVmKTsKICAgICAgc2hvd1N0dWZmRnJvbUhhc2goY29udGV4dCk7CiAgICB9KTsKCiAgICByZXR1cm4gdGhpczsKICB9Owp9KGpRdWVyeSkpOwoKd2luZG93LmJ1aWxkVGFic2V0cyA9IGZ1bmN0aW9uKHRvY0lEKSB7CgogIC8vIGJ1aWxkIGEgdGFic2V0IGZyb20gYSBzZWN0aW9uIGRpdiB3aXRoIHRoZSAudGFic2V0IGNsYXNzCiAgZnVuY3Rpb24gYnVpbGRUYWJzZXQodGFic2V0KSB7CgogICAgLy8gY2hlY2sgZm9yIGZhZGUgYW5kIHBpbGxzIG9wdGlvbnMKICAgIHZhciBmYWRlID0gdGFic2V0Lmhhc0NsYXNzKCJ0YWJzZXQtZmFkZSIpOwogICAgdmFyIHBpbGxzID0gdGFic2V0Lmhhc0NsYXNzKCJ0YWJzZXQtcGlsbHMiKTsKICAgIHZhciBuYXZDbGFzcyA9IHBpbGxzID8gIm5hdi1waWxscyIgOiAibmF2LXRhYnMiOwoKICAgIC8vIGRldGVybWluZSB0aGUgaGVhZGluZyBsZXZlbCBvZiB0aGUgdGFic2V0IGFuZCB0YWJzCiAgICB2YXIgbWF0Y2ggPSB0YWJzZXQuYXR0cignY2xhc3MnKS5tYXRjaCgvbGV2ZWwoXGQpIC8pOwogICAgaWYgKG1hdGNoID09PSBudWxsKQogICAgICByZXR1cm47CiAgICB2YXIgdGFic2V0TGV2ZWwgPSBOdW1iZXIobWF0Y2hbMV0pOwogICAgdmFyIHRhYkxldmVsID0gdGFic2V0TGV2ZWwgKyAxOwoKICAgIC8vIGZpbmQgYWxsIHN1YmhlYWRpbmdzIGltbWVkaWF0ZWx5IGJlbG93CiAgICB2YXIgdGFicyA9IHRhYnNldC5maW5kKCJkaXYuc2VjdGlvbi5sZXZlbCIgKyB0YWJMZXZlbCk7CiAgICBpZiAoIXRhYnMubGVuZ3RoKQogICAgICByZXR1cm47CgogICAgLy8gY3JlYXRlIHRhYmxpc3QgYW5kIHRhYi1jb250ZW50IGVsZW1lbnRzCiAgICB2YXIgdGFiTGlzdCA9ICQoJzx1bCBjbGFzcz0ibmF2ICcgKyBuYXZDbGFzcyArICciIHJvbGU9InRhYmxpc3QiPjwvdWw+Jyk7CiAgICAkKHRhYnNbMF0pLmJlZm9yZSh0YWJMaXN0KTsKICAgIHZhciB0YWJDb250ZW50ID0gJCgnPGRpdiBjbGFzcz0idGFiLWNvbnRlbnQiPjwvZGl2PicpOwogICAgJCh0YWJzWzBdKS5iZWZvcmUodGFiQ29udGVudCk7CgogICAgLy8gYnVpbGQgdGhlIHRhYnNldAogICAgdmFyIGFjdGl2ZVRhYiA9IDA7CiAgICB0YWJzLmVhY2goZnVuY3Rpb24oaSkgewoKICAgICAgLy8gZ2V0IHRoZSB0YWIgZGl2CiAgICAgIHZhciB0YWIgPSAkKHRhYnNbaV0pOwoKICAgICAgLy8gZ2V0IHRoZSBpZCB0aGVuIHNhbml0aXplIGl0IGZvciB1c2Ugd2l0aCBib290c3RyYXAgdGFicwogICAgICB2YXIgaWQgPSB0YWIuYXR0cignaWQnKTsKCiAgICAgIC8vIHNlZSBpZiB0aGlzIGlzIG1hcmtlZCBhcyB0aGUgYWN0aXZlIHRhYgogICAgICBpZiAodGFiLmhhc0NsYXNzKCdhY3RpdmUnKSkKICAgICAgICBhY3RpdmVUYWIgPSBpOwoKICAgICAgLy8gcmVtb3ZlIGFueSB0YWJsZSBvZiBjb250ZW50cyBlbnRyaWVzIGFzc29jaWF0ZWQgd2l0aAogICAgICAvLyB0aGlzIElEIChzaW5jZSB3ZSdsbCBiZSByZW1vdmluZyB0aGUgaGVhZGluZyBlbGVtZW50KQogICAgICAkKCJkaXYjIiArIHRvY0lEICsgIiBsaSBhW2hyZWY9JyMiICsgaWQgKyAiJ10iKS5wYXJlbnQoKS5yZW1vdmUoKTsKCiAgICAgIC8vIHNhbml0aXplIHRoZSBpZCBmb3IgdXNlIHdpdGggYm9vdHN0cmFwIHRhYnMKICAgICAgaWQgPSBpZC5yZXBsYWNlKC9bLlwvPyYhIzw+XS9nLCAnJykucmVwbGFjZSgvXHMvZywgJ18nKTsKICAgICAgdGFiLmF0dHIoJ2lkJywgaWQpOwoKICAgICAgLy8gZ2V0IHRoZSBoZWFkaW5nIGVsZW1lbnQgd2l0aGluIGl0LCBncmFiIGl0J3MgdGV4dCwgdGhlbiByZW1vdmUgaXQKICAgICAgdmFyIGhlYWRpbmcgPSB0YWIuZmluZCgnaCcgKyB0YWJMZXZlbCArICc6Zmlyc3QnKTsKICAgICAgdmFyIGhlYWRpbmdUZXh0ID0gaGVhZGluZy5odG1sKCk7CiAgICAgIGhlYWRpbmcucmVtb3ZlKCk7CgogICAgICAvLyBidWlsZCBhbmQgYXBwZW5kIHRoZSB0YWIgbGlzdCBpdGVtCiAgICAgIHZhciBhID0gJCgnPGEgcm9sZT0idGFiIiBkYXRhLXRvZ2dsZT0idGFiIj4nICsgaGVhZGluZ1RleHQgKyAnPC9hPicpOwogICAgICBhLmF0dHIoJ2hyZWYnLCAnIycgKyBpZCk7CiAgICAgIGEuYXR0cignYXJpYS1jb250cm9scycsIGlkKTsKICAgICAgdmFyIGxpID0gJCgnPGxpIHJvbGU9InByZXNlbnRhdGlvbiI+PC9saT4nKTsKICAgICAgbGkuYXBwZW5kKGEpOwogICAgICB0YWJMaXN0LmFwcGVuZChsaSk7CgogICAgICAvLyBzZXQgaXQncyBhdHRyaWJ1dGVzCiAgICAgIHRhYi5hdHRyKCdyb2xlJywgJ3RhYnBhbmVsJyk7CiAgICAgIHRhYi5hZGRDbGFzcygndGFiLXBhbmUnKTsKICAgICAgdGFiLmFkZENsYXNzKCd0YWJiZWQtcGFuZScpOwogICAgICBpZiAoZmFkZSkKICAgICAgICB0YWIuYWRkQ2xhc3MoJ2ZhZGUnKTsKCiAgICAgIC8vIG1vdmUgaXQgaW50byB0aGUgdGFiIGNvbnRlbnQgZGl2CiAgICAgIHRhYi5kZXRhY2goKS5hcHBlbmRUbyh0YWJDb250ZW50KTsKICAgIH0pOwoKICAgIC8vIHNldCBhY3RpdmUgdGFiCiAgICAkKHRhYkxpc3QuY2hpbGRyZW4oJ2xpJylbYWN0aXZlVGFiXSkuYWRkQ2xhc3MoJ2FjdGl2ZScpOwogICAgdmFyIGFjdGl2ZSA9ICQodGFiQ29udGVudC5jaGlsZHJlbignZGl2LnNlY3Rpb24nKVthY3RpdmVUYWJdKTsKICAgIGFjdGl2ZS5hZGRDbGFzcygnYWN0aXZlJyk7CiAgICBpZiAoZmFkZSkKICAgICAgYWN0aXZlLmFkZENsYXNzKCdpbicpOwoKICAgIGlmICh0YWJzZXQuaGFzQ2xhc3MoInRhYnNldC1zdGlja3kiKSkKICAgICAgdGFic2V0LnJtYXJrZG93blN0aWNreVRhYnMoKTsKICB9CgogIC8vIGNvbnZlcnQgc2VjdGlvbiBkaXZzIHdpdGggdGhlIC50YWJzZXQgY2xhc3MgdG8gdGFic2V0cwogIHZhciB0YWJzZXRzID0gJCgiZGl2LnNlY3Rpb24udGFic2V0Iik7CiAgdGFic2V0cy5lYWNoKGZ1bmN0aW9uKGkpIHsKICAgIGJ1aWxkVGFic2V0KCQodGFic2V0c1tpXSkpOwogIH0pOwp9OwoK"></script> -<link href="data:text/css;charset=utf-8,pre%20%2Eoperator%2C%0Apre%20%2Eparen%20%7B%0Acolor%3A%20rgb%28104%2C%20118%2C%20135%29%0A%7D%0Apre%20%2Eliteral%20%7B%0Acolor%3A%20%23990073%0A%7D%0Apre%20%2Enumber%20%7B%0Acolor%3A%20%23099%3B%0A%7D%0Apre%20%2Ecomment%20%7B%0Acolor%3A%20%23998%3B%0Afont%2Dstyle%3A%20italic%0A%7D%0Apre%20%2Ekeyword%20%7B%0Acolor%3A%20%23900%3B%0Afont%2Dweight%3A%20bold%0A%7D%0Apre%20%2Eidentifier%20%7B%0Acolor%3A%20rgb%280%2C%200%2C%200%29%3B%0A%7D%0Apre%20%2Estring%20%7B%0Acolor%3A%20%23d14%3B%0A%7D%0A" rel="stylesheet" /> -<script src="data:application/x-javascript;base64,dmFyIGhsanM9bmV3IGZ1bmN0aW9uKCl7ZnVuY3Rpb24gbShwKXtyZXR1cm4gcC5yZXBsYWNlKC8mL2dtLCImYW1wOyIpLnJlcGxhY2UoLzwvZ20sIiZsdDsiKX1mdW5jdGlvbiBmKHIscSxwKXtyZXR1cm4gUmVnRXhwKHEsIm0iKyhyLmNJPyJpIjoiIikrKHA/ImciOiIiKSl9ZnVuY3Rpb24gYihyKXtmb3IodmFyIHA9MDtwPHIuY2hpbGROb2Rlcy5sZW5ndGg7cCsrKXt2YXIgcT1yLmNoaWxkTm9kZXNbcF07aWYocS5ub2RlTmFtZT09IkNPREUiKXtyZXR1cm4gcX1pZighKHEubm9kZVR5cGU9PTMmJnEubm9kZVZhbHVlLm1hdGNoKC9ccysvKSkpe2JyZWFrfX19ZnVuY3Rpb24gaCh0LHMpe3ZhciBwPSIiO2Zvcih2YXIgcj0wO3I8dC5jaGlsZE5vZGVzLmxlbmd0aDtyKyspe2lmKHQuY2hpbGROb2Rlc1tyXS5ub2RlVHlwZT09Myl7dmFyIHE9dC5jaGlsZE5vZGVzW3JdLm5vZGVWYWx1ZTtpZihzKXtxPXEucmVwbGFjZSgvXG4vZywiIil9cCs9cX1lbHNle2lmKHQuY2hpbGROb2Rlc1tyXS5ub2RlTmFtZT09IkJSIil7cCs9IlxuIn1lbHNle3ArPWgodC5jaGlsZE5vZGVzW3JdKX19fWlmKC9NU0lFIFs2NzhdLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpKXtwPXAucmVwbGFjZSgvXHIvZywiXG4iKX1yZXR1cm4gcH1mdW5jdGlvbiBhKHMpe3ZhciByPXMuY2xhc3NOYW1lLnNwbGl0KC9ccysvKTtyPXIuY29uY2F0KHMucGFyZW50Tm9kZS5jbGFzc05hbWUuc3BsaXQoL1xzKy8pKTtmb3IodmFyIHE9MDtxPHIubGVuZ3RoO3ErKyl7dmFyIHA9cltxXS5yZXBsYWNlKC9ebGFuZ3VhZ2UtLywiIik7aWYoZVtwXSl7cmV0dXJuIHB9fX1mdW5jdGlvbiBjKHEpe3ZhciBwPVtdOyhmdW5jdGlvbihzLHQpe2Zvcih2YXIgcj0wO3I8cy5jaGlsZE5vZGVzLmxlbmd0aDtyKyspe2lmKHMuY2hpbGROb2Rlc1tyXS5ub2RlVHlwZT09Myl7dCs9cy5jaGlsZE5vZGVzW3JdLm5vZGVWYWx1ZS5sZW5ndGh9ZWxzZXtpZihzLmNoaWxkTm9kZXNbcl0ubm9kZU5hbWU9PSJCUiIpe3QrPTF9ZWxzZXtpZihzLmNoaWxkTm9kZXNbcl0ubm9kZVR5cGU9PTEpe3AucHVzaCh7ZXZlbnQ6InN0YXJ0IixvZmZzZXQ6dCxub2RlOnMuY2hpbGROb2Rlc1tyXX0pO3Q9YXJndW1lbnRzLmNhbGxlZShzLmNoaWxkTm9kZXNbcl0sdCk7cC5wdXNoKHtldmVudDoic3RvcCIsb2Zmc2V0OnQsbm9kZTpzLmNoaWxkTm9kZXNbcl19KX19fX1yZXR1cm4gdH0pKHEsMCk7cmV0dXJuIHB9ZnVuY3Rpb24gayh5LHcseCl7dmFyIHE9MDt2YXIgej0iIjt2YXIgcz1bXTtmdW5jdGlvbiB1KCl7aWYoeS5sZW5ndGgmJncubGVuZ3RoKXtpZih5WzBdLm9mZnNldCE9d1swXS5vZmZzZXQpe3JldHVybih5WzBdLm9mZnNldDx3WzBdLm9mZnNldCk/eTp3fWVsc2V7cmV0dXJuIHdbMF0uZXZlbnQ9PSJzdGFydCI/eTp3fX1lbHNle3JldHVybiB5Lmxlbmd0aD95Ond9fWZ1bmN0aW9uIHQoRCl7dmFyIEE9IjwiK0Qubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtmb3IodmFyIEI9MDtCPEQuYXR0cmlidXRlcy5sZW5ndGg7QisrKXt2YXIgQz1ELmF0dHJpYnV0ZXNbQl07QSs9IiAiK0Mubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtpZihDLnZhbHVlIT09dW5kZWZpbmVkJiZDLnZhbHVlIT09ZmFsc2UmJkMudmFsdWUhPT1udWxsKXtBKz0nPSInK20oQy52YWx1ZSkrJyInfX1yZXR1cm4gQSsiPiJ9d2hpbGUoeS5sZW5ndGh8fHcubGVuZ3RoKXt2YXIgdj11KCkuc3BsaWNlKDAsMSlbMF07eis9bSh4LnN1YnN0cihxLHYub2Zmc2V0LXEpKTtxPXYub2Zmc2V0O2lmKHYuZXZlbnQ9PSJzdGFydCIpe3orPXQodi5ub2RlKTtzLnB1c2godi5ub2RlKX1lbHNle2lmKHYuZXZlbnQ9PSJzdG9wIil7dmFyIHAscj1zLmxlbmd0aDtkb3tyLS07cD1zW3JdO3orPSgiPC8iK3Aubm9kZU5hbWUudG9Mb3dlckNhc2UoKSsiPiIpfXdoaWxlKHAhPXYubm9kZSk7cy5zcGxpY2UociwxKTt3aGlsZShyPHMubGVuZ3RoKXt6Kz10KHNbcl0pO3IrK319fX1yZXR1cm4geittKHguc3Vic3RyKHEpKX1mdW5jdGlvbiBqKCl7ZnVuY3Rpb24gcSh4LHksdil7aWYoeC5jb21waWxlZCl7cmV0dXJufXZhciB1O3ZhciBzPVtdO2lmKHguayl7eC5sUj1mKHkseC5sfHxobGpzLklSLHRydWUpO2Zvcih2YXIgdyBpbiB4Lmspe2lmKCF4LmsuaGFzT3duUHJvcGVydHkodykpe2NvbnRpbnVlfWlmKHgua1t3XSBpbnN0YW5jZW9mIE9iamVjdCl7dT14Lmtbd119ZWxzZXt1PXguazt3PSJrZXl3b3JkIn1mb3IodmFyIHIgaW4gdSl7aWYoIXUuaGFzT3duUHJvcGVydHkocikpe2NvbnRpbnVlfXgua1tyXT1bdyx1W3JdXTtzLnB1c2gocil9fX1pZighdil7aWYoeC5iV0spe3guYj0iXFxiKCIrcy5qb2luKCJ8IikrIilcXHMifXguYlI9Zih5LHguYj94LmI6IlxcQnxcXGIiKTtpZigheC5lJiYheC5lVyl7eC5lPSJcXEJ8XFxiIn1pZih4LmUpe3guZVI9Zih5LHguZSl9fWlmKHguaSl7eC5pUj1mKHkseC5pKX1pZih4LnI9PT11bmRlZmluZWQpe3gucj0xfWlmKCF4LmMpe3guYz1bXX14LmNvbXBpbGVkPXRydWU7Zm9yKHZhciB0PTA7dDx4LmMubGVuZ3RoO3QrKyl7aWYoeC5jW3RdPT0ic2VsZiIpe3guY1t0XT14fXEoeC5jW3RdLHksZmFsc2UpfWlmKHguc3RhcnRzKXtxKHguc3RhcnRzLHksZmFsc2UpfX1mb3IodmFyIHAgaW4gZSl7aWYoIWUuaGFzT3duUHJvcGVydHkocCkpe2NvbnRpbnVlfXEoZVtwXS5kTSxlW3BdLHRydWUpfX1mdW5jdGlvbiBkKEIsQyl7aWYoIWouY2FsbGVkKXtqKCk7ai5jYWxsZWQ9dHJ1ZX1mdW5jdGlvbiBxKHIsTSl7Zm9yKHZhciBMPTA7TDxNLmMubGVuZ3RoO0wrKyl7aWYoKE0uY1tMXS5iUi5leGVjKHIpfHxbbnVsbF0pWzBdPT1yKXtyZXR1cm4gTS5jW0xdfX19ZnVuY3Rpb24gdihMLHIpe2lmKERbTF0uZSYmRFtMXS5lUi50ZXN0KHIpKXtyZXR1cm4gMX1pZihEW0xdLmVXKXt2YXIgTT12KEwtMSxyKTtyZXR1cm4gTT9NKzE6MH1yZXR1cm4gMH1mdW5jdGlvbiB3KHIsTCl7cmV0dXJuIEwuaSYmTC5pUi50ZXN0KHIpfWZ1bmN0aW9uIEsoTixPKXt2YXIgTT1bXTtmb3IodmFyIEw9MDtMPE4uYy5sZW5ndGg7TCsrKXtNLnB1c2goTi5jW0xdLmIpfXZhciByPUQubGVuZ3RoLTE7ZG97aWYoRFtyXS5lKXtNLnB1c2goRFtyXS5lKX1yLS19d2hpbGUoRFtyKzFdLmVXKTtpZihOLmkpe00ucHVzaChOLmkpfXJldHVybiBmKE8sTS5qb2luKCJ8IiksdHJ1ZSl9ZnVuY3Rpb24gcChNLEwpe3ZhciBOPURbRC5sZW5ndGgtMV07aWYoIU4udCl7Ti50PUsoTixFKX1OLnQubGFzdEluZGV4PUw7dmFyIHI9Ti50LmV4ZWMoTSk7cmV0dXJuIHI/W00uc3Vic3RyKEwsci5pbmRleC1MKSxyWzBdLGZhbHNlXTpbTS5zdWJzdHIoTCksIiIsdHJ1ZV19ZnVuY3Rpb24geihOLHIpe3ZhciBMPUUuY0k/clswXS50b0xvd2VyQ2FzZSgpOnJbMF07dmFyIE09Ti5rW0xdO2lmKE0mJk0gaW5zdGFuY2VvZiBBcnJheSl7cmV0dXJuIE19cmV0dXJuIGZhbHNlfWZ1bmN0aW9uIEYoTCxQKXtMPW0oTCk7aWYoIVAuayl7cmV0dXJuIEx9dmFyIHI9IiI7dmFyIE89MDtQLmxSLmxhc3RJbmRleD0wO3ZhciBNPVAubFIuZXhlYyhMKTt3aGlsZShNKXtyKz1MLnN1YnN0cihPLE0uaW5kZXgtTyk7dmFyIE49eihQLE0pO2lmKE4pe3grPU5bMV07cis9JzxzcGFuIGNsYXNzPSInK05bMF0rJyI+JytNWzBdKyI8L3NwYW4+In1lbHNle3IrPU1bMF19Tz1QLmxSLmxhc3RJbmRleDtNPVAubFIuZXhlYyhMKX1yZXR1cm4gcitMLnN1YnN0cihPLEwubGVuZ3RoLU8pfWZ1bmN0aW9uIEooTCxNKXtpZihNLnNMJiZlW00uc0xdKXt2YXIgcj1kKE0uc0wsTCk7eCs9ci5rZXl3b3JkX2NvdW50O3JldHVybiByLnZhbHVlfWVsc2V7cmV0dXJuIEYoTCxNKX19ZnVuY3Rpb24gSShNLHIpe3ZhciBMPU0uY04/JzxzcGFuIGNsYXNzPSInK00uY04rJyI+JzoiIjtpZihNLnJCKXt5Kz1MO00uYnVmZmVyPSIifWVsc2V7aWYoTS5lQil7eSs9bShyKStMO00uYnVmZmVyPSIifWVsc2V7eSs9TDtNLmJ1ZmZlcj1yfX1ELnB1c2goTSk7QSs9TS5yfWZ1bmN0aW9uIEcoTixNLFEpe3ZhciBSPURbRC5sZW5ndGgtMV07aWYoUSl7eSs9SihSLmJ1ZmZlcitOLFIpO3JldHVybiBmYWxzZX12YXIgUD1xKE0sUik7aWYoUCl7eSs9SihSLmJ1ZmZlcitOLFIpO0koUCxNKTtyZXR1cm4gUC5yQn12YXIgTD12KEQubGVuZ3RoLTEsTSk7aWYoTCl7dmFyIE89Ui5jTj8iPC9zcGFuPiI6IiI7aWYoUi5yRSl7eSs9SihSLmJ1ZmZlcitOLFIpK099ZWxzZXtpZihSLmVFKXt5Kz1KKFIuYnVmZmVyK04sUikrTyttKE0pfWVsc2V7eSs9SihSLmJ1ZmZlcitOK00sUikrT319d2hpbGUoTD4xKXtPPURbRC5sZW5ndGgtMl0uY04/Ijwvc3Bhbj4iOiIiO3krPU87TC0tO0QubGVuZ3RoLS19dmFyIHI9RFtELmxlbmd0aC0xXTtELmxlbmd0aC0tO0RbRC5sZW5ndGgtMV0uYnVmZmVyPSIiO2lmKHIuc3RhcnRzKXtJKHIuc3RhcnRzLCIiKX1yZXR1cm4gUi5yRX1pZih3KE0sUikpe3Rocm93IklsbGVnYWwifX12YXIgRT1lW0JdO3ZhciBEPVtFLmRNXTt2YXIgQT0wO3ZhciB4PTA7dmFyIHk9IiI7dHJ5e3ZhciBzLHU9MDtFLmRNLmJ1ZmZlcj0iIjtkb3tzPXAoQyx1KTt2YXIgdD1HKHNbMF0sc1sxXSxzWzJdKTt1Kz1zWzBdLmxlbmd0aDtpZighdCl7dSs9c1sxXS5sZW5ndGh9fXdoaWxlKCFzWzJdKTtpZihELmxlbmd0aD4xKXt0aHJvdyJJbGxlZ2FsIn1yZXR1cm57cjpBLGtleXdvcmRfY291bnQ6eCx2YWx1ZTp5fX1jYXRjaChIKXtpZihIPT0iSWxsZWdhbCIpe3JldHVybntyOjAsa2V5d29yZF9jb3VudDowLHZhbHVlOm0oQyl9fWVsc2V7dGhyb3cgSH19fWZ1bmN0aW9uIGcodCl7dmFyIHA9e2tleXdvcmRfY291bnQ6MCxyOjAsdmFsdWU6bSh0KX07dmFyIHI9cDtmb3IodmFyIHEgaW4gZSl7aWYoIWUuaGFzT3duUHJvcGVydHkocSkpe2NvbnRpbnVlfXZhciBzPWQocSx0KTtzLmxhbmd1YWdlPXE7aWYocy5rZXl3b3JkX2NvdW50K3Mucj5yLmtleXdvcmRfY291bnQrci5yKXtyPXN9aWYocy5rZXl3b3JkX2NvdW50K3Mucj5wLmtleXdvcmRfY291bnQrcC5yKXtyPXA7cD1zfX1pZihyLmxhbmd1YWdlKXtwLnNlY29uZF9iZXN0PXJ9cmV0dXJuIHB9ZnVuY3Rpb24gaShyLHEscCl7aWYocSl7cj1yLnJlcGxhY2UoL14oKDxbXj5dKz58XHQpKykvZ20sZnVuY3Rpb24odCx3LHYsdSl7cmV0dXJuIHcucmVwbGFjZSgvXHQvZyxxKX0pfWlmKHApe3I9ci5yZXBsYWNlKC9cbi9nLCI8YnI+Iil9cmV0dXJuIHJ9ZnVuY3Rpb24gbih0LHcscil7dmFyIHg9aCh0LHIpO3ZhciB2PWEodCk7dmFyIHkscztpZih2KXt5PWQodix4KX1lbHNle3JldHVybn12YXIgcT1jKHQpO2lmKHEubGVuZ3RoKXtzPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInByZSIpO3MuaW5uZXJIVE1MPXkudmFsdWU7eS52YWx1ZT1rKHEsYyhzKSx4KX15LnZhbHVlPWkoeS52YWx1ZSx3LHIpO3ZhciB1PXQuY2xhc3NOYW1lO2lmKCF1Lm1hdGNoKCIoXFxzfF4pKGxhbmd1YWdlLSk/Iit2KyIoXFxzfCQpIikpe3U9dT8odSsiICIrdik6dn1pZigvTVNJRSBbNjc4XS8udGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSYmdC50YWdOYW1lPT0iQ09ERSImJnQucGFyZW50Tm9kZS50YWdOYW1lPT0iUFJFIil7cz10LnBhcmVudE5vZGU7dmFyIHA9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7cC5pbm5lckhUTUw9IjxwcmU+PGNvZGU+Iit5LnZhbHVlKyI8L2NvZGU+PC9wcmU+Ijt0PXAuZmlyc3RDaGlsZC5maXJzdENoaWxkO3AuZmlyc3RDaGlsZC5jTj1zLmNOO3MucGFyZW50Tm9kZS5yZXBsYWNlQ2hpbGQocC5maXJzdENoaWxkLHMpfWVsc2V7dC5pbm5lckhUTUw9eS52YWx1ZX10LmNsYXNzTmFtZT11O3QucmVzdWx0PXtsYW5ndWFnZTp2LGt3Onkua2V5d29yZF9jb3VudCxyZTp5LnJ9O2lmKHkuc2Vjb25kX2Jlc3Qpe3Quc2Vjb25kX2Jlc3Q9e2xhbmd1YWdlOnkuc2Vjb25kX2Jlc3QubGFuZ3VhZ2Usa3c6eS5zZWNvbmRfYmVzdC5rZXl3b3JkX2NvdW50LHJlOnkuc2Vjb25kX2Jlc3Qucn19fWZ1bmN0aW9uIG8oKXtpZihvLmNhbGxlZCl7cmV0dXJufW8uY2FsbGVkPXRydWU7dmFyIHI9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInByZSIpO2Zvcih2YXIgcD0wO3A8ci5sZW5ndGg7cCsrKXt2YXIgcT1iKHJbcF0pO2lmKHEpe24ocSxobGpzLnRhYlJlcGxhY2UpfX19ZnVuY3Rpb24gbCgpe2lmKHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKXt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsbyxmYWxzZSk7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLG8sZmFsc2UpfWVsc2V7aWYod2luZG93LmF0dGFjaEV2ZW50KXt3aW5kb3cuYXR0YWNoRXZlbnQoIm9ubG9hZCIsbyl9ZWxzZXt3aW5kb3cub25sb2FkPW99fX12YXIgZT17fTt0aGlzLkxBTkdVQUdFUz1lO3RoaXMuaGlnaGxpZ2h0PWQ7dGhpcy5oaWdobGlnaHRBdXRvPWc7dGhpcy5maXhNYXJrdXA9aTt0aGlzLmhpZ2hsaWdodEJsb2NrPW47dGhpcy5pbml0SGlnaGxpZ2h0aW5nPW87dGhpcy5pbml0SGlnaGxpZ2h0aW5nT25Mb2FkPWw7dGhpcy5JUj0iW2EtekEtWl1bYS16QS1aMC05X10qIjt0aGlzLlVJUj0iW2EtekEtWl9dW2EtekEtWjAtOV9dKiI7dGhpcy5OUj0iXFxiXFxkKyhcXC5cXGQrKT8iO3RoaXMuQ05SPSJcXGIoMFt4WF1bYS1mQS1GMC05XSt8KFxcZCsoXFwuXFxkKik/fFxcLlxcZCspKFtlRV1bLStdP1xcZCspPykiO3RoaXMuQk5SPSJcXGIoMGJbMDFdKykiO3RoaXMuUlNSPSIhfCE9fCE9PXwlfCU9fCZ8JiZ8Jj18XFwqfFxcKj18XFwrfFxcKz18LHxcXC58LXwtPXwvfC89fDp8O3w8fDw8fDw8PXw8PXw9fD09fD09PXw+fD49fD4+fD4+PXw+Pj58Pj4+PXxcXD98XFxbfFxce3xcXCh8XFxefFxcXj18XFx8fFxcfD18XFx8XFx8fH4iO3RoaXMuRVI9Iig/IVtcXHNcXFNdKSI7dGhpcy5CRT17YjoiXFxcXC4iLHI6MH07dGhpcy5BU009e2NOOiJzdHJpbmciLGI6IiciLGU6IiciLGk6IlxcbiIsYzpbdGhpcy5CRV0scjowfTt0aGlzLlFTTT17Y046InN0cmluZyIsYjonIicsZTonIicsaToiXFxuIixjOlt0aGlzLkJFXSxyOjB9O3RoaXMuQ0xDTT17Y046ImNvbW1lbnQiLGI6Ii8vIixlOiIkIn07dGhpcy5DQkxDTE09e2NOOiJjb21tZW50IixiOiIvXFwqIixlOiJcXCovIn07dGhpcy5IQ009e2NOOiJjb21tZW50IixiOiIjIixlOiIkIn07dGhpcy5OTT17Y046Im51bWJlciIsYjp0aGlzLk5SLHI6MH07dGhpcy5DTk09e2NOOiJudW1iZXIiLGI6dGhpcy5DTlIscjowfTt0aGlzLkJOTT17Y046Im51bWJlciIsYjp0aGlzLkJOUixyOjB9O3RoaXMuaW5oZXJpdD1mdW5jdGlvbihyLHMpe3ZhciBwPXt9O2Zvcih2YXIgcSBpbiByKXtwW3FdPXJbcV19aWYocyl7Zm9yKHZhciBxIGluIHMpe3BbcV09c1txXX19cmV0dXJuIHB9fSgpO2hsanMuTEFOR1VBR0VTLmJhc2g9ZnVuY3Rpb24oKXt2YXIgZT17InRydWUiOjEsImZhbHNlIjoxfTt2YXIgYj17Y046InZhcmlhYmxlIixiOiJcXCQoW2EtekEtWjAtOV9dKylcXGIifTt2YXIgYT17Y046InZhcmlhYmxlIixiOiJcXCRcXHsoKFtefV0pfChcXFxcfSkpK1xcfSIsYzpbaGxqcy5DTk1dfTt2YXIgZj17Y046InN0cmluZyIsYjonIicsZTonIicsaToiXFxuIixjOltobGpzLkJFLGIsYV0scjowfTt2YXIgYz17Y046InN0cmluZyIsYjoiJyIsZToiJyIsYzpbe2I6IicnIn1dLHI6MH07dmFyIGQ9e2NOOiJ0ZXN0X2NvbmRpdGlvbiIsYjoiIixlOiIiLGM6W2YsYyxiLGEsaGxqcy5DTk1dLGs6e2xpdGVyYWw6ZX0scjowfTtyZXR1cm57ZE06e2s6e2tleXdvcmQ6eyJpZiI6MSx0aGVuOjEsImVsc2UiOjEsZmk6MSwiZm9yIjoxLCJicmVhayI6MSwiY29udGludWUiOjEsIndoaWxlIjoxLCJpbiI6MSwiZG8iOjEsZG9uZToxLGVjaG86MSxleGl0OjEsInJldHVybiI6MSxzZXQ6MSxkZWNsYXJlOjF9LGxpdGVyYWw6ZX0sYzpbe2NOOiJzaGViYW5nIixiOiIoIyFcXC9iaW5cXC9iYXNoKXwoIyFcXC9iaW5cXC9zaCkiLHI6MTB9LGIsYSxobGpzLkhDTSxobGpzLkNOTSxmLGMsaGxqcy5pbmhlcml0KGQse2I6IlxcWyAiLGU6IiBcXF0iLHI6MH0pLGhsanMuaW5oZXJpdChkLHtiOiJcXFtcXFsgIixlOiIgXFxdXFxdIn0pXX19fSgpO2hsanMuTEFOR1VBR0VTLmNwcD1mdW5jdGlvbigpe3ZhciBhPXtrZXl3b3JkOnsiZmFsc2UiOjEsImludCI6MSwiZmxvYXQiOjEsIndoaWxlIjoxLCJwcml2YXRlIjoxLCJjaGFyIjoxLCJjYXRjaCI6MSwiZXhwb3J0IjoxLHZpcnR1YWw6MSxvcGVyYXRvcjoyLHNpemVvZjoyLGR5bmFtaWNfY2FzdDoyLHR5cGVkZWY6Mixjb25zdF9jYXN0OjIsImNvbnN0IjoxLHN0cnVjdDoxLCJmb3IiOjEsc3RhdGljX2Nhc3Q6Mix1bmlvbjoxLG5hbWVzcGFjZToxLHVuc2lnbmVkOjEsImxvbmciOjEsInRocm93IjoxLCJ2b2xhdGlsZSI6Miwic3RhdGljIjoxLCJwcm90ZWN0ZWQiOjEsYm9vbDoxLHRlbXBsYXRlOjEsbXV0YWJsZToxLCJpZiI6MSwicHVibGljIjoxLGZyaWVuZDoyLCJkbyI6MSwicmV0dXJuIjoxLCJnb3RvIjoxLGF1dG86MSwidm9pZCI6MiwiZW51bSI6MSwiZWxzZSI6MSwiYnJlYWsiOjEsIm5ldyI6MSxleHRlcm46MSx1c2luZzoxLCJ0cnVlIjoxLCJjbGFzcyI6MSxhc206MSwiY2FzZSI6MSx0eXBlaWQ6MSwic2hvcnQiOjEscmVpbnRlcnByZXRfY2FzdDoyLCJkZWZhdWx0IjoxLCJkb3VibGUiOjEscmVnaXN0ZXI6MSxleHBsaWNpdDoxLHNpZ25lZDoxLHR5cGVuYW1lOjEsInRyeSI6MSwidGhpcyI6MSwic3dpdGNoIjoxLCJjb250aW51ZSI6MSx3Y2hhcl90OjEsaW5saW5lOjEsImRlbGV0ZSI6MSxhbGlnbm9mOjEsY2hhcjE2X3Q6MSxjaGFyMzJfdDoxLGNvbnN0ZXhwcjoxLGRlY2x0eXBlOjEsbm9leGNlcHQ6MSxudWxscHRyOjEsc3RhdGljX2Fzc2VydDoxLHRocmVhZF9sb2NhbDoxLHJlc3RyaWN0OjEsX0Jvb2w6MSxjb21wbGV4OjF9LGJ1aWx0X2luOntzdGQ6MSxzdHJpbmc6MSxjaW46MSxjb3V0OjEsY2VycjoxLGNsb2c6MSxzdHJpbmdzdHJlYW06MSxpc3RyaW5nc3RyZWFtOjEsb3N0cmluZ3N0cmVhbToxLGF1dG9fcHRyOjEsZGVxdWU6MSxsaXN0OjEscXVldWU6MSxzdGFjazoxLHZlY3RvcjoxLG1hcDoxLHNldDoxLGJpdHNldDoxLG11bHRpc2V0OjEsbXVsdGltYXA6MSx1bm9yZGVyZWRfc2V0OjEsdW5vcmRlcmVkX21hcDoxLHVub3JkZXJlZF9tdWx0aXNldDoxLHVub3JkZXJlZF9tdWx0aW1hcDoxLGFycmF5OjEsc2hhcmVkX3B0cjoxfX07cmV0dXJue2RNOntrOmEsaToiPC8iLGM6W2hsanMuQ0xDTSxobGpzLkNCTENMTSxobGpzLlFTTSx7Y046InN0cmluZyIsYjoiJ1xcXFw/LiIsZToiJyIsaToiLiJ9LHtjTjoibnVtYmVyIixiOiJcXGIoXFxkKyhcXC5cXGQqKT98XFwuXFxkKykodXxVfGx8THx1bHxVTHxmfEYpIn0saGxqcy5DTk0se2NOOiJwcmVwcm9jZXNzb3IiLGI6IiMiLGU6IiQifSx7Y046InN0bF9jb250YWluZXIiLGI6IlxcYihkZXF1ZXxsaXN0fHF1ZXVlfHN0YWNrfHZlY3RvcnxtYXB8c2V0fGJpdHNldHxtdWx0aXNldHxtdWx0aW1hcHx1bm9yZGVyZWRfbWFwfHVub3JkZXJlZF9zZXR8dW5vcmRlcmVkX211bHRpc2V0fHVub3JkZXJlZF9tdWx0aW1hcHxhcnJheSlcXHMqPCIsZToiPiIsazphLHI6MTAsYzpbInNlbGYiXX1dfX19KCk7aGxqcy5MQU5HVUFHRVMuY3NzPWZ1bmN0aW9uKCl7dmFyIGE9e2NOOiJmdW5jdGlvbiIsYjpobGpzLklSKyJcXCgiLGU6IlxcKSIsYzpbe2VXOnRydWUsZUU6dHJ1ZSxjOltobGpzLk5NLGhsanMuQVNNLGhsanMuUVNNXX1dfTtyZXR1cm57Y0k6dHJ1ZSxkTTp7aToiWz0vfCddIixjOltobGpzLkNCTENMTSx7Y046ImlkIixiOiJcXCNbQS1aYS16MC05Xy1dKyJ9LHtjTjoiY2xhc3MiLGI6IlxcLltBLVphLXowLTlfLV0rIixyOjB9LHtjTjoiYXR0cl9zZWxlY3RvciIsYjoiXFxbIixlOiJcXF0iLGk6IiQifSx7Y046InBzZXVkbyIsYjoiOig6KT9bYS16QS1aMC05XFxfXFwtXFwrXFwoXFwpXFxcIlxcJ10rIn0se2NOOiJhdF9ydWxlIixiOiJAKGZvbnQtZmFjZXxwYWdlKSIsbDoiW2Etei1dKyIsazp7ImZvbnQtZmFjZSI6MSxwYWdlOjF9fSx7Y046ImF0X3J1bGUiLGI6IkAiLGU6Ilt7O10iLGVFOnRydWUsazp7ImltcG9ydCI6MSxwYWdlOjEsbWVkaWE6MSxjaGFyc2V0OjF9LGM6W2EsaGxqcy5BU00saGxqcy5RU00saGxqcy5OTV19LHtjTjoidGFnIixiOmhsanMuSVIscjowfSx7Y046InJ1bGVzIixiOiJ7IixlOiJ9IixpOiJbXlxcc10iLHI6MCxjOltobGpzLkNCTENMTSx7Y046InJ1bGUiLGI6IlteXFxzXSIsckI6dHJ1ZSxlOiI7IixlVzp0cnVlLGM6W3tjTjoiYXR0cmlidXRlIixiOiJbQS1aXFxfXFwuXFwtXSsiLGU6IjoiLGVFOnRydWUsaToiW15cXHNdIixzdGFydHM6e2NOOiJ2YWx1ZSIsZVc6dHJ1ZSxlRTp0cnVlLGM6W2EsaGxqcy5OTSxobGpzLlFTTSxobGpzLkFTTSxobGpzLkNCTENMTSx7Y046ImhleGNvbG9yIixiOiJcXCNbMC05QS1GXSsifSx7Y046ImltcG9ydGFudCIsYjoiIWltcG9ydGFudCJ9XX19XX1dfV19fX0oKTtobGpzLkxBTkdVQUdFUy5pbmk9e2NJOnRydWUsZE06e2k6IlteXFxzXSIsYzpbe2NOOiJjb21tZW50IixiOiI7IixlOiIkIn0se2NOOiJ0aXRsZSIsYjoiXlxcWyIsZToiXFxdIn0se2NOOiJzZXR0aW5nIixiOiJeW2EtejAtOV9cXFtcXF1dK1sgXFx0XSo9WyBcXHRdKiIsZToiJCIsYzpbe2NOOiJ2YWx1ZSIsZVc6dHJ1ZSxrOntvbjoxLG9mZjoxLCJ0cnVlIjoxLCJmYWxzZSI6MSx5ZXM6MSxubzoxfSxjOltobGpzLlFTTSxobGpzLk5NXX1dfV19fTtobGpzLkxBTkdVQUdFUy5wZXJsPWZ1bmN0aW9uKCl7dmFyIGQ9e2dldHB3ZW50OjEsZ2V0c2VydmVudDoxLHF1b3RlbWV0YToxLG1zZ3JjdjoxLHNjYWxhcjoxLGtpbGw6MSxkYm1jbG9zZToxLHVuZGVmOjEsbGM6MSxtYToxLHN5c3dyaXRlOjEsdHI6MSxzZW5kOjEsdW1hc2s6MSxzeXNvcGVuOjEsc2htd3JpdGU6MSx2ZWM6MSxxeDoxLHV0aW1lOjEsbG9jYWw6MSxvY3Q6MSxzZW1jdGw6MSxsb2NhbHRpbWU6MSxyZWFkcGlwZToxLCJkbyI6MSwicmV0dXJuIjoxLGZvcm1hdDoxLHJlYWQ6MSxzcHJpbnRmOjEsZGJtb3BlbjoxLHBvcDoxLGdldHBncnA6MSxub3Q6MSxnZXRwd25hbToxLHJld2luZGRpcjoxLHFxOjEsZmlsZW5vOjEscXc6MSxlbmRwcm90b2VudDoxLHdhaXQ6MSxzZXRob3N0ZW50OjEsYmxlc3M6MSxzOjAsb3BlbmRpcjoxLCJjb250aW51ZSI6MSxlYWNoOjEsc2xlZXA6MSxlbmRncmVudDoxLHNodXRkb3duOjEsZHVtcDoxLGNob21wOjEsY29ubmVjdDoxLGdldHNvY2tuYW1lOjEsZGllOjEsc29ja2V0cGFpcjoxLGNsb3NlOjEsZmxvY2s6MSxleGlzdHM6MSxpbmRleDoxLHNobWdldDoxLHN1YjoxLCJmb3IiOjEsZW5kcHdlbnQ6MSxyZWRvOjEsbHN0YXQ6MSxtc2djdGw6MSxzZXRwZ3JwOjEsYWJzOjEsZXhpdDoxLHNlbGVjdDoxLHByaW50OjEscmVmOjEsZ2V0aG9zdGJ5YWRkcjoxLHVuc2hpZnQ6MSxmY250bDoxLHN5c2NhbGw6MSwiZ290byI6MSxnZXRuZXRieWFkZHI6MSxqb2luOjEsZ210aW1lOjEsc3ltbGluazoxLHNlbWdldDoxLHNwbGljZToxLHg6MCxnZXRwZWVybmFtZToxLHJlY3Y6MSxsb2c6MSxzZXRzb2Nrb3B0OjEsY29zOjEsbGFzdDoxLHJldmVyc2U6MSxnZXRob3N0YnluYW1lOjEsZ2V0Z3JuYW06MSxzdHVkeToxLGZvcm1saW5lOjEsZW5kaG9zdGVudDoxLHRpbWVzOjEsY2hvcDoxLGxlbmd0aDoxLGdldGhvc3RlbnQ6MSxnZXRuZXRlbnQ6MSxwYWNrOjEsZ2V0cHJvdG9lbnQ6MSxnZXRzZXJ2YnluYW1lOjEscmFuZDoxLG1rZGlyOjEscG9zOjEsY2htb2Q6MSx5OjAsc3Vic3RyOjEsZW5kbmV0ZW50OjEscHJpbnRmOjEsbmV4dDoxLG9wZW46MSxtc2dzbmQ6MSxyZWFkZGlyOjEsdXNlOjEsdW5saW5rOjEsZ2V0c29ja29wdDoxLGdldHByaW9yaXR5OjEscmluZGV4OjEsd2FudGFycmF5OjEsaGV4OjEsc3lzdGVtOjEsZ2V0c2VydmJ5cG9ydDoxLGVuZHNlcnZlbnQ6MSwiaW50IjoxLGNocjoxLHVudGllOjEscm1kaXI6MSxwcm90b3R5cGU6MSx0ZWxsOjEsbGlzdGVuOjEsZm9yazoxLHNobXJlYWQ6MSx1Y2ZpcnN0OjEsc2V0cHJvdG9lbnQ6MSwiZWxzZSI6MSxzeXNzZWVrOjEsbGluazoxLGdldGdyZ2lkOjEsc2htY3RsOjEsd2FpdHBpZDoxLHVucGFjazoxLGdldG5ldGJ5bmFtZToxLHJlc2V0OjEsY2hkaXI6MSxncmVwOjEsc3BsaXQ6MSxyZXF1aXJlOjEsY2FsbGVyOjEsbGNmaXJzdDoxLHVudGlsOjEsd2FybjoxLCJ3aGlsZSI6MSx2YWx1ZXM6MSxzaGlmdDoxLHRlbGxkaXI6MSxnZXRwd3VpZDoxLG15OjEsZ2V0cHJvdG9ieW51bWJlcjoxLCJkZWxldGUiOjEsYW5kOjEsc29ydDoxLHVjOjEsZGVmaW5lZDoxLHNyYW5kOjEsYWNjZXB0OjEsInBhY2thZ2UiOjEsc2Vla2RpcjoxLGdldHByb3RvYnluYW1lOjEsc2Vtb3A6MSxvdXI6MSxyZW5hbWU6MSxzZWVrOjEsImlmIjoxLHE6MCxjaHJvb3Q6MSxzeXNyZWFkOjEsc2V0cHdlbnQ6MSxubzoxLGNyeXB0OjEsZ2V0YzoxLGNob3duOjEsc3FydDoxLHdyaXRlOjEsc2V0bmV0ZW50OjEsc2V0cHJpb3JpdHk6MSxmb3JlYWNoOjEsdGllOjEsc2luOjEsbXNnZ2V0OjEsbWFwOjEsc3RhdDoxLGdldGxvZ2luOjEsdW5sZXNzOjEsZWxzaWY6MSx0cnVuY2F0ZToxLGV4ZWM6MSxrZXlzOjEsZ2xvYjoxLHRpZWQ6MSxjbG9zZWRpcjoxLGlvY3RsOjEsc29ja2V0OjEscmVhZGxpbms6MSwiZXZhbCI6MSx4b3I6MSxyZWFkbGluZToxLGJpbm1vZGU6MSxzZXRzZXJ2ZW50OjEsZW9mOjEsb3JkOjEsYmluZDoxLGFsYXJtOjEscGlwZToxLGF0YW4yOjEsZ2V0Z3JlbnQ6MSxleHA6MSx0aW1lOjEscHVzaDoxLHNldGdyZW50OjEsZ3Q6MSxsdDoxLG9yOjEsbmU6MSxtOjB9O3ZhciBmPXtjTjoic3Vic3QiLGI6IlskQF1cXHsiLGU6IlxcfSIsazpkLHI6MTB9O3ZhciBjPXtjTjoidmFyaWFibGUiLGI6IlxcJFxcZCJ9O3ZhciBiPXtjTjoidmFyaWFibGUiLGI6IltcXCRcXCVcXEBcXCpdKFxcXlxcd1xcYnwjXFx3KyhcXDpcXDpcXHcrKSp8W15cXHNcXHd7XXx7XFx3K318XFx3KyhcXDpcXDpcXHcqKSopIn07dmFyIGg9W2hsanMuQkUsZixjLGJdO3ZhciBnPXtiOiItPiIsYzpbe2I6aGxqcy5JUn0se2I6InsiLGU6In0ifV19O3ZhciBlPXtjTjoiY29tbWVudCIsYjoiXihfX0VORF9ffF9fREFUQV9fKSIsZToiXFxuJCIscjo1fTt2YXIgYT1bYyxiLGhsanMuSENNLGUsZyx7Y046InN0cmluZyIsYjoicVtxd3hyXT9cXHMqXFwoIixlOiJcXCkiLGM6aCxyOjV9LHtjTjoic3RyaW5nIixiOiJxW3F3eHJdP1xccypcXFsiLGU6IlxcXSIsYzpoLHI6NX0se2NOOiJzdHJpbmciLGI6InFbcXd4cl0/XFxzKlxceyIsZToiXFx9IixjOmgscjo1fSx7Y046InN0cmluZyIsYjoicVtxd3hyXT9cXHMqXFx8IixlOiJcXHwiLGM6aCxyOjV9LHtjTjoic3RyaW5nIixiOiJxW3F3eHJdP1xccypcXDwiLGU6IlxcPiIsYzpoLHI6NX0se2NOOiJzdHJpbmciLGI6InF3XFxzK3EiLGU6InEiLGM6aCxyOjV9LHtjTjoic3RyaW5nIixiOiInIixlOiInIixjOltobGpzLkJFXSxyOjB9LHtjTjoic3RyaW5nIixiOiciJyxlOiciJyxjOmgscjowfSx7Y046InN0cmluZyIsYjoiYCIsZToiYCIsYzpbaGxqcy5CRV19LHtjTjoic3RyaW5nIixiOiJ7XFx3K30iLHI6MH0se2NOOiJzdHJpbmciLGI6Ii0/XFx3K1xccypcXD1cXD4iLHI6MH0se2NOOiJudW1iZXIiLGI6IihcXGIwWzAtN19dKyl8KFxcYjB4WzAtOWEtZkEtRl9dKyl8KFxcYlsxLTldWzAtOV9dKihcXC5bMC05X10rKT8pfFswX11cXGIiLHI6MH0se2I6IigiK2hsanMuUlNSKyJ8XFxiKHNwbGl0fHJldHVybnxwcmludHxyZXZlcnNlfGdyZXApXFxiKVxccyoiLGs6e3NwbGl0OjEsInJldHVybiI6MSxwcmludDoxLHJldmVyc2U6MSxncmVwOjF9LHI6MCxjOltobGpzLkhDTSxlLHtjTjoicmVnZXhwIixiOiIoc3x0cnx5KS8oXFxcXC58W14vXSkqLyhcXFxcLnxbXi9dKSovW2Etel0qIixyOjEwfSx7Y046InJlZ2V4cCIsYjoiKG18cXIpPy8iLGU6Ii9bYS16XSoiLGM6W2hsanMuQkVdLHI6MH1dfSx7Y046InN1YiIsYjoiXFxic3ViXFxiIixlOiIoXFxzKlxcKC4qP1xcKSk/Wzt7XSIsazp7c3ViOjF9LHI6NX0se2NOOiJvcGVyYXRvciIsYjoiLVxcd1xcYiIscjowfSx7Y046InBvZCIsYjoiXFw9XFx3IixlOiJcXD1jdXQifV07Zi5jPWE7Zy5jWzFdLmM9YTtyZXR1cm57ZE06e2s6ZCxjOmF9fX0oKTtobGpzLkxBTkdVQUdFUy5weXRob249ZnVuY3Rpb24oKXt2YXIgYj1be2NOOiJzdHJpbmciLGI6Iih1fGIpP3I/JycnIixlOiInJyciLHI6MTB9LHtjTjoic3RyaW5nIixiOicodXxiKT9yPyIiIicsZTonIiIiJyxyOjEwfSx7Y046InN0cmluZyIsYjoiKHV8cnx1ciknIixlOiInIixjOltobGpzLkJFXSxyOjEwfSx7Y046InN0cmluZyIsYjonKHV8cnx1cikiJyxlOiciJyxjOltobGpzLkJFXSxyOjEwfSx7Y046InN0cmluZyIsYjoiKGJ8YnIpJyIsZToiJyIsYzpbaGxqcy5CRV19LHtjTjoic3RyaW5nIixiOicoYnxicikiJyxlOiciJyxjOltobGpzLkJFXX1dLmNvbmNhdChbaGxqcy5BU00saGxqcy5RU01dKTt2YXIgZD17Y046InRpdGxlIixiOmhsanMuVUlSfTt2YXIgYz17Y046InBhcmFtcyIsYjoiXFwoIixlOiJcXCkiLGM6Yi5jb25jYXQoW2hsanMuQ05NXSl9O3ZhciBhPXtiV0s6dHJ1ZSxlOiI6IixpOiJbJHtdIixjOltkLGNdLHI6MTB9O3JldHVybntkTTp7azp7a2V5d29yZDp7YW5kOjEsZWxpZjoxLGlzOjEsZ2xvYmFsOjEsYXM6MSwiaW4iOjEsImlmIjoxLGZyb206MSxyYWlzZToxLCJmb3IiOjEsZXhjZXB0OjEsImZpbmFsbHkiOjEscHJpbnQ6MSwiaW1wb3J0IjoxLHBhc3M6MSwicmV0dXJuIjoxLGV4ZWM6MSwiZWxzZSI6MSwiYnJlYWsiOjEsbm90OjEsIndpdGgiOjEsImNsYXNzIjoxLGFzc2VydDoxLHlpZWxkOjEsInRyeSI6MSwid2hpbGUiOjEsImNvbnRpbnVlIjoxLGRlbDoxLG9yOjEsZGVmOjEsbGFtYmRhOjEsbm9ubG9jYWw6MTB9LGJ1aWx0X2luOntOb25lOjEsVHJ1ZToxLEZhbHNlOjEsRWxsaXBzaXM6MSxOb3RJbXBsZW1lbnRlZDoxfX0saToiKDwvfC0+fFxcPykiLGM6Yi5jb25jYXQoW2hsanMuSENNLGhsanMuaW5oZXJpdChhLHtjTjoiZnVuY3Rpb24iLGs6e2RlZjoxfX0pLGhsanMuaW5oZXJpdChhLHtjTjoiY2xhc3MiLGs6eyJjbGFzcyI6MX19KSxobGpzLkNOTSx7Y046ImRlY29yYXRvciIsYjoiQCIsZToiJCJ9XSl9fX0oKTtobGpzLkxBTkdVQUdFUy5yPXtkTTp7YzpbaGxqcy5IQ00se2NOOiJudW1iZXIiLGI6IlxcYjBbeFhdWzAtOWEtZkEtRl0rW0xpXT9cXGIiLGU6aGxqcy5JTU1FRElBVEVfUkUscjowfSx7Y046Im51bWJlciIsYjoiXFxiXFxkKyg/OltlRV1bK1xcLV0/XFxkKik/TFxcYiIsZTpobGpzLklNTUVESUFURV9SRSxyOjB9LHtjTjoibnVtYmVyIixiOiJcXGJcXGQrXFwuKD8hXFxkKSg/OmlcXGIpPyIsZTpobGpzLklNTUVESUFURV9SRSxyOjF9LHtjTjoibnVtYmVyIixiOiJcXGJcXGQrKD86XFwuXFxkKik/KD86W2VFXVsrXFwtXT9cXGQqKT9pP1xcYiIsZTpobGpzLklNTUVESUFURV9SRSxyOjB9LHtjTjoibnVtYmVyIixiOiJcXC5cXGQrKD86W2VFXVsrXFwtXT9cXGQqKT9pP1xcYiIsZTpobGpzLklNTUVESUFURV9SRSxyOjF9LHtjTjoia2V5d29yZCIsYjoiKD86dHJ5Q2F0Y2h8bGlicmFyeXxzZXRHZW5lcmljfHNldEdyb3VwR2VuZXJpYylcXGIiLGU6aGxqcy5JTU1FRElBVEVfUkUscjoxMH0se2NOOiJrZXl3b3JkIixiOiJcXC5cXC5cXC4iLGU6aGxqcy5JTU1FRElBVEVfUkUscjoxMH0se2NOOiJrZXl3b3JkIixiOiJcXC5cXC5cXGQrKD8hW1xcdy5dKSIsZTpobGpzLklNTUVESUFURV9SRSxyOjEwfSx7Y046ImtleXdvcmQiLGI6IlxcYig/OmZ1bmN0aW9uKSIsZTpobGpzLklNTUVESUFURV9SRSxyOjJ9LHtjTjoia2V5d29yZCIsYjoiKD86aWZ8aW58YnJlYWt8bmV4dHxyZXBlYXR8ZWxzZXxmb3J8cmV0dXJufHN3aXRjaHx3aGlsZXx0cnl8c3RvcHx3YXJuaW5nfHJlcXVpcmV8YXR0YWNofGRldGFjaHxzb3VyY2V8c2V0TWV0aG9kfHNldENsYXNzKVxcYiIsZTpobGpzLklNTUVESUFURV9SRSxyOjF9LHtjTjoibGl0ZXJhbCIsYjoiKD86TkF8TkFfaW50ZWdlcl98TkFfcmVhbF98TkFfY2hhcmFjdGVyX3xOQV9jb21wbGV4XylcXGIiLGU6aGxqcy5JTU1FRElBVEVfUkUscjoxMH0se2NOOiJsaXRlcmFsIixiOiIoPzpOVUxMfFRSVUV8RkFMU0V8VHxGfEluZnxOYU4pXFxiIixlOmhsanMuSU1NRURJQVRFX1JFLHI6MX0se2NOOiJpZGVudGlmaWVyIixiOiJbYS16QS1aLl1bYS16QS1aMC05Ll9dKlxcYiIsZTpobGpzLklNTUVESUFURV9SRSxyOjB9LHtjTjoib3BlcmF0b3IiLGI6IjxcXC0oPyFcXHMqXFxkKSIsZTpobGpzLklNTUVESUFURV9SRSxyOjJ9LHtjTjoib3BlcmF0b3IiLGI6IlxcLT58PFxcLSIsZTpobGpzLklNTUVESUFURV9SRSxyOjF9LHtjTjoib3BlcmF0b3IiLGI6IiUlfH4iLGU6aGxqcy5JTU1FRElBVEVfUkV9LHtjTjoib3BlcmF0b3IiLGI6Ij49fDw9fD09fCE9fFxcfFxcfHwmJnw9fFxcK3xcXC18XFwqfC98XFxefD58PHwhfCZ8XFx8fFxcJHw6IixlOmhsanMuSU1NRURJQVRFX1JFLHI6MH0se2NOOiJvcGVyYXRvciIsYjoiJSIsZToiJSIsaToiXFxuIixyOjF9LHtjTjoiaWRlbnRpZmllciIsYjoiYCIsZToiYCIscjowfSx7Y046InN0cmluZyIsYjonIicsZTonIicsYzpbaGxqcy5CRV0scjowfSx7Y046InN0cmluZyIsYjoiJyIsZToiJyIsYzpbaGxqcy5CRV0scjowfSx7Y046InBhcmVuIixiOiJbWyh7XFxdKX1dIixlOmhsanMuSU1NRURJQVRFX1JFLHI6MH1dfX07aGxqcy5MQU5HVUFHRVMucnVieT1mdW5jdGlvbigpe3ZhciBhPSJbYS16QS1aX11bYS16QS1aMC05X10qKFxcIXxcXD8pPyI7dmFyIGo9IlthLXpBLVpfXVxcdypbIT89XT98Wy0rfl1cXEB8PDx8Pj58PX58PT09P3w8PT58Wzw+XT0/fFxcKlxcKnxbLS8rJV4mKn5gfF18XFxbXFxdPT8iO3ZhciBmPXtrZXl3b3JkOnthbmQ6MSwiZmFsc2UiOjEsdGhlbjoxLGRlZmluZWQ6MSxtb2R1bGU6MSwiaW4iOjEsInJldHVybiI6MSxyZWRvOjEsImlmIjoxLEJFR0lOOjEscmV0cnk6MSxlbmQ6MSwiZm9yIjoxLCJ0cnVlIjoxLHNlbGY6MSx3aGVuOjEsbmV4dDoxLHVudGlsOjEsImRvIjoxLGJlZ2luOjEsdW5sZXNzOjEsRU5EOjEscmVzY3VlOjEsbmlsOjEsImVsc2UiOjEsImJyZWFrIjoxLHVuZGVmOjEsbm90OjEsInN1cGVyIjoxLCJjbGFzcyI6MSwiY2FzZSI6MSxyZXF1aXJlOjEseWllbGQ6MSxhbGlhczoxLCJ3aGlsZSI6MSxlbnN1cmU6MSxlbHNpZjoxLG9yOjEsZGVmOjF9LGtleW1ldGhvZHM6e19faWRfXzoxLF9fc2VuZF9fOjEsYWJvcnQ6MSxhYnM6MSwiYWxsPyI6MSxhbGxvY2F0ZToxLGFuY2VzdG9yczoxLCJhbnk/IjoxLGFyaXR5OjEsYXNzb2M6MSxhdDoxLGF0X2V4aXQ6MSxhdXRvbG9hZDoxLCJhdXRvbG9hZD8iOjEsImJldHdlZW4/IjoxLGJpbmRpbmc6MSxiaW5tb2RlOjEsImJsb2NrX2dpdmVuPyI6MSxjYWxsOjEsY2FsbGNjOjEsY2FsbGVyOjEsY2FwaXRhbGl6ZToxLCJjYXBpdGFsaXplISI6MSxjYXNlY21wOjEsImNhdGNoIjoxLGNlaWw6MSxjZW50ZXI6MSxjaG9tcDoxLCJjaG9tcCEiOjEsY2hvcDoxLCJjaG9wISI6MSxjaHI6MSwiY2xhc3MiOjEsY2xhc3NfZXZhbDoxLCJjbGFzc192YXJpYWJsZV9kZWZpbmVkPyI6MSxjbGFzc192YXJpYWJsZXM6MSxjbGVhcjoxLGNsb25lOjEsY2xvc2U6MSxjbG9zZV9yZWFkOjEsY2xvc2Vfd3JpdGU6MSwiY2xvc2VkPyI6MSxjb2VyY2U6MSxjb2xsZWN0OjEsImNvbGxlY3QhIjoxLGNvbXBhY3Q6MSwiY29tcGFjdCEiOjEsY29uY2F0OjEsImNvbnN0X2RlZmluZWQ/IjoxLGNvbnN0X2dldDoxLGNvbnN0X21pc3Npbmc6MSxjb25zdF9zZXQ6MSxjb25zdGFudHM6MSxjb3VudDoxLGNyeXB0OjEsImRlZmF1bHQiOjEsZGVmYXVsdF9wcm9jOjEsImRlbGV0ZSI6MSwiZGVsZXRlISI6MSxkZWxldGVfYXQ6MSxkZWxldGVfaWY6MSxkZXRlY3Q6MSxkaXNwbGF5OjEsZGl2OjEsZGl2bW9kOjEsZG93bmNhc2U6MSwiZG93bmNhc2UhIjoxLGRvd250bzoxLGR1bXA6MSxkdXA6MSxlYWNoOjEsZWFjaF9ieXRlOjEsZWFjaF9pbmRleDoxLGVhY2hfa2V5OjEsZWFjaF9saW5lOjEsZWFjaF9wYWlyOjEsZWFjaF92YWx1ZToxLGVhY2hfd2l0aF9pbmRleDoxLCJlbXB0eT8iOjEsZW50cmllczoxLGVvZjoxLCJlb2Y/IjoxLCJlcWw/IjoxLCJlcXVhbD8iOjEsImV2YWwiOjEsZXhlYzoxLGV4aXQ6MSwiZXhpdCEiOjEsZXh0ZW5kOjEsZmFpbDoxLGZjbnRsOjEsZmV0Y2g6MSxmaWxlbm86MSxmaWxsOjEsZmluZDoxLGZpbmRfYWxsOjEsZmlyc3Q6MSxmbGF0dGVuOjEsImZsYXR0ZW4hIjoxLGZsb29yOjEsZmx1c2g6MSxmb3JfZmQ6MSxmb3JlYWNoOjEsZm9yazoxLGZvcm1hdDoxLGZyZWV6ZToxLCJmcm96ZW4/IjoxLGZzeW5jOjEsZ2V0YzoxLGdldHM6MSxnbG9iYWxfdmFyaWFibGVzOjEsZ3JlcDoxLGdzdWI6MSwiZ3N1YiEiOjEsImhhc19rZXk/IjoxLCJoYXNfdmFsdWU/IjoxLGhhc2g6MSxoZXg6MSxpZDoxLGluY2x1ZGU6MSwiaW5jbHVkZT8iOjEsaW5jbHVkZWRfbW9kdWxlczoxLGluZGV4OjEsaW5kZXhlczoxLGluZGljZXM6MSxpbmR1Y2VkX2Zyb206MSxpbmplY3Q6MSxpbnNlcnQ6MSxpbnNwZWN0OjEsaW5zdGFuY2VfZXZhbDoxLGluc3RhbmNlX21ldGhvZDoxLGluc3RhbmNlX21ldGhvZHM6MSwiaW5zdGFuY2Vfb2Y/IjoxLCJpbnN0YW5jZV92YXJpYWJsZV9kZWZpbmVkPyI6MSxpbnN0YW5jZV92YXJpYWJsZV9nZXQ6MSxpbnN0YW5jZV92YXJpYWJsZV9zZXQ6MSxpbnN0YW5jZV92YXJpYWJsZXM6MSwiaW50ZWdlcj8iOjEsaW50ZXJuOjEsaW52ZXJ0OjEsaW9jdGw6MSwiaXNfYT8iOjEsaXNhdHR5OjEsIml0ZXJhdG9yPyI6MSxqb2luOjEsImtleT8iOjEsa2V5czoxLCJraW5kX29mPyI6MSxsYW1iZGE6MSxsYXN0OjEsbGVuZ3RoOjEsbGluZW5vOjEsbGp1c3Q6MSxsb2FkOjEsbG9jYWxfdmFyaWFibGVzOjEsbG9vcDoxLGxzdHJpcDoxLCJsc3RyaXAhIjoxLG1hcDoxLCJtYXAhIjoxLG1hdGNoOjEsbWF4OjEsIm1lbWJlcj8iOjEsbWVyZ2U6MSwibWVyZ2UhIjoxLG1ldGhvZDoxLCJtZXRob2RfZGVmaW5lZD8iOjEsbWV0aG9kX21pc3Npbmc6MSxtZXRob2RzOjEsbWluOjEsbW9kdWxlX2V2YWw6MSxtb2R1bG86MSxuYW1lOjEsbmVzdGluZzoxLCJuZXciOjEsbmV4dDoxLCJuZXh0ISI6MSwibmlsPyI6MSxuaXRlbXM6MSwibm9uemVybz8iOjEsb2JqZWN0X2lkOjEsb2N0OjEsb3BlbjoxLHBhY2s6MSxwYXJ0aXRpb246MSxwaWQ6MSxwaXBlOjEscG9wOjEscG9wZW46MSxwb3M6MSxwcmVjOjEscHJlY19mOjEscHJlY19pOjEscHJpbnQ6MSxwcmludGY6MSxwcml2YXRlX2NsYXNzX21ldGhvZDoxLHByaXZhdGVfaW5zdGFuY2VfbWV0aG9kczoxLCJwcml2YXRlX21ldGhvZF9kZWZpbmVkPyI6MSxwcml2YXRlX21ldGhvZHM6MSxwcm9jOjEscHJvdGVjdGVkX2luc3RhbmNlX21ldGhvZHM6MSwicHJvdGVjdGVkX21ldGhvZF9kZWZpbmVkPyI6MSxwcm90ZWN0ZWRfbWV0aG9kczoxLHB1YmxpY19jbGFzc19tZXRob2Q6MSxwdWJsaWNfaW5zdGFuY2VfbWV0aG9kczoxLCJwdWJsaWNfbWV0aG9kX2RlZmluZWQ/IjoxLHB1YmxpY19tZXRob2RzOjEscHVzaDoxLHB1dGM6MSxwdXRzOjEscXVvOjEscmFpc2U6MSxyYW5kOjEscmFzc29jOjEscmVhZDoxLHJlYWRfbm9uYmxvY2s6MSxyZWFkY2hhcjoxLHJlYWRsaW5lOjEscmVhZGxpbmVzOjEscmVhZHBhcnRpYWw6MSxyZWhhc2g6MSxyZWplY3Q6MSwicmVqZWN0ISI6MSxyZW1haW5kZXI6MSxyZW9wZW46MSxyZXBsYWNlOjEscmVxdWlyZToxLCJyZXNwb25kX3RvPyI6MSxyZXZlcnNlOjEsInJldmVyc2UhIjoxLHJldmVyc2VfZWFjaDoxLHJld2luZDoxLHJpbmRleDoxLHJqdXN0OjEscm91bmQ6MSxyc3RyaXA6MSwicnN0cmlwISI6MSxzY2FuOjEsc2VlazoxLHNlbGVjdDoxLHNlbmQ6MSxzZXRfdHJhY2VfZnVuYzoxLHNoaWZ0OjEsc2luZ2xldG9uX21ldGhvZF9hZGRlZDoxLHNpbmdsZXRvbl9tZXRob2RzOjEsc2l6ZToxLHNsZWVwOjEsc2xpY2U6MSwic2xpY2UhIjoxLHNvcnQ6MSwic29ydCEiOjEsc29ydF9ieToxLHNwbGl0OjEsc3ByaW50ZjoxLHNxdWVlemU6MSwic3F1ZWV6ZSEiOjEsc3JhbmQ6MSxzdGF0OjEsc3RlcDoxLHN0b3JlOjEsc3RyaXA6MSwic3RyaXAhIjoxLHN1YjoxLCJzdWIhIjoxLHN1Y2M6MSwic3VjYyEiOjEsc3VtOjEsc3VwZXJjbGFzczoxLHN3YXBjYXNlOjEsInN3YXBjYXNlISI6MSxzeW5jOjEsc3lzY2FsbDoxLHN5c29wZW46MSxzeXNyZWFkOjEsc3lzc2VlazoxLHN5c3RlbToxLHN5c3dyaXRlOjEsdGFpbnQ6MSwidGFpbnRlZD8iOjEsdGVsbDoxLHRlc3Q6MSwidGhyb3ciOjEsdGltZXM6MSx0b19hOjEsdG9fYXJ5OjEsdG9fZjoxLHRvX2hhc2g6MSx0b19pOjEsdG9faW50OjEsdG9faW86MSx0b19wcm9jOjEsdG9fczoxLHRvX3N0cjoxLHRvX3N5bToxLHRyOjEsInRyISI6MSx0cl9zOjEsInRyX3MhIjoxLHRyYWNlX3ZhcjoxLHRyYW5zcG9zZToxLHRyYXA6MSx0cnVuY2F0ZToxLCJ0dHk/IjoxLHR5cGU6MSx1bmdldGM6MSx1bmlxOjEsInVuaXEhIjoxLHVucGFjazoxLHVuc2hpZnQ6MSx1bnRhaW50OjEsdW50cmFjZV92YXI6MSx1cGNhc2U6MSwidXBjYXNlISI6MSx1cGRhdGU6MSx1cHRvOjEsInZhbHVlPyI6MSx2YWx1ZXM6MSx2YWx1ZXNfYXQ6MSx3YXJuOjEsd3JpdGU6MSx3cml0ZV9ub25ibG9jazoxLCJ6ZXJvPyI6MSx6aXA6MX19O3ZhciBjPXtjTjoieWFyZG9jdGFnIixiOiJAW0EtWmEtel0rIn07dmFyIGs9W3tjTjoiY29tbWVudCIsYjoiIyIsZToiJCIsYzpbY119LHtjTjoiY29tbWVudCIsYjoiXlxcPWJlZ2luIixlOiJeXFw9ZW5kIixjOltjXSxyOjEwfSx7Y046ImNvbW1lbnQiLGI6Il5fX0VORF9fIixlOiJcXG4kIn1dO3ZhciBkPXtjTjoic3Vic3QiLGI6IiNcXHsiLGU6In0iLGw6YSxrOmZ9O3ZhciBpPVtobGpzLkJFLGRdO3ZhciBiPVt7Y046InN0cmluZyIsYjoiJyIsZToiJyIsYzppLHI6MH0se2NOOiJzdHJpbmciLGI6JyInLGU6JyInLGM6aSxyOjB9LHtjTjoic3RyaW5nIixiOiIlW3F3XT9cXCgiLGU6IlxcKSIsYzppLHI6MTB9LHtjTjoic3RyaW5nIixiOiIlW3F3XT9cXFsiLGU6IlxcXSIsYzppLHI6MTB9LHtjTjoic3RyaW5nIixiOiIlW3F3XT97IixlOiJ9IixjOmkscjoxMH0se2NOOiJzdHJpbmciLGI6IiVbcXddPzwiLGU6Ij4iLGM6aSxyOjEwfSx7Y046InN0cmluZyIsYjoiJVtxd10/LyIsZToiLyIsYzppLHI6MTB9LHtjTjoic3RyaW5nIixiOiIlW3F3XT8lIixlOiIlIixjOmkscjoxMH0se2NOOiJzdHJpbmciLGI6IiVbcXddPy0iLGU6Ii0iLGM6aSxyOjEwfSx7Y046InN0cmluZyIsYjoiJVtxd10/XFx8IixlOiJcXHwiLGM6aSxyOjEwfV07dmFyIGg9e2NOOiJmdW5jdGlvbiIsYjoiXFxiZGVmXFxzKyIsZToiIHwkfDsiLGw6YSxrOmYsYzpbe2NOOiJ0aXRsZSIsYjpqLGw6YSxrOmZ9LHtjTjoicGFyYW1zIixiOiJcXCgiLGU6IlxcKSIsbDphLGs6Zn1dLmNvbmNhdChrKX07dmFyIGc9e2NOOiJpZGVudGlmaWVyIixiOmEsbDphLGs6ZixyOjB9O3ZhciBlPWsuY29uY2F0KGIuY29uY2F0KFt7Y046ImNsYXNzIixiOiJcXGIoY2xhc3N8bW9kdWxlKVxcYiIsZToiJHw7IixrOnsiY2xhc3MiOjEsbW9kdWxlOjF9LGM6W3tjTjoidGl0bGUiLGI6IltBLVphLXpfXVxcdyooOjpcXHcrKSooXFw/fFxcISk/IixyOjB9LHtjTjoiaW5oZXJpdGFuY2UiLGI6IjxcXHMqIixjOlt7Y046InBhcmVudCIsYjoiKCIraGxqcy5JUisiOjopPyIraGxqcy5JUn1dfV0uY29uY2F0KGspfSxoLHtjTjoiY29uc3RhbnQiLGI6Iig6Oik/KFtBLVpdXFx3Kig6Oik/KSsiLHI6MH0se2NOOiJzeW1ib2wiLGI6IjoiLGM6Yi5jb25jYXQoW2ddKSxyOjB9LHtjTjoibnVtYmVyIixiOiIoXFxiMFswLTdfXSspfChcXGIweFswLTlhLWZBLUZfXSspfChcXGJbMS05XVswLTlfXSooXFwuWzAtOV9dKyk/KXxbMF9dXFxiIixyOjB9LHtjTjoibnVtYmVyIixiOiJcXD9cXHcifSx7Y046InZhcmlhYmxlIixiOiIoXFwkXFxXKXwoKFxcJHxcXEBcXEA/KShcXHcrKSkifSxnLHtiOiIoIitobGpzLlJTUisiKVxccyoiLGM6ay5jb25jYXQoW3tjTjoicmVnZXhwIixiOiIvIixlOiIvW2Etel0qIixpOiJcXG4iLGM6W2hsanMuQkVdfV0pLHI6MH1dKSk7ZC5jPWU7aC5jWzFdLmM9ZTtyZXR1cm57ZE06e2w6YSxrOmYsYzplfX19KCk7aGxqcy5MQU5HVUFHRVMuc2NhbGE9ZnVuY3Rpb24oKXt2YXIgYj17Y046ImFubm90YXRpb24iLGI6IkBbQS1aYS16XSsifTt2YXIgYT17Y046InN0cmluZyIsYjondT9yPyIiIicsZTonIiIiJyxyOjEwfTtyZXR1cm57ZE06e2s6e3R5cGU6MSx5aWVsZDoxLGxhenk6MSxvdmVycmlkZToxLGRlZjoxLCJ3aXRoIjoxLHZhbDoxLCJ2YXIiOjEsImZhbHNlIjoxLCJ0cnVlIjoxLHNlYWxlZDoxLCJhYnN0cmFjdCI6MSwicHJpdmF0ZSI6MSx0cmFpdDoxLG9iamVjdDoxLCJudWxsIjoxLCJpZiI6MSwiZm9yIjoxLCJ3aGlsZSI6MSwidGhyb3ciOjEsImZpbmFsbHkiOjEsInByb3RlY3RlZCI6MSwiZXh0ZW5kcyI6MSwiaW1wb3J0IjoxLCJmaW5hbCI6MSwicmV0dXJuIjoxLCJlbHNlIjoxLCJicmVhayI6MSwibmV3IjoxLCJjYXRjaCI6MSwic3VwZXIiOjEsImNsYXNzIjoxLCJjYXNlIjoxLCJwYWNrYWdlIjoxLCJkZWZhdWx0IjoxLCJ0cnkiOjEsInRoaXMiOjEsbWF0Y2g6MSwiY29udGludWUiOjEsInRocm93cyI6MX0sYzpbe2NOOiJqYXZhZG9jIixiOiIvXFwqXFwqIixlOiJcXCovIixjOlt7Y046ImphdmFkb2N0YWciLGI6IkBbQS1aYS16XSsifV0scjoxMH0saGxqcy5DTENNLGhsanMuQ0JMQ0xNLGhsanMuQVNNLGhsanMuUVNNLGEse2NOOiJjbGFzcyIsYjoiKChjYXNlICk/Y2xhc3MgfG9iamVjdCB8dHJhaXQgKSIsZToiKHt8JCkiLGk6IjoiLGs6eyJjYXNlIjoxLCJjbGFzcyI6MSx0cmFpdDoxLG9iamVjdDoxfSxjOlt7YldLOnRydWUsazp7ImV4dGVuZHMiOjEsIndpdGgiOjF9LHI6MTB9LHtjTjoidGl0bGUiLGI6aGxqcy5VSVJ9LHtjTjoicGFyYW1zIixiOiJcXCgiLGU6IlxcKSIsYzpbaGxqcy5BU00saGxqcy5RU00sYSxiXX1dfSxobGpzLkNOTSxiXX19fSgpO2hsanMuTEFOR1VBR0VTLnNxbD17Y0k6dHJ1ZSxkTTp7aToiW15cXHNdIixjOlt7Y046Im9wZXJhdG9yIixiOiIoYmVnaW58c3RhcnR8Y29tbWl0fHJvbGxiYWNrfHNhdmVwb2ludHxsb2NrfGFsdGVyfGNyZWF0ZXxkcm9wfHJlbmFtZXxjYWxsfGRlbGV0ZXxkb3xoYW5kbGVyfGluc2VydHxsb2FkfHJlcGxhY2V8c2VsZWN0fHRydW5jYXRlfHVwZGF0ZXxzZXR8c2hvd3xwcmFnbWF8Z3JhbnQpXFxiIixlOiI7fCIraGxqcy5FUixrOntrZXl3b3JkOnthbGw6MSxwYXJ0aWFsOjEsZ2xvYmFsOjEsbW9udGg6MSxjdXJyZW50X3RpbWVzdGFtcDoxLHVzaW5nOjEsZ286MSxyZXZva2U6MSxzbWFsbGludDoxLGluZGljYXRvcjoxLCJlbmQtZXhlYyI6MSxkaXNjb25uZWN0OjEsem9uZToxLCJ3aXRoIjoxLGNoYXJhY3RlcjoxLGFzc2VydGlvbjoxLHRvOjEsYWRkOjEsY3VycmVudF91c2VyOjEsdXNhZ2U6MSxpbnB1dDoxLGxvY2FsOjEsYWx0ZXI6MSxtYXRjaDoxLGNvbGxhdGU6MSxyZWFsOjEsdGhlbjoxLHJvbGxiYWNrOjEsZ2V0OjEscmVhZDoxLHRpbWVzdGFtcDoxLHNlc3Npb25fdXNlcjoxLG5vdDoxLGludGVnZXI6MSxiaXQ6MSx1bmlxdWU6MSxkYXk6MSxtaW51dGU6MSxkZXNjOjEsaW5zZXJ0OjEsZXhlY3V0ZToxLGxpa2U6MSxpbGlrZToyLGxldmVsOjEsZGVjaW1hbDoxLGRyb3A6MSwiY29udGludWUiOjEsaXNvbGF0aW9uOjEsZm91bmQ6MSx3aGVyZToxLGNvbnN0cmFpbnRzOjEsZG9tYWluOjEscmlnaHQ6MSxuYXRpb25hbDoxLHNvbWU6MSxtb2R1bGU6MSx0cmFuc2FjdGlvbjoxLHJlbGF0aXZlOjEsc2Vjb25kOjEsY29ubmVjdDoxLGVzY2FwZToxLGNsb3NlOjEsc3lzdGVtX3VzZXI6MSwiZm9yIjoxLGRlZmVycmVkOjEsc2VjdGlvbjoxLGNhc3Q6MSxjdXJyZW50OjEsc3Fsc3RhdGU6MSxhbGxvY2F0ZToxLGludGVyc2VjdDoxLGRlYWxsb2NhdGU6MSxudW1lcmljOjEsInB1YmxpYyI6MSxwcmVzZXJ2ZToxLGZ1bGw6MSwiZ290byI6MSxpbml0aWFsbHk6MSxhc2M6MSxubzoxLGtleToxLG91dHB1dDoxLGNvbGxhdGlvbjoxLGdyb3VwOjEsYnk6MSx1bmlvbjoxLHNlc3Npb246MSxib3RoOjEsbGFzdDoxLGxhbmd1YWdlOjEsY29uc3RyYWludDoxLGNvbHVtbjoxLG9mOjEsc3BhY2U6MSxmb3JlaWduOjEsZGVmZXJyYWJsZToxLHByaW9yOjEsY29ubmVjdGlvbjoxLHVua25vd246MSxhY3Rpb246MSxjb21taXQ6MSx2aWV3OjEsb3I6MSxmaXJzdDoxLGludG86MSwiZmxvYXQiOjEseWVhcjoxLHByaW1hcnk6MSxjYXNjYWRlZDoxLGV4Y2VwdDoxLHJlc3RyaWN0OjEsc2V0OjEscmVmZXJlbmNlczoxLG5hbWVzOjEsdGFibGU6MSxvdXRlcjoxLG9wZW46MSxzZWxlY3Q6MSxzaXplOjEsYXJlOjEscm93czoxLGZyb206MSxwcmVwYXJlOjEsZGlzdGluY3Q6MSxsZWFkaW5nOjEsY3JlYXRlOjEsb25seToxLG5leHQ6MSxpbm5lcjoxLGF1dGhvcml6YXRpb246MSxzY2hlbWE6MSxjb3JyZXNwb25kaW5nOjEsb3B0aW9uOjEsZGVjbGFyZToxLHByZWNpc2lvbjoxLGltbWVkaWF0ZToxLCJlbHNlIjoxLHRpbWV6b25lX21pbnV0ZToxLGV4dGVybmFsOjEsdmFyeWluZzoxLHRyYW5zbGF0aW9uOjEsInRydWUiOjEsImNhc2UiOjEsZXhjZXB0aW9uOjEsam9pbjoxLGhvdXI6MSwiZGVmYXVsdCI6MSwiZG91YmxlIjoxLHNjcm9sbDoxLHZhbHVlOjEsY3Vyc29yOjEsZGVzY3JpcHRvcjoxLHZhbHVlczoxLGRlYzoxLGZldGNoOjEscHJvY2VkdXJlOjEsImRlbGV0ZSI6MSxhbmQ6MSwiZmFsc2UiOjEsImludCI6MSxpczoxLGRlc2NyaWJlOjEsImNoYXIiOjEsYXM6MSxhdDoxLCJpbiI6MSx2YXJjaGFyOjEsIm51bGwiOjEsdHJhaWxpbmc6MSxhbnk6MSxhYnNvbHV0ZToxLGN1cnJlbnRfdGltZToxLGVuZDoxLGdyYW50OjEscHJpdmlsZWdlczoxLHdoZW46MSxjcm9zczoxLGNoZWNrOjEsd3JpdGU6MSxjdXJyZW50X2RhdGU6MSxwYWQ6MSxiZWdpbjoxLHRlbXBvcmFyeToxLGV4ZWM6MSx0aW1lOjEsdXBkYXRlOjEsY2F0YWxvZzoxLHVzZXI6MSxzcWw6MSxkYXRlOjEsb246MSxpZGVudGl0eToxLHRpbWV6b25lX2hvdXI6MSxuYXR1cmFsOjEsd2hlbmV2ZXI6MSxpbnRlcnZhbDoxLHdvcms6MSxvcmRlcjoxLGNhc2NhZGU6MSxkaWFnbm9zdGljczoxLG5jaGFyOjEsaGF2aW5nOjEsbGVmdDoxLGNhbGw6MSwiZG8iOjEsaGFuZGxlcjoxLGxvYWQ6MSxyZXBsYWNlOjEsdHJ1bmNhdGU6MSxzdGFydDoxLGxvY2s6MSxzaG93OjEscHJhZ21hOjF9LGFnZ3JlZ2F0ZTp7Y291bnQ6MSxzdW06MSxtaW46MSxtYXg6MSxhdmc6MX19LGM6W3tjTjoic3RyaW5nIixiOiInIixlOiInIixjOltobGpzLkJFLHtiOiInJyJ9XSxyOjB9LHtjTjoic3RyaW5nIixiOiciJyxlOiciJyxjOltobGpzLkJFLHtiOiciIid9XSxyOjB9LHtjTjoic3RyaW5nIixiOiJgIixlOiJgIixjOltobGpzLkJFXX0saGxqcy5DTk1dfSxobGpzLkNCTENMTSx7Y046ImNvbW1lbnQiLGI6Ii0tIixlOiIkIn1dfX07aGxqcy5MQU5HVUFHRVMuc3Rhbj17ZE06e2M6W2hsanMuSENNLGhsanMuQ0xDTSxobGpzLlFTTSxobGpzLkNOTSx7Y046Im9wZXJhdG9yIixiOiIoPzo8LXx+fFxcfFxcfHwmJnw9PXwhPXw8PT98Pj0/fFxcK3wtfFxcLj8vfFxcXFx8XFxefFxcXnwhfCd8JXw6fCx8O3w9KVxcYiIsZTpobGpzLklNTUVESUFURV9SRSxyOjEwfSx7Y046InBhcmVuIixiOiJbWyh7XFxdKX1dIixlOmhsanMuSU1NRURJQVRFX1JFLHI6MH0se2NOOiJmdW5jdGlvbiIsYjoiKD86UGhpfFBoaV9hcHByb3h8YWJzfGFjb3N8YWNvc2h8YXBwZW5kX2NvbHxhcHBlbmRfcm93fGFzaW58YXNpbmh8YXRhbnxhdGFuMnxhdGFuaHxiZXJub3VsbGlfY2NkZl9sb2d8YmVybm91bGxpX2NkZnxiZXJub3VsbGlfY2RmX2xvZ3xiZXJub3VsbGlfbG9nfGJlcm5vdWxsaV9sb2dpdF9sb2d8YmVybm91bGxpX3JuZ3xiZXNzZWxfZmlyc3Rfa2luZHxiZXNzZWxfc2Vjb25kX2tpbmR8YmV0YV9iaW5vbWlhbF9jY2RmX2xvZ3xiZXRhX2Jpbm9taWFsX2NkZnxiZXRhX2Jpbm9taWFsX2NkZl9sb2d8YmV0YV9iaW5vbWlhbF9sb2d8YmV0YV9iaW5vbWlhbF9ybmd8YmV0YV9jY2RmX2xvZ3xiZXRhX2NkZnxiZXRhX2NkZl9sb2d8YmV0YV9sb2d8YmV0YV9ybmd8YmluYXJ5X2xvZ19sb3NzfGJpbm9taWFsX2NjZGZfbG9nfGJpbm9taWFsX2NkZnxiaW5vbWlhbF9jZGZfbG9nfGJpbm9taWFsX2NvZWZmaWNpZW50X2xvZ3xiaW5vbWlhbF9sb2d8Ymlub21pYWxfbG9naXRfbG9nfGJpbm9taWFsX3JuZ3xibG9ja3xjYXRlZ29yaWNhbF9sb2d8Y2F0ZWdvcmljYWxfbG9naXRfbG9nfGNhdGVnb3JpY2FsX3JuZ3xjYXVjaHlfY2NkZl9sb2d8Y2F1Y2h5X2NkZnxjYXVjaHlfY2RmX2xvZ3xjYXVjaHlfbG9nfGNhdWNoeV9ybmd8Y2JydHxjZWlsfGNoaV9zcXVhcmVfY2NkZl9sb2d8Y2hpX3NxdWFyZV9jZGZ8Y2hpX3NxdWFyZV9jZGZfbG9nfGNoaV9zcXVhcmVfbG9nfGNoaV9zcXVhcmVfcm5nfGNob2xlc2t5X2RlY29tcG9zZXxjb2x8Y29sc3xjb2x1bW5zX2RvdF9wcm9kdWN0fGNvbHVtbnNfZG90X3NlbGZ8Y29zfGNvc2h8Y3Jvc3Nwcm9kfGNzcl9leHRyYWN0X3V8Y3NyX2V4dHJhY3Rfdnxjc3JfZXh0cmFjdF93fGNzcl9tYXRyaXhfdGltZXNfdmVjdG9yfGNzcl90b19kZW5zZV9tYXRyaXh8Y3VtdWxhdGl2ZV9zdW18ZGV0ZXJtaW5hbnR8ZGlhZ19tYXRyaXh8ZGlhZ19wb3N0X211bHRpcGx5fGRpYWdfcHJlX211bHRpcGx5fGRpYWdvbmFsfGRpZ2FtbWF8ZGltc3xkaXJpY2hsZXRfbG9nfGRpcmljaGxldF9ybmd8ZGlzdGFuY2V8ZG90X3Byb2R1Y3R8ZG90X3NlbGZ8ZG91YmxlX2V4cG9uZW50aWFsX2NjZGZfbG9nfGRvdWJsZV9leHBvbmVudGlhbF9jZGZ8ZG91YmxlX2V4cG9uZW50aWFsX2NkZl9sb2d8ZG91YmxlX2V4cG9uZW50aWFsX2xvZ3xkb3VibGVfZXhwb25lbnRpYWxfcm5nfGV8ZWlnZW52YWx1ZXNfc3ltfGVpZ2VudmVjdG9yc19zeW18ZXJmfGVyZmN8ZXhwfGV4cDJ8ZXhwX21vZF9ub3JtYWxfY2NkZl9sb2d8ZXhwX21vZF9ub3JtYWxfY2RmfGV4cF9tb2Rfbm9ybWFsX2NkZl9sb2d8ZXhwX21vZF9ub3JtYWxfbG9nfGV4cF9tb2Rfbm9ybWFsX3JuZ3xleHBtMXxleHBvbmVudGlhbF9jY2RmX2xvZ3xleHBvbmVudGlhbF9jZGZ8ZXhwb25lbnRpYWxfY2RmX2xvZ3xleHBvbmVudGlhbF9sb2d8ZXhwb25lbnRpYWxfcm5nfGZhYnN8ZmFsbGluZ19mYWN0b3JpYWx8ZmRpbXxmbG9vcnxmbWF8Zm1heHxmbWlufGZtb2R8ZnJlY2hldF9jY2RmX2xvZ3xmcmVjaGV0X2NkZnxmcmVjaGV0X2NkZl9sb2d8ZnJlY2hldF9sb2d8ZnJlY2hldF9ybmd8Z2FtbWFfY2NkZl9sb2d8Z2FtbWFfY2RmfGdhbW1hX2NkZl9sb2d8Z2FtbWFfbG9nfGdhbW1hX3B8Z2FtbWFfcXxnYW1tYV9ybmd8Z2F1c3NpYW5fZGxtX29ic19sb2d8Z2V0X2xwfGd1bWJlbF9jY2RmX2xvZ3xndW1iZWxfY2RmfGd1bWJlbF9jZGZfbG9nfGd1bWJlbF9sb2d8Z3VtYmVsX3JuZ3xoZWFkfGh5cGVyZ2VvbWV0cmljX2xvZ3xoeXBlcmdlb21ldHJpY19ybmd8aHlwb3R8aWZfZWxzZXxpbnRfc3RlcHxpbnZ8aW52X2NoaV9zcXVhcmVfY2NkZl9sb2d8aW52X2NoaV9zcXVhcmVfY2RmfGludl9jaGlfc3F1YXJlX2NkZl9sb2d8aW52X2NoaV9zcXVhcmVfbG9nfGludl9jaGlfc3F1YXJlX3JuZ3xpbnZfY2xvZ2xvZ3xpbnZfZ2FtbWFfY2NkZl9sb2d8aW52X2dhbW1hX2NkZnxpbnZfZ2FtbWFfY2RmX2xvZ3xpbnZfZ2FtbWFfbG9nfGludl9nYW1tYV9ybmd8aW52X2xvZ2l0fGludl9waGl8aW52X3NxcnR8aW52X3NxdWFyZXxpbnZfd2lzaGFydF9sb2d8aW52X3dpc2hhcnRfcm5nfGludmVyc2V8aW52ZXJzZV9zcGR8aXNfaW5mfGlzX25hbnxsYmV0YXxsZ2FtbWF8bGtqX2NvcnJfY2hvbGVza3lfbG9nfGxral9jb3JyX2Nob2xlc2t5X3JuZ3xsa2pfY29ycl9sb2d8bGtqX2NvcnJfcm5nfGxtZ2FtbWF8bG9nfGxvZzEwfGxvZzFtfGxvZzFtX2V4cHxsb2cxbV9pbnZfbG9naXR8bG9nMXB8bG9nMXBfZXhwfGxvZzJ8bG9nX2RldGVybWluYW50fGxvZ19kaWZmX2V4cHxsb2dfZmFsbGluZ19mYWN0b3JpYWx8bG9nX2ludl9sb2dpdHxsb2dfbWl4fGxvZ19yaXNpbmdfZmFjdG9yaWFsfGxvZ19zb2Z0bWF4fGxvZ19zdW1fZXhwfGxvZ2lzdGljX2NjZGZfbG9nfGxvZ2lzdGljX2NkZnxsb2dpc3RpY19jZGZfbG9nfGxvZ2lzdGljX2xvZ3xsb2dpc3RpY19ybmd8bG9naXR8bG9nbm9ybWFsX2NjZGZfbG9nfGxvZ25vcm1hbF9jZGZ8bG9nbm9ybWFsX2NkZl9sb2d8bG9nbm9ybWFsX2xvZ3xsb2dub3JtYWxfcm5nfG1hY2hpbmVfcHJlY2lzaW9ufG1heHxtZGl2aWRlX2xlZnRfdHJpX2xvd3xtZGl2aWRlX3JpZ2h0X3RyaV9sb3d8bWVhbnxtaW58bW9kaWZpZWRfYmVzc2VsX2ZpcnN0X2tpbmR8bW9kaWZpZWRfYmVzc2VsX3NlY29uZF9raW5kfG11bHRpX2dwX2Nob2xlc2t5X2xvZ3xtdWx0aV9ncF9sb2d8bXVsdGlfbm9ybWFsX2Nob2xlc2t5X2xvZ3xtdWx0aV9ub3JtYWxfY2hvbGVza3lfcm5nfG11bHRpX25vcm1hbF9sb2d8bXVsdGlfbm9ybWFsX3ByZWNfbG9nfG11bHRpX25vcm1hbF9ybmd8bXVsdGlfc3R1ZGVudF90X2xvZ3xtdWx0aV9zdHVkZW50X3Rfcm5nfG11bHRpbm9taWFsX2xvZ3xtdWx0aW5vbWlhbF9ybmd8bXVsdGlwbHlfbG9nfG11bHRpcGx5X2xvd2VyX3RyaV9zZWxmX3RyYW5zcG9zZXxuZWdfYmlub21pYWxfMl9jY2RmX2xvZ3xuZWdfYmlub21pYWxfMl9jZGZ8bmVnX2Jpbm9taWFsXzJfY2RmX2xvZ3xuZWdfYmlub21pYWxfMl9sb2d8bmVnX2Jpbm9taWFsXzJfbG9nX2xvZ3xuZWdfYmlub21pYWxfMl9sb2dfcm5nfG5lZ19iaW5vbWlhbF8yX3JuZ3xuZWdfYmlub21pYWxfY2NkZl9sb2d8bmVnX2Jpbm9taWFsX2NkZnxuZWdfYmlub21pYWxfY2RmX2xvZ3xuZWdfYmlub21pYWxfbG9nfG5lZ19iaW5vbWlhbF9ybmd8bmVnYXRpdmVfaW5maW5pdHl8bm9ybWFsX2NjZGZfbG9nfG5vcm1hbF9jZGZ8bm9ybWFsX2NkZl9sb2d8bm9ybWFsX2xvZ3xub3JtYWxfcm5nfG5vdF9hX251bWJlcnxudW1fZWxlbWVudHN8b3JkZXJlZF9sb2dpc3RpY19sb2d8b3JkZXJlZF9sb2dpc3RpY19ybmd8b3dlbnNfdHxwYXJldG9fY2NkZl9sb2d8cGFyZXRvX2NkZnxwYXJldG9fY2RmX2xvZ3xwYXJldG9fbG9nfHBhcmV0b19ybmd8cGFyZXRvX3R5cGVfMl9jY2RmX2xvZ3xwYXJldG9fdHlwZV8yX2NkZnxwYXJldG9fdHlwZV8yX2NkZl9sb2d8cGFyZXRvX3R5cGVfMl9sb2d8cGFyZXRvX3R5cGVfMl9ybmd8cGl8cG9pc3Nvbl9jY2RmX2xvZ3xwb2lzc29uX2NkZnxwb2lzc29uX2NkZl9sb2d8cG9pc3Nvbl9sb2d8cG9pc3Nvbl9sb2dfbG9nfHBvaXNzb25fbG9nX3JuZ3xwb2lzc29uX3JuZ3xwb3NpdGl2ZV9pbmZpbml0eXxwb3d8cHJvZHxxcl9RfHFyX1J8cXVhZF9mb3JtfHF1YWRfZm9ybV9kaWFnfHF1YWRfZm9ybV9zeW18cmFua3xyYXlsZWlnaF9jY2RmX2xvZ3xyYXlsZWlnaF9jZGZ8cmF5bGVpZ2hfY2RmX2xvZ3xyYXlsZWlnaF9sb2d8cmF5bGVpZ2hfcm5nfHJlcF9hcnJheXxyZXBfbWF0cml4fHJlcF9yb3dfdmVjdG9yfHJlcF92ZWN0b3J8cmlzaW5nX2ZhY3RvcmlhbHxyb3VuZHxyb3d8cm93c3xyb3dzX2RvdF9wcm9kdWN0fHJvd3NfZG90X3NlbGZ8c2NhbGVkX2ludl9jaGlfc3F1YXJlX2NjZGZfbG9nfHNjYWxlZF9pbnZfY2hpX3NxdWFyZV9jZGZ8c2NhbGVkX2ludl9jaGlfc3F1YXJlX2NkZl9sb2d8c2NhbGVkX2ludl9jaGlfc3F1YXJlX2xvZ3xzY2FsZWRfaW52X2NoaV9zcXVhcmVfcm5nfHNkfHNlZ21lbnR8c2lufHNpbmd1bGFyX3ZhbHVlc3xzaW5ofHNpemV8c2tld19ub3JtYWxfY2NkZl9sb2d8c2tld19ub3JtYWxfY2RmfHNrZXdfbm9ybWFsX2NkZl9sb2d8c2tld19ub3JtYWxfbG9nfHNrZXdfbm9ybWFsX3JuZ3xzb2Z0bWF4fHNvcnRfYXNjfHNvcnRfZGVzY3xzb3J0X2luZGljZXNfYXNjfHNvcnRfaW5kaWNlc19kZXNjfHNxcnR8c3FydDJ8c3F1YXJlfHNxdWFyZWRfZGlzdGFuY2V8c3RlcHxzdHVkZW50X3RfY2NkZl9sb2d8c3R1ZGVudF90X2NkZnxzdHVkZW50X3RfY2RmX2xvZ3xzdHVkZW50X3RfbG9nfHN0dWRlbnRfdF9ybmd8c3ViX2NvbHxzdWJfcm93fHN1bXx0YWlsfHRhbnx0YW5ofHRjcm9zc3Byb2R8dGdhbW1hfHRvX2FycmF5XzFkfHRvX2FycmF5XzJkfHRvX21hdHJpeHx0b19yb3dfdmVjdG9yfHRvX3ZlY3Rvcnx0cmFjZXx0cmFjZV9nZW5fcXVhZF9mb3JtfHRyYWNlX3F1YWRfZm9ybXx0cmlnYW1tYXx0cnVuY3x1bmlmb3JtX2NjZGZfbG9nfHVuaWZvcm1fY2RmfHVuaWZvcm1fY2RmX2xvZ3x1bmlmb3JtX2xvZ3x1bmlmb3JtX3JuZ3x2YXJpYW5jZXx2b25fbWlzZXNfbG9nfHZvbl9taXNlc19ybmd8d2VpYnVsbF9jY2RmX2xvZ3x3ZWlidWxsX2NkZnx3ZWlidWxsX2NkZl9sb2d8d2VpYnVsbF9sb2d8d2VpYnVsbF9ybmd8d2llbmVyX2xvZ3x3aXNoYXJ0X2xvZ3x3aXNoYXJ0X3JuZylcXGIiLGU6aGxqcy5JTU1FRElBVEVfUkUscjoxMH0se2NOOiJmdW5jdGlvbiIsYjoiKD86YmVybm91bGxpfGJlcm5vdWxsaV9sb2dpdHxiZXRhfGJldGFfYmlub21pYWx8Ymlub21pYWx8Ymlub21pYWxfbG9naXR8Y2F0ZWdvcmljYWx8Y2F0ZWdvcmljYWxfbG9naXR8Y2F1Y2h5fGNoaV9zcXVhcmV8ZGlyaWNobGV0fGRvdWJsZV9leHBvbmVudGlhbHxleHBfbW9kX25vcm1hbHxleHBvbmVudGlhbHxmcmVjaGV0fGdhbW1hfGdhdXNzaWFuX2RsbV9vYnN8Z3VtYmVsfGh5cGVyZ2VvbWV0cmljfGludl9jaGlfc3F1YXJlfGludl9nYW1tYXxpbnZfd2lzaGFydHxsa2pfY29ycnxsa2pfY29ycl9jaG9sZXNreXxsb2dpc3RpY3xsb2dub3JtYWx8bXVsdGlfZ3B8bXVsdGlfZ3BfY2hvbGVza3l8bXVsdGlfbm9ybWFsfG11bHRpX25vcm1hbF9jaG9sZXNreXxtdWx0aV9ub3JtYWxfcHJlY3xtdWx0aV9zdHVkZW50X3R8bXVsdGlub21pYWx8bmVnX2Jpbm9taWFsfG5lZ19iaW5vbWlhbF8yfG5lZ19iaW5vbWlhbF8yX2xvZ3xub3JtYWx8b3JkZXJlZF9sb2dpc3RpY3xwYXJldG98cGFyZXRvX3R5cGVfMnxwb2lzc29ufHBvaXNzb25fbG9nfHJheWxlaWdofHNjYWxlZF9pbnZfY2hpX3NxdWFyZXxza2V3X25vcm1hbHxzdHVkZW50X3R8dW5pZm9ybXx2b25fbWlzZXN8d2VpYnVsbHx3aWVuZXJ8d2lzaGFydClcXGIiLGU6aGxqcy5JTU1FRElBVEVfUkUscjoxMH0se2NOOiJrZXl3b3JkIixiOiIoPzpmb3J8aW58d2hpbGV8aWZ8dGhlbnxlbHNlfHJldHVybnxsb3dlcnx1cHBlcnxwcmludHxpbmNyZW1lbnRfbG9nX3Byb2J8aW50ZWdyYXRlX29kZXxyZWplY3QpXFxiIixlOmhsanMuSU1NRURJQVRFX1JFLHI6MTB9LHtjTjoia2V5d29yZCIsYjoiKD86aW50fHJlYWx8dmVjdG9yfHNpbXBsZXh8dW5pdF92ZWN0b3J8b3JkZXJlZHxwb3NpdGl2ZV9vcmRlcmVkfHJvd192ZWN0b3J8bWF0cml4fGNob2xlc2t5X2ZhY3Rvcl9jb3Z8Y2hvbGVza3lfZmFjdG9yX2NvcnJ8Y29ycl9tYXRyaXh8Y292X21hdHJpeHx2b2lkKVxcYiIsZTpobGpzLklNTUVESUFURV9SRSxyOjV9LHtjTjoia2V5d29yZCIsYjoiKD86ZnVuY3Rpb25zfGRhdGF8dHJhbnNmb3JtZWRcXHMrZGF0YXxwYXJhbWV0ZXJzfHRyYW5zZm9ybWVkXFxzK3BhcmFtZXRlcnN8bW9kZWx8Z2VuZXJhdGVkXFxzK3F1YW50aXRpZXMpXFxiIixlOmhsanMuSU1NRURJQVRFX1JFLHI6NX1dfX07aGxqcy5MQU5HVUFHRVMueG1sPWZ1bmN0aW9uKCl7dmFyIGI9IltBLVphLXowLTlcXC5fOi1dKyI7dmFyIGE9e2VXOnRydWUsYzpbe2NOOiJhdHRyaWJ1dGUiLGI6YixyOjB9LHtiOic9IicsckI6dHJ1ZSxlOiciJyxjOlt7Y046InZhbHVlIixiOiciJyxlVzp0cnVlfV19LHtiOiI9JyIsckI6dHJ1ZSxlOiInIixjOlt7Y046InZhbHVlIixiOiInIixlVzp0cnVlfV19LHtiOiI9IixjOlt7Y046InZhbHVlIixiOiJbXlxccy8+XSsifV19XX07cmV0dXJue2NJOnRydWUsZE06e2M6W3tjTjoicGkiLGI6IjxcXD8iLGU6IlxcPz4iLHI6MTB9LHtjTjoiZG9jdHlwZSIsYjoiPCFET0NUWVBFIixlOiI+IixyOjEwLGM6W3tiOiJcXFsiLGU6IlxcXSJ9XX0se2NOOiJjb21tZW50IixiOiI8IS0tIixlOiItLT4iLHI6MTB9LHtjTjoiY2RhdGEiLGI6IjxcXCFcXFtDREFUQVxcWyIsZToiXFxdXFxdPiIscjoxMH0se2NOOiJ0YWciLGI6IjxzdHlsZSg/PVxcc3w+fCQpIixlOiI+IixrOnt0aXRsZTp7c3R5bGU6MX19LGM6W2FdLHN0YXJ0czp7Y046ImNzcyIsZToiPC9zdHlsZT4iLHJFOnRydWUsc0w6ImNzcyJ9fSx7Y046InRhZyIsYjoiPHNjcmlwdCg/PVxcc3w+fCQpIixlOiI+IixrOnt0aXRsZTp7c2NyaXB0OjF9fSxjOlthXSxzdGFydHM6e2NOOiJqYXZhc2NyaXB0IixlOiI8XC9zY3JpcHQ+IixyRTp0cnVlLHNMOiJqYXZhc2NyaXB0In19LHtjTjoidmJzY3JpcHQiLGI6IjwlIixlOiIlPiIsc0w6InZic2NyaXB0In0se2NOOiJ0YWciLGI6IjwvPyIsZToiLz8+IixjOlt7Y046InRpdGxlIixiOiJbXiAvPl0rIn0sYV19XX19fSgpOwpobGpzLmluaXRIaWdobGlnaHRpbmdPbkxvYWQoKTsKCg=="></script> +<link href="data:text/css;charset=utf-8,%2Ehljs%2Dliteral%20%7B%0Acolor%3A%20%23990073%3B%0A%7D%0A%2Ehljs%2Dnumber%20%7B%0Acolor%3A%20%23099%3B%0A%7D%0A%2Ehljs%2Dcomment%20%7B%0Acolor%3A%20%23998%3B%0Afont%2Dstyle%3A%20italic%3B%0A%7D%0A%2Ehljs%2Dkeyword%20%7B%0Acolor%3A%20%23900%3B%0Afont%2Dweight%3A%20bold%3B%0A%7D%0A%2Ehljs%2Dstring%20%7B%0Acolor%3A%20%23d14%3B%0A%7D%0A" rel="stylesheet" /> +<script src="data:application/x-javascript;base64,LyohIGhpZ2hsaWdodC5qcyB2OS4xMi4wIHwgQlNEMyBMaWNlbnNlIHwgZ2l0LmlvL2hsanNsaWNlbnNlICovCiFmdW5jdGlvbihlKXt2YXIgbj0ib2JqZWN0Ij09dHlwZW9mIHdpbmRvdyYmd2luZG93fHwib2JqZWN0Ij09dHlwZW9mIHNlbGYmJnNlbGY7InVuZGVmaW5lZCIhPXR5cGVvZiBleHBvcnRzP2UoZXhwb3J0cyk6biYmKG4uaGxqcz1lKHt9KSwiZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kJiZkZWZpbmUoW10sZnVuY3Rpb24oKXtyZXR1cm4gbi5obGpzfSkpfShmdW5jdGlvbihlKXtmdW5jdGlvbiBuKGUpe3JldHVybiBlLnJlcGxhY2UoLyYvZywiJmFtcDsiKS5yZXBsYWNlKC88L2csIiZsdDsiKS5yZXBsYWNlKC8+L2csIiZndDsiKX1mdW5jdGlvbiB0KGUpe3JldHVybiBlLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCl9ZnVuY3Rpb24gcihlLG4pe3ZhciB0PWUmJmUuZXhlYyhuKTtyZXR1cm4gdCYmMD09PXQuaW5kZXh9ZnVuY3Rpb24gYShlKXtyZXR1cm4gay50ZXN0KGUpfWZ1bmN0aW9uIGkoZSl7dmFyIG4sdCxyLGksbz1lLmNsYXNzTmFtZSsiICI7aWYobys9ZS5wYXJlbnROb2RlP2UucGFyZW50Tm9kZS5jbGFzc05hbWU6IiIsdD1CLmV4ZWMobykpcmV0dXJuIHcodFsxXSk/dFsxXToibm8taGlnaGxpZ2h0Ijtmb3Iobz1vLnNwbGl0KC9ccysvKSxuPTAscj1vLmxlbmd0aDtyPm47bisrKWlmKGk9b1tuXSxhKGkpfHx3KGkpKXJldHVybiBpfWZ1bmN0aW9uIG8oZSl7dmFyIG4sdD17fSxyPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKTtmb3IobiBpbiBlKXRbbl09ZVtuXTtyZXR1cm4gci5mb3JFYWNoKGZ1bmN0aW9uKGUpe2ZvcihuIGluIGUpdFtuXT1lW25dfSksdH1mdW5jdGlvbiB1KGUpe3ZhciBuPVtdO3JldHVybiBmdW5jdGlvbiByKGUsYSl7Zm9yKHZhciBpPWUuZmlyc3RDaGlsZDtpO2k9aS5uZXh0U2libGluZykzPT09aS5ub2RlVHlwZT9hKz1pLm5vZGVWYWx1ZS5sZW5ndGg6MT09PWkubm9kZVR5cGUmJihuLnB1c2goe2V2ZW50OiJzdGFydCIsb2Zmc2V0OmEsbm9kZTppfSksYT1yKGksYSksdChpKS5tYXRjaCgvYnJ8aHJ8aW1nfGlucHV0Lyl8fG4ucHVzaCh7ZXZlbnQ6InN0b3AiLG9mZnNldDphLG5vZGU6aX0pKTtyZXR1cm4gYX0oZSwwKSxufWZ1bmN0aW9uIGMoZSxyLGEpe2Z1bmN0aW9uIGkoKXtyZXR1cm4gZS5sZW5ndGgmJnIubGVuZ3RoP2VbMF0ub2Zmc2V0IT09clswXS5vZmZzZXQ/ZVswXS5vZmZzZXQ8clswXS5vZmZzZXQ/ZTpyOiJzdGFydCI9PT1yWzBdLmV2ZW50P2U6cjplLmxlbmd0aD9lOnJ9ZnVuY3Rpb24gbyhlKXtmdW5jdGlvbiByKGUpe3JldHVybiIgIitlLm5vZGVOYW1lKyc9IicrbihlLnZhbHVlKS5yZXBsYWNlKCciJywiJnF1b3Q7IikrJyInfXMrPSI8Iit0KGUpK0UubWFwLmNhbGwoZS5hdHRyaWJ1dGVzLHIpLmpvaW4oIiIpKyI+In1mdW5jdGlvbiB1KGUpe3MrPSI8LyIrdChlKSsiPiJ9ZnVuY3Rpb24gYyhlKXsoInN0YXJ0Ij09PWUuZXZlbnQ/bzp1KShlLm5vZGUpfWZvcih2YXIgbD0wLHM9IiIsZj1bXTtlLmxlbmd0aHx8ci5sZW5ndGg7KXt2YXIgZz1pKCk7aWYocys9bihhLnN1YnN0cmluZyhsLGdbMF0ub2Zmc2V0KSksbD1nWzBdLm9mZnNldCxnPT09ZSl7Zi5yZXZlcnNlKCkuZm9yRWFjaCh1KTtkbyBjKGcuc3BsaWNlKDAsMSlbMF0pLGc9aSgpO3doaWxlKGc9PT1lJiZnLmxlbmd0aCYmZ1swXS5vZmZzZXQ9PT1sKTtmLnJldmVyc2UoKS5mb3JFYWNoKG8pfWVsc2Uic3RhcnQiPT09Z1swXS5ldmVudD9mLnB1c2goZ1swXS5ub2RlKTpmLnBvcCgpLGMoZy5zcGxpY2UoMCwxKVswXSl9cmV0dXJuIHMrbihhLnN1YnN0cihsKSl9ZnVuY3Rpb24gbChlKXtyZXR1cm4gZS52JiYhZS5jYWNoZWRfdmFyaWFudHMmJihlLmNhY2hlZF92YXJpYW50cz1lLnYubWFwKGZ1bmN0aW9uKG4pe3JldHVybiBvKGUse3Y6bnVsbH0sbil9KSksZS5jYWNoZWRfdmFyaWFudHN8fGUuZVcmJltvKGUpXXx8W2VdfWZ1bmN0aW9uIHMoZSl7ZnVuY3Rpb24gbihlKXtyZXR1cm4gZSYmZS5zb3VyY2V8fGV9ZnVuY3Rpb24gdCh0LHIpe3JldHVybiBuZXcgUmVnRXhwKG4odCksIm0iKyhlLmNJPyJpIjoiIikrKHI/ImciOiIiKSl9ZnVuY3Rpb24gcihhLGkpe2lmKCFhLmNvbXBpbGVkKXtpZihhLmNvbXBpbGVkPSEwLGEuaz1hLmt8fGEuYkssYS5rKXt2YXIgbz17fSx1PWZ1bmN0aW9uKG4sdCl7ZS5jSSYmKHQ9dC50b0xvd2VyQ2FzZSgpKSx0LnNwbGl0KCIgIikuZm9yRWFjaChmdW5jdGlvbihlKXt2YXIgdD1lLnNwbGl0KCJ8Iik7b1t0WzBdXT1bbix0WzFdP051bWJlcih0WzFdKToxXX0pfTsic3RyaW5nIj09dHlwZW9mIGEuaz91KCJrZXl3b3JkIixhLmspOngoYS5rKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3UoZSxhLmtbZV0pfSksYS5rPW99YS5sUj10KGEubHx8L1x3Ky8sITApLGkmJihhLmJLJiYoYS5iPSJcXGIoIithLmJLLnNwbGl0KCIgIikuam9pbigifCIpKyIpXFxiIiksYS5ifHwoYS5iPS9cQnxcYi8pLGEuYlI9dChhLmIpLGEuZXx8YS5lV3x8KGEuZT0vXEJ8XGIvKSxhLmUmJihhLmVSPXQoYS5lKSksYS50RT1uKGEuZSl8fCIiLGEuZVcmJmkudEUmJihhLnRFKz0oYS5lPyJ8IjoiIikraS50RSkpLGEuaSYmKGEuaVI9dChhLmkpKSxudWxsPT1hLnImJihhLnI9MSksYS5jfHwoYS5jPVtdKSxhLmM9QXJyYXkucHJvdG90eXBlLmNvbmNhdC5hcHBseShbXSxhLmMubWFwKGZ1bmN0aW9uKGUpe3JldHVybiBsKCJzZWxmIj09PWU/YTplKX0pKSxhLmMuZm9yRWFjaChmdW5jdGlvbihlKXtyKGUsYSl9KSxhLnN0YXJ0cyYmcihhLnN0YXJ0cyxpKTt2YXIgYz1hLmMubWFwKGZ1bmN0aW9uKGUpe3JldHVybiBlLmJLPyJcXC4/KCIrZS5iKyIpXFwuPyI6ZS5ifSkuY29uY2F0KFthLnRFLGEuaV0pLm1hcChuKS5maWx0ZXIoQm9vbGVhbik7YS50PWMubGVuZ3RoP3QoYy5qb2luKCJ8IiksITApOntleGVjOmZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9fX19cihlKX1mdW5jdGlvbiBmKGUsdCxhLGkpe2Z1bmN0aW9uIG8oZSxuKXt2YXIgdCxhO2Zvcih0PTAsYT1uLmMubGVuZ3RoO2E+dDt0KyspaWYocihuLmNbdF0uYlIsZSkpcmV0dXJuIG4uY1t0XX1mdW5jdGlvbiB1KGUsbil7aWYocihlLmVSLG4pKXtmb3IoO2UuZW5kc1BhcmVudCYmZS5wYXJlbnQ7KWU9ZS5wYXJlbnQ7cmV0dXJuIGV9cmV0dXJuIGUuZVc/dShlLnBhcmVudCxuKTp2b2lkIDB9ZnVuY3Rpb24gYyhlLG4pe3JldHVybiFhJiZyKG4uaVIsZSl9ZnVuY3Rpb24gbChlLG4pe3ZhciB0PU4uY0k/blswXS50b0xvd2VyQ2FzZSgpOm5bMF07cmV0dXJuIGUuay5oYXNPd25Qcm9wZXJ0eSh0KSYmZS5rW3RdfWZ1bmN0aW9uIHAoZSxuLHQscil7dmFyIGE9cj8iIjpJLmNsYXNzUHJlZml4LGk9JzxzcGFuIGNsYXNzPSInK2Esbz10PyIiOkM7cmV0dXJuIGkrPWUrJyI+JyxpK24rb31mdW5jdGlvbiBoKCl7dmFyIGUsdCxyLGE7aWYoIUUuaylyZXR1cm4gbihrKTtmb3IoYT0iIix0PTAsRS5sUi5sYXN0SW5kZXg9MCxyPUUubFIuZXhlYyhrKTtyOylhKz1uKGsuc3Vic3RyaW5nKHQsci5pbmRleCkpLGU9bChFLHIpLGU/KEIrPWVbMV0sYSs9cChlWzBdLG4oclswXSkpKTphKz1uKHJbMF0pLHQ9RS5sUi5sYXN0SW5kZXgscj1FLmxSLmV4ZWMoayk7cmV0dXJuIGErbihrLnN1YnN0cih0KSl9ZnVuY3Rpb24gZCgpe3ZhciBlPSJzdHJpbmciPT10eXBlb2YgRS5zTDtpZihlJiYheVtFLnNMXSlyZXR1cm4gbihrKTt2YXIgdD1lP2YoRS5zTCxrLCEwLHhbRS5zTF0pOmcoayxFLnNMLmxlbmd0aD9FLnNMOnZvaWQgMCk7cmV0dXJuIEUucj4wJiYoQis9dC5yKSxlJiYoeFtFLnNMXT10LnRvcCkscCh0Lmxhbmd1YWdlLHQudmFsdWUsITEsITApfWZ1bmN0aW9uIGIoKXtMKz1udWxsIT1FLnNMP2QoKTpoKCksaz0iIn1mdW5jdGlvbiB2KGUpe0wrPWUuY04/cChlLmNOLCIiLCEwKToiIixFPU9iamVjdC5jcmVhdGUoZSx7cGFyZW50Ont2YWx1ZTpFfX0pfWZ1bmN0aW9uIG0oZSxuKXtpZihrKz1lLG51bGw9PW4pcmV0dXJuIGIoKSwwO3ZhciB0PW8obixFKTtpZih0KXJldHVybiB0LnNraXA/ays9bjoodC5lQiYmKGsrPW4pLGIoKSx0LnJCfHx0LmVCfHwoaz1uKSksdih0LG4pLHQuckI/MDpuLmxlbmd0aDt2YXIgcj11KEUsbik7aWYocil7dmFyIGE9RTthLnNraXA/ays9bjooYS5yRXx8YS5lRXx8KGsrPW4pLGIoKSxhLmVFJiYoaz1uKSk7ZG8gRS5jTiYmKEwrPUMpLEUuc2tpcHx8KEIrPUUuciksRT1FLnBhcmVudDt3aGlsZShFIT09ci5wYXJlbnQpO3JldHVybiByLnN0YXJ0cyYmdihyLnN0YXJ0cywiIiksYS5yRT8wOm4ubGVuZ3RofWlmKGMobixFKSl0aHJvdyBuZXcgRXJyb3IoJ0lsbGVnYWwgbGV4ZW1lICInK24rJyIgZm9yIG1vZGUgIicrKEUuY058fCI8dW5uYW1lZD4iKSsnIicpO3JldHVybiBrKz1uLG4ubGVuZ3RofHwxfXZhciBOPXcoZSk7aWYoIU4pdGhyb3cgbmV3IEVycm9yKCdVbmtub3duIGxhbmd1YWdlOiAiJytlKyciJyk7cyhOKTt2YXIgUixFPWl8fE4seD17fSxMPSIiO2ZvcihSPUU7UiE9PU47Uj1SLnBhcmVudClSLmNOJiYoTD1wKFIuY04sIiIsITApK0wpO3ZhciBrPSIiLEI9MDt0cnl7Zm9yKHZhciBNLGosTz0wOzspe2lmKEUudC5sYXN0SW5kZXg9TyxNPUUudC5leGVjKHQpLCFNKWJyZWFrO2o9bSh0LnN1YnN0cmluZyhPLE0uaW5kZXgpLE1bMF0pLE89TS5pbmRleCtqfWZvcihtKHQuc3Vic3RyKE8pKSxSPUU7Ui5wYXJlbnQ7Uj1SLnBhcmVudClSLmNOJiYoTCs9Qyk7cmV0dXJue3I6Qix2YWx1ZTpMLGxhbmd1YWdlOmUsdG9wOkV9fWNhdGNoKFQpe2lmKFQubWVzc2FnZSYmLTEhPT1ULm1lc3NhZ2UuaW5kZXhPZigiSWxsZWdhbCIpKXJldHVybntyOjAsdmFsdWU6bih0KX07dGhyb3cgVH19ZnVuY3Rpb24gZyhlLHQpe3Q9dHx8SS5sYW5ndWFnZXN8fHgoeSk7dmFyIHI9e3I6MCx2YWx1ZTpuKGUpfSxhPXI7cmV0dXJuIHQuZmlsdGVyKHcpLmZvckVhY2goZnVuY3Rpb24obil7dmFyIHQ9ZihuLGUsITEpO3QubGFuZ3VhZ2U9bix0LnI+YS5yJiYoYT10KSx0LnI+ci5yJiYoYT1yLHI9dCl9KSxhLmxhbmd1YWdlJiYoci5zZWNvbmRfYmVzdD1hKSxyfWZ1bmN0aW9uIHAoZSl7cmV0dXJuIEkudGFiUmVwbGFjZXx8SS51c2VCUj9lLnJlcGxhY2UoTSxmdW5jdGlvbihlLG4pe3JldHVybiBJLnVzZUJSJiYiXG4iPT09ZT8iPGJyPiI6SS50YWJSZXBsYWNlP24ucmVwbGFjZSgvXHQvZyxJLnRhYlJlcGxhY2UpOiIifSk6ZX1mdW5jdGlvbiBoKGUsbix0KXt2YXIgcj1uP0xbbl06dCxhPVtlLnRyaW0oKV07cmV0dXJuIGUubWF0Y2goL1xiaGxqc1xiLyl8fGEucHVzaCgiaGxqcyIpLC0xPT09ZS5pbmRleE9mKHIpJiZhLnB1c2gociksYS5qb2luKCIgIikudHJpbSgpfWZ1bmN0aW9uIGQoZSl7dmFyIG4sdCxyLG8sbCxzPWkoZSk7YShzKXx8KEkudXNlQlI/KG49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiwiZGl2Iiksbi5pbm5lckhUTUw9ZS5pbm5lckhUTUwucmVwbGFjZSgvXG4vZywiIikucmVwbGFjZSgvPGJyWyBcL10qPi9nLCJcbiIpKTpuPWUsbD1uLnRleHRDb250ZW50LHI9cz9mKHMsbCwhMCk6ZyhsKSx0PXUobiksdC5sZW5ndGgmJihvPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIsImRpdiIpLG8uaW5uZXJIVE1MPXIudmFsdWUsci52YWx1ZT1jKHQsdShvKSxsKSksci52YWx1ZT1wKHIudmFsdWUpLGUuaW5uZXJIVE1MPXIudmFsdWUsZS5jbGFzc05hbWU9aChlLmNsYXNzTmFtZSxzLHIubGFuZ3VhZ2UpLGUucmVzdWx0PXtsYW5ndWFnZTpyLmxhbmd1YWdlLHJlOnIucn0sci5zZWNvbmRfYmVzdCYmKGUuc2Vjb25kX2Jlc3Q9e2xhbmd1YWdlOnIuc2Vjb25kX2Jlc3QubGFuZ3VhZ2UscmU6ci5zZWNvbmRfYmVzdC5yfSkpfWZ1bmN0aW9uIGIoZSl7ST1vKEksZSl9ZnVuY3Rpb24gdigpe2lmKCF2LmNhbGxlZCl7di5jYWxsZWQ9ITA7dmFyIGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgicHJlIGNvZGUiKTtFLmZvckVhY2guY2FsbChlLGQpfX1mdW5jdGlvbiBtKCl7YWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsdiwhMSksYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsdiwhMSl9ZnVuY3Rpb24gTihuLHQpe3ZhciByPXlbbl09dChlKTtyLmFsaWFzZXMmJnIuYWxpYXNlcy5mb3JFYWNoKGZ1bmN0aW9uKGUpe0xbZV09bn0pfWZ1bmN0aW9uIFIoKXtyZXR1cm4geCh5KX1mdW5jdGlvbiB3KGUpe3JldHVybiBlPShlfHwiIikudG9Mb3dlckNhc2UoKSx5W2VdfHx5W0xbZV1dfXZhciBFPVtdLHg9T2JqZWN0LmtleXMseT17fSxMPXt9LGs9L14obm8tP2hpZ2hsaWdodHxwbGFpbnx0ZXh0KSQvaSxCPS9cYmxhbmcoPzp1YWdlKT8tKFtcdy1dKylcYi9pLE09LygoXig8W14+XSs+fFx0fCkrfCg/OlxuKSkpL2dtLEM9Ijwvc3Bhbj4iLEk9e2NsYXNzUHJlZml4OiJobGpzLSIsdGFiUmVwbGFjZTpudWxsLHVzZUJSOiExLGxhbmd1YWdlczp2b2lkIDB9O3JldHVybiBlLmhpZ2hsaWdodD1mLGUuaGlnaGxpZ2h0QXV0bz1nLGUuZml4TWFya3VwPXAsZS5oaWdobGlnaHRCbG9jaz1kLGUuY29uZmlndXJlPWIsZS5pbml0SGlnaGxpZ2h0aW5nPXYsZS5pbml0SGlnaGxpZ2h0aW5nT25Mb2FkPW0sZS5yZWdpc3Rlckxhbmd1YWdlPU4sZS5saXN0TGFuZ3VhZ2VzPVIsZS5nZXRMYW5ndWFnZT13LGUuaW5oZXJpdD1vLGUuSVI9IlthLXpBLVpdXFx3KiIsZS5VSVI9IlthLXpBLVpfXVxcdyoiLGUuTlI9IlxcYlxcZCsoXFwuXFxkKyk/IixlLkNOUj0iKC0/KShcXGIwW3hYXVthLWZBLUYwLTldK3woXFxiXFxkKyhcXC5cXGQqKT98XFwuXFxkKykoW2VFXVstK10/XFxkKyk/KSIsZS5CTlI9IlxcYigwYlswMV0rKSIsZS5SU1I9IiF8IT18IT09fCV8JT18JnwmJnwmPXxcXCp8XFwqPXxcXCt8XFwrPXwsfC18LT18Lz18L3w6fDt8PDx8PDw9fDw9fDx8PT09fD09fD18Pj4+PXw+Pj18Pj18Pj4+fD4+fD58XFw/fFxcW3xcXHt8XFwofFxcXnxcXF49fFxcfHxcXHw9fFxcfFxcfHx+IixlLkJFPXtiOiJcXFxcW1xcc1xcU10iLHI6MH0sZS5BU009e2NOOiJzdHJpbmciLGI6IiciLGU6IiciLGk6IlxcbiIsYzpbZS5CRV19LGUuUVNNPXtjTjoic3RyaW5nIixiOiciJyxlOiciJyxpOiJcXG4iLGM6W2UuQkVdfSxlLlBXTT17YjovXGIoYXxhbnx0aGV8YXJlfEknbXxpc24ndHxkb24ndHxkb2Vzbid0fHdvbid0fGJ1dHxqdXN0fHNob3VsZHxwcmV0dHl8c2ltcGx5fGVub3VnaHxnb25uYXxnb2luZ3x3dGZ8c298c3VjaHx3aWxsfHlvdXx5b3VyfHRoZXl8bGlrZXxtb3JlKVxiL30sZS5DPWZ1bmN0aW9uKG4sdCxyKXt2YXIgYT1lLmluaGVyaXQoe2NOOiJjb21tZW50IixiOm4sZTp0LGM6W119LHJ8fHt9KTtyZXR1cm4gYS5jLnB1c2goZS5QV00pLGEuYy5wdXNoKHtjTjoiZG9jdGFnIixiOiIoPzpUT0RPfEZJWE1FfE5PVEV8QlVHfFhYWCk6IixyOjB9KSxhfSxlLkNMQ009ZS5DKCIvLyIsIiQiKSxlLkNCQ009ZS5DKCIvXFwqIiwiXFwqLyIpLGUuSENNPWUuQygiIyIsIiQiKSxlLk5NPXtjTjoibnVtYmVyIixiOmUuTlIscjowfSxlLkNOTT17Y046Im51bWJlciIsYjplLkNOUixyOjB9LGUuQk5NPXtjTjoibnVtYmVyIixiOmUuQk5SLHI6MH0sZS5DU1NOTT17Y046Im51bWJlciIsYjplLk5SKyIoJXxlbXxleHxjaHxyZW18dnd8dmh8dm1pbnx2bWF4fGNtfG1tfGlufHB0fHBjfHB4fGRlZ3xncmFkfHJhZHx0dXJufHN8bXN8SHp8a0h6fGRwaXxkcGNtfGRwcHgpPyIscjowfSxlLlJNPXtjTjoicmVnZXhwIixiOi9cLy8sZTovXC9bZ2ltdXldKi8saTovXG4vLGM6W2UuQkUse2I6L1xbLyxlOi9cXS8scjowLGM6W2UuQkVdfV19LGUuVE09e2NOOiJ0aXRsZSIsYjplLklSLHI6MH0sZS5VVE09e2NOOiJ0aXRsZSIsYjplLlVJUixyOjB9LGUuTUVUSE9EX0dVQVJEPXtiOiJcXC5cXHMqIitlLlVJUixyOjB9LGV9KTtobGpzLnJlZ2lzdGVyTGFuZ3VhZ2UoInNxbCIsZnVuY3Rpb24oZSl7dmFyIHQ9ZS5DKCItLSIsIiQiKTtyZXR1cm57Y0k6ITAsaTovWzw+e30qI10vLGM6W3tiSzoiYmVnaW4gZW5kIHN0YXJ0IGNvbW1pdCByb2xsYmFjayBzYXZlcG9pbnQgbG9jayBhbHRlciBjcmVhdGUgZHJvcCByZW5hbWUgY2FsbCBkZWxldGUgZG8gaGFuZGxlciBpbnNlcnQgbG9hZCByZXBsYWNlIHNlbGVjdCB0cnVuY2F0ZSB1cGRhdGUgc2V0IHNob3cgcHJhZ21hIGdyYW50IG1lcmdlIGRlc2NyaWJlIHVzZSBleHBsYWluIGhlbHAgZGVjbGFyZSBwcmVwYXJlIGV4ZWN1dGUgZGVhbGxvY2F0ZSByZWxlYXNlIHVubG9jayBwdXJnZSByZXNldCBjaGFuZ2Ugc3RvcCBhbmFseXplIGNhY2hlIGZsdXNoIG9wdGltaXplIHJlcGFpciBraWxsIGluc3RhbGwgdW5pbnN0YWxsIGNoZWNrc3VtIHJlc3RvcmUgY2hlY2sgYmFja3VwIHJldm9rZSBjb21tZW50IixlOi87LyxlVzohMCxsOi9bXHdcLl0rLyxrOntrZXl3b3JkOiJhYm9ydCBhYnMgYWJzb2x1dGUgYWNjIGFjY2UgYWNjZXAgYWNjZXB0IGFjY2VzcyBhY2Nlc3NlZCBhY2Nlc3NpYmxlIGFjY291bnQgYWNvcyBhY3Rpb24gYWN0aXZhdGUgYWRkIGFkZHRpbWUgYWRtaW4gYWRtaW5pc3RlciBhZHZhbmNlZCBhZHZpc2UgYWVzX2RlY3J5cHQgYWVzX2VuY3J5cHQgYWZ0ZXIgYWdlbnQgYWdncmVnYXRlIGFsaSBhbGlhIGFsaWFzIGFsbG9jYXRlIGFsbG93IGFsdGVyIGFsd2F5cyBhbmFseXplIGFuY2lsbGFyeSBhbmQgYW55IGFueWRhdGEgYW55ZGF0YXNldCBhbnlzY2hlbWEgYW55dHlwZSBhcHBseSBhcmNoaXZlIGFyY2hpdmVkIGFyY2hpdmVsb2cgYXJlIGFzIGFzYyBhc2NpaSBhc2luIGFzc2VtYmx5IGFzc2VydGlvbiBhc3NvY2lhdGUgYXN5bmNocm9ub3VzIGF0IGF0YW4gYXRuMiBhdHRyIGF0dHJpIGF0dHJpYiBhdHRyaWJ1IGF0dHJpYnV0IGF0dHJpYnV0ZSBhdHRyaWJ1dGVzIGF1ZGl0IGF1dGhlbnRpY2F0ZWQgYXV0aGVudGljYXRpb24gYXV0aGlkIGF1dGhvcnMgYXV0byBhdXRvYWxsb2NhdGUgYXV0b2RibGluayBhdXRvZXh0ZW5kIGF1dG9tYXRpYyBhdmFpbGFiaWxpdHkgYXZnIGJhY2t1cCBiYWRmaWxlIGJhc2ljZmlsZSBiZWZvcmUgYmVnaW4gYmVnaW5uaW5nIGJlbmNobWFyayBiZXR3ZWVuIGJmaWxlIGJmaWxlX2Jhc2UgYmlnIGJpZ2ZpbGUgYmluIGJpbmFyeV9kb3VibGUgYmluYXJ5X2Zsb2F0IGJpbmxvZyBiaXRfYW5kIGJpdF9jb3VudCBiaXRfbGVuZ3RoIGJpdF9vciBiaXRfeG9yIGJpdG1hcCBibG9iX2Jhc2UgYmxvY2sgYmxvY2tzaXplIGJvZHkgYm90aCBib3VuZCBidWZmZXJfY2FjaGUgYnVmZmVyX3Bvb2wgYnVpbGQgYnVsayBieSBieXRlIGJ5dGVvcmRlcm1hcmsgYnl0ZXMgY2FjaGUgY2FjaGluZyBjYWxsIGNhbGxpbmcgY2FuY2VsIGNhcGFjaXR5IGNhc2NhZGUgY2FzY2FkZWQgY2FzZSBjYXN0IGNhdGFsb2cgY2F0ZWdvcnkgY2VpbCBjZWlsaW5nIGNoYWluIGNoYW5nZSBjaGFuZ2VkIGNoYXJfYmFzZSBjaGFyX2xlbmd0aCBjaGFyYWN0ZXJfbGVuZ3RoIGNoYXJhY3RlcnMgY2hhcmFjdGVyc2V0IGNoYXJpbmRleCBjaGFyc2V0IGNoYXJzZXRmb3JtIGNoYXJzZXRpZCBjaGVjayBjaGVja3N1bSBjaGVja3N1bV9hZ2cgY2hpbGQgY2hvb3NlIGNociBjaHVuayBjbGFzcyBjbGVhbnVwIGNsZWFyIGNsaWVudCBjbG9iIGNsb2JfYmFzZSBjbG9uZSBjbG9zZSBjbHVzdGVyX2lkIGNsdXN0ZXJfcHJvYmFiaWxpdHkgY2x1c3Rlcl9zZXQgY2x1c3RlcmluZyBjb2FsZXNjZSBjb2VyY2liaWxpdHkgY29sIGNvbGxhdGUgY29sbGF0aW9uIGNvbGxlY3QgY29sdSBjb2x1bSBjb2x1bW4gY29sdW1uX3ZhbHVlIGNvbHVtbnMgY29sdW1uc191cGRhdGVkIGNvbW1lbnQgY29tbWl0IGNvbXBhY3QgY29tcGF0aWJpbGl0eSBjb21waWxlZCBjb21wbGV0ZSBjb21wb3NpdGVfbGltaXQgY29tcG91bmQgY29tcHJlc3MgY29tcHV0ZSBjb25jYXQgY29uY2F0X3dzIGNvbmN1cnJlbnQgY29uZmlybSBjb25uIGNvbm5lYyBjb25uZWN0IGNvbm5lY3RfYnlfaXNjeWNsZSBjb25uZWN0X2J5X2lzbGVhZiBjb25uZWN0X2J5X3Jvb3QgY29ubmVjdF90aW1lIGNvbm5lY3Rpb24gY29uc2lkZXIgY29uc2lzdGVudCBjb25zdGFudCBjb25zdHJhaW50IGNvbnN0cmFpbnRzIGNvbnN0cnVjdG9yIGNvbnRhaW5lciBjb250ZW50IGNvbnRlbnRzIGNvbnRleHQgY29udHJpYnV0b3JzIGNvbnRyb2xmaWxlIGNvbnYgY29udmVydCBjb252ZXJ0X3R6IGNvcnIgY29ycl9rIGNvcnJfcyBjb3JyZXNwb25kaW5nIGNvcnJ1cHRpb24gY29zIGNvc3QgY291bnQgY291bnRfYmlnIGNvdW50ZWQgY292YXJfcG9wIGNvdmFyX3NhbXAgY3B1X3Blcl9jYWxsIGNwdV9wZXJfc2Vzc2lvbiBjcmMzMiBjcmVhdGUgY3JlYXRpb24gY3JpdGljYWwgY3Jvc3MgY3ViZSBjdW1lX2Rpc3QgY3VyZGF0ZSBjdXJyZW50IGN1cnJlbnRfZGF0ZSBjdXJyZW50X3RpbWUgY3VycmVudF90aW1lc3RhbXAgY3VycmVudF91c2VyIGN1cnNvciBjdXJ0aW1lIGN1c3RvbWRhdHVtIGN5Y2xlIGRhdGEgZGF0YWJhc2UgZGF0YWJhc2VzIGRhdGFmaWxlIGRhdGFmaWxlcyBkYXRhbGVuZ3RoIGRhdGVfYWRkIGRhdGVfY2FjaGUgZGF0ZV9mb3JtYXQgZGF0ZV9zdWIgZGF0ZWFkZCBkYXRlZGlmZiBkYXRlZnJvbXBhcnRzIGRhdGVuYW1lIGRhdGVwYXJ0IGRhdGV0aW1lMmZyb21wYXJ0cyBkYXkgZGF5X3RvX3NlY29uZCBkYXluYW1lIGRheW9mbW9udGggZGF5b2Z3ZWVrIGRheW9meWVhciBkYXlzIGRiX3JvbGVfY2hhbmdlIGRidGltZXpvbmUgZGRsIGRlYWxsb2NhdGUgZGVjbGFyZSBkZWNvZGUgZGVjb21wb3NlIGRlY3JlbWVudCBkZWNyeXB0IGRlZHVwbGljYXRlIGRlZiBkZWZhIGRlZmF1IGRlZmF1bCBkZWZhdWx0IGRlZmF1bHRzIGRlZmVycmVkIGRlZmkgZGVmaW4gZGVmaW5lIGRlZ3JlZXMgZGVsYXllZCBkZWxlZ2F0ZSBkZWxldGUgZGVsZXRlX2FsbCBkZWxpbWl0ZWQgZGVtYW5kIGRlbnNlX3JhbmsgZGVwdGggZGVxdWV1ZSBkZXNfZGVjcnlwdCBkZXNfZW5jcnlwdCBkZXNfa2V5X2ZpbGUgZGVzYyBkZXNjciBkZXNjcmkgZGVzY3JpYiBkZXNjcmliZSBkZXNjcmlwdG9yIGRldGVybWluaXN0aWMgZGlhZ25vc3RpY3MgZGlmZmVyZW5jZSBkaW1lbnNpb24gZGlyZWN0X2xvYWQgZGlyZWN0b3J5IGRpc2FibGUgZGlzYWJsZV9hbGwgZGlzYWxsb3cgZGlzYXNzb2NpYXRlIGRpc2NhcmRmaWxlIGRpc2Nvbm5lY3QgZGlza2dyb3VwIGRpc3RpbmN0IGRpc3RpbmN0cm93IGRpc3RyaWJ1dGUgZGlzdHJpYnV0ZWQgZGl2IGRvIGRvY3VtZW50IGRvbWFpbiBkb3RuZXQgZG91YmxlIGRvd25ncmFkZSBkcm9wIGR1bXBmaWxlIGR1cGxpY2F0ZSBkdXJhdGlvbiBlYWNoIGVkaXRpb24gZWRpdGlvbmFibGUgZWRpdGlvbnMgZWxlbWVudCBlbGxpcHNpcyBlbHNlIGVsc2lmIGVsdCBlbXB0eSBlbmFibGUgZW5hYmxlX2FsbCBlbmNsb3NlZCBlbmNvZGUgZW5jb2RpbmcgZW5jcnlwdCBlbmQgZW5kLWV4ZWMgZW5kaWFuIGVuZm9yY2VkIGVuZ2luZSBlbmdpbmVzIGVucXVldWUgZW50ZXJwcmlzZSBlbnRpdHllc2NhcGluZyBlb21vbnRoIGVycm9yIGVycm9ycyBlc2NhcGVkIGV2YWxuYW1lIGV2YWx1YXRlIGV2ZW50IGV2ZW50ZGF0YSBldmVudHMgZXhjZXB0IGV4Y2VwdGlvbiBleGNlcHRpb25zIGV4Y2hhbmdlIGV4Y2x1ZGUgZXhjbHVkaW5nIGV4ZWN1IGV4ZWN1dCBleGVjdXRlIGV4ZW1wdCBleGlzdHMgZXhpdCBleHAgZXhwaXJlIGV4cGxhaW4gZXhwb3J0IGV4cG9ydF9zZXQgZXh0ZW5kZWQgZXh0ZW50IGV4dGVybmFsIGV4dGVybmFsXzEgZXh0ZXJuYWxfMiBleHRlcm5hbGx5IGV4dHJhY3QgZmFpbGVkIGZhaWxlZF9sb2dpbl9hdHRlbXB0cyBmYWlsb3ZlciBmYWlsdXJlIGZhciBmYXN0IGZlYXR1cmVfc2V0IGZlYXR1cmVfdmFsdWUgZmV0Y2ggZmllbGQgZmllbGRzIGZpbGUgZmlsZV9uYW1lX2NvbnZlcnQgZmlsZXN5c3RlbV9saWtlX2xvZ2dpbmcgZmluYWwgZmluaXNoIGZpcnN0IGZpcnN0X3ZhbHVlIGZpeGVkIGZsYXNoX2NhY2hlIGZsYXNoYmFjayBmbG9vciBmbHVzaCBmb2xsb3dpbmcgZm9sbG93cyBmb3IgZm9yYWxsIGZvcmNlIGZvcm0gZm9ybWEgZm9ybWF0IGZvdW5kIGZvdW5kX3Jvd3MgZnJlZWxpc3QgZnJlZWxpc3RzIGZyZWVwb29scyBmcmVzaCBmcm9tIGZyb21fYmFzZTY0IGZyb21fZGF5cyBmdHAgZnVsbCBmdW5jdGlvbiBnZW5lcmFsIGdlbmVyYXRlZCBnZXQgZ2V0X2Zvcm1hdCBnZXRfbG9jayBnZXRkYXRlIGdldHV0Y2RhdGUgZ2xvYmFsIGdsb2JhbF9uYW1lIGdsb2JhbGx5IGdvIGdvdG8gZ3JhbnQgZ3JhbnRzIGdyZWF0ZXN0IGdyb3VwIGdyb3VwX2NvbmNhdCBncm91cF9pZCBncm91cGluZyBncm91cGluZ19pZCBncm91cHMgZ3RpZF9zdWJ0cmFjdCBndWFyYW50ZWUgZ3VhcmQgaGFuZGxlciBoYXNoIGhhc2hrZXlzIGhhdmluZyBoZWEgaGVhZCBoZWFkaSBoZWFkaW4gaGVhZGluZyBoZWFwIGhlbHAgaGV4IGhpZXJhcmNoeSBoaWdoIGhpZ2hfcHJpb3JpdHkgaG9zdHMgaG91ciBodHRwIGlkIGlkZW50X2N1cnJlbnQgaWRlbnRfaW5jciBpZGVudF9zZWVkIGlkZW50aWZpZWQgaWRlbnRpdHkgaWRsZV90aW1lIGlmIGlmbnVsbCBpZ25vcmUgaWlmIGlsaWtlIGlsbSBpbW1lZGlhdGUgaW1wb3J0IGluIGluY2x1ZGUgaW5jbHVkaW5nIGluY3JlbWVudCBpbmRleCBpbmRleGVzIGluZGV4aW5nIGluZGV4dHlwZSBpbmRpY2F0b3IgaW5kaWNlcyBpbmV0Nl9hdG9uIGluZXQ2X250b2EgaW5ldF9hdG9uIGluZXRfbnRvYSBpbmZpbGUgaW5pdGlhbCBpbml0aWFsaXplZCBpbml0aWFsbHkgaW5pdHJhbnMgaW5tZW1vcnkgaW5uZXIgaW5ub2RiIGlucHV0IGluc2VydCBpbnN0YWxsIGluc3RhbmNlIGluc3RhbnRpYWJsZSBpbnN0ciBpbnRlcmZhY2UgaW50ZXJsZWF2ZWQgaW50ZXJzZWN0IGludG8gaW52YWxpZGF0ZSBpbnZpc2libGUgaXMgaXNfZnJlZV9sb2NrIGlzX2lwdjQgaXNfaXB2NF9jb21wYXQgaXNfbm90IGlzX25vdF9udWxsIGlzX3VzZWRfbG9jayBpc2RhdGUgaXNudWxsIGlzb2xhdGlvbiBpdGVyYXRlIGphdmEgam9pbiBqc29uIGpzb25fZXhpc3RzIGtlZXAga2VlcF9kdXBsaWNhdGVzIGtleSBrZXlzIGtpbGwgbGFuZ3VhZ2UgbGFyZ2UgbGFzdCBsYXN0X2RheSBsYXN0X2luc2VydF9pZCBsYXN0X3ZhbHVlIGxheCBsY2FzZSBsZWFkIGxlYWRpbmcgbGVhc3QgbGVhdmVzIGxlZnQgbGVuIGxlbmdodCBsZW5ndGggbGVzcyBsZXZlbCBsZXZlbHMgbGlicmFyeSBsaWtlIGxpa2UyIGxpa2U0IGxpa2VjIGxpbWl0IGxpbmVzIGxpbmsgbGlzdCBsaXN0YWdnIGxpdHRsZSBsbiBsb2FkIGxvYWRfZmlsZSBsb2IgbG9icyBsb2NhbCBsb2NhbHRpbWUgbG9jYWx0aW1lc3RhbXAgbG9jYXRlIGxvY2F0b3IgbG9jayBsb2NrZWQgbG9nIGxvZzEwIGxvZzIgbG9nZmlsZSBsb2dmaWxlcyBsb2dnaW5nIGxvZ2ljYWwgbG9naWNhbF9yZWFkc19wZXJfY2FsbCBsb2dvZmYgbG9nb24gbG9ncyBsb25nIGxvb3AgbG93IGxvd19wcmlvcml0eSBsb3dlciBscGFkIGxydHJpbSBsdHJpbSBtYWluIG1ha2Vfc2V0IG1ha2VkYXRlIG1ha2V0aW1lIG1hbmFnZWQgbWFuYWdlbWVudCBtYW51YWwgbWFwIG1hcHBpbmcgbWFzayBtYXN0ZXIgbWFzdGVyX3Bvc193YWl0IG1hdGNoIG1hdGNoZWQgbWF0ZXJpYWxpemVkIG1heCBtYXhleHRlbnRzIG1heGltaXplIG1heGluc3RhbmNlcyBtYXhsZW4gbWF4bG9nZmlsZXMgbWF4bG9naGlzdG9yeSBtYXhsb2dtZW1iZXJzIG1heHNpemUgbWF4dHJhbnMgbWQ1IG1lYXN1cmVzIG1lZGlhbiBtZWRpdW0gbWVtYmVyIG1lbWNvbXByZXNzIG1lbW9yeSBtZXJnZSBtaWNyb3NlY29uZCBtaWQgbWlncmF0aW9uIG1pbiBtaW5leHRlbnRzIG1pbmltdW0gbWluaW5nIG1pbnVzIG1pbnV0ZSBtaW52YWx1ZSBtaXNzaW5nIG1vZCBtb2RlIG1vZGVsIG1vZGlmaWNhdGlvbiBtb2RpZnkgbW9kdWxlIG1vbml0b3JpbmcgbW9udGggbW9udGhzIG1vdW50IG1vdmUgbW92ZW1lbnQgbXVsdGlzZXQgbXV0ZXggbmFtZSBuYW1lX2NvbnN0IG5hbWVzIG5hbiBuYXRpb25hbCBuYXRpdmUgbmF0dXJhbCBuYXYgbmNoYXIgbmNsb2IgbmVzdGVkIG5ldmVyIG5ldyBuZXdsaW5lIG5leHQgbmV4dHZhbCBubyBub193cml0ZV90b19iaW5sb2cgbm9hcmNoaXZlbG9nIG5vYXVkaXQgbm9iYWRmaWxlIG5vY2hlY2sgbm9jb21wcmVzcyBub2NvcHkgbm9jeWNsZSBub2RlbGF5IG5vZGlzY2FyZGZpbGUgbm9lbnRpdHllc2NhcGluZyBub2d1YXJhbnRlZSBub2tlZXAgbm9sb2dmaWxlIG5vbWFwcGluZyBub21heHZhbHVlIG5vbWluaW1pemUgbm9taW52YWx1ZSBub21vbml0b3Jpbmcgbm9uZSBub25lZGl0aW9uYWJsZSBub25zY2hlbWEgbm9vcmRlciBub3ByIG5vcHJvIG5vcHJvbSBub3Byb21wIG5vcHJvbXB0IG5vcmVseSBub3Jlc2V0bG9ncyBub3JldmVyc2Ugbm9ybWFsIG5vcm93ZGVwZW5kZW5jaWVzIG5vc2NoZW1hY2hlY2sgbm9zd2l0Y2ggbm90IG5vdGhpbmcgbm90aWNlIG5vdHJpbSBub3ZhbGlkYXRlIG5vdyBub3dhaXQgbnRoX3ZhbHVlIG51bGxpZiBudWxscyBudW0gbnVtYiBudW1iZSBudmFyY2hhciBudmFyY2hhcjIgb2JqZWN0IG9jaWNvbGwgb2NpZGF0ZSBvY2lkYXRldGltZSBvY2lkdXJhdGlvbiBvY2lpbnRlcnZhbCBvY2lsb2Jsb2NhdG9yIG9jaW51bWJlciBvY2lyZWYgb2NpcmVmY3Vyc29yIG9jaXJvd2lkIG9jaXN0cmluZyBvY2l0eXBlIG9jdCBvY3RldF9sZW5ndGggb2Ygb2ZmIG9mZmxpbmUgb2Zmc2V0IG9pZCBvaWRpbmRleCBvbGQgb24gb25saW5lIG9ubHkgb3BhcXVlIG9wZW4gb3BlcmF0aW9ucyBvcGVyYXRvciBvcHRpbWFsIG9wdGltaXplIG9wdGlvbiBvcHRpb25hbGx5IG9yIG9yYWNsZSBvcmFjbGVfZGF0ZSBvcmFkYXRhIG9yZCBvcmRhdWRpbyBvcmRkaWNvbSBvcmRkb2Mgb3JkZXIgb3JkaW1hZ2Ugb3JkaW5hbGl0eSBvcmR2aWRlbyBvcmdhbml6YXRpb24gb3JsYW55IG9ybHZhcnkgb3V0IG91dGVyIG91dGZpbGUgb3V0bGluZSBvdXRwdXQgb3ZlciBvdmVyZmxvdyBvdmVycmlkaW5nIHBhY2thZ2UgcGFkIHBhcmFsbGVsIHBhcmFsbGVsX2VuYWJsZSBwYXJhbWV0ZXJzIHBhcmVudCBwYXJzZSBwYXJ0aWFsIHBhcnRpdGlvbiBwYXJ0aXRpb25zIHBhc2NhbCBwYXNzaW5nIHBhc3N3b3JkIHBhc3N3b3JkX2dyYWNlX3RpbWUgcGFzc3dvcmRfbG9ja190aW1lIHBhc3N3b3JkX3JldXNlX21heCBwYXNzd29yZF9yZXVzZV90aW1lIHBhc3N3b3JkX3ZlcmlmeV9mdW5jdGlvbiBwYXRjaCBwYXRoIHBhdGluZGV4IHBjdGluY3JlYXNlIHBjdHRocmVzaG9sZCBwY3R1c2VkIHBjdHZlcnNpb24gcGVyY2VudCBwZXJjZW50X3JhbmsgcGVyY2VudGlsZV9jb250IHBlcmNlbnRpbGVfZGlzYyBwZXJmb3JtYW5jZSBwZXJpb2QgcGVyaW9kX2FkZCBwZXJpb2RfZGlmZiBwZXJtYW5lbnQgcGh5c2ljYWwgcGkgcGlwZSBwaXBlbGluZWQgcGl2b3QgcGx1Z2dhYmxlIHBsdWdpbiBwb2xpY3kgcG9zaXRpb24gcG9zdF90cmFuc2FjdGlvbiBwb3cgcG93ZXIgcHJhZ21hIHByZWJ1aWx0IHByZWNlZGVzIHByZWNlZGluZyBwcmVjaXNpb24gcHJlZGljdGlvbiBwcmVkaWN0aW9uX2Nvc3QgcHJlZGljdGlvbl9kZXRhaWxzIHByZWRpY3Rpb25fcHJvYmFiaWxpdHkgcHJlZGljdGlvbl9zZXQgcHJlcGFyZSBwcmVzZW50IHByZXNlcnZlIHByaW9yIHByaW9yaXR5IHByaXZhdGUgcHJpdmF0ZV9zZ2EgcHJpdmlsZWdlcyBwcm9jZWR1cmFsIHByb2NlZHVyZSBwcm9jZWR1cmVfYW5hbHl6ZSBwcm9jZXNzbGlzdCBwcm9maWxlcyBwcm9qZWN0IHByb21wdCBwcm90ZWN0aW9uIHB1YmxpYyBwdWJsaXNoaW5nc2VydmVybmFtZSBwdXJnZSBxdWFydGVyIHF1ZXJ5IHF1aWNrIHF1aWVzY2UgcXVvdGEgcXVvdGVuYW1lIHJhZGlhbnMgcmFpc2UgcmFuZCByYW5nZSByYW5rIHJhdyByZWFkIHJlYWRzIHJlYWRzaXplIHJlYnVpbGQgcmVjb3JkIHJlY29yZHMgcmVjb3ZlciByZWNvdmVyeSByZWN1cnNpdmUgcmVjeWNsZSByZWRvIHJlZHVjZWQgcmVmIHJlZmVyZW5jZSByZWZlcmVuY2VkIHJlZmVyZW5jZXMgcmVmZXJlbmNpbmcgcmVmcmVzaCByZWdleHBfbGlrZSByZWdpc3RlciByZWdyX2F2Z3ggcmVncl9hdmd5IHJlZ3JfY291bnQgcmVncl9pbnRlcmNlcHQgcmVncl9yMiByZWdyX3Nsb3BlIHJlZ3Jfc3h4IHJlZ3Jfc3h5IHJlamVjdCByZWtleSByZWxhdGlvbmFsIHJlbGF0aXZlIHJlbGF5bG9nIHJlbGVhc2UgcmVsZWFzZV9sb2NrIHJlbGllc19vbiByZWxvY2F0ZSByZWx5IHJlbSByZW1haW5kZXIgcmVuYW1lIHJlcGFpciByZXBlYXQgcmVwbGFjZSByZXBsaWNhdGUgcmVwbGljYXRpb24gcmVxdWlyZWQgcmVzZXQgcmVzZXRsb2dzIHJlc2l6ZSByZXNvdXJjZSByZXNwZWN0IHJlc3RvcmUgcmVzdHJpY3RlZCByZXN1bHQgcmVzdWx0X2NhY2hlIHJlc3VtYWJsZSByZXN1bWUgcmV0ZW50aW9uIHJldHVybiByZXR1cm5pbmcgcmV0dXJucyByZXVzZSByZXZlcnNlIHJldm9rZSByaWdodCBybGlrZSByb2xlIHJvbGVzIHJvbGxiYWNrIHJvbGxpbmcgcm9sbHVwIHJvdW5kIHJvdyByb3dfY291bnQgcm93ZGVwZW5kZW5jaWVzIHJvd2lkIHJvd251bSByb3dzIHJ0cmltIHJ1bGVzIHNhZmUgc2FsdCBzYW1wbGUgc2F2ZSBzYXZlcG9pbnQgc2IxIHNiMiBzYjQgc2NhbiBzY2hlbWEgc2NoZW1hY2hlY2sgc2NuIHNjb3BlIHNjcm9sbCBzZG9fZ2VvcmFzdGVyIHNkb190b3BvX2dlb21ldHJ5IHNlYXJjaCBzZWNfdG9fdGltZSBzZWNvbmQgc2VjdGlvbiBzZWN1cmVmaWxlIHNlY3VyaXR5IHNlZWQgc2VnbWVudCBzZWxlY3Qgc2VsZiBzZXF1ZW5jZSBzZXF1ZW50aWFsIHNlcmlhbGl6YWJsZSBzZXJ2ZXIgc2VydmVyZXJyb3Igc2Vzc2lvbiBzZXNzaW9uX3VzZXIgc2Vzc2lvbnNfcGVyX3VzZXIgc2V0IHNldHMgc2V0dGluZ3Mgc2hhIHNoYTEgc2hhMiBzaGFyZSBzaGFyZWQgc2hhcmVkX3Bvb2wgc2hvcnQgc2hvdyBzaHJpbmsgc2h1dGRvd24gc2lfYXZlcmFnZWNvbG9yIHNpX2NvbG9yaGlzdG9ncmFtIHNpX2ZlYXR1cmVsaXN0IHNpX3Bvc2l0aW9uYWxjb2xvciBzaV9zdGlsbGltYWdlIHNpX3RleHR1cmUgc2libGluZ3Mgc2lkIHNpZ24gc2luIHNpemUgc2l6ZV90IHNpemVzIHNraXAgc2xhdmUgc2xlZXAgc21hbGxkYXRldGltZWZyb21wYXJ0cyBzbWFsbGZpbGUgc25hcHNob3Qgc29tZSBzb25hbWUgc29ydCBzb3VuZGV4IHNvdXJjZSBzcGFjZSBzcGFyc2Ugc3BmaWxlIHNwbGl0IHNxbCBzcWxfYmlnX3Jlc3VsdCBzcWxfYnVmZmVyX3Jlc3VsdCBzcWxfY2FjaGUgc3FsX2NhbGNfZm91bmRfcm93cyBzcWxfc21hbGxfcmVzdWx0IHNxbF92YXJpYW50X3Byb3BlcnR5IHNxbGNvZGUgc3FsZGF0YSBzcWxlcnJvciBzcWxuYW1lIHNxbHN0YXRlIHNxcnQgc3F1YXJlIHN0YW5kYWxvbmUgc3RhbmRieSBzdGFydCBzdGFydGluZyBzdGFydHVwIHN0YXRlbWVudCBzdGF0aWMgc3RhdGlzdGljcyBzdGF0c19iaW5vbWlhbF90ZXN0IHN0YXRzX2Nyb3NzdGFiIHN0YXRzX2tzX3Rlc3Qgc3RhdHNfbW9kZSBzdGF0c19td190ZXN0IHN0YXRzX29uZV93YXlfYW5vdmEgc3RhdHNfdF90ZXN0XyBzdGF0c190X3Rlc3RfaW5kZXAgc3RhdHNfdF90ZXN0X29uZSBzdGF0c190X3Rlc3RfcGFpcmVkIHN0YXRzX3dzcl90ZXN0IHN0YXR1cyBzdGQgc3RkZGV2IHN0ZGRldl9wb3Agc3RkZGV2X3NhbXAgc3RkZXYgc3RvcCBzdG9yYWdlIHN0b3JlIHN0b3JlZCBzdHIgc3RyX3RvX2RhdGUgc3RyYWlnaHRfam9pbiBzdHJjbXAgc3RyaWN0IHN0cmluZyBzdHJ1Y3Qgc3R1ZmYgc3R5bGUgc3ViZGF0ZSBzdWJwYXJ0aXRpb24gc3VicGFydGl0aW9ucyBzdWJzdGl0dXRhYmxlIHN1YnN0ciBzdWJzdHJpbmcgc3VidGltZSBzdWJ0cmluZ19pbmRleCBzdWJ0eXBlIHN1Y2Nlc3Mgc3VtIHN1c3BlbmQgc3dpdGNoIHN3aXRjaG9mZnNldCBzd2l0Y2hvdmVyIHN5bmMgc3luY2hyb25vdXMgc3lub255bSBzeXMgc3lzX3htbGFnZyBzeXNhc20gc3lzYXV4IHN5c2RhdGUgc3lzZGF0ZXRpbWVvZmZzZXQgc3lzZGJhIHN5c29wZXIgc3lzdGVtIHN5c3RlbV91c2VyIHN5c3V0Y2RhdGV0aW1lIHRhYmxlIHRhYmxlcyB0YWJsZXNwYWNlIHRhbiB0ZG8gdGVtcGxhdGUgdGVtcG9yYXJ5IHRlcm1pbmF0ZWQgdGVydGlhcnlfd2VpZ2h0cyB0ZXN0IHRoYW4gdGhlbiB0aHJlYWQgdGhyb3VnaCB0aWVyIHRpZXMgdGltZSB0aW1lX2Zvcm1hdCB0aW1lX3pvbmUgdGltZWRpZmYgdGltZWZyb21wYXJ0cyB0aW1lb3V0IHRpbWVzdGFtcCB0aW1lc3RhbXBhZGQgdGltZXN0YW1wZGlmZiB0aW1lem9uZV9hYmJyIHRpbWV6b25lX21pbnV0ZSB0aW1lem9uZV9yZWdpb24gdG8gdG9fYmFzZTY0IHRvX2RhdGUgdG9fZGF5cyB0b19zZWNvbmRzIHRvZGF0ZXRpbWVvZmZzZXQgdHJhY2UgdHJhY2tpbmcgdHJhbnNhY3Rpb24gdHJhbnNhY3Rpb25hbCB0cmFuc2xhdGUgdHJhbnNsYXRpb24gdHJlYXQgdHJpZ2dlciB0cmlnZ2VyX25lc3RsZXZlbCB0cmlnZ2VycyB0cmltIHRydW5jYXRlIHRyeV9jYXN0IHRyeV9jb252ZXJ0IHRyeV9wYXJzZSB0eXBlIHViMSB1YjIgdWI0IHVjYXNlIHVuYXJjaGl2ZWQgdW5ib3VuZGVkIHVuY29tcHJlc3MgdW5kZXIgdW5kbyB1bmhleCB1bmljb2RlIHVuaWZvcm0gdW5pbnN0YWxsIHVuaW9uIHVuaXF1ZSB1bml4X3RpbWVzdGFtcCB1bmtub3duIHVubGltaXRlZCB1bmxvY2sgdW5waXZvdCB1bnJlY292ZXJhYmxlIHVuc2FmZSB1bnNpZ25lZCB1bnRpbCB1bnRydXN0ZWQgdW51c2FibGUgdW51c2VkIHVwZGF0ZSB1cGRhdGVkIHVwZ3JhZGUgdXBwZWQgdXBwZXIgdXBzZXJ0IHVybCB1cm93aWQgdXNhYmxlIHVzYWdlIHVzZSB1c2Vfc3RvcmVkX291dGxpbmVzIHVzZXIgdXNlcl9kYXRhIHVzZXJfcmVzb3VyY2VzIHVzZXJzIHVzaW5nIHV0Y19kYXRlIHV0Y190aW1lc3RhbXAgdXVpZCB1dWlkX3Nob3J0IHZhbGlkYXRlIHZhbGlkYXRlX3Bhc3N3b3JkX3N0cmVuZ3RoIHZhbGlkYXRpb24gdmFsaXN0IHZhbHVlIHZhbHVlcyB2YXIgdmFyX3NhbXAgdmFyY2hhcmMgdmFyaSB2YXJpYSB2YXJpYWIgdmFyaWFibCB2YXJpYWJsZSB2YXJpYWJsZXMgdmFyaWFuY2UgdmFycCB2YXJyYXcgdmFycmF3YyB2YXJyYXkgdmVyaWZ5IHZlcnNpb24gdmVyc2lvbnMgdmlldyB2aXJ0dWFsIHZpc2libGUgdm9pZCB3YWl0IHdhbGxldCB3YXJuaW5nIHdhcm5pbmdzIHdlZWsgd2Vla2RheSB3ZWVrb2Z5ZWFyIHdlbGxmb3JtZWQgd2hlbiB3aGVuZSB3aGVuZXYgd2hlbmV2ZSB3aGVuZXZlciB3aGVyZSB3aGlsZSB3aGl0ZXNwYWNlIHdpdGggd2l0aGluIHdpdGhvdXQgd29yayB3cmFwcGVkIHhkYiB4bWwgeG1sYWdnIHhtbGF0dHJpYnV0ZXMgeG1sY2FzdCB4bWxjb2xhdHR2YWwgeG1sZWxlbWVudCB4bWxleGlzdHMgeG1sZm9yZXN0IHhtbGluZGV4IHhtbG5hbWVzcGFjZXMgeG1scGkgeG1scXVlcnkgeG1scm9vdCB4bWxzY2hlbWEgeG1sc2VyaWFsaXplIHhtbHRhYmxlIHhtbHR5cGUgeG9yIHllYXIgeWVhcl90b19tb250aCB5ZWFycyB5ZWFyd2VlayIsbGl0ZXJhbDoidHJ1ZSBmYWxzZSBudWxsIixidWlsdF9pbjoiYXJyYXkgYmlnaW50IGJpbmFyeSBiaXQgYmxvYiBib29sZWFuIGNoYXIgY2hhcmFjdGVyIGRhdGUgZGVjIGRlY2ltYWwgZmxvYXQgaW50IGludDggaW50ZWdlciBpbnRlcnZhbCBudW1iZXIgbnVtZXJpYyByZWFsIHJlY29yZCBzZXJpYWwgc2VyaWFsOCBzbWFsbGludCB0ZXh0IHZhcmNoYXIgdmFyeWluZyB2b2lkIn0sYzpbe2NOOiJzdHJpbmciLGI6IiciLGU6IiciLGM6W2UuQkUse2I6IicnIn1dfSx7Y046InN0cmluZyIsYjonIicsZTonIicsYzpbZS5CRSx7YjonIiInfV19LHtjTjoic3RyaW5nIixiOiJgIixlOiJgIixjOltlLkJFXX0sZS5DTk0sZS5DQkNNLHRdfSxlLkNCQ00sdF19fSk7aGxqcy5yZWdpc3Rlckxhbmd1YWdlKCJyIixmdW5jdGlvbihlKXt2YXIgcj0iKFthLXpBLVpdfFxcLlthLXpBLVouXSlbYS16QS1aMC05Ll9dKiI7cmV0dXJue2M6W2UuSENNLHtiOnIsbDpyLGs6e2tleXdvcmQ6ImZ1bmN0aW9uIGlmIGluIGJyZWFrIG5leHQgcmVwZWF0IGVsc2UgZm9yIHJldHVybiBzd2l0Y2ggd2hpbGUgdHJ5IHRyeUNhdGNoIHN0b3Agd2FybmluZyByZXF1aXJlIGxpYnJhcnkgYXR0YWNoIGRldGFjaCBzb3VyY2Ugc2V0TWV0aG9kIHNldEdlbmVyaWMgc2V0R3JvdXBHZW5lcmljIHNldENsYXNzIC4uLiIsbGl0ZXJhbDoiTlVMTCBOQSBUUlVFIEZBTFNFIFQgRiBJbmYgTmFOIE5BX2ludGVnZXJffDEwIE5BX3JlYWxffDEwIE5BX2NoYXJhY3Rlcl98MTAgTkFfY29tcGxleF98MTAifSxyOjB9LHtjTjoibnVtYmVyIixiOiIwW3hYXVswLTlhLWZBLUZdK1tMaV0/XFxiIixyOjB9LHtjTjoibnVtYmVyIixiOiJcXGQrKD86W2VFXVsrXFwtXT9cXGQqKT9MXFxiIixyOjB9LHtjTjoibnVtYmVyIixiOiJcXGQrXFwuKD8hXFxkKSg/OmlcXGIpPyIscjowfSx7Y046Im51bWJlciIsYjoiXFxkKyg/OlxcLlxcZCopPyg/OltlRV1bK1xcLV0/XFxkKik/aT9cXGIiLHI6MH0se2NOOiJudW1iZXIiLGI6IlxcLlxcZCsoPzpbZUVdWytcXC1dP1xcZCopP2k/XFxiIixyOjB9LHtiOiJgIixlOiJgIixyOjB9LHtjTjoic3RyaW5nIixjOltlLkJFXSx2Olt7YjonIicsZTonIid9LHtiOiInIixlOiInIn1dfV19fSk7aGxqcy5yZWdpc3Rlckxhbmd1YWdlKCJwZXJsIixmdW5jdGlvbihlKXt2YXIgdD0iZ2V0cHdlbnQgZ2V0c2VydmVudCBxdW90ZW1ldGEgbXNncmN2IHNjYWxhciBraWxsIGRibWNsb3NlIHVuZGVmIGxjIG1hIHN5c3dyaXRlIHRyIHNlbmQgdW1hc2sgc3lzb3BlbiBzaG13cml0ZSB2ZWMgcXggdXRpbWUgbG9jYWwgb2N0IHNlbWN0bCBsb2NhbHRpbWUgcmVhZHBpcGUgZG8gcmV0dXJuIGZvcm1hdCByZWFkIHNwcmludGYgZGJtb3BlbiBwb3AgZ2V0cGdycCBub3QgZ2V0cHduYW0gcmV3aW5kZGlyIHFxZmlsZW5vIHF3IGVuZHByb3RvZW50IHdhaXQgc2V0aG9zdGVudCBibGVzcyBzfDAgb3BlbmRpciBjb250aW51ZSBlYWNoIHNsZWVwIGVuZGdyZW50IHNodXRkb3duIGR1bXAgY2hvbXAgY29ubmVjdCBnZXRzb2NrbmFtZSBkaWUgc29ja2V0cGFpciBjbG9zZSBmbG9jayBleGlzdHMgaW5kZXggc2htZ2V0c3ViIGZvciBlbmRwd2VudCByZWRvIGxzdGF0IG1zZ2N0bCBzZXRwZ3JwIGFicyBleGl0IHNlbGVjdCBwcmludCByZWYgZ2V0aG9zdGJ5YWRkciB1bnNoaWZ0IGZjbnRsIHN5c2NhbGwgZ290byBnZXRuZXRieWFkZHIgam9pbiBnbXRpbWUgc3ltbGluayBzZW1nZXQgc3BsaWNlIHh8MCBnZXRwZWVybmFtZSByZWN2IGxvZyBzZXRzb2Nrb3B0IGNvcyBsYXN0IHJldmVyc2UgZ2V0aG9zdGJ5bmFtZSBnZXRncm5hbSBzdHVkeSBmb3JtbGluZSBlbmRob3N0ZW50IHRpbWVzIGNob3AgbGVuZ3RoIGdldGhvc3RlbnQgZ2V0bmV0ZW50IHBhY2sgZ2V0cHJvdG9lbnQgZ2V0c2VydmJ5bmFtZSByYW5kIG1rZGlyIHBvcyBjaG1vZCB5fDAgc3Vic3RyIGVuZG5ldGVudCBwcmludGYgbmV4dCBvcGVuIG1zZ3NuZCByZWFkZGlyIHVzZSB1bmxpbmsgZ2V0c29ja29wdCBnZXRwcmlvcml0eSByaW5kZXggd2FudGFycmF5IGhleCBzeXN0ZW0gZ2V0c2VydmJ5cG9ydCBlbmRzZXJ2ZW50IGludCBjaHIgdW50aWUgcm1kaXIgcHJvdG90eXBlIHRlbGwgbGlzdGVuIGZvcmsgc2htcmVhZCB1Y2ZpcnN0IHNldHByb3RvZW50IGVsc2Ugc3lzc2VlayBsaW5rIGdldGdyZ2lkIHNobWN0bCB3YWl0cGlkIHVucGFjayBnZXRuZXRieW5hbWUgcmVzZXQgY2hkaXIgZ3JlcCBzcGxpdCByZXF1aXJlIGNhbGxlciBsY2ZpcnN0IHVudGlsIHdhcm4gd2hpbGUgdmFsdWVzIHNoaWZ0IHRlbGxkaXIgZ2V0cHd1aWQgbXkgZ2V0cHJvdG9ieW51bWJlciBkZWxldGUgYW5kIHNvcnQgdWMgZGVmaW5lZCBzcmFuZCBhY2NlcHQgcGFja2FnZSBzZWVrZGlyIGdldHByb3RvYnluYW1lIHNlbW9wIG91ciByZW5hbWUgc2VlayBpZiBxfDAgY2hyb290IHN5c3JlYWQgc2V0cHdlbnQgbm8gY3J5cHQgZ2V0YyBjaG93biBzcXJ0IHdyaXRlIHNldG5ldGVudCBzZXRwcmlvcml0eSBmb3JlYWNoIHRpZSBzaW4gbXNnZ2V0IG1hcCBzdGF0IGdldGxvZ2luIHVubGVzcyBlbHNpZiB0cnVuY2F0ZSBleGVjIGtleXMgZ2xvYiB0aWVkIGNsb3NlZGlyaW9jdGwgc29ja2V0IHJlYWRsaW5rIGV2YWwgeG9yIHJlYWRsaW5lIGJpbm1vZGUgc2V0c2VydmVudCBlb2Ygb3JkIGJpbmQgYWxhcm0gcGlwZSBhdGFuMiBnZXRncmVudCBleHAgdGltZSBwdXNoIHNldGdyZW50IGd0IGx0IG9yIG5lIG18MCBicmVhayBnaXZlbiBzYXkgc3RhdGUgd2hlbiIscj17Y046InN1YnN0IixiOiJbJEBdXFx7IixlOiJcXH0iLGs6dH0scz17YjoiLT57IixlOiJ9In0sbj17djpbe2I6L1wkXGQvfSx7YjovW1wkJUBdKFxeXHdcYnwjXHcrKDo6XHcrKSp8e1x3K318XHcrKDo6XHcqKSopL30se2I6L1tcJCVAXVteXHNcd3tdLyxyOjB9XX0saT1bZS5CRSxyLG5dLG89W24sZS5IQ00sZS5DKCJeXFw9XFx3IiwiXFw9Y3V0Iix7ZVc6ITB9KSxzLHtjTjoic3RyaW5nIixjOmksdjpbe2I6InFbcXd4cl0/XFxzKlxcKCIsZToiXFwpIixyOjV9LHtiOiJxW3F3eHJdP1xccypcXFsiLGU6IlxcXSIscjo1fSx7YjoicVtxd3hyXT9cXHMqXFx7IixlOiJcXH0iLHI6NX0se2I6InFbcXd4cl0/XFxzKlxcfCIsZToiXFx8IixyOjV9LHtiOiJxW3F3eHJdP1xccypcXDwiLGU6IlxcPiIscjo1fSx7YjoicXdcXHMrcSIsZToicSIscjo1fSx7YjoiJyIsZToiJyIsYzpbZS5CRV19LHtiOiciJyxlOiciJ30se2I6ImAiLGU6ImAiLGM6W2UuQkVdfSx7Yjoie1xcdyt9IixjOltdLHI6MH0se2I6Ii0/XFx3K1xccypcXD1cXD4iLGM6W10scjowfV19LHtjTjoibnVtYmVyIixiOiIoXFxiMFswLTdfXSspfChcXGIweFswLTlhLWZBLUZfXSspfChcXGJbMS05XVswLTlfXSooXFwuWzAtOV9dKyk/KXxbMF9dXFxiIixyOjB9LHtiOiIoXFwvXFwvfCIrZS5SU1IrInxcXGIoc3BsaXR8cmV0dXJufHByaW50fHJldmVyc2V8Z3JlcClcXGIpXFxzKiIsazoic3BsaXQgcmV0dXJuIHByaW50IHJldmVyc2UgZ3JlcCIscjowLGM6W2UuSENNLHtjTjoicmVnZXhwIixiOiIoc3x0cnx5KS8oXFxcXC58W14vXSkqLyhcXFxcLnxbXi9dKSovW2Etel0qIixyOjEwfSx7Y046InJlZ2V4cCIsYjoiKG18cXIpPy8iLGU6Ii9bYS16XSoiLGM6W2UuQkVdLHI6MH1dfSx7Y046ImZ1bmN0aW9uIixiSzoic3ViIixlOiIoXFxzKlxcKC4qP1xcKSk/Wzt7XSIsZUU6ITAscjo1LGM6W2UuVE1dfSx7YjoiLVxcd1xcYiIscjowfSx7YjoiXl9fREFUQV9fJCIsZToiXl9fRU5EX18kIixzTDoibW9qb2xpY2lvdXMiLGM6W3tiOiJeQEAuKiIsZToiJCIsY046ImNvbW1lbnQifV19XTtyZXR1cm4gci5jPW8scy5jPW8se2FsaWFzZXM6WyJwbCIsInBtIl0sbDovW1x3XC5dKy8sazp0LGM6b319KTtobGpzLnJlZ2lzdGVyTGFuZ3VhZ2UoImluaSIsZnVuY3Rpb24oZSl7dmFyIGI9e2NOOiJzdHJpbmciLGM6W2UuQkVdLHY6W3tiOiInJyciLGU6IicnJyIscjoxMH0se2I6JyIiIicsZTonIiIiJyxyOjEwfSx7YjonIicsZTonIid9LHtiOiInIixlOiInIn1dfTtyZXR1cm57YWxpYXNlczpbInRvbWwiXSxjSTohMCxpOi9cUy8sYzpbZS5DKCI7IiwiJCIpLGUuSENNLHtjTjoic2VjdGlvbiIsYjovXlxzKlxbKy8sZTovXF0rL30se2I6L15bYS16MC05XFtcXV8tXStccyo9XHMqLyxlOiIkIixyQjohMCxjOlt7Y046ImF0dHIiLGI6L1thLXowLTlcW1xdXy1dKy99LHtiOi89LyxlVzohMCxyOjAsYzpbe2NOOiJsaXRlcmFsIixiOi9cYm9ufG9mZnx0cnVlfGZhbHNlfHllc3xub1xiL30se2NOOiJ2YXJpYWJsZSIsdjpbe2I6L1wkW1x3XGQiXVtcd1xkX10qL30se2I6L1wkXHsoLio/KX0vfV19LGIse2NOOiJudW1iZXIiLGI6LyhbXCtcLV0rKT9bXGRdK19bXGRfXSsvfSxlLk5NXX1dfV19fSk7aGxqcy5yZWdpc3Rlckxhbmd1YWdlKCJkaWZmIixmdW5jdGlvbihlKXtyZXR1cm57YWxpYXNlczpbInBhdGNoIl0sYzpbe2NOOiJtZXRhIixyOjEwLHY6W3tiOi9eQEAgK1wtXGQrLFxkKyArXCtcZCssXGQrICtAQCQvfSx7YjovXlwqXCpcKiArXGQrLFxkKyArXCpcKlwqXCokL30se2I6L15cLVwtXC0gK1xkKyxcZCsgK1wtXC1cLVwtJC99XX0se2NOOiJjb21tZW50Iix2Olt7YjovSW5kZXg6IC8sZTovJC99LHtiOi89ezMsfS8sZTovJC99LHtiOi9eXC17M30vLGU6LyQvfSx7YjovXlwqezN9IC8sZTovJC99LHtiOi9eXCt7M30vLGU6LyQvfSx7YjovXCp7NX0vLGU6L1wqezV9JC99XX0se2NOOiJhZGRpdGlvbiIsYjoiXlxcKyIsZToiJCJ9LHtjTjoiZGVsZXRpb24iLGI6Il5cXC0iLGU6IiQifSx7Y046ImFkZGl0aW9uIixiOiJeXFwhIixlOiIkIn1dfX0pO2hsanMucmVnaXN0ZXJMYW5ndWFnZSgiZ28iLGZ1bmN0aW9uKGUpe3ZhciB0PXtrZXl3b3JkOiJicmVhayBkZWZhdWx0IGZ1bmMgaW50ZXJmYWNlIHNlbGVjdCBjYXNlIG1hcCBzdHJ1Y3QgY2hhbiBlbHNlIGdvdG8gcGFja2FnZSBzd2l0Y2ggY29uc3QgZmFsbHRocm91Z2ggaWYgcmFuZ2UgdHlwZSBjb250aW51ZSBmb3IgaW1wb3J0IHJldHVybiB2YXIgZ28gZGVmZXIgYm9vbCBieXRlIGNvbXBsZXg2NCBjb21wbGV4MTI4IGZsb2F0MzIgZmxvYXQ2NCBpbnQ4IGludDE2IGludDMyIGludDY0IHN0cmluZyB1aW50OCB1aW50MTYgdWludDMyIHVpbnQ2NCBpbnQgdWludCB1aW50cHRyIHJ1bmUiLGxpdGVyYWw6InRydWUgZmFsc2UgaW90YSBuaWwiLGJ1aWx0X2luOiJhcHBlbmQgY2FwIGNsb3NlIGNvbXBsZXggY29weSBpbWFnIGxlbiBtYWtlIG5ldyBwYW5pYyBwcmludCBwcmludGxuIHJlYWwgcmVjb3ZlciBkZWxldGUifTtyZXR1cm57YWxpYXNlczpbImdvbGFuZyJdLGs6dCxpOiI8LyIsYzpbZS5DTENNLGUuQ0JDTSx7Y046InN0cmluZyIsdjpbZS5RU00se2I6IiciLGU6IlteXFxcXF0nIn0se2I6ImAiLGU6ImAifV19LHtjTjoibnVtYmVyIix2Olt7YjplLkNOUisiW2RmbHNpXSIscjoxfSxlLkNOTV19LHtiOi86PS99LHtjTjoiZnVuY3Rpb24iLGJLOiJmdW5jIixlOi9ccypcey8sZUU6ITAsYzpbZS5UTSx7Y046InBhcmFtcyIsYjovXCgvLGU6L1wpLyxrOnQsaTovWyInXS99XX1dfX0pO2hsanMucmVnaXN0ZXJMYW5ndWFnZSgiYmFzaCIsZnVuY3Rpb24oZSl7dmFyIHQ9e2NOOiJ2YXJpYWJsZSIsdjpbe2I6L1wkW1x3XGQjQF1bXHdcZF9dKi99LHtiOi9cJFx7KC4qPyl9L31dfSxzPXtjTjoic3RyaW5nIixiOi8iLyxlOi8iLyxjOltlLkJFLHQse2NOOiJ2YXJpYWJsZSIsYjovXCRcKC8sZTovXCkvLGM6W2UuQkVdfV19LGE9e2NOOiJzdHJpbmciLGI6LycvLGU6LycvfTtyZXR1cm57YWxpYXNlczpbInNoIiwienNoIl0sbDovXGItP1thLXpcLl9dK1xiLyxrOntrZXl3b3JkOiJpZiB0aGVuIGVsc2UgZWxpZiBmaSBmb3Igd2hpbGUgaW4gZG8gZG9uZSBjYXNlIGVzYWMgZnVuY3Rpb24iLGxpdGVyYWw6InRydWUgZmFsc2UiLGJ1aWx0X2luOiJicmVhayBjZCBjb250aW51ZSBldmFsIGV4ZWMgZXhpdCBleHBvcnQgZ2V0b3B0cyBoYXNoIHB3ZCByZWFkb25seSByZXR1cm4gc2hpZnQgdGVzdCB0aW1lcyB0cmFwIHVtYXNrIHVuc2V0IGFsaWFzIGJpbmQgYnVpbHRpbiBjYWxsZXIgY29tbWFuZCBkZWNsYXJlIGVjaG8gZW5hYmxlIGhlbHAgbGV0IGxvY2FsIGxvZ291dCBtYXBmaWxlIHByaW50ZiByZWFkIHJlYWRhcnJheSBzb3VyY2UgdHlwZSB0eXBlc2V0IHVsaW1pdCB1bmFsaWFzIHNldCBzaG9wdCBhdXRvbG9hZCBiZyBiaW5ka2V5IGJ5ZSBjYXAgY2hkaXIgY2xvbmUgY29tcGFyZ3VtZW50cyBjb21wY2FsbCBjb21wY3RsIGNvbXBkZXNjcmliZSBjb21wZmlsZXMgY29tcGdyb3VwcyBjb21wcXVvdGUgY29tcHRhZ3MgY29tcHRyeSBjb21wdmFsdWVzIGRpcnMgZGlzYWJsZSBkaXNvd24gZWNob3RjIGVjaG90aSBlbXVsYXRlIGZjIGZnIGZsb2F0IGZ1bmN0aW9ucyBnZXRjYXAgZ2V0bG4gaGlzdG9yeSBpbnRlZ2VyIGpvYnMga2lsbCBsaW1pdCBsb2cgbm9nbG9iIHBvcGQgcHJpbnQgcHVzaGQgcHVzaGxuIHJlaGFzaCBzY2hlZCBzZXRjYXAgc2V0b3B0IHN0YXQgc3VzcGVuZCB0dHljdGwgdW5mdW5jdGlvbiB1bmhhc2ggdW5saW1pdCB1bnNldG9wdCB2YXJlZCB3YWl0IHdoZW5jZSB3aGVyZSB3aGljaCB6Y29tcGlsZSB6Zm9ybWF0IHpmdHAgemxlIHptb2Rsb2FkIHpwYXJzZW9wdHMgenByb2YgenB0eSB6cmVnZXhwYXJzZSB6c29ja2V0IHpzdHlsZSB6dGNwIixfOiItbmUgLWVxIC1sdCAtZ3QgLWYgLWQgLWUgLXMgLWwgLWEifSxjOlt7Y046Im1ldGEiLGI6L14jIVteXG5dK3NoXHMqJC8scjoxMH0se2NOOiJmdW5jdGlvbiIsYjovXHdbXHdcZF9dKlxzKlwoXHMqXClccypcey8sckI6ITAsYzpbZS5pbmhlcml0KGUuVE0se2I6L1x3W1x3XGRfXSovfSldLHI6MH0sZS5IQ00scyxhLHRdfX0pO2hsanMucmVnaXN0ZXJMYW5ndWFnZSgicHl0aG9uIixmdW5jdGlvbihlKXt2YXIgcj17a2V5d29yZDoiYW5kIGVsaWYgaXMgZ2xvYmFsIGFzIGluIGlmIGZyb20gcmFpc2UgZm9yIGV4Y2VwdCBmaW5hbGx5IHByaW50IGltcG9ydCBwYXNzIHJldHVybiBleGVjIGVsc2UgYnJlYWsgbm90IHdpdGggY2xhc3MgYXNzZXJ0IHlpZWxkIHRyeSB3aGlsZSBjb250aW51ZSBkZWwgb3IgZGVmIGxhbWJkYSBhc3luYyBhd2FpdCBub25sb2NhbHwxMCBOb25lIFRydWUgRmFsc2UiLGJ1aWx0X2luOiJFbGxpcHNpcyBOb3RJbXBsZW1lbnRlZCJ9LGI9e2NOOiJtZXRhIixiOi9eKD4+PnxcLlwuXC4pIC99LGM9e2NOOiJzdWJzdCIsYjovXHsvLGU6L1x9LyxrOnIsaTovIy99LGE9e2NOOiJzdHJpbmciLGM6W2UuQkVdLHY6W3tiOi8odXxiKT9yPycnJy8sZTovJycnLyxjOltiXSxyOjEwfSx7YjovKHV8Yik/cj8iIiIvLGU6LyIiIi8sYzpbYl0scjoxMH0se2I6LyhmcnxyZnxmKScnJy8sZTovJycnLyxjOltiLGNdfSx7YjovKGZyfHJmfGYpIiIiLyxlOi8iIiIvLGM6W2IsY119LHtiOi8odXxyfHVyKScvLGU6LycvLHI6MTB9LHtiOi8odXxyfHVyKSIvLGU6LyIvLHI6MTB9LHtiOi8oYnxiciknLyxlOi8nL30se2I6LyhifGJyKSIvLGU6LyIvfSx7YjovKGZyfHJmfGYpJy8sZTovJy8sYzpbY119LHtiOi8oZnJ8cmZ8ZikiLyxlOi8iLyxjOltjXX0sZS5BU00sZS5RU01dfSxzPXtjTjoibnVtYmVyIixyOjAsdjpbe2I6ZS5CTlIrIltsTGpKXT8ifSx7YjoiXFxiKDBvWzAtN10rKVtsTGpKXT8ifSx7YjplLkNOUisiW2xMakpdPyJ9XX0saT17Y046InBhcmFtcyIsYjovXCgvLGU6L1wpLyxjOlsic2VsZiIsYixzLGFdfTtyZXR1cm4gYy5jPVthLHMsYl0se2FsaWFzZXM6WyJweSIsImd5cCJdLGs6cixpOi8oPFwvfC0+fFw/KXw9Pi8sYzpbYixzLGEsZS5IQ00se3Y6W3tjTjoiZnVuY3Rpb24iLGJLOiJkZWYifSx7Y046ImNsYXNzIixiSzoiY2xhc3MifV0sZTovOi8saTovWyR7PTtcbixdLyxjOltlLlVUTSxpLHtiOi8tPi8sZVc6ITAsazoiTm9uZSJ9XX0se2NOOiJtZXRhIixiOi9eW1x0IF0qQC8sZTovJC99LHtiOi9cYihwcmludHxleGVjKVwoL31dfX0pO2hsanMucmVnaXN0ZXJMYW5ndWFnZSgianVsaWEiLGZ1bmN0aW9uKGUpe3ZhciByPXtrZXl3b3JkOiJpbiBpc2Egd2hlcmUgYmFyZW1vZHVsZSBiZWdpbiBicmVhayBjYXRjaCBjY2FsbCBjb25zdCBjb250aW51ZSBkbyBlbHNlIGVsc2VpZiBlbmQgZXhwb3J0IGZhbHNlIGZpbmFsbHkgZm9yIGZ1bmN0aW9uIGdsb2JhbCBpZiBpbXBvcnQgaW1wb3J0YWxsIGxldCBsb2NhbCBtYWNybyBtb2R1bGUgcXVvdGUgcmV0dXJuIHRydWUgdHJ5IHVzaW5nIHdoaWxlIHR5cGUgaW1tdXRhYmxlIGFic3RyYWN0IGJpdHN0eXBlIHR5cGVhbGlhcyAiLGxpdGVyYWw6InRydWUgZmFsc2UgQVJHUyBDX05VTEwgRGV2TnVsbCBFTkRJQU5fQk9NIEVOViBJIEluZiBJbmYxNiBJbmYzMiBJbmY2NCBJbnNlcnRpb25Tb3J0IEpVTElBX0hPTUUgTE9BRF9QQVRIIE1lcmdlU29ydCBOYU4gTmFOMTYgTmFOMzIgTmFONjQgUFJPR1JBTV9GSUxFIFF1aWNrU29ydCBSb3VuZERvd24gUm91bmRGcm9tWmVybyBSb3VuZE5lYXJlc3QgUm91bmROZWFyZXN0VGllc0F3YXkgUm91bmROZWFyZXN0VGllc1VwIFJvdW5kVG9aZXJvIFJvdW5kVXAgU1RERVJSIFNURElOIFNURE9VVCBWRVJTSU9OIGNhdGFsYW4gZXwwIGV1fDAgZXVsZXJnYW1tYSBnb2xkZW4gaW0gbm90aGluZyBwaSDOsyDPgCDPhiAiLGJ1aWx0X2luOiJBTlkgQWJzdHJhY3RBcnJheSBBYnN0cmFjdENoYW5uZWwgQWJzdHJhY3RGbG9hdCBBYnN0cmFjdE1hdHJpeCBBYnN0cmFjdFJORyBBYnN0cmFjdFNlcmlhbGl6ZXIgQWJzdHJhY3RTZXQgQWJzdHJhY3RTcGFyc2VBcnJheSBBYnN0cmFjdFNwYXJzZU1hdHJpeCBBYnN0cmFjdFNwYXJzZVZlY3RvciBBYnN0cmFjdFN0cmluZyBBYnN0cmFjdFVuaXRSYW5nZSBBYnN0cmFjdFZlY09yTWF0IEFic3RyYWN0VmVjdG9yIEFueSBBcmd1bWVudEVycm9yIEFycmF5IEFzc2VydGlvbkVycm9yIEFzc29jaWF0aXZlIEJhc2U2NERlY29kZVBpcGUgQmFzZTY0RW5jb2RlUGlwZSBCaWRpYWdvbmFsIEJpZ0Zsb2F0IEJpZ0ludCBCaXRBcnJheSBCaXRNYXRyaXggQml0VmVjdG9yIEJvb2wgQm91bmRzRXJyb3IgQnVmZmVyU3RyZWFtIENhY2hpbmdQb29sIENhcHR1cmVkRXhjZXB0aW9uIENhcnRlc2lhbkluZGV4IENhcnRlc2lhblJhbmdlIENjaGFyIENkb3VibGUgQ2Zsb2F0IENoYW5uZWwgQ2hhciBDaW50IENpbnRtYXhfdCBDbG9uZyBDbG9uZ2xvbmcgQ2x1c3Rlck1hbmFnZXIgQ21kIENvZGVJbmZvIENvbG9uIENvbXBsZXggQ29tcGxleDEyOCBDb21wbGV4MzIgQ29tcGxleDY0IENvbXBvc2l0ZUV4Y2VwdGlvbiBDb25kaXRpb24gQ29uakFycmF5IENvbmpNYXRyaXggQ29ualZlY3RvciBDcHRyZGlmZl90IENzaG9ydCBDc2l6ZV90IENzc2l6ZV90IENzdHJpbmcgQ3VjaGFyIEN1aW50IEN1aW50bWF4X3QgQ3Vsb25nIEN1bG9uZ2xvbmcgQ3VzaG9ydCBDd2NoYXJfdCBDd3N0cmluZyBEYXRhVHlwZSBEYXRlIERhdGVGb3JtYXQgRGF0ZVRpbWUgRGVuc2VBcnJheSBEZW5zZU1hdHJpeCBEZW5zZVZlY09yTWF0IERlbnNlVmVjdG9yIERpYWdvbmFsIERpY3QgRGltZW5zaW9uTWlzbWF0Y2ggRGltcyBEaXJlY3RJbmRleFN0cmluZyBEaXNwbGF5IERpdmlkZUVycm9yIERvbWFpbkVycm9yIEVPRkVycm9yIEVhY2hMaW5lIEVudW0gRW51bWVyYXRlIEVycm9yRXhjZXB0aW9uIEV4Y2VwdGlvbiBFeHBvbmVudGlhbEJhY2tPZmYgRXhwciBGYWN0b3JpemF0aW9uIEZpbGVNb25pdG9yIEZsb2F0MTYgRmxvYXQzMiBGbG9hdDY0IEZ1bmN0aW9uIEZ1dHVyZSBHbG9iYWxSZWYgR290b05vZGUgSFRNTCBIZXJtaXRpYW4gSU8gSU9CdWZmZXIgSU9Db250ZXh0IElPU3RyZWFtIElQQWRkciBJUHY0IElQdjYgSW5kZXhDYXJ0ZXNpYW4gSW5kZXhMaW5lYXIgSW5kZXhTdHlsZSBJbmV4YWN0RXJyb3IgSW5pdEVycm9yIEludCBJbnQxMjggSW50MTYgSW50MzIgSW50NjQgSW50OCBJbnRTZXQgSW50ZWdlciBJbnRlcnJ1cHRFeGNlcHRpb24gSW52YWxpZFN0YXRlRXhjZXB0aW9uIElycmF0aW9uYWwgS2V5RXJyb3IgTGFiZWxOb2RlIExpblNwYWNlIExpbmVOdW1iZXJOb2RlIExvYWRFcnJvciBMb3dlclRyaWFuZ3VsYXIgTUlNRSBNYXRyaXggTWVyc2VubmVUd2lzdGVyIE1ldGhvZCBNZXRob2RFcnJvciBNZXRob2RUYWJsZSBNb2R1bGUgTlR1cGxlIE5ld3Zhck5vZGUgTnVsbEV4Y2VwdGlvbiBOdWxsYWJsZSBOdW1iZXIgT2JqZWN0SWREaWN0IE9yZGluYWxSYW5nZSBPdXRPZk1lbW9yeUVycm9yIE92ZXJmbG93RXJyb3IgUGFpciBQYXJzZUVycm9yIFBhcnRpYWxRdWlja1NvcnQgUGVybXV0ZWREaW1zQXJyYXkgUGlwZSBQb2xsaW5nRmlsZVdhdGNoZXIgUHJvY2Vzc0V4aXRlZEV4Y2VwdGlvbiBQdHIgUXVvdGVOb2RlIFJhbmRvbURldmljZSBSYW5nZSBSYW5nZUluZGV4IFJhdGlvbmFsIFJhd0ZEIFJlYWRPbmx5TWVtb3J5RXJyb3IgUmVhbCBSZWVudHJhbnRMb2NrIFJlZiBSZWdleCBSZWdleE1hdGNoIFJlbW90ZUNoYW5uZWwgUmVtb3RlRXhjZXB0aW9uIFJldlN0cmluZyBSb3VuZGluZ01vZGUgUm93VmVjdG9yIFNTQVZhbHVlIFNlZ21lbnRhdGlvbkZhdWx0IFNlcmlhbGl6YXRpb25TdGF0ZSBTZXQgU2hhcmVkQXJyYXkgU2hhcmVkTWF0cml4IFNoYXJlZFZlY3RvciBTaWduZWQgU2ltcGxlVmVjdG9yIFNsb3QgU2xvdE51bWJlciBTcGFyc2VNYXRyaXhDU0MgU3BhcnNlVmVjdG9yIFN0YWNrRnJhbWUgU3RhY2tPdmVyZmxvd0Vycm9yIFN0YWNrVHJhY2UgU3RlcFJhbmdlIFN0ZXBSYW5nZUxlbiBTdHJpZGVkQXJyYXkgU3RyaWRlZE1hdHJpeCBTdHJpZGVkVmVjT3JNYXQgU3RyaWRlZFZlY3RvciBTdHJpbmcgU3ViQXJyYXkgU3ViU3RyaW5nIFN5bVRyaWRpYWdvbmFsIFN5bWJvbCBTeW1tZXRyaWMgU3lzdGVtRXJyb3IgVENQU29ja2V0IFRhc2sgVGV4dCBUZXh0RGlzcGxheSBUaW1lciBUcmlkaWFnb25hbCBUdXBsZSBUeXBlIFR5cGVFcnJvciBUeXBlTWFwRW50cnkgVHlwZU1hcExldmVsIFR5cGVOYW1lIFR5cGVWYXIgVHlwZWRTbG90IFVEUFNvY2tldCBVSW50IFVJbnQxMjggVUludDE2IFVJbnQzMiBVSW50NjQgVUludDggVW5kZWZSZWZFcnJvciBVbmRlZlZhckVycm9yIFVuaWNvZGVFcnJvciBVbmlmb3JtU2NhbGluZyBVbmlvbiBVbmlvbkFsbCBVbml0UmFuZ2UgVW5zaWduZWQgVXBwZXJUcmlhbmd1bGFyIFZhbCBWYXJhcmcgVmVjRWxlbWVudCBWZWNPck1hdCBWZWN0b3IgVmVyc2lvbk51bWJlciBWb2lkIFdlYWtLZXlEaWN0IFdlYWtSZWYgV29ya2VyQ29uZmlnIFdvcmtlclBvb2wgIn0sdD0iW0EtWmEtel9cXHUwMEExLVxcdUZGRkZdW0EtWmEtel8wLTlcXHUwMEExLVxcdUZGRkZdKiIsYT17bDp0LGs6cixpOi88XC8vfSxuPXtjTjoibnVtYmVyIixiOi8oXGIweFtcZF9dKihcLltcZF9dKik/fDB4XC5cZFtcZF9dKilwWy0rXT9cZCt8XGIwW2JveF1bYS1mQS1GMC05XVthLWZBLUYwLTlfXSp8KFxiXGRbXGRfXSooXC5bXGRfXSopP3xcLlxkW1xkX10qKShbZUVmRl1bLStdP1xkKyk/LyxyOjB9LG89e2NOOiJzdHJpbmciLGI6LycoLnxcXFt4WHVVXVthLXpBLVowLTldKyknL30saT17Y046InN1YnN0IixiOi9cJFwoLyxlOi9cKS8sazpyfSxsPXtjTjoidmFyaWFibGUiLGI6IlxcJCIrdH0sYz17Y046InN0cmluZyIsYzpbZS5CRSxpLGxdLHY6W3tiOi9cdyoiIiIvLGU6LyIiIlx3Ki8scjoxMH0se2I6L1x3KiIvLGU6LyJcdyovfV19LHM9e2NOOiJzdHJpbmciLGM6W2UuQkUsaSxsXSxiOiJgIixlOiJgIn0sZD17Y046Im1ldGEiLGI6IkAiK3R9LHU9e2NOOiJjb21tZW50Iix2Olt7YjoiIz0iLGU6Ij0jIixyOjEwfSx7YjoiIyIsZToiJCJ9XX07cmV0dXJuIGEuYz1bbixvLGMscyxkLHUsZS5IQ00se2NOOiJrZXl3b3JkIixiOiJcXGIoKChhYnN0cmFjdHxwcmltaXRpdmUpXFxzKyl0eXBlfChtdXRhYmxlXFxzKyk/c3RydWN0KVxcYiJ9LHtiOi88Oi99XSxpLmM9YS5jLGF9KTtobGpzLnJlZ2lzdGVyTGFuZ3VhZ2UoImNvZmZlZXNjcmlwdCIsZnVuY3Rpb24oZSl7dmFyIGM9e2tleXdvcmQ6ImluIGlmIGZvciB3aGlsZSBmaW5hbGx5IG5ldyBkbyByZXR1cm4gZWxzZSBicmVhayBjYXRjaCBpbnN0YW5jZW9mIHRocm93IHRyeSB0aGlzIHN3aXRjaCBjb250aW51ZSB0eXBlb2YgZGVsZXRlIGRlYnVnZ2VyIHN1cGVyIHlpZWxkIGltcG9ydCBleHBvcnQgZnJvbSBhcyBkZWZhdWx0IGF3YWl0IHRoZW4gdW5sZXNzIHVudGlsIGxvb3Agb2YgYnkgd2hlbiBhbmQgb3IgaXMgaXNudCBub3QiLGxpdGVyYWw6InRydWUgZmFsc2UgbnVsbCB1bmRlZmluZWQgeWVzIG5vIG9uIG9mZiIsYnVpbHRfaW46Im5wbSByZXF1aXJlIGNvbnNvbGUgcHJpbnQgbW9kdWxlIGdsb2JhbCB3aW5kb3cgZG9jdW1lbnQifSxuPSJbQS1aYS16JF9dWzAtOUEtWmEteiRfXSoiLHI9e2NOOiJzdWJzdCIsYjovI1x7LyxlOi99LyxrOmN9LGk9W2UuQk5NLGUuaW5oZXJpdChlLkNOTSx7c3RhcnRzOntlOiIoXFxzKi8pPyIscjowfX0pLHtjTjoic3RyaW5nIix2Olt7YjovJycnLyxlOi8nJycvLGM6W2UuQkVdfSx7YjovJy8sZTovJy8sYzpbZS5CRV19LHtiOi8iIiIvLGU6LyIiIi8sYzpbZS5CRSxyXX0se2I6LyIvLGU6LyIvLGM6W2UuQkUscl19XX0se2NOOiJyZWdleHAiLHY6W3tiOiIvLy8iLGU6Ii8vLyIsYzpbcixlLkhDTV19LHtiOiIvL1tnaW1dKiIscjowfSx7YjovXC8oPyFbICpdKShcXFwvfC4pKj9cL1tnaW1dKig/PVxXfCQpL31dfSx7YjoiQCIrbn0se3NMOiJqYXZhc2NyaXB0IixlQjohMCxlRTohMCx2Olt7YjoiYGBgIixlOiJgYGAifSx7YjoiYCIsZToiYCJ9XX1dO3IuYz1pO3ZhciBzPWUuaW5oZXJpdChlLlRNLHtiOm59KSx0PSIoXFwoLipcXCkpP1xccypcXEJbLT1dPiIsbz17Y046InBhcmFtcyIsYjoiXFwoW15cXChdIixyQjohMCxjOlt7YjovXCgvLGU6L1wpLyxrOmMsYzpbInNlbGYiXS5jb25jYXQoaSl9XX07cmV0dXJue2FsaWFzZXM6WyJjb2ZmZWUiLCJjc29uIiwiaWNlZCJdLGs6YyxpOi9cL1wqLyxjOmkuY29uY2F0KFtlLkMoIiMjIyIsIiMjIyIpLGUuSENNLHtjTjoiZnVuY3Rpb24iLGI6Il5cXHMqIituKyJcXHMqPVxccyoiK3QsZToiWy09XT4iLHJCOiEwLGM6W3Msb119LHtiOi9bOlwoLD1dXHMqLyxyOjAsYzpbe2NOOiJmdW5jdGlvbiIsYjp0LGU6IlstPV0+IixyQjohMCxjOltvXX1dfSx7Y046ImNsYXNzIixiSzoiY2xhc3MiLGU6IiQiLGk6L1s6PSJcW1xdXS8sYzpbe2JLOiJleHRlbmRzIixlVzohMCxpOi9bOj0iXFtcXV0vLGM6W3NdfSxzXX0se2I6bisiOiIsZToiOiIsckI6ITAsckU6ITAscjowfV0pfX0pO2hsanMucmVnaXN0ZXJMYW5ndWFnZSgiY3BwIixmdW5jdGlvbih0KXt2YXIgZT17Y046ImtleXdvcmQiLGI6IlxcYlthLXpcXGRfXSpfdFxcYiJ9LHI9e2NOOiJzdHJpbmciLHY6W3tiOicodTg/fFUpP0w/IicsZTonIicsaToiXFxuIixjOlt0LkJFXX0se2I6Jyh1OD98VSk/UiInLGU6JyInLGM6W3QuQkVdfSx7YjoiJ1xcXFw/LiIsZToiJyIsaToiLiJ9XX0scz17Y046Im51bWJlciIsdjpbe2I6IlxcYigwYlswMSddKykifSx7YjoiKC0/KVxcYihbXFxkJ10rKFxcLltcXGQnXSopP3xcXC5bXFxkJ10rKSh1fFV8bHxMfHVsfFVMfGZ8RnxifEIpIn0se2I6IigtPykoXFxiMFt4WF1bYS1mQS1GMC05J10rfChcXGJbXFxkJ10rKFxcLltcXGQnXSopP3xcXC5bXFxkJ10rKShbZUVdWy0rXT9bXFxkJ10rKT8pIn1dLHI6MH0saT17Y046Im1ldGEiLGI6LyNccypbYS16XStcYi8sZTovJC8sazp7Im1ldGEta2V5d29yZCI6ImlmIGVsc2UgZWxpZiBlbmRpZiBkZWZpbmUgdW5kZWYgd2FybmluZyBlcnJvciBsaW5lIHByYWdtYSBpZmRlZiBpZm5kZWYgaW5jbHVkZSJ9LGM6W3tiOi9cXFxuLyxyOjB9LHQuaW5oZXJpdChyLHtjTjoibWV0YS1zdHJpbmcifSkse2NOOiJtZXRhLXN0cmluZyIsYjovPFteXG4+XSo+LyxlOi8kLyxpOiJcXG4ifSx0LkNMQ00sdC5DQkNNXX0sYT10LklSKyJcXHMqXFwoIixjPXtrZXl3b3JkOiJpbnQgZmxvYXQgd2hpbGUgcHJpdmF0ZSBjaGFyIGNhdGNoIGltcG9ydCBtb2R1bGUgZXhwb3J0IHZpcnR1YWwgb3BlcmF0b3Igc2l6ZW9mIGR5bmFtaWNfY2FzdHwxMCB0eXBlZGVmIGNvbnN0X2Nhc3R8MTAgY29uc3QgZm9yIHN0YXRpY19jYXN0fDEwIHVuaW9uIG5hbWVzcGFjZSB1bnNpZ25lZCBsb25nIHZvbGF0aWxlIHN0YXRpYyBwcm90ZWN0ZWQgYm9vbCB0ZW1wbGF0ZSBtdXRhYmxlIGlmIHB1YmxpYyBmcmllbmQgZG8gZ290byBhdXRvIHZvaWQgZW51bSBlbHNlIGJyZWFrIGV4dGVybiB1c2luZyBhc20gY2FzZSB0eXBlaWQgc2hvcnQgcmVpbnRlcnByZXRfY2FzdHwxMCBkZWZhdWx0IGRvdWJsZSByZWdpc3RlciBleHBsaWNpdCBzaWduZWQgdHlwZW5hbWUgdHJ5IHRoaXMgc3dpdGNoIGNvbnRpbnVlIGlubGluZSBkZWxldGUgYWxpZ25vZiBjb25zdGV4cHIgZGVjbHR5cGUgbm9leGNlcHQgc3RhdGljX2Fzc2VydCB0aHJlYWRfbG9jYWwgcmVzdHJpY3QgX0Jvb2wgY29tcGxleCBfQ29tcGxleCBfSW1hZ2luYXJ5IGF0b21pY19ib29sIGF0b21pY19jaGFyIGF0b21pY19zY2hhciBhdG9taWNfdWNoYXIgYXRvbWljX3Nob3J0IGF0b21pY191c2hvcnQgYXRvbWljX2ludCBhdG9taWNfdWludCBhdG9taWNfbG9uZyBhdG9taWNfdWxvbmcgYXRvbWljX2xsb25nIGF0b21pY191bGxvbmcgbmV3IHRocm93IHJldHVybiBhbmQgb3Igbm90IixidWlsdF9pbjoic3RkIHN0cmluZyBjaW4gY291dCBjZXJyIGNsb2cgc3RkaW4gc3Rkb3V0IHN0ZGVyciBzdHJpbmdzdHJlYW0gaXN0cmluZ3N0cmVhbSBvc3RyaW5nc3RyZWFtIGF1dG9fcHRyIGRlcXVlIGxpc3QgcXVldWUgc3RhY2sgdmVjdG9yIG1hcCBzZXQgYml0c2V0IG11bHRpc2V0IG11bHRpbWFwIHVub3JkZXJlZF9zZXQgdW5vcmRlcmVkX21hcCB1bm9yZGVyZWRfbXVsdGlzZXQgdW5vcmRlcmVkX211bHRpbWFwIGFycmF5IHNoYXJlZF9wdHIgYWJvcnQgYWJzIGFjb3MgYXNpbiBhdGFuMiBhdGFuIGNhbGxvYyBjZWlsIGNvc2ggY29zIGV4aXQgZXhwIGZhYnMgZmxvb3IgZm1vZCBmcHJpbnRmIGZwdXRzIGZyZWUgZnJleHAgZnNjYW5mIGlzYWxudW0gaXNhbHBoYSBpc2NudHJsIGlzZGlnaXQgaXNncmFwaCBpc2xvd2VyIGlzcHJpbnQgaXNwdW5jdCBpc3NwYWNlIGlzdXBwZXIgaXN4ZGlnaXQgdG9sb3dlciB0b3VwcGVyIGxhYnMgbGRleHAgbG9nMTAgbG9nIG1hbGxvYyByZWFsbG9jIG1lbWNociBtZW1jbXAgbWVtY3B5IG1lbXNldCBtb2RmIHBvdyBwcmludGYgcHV0Y2hhciBwdXRzIHNjYW5mIHNpbmggc2luIHNucHJpbnRmIHNwcmludGYgc3FydCBzc2NhbmYgc3RyY2F0IHN0cmNociBzdHJjbXAgc3RyY3B5IHN0cmNzcG4gc3RybGVuIHN0cm5jYXQgc3RybmNtcCBzdHJuY3B5IHN0cnBicmsgc3RycmNociBzdHJzcG4gc3Ryc3RyIHRhbmggdGFuIHZmcHJpbnRmIHZwcmludGYgdnNwcmludGYgZW5kbCBpbml0aWFsaXplcl9saXN0IHVuaXF1ZV9wdHIiLGxpdGVyYWw6InRydWUgZmFsc2UgbnVsbHB0ciBOVUxMIn0sbj1bZSx0LkNMQ00sdC5DQkNNLHMscl07cmV0dXJue2FsaWFzZXM6WyJjIiwiY2MiLCJoIiwiYysrIiwiaCsrIiwiaHBwIl0sazpjLGk6IjwvIixjOm4uY29uY2F0KFtpLHtiOiJcXGIoZGVxdWV8bGlzdHxxdWV1ZXxzdGFja3x2ZWN0b3J8bWFwfHNldHxiaXRzZXR8bXVsdGlzZXR8bXVsdGltYXB8dW5vcmRlcmVkX21hcHx1bm9yZGVyZWRfc2V0fHVub3JkZXJlZF9tdWx0aXNldHx1bm9yZGVyZWRfbXVsdGltYXB8YXJyYXkpXFxzKjwiLGU6Ij4iLGs6YyxjOlsic2VsZiIsZV19LHtiOnQuSVIrIjo6IixrOmN9LHt2Olt7YjovPS8sZTovOy99LHtiOi9cKC8sZTovXCkvfSx7Yks6Im5ldyB0aHJvdyByZXR1cm4gZWxzZSIsZTovOy99XSxrOmMsYzpuLmNvbmNhdChbe2I6L1woLyxlOi9cKS8sazpjLGM6bi5jb25jYXQoWyJzZWxmIl0pLHI6MH1dKSxyOjB9LHtjTjoiZnVuY3Rpb24iLGI6IigiK3QuSVIrIltcXComXFxzXSspKyIrYSxyQjohMCxlOi9bezs9XS8sZUU6ITAsazpjLGk6L1teXHdcc1wqJl0vLGM6W3tiOmEsckI6ITAsYzpbdC5UTV0scjowfSx7Y046InBhcmFtcyIsYjovXCgvLGU6L1wpLyxrOmMscjowLGM6W3QuQ0xDTSx0LkNCQ00scixzLGVdfSx0LkNMQ00sdC5DQkNNLGldfSx7Y046ImNsYXNzIixiSzoiY2xhc3Mgc3RydWN0IixlOi9bezs6XS8sYzpbe2I6LzwvLGU6Lz4vLGM6WyJzZWxmIl19LHQuVE1dfV0pLGV4cG9ydHM6e3ByZXByb2Nlc3NvcjppLHN0cmluZ3M6cixrOmN9fX0pO2hsanMucmVnaXN0ZXJMYW5ndWFnZSgicnVieSIsZnVuY3Rpb24oZSl7dmFyIGI9IlthLXpBLVpfXVxcdypbIT89XT98Wy0rfl1cXEB8PDx8Pj58PX58PT09P3w8PT58Wzw+XT0/fFxcKlxcKnxbLS8rJV4mKn5gfF18XFxbXFxdPT8iLHI9e2tleXdvcmQ6ImFuZCB0aGVuIGRlZmluZWQgbW9kdWxlIGluIHJldHVybiByZWRvIGlmIEJFR0lOIHJldHJ5IGVuZCBmb3Igc2VsZiB3aGVuIG5leHQgdW50aWwgZG8gYmVnaW4gdW5sZXNzIEVORCByZXNjdWUgZWxzZSBicmVhayB1bmRlZiBub3Qgc3VwZXIgY2xhc3MgY2FzZSByZXF1aXJlIHlpZWxkIGFsaWFzIHdoaWxlIGVuc3VyZSBlbHNpZiBvciBpbmNsdWRlIGF0dHJfcmVhZGVyIGF0dHJfd3JpdGVyIGF0dHJfYWNjZXNzb3IiLGxpdGVyYWw6InRydWUgZmFsc2UgbmlsIn0sYz17Y046ImRvY3RhZyIsYjoiQFtBLVphLXpdKyJ9LGE9e2I6IiM8IixlOiI+In0scz1bZS5DKCIjIiwiJCIse2M6W2NdfSksZS5DKCJeXFw9YmVnaW4iLCJeXFw9ZW5kIix7YzpbY10scjoxMH0pLGUuQygiXl9fRU5EX18iLCJcXG4kIildLG49e2NOOiJzdWJzdCIsYjoiI1xceyIsZToifSIsazpyfSx0PXtjTjoic3RyaW5nIixjOltlLkJFLG5dLHY6W3tiOi8nLyxlOi8nL30se2I6LyIvLGU6LyIvfSx7YjovYC8sZTovYC99LHtiOiIlW3FRd1d4XT9cXCgiLGU6IlxcKSJ9LHtiOiIlW3FRd1d4XT9cXFsiLGU6IlxcXSJ9LHtiOiIlW3FRd1d4XT97IixlOiJ9In0se2I6IiVbcVF3V3hdPzwiLGU6Ij4ifSx7YjoiJVtxUXdXeF0/LyIsZToiLyJ9LHtiOiIlW3FRd1d4XT8lIixlOiIlIn0se2I6IiVbcVF3V3hdPy0iLGU6Ii0ifSx7YjoiJVtxUXdXeF0/XFx8IixlOiJcXHwifSx7YjovXEJcPyhcXFxkezEsM318XFx4W0EtRmEtZjAtOV17MSwyfXxcXHVbQS1GYS1mMC05XXs0fXxcXD9cUylcYi99LHtiOi88PCgtPylcdyskLyxlOi9eXHMqXHcrJC99XX0saT17Y046InBhcmFtcyIsYjoiXFwoIixlOiJcXCkiLGVuZHNQYXJlbnQ6ITAsazpyfSxkPVt0LGEse2NOOiJjbGFzcyIsYks6ImNsYXNzIG1vZHVsZSIsZToiJHw7IixpOi89LyxjOltlLmluaGVyaXQoZS5UTSx7YjoiW0EtWmEtel9dXFx3Kig6OlxcdyspKihcXD98XFwhKT8ifSkse2I6IjxcXHMqIixjOlt7YjoiKCIrZS5JUisiOjopPyIrZS5JUn1dfV0uY29uY2F0KHMpfSx7Y046ImZ1bmN0aW9uIixiSzoiZGVmIixlOiIkfDsiLGM6W2UuaW5oZXJpdChlLlRNLHtiOmJ9KSxpXS5jb25jYXQocyl9LHtiOmUuSVIrIjo6In0se2NOOiJzeW1ib2wiLGI6ZS5VSVIrIihcXCF8XFw/KT86IixyOjB9LHtjTjoic3ltYm9sIixiOiI6KD8hXFxzKSIsYzpbdCx7YjpifV0scjowfSx7Y046Im51bWJlciIsYjoiKFxcYjBbMC03X10rKXwoXFxiMHhbMC05YS1mQS1GX10rKXwoXFxiWzEtOV1bMC05X10qKFxcLlswLTlfXSspPyl8WzBfXVxcYiIscjowfSx7YjoiKFxcJFxcVyl8KChcXCR8XFxAXFxAPykoXFx3KykpIn0se2NOOiJwYXJhbXMiLGI6L1x8LyxlOi9cfC8sazpyfSx7YjoiKCIrZS5SU1IrInx1bmxlc3MpXFxzKiIsazoidW5sZXNzIixjOlthLHtjTjoicmVnZXhwIixjOltlLkJFLG5dLGk6L1xuLyx2Olt7YjoiLyIsZToiL1thLXpdKiJ9LHtiOiIlcnsiLGU6In1bYS16XSoifSx7YjoiJXJcXCgiLGU6IlxcKVthLXpdKiJ9LHtiOiIlciEiLGU6IiFbYS16XSoifSx7YjoiJXJcXFsiLGU6IlxcXVthLXpdKiJ9XX1dLmNvbmNhdChzKSxyOjB9XS5jb25jYXQocyk7bi5jPWQsaS5jPWQ7dmFyIGw9Ils+P10+IixvPSJbXFx3I10rXFwoXFx3K1xcKTpcXGQrOlxcZCs+Iix1PSIoXFx3Ky0pP1xcZCtcXC5cXGQrXFwuXFxkKHBcXGQrKT9bXj5dKz4iLHc9W3tiOi9eXHMqPT4vLHN0YXJ0czp7ZToiJCIsYzpkfX0se2NOOiJtZXRhIixiOiJeKCIrbCsifCIrbysifCIrdSsiKSIsc3RhcnRzOntlOiIkIixjOmR9fV07cmV0dXJue2FsaWFzZXM6WyJyYiIsImdlbXNwZWMiLCJwb2RzcGVjIiwidGhvciIsImlyYiJdLGs6cixpOi9cL1wqLyxjOnMuY29uY2F0KHcpLmNvbmNhdChkKX19KTtobGpzLnJlZ2lzdGVyTGFuZ3VhZ2UoInlhbWwiLGZ1bmN0aW9uKGUpe3ZhciBiPSJ0cnVlIGZhbHNlIHllcyBubyBudWxsIixhPSJeWyBcXC1dKiIscj0iW2EtekEtWl9dW1xcd1xcLV0qIix0PXtjTjoiYXR0ciIsdjpbe2I6YStyKyI6In0se2I6YSsnIicrcisnIjonfSx7YjphKyInIityKyInOiJ9XX0sYz17Y046InRlbXBsYXRlLXZhcmlhYmxlIix2Olt7Yjoie3siLGU6In19In0se2I6IiV7IixlOiJ9In1dfSxsPXtjTjoic3RyaW5nIixyOjAsdjpbe2I6LycvLGU6LycvfSx7YjovIi8sZTovIi99LHtiOi9cUysvfV0sYzpbZS5CRSxjXX07cmV0dXJue2NJOiEwLGFsaWFzZXM6WyJ5bWwiLCJZQU1MIiwieWFtbCJdLGM6W3Qse2NOOiJtZXRhIixiOiJeLS0tcyokIixyOjEwfSx7Y046InN0cmluZyIsYjoiW1xcfD5dICokIixyRTohMCxjOmwuYyxlOnQudlswXS5ifSx7YjoiPCVbJT0tXT8iLGU6IlslLV0/JT4iLHNMOiJydWJ5IixlQjohMCxlRTohMCxyOjB9LHtjTjoidHlwZSIsYjoiISEiK2UuVUlSfSx7Y046Im1ldGEiLGI6IiYiK2UuVUlSKyIkIn0se2NOOiJtZXRhIixiOiJcXCoiK2UuVUlSKyIkIn0se2NOOiJidWxsZXQiLGI6Il4gKi0iLHI6MH0sZS5IQ00se2JLOmIsazp7bGl0ZXJhbDpifX0sZS5DTk0sbF19fSk7aGxqcy5yZWdpc3Rlckxhbmd1YWdlKCJjc3MiLGZ1bmN0aW9uKGUpe3ZhciBjPSJbYS16QS1aLV1bYS16QS1aMC05Xy1dKiIsdD17YjovW0EtWlxfXC5cLV0rXHMqOi8sckI6ITAsZToiOyIsZVc6ITAsYzpbe2NOOiJhdHRyaWJ1dGUiLGI6L1xTLyxlOiI6IixlRTohMCxzdGFydHM6e2VXOiEwLGVFOiEwLGM6W3tiOi9bXHctXStcKC8sckI6ITAsYzpbe2NOOiJidWlsdF9pbiIsYjovW1x3LV0rL30se2I6L1woLyxlOi9cKS8sYzpbZS5BU00sZS5RU01dfV19LGUuQ1NTTk0sZS5RU00sZS5BU00sZS5DQkNNLHtjTjoibnVtYmVyIixiOiIjWzAtOUEtRmEtZl0rIn0se2NOOiJtZXRhIixiOiIhaW1wb3J0YW50In1dfX1dfTtyZXR1cm57Y0k6ITAsaTovWz1cL3wnXCRdLyxjOltlLkNCQ00se2NOOiJzZWxlY3Rvci1pZCIsYjovI1tBLVphLXowLTlfLV0rL30se2NOOiJzZWxlY3Rvci1jbGFzcyIsYjovXC5bQS1aYS16MC05Xy1dKy99LHtjTjoic2VsZWN0b3ItYXR0ciIsYjovXFsvLGU6L1xdLyxpOiIkIn0se2NOOiJzZWxlY3Rvci1wc2V1ZG8iLGI6LzooOik/W2EtekEtWjAtOVxfXC1cK1woXCkiJy5dKy99LHtiOiJAKGZvbnQtZmFjZXxwYWdlKSIsbDoiW2Etei1dKyIsazoiZm9udC1mYWNlIHBhZ2UifSx7YjoiQCIsZToiW3s7XSIsaTovOi8sYzpbe2NOOiJrZXl3b3JkIixiOi9cdysvfSx7YjovXHMvLGVXOiEwLGVFOiEwLHI6MCxjOltlLkFTTSxlLlFTTSxlLkNTU05NXX1dfSx7Y046InNlbGVjdG9yLXRhZyIsYjpjLHI6MH0se2I6InsiLGU6In0iLGk6L1xTLyxjOltlLkNCQ00sdF19XX19KTtobGpzLnJlZ2lzdGVyTGFuZ3VhZ2UoImZvcnRyYW4iLGZ1bmN0aW9uKGUpe3ZhciB0PXtjTjoicGFyYW1zIixiOiJcXCgiLGU6IlxcKSJ9LG49e2xpdGVyYWw6Ii5GYWxzZS4gLlRydWUuIixrZXl3b3JkOiJraW5kIGRvIHdoaWxlIHByaXZhdGUgY2FsbCBpbnRyaW5zaWMgd2hlcmUgZWxzZXdoZXJlIHR5cGUgZW5kdHlwZSBlbmRtb2R1bGUgZW5kc2VsZWN0IGVuZGludGVyZmFjZSBlbmQgZW5kZG8gZW5kaWYgaWYgZm9yYWxsIGVuZGZvcmFsbCBvbmx5IGNvbnRhaW5zIGRlZmF1bHQgcmV0dXJuIHN0b3AgdGhlbiBwdWJsaWMgc3Vicm91dGluZXwxMCBmdW5jdGlvbiBwcm9ncmFtIC5hbmQuIC5vci4gLm5vdC4gLmxlLiAuZXEuIC5nZS4gLmd0LiAubHQuIGdvdG8gc2F2ZSBlbHNlIHVzZSBtb2R1bGUgc2VsZWN0IGNhc2UgYWNjZXNzIGJsYW5rIGRpcmVjdCBleGlzdCBmaWxlIGZtdCBmb3JtIGZvcm1hdHRlZCBpb3N0YXQgbmFtZSBuYW1lZCBuZXh0cmVjIG51bWJlciBvcGVuZWQgcmVjIHJlY2wgc2VxdWVudGlhbCBzdGF0dXMgdW5mb3JtYXR0ZWQgdW5pdCBjb250aW51ZSBmb3JtYXQgcGF1c2UgY3ljbGUgZXhpdCBjX251bGxfY2hhciBjX2FsZXJ0IGNfYmFja3NwYWNlIGNfZm9ybV9mZWVkIGZsdXNoIHdhaXQgZGVjaW1hbCByb3VuZCBpb21zZyBzeW5jaHJvbm91cyBub3Bhc3Mgbm9uX292ZXJyaWRhYmxlIHBhc3MgcHJvdGVjdGVkIHZvbGF0aWxlIGFic3RyYWN0IGV4dGVuZHMgaW1wb3J0IG5vbl9pbnRyaW5zaWMgdmFsdWUgZGVmZXJyZWQgZ2VuZXJpYyBmaW5hbCBlbnVtZXJhdG9yIGNsYXNzIGFzc29jaWF0ZSBiaW5kIGVudW0gY19pbnQgY19zaG9ydCBjX2xvbmcgY19sb25nX2xvbmcgY19zaWduZWRfY2hhciBjX3NpemVfdCBjX2ludDhfdCBjX2ludDE2X3QgY19pbnQzMl90IGNfaW50NjRfdCBjX2ludF9sZWFzdDhfdCBjX2ludF9sZWFzdDE2X3QgY19pbnRfbGVhc3QzMl90IGNfaW50X2xlYXN0NjRfdCBjX2ludF9mYXN0OF90IGNfaW50X2Zhc3QxNl90IGNfaW50X2Zhc3QzMl90IGNfaW50X2Zhc3Q2NF90IGNfaW50bWF4X3QgQ19pbnRwdHJfdCBjX2Zsb2F0IGNfZG91YmxlIGNfbG9uZ19kb3VibGUgY19mbG9hdF9jb21wbGV4IGNfZG91YmxlX2NvbXBsZXggY19sb25nX2RvdWJsZV9jb21wbGV4IGNfYm9vbCBjX2NoYXIgY19udWxsX3B0ciBjX251bGxfZnVucHRyIGNfbmV3X2xpbmUgY19jYXJyaWFnZV9yZXR1cm4gY19ob3Jpem9udGFsX3RhYiBjX3ZlcnRpY2FsX3RhYiBpc29fY19iaW5kaW5nIGNfbG9jIGNfZnVubG9jIGNfYXNzb2NpYXRlZCAgY19mX3BvaW50ZXIgY19wdHIgY19mdW5wdHIgaXNvX2ZvcnRyYW5fZW52IGNoYXJhY3Rlcl9zdG9yYWdlX3NpemUgZXJyb3JfdW5pdCBmaWxlX3N0b3JhZ2Vfc2l6ZSBpbnB1dF91bml0IGlvc3RhdF9lbmQgaW9zdGF0X2VvciBudW1lcmljX3N0b3JhZ2Vfc2l6ZSBvdXRwdXRfdW5pdCBjX2ZfcHJvY3BvaW50ZXIgaWVlZV9hcml0aG1ldGljIGllZWVfc3VwcG9ydF91bmRlcmZsb3dfY29udHJvbCBpZWVlX2dldF91bmRlcmZsb3dfbW9kZSBpZWVlX3NldF91bmRlcmZsb3dfbW9kZSBuZXd1bml0IGNvbnRpZ3VvdXMgcmVjdXJzaXZlIHBhZCBwb3NpdGlvbiBhY3Rpb24gZGVsaW0gcmVhZHdyaXRlIGVvciBhZHZhbmNlIG5tbCBpbnRlcmZhY2UgcHJvY2VkdXJlIG5hbWVsaXN0IGluY2x1ZGUgc2VxdWVuY2UgZWxlbWVudGFsIHB1cmUgaW50ZWdlciByZWFsIGNoYXJhY3RlciBjb21wbGV4IGxvZ2ljYWwgZGltZW5zaW9uIGFsbG9jYXRhYmxlfDEwIHBhcmFtZXRlciBleHRlcm5hbCBpbXBsaWNpdHwxMCBub25lIGRvdWJsZSBwcmVjaXNpb24gYXNzaWduIGludGVudCBvcHRpb25hbCBwb2ludGVyIHRhcmdldCBpbiBvdXQgY29tbW9uIGVxdWl2YWxlbmNlIGRhdGEiLGJ1aWx0X2luOiJhbG9nIGFsb2cxMCBhbWF4MCBhbWF4MSBhbWluMCBhbWluMSBhbW9kIGNhYnMgY2NvcyBjZXhwIGNsb2cgY3NpbiBjc3FydCBkYWJzIGRhY29zIGRhc2luIGRhdGFuIGRhdGFuMiBkY29zIGRjb3NoIGRkaW0gZGV4cCBkaW50IGRsb2cgZGxvZzEwIGRtYXgxIGRtaW4xIGRtb2QgZG5pbnQgZHNpZ24gZHNpbiBkc2luaCBkc3FydCBkdGFuIGR0YW5oIGZsb2F0IGlhYnMgaWRpbSBpZGludCBpZG5pbnQgaWZpeCBpc2lnbiBtYXgwIG1heDEgbWluMCBtaW4xIHNuZ2wgYWxnYW1hIGNkYWJzIGNkY29zIGNkZXhwIGNkbG9nIGNkc2luIGNkc3FydCBjcWFicyBjcWNvcyBjcWV4cCBjcWxvZyBjcXNpbiBjcXNxcnQgZGNtcGx4IGRjb25qZyBkZXJmIGRlcmZjIGRmbG9hdCBkZ2FtbWEgZGltYWcgZGxnYW1hIGlxaW50IHFhYnMgcWFjb3MgcWFzaW4gcWF0YW4gcWF0YW4yIHFjbXBseCBxY29uamcgcWNvcyBxY29zaCBxZGltIHFlcmYgcWVyZmMgcWV4cCBxZ2FtbWEgcWltYWcgcWxnYW1hIHFsb2cgcWxvZzEwIHFtYXgxIHFtaW4xIHFtb2QgcW5pbnQgcXNpZ24gcXNpbiBxc2luaCBxc3FydCBxdGFuIHF0YW5oIGFicyBhY29zIGFpbWFnIGFpbnQgYW5pbnQgYXNpbiBhdGFuIGF0YW4yIGNoYXIgY21wbHggY29uamcgY29zIGNvc2ggZXhwIGljaGFyIGluZGV4IGludCBsb2cgbG9nMTAgbWF4IG1pbiBuaW50IHNpZ24gc2luIHNpbmggc3FydCB0YW4gdGFuaCBwcmludCB3cml0ZSBkaW0gbGdlIGxndCBsbGUgbGx0IG1vZCBudWxsaWZ5IGFsbG9jYXRlIGRlYWxsb2NhdGUgYWRqdXN0bCBhZGp1c3RyIGFsbCBhbGxvY2F0ZWQgYW55IGFzc29jaWF0ZWQgYml0X3NpemUgYnRlc3QgY2VpbGluZyBjb3VudCBjc2hpZnQgZGF0ZV9hbmRfdGltZSBkaWdpdHMgZG90X3Byb2R1Y3QgZW9zaGlmdCBlcHNpbG9uIGV4cG9uZW50IGZsb29yIGZyYWN0aW9uIGh1Z2UgaWFuZCBpYmNsciBpYml0cyBpYnNldCBpZW9yIGlvciBpc2hmdCBpc2hmdGMgbGJvdW5kIGxlbl90cmltIG1hdG11bCBtYXhleHBvbmVudCBtYXhsb2MgbWF4dmFsIG1lcmdlIG1pbmV4cG9uZW50IG1pbmxvYyBtaW52YWwgbW9kdWxvIG12Yml0cyBuZWFyZXN0IHBhY2sgcHJlc2VudCBwcm9kdWN0IHJhZGl4IHJhbmRvbV9udW1iZXIgcmFuZG9tX3NlZWQgcmFuZ2UgcmVwZWF0IHJlc2hhcGUgcnJzcGFjaW5nIHNjYWxlIHNjYW4gc2VsZWN0ZWRfaW50X2tpbmQgc2VsZWN0ZWRfcmVhbF9raW5kIHNldF9leHBvbmVudCBzaGFwZSBzaXplIHNwYWNpbmcgc3ByZWFkIHN1bSBzeXN0ZW1fY2xvY2sgdGlueSB0cmFuc3Bvc2UgdHJpbSB1Ym91bmQgdW5wYWNrIHZlcmlmeSBhY2hhciBpYWNoYXIgdHJhbnNmZXIgZGJsZSBlbnRyeSBkcHJvZCBjcHVfdGltZSBjb21tYW5kX2FyZ3VtZW50X2NvdW50IGdldF9jb21tYW5kIGdldF9jb21tYW5kX2FyZ3VtZW50IGdldF9lbnZpcm9ubWVudF92YXJpYWJsZSBpc19pb3N0YXRfZW5kIGllZWVfYXJpdGhtZXRpYyBpZWVlX3N1cHBvcnRfdW5kZXJmbG93X2NvbnRyb2wgaWVlZV9nZXRfdW5kZXJmbG93X21vZGUgaWVlZV9zZXRfdW5kZXJmbG93X21vZGUgaXNfaW9zdGF0X2VvciBtb3ZlX2FsbG9jIG5ld19saW5lIHNlbGVjdGVkX2NoYXJfa2luZCBzYW1lX3R5cGVfYXMgZXh0ZW5kc190eXBlX29mYWNvc2ggYXNpbmggYXRhbmggYmVzc2VsX2owIGJlc3NlbF9qMSBiZXNzZWxfam4gYmVzc2VsX3kwIGJlc3NlbF95MSBiZXNzZWxfeW4gZXJmIGVyZmMgZXJmY19zY2FsZWQgZ2FtbWEgbG9nX2dhbW1hIGh5cG90IG5vcm0yIGF0b21pY19kZWZpbmUgYXRvbWljX3JlZiBleGVjdXRlX2NvbW1hbmRfbGluZSBsZWFkeiB0cmFpbHogc3RvcmFnZV9zaXplIG1lcmdlX2JpdHMgYmdlIGJndCBibGUgYmx0IGRzaGlmdGwgZHNoaWZ0ciBmaW5kbG9jIGlhbGwgaWFueSBpcGFyaXR5IGltYWdlX2luZGV4IGxjb2JvdW5kIHVjb2JvdW5kIG1hc2tsIG1hc2tyIG51bV9pbWFnZXMgcGFyaXR5IHBvcGNudCBwb3BwYXIgc2hpZnRhIHNoaWZ0bCBzaGlmdHIgdGhpc19pbWFnZSJ9O3JldHVybntjSTohMCxhbGlhc2VzOlsiZjkwIiwiZjk1Il0sazpuLGk6L1wvXCovLGM6W2UuaW5oZXJpdChlLkFTTSx7Y046InN0cmluZyIscjowfSksZS5pbmhlcml0KGUuUVNNLHtjTjoic3RyaW5nIixyOjB9KSx7Y046ImZ1bmN0aW9uIixiSzoic3Vicm91dGluZSBmdW5jdGlvbiBwcm9ncmFtIixpOiJbJHs9XFxuXSIsYzpbZS5VVE0sdF19LGUuQygiISIsIiQiLHtyOjB9KSx7Y046Im51bWJlciIsYjoiKD89XFxifFxcK3xcXC18XFwuKSg/PVxcLlxcZHxcXGQpKD86XFxkKyk/KD86XFwuP1xcZCopKD86W2RlXVsrLV0/XFxkKyk/XFxiXFwuPyIscjowfV19fSk7aGxqcy5yZWdpc3Rlckxhbmd1YWdlKCJhd2siLGZ1bmN0aW9uKGUpe3ZhciByPXtjTjoidmFyaWFibGUiLHY6W3tiOi9cJFtcd1xkI0BdW1x3XGRfXSovfSx7YjovXCRceyguKj8pfS99XX0sYj0iQkVHSU4gRU5EIGlmIGVsc2Ugd2hpbGUgZG8gZm9yIGluIGJyZWFrIGNvbnRpbnVlIGRlbGV0ZSBuZXh0IG5leHRmaWxlIGZ1bmN0aW9uIGZ1bmMgZXhpdHwxMCIsbj17Y046InN0cmluZyIsYzpbZS5CRV0sdjpbe2I6Lyh1fGIpP3I/JycnLyxlOi8nJycvLHI6MTB9LHtiOi8odXxiKT9yPyIiIi8sZTovIiIiLyxyOjEwfSx7YjovKHV8cnx1ciknLyxlOi8nLyxyOjEwfSx7YjovKHV8cnx1cikiLyxlOi8iLyxyOjEwfSx7YjovKGJ8YnIpJy8sZTovJy99LHtiOi8oYnxicikiLyxlOi8iL30sZS5BU00sZS5RU01dfTtyZXR1cm57azp7a2V5d29yZDpifSxjOltyLG4sZS5STSxlLkhDTSxlLk5NXX19KTtobGpzLnJlZ2lzdGVyTGFuZ3VhZ2UoIm1ha2VmaWxlIixmdW5jdGlvbihlKXt2YXIgaT17Y046InZhcmlhYmxlIix2Olt7YjoiXFwkXFwoIitlLlVJUisiXFwpIixjOltlLkJFXX0se2I6L1wkW0AlPD9cXlwrXCpdL31dfSxyPXtjTjoic3RyaW5nIixiOi8iLyxlOi8iLyxjOltlLkJFLGldfSxhPXtjTjoidmFyaWFibGUiLGI6L1wkXChbXHctXStccy8sZTovXCkvLGs6e2J1aWx0X2luOiJzdWJzdCBwYXRzdWJzdCBzdHJpcCBmaW5kc3RyaW5nIGZpbHRlciBmaWx0ZXItb3V0IHNvcnQgd29yZCB3b3JkbGlzdCBmaXJzdHdvcmQgbGFzdHdvcmQgZGlyIG5vdGRpciBzdWZmaXggYmFzZW5hbWUgYWRkc3VmZml4IGFkZHByZWZpeCBqb2luIHdpbGRjYXJkIHJlYWxwYXRoIGFic3BhdGggZXJyb3Igd2FybmluZyBzaGVsbCBvcmlnaW4gZmxhdm9yIGZvcmVhY2ggaWYgb3IgYW5kIGNhbGwgZXZhbCBmaWxlIHZhbHVlIn0sYzpbaV19LG49e2I6Il4iK2UuVUlSKyJcXHMqWzorP10/PSIsaToiXFxuIixyQjohMCxjOlt7YjoiXiIrZS5VSVIsZToiWzorP10/PSIsZUU6ITB9XX0sdD17Y046Im1ldGEiLGI6L15cLlBIT05ZOi8sZTovJC8sazp7Im1ldGEta2V5d29yZCI6Ii5QSE9OWSJ9LGw6L1tcLlx3XSsvfSxsPXtjTjoic2VjdGlvbiIsYjovXlteXHNdKzovLGU6LyQvLGM6W2ldfTtyZXR1cm57YWxpYXNlczpbIm1rIiwibWFrIl0sazoiZGVmaW5lIGVuZGVmIHVuZGVmaW5lIGlmZGVmIGlmbmRlZiBpZmVxIGlmbmVxIGVsc2UgZW5kaWYgaW5jbHVkZSAtaW5jbHVkZSBzaW5jbHVkZSBvdmVycmlkZSBleHBvcnQgdW5leHBvcnQgcHJpdmF0ZSB2cGF0aCIsbDovW1x3LV0rLyxjOltlLkhDTSxpLHIsYSxuLHQsbF19fSk7aGxqcy5yZWdpc3Rlckxhbmd1YWdlKCJqYXZhIixmdW5jdGlvbihlKXt2YXIgYT0iW8OALcq4YS16QS1aXyRdW8OALcq4YS16QS1aXyQwLTldKiIsdD1hKyIoPCIrYSsiKFxccyosXFxzKiIrYSsiKSo+KT8iLHI9ImZhbHNlIHN5bmNocm9uaXplZCBpbnQgYWJzdHJhY3QgZmxvYXQgcHJpdmF0ZSBjaGFyIGJvb2xlYW4gc3RhdGljIG51bGwgaWYgY29uc3QgZm9yIHRydWUgd2hpbGUgbG9uZyBzdHJpY3RmcCBmaW5hbGx5IHByb3RlY3RlZCBpbXBvcnQgbmF0aXZlIGZpbmFsIHZvaWQgZW51bSBlbHNlIGJyZWFrIHRyYW5zaWVudCBjYXRjaCBpbnN0YW5jZW9mIGJ5dGUgc3VwZXIgdm9sYXRpbGUgY2FzZSBhc3NlcnQgc2hvcnQgcGFja2FnZSBkZWZhdWx0IGRvdWJsZSBwdWJsaWMgdHJ5IHRoaXMgc3dpdGNoIGNvbnRpbnVlIHRocm93cyBwcm90ZWN0ZWQgcHVibGljIHByaXZhdGUgbW9kdWxlIHJlcXVpcmVzIGV4cG9ydHMgZG8iLHM9IlxcYigwW2JCXShbMDFdK1swMV9dK1swMV0rfFswMV0rKXwwW3hYXShbYS1mQS1GMC05XStbYS1mQS1GMC05X10rW2EtZkEtRjAtOV0rfFthLWZBLUYwLTldKyl8KChbXFxkXStbXFxkX10rW1xcZF0rfFtcXGRdKykoXFwuKFtcXGRdK1tcXGRfXStbXFxkXSt8W1xcZF0rKSk/fFxcLihbXFxkXStbXFxkX10rW1xcZF0rfFtcXGRdKykpKFtlRV1bLStdP1xcZCspPylbbExmRl0/IixjPXtjTjoibnVtYmVyIixiOnMscjowfTtyZXR1cm57YWxpYXNlczpbImpzcCJdLGs6cixpOi88XC98Iy8sYzpbZS5DKCIvXFwqXFwqIiwiXFwqLyIse3I6MCxjOlt7YjovXHcrQC8scjowfSx7Y046ImRvY3RhZyIsYjoiQFtBLVphLXpdKyJ9XX0pLGUuQ0xDTSxlLkNCQ00sZS5BU00sZS5RU00se2NOOiJjbGFzcyIsYks6ImNsYXNzIGludGVyZmFjZSIsZTovW3s7PV0vLGVFOiEwLGs6ImNsYXNzIGludGVyZmFjZSIsaTovWzoiXFtcXV0vLGM6W3tiSzoiZXh0ZW5kcyBpbXBsZW1lbnRzIn0sZS5VVE1dfSx7Yks6Im5ldyB0aHJvdyByZXR1cm4gZWxzZSIscjowfSx7Y046ImZ1bmN0aW9uIixiOiIoIit0KyJcXHMrKSsiK2UuVUlSKyJcXHMqXFwoIixyQjohMCxlOi9bezs9XS8sZUU6ITAsazpyLGM6W3tiOmUuVUlSKyJcXHMqXFwoIixyQjohMCxyOjAsYzpbZS5VVE1dfSx7Y046InBhcmFtcyIsYjovXCgvLGU6L1wpLyxrOnIscjowLGM6W2UuQVNNLGUuUVNNLGUuQ05NLGUuQ0JDTV19LGUuQ0xDTSxlLkNCQ01dfSxjLHtjTjoibWV0YSIsYjoiQFtBLVphLXpdKyJ9XX19KTtobGpzLnJlZ2lzdGVyTGFuZ3VhZ2UoInN0YW4iLGZ1bmN0aW9uKGUpe3JldHVybntjOltlLkhDTSxlLkNMQ00sZS5DQkNNLHtiOmUuVUlSLGw6ZS5VSVIsazp7bmFtZToiZm9yIGluIHdoaWxlIHJlcGVhdCB1bnRpbCBpZiB0aGVuIGVsc2UiLHN5bWJvbDoiYmVybm91bGxpIGJlcm5vdWxsaV9sb2dpdCBiaW5vbWlhbCBiaW5vbWlhbF9sb2dpdCBiZXRhX2Jpbm9taWFsIGh5cGVyZ2VvbWV0cmljIGNhdGVnb3JpY2FsIGNhdGVnb3JpY2FsX2xvZ2l0IG9yZGVyZWRfbG9naXN0aWMgbmVnX2Jpbm9taWFsIG5lZ19iaW5vbWlhbF8yIG5lZ19iaW5vbWlhbF8yX2xvZyBwb2lzc29uIHBvaXNzb25fbG9nIG11bHRpbm9taWFsIG5vcm1hbCBleHBfbW9kX25vcm1hbCBza2V3X25vcm1hbCBzdHVkZW50X3QgY2F1Y2h5IGRvdWJsZV9leHBvbmVudGlhbCBsb2dpc3RpYyBndW1iZWwgbG9nbm9ybWFsIGNoaV9zcXVhcmUgaW52X2NoaV9zcXVhcmUgc2NhbGVkX2ludl9jaGlfc3F1YXJlIGV4cG9uZW50aWFsIGludl9nYW1tYSB3ZWlidWxsIGZyZWNoZXQgcmF5bGVpZ2ggd2llbmVyIHBhcmV0byBwYXJldG9fdHlwZV8yIHZvbl9taXNlcyB1bmlmb3JtIG11bHRpX25vcm1hbCBtdWx0aV9ub3JtYWxfcHJlYyBtdWx0aV9ub3JtYWxfY2hvbGVza3kgbXVsdGlfZ3AgbXVsdGlfZ3BfY2hvbGVza3kgbXVsdGlfc3R1ZGVudF90IGdhdXNzaWFuX2RsbV9vYnMgZGlyaWNobGV0IGxral9jb3JyIGxral9jb3JyX2Nob2xlc2t5IHdpc2hhcnQgaW52X3dpc2hhcnQiLCJzZWxlY3Rvci10YWciOiJpbnQgcmVhbCB2ZWN0b3Igc2ltcGxleCB1bml0X3ZlY3RvciBvcmRlcmVkIHBvc2l0aXZlX29yZGVyZWQgcm93X3ZlY3RvciBtYXRyaXggY2hvbGVza3lfZmFjdG9yX2NvcnIgY2hvbGVza3lfZmFjdG9yX2NvdiBjb3JyX21hdHJpeCBjb3ZfbWF0cml4Iix0aXRsZToiZnVuY3Rpb25zIG1vZGVsIGRhdGEgcGFyYW1ldGVycyBxdWFudGl0aWVzIHRyYW5zZm9ybWVkIGdlbmVyYXRlZCIsbGl0ZXJhbDoidHJ1ZSBmYWxzZSJ9LHI6MH0se2NOOiJudW1iZXIiLGI6IjBbeFhdWzAtOWEtZkEtRl0rW0xpXT9cXGIiLHI6MH0se2NOOiJudW1iZXIiLGI6IjBbeFhdWzAtOWEtZkEtRl0rW0xpXT9cXGIiLHI6MH0se2NOOiJudW1iZXIiLGI6IlxcZCsoPzpbZUVdWytcXC1dP1xcZCopP0xcXGIiLHI6MH0se2NOOiJudW1iZXIiLGI6IlxcZCtcXC4oPyFcXGQpKD86aVxcYik/IixyOjB9LHtjTjoibnVtYmVyIixiOiJcXGQrKD86XFwuXFxkKik/KD86W2VFXVsrXFwtXT9cXGQqKT9pP1xcYiIscjowfSx7Y046Im51bWJlciIsYjoiXFwuXFxkKyg/OltlRV1bK1xcLV0/XFxkKik/aT9cXGIiLHI6MH1dfX0pO2hsanMucmVnaXN0ZXJMYW5ndWFnZSgiamF2YXNjcmlwdCIsZnVuY3Rpb24oZSl7dmFyIHI9IltBLVphLXokX11bMC05QS1aYS16JF9dKiIsdD17a2V5d29yZDoiaW4gb2YgaWYgZm9yIHdoaWxlIGZpbmFsbHkgdmFyIG5ldyBmdW5jdGlvbiBkbyByZXR1cm4gdm9pZCBlbHNlIGJyZWFrIGNhdGNoIGluc3RhbmNlb2Ygd2l0aCB0aHJvdyBjYXNlIGRlZmF1bHQgdHJ5IHRoaXMgc3dpdGNoIGNvbnRpbnVlIHR5cGVvZiBkZWxldGUgbGV0IHlpZWxkIGNvbnN0IGV4cG9ydCBzdXBlciBkZWJ1Z2dlciBhcyBhc3luYyBhd2FpdCBzdGF0aWMgaW1wb3J0IGZyb20gYXMiLGxpdGVyYWw6InRydWUgZmFsc2UgbnVsbCB1bmRlZmluZWQgTmFOIEluZmluaXR5IixidWlsdF9pbjoiZXZhbCBpc0Zpbml0ZSBpc05hTiBwYXJzZUZsb2F0IHBhcnNlSW50IGRlY29kZVVSSSBkZWNvZGVVUklDb21wb25lbnQgZW5jb2RlVVJJIGVuY29kZVVSSUNvbXBvbmVudCBlc2NhcGUgdW5lc2NhcGUgT2JqZWN0IEZ1bmN0aW9uIEJvb2xlYW4gRXJyb3IgRXZhbEVycm9yIEludGVybmFsRXJyb3IgUmFuZ2VFcnJvciBSZWZlcmVuY2VFcnJvciBTdG9wSXRlcmF0aW9uIFN5bnRheEVycm9yIFR5cGVFcnJvciBVUklFcnJvciBOdW1iZXIgTWF0aCBEYXRlIFN0cmluZyBSZWdFeHAgQXJyYXkgRmxvYXQzMkFycmF5IEZsb2F0NjRBcnJheSBJbnQxNkFycmF5IEludDMyQXJyYXkgSW50OEFycmF5IFVpbnQxNkFycmF5IFVpbnQzMkFycmF5IFVpbnQ4QXJyYXkgVWludDhDbGFtcGVkQXJyYXkgQXJyYXlCdWZmZXIgRGF0YVZpZXcgSlNPTiBJbnRsIGFyZ3VtZW50cyByZXF1aXJlIG1vZHVsZSBjb25zb2xlIHdpbmRvdyBkb2N1bWVudCBTeW1ib2wgU2V0IE1hcCBXZWFrU2V0IFdlYWtNYXAgUHJveHkgUmVmbGVjdCBQcm9taXNlIn0sYT17Y046Im51bWJlciIsdjpbe2I6IlxcYigwW2JCXVswMV0rKSJ9LHtiOiJcXGIoMFtvT11bMC03XSspIn0se2I6ZS5DTlJ9XSxyOjB9LG49e2NOOiJzdWJzdCIsYjoiXFwkXFx7IixlOiJcXH0iLGs6dCxjOltdfSxjPXtjTjoic3RyaW5nIixiOiJgIixlOiJgIixjOltlLkJFLG5dfTtuLmM9W2UuQVNNLGUuUVNNLGMsYSxlLlJNXTt2YXIgcz1uLmMuY29uY2F0KFtlLkNCQ00sZS5DTENNXSk7cmV0dXJue2FsaWFzZXM6WyJqcyIsImpzeCJdLGs6dCxjOlt7Y046Im1ldGEiLHI6MTAsYjovXlxzKlsnIl11c2UgKHN0cmljdHxhc20pWyciXS99LHtjTjoibWV0YSIsYjovXiMhLyxlOi8kL30sZS5BU00sZS5RU00sYyxlLkNMQ00sZS5DQkNNLGEse2I6L1t7LF1ccyovLHI6MCxjOlt7YjpyKyJcXHMqOiIsckI6ITAscjowLGM6W3tjTjoiYXR0ciIsYjpyLHI6MH1dfV19LHtiOiIoIitlLlJTUisifFxcYihjYXNlfHJldHVybnx0aHJvdylcXGIpXFxzKiIsazoicmV0dXJuIHRocm93IGNhc2UiLGM6W2UuQ0xDTSxlLkNCQ00sZS5STSx7Y046ImZ1bmN0aW9uIixiOiIoXFwoLio/XFwpfCIrcisiKVxccyo9PiIsckI6ITAsZToiXFxzKj0+IixjOlt7Y046InBhcmFtcyIsdjpbe2I6cn0se2I6L1woXHMqXCkvfSx7YjovXCgvLGU6L1wpLyxlQjohMCxlRTohMCxrOnQsYzpzfV19XX0se2I6LzwvLGU6LyhcL1x3K3xcdytcLyk+LyxzTDoieG1sIixjOlt7YjovPFx3K1xzKlwvPi8sc2tpcDohMH0se2I6LzxcdysvLGU6LyhcL1x3K3xcdytcLyk+Lyxza2lwOiEwLGM6W3tiOi88XHcrXHMqXC8+Lyxza2lwOiEwfSwic2VsZiJdfV19XSxyOjB9LHtjTjoiZnVuY3Rpb24iLGJLOiJmdW5jdGlvbiIsZTovXHsvLGVFOiEwLGM6W2UuaW5oZXJpdChlLlRNLHtiOnJ9KSx7Y046InBhcmFtcyIsYjovXCgvLGU6L1wpLyxlQjohMCxlRTohMCxjOnN9XSxpOi9cW3wlL30se2I6L1wkWyguXS99LGUuTUVUSE9EX0dVQVJELHtjTjoiY2xhc3MiLGJLOiJjbGFzcyIsZTovW3s7PV0vLGVFOiEwLGk6L1s6IlxbXF1dLyxjOlt7Yks6ImV4dGVuZHMifSxlLlVUTV19LHtiSzoiY29uc3RydWN0b3IiLGU6L1x7LyxlRTohMH1dLGk6LyMoPyEhKS99fSk7aGxqcy5yZWdpc3Rlckxhbmd1YWdlKCJ0ZXgiLGZ1bmN0aW9uKGMpe3ZhciBlPXtjTjoidGFnIixiOi9cXC8scjowLGM6W3tjTjoibmFtZSIsdjpbe2I6L1thLXpBLVrQsC3Rj9CQLdGPXStbKl0/L30se2I6L1teYS16QS1a0LAt0Y/QkC3RjzAtOV0vfV0sc3RhcnRzOntlVzohMCxyOjAsYzpbe2NOOiJzdHJpbmciLHY6W3tiOi9cWy8sZTovXF0vfSx7YjovXHsvLGU6L1x9L31dfSx7YjovXHMqPVxzKi8sZVc6ITAscjowLGM6W3tjTjoibnVtYmVyIixiOi8tP1xkKlwuP1xkKyhwdHxwY3xtbXxjbXxpbnxkZHxjY3xleHxlbSk/L31dfV19fV19O3JldHVybntjOltlLHtjTjoiZm9ybXVsYSIsYzpbZV0scjowLHY6W3tiOi9cJFwkLyxlOi9cJFwkL30se2I6L1wkLyxlOi9cJC99XX0sYy5DKCIlIiwiJCIse3I6MH0pXX19KTtobGpzLnJlZ2lzdGVyTGFuZ3VhZ2UoInhtbCIsZnVuY3Rpb24ocyl7dmFyIGU9IltBLVphLXowLTlcXC5fOi1dKyIsdD17ZVc6ITAsaTovPC8scjowLGM6W3tjTjoiYXR0ciIsYjplLHI6MH0se2I6Lz1ccyovLHI6MCxjOlt7Y046InN0cmluZyIsZW5kc1BhcmVudDohMCx2Olt7YjovIi8sZTovIi99LHtiOi8nLyxlOi8nL30se2I6L1teXHMiJz08PmBdKy99XX1dfV19O3JldHVybnthbGlhc2VzOlsiaHRtbCIsInhodG1sIiwicnNzIiwiYXRvbSIsInhqYiIsInhzZCIsInhzbCIsInBsaXN0Il0sY0k6ITAsYzpbe2NOOiJtZXRhIixiOiI8IURPQ1RZUEUiLGU6Ij4iLHI6MTAsYzpbe2I6IlxcWyIsZToiXFxdIn1dfSxzLkMoIjwhLS0iLCItLT4iLHtyOjEwfSkse2I6IjxcXCFcXFtDREFUQVxcWyIsZToiXFxdXFxdPiIscjoxMH0se2I6LzxcPyhwaHApPy8sZTovXD8+LyxzTDoicGhwIixjOlt7YjoiL1xcKiIsZToiXFwqLyIsc2tpcDohMH1dfSx7Y046InRhZyIsYjoiPHN0eWxlKD89XFxzfD58JCkiLGU6Ij4iLGs6e25hbWU6InN0eWxlIn0sYzpbdF0sc3RhcnRzOntlOiI8L3N0eWxlPiIsckU6ITAsc0w6WyJjc3MiLCJ4bWwiXX19LHtjTjoidGFnIixiOiI8c2NyaXB0KD89XFxzfD58JCkiLGU6Ij4iLGs6e25hbWU6InNjcmlwdCJ9LGM6W3RdLHN0YXJ0czp7ZToiPC9zY3JpcHQ+IixyRTohMCxzTDpbImFjdGlvbnNjcmlwdCIsImphdmFzY3JpcHQiLCJoYW5kbGViYXJzIiwieG1sIl19fSx7Y046Im1ldGEiLHY6W3tiOi88XD94bWwvLGU6L1w/Pi8scjoxMH0se2I6LzxcP1x3Ky8sZTovXD8+L31dfSx7Y046InRhZyIsYjoiPC8/IixlOiIvPz4iLGM6W3tjTjoibmFtZSIsYjovW15cLz48XHNdKy8scjowfSx0XX1dfX0pO2hsanMucmVnaXN0ZXJMYW5ndWFnZSgibWFya2Rvd24iLGZ1bmN0aW9uKGUpe3JldHVybnthbGlhc2VzOlsibWQiLCJta2Rvd24iLCJta2QiXSxjOlt7Y046InNlY3Rpb24iLHY6W3tiOiJeI3sxLDZ9IixlOiIkIn0se2I6Il4uKz9cXG5bPS1dezIsfSQifV19LHtiOiI8IixlOiI+IixzTDoieG1sIixyOjB9LHtjTjoiYnVsbGV0IixiOiJeKFsqKy1dfChcXGQrXFwuKSlcXHMrIn0se2NOOiJzdHJvbmciLGI6IlsqX117Mn0uKz9bKl9dezJ9In0se2NOOiJlbXBoYXNpcyIsdjpbe2I6IlxcKi4rP1xcKiJ9LHtiOiJfLis/XyIscjowfV19LHtjTjoicXVvdGUiLGI6Il4+XFxzKyIsZToiJCJ9LHtjTjoiY29kZSIsdjpbe2I6Il5gYGB3KnMqJCIsZToiXmBgYHMqJCJ9LHtiOiJgLis/YCJ9LHtiOiJeKCB7NH18CSkiLGU6IiQiLHI6MH1dfSx7YjoiXlstXFwqXXszLH0iLGU6IiQifSx7YjoiXFxbLis/XFxdW1xcKFxcW10uKj9bXFwpXFxdXSIsckI6ITAsYzpbe2NOOiJzdHJpbmciLGI6IlxcWyIsZToiXFxdIixlQjohMCxyRTohMCxyOjB9LHtjTjoibGluayIsYjoiXFxdXFwoIixlOiJcXCkiLGVCOiEwLGVFOiEwfSx7Y046InN5bWJvbCIsYjoiXFxdXFxbIixlOiJcXF0iLGVCOiEwLGVFOiEwfV0scjoxMH0se2I6L15cW1teXG5dK1xdOi8sckI6ITAsYzpbe2NOOiJzeW1ib2wiLGI6L1xbLyxlOi9cXS8sZUI6ITAsZUU6ITB9LHtjTjoibGluayIsYjovOlxzKi8sZTovJC8sZUI6ITB9XX1dfX0pO2hsanMucmVnaXN0ZXJMYW5ndWFnZSgianNvbiIsZnVuY3Rpb24oZSl7dmFyIGk9e2xpdGVyYWw6InRydWUgZmFsc2UgbnVsbCJ9LG49W2UuUVNNLGUuQ05NXSxyPXtlOiIsIixlVzohMCxlRTohMCxjOm4sazppfSx0PXtiOiJ7IixlOiJ9IixjOlt7Y046ImF0dHIiLGI6LyIvLGU6LyIvLGM6W2UuQkVdLGk6IlxcbiJ9LGUuaW5oZXJpdChyLHtiOi86L30pXSxpOiJcXFMifSxjPXtiOiJcXFsiLGU6IlxcXSIsYzpbZS5pbmhlcml0KHIpXSxpOiJcXFMifTtyZXR1cm4gbi5zcGxpY2Uobi5sZW5ndGgsMCx0LGMpLHtjOm4sazppLGk6IlxcUyJ9fSk7"></script> <style type="text/css">code{white-space: pre;}</style> <style type="text/css"> @@ -35,10 +35,12 @@ } </style> <script type="text/javascript"> -if (window.hljs && document.readyState && document.readyState === "complete") { - window.setTimeout(function() { - hljs.initHighlighting(); - }, 0); +if (window.hljs) { + hljs.configure({languages: []}); + hljs.initHighlightingOnLoad(); + if (document.readyState && document.readyState === "complete") { + window.setTimeout(function() { hljs.initHighlighting(); }, 0); + } } </script> @@ -217,7 +219,7 @@ <h1 class="title toc-ignore">RATs: Input and Settings</h1> <h4 class="author"><em>Kimon Froussios</em></h4> -<h4 class="date"><em>19 SEP 2017</em></h4> +<h4 class="date"><em>08 MAR 2018</em></h4> </div> @@ -238,13 +240,13 @@ <h2>Data</h2> <p>As of <code>v0.6.0</code>, input from a <code>sleuth</code> object is no longer supported by RATs. This is due to changes in Sleuth <code>v0.29</code> that made the bootstrap data no longer available. Instead, RATs already supports input directly from the Kallisto/Salmon quantifications.</p> <p>For option 1, the function <code>fish4rodents()</code> will load the data into tables suitable for option 2. Details in the respective section below.</p> <p>For options 2 and 3, the format of the tables is as in the example below. The first column contains the transcript identifiers. Subsequent columns contain the abundances.</p> -<pre><code>## target V1 V2 V3 -## 1: LC1 3 2 0 -## 2: NIA1 333 310 340 -## 3: NIA2 666 680 610 -## 4: 1A1N-1 10 11 7 -## 5: 1A1N-2 20 21 18 -## 6: 1D1C:one 0 0 0</code></pre> +<pre><code>## target V1 V2 V3 +## 1: 1A1B.a 69 96 88 +## 2: 1A1B.b 0 0 0 +## 3: LC1 3 2 0 +## 4: NIA1 333 310 340 +## 5: NIA2 666 680 610 +## 6: 1A1N-1 10 11 7</code></pre> <ul> <li>In the case of option 3, each column represents a sample. Therefore, each condition is represented by a single table containing the relevant samples.</li> <li>In the case of option 2, each column represents a bootstrap iteration and each table represents a sample. Therefore, each condition is represented by a list of tables.</li> @@ -259,12 +261,12 @@ <h3>Read counts, TPMs, etc</h3> <h2>Annotation</h2> <p>Regardless of data format, RATs also needs an annotation <code>data.frame</code> or <code>data.table</code> that matches transcript identifiers to gene identifiers. By default the column labels are <code>target_id</code> for the transcript IDs and <code>parent_id</code> for the gene IDs. These label values can be overridden (see Additional Settings later in this vignette). The annotation table looks like this:</p> <pre><code>## target_id parent_id -## 1 NIB.1 NIB -## 2 1A1N-2 1A1N -## 3 1D1C:one 1D1C -## 4 1D1C:two 1D1C -## 5 1B1C.1 1B1C -## 6 1B1C.2 1B1C</code></pre> +## 1 1A1B.a 1A1B +## 2 1A1B.b 1A1B +## 3 NIB.1 NIB +## 4 1A1N-2 1A1N +## 5 1D1C:one 1D1C +## 6 1D1C:two 1D1C</code></pre> <p>Such a table can be compiled with a variety of methods and from a variety of resources. RATs provides functionality to create this table from a GTF file. (<strong>Note:</strong> GFF3 is not supported for this)</p> <pre class="r"><code># Extract transcript ID to gene ID index from a GTF annotation. myannot <- annot2ids("my_annotation_file.gtf")</code></pre> @@ -408,13 +410,14 @@ <h2>Thresholds</h2> <pre class="r"><code># Calling DTU with custom thresholds. mydtu <- call_DTU(annot= myannot, boot_data_A= mycond_A, boot_data_B= mycond_B, - p_thresh= 0.01, abund_thresh= 10, dprop_thres = 0.25)</code></pre> + p_thresh= 0.01, dprop_thres = 0.15, abund_thresh= 10)</code></pre> <ol style="list-style-type: decimal"> -<li><code>p_thresh</code> - Statistical significance level. P-values below this will be considered significant. Lower threshold values are stricter. (Default 0.05)</li> -<li><code>abund_thresh</code> - Noise threshold. Transcripts with abundance below that value in both conditions are ignored. Higher threshold values are stricter. (Default 5, assumes abundances scaled to library size)</li> -<li><code>dprop_thresh</code> - Effect size threshold. Transcripts whose proportion changes between conditions by less than the threshold are considered non-DTU, regardless of their statistical significance. Higher threshold values are stricter. (Default 0.20)</li> +<li><code>p_thresh</code> - Statistical significance level. P-values below this will be considered significant. Lower threshold values are stricter, and help reduce low-count low-confidence calls. (Default 0.05, very permissive)</li> +<li><code>dprop_thresh</code> - Effect size threshold. Transcripts whose proportion changes between conditions by less than this threshold are considered uninteresting, regardless of their statistical significance. (Default 0.20, quite strict)</li> +<li><code>abund_thresh</code> - Noise threshold. Minimum mean (across replicates) abundance for a transcript to be considered expressed. Transcripts with mean abundances below this will be ignored. Mean total gene count must also meet this value in both conditions, a.k.a. at least one expressed isoform must exist in each condition. (Default 5, very permissive)</li> </ol> -<p>The default values for these thresholds have been chosen such that they achieve a <em>median</em> FDR <5% for a high quality dataset from <em>Arabidopsis thaliana</em>, even with only 3 replicates per condition. Your mileage may vary and you should give some consideration to selecting appropriate values. Depending on the settings, <em>additional thresholds</em> are available and will be discussed in their respective sections below.</p> +<p>The default values for these thresholds have been chosen such that they achieve a <em>median</em> FDR <5% for a high quality dataset from <em>Arabidopsis thaliana</em>, even with only 3 replicates per condition. Your mileage may vary and you should give some consideration to selecting appropriate values.</p> +<p>Depending on the settings, <em>additional thresholds</em> are available and will be discussed in their respective sections below.</p> </div> <div id="bootstrapping" class="section level2"> <h2>Bootstrapping</h2> @@ -477,7 +480,7 @@ <h2>Multi-threading</h2> <ol style="list-style-type: decimal"> <li><code>threads</code> - The number of threads to use. (Default 1)</li> </ol> -<p>Due to core R implementation limitations, the type of multi-threading used in RATs works only in POSIX-compliant systems. Refer to the <code>parallel</code> package for details.</p> +<p>Due to core R implementation limitations, the type of multi-threading used in RATs works only in POSIX-compliant systems (Linux, Mac, not Windows). Refer to the <code>parallel</code> package for details.</p> </div> <div id="test-selection" class="section level2"> <h2>Test selection</h2> @@ -525,8 +528,8 @@ <h3>Annotation field names</h3> <div id="abundance-scaling" class="section level2"> <h2>Abundance scaling</h2> <p>As mentioned previously, various commonly-used normalised abundance units (like TPM) are scaled to an arbitrary and usually smaller-than-actual sample size (often 1 million reads or fragments). This artificially deflates the significances from count-based tests, such as those employed by RATs, and reduces the statistical power of the method.</p> -<p>To counter this, RATs provides the option to scale abundaces either equally by a single factor (such as average library size among samples) or by a vector of factors (one per sample). The former maintains any pre-existing library-size normalisation among samples. This is necessary for fold-change based methods, but RATs does not require it. Instead, using the respective actual library sizes of the samples allows the higher-throughput samples to have a bigger influence than the lower-throughput samples. This is particularly relevant if your samples have dissimilar library sizes.</p> -<p>For flexibility with different types of input, these scaling options can be applied in either of two stages: The data import step by <code>fish4rodents()</code>, or the actual testing step by <code>call_DTU()</code>. In the example examined previously, <code>fish4rodents()</code> was instructed to create TPM abundances, by normalising to 10000000 reads. Such values are useful with certain other tools that a user may also intend to use. Subsequently, these TPMs were re-scaled to meet the library size of each sample, thus providing RATs with count-like abundance values that retain the TPM’s normalisation by isoform length. However, it is not necessary to scale in two separate steps.</p> +<p>To counter this, RATs provides the option to scale abundaces either equally by a single factor (such as average library size among samples) or by a vector of factors (one per sample). The former maintains any pre-existing library-size normalisation among samples. This is necessary for fold-change based methods, but RATs does not require it. Instead, using the respective actual library sizes of the samples allows the higher-throughput samples to have a bigger influence than the lower-throughput samples. This is particularly relevant if your samples have very dissimilar library sizes.</p> +<p>For flexibility with different types of input, these scaling options can be applied in either of two stages: The data import step by <code>fish4rodents()</code>, or the actual testing step by <code>call_DTU()</code>. In the example examined previously, <code>fish4rodents()</code> was instructed to create TPM abundances, by normalising to <code>1000000</code> reads. Such values are useful with certain other tools that a user may also intend to use. Subsequently, these TPMs were re-scaled to meet the library size of each sample, thus providing RATs with count-like abundance values that retain the normalisation by isoform length. However, it is not necessary to scale in two separate steps.</p> <p>Both <code>fish4rodents()</code> and <code>call_DTU()</code> support scaling by a single value or a vector of values. If you don’t need the TPMs, you can scale directly to the desired library size(s), as in the examples below:</p> <pre class="r"><code># 1: # Scale directly to library sizes at the import step. @@ -560,7 +563,7 @@ <h2>Abundance scaling</h2> mydtu <- call_DTU(annot= myannot, boot_data_A= mydata$boot_data_A, boot_data_B= mydata$boot_data_B, scaling=c(25, 26.7, 23, 50.0, 45, 48.46, 52.36))</code></pre> -<p>You can mix and match scaling options as per your needs, so take care to ensure that the scaling you apply is appropriate. It is important to note, that if you simply run both methods with their respective defaults, you’ll effectively run RATs on TPM values, which is extremely underpowered and not recommended. Please, provide appropriate scaling factors for your data.</p> +<p>You can mix and match scaling options as per your needs, so take care to ensure that the scaling you apply is appropriate. <em>It is important to note</em>, that if you simply run both methods with their respective defaults, you’ll effectively run RATs on TPM values, which is extremely underpowered and not recommended. Please, provide appropriate scaling factors for your data.</p> <hr /> </div> </div> @@ -569,9 +572,9 @@ <h1>Annotation discrepancies</h1> <p>Different annotation versions often preserve transcript IDs, despite altering the details of the transcript model. It is important to use the same annotation throughout the workflow, otherwise the abundances will not be comparable in a meaningful way.</p> <p>All internal operations and the output of RATs are based on the annotation provided:</p> <ul> -<li>Any transcripts present in the data but missing from the annotation will be ignored completely and will not show up in the output, as there is no reliable way to match them to gene IDs.</li> -<li>Any transcript/gene present in the annotation but missing from the data will be included in the output as zero expression.</li> -<li>If the samples appear to use different annotations from one another, RATs will abort.</li> +<li>Any transcript IDs present in the data but missing from the annotation will be silently ignored and will not show up in the output, as they cannot be matched to the gene IDs.</li> +<li>Any transcript/gene ID present in the annotation but missing from the data will be included in the output as zero expression.</li> +<li>If the samples appear to have been quantified with different annotations from one another, RATs will abort.</li> </ul> <hr /> </div> diff --git a/inst/doc/output.html b/inst/doc/output.html index 7d2df92..e2ad2cb 100644 --- a/inst/doc/output.html +++ b/inst/doc/output.html @@ -25,8 +25,8 @@ <link href="data:text/css;charset=utf-8,%0A%0A%2Etocify%20%7B%0Awidth%3A%2020%25%3B%0Amax%2Dheight%3A%2090%25%3B%0Aoverflow%3A%20auto%3B%0Amargin%2Dleft%3A%202%25%3B%0Aposition%3A%20fixed%3B%0Aborder%3A%201px%20solid%20%23ccc%3B%0Awebkit%2Dborder%2Dradius%3A%206px%3B%0Amoz%2Dborder%2Dradius%3A%206px%3B%0Aborder%2Dradius%3A%206px%3B%0A%7D%0A%0A%2Etocify%20ul%2C%20%2Etocify%20li%20%7B%0Alist%2Dstyle%3A%20none%3B%0Amargin%3A%200%3B%0Apadding%3A%200%3B%0Aborder%3A%20none%3B%0Aline%2Dheight%3A%2030px%3B%0A%7D%0A%0A%2Etocify%2Dheader%20%7B%0Atext%2Dindent%3A%2010px%3B%0A%7D%0A%0A%2Etocify%2Dsubheader%20%7B%0Atext%2Dindent%3A%2020px%3B%0Adisplay%3A%20none%3B%0A%7D%0A%0A%2Etocify%2Dsubheader%20li%20%7B%0Afont%2Dsize%3A%2012px%3B%0A%7D%0A%0A%2Etocify%2Dsubheader%20%2Etocify%2Dsubheader%20%7B%0Atext%2Dindent%3A%2030px%3B%0A%7D%0A%0A%2Etocify%2Dsubheader%20%2Etocify%2Dsubheader%20%2Etocify%2Dsubheader%20%7B%0Atext%2Dindent%3A%2040px%3B%0A%7D%0A%0A%2Etocify%20%2Etocify%2Ditem%20%3E%20a%2C%20%2Etocify%20%2Enav%2Dlist%20%2Enav%2Dheader%20%7B%0Amargin%3A%200px%3B%0A%7D%0A%0A%2Etocify%20%2Etocify%2Ditem%20a%2C%20%2Etocify%20%2Elist%2Dgroup%2Ditem%20%7B%0Apadding%3A%205px%3B%0A%7D%0A%2Etocify%20%2Enav%2Dpills%20%3E%20li%20%7B%0Afloat%3A%20none%3B%0A%7D%0A%0A%0A" rel="stylesheet" /> <script src="data:application/x-javascript;base64,LyoganF1ZXJ5IFRvY2lmeSAtIHYxLjkuMSAtIDIwMTMtMTAtMjIKICogaHR0cDovL3d3dy5ncmVnZnJhbmtvLmNvbS9qcXVlcnkudG9jaWZ5LmpzLwogKiBDb3B5cmlnaHQgKGMpIDIwMTMgR3JlZyBGcmFua287IExpY2Vuc2VkIE1JVCAqLwoKLy8gSW1tZWRpYXRlbHktSW52b2tlZCBGdW5jdGlvbiBFeHByZXNzaW9uIChJSUZFKSBbQmVuIEFsbWFuIEJsb2cgUG9zdF0oaHR0cDovL2JlbmFsbWFuLmNvbS9uZXdzLzIwMTAvMTEvaW1tZWRpYXRlbHktaW52b2tlZC1mdW5jdGlvbi1leHByZXNzaW9uLykgdGhhdCBjYWxscyBhbm90aGVyIElJRkUgdGhhdCBjb250YWlucyBhbGwgb2YgdGhlIHBsdWdpbiBsb2dpYy4gIEkgdXNlZCB0aGlzIHBhdHRlcm4gc28gdGhhdCBhbnlvbmUgdmlld2luZyB0aGlzIGNvZGUgd291bGQgbm90IGhhdmUgdG8gc2Nyb2xsIHRvIHRoZSBib3R0b20gb2YgdGhlIHBhZ2UgdG8gdmlldyB0aGUgbG9jYWwgcGFyYW1ldGVycyB0aGF0IHdlcmUgcGFzc2VkIHRvIHRoZSBtYWluIElJRkUuCihmdW5jdGlvbih0b2NpZnkpIHsKCiAgICAvLyBFQ01BU2NyaXB0IDUgU3RyaWN0IE1vZGU6IFtKb2huIFJlc2lnIEJsb2cgUG9zdF0oaHR0cDovL2Vqb2huLm9yZy9ibG9nL2VjbWFzY3JpcHQtNS1zdHJpY3QtbW9kZS1qc29uLWFuZC1tb3JlLykKICAgICJ1c2Ugc3RyaWN0IjsKCiAgICAvLyBDYWxscyB0aGUgc2Vjb25kIElJRkUgYW5kIGxvY2FsbHkgcGFzc2VzIGluIHRoZSBnbG9iYWwgalF1ZXJ5LCB3aW5kb3csIGFuZCBkb2N1bWVudCBvYmplY3RzCiAgICB0b2NpZnkod2luZG93LmpRdWVyeSwgd2luZG93LCBkb2N1bWVudCk7CgogIH0KCiAgLy8gTG9jYWxseSBwYXNzZXMgaW4gYGpRdWVyeWAsIHRoZSBgd2luZG93YCBvYmplY3QsIHRoZSBgZG9jdW1lbnRgIG9iamVjdCwgYW5kIGFuIGB1bmRlZmluZWRgIHZhcmlhYmxlLiAgVGhlIGBqUXVlcnlgLCBgd2luZG93YCBhbmQgYGRvY3VtZW50YCBvYmplY3RzIGFyZSBwYXNzZWQgaW4gbG9jYWxseSwgdG8gaW1wcm92ZSBwZXJmb3JtYW5jZSwgc2luY2UgamF2YXNjcmlwdCBmaXJzdCBzZWFyY2hlcyBmb3IgYSB2YXJpYWJsZSBtYXRjaCB3aXRoaW4gdGhlIGxvY2FsIHZhcmlhYmxlcyBzZXQgYmVmb3JlIHNlYXJjaGluZyB0aGUgZ2xvYmFsIHZhcmlhYmxlcyBzZXQuICBBbGwgb2YgdGhlIGdsb2JhbCB2YXJpYWJsZXMgYXJlIGFsc28gcGFzc2VkIGluIGxvY2FsbHkgdG8gYmUgbWluaWZpZXIgZnJpZW5kbHkuIGB1bmRlZmluZWRgIGNhbiBiZSBwYXNzZWQgaW4gbG9jYWxseSwgYmVjYXVzZSBpdCBpcyBub3QgYSByZXNlcnZlZCB3b3JkIGluIEphdmFTY3JpcHQuCiAgKGZ1bmN0aW9uKCQsIHdpbmRvdywgZG9jdW1lbnQsIHVuZGVmaW5lZCkgewoKICAgIC8vIEVDTUFTY3JpcHQgNSBTdHJpY3QgTW9kZTogW0pvaG4gUmVzaWcgQmxvZyBQb3N0XShodHRwOi8vZWpvaG4ub3JnL2Jsb2cvZWNtYXNjcmlwdC01LXN0cmljdC1tb2RlLWpzb24tYW5kLW1vcmUvKQogICAgInVzZSBzdHJpY3QiOwoKICAgIHZhciB0b2NDbGFzc05hbWUgPSAidG9jaWZ5IiwKICAgICAgdG9jQ2xhc3MgPSAiLiIgKyB0b2NDbGFzc05hbWUsCiAgICAgIHRvY0ZvY3VzQ2xhc3NOYW1lID0gInRvY2lmeS1mb2N1cyIsCiAgICAgIHRvY0hvdmVyQ2xhc3NOYW1lID0gInRvY2lmeS1ob3ZlciIsCiAgICAgIGhpZGVUb2NDbGFzc05hbWUgPSAidG9jaWZ5LWhpZGUiLAogICAgICBoaWRlVG9jQ2xhc3MgPSAiLiIgKyBoaWRlVG9jQ2xhc3NOYW1lLAogICAgICBoZWFkZXJDbGFzc05hbWUgPSAidG9jaWZ5LWhlYWRlciIsCiAgICAgIGhlYWRlckNsYXNzID0gIi4iICsgaGVhZGVyQ2xhc3NOYW1lLAogICAgICBzdWJoZWFkZXJDbGFzc05hbWUgPSAidG9jaWZ5LXN1YmhlYWRlciIsCiAgICAgIHN1YmhlYWRlckNsYXNzID0gIi4iICsgc3ViaGVhZGVyQ2xhc3NOYW1lLAogICAgICBpdGVtQ2xhc3NOYW1lID0gInRvY2lmeS1pdGVtIiwKICAgICAgaXRlbUNsYXNzID0gIi4iICsgaXRlbUNsYXNzTmFtZSwKICAgICAgZXh0ZW5kUGFnZUNsYXNzTmFtZSA9ICJ0b2NpZnktZXh0ZW5kLXBhZ2UiLAogICAgICBleHRlbmRQYWdlQ2xhc3MgPSAiLiIgKyBleHRlbmRQYWdlQ2xhc3NOYW1lOwoKICAgIC8vIENhbGxpbmcgdGhlIGpRdWVyeVVJIFdpZGdldCBGYWN0b3J5IE1ldGhvZAogICAgJC53aWRnZXQoInRvYy50b2NpZnkiLCB7CgogICAgICAvL1BsdWdpbiB2ZXJzaW9uCiAgICAgIHZlcnNpb246ICIxLjkuMSIsCgogICAgICAvLyBUaGVzZSBvcHRpb25zIHdpbGwgYmUgdXNlZCBhcyBkZWZhdWx0cwogICAgICBvcHRpb25zOiB7CgogICAgICAgIC8vICoqY29udGV4dCoqOiBBY2NlcHRzIFN0cmluZzogQW55IGpRdWVyeSBzZWxlY3RvcgogICAgICAgIC8vIFRoZSBjb250YWluZXIgZWxlbWVudCB0aGF0IGhvbGRzIGFsbCBvZiB0aGUgZWxlbWVudHMgdXNlZCB0byBnZW5lcmF0ZSB0aGUgdGFibGUgb2YgY29udGVudHMKICAgICAgICBjb250ZXh0OiAiYm9keSIsCgogICAgICAgIC8vICoqaWdub3JlU2VsZWN0b3IqKjogQWNjZXB0cyBTdHJpbmc6IEFueSBqUXVlcnkgc2VsZWN0b3IKICAgICAgICAvLyBBIHNlbGVjdG9yIHRvIGFueSBlbGVtZW50IHRoYXQgd291bGQgYmUgbWF0Y2hlZCBieSBzZWxlY3RvcnMgdGhhdCB5b3Ugd2lzaCB0byBiZSBpZ25vcmVkCiAgICAgICAgaWdub3JlU2VsZWN0b3I6IG51bGwsCgogICAgICAgIC8vICoqc2VsZWN0b3JzKio6IEFjY2VwdHMgYW4gQXJyYXkgb2YgU3RyaW5nczogQW55IGpRdWVyeSBzZWxlY3RvcnMKICAgICAgICAvLyBUaGUgZWxlbWVudCdzIHVzZWQgdG8gZ2VuZXJhdGUgdGhlIHRhYmxlIG9mIGNvbnRlbnRzLiAgVGhlIG9yZGVyIGlzIHZlcnkgaW1wb3J0YW50IHNpbmNlIGl0IHdpbGwgZGV0ZXJtaW5lIHRoZSB0YWJsZSBvZiBjb250ZW50J3MgbmVzdGluZyBzdHJ1Y3R1cmUKICAgICAgICBzZWxlY3RvcnM6ICJoMSwgaDIsIGgzIiwKCiAgICAgICAgLy8gKipzaG93QW5kSGlkZSoqOiBBY2NlcHRzIGEgYm9vbGVhbjogdHJ1ZSBvciBmYWxzZQogICAgICAgIC8vIFVzZWQgdG8gZGV0ZXJtaW5lIGlmIGVsZW1lbnRzIHNob3VsZCBiZSBzaG93biBhbmQgaGlkZGVuCiAgICAgICAgc2hvd0FuZEhpZGU6IHRydWUsCgogICAgICAgIC8vICoqc2hvd0VmZmVjdCoqOiBBY2NlcHRzIFN0cmluZzogIm5vbmUiLCAiZmFkZUluIiwgInNob3ciLCBvciAic2xpZGVEb3duIgogICAgICAgIC8vIFVzZWQgdG8gZGlzcGxheSBhbnkgb2YgdGhlIHRhYmxlIG9mIGNvbnRlbnRzIG5lc3RlZCBpdGVtcwogICAgICAgIHNob3dFZmZlY3Q6ICJzbGlkZURvd24iLAoKICAgICAgICAvLyAqKnNob3dFZmZlY3RTcGVlZCoqOiBBY2NlcHRzIE51bWJlciAobWlsbGlzZWNvbmRzKSBvciBTdHJpbmc6ICJzbG93IiwgIm1lZGl1bSIsIG9yICJmYXN0IgogICAgICAgIC8vIFRoZSB0aW1lIGR1cmF0aW9uIG9mIHRoZSBzaG93IGFuaW1hdGlvbgogICAgICAgIHNob3dFZmZlY3RTcGVlZDogIm1lZGl1bSIsCgogICAgICAgIC8vICoqaGlkZUVmZmVjdCoqOiBBY2NlcHRzIFN0cmluZzogIm5vbmUiLCAiZmFkZU91dCIsICJoaWRlIiwgb3IgInNsaWRlVXAiCiAgICAgICAgLy8gVXNlZCB0byBoaWRlIGFueSBvZiB0aGUgdGFibGUgb2YgY29udGVudHMgbmVzdGVkIGl0ZW1zCiAgICAgICAgaGlkZUVmZmVjdDogInNsaWRlVXAiLAoKICAgICAgICAvLyAqKmhpZGVFZmZlY3RTcGVlZCoqOiBBY2NlcHRzIE51bWJlciAobWlsbGlzZWNvbmRzKSBvciBTdHJpbmc6ICJzbG93IiwgIm1lZGl1bSIsIG9yICJmYXN0IgogICAgICAgIC8vIFRoZSB0aW1lIGR1cmF0aW9uIG9mIHRoZSBoaWRlIGFuaW1hdGlvbgogICAgICAgIGhpZGVFZmZlY3RTcGVlZDogIm1lZGl1bSIsCgogICAgICAgIC8vICoqc21vb3RoU2Nyb2xsKio6IEFjY2VwdHMgYSBib29sZWFuOiB0cnVlIG9yIGZhbHNlCiAgICAgICAgLy8gRGV0ZXJtaW5lcyBpZiBhIGpRdWVyeSBhbmltYXRpb24gc2hvdWxkIGJlIHVzZWQgdG8gc2Nyb2xsIHRvIHNwZWNpZmljIHRhYmxlIG9mIGNvbnRlbnRzIGl0ZW1zIG9uIHRoZSBwYWdlCiAgICAgICAgc21vb3RoU2Nyb2xsOiB0cnVlLAoKICAgICAgICAvLyAqKnNtb290aFNjcm9sbFNwZWVkKio6IEFjY2VwdHMgTnVtYmVyIChtaWxsaXNlY29uZHMpIG9yIFN0cmluZzogInNsb3ciLCAibWVkaXVtIiwgb3IgImZhc3QiCiAgICAgICAgLy8gVGhlIHRpbWUgZHVyYXRpb24gb2YgdGhlIHNtb290aFNjcm9sbCBhbmltYXRpb24KICAgICAgICBzbW9vdGhTY3JvbGxTcGVlZDogIm1lZGl1bSIsCgogICAgICAgIC8vICoqc2Nyb2xsVG8qKjogQWNjZXB0cyBOdW1iZXIgKHBpeGVscykKICAgICAgICAvLyBUaGUgYW1vdW50IG9mIHNwYWNlIGJldHdlZW4gdGhlIHRvcCBvZiBwYWdlIGFuZCB0aGUgc2VsZWN0ZWQgdGFibGUgb2YgY29udGVudHMgaXRlbSBhZnRlciB0aGUgcGFnZSBoYXMgYmVlbiBzY3JvbGxlZAogICAgICAgIHNjcm9sbFRvOiAwLAoKICAgICAgICAvLyAqKnNob3dBbmRIaWRlT25TY3JvbGwqKjogQWNjZXB0cyBhIGJvb2xlYW46IHRydWUgb3IgZmFsc2UKICAgICAgICAvLyBEZXRlcm1pbmVzIGlmIHRhYmxlIG9mIGNvbnRlbnRzIG5lc3RlZCBpdGVtcyBzaG91bGQgYmUgc2hvd24gYW5kIGhpZGRlbiB3aGlsZSBzY3JvbGxpbmcKICAgICAgICBzaG93QW5kSGlkZU9uU2Nyb2xsOiB0cnVlLAoKICAgICAgICAvLyAqKmhpZ2hsaWdodE9uU2Nyb2xsKio6IEFjY2VwdHMgYSBib29sZWFuOiB0cnVlIG9yIGZhbHNlCiAgICAgICAgLy8gRGV0ZXJtaW5lcyBpZiB0YWJsZSBvZiBjb250ZW50cyBuZXN0ZWQgaXRlbXMgc2hvdWxkIGJlIGhpZ2hsaWdodGVkIChzZXQgdG8gYSBkaWZmZXJlbnQgY29sb3IpIHdoaWxlIHNjcm9sbGluZwogICAgICAgIGhpZ2hsaWdodE9uU2Nyb2xsOiB0cnVlLAoKICAgICAgICAvLyAqKmhpZ2hsaWdodE9mZnNldCoqOiBBY2NlcHRzIGEgbnVtYmVyCiAgICAgICAgLy8gVGhlIG9mZnNldCBkaXN0YW5jZSBpbiBwaXhlbHMgdG8gdHJpZ2dlciB0aGUgbmV4dCBhY3RpdmUgdGFibGUgb2YgY29udGVudHMgaXRlbQogICAgICAgIGhpZ2hsaWdodE9mZnNldDogNDAsCgogICAgICAgIC8vICoqdGhlbWUqKjogQWNjZXB0cyBhIHN0cmluZzogImJvb3RzdHJhcCIsICJqcXVlcnl1aSIsIG9yICJub25lIgogICAgICAgIC8vIERldGVybWluZXMgaWYgVHdpdHRlciBCb290c3RyYXAsIGpRdWVyeVVJLCBvciBUb2NpZnkgY2xhc3NlcyBzaG91bGQgYmUgYWRkZWQgdG8gdGhlIHRhYmxlIG9mIGNvbnRlbnRzCiAgICAgICAgdGhlbWU6ICJib290c3RyYXAiLAoKICAgICAgICAvLyAqKmV4dGVuZFBhZ2UqKjogQWNjZXB0cyBhIGJvb2xlYW46IHRydWUgb3IgZmFsc2UKICAgICAgICAvLyBJZiBhIHVzZXIgc2Nyb2xscyB0byB0aGUgYm90dG9tIG9mIHRoZSBwYWdlIGFuZCB0aGUgcGFnZSBpcyBub3QgdGFsbCBlbm91Z2ggdG8gc2Nyb2xsIHRvIHRoZSBsYXN0IHRhYmxlIG9mIGNvbnRlbnRzIGl0ZW0sIHRoZW4gdGhlIHBhZ2UgaGVpZ2h0IGlzIGluY3JlYXNlZAogICAgICAgIGV4dGVuZFBhZ2U6IHRydWUsCgogICAgICAgIC8vICoqZXh0ZW5kUGFnZU9mZnNldCoqOiBBY2NlcHRzIGEgbnVtYmVyOiBwaXhlbHMKICAgICAgICAvLyBIb3cgY2xvc2UgdG8gdGhlIGJvdHRvbSBvZiB0aGUgcGFnZSBhIHVzZXIgbXVzdCBzY3JvbGwgYmVmb3JlIHRoZSBwYWdlIGlzIGV4dGVuZGVkCiAgICAgICAgZXh0ZW5kUGFnZU9mZnNldDogMTAwLAoKICAgICAgICAvLyAqKmhpc3RvcnkqKjogQWNjZXB0cyBhIGJvb2xlYW46IHRydWUgb3IgZmFsc2UKICAgICAgICAvLyBBZGRzIGEgaGFzaCB0byB0aGUgcGFnZSB1cmwgdG8gbWFpbnRhaW4gaGlzdG9yeQogICAgICAgIGhpc3Rvcnk6IHRydWUsCgogICAgICAgIC8vICoqc2Nyb2xsSGlzdG9yeSoqOiBBY2NlcHRzIGEgYm9vbGVhbjogdHJ1ZSBvciBmYWxzZQogICAgICAgIC8vIEFkZHMgYSBoYXNoIHRvIHRoZSBwYWdlIHVybCwgdG8gbWFpbnRhaW4gaGlzdG9yeSwgd2hlbiBzY3JvbGxpbmcgdG8gYSBUT0MgaXRlbQogICAgICAgIHNjcm9sbEhpc3Rvcnk6IGZhbHNlLAoKICAgICAgICAvLyAqKmhhc2hHZW5lcmF0b3IqKjogSG93IHRoZSBoYXNoIHZhbHVlICh0aGUgYW5jaG9yIHNlZ21lbnQgb2YgdGhlIFVSTCwgZm9sbG93aW5nIHRoZQogICAgICAgIC8vICMgY2hhcmFjdGVyKSB3aWxsIGJlIGdlbmVyYXRlZC4KICAgICAgICAvLwogICAgICAgIC8vICJjb21wYWN0IiAoZGVmYXVsdCkgLSAjQ29tcHJlc3Nlc0V2ZXJ5dGhpbmdUb2dldGhlcgogICAgICAgIC8vICJwcmV0dHkiIC0gI2xvb2tzLWxpa2UtYS1uaWNlLXVybC1hbmQtaXMtZWFzaWx5LXJlYWRhYmxlCiAgICAgICAgLy8gZnVuY3Rpb24odGV4dCwgZWxlbWVudCl7fSAtIFlvdXIgb3duIGhhc2ggZ2VuZXJhdGlvbiBmdW5jdGlvbiB0aGF0IGFjY2VwdHMgdGhlIHRleHQgYXMgYW4KICAgICAgICAvLyBhcmd1bWVudCwgYW5kIHJldHVybnMgdGhlIGhhc2ggdmFsdWUuCiAgICAgICAgaGFzaEdlbmVyYXRvcjogImNvbXBhY3QiLAoKICAgICAgICAvLyAqKmhpZ2hsaWdodERlZmF1bHQqKjogQWNjZXB0cyBhIGJvb2xlYW46IHRydWUgb3IgZmFsc2UKICAgICAgICAvLyBTZXQncyB0aGUgZmlyc3QgVE9DIGl0ZW0gYXMgYWN0aXZlIGlmIG5vIG90aGVyIFRPQyBpdGVtIGlzIGFjdGl2ZS4KICAgICAgICBoaWdobGlnaHREZWZhdWx0OiB0cnVlCgogICAgICB9LAoKICAgICAgLy8gX0NyZWF0ZQogICAgICAvLyAtLS0tLS0tCiAgICAgIC8vICAgICAgQ29uc3RydWN0cyB0aGUgcGx1Z2luLiAgT25seSBjYWxsZWQgb25jZS4KICAgICAgX2NyZWF0ZTogZnVuY3Rpb24oKSB7CgogICAgICAgIHZhciBzZWxmID0gdGhpczsKCiAgICAgICAgc2VsZi5leHRlbmRQYWdlU2Nyb2xsID0gdHJ1ZTsKCiAgICAgICAgLy8gSW50ZXJuYWwgYXJyYXkgdGhhdCBrZWVwcyB0cmFjayBvZiBhbGwgVE9DIGl0ZW1zIChIZWxwcyB0byByZWNvZ25pemUgaWYgdGhlcmUgYXJlIGR1cGxpY2F0ZSBUT0MgaXRlbSBzdHJpbmdzKQogICAgICAgIHNlbGYuaXRlbXMgPSBbXTsKCiAgICAgICAgLy8gR2VuZXJhdGVzIHRoZSBIVE1MIGZvciB0aGUgZHluYW1pYyB0YWJsZSBvZiBjb250ZW50cwogICAgICAgIHNlbGYuX2dlbmVyYXRlVG9jKCk7CgogICAgICAgIC8vIEFkZHMgQ1NTIGNsYXNzZXMgdG8gdGhlIG5ld2x5IGdlbmVyYXRlZCB0YWJsZSBvZiBjb250ZW50cyBIVE1MCiAgICAgICAgc2VsZi5fYWRkQ1NTQ2xhc3NlcygpOwoKICAgICAgICBzZWxmLndlYmtpdCA9IChmdW5jdGlvbigpIHsKCiAgICAgICAgICBmb3IgKHZhciBwcm9wIGluIHdpbmRvdykgewoKICAgICAgICAgICAgaWYgKHByb3ApIHsKCiAgICAgICAgICAgICAgaWYgKHByb3AudG9Mb3dlckNhc2UoKS5pbmRleE9mKCJ3ZWJraXQiKSAhPT0gLTEpIHsKCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKCiAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgfQoKICAgICAgICAgIH0KCiAgICAgICAgICByZXR1cm4gZmFsc2U7CgogICAgICAgIH0oKSk7CgogICAgICAgIC8vIEFkZHMgalF1ZXJ5IGV2ZW50IGhhbmRsZXJzIHRvIHRoZSBuZXdseSBnZW5lcmF0ZWQgdGFibGUgb2YgY29udGVudHMKICAgICAgICBzZWxmLl9zZXRFdmVudEhhbmRsZXJzKCk7CgogICAgICAgIC8vIEJpbmRpbmcgdG8gdGhlIFdpbmRvdyBsb2FkIGV2ZW50IHRvIG1ha2Ugc3VyZSB0aGUgY29ycmVjdCBzY3JvbGxUb3AgaXMgY2FsY3VsYXRlZAogICAgICAgICQod2luZG93KS5sb2FkKGZ1bmN0aW9uKCkgewoKICAgICAgICAgIC8vIFNldHMgdGhlIGFjdGl2ZSBUT0MgaXRlbQogICAgICAgICAgc2VsZi5fc2V0QWN0aXZlRWxlbWVudCh0cnVlKTsKCiAgICAgICAgICAvLyBPbmNlIGFsbCBhbmltYXRpb25zIG9uIHRoZSBwYWdlIGFyZSBjb21wbGV0ZSwgdGhpcyBjYWxsYmFjayBmdW5jdGlvbiB3aWxsIGJlIGNhbGxlZAogICAgICAgICAgJCgiaHRtbCwgYm9keSIpLnByb21pc2UoKS5kb25lKGZ1bmN0aW9uKCkgewoKICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKCiAgICAgICAgICAgICAgc2VsZi5leHRlbmRQYWdlU2Nyb2xsID0gZmFsc2U7CgogICAgICAgICAgICB9LCAwKTsKCiAgICAgICAgICB9KTsKCiAgICAgICAgfSk7CgogICAgICB9LAoKICAgICAgLy8gX2dlbmVyYXRlVG9jCiAgICAgIC8vIC0tLS0tLS0tLS0tLQogICAgICAvLyAgICAgIEdlbmVyYXRlcyB0aGUgSFRNTCBmb3IgdGhlIGR5bmFtaWMgdGFibGUgb2YgY29udGVudHMKICAgICAgX2dlbmVyYXRlVG9jOiBmdW5jdGlvbigpIHsKCiAgICAgICAgLy8gX0xvY2FsIHZhcmlhYmxlc18KCiAgICAgICAgLy8gU3RvcmVzIHRoZSBwbHVnaW4gY29udGV4dCBpbiB0aGUgc2VsZiB2YXJpYWJsZQogICAgICAgIHZhciBzZWxmID0gdGhpcywKCiAgICAgICAgICAvLyBBbGwgb2YgdGhlIEhUTUwgdGFncyBmb3VuZCB3aXRoaW4gdGhlIGNvbnRleHQgcHJvdmlkZWQgKGkuZS4gYm9keSkgdGhhdCBtYXRjaCB0aGUgdG9wIGxldmVsIGpRdWVyeSBzZWxlY3RvciBhYm92ZQogICAgICAgICAgZmlyc3RFbGVtLAoKICAgICAgICAgIC8vIEluc3RhbnRpYXRlZCB2YXJpYWJsZSB0aGF0IHdpbGwgc3RvcmUgdGhlIHRvcCBsZXZlbCBuZXdseSBjcmVhdGVkIHVub3JkZXJlZCBsaXN0IERPTSBlbGVtZW50CiAgICAgICAgICB1bCwKICAgICAgICAgIGlnbm9yZVNlbGVjdG9yID0gc2VsZi5vcHRpb25zLmlnbm9yZVNlbGVjdG9yOwoKCiAgICAgICAgLy8gRGV0ZXJtaW5lIHRoZSBlbGVtZW50IHRvIHN0YXJ0IHRoZSB0b2Mgd2l0aAogICAgICAgIC8vIGdldCBhbGwgdGhlIHRvcCBsZXZlbCBzZWxlY3RvcnMKICAgICAgICBmaXJzdEVsZW0gPSBbXTsKICAgICAgICB2YXIgc2VsZWN0b3JzID0gdGhpcy5vcHRpb25zLnNlbGVjdG9ycy5yZXBsYWNlKC8gL2csICIiKS5zcGxpdCgiLCIpOwogICAgICAgIC8vIGZpbmQgdGhlIGZpcnN0IHNldCB0aGF0IGhhdmUgYXQgbGVhc3Qgb25lIG5vbi1pZ25vcmVkIGVsZW1lbnQKICAgICAgICBmb3IodmFyIGkgPSAwOyBpIDwgc2VsZWN0b3JzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICB2YXIgZm91bmRTZWxlY3RvcnMgPSAkKHRoaXMub3B0aW9ucy5jb250ZXh0KS5maW5kKHNlbGVjdG9yc1tpXSk7CiAgICAgICAgICBmb3IgKHZhciBzID0gMDsgcyA8IGZvdW5kU2VsZWN0b3JzLmxlbmd0aDsgcysrKSB7CiAgICAgICAgICAgIGlmICghJChmb3VuZFNlbGVjdG9yc1tzXSkuaXMoaWdub3JlU2VsZWN0b3IpKSB7CiAgICAgICAgICAgICAgZmlyc3RFbGVtID0gZm91bmRTZWxlY3RvcnM7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICAgIGlmIChmaXJzdEVsZW0ubGVuZ3RoPiAwKQogICAgICAgICAgICBicmVhazsKICAgICAgICB9CgogICAgICAgIGlmICghZmlyc3RFbGVtLmxlbmd0aCkgewoKICAgICAgICAgIHNlbGYuZWxlbWVudC5hZGRDbGFzcyhoaWRlVG9jQ2xhc3NOYW1lKTsKCiAgICAgICAgICByZXR1cm47CgogICAgICAgIH0KCiAgICAgICAgc2VsZi5lbGVtZW50LmFkZENsYXNzKHRvY0NsYXNzTmFtZSk7CgogICAgICAgIC8vIExvb3BzIHRocm91Z2ggZWFjaCB0b3AgbGV2ZWwgc2VsZWN0b3IKICAgICAgICBmaXJzdEVsZW0uZWFjaChmdW5jdGlvbihpbmRleCkgewoKICAgICAgICAgIC8vSWYgdGhlIGVsZW1lbnQgbWF0Y2hlcyB0aGUgaWdub3JlU2VsZWN0b3IgdGhlbiB3ZSBza2lwIGl0CiAgICAgICAgICBpZiAoJCh0aGlzKS5pcyhpZ25vcmVTZWxlY3RvcikpIHsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgfQoKICAgICAgICAgIC8vIENyZWF0ZXMgYW4gdW5vcmRlcmVkIGxpc3QgSFRNTCBlbGVtZW50IGFuZCBhZGRzIGEgZHluYW1pYyBJRCBhbmQgc3RhbmRhcmQgY2xhc3MgbmFtZQogICAgICAgICAgdWwgPSAkKCI8dWwvPiIsIHsKICAgICAgICAgICAgImlkIjogaGVhZGVyQ2xhc3NOYW1lICsgaW5kZXgsCiAgICAgICAgICAgICJjbGFzcyI6IGhlYWRlckNsYXNzTmFtZQogICAgICAgICAgfSkuCgogICAgICAgICAgLy8gQXBwZW5kcyBhIHRvcCBsZXZlbCBsaXN0IGl0ZW0gSFRNTCBlbGVtZW50IHRvIHRoZSBwcmV2aW91c2x5IGNyZWF0ZWQgSFRNTCBoZWFkZXIKICAgICAgICAgIGFwcGVuZChzZWxmLl9uZXN0RWxlbWVudHMoJCh0aGlzKSwgaW5kZXgpKTsKCiAgICAgICAgICAvLyBBZGQgdGhlIGNyZWF0ZWQgdW5vcmRlcmVkIGxpc3QgZWxlbWVudCB0byB0aGUgSFRNTCBlbGVtZW50IGNhbGxpbmcgdGhlIHBsdWdpbgogICAgICAgICAgc2VsZi5lbGVtZW50LmFwcGVuZCh1bCk7CgogICAgICAgICAgLy8gRmluZHMgYWxsIG9mIHRoZSBIVE1MIHRhZ3MgYmV0d2VlbiB0aGUgaGVhZGVyIGFuZCBzdWJoZWFkZXIgZWxlbWVudHMKICAgICAgICAgICQodGhpcykubmV4dFVudGlsKHRoaXMubm9kZU5hbWUudG9Mb3dlckNhc2UoKSkuZWFjaChmdW5jdGlvbigpIHsKCiAgICAgICAgICAgIC8vIElmIHRoZXJlIGFyZSBubyBuZXN0ZWQgc3ViaGVhZGVyIGVsZW1lbWVudHMKICAgICAgICAgICAgaWYgKCQodGhpcykuZmluZChzZWxmLm9wdGlvbnMuc2VsZWN0b3JzKS5sZW5ndGggPT09IDApIHsKCiAgICAgICAgICAgICAgLy8gTG9vcHMgdGhyb3VnaCBhbGwgb2YgdGhlIHN1YmhlYWRlciBlbGVtZW50cwogICAgICAgICAgICAgICQodGhpcykuZmlsdGVyKHNlbGYub3B0aW9ucy5zZWxlY3RvcnMpLmVhY2goZnVuY3Rpb24oKSB7CgogICAgICAgICAgICAgICAgLy9JZiB0aGUgZWxlbWVudCBtYXRjaGVzIHRoZSBpZ25vcmVTZWxlY3RvciB0aGVuIHdlIHNraXAgaXQKICAgICAgICAgICAgICAgIGlmICgkKHRoaXMpLmlzKGlnbm9yZVNlbGVjdG9yKSkgewogICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgc2VsZi5fYXBwZW5kU3ViaGVhZGVycy5jYWxsKHRoaXMsIHNlbGYsIHVsKTsKCiAgICAgICAgICAgICAgfSk7CgogICAgICAgICAgICB9CgogICAgICAgICAgICAvLyBJZiB0aGVyZSBhcmUgbmVzdGVkIHN1YmhlYWRlciBlbGVtZW50cwogICAgICAgICAgICBlbHNlIHsKCiAgICAgICAgICAgICAgLy8gTG9vcHMgdGhyb3VnaCBhbGwgb2YgdGhlIHN1YmhlYWRlciBlbGVtZW50cwogICAgICAgICAgICAgICQodGhpcykuZmluZChzZWxmLm9wdGlvbnMuc2VsZWN0b3JzKS5lYWNoKGZ1bmN0aW9uKCkgewoKICAgICAgICAgICAgICAgIC8vSWYgdGhlIGVsZW1lbnQgbWF0Y2hlcyB0aGUgaWdub3JlU2VsZWN0b3IgdGhlbiB3ZSBza2lwIGl0CiAgICAgICAgICAgICAgICBpZiAoJCh0aGlzKS5pcyhpZ25vcmVTZWxlY3RvcikpIHsKICAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHNlbGYuX2FwcGVuZFN1YmhlYWRlcnMuY2FsbCh0aGlzLCBzZWxmLCB1bCk7CgogICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgfQoKICAgICAgICAgIH0pOwoKICAgICAgICB9KTsKCiAgICAgIH0sCgogICAgICBfc2V0QWN0aXZlRWxlbWVudDogZnVuY3Rpb24ocGFnZWxvYWQpIHsKCiAgICAgICAgdmFyIHNlbGYgPSB0aGlzLAoKICAgICAgICAgIGhhc2ggPSB3aW5kb3cubG9jYXRpb24uaGFzaC5zdWJzdHJpbmcoMSksCgogICAgICAgICAgZWxlbSA9IHNlbGYuZWxlbWVudC5maW5kKCdsaVtkYXRhLXVuaXF1ZT0iJyArIGhhc2ggKyAnIl0nKTsKCiAgICAgICAgaWYgKGhhc2gubGVuZ3RoKSB7CgogICAgICAgICAgLy8gUmVtb3ZlcyBoaWdobGlnaHRpbmcgZnJvbSBhbGwgb2YgdGhlIGxpc3QgaXRlbSdzCiAgICAgICAgICBzZWxmLmVsZW1lbnQuZmluZCgiLiIgKyBzZWxmLmZvY3VzQ2xhc3MpLnJlbW92ZUNsYXNzKHNlbGYuZm9jdXNDbGFzcyk7CgogICAgICAgICAgLy8gSGlnaGxpZ2h0cyB0aGUgY3VycmVudCBsaXN0IGl0ZW0gdGhhdCB3YXMgY2xpY2tlZAogICAgICAgICAgZWxlbS5hZGRDbGFzcyhzZWxmLmZvY3VzQ2xhc3MpOwoKICAgICAgICAgIC8vIFRyaWdnZXJzIHRoZSBjbGljayBldmVudCBvbiB0aGUgY3VycmVudGx5IGZvY3VzZWQgVE9DIGl0ZW0KICAgICAgICAgIGVsZW0uY2xpY2soKTsKCiAgICAgICAgfSBlbHNlIHsKCiAgICAgICAgICAvLyBSZW1vdmVzIGhpZ2hsaWdodGluZyBmcm9tIGFsbCBvZiB0aGUgbGlzdCBpdGVtJ3MKICAgICAgICAgIHNlbGYuZWxlbWVudC5maW5kKCIuIiArIHNlbGYuZm9jdXNDbGFzcykucmVtb3ZlQ2xhc3Moc2VsZi5mb2N1c0NsYXNzKTsKCiAgICAgICAgICBpZiAoIWhhc2gubGVuZ3RoICYmIHBhZ2Vsb2FkICYmIHNlbGYub3B0aW9ucy5oaWdobGlnaHREZWZhdWx0KSB7CgogICAgICAgICAgICAvLyBIaWdobGlnaHRzIHRoZSBmaXJzdCBUT0MgaXRlbSBpZiBubyBvdGhlciBpdGVtcyBhcmUgaGlnaGxpZ2h0ZWQKICAgICAgICAgICAgc2VsZi5lbGVtZW50LmZpbmQoaXRlbUNsYXNzKS5maXJzdCgpLmFkZENsYXNzKHNlbGYuZm9jdXNDbGFzcyk7CgogICAgICAgICAgfQoKICAgICAgICB9CgogICAgICAgIHJldHVybiBzZWxmOwoKICAgICAgfSwKCiAgICAgIC8vIF9uZXN0RWxlbWVudHMKICAgICAgLy8gLS0tLS0tLS0tLS0tLQogICAgICAvLyAgICAgIEhlbHBzIGNyZWF0ZSB0aGUgdGFibGUgb2YgY29udGVudHMgbGlzdCBieSBhcHBlbmRpbmcgbmVzdGVkIGxpc3QgaXRlbXMKICAgICAgX25lc3RFbGVtZW50czogZnVuY3Rpb24oc2VsZiwgaW5kZXgpIHsKCiAgICAgICAgdmFyIGFyciwgaXRlbSwgaGFzaFZhbHVlOwoKICAgICAgICBhcnIgPSAkLmdyZXAodGhpcy5pdGVtcywgZnVuY3Rpb24oaXRlbSkgewoKICAgICAgICAgIHJldHVybiBpdGVtID09PSBzZWxmLnRleHQoKTsKCiAgICAgICAgfSk7CgogICAgICAgIC8vIElmIHRoZXJlIGlzIGFscmVhZHkgYSBkdXBsaWNhdGUgVE9DIGl0ZW0KICAgICAgICBpZiAoYXJyLmxlbmd0aCkgewoKICAgICAgICAgIC8vIEFkZHMgdGhlIGN1cnJlbnQgVE9DIGl0ZW0gdGV4dCBhbmQgaW5kZXggKGZvciBzbGlnaHQgcmFuZG9taXphdGlvbikgdG8gdGhlIGludGVybmFsIGFycmF5CiAgICAgICAgICB0aGlzLml0ZW1zLnB1c2goc2VsZi50ZXh0KCkgKyBpbmRleCk7CgogICAgICAgIH0KCiAgICAgICAgLy8gSWYgdGhlcmUgbm90IGEgZHVwbGljYXRlIFRPQyBpdGVtCiAgICAgICAgZWxzZSB7CgogICAgICAgICAgLy8gQWRkcyB0aGUgY3VycmVudCBUT0MgaXRlbSB0ZXh0IHRvIHRoZSBpbnRlcm5hbCBhcnJheQogICAgICAgICAgdGhpcy5pdGVtcy5wdXNoKHNlbGYudGV4dCgpKTsKCiAgICAgICAgfQoKICAgICAgICBoYXNoVmFsdWUgPSB0aGlzLl9nZW5lcmF0ZUhhc2hWYWx1ZShhcnIsIHNlbGYsIGluZGV4KTsKCiAgICAgICAgLy8gQXBwZW5kcyBhIGxpc3QgaXRlbSBIVE1MIGVsZW1lbnQgdG8gdGhlIGxhc3QgdW5vcmRlcmVkIGxpc3QgSFRNTCBlbGVtZW50IGZvdW5kIHdpdGhpbiB0aGUgSFRNTCBlbGVtZW50IGNhbGxpbmcgdGhlIHBsdWdpbgogICAgICAgIGl0ZW0gPSAkKCI8bGkvPiIsIHsKCiAgICAgICAgICAvLyBTZXRzIGEgY29tbW9uIGNsYXNzIG5hbWUgdG8gdGhlIGxpc3QgaXRlbQogICAgICAgICAgImNsYXNzIjogaXRlbUNsYXNzTmFtZSwKCiAgICAgICAgICAiZGF0YS11bmlxdWUiOiBoYXNoVmFsdWUKCiAgICAgICAgfSk7CgogICAgICAgIGlmICh0aGlzLm9wdGlvbnMudGhlbWUgIT09ICJib290c3RyYXAzIikgewoKICAgICAgICAgIGl0ZW0uYXBwZW5kKCQoIjxhLz4iLCB7CgogICAgICAgICAgICAidGV4dCI6IHNlbGYudGV4dCgpCgogICAgICAgICAgfSkpOwoKICAgICAgICB9IGVsc2UgewoKICAgICAgICAgIGl0ZW0udGV4dChzZWxmLnRleHQoKSk7CgogICAgICAgIH0KCiAgICAgICAgLy8gQWRkcyBhbiBIVE1MIGFuY2hvciB0YWcgYmVmb3JlIHRoZSBjdXJyZW50bHkgdHJhdmVyc2VkIEhUTUwgZWxlbWVudAogICAgICAgIHNlbGYuYmVmb3JlKCQoIjxkaXYvPiIsIHsKCiAgICAgICAgICAvLyBTZXRzIGEgbmFtZSBhdHRyaWJ1dGUgb24gdGhlIGFuY2hvciB0YWcgdG8gdGhlIHRleHQgb2YgdGhlIGN1cnJlbnRseSB0cmF2ZXJzZWQgSFRNTCBlbGVtZW50IChhbHNvIG1ha2luZyBzdXJlIHRoYXQgYWxsIHdoaXRlc3BhY2UgaXMgcmVwbGFjZWQgd2l0aCBhbiB1bmRlcnNjb3JlKQogICAgICAgICAgIm5hbWUiOiBoYXNoVmFsdWUsCgogICAgICAgICAgImRhdGEtdW5pcXVlIjogaGFzaFZhbHVlCgogICAgICAgIH0pKTsKCiAgICAgICAgcmV0dXJuIGl0ZW07CgogICAgICB9LAoKICAgICAgLy8gX2dlbmVyYXRlSGFzaFZhbHVlCiAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLQogICAgICAvLyAgICAgIEdlbmVyYXRlcyB0aGUgaGFzaCB2YWx1ZSB0aGF0IHdpbGwgYmUgdXNlZCB0byByZWZlciB0byBlYWNoIGl0ZW0uCiAgICAgIF9nZW5lcmF0ZUhhc2hWYWx1ZTogZnVuY3Rpb24oYXJyLCBzZWxmLCBpbmRleCkgewoKICAgICAgICB2YXIgaGFzaFZhbHVlID0gIiIsCiAgICAgICAgICBoYXNoR2VuZXJhdG9yT3B0aW9uID0gdGhpcy5vcHRpb25zLmhhc2hHZW5lcmF0b3I7CgogICAgICAgIGlmIChoYXNoR2VuZXJhdG9yT3B0aW9uID09PSAicHJldHR5IikgewoKICAgICAgICAgIC8vIHByZXR0aWZ5IHRoZSB0ZXh0CiAgICAgICAgICBoYXNoVmFsdWUgPSBzZWxmLnRleHQoKS50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoL1xzL2csICItIik7CgogICAgICAgICAgLy8gZml4IGRvdWJsZSBoeXBoZW5zCiAgICAgICAgICB3aGlsZSAoaGFzaFZhbHVlLmluZGV4T2YoIi0tIikgPiAtMSkgewogICAgICAgICAgICBoYXNoVmFsdWUgPSBoYXNoVmFsdWUucmVwbGFjZSgvLS0vZywgIi0iKTsKICAgICAgICAgIH0KCiAgICAgICAgICAvLyBmaXggY29sb24tc3BhY2UgaW5zdGFuY2VzCiAgICAgICAgICB3aGlsZSAoaGFzaFZhbHVlLmluZGV4T2YoIjotIikgPiAtMSkgewogICAgICAgICAgICBoYXNoVmFsdWUgPSBoYXNoVmFsdWUucmVwbGFjZSgvOi0vZywgIi0iKTsKICAgICAgICAgIH0KCiAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgaGFzaEdlbmVyYXRvck9wdGlvbiA9PT0gImZ1bmN0aW9uIikgewoKICAgICAgICAgIC8vIGNhbGwgdGhlIGZ1bmN0aW9uCiAgICAgICAgICBoYXNoVmFsdWUgPSBoYXNoR2VuZXJhdG9yT3B0aW9uKHNlbGYudGV4dCgpLCBzZWxmKTsKCiAgICAgICAgfSBlbHNlIHsKCiAgICAgICAgICAvLyBjb21wYWN0IC0gdGhlIGRlZmF1bHQKICAgICAgICAgIGhhc2hWYWx1ZSA9IHNlbGYudGV4dCgpLnJlcGxhY2UoL1xzL2csICIiKTsKCiAgICAgICAgfQoKICAgICAgICAvLyBhZGQgdGhlIGluZGV4IGlmIHdlIG5lZWQgdG8KICAgICAgICBpZiAoYXJyLmxlbmd0aCkgewogICAgICAgICAgaGFzaFZhbHVlICs9ICIiICsgaW5kZXg7CiAgICAgICAgfQoKICAgICAgICAvLyByZXR1cm4gdGhlIHZhbHVlCiAgICAgICAgcmV0dXJuIGhhc2hWYWx1ZTsKCiAgICAgIH0sCgogICAgICAvLyBfYXBwZW5kRWxlbWVudHMKICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tCiAgICAgIC8vICAgICAgSGVscHMgY3JlYXRlIHRoZSB0YWJsZSBvZiBjb250ZW50cyBsaXN0IGJ5IGFwcGVuZGluZyBzdWJoZWFkZXIgZWxlbWVudHMKCiAgICAgIF9hcHBlbmRTdWJoZWFkZXJzOiBmdW5jdGlvbihzZWxmLCB1bCkgewoKICAgICAgICAvLyBUaGUgY3VycmVudCBlbGVtZW50IGluZGV4CiAgICAgICAgdmFyIGluZGV4ID0gJCh0aGlzKS5pbmRleChzZWxmLm9wdGlvbnMuc2VsZWN0b3JzKSwKCiAgICAgICAgICAvLyBGaW5kcyB0aGUgcHJldmlvdXMgaGVhZGVyIERPTSBlbGVtZW50CiAgICAgICAgICBwcmV2aW91c0hlYWRlciA9ICQoc2VsZi5vcHRpb25zLnNlbGVjdG9ycykuZXEoaW5kZXggLSAxKSwKCiAgICAgICAgICBjdXJyZW50VGFnTmFtZSA9ICskKHRoaXMpLnByb3AoInRhZ05hbWUiKS5jaGFyQXQoMSksCgogICAgICAgICAgcHJldmlvdXNUYWdOYW1lID0gK3ByZXZpb3VzSGVhZGVyLnByb3AoInRhZ05hbWUiKS5jaGFyQXQoMSksCgogICAgICAgICAgbGFzdFN1YmhlYWRlcjsKCiAgICAgICAgLy8gSWYgdGhlIGN1cnJlbnQgaGVhZGVyIERPTSBlbGVtZW50IGlzIHNtYWxsZXIgdGhhbiB0aGUgcHJldmlvdXMgaGVhZGVyIERPTSBlbGVtZW50IG9yIHRoZSBmaXJzdCBzdWJoZWFkZXIKICAgICAgICBpZiAoY3VycmVudFRhZ05hbWUgPCBwcmV2aW91c1RhZ05hbWUpIHsKCiAgICAgICAgICAvLyBTZWxlY3RzIHRoZSBsYXN0IHVub3JkZXJlZCBsaXN0IEhUTUwgZm91bmQgd2l0aGluIHRoZSBIVE1MIGVsZW1lbnQgY2FsbGluZyB0aGUgcGx1Z2luCiAgICAgICAgICBzZWxmLmVsZW1lbnQuZmluZChzdWJoZWFkZXJDbGFzcyArICJbZGF0YS10YWc9IiArIGN1cnJlbnRUYWdOYW1lICsgIl0iKS5sYXN0KCkuYXBwZW5kKHNlbGYuX25lc3RFbGVtZW50cygkKHRoaXMpLCBpbmRleCkpOwoKICAgICAgICB9CgogICAgICAgIC8vIElmIHRoZSBjdXJyZW50IGhlYWRlciBET00gZWxlbWVudCBpcyB0aGUgc2FtZSB0eXBlIG9mIGhlYWRlcihlZy4gaDQpIGFzIHRoZSBwcmV2aW91cyBoZWFkZXIgRE9NIGVsZW1lbnQKICAgICAgICBlbHNlIGlmIChjdXJyZW50VGFnTmFtZSA9PT0gcHJldmlvdXNUYWdOYW1lKSB7CgogICAgICAgICAgdWwuZmluZChpdGVtQ2xhc3MpLmxhc3QoKS5hZnRlcihzZWxmLl9uZXN0RWxlbWVudHMoJCh0aGlzKSwgaW5kZXgpKTsKCiAgICAgICAgfSBlbHNlIHsKCiAgICAgICAgICAvLyBTZWxlY3RzIHRoZSBsYXN0IHVub3JkZXJlZCBsaXN0IEhUTUwgZm91bmQgd2l0aGluIHRoZSBIVE1MIGVsZW1lbnQgY2FsbGluZyB0aGUgcGx1Z2luCiAgICAgICAgICB1bC5maW5kKGl0ZW1DbGFzcykubGFzdCgpLgoKICAgICAgICAgIC8vIEFwcGVuZHMgYW4gdW5vcmRlcmVkTGlzdCBIVE1MIGVsZW1lbnQgdG8gdGhlIGR5bmFtaWMgYHVub3JkZXJlZExpc3RgIHZhcmlhYmxlIGFuZCBzZXRzIGEgY29tbW9uIGNsYXNzIG5hbWUKICAgICAgICAgIGFmdGVyKCQoIjx1bC8+IiwgewoKICAgICAgICAgICAgImNsYXNzIjogc3ViaGVhZGVyQ2xhc3NOYW1lLAoKICAgICAgICAgICAgImRhdGEtdGFnIjogY3VycmVudFRhZ05hbWUKCiAgICAgICAgICB9KSkubmV4dChzdWJoZWFkZXJDbGFzcykuCgogICAgICAgICAgLy8gQXBwZW5kcyBhIGxpc3QgaXRlbSBIVE1MIGVsZW1lbnQgdG8gdGhlIGxhc3QgdW5vcmRlcmVkIGxpc3QgSFRNTCBlbGVtZW50IGZvdW5kIHdpdGhpbiB0aGUgSFRNTCBlbGVtZW50IGNhbGxpbmcgdGhlIHBsdWdpbgogICAgICAgICAgYXBwZW5kKHNlbGYuX25lc3RFbGVtZW50cygkKHRoaXMpLCBpbmRleCkpOwogICAgICAgIH0KCiAgICAgIH0sCgogICAgICAvLyBfc2V0RXZlbnRIYW5kbGVycwogICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tCiAgICAgIC8vICAgICAgQWRkcyBqUXVlcnkgZXZlbnQgaGFuZGxlcnMgdG8gdGhlIG5ld2x5IGdlbmVyYXRlZCB0YWJsZSBvZiBjb250ZW50cwogICAgICBfc2V0RXZlbnRIYW5kbGVyczogZnVuY3Rpb24oKSB7CgogICAgICAgIC8vIF9Mb2NhbCB2YXJpYWJsZXNfCgogICAgICAgIC8vIFN0b3JlcyB0aGUgcGx1Z2luIGNvbnRleHQgaW4gdGhlIHNlbGYgdmFyaWFibGUKICAgICAgICB2YXIgc2VsZiA9IHRoaXMsCgogICAgICAgICAgLy8gSW5zdGFudGlhdGVzIGEgbmV3IHZhcmlhYmxlIHRoYXQgd2lsbCBiZSB1c2VkIHRvIGhvbGQgYSBzcGVjaWZpYyBlbGVtZW50J3MgY29udGV4dAogICAgICAgICAgJHNlbGYsCgogICAgICAgICAgLy8gSW5zdGFudGlhdGVzIGEgbmV3IHZhcmlhYmxlIHRoYXQgd2lsbCBiZSB1c2VkIHRvIGRldGVybWluZSB0aGUgc21vb3RoU2Nyb2xsIGFuaW1hdGlvbiB0aW1lIGR1cmF0aW9uCiAgICAgICAgICBkdXJhdGlvbjsKCiAgICAgICAgLy8gRXZlbnQgZGVsZWdhdGlvbiB0aGF0IGxvb2tzIGZvciBhbnkgY2xpY2tzIG9uIGxpc3QgaXRlbSBlbGVtZW50cyBpbnNpZGUgb2YgdGhlIEhUTUwgZWxlbWVudCBjYWxsaW5nIHRoZSBwbHVnaW4KICAgICAgICB0aGlzLmVsZW1lbnQub24oImNsaWNrLnRvY2lmeSIsICJsaSIsIGZ1bmN0aW9uKGV2ZW50KSB7CgogICAgICAgICAgaWYgKHNlbGYub3B0aW9ucy5oaXN0b3J5KSB7CgogICAgICAgICAgICB3aW5kb3cubG9jYXRpb24uaGFzaCA9ICQodGhpcykuYXR0cigiZGF0YS11bmlxdWUiKTsKCiAgICAgICAgICB9CgogICAgICAgICAgLy8gUmVtb3ZlcyBoaWdobGlnaHRpbmcgZnJvbSBhbGwgb2YgdGhlIGxpc3QgaXRlbSdzCiAgICAgICAgICBzZWxmLmVsZW1lbnQuZmluZCgiLiIgKyBzZWxmLmZvY3VzQ2xhc3MpLnJlbW92ZUNsYXNzKHNlbGYuZm9jdXNDbGFzcyk7CgogICAgICAgICAgLy8gSGlnaGxpZ2h0cyB0aGUgY3VycmVudCBsaXN0IGl0ZW0gdGhhdCB3YXMgY2xpY2tlZAogICAgICAgICAgJCh0aGlzKS5hZGRDbGFzcyhzZWxmLmZvY3VzQ2xhc3MpOwoKICAgICAgICAgIC8vIElmIHRoZSBzaG93QW5kSGlkZSBvcHRpb24gaXMgdHJ1ZQogICAgICAgICAgaWYgKHNlbGYub3B0aW9ucy5zaG93QW5kSGlkZSkgewoKICAgICAgICAgICAgdmFyIGVsZW0gPSAkKCdsaVtkYXRhLXVuaXF1ZT0iJyArICQodGhpcykuYXR0cigiZGF0YS11bmlxdWUiKSArICciXScpOwoKICAgICAgICAgICAgc2VsZi5fdHJpZ2dlclNob3coZWxlbSk7CgogICAgICAgICAgfQoKICAgICAgICAgIHNlbGYuX3Njcm9sbFRvKCQodGhpcykpOwoKICAgICAgICB9KTsKCiAgICAgICAgLy8gTW91c2VlbnRlciBhbmQgTW91c2VsZWF2ZSBldmVudCBoYW5kbGVycyBmb3IgdGhlIGxpc3QgaXRlbSdzIHdpdGhpbiB0aGUgSFRNTCBlbGVtZW50IGNhbGxpbmcgdGhlIHBsdWdpbgogICAgICAgIHRoaXMuZWxlbWVudC5maW5kKCJsaSIpLm9uKHsKCiAgICAgICAgICAvLyBNb3VzZWVudGVyIGV2ZW50IGhhbmRsZXIKICAgICAgICAgICJtb3VzZWVudGVyLnRvY2lmeSI6IGZ1bmN0aW9uKCkgewoKICAgICAgICAgICAgLy8gQWRkcyBhIGhvdmVyIENTUyBjbGFzcyB0byB0aGUgY3VycmVudCBsaXN0IGl0ZW0KICAgICAgICAgICAgJCh0aGlzKS5hZGRDbGFzcyhzZWxmLmhvdmVyQ2xhc3MpOwoKICAgICAgICAgICAgLy8gTWFrZXMgc3VyZSB0aGUgY3Vyc29yIGlzIHNldCB0byB0aGUgcG9pbnRlciBpY29uCiAgICAgICAgICAgICQodGhpcykuY3NzKCJjdXJzb3IiLCAicG9pbnRlciIpOwoKICAgICAgICAgIH0sCgogICAgICAgICAgLy8gTW91c2VsZWF2ZSBldmVudCBoYW5kbGVyCiAgICAgICAgICAibW91c2VsZWF2ZS50b2NpZnkiOiBmdW5jdGlvbigpIHsKCiAgICAgICAgICAgIGlmIChzZWxmLm9wdGlvbnMudGhlbWUgIT09ICJib290c3RyYXAiKSB7CgogICAgICAgICAgICAgIC8vIFJlbW92ZXMgdGhlIGhvdmVyIENTUyBjbGFzcyBmcm9tIHRoZSBjdXJyZW50IGxpc3QgaXRlbQogICAgICAgICAgICAgICQodGhpcykucmVtb3ZlQ2xhc3Moc2VsZi5ob3ZlckNsYXNzKTsKCiAgICAgICAgICAgIH0KCiAgICAgICAgICB9CiAgICAgICAgfSk7CgogICAgICAgIC8vIG9ubHkgYXR0YWNoIGhhbmRsZXIgaWYgbmVlZGVkIChleHBlbnNpdmUgaW4gSUUpCiAgICAgICAgaWYgKHNlbGYub3B0aW9ucy5leHRlbmRQYWdlIHx8IHNlbGYub3B0aW9ucy5oaWdobGlnaHRPblNjcm9sbCB8fCBzZWxmLm9wdGlvbnMuc2Nyb2xsSGlzdG9yeSB8fCBzZWxmLm9wdGlvbnMuc2hvd0FuZEhpZGVPblNjcm9sbCkgewogICAgICAgICAgLy8gV2luZG93IHNjcm9sbCBldmVudCBoYW5kbGVyCiAgICAgICAgICAkKHdpbmRvdykub24oInNjcm9sbC50b2NpZnkiLCBmdW5jdGlvbigpIHsKCiAgICAgICAgICAgIC8vIE9uY2UgYWxsIGFuaW1hdGlvbnMgb24gdGhlIHBhZ2UgYXJlIGNvbXBsZXRlLCB0aGlzIGNhbGxiYWNrIGZ1bmN0aW9uIHdpbGwgYmUgY2FsbGVkCiAgICAgICAgICAgICQoImh0bWwsIGJvZHkiKS5wcm9taXNlKCkuZG9uZShmdW5jdGlvbigpIHsKCiAgICAgICAgICAgICAgLy8gTG9jYWwgdmFyaWFibGVzCgogICAgICAgICAgICAgIC8vIFN0b3JlcyBob3cgZmFyIHRoZSB1c2VyIGhhcyBzY3JvbGxlZAogICAgICAgICAgICAgIHZhciB3aW5TY3JvbGxUb3AgPSAkKHdpbmRvdykuc2Nyb2xsVG9wKCksCgogICAgICAgICAgICAgICAgLy8gU3RvcmVzIHRoZSBoZWlnaHQgb2YgdGhlIHdpbmRvdwogICAgICAgICAgICAgICAgd2luSGVpZ2h0ID0gJCh3aW5kb3cpLmhlaWdodCgpLAoKICAgICAgICAgICAgICAgIC8vIFN0b3JlcyB0aGUgaGVpZ2h0IG9mIHRoZSBkb2N1bWVudAogICAgICAgICAgICAgICAgZG9jSGVpZ2h0ID0gJChkb2N1bWVudCkuaGVpZ2h0KCksCgogICAgICAgICAgICAgICAgc2Nyb2xsSGVpZ2h0ID0gJCgiYm9keSIpWzBdLnNjcm9sbEhlaWdodCwKCiAgICAgICAgICAgICAgICAvLyBJbnN0YW50aWF0ZXMgYSB2YXJpYWJsZSB0aGF0IHdpbGwgYmUgdXNlZCB0byBob2xkIGEgc2VsZWN0ZWQgSFRNTCBlbGVtZW50CiAgICAgICAgICAgICAgICBlbGVtLAoKICAgICAgICAgICAgICAgIGxhc3RFbGVtLAoKICAgICAgICAgICAgICAgIGxhc3RFbGVtT2Zmc2V0LAoKICAgICAgICAgICAgICAgIGN1cnJlbnRFbGVtOwoKICAgICAgICAgICAgICBpZiAoc2VsZi5vcHRpb25zLmV4dGVuZFBhZ2UpIHsKCiAgICAgICAgICAgICAgICAvLyBJZiB0aGUgdXNlciBoYXMgc2Nyb2xsZWQgdG8gdGhlIGJvdHRvbSBvZiB0aGUgcGFnZSBhbmQgdGhlIGxhc3QgdG9jIGl0ZW0gaXMgbm90IGZvY3VzZWQKICAgICAgICAgICAgICAgIGlmICgoc2VsZi53ZWJraXQgJiYgd2luU2Nyb2xsVG9wID49IHNjcm9sbEhlaWdodCAtIHdpbkhlaWdodCAtIHNlbGYub3B0aW9ucy5leHRlbmRQYWdlT2Zmc2V0KSB8fCAoIXNlbGYud2Via2l0ICYmIHdpbkhlaWdodCArIHdpblNjcm9sbFRvcCA+IGRvY0hlaWdodCAtIHNlbGYub3B0aW9ucy5leHRlbmRQYWdlT2Zmc2V0KSkgewoKICAgICAgICAgICAgICAgICAgaWYgKCEkKGV4dGVuZFBhZ2VDbGFzcykubGVuZ3RoKSB7CgogICAgICAgICAgICAgICAgICAgIGxhc3RFbGVtID0gJCgnZGl2W2RhdGEtdW5pcXVlPSInICsgJChpdGVtQ2xhc3MpLmxhc3QoKS5hdHRyKCJkYXRhLXVuaXF1ZSIpICsgJyJdJyk7CgogICAgICAgICAgICAgICAgICAgIGlmICghbGFzdEVsZW0ubGVuZ3RoKSByZXR1cm47CgogICAgICAgICAgICAgICAgICAgIC8vIEdldHMgdGhlIHRvcCBvZmZzZXQgb2YgdGhlIHBhZ2UgaGVhZGVyIHRoYXQgaXMgbGlua2VkIHRvIHRoZSBsYXN0IHRvYyBpdGVtCiAgICAgICAgICAgICAgICAgICAgbGFzdEVsZW1PZmZzZXQgPSBsYXN0RWxlbS5vZmZzZXQoKS50b3A7CgogICAgICAgICAgICAgICAgICAgIC8vIEFwcGVuZHMgYSBkaXYgdG8gdGhlIGJvdHRvbSBvZiB0aGUgcGFnZSBhbmQgc2V0cyB0aGUgaGVpZ2h0IHRvIHRoZSBkaWZmZXJlbmNlIG9mIHRoZSB3aW5kb3cgc2Nyb2xsVG9wIGFuZCB0aGUgbGFzdCBlbGVtZW50J3MgcG9zaXRpb24gdG9wIG9mZnNldAogICAgICAgICAgICAgICAgICAgICQoc2VsZi5vcHRpb25zLmNvbnRleHQpLmFwcGVuZCgkKCI8ZGl2Lz4iLCB7CgogICAgICAgICAgICAgICAgICAgICAgImNsYXNzIjogZXh0ZW5kUGFnZUNsYXNzTmFtZSwKCiAgICAgICAgICAgICAgICAgICAgICAiaGVpZ2h0IjogTWF0aC5hYnMobGFzdEVsZW1PZmZzZXQgLSB3aW5TY3JvbGxUb3ApICsgInB4IiwKCiAgICAgICAgICAgICAgICAgICAgICAiZGF0YS11bmlxdWUiOiBleHRlbmRQYWdlQ2xhc3NOYW1lCgogICAgICAgICAgICAgICAgICAgIH0pKTsKCiAgICAgICAgICAgICAgICAgICAgaWYgKHNlbGYuZXh0ZW5kUGFnZVNjcm9sbCkgewoKICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRFbGVtID0gc2VsZi5lbGVtZW50LmZpbmQoJ2xpLicgKyBzZWxmLmZvY3VzQ2xhc3MpOwoKICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX3Njcm9sbFRvKCQoJ2RpdltkYXRhLXVuaXF1ZT0iJyArIGN1cnJlbnRFbGVtLmF0dHIoImRhdGEtdW5pcXVlIikgKyAnIl0nKSk7CgogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgLy8gVGhlIHplcm8gdGltZW91dCBlbnN1cmVzIHRoZSBmb2xsb3dpbmcgY29kZSBpcyBydW4gYWZ0ZXIgdGhlIHNjcm9sbCBldmVudHMKICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewoKICAgICAgICAgICAgICAgIC8vIF9Mb2NhbCB2YXJpYWJsZXNfCgogICAgICAgICAgICAgICAgLy8gU3RvcmVzIHRoZSBkaXN0YW5jZSB0byB0aGUgY2xvc2VzdCBhbmNob3IKICAgICAgICAgICAgICAgIHZhciBjbG9zZXN0QW5jaG9yRGlzdGFuY2UgPSBudWxsLAoKICAgICAgICAgICAgICAgICAgLy8gU3RvcmVzIHRoZSBpbmRleCBvZiB0aGUgY2xvc2VzdCBhbmNob3IKICAgICAgICAgICAgICAgICAgY2xvc2VzdEFuY2hvcklkeCA9IG51bGwsCgogICAgICAgICAgICAgICAgICAvLyBLZWVwcyBhIHJlZmVyZW5jZSB0byBhbGwgYW5jaG9ycwogICAgICAgICAgICAgICAgICBhbmNob3JzID0gJChzZWxmLm9wdGlvbnMuY29udGV4dCkuZmluZCgiZGl2W2RhdGEtdW5pcXVlXSIpLAoKICAgICAgICAgICAgICAgICAgYW5jaG9yVGV4dDsKCiAgICAgICAgICAgICAgICAvLyBEZXRlcm1pbmVzIHRoZSBpbmRleCBvZiB0aGUgY2xvc2VzdCBhbmNob3IKICAgICAgICAgICAgICAgIGFuY2hvcnMuZWFjaChmdW5jdGlvbihpZHgpIHsKICAgICAgICAgICAgICAgICAgdmFyIGRpc3RhbmNlID0gTWF0aC5hYnMoKCQodGhpcykubmV4dCgpLmxlbmd0aCA/ICQodGhpcykubmV4dCgpIDogJCh0aGlzKSkub2Zmc2V0KCkudG9wIC0gd2luU2Nyb2xsVG9wIC0gc2VsZi5vcHRpb25zLmhpZ2hsaWdodE9mZnNldCk7CiAgICAgICAgICAgICAgICAgIGlmIChjbG9zZXN0QW5jaG9yRGlzdGFuY2UgPT0gbnVsbCB8fCBkaXN0YW5jZSA8IGNsb3Nlc3RBbmNob3JEaXN0YW5jZSkgewogICAgICAgICAgICAgICAgICAgIGNsb3Nlc3RBbmNob3JEaXN0YW5jZSA9IGRpc3RhbmNlOwogICAgICAgICAgICAgICAgICAgIGNsb3Nlc3RBbmNob3JJZHggPSBpZHg7CiAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9KTsKCiAgICAgICAgICAgICAgICBhbmNob3JUZXh0ID0gJChhbmNob3JzW2Nsb3Nlc3RBbmNob3JJZHhdKS5hdHRyKCJkYXRhLXVuaXF1ZSIpOwoKICAgICAgICAgICAgICAgIC8vIFN0b3JlcyB0aGUgbGlzdCBpdGVtIEhUTUwgZWxlbWVudCB0aGF0IGNvcnJlc3BvbmRzIHRvIHRoZSBjdXJyZW50bHkgdHJhdmVyc2VkIGFuY2hvciB0YWcKICAgICAgICAgICAgICAgIGVsZW0gPSAkKCdsaVtkYXRhLXVuaXF1ZT0iJyArIGFuY2hvclRleHQgKyAnIl0nKTsKCiAgICAgICAgICAgICAgICAvLyBJZiB0aGUgYGhpZ2hsaWdodE9uU2Nyb2xsYCBvcHRpb24gaXMgdHJ1ZSBhbmQgYSBuZXh0IGVsZW1lbnQgaXMgZm91bmQKICAgICAgICAgICAgICAgIGlmIChzZWxmLm9wdGlvbnMuaGlnaGxpZ2h0T25TY3JvbGwgJiYgZWxlbS5sZW5ndGgpIHsKCiAgICAgICAgICAgICAgICAgIC8vIFJlbW92ZXMgaGlnaGxpZ2h0aW5nIGZyb20gYWxsIG9mIHRoZSBsaXN0IGl0ZW0ncwogICAgICAgICAgICAgICAgICBzZWxmLmVsZW1lbnQuZmluZCgiLiIgKyBzZWxmLmZvY3VzQ2xhc3MpLnJlbW92ZUNsYXNzKHNlbGYuZm9jdXNDbGFzcyk7CgogICAgICAgICAgICAgICAgICAvLyBIaWdobGlnaHRzIHRoZSBjb3JyZXNwb25kaW5nIGxpc3QgaXRlbQogICAgICAgICAgICAgICAgICBlbGVtLmFkZENsYXNzKHNlbGYuZm9jdXNDbGFzcyk7CgogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChzZWxmLm9wdGlvbnMuc2Nyb2xsSGlzdG9yeSkgewoKICAgICAgICAgICAgICAgICAgaWYgKHdpbmRvdy5sb2NhdGlvbi5oYXNoICE9PSAiIyIgKyBhbmNob3JUZXh0KSB7CgogICAgICAgICAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbi5yZXBsYWNlKCIjIiArIGFuY2hvclRleHQpOwoKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIC8vIElmIHRoZSBgc2hvd0FuZEhpZGVPblNjcm9sbGAgb3B0aW9uIGlzIHRydWUKICAgICAgICAgICAgICAgIGlmIChzZWxmLm9wdGlvbnMuc2hvd0FuZEhpZGVPblNjcm9sbCAmJiBzZWxmLm9wdGlvbnMuc2hvd0FuZEhpZGUpIHsKCiAgICAgICAgICAgICAgICAgIHNlbGYuX3RyaWdnZXJTaG93KGVsZW0sIHRydWUpOwoKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgfSwgMCk7CgogICAgICAgICAgICB9KTsKCiAgICAgICAgICB9KTsKICAgICAgICB9CgogICAgICB9LAoKICAgICAgLy8gU2hvdwogICAgICAvLyAtLS0tCiAgICAgIC8vICAgICAgT3BlbnMgdGhlIGN1cnJlbnQgc3ViLWhlYWRlcgogICAgICBzaG93OiBmdW5jdGlvbihlbGVtLCBzY3JvbGwpIHsKCiAgICAgICAgLy8gU3RvcmVzIHRoZSBwbHVnaW4gY29udGV4dCBpbiB0aGUgYHNlbGZgIHZhcmlhYmxlCiAgICAgICAgdmFyIHNlbGYgPSB0aGlzLAogICAgICAgICAgZWxlbWVudCA9IGVsZW07CgogICAgICAgIC8vIElmIHRoZSBzdWItaGVhZGVyIGlzIG5vdCBhbHJlYWR5IHZpc2libGUKICAgICAgICBpZiAoIWVsZW0uaXMoIjp2aXNpYmxlIikpIHsKCiAgICAgICAgICAvLyBJZiB0aGUgY3VycmVudCBlbGVtZW50IGRvZXMgbm90IGhhdmUgYW55IG5lc3RlZCBzdWJoZWFkZXJzLCBpcyBub3QgYSBoZWFkZXIsIGFuZCBpdHMgcGFyZW50IGlzIG5vdCB2aXNpYmxlCiAgICAgICAgICBpZiAoIWVsZW0uZmluZChzdWJoZWFkZXJDbGFzcykubGVuZ3RoICYmICFlbGVtLnBhcmVudCgpLmlzKGhlYWRlckNsYXNzKSAmJiAhZWxlbS5wYXJlbnQoKS5pcygiOnZpc2libGUiKSkgewoKICAgICAgICAgICAgLy8gU2V0cyB0aGUgY3VycmVudCBlbGVtZW50IHRvIGFsbCBvZiB0aGUgc3ViaGVhZGVycyB3aXRoaW4gdGhlIGN1cnJlbnQgaGVhZGVyCiAgICAgICAgICAgIGVsZW0gPSBlbGVtLnBhcmVudHMoc3ViaGVhZGVyQ2xhc3MpLmFkZChlbGVtKTsKCiAgICAgICAgICB9CgogICAgICAgICAgLy8gSWYgdGhlIGN1cnJlbnQgZWxlbWVudCBkb2VzIG5vdCBoYXZlIGFueSBuZXN0ZWQgc3ViaGVhZGVycyBhbmQgaXMgbm90IGEgaGVhZGVyCiAgICAgICAgICBlbHNlIGlmICghZWxlbS5jaGlsZHJlbihzdWJoZWFkZXJDbGFzcykubGVuZ3RoICYmICFlbGVtLnBhcmVudCgpLmlzKGhlYWRlckNsYXNzKSkgewoKICAgICAgICAgICAgLy8gU2V0cyB0aGUgY3VycmVudCBlbGVtZW50IHRvIHRoZSBjbG9zZXN0IHN1YmhlYWRlcgogICAgICAgICAgICBlbGVtID0gZWxlbS5jbG9zZXN0KHN1YmhlYWRlckNsYXNzKTsKCiAgICAgICAgICB9CgogICAgICAgICAgLy9EZXRlcm1pbmVzIHdoYXQgalF1ZXJ5IGVmZmVjdCB0byB1c2UKICAgICAgICAgIHN3aXRjaCAoc2VsZi5vcHRpb25zLnNob3dFZmZlY3QpIHsKCiAgICAgICAgICAgIC8vVXNlcyBgbm8gZWZmZWN0YAogICAgICAgICAgICBjYXNlICJub25lIjoKCiAgICAgICAgICAgICAgZWxlbS5zaG93KCk7CgogICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgICAvL1VzZXMgdGhlIGpRdWVyeSBgc2hvd2Agc3BlY2lhbCBlZmZlY3QKICAgICAgICAgICAgY2FzZSAic2hvdyI6CgogICAgICAgICAgICAgIGVsZW0uc2hvdyhzZWxmLm9wdGlvbnMuc2hvd0VmZmVjdFNwZWVkKTsKCiAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICAgIC8vVXNlcyB0aGUgalF1ZXJ5IGBzbGlkZURvd25gIHNwZWNpYWwgZWZmZWN0CiAgICAgICAgICAgIGNhc2UgInNsaWRlRG93biI6CgogICAgICAgICAgICAgIGVsZW0uc2xpZGVEb3duKHNlbGYub3B0aW9ucy5zaG93RWZmZWN0U3BlZWQpOwoKICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgICAgLy9Vc2VzIHRoZSBqUXVlcnkgYGZhZGVJbmAgc3BlY2lhbCBlZmZlY3QKICAgICAgICAgICAgY2FzZSAiZmFkZUluIjoKCiAgICAgICAgICAgICAgZWxlbS5mYWRlSW4oc2VsZi5vcHRpb25zLnNob3dFZmZlY3RTcGVlZCk7CgogICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgICAvL0lmIG5vbmUgb2YgdGhlIGFib3ZlIG9wdGlvbnMgd2VyZSBwYXNzZWQsIHRoZW4gYSBgalF1ZXJ5VUkgc2hvdyBlZmZlY3RgIGlzIGV4cGVjdGVkCiAgICAgICAgICAgIGRlZmF1bHQ6CgogICAgICAgICAgICAgIGVsZW0uc2hvdygpOwoKICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICB9CgogICAgICAgIH0KCiAgICAgICAgLy8gSWYgdGhlIGN1cnJlbnQgc3ViaGVhZGVyIHBhcmVudCBlbGVtZW50IGlzIGEgaGVhZGVyCiAgICAgICAgaWYgKGVsZW0ucGFyZW50KCkuaXMoaGVhZGVyQ2xhc3MpKSB7CgogICAgICAgICAgLy8gSGlkZXMgYWxsIG5vbi1hY3RpdmUgc3ViLWhlYWRlcnMKICAgICAgICAgIHNlbGYuaGlkZSgkKHN1YmhlYWRlckNsYXNzKS5ub3QoZWxlbSkpOwoKICAgICAgICB9CgogICAgICAgIC8vIElmIHRoZSBjdXJyZW50IHN1YmhlYWRlciBwYXJlbnQgZWxlbWVudCBpcyBub3QgYSBoZWFkZXIKICAgICAgICBlbHNlIHsKCiAgICAgICAgICAvLyBIaWRlcyBhbGwgbm9uLWFjdGl2ZSBzdWItaGVhZGVycwogICAgICAgICAgc2VsZi5oaWRlKCQoc3ViaGVhZGVyQ2xhc3MpLm5vdChlbGVtLmNsb3Nlc3QoaGVhZGVyQ2xhc3MpLmZpbmQoc3ViaGVhZGVyQ2xhc3MpLm5vdChlbGVtLnNpYmxpbmdzKCkpKSk7CgogICAgICAgIH0KCiAgICAgICAgLy8gTWFpbnRhaW5zIGNoYWluYWJsaXR5CiAgICAgICAgcmV0dXJuIHNlbGY7CgogICAgICB9LAoKICAgICAgLy8gSGlkZQogICAgICAvLyAtLS0tCiAgICAgIC8vICAgICAgQ2xvc2VzIHRoZSBjdXJyZW50IHN1Yi1oZWFkZXIKICAgICAgaGlkZTogZnVuY3Rpb24oZWxlbSkgewoKICAgICAgICAvLyBTdG9yZXMgdGhlIHBsdWdpbiBjb250ZXh0IGluIHRoZSBgc2VsZmAgdmFyaWFibGUKICAgICAgICB2YXIgc2VsZiA9IHRoaXM7CgogICAgICAgIC8vRGV0ZXJtaW5lcyB3aGF0IGpRdWVyeSBlZmZlY3QgdG8gdXNlCiAgICAgICAgc3dpdGNoIChzZWxmLm9wdGlvbnMuaGlkZUVmZmVjdCkgewoKICAgICAgICAgIC8vIFVzZXMgYG5vIGVmZmVjdGAKICAgICAgICAgIGNhc2UgIm5vbmUiOgoKICAgICAgICAgICAgZWxlbS5oaWRlKCk7CgogICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgIC8vIFVzZXMgdGhlIGpRdWVyeSBgaGlkZWAgc3BlY2lhbCBlZmZlY3QKICAgICAgICAgIGNhc2UgImhpZGUiOgoKICAgICAgICAgICAgZWxlbS5oaWRlKHNlbGYub3B0aW9ucy5oaWRlRWZmZWN0U3BlZWQpOwoKICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICAvLyBVc2VzIHRoZSBqUXVlcnkgYHNsaWRlVXBgIHNwZWNpYWwgZWZmZWN0CiAgICAgICAgICBjYXNlICJzbGlkZVVwIjoKCiAgICAgICAgICAgIGVsZW0uc2xpZGVVcChzZWxmLm9wdGlvbnMuaGlkZUVmZmVjdFNwZWVkKTsKCiAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgLy8gVXNlcyB0aGUgalF1ZXJ5IGBmYWRlT3V0YCBzcGVjaWFsIGVmZmVjdAogICAgICAgICAgY2FzZSAiZmFkZU91dCI6CgogICAgICAgICAgICBlbGVtLmZhZGVPdXQoc2VsZi5vcHRpb25zLmhpZGVFZmZlY3RTcGVlZCk7CgogICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgIC8vIElmIG5vbmUgb2YgdGhlIGFib3ZlIG9wdGlvbnMgd2VyZSBwYXNzZWQsIHRoZW4gYSBganF1ZXJ5VUkgaGlkZSBlZmZlY3RgIGlzIGV4cGVjdGVkCiAgICAgICAgICBkZWZhdWx0OgoKICAgICAgICAgICAgZWxlbS5oaWRlKCk7CgogICAgICAgICAgICBicmVhazsKCiAgICAgICAgfQoKICAgICAgICAvLyBNYWludGFpbnMgY2hhaW5hYmxpdHkKICAgICAgICByZXR1cm4gc2VsZjsKICAgICAgfSwKCiAgICAgIC8vIF90cmlnZ2VyU2hvdwogICAgICAvLyAtLS0tLS0tLS0tLS0KICAgICAgLy8gICAgICBEZXRlcm1pbmVzIHdoYXQgZWxlbWVudHMgZ2V0IHNob3duIG9uIHNjcm9sbCBhbmQgY2xpY2sKICAgICAgX3RyaWdnZXJTaG93OiBmdW5jdGlvbihlbGVtLCBzY3JvbGwpIHsKCiAgICAgICAgdmFyIHNlbGYgPSB0aGlzOwoKICAgICAgICAvLyBJZiB0aGUgY3VycmVudCBlbGVtZW50J3MgcGFyZW50IGlzIGEgaGVhZGVyIGVsZW1lbnQgb3IgdGhlIG5leHQgZWxlbWVudCBpcyBhIG5lc3RlZCBzdWJoZWFkZXIgZWxlbWVudAogICAgICAgIGlmIChlbGVtLnBhcmVudCgpLmlzKGhlYWRlckNsYXNzKSB8fCBlbGVtLm5leHQoKS5pcyhzdWJoZWFkZXJDbGFzcykpIHsKCiAgICAgICAgICAvLyBTaG93cyB0aGUgbmV4dCBzdWItaGVhZGVyIGVsZW1lbnQKICAgICAgICAgIHNlbGYuc2hvdyhlbGVtLm5leHQoc3ViaGVhZGVyQ2xhc3MpLCBzY3JvbGwpOwoKICAgICAgICB9CgogICAgICAgIC8vIElmIHRoZSBjdXJyZW50IGVsZW1lbnQncyBwYXJlbnQgaXMgYSBzdWJoZWFkZXIgZWxlbWVudAogICAgICAgIGVsc2UgaWYgKGVsZW0ucGFyZW50KCkuaXMoc3ViaGVhZGVyQ2xhc3MpKSB7CgogICAgICAgICAgLy8gU2hvd3MgdGhlIHBhcmVudCBzdWItaGVhZGVyIGVsZW1lbnQKICAgICAgICAgIHNlbGYuc2hvdyhlbGVtLnBhcmVudCgpLCBzY3JvbGwpOwoKICAgICAgICB9CgogICAgICAgIC8vIE1haW50YWlucyBjaGFpbmFiaWxpdHkKICAgICAgICByZXR1cm4gc2VsZjsKCiAgICAgIH0sCgogICAgICAvLyBfYWRkQ1NTQ2xhc3NlcwogICAgICAvLyAtLS0tLS0tLS0tLS0tLQogICAgICAvLyAgICAgIEFkZHMgQ1NTIGNsYXNzZXMgdG8gdGhlIG5ld2x5IGdlbmVyYXRlZCB0YWJsZSBvZiBjb250ZW50cyBIVE1MCiAgICAgIF9hZGRDU1NDbGFzc2VzOiBmdW5jdGlvbigpIHsKCiAgICAgICAgLy8gSWYgdGhlIHVzZXIgd2FudHMgYSBqcXVlcnlVSSB0aGVtZQogICAgICAgIGlmICh0aGlzLm9wdGlvbnMudGhlbWUgPT09ICJqcXVlcnl1aSIpIHsKCiAgICAgICAgICB0aGlzLmZvY3VzQ2xhc3MgPSAidWktc3RhdGUtZGVmYXVsdCI7CgogICAgICAgICAgdGhpcy5ob3ZlckNsYXNzID0gInVpLXN0YXRlLWhvdmVyIjsKCiAgICAgICAgICAvL0FkZHMgdGhlIGRlZmF1bHQgc3R5bGluZyB0byB0aGUgZHJvcGRvd24gbGlzdAogICAgICAgICAgdGhpcy5lbGVtZW50LmFkZENsYXNzKCJ1aS13aWRnZXQiKS5maW5kKCIudG9jLXRpdGxlIikuYWRkQ2xhc3MoInVpLXdpZGdldC1oZWFkZXIiKS5lbmQoKS5maW5kKCJsaSIpLmFkZENsYXNzKCJ1aS13aWRnZXQtY29udGVudCIpOwoKICAgICAgICB9CgogICAgICAgIC8vIElmIHRoZSB1c2VyIHdhbnRzIGEgdHdpdHRlckJvb3RzdHJhcCB0aGVtZQogICAgICAgIGVsc2UgaWYgKHRoaXMub3B0aW9ucy50aGVtZSA9PT0gImJvb3RzdHJhcCIpIHsKCiAgICAgICAgICB0aGlzLmVsZW1lbnQuZmluZChoZWFkZXJDbGFzcyArICIsIiArIHN1YmhlYWRlckNsYXNzKS5hZGRDbGFzcygibmF2IG5hdi1saXN0Iik7CgogICAgICAgICAgdGhpcy5mb2N1c0NsYXNzID0gImFjdGl2ZSI7CgogICAgICAgIH0KCiAgICAgICAgLy8gSWYgdGhlIHVzZXIgd2FudHMgYSB0d2l0dGVyQm9vdHN0cmFwIHRoZW1lCiAgICAgICAgZWxzZSBpZiAodGhpcy5vcHRpb25zLnRoZW1lID09PSAiYm9vdHN0cmFwMyIpIHsKCiAgICAgICAgICB0aGlzLmVsZW1lbnQuZmluZChoZWFkZXJDbGFzcyArICIsIiArIHN1YmhlYWRlckNsYXNzKS5hZGRDbGFzcygibGlzdC1ncm91cCIpOwoKICAgICAgICAgIHRoaXMuZWxlbWVudC5maW5kKGl0ZW1DbGFzcykuYWRkQ2xhc3MoImxpc3QtZ3JvdXAtaXRlbSIpOwoKICAgICAgICAgIHRoaXMuZm9jdXNDbGFzcyA9ICJhY3RpdmUiOwoKICAgICAgICB9CgogICAgICAgIC8vIElmIGEgdXNlciBkb2VzIG5vdCB3YW50IGEgcHJlYnVpbHQgdGhlbWUKICAgICAgICBlbHNlIHsKCiAgICAgICAgICAvLyBBZGRzIG1vcmUgbmV1dHJhbCBjbGFzc2VzIChpbnN0ZWFkIG9mIGpxdWVyeXVpKQoKICAgICAgICAgIHRoaXMuZm9jdXNDbGFzcyA9IHRvY0ZvY3VzQ2xhc3NOYW1lOwoKICAgICAgICAgIHRoaXMuaG92ZXJDbGFzcyA9IHRvY0hvdmVyQ2xhc3NOYW1lOwoKICAgICAgICB9CgogICAgICAgIC8vTWFpbnRhaW5zIGNoYWluYWJpbGl0eQogICAgICAgIHJldHVybiB0aGlzOwoKICAgICAgfSwKCiAgICAgIC8vIHNldE9wdGlvbgogICAgICAvLyAtLS0tLS0tLS0KICAgICAgLy8gICAgICBTZXRzIGEgc2luZ2xlIFRvY2lmeSBvcHRpb24gYWZ0ZXIgdGhlIHBsdWdpbiBpcyBpbnZva2VkCiAgICAgIHNldE9wdGlvbjogZnVuY3Rpb24oKSB7CgogICAgICAgIC8vIENhbGxzIHRoZSBqUXVlcnlVSSBXaWRnZXQgRmFjdG9yeSBzZXRPcHRpb24gbWV0aG9kCiAgICAgICAgJC5XaWRnZXQucHJvdG90eXBlLl9zZXRPcHRpb24uYXBwbHkodGhpcywgYXJndW1lbnRzKTsKCiAgICAgIH0sCgogICAgICAvLyBzZXRPcHRpb25zCiAgICAgIC8vIC0tLS0tLS0tLS0KICAgICAgLy8gICAgICBTZXRzIGEgc2luZ2xlIG9yIG11bHRpcGxlIFRvY2lmeSBvcHRpb25zIGFmdGVyIHRoZSBwbHVnaW4gaXMgaW52b2tlZAogICAgICBzZXRPcHRpb25zOiBmdW5jdGlvbigpIHsKCiAgICAgICAgLy8gQ2FsbHMgdGhlIGpRdWVyeVVJIFdpZGdldCBGYWN0b3J5IHNldE9wdGlvbnMgbWV0aG9kCiAgICAgICAgJC5XaWRnZXQucHJvdG90eXBlLl9zZXRPcHRpb25zLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7CgogICAgICB9LAoKICAgICAgLy8gX3Njcm9sbFRvCiAgICAgIC8vIC0tLS0tLS0tLQogICAgICAvLyAgICAgIFNjcm9sbHMgdG8gYSBzcGVjaWZpYyBlbGVtZW50CiAgICAgIF9zY3JvbGxUbzogZnVuY3Rpb24oZWxlbSkgewoKICAgICAgICB2YXIgc2VsZiA9IHRoaXMsCiAgICAgICAgICBkdXJhdGlvbiA9IHNlbGYub3B0aW9ucy5zbW9vdGhTY3JvbGwgfHwgMCwKICAgICAgICAgIHNjcm9sbFRvID0gc2VsZi5vcHRpb25zLnNjcm9sbFRvLAogICAgICAgICAgY3VycmVudERpdiA9ICQoJ2RpdltkYXRhLXVuaXF1ZT0iJyArIGVsZW0uYXR0cigiZGF0YS11bmlxdWUiKSArICciXScpOwoKICAgICAgICBpZiAoIWN1cnJlbnREaXYubGVuZ3RoKSB7CgogICAgICAgICAgcmV0dXJuIHNlbGY7CgogICAgICAgIH0KCiAgICAgICAgLy8gT25jZSBhbGwgYW5pbWF0aW9ucyBvbiB0aGUgcGFnZSBhcmUgY29tcGxldGUsIHRoaXMgY2FsbGJhY2sgZnVuY3Rpb24gd2lsbCBiZSBjYWxsZWQKICAgICAgICAkKCJodG1sLCBib2R5IikucHJvbWlzZSgpLmRvbmUoZnVuY3Rpb24oKSB7CgogICAgICAgICAgLy8gQW5pbWF0ZXMgdGhlIGh0bWwgYW5kIGJvZHkgZWxlbWVudCBzY3JvbGx0b3BzCiAgICAgICAgICAkKCJodG1sLCBib2R5IikuYW5pbWF0ZSh7CgogICAgICAgICAgICAvLyBTZXRzIHRoZSBqUXVlcnkgYHNjcm9sbFRvcGAgdG8gdGhlIHRvcCBvZmZzZXQgb2YgdGhlIEhUTUwgZGl2IHRhZyB0aGF0IG1hdGNoZXMgdGhlIGN1cnJlbnQgbGlzdCBpdGVtJ3MgYGRhdGEtdW5pcXVlYCB0YWcKICAgICAgICAgICAgInNjcm9sbFRvcCI6IGN1cnJlbnREaXYub2Zmc2V0KCkudG9wIC0gKCQuaXNGdW5jdGlvbihzY3JvbGxUbykgPyBzY3JvbGxUby5jYWxsKCkgOiBzY3JvbGxUbykgKyAicHgiCgogICAgICAgICAgfSwgewoKICAgICAgICAgICAgLy8gU2V0cyB0aGUgc21vb3RoU2Nyb2xsIGFuaW1hdGlvbiB0aW1lIGR1cmF0aW9uIHRvIHRoZSBzbW9vdGhTY3JvbGxTcGVlZCBvcHRpb24KICAgICAgICAgICAgImR1cmF0aW9uIjogZHVyYXRpb24KCiAgICAgICAgICB9KTsKCiAgICAgICAgfSk7CgogICAgICAgIC8vIE1haW50YWlucyBjaGFpbmFiaWxpdHkKICAgICAgICByZXR1cm4gc2VsZjsKCiAgICAgIH0KCiAgICB9KTsKCiAgfSkpOyAvL2VuZCBvZiBwbHVnaW4K"></script> <script src="data:application/x-javascript;base64,CgovKioKICogalF1ZXJ5IFBsdWdpbjogU3RpY2t5IFRhYnMKICoKICogQGF1dGhvciBBaWRhbiBMaXN0ZXIgPGFpZGFuQHBocC5uZXQ+CiAqIGFkYXB0ZWQgYnkgUnViZW4gQXJzbGFuIHRvIGFjdGl2YXRlIHBhcmVudCB0YWJzIHRvbwogKiBodHRwOi8vd3d3LmFpZGFubGlzdGVyLmNvbS8yMDE0LzAzL3BlcnNpc3RpbmctdGhlLXRhYi1zdGF0ZS1pbi1ib290c3RyYXAvCiAqLwooZnVuY3Rpb24oJCkgewogICJ1c2Ugc3RyaWN0IjsKICAkLmZuLnJtYXJrZG93blN0aWNreVRhYnMgPSBmdW5jdGlvbigpIHsKICAgIHZhciBjb250ZXh0ID0gdGhpczsKICAgIC8vIFNob3cgdGhlIHRhYiBjb3JyZXNwb25kaW5nIHdpdGggdGhlIGhhc2ggaW4gdGhlIFVSTCwgb3IgdGhlIGZpcnN0IHRhYgogICAgdmFyIHNob3dTdHVmZkZyb21IYXNoID0gZnVuY3Rpb24oKSB7CiAgICAgIHZhciBoYXNoID0gd2luZG93LmxvY2F0aW9uLmhhc2g7CiAgICAgIHZhciBzZWxlY3RvciA9IGhhc2ggPyAnYVtocmVmPSInICsgaGFzaCArICciXScgOiAnbGkuYWN0aXZlID4gYSc7CiAgICAgIHZhciAkc2VsZWN0b3IgPSAkKHNlbGVjdG9yLCBjb250ZXh0KTsKICAgICAgaWYoJHNlbGVjdG9yLmRhdGEoJ3RvZ2dsZScpID09PSAidGFiIikgewogICAgICAgICRzZWxlY3Rvci50YWIoJ3Nob3cnKTsKICAgICAgICAvLyB3YWxrIHVwIHRoZSBhbmNlc3RvcnMgb2YgdGhpcyBlbGVtZW50LCBzaG93IGFueSBoaWRkZW4gdGFicwogICAgICAgICRzZWxlY3Rvci5wYXJlbnRzKCcuc2VjdGlvbi50YWJzZXQnKS5lYWNoKGZ1bmN0aW9uKGksIGVsbSkgewogICAgICAgICAgdmFyIGxpbmsgPSAkKCdhW2hyZWY9IiMnICsgJChlbG0pLmF0dHIoJ2lkJykgKyAnIl0nKTsKICAgICAgICAgIGlmKGxpbmsuZGF0YSgndG9nZ2xlJykgPT09ICJ0YWIiKSB7CiAgICAgICAgICAgIGxpbmsudGFiKCJzaG93Iik7CiAgICAgICAgICB9CiAgICAgICAgfSk7CiAgICAgIH0KICAgIH07CgoKICAgIC8vIFNldCB0aGUgY29ycmVjdCB0YWIgd2hlbiB0aGUgcGFnZSBsb2FkcwogICAgc2hvd1N0dWZmRnJvbUhhc2goY29udGV4dCk7CgogICAgLy8gU2V0IHRoZSBjb3JyZWN0IHRhYiB3aGVuIGEgdXNlciB1c2VzIHRoZWlyIGJhY2svZm9yd2FyZCBidXR0b24KICAgICQod2luZG93KS5vbignaGFzaGNoYW5nZScsIGZ1bmN0aW9uKCkgewogICAgICBzaG93U3R1ZmZGcm9tSGFzaChjb250ZXh0KTsKICAgIH0pOwoKICAgIC8vIENoYW5nZSB0aGUgVVJMIHdoZW4gdGFicyBhcmUgY2xpY2tlZAogICAgJCgnYScsIGNvbnRleHQpLm9uKCdjbGljaycsIGZ1bmN0aW9uKGUpIHsKICAgICAgaGlzdG9yeS5wdXNoU3RhdGUobnVsbCwgbnVsbCwgdGhpcy5ocmVmKTsKICAgICAgc2hvd1N0dWZmRnJvbUhhc2goY29udGV4dCk7CiAgICB9KTsKCiAgICByZXR1cm4gdGhpczsKICB9Owp9KGpRdWVyeSkpOwoKd2luZG93LmJ1aWxkVGFic2V0cyA9IGZ1bmN0aW9uKHRvY0lEKSB7CgogIC8vIGJ1aWxkIGEgdGFic2V0IGZyb20gYSBzZWN0aW9uIGRpdiB3aXRoIHRoZSAudGFic2V0IGNsYXNzCiAgZnVuY3Rpb24gYnVpbGRUYWJzZXQodGFic2V0KSB7CgogICAgLy8gY2hlY2sgZm9yIGZhZGUgYW5kIHBpbGxzIG9wdGlvbnMKICAgIHZhciBmYWRlID0gdGFic2V0Lmhhc0NsYXNzKCJ0YWJzZXQtZmFkZSIpOwogICAgdmFyIHBpbGxzID0gdGFic2V0Lmhhc0NsYXNzKCJ0YWJzZXQtcGlsbHMiKTsKICAgIHZhciBuYXZDbGFzcyA9IHBpbGxzID8gIm5hdi1waWxscyIgOiAibmF2LXRhYnMiOwoKICAgIC8vIGRldGVybWluZSB0aGUgaGVhZGluZyBsZXZlbCBvZiB0aGUgdGFic2V0IGFuZCB0YWJzCiAgICB2YXIgbWF0Y2ggPSB0YWJzZXQuYXR0cignY2xhc3MnKS5tYXRjaCgvbGV2ZWwoXGQpIC8pOwogICAgaWYgKG1hdGNoID09PSBudWxsKQogICAgICByZXR1cm47CiAgICB2YXIgdGFic2V0TGV2ZWwgPSBOdW1iZXIobWF0Y2hbMV0pOwogICAgdmFyIHRhYkxldmVsID0gdGFic2V0TGV2ZWwgKyAxOwoKICAgIC8vIGZpbmQgYWxsIHN1YmhlYWRpbmdzIGltbWVkaWF0ZWx5IGJlbG93CiAgICB2YXIgdGFicyA9IHRhYnNldC5maW5kKCJkaXYuc2VjdGlvbi5sZXZlbCIgKyB0YWJMZXZlbCk7CiAgICBpZiAoIXRhYnMubGVuZ3RoKQogICAgICByZXR1cm47CgogICAgLy8gY3JlYXRlIHRhYmxpc3QgYW5kIHRhYi1jb250ZW50IGVsZW1lbnRzCiAgICB2YXIgdGFiTGlzdCA9ICQoJzx1bCBjbGFzcz0ibmF2ICcgKyBuYXZDbGFzcyArICciIHJvbGU9InRhYmxpc3QiPjwvdWw+Jyk7CiAgICAkKHRhYnNbMF0pLmJlZm9yZSh0YWJMaXN0KTsKICAgIHZhciB0YWJDb250ZW50ID0gJCgnPGRpdiBjbGFzcz0idGFiLWNvbnRlbnQiPjwvZGl2PicpOwogICAgJCh0YWJzWzBdKS5iZWZvcmUodGFiQ29udGVudCk7CgogICAgLy8gYnVpbGQgdGhlIHRhYnNldAogICAgdmFyIGFjdGl2ZVRhYiA9IDA7CiAgICB0YWJzLmVhY2goZnVuY3Rpb24oaSkgewoKICAgICAgLy8gZ2V0IHRoZSB0YWIgZGl2CiAgICAgIHZhciB0YWIgPSAkKHRhYnNbaV0pOwoKICAgICAgLy8gZ2V0IHRoZSBpZCB0aGVuIHNhbml0aXplIGl0IGZvciB1c2Ugd2l0aCBib290c3RyYXAgdGFicwogICAgICB2YXIgaWQgPSB0YWIuYXR0cignaWQnKTsKCiAgICAgIC8vIHNlZSBpZiB0aGlzIGlzIG1hcmtlZCBhcyB0aGUgYWN0aXZlIHRhYgogICAgICBpZiAodGFiLmhhc0NsYXNzKCdhY3RpdmUnKSkKICAgICAgICBhY3RpdmVUYWIgPSBpOwoKICAgICAgLy8gcmVtb3ZlIGFueSB0YWJsZSBvZiBjb250ZW50cyBlbnRyaWVzIGFzc29jaWF0ZWQgd2l0aAogICAgICAvLyB0aGlzIElEIChzaW5jZSB3ZSdsbCBiZSByZW1vdmluZyB0aGUgaGVhZGluZyBlbGVtZW50KQogICAgICAkKCJkaXYjIiArIHRvY0lEICsgIiBsaSBhW2hyZWY9JyMiICsgaWQgKyAiJ10iKS5wYXJlbnQoKS5yZW1vdmUoKTsKCiAgICAgIC8vIHNhbml0aXplIHRoZSBpZCBmb3IgdXNlIHdpdGggYm9vdHN0cmFwIHRhYnMKICAgICAgaWQgPSBpZC5yZXBsYWNlKC9bLlwvPyYhIzw+XS9nLCAnJykucmVwbGFjZSgvXHMvZywgJ18nKTsKICAgICAgdGFiLmF0dHIoJ2lkJywgaWQpOwoKICAgICAgLy8gZ2V0IHRoZSBoZWFkaW5nIGVsZW1lbnQgd2l0aGluIGl0LCBncmFiIGl0J3MgdGV4dCwgdGhlbiByZW1vdmUgaXQKICAgICAgdmFyIGhlYWRpbmcgPSB0YWIuZmluZCgnaCcgKyB0YWJMZXZlbCArICc6Zmlyc3QnKTsKICAgICAgdmFyIGhlYWRpbmdUZXh0ID0gaGVhZGluZy5odG1sKCk7CiAgICAgIGhlYWRpbmcucmVtb3ZlKCk7CgogICAgICAvLyBidWlsZCBhbmQgYXBwZW5kIHRoZSB0YWIgbGlzdCBpdGVtCiAgICAgIHZhciBhID0gJCgnPGEgcm9sZT0idGFiIiBkYXRhLXRvZ2dsZT0idGFiIj4nICsgaGVhZGluZ1RleHQgKyAnPC9hPicpOwogICAgICBhLmF0dHIoJ2hyZWYnLCAnIycgKyBpZCk7CiAgICAgIGEuYXR0cignYXJpYS1jb250cm9scycsIGlkKTsKICAgICAgdmFyIGxpID0gJCgnPGxpIHJvbGU9InByZXNlbnRhdGlvbiI+PC9saT4nKTsKICAgICAgbGkuYXBwZW5kKGEpOwogICAgICB0YWJMaXN0LmFwcGVuZChsaSk7CgogICAgICAvLyBzZXQgaXQncyBhdHRyaWJ1dGVzCiAgICAgIHRhYi5hdHRyKCdyb2xlJywgJ3RhYnBhbmVsJyk7CiAgICAgIHRhYi5hZGRDbGFzcygndGFiLXBhbmUnKTsKICAgICAgdGFiLmFkZENsYXNzKCd0YWJiZWQtcGFuZScpOwogICAgICBpZiAoZmFkZSkKICAgICAgICB0YWIuYWRkQ2xhc3MoJ2ZhZGUnKTsKCiAgICAgIC8vIG1vdmUgaXQgaW50byB0aGUgdGFiIGNvbnRlbnQgZGl2CiAgICAgIHRhYi5kZXRhY2goKS5hcHBlbmRUbyh0YWJDb250ZW50KTsKICAgIH0pOwoKICAgIC8vIHNldCBhY3RpdmUgdGFiCiAgICAkKHRhYkxpc3QuY2hpbGRyZW4oJ2xpJylbYWN0aXZlVGFiXSkuYWRkQ2xhc3MoJ2FjdGl2ZScpOwogICAgdmFyIGFjdGl2ZSA9ICQodGFiQ29udGVudC5jaGlsZHJlbignZGl2LnNlY3Rpb24nKVthY3RpdmVUYWJdKTsKICAgIGFjdGl2ZS5hZGRDbGFzcygnYWN0aXZlJyk7CiAgICBpZiAoZmFkZSkKICAgICAgYWN0aXZlLmFkZENsYXNzKCdpbicpOwoKICAgIGlmICh0YWJzZXQuaGFzQ2xhc3MoInRhYnNldC1zdGlja3kiKSkKICAgICAgdGFic2V0LnJtYXJrZG93blN0aWNreVRhYnMoKTsKICB9CgogIC8vIGNvbnZlcnQgc2VjdGlvbiBkaXZzIHdpdGggdGhlIC50YWJzZXQgY2xhc3MgdG8gdGFic2V0cwogIHZhciB0YWJzZXRzID0gJCgiZGl2LnNlY3Rpb24udGFic2V0Iik7CiAgdGFic2V0cy5lYWNoKGZ1bmN0aW9uKGkpIHsKICAgIGJ1aWxkVGFic2V0KCQodGFic2V0c1tpXSkpOwogIH0pOwp9OwoK"></script> -<link href="data:text/css;charset=utf-8,pre%20%2Eoperator%2C%0Apre%20%2Eparen%20%7B%0Acolor%3A%20rgb%28104%2C%20118%2C%20135%29%0A%7D%0Apre%20%2Eliteral%20%7B%0Acolor%3A%20%23990073%0A%7D%0Apre%20%2Enumber%20%7B%0Acolor%3A%20%23099%3B%0A%7D%0Apre%20%2Ecomment%20%7B%0Acolor%3A%20%23998%3B%0Afont%2Dstyle%3A%20italic%0A%7D%0Apre%20%2Ekeyword%20%7B%0Acolor%3A%20%23900%3B%0Afont%2Dweight%3A%20bold%0A%7D%0Apre%20%2Eidentifier%20%7B%0Acolor%3A%20rgb%280%2C%200%2C%200%29%3B%0A%7D%0Apre%20%2Estring%20%7B%0Acolor%3A%20%23d14%3B%0A%7D%0A" rel="stylesheet" /> -<script src="data:application/x-javascript;base64,dmFyIGhsanM9bmV3IGZ1bmN0aW9uKCl7ZnVuY3Rpb24gbShwKXtyZXR1cm4gcC5yZXBsYWNlKC8mL2dtLCImYW1wOyIpLnJlcGxhY2UoLzwvZ20sIiZsdDsiKX1mdW5jdGlvbiBmKHIscSxwKXtyZXR1cm4gUmVnRXhwKHEsIm0iKyhyLmNJPyJpIjoiIikrKHA/ImciOiIiKSl9ZnVuY3Rpb24gYihyKXtmb3IodmFyIHA9MDtwPHIuY2hpbGROb2Rlcy5sZW5ndGg7cCsrKXt2YXIgcT1yLmNoaWxkTm9kZXNbcF07aWYocS5ub2RlTmFtZT09IkNPREUiKXtyZXR1cm4gcX1pZighKHEubm9kZVR5cGU9PTMmJnEubm9kZVZhbHVlLm1hdGNoKC9ccysvKSkpe2JyZWFrfX19ZnVuY3Rpb24gaCh0LHMpe3ZhciBwPSIiO2Zvcih2YXIgcj0wO3I8dC5jaGlsZE5vZGVzLmxlbmd0aDtyKyspe2lmKHQuY2hpbGROb2Rlc1tyXS5ub2RlVHlwZT09Myl7dmFyIHE9dC5jaGlsZE5vZGVzW3JdLm5vZGVWYWx1ZTtpZihzKXtxPXEucmVwbGFjZSgvXG4vZywiIil9cCs9cX1lbHNle2lmKHQuY2hpbGROb2Rlc1tyXS5ub2RlTmFtZT09IkJSIil7cCs9IlxuIn1lbHNle3ArPWgodC5jaGlsZE5vZGVzW3JdKX19fWlmKC9NU0lFIFs2NzhdLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpKXtwPXAucmVwbGFjZSgvXHIvZywiXG4iKX1yZXR1cm4gcH1mdW5jdGlvbiBhKHMpe3ZhciByPXMuY2xhc3NOYW1lLnNwbGl0KC9ccysvKTtyPXIuY29uY2F0KHMucGFyZW50Tm9kZS5jbGFzc05hbWUuc3BsaXQoL1xzKy8pKTtmb3IodmFyIHE9MDtxPHIubGVuZ3RoO3ErKyl7dmFyIHA9cltxXS5yZXBsYWNlKC9ebGFuZ3VhZ2UtLywiIik7aWYoZVtwXSl7cmV0dXJuIHB9fX1mdW5jdGlvbiBjKHEpe3ZhciBwPVtdOyhmdW5jdGlvbihzLHQpe2Zvcih2YXIgcj0wO3I8cy5jaGlsZE5vZGVzLmxlbmd0aDtyKyspe2lmKHMuY2hpbGROb2Rlc1tyXS5ub2RlVHlwZT09Myl7dCs9cy5jaGlsZE5vZGVzW3JdLm5vZGVWYWx1ZS5sZW5ndGh9ZWxzZXtpZihzLmNoaWxkTm9kZXNbcl0ubm9kZU5hbWU9PSJCUiIpe3QrPTF9ZWxzZXtpZihzLmNoaWxkTm9kZXNbcl0ubm9kZVR5cGU9PTEpe3AucHVzaCh7ZXZlbnQ6InN0YXJ0IixvZmZzZXQ6dCxub2RlOnMuY2hpbGROb2Rlc1tyXX0pO3Q9YXJndW1lbnRzLmNhbGxlZShzLmNoaWxkTm9kZXNbcl0sdCk7cC5wdXNoKHtldmVudDoic3RvcCIsb2Zmc2V0OnQsbm9kZTpzLmNoaWxkTm9kZXNbcl19KX19fX1yZXR1cm4gdH0pKHEsMCk7cmV0dXJuIHB9ZnVuY3Rpb24gayh5LHcseCl7dmFyIHE9MDt2YXIgej0iIjt2YXIgcz1bXTtmdW5jdGlvbiB1KCl7aWYoeS5sZW5ndGgmJncubGVuZ3RoKXtpZih5WzBdLm9mZnNldCE9d1swXS5vZmZzZXQpe3JldHVybih5WzBdLm9mZnNldDx3WzBdLm9mZnNldCk/eTp3fWVsc2V7cmV0dXJuIHdbMF0uZXZlbnQ9PSJzdGFydCI/eTp3fX1lbHNle3JldHVybiB5Lmxlbmd0aD95Ond9fWZ1bmN0aW9uIHQoRCl7dmFyIEE9IjwiK0Qubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtmb3IodmFyIEI9MDtCPEQuYXR0cmlidXRlcy5sZW5ndGg7QisrKXt2YXIgQz1ELmF0dHJpYnV0ZXNbQl07QSs9IiAiK0Mubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtpZihDLnZhbHVlIT09dW5kZWZpbmVkJiZDLnZhbHVlIT09ZmFsc2UmJkMudmFsdWUhPT1udWxsKXtBKz0nPSInK20oQy52YWx1ZSkrJyInfX1yZXR1cm4gQSsiPiJ9d2hpbGUoeS5sZW5ndGh8fHcubGVuZ3RoKXt2YXIgdj11KCkuc3BsaWNlKDAsMSlbMF07eis9bSh4LnN1YnN0cihxLHYub2Zmc2V0LXEpKTtxPXYub2Zmc2V0O2lmKHYuZXZlbnQ9PSJzdGFydCIpe3orPXQodi5ub2RlKTtzLnB1c2godi5ub2RlKX1lbHNle2lmKHYuZXZlbnQ9PSJzdG9wIil7dmFyIHAscj1zLmxlbmd0aDtkb3tyLS07cD1zW3JdO3orPSgiPC8iK3Aubm9kZU5hbWUudG9Mb3dlckNhc2UoKSsiPiIpfXdoaWxlKHAhPXYubm9kZSk7cy5zcGxpY2UociwxKTt3aGlsZShyPHMubGVuZ3RoKXt6Kz10KHNbcl0pO3IrK319fX1yZXR1cm4geittKHguc3Vic3RyKHEpKX1mdW5jdGlvbiBqKCl7ZnVuY3Rpb24gcSh4LHksdil7aWYoeC5jb21waWxlZCl7cmV0dXJufXZhciB1O3ZhciBzPVtdO2lmKHguayl7eC5sUj1mKHkseC5sfHxobGpzLklSLHRydWUpO2Zvcih2YXIgdyBpbiB4Lmspe2lmKCF4LmsuaGFzT3duUHJvcGVydHkodykpe2NvbnRpbnVlfWlmKHgua1t3XSBpbnN0YW5jZW9mIE9iamVjdCl7dT14Lmtbd119ZWxzZXt1PXguazt3PSJrZXl3b3JkIn1mb3IodmFyIHIgaW4gdSl7aWYoIXUuaGFzT3duUHJvcGVydHkocikpe2NvbnRpbnVlfXgua1tyXT1bdyx1W3JdXTtzLnB1c2gocil9fX1pZighdil7aWYoeC5iV0spe3guYj0iXFxiKCIrcy5qb2luKCJ8IikrIilcXHMifXguYlI9Zih5LHguYj94LmI6IlxcQnxcXGIiKTtpZigheC5lJiYheC5lVyl7eC5lPSJcXEJ8XFxiIn1pZih4LmUpe3guZVI9Zih5LHguZSl9fWlmKHguaSl7eC5pUj1mKHkseC5pKX1pZih4LnI9PT11bmRlZmluZWQpe3gucj0xfWlmKCF4LmMpe3guYz1bXX14LmNvbXBpbGVkPXRydWU7Zm9yKHZhciB0PTA7dDx4LmMubGVuZ3RoO3QrKyl7aWYoeC5jW3RdPT0ic2VsZiIpe3guY1t0XT14fXEoeC5jW3RdLHksZmFsc2UpfWlmKHguc3RhcnRzKXtxKHguc3RhcnRzLHksZmFsc2UpfX1mb3IodmFyIHAgaW4gZSl7aWYoIWUuaGFzT3duUHJvcGVydHkocCkpe2NvbnRpbnVlfXEoZVtwXS5kTSxlW3BdLHRydWUpfX1mdW5jdGlvbiBkKEIsQyl7aWYoIWouY2FsbGVkKXtqKCk7ai5jYWxsZWQ9dHJ1ZX1mdW5jdGlvbiBxKHIsTSl7Zm9yKHZhciBMPTA7TDxNLmMubGVuZ3RoO0wrKyl7aWYoKE0uY1tMXS5iUi5leGVjKHIpfHxbbnVsbF0pWzBdPT1yKXtyZXR1cm4gTS5jW0xdfX19ZnVuY3Rpb24gdihMLHIpe2lmKERbTF0uZSYmRFtMXS5lUi50ZXN0KHIpKXtyZXR1cm4gMX1pZihEW0xdLmVXKXt2YXIgTT12KEwtMSxyKTtyZXR1cm4gTT9NKzE6MH1yZXR1cm4gMH1mdW5jdGlvbiB3KHIsTCl7cmV0dXJuIEwuaSYmTC5pUi50ZXN0KHIpfWZ1bmN0aW9uIEsoTixPKXt2YXIgTT1bXTtmb3IodmFyIEw9MDtMPE4uYy5sZW5ndGg7TCsrKXtNLnB1c2goTi5jW0xdLmIpfXZhciByPUQubGVuZ3RoLTE7ZG97aWYoRFtyXS5lKXtNLnB1c2goRFtyXS5lKX1yLS19d2hpbGUoRFtyKzFdLmVXKTtpZihOLmkpe00ucHVzaChOLmkpfXJldHVybiBmKE8sTS5qb2luKCJ8IiksdHJ1ZSl9ZnVuY3Rpb24gcChNLEwpe3ZhciBOPURbRC5sZW5ndGgtMV07aWYoIU4udCl7Ti50PUsoTixFKX1OLnQubGFzdEluZGV4PUw7dmFyIHI9Ti50LmV4ZWMoTSk7cmV0dXJuIHI/W00uc3Vic3RyKEwsci5pbmRleC1MKSxyWzBdLGZhbHNlXTpbTS5zdWJzdHIoTCksIiIsdHJ1ZV19ZnVuY3Rpb24geihOLHIpe3ZhciBMPUUuY0k/clswXS50b0xvd2VyQ2FzZSgpOnJbMF07dmFyIE09Ti5rW0xdO2lmKE0mJk0gaW5zdGFuY2VvZiBBcnJheSl7cmV0dXJuIE19cmV0dXJuIGZhbHNlfWZ1bmN0aW9uIEYoTCxQKXtMPW0oTCk7aWYoIVAuayl7cmV0dXJuIEx9dmFyIHI9IiI7dmFyIE89MDtQLmxSLmxhc3RJbmRleD0wO3ZhciBNPVAubFIuZXhlYyhMKTt3aGlsZShNKXtyKz1MLnN1YnN0cihPLE0uaW5kZXgtTyk7dmFyIE49eihQLE0pO2lmKE4pe3grPU5bMV07cis9JzxzcGFuIGNsYXNzPSInK05bMF0rJyI+JytNWzBdKyI8L3NwYW4+In1lbHNle3IrPU1bMF19Tz1QLmxSLmxhc3RJbmRleDtNPVAubFIuZXhlYyhMKX1yZXR1cm4gcitMLnN1YnN0cihPLEwubGVuZ3RoLU8pfWZ1bmN0aW9uIEooTCxNKXtpZihNLnNMJiZlW00uc0xdKXt2YXIgcj1kKE0uc0wsTCk7eCs9ci5rZXl3b3JkX2NvdW50O3JldHVybiByLnZhbHVlfWVsc2V7cmV0dXJuIEYoTCxNKX19ZnVuY3Rpb24gSShNLHIpe3ZhciBMPU0uY04/JzxzcGFuIGNsYXNzPSInK00uY04rJyI+JzoiIjtpZihNLnJCKXt5Kz1MO00uYnVmZmVyPSIifWVsc2V7aWYoTS5lQil7eSs9bShyKStMO00uYnVmZmVyPSIifWVsc2V7eSs9TDtNLmJ1ZmZlcj1yfX1ELnB1c2goTSk7QSs9TS5yfWZ1bmN0aW9uIEcoTixNLFEpe3ZhciBSPURbRC5sZW5ndGgtMV07aWYoUSl7eSs9SihSLmJ1ZmZlcitOLFIpO3JldHVybiBmYWxzZX12YXIgUD1xKE0sUik7aWYoUCl7eSs9SihSLmJ1ZmZlcitOLFIpO0koUCxNKTtyZXR1cm4gUC5yQn12YXIgTD12KEQubGVuZ3RoLTEsTSk7aWYoTCl7dmFyIE89Ui5jTj8iPC9zcGFuPiI6IiI7aWYoUi5yRSl7eSs9SihSLmJ1ZmZlcitOLFIpK099ZWxzZXtpZihSLmVFKXt5Kz1KKFIuYnVmZmVyK04sUikrTyttKE0pfWVsc2V7eSs9SihSLmJ1ZmZlcitOK00sUikrT319d2hpbGUoTD4xKXtPPURbRC5sZW5ndGgtMl0uY04/Ijwvc3Bhbj4iOiIiO3krPU87TC0tO0QubGVuZ3RoLS19dmFyIHI9RFtELmxlbmd0aC0xXTtELmxlbmd0aC0tO0RbRC5sZW5ndGgtMV0uYnVmZmVyPSIiO2lmKHIuc3RhcnRzKXtJKHIuc3RhcnRzLCIiKX1yZXR1cm4gUi5yRX1pZih3KE0sUikpe3Rocm93IklsbGVnYWwifX12YXIgRT1lW0JdO3ZhciBEPVtFLmRNXTt2YXIgQT0wO3ZhciB4PTA7dmFyIHk9IiI7dHJ5e3ZhciBzLHU9MDtFLmRNLmJ1ZmZlcj0iIjtkb3tzPXAoQyx1KTt2YXIgdD1HKHNbMF0sc1sxXSxzWzJdKTt1Kz1zWzBdLmxlbmd0aDtpZighdCl7dSs9c1sxXS5sZW5ndGh9fXdoaWxlKCFzWzJdKTtpZihELmxlbmd0aD4xKXt0aHJvdyJJbGxlZ2FsIn1yZXR1cm57cjpBLGtleXdvcmRfY291bnQ6eCx2YWx1ZTp5fX1jYXRjaChIKXtpZihIPT0iSWxsZWdhbCIpe3JldHVybntyOjAsa2V5d29yZF9jb3VudDowLHZhbHVlOm0oQyl9fWVsc2V7dGhyb3cgSH19fWZ1bmN0aW9uIGcodCl7dmFyIHA9e2tleXdvcmRfY291bnQ6MCxyOjAsdmFsdWU6bSh0KX07dmFyIHI9cDtmb3IodmFyIHEgaW4gZSl7aWYoIWUuaGFzT3duUHJvcGVydHkocSkpe2NvbnRpbnVlfXZhciBzPWQocSx0KTtzLmxhbmd1YWdlPXE7aWYocy5rZXl3b3JkX2NvdW50K3Mucj5yLmtleXdvcmRfY291bnQrci5yKXtyPXN9aWYocy5rZXl3b3JkX2NvdW50K3Mucj5wLmtleXdvcmRfY291bnQrcC5yKXtyPXA7cD1zfX1pZihyLmxhbmd1YWdlKXtwLnNlY29uZF9iZXN0PXJ9cmV0dXJuIHB9ZnVuY3Rpb24gaShyLHEscCl7aWYocSl7cj1yLnJlcGxhY2UoL14oKDxbXj5dKz58XHQpKykvZ20sZnVuY3Rpb24odCx3LHYsdSl7cmV0dXJuIHcucmVwbGFjZSgvXHQvZyxxKX0pfWlmKHApe3I9ci5yZXBsYWNlKC9cbi9nLCI8YnI+Iil9cmV0dXJuIHJ9ZnVuY3Rpb24gbih0LHcscil7dmFyIHg9aCh0LHIpO3ZhciB2PWEodCk7dmFyIHkscztpZih2KXt5PWQodix4KX1lbHNle3JldHVybn12YXIgcT1jKHQpO2lmKHEubGVuZ3RoKXtzPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInByZSIpO3MuaW5uZXJIVE1MPXkudmFsdWU7eS52YWx1ZT1rKHEsYyhzKSx4KX15LnZhbHVlPWkoeS52YWx1ZSx3LHIpO3ZhciB1PXQuY2xhc3NOYW1lO2lmKCF1Lm1hdGNoKCIoXFxzfF4pKGxhbmd1YWdlLSk/Iit2KyIoXFxzfCQpIikpe3U9dT8odSsiICIrdik6dn1pZigvTVNJRSBbNjc4XS8udGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSYmdC50YWdOYW1lPT0iQ09ERSImJnQucGFyZW50Tm9kZS50YWdOYW1lPT0iUFJFIil7cz10LnBhcmVudE5vZGU7dmFyIHA9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7cC5pbm5lckhUTUw9IjxwcmU+PGNvZGU+Iit5LnZhbHVlKyI8L2NvZGU+PC9wcmU+Ijt0PXAuZmlyc3RDaGlsZC5maXJzdENoaWxkO3AuZmlyc3RDaGlsZC5jTj1zLmNOO3MucGFyZW50Tm9kZS5yZXBsYWNlQ2hpbGQocC5maXJzdENoaWxkLHMpfWVsc2V7dC5pbm5lckhUTUw9eS52YWx1ZX10LmNsYXNzTmFtZT11O3QucmVzdWx0PXtsYW5ndWFnZTp2LGt3Onkua2V5d29yZF9jb3VudCxyZTp5LnJ9O2lmKHkuc2Vjb25kX2Jlc3Qpe3Quc2Vjb25kX2Jlc3Q9e2xhbmd1YWdlOnkuc2Vjb25kX2Jlc3QubGFuZ3VhZ2Usa3c6eS5zZWNvbmRfYmVzdC5rZXl3b3JkX2NvdW50LHJlOnkuc2Vjb25kX2Jlc3Qucn19fWZ1bmN0aW9uIG8oKXtpZihvLmNhbGxlZCl7cmV0dXJufW8uY2FsbGVkPXRydWU7dmFyIHI9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInByZSIpO2Zvcih2YXIgcD0wO3A8ci5sZW5ndGg7cCsrKXt2YXIgcT1iKHJbcF0pO2lmKHEpe24ocSxobGpzLnRhYlJlcGxhY2UpfX19ZnVuY3Rpb24gbCgpe2lmKHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKXt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsbyxmYWxzZSk7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLG8sZmFsc2UpfWVsc2V7aWYod2luZG93LmF0dGFjaEV2ZW50KXt3aW5kb3cuYXR0YWNoRXZlbnQoIm9ubG9hZCIsbyl9ZWxzZXt3aW5kb3cub25sb2FkPW99fX12YXIgZT17fTt0aGlzLkxBTkdVQUdFUz1lO3RoaXMuaGlnaGxpZ2h0PWQ7dGhpcy5oaWdobGlnaHRBdXRvPWc7dGhpcy5maXhNYXJrdXA9aTt0aGlzLmhpZ2hsaWdodEJsb2NrPW47dGhpcy5pbml0SGlnaGxpZ2h0aW5nPW87dGhpcy5pbml0SGlnaGxpZ2h0aW5nT25Mb2FkPWw7dGhpcy5JUj0iW2EtekEtWl1bYS16QS1aMC05X10qIjt0aGlzLlVJUj0iW2EtekEtWl9dW2EtekEtWjAtOV9dKiI7dGhpcy5OUj0iXFxiXFxkKyhcXC5cXGQrKT8iO3RoaXMuQ05SPSJcXGIoMFt4WF1bYS1mQS1GMC05XSt8KFxcZCsoXFwuXFxkKik/fFxcLlxcZCspKFtlRV1bLStdP1xcZCspPykiO3RoaXMuQk5SPSJcXGIoMGJbMDFdKykiO3RoaXMuUlNSPSIhfCE9fCE9PXwlfCU9fCZ8JiZ8Jj18XFwqfFxcKj18XFwrfFxcKz18LHxcXC58LXwtPXwvfC89fDp8O3w8fDw8fDw8PXw8PXw9fD09fD09PXw+fD49fD4+fD4+PXw+Pj58Pj4+PXxcXD98XFxbfFxce3xcXCh8XFxefFxcXj18XFx8fFxcfD18XFx8XFx8fH4iO3RoaXMuRVI9Iig/IVtcXHNcXFNdKSI7dGhpcy5CRT17YjoiXFxcXC4iLHI6MH07dGhpcy5BU009e2NOOiJzdHJpbmciLGI6IiciLGU6IiciLGk6IlxcbiIsYzpbdGhpcy5CRV0scjowfTt0aGlzLlFTTT17Y046InN0cmluZyIsYjonIicsZTonIicsaToiXFxuIixjOlt0aGlzLkJFXSxyOjB9O3RoaXMuQ0xDTT17Y046ImNvbW1lbnQiLGI6Ii8vIixlOiIkIn07dGhpcy5DQkxDTE09e2NOOiJjb21tZW50IixiOiIvXFwqIixlOiJcXCovIn07dGhpcy5IQ009e2NOOiJjb21tZW50IixiOiIjIixlOiIkIn07dGhpcy5OTT17Y046Im51bWJlciIsYjp0aGlzLk5SLHI6MH07dGhpcy5DTk09e2NOOiJudW1iZXIiLGI6dGhpcy5DTlIscjowfTt0aGlzLkJOTT17Y046Im51bWJlciIsYjp0aGlzLkJOUixyOjB9O3RoaXMuaW5oZXJpdD1mdW5jdGlvbihyLHMpe3ZhciBwPXt9O2Zvcih2YXIgcSBpbiByKXtwW3FdPXJbcV19aWYocyl7Zm9yKHZhciBxIGluIHMpe3BbcV09c1txXX19cmV0dXJuIHB9fSgpO2hsanMuTEFOR1VBR0VTLmJhc2g9ZnVuY3Rpb24oKXt2YXIgZT17InRydWUiOjEsImZhbHNlIjoxfTt2YXIgYj17Y046InZhcmlhYmxlIixiOiJcXCQoW2EtekEtWjAtOV9dKylcXGIifTt2YXIgYT17Y046InZhcmlhYmxlIixiOiJcXCRcXHsoKFtefV0pfChcXFxcfSkpK1xcfSIsYzpbaGxqcy5DTk1dfTt2YXIgZj17Y046InN0cmluZyIsYjonIicsZTonIicsaToiXFxuIixjOltobGpzLkJFLGIsYV0scjowfTt2YXIgYz17Y046InN0cmluZyIsYjoiJyIsZToiJyIsYzpbe2I6IicnIn1dLHI6MH07dmFyIGQ9e2NOOiJ0ZXN0X2NvbmRpdGlvbiIsYjoiIixlOiIiLGM6W2YsYyxiLGEsaGxqcy5DTk1dLGs6e2xpdGVyYWw6ZX0scjowfTtyZXR1cm57ZE06e2s6e2tleXdvcmQ6eyJpZiI6MSx0aGVuOjEsImVsc2UiOjEsZmk6MSwiZm9yIjoxLCJicmVhayI6MSwiY29udGludWUiOjEsIndoaWxlIjoxLCJpbiI6MSwiZG8iOjEsZG9uZToxLGVjaG86MSxleGl0OjEsInJldHVybiI6MSxzZXQ6MSxkZWNsYXJlOjF9LGxpdGVyYWw6ZX0sYzpbe2NOOiJzaGViYW5nIixiOiIoIyFcXC9iaW5cXC9iYXNoKXwoIyFcXC9iaW5cXC9zaCkiLHI6MTB9LGIsYSxobGpzLkhDTSxobGpzLkNOTSxmLGMsaGxqcy5pbmhlcml0KGQse2I6IlxcWyAiLGU6IiBcXF0iLHI6MH0pLGhsanMuaW5oZXJpdChkLHtiOiJcXFtcXFsgIixlOiIgXFxdXFxdIn0pXX19fSgpO2hsanMuTEFOR1VBR0VTLmNwcD1mdW5jdGlvbigpe3ZhciBhPXtrZXl3b3JkOnsiZmFsc2UiOjEsImludCI6MSwiZmxvYXQiOjEsIndoaWxlIjoxLCJwcml2YXRlIjoxLCJjaGFyIjoxLCJjYXRjaCI6MSwiZXhwb3J0IjoxLHZpcnR1YWw6MSxvcGVyYXRvcjoyLHNpemVvZjoyLGR5bmFtaWNfY2FzdDoyLHR5cGVkZWY6Mixjb25zdF9jYXN0OjIsImNvbnN0IjoxLHN0cnVjdDoxLCJmb3IiOjEsc3RhdGljX2Nhc3Q6Mix1bmlvbjoxLG5hbWVzcGFjZToxLHVuc2lnbmVkOjEsImxvbmciOjEsInRocm93IjoxLCJ2b2xhdGlsZSI6Miwic3RhdGljIjoxLCJwcm90ZWN0ZWQiOjEsYm9vbDoxLHRlbXBsYXRlOjEsbXV0YWJsZToxLCJpZiI6MSwicHVibGljIjoxLGZyaWVuZDoyLCJkbyI6MSwicmV0dXJuIjoxLCJnb3RvIjoxLGF1dG86MSwidm9pZCI6MiwiZW51bSI6MSwiZWxzZSI6MSwiYnJlYWsiOjEsIm5ldyI6MSxleHRlcm46MSx1c2luZzoxLCJ0cnVlIjoxLCJjbGFzcyI6MSxhc206MSwiY2FzZSI6MSx0eXBlaWQ6MSwic2hvcnQiOjEscmVpbnRlcnByZXRfY2FzdDoyLCJkZWZhdWx0IjoxLCJkb3VibGUiOjEscmVnaXN0ZXI6MSxleHBsaWNpdDoxLHNpZ25lZDoxLHR5cGVuYW1lOjEsInRyeSI6MSwidGhpcyI6MSwic3dpdGNoIjoxLCJjb250aW51ZSI6MSx3Y2hhcl90OjEsaW5saW5lOjEsImRlbGV0ZSI6MSxhbGlnbm9mOjEsY2hhcjE2X3Q6MSxjaGFyMzJfdDoxLGNvbnN0ZXhwcjoxLGRlY2x0eXBlOjEsbm9leGNlcHQ6MSxudWxscHRyOjEsc3RhdGljX2Fzc2VydDoxLHRocmVhZF9sb2NhbDoxLHJlc3RyaWN0OjEsX0Jvb2w6MSxjb21wbGV4OjF9LGJ1aWx0X2luOntzdGQ6MSxzdHJpbmc6MSxjaW46MSxjb3V0OjEsY2VycjoxLGNsb2c6MSxzdHJpbmdzdHJlYW06MSxpc3RyaW5nc3RyZWFtOjEsb3N0cmluZ3N0cmVhbToxLGF1dG9fcHRyOjEsZGVxdWU6MSxsaXN0OjEscXVldWU6MSxzdGFjazoxLHZlY3RvcjoxLG1hcDoxLHNldDoxLGJpdHNldDoxLG11bHRpc2V0OjEsbXVsdGltYXA6MSx1bm9yZGVyZWRfc2V0OjEsdW5vcmRlcmVkX21hcDoxLHVub3JkZXJlZF9tdWx0aXNldDoxLHVub3JkZXJlZF9tdWx0aW1hcDoxLGFycmF5OjEsc2hhcmVkX3B0cjoxfX07cmV0dXJue2RNOntrOmEsaToiPC8iLGM6W2hsanMuQ0xDTSxobGpzLkNCTENMTSxobGpzLlFTTSx7Y046InN0cmluZyIsYjoiJ1xcXFw/LiIsZToiJyIsaToiLiJ9LHtjTjoibnVtYmVyIixiOiJcXGIoXFxkKyhcXC5cXGQqKT98XFwuXFxkKykodXxVfGx8THx1bHxVTHxmfEYpIn0saGxqcy5DTk0se2NOOiJwcmVwcm9jZXNzb3IiLGI6IiMiLGU6IiQifSx7Y046InN0bF9jb250YWluZXIiLGI6IlxcYihkZXF1ZXxsaXN0fHF1ZXVlfHN0YWNrfHZlY3RvcnxtYXB8c2V0fGJpdHNldHxtdWx0aXNldHxtdWx0aW1hcHx1bm9yZGVyZWRfbWFwfHVub3JkZXJlZF9zZXR8dW5vcmRlcmVkX211bHRpc2V0fHVub3JkZXJlZF9tdWx0aW1hcHxhcnJheSlcXHMqPCIsZToiPiIsazphLHI6MTAsYzpbInNlbGYiXX1dfX19KCk7aGxqcy5MQU5HVUFHRVMuY3NzPWZ1bmN0aW9uKCl7dmFyIGE9e2NOOiJmdW5jdGlvbiIsYjpobGpzLklSKyJcXCgiLGU6IlxcKSIsYzpbe2VXOnRydWUsZUU6dHJ1ZSxjOltobGpzLk5NLGhsanMuQVNNLGhsanMuUVNNXX1dfTtyZXR1cm57Y0k6dHJ1ZSxkTTp7aToiWz0vfCddIixjOltobGpzLkNCTENMTSx7Y046ImlkIixiOiJcXCNbQS1aYS16MC05Xy1dKyJ9LHtjTjoiY2xhc3MiLGI6IlxcLltBLVphLXowLTlfLV0rIixyOjB9LHtjTjoiYXR0cl9zZWxlY3RvciIsYjoiXFxbIixlOiJcXF0iLGk6IiQifSx7Y046InBzZXVkbyIsYjoiOig6KT9bYS16QS1aMC05XFxfXFwtXFwrXFwoXFwpXFxcIlxcJ10rIn0se2NOOiJhdF9ydWxlIixiOiJAKGZvbnQtZmFjZXxwYWdlKSIsbDoiW2Etei1dKyIsazp7ImZvbnQtZmFjZSI6MSxwYWdlOjF9fSx7Y046ImF0X3J1bGUiLGI6IkAiLGU6Ilt7O10iLGVFOnRydWUsazp7ImltcG9ydCI6MSxwYWdlOjEsbWVkaWE6MSxjaGFyc2V0OjF9LGM6W2EsaGxqcy5BU00saGxqcy5RU00saGxqcy5OTV19LHtjTjoidGFnIixiOmhsanMuSVIscjowfSx7Y046InJ1bGVzIixiOiJ7IixlOiJ9IixpOiJbXlxcc10iLHI6MCxjOltobGpzLkNCTENMTSx7Y046InJ1bGUiLGI6IlteXFxzXSIsckI6dHJ1ZSxlOiI7IixlVzp0cnVlLGM6W3tjTjoiYXR0cmlidXRlIixiOiJbQS1aXFxfXFwuXFwtXSsiLGU6IjoiLGVFOnRydWUsaToiW15cXHNdIixzdGFydHM6e2NOOiJ2YWx1ZSIsZVc6dHJ1ZSxlRTp0cnVlLGM6W2EsaGxqcy5OTSxobGpzLlFTTSxobGpzLkFTTSxobGpzLkNCTENMTSx7Y046ImhleGNvbG9yIixiOiJcXCNbMC05QS1GXSsifSx7Y046ImltcG9ydGFudCIsYjoiIWltcG9ydGFudCJ9XX19XX1dfV19fX0oKTtobGpzLkxBTkdVQUdFUy5pbmk9e2NJOnRydWUsZE06e2k6IlteXFxzXSIsYzpbe2NOOiJjb21tZW50IixiOiI7IixlOiIkIn0se2NOOiJ0aXRsZSIsYjoiXlxcWyIsZToiXFxdIn0se2NOOiJzZXR0aW5nIixiOiJeW2EtejAtOV9cXFtcXF1dK1sgXFx0XSo9WyBcXHRdKiIsZToiJCIsYzpbe2NOOiJ2YWx1ZSIsZVc6dHJ1ZSxrOntvbjoxLG9mZjoxLCJ0cnVlIjoxLCJmYWxzZSI6MSx5ZXM6MSxubzoxfSxjOltobGpzLlFTTSxobGpzLk5NXX1dfV19fTtobGpzLkxBTkdVQUdFUy5wZXJsPWZ1bmN0aW9uKCl7dmFyIGQ9e2dldHB3ZW50OjEsZ2V0c2VydmVudDoxLHF1b3RlbWV0YToxLG1zZ3JjdjoxLHNjYWxhcjoxLGtpbGw6MSxkYm1jbG9zZToxLHVuZGVmOjEsbGM6MSxtYToxLHN5c3dyaXRlOjEsdHI6MSxzZW5kOjEsdW1hc2s6MSxzeXNvcGVuOjEsc2htd3JpdGU6MSx2ZWM6MSxxeDoxLHV0aW1lOjEsbG9jYWw6MSxvY3Q6MSxzZW1jdGw6MSxsb2NhbHRpbWU6MSxyZWFkcGlwZToxLCJkbyI6MSwicmV0dXJuIjoxLGZvcm1hdDoxLHJlYWQ6MSxzcHJpbnRmOjEsZGJtb3BlbjoxLHBvcDoxLGdldHBncnA6MSxub3Q6MSxnZXRwd25hbToxLHJld2luZGRpcjoxLHFxOjEsZmlsZW5vOjEscXc6MSxlbmRwcm90b2VudDoxLHdhaXQ6MSxzZXRob3N0ZW50OjEsYmxlc3M6MSxzOjAsb3BlbmRpcjoxLCJjb250aW51ZSI6MSxlYWNoOjEsc2xlZXA6MSxlbmRncmVudDoxLHNodXRkb3duOjEsZHVtcDoxLGNob21wOjEsY29ubmVjdDoxLGdldHNvY2tuYW1lOjEsZGllOjEsc29ja2V0cGFpcjoxLGNsb3NlOjEsZmxvY2s6MSxleGlzdHM6MSxpbmRleDoxLHNobWdldDoxLHN1YjoxLCJmb3IiOjEsZW5kcHdlbnQ6MSxyZWRvOjEsbHN0YXQ6MSxtc2djdGw6MSxzZXRwZ3JwOjEsYWJzOjEsZXhpdDoxLHNlbGVjdDoxLHByaW50OjEscmVmOjEsZ2V0aG9zdGJ5YWRkcjoxLHVuc2hpZnQ6MSxmY250bDoxLHN5c2NhbGw6MSwiZ290byI6MSxnZXRuZXRieWFkZHI6MSxqb2luOjEsZ210aW1lOjEsc3ltbGluazoxLHNlbWdldDoxLHNwbGljZToxLHg6MCxnZXRwZWVybmFtZToxLHJlY3Y6MSxsb2c6MSxzZXRzb2Nrb3B0OjEsY29zOjEsbGFzdDoxLHJldmVyc2U6MSxnZXRob3N0YnluYW1lOjEsZ2V0Z3JuYW06MSxzdHVkeToxLGZvcm1saW5lOjEsZW5kaG9zdGVudDoxLHRpbWVzOjEsY2hvcDoxLGxlbmd0aDoxLGdldGhvc3RlbnQ6MSxnZXRuZXRlbnQ6MSxwYWNrOjEsZ2V0cHJvdG9lbnQ6MSxnZXRzZXJ2YnluYW1lOjEscmFuZDoxLG1rZGlyOjEscG9zOjEsY2htb2Q6MSx5OjAsc3Vic3RyOjEsZW5kbmV0ZW50OjEscHJpbnRmOjEsbmV4dDoxLG9wZW46MSxtc2dzbmQ6MSxyZWFkZGlyOjEsdXNlOjEsdW5saW5rOjEsZ2V0c29ja29wdDoxLGdldHByaW9yaXR5OjEscmluZGV4OjEsd2FudGFycmF5OjEsaGV4OjEsc3lzdGVtOjEsZ2V0c2VydmJ5cG9ydDoxLGVuZHNlcnZlbnQ6MSwiaW50IjoxLGNocjoxLHVudGllOjEscm1kaXI6MSxwcm90b3R5cGU6MSx0ZWxsOjEsbGlzdGVuOjEsZm9yazoxLHNobXJlYWQ6MSx1Y2ZpcnN0OjEsc2V0cHJvdG9lbnQ6MSwiZWxzZSI6MSxzeXNzZWVrOjEsbGluazoxLGdldGdyZ2lkOjEsc2htY3RsOjEsd2FpdHBpZDoxLHVucGFjazoxLGdldG5ldGJ5bmFtZToxLHJlc2V0OjEsY2hkaXI6MSxncmVwOjEsc3BsaXQ6MSxyZXF1aXJlOjEsY2FsbGVyOjEsbGNmaXJzdDoxLHVudGlsOjEsd2FybjoxLCJ3aGlsZSI6MSx2YWx1ZXM6MSxzaGlmdDoxLHRlbGxkaXI6MSxnZXRwd3VpZDoxLG15OjEsZ2V0cHJvdG9ieW51bWJlcjoxLCJkZWxldGUiOjEsYW5kOjEsc29ydDoxLHVjOjEsZGVmaW5lZDoxLHNyYW5kOjEsYWNjZXB0OjEsInBhY2thZ2UiOjEsc2Vla2RpcjoxLGdldHByb3RvYnluYW1lOjEsc2Vtb3A6MSxvdXI6MSxyZW5hbWU6MSxzZWVrOjEsImlmIjoxLHE6MCxjaHJvb3Q6MSxzeXNyZWFkOjEsc2V0cHdlbnQ6MSxubzoxLGNyeXB0OjEsZ2V0YzoxLGNob3duOjEsc3FydDoxLHdyaXRlOjEsc2V0bmV0ZW50OjEsc2V0cHJpb3JpdHk6MSxmb3JlYWNoOjEsdGllOjEsc2luOjEsbXNnZ2V0OjEsbWFwOjEsc3RhdDoxLGdldGxvZ2luOjEsdW5sZXNzOjEsZWxzaWY6MSx0cnVuY2F0ZToxLGV4ZWM6MSxrZXlzOjEsZ2xvYjoxLHRpZWQ6MSxjbG9zZWRpcjoxLGlvY3RsOjEsc29ja2V0OjEscmVhZGxpbms6MSwiZXZhbCI6MSx4b3I6MSxyZWFkbGluZToxLGJpbm1vZGU6MSxzZXRzZXJ2ZW50OjEsZW9mOjEsb3JkOjEsYmluZDoxLGFsYXJtOjEscGlwZToxLGF0YW4yOjEsZ2V0Z3JlbnQ6MSxleHA6MSx0aW1lOjEscHVzaDoxLHNldGdyZW50OjEsZ3Q6MSxsdDoxLG9yOjEsbmU6MSxtOjB9O3ZhciBmPXtjTjoic3Vic3QiLGI6IlskQF1cXHsiLGU6IlxcfSIsazpkLHI6MTB9O3ZhciBjPXtjTjoidmFyaWFibGUiLGI6IlxcJFxcZCJ9O3ZhciBiPXtjTjoidmFyaWFibGUiLGI6IltcXCRcXCVcXEBcXCpdKFxcXlxcd1xcYnwjXFx3KyhcXDpcXDpcXHcrKSp8W15cXHNcXHd7XXx7XFx3K318XFx3KyhcXDpcXDpcXHcqKSopIn07dmFyIGg9W2hsanMuQkUsZixjLGJdO3ZhciBnPXtiOiItPiIsYzpbe2I6aGxqcy5JUn0se2I6InsiLGU6In0ifV19O3ZhciBlPXtjTjoiY29tbWVudCIsYjoiXihfX0VORF9ffF9fREFUQV9fKSIsZToiXFxuJCIscjo1fTt2YXIgYT1bYyxiLGhsanMuSENNLGUsZyx7Y046InN0cmluZyIsYjoicVtxd3hyXT9cXHMqXFwoIixlOiJcXCkiLGM6aCxyOjV9LHtjTjoic3RyaW5nIixiOiJxW3F3eHJdP1xccypcXFsiLGU6IlxcXSIsYzpoLHI6NX0se2NOOiJzdHJpbmciLGI6InFbcXd4cl0/XFxzKlxceyIsZToiXFx9IixjOmgscjo1fSx7Y046InN0cmluZyIsYjoicVtxd3hyXT9cXHMqXFx8IixlOiJcXHwiLGM6aCxyOjV9LHtjTjoic3RyaW5nIixiOiJxW3F3eHJdP1xccypcXDwiLGU6IlxcPiIsYzpoLHI6NX0se2NOOiJzdHJpbmciLGI6InF3XFxzK3EiLGU6InEiLGM6aCxyOjV9LHtjTjoic3RyaW5nIixiOiInIixlOiInIixjOltobGpzLkJFXSxyOjB9LHtjTjoic3RyaW5nIixiOiciJyxlOiciJyxjOmgscjowfSx7Y046InN0cmluZyIsYjoiYCIsZToiYCIsYzpbaGxqcy5CRV19LHtjTjoic3RyaW5nIixiOiJ7XFx3K30iLHI6MH0se2NOOiJzdHJpbmciLGI6Ii0/XFx3K1xccypcXD1cXD4iLHI6MH0se2NOOiJudW1iZXIiLGI6IihcXGIwWzAtN19dKyl8KFxcYjB4WzAtOWEtZkEtRl9dKyl8KFxcYlsxLTldWzAtOV9dKihcXC5bMC05X10rKT8pfFswX11cXGIiLHI6MH0se2I6IigiK2hsanMuUlNSKyJ8XFxiKHNwbGl0fHJldHVybnxwcmludHxyZXZlcnNlfGdyZXApXFxiKVxccyoiLGs6e3NwbGl0OjEsInJldHVybiI6MSxwcmludDoxLHJldmVyc2U6MSxncmVwOjF9LHI6MCxjOltobGpzLkhDTSxlLHtjTjoicmVnZXhwIixiOiIoc3x0cnx5KS8oXFxcXC58W14vXSkqLyhcXFxcLnxbXi9dKSovW2Etel0qIixyOjEwfSx7Y046InJlZ2V4cCIsYjoiKG18cXIpPy8iLGU6Ii9bYS16XSoiLGM6W2hsanMuQkVdLHI6MH1dfSx7Y046InN1YiIsYjoiXFxic3ViXFxiIixlOiIoXFxzKlxcKC4qP1xcKSk/Wzt7XSIsazp7c3ViOjF9LHI6NX0se2NOOiJvcGVyYXRvciIsYjoiLVxcd1xcYiIscjowfSx7Y046InBvZCIsYjoiXFw9XFx3IixlOiJcXD1jdXQifV07Zi5jPWE7Zy5jWzFdLmM9YTtyZXR1cm57ZE06e2s6ZCxjOmF9fX0oKTtobGpzLkxBTkdVQUdFUy5weXRob249ZnVuY3Rpb24oKXt2YXIgYj1be2NOOiJzdHJpbmciLGI6Iih1fGIpP3I/JycnIixlOiInJyciLHI6MTB9LHtjTjoic3RyaW5nIixiOicodXxiKT9yPyIiIicsZTonIiIiJyxyOjEwfSx7Y046InN0cmluZyIsYjoiKHV8cnx1ciknIixlOiInIixjOltobGpzLkJFXSxyOjEwfSx7Y046InN0cmluZyIsYjonKHV8cnx1cikiJyxlOiciJyxjOltobGpzLkJFXSxyOjEwfSx7Y046InN0cmluZyIsYjoiKGJ8YnIpJyIsZToiJyIsYzpbaGxqcy5CRV19LHtjTjoic3RyaW5nIixiOicoYnxicikiJyxlOiciJyxjOltobGpzLkJFXX1dLmNvbmNhdChbaGxqcy5BU00saGxqcy5RU01dKTt2YXIgZD17Y046InRpdGxlIixiOmhsanMuVUlSfTt2YXIgYz17Y046InBhcmFtcyIsYjoiXFwoIixlOiJcXCkiLGM6Yi5jb25jYXQoW2hsanMuQ05NXSl9O3ZhciBhPXtiV0s6dHJ1ZSxlOiI6IixpOiJbJHtdIixjOltkLGNdLHI6MTB9O3JldHVybntkTTp7azp7a2V5d29yZDp7YW5kOjEsZWxpZjoxLGlzOjEsZ2xvYmFsOjEsYXM6MSwiaW4iOjEsImlmIjoxLGZyb206MSxyYWlzZToxLCJmb3IiOjEsZXhjZXB0OjEsImZpbmFsbHkiOjEscHJpbnQ6MSwiaW1wb3J0IjoxLHBhc3M6MSwicmV0dXJuIjoxLGV4ZWM6MSwiZWxzZSI6MSwiYnJlYWsiOjEsbm90OjEsIndpdGgiOjEsImNsYXNzIjoxLGFzc2VydDoxLHlpZWxkOjEsInRyeSI6MSwid2hpbGUiOjEsImNvbnRpbnVlIjoxLGRlbDoxLG9yOjEsZGVmOjEsbGFtYmRhOjEsbm9ubG9jYWw6MTB9LGJ1aWx0X2luOntOb25lOjEsVHJ1ZToxLEZhbHNlOjEsRWxsaXBzaXM6MSxOb3RJbXBsZW1lbnRlZDoxfX0saToiKDwvfC0+fFxcPykiLGM6Yi5jb25jYXQoW2hsanMuSENNLGhsanMuaW5oZXJpdChhLHtjTjoiZnVuY3Rpb24iLGs6e2RlZjoxfX0pLGhsanMuaW5oZXJpdChhLHtjTjoiY2xhc3MiLGs6eyJjbGFzcyI6MX19KSxobGpzLkNOTSx7Y046ImRlY29yYXRvciIsYjoiQCIsZToiJCJ9XSl9fX0oKTtobGpzLkxBTkdVQUdFUy5yPXtkTTp7YzpbaGxqcy5IQ00se2NOOiJudW1iZXIiLGI6IlxcYjBbeFhdWzAtOWEtZkEtRl0rW0xpXT9cXGIiLGU6aGxqcy5JTU1FRElBVEVfUkUscjowfSx7Y046Im51bWJlciIsYjoiXFxiXFxkKyg/OltlRV1bK1xcLV0/XFxkKik/TFxcYiIsZTpobGpzLklNTUVESUFURV9SRSxyOjB9LHtjTjoibnVtYmVyIixiOiJcXGJcXGQrXFwuKD8hXFxkKSg/OmlcXGIpPyIsZTpobGpzLklNTUVESUFURV9SRSxyOjF9LHtjTjoibnVtYmVyIixiOiJcXGJcXGQrKD86XFwuXFxkKik/KD86W2VFXVsrXFwtXT9cXGQqKT9pP1xcYiIsZTpobGpzLklNTUVESUFURV9SRSxyOjB9LHtjTjoibnVtYmVyIixiOiJcXC5cXGQrKD86W2VFXVsrXFwtXT9cXGQqKT9pP1xcYiIsZTpobGpzLklNTUVESUFURV9SRSxyOjF9LHtjTjoia2V5d29yZCIsYjoiKD86dHJ5Q2F0Y2h8bGlicmFyeXxzZXRHZW5lcmljfHNldEdyb3VwR2VuZXJpYylcXGIiLGU6aGxqcy5JTU1FRElBVEVfUkUscjoxMH0se2NOOiJrZXl3b3JkIixiOiJcXC5cXC5cXC4iLGU6aGxqcy5JTU1FRElBVEVfUkUscjoxMH0se2NOOiJrZXl3b3JkIixiOiJcXC5cXC5cXGQrKD8hW1xcdy5dKSIsZTpobGpzLklNTUVESUFURV9SRSxyOjEwfSx7Y046ImtleXdvcmQiLGI6IlxcYig/OmZ1bmN0aW9uKSIsZTpobGpzLklNTUVESUFURV9SRSxyOjJ9LHtjTjoia2V5d29yZCIsYjoiKD86aWZ8aW58YnJlYWt8bmV4dHxyZXBlYXR8ZWxzZXxmb3J8cmV0dXJufHN3aXRjaHx3aGlsZXx0cnl8c3RvcHx3YXJuaW5nfHJlcXVpcmV8YXR0YWNofGRldGFjaHxzb3VyY2V8c2V0TWV0aG9kfHNldENsYXNzKVxcYiIsZTpobGpzLklNTUVESUFURV9SRSxyOjF9LHtjTjoibGl0ZXJhbCIsYjoiKD86TkF8TkFfaW50ZWdlcl98TkFfcmVhbF98TkFfY2hhcmFjdGVyX3xOQV9jb21wbGV4XylcXGIiLGU6aGxqcy5JTU1FRElBVEVfUkUscjoxMH0se2NOOiJsaXRlcmFsIixiOiIoPzpOVUxMfFRSVUV8RkFMU0V8VHxGfEluZnxOYU4pXFxiIixlOmhsanMuSU1NRURJQVRFX1JFLHI6MX0se2NOOiJpZGVudGlmaWVyIixiOiJbYS16QS1aLl1bYS16QS1aMC05Ll9dKlxcYiIsZTpobGpzLklNTUVESUFURV9SRSxyOjB9LHtjTjoib3BlcmF0b3IiLGI6IjxcXC0oPyFcXHMqXFxkKSIsZTpobGpzLklNTUVESUFURV9SRSxyOjJ9LHtjTjoib3BlcmF0b3IiLGI6IlxcLT58PFxcLSIsZTpobGpzLklNTUVESUFURV9SRSxyOjF9LHtjTjoib3BlcmF0b3IiLGI6IiUlfH4iLGU6aGxqcy5JTU1FRElBVEVfUkV9LHtjTjoib3BlcmF0b3IiLGI6Ij49fDw9fD09fCE9fFxcfFxcfHwmJnw9fFxcK3xcXC18XFwqfC98XFxefD58PHwhfCZ8XFx8fFxcJHw6IixlOmhsanMuSU1NRURJQVRFX1JFLHI6MH0se2NOOiJvcGVyYXRvciIsYjoiJSIsZToiJSIsaToiXFxuIixyOjF9LHtjTjoiaWRlbnRpZmllciIsYjoiYCIsZToiYCIscjowfSx7Y046InN0cmluZyIsYjonIicsZTonIicsYzpbaGxqcy5CRV0scjowfSx7Y046InN0cmluZyIsYjoiJyIsZToiJyIsYzpbaGxqcy5CRV0scjowfSx7Y046InBhcmVuIixiOiJbWyh7XFxdKX1dIixlOmhsanMuSU1NRURJQVRFX1JFLHI6MH1dfX07aGxqcy5MQU5HVUFHRVMucnVieT1mdW5jdGlvbigpe3ZhciBhPSJbYS16QS1aX11bYS16QS1aMC05X10qKFxcIXxcXD8pPyI7dmFyIGo9IlthLXpBLVpfXVxcdypbIT89XT98Wy0rfl1cXEB8PDx8Pj58PX58PT09P3w8PT58Wzw+XT0/fFxcKlxcKnxbLS8rJV4mKn5gfF18XFxbXFxdPT8iO3ZhciBmPXtrZXl3b3JkOnthbmQ6MSwiZmFsc2UiOjEsdGhlbjoxLGRlZmluZWQ6MSxtb2R1bGU6MSwiaW4iOjEsInJldHVybiI6MSxyZWRvOjEsImlmIjoxLEJFR0lOOjEscmV0cnk6MSxlbmQ6MSwiZm9yIjoxLCJ0cnVlIjoxLHNlbGY6MSx3aGVuOjEsbmV4dDoxLHVudGlsOjEsImRvIjoxLGJlZ2luOjEsdW5sZXNzOjEsRU5EOjEscmVzY3VlOjEsbmlsOjEsImVsc2UiOjEsImJyZWFrIjoxLHVuZGVmOjEsbm90OjEsInN1cGVyIjoxLCJjbGFzcyI6MSwiY2FzZSI6MSxyZXF1aXJlOjEseWllbGQ6MSxhbGlhczoxLCJ3aGlsZSI6MSxlbnN1cmU6MSxlbHNpZjoxLG9yOjEsZGVmOjF9LGtleW1ldGhvZHM6e19faWRfXzoxLF9fc2VuZF9fOjEsYWJvcnQ6MSxhYnM6MSwiYWxsPyI6MSxhbGxvY2F0ZToxLGFuY2VzdG9yczoxLCJhbnk/IjoxLGFyaXR5OjEsYXNzb2M6MSxhdDoxLGF0X2V4aXQ6MSxhdXRvbG9hZDoxLCJhdXRvbG9hZD8iOjEsImJldHdlZW4/IjoxLGJpbmRpbmc6MSxiaW5tb2RlOjEsImJsb2NrX2dpdmVuPyI6MSxjYWxsOjEsY2FsbGNjOjEsY2FsbGVyOjEsY2FwaXRhbGl6ZToxLCJjYXBpdGFsaXplISI6MSxjYXNlY21wOjEsImNhdGNoIjoxLGNlaWw6MSxjZW50ZXI6MSxjaG9tcDoxLCJjaG9tcCEiOjEsY2hvcDoxLCJjaG9wISI6MSxjaHI6MSwiY2xhc3MiOjEsY2xhc3NfZXZhbDoxLCJjbGFzc192YXJpYWJsZV9kZWZpbmVkPyI6MSxjbGFzc192YXJpYWJsZXM6MSxjbGVhcjoxLGNsb25lOjEsY2xvc2U6MSxjbG9zZV9yZWFkOjEsY2xvc2Vfd3JpdGU6MSwiY2xvc2VkPyI6MSxjb2VyY2U6MSxjb2xsZWN0OjEsImNvbGxlY3QhIjoxLGNvbXBhY3Q6MSwiY29tcGFjdCEiOjEsY29uY2F0OjEsImNvbnN0X2RlZmluZWQ/IjoxLGNvbnN0X2dldDoxLGNvbnN0X21pc3Npbmc6MSxjb25zdF9zZXQ6MSxjb25zdGFudHM6MSxjb3VudDoxLGNyeXB0OjEsImRlZmF1bHQiOjEsZGVmYXVsdF9wcm9jOjEsImRlbGV0ZSI6MSwiZGVsZXRlISI6MSxkZWxldGVfYXQ6MSxkZWxldGVfaWY6MSxkZXRlY3Q6MSxkaXNwbGF5OjEsZGl2OjEsZGl2bW9kOjEsZG93bmNhc2U6MSwiZG93bmNhc2UhIjoxLGRvd250bzoxLGR1bXA6MSxkdXA6MSxlYWNoOjEsZWFjaF9ieXRlOjEsZWFjaF9pbmRleDoxLGVhY2hfa2V5OjEsZWFjaF9saW5lOjEsZWFjaF9wYWlyOjEsZWFjaF92YWx1ZToxLGVhY2hfd2l0aF9pbmRleDoxLCJlbXB0eT8iOjEsZW50cmllczoxLGVvZjoxLCJlb2Y/IjoxLCJlcWw/IjoxLCJlcXVhbD8iOjEsImV2YWwiOjEsZXhlYzoxLGV4aXQ6MSwiZXhpdCEiOjEsZXh0ZW5kOjEsZmFpbDoxLGZjbnRsOjEsZmV0Y2g6MSxmaWxlbm86MSxmaWxsOjEsZmluZDoxLGZpbmRfYWxsOjEsZmlyc3Q6MSxmbGF0dGVuOjEsImZsYXR0ZW4hIjoxLGZsb29yOjEsZmx1c2g6MSxmb3JfZmQ6MSxmb3JlYWNoOjEsZm9yazoxLGZvcm1hdDoxLGZyZWV6ZToxLCJmcm96ZW4/IjoxLGZzeW5jOjEsZ2V0YzoxLGdldHM6MSxnbG9iYWxfdmFyaWFibGVzOjEsZ3JlcDoxLGdzdWI6MSwiZ3N1YiEiOjEsImhhc19rZXk/IjoxLCJoYXNfdmFsdWU/IjoxLGhhc2g6MSxoZXg6MSxpZDoxLGluY2x1ZGU6MSwiaW5jbHVkZT8iOjEsaW5jbHVkZWRfbW9kdWxlczoxLGluZGV4OjEsaW5kZXhlczoxLGluZGljZXM6MSxpbmR1Y2VkX2Zyb206MSxpbmplY3Q6MSxpbnNlcnQ6MSxpbnNwZWN0OjEsaW5zdGFuY2VfZXZhbDoxLGluc3RhbmNlX21ldGhvZDoxLGluc3RhbmNlX21ldGhvZHM6MSwiaW5zdGFuY2Vfb2Y/IjoxLCJpbnN0YW5jZV92YXJpYWJsZV9kZWZpbmVkPyI6MSxpbnN0YW5jZV92YXJpYWJsZV9nZXQ6MSxpbnN0YW5jZV92YXJpYWJsZV9zZXQ6MSxpbnN0YW5jZV92YXJpYWJsZXM6MSwiaW50ZWdlcj8iOjEsaW50ZXJuOjEsaW52ZXJ0OjEsaW9jdGw6MSwiaXNfYT8iOjEsaXNhdHR5OjEsIml0ZXJhdG9yPyI6MSxqb2luOjEsImtleT8iOjEsa2V5czoxLCJraW5kX29mPyI6MSxsYW1iZGE6MSxsYXN0OjEsbGVuZ3RoOjEsbGluZW5vOjEsbGp1c3Q6MSxsb2FkOjEsbG9jYWxfdmFyaWFibGVzOjEsbG9vcDoxLGxzdHJpcDoxLCJsc3RyaXAhIjoxLG1hcDoxLCJtYXAhIjoxLG1hdGNoOjEsbWF4OjEsIm1lbWJlcj8iOjEsbWVyZ2U6MSwibWVyZ2UhIjoxLG1ldGhvZDoxLCJtZXRob2RfZGVmaW5lZD8iOjEsbWV0aG9kX21pc3Npbmc6MSxtZXRob2RzOjEsbWluOjEsbW9kdWxlX2V2YWw6MSxtb2R1bG86MSxuYW1lOjEsbmVzdGluZzoxLCJuZXciOjEsbmV4dDoxLCJuZXh0ISI6MSwibmlsPyI6MSxuaXRlbXM6MSwibm9uemVybz8iOjEsb2JqZWN0X2lkOjEsb2N0OjEsb3BlbjoxLHBhY2s6MSxwYXJ0aXRpb246MSxwaWQ6MSxwaXBlOjEscG9wOjEscG9wZW46MSxwb3M6MSxwcmVjOjEscHJlY19mOjEscHJlY19pOjEscHJpbnQ6MSxwcmludGY6MSxwcml2YXRlX2NsYXNzX21ldGhvZDoxLHByaXZhdGVfaW5zdGFuY2VfbWV0aG9kczoxLCJwcml2YXRlX21ldGhvZF9kZWZpbmVkPyI6MSxwcml2YXRlX21ldGhvZHM6MSxwcm9jOjEscHJvdGVjdGVkX2luc3RhbmNlX21ldGhvZHM6MSwicHJvdGVjdGVkX21ldGhvZF9kZWZpbmVkPyI6MSxwcm90ZWN0ZWRfbWV0aG9kczoxLHB1YmxpY19jbGFzc19tZXRob2Q6MSxwdWJsaWNfaW5zdGFuY2VfbWV0aG9kczoxLCJwdWJsaWNfbWV0aG9kX2RlZmluZWQ/IjoxLHB1YmxpY19tZXRob2RzOjEscHVzaDoxLHB1dGM6MSxwdXRzOjEscXVvOjEscmFpc2U6MSxyYW5kOjEscmFzc29jOjEscmVhZDoxLHJlYWRfbm9uYmxvY2s6MSxyZWFkY2hhcjoxLHJlYWRsaW5lOjEscmVhZGxpbmVzOjEscmVhZHBhcnRpYWw6MSxyZWhhc2g6MSxyZWplY3Q6MSwicmVqZWN0ISI6MSxyZW1haW5kZXI6MSxyZW9wZW46MSxyZXBsYWNlOjEscmVxdWlyZToxLCJyZXNwb25kX3RvPyI6MSxyZXZlcnNlOjEsInJldmVyc2UhIjoxLHJldmVyc2VfZWFjaDoxLHJld2luZDoxLHJpbmRleDoxLHJqdXN0OjEscm91bmQ6MSxyc3RyaXA6MSwicnN0cmlwISI6MSxzY2FuOjEsc2VlazoxLHNlbGVjdDoxLHNlbmQ6MSxzZXRfdHJhY2VfZnVuYzoxLHNoaWZ0OjEsc2luZ2xldG9uX21ldGhvZF9hZGRlZDoxLHNpbmdsZXRvbl9tZXRob2RzOjEsc2l6ZToxLHNsZWVwOjEsc2xpY2U6MSwic2xpY2UhIjoxLHNvcnQ6MSwic29ydCEiOjEsc29ydF9ieToxLHNwbGl0OjEsc3ByaW50ZjoxLHNxdWVlemU6MSwic3F1ZWV6ZSEiOjEsc3JhbmQ6MSxzdGF0OjEsc3RlcDoxLHN0b3JlOjEsc3RyaXA6MSwic3RyaXAhIjoxLHN1YjoxLCJzdWIhIjoxLHN1Y2M6MSwic3VjYyEiOjEsc3VtOjEsc3VwZXJjbGFzczoxLHN3YXBjYXNlOjEsInN3YXBjYXNlISI6MSxzeW5jOjEsc3lzY2FsbDoxLHN5c29wZW46MSxzeXNyZWFkOjEsc3lzc2VlazoxLHN5c3RlbToxLHN5c3dyaXRlOjEsdGFpbnQ6MSwidGFpbnRlZD8iOjEsdGVsbDoxLHRlc3Q6MSwidGhyb3ciOjEsdGltZXM6MSx0b19hOjEsdG9fYXJ5OjEsdG9fZjoxLHRvX2hhc2g6MSx0b19pOjEsdG9faW50OjEsdG9faW86MSx0b19wcm9jOjEsdG9fczoxLHRvX3N0cjoxLHRvX3N5bToxLHRyOjEsInRyISI6MSx0cl9zOjEsInRyX3MhIjoxLHRyYWNlX3ZhcjoxLHRyYW5zcG9zZToxLHRyYXA6MSx0cnVuY2F0ZToxLCJ0dHk/IjoxLHR5cGU6MSx1bmdldGM6MSx1bmlxOjEsInVuaXEhIjoxLHVucGFjazoxLHVuc2hpZnQ6MSx1bnRhaW50OjEsdW50cmFjZV92YXI6MSx1cGNhc2U6MSwidXBjYXNlISI6MSx1cGRhdGU6MSx1cHRvOjEsInZhbHVlPyI6MSx2YWx1ZXM6MSx2YWx1ZXNfYXQ6MSx3YXJuOjEsd3JpdGU6MSx3cml0ZV9ub25ibG9jazoxLCJ6ZXJvPyI6MSx6aXA6MX19O3ZhciBjPXtjTjoieWFyZG9jdGFnIixiOiJAW0EtWmEtel0rIn07dmFyIGs9W3tjTjoiY29tbWVudCIsYjoiIyIsZToiJCIsYzpbY119LHtjTjoiY29tbWVudCIsYjoiXlxcPWJlZ2luIixlOiJeXFw9ZW5kIixjOltjXSxyOjEwfSx7Y046ImNvbW1lbnQiLGI6Il5fX0VORF9fIixlOiJcXG4kIn1dO3ZhciBkPXtjTjoic3Vic3QiLGI6IiNcXHsiLGU6In0iLGw6YSxrOmZ9O3ZhciBpPVtobGpzLkJFLGRdO3ZhciBiPVt7Y046InN0cmluZyIsYjoiJyIsZToiJyIsYzppLHI6MH0se2NOOiJzdHJpbmciLGI6JyInLGU6JyInLGM6aSxyOjB9LHtjTjoic3RyaW5nIixiOiIlW3F3XT9cXCgiLGU6IlxcKSIsYzppLHI6MTB9LHtjTjoic3RyaW5nIixiOiIlW3F3XT9cXFsiLGU6IlxcXSIsYzppLHI6MTB9LHtjTjoic3RyaW5nIixiOiIlW3F3XT97IixlOiJ9IixjOmkscjoxMH0se2NOOiJzdHJpbmciLGI6IiVbcXddPzwiLGU6Ij4iLGM6aSxyOjEwfSx7Y046InN0cmluZyIsYjoiJVtxd10/LyIsZToiLyIsYzppLHI6MTB9LHtjTjoic3RyaW5nIixiOiIlW3F3XT8lIixlOiIlIixjOmkscjoxMH0se2NOOiJzdHJpbmciLGI6IiVbcXddPy0iLGU6Ii0iLGM6aSxyOjEwfSx7Y046InN0cmluZyIsYjoiJVtxd10/XFx8IixlOiJcXHwiLGM6aSxyOjEwfV07dmFyIGg9e2NOOiJmdW5jdGlvbiIsYjoiXFxiZGVmXFxzKyIsZToiIHwkfDsiLGw6YSxrOmYsYzpbe2NOOiJ0aXRsZSIsYjpqLGw6YSxrOmZ9LHtjTjoicGFyYW1zIixiOiJcXCgiLGU6IlxcKSIsbDphLGs6Zn1dLmNvbmNhdChrKX07dmFyIGc9e2NOOiJpZGVudGlmaWVyIixiOmEsbDphLGs6ZixyOjB9O3ZhciBlPWsuY29uY2F0KGIuY29uY2F0KFt7Y046ImNsYXNzIixiOiJcXGIoY2xhc3N8bW9kdWxlKVxcYiIsZToiJHw7IixrOnsiY2xhc3MiOjEsbW9kdWxlOjF9LGM6W3tjTjoidGl0bGUiLGI6IltBLVphLXpfXVxcdyooOjpcXHcrKSooXFw/fFxcISk/IixyOjB9LHtjTjoiaW5oZXJpdGFuY2UiLGI6IjxcXHMqIixjOlt7Y046InBhcmVudCIsYjoiKCIraGxqcy5JUisiOjopPyIraGxqcy5JUn1dfV0uY29uY2F0KGspfSxoLHtjTjoiY29uc3RhbnQiLGI6Iig6Oik/KFtBLVpdXFx3Kig6Oik/KSsiLHI6MH0se2NOOiJzeW1ib2wiLGI6IjoiLGM6Yi5jb25jYXQoW2ddKSxyOjB9LHtjTjoibnVtYmVyIixiOiIoXFxiMFswLTdfXSspfChcXGIweFswLTlhLWZBLUZfXSspfChcXGJbMS05XVswLTlfXSooXFwuWzAtOV9dKyk/KXxbMF9dXFxiIixyOjB9LHtjTjoibnVtYmVyIixiOiJcXD9cXHcifSx7Y046InZhcmlhYmxlIixiOiIoXFwkXFxXKXwoKFxcJHxcXEBcXEA/KShcXHcrKSkifSxnLHtiOiIoIitobGpzLlJTUisiKVxccyoiLGM6ay5jb25jYXQoW3tjTjoicmVnZXhwIixiOiIvIixlOiIvW2Etel0qIixpOiJcXG4iLGM6W2hsanMuQkVdfV0pLHI6MH1dKSk7ZC5jPWU7aC5jWzFdLmM9ZTtyZXR1cm57ZE06e2w6YSxrOmYsYzplfX19KCk7aGxqcy5MQU5HVUFHRVMuc2NhbGE9ZnVuY3Rpb24oKXt2YXIgYj17Y046ImFubm90YXRpb24iLGI6IkBbQS1aYS16XSsifTt2YXIgYT17Y046InN0cmluZyIsYjondT9yPyIiIicsZTonIiIiJyxyOjEwfTtyZXR1cm57ZE06e2s6e3R5cGU6MSx5aWVsZDoxLGxhenk6MSxvdmVycmlkZToxLGRlZjoxLCJ3aXRoIjoxLHZhbDoxLCJ2YXIiOjEsImZhbHNlIjoxLCJ0cnVlIjoxLHNlYWxlZDoxLCJhYnN0cmFjdCI6MSwicHJpdmF0ZSI6MSx0cmFpdDoxLG9iamVjdDoxLCJudWxsIjoxLCJpZiI6MSwiZm9yIjoxLCJ3aGlsZSI6MSwidGhyb3ciOjEsImZpbmFsbHkiOjEsInByb3RlY3RlZCI6MSwiZXh0ZW5kcyI6MSwiaW1wb3J0IjoxLCJmaW5hbCI6MSwicmV0dXJuIjoxLCJlbHNlIjoxLCJicmVhayI6MSwibmV3IjoxLCJjYXRjaCI6MSwic3VwZXIiOjEsImNsYXNzIjoxLCJjYXNlIjoxLCJwYWNrYWdlIjoxLCJkZWZhdWx0IjoxLCJ0cnkiOjEsInRoaXMiOjEsbWF0Y2g6MSwiY29udGludWUiOjEsInRocm93cyI6MX0sYzpbe2NOOiJqYXZhZG9jIixiOiIvXFwqXFwqIixlOiJcXCovIixjOlt7Y046ImphdmFkb2N0YWciLGI6IkBbQS1aYS16XSsifV0scjoxMH0saGxqcy5DTENNLGhsanMuQ0JMQ0xNLGhsanMuQVNNLGhsanMuUVNNLGEse2NOOiJjbGFzcyIsYjoiKChjYXNlICk/Y2xhc3MgfG9iamVjdCB8dHJhaXQgKSIsZToiKHt8JCkiLGk6IjoiLGs6eyJjYXNlIjoxLCJjbGFzcyI6MSx0cmFpdDoxLG9iamVjdDoxfSxjOlt7YldLOnRydWUsazp7ImV4dGVuZHMiOjEsIndpdGgiOjF9LHI6MTB9LHtjTjoidGl0bGUiLGI6aGxqcy5VSVJ9LHtjTjoicGFyYW1zIixiOiJcXCgiLGU6IlxcKSIsYzpbaGxqcy5BU00saGxqcy5RU00sYSxiXX1dfSxobGpzLkNOTSxiXX19fSgpO2hsanMuTEFOR1VBR0VTLnNxbD17Y0k6dHJ1ZSxkTTp7aToiW15cXHNdIixjOlt7Y046Im9wZXJhdG9yIixiOiIoYmVnaW58c3RhcnR8Y29tbWl0fHJvbGxiYWNrfHNhdmVwb2ludHxsb2NrfGFsdGVyfGNyZWF0ZXxkcm9wfHJlbmFtZXxjYWxsfGRlbGV0ZXxkb3xoYW5kbGVyfGluc2VydHxsb2FkfHJlcGxhY2V8c2VsZWN0fHRydW5jYXRlfHVwZGF0ZXxzZXR8c2hvd3xwcmFnbWF8Z3JhbnQpXFxiIixlOiI7fCIraGxqcy5FUixrOntrZXl3b3JkOnthbGw6MSxwYXJ0aWFsOjEsZ2xvYmFsOjEsbW9udGg6MSxjdXJyZW50X3RpbWVzdGFtcDoxLHVzaW5nOjEsZ286MSxyZXZva2U6MSxzbWFsbGludDoxLGluZGljYXRvcjoxLCJlbmQtZXhlYyI6MSxkaXNjb25uZWN0OjEsem9uZToxLCJ3aXRoIjoxLGNoYXJhY3RlcjoxLGFzc2VydGlvbjoxLHRvOjEsYWRkOjEsY3VycmVudF91c2VyOjEsdXNhZ2U6MSxpbnB1dDoxLGxvY2FsOjEsYWx0ZXI6MSxtYXRjaDoxLGNvbGxhdGU6MSxyZWFsOjEsdGhlbjoxLHJvbGxiYWNrOjEsZ2V0OjEscmVhZDoxLHRpbWVzdGFtcDoxLHNlc3Npb25fdXNlcjoxLG5vdDoxLGludGVnZXI6MSxiaXQ6MSx1bmlxdWU6MSxkYXk6MSxtaW51dGU6MSxkZXNjOjEsaW5zZXJ0OjEsZXhlY3V0ZToxLGxpa2U6MSxpbGlrZToyLGxldmVsOjEsZGVjaW1hbDoxLGRyb3A6MSwiY29udGludWUiOjEsaXNvbGF0aW9uOjEsZm91bmQ6MSx3aGVyZToxLGNvbnN0cmFpbnRzOjEsZG9tYWluOjEscmlnaHQ6MSxuYXRpb25hbDoxLHNvbWU6MSxtb2R1bGU6MSx0cmFuc2FjdGlvbjoxLHJlbGF0aXZlOjEsc2Vjb25kOjEsY29ubmVjdDoxLGVzY2FwZToxLGNsb3NlOjEsc3lzdGVtX3VzZXI6MSwiZm9yIjoxLGRlZmVycmVkOjEsc2VjdGlvbjoxLGNhc3Q6MSxjdXJyZW50OjEsc3Fsc3RhdGU6MSxhbGxvY2F0ZToxLGludGVyc2VjdDoxLGRlYWxsb2NhdGU6MSxudW1lcmljOjEsInB1YmxpYyI6MSxwcmVzZXJ2ZToxLGZ1bGw6MSwiZ290byI6MSxpbml0aWFsbHk6MSxhc2M6MSxubzoxLGtleToxLG91dHB1dDoxLGNvbGxhdGlvbjoxLGdyb3VwOjEsYnk6MSx1bmlvbjoxLHNlc3Npb246MSxib3RoOjEsbGFzdDoxLGxhbmd1YWdlOjEsY29uc3RyYWludDoxLGNvbHVtbjoxLG9mOjEsc3BhY2U6MSxmb3JlaWduOjEsZGVmZXJyYWJsZToxLHByaW9yOjEsY29ubmVjdGlvbjoxLHVua25vd246MSxhY3Rpb246MSxjb21taXQ6MSx2aWV3OjEsb3I6MSxmaXJzdDoxLGludG86MSwiZmxvYXQiOjEseWVhcjoxLHByaW1hcnk6MSxjYXNjYWRlZDoxLGV4Y2VwdDoxLHJlc3RyaWN0OjEsc2V0OjEscmVmZXJlbmNlczoxLG5hbWVzOjEsdGFibGU6MSxvdXRlcjoxLG9wZW46MSxzZWxlY3Q6MSxzaXplOjEsYXJlOjEscm93czoxLGZyb206MSxwcmVwYXJlOjEsZGlzdGluY3Q6MSxsZWFkaW5nOjEsY3JlYXRlOjEsb25seToxLG5leHQ6MSxpbm5lcjoxLGF1dGhvcml6YXRpb246MSxzY2hlbWE6MSxjb3JyZXNwb25kaW5nOjEsb3B0aW9uOjEsZGVjbGFyZToxLHByZWNpc2lvbjoxLGltbWVkaWF0ZToxLCJlbHNlIjoxLHRpbWV6b25lX21pbnV0ZToxLGV4dGVybmFsOjEsdmFyeWluZzoxLHRyYW5zbGF0aW9uOjEsInRydWUiOjEsImNhc2UiOjEsZXhjZXB0aW9uOjEsam9pbjoxLGhvdXI6MSwiZGVmYXVsdCI6MSwiZG91YmxlIjoxLHNjcm9sbDoxLHZhbHVlOjEsY3Vyc29yOjEsZGVzY3JpcHRvcjoxLHZhbHVlczoxLGRlYzoxLGZldGNoOjEscHJvY2VkdXJlOjEsImRlbGV0ZSI6MSxhbmQ6MSwiZmFsc2UiOjEsImludCI6MSxpczoxLGRlc2NyaWJlOjEsImNoYXIiOjEsYXM6MSxhdDoxLCJpbiI6MSx2YXJjaGFyOjEsIm51bGwiOjEsdHJhaWxpbmc6MSxhbnk6MSxhYnNvbHV0ZToxLGN1cnJlbnRfdGltZToxLGVuZDoxLGdyYW50OjEscHJpdmlsZWdlczoxLHdoZW46MSxjcm9zczoxLGNoZWNrOjEsd3JpdGU6MSxjdXJyZW50X2RhdGU6MSxwYWQ6MSxiZWdpbjoxLHRlbXBvcmFyeToxLGV4ZWM6MSx0aW1lOjEsdXBkYXRlOjEsY2F0YWxvZzoxLHVzZXI6MSxzcWw6MSxkYXRlOjEsb246MSxpZGVudGl0eToxLHRpbWV6b25lX2hvdXI6MSxuYXR1cmFsOjEsd2hlbmV2ZXI6MSxpbnRlcnZhbDoxLHdvcms6MSxvcmRlcjoxLGNhc2NhZGU6MSxkaWFnbm9zdGljczoxLG5jaGFyOjEsaGF2aW5nOjEsbGVmdDoxLGNhbGw6MSwiZG8iOjEsaGFuZGxlcjoxLGxvYWQ6MSxyZXBsYWNlOjEsdHJ1bmNhdGU6MSxzdGFydDoxLGxvY2s6MSxzaG93OjEscHJhZ21hOjF9LGFnZ3JlZ2F0ZTp7Y291bnQ6MSxzdW06MSxtaW46MSxtYXg6MSxhdmc6MX19LGM6W3tjTjoic3RyaW5nIixiOiInIixlOiInIixjOltobGpzLkJFLHtiOiInJyJ9XSxyOjB9LHtjTjoic3RyaW5nIixiOiciJyxlOiciJyxjOltobGpzLkJFLHtiOiciIid9XSxyOjB9LHtjTjoic3RyaW5nIixiOiJgIixlOiJgIixjOltobGpzLkJFXX0saGxqcy5DTk1dfSxobGpzLkNCTENMTSx7Y046ImNvbW1lbnQiLGI6Ii0tIixlOiIkIn1dfX07aGxqcy5MQU5HVUFHRVMuc3Rhbj17ZE06e2M6W2hsanMuSENNLGhsanMuQ0xDTSxobGpzLlFTTSxobGpzLkNOTSx7Y046Im9wZXJhdG9yIixiOiIoPzo8LXx+fFxcfFxcfHwmJnw9PXwhPXw8PT98Pj0/fFxcK3wtfFxcLj8vfFxcXFx8XFxefFxcXnwhfCd8JXw6fCx8O3w9KVxcYiIsZTpobGpzLklNTUVESUFURV9SRSxyOjEwfSx7Y046InBhcmVuIixiOiJbWyh7XFxdKX1dIixlOmhsanMuSU1NRURJQVRFX1JFLHI6MH0se2NOOiJmdW5jdGlvbiIsYjoiKD86UGhpfFBoaV9hcHByb3h8YWJzfGFjb3N8YWNvc2h8YXBwZW5kX2NvbHxhcHBlbmRfcm93fGFzaW58YXNpbmh8YXRhbnxhdGFuMnxhdGFuaHxiZXJub3VsbGlfY2NkZl9sb2d8YmVybm91bGxpX2NkZnxiZXJub3VsbGlfY2RmX2xvZ3xiZXJub3VsbGlfbG9nfGJlcm5vdWxsaV9sb2dpdF9sb2d8YmVybm91bGxpX3JuZ3xiZXNzZWxfZmlyc3Rfa2luZHxiZXNzZWxfc2Vjb25kX2tpbmR8YmV0YV9iaW5vbWlhbF9jY2RmX2xvZ3xiZXRhX2Jpbm9taWFsX2NkZnxiZXRhX2Jpbm9taWFsX2NkZl9sb2d8YmV0YV9iaW5vbWlhbF9sb2d8YmV0YV9iaW5vbWlhbF9ybmd8YmV0YV9jY2RmX2xvZ3xiZXRhX2NkZnxiZXRhX2NkZl9sb2d8YmV0YV9sb2d8YmV0YV9ybmd8YmluYXJ5X2xvZ19sb3NzfGJpbm9taWFsX2NjZGZfbG9nfGJpbm9taWFsX2NkZnxiaW5vbWlhbF9jZGZfbG9nfGJpbm9taWFsX2NvZWZmaWNpZW50X2xvZ3xiaW5vbWlhbF9sb2d8Ymlub21pYWxfbG9naXRfbG9nfGJpbm9taWFsX3JuZ3xibG9ja3xjYXRlZ29yaWNhbF9sb2d8Y2F0ZWdvcmljYWxfbG9naXRfbG9nfGNhdGVnb3JpY2FsX3JuZ3xjYXVjaHlfY2NkZl9sb2d8Y2F1Y2h5X2NkZnxjYXVjaHlfY2RmX2xvZ3xjYXVjaHlfbG9nfGNhdWNoeV9ybmd8Y2JydHxjZWlsfGNoaV9zcXVhcmVfY2NkZl9sb2d8Y2hpX3NxdWFyZV9jZGZ8Y2hpX3NxdWFyZV9jZGZfbG9nfGNoaV9zcXVhcmVfbG9nfGNoaV9zcXVhcmVfcm5nfGNob2xlc2t5X2RlY29tcG9zZXxjb2x8Y29sc3xjb2x1bW5zX2RvdF9wcm9kdWN0fGNvbHVtbnNfZG90X3NlbGZ8Y29zfGNvc2h8Y3Jvc3Nwcm9kfGNzcl9leHRyYWN0X3V8Y3NyX2V4dHJhY3Rfdnxjc3JfZXh0cmFjdF93fGNzcl9tYXRyaXhfdGltZXNfdmVjdG9yfGNzcl90b19kZW5zZV9tYXRyaXh8Y3VtdWxhdGl2ZV9zdW18ZGV0ZXJtaW5hbnR8ZGlhZ19tYXRyaXh8ZGlhZ19wb3N0X211bHRpcGx5fGRpYWdfcHJlX211bHRpcGx5fGRpYWdvbmFsfGRpZ2FtbWF8ZGltc3xkaXJpY2hsZXRfbG9nfGRpcmljaGxldF9ybmd8ZGlzdGFuY2V8ZG90X3Byb2R1Y3R8ZG90X3NlbGZ8ZG91YmxlX2V4cG9uZW50aWFsX2NjZGZfbG9nfGRvdWJsZV9leHBvbmVudGlhbF9jZGZ8ZG91YmxlX2V4cG9uZW50aWFsX2NkZl9sb2d8ZG91YmxlX2V4cG9uZW50aWFsX2xvZ3xkb3VibGVfZXhwb25lbnRpYWxfcm5nfGV8ZWlnZW52YWx1ZXNfc3ltfGVpZ2VudmVjdG9yc19zeW18ZXJmfGVyZmN8ZXhwfGV4cDJ8ZXhwX21vZF9ub3JtYWxfY2NkZl9sb2d8ZXhwX21vZF9ub3JtYWxfY2RmfGV4cF9tb2Rfbm9ybWFsX2NkZl9sb2d8ZXhwX21vZF9ub3JtYWxfbG9nfGV4cF9tb2Rfbm9ybWFsX3JuZ3xleHBtMXxleHBvbmVudGlhbF9jY2RmX2xvZ3xleHBvbmVudGlhbF9jZGZ8ZXhwb25lbnRpYWxfY2RmX2xvZ3xleHBvbmVudGlhbF9sb2d8ZXhwb25lbnRpYWxfcm5nfGZhYnN8ZmFsbGluZ19mYWN0b3JpYWx8ZmRpbXxmbG9vcnxmbWF8Zm1heHxmbWlufGZtb2R8ZnJlY2hldF9jY2RmX2xvZ3xmcmVjaGV0X2NkZnxmcmVjaGV0X2NkZl9sb2d8ZnJlY2hldF9sb2d8ZnJlY2hldF9ybmd8Z2FtbWFfY2NkZl9sb2d8Z2FtbWFfY2RmfGdhbW1hX2NkZl9sb2d8Z2FtbWFfbG9nfGdhbW1hX3B8Z2FtbWFfcXxnYW1tYV9ybmd8Z2F1c3NpYW5fZGxtX29ic19sb2d8Z2V0X2xwfGd1bWJlbF9jY2RmX2xvZ3xndW1iZWxfY2RmfGd1bWJlbF9jZGZfbG9nfGd1bWJlbF9sb2d8Z3VtYmVsX3JuZ3xoZWFkfGh5cGVyZ2VvbWV0cmljX2xvZ3xoeXBlcmdlb21ldHJpY19ybmd8aHlwb3R8aWZfZWxzZXxpbnRfc3RlcHxpbnZ8aW52X2NoaV9zcXVhcmVfY2NkZl9sb2d8aW52X2NoaV9zcXVhcmVfY2RmfGludl9jaGlfc3F1YXJlX2NkZl9sb2d8aW52X2NoaV9zcXVhcmVfbG9nfGludl9jaGlfc3F1YXJlX3JuZ3xpbnZfY2xvZ2xvZ3xpbnZfZ2FtbWFfY2NkZl9sb2d8aW52X2dhbW1hX2NkZnxpbnZfZ2FtbWFfY2RmX2xvZ3xpbnZfZ2FtbWFfbG9nfGludl9nYW1tYV9ybmd8aW52X2xvZ2l0fGludl9waGl8aW52X3NxcnR8aW52X3NxdWFyZXxpbnZfd2lzaGFydF9sb2d8aW52X3dpc2hhcnRfcm5nfGludmVyc2V8aW52ZXJzZV9zcGR8aXNfaW5mfGlzX25hbnxsYmV0YXxsZ2FtbWF8bGtqX2NvcnJfY2hvbGVza3lfbG9nfGxral9jb3JyX2Nob2xlc2t5X3JuZ3xsa2pfY29ycl9sb2d8bGtqX2NvcnJfcm5nfGxtZ2FtbWF8bG9nfGxvZzEwfGxvZzFtfGxvZzFtX2V4cHxsb2cxbV9pbnZfbG9naXR8bG9nMXB8bG9nMXBfZXhwfGxvZzJ8bG9nX2RldGVybWluYW50fGxvZ19kaWZmX2V4cHxsb2dfZmFsbGluZ19mYWN0b3JpYWx8bG9nX2ludl9sb2dpdHxsb2dfbWl4fGxvZ19yaXNpbmdfZmFjdG9yaWFsfGxvZ19zb2Z0bWF4fGxvZ19zdW1fZXhwfGxvZ2lzdGljX2NjZGZfbG9nfGxvZ2lzdGljX2NkZnxsb2dpc3RpY19jZGZfbG9nfGxvZ2lzdGljX2xvZ3xsb2dpc3RpY19ybmd8bG9naXR8bG9nbm9ybWFsX2NjZGZfbG9nfGxvZ25vcm1hbF9jZGZ8bG9nbm9ybWFsX2NkZl9sb2d8bG9nbm9ybWFsX2xvZ3xsb2dub3JtYWxfcm5nfG1hY2hpbmVfcHJlY2lzaW9ufG1heHxtZGl2aWRlX2xlZnRfdHJpX2xvd3xtZGl2aWRlX3JpZ2h0X3RyaV9sb3d8bWVhbnxtaW58bW9kaWZpZWRfYmVzc2VsX2ZpcnN0X2tpbmR8bW9kaWZpZWRfYmVzc2VsX3NlY29uZF9raW5kfG11bHRpX2dwX2Nob2xlc2t5X2xvZ3xtdWx0aV9ncF9sb2d8bXVsdGlfbm9ybWFsX2Nob2xlc2t5X2xvZ3xtdWx0aV9ub3JtYWxfY2hvbGVza3lfcm5nfG11bHRpX25vcm1hbF9sb2d8bXVsdGlfbm9ybWFsX3ByZWNfbG9nfG11bHRpX25vcm1hbF9ybmd8bXVsdGlfc3R1ZGVudF90X2xvZ3xtdWx0aV9zdHVkZW50X3Rfcm5nfG11bHRpbm9taWFsX2xvZ3xtdWx0aW5vbWlhbF9ybmd8bXVsdGlwbHlfbG9nfG11bHRpcGx5X2xvd2VyX3RyaV9zZWxmX3RyYW5zcG9zZXxuZWdfYmlub21pYWxfMl9jY2RmX2xvZ3xuZWdfYmlub21pYWxfMl9jZGZ8bmVnX2Jpbm9taWFsXzJfY2RmX2xvZ3xuZWdfYmlub21pYWxfMl9sb2d8bmVnX2Jpbm9taWFsXzJfbG9nX2xvZ3xuZWdfYmlub21pYWxfMl9sb2dfcm5nfG5lZ19iaW5vbWlhbF8yX3JuZ3xuZWdfYmlub21pYWxfY2NkZl9sb2d8bmVnX2Jpbm9taWFsX2NkZnxuZWdfYmlub21pYWxfY2RmX2xvZ3xuZWdfYmlub21pYWxfbG9nfG5lZ19iaW5vbWlhbF9ybmd8bmVnYXRpdmVfaW5maW5pdHl8bm9ybWFsX2NjZGZfbG9nfG5vcm1hbF9jZGZ8bm9ybWFsX2NkZl9sb2d8bm9ybWFsX2xvZ3xub3JtYWxfcm5nfG5vdF9hX251bWJlcnxudW1fZWxlbWVudHN8b3JkZXJlZF9sb2dpc3RpY19sb2d8b3JkZXJlZF9sb2dpc3RpY19ybmd8b3dlbnNfdHxwYXJldG9fY2NkZl9sb2d8cGFyZXRvX2NkZnxwYXJldG9fY2RmX2xvZ3xwYXJldG9fbG9nfHBhcmV0b19ybmd8cGFyZXRvX3R5cGVfMl9jY2RmX2xvZ3xwYXJldG9fdHlwZV8yX2NkZnxwYXJldG9fdHlwZV8yX2NkZl9sb2d8cGFyZXRvX3R5cGVfMl9sb2d8cGFyZXRvX3R5cGVfMl9ybmd8cGl8cG9pc3Nvbl9jY2RmX2xvZ3xwb2lzc29uX2NkZnxwb2lzc29uX2NkZl9sb2d8cG9pc3Nvbl9sb2d8cG9pc3Nvbl9sb2dfbG9nfHBvaXNzb25fbG9nX3JuZ3xwb2lzc29uX3JuZ3xwb3NpdGl2ZV9pbmZpbml0eXxwb3d8cHJvZHxxcl9RfHFyX1J8cXVhZF9mb3JtfHF1YWRfZm9ybV9kaWFnfHF1YWRfZm9ybV9zeW18cmFua3xyYXlsZWlnaF9jY2RmX2xvZ3xyYXlsZWlnaF9jZGZ8cmF5bGVpZ2hfY2RmX2xvZ3xyYXlsZWlnaF9sb2d8cmF5bGVpZ2hfcm5nfHJlcF9hcnJheXxyZXBfbWF0cml4fHJlcF9yb3dfdmVjdG9yfHJlcF92ZWN0b3J8cmlzaW5nX2ZhY3RvcmlhbHxyb3VuZHxyb3d8cm93c3xyb3dzX2RvdF9wcm9kdWN0fHJvd3NfZG90X3NlbGZ8c2NhbGVkX2ludl9jaGlfc3F1YXJlX2NjZGZfbG9nfHNjYWxlZF9pbnZfY2hpX3NxdWFyZV9jZGZ8c2NhbGVkX2ludl9jaGlfc3F1YXJlX2NkZl9sb2d8c2NhbGVkX2ludl9jaGlfc3F1YXJlX2xvZ3xzY2FsZWRfaW52X2NoaV9zcXVhcmVfcm5nfHNkfHNlZ21lbnR8c2lufHNpbmd1bGFyX3ZhbHVlc3xzaW5ofHNpemV8c2tld19ub3JtYWxfY2NkZl9sb2d8c2tld19ub3JtYWxfY2RmfHNrZXdfbm9ybWFsX2NkZl9sb2d8c2tld19ub3JtYWxfbG9nfHNrZXdfbm9ybWFsX3JuZ3xzb2Z0bWF4fHNvcnRfYXNjfHNvcnRfZGVzY3xzb3J0X2luZGljZXNfYXNjfHNvcnRfaW5kaWNlc19kZXNjfHNxcnR8c3FydDJ8c3F1YXJlfHNxdWFyZWRfZGlzdGFuY2V8c3RlcHxzdHVkZW50X3RfY2NkZl9sb2d8c3R1ZGVudF90X2NkZnxzdHVkZW50X3RfY2RmX2xvZ3xzdHVkZW50X3RfbG9nfHN0dWRlbnRfdF9ybmd8c3ViX2NvbHxzdWJfcm93fHN1bXx0YWlsfHRhbnx0YW5ofHRjcm9zc3Byb2R8dGdhbW1hfHRvX2FycmF5XzFkfHRvX2FycmF5XzJkfHRvX21hdHJpeHx0b19yb3dfdmVjdG9yfHRvX3ZlY3Rvcnx0cmFjZXx0cmFjZV9nZW5fcXVhZF9mb3JtfHRyYWNlX3F1YWRfZm9ybXx0cmlnYW1tYXx0cnVuY3x1bmlmb3JtX2NjZGZfbG9nfHVuaWZvcm1fY2RmfHVuaWZvcm1fY2RmX2xvZ3x1bmlmb3JtX2xvZ3x1bmlmb3JtX3JuZ3x2YXJpYW5jZXx2b25fbWlzZXNfbG9nfHZvbl9taXNlc19ybmd8d2VpYnVsbF9jY2RmX2xvZ3x3ZWlidWxsX2NkZnx3ZWlidWxsX2NkZl9sb2d8d2VpYnVsbF9sb2d8d2VpYnVsbF9ybmd8d2llbmVyX2xvZ3x3aXNoYXJ0X2xvZ3x3aXNoYXJ0X3JuZylcXGIiLGU6aGxqcy5JTU1FRElBVEVfUkUscjoxMH0se2NOOiJmdW5jdGlvbiIsYjoiKD86YmVybm91bGxpfGJlcm5vdWxsaV9sb2dpdHxiZXRhfGJldGFfYmlub21pYWx8Ymlub21pYWx8Ymlub21pYWxfbG9naXR8Y2F0ZWdvcmljYWx8Y2F0ZWdvcmljYWxfbG9naXR8Y2F1Y2h5fGNoaV9zcXVhcmV8ZGlyaWNobGV0fGRvdWJsZV9leHBvbmVudGlhbHxleHBfbW9kX25vcm1hbHxleHBvbmVudGlhbHxmcmVjaGV0fGdhbW1hfGdhdXNzaWFuX2RsbV9vYnN8Z3VtYmVsfGh5cGVyZ2VvbWV0cmljfGludl9jaGlfc3F1YXJlfGludl9nYW1tYXxpbnZfd2lzaGFydHxsa2pfY29ycnxsa2pfY29ycl9jaG9sZXNreXxsb2dpc3RpY3xsb2dub3JtYWx8bXVsdGlfZ3B8bXVsdGlfZ3BfY2hvbGVza3l8bXVsdGlfbm9ybWFsfG11bHRpX25vcm1hbF9jaG9sZXNreXxtdWx0aV9ub3JtYWxfcHJlY3xtdWx0aV9zdHVkZW50X3R8bXVsdGlub21pYWx8bmVnX2Jpbm9taWFsfG5lZ19iaW5vbWlhbF8yfG5lZ19iaW5vbWlhbF8yX2xvZ3xub3JtYWx8b3JkZXJlZF9sb2dpc3RpY3xwYXJldG98cGFyZXRvX3R5cGVfMnxwb2lzc29ufHBvaXNzb25fbG9nfHJheWxlaWdofHNjYWxlZF9pbnZfY2hpX3NxdWFyZXxza2V3X25vcm1hbHxzdHVkZW50X3R8dW5pZm9ybXx2b25fbWlzZXN8d2VpYnVsbHx3aWVuZXJ8d2lzaGFydClcXGIiLGU6aGxqcy5JTU1FRElBVEVfUkUscjoxMH0se2NOOiJrZXl3b3JkIixiOiIoPzpmb3J8aW58d2hpbGV8aWZ8dGhlbnxlbHNlfHJldHVybnxsb3dlcnx1cHBlcnxwcmludHxpbmNyZW1lbnRfbG9nX3Byb2J8aW50ZWdyYXRlX29kZXxyZWplY3QpXFxiIixlOmhsanMuSU1NRURJQVRFX1JFLHI6MTB9LHtjTjoia2V5d29yZCIsYjoiKD86aW50fHJlYWx8dmVjdG9yfHNpbXBsZXh8dW5pdF92ZWN0b3J8b3JkZXJlZHxwb3NpdGl2ZV9vcmRlcmVkfHJvd192ZWN0b3J8bWF0cml4fGNob2xlc2t5X2ZhY3Rvcl9jb3Z8Y2hvbGVza3lfZmFjdG9yX2NvcnJ8Y29ycl9tYXRyaXh8Y292X21hdHJpeHx2b2lkKVxcYiIsZTpobGpzLklNTUVESUFURV9SRSxyOjV9LHtjTjoia2V5d29yZCIsYjoiKD86ZnVuY3Rpb25zfGRhdGF8dHJhbnNmb3JtZWRcXHMrZGF0YXxwYXJhbWV0ZXJzfHRyYW5zZm9ybWVkXFxzK3BhcmFtZXRlcnN8bW9kZWx8Z2VuZXJhdGVkXFxzK3F1YW50aXRpZXMpXFxiIixlOmhsanMuSU1NRURJQVRFX1JFLHI6NX1dfX07aGxqcy5MQU5HVUFHRVMueG1sPWZ1bmN0aW9uKCl7dmFyIGI9IltBLVphLXowLTlcXC5fOi1dKyI7dmFyIGE9e2VXOnRydWUsYzpbe2NOOiJhdHRyaWJ1dGUiLGI6YixyOjB9LHtiOic9IicsckI6dHJ1ZSxlOiciJyxjOlt7Y046InZhbHVlIixiOiciJyxlVzp0cnVlfV19LHtiOiI9JyIsckI6dHJ1ZSxlOiInIixjOlt7Y046InZhbHVlIixiOiInIixlVzp0cnVlfV19LHtiOiI9IixjOlt7Y046InZhbHVlIixiOiJbXlxccy8+XSsifV19XX07cmV0dXJue2NJOnRydWUsZE06e2M6W3tjTjoicGkiLGI6IjxcXD8iLGU6IlxcPz4iLHI6MTB9LHtjTjoiZG9jdHlwZSIsYjoiPCFET0NUWVBFIixlOiI+IixyOjEwLGM6W3tiOiJcXFsiLGU6IlxcXSJ9XX0se2NOOiJjb21tZW50IixiOiI8IS0tIixlOiItLT4iLHI6MTB9LHtjTjoiY2RhdGEiLGI6IjxcXCFcXFtDREFUQVxcWyIsZToiXFxdXFxdPiIscjoxMH0se2NOOiJ0YWciLGI6IjxzdHlsZSg/PVxcc3w+fCQpIixlOiI+IixrOnt0aXRsZTp7c3R5bGU6MX19LGM6W2FdLHN0YXJ0czp7Y046ImNzcyIsZToiPC9zdHlsZT4iLHJFOnRydWUsc0w6ImNzcyJ9fSx7Y046InRhZyIsYjoiPHNjcmlwdCg/PVxcc3w+fCQpIixlOiI+IixrOnt0aXRsZTp7c2NyaXB0OjF9fSxjOlthXSxzdGFydHM6e2NOOiJqYXZhc2NyaXB0IixlOiI8XC9zY3JpcHQ+IixyRTp0cnVlLHNMOiJqYXZhc2NyaXB0In19LHtjTjoidmJzY3JpcHQiLGI6IjwlIixlOiIlPiIsc0w6InZic2NyaXB0In0se2NOOiJ0YWciLGI6IjwvPyIsZToiLz8+IixjOlt7Y046InRpdGxlIixiOiJbXiAvPl0rIn0sYV19XX19fSgpOwpobGpzLmluaXRIaWdobGlnaHRpbmdPbkxvYWQoKTsKCg=="></script> +<link href="data:text/css;charset=utf-8,%2Ehljs%2Dliteral%20%7B%0Acolor%3A%20%23990073%3B%0A%7D%0A%2Ehljs%2Dnumber%20%7B%0Acolor%3A%20%23099%3B%0A%7D%0A%2Ehljs%2Dcomment%20%7B%0Acolor%3A%20%23998%3B%0Afont%2Dstyle%3A%20italic%3B%0A%7D%0A%2Ehljs%2Dkeyword%20%7B%0Acolor%3A%20%23900%3B%0Afont%2Dweight%3A%20bold%3B%0A%7D%0A%2Ehljs%2Dstring%20%7B%0Acolor%3A%20%23d14%3B%0A%7D%0A" rel="stylesheet" /> +<script src="data:application/x-javascript;base64,LyohIGhpZ2hsaWdodC5qcyB2OS4xMi4wIHwgQlNEMyBMaWNlbnNlIHwgZ2l0LmlvL2hsanNsaWNlbnNlICovCiFmdW5jdGlvbihlKXt2YXIgbj0ib2JqZWN0Ij09dHlwZW9mIHdpbmRvdyYmd2luZG93fHwib2JqZWN0Ij09dHlwZW9mIHNlbGYmJnNlbGY7InVuZGVmaW5lZCIhPXR5cGVvZiBleHBvcnRzP2UoZXhwb3J0cyk6biYmKG4uaGxqcz1lKHt9KSwiZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kJiZkZWZpbmUoW10sZnVuY3Rpb24oKXtyZXR1cm4gbi5obGpzfSkpfShmdW5jdGlvbihlKXtmdW5jdGlvbiBuKGUpe3JldHVybiBlLnJlcGxhY2UoLyYvZywiJmFtcDsiKS5yZXBsYWNlKC88L2csIiZsdDsiKS5yZXBsYWNlKC8+L2csIiZndDsiKX1mdW5jdGlvbiB0KGUpe3JldHVybiBlLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCl9ZnVuY3Rpb24gcihlLG4pe3ZhciB0PWUmJmUuZXhlYyhuKTtyZXR1cm4gdCYmMD09PXQuaW5kZXh9ZnVuY3Rpb24gYShlKXtyZXR1cm4gay50ZXN0KGUpfWZ1bmN0aW9uIGkoZSl7dmFyIG4sdCxyLGksbz1lLmNsYXNzTmFtZSsiICI7aWYobys9ZS5wYXJlbnROb2RlP2UucGFyZW50Tm9kZS5jbGFzc05hbWU6IiIsdD1CLmV4ZWMobykpcmV0dXJuIHcodFsxXSk/dFsxXToibm8taGlnaGxpZ2h0Ijtmb3Iobz1vLnNwbGl0KC9ccysvKSxuPTAscj1vLmxlbmd0aDtyPm47bisrKWlmKGk9b1tuXSxhKGkpfHx3KGkpKXJldHVybiBpfWZ1bmN0aW9uIG8oZSl7dmFyIG4sdD17fSxyPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKTtmb3IobiBpbiBlKXRbbl09ZVtuXTtyZXR1cm4gci5mb3JFYWNoKGZ1bmN0aW9uKGUpe2ZvcihuIGluIGUpdFtuXT1lW25dfSksdH1mdW5jdGlvbiB1KGUpe3ZhciBuPVtdO3JldHVybiBmdW5jdGlvbiByKGUsYSl7Zm9yKHZhciBpPWUuZmlyc3RDaGlsZDtpO2k9aS5uZXh0U2libGluZykzPT09aS5ub2RlVHlwZT9hKz1pLm5vZGVWYWx1ZS5sZW5ndGg6MT09PWkubm9kZVR5cGUmJihuLnB1c2goe2V2ZW50OiJzdGFydCIsb2Zmc2V0OmEsbm9kZTppfSksYT1yKGksYSksdChpKS5tYXRjaCgvYnJ8aHJ8aW1nfGlucHV0Lyl8fG4ucHVzaCh7ZXZlbnQ6InN0b3AiLG9mZnNldDphLG5vZGU6aX0pKTtyZXR1cm4gYX0oZSwwKSxufWZ1bmN0aW9uIGMoZSxyLGEpe2Z1bmN0aW9uIGkoKXtyZXR1cm4gZS5sZW5ndGgmJnIubGVuZ3RoP2VbMF0ub2Zmc2V0IT09clswXS5vZmZzZXQ/ZVswXS5vZmZzZXQ8clswXS5vZmZzZXQ/ZTpyOiJzdGFydCI9PT1yWzBdLmV2ZW50P2U6cjplLmxlbmd0aD9lOnJ9ZnVuY3Rpb24gbyhlKXtmdW5jdGlvbiByKGUpe3JldHVybiIgIitlLm5vZGVOYW1lKyc9IicrbihlLnZhbHVlKS5yZXBsYWNlKCciJywiJnF1b3Q7IikrJyInfXMrPSI8Iit0KGUpK0UubWFwLmNhbGwoZS5hdHRyaWJ1dGVzLHIpLmpvaW4oIiIpKyI+In1mdW5jdGlvbiB1KGUpe3MrPSI8LyIrdChlKSsiPiJ9ZnVuY3Rpb24gYyhlKXsoInN0YXJ0Ij09PWUuZXZlbnQ/bzp1KShlLm5vZGUpfWZvcih2YXIgbD0wLHM9IiIsZj1bXTtlLmxlbmd0aHx8ci5sZW5ndGg7KXt2YXIgZz1pKCk7aWYocys9bihhLnN1YnN0cmluZyhsLGdbMF0ub2Zmc2V0KSksbD1nWzBdLm9mZnNldCxnPT09ZSl7Zi5yZXZlcnNlKCkuZm9yRWFjaCh1KTtkbyBjKGcuc3BsaWNlKDAsMSlbMF0pLGc9aSgpO3doaWxlKGc9PT1lJiZnLmxlbmd0aCYmZ1swXS5vZmZzZXQ9PT1sKTtmLnJldmVyc2UoKS5mb3JFYWNoKG8pfWVsc2Uic3RhcnQiPT09Z1swXS5ldmVudD9mLnB1c2goZ1swXS5ub2RlKTpmLnBvcCgpLGMoZy5zcGxpY2UoMCwxKVswXSl9cmV0dXJuIHMrbihhLnN1YnN0cihsKSl9ZnVuY3Rpb24gbChlKXtyZXR1cm4gZS52JiYhZS5jYWNoZWRfdmFyaWFudHMmJihlLmNhY2hlZF92YXJpYW50cz1lLnYubWFwKGZ1bmN0aW9uKG4pe3JldHVybiBvKGUse3Y6bnVsbH0sbil9KSksZS5jYWNoZWRfdmFyaWFudHN8fGUuZVcmJltvKGUpXXx8W2VdfWZ1bmN0aW9uIHMoZSl7ZnVuY3Rpb24gbihlKXtyZXR1cm4gZSYmZS5zb3VyY2V8fGV9ZnVuY3Rpb24gdCh0LHIpe3JldHVybiBuZXcgUmVnRXhwKG4odCksIm0iKyhlLmNJPyJpIjoiIikrKHI/ImciOiIiKSl9ZnVuY3Rpb24gcihhLGkpe2lmKCFhLmNvbXBpbGVkKXtpZihhLmNvbXBpbGVkPSEwLGEuaz1hLmt8fGEuYkssYS5rKXt2YXIgbz17fSx1PWZ1bmN0aW9uKG4sdCl7ZS5jSSYmKHQ9dC50b0xvd2VyQ2FzZSgpKSx0LnNwbGl0KCIgIikuZm9yRWFjaChmdW5jdGlvbihlKXt2YXIgdD1lLnNwbGl0KCJ8Iik7b1t0WzBdXT1bbix0WzFdP051bWJlcih0WzFdKToxXX0pfTsic3RyaW5nIj09dHlwZW9mIGEuaz91KCJrZXl3b3JkIixhLmspOngoYS5rKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3UoZSxhLmtbZV0pfSksYS5rPW99YS5sUj10KGEubHx8L1x3Ky8sITApLGkmJihhLmJLJiYoYS5iPSJcXGIoIithLmJLLnNwbGl0KCIgIikuam9pbigifCIpKyIpXFxiIiksYS5ifHwoYS5iPS9cQnxcYi8pLGEuYlI9dChhLmIpLGEuZXx8YS5lV3x8KGEuZT0vXEJ8XGIvKSxhLmUmJihhLmVSPXQoYS5lKSksYS50RT1uKGEuZSl8fCIiLGEuZVcmJmkudEUmJihhLnRFKz0oYS5lPyJ8IjoiIikraS50RSkpLGEuaSYmKGEuaVI9dChhLmkpKSxudWxsPT1hLnImJihhLnI9MSksYS5jfHwoYS5jPVtdKSxhLmM9QXJyYXkucHJvdG90eXBlLmNvbmNhdC5hcHBseShbXSxhLmMubWFwKGZ1bmN0aW9uKGUpe3JldHVybiBsKCJzZWxmIj09PWU/YTplKX0pKSxhLmMuZm9yRWFjaChmdW5jdGlvbihlKXtyKGUsYSl9KSxhLnN0YXJ0cyYmcihhLnN0YXJ0cyxpKTt2YXIgYz1hLmMubWFwKGZ1bmN0aW9uKGUpe3JldHVybiBlLmJLPyJcXC4/KCIrZS5iKyIpXFwuPyI6ZS5ifSkuY29uY2F0KFthLnRFLGEuaV0pLm1hcChuKS5maWx0ZXIoQm9vbGVhbik7YS50PWMubGVuZ3RoP3QoYy5qb2luKCJ8IiksITApOntleGVjOmZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9fX19cihlKX1mdW5jdGlvbiBmKGUsdCxhLGkpe2Z1bmN0aW9uIG8oZSxuKXt2YXIgdCxhO2Zvcih0PTAsYT1uLmMubGVuZ3RoO2E+dDt0KyspaWYocihuLmNbdF0uYlIsZSkpcmV0dXJuIG4uY1t0XX1mdW5jdGlvbiB1KGUsbil7aWYocihlLmVSLG4pKXtmb3IoO2UuZW5kc1BhcmVudCYmZS5wYXJlbnQ7KWU9ZS5wYXJlbnQ7cmV0dXJuIGV9cmV0dXJuIGUuZVc/dShlLnBhcmVudCxuKTp2b2lkIDB9ZnVuY3Rpb24gYyhlLG4pe3JldHVybiFhJiZyKG4uaVIsZSl9ZnVuY3Rpb24gbChlLG4pe3ZhciB0PU4uY0k/blswXS50b0xvd2VyQ2FzZSgpOm5bMF07cmV0dXJuIGUuay5oYXNPd25Qcm9wZXJ0eSh0KSYmZS5rW3RdfWZ1bmN0aW9uIHAoZSxuLHQscil7dmFyIGE9cj8iIjpJLmNsYXNzUHJlZml4LGk9JzxzcGFuIGNsYXNzPSInK2Esbz10PyIiOkM7cmV0dXJuIGkrPWUrJyI+JyxpK24rb31mdW5jdGlvbiBoKCl7dmFyIGUsdCxyLGE7aWYoIUUuaylyZXR1cm4gbihrKTtmb3IoYT0iIix0PTAsRS5sUi5sYXN0SW5kZXg9MCxyPUUubFIuZXhlYyhrKTtyOylhKz1uKGsuc3Vic3RyaW5nKHQsci5pbmRleCkpLGU9bChFLHIpLGU/KEIrPWVbMV0sYSs9cChlWzBdLG4oclswXSkpKTphKz1uKHJbMF0pLHQ9RS5sUi5sYXN0SW5kZXgscj1FLmxSLmV4ZWMoayk7cmV0dXJuIGErbihrLnN1YnN0cih0KSl9ZnVuY3Rpb24gZCgpe3ZhciBlPSJzdHJpbmciPT10eXBlb2YgRS5zTDtpZihlJiYheVtFLnNMXSlyZXR1cm4gbihrKTt2YXIgdD1lP2YoRS5zTCxrLCEwLHhbRS5zTF0pOmcoayxFLnNMLmxlbmd0aD9FLnNMOnZvaWQgMCk7cmV0dXJuIEUucj4wJiYoQis9dC5yKSxlJiYoeFtFLnNMXT10LnRvcCkscCh0Lmxhbmd1YWdlLHQudmFsdWUsITEsITApfWZ1bmN0aW9uIGIoKXtMKz1udWxsIT1FLnNMP2QoKTpoKCksaz0iIn1mdW5jdGlvbiB2KGUpe0wrPWUuY04/cChlLmNOLCIiLCEwKToiIixFPU9iamVjdC5jcmVhdGUoZSx7cGFyZW50Ont2YWx1ZTpFfX0pfWZ1bmN0aW9uIG0oZSxuKXtpZihrKz1lLG51bGw9PW4pcmV0dXJuIGIoKSwwO3ZhciB0PW8obixFKTtpZih0KXJldHVybiB0LnNraXA/ays9bjoodC5lQiYmKGsrPW4pLGIoKSx0LnJCfHx0LmVCfHwoaz1uKSksdih0LG4pLHQuckI/MDpuLmxlbmd0aDt2YXIgcj11KEUsbik7aWYocil7dmFyIGE9RTthLnNraXA/ays9bjooYS5yRXx8YS5lRXx8KGsrPW4pLGIoKSxhLmVFJiYoaz1uKSk7ZG8gRS5jTiYmKEwrPUMpLEUuc2tpcHx8KEIrPUUuciksRT1FLnBhcmVudDt3aGlsZShFIT09ci5wYXJlbnQpO3JldHVybiByLnN0YXJ0cyYmdihyLnN0YXJ0cywiIiksYS5yRT8wOm4ubGVuZ3RofWlmKGMobixFKSl0aHJvdyBuZXcgRXJyb3IoJ0lsbGVnYWwgbGV4ZW1lICInK24rJyIgZm9yIG1vZGUgIicrKEUuY058fCI8dW5uYW1lZD4iKSsnIicpO3JldHVybiBrKz1uLG4ubGVuZ3RofHwxfXZhciBOPXcoZSk7aWYoIU4pdGhyb3cgbmV3IEVycm9yKCdVbmtub3duIGxhbmd1YWdlOiAiJytlKyciJyk7cyhOKTt2YXIgUixFPWl8fE4seD17fSxMPSIiO2ZvcihSPUU7UiE9PU47Uj1SLnBhcmVudClSLmNOJiYoTD1wKFIuY04sIiIsITApK0wpO3ZhciBrPSIiLEI9MDt0cnl7Zm9yKHZhciBNLGosTz0wOzspe2lmKEUudC5sYXN0SW5kZXg9TyxNPUUudC5leGVjKHQpLCFNKWJyZWFrO2o9bSh0LnN1YnN0cmluZyhPLE0uaW5kZXgpLE1bMF0pLE89TS5pbmRleCtqfWZvcihtKHQuc3Vic3RyKE8pKSxSPUU7Ui5wYXJlbnQ7Uj1SLnBhcmVudClSLmNOJiYoTCs9Qyk7cmV0dXJue3I6Qix2YWx1ZTpMLGxhbmd1YWdlOmUsdG9wOkV9fWNhdGNoKFQpe2lmKFQubWVzc2FnZSYmLTEhPT1ULm1lc3NhZ2UuaW5kZXhPZigiSWxsZWdhbCIpKXJldHVybntyOjAsdmFsdWU6bih0KX07dGhyb3cgVH19ZnVuY3Rpb24gZyhlLHQpe3Q9dHx8SS5sYW5ndWFnZXN8fHgoeSk7dmFyIHI9e3I6MCx2YWx1ZTpuKGUpfSxhPXI7cmV0dXJuIHQuZmlsdGVyKHcpLmZvckVhY2goZnVuY3Rpb24obil7dmFyIHQ9ZihuLGUsITEpO3QubGFuZ3VhZ2U9bix0LnI+YS5yJiYoYT10KSx0LnI+ci5yJiYoYT1yLHI9dCl9KSxhLmxhbmd1YWdlJiYoci5zZWNvbmRfYmVzdD1hKSxyfWZ1bmN0aW9uIHAoZSl7cmV0dXJuIEkudGFiUmVwbGFjZXx8SS51c2VCUj9lLnJlcGxhY2UoTSxmdW5jdGlvbihlLG4pe3JldHVybiBJLnVzZUJSJiYiXG4iPT09ZT8iPGJyPiI6SS50YWJSZXBsYWNlP24ucmVwbGFjZSgvXHQvZyxJLnRhYlJlcGxhY2UpOiIifSk6ZX1mdW5jdGlvbiBoKGUsbix0KXt2YXIgcj1uP0xbbl06dCxhPVtlLnRyaW0oKV07cmV0dXJuIGUubWF0Y2goL1xiaGxqc1xiLyl8fGEucHVzaCgiaGxqcyIpLC0xPT09ZS5pbmRleE9mKHIpJiZhLnB1c2gociksYS5qb2luKCIgIikudHJpbSgpfWZ1bmN0aW9uIGQoZSl7dmFyIG4sdCxyLG8sbCxzPWkoZSk7YShzKXx8KEkudXNlQlI/KG49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiwiZGl2Iiksbi5pbm5lckhUTUw9ZS5pbm5lckhUTUwucmVwbGFjZSgvXG4vZywiIikucmVwbGFjZSgvPGJyWyBcL10qPi9nLCJcbiIpKTpuPWUsbD1uLnRleHRDb250ZW50LHI9cz9mKHMsbCwhMCk6ZyhsKSx0PXUobiksdC5sZW5ndGgmJihvPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIsImRpdiIpLG8uaW5uZXJIVE1MPXIudmFsdWUsci52YWx1ZT1jKHQsdShvKSxsKSksci52YWx1ZT1wKHIudmFsdWUpLGUuaW5uZXJIVE1MPXIudmFsdWUsZS5jbGFzc05hbWU9aChlLmNsYXNzTmFtZSxzLHIubGFuZ3VhZ2UpLGUucmVzdWx0PXtsYW5ndWFnZTpyLmxhbmd1YWdlLHJlOnIucn0sci5zZWNvbmRfYmVzdCYmKGUuc2Vjb25kX2Jlc3Q9e2xhbmd1YWdlOnIuc2Vjb25kX2Jlc3QubGFuZ3VhZ2UscmU6ci5zZWNvbmRfYmVzdC5yfSkpfWZ1bmN0aW9uIGIoZSl7ST1vKEksZSl9ZnVuY3Rpb24gdigpe2lmKCF2LmNhbGxlZCl7di5jYWxsZWQ9ITA7dmFyIGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgicHJlIGNvZGUiKTtFLmZvckVhY2guY2FsbChlLGQpfX1mdW5jdGlvbiBtKCl7YWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsdiwhMSksYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsdiwhMSl9ZnVuY3Rpb24gTihuLHQpe3ZhciByPXlbbl09dChlKTtyLmFsaWFzZXMmJnIuYWxpYXNlcy5mb3JFYWNoKGZ1bmN0aW9uKGUpe0xbZV09bn0pfWZ1bmN0aW9uIFIoKXtyZXR1cm4geCh5KX1mdW5jdGlvbiB3KGUpe3JldHVybiBlPShlfHwiIikudG9Mb3dlckNhc2UoKSx5W2VdfHx5W0xbZV1dfXZhciBFPVtdLHg9T2JqZWN0LmtleXMseT17fSxMPXt9LGs9L14obm8tP2hpZ2hsaWdodHxwbGFpbnx0ZXh0KSQvaSxCPS9cYmxhbmcoPzp1YWdlKT8tKFtcdy1dKylcYi9pLE09LygoXig8W14+XSs+fFx0fCkrfCg/OlxuKSkpL2dtLEM9Ijwvc3Bhbj4iLEk9e2NsYXNzUHJlZml4OiJobGpzLSIsdGFiUmVwbGFjZTpudWxsLHVzZUJSOiExLGxhbmd1YWdlczp2b2lkIDB9O3JldHVybiBlLmhpZ2hsaWdodD1mLGUuaGlnaGxpZ2h0QXV0bz1nLGUuZml4TWFya3VwPXAsZS5oaWdobGlnaHRCbG9jaz1kLGUuY29uZmlndXJlPWIsZS5pbml0SGlnaGxpZ2h0aW5nPXYsZS5pbml0SGlnaGxpZ2h0aW5nT25Mb2FkPW0sZS5yZWdpc3Rlckxhbmd1YWdlPU4sZS5saXN0TGFuZ3VhZ2VzPVIsZS5nZXRMYW5ndWFnZT13LGUuaW5oZXJpdD1vLGUuSVI9IlthLXpBLVpdXFx3KiIsZS5VSVI9IlthLXpBLVpfXVxcdyoiLGUuTlI9IlxcYlxcZCsoXFwuXFxkKyk/IixlLkNOUj0iKC0/KShcXGIwW3hYXVthLWZBLUYwLTldK3woXFxiXFxkKyhcXC5cXGQqKT98XFwuXFxkKykoW2VFXVstK10/XFxkKyk/KSIsZS5CTlI9IlxcYigwYlswMV0rKSIsZS5SU1I9IiF8IT18IT09fCV8JT18JnwmJnwmPXxcXCp8XFwqPXxcXCt8XFwrPXwsfC18LT18Lz18L3w6fDt8PDx8PDw9fDw9fDx8PT09fD09fD18Pj4+PXw+Pj18Pj18Pj4+fD4+fD58XFw/fFxcW3xcXHt8XFwofFxcXnxcXF49fFxcfHxcXHw9fFxcfFxcfHx+IixlLkJFPXtiOiJcXFxcW1xcc1xcU10iLHI6MH0sZS5BU009e2NOOiJzdHJpbmciLGI6IiciLGU6IiciLGk6IlxcbiIsYzpbZS5CRV19LGUuUVNNPXtjTjoic3RyaW5nIixiOiciJyxlOiciJyxpOiJcXG4iLGM6W2UuQkVdfSxlLlBXTT17YjovXGIoYXxhbnx0aGV8YXJlfEknbXxpc24ndHxkb24ndHxkb2Vzbid0fHdvbid0fGJ1dHxqdXN0fHNob3VsZHxwcmV0dHl8c2ltcGx5fGVub3VnaHxnb25uYXxnb2luZ3x3dGZ8c298c3VjaHx3aWxsfHlvdXx5b3VyfHRoZXl8bGlrZXxtb3JlKVxiL30sZS5DPWZ1bmN0aW9uKG4sdCxyKXt2YXIgYT1lLmluaGVyaXQoe2NOOiJjb21tZW50IixiOm4sZTp0LGM6W119LHJ8fHt9KTtyZXR1cm4gYS5jLnB1c2goZS5QV00pLGEuYy5wdXNoKHtjTjoiZG9jdGFnIixiOiIoPzpUT0RPfEZJWE1FfE5PVEV8QlVHfFhYWCk6IixyOjB9KSxhfSxlLkNMQ009ZS5DKCIvLyIsIiQiKSxlLkNCQ009ZS5DKCIvXFwqIiwiXFwqLyIpLGUuSENNPWUuQygiIyIsIiQiKSxlLk5NPXtjTjoibnVtYmVyIixiOmUuTlIscjowfSxlLkNOTT17Y046Im51bWJlciIsYjplLkNOUixyOjB9LGUuQk5NPXtjTjoibnVtYmVyIixiOmUuQk5SLHI6MH0sZS5DU1NOTT17Y046Im51bWJlciIsYjplLk5SKyIoJXxlbXxleHxjaHxyZW18dnd8dmh8dm1pbnx2bWF4fGNtfG1tfGlufHB0fHBjfHB4fGRlZ3xncmFkfHJhZHx0dXJufHN8bXN8SHp8a0h6fGRwaXxkcGNtfGRwcHgpPyIscjowfSxlLlJNPXtjTjoicmVnZXhwIixiOi9cLy8sZTovXC9bZ2ltdXldKi8saTovXG4vLGM6W2UuQkUse2I6L1xbLyxlOi9cXS8scjowLGM6W2UuQkVdfV19LGUuVE09e2NOOiJ0aXRsZSIsYjplLklSLHI6MH0sZS5VVE09e2NOOiJ0aXRsZSIsYjplLlVJUixyOjB9LGUuTUVUSE9EX0dVQVJEPXtiOiJcXC5cXHMqIitlLlVJUixyOjB9LGV9KTtobGpzLnJlZ2lzdGVyTGFuZ3VhZ2UoInNxbCIsZnVuY3Rpb24oZSl7dmFyIHQ9ZS5DKCItLSIsIiQiKTtyZXR1cm57Y0k6ITAsaTovWzw+e30qI10vLGM6W3tiSzoiYmVnaW4gZW5kIHN0YXJ0IGNvbW1pdCByb2xsYmFjayBzYXZlcG9pbnQgbG9jayBhbHRlciBjcmVhdGUgZHJvcCByZW5hbWUgY2FsbCBkZWxldGUgZG8gaGFuZGxlciBpbnNlcnQgbG9hZCByZXBsYWNlIHNlbGVjdCB0cnVuY2F0ZSB1cGRhdGUgc2V0IHNob3cgcHJhZ21hIGdyYW50IG1lcmdlIGRlc2NyaWJlIHVzZSBleHBsYWluIGhlbHAgZGVjbGFyZSBwcmVwYXJlIGV4ZWN1dGUgZGVhbGxvY2F0ZSByZWxlYXNlIHVubG9jayBwdXJnZSByZXNldCBjaGFuZ2Ugc3RvcCBhbmFseXplIGNhY2hlIGZsdXNoIG9wdGltaXplIHJlcGFpciBraWxsIGluc3RhbGwgdW5pbnN0YWxsIGNoZWNrc3VtIHJlc3RvcmUgY2hlY2sgYmFja3VwIHJldm9rZSBjb21tZW50IixlOi87LyxlVzohMCxsOi9bXHdcLl0rLyxrOntrZXl3b3JkOiJhYm9ydCBhYnMgYWJzb2x1dGUgYWNjIGFjY2UgYWNjZXAgYWNjZXB0IGFjY2VzcyBhY2Nlc3NlZCBhY2Nlc3NpYmxlIGFjY291bnQgYWNvcyBhY3Rpb24gYWN0aXZhdGUgYWRkIGFkZHRpbWUgYWRtaW4gYWRtaW5pc3RlciBhZHZhbmNlZCBhZHZpc2UgYWVzX2RlY3J5cHQgYWVzX2VuY3J5cHQgYWZ0ZXIgYWdlbnQgYWdncmVnYXRlIGFsaSBhbGlhIGFsaWFzIGFsbG9jYXRlIGFsbG93IGFsdGVyIGFsd2F5cyBhbmFseXplIGFuY2lsbGFyeSBhbmQgYW55IGFueWRhdGEgYW55ZGF0YXNldCBhbnlzY2hlbWEgYW55dHlwZSBhcHBseSBhcmNoaXZlIGFyY2hpdmVkIGFyY2hpdmVsb2cgYXJlIGFzIGFzYyBhc2NpaSBhc2luIGFzc2VtYmx5IGFzc2VydGlvbiBhc3NvY2lhdGUgYXN5bmNocm9ub3VzIGF0IGF0YW4gYXRuMiBhdHRyIGF0dHJpIGF0dHJpYiBhdHRyaWJ1IGF0dHJpYnV0IGF0dHJpYnV0ZSBhdHRyaWJ1dGVzIGF1ZGl0IGF1dGhlbnRpY2F0ZWQgYXV0aGVudGljYXRpb24gYXV0aGlkIGF1dGhvcnMgYXV0byBhdXRvYWxsb2NhdGUgYXV0b2RibGluayBhdXRvZXh0ZW5kIGF1dG9tYXRpYyBhdmFpbGFiaWxpdHkgYXZnIGJhY2t1cCBiYWRmaWxlIGJhc2ljZmlsZSBiZWZvcmUgYmVnaW4gYmVnaW5uaW5nIGJlbmNobWFyayBiZXR3ZWVuIGJmaWxlIGJmaWxlX2Jhc2UgYmlnIGJpZ2ZpbGUgYmluIGJpbmFyeV9kb3VibGUgYmluYXJ5X2Zsb2F0IGJpbmxvZyBiaXRfYW5kIGJpdF9jb3VudCBiaXRfbGVuZ3RoIGJpdF9vciBiaXRfeG9yIGJpdG1hcCBibG9iX2Jhc2UgYmxvY2sgYmxvY2tzaXplIGJvZHkgYm90aCBib3VuZCBidWZmZXJfY2FjaGUgYnVmZmVyX3Bvb2wgYnVpbGQgYnVsayBieSBieXRlIGJ5dGVvcmRlcm1hcmsgYnl0ZXMgY2FjaGUgY2FjaGluZyBjYWxsIGNhbGxpbmcgY2FuY2VsIGNhcGFjaXR5IGNhc2NhZGUgY2FzY2FkZWQgY2FzZSBjYXN0IGNhdGFsb2cgY2F0ZWdvcnkgY2VpbCBjZWlsaW5nIGNoYWluIGNoYW5nZSBjaGFuZ2VkIGNoYXJfYmFzZSBjaGFyX2xlbmd0aCBjaGFyYWN0ZXJfbGVuZ3RoIGNoYXJhY3RlcnMgY2hhcmFjdGVyc2V0IGNoYXJpbmRleCBjaGFyc2V0IGNoYXJzZXRmb3JtIGNoYXJzZXRpZCBjaGVjayBjaGVja3N1bSBjaGVja3N1bV9hZ2cgY2hpbGQgY2hvb3NlIGNociBjaHVuayBjbGFzcyBjbGVhbnVwIGNsZWFyIGNsaWVudCBjbG9iIGNsb2JfYmFzZSBjbG9uZSBjbG9zZSBjbHVzdGVyX2lkIGNsdXN0ZXJfcHJvYmFiaWxpdHkgY2x1c3Rlcl9zZXQgY2x1c3RlcmluZyBjb2FsZXNjZSBjb2VyY2liaWxpdHkgY29sIGNvbGxhdGUgY29sbGF0aW9uIGNvbGxlY3QgY29sdSBjb2x1bSBjb2x1bW4gY29sdW1uX3ZhbHVlIGNvbHVtbnMgY29sdW1uc191cGRhdGVkIGNvbW1lbnQgY29tbWl0IGNvbXBhY3QgY29tcGF0aWJpbGl0eSBjb21waWxlZCBjb21wbGV0ZSBjb21wb3NpdGVfbGltaXQgY29tcG91bmQgY29tcHJlc3MgY29tcHV0ZSBjb25jYXQgY29uY2F0X3dzIGNvbmN1cnJlbnQgY29uZmlybSBjb25uIGNvbm5lYyBjb25uZWN0IGNvbm5lY3RfYnlfaXNjeWNsZSBjb25uZWN0X2J5X2lzbGVhZiBjb25uZWN0X2J5X3Jvb3QgY29ubmVjdF90aW1lIGNvbm5lY3Rpb24gY29uc2lkZXIgY29uc2lzdGVudCBjb25zdGFudCBjb25zdHJhaW50IGNvbnN0cmFpbnRzIGNvbnN0cnVjdG9yIGNvbnRhaW5lciBjb250ZW50IGNvbnRlbnRzIGNvbnRleHQgY29udHJpYnV0b3JzIGNvbnRyb2xmaWxlIGNvbnYgY29udmVydCBjb252ZXJ0X3R6IGNvcnIgY29ycl9rIGNvcnJfcyBjb3JyZXNwb25kaW5nIGNvcnJ1cHRpb24gY29zIGNvc3QgY291bnQgY291bnRfYmlnIGNvdW50ZWQgY292YXJfcG9wIGNvdmFyX3NhbXAgY3B1X3Blcl9jYWxsIGNwdV9wZXJfc2Vzc2lvbiBjcmMzMiBjcmVhdGUgY3JlYXRpb24gY3JpdGljYWwgY3Jvc3MgY3ViZSBjdW1lX2Rpc3QgY3VyZGF0ZSBjdXJyZW50IGN1cnJlbnRfZGF0ZSBjdXJyZW50X3RpbWUgY3VycmVudF90aW1lc3RhbXAgY3VycmVudF91c2VyIGN1cnNvciBjdXJ0aW1lIGN1c3RvbWRhdHVtIGN5Y2xlIGRhdGEgZGF0YWJhc2UgZGF0YWJhc2VzIGRhdGFmaWxlIGRhdGFmaWxlcyBkYXRhbGVuZ3RoIGRhdGVfYWRkIGRhdGVfY2FjaGUgZGF0ZV9mb3JtYXQgZGF0ZV9zdWIgZGF0ZWFkZCBkYXRlZGlmZiBkYXRlZnJvbXBhcnRzIGRhdGVuYW1lIGRhdGVwYXJ0IGRhdGV0aW1lMmZyb21wYXJ0cyBkYXkgZGF5X3RvX3NlY29uZCBkYXluYW1lIGRheW9mbW9udGggZGF5b2Z3ZWVrIGRheW9meWVhciBkYXlzIGRiX3JvbGVfY2hhbmdlIGRidGltZXpvbmUgZGRsIGRlYWxsb2NhdGUgZGVjbGFyZSBkZWNvZGUgZGVjb21wb3NlIGRlY3JlbWVudCBkZWNyeXB0IGRlZHVwbGljYXRlIGRlZiBkZWZhIGRlZmF1IGRlZmF1bCBkZWZhdWx0IGRlZmF1bHRzIGRlZmVycmVkIGRlZmkgZGVmaW4gZGVmaW5lIGRlZ3JlZXMgZGVsYXllZCBkZWxlZ2F0ZSBkZWxldGUgZGVsZXRlX2FsbCBkZWxpbWl0ZWQgZGVtYW5kIGRlbnNlX3JhbmsgZGVwdGggZGVxdWV1ZSBkZXNfZGVjcnlwdCBkZXNfZW5jcnlwdCBkZXNfa2V5X2ZpbGUgZGVzYyBkZXNjciBkZXNjcmkgZGVzY3JpYiBkZXNjcmliZSBkZXNjcmlwdG9yIGRldGVybWluaXN0aWMgZGlhZ25vc3RpY3MgZGlmZmVyZW5jZSBkaW1lbnNpb24gZGlyZWN0X2xvYWQgZGlyZWN0b3J5IGRpc2FibGUgZGlzYWJsZV9hbGwgZGlzYWxsb3cgZGlzYXNzb2NpYXRlIGRpc2NhcmRmaWxlIGRpc2Nvbm5lY3QgZGlza2dyb3VwIGRpc3RpbmN0IGRpc3RpbmN0cm93IGRpc3RyaWJ1dGUgZGlzdHJpYnV0ZWQgZGl2IGRvIGRvY3VtZW50IGRvbWFpbiBkb3RuZXQgZG91YmxlIGRvd25ncmFkZSBkcm9wIGR1bXBmaWxlIGR1cGxpY2F0ZSBkdXJhdGlvbiBlYWNoIGVkaXRpb24gZWRpdGlvbmFibGUgZWRpdGlvbnMgZWxlbWVudCBlbGxpcHNpcyBlbHNlIGVsc2lmIGVsdCBlbXB0eSBlbmFibGUgZW5hYmxlX2FsbCBlbmNsb3NlZCBlbmNvZGUgZW5jb2RpbmcgZW5jcnlwdCBlbmQgZW5kLWV4ZWMgZW5kaWFuIGVuZm9yY2VkIGVuZ2luZSBlbmdpbmVzIGVucXVldWUgZW50ZXJwcmlzZSBlbnRpdHllc2NhcGluZyBlb21vbnRoIGVycm9yIGVycm9ycyBlc2NhcGVkIGV2YWxuYW1lIGV2YWx1YXRlIGV2ZW50IGV2ZW50ZGF0YSBldmVudHMgZXhjZXB0IGV4Y2VwdGlvbiBleGNlcHRpb25zIGV4Y2hhbmdlIGV4Y2x1ZGUgZXhjbHVkaW5nIGV4ZWN1IGV4ZWN1dCBleGVjdXRlIGV4ZW1wdCBleGlzdHMgZXhpdCBleHAgZXhwaXJlIGV4cGxhaW4gZXhwb3J0IGV4cG9ydF9zZXQgZXh0ZW5kZWQgZXh0ZW50IGV4dGVybmFsIGV4dGVybmFsXzEgZXh0ZXJuYWxfMiBleHRlcm5hbGx5IGV4dHJhY3QgZmFpbGVkIGZhaWxlZF9sb2dpbl9hdHRlbXB0cyBmYWlsb3ZlciBmYWlsdXJlIGZhciBmYXN0IGZlYXR1cmVfc2V0IGZlYXR1cmVfdmFsdWUgZmV0Y2ggZmllbGQgZmllbGRzIGZpbGUgZmlsZV9uYW1lX2NvbnZlcnQgZmlsZXN5c3RlbV9saWtlX2xvZ2dpbmcgZmluYWwgZmluaXNoIGZpcnN0IGZpcnN0X3ZhbHVlIGZpeGVkIGZsYXNoX2NhY2hlIGZsYXNoYmFjayBmbG9vciBmbHVzaCBmb2xsb3dpbmcgZm9sbG93cyBmb3IgZm9yYWxsIGZvcmNlIGZvcm0gZm9ybWEgZm9ybWF0IGZvdW5kIGZvdW5kX3Jvd3MgZnJlZWxpc3QgZnJlZWxpc3RzIGZyZWVwb29scyBmcmVzaCBmcm9tIGZyb21fYmFzZTY0IGZyb21fZGF5cyBmdHAgZnVsbCBmdW5jdGlvbiBnZW5lcmFsIGdlbmVyYXRlZCBnZXQgZ2V0X2Zvcm1hdCBnZXRfbG9jayBnZXRkYXRlIGdldHV0Y2RhdGUgZ2xvYmFsIGdsb2JhbF9uYW1lIGdsb2JhbGx5IGdvIGdvdG8gZ3JhbnQgZ3JhbnRzIGdyZWF0ZXN0IGdyb3VwIGdyb3VwX2NvbmNhdCBncm91cF9pZCBncm91cGluZyBncm91cGluZ19pZCBncm91cHMgZ3RpZF9zdWJ0cmFjdCBndWFyYW50ZWUgZ3VhcmQgaGFuZGxlciBoYXNoIGhhc2hrZXlzIGhhdmluZyBoZWEgaGVhZCBoZWFkaSBoZWFkaW4gaGVhZGluZyBoZWFwIGhlbHAgaGV4IGhpZXJhcmNoeSBoaWdoIGhpZ2hfcHJpb3JpdHkgaG9zdHMgaG91ciBodHRwIGlkIGlkZW50X2N1cnJlbnQgaWRlbnRfaW5jciBpZGVudF9zZWVkIGlkZW50aWZpZWQgaWRlbnRpdHkgaWRsZV90aW1lIGlmIGlmbnVsbCBpZ25vcmUgaWlmIGlsaWtlIGlsbSBpbW1lZGlhdGUgaW1wb3J0IGluIGluY2x1ZGUgaW5jbHVkaW5nIGluY3JlbWVudCBpbmRleCBpbmRleGVzIGluZGV4aW5nIGluZGV4dHlwZSBpbmRpY2F0b3IgaW5kaWNlcyBpbmV0Nl9hdG9uIGluZXQ2X250b2EgaW5ldF9hdG9uIGluZXRfbnRvYSBpbmZpbGUgaW5pdGlhbCBpbml0aWFsaXplZCBpbml0aWFsbHkgaW5pdHJhbnMgaW5tZW1vcnkgaW5uZXIgaW5ub2RiIGlucHV0IGluc2VydCBpbnN0YWxsIGluc3RhbmNlIGluc3RhbnRpYWJsZSBpbnN0ciBpbnRlcmZhY2UgaW50ZXJsZWF2ZWQgaW50ZXJzZWN0IGludG8gaW52YWxpZGF0ZSBpbnZpc2libGUgaXMgaXNfZnJlZV9sb2NrIGlzX2lwdjQgaXNfaXB2NF9jb21wYXQgaXNfbm90IGlzX25vdF9udWxsIGlzX3VzZWRfbG9jayBpc2RhdGUgaXNudWxsIGlzb2xhdGlvbiBpdGVyYXRlIGphdmEgam9pbiBqc29uIGpzb25fZXhpc3RzIGtlZXAga2VlcF9kdXBsaWNhdGVzIGtleSBrZXlzIGtpbGwgbGFuZ3VhZ2UgbGFyZ2UgbGFzdCBsYXN0X2RheSBsYXN0X2luc2VydF9pZCBsYXN0X3ZhbHVlIGxheCBsY2FzZSBsZWFkIGxlYWRpbmcgbGVhc3QgbGVhdmVzIGxlZnQgbGVuIGxlbmdodCBsZW5ndGggbGVzcyBsZXZlbCBsZXZlbHMgbGlicmFyeSBsaWtlIGxpa2UyIGxpa2U0IGxpa2VjIGxpbWl0IGxpbmVzIGxpbmsgbGlzdCBsaXN0YWdnIGxpdHRsZSBsbiBsb2FkIGxvYWRfZmlsZSBsb2IgbG9icyBsb2NhbCBsb2NhbHRpbWUgbG9jYWx0aW1lc3RhbXAgbG9jYXRlIGxvY2F0b3IgbG9jayBsb2NrZWQgbG9nIGxvZzEwIGxvZzIgbG9nZmlsZSBsb2dmaWxlcyBsb2dnaW5nIGxvZ2ljYWwgbG9naWNhbF9yZWFkc19wZXJfY2FsbCBsb2dvZmYgbG9nb24gbG9ncyBsb25nIGxvb3AgbG93IGxvd19wcmlvcml0eSBsb3dlciBscGFkIGxydHJpbSBsdHJpbSBtYWluIG1ha2Vfc2V0IG1ha2VkYXRlIG1ha2V0aW1lIG1hbmFnZWQgbWFuYWdlbWVudCBtYW51YWwgbWFwIG1hcHBpbmcgbWFzayBtYXN0ZXIgbWFzdGVyX3Bvc193YWl0IG1hdGNoIG1hdGNoZWQgbWF0ZXJpYWxpemVkIG1heCBtYXhleHRlbnRzIG1heGltaXplIG1heGluc3RhbmNlcyBtYXhsZW4gbWF4bG9nZmlsZXMgbWF4bG9naGlzdG9yeSBtYXhsb2dtZW1iZXJzIG1heHNpemUgbWF4dHJhbnMgbWQ1IG1lYXN1cmVzIG1lZGlhbiBtZWRpdW0gbWVtYmVyIG1lbWNvbXByZXNzIG1lbW9yeSBtZXJnZSBtaWNyb3NlY29uZCBtaWQgbWlncmF0aW9uIG1pbiBtaW5leHRlbnRzIG1pbmltdW0gbWluaW5nIG1pbnVzIG1pbnV0ZSBtaW52YWx1ZSBtaXNzaW5nIG1vZCBtb2RlIG1vZGVsIG1vZGlmaWNhdGlvbiBtb2RpZnkgbW9kdWxlIG1vbml0b3JpbmcgbW9udGggbW9udGhzIG1vdW50IG1vdmUgbW92ZW1lbnQgbXVsdGlzZXQgbXV0ZXggbmFtZSBuYW1lX2NvbnN0IG5hbWVzIG5hbiBuYXRpb25hbCBuYXRpdmUgbmF0dXJhbCBuYXYgbmNoYXIgbmNsb2IgbmVzdGVkIG5ldmVyIG5ldyBuZXdsaW5lIG5leHQgbmV4dHZhbCBubyBub193cml0ZV90b19iaW5sb2cgbm9hcmNoaXZlbG9nIG5vYXVkaXQgbm9iYWRmaWxlIG5vY2hlY2sgbm9jb21wcmVzcyBub2NvcHkgbm9jeWNsZSBub2RlbGF5IG5vZGlzY2FyZGZpbGUgbm9lbnRpdHllc2NhcGluZyBub2d1YXJhbnRlZSBub2tlZXAgbm9sb2dmaWxlIG5vbWFwcGluZyBub21heHZhbHVlIG5vbWluaW1pemUgbm9taW52YWx1ZSBub21vbml0b3Jpbmcgbm9uZSBub25lZGl0aW9uYWJsZSBub25zY2hlbWEgbm9vcmRlciBub3ByIG5vcHJvIG5vcHJvbSBub3Byb21wIG5vcHJvbXB0IG5vcmVseSBub3Jlc2V0bG9ncyBub3JldmVyc2Ugbm9ybWFsIG5vcm93ZGVwZW5kZW5jaWVzIG5vc2NoZW1hY2hlY2sgbm9zd2l0Y2ggbm90IG5vdGhpbmcgbm90aWNlIG5vdHJpbSBub3ZhbGlkYXRlIG5vdyBub3dhaXQgbnRoX3ZhbHVlIG51bGxpZiBudWxscyBudW0gbnVtYiBudW1iZSBudmFyY2hhciBudmFyY2hhcjIgb2JqZWN0IG9jaWNvbGwgb2NpZGF0ZSBvY2lkYXRldGltZSBvY2lkdXJhdGlvbiBvY2lpbnRlcnZhbCBvY2lsb2Jsb2NhdG9yIG9jaW51bWJlciBvY2lyZWYgb2NpcmVmY3Vyc29yIG9jaXJvd2lkIG9jaXN0cmluZyBvY2l0eXBlIG9jdCBvY3RldF9sZW5ndGggb2Ygb2ZmIG9mZmxpbmUgb2Zmc2V0IG9pZCBvaWRpbmRleCBvbGQgb24gb25saW5lIG9ubHkgb3BhcXVlIG9wZW4gb3BlcmF0aW9ucyBvcGVyYXRvciBvcHRpbWFsIG9wdGltaXplIG9wdGlvbiBvcHRpb25hbGx5IG9yIG9yYWNsZSBvcmFjbGVfZGF0ZSBvcmFkYXRhIG9yZCBvcmRhdWRpbyBvcmRkaWNvbSBvcmRkb2Mgb3JkZXIgb3JkaW1hZ2Ugb3JkaW5hbGl0eSBvcmR2aWRlbyBvcmdhbml6YXRpb24gb3JsYW55IG9ybHZhcnkgb3V0IG91dGVyIG91dGZpbGUgb3V0bGluZSBvdXRwdXQgb3ZlciBvdmVyZmxvdyBvdmVycmlkaW5nIHBhY2thZ2UgcGFkIHBhcmFsbGVsIHBhcmFsbGVsX2VuYWJsZSBwYXJhbWV0ZXJzIHBhcmVudCBwYXJzZSBwYXJ0aWFsIHBhcnRpdGlvbiBwYXJ0aXRpb25zIHBhc2NhbCBwYXNzaW5nIHBhc3N3b3JkIHBhc3N3b3JkX2dyYWNlX3RpbWUgcGFzc3dvcmRfbG9ja190aW1lIHBhc3N3b3JkX3JldXNlX21heCBwYXNzd29yZF9yZXVzZV90aW1lIHBhc3N3b3JkX3ZlcmlmeV9mdW5jdGlvbiBwYXRjaCBwYXRoIHBhdGluZGV4IHBjdGluY3JlYXNlIHBjdHRocmVzaG9sZCBwY3R1c2VkIHBjdHZlcnNpb24gcGVyY2VudCBwZXJjZW50X3JhbmsgcGVyY2VudGlsZV9jb250IHBlcmNlbnRpbGVfZGlzYyBwZXJmb3JtYW5jZSBwZXJpb2QgcGVyaW9kX2FkZCBwZXJpb2RfZGlmZiBwZXJtYW5lbnQgcGh5c2ljYWwgcGkgcGlwZSBwaXBlbGluZWQgcGl2b3QgcGx1Z2dhYmxlIHBsdWdpbiBwb2xpY3kgcG9zaXRpb24gcG9zdF90cmFuc2FjdGlvbiBwb3cgcG93ZXIgcHJhZ21hIHByZWJ1aWx0IHByZWNlZGVzIHByZWNlZGluZyBwcmVjaXNpb24gcHJlZGljdGlvbiBwcmVkaWN0aW9uX2Nvc3QgcHJlZGljdGlvbl9kZXRhaWxzIHByZWRpY3Rpb25fcHJvYmFiaWxpdHkgcHJlZGljdGlvbl9zZXQgcHJlcGFyZSBwcmVzZW50IHByZXNlcnZlIHByaW9yIHByaW9yaXR5IHByaXZhdGUgcHJpdmF0ZV9zZ2EgcHJpdmlsZWdlcyBwcm9jZWR1cmFsIHByb2NlZHVyZSBwcm9jZWR1cmVfYW5hbHl6ZSBwcm9jZXNzbGlzdCBwcm9maWxlcyBwcm9qZWN0IHByb21wdCBwcm90ZWN0aW9uIHB1YmxpYyBwdWJsaXNoaW5nc2VydmVybmFtZSBwdXJnZSBxdWFydGVyIHF1ZXJ5IHF1aWNrIHF1aWVzY2UgcXVvdGEgcXVvdGVuYW1lIHJhZGlhbnMgcmFpc2UgcmFuZCByYW5nZSByYW5rIHJhdyByZWFkIHJlYWRzIHJlYWRzaXplIHJlYnVpbGQgcmVjb3JkIHJlY29yZHMgcmVjb3ZlciByZWNvdmVyeSByZWN1cnNpdmUgcmVjeWNsZSByZWRvIHJlZHVjZWQgcmVmIHJlZmVyZW5jZSByZWZlcmVuY2VkIHJlZmVyZW5jZXMgcmVmZXJlbmNpbmcgcmVmcmVzaCByZWdleHBfbGlrZSByZWdpc3RlciByZWdyX2F2Z3ggcmVncl9hdmd5IHJlZ3JfY291bnQgcmVncl9pbnRlcmNlcHQgcmVncl9yMiByZWdyX3Nsb3BlIHJlZ3Jfc3h4IHJlZ3Jfc3h5IHJlamVjdCByZWtleSByZWxhdGlvbmFsIHJlbGF0aXZlIHJlbGF5bG9nIHJlbGVhc2UgcmVsZWFzZV9sb2NrIHJlbGllc19vbiByZWxvY2F0ZSByZWx5IHJlbSByZW1haW5kZXIgcmVuYW1lIHJlcGFpciByZXBlYXQgcmVwbGFjZSByZXBsaWNhdGUgcmVwbGljYXRpb24gcmVxdWlyZWQgcmVzZXQgcmVzZXRsb2dzIHJlc2l6ZSByZXNvdXJjZSByZXNwZWN0IHJlc3RvcmUgcmVzdHJpY3RlZCByZXN1bHQgcmVzdWx0X2NhY2hlIHJlc3VtYWJsZSByZXN1bWUgcmV0ZW50aW9uIHJldHVybiByZXR1cm5pbmcgcmV0dXJucyByZXVzZSByZXZlcnNlIHJldm9rZSByaWdodCBybGlrZSByb2xlIHJvbGVzIHJvbGxiYWNrIHJvbGxpbmcgcm9sbHVwIHJvdW5kIHJvdyByb3dfY291bnQgcm93ZGVwZW5kZW5jaWVzIHJvd2lkIHJvd251bSByb3dzIHJ0cmltIHJ1bGVzIHNhZmUgc2FsdCBzYW1wbGUgc2F2ZSBzYXZlcG9pbnQgc2IxIHNiMiBzYjQgc2NhbiBzY2hlbWEgc2NoZW1hY2hlY2sgc2NuIHNjb3BlIHNjcm9sbCBzZG9fZ2VvcmFzdGVyIHNkb190b3BvX2dlb21ldHJ5IHNlYXJjaCBzZWNfdG9fdGltZSBzZWNvbmQgc2VjdGlvbiBzZWN1cmVmaWxlIHNlY3VyaXR5IHNlZWQgc2VnbWVudCBzZWxlY3Qgc2VsZiBzZXF1ZW5jZSBzZXF1ZW50aWFsIHNlcmlhbGl6YWJsZSBzZXJ2ZXIgc2VydmVyZXJyb3Igc2Vzc2lvbiBzZXNzaW9uX3VzZXIgc2Vzc2lvbnNfcGVyX3VzZXIgc2V0IHNldHMgc2V0dGluZ3Mgc2hhIHNoYTEgc2hhMiBzaGFyZSBzaGFyZWQgc2hhcmVkX3Bvb2wgc2hvcnQgc2hvdyBzaHJpbmsgc2h1dGRvd24gc2lfYXZlcmFnZWNvbG9yIHNpX2NvbG9yaGlzdG9ncmFtIHNpX2ZlYXR1cmVsaXN0IHNpX3Bvc2l0aW9uYWxjb2xvciBzaV9zdGlsbGltYWdlIHNpX3RleHR1cmUgc2libGluZ3Mgc2lkIHNpZ24gc2luIHNpemUgc2l6ZV90IHNpemVzIHNraXAgc2xhdmUgc2xlZXAgc21hbGxkYXRldGltZWZyb21wYXJ0cyBzbWFsbGZpbGUgc25hcHNob3Qgc29tZSBzb25hbWUgc29ydCBzb3VuZGV4IHNvdXJjZSBzcGFjZSBzcGFyc2Ugc3BmaWxlIHNwbGl0IHNxbCBzcWxfYmlnX3Jlc3VsdCBzcWxfYnVmZmVyX3Jlc3VsdCBzcWxfY2FjaGUgc3FsX2NhbGNfZm91bmRfcm93cyBzcWxfc21hbGxfcmVzdWx0IHNxbF92YXJpYW50X3Byb3BlcnR5IHNxbGNvZGUgc3FsZGF0YSBzcWxlcnJvciBzcWxuYW1lIHNxbHN0YXRlIHNxcnQgc3F1YXJlIHN0YW5kYWxvbmUgc3RhbmRieSBzdGFydCBzdGFydGluZyBzdGFydHVwIHN0YXRlbWVudCBzdGF0aWMgc3RhdGlzdGljcyBzdGF0c19iaW5vbWlhbF90ZXN0IHN0YXRzX2Nyb3NzdGFiIHN0YXRzX2tzX3Rlc3Qgc3RhdHNfbW9kZSBzdGF0c19td190ZXN0IHN0YXRzX29uZV93YXlfYW5vdmEgc3RhdHNfdF90ZXN0XyBzdGF0c190X3Rlc3RfaW5kZXAgc3RhdHNfdF90ZXN0X29uZSBzdGF0c190X3Rlc3RfcGFpcmVkIHN0YXRzX3dzcl90ZXN0IHN0YXR1cyBzdGQgc3RkZGV2IHN0ZGRldl9wb3Agc3RkZGV2X3NhbXAgc3RkZXYgc3RvcCBzdG9yYWdlIHN0b3JlIHN0b3JlZCBzdHIgc3RyX3RvX2RhdGUgc3RyYWlnaHRfam9pbiBzdHJjbXAgc3RyaWN0IHN0cmluZyBzdHJ1Y3Qgc3R1ZmYgc3R5bGUgc3ViZGF0ZSBzdWJwYXJ0aXRpb24gc3VicGFydGl0aW9ucyBzdWJzdGl0dXRhYmxlIHN1YnN0ciBzdWJzdHJpbmcgc3VidGltZSBzdWJ0cmluZ19pbmRleCBzdWJ0eXBlIHN1Y2Nlc3Mgc3VtIHN1c3BlbmQgc3dpdGNoIHN3aXRjaG9mZnNldCBzd2l0Y2hvdmVyIHN5bmMgc3luY2hyb25vdXMgc3lub255bSBzeXMgc3lzX3htbGFnZyBzeXNhc20gc3lzYXV4IHN5c2RhdGUgc3lzZGF0ZXRpbWVvZmZzZXQgc3lzZGJhIHN5c29wZXIgc3lzdGVtIHN5c3RlbV91c2VyIHN5c3V0Y2RhdGV0aW1lIHRhYmxlIHRhYmxlcyB0YWJsZXNwYWNlIHRhbiB0ZG8gdGVtcGxhdGUgdGVtcG9yYXJ5IHRlcm1pbmF0ZWQgdGVydGlhcnlfd2VpZ2h0cyB0ZXN0IHRoYW4gdGhlbiB0aHJlYWQgdGhyb3VnaCB0aWVyIHRpZXMgdGltZSB0aW1lX2Zvcm1hdCB0aW1lX3pvbmUgdGltZWRpZmYgdGltZWZyb21wYXJ0cyB0aW1lb3V0IHRpbWVzdGFtcCB0aW1lc3RhbXBhZGQgdGltZXN0YW1wZGlmZiB0aW1lem9uZV9hYmJyIHRpbWV6b25lX21pbnV0ZSB0aW1lem9uZV9yZWdpb24gdG8gdG9fYmFzZTY0IHRvX2RhdGUgdG9fZGF5cyB0b19zZWNvbmRzIHRvZGF0ZXRpbWVvZmZzZXQgdHJhY2UgdHJhY2tpbmcgdHJhbnNhY3Rpb24gdHJhbnNhY3Rpb25hbCB0cmFuc2xhdGUgdHJhbnNsYXRpb24gdHJlYXQgdHJpZ2dlciB0cmlnZ2VyX25lc3RsZXZlbCB0cmlnZ2VycyB0cmltIHRydW5jYXRlIHRyeV9jYXN0IHRyeV9jb252ZXJ0IHRyeV9wYXJzZSB0eXBlIHViMSB1YjIgdWI0IHVjYXNlIHVuYXJjaGl2ZWQgdW5ib3VuZGVkIHVuY29tcHJlc3MgdW5kZXIgdW5kbyB1bmhleCB1bmljb2RlIHVuaWZvcm0gdW5pbnN0YWxsIHVuaW9uIHVuaXF1ZSB1bml4X3RpbWVzdGFtcCB1bmtub3duIHVubGltaXRlZCB1bmxvY2sgdW5waXZvdCB1bnJlY292ZXJhYmxlIHVuc2FmZSB1bnNpZ25lZCB1bnRpbCB1bnRydXN0ZWQgdW51c2FibGUgdW51c2VkIHVwZGF0ZSB1cGRhdGVkIHVwZ3JhZGUgdXBwZWQgdXBwZXIgdXBzZXJ0IHVybCB1cm93aWQgdXNhYmxlIHVzYWdlIHVzZSB1c2Vfc3RvcmVkX291dGxpbmVzIHVzZXIgdXNlcl9kYXRhIHVzZXJfcmVzb3VyY2VzIHVzZXJzIHVzaW5nIHV0Y19kYXRlIHV0Y190aW1lc3RhbXAgdXVpZCB1dWlkX3Nob3J0IHZhbGlkYXRlIHZhbGlkYXRlX3Bhc3N3b3JkX3N0cmVuZ3RoIHZhbGlkYXRpb24gdmFsaXN0IHZhbHVlIHZhbHVlcyB2YXIgdmFyX3NhbXAgdmFyY2hhcmMgdmFyaSB2YXJpYSB2YXJpYWIgdmFyaWFibCB2YXJpYWJsZSB2YXJpYWJsZXMgdmFyaWFuY2UgdmFycCB2YXJyYXcgdmFycmF3YyB2YXJyYXkgdmVyaWZ5IHZlcnNpb24gdmVyc2lvbnMgdmlldyB2aXJ0dWFsIHZpc2libGUgdm9pZCB3YWl0IHdhbGxldCB3YXJuaW5nIHdhcm5pbmdzIHdlZWsgd2Vla2RheSB3ZWVrb2Z5ZWFyIHdlbGxmb3JtZWQgd2hlbiB3aGVuZSB3aGVuZXYgd2hlbmV2ZSB3aGVuZXZlciB3aGVyZSB3aGlsZSB3aGl0ZXNwYWNlIHdpdGggd2l0aGluIHdpdGhvdXQgd29yayB3cmFwcGVkIHhkYiB4bWwgeG1sYWdnIHhtbGF0dHJpYnV0ZXMgeG1sY2FzdCB4bWxjb2xhdHR2YWwgeG1sZWxlbWVudCB4bWxleGlzdHMgeG1sZm9yZXN0IHhtbGluZGV4IHhtbG5hbWVzcGFjZXMgeG1scGkgeG1scXVlcnkgeG1scm9vdCB4bWxzY2hlbWEgeG1sc2VyaWFsaXplIHhtbHRhYmxlIHhtbHR5cGUgeG9yIHllYXIgeWVhcl90b19tb250aCB5ZWFycyB5ZWFyd2VlayIsbGl0ZXJhbDoidHJ1ZSBmYWxzZSBudWxsIixidWlsdF9pbjoiYXJyYXkgYmlnaW50IGJpbmFyeSBiaXQgYmxvYiBib29sZWFuIGNoYXIgY2hhcmFjdGVyIGRhdGUgZGVjIGRlY2ltYWwgZmxvYXQgaW50IGludDggaW50ZWdlciBpbnRlcnZhbCBudW1iZXIgbnVtZXJpYyByZWFsIHJlY29yZCBzZXJpYWwgc2VyaWFsOCBzbWFsbGludCB0ZXh0IHZhcmNoYXIgdmFyeWluZyB2b2lkIn0sYzpbe2NOOiJzdHJpbmciLGI6IiciLGU6IiciLGM6W2UuQkUse2I6IicnIn1dfSx7Y046InN0cmluZyIsYjonIicsZTonIicsYzpbZS5CRSx7YjonIiInfV19LHtjTjoic3RyaW5nIixiOiJgIixlOiJgIixjOltlLkJFXX0sZS5DTk0sZS5DQkNNLHRdfSxlLkNCQ00sdF19fSk7aGxqcy5yZWdpc3Rlckxhbmd1YWdlKCJyIixmdW5jdGlvbihlKXt2YXIgcj0iKFthLXpBLVpdfFxcLlthLXpBLVouXSlbYS16QS1aMC05Ll9dKiI7cmV0dXJue2M6W2UuSENNLHtiOnIsbDpyLGs6e2tleXdvcmQ6ImZ1bmN0aW9uIGlmIGluIGJyZWFrIG5leHQgcmVwZWF0IGVsc2UgZm9yIHJldHVybiBzd2l0Y2ggd2hpbGUgdHJ5IHRyeUNhdGNoIHN0b3Agd2FybmluZyByZXF1aXJlIGxpYnJhcnkgYXR0YWNoIGRldGFjaCBzb3VyY2Ugc2V0TWV0aG9kIHNldEdlbmVyaWMgc2V0R3JvdXBHZW5lcmljIHNldENsYXNzIC4uLiIsbGl0ZXJhbDoiTlVMTCBOQSBUUlVFIEZBTFNFIFQgRiBJbmYgTmFOIE5BX2ludGVnZXJffDEwIE5BX3JlYWxffDEwIE5BX2NoYXJhY3Rlcl98MTAgTkFfY29tcGxleF98MTAifSxyOjB9LHtjTjoibnVtYmVyIixiOiIwW3hYXVswLTlhLWZBLUZdK1tMaV0/XFxiIixyOjB9LHtjTjoibnVtYmVyIixiOiJcXGQrKD86W2VFXVsrXFwtXT9cXGQqKT9MXFxiIixyOjB9LHtjTjoibnVtYmVyIixiOiJcXGQrXFwuKD8hXFxkKSg/OmlcXGIpPyIscjowfSx7Y046Im51bWJlciIsYjoiXFxkKyg/OlxcLlxcZCopPyg/OltlRV1bK1xcLV0/XFxkKik/aT9cXGIiLHI6MH0se2NOOiJudW1iZXIiLGI6IlxcLlxcZCsoPzpbZUVdWytcXC1dP1xcZCopP2k/XFxiIixyOjB9LHtiOiJgIixlOiJgIixyOjB9LHtjTjoic3RyaW5nIixjOltlLkJFXSx2Olt7YjonIicsZTonIid9LHtiOiInIixlOiInIn1dfV19fSk7aGxqcy5yZWdpc3Rlckxhbmd1YWdlKCJwZXJsIixmdW5jdGlvbihlKXt2YXIgdD0iZ2V0cHdlbnQgZ2V0c2VydmVudCBxdW90ZW1ldGEgbXNncmN2IHNjYWxhciBraWxsIGRibWNsb3NlIHVuZGVmIGxjIG1hIHN5c3dyaXRlIHRyIHNlbmQgdW1hc2sgc3lzb3BlbiBzaG13cml0ZSB2ZWMgcXggdXRpbWUgbG9jYWwgb2N0IHNlbWN0bCBsb2NhbHRpbWUgcmVhZHBpcGUgZG8gcmV0dXJuIGZvcm1hdCByZWFkIHNwcmludGYgZGJtb3BlbiBwb3AgZ2V0cGdycCBub3QgZ2V0cHduYW0gcmV3aW5kZGlyIHFxZmlsZW5vIHF3IGVuZHByb3RvZW50IHdhaXQgc2V0aG9zdGVudCBibGVzcyBzfDAgb3BlbmRpciBjb250aW51ZSBlYWNoIHNsZWVwIGVuZGdyZW50IHNodXRkb3duIGR1bXAgY2hvbXAgY29ubmVjdCBnZXRzb2NrbmFtZSBkaWUgc29ja2V0cGFpciBjbG9zZSBmbG9jayBleGlzdHMgaW5kZXggc2htZ2V0c3ViIGZvciBlbmRwd2VudCByZWRvIGxzdGF0IG1zZ2N0bCBzZXRwZ3JwIGFicyBleGl0IHNlbGVjdCBwcmludCByZWYgZ2V0aG9zdGJ5YWRkciB1bnNoaWZ0IGZjbnRsIHN5c2NhbGwgZ290byBnZXRuZXRieWFkZHIgam9pbiBnbXRpbWUgc3ltbGluayBzZW1nZXQgc3BsaWNlIHh8MCBnZXRwZWVybmFtZSByZWN2IGxvZyBzZXRzb2Nrb3B0IGNvcyBsYXN0IHJldmVyc2UgZ2V0aG9zdGJ5bmFtZSBnZXRncm5hbSBzdHVkeSBmb3JtbGluZSBlbmRob3N0ZW50IHRpbWVzIGNob3AgbGVuZ3RoIGdldGhvc3RlbnQgZ2V0bmV0ZW50IHBhY2sgZ2V0cHJvdG9lbnQgZ2V0c2VydmJ5bmFtZSByYW5kIG1rZGlyIHBvcyBjaG1vZCB5fDAgc3Vic3RyIGVuZG5ldGVudCBwcmludGYgbmV4dCBvcGVuIG1zZ3NuZCByZWFkZGlyIHVzZSB1bmxpbmsgZ2V0c29ja29wdCBnZXRwcmlvcml0eSByaW5kZXggd2FudGFycmF5IGhleCBzeXN0ZW0gZ2V0c2VydmJ5cG9ydCBlbmRzZXJ2ZW50IGludCBjaHIgdW50aWUgcm1kaXIgcHJvdG90eXBlIHRlbGwgbGlzdGVuIGZvcmsgc2htcmVhZCB1Y2ZpcnN0IHNldHByb3RvZW50IGVsc2Ugc3lzc2VlayBsaW5rIGdldGdyZ2lkIHNobWN0bCB3YWl0cGlkIHVucGFjayBnZXRuZXRieW5hbWUgcmVzZXQgY2hkaXIgZ3JlcCBzcGxpdCByZXF1aXJlIGNhbGxlciBsY2ZpcnN0IHVudGlsIHdhcm4gd2hpbGUgdmFsdWVzIHNoaWZ0IHRlbGxkaXIgZ2V0cHd1aWQgbXkgZ2V0cHJvdG9ieW51bWJlciBkZWxldGUgYW5kIHNvcnQgdWMgZGVmaW5lZCBzcmFuZCBhY2NlcHQgcGFja2FnZSBzZWVrZGlyIGdldHByb3RvYnluYW1lIHNlbW9wIG91ciByZW5hbWUgc2VlayBpZiBxfDAgY2hyb290IHN5c3JlYWQgc2V0cHdlbnQgbm8gY3J5cHQgZ2V0YyBjaG93biBzcXJ0IHdyaXRlIHNldG5ldGVudCBzZXRwcmlvcml0eSBmb3JlYWNoIHRpZSBzaW4gbXNnZ2V0IG1hcCBzdGF0IGdldGxvZ2luIHVubGVzcyBlbHNpZiB0cnVuY2F0ZSBleGVjIGtleXMgZ2xvYiB0aWVkIGNsb3NlZGlyaW9jdGwgc29ja2V0IHJlYWRsaW5rIGV2YWwgeG9yIHJlYWRsaW5lIGJpbm1vZGUgc2V0c2VydmVudCBlb2Ygb3JkIGJpbmQgYWxhcm0gcGlwZSBhdGFuMiBnZXRncmVudCBleHAgdGltZSBwdXNoIHNldGdyZW50IGd0IGx0IG9yIG5lIG18MCBicmVhayBnaXZlbiBzYXkgc3RhdGUgd2hlbiIscj17Y046InN1YnN0IixiOiJbJEBdXFx7IixlOiJcXH0iLGs6dH0scz17YjoiLT57IixlOiJ9In0sbj17djpbe2I6L1wkXGQvfSx7YjovW1wkJUBdKFxeXHdcYnwjXHcrKDo6XHcrKSp8e1x3K318XHcrKDo6XHcqKSopL30se2I6L1tcJCVAXVteXHNcd3tdLyxyOjB9XX0saT1bZS5CRSxyLG5dLG89W24sZS5IQ00sZS5DKCJeXFw9XFx3IiwiXFw9Y3V0Iix7ZVc6ITB9KSxzLHtjTjoic3RyaW5nIixjOmksdjpbe2I6InFbcXd4cl0/XFxzKlxcKCIsZToiXFwpIixyOjV9LHtiOiJxW3F3eHJdP1xccypcXFsiLGU6IlxcXSIscjo1fSx7YjoicVtxd3hyXT9cXHMqXFx7IixlOiJcXH0iLHI6NX0se2I6InFbcXd4cl0/XFxzKlxcfCIsZToiXFx8IixyOjV9LHtiOiJxW3F3eHJdP1xccypcXDwiLGU6IlxcPiIscjo1fSx7YjoicXdcXHMrcSIsZToicSIscjo1fSx7YjoiJyIsZToiJyIsYzpbZS5CRV19LHtiOiciJyxlOiciJ30se2I6ImAiLGU6ImAiLGM6W2UuQkVdfSx7Yjoie1xcdyt9IixjOltdLHI6MH0se2I6Ii0/XFx3K1xccypcXD1cXD4iLGM6W10scjowfV19LHtjTjoibnVtYmVyIixiOiIoXFxiMFswLTdfXSspfChcXGIweFswLTlhLWZBLUZfXSspfChcXGJbMS05XVswLTlfXSooXFwuWzAtOV9dKyk/KXxbMF9dXFxiIixyOjB9LHtiOiIoXFwvXFwvfCIrZS5SU1IrInxcXGIoc3BsaXR8cmV0dXJufHByaW50fHJldmVyc2V8Z3JlcClcXGIpXFxzKiIsazoic3BsaXQgcmV0dXJuIHByaW50IHJldmVyc2UgZ3JlcCIscjowLGM6W2UuSENNLHtjTjoicmVnZXhwIixiOiIoc3x0cnx5KS8oXFxcXC58W14vXSkqLyhcXFxcLnxbXi9dKSovW2Etel0qIixyOjEwfSx7Y046InJlZ2V4cCIsYjoiKG18cXIpPy8iLGU6Ii9bYS16XSoiLGM6W2UuQkVdLHI6MH1dfSx7Y046ImZ1bmN0aW9uIixiSzoic3ViIixlOiIoXFxzKlxcKC4qP1xcKSk/Wzt7XSIsZUU6ITAscjo1LGM6W2UuVE1dfSx7YjoiLVxcd1xcYiIscjowfSx7YjoiXl9fREFUQV9fJCIsZToiXl9fRU5EX18kIixzTDoibW9qb2xpY2lvdXMiLGM6W3tiOiJeQEAuKiIsZToiJCIsY046ImNvbW1lbnQifV19XTtyZXR1cm4gci5jPW8scy5jPW8se2FsaWFzZXM6WyJwbCIsInBtIl0sbDovW1x3XC5dKy8sazp0LGM6b319KTtobGpzLnJlZ2lzdGVyTGFuZ3VhZ2UoImluaSIsZnVuY3Rpb24oZSl7dmFyIGI9e2NOOiJzdHJpbmciLGM6W2UuQkVdLHY6W3tiOiInJyciLGU6IicnJyIscjoxMH0se2I6JyIiIicsZTonIiIiJyxyOjEwfSx7YjonIicsZTonIid9LHtiOiInIixlOiInIn1dfTtyZXR1cm57YWxpYXNlczpbInRvbWwiXSxjSTohMCxpOi9cUy8sYzpbZS5DKCI7IiwiJCIpLGUuSENNLHtjTjoic2VjdGlvbiIsYjovXlxzKlxbKy8sZTovXF0rL30se2I6L15bYS16MC05XFtcXV8tXStccyo9XHMqLyxlOiIkIixyQjohMCxjOlt7Y046ImF0dHIiLGI6L1thLXowLTlcW1xdXy1dKy99LHtiOi89LyxlVzohMCxyOjAsYzpbe2NOOiJsaXRlcmFsIixiOi9cYm9ufG9mZnx0cnVlfGZhbHNlfHllc3xub1xiL30se2NOOiJ2YXJpYWJsZSIsdjpbe2I6L1wkW1x3XGQiXVtcd1xkX10qL30se2I6L1wkXHsoLio/KX0vfV19LGIse2NOOiJudW1iZXIiLGI6LyhbXCtcLV0rKT9bXGRdK19bXGRfXSsvfSxlLk5NXX1dfV19fSk7aGxqcy5yZWdpc3Rlckxhbmd1YWdlKCJkaWZmIixmdW5jdGlvbihlKXtyZXR1cm57YWxpYXNlczpbInBhdGNoIl0sYzpbe2NOOiJtZXRhIixyOjEwLHY6W3tiOi9eQEAgK1wtXGQrLFxkKyArXCtcZCssXGQrICtAQCQvfSx7YjovXlwqXCpcKiArXGQrLFxkKyArXCpcKlwqXCokL30se2I6L15cLVwtXC0gK1xkKyxcZCsgK1wtXC1cLVwtJC99XX0se2NOOiJjb21tZW50Iix2Olt7YjovSW5kZXg6IC8sZTovJC99LHtiOi89ezMsfS8sZTovJC99LHtiOi9eXC17M30vLGU6LyQvfSx7YjovXlwqezN9IC8sZTovJC99LHtiOi9eXCt7M30vLGU6LyQvfSx7YjovXCp7NX0vLGU6L1wqezV9JC99XX0se2NOOiJhZGRpdGlvbiIsYjoiXlxcKyIsZToiJCJ9LHtjTjoiZGVsZXRpb24iLGI6Il5cXC0iLGU6IiQifSx7Y046ImFkZGl0aW9uIixiOiJeXFwhIixlOiIkIn1dfX0pO2hsanMucmVnaXN0ZXJMYW5ndWFnZSgiZ28iLGZ1bmN0aW9uKGUpe3ZhciB0PXtrZXl3b3JkOiJicmVhayBkZWZhdWx0IGZ1bmMgaW50ZXJmYWNlIHNlbGVjdCBjYXNlIG1hcCBzdHJ1Y3QgY2hhbiBlbHNlIGdvdG8gcGFja2FnZSBzd2l0Y2ggY29uc3QgZmFsbHRocm91Z2ggaWYgcmFuZ2UgdHlwZSBjb250aW51ZSBmb3IgaW1wb3J0IHJldHVybiB2YXIgZ28gZGVmZXIgYm9vbCBieXRlIGNvbXBsZXg2NCBjb21wbGV4MTI4IGZsb2F0MzIgZmxvYXQ2NCBpbnQ4IGludDE2IGludDMyIGludDY0IHN0cmluZyB1aW50OCB1aW50MTYgdWludDMyIHVpbnQ2NCBpbnQgdWludCB1aW50cHRyIHJ1bmUiLGxpdGVyYWw6InRydWUgZmFsc2UgaW90YSBuaWwiLGJ1aWx0X2luOiJhcHBlbmQgY2FwIGNsb3NlIGNvbXBsZXggY29weSBpbWFnIGxlbiBtYWtlIG5ldyBwYW5pYyBwcmludCBwcmludGxuIHJlYWwgcmVjb3ZlciBkZWxldGUifTtyZXR1cm57YWxpYXNlczpbImdvbGFuZyJdLGs6dCxpOiI8LyIsYzpbZS5DTENNLGUuQ0JDTSx7Y046InN0cmluZyIsdjpbZS5RU00se2I6IiciLGU6IlteXFxcXF0nIn0se2I6ImAiLGU6ImAifV19LHtjTjoibnVtYmVyIix2Olt7YjplLkNOUisiW2RmbHNpXSIscjoxfSxlLkNOTV19LHtiOi86PS99LHtjTjoiZnVuY3Rpb24iLGJLOiJmdW5jIixlOi9ccypcey8sZUU6ITAsYzpbZS5UTSx7Y046InBhcmFtcyIsYjovXCgvLGU6L1wpLyxrOnQsaTovWyInXS99XX1dfX0pO2hsanMucmVnaXN0ZXJMYW5ndWFnZSgiYmFzaCIsZnVuY3Rpb24oZSl7dmFyIHQ9e2NOOiJ2YXJpYWJsZSIsdjpbe2I6L1wkW1x3XGQjQF1bXHdcZF9dKi99LHtiOi9cJFx7KC4qPyl9L31dfSxzPXtjTjoic3RyaW5nIixiOi8iLyxlOi8iLyxjOltlLkJFLHQse2NOOiJ2YXJpYWJsZSIsYjovXCRcKC8sZTovXCkvLGM6W2UuQkVdfV19LGE9e2NOOiJzdHJpbmciLGI6LycvLGU6LycvfTtyZXR1cm57YWxpYXNlczpbInNoIiwienNoIl0sbDovXGItP1thLXpcLl9dK1xiLyxrOntrZXl3b3JkOiJpZiB0aGVuIGVsc2UgZWxpZiBmaSBmb3Igd2hpbGUgaW4gZG8gZG9uZSBjYXNlIGVzYWMgZnVuY3Rpb24iLGxpdGVyYWw6InRydWUgZmFsc2UiLGJ1aWx0X2luOiJicmVhayBjZCBjb250aW51ZSBldmFsIGV4ZWMgZXhpdCBleHBvcnQgZ2V0b3B0cyBoYXNoIHB3ZCByZWFkb25seSByZXR1cm4gc2hpZnQgdGVzdCB0aW1lcyB0cmFwIHVtYXNrIHVuc2V0IGFsaWFzIGJpbmQgYnVpbHRpbiBjYWxsZXIgY29tbWFuZCBkZWNsYXJlIGVjaG8gZW5hYmxlIGhlbHAgbGV0IGxvY2FsIGxvZ291dCBtYXBmaWxlIHByaW50ZiByZWFkIHJlYWRhcnJheSBzb3VyY2UgdHlwZSB0eXBlc2V0IHVsaW1pdCB1bmFsaWFzIHNldCBzaG9wdCBhdXRvbG9hZCBiZyBiaW5ka2V5IGJ5ZSBjYXAgY2hkaXIgY2xvbmUgY29tcGFyZ3VtZW50cyBjb21wY2FsbCBjb21wY3RsIGNvbXBkZXNjcmliZSBjb21wZmlsZXMgY29tcGdyb3VwcyBjb21wcXVvdGUgY29tcHRhZ3MgY29tcHRyeSBjb21wdmFsdWVzIGRpcnMgZGlzYWJsZSBkaXNvd24gZWNob3RjIGVjaG90aSBlbXVsYXRlIGZjIGZnIGZsb2F0IGZ1bmN0aW9ucyBnZXRjYXAgZ2V0bG4gaGlzdG9yeSBpbnRlZ2VyIGpvYnMga2lsbCBsaW1pdCBsb2cgbm9nbG9iIHBvcGQgcHJpbnQgcHVzaGQgcHVzaGxuIHJlaGFzaCBzY2hlZCBzZXRjYXAgc2V0b3B0IHN0YXQgc3VzcGVuZCB0dHljdGwgdW5mdW5jdGlvbiB1bmhhc2ggdW5saW1pdCB1bnNldG9wdCB2YXJlZCB3YWl0IHdoZW5jZSB3aGVyZSB3aGljaCB6Y29tcGlsZSB6Zm9ybWF0IHpmdHAgemxlIHptb2Rsb2FkIHpwYXJzZW9wdHMgenByb2YgenB0eSB6cmVnZXhwYXJzZSB6c29ja2V0IHpzdHlsZSB6dGNwIixfOiItbmUgLWVxIC1sdCAtZ3QgLWYgLWQgLWUgLXMgLWwgLWEifSxjOlt7Y046Im1ldGEiLGI6L14jIVteXG5dK3NoXHMqJC8scjoxMH0se2NOOiJmdW5jdGlvbiIsYjovXHdbXHdcZF9dKlxzKlwoXHMqXClccypcey8sckI6ITAsYzpbZS5pbmhlcml0KGUuVE0se2I6L1x3W1x3XGRfXSovfSldLHI6MH0sZS5IQ00scyxhLHRdfX0pO2hsanMucmVnaXN0ZXJMYW5ndWFnZSgicHl0aG9uIixmdW5jdGlvbihlKXt2YXIgcj17a2V5d29yZDoiYW5kIGVsaWYgaXMgZ2xvYmFsIGFzIGluIGlmIGZyb20gcmFpc2UgZm9yIGV4Y2VwdCBmaW5hbGx5IHByaW50IGltcG9ydCBwYXNzIHJldHVybiBleGVjIGVsc2UgYnJlYWsgbm90IHdpdGggY2xhc3MgYXNzZXJ0IHlpZWxkIHRyeSB3aGlsZSBjb250aW51ZSBkZWwgb3IgZGVmIGxhbWJkYSBhc3luYyBhd2FpdCBub25sb2NhbHwxMCBOb25lIFRydWUgRmFsc2UiLGJ1aWx0X2luOiJFbGxpcHNpcyBOb3RJbXBsZW1lbnRlZCJ9LGI9e2NOOiJtZXRhIixiOi9eKD4+PnxcLlwuXC4pIC99LGM9e2NOOiJzdWJzdCIsYjovXHsvLGU6L1x9LyxrOnIsaTovIy99LGE9e2NOOiJzdHJpbmciLGM6W2UuQkVdLHY6W3tiOi8odXxiKT9yPycnJy8sZTovJycnLyxjOltiXSxyOjEwfSx7YjovKHV8Yik/cj8iIiIvLGU6LyIiIi8sYzpbYl0scjoxMH0se2I6LyhmcnxyZnxmKScnJy8sZTovJycnLyxjOltiLGNdfSx7YjovKGZyfHJmfGYpIiIiLyxlOi8iIiIvLGM6W2IsY119LHtiOi8odXxyfHVyKScvLGU6LycvLHI6MTB9LHtiOi8odXxyfHVyKSIvLGU6LyIvLHI6MTB9LHtiOi8oYnxiciknLyxlOi8nL30se2I6LyhifGJyKSIvLGU6LyIvfSx7YjovKGZyfHJmfGYpJy8sZTovJy8sYzpbY119LHtiOi8oZnJ8cmZ8ZikiLyxlOi8iLyxjOltjXX0sZS5BU00sZS5RU01dfSxzPXtjTjoibnVtYmVyIixyOjAsdjpbe2I6ZS5CTlIrIltsTGpKXT8ifSx7YjoiXFxiKDBvWzAtN10rKVtsTGpKXT8ifSx7YjplLkNOUisiW2xMakpdPyJ9XX0saT17Y046InBhcmFtcyIsYjovXCgvLGU6L1wpLyxjOlsic2VsZiIsYixzLGFdfTtyZXR1cm4gYy5jPVthLHMsYl0se2FsaWFzZXM6WyJweSIsImd5cCJdLGs6cixpOi8oPFwvfC0+fFw/KXw9Pi8sYzpbYixzLGEsZS5IQ00se3Y6W3tjTjoiZnVuY3Rpb24iLGJLOiJkZWYifSx7Y046ImNsYXNzIixiSzoiY2xhc3MifV0sZTovOi8saTovWyR7PTtcbixdLyxjOltlLlVUTSxpLHtiOi8tPi8sZVc6ITAsazoiTm9uZSJ9XX0se2NOOiJtZXRhIixiOi9eW1x0IF0qQC8sZTovJC99LHtiOi9cYihwcmludHxleGVjKVwoL31dfX0pO2hsanMucmVnaXN0ZXJMYW5ndWFnZSgianVsaWEiLGZ1bmN0aW9uKGUpe3ZhciByPXtrZXl3b3JkOiJpbiBpc2Egd2hlcmUgYmFyZW1vZHVsZSBiZWdpbiBicmVhayBjYXRjaCBjY2FsbCBjb25zdCBjb250aW51ZSBkbyBlbHNlIGVsc2VpZiBlbmQgZXhwb3J0IGZhbHNlIGZpbmFsbHkgZm9yIGZ1bmN0aW9uIGdsb2JhbCBpZiBpbXBvcnQgaW1wb3J0YWxsIGxldCBsb2NhbCBtYWNybyBtb2R1bGUgcXVvdGUgcmV0dXJuIHRydWUgdHJ5IHVzaW5nIHdoaWxlIHR5cGUgaW1tdXRhYmxlIGFic3RyYWN0IGJpdHN0eXBlIHR5cGVhbGlhcyAiLGxpdGVyYWw6InRydWUgZmFsc2UgQVJHUyBDX05VTEwgRGV2TnVsbCBFTkRJQU5fQk9NIEVOViBJIEluZiBJbmYxNiBJbmYzMiBJbmY2NCBJbnNlcnRpb25Tb3J0IEpVTElBX0hPTUUgTE9BRF9QQVRIIE1lcmdlU29ydCBOYU4gTmFOMTYgTmFOMzIgTmFONjQgUFJPR1JBTV9GSUxFIFF1aWNrU29ydCBSb3VuZERvd24gUm91bmRGcm9tWmVybyBSb3VuZE5lYXJlc3QgUm91bmROZWFyZXN0VGllc0F3YXkgUm91bmROZWFyZXN0VGllc1VwIFJvdW5kVG9aZXJvIFJvdW5kVXAgU1RERVJSIFNURElOIFNURE9VVCBWRVJTSU9OIGNhdGFsYW4gZXwwIGV1fDAgZXVsZXJnYW1tYSBnb2xkZW4gaW0gbm90aGluZyBwaSDOsyDPgCDPhiAiLGJ1aWx0X2luOiJBTlkgQWJzdHJhY3RBcnJheSBBYnN0cmFjdENoYW5uZWwgQWJzdHJhY3RGbG9hdCBBYnN0cmFjdE1hdHJpeCBBYnN0cmFjdFJORyBBYnN0cmFjdFNlcmlhbGl6ZXIgQWJzdHJhY3RTZXQgQWJzdHJhY3RTcGFyc2VBcnJheSBBYnN0cmFjdFNwYXJzZU1hdHJpeCBBYnN0cmFjdFNwYXJzZVZlY3RvciBBYnN0cmFjdFN0cmluZyBBYnN0cmFjdFVuaXRSYW5nZSBBYnN0cmFjdFZlY09yTWF0IEFic3RyYWN0VmVjdG9yIEFueSBBcmd1bWVudEVycm9yIEFycmF5IEFzc2VydGlvbkVycm9yIEFzc29jaWF0aXZlIEJhc2U2NERlY29kZVBpcGUgQmFzZTY0RW5jb2RlUGlwZSBCaWRpYWdvbmFsIEJpZ0Zsb2F0IEJpZ0ludCBCaXRBcnJheSBCaXRNYXRyaXggQml0VmVjdG9yIEJvb2wgQm91bmRzRXJyb3IgQnVmZmVyU3RyZWFtIENhY2hpbmdQb29sIENhcHR1cmVkRXhjZXB0aW9uIENhcnRlc2lhbkluZGV4IENhcnRlc2lhblJhbmdlIENjaGFyIENkb3VibGUgQ2Zsb2F0IENoYW5uZWwgQ2hhciBDaW50IENpbnRtYXhfdCBDbG9uZyBDbG9uZ2xvbmcgQ2x1c3Rlck1hbmFnZXIgQ21kIENvZGVJbmZvIENvbG9uIENvbXBsZXggQ29tcGxleDEyOCBDb21wbGV4MzIgQ29tcGxleDY0IENvbXBvc2l0ZUV4Y2VwdGlvbiBDb25kaXRpb24gQ29uakFycmF5IENvbmpNYXRyaXggQ29ualZlY3RvciBDcHRyZGlmZl90IENzaG9ydCBDc2l6ZV90IENzc2l6ZV90IENzdHJpbmcgQ3VjaGFyIEN1aW50IEN1aW50bWF4X3QgQ3Vsb25nIEN1bG9uZ2xvbmcgQ3VzaG9ydCBDd2NoYXJfdCBDd3N0cmluZyBEYXRhVHlwZSBEYXRlIERhdGVGb3JtYXQgRGF0ZVRpbWUgRGVuc2VBcnJheSBEZW5zZU1hdHJpeCBEZW5zZVZlY09yTWF0IERlbnNlVmVjdG9yIERpYWdvbmFsIERpY3QgRGltZW5zaW9uTWlzbWF0Y2ggRGltcyBEaXJlY3RJbmRleFN0cmluZyBEaXNwbGF5IERpdmlkZUVycm9yIERvbWFpbkVycm9yIEVPRkVycm9yIEVhY2hMaW5lIEVudW0gRW51bWVyYXRlIEVycm9yRXhjZXB0aW9uIEV4Y2VwdGlvbiBFeHBvbmVudGlhbEJhY2tPZmYgRXhwciBGYWN0b3JpemF0aW9uIEZpbGVNb25pdG9yIEZsb2F0MTYgRmxvYXQzMiBGbG9hdDY0IEZ1bmN0aW9uIEZ1dHVyZSBHbG9iYWxSZWYgR290b05vZGUgSFRNTCBIZXJtaXRpYW4gSU8gSU9CdWZmZXIgSU9Db250ZXh0IElPU3RyZWFtIElQQWRkciBJUHY0IElQdjYgSW5kZXhDYXJ0ZXNpYW4gSW5kZXhMaW5lYXIgSW5kZXhTdHlsZSBJbmV4YWN0RXJyb3IgSW5pdEVycm9yIEludCBJbnQxMjggSW50MTYgSW50MzIgSW50NjQgSW50OCBJbnRTZXQgSW50ZWdlciBJbnRlcnJ1cHRFeGNlcHRpb24gSW52YWxpZFN0YXRlRXhjZXB0aW9uIElycmF0aW9uYWwgS2V5RXJyb3IgTGFiZWxOb2RlIExpblNwYWNlIExpbmVOdW1iZXJOb2RlIExvYWRFcnJvciBMb3dlclRyaWFuZ3VsYXIgTUlNRSBNYXRyaXggTWVyc2VubmVUd2lzdGVyIE1ldGhvZCBNZXRob2RFcnJvciBNZXRob2RUYWJsZSBNb2R1bGUgTlR1cGxlIE5ld3Zhck5vZGUgTnVsbEV4Y2VwdGlvbiBOdWxsYWJsZSBOdW1iZXIgT2JqZWN0SWREaWN0IE9yZGluYWxSYW5nZSBPdXRPZk1lbW9yeUVycm9yIE92ZXJmbG93RXJyb3IgUGFpciBQYXJzZUVycm9yIFBhcnRpYWxRdWlja1NvcnQgUGVybXV0ZWREaW1zQXJyYXkgUGlwZSBQb2xsaW5nRmlsZVdhdGNoZXIgUHJvY2Vzc0V4aXRlZEV4Y2VwdGlvbiBQdHIgUXVvdGVOb2RlIFJhbmRvbURldmljZSBSYW5nZSBSYW5nZUluZGV4IFJhdGlvbmFsIFJhd0ZEIFJlYWRPbmx5TWVtb3J5RXJyb3IgUmVhbCBSZWVudHJhbnRMb2NrIFJlZiBSZWdleCBSZWdleE1hdGNoIFJlbW90ZUNoYW5uZWwgUmVtb3RlRXhjZXB0aW9uIFJldlN0cmluZyBSb3VuZGluZ01vZGUgUm93VmVjdG9yIFNTQVZhbHVlIFNlZ21lbnRhdGlvbkZhdWx0IFNlcmlhbGl6YXRpb25TdGF0ZSBTZXQgU2hhcmVkQXJyYXkgU2hhcmVkTWF0cml4IFNoYXJlZFZlY3RvciBTaWduZWQgU2ltcGxlVmVjdG9yIFNsb3QgU2xvdE51bWJlciBTcGFyc2VNYXRyaXhDU0MgU3BhcnNlVmVjdG9yIFN0YWNrRnJhbWUgU3RhY2tPdmVyZmxvd0Vycm9yIFN0YWNrVHJhY2UgU3RlcFJhbmdlIFN0ZXBSYW5nZUxlbiBTdHJpZGVkQXJyYXkgU3RyaWRlZE1hdHJpeCBTdHJpZGVkVmVjT3JNYXQgU3RyaWRlZFZlY3RvciBTdHJpbmcgU3ViQXJyYXkgU3ViU3RyaW5nIFN5bVRyaWRpYWdvbmFsIFN5bWJvbCBTeW1tZXRyaWMgU3lzdGVtRXJyb3IgVENQU29ja2V0IFRhc2sgVGV4dCBUZXh0RGlzcGxheSBUaW1lciBUcmlkaWFnb25hbCBUdXBsZSBUeXBlIFR5cGVFcnJvciBUeXBlTWFwRW50cnkgVHlwZU1hcExldmVsIFR5cGVOYW1lIFR5cGVWYXIgVHlwZWRTbG90IFVEUFNvY2tldCBVSW50IFVJbnQxMjggVUludDE2IFVJbnQzMiBVSW50NjQgVUludDggVW5kZWZSZWZFcnJvciBVbmRlZlZhckVycm9yIFVuaWNvZGVFcnJvciBVbmlmb3JtU2NhbGluZyBVbmlvbiBVbmlvbkFsbCBVbml0UmFuZ2UgVW5zaWduZWQgVXBwZXJUcmlhbmd1bGFyIFZhbCBWYXJhcmcgVmVjRWxlbWVudCBWZWNPck1hdCBWZWN0b3IgVmVyc2lvbk51bWJlciBWb2lkIFdlYWtLZXlEaWN0IFdlYWtSZWYgV29ya2VyQ29uZmlnIFdvcmtlclBvb2wgIn0sdD0iW0EtWmEtel9cXHUwMEExLVxcdUZGRkZdW0EtWmEtel8wLTlcXHUwMEExLVxcdUZGRkZdKiIsYT17bDp0LGs6cixpOi88XC8vfSxuPXtjTjoibnVtYmVyIixiOi8oXGIweFtcZF9dKihcLltcZF9dKik/fDB4XC5cZFtcZF9dKilwWy0rXT9cZCt8XGIwW2JveF1bYS1mQS1GMC05XVthLWZBLUYwLTlfXSp8KFxiXGRbXGRfXSooXC5bXGRfXSopP3xcLlxkW1xkX10qKShbZUVmRl1bLStdP1xkKyk/LyxyOjB9LG89e2NOOiJzdHJpbmciLGI6LycoLnxcXFt4WHVVXVthLXpBLVowLTldKyknL30saT17Y046InN1YnN0IixiOi9cJFwoLyxlOi9cKS8sazpyfSxsPXtjTjoidmFyaWFibGUiLGI6IlxcJCIrdH0sYz17Y046InN0cmluZyIsYzpbZS5CRSxpLGxdLHY6W3tiOi9cdyoiIiIvLGU6LyIiIlx3Ki8scjoxMH0se2I6L1x3KiIvLGU6LyJcdyovfV19LHM9e2NOOiJzdHJpbmciLGM6W2UuQkUsaSxsXSxiOiJgIixlOiJgIn0sZD17Y046Im1ldGEiLGI6IkAiK3R9LHU9e2NOOiJjb21tZW50Iix2Olt7YjoiIz0iLGU6Ij0jIixyOjEwfSx7YjoiIyIsZToiJCJ9XX07cmV0dXJuIGEuYz1bbixvLGMscyxkLHUsZS5IQ00se2NOOiJrZXl3b3JkIixiOiJcXGIoKChhYnN0cmFjdHxwcmltaXRpdmUpXFxzKyl0eXBlfChtdXRhYmxlXFxzKyk/c3RydWN0KVxcYiJ9LHtiOi88Oi99XSxpLmM9YS5jLGF9KTtobGpzLnJlZ2lzdGVyTGFuZ3VhZ2UoImNvZmZlZXNjcmlwdCIsZnVuY3Rpb24oZSl7dmFyIGM9e2tleXdvcmQ6ImluIGlmIGZvciB3aGlsZSBmaW5hbGx5IG5ldyBkbyByZXR1cm4gZWxzZSBicmVhayBjYXRjaCBpbnN0YW5jZW9mIHRocm93IHRyeSB0aGlzIHN3aXRjaCBjb250aW51ZSB0eXBlb2YgZGVsZXRlIGRlYnVnZ2VyIHN1cGVyIHlpZWxkIGltcG9ydCBleHBvcnQgZnJvbSBhcyBkZWZhdWx0IGF3YWl0IHRoZW4gdW5sZXNzIHVudGlsIGxvb3Agb2YgYnkgd2hlbiBhbmQgb3IgaXMgaXNudCBub3QiLGxpdGVyYWw6InRydWUgZmFsc2UgbnVsbCB1bmRlZmluZWQgeWVzIG5vIG9uIG9mZiIsYnVpbHRfaW46Im5wbSByZXF1aXJlIGNvbnNvbGUgcHJpbnQgbW9kdWxlIGdsb2JhbCB3aW5kb3cgZG9jdW1lbnQifSxuPSJbQS1aYS16JF9dWzAtOUEtWmEteiRfXSoiLHI9e2NOOiJzdWJzdCIsYjovI1x7LyxlOi99LyxrOmN9LGk9W2UuQk5NLGUuaW5oZXJpdChlLkNOTSx7c3RhcnRzOntlOiIoXFxzKi8pPyIscjowfX0pLHtjTjoic3RyaW5nIix2Olt7YjovJycnLyxlOi8nJycvLGM6W2UuQkVdfSx7YjovJy8sZTovJy8sYzpbZS5CRV19LHtiOi8iIiIvLGU6LyIiIi8sYzpbZS5CRSxyXX0se2I6LyIvLGU6LyIvLGM6W2UuQkUscl19XX0se2NOOiJyZWdleHAiLHY6W3tiOiIvLy8iLGU6Ii8vLyIsYzpbcixlLkhDTV19LHtiOiIvL1tnaW1dKiIscjowfSx7YjovXC8oPyFbICpdKShcXFwvfC4pKj9cL1tnaW1dKig/PVxXfCQpL31dfSx7YjoiQCIrbn0se3NMOiJqYXZhc2NyaXB0IixlQjohMCxlRTohMCx2Olt7YjoiYGBgIixlOiJgYGAifSx7YjoiYCIsZToiYCJ9XX1dO3IuYz1pO3ZhciBzPWUuaW5oZXJpdChlLlRNLHtiOm59KSx0PSIoXFwoLipcXCkpP1xccypcXEJbLT1dPiIsbz17Y046InBhcmFtcyIsYjoiXFwoW15cXChdIixyQjohMCxjOlt7YjovXCgvLGU6L1wpLyxrOmMsYzpbInNlbGYiXS5jb25jYXQoaSl9XX07cmV0dXJue2FsaWFzZXM6WyJjb2ZmZWUiLCJjc29uIiwiaWNlZCJdLGs6YyxpOi9cL1wqLyxjOmkuY29uY2F0KFtlLkMoIiMjIyIsIiMjIyIpLGUuSENNLHtjTjoiZnVuY3Rpb24iLGI6Il5cXHMqIituKyJcXHMqPVxccyoiK3QsZToiWy09XT4iLHJCOiEwLGM6W3Msb119LHtiOi9bOlwoLD1dXHMqLyxyOjAsYzpbe2NOOiJmdW5jdGlvbiIsYjp0LGU6IlstPV0+IixyQjohMCxjOltvXX1dfSx7Y046ImNsYXNzIixiSzoiY2xhc3MiLGU6IiQiLGk6L1s6PSJcW1xdXS8sYzpbe2JLOiJleHRlbmRzIixlVzohMCxpOi9bOj0iXFtcXV0vLGM6W3NdfSxzXX0se2I6bisiOiIsZToiOiIsckI6ITAsckU6ITAscjowfV0pfX0pO2hsanMucmVnaXN0ZXJMYW5ndWFnZSgiY3BwIixmdW5jdGlvbih0KXt2YXIgZT17Y046ImtleXdvcmQiLGI6IlxcYlthLXpcXGRfXSpfdFxcYiJ9LHI9e2NOOiJzdHJpbmciLHY6W3tiOicodTg/fFUpP0w/IicsZTonIicsaToiXFxuIixjOlt0LkJFXX0se2I6Jyh1OD98VSk/UiInLGU6JyInLGM6W3QuQkVdfSx7YjoiJ1xcXFw/LiIsZToiJyIsaToiLiJ9XX0scz17Y046Im51bWJlciIsdjpbe2I6IlxcYigwYlswMSddKykifSx7YjoiKC0/KVxcYihbXFxkJ10rKFxcLltcXGQnXSopP3xcXC5bXFxkJ10rKSh1fFV8bHxMfHVsfFVMfGZ8RnxifEIpIn0se2I6IigtPykoXFxiMFt4WF1bYS1mQS1GMC05J10rfChcXGJbXFxkJ10rKFxcLltcXGQnXSopP3xcXC5bXFxkJ10rKShbZUVdWy0rXT9bXFxkJ10rKT8pIn1dLHI6MH0saT17Y046Im1ldGEiLGI6LyNccypbYS16XStcYi8sZTovJC8sazp7Im1ldGEta2V5d29yZCI6ImlmIGVsc2UgZWxpZiBlbmRpZiBkZWZpbmUgdW5kZWYgd2FybmluZyBlcnJvciBsaW5lIHByYWdtYSBpZmRlZiBpZm5kZWYgaW5jbHVkZSJ9LGM6W3tiOi9cXFxuLyxyOjB9LHQuaW5oZXJpdChyLHtjTjoibWV0YS1zdHJpbmcifSkse2NOOiJtZXRhLXN0cmluZyIsYjovPFteXG4+XSo+LyxlOi8kLyxpOiJcXG4ifSx0LkNMQ00sdC5DQkNNXX0sYT10LklSKyJcXHMqXFwoIixjPXtrZXl3b3JkOiJpbnQgZmxvYXQgd2hpbGUgcHJpdmF0ZSBjaGFyIGNhdGNoIGltcG9ydCBtb2R1bGUgZXhwb3J0IHZpcnR1YWwgb3BlcmF0b3Igc2l6ZW9mIGR5bmFtaWNfY2FzdHwxMCB0eXBlZGVmIGNvbnN0X2Nhc3R8MTAgY29uc3QgZm9yIHN0YXRpY19jYXN0fDEwIHVuaW9uIG5hbWVzcGFjZSB1bnNpZ25lZCBsb25nIHZvbGF0aWxlIHN0YXRpYyBwcm90ZWN0ZWQgYm9vbCB0ZW1wbGF0ZSBtdXRhYmxlIGlmIHB1YmxpYyBmcmllbmQgZG8gZ290byBhdXRvIHZvaWQgZW51bSBlbHNlIGJyZWFrIGV4dGVybiB1c2luZyBhc20gY2FzZSB0eXBlaWQgc2hvcnQgcmVpbnRlcnByZXRfY2FzdHwxMCBkZWZhdWx0IGRvdWJsZSByZWdpc3RlciBleHBsaWNpdCBzaWduZWQgdHlwZW5hbWUgdHJ5IHRoaXMgc3dpdGNoIGNvbnRpbnVlIGlubGluZSBkZWxldGUgYWxpZ25vZiBjb25zdGV4cHIgZGVjbHR5cGUgbm9leGNlcHQgc3RhdGljX2Fzc2VydCB0aHJlYWRfbG9jYWwgcmVzdHJpY3QgX0Jvb2wgY29tcGxleCBfQ29tcGxleCBfSW1hZ2luYXJ5IGF0b21pY19ib29sIGF0b21pY19jaGFyIGF0b21pY19zY2hhciBhdG9taWNfdWNoYXIgYXRvbWljX3Nob3J0IGF0b21pY191c2hvcnQgYXRvbWljX2ludCBhdG9taWNfdWludCBhdG9taWNfbG9uZyBhdG9taWNfdWxvbmcgYXRvbWljX2xsb25nIGF0b21pY191bGxvbmcgbmV3IHRocm93IHJldHVybiBhbmQgb3Igbm90IixidWlsdF9pbjoic3RkIHN0cmluZyBjaW4gY291dCBjZXJyIGNsb2cgc3RkaW4gc3Rkb3V0IHN0ZGVyciBzdHJpbmdzdHJlYW0gaXN0cmluZ3N0cmVhbSBvc3RyaW5nc3RyZWFtIGF1dG9fcHRyIGRlcXVlIGxpc3QgcXVldWUgc3RhY2sgdmVjdG9yIG1hcCBzZXQgYml0c2V0IG11bHRpc2V0IG11bHRpbWFwIHVub3JkZXJlZF9zZXQgdW5vcmRlcmVkX21hcCB1bm9yZGVyZWRfbXVsdGlzZXQgdW5vcmRlcmVkX211bHRpbWFwIGFycmF5IHNoYXJlZF9wdHIgYWJvcnQgYWJzIGFjb3MgYXNpbiBhdGFuMiBhdGFuIGNhbGxvYyBjZWlsIGNvc2ggY29zIGV4aXQgZXhwIGZhYnMgZmxvb3IgZm1vZCBmcHJpbnRmIGZwdXRzIGZyZWUgZnJleHAgZnNjYW5mIGlzYWxudW0gaXNhbHBoYSBpc2NudHJsIGlzZGlnaXQgaXNncmFwaCBpc2xvd2VyIGlzcHJpbnQgaXNwdW5jdCBpc3NwYWNlIGlzdXBwZXIgaXN4ZGlnaXQgdG9sb3dlciB0b3VwcGVyIGxhYnMgbGRleHAgbG9nMTAgbG9nIG1hbGxvYyByZWFsbG9jIG1lbWNociBtZW1jbXAgbWVtY3B5IG1lbXNldCBtb2RmIHBvdyBwcmludGYgcHV0Y2hhciBwdXRzIHNjYW5mIHNpbmggc2luIHNucHJpbnRmIHNwcmludGYgc3FydCBzc2NhbmYgc3RyY2F0IHN0cmNociBzdHJjbXAgc3RyY3B5IHN0cmNzcG4gc3RybGVuIHN0cm5jYXQgc3RybmNtcCBzdHJuY3B5IHN0cnBicmsgc3RycmNociBzdHJzcG4gc3Ryc3RyIHRhbmggdGFuIHZmcHJpbnRmIHZwcmludGYgdnNwcmludGYgZW5kbCBpbml0aWFsaXplcl9saXN0IHVuaXF1ZV9wdHIiLGxpdGVyYWw6InRydWUgZmFsc2UgbnVsbHB0ciBOVUxMIn0sbj1bZSx0LkNMQ00sdC5DQkNNLHMscl07cmV0dXJue2FsaWFzZXM6WyJjIiwiY2MiLCJoIiwiYysrIiwiaCsrIiwiaHBwIl0sazpjLGk6IjwvIixjOm4uY29uY2F0KFtpLHtiOiJcXGIoZGVxdWV8bGlzdHxxdWV1ZXxzdGFja3x2ZWN0b3J8bWFwfHNldHxiaXRzZXR8bXVsdGlzZXR8bXVsdGltYXB8dW5vcmRlcmVkX21hcHx1bm9yZGVyZWRfc2V0fHVub3JkZXJlZF9tdWx0aXNldHx1bm9yZGVyZWRfbXVsdGltYXB8YXJyYXkpXFxzKjwiLGU6Ij4iLGs6YyxjOlsic2VsZiIsZV19LHtiOnQuSVIrIjo6IixrOmN9LHt2Olt7YjovPS8sZTovOy99LHtiOi9cKC8sZTovXCkvfSx7Yks6Im5ldyB0aHJvdyByZXR1cm4gZWxzZSIsZTovOy99XSxrOmMsYzpuLmNvbmNhdChbe2I6L1woLyxlOi9cKS8sazpjLGM6bi5jb25jYXQoWyJzZWxmIl0pLHI6MH1dKSxyOjB9LHtjTjoiZnVuY3Rpb24iLGI6IigiK3QuSVIrIltcXComXFxzXSspKyIrYSxyQjohMCxlOi9bezs9XS8sZUU6ITAsazpjLGk6L1teXHdcc1wqJl0vLGM6W3tiOmEsckI6ITAsYzpbdC5UTV0scjowfSx7Y046InBhcmFtcyIsYjovXCgvLGU6L1wpLyxrOmMscjowLGM6W3QuQ0xDTSx0LkNCQ00scixzLGVdfSx0LkNMQ00sdC5DQkNNLGldfSx7Y046ImNsYXNzIixiSzoiY2xhc3Mgc3RydWN0IixlOi9bezs6XS8sYzpbe2I6LzwvLGU6Lz4vLGM6WyJzZWxmIl19LHQuVE1dfV0pLGV4cG9ydHM6e3ByZXByb2Nlc3NvcjppLHN0cmluZ3M6cixrOmN9fX0pO2hsanMucmVnaXN0ZXJMYW5ndWFnZSgicnVieSIsZnVuY3Rpb24oZSl7dmFyIGI9IlthLXpBLVpfXVxcdypbIT89XT98Wy0rfl1cXEB8PDx8Pj58PX58PT09P3w8PT58Wzw+XT0/fFxcKlxcKnxbLS8rJV4mKn5gfF18XFxbXFxdPT8iLHI9e2tleXdvcmQ6ImFuZCB0aGVuIGRlZmluZWQgbW9kdWxlIGluIHJldHVybiByZWRvIGlmIEJFR0lOIHJldHJ5IGVuZCBmb3Igc2VsZiB3aGVuIG5leHQgdW50aWwgZG8gYmVnaW4gdW5sZXNzIEVORCByZXNjdWUgZWxzZSBicmVhayB1bmRlZiBub3Qgc3VwZXIgY2xhc3MgY2FzZSByZXF1aXJlIHlpZWxkIGFsaWFzIHdoaWxlIGVuc3VyZSBlbHNpZiBvciBpbmNsdWRlIGF0dHJfcmVhZGVyIGF0dHJfd3JpdGVyIGF0dHJfYWNjZXNzb3IiLGxpdGVyYWw6InRydWUgZmFsc2UgbmlsIn0sYz17Y046ImRvY3RhZyIsYjoiQFtBLVphLXpdKyJ9LGE9e2I6IiM8IixlOiI+In0scz1bZS5DKCIjIiwiJCIse2M6W2NdfSksZS5DKCJeXFw9YmVnaW4iLCJeXFw9ZW5kIix7YzpbY10scjoxMH0pLGUuQygiXl9fRU5EX18iLCJcXG4kIildLG49e2NOOiJzdWJzdCIsYjoiI1xceyIsZToifSIsazpyfSx0PXtjTjoic3RyaW5nIixjOltlLkJFLG5dLHY6W3tiOi8nLyxlOi8nL30se2I6LyIvLGU6LyIvfSx7YjovYC8sZTovYC99LHtiOiIlW3FRd1d4XT9cXCgiLGU6IlxcKSJ9LHtiOiIlW3FRd1d4XT9cXFsiLGU6IlxcXSJ9LHtiOiIlW3FRd1d4XT97IixlOiJ9In0se2I6IiVbcVF3V3hdPzwiLGU6Ij4ifSx7YjoiJVtxUXdXeF0/LyIsZToiLyJ9LHtiOiIlW3FRd1d4XT8lIixlOiIlIn0se2I6IiVbcVF3V3hdPy0iLGU6Ii0ifSx7YjoiJVtxUXdXeF0/XFx8IixlOiJcXHwifSx7YjovXEJcPyhcXFxkezEsM318XFx4W0EtRmEtZjAtOV17MSwyfXxcXHVbQS1GYS1mMC05XXs0fXxcXD9cUylcYi99LHtiOi88PCgtPylcdyskLyxlOi9eXHMqXHcrJC99XX0saT17Y046InBhcmFtcyIsYjoiXFwoIixlOiJcXCkiLGVuZHNQYXJlbnQ6ITAsazpyfSxkPVt0LGEse2NOOiJjbGFzcyIsYks6ImNsYXNzIG1vZHVsZSIsZToiJHw7IixpOi89LyxjOltlLmluaGVyaXQoZS5UTSx7YjoiW0EtWmEtel9dXFx3Kig6OlxcdyspKihcXD98XFwhKT8ifSkse2I6IjxcXHMqIixjOlt7YjoiKCIrZS5JUisiOjopPyIrZS5JUn1dfV0uY29uY2F0KHMpfSx7Y046ImZ1bmN0aW9uIixiSzoiZGVmIixlOiIkfDsiLGM6W2UuaW5oZXJpdChlLlRNLHtiOmJ9KSxpXS5jb25jYXQocyl9LHtiOmUuSVIrIjo6In0se2NOOiJzeW1ib2wiLGI6ZS5VSVIrIihcXCF8XFw/KT86IixyOjB9LHtjTjoic3ltYm9sIixiOiI6KD8hXFxzKSIsYzpbdCx7YjpifV0scjowfSx7Y046Im51bWJlciIsYjoiKFxcYjBbMC03X10rKXwoXFxiMHhbMC05YS1mQS1GX10rKXwoXFxiWzEtOV1bMC05X10qKFxcLlswLTlfXSspPyl8WzBfXVxcYiIscjowfSx7YjoiKFxcJFxcVyl8KChcXCR8XFxAXFxAPykoXFx3KykpIn0se2NOOiJwYXJhbXMiLGI6L1x8LyxlOi9cfC8sazpyfSx7YjoiKCIrZS5SU1IrInx1bmxlc3MpXFxzKiIsazoidW5sZXNzIixjOlthLHtjTjoicmVnZXhwIixjOltlLkJFLG5dLGk6L1xuLyx2Olt7YjoiLyIsZToiL1thLXpdKiJ9LHtiOiIlcnsiLGU6In1bYS16XSoifSx7YjoiJXJcXCgiLGU6IlxcKVthLXpdKiJ9LHtiOiIlciEiLGU6IiFbYS16XSoifSx7YjoiJXJcXFsiLGU6IlxcXVthLXpdKiJ9XX1dLmNvbmNhdChzKSxyOjB9XS5jb25jYXQocyk7bi5jPWQsaS5jPWQ7dmFyIGw9Ils+P10+IixvPSJbXFx3I10rXFwoXFx3K1xcKTpcXGQrOlxcZCs+Iix1PSIoXFx3Ky0pP1xcZCtcXC5cXGQrXFwuXFxkKHBcXGQrKT9bXj5dKz4iLHc9W3tiOi9eXHMqPT4vLHN0YXJ0czp7ZToiJCIsYzpkfX0se2NOOiJtZXRhIixiOiJeKCIrbCsifCIrbysifCIrdSsiKSIsc3RhcnRzOntlOiIkIixjOmR9fV07cmV0dXJue2FsaWFzZXM6WyJyYiIsImdlbXNwZWMiLCJwb2RzcGVjIiwidGhvciIsImlyYiJdLGs6cixpOi9cL1wqLyxjOnMuY29uY2F0KHcpLmNvbmNhdChkKX19KTtobGpzLnJlZ2lzdGVyTGFuZ3VhZ2UoInlhbWwiLGZ1bmN0aW9uKGUpe3ZhciBiPSJ0cnVlIGZhbHNlIHllcyBubyBudWxsIixhPSJeWyBcXC1dKiIscj0iW2EtekEtWl9dW1xcd1xcLV0qIix0PXtjTjoiYXR0ciIsdjpbe2I6YStyKyI6In0se2I6YSsnIicrcisnIjonfSx7YjphKyInIityKyInOiJ9XX0sYz17Y046InRlbXBsYXRlLXZhcmlhYmxlIix2Olt7Yjoie3siLGU6In19In0se2I6IiV7IixlOiJ9In1dfSxsPXtjTjoic3RyaW5nIixyOjAsdjpbe2I6LycvLGU6LycvfSx7YjovIi8sZTovIi99LHtiOi9cUysvfV0sYzpbZS5CRSxjXX07cmV0dXJue2NJOiEwLGFsaWFzZXM6WyJ5bWwiLCJZQU1MIiwieWFtbCJdLGM6W3Qse2NOOiJtZXRhIixiOiJeLS0tcyokIixyOjEwfSx7Y046InN0cmluZyIsYjoiW1xcfD5dICokIixyRTohMCxjOmwuYyxlOnQudlswXS5ifSx7YjoiPCVbJT0tXT8iLGU6IlslLV0/JT4iLHNMOiJydWJ5IixlQjohMCxlRTohMCxyOjB9LHtjTjoidHlwZSIsYjoiISEiK2UuVUlSfSx7Y046Im1ldGEiLGI6IiYiK2UuVUlSKyIkIn0se2NOOiJtZXRhIixiOiJcXCoiK2UuVUlSKyIkIn0se2NOOiJidWxsZXQiLGI6Il4gKi0iLHI6MH0sZS5IQ00se2JLOmIsazp7bGl0ZXJhbDpifX0sZS5DTk0sbF19fSk7aGxqcy5yZWdpc3Rlckxhbmd1YWdlKCJjc3MiLGZ1bmN0aW9uKGUpe3ZhciBjPSJbYS16QS1aLV1bYS16QS1aMC05Xy1dKiIsdD17YjovW0EtWlxfXC5cLV0rXHMqOi8sckI6ITAsZToiOyIsZVc6ITAsYzpbe2NOOiJhdHRyaWJ1dGUiLGI6L1xTLyxlOiI6IixlRTohMCxzdGFydHM6e2VXOiEwLGVFOiEwLGM6W3tiOi9bXHctXStcKC8sckI6ITAsYzpbe2NOOiJidWlsdF9pbiIsYjovW1x3LV0rL30se2I6L1woLyxlOi9cKS8sYzpbZS5BU00sZS5RU01dfV19LGUuQ1NTTk0sZS5RU00sZS5BU00sZS5DQkNNLHtjTjoibnVtYmVyIixiOiIjWzAtOUEtRmEtZl0rIn0se2NOOiJtZXRhIixiOiIhaW1wb3J0YW50In1dfX1dfTtyZXR1cm57Y0k6ITAsaTovWz1cL3wnXCRdLyxjOltlLkNCQ00se2NOOiJzZWxlY3Rvci1pZCIsYjovI1tBLVphLXowLTlfLV0rL30se2NOOiJzZWxlY3Rvci1jbGFzcyIsYjovXC5bQS1aYS16MC05Xy1dKy99LHtjTjoic2VsZWN0b3ItYXR0ciIsYjovXFsvLGU6L1xdLyxpOiIkIn0se2NOOiJzZWxlY3Rvci1wc2V1ZG8iLGI6LzooOik/W2EtekEtWjAtOVxfXC1cK1woXCkiJy5dKy99LHtiOiJAKGZvbnQtZmFjZXxwYWdlKSIsbDoiW2Etei1dKyIsazoiZm9udC1mYWNlIHBhZ2UifSx7YjoiQCIsZToiW3s7XSIsaTovOi8sYzpbe2NOOiJrZXl3b3JkIixiOi9cdysvfSx7YjovXHMvLGVXOiEwLGVFOiEwLHI6MCxjOltlLkFTTSxlLlFTTSxlLkNTU05NXX1dfSx7Y046InNlbGVjdG9yLXRhZyIsYjpjLHI6MH0se2I6InsiLGU6In0iLGk6L1xTLyxjOltlLkNCQ00sdF19XX19KTtobGpzLnJlZ2lzdGVyTGFuZ3VhZ2UoImZvcnRyYW4iLGZ1bmN0aW9uKGUpe3ZhciB0PXtjTjoicGFyYW1zIixiOiJcXCgiLGU6IlxcKSJ9LG49e2xpdGVyYWw6Ii5GYWxzZS4gLlRydWUuIixrZXl3b3JkOiJraW5kIGRvIHdoaWxlIHByaXZhdGUgY2FsbCBpbnRyaW5zaWMgd2hlcmUgZWxzZXdoZXJlIHR5cGUgZW5kdHlwZSBlbmRtb2R1bGUgZW5kc2VsZWN0IGVuZGludGVyZmFjZSBlbmQgZW5kZG8gZW5kaWYgaWYgZm9yYWxsIGVuZGZvcmFsbCBvbmx5IGNvbnRhaW5zIGRlZmF1bHQgcmV0dXJuIHN0b3AgdGhlbiBwdWJsaWMgc3Vicm91dGluZXwxMCBmdW5jdGlvbiBwcm9ncmFtIC5hbmQuIC5vci4gLm5vdC4gLmxlLiAuZXEuIC5nZS4gLmd0LiAubHQuIGdvdG8gc2F2ZSBlbHNlIHVzZSBtb2R1bGUgc2VsZWN0IGNhc2UgYWNjZXNzIGJsYW5rIGRpcmVjdCBleGlzdCBmaWxlIGZtdCBmb3JtIGZvcm1hdHRlZCBpb3N0YXQgbmFtZSBuYW1lZCBuZXh0cmVjIG51bWJlciBvcGVuZWQgcmVjIHJlY2wgc2VxdWVudGlhbCBzdGF0dXMgdW5mb3JtYXR0ZWQgdW5pdCBjb250aW51ZSBmb3JtYXQgcGF1c2UgY3ljbGUgZXhpdCBjX251bGxfY2hhciBjX2FsZXJ0IGNfYmFja3NwYWNlIGNfZm9ybV9mZWVkIGZsdXNoIHdhaXQgZGVjaW1hbCByb3VuZCBpb21zZyBzeW5jaHJvbm91cyBub3Bhc3Mgbm9uX292ZXJyaWRhYmxlIHBhc3MgcHJvdGVjdGVkIHZvbGF0aWxlIGFic3RyYWN0IGV4dGVuZHMgaW1wb3J0IG5vbl9pbnRyaW5zaWMgdmFsdWUgZGVmZXJyZWQgZ2VuZXJpYyBmaW5hbCBlbnVtZXJhdG9yIGNsYXNzIGFzc29jaWF0ZSBiaW5kIGVudW0gY19pbnQgY19zaG9ydCBjX2xvbmcgY19sb25nX2xvbmcgY19zaWduZWRfY2hhciBjX3NpemVfdCBjX2ludDhfdCBjX2ludDE2X3QgY19pbnQzMl90IGNfaW50NjRfdCBjX2ludF9sZWFzdDhfdCBjX2ludF9sZWFzdDE2X3QgY19pbnRfbGVhc3QzMl90IGNfaW50X2xlYXN0NjRfdCBjX2ludF9mYXN0OF90IGNfaW50X2Zhc3QxNl90IGNfaW50X2Zhc3QzMl90IGNfaW50X2Zhc3Q2NF90IGNfaW50bWF4X3QgQ19pbnRwdHJfdCBjX2Zsb2F0IGNfZG91YmxlIGNfbG9uZ19kb3VibGUgY19mbG9hdF9jb21wbGV4IGNfZG91YmxlX2NvbXBsZXggY19sb25nX2RvdWJsZV9jb21wbGV4IGNfYm9vbCBjX2NoYXIgY19udWxsX3B0ciBjX251bGxfZnVucHRyIGNfbmV3X2xpbmUgY19jYXJyaWFnZV9yZXR1cm4gY19ob3Jpem9udGFsX3RhYiBjX3ZlcnRpY2FsX3RhYiBpc29fY19iaW5kaW5nIGNfbG9jIGNfZnVubG9jIGNfYXNzb2NpYXRlZCAgY19mX3BvaW50ZXIgY19wdHIgY19mdW5wdHIgaXNvX2ZvcnRyYW5fZW52IGNoYXJhY3Rlcl9zdG9yYWdlX3NpemUgZXJyb3JfdW5pdCBmaWxlX3N0b3JhZ2Vfc2l6ZSBpbnB1dF91bml0IGlvc3RhdF9lbmQgaW9zdGF0X2VvciBudW1lcmljX3N0b3JhZ2Vfc2l6ZSBvdXRwdXRfdW5pdCBjX2ZfcHJvY3BvaW50ZXIgaWVlZV9hcml0aG1ldGljIGllZWVfc3VwcG9ydF91bmRlcmZsb3dfY29udHJvbCBpZWVlX2dldF91bmRlcmZsb3dfbW9kZSBpZWVlX3NldF91bmRlcmZsb3dfbW9kZSBuZXd1bml0IGNvbnRpZ3VvdXMgcmVjdXJzaXZlIHBhZCBwb3NpdGlvbiBhY3Rpb24gZGVsaW0gcmVhZHdyaXRlIGVvciBhZHZhbmNlIG5tbCBpbnRlcmZhY2UgcHJvY2VkdXJlIG5hbWVsaXN0IGluY2x1ZGUgc2VxdWVuY2UgZWxlbWVudGFsIHB1cmUgaW50ZWdlciByZWFsIGNoYXJhY3RlciBjb21wbGV4IGxvZ2ljYWwgZGltZW5zaW9uIGFsbG9jYXRhYmxlfDEwIHBhcmFtZXRlciBleHRlcm5hbCBpbXBsaWNpdHwxMCBub25lIGRvdWJsZSBwcmVjaXNpb24gYXNzaWduIGludGVudCBvcHRpb25hbCBwb2ludGVyIHRhcmdldCBpbiBvdXQgY29tbW9uIGVxdWl2YWxlbmNlIGRhdGEiLGJ1aWx0X2luOiJhbG9nIGFsb2cxMCBhbWF4MCBhbWF4MSBhbWluMCBhbWluMSBhbW9kIGNhYnMgY2NvcyBjZXhwIGNsb2cgY3NpbiBjc3FydCBkYWJzIGRhY29zIGRhc2luIGRhdGFuIGRhdGFuMiBkY29zIGRjb3NoIGRkaW0gZGV4cCBkaW50IGRsb2cgZGxvZzEwIGRtYXgxIGRtaW4xIGRtb2QgZG5pbnQgZHNpZ24gZHNpbiBkc2luaCBkc3FydCBkdGFuIGR0YW5oIGZsb2F0IGlhYnMgaWRpbSBpZGludCBpZG5pbnQgaWZpeCBpc2lnbiBtYXgwIG1heDEgbWluMCBtaW4xIHNuZ2wgYWxnYW1hIGNkYWJzIGNkY29zIGNkZXhwIGNkbG9nIGNkc2luIGNkc3FydCBjcWFicyBjcWNvcyBjcWV4cCBjcWxvZyBjcXNpbiBjcXNxcnQgZGNtcGx4IGRjb25qZyBkZXJmIGRlcmZjIGRmbG9hdCBkZ2FtbWEgZGltYWcgZGxnYW1hIGlxaW50IHFhYnMgcWFjb3MgcWFzaW4gcWF0YW4gcWF0YW4yIHFjbXBseCBxY29uamcgcWNvcyBxY29zaCBxZGltIHFlcmYgcWVyZmMgcWV4cCBxZ2FtbWEgcWltYWcgcWxnYW1hIHFsb2cgcWxvZzEwIHFtYXgxIHFtaW4xIHFtb2QgcW5pbnQgcXNpZ24gcXNpbiBxc2luaCBxc3FydCBxdGFuIHF0YW5oIGFicyBhY29zIGFpbWFnIGFpbnQgYW5pbnQgYXNpbiBhdGFuIGF0YW4yIGNoYXIgY21wbHggY29uamcgY29zIGNvc2ggZXhwIGljaGFyIGluZGV4IGludCBsb2cgbG9nMTAgbWF4IG1pbiBuaW50IHNpZ24gc2luIHNpbmggc3FydCB0YW4gdGFuaCBwcmludCB3cml0ZSBkaW0gbGdlIGxndCBsbGUgbGx0IG1vZCBudWxsaWZ5IGFsbG9jYXRlIGRlYWxsb2NhdGUgYWRqdXN0bCBhZGp1c3RyIGFsbCBhbGxvY2F0ZWQgYW55IGFzc29jaWF0ZWQgYml0X3NpemUgYnRlc3QgY2VpbGluZyBjb3VudCBjc2hpZnQgZGF0ZV9hbmRfdGltZSBkaWdpdHMgZG90X3Byb2R1Y3QgZW9zaGlmdCBlcHNpbG9uIGV4cG9uZW50IGZsb29yIGZyYWN0aW9uIGh1Z2UgaWFuZCBpYmNsciBpYml0cyBpYnNldCBpZW9yIGlvciBpc2hmdCBpc2hmdGMgbGJvdW5kIGxlbl90cmltIG1hdG11bCBtYXhleHBvbmVudCBtYXhsb2MgbWF4dmFsIG1lcmdlIG1pbmV4cG9uZW50IG1pbmxvYyBtaW52YWwgbW9kdWxvIG12Yml0cyBuZWFyZXN0IHBhY2sgcHJlc2VudCBwcm9kdWN0IHJhZGl4IHJhbmRvbV9udW1iZXIgcmFuZG9tX3NlZWQgcmFuZ2UgcmVwZWF0IHJlc2hhcGUgcnJzcGFjaW5nIHNjYWxlIHNjYW4gc2VsZWN0ZWRfaW50X2tpbmQgc2VsZWN0ZWRfcmVhbF9raW5kIHNldF9leHBvbmVudCBzaGFwZSBzaXplIHNwYWNpbmcgc3ByZWFkIHN1bSBzeXN0ZW1fY2xvY2sgdGlueSB0cmFuc3Bvc2UgdHJpbSB1Ym91bmQgdW5wYWNrIHZlcmlmeSBhY2hhciBpYWNoYXIgdHJhbnNmZXIgZGJsZSBlbnRyeSBkcHJvZCBjcHVfdGltZSBjb21tYW5kX2FyZ3VtZW50X2NvdW50IGdldF9jb21tYW5kIGdldF9jb21tYW5kX2FyZ3VtZW50IGdldF9lbnZpcm9ubWVudF92YXJpYWJsZSBpc19pb3N0YXRfZW5kIGllZWVfYXJpdGhtZXRpYyBpZWVlX3N1cHBvcnRfdW5kZXJmbG93X2NvbnRyb2wgaWVlZV9nZXRfdW5kZXJmbG93X21vZGUgaWVlZV9zZXRfdW5kZXJmbG93X21vZGUgaXNfaW9zdGF0X2VvciBtb3ZlX2FsbG9jIG5ld19saW5lIHNlbGVjdGVkX2NoYXJfa2luZCBzYW1lX3R5cGVfYXMgZXh0ZW5kc190eXBlX29mYWNvc2ggYXNpbmggYXRhbmggYmVzc2VsX2owIGJlc3NlbF9qMSBiZXNzZWxfam4gYmVzc2VsX3kwIGJlc3NlbF95MSBiZXNzZWxfeW4gZXJmIGVyZmMgZXJmY19zY2FsZWQgZ2FtbWEgbG9nX2dhbW1hIGh5cG90IG5vcm0yIGF0b21pY19kZWZpbmUgYXRvbWljX3JlZiBleGVjdXRlX2NvbW1hbmRfbGluZSBsZWFkeiB0cmFpbHogc3RvcmFnZV9zaXplIG1lcmdlX2JpdHMgYmdlIGJndCBibGUgYmx0IGRzaGlmdGwgZHNoaWZ0ciBmaW5kbG9jIGlhbGwgaWFueSBpcGFyaXR5IGltYWdlX2luZGV4IGxjb2JvdW5kIHVjb2JvdW5kIG1hc2tsIG1hc2tyIG51bV9pbWFnZXMgcGFyaXR5IHBvcGNudCBwb3BwYXIgc2hpZnRhIHNoaWZ0bCBzaGlmdHIgdGhpc19pbWFnZSJ9O3JldHVybntjSTohMCxhbGlhc2VzOlsiZjkwIiwiZjk1Il0sazpuLGk6L1wvXCovLGM6W2UuaW5oZXJpdChlLkFTTSx7Y046InN0cmluZyIscjowfSksZS5pbmhlcml0KGUuUVNNLHtjTjoic3RyaW5nIixyOjB9KSx7Y046ImZ1bmN0aW9uIixiSzoic3Vicm91dGluZSBmdW5jdGlvbiBwcm9ncmFtIixpOiJbJHs9XFxuXSIsYzpbZS5VVE0sdF19LGUuQygiISIsIiQiLHtyOjB9KSx7Y046Im51bWJlciIsYjoiKD89XFxifFxcK3xcXC18XFwuKSg/PVxcLlxcZHxcXGQpKD86XFxkKyk/KD86XFwuP1xcZCopKD86W2RlXVsrLV0/XFxkKyk/XFxiXFwuPyIscjowfV19fSk7aGxqcy5yZWdpc3Rlckxhbmd1YWdlKCJhd2siLGZ1bmN0aW9uKGUpe3ZhciByPXtjTjoidmFyaWFibGUiLHY6W3tiOi9cJFtcd1xkI0BdW1x3XGRfXSovfSx7YjovXCRceyguKj8pfS99XX0sYj0iQkVHSU4gRU5EIGlmIGVsc2Ugd2hpbGUgZG8gZm9yIGluIGJyZWFrIGNvbnRpbnVlIGRlbGV0ZSBuZXh0IG5leHRmaWxlIGZ1bmN0aW9uIGZ1bmMgZXhpdHwxMCIsbj17Y046InN0cmluZyIsYzpbZS5CRV0sdjpbe2I6Lyh1fGIpP3I/JycnLyxlOi8nJycvLHI6MTB9LHtiOi8odXxiKT9yPyIiIi8sZTovIiIiLyxyOjEwfSx7YjovKHV8cnx1ciknLyxlOi8nLyxyOjEwfSx7YjovKHV8cnx1cikiLyxlOi8iLyxyOjEwfSx7YjovKGJ8YnIpJy8sZTovJy99LHtiOi8oYnxicikiLyxlOi8iL30sZS5BU00sZS5RU01dfTtyZXR1cm57azp7a2V5d29yZDpifSxjOltyLG4sZS5STSxlLkhDTSxlLk5NXX19KTtobGpzLnJlZ2lzdGVyTGFuZ3VhZ2UoIm1ha2VmaWxlIixmdW5jdGlvbihlKXt2YXIgaT17Y046InZhcmlhYmxlIix2Olt7YjoiXFwkXFwoIitlLlVJUisiXFwpIixjOltlLkJFXX0se2I6L1wkW0AlPD9cXlwrXCpdL31dfSxyPXtjTjoic3RyaW5nIixiOi8iLyxlOi8iLyxjOltlLkJFLGldfSxhPXtjTjoidmFyaWFibGUiLGI6L1wkXChbXHctXStccy8sZTovXCkvLGs6e2J1aWx0X2luOiJzdWJzdCBwYXRzdWJzdCBzdHJpcCBmaW5kc3RyaW5nIGZpbHRlciBmaWx0ZXItb3V0IHNvcnQgd29yZCB3b3JkbGlzdCBmaXJzdHdvcmQgbGFzdHdvcmQgZGlyIG5vdGRpciBzdWZmaXggYmFzZW5hbWUgYWRkc3VmZml4IGFkZHByZWZpeCBqb2luIHdpbGRjYXJkIHJlYWxwYXRoIGFic3BhdGggZXJyb3Igd2FybmluZyBzaGVsbCBvcmlnaW4gZmxhdm9yIGZvcmVhY2ggaWYgb3IgYW5kIGNhbGwgZXZhbCBmaWxlIHZhbHVlIn0sYzpbaV19LG49e2I6Il4iK2UuVUlSKyJcXHMqWzorP10/PSIsaToiXFxuIixyQjohMCxjOlt7YjoiXiIrZS5VSVIsZToiWzorP10/PSIsZUU6ITB9XX0sdD17Y046Im1ldGEiLGI6L15cLlBIT05ZOi8sZTovJC8sazp7Im1ldGEta2V5d29yZCI6Ii5QSE9OWSJ9LGw6L1tcLlx3XSsvfSxsPXtjTjoic2VjdGlvbiIsYjovXlteXHNdKzovLGU6LyQvLGM6W2ldfTtyZXR1cm57YWxpYXNlczpbIm1rIiwibWFrIl0sazoiZGVmaW5lIGVuZGVmIHVuZGVmaW5lIGlmZGVmIGlmbmRlZiBpZmVxIGlmbmVxIGVsc2UgZW5kaWYgaW5jbHVkZSAtaW5jbHVkZSBzaW5jbHVkZSBvdmVycmlkZSBleHBvcnQgdW5leHBvcnQgcHJpdmF0ZSB2cGF0aCIsbDovW1x3LV0rLyxjOltlLkhDTSxpLHIsYSxuLHQsbF19fSk7aGxqcy5yZWdpc3Rlckxhbmd1YWdlKCJqYXZhIixmdW5jdGlvbihlKXt2YXIgYT0iW8OALcq4YS16QS1aXyRdW8OALcq4YS16QS1aXyQwLTldKiIsdD1hKyIoPCIrYSsiKFxccyosXFxzKiIrYSsiKSo+KT8iLHI9ImZhbHNlIHN5bmNocm9uaXplZCBpbnQgYWJzdHJhY3QgZmxvYXQgcHJpdmF0ZSBjaGFyIGJvb2xlYW4gc3RhdGljIG51bGwgaWYgY29uc3QgZm9yIHRydWUgd2hpbGUgbG9uZyBzdHJpY3RmcCBmaW5hbGx5IHByb3RlY3RlZCBpbXBvcnQgbmF0aXZlIGZpbmFsIHZvaWQgZW51bSBlbHNlIGJyZWFrIHRyYW5zaWVudCBjYXRjaCBpbnN0YW5jZW9mIGJ5dGUgc3VwZXIgdm9sYXRpbGUgY2FzZSBhc3NlcnQgc2hvcnQgcGFja2FnZSBkZWZhdWx0IGRvdWJsZSBwdWJsaWMgdHJ5IHRoaXMgc3dpdGNoIGNvbnRpbnVlIHRocm93cyBwcm90ZWN0ZWQgcHVibGljIHByaXZhdGUgbW9kdWxlIHJlcXVpcmVzIGV4cG9ydHMgZG8iLHM9IlxcYigwW2JCXShbMDFdK1swMV9dK1swMV0rfFswMV0rKXwwW3hYXShbYS1mQS1GMC05XStbYS1mQS1GMC05X10rW2EtZkEtRjAtOV0rfFthLWZBLUYwLTldKyl8KChbXFxkXStbXFxkX10rW1xcZF0rfFtcXGRdKykoXFwuKFtcXGRdK1tcXGRfXStbXFxkXSt8W1xcZF0rKSk/fFxcLihbXFxkXStbXFxkX10rW1xcZF0rfFtcXGRdKykpKFtlRV1bLStdP1xcZCspPylbbExmRl0/IixjPXtjTjoibnVtYmVyIixiOnMscjowfTtyZXR1cm57YWxpYXNlczpbImpzcCJdLGs6cixpOi88XC98Iy8sYzpbZS5DKCIvXFwqXFwqIiwiXFwqLyIse3I6MCxjOlt7YjovXHcrQC8scjowfSx7Y046ImRvY3RhZyIsYjoiQFtBLVphLXpdKyJ9XX0pLGUuQ0xDTSxlLkNCQ00sZS5BU00sZS5RU00se2NOOiJjbGFzcyIsYks6ImNsYXNzIGludGVyZmFjZSIsZTovW3s7PV0vLGVFOiEwLGs6ImNsYXNzIGludGVyZmFjZSIsaTovWzoiXFtcXV0vLGM6W3tiSzoiZXh0ZW5kcyBpbXBsZW1lbnRzIn0sZS5VVE1dfSx7Yks6Im5ldyB0aHJvdyByZXR1cm4gZWxzZSIscjowfSx7Y046ImZ1bmN0aW9uIixiOiIoIit0KyJcXHMrKSsiK2UuVUlSKyJcXHMqXFwoIixyQjohMCxlOi9bezs9XS8sZUU6ITAsazpyLGM6W3tiOmUuVUlSKyJcXHMqXFwoIixyQjohMCxyOjAsYzpbZS5VVE1dfSx7Y046InBhcmFtcyIsYjovXCgvLGU6L1wpLyxrOnIscjowLGM6W2UuQVNNLGUuUVNNLGUuQ05NLGUuQ0JDTV19LGUuQ0xDTSxlLkNCQ01dfSxjLHtjTjoibWV0YSIsYjoiQFtBLVphLXpdKyJ9XX19KTtobGpzLnJlZ2lzdGVyTGFuZ3VhZ2UoInN0YW4iLGZ1bmN0aW9uKGUpe3JldHVybntjOltlLkhDTSxlLkNMQ00sZS5DQkNNLHtiOmUuVUlSLGw6ZS5VSVIsazp7bmFtZToiZm9yIGluIHdoaWxlIHJlcGVhdCB1bnRpbCBpZiB0aGVuIGVsc2UiLHN5bWJvbDoiYmVybm91bGxpIGJlcm5vdWxsaV9sb2dpdCBiaW5vbWlhbCBiaW5vbWlhbF9sb2dpdCBiZXRhX2Jpbm9taWFsIGh5cGVyZ2VvbWV0cmljIGNhdGVnb3JpY2FsIGNhdGVnb3JpY2FsX2xvZ2l0IG9yZGVyZWRfbG9naXN0aWMgbmVnX2Jpbm9taWFsIG5lZ19iaW5vbWlhbF8yIG5lZ19iaW5vbWlhbF8yX2xvZyBwb2lzc29uIHBvaXNzb25fbG9nIG11bHRpbm9taWFsIG5vcm1hbCBleHBfbW9kX25vcm1hbCBza2V3X25vcm1hbCBzdHVkZW50X3QgY2F1Y2h5IGRvdWJsZV9leHBvbmVudGlhbCBsb2dpc3RpYyBndW1iZWwgbG9nbm9ybWFsIGNoaV9zcXVhcmUgaW52X2NoaV9zcXVhcmUgc2NhbGVkX2ludl9jaGlfc3F1YXJlIGV4cG9uZW50aWFsIGludl9nYW1tYSB3ZWlidWxsIGZyZWNoZXQgcmF5bGVpZ2ggd2llbmVyIHBhcmV0byBwYXJldG9fdHlwZV8yIHZvbl9taXNlcyB1bmlmb3JtIG11bHRpX25vcm1hbCBtdWx0aV9ub3JtYWxfcHJlYyBtdWx0aV9ub3JtYWxfY2hvbGVza3kgbXVsdGlfZ3AgbXVsdGlfZ3BfY2hvbGVza3kgbXVsdGlfc3R1ZGVudF90IGdhdXNzaWFuX2RsbV9vYnMgZGlyaWNobGV0IGxral9jb3JyIGxral9jb3JyX2Nob2xlc2t5IHdpc2hhcnQgaW52X3dpc2hhcnQiLCJzZWxlY3Rvci10YWciOiJpbnQgcmVhbCB2ZWN0b3Igc2ltcGxleCB1bml0X3ZlY3RvciBvcmRlcmVkIHBvc2l0aXZlX29yZGVyZWQgcm93X3ZlY3RvciBtYXRyaXggY2hvbGVza3lfZmFjdG9yX2NvcnIgY2hvbGVza3lfZmFjdG9yX2NvdiBjb3JyX21hdHJpeCBjb3ZfbWF0cml4Iix0aXRsZToiZnVuY3Rpb25zIG1vZGVsIGRhdGEgcGFyYW1ldGVycyBxdWFudGl0aWVzIHRyYW5zZm9ybWVkIGdlbmVyYXRlZCIsbGl0ZXJhbDoidHJ1ZSBmYWxzZSJ9LHI6MH0se2NOOiJudW1iZXIiLGI6IjBbeFhdWzAtOWEtZkEtRl0rW0xpXT9cXGIiLHI6MH0se2NOOiJudW1iZXIiLGI6IjBbeFhdWzAtOWEtZkEtRl0rW0xpXT9cXGIiLHI6MH0se2NOOiJudW1iZXIiLGI6IlxcZCsoPzpbZUVdWytcXC1dP1xcZCopP0xcXGIiLHI6MH0se2NOOiJudW1iZXIiLGI6IlxcZCtcXC4oPyFcXGQpKD86aVxcYik/IixyOjB9LHtjTjoibnVtYmVyIixiOiJcXGQrKD86XFwuXFxkKik/KD86W2VFXVsrXFwtXT9cXGQqKT9pP1xcYiIscjowfSx7Y046Im51bWJlciIsYjoiXFwuXFxkKyg/OltlRV1bK1xcLV0/XFxkKik/aT9cXGIiLHI6MH1dfX0pO2hsanMucmVnaXN0ZXJMYW5ndWFnZSgiamF2YXNjcmlwdCIsZnVuY3Rpb24oZSl7dmFyIHI9IltBLVphLXokX11bMC05QS1aYS16JF9dKiIsdD17a2V5d29yZDoiaW4gb2YgaWYgZm9yIHdoaWxlIGZpbmFsbHkgdmFyIG5ldyBmdW5jdGlvbiBkbyByZXR1cm4gdm9pZCBlbHNlIGJyZWFrIGNhdGNoIGluc3RhbmNlb2Ygd2l0aCB0aHJvdyBjYXNlIGRlZmF1bHQgdHJ5IHRoaXMgc3dpdGNoIGNvbnRpbnVlIHR5cGVvZiBkZWxldGUgbGV0IHlpZWxkIGNvbnN0IGV4cG9ydCBzdXBlciBkZWJ1Z2dlciBhcyBhc3luYyBhd2FpdCBzdGF0aWMgaW1wb3J0IGZyb20gYXMiLGxpdGVyYWw6InRydWUgZmFsc2UgbnVsbCB1bmRlZmluZWQgTmFOIEluZmluaXR5IixidWlsdF9pbjoiZXZhbCBpc0Zpbml0ZSBpc05hTiBwYXJzZUZsb2F0IHBhcnNlSW50IGRlY29kZVVSSSBkZWNvZGVVUklDb21wb25lbnQgZW5jb2RlVVJJIGVuY29kZVVSSUNvbXBvbmVudCBlc2NhcGUgdW5lc2NhcGUgT2JqZWN0IEZ1bmN0aW9uIEJvb2xlYW4gRXJyb3IgRXZhbEVycm9yIEludGVybmFsRXJyb3IgUmFuZ2VFcnJvciBSZWZlcmVuY2VFcnJvciBTdG9wSXRlcmF0aW9uIFN5bnRheEVycm9yIFR5cGVFcnJvciBVUklFcnJvciBOdW1iZXIgTWF0aCBEYXRlIFN0cmluZyBSZWdFeHAgQXJyYXkgRmxvYXQzMkFycmF5IEZsb2F0NjRBcnJheSBJbnQxNkFycmF5IEludDMyQXJyYXkgSW50OEFycmF5IFVpbnQxNkFycmF5IFVpbnQzMkFycmF5IFVpbnQ4QXJyYXkgVWludDhDbGFtcGVkQXJyYXkgQXJyYXlCdWZmZXIgRGF0YVZpZXcgSlNPTiBJbnRsIGFyZ3VtZW50cyByZXF1aXJlIG1vZHVsZSBjb25zb2xlIHdpbmRvdyBkb2N1bWVudCBTeW1ib2wgU2V0IE1hcCBXZWFrU2V0IFdlYWtNYXAgUHJveHkgUmVmbGVjdCBQcm9taXNlIn0sYT17Y046Im51bWJlciIsdjpbe2I6IlxcYigwW2JCXVswMV0rKSJ9LHtiOiJcXGIoMFtvT11bMC03XSspIn0se2I6ZS5DTlJ9XSxyOjB9LG49e2NOOiJzdWJzdCIsYjoiXFwkXFx7IixlOiJcXH0iLGs6dCxjOltdfSxjPXtjTjoic3RyaW5nIixiOiJgIixlOiJgIixjOltlLkJFLG5dfTtuLmM9W2UuQVNNLGUuUVNNLGMsYSxlLlJNXTt2YXIgcz1uLmMuY29uY2F0KFtlLkNCQ00sZS5DTENNXSk7cmV0dXJue2FsaWFzZXM6WyJqcyIsImpzeCJdLGs6dCxjOlt7Y046Im1ldGEiLHI6MTAsYjovXlxzKlsnIl11c2UgKHN0cmljdHxhc20pWyciXS99LHtjTjoibWV0YSIsYjovXiMhLyxlOi8kL30sZS5BU00sZS5RU00sYyxlLkNMQ00sZS5DQkNNLGEse2I6L1t7LF1ccyovLHI6MCxjOlt7YjpyKyJcXHMqOiIsckI6ITAscjowLGM6W3tjTjoiYXR0ciIsYjpyLHI6MH1dfV19LHtiOiIoIitlLlJTUisifFxcYihjYXNlfHJldHVybnx0aHJvdylcXGIpXFxzKiIsazoicmV0dXJuIHRocm93IGNhc2UiLGM6W2UuQ0xDTSxlLkNCQ00sZS5STSx7Y046ImZ1bmN0aW9uIixiOiIoXFwoLio/XFwpfCIrcisiKVxccyo9PiIsckI6ITAsZToiXFxzKj0+IixjOlt7Y046InBhcmFtcyIsdjpbe2I6cn0se2I6L1woXHMqXCkvfSx7YjovXCgvLGU6L1wpLyxlQjohMCxlRTohMCxrOnQsYzpzfV19XX0se2I6LzwvLGU6LyhcL1x3K3xcdytcLyk+LyxzTDoieG1sIixjOlt7YjovPFx3K1xzKlwvPi8sc2tpcDohMH0se2I6LzxcdysvLGU6LyhcL1x3K3xcdytcLyk+Lyxza2lwOiEwLGM6W3tiOi88XHcrXHMqXC8+Lyxza2lwOiEwfSwic2VsZiJdfV19XSxyOjB9LHtjTjoiZnVuY3Rpb24iLGJLOiJmdW5jdGlvbiIsZTovXHsvLGVFOiEwLGM6W2UuaW5oZXJpdChlLlRNLHtiOnJ9KSx7Y046InBhcmFtcyIsYjovXCgvLGU6L1wpLyxlQjohMCxlRTohMCxjOnN9XSxpOi9cW3wlL30se2I6L1wkWyguXS99LGUuTUVUSE9EX0dVQVJELHtjTjoiY2xhc3MiLGJLOiJjbGFzcyIsZTovW3s7PV0vLGVFOiEwLGk6L1s6IlxbXF1dLyxjOlt7Yks6ImV4dGVuZHMifSxlLlVUTV19LHtiSzoiY29uc3RydWN0b3IiLGU6L1x7LyxlRTohMH1dLGk6LyMoPyEhKS99fSk7aGxqcy5yZWdpc3Rlckxhbmd1YWdlKCJ0ZXgiLGZ1bmN0aW9uKGMpe3ZhciBlPXtjTjoidGFnIixiOi9cXC8scjowLGM6W3tjTjoibmFtZSIsdjpbe2I6L1thLXpBLVrQsC3Rj9CQLdGPXStbKl0/L30se2I6L1teYS16QS1a0LAt0Y/QkC3RjzAtOV0vfV0sc3RhcnRzOntlVzohMCxyOjAsYzpbe2NOOiJzdHJpbmciLHY6W3tiOi9cWy8sZTovXF0vfSx7YjovXHsvLGU6L1x9L31dfSx7YjovXHMqPVxzKi8sZVc6ITAscjowLGM6W3tjTjoibnVtYmVyIixiOi8tP1xkKlwuP1xkKyhwdHxwY3xtbXxjbXxpbnxkZHxjY3xleHxlbSk/L31dfV19fV19O3JldHVybntjOltlLHtjTjoiZm9ybXVsYSIsYzpbZV0scjowLHY6W3tiOi9cJFwkLyxlOi9cJFwkL30se2I6L1wkLyxlOi9cJC99XX0sYy5DKCIlIiwiJCIse3I6MH0pXX19KTtobGpzLnJlZ2lzdGVyTGFuZ3VhZ2UoInhtbCIsZnVuY3Rpb24ocyl7dmFyIGU9IltBLVphLXowLTlcXC5fOi1dKyIsdD17ZVc6ITAsaTovPC8scjowLGM6W3tjTjoiYXR0ciIsYjplLHI6MH0se2I6Lz1ccyovLHI6MCxjOlt7Y046InN0cmluZyIsZW5kc1BhcmVudDohMCx2Olt7YjovIi8sZTovIi99LHtiOi8nLyxlOi8nL30se2I6L1teXHMiJz08PmBdKy99XX1dfV19O3JldHVybnthbGlhc2VzOlsiaHRtbCIsInhodG1sIiwicnNzIiwiYXRvbSIsInhqYiIsInhzZCIsInhzbCIsInBsaXN0Il0sY0k6ITAsYzpbe2NOOiJtZXRhIixiOiI8IURPQ1RZUEUiLGU6Ij4iLHI6MTAsYzpbe2I6IlxcWyIsZToiXFxdIn1dfSxzLkMoIjwhLS0iLCItLT4iLHtyOjEwfSkse2I6IjxcXCFcXFtDREFUQVxcWyIsZToiXFxdXFxdPiIscjoxMH0se2I6LzxcPyhwaHApPy8sZTovXD8+LyxzTDoicGhwIixjOlt7YjoiL1xcKiIsZToiXFwqLyIsc2tpcDohMH1dfSx7Y046InRhZyIsYjoiPHN0eWxlKD89XFxzfD58JCkiLGU6Ij4iLGs6e25hbWU6InN0eWxlIn0sYzpbdF0sc3RhcnRzOntlOiI8L3N0eWxlPiIsckU6ITAsc0w6WyJjc3MiLCJ4bWwiXX19LHtjTjoidGFnIixiOiI8c2NyaXB0KD89XFxzfD58JCkiLGU6Ij4iLGs6e25hbWU6InNjcmlwdCJ9LGM6W3RdLHN0YXJ0czp7ZToiPC9zY3JpcHQ+IixyRTohMCxzTDpbImFjdGlvbnNjcmlwdCIsImphdmFzY3JpcHQiLCJoYW5kbGViYXJzIiwieG1sIl19fSx7Y046Im1ldGEiLHY6W3tiOi88XD94bWwvLGU6L1w/Pi8scjoxMH0se2I6LzxcP1x3Ky8sZTovXD8+L31dfSx7Y046InRhZyIsYjoiPC8/IixlOiIvPz4iLGM6W3tjTjoibmFtZSIsYjovW15cLz48XHNdKy8scjowfSx0XX1dfX0pO2hsanMucmVnaXN0ZXJMYW5ndWFnZSgibWFya2Rvd24iLGZ1bmN0aW9uKGUpe3JldHVybnthbGlhc2VzOlsibWQiLCJta2Rvd24iLCJta2QiXSxjOlt7Y046InNlY3Rpb24iLHY6W3tiOiJeI3sxLDZ9IixlOiIkIn0se2I6Il4uKz9cXG5bPS1dezIsfSQifV19LHtiOiI8IixlOiI+IixzTDoieG1sIixyOjB9LHtjTjoiYnVsbGV0IixiOiJeKFsqKy1dfChcXGQrXFwuKSlcXHMrIn0se2NOOiJzdHJvbmciLGI6IlsqX117Mn0uKz9bKl9dezJ9In0se2NOOiJlbXBoYXNpcyIsdjpbe2I6IlxcKi4rP1xcKiJ9LHtiOiJfLis/XyIscjowfV19LHtjTjoicXVvdGUiLGI6Il4+XFxzKyIsZToiJCJ9LHtjTjoiY29kZSIsdjpbe2I6Il5gYGB3KnMqJCIsZToiXmBgYHMqJCJ9LHtiOiJgLis/YCJ9LHtiOiJeKCB7NH18CSkiLGU6IiQiLHI6MH1dfSx7YjoiXlstXFwqXXszLH0iLGU6IiQifSx7YjoiXFxbLis/XFxdW1xcKFxcW10uKj9bXFwpXFxdXSIsckI6ITAsYzpbe2NOOiJzdHJpbmciLGI6IlxcWyIsZToiXFxdIixlQjohMCxyRTohMCxyOjB9LHtjTjoibGluayIsYjoiXFxdXFwoIixlOiJcXCkiLGVCOiEwLGVFOiEwfSx7Y046InN5bWJvbCIsYjoiXFxdXFxbIixlOiJcXF0iLGVCOiEwLGVFOiEwfV0scjoxMH0se2I6L15cW1teXG5dK1xdOi8sckI6ITAsYzpbe2NOOiJzeW1ib2wiLGI6L1xbLyxlOi9cXS8sZUI6ITAsZUU6ITB9LHtjTjoibGluayIsYjovOlxzKi8sZTovJC8sZUI6ITB9XX1dfX0pO2hsanMucmVnaXN0ZXJMYW5ndWFnZSgianNvbiIsZnVuY3Rpb24oZSl7dmFyIGk9e2xpdGVyYWw6InRydWUgZmFsc2UgbnVsbCJ9LG49W2UuUVNNLGUuQ05NXSxyPXtlOiIsIixlVzohMCxlRTohMCxjOm4sazppfSx0PXtiOiJ7IixlOiJ9IixjOlt7Y046ImF0dHIiLGI6LyIvLGU6LyIvLGM6W2UuQkVdLGk6IlxcbiJ9LGUuaW5oZXJpdChyLHtiOi86L30pXSxpOiJcXFMifSxjPXtiOiJcXFsiLGU6IlxcXSIsYzpbZS5pbmhlcml0KHIpXSxpOiJcXFMifTtyZXR1cm4gbi5zcGxpY2Uobi5sZW5ndGgsMCx0LGMpLHtjOm4sazppLGk6IlxcUyJ9fSk7"></script> <style type="text/css">code{white-space: pre;}</style> <style type="text/css"> @@ -35,10 +35,12 @@ } </style> <script type="text/javascript"> -if (window.hljs && document.readyState && document.readyState === "complete") { - window.setTimeout(function() { - hljs.initHighlighting(); - }, 0); +if (window.hljs) { + hljs.configure({languages: []}); + hljs.initHighlightingOnLoad(); + if (document.readyState && document.readyState === "complete") { + window.setTimeout(function() { hljs.initHighlighting(); }, 0); + } } </script> @@ -251,17 +253,17 @@ <h2>Summary of DTU</h2> <pre class="r"><code># A really simple tally of the outcome. print( dtu_summary(mydtu) )</code></pre> <pre><code>## category tally -## 1 DTU genes (gene test) 1 -## 2 non-DTU genes (gene test) 2 +## 1 DTU genes (gene test) 3 +## 2 non-DTU genes (gene test) 1 ## 3 ineligible genes (gene test) 7 -## 4 DTU genes (transc. test) 1 -## 5 non-DTU genes (transc. test) 3 +## 4 DTU genes (transc. test) 3 +## 5 non-DTU genes (transc. test) 2 ## 6 ineligible genes (transc. test) 6 -## 7 DTU genes (both tests) 1 -## 8 non-DTU genes (both tests) 2 +## 7 DTU genes (both tests) 3 +## 8 non-DTU genes (both tests) 1 ## 9 ineligible genes (both tests) 7 -## 10 DTU transcripts 3 -## 11 non-DTU transcripts 7 +## 10 DTU transcripts 7 +## 11 non-DTU transcripts 5 ## 12 ineligible transcripts 11</code></pre> <p>RATs tests for DTU at both the gene level and the transcript level. Therefore, as of v0.4.2, <code>dtu_summury()</code> will display the DTU genes according to either method as well as the intersection of the two.</p> <p>The <code>get_dtu_ids()</code> function lists the coresponding identifiers per category. As of <code>v0.4.2</code> it uses the same category names as <code>dtu_summury()</code> for consistency and clarity.</p> @@ -269,37 +271,37 @@ <h2>Summary of DTU</h2> ids <- get_dtu_ids(mydtu) print( ids )</code></pre> <pre><code>## $`DTU genes (gene test)` -## [1] "MIX6" +## [1] "1A1B" "MIX6" "CC" ## ## $`non-DTU genes (gene test)` -## [1] "CC" "NN" +## [1] "NN" ## ## $`ineligible genes (gene test)` ## [1] "LC" "1A1N" "1B1C" "1D1C" "ALLA" "ALLB" "NIB" ## ## $`DTU genes (transc. test)` -## [1] "MIX6" +## [1] "1A1B" "MIX6" "CC" ## ## $`non-DTU genes (transc. test)` -## [1] "LC" "CC" "NN" +## [1] "LC" "NN" ## ## $`ineligible genes (transc. test)` ## [1] "1A1N" "1B1C" "1D1C" "ALLA" "ALLB" "NIB" ## ## $`DTU genes (both tests)` -## [1] "MIX6" +## [1] "1A1B" "MIX6" "CC" ## ## $`non-DTU genes (both tests)` -## [1] "CC" "NN" +## [1] "NN" ## ## $`ineligible genes (both tests)` ## [1] "LC" "1A1N" "1B1C" "1D1C" "ALLA" "ALLB" "NIB" ## ## $`DTU transcripts` -## [1] "MIX6.c1" "MIX6.c2" "MIX6.c4" +## [1] "1A1B.a" "1A1B.b" "MIX6.c1" "MIX6.c2" "MIX6.c4" "CC_a" "CC_b" ## ## $`non-DTU transcripts` -## [1] "LC2" "CC_a" "CC_b" "MIX6.c3" "2NN" "1NN" "MIX6.nc" +## [1] "LC2" "MIX6.c3" "2NN" "1NN" "MIX6.nc" ## ## $`ineligible transcripts` ## [1] "LC1" "1A1N-2" "1B1C.1" "1B1C.2" "1D1C:one" "1D1C:two" @@ -312,29 +314,29 @@ <h2>Summary of isoform switching</h2> <pre class="r"><code># A tally of genes switching isoform ranks. print( dtu_switch_summary(mydtu) )</code></pre> <pre><code>## category genes -## 1 Primary switch (gene test) 1 +## 1 Primary switch (gene test) 2 ## 2 Non-primary switch (gene test) 1 -## 3 Primary switch (transc. test) 1 +## 3 Primary switch (transc. test) 2 ## 4 Non-primary switch (transc. test) 1 -## 5 Primary switch (both tests) 1 +## 5 Primary switch (both tests) 2 ## 6 Non-primary switch (both tests) 1</code></pre> <pre class="r"><code># The gene IDs displaying isoform switching. ids <- get_switch_ids(mydtu) print( ids )</code></pre> <pre><code>## $`Primary switch (gene test)` -## [1] "MIX6" +## [1] "1A1B" "MIX6" ## ## $`Non-primary switch (gene test)` ## [1] "MIX6" ## ## $`Primary switch (transc. test)` -## [1] "MIX6" +## [1] "1A1B" "MIX6" ## ## $`Non-primary switch (transc. test)` ## [1] "MIX6" ## ## $`Primary switch (both tests)` -## [1] "MIX6" +## [1] "1A1B" "MIX6" ## ## $`Non-primary switch (both tests)` ## [1] "MIX6"</code></pre> @@ -349,11 +351,15 @@ <h2>Summary of DTU plurality</h2> <pre class="r"><code># A tally of genes switching isoform ranks. print( dtu_plurality_summary(mydtu) )</code></pre> <pre><code>## isof_affected num_of_genes -## 1 3 1</code></pre> +## 1 2 2 +## 2 3 1</code></pre> <pre class="r"><code># The gene IDs displaying isoform switching. ids <- get_plurality_ids(mydtu) print( ids )</code></pre> -<pre><code>## $`3` +<pre><code>## $`2` +## [1] "1A1B" "CC" +## +## $`3` ## [1] "MIX6"</code></pre> <p>These give you the number and IDs of genes in which 2, 3, etc isoforms show DTU.</p> <p>For example, one gene (“MIX6”) is showing significant change in 3 of its isoforms.</p> @@ -511,13 +517,13 @@ <h2>Abundances</h2> </ol> <pre class="r"><code># Abundance table for first condition. print( head(mydtu$Abundances[[1]]) )</code></pre> -<pre><code>## V1 V2 target_id parent_id -## 1: 19.66667 15.5 1A1N-2 1A1N -## 2: NA NA 1B1C.1 1B1C -## 3: 52.33333 53.5 1B1C.2 1B1C -## 4: 0.00000 0.0 1D1C:one 1D1C -## 5: 76.00000 78.0 1D1C:two 1D1C -## 6: 50.00000 45.0 ALLA1 ALLA</code></pre> +<pre><code>## V1 V2 target_id parent_id +## 1: 84.33333 132.5 1A1B.a 1A1B +## 2: 0.00000 0.0 1A1B.b 1A1B +## 3: 19.66667 15.5 1A1N-2 1A1N +## 4: NA NA 1B1C.1 1B1C +## 5: 52.33333 53.5 1B1C.2 1B1C +## 6: 0.00000 0.0 1D1C:one 1D1C</code></pre> <hr /> </div> </div> diff --git a/inst/doc/plots.html b/inst/doc/plots.html index 4d2067d..a26a0cd 100644 --- a/inst/doc/plots.html +++ b/inst/doc/plots.html @@ -25,8 +25,8 @@ <link href="data:text/css;charset=utf-8,%0A%0A%2Etocify%20%7B%0Awidth%3A%2020%25%3B%0Amax%2Dheight%3A%2090%25%3B%0Aoverflow%3A%20auto%3B%0Amargin%2Dleft%3A%202%25%3B%0Aposition%3A%20fixed%3B%0Aborder%3A%201px%20solid%20%23ccc%3B%0Awebkit%2Dborder%2Dradius%3A%206px%3B%0Amoz%2Dborder%2Dradius%3A%206px%3B%0Aborder%2Dradius%3A%206px%3B%0A%7D%0A%0A%2Etocify%20ul%2C%20%2Etocify%20li%20%7B%0Alist%2Dstyle%3A%20none%3B%0Amargin%3A%200%3B%0Apadding%3A%200%3B%0Aborder%3A%20none%3B%0Aline%2Dheight%3A%2030px%3B%0A%7D%0A%0A%2Etocify%2Dheader%20%7B%0Atext%2Dindent%3A%2010px%3B%0A%7D%0A%0A%2Etocify%2Dsubheader%20%7B%0Atext%2Dindent%3A%2020px%3B%0Adisplay%3A%20none%3B%0A%7D%0A%0A%2Etocify%2Dsubheader%20li%20%7B%0Afont%2Dsize%3A%2012px%3B%0A%7D%0A%0A%2Etocify%2Dsubheader%20%2Etocify%2Dsubheader%20%7B%0Atext%2Dindent%3A%2030px%3B%0A%7D%0A%0A%2Etocify%2Dsubheader%20%2Etocify%2Dsubheader%20%2Etocify%2Dsubheader%20%7B%0Atext%2Dindent%3A%2040px%3B%0A%7D%0A%0A%2Etocify%20%2Etocify%2Ditem%20%3E%20a%2C%20%2Etocify%20%2Enav%2Dlist%20%2Enav%2Dheader%20%7B%0Amargin%3A%200px%3B%0A%7D%0A%0A%2Etocify%20%2Etocify%2Ditem%20a%2C%20%2Etocify%20%2Elist%2Dgroup%2Ditem%20%7B%0Apadding%3A%205px%3B%0A%7D%0A%2Etocify%20%2Enav%2Dpills%20%3E%20li%20%7B%0Afloat%3A%20none%3B%0A%7D%0A%0A%0A" rel="stylesheet" /> <script src="data:application/x-javascript;base64,LyoganF1ZXJ5IFRvY2lmeSAtIHYxLjkuMSAtIDIwMTMtMTAtMjIKICogaHR0cDovL3d3dy5ncmVnZnJhbmtvLmNvbS9qcXVlcnkudG9jaWZ5LmpzLwogKiBDb3B5cmlnaHQgKGMpIDIwMTMgR3JlZyBGcmFua287IExpY2Vuc2VkIE1JVCAqLwoKLy8gSW1tZWRpYXRlbHktSW52b2tlZCBGdW5jdGlvbiBFeHByZXNzaW9uIChJSUZFKSBbQmVuIEFsbWFuIEJsb2cgUG9zdF0oaHR0cDovL2JlbmFsbWFuLmNvbS9uZXdzLzIwMTAvMTEvaW1tZWRpYXRlbHktaW52b2tlZC1mdW5jdGlvbi1leHByZXNzaW9uLykgdGhhdCBjYWxscyBhbm90aGVyIElJRkUgdGhhdCBjb250YWlucyBhbGwgb2YgdGhlIHBsdWdpbiBsb2dpYy4gIEkgdXNlZCB0aGlzIHBhdHRlcm4gc28gdGhhdCBhbnlvbmUgdmlld2luZyB0aGlzIGNvZGUgd291bGQgbm90IGhhdmUgdG8gc2Nyb2xsIHRvIHRoZSBib3R0b20gb2YgdGhlIHBhZ2UgdG8gdmlldyB0aGUgbG9jYWwgcGFyYW1ldGVycyB0aGF0IHdlcmUgcGFzc2VkIHRvIHRoZSBtYWluIElJRkUuCihmdW5jdGlvbih0b2NpZnkpIHsKCiAgICAvLyBFQ01BU2NyaXB0IDUgU3RyaWN0IE1vZGU6IFtKb2huIFJlc2lnIEJsb2cgUG9zdF0oaHR0cDovL2Vqb2huLm9yZy9ibG9nL2VjbWFzY3JpcHQtNS1zdHJpY3QtbW9kZS1qc29uLWFuZC1tb3JlLykKICAgICJ1c2Ugc3RyaWN0IjsKCiAgICAvLyBDYWxscyB0aGUgc2Vjb25kIElJRkUgYW5kIGxvY2FsbHkgcGFzc2VzIGluIHRoZSBnbG9iYWwgalF1ZXJ5LCB3aW5kb3csIGFuZCBkb2N1bWVudCBvYmplY3RzCiAgICB0b2NpZnkod2luZG93LmpRdWVyeSwgd2luZG93LCBkb2N1bWVudCk7CgogIH0KCiAgLy8gTG9jYWxseSBwYXNzZXMgaW4gYGpRdWVyeWAsIHRoZSBgd2luZG93YCBvYmplY3QsIHRoZSBgZG9jdW1lbnRgIG9iamVjdCwgYW5kIGFuIGB1bmRlZmluZWRgIHZhcmlhYmxlLiAgVGhlIGBqUXVlcnlgLCBgd2luZG93YCBhbmQgYGRvY3VtZW50YCBvYmplY3RzIGFyZSBwYXNzZWQgaW4gbG9jYWxseSwgdG8gaW1wcm92ZSBwZXJmb3JtYW5jZSwgc2luY2UgamF2YXNjcmlwdCBmaXJzdCBzZWFyY2hlcyBmb3IgYSB2YXJpYWJsZSBtYXRjaCB3aXRoaW4gdGhlIGxvY2FsIHZhcmlhYmxlcyBzZXQgYmVmb3JlIHNlYXJjaGluZyB0aGUgZ2xvYmFsIHZhcmlhYmxlcyBzZXQuICBBbGwgb2YgdGhlIGdsb2JhbCB2YXJpYWJsZXMgYXJlIGFsc28gcGFzc2VkIGluIGxvY2FsbHkgdG8gYmUgbWluaWZpZXIgZnJpZW5kbHkuIGB1bmRlZmluZWRgIGNhbiBiZSBwYXNzZWQgaW4gbG9jYWxseSwgYmVjYXVzZSBpdCBpcyBub3QgYSByZXNlcnZlZCB3b3JkIGluIEphdmFTY3JpcHQuCiAgKGZ1bmN0aW9uKCQsIHdpbmRvdywgZG9jdW1lbnQsIHVuZGVmaW5lZCkgewoKICAgIC8vIEVDTUFTY3JpcHQgNSBTdHJpY3QgTW9kZTogW0pvaG4gUmVzaWcgQmxvZyBQb3N0XShodHRwOi8vZWpvaG4ub3JnL2Jsb2cvZWNtYXNjcmlwdC01LXN0cmljdC1tb2RlLWpzb24tYW5kLW1vcmUvKQogICAgInVzZSBzdHJpY3QiOwoKICAgIHZhciB0b2NDbGFzc05hbWUgPSAidG9jaWZ5IiwKICAgICAgdG9jQ2xhc3MgPSAiLiIgKyB0b2NDbGFzc05hbWUsCiAgICAgIHRvY0ZvY3VzQ2xhc3NOYW1lID0gInRvY2lmeS1mb2N1cyIsCiAgICAgIHRvY0hvdmVyQ2xhc3NOYW1lID0gInRvY2lmeS1ob3ZlciIsCiAgICAgIGhpZGVUb2NDbGFzc05hbWUgPSAidG9jaWZ5LWhpZGUiLAogICAgICBoaWRlVG9jQ2xhc3MgPSAiLiIgKyBoaWRlVG9jQ2xhc3NOYW1lLAogICAgICBoZWFkZXJDbGFzc05hbWUgPSAidG9jaWZ5LWhlYWRlciIsCiAgICAgIGhlYWRlckNsYXNzID0gIi4iICsgaGVhZGVyQ2xhc3NOYW1lLAogICAgICBzdWJoZWFkZXJDbGFzc05hbWUgPSAidG9jaWZ5LXN1YmhlYWRlciIsCiAgICAgIHN1YmhlYWRlckNsYXNzID0gIi4iICsgc3ViaGVhZGVyQ2xhc3NOYW1lLAogICAgICBpdGVtQ2xhc3NOYW1lID0gInRvY2lmeS1pdGVtIiwKICAgICAgaXRlbUNsYXNzID0gIi4iICsgaXRlbUNsYXNzTmFtZSwKICAgICAgZXh0ZW5kUGFnZUNsYXNzTmFtZSA9ICJ0b2NpZnktZXh0ZW5kLXBhZ2UiLAogICAgICBleHRlbmRQYWdlQ2xhc3MgPSAiLiIgKyBleHRlbmRQYWdlQ2xhc3NOYW1lOwoKICAgIC8vIENhbGxpbmcgdGhlIGpRdWVyeVVJIFdpZGdldCBGYWN0b3J5IE1ldGhvZAogICAgJC53aWRnZXQoInRvYy50b2NpZnkiLCB7CgogICAgICAvL1BsdWdpbiB2ZXJzaW9uCiAgICAgIHZlcnNpb246ICIxLjkuMSIsCgogICAgICAvLyBUaGVzZSBvcHRpb25zIHdpbGwgYmUgdXNlZCBhcyBkZWZhdWx0cwogICAgICBvcHRpb25zOiB7CgogICAgICAgIC8vICoqY29udGV4dCoqOiBBY2NlcHRzIFN0cmluZzogQW55IGpRdWVyeSBzZWxlY3RvcgogICAgICAgIC8vIFRoZSBjb250YWluZXIgZWxlbWVudCB0aGF0IGhvbGRzIGFsbCBvZiB0aGUgZWxlbWVudHMgdXNlZCB0byBnZW5lcmF0ZSB0aGUgdGFibGUgb2YgY29udGVudHMKICAgICAgICBjb250ZXh0OiAiYm9keSIsCgogICAgICAgIC8vICoqaWdub3JlU2VsZWN0b3IqKjogQWNjZXB0cyBTdHJpbmc6IEFueSBqUXVlcnkgc2VsZWN0b3IKICAgICAgICAvLyBBIHNlbGVjdG9yIHRvIGFueSBlbGVtZW50IHRoYXQgd291bGQgYmUgbWF0Y2hlZCBieSBzZWxlY3RvcnMgdGhhdCB5b3Ugd2lzaCB0byBiZSBpZ25vcmVkCiAgICAgICAgaWdub3JlU2VsZWN0b3I6IG51bGwsCgogICAgICAgIC8vICoqc2VsZWN0b3JzKio6IEFjY2VwdHMgYW4gQXJyYXkgb2YgU3RyaW5nczogQW55IGpRdWVyeSBzZWxlY3RvcnMKICAgICAgICAvLyBUaGUgZWxlbWVudCdzIHVzZWQgdG8gZ2VuZXJhdGUgdGhlIHRhYmxlIG9mIGNvbnRlbnRzLiAgVGhlIG9yZGVyIGlzIHZlcnkgaW1wb3J0YW50IHNpbmNlIGl0IHdpbGwgZGV0ZXJtaW5lIHRoZSB0YWJsZSBvZiBjb250ZW50J3MgbmVzdGluZyBzdHJ1Y3R1cmUKICAgICAgICBzZWxlY3RvcnM6ICJoMSwgaDIsIGgzIiwKCiAgICAgICAgLy8gKipzaG93QW5kSGlkZSoqOiBBY2NlcHRzIGEgYm9vbGVhbjogdHJ1ZSBvciBmYWxzZQogICAgICAgIC8vIFVzZWQgdG8gZGV0ZXJtaW5lIGlmIGVsZW1lbnRzIHNob3VsZCBiZSBzaG93biBhbmQgaGlkZGVuCiAgICAgICAgc2hvd0FuZEhpZGU6IHRydWUsCgogICAgICAgIC8vICoqc2hvd0VmZmVjdCoqOiBBY2NlcHRzIFN0cmluZzogIm5vbmUiLCAiZmFkZUluIiwgInNob3ciLCBvciAic2xpZGVEb3duIgogICAgICAgIC8vIFVzZWQgdG8gZGlzcGxheSBhbnkgb2YgdGhlIHRhYmxlIG9mIGNvbnRlbnRzIG5lc3RlZCBpdGVtcwogICAgICAgIHNob3dFZmZlY3Q6ICJzbGlkZURvd24iLAoKICAgICAgICAvLyAqKnNob3dFZmZlY3RTcGVlZCoqOiBBY2NlcHRzIE51bWJlciAobWlsbGlzZWNvbmRzKSBvciBTdHJpbmc6ICJzbG93IiwgIm1lZGl1bSIsIG9yICJmYXN0IgogICAgICAgIC8vIFRoZSB0aW1lIGR1cmF0aW9uIG9mIHRoZSBzaG93IGFuaW1hdGlvbgogICAgICAgIHNob3dFZmZlY3RTcGVlZDogIm1lZGl1bSIsCgogICAgICAgIC8vICoqaGlkZUVmZmVjdCoqOiBBY2NlcHRzIFN0cmluZzogIm5vbmUiLCAiZmFkZU91dCIsICJoaWRlIiwgb3IgInNsaWRlVXAiCiAgICAgICAgLy8gVXNlZCB0byBoaWRlIGFueSBvZiB0aGUgdGFibGUgb2YgY29udGVudHMgbmVzdGVkIGl0ZW1zCiAgICAgICAgaGlkZUVmZmVjdDogInNsaWRlVXAiLAoKICAgICAgICAvLyAqKmhpZGVFZmZlY3RTcGVlZCoqOiBBY2NlcHRzIE51bWJlciAobWlsbGlzZWNvbmRzKSBvciBTdHJpbmc6ICJzbG93IiwgIm1lZGl1bSIsIG9yICJmYXN0IgogICAgICAgIC8vIFRoZSB0aW1lIGR1cmF0aW9uIG9mIHRoZSBoaWRlIGFuaW1hdGlvbgogICAgICAgIGhpZGVFZmZlY3RTcGVlZDogIm1lZGl1bSIsCgogICAgICAgIC8vICoqc21vb3RoU2Nyb2xsKio6IEFjY2VwdHMgYSBib29sZWFuOiB0cnVlIG9yIGZhbHNlCiAgICAgICAgLy8gRGV0ZXJtaW5lcyBpZiBhIGpRdWVyeSBhbmltYXRpb24gc2hvdWxkIGJlIHVzZWQgdG8gc2Nyb2xsIHRvIHNwZWNpZmljIHRhYmxlIG9mIGNvbnRlbnRzIGl0ZW1zIG9uIHRoZSBwYWdlCiAgICAgICAgc21vb3RoU2Nyb2xsOiB0cnVlLAoKICAgICAgICAvLyAqKnNtb290aFNjcm9sbFNwZWVkKio6IEFjY2VwdHMgTnVtYmVyIChtaWxsaXNlY29uZHMpIG9yIFN0cmluZzogInNsb3ciLCAibWVkaXVtIiwgb3IgImZhc3QiCiAgICAgICAgLy8gVGhlIHRpbWUgZHVyYXRpb24gb2YgdGhlIHNtb290aFNjcm9sbCBhbmltYXRpb24KICAgICAgICBzbW9vdGhTY3JvbGxTcGVlZDogIm1lZGl1bSIsCgogICAgICAgIC8vICoqc2Nyb2xsVG8qKjogQWNjZXB0cyBOdW1iZXIgKHBpeGVscykKICAgICAgICAvLyBUaGUgYW1vdW50IG9mIHNwYWNlIGJldHdlZW4gdGhlIHRvcCBvZiBwYWdlIGFuZCB0aGUgc2VsZWN0ZWQgdGFibGUgb2YgY29udGVudHMgaXRlbSBhZnRlciB0aGUgcGFnZSBoYXMgYmVlbiBzY3JvbGxlZAogICAgICAgIHNjcm9sbFRvOiAwLAoKICAgICAgICAvLyAqKnNob3dBbmRIaWRlT25TY3JvbGwqKjogQWNjZXB0cyBhIGJvb2xlYW46IHRydWUgb3IgZmFsc2UKICAgICAgICAvLyBEZXRlcm1pbmVzIGlmIHRhYmxlIG9mIGNvbnRlbnRzIG5lc3RlZCBpdGVtcyBzaG91bGQgYmUgc2hvd24gYW5kIGhpZGRlbiB3aGlsZSBzY3JvbGxpbmcKICAgICAgICBzaG93QW5kSGlkZU9uU2Nyb2xsOiB0cnVlLAoKICAgICAgICAvLyAqKmhpZ2hsaWdodE9uU2Nyb2xsKio6IEFjY2VwdHMgYSBib29sZWFuOiB0cnVlIG9yIGZhbHNlCiAgICAgICAgLy8gRGV0ZXJtaW5lcyBpZiB0YWJsZSBvZiBjb250ZW50cyBuZXN0ZWQgaXRlbXMgc2hvdWxkIGJlIGhpZ2hsaWdodGVkIChzZXQgdG8gYSBkaWZmZXJlbnQgY29sb3IpIHdoaWxlIHNjcm9sbGluZwogICAgICAgIGhpZ2hsaWdodE9uU2Nyb2xsOiB0cnVlLAoKICAgICAgICAvLyAqKmhpZ2hsaWdodE9mZnNldCoqOiBBY2NlcHRzIGEgbnVtYmVyCiAgICAgICAgLy8gVGhlIG9mZnNldCBkaXN0YW5jZSBpbiBwaXhlbHMgdG8gdHJpZ2dlciB0aGUgbmV4dCBhY3RpdmUgdGFibGUgb2YgY29udGVudHMgaXRlbQogICAgICAgIGhpZ2hsaWdodE9mZnNldDogNDAsCgogICAgICAgIC8vICoqdGhlbWUqKjogQWNjZXB0cyBhIHN0cmluZzogImJvb3RzdHJhcCIsICJqcXVlcnl1aSIsIG9yICJub25lIgogICAgICAgIC8vIERldGVybWluZXMgaWYgVHdpdHRlciBCb290c3RyYXAsIGpRdWVyeVVJLCBvciBUb2NpZnkgY2xhc3NlcyBzaG91bGQgYmUgYWRkZWQgdG8gdGhlIHRhYmxlIG9mIGNvbnRlbnRzCiAgICAgICAgdGhlbWU6ICJib290c3RyYXAiLAoKICAgICAgICAvLyAqKmV4dGVuZFBhZ2UqKjogQWNjZXB0cyBhIGJvb2xlYW46IHRydWUgb3IgZmFsc2UKICAgICAgICAvLyBJZiBhIHVzZXIgc2Nyb2xscyB0byB0aGUgYm90dG9tIG9mIHRoZSBwYWdlIGFuZCB0aGUgcGFnZSBpcyBub3QgdGFsbCBlbm91Z2ggdG8gc2Nyb2xsIHRvIHRoZSBsYXN0IHRhYmxlIG9mIGNvbnRlbnRzIGl0ZW0sIHRoZW4gdGhlIHBhZ2UgaGVpZ2h0IGlzIGluY3JlYXNlZAogICAgICAgIGV4dGVuZFBhZ2U6IHRydWUsCgogICAgICAgIC8vICoqZXh0ZW5kUGFnZU9mZnNldCoqOiBBY2NlcHRzIGEgbnVtYmVyOiBwaXhlbHMKICAgICAgICAvLyBIb3cgY2xvc2UgdG8gdGhlIGJvdHRvbSBvZiB0aGUgcGFnZSBhIHVzZXIgbXVzdCBzY3JvbGwgYmVmb3JlIHRoZSBwYWdlIGlzIGV4dGVuZGVkCiAgICAgICAgZXh0ZW5kUGFnZU9mZnNldDogMTAwLAoKICAgICAgICAvLyAqKmhpc3RvcnkqKjogQWNjZXB0cyBhIGJvb2xlYW46IHRydWUgb3IgZmFsc2UKICAgICAgICAvLyBBZGRzIGEgaGFzaCB0byB0aGUgcGFnZSB1cmwgdG8gbWFpbnRhaW4gaGlzdG9yeQogICAgICAgIGhpc3Rvcnk6IHRydWUsCgogICAgICAgIC8vICoqc2Nyb2xsSGlzdG9yeSoqOiBBY2NlcHRzIGEgYm9vbGVhbjogdHJ1ZSBvciBmYWxzZQogICAgICAgIC8vIEFkZHMgYSBoYXNoIHRvIHRoZSBwYWdlIHVybCwgdG8gbWFpbnRhaW4gaGlzdG9yeSwgd2hlbiBzY3JvbGxpbmcgdG8gYSBUT0MgaXRlbQogICAgICAgIHNjcm9sbEhpc3Rvcnk6IGZhbHNlLAoKICAgICAgICAvLyAqKmhhc2hHZW5lcmF0b3IqKjogSG93IHRoZSBoYXNoIHZhbHVlICh0aGUgYW5jaG9yIHNlZ21lbnQgb2YgdGhlIFVSTCwgZm9sbG93aW5nIHRoZQogICAgICAgIC8vICMgY2hhcmFjdGVyKSB3aWxsIGJlIGdlbmVyYXRlZC4KICAgICAgICAvLwogICAgICAgIC8vICJjb21wYWN0IiAoZGVmYXVsdCkgLSAjQ29tcHJlc3Nlc0V2ZXJ5dGhpbmdUb2dldGhlcgogICAgICAgIC8vICJwcmV0dHkiIC0gI2xvb2tzLWxpa2UtYS1uaWNlLXVybC1hbmQtaXMtZWFzaWx5LXJlYWRhYmxlCiAgICAgICAgLy8gZnVuY3Rpb24odGV4dCwgZWxlbWVudCl7fSAtIFlvdXIgb3duIGhhc2ggZ2VuZXJhdGlvbiBmdW5jdGlvbiB0aGF0IGFjY2VwdHMgdGhlIHRleHQgYXMgYW4KICAgICAgICAvLyBhcmd1bWVudCwgYW5kIHJldHVybnMgdGhlIGhhc2ggdmFsdWUuCiAgICAgICAgaGFzaEdlbmVyYXRvcjogImNvbXBhY3QiLAoKICAgICAgICAvLyAqKmhpZ2hsaWdodERlZmF1bHQqKjogQWNjZXB0cyBhIGJvb2xlYW46IHRydWUgb3IgZmFsc2UKICAgICAgICAvLyBTZXQncyB0aGUgZmlyc3QgVE9DIGl0ZW0gYXMgYWN0aXZlIGlmIG5vIG90aGVyIFRPQyBpdGVtIGlzIGFjdGl2ZS4KICAgICAgICBoaWdobGlnaHREZWZhdWx0OiB0cnVlCgogICAgICB9LAoKICAgICAgLy8gX0NyZWF0ZQogICAgICAvLyAtLS0tLS0tCiAgICAgIC8vICAgICAgQ29uc3RydWN0cyB0aGUgcGx1Z2luLiAgT25seSBjYWxsZWQgb25jZS4KICAgICAgX2NyZWF0ZTogZnVuY3Rpb24oKSB7CgogICAgICAgIHZhciBzZWxmID0gdGhpczsKCiAgICAgICAgc2VsZi5leHRlbmRQYWdlU2Nyb2xsID0gdHJ1ZTsKCiAgICAgICAgLy8gSW50ZXJuYWwgYXJyYXkgdGhhdCBrZWVwcyB0cmFjayBvZiBhbGwgVE9DIGl0ZW1zIChIZWxwcyB0byByZWNvZ25pemUgaWYgdGhlcmUgYXJlIGR1cGxpY2F0ZSBUT0MgaXRlbSBzdHJpbmdzKQogICAgICAgIHNlbGYuaXRlbXMgPSBbXTsKCiAgICAgICAgLy8gR2VuZXJhdGVzIHRoZSBIVE1MIGZvciB0aGUgZHluYW1pYyB0YWJsZSBvZiBjb250ZW50cwogICAgICAgIHNlbGYuX2dlbmVyYXRlVG9jKCk7CgogICAgICAgIC8vIEFkZHMgQ1NTIGNsYXNzZXMgdG8gdGhlIG5ld2x5IGdlbmVyYXRlZCB0YWJsZSBvZiBjb250ZW50cyBIVE1MCiAgICAgICAgc2VsZi5fYWRkQ1NTQ2xhc3NlcygpOwoKICAgICAgICBzZWxmLndlYmtpdCA9IChmdW5jdGlvbigpIHsKCiAgICAgICAgICBmb3IgKHZhciBwcm9wIGluIHdpbmRvdykgewoKICAgICAgICAgICAgaWYgKHByb3ApIHsKCiAgICAgICAgICAgICAgaWYgKHByb3AudG9Mb3dlckNhc2UoKS5pbmRleE9mKCJ3ZWJraXQiKSAhPT0gLTEpIHsKCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKCiAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgfQoKICAgICAgICAgIH0KCiAgICAgICAgICByZXR1cm4gZmFsc2U7CgogICAgICAgIH0oKSk7CgogICAgICAgIC8vIEFkZHMgalF1ZXJ5IGV2ZW50IGhhbmRsZXJzIHRvIHRoZSBuZXdseSBnZW5lcmF0ZWQgdGFibGUgb2YgY29udGVudHMKICAgICAgICBzZWxmLl9zZXRFdmVudEhhbmRsZXJzKCk7CgogICAgICAgIC8vIEJpbmRpbmcgdG8gdGhlIFdpbmRvdyBsb2FkIGV2ZW50IHRvIG1ha2Ugc3VyZSB0aGUgY29ycmVjdCBzY3JvbGxUb3AgaXMgY2FsY3VsYXRlZAogICAgICAgICQod2luZG93KS5sb2FkKGZ1bmN0aW9uKCkgewoKICAgICAgICAgIC8vIFNldHMgdGhlIGFjdGl2ZSBUT0MgaXRlbQogICAgICAgICAgc2VsZi5fc2V0QWN0aXZlRWxlbWVudCh0cnVlKTsKCiAgICAgICAgICAvLyBPbmNlIGFsbCBhbmltYXRpb25zIG9uIHRoZSBwYWdlIGFyZSBjb21wbGV0ZSwgdGhpcyBjYWxsYmFjayBmdW5jdGlvbiB3aWxsIGJlIGNhbGxlZAogICAgICAgICAgJCgiaHRtbCwgYm9keSIpLnByb21pc2UoKS5kb25lKGZ1bmN0aW9uKCkgewoKICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKCiAgICAgICAgICAgICAgc2VsZi5leHRlbmRQYWdlU2Nyb2xsID0gZmFsc2U7CgogICAgICAgICAgICB9LCAwKTsKCiAgICAgICAgICB9KTsKCiAgICAgICAgfSk7CgogICAgICB9LAoKICAgICAgLy8gX2dlbmVyYXRlVG9jCiAgICAgIC8vIC0tLS0tLS0tLS0tLQogICAgICAvLyAgICAgIEdlbmVyYXRlcyB0aGUgSFRNTCBmb3IgdGhlIGR5bmFtaWMgdGFibGUgb2YgY29udGVudHMKICAgICAgX2dlbmVyYXRlVG9jOiBmdW5jdGlvbigpIHsKCiAgICAgICAgLy8gX0xvY2FsIHZhcmlhYmxlc18KCiAgICAgICAgLy8gU3RvcmVzIHRoZSBwbHVnaW4gY29udGV4dCBpbiB0aGUgc2VsZiB2YXJpYWJsZQogICAgICAgIHZhciBzZWxmID0gdGhpcywKCiAgICAgICAgICAvLyBBbGwgb2YgdGhlIEhUTUwgdGFncyBmb3VuZCB3aXRoaW4gdGhlIGNvbnRleHQgcHJvdmlkZWQgKGkuZS4gYm9keSkgdGhhdCBtYXRjaCB0aGUgdG9wIGxldmVsIGpRdWVyeSBzZWxlY3RvciBhYm92ZQogICAgICAgICAgZmlyc3RFbGVtLAoKICAgICAgICAgIC8vIEluc3RhbnRpYXRlZCB2YXJpYWJsZSB0aGF0IHdpbGwgc3RvcmUgdGhlIHRvcCBsZXZlbCBuZXdseSBjcmVhdGVkIHVub3JkZXJlZCBsaXN0IERPTSBlbGVtZW50CiAgICAgICAgICB1bCwKICAgICAgICAgIGlnbm9yZVNlbGVjdG9yID0gc2VsZi5vcHRpb25zLmlnbm9yZVNlbGVjdG9yOwoKCiAgICAgICAgLy8gRGV0ZXJtaW5lIHRoZSBlbGVtZW50IHRvIHN0YXJ0IHRoZSB0b2Mgd2l0aAogICAgICAgIC8vIGdldCBhbGwgdGhlIHRvcCBsZXZlbCBzZWxlY3RvcnMKICAgICAgICBmaXJzdEVsZW0gPSBbXTsKICAgICAgICB2YXIgc2VsZWN0b3JzID0gdGhpcy5vcHRpb25zLnNlbGVjdG9ycy5yZXBsYWNlKC8gL2csICIiKS5zcGxpdCgiLCIpOwogICAgICAgIC8vIGZpbmQgdGhlIGZpcnN0IHNldCB0aGF0IGhhdmUgYXQgbGVhc3Qgb25lIG5vbi1pZ25vcmVkIGVsZW1lbnQKICAgICAgICBmb3IodmFyIGkgPSAwOyBpIDwgc2VsZWN0b3JzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICB2YXIgZm91bmRTZWxlY3RvcnMgPSAkKHRoaXMub3B0aW9ucy5jb250ZXh0KS5maW5kKHNlbGVjdG9yc1tpXSk7CiAgICAgICAgICBmb3IgKHZhciBzID0gMDsgcyA8IGZvdW5kU2VsZWN0b3JzLmxlbmd0aDsgcysrKSB7CiAgICAgICAgICAgIGlmICghJChmb3VuZFNlbGVjdG9yc1tzXSkuaXMoaWdub3JlU2VsZWN0b3IpKSB7CiAgICAgICAgICAgICAgZmlyc3RFbGVtID0gZm91bmRTZWxlY3RvcnM7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICAgIGlmIChmaXJzdEVsZW0ubGVuZ3RoPiAwKQogICAgICAgICAgICBicmVhazsKICAgICAgICB9CgogICAgICAgIGlmICghZmlyc3RFbGVtLmxlbmd0aCkgewoKICAgICAgICAgIHNlbGYuZWxlbWVudC5hZGRDbGFzcyhoaWRlVG9jQ2xhc3NOYW1lKTsKCiAgICAgICAgICByZXR1cm47CgogICAgICAgIH0KCiAgICAgICAgc2VsZi5lbGVtZW50LmFkZENsYXNzKHRvY0NsYXNzTmFtZSk7CgogICAgICAgIC8vIExvb3BzIHRocm91Z2ggZWFjaCB0b3AgbGV2ZWwgc2VsZWN0b3IKICAgICAgICBmaXJzdEVsZW0uZWFjaChmdW5jdGlvbihpbmRleCkgewoKICAgICAgICAgIC8vSWYgdGhlIGVsZW1lbnQgbWF0Y2hlcyB0aGUgaWdub3JlU2VsZWN0b3IgdGhlbiB3ZSBza2lwIGl0CiAgICAgICAgICBpZiAoJCh0aGlzKS5pcyhpZ25vcmVTZWxlY3RvcikpIHsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgfQoKICAgICAgICAgIC8vIENyZWF0ZXMgYW4gdW5vcmRlcmVkIGxpc3QgSFRNTCBlbGVtZW50IGFuZCBhZGRzIGEgZHluYW1pYyBJRCBhbmQgc3RhbmRhcmQgY2xhc3MgbmFtZQogICAgICAgICAgdWwgPSAkKCI8dWwvPiIsIHsKICAgICAgICAgICAgImlkIjogaGVhZGVyQ2xhc3NOYW1lICsgaW5kZXgsCiAgICAgICAgICAgICJjbGFzcyI6IGhlYWRlckNsYXNzTmFtZQogICAgICAgICAgfSkuCgogICAgICAgICAgLy8gQXBwZW5kcyBhIHRvcCBsZXZlbCBsaXN0IGl0ZW0gSFRNTCBlbGVtZW50IHRvIHRoZSBwcmV2aW91c2x5IGNyZWF0ZWQgSFRNTCBoZWFkZXIKICAgICAgICAgIGFwcGVuZChzZWxmLl9uZXN0RWxlbWVudHMoJCh0aGlzKSwgaW5kZXgpKTsKCiAgICAgICAgICAvLyBBZGQgdGhlIGNyZWF0ZWQgdW5vcmRlcmVkIGxpc3QgZWxlbWVudCB0byB0aGUgSFRNTCBlbGVtZW50IGNhbGxpbmcgdGhlIHBsdWdpbgogICAgICAgICAgc2VsZi5lbGVtZW50LmFwcGVuZCh1bCk7CgogICAgICAgICAgLy8gRmluZHMgYWxsIG9mIHRoZSBIVE1MIHRhZ3MgYmV0d2VlbiB0aGUgaGVhZGVyIGFuZCBzdWJoZWFkZXIgZWxlbWVudHMKICAgICAgICAgICQodGhpcykubmV4dFVudGlsKHRoaXMubm9kZU5hbWUudG9Mb3dlckNhc2UoKSkuZWFjaChmdW5jdGlvbigpIHsKCiAgICAgICAgICAgIC8vIElmIHRoZXJlIGFyZSBubyBuZXN0ZWQgc3ViaGVhZGVyIGVsZW1lbWVudHMKICAgICAgICAgICAgaWYgKCQodGhpcykuZmluZChzZWxmLm9wdGlvbnMuc2VsZWN0b3JzKS5sZW5ndGggPT09IDApIHsKCiAgICAgICAgICAgICAgLy8gTG9vcHMgdGhyb3VnaCBhbGwgb2YgdGhlIHN1YmhlYWRlciBlbGVtZW50cwogICAgICAgICAgICAgICQodGhpcykuZmlsdGVyKHNlbGYub3B0aW9ucy5zZWxlY3RvcnMpLmVhY2goZnVuY3Rpb24oKSB7CgogICAgICAgICAgICAgICAgLy9JZiB0aGUgZWxlbWVudCBtYXRjaGVzIHRoZSBpZ25vcmVTZWxlY3RvciB0aGVuIHdlIHNraXAgaXQKICAgICAgICAgICAgICAgIGlmICgkKHRoaXMpLmlzKGlnbm9yZVNlbGVjdG9yKSkgewogICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgc2VsZi5fYXBwZW5kU3ViaGVhZGVycy5jYWxsKHRoaXMsIHNlbGYsIHVsKTsKCiAgICAgICAgICAgICAgfSk7CgogICAgICAgICAgICB9CgogICAgICAgICAgICAvLyBJZiB0aGVyZSBhcmUgbmVzdGVkIHN1YmhlYWRlciBlbGVtZW50cwogICAgICAgICAgICBlbHNlIHsKCiAgICAgICAgICAgICAgLy8gTG9vcHMgdGhyb3VnaCBhbGwgb2YgdGhlIHN1YmhlYWRlciBlbGVtZW50cwogICAgICAgICAgICAgICQodGhpcykuZmluZChzZWxmLm9wdGlvbnMuc2VsZWN0b3JzKS5lYWNoKGZ1bmN0aW9uKCkgewoKICAgICAgICAgICAgICAgIC8vSWYgdGhlIGVsZW1lbnQgbWF0Y2hlcyB0aGUgaWdub3JlU2VsZWN0b3IgdGhlbiB3ZSBza2lwIGl0CiAgICAgICAgICAgICAgICBpZiAoJCh0aGlzKS5pcyhpZ25vcmVTZWxlY3RvcikpIHsKICAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHNlbGYuX2FwcGVuZFN1YmhlYWRlcnMuY2FsbCh0aGlzLCBzZWxmLCB1bCk7CgogICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgfQoKICAgICAgICAgIH0pOwoKICAgICAgICB9KTsKCiAgICAgIH0sCgogICAgICBfc2V0QWN0aXZlRWxlbWVudDogZnVuY3Rpb24ocGFnZWxvYWQpIHsKCiAgICAgICAgdmFyIHNlbGYgPSB0aGlzLAoKICAgICAgICAgIGhhc2ggPSB3aW5kb3cubG9jYXRpb24uaGFzaC5zdWJzdHJpbmcoMSksCgogICAgICAgICAgZWxlbSA9IHNlbGYuZWxlbWVudC5maW5kKCdsaVtkYXRhLXVuaXF1ZT0iJyArIGhhc2ggKyAnIl0nKTsKCiAgICAgICAgaWYgKGhhc2gubGVuZ3RoKSB7CgogICAgICAgICAgLy8gUmVtb3ZlcyBoaWdobGlnaHRpbmcgZnJvbSBhbGwgb2YgdGhlIGxpc3QgaXRlbSdzCiAgICAgICAgICBzZWxmLmVsZW1lbnQuZmluZCgiLiIgKyBzZWxmLmZvY3VzQ2xhc3MpLnJlbW92ZUNsYXNzKHNlbGYuZm9jdXNDbGFzcyk7CgogICAgICAgICAgLy8gSGlnaGxpZ2h0cyB0aGUgY3VycmVudCBsaXN0IGl0ZW0gdGhhdCB3YXMgY2xpY2tlZAogICAgICAgICAgZWxlbS5hZGRDbGFzcyhzZWxmLmZvY3VzQ2xhc3MpOwoKICAgICAgICAgIC8vIFRyaWdnZXJzIHRoZSBjbGljayBldmVudCBvbiB0aGUgY3VycmVudGx5IGZvY3VzZWQgVE9DIGl0ZW0KICAgICAgICAgIGVsZW0uY2xpY2soKTsKCiAgICAgICAgfSBlbHNlIHsKCiAgICAgICAgICAvLyBSZW1vdmVzIGhpZ2hsaWdodGluZyBmcm9tIGFsbCBvZiB0aGUgbGlzdCBpdGVtJ3MKICAgICAgICAgIHNlbGYuZWxlbWVudC5maW5kKCIuIiArIHNlbGYuZm9jdXNDbGFzcykucmVtb3ZlQ2xhc3Moc2VsZi5mb2N1c0NsYXNzKTsKCiAgICAgICAgICBpZiAoIWhhc2gubGVuZ3RoICYmIHBhZ2Vsb2FkICYmIHNlbGYub3B0aW9ucy5oaWdobGlnaHREZWZhdWx0KSB7CgogICAgICAgICAgICAvLyBIaWdobGlnaHRzIHRoZSBmaXJzdCBUT0MgaXRlbSBpZiBubyBvdGhlciBpdGVtcyBhcmUgaGlnaGxpZ2h0ZWQKICAgICAgICAgICAgc2VsZi5lbGVtZW50LmZpbmQoaXRlbUNsYXNzKS5maXJzdCgpLmFkZENsYXNzKHNlbGYuZm9jdXNDbGFzcyk7CgogICAgICAgICAgfQoKICAgICAgICB9CgogICAgICAgIHJldHVybiBzZWxmOwoKICAgICAgfSwKCiAgICAgIC8vIF9uZXN0RWxlbWVudHMKICAgICAgLy8gLS0tLS0tLS0tLS0tLQogICAgICAvLyAgICAgIEhlbHBzIGNyZWF0ZSB0aGUgdGFibGUgb2YgY29udGVudHMgbGlzdCBieSBhcHBlbmRpbmcgbmVzdGVkIGxpc3QgaXRlbXMKICAgICAgX25lc3RFbGVtZW50czogZnVuY3Rpb24oc2VsZiwgaW5kZXgpIHsKCiAgICAgICAgdmFyIGFyciwgaXRlbSwgaGFzaFZhbHVlOwoKICAgICAgICBhcnIgPSAkLmdyZXAodGhpcy5pdGVtcywgZnVuY3Rpb24oaXRlbSkgewoKICAgICAgICAgIHJldHVybiBpdGVtID09PSBzZWxmLnRleHQoKTsKCiAgICAgICAgfSk7CgogICAgICAgIC8vIElmIHRoZXJlIGlzIGFscmVhZHkgYSBkdXBsaWNhdGUgVE9DIGl0ZW0KICAgICAgICBpZiAoYXJyLmxlbmd0aCkgewoKICAgICAgICAgIC8vIEFkZHMgdGhlIGN1cnJlbnQgVE9DIGl0ZW0gdGV4dCBhbmQgaW5kZXggKGZvciBzbGlnaHQgcmFuZG9taXphdGlvbikgdG8gdGhlIGludGVybmFsIGFycmF5CiAgICAgICAgICB0aGlzLml0ZW1zLnB1c2goc2VsZi50ZXh0KCkgKyBpbmRleCk7CgogICAgICAgIH0KCiAgICAgICAgLy8gSWYgdGhlcmUgbm90IGEgZHVwbGljYXRlIFRPQyBpdGVtCiAgICAgICAgZWxzZSB7CgogICAgICAgICAgLy8gQWRkcyB0aGUgY3VycmVudCBUT0MgaXRlbSB0ZXh0IHRvIHRoZSBpbnRlcm5hbCBhcnJheQogICAgICAgICAgdGhpcy5pdGVtcy5wdXNoKHNlbGYudGV4dCgpKTsKCiAgICAgICAgfQoKICAgICAgICBoYXNoVmFsdWUgPSB0aGlzLl9nZW5lcmF0ZUhhc2hWYWx1ZShhcnIsIHNlbGYsIGluZGV4KTsKCiAgICAgICAgLy8gQXBwZW5kcyBhIGxpc3QgaXRlbSBIVE1MIGVsZW1lbnQgdG8gdGhlIGxhc3QgdW5vcmRlcmVkIGxpc3QgSFRNTCBlbGVtZW50IGZvdW5kIHdpdGhpbiB0aGUgSFRNTCBlbGVtZW50IGNhbGxpbmcgdGhlIHBsdWdpbgogICAgICAgIGl0ZW0gPSAkKCI8bGkvPiIsIHsKCiAgICAgICAgICAvLyBTZXRzIGEgY29tbW9uIGNsYXNzIG5hbWUgdG8gdGhlIGxpc3QgaXRlbQogICAgICAgICAgImNsYXNzIjogaXRlbUNsYXNzTmFtZSwKCiAgICAgICAgICAiZGF0YS11bmlxdWUiOiBoYXNoVmFsdWUKCiAgICAgICAgfSk7CgogICAgICAgIGlmICh0aGlzLm9wdGlvbnMudGhlbWUgIT09ICJib290c3RyYXAzIikgewoKICAgICAgICAgIGl0ZW0uYXBwZW5kKCQoIjxhLz4iLCB7CgogICAgICAgICAgICAidGV4dCI6IHNlbGYudGV4dCgpCgogICAgICAgICAgfSkpOwoKICAgICAgICB9IGVsc2UgewoKICAgICAgICAgIGl0ZW0udGV4dChzZWxmLnRleHQoKSk7CgogICAgICAgIH0KCiAgICAgICAgLy8gQWRkcyBhbiBIVE1MIGFuY2hvciB0YWcgYmVmb3JlIHRoZSBjdXJyZW50bHkgdHJhdmVyc2VkIEhUTUwgZWxlbWVudAogICAgICAgIHNlbGYuYmVmb3JlKCQoIjxkaXYvPiIsIHsKCiAgICAgICAgICAvLyBTZXRzIGEgbmFtZSBhdHRyaWJ1dGUgb24gdGhlIGFuY2hvciB0YWcgdG8gdGhlIHRleHQgb2YgdGhlIGN1cnJlbnRseSB0cmF2ZXJzZWQgSFRNTCBlbGVtZW50IChhbHNvIG1ha2luZyBzdXJlIHRoYXQgYWxsIHdoaXRlc3BhY2UgaXMgcmVwbGFjZWQgd2l0aCBhbiB1bmRlcnNjb3JlKQogICAgICAgICAgIm5hbWUiOiBoYXNoVmFsdWUsCgogICAgICAgICAgImRhdGEtdW5pcXVlIjogaGFzaFZhbHVlCgogICAgICAgIH0pKTsKCiAgICAgICAgcmV0dXJuIGl0ZW07CgogICAgICB9LAoKICAgICAgLy8gX2dlbmVyYXRlSGFzaFZhbHVlCiAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLQogICAgICAvLyAgICAgIEdlbmVyYXRlcyB0aGUgaGFzaCB2YWx1ZSB0aGF0IHdpbGwgYmUgdXNlZCB0byByZWZlciB0byBlYWNoIGl0ZW0uCiAgICAgIF9nZW5lcmF0ZUhhc2hWYWx1ZTogZnVuY3Rpb24oYXJyLCBzZWxmLCBpbmRleCkgewoKICAgICAgICB2YXIgaGFzaFZhbHVlID0gIiIsCiAgICAgICAgICBoYXNoR2VuZXJhdG9yT3B0aW9uID0gdGhpcy5vcHRpb25zLmhhc2hHZW5lcmF0b3I7CgogICAgICAgIGlmIChoYXNoR2VuZXJhdG9yT3B0aW9uID09PSAicHJldHR5IikgewoKICAgICAgICAgIC8vIHByZXR0aWZ5IHRoZSB0ZXh0CiAgICAgICAgICBoYXNoVmFsdWUgPSBzZWxmLnRleHQoKS50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoL1xzL2csICItIik7CgogICAgICAgICAgLy8gZml4IGRvdWJsZSBoeXBoZW5zCiAgICAgICAgICB3aGlsZSAoaGFzaFZhbHVlLmluZGV4T2YoIi0tIikgPiAtMSkgewogICAgICAgICAgICBoYXNoVmFsdWUgPSBoYXNoVmFsdWUucmVwbGFjZSgvLS0vZywgIi0iKTsKICAgICAgICAgIH0KCiAgICAgICAgICAvLyBmaXggY29sb24tc3BhY2UgaW5zdGFuY2VzCiAgICAgICAgICB3aGlsZSAoaGFzaFZhbHVlLmluZGV4T2YoIjotIikgPiAtMSkgewogICAgICAgICAgICBoYXNoVmFsdWUgPSBoYXNoVmFsdWUucmVwbGFjZSgvOi0vZywgIi0iKTsKICAgICAgICAgIH0KCiAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgaGFzaEdlbmVyYXRvck9wdGlvbiA9PT0gImZ1bmN0aW9uIikgewoKICAgICAgICAgIC8vIGNhbGwgdGhlIGZ1bmN0aW9uCiAgICAgICAgICBoYXNoVmFsdWUgPSBoYXNoR2VuZXJhdG9yT3B0aW9uKHNlbGYudGV4dCgpLCBzZWxmKTsKCiAgICAgICAgfSBlbHNlIHsKCiAgICAgICAgICAvLyBjb21wYWN0IC0gdGhlIGRlZmF1bHQKICAgICAgICAgIGhhc2hWYWx1ZSA9IHNlbGYudGV4dCgpLnJlcGxhY2UoL1xzL2csICIiKTsKCiAgICAgICAgfQoKICAgICAgICAvLyBhZGQgdGhlIGluZGV4IGlmIHdlIG5lZWQgdG8KICAgICAgICBpZiAoYXJyLmxlbmd0aCkgewogICAgICAgICAgaGFzaFZhbHVlICs9ICIiICsgaW5kZXg7CiAgICAgICAgfQoKICAgICAgICAvLyByZXR1cm4gdGhlIHZhbHVlCiAgICAgICAgcmV0dXJuIGhhc2hWYWx1ZTsKCiAgICAgIH0sCgogICAgICAvLyBfYXBwZW5kRWxlbWVudHMKICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tCiAgICAgIC8vICAgICAgSGVscHMgY3JlYXRlIHRoZSB0YWJsZSBvZiBjb250ZW50cyBsaXN0IGJ5IGFwcGVuZGluZyBzdWJoZWFkZXIgZWxlbWVudHMKCiAgICAgIF9hcHBlbmRTdWJoZWFkZXJzOiBmdW5jdGlvbihzZWxmLCB1bCkgewoKICAgICAgICAvLyBUaGUgY3VycmVudCBlbGVtZW50IGluZGV4CiAgICAgICAgdmFyIGluZGV4ID0gJCh0aGlzKS5pbmRleChzZWxmLm9wdGlvbnMuc2VsZWN0b3JzKSwKCiAgICAgICAgICAvLyBGaW5kcyB0aGUgcHJldmlvdXMgaGVhZGVyIERPTSBlbGVtZW50CiAgICAgICAgICBwcmV2aW91c0hlYWRlciA9ICQoc2VsZi5vcHRpb25zLnNlbGVjdG9ycykuZXEoaW5kZXggLSAxKSwKCiAgICAgICAgICBjdXJyZW50VGFnTmFtZSA9ICskKHRoaXMpLnByb3AoInRhZ05hbWUiKS5jaGFyQXQoMSksCgogICAgICAgICAgcHJldmlvdXNUYWdOYW1lID0gK3ByZXZpb3VzSGVhZGVyLnByb3AoInRhZ05hbWUiKS5jaGFyQXQoMSksCgogICAgICAgICAgbGFzdFN1YmhlYWRlcjsKCiAgICAgICAgLy8gSWYgdGhlIGN1cnJlbnQgaGVhZGVyIERPTSBlbGVtZW50IGlzIHNtYWxsZXIgdGhhbiB0aGUgcHJldmlvdXMgaGVhZGVyIERPTSBlbGVtZW50IG9yIHRoZSBmaXJzdCBzdWJoZWFkZXIKICAgICAgICBpZiAoY3VycmVudFRhZ05hbWUgPCBwcmV2aW91c1RhZ05hbWUpIHsKCiAgICAgICAgICAvLyBTZWxlY3RzIHRoZSBsYXN0IHVub3JkZXJlZCBsaXN0IEhUTUwgZm91bmQgd2l0aGluIHRoZSBIVE1MIGVsZW1lbnQgY2FsbGluZyB0aGUgcGx1Z2luCiAgICAgICAgICBzZWxmLmVsZW1lbnQuZmluZChzdWJoZWFkZXJDbGFzcyArICJbZGF0YS10YWc9IiArIGN1cnJlbnRUYWdOYW1lICsgIl0iKS5sYXN0KCkuYXBwZW5kKHNlbGYuX25lc3RFbGVtZW50cygkKHRoaXMpLCBpbmRleCkpOwoKICAgICAgICB9CgogICAgICAgIC8vIElmIHRoZSBjdXJyZW50IGhlYWRlciBET00gZWxlbWVudCBpcyB0aGUgc2FtZSB0eXBlIG9mIGhlYWRlcihlZy4gaDQpIGFzIHRoZSBwcmV2aW91cyBoZWFkZXIgRE9NIGVsZW1lbnQKICAgICAgICBlbHNlIGlmIChjdXJyZW50VGFnTmFtZSA9PT0gcHJldmlvdXNUYWdOYW1lKSB7CgogICAgICAgICAgdWwuZmluZChpdGVtQ2xhc3MpLmxhc3QoKS5hZnRlcihzZWxmLl9uZXN0RWxlbWVudHMoJCh0aGlzKSwgaW5kZXgpKTsKCiAgICAgICAgfSBlbHNlIHsKCiAgICAgICAgICAvLyBTZWxlY3RzIHRoZSBsYXN0IHVub3JkZXJlZCBsaXN0IEhUTUwgZm91bmQgd2l0aGluIHRoZSBIVE1MIGVsZW1lbnQgY2FsbGluZyB0aGUgcGx1Z2luCiAgICAgICAgICB1bC5maW5kKGl0ZW1DbGFzcykubGFzdCgpLgoKICAgICAgICAgIC8vIEFwcGVuZHMgYW4gdW5vcmRlcmVkTGlzdCBIVE1MIGVsZW1lbnQgdG8gdGhlIGR5bmFtaWMgYHVub3JkZXJlZExpc3RgIHZhcmlhYmxlIGFuZCBzZXRzIGEgY29tbW9uIGNsYXNzIG5hbWUKICAgICAgICAgIGFmdGVyKCQoIjx1bC8+IiwgewoKICAgICAgICAgICAgImNsYXNzIjogc3ViaGVhZGVyQ2xhc3NOYW1lLAoKICAgICAgICAgICAgImRhdGEtdGFnIjogY3VycmVudFRhZ05hbWUKCiAgICAgICAgICB9KSkubmV4dChzdWJoZWFkZXJDbGFzcykuCgogICAgICAgICAgLy8gQXBwZW5kcyBhIGxpc3QgaXRlbSBIVE1MIGVsZW1lbnQgdG8gdGhlIGxhc3QgdW5vcmRlcmVkIGxpc3QgSFRNTCBlbGVtZW50IGZvdW5kIHdpdGhpbiB0aGUgSFRNTCBlbGVtZW50IGNhbGxpbmcgdGhlIHBsdWdpbgogICAgICAgICAgYXBwZW5kKHNlbGYuX25lc3RFbGVtZW50cygkKHRoaXMpLCBpbmRleCkpOwogICAgICAgIH0KCiAgICAgIH0sCgogICAgICAvLyBfc2V0RXZlbnRIYW5kbGVycwogICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tCiAgICAgIC8vICAgICAgQWRkcyBqUXVlcnkgZXZlbnQgaGFuZGxlcnMgdG8gdGhlIG5ld2x5IGdlbmVyYXRlZCB0YWJsZSBvZiBjb250ZW50cwogICAgICBfc2V0RXZlbnRIYW5kbGVyczogZnVuY3Rpb24oKSB7CgogICAgICAgIC8vIF9Mb2NhbCB2YXJpYWJsZXNfCgogICAgICAgIC8vIFN0b3JlcyB0aGUgcGx1Z2luIGNvbnRleHQgaW4gdGhlIHNlbGYgdmFyaWFibGUKICAgICAgICB2YXIgc2VsZiA9IHRoaXMsCgogICAgICAgICAgLy8gSW5zdGFudGlhdGVzIGEgbmV3IHZhcmlhYmxlIHRoYXQgd2lsbCBiZSB1c2VkIHRvIGhvbGQgYSBzcGVjaWZpYyBlbGVtZW50J3MgY29udGV4dAogICAgICAgICAgJHNlbGYsCgogICAgICAgICAgLy8gSW5zdGFudGlhdGVzIGEgbmV3IHZhcmlhYmxlIHRoYXQgd2lsbCBiZSB1c2VkIHRvIGRldGVybWluZSB0aGUgc21vb3RoU2Nyb2xsIGFuaW1hdGlvbiB0aW1lIGR1cmF0aW9uCiAgICAgICAgICBkdXJhdGlvbjsKCiAgICAgICAgLy8gRXZlbnQgZGVsZWdhdGlvbiB0aGF0IGxvb2tzIGZvciBhbnkgY2xpY2tzIG9uIGxpc3QgaXRlbSBlbGVtZW50cyBpbnNpZGUgb2YgdGhlIEhUTUwgZWxlbWVudCBjYWxsaW5nIHRoZSBwbHVnaW4KICAgICAgICB0aGlzLmVsZW1lbnQub24oImNsaWNrLnRvY2lmeSIsICJsaSIsIGZ1bmN0aW9uKGV2ZW50KSB7CgogICAgICAgICAgaWYgKHNlbGYub3B0aW9ucy5oaXN0b3J5KSB7CgogICAgICAgICAgICB3aW5kb3cubG9jYXRpb24uaGFzaCA9ICQodGhpcykuYXR0cigiZGF0YS11bmlxdWUiKTsKCiAgICAgICAgICB9CgogICAgICAgICAgLy8gUmVtb3ZlcyBoaWdobGlnaHRpbmcgZnJvbSBhbGwgb2YgdGhlIGxpc3QgaXRlbSdzCiAgICAgICAgICBzZWxmLmVsZW1lbnQuZmluZCgiLiIgKyBzZWxmLmZvY3VzQ2xhc3MpLnJlbW92ZUNsYXNzKHNlbGYuZm9jdXNDbGFzcyk7CgogICAgICAgICAgLy8gSGlnaGxpZ2h0cyB0aGUgY3VycmVudCBsaXN0IGl0ZW0gdGhhdCB3YXMgY2xpY2tlZAogICAgICAgICAgJCh0aGlzKS5hZGRDbGFzcyhzZWxmLmZvY3VzQ2xhc3MpOwoKICAgICAgICAgIC8vIElmIHRoZSBzaG93QW5kSGlkZSBvcHRpb24gaXMgdHJ1ZQogICAgICAgICAgaWYgKHNlbGYub3B0aW9ucy5zaG93QW5kSGlkZSkgewoKICAgICAgICAgICAgdmFyIGVsZW0gPSAkKCdsaVtkYXRhLXVuaXF1ZT0iJyArICQodGhpcykuYXR0cigiZGF0YS11bmlxdWUiKSArICciXScpOwoKICAgICAgICAgICAgc2VsZi5fdHJpZ2dlclNob3coZWxlbSk7CgogICAgICAgICAgfQoKICAgICAgICAgIHNlbGYuX3Njcm9sbFRvKCQodGhpcykpOwoKICAgICAgICB9KTsKCiAgICAgICAgLy8gTW91c2VlbnRlciBhbmQgTW91c2VsZWF2ZSBldmVudCBoYW5kbGVycyBmb3IgdGhlIGxpc3QgaXRlbSdzIHdpdGhpbiB0aGUgSFRNTCBlbGVtZW50IGNhbGxpbmcgdGhlIHBsdWdpbgogICAgICAgIHRoaXMuZWxlbWVudC5maW5kKCJsaSIpLm9uKHsKCiAgICAgICAgICAvLyBNb3VzZWVudGVyIGV2ZW50IGhhbmRsZXIKICAgICAgICAgICJtb3VzZWVudGVyLnRvY2lmeSI6IGZ1bmN0aW9uKCkgewoKICAgICAgICAgICAgLy8gQWRkcyBhIGhvdmVyIENTUyBjbGFzcyB0byB0aGUgY3VycmVudCBsaXN0IGl0ZW0KICAgICAgICAgICAgJCh0aGlzKS5hZGRDbGFzcyhzZWxmLmhvdmVyQ2xhc3MpOwoKICAgICAgICAgICAgLy8gTWFrZXMgc3VyZSB0aGUgY3Vyc29yIGlzIHNldCB0byB0aGUgcG9pbnRlciBpY29uCiAgICAgICAgICAgICQodGhpcykuY3NzKCJjdXJzb3IiLCAicG9pbnRlciIpOwoKICAgICAgICAgIH0sCgogICAgICAgICAgLy8gTW91c2VsZWF2ZSBldmVudCBoYW5kbGVyCiAgICAgICAgICAibW91c2VsZWF2ZS50b2NpZnkiOiBmdW5jdGlvbigpIHsKCiAgICAgICAgICAgIGlmIChzZWxmLm9wdGlvbnMudGhlbWUgIT09ICJib290c3RyYXAiKSB7CgogICAgICAgICAgICAgIC8vIFJlbW92ZXMgdGhlIGhvdmVyIENTUyBjbGFzcyBmcm9tIHRoZSBjdXJyZW50IGxpc3QgaXRlbQogICAgICAgICAgICAgICQodGhpcykucmVtb3ZlQ2xhc3Moc2VsZi5ob3ZlckNsYXNzKTsKCiAgICAgICAgICAgIH0KCiAgICAgICAgICB9CiAgICAgICAgfSk7CgogICAgICAgIC8vIG9ubHkgYXR0YWNoIGhhbmRsZXIgaWYgbmVlZGVkIChleHBlbnNpdmUgaW4gSUUpCiAgICAgICAgaWYgKHNlbGYub3B0aW9ucy5leHRlbmRQYWdlIHx8IHNlbGYub3B0aW9ucy5oaWdobGlnaHRPblNjcm9sbCB8fCBzZWxmLm9wdGlvbnMuc2Nyb2xsSGlzdG9yeSB8fCBzZWxmLm9wdGlvbnMuc2hvd0FuZEhpZGVPblNjcm9sbCkgewogICAgICAgICAgLy8gV2luZG93IHNjcm9sbCBldmVudCBoYW5kbGVyCiAgICAgICAgICAkKHdpbmRvdykub24oInNjcm9sbC50b2NpZnkiLCBmdW5jdGlvbigpIHsKCiAgICAgICAgICAgIC8vIE9uY2UgYWxsIGFuaW1hdGlvbnMgb24gdGhlIHBhZ2UgYXJlIGNvbXBsZXRlLCB0aGlzIGNhbGxiYWNrIGZ1bmN0aW9uIHdpbGwgYmUgY2FsbGVkCiAgICAgICAgICAgICQoImh0bWwsIGJvZHkiKS5wcm9taXNlKCkuZG9uZShmdW5jdGlvbigpIHsKCiAgICAgICAgICAgICAgLy8gTG9jYWwgdmFyaWFibGVzCgogICAgICAgICAgICAgIC8vIFN0b3JlcyBob3cgZmFyIHRoZSB1c2VyIGhhcyBzY3JvbGxlZAogICAgICAgICAgICAgIHZhciB3aW5TY3JvbGxUb3AgPSAkKHdpbmRvdykuc2Nyb2xsVG9wKCksCgogICAgICAgICAgICAgICAgLy8gU3RvcmVzIHRoZSBoZWlnaHQgb2YgdGhlIHdpbmRvdwogICAgICAgICAgICAgICAgd2luSGVpZ2h0ID0gJCh3aW5kb3cpLmhlaWdodCgpLAoKICAgICAgICAgICAgICAgIC8vIFN0b3JlcyB0aGUgaGVpZ2h0IG9mIHRoZSBkb2N1bWVudAogICAgICAgICAgICAgICAgZG9jSGVpZ2h0ID0gJChkb2N1bWVudCkuaGVpZ2h0KCksCgogICAgICAgICAgICAgICAgc2Nyb2xsSGVpZ2h0ID0gJCgiYm9keSIpWzBdLnNjcm9sbEhlaWdodCwKCiAgICAgICAgICAgICAgICAvLyBJbnN0YW50aWF0ZXMgYSB2YXJpYWJsZSB0aGF0IHdpbGwgYmUgdXNlZCB0byBob2xkIGEgc2VsZWN0ZWQgSFRNTCBlbGVtZW50CiAgICAgICAgICAgICAgICBlbGVtLAoKICAgICAgICAgICAgICAgIGxhc3RFbGVtLAoKICAgICAgICAgICAgICAgIGxhc3RFbGVtT2Zmc2V0LAoKICAgICAgICAgICAgICAgIGN1cnJlbnRFbGVtOwoKICAgICAgICAgICAgICBpZiAoc2VsZi5vcHRpb25zLmV4dGVuZFBhZ2UpIHsKCiAgICAgICAgICAgICAgICAvLyBJZiB0aGUgdXNlciBoYXMgc2Nyb2xsZWQgdG8gdGhlIGJvdHRvbSBvZiB0aGUgcGFnZSBhbmQgdGhlIGxhc3QgdG9jIGl0ZW0gaXMgbm90IGZvY3VzZWQKICAgICAgICAgICAgICAgIGlmICgoc2VsZi53ZWJraXQgJiYgd2luU2Nyb2xsVG9wID49IHNjcm9sbEhlaWdodCAtIHdpbkhlaWdodCAtIHNlbGYub3B0aW9ucy5leHRlbmRQYWdlT2Zmc2V0KSB8fCAoIXNlbGYud2Via2l0ICYmIHdpbkhlaWdodCArIHdpblNjcm9sbFRvcCA+IGRvY0hlaWdodCAtIHNlbGYub3B0aW9ucy5leHRlbmRQYWdlT2Zmc2V0KSkgewoKICAgICAgICAgICAgICAgICAgaWYgKCEkKGV4dGVuZFBhZ2VDbGFzcykubGVuZ3RoKSB7CgogICAgICAgICAgICAgICAgICAgIGxhc3RFbGVtID0gJCgnZGl2W2RhdGEtdW5pcXVlPSInICsgJChpdGVtQ2xhc3MpLmxhc3QoKS5hdHRyKCJkYXRhLXVuaXF1ZSIpICsgJyJdJyk7CgogICAgICAgICAgICAgICAgICAgIGlmICghbGFzdEVsZW0ubGVuZ3RoKSByZXR1cm47CgogICAgICAgICAgICAgICAgICAgIC8vIEdldHMgdGhlIHRvcCBvZmZzZXQgb2YgdGhlIHBhZ2UgaGVhZGVyIHRoYXQgaXMgbGlua2VkIHRvIHRoZSBsYXN0IHRvYyBpdGVtCiAgICAgICAgICAgICAgICAgICAgbGFzdEVsZW1PZmZzZXQgPSBsYXN0RWxlbS5vZmZzZXQoKS50b3A7CgogICAgICAgICAgICAgICAgICAgIC8vIEFwcGVuZHMgYSBkaXYgdG8gdGhlIGJvdHRvbSBvZiB0aGUgcGFnZSBhbmQgc2V0cyB0aGUgaGVpZ2h0IHRvIHRoZSBkaWZmZXJlbmNlIG9mIHRoZSB3aW5kb3cgc2Nyb2xsVG9wIGFuZCB0aGUgbGFzdCBlbGVtZW50J3MgcG9zaXRpb24gdG9wIG9mZnNldAogICAgICAgICAgICAgICAgICAgICQoc2VsZi5vcHRpb25zLmNvbnRleHQpLmFwcGVuZCgkKCI8ZGl2Lz4iLCB7CgogICAgICAgICAgICAgICAgICAgICAgImNsYXNzIjogZXh0ZW5kUGFnZUNsYXNzTmFtZSwKCiAgICAgICAgICAgICAgICAgICAgICAiaGVpZ2h0IjogTWF0aC5hYnMobGFzdEVsZW1PZmZzZXQgLSB3aW5TY3JvbGxUb3ApICsgInB4IiwKCiAgICAgICAgICAgICAgICAgICAgICAiZGF0YS11bmlxdWUiOiBleHRlbmRQYWdlQ2xhc3NOYW1lCgogICAgICAgICAgICAgICAgICAgIH0pKTsKCiAgICAgICAgICAgICAgICAgICAgaWYgKHNlbGYuZXh0ZW5kUGFnZVNjcm9sbCkgewoKICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRFbGVtID0gc2VsZi5lbGVtZW50LmZpbmQoJ2xpLicgKyBzZWxmLmZvY3VzQ2xhc3MpOwoKICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX3Njcm9sbFRvKCQoJ2RpdltkYXRhLXVuaXF1ZT0iJyArIGN1cnJlbnRFbGVtLmF0dHIoImRhdGEtdW5pcXVlIikgKyAnIl0nKSk7CgogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgLy8gVGhlIHplcm8gdGltZW91dCBlbnN1cmVzIHRoZSBmb2xsb3dpbmcgY29kZSBpcyBydW4gYWZ0ZXIgdGhlIHNjcm9sbCBldmVudHMKICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewoKICAgICAgICAgICAgICAgIC8vIF9Mb2NhbCB2YXJpYWJsZXNfCgogICAgICAgICAgICAgICAgLy8gU3RvcmVzIHRoZSBkaXN0YW5jZSB0byB0aGUgY2xvc2VzdCBhbmNob3IKICAgICAgICAgICAgICAgIHZhciBjbG9zZXN0QW5jaG9yRGlzdGFuY2UgPSBudWxsLAoKICAgICAgICAgICAgICAgICAgLy8gU3RvcmVzIHRoZSBpbmRleCBvZiB0aGUgY2xvc2VzdCBhbmNob3IKICAgICAgICAgICAgICAgICAgY2xvc2VzdEFuY2hvcklkeCA9IG51bGwsCgogICAgICAgICAgICAgICAgICAvLyBLZWVwcyBhIHJlZmVyZW5jZSB0byBhbGwgYW5jaG9ycwogICAgICAgICAgICAgICAgICBhbmNob3JzID0gJChzZWxmLm9wdGlvbnMuY29udGV4dCkuZmluZCgiZGl2W2RhdGEtdW5pcXVlXSIpLAoKICAgICAgICAgICAgICAgICAgYW5jaG9yVGV4dDsKCiAgICAgICAgICAgICAgICAvLyBEZXRlcm1pbmVzIHRoZSBpbmRleCBvZiB0aGUgY2xvc2VzdCBhbmNob3IKICAgICAgICAgICAgICAgIGFuY2hvcnMuZWFjaChmdW5jdGlvbihpZHgpIHsKICAgICAgICAgICAgICAgICAgdmFyIGRpc3RhbmNlID0gTWF0aC5hYnMoKCQodGhpcykubmV4dCgpLmxlbmd0aCA/ICQodGhpcykubmV4dCgpIDogJCh0aGlzKSkub2Zmc2V0KCkudG9wIC0gd2luU2Nyb2xsVG9wIC0gc2VsZi5vcHRpb25zLmhpZ2hsaWdodE9mZnNldCk7CiAgICAgICAgICAgICAgICAgIGlmIChjbG9zZXN0QW5jaG9yRGlzdGFuY2UgPT0gbnVsbCB8fCBkaXN0YW5jZSA8IGNsb3Nlc3RBbmNob3JEaXN0YW5jZSkgewogICAgICAgICAgICAgICAgICAgIGNsb3Nlc3RBbmNob3JEaXN0YW5jZSA9IGRpc3RhbmNlOwogICAgICAgICAgICAgICAgICAgIGNsb3Nlc3RBbmNob3JJZHggPSBpZHg7CiAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9KTsKCiAgICAgICAgICAgICAgICBhbmNob3JUZXh0ID0gJChhbmNob3JzW2Nsb3Nlc3RBbmNob3JJZHhdKS5hdHRyKCJkYXRhLXVuaXF1ZSIpOwoKICAgICAgICAgICAgICAgIC8vIFN0b3JlcyB0aGUgbGlzdCBpdGVtIEhUTUwgZWxlbWVudCB0aGF0IGNvcnJlc3BvbmRzIHRvIHRoZSBjdXJyZW50bHkgdHJhdmVyc2VkIGFuY2hvciB0YWcKICAgICAgICAgICAgICAgIGVsZW0gPSAkKCdsaVtkYXRhLXVuaXF1ZT0iJyArIGFuY2hvclRleHQgKyAnIl0nKTsKCiAgICAgICAgICAgICAgICAvLyBJZiB0aGUgYGhpZ2hsaWdodE9uU2Nyb2xsYCBvcHRpb24gaXMgdHJ1ZSBhbmQgYSBuZXh0IGVsZW1lbnQgaXMgZm91bmQKICAgICAgICAgICAgICAgIGlmIChzZWxmLm9wdGlvbnMuaGlnaGxpZ2h0T25TY3JvbGwgJiYgZWxlbS5sZW5ndGgpIHsKCiAgICAgICAgICAgICAgICAgIC8vIFJlbW92ZXMgaGlnaGxpZ2h0aW5nIGZyb20gYWxsIG9mIHRoZSBsaXN0IGl0ZW0ncwogICAgICAgICAgICAgICAgICBzZWxmLmVsZW1lbnQuZmluZCgiLiIgKyBzZWxmLmZvY3VzQ2xhc3MpLnJlbW92ZUNsYXNzKHNlbGYuZm9jdXNDbGFzcyk7CgogICAgICAgICAgICAgICAgICAvLyBIaWdobGlnaHRzIHRoZSBjb3JyZXNwb25kaW5nIGxpc3QgaXRlbQogICAgICAgICAgICAgICAgICBlbGVtLmFkZENsYXNzKHNlbGYuZm9jdXNDbGFzcyk7CgogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChzZWxmLm9wdGlvbnMuc2Nyb2xsSGlzdG9yeSkgewoKICAgICAgICAgICAgICAgICAgaWYgKHdpbmRvdy5sb2NhdGlvbi5oYXNoICE9PSAiIyIgKyBhbmNob3JUZXh0KSB7CgogICAgICAgICAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbi5yZXBsYWNlKCIjIiArIGFuY2hvclRleHQpOwoKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIC8vIElmIHRoZSBgc2hvd0FuZEhpZGVPblNjcm9sbGAgb3B0aW9uIGlzIHRydWUKICAgICAgICAgICAgICAgIGlmIChzZWxmLm9wdGlvbnMuc2hvd0FuZEhpZGVPblNjcm9sbCAmJiBzZWxmLm9wdGlvbnMuc2hvd0FuZEhpZGUpIHsKCiAgICAgICAgICAgICAgICAgIHNlbGYuX3RyaWdnZXJTaG93KGVsZW0sIHRydWUpOwoKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgfSwgMCk7CgogICAgICAgICAgICB9KTsKCiAgICAgICAgICB9KTsKICAgICAgICB9CgogICAgICB9LAoKICAgICAgLy8gU2hvdwogICAgICAvLyAtLS0tCiAgICAgIC8vICAgICAgT3BlbnMgdGhlIGN1cnJlbnQgc3ViLWhlYWRlcgogICAgICBzaG93OiBmdW5jdGlvbihlbGVtLCBzY3JvbGwpIHsKCiAgICAgICAgLy8gU3RvcmVzIHRoZSBwbHVnaW4gY29udGV4dCBpbiB0aGUgYHNlbGZgIHZhcmlhYmxlCiAgICAgICAgdmFyIHNlbGYgPSB0aGlzLAogICAgICAgICAgZWxlbWVudCA9IGVsZW07CgogICAgICAgIC8vIElmIHRoZSBzdWItaGVhZGVyIGlzIG5vdCBhbHJlYWR5IHZpc2libGUKICAgICAgICBpZiAoIWVsZW0uaXMoIjp2aXNpYmxlIikpIHsKCiAgICAgICAgICAvLyBJZiB0aGUgY3VycmVudCBlbGVtZW50IGRvZXMgbm90IGhhdmUgYW55IG5lc3RlZCBzdWJoZWFkZXJzLCBpcyBub3QgYSBoZWFkZXIsIGFuZCBpdHMgcGFyZW50IGlzIG5vdCB2aXNpYmxlCiAgICAgICAgICBpZiAoIWVsZW0uZmluZChzdWJoZWFkZXJDbGFzcykubGVuZ3RoICYmICFlbGVtLnBhcmVudCgpLmlzKGhlYWRlckNsYXNzKSAmJiAhZWxlbS5wYXJlbnQoKS5pcygiOnZpc2libGUiKSkgewoKICAgICAgICAgICAgLy8gU2V0cyB0aGUgY3VycmVudCBlbGVtZW50IHRvIGFsbCBvZiB0aGUgc3ViaGVhZGVycyB3aXRoaW4gdGhlIGN1cnJlbnQgaGVhZGVyCiAgICAgICAgICAgIGVsZW0gPSBlbGVtLnBhcmVudHMoc3ViaGVhZGVyQ2xhc3MpLmFkZChlbGVtKTsKCiAgICAgICAgICB9CgogICAgICAgICAgLy8gSWYgdGhlIGN1cnJlbnQgZWxlbWVudCBkb2VzIG5vdCBoYXZlIGFueSBuZXN0ZWQgc3ViaGVhZGVycyBhbmQgaXMgbm90IGEgaGVhZGVyCiAgICAgICAgICBlbHNlIGlmICghZWxlbS5jaGlsZHJlbihzdWJoZWFkZXJDbGFzcykubGVuZ3RoICYmICFlbGVtLnBhcmVudCgpLmlzKGhlYWRlckNsYXNzKSkgewoKICAgICAgICAgICAgLy8gU2V0cyB0aGUgY3VycmVudCBlbGVtZW50IHRvIHRoZSBjbG9zZXN0IHN1YmhlYWRlcgogICAgICAgICAgICBlbGVtID0gZWxlbS5jbG9zZXN0KHN1YmhlYWRlckNsYXNzKTsKCiAgICAgICAgICB9CgogICAgICAgICAgLy9EZXRlcm1pbmVzIHdoYXQgalF1ZXJ5IGVmZmVjdCB0byB1c2UKICAgICAgICAgIHN3aXRjaCAoc2VsZi5vcHRpb25zLnNob3dFZmZlY3QpIHsKCiAgICAgICAgICAgIC8vVXNlcyBgbm8gZWZmZWN0YAogICAgICAgICAgICBjYXNlICJub25lIjoKCiAgICAgICAgICAgICAgZWxlbS5zaG93KCk7CgogICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgICAvL1VzZXMgdGhlIGpRdWVyeSBgc2hvd2Agc3BlY2lhbCBlZmZlY3QKICAgICAgICAgICAgY2FzZSAic2hvdyI6CgogICAgICAgICAgICAgIGVsZW0uc2hvdyhzZWxmLm9wdGlvbnMuc2hvd0VmZmVjdFNwZWVkKTsKCiAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICAgIC8vVXNlcyB0aGUgalF1ZXJ5IGBzbGlkZURvd25gIHNwZWNpYWwgZWZmZWN0CiAgICAgICAgICAgIGNhc2UgInNsaWRlRG93biI6CgogICAgICAgICAgICAgIGVsZW0uc2xpZGVEb3duKHNlbGYub3B0aW9ucy5zaG93RWZmZWN0U3BlZWQpOwoKICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgICAgLy9Vc2VzIHRoZSBqUXVlcnkgYGZhZGVJbmAgc3BlY2lhbCBlZmZlY3QKICAgICAgICAgICAgY2FzZSAiZmFkZUluIjoKCiAgICAgICAgICAgICAgZWxlbS5mYWRlSW4oc2VsZi5vcHRpb25zLnNob3dFZmZlY3RTcGVlZCk7CgogICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgICAvL0lmIG5vbmUgb2YgdGhlIGFib3ZlIG9wdGlvbnMgd2VyZSBwYXNzZWQsIHRoZW4gYSBgalF1ZXJ5VUkgc2hvdyBlZmZlY3RgIGlzIGV4cGVjdGVkCiAgICAgICAgICAgIGRlZmF1bHQ6CgogICAgICAgICAgICAgIGVsZW0uc2hvdygpOwoKICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICB9CgogICAgICAgIH0KCiAgICAgICAgLy8gSWYgdGhlIGN1cnJlbnQgc3ViaGVhZGVyIHBhcmVudCBlbGVtZW50IGlzIGEgaGVhZGVyCiAgICAgICAgaWYgKGVsZW0ucGFyZW50KCkuaXMoaGVhZGVyQ2xhc3MpKSB7CgogICAgICAgICAgLy8gSGlkZXMgYWxsIG5vbi1hY3RpdmUgc3ViLWhlYWRlcnMKICAgICAgICAgIHNlbGYuaGlkZSgkKHN1YmhlYWRlckNsYXNzKS5ub3QoZWxlbSkpOwoKICAgICAgICB9CgogICAgICAgIC8vIElmIHRoZSBjdXJyZW50IHN1YmhlYWRlciBwYXJlbnQgZWxlbWVudCBpcyBub3QgYSBoZWFkZXIKICAgICAgICBlbHNlIHsKCiAgICAgICAgICAvLyBIaWRlcyBhbGwgbm9uLWFjdGl2ZSBzdWItaGVhZGVycwogICAgICAgICAgc2VsZi5oaWRlKCQoc3ViaGVhZGVyQ2xhc3MpLm5vdChlbGVtLmNsb3Nlc3QoaGVhZGVyQ2xhc3MpLmZpbmQoc3ViaGVhZGVyQ2xhc3MpLm5vdChlbGVtLnNpYmxpbmdzKCkpKSk7CgogICAgICAgIH0KCiAgICAgICAgLy8gTWFpbnRhaW5zIGNoYWluYWJsaXR5CiAgICAgICAgcmV0dXJuIHNlbGY7CgogICAgICB9LAoKICAgICAgLy8gSGlkZQogICAgICAvLyAtLS0tCiAgICAgIC8vICAgICAgQ2xvc2VzIHRoZSBjdXJyZW50IHN1Yi1oZWFkZXIKICAgICAgaGlkZTogZnVuY3Rpb24oZWxlbSkgewoKICAgICAgICAvLyBTdG9yZXMgdGhlIHBsdWdpbiBjb250ZXh0IGluIHRoZSBgc2VsZmAgdmFyaWFibGUKICAgICAgICB2YXIgc2VsZiA9IHRoaXM7CgogICAgICAgIC8vRGV0ZXJtaW5lcyB3aGF0IGpRdWVyeSBlZmZlY3QgdG8gdXNlCiAgICAgICAgc3dpdGNoIChzZWxmLm9wdGlvbnMuaGlkZUVmZmVjdCkgewoKICAgICAgICAgIC8vIFVzZXMgYG5vIGVmZmVjdGAKICAgICAgICAgIGNhc2UgIm5vbmUiOgoKICAgICAgICAgICAgZWxlbS5oaWRlKCk7CgogICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgIC8vIFVzZXMgdGhlIGpRdWVyeSBgaGlkZWAgc3BlY2lhbCBlZmZlY3QKICAgICAgICAgIGNhc2UgImhpZGUiOgoKICAgICAgICAgICAgZWxlbS5oaWRlKHNlbGYub3B0aW9ucy5oaWRlRWZmZWN0U3BlZWQpOwoKICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICAvLyBVc2VzIHRoZSBqUXVlcnkgYHNsaWRlVXBgIHNwZWNpYWwgZWZmZWN0CiAgICAgICAgICBjYXNlICJzbGlkZVVwIjoKCiAgICAgICAgICAgIGVsZW0uc2xpZGVVcChzZWxmLm9wdGlvbnMuaGlkZUVmZmVjdFNwZWVkKTsKCiAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgLy8gVXNlcyB0aGUgalF1ZXJ5IGBmYWRlT3V0YCBzcGVjaWFsIGVmZmVjdAogICAgICAgICAgY2FzZSAiZmFkZU91dCI6CgogICAgICAgICAgICBlbGVtLmZhZGVPdXQoc2VsZi5vcHRpb25zLmhpZGVFZmZlY3RTcGVlZCk7CgogICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgIC8vIElmIG5vbmUgb2YgdGhlIGFib3ZlIG9wdGlvbnMgd2VyZSBwYXNzZWQsIHRoZW4gYSBganF1ZXJ5VUkgaGlkZSBlZmZlY3RgIGlzIGV4cGVjdGVkCiAgICAgICAgICBkZWZhdWx0OgoKICAgICAgICAgICAgZWxlbS5oaWRlKCk7CgogICAgICAgICAgICBicmVhazsKCiAgICAgICAgfQoKICAgICAgICAvLyBNYWludGFpbnMgY2hhaW5hYmxpdHkKICAgICAgICByZXR1cm4gc2VsZjsKICAgICAgfSwKCiAgICAgIC8vIF90cmlnZ2VyU2hvdwogICAgICAvLyAtLS0tLS0tLS0tLS0KICAgICAgLy8gICAgICBEZXRlcm1pbmVzIHdoYXQgZWxlbWVudHMgZ2V0IHNob3duIG9uIHNjcm9sbCBhbmQgY2xpY2sKICAgICAgX3RyaWdnZXJTaG93OiBmdW5jdGlvbihlbGVtLCBzY3JvbGwpIHsKCiAgICAgICAgdmFyIHNlbGYgPSB0aGlzOwoKICAgICAgICAvLyBJZiB0aGUgY3VycmVudCBlbGVtZW50J3MgcGFyZW50IGlzIGEgaGVhZGVyIGVsZW1lbnQgb3IgdGhlIG5leHQgZWxlbWVudCBpcyBhIG5lc3RlZCBzdWJoZWFkZXIgZWxlbWVudAogICAgICAgIGlmIChlbGVtLnBhcmVudCgpLmlzKGhlYWRlckNsYXNzKSB8fCBlbGVtLm5leHQoKS5pcyhzdWJoZWFkZXJDbGFzcykpIHsKCiAgICAgICAgICAvLyBTaG93cyB0aGUgbmV4dCBzdWItaGVhZGVyIGVsZW1lbnQKICAgICAgICAgIHNlbGYuc2hvdyhlbGVtLm5leHQoc3ViaGVhZGVyQ2xhc3MpLCBzY3JvbGwpOwoKICAgICAgICB9CgogICAgICAgIC8vIElmIHRoZSBjdXJyZW50IGVsZW1lbnQncyBwYXJlbnQgaXMgYSBzdWJoZWFkZXIgZWxlbWVudAogICAgICAgIGVsc2UgaWYgKGVsZW0ucGFyZW50KCkuaXMoc3ViaGVhZGVyQ2xhc3MpKSB7CgogICAgICAgICAgLy8gU2hvd3MgdGhlIHBhcmVudCBzdWItaGVhZGVyIGVsZW1lbnQKICAgICAgICAgIHNlbGYuc2hvdyhlbGVtLnBhcmVudCgpLCBzY3JvbGwpOwoKICAgICAgICB9CgogICAgICAgIC8vIE1haW50YWlucyBjaGFpbmFiaWxpdHkKICAgICAgICByZXR1cm4gc2VsZjsKCiAgICAgIH0sCgogICAgICAvLyBfYWRkQ1NTQ2xhc3NlcwogICAgICAvLyAtLS0tLS0tLS0tLS0tLQogICAgICAvLyAgICAgIEFkZHMgQ1NTIGNsYXNzZXMgdG8gdGhlIG5ld2x5IGdlbmVyYXRlZCB0YWJsZSBvZiBjb250ZW50cyBIVE1MCiAgICAgIF9hZGRDU1NDbGFzc2VzOiBmdW5jdGlvbigpIHsKCiAgICAgICAgLy8gSWYgdGhlIHVzZXIgd2FudHMgYSBqcXVlcnlVSSB0aGVtZQogICAgICAgIGlmICh0aGlzLm9wdGlvbnMudGhlbWUgPT09ICJqcXVlcnl1aSIpIHsKCiAgICAgICAgICB0aGlzLmZvY3VzQ2xhc3MgPSAidWktc3RhdGUtZGVmYXVsdCI7CgogICAgICAgICAgdGhpcy5ob3ZlckNsYXNzID0gInVpLXN0YXRlLWhvdmVyIjsKCiAgICAgICAgICAvL0FkZHMgdGhlIGRlZmF1bHQgc3R5bGluZyB0byB0aGUgZHJvcGRvd24gbGlzdAogICAgICAgICAgdGhpcy5lbGVtZW50LmFkZENsYXNzKCJ1aS13aWRnZXQiKS5maW5kKCIudG9jLXRpdGxlIikuYWRkQ2xhc3MoInVpLXdpZGdldC1oZWFkZXIiKS5lbmQoKS5maW5kKCJsaSIpLmFkZENsYXNzKCJ1aS13aWRnZXQtY29udGVudCIpOwoKICAgICAgICB9CgogICAgICAgIC8vIElmIHRoZSB1c2VyIHdhbnRzIGEgdHdpdHRlckJvb3RzdHJhcCB0aGVtZQogICAgICAgIGVsc2UgaWYgKHRoaXMub3B0aW9ucy50aGVtZSA9PT0gImJvb3RzdHJhcCIpIHsKCiAgICAgICAgICB0aGlzLmVsZW1lbnQuZmluZChoZWFkZXJDbGFzcyArICIsIiArIHN1YmhlYWRlckNsYXNzKS5hZGRDbGFzcygibmF2IG5hdi1saXN0Iik7CgogICAgICAgICAgdGhpcy5mb2N1c0NsYXNzID0gImFjdGl2ZSI7CgogICAgICAgIH0KCiAgICAgICAgLy8gSWYgdGhlIHVzZXIgd2FudHMgYSB0d2l0dGVyQm9vdHN0cmFwIHRoZW1lCiAgICAgICAgZWxzZSBpZiAodGhpcy5vcHRpb25zLnRoZW1lID09PSAiYm9vdHN0cmFwMyIpIHsKCiAgICAgICAgICB0aGlzLmVsZW1lbnQuZmluZChoZWFkZXJDbGFzcyArICIsIiArIHN1YmhlYWRlckNsYXNzKS5hZGRDbGFzcygibGlzdC1ncm91cCIpOwoKICAgICAgICAgIHRoaXMuZWxlbWVudC5maW5kKGl0ZW1DbGFzcykuYWRkQ2xhc3MoImxpc3QtZ3JvdXAtaXRlbSIpOwoKICAgICAgICAgIHRoaXMuZm9jdXNDbGFzcyA9ICJhY3RpdmUiOwoKICAgICAgICB9CgogICAgICAgIC8vIElmIGEgdXNlciBkb2VzIG5vdCB3YW50IGEgcHJlYnVpbHQgdGhlbWUKICAgICAgICBlbHNlIHsKCiAgICAgICAgICAvLyBBZGRzIG1vcmUgbmV1dHJhbCBjbGFzc2VzIChpbnN0ZWFkIG9mIGpxdWVyeXVpKQoKICAgICAgICAgIHRoaXMuZm9jdXNDbGFzcyA9IHRvY0ZvY3VzQ2xhc3NOYW1lOwoKICAgICAgICAgIHRoaXMuaG92ZXJDbGFzcyA9IHRvY0hvdmVyQ2xhc3NOYW1lOwoKICAgICAgICB9CgogICAgICAgIC8vTWFpbnRhaW5zIGNoYWluYWJpbGl0eQogICAgICAgIHJldHVybiB0aGlzOwoKICAgICAgfSwKCiAgICAgIC8vIHNldE9wdGlvbgogICAgICAvLyAtLS0tLS0tLS0KICAgICAgLy8gICAgICBTZXRzIGEgc2luZ2xlIFRvY2lmeSBvcHRpb24gYWZ0ZXIgdGhlIHBsdWdpbiBpcyBpbnZva2VkCiAgICAgIHNldE9wdGlvbjogZnVuY3Rpb24oKSB7CgogICAgICAgIC8vIENhbGxzIHRoZSBqUXVlcnlVSSBXaWRnZXQgRmFjdG9yeSBzZXRPcHRpb24gbWV0aG9kCiAgICAgICAgJC5XaWRnZXQucHJvdG90eXBlLl9zZXRPcHRpb24uYXBwbHkodGhpcywgYXJndW1lbnRzKTsKCiAgICAgIH0sCgogICAgICAvLyBzZXRPcHRpb25zCiAgICAgIC8vIC0tLS0tLS0tLS0KICAgICAgLy8gICAgICBTZXRzIGEgc2luZ2xlIG9yIG11bHRpcGxlIFRvY2lmeSBvcHRpb25zIGFmdGVyIHRoZSBwbHVnaW4gaXMgaW52b2tlZAogICAgICBzZXRPcHRpb25zOiBmdW5jdGlvbigpIHsKCiAgICAgICAgLy8gQ2FsbHMgdGhlIGpRdWVyeVVJIFdpZGdldCBGYWN0b3J5IHNldE9wdGlvbnMgbWV0aG9kCiAgICAgICAgJC5XaWRnZXQucHJvdG90eXBlLl9zZXRPcHRpb25zLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7CgogICAgICB9LAoKICAgICAgLy8gX3Njcm9sbFRvCiAgICAgIC8vIC0tLS0tLS0tLQogICAgICAvLyAgICAgIFNjcm9sbHMgdG8gYSBzcGVjaWZpYyBlbGVtZW50CiAgICAgIF9zY3JvbGxUbzogZnVuY3Rpb24oZWxlbSkgewoKICAgICAgICB2YXIgc2VsZiA9IHRoaXMsCiAgICAgICAgICBkdXJhdGlvbiA9IHNlbGYub3B0aW9ucy5zbW9vdGhTY3JvbGwgfHwgMCwKICAgICAgICAgIHNjcm9sbFRvID0gc2VsZi5vcHRpb25zLnNjcm9sbFRvLAogICAgICAgICAgY3VycmVudERpdiA9ICQoJ2RpdltkYXRhLXVuaXF1ZT0iJyArIGVsZW0uYXR0cigiZGF0YS11bmlxdWUiKSArICciXScpOwoKICAgICAgICBpZiAoIWN1cnJlbnREaXYubGVuZ3RoKSB7CgogICAgICAgICAgcmV0dXJuIHNlbGY7CgogICAgICAgIH0KCiAgICAgICAgLy8gT25jZSBhbGwgYW5pbWF0aW9ucyBvbiB0aGUgcGFnZSBhcmUgY29tcGxldGUsIHRoaXMgY2FsbGJhY2sgZnVuY3Rpb24gd2lsbCBiZSBjYWxsZWQKICAgICAgICAkKCJodG1sLCBib2R5IikucHJvbWlzZSgpLmRvbmUoZnVuY3Rpb24oKSB7CgogICAgICAgICAgLy8gQW5pbWF0ZXMgdGhlIGh0bWwgYW5kIGJvZHkgZWxlbWVudCBzY3JvbGx0b3BzCiAgICAgICAgICAkKCJodG1sLCBib2R5IikuYW5pbWF0ZSh7CgogICAgICAgICAgICAvLyBTZXRzIHRoZSBqUXVlcnkgYHNjcm9sbFRvcGAgdG8gdGhlIHRvcCBvZmZzZXQgb2YgdGhlIEhUTUwgZGl2IHRhZyB0aGF0IG1hdGNoZXMgdGhlIGN1cnJlbnQgbGlzdCBpdGVtJ3MgYGRhdGEtdW5pcXVlYCB0YWcKICAgICAgICAgICAgInNjcm9sbFRvcCI6IGN1cnJlbnREaXYub2Zmc2V0KCkudG9wIC0gKCQuaXNGdW5jdGlvbihzY3JvbGxUbykgPyBzY3JvbGxUby5jYWxsKCkgOiBzY3JvbGxUbykgKyAicHgiCgogICAgICAgICAgfSwgewoKICAgICAgICAgICAgLy8gU2V0cyB0aGUgc21vb3RoU2Nyb2xsIGFuaW1hdGlvbiB0aW1lIGR1cmF0aW9uIHRvIHRoZSBzbW9vdGhTY3JvbGxTcGVlZCBvcHRpb24KICAgICAgICAgICAgImR1cmF0aW9uIjogZHVyYXRpb24KCiAgICAgICAgICB9KTsKCiAgICAgICAgfSk7CgogICAgICAgIC8vIE1haW50YWlucyBjaGFpbmFiaWxpdHkKICAgICAgICByZXR1cm4gc2VsZjsKCiAgICAgIH0KCiAgICB9KTsKCiAgfSkpOyAvL2VuZCBvZiBwbHVnaW4K"></script> <script src="data:application/x-javascript;base64,CgovKioKICogalF1ZXJ5IFBsdWdpbjogU3RpY2t5IFRhYnMKICoKICogQGF1dGhvciBBaWRhbiBMaXN0ZXIgPGFpZGFuQHBocC5uZXQ+CiAqIGFkYXB0ZWQgYnkgUnViZW4gQXJzbGFuIHRvIGFjdGl2YXRlIHBhcmVudCB0YWJzIHRvbwogKiBodHRwOi8vd3d3LmFpZGFubGlzdGVyLmNvbS8yMDE0LzAzL3BlcnNpc3RpbmctdGhlLXRhYi1zdGF0ZS1pbi1ib290c3RyYXAvCiAqLwooZnVuY3Rpb24oJCkgewogICJ1c2Ugc3RyaWN0IjsKICAkLmZuLnJtYXJrZG93blN0aWNreVRhYnMgPSBmdW5jdGlvbigpIHsKICAgIHZhciBjb250ZXh0ID0gdGhpczsKICAgIC8vIFNob3cgdGhlIHRhYiBjb3JyZXNwb25kaW5nIHdpdGggdGhlIGhhc2ggaW4gdGhlIFVSTCwgb3IgdGhlIGZpcnN0IHRhYgogICAgdmFyIHNob3dTdHVmZkZyb21IYXNoID0gZnVuY3Rpb24oKSB7CiAgICAgIHZhciBoYXNoID0gd2luZG93LmxvY2F0aW9uLmhhc2g7CiAgICAgIHZhciBzZWxlY3RvciA9IGhhc2ggPyAnYVtocmVmPSInICsgaGFzaCArICciXScgOiAnbGkuYWN0aXZlID4gYSc7CiAgICAgIHZhciAkc2VsZWN0b3IgPSAkKHNlbGVjdG9yLCBjb250ZXh0KTsKICAgICAgaWYoJHNlbGVjdG9yLmRhdGEoJ3RvZ2dsZScpID09PSAidGFiIikgewogICAgICAgICRzZWxlY3Rvci50YWIoJ3Nob3cnKTsKICAgICAgICAvLyB3YWxrIHVwIHRoZSBhbmNlc3RvcnMgb2YgdGhpcyBlbGVtZW50LCBzaG93IGFueSBoaWRkZW4gdGFicwogICAgICAgICRzZWxlY3Rvci5wYXJlbnRzKCcuc2VjdGlvbi50YWJzZXQnKS5lYWNoKGZ1bmN0aW9uKGksIGVsbSkgewogICAgICAgICAgdmFyIGxpbmsgPSAkKCdhW2hyZWY9IiMnICsgJChlbG0pLmF0dHIoJ2lkJykgKyAnIl0nKTsKICAgICAgICAgIGlmKGxpbmsuZGF0YSgndG9nZ2xlJykgPT09ICJ0YWIiKSB7CiAgICAgICAgICAgIGxpbmsudGFiKCJzaG93Iik7CiAgICAgICAgICB9CiAgICAgICAgfSk7CiAgICAgIH0KICAgIH07CgoKICAgIC8vIFNldCB0aGUgY29ycmVjdCB0YWIgd2hlbiB0aGUgcGFnZSBsb2FkcwogICAgc2hvd1N0dWZmRnJvbUhhc2goY29udGV4dCk7CgogICAgLy8gU2V0IHRoZSBjb3JyZWN0IHRhYiB3aGVuIGEgdXNlciB1c2VzIHRoZWlyIGJhY2svZm9yd2FyZCBidXR0b24KICAgICQod2luZG93KS5vbignaGFzaGNoYW5nZScsIGZ1bmN0aW9uKCkgewogICAgICBzaG93U3R1ZmZGcm9tSGFzaChjb250ZXh0KTsKICAgIH0pOwoKICAgIC8vIENoYW5nZSB0aGUgVVJMIHdoZW4gdGFicyBhcmUgY2xpY2tlZAogICAgJCgnYScsIGNvbnRleHQpLm9uKCdjbGljaycsIGZ1bmN0aW9uKGUpIHsKICAgICAgaGlzdG9yeS5wdXNoU3RhdGUobnVsbCwgbnVsbCwgdGhpcy5ocmVmKTsKICAgICAgc2hvd1N0dWZmRnJvbUhhc2goY29udGV4dCk7CiAgICB9KTsKCiAgICByZXR1cm4gdGhpczsKICB9Owp9KGpRdWVyeSkpOwoKd2luZG93LmJ1aWxkVGFic2V0cyA9IGZ1bmN0aW9uKHRvY0lEKSB7CgogIC8vIGJ1aWxkIGEgdGFic2V0IGZyb20gYSBzZWN0aW9uIGRpdiB3aXRoIHRoZSAudGFic2V0IGNsYXNzCiAgZnVuY3Rpb24gYnVpbGRUYWJzZXQodGFic2V0KSB7CgogICAgLy8gY2hlY2sgZm9yIGZhZGUgYW5kIHBpbGxzIG9wdGlvbnMKICAgIHZhciBmYWRlID0gdGFic2V0Lmhhc0NsYXNzKCJ0YWJzZXQtZmFkZSIpOwogICAgdmFyIHBpbGxzID0gdGFic2V0Lmhhc0NsYXNzKCJ0YWJzZXQtcGlsbHMiKTsKICAgIHZhciBuYXZDbGFzcyA9IHBpbGxzID8gIm5hdi1waWxscyIgOiAibmF2LXRhYnMiOwoKICAgIC8vIGRldGVybWluZSB0aGUgaGVhZGluZyBsZXZlbCBvZiB0aGUgdGFic2V0IGFuZCB0YWJzCiAgICB2YXIgbWF0Y2ggPSB0YWJzZXQuYXR0cignY2xhc3MnKS5tYXRjaCgvbGV2ZWwoXGQpIC8pOwogICAgaWYgKG1hdGNoID09PSBudWxsKQogICAgICByZXR1cm47CiAgICB2YXIgdGFic2V0TGV2ZWwgPSBOdW1iZXIobWF0Y2hbMV0pOwogICAgdmFyIHRhYkxldmVsID0gdGFic2V0TGV2ZWwgKyAxOwoKICAgIC8vIGZpbmQgYWxsIHN1YmhlYWRpbmdzIGltbWVkaWF0ZWx5IGJlbG93CiAgICB2YXIgdGFicyA9IHRhYnNldC5maW5kKCJkaXYuc2VjdGlvbi5sZXZlbCIgKyB0YWJMZXZlbCk7CiAgICBpZiAoIXRhYnMubGVuZ3RoKQogICAgICByZXR1cm47CgogICAgLy8gY3JlYXRlIHRhYmxpc3QgYW5kIHRhYi1jb250ZW50IGVsZW1lbnRzCiAgICB2YXIgdGFiTGlzdCA9ICQoJzx1bCBjbGFzcz0ibmF2ICcgKyBuYXZDbGFzcyArICciIHJvbGU9InRhYmxpc3QiPjwvdWw+Jyk7CiAgICAkKHRhYnNbMF0pLmJlZm9yZSh0YWJMaXN0KTsKICAgIHZhciB0YWJDb250ZW50ID0gJCgnPGRpdiBjbGFzcz0idGFiLWNvbnRlbnQiPjwvZGl2PicpOwogICAgJCh0YWJzWzBdKS5iZWZvcmUodGFiQ29udGVudCk7CgogICAgLy8gYnVpbGQgdGhlIHRhYnNldAogICAgdmFyIGFjdGl2ZVRhYiA9IDA7CiAgICB0YWJzLmVhY2goZnVuY3Rpb24oaSkgewoKICAgICAgLy8gZ2V0IHRoZSB0YWIgZGl2CiAgICAgIHZhciB0YWIgPSAkKHRhYnNbaV0pOwoKICAgICAgLy8gZ2V0IHRoZSBpZCB0aGVuIHNhbml0aXplIGl0IGZvciB1c2Ugd2l0aCBib290c3RyYXAgdGFicwogICAgICB2YXIgaWQgPSB0YWIuYXR0cignaWQnKTsKCiAgICAgIC8vIHNlZSBpZiB0aGlzIGlzIG1hcmtlZCBhcyB0aGUgYWN0aXZlIHRhYgogICAgICBpZiAodGFiLmhhc0NsYXNzKCdhY3RpdmUnKSkKICAgICAgICBhY3RpdmVUYWIgPSBpOwoKICAgICAgLy8gcmVtb3ZlIGFueSB0YWJsZSBvZiBjb250ZW50cyBlbnRyaWVzIGFzc29jaWF0ZWQgd2l0aAogICAgICAvLyB0aGlzIElEIChzaW5jZSB3ZSdsbCBiZSByZW1vdmluZyB0aGUgaGVhZGluZyBlbGVtZW50KQogICAgICAkKCJkaXYjIiArIHRvY0lEICsgIiBsaSBhW2hyZWY9JyMiICsgaWQgKyAiJ10iKS5wYXJlbnQoKS5yZW1vdmUoKTsKCiAgICAgIC8vIHNhbml0aXplIHRoZSBpZCBmb3IgdXNlIHdpdGggYm9vdHN0cmFwIHRhYnMKICAgICAgaWQgPSBpZC5yZXBsYWNlKC9bLlwvPyYhIzw+XS9nLCAnJykucmVwbGFjZSgvXHMvZywgJ18nKTsKICAgICAgdGFiLmF0dHIoJ2lkJywgaWQpOwoKICAgICAgLy8gZ2V0IHRoZSBoZWFkaW5nIGVsZW1lbnQgd2l0aGluIGl0LCBncmFiIGl0J3MgdGV4dCwgdGhlbiByZW1vdmUgaXQKICAgICAgdmFyIGhlYWRpbmcgPSB0YWIuZmluZCgnaCcgKyB0YWJMZXZlbCArICc6Zmlyc3QnKTsKICAgICAgdmFyIGhlYWRpbmdUZXh0ID0gaGVhZGluZy5odG1sKCk7CiAgICAgIGhlYWRpbmcucmVtb3ZlKCk7CgogICAgICAvLyBidWlsZCBhbmQgYXBwZW5kIHRoZSB0YWIgbGlzdCBpdGVtCiAgICAgIHZhciBhID0gJCgnPGEgcm9sZT0idGFiIiBkYXRhLXRvZ2dsZT0idGFiIj4nICsgaGVhZGluZ1RleHQgKyAnPC9hPicpOwogICAgICBhLmF0dHIoJ2hyZWYnLCAnIycgKyBpZCk7CiAgICAgIGEuYXR0cignYXJpYS1jb250cm9scycsIGlkKTsKICAgICAgdmFyIGxpID0gJCgnPGxpIHJvbGU9InByZXNlbnRhdGlvbiI+PC9saT4nKTsKICAgICAgbGkuYXBwZW5kKGEpOwogICAgICB0YWJMaXN0LmFwcGVuZChsaSk7CgogICAgICAvLyBzZXQgaXQncyBhdHRyaWJ1dGVzCiAgICAgIHRhYi5hdHRyKCdyb2xlJywgJ3RhYnBhbmVsJyk7CiAgICAgIHRhYi5hZGRDbGFzcygndGFiLXBhbmUnKTsKICAgICAgdGFiLmFkZENsYXNzKCd0YWJiZWQtcGFuZScpOwogICAgICBpZiAoZmFkZSkKICAgICAgICB0YWIuYWRkQ2xhc3MoJ2ZhZGUnKTsKCiAgICAgIC8vIG1vdmUgaXQgaW50byB0aGUgdGFiIGNvbnRlbnQgZGl2CiAgICAgIHRhYi5kZXRhY2goKS5hcHBlbmRUbyh0YWJDb250ZW50KTsKICAgIH0pOwoKICAgIC8vIHNldCBhY3RpdmUgdGFiCiAgICAkKHRhYkxpc3QuY2hpbGRyZW4oJ2xpJylbYWN0aXZlVGFiXSkuYWRkQ2xhc3MoJ2FjdGl2ZScpOwogICAgdmFyIGFjdGl2ZSA9ICQodGFiQ29udGVudC5jaGlsZHJlbignZGl2LnNlY3Rpb24nKVthY3RpdmVUYWJdKTsKICAgIGFjdGl2ZS5hZGRDbGFzcygnYWN0aXZlJyk7CiAgICBpZiAoZmFkZSkKICAgICAgYWN0aXZlLmFkZENsYXNzKCdpbicpOwoKICAgIGlmICh0YWJzZXQuaGFzQ2xhc3MoInRhYnNldC1zdGlja3kiKSkKICAgICAgdGFic2V0LnJtYXJrZG93blN0aWNreVRhYnMoKTsKICB9CgogIC8vIGNvbnZlcnQgc2VjdGlvbiBkaXZzIHdpdGggdGhlIC50YWJzZXQgY2xhc3MgdG8gdGFic2V0cwogIHZhciB0YWJzZXRzID0gJCgiZGl2LnNlY3Rpb24udGFic2V0Iik7CiAgdGFic2V0cy5lYWNoKGZ1bmN0aW9uKGkpIHsKICAgIGJ1aWxkVGFic2V0KCQodGFic2V0c1tpXSkpOwogIH0pOwp9OwoK"></script> -<link href="data:text/css;charset=utf-8,pre%20%2Eoperator%2C%0Apre%20%2Eparen%20%7B%0Acolor%3A%20rgb%28104%2C%20118%2C%20135%29%0A%7D%0Apre%20%2Eliteral%20%7B%0Acolor%3A%20%23990073%0A%7D%0Apre%20%2Enumber%20%7B%0Acolor%3A%20%23099%3B%0A%7D%0Apre%20%2Ecomment%20%7B%0Acolor%3A%20%23998%3B%0Afont%2Dstyle%3A%20italic%0A%7D%0Apre%20%2Ekeyword%20%7B%0Acolor%3A%20%23900%3B%0Afont%2Dweight%3A%20bold%0A%7D%0Apre%20%2Eidentifier%20%7B%0Acolor%3A%20rgb%280%2C%200%2C%200%29%3B%0A%7D%0Apre%20%2Estring%20%7B%0Acolor%3A%20%23d14%3B%0A%7D%0A" rel="stylesheet" /> -<script src="data:application/x-javascript;base64,dmFyIGhsanM9bmV3IGZ1bmN0aW9uKCl7ZnVuY3Rpb24gbShwKXtyZXR1cm4gcC5yZXBsYWNlKC8mL2dtLCImYW1wOyIpLnJlcGxhY2UoLzwvZ20sIiZsdDsiKX1mdW5jdGlvbiBmKHIscSxwKXtyZXR1cm4gUmVnRXhwKHEsIm0iKyhyLmNJPyJpIjoiIikrKHA/ImciOiIiKSl9ZnVuY3Rpb24gYihyKXtmb3IodmFyIHA9MDtwPHIuY2hpbGROb2Rlcy5sZW5ndGg7cCsrKXt2YXIgcT1yLmNoaWxkTm9kZXNbcF07aWYocS5ub2RlTmFtZT09IkNPREUiKXtyZXR1cm4gcX1pZighKHEubm9kZVR5cGU9PTMmJnEubm9kZVZhbHVlLm1hdGNoKC9ccysvKSkpe2JyZWFrfX19ZnVuY3Rpb24gaCh0LHMpe3ZhciBwPSIiO2Zvcih2YXIgcj0wO3I8dC5jaGlsZE5vZGVzLmxlbmd0aDtyKyspe2lmKHQuY2hpbGROb2Rlc1tyXS5ub2RlVHlwZT09Myl7dmFyIHE9dC5jaGlsZE5vZGVzW3JdLm5vZGVWYWx1ZTtpZihzKXtxPXEucmVwbGFjZSgvXG4vZywiIil9cCs9cX1lbHNle2lmKHQuY2hpbGROb2Rlc1tyXS5ub2RlTmFtZT09IkJSIil7cCs9IlxuIn1lbHNle3ArPWgodC5jaGlsZE5vZGVzW3JdKX19fWlmKC9NU0lFIFs2NzhdLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpKXtwPXAucmVwbGFjZSgvXHIvZywiXG4iKX1yZXR1cm4gcH1mdW5jdGlvbiBhKHMpe3ZhciByPXMuY2xhc3NOYW1lLnNwbGl0KC9ccysvKTtyPXIuY29uY2F0KHMucGFyZW50Tm9kZS5jbGFzc05hbWUuc3BsaXQoL1xzKy8pKTtmb3IodmFyIHE9MDtxPHIubGVuZ3RoO3ErKyl7dmFyIHA9cltxXS5yZXBsYWNlKC9ebGFuZ3VhZ2UtLywiIik7aWYoZVtwXSl7cmV0dXJuIHB9fX1mdW5jdGlvbiBjKHEpe3ZhciBwPVtdOyhmdW5jdGlvbihzLHQpe2Zvcih2YXIgcj0wO3I8cy5jaGlsZE5vZGVzLmxlbmd0aDtyKyspe2lmKHMuY2hpbGROb2Rlc1tyXS5ub2RlVHlwZT09Myl7dCs9cy5jaGlsZE5vZGVzW3JdLm5vZGVWYWx1ZS5sZW5ndGh9ZWxzZXtpZihzLmNoaWxkTm9kZXNbcl0ubm9kZU5hbWU9PSJCUiIpe3QrPTF9ZWxzZXtpZihzLmNoaWxkTm9kZXNbcl0ubm9kZVR5cGU9PTEpe3AucHVzaCh7ZXZlbnQ6InN0YXJ0IixvZmZzZXQ6dCxub2RlOnMuY2hpbGROb2Rlc1tyXX0pO3Q9YXJndW1lbnRzLmNhbGxlZShzLmNoaWxkTm9kZXNbcl0sdCk7cC5wdXNoKHtldmVudDoic3RvcCIsb2Zmc2V0OnQsbm9kZTpzLmNoaWxkTm9kZXNbcl19KX19fX1yZXR1cm4gdH0pKHEsMCk7cmV0dXJuIHB9ZnVuY3Rpb24gayh5LHcseCl7dmFyIHE9MDt2YXIgej0iIjt2YXIgcz1bXTtmdW5jdGlvbiB1KCl7aWYoeS5sZW5ndGgmJncubGVuZ3RoKXtpZih5WzBdLm9mZnNldCE9d1swXS5vZmZzZXQpe3JldHVybih5WzBdLm9mZnNldDx3WzBdLm9mZnNldCk/eTp3fWVsc2V7cmV0dXJuIHdbMF0uZXZlbnQ9PSJzdGFydCI/eTp3fX1lbHNle3JldHVybiB5Lmxlbmd0aD95Ond9fWZ1bmN0aW9uIHQoRCl7dmFyIEE9IjwiK0Qubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtmb3IodmFyIEI9MDtCPEQuYXR0cmlidXRlcy5sZW5ndGg7QisrKXt2YXIgQz1ELmF0dHJpYnV0ZXNbQl07QSs9IiAiK0Mubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtpZihDLnZhbHVlIT09dW5kZWZpbmVkJiZDLnZhbHVlIT09ZmFsc2UmJkMudmFsdWUhPT1udWxsKXtBKz0nPSInK20oQy52YWx1ZSkrJyInfX1yZXR1cm4gQSsiPiJ9d2hpbGUoeS5sZW5ndGh8fHcubGVuZ3RoKXt2YXIgdj11KCkuc3BsaWNlKDAsMSlbMF07eis9bSh4LnN1YnN0cihxLHYub2Zmc2V0LXEpKTtxPXYub2Zmc2V0O2lmKHYuZXZlbnQ9PSJzdGFydCIpe3orPXQodi5ub2RlKTtzLnB1c2godi5ub2RlKX1lbHNle2lmKHYuZXZlbnQ9PSJzdG9wIil7dmFyIHAscj1zLmxlbmd0aDtkb3tyLS07cD1zW3JdO3orPSgiPC8iK3Aubm9kZU5hbWUudG9Mb3dlckNhc2UoKSsiPiIpfXdoaWxlKHAhPXYubm9kZSk7cy5zcGxpY2UociwxKTt3aGlsZShyPHMubGVuZ3RoKXt6Kz10KHNbcl0pO3IrK319fX1yZXR1cm4geittKHguc3Vic3RyKHEpKX1mdW5jdGlvbiBqKCl7ZnVuY3Rpb24gcSh4LHksdil7aWYoeC5jb21waWxlZCl7cmV0dXJufXZhciB1O3ZhciBzPVtdO2lmKHguayl7eC5sUj1mKHkseC5sfHxobGpzLklSLHRydWUpO2Zvcih2YXIgdyBpbiB4Lmspe2lmKCF4LmsuaGFzT3duUHJvcGVydHkodykpe2NvbnRpbnVlfWlmKHgua1t3XSBpbnN0YW5jZW9mIE9iamVjdCl7dT14Lmtbd119ZWxzZXt1PXguazt3PSJrZXl3b3JkIn1mb3IodmFyIHIgaW4gdSl7aWYoIXUuaGFzT3duUHJvcGVydHkocikpe2NvbnRpbnVlfXgua1tyXT1bdyx1W3JdXTtzLnB1c2gocil9fX1pZighdil7aWYoeC5iV0spe3guYj0iXFxiKCIrcy5qb2luKCJ8IikrIilcXHMifXguYlI9Zih5LHguYj94LmI6IlxcQnxcXGIiKTtpZigheC5lJiYheC5lVyl7eC5lPSJcXEJ8XFxiIn1pZih4LmUpe3guZVI9Zih5LHguZSl9fWlmKHguaSl7eC5pUj1mKHkseC5pKX1pZih4LnI9PT11bmRlZmluZWQpe3gucj0xfWlmKCF4LmMpe3guYz1bXX14LmNvbXBpbGVkPXRydWU7Zm9yKHZhciB0PTA7dDx4LmMubGVuZ3RoO3QrKyl7aWYoeC5jW3RdPT0ic2VsZiIpe3guY1t0XT14fXEoeC5jW3RdLHksZmFsc2UpfWlmKHguc3RhcnRzKXtxKHguc3RhcnRzLHksZmFsc2UpfX1mb3IodmFyIHAgaW4gZSl7aWYoIWUuaGFzT3duUHJvcGVydHkocCkpe2NvbnRpbnVlfXEoZVtwXS5kTSxlW3BdLHRydWUpfX1mdW5jdGlvbiBkKEIsQyl7aWYoIWouY2FsbGVkKXtqKCk7ai5jYWxsZWQ9dHJ1ZX1mdW5jdGlvbiBxKHIsTSl7Zm9yKHZhciBMPTA7TDxNLmMubGVuZ3RoO0wrKyl7aWYoKE0uY1tMXS5iUi5leGVjKHIpfHxbbnVsbF0pWzBdPT1yKXtyZXR1cm4gTS5jW0xdfX19ZnVuY3Rpb24gdihMLHIpe2lmKERbTF0uZSYmRFtMXS5lUi50ZXN0KHIpKXtyZXR1cm4gMX1pZihEW0xdLmVXKXt2YXIgTT12KEwtMSxyKTtyZXR1cm4gTT9NKzE6MH1yZXR1cm4gMH1mdW5jdGlvbiB3KHIsTCl7cmV0dXJuIEwuaSYmTC5pUi50ZXN0KHIpfWZ1bmN0aW9uIEsoTixPKXt2YXIgTT1bXTtmb3IodmFyIEw9MDtMPE4uYy5sZW5ndGg7TCsrKXtNLnB1c2goTi5jW0xdLmIpfXZhciByPUQubGVuZ3RoLTE7ZG97aWYoRFtyXS5lKXtNLnB1c2goRFtyXS5lKX1yLS19d2hpbGUoRFtyKzFdLmVXKTtpZihOLmkpe00ucHVzaChOLmkpfXJldHVybiBmKE8sTS5qb2luKCJ8IiksdHJ1ZSl9ZnVuY3Rpb24gcChNLEwpe3ZhciBOPURbRC5sZW5ndGgtMV07aWYoIU4udCl7Ti50PUsoTixFKX1OLnQubGFzdEluZGV4PUw7dmFyIHI9Ti50LmV4ZWMoTSk7cmV0dXJuIHI/W00uc3Vic3RyKEwsci5pbmRleC1MKSxyWzBdLGZhbHNlXTpbTS5zdWJzdHIoTCksIiIsdHJ1ZV19ZnVuY3Rpb24geihOLHIpe3ZhciBMPUUuY0k/clswXS50b0xvd2VyQ2FzZSgpOnJbMF07dmFyIE09Ti5rW0xdO2lmKE0mJk0gaW5zdGFuY2VvZiBBcnJheSl7cmV0dXJuIE19cmV0dXJuIGZhbHNlfWZ1bmN0aW9uIEYoTCxQKXtMPW0oTCk7aWYoIVAuayl7cmV0dXJuIEx9dmFyIHI9IiI7dmFyIE89MDtQLmxSLmxhc3RJbmRleD0wO3ZhciBNPVAubFIuZXhlYyhMKTt3aGlsZShNKXtyKz1MLnN1YnN0cihPLE0uaW5kZXgtTyk7dmFyIE49eihQLE0pO2lmKE4pe3grPU5bMV07cis9JzxzcGFuIGNsYXNzPSInK05bMF0rJyI+JytNWzBdKyI8L3NwYW4+In1lbHNle3IrPU1bMF19Tz1QLmxSLmxhc3RJbmRleDtNPVAubFIuZXhlYyhMKX1yZXR1cm4gcitMLnN1YnN0cihPLEwubGVuZ3RoLU8pfWZ1bmN0aW9uIEooTCxNKXtpZihNLnNMJiZlW00uc0xdKXt2YXIgcj1kKE0uc0wsTCk7eCs9ci5rZXl3b3JkX2NvdW50O3JldHVybiByLnZhbHVlfWVsc2V7cmV0dXJuIEYoTCxNKX19ZnVuY3Rpb24gSShNLHIpe3ZhciBMPU0uY04/JzxzcGFuIGNsYXNzPSInK00uY04rJyI+JzoiIjtpZihNLnJCKXt5Kz1MO00uYnVmZmVyPSIifWVsc2V7aWYoTS5lQil7eSs9bShyKStMO00uYnVmZmVyPSIifWVsc2V7eSs9TDtNLmJ1ZmZlcj1yfX1ELnB1c2goTSk7QSs9TS5yfWZ1bmN0aW9uIEcoTixNLFEpe3ZhciBSPURbRC5sZW5ndGgtMV07aWYoUSl7eSs9SihSLmJ1ZmZlcitOLFIpO3JldHVybiBmYWxzZX12YXIgUD1xKE0sUik7aWYoUCl7eSs9SihSLmJ1ZmZlcitOLFIpO0koUCxNKTtyZXR1cm4gUC5yQn12YXIgTD12KEQubGVuZ3RoLTEsTSk7aWYoTCl7dmFyIE89Ui5jTj8iPC9zcGFuPiI6IiI7aWYoUi5yRSl7eSs9SihSLmJ1ZmZlcitOLFIpK099ZWxzZXtpZihSLmVFKXt5Kz1KKFIuYnVmZmVyK04sUikrTyttKE0pfWVsc2V7eSs9SihSLmJ1ZmZlcitOK00sUikrT319d2hpbGUoTD4xKXtPPURbRC5sZW5ndGgtMl0uY04/Ijwvc3Bhbj4iOiIiO3krPU87TC0tO0QubGVuZ3RoLS19dmFyIHI9RFtELmxlbmd0aC0xXTtELmxlbmd0aC0tO0RbRC5sZW5ndGgtMV0uYnVmZmVyPSIiO2lmKHIuc3RhcnRzKXtJKHIuc3RhcnRzLCIiKX1yZXR1cm4gUi5yRX1pZih3KE0sUikpe3Rocm93IklsbGVnYWwifX12YXIgRT1lW0JdO3ZhciBEPVtFLmRNXTt2YXIgQT0wO3ZhciB4PTA7dmFyIHk9IiI7dHJ5e3ZhciBzLHU9MDtFLmRNLmJ1ZmZlcj0iIjtkb3tzPXAoQyx1KTt2YXIgdD1HKHNbMF0sc1sxXSxzWzJdKTt1Kz1zWzBdLmxlbmd0aDtpZighdCl7dSs9c1sxXS5sZW5ndGh9fXdoaWxlKCFzWzJdKTtpZihELmxlbmd0aD4xKXt0aHJvdyJJbGxlZ2FsIn1yZXR1cm57cjpBLGtleXdvcmRfY291bnQ6eCx2YWx1ZTp5fX1jYXRjaChIKXtpZihIPT0iSWxsZWdhbCIpe3JldHVybntyOjAsa2V5d29yZF9jb3VudDowLHZhbHVlOm0oQyl9fWVsc2V7dGhyb3cgSH19fWZ1bmN0aW9uIGcodCl7dmFyIHA9e2tleXdvcmRfY291bnQ6MCxyOjAsdmFsdWU6bSh0KX07dmFyIHI9cDtmb3IodmFyIHEgaW4gZSl7aWYoIWUuaGFzT3duUHJvcGVydHkocSkpe2NvbnRpbnVlfXZhciBzPWQocSx0KTtzLmxhbmd1YWdlPXE7aWYocy5rZXl3b3JkX2NvdW50K3Mucj5yLmtleXdvcmRfY291bnQrci5yKXtyPXN9aWYocy5rZXl3b3JkX2NvdW50K3Mucj5wLmtleXdvcmRfY291bnQrcC5yKXtyPXA7cD1zfX1pZihyLmxhbmd1YWdlKXtwLnNlY29uZF9iZXN0PXJ9cmV0dXJuIHB9ZnVuY3Rpb24gaShyLHEscCl7aWYocSl7cj1yLnJlcGxhY2UoL14oKDxbXj5dKz58XHQpKykvZ20sZnVuY3Rpb24odCx3LHYsdSl7cmV0dXJuIHcucmVwbGFjZSgvXHQvZyxxKX0pfWlmKHApe3I9ci5yZXBsYWNlKC9cbi9nLCI8YnI+Iil9cmV0dXJuIHJ9ZnVuY3Rpb24gbih0LHcscil7dmFyIHg9aCh0LHIpO3ZhciB2PWEodCk7dmFyIHkscztpZih2KXt5PWQodix4KX1lbHNle3JldHVybn12YXIgcT1jKHQpO2lmKHEubGVuZ3RoKXtzPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInByZSIpO3MuaW5uZXJIVE1MPXkudmFsdWU7eS52YWx1ZT1rKHEsYyhzKSx4KX15LnZhbHVlPWkoeS52YWx1ZSx3LHIpO3ZhciB1PXQuY2xhc3NOYW1lO2lmKCF1Lm1hdGNoKCIoXFxzfF4pKGxhbmd1YWdlLSk/Iit2KyIoXFxzfCQpIikpe3U9dT8odSsiICIrdik6dn1pZigvTVNJRSBbNjc4XS8udGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSYmdC50YWdOYW1lPT0iQ09ERSImJnQucGFyZW50Tm9kZS50YWdOYW1lPT0iUFJFIil7cz10LnBhcmVudE5vZGU7dmFyIHA9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7cC5pbm5lckhUTUw9IjxwcmU+PGNvZGU+Iit5LnZhbHVlKyI8L2NvZGU+PC9wcmU+Ijt0PXAuZmlyc3RDaGlsZC5maXJzdENoaWxkO3AuZmlyc3RDaGlsZC5jTj1zLmNOO3MucGFyZW50Tm9kZS5yZXBsYWNlQ2hpbGQocC5maXJzdENoaWxkLHMpfWVsc2V7dC5pbm5lckhUTUw9eS52YWx1ZX10LmNsYXNzTmFtZT11O3QucmVzdWx0PXtsYW5ndWFnZTp2LGt3Onkua2V5d29yZF9jb3VudCxyZTp5LnJ9O2lmKHkuc2Vjb25kX2Jlc3Qpe3Quc2Vjb25kX2Jlc3Q9e2xhbmd1YWdlOnkuc2Vjb25kX2Jlc3QubGFuZ3VhZ2Usa3c6eS5zZWNvbmRfYmVzdC5rZXl3b3JkX2NvdW50LHJlOnkuc2Vjb25kX2Jlc3Qucn19fWZ1bmN0aW9uIG8oKXtpZihvLmNhbGxlZCl7cmV0dXJufW8uY2FsbGVkPXRydWU7dmFyIHI9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInByZSIpO2Zvcih2YXIgcD0wO3A8ci5sZW5ndGg7cCsrKXt2YXIgcT1iKHJbcF0pO2lmKHEpe24ocSxobGpzLnRhYlJlcGxhY2UpfX19ZnVuY3Rpb24gbCgpe2lmKHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKXt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsbyxmYWxzZSk7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLG8sZmFsc2UpfWVsc2V7aWYod2luZG93LmF0dGFjaEV2ZW50KXt3aW5kb3cuYXR0YWNoRXZlbnQoIm9ubG9hZCIsbyl9ZWxzZXt3aW5kb3cub25sb2FkPW99fX12YXIgZT17fTt0aGlzLkxBTkdVQUdFUz1lO3RoaXMuaGlnaGxpZ2h0PWQ7dGhpcy5oaWdobGlnaHRBdXRvPWc7dGhpcy5maXhNYXJrdXA9aTt0aGlzLmhpZ2hsaWdodEJsb2NrPW47dGhpcy5pbml0SGlnaGxpZ2h0aW5nPW87dGhpcy5pbml0SGlnaGxpZ2h0aW5nT25Mb2FkPWw7dGhpcy5JUj0iW2EtekEtWl1bYS16QS1aMC05X10qIjt0aGlzLlVJUj0iW2EtekEtWl9dW2EtekEtWjAtOV9dKiI7dGhpcy5OUj0iXFxiXFxkKyhcXC5cXGQrKT8iO3RoaXMuQ05SPSJcXGIoMFt4WF1bYS1mQS1GMC05XSt8KFxcZCsoXFwuXFxkKik/fFxcLlxcZCspKFtlRV1bLStdP1xcZCspPykiO3RoaXMuQk5SPSJcXGIoMGJbMDFdKykiO3RoaXMuUlNSPSIhfCE9fCE9PXwlfCU9fCZ8JiZ8Jj18XFwqfFxcKj18XFwrfFxcKz18LHxcXC58LXwtPXwvfC89fDp8O3w8fDw8fDw8PXw8PXw9fD09fD09PXw+fD49fD4+fD4+PXw+Pj58Pj4+PXxcXD98XFxbfFxce3xcXCh8XFxefFxcXj18XFx8fFxcfD18XFx8XFx8fH4iO3RoaXMuRVI9Iig/IVtcXHNcXFNdKSI7dGhpcy5CRT17YjoiXFxcXC4iLHI6MH07dGhpcy5BU009e2NOOiJzdHJpbmciLGI6IiciLGU6IiciLGk6IlxcbiIsYzpbdGhpcy5CRV0scjowfTt0aGlzLlFTTT17Y046InN0cmluZyIsYjonIicsZTonIicsaToiXFxuIixjOlt0aGlzLkJFXSxyOjB9O3RoaXMuQ0xDTT17Y046ImNvbW1lbnQiLGI6Ii8vIixlOiIkIn07dGhpcy5DQkxDTE09e2NOOiJjb21tZW50IixiOiIvXFwqIixlOiJcXCovIn07dGhpcy5IQ009e2NOOiJjb21tZW50IixiOiIjIixlOiIkIn07dGhpcy5OTT17Y046Im51bWJlciIsYjp0aGlzLk5SLHI6MH07dGhpcy5DTk09e2NOOiJudW1iZXIiLGI6dGhpcy5DTlIscjowfTt0aGlzLkJOTT17Y046Im51bWJlciIsYjp0aGlzLkJOUixyOjB9O3RoaXMuaW5oZXJpdD1mdW5jdGlvbihyLHMpe3ZhciBwPXt9O2Zvcih2YXIgcSBpbiByKXtwW3FdPXJbcV19aWYocyl7Zm9yKHZhciBxIGluIHMpe3BbcV09c1txXX19cmV0dXJuIHB9fSgpO2hsanMuTEFOR1VBR0VTLmJhc2g9ZnVuY3Rpb24oKXt2YXIgZT17InRydWUiOjEsImZhbHNlIjoxfTt2YXIgYj17Y046InZhcmlhYmxlIixiOiJcXCQoW2EtekEtWjAtOV9dKylcXGIifTt2YXIgYT17Y046InZhcmlhYmxlIixiOiJcXCRcXHsoKFtefV0pfChcXFxcfSkpK1xcfSIsYzpbaGxqcy5DTk1dfTt2YXIgZj17Y046InN0cmluZyIsYjonIicsZTonIicsaToiXFxuIixjOltobGpzLkJFLGIsYV0scjowfTt2YXIgYz17Y046InN0cmluZyIsYjoiJyIsZToiJyIsYzpbe2I6IicnIn1dLHI6MH07dmFyIGQ9e2NOOiJ0ZXN0X2NvbmRpdGlvbiIsYjoiIixlOiIiLGM6W2YsYyxiLGEsaGxqcy5DTk1dLGs6e2xpdGVyYWw6ZX0scjowfTtyZXR1cm57ZE06e2s6e2tleXdvcmQ6eyJpZiI6MSx0aGVuOjEsImVsc2UiOjEsZmk6MSwiZm9yIjoxLCJicmVhayI6MSwiY29udGludWUiOjEsIndoaWxlIjoxLCJpbiI6MSwiZG8iOjEsZG9uZToxLGVjaG86MSxleGl0OjEsInJldHVybiI6MSxzZXQ6MSxkZWNsYXJlOjF9LGxpdGVyYWw6ZX0sYzpbe2NOOiJzaGViYW5nIixiOiIoIyFcXC9iaW5cXC9iYXNoKXwoIyFcXC9iaW5cXC9zaCkiLHI6MTB9LGIsYSxobGpzLkhDTSxobGpzLkNOTSxmLGMsaGxqcy5pbmhlcml0KGQse2I6IlxcWyAiLGU6IiBcXF0iLHI6MH0pLGhsanMuaW5oZXJpdChkLHtiOiJcXFtcXFsgIixlOiIgXFxdXFxdIn0pXX19fSgpO2hsanMuTEFOR1VBR0VTLmNwcD1mdW5jdGlvbigpe3ZhciBhPXtrZXl3b3JkOnsiZmFsc2UiOjEsImludCI6MSwiZmxvYXQiOjEsIndoaWxlIjoxLCJwcml2YXRlIjoxLCJjaGFyIjoxLCJjYXRjaCI6MSwiZXhwb3J0IjoxLHZpcnR1YWw6MSxvcGVyYXRvcjoyLHNpemVvZjoyLGR5bmFtaWNfY2FzdDoyLHR5cGVkZWY6Mixjb25zdF9jYXN0OjIsImNvbnN0IjoxLHN0cnVjdDoxLCJmb3IiOjEsc3RhdGljX2Nhc3Q6Mix1bmlvbjoxLG5hbWVzcGFjZToxLHVuc2lnbmVkOjEsImxvbmciOjEsInRocm93IjoxLCJ2b2xhdGlsZSI6Miwic3RhdGljIjoxLCJwcm90ZWN0ZWQiOjEsYm9vbDoxLHRlbXBsYXRlOjEsbXV0YWJsZToxLCJpZiI6MSwicHVibGljIjoxLGZyaWVuZDoyLCJkbyI6MSwicmV0dXJuIjoxLCJnb3RvIjoxLGF1dG86MSwidm9pZCI6MiwiZW51bSI6MSwiZWxzZSI6MSwiYnJlYWsiOjEsIm5ldyI6MSxleHRlcm46MSx1c2luZzoxLCJ0cnVlIjoxLCJjbGFzcyI6MSxhc206MSwiY2FzZSI6MSx0eXBlaWQ6MSwic2hvcnQiOjEscmVpbnRlcnByZXRfY2FzdDoyLCJkZWZhdWx0IjoxLCJkb3VibGUiOjEscmVnaXN0ZXI6MSxleHBsaWNpdDoxLHNpZ25lZDoxLHR5cGVuYW1lOjEsInRyeSI6MSwidGhpcyI6MSwic3dpdGNoIjoxLCJjb250aW51ZSI6MSx3Y2hhcl90OjEsaW5saW5lOjEsImRlbGV0ZSI6MSxhbGlnbm9mOjEsY2hhcjE2X3Q6MSxjaGFyMzJfdDoxLGNvbnN0ZXhwcjoxLGRlY2x0eXBlOjEsbm9leGNlcHQ6MSxudWxscHRyOjEsc3RhdGljX2Fzc2VydDoxLHRocmVhZF9sb2NhbDoxLHJlc3RyaWN0OjEsX0Jvb2w6MSxjb21wbGV4OjF9LGJ1aWx0X2luOntzdGQ6MSxzdHJpbmc6MSxjaW46MSxjb3V0OjEsY2VycjoxLGNsb2c6MSxzdHJpbmdzdHJlYW06MSxpc3RyaW5nc3RyZWFtOjEsb3N0cmluZ3N0cmVhbToxLGF1dG9fcHRyOjEsZGVxdWU6MSxsaXN0OjEscXVldWU6MSxzdGFjazoxLHZlY3RvcjoxLG1hcDoxLHNldDoxLGJpdHNldDoxLG11bHRpc2V0OjEsbXVsdGltYXA6MSx1bm9yZGVyZWRfc2V0OjEsdW5vcmRlcmVkX21hcDoxLHVub3JkZXJlZF9tdWx0aXNldDoxLHVub3JkZXJlZF9tdWx0aW1hcDoxLGFycmF5OjEsc2hhcmVkX3B0cjoxfX07cmV0dXJue2RNOntrOmEsaToiPC8iLGM6W2hsanMuQ0xDTSxobGpzLkNCTENMTSxobGpzLlFTTSx7Y046InN0cmluZyIsYjoiJ1xcXFw/LiIsZToiJyIsaToiLiJ9LHtjTjoibnVtYmVyIixiOiJcXGIoXFxkKyhcXC5cXGQqKT98XFwuXFxkKykodXxVfGx8THx1bHxVTHxmfEYpIn0saGxqcy5DTk0se2NOOiJwcmVwcm9jZXNzb3IiLGI6IiMiLGU6IiQifSx7Y046InN0bF9jb250YWluZXIiLGI6IlxcYihkZXF1ZXxsaXN0fHF1ZXVlfHN0YWNrfHZlY3RvcnxtYXB8c2V0fGJpdHNldHxtdWx0aXNldHxtdWx0aW1hcHx1bm9yZGVyZWRfbWFwfHVub3JkZXJlZF9zZXR8dW5vcmRlcmVkX211bHRpc2V0fHVub3JkZXJlZF9tdWx0aW1hcHxhcnJheSlcXHMqPCIsZToiPiIsazphLHI6MTAsYzpbInNlbGYiXX1dfX19KCk7aGxqcy5MQU5HVUFHRVMuY3NzPWZ1bmN0aW9uKCl7dmFyIGE9e2NOOiJmdW5jdGlvbiIsYjpobGpzLklSKyJcXCgiLGU6IlxcKSIsYzpbe2VXOnRydWUsZUU6dHJ1ZSxjOltobGpzLk5NLGhsanMuQVNNLGhsanMuUVNNXX1dfTtyZXR1cm57Y0k6dHJ1ZSxkTTp7aToiWz0vfCddIixjOltobGpzLkNCTENMTSx7Y046ImlkIixiOiJcXCNbQS1aYS16MC05Xy1dKyJ9LHtjTjoiY2xhc3MiLGI6IlxcLltBLVphLXowLTlfLV0rIixyOjB9LHtjTjoiYXR0cl9zZWxlY3RvciIsYjoiXFxbIixlOiJcXF0iLGk6IiQifSx7Y046InBzZXVkbyIsYjoiOig6KT9bYS16QS1aMC05XFxfXFwtXFwrXFwoXFwpXFxcIlxcJ10rIn0se2NOOiJhdF9ydWxlIixiOiJAKGZvbnQtZmFjZXxwYWdlKSIsbDoiW2Etei1dKyIsazp7ImZvbnQtZmFjZSI6MSxwYWdlOjF9fSx7Y046ImF0X3J1bGUiLGI6IkAiLGU6Ilt7O10iLGVFOnRydWUsazp7ImltcG9ydCI6MSxwYWdlOjEsbWVkaWE6MSxjaGFyc2V0OjF9LGM6W2EsaGxqcy5BU00saGxqcy5RU00saGxqcy5OTV19LHtjTjoidGFnIixiOmhsanMuSVIscjowfSx7Y046InJ1bGVzIixiOiJ7IixlOiJ9IixpOiJbXlxcc10iLHI6MCxjOltobGpzLkNCTENMTSx7Y046InJ1bGUiLGI6IlteXFxzXSIsckI6dHJ1ZSxlOiI7IixlVzp0cnVlLGM6W3tjTjoiYXR0cmlidXRlIixiOiJbQS1aXFxfXFwuXFwtXSsiLGU6IjoiLGVFOnRydWUsaToiW15cXHNdIixzdGFydHM6e2NOOiJ2YWx1ZSIsZVc6dHJ1ZSxlRTp0cnVlLGM6W2EsaGxqcy5OTSxobGpzLlFTTSxobGpzLkFTTSxobGpzLkNCTENMTSx7Y046ImhleGNvbG9yIixiOiJcXCNbMC05QS1GXSsifSx7Y046ImltcG9ydGFudCIsYjoiIWltcG9ydGFudCJ9XX19XX1dfV19fX0oKTtobGpzLkxBTkdVQUdFUy5pbmk9e2NJOnRydWUsZE06e2k6IlteXFxzXSIsYzpbe2NOOiJjb21tZW50IixiOiI7IixlOiIkIn0se2NOOiJ0aXRsZSIsYjoiXlxcWyIsZToiXFxdIn0se2NOOiJzZXR0aW5nIixiOiJeW2EtejAtOV9cXFtcXF1dK1sgXFx0XSo9WyBcXHRdKiIsZToiJCIsYzpbe2NOOiJ2YWx1ZSIsZVc6dHJ1ZSxrOntvbjoxLG9mZjoxLCJ0cnVlIjoxLCJmYWxzZSI6MSx5ZXM6MSxubzoxfSxjOltobGpzLlFTTSxobGpzLk5NXX1dfV19fTtobGpzLkxBTkdVQUdFUy5wZXJsPWZ1bmN0aW9uKCl7dmFyIGQ9e2dldHB3ZW50OjEsZ2V0c2VydmVudDoxLHF1b3RlbWV0YToxLG1zZ3JjdjoxLHNjYWxhcjoxLGtpbGw6MSxkYm1jbG9zZToxLHVuZGVmOjEsbGM6MSxtYToxLHN5c3dyaXRlOjEsdHI6MSxzZW5kOjEsdW1hc2s6MSxzeXNvcGVuOjEsc2htd3JpdGU6MSx2ZWM6MSxxeDoxLHV0aW1lOjEsbG9jYWw6MSxvY3Q6MSxzZW1jdGw6MSxsb2NhbHRpbWU6MSxyZWFkcGlwZToxLCJkbyI6MSwicmV0dXJuIjoxLGZvcm1hdDoxLHJlYWQ6MSxzcHJpbnRmOjEsZGJtb3BlbjoxLHBvcDoxLGdldHBncnA6MSxub3Q6MSxnZXRwd25hbToxLHJld2luZGRpcjoxLHFxOjEsZmlsZW5vOjEscXc6MSxlbmRwcm90b2VudDoxLHdhaXQ6MSxzZXRob3N0ZW50OjEsYmxlc3M6MSxzOjAsb3BlbmRpcjoxLCJjb250aW51ZSI6MSxlYWNoOjEsc2xlZXA6MSxlbmRncmVudDoxLHNodXRkb3duOjEsZHVtcDoxLGNob21wOjEsY29ubmVjdDoxLGdldHNvY2tuYW1lOjEsZGllOjEsc29ja2V0cGFpcjoxLGNsb3NlOjEsZmxvY2s6MSxleGlzdHM6MSxpbmRleDoxLHNobWdldDoxLHN1YjoxLCJmb3IiOjEsZW5kcHdlbnQ6MSxyZWRvOjEsbHN0YXQ6MSxtc2djdGw6MSxzZXRwZ3JwOjEsYWJzOjEsZXhpdDoxLHNlbGVjdDoxLHByaW50OjEscmVmOjEsZ2V0aG9zdGJ5YWRkcjoxLHVuc2hpZnQ6MSxmY250bDoxLHN5c2NhbGw6MSwiZ290byI6MSxnZXRuZXRieWFkZHI6MSxqb2luOjEsZ210aW1lOjEsc3ltbGluazoxLHNlbWdldDoxLHNwbGljZToxLHg6MCxnZXRwZWVybmFtZToxLHJlY3Y6MSxsb2c6MSxzZXRzb2Nrb3B0OjEsY29zOjEsbGFzdDoxLHJldmVyc2U6MSxnZXRob3N0YnluYW1lOjEsZ2V0Z3JuYW06MSxzdHVkeToxLGZvcm1saW5lOjEsZW5kaG9zdGVudDoxLHRpbWVzOjEsY2hvcDoxLGxlbmd0aDoxLGdldGhvc3RlbnQ6MSxnZXRuZXRlbnQ6MSxwYWNrOjEsZ2V0cHJvdG9lbnQ6MSxnZXRzZXJ2YnluYW1lOjEscmFuZDoxLG1rZGlyOjEscG9zOjEsY2htb2Q6MSx5OjAsc3Vic3RyOjEsZW5kbmV0ZW50OjEscHJpbnRmOjEsbmV4dDoxLG9wZW46MSxtc2dzbmQ6MSxyZWFkZGlyOjEsdXNlOjEsdW5saW5rOjEsZ2V0c29ja29wdDoxLGdldHByaW9yaXR5OjEscmluZGV4OjEsd2FudGFycmF5OjEsaGV4OjEsc3lzdGVtOjEsZ2V0c2VydmJ5cG9ydDoxLGVuZHNlcnZlbnQ6MSwiaW50IjoxLGNocjoxLHVudGllOjEscm1kaXI6MSxwcm90b3R5cGU6MSx0ZWxsOjEsbGlzdGVuOjEsZm9yazoxLHNobXJlYWQ6MSx1Y2ZpcnN0OjEsc2V0cHJvdG9lbnQ6MSwiZWxzZSI6MSxzeXNzZWVrOjEsbGluazoxLGdldGdyZ2lkOjEsc2htY3RsOjEsd2FpdHBpZDoxLHVucGFjazoxLGdldG5ldGJ5bmFtZToxLHJlc2V0OjEsY2hkaXI6MSxncmVwOjEsc3BsaXQ6MSxyZXF1aXJlOjEsY2FsbGVyOjEsbGNmaXJzdDoxLHVudGlsOjEsd2FybjoxLCJ3aGlsZSI6MSx2YWx1ZXM6MSxzaGlmdDoxLHRlbGxkaXI6MSxnZXRwd3VpZDoxLG15OjEsZ2V0cHJvdG9ieW51bWJlcjoxLCJkZWxldGUiOjEsYW5kOjEsc29ydDoxLHVjOjEsZGVmaW5lZDoxLHNyYW5kOjEsYWNjZXB0OjEsInBhY2thZ2UiOjEsc2Vla2RpcjoxLGdldHByb3RvYnluYW1lOjEsc2Vtb3A6MSxvdXI6MSxyZW5hbWU6MSxzZWVrOjEsImlmIjoxLHE6MCxjaHJvb3Q6MSxzeXNyZWFkOjEsc2V0cHdlbnQ6MSxubzoxLGNyeXB0OjEsZ2V0YzoxLGNob3duOjEsc3FydDoxLHdyaXRlOjEsc2V0bmV0ZW50OjEsc2V0cHJpb3JpdHk6MSxmb3JlYWNoOjEsdGllOjEsc2luOjEsbXNnZ2V0OjEsbWFwOjEsc3RhdDoxLGdldGxvZ2luOjEsdW5sZXNzOjEsZWxzaWY6MSx0cnVuY2F0ZToxLGV4ZWM6MSxrZXlzOjEsZ2xvYjoxLHRpZWQ6MSxjbG9zZWRpcjoxLGlvY3RsOjEsc29ja2V0OjEscmVhZGxpbms6MSwiZXZhbCI6MSx4b3I6MSxyZWFkbGluZToxLGJpbm1vZGU6MSxzZXRzZXJ2ZW50OjEsZW9mOjEsb3JkOjEsYmluZDoxLGFsYXJtOjEscGlwZToxLGF0YW4yOjEsZ2V0Z3JlbnQ6MSxleHA6MSx0aW1lOjEscHVzaDoxLHNldGdyZW50OjEsZ3Q6MSxsdDoxLG9yOjEsbmU6MSxtOjB9O3ZhciBmPXtjTjoic3Vic3QiLGI6IlskQF1cXHsiLGU6IlxcfSIsazpkLHI6MTB9O3ZhciBjPXtjTjoidmFyaWFibGUiLGI6IlxcJFxcZCJ9O3ZhciBiPXtjTjoidmFyaWFibGUiLGI6IltcXCRcXCVcXEBcXCpdKFxcXlxcd1xcYnwjXFx3KyhcXDpcXDpcXHcrKSp8W15cXHNcXHd7XXx7XFx3K318XFx3KyhcXDpcXDpcXHcqKSopIn07dmFyIGg9W2hsanMuQkUsZixjLGJdO3ZhciBnPXtiOiItPiIsYzpbe2I6aGxqcy5JUn0se2I6InsiLGU6In0ifV19O3ZhciBlPXtjTjoiY29tbWVudCIsYjoiXihfX0VORF9ffF9fREFUQV9fKSIsZToiXFxuJCIscjo1fTt2YXIgYT1bYyxiLGhsanMuSENNLGUsZyx7Y046InN0cmluZyIsYjoicVtxd3hyXT9cXHMqXFwoIixlOiJcXCkiLGM6aCxyOjV9LHtjTjoic3RyaW5nIixiOiJxW3F3eHJdP1xccypcXFsiLGU6IlxcXSIsYzpoLHI6NX0se2NOOiJzdHJpbmciLGI6InFbcXd4cl0/XFxzKlxceyIsZToiXFx9IixjOmgscjo1fSx7Y046InN0cmluZyIsYjoicVtxd3hyXT9cXHMqXFx8IixlOiJcXHwiLGM6aCxyOjV9LHtjTjoic3RyaW5nIixiOiJxW3F3eHJdP1xccypcXDwiLGU6IlxcPiIsYzpoLHI6NX0se2NOOiJzdHJpbmciLGI6InF3XFxzK3EiLGU6InEiLGM6aCxyOjV9LHtjTjoic3RyaW5nIixiOiInIixlOiInIixjOltobGpzLkJFXSxyOjB9LHtjTjoic3RyaW5nIixiOiciJyxlOiciJyxjOmgscjowfSx7Y046InN0cmluZyIsYjoiYCIsZToiYCIsYzpbaGxqcy5CRV19LHtjTjoic3RyaW5nIixiOiJ7XFx3K30iLHI6MH0se2NOOiJzdHJpbmciLGI6Ii0/XFx3K1xccypcXD1cXD4iLHI6MH0se2NOOiJudW1iZXIiLGI6IihcXGIwWzAtN19dKyl8KFxcYjB4WzAtOWEtZkEtRl9dKyl8KFxcYlsxLTldWzAtOV9dKihcXC5bMC05X10rKT8pfFswX11cXGIiLHI6MH0se2I6IigiK2hsanMuUlNSKyJ8XFxiKHNwbGl0fHJldHVybnxwcmludHxyZXZlcnNlfGdyZXApXFxiKVxccyoiLGs6e3NwbGl0OjEsInJldHVybiI6MSxwcmludDoxLHJldmVyc2U6MSxncmVwOjF9LHI6MCxjOltobGpzLkhDTSxlLHtjTjoicmVnZXhwIixiOiIoc3x0cnx5KS8oXFxcXC58W14vXSkqLyhcXFxcLnxbXi9dKSovW2Etel0qIixyOjEwfSx7Y046InJlZ2V4cCIsYjoiKG18cXIpPy8iLGU6Ii9bYS16XSoiLGM6W2hsanMuQkVdLHI6MH1dfSx7Y046InN1YiIsYjoiXFxic3ViXFxiIixlOiIoXFxzKlxcKC4qP1xcKSk/Wzt7XSIsazp7c3ViOjF9LHI6NX0se2NOOiJvcGVyYXRvciIsYjoiLVxcd1xcYiIscjowfSx7Y046InBvZCIsYjoiXFw9XFx3IixlOiJcXD1jdXQifV07Zi5jPWE7Zy5jWzFdLmM9YTtyZXR1cm57ZE06e2s6ZCxjOmF9fX0oKTtobGpzLkxBTkdVQUdFUy5weXRob249ZnVuY3Rpb24oKXt2YXIgYj1be2NOOiJzdHJpbmciLGI6Iih1fGIpP3I/JycnIixlOiInJyciLHI6MTB9LHtjTjoic3RyaW5nIixiOicodXxiKT9yPyIiIicsZTonIiIiJyxyOjEwfSx7Y046InN0cmluZyIsYjoiKHV8cnx1ciknIixlOiInIixjOltobGpzLkJFXSxyOjEwfSx7Y046InN0cmluZyIsYjonKHV8cnx1cikiJyxlOiciJyxjOltobGpzLkJFXSxyOjEwfSx7Y046InN0cmluZyIsYjoiKGJ8YnIpJyIsZToiJyIsYzpbaGxqcy5CRV19LHtjTjoic3RyaW5nIixiOicoYnxicikiJyxlOiciJyxjOltobGpzLkJFXX1dLmNvbmNhdChbaGxqcy5BU00saGxqcy5RU01dKTt2YXIgZD17Y046InRpdGxlIixiOmhsanMuVUlSfTt2YXIgYz17Y046InBhcmFtcyIsYjoiXFwoIixlOiJcXCkiLGM6Yi5jb25jYXQoW2hsanMuQ05NXSl9O3ZhciBhPXtiV0s6dHJ1ZSxlOiI6IixpOiJbJHtdIixjOltkLGNdLHI6MTB9O3JldHVybntkTTp7azp7a2V5d29yZDp7YW5kOjEsZWxpZjoxLGlzOjEsZ2xvYmFsOjEsYXM6MSwiaW4iOjEsImlmIjoxLGZyb206MSxyYWlzZToxLCJmb3IiOjEsZXhjZXB0OjEsImZpbmFsbHkiOjEscHJpbnQ6MSwiaW1wb3J0IjoxLHBhc3M6MSwicmV0dXJuIjoxLGV4ZWM6MSwiZWxzZSI6MSwiYnJlYWsiOjEsbm90OjEsIndpdGgiOjEsImNsYXNzIjoxLGFzc2VydDoxLHlpZWxkOjEsInRyeSI6MSwid2hpbGUiOjEsImNvbnRpbnVlIjoxLGRlbDoxLG9yOjEsZGVmOjEsbGFtYmRhOjEsbm9ubG9jYWw6MTB9LGJ1aWx0X2luOntOb25lOjEsVHJ1ZToxLEZhbHNlOjEsRWxsaXBzaXM6MSxOb3RJbXBsZW1lbnRlZDoxfX0saToiKDwvfC0+fFxcPykiLGM6Yi5jb25jYXQoW2hsanMuSENNLGhsanMuaW5oZXJpdChhLHtjTjoiZnVuY3Rpb24iLGs6e2RlZjoxfX0pLGhsanMuaW5oZXJpdChhLHtjTjoiY2xhc3MiLGs6eyJjbGFzcyI6MX19KSxobGpzLkNOTSx7Y046ImRlY29yYXRvciIsYjoiQCIsZToiJCJ9XSl9fX0oKTtobGpzLkxBTkdVQUdFUy5yPXtkTTp7YzpbaGxqcy5IQ00se2NOOiJudW1iZXIiLGI6IlxcYjBbeFhdWzAtOWEtZkEtRl0rW0xpXT9cXGIiLGU6aGxqcy5JTU1FRElBVEVfUkUscjowfSx7Y046Im51bWJlciIsYjoiXFxiXFxkKyg/OltlRV1bK1xcLV0/XFxkKik/TFxcYiIsZTpobGpzLklNTUVESUFURV9SRSxyOjB9LHtjTjoibnVtYmVyIixiOiJcXGJcXGQrXFwuKD8hXFxkKSg/OmlcXGIpPyIsZTpobGpzLklNTUVESUFURV9SRSxyOjF9LHtjTjoibnVtYmVyIixiOiJcXGJcXGQrKD86XFwuXFxkKik/KD86W2VFXVsrXFwtXT9cXGQqKT9pP1xcYiIsZTpobGpzLklNTUVESUFURV9SRSxyOjB9LHtjTjoibnVtYmVyIixiOiJcXC5cXGQrKD86W2VFXVsrXFwtXT9cXGQqKT9pP1xcYiIsZTpobGpzLklNTUVESUFURV9SRSxyOjF9LHtjTjoia2V5d29yZCIsYjoiKD86dHJ5Q2F0Y2h8bGlicmFyeXxzZXRHZW5lcmljfHNldEdyb3VwR2VuZXJpYylcXGIiLGU6aGxqcy5JTU1FRElBVEVfUkUscjoxMH0se2NOOiJrZXl3b3JkIixiOiJcXC5cXC5cXC4iLGU6aGxqcy5JTU1FRElBVEVfUkUscjoxMH0se2NOOiJrZXl3b3JkIixiOiJcXC5cXC5cXGQrKD8hW1xcdy5dKSIsZTpobGpzLklNTUVESUFURV9SRSxyOjEwfSx7Y046ImtleXdvcmQiLGI6IlxcYig/OmZ1bmN0aW9uKSIsZTpobGpzLklNTUVESUFURV9SRSxyOjJ9LHtjTjoia2V5d29yZCIsYjoiKD86aWZ8aW58YnJlYWt8bmV4dHxyZXBlYXR8ZWxzZXxmb3J8cmV0dXJufHN3aXRjaHx3aGlsZXx0cnl8c3RvcHx3YXJuaW5nfHJlcXVpcmV8YXR0YWNofGRldGFjaHxzb3VyY2V8c2V0TWV0aG9kfHNldENsYXNzKVxcYiIsZTpobGpzLklNTUVESUFURV9SRSxyOjF9LHtjTjoibGl0ZXJhbCIsYjoiKD86TkF8TkFfaW50ZWdlcl98TkFfcmVhbF98TkFfY2hhcmFjdGVyX3xOQV9jb21wbGV4XylcXGIiLGU6aGxqcy5JTU1FRElBVEVfUkUscjoxMH0se2NOOiJsaXRlcmFsIixiOiIoPzpOVUxMfFRSVUV8RkFMU0V8VHxGfEluZnxOYU4pXFxiIixlOmhsanMuSU1NRURJQVRFX1JFLHI6MX0se2NOOiJpZGVudGlmaWVyIixiOiJbYS16QS1aLl1bYS16QS1aMC05Ll9dKlxcYiIsZTpobGpzLklNTUVESUFURV9SRSxyOjB9LHtjTjoib3BlcmF0b3IiLGI6IjxcXC0oPyFcXHMqXFxkKSIsZTpobGpzLklNTUVESUFURV9SRSxyOjJ9LHtjTjoib3BlcmF0b3IiLGI6IlxcLT58PFxcLSIsZTpobGpzLklNTUVESUFURV9SRSxyOjF9LHtjTjoib3BlcmF0b3IiLGI6IiUlfH4iLGU6aGxqcy5JTU1FRElBVEVfUkV9LHtjTjoib3BlcmF0b3IiLGI6Ij49fDw9fD09fCE9fFxcfFxcfHwmJnw9fFxcK3xcXC18XFwqfC98XFxefD58PHwhfCZ8XFx8fFxcJHw6IixlOmhsanMuSU1NRURJQVRFX1JFLHI6MH0se2NOOiJvcGVyYXRvciIsYjoiJSIsZToiJSIsaToiXFxuIixyOjF9LHtjTjoiaWRlbnRpZmllciIsYjoiYCIsZToiYCIscjowfSx7Y046InN0cmluZyIsYjonIicsZTonIicsYzpbaGxqcy5CRV0scjowfSx7Y046InN0cmluZyIsYjoiJyIsZToiJyIsYzpbaGxqcy5CRV0scjowfSx7Y046InBhcmVuIixiOiJbWyh7XFxdKX1dIixlOmhsanMuSU1NRURJQVRFX1JFLHI6MH1dfX07aGxqcy5MQU5HVUFHRVMucnVieT1mdW5jdGlvbigpe3ZhciBhPSJbYS16QS1aX11bYS16QS1aMC05X10qKFxcIXxcXD8pPyI7dmFyIGo9IlthLXpBLVpfXVxcdypbIT89XT98Wy0rfl1cXEB8PDx8Pj58PX58PT09P3w8PT58Wzw+XT0/fFxcKlxcKnxbLS8rJV4mKn5gfF18XFxbXFxdPT8iO3ZhciBmPXtrZXl3b3JkOnthbmQ6MSwiZmFsc2UiOjEsdGhlbjoxLGRlZmluZWQ6MSxtb2R1bGU6MSwiaW4iOjEsInJldHVybiI6MSxyZWRvOjEsImlmIjoxLEJFR0lOOjEscmV0cnk6MSxlbmQ6MSwiZm9yIjoxLCJ0cnVlIjoxLHNlbGY6MSx3aGVuOjEsbmV4dDoxLHVudGlsOjEsImRvIjoxLGJlZ2luOjEsdW5sZXNzOjEsRU5EOjEscmVzY3VlOjEsbmlsOjEsImVsc2UiOjEsImJyZWFrIjoxLHVuZGVmOjEsbm90OjEsInN1cGVyIjoxLCJjbGFzcyI6MSwiY2FzZSI6MSxyZXF1aXJlOjEseWllbGQ6MSxhbGlhczoxLCJ3aGlsZSI6MSxlbnN1cmU6MSxlbHNpZjoxLG9yOjEsZGVmOjF9LGtleW1ldGhvZHM6e19faWRfXzoxLF9fc2VuZF9fOjEsYWJvcnQ6MSxhYnM6MSwiYWxsPyI6MSxhbGxvY2F0ZToxLGFuY2VzdG9yczoxLCJhbnk/IjoxLGFyaXR5OjEsYXNzb2M6MSxhdDoxLGF0X2V4aXQ6MSxhdXRvbG9hZDoxLCJhdXRvbG9hZD8iOjEsImJldHdlZW4/IjoxLGJpbmRpbmc6MSxiaW5tb2RlOjEsImJsb2NrX2dpdmVuPyI6MSxjYWxsOjEsY2FsbGNjOjEsY2FsbGVyOjEsY2FwaXRhbGl6ZToxLCJjYXBpdGFsaXplISI6MSxjYXNlY21wOjEsImNhdGNoIjoxLGNlaWw6MSxjZW50ZXI6MSxjaG9tcDoxLCJjaG9tcCEiOjEsY2hvcDoxLCJjaG9wISI6MSxjaHI6MSwiY2xhc3MiOjEsY2xhc3NfZXZhbDoxLCJjbGFzc192YXJpYWJsZV9kZWZpbmVkPyI6MSxjbGFzc192YXJpYWJsZXM6MSxjbGVhcjoxLGNsb25lOjEsY2xvc2U6MSxjbG9zZV9yZWFkOjEsY2xvc2Vfd3JpdGU6MSwiY2xvc2VkPyI6MSxjb2VyY2U6MSxjb2xsZWN0OjEsImNvbGxlY3QhIjoxLGNvbXBhY3Q6MSwiY29tcGFjdCEiOjEsY29uY2F0OjEsImNvbnN0X2RlZmluZWQ/IjoxLGNvbnN0X2dldDoxLGNvbnN0X21pc3Npbmc6MSxjb25zdF9zZXQ6MSxjb25zdGFudHM6MSxjb3VudDoxLGNyeXB0OjEsImRlZmF1bHQiOjEsZGVmYXVsdF9wcm9jOjEsImRlbGV0ZSI6MSwiZGVsZXRlISI6MSxkZWxldGVfYXQ6MSxkZWxldGVfaWY6MSxkZXRlY3Q6MSxkaXNwbGF5OjEsZGl2OjEsZGl2bW9kOjEsZG93bmNhc2U6MSwiZG93bmNhc2UhIjoxLGRvd250bzoxLGR1bXA6MSxkdXA6MSxlYWNoOjEsZWFjaF9ieXRlOjEsZWFjaF9pbmRleDoxLGVhY2hfa2V5OjEsZWFjaF9saW5lOjEsZWFjaF9wYWlyOjEsZWFjaF92YWx1ZToxLGVhY2hfd2l0aF9pbmRleDoxLCJlbXB0eT8iOjEsZW50cmllczoxLGVvZjoxLCJlb2Y/IjoxLCJlcWw/IjoxLCJlcXVhbD8iOjEsImV2YWwiOjEsZXhlYzoxLGV4aXQ6MSwiZXhpdCEiOjEsZXh0ZW5kOjEsZmFpbDoxLGZjbnRsOjEsZmV0Y2g6MSxmaWxlbm86MSxmaWxsOjEsZmluZDoxLGZpbmRfYWxsOjEsZmlyc3Q6MSxmbGF0dGVuOjEsImZsYXR0ZW4hIjoxLGZsb29yOjEsZmx1c2g6MSxmb3JfZmQ6MSxmb3JlYWNoOjEsZm9yazoxLGZvcm1hdDoxLGZyZWV6ZToxLCJmcm96ZW4/IjoxLGZzeW5jOjEsZ2V0YzoxLGdldHM6MSxnbG9iYWxfdmFyaWFibGVzOjEsZ3JlcDoxLGdzdWI6MSwiZ3N1YiEiOjEsImhhc19rZXk/IjoxLCJoYXNfdmFsdWU/IjoxLGhhc2g6MSxoZXg6MSxpZDoxLGluY2x1ZGU6MSwiaW5jbHVkZT8iOjEsaW5jbHVkZWRfbW9kdWxlczoxLGluZGV4OjEsaW5kZXhlczoxLGluZGljZXM6MSxpbmR1Y2VkX2Zyb206MSxpbmplY3Q6MSxpbnNlcnQ6MSxpbnNwZWN0OjEsaW5zdGFuY2VfZXZhbDoxLGluc3RhbmNlX21ldGhvZDoxLGluc3RhbmNlX21ldGhvZHM6MSwiaW5zdGFuY2Vfb2Y/IjoxLCJpbnN0YW5jZV92YXJpYWJsZV9kZWZpbmVkPyI6MSxpbnN0YW5jZV92YXJpYWJsZV9nZXQ6MSxpbnN0YW5jZV92YXJpYWJsZV9zZXQ6MSxpbnN0YW5jZV92YXJpYWJsZXM6MSwiaW50ZWdlcj8iOjEsaW50ZXJuOjEsaW52ZXJ0OjEsaW9jdGw6MSwiaXNfYT8iOjEsaXNhdHR5OjEsIml0ZXJhdG9yPyI6MSxqb2luOjEsImtleT8iOjEsa2V5czoxLCJraW5kX29mPyI6MSxsYW1iZGE6MSxsYXN0OjEsbGVuZ3RoOjEsbGluZW5vOjEsbGp1c3Q6MSxsb2FkOjEsbG9jYWxfdmFyaWFibGVzOjEsbG9vcDoxLGxzdHJpcDoxLCJsc3RyaXAhIjoxLG1hcDoxLCJtYXAhIjoxLG1hdGNoOjEsbWF4OjEsIm1lbWJlcj8iOjEsbWVyZ2U6MSwibWVyZ2UhIjoxLG1ldGhvZDoxLCJtZXRob2RfZGVmaW5lZD8iOjEsbWV0aG9kX21pc3Npbmc6MSxtZXRob2RzOjEsbWluOjEsbW9kdWxlX2V2YWw6MSxtb2R1bG86MSxuYW1lOjEsbmVzdGluZzoxLCJuZXciOjEsbmV4dDoxLCJuZXh0ISI6MSwibmlsPyI6MSxuaXRlbXM6MSwibm9uemVybz8iOjEsb2JqZWN0X2lkOjEsb2N0OjEsb3BlbjoxLHBhY2s6MSxwYXJ0aXRpb246MSxwaWQ6MSxwaXBlOjEscG9wOjEscG9wZW46MSxwb3M6MSxwcmVjOjEscHJlY19mOjEscHJlY19pOjEscHJpbnQ6MSxwcmludGY6MSxwcml2YXRlX2NsYXNzX21ldGhvZDoxLHByaXZhdGVfaW5zdGFuY2VfbWV0aG9kczoxLCJwcml2YXRlX21ldGhvZF9kZWZpbmVkPyI6MSxwcml2YXRlX21ldGhvZHM6MSxwcm9jOjEscHJvdGVjdGVkX2luc3RhbmNlX21ldGhvZHM6MSwicHJvdGVjdGVkX21ldGhvZF9kZWZpbmVkPyI6MSxwcm90ZWN0ZWRfbWV0aG9kczoxLHB1YmxpY19jbGFzc19tZXRob2Q6MSxwdWJsaWNfaW5zdGFuY2VfbWV0aG9kczoxLCJwdWJsaWNfbWV0aG9kX2RlZmluZWQ/IjoxLHB1YmxpY19tZXRob2RzOjEscHVzaDoxLHB1dGM6MSxwdXRzOjEscXVvOjEscmFpc2U6MSxyYW5kOjEscmFzc29jOjEscmVhZDoxLHJlYWRfbm9uYmxvY2s6MSxyZWFkY2hhcjoxLHJlYWRsaW5lOjEscmVhZGxpbmVzOjEscmVhZHBhcnRpYWw6MSxyZWhhc2g6MSxyZWplY3Q6MSwicmVqZWN0ISI6MSxyZW1haW5kZXI6MSxyZW9wZW46MSxyZXBsYWNlOjEscmVxdWlyZToxLCJyZXNwb25kX3RvPyI6MSxyZXZlcnNlOjEsInJldmVyc2UhIjoxLHJldmVyc2VfZWFjaDoxLHJld2luZDoxLHJpbmRleDoxLHJqdXN0OjEscm91bmQ6MSxyc3RyaXA6MSwicnN0cmlwISI6MSxzY2FuOjEsc2VlazoxLHNlbGVjdDoxLHNlbmQ6MSxzZXRfdHJhY2VfZnVuYzoxLHNoaWZ0OjEsc2luZ2xldG9uX21ldGhvZF9hZGRlZDoxLHNpbmdsZXRvbl9tZXRob2RzOjEsc2l6ZToxLHNsZWVwOjEsc2xpY2U6MSwic2xpY2UhIjoxLHNvcnQ6MSwic29ydCEiOjEsc29ydF9ieToxLHNwbGl0OjEsc3ByaW50ZjoxLHNxdWVlemU6MSwic3F1ZWV6ZSEiOjEsc3JhbmQ6MSxzdGF0OjEsc3RlcDoxLHN0b3JlOjEsc3RyaXA6MSwic3RyaXAhIjoxLHN1YjoxLCJzdWIhIjoxLHN1Y2M6MSwic3VjYyEiOjEsc3VtOjEsc3VwZXJjbGFzczoxLHN3YXBjYXNlOjEsInN3YXBjYXNlISI6MSxzeW5jOjEsc3lzY2FsbDoxLHN5c29wZW46MSxzeXNyZWFkOjEsc3lzc2VlazoxLHN5c3RlbToxLHN5c3dyaXRlOjEsdGFpbnQ6MSwidGFpbnRlZD8iOjEsdGVsbDoxLHRlc3Q6MSwidGhyb3ciOjEsdGltZXM6MSx0b19hOjEsdG9fYXJ5OjEsdG9fZjoxLHRvX2hhc2g6MSx0b19pOjEsdG9faW50OjEsdG9faW86MSx0b19wcm9jOjEsdG9fczoxLHRvX3N0cjoxLHRvX3N5bToxLHRyOjEsInRyISI6MSx0cl9zOjEsInRyX3MhIjoxLHRyYWNlX3ZhcjoxLHRyYW5zcG9zZToxLHRyYXA6MSx0cnVuY2F0ZToxLCJ0dHk/IjoxLHR5cGU6MSx1bmdldGM6MSx1bmlxOjEsInVuaXEhIjoxLHVucGFjazoxLHVuc2hpZnQ6MSx1bnRhaW50OjEsdW50cmFjZV92YXI6MSx1cGNhc2U6MSwidXBjYXNlISI6MSx1cGRhdGU6MSx1cHRvOjEsInZhbHVlPyI6MSx2YWx1ZXM6MSx2YWx1ZXNfYXQ6MSx3YXJuOjEsd3JpdGU6MSx3cml0ZV9ub25ibG9jazoxLCJ6ZXJvPyI6MSx6aXA6MX19O3ZhciBjPXtjTjoieWFyZG9jdGFnIixiOiJAW0EtWmEtel0rIn07dmFyIGs9W3tjTjoiY29tbWVudCIsYjoiIyIsZToiJCIsYzpbY119LHtjTjoiY29tbWVudCIsYjoiXlxcPWJlZ2luIixlOiJeXFw9ZW5kIixjOltjXSxyOjEwfSx7Y046ImNvbW1lbnQiLGI6Il5fX0VORF9fIixlOiJcXG4kIn1dO3ZhciBkPXtjTjoic3Vic3QiLGI6IiNcXHsiLGU6In0iLGw6YSxrOmZ9O3ZhciBpPVtobGpzLkJFLGRdO3ZhciBiPVt7Y046InN0cmluZyIsYjoiJyIsZToiJyIsYzppLHI6MH0se2NOOiJzdHJpbmciLGI6JyInLGU6JyInLGM6aSxyOjB9LHtjTjoic3RyaW5nIixiOiIlW3F3XT9cXCgiLGU6IlxcKSIsYzppLHI6MTB9LHtjTjoic3RyaW5nIixiOiIlW3F3XT9cXFsiLGU6IlxcXSIsYzppLHI6MTB9LHtjTjoic3RyaW5nIixiOiIlW3F3XT97IixlOiJ9IixjOmkscjoxMH0se2NOOiJzdHJpbmciLGI6IiVbcXddPzwiLGU6Ij4iLGM6aSxyOjEwfSx7Y046InN0cmluZyIsYjoiJVtxd10/LyIsZToiLyIsYzppLHI6MTB9LHtjTjoic3RyaW5nIixiOiIlW3F3XT8lIixlOiIlIixjOmkscjoxMH0se2NOOiJzdHJpbmciLGI6IiVbcXddPy0iLGU6Ii0iLGM6aSxyOjEwfSx7Y046InN0cmluZyIsYjoiJVtxd10/XFx8IixlOiJcXHwiLGM6aSxyOjEwfV07dmFyIGg9e2NOOiJmdW5jdGlvbiIsYjoiXFxiZGVmXFxzKyIsZToiIHwkfDsiLGw6YSxrOmYsYzpbe2NOOiJ0aXRsZSIsYjpqLGw6YSxrOmZ9LHtjTjoicGFyYW1zIixiOiJcXCgiLGU6IlxcKSIsbDphLGs6Zn1dLmNvbmNhdChrKX07dmFyIGc9e2NOOiJpZGVudGlmaWVyIixiOmEsbDphLGs6ZixyOjB9O3ZhciBlPWsuY29uY2F0KGIuY29uY2F0KFt7Y046ImNsYXNzIixiOiJcXGIoY2xhc3N8bW9kdWxlKVxcYiIsZToiJHw7IixrOnsiY2xhc3MiOjEsbW9kdWxlOjF9LGM6W3tjTjoidGl0bGUiLGI6IltBLVphLXpfXVxcdyooOjpcXHcrKSooXFw/fFxcISk/IixyOjB9LHtjTjoiaW5oZXJpdGFuY2UiLGI6IjxcXHMqIixjOlt7Y046InBhcmVudCIsYjoiKCIraGxqcy5JUisiOjopPyIraGxqcy5JUn1dfV0uY29uY2F0KGspfSxoLHtjTjoiY29uc3RhbnQiLGI6Iig6Oik/KFtBLVpdXFx3Kig6Oik/KSsiLHI6MH0se2NOOiJzeW1ib2wiLGI6IjoiLGM6Yi5jb25jYXQoW2ddKSxyOjB9LHtjTjoibnVtYmVyIixiOiIoXFxiMFswLTdfXSspfChcXGIweFswLTlhLWZBLUZfXSspfChcXGJbMS05XVswLTlfXSooXFwuWzAtOV9dKyk/KXxbMF9dXFxiIixyOjB9LHtjTjoibnVtYmVyIixiOiJcXD9cXHcifSx7Y046InZhcmlhYmxlIixiOiIoXFwkXFxXKXwoKFxcJHxcXEBcXEA/KShcXHcrKSkifSxnLHtiOiIoIitobGpzLlJTUisiKVxccyoiLGM6ay5jb25jYXQoW3tjTjoicmVnZXhwIixiOiIvIixlOiIvW2Etel0qIixpOiJcXG4iLGM6W2hsanMuQkVdfV0pLHI6MH1dKSk7ZC5jPWU7aC5jWzFdLmM9ZTtyZXR1cm57ZE06e2w6YSxrOmYsYzplfX19KCk7aGxqcy5MQU5HVUFHRVMuc2NhbGE9ZnVuY3Rpb24oKXt2YXIgYj17Y046ImFubm90YXRpb24iLGI6IkBbQS1aYS16XSsifTt2YXIgYT17Y046InN0cmluZyIsYjondT9yPyIiIicsZTonIiIiJyxyOjEwfTtyZXR1cm57ZE06e2s6e3R5cGU6MSx5aWVsZDoxLGxhenk6MSxvdmVycmlkZToxLGRlZjoxLCJ3aXRoIjoxLHZhbDoxLCJ2YXIiOjEsImZhbHNlIjoxLCJ0cnVlIjoxLHNlYWxlZDoxLCJhYnN0cmFjdCI6MSwicHJpdmF0ZSI6MSx0cmFpdDoxLG9iamVjdDoxLCJudWxsIjoxLCJpZiI6MSwiZm9yIjoxLCJ3aGlsZSI6MSwidGhyb3ciOjEsImZpbmFsbHkiOjEsInByb3RlY3RlZCI6MSwiZXh0ZW5kcyI6MSwiaW1wb3J0IjoxLCJmaW5hbCI6MSwicmV0dXJuIjoxLCJlbHNlIjoxLCJicmVhayI6MSwibmV3IjoxLCJjYXRjaCI6MSwic3VwZXIiOjEsImNsYXNzIjoxLCJjYXNlIjoxLCJwYWNrYWdlIjoxLCJkZWZhdWx0IjoxLCJ0cnkiOjEsInRoaXMiOjEsbWF0Y2g6MSwiY29udGludWUiOjEsInRocm93cyI6MX0sYzpbe2NOOiJqYXZhZG9jIixiOiIvXFwqXFwqIixlOiJcXCovIixjOlt7Y046ImphdmFkb2N0YWciLGI6IkBbQS1aYS16XSsifV0scjoxMH0saGxqcy5DTENNLGhsanMuQ0JMQ0xNLGhsanMuQVNNLGhsanMuUVNNLGEse2NOOiJjbGFzcyIsYjoiKChjYXNlICk/Y2xhc3MgfG9iamVjdCB8dHJhaXQgKSIsZToiKHt8JCkiLGk6IjoiLGs6eyJjYXNlIjoxLCJjbGFzcyI6MSx0cmFpdDoxLG9iamVjdDoxfSxjOlt7YldLOnRydWUsazp7ImV4dGVuZHMiOjEsIndpdGgiOjF9LHI6MTB9LHtjTjoidGl0bGUiLGI6aGxqcy5VSVJ9LHtjTjoicGFyYW1zIixiOiJcXCgiLGU6IlxcKSIsYzpbaGxqcy5BU00saGxqcy5RU00sYSxiXX1dfSxobGpzLkNOTSxiXX19fSgpO2hsanMuTEFOR1VBR0VTLnNxbD17Y0k6dHJ1ZSxkTTp7aToiW15cXHNdIixjOlt7Y046Im9wZXJhdG9yIixiOiIoYmVnaW58c3RhcnR8Y29tbWl0fHJvbGxiYWNrfHNhdmVwb2ludHxsb2NrfGFsdGVyfGNyZWF0ZXxkcm9wfHJlbmFtZXxjYWxsfGRlbGV0ZXxkb3xoYW5kbGVyfGluc2VydHxsb2FkfHJlcGxhY2V8c2VsZWN0fHRydW5jYXRlfHVwZGF0ZXxzZXR8c2hvd3xwcmFnbWF8Z3JhbnQpXFxiIixlOiI7fCIraGxqcy5FUixrOntrZXl3b3JkOnthbGw6MSxwYXJ0aWFsOjEsZ2xvYmFsOjEsbW9udGg6MSxjdXJyZW50X3RpbWVzdGFtcDoxLHVzaW5nOjEsZ286MSxyZXZva2U6MSxzbWFsbGludDoxLGluZGljYXRvcjoxLCJlbmQtZXhlYyI6MSxkaXNjb25uZWN0OjEsem9uZToxLCJ3aXRoIjoxLGNoYXJhY3RlcjoxLGFzc2VydGlvbjoxLHRvOjEsYWRkOjEsY3VycmVudF91c2VyOjEsdXNhZ2U6MSxpbnB1dDoxLGxvY2FsOjEsYWx0ZXI6MSxtYXRjaDoxLGNvbGxhdGU6MSxyZWFsOjEsdGhlbjoxLHJvbGxiYWNrOjEsZ2V0OjEscmVhZDoxLHRpbWVzdGFtcDoxLHNlc3Npb25fdXNlcjoxLG5vdDoxLGludGVnZXI6MSxiaXQ6MSx1bmlxdWU6MSxkYXk6MSxtaW51dGU6MSxkZXNjOjEsaW5zZXJ0OjEsZXhlY3V0ZToxLGxpa2U6MSxpbGlrZToyLGxldmVsOjEsZGVjaW1hbDoxLGRyb3A6MSwiY29udGludWUiOjEsaXNvbGF0aW9uOjEsZm91bmQ6MSx3aGVyZToxLGNvbnN0cmFpbnRzOjEsZG9tYWluOjEscmlnaHQ6MSxuYXRpb25hbDoxLHNvbWU6MSxtb2R1bGU6MSx0cmFuc2FjdGlvbjoxLHJlbGF0aXZlOjEsc2Vjb25kOjEsY29ubmVjdDoxLGVzY2FwZToxLGNsb3NlOjEsc3lzdGVtX3VzZXI6MSwiZm9yIjoxLGRlZmVycmVkOjEsc2VjdGlvbjoxLGNhc3Q6MSxjdXJyZW50OjEsc3Fsc3RhdGU6MSxhbGxvY2F0ZToxLGludGVyc2VjdDoxLGRlYWxsb2NhdGU6MSxudW1lcmljOjEsInB1YmxpYyI6MSxwcmVzZXJ2ZToxLGZ1bGw6MSwiZ290byI6MSxpbml0aWFsbHk6MSxhc2M6MSxubzoxLGtleToxLG91dHB1dDoxLGNvbGxhdGlvbjoxLGdyb3VwOjEsYnk6MSx1bmlvbjoxLHNlc3Npb246MSxib3RoOjEsbGFzdDoxLGxhbmd1YWdlOjEsY29uc3RyYWludDoxLGNvbHVtbjoxLG9mOjEsc3BhY2U6MSxmb3JlaWduOjEsZGVmZXJyYWJsZToxLHByaW9yOjEsY29ubmVjdGlvbjoxLHVua25vd246MSxhY3Rpb246MSxjb21taXQ6MSx2aWV3OjEsb3I6MSxmaXJzdDoxLGludG86MSwiZmxvYXQiOjEseWVhcjoxLHByaW1hcnk6MSxjYXNjYWRlZDoxLGV4Y2VwdDoxLHJlc3RyaWN0OjEsc2V0OjEscmVmZXJlbmNlczoxLG5hbWVzOjEsdGFibGU6MSxvdXRlcjoxLG9wZW46MSxzZWxlY3Q6MSxzaXplOjEsYXJlOjEscm93czoxLGZyb206MSxwcmVwYXJlOjEsZGlzdGluY3Q6MSxsZWFkaW5nOjEsY3JlYXRlOjEsb25seToxLG5leHQ6MSxpbm5lcjoxLGF1dGhvcml6YXRpb246MSxzY2hlbWE6MSxjb3JyZXNwb25kaW5nOjEsb3B0aW9uOjEsZGVjbGFyZToxLHByZWNpc2lvbjoxLGltbWVkaWF0ZToxLCJlbHNlIjoxLHRpbWV6b25lX21pbnV0ZToxLGV4dGVybmFsOjEsdmFyeWluZzoxLHRyYW5zbGF0aW9uOjEsInRydWUiOjEsImNhc2UiOjEsZXhjZXB0aW9uOjEsam9pbjoxLGhvdXI6MSwiZGVmYXVsdCI6MSwiZG91YmxlIjoxLHNjcm9sbDoxLHZhbHVlOjEsY3Vyc29yOjEsZGVzY3JpcHRvcjoxLHZhbHVlczoxLGRlYzoxLGZldGNoOjEscHJvY2VkdXJlOjEsImRlbGV0ZSI6MSxhbmQ6MSwiZmFsc2UiOjEsImludCI6MSxpczoxLGRlc2NyaWJlOjEsImNoYXIiOjEsYXM6MSxhdDoxLCJpbiI6MSx2YXJjaGFyOjEsIm51bGwiOjEsdHJhaWxpbmc6MSxhbnk6MSxhYnNvbHV0ZToxLGN1cnJlbnRfdGltZToxLGVuZDoxLGdyYW50OjEscHJpdmlsZWdlczoxLHdoZW46MSxjcm9zczoxLGNoZWNrOjEsd3JpdGU6MSxjdXJyZW50X2RhdGU6MSxwYWQ6MSxiZWdpbjoxLHRlbXBvcmFyeToxLGV4ZWM6MSx0aW1lOjEsdXBkYXRlOjEsY2F0YWxvZzoxLHVzZXI6MSxzcWw6MSxkYXRlOjEsb246MSxpZGVudGl0eToxLHRpbWV6b25lX2hvdXI6MSxuYXR1cmFsOjEsd2hlbmV2ZXI6MSxpbnRlcnZhbDoxLHdvcms6MSxvcmRlcjoxLGNhc2NhZGU6MSxkaWFnbm9zdGljczoxLG5jaGFyOjEsaGF2aW5nOjEsbGVmdDoxLGNhbGw6MSwiZG8iOjEsaGFuZGxlcjoxLGxvYWQ6MSxyZXBsYWNlOjEsdHJ1bmNhdGU6MSxzdGFydDoxLGxvY2s6MSxzaG93OjEscHJhZ21hOjF9LGFnZ3JlZ2F0ZTp7Y291bnQ6MSxzdW06MSxtaW46MSxtYXg6MSxhdmc6MX19LGM6W3tjTjoic3RyaW5nIixiOiInIixlOiInIixjOltobGpzLkJFLHtiOiInJyJ9XSxyOjB9LHtjTjoic3RyaW5nIixiOiciJyxlOiciJyxjOltobGpzLkJFLHtiOiciIid9XSxyOjB9LHtjTjoic3RyaW5nIixiOiJgIixlOiJgIixjOltobGpzLkJFXX0saGxqcy5DTk1dfSxobGpzLkNCTENMTSx7Y046ImNvbW1lbnQiLGI6Ii0tIixlOiIkIn1dfX07aGxqcy5MQU5HVUFHRVMuc3Rhbj17ZE06e2M6W2hsanMuSENNLGhsanMuQ0xDTSxobGpzLlFTTSxobGpzLkNOTSx7Y046Im9wZXJhdG9yIixiOiIoPzo8LXx+fFxcfFxcfHwmJnw9PXwhPXw8PT98Pj0/fFxcK3wtfFxcLj8vfFxcXFx8XFxefFxcXnwhfCd8JXw6fCx8O3w9KVxcYiIsZTpobGpzLklNTUVESUFURV9SRSxyOjEwfSx7Y046InBhcmVuIixiOiJbWyh7XFxdKX1dIixlOmhsanMuSU1NRURJQVRFX1JFLHI6MH0se2NOOiJmdW5jdGlvbiIsYjoiKD86UGhpfFBoaV9hcHByb3h8YWJzfGFjb3N8YWNvc2h8YXBwZW5kX2NvbHxhcHBlbmRfcm93fGFzaW58YXNpbmh8YXRhbnxhdGFuMnxhdGFuaHxiZXJub3VsbGlfY2NkZl9sb2d8YmVybm91bGxpX2NkZnxiZXJub3VsbGlfY2RmX2xvZ3xiZXJub3VsbGlfbG9nfGJlcm5vdWxsaV9sb2dpdF9sb2d8YmVybm91bGxpX3JuZ3xiZXNzZWxfZmlyc3Rfa2luZHxiZXNzZWxfc2Vjb25kX2tpbmR8YmV0YV9iaW5vbWlhbF9jY2RmX2xvZ3xiZXRhX2Jpbm9taWFsX2NkZnxiZXRhX2Jpbm9taWFsX2NkZl9sb2d8YmV0YV9iaW5vbWlhbF9sb2d8YmV0YV9iaW5vbWlhbF9ybmd8YmV0YV9jY2RmX2xvZ3xiZXRhX2NkZnxiZXRhX2NkZl9sb2d8YmV0YV9sb2d8YmV0YV9ybmd8YmluYXJ5X2xvZ19sb3NzfGJpbm9taWFsX2NjZGZfbG9nfGJpbm9taWFsX2NkZnxiaW5vbWlhbF9jZGZfbG9nfGJpbm9taWFsX2NvZWZmaWNpZW50X2xvZ3xiaW5vbWlhbF9sb2d8Ymlub21pYWxfbG9naXRfbG9nfGJpbm9taWFsX3JuZ3xibG9ja3xjYXRlZ29yaWNhbF9sb2d8Y2F0ZWdvcmljYWxfbG9naXRfbG9nfGNhdGVnb3JpY2FsX3JuZ3xjYXVjaHlfY2NkZl9sb2d8Y2F1Y2h5X2NkZnxjYXVjaHlfY2RmX2xvZ3xjYXVjaHlfbG9nfGNhdWNoeV9ybmd8Y2JydHxjZWlsfGNoaV9zcXVhcmVfY2NkZl9sb2d8Y2hpX3NxdWFyZV9jZGZ8Y2hpX3NxdWFyZV9jZGZfbG9nfGNoaV9zcXVhcmVfbG9nfGNoaV9zcXVhcmVfcm5nfGNob2xlc2t5X2RlY29tcG9zZXxjb2x8Y29sc3xjb2x1bW5zX2RvdF9wcm9kdWN0fGNvbHVtbnNfZG90X3NlbGZ8Y29zfGNvc2h8Y3Jvc3Nwcm9kfGNzcl9leHRyYWN0X3V8Y3NyX2V4dHJhY3Rfdnxjc3JfZXh0cmFjdF93fGNzcl9tYXRyaXhfdGltZXNfdmVjdG9yfGNzcl90b19kZW5zZV9tYXRyaXh8Y3VtdWxhdGl2ZV9zdW18ZGV0ZXJtaW5hbnR8ZGlhZ19tYXRyaXh8ZGlhZ19wb3N0X211bHRpcGx5fGRpYWdfcHJlX211bHRpcGx5fGRpYWdvbmFsfGRpZ2FtbWF8ZGltc3xkaXJpY2hsZXRfbG9nfGRpcmljaGxldF9ybmd8ZGlzdGFuY2V8ZG90X3Byb2R1Y3R8ZG90X3NlbGZ8ZG91YmxlX2V4cG9uZW50aWFsX2NjZGZfbG9nfGRvdWJsZV9leHBvbmVudGlhbF9jZGZ8ZG91YmxlX2V4cG9uZW50aWFsX2NkZl9sb2d8ZG91YmxlX2V4cG9uZW50aWFsX2xvZ3xkb3VibGVfZXhwb25lbnRpYWxfcm5nfGV8ZWlnZW52YWx1ZXNfc3ltfGVpZ2VudmVjdG9yc19zeW18ZXJmfGVyZmN8ZXhwfGV4cDJ8ZXhwX21vZF9ub3JtYWxfY2NkZl9sb2d8ZXhwX21vZF9ub3JtYWxfY2RmfGV4cF9tb2Rfbm9ybWFsX2NkZl9sb2d8ZXhwX21vZF9ub3JtYWxfbG9nfGV4cF9tb2Rfbm9ybWFsX3JuZ3xleHBtMXxleHBvbmVudGlhbF9jY2RmX2xvZ3xleHBvbmVudGlhbF9jZGZ8ZXhwb25lbnRpYWxfY2RmX2xvZ3xleHBvbmVudGlhbF9sb2d8ZXhwb25lbnRpYWxfcm5nfGZhYnN8ZmFsbGluZ19mYWN0b3JpYWx8ZmRpbXxmbG9vcnxmbWF8Zm1heHxmbWlufGZtb2R8ZnJlY2hldF9jY2RmX2xvZ3xmcmVjaGV0X2NkZnxmcmVjaGV0X2NkZl9sb2d8ZnJlY2hldF9sb2d8ZnJlY2hldF9ybmd8Z2FtbWFfY2NkZl9sb2d8Z2FtbWFfY2RmfGdhbW1hX2NkZl9sb2d8Z2FtbWFfbG9nfGdhbW1hX3B8Z2FtbWFfcXxnYW1tYV9ybmd8Z2F1c3NpYW5fZGxtX29ic19sb2d8Z2V0X2xwfGd1bWJlbF9jY2RmX2xvZ3xndW1iZWxfY2RmfGd1bWJlbF9jZGZfbG9nfGd1bWJlbF9sb2d8Z3VtYmVsX3JuZ3xoZWFkfGh5cGVyZ2VvbWV0cmljX2xvZ3xoeXBlcmdlb21ldHJpY19ybmd8aHlwb3R8aWZfZWxzZXxpbnRfc3RlcHxpbnZ8aW52X2NoaV9zcXVhcmVfY2NkZl9sb2d8aW52X2NoaV9zcXVhcmVfY2RmfGludl9jaGlfc3F1YXJlX2NkZl9sb2d8aW52X2NoaV9zcXVhcmVfbG9nfGludl9jaGlfc3F1YXJlX3JuZ3xpbnZfY2xvZ2xvZ3xpbnZfZ2FtbWFfY2NkZl9sb2d8aW52X2dhbW1hX2NkZnxpbnZfZ2FtbWFfY2RmX2xvZ3xpbnZfZ2FtbWFfbG9nfGludl9nYW1tYV9ybmd8aW52X2xvZ2l0fGludl9waGl8aW52X3NxcnR8aW52X3NxdWFyZXxpbnZfd2lzaGFydF9sb2d8aW52X3dpc2hhcnRfcm5nfGludmVyc2V8aW52ZXJzZV9zcGR8aXNfaW5mfGlzX25hbnxsYmV0YXxsZ2FtbWF8bGtqX2NvcnJfY2hvbGVza3lfbG9nfGxral9jb3JyX2Nob2xlc2t5X3JuZ3xsa2pfY29ycl9sb2d8bGtqX2NvcnJfcm5nfGxtZ2FtbWF8bG9nfGxvZzEwfGxvZzFtfGxvZzFtX2V4cHxsb2cxbV9pbnZfbG9naXR8bG9nMXB8bG9nMXBfZXhwfGxvZzJ8bG9nX2RldGVybWluYW50fGxvZ19kaWZmX2V4cHxsb2dfZmFsbGluZ19mYWN0b3JpYWx8bG9nX2ludl9sb2dpdHxsb2dfbWl4fGxvZ19yaXNpbmdfZmFjdG9yaWFsfGxvZ19zb2Z0bWF4fGxvZ19zdW1fZXhwfGxvZ2lzdGljX2NjZGZfbG9nfGxvZ2lzdGljX2NkZnxsb2dpc3RpY19jZGZfbG9nfGxvZ2lzdGljX2xvZ3xsb2dpc3RpY19ybmd8bG9naXR8bG9nbm9ybWFsX2NjZGZfbG9nfGxvZ25vcm1hbF9jZGZ8bG9nbm9ybWFsX2NkZl9sb2d8bG9nbm9ybWFsX2xvZ3xsb2dub3JtYWxfcm5nfG1hY2hpbmVfcHJlY2lzaW9ufG1heHxtZGl2aWRlX2xlZnRfdHJpX2xvd3xtZGl2aWRlX3JpZ2h0X3RyaV9sb3d8bWVhbnxtaW58bW9kaWZpZWRfYmVzc2VsX2ZpcnN0X2tpbmR8bW9kaWZpZWRfYmVzc2VsX3NlY29uZF9raW5kfG11bHRpX2dwX2Nob2xlc2t5X2xvZ3xtdWx0aV9ncF9sb2d8bXVsdGlfbm9ybWFsX2Nob2xlc2t5X2xvZ3xtdWx0aV9ub3JtYWxfY2hvbGVza3lfcm5nfG11bHRpX25vcm1hbF9sb2d8bXVsdGlfbm9ybWFsX3ByZWNfbG9nfG11bHRpX25vcm1hbF9ybmd8bXVsdGlfc3R1ZGVudF90X2xvZ3xtdWx0aV9zdHVkZW50X3Rfcm5nfG11bHRpbm9taWFsX2xvZ3xtdWx0aW5vbWlhbF9ybmd8bXVsdGlwbHlfbG9nfG11bHRpcGx5X2xvd2VyX3RyaV9zZWxmX3RyYW5zcG9zZXxuZWdfYmlub21pYWxfMl9jY2RmX2xvZ3xuZWdfYmlub21pYWxfMl9jZGZ8bmVnX2Jpbm9taWFsXzJfY2RmX2xvZ3xuZWdfYmlub21pYWxfMl9sb2d8bmVnX2Jpbm9taWFsXzJfbG9nX2xvZ3xuZWdfYmlub21pYWxfMl9sb2dfcm5nfG5lZ19iaW5vbWlhbF8yX3JuZ3xuZWdfYmlub21pYWxfY2NkZl9sb2d8bmVnX2Jpbm9taWFsX2NkZnxuZWdfYmlub21pYWxfY2RmX2xvZ3xuZWdfYmlub21pYWxfbG9nfG5lZ19iaW5vbWlhbF9ybmd8bmVnYXRpdmVfaW5maW5pdHl8bm9ybWFsX2NjZGZfbG9nfG5vcm1hbF9jZGZ8bm9ybWFsX2NkZl9sb2d8bm9ybWFsX2xvZ3xub3JtYWxfcm5nfG5vdF9hX251bWJlcnxudW1fZWxlbWVudHN8b3JkZXJlZF9sb2dpc3RpY19sb2d8b3JkZXJlZF9sb2dpc3RpY19ybmd8b3dlbnNfdHxwYXJldG9fY2NkZl9sb2d8cGFyZXRvX2NkZnxwYXJldG9fY2RmX2xvZ3xwYXJldG9fbG9nfHBhcmV0b19ybmd8cGFyZXRvX3R5cGVfMl9jY2RmX2xvZ3xwYXJldG9fdHlwZV8yX2NkZnxwYXJldG9fdHlwZV8yX2NkZl9sb2d8cGFyZXRvX3R5cGVfMl9sb2d8cGFyZXRvX3R5cGVfMl9ybmd8cGl8cG9pc3Nvbl9jY2RmX2xvZ3xwb2lzc29uX2NkZnxwb2lzc29uX2NkZl9sb2d8cG9pc3Nvbl9sb2d8cG9pc3Nvbl9sb2dfbG9nfHBvaXNzb25fbG9nX3JuZ3xwb2lzc29uX3JuZ3xwb3NpdGl2ZV9pbmZpbml0eXxwb3d8cHJvZHxxcl9RfHFyX1J8cXVhZF9mb3JtfHF1YWRfZm9ybV9kaWFnfHF1YWRfZm9ybV9zeW18cmFua3xyYXlsZWlnaF9jY2RmX2xvZ3xyYXlsZWlnaF9jZGZ8cmF5bGVpZ2hfY2RmX2xvZ3xyYXlsZWlnaF9sb2d8cmF5bGVpZ2hfcm5nfHJlcF9hcnJheXxyZXBfbWF0cml4fHJlcF9yb3dfdmVjdG9yfHJlcF92ZWN0b3J8cmlzaW5nX2ZhY3RvcmlhbHxyb3VuZHxyb3d8cm93c3xyb3dzX2RvdF9wcm9kdWN0fHJvd3NfZG90X3NlbGZ8c2NhbGVkX2ludl9jaGlfc3F1YXJlX2NjZGZfbG9nfHNjYWxlZF9pbnZfY2hpX3NxdWFyZV9jZGZ8c2NhbGVkX2ludl9jaGlfc3F1YXJlX2NkZl9sb2d8c2NhbGVkX2ludl9jaGlfc3F1YXJlX2xvZ3xzY2FsZWRfaW52X2NoaV9zcXVhcmVfcm5nfHNkfHNlZ21lbnR8c2lufHNpbmd1bGFyX3ZhbHVlc3xzaW5ofHNpemV8c2tld19ub3JtYWxfY2NkZl9sb2d8c2tld19ub3JtYWxfY2RmfHNrZXdfbm9ybWFsX2NkZl9sb2d8c2tld19ub3JtYWxfbG9nfHNrZXdfbm9ybWFsX3JuZ3xzb2Z0bWF4fHNvcnRfYXNjfHNvcnRfZGVzY3xzb3J0X2luZGljZXNfYXNjfHNvcnRfaW5kaWNlc19kZXNjfHNxcnR8c3FydDJ8c3F1YXJlfHNxdWFyZWRfZGlzdGFuY2V8c3RlcHxzdHVkZW50X3RfY2NkZl9sb2d8c3R1ZGVudF90X2NkZnxzdHVkZW50X3RfY2RmX2xvZ3xzdHVkZW50X3RfbG9nfHN0dWRlbnRfdF9ybmd8c3ViX2NvbHxzdWJfcm93fHN1bXx0YWlsfHRhbnx0YW5ofHRjcm9zc3Byb2R8dGdhbW1hfHRvX2FycmF5XzFkfHRvX2FycmF5XzJkfHRvX21hdHJpeHx0b19yb3dfdmVjdG9yfHRvX3ZlY3Rvcnx0cmFjZXx0cmFjZV9nZW5fcXVhZF9mb3JtfHRyYWNlX3F1YWRfZm9ybXx0cmlnYW1tYXx0cnVuY3x1bmlmb3JtX2NjZGZfbG9nfHVuaWZvcm1fY2RmfHVuaWZvcm1fY2RmX2xvZ3x1bmlmb3JtX2xvZ3x1bmlmb3JtX3JuZ3x2YXJpYW5jZXx2b25fbWlzZXNfbG9nfHZvbl9taXNlc19ybmd8d2VpYnVsbF9jY2RmX2xvZ3x3ZWlidWxsX2NkZnx3ZWlidWxsX2NkZl9sb2d8d2VpYnVsbF9sb2d8d2VpYnVsbF9ybmd8d2llbmVyX2xvZ3x3aXNoYXJ0X2xvZ3x3aXNoYXJ0X3JuZylcXGIiLGU6aGxqcy5JTU1FRElBVEVfUkUscjoxMH0se2NOOiJmdW5jdGlvbiIsYjoiKD86YmVybm91bGxpfGJlcm5vdWxsaV9sb2dpdHxiZXRhfGJldGFfYmlub21pYWx8Ymlub21pYWx8Ymlub21pYWxfbG9naXR8Y2F0ZWdvcmljYWx8Y2F0ZWdvcmljYWxfbG9naXR8Y2F1Y2h5fGNoaV9zcXVhcmV8ZGlyaWNobGV0fGRvdWJsZV9leHBvbmVudGlhbHxleHBfbW9kX25vcm1hbHxleHBvbmVudGlhbHxmcmVjaGV0fGdhbW1hfGdhdXNzaWFuX2RsbV9vYnN8Z3VtYmVsfGh5cGVyZ2VvbWV0cmljfGludl9jaGlfc3F1YXJlfGludl9nYW1tYXxpbnZfd2lzaGFydHxsa2pfY29ycnxsa2pfY29ycl9jaG9sZXNreXxsb2dpc3RpY3xsb2dub3JtYWx8bXVsdGlfZ3B8bXVsdGlfZ3BfY2hvbGVza3l8bXVsdGlfbm9ybWFsfG11bHRpX25vcm1hbF9jaG9sZXNreXxtdWx0aV9ub3JtYWxfcHJlY3xtdWx0aV9zdHVkZW50X3R8bXVsdGlub21pYWx8bmVnX2Jpbm9taWFsfG5lZ19iaW5vbWlhbF8yfG5lZ19iaW5vbWlhbF8yX2xvZ3xub3JtYWx8b3JkZXJlZF9sb2dpc3RpY3xwYXJldG98cGFyZXRvX3R5cGVfMnxwb2lzc29ufHBvaXNzb25fbG9nfHJheWxlaWdofHNjYWxlZF9pbnZfY2hpX3NxdWFyZXxza2V3X25vcm1hbHxzdHVkZW50X3R8dW5pZm9ybXx2b25fbWlzZXN8d2VpYnVsbHx3aWVuZXJ8d2lzaGFydClcXGIiLGU6aGxqcy5JTU1FRElBVEVfUkUscjoxMH0se2NOOiJrZXl3b3JkIixiOiIoPzpmb3J8aW58d2hpbGV8aWZ8dGhlbnxlbHNlfHJldHVybnxsb3dlcnx1cHBlcnxwcmludHxpbmNyZW1lbnRfbG9nX3Byb2J8aW50ZWdyYXRlX29kZXxyZWplY3QpXFxiIixlOmhsanMuSU1NRURJQVRFX1JFLHI6MTB9LHtjTjoia2V5d29yZCIsYjoiKD86aW50fHJlYWx8dmVjdG9yfHNpbXBsZXh8dW5pdF92ZWN0b3J8b3JkZXJlZHxwb3NpdGl2ZV9vcmRlcmVkfHJvd192ZWN0b3J8bWF0cml4fGNob2xlc2t5X2ZhY3Rvcl9jb3Z8Y2hvbGVza3lfZmFjdG9yX2NvcnJ8Y29ycl9tYXRyaXh8Y292X21hdHJpeHx2b2lkKVxcYiIsZTpobGpzLklNTUVESUFURV9SRSxyOjV9LHtjTjoia2V5d29yZCIsYjoiKD86ZnVuY3Rpb25zfGRhdGF8dHJhbnNmb3JtZWRcXHMrZGF0YXxwYXJhbWV0ZXJzfHRyYW5zZm9ybWVkXFxzK3BhcmFtZXRlcnN8bW9kZWx8Z2VuZXJhdGVkXFxzK3F1YW50aXRpZXMpXFxiIixlOmhsanMuSU1NRURJQVRFX1JFLHI6NX1dfX07aGxqcy5MQU5HVUFHRVMueG1sPWZ1bmN0aW9uKCl7dmFyIGI9IltBLVphLXowLTlcXC5fOi1dKyI7dmFyIGE9e2VXOnRydWUsYzpbe2NOOiJhdHRyaWJ1dGUiLGI6YixyOjB9LHtiOic9IicsckI6dHJ1ZSxlOiciJyxjOlt7Y046InZhbHVlIixiOiciJyxlVzp0cnVlfV19LHtiOiI9JyIsckI6dHJ1ZSxlOiInIixjOlt7Y046InZhbHVlIixiOiInIixlVzp0cnVlfV19LHtiOiI9IixjOlt7Y046InZhbHVlIixiOiJbXlxccy8+XSsifV19XX07cmV0dXJue2NJOnRydWUsZE06e2M6W3tjTjoicGkiLGI6IjxcXD8iLGU6IlxcPz4iLHI6MTB9LHtjTjoiZG9jdHlwZSIsYjoiPCFET0NUWVBFIixlOiI+IixyOjEwLGM6W3tiOiJcXFsiLGU6IlxcXSJ9XX0se2NOOiJjb21tZW50IixiOiI8IS0tIixlOiItLT4iLHI6MTB9LHtjTjoiY2RhdGEiLGI6IjxcXCFcXFtDREFUQVxcWyIsZToiXFxdXFxdPiIscjoxMH0se2NOOiJ0YWciLGI6IjxzdHlsZSg/PVxcc3w+fCQpIixlOiI+IixrOnt0aXRsZTp7c3R5bGU6MX19LGM6W2FdLHN0YXJ0czp7Y046ImNzcyIsZToiPC9zdHlsZT4iLHJFOnRydWUsc0w6ImNzcyJ9fSx7Y046InRhZyIsYjoiPHNjcmlwdCg/PVxcc3w+fCQpIixlOiI+IixrOnt0aXRsZTp7c2NyaXB0OjF9fSxjOlthXSxzdGFydHM6e2NOOiJqYXZhc2NyaXB0IixlOiI8XC9zY3JpcHQ+IixyRTp0cnVlLHNMOiJqYXZhc2NyaXB0In19LHtjTjoidmJzY3JpcHQiLGI6IjwlIixlOiIlPiIsc0w6InZic2NyaXB0In0se2NOOiJ0YWciLGI6IjwvPyIsZToiLz8+IixjOlt7Y046InRpdGxlIixiOiJbXiAvPl0rIn0sYV19XX19fSgpOwpobGpzLmluaXRIaWdobGlnaHRpbmdPbkxvYWQoKTsKCg=="></script> +<link href="data:text/css;charset=utf-8,%2Ehljs%2Dliteral%20%7B%0Acolor%3A%20%23990073%3B%0A%7D%0A%2Ehljs%2Dnumber%20%7B%0Acolor%3A%20%23099%3B%0A%7D%0A%2Ehljs%2Dcomment%20%7B%0Acolor%3A%20%23998%3B%0Afont%2Dstyle%3A%20italic%3B%0A%7D%0A%2Ehljs%2Dkeyword%20%7B%0Acolor%3A%20%23900%3B%0Afont%2Dweight%3A%20bold%3B%0A%7D%0A%2Ehljs%2Dstring%20%7B%0Acolor%3A%20%23d14%3B%0A%7D%0A" rel="stylesheet" /> +<script src="data:application/x-javascript;base64,LyohIGhpZ2hsaWdodC5qcyB2OS4xMi4wIHwgQlNEMyBMaWNlbnNlIHwgZ2l0LmlvL2hsanNsaWNlbnNlICovCiFmdW5jdGlvbihlKXt2YXIgbj0ib2JqZWN0Ij09dHlwZW9mIHdpbmRvdyYmd2luZG93fHwib2JqZWN0Ij09dHlwZW9mIHNlbGYmJnNlbGY7InVuZGVmaW5lZCIhPXR5cGVvZiBleHBvcnRzP2UoZXhwb3J0cyk6biYmKG4uaGxqcz1lKHt9KSwiZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kJiZkZWZpbmUoW10sZnVuY3Rpb24oKXtyZXR1cm4gbi5obGpzfSkpfShmdW5jdGlvbihlKXtmdW5jdGlvbiBuKGUpe3JldHVybiBlLnJlcGxhY2UoLyYvZywiJmFtcDsiKS5yZXBsYWNlKC88L2csIiZsdDsiKS5yZXBsYWNlKC8+L2csIiZndDsiKX1mdW5jdGlvbiB0KGUpe3JldHVybiBlLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCl9ZnVuY3Rpb24gcihlLG4pe3ZhciB0PWUmJmUuZXhlYyhuKTtyZXR1cm4gdCYmMD09PXQuaW5kZXh9ZnVuY3Rpb24gYShlKXtyZXR1cm4gay50ZXN0KGUpfWZ1bmN0aW9uIGkoZSl7dmFyIG4sdCxyLGksbz1lLmNsYXNzTmFtZSsiICI7aWYobys9ZS5wYXJlbnROb2RlP2UucGFyZW50Tm9kZS5jbGFzc05hbWU6IiIsdD1CLmV4ZWMobykpcmV0dXJuIHcodFsxXSk/dFsxXToibm8taGlnaGxpZ2h0Ijtmb3Iobz1vLnNwbGl0KC9ccysvKSxuPTAscj1vLmxlbmd0aDtyPm47bisrKWlmKGk9b1tuXSxhKGkpfHx3KGkpKXJldHVybiBpfWZ1bmN0aW9uIG8oZSl7dmFyIG4sdD17fSxyPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKTtmb3IobiBpbiBlKXRbbl09ZVtuXTtyZXR1cm4gci5mb3JFYWNoKGZ1bmN0aW9uKGUpe2ZvcihuIGluIGUpdFtuXT1lW25dfSksdH1mdW5jdGlvbiB1KGUpe3ZhciBuPVtdO3JldHVybiBmdW5jdGlvbiByKGUsYSl7Zm9yKHZhciBpPWUuZmlyc3RDaGlsZDtpO2k9aS5uZXh0U2libGluZykzPT09aS5ub2RlVHlwZT9hKz1pLm5vZGVWYWx1ZS5sZW5ndGg6MT09PWkubm9kZVR5cGUmJihuLnB1c2goe2V2ZW50OiJzdGFydCIsb2Zmc2V0OmEsbm9kZTppfSksYT1yKGksYSksdChpKS5tYXRjaCgvYnJ8aHJ8aW1nfGlucHV0Lyl8fG4ucHVzaCh7ZXZlbnQ6InN0b3AiLG9mZnNldDphLG5vZGU6aX0pKTtyZXR1cm4gYX0oZSwwKSxufWZ1bmN0aW9uIGMoZSxyLGEpe2Z1bmN0aW9uIGkoKXtyZXR1cm4gZS5sZW5ndGgmJnIubGVuZ3RoP2VbMF0ub2Zmc2V0IT09clswXS5vZmZzZXQ/ZVswXS5vZmZzZXQ8clswXS5vZmZzZXQ/ZTpyOiJzdGFydCI9PT1yWzBdLmV2ZW50P2U6cjplLmxlbmd0aD9lOnJ9ZnVuY3Rpb24gbyhlKXtmdW5jdGlvbiByKGUpe3JldHVybiIgIitlLm5vZGVOYW1lKyc9IicrbihlLnZhbHVlKS5yZXBsYWNlKCciJywiJnF1b3Q7IikrJyInfXMrPSI8Iit0KGUpK0UubWFwLmNhbGwoZS5hdHRyaWJ1dGVzLHIpLmpvaW4oIiIpKyI+In1mdW5jdGlvbiB1KGUpe3MrPSI8LyIrdChlKSsiPiJ9ZnVuY3Rpb24gYyhlKXsoInN0YXJ0Ij09PWUuZXZlbnQ/bzp1KShlLm5vZGUpfWZvcih2YXIgbD0wLHM9IiIsZj1bXTtlLmxlbmd0aHx8ci5sZW5ndGg7KXt2YXIgZz1pKCk7aWYocys9bihhLnN1YnN0cmluZyhsLGdbMF0ub2Zmc2V0KSksbD1nWzBdLm9mZnNldCxnPT09ZSl7Zi5yZXZlcnNlKCkuZm9yRWFjaCh1KTtkbyBjKGcuc3BsaWNlKDAsMSlbMF0pLGc9aSgpO3doaWxlKGc9PT1lJiZnLmxlbmd0aCYmZ1swXS5vZmZzZXQ9PT1sKTtmLnJldmVyc2UoKS5mb3JFYWNoKG8pfWVsc2Uic3RhcnQiPT09Z1swXS5ldmVudD9mLnB1c2goZ1swXS5ub2RlKTpmLnBvcCgpLGMoZy5zcGxpY2UoMCwxKVswXSl9cmV0dXJuIHMrbihhLnN1YnN0cihsKSl9ZnVuY3Rpb24gbChlKXtyZXR1cm4gZS52JiYhZS5jYWNoZWRfdmFyaWFudHMmJihlLmNhY2hlZF92YXJpYW50cz1lLnYubWFwKGZ1bmN0aW9uKG4pe3JldHVybiBvKGUse3Y6bnVsbH0sbil9KSksZS5jYWNoZWRfdmFyaWFudHN8fGUuZVcmJltvKGUpXXx8W2VdfWZ1bmN0aW9uIHMoZSl7ZnVuY3Rpb24gbihlKXtyZXR1cm4gZSYmZS5zb3VyY2V8fGV9ZnVuY3Rpb24gdCh0LHIpe3JldHVybiBuZXcgUmVnRXhwKG4odCksIm0iKyhlLmNJPyJpIjoiIikrKHI/ImciOiIiKSl9ZnVuY3Rpb24gcihhLGkpe2lmKCFhLmNvbXBpbGVkKXtpZihhLmNvbXBpbGVkPSEwLGEuaz1hLmt8fGEuYkssYS5rKXt2YXIgbz17fSx1PWZ1bmN0aW9uKG4sdCl7ZS5jSSYmKHQ9dC50b0xvd2VyQ2FzZSgpKSx0LnNwbGl0KCIgIikuZm9yRWFjaChmdW5jdGlvbihlKXt2YXIgdD1lLnNwbGl0KCJ8Iik7b1t0WzBdXT1bbix0WzFdP051bWJlcih0WzFdKToxXX0pfTsic3RyaW5nIj09dHlwZW9mIGEuaz91KCJrZXl3b3JkIixhLmspOngoYS5rKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3UoZSxhLmtbZV0pfSksYS5rPW99YS5sUj10KGEubHx8L1x3Ky8sITApLGkmJihhLmJLJiYoYS5iPSJcXGIoIithLmJLLnNwbGl0KCIgIikuam9pbigifCIpKyIpXFxiIiksYS5ifHwoYS5iPS9cQnxcYi8pLGEuYlI9dChhLmIpLGEuZXx8YS5lV3x8KGEuZT0vXEJ8XGIvKSxhLmUmJihhLmVSPXQoYS5lKSksYS50RT1uKGEuZSl8fCIiLGEuZVcmJmkudEUmJihhLnRFKz0oYS5lPyJ8IjoiIikraS50RSkpLGEuaSYmKGEuaVI9dChhLmkpKSxudWxsPT1hLnImJihhLnI9MSksYS5jfHwoYS5jPVtdKSxhLmM9QXJyYXkucHJvdG90eXBlLmNvbmNhdC5hcHBseShbXSxhLmMubWFwKGZ1bmN0aW9uKGUpe3JldHVybiBsKCJzZWxmIj09PWU/YTplKX0pKSxhLmMuZm9yRWFjaChmdW5jdGlvbihlKXtyKGUsYSl9KSxhLnN0YXJ0cyYmcihhLnN0YXJ0cyxpKTt2YXIgYz1hLmMubWFwKGZ1bmN0aW9uKGUpe3JldHVybiBlLmJLPyJcXC4/KCIrZS5iKyIpXFwuPyI6ZS5ifSkuY29uY2F0KFthLnRFLGEuaV0pLm1hcChuKS5maWx0ZXIoQm9vbGVhbik7YS50PWMubGVuZ3RoP3QoYy5qb2luKCJ8IiksITApOntleGVjOmZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9fX19cihlKX1mdW5jdGlvbiBmKGUsdCxhLGkpe2Z1bmN0aW9uIG8oZSxuKXt2YXIgdCxhO2Zvcih0PTAsYT1uLmMubGVuZ3RoO2E+dDt0KyspaWYocihuLmNbdF0uYlIsZSkpcmV0dXJuIG4uY1t0XX1mdW5jdGlvbiB1KGUsbil7aWYocihlLmVSLG4pKXtmb3IoO2UuZW5kc1BhcmVudCYmZS5wYXJlbnQ7KWU9ZS5wYXJlbnQ7cmV0dXJuIGV9cmV0dXJuIGUuZVc/dShlLnBhcmVudCxuKTp2b2lkIDB9ZnVuY3Rpb24gYyhlLG4pe3JldHVybiFhJiZyKG4uaVIsZSl9ZnVuY3Rpb24gbChlLG4pe3ZhciB0PU4uY0k/blswXS50b0xvd2VyQ2FzZSgpOm5bMF07cmV0dXJuIGUuay5oYXNPd25Qcm9wZXJ0eSh0KSYmZS5rW3RdfWZ1bmN0aW9uIHAoZSxuLHQscil7dmFyIGE9cj8iIjpJLmNsYXNzUHJlZml4LGk9JzxzcGFuIGNsYXNzPSInK2Esbz10PyIiOkM7cmV0dXJuIGkrPWUrJyI+JyxpK24rb31mdW5jdGlvbiBoKCl7dmFyIGUsdCxyLGE7aWYoIUUuaylyZXR1cm4gbihrKTtmb3IoYT0iIix0PTAsRS5sUi5sYXN0SW5kZXg9MCxyPUUubFIuZXhlYyhrKTtyOylhKz1uKGsuc3Vic3RyaW5nKHQsci5pbmRleCkpLGU9bChFLHIpLGU/KEIrPWVbMV0sYSs9cChlWzBdLG4oclswXSkpKTphKz1uKHJbMF0pLHQ9RS5sUi5sYXN0SW5kZXgscj1FLmxSLmV4ZWMoayk7cmV0dXJuIGErbihrLnN1YnN0cih0KSl9ZnVuY3Rpb24gZCgpe3ZhciBlPSJzdHJpbmciPT10eXBlb2YgRS5zTDtpZihlJiYheVtFLnNMXSlyZXR1cm4gbihrKTt2YXIgdD1lP2YoRS5zTCxrLCEwLHhbRS5zTF0pOmcoayxFLnNMLmxlbmd0aD9FLnNMOnZvaWQgMCk7cmV0dXJuIEUucj4wJiYoQis9dC5yKSxlJiYoeFtFLnNMXT10LnRvcCkscCh0Lmxhbmd1YWdlLHQudmFsdWUsITEsITApfWZ1bmN0aW9uIGIoKXtMKz1udWxsIT1FLnNMP2QoKTpoKCksaz0iIn1mdW5jdGlvbiB2KGUpe0wrPWUuY04/cChlLmNOLCIiLCEwKToiIixFPU9iamVjdC5jcmVhdGUoZSx7cGFyZW50Ont2YWx1ZTpFfX0pfWZ1bmN0aW9uIG0oZSxuKXtpZihrKz1lLG51bGw9PW4pcmV0dXJuIGIoKSwwO3ZhciB0PW8obixFKTtpZih0KXJldHVybiB0LnNraXA/ays9bjoodC5lQiYmKGsrPW4pLGIoKSx0LnJCfHx0LmVCfHwoaz1uKSksdih0LG4pLHQuckI/MDpuLmxlbmd0aDt2YXIgcj11KEUsbik7aWYocil7dmFyIGE9RTthLnNraXA/ays9bjooYS5yRXx8YS5lRXx8KGsrPW4pLGIoKSxhLmVFJiYoaz1uKSk7ZG8gRS5jTiYmKEwrPUMpLEUuc2tpcHx8KEIrPUUuciksRT1FLnBhcmVudDt3aGlsZShFIT09ci5wYXJlbnQpO3JldHVybiByLnN0YXJ0cyYmdihyLnN0YXJ0cywiIiksYS5yRT8wOm4ubGVuZ3RofWlmKGMobixFKSl0aHJvdyBuZXcgRXJyb3IoJ0lsbGVnYWwgbGV4ZW1lICInK24rJyIgZm9yIG1vZGUgIicrKEUuY058fCI8dW5uYW1lZD4iKSsnIicpO3JldHVybiBrKz1uLG4ubGVuZ3RofHwxfXZhciBOPXcoZSk7aWYoIU4pdGhyb3cgbmV3IEVycm9yKCdVbmtub3duIGxhbmd1YWdlOiAiJytlKyciJyk7cyhOKTt2YXIgUixFPWl8fE4seD17fSxMPSIiO2ZvcihSPUU7UiE9PU47Uj1SLnBhcmVudClSLmNOJiYoTD1wKFIuY04sIiIsITApK0wpO3ZhciBrPSIiLEI9MDt0cnl7Zm9yKHZhciBNLGosTz0wOzspe2lmKEUudC5sYXN0SW5kZXg9TyxNPUUudC5leGVjKHQpLCFNKWJyZWFrO2o9bSh0LnN1YnN0cmluZyhPLE0uaW5kZXgpLE1bMF0pLE89TS5pbmRleCtqfWZvcihtKHQuc3Vic3RyKE8pKSxSPUU7Ui5wYXJlbnQ7Uj1SLnBhcmVudClSLmNOJiYoTCs9Qyk7cmV0dXJue3I6Qix2YWx1ZTpMLGxhbmd1YWdlOmUsdG9wOkV9fWNhdGNoKFQpe2lmKFQubWVzc2FnZSYmLTEhPT1ULm1lc3NhZ2UuaW5kZXhPZigiSWxsZWdhbCIpKXJldHVybntyOjAsdmFsdWU6bih0KX07dGhyb3cgVH19ZnVuY3Rpb24gZyhlLHQpe3Q9dHx8SS5sYW5ndWFnZXN8fHgoeSk7dmFyIHI9e3I6MCx2YWx1ZTpuKGUpfSxhPXI7cmV0dXJuIHQuZmlsdGVyKHcpLmZvckVhY2goZnVuY3Rpb24obil7dmFyIHQ9ZihuLGUsITEpO3QubGFuZ3VhZ2U9bix0LnI+YS5yJiYoYT10KSx0LnI+ci5yJiYoYT1yLHI9dCl9KSxhLmxhbmd1YWdlJiYoci5zZWNvbmRfYmVzdD1hKSxyfWZ1bmN0aW9uIHAoZSl7cmV0dXJuIEkudGFiUmVwbGFjZXx8SS51c2VCUj9lLnJlcGxhY2UoTSxmdW5jdGlvbihlLG4pe3JldHVybiBJLnVzZUJSJiYiXG4iPT09ZT8iPGJyPiI6SS50YWJSZXBsYWNlP24ucmVwbGFjZSgvXHQvZyxJLnRhYlJlcGxhY2UpOiIifSk6ZX1mdW5jdGlvbiBoKGUsbix0KXt2YXIgcj1uP0xbbl06dCxhPVtlLnRyaW0oKV07cmV0dXJuIGUubWF0Y2goL1xiaGxqc1xiLyl8fGEucHVzaCgiaGxqcyIpLC0xPT09ZS5pbmRleE9mKHIpJiZhLnB1c2gociksYS5qb2luKCIgIikudHJpbSgpfWZ1bmN0aW9uIGQoZSl7dmFyIG4sdCxyLG8sbCxzPWkoZSk7YShzKXx8KEkudXNlQlI/KG49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiwiZGl2Iiksbi5pbm5lckhUTUw9ZS5pbm5lckhUTUwucmVwbGFjZSgvXG4vZywiIikucmVwbGFjZSgvPGJyWyBcL10qPi9nLCJcbiIpKTpuPWUsbD1uLnRleHRDb250ZW50LHI9cz9mKHMsbCwhMCk6ZyhsKSx0PXUobiksdC5sZW5ndGgmJihvPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIsImRpdiIpLG8uaW5uZXJIVE1MPXIudmFsdWUsci52YWx1ZT1jKHQsdShvKSxsKSksci52YWx1ZT1wKHIudmFsdWUpLGUuaW5uZXJIVE1MPXIudmFsdWUsZS5jbGFzc05hbWU9aChlLmNsYXNzTmFtZSxzLHIubGFuZ3VhZ2UpLGUucmVzdWx0PXtsYW5ndWFnZTpyLmxhbmd1YWdlLHJlOnIucn0sci5zZWNvbmRfYmVzdCYmKGUuc2Vjb25kX2Jlc3Q9e2xhbmd1YWdlOnIuc2Vjb25kX2Jlc3QubGFuZ3VhZ2UscmU6ci5zZWNvbmRfYmVzdC5yfSkpfWZ1bmN0aW9uIGIoZSl7ST1vKEksZSl9ZnVuY3Rpb24gdigpe2lmKCF2LmNhbGxlZCl7di5jYWxsZWQ9ITA7dmFyIGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgicHJlIGNvZGUiKTtFLmZvckVhY2guY2FsbChlLGQpfX1mdW5jdGlvbiBtKCl7YWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsdiwhMSksYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsdiwhMSl9ZnVuY3Rpb24gTihuLHQpe3ZhciByPXlbbl09dChlKTtyLmFsaWFzZXMmJnIuYWxpYXNlcy5mb3JFYWNoKGZ1bmN0aW9uKGUpe0xbZV09bn0pfWZ1bmN0aW9uIFIoKXtyZXR1cm4geCh5KX1mdW5jdGlvbiB3KGUpe3JldHVybiBlPShlfHwiIikudG9Mb3dlckNhc2UoKSx5W2VdfHx5W0xbZV1dfXZhciBFPVtdLHg9T2JqZWN0LmtleXMseT17fSxMPXt9LGs9L14obm8tP2hpZ2hsaWdodHxwbGFpbnx0ZXh0KSQvaSxCPS9cYmxhbmcoPzp1YWdlKT8tKFtcdy1dKylcYi9pLE09LygoXig8W14+XSs+fFx0fCkrfCg/OlxuKSkpL2dtLEM9Ijwvc3Bhbj4iLEk9e2NsYXNzUHJlZml4OiJobGpzLSIsdGFiUmVwbGFjZTpudWxsLHVzZUJSOiExLGxhbmd1YWdlczp2b2lkIDB9O3JldHVybiBlLmhpZ2hsaWdodD1mLGUuaGlnaGxpZ2h0QXV0bz1nLGUuZml4TWFya3VwPXAsZS5oaWdobGlnaHRCbG9jaz1kLGUuY29uZmlndXJlPWIsZS5pbml0SGlnaGxpZ2h0aW5nPXYsZS5pbml0SGlnaGxpZ2h0aW5nT25Mb2FkPW0sZS5yZWdpc3Rlckxhbmd1YWdlPU4sZS5saXN0TGFuZ3VhZ2VzPVIsZS5nZXRMYW5ndWFnZT13LGUuaW5oZXJpdD1vLGUuSVI9IlthLXpBLVpdXFx3KiIsZS5VSVI9IlthLXpBLVpfXVxcdyoiLGUuTlI9IlxcYlxcZCsoXFwuXFxkKyk/IixlLkNOUj0iKC0/KShcXGIwW3hYXVthLWZBLUYwLTldK3woXFxiXFxkKyhcXC5cXGQqKT98XFwuXFxkKykoW2VFXVstK10/XFxkKyk/KSIsZS5CTlI9IlxcYigwYlswMV0rKSIsZS5SU1I9IiF8IT18IT09fCV8JT18JnwmJnwmPXxcXCp8XFwqPXxcXCt8XFwrPXwsfC18LT18Lz18L3w6fDt8PDx8PDw9fDw9fDx8PT09fD09fD18Pj4+PXw+Pj18Pj18Pj4+fD4+fD58XFw/fFxcW3xcXHt8XFwofFxcXnxcXF49fFxcfHxcXHw9fFxcfFxcfHx+IixlLkJFPXtiOiJcXFxcW1xcc1xcU10iLHI6MH0sZS5BU009e2NOOiJzdHJpbmciLGI6IiciLGU6IiciLGk6IlxcbiIsYzpbZS5CRV19LGUuUVNNPXtjTjoic3RyaW5nIixiOiciJyxlOiciJyxpOiJcXG4iLGM6W2UuQkVdfSxlLlBXTT17YjovXGIoYXxhbnx0aGV8YXJlfEknbXxpc24ndHxkb24ndHxkb2Vzbid0fHdvbid0fGJ1dHxqdXN0fHNob3VsZHxwcmV0dHl8c2ltcGx5fGVub3VnaHxnb25uYXxnb2luZ3x3dGZ8c298c3VjaHx3aWxsfHlvdXx5b3VyfHRoZXl8bGlrZXxtb3JlKVxiL30sZS5DPWZ1bmN0aW9uKG4sdCxyKXt2YXIgYT1lLmluaGVyaXQoe2NOOiJjb21tZW50IixiOm4sZTp0LGM6W119LHJ8fHt9KTtyZXR1cm4gYS5jLnB1c2goZS5QV00pLGEuYy5wdXNoKHtjTjoiZG9jdGFnIixiOiIoPzpUT0RPfEZJWE1FfE5PVEV8QlVHfFhYWCk6IixyOjB9KSxhfSxlLkNMQ009ZS5DKCIvLyIsIiQiKSxlLkNCQ009ZS5DKCIvXFwqIiwiXFwqLyIpLGUuSENNPWUuQygiIyIsIiQiKSxlLk5NPXtjTjoibnVtYmVyIixiOmUuTlIscjowfSxlLkNOTT17Y046Im51bWJlciIsYjplLkNOUixyOjB9LGUuQk5NPXtjTjoibnVtYmVyIixiOmUuQk5SLHI6MH0sZS5DU1NOTT17Y046Im51bWJlciIsYjplLk5SKyIoJXxlbXxleHxjaHxyZW18dnd8dmh8dm1pbnx2bWF4fGNtfG1tfGlufHB0fHBjfHB4fGRlZ3xncmFkfHJhZHx0dXJufHN8bXN8SHp8a0h6fGRwaXxkcGNtfGRwcHgpPyIscjowfSxlLlJNPXtjTjoicmVnZXhwIixiOi9cLy8sZTovXC9bZ2ltdXldKi8saTovXG4vLGM6W2UuQkUse2I6L1xbLyxlOi9cXS8scjowLGM6W2UuQkVdfV19LGUuVE09e2NOOiJ0aXRsZSIsYjplLklSLHI6MH0sZS5VVE09e2NOOiJ0aXRsZSIsYjplLlVJUixyOjB9LGUuTUVUSE9EX0dVQVJEPXtiOiJcXC5cXHMqIitlLlVJUixyOjB9LGV9KTtobGpzLnJlZ2lzdGVyTGFuZ3VhZ2UoInNxbCIsZnVuY3Rpb24oZSl7dmFyIHQ9ZS5DKCItLSIsIiQiKTtyZXR1cm57Y0k6ITAsaTovWzw+e30qI10vLGM6W3tiSzoiYmVnaW4gZW5kIHN0YXJ0IGNvbW1pdCByb2xsYmFjayBzYXZlcG9pbnQgbG9jayBhbHRlciBjcmVhdGUgZHJvcCByZW5hbWUgY2FsbCBkZWxldGUgZG8gaGFuZGxlciBpbnNlcnQgbG9hZCByZXBsYWNlIHNlbGVjdCB0cnVuY2F0ZSB1cGRhdGUgc2V0IHNob3cgcHJhZ21hIGdyYW50IG1lcmdlIGRlc2NyaWJlIHVzZSBleHBsYWluIGhlbHAgZGVjbGFyZSBwcmVwYXJlIGV4ZWN1dGUgZGVhbGxvY2F0ZSByZWxlYXNlIHVubG9jayBwdXJnZSByZXNldCBjaGFuZ2Ugc3RvcCBhbmFseXplIGNhY2hlIGZsdXNoIG9wdGltaXplIHJlcGFpciBraWxsIGluc3RhbGwgdW5pbnN0YWxsIGNoZWNrc3VtIHJlc3RvcmUgY2hlY2sgYmFja3VwIHJldm9rZSBjb21tZW50IixlOi87LyxlVzohMCxsOi9bXHdcLl0rLyxrOntrZXl3b3JkOiJhYm9ydCBhYnMgYWJzb2x1dGUgYWNjIGFjY2UgYWNjZXAgYWNjZXB0IGFjY2VzcyBhY2Nlc3NlZCBhY2Nlc3NpYmxlIGFjY291bnQgYWNvcyBhY3Rpb24gYWN0aXZhdGUgYWRkIGFkZHRpbWUgYWRtaW4gYWRtaW5pc3RlciBhZHZhbmNlZCBhZHZpc2UgYWVzX2RlY3J5cHQgYWVzX2VuY3J5cHQgYWZ0ZXIgYWdlbnQgYWdncmVnYXRlIGFsaSBhbGlhIGFsaWFzIGFsbG9jYXRlIGFsbG93IGFsdGVyIGFsd2F5cyBhbmFseXplIGFuY2lsbGFyeSBhbmQgYW55IGFueWRhdGEgYW55ZGF0YXNldCBhbnlzY2hlbWEgYW55dHlwZSBhcHBseSBhcmNoaXZlIGFyY2hpdmVkIGFyY2hpdmVsb2cgYXJlIGFzIGFzYyBhc2NpaSBhc2luIGFzc2VtYmx5IGFzc2VydGlvbiBhc3NvY2lhdGUgYXN5bmNocm9ub3VzIGF0IGF0YW4gYXRuMiBhdHRyIGF0dHJpIGF0dHJpYiBhdHRyaWJ1IGF0dHJpYnV0IGF0dHJpYnV0ZSBhdHRyaWJ1dGVzIGF1ZGl0IGF1dGhlbnRpY2F0ZWQgYXV0aGVudGljYXRpb24gYXV0aGlkIGF1dGhvcnMgYXV0byBhdXRvYWxsb2NhdGUgYXV0b2RibGluayBhdXRvZXh0ZW5kIGF1dG9tYXRpYyBhdmFpbGFiaWxpdHkgYXZnIGJhY2t1cCBiYWRmaWxlIGJhc2ljZmlsZSBiZWZvcmUgYmVnaW4gYmVnaW5uaW5nIGJlbmNobWFyayBiZXR3ZWVuIGJmaWxlIGJmaWxlX2Jhc2UgYmlnIGJpZ2ZpbGUgYmluIGJpbmFyeV9kb3VibGUgYmluYXJ5X2Zsb2F0IGJpbmxvZyBiaXRfYW5kIGJpdF9jb3VudCBiaXRfbGVuZ3RoIGJpdF9vciBiaXRfeG9yIGJpdG1hcCBibG9iX2Jhc2UgYmxvY2sgYmxvY2tzaXplIGJvZHkgYm90aCBib3VuZCBidWZmZXJfY2FjaGUgYnVmZmVyX3Bvb2wgYnVpbGQgYnVsayBieSBieXRlIGJ5dGVvcmRlcm1hcmsgYnl0ZXMgY2FjaGUgY2FjaGluZyBjYWxsIGNhbGxpbmcgY2FuY2VsIGNhcGFjaXR5IGNhc2NhZGUgY2FzY2FkZWQgY2FzZSBjYXN0IGNhdGFsb2cgY2F0ZWdvcnkgY2VpbCBjZWlsaW5nIGNoYWluIGNoYW5nZSBjaGFuZ2VkIGNoYXJfYmFzZSBjaGFyX2xlbmd0aCBjaGFyYWN0ZXJfbGVuZ3RoIGNoYXJhY3RlcnMgY2hhcmFjdGVyc2V0IGNoYXJpbmRleCBjaGFyc2V0IGNoYXJzZXRmb3JtIGNoYXJzZXRpZCBjaGVjayBjaGVja3N1bSBjaGVja3N1bV9hZ2cgY2hpbGQgY2hvb3NlIGNociBjaHVuayBjbGFzcyBjbGVhbnVwIGNsZWFyIGNsaWVudCBjbG9iIGNsb2JfYmFzZSBjbG9uZSBjbG9zZSBjbHVzdGVyX2lkIGNsdXN0ZXJfcHJvYmFiaWxpdHkgY2x1c3Rlcl9zZXQgY2x1c3RlcmluZyBjb2FsZXNjZSBjb2VyY2liaWxpdHkgY29sIGNvbGxhdGUgY29sbGF0aW9uIGNvbGxlY3QgY29sdSBjb2x1bSBjb2x1bW4gY29sdW1uX3ZhbHVlIGNvbHVtbnMgY29sdW1uc191cGRhdGVkIGNvbW1lbnQgY29tbWl0IGNvbXBhY3QgY29tcGF0aWJpbGl0eSBjb21waWxlZCBjb21wbGV0ZSBjb21wb3NpdGVfbGltaXQgY29tcG91bmQgY29tcHJlc3MgY29tcHV0ZSBjb25jYXQgY29uY2F0X3dzIGNvbmN1cnJlbnQgY29uZmlybSBjb25uIGNvbm5lYyBjb25uZWN0IGNvbm5lY3RfYnlfaXNjeWNsZSBjb25uZWN0X2J5X2lzbGVhZiBjb25uZWN0X2J5X3Jvb3QgY29ubmVjdF90aW1lIGNvbm5lY3Rpb24gY29uc2lkZXIgY29uc2lzdGVudCBjb25zdGFudCBjb25zdHJhaW50IGNvbnN0cmFpbnRzIGNvbnN0cnVjdG9yIGNvbnRhaW5lciBjb250ZW50IGNvbnRlbnRzIGNvbnRleHQgY29udHJpYnV0b3JzIGNvbnRyb2xmaWxlIGNvbnYgY29udmVydCBjb252ZXJ0X3R6IGNvcnIgY29ycl9rIGNvcnJfcyBjb3JyZXNwb25kaW5nIGNvcnJ1cHRpb24gY29zIGNvc3QgY291bnQgY291bnRfYmlnIGNvdW50ZWQgY292YXJfcG9wIGNvdmFyX3NhbXAgY3B1X3Blcl9jYWxsIGNwdV9wZXJfc2Vzc2lvbiBjcmMzMiBjcmVhdGUgY3JlYXRpb24gY3JpdGljYWwgY3Jvc3MgY3ViZSBjdW1lX2Rpc3QgY3VyZGF0ZSBjdXJyZW50IGN1cnJlbnRfZGF0ZSBjdXJyZW50X3RpbWUgY3VycmVudF90aW1lc3RhbXAgY3VycmVudF91c2VyIGN1cnNvciBjdXJ0aW1lIGN1c3RvbWRhdHVtIGN5Y2xlIGRhdGEgZGF0YWJhc2UgZGF0YWJhc2VzIGRhdGFmaWxlIGRhdGFmaWxlcyBkYXRhbGVuZ3RoIGRhdGVfYWRkIGRhdGVfY2FjaGUgZGF0ZV9mb3JtYXQgZGF0ZV9zdWIgZGF0ZWFkZCBkYXRlZGlmZiBkYXRlZnJvbXBhcnRzIGRhdGVuYW1lIGRhdGVwYXJ0IGRhdGV0aW1lMmZyb21wYXJ0cyBkYXkgZGF5X3RvX3NlY29uZCBkYXluYW1lIGRheW9mbW9udGggZGF5b2Z3ZWVrIGRheW9meWVhciBkYXlzIGRiX3JvbGVfY2hhbmdlIGRidGltZXpvbmUgZGRsIGRlYWxsb2NhdGUgZGVjbGFyZSBkZWNvZGUgZGVjb21wb3NlIGRlY3JlbWVudCBkZWNyeXB0IGRlZHVwbGljYXRlIGRlZiBkZWZhIGRlZmF1IGRlZmF1bCBkZWZhdWx0IGRlZmF1bHRzIGRlZmVycmVkIGRlZmkgZGVmaW4gZGVmaW5lIGRlZ3JlZXMgZGVsYXllZCBkZWxlZ2F0ZSBkZWxldGUgZGVsZXRlX2FsbCBkZWxpbWl0ZWQgZGVtYW5kIGRlbnNlX3JhbmsgZGVwdGggZGVxdWV1ZSBkZXNfZGVjcnlwdCBkZXNfZW5jcnlwdCBkZXNfa2V5X2ZpbGUgZGVzYyBkZXNjciBkZXNjcmkgZGVzY3JpYiBkZXNjcmliZSBkZXNjcmlwdG9yIGRldGVybWluaXN0aWMgZGlhZ25vc3RpY3MgZGlmZmVyZW5jZSBkaW1lbnNpb24gZGlyZWN0X2xvYWQgZGlyZWN0b3J5IGRpc2FibGUgZGlzYWJsZV9hbGwgZGlzYWxsb3cgZGlzYXNzb2NpYXRlIGRpc2NhcmRmaWxlIGRpc2Nvbm5lY3QgZGlza2dyb3VwIGRpc3RpbmN0IGRpc3RpbmN0cm93IGRpc3RyaWJ1dGUgZGlzdHJpYnV0ZWQgZGl2IGRvIGRvY3VtZW50IGRvbWFpbiBkb3RuZXQgZG91YmxlIGRvd25ncmFkZSBkcm9wIGR1bXBmaWxlIGR1cGxpY2F0ZSBkdXJhdGlvbiBlYWNoIGVkaXRpb24gZWRpdGlvbmFibGUgZWRpdGlvbnMgZWxlbWVudCBlbGxpcHNpcyBlbHNlIGVsc2lmIGVsdCBlbXB0eSBlbmFibGUgZW5hYmxlX2FsbCBlbmNsb3NlZCBlbmNvZGUgZW5jb2RpbmcgZW5jcnlwdCBlbmQgZW5kLWV4ZWMgZW5kaWFuIGVuZm9yY2VkIGVuZ2luZSBlbmdpbmVzIGVucXVldWUgZW50ZXJwcmlzZSBlbnRpdHllc2NhcGluZyBlb21vbnRoIGVycm9yIGVycm9ycyBlc2NhcGVkIGV2YWxuYW1lIGV2YWx1YXRlIGV2ZW50IGV2ZW50ZGF0YSBldmVudHMgZXhjZXB0IGV4Y2VwdGlvbiBleGNlcHRpb25zIGV4Y2hhbmdlIGV4Y2x1ZGUgZXhjbHVkaW5nIGV4ZWN1IGV4ZWN1dCBleGVjdXRlIGV4ZW1wdCBleGlzdHMgZXhpdCBleHAgZXhwaXJlIGV4cGxhaW4gZXhwb3J0IGV4cG9ydF9zZXQgZXh0ZW5kZWQgZXh0ZW50IGV4dGVybmFsIGV4dGVybmFsXzEgZXh0ZXJuYWxfMiBleHRlcm5hbGx5IGV4dHJhY3QgZmFpbGVkIGZhaWxlZF9sb2dpbl9hdHRlbXB0cyBmYWlsb3ZlciBmYWlsdXJlIGZhciBmYXN0IGZlYXR1cmVfc2V0IGZlYXR1cmVfdmFsdWUgZmV0Y2ggZmllbGQgZmllbGRzIGZpbGUgZmlsZV9uYW1lX2NvbnZlcnQgZmlsZXN5c3RlbV9saWtlX2xvZ2dpbmcgZmluYWwgZmluaXNoIGZpcnN0IGZpcnN0X3ZhbHVlIGZpeGVkIGZsYXNoX2NhY2hlIGZsYXNoYmFjayBmbG9vciBmbHVzaCBmb2xsb3dpbmcgZm9sbG93cyBmb3IgZm9yYWxsIGZvcmNlIGZvcm0gZm9ybWEgZm9ybWF0IGZvdW5kIGZvdW5kX3Jvd3MgZnJlZWxpc3QgZnJlZWxpc3RzIGZyZWVwb29scyBmcmVzaCBmcm9tIGZyb21fYmFzZTY0IGZyb21fZGF5cyBmdHAgZnVsbCBmdW5jdGlvbiBnZW5lcmFsIGdlbmVyYXRlZCBnZXQgZ2V0X2Zvcm1hdCBnZXRfbG9jayBnZXRkYXRlIGdldHV0Y2RhdGUgZ2xvYmFsIGdsb2JhbF9uYW1lIGdsb2JhbGx5IGdvIGdvdG8gZ3JhbnQgZ3JhbnRzIGdyZWF0ZXN0IGdyb3VwIGdyb3VwX2NvbmNhdCBncm91cF9pZCBncm91cGluZyBncm91cGluZ19pZCBncm91cHMgZ3RpZF9zdWJ0cmFjdCBndWFyYW50ZWUgZ3VhcmQgaGFuZGxlciBoYXNoIGhhc2hrZXlzIGhhdmluZyBoZWEgaGVhZCBoZWFkaSBoZWFkaW4gaGVhZGluZyBoZWFwIGhlbHAgaGV4IGhpZXJhcmNoeSBoaWdoIGhpZ2hfcHJpb3JpdHkgaG9zdHMgaG91ciBodHRwIGlkIGlkZW50X2N1cnJlbnQgaWRlbnRfaW5jciBpZGVudF9zZWVkIGlkZW50aWZpZWQgaWRlbnRpdHkgaWRsZV90aW1lIGlmIGlmbnVsbCBpZ25vcmUgaWlmIGlsaWtlIGlsbSBpbW1lZGlhdGUgaW1wb3J0IGluIGluY2x1ZGUgaW5jbHVkaW5nIGluY3JlbWVudCBpbmRleCBpbmRleGVzIGluZGV4aW5nIGluZGV4dHlwZSBpbmRpY2F0b3IgaW5kaWNlcyBpbmV0Nl9hdG9uIGluZXQ2X250b2EgaW5ldF9hdG9uIGluZXRfbnRvYSBpbmZpbGUgaW5pdGlhbCBpbml0aWFsaXplZCBpbml0aWFsbHkgaW5pdHJhbnMgaW5tZW1vcnkgaW5uZXIgaW5ub2RiIGlucHV0IGluc2VydCBpbnN0YWxsIGluc3RhbmNlIGluc3RhbnRpYWJsZSBpbnN0ciBpbnRlcmZhY2UgaW50ZXJsZWF2ZWQgaW50ZXJzZWN0IGludG8gaW52YWxpZGF0ZSBpbnZpc2libGUgaXMgaXNfZnJlZV9sb2NrIGlzX2lwdjQgaXNfaXB2NF9jb21wYXQgaXNfbm90IGlzX25vdF9udWxsIGlzX3VzZWRfbG9jayBpc2RhdGUgaXNudWxsIGlzb2xhdGlvbiBpdGVyYXRlIGphdmEgam9pbiBqc29uIGpzb25fZXhpc3RzIGtlZXAga2VlcF9kdXBsaWNhdGVzIGtleSBrZXlzIGtpbGwgbGFuZ3VhZ2UgbGFyZ2UgbGFzdCBsYXN0X2RheSBsYXN0X2luc2VydF9pZCBsYXN0X3ZhbHVlIGxheCBsY2FzZSBsZWFkIGxlYWRpbmcgbGVhc3QgbGVhdmVzIGxlZnQgbGVuIGxlbmdodCBsZW5ndGggbGVzcyBsZXZlbCBsZXZlbHMgbGlicmFyeSBsaWtlIGxpa2UyIGxpa2U0IGxpa2VjIGxpbWl0IGxpbmVzIGxpbmsgbGlzdCBsaXN0YWdnIGxpdHRsZSBsbiBsb2FkIGxvYWRfZmlsZSBsb2IgbG9icyBsb2NhbCBsb2NhbHRpbWUgbG9jYWx0aW1lc3RhbXAgbG9jYXRlIGxvY2F0b3IgbG9jayBsb2NrZWQgbG9nIGxvZzEwIGxvZzIgbG9nZmlsZSBsb2dmaWxlcyBsb2dnaW5nIGxvZ2ljYWwgbG9naWNhbF9yZWFkc19wZXJfY2FsbCBsb2dvZmYgbG9nb24gbG9ncyBsb25nIGxvb3AgbG93IGxvd19wcmlvcml0eSBsb3dlciBscGFkIGxydHJpbSBsdHJpbSBtYWluIG1ha2Vfc2V0IG1ha2VkYXRlIG1ha2V0aW1lIG1hbmFnZWQgbWFuYWdlbWVudCBtYW51YWwgbWFwIG1hcHBpbmcgbWFzayBtYXN0ZXIgbWFzdGVyX3Bvc193YWl0IG1hdGNoIG1hdGNoZWQgbWF0ZXJpYWxpemVkIG1heCBtYXhleHRlbnRzIG1heGltaXplIG1heGluc3RhbmNlcyBtYXhsZW4gbWF4bG9nZmlsZXMgbWF4bG9naGlzdG9yeSBtYXhsb2dtZW1iZXJzIG1heHNpemUgbWF4dHJhbnMgbWQ1IG1lYXN1cmVzIG1lZGlhbiBtZWRpdW0gbWVtYmVyIG1lbWNvbXByZXNzIG1lbW9yeSBtZXJnZSBtaWNyb3NlY29uZCBtaWQgbWlncmF0aW9uIG1pbiBtaW5leHRlbnRzIG1pbmltdW0gbWluaW5nIG1pbnVzIG1pbnV0ZSBtaW52YWx1ZSBtaXNzaW5nIG1vZCBtb2RlIG1vZGVsIG1vZGlmaWNhdGlvbiBtb2RpZnkgbW9kdWxlIG1vbml0b3JpbmcgbW9udGggbW9udGhzIG1vdW50IG1vdmUgbW92ZW1lbnQgbXVsdGlzZXQgbXV0ZXggbmFtZSBuYW1lX2NvbnN0IG5hbWVzIG5hbiBuYXRpb25hbCBuYXRpdmUgbmF0dXJhbCBuYXYgbmNoYXIgbmNsb2IgbmVzdGVkIG5ldmVyIG5ldyBuZXdsaW5lIG5leHQgbmV4dHZhbCBubyBub193cml0ZV90b19iaW5sb2cgbm9hcmNoaXZlbG9nIG5vYXVkaXQgbm9iYWRmaWxlIG5vY2hlY2sgbm9jb21wcmVzcyBub2NvcHkgbm9jeWNsZSBub2RlbGF5IG5vZGlzY2FyZGZpbGUgbm9lbnRpdHllc2NhcGluZyBub2d1YXJhbnRlZSBub2tlZXAgbm9sb2dmaWxlIG5vbWFwcGluZyBub21heHZhbHVlIG5vbWluaW1pemUgbm9taW52YWx1ZSBub21vbml0b3Jpbmcgbm9uZSBub25lZGl0aW9uYWJsZSBub25zY2hlbWEgbm9vcmRlciBub3ByIG5vcHJvIG5vcHJvbSBub3Byb21wIG5vcHJvbXB0IG5vcmVseSBub3Jlc2V0bG9ncyBub3JldmVyc2Ugbm9ybWFsIG5vcm93ZGVwZW5kZW5jaWVzIG5vc2NoZW1hY2hlY2sgbm9zd2l0Y2ggbm90IG5vdGhpbmcgbm90aWNlIG5vdHJpbSBub3ZhbGlkYXRlIG5vdyBub3dhaXQgbnRoX3ZhbHVlIG51bGxpZiBudWxscyBudW0gbnVtYiBudW1iZSBudmFyY2hhciBudmFyY2hhcjIgb2JqZWN0IG9jaWNvbGwgb2NpZGF0ZSBvY2lkYXRldGltZSBvY2lkdXJhdGlvbiBvY2lpbnRlcnZhbCBvY2lsb2Jsb2NhdG9yIG9jaW51bWJlciBvY2lyZWYgb2NpcmVmY3Vyc29yIG9jaXJvd2lkIG9jaXN0cmluZyBvY2l0eXBlIG9jdCBvY3RldF9sZW5ndGggb2Ygb2ZmIG9mZmxpbmUgb2Zmc2V0IG9pZCBvaWRpbmRleCBvbGQgb24gb25saW5lIG9ubHkgb3BhcXVlIG9wZW4gb3BlcmF0aW9ucyBvcGVyYXRvciBvcHRpbWFsIG9wdGltaXplIG9wdGlvbiBvcHRpb25hbGx5IG9yIG9yYWNsZSBvcmFjbGVfZGF0ZSBvcmFkYXRhIG9yZCBvcmRhdWRpbyBvcmRkaWNvbSBvcmRkb2Mgb3JkZXIgb3JkaW1hZ2Ugb3JkaW5hbGl0eSBvcmR2aWRlbyBvcmdhbml6YXRpb24gb3JsYW55IG9ybHZhcnkgb3V0IG91dGVyIG91dGZpbGUgb3V0bGluZSBvdXRwdXQgb3ZlciBvdmVyZmxvdyBvdmVycmlkaW5nIHBhY2thZ2UgcGFkIHBhcmFsbGVsIHBhcmFsbGVsX2VuYWJsZSBwYXJhbWV0ZXJzIHBhcmVudCBwYXJzZSBwYXJ0aWFsIHBhcnRpdGlvbiBwYXJ0aXRpb25zIHBhc2NhbCBwYXNzaW5nIHBhc3N3b3JkIHBhc3N3b3JkX2dyYWNlX3RpbWUgcGFzc3dvcmRfbG9ja190aW1lIHBhc3N3b3JkX3JldXNlX21heCBwYXNzd29yZF9yZXVzZV90aW1lIHBhc3N3b3JkX3ZlcmlmeV9mdW5jdGlvbiBwYXRjaCBwYXRoIHBhdGluZGV4IHBjdGluY3JlYXNlIHBjdHRocmVzaG9sZCBwY3R1c2VkIHBjdHZlcnNpb24gcGVyY2VudCBwZXJjZW50X3JhbmsgcGVyY2VudGlsZV9jb250IHBlcmNlbnRpbGVfZGlzYyBwZXJmb3JtYW5jZSBwZXJpb2QgcGVyaW9kX2FkZCBwZXJpb2RfZGlmZiBwZXJtYW5lbnQgcGh5c2ljYWwgcGkgcGlwZSBwaXBlbGluZWQgcGl2b3QgcGx1Z2dhYmxlIHBsdWdpbiBwb2xpY3kgcG9zaXRpb24gcG9zdF90cmFuc2FjdGlvbiBwb3cgcG93ZXIgcHJhZ21hIHByZWJ1aWx0IHByZWNlZGVzIHByZWNlZGluZyBwcmVjaXNpb24gcHJlZGljdGlvbiBwcmVkaWN0aW9uX2Nvc3QgcHJlZGljdGlvbl9kZXRhaWxzIHByZWRpY3Rpb25fcHJvYmFiaWxpdHkgcHJlZGljdGlvbl9zZXQgcHJlcGFyZSBwcmVzZW50IHByZXNlcnZlIHByaW9yIHByaW9yaXR5IHByaXZhdGUgcHJpdmF0ZV9zZ2EgcHJpdmlsZWdlcyBwcm9jZWR1cmFsIHByb2NlZHVyZSBwcm9jZWR1cmVfYW5hbHl6ZSBwcm9jZXNzbGlzdCBwcm9maWxlcyBwcm9qZWN0IHByb21wdCBwcm90ZWN0aW9uIHB1YmxpYyBwdWJsaXNoaW5nc2VydmVybmFtZSBwdXJnZSBxdWFydGVyIHF1ZXJ5IHF1aWNrIHF1aWVzY2UgcXVvdGEgcXVvdGVuYW1lIHJhZGlhbnMgcmFpc2UgcmFuZCByYW5nZSByYW5rIHJhdyByZWFkIHJlYWRzIHJlYWRzaXplIHJlYnVpbGQgcmVjb3JkIHJlY29yZHMgcmVjb3ZlciByZWNvdmVyeSByZWN1cnNpdmUgcmVjeWNsZSByZWRvIHJlZHVjZWQgcmVmIHJlZmVyZW5jZSByZWZlcmVuY2VkIHJlZmVyZW5jZXMgcmVmZXJlbmNpbmcgcmVmcmVzaCByZWdleHBfbGlrZSByZWdpc3RlciByZWdyX2F2Z3ggcmVncl9hdmd5IHJlZ3JfY291bnQgcmVncl9pbnRlcmNlcHQgcmVncl9yMiByZWdyX3Nsb3BlIHJlZ3Jfc3h4IHJlZ3Jfc3h5IHJlamVjdCByZWtleSByZWxhdGlvbmFsIHJlbGF0aXZlIHJlbGF5bG9nIHJlbGVhc2UgcmVsZWFzZV9sb2NrIHJlbGllc19vbiByZWxvY2F0ZSByZWx5IHJlbSByZW1haW5kZXIgcmVuYW1lIHJlcGFpciByZXBlYXQgcmVwbGFjZSByZXBsaWNhdGUgcmVwbGljYXRpb24gcmVxdWlyZWQgcmVzZXQgcmVzZXRsb2dzIHJlc2l6ZSByZXNvdXJjZSByZXNwZWN0IHJlc3RvcmUgcmVzdHJpY3RlZCByZXN1bHQgcmVzdWx0X2NhY2hlIHJlc3VtYWJsZSByZXN1bWUgcmV0ZW50aW9uIHJldHVybiByZXR1cm5pbmcgcmV0dXJucyByZXVzZSByZXZlcnNlIHJldm9rZSByaWdodCBybGlrZSByb2xlIHJvbGVzIHJvbGxiYWNrIHJvbGxpbmcgcm9sbHVwIHJvdW5kIHJvdyByb3dfY291bnQgcm93ZGVwZW5kZW5jaWVzIHJvd2lkIHJvd251bSByb3dzIHJ0cmltIHJ1bGVzIHNhZmUgc2FsdCBzYW1wbGUgc2F2ZSBzYXZlcG9pbnQgc2IxIHNiMiBzYjQgc2NhbiBzY2hlbWEgc2NoZW1hY2hlY2sgc2NuIHNjb3BlIHNjcm9sbCBzZG9fZ2VvcmFzdGVyIHNkb190b3BvX2dlb21ldHJ5IHNlYXJjaCBzZWNfdG9fdGltZSBzZWNvbmQgc2VjdGlvbiBzZWN1cmVmaWxlIHNlY3VyaXR5IHNlZWQgc2VnbWVudCBzZWxlY3Qgc2VsZiBzZXF1ZW5jZSBzZXF1ZW50aWFsIHNlcmlhbGl6YWJsZSBzZXJ2ZXIgc2VydmVyZXJyb3Igc2Vzc2lvbiBzZXNzaW9uX3VzZXIgc2Vzc2lvbnNfcGVyX3VzZXIgc2V0IHNldHMgc2V0dGluZ3Mgc2hhIHNoYTEgc2hhMiBzaGFyZSBzaGFyZWQgc2hhcmVkX3Bvb2wgc2hvcnQgc2hvdyBzaHJpbmsgc2h1dGRvd24gc2lfYXZlcmFnZWNvbG9yIHNpX2NvbG9yaGlzdG9ncmFtIHNpX2ZlYXR1cmVsaXN0IHNpX3Bvc2l0aW9uYWxjb2xvciBzaV9zdGlsbGltYWdlIHNpX3RleHR1cmUgc2libGluZ3Mgc2lkIHNpZ24gc2luIHNpemUgc2l6ZV90IHNpemVzIHNraXAgc2xhdmUgc2xlZXAgc21hbGxkYXRldGltZWZyb21wYXJ0cyBzbWFsbGZpbGUgc25hcHNob3Qgc29tZSBzb25hbWUgc29ydCBzb3VuZGV4IHNvdXJjZSBzcGFjZSBzcGFyc2Ugc3BmaWxlIHNwbGl0IHNxbCBzcWxfYmlnX3Jlc3VsdCBzcWxfYnVmZmVyX3Jlc3VsdCBzcWxfY2FjaGUgc3FsX2NhbGNfZm91bmRfcm93cyBzcWxfc21hbGxfcmVzdWx0IHNxbF92YXJpYW50X3Byb3BlcnR5IHNxbGNvZGUgc3FsZGF0YSBzcWxlcnJvciBzcWxuYW1lIHNxbHN0YXRlIHNxcnQgc3F1YXJlIHN0YW5kYWxvbmUgc3RhbmRieSBzdGFydCBzdGFydGluZyBzdGFydHVwIHN0YXRlbWVudCBzdGF0aWMgc3RhdGlzdGljcyBzdGF0c19iaW5vbWlhbF90ZXN0IHN0YXRzX2Nyb3NzdGFiIHN0YXRzX2tzX3Rlc3Qgc3RhdHNfbW9kZSBzdGF0c19td190ZXN0IHN0YXRzX29uZV93YXlfYW5vdmEgc3RhdHNfdF90ZXN0XyBzdGF0c190X3Rlc3RfaW5kZXAgc3RhdHNfdF90ZXN0X29uZSBzdGF0c190X3Rlc3RfcGFpcmVkIHN0YXRzX3dzcl90ZXN0IHN0YXR1cyBzdGQgc3RkZGV2IHN0ZGRldl9wb3Agc3RkZGV2X3NhbXAgc3RkZXYgc3RvcCBzdG9yYWdlIHN0b3JlIHN0b3JlZCBzdHIgc3RyX3RvX2RhdGUgc3RyYWlnaHRfam9pbiBzdHJjbXAgc3RyaWN0IHN0cmluZyBzdHJ1Y3Qgc3R1ZmYgc3R5bGUgc3ViZGF0ZSBzdWJwYXJ0aXRpb24gc3VicGFydGl0aW9ucyBzdWJzdGl0dXRhYmxlIHN1YnN0ciBzdWJzdHJpbmcgc3VidGltZSBzdWJ0cmluZ19pbmRleCBzdWJ0eXBlIHN1Y2Nlc3Mgc3VtIHN1c3BlbmQgc3dpdGNoIHN3aXRjaG9mZnNldCBzd2l0Y2hvdmVyIHN5bmMgc3luY2hyb25vdXMgc3lub255bSBzeXMgc3lzX3htbGFnZyBzeXNhc20gc3lzYXV4IHN5c2RhdGUgc3lzZGF0ZXRpbWVvZmZzZXQgc3lzZGJhIHN5c29wZXIgc3lzdGVtIHN5c3RlbV91c2VyIHN5c3V0Y2RhdGV0aW1lIHRhYmxlIHRhYmxlcyB0YWJsZXNwYWNlIHRhbiB0ZG8gdGVtcGxhdGUgdGVtcG9yYXJ5IHRlcm1pbmF0ZWQgdGVydGlhcnlfd2VpZ2h0cyB0ZXN0IHRoYW4gdGhlbiB0aHJlYWQgdGhyb3VnaCB0aWVyIHRpZXMgdGltZSB0aW1lX2Zvcm1hdCB0aW1lX3pvbmUgdGltZWRpZmYgdGltZWZyb21wYXJ0cyB0aW1lb3V0IHRpbWVzdGFtcCB0aW1lc3RhbXBhZGQgdGltZXN0YW1wZGlmZiB0aW1lem9uZV9hYmJyIHRpbWV6b25lX21pbnV0ZSB0aW1lem9uZV9yZWdpb24gdG8gdG9fYmFzZTY0IHRvX2RhdGUgdG9fZGF5cyB0b19zZWNvbmRzIHRvZGF0ZXRpbWVvZmZzZXQgdHJhY2UgdHJhY2tpbmcgdHJhbnNhY3Rpb24gdHJhbnNhY3Rpb25hbCB0cmFuc2xhdGUgdHJhbnNsYXRpb24gdHJlYXQgdHJpZ2dlciB0cmlnZ2VyX25lc3RsZXZlbCB0cmlnZ2VycyB0cmltIHRydW5jYXRlIHRyeV9jYXN0IHRyeV9jb252ZXJ0IHRyeV9wYXJzZSB0eXBlIHViMSB1YjIgdWI0IHVjYXNlIHVuYXJjaGl2ZWQgdW5ib3VuZGVkIHVuY29tcHJlc3MgdW5kZXIgdW5kbyB1bmhleCB1bmljb2RlIHVuaWZvcm0gdW5pbnN0YWxsIHVuaW9uIHVuaXF1ZSB1bml4X3RpbWVzdGFtcCB1bmtub3duIHVubGltaXRlZCB1bmxvY2sgdW5waXZvdCB1bnJlY292ZXJhYmxlIHVuc2FmZSB1bnNpZ25lZCB1bnRpbCB1bnRydXN0ZWQgdW51c2FibGUgdW51c2VkIHVwZGF0ZSB1cGRhdGVkIHVwZ3JhZGUgdXBwZWQgdXBwZXIgdXBzZXJ0IHVybCB1cm93aWQgdXNhYmxlIHVzYWdlIHVzZSB1c2Vfc3RvcmVkX291dGxpbmVzIHVzZXIgdXNlcl9kYXRhIHVzZXJfcmVzb3VyY2VzIHVzZXJzIHVzaW5nIHV0Y19kYXRlIHV0Y190aW1lc3RhbXAgdXVpZCB1dWlkX3Nob3J0IHZhbGlkYXRlIHZhbGlkYXRlX3Bhc3N3b3JkX3N0cmVuZ3RoIHZhbGlkYXRpb24gdmFsaXN0IHZhbHVlIHZhbHVlcyB2YXIgdmFyX3NhbXAgdmFyY2hhcmMgdmFyaSB2YXJpYSB2YXJpYWIgdmFyaWFibCB2YXJpYWJsZSB2YXJpYWJsZXMgdmFyaWFuY2UgdmFycCB2YXJyYXcgdmFycmF3YyB2YXJyYXkgdmVyaWZ5IHZlcnNpb24gdmVyc2lvbnMgdmlldyB2aXJ0dWFsIHZpc2libGUgdm9pZCB3YWl0IHdhbGxldCB3YXJuaW5nIHdhcm5pbmdzIHdlZWsgd2Vla2RheSB3ZWVrb2Z5ZWFyIHdlbGxmb3JtZWQgd2hlbiB3aGVuZSB3aGVuZXYgd2hlbmV2ZSB3aGVuZXZlciB3aGVyZSB3aGlsZSB3aGl0ZXNwYWNlIHdpdGggd2l0aGluIHdpdGhvdXQgd29yayB3cmFwcGVkIHhkYiB4bWwgeG1sYWdnIHhtbGF0dHJpYnV0ZXMgeG1sY2FzdCB4bWxjb2xhdHR2YWwgeG1sZWxlbWVudCB4bWxleGlzdHMgeG1sZm9yZXN0IHhtbGluZGV4IHhtbG5hbWVzcGFjZXMgeG1scGkgeG1scXVlcnkgeG1scm9vdCB4bWxzY2hlbWEgeG1sc2VyaWFsaXplIHhtbHRhYmxlIHhtbHR5cGUgeG9yIHllYXIgeWVhcl90b19tb250aCB5ZWFycyB5ZWFyd2VlayIsbGl0ZXJhbDoidHJ1ZSBmYWxzZSBudWxsIixidWlsdF9pbjoiYXJyYXkgYmlnaW50IGJpbmFyeSBiaXQgYmxvYiBib29sZWFuIGNoYXIgY2hhcmFjdGVyIGRhdGUgZGVjIGRlY2ltYWwgZmxvYXQgaW50IGludDggaW50ZWdlciBpbnRlcnZhbCBudW1iZXIgbnVtZXJpYyByZWFsIHJlY29yZCBzZXJpYWwgc2VyaWFsOCBzbWFsbGludCB0ZXh0IHZhcmNoYXIgdmFyeWluZyB2b2lkIn0sYzpbe2NOOiJzdHJpbmciLGI6IiciLGU6IiciLGM6W2UuQkUse2I6IicnIn1dfSx7Y046InN0cmluZyIsYjonIicsZTonIicsYzpbZS5CRSx7YjonIiInfV19LHtjTjoic3RyaW5nIixiOiJgIixlOiJgIixjOltlLkJFXX0sZS5DTk0sZS5DQkNNLHRdfSxlLkNCQ00sdF19fSk7aGxqcy5yZWdpc3Rlckxhbmd1YWdlKCJyIixmdW5jdGlvbihlKXt2YXIgcj0iKFthLXpBLVpdfFxcLlthLXpBLVouXSlbYS16QS1aMC05Ll9dKiI7cmV0dXJue2M6W2UuSENNLHtiOnIsbDpyLGs6e2tleXdvcmQ6ImZ1bmN0aW9uIGlmIGluIGJyZWFrIG5leHQgcmVwZWF0IGVsc2UgZm9yIHJldHVybiBzd2l0Y2ggd2hpbGUgdHJ5IHRyeUNhdGNoIHN0b3Agd2FybmluZyByZXF1aXJlIGxpYnJhcnkgYXR0YWNoIGRldGFjaCBzb3VyY2Ugc2V0TWV0aG9kIHNldEdlbmVyaWMgc2V0R3JvdXBHZW5lcmljIHNldENsYXNzIC4uLiIsbGl0ZXJhbDoiTlVMTCBOQSBUUlVFIEZBTFNFIFQgRiBJbmYgTmFOIE5BX2ludGVnZXJffDEwIE5BX3JlYWxffDEwIE5BX2NoYXJhY3Rlcl98MTAgTkFfY29tcGxleF98MTAifSxyOjB9LHtjTjoibnVtYmVyIixiOiIwW3hYXVswLTlhLWZBLUZdK1tMaV0/XFxiIixyOjB9LHtjTjoibnVtYmVyIixiOiJcXGQrKD86W2VFXVsrXFwtXT9cXGQqKT9MXFxiIixyOjB9LHtjTjoibnVtYmVyIixiOiJcXGQrXFwuKD8hXFxkKSg/OmlcXGIpPyIscjowfSx7Y046Im51bWJlciIsYjoiXFxkKyg/OlxcLlxcZCopPyg/OltlRV1bK1xcLV0/XFxkKik/aT9cXGIiLHI6MH0se2NOOiJudW1iZXIiLGI6IlxcLlxcZCsoPzpbZUVdWytcXC1dP1xcZCopP2k/XFxiIixyOjB9LHtiOiJgIixlOiJgIixyOjB9LHtjTjoic3RyaW5nIixjOltlLkJFXSx2Olt7YjonIicsZTonIid9LHtiOiInIixlOiInIn1dfV19fSk7aGxqcy5yZWdpc3Rlckxhbmd1YWdlKCJwZXJsIixmdW5jdGlvbihlKXt2YXIgdD0iZ2V0cHdlbnQgZ2V0c2VydmVudCBxdW90ZW1ldGEgbXNncmN2IHNjYWxhciBraWxsIGRibWNsb3NlIHVuZGVmIGxjIG1hIHN5c3dyaXRlIHRyIHNlbmQgdW1hc2sgc3lzb3BlbiBzaG13cml0ZSB2ZWMgcXggdXRpbWUgbG9jYWwgb2N0IHNlbWN0bCBsb2NhbHRpbWUgcmVhZHBpcGUgZG8gcmV0dXJuIGZvcm1hdCByZWFkIHNwcmludGYgZGJtb3BlbiBwb3AgZ2V0cGdycCBub3QgZ2V0cHduYW0gcmV3aW5kZGlyIHFxZmlsZW5vIHF3IGVuZHByb3RvZW50IHdhaXQgc2V0aG9zdGVudCBibGVzcyBzfDAgb3BlbmRpciBjb250aW51ZSBlYWNoIHNsZWVwIGVuZGdyZW50IHNodXRkb3duIGR1bXAgY2hvbXAgY29ubmVjdCBnZXRzb2NrbmFtZSBkaWUgc29ja2V0cGFpciBjbG9zZSBmbG9jayBleGlzdHMgaW5kZXggc2htZ2V0c3ViIGZvciBlbmRwd2VudCByZWRvIGxzdGF0IG1zZ2N0bCBzZXRwZ3JwIGFicyBleGl0IHNlbGVjdCBwcmludCByZWYgZ2V0aG9zdGJ5YWRkciB1bnNoaWZ0IGZjbnRsIHN5c2NhbGwgZ290byBnZXRuZXRieWFkZHIgam9pbiBnbXRpbWUgc3ltbGluayBzZW1nZXQgc3BsaWNlIHh8MCBnZXRwZWVybmFtZSByZWN2IGxvZyBzZXRzb2Nrb3B0IGNvcyBsYXN0IHJldmVyc2UgZ2V0aG9zdGJ5bmFtZSBnZXRncm5hbSBzdHVkeSBmb3JtbGluZSBlbmRob3N0ZW50IHRpbWVzIGNob3AgbGVuZ3RoIGdldGhvc3RlbnQgZ2V0bmV0ZW50IHBhY2sgZ2V0cHJvdG9lbnQgZ2V0c2VydmJ5bmFtZSByYW5kIG1rZGlyIHBvcyBjaG1vZCB5fDAgc3Vic3RyIGVuZG5ldGVudCBwcmludGYgbmV4dCBvcGVuIG1zZ3NuZCByZWFkZGlyIHVzZSB1bmxpbmsgZ2V0c29ja29wdCBnZXRwcmlvcml0eSByaW5kZXggd2FudGFycmF5IGhleCBzeXN0ZW0gZ2V0c2VydmJ5cG9ydCBlbmRzZXJ2ZW50IGludCBjaHIgdW50aWUgcm1kaXIgcHJvdG90eXBlIHRlbGwgbGlzdGVuIGZvcmsgc2htcmVhZCB1Y2ZpcnN0IHNldHByb3RvZW50IGVsc2Ugc3lzc2VlayBsaW5rIGdldGdyZ2lkIHNobWN0bCB3YWl0cGlkIHVucGFjayBnZXRuZXRieW5hbWUgcmVzZXQgY2hkaXIgZ3JlcCBzcGxpdCByZXF1aXJlIGNhbGxlciBsY2ZpcnN0IHVudGlsIHdhcm4gd2hpbGUgdmFsdWVzIHNoaWZ0IHRlbGxkaXIgZ2V0cHd1aWQgbXkgZ2V0cHJvdG9ieW51bWJlciBkZWxldGUgYW5kIHNvcnQgdWMgZGVmaW5lZCBzcmFuZCBhY2NlcHQgcGFja2FnZSBzZWVrZGlyIGdldHByb3RvYnluYW1lIHNlbW9wIG91ciByZW5hbWUgc2VlayBpZiBxfDAgY2hyb290IHN5c3JlYWQgc2V0cHdlbnQgbm8gY3J5cHQgZ2V0YyBjaG93biBzcXJ0IHdyaXRlIHNldG5ldGVudCBzZXRwcmlvcml0eSBmb3JlYWNoIHRpZSBzaW4gbXNnZ2V0IG1hcCBzdGF0IGdldGxvZ2luIHVubGVzcyBlbHNpZiB0cnVuY2F0ZSBleGVjIGtleXMgZ2xvYiB0aWVkIGNsb3NlZGlyaW9jdGwgc29ja2V0IHJlYWRsaW5rIGV2YWwgeG9yIHJlYWRsaW5lIGJpbm1vZGUgc2V0c2VydmVudCBlb2Ygb3JkIGJpbmQgYWxhcm0gcGlwZSBhdGFuMiBnZXRncmVudCBleHAgdGltZSBwdXNoIHNldGdyZW50IGd0IGx0IG9yIG5lIG18MCBicmVhayBnaXZlbiBzYXkgc3RhdGUgd2hlbiIscj17Y046InN1YnN0IixiOiJbJEBdXFx7IixlOiJcXH0iLGs6dH0scz17YjoiLT57IixlOiJ9In0sbj17djpbe2I6L1wkXGQvfSx7YjovW1wkJUBdKFxeXHdcYnwjXHcrKDo6XHcrKSp8e1x3K318XHcrKDo6XHcqKSopL30se2I6L1tcJCVAXVteXHNcd3tdLyxyOjB9XX0saT1bZS5CRSxyLG5dLG89W24sZS5IQ00sZS5DKCJeXFw9XFx3IiwiXFw9Y3V0Iix7ZVc6ITB9KSxzLHtjTjoic3RyaW5nIixjOmksdjpbe2I6InFbcXd4cl0/XFxzKlxcKCIsZToiXFwpIixyOjV9LHtiOiJxW3F3eHJdP1xccypcXFsiLGU6IlxcXSIscjo1fSx7YjoicVtxd3hyXT9cXHMqXFx7IixlOiJcXH0iLHI6NX0se2I6InFbcXd4cl0/XFxzKlxcfCIsZToiXFx8IixyOjV9LHtiOiJxW3F3eHJdP1xccypcXDwiLGU6IlxcPiIscjo1fSx7YjoicXdcXHMrcSIsZToicSIscjo1fSx7YjoiJyIsZToiJyIsYzpbZS5CRV19LHtiOiciJyxlOiciJ30se2I6ImAiLGU6ImAiLGM6W2UuQkVdfSx7Yjoie1xcdyt9IixjOltdLHI6MH0se2I6Ii0/XFx3K1xccypcXD1cXD4iLGM6W10scjowfV19LHtjTjoibnVtYmVyIixiOiIoXFxiMFswLTdfXSspfChcXGIweFswLTlhLWZBLUZfXSspfChcXGJbMS05XVswLTlfXSooXFwuWzAtOV9dKyk/KXxbMF9dXFxiIixyOjB9LHtiOiIoXFwvXFwvfCIrZS5SU1IrInxcXGIoc3BsaXR8cmV0dXJufHByaW50fHJldmVyc2V8Z3JlcClcXGIpXFxzKiIsazoic3BsaXQgcmV0dXJuIHByaW50IHJldmVyc2UgZ3JlcCIscjowLGM6W2UuSENNLHtjTjoicmVnZXhwIixiOiIoc3x0cnx5KS8oXFxcXC58W14vXSkqLyhcXFxcLnxbXi9dKSovW2Etel0qIixyOjEwfSx7Y046InJlZ2V4cCIsYjoiKG18cXIpPy8iLGU6Ii9bYS16XSoiLGM6W2UuQkVdLHI6MH1dfSx7Y046ImZ1bmN0aW9uIixiSzoic3ViIixlOiIoXFxzKlxcKC4qP1xcKSk/Wzt7XSIsZUU6ITAscjo1LGM6W2UuVE1dfSx7YjoiLVxcd1xcYiIscjowfSx7YjoiXl9fREFUQV9fJCIsZToiXl9fRU5EX18kIixzTDoibW9qb2xpY2lvdXMiLGM6W3tiOiJeQEAuKiIsZToiJCIsY046ImNvbW1lbnQifV19XTtyZXR1cm4gci5jPW8scy5jPW8se2FsaWFzZXM6WyJwbCIsInBtIl0sbDovW1x3XC5dKy8sazp0LGM6b319KTtobGpzLnJlZ2lzdGVyTGFuZ3VhZ2UoImluaSIsZnVuY3Rpb24oZSl7dmFyIGI9e2NOOiJzdHJpbmciLGM6W2UuQkVdLHY6W3tiOiInJyciLGU6IicnJyIscjoxMH0se2I6JyIiIicsZTonIiIiJyxyOjEwfSx7YjonIicsZTonIid9LHtiOiInIixlOiInIn1dfTtyZXR1cm57YWxpYXNlczpbInRvbWwiXSxjSTohMCxpOi9cUy8sYzpbZS5DKCI7IiwiJCIpLGUuSENNLHtjTjoic2VjdGlvbiIsYjovXlxzKlxbKy8sZTovXF0rL30se2I6L15bYS16MC05XFtcXV8tXStccyo9XHMqLyxlOiIkIixyQjohMCxjOlt7Y046ImF0dHIiLGI6L1thLXowLTlcW1xdXy1dKy99LHtiOi89LyxlVzohMCxyOjAsYzpbe2NOOiJsaXRlcmFsIixiOi9cYm9ufG9mZnx0cnVlfGZhbHNlfHllc3xub1xiL30se2NOOiJ2YXJpYWJsZSIsdjpbe2I6L1wkW1x3XGQiXVtcd1xkX10qL30se2I6L1wkXHsoLio/KX0vfV19LGIse2NOOiJudW1iZXIiLGI6LyhbXCtcLV0rKT9bXGRdK19bXGRfXSsvfSxlLk5NXX1dfV19fSk7aGxqcy5yZWdpc3Rlckxhbmd1YWdlKCJkaWZmIixmdW5jdGlvbihlKXtyZXR1cm57YWxpYXNlczpbInBhdGNoIl0sYzpbe2NOOiJtZXRhIixyOjEwLHY6W3tiOi9eQEAgK1wtXGQrLFxkKyArXCtcZCssXGQrICtAQCQvfSx7YjovXlwqXCpcKiArXGQrLFxkKyArXCpcKlwqXCokL30se2I6L15cLVwtXC0gK1xkKyxcZCsgK1wtXC1cLVwtJC99XX0se2NOOiJjb21tZW50Iix2Olt7YjovSW5kZXg6IC8sZTovJC99LHtiOi89ezMsfS8sZTovJC99LHtiOi9eXC17M30vLGU6LyQvfSx7YjovXlwqezN9IC8sZTovJC99LHtiOi9eXCt7M30vLGU6LyQvfSx7YjovXCp7NX0vLGU6L1wqezV9JC99XX0se2NOOiJhZGRpdGlvbiIsYjoiXlxcKyIsZToiJCJ9LHtjTjoiZGVsZXRpb24iLGI6Il5cXC0iLGU6IiQifSx7Y046ImFkZGl0aW9uIixiOiJeXFwhIixlOiIkIn1dfX0pO2hsanMucmVnaXN0ZXJMYW5ndWFnZSgiZ28iLGZ1bmN0aW9uKGUpe3ZhciB0PXtrZXl3b3JkOiJicmVhayBkZWZhdWx0IGZ1bmMgaW50ZXJmYWNlIHNlbGVjdCBjYXNlIG1hcCBzdHJ1Y3QgY2hhbiBlbHNlIGdvdG8gcGFja2FnZSBzd2l0Y2ggY29uc3QgZmFsbHRocm91Z2ggaWYgcmFuZ2UgdHlwZSBjb250aW51ZSBmb3IgaW1wb3J0IHJldHVybiB2YXIgZ28gZGVmZXIgYm9vbCBieXRlIGNvbXBsZXg2NCBjb21wbGV4MTI4IGZsb2F0MzIgZmxvYXQ2NCBpbnQ4IGludDE2IGludDMyIGludDY0IHN0cmluZyB1aW50OCB1aW50MTYgdWludDMyIHVpbnQ2NCBpbnQgdWludCB1aW50cHRyIHJ1bmUiLGxpdGVyYWw6InRydWUgZmFsc2UgaW90YSBuaWwiLGJ1aWx0X2luOiJhcHBlbmQgY2FwIGNsb3NlIGNvbXBsZXggY29weSBpbWFnIGxlbiBtYWtlIG5ldyBwYW5pYyBwcmludCBwcmludGxuIHJlYWwgcmVjb3ZlciBkZWxldGUifTtyZXR1cm57YWxpYXNlczpbImdvbGFuZyJdLGs6dCxpOiI8LyIsYzpbZS5DTENNLGUuQ0JDTSx7Y046InN0cmluZyIsdjpbZS5RU00se2I6IiciLGU6IlteXFxcXF0nIn0se2I6ImAiLGU6ImAifV19LHtjTjoibnVtYmVyIix2Olt7YjplLkNOUisiW2RmbHNpXSIscjoxfSxlLkNOTV19LHtiOi86PS99LHtjTjoiZnVuY3Rpb24iLGJLOiJmdW5jIixlOi9ccypcey8sZUU6ITAsYzpbZS5UTSx7Y046InBhcmFtcyIsYjovXCgvLGU6L1wpLyxrOnQsaTovWyInXS99XX1dfX0pO2hsanMucmVnaXN0ZXJMYW5ndWFnZSgiYmFzaCIsZnVuY3Rpb24oZSl7dmFyIHQ9e2NOOiJ2YXJpYWJsZSIsdjpbe2I6L1wkW1x3XGQjQF1bXHdcZF9dKi99LHtiOi9cJFx7KC4qPyl9L31dfSxzPXtjTjoic3RyaW5nIixiOi8iLyxlOi8iLyxjOltlLkJFLHQse2NOOiJ2YXJpYWJsZSIsYjovXCRcKC8sZTovXCkvLGM6W2UuQkVdfV19LGE9e2NOOiJzdHJpbmciLGI6LycvLGU6LycvfTtyZXR1cm57YWxpYXNlczpbInNoIiwienNoIl0sbDovXGItP1thLXpcLl9dK1xiLyxrOntrZXl3b3JkOiJpZiB0aGVuIGVsc2UgZWxpZiBmaSBmb3Igd2hpbGUgaW4gZG8gZG9uZSBjYXNlIGVzYWMgZnVuY3Rpb24iLGxpdGVyYWw6InRydWUgZmFsc2UiLGJ1aWx0X2luOiJicmVhayBjZCBjb250aW51ZSBldmFsIGV4ZWMgZXhpdCBleHBvcnQgZ2V0b3B0cyBoYXNoIHB3ZCByZWFkb25seSByZXR1cm4gc2hpZnQgdGVzdCB0aW1lcyB0cmFwIHVtYXNrIHVuc2V0IGFsaWFzIGJpbmQgYnVpbHRpbiBjYWxsZXIgY29tbWFuZCBkZWNsYXJlIGVjaG8gZW5hYmxlIGhlbHAgbGV0IGxvY2FsIGxvZ291dCBtYXBmaWxlIHByaW50ZiByZWFkIHJlYWRhcnJheSBzb3VyY2UgdHlwZSB0eXBlc2V0IHVsaW1pdCB1bmFsaWFzIHNldCBzaG9wdCBhdXRvbG9hZCBiZyBiaW5ka2V5IGJ5ZSBjYXAgY2hkaXIgY2xvbmUgY29tcGFyZ3VtZW50cyBjb21wY2FsbCBjb21wY3RsIGNvbXBkZXNjcmliZSBjb21wZmlsZXMgY29tcGdyb3VwcyBjb21wcXVvdGUgY29tcHRhZ3MgY29tcHRyeSBjb21wdmFsdWVzIGRpcnMgZGlzYWJsZSBkaXNvd24gZWNob3RjIGVjaG90aSBlbXVsYXRlIGZjIGZnIGZsb2F0IGZ1bmN0aW9ucyBnZXRjYXAgZ2V0bG4gaGlzdG9yeSBpbnRlZ2VyIGpvYnMga2lsbCBsaW1pdCBsb2cgbm9nbG9iIHBvcGQgcHJpbnQgcHVzaGQgcHVzaGxuIHJlaGFzaCBzY2hlZCBzZXRjYXAgc2V0b3B0IHN0YXQgc3VzcGVuZCB0dHljdGwgdW5mdW5jdGlvbiB1bmhhc2ggdW5saW1pdCB1bnNldG9wdCB2YXJlZCB3YWl0IHdoZW5jZSB3aGVyZSB3aGljaCB6Y29tcGlsZSB6Zm9ybWF0IHpmdHAgemxlIHptb2Rsb2FkIHpwYXJzZW9wdHMgenByb2YgenB0eSB6cmVnZXhwYXJzZSB6c29ja2V0IHpzdHlsZSB6dGNwIixfOiItbmUgLWVxIC1sdCAtZ3QgLWYgLWQgLWUgLXMgLWwgLWEifSxjOlt7Y046Im1ldGEiLGI6L14jIVteXG5dK3NoXHMqJC8scjoxMH0se2NOOiJmdW5jdGlvbiIsYjovXHdbXHdcZF9dKlxzKlwoXHMqXClccypcey8sckI6ITAsYzpbZS5pbmhlcml0KGUuVE0se2I6L1x3W1x3XGRfXSovfSldLHI6MH0sZS5IQ00scyxhLHRdfX0pO2hsanMucmVnaXN0ZXJMYW5ndWFnZSgicHl0aG9uIixmdW5jdGlvbihlKXt2YXIgcj17a2V5d29yZDoiYW5kIGVsaWYgaXMgZ2xvYmFsIGFzIGluIGlmIGZyb20gcmFpc2UgZm9yIGV4Y2VwdCBmaW5hbGx5IHByaW50IGltcG9ydCBwYXNzIHJldHVybiBleGVjIGVsc2UgYnJlYWsgbm90IHdpdGggY2xhc3MgYXNzZXJ0IHlpZWxkIHRyeSB3aGlsZSBjb250aW51ZSBkZWwgb3IgZGVmIGxhbWJkYSBhc3luYyBhd2FpdCBub25sb2NhbHwxMCBOb25lIFRydWUgRmFsc2UiLGJ1aWx0X2luOiJFbGxpcHNpcyBOb3RJbXBsZW1lbnRlZCJ9LGI9e2NOOiJtZXRhIixiOi9eKD4+PnxcLlwuXC4pIC99LGM9e2NOOiJzdWJzdCIsYjovXHsvLGU6L1x9LyxrOnIsaTovIy99LGE9e2NOOiJzdHJpbmciLGM6W2UuQkVdLHY6W3tiOi8odXxiKT9yPycnJy8sZTovJycnLyxjOltiXSxyOjEwfSx7YjovKHV8Yik/cj8iIiIvLGU6LyIiIi8sYzpbYl0scjoxMH0se2I6LyhmcnxyZnxmKScnJy8sZTovJycnLyxjOltiLGNdfSx7YjovKGZyfHJmfGYpIiIiLyxlOi8iIiIvLGM6W2IsY119LHtiOi8odXxyfHVyKScvLGU6LycvLHI6MTB9LHtiOi8odXxyfHVyKSIvLGU6LyIvLHI6MTB9LHtiOi8oYnxiciknLyxlOi8nL30se2I6LyhifGJyKSIvLGU6LyIvfSx7YjovKGZyfHJmfGYpJy8sZTovJy8sYzpbY119LHtiOi8oZnJ8cmZ8ZikiLyxlOi8iLyxjOltjXX0sZS5BU00sZS5RU01dfSxzPXtjTjoibnVtYmVyIixyOjAsdjpbe2I6ZS5CTlIrIltsTGpKXT8ifSx7YjoiXFxiKDBvWzAtN10rKVtsTGpKXT8ifSx7YjplLkNOUisiW2xMakpdPyJ9XX0saT17Y046InBhcmFtcyIsYjovXCgvLGU6L1wpLyxjOlsic2VsZiIsYixzLGFdfTtyZXR1cm4gYy5jPVthLHMsYl0se2FsaWFzZXM6WyJweSIsImd5cCJdLGs6cixpOi8oPFwvfC0+fFw/KXw9Pi8sYzpbYixzLGEsZS5IQ00se3Y6W3tjTjoiZnVuY3Rpb24iLGJLOiJkZWYifSx7Y046ImNsYXNzIixiSzoiY2xhc3MifV0sZTovOi8saTovWyR7PTtcbixdLyxjOltlLlVUTSxpLHtiOi8tPi8sZVc6ITAsazoiTm9uZSJ9XX0se2NOOiJtZXRhIixiOi9eW1x0IF0qQC8sZTovJC99LHtiOi9cYihwcmludHxleGVjKVwoL31dfX0pO2hsanMucmVnaXN0ZXJMYW5ndWFnZSgianVsaWEiLGZ1bmN0aW9uKGUpe3ZhciByPXtrZXl3b3JkOiJpbiBpc2Egd2hlcmUgYmFyZW1vZHVsZSBiZWdpbiBicmVhayBjYXRjaCBjY2FsbCBjb25zdCBjb250aW51ZSBkbyBlbHNlIGVsc2VpZiBlbmQgZXhwb3J0IGZhbHNlIGZpbmFsbHkgZm9yIGZ1bmN0aW9uIGdsb2JhbCBpZiBpbXBvcnQgaW1wb3J0YWxsIGxldCBsb2NhbCBtYWNybyBtb2R1bGUgcXVvdGUgcmV0dXJuIHRydWUgdHJ5IHVzaW5nIHdoaWxlIHR5cGUgaW1tdXRhYmxlIGFic3RyYWN0IGJpdHN0eXBlIHR5cGVhbGlhcyAiLGxpdGVyYWw6InRydWUgZmFsc2UgQVJHUyBDX05VTEwgRGV2TnVsbCBFTkRJQU5fQk9NIEVOViBJIEluZiBJbmYxNiBJbmYzMiBJbmY2NCBJbnNlcnRpb25Tb3J0IEpVTElBX0hPTUUgTE9BRF9QQVRIIE1lcmdlU29ydCBOYU4gTmFOMTYgTmFOMzIgTmFONjQgUFJPR1JBTV9GSUxFIFF1aWNrU29ydCBSb3VuZERvd24gUm91bmRGcm9tWmVybyBSb3VuZE5lYXJlc3QgUm91bmROZWFyZXN0VGllc0F3YXkgUm91bmROZWFyZXN0VGllc1VwIFJvdW5kVG9aZXJvIFJvdW5kVXAgU1RERVJSIFNURElOIFNURE9VVCBWRVJTSU9OIGNhdGFsYW4gZXwwIGV1fDAgZXVsZXJnYW1tYSBnb2xkZW4gaW0gbm90aGluZyBwaSDOsyDPgCDPhiAiLGJ1aWx0X2luOiJBTlkgQWJzdHJhY3RBcnJheSBBYnN0cmFjdENoYW5uZWwgQWJzdHJhY3RGbG9hdCBBYnN0cmFjdE1hdHJpeCBBYnN0cmFjdFJORyBBYnN0cmFjdFNlcmlhbGl6ZXIgQWJzdHJhY3RTZXQgQWJzdHJhY3RTcGFyc2VBcnJheSBBYnN0cmFjdFNwYXJzZU1hdHJpeCBBYnN0cmFjdFNwYXJzZVZlY3RvciBBYnN0cmFjdFN0cmluZyBBYnN0cmFjdFVuaXRSYW5nZSBBYnN0cmFjdFZlY09yTWF0IEFic3RyYWN0VmVjdG9yIEFueSBBcmd1bWVudEVycm9yIEFycmF5IEFzc2VydGlvbkVycm9yIEFzc29jaWF0aXZlIEJhc2U2NERlY29kZVBpcGUgQmFzZTY0RW5jb2RlUGlwZSBCaWRpYWdvbmFsIEJpZ0Zsb2F0IEJpZ0ludCBCaXRBcnJheSBCaXRNYXRyaXggQml0VmVjdG9yIEJvb2wgQm91bmRzRXJyb3IgQnVmZmVyU3RyZWFtIENhY2hpbmdQb29sIENhcHR1cmVkRXhjZXB0aW9uIENhcnRlc2lhbkluZGV4IENhcnRlc2lhblJhbmdlIENjaGFyIENkb3VibGUgQ2Zsb2F0IENoYW5uZWwgQ2hhciBDaW50IENpbnRtYXhfdCBDbG9uZyBDbG9uZ2xvbmcgQ2x1c3Rlck1hbmFnZXIgQ21kIENvZGVJbmZvIENvbG9uIENvbXBsZXggQ29tcGxleDEyOCBDb21wbGV4MzIgQ29tcGxleDY0IENvbXBvc2l0ZUV4Y2VwdGlvbiBDb25kaXRpb24gQ29uakFycmF5IENvbmpNYXRyaXggQ29ualZlY3RvciBDcHRyZGlmZl90IENzaG9ydCBDc2l6ZV90IENzc2l6ZV90IENzdHJpbmcgQ3VjaGFyIEN1aW50IEN1aW50bWF4X3QgQ3Vsb25nIEN1bG9uZ2xvbmcgQ3VzaG9ydCBDd2NoYXJfdCBDd3N0cmluZyBEYXRhVHlwZSBEYXRlIERhdGVGb3JtYXQgRGF0ZVRpbWUgRGVuc2VBcnJheSBEZW5zZU1hdHJpeCBEZW5zZVZlY09yTWF0IERlbnNlVmVjdG9yIERpYWdvbmFsIERpY3QgRGltZW5zaW9uTWlzbWF0Y2ggRGltcyBEaXJlY3RJbmRleFN0cmluZyBEaXNwbGF5IERpdmlkZUVycm9yIERvbWFpbkVycm9yIEVPRkVycm9yIEVhY2hMaW5lIEVudW0gRW51bWVyYXRlIEVycm9yRXhjZXB0aW9uIEV4Y2VwdGlvbiBFeHBvbmVudGlhbEJhY2tPZmYgRXhwciBGYWN0b3JpemF0aW9uIEZpbGVNb25pdG9yIEZsb2F0MTYgRmxvYXQzMiBGbG9hdDY0IEZ1bmN0aW9uIEZ1dHVyZSBHbG9iYWxSZWYgR290b05vZGUgSFRNTCBIZXJtaXRpYW4gSU8gSU9CdWZmZXIgSU9Db250ZXh0IElPU3RyZWFtIElQQWRkciBJUHY0IElQdjYgSW5kZXhDYXJ0ZXNpYW4gSW5kZXhMaW5lYXIgSW5kZXhTdHlsZSBJbmV4YWN0RXJyb3IgSW5pdEVycm9yIEludCBJbnQxMjggSW50MTYgSW50MzIgSW50NjQgSW50OCBJbnRTZXQgSW50ZWdlciBJbnRlcnJ1cHRFeGNlcHRpb24gSW52YWxpZFN0YXRlRXhjZXB0aW9uIElycmF0aW9uYWwgS2V5RXJyb3IgTGFiZWxOb2RlIExpblNwYWNlIExpbmVOdW1iZXJOb2RlIExvYWRFcnJvciBMb3dlclRyaWFuZ3VsYXIgTUlNRSBNYXRyaXggTWVyc2VubmVUd2lzdGVyIE1ldGhvZCBNZXRob2RFcnJvciBNZXRob2RUYWJsZSBNb2R1bGUgTlR1cGxlIE5ld3Zhck5vZGUgTnVsbEV4Y2VwdGlvbiBOdWxsYWJsZSBOdW1iZXIgT2JqZWN0SWREaWN0IE9yZGluYWxSYW5nZSBPdXRPZk1lbW9yeUVycm9yIE92ZXJmbG93RXJyb3IgUGFpciBQYXJzZUVycm9yIFBhcnRpYWxRdWlja1NvcnQgUGVybXV0ZWREaW1zQXJyYXkgUGlwZSBQb2xsaW5nRmlsZVdhdGNoZXIgUHJvY2Vzc0V4aXRlZEV4Y2VwdGlvbiBQdHIgUXVvdGVOb2RlIFJhbmRvbURldmljZSBSYW5nZSBSYW5nZUluZGV4IFJhdGlvbmFsIFJhd0ZEIFJlYWRPbmx5TWVtb3J5RXJyb3IgUmVhbCBSZWVudHJhbnRMb2NrIFJlZiBSZWdleCBSZWdleE1hdGNoIFJlbW90ZUNoYW5uZWwgUmVtb3RlRXhjZXB0aW9uIFJldlN0cmluZyBSb3VuZGluZ01vZGUgUm93VmVjdG9yIFNTQVZhbHVlIFNlZ21lbnRhdGlvbkZhdWx0IFNlcmlhbGl6YXRpb25TdGF0ZSBTZXQgU2hhcmVkQXJyYXkgU2hhcmVkTWF0cml4IFNoYXJlZFZlY3RvciBTaWduZWQgU2ltcGxlVmVjdG9yIFNsb3QgU2xvdE51bWJlciBTcGFyc2VNYXRyaXhDU0MgU3BhcnNlVmVjdG9yIFN0YWNrRnJhbWUgU3RhY2tPdmVyZmxvd0Vycm9yIFN0YWNrVHJhY2UgU3RlcFJhbmdlIFN0ZXBSYW5nZUxlbiBTdHJpZGVkQXJyYXkgU3RyaWRlZE1hdHJpeCBTdHJpZGVkVmVjT3JNYXQgU3RyaWRlZFZlY3RvciBTdHJpbmcgU3ViQXJyYXkgU3ViU3RyaW5nIFN5bVRyaWRpYWdvbmFsIFN5bWJvbCBTeW1tZXRyaWMgU3lzdGVtRXJyb3IgVENQU29ja2V0IFRhc2sgVGV4dCBUZXh0RGlzcGxheSBUaW1lciBUcmlkaWFnb25hbCBUdXBsZSBUeXBlIFR5cGVFcnJvciBUeXBlTWFwRW50cnkgVHlwZU1hcExldmVsIFR5cGVOYW1lIFR5cGVWYXIgVHlwZWRTbG90IFVEUFNvY2tldCBVSW50IFVJbnQxMjggVUludDE2IFVJbnQzMiBVSW50NjQgVUludDggVW5kZWZSZWZFcnJvciBVbmRlZlZhckVycm9yIFVuaWNvZGVFcnJvciBVbmlmb3JtU2NhbGluZyBVbmlvbiBVbmlvbkFsbCBVbml0UmFuZ2UgVW5zaWduZWQgVXBwZXJUcmlhbmd1bGFyIFZhbCBWYXJhcmcgVmVjRWxlbWVudCBWZWNPck1hdCBWZWN0b3IgVmVyc2lvbk51bWJlciBWb2lkIFdlYWtLZXlEaWN0IFdlYWtSZWYgV29ya2VyQ29uZmlnIFdvcmtlclBvb2wgIn0sdD0iW0EtWmEtel9cXHUwMEExLVxcdUZGRkZdW0EtWmEtel8wLTlcXHUwMEExLVxcdUZGRkZdKiIsYT17bDp0LGs6cixpOi88XC8vfSxuPXtjTjoibnVtYmVyIixiOi8oXGIweFtcZF9dKihcLltcZF9dKik/fDB4XC5cZFtcZF9dKilwWy0rXT9cZCt8XGIwW2JveF1bYS1mQS1GMC05XVthLWZBLUYwLTlfXSp8KFxiXGRbXGRfXSooXC5bXGRfXSopP3xcLlxkW1xkX10qKShbZUVmRl1bLStdP1xkKyk/LyxyOjB9LG89e2NOOiJzdHJpbmciLGI6LycoLnxcXFt4WHVVXVthLXpBLVowLTldKyknL30saT17Y046InN1YnN0IixiOi9cJFwoLyxlOi9cKS8sazpyfSxsPXtjTjoidmFyaWFibGUiLGI6IlxcJCIrdH0sYz17Y046InN0cmluZyIsYzpbZS5CRSxpLGxdLHY6W3tiOi9cdyoiIiIvLGU6LyIiIlx3Ki8scjoxMH0se2I6L1x3KiIvLGU6LyJcdyovfV19LHM9e2NOOiJzdHJpbmciLGM6W2UuQkUsaSxsXSxiOiJgIixlOiJgIn0sZD17Y046Im1ldGEiLGI6IkAiK3R9LHU9e2NOOiJjb21tZW50Iix2Olt7YjoiIz0iLGU6Ij0jIixyOjEwfSx7YjoiIyIsZToiJCJ9XX07cmV0dXJuIGEuYz1bbixvLGMscyxkLHUsZS5IQ00se2NOOiJrZXl3b3JkIixiOiJcXGIoKChhYnN0cmFjdHxwcmltaXRpdmUpXFxzKyl0eXBlfChtdXRhYmxlXFxzKyk/c3RydWN0KVxcYiJ9LHtiOi88Oi99XSxpLmM9YS5jLGF9KTtobGpzLnJlZ2lzdGVyTGFuZ3VhZ2UoImNvZmZlZXNjcmlwdCIsZnVuY3Rpb24oZSl7dmFyIGM9e2tleXdvcmQ6ImluIGlmIGZvciB3aGlsZSBmaW5hbGx5IG5ldyBkbyByZXR1cm4gZWxzZSBicmVhayBjYXRjaCBpbnN0YW5jZW9mIHRocm93IHRyeSB0aGlzIHN3aXRjaCBjb250aW51ZSB0eXBlb2YgZGVsZXRlIGRlYnVnZ2VyIHN1cGVyIHlpZWxkIGltcG9ydCBleHBvcnQgZnJvbSBhcyBkZWZhdWx0IGF3YWl0IHRoZW4gdW5sZXNzIHVudGlsIGxvb3Agb2YgYnkgd2hlbiBhbmQgb3IgaXMgaXNudCBub3QiLGxpdGVyYWw6InRydWUgZmFsc2UgbnVsbCB1bmRlZmluZWQgeWVzIG5vIG9uIG9mZiIsYnVpbHRfaW46Im5wbSByZXF1aXJlIGNvbnNvbGUgcHJpbnQgbW9kdWxlIGdsb2JhbCB3aW5kb3cgZG9jdW1lbnQifSxuPSJbQS1aYS16JF9dWzAtOUEtWmEteiRfXSoiLHI9e2NOOiJzdWJzdCIsYjovI1x7LyxlOi99LyxrOmN9LGk9W2UuQk5NLGUuaW5oZXJpdChlLkNOTSx7c3RhcnRzOntlOiIoXFxzKi8pPyIscjowfX0pLHtjTjoic3RyaW5nIix2Olt7YjovJycnLyxlOi8nJycvLGM6W2UuQkVdfSx7YjovJy8sZTovJy8sYzpbZS5CRV19LHtiOi8iIiIvLGU6LyIiIi8sYzpbZS5CRSxyXX0se2I6LyIvLGU6LyIvLGM6W2UuQkUscl19XX0se2NOOiJyZWdleHAiLHY6W3tiOiIvLy8iLGU6Ii8vLyIsYzpbcixlLkhDTV19LHtiOiIvL1tnaW1dKiIscjowfSx7YjovXC8oPyFbICpdKShcXFwvfC4pKj9cL1tnaW1dKig/PVxXfCQpL31dfSx7YjoiQCIrbn0se3NMOiJqYXZhc2NyaXB0IixlQjohMCxlRTohMCx2Olt7YjoiYGBgIixlOiJgYGAifSx7YjoiYCIsZToiYCJ9XX1dO3IuYz1pO3ZhciBzPWUuaW5oZXJpdChlLlRNLHtiOm59KSx0PSIoXFwoLipcXCkpP1xccypcXEJbLT1dPiIsbz17Y046InBhcmFtcyIsYjoiXFwoW15cXChdIixyQjohMCxjOlt7YjovXCgvLGU6L1wpLyxrOmMsYzpbInNlbGYiXS5jb25jYXQoaSl9XX07cmV0dXJue2FsaWFzZXM6WyJjb2ZmZWUiLCJjc29uIiwiaWNlZCJdLGs6YyxpOi9cL1wqLyxjOmkuY29uY2F0KFtlLkMoIiMjIyIsIiMjIyIpLGUuSENNLHtjTjoiZnVuY3Rpb24iLGI6Il5cXHMqIituKyJcXHMqPVxccyoiK3QsZToiWy09XT4iLHJCOiEwLGM6W3Msb119LHtiOi9bOlwoLD1dXHMqLyxyOjAsYzpbe2NOOiJmdW5jdGlvbiIsYjp0LGU6IlstPV0+IixyQjohMCxjOltvXX1dfSx7Y046ImNsYXNzIixiSzoiY2xhc3MiLGU6IiQiLGk6L1s6PSJcW1xdXS8sYzpbe2JLOiJleHRlbmRzIixlVzohMCxpOi9bOj0iXFtcXV0vLGM6W3NdfSxzXX0se2I6bisiOiIsZToiOiIsckI6ITAsckU6ITAscjowfV0pfX0pO2hsanMucmVnaXN0ZXJMYW5ndWFnZSgiY3BwIixmdW5jdGlvbih0KXt2YXIgZT17Y046ImtleXdvcmQiLGI6IlxcYlthLXpcXGRfXSpfdFxcYiJ9LHI9e2NOOiJzdHJpbmciLHY6W3tiOicodTg/fFUpP0w/IicsZTonIicsaToiXFxuIixjOlt0LkJFXX0se2I6Jyh1OD98VSk/UiInLGU6JyInLGM6W3QuQkVdfSx7YjoiJ1xcXFw/LiIsZToiJyIsaToiLiJ9XX0scz17Y046Im51bWJlciIsdjpbe2I6IlxcYigwYlswMSddKykifSx7YjoiKC0/KVxcYihbXFxkJ10rKFxcLltcXGQnXSopP3xcXC5bXFxkJ10rKSh1fFV8bHxMfHVsfFVMfGZ8RnxifEIpIn0se2I6IigtPykoXFxiMFt4WF1bYS1mQS1GMC05J10rfChcXGJbXFxkJ10rKFxcLltcXGQnXSopP3xcXC5bXFxkJ10rKShbZUVdWy0rXT9bXFxkJ10rKT8pIn1dLHI6MH0saT17Y046Im1ldGEiLGI6LyNccypbYS16XStcYi8sZTovJC8sazp7Im1ldGEta2V5d29yZCI6ImlmIGVsc2UgZWxpZiBlbmRpZiBkZWZpbmUgdW5kZWYgd2FybmluZyBlcnJvciBsaW5lIHByYWdtYSBpZmRlZiBpZm5kZWYgaW5jbHVkZSJ9LGM6W3tiOi9cXFxuLyxyOjB9LHQuaW5oZXJpdChyLHtjTjoibWV0YS1zdHJpbmcifSkse2NOOiJtZXRhLXN0cmluZyIsYjovPFteXG4+XSo+LyxlOi8kLyxpOiJcXG4ifSx0LkNMQ00sdC5DQkNNXX0sYT10LklSKyJcXHMqXFwoIixjPXtrZXl3b3JkOiJpbnQgZmxvYXQgd2hpbGUgcHJpdmF0ZSBjaGFyIGNhdGNoIGltcG9ydCBtb2R1bGUgZXhwb3J0IHZpcnR1YWwgb3BlcmF0b3Igc2l6ZW9mIGR5bmFtaWNfY2FzdHwxMCB0eXBlZGVmIGNvbnN0X2Nhc3R8MTAgY29uc3QgZm9yIHN0YXRpY19jYXN0fDEwIHVuaW9uIG5hbWVzcGFjZSB1bnNpZ25lZCBsb25nIHZvbGF0aWxlIHN0YXRpYyBwcm90ZWN0ZWQgYm9vbCB0ZW1wbGF0ZSBtdXRhYmxlIGlmIHB1YmxpYyBmcmllbmQgZG8gZ290byBhdXRvIHZvaWQgZW51bSBlbHNlIGJyZWFrIGV4dGVybiB1c2luZyBhc20gY2FzZSB0eXBlaWQgc2hvcnQgcmVpbnRlcnByZXRfY2FzdHwxMCBkZWZhdWx0IGRvdWJsZSByZWdpc3RlciBleHBsaWNpdCBzaWduZWQgdHlwZW5hbWUgdHJ5IHRoaXMgc3dpdGNoIGNvbnRpbnVlIGlubGluZSBkZWxldGUgYWxpZ25vZiBjb25zdGV4cHIgZGVjbHR5cGUgbm9leGNlcHQgc3RhdGljX2Fzc2VydCB0aHJlYWRfbG9jYWwgcmVzdHJpY3QgX0Jvb2wgY29tcGxleCBfQ29tcGxleCBfSW1hZ2luYXJ5IGF0b21pY19ib29sIGF0b21pY19jaGFyIGF0b21pY19zY2hhciBhdG9taWNfdWNoYXIgYXRvbWljX3Nob3J0IGF0b21pY191c2hvcnQgYXRvbWljX2ludCBhdG9taWNfdWludCBhdG9taWNfbG9uZyBhdG9taWNfdWxvbmcgYXRvbWljX2xsb25nIGF0b21pY191bGxvbmcgbmV3IHRocm93IHJldHVybiBhbmQgb3Igbm90IixidWlsdF9pbjoic3RkIHN0cmluZyBjaW4gY291dCBjZXJyIGNsb2cgc3RkaW4gc3Rkb3V0IHN0ZGVyciBzdHJpbmdzdHJlYW0gaXN0cmluZ3N0cmVhbSBvc3RyaW5nc3RyZWFtIGF1dG9fcHRyIGRlcXVlIGxpc3QgcXVldWUgc3RhY2sgdmVjdG9yIG1hcCBzZXQgYml0c2V0IG11bHRpc2V0IG11bHRpbWFwIHVub3JkZXJlZF9zZXQgdW5vcmRlcmVkX21hcCB1bm9yZGVyZWRfbXVsdGlzZXQgdW5vcmRlcmVkX211bHRpbWFwIGFycmF5IHNoYXJlZF9wdHIgYWJvcnQgYWJzIGFjb3MgYXNpbiBhdGFuMiBhdGFuIGNhbGxvYyBjZWlsIGNvc2ggY29zIGV4aXQgZXhwIGZhYnMgZmxvb3IgZm1vZCBmcHJpbnRmIGZwdXRzIGZyZWUgZnJleHAgZnNjYW5mIGlzYWxudW0gaXNhbHBoYSBpc2NudHJsIGlzZGlnaXQgaXNncmFwaCBpc2xvd2VyIGlzcHJpbnQgaXNwdW5jdCBpc3NwYWNlIGlzdXBwZXIgaXN4ZGlnaXQgdG9sb3dlciB0b3VwcGVyIGxhYnMgbGRleHAgbG9nMTAgbG9nIG1hbGxvYyByZWFsbG9jIG1lbWNociBtZW1jbXAgbWVtY3B5IG1lbXNldCBtb2RmIHBvdyBwcmludGYgcHV0Y2hhciBwdXRzIHNjYW5mIHNpbmggc2luIHNucHJpbnRmIHNwcmludGYgc3FydCBzc2NhbmYgc3RyY2F0IHN0cmNociBzdHJjbXAgc3RyY3B5IHN0cmNzcG4gc3RybGVuIHN0cm5jYXQgc3RybmNtcCBzdHJuY3B5IHN0cnBicmsgc3RycmNociBzdHJzcG4gc3Ryc3RyIHRhbmggdGFuIHZmcHJpbnRmIHZwcmludGYgdnNwcmludGYgZW5kbCBpbml0aWFsaXplcl9saXN0IHVuaXF1ZV9wdHIiLGxpdGVyYWw6InRydWUgZmFsc2UgbnVsbHB0ciBOVUxMIn0sbj1bZSx0LkNMQ00sdC5DQkNNLHMscl07cmV0dXJue2FsaWFzZXM6WyJjIiwiY2MiLCJoIiwiYysrIiwiaCsrIiwiaHBwIl0sazpjLGk6IjwvIixjOm4uY29uY2F0KFtpLHtiOiJcXGIoZGVxdWV8bGlzdHxxdWV1ZXxzdGFja3x2ZWN0b3J8bWFwfHNldHxiaXRzZXR8bXVsdGlzZXR8bXVsdGltYXB8dW5vcmRlcmVkX21hcHx1bm9yZGVyZWRfc2V0fHVub3JkZXJlZF9tdWx0aXNldHx1bm9yZGVyZWRfbXVsdGltYXB8YXJyYXkpXFxzKjwiLGU6Ij4iLGs6YyxjOlsic2VsZiIsZV19LHtiOnQuSVIrIjo6IixrOmN9LHt2Olt7YjovPS8sZTovOy99LHtiOi9cKC8sZTovXCkvfSx7Yks6Im5ldyB0aHJvdyByZXR1cm4gZWxzZSIsZTovOy99XSxrOmMsYzpuLmNvbmNhdChbe2I6L1woLyxlOi9cKS8sazpjLGM6bi5jb25jYXQoWyJzZWxmIl0pLHI6MH1dKSxyOjB9LHtjTjoiZnVuY3Rpb24iLGI6IigiK3QuSVIrIltcXComXFxzXSspKyIrYSxyQjohMCxlOi9bezs9XS8sZUU6ITAsazpjLGk6L1teXHdcc1wqJl0vLGM6W3tiOmEsckI6ITAsYzpbdC5UTV0scjowfSx7Y046InBhcmFtcyIsYjovXCgvLGU6L1wpLyxrOmMscjowLGM6W3QuQ0xDTSx0LkNCQ00scixzLGVdfSx0LkNMQ00sdC5DQkNNLGldfSx7Y046ImNsYXNzIixiSzoiY2xhc3Mgc3RydWN0IixlOi9bezs6XS8sYzpbe2I6LzwvLGU6Lz4vLGM6WyJzZWxmIl19LHQuVE1dfV0pLGV4cG9ydHM6e3ByZXByb2Nlc3NvcjppLHN0cmluZ3M6cixrOmN9fX0pO2hsanMucmVnaXN0ZXJMYW5ndWFnZSgicnVieSIsZnVuY3Rpb24oZSl7dmFyIGI9IlthLXpBLVpfXVxcdypbIT89XT98Wy0rfl1cXEB8PDx8Pj58PX58PT09P3w8PT58Wzw+XT0/fFxcKlxcKnxbLS8rJV4mKn5gfF18XFxbXFxdPT8iLHI9e2tleXdvcmQ6ImFuZCB0aGVuIGRlZmluZWQgbW9kdWxlIGluIHJldHVybiByZWRvIGlmIEJFR0lOIHJldHJ5IGVuZCBmb3Igc2VsZiB3aGVuIG5leHQgdW50aWwgZG8gYmVnaW4gdW5sZXNzIEVORCByZXNjdWUgZWxzZSBicmVhayB1bmRlZiBub3Qgc3VwZXIgY2xhc3MgY2FzZSByZXF1aXJlIHlpZWxkIGFsaWFzIHdoaWxlIGVuc3VyZSBlbHNpZiBvciBpbmNsdWRlIGF0dHJfcmVhZGVyIGF0dHJfd3JpdGVyIGF0dHJfYWNjZXNzb3IiLGxpdGVyYWw6InRydWUgZmFsc2UgbmlsIn0sYz17Y046ImRvY3RhZyIsYjoiQFtBLVphLXpdKyJ9LGE9e2I6IiM8IixlOiI+In0scz1bZS5DKCIjIiwiJCIse2M6W2NdfSksZS5DKCJeXFw9YmVnaW4iLCJeXFw9ZW5kIix7YzpbY10scjoxMH0pLGUuQygiXl9fRU5EX18iLCJcXG4kIildLG49e2NOOiJzdWJzdCIsYjoiI1xceyIsZToifSIsazpyfSx0PXtjTjoic3RyaW5nIixjOltlLkJFLG5dLHY6W3tiOi8nLyxlOi8nL30se2I6LyIvLGU6LyIvfSx7YjovYC8sZTovYC99LHtiOiIlW3FRd1d4XT9cXCgiLGU6IlxcKSJ9LHtiOiIlW3FRd1d4XT9cXFsiLGU6IlxcXSJ9LHtiOiIlW3FRd1d4XT97IixlOiJ9In0se2I6IiVbcVF3V3hdPzwiLGU6Ij4ifSx7YjoiJVtxUXdXeF0/LyIsZToiLyJ9LHtiOiIlW3FRd1d4XT8lIixlOiIlIn0se2I6IiVbcVF3V3hdPy0iLGU6Ii0ifSx7YjoiJVtxUXdXeF0/XFx8IixlOiJcXHwifSx7YjovXEJcPyhcXFxkezEsM318XFx4W0EtRmEtZjAtOV17MSwyfXxcXHVbQS1GYS1mMC05XXs0fXxcXD9cUylcYi99LHtiOi88PCgtPylcdyskLyxlOi9eXHMqXHcrJC99XX0saT17Y046InBhcmFtcyIsYjoiXFwoIixlOiJcXCkiLGVuZHNQYXJlbnQ6ITAsazpyfSxkPVt0LGEse2NOOiJjbGFzcyIsYks6ImNsYXNzIG1vZHVsZSIsZToiJHw7IixpOi89LyxjOltlLmluaGVyaXQoZS5UTSx7YjoiW0EtWmEtel9dXFx3Kig6OlxcdyspKihcXD98XFwhKT8ifSkse2I6IjxcXHMqIixjOlt7YjoiKCIrZS5JUisiOjopPyIrZS5JUn1dfV0uY29uY2F0KHMpfSx7Y046ImZ1bmN0aW9uIixiSzoiZGVmIixlOiIkfDsiLGM6W2UuaW5oZXJpdChlLlRNLHtiOmJ9KSxpXS5jb25jYXQocyl9LHtiOmUuSVIrIjo6In0se2NOOiJzeW1ib2wiLGI6ZS5VSVIrIihcXCF8XFw/KT86IixyOjB9LHtjTjoic3ltYm9sIixiOiI6KD8hXFxzKSIsYzpbdCx7YjpifV0scjowfSx7Y046Im51bWJlciIsYjoiKFxcYjBbMC03X10rKXwoXFxiMHhbMC05YS1mQS1GX10rKXwoXFxiWzEtOV1bMC05X10qKFxcLlswLTlfXSspPyl8WzBfXVxcYiIscjowfSx7YjoiKFxcJFxcVyl8KChcXCR8XFxAXFxAPykoXFx3KykpIn0se2NOOiJwYXJhbXMiLGI6L1x8LyxlOi9cfC8sazpyfSx7YjoiKCIrZS5SU1IrInx1bmxlc3MpXFxzKiIsazoidW5sZXNzIixjOlthLHtjTjoicmVnZXhwIixjOltlLkJFLG5dLGk6L1xuLyx2Olt7YjoiLyIsZToiL1thLXpdKiJ9LHtiOiIlcnsiLGU6In1bYS16XSoifSx7YjoiJXJcXCgiLGU6IlxcKVthLXpdKiJ9LHtiOiIlciEiLGU6IiFbYS16XSoifSx7YjoiJXJcXFsiLGU6IlxcXVthLXpdKiJ9XX1dLmNvbmNhdChzKSxyOjB9XS5jb25jYXQocyk7bi5jPWQsaS5jPWQ7dmFyIGw9Ils+P10+IixvPSJbXFx3I10rXFwoXFx3K1xcKTpcXGQrOlxcZCs+Iix1PSIoXFx3Ky0pP1xcZCtcXC5cXGQrXFwuXFxkKHBcXGQrKT9bXj5dKz4iLHc9W3tiOi9eXHMqPT4vLHN0YXJ0czp7ZToiJCIsYzpkfX0se2NOOiJtZXRhIixiOiJeKCIrbCsifCIrbysifCIrdSsiKSIsc3RhcnRzOntlOiIkIixjOmR9fV07cmV0dXJue2FsaWFzZXM6WyJyYiIsImdlbXNwZWMiLCJwb2RzcGVjIiwidGhvciIsImlyYiJdLGs6cixpOi9cL1wqLyxjOnMuY29uY2F0KHcpLmNvbmNhdChkKX19KTtobGpzLnJlZ2lzdGVyTGFuZ3VhZ2UoInlhbWwiLGZ1bmN0aW9uKGUpe3ZhciBiPSJ0cnVlIGZhbHNlIHllcyBubyBudWxsIixhPSJeWyBcXC1dKiIscj0iW2EtekEtWl9dW1xcd1xcLV0qIix0PXtjTjoiYXR0ciIsdjpbe2I6YStyKyI6In0se2I6YSsnIicrcisnIjonfSx7YjphKyInIityKyInOiJ9XX0sYz17Y046InRlbXBsYXRlLXZhcmlhYmxlIix2Olt7Yjoie3siLGU6In19In0se2I6IiV7IixlOiJ9In1dfSxsPXtjTjoic3RyaW5nIixyOjAsdjpbe2I6LycvLGU6LycvfSx7YjovIi8sZTovIi99LHtiOi9cUysvfV0sYzpbZS5CRSxjXX07cmV0dXJue2NJOiEwLGFsaWFzZXM6WyJ5bWwiLCJZQU1MIiwieWFtbCJdLGM6W3Qse2NOOiJtZXRhIixiOiJeLS0tcyokIixyOjEwfSx7Y046InN0cmluZyIsYjoiW1xcfD5dICokIixyRTohMCxjOmwuYyxlOnQudlswXS5ifSx7YjoiPCVbJT0tXT8iLGU6IlslLV0/JT4iLHNMOiJydWJ5IixlQjohMCxlRTohMCxyOjB9LHtjTjoidHlwZSIsYjoiISEiK2UuVUlSfSx7Y046Im1ldGEiLGI6IiYiK2UuVUlSKyIkIn0se2NOOiJtZXRhIixiOiJcXCoiK2UuVUlSKyIkIn0se2NOOiJidWxsZXQiLGI6Il4gKi0iLHI6MH0sZS5IQ00se2JLOmIsazp7bGl0ZXJhbDpifX0sZS5DTk0sbF19fSk7aGxqcy5yZWdpc3Rlckxhbmd1YWdlKCJjc3MiLGZ1bmN0aW9uKGUpe3ZhciBjPSJbYS16QS1aLV1bYS16QS1aMC05Xy1dKiIsdD17YjovW0EtWlxfXC5cLV0rXHMqOi8sckI6ITAsZToiOyIsZVc6ITAsYzpbe2NOOiJhdHRyaWJ1dGUiLGI6L1xTLyxlOiI6IixlRTohMCxzdGFydHM6e2VXOiEwLGVFOiEwLGM6W3tiOi9bXHctXStcKC8sckI6ITAsYzpbe2NOOiJidWlsdF9pbiIsYjovW1x3LV0rL30se2I6L1woLyxlOi9cKS8sYzpbZS5BU00sZS5RU01dfV19LGUuQ1NTTk0sZS5RU00sZS5BU00sZS5DQkNNLHtjTjoibnVtYmVyIixiOiIjWzAtOUEtRmEtZl0rIn0se2NOOiJtZXRhIixiOiIhaW1wb3J0YW50In1dfX1dfTtyZXR1cm57Y0k6ITAsaTovWz1cL3wnXCRdLyxjOltlLkNCQ00se2NOOiJzZWxlY3Rvci1pZCIsYjovI1tBLVphLXowLTlfLV0rL30se2NOOiJzZWxlY3Rvci1jbGFzcyIsYjovXC5bQS1aYS16MC05Xy1dKy99LHtjTjoic2VsZWN0b3ItYXR0ciIsYjovXFsvLGU6L1xdLyxpOiIkIn0se2NOOiJzZWxlY3Rvci1wc2V1ZG8iLGI6LzooOik/W2EtekEtWjAtOVxfXC1cK1woXCkiJy5dKy99LHtiOiJAKGZvbnQtZmFjZXxwYWdlKSIsbDoiW2Etei1dKyIsazoiZm9udC1mYWNlIHBhZ2UifSx7YjoiQCIsZToiW3s7XSIsaTovOi8sYzpbe2NOOiJrZXl3b3JkIixiOi9cdysvfSx7YjovXHMvLGVXOiEwLGVFOiEwLHI6MCxjOltlLkFTTSxlLlFTTSxlLkNTU05NXX1dfSx7Y046InNlbGVjdG9yLXRhZyIsYjpjLHI6MH0se2I6InsiLGU6In0iLGk6L1xTLyxjOltlLkNCQ00sdF19XX19KTtobGpzLnJlZ2lzdGVyTGFuZ3VhZ2UoImZvcnRyYW4iLGZ1bmN0aW9uKGUpe3ZhciB0PXtjTjoicGFyYW1zIixiOiJcXCgiLGU6IlxcKSJ9LG49e2xpdGVyYWw6Ii5GYWxzZS4gLlRydWUuIixrZXl3b3JkOiJraW5kIGRvIHdoaWxlIHByaXZhdGUgY2FsbCBpbnRyaW5zaWMgd2hlcmUgZWxzZXdoZXJlIHR5cGUgZW5kdHlwZSBlbmRtb2R1bGUgZW5kc2VsZWN0IGVuZGludGVyZmFjZSBlbmQgZW5kZG8gZW5kaWYgaWYgZm9yYWxsIGVuZGZvcmFsbCBvbmx5IGNvbnRhaW5zIGRlZmF1bHQgcmV0dXJuIHN0b3AgdGhlbiBwdWJsaWMgc3Vicm91dGluZXwxMCBmdW5jdGlvbiBwcm9ncmFtIC5hbmQuIC5vci4gLm5vdC4gLmxlLiAuZXEuIC5nZS4gLmd0LiAubHQuIGdvdG8gc2F2ZSBlbHNlIHVzZSBtb2R1bGUgc2VsZWN0IGNhc2UgYWNjZXNzIGJsYW5rIGRpcmVjdCBleGlzdCBmaWxlIGZtdCBmb3JtIGZvcm1hdHRlZCBpb3N0YXQgbmFtZSBuYW1lZCBuZXh0cmVjIG51bWJlciBvcGVuZWQgcmVjIHJlY2wgc2VxdWVudGlhbCBzdGF0dXMgdW5mb3JtYXR0ZWQgdW5pdCBjb250aW51ZSBmb3JtYXQgcGF1c2UgY3ljbGUgZXhpdCBjX251bGxfY2hhciBjX2FsZXJ0IGNfYmFja3NwYWNlIGNfZm9ybV9mZWVkIGZsdXNoIHdhaXQgZGVjaW1hbCByb3VuZCBpb21zZyBzeW5jaHJvbm91cyBub3Bhc3Mgbm9uX292ZXJyaWRhYmxlIHBhc3MgcHJvdGVjdGVkIHZvbGF0aWxlIGFic3RyYWN0IGV4dGVuZHMgaW1wb3J0IG5vbl9pbnRyaW5zaWMgdmFsdWUgZGVmZXJyZWQgZ2VuZXJpYyBmaW5hbCBlbnVtZXJhdG9yIGNsYXNzIGFzc29jaWF0ZSBiaW5kIGVudW0gY19pbnQgY19zaG9ydCBjX2xvbmcgY19sb25nX2xvbmcgY19zaWduZWRfY2hhciBjX3NpemVfdCBjX2ludDhfdCBjX2ludDE2X3QgY19pbnQzMl90IGNfaW50NjRfdCBjX2ludF9sZWFzdDhfdCBjX2ludF9sZWFzdDE2X3QgY19pbnRfbGVhc3QzMl90IGNfaW50X2xlYXN0NjRfdCBjX2ludF9mYXN0OF90IGNfaW50X2Zhc3QxNl90IGNfaW50X2Zhc3QzMl90IGNfaW50X2Zhc3Q2NF90IGNfaW50bWF4X3QgQ19pbnRwdHJfdCBjX2Zsb2F0IGNfZG91YmxlIGNfbG9uZ19kb3VibGUgY19mbG9hdF9jb21wbGV4IGNfZG91YmxlX2NvbXBsZXggY19sb25nX2RvdWJsZV9jb21wbGV4IGNfYm9vbCBjX2NoYXIgY19udWxsX3B0ciBjX251bGxfZnVucHRyIGNfbmV3X2xpbmUgY19jYXJyaWFnZV9yZXR1cm4gY19ob3Jpem9udGFsX3RhYiBjX3ZlcnRpY2FsX3RhYiBpc29fY19iaW5kaW5nIGNfbG9jIGNfZnVubG9jIGNfYXNzb2NpYXRlZCAgY19mX3BvaW50ZXIgY19wdHIgY19mdW5wdHIgaXNvX2ZvcnRyYW5fZW52IGNoYXJhY3Rlcl9zdG9yYWdlX3NpemUgZXJyb3JfdW5pdCBmaWxlX3N0b3JhZ2Vfc2l6ZSBpbnB1dF91bml0IGlvc3RhdF9lbmQgaW9zdGF0X2VvciBudW1lcmljX3N0b3JhZ2Vfc2l6ZSBvdXRwdXRfdW5pdCBjX2ZfcHJvY3BvaW50ZXIgaWVlZV9hcml0aG1ldGljIGllZWVfc3VwcG9ydF91bmRlcmZsb3dfY29udHJvbCBpZWVlX2dldF91bmRlcmZsb3dfbW9kZSBpZWVlX3NldF91bmRlcmZsb3dfbW9kZSBuZXd1bml0IGNvbnRpZ3VvdXMgcmVjdXJzaXZlIHBhZCBwb3NpdGlvbiBhY3Rpb24gZGVsaW0gcmVhZHdyaXRlIGVvciBhZHZhbmNlIG5tbCBpbnRlcmZhY2UgcHJvY2VkdXJlIG5hbWVsaXN0IGluY2x1ZGUgc2VxdWVuY2UgZWxlbWVudGFsIHB1cmUgaW50ZWdlciByZWFsIGNoYXJhY3RlciBjb21wbGV4IGxvZ2ljYWwgZGltZW5zaW9uIGFsbG9jYXRhYmxlfDEwIHBhcmFtZXRlciBleHRlcm5hbCBpbXBsaWNpdHwxMCBub25lIGRvdWJsZSBwcmVjaXNpb24gYXNzaWduIGludGVudCBvcHRpb25hbCBwb2ludGVyIHRhcmdldCBpbiBvdXQgY29tbW9uIGVxdWl2YWxlbmNlIGRhdGEiLGJ1aWx0X2luOiJhbG9nIGFsb2cxMCBhbWF4MCBhbWF4MSBhbWluMCBhbWluMSBhbW9kIGNhYnMgY2NvcyBjZXhwIGNsb2cgY3NpbiBjc3FydCBkYWJzIGRhY29zIGRhc2luIGRhdGFuIGRhdGFuMiBkY29zIGRjb3NoIGRkaW0gZGV4cCBkaW50IGRsb2cgZGxvZzEwIGRtYXgxIGRtaW4xIGRtb2QgZG5pbnQgZHNpZ24gZHNpbiBkc2luaCBkc3FydCBkdGFuIGR0YW5oIGZsb2F0IGlhYnMgaWRpbSBpZGludCBpZG5pbnQgaWZpeCBpc2lnbiBtYXgwIG1heDEgbWluMCBtaW4xIHNuZ2wgYWxnYW1hIGNkYWJzIGNkY29zIGNkZXhwIGNkbG9nIGNkc2luIGNkc3FydCBjcWFicyBjcWNvcyBjcWV4cCBjcWxvZyBjcXNpbiBjcXNxcnQgZGNtcGx4IGRjb25qZyBkZXJmIGRlcmZjIGRmbG9hdCBkZ2FtbWEgZGltYWcgZGxnYW1hIGlxaW50IHFhYnMgcWFjb3MgcWFzaW4gcWF0YW4gcWF0YW4yIHFjbXBseCBxY29uamcgcWNvcyBxY29zaCBxZGltIHFlcmYgcWVyZmMgcWV4cCBxZ2FtbWEgcWltYWcgcWxnYW1hIHFsb2cgcWxvZzEwIHFtYXgxIHFtaW4xIHFtb2QgcW5pbnQgcXNpZ24gcXNpbiBxc2luaCBxc3FydCBxdGFuIHF0YW5oIGFicyBhY29zIGFpbWFnIGFpbnQgYW5pbnQgYXNpbiBhdGFuIGF0YW4yIGNoYXIgY21wbHggY29uamcgY29zIGNvc2ggZXhwIGljaGFyIGluZGV4IGludCBsb2cgbG9nMTAgbWF4IG1pbiBuaW50IHNpZ24gc2luIHNpbmggc3FydCB0YW4gdGFuaCBwcmludCB3cml0ZSBkaW0gbGdlIGxndCBsbGUgbGx0IG1vZCBudWxsaWZ5IGFsbG9jYXRlIGRlYWxsb2NhdGUgYWRqdXN0bCBhZGp1c3RyIGFsbCBhbGxvY2F0ZWQgYW55IGFzc29jaWF0ZWQgYml0X3NpemUgYnRlc3QgY2VpbGluZyBjb3VudCBjc2hpZnQgZGF0ZV9hbmRfdGltZSBkaWdpdHMgZG90X3Byb2R1Y3QgZW9zaGlmdCBlcHNpbG9uIGV4cG9uZW50IGZsb29yIGZyYWN0aW9uIGh1Z2UgaWFuZCBpYmNsciBpYml0cyBpYnNldCBpZW9yIGlvciBpc2hmdCBpc2hmdGMgbGJvdW5kIGxlbl90cmltIG1hdG11bCBtYXhleHBvbmVudCBtYXhsb2MgbWF4dmFsIG1lcmdlIG1pbmV4cG9uZW50IG1pbmxvYyBtaW52YWwgbW9kdWxvIG12Yml0cyBuZWFyZXN0IHBhY2sgcHJlc2VudCBwcm9kdWN0IHJhZGl4IHJhbmRvbV9udW1iZXIgcmFuZG9tX3NlZWQgcmFuZ2UgcmVwZWF0IHJlc2hhcGUgcnJzcGFjaW5nIHNjYWxlIHNjYW4gc2VsZWN0ZWRfaW50X2tpbmQgc2VsZWN0ZWRfcmVhbF9raW5kIHNldF9leHBvbmVudCBzaGFwZSBzaXplIHNwYWNpbmcgc3ByZWFkIHN1bSBzeXN0ZW1fY2xvY2sgdGlueSB0cmFuc3Bvc2UgdHJpbSB1Ym91bmQgdW5wYWNrIHZlcmlmeSBhY2hhciBpYWNoYXIgdHJhbnNmZXIgZGJsZSBlbnRyeSBkcHJvZCBjcHVfdGltZSBjb21tYW5kX2FyZ3VtZW50X2NvdW50IGdldF9jb21tYW5kIGdldF9jb21tYW5kX2FyZ3VtZW50IGdldF9lbnZpcm9ubWVudF92YXJpYWJsZSBpc19pb3N0YXRfZW5kIGllZWVfYXJpdGhtZXRpYyBpZWVlX3N1cHBvcnRfdW5kZXJmbG93X2NvbnRyb2wgaWVlZV9nZXRfdW5kZXJmbG93X21vZGUgaWVlZV9zZXRfdW5kZXJmbG93X21vZGUgaXNfaW9zdGF0X2VvciBtb3ZlX2FsbG9jIG5ld19saW5lIHNlbGVjdGVkX2NoYXJfa2luZCBzYW1lX3R5cGVfYXMgZXh0ZW5kc190eXBlX29mYWNvc2ggYXNpbmggYXRhbmggYmVzc2VsX2owIGJlc3NlbF9qMSBiZXNzZWxfam4gYmVzc2VsX3kwIGJlc3NlbF95MSBiZXNzZWxfeW4gZXJmIGVyZmMgZXJmY19zY2FsZWQgZ2FtbWEgbG9nX2dhbW1hIGh5cG90IG5vcm0yIGF0b21pY19kZWZpbmUgYXRvbWljX3JlZiBleGVjdXRlX2NvbW1hbmRfbGluZSBsZWFkeiB0cmFpbHogc3RvcmFnZV9zaXplIG1lcmdlX2JpdHMgYmdlIGJndCBibGUgYmx0IGRzaGlmdGwgZHNoaWZ0ciBmaW5kbG9jIGlhbGwgaWFueSBpcGFyaXR5IGltYWdlX2luZGV4IGxjb2JvdW5kIHVjb2JvdW5kIG1hc2tsIG1hc2tyIG51bV9pbWFnZXMgcGFyaXR5IHBvcGNudCBwb3BwYXIgc2hpZnRhIHNoaWZ0bCBzaGlmdHIgdGhpc19pbWFnZSJ9O3JldHVybntjSTohMCxhbGlhc2VzOlsiZjkwIiwiZjk1Il0sazpuLGk6L1wvXCovLGM6W2UuaW5oZXJpdChlLkFTTSx7Y046InN0cmluZyIscjowfSksZS5pbmhlcml0KGUuUVNNLHtjTjoic3RyaW5nIixyOjB9KSx7Y046ImZ1bmN0aW9uIixiSzoic3Vicm91dGluZSBmdW5jdGlvbiBwcm9ncmFtIixpOiJbJHs9XFxuXSIsYzpbZS5VVE0sdF19LGUuQygiISIsIiQiLHtyOjB9KSx7Y046Im51bWJlciIsYjoiKD89XFxifFxcK3xcXC18XFwuKSg/PVxcLlxcZHxcXGQpKD86XFxkKyk/KD86XFwuP1xcZCopKD86W2RlXVsrLV0/XFxkKyk/XFxiXFwuPyIscjowfV19fSk7aGxqcy5yZWdpc3Rlckxhbmd1YWdlKCJhd2siLGZ1bmN0aW9uKGUpe3ZhciByPXtjTjoidmFyaWFibGUiLHY6W3tiOi9cJFtcd1xkI0BdW1x3XGRfXSovfSx7YjovXCRceyguKj8pfS99XX0sYj0iQkVHSU4gRU5EIGlmIGVsc2Ugd2hpbGUgZG8gZm9yIGluIGJyZWFrIGNvbnRpbnVlIGRlbGV0ZSBuZXh0IG5leHRmaWxlIGZ1bmN0aW9uIGZ1bmMgZXhpdHwxMCIsbj17Y046InN0cmluZyIsYzpbZS5CRV0sdjpbe2I6Lyh1fGIpP3I/JycnLyxlOi8nJycvLHI6MTB9LHtiOi8odXxiKT9yPyIiIi8sZTovIiIiLyxyOjEwfSx7YjovKHV8cnx1ciknLyxlOi8nLyxyOjEwfSx7YjovKHV8cnx1cikiLyxlOi8iLyxyOjEwfSx7YjovKGJ8YnIpJy8sZTovJy99LHtiOi8oYnxicikiLyxlOi8iL30sZS5BU00sZS5RU01dfTtyZXR1cm57azp7a2V5d29yZDpifSxjOltyLG4sZS5STSxlLkhDTSxlLk5NXX19KTtobGpzLnJlZ2lzdGVyTGFuZ3VhZ2UoIm1ha2VmaWxlIixmdW5jdGlvbihlKXt2YXIgaT17Y046InZhcmlhYmxlIix2Olt7YjoiXFwkXFwoIitlLlVJUisiXFwpIixjOltlLkJFXX0se2I6L1wkW0AlPD9cXlwrXCpdL31dfSxyPXtjTjoic3RyaW5nIixiOi8iLyxlOi8iLyxjOltlLkJFLGldfSxhPXtjTjoidmFyaWFibGUiLGI6L1wkXChbXHctXStccy8sZTovXCkvLGs6e2J1aWx0X2luOiJzdWJzdCBwYXRzdWJzdCBzdHJpcCBmaW5kc3RyaW5nIGZpbHRlciBmaWx0ZXItb3V0IHNvcnQgd29yZCB3b3JkbGlzdCBmaXJzdHdvcmQgbGFzdHdvcmQgZGlyIG5vdGRpciBzdWZmaXggYmFzZW5hbWUgYWRkc3VmZml4IGFkZHByZWZpeCBqb2luIHdpbGRjYXJkIHJlYWxwYXRoIGFic3BhdGggZXJyb3Igd2FybmluZyBzaGVsbCBvcmlnaW4gZmxhdm9yIGZvcmVhY2ggaWYgb3IgYW5kIGNhbGwgZXZhbCBmaWxlIHZhbHVlIn0sYzpbaV19LG49e2I6Il4iK2UuVUlSKyJcXHMqWzorP10/PSIsaToiXFxuIixyQjohMCxjOlt7YjoiXiIrZS5VSVIsZToiWzorP10/PSIsZUU6ITB9XX0sdD17Y046Im1ldGEiLGI6L15cLlBIT05ZOi8sZTovJC8sazp7Im1ldGEta2V5d29yZCI6Ii5QSE9OWSJ9LGw6L1tcLlx3XSsvfSxsPXtjTjoic2VjdGlvbiIsYjovXlteXHNdKzovLGU6LyQvLGM6W2ldfTtyZXR1cm57YWxpYXNlczpbIm1rIiwibWFrIl0sazoiZGVmaW5lIGVuZGVmIHVuZGVmaW5lIGlmZGVmIGlmbmRlZiBpZmVxIGlmbmVxIGVsc2UgZW5kaWYgaW5jbHVkZSAtaW5jbHVkZSBzaW5jbHVkZSBvdmVycmlkZSBleHBvcnQgdW5leHBvcnQgcHJpdmF0ZSB2cGF0aCIsbDovW1x3LV0rLyxjOltlLkhDTSxpLHIsYSxuLHQsbF19fSk7aGxqcy5yZWdpc3Rlckxhbmd1YWdlKCJqYXZhIixmdW5jdGlvbihlKXt2YXIgYT0iW8OALcq4YS16QS1aXyRdW8OALcq4YS16QS1aXyQwLTldKiIsdD1hKyIoPCIrYSsiKFxccyosXFxzKiIrYSsiKSo+KT8iLHI9ImZhbHNlIHN5bmNocm9uaXplZCBpbnQgYWJzdHJhY3QgZmxvYXQgcHJpdmF0ZSBjaGFyIGJvb2xlYW4gc3RhdGljIG51bGwgaWYgY29uc3QgZm9yIHRydWUgd2hpbGUgbG9uZyBzdHJpY3RmcCBmaW5hbGx5IHByb3RlY3RlZCBpbXBvcnQgbmF0aXZlIGZpbmFsIHZvaWQgZW51bSBlbHNlIGJyZWFrIHRyYW5zaWVudCBjYXRjaCBpbnN0YW5jZW9mIGJ5dGUgc3VwZXIgdm9sYXRpbGUgY2FzZSBhc3NlcnQgc2hvcnQgcGFja2FnZSBkZWZhdWx0IGRvdWJsZSBwdWJsaWMgdHJ5IHRoaXMgc3dpdGNoIGNvbnRpbnVlIHRocm93cyBwcm90ZWN0ZWQgcHVibGljIHByaXZhdGUgbW9kdWxlIHJlcXVpcmVzIGV4cG9ydHMgZG8iLHM9IlxcYigwW2JCXShbMDFdK1swMV9dK1swMV0rfFswMV0rKXwwW3hYXShbYS1mQS1GMC05XStbYS1mQS1GMC05X10rW2EtZkEtRjAtOV0rfFthLWZBLUYwLTldKyl8KChbXFxkXStbXFxkX10rW1xcZF0rfFtcXGRdKykoXFwuKFtcXGRdK1tcXGRfXStbXFxkXSt8W1xcZF0rKSk/fFxcLihbXFxkXStbXFxkX10rW1xcZF0rfFtcXGRdKykpKFtlRV1bLStdP1xcZCspPylbbExmRl0/IixjPXtjTjoibnVtYmVyIixiOnMscjowfTtyZXR1cm57YWxpYXNlczpbImpzcCJdLGs6cixpOi88XC98Iy8sYzpbZS5DKCIvXFwqXFwqIiwiXFwqLyIse3I6MCxjOlt7YjovXHcrQC8scjowfSx7Y046ImRvY3RhZyIsYjoiQFtBLVphLXpdKyJ9XX0pLGUuQ0xDTSxlLkNCQ00sZS5BU00sZS5RU00se2NOOiJjbGFzcyIsYks6ImNsYXNzIGludGVyZmFjZSIsZTovW3s7PV0vLGVFOiEwLGs6ImNsYXNzIGludGVyZmFjZSIsaTovWzoiXFtcXV0vLGM6W3tiSzoiZXh0ZW5kcyBpbXBsZW1lbnRzIn0sZS5VVE1dfSx7Yks6Im5ldyB0aHJvdyByZXR1cm4gZWxzZSIscjowfSx7Y046ImZ1bmN0aW9uIixiOiIoIit0KyJcXHMrKSsiK2UuVUlSKyJcXHMqXFwoIixyQjohMCxlOi9bezs9XS8sZUU6ITAsazpyLGM6W3tiOmUuVUlSKyJcXHMqXFwoIixyQjohMCxyOjAsYzpbZS5VVE1dfSx7Y046InBhcmFtcyIsYjovXCgvLGU6L1wpLyxrOnIscjowLGM6W2UuQVNNLGUuUVNNLGUuQ05NLGUuQ0JDTV19LGUuQ0xDTSxlLkNCQ01dfSxjLHtjTjoibWV0YSIsYjoiQFtBLVphLXpdKyJ9XX19KTtobGpzLnJlZ2lzdGVyTGFuZ3VhZ2UoInN0YW4iLGZ1bmN0aW9uKGUpe3JldHVybntjOltlLkhDTSxlLkNMQ00sZS5DQkNNLHtiOmUuVUlSLGw6ZS5VSVIsazp7bmFtZToiZm9yIGluIHdoaWxlIHJlcGVhdCB1bnRpbCBpZiB0aGVuIGVsc2UiLHN5bWJvbDoiYmVybm91bGxpIGJlcm5vdWxsaV9sb2dpdCBiaW5vbWlhbCBiaW5vbWlhbF9sb2dpdCBiZXRhX2Jpbm9taWFsIGh5cGVyZ2VvbWV0cmljIGNhdGVnb3JpY2FsIGNhdGVnb3JpY2FsX2xvZ2l0IG9yZGVyZWRfbG9naXN0aWMgbmVnX2Jpbm9taWFsIG5lZ19iaW5vbWlhbF8yIG5lZ19iaW5vbWlhbF8yX2xvZyBwb2lzc29uIHBvaXNzb25fbG9nIG11bHRpbm9taWFsIG5vcm1hbCBleHBfbW9kX25vcm1hbCBza2V3X25vcm1hbCBzdHVkZW50X3QgY2F1Y2h5IGRvdWJsZV9leHBvbmVudGlhbCBsb2dpc3RpYyBndW1iZWwgbG9nbm9ybWFsIGNoaV9zcXVhcmUgaW52X2NoaV9zcXVhcmUgc2NhbGVkX2ludl9jaGlfc3F1YXJlIGV4cG9uZW50aWFsIGludl9nYW1tYSB3ZWlidWxsIGZyZWNoZXQgcmF5bGVpZ2ggd2llbmVyIHBhcmV0byBwYXJldG9fdHlwZV8yIHZvbl9taXNlcyB1bmlmb3JtIG11bHRpX25vcm1hbCBtdWx0aV9ub3JtYWxfcHJlYyBtdWx0aV9ub3JtYWxfY2hvbGVza3kgbXVsdGlfZ3AgbXVsdGlfZ3BfY2hvbGVza3kgbXVsdGlfc3R1ZGVudF90IGdhdXNzaWFuX2RsbV9vYnMgZGlyaWNobGV0IGxral9jb3JyIGxral9jb3JyX2Nob2xlc2t5IHdpc2hhcnQgaW52X3dpc2hhcnQiLCJzZWxlY3Rvci10YWciOiJpbnQgcmVhbCB2ZWN0b3Igc2ltcGxleCB1bml0X3ZlY3RvciBvcmRlcmVkIHBvc2l0aXZlX29yZGVyZWQgcm93X3ZlY3RvciBtYXRyaXggY2hvbGVza3lfZmFjdG9yX2NvcnIgY2hvbGVza3lfZmFjdG9yX2NvdiBjb3JyX21hdHJpeCBjb3ZfbWF0cml4Iix0aXRsZToiZnVuY3Rpb25zIG1vZGVsIGRhdGEgcGFyYW1ldGVycyBxdWFudGl0aWVzIHRyYW5zZm9ybWVkIGdlbmVyYXRlZCIsbGl0ZXJhbDoidHJ1ZSBmYWxzZSJ9LHI6MH0se2NOOiJudW1iZXIiLGI6IjBbeFhdWzAtOWEtZkEtRl0rW0xpXT9cXGIiLHI6MH0se2NOOiJudW1iZXIiLGI6IjBbeFhdWzAtOWEtZkEtRl0rW0xpXT9cXGIiLHI6MH0se2NOOiJudW1iZXIiLGI6IlxcZCsoPzpbZUVdWytcXC1dP1xcZCopP0xcXGIiLHI6MH0se2NOOiJudW1iZXIiLGI6IlxcZCtcXC4oPyFcXGQpKD86aVxcYik/IixyOjB9LHtjTjoibnVtYmVyIixiOiJcXGQrKD86XFwuXFxkKik/KD86W2VFXVsrXFwtXT9cXGQqKT9pP1xcYiIscjowfSx7Y046Im51bWJlciIsYjoiXFwuXFxkKyg/OltlRV1bK1xcLV0/XFxkKik/aT9cXGIiLHI6MH1dfX0pO2hsanMucmVnaXN0ZXJMYW5ndWFnZSgiamF2YXNjcmlwdCIsZnVuY3Rpb24oZSl7dmFyIHI9IltBLVphLXokX11bMC05QS1aYS16JF9dKiIsdD17a2V5d29yZDoiaW4gb2YgaWYgZm9yIHdoaWxlIGZpbmFsbHkgdmFyIG5ldyBmdW5jdGlvbiBkbyByZXR1cm4gdm9pZCBlbHNlIGJyZWFrIGNhdGNoIGluc3RhbmNlb2Ygd2l0aCB0aHJvdyBjYXNlIGRlZmF1bHQgdHJ5IHRoaXMgc3dpdGNoIGNvbnRpbnVlIHR5cGVvZiBkZWxldGUgbGV0IHlpZWxkIGNvbnN0IGV4cG9ydCBzdXBlciBkZWJ1Z2dlciBhcyBhc3luYyBhd2FpdCBzdGF0aWMgaW1wb3J0IGZyb20gYXMiLGxpdGVyYWw6InRydWUgZmFsc2UgbnVsbCB1bmRlZmluZWQgTmFOIEluZmluaXR5IixidWlsdF9pbjoiZXZhbCBpc0Zpbml0ZSBpc05hTiBwYXJzZUZsb2F0IHBhcnNlSW50IGRlY29kZVVSSSBkZWNvZGVVUklDb21wb25lbnQgZW5jb2RlVVJJIGVuY29kZVVSSUNvbXBvbmVudCBlc2NhcGUgdW5lc2NhcGUgT2JqZWN0IEZ1bmN0aW9uIEJvb2xlYW4gRXJyb3IgRXZhbEVycm9yIEludGVybmFsRXJyb3IgUmFuZ2VFcnJvciBSZWZlcmVuY2VFcnJvciBTdG9wSXRlcmF0aW9uIFN5bnRheEVycm9yIFR5cGVFcnJvciBVUklFcnJvciBOdW1iZXIgTWF0aCBEYXRlIFN0cmluZyBSZWdFeHAgQXJyYXkgRmxvYXQzMkFycmF5IEZsb2F0NjRBcnJheSBJbnQxNkFycmF5IEludDMyQXJyYXkgSW50OEFycmF5IFVpbnQxNkFycmF5IFVpbnQzMkFycmF5IFVpbnQ4QXJyYXkgVWludDhDbGFtcGVkQXJyYXkgQXJyYXlCdWZmZXIgRGF0YVZpZXcgSlNPTiBJbnRsIGFyZ3VtZW50cyByZXF1aXJlIG1vZHVsZSBjb25zb2xlIHdpbmRvdyBkb2N1bWVudCBTeW1ib2wgU2V0IE1hcCBXZWFrU2V0IFdlYWtNYXAgUHJveHkgUmVmbGVjdCBQcm9taXNlIn0sYT17Y046Im51bWJlciIsdjpbe2I6IlxcYigwW2JCXVswMV0rKSJ9LHtiOiJcXGIoMFtvT11bMC03XSspIn0se2I6ZS5DTlJ9XSxyOjB9LG49e2NOOiJzdWJzdCIsYjoiXFwkXFx7IixlOiJcXH0iLGs6dCxjOltdfSxjPXtjTjoic3RyaW5nIixiOiJgIixlOiJgIixjOltlLkJFLG5dfTtuLmM9W2UuQVNNLGUuUVNNLGMsYSxlLlJNXTt2YXIgcz1uLmMuY29uY2F0KFtlLkNCQ00sZS5DTENNXSk7cmV0dXJue2FsaWFzZXM6WyJqcyIsImpzeCJdLGs6dCxjOlt7Y046Im1ldGEiLHI6MTAsYjovXlxzKlsnIl11c2UgKHN0cmljdHxhc20pWyciXS99LHtjTjoibWV0YSIsYjovXiMhLyxlOi8kL30sZS5BU00sZS5RU00sYyxlLkNMQ00sZS5DQkNNLGEse2I6L1t7LF1ccyovLHI6MCxjOlt7YjpyKyJcXHMqOiIsckI6ITAscjowLGM6W3tjTjoiYXR0ciIsYjpyLHI6MH1dfV19LHtiOiIoIitlLlJTUisifFxcYihjYXNlfHJldHVybnx0aHJvdylcXGIpXFxzKiIsazoicmV0dXJuIHRocm93IGNhc2UiLGM6W2UuQ0xDTSxlLkNCQ00sZS5STSx7Y046ImZ1bmN0aW9uIixiOiIoXFwoLio/XFwpfCIrcisiKVxccyo9PiIsckI6ITAsZToiXFxzKj0+IixjOlt7Y046InBhcmFtcyIsdjpbe2I6cn0se2I6L1woXHMqXCkvfSx7YjovXCgvLGU6L1wpLyxlQjohMCxlRTohMCxrOnQsYzpzfV19XX0se2I6LzwvLGU6LyhcL1x3K3xcdytcLyk+LyxzTDoieG1sIixjOlt7YjovPFx3K1xzKlwvPi8sc2tpcDohMH0se2I6LzxcdysvLGU6LyhcL1x3K3xcdytcLyk+Lyxza2lwOiEwLGM6W3tiOi88XHcrXHMqXC8+Lyxza2lwOiEwfSwic2VsZiJdfV19XSxyOjB9LHtjTjoiZnVuY3Rpb24iLGJLOiJmdW5jdGlvbiIsZTovXHsvLGVFOiEwLGM6W2UuaW5oZXJpdChlLlRNLHtiOnJ9KSx7Y046InBhcmFtcyIsYjovXCgvLGU6L1wpLyxlQjohMCxlRTohMCxjOnN9XSxpOi9cW3wlL30se2I6L1wkWyguXS99LGUuTUVUSE9EX0dVQVJELHtjTjoiY2xhc3MiLGJLOiJjbGFzcyIsZTovW3s7PV0vLGVFOiEwLGk6L1s6IlxbXF1dLyxjOlt7Yks6ImV4dGVuZHMifSxlLlVUTV19LHtiSzoiY29uc3RydWN0b3IiLGU6L1x7LyxlRTohMH1dLGk6LyMoPyEhKS99fSk7aGxqcy5yZWdpc3Rlckxhbmd1YWdlKCJ0ZXgiLGZ1bmN0aW9uKGMpe3ZhciBlPXtjTjoidGFnIixiOi9cXC8scjowLGM6W3tjTjoibmFtZSIsdjpbe2I6L1thLXpBLVrQsC3Rj9CQLdGPXStbKl0/L30se2I6L1teYS16QS1a0LAt0Y/QkC3RjzAtOV0vfV0sc3RhcnRzOntlVzohMCxyOjAsYzpbe2NOOiJzdHJpbmciLHY6W3tiOi9cWy8sZTovXF0vfSx7YjovXHsvLGU6L1x9L31dfSx7YjovXHMqPVxzKi8sZVc6ITAscjowLGM6W3tjTjoibnVtYmVyIixiOi8tP1xkKlwuP1xkKyhwdHxwY3xtbXxjbXxpbnxkZHxjY3xleHxlbSk/L31dfV19fV19O3JldHVybntjOltlLHtjTjoiZm9ybXVsYSIsYzpbZV0scjowLHY6W3tiOi9cJFwkLyxlOi9cJFwkL30se2I6L1wkLyxlOi9cJC99XX0sYy5DKCIlIiwiJCIse3I6MH0pXX19KTtobGpzLnJlZ2lzdGVyTGFuZ3VhZ2UoInhtbCIsZnVuY3Rpb24ocyl7dmFyIGU9IltBLVphLXowLTlcXC5fOi1dKyIsdD17ZVc6ITAsaTovPC8scjowLGM6W3tjTjoiYXR0ciIsYjplLHI6MH0se2I6Lz1ccyovLHI6MCxjOlt7Y046InN0cmluZyIsZW5kc1BhcmVudDohMCx2Olt7YjovIi8sZTovIi99LHtiOi8nLyxlOi8nL30se2I6L1teXHMiJz08PmBdKy99XX1dfV19O3JldHVybnthbGlhc2VzOlsiaHRtbCIsInhodG1sIiwicnNzIiwiYXRvbSIsInhqYiIsInhzZCIsInhzbCIsInBsaXN0Il0sY0k6ITAsYzpbe2NOOiJtZXRhIixiOiI8IURPQ1RZUEUiLGU6Ij4iLHI6MTAsYzpbe2I6IlxcWyIsZToiXFxdIn1dfSxzLkMoIjwhLS0iLCItLT4iLHtyOjEwfSkse2I6IjxcXCFcXFtDREFUQVxcWyIsZToiXFxdXFxdPiIscjoxMH0se2I6LzxcPyhwaHApPy8sZTovXD8+LyxzTDoicGhwIixjOlt7YjoiL1xcKiIsZToiXFwqLyIsc2tpcDohMH1dfSx7Y046InRhZyIsYjoiPHN0eWxlKD89XFxzfD58JCkiLGU6Ij4iLGs6e25hbWU6InN0eWxlIn0sYzpbdF0sc3RhcnRzOntlOiI8L3N0eWxlPiIsckU6ITAsc0w6WyJjc3MiLCJ4bWwiXX19LHtjTjoidGFnIixiOiI8c2NyaXB0KD89XFxzfD58JCkiLGU6Ij4iLGs6e25hbWU6InNjcmlwdCJ9LGM6W3RdLHN0YXJ0czp7ZToiPC9zY3JpcHQ+IixyRTohMCxzTDpbImFjdGlvbnNjcmlwdCIsImphdmFzY3JpcHQiLCJoYW5kbGViYXJzIiwieG1sIl19fSx7Y046Im1ldGEiLHY6W3tiOi88XD94bWwvLGU6L1w/Pi8scjoxMH0se2I6LzxcP1x3Ky8sZTovXD8+L31dfSx7Y046InRhZyIsYjoiPC8/IixlOiIvPz4iLGM6W3tjTjoibmFtZSIsYjovW15cLz48XHNdKy8scjowfSx0XX1dfX0pO2hsanMucmVnaXN0ZXJMYW5ndWFnZSgibWFya2Rvd24iLGZ1bmN0aW9uKGUpe3JldHVybnthbGlhc2VzOlsibWQiLCJta2Rvd24iLCJta2QiXSxjOlt7Y046InNlY3Rpb24iLHY6W3tiOiJeI3sxLDZ9IixlOiIkIn0se2I6Il4uKz9cXG5bPS1dezIsfSQifV19LHtiOiI8IixlOiI+IixzTDoieG1sIixyOjB9LHtjTjoiYnVsbGV0IixiOiJeKFsqKy1dfChcXGQrXFwuKSlcXHMrIn0se2NOOiJzdHJvbmciLGI6IlsqX117Mn0uKz9bKl9dezJ9In0se2NOOiJlbXBoYXNpcyIsdjpbe2I6IlxcKi4rP1xcKiJ9LHtiOiJfLis/XyIscjowfV19LHtjTjoicXVvdGUiLGI6Il4+XFxzKyIsZToiJCJ9LHtjTjoiY29kZSIsdjpbe2I6Il5gYGB3KnMqJCIsZToiXmBgYHMqJCJ9LHtiOiJgLis/YCJ9LHtiOiJeKCB7NH18CSkiLGU6IiQiLHI6MH1dfSx7YjoiXlstXFwqXXszLH0iLGU6IiQifSx7YjoiXFxbLis/XFxdW1xcKFxcW10uKj9bXFwpXFxdXSIsckI6ITAsYzpbe2NOOiJzdHJpbmciLGI6IlxcWyIsZToiXFxdIixlQjohMCxyRTohMCxyOjB9LHtjTjoibGluayIsYjoiXFxdXFwoIixlOiJcXCkiLGVCOiEwLGVFOiEwfSx7Y046InN5bWJvbCIsYjoiXFxdXFxbIixlOiJcXF0iLGVCOiEwLGVFOiEwfV0scjoxMH0se2I6L15cW1teXG5dK1xdOi8sckI6ITAsYzpbe2NOOiJzeW1ib2wiLGI6L1xbLyxlOi9cXS8sZUI6ITAsZUU6ITB9LHtjTjoibGluayIsYjovOlxzKi8sZTovJC8sZUI6ITB9XX1dfX0pO2hsanMucmVnaXN0ZXJMYW5ndWFnZSgianNvbiIsZnVuY3Rpb24oZSl7dmFyIGk9e2xpdGVyYWw6InRydWUgZmFsc2UgbnVsbCJ9LG49W2UuUVNNLGUuQ05NXSxyPXtlOiIsIixlVzohMCxlRTohMCxjOm4sazppfSx0PXtiOiJ7IixlOiJ9IixjOlt7Y046ImF0dHIiLGI6LyIvLGU6LyIvLGM6W2UuQkVdLGk6IlxcbiJ9LGUuaW5oZXJpdChyLHtiOi86L30pXSxpOiJcXFMifSxjPXtiOiJcXFsiLGU6IlxcXSIsYzpbZS5pbmhlcml0KHIpXSxpOiJcXFMifTtyZXR1cm4gbi5zcGxpY2Uobi5sZW5ndGgsMCx0LGMpLHtjOm4sazppLGk6IlxcUyJ9fSk7"></script> <style type="text/css">code{white-space: pre;}</style> <style type="text/css"> @@ -35,10 +35,12 @@ } </style> <script type="text/javascript"> -if (window.hljs && document.readyState && document.readyState === "complete") { - window.setTimeout(function() { - hljs.initHighlighting(); - }, 0); +if (window.hljs) { + hljs.configure({languages: []}); + hljs.initHighlightingOnLoad(); + if (document.readyState && document.readyState === "complete") { + window.setTimeout(function() { hljs.initHighlighting(); }, 0); + } } </script> @@ -257,7 +259,7 @@ <h2>Isoform abundances for a given gene</h2> <p>When there are many replicates or many isoforms, it may be preferable to group abundances by isoform, making individual comparisons easier:</p> <pre class="r"><code># Grouping by isoform: plot_gene(mydtu, "MIX6", style="byisoform")</code></pre> -<p><img src="data:image/png;base64,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" /><!-- --></p> +<p><img src="data:image/png;base64,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kAAJkAAJkIA9AQpQeyaMIQESIAESIAESIAES8CEBClAfwmXVJEACJEACJEACJEAC9gQoQO2ZMIYESIAESIAESIAESMCHBChAfQiXVZMACZAACZAACZAACdgToAC1Z8IYEiABEiABEiABEiABHxKgAPUhXFZNAiRAAiRAAiRAAiRgT4AC1J4JY0iABEiABEiABEiABHxIgALUh3BZNQmQAAmQAAmQAAmQgD2BoBKg3377LTZt2mQ3il9//RWvvPKKXTwjSIAESIAESIAESIAEAo9AZOB1ybZH2dnZmDdvnor8/vvvsXXrVmzbts2SyWw2Y+HChYiNjbXE8YIESIAESIAESIAESCBwCQS8AI2JicHmzZvxxx9/4OTJkzhy5Ii61pFGREQgKSkJ999/vx7FdxIgARIgARIgARIggQAmEPACVNhNmDBBIXz//ffRpk0bdOzYMYCRsmskQAIkQALBQGDdgm7IyTgGg+HCbrTc7NNo33cjouOrBMMQ2EcSCFoCQSFAdbpDhgzB5MmT8fzzzyMrK0uPVu/dunXD+PHjbeJ4QwIkQAIkQALOCGSm7NbE5gbASoBu+2UwMlP3UIA6g8Z4EvASgaASoFOnTsWSJUsgQrRChQrat1aDBUONGjUs17wgARIgARIggcIIyMxnRGQijJFWNgRWYrSw8kwnARIoOoGgEqDr16/H448/jn79+hV9xCxJAiRAAiRAAkUkcGLPDBzc/DraXr+6iDWwGAmQgBC4sPHFBY9du3ZhxYoVyMzMtMklFuqrVq3C77//jtzcXJu0U6dOYfHixdi+fbtNfHFuateujaNHjxanCpYlARIgARIggSITyM06hfTTG4tcPtQKnjlzBsuWLXP4v1n+/8uqpegB6+BKO1jn43VoEyh0BvTRRx+FWJrXr18fH3zwAR577DF06NBBidG7774bzZs3V5bpM2fOxOuvv66WxdetW4dx48ahd+/eeO+999SSed++fYtNcujQocraXZbbGzVqhOjoaEudiYmJqFq1quWeFyRAAiRAAiTgikBu1kn8+8sgGI0X/pecObwEddu+4KoY0/4jMHfuXMyaNQtigyHvTZo0wcMPP6xS33jjDWzZsgUNGzaEbJ975513UKtWLZfagWDDi4BLASruj8T10fTp0xWVxo0bQ5zBiwCdMWOGskbXP2zDhw/H6tWr0alTJ7z5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6YPBakiABEiABEiABEiABNwjQAHqHifmIgESIAESIAESIAES8BIBClAvgWQ1JEACJEACJEACJEAC7hGgAHWPE3ORAAmQAAmQAAmQAAl4iQAFqJdAshoSIAESIAESIAESIAH3CFCAuseJuUiABEiABEiABEiABLxEwGMBeurUKSxevBjbt293qwsrVqyA+NRjIAESIAESIAESCC0C1ASh9Tz9ORqPBOi6detw1113YceOHRgzZgzmzJnjsq8rV67EuHHjLJ76XWZmIgmQAAmQAAmQQNAQoCYImkcVkB316CjON998E5MmTULLli1xyy23YOjQobjmmmvg6AQa+Vb06aef8tSVgHzs7BQJkAAJkAAJFI8ANUHx+IV7abdnQPPy8nDo0CG0aNFCMatcubI6/vDw4cN2DOV0zylTpuCBBx5AbGysXXp6ejpWr15teR0/ftwuDyNIgARIgARIgARKloCcJ/7rr7+q16ZNmyyd8aYmsFTKi7Ai4PYM6IkTJ9S55AaDwQKoTJkyanm9bt26lji5mDVrFmrWrIl27drZxOs3+/fvh5wxqwcRqnfccYd+y3cSIAESIAESIIEAIPDUU0/h3LlzqiedO3fG559/rq69qQkCYJjsQgkQcFuAyhmk+fn5Nl2Ub0AFZzj37t2LhQsX4v3337fJa31Tv359zJ8/3xLlaAnfksgLEiABEiABEiCBEiEggjMhIUG1bf3/3puaoEQGxkZLnIDbAjQpKQmydJ6dnY2YmBjV8dOnT6NatWo2g/j5558hM5zXXXedis/MzFR7RV944QV06NBBxUn5hg0bWsqdPXvWcs0LEiABEiABEiCBwCBQvXp1yGpnweBNTVCw7mC8z83NxWeffeaw602bNkWFChXUNgY9g4h5WT3u1KkToqKiVLRMzDVu3NhGHx09ehRi0D1gwABs3brVpg69rnr16qFXr176bdC8uy1AIyMj0bFjR8ybNw/9+/dXQMqVKwd5Sdi3bx+qVKmixKYYJ+lB8r766quoXbu2HsV3EiABEiABEiCBICYQappAJtdefvllpWVk++B9993n0dORFWLxCiDhwIED+PPPP5WxttwnJiZi8+bNeP3119GvXz+JUtsann/+edSpUwdLly6FbG+UdPE0ZD1BJ16HnnnmGSVARYi++OKLuPrqq1Ud+g/rrZF6XDC8uy1AZTAjR460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" /><!-- --></p> </div> <div id="overview-plots" class="section level2"> <h2>Overview plots</h2> @@ -290,7 +292,7 @@ <h2>Diagnostic plots</h2> <p>Currently there is only one plot type in this category.</p> <pre class="r"><code># Matrix of pairwise Pearson's correlations among samples. plot_diagnostics(mydtu, type='cormat') # Default type.</code></pre> -<p><img src="data:image/png;base64,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AtDEm5MjAggggAACCCAQaAEC0EA3P5VHAAEEEEAAAQQSL0AAmnhzckQAAQQQQAABBAItQAAa6Oan8ggggAACCCCAQOIFCEATb06OCCCAAAIIIIBAoAUIQAPd/FQeAQQQQAABBBBIvAABaOLNyREBBBBAAAEEEAi0AAFooJufyiOAAAIIIIAAAokXIABNvDk5IoAAAggggAACgRYgAA1081N5BBBAAAEEEEAg8QIEoIk3J0cEEEAAAQQQQCDQAgSggW5+Ko8AAggggAACCCRegAA08ebkiAACCCCAAAIIBFqAADTQzU/lEUAAAQQQQACBxAuUSXyWv+a4c+dO++KLL+ybb76x1q1bW7t27axMmaIrzoIFC6xevXp2xBFH2PTp061z585WqVIl27Nnj5UvX942bdpkn3/+uXXp0qVICL799lv76quv3LlKlSplderUsVatWtkhhxyS6/lnzJjh9lNZI5POt3XrVjv22GNt3759tnDhQqtYsaJzysjIiNyV1wgggAACCCCAQFoJJKUHdM2aNTZ48GB7/fXXLTMz015++WUbMGCAKSgtqjRx4sRwQKggb8eOHS6Iu//++10WCkDnzJlTVNnZvHnz7KWXXnIBtQLrZ555xq666ioXROaWyaJFi2zChAlZdnniiSdMTnr079/fPvjgA3vzzTdt4MCBLojOcgAbEEAAAQQQQACBNBFISgA6YsQIO+ecc+y+++6zSy+91P7+97+7XtAnn3wyik1B4tq1a8Pb9u/fb9u3b7cDBw7YihUrXFAZ/vB/L3788UfbvXt31ObbbrvNatSoET5GwWjDhg3thhtuiNovNj99uGXLFrePyhFZlqgD//dGPZ433XST3Xrrrfb444+7PBU45pZ69uxpM2fONNXNT8pn6dKlduqpp9qrr75q2kdmt99+uzVt2tT16Pr78owAAggggAACCKSbQNFd846z5goQN2/ebBdeeGHUEbfccovp0rXS+vXr7Z577nHBn/Zt0qSJjRo1ygVlDz74oOs1rVKlii1fvtzuvvtu69ixo23cuNGuvfZa0/YNGzZYuXLlwudXb6v2mzRpkjunehxPOOEEU2/ouHHjcsyvdOnSdtlll1nbtm1d8KnAsGvXrjZ8+PDwuXN6oUBZAW39+vVz2sVtV9Cq4FhDBjp16uS2TZs2zQWfuuQ+dOhQi7zkroB4165d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AAEEEEAgOQIEoMlxJ1cEEEAAAQQQQCCwAgSggW16Ko4AAggggAACCCRHgAA0Oe7kigACCCCAAAIIBFaAADSwTU/FEUAAAQQQQACB5AiUSU625IoAAggggAACCCAQKzB+/Hh75513LCMjw/r27eseZcr8Gq598MEH9uSTT9qqVausVatWdtNNN1mDBg3cKR599FFr3ry5O3bt2rU2cuRImzZtWpZtRx11VGyWSXlPD2hS2MkUAQQQQAABBBCIFrjzzjvt+uuvt7p161rHjh3tuuuus9GjR7ud3nzzTTv55JNty5Yt1q9fP3v//fetbdu29t1337nPp06daldddZV9/PHHtn37dqtcubJlty06x+S9owc0efbkjAACCCCAAAIIOIHVq1fb3XffbbNnz7ZTTjnFbatXr55NnDjRQqGQC0wHDBhg6iFVuvrqq61x48Z2++2324svvui2VaxY0WbNmmWlS5d27/Wf7LaFP0ziC3pAk4hP1ggggAACCCCAgAQWLVpk5cuXd72cvsh5551nL7zwgm3evNlWrFhhPXr08D9yz7169XI9nv7GY489Nir41Pbstvn7J/OZADSZ+uSNAAIIIIAAAgh4Ahq3qd5Kjf2MTQpAlY444oiojw4//HA7cOBAeNuhhx4afu2/yG6b/1kynwlAk6lP3ggggAACCCCAgCdw5JFHup7OX375JeyhXtE+ffpYrVq1rFy5cm5MZ/hD74UmGbVv3z5yU9q8JgBNm6aioAgggAACCCBQUgU6d+7sZrZrbKcmFq1bt87uuOMOq127tlWpUsVNMHr++edtypQptmvXLnvqqads3rx5dv7556clCZOQ0rLZKDQCCCCAAAIIlCQBLbX073//2y655BK3dJJmsXfv3t1NTFI97733Xtu5c6frEdW+Ckwfe+wx69+/f1oyZHgzq0JpWXIKXSQCY6puKpLzcJLkCWRwHSN5+EWQ89WbaxTBWThFMgX2rOef0WT6Fzbv8rWyjrks7DkLe/yGDRvchCQFobFpz549rne0fv36sR+l1Xt6QNOquSgsAggggAACCJR0gdwmDmmmfLoHn2o/+k5K+reY+iGAAAIIIIAAAikmQACaYg1CcRBAAAEEEEAAgZIuQABa0luY+iGAAAIIIIAAAnkIvPTSS7Z///4c99KdmjQL/5NPPslxn/x8QACaHy32RQABBBBA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zpyiyi58nrfeesueeuopmzJlSnhbbi8WLVpkEyZMyLLLE088YXLy07///W+7++677cCBA/4mnhFAAAEEEEAAgbQUSEoAOmLECDvnnHPsvvvus0svvdT+/ve/W+vWre3JJ5+MQlSQuHbt2vA29f6pZ1FB2IoVK8K9muEdvBc//vij7d69O3KT3XbbbVajRo3wMQpGGzZsaDfccEPUfrH56cMtW7a4fVSOyLJEHRjxZvLkyTZs2DB74403Irbm/LJnz542c+bMqJ5N5bN06VI79dRT3XaV/5133sn5JHyCAAIIIIAAAgikkUCZRJdVAaIuU1944YVRWd9yyy1WqtSv8fD69evtnnvuccGf9m3SpImNGjXKBWUPPvig6zWtUqWKLV++3PUKduzY0TZu3GjXXnutafuGDRusXLly4fOrt1W9h7o0roBSPY4nnHCC6w0dN26c5ZRf6dKl7bLLLrO2bdu64FOBYdeuXW348OHhc0e++Oyzz0zHnHXWWfbcc8+5Htdjjz02cpcsr1u1auWCYw0Z6NSpk/t82rRpLvisWLGiacjAiSeeaD169HB5ZzmBt+G9996zxYsXhz+66qqrrGzZsuH3vEAAAQQQQAABBFJJIOE9oOrZa9CggWVkZEQ5lC9fPhw0jR492urXr29PP/20CxZ37doVHg+psZF33nmnPfbYYzZw4EAXVOpEumR90kknuV5UHRfbW1m9enW76KKLrH379nb55ZdH5Z1bftqxUaNG7rxjxowxXdrXsIHskno/u3fv7j7Sc7y9oL169Yrq4Zw6dappm5Jc+vTpY2XK5Py3wgcffGDPPPNM+LFv3z53LP9BAAEEEEAAAQRSUSDhAaguhfuXtXMCUW+eehqVFHh16dLFNI5TqU6dOta4cWP3WoGsP250yZIl4R7EatWqWZs2bdw+8fwnt/x0fOfOnd1p6tata6FQyF3iVzCqIFgPBbsqx6xZs1zvrsa0qo5z5851vbF5leHMM890E7J0DpVFvbctW7bM67Dw57pErx5U/3HIIYeEP+MFAggggAACCCCQagIJD0CbN29uq1evNo23jEzvvvuujRw50m2qVauWRfbi7d27Nzz5pmrVqpGHhV/rkrP281NuPYb+Pv5zbvlpH13W95Pfc6sg13/osrvGcarXtmbNmi5IPfTQQ61p06amSUl5JZ1HwwgUsL799tvW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XqQZfvfdd/bqq6/a7Nmzbe/evdayZUu744477LDDDivSfDhZMASYhBSMdg58LT///HMbM2aMnXfeee42jn/7299s5cqVNmHChMDbpAvAU089ZcuWLXNLwUyePNmuvPJKe/DBB+3nn39OlyoEupz8BtO7+dXrefPNN1vjxo3tueeec48OHTrY7bffnt4Vo/RJEyAATRo9GSdSYOHChS741Exq3cGjbdu2bvLRggULElkM8iqEgO4/ff3119tRRx1llStXtt/97nfWo0cP16NdiNNyaIIE+A0mCLqYstEfelo3+YILLrBatWq5iYCXX365bd++3c2OL6ZsOW0JFiAALcGNS9UOCujWcd9+++3BDd6rb775JmpR+qgPeZNyAs2bN6cNU65V4i8Qv8H4rVJxT608sXnzZtu9e3e4eJs2bTJNLqtQoUJ4Gy8QiFeASUjxSrFfWgvo8pFu2aixn8ccc4wtX77cvvrqKxs1apS1bt06resWlMLrEu6tt97qbrupme+6LWBGRoaNHj2aSWVp8CXgN5gGjZRHEfVbmzVrlulK0r59+2z+/PnWs2dPGzJkSB5H8jECWQUIQLOasKWECmgSy9tvv22rVq1yQYwWxmY2fHo1tiZBzJ071zSL+uSTT3aTINKrBsEuLb/B9G//OXPm2OLFi93leA2D0eV4EgIFESAALYgax6SNwP33329ao65cuXI2fvz4LOXWQvRayJyUmgIKWIYNG2b/+Mc/7Omnn852HUK1n9qRlJoC/AZTs13iLZVmvCvovOGGG9wY7OyO080hSAjkV4AANL9i7J9WAitWrHATVrRmXU4L0etyLik1BQ4cOOCCTo3/1NJLCkhjk9pPQytIqSnAbzA12yXeUmmcpx66YcfXX3+d7WEMY8qWhY15CBCA5gHExyVDIDMz01VEgaiftE23B6xevbq/iecUFtAYwjJlopcu1oQItaNWNiCltgC/wdRun3hKl91vcOPGjVazZs14DmcfBKIEDv5rHLWZNwiULIE33njDjf+MrNVHH31kWg+UlB4CN954Y5Ye0Iceesjee++99KhAwEvJbzC9vwDqBb3llluiKqGJSBdffHHUzPioHXiDQC4C9IDmgsNH6S/w6aef2vDhw10vmWoT2QNaunRpu/rqq926dulf05Jbg4cfftgmTpzo2lCz3vVQCoVC7h7wjz32mDVq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" /><!-- --></p> +<p><img src="data:image/png;base64,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IoAAAggggAACaSFAAJoW1UghEEAAAQQQQACB4AgQgAanrsgpAggggAACCCCQFgIEoGlRjRQCAQQQQAABBBAIjgABaHDqipwigAACCCCAAAJpIUAAmhbVSCEQQAABBBBAAIHgCBCABqeuyCkCCCCAAAIIIJAWAgSgaVGNFAIBBBBAAAEEEAiOAAFocOqKnCKAAAIIIIAAAmkhQACaFtVIIRBAAAEEEEAAgeAIEIAGp67IKQIIIIAAAgggkBYCBKBpUY0UAgEEEEAAAQQQCI4AAWhw6oqcIoAAAggggAACaSFAAJoW1UghEEAAAQQQQACB4AgQgAanrsgpAggggAACCCCQFgIEoGlRjRQCAQQQQAABBBAIjgABaHDqipwigAACCCCAAAJpIUAAmhbVSCEQQAABBBBAAIHgCBCABqeuyCkCCCCAAAIIIJAWAgSgaVGNFAIBBBBAAAEEEAiOAAFocOqKnCKAAAIIIIAAAmkhQACaFtVIIRBAAAEEEEAAgeAIEIAGp67IKQIIIIAAAgggkBYCBKBpUY0UAgEEEEAAAQQQCI4AAWhw6oqcIoAAAggggAACaSFAAJoW1UghEEAAAQQQQACB4AgQgAanrsgpAggggAACCCCQFgIEoGlRjRQCAQQQQAABBBAIjgABaHDqipwigAACCCCAAAJpIUAAmhbVSCEQQAABBBBAAIHgCBCABqeuyCkCCCCAAAIIIJAWAhWSVYodO3bYl19+ad9++621adPG2rdvbxUqlF525s6daw0bNrSDDz7Ypk6dal26dLFq1arZrl27rHLlyrZx40b74osvrGvXrqVC8N1339miRYvcucqVK2f169e31q1b23777Vfg+adNm+b2U14jk863ZcsWO+qoo2zPnj02b948q1q1qnPKysqK3JVlBBBAAAEEEEAgUAJJaQFdvXq1XXrppfbqq69aTk6Ovfjii9a/f39TUFpa6bXXXgsHhArytm/f7oK4Bx54wF1CAejMmTNL63I2e/Zs+/e//+0CagXWY8eOtSuvvNIFkQVdZP78+TZ+/Pg8uzz22GMmJ/2cf/759uGHH9obb7xhAwYMcEF0ngNYgQACCCCAAAIIBEQgKQHoDTfcYGeddZbdd999dvHFF9vf//531wr6+OOPR7EpSFyzZk143d69e23btm22b98+W7ZsmQsqwxv/t7B8+XLLzs6O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AQQQQCDwAgSgga9CCoAAAggggAACCARLgAA0WPVFbhFAAAEEEEAAgcALEIAGvgopAAIIIIAAAgggECyBpAWgO3bssDlz5ti4cePs008/tb1795aq3Ny5c+2nn35y55w6dapt377dLe/atcu9bty40WbMmFGq19TJNm3aZBMmTLBt27bFde5p06bZypUr8+z73Xff2bx586LWqxyl7RR1Ad4ggAACCCCAAAIJEEhKALp69Wq79NJL7dVXX7WcnBx78cUXrX///qagtLTSa6+9ZosWLXKnU5CnAFQB3QMPPODWKQCdOXNmaV0ufJ4333zTnnjiCZs0aVJ4XUEL8+fPt/Hjx+fZ5bHHHjM5+ek///mP3XXXXbZv3z5/Fa8IIIAAAggggEAgBZISgN5www121lln2X333WcXX3yx/f3vf7c2bdrY448/HoWoIHHNmjXhdWr9U8uigrBly5aFWzXDO3gLy5cvt+zs7MhVduutt1qdOnXCxygYbdKkiV133XVR++W+njZu3rzZ7aN8ROYl6sCINxMnTrQhQ4bY66+/HrE29mLPnj3t3XffjWrZ1HW+/vprO+mkk9x65f/tt9+OfRK2IIAAAggggAACARKokOi8KkDUberzzjsv6tI333yzlSv3Szy8bt06u+eee1zwp30POeQQGzFihAvKRo4c6VpNa9SoYUuWLHGtgp06dbINGzbYNddcY1q/fv16q1SpUvj8am1V66FujSugVItj586dXWvo008/bbGuV758ebvkkkusXbt2LvhUYNitWzcbNmxY+NyRC59//rnpmDPOOMOeffZZ1+J61FFHRe6SZ7l169YuOFaXgeOOO85tnzJligs+q1atauoycOyxx1qPHj3ctfOcwFvx3nvv2YIFC8KbrrzySqtYsWL4PQsIIIAAAggggEAqCSS8BVQte40bN7asrKwoh8qVK4eDptGjR1ujRo3sySefdMHizp07w/0h1TfyjjvusFGjRtmAAQNcUKkT6Zb18ccf71pRdVzu1sratWvbBRdcYB06dLDLLrss6toFXU87Nm3a1J13zJgxplv76jaQX1LrZ/fu3d0mvcbbCtqrV6+oFs7Jkyeb1inJpU+fPlahQuy/FT788EMbO3Zs+GfPnj3uWP5BAAEEEEAAAQRSUSDhAahuhfu3tWOBqDVPLY1KCry6du1q6sepVL9+fWvW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" /><!-- --></p> <p>What you want to see here, is a nice separation between the samples of different conditions. Anomalies in this plot may indicate batch effects or mislabelled samples.</p> </div> <div id="interactive-plots" class="section level2"> @@ -314,7 +316,7 @@ <h3>Change information layers</h3> <p>The <code>fillby</code>, <code>colourby</code> and <code>shapeby</code> parameters can be respectively used to control which information layers are encoded as fill, line/point colour, and point shape. Possible values are <code>c("isoform", "condition", "DTU", "none", "replicate")</code>. Be aware that some combinations of plot style and information layers are not possible. If safe to do so these will be silently ignored, otherwise an error message will appear.</p> <pre class="r"><code># For a less busy look, any of the information layers can be disabled. plot_gene(mydtu, "MIX6", style="byisoform", colourby="none", shapeby="none")</code></pre> -<p><img src="data:image/png;base64,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YT169LAbbrjB1q9fHwjjAAIQgAAEIAABCEQloCH4bLHcuYo5//nPf3JKly6dU6pUKW1BmnPppZfm7L///jkXXnhhAENuz15OixYt3HUv3gknnJDz66+/BuKMGTPGXX/rrbdycnsk3bHyq1WrVk5uj2Agng5iyS93WNvl8corr+RJG3ry73//O6d27do5ueLTxc8dOs8T5Y033sjJFag5eld9FM+zpk2b5hxyyCHeaeA9V5Dn7LPPPq7uX331VU6lSpVyOnfunJM75B6IkzsU7/J78sknXViu6M7JFfCB6xxAAAIQgAAEIACBWAlkVQ+oeu4mTZpkGqJWT6HmUGr4WD2dnq1bt86OP/54K1u2rI0bN840F3LatGk2e/ZsO/vss71ogXctCLrnnntMvaiTJ092C3Iuu+yywPVY82vWrJmde+65lisEA2mjHagHNFco5huGV9tOPvlkdy1a+uBrVapUsZdfftlU1w4dOrjh+xdffNFKlCgRiLZy5Up3vNdee1mvXr2satWqtvfee1v9+vVdj2sgIgcQgAAEIAABCECgIAKxKlW/x8sVV64H7+abb87TlK+//tqFez2gup7LLCdXqOaJN3z4cBfu9W56PaDDhg3LEy93ZbiLpx5CWaz55ckkyonXA6ooPXv2zMldWBSInTuM73o/1SubO3XA1SOWHlAvg2OPPdalyRXqXlDgXTzERT2luQuQcp599tmchx9+2JWfK1RzPvvss0BcDiAAAQhAAAIQgEA0AqULEqiZcl2LZmS5IitPkw499FDXm+cFaoV4+fLlbc6cOXl6RnOH312UWbNm2dFHH+1Fd6vBAye5Bw0aNHCnW7ZsserVq7tV4vHkF5xXQcdnnnmmWwSkFexala4eW/XcnnTSSXGvSs8V1DZ16lRX50cffdRyxa2JjWdy7STTqngtTipXrpw779q1q1vMdPvtt7seYBfIHwhAAAIQgAAEIBCFQNYI0MWLFzsMe+65Zz4cEoqerVixwg09jxw50gsKvOfOFXULjgIBuQfVqlULPrXcOaPuPFf1u/d488uTWQEnufNSTcPnWowkAarh927dugXEYQHJA5d/+eUXu/jii53gfOGFF+wf//iHaXGSRLuG+WWesJbo9cSnwjUMf/jhh7vpDDrHIAABCEAAAhCAQEEEskaANmzY0LGQIMxdiBPgIt+Wmr/pmYSWxKqcs1eoUMELLvR7ovMLroiEoHogJUAHDhzoeiDfeeed4CgFHsuJvESlOGgeqHyFPvjgg87JvFwzPffccy4PT4AGi08vc/kDDRbxXjjvEIAABCAAAQhAIByBrFmE1L59e9dbKfdCweYtSPLCNOwsl0hjx471gty7dg3ad999LXfOaJ7wgk4SnV9oeRKPCxYssLvuustNJQidYhAaP/RcwlX+PHPnczrxqetaWHXKKaeY2uz5GpUj+k6dOjm3VFqY5dnq1avt888/tyOPPNIL4h0CEIAABCAAAQhEJZA1AlRD1bfddpvlLtBxw8sSVvJzqe0ktdrbW/E9YMAAq1u3rl1zzTVO1Gm+4/PPP2/9+/e3li1but2BohINuRhrfpq/qRXo2uYyHvvXv/7lhPVDDz1kp59+emAKQCx5qEwJT4nY3r1750mSu8jI6tSp48TosmXL3LVbb73VFi5c6MpRD/GECROse/fubhrAVVddlSc9JxCAAAQgAAEIQCASgawRoAKgIWX1gKrHsE+fPqYtKzVkXaZMmcBwu4Rq7opu03zPwYMHO9EpR+sSd0899VQkjhHDY81PPYkq948//oiYV7gLqrvmfWoIXU7hYzWJSolO7YaU69szX7Jcf6Zu+F2LjuQeSvl7PaBySaVtOrXYSYutJGQPOuigfHkQAAEIQAACEIAABMIRyJq94DXXcUnujkZNmjSxXEf0ARYabpdIVG/oLbfcEgjXgXY1kv/LXAfugR7SPBHiPEl0fnEWn9Do4iKO6iXFIAABCEAAAhCAQDwEsqYHVAtl1EsnJ+rBduedd7rTY445JjjYHWsRkhbleMPz+SLEGZDo/OIsPqHR5ZAe8ZlQpGQGAQhAAAIQyBoC/+sKzPAmq7dO8zG1n7l8fbZt29YtvtEcT+1kFLzneYajoHkQgAAEIAABCECgWAlkzRC8R3n+/PluO87p06e7eZ5a+KMXBgEIQAACEIAABCCQGgJZJ0BTg5VSIAABCEAAAhCAAAQiEciaOaCRABAOAQhAAAIQgAAEIJBaAgjQ1PKmNAhAAAIQgAAEIJD1BBCgWf8RAAAEIAABCEAAAhBILQEEaGp5UxoEIAABCEAAAhDIegII0Kz/CAAAAhCAAAQgAAEIpJYAAjS1vCkNAhCAAAQgAAEIZD0BBGjWfwQAAAEIQAACEIAABFJLIC12QtqwYUPSW925c2erVq1a0stJVAG7du1yW4CWKlUqUVlmZD45OTkmVuKk7VaxyAT+/vtv2717t5UpUyZyJK44Anz/Yvsg8P2LjZNi+fH7p41bZs6caVWqVIm9ocSEQIwE0kKAxljXIkXTF2jixIlFyiOViTdv3uwEVcWKFVNZrO/K0j/1TZs2WYUKFaxs2bK+q38qK/znn3/a9u3brWrVqqks1pdl8f2L7bbx/YuNk2L58fvXq1cv00MGBoFkEKDLKBlUyRMCEIAABCAAAQhAICIBBGhENFyAAAQgAAEIQAACEEgGAQRoMqiSJwQgAAEIQAACEIBARAII0IhouAABCEAAAhCAAAQgkAwCCNBkUCXPuAksX77cpk6dakuXLo07LQkgAAEIQAACEPAXgaxZBe+v25JdtV2xYoUNGzbMSpcu7Vwq9e7d29q0aZNdEGgtBCAAAQhAIIsI0AOaRTc7XZs6ZswYVzX5XpRNmDDBvfMHAhCAAAQgAIHMJIAAzcz76qtWNW7c2Dnd9yq9bds275B3CEAAAhCAAAQykAACNANvqt+adOqpp1rlypVdtWvWrGm33nqr35pAfSEAAQhAAAIQiIMAAjQOWERNDgFto3n99de7zCVG2dEoOZzJFQIQgAAEIJAuBBCg6XInqAcEIAABCEAAAhDIEgKsgs+SG53KZi5atMjincfpxV+2bJlbDR9rfbVPsfZYPuCAA2JNQjwIQAACEIAABIqZAAK0mG9AphW/detWe+ihhwrdrA8++KBQaS+44AI75JBDCpWWRBCAAAQgAAEIpJYAAjS1vDO+tN27d7s2dunSxZo2bZr09m7ZssWeffZZ88pNeoEUAAEIQAACEIBAkQkgQIuMkAzCEahYsaJVq1Yt3KWEhmkBEwYBCEAAAhCAgL8IsAjJX/eL2kIAAhCAAAQgAAHfE6AH1Pe3MD0boD3dUzEsvn379vQEQK0gAAEIQAACEIhIAAEaEQ0XikJg+vTpphcGAQhAAAIQgAAEQgkwBB9KhHMIQAACEIAABCAAgaQSoAc0qXizN3P55axVq1bSAcgH6Jdffpn0cigAAhCAAAQgAIHEEUCAJo4lOQURkADdf//9g0KSc7hp0yYEaHLQkisEIAABCEAgaQQYgk8aWjKGAAQgAAEIQAACEAhHAAEajgphEIAABCAAAQhAAAJJI8AQfNLQZnfGr7/+upUoUSJlEFJZVsoaRUEQgAAEIACBDCWAAM3QG1tczapSpYqdc845pj3h4zEtJnr//fetffv2Vr9+/ZiT5uTk2M6dO61Zs2YxpyEiBCAAAQhAAALFSwABWrz8M7J0ich4TYuJJEAPPPBAa926dczJ//77b1PacuXKxZyGiBCAAAQgAAEIFC8B5oAWL39KhwAEIAABCEAAAllHgB7QrLvl6dfgX375xV5++WVXsS1btqRfBakRBCAAAQhAAAIJJUAPaEJxklm8BNatW2fDhw+3P/74wyUdM2aMaT4oBgEIQAACEIBA5hJAgGbuvfVFy1atWmV77LFHoK4lS5a0jRs3Bs45gAAEIAABCEAg8wgwBJ9599RXLWrSpIlt377duWySKyUtKkrFFp6+gkRlIQABCEAAAhlGAAGaYTfUb82pUKGCDRs2zM0BrV69unXp0iWl/kP9xov6QgACEIAABDKBAAI0E+6iz9ugIfg+ffr4vBVUHwIQgAAEIACBWAkwBzRWUsSDAAQgAAEIQAACEEgIAQRoQjCSCQQgAAEIQAACEIBArARiEqBz5syxqVOn2oYNG/LkK3c5n3/+uX3xxRduO8Tgi2vWrLFJkybZvHnzgoM5hgAEIAABCEAgQwj8/vvvNnHiRFu8eHG+Fun3f/LkySY9EGzRtENwPI4zm0CBAvTaa6+1V1991X766Sfr27evrVixwhHRyuXzzz/fPvroI3vppZfsuuuuM+3LLZsxY4b17t3b5s+f78LHjh3rwvkDAQhAAAIQgEBmEHj33Xdt4MCBThfcfPPN9t577wUa9tBDD9l9993n9MCFF15oy5Ytc9eiaYdAYg6ygkDURUh6otm5c6fdf//9Dsa2bdtsypQpTnjKYbj2/O7fv7+7JnE6ffp0O+yww5xj8bvuustatWplZ5xxhltgotXNZcuWzQqoNBICEIAABCCQyQTU4aTezdtvv9322Wcf93v/yCOPOE8mS5YssU8//dTeeOMNk2/n0aNHO08ngwYNsmjaIZN50bb8BKL2gDZu3NhGjBjhUmn4/YcffrBGjRq584ULF1qbNm0COepYvaS7du1yT0MHH3ywu1anTh2Tq52VK1cG4nKQGgJ64tT0Ca9nOjWlUgoEIAABCGQKAQ2X79ixw73++uuvQLPkt/nhhx924lMdVZqOJyEqW7RokUkDSHzKPH2g40jaQdew7CIQtQfUQ6GnnHvvvddatGhhRx55pAv+9ddfrUqVKl4Ud6zhec0HqVixYh5fjnvuuadpy0UJWtncuXOtZ8+egbTqPe3Ro0fgnIOiE/jwww9NUx/0D0AvDYWULh3T7S564eQAAQhAAAIZQeDkk08O7E53+OGH26hRo/K0a9OmTXb22We7DUWeeeYZd2316tWm333PpBXWrl3rTiNpBy8u79lDICZFcvzxx9tRRx3lnnY0tH7HHXdYqVKlbPfu3QFS6vmUP8fQcEXQtfLlywfi1qxZ0y655JLA+QEHHBA45qBoBPS0qqdRb96tdhaS8Pzmm29M/zwwCEAAAhCAQKwErrnmGve7rvga0Qw1icvx48fbtGnT3DqRcePG5dMBnj5Q2lCNEHwtNG/OM5tAVAH622+/uZXvzZs3d8Po3bp1s6uvvtoRkYhUr6ZnOt57772tRo0atnXrVpMQKleunLusa/Xr1/eimtKq19Oz0NX1Xng2v+tLqWEPvcdjTz/9tFWqVMkJfqWXadhEr4L2WFc6/XPAIAABCEAAAiJwwgkn5OnN9KjoN+X777936z40HN+xY0d77LHH3LQvbac8a9YsL6rTCvXq1XPnkbRDIDIHWUMgqgDVoqMbbrjBrYJXD6ZWvDdt2tTB6dChg02YMMH0vmXLFueKaejQoa63TYuT9ER0+umnu6eiatWqmV5Y7ARefvnlhLqw0mRwvaKZplcwFSIaIa5BAAIQgIAIlClTxp588kk3xatdu3bu90rD7Fonos4nrR9Zvny5SXi+8847pjiySNrBXeRPVhGIKkA1Z7N79+528cUXu54xnUuQyo477jg36VhzOTXHUMLFm+PZr1+/gPslXRs8eHBWQU1EY9WLnGqTewwMAhCAAAQgUBAB9XrKC45EqEbeJDq1Il69nzLpBm2xXL16dSdKzzrrLBceTTu4CPzJGgIlcldI/5/zzihN1jxCDedqNXuobd682c39DLfARUPrVatWDU2S7zwVQ/Dqjf3ggw/ylZ2uAVr05flcTVUdtVJR/lv9ZPpsahK8Ppu4+Yp+5zQtRg8ZsXwno+eU+Vf1f00Pz1pQiUUmwPcvMpvQK378/vXq1cvkWil4QVFou3SuUVBN4Qo1rUdQu8Ndi6YdQvPhPDMJRO0B9Zqsf8ThxKeuV65c2YuW750funxI4grQE2Y4YR8tE80Z1TOFhkfisXjnmsaTN3EhAAEIQCBzCYQTmGqtfoci/RZF0w6ZS4qWBROISYAGJ+A4NQQ0X0b+0mIVoBKd2oHKMz15aiOAeBYVBft19fLhHQIQgAAEIAABCCSaAAI00UQTlF/btm3dpO1YhwDlW2327NmBVfNyiaVFRS1btkxQjcgGAhCAAAQgAAEIJIZA1J2QElMEuaSCgOboBA+ja65f3bp1U1E0ZUAAAhCAAAQgAIG4CCBA48KVvpHV43nrrbe6CsrtxYABA3B9lb63i5pBAAIQgAAEspoAQ/AZdPvl4FcrFjEIQAACEIAABCCQzgToAU3nu0PdIAABCEAAAhCAQAYSQIBm4E2lSRCAAAQgAAEIQCCdCSBA0/nuUDcIQAACEIAABCCQgQQQoBl4U2kSBCAAAQhAAAIQSGcCCNB0vjvUDQIQgAAEIAABCGQgAQRoBt5UmgQBCEAAAhCAAATSmQACNJ3vDnWDAAQgAAEIQAACGUgAAZqBN5UmQQACEIAABCAAgXQmgABN57tD3SAAAQhAAAIQgEAGEkCAZuBNpUkQgAAEIAABCEAgnQkgQNP57lA3CEAAAhCAAAQgkIEEEKAZeFNpEgQgAAEIQAACEEhnAgjQdL471A0CEIAABCAAAQhkIAEEaAbeVJoEAQhAAAIQgAAE0pkAAjSd7w51gwAEIAABCEAAAhlIAAGagTeVJkEAAhCAAAQgAIF0JoAATee7Q90gAAEIQAACEIBABhJAgGbgTaVJEIAABCAAAQhAIJ0JIEDT+e5QNwhAAAIQgAAEIJCBBBCgGXhTaRIEIAABCEAAAhBIZwII0HS+O9QNAhCAAAQgAAEIZCABBGgG3lSaBAEIQAACEIAABNKZAAI0ne8OdYMABCAAAQhAAAIZSAABmoE3lSZBAAIQgAAEIACBdCaAAE3nu0PdIAABCEAAAhCAQAYS8JUAHT16tM2ePTvfbfj000/tvvvuyxdOAAQgAAEIQAACEIBA+hEonX5VylujP//808aPH+8C33zzTfv5559t7ty5gUg5OTk2YcIEK1++fCCMAwhAAAIQgAAEIACB9CWQ9gK0XLly9uOPP9qXX35pf/zxh61atcode0hLlSplNWrUsMsuu8wL4h0CEIAABCAAAQhAII0JpL0AFbvbb7/dIXziiSesTZs21r59+zRGStUgAAEIQCCTCGgkTp0dpUv74iczk9DTlgwm4Ktv0/nnn29DhgyxO+64w3bs2JHnthx99NF266235gnjBAIQgAAEIFAUAiNHjrQ5c+bYrl273G9PtWrVipIdaSEAgf9PwFcC9LHHHrPJkyebhGjNmjWtRIkSgRvZoEGDwDEHEIAABCAAgaIS+Oijj+ynn35y4lN5Pf7443bTTTcVNVvSQwACuQR8JUBnzpxp1157rZ122mncPAhAAAIQgEBSCWzdutV2794dKOPXX3+1b7/91qZOnWrXX399IJwDCEAgfgIxuWFauHCh6Ulw+/bteUrQvJjPP//cvvjiC9u5c2eea2vWrLFJkybZvHnz8oQX5aRRo0a2evXqomRBWghAAAIQgEBMBDp06GB///23lSlTxsXv2rWrbdmyxVauXBlT+myItH79epsyZUrY32b9/mvUUnog2KJph+B4HGc2gQJ7QAcMGOAmX++777725JNP2jXXXGPt2rVzYvSCCy6wAw44wK1Mf/311+3BBx90w+IzZsywwYMH2/HHH++GLDRk3q1btyKT7NOnj1vtruH2Zs2aWdmyZQN5VqpUyerVqxc45wACEIAABCBQFAJ77rmn3X///fbdd99Z9erVrUWLFvbxxx8XJcuMSjtu3Dh74403TGsw9C4+/fv3d2186KGH3NzZ/fbbzzR97pFHHrGGDRtG1Q4ZBYfGFEggqgCV+yO5PnrxxRddRs2bNzc5g5cAHTNmjFuN7n3Y+vbta9OnT7fDDjvMhg8fbnfddZe1atXKzjjjDJNw7NKlSx7BWGDNwkTQh3jBggV23XXX5bt64okn2sMPP5wvnAAIQAACEIBAYQnIFeARRxxR2OQZm05TE6QNtAlM48aN7eyzz3a/9+edd55t3LjRtEGMRGnJkiWdbnj55Zdt0KBBUbVDxsKiYWEJRBWg+++/vz399NOBhPpQeavPNSyvHk7P5B5Jk7Xbtm1rK1assIMPPthdqlOnjlWoUMENWehDKlu0aJFdffXV7lh/JFIlUAsyrX6/+eabw0bzhkjCXiQQAhCAAAQgAIG4CVx44YWmubAy/c7ffffd7lhuqZ5//nmrWLGiO5c20PQECVP9xksDSHzKlO69995zx5G0gzqvsOwiEFWA6sOzxx57OCK///67e9oZOHCgO9dk7CpVqgRo6VjCU/H0gQxeoa5hjHXr1rmnJCVQngceeGAgrRzJx2ISsnphEIAABCAAAQgkn0Dr1q0DC7GaNGmSp0BPfGqe7IgRI+yEE05wHmq0VkO/+55JH6xdu9adRtIOXlzes4dAVAHqYVi8eLFb8de7d283xK5wPf0Erw6UjzQJy9BwxdW14K0yNVfTe4rS9Q0bNuitQHvggQfcYqhwEY866ii74YYbwl0iDAIQgAAEIACBQhC44oor8ojJ0Cy0oEijk9oW23NRFaoDPH2gtNGuhebNeWYTKFCAau91zdvQkHnHjh0DNOSHU72anul47733dttiqrteH0rNnZHpWv369b2ohX4//PDDTUP6nqnLX3NCp02bZp07d/aCeYcABCAAAQhAIMkEtm3b5jqn9tprL9PoqMSlrFatWjZr1qxA6dIA3iLhSNohEJmDrCEQ1Q2TXCdowY92GAoWn6Ij9xQTJkxwc0IVT66YDjnkELdVmbbKHD9+vIMocaidIxKxe4Qmgp9zzjmBlxY33XvvvXbmmWc6Vw9Zc9doKAQgAAEIQKCYCUgbaHGyRh898akqHXrooaZFzMuXL3cjoO+8845bvKxrkbSDrmHZRSBqD+hrr73mhsevuuqqABW5onj77bftuOOOcz5Ae/bs6SYa9+jRIzDHs1+/fk64jh071l2TS6ZkmlxBPfPMM8ksgrwhAAEIQAACEPj/BDQ6+tVXX7mXtIJnjz76qFuAdPHFFzsPONIM8uF91llnuSjRtIOXB+/ZQSCqAJWQ1CuclS5d2u68807bvHmzm/upc8/0YZObJs3trFq1qhdc5HdNYtYqO88050ROcLVXr/yLYRCAAAQgAAEIJJ9Ay5YtnaulSCWdfPLJbmqcpuPJT7dn0bSDF4f37CDwP9VYyPZWrlw5YspEik8VMmTIEJPj21Br2rSpBffShl7nHAIQgAAEIACB1BKQe8RILhKjaYfU1pLSiotAkQVoKiuuofxQJ/Raec8HOZV3gbIgAAEIQAACEIBA0QhEXYRUtKwTn1q+xGrXru0WOi1ZssTt0uSttE98aeQIAQhAAAIQgAAEIJAMAr7qARUA7curOZ+eD1LNJ7noootMe9ZjEIAABCAAgVgI6Ddk1apVzn9lLPG9OFp3oPUHy5Yt84Jiet+5c6dbKR5papo2cdGiHjlwD/U6E1MBRIKAzwj4SoC+9dZbbk9ZuX7o1KmTQ/3JJ5+4vee18Kl79+4+w091IQABCECgOAhMnz7dXn311UIXrT3Q47WyZcuaNlQJNfnO1qJe7SCoTpWVK1cGVo2HxuUcAplCwFcCdPLkydarVy+T6yfP5P5p06ZN9uGHHyJAPSi8QwACEIBAVAJ//fWXu669zlNhs2fPtq+//jpsUer59HYIUk/pd999FxCg8rOtnlrtrY5BIJMI+EqAbt++3e0zG3oDtOtC8K5Modc5hwAEIAABCIQSUI+jdvBLhUUbspevTG9ameriiWMdy6G7Rv8efvhhnWIQyBgCvlqE1K5dO3vuueds7ty5gRugrTjlhL5t27aBMA4gAAEIQAACfiGgXQSPP/54V10J4qFDh/ql6tQTAoUm4Kse0N69e7shjFNOOcXq1q3r5susXr3aWrdubZdeemmhIZAQAhCAAAQgUJwE9LumFwaBbCHgKwFaoUIFGzVqlH322Wc2f/58N2TRrFkzt2JQQykYBCAAAQhAAAIQgED6E/DNELy289IcGgnNDh06mCaON2/e3PV+Ij7T/4NGDSEAAQhAAAIQgIBHwBcCdMaMGfbvf//bXnzxRa/e7l3zQTVv5rXXXssTzgkEIAABCEAAAhCAQPoSSHsBKpcUF1xwgbVp08Yuv/zyPCSfeuopd01+QeWGCYMABCAAAQhAAAIQSH8CaS9A5TdNW3AOGTLE7RARjLR8+fJ2ySWXuCH5N998M/gSxxCAAAQgAAEIQAACaUrAFwJU7pei2XHHHWdaDY9BAAIQgAAEIAABCKQ/gbQXoPvtt5/NmTMnKsmlS5day5Yto8bhIgQgAAEIQAACEIBAehBIewGq3k85m//mm2/CElPP53vvvWft27cPe51ACEAAAhCAAAQgAIH0IpD2fkBr165tgwYNcnvAX3TRRXbkkUe6rdO0N652RHrkkUdMvkCPOeaY9CJLbSAAAQhAAAIQgAAEwhJIewGqWmsVfKVKldyWm0888USgIdo/t2vXrjZw4EArXdoXTQnUnQMIQAACECheAjk5Ofbuu++mpBLLly935YwZMyau8tTZonrGm06F6DfyX//6V1zlERkCqSLgG9V2xhlnmF4bNmxwuyBpv9x69eqlihPlQAACEIBABhL49ttvU9qqWbNmxVWexKc6YOJN99dff5k2cEGAxoWbyCkk4BsB6jGpWrWqFbQq3otbXO/z5s1z81L1D+Daa6+ld7a4bgTlQgACEEgjAhKTqZou9ssvvxS4gDeN0FCVLCTgOwGa7vfot99+s0cffdRVU1uEjhgxwq655pp0rzb1yyWwa9cuW7NmjdWoUcPKlCkDEwhAIAsInHfeeSlppTZL0XbSGAQg8H8EEKAJ/iRoYVTZsmVNvZ962l2yZInNnDnT7Vmf4KLILoEENFSlxW56aNC9u/POO0297RgEIJC5BPR9b9y4cUoaWKFChZSUQyEQ8AuBtHfD5BeQXj31z0wCRqZ/bjLtZY+lNwEtblMPqHfvXnrppfSuMLWDAAQgAAEI+JgAAjTBN69hw4bWv39/N4x76KGHpuzpOsHNyPjsNm/ebNdff73Nnj3btVWT/NVj7RlDZR4J3iEAAQhAAAKJJ4AATTxT23fffe22226zc889N9ALmoRiyLIIBCQ2t23bZrt373a5dOvWzb2XL1/eveshAoMABCAAAQhAIDkEmAOaHK7kmiICf//9t02dOtV27txppUqVirlUb6j9iy++cDttKeERRxxhmzZtMs3V+vzzzyPmpXLk2qRy5coR43ABAhCAAAQgAIHIBBCgkdnkufLCCy9YYfzFecO6hZkHevTRR9tpp52Wpx6c5CWwZcsW+/jjj009l/GsXNd9kdCUc+gVK1bkzTTKmdKpzCZNmrCwLAonLkEAAhCAAASiEUCARqMTdG3t2rVWp06dlImOL7/80tavXx9UAw6jEdDcW92fZJt6TqdPn57sYsgfAhCAAAQgkNEEEKBx3F75hzzssMPiSFH4qD/++GPhE2dhyvnz57sdsrKw6TQZAhCAAAQg4DsCLELy3S2jwhCAQCIIyPerXhgEIAABCKSeAD2gMTLX3L8//vjDPv300xhTFC2a3ARVr169aJlkUWqxqlixYtJbrFXzq1atSno5FJBcAprPPWbMGNuxY4edffbZKRvZSG6ryN0PBD744IOUVFMLM701CCkpkEIgECcBBGiMwPRF/v33392K6xiTFCma58S+SJlkUeI99tjDqlSpkvQWy1k95m8C+h4///zzgUa8/PLLznVarVq1AmEcQCBZBOT+DYMABMwQoHwKfE2gXLlyrudz9erVplc8JhdOEvrxin2ttmebznhIF19c7Wgld1mnnnpqoBJbt251XhPU++mZPBsgQD0avCeTQLz/bwpbF3o/C0uOdKkigACNkbT+adSvX9/atWsXY4qiRZs2bVrRMsiS1BKgN9xwg3OpVLZs2ZhbLX+fN910k11wwQXOs8EPP/xgb7zxhm3YsMEGDx6MGImZZHpH1LQZDUUGm7bL1XQNCVA9TEigpmo/8OB6cFz8BCTSJk6cmJKKqOdd9u9//zsl5f3yyy82Z86clJRFIRAoDAEEaIzUJECrVauWMjdMhfE5GmNTiBZCYOXKlTZy5MhA6D333GNDhw41iVssPQjIV2s8/lq9WmsutaZNfPXVV16Qez/hhBNs8eLFbo7cPvvsk++6xKknVPMk5CRjCNSrV889aC5YsCCuNmnh2vbt2+MeBVG6VPV+xtUgIkOgmAggQIsJPMUWLwHNGVXvp8THkiVLTOf6UZFJsGieFgK0eO9RcOlvvvmmLVy4MDgormPN84xk8rkbzlq3bm0XXnhhuEuEZQCB5s2bu9GOeJuijS/eeustt91yPGmnTJli48aNiycJcSGQ0QRiFqBz585186b0g+2ZnujUU6enukMPPTTPTjRr1qyx7777zv3A64ueCfbbb79ZqlYwbty4kVXwSfzQaOj1kEMOcSU0a9bMiU99jkuWLOmG89XbjaUPAc3XbdmypXXr1i0llRo1apSpTAwCECiYgOZQaxrTkUcemSfyvHnzbOnSpdamTRurWbNm4Fo07RCIxEHGE4hJgGqo6pprrrHLL7/cCUpRUW+RepAOOOAA55bm9ddftwcffNCJUW07qXl0xx9/vD3++ON2/vnnp+yHI1l3TDvtqF3xOogXJwkbbRUZjymN5pxiySegLTnvv/9+1zuhxUXHHnts8gulhLgISAzqx0z3KRWmXvDgH8xUlEkZEPAjAU1Xue2229zDe7AAfeihh9wc1P32288ee+wxe+SRR0y/o9G0gx/bT50LT6BAAaohg//+97+255575ilFPvTat29v/fv3d+F9+/Z1WxRqp6Dhw4fbXXfdZa1atbIzzjjD+vTpY126dLF4FonkKSwNTrp37256xWv6EkrU9O7dO66kmrum3jgsNQQ03K7PKpa+BCRCtRVqKkwPgBgEIBCdwKJFi+zGG290+iBYI2hak3xma2GnfsdGjx5tmgYzaNAg5383knaIXhpXM41AgQJUc+OeffZZe/jhh/NMoNZ8LPVweqYu9p9++snatm3rFgscfPDB7pL251YPkxZ6eCtNtZjgvvvu85K6Hqejjz46cM4BBCAAgVACpUuXdnN1Q8OTce7NB05G3uQJAT8RuPfeewOeJNSbefHFFweqr7ny8iaydu1ae//99wPhEqbSAF4nivTBe++9565H0g6p2uY6UEkOip1AgQI0WGQG+xX79ddf8zj+lhNwCUu5mpCLk+AeBD0ZrVu3LiBANbylOaKeBfvj88Iy9V3zYt955x3n7mfIkCEp+0HNVJ60KzsI6Ids3333tZNPPjklDX7llVdSUg6FQCDdCajzyHOeH7rZx4EHHuiqr4VZwSafzME9okonkSqLpB2C03OcHQQKFKCRMJQqVcq0LaFnEpXqLQ0N13VdC54DuU/uQqbgVanyvZgNtmzZMtPiBs/UC3zzzTcHnhK9cN4hAIG8BCRANQdUr1RZ3bp1U1UU5UAgbQlo9DNYTMZS0VAd4OkDpY12LZa8iZM5BAotQDVBX72anul47733tho1aph2GtEqN8+Nja5l64Ka4447LjD3VasBNQ/Wm8cmJ9n6Yvp5bqx3/3mHQDIJ9OzZ0y12jKcMOeKWlw79T9L3MB7TELwWTGAQgED8BLSr2KxZswIJpQHkd1UWSTsEInOQNQQKLUA7dOhgEyZMML3LBcMXX3zhnHdrnpYmGI8fP95OP/10044+cmmTrW5tDjrooMCHqUWLFgHxqR4d7cCC+Azg4QACEQnUrl3b9IrVNMIyffp052he/580/zyeXhwWAcZKmngQyE9AbhlHjBhhy5cvd8JT0868XQQjaYf8uRCS6QQKLUDVo/D555+beiYkpnr06BGY49mvXz+77rrrbOzYse6aXDJh5nbdkLsKeRBQb/FJJ50EFghAIAkEgnc+0v8n9YTiXisJoMkybgKRNj6IO6MCEnjzNguIlpTLmvOpxUrygFO9enVr1KiRnXXWWa6saNohKZUh07QlELMAvf322/M0Qj2dd955p6mnQHM/de6ZPmwSWZrbKRdE2P8IaDhQAh2DAASSR0DfM2/Rg9w36UcQg0BxEmjSpIlpU5bg38pY6qPPsRbuyOd2vJaqz32nTp1Mr2DTgsHOnTu76XiVKlUKXIqmHQKROMgKAv9TjYVsroaRIxniMxIZwiEAgWQSuOqqq9xmGJrictRRRwV2vUpmmeQNgWgE9tprLzvnnHPi7pTxtv685JJLomWflte045xe4SyadggXn7DMI1BkAZp5SGgRBCDgdwKac66dVzAIJJuAnK6/+eabbsRPTtk1IohBAAIFE2CrnYIZEQMCEIAABCCQj4BWdz/wwAMmEbpx40Y3LS3YPWG+BARAAAIBAgjQAAoOIAABCEAAAtEJaC7nKaec4iJpxx/Px7U2apELQnldwCAAgYIJMARfMCNiQAACEIAABBwB+Yf1fMRqUxVvJz/t/qcFb6G7BYENAhAIT4Ae0PBcCIUABCAAAQhEJSCn6rfccovzdSnfl9rdLngb6qiJuQiBLCdAD2iWfwBoPgQgAAEIFJ6ANkjQ4iMMAhCIjwA9oPHxIjYEIAABCEAAAhCAQBEJIECLCJDkEIAABCAAAQhAAALxEUCAxseL2BCAAAQgAAEIQAACRSSAAC0iQJJDAAIQgAAEikJAW1o/+uijNmDAAFu4cGFRsiItBHxDAAHqm1tFRSEAAQhAINMIyHG9FjHNmzfPdu7caSNGjLBVq1ZlWjNpDwTyEUCA5kNCAAQgAAEIQCA1BOS8vnTp/zmkkWP7lStXBgpv2rSpde/ePXDOAQQyhcD/PvWZ0iLaAQEIQAACEPAJgcqVK1vVqlVt7dq1pt2U5Ni+ZcuWgdo3aNDA9MIgkGkEEKCZdkdpDwQgAAEI+IaAHNfffPPN9swzz7ie0H//+99WqVIl39SfikKgsAQQoIUlRzoIQAACEIBAAgiUKlXKLrnkkgTkRBYQ8A8B5oD6515RUwhAAAIQgAAEIJARBBCgGXEbaQQEIAABCEAAAhDwDwEEqH/uFTWFAAQgAAEIQAACGUEAAZoRt5FGQAACEIAABCAAAf8QQID6515RUwhAAAIQgAAEIJARBBCgGXEbaQQEIAABCEAAAhDwDwEEqH/uFTWFQFIJfPXVV3bffffZa6+9ltRyyBwCEIBAphN49NFH7euvv3bNnD17tg0bNizQ5L/++sttOKAAbcV6++232+LFiwPXs+UAP6DZcqdpJwRyCUyaNMl+++23fCw2bdoUCF+2bJn7x9mwYcN88eINkFPtffbZJ95kxIcABCDgawKPPPKIXXbZZdauXTuTAL3//vvtuuuus/Xr19vhhx9u48ePt2bNmjkBetddd1mHDh2scePGvm5zvJVHgMZLjPgQ8CmBOXPm2GeffRZT7f/8809bsGBBTHGjRXr66aftnnvuiRaFaxCAAAQymsBZZ51lesk2bNhg8+bNC7S3bNmytnPnzsB5Nh0wBJ9Nd5u2ZjUBPV3Xrl07pQyOPvrolJZHYRCAAATCEVizZo0NHTrUTjnlFLvhhhvsu+++C0TTMPiTTz5p3bp1M43aPPjgg3lEoYbTNXr03HPPWdeuXa1Hjx42ZcqUQHodTJ482S688EI7/fTTXdzgi9OnT7f+/fvb1q1bbdCgQe6Stl/94IMPbNeuXXbRRRfZ3LlzXXgi6hJcdjof0wOazneHukEggQQqVKjg/kHqPdT0T0//nHfs2GHlypWzK664wvbcc8/QaHGfV6xYMe40JIAABCCQSAISfieeeKJt27bN+vXrZwsXLrQjjzzSfv75ZzfsfcEFF9i4cePs4osvtkqVKrn/he+//74TiCVKlHCCUkPompYkgTlt2jTr3LmzzZo1yw444ACbOHGiE6bq5Wzbtq0pv7Vr1waaoPJefPFFu/fee61Vq1Y2ZswYO+igg6xu3br2999/28iRI52obdGihUtblLoECvXBAQLUBzeJKkIgUQQkPqtWrRo2Oy1AwiAAAQhkGoFnn33WzXGXENSQt0wLgdSL2bp1a3vhhRecAFXvp0xiVXM3JQTV4ynTw/THH39sJUuWdHM7NZo0depUJ0DVu3njjTfa4MGDXdwzzjjDze90J0F/9HCv3lPFPfPMM10c1cOzb775psh18fLywztD8H64S9QRAhCAAAQgAIFCEZgxY4Zb5OOJT2Xy2GOPuaFvXZMwPPbYYwN5qxdTvZMShJ4pTOJTpve99trLtmzZ4obVNV/+n//8pxfV9apqgVG8VtS6xFteccdHgBb3HaB8CEAAAhCAAASSRkCePyJNB9KiII0KBV/XsLt6ODU1ybPg6worVaqUu7R582Y3jK65nMFWpkyZ4NOYjotal5gKSaNICNA0uhlUBQIQgAAEIACBxBJo0qRJnpXnyl0LjeT+qGnTpm54fubMmYFCV69e7eZ3HnLIIYGwSAfqKdVLi5A8++OPP1x67zz4XeJWlpOTExzsjotal3wZpnkAAjTNbxDVgwAEIAABCECg8AS0Ol0u6B566CE3ZC6xeeedd7oFQ5rv2ahRIzd/U0PpK1assOuvv971gMbqxeP888+3V155xc0RlZ/PW2+9NazAVAuqV6/uGqJV+Bs3bszTqETUJU+GaX6CAE3zG0T1IAABCEAAAhAoPAH1ZGqhkXo8a9So4VwtXXnllXbCCSfYHnvsYe+8846tXLnStApdvZA//fSTW2BUr169mAq9++677V//+pd16dLFlEYitk2bNmHTVqlSxZV79tln2x133JEnTiLqkifDND8pkdsNnL8fOMWV1ryHZJtcJ8jnll9M80o00Tl03olf6p+qesqFhXbx0eru4AnmqSrfT+XIufz27dsjroL3U1uSXVe+f7ER5vsXGyfF8uP3r1evXqYdfRLhki12UsmLKbkjoakFRN5QeHBp69atc+HVqlULDo75WG7stDCpZs2aBabR/xj9bnlzSUMTFLUuofml4zlumNLxrlAnCEAAAhCAAAQSSkCis0GDBhHz9IbHI0Yo4EL58uVNr1iscuXKUaMVtS5RM0+TiwzBp8mNoBoQgAAEIAABCEAgWwggQLPlTtNOCEAAAhCAAAQgkCYEkiZAte+q9k6dN29emjSVakAAAhCAAAQgkEgC/NYnkmZ25ZUUASpv/r1797b58+fbddddZ2PHjs0uqrQWAgkgoC3aQp0bh2YrR8ma+I4VHwHdIy0wiWa6XlCcaOlTdU2fpeB66ryo61SjtV15a2Ec5k8C/Nb7876lS62Tsghp+PDhzt1Bq1atTHui9unTx7knYJVyutx26pEuBOTweNu2bfmq8+6779rixYvdThwXXHCByXVHqOmH/eWXX3ZeALSV3MUXXxxxRaXS7ty5061mjbQXfGj+2Xyu1d3Lli0rcEHB1q1bnf8/vWvnFO3z7G3X5/GTSxftIa0His6dO1vLli29S4F3pWncuHHgvCgH8gohR9jxmvwSfvnll+6hR3tif/XVVy4ficRLL73UbVcYmqc4SUDqf3u4nV8WLVpkEydOdG3v0KGD/eMf/whkIeH+6quv2tq1a13YZZddFjaPQIL/f6DvQq1atUKDOS8GAvzWFwP0DCoy4W6Y9E9F/2SnTJkScHNw5pln2tChQwP/YH///Xd78cUXAxjlLyuWHQcCCQpxgBumQkDzQRI/u4GRw+IRI0YEfoBTgfuwww4z+Z/DohOQ+JK4T5XJFYv8EmrHlqLas88+a8G7uhQ1v4LS6+EnuNe0oPhFvS4XOmIlFzZ+MjHymxs0uWE65phjAr/l9evXt+OPP95hj+W33k/3R3WVi6YhQ4bYfffd5/yD+q3+fqtvwntAJS7luzLYx5Z8iMmnlfeEL7+fb7/9doCVemSSLUADhXEAgTQhoO9K6E4Yya6aeqSwggksXLiw4EgJjKGpFLo3RRWgEgWpvsepFJ9Crt5d/Yb4TYAm8OOS0qyeeeYZx1uFHn744QEBGstvfUormoDCfvnlF+cvXJ+xhg0bJiBHsohGIOECVE/y+mcabPqnGOwbq1mzZvbpp58GoqTCEX2gMA4gkCYEmjdvbqeeeqqtWrUqT400VKvhUD3EafhT/wjV6xNqeqjTIj8N36onWA9xwd+z0Pj6XrZr1y40mPMwBLSjiZiWLh39X+Rvv/3mBJ93Dw499NB8aXQvdU91P9VbGO5hW8PXxx13XJiaxBek+mrKxvTp0+NKqM+Zen1lqqd2ZNHUEK9d+++/f1hn5Eqn4XeJUMUNtdmzZzvH3N619u3bB6JoqsCcOXMCZRx00EFWqVKlwPVIB/vuu6+pJw5LDYEJEyaEvfex/NanpoaU4lcC0f+7FqJV2uZK86H0D0n/bGX6oeQfRiFgkiTjCXTq1ClsG3v27Gnffvut2zc43JxBL9Hy5cvdXEWJ2YJ23/CGAL20vEcmICHXvXv3mHYiU6+JhOgBBxwQ9of6rLPOsm+++cYV1rZt2zyjQ5FrUPgrEmh6xWv6zH399dduHqbmaqpjQAJx7733jtgbFMsUGH2O1QkhcR6664t6mrRYVaNj/EbEe8eKN74ff+vnzp2b74E/mKI+7zLNhY42CqLtOukhDSZXuOOEC1D949ZT7vjx403zLqdNm2ba1qqwW1sVrlmkgoC/Cejh7cgjjyywERIHemHFRyAWwSfxle6mXkrNEfZMU6Ni+Qx68SO9S3RHMi0mYkFRJDrpHe7H3/oLL7zQ5DaqIBs8eHDUKPpMp3KOeNTK+PhiwgWoWPTr1y/gfkn/1Aq6mT7mR9UhAAEIQAACWUnAb7/18gQizzzyVhHJ5Hos2lQmrfxP9dz9SHX1e3hSBGijRo1szJgxbggHly9+/4hQfwhAAAIQgEB+An78rdce7HXr1s3fmBhDJE4LEqArVqywjz76yPW2nnTSSaYpUokyzbvWwrCLLrrIzfVWfVq3bu2yl5cFzd/WfO7g8ESVPXr0aNeWcPPYC1NG/lnjhcklQhrEZwQwBEMAAhCAAAQyhEAm/NZrLrf83ap3VOKuIJEZ6dZJpGnKjaYfav1Lt27d3KhwpPjxhmvedd++fd0CVS029Fyu9e/f37RgTBYcHm/+keJrTuxVV11l8tebKEuqAE1UJckHAhCAAAQgAAEIJIOAhOLVV1/t/IDK+4MWFWpjjy1btsRVnDxeXHLJJa73U72Ud955p3322Wf21ltvOUHqZSavGFoQpSkBnqksLRTdvHmzafMKLdwLNl3Tgj0JUM+0yY+mFKjnU2nkWULxvHAvnt4XLFjgrnthBZXnxfPe//vf/zoh/euvv9oPP/zgBRfpPSlD8EWqUZISywWNHOT7xfThkzuU0FWjfql/quqp4QjdW8019ly9pKpsv5Wjf1x6afEAFp0A37/ofLyrfP88EgW/+/H7Jy8bmfR/VcJPnh4k2IJNXirkvSfYFGfQoEH5hs8lAiPZpEmTnCBs0aJFIEr16tWduzz5Q5cNHDjQ+UHX4js5vn/vvffswAMPtFtuucXtfqeV+OpRlkBUT6Z2/pLfdC2gkqeNYGGq9TXyRiDXluoJ1QIrTYvQTnoKv/HGG92CcL2rvO+//95tCqSe3mjlBSr//w/0G/v888+7Xc0kmp988kl74oknQqPFfZ4Wv0Sp6L7/8MMP44ZDAghAAAIQgAAEMoOAxJM2apAT/WDTcLvEaajJz7Lmcwab4kbyVyuXY0cddVRwdHfsiU8Jyddff931VmojBS1o0m546i2VaZhbAledT/LZPHnyZOcrWjtSTZ061Q3tjxo1yrmJcgn+/5/TTjvNFC4fwNq5SgJUJlGttCq3U67LP20vrOkB6iGVhStPeYWahLXmzUoon3feeW5L3WHDhpnm0xbF0kKAFqUBpIUABCAAAQhAAAIFEdAujRJY6k0MNm2Mo+03Q+3+++93vYvB4bfddpsbog8O847VyxjNzZP8i2qTC28XLw2fS9Q9/vjjLgstWJL4lMm9m4bjf/75Z7ewyHNndvLJJwfiuIhR/iitFiN17NjRxZLvUvWWaqt0WbjyNJQ/cuRId129tzfffLM999xzzif1gw8+6MKV50svveTmzLqAQv5hDmghwZEMAhCAAAQgAAH/E+jQoYMTY2qJevUkVK+55pp84rOglmoDB29HseC46jXUEHaDBg3y9LTK5ZPmbHpT7ST4PNPUB2+nMfXcenM/FTfWaRHa3EHD515a5a05rt4wfqTytKmJXvLfLkGtxU3HHnusy0d5SQRrGL6oRg9oUQmSHgIQgAAEIAABXxPQ4iEJq7Vr17qtjwvaWS5cY7WbmIbVhw4dagMGDHBC8bXXXjMNYWuoXeJPQ9faAUy9pS+88IIbao8mKOXCST2OEoGq3xtvvJFvu3PVRXFC57ZKgGo+6jvvvGNdu3a1H3/80b0klCNNS9QuT5oz6pnao2H966+/3gty81Pr1atnX3zxhR1xxBGB8HgPEKDxEiM+BCAAAQhAAAIZR0A9lHoV1tR7Om7cOLvyyiud4FQ+rVq1sldeecUtLNJ6F83TlMiTgNPcUK2Qj2Yakh87dqydeeaZTgRqGN0bwg9Od/TRR7sh8VARqpX4Z599tlt0tH79env11Vfj2vZWw+/BglRlag6spg9oIVJRBGiJ3C7enOBGcAwBCEAAAhCAAAQyjYAW9pQtWzbi9q8amlYPaO3atSPOs9SipMaNG5t6NqOZ8lKPp1axh5oWPOlavAuw5S4qeNg8NF8N6at94XpUvV7X0DTFeU4PaHHSp2wIQAACEIAABFJCQIuP5A8zkml1vFahq9dS80DDmRYHHX744eEu5QmTu7tw4lORJBL1itcer1iSAABAAElEQVSiiU/lpWH4SKYh/3SztOgB3bBhQ9K5aH6Hup/9Ypo4rK73cE8yfmlDKuqpDnxNioZVwbTFSby8Ce8Fp8jeGHz/Yrv3fP9i46RYfvz+aTh34sSJYYd8Y2+5f2Jq9yLtgvTBBx+Yhrqx5BLImh5QdavrQ+UXk/sFic9IT2F+aUey66l/6tr9QXNiCvNEmez6pVP+Wm2pH5R4h33SqQ2pqgvfv9hI8/2LjZNi+fH7Jx+Swbv1xN5aYkKgYAK4YSqYETEgAAEIQAACEMhwAloUpKFzOn5Sc6Ozpgc0NTgpBQIQgAAEIAABPxLQ3E/tZrTHHnv4sfq+qzM9oL67ZVQYAhCAAAQgAIFkEEB8JoNq+DwRoOG5EAoBCEAAAhCAAAQgkCQCCNAkgU1GtvIrpn1a5YcMgwAEIAABCEAgcQR+/fVXGzhwoMmfJpZ8AgjQ5DNOSAlabXr11VfbqFGj7N5773XzVBKSMZlAAAIQgAAEIOB8gI4fP97kDxRLPgEEaPIZJ6SETz75xLll8rbZ0n6w4UyuPrTLAgYBCEAAAhCAAATSlQCr4NP1zoTUy9teSz2hsq1bt4bE+L/Txx9/3Pl57N27d9jrBEIAAhCAAASykcDixYtt9erVEZv+888/u2vff/991KluTZo0sbp160bMhwuxEUCAxsap2GNp6y850pdDfdlVV11V7HWiAhCAAAQgAAG/EDj33HNNe6IXZNdff33UKIceeqi99NJLUeNwsWACCNCCGaVFDO2KdNttt5kmSVeqVMm90qJiVAICEIAABCDgAwKannb00Udbx44dI9Z2y5YtUX9fx44d63a1ipgBF2ImgACNGVV6RKTbPz3uA7WAAAQgAAH/EVAHTlF+R+UnVGstopk81Xz00Ue2Zs0aO+mkk6x58+bRosd1LScnx5555hm3Z/306dOtfPny1rp1a5eH1oiofl999VWe8LgKCImsra5Hjx4dCK1Vq5b94x//sIYNGwbCCnuAAC0suSSn0zwVvcqVKxdXSdrDWu6a9AGM1zSvpXbt2vEmIz4EIAABCEDA1wSWLVtmDz74oK1bt86toxgyZEihtuSUWJPHmpNPPtkJ3W7dulmnTp1M6zMSYVoH0rdvX+vTp49JgGr7UAnQ/v37u97d//znP3nCi1qmpiz069fPCV6JX4nqCy+80F599VXr3LlzkbJHgBYJX/ISv/POO7ZkyZJCF/Dyyy/HnVZPNeeff37c6UgAAQhAAAIQ8CuBjRs32uWXXx6ovnr9JPDU06ge01jtu+++s0suucR1ALVo0cIlkxjdf//9rUePHk4gKlBTARYtWmT77ruvlSlTxsXT0L+OdW358uXWrFkzty+9u5j7R72uS5cutcaNG3tBro4lSpQw9XzKR7iEqOKp7goPtgULFlidOnWsSpUqLrig8oLTli5d2p544olA0GOPPWaPPvooAjRAJMMO9JSjD0vbtm1T0rIvv/zS9HSDQQACEIAABDKRgMTd/Pnz8zVNv3/qSQz+DSxVqpTrtTzggAPyxF+5cmXEkclJkybZGWecYZ74VMLq1avbvHnzXP46l6P7t99+2zSUrbzee+89O/DAA+2WW24xrdKfM2eO64GVQFQPpwSj4qvXUXXRCKdngwcPtho1ajixOnPmTNc72ahRI3v33Xdd+I033mjya6p3lafV/UOHDrVLL700anle/pHexVACuahGD2hRCSYxvZ5g9OSRCgt9WkpFmZQBAQhAAAIQSBWBnTt3ul7EUFdM27ZtCzvcLoGoIedgUw+j14sYHK7jb7/91o466qjQ4ID4lJB8/fXXXW9lhQoVbPjw4TZixAjX06pECxcudAJZv8ft2rWzyZMn26mnnmq9evWyqVOnmlbfazMaCeZgO+2001z4BRdcYMccc4wToLoud41Kq3I1DUDTDJSHekhl4cpTXqEm4a4pehLo69evt8qVK9uPP/4YGi3u89Som7irRQIIQAACEIAABCCQOAIVK1a0I4880rp06ZInUy0YkhgM7gFVBPUWavg82CQAIy1CUi9jqGANTivhqLIlPmXqLVXvpzc/VAuWvM4gDc9rTYd8k2phkTcaqrmlXpzgvMMdK60WKXmr/rVwSD2XU6ZMcdHDlaeh/JEjR7rr6r3t2bOnmxogRjIJ0BdffNEJXfWoFsUQoEWhl8S0GoLXjS7MYqLCVEsfdAwCEIAABCCQbQTUazhjxgz7+OOP3ZxPDXNrPUSo+CyIi9ZRBK8Y9+Kfd9559s9//tMaNGhgs2bN8oLdnvMSsxrul0nweSbXixLE2oRGPbfSBIqnl67FYvXr17fdu3cH0iqNenu9YfxI5dWsWdNlr2kJMgleDe3L9N6yZUsnorVOZZ999nHhhfmDAC0MtRSl0Qfzt99+S1FpFAMBCEAAAhDITgIDBgxww93a7GXvvfe2evXqxQ1CvYXqSVXPqfKTUHzttddMc0M11C7xN2zYMOcMX72lL7zwghtqjyYo5cJJvZgTJkxwK+u1DbdEZagpjrdVt3dNAlTzUbWouWvXrm7YXEPnEsoffvihFy3Pe9OmTd2cUS/wl19+8Q7du8Tw888/76YhKP+iGAK0KPRICwEIQAACEIBARhDQsLdehTXNjRw3bpxdeeWVTnAqn1atWtkrr7ziFhZVrVrVNE9TIk8CVz2Mb731VtTi1Pso5/dnnnmmaYcmDaN7Q/jBCeVgX4uLQkXonXfeaWeffbZbdKRRVblPilc4BvfSqmz1gKpO6p0tipXI7eIt9qXPGzZsKEobYkp7+umnu60sY4qcBpH0lKQPkj68qTC5j9AkY7/tIa9hCbnM0JeiqF+GVHAuzjL0T0SfKf0TxKIT0JQU9UpozhgWmQDfv8hsQq/48funBSyPPPJIYBFNaJv8dq6FPVrY6w0xh9ZfvXu///67E4eReiVXrVrlXCFpMVE00zC3ejzDLVjSoh5di/d/sXyUBg+bh5a/Y8cO9zsYru7y56le13QyekDT6W4E1UVPPfqixOODLCh53IfeHJS4E5IAAhCAAAQg4AMC6gkM54bJq7qG3+WfUxuyaOFPONPwvBYyFWT6/Q4nPpVOnSWF6TCJJj6Vr4bhI1m6iU/VEwEa6W4RDgEIQAACEIBAxhC46qqrorZl2rRpbsef2267LSFbTUYtjIsI0HT+DGh3hh9++CElVZTTWwwCEIAABCAAAQikggA9oKmgXIgyNB9T8/VCJxQXlJXm02r+R6Su/0jpNRdFZRa3aV6M5rEUNNRQ3PWkfAhAAAIQyCwCmvKm389Iw++Z1dribw0CtPjvQdgaHH/88XbCCSfEvQjioYcechOb/baYSBC0V632l9XChv3228+tJAwLh0AIQAACEIBAggm0adPG+d72/F8mOHuyCyGAAA0BwmnRCchvWLSJ3uFK0IpBbTvmmbYI024Me+21l3PIr1WDmhgeugOExKpcXxx22GFeUt4hAAEIQAAChSKA+CwUtkIlQoAWCps/E33++eduD1n5H9NqwGSYhtDlcLeo3r2UXvNfY50DW61aNTvooIOS0STyhAAEIAABCEAgwQQQoAkGmq7ZaUtPb4uwpUuXOncN3bt3T0p1iyo+C1Op4iizMPUkDQQgAAEIQAACuGHKuM9A+/btw/oCmzlzZp62yvF8MgSoHMJfdtllNm/evDzlxXqinRo03C5HwRKVn376aZ5txw488ECrW7duIDvF0cRxbTeGQQACEIAABCDgDwL0gPrjPsVcyyOOOCJs3IMPPtjmzJkTuCZnuskyicFECUIJTi1MktPeRo0aWd++ffNU29uJJU8gJxCAAAQgAAEIpDUBBGha357EVU7CVC6dvvjiC5Oo69q1a+IyT2JOzZs3tyFDhrhty7QICYMABCAAAQhAwP8EEKD+v4cxt+DYY481vfxmGmJP1ZakfmNDfSEAAQhAAAJ+JFDSj5WmzhCAAAQgAAEIQAAC/iWAAPXvvaPmEIAABCAAAQhAwJcEEKC+vG1UGgIQgAAEIAABCPiXAALUv/eOmkMAAhCAAAQgAAFfEkCA+vK2UWkIQAACEIAABCDgXwIIUP/eO2oOAQhAAAIQgAAEfEkAAerL20alIQABCEAAAhCAgH8JIED9e++oOQQgAAEIQAACEPAlAQSoL28blYYABCAAAQhAAAL+JYAA9e+9o+YQgAAEIAABCEDAlwQQoL68bVQaAhCAAAQgAAEI+JcAAtS/946aQwACEIAABCAAAV8SQID68rZRaQhAAAIQgAAEIOBfAghQ/947ag4BCEAAAhCAAAR8SQAB6svbRqUhAAEIQAACEICAfwkgQP1776g5BCAAAQhAAAIQ8CUBBKgvbxuVhgAEIAABCEAAAv4lgAD1772j5hCAAAQgAAEIQMCXBOIWoGvWrLFJkybZvHnzYmrwRx99ZJs3b44pLpEgAAEIQAACEPAPATSBf+5VutU0LgE6Y8YM6927t82fP9+uu+46Gzt2bNT2TJs2zQYPHmzr1q2LGo+LEIAABCAAAQj4iwCawF/3K91qWzqeCg0fPtzuuusua9WqlZ1xxhnWp08f69Kli5UtWzZfNnoqeu6556xq1ar5rhEAAQhAAAIQgIC/CaAJ/H3/irv2MfeA7tq1y1asWGEHH3ywq3OdOnWsQoUKtnLlynxtyMnJsaFDh9rll19u5cuXz3d969atNn369MDrt99+yxeHAAhAAAIQgAAEipfAt99+a59++ql7zZ49O1CZRGqCQKYcZBWBmHtAf//9d6tYsaKVKFEiAGjPPfd0w+uNGzcOhOngjTfesL333tvatm2bJ9w7Wbp0qfXq1cs7dUL13HPPDZxzAAEIQAACEIBA8RMYNGiQbdy40VXk8MMPt1GjRrnjRGqC4m8lNSgOAjEL0FKlStnu3bvz1FFPQKE9nIsXL7YJEybYE088kSdu8Mm+++5r7777biAo3BB+4CIHEIAABCAAAQgUCwEJTnU+yYJ/7xOpCYqlYRRa7ARiFqA1atQwDZ3/+eefVq5cOVdxLS6qX79+nkZMnTrV1MN5yimnuPDt27e7uaJ33323tWvXzoUp/X777RdIt2HDhsAxBxCAAAQgAAEIpAeBvfbayzTaGWqJ1ASheXOeHQRingNaunRpa9++vY0fP96R0Qr3atWquZcClixZYjt27HBiUyJ08uTJ7lW3bl0bOXJkQHxmB1ZaCQEIQAACEMhcAmiCzL23qWpZzAJUFerXr5+b33nWWWfZ008/bZob4tmll14as29QLw3vEIAABCAAAQj4kwCawJ/3LV1qHfMQvCrcqFEjGzNmjGnIPNS9kuZ9hrPXX389XDBhEIAABCAAAQj4mACawMc3Lw2qHlcPqFffUPHphfMOAQhAAAIQgEB2EUATZNf9TlRrCyVAE1U4+UAAAhCAAAQgAAEIZB8BBGj23XNaDAEIQAACEIAABIqVQFxzQIu1prmFy6XTkCFD7LvvvnMr7oPrc/TRR9utt94aHMQxBCAAAQhAAAIQgEAaEvCVAH3ssceca6fzzz/fatasmWdXpgYNGqQhXqoEAQhAAAIQgAAEIBBKwFcCdObMmXbttdfaaaedFtoOziEAAQhAAAIQgAAEfELAV3NA5fJh9erVPkFLNSEAAQhAAAIQgAAEwhHwVQ9onz597LLLLjMNtzdr1syC95CvVKmS1atXL1wbCYMABCAAAQhAAAIQSCMCvhKgmgO6YMECu+666/IhPPHEE+3hhx/OF04ABCAAAQhAAAIQgEB6EfCVAL3jjjvs5ptvDkuwTJkyYcMJhAAEIAABCEAAAhBILwK+EqAVKlQwvdatW2cLFy60ihUr2n777ZdnKD698FIbCEAAAhCAAAQgAIFQAr4SoKr8/fffbyNHjrTdu3e7tpQuXdouuugiGzBgQGjbOIcABCAAAQhAAAIQSEMCvhKgb731lo0ePdo5nO/UqZPD+cknn9jw4cNNK+S7d++ehoipEgQgAAEIQAACEIBAMAFfCdDJkydbr169rGfPnoE29OjRwzZt2mQffvghAjRAhQMIQAACEIAABCCQvgR85QdUW3FqB6RQq1WrlpsXGhrOOQQgAAEIQAACEIBA+hHwlQBt166dPffcczZ37twASblleuaZZ6xt27aBMA4gAAEIQAACEIAABNKXgK+G4Hv37m1ff/21nXLKKVa3bl23F7x2RmrdurVdeuml6UuZmkEAAhCAAAQgAAEIBAj4SoDKBdOoUaPss88+s/nz57uV8NoRqWPHjk6MBlrFAQQgAAEIQAACEIBA2hJIewG6YcMG+/33393Wm+rt3Lx5s9WpU8e9PKoahq9cuTJbcXpAeIcABCAAAQhAAAJpTCDtBeh7771nt912m82bN88eeOABGzduXFicbMUZFguBEIAABCAAAQhAIO0IpL0APf30092cz5IlS9qdd95pgwcPDgtRDukxCEAAAhCAAAQgAIH0J5D2q+DLli1rVapUcSTV+7l06VJ3rjDv9cMPP9hjjz2W/rSpIQQgAAEIQAACEICApX234Z9//mnjx493t+rNN9+0n3/+OY8bppycHJswYYKVL1+e2wkBCEAAAhCAAAQg4AMCaS9Ay5UrZz/++KN9+eWX9scff9iqVavcsce2VKlSVqNGDbvsssu8IN4hAAEIQAACEIAABNKYQNoLULG7/fbbHcInnnjC2rRpY+3bt09jpFQNAhCAAAQgAAEIQCAagbSfAxpcefWGLly4MDiIYwhAAAIQgAAEIAABnxHwlQCVA/olS5b4DDHVhQAEIAABCEAAAhAIJuCLIXivwtpuU26YXnvtNdt///2tYsWK3iV3XLt27cA5BxCAAAQgAAEIQAAC6UnAVwJ0zJgxbgj+pptuykcTR/T5kBAAAQhAAAIQgAAE0pKArwSodkQaNGiQaXvOxYsXm/aGb9KkiZUpU8bkLxSDAAQgAAEIZAqBWbNmmXYD3Lp1qxv943cuU+4s7RABXwnQSpUq2ZNPPmkjR4603bt3uzuoHZAuuugiGzBgAHcUAhCAAAQgkBEEVqxYYc8884xrS4kSJWzEiBE2cODAjGgbjYCACPhKgL711ls2evRou/XWW61Tp07uDn7yySc2fPhwa9SokXXv3t2F8QcCEIAABCDgZwLy+KLRvZ07d5o2XFm2bJmfm0PdIZCPgK8E6OTJk61Xr17Ws2fPQEN69OhhmzZtsg8//BABGqDCAQQgAAEIxEvgxRdftO+//9527dplw4YNsz322CPeLBIWv1mzZk58ehlqyhkGgUwi4Cs3TNu3b7eaNWvm41+rVi1bt25dvnACIAABCEAAArEQ0JbPX3/9tROfGvLWVK/itPr169v1119v1apVc9W4++67i7M6lA2BhBPwlQBt166dPffcc3n2gl+wYIGbJ9O2bduEwyFDCEAAAhDIDgKbN28ONFRD3vptCWc//PCDPfbYY+EuJTysQYMG9s9//tMkiLXeAYNAJhHw1Se6d+/e7gn1lFNOsbp167ov5erVq61169YmH6EYBApL4Ndff7WPPvrIypcvb926dStsNqSDAAR8SqBDhw721VdfWalSpdwi165du4Ztyfr1623evHlhrxEIAQjETsBXAlRzYEaNGmXaEWn+/Pnun4TmyXTs2NGJ0dibTUwI/I/Ali1bLHh4S9M5Lrzwwv9F4AgCEMh4Ag0bNrS77rrLpk+fbnXq1LFWrVplfJtpIASKk4CvBKhAaSji8MMPN+16pCGJxo0bIz6L8xPk07K1snTGjBnWtGlTk689b7WpmjN79myftopqQwACRSGw55572vHHH1+ULEgLAQjESMBXc0DVJvkB1ZPpySefbCeccIIdcsghppWLGATiIaAFbfrcyLWJejskSD3zfMx657xDAAIQgAAEIJBYAr7qAdVWnC+99JLbEeKoo45yokHD8Y8++qjbC/4///lPYumQW1YQaNmypZ155pmmz5d21rr44ouzot00EgIQgAAEIFBcBHwlQOXr84orrnBiwQO2zz77uLmgEyZMMASoR4X3eAnogUYvDAIQgAAEIACB5BPw1RB8xYoVbePGjWGplCzpq6aEbQOBEIAABCAAAQhAIBsI+KoHVG6Y+vXrZ3/99Zdb+S6XOZ9++qnzA3rNNdcE/LbJWb3nvDcbbiJthAAEIAABCEAAAn4i4CsB+vzzz5v8NY4YMcK9gkEPGjQocDpw4EDm8QVoZP7BihUr3F7JWskeq23bts1FXblypfP9GWs6xVNvu1bP0+seDzXiQiC7Cfz999/2+++/mxZAxmPaalqO8eXzOl7TqGGVKlXiTUZ8CKSEgK8E6B133GE333xzgWCKc//eAitHhIQS2Lp1qz311FOFznPixImFStu3b1878MADC5WWRBCAQPYR+Oabb+z1118vdMPvueeeuNOWK1fO7r///rjTkQACqSDgKwEqR/R6yVH4woUL3cr3/fbbz8qWLZsKVpSRhgQ8l0n777+/1atXL+k1/PPPP91GCLt27Up6WRQAAQgkj4C+y9rQRL2L8diqVatcGvkPjseWLl3qoh955JHxJCt0XNVzyZIlhU5PQggkm4CvBKhg6Glu5MiRbuW7zuWM/qKLLrIBAwboFMtSAnrSr1SpUtJbz37MSUdMARBICYGvv/7aXnvttUKX9cwzz8SdVmJXaxRSYZEW7KaibMqAQCwEfCVA33rrLRs9erTdeuut1qlTJ9e+Tz75xIYPH26NGjWy7t27x9Jm4kAAAhCAQJYT0OiJdtbr379/SkiMGzfOfvnll5SURSEQ8AMBXwnQyZMnW69evaxnz54Btj169DBN0paPUARoAAsHEIAABCAQAwFtv5kKi2eRZCrqQxkQKG4CvhKgWj0YbviiVq1abl5occOk/OIjoM9GKoac5AIMgwAEIAABCECgaAR8JUDbtWtnzz33nLVp08ZatGjhWr5gwQLnB/TYY48tGglS+5rA3LlzTS8MAhCAAAQgAIH0J+ArASpH9Jo4fsopp1jdunXd/B35RmvdurVdeuml6U87pIbyC6ceNTnUxyAAAQhAAAIQgEC2EPCVAJULplGjRjk3OHKfoUnkzZo1c7siaTK5n2zHjh02dOhQW7t2rVvJP2zYMGOOUOHvYNWqVZ2LrsLnEFtKfeZ+++232CITCwIQgAAEIACBsAR8JUA1/C53O2effbZ16NAhbIP8EqiV/N5uPOoJ1QrJ0047zS/VT7t6Nm7c2Bo2bJj0eunBYdKkSUkvhwIgAAEIQAACmUygZLyNW7NmjfsBnjdvXtSk69evtylTphRq+7BIGX/22We+c6z70ksvOXEZ2qbglZcSoJ6T4tB4nEMAAhCAAATSlUBxaoJ0ZUK9YiMQlwCdMWOGaR6mhr+vu+46Gzt2bNhS1Jt35ZVX2uLFi+322293fjrDRowzUPM8JULlPPjHH390+asMvbTHbjraH3/8EXaFfteuXV111aMrO/fcc907fyAAAQhAAAJ+IFDcmsAPjKhjZAJxDcHL4ftdd91lrVq1sjPOOMP69OljXbp0ybMVpubIvfjii3bfffeZhkU1XK645513nlWrVi1yTWK4MmbMGLcF50033ZQv9oknnmgPP/xwvvB0DdDWkYMGDXI9utpOVK6kMAhAAAIQyGwC2jwlFabpQvFuMxpvvYpbE8RbX+KnF4GYBaj2vl6xYoUdfPDBrgV16tRxiz5WrlzphKbXrFKlStnzzz/v9mlXmL4EW7ZsCWydqbBFixbZNddco0NnmvsoIVuQ3XbbbU60hYvnx/3g69evb3phRSegXvBULA7SAxYGAQhkBgEJtAceeCAljfHm/G/YsCEl5SWqEO0UJT/LsoMOOsi8DqBEaoJE1ZV8/EUgZgGqIe6KFSs610deEzWPcd26dXkEqK4pnkxzG0eMGGEnnHBCHgfycjvUvHlzF0d/qlevHjgOd6AynnzySTf0ry03+/bti3ALByoLw+QZQT5h//zzTytZMvYZJfrnuWzZMqtdu3bce8jrc8+DQxZ+2GhyRhLYvHlzRrYrUY1SZ5O3AUfwRjCJ1ASJqiv5+ItAzAJUPZuhvT/6EY/kw1KC4I477nBDAN4Tk4dGP95yQeRZtCdClXnmmWea/knIAf348ePd4iZty+kJXS8f3rOPQOnSpd00DwnReHrBtX2rPpcnn3yy8yObfeRoMQQgIALx/N8oCrGdO3e638OTTjqpKNnEnFajQj///HPM8SNF1FSx4EWzXrxEagIvT96zi0DMArRGjRq2detW19PkLZxRz2S4niANNVx//fW211572cCBA00f1MLaN9984xYYTZw40erVq+eE6GGHHWY6T+Xe75psrV2X4jWtEJTY0cKpeExPnAceeCDiKB5oxIUABCAQBwH5j77xxhvjSFH4qK+++qrbrS1V/p71u5tM/9jFpQkKfwdImW4EYhag6mlq376964E8/fTTbdq0aW5RkbewaMmSJW53IvWIyselhtgvv/zyIrd31apVzr+jxKescuXKdsghh9jy5cuLnHc8GXz88cem+a4qPx7TPxvNM4r3SVS9wpp3o12eMAhAAAIQgEA6ESguTZBODKhL0QjELEBVTL9+/QLulzTfbvDgwYHS5SJJw+oazvjqq6/cK7jX79FHHw0sYAokiuFAIix0mL9BgwauJzSG5AmN0rRpU5P4ToWNHDkyFcVQRhQCevjRPNGWLVuGHYKKkpRLPiCgOep60KtSpYrbjcwHVaaKEEgrAsWhCdIKAJUpEoG4BKgWAMkVkv5pa+vDYJswYULg9NNPPw0ccwABPxLQ/KkHH3zQPfzIk4OmlOjBB8sMApq/Lh/FmlakuXlyLxdunltmtJZWQCA5BNAEyeGaLbnGJUA9KKHi0wtP1rvmUWpHIc9++eUX19MaHKYvgt+35/Tax3vyCagHXyvgvfnMoSU+9dRTLkjiU6bFb3raxzKDwH//+1/buHFjwE+itvm9+uqrM6NxtAICKSaQak2Q4uZRXJIIFEqAJqkuYbPV8LsWNT3yyCP5rgeHHXvssQjQfIQIiESgUqVKdsstt0S6bE2aNHG7bWn+ribye25IIibgQloS0FQWDbFrM4xg01ShYCfdbIUbTIdjCEAAAsknkPYCVCvdU7naPRJy/Vhp6sHs2bMjRUlouER3Qf5RE1ogmeUhcM4557hhd/WUarVnIhbU5SmAk5QQkPu2cF445H7r22+/DUyxuOKKK1JSHwqBAAQgAIH/I5D2AjRdbpQEqFbBv/nmmympknrdmHOYEtRhC5FfUW2ioAeB0A0YwiYg0FcE9FAxbNgwmzdvnvPeUbduXV/Vn8pCAAIQ8DsBBKjf7yD1TxoB9X5qqB7LTAJ77LEHbs4y89bSKghAwAcEEKAx3iT1SNaqVcsOOOCAGFMULdr3339ftAxIDYEMIjB27FibOXNm3C3asmWLyZ2WfBPHY3LRdMQRR9iJJ54YTzLi+pCAdu1LhekzhUEAAv8jgAD9H4uoRxKgWjXdqVOnqPESdXHhwoWJyop8IOB7AtroQt/BZs2apaQtmuu9YsWKlJRFIcVDQCMcmlo1ZMiQlFVAn+Fx48alrDy1EYNAuhJAgKbrnaFeEIBAHgKap9m5c+c8Yck6SfVOa8lqB/lGJtC2bVu3CC3YG0Lk2P+7MnfuXLeATQsV4zH1xv/6669xz+3XFtA//PCDnXbaafEU5+LiHiluZCRIIQEEaAphUxQEIAABCKQHAS00bNeuXdyV0e583333nduaOp7EGupX2nhFoQTyrFmzrGPHjvEUR1wIpD0BBGja3yIqCAEIaP6ceoKCff8mk8qmTZtwg5ZMwOQNAQhkPQEEaBwfAe0L/uqrr8aRovBRtfsTfkALz4+UmUdAmwGsXbs2JQ3TXD0MAhCAAASSR4AZyjGybd26tdWvXz/G2P+LJtGqVbjxmnyAtmjRIt5kxIcABCAAAQhAAAJpT4Ae0Bhv0THHHGN6xWsPPfSQm/PTu3fvuJJqBxdWMMaFjMgZTEDfBblAO/3001PSSm3hiUEAAhCAQPII0AOaPLbkDAEIQAACEIAABCAQhgA9oGGgEAQBCKQfgXXr1tk333yTkorJZQ5zsFOCmkIgAIEsJYAATdKNl8sNOc/evXt3kkogWwhkDwG5rlm0aJG99957KWv0QQcdlLKyKAgCEIBAthFAgCbhjkt8Xnvttaa9puX3rXz58kkohSwhkD0ENIe6V69ecTd4xIgRbg72eeedF1dazcEuU6ZMXGmInF0Evv32W9u6dasdddRRVqpUqexqPK2FQAIIIEATADE0izFjxrhtAyU+ZVoJj0EAAkUjUJgfeblT0is07R9//GG7du2yevXqha1UaPywkQjMWgJyDv/SSy+59r/xxht2//33W7ly5YqFx/fff2/btm2zI444goWrxXIHKLSwBBCghSUXJV3lypXdj563xZsnRKMk4RIEIJAiAlOmTLHx48e7fcBbtWplffr0SVHJFJMJBLyecW96lUa4Zs+ebdraM9X21FNP2c8//+yKVcfHAw88YGXLlk11NSgPAoUiwCr4QmGLnuikk04y7dxSuvT/6fubbropegKuQgACKSGwfv16GzdunBOfKnDOnDk2f/78lJRNIZlB4B//+Efgf7tatGPHDqtSpUrSGqcODfmFDjXt1vXjjz+6dQYSw54QDo3HOQTSlQA9oEm4MxqK0dwzOaCvVq2aVaxYMQmlkCUEIFAQgSuuuMKNRgTH0/C613ulYXhvpCI4DscQiERAQq9///5u2F3HnTt3tmbNmkWKXuRwCV69Qk09nerk0GdYJiFcqVKl0GicQyBtCSBAk3Rr5Dg73FNrkoojWwhAIAwBbxTCu6QHwo4dO9qHH37ohir32msva968uXeZdwjERKBRo0b2yCOPxBQ3WZEkfvWApc1OJEaPO+44PsvJgk2+SSGAAE0KVjKFAATSlUC3bt1cj9LOnTtt3333TddqUi8IFEigSZMmbt6nevGLaxFUgZUkAgQiEECARgBDMAQgkLkEGjZsmLmNo2VZRYBFR1l1uzOqsSxCyqjbSWMgAAEIQAACEIBA+hNAgKb/PaKGEIAABCAAAQhAIKMIIEAz6nbSGAhAAAIQgAAEIJD+BBCg6X+PqCEEIAABCEAAAhDIKAII0Iy6nTQGAhCAAAQgAAEIpD8BBGj63yNqCAEIQAACEIAABDKKAAI0o24njYEABCAAAQhAAALpTwABmv73iBpCAAIQgAAEIACBjCKAAM2o20ljIAABCEAAAhCAQPoTQICm/z2ihhBIWwI//fSTffbZZ/bXX3+lbR2pGAQgAAEIpB8BtuJMv3tCjSDgCwLvvvuuTZo0ycqUKWNjxoyxe+65xypXruyLulNJCEAAAhAoXgL0gBYvf0qHQEoJ5OTkWLyvzZs324oVK/Klk/iU7dy500qVKmVffPFFvjgpbRyFQQACEICAbwjQA+qbW0VFIVA0ArNmzbIXXnihaJlESL17925Tj6hewaYeUfWMYhCAAAQgAIFgAvSABtPgGAIZTGDjxo0pb516TzEIQAACEIBAKAEEaCgRziGQoQTKli2b8paVLs0gS8qhUyAEIAABHxDg18EHN4kqQiARBA499FCrWbOmVaxYMU92DzzwgJu7qcCSJUtahw4dTHE9W7Nmja1evdoOOuggLyjm90qVKsUcl4gQgMD/a+9MgKMoujj+EAQCAglnCOEqQQSEEBAo7ksIpyAUl8h9I4iIFbkplEsQBRHBkhstikMuFYgIEhCQQznlUgokXHLfIEf223/z7WYne82GsJnd+XfVJjPTPTPdv+6eedPv9WsSIAHzEKAAap66ZklNTgDCZUREhISGhmpIREVFyb59+9SxxMREadCggWTPnt2epnDhwvZtbpAACZAACZBAahCgAJoaFHkNEghgAt26dZMVK1bIvXv3pHbt2hrhM4CLxayTAAmQAAkYmAAFUANXDrNGAv4gkC5dOmnVqpU/bsV7kAAJkAAJkIAiwElIbAgkQAIkQAIkQAIkQAJ+JUAB1K+4eTMSIAESIAESIAESIAEKoGwDJEACJEACJEACJEACfiVAAdSvuHkzEiABEiABEiABEiABCqBsAyRAAiRAAiRAAiRAAn4lQAHUr7h5MxIgARIgARIgARIgAQqgbAMkQAIkQAIkQAIkQAJ+JUAB1K+4eTMSIAESIAESIAESIAEKoGwDJEACJEACJEACJEACfiVAAdSvuHkzEiABEiABEiABEiABnwXQy5cvS1xcnBw7dswjPb3pPF6EkSRAAiRAAiRAAoYloPddrzedYQvKjKU6AZ8E0L1790rXrl3l+PHjEhsbKytXrnSZIb3pXJ7MgyRAAiRAAiRAAoYnoPddrzed4QvMDKYqgQy+XG3q1KkyduxYiYqKkjZt2kiPHj2kSZMmkjFjRs1l9KbTnMQdEjAhgf/++08eP37sU8nv378v8+fPl5MnT0pMTIzUrVtXnX/kyBFZtWqVXL9+XYYMGSJhYWGa6z548MDne2kuYLKde/fuSbp06TyWOjExUZYtWyYHDx6U8PBw6devn1gsFlm8eLEcPnxYihcvLl26dPF6HdwnJCTE4730Rj569EhQ145h8+bNsnXrVrl9+7aMGTNGMmfO7BjtdfvKlSuyaNEiOX/+vPTs2VOKFSumzkH50R6Rf9zXMTi204YNG0qdOnUE6ZcuXSqHDh2S/PnzS9++feW553waB5EMGTI4vXMc78tt/xHQ+67Xm85/OeedjEBAtwCKh8uZM2ekbNmyKt/58uWTLFmyyNmzZ6Vo0aL2suhJd+PGDfUwtJ0UGRkpRYoUse3yPwmYggAEHDyYz507l+LywhwGv+Rh4sSJyQ+p/QYNGkizZs1cxvFgEoGEhASZOXNm0gEdWzhn6NChmpRHjx5VHwOagy52IFQNHz5ccufO7SLWt0P4CImPj3d70ujRo93G6Yn4+uuvNcmyZ88uN2/e1BxLvrN+/XrBzzGcPn3aiZdjvLvtl156Sfr06SPPP/+8uyQ8nooEMHppG2QKDQ2VUqVKqavredcjod50qZhlXipACOj+9Lx48aJkzZpV8yWfI0cOuXr1qqaoetJBaB08eLD9hy9zBhIwGwHYUT+N8JkSXr/++mtKTjPdOVu2bPFrmfGSTo3nIK7j7zr2JnymNkiYgOEdwuAfAjC3g+kdfpMmTbLfVM+7Hon1prNfmBumIaB7BDR9+vRO6js87JKrcvSkK1GihOzcudMOGWpIBhIwG4Fy5cpJtWrVBCNBvgR89N25c8d+SkREhPowdHwpQyUKzYJjgGoYI6AM3gm0bNlSmTJ4Uw+jHhw/wnPmzKnUzDCDsAWManpTr2OEqXnz5rZTUvwfI6mdO3eWDRs22K/x8OFDuXDhgn0fz+w8efLY971toN3gQwnqc1tA20IbQ5xtBBT7jsFVO8Wo/7Vr1+zJwAsDG74EjMAVocbMF2RPlXbu3Ln29gutpy3oedcjrd50tuvyv3kI6BZAc+XKpV56EBYzZcqkCOEBg5efY9CTDg0SQ/m24Piwth3jfxIwA4F27dqlqJjr1q0TmLJUrVpVChUqpK5x9+5dWb58uaAPwjYUwohjQN+FAMDgnQAExgEDBugSjmD/eeDAAaWajI6OVhffvXu3mqyJj4zSpUt7v2EqpkAebPmwXRYzkNFmChQoYLcZtsXp+W+zdUWbwkdMtmzZ1Gk4jhFQCCY2Na3j9dauXSu3bt1S7bRgwYIqav/+/coGFIJk8nw6nsttYxBAvUHbmTzoedfjHL3pkl+f+8FPQPuG8lBePHgqV64sa9askdatWwtUVJjkYJvocOrUKWWEj69rT+k83IJRJEACOgk0atTIKSWEgE6dOjkd54FnS6BMmTKCn2OoWLGi4GeUgFHYjh07pjg7GAlu27atz+c3btzY6RxMYsWPIbAJUCYI7PozQu51C6DILGZ42twv4YE0atQoexkwmxETH/Bg8ZTOfgI3SIAESIAESIAEApaAp3c9ZYKArVa/ZTyd1YbH4uvdoDJ3VKG7O9+XdO6ukVrHMWrraBeVWtd9VteB2gpCvq/2Uc8qP0a9rjcVoFHznRb5sqng9fTdtMifke7J/qevNtj/9HFCqkDsf9CoTJ8+3aUK3rHkvrzr+fxxJGfubd2z4B0x6W1AetM5XpvbJEACJEACJEACgUNA77teb7rAKTlz+jQEUiSAPs0NeS4JkAAJkAAJkAAJkIC5CfhkAxrIqDBjH+5JAiXAdQoCnS17rjFYkIAVPCvgx+CeAFZcws/VbGX3Z5kzhv1PX72z/+njhFSB2P+2bdumv4BMSQI+EkiRDaiP9zBEcth0wV4pUMJ7772nVkUZNmxYoGQ5TfKJDwvMzsWEuBo1aqRJHgLlpitXrpRZs2a5XDkpUMrgr3yy/+kjjSU64UoMqytVr15d30kmTRWo/c+VCyaTViGLncoETDMCavNbl8r8ntnl4K8R6zmz83tGDEbwh4mRYrLyzAqT2jBZgJw8c0Is+593RkiBiTXsf/pYsf/p48RU5iFAG1Dz1DVLSgIkQAIkQAIkQAKGIGCaEVBD0PYhE6+88ordyb8Pp5kuKewZq1SpolbbMF3hfSxw/vz51Yo0Pp5myuTsf/qq3db/sKQmg2cC7H+e+TDWfARMYwNqvqpliUmABEiABEiABEjAmASogjdmvTBXJEACJEACJEACJBC0BCiABm3VsmAkQAIkQAIkQAIkYEwCFECNWS/MFQmQAAmQQBATOHHihOzfv1+VcMuWLbJr164gLi2LRgLOBCiAOjPhkQAkgIc3fDf269dPfvvtN00JWrRoodk3+87OnTtlzpw5ghfg0aNHpXfv3tKkSROZOnWqPHr0yOx4PJZ/8uTJsnXrVo9pGEkC3gj8888/Ehsba/dNnSdPHtUnN2zY4O1UxpNA0BDgJCSDViX8623atMlj7qKjoyU8PNxjGjNEwmdjly5dpE+fPson4aJFi6Rr167StGlTVfyaNWsKRhgYROLj42XmzJlSvnx52b17t2TNmlVat24tBQsWlNmzZ6ttOvQXuXv3rvTt29epyVy6dElCQkLkhRdekLffflsqVarklIYHSMAbgcWLF6u+9/rrr9uTnjx5Ur766iuZOHGi/Rg3SCCYCdANk4Fr94cffpBjx45JtWrVXOayUKFCFECtZDDiWadOHfUDqKpVq0r//v0Fiw/UqlXLJTuzHsQIy8iRI6V06dKyevVqxQ6jnwjvvPOOzJs3jytKWVlkyZJFmjdvLgsWLJAePXpIsWLFFKP58+dL2bJllQAfGRmpjvEPCfhKICwsTPbs2SOOAiie9Vx62VeSTB/IBCiAGrT2MmXKJNOmTVOjLBBAGzRoYNCcpn22MHq3du1ae0by5s0rH3/8sQwaNEiyZ89uP84NUR8sFy5cUAIohHPHEfR///1XLf9KTk8ItGzZUipUqCDjx48XjKK3b99erSIFwbNkyZLE9H8CGElftWqVRx7jxo3zGG+2SDzTV6xYIZ06dVIfNFDJJyQkcPTTbA3B5OWlDaiBG0CGDBlkyJAhdkN1A2c1TbOG0anHjx9Lx44dleoUmSlatKhMmDBBrRFvsVjSNH9GujlGO7EePF5+oaGhUrlyZZU9qASh+rONhhopz2mZl8KFC8uMGTPk1q1bMnDgQIEKnkFLICIiQmrXrq1+ly9fVnbEFStWVAtEwJQIfZNBSwDamc8//1y6d+8usP/s3LmzLF++XF5++WVtQu6RQBAToA1oEFeu2Yp26NAhKVWqlGDNZVvAC3HJkiVqJNl2zOz/IRRcuXJFIDjYwp9//ilFihRRdmm2Y/yvJbBv3z6ZPn26mrRF208tG+yhr7377ruycOFCex/EpLYOHToITBdgO8tAAiRAAjYCVMHbSBj4P0bwYLsHtQ0mjXz77bdSt25dwdJuDEkEsHzi7du3Zfv27cpkAaNVGzduVDZ8Sam4BfMOCJ+YBQ9eUVFRSiC9c+cOJ9W4aB6O/Q/eA9D/YPbB/qeFhQ8/TAjEiKftIxCTufDBkz59em1ik++hTaEd4aPZ0fME7IuhlmcgATMQSBoqMkNpA7SMmNX9448/2l12YAbugAEDBAIDg5YARmDOnz+vDmbOnFnOnDkjY8aM0SbintANjP5GwP6njxXWg4fqHerkTz/9VJl0YBu2tFgzniGJwM8//yxxcXFqkiQmItl+4MdAAmYhQBV8ANR0r1695JNPPtFMqJk7d64UKFBAYmJiAqAE/skiJtfAjhH+LB1Dt27d5IsvvlAzmx2Pm3mbbmD01z77n35WSLlt2zY5fPiwmtFdrlw5wY9BSwDPb9hgQzhnIAGzEuAIaADUPFx2HDx4UJNTuuzQ4FA7mPEOtfL9+/ftkTdu3FAjonRvYkeiNtCmDhw4oDnINqXBYd9h/7Oj0LUBU6GePXsq37yYVGNb7UfXySZJhMl/cB938+ZNk5SYxSQBZwK0AXVmYrgjb775powYMUJefPFFNeqJBzqErerVqxsur2mZIfhubNasmXKmDlUWbKsgZLVr147+9ZJVDN3AJAPiYZf9zwMcL1HQSsCTx7p167ykNFc0BE+sQobnFSb/2Wxk8dxytQCCueiwtGYhQBV8gNT0uXPn5I8//lDuYOBoHe5hGFwTgNAJFWCOHDmUkA6XJwzOBDBSjGU5T506pfyCQlUK118MzgTY/5yZ8EjKCcALhc1W3fEqGFjAAiMMJGAGAhRAA7SWoS7Nly+fsiMK0CL4JdsQssAKM70ZPBPAaBVmLPPjxjMnxLL/aRn9/vvvcuTIEXnrrbeUannlypXqI7BMmTIyePBgyZUrl/YE7jkRYP9zQsIDQU6ANqABWsFTpkxxsgsN0KI802zbVIDP9CZBcnG4+oJrGAbvBNj/khhdu3ZNrRYFH7xw2I9VyF577TU18Q+LRMTGxiYl5pZbAux/btEwIkgJcAQ0SCuWxSIBEiABfxCAO6HTp0+riUfr168XLGqAUU9bgCsmrPoDkxgGEiABErAR4AiojYQB/2Nt7smTJ6vJNLBBg2+9Fi1aqJVYMIOSIYkAVIDffPONOgA2H3zwgTLwHzZsmHKynpTS3FsPHjyQZcuWCdbvxiQtuGOCgICJWrNnzxYuW5rUPtj/klh42oqMjJQ9e/aoRQ1KlCihzBNsy2+CIRY7gO9iBhH2P7YCEkgiQAE0iYXhtsaNGyfh4eGSLl06pc6CY3X4uGzbtq0STDHqwCBCFaD+VrB27VrZtWuXsvP85ZdflM9GjFYNHz5czcqlCj6JJftfEgtPW6VLl5bo6Gjp2rWrwGk/PmxatWqlPgLhjgk/2yxvT9cxQxz7nxlqmWXUS4BTXvWS8nM623rdHTt2VH4tMat77Nixaok7uO2A8IlZ8ZwxKUqgatiwoZQvX16gAoR7qvr166sagxP6+Ph4gT9QqgBFTRDp3bu35M2bV7AaS/fu3QXL/yFgdS2MsmMiidkD+59vLaBPnz5qNR9oIjAimpiYKHny5FGqeLQ1hicEoJ1h/2NrIIEnBDgCatCWgPW6MZKA2bYY+cSqGVhWEgHHYWeFWfAMol54VAHqawkQDiCQI2DSiKMzemxTWHjCkf3vCQc9f/ExDIE9IiJCmb3go69Hjx7SvHlz1Z6+//57PZcxRRr2P1NUMwupkwAnIekElRbJIFRBDQi7Kvhn3L59uxrlgz0oZpdijXOo5xlEZs2aJRs3bhS4fYFfy6tXrypucA3Tr18/wQgpg6hZyrYJIljYAMwwih4SEqL8EmLJUph9MIiya2T/894SYMqxYMEC+fDDDzUaGThbx4x4fCyvWrXK+4VMkAJeAtj/TFDRLKIuAhRAdWFKu0TwYwnBE06L8fDKmTOnYHk7m9o07XJmvDtDMIcK8NKlS3YVYJUqVTiq56Kq9u7dq5YthUNsrCBVoEABZbqQMWNGF6nNe4j9T1/dw/RlxowZ0r9/f4mJiRG0r48++kg9qzAhkOYvWo7sf1oe3DMnAQqgBq13qLQwg9Sdjefff/8tDx8+lJIlSxq0BP7LFlSAMEeA2tRVgAoQS94xiKDdYPTcVbh7967s2LFD6tWr5yraVMfY/3yv7pMnTyqtTNasWdXHDYTRpk2b+n6hID6D/S+IK5dF85kAbUB9RuafE2DEj0khP/30k+aGcJOzdOlStV4wRmcYRL3sYNif3CsAVICY3T1nzhxi+j+BhQsXyqRJk5TNniMUqEkxi/nQoUOOh027zf7ne9XDTAij6fhwhqYGJh4MWgLsf1oe3DM5AatAw2BQAtYRBYt1RrJlwoQJFquwabGqSy1W+yFLmzZtLAcPHjRortMmW+vWrbNYR1ssVlWgyoDVQ4DljTfesAwdOtRy/fr1tMmUAe+KdjR+/HhLp06dLFZbWYvVX6Nl/vz5FuvKNRarT1CLVfAyYK7TJkvsf/q5r1mzxmJVvVusH3sW6yRJi/XD2dKoUSOL1TevamP6rxTcKdn/grt+WTrfCFAFb/APEIxywvcnRqisgpRUrVpVBg4cqEYaDJ51v2ePKkD9yGGzh4lbuXPnVqYcI0eOdKua13/V4EvJ/ue9TqGlwSIGaEOYBGgLCQkJMnr0aMmWLZtMmzbNdpj/rQTY/9gMSECEKniDtwLMcscqIhA+rd8WamY31FwMzgSoAnRm4u4I7GWhZoYTf/iVpUsv16TY/1xzcTxavHhxmTdvnkb4RHzBggXVRw7aF4OWAPuflgf3zEmAI6AGrncYrMPVEkapYMuISSKjRo1Ss7qtqmUJCwszcO79mzVMNMIsXKt5glpactOmTfLZZ59Jhw4dpH379sqBv39zZMy7oQ3B2TxcfI0YMUIJDVinGw6y0baioqKMmfE0yBX7nz7o+IiB3aenAM8dDKKe4ex/bAkk8IQABVCDtgQIClj3HU6dsfSmzd8nZufCV+PWrVuVgFW0aFGDlsB/2aIKUD9rfLigLSV3jQN/oFOmTFEOxFu2bKn/gkGakv1Pf8XGxcXJl19+6fGE1atXe4w3SyT7n1lqmuXUQ4ACqB5KaZAGgiZmdUO95SrA+TPcnVSqVMlVtKmOwfYTK/iAR/Lw4MEDNTI6aNCg5FGm3IctMdbudhXOnj0rmzdvVqPGruLNdIz9z0y17b+ysv/5jzXvZHwCFEANWkfW2cny119/ecwdnIfDwN/sgSpA/S0AHzUY3XMX0J7Qrswe2P/M3gKeTfnZ/54NV141MAlkCMxsB3+u7927p9SknkoaGxsr1apV85TEFHG7du2iClBnTWO28v79+92mRntCuzJ7YP/T3wI2bNigJht5OuO7777zFG2aOPY/01Q1C6qDAEdAdUBiEhIgARIgAdcEdu/erZbdhPP5+vXry6uvvirp06fXJHa3+pYmEXdIgARMRYACqKmqm4UlARIggdQnAJMFrG+OyWwYYa9QoYJYFzeQsmXL2idQpv5deUUSIIFAJkAB1KC1d+fOHbGuVuMxd9ZVkZRjeo+JTBBJFaD+SoZbrwMHDrg9oUqVKvL++++7jTdLBPtfymvauhKSwCwGwujx48elcuXKgnXhGUS51WP/Y0sggScEaANq0JYAFVZoaKhcvHhR6tSpI7Vq1ZIcOXJochseHq7ZN+sOOD18+FCtP+1OBWhWNsnLDW8Bt27dkujoaDVCldyNFxY9YBClQmb/S1lLwIIQaGd4Ph05ckT27duXsgsF4Vnsf0FYqSxSiglwBDTF6PxzImZNwqk63OPg4QW1VvXq1bkUZzL8VAEmA+Jh9/bt27JlyxY1QoUVtmrXri316tWTiIgID2eZM4r9T3+9nzhxQj2r4CIuY8aMUrduXdWu6FVBy5D9T8uDe+YlQAE0gOoeK7NArbV9+3YpXLiw9OrVSyIjIwOoBP7JKlWAXBKeDwAAAktJREFU+jnDhVV8fLwSHMANK0lBIGVwJsD+58wERzDCOWnSJLXamE3oxPOJwTsB9j/vjJgieAlwLfgAqttcuXIptRZmm8KOCA8vBmcCjipAjIxSBejMyHYEKnesAw91aUJCgsCpP4NrAux/rrlglBht59KlS7JkyRL1YRwTEyOOP9dn8ij7H9uAmQlwBNTgtQ8VKdSlUMOfOnVKqd+hLsWa3c89x+8Hx+qjCtCRhvttjHTCdQ5UpTt27JCSJUsqdWmNGjVcribl/krBH8P+572OsbABOHkKNO9IosP+l8SCW+YmQAHUoPWPpQCHDBkiUPvBOTiEzvLlyzv51zNo9v2aLaoA9eNesGCBLF++XC3xijZVs2ZNrqblAh/7nwsoPPTUBNj/nhohLxBEBCiAGrQyMVO5cePGkilTJrdC5/Dhw5UAYdAi+C1ba9askcmTJ3ucmBUXF+e3/Bj5RoMGDVL+GtGuXAUIpGhXZg/sf2ZvAc+m/Ox/z4YrrxqYBCiAGrTeEhMT5cKFCx5zB1vQzJkze0xjhkiqAPXX8pUrVwSje+5CSEiIhIWFuYs2zXH2P9NUtV8Lyv7nV9y8mcEJUAA1eAUxeyRAAiRAAiRAAiQQbAQ4iyXYapTlIQESIAESIAESIAGDE6AAavAKYvZIgARIgARIgARIINgIUAANthpleUiABEiABEiABEjA4AQogBq8gpg9EiABEiABEiABEgg2AhRAg61GWR4SIAESIAESIAESMDgBCqAGryBmjwRIgARIgARIgASCjcD/AKR9j3tGJbX9AAAAAElFTkSuQmCC" /><!-- --></p> +<p><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAqAAAAHgCAYAAAB6jN80AAAEGWlDQ1BrQ0dDb2xvclNwYWNlR2VuZXJpY1JHQgAAOI2NVV1oHFUUPrtzZyMkzlNsNIV0qD8NJQ2TVjShtLp/3d02bpZJNtoi6GT27s6Yyc44M7v9oU9FUHwx6psUxL+3gCAo9Q/bPrQvlQol2tQgKD60+INQ6Ium65k7M5lpurHeZe58853vnnvuuWfvBei5qliWkRQBFpquLRcy4nOHj4g9K5CEh6AXBqFXUR0rXalMAjZPC3e1W99Dwntf2dXd/p+tt0YdFSBxH2Kz5qgLiI8B8KdVy3YBevqRHz/qWh72Yui3MUDEL3q44WPXw3M+fo1pZuQs4tOIBVVTaoiXEI/MxfhGDPsxsNZfoE1q66ro5aJim3XdoLFw72H+n23BaIXzbcOnz5mfPoTvYVz7KzUl5+FRxEuqkp9G/Ajia219thzg25abkRE/BpDc3pqvphHvRFys2weqvp+krbWKIX7nhDbzLOItiM8358pTwdirqpPFnMF2xLc1WvLyOwTAibpbmvHHcvttU57y5+XqNZrLe3lE/Pq8eUj2fXKfOe3pfOjzhJYtB/yll5SDFcSDiH+hRkH25+L+sdxKEAMZahrlSX8ukqMOWy/jXW2m6M9LDBc31B9LFuv6gVKg/0Szi3KAr1kGq1GMjU/aLbnq6/lRxc4XfJ98hTargX++DbMJBSiYMIe9Ck1YAxFkKEAG3xbYaKmDDgYyFK0UGYpfoWYXG+fAPPI6tJnNwb7ClP7IyF+D+bjOtCpkhz6CFrIa/I6sFtNl8auFXGMTP34sNwI/JhkgEtmDz14ySfaRcTIBInmKPE32kxyyE2Tv+thKbEVePDfW/byMM1Kmm0XdObS7oGD/MypMXFPXrCwOtoYjyyn7BV29/MZfsVzpLDdRtuIZnbpXzvlf+ev8MvYr/Gqk4H/kV/G3csdazLuyTMPsbFhzd1UabQbjFvDRmcWJxR3zcfHkVw9GfpbJmeev9F08WW8uDkaslwX6avlWGU6NRKz0g/SHtCy9J30o/ca9zX3Kfc19zn3BXQKRO8ud477hLnAfc1/G9mrzGlrfexZ5GLdn6ZZrrEohI2wVHhZywjbhUWEy8icMCGNCUdiBlq3r+xafL549HQ5jH+an+1y+LlYBifuxAvRN/lVVVOlwlCkdVm9NOL5BE4wkQ2SMlDZU97hX86EilU/lUmkQUztTE6mx1EEPh7OmdqBtAvv8HdWpbrJS6tJj3n0CWdM6busNzRV3S9KTYhqvNiqWmuroiKgYhshMjmhTh9ptWhsF7970j/SbMrsPE1suR5z7DMC+P/Hs+y7ijrQAlhyAgccjbhjPygfeBTjzhNqy28EdkUh8C+DU9+z2v/oyeH791OncxHOs5y2AtTc7nb/f73TWPkD/qwBnjX8BoJ98VQNcC+8AAEAASURBVHgB7J0HnFNV2odfOtKkCwgiUq0gIohKsaILuroggrooig1dRREVC4pYWBtNxVVksQI2BGUpggULYgNBFJBeFaULiLRv/me/m82EZCaZSTK5yfP+fpnce+6pz00m/3vKewrtzzLDIAABCEAAAhCAAAQgkCQChZNUDsVAAAIQgAAEIAABCEDAEUCA8kGAAAQgAAEIQAACEEgqAQRoUnFTGAQgAAEIQAACEIAAApTPAAQgAAEIQAACEIBAUgkgQJOKm8IgAAEIQAACEIAABBCgfAYgAAEIQAACEIAABJJKAAGaVNz5L+yZZ56xa6+91m677baIme3evdt69uzp4n377beBePfee6899NBDgfN///vfLs5XX30VCAs+WLhwobv+xhtvBAfbtGnTTHldd9119txzz9mff/6Z7TonEIAABCAAAQhAICcChfADmhOe1Lv217/+1SZMmOAq9t1339lxxx13QCX/85//WPv27V24xGOnTp3ccf369a1s2bLmidIVK1ZY48aNrVKlSjZnzhx3zcts586d1rx5c9u8ebO7pjj79u2zG2+80YYPH25NmjSxwoULu7zatGljH330kZeUdwhAAAIQgAAEIJAjAXpAc8STmhclIg866CB7/fXXw1ZwzJgx2cRk2EhZgbVr1zb1qC5dutRuuummbNHUg7pgwQIbPXq0E6i6+M477zjx+cQTT9js2bPtm2++cdc//vhj1yuaLQNOIAABCEAAAhCAQAQCGSlAt2zZ4gTTqlWrHJa1a9fahg0bsiHau3ev/fDDDzZ58mRbvnx5tms62b59uwvXRlK7du2yzz//3L127NhxQFwF5Jbftm3bXH7KNzeT+FQPZ+jQuNL98ccfTiiqpzQau+SSS+yyyy6zUaNG2VtvveWS6FivBx54wE499dRANgMHDrTTTz/dbrnl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MAhAAAIQgAAEIACBhBFgCD5haDM74zfeeMMKFSqUNAjJLCtpjaIgCEAAAhCAQJoSQICm6Y0tqGaVK1fOLrvsMtOe8LGYFhP95z//sRYtWliNGjWiTrp//37bvXu3NWjQIOo0RIQABCAAAQhAoGAJIEALln9ali4RGatpMZEE6DHHHGNNmjSJOvm+fftMaUuUKBF1GiJCAAIQgAAEIFCwBJgDWrD8KR0CEIAABCAAAQhkHAEEaMbd8tRusLbWHDx4sP3jH/+w2bNnp3ZlqR0EIAABCEAAAnkigADNEzYSJYrAa6+9ZkuWLHHZjxw50pYuXZqoosgXAhCAAAQgAIECIoAALSDwFJudQMmSJe2iiy6ywoX/95HUvM6ff/45e0TOIAABCEAAAhDwPYH//dr7vik0wM8Eihcvbq1bt7batWsHmqGV8Y0bNw6ccwABCEAAAhCAQHoQYBV8etzHtGlFr169bMyYMbZ3715r166dlS5dOm3aRkMgAAEIQAACEPgvAQQon4SUIqAh+EsuuSSl6kRlIAABCEAAAhCILwGG4OPLk9wgAAEIQAACEIAABHIhgADNBRCXIQABCEAAAhCAAATiSyAqATp//nybPn26bd68OVvpWiTy2Wef2eeff+62Qwy++Ntvv9mUKVNs4cKFwcEcQwACEIAABCCQJgTWr19vkydPtmXLlh3QIv3+T5061aQHgi0n7RAcj+P0JpCrAL3tttts9OjR9sMPP9i1115rq1evdkTkMPyKK66wDz/80F555RW7/fbbTftyy+RAvHv37rZo0SIXPm7cOBfOHwhAAAIQgAAE0oPAe++9Z3369HG64J577rGJEycGGjZo0CB77LHHnB646qqrbOXKle5aTtohkJiDjCCQ4yIkPdHs3r3bHn/8cQdjx44dNm3aNCc8x44da9rzW6uWZRKns2bNspNOOsntZPPggw86FzqdO3e2Hj16WPv27U2udjAIQAACEIAABPxNQB1O6t3s37+/HX744e73ftiwYe63fvny5fbJJ5/Ym2++6Xw7y7PJq6++an379rWctIO/iVD7WAnk2ANap04dGzJkiMtTw+/fffddwE/j4sWLrWnTpoHydKxe0j179rinoeOOO85dO+SQQ6xUqVK2Zs2aQFwOkktg3759pmkUq1atSm7BlAYBCEAAAr4moOHyP/74w73+/PPPQFsK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qhJgFXyq3pko6lWrVq1szvXl0P+ZZ55xfh67d+8eRQ5EgQAEIAABCGQGgWXLltm6desiNvbHH39017799lvTlpuR7IgjjrBq1apFukx4lAQQoFGCSsVoF198sc2dO9c5YJdD6FtuucX+9a9/pWJVqRMEIAABCECgQAn8/e9/N+2JnptpSltOduKJJ9orr7ySUxSuRUEAARoFpFSNon1mBw0aZJoLWqlSJStWrFiqVpV6QQACEIAABAqUgKantW7d2tq0aROxHr///ruVKVMm4vVx48a5qW4RI3AhagII0KhRpWZE7drAUEBq3htqBQEIQAACqUVA4jI/v5nyE6ptVXMyDd9/+OGHrnPoL3/5izVs2DCn6DFd279/vz3//PNuz/pZs2ZZyZIlrUmTJi4PrQdR/b744ots4TEVEBJZW12PGTMmEFqlShU74YQT7LDDDguE5fUAAZpXcglOp3kqepUoUSKmkrSH9Z49e9wHMKaEWZE1r6Vq1aqxJiM+BCAAAQhAwNcEVq5caU8++aRt3LjRraN45JFH8rQlp8SapsN16NDBCd0LL7zQ2rZt69ZnxAOQpttde+211qNHD5MA1fahEqC9evVyvbt/+9vfsoXnt0xNWejZs6cTvBK/GnG96qqrbPTo0dauXbt8ZY8AzRe+xCV+9913bfny5Xku4NVXX405rZ5qrrjiipjTkQACEIAABCDgVwLyp33jjTcGqq9ePwk89TTmNBwfSPD/B998841dd911rgOoUaNGLlRi9KijjrIuXbo4gahATQVYunSp1a1bNzB1TkP/mkana6tWrbIGDRq4fen/P2vX67pixQqrU6eOF+TqWKhQIVPP5w8//OCEqHpnVXeFB9tPP/1khxxyiGnqniy38oLTaqR1+PDhgaCnn37annrqKQRogEiaHegpRx+WZs2aJaVlM2fOND3dYBCAAAQgAIF0JCBxJ1+foabfP/UkBv8GFilSxPVaHn300dmir1mzJuLI5JQpU6xz587miU8lrFixoi1cuNDlr3M5un/nnXdMQ9nKa+LEiXbMMcfYvffea1qlr41lypcv7wSiejglGBVfvY6qi0Y4PevXr59b/yGxOmfOHNc7Wbt2bXvvvfdc+F133eX8mupd5Wl1/8CBA+3666/PsTwv/0jvYqgy82v0gOaXYALT6wlGTx7JsNCnpWSUSRkQgAAE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" /><!-- --></p> <p>The following command will approximate the older version of the gene plot (where DTU determined the fill colour):</p> <pre class="r"><code>plot_gene(mydtu, "MIX6", fillby="DTU", shapeby="none")</code></pre> <p><img src="data:image/png;base64,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" /><!-- --></p> diff --git a/man/calculate_DTU.Rd b/man/calculate_DTU.Rd index dfcf270..d974a32 100644 --- a/man/calculate_DTU.Rd +++ b/man/calculate_DTU.Rd @@ -20,7 +20,7 @@ calculate_DTU(counts_A, counts_B, tx_filter, test_transc, test_genes, full, \item{full}{Either "full" (for complete output structure) or "short" (for bootstrapping).} -\item{count_thresh}{Minimum number of counts per replicate.} +\item{count_thresh}{Minimum average count across replicates.} \item{p_thresh}{The p-value threshold.} diff --git a/man/call_DTU.Rd b/man/call_DTU.Rd index 7634778..16fa9ed 100644 --- a/man/call_DTU.Rd +++ b/man/call_DTU.Rd @@ -36,7 +36,7 @@ call_DTU(annot = NULL, TARGET_COL = "target_id", PARENT_COL = "parent_id", \item{p_thresh}{The p-value threshold. (Default 0.05)} -\item{abund_thresh}{Noise threshold. Minimum mean abundance for transcripts to be eligible for testing. (Default 5)} +\item{abund_thresh}{Noise threshold. Minimum mean (across replicates) abundance for transcripts (and genes) to be eligible for testing. (Default 5)} \item{dprop_thresh}{Effect size threshold. Minimum change in proportion of a transcript for it to be considered meaningful. (Default 0.20)} diff --git a/man/sim_sleuth_data.Rd b/man/sim_sleuth_data.Rd deleted file mode 100644 index b408b07..0000000 --- a/man/sim_sleuth_data.Rd +++ /dev/null @@ -1,39 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/data_simulators.R -\name{sim_sleuth_data} -\alias{sim_sleuth_data} -\title{Generate an artificial minimal sleuth-like structure, for code-testing or examples.} -\usage{ -sim_sleuth_data(varname = "condition", COUNTS_COL = "est_counts", - TARGET_COL = "target_id", PARENT_COL = "parent_id", - BS_TARGET_COL = "target_id", cnames = c("A", "B"), - errannot_inconsistent = FALSE, cv_dt = FALSE) -} -\arguments{ -\item{varname}{Name for the variables by which to compare.} - -\item{COUNTS_COL}{Name for the bootdtraps column containing counts.} - -\item{TARGET_COL}{Name for annotation column containing transcript identification.} - -\item{PARENT_COL}{Name for annotation column containing respective gene identification.} - -\item{BS_TARGET_COL}{Name for bootstraps column containing transcript identification.} - -\item{cnames}{A vector of (two) name values for the comparison variable.} - -\item{errannot_inconsistent}{Logical. Introduces an inconsistency in the transcript IDs, for testing of sanity checks. (FALSE)} - -\item{cv_dt}{Logical. Whether covariates table should be a data.table (FALSE).} -} -\value{ -A list with \code{slo} a minimal sleuth-like object, \code{annot} a corresponding annotation data.frame, - \code{isx} a vector of trancripts common between generated annotation and bootstraps (useful for code testing). - -The simulated data will have non-uniform number of bootstraps per sample and non-uniform order of -transcript id's among samples and bootstraps. These conditions are unlikely to occur in real data, -but this allows testing that the code can handle it. -} -\description{ -The default values here should match the default values expected by calculate_DTU(). -} diff --git a/tests/testthat/test_2_data-munging.R b/tests/testthat/test_2_data-munging.R index f9940d5..f95001a 100644 --- a/tests/testthat/test_2_data-munging.R +++ b/tests/testthat/test_2_data-munging.R @@ -2,80 +2,6 @@ #============================================================================== context("DTU Internal data munging") -#============================================================================== -test_that("Samples are grouped correctly", { - sim <- sim_sleuth_data(cv_dt=FALSE) - expect_silent(r <- group_samples(sim$slo$sample_to_covariates)) - # number of covariates - expect_equal(length(r), length(sim$slo$sample_to_covariates)) - # names of covariates - expect_named(r, names(sim$slo$sample_to_covariates)) - # number of values of each covariate - expect_equal(length(r[[1]]), length(levels(as.factor(sim$slo$sample_to_covariates[[1]])))) - expect_equal(length(r[[2]]), length(levels(as.factor(sim$slo$sample_to_covariates[[2]])))) - # total number of samples - expect_equal(sum(sapply(r[[1]],length)), length(sim$slo$sample_to_covariates[[1]])) - expect_equal(sum(sapply(r[[2]],length)), length(sim$slo$sample_to_covariates[[2]])) - - # Repeat tests with data.table covariate - sim <- sim_sleuth_data(cv_dt=TRUE) - expect_silent(r <- group_samples(sim$slo$sample_to_covariates)) - # number of covariates - expect_equal(length(r), length(sim$slo$sample_to_covariates)) - # names of covariates - expect_named(r, names(sim$slo$sample_to_covariates)) - # number of values of each covariate - expect_equal(length(r[[1]]), length(levels(as.factor(sim$slo$sample_to_covariates[[1]])))) - expect_equal(length(r[[2]]), length(levels(as.factor(sim$slo$sample_to_covariates[[2]])))) - # total number of samples - expect_equal(sum(sapply(r[[1]],length)), length(sim$slo$sample_to_covariates[[1]])) - expect_equal(sum(sapply(r[[2]],length)), length(sim$slo$sample_to_covariates[[2]])) - -}) - - -#============================================================================== -test_that("Bootstrapped counts are extracted correctly", { - samples <- c(1,3) - bst <- "id" - cnt <- "counts" - sim <- sim_sleuth_data(COUNTS_COL = cnt, BS_TARGET_COL = bst) - lr <- denest_sleuth_boots(sim$slo, sim$annot, samples, cnt, bst) - - for (i in 1:length(lr)) { - # The transcripts supposed to be there are there. - expect_true(all(sim$isx %in% as.character(lr[[i]]$target_id))) - # No NA. - expect_false(any(is.na(lr[[i]]))) - - # Number of bootstraps per sample. - expect_equal(length(lr[[i]]) - 1, length(sim$slo$kal[[samples[i]]]$bootstrap)) # one column in lr[[i]] is IDs. - - # All target counts pulled from the correct bootstraps and the correct transcripts. - fltr2 <- match(sim$isx, lr[[i]][["target_id"]]) # Where in the extracted counts are the expected IDs. - counts_ok <- sapply(2:(length(lr[[i]])), function(j) { - fltr1 <- match(sim$isx, sim$slo$kal[[samples[i]]]$bootstrap[[j-1]][[bst]]) # Where in the boot are the expected IDs. - all(sim$slo$kal[[samples[i]]]$bootstrap[[j-1]][[cnt]][fltr1] == lr[[i]][[j]][fltr2]) # Both vectors' elements are ordered by the same IDs. - }) - expect_true(all(counts_ok)) - - # IDs in annotation, but not in bootstraps, should be 0. - missing_from_boots_ok <- sapply(2:(length(lr[[i]])), function(j) { - nib <- setdiff(sim$annot$target_id, sim$isx) - nib <- match(nib, lr[[i]][["target_id"]]) - all(lr[[i]][[j]][nib] == 0) - }) - expect_true(all(missing_from_boots_ok)) - - # IDs in bootstrap, but not in annotation, should be absent. - missing_from_annot_ok <- sapply(1:(length(lr[[i]]) - 1), function(j) { - nia <- setdiff(sim$slo$kal[[i]]$bootstrap[[j]], sim$isx) - any(nia %in% lr[[i]][["target_id"]]) - }) - expect_false(any(missing_from_annot_ok)) - } -}) - #============================================================================== test_that("The number of iterations is detected correctly", { diff --git a/tests/testthat/test_4_steps.R b/tests/testthat/test_4_steps.R index c4e18e8..a1c064e 100644 --- a/tests/testthat/test_4_steps.R +++ b/tests/testthat/test_4_steps.R @@ -87,7 +87,7 @@ test_that("Parameters are recorded", { expect_equal(c(param$var_name, param$cond_A, param$cond_B), c('testing', 'cA', 'cB')) expect_equal(c(param$data_type, param$tests), c("bootstrapped abundance estimates", 'genes')) expect_equal(c(param$num_replic_A, param$num_replic_B), c(2, 2)) - expect_equal(c(param$num_genes, param$num_transc), c(10, 21)) + expect_equal(c(param$num_genes, param$num_transc), c(11, 23)) expect_equal(list(param$p_thresh, param$abund_thresh, param$dprop_thresh, param$correction, param$abund_scaling), list(0.001, 1, 0.15, 'bonferroni', c(1,2,3,4))) expect_equal(list(param$quant_boot, param$quant_bootnum, param$quant_reprod_thresh), list(TRUE, 99, 0.8)) expect_equal(list(param$rep_boot, param$rep_bootnum, param$rep_reprod_thresh), list(TRUE, NA_integer_, 0.6)) diff --git a/tests/testthat/test_5_output.R b/tests/testthat/test_5_output.R index c812b5b..2ddccfc 100644 --- a/tests/testthat/test_5_output.R +++ b/tests/testthat/test_5_output.R @@ -118,13 +118,13 @@ test_that("The output structure is correct", { #============================================================================== test_that("The output content is complete", { - sim <- sim_sleuth_data(cnames=c("ONE","TWO")) + sim <- sim_boot_data() # Emulate non-sleuth bootstrap data. - data_A <- denest_sleuth_boots(sim$slo, sim$annot, c(1,3), "est_counts", "target_id") - data_B <- denest_sleuth_boots(sim$slo, sim$annot, c(2,4), "est_counts", "target_id") + data_A <- sim$boots_A + data_B <- sim$boots_B # Emulate non-bootstrap data. - counts_A <- data_A[[1]] - counts_B <- data_B[[2]] + counts_A <- data_A[[2]] + counts_B <- data_B[[1]] mydtu <- list(call_DTU(annot= sim$annot, count_data_A = counts_A, count_data_B = counts_B, rboot=FALSE, qboot=FALSE, verbose = FALSE, description="test"), call_DTU(annot= sim$annot, boot_data_A = data_A, boot_data_B = data_B, rboot=TRUE, qboot=TRUE, qbootnum=2, verbose = FALSE, description="test") @@ -227,13 +227,12 @@ test_that("The output content is complete", { #============================================================================== test_that("The result is consistent across input data formats", { - sim <- sim_sleuth_data(cnames=c("ONE","TWO")) - # Emulate non-sleuth bootstrap data. - data_A <- denest_sleuth_boots(sim$slo, sim$annot, c(1,3), "est_counts", "target_id") - data_B <- denest_sleuth_boots(sim$slo, sim$annot, c(2,4), "est_counts", "target_id") + sim <- sim_boot_data() + data_A <- sim$boots_A + data_B <- sim$boots_B # Emulate non-bootstrap data. - counts_A <- data_A[[1]] - counts_B <- data_B[[2]] + counts_A <- data_A[[2]] + counts_B <- data_B[[1]] mydtu <- list(call_DTU(annot= sim$annot, boot_data_A = data_A, boot_data_B = data_B, rboot=FALSE, qboot=FALSE, verbose = FALSE), call_DTU(annot= sim$annot, count_data_A = counts_A, count_data_B = counts_B, rboot=FALSE, qboot=FALSE, verbose = FALSE)) @@ -245,12 +244,14 @@ test_that("The result is consistent across input data formats", { #============================================================================== test_that("Filters work correctly", { - # !!! This test is tightly dependent on the data used for the test and the default parameter values, in order to + # !!! This test is tightly dependent on the data used for the test and the parameter values, in order to # !!! ensure correct response to specific scenarios. sim <- sim_boot_data() - mydtu <- call_DTU(annot= sim$annot, boot_data_A=sim$boots_A, boot_data_B=sim$boots_B, name_A= "ONE", name_B= "TWO", abund_thresh=10, dprop_thresh=0.1, verbose = FALSE, rboot=FALSE, qboot = FALSE, seed=666) + mydtu <- call_DTU(annot= sim$annot, boot_data_A=sim$boots_A, boot_data_B=sim$boots_B, name_A= "ONE", name_B= "TWO", abund_thresh=8, dprop_thresh=0.1, verbose = FALSE, rboot=FALSE, qboot = FALSE, seed=666) + expect_equivalent(as.list(mydtu$Genes["1A1B", list(known_transc, detect_transc, elig_transc, elig, elig_fx)]), + list(2, 2, 2, TRUE, TRUE)) expect_equivalent(as.list(mydtu$Genes["1A1N", list(known_transc, detect_transc, elig_transc, elig, elig_fx)]), list(1, 1, 0, FALSE, FALSE)) expect_equivalent(as.list(mydtu$Genes["1B1C", list(known_transc, detect_transc, elig_transc, elig, elig_fx)]), @@ -273,6 +274,10 @@ test_that("Filters work correctly", { list(2, 2, 2, TRUE, FALSE)) setkey(mydtu$Transcripts, target_id) + expect_equivalent(as.list(mydtu$Transcripts["1A1B.a", list(elig_xp, elig, elig_fx)]), + list(TRUE, TRUE, TRUE)) + expect_equivalent(as.list(mydtu$Transcripts["1A1B.b", list(elig_xp, elig, elig_fx)]), + list(TRUE, TRUE, TRUE)) expect_equivalent(as.list(mydtu$Transcripts["1A1N-2", list(elig_xp, elig, elig_fx)]), list(TRUE, FALSE, FALSE)) expect_equivalent(as.list(mydtu$Transcripts["1B1C.1", list(elig_xp, elig, elig_fx)]), diff --git a/tests/testthat/test_6_reports.R b/tests/testthat/test_6_reports.R index a2e6958..4ab0f39 100644 --- a/tests/testthat/test_6_reports.R +++ b/tests/testthat/test_6_reports.R @@ -16,16 +16,16 @@ test_that("The summaries work", { for (v in ids) { expect_false(any(is.na(v))) } - expect_equal(ids[[1]], c("MIX6")) + expect_equal(ids[[1]], c("1A1B", "MIX6")) expect_equal(ids[[2]], c("CC", "NN")) expect_equal(ids[[3]], c("LC", "1A1N", "1B1C", "1D1C", "ALLA", "ALLB", "NIB")) - expect_equal(ids[[4]], c("MIX6")) + expect_equal(ids[[4]], c("1A1B", "MIX6")) expect_equal(ids[[5]], c("LC", "CC", "NN")) expect_equal(ids[[6]], c("1A1N", "1B1C", "1D1C", "ALLA", "ALLB", "NIB")) - expect_equal(ids[[7]], c("MIX6")) + expect_equal(ids[[7]], c("1A1B", "MIX6")) expect_equal(ids[[8]], c("CC", "NN")) expect_equal(ids[[9]], c("LC", "1A1N", "1B1C", "1D1C", "ALLA", "ALLB", "NIB")) - expect_equal(ids[[10]], c("MIX6.c1", "MIX6.c2")) + expect_equal(ids[[10]], c("1A1B.a", "1A1B.b", "MIX6.c1", "MIX6.c2")) expect_equal(ids[[11]], c("MIX6.c4", "LC2", "CC_a", "CC_b", "MIX6.c3", "2NN", "1NN", "MIX6.nc")) expect_equal(ids[[12]], c("LC1", "1A1N-2", "1B1C.1", "1B1C.2", "1D1C:one", "1D1C:two", "MIX6.d", "ALLA1", "ALLB1", "ALLB2", "NIB.1")) @@ -36,29 +36,29 @@ test_that("The summaries work", { "DTU genes (both tests)", "non-DTU genes (both tests)", "ineligible genes (both tests)", "DTU transcripts", "non-DTU transcripts", "ineligible transcripts")) expect_equal(tally[[2]], as.vector(sapply(ids, length))) - expect_equal(tally[[2]], c(1, 2, 7, 1, 3, 6, 1, 2, 7, 2, 8, 11)) + expect_equal(tally[[2]], c(2, 2, 7, 2, 3, 6, 2, 2, 7, 4, 8, 11)) expect_false(any(is.na(tally))) # Lower effect size threshold to verify that DTU changes accordingly. mydtu <- call_DTU(annot= sim$annot, boot_data_A= sim$boots_A, boot_data_B= sim$boots_B, name_A= "ONE", name_B= "TWO", qboot=FALSE, rboot=FALSE, verbose = FALSE, dprop_thresh=0.1) expect_silent(ids <- get_dtu_ids(mydtu)) - expect_equal(ids[[1]], c("MIX6", "CC")) + expect_equal(ids[[1]], c("1A1B", "MIX6", "CC")) expect_equal(ids[[2]], c("NN")) expect_equal(ids[[3]], c("LC", "1A1N", "1B1C", "1D1C", "ALLA", "ALLB", "NIB")) - expect_equal(ids[[4]], c("MIX6", "CC")) + expect_equal(ids[[4]], c("1A1B", "MIX6", "CC")) expect_equal(ids[[5]], c("LC", "NN")) expect_equal(ids[[6]], c("1A1N", "1B1C", "1D1C", "ALLA", "ALLB", "NIB")) - expect_equal(ids[[7]], c("MIX6", "CC")) + expect_equal(ids[[7]], c("1A1B", "MIX6", "CC")) expect_equal(ids[[8]], c("NN")) expect_equal(ids[[9]], c("LC", "1A1N", "1B1C", "1D1C", "ALLA", "ALLB", "NIB")) - expect_equal(ids[[10]], c("MIX6.c1", "MIX6.c2", "MIX6.c4", "CC_a", "CC_b")) + expect_equal(ids[[10]], c("1A1B.a", "1A1B.b", "MIX6.c1", "MIX6.c2", "MIX6.c4", "CC_a", "CC_b")) expect_equal(ids[[11]], c("LC2", "MIX6.c3", "2NN", "1NN", "MIX6.nc")) expect_equal(ids[[12]], c("LC1", "1A1N-2", "1B1C.1", "1B1C.2", "1D1C:one", "1D1C:two", "MIX6.d", "ALLA1", "ALLB1", "ALLB2", "NIB.1")) expect_silent(tally <- dtu_summary(mydtu)) expect_equal(tally[[2]], as.vector(sapply(ids, length))) - expect_equal(tally[[2]], c(2, 1, 7, 2, 2, 6, 2, 1, 7, 5, 5, 11)) + expect_equal(tally[[2]], c(3, 1, 7, 3, 2, 6, 3, 1, 7, 7, 5, 11)) }) #============================================================================== @@ -74,7 +74,7 @@ test_that("The isoform switching summaries work", { for (v in ids) { expect_false(any(is.na(v))) } - expect_equal(as.vector(unlist(ids)), c("MIX6", "MIX6", "MIX6", "MIX6", "MIX6", "MIX6")) + expect_equal(as.vector(unlist(ids)), c("1A1B", "MIX6", "MIX6", "1A1B", "MIX6", "MIX6", "1A1B", "MIX6", "MIX6")) expect_silent(tally <- dtu_switch_summary(mydtu)) expect_true(is.data.frame(tally)) @@ -82,7 +82,7 @@ test_that("The isoform switching summaries work", { "Primary switch (transc. test)", "Non-primary switch (transc. test)", "Primary switch (both tests)", "Non-primary switch (both tests)")) expect_false(any(is.na(tally))) - expect_equal(tally[[2]], c(1, 1, 1, 1, 1, 1)) + expect_equal(tally[[2]], c(2, 1, 2, 1, 2, 1)) expect_equal(tally[[2]], as.vector(sapply(ids, length))) }) @@ -98,21 +98,21 @@ test_that("The plurality summaries work", { for (v in ids) { expect_false(any(is.na(v))) } - expect_equal(as.vector(unlist(ids)), c("CC", "MIX6")) + expect_equal(as.vector(unlist(ids)), c("1A1B", "CC", "MIX6")) expect_silent(tally <- dtu_plurality_summary(mydtu)) expect_true(is.data.frame(tally)) expect_equal(tally[[1]], c("2", "3")) expect_false(any(is.na(tally))) - expect_equal(tally[[2]], c(1, 1)) + expect_equal(tally[[2]], c(2, 1)) expect_equal(tally[[2]], as.vector(sapply(ids, length))) mydtu <- call_DTU(annot= sim$annot, boot_data_A= sim$boots_A, boot_data_B= sim$boots_B, name_A= "ONE", name_B= "TWO", qboot=FALSE, rboot=FALSE, verbose = FALSE, dprop_thresh=0.3) expect_silent(ids <- get_plurality_ids(mydtu)) expect_silent(tally <- dtu_plurality_summary(mydtu)) - expect_named(ids, c("1")) - expect_equal(as.vector(unlist(ids)), c("MIX6")) - expect_equal(tally[[2]], c(1)) + expect_named(ids, c("2", "1")) + expect_equal(as.vector(unlist(ids)), c("1A1B", "MIX6")) + expect_equal(tally[[2]], c(1, 1)) }) diff --git a/vignettes/input.Rmd b/vignettes/input.Rmd index 3a383a5..8bbba78 100644 --- a/vignettes/input.Rmd +++ b/vignettes/input.Rmd @@ -1,7 +1,7 @@ --- title: 'RATs: Input and Settings' author: "Kimon Froussios" -date: "19 SEP 2017" +date: "08 MAR 2018" output: html_document: keep_md: yes @@ -273,14 +273,16 @@ The following three main thresholds are used in RATs: # Calling DTU with custom thresholds. mydtu <- call_DTU(annot= myannot, boot_data_A= mycond_A, boot_data_B= mycond_B, - p_thresh= 0.01, abund_thresh= 10, dprop_thres = 0.25) + p_thresh= 0.01, dprop_thres = 0.15, abund_thresh= 10) ``` -1. `p_thresh` - Statistical significance level. P-values below this will be considered significant. Lower threshold values are stricter. (Default 0.05) -2. `abund_thresh` - Noise threshold. Transcripts with abundance below that value in both conditions are ignored. Higher threshold values are stricter. (Default 5, assumes abundances scaled to library size) -3. `dprop_thresh` - Effect size threshold. Transcripts whose proportion changes between conditions by less than the threshold are considered non-DTU, regardless of their statistical significance. Higher threshold values are stricter. (Default 0.20) +1. `p_thresh` - Statistical significance level. P-values below this will be considered significant. Lower threshold values are stricter, and help reduce low-count low-confidence calls. (Default 0.05, very permissive) +2. `dprop_thresh` - Effect size threshold. Transcripts whose proportion changes between conditions by less than this threshold are considered uninteresting, regardless of their statistical significance. (Default 0.20, quite strict) +3. `abund_thresh` - Noise threshold. Minimum mean (across replicates) abundance for a transcript to be considered expressed. Transcripts with mean abundances below this will be ignored. Mean total gene count must also meet this value in both conditions, a.k.a. at least one expressed isoform must exist in each condition. (Default 5, very permissive) + +The default values for these thresholds have been chosen such that they achieve a *median* FDR <5% for a high quality dataset from *Arabidopsis thaliana*, even with only 3 replicates per condition. +Your mileage may vary and you should give some consideration to selecting appropriate values. -The default values for these thresholds have been chosen such that they achieve a *median* FDR <5% for a high quality dataset from *Arabidopsis thaliana*, even with only 3 replicates per condition. Your mileage may vary and you should give some consideration to selecting appropriate values. Depending on the settings, *additional thresholds* are available and will be discussed in their respective sections below. @@ -378,7 +380,7 @@ mydtu <- call_DTU(annot = myannot, 1. `threads` - The number of threads to use. (Default 1) -Due to core R implementation limitations, the type of multi-threading used in RATs works only in POSIX-compliant systems. +Due to core R implementation limitations, the type of multi-threading used in RATs works only in POSIX-compliant systems (Linux, Mac, not Windows). Refer to the `parallel` package for details. @@ -447,14 +449,14 @@ such as those employed by RATs, and reduces the statistical power of the method. To counter this, RATs provides the option to scale abundaces either equally by a single factor (such as average library size among samples) or by a vector of factors (one per sample). The former maintains any pre-existing library-size normalisation among samples. This is necessary for fold-change based methods, but RATs does not require it. Instead, using the respective actual library sizes of the samples allows the -higher-throughput samples to have a bigger influence than the lower-throughput samples. This is particularly relevant if your samples have dissimilar +higher-throughput samples to have a bigger influence than the lower-throughput samples. This is particularly relevant if your samples have very dissimilar library sizes. For flexibility with different types of input, these scaling options can be applied in either of two stages: The data import step by `fish4rodents()`, or the actual testing step by `call_DTU()`. In the example examined previously, `fish4rodents()` was instructed to create TPM abundances, -by normalising to 10000000 reads. Such values are useful with certain other tools that a user may also intend to use. +by normalising to `1000000` reads. Such values are useful with certain other tools that a user may also intend to use. Subsequently, these TPMs were re-scaled to meet the library size of each sample, thus providing RATs with count-like abundance values that retain -the TPM's normalisation by isoform length. However, it is not necessary to scale in two separate steps. +the normalisation by isoform length. However, it is not necessary to scale in two separate steps. Both `fish4rodents()` and `call_DTU()` support scaling by a single value or a vector of values. If you don't need the TPMs, you can scale directly to the desired library size(s), as in the examples below: @@ -495,7 +497,7 @@ mydtu <- call_DTU(annot= myannot, boot_data_A= mydata$boot_data_A, ``` You can mix and match scaling options as per your needs, so take care to ensure that the scaling you apply is appropriate. -It is important to note, that if you simply run both methods with their respective defaults, you'll effectively run RATs +*It is important to note*, that if you simply run both methods with their respective defaults, you'll effectively run RATs on TPM values, which is extremely underpowered and not recommended. Please, provide appropriate scaling factors for your data. @@ -510,10 +512,10 @@ in a meaningful way. All internal operations and the output of RATs are based on the annotation provided: -* Any transcripts present in the data but missing from the annotation will be ignored completely and -will not show up in the output, as there is no reliable way to match them to gene IDs. -* Any transcript/gene present in the annotation but missing from the data will be included in the output as zero expression. -* If the samples appear to use different annotations from one another, RATs will abort. +* Any transcript IDs present in the data but missing from the annotation will be silently ignored and +will not show up in the output, as they cannot be matched to the gene IDs. +* Any transcript/gene ID present in the annotation but missing from the data will be included in the output as zero expression. +* If the samples appear to have been quantified with different annotations from one another, RATs will abort. *** From bb7c95f2cfd6b265694cfd5ee05debebd26ff478 Mon Sep 17 00:00:00 2001 From: fruce-ki <jack_ohara_097@hotmail.com> Date: Fri, 9 Mar 2018 17:53:41 +0000 Subject: [PATCH 2/5] fixes #49 and closes #52 - Explicitly check the transcript IDs in the annotation and quantifications for inconsistencies, and abort if any are found. - Add abort override option for special use cases. - Update docs and tests - Tidy up the input check tests, break them into smaller tests - Get rid of obsolete and almost certainly broken functions for data simulation. --- R/data_simulators.R | 198 +++++------------ R/func.R | 60 +++-- R/rats.R | 23 +- inst/doc/input.R | 9 +- inst/doc/input.Rmd | 33 +-- inst/doc/input.html | 27 ++- inst/doc/output.R | 2 +- inst/doc/output.Rmd | 9 +- inst/doc/output.html | 51 ++--- inst/doc/plots.R | 2 +- inst/doc/plots.Rmd | 2 +- inst/doc/plots.html | 8 +- man/call_DTU.Rd | 6 +- man/combine_sim_dtu.Rd | 19 -- man/countrange_sim.Rd | 26 --- man/parameters_are_good.Rd | 4 +- man/plot_sim.Rd | 16 -- man/sim_boot_data.Rd | 4 +- man/sim_count_data.Rd | 4 +- tests/testthat/test_1_internal-structures.R | 4 +- tests/testthat/test_3_input-checks.R | 232 ++++++++++++-------- tests/testthat/test_4_steps.R | 20 +- tests/testthat/test_5_output.R | 18 +- tests/testthat/test_6_reports.R | 32 ++- vignettes/input.Rmd | 33 +-- vignettes/output.Rmd | 9 +- vignettes/plots.Rmd | 2 +- 27 files changed, 428 insertions(+), 425 deletions(-) delete mode 100644 man/combine_sim_dtu.Rd delete mode 100644 man/countrange_sim.Rd delete mode 100644 man/plot_sim.Rd diff --git a/R/data_simulators.R b/R/data_simulators.R index d7d8a8a..7e7334c 100644 --- a/R/data_simulators.R +++ b/R/data_simulators.R @@ -4,6 +4,7 @@ #' @param TARGET_COL Name for annotation column containing transcript identification. #' @param PARENT_COL Name for the bootdtraps column containing counts. #' @param errannot_inconsistent Logical. Introduces an inconsistency in the transcript IDs, for testing of sanity checks. (FALSE) +#' @param clean Logical. Remove the intentional inconsistency of IDs between annotation and abundances. #' @return A list with 3 elements. First a data.frame with the corresponding annotation. #' Then, 2 lists of data.tables. One list per condition. Each data table represents a sample and contains the estimates from the bootstrap iterations. #' @@ -11,38 +12,63 @@ #' #' @export #' -sim_boot_data <- function(errannot_inconsistent=FALSE, PARENT_COL="parent_id", TARGET_COL="target_id") { +sim_boot_data <- function(errannot_inconsistent=FALSE, PARENT_COL="parent_id", TARGET_COL="target_id", clean=FALSE) { tx <- data.frame(target_id= c("1A1B.a", "1A1B.b", "NIB.1", "1A1N-2", "1D1C:one", "1D1C:two", "1B1C.1", "1B1C.2", "CC_a", "CC_b", "1NN", "2NN", "MIX6.c1", "MIX6.c2", "MIX6.c3", "MIX6.c4", "MIX6.nc", "MIX6.d", "LC1", "LC2", "ALLA1", "ALLB1", "ALLB2"), - parent_id= c("1A1B", "1A1B", "NIB", "1A1N", "1D1C", "1D1C", "1B1C", "1B1C", "CC", "CC", "NN", "NN", "MIX6", "MIX6", "MIX6", "MIX6", "MIX6", "MIX6", "LC", "LC", "ALLA", "ALLB", "ALLB"), + parent_id= c("1A1B", "1A1B", "NIB", "1A1N", "1D1C", "1D1C", "1B1C", "1B1C", "CC", "CC", "NN", "NN", "MIX6", "MIX6", "MIX6", "MIX6", "MIX6", "MIX6", "LC", "LC", "ALLA", "ALLB", "ALLB"), stringsAsFactors=FALSE) names(tx) <- c(TARGET_COL, PARENT_COL) a <- list() - a[[1]] <- data.table("target"= c("1A1B.a", "1A1B.b", "LC1", "NIA1", "NIA2", "1A1N-1", "1A1N-2", "1D1C:one", "1D1C:two", "1B1C.2", "CC_a", "CC_b", "MIX6.c1", "MIX6.c2", "MIX6.c3", "MIX6.c4", "MIX6.nc", "MIX6.d", "1NN", "2NN", "LC2", "ALLA1", "ALLB1", "ALLB2"), - "V1"= c( 69, 0, 3, 333, 666, 10, 20, 0, 76, 52, 20, 50, 103, 321, 0, 100, 90, 0, 10, 30, 4, 50, 0, 0), - "V2"= c( 96, 0, 2, 310, 680, 11, 21, 0, 80, 55, 22, 52, 165, 320, 0, 130, 80, 0, 11, 29, 5, 40, 0, 0), - "V3"= c( 88, 0, 0, 340, 610, 7, 18, 0, 72, 50, 21, 49, 150, 325, 0, 120, 70, 0, 9, 28, 4, 60, 0, 0), - stringsAsFactors=FALSE) - - a[[2]] <- data.table("target"= c("NIA1", "1A1B.a", "1A1B.b", "1A1N-2", "LC1", "NIA2", "1D1C:one", "1D1C:two", "1B1C.2", "MIX6.c1", "1A1N-1", "MIX6.c2", "MIX6.c3", "MIX6.c4", "MIX6.d", "MIX6.nc", "CC_a", "CC_b", "1NN", "2NN", "LC2", "ALLA1", "ALLB1", "ALLB2"), - "V1"= c( 333, 121, 0, 20, 3, 666, 0, 76, 52, 100, 10, 360, 0, 100, 0, 180, 25, 60, 7, 27, 13, 35, 0, 0), - "V2"= c( 330, 144, 0, 11, 4, 560, 0, 80, 55, 90, 11, 380, 0, 80, 0, 240, 23, 55, 10, 31, 2, 55, 0, 0), - stringsAsFactors=FALSE) - b <- list() - b[[1]] <- data.table("target"= c("1A1B.a", "1A1B.b", "NIA1", "LC1", "NIA2", "1A1N-1", "1A1N-2", "1D1C:one", "1D1C:two", "1B1C.2", "CC_a", "CC_b", "MIX6.c1", "MIX6.c2", "MIX6.c3", "MIX6.c4", "MIX6.nc", "MIX6.d", "1NN", "2NN", "LC2", "ALLA1", "ALLB1", "ALLB2"), - "V1"= c( 0, 91, 333, 6, 666, 12, 23, 0, 25, 150, 15, 80, 325, 105, 40, 0, 200, 0, 15, 45, 12, 0, 80, 200), - "V2"= c( 0, 100, 323, 1, 606, 15, 22, 0, 23, 190, 20, 90, 270, 115, 30, 0, 150, 0, 20, 60, 15, 0, 120, 250), - stringsAsFactors=FALSE) - b[[2]] <- data.table("target"= c("NIA2", "1A1N-1", "NIA1", "1A1N-2", "1D1C:one", "1D1C:two", "LC1", "1B1C.2", "MIX6.c2", "MIX6.c3", "MIX6.c1", "MIX6.c4", "MIX6.nc", "MIX6.d", "CC_b", "CC_a", "1NN", "2NN", "LC2", "ALLA1", "ALLB1", "ALLB2", "1A1B.b", "1A1B.a"), - "V1"= c( 666, 12, 333, 23, 0, 25, 0, 150, 155, 40, 300, 0, 33, 0, 93, 22, 22, 61, 11, 0, 110, 210, 76, 0), - "V2"= c( 656, 15, 323, 22, 0, 23, 2, 160, 120, 35, 280, 0, 95, 0, 119, 18, 19, 58, 7, 0, 150, 220, 69, 0), - "V3"= c( 676, 13, 343, 21, 0, 20, 3, 145, 133, 30, 270, 0, 55, 0, 80, 23, 17, 50, 14, 0, 130, 200, 36, 0), - stringsAsFactors=FALSE) + if (clean) { + a[[1]] <- data.table("target"= c("1A1B.a", "1A1B.b", "LC1", "1A1N-2", "1D1C:one", "1D1C:two", "1B1C.2", "CC_a", "CC_b", "MIX6.c1", "MIX6.c2", "MIX6.c3", "MIX6.c4", "MIX6.nc", "MIX6.d", "1NN", "2NN", "LC2", "ALLA1", "ALLB1", "ALLB2", "1B1C.1", "NIB.1"), + "V1"= c( 69, 0, 3, 20, 0, 76, 52, 20, 50, 103, 321, 0, 100, 90, 0, 10, 30, 4, 50, 0, 0, 0, 0), + "V2"= c( 96, 0, 2, 21, 0, 80, 55, 22, 52, 165, 320, 0, 130, 80, 0, 11, 29, 5, 40, 0, 0, 0, 0), + "V3"= c( 88, 0, 0, 18, 0, 72, 50, 21, 49, 150, 325, 0, 120, 70, 0, 9, 28, 4, 60, 0, 0, 0, 0), + stringsAsFactors=FALSE) + + a[[2]] <- data.table("target"= c("1A1B.a", "1A1B.b", "1A1N-2", "LC1", "1D1C:one", "1D1C:two", "1B1C.2", "MIX6.c1", "MIX6.c2", "MIX6.c3", "MIX6.c4", "MIX6.d", "MIX6.nc", "CC_a", "CC_b", "1NN", "2NN", "LC2", "ALLA1", "ALLB1", "ALLB2", "1B1C.1", "NIB.1"), + "V1"= c( 121, 0, 20, 3, 0, 76, 52, 100, 360, 0, 100, 0, 180, 25, 60, 7, 27, 13, 35, 0, 0, 0, 0), + "V2"= c( 144, 0, 11, 4, 0, 80, 55, 90, 380, 0, 80, 0, 240, 23, 55, 10, 31, 2, 55, 0, 0, 0, 0), + stringsAsFactors=FALSE) + + b[[1]] <- data.table("target"= c("1A1B.a", "1A1B.b", "LC1", "1A1N-2", "1D1C:one", "1D1C:two", "1B1C.2", "CC_a", "CC_b", "MIX6.c1", "MIX6.c2", "MIX6.c3", "MIX6.c4", "MIX6.nc", "MIX6.d", "1NN", "2NN", "LC2", "ALLA1", "ALLB1", "ALLB2", "1B1C.1", "NIB.1"), + "V1"= c( 0, 91, 6, 23, 0, 25, 150, 15, 80, 325, 105, 40, 0, 200, 0, 15, 45, 12, 0, 80, 200, 0, 0), + "V2"= c( 0, 100, 1, 22, 0, 23, 190, 20, 90, 270, 115, 30, 0, 150, 0, 20, 60, 15, 0, 120, 250, 0, 0), + stringsAsFactors=FALSE) + + b[[2]] <- data.table("target"= c("1A1N-2", "1D1C:one", "1D1C:two", "LC1", "1B1C.2", "MIX6.c2", "MIX6.c3", "MIX6.c1", "MIX6.c4", "MIX6.nc", "MIX6.d", "CC_b", "CC_a", "1NN", "2NN", "LC2", "ALLA1", "ALLB1", "ALLB2", "1A1B.b", "1A1B.a", "1B1C.1", "NIB.1"), + "V1"= c( 23, 0, 25, 0, 150, 155, 40, 300, 0, 33, 0, 93, 22, 22, 61, 11, 0, 110, 210, 76, 0, 0, 0), + "V2"= c( 22, 0, 23, 2, 160, 120, 35, 280, 0, 95, 0, 119, 18, 19, 58, 7, 0, 150, 220, 69, 0, 0, 0), + "V3"= c( 21, 0, 20, 3, 145, 133, 30, 270, 0, 55, 0, 80, 23, 17, 50, 14, 0, 130, 200, 36, 0, 0, 0), + stringsAsFactors=FALSE) + } else { + a[[1]] <- data.table("target"= c("1A1B.a", "1A1B.b", "LC1", "NIA1", "NIA2", "1A1N-1", "1A1N-2", "1D1C:one", "1D1C:two", "1B1C.2", "CC_a", "CC_b", "MIX6.c1", "MIX6.c2", "MIX6.c3", "MIX6.c4", "MIX6.nc", "MIX6.d", "1NN", "2NN", "LC2", "ALLA1", "ALLB1", "ALLB2"), + "V1"= c( 69, 0, 3, 333, 666, 10, 20, 0, 76, 52, 20, 50, 103, 321, 0, 100, 90, 0, 10, 30, 4, 50, 0, 0), + "V2"= c( 96, 0, 2, 310, 680, 11, 21, 0, 80, 55, 22, 52, 165, 320, 0, 130, 80, 0, 11, 29, 5, 40, 0, 0), + "V3"= c( 88, 0, 0, 340, 610, 7, 18, 0, 72, 50, 21, 49, 150, 325, 0, 120, 70, 0, 9, 28, 4, 60, 0, 0), + stringsAsFactors=FALSE) + + a[[2]] <- data.table("target"= c("NIA1", "1A1B.a", "1A1B.b", "1A1N-2", "LC1", "NIA2", "1D1C:one", "1D1C:two", "1B1C.2", "MIX6.c1", "1A1N-1", "MIX6.c2", "MIX6.c3", "MIX6.c4", "MIX6.d", "MIX6.nc", "CC_a", "CC_b", "1NN", "2NN", "LC2", "ALLA1", "ALLB1", "ALLB2"), + "V1"= c( 333, 121, 0, 20, 3, 666, 0, 76, 52, 100, 10, 360, 0, 100, 0, 180, 25, 60, 7, 27, 13, 35, 0, 0), + "V2"= c( 330, 144, 0, 11, 4, 560, 0, 80, 55, 90, 11, 380, 0, 80, 0, 240, 23, 55, 10, 31, 2, 55, 0, 0), + stringsAsFactors=FALSE) + + b[[1]] <- data.table("target"= c("1A1B.a", "1A1B.b", "NIA1", "LC1", "NIA2", "1A1N-1", "1A1N-2", "1D1C:one", "1D1C:two", "1B1C.2", "CC_a", "CC_b", "MIX6.c1", "MIX6.c2", "MIX6.c3", "MIX6.c4", "MIX6.nc", "MIX6.d", "1NN", "2NN", "LC2", "ALLA1", "ALLB1", "ALLB2"), + "V1"= c( 0, 91, 333, 6, 666, 12, 23, 0, 25, 150, 15, 80, 325, 105, 40, 0, 200, 0, 15, 45, 12, 0, 80, 200), + "V2"= c( 0, 100, 323, 1, 606, 15, 22, 0, 23, 190, 20, 90, 270, 115, 30, 0, 150, 0, 20, 60, 15, 0, 120, 250), + stringsAsFactors=FALSE) + + b[[2]] <- data.table("target"= c("NIA2", "1A1N-1", "NIA1", "1A1N-2", "1D1C:one", "1D1C:two", "LC1", "1B1C.2", "MIX6.c2", "MIX6.c3", "MIX6.c1", "MIX6.c4", "MIX6.nc", "MIX6.d", "CC_b", "CC_a", "1NN", "2NN", "LC2", "ALLA1", "ALLB1", "ALLB2", "1A1B.b", "1A1B.a"), + "V1"= c( 666, 12, 333, 23, 0, 25, 0, 150, 155, 40, 300, 0, 33, 0, 93, 22, 22, 61, 11, 0, 110, 210, 76, 0), + "V2"= c( 656, 15, 323, 22, 0, 23, 2, 160, 120, 35, 280, 0, 95, 0, 119, 18, 19, 58, 7, 0, 150, 220, 69, 0), + "V3"= c( 676, 13, 343, 21, 0, 20, 3, 145, 133, 30, 270, 0, 55, 0, 80, 23, 17, 50, 14, 0, 130, 200, 36, 0), + stringsAsFactors=FALSE) + } if (errannot_inconsistent) - a[[2]][14, 1] <- "Unexpected-name" + b[[1]][14, 1] <- "Unexpected-name" return(list('annot'= tx, 'boots_A'= a, 'boots_B'= b)) } @@ -53,134 +79,14 @@ sim_boot_data <- function(errannot_inconsistent=FALSE, PARENT_COL="parent_id", T #' @param PARENT_COL Name for the bootdtraps column containing counts. #' @param TARGET_COL Name for annotation column containing transcript identification. #' @param errannot_inconsistent Logical. Introduces an inconsistency in the transcript IDs, for testing of sanity checks. (FALSE) +#' @param clean Logical. Remove the intentional inconsistency of IDs between annotation and abundances. #' @return A list with 3 elements. First, a data.frame with the corresponding annotation table. #' Then, 2 data.tables, one per condition. Each data table contains the abundance estimates for all the samples for the respective condition. #' #' @export #' -sim_count_data <- function(errannot_inconsistent=FALSE, PARENT_COL="parent_id", TARGET_COL="target_id") { - sim <- sim_boot_data(errannot_inconsistent=errannot_inconsistent, PARENT_COL=PARENT_COL, TARGET_COL=TARGET_COL) +sim_count_data <- function(errannot_inconsistent=FALSE, PARENT_COL="parent_id", TARGET_COL="target_id", clean=FALSE) { + sim <- sim_boot_data(errannot_inconsistent=errannot_inconsistent, PARENT_COL=PARENT_COL, TARGET_COL=TARGET_COL, clean=clean) return(list('annot'=sim$annot, 'counts_A'= sim$boots_A[[1]], 'counts_B'= sim$boots_B[[1]])) } - - -#=============================================================================== -#' Generate artificial read-count data for simulated 2-transcript genes, -#' systematically covering a broad range of proportions and magnitudes. -#' -#' For each level of transcript proportions in condition A, all proportion levels are -#' generated for condition B as possible new states. Therefore the number of transcripts -#' generated is 2 * N^2 * M, where 2 is the number of gene isoforms per paramater combination, -#' N is the number of proportion levels and M the number of magnitude levels. -#' -#' @param proportions Range and step of proportions for 1st transcript. Sibling transcript complemented from these. -#' @param magnitudes vector of read-count sizes to use. -#' @return list containing: \code{data} a minimal sleuth-like object. -#' \code{anno} a dataframe matching \code{target_id} to \code{parent_id}. -#' \code{sim} a dataframe with the simulation parameters per transcript. -#' -# @export -countrange_sim <- function(proportions= seq(0, 1, 0.01), - magnitudes= c(1,5,10,30,100,500,1000)) { - # Combine proportions and magnitudes. - # Start by grid-ing the values for easier visualization and naming, instead of computing the outer products directly. - grd <- expand.grid(c("t1", "t2"), proportions, proportions, magnitudes) - names(grd) <- c("sibl", "propA", "propB", "mag") - # Name the "transcripts". - opts <- options() - options(scipen=0, digits=3) - grd["parent_id"] <- paste(grd$mag, "_a", grd$propA,"_b", grd$propB, sep="") - grd["target_id"] <- paste(grd$parent_id, grd$sibl, sep="_") - options(scipen=opts$scipen, digits=opts$digits) - # Complementary proportions - grd[grd$sibl == "t2", c("propA", "propB")] <- c(1-grd$propA[grd$sibl == "t2"], 1-grd$propB[grd$sibl == "t2"]) - - # Make a sleuth-like object. - sl <- list() - sl["kal"] <- list() - sl[["sample_to_covariates"]] <- data.frame("sample"=c("A-1", "B-1"), "condition"=c("A", "B")) - # condition A - sl$kal[[1]] <- list() - sl$kal[[1]]["bootstrap"] <- list() - sl$kal[[1]]$bootstrap[[1]] <- data.frame("target_id"=grd$target_id, "est_counts"=grd$propA * grd$mag) - # condition B - sl$kal[[2]] <- list() - sl$kal[[2]]["bootstrap"] <- list() - sl$kal[[2]]$bootstrap[[1]] <- data.frame("target_id"=grd$target_id, "est_counts"=grd$propB * grd$mag) - - # Create annotation: - anno <- data.frame("target_id"=grd$target_id, "parent_id"=grd$parent_id) - - # Store simulation for ease. - results <- list("data"=sl, "anno"=anno, "sim"=grd) - - return(results) -} - - -#=============================================================================== -#' Combine simulation details with DTU calls, in preparation for plotting. -#' -#' @param sim An object generated with countrange_sim(), containing the simulated data details with which the \code{dtu} object was calculated. -#' @param dtuo The object with the DTU results corresponding to the \code{sim} object's data. -#' @return dataframe -#' -#' @import data.table -# @export -combine_sim_dtu <- function(sim, dtuo) { - with(dtuo, { - results <- data.table(Genes[, list(parent_id, pval_AB, pval_BA, dtu_AB, dtu_BA, dtu, pval_prop_min, dtu_prop)]) - setkey(results, parent_id) - tmp <- data.table(sim$sim[sim$sim["sibl"]=="t2", c("parent_id", "propA", "mag", "propB")]) - setkey(tmp, parent_id) - results <- merge(results, tmp, by="parent_id") - return(results) - }) -} - - -#=============================================================================== -#' Plot relationship of parameters. -#' -#' @param data the output from combine_sim_dtu() -#' @param type (str) "AvBvM", "B/AvM", "AvBvMprop", "B/AvMprop", "B-AvM" -#' -#' @import ggplot2 -#' @import data.table -# @export -plot_sim <- function(data, type = "AvBvM") { - with(data, { - if(type =="AvBvM"){ - return( - ggplot(data[order(dtu, propA, propB), ], aes(x=propA, y=propB, color=dtu)) + - labs(x="Prop t1 in A", y = "Prop t1 in B") + - scale_color_manual(values=c("lightblue","red")) + - geom_point() + - facet_grid(. ~ mag) - ) - } else if(type == "B/AvM") { - return( - ggplot(data[order(dtu, mag), ], aes(x=propB/propA, y=mag, color=dtu)) + - labs(x="Prop t1 in B / Prop t1 in A", y = "Gene magnitude") + - scale_color_manual(values=c("lightblue","red")) + - geom_point() - ) - } else if(type =="AvBvMprop"){ - return( - ggplot(data[order(dtu_prop, propA, propB), ], aes(x=propA, y=propB, color=dtu_prop)) + - labs(x="Prop t1 in A", y = "Prop t1 in B") + - scale_color_manual(values=c("lightblue","red")) + - geom_point() + - facet_grid(. ~ mag) - ) - } else if(type == "B/AvMprop") { - return( - ggplot(data[order(dtu_prop, mag), ], aes(x=propB/propA, y=mag, color=dtu_prop)) + - labs(x="Prop t1 in B / Prop t1 in A", y = "Gene magnitude") + - scale_color_manual(values=c("lightblue","red")) + - geom_point() - ) - } - }) -} diff --git a/R/func.R b/R/func.R index a674b27..bca65ba 100644 --- a/R/func.R +++ b/R/func.R @@ -21,6 +21,7 @@ #' @param threads Number of threads. #' @param seed Seed for random engine. #' @param scaling Abundance scaling factor. +#' @param reckless whether to ignore detected annotation discrepancies #' #' @return List: \itemize{ #' \item{"error"}{logical} @@ -36,7 +37,7 @@ parameters_are_good <- function(annot, count_data_A, count_data_B, boot_data_A, TARGET_COL, PARENT_COL, correction, testmode, scaling, threads, seed, p_thresh, abund_thresh, dprop_thresh, - qboot, qbootnum, qrep_thresh, rboot, rrep_thresh) { + qboot, qbootnum, qrep_thresh, rboot, rrep_thresh, reckless) { warnmsg <- list() # Input format. @@ -48,14 +49,16 @@ parameters_are_good <- function(annot, count_data_A, count_data_B, boot_data_A, return(list("error"=TRUE, "message"="You must specify (the same type of) data for both conditions!")) # Annotation. + if (!is.logical(reckless) || is.na(reckless)) + return(list("error"=TRUE, "message"="Invalid value to reckless!")) if (!is.data.frame(annot)) return(list("error"=TRUE, "message"="The provided annot is not a data.frame!")) if (any(!c(TARGET_COL, PARENT_COL) %in% names(annot))) return(list("error"=TRUE, "message"="The specified target and/or parent IDs field names do not exist in annot!")) - if (length(annot$target_id) != length(unique(annot$target_id))) + if (length(annot[[TARGET_COL]]) != length(unique(annot[[TARGET_COL]]))) return(list("error"=TRUE, "message"="Some transcript identifiers are not unique!")) - - # Parameters. + + # Simple parameters. if (!correction %in% p.adjust.methods) return(list("error"=TRUE, "message"="Invalid p-value correction method name. Refer to stats::p.adjust.methods .")) if (!testmode %in% c("genes", "transc", "both")) @@ -80,6 +83,8 @@ parameters_are_good <- function(annot, count_data_A, count_data_B, boot_data_A, return(list("error"=TRUE, "message"="Invalid number of threads! Must be positive integer.")) if (threads > parallel::detectCores(logical= TRUE)) return(list("error"=TRUE, "message"="Number of threads exceeds system's reported capacity.")) + + # Scaling nsmpl <- NULL if (!is.null(count_data_A)){ nsmpl <- dim(count_data_A)[2] + dim(count_data_B)[2] @@ -103,8 +108,20 @@ parameters_are_good <- function(annot, count_data_A, count_data_B, boot_data_A, if(is.null(boot_data_A)) { if (!is.data.table(count_data_A) | !is.data.table(count_data_B)) return(list("error"=TRUE, "message"="The counts data are not data.tables!")) - if (!all( count_data_A[[1]][order(count_data_A[[1]])] == count_data_B[[1]][order(count_data_B[[1]])] )) - return(list("error"=TRUE, "message"="Inconsistent set of transcript IDs between conditions!")) + if ( !all(count_data_A[[1]] %in% annot[[TARGET_COL]]) && !all(annot[[TARGET_COL]] %in% count_data_A[[1]]) ) { + if(reckless){ + warnmsg["annotation-mismatch"] <- "The transcript IDs in the quantifications and the annotation do not match completely! Did you use different annotations? Reckless mode enabled, continuing at your own risk..." + } else { + return(list("error"=TRUE, "message"="The transcript IDs in the quantifications and the annotation do not match completely! Did you use different annotations?")) + } + } + if (!all( count_data_A[[1]][order(count_data_A[[1]])] == count_data_B[[1]][order(count_data_B[[1]])] )) { + if (reckless) { + warnmsg["countIDs"] <- "Transcript IDs do not match completely between conditions! Did you use different annotations? Reckless mode enabled, continuing at your own risk..." + } else { + return(list("error"=TRUE, "message"="Transcript IDs do not match completely between conditions! Did you use different annotations?")) + } + } } else { warnmsg["cnts&boots"] <- "Received multiple input formats! Only the bootstrapped data will be used." } @@ -119,17 +136,33 @@ parameters_are_good <- function(annot, count_data_A, count_data_B, boot_data_A, } maxmatrix <- 2^31 - 1 if (qboot) { - # Consistency, if (!is.null(boot_data_A)) { - # Direct data. + # Compared to annotation. + if ( !all(boot_data_A[[1]][[1]] %in% annot[[TARGET_COL]]) && !all(annot[[TARGET_COL]] %in% boot_data_A[[1]][[1]]) ) { + if(reckless){ + warnmsg["annotation-mismatch"] <- "The transcript IDs in the quantifications and the annotation do not match completely! Did you use different annotations? Reckless mode enabled, continuing at your own risk..." + } else { + return(list("error"=TRUE, "message"="The transcript IDs in the quantifications and the annotation do not match completely! Did you use different annotations?")) + } + } + # Among samples tx <- boot_data_A[[1]][[1]][order(boot_data_A[[1]][[1]])] for (k in 2:length(boot_data_A)){ - if (!all( tx == boot_data_A[[k]][[1]][order(boot_data_A[[k]][[1]])] )) - return(list("error"=TRUE, "message"="Inconsistent set of transcript IDs across samples!")) + if (!all( tx == boot_data_A[[k]][[1]][order(boot_data_A[[k]][[1]])] )) { + if (reckless) { + warnmsg[paste0("bootIDs-A", k)] <- paste0("Inconsistent set of transcript IDs across samples (A", k, ")! Did you use different annotations? Reckless mode enabled, continuing at your own risk...") + } else { + return(list("error"=TRUE, "message"="Inconsistent set of transcript IDs across samples! Did you use different annotations?")) + } + } } for (k in 1:length(boot_data_B)){ if (!all( tx == boot_data_B[[k]][[1]][order(boot_data_B[[k]][[1]])] )) - return(list("error"=TRUE, "message"="Inconsistent set of transcript IDs across samples!")) + if (reckless) { + warnmsg[paste0("bootIDs-B", k)] <- paste0("Inconsistent set of transcript IDs across samples (B", k, ")! Did you use different annotations? Reckless mode enabled, continuing at your own risk...") + } else { + return(list("error"=TRUE, "message"="Inconsistent set of transcript IDs across samples! Did you use different annotations?")) + } } # Number of iterations. @@ -156,7 +189,7 @@ parameters_are_good <- function(annot, count_data_A, count_data_B, boot_data_A, if (rboot & any( length(samples_by_condition[[1]]) * length(samples_by_condition[[2]]) > maxmatrix/dim(annot)[1], length(boot_data_A) * length(boot_data_B) > maxmatrix/dim(annot)[1] ) ) warnmsg["toomanyreplicates"] <- "The number of replicates is too high. Exhaustive 1vs1 would exceed maximum capacity of an R matrix." - + return(list("error"=FALSE, "message"="All good!", "maxboots"=minboots, "warn"=(length(warnmsg) > 0), "warnings"= warnmsg)) } @@ -205,7 +238,7 @@ alloc_out <- function(annot, full, n=1){ "abund_scaling"=numeric(length=n), "quant_boot"=NA,"quant_reprod_thresh"=NA_real_, "quant_bootnum"=NA_integer_, "rep_boot"=NA, "rep_reprod_thresh"=NA_real_, "rep_bootnum"=NA_integer_, - "seed"=NA_integer_) + "seed"=NA_integer_, "reckless"=NA) Genes <- data.table("parent_id"=as.vector(unique(annot$parent_id)), "elig"=NA, "sig"=NA, "elig_fx"=NA, "quant_reprod"=NA, "rep_reprod"=NA, "DTU"=NA, "transc_DTU"=NA, "known_transc"=NA_integer_, "detect_transc"=NA_integer_, "elig_transc"=NA_integer_, "maxDprop"=NA_real_, @@ -497,3 +530,4 @@ group_samples <- function(covariates) { } +#EOF diff --git a/R/rats.R b/R/rats.R index eb5d327..bce8e9e 100644 --- a/R/rats.R +++ b/R/rats.R @@ -33,7 +33,8 @@ #' @param verbose Display progress updates and warnings. (Default \code{TRUE}) #' @param threads Number of threads to use. (Default 1) Multi-threading will be ignored on non-POSIX systems. #' @param seed A numeric integer used to initialise the random number engine. Use this only if reproducible bootstrap selections are required. (Default NA) -#' @param dbg Debugging mode. Interrupt execution at the specified flag-point. Used to speed up code-tests by avoiding irrelevant downstream processing. (Default 0: do not interrupt) +#' @param reckless RATs normally aborts if any inconsistency is detected among the transcript IDs found in the annotation and the quantifications. Enabling reckless mode will downgrade this error to a warning and allow RATs to continue the run. Not recommended unless you know why the inconsistency exists and how it will affect the results. (Default FALSE) +#' @param dbg Debugging mode only. Interrupt execution at the specified flag-point. Used to speed up code-tests by avoiding irrelevant downstream processing. (Default 0: do not interrupt) #' @return List of mixed types. Contains a list of runtime settings, a table of gene-level results, a table of transcript-level results, and a list of two tables with the transcript abundaces. #' #' @import utils @@ -46,7 +47,7 @@ call_DTU <- function(annot= NULL, TARGET_COL= "target_id", PARENT_COL= "parent_i name_A= "Condition-A", name_B= "Condition-B", varname= "condition", p_thresh= 0.05, abund_thresh= 5, dprop_thresh= 0.2, correction= "BH", scaling= 1, testmode= "both", qboot= TRUE, qbootnum= 0L, qrep_thresh= 0.95, rboot=TRUE, rrep_thresh= 0.85, - description= NA_character_, verbose= TRUE, threads= 1L, seed=NA_integer_, dbg= "0") + description= NA_character_, verbose= TRUE, threads= 1L, seed=NA_integer_, reckless=FALSE, dbg= "0") { #---------- PREP @@ -60,7 +61,7 @@ call_DTU <- function(annot= NULL, TARGET_COL= "target_id", PARENT_COL= "parent_i TARGET_COL, PARENT_COL, correction, testmode, scaling, threads, seed, p_thresh, abund_thresh, dprop_thresh, - qboot, qbootnum, qrep_thresh, rboot, rrep_thresh) + qboot, qbootnum, qrep_thresh, rboot, rrep_thresh, reckless) if (paramcheck$error) stop(paramcheck$message) if (verbose) @@ -243,6 +244,7 @@ call_DTU <- function(annot= NULL, TARGET_COL= "target_id", PARENT_COL= "parent_i resobj$Parameters[["quant_reprod_thresh"]] <- qrep_thresh resobj$Parameters[["quant_bootnum"]] <- qbootnum resobj$Parameters[["rep_reprod_thresh"]] <- rrep_thresh + resobj$Parameters[["reckless"]] <- reckless if (dbg == "info") return(resobj) @@ -469,6 +471,19 @@ call_DTU <- function(annot= NULL, TARGET_COL= "target_id", PARENT_COL= "parent_i Transcripts[is.na(rep_reprod), rep_reprod := c(FALSE)] Transcripts[is.na(DTU), DTU := c(FALSE)] Transcripts[is.na(gene_DTU), gene_DTU := c(FALSE)] + # Eradicate NAs from count columns, as they mess up plotting. These would be caused by inconsistencies between annotation and quantifications, and would only exist in "reckless" mode. + for (i in 1:Parameters$num_replic_A){ + idx <- is.na(Abundances[[1]][[paste0('V',i)]]) + Abundances[[1]][idx, paste0('V',i) := 0] + } + for (i in 1:Parameters$num_replic_B){ + idx <- is.na(Abundances[[2]][[paste0('V',i)]]) + Abundances[[2]][idx, paste0('V',i) := 0] + } + Transcripts[is.na(meanA), meanA := c(0)] + Transcripts[is.na(meanB), meanB := c(0)] + Transcripts[is.na(propA), propA := c(0)] + Transcripts[is.na(propB), propB := c(0)] # Drop the bootstrap columns, if unused. if (!qboot || !test_transc) @@ -495,4 +510,4 @@ call_DTU <- function(annot= NULL, TARGET_COL= "target_id", PARENT_COL= "parent_i return(resobj) } - +#EOF diff --git a/inst/doc/input.R b/inst/doc/input.R index 1c840cb..8296540 100644 --- a/inst/doc/input.R +++ b/inst/doc/input.R @@ -21,7 +21,7 @@ head(sim_count_data()[[1]]) ## ---- eval=FALSE--------------------------------------------------------- # # Simulate some data. -# simdat <- sim_count_data() +# simdat <- sim_count_data(clean=TRUE) # # For convenience let's assign the contents of the list to separate variables # mycond_A <- simdat[[2]] # Simulated abundances for one condition. # mycond_B <- simdat[[3]] # Simulated abundances for other condition. @@ -39,7 +39,7 @@ head(sim_count_data()[[1]]) ## ------------------------------------------------------------------------ # Simulate some data. (Notice it is a different function than before.) -simdat <- sim_boot_data() +simdat <- sim_boot_data(clean=TRUE) # For convenience let's assign the contents of the list to separate variables mycond_A <- simdat[[2]] # Simulated bootstrapped data for one condition. @@ -169,3 +169,8 @@ myannot <- simdat[[1]] # Transcript and gene IDs for the above data. # boot_data_B= mydata$boot_data_B, # scaling=c(25, 26.7, 23, 50.0, 45, 48.46, 52.36)) +## ---- eval=FALSE--------------------------------------------------------- +# mydtu <- call_DTU(annot= myannot, boot_data_A= mydata$boot_data_A, +# boot_data_B= mydata$boot_data_B, +# reckless=TRUE, verbose=TRUE) + diff --git a/inst/doc/input.Rmd b/inst/doc/input.Rmd index 8bbba78..be59177 100644 --- a/inst/doc/input.Rmd +++ b/inst/doc/input.Rmd @@ -103,8 +103,8 @@ RATs comes with data emulators, intended to be used for testing the code. Howeve use for showcasing how RATs works. By default, RATs reports on its progress and produces a summary report. These can be suppressed using the -`verbose = FALSE` parameter to the call. To prevent cluttering this tutorial with verbose output, we will use this -option in all the examples. +`verbose = FALSE` parameter. This also suppresses some warnings generated by RATs when checking the sanity of its input, +so we do not recommend it for general use. However, to prevent cluttering this tutorial with verbose output, we will use this option in our examples. If you choose to allow verbose output when trying out the examples below using the emulated data, you will get some **warnings** about the number of bootstraps. The warning is triggered because the emulated dataset used in the examples immitates only the structure of @@ -120,7 +120,7 @@ First, let's emulate some data to work with: ```{r, eval=FALSE} # Simulate some data. -simdat <- sim_count_data() +simdat <- sim_count_data(clean=TRUE) # For convenience let's assign the contents of the list to separate variables mycond_A <- simdat[[2]] # Simulated abundances for one condition. mycond_B <- simdat[[3]] # Simulated abundances for other condition. @@ -162,7 +162,7 @@ First, let's emulate some data, as we did before. ```{r} # Simulate some data. (Notice it is a different function than before.) -simdat <- sim_boot_data() +simdat <- sim_boot_data(clean=TRUE) # For convenience let's assign the contents of the list to separate variables mycond_A <- simdat[[2]] # Simulated bootstrapped data for one condition. @@ -501,22 +501,29 @@ You can mix and match scaling options as per your needs, so take care to ensure on TPM values, which is extremely underpowered and not recommended. Please, provide appropriate scaling factors for your data. -*** - - -# Annotation discrepancies +## Annotation discrepancies Different annotation versions often preserve transcript IDs, despite altering the details of the transcript model. +They also tend to include more or fewer transcripts, affecting the result of quantification. It is important to use the same annotation throughout the workflow, otherwise the abundances will not be comparable in a meaningful way. -All internal operations and the output of RATs are based on the annotation provided: +RATs will abort the run if the set of feature IDs in the provided annotation does not match fully the set of IDs in the quantifications. +If this happens, ensure you are using the exact same annotation throughout your workflow. + +For special use cases, RATs provides the option to ignore the discrepancy and pretend everything is OK. Do this at your own risk. + +```{r, eval=FALSE} +mydtu <- call_DTU(annot= myannot, boot_data_A= mydata$boot_data_A, + boot_data_B= mydata$boot_data_B, + reckless=TRUE, verbose=TRUE) +``` + -* Any transcript IDs present in the data but missing from the annotation will be silently ignored and -will not show up in the output, as they cannot be matched to the gene IDs. -* Any transcript/gene ID present in the annotation but missing from the data will be included in the output as zero expression. -* If the samples appear to have been quantified with different annotations from one another, RATs will abort. +In reckless mode, all internal operations and the output of RATs are based on the annotation provided: +* Any transcript IDs present in the data but missing from the annotation will be ignored and will not show up in the output at all, as they cannot be matched to the gene IDs. +* Any transcript ID present in the annotation but missing from the data will be included in the output as zero expression. They can be identified later as `NA` values in `$Transcripts[, .(stdevA, stdevB)]` as these fields are not used downstream by RATs. `NA` values in other numeric fields are explicitly overwritten with `0` to allow downstream interoperability. *** diff --git a/inst/doc/input.html b/inst/doc/input.html index 6d5aa38..65d0336 100644 --- a/inst/doc/input.html +++ b/inst/doc/input.html @@ -276,14 +276,14 @@ <h2>Annotation</h2> <div id="calling-dtu" class="section level1"> <h1>Calling DTU</h1> <p>To bypass the complexity of involving third-party tools in this tutorial, we will instead use <strong>emulated data</strong>. RATs comes with data emulators, intended to be used for testing the code. However, they are also convenient to use for showcasing how RATs works.</p> -<p>By default, RATs reports on its progress and produces a summary report. These can be suppressed using the <code>verbose = FALSE</code> parameter to the call. To prevent cluttering this tutorial with verbose output, we will use this option in all the examples.</p> +<p>By default, RATs reports on its progress and produces a summary report. These can be suppressed using the <code>verbose = FALSE</code> parameter. This also suppresses some warnings generated by RATs when checking the sanity of its input, so we do not recommend it for general use. However, to prevent cluttering this tutorial with verbose output, we will use this option in our examples.</p> <p>If you choose to allow verbose output when trying out the examples below using the emulated data, you will get some <strong>warnings</strong> about the number of bootstraps. The warning is triggered because the emulated dataset used in the examples immitates only the structure of real data, not the actual volume of it, and as such it contains unrealistically few bootstrap iterations. Simply ignore these warnings for these examples.</p> <div id="dtu-from-abundance-estimates-without-bootstraps" class="section level3"> <h3>DTU from abundance estimates, without bootstraps</h3> <p>This is the simplest usage case, and your likely input type if you use quantifications methods other than Kallisto and Salmon.</p> <p>First, let’s emulate some data to work with:</p> <pre class="r"><code># Simulate some data. -simdat <- sim_count_data() +simdat <- sim_count_data(clean=TRUE) # For convenience let's assign the contents of the list to separate variables mycond_A <- simdat[[2]] # Simulated abundances for one condition. mycond_B <- simdat[[3]] # Simulated abundances for other condition. @@ -321,7 +321,7 @@ <h4>Advanced options</h4> <h3>DTU from bootstrapped abundance estimates</h3> <p>First, let’s emulate some data, as we did before.</p> <pre class="r"><code># Simulate some data. (Notice it is a different function than before.) -simdat <- sim_boot_data() +simdat <- sim_boot_data(clean=TRUE) # For convenience let's assign the contents of the list to separate variables mycond_A <- simdat[[2]] # Simulated bootstrapped data for one condition. @@ -564,20 +564,23 @@ <h2>Abundance scaling</h2> boot_data_B= mydata$boot_data_B, scaling=c(25, 26.7, 23, 50.0, 45, 48.46, 52.36))</code></pre> <p>You can mix and match scaling options as per your needs, so take care to ensure that the scaling you apply is appropriate. <em>It is important to note</em>, that if you simply run both methods with their respective defaults, you’ll effectively run RATs on TPM values, which is extremely underpowered and not recommended. Please, provide appropriate scaling factors for your data.</p> -<hr /> -</div> </div> -<div id="annotation-discrepancies" class="section level1"> -<h1>Annotation discrepancies</h1> -<p>Different annotation versions often preserve transcript IDs, despite altering the details of the transcript model. It is important to use the same annotation throughout the workflow, otherwise the abundances will not be comparable in a meaningful way.</p> -<p>All internal operations and the output of RATs are based on the annotation provided:</p> +<div id="annotation-discrepancies" class="section level2"> +<h2>Annotation discrepancies</h2> +<p>Different annotation versions often preserve transcript IDs, despite altering the details of the transcript model. They also tend to include more or fewer transcripts, affecting the result of quantification. It is important to use the same annotation throughout the workflow, otherwise the abundances will not be comparable in a meaningful way.</p> +<p>RATs will abort the run if the set of feature IDs in the provided annotation does not match fully the set of IDs in the quantifications. If this happens, ensure you are using the exact same annotation throughout your workflow.</p> +<p>For special use cases, RATs provides the option to ignore the discrepancy and pretend everything is OK. Do this at your own risk.</p> +<pre class="r"><code>mydtu <- call_DTU(annot= myannot, boot_data_A= mydata$boot_data_A, + boot_data_B= mydata$boot_data_B, + reckless=TRUE, verbose=TRUE)</code></pre> +<p>In reckless mode, all internal operations and the output of RATs are based on the annotation provided:</p> <ul> -<li>Any transcript IDs present in the data but missing from the annotation will be silently ignored and will not show up in the output, as they cannot be matched to the gene IDs.</li> -<li>Any transcript/gene ID present in the annotation but missing from the data will be included in the output as zero expression.</li> -<li>If the samples appear to have been quantified with different annotations from one another, RATs will abort.</li> +<li>Any transcript IDs present in the data but missing from the annotation will be ignored and will not show up in the output at all, as they cannot be matched to the gene IDs.</li> +<li>Any transcript ID present in the annotation but missing from the data will be included in the output as zero expression. They can be identified later as <code>NA</code> values in <code>$Transcripts[, .(stdevA, stdevB)]</code> as these fields are not used downstream by RATs. <code>NA</code> values in other numeric fields are explicitly overwritten with <code>0</code> to allow downstream interoperability.</li> </ul> <hr /> </div> +</div> <div id="contact-information" class="section level1"> <h1>Contact information</h1> <p>The <code>rats</code> R package was developed within <a href="http://www.compbio.dundee.ac.uk">The Barton Group</a> at <a href="http://www.dundee.ac.uk">The University of Dundee</a> by Dr. Kimon Froussios, Dr. Kira Mourão and Dr. Nick Schurch.</p> diff --git a/inst/doc/output.R b/inst/doc/output.R index 2980c01..02841ce 100644 --- a/inst/doc/output.R +++ b/inst/doc/output.R @@ -6,7 +6,7 @@ library(rats) ## ------------------------------------------------------------------------ # Simulate some data. -simdat <- sim_boot_data() +simdat <- sim_boot_data(clean=TRUE) # For convenience let's assign the contents of the list to separate variables mycond_A <- simdat[[2]] # Simulated bootstrapped data for one condition. mycond_B <- simdat[[3]] # Simulated bootstrapped data for other condition. diff --git a/inst/doc/output.Rmd b/inst/doc/output.Rmd index 2d91416..16f6b28 100644 --- a/inst/doc/output.Rmd +++ b/inst/doc/output.Rmd @@ -1,7 +1,7 @@ --- title: 'RATs: Raw Output' author: "Kimon Froussios" -date: "05 JAN 2018" +date: "09 MAR 2018" output: html_document: keep_md: yes @@ -31,7 +31,7 @@ Set up an example. ```{r} # Simulate some data. -simdat <- sim_boot_data() +simdat <- sim_boot_data(clean=TRUE) # For convenience let's assign the contents of the list to separate variables mycond_A <- simdat[[2]] # Simulated bootstrapped data for one condition. mycond_B <- simdat[[3]] # Simulated bootstrapped data for other condition. @@ -168,9 +168,10 @@ print( names(mydtu$Parameters) ) * `rep_reprod_thresh` - (num) The value passed to the `rrep_thresh` parameter, if `rboot==TRUE`.. * `rep_boot` - (bool) The value passed to the `rboot` parameter. * `rep_bootnum` - (int) The number of replicate bootstrapping iterations (currently M*N, where M and N are the numbers of samples in the two conditions), if `rboot==TRUE`. -* `seed` - (int) Custom seed for the random generator. +* `seed` - (int) Custom seed for the random generator. `NA` if none was specified. +* `reckless` - (bool) The value passed to the `reckless` parameter. -**Note:** If bootstraps are disabled, the bootstrap-related fields may have `NA` values despite any values that were passed to their respective parameters. +**Note:** If bootstraps are disabled, the bootstrap-related fields may be `NA`, regardless of supplied values, to reflect the fact that they were not used. ## Genes diff --git a/inst/doc/output.html b/inst/doc/output.html index e2ad2cb..3ff92f1 100644 --- a/inst/doc/output.html +++ b/inst/doc/output.html @@ -11,7 +11,7 @@ <meta name="author" content="Kimon Froussios" /> -<meta name="date" content="2018-01-05" /> +<meta name="date" content="2018-03-09" /> <title>RATs: Raw Output</title> @@ -219,7 +219,7 @@ <h1 class="title toc-ignore">RATs: Raw Output</h1> <h4 class="author"><em>Kimon Froussios</em></h4> -<h4 class="date"><em>05 JAN 2018</em></h4> +<h4 class="date"><em>09 MAR 2018</em></h4> </div> @@ -228,7 +228,7 @@ <h4 class="date"><em>05 JAN 2018</em></h4> <pre class="r"><code>library(rats)</code></pre> <p>Set up an example.</p> <pre class="r"><code># Simulate some data. -simdat <- sim_boot_data() +simdat <- sim_boot_data(clean=TRUE) # For convenience let's assign the contents of the list to separate variables mycond_A <- simdat[[2]] # Simulated bootstrapped data for one condition. mycond_B <- simdat[[3]] # Simulated bootstrapped data for other condition. @@ -253,17 +253,17 @@ <h2>Summary of DTU</h2> <pre class="r"><code># A really simple tally of the outcome. print( dtu_summary(mydtu) )</code></pre> <pre><code>## category tally -## 1 DTU genes (gene test) 3 -## 2 non-DTU genes (gene test) 1 +## 1 DTU genes (gene test) 2 +## 2 non-DTU genes (gene test) 2 ## 3 ineligible genes (gene test) 7 -## 4 DTU genes (transc. test) 3 -## 5 non-DTU genes (transc. test) 2 +## 4 DTU genes (transc. test) 2 +## 5 non-DTU genes (transc. test) 3 ## 6 ineligible genes (transc. test) 6 -## 7 DTU genes (both tests) 3 -## 8 non-DTU genes (both tests) 1 +## 7 DTU genes (both tests) 2 +## 8 non-DTU genes (both tests) 2 ## 9 ineligible genes (both tests) 7 -## 10 DTU transcripts 7 -## 11 non-DTU transcripts 5 +## 10 DTU transcripts 5 +## 11 non-DTU transcripts 7 ## 12 ineligible transcripts 11</code></pre> <p>RATs tests for DTU at both the gene level and the transcript level. Therefore, as of v0.4.2, <code>dtu_summury()</code> will display the DTU genes according to either method as well as the intersection of the two.</p> <p>The <code>get_dtu_ids()</code> function lists the coresponding identifiers per category. As of <code>v0.4.2</code> it uses the same category names as <code>dtu_summury()</code> for consistency and clarity.</p> @@ -271,37 +271,37 @@ <h2>Summary of DTU</h2> ids <- get_dtu_ids(mydtu) print( ids )</code></pre> <pre><code>## $`DTU genes (gene test)` -## [1] "1A1B" "MIX6" "CC" +## [1] "1A1B" "MIX6" ## ## $`non-DTU genes (gene test)` -## [1] "NN" +## [1] "CC" "NN" ## ## $`ineligible genes (gene test)` ## [1] "LC" "1A1N" "1B1C" "1D1C" "ALLA" "ALLB" "NIB" ## ## $`DTU genes (transc. test)` -## [1] "1A1B" "MIX6" "CC" +## [1] "1A1B" "MIX6" ## ## $`non-DTU genes (transc. test)` -## [1] "LC" "NN" +## [1] "LC" "CC" "NN" ## ## $`ineligible genes (transc. test)` ## [1] "1A1N" "1B1C" "1D1C" "ALLA" "ALLB" "NIB" ## ## $`DTU genes (both tests)` -## [1] "1A1B" "MIX6" "CC" +## [1] "1A1B" "MIX6" ## ## $`non-DTU genes (both tests)` -## [1] "NN" +## [1] "CC" "NN" ## ## $`ineligible genes (both tests)` ## [1] "LC" "1A1N" "1B1C" "1D1C" "ALLA" "ALLB" "NIB" ## ## $`DTU transcripts` -## [1] "1A1B.a" "1A1B.b" "MIX6.c1" "MIX6.c2" "MIX6.c4" "CC_a" "CC_b" +## [1] "1A1B.a" "1A1B.b" "MIX6.c1" "MIX6.c2" "MIX6.c4" ## ## $`non-DTU transcripts` -## [1] "LC2" "MIX6.c3" "2NN" "1NN" "MIX6.nc" +## [1] "LC2" "CC_a" "CC_b" "MIX6.c3" "2NN" "1NN" "MIX6.nc" ## ## $`ineligible transcripts` ## [1] "LC1" "1A1N-2" "1B1C.1" "1B1C.2" "1D1C:one" "1D1C:two" @@ -351,13 +351,13 @@ <h2>Summary of DTU plurality</h2> <pre class="r"><code># A tally of genes switching isoform ranks. print( dtu_plurality_summary(mydtu) )</code></pre> <pre><code>## isof_affected num_of_genes -## 1 2 2 +## 1 2 1 ## 2 3 1</code></pre> <pre class="r"><code># The gene IDs displaying isoform switching. ids <- get_plurality_ids(mydtu) print( ids )</code></pre> <pre><code>## $`2` -## [1] "1A1B" "CC" +## [1] "1A1B" ## ## $`3` ## [1] "MIX6"</code></pre> @@ -384,7 +384,7 @@ <h2>Parameters</h2> ## [16] "dprop_thresh" "correction" "abund_scaling" ## [19] "quant_boot" "quant_reprod_thresh" "quant_bootnum" ## [22] "rep_boot" "rep_reprod_thresh" "rep_bootnum" -## [25] "seed"</code></pre> +## [25] "seed" "reckless"</code></pre> <ul> <li><code>description</code> - (str) Free-text description of the run. It is useful to record data sources, annotation source and version, experimental parameters…</li> <li><code>time</code> - (str) Date and time for the run. This does not represent the exact time the run started.</li> @@ -408,9 +408,10 @@ <h2>Parameters</h2> <li><code>rep_reprod_thresh</code> - (num) The value passed to the <code>rrep_thresh</code> parameter, if <code>rboot==TRUE</code>..</li> <li><code>rep_boot</code> - (bool) The value passed to the <code>rboot</code> parameter.</li> <li><code>rep_bootnum</code> - (int) The number of replicate bootstrapping iterations (currently M*N, where M and N are the numbers of samples in the two conditions), if <code>rboot==TRUE</code>.</li> -<li><code>seed</code> - (int) Custom seed for the random generator.</li> +<li><code>seed</code> - (int) Custom seed for the random generator. <code>NA</code> if none was specified.</li> +<li><code>reckless</code> - (bool) The value passed to the <code>reckless</code> parameter.</li> </ul> -<p><strong>Note:</strong> If bootstraps are disabled, the bootstrap-related fields may have <code>NA</code> values despite any values that were passed to their respective parameters.</p> +<p><strong>Note:</strong> If bootstraps are disabled, the bootstrap-related fields may be <code>NA</code>, regardless of supplied values, to reflect the fact that they were not used.</p> </div> <div id="genes" class="section level2"> <h2>Genes</h2> @@ -521,7 +522,7 @@ <h2>Abundances</h2> ## 1: 84.33333 132.5 1A1B.a 1A1B ## 2: 0.00000 0.0 1A1B.b 1A1B ## 3: 19.66667 15.5 1A1N-2 1A1N -## 4: NA NA 1B1C.1 1B1C +## 4: 0.00000 0.0 1B1C.1 1B1C ## 5: 52.33333 53.5 1B1C.2 1B1C ## 6: 0.00000 0.0 1D1C:one 1D1C</code></pre> <hr /> diff --git a/inst/doc/plots.R b/inst/doc/plots.R index 87f4705..9128d0d 100644 --- a/inst/doc/plots.R +++ b/inst/doc/plots.R @@ -9,7 +9,7 @@ library(rats) ## ------------------------------------------------------------------------ # Simulate some data. -simdat <- sim_boot_data() +simdat <- sim_boot_data(clean=TRUE) # For convenience let's assign the contents of the list to separate variables mycond_A <- simdat[[2]] # Simulated bootstrapped data for one condition. mycond_B <- simdat[[3]] # Simulated bootstrapped data for other condition. diff --git a/inst/doc/plots.Rmd b/inst/doc/plots.Rmd index 88cd16a..5bd2580 100644 --- a/inst/doc/plots.Rmd +++ b/inst/doc/plots.Rmd @@ -35,7 +35,7 @@ Set up an example. ```{r} # Simulate some data. -simdat <- sim_boot_data() +simdat <- sim_boot_data(clean=TRUE) # For convenience let's assign the contents of the list to separate variables mycond_A <- simdat[[2]] # Simulated bootstrapped data for one condition. mycond_B <- simdat[[3]] # Simulated bootstrapped data for other condition. diff --git a/inst/doc/plots.html b/inst/doc/plots.html index a26a0cd..bfa8c81 100644 --- a/inst/doc/plots.html +++ b/inst/doc/plots.html @@ -228,7 +228,7 @@ <h4 class="date"><em>09 FEB 2018</em></h4> <pre class="r"><code>library(rats)</code></pre> <p>Set up an example.</p> <pre class="r"><code># Simulate some data. -simdat <- sim_boot_data() +simdat <- sim_boot_data(clean=TRUE) # For convenience let's assign the contents of the list to separate variables mycond_A <- simdat[[2]] # Simulated bootstrapped data for one condition. mycond_B <- simdat[[3]] # Simulated bootstrapped data for other condition. @@ -259,7 +259,7 @@ <h2>Isoform abundances for a given gene</h2> <p>When there are many replicates or many isoforms, it may be preferable to group abundances by isoform, making individual comparisons easier:</p> <pre class="r"><code># Grouping by isoform: plot_gene(mydtu, "MIX6", style="byisoform")</code></pre> -<p><img src="data:image/png;base64,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kAAJkAAJkIA9AQpQeyaMIQESIAESIAESIAES8CEBClAfwmXVJEACJEACJEACJEAC9gQoQO2ZMIYESIAESIAESIAESMCHBChAfQiXVZMACZAACZAACZAACdgToAC1Z8IYEiABEiABEiABEiABHxKgAPUhXFZNAiRAAiRAAiRAAiRgT4AC1J4JY0iABEiABEiABEiABHxIgALUh3BZNQmQAAmQAAmQAAmQgD2BoBKg3377LTZt2mQ3il9//RWvvPKKXTwjSIAESIAESIAESIAEAo9AZOB1ybZH2dnZmDdvnor8/vvvsXXrVmzbts2SyWw2Y+HChYiNjbXE8YIESIAESIAESIAESCBwCQS8AI2JicHmzZvxxx9/4OTJkzhy5Ii61pFGREQgKSkJ999/vx7FdxIgARIgARIgARIggQAmEPACVNhNmDBBIXz//ffRpk0bdOzYMYCRsmskQAIkQALBQGDdgm7IyTgGg+HCbrTc7NNo33cjouOrBMMQ2EcSCFoCQSFAdbpDhgzB5MmT8fzzzyMrK0uPVu/dunXD+PHjbeJ4QwIkQAIkQALOCGSm7NbE5gbASoBu+2UwMlP3UIA6g8Z4EvASgaASoFOnTsWSJUsgQrRChQrat1aDBUONGjUs17wgARIgARIggcIIyMxnRGQijJFWNgRWYrSw8kwnARIoOoGgEqDr16/H448/jn79+hV9xCxJAiRAAiRAAkUkcGLPDBzc/DraXr+6iDWwGAmQgBC4sPHFBY9du3ZhxYoVyMzMtMklFuqrVq3C77//jtzcXJu0U6dOYfHixdi+fbtNfHFuateujaNHjxanCpYlARIgARIggSITyM06hfTTG4tcPtQKnjlzBsuWLXP4v1n+/8uqpegB6+BKO1jn43VoEyh0BvTRRx+FWJrXr18fH3zwAR577DF06NBBidG7774bzZs3V5bpM2fOxOuvv66WxdetW4dx48ahd+/eeO+999SSed++fYtNcujQocraXZbbGzVqhOjoaEudiYmJqFq1quWeFyRAAiRAAiTgikBu1kn8+8sgGI0X/pecObwEddu+4KoY0/4jMHfuXMyaNQtigyHvTZo0wcMPP6xS33jjDWzZsgUNGzaEbJ975513UKtWLZfagWDDi4BLASruj8T10fTp0xWVxo0bQ5zBiwCdMWOGskbXP2zDhw/H6tWr0alTJ7z5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6YPBakiABEiABEiABEiABNwjQAHqHifmIgESIAESIAESIAES8BIBClAvgWQ1JEACJEACJEACJEAC7hGgAHWPE3ORAAmQAAmQAAmQAAl4iQAFqJdAshoSIAESIAESIAESIAH3CFCAuseJuUiABEiABEiABEiABLxEwGMBeurUKSxevBjbt293qwsrVqyA+NRjIAESIAESIAESCC0C1ASh9Tz9ORqPBOi6detw1113YceOHRgzZgzmzJnjsq8rV67EuHHjLJ76XWZmIgmQAAmQAAmQQNAQoCYImkcVkB316CjON998E5MmTULLli1xyy23YOjQobjmmmvg6AQa+Vb06aef8tSVgHzs7BQJkAAJkAAJFI8ANUHx+IV7abdnQPPy8nDo0CG0aNFCMatcubI6/vDw4cN2DOV0zylTpuCBBx5AbGysXXp6ejpWr15teR0/ftwuDyNIgARIgARIgARKloCcJ/7rr7+q16ZNmyyd8aYmsFTKi7Ai4PYM6IkTJ9S55AaDwQKoTJkyanm9bt26lji5mDVrFmrWrIl27drZxOs3+/fvh5wxqwcRqnfccYd+y3cSIAESIAESIIEAIPDUU0/h3LlzqiedO3fG559/rq69qQkCYJjsQgkQcFuAyhmk+fn5Nl2Ub0AFZzj37t2LhQsX4v3337fJa31Tv359zJ8/3xLlaAnfksgLEiABEiABEiCBEiEggjMhIUG1bf3/3puaoEQGxkZLnIDbAjQpKQmydJ6dnY2YmBjV8dOnT6NatWo2g/j5558hM5zXXXedis/MzFR7RV944QV06NBBxUn5hg0bWsqdPXvWcs0LEiABEiABEiCBwCBQvXp1yGpnweBNTVCw7mC8z83NxWeffeaw602bNkWFChXUNgY9g4h5WT3u1KkToqKiVLRMzDVu3NhGHx09ehRi0D1gwABs3brVpg69rnr16qFXr176bdC8uy1AIyMj0bFjR8ybNw/9+/dXQMqVKwd5Sdi3bx+qVKmixKYYJ+lB8r766quoXbu2HsV3EiABEiABEiCBICYQappAJtdefvllpWVk++B9993n0dORFWLxCiDhwIED+PPPP5WxttwnJiZi8+bNeP3119GvXz+JUtsann/+edSpUwdLly6FbG+UdPE0ZD1BJ16HnnnmGSVARYi++OKLuPrqq1Ud+g/rrZF6XDC8uy1AZTAjR460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" /><!-- --></p> +<p><img src="data:image/png;base64,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CfCEE89uTpw4kerUqSP/3n/66afyb/2pU6do48aNNG/ePNILF3u//PIL/fjjj/Tyyy+TLe3g/aNGD11JwOYMaN26denjjz+W7fHy+549e6h27dry/vjx49SmTRutL3zNs6T5+fny21CLFi1kWuXKlSkyMpLOnTun5cWFZwkYd2wh4/D+ZBw3kowP3EbGVUs82wG0BgIgAAIg4JMEeLk8OztbvnJzc7Ux6IRnk08++USKT56o4u14LEQ5nDhxglgDsPjkoOoDvramHTgNIbAI2BSgKgr+ltO/f38qV64cdenSRUZfuHCBypYtq2aR10lJScT7QaKioog/nGqIiYmhK1euqLd0+PBhat26tfbib0cI7iGgnD1NyoRniNJSiFIL9vAqn7xDyr6d7mkQtYIACIAACPgNgb59+8rZTV7RfPzxx4uMKzU1le69917i5XjeeschISGB+O++GlgrsD7gYE07qHnxHjgEbC7Bqxh69epFN954o/y2w0vrb775JgUFBZHBcO14RZ75jIiIKBLPdXBaePg1lzwVKlSgUaNGqdVT8+bNtWtcOEdAyc4iof5JF1bA27huOYmvoURGo1nFxpWLKej6azPYZom4AQEQAAEQAAFB4LnnnpN/1xkGr2gWDiwuFy9eTBs2bJB2IosWLSqiA1R9wGWtaYfC9eLe/wnYFKAXL16Ulu+NGzeWy+j9+vWjZ54Rs2kisIg0ndXk65o1a1JcXBxlZGQQT9uHhRWc681p1apV02hyWd4zqobC1vVqfEC/54mljox0UrIzHcJgnPQiUbk40j/5QkG53BzL5YUgVZIum6fFliNdkM2PhHl+3IEACIAACPg1gdtuu81sNlMdLC/H79y5U9p98Ipnt27daNq0acRecypWrEh79+5Vs0qtULVqVXlvTTtomXERMARsqg02OnrppZekFTzPYLLFe4MGDSScrl270vLly4nf09PTpSumKVOmUHBwsDRO4m9EAwcOlN+KeOmeXwj2Ewj98E0K3rWNzOct7S9v3Pan7cwbVpNRvEyD7vZ+pFOFq2kCrkEABEAABEDAhEBISAh98cUXcp9nhw4dpMtFXmZnOxGefGL7kfj4eGLhuWTJEuI8HKxpB5OqcRkgBGwKUDZC4r2fvO+Dp835ngUph549e8pNx4MHD5YfwPvvv1+mc9ro0aM190u8Cfn111/naARH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" /><!-- --></p> </div> <div id="overview-plots" class="section level2"> <h2>Overview plots</h2> @@ -292,7 +292,7 @@ <h2>Diagnostic plots</h2> <p>Currently there is only one plot type in this category.</p> <pre class="r"><code># Matrix of pairwise Pearson's correlations among samples. plot_diagnostics(mydtu, type='cormat') # Default type.</code></pre> -<p><img src="data:image/png;base64,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IoAAAggggAACaSFAAJoW1UghEEAAAQQQQACB4AgQgAanrsgpAggggAACCCCQFgIEoGlRjRQCAQQQQAABBBAIjgABaHDqipwigAACCCCAAAJpIUAAmhbVSCEQQAABBBBAAIHgCBCABqeuyCkCCCCAAAIIIJAWAgSgaVGNFAIBBBBAAAEEEAiOAAFocOqKnCKAAAIIIIAAAmkhQACaFtVIIRBAAAEEEEAAgeAIEIAGp67IKQIIIIAAAgggkBYCBKBpUY0UAgEEEEAAAQQQCI4AAWhw6oqcIoAAAggggAACaSFAAJoW1UghEEAAAQQQQACB4AgQgAanrsgpAggggAACCCCQFgIEoGlRjRQCAQQQQAABBBAIjgABaHDqipwigAACCCCAAAJpIUAAmhbVSCEQQAABBBBAAIHgCBCABqeuyCkCCCCAAAIIIJAWAgSgaVGNFAIBBBBAAAEEEAiOAAFocOqKnCKAAAIIIIAAAmkhQACaFtVIIRBAAAEEEEAAgeAIEIAGp67IKQIIIIAAAgggkBYCBKBpUY0UAgEEEEAAAQQQCI4AAWhw6oqcIoAAAggggAACaSFAAJoW1UghEEAAAQQQQACB4AgQgAanrsgpAggggAACCCCQFgIEoGlRjRQCAQQQQAABBBAIjgABaHDqipwigAACCCCAAAJpIUAAmhbVSCEQQAABBBBAAIHgCBCABqeuyCkCCCCAAAIIIJAWAhWSVYodO3bYl19+ad9++621adPG2rdvbxUqlF525s6daw0bNrSDDz7Ypk6dal26dLFq1arZrl27rHLlyrZx40b74osvrGvXrqVC8N1339miRYvcucqVK2f169e31q1b23777Vfg+adNm+b2U14jk863ZcsWO+qoo2zPnj02b948q1q1qnPKysqK3JVlBBBAAAEEEEAgUAJJaQFdvXq1XXrppfbqq69aTk6Ovfjii9a/f39TUFpa6bXXXgsHhArytm/f7oK4Bx54wF1CAejMmTNL63I2e/Zs+/e//+0CagXWY8eOtSuvvNIFkQVdZP78+TZ+/Pg8uzz22GMmJ/2cf/759uGHH9obb7xhAwYMcEF0ngNYgQACCCCAAAIIBEQgKQHoDTfcYGeddZbdd999dvHFF9vf//531wr6+OOPR7EpSFyzZk143d69e23btm22b98+W7ZsmQsqwxv/t7B8+XLLzs6O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AQQQQCDwAgSgga9CCoAAAggggAACCARLgAA0WPVFbhFAAAEEEEAAgcALEIAGvgopAAIIIIAAAgggECyBpAWgO3bssDlz5ti4cePs008/tb1795aq3Ny5c+2nn35y55w6dapt377dLe/atcu9bty40WbMmFGq19TJNm3aZBMmTLBt27bFde5p06bZypUr8+z73Xff2bx586LWqxyl7RR1Ad4ggAACCCCAAAIJEEhKALp69Wq79NJL7dVXX7WcnBx78cUXrX///qagtLTSa6+9ZosWLXKnU5CnAFQB3QMPPODWKQCdOXNmaV0ufJ4333zTnnjiCZs0aVJ4XUEL8+fPt/Hjx+fZ5bHHHjM5+ek///mP3XXXXbZv3z5/Fa8IIIAAAggggEAgBZISgN5www121lln2X333WcXX3yx/f3vf7c2bdrY448/HoWoIHHNmjXhdWr9U8uigrBly5aFWzXDO3gLy5cvt+zs7MhVduutt1qdOnXCxygYbdKkiV133XVR++W+njZu3rzZ7aN8ROYl6sCINxMnTrQhQ4bY66+/HrE29mLPnj3t3XffjWrZ1HW+/vprO+mkk9x65f/tt9+OfRK2IIAAAggggAACARKokOi8KkDUberzzjsv6tI333yzlSv3Szy8bt06u+eee1zwp30POeQQGzFihAvKRo4c6VpNa9SoYUuWLHGtgp06dbINGzbYNddcY1q/fv16q1SpUvj8am1V66FujSugVItj586dXWvo008/bbGuV758ebvkkkusXbt2LvhUYNitWzcbNmxY+NyRC59//rnpmDPOOMOeffZZ1+J61FFHRe6SZ7l169YuOFaXgeOOO85tnzJligs+q1atauoycOyxx1qPHj3ctfOcwFvx3nvv2YIFC8KbrrzySqtYsWL4PQsIIIAAAggggEAqCSS8BVQte40bN7asrKwoh8qVK4eDptGjR1ujRo3sySefdMHizp07w/0h1TfyjjvusFGjRtmAAQNcUKkT6Zb18ccf71pRdVzu1sratWvbBRdcYB06dLDLLrss6toFXU87Nm3a1J13zJgxplv76jaQX1LrZ/fu3d0mvcbbCtqrV6+oFs7Jkyeb1inJpU+fPlahQuy/FT788EMbO3Zs+GfPnj3uWP5BAAEEEEAAAQRSUSDhAahuhfu3tWOBqDVPLY1KCry6du1q6sepVL9+fWvW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" /><!-- --></p> +<p><img src="data:image/png;base64,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vtkaNGhgNWrUcBOMnnnmGZs0aZJt377dHnvsMZszZ46deeaZoSRhElIom41CI4AAAggggEAmCWippX/961923nnnuaWTNIu9Z8+ebmKS6nnHHXfYtm3bXI+o9lVg+uCDD9rAgQNDyZDjzayKhLLkFLpUBP5ee32pnIeTpE5g70Z+wqnTL3nOwyN1S34SzpBSgZ1rUpo9mZdQoHL9Ep6gDA5fu3atm5CkIDR32rlzp+sdbdKkSe6PQvWeHtBQNReFRQABBBBAAIFMFyho4pBmyoc9+FT7MQY007/F1A8BBBBAAAEEEEgzAQLQNGsQioMAAggggAACCGS6AAFoprcw9UMAAQQQQAABBAoR+Oc//2l79uxJuJfu1KRZ+B988EHCfYryAQFoUbTYFwEEEEAAAQQQyDCBhx56yHSbz927d+dbs7ffftutN6rgs3fv3vbII4/ku19RNjILvihaGbgvs+DD36jMgg93GzILPtztp9IzCz7cbZiOs+CDElWPp9YRXblypVtTVMs86W5MuVP79u1tzJgx7jah3377rXXq1Mm+++47N1M/977JvqcHNFkp9kMAAQQQQAABBDJIQD2eWmt09uzZ+d4CVFVVkPrll1/ascce62rerFkzq1mzpi1ZsqREEgSgJeLjYAQQQAABBBBAIJwC6u289NJLTQvbJ0rq6axVq1ZcgKplonTv+pIkAtCS6HEsAggggAACCCCQwQIKTnNPTlLPabVq1UpUawLQEvFxMAIIIIAAAgggUEoCurFdWTxKULyGDRvapk2bbMeOHdGzaMxoixYtou+L8yJlAagGus6dO9fGjRvnpvTnjq6LU5nYY+bNm2c//PCD2zRt2jTbunWre61bWCmtX7/eZs6c6V6Xxn80PmLChAnu8frrr9v777/v7tla2LmnT59uy5cvz7Obzjd//vy47apHaTvFZcAbBBBAAAEEEEiNQFkEnv45i1EjxSZaeqlixYp2yimn2D/+8Q93lldffdUOOOAA23///Ytx1p8PSUkAqsj5wgsvtJdfftn27dtnzz//vJv+r6C0tNIrr7xiixcvdqdTkKcAVAHd3Xff7bYpAJ01a1ZpZedmj2kNrS+++MI++eQTGzt2rBtXob8aCkoLFiyw8ePH59nl4YcfdrPS/A/+9a9/2W233WZ79+71N/GMAAIIIIAAApkisM/r/CyjR3GI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2TmpAHTbtm323//+12677TbTfc39dMABB9iIESNs0qRJ/iaeEUAAAQQQQAABBIoo4PeAlsVzEYsSyO5JBaAVKlRwPZ1bt27NU6iFCxcyBjSPChsQQAABBBBAAIEiCGgCUlk9CijGjh077LXXXrOJEyfarl27Eu65du1aGz9+vJv/k3CnInyQVABaqVIl69Gjh11zzTU2b948d3r1ij733HP2yCOP2CmnnFKELNkVAQQQQAABBBBAIFZg3x4v/iyjR2w+sa/Vsdi+fXt76aWX7I477rDevXtbRF2wuZICVA3D/PTTT61Xr1728MMP59qj6G9zvIzy5pTPeTTj/bTTTnOX4nNycky9ort377aBAwfaM888Y+XLl8/nKDalu8Dfa69P9yJSvkIE9m5M6idcyFn4OFUCwyN1U5U1+ZaSwM41pXQiTpMSgcr1U5JtnkxXztxXZgvRNzyuvOXks+7Rn/70J1u9erU98MADrjwKMm+55ZY8HYvqhLzsssvs9NNPtw8//NAGDBhgS5cuzVOHomzIpzj5H964cWObM2eOzZ492z777DNTr2iHDh3cI/8j2IoAAggggAACCCCQlIB/+T2pnUtnp48++sgGDx4cPVn37t1drJf7yvZBBx1kU6ZMsZNOOskmT55szZo1ix5T3BcFBqCKcnWpPTap57Ndu3Zukz579913rX79+tayZcvY3XiNAAIIIIAAAgggkKRAtV9ox59vmLl7c8R2rE7y4JjdKnsXVSrV/vk8MR/lebls2TKrV69edHvdunVtyZIl0ff+C01CP+qoo2zcuHGmq+Dvv/++/1GxnwsMQM8991zTJKPC0plnnmkvvPBCYbvxOQIIIIAAAggggEA+Apu/slK5BL/DGxKyY0380KzqCTosK1asaHv2eANP/5c0tLJ69er+2+hzt27d7He/+527DK+Vj4499lj79ttvrVq1atF9ivqiwAD0vffec4vOF3ZSVYCEAAIIIIAAAgggUEwBxYzxcWMxT5T8YRpeqRsM+Umvc1/R1hwgPS6//HI336d///5uPXgtz6lL9sVNBQagNWrUiDvvhg0b7K233jKNGVCXbadOnaxr165x+/AGAQQQQAABBBBAoGgCkX2RUukBLUqup556qj311FOmZ8V4Wopp2LBh7hQKOnW5XUHqIYccYvPnz7ejjz7avvnmG1u1apUdc8wxRckqz74FBqCxe2s8qGbBa7xAq1at3B2R1q1bZ4MGDbInnnjCKleuHLs7rxFAAAEEEEAAAQSSFIjs1iX4JHcupd20ktGECRNcr6dWMxo5cqS1adPGnf3WW291sZ1myN933332xz/+0QWpuh27tlWtWrVEpUh6GSb1dKpb9i9/+YsdeOCB7tK8omEV/tJLL7Xf//73JSoIB6dGgGWYUuNemrmyDFNpagZ/LpZhCt68tHNkGabSFg32fOmyDNN3r5bdMkxN+3rLMBUwWlK9nxr7qYnmBaVNmzbF3RGzoH0L+yyphei1UOkHH3xgd911lws+ddJy5crZL3/5Sxd4ako+CQEEEEAAAQQQQKB4Av4l+LJ4LqxEtWvXLjT41Dlib8de2DkL+zypAFSznGrVquWu/+c+4RdffGG6JzwJAQQQQAABBBBAoJgC/iSksnguZpHK8rCC+1pjcv7DH/5gF198sWlpJi1Qql5RLUr65JNP2j333GMzZsxwe+vyfO4ZVDGn4SUCCCCAAAIIIIBALgEXd+o/ZZB02uRWBi2DzBOcMukxoOqe3bhxY4LT/Lx5+PDh9tBDD/28gVdpLcAY0LRunqQKxxjQpJjSdifGgKZt0yRdMMaAJk2VljumyxjQb17aa5G9ZROBNju9gpUrYAxoKhom6R5QTblP5rbxhQ1gTUUlyRMBBBBAAAEEEEhngYgXe+qRLSnpAFTLLO3cudO08OiOHTvifDQGtH379nHbeIMAAggggAACCCCQnICWYAp6GabkSlY2eyUdgN5///1288032+bNm/OUhFtx5iFhAwIIIIAAAgggkLTAPu+OmJG9Se8e+h2TCkC16KiWYLrjjjtsyJAhee79qZXySQgggAACCCCAAALFE9i3x7sTUhmNAQ36Fp/JCCQVgO7atcvWrFnjbtWU+/acyWTCPggggAACCCCAAAKJBbLtEnxS64BWqVLFBg8e7G7FtG3btsR6fIIAAggggAACCCBQZAF/ElJZPBe5MAEckPQyTLr5fNu2bd0tODXhSHdC8tMJJ5xgf/7zn/23PIdIYMfKLJpyF6J2KUpRqzRkCExRvNJt3zE569KtSJSniAI70vH6ZhHrkM27/1+kXlpU//PH95TZJfiWF1S0cpXSoprRQiR1CV579+vXzxo1amQnn3yy1alTJ3oCvWjXrl3ce94ggAACCCCAAAIIFEFA/UFZ1CeUVAC6ZcsW+/jjj23RokXWunXrImiyKwIIIIAAAggggEChAgSgeYmqV69uv/jFL2z79u15P2QLAggggAACCCCAQIkEsm0SUlI9oBK99dZbbcCAAXbttddaixYtrGrVqlHo/fff340PjW7gBQIIIIAAAggggEDSAvt2m+1jHdC8XiNGjHD3gr/iiivyfMhC9HlI2IAAAggggAACCCQtoHVA97EOaF6vgu4FX758+bwHsAUBBBBAAAEEEEAgKQEuwSdg0r3gNQZ07dq1tmePd78oL+3du9f1imqR+h49eiQ4ks0IIIAAAggggAACBQowCSl/nmeeecYuu+wy27p1a54dLrnkEgLQPCpsQAABBBBAAAEEkhTIsgD059XkC/G57rrr7IwzzrDp06ebbsc5Z84ce+CBB9zaoLpHPAkBBBBAAAEEEECgeAL79nljQMvokY7LiyY1C37jxo22cuVKd7ejJk2aWIMGDax27dp25ZVX2s6dO+3222+3e+65p3jiHIUAAggggAACCGS5QLaNAU2qB3S//fazihUrmu4Jr9SqVSt755133OvOnTvb3Llz3Wv+gwACCCCAAAIIIFB0gX3e9JqyehS9NGV/RFIBqILPI444wm655RbbvHmzdejQwV588UXbvXu3TZo0ya0LWvZFJQcEEEAAAQQQQCAzBSLeGqARLwgti0dBt/jcsWOHvfbaazZx4kTbtWtXQtxvv/3WNB/oww8/TLhPUT5I6hK8Tvjwww9b37597de//rVp0tFRRx1lukOSZsJPmDChKHmyLwIIIIAAAggggECMQCouwWtieceOHa1Lly62dOlS+9vf/mZTp061nJycmJKZzZw50y688EIbPHiwPfroo65T8qGHHorbp6hvkg5Af/nLX5qiX0XHCjwXLFjgCnnSSSe523QWNWP2RwABBBBAAAEEEPhJIBKJmB5BpnvvvddOOeUUN6lc+SoQnTJlitsWW47f//73riNS+2pJzgsuuMDNAdISncVNSQegyqBSpUruodfNmjWziy++WC9JCCCAAAIIIIAAAiUQqNcxflTkjtUR2/T1viKfsXrTHNuvUfy5Ep3ko48+cr2a/ufdu3d3qxwp0PTTpk2bTPvpyvezzz7rekzHjx/vf1zs50JL+Pnnn7uxn8uXL3eZbNu2zc4991yrW7eude3a1SZPnlzs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AoELEIAGTk6GCCCAAAIIIIBAdgsQgGZ3+1N7BBBAAAEEEEAgcAEC0MDJyRABBBBAAAEEEMhuAQLQ7G5/ao8AAggggAACCAQuQAAaODkZIoAAAggggAAC2S1AAJrd7U/tEUAAAQQQQACBwAVSFoBu27bN5s6da+PGjbMPPvjA9uzZU6qVnzdvnv3www/unNOmTbOtW7e61zt37nTP69evt5kzZ5ZqnjrZhg0bbMKECbZly5akzj19+nRbvnx5nn2//PJLmz9/ftx21aO0neIy4A0CCCCAAAIIIBCAQEoC0JUrV9qFF15oL7/8su3bt8+ef/55GzRokCkoLa30yiuv2OLFi93pFOQpAFVAd/fdd7ttCkBnzZpVWtlFz/P666/bY489ZpMmTYpuK+jFggULbPz48Xl2efjhh01OfvrXv/5lt912m+3du9ffxDMCCCCAAAIIIBBKgZQEoCNHjrTTTjvN7rzzTjv//PPtr3/9q7Vt29YeffTROEQFiatWrYpuU++fehYVhC1btizaqxndwXvx3Xff2Y4dO2I32Y033mh16tSJHqNgtFmzZnb11VfH7Zc7P324ceNGt4/KEVuWuANj3kycONGGDx9ur776aszWxC979+5tb731VlzPpvL57LPP7IQTTnDbVf6pU6cmPgmfIIAAAggggAACIRKoEHRZFSDqMvXZZ58dl/X1119v5cr9FA+vWbPGbr/9dhf8ad+DDjrIRo8e7YKye++91/Wa1qhRw5YuXep6BTt16mTr1q2zK664wrR97dq1VqlSpej51duq3kNdGldAqR7Hzp07u97QJ5980hLlV758ebvgggvs8MMPd8GnAsPu3bvbiBEjoueOffHRRx+ZjjnllFPs6aefdj2uRx11VOwueV63adPGBccaMtClSxf3+ZQpU1zwWbVqVdOQgWOOOcZ69erl8s5zAm/D22+/bQsXLox+dOmll1rFihWj73mBAAIIIIAAAgikk0DgPaDq2WvatKnl5OTEOVSuXDkaNI0ZM8aaNGlijz/+uAsWt2/fHh0PqbGRt9xyiz344IM2ePBgF1TqRLpkfeyxx7peVB2Xu7eydu3ads4551iHDh3soosuisu7oPy0Y/Pmzd15H3nkEdOlfQ0byC+p97Nnz57uIz0n2wvap0+fuB7OyZMnm7YpyaVfv35WoULivxXeffddGzt2bPSx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vvii/eEPf7C//OUvVqFCBduyZQt3aUl9ExVYAn6DBfKk/Ye6E9I999xjl112mW3cuNH0R9+FF15offr0cWVft25d2teBAqanAAFoerYLpSolgaVLl9rf//5369Spk9WsWTPPWdu2bUsAmkclfTboFoDLli2zP/3pT65QnTt3tj//+c92xx132E033ZQ+BaUkCQX4DSakCcUH+gOie/fu7qECd+3a1a644gqrUaOGaZk0EgLFFSAALa4cx4VCYPDgwa6cn376qd16662hKDOF/FmgUqVKVr58edu0aZP7A0Kvb7zxRrvuuutMPaOk9BfgN5j+bVRQCZs2bWqTJk2K7rL//vvbnXfeaddcc02+f9RHd+QFAoUIMAa0ECA+Dr/AwIEDTQthr1q1KvyVycIa9OvXz4YMGRIde1axYkXXA6o/KmbPnp2FIuGrMr/B8LWZX+JDDjnE9u7da+edd55t27bNbdaQGF2FGDVqlEUiEX9XnhEokgAL0ReJi53DJqAxg/ofaIcOHSwnJydsxc/68uofvGeffdZ+9atfWe3ata1x48ZRE01GmjBhgrVp08ZatWoV3c6L9BLgN5he7VHU0syfP99Wrlxp/nj5cuV+7rdas2aNjR8/3oYPH17U07I/Alb+j17CAYFMFfjqq6/cGNCXXnrJdu7caQceeKDtt99+mVrdjKzXm2++af/4xz/siy++MF2Sb9Kkibssr38IW7dubfXr18/IemdKpfgNhrslt27d6oJMBZoKROvWrRu9vbH+X3r00UeHu4KUPmUC9ICmjJ6MgxT45JNPbPLkyTZz5kxr3769m8GpCS0aU0hKfwH98TBr1ix74403bMmSJXbSSSe5NtSlQFI4BPgNhqOdEpVSQ5imTJni/j+qPwT79u1rPXr0cJOREh3DdgQKEiAALUiHzzJOQIGMxg3qf6TffvutG1vYu3fvjKtnJldo9erVrv2mT59uVatWtd/97ndumaZMrnMm1Y3fYPhbc+HChe6Pwffee8+OOOIINxY0/LWiBkEL/DyYI+icyQ+BFAhUrlzZjRk8/PDD3TqSX3/9dQpKQZYlEdAl93bt2pnacPny5bZhw4aSnI5jAxbgNxgweBlkpysP+g0efPDB9vHHH5dBDpwyGwToAc2GVqaObgHlt956y6ZNm+aCllNOOcV69eplzZo1QyckAhpLOHXqVNeG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b3/72/BVKAtLrDGEDz30kD355JPWuHHjqMDll19unTp1ir7nRXoK8BtMz3ZJtlTbt293d7PSmPmGDRtG7wev45944olkT8N+CEQFmIQUpeBFJgusXbvWdPvN3KlmzZrWrFmz3Jt5n4YC6nnROLTcST0ztWrVyr2Z92kmwG8wzRqkiMXRlQf9EZ9fateuXX6b2YZAgQIEoAXy8GEmCui2gJUrV87EqmVNnWjDcDc17Rfu9lMwWq5cOfcId00ofSoFuASfSn3yDlTgrbfestdff93dxUM9n7/5zW/syiuv5H+igbZC8TPT0i8vvPCCTZs2zb7//ntr0qSJDRs2jPvAF5808CP5DQZOXqoZfvXVV/biiy/azJkzbdeuXda6dWu7+eabbf/99y/VfDhZdggwCSk72jnra/nxxx/bI488YmeccYa7jeNf/vIX++abb2z8+PFZbxMWgMcee8yWLFniloKZOHGiXXLJJXbvvffaDz/8EJYqZHU5+Q2Gu/nV63nddddZixYt7Omnn3aPjh072k033RTuilH6lAkQgKaMnoyDFJg/f74LPjWTWnfwOPzww93ko3nz5gVZDPIqgYDuP33VVVfZYYcdZtWrV7df//rX1qtXL9ejXYLTcmhAAvwGA4Iuo2z0h57WTT7rrLOsfv36biLgRRddZFu2bHGz48soW06bwQIEoBncuFTtZwHdOu7LL7/8eYP36osvvohblD7uQ96knUDLli1pw7RrleQLxG8weat03FMrT2zYsMF27NgRLd769etNk8uqVKkS3cYLBJIVYBJSslLsF2oBXT7SLRs19vPII4+0pUuX2uLFi2306NHWtm3bUNctWwqvS7g33HCDu+2mZr7rtoA5OTk2ZswYJpWF4EvAbzAEjVRIEfVbmzFjhulK0u7du23u3LnWu3dvGzp0aCFH8jECeQUIQPOasCVDBTSJ5Y033rDly5e7IEYLYzMbPlyNrUkQs2fPNs2iPu6449wkiHDVILtLy28w/O0/a9YsW7hwobscr2EwuhxPQqA4AgSgxVHjmNAI3H333aY16ipVqmTjxo3LU24tRK+FzEnpKaCAZfjw4XbXXXfZ448/nu86hGo/tSMpPQX4DaZnuyRbKs14V9B59dVXuzHY+R2nm0OQECiqAAFoUcXYP1QCy5YtcxNWtGZdooXodTmXlJ4Ce/fudUGnxn9q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" /><!-- --></p> <p>What you want to see here, is a nice separation between the samples of different conditions. Anomalies in this plot may indicate batch effects or mislabelled samples.</p> </div> <div id="interactive-plots" class="section level2"> @@ -316,7 +316,7 @@ <h3>Change information layers</h3> <p>The <code>fillby</code>, <code>colourby</code> and <code>shapeby</code> parameters can be respectively used to control which information layers are encoded as fill, line/point colour, and point shape. Possible values are <code>c("isoform", "condition", "DTU", "none", "replicate")</code>. Be aware that some combinations of plot style and information layers are not possible. If safe to do so these will be silently ignored, otherwise an error message will appear.</p> <pre class="r"><code># For a less busy look, any of the information layers can be disabled. plot_gene(mydtu, "MIX6", style="byisoform", colourby="none", shapeby="none")</code></pre> -<p><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAqAAAAHgCAYAAAB6jN80AAAEGWlDQ1BrQ0dDb2xvclNwYWNlR2VuZXJpY1JHQgAAOI2NVV1oHFUUPrtzZyMkzlNsNIV0qD8NJQ2TVjShtLp/3d02bpZJNtoi6GT27s6Yyc44M7v9oU9FUHwx6psUxL+3gCAo9Q/bPrQvlQol2tQgKD60+INQ6Ium65k7M5lpurHeZe58853vnnvuuWfvBei5qliWkRQBFpquLRcy4nOHj4g9K5CEh6AXBqFXUR0rXalMAjZPC3e1W99Dwntf2dXd/p+tt0YdFSBxH2Kz5qgLiI8B8KdVy3YBevqRHz/qWh72Yui3MUDEL3q44WPXw3M+fo1pZuQs4tOIBVVTaoiXEI/MxfhGDPsxsNZfoE1q66ro5aJim3XdoLFw72H+n23BaIXzbcOnz5mfPoTvYVz7KzUl5+FRxEuqkp9G/Ajia219thzg25abkRE/BpDc3pqvphHvRFys2weqvp+krbWKIX7nhDbzLOItiM8358pTwdirqpPFnMF2xLc1WvLyOwTAibpbmvHHcvttU57y5+XqNZrLe3lE/Pq8eUj2fXKfOe3pfOjzhJYtB/yll5SDFcSDiH+hRkH25+L+sdxKEAMZahrlSX8ukqMOWy/jXW2m6M9LDBc31B9LFuv6gVKg/0Szi3KAr1kGq1GMjU/aLbnq6/lRxc4XfJ98hTargX++DbMJBSiYMIe9Ck1YAxFkKEAG3xbYaKmDDgYyFK0UGYpfoWYXG+fAPPI6tJnNwb7ClP7IyF+D+bjOtCpkhz6CFrIa/I6sFtNl8auFXGMTP34sNwI/JhkgEtmDz14ySfaRcTIBInmKPE32kxyyE2Tv+thKbEVePDfW/byMM1Kmm0XdObS7oGD/MypMXFPXrCwOtoYjyyn7BV29/MZfsVzpLDdRtuIZnbpXzvlf+ev8MvYr/Gqk4H/kV/G3csdazLuyTMPsbFhzd1UabQbjFvDRmcWJxR3zcfHkVw9GfpbJmeev9F08WW8uDkaslwX6avlWGU6NRKz0g/SHtCy9J30o/ca9zX3Kfc19zn3BXQKRO8ud477hLnAfc1/G9mrzGlrfexZ5GLdn6ZZrrEohI2wVHhZywjbhUWEy8icMCGNCUdiBlq3r+xafL549HQ5jH+an+1y+LlYBifuxAvRN/lVVVOlwlCkdVm9NOL5BE4wkQ2SMlDZU97hX86EilU/lUmkQUztTE6mx1EEPh7OmdqBtAvv8HdWpbrJS6tJj3n0CWdM6busNzRV3S9KTYhqvNiqWmuroiKgYhshMjmhTh9ptWhsF7970j/SbMrsPE1suR5z7DMC+P/Hs+y7ijrQAlhyAgccjbhjPygfeBTjzhNqy28EdkUh8C+DU9+z2v/oyeH791OncxHOs5y2AtTc7nb/f73TWPkD/qwBnjX8BoJ98VQNcC+8AAEAASURBVHgB7J0HnFNV2odfOtKkCwgiUq0gIohKsaILuroggrooig1dRREVC4pYWBtNxVVksQI2BGUpggULYgNBFJBeFaULiLRv/me/m82EZCaZSTK5yfP+fpnce+6pz00m/3vKewrtzzLDIAABCEAAAhCAAAQgkCQChZNUDsVAAAIQgAAEIAABCEDAEUCA8kGAAAQgAAEIQAACEEgqAQRoUnFTGAQgAAEIQAACEIAAApTPAAQgAAEIQAACEIBAUgkgQJOKm8IgAAEIQAACEIAABBCgfAYgAAEIQAACEIAABJJKAAGaVNz5L+yZZ56xa6+91m677baIme3evdt69uzp4n377beBePfee6899NBDgfN///vfLs5XX30VCAs+WLhwobv+xhtvBAfbtGnTTHldd9119txzz9mff/6Z7TonEIAABCAAAQhAICcChfADmhOe1Lv217/+1SZMmOAq9t1339lxxx13QCX/85//WPv27V24xGOnTp3ccf369a1s2bLmidIVK1ZY48aNrVKlSjZnzhx3zcts586d1rx5c9u8ebO7pjj79u2zG2+80YYPH25NmjSxwoULu7zatGljH330kZeUdwhAAAIQgAAEIJAjAXpAc8STmhclIg866CB7/fXXw1ZwzJgx2cRk2EhZgbVr1zb1qC5dutRuuummbNHUg7pgwQIbPXq0E6i6+M477zjx+cQTT9js2bPtm2++cdc//vhj1yuaLQNOIAABCEAAAhCAQAQCGSlAt2zZ4gTTqlWrHJa1a9fahg0bsiHau3ev/fDDDzZ58mRbvnx5tms62b59uwvXRlK7du2yzz//3L127NhxQFwF5Jbftm3bXH7KNzeT+FQPZ+jQuNL98ccfTiiqpzQau+SSS+yyyy6zUaNG2VtvveWS6FivBx54wE499dRANgMHDrTTTz/dbrnl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MAhAAAIQgAAEIACBhBFgCD5haDM74zfeeMMKFSqUNAjJLCtpjaIgCEAAAhCAQJoSQICm6Y0tqGaVK1fOLrvsMtOe8LGYFhP95z//sRYtWliNGjWiTrp//37bvXu3NWjQIOo0RIQABCAAAQhAoGAJIEALln9ali4RGatpMZEE6DHHHGNNmjSJOvm+fftMaUuUKBF1GiJCAAIQgAAEIFCwBJgDWrD8KR0CEIAABCAAAQhkHAEEaMbd8tRusLbWHDx4sP3jH/+w2bNnp3ZlqR0EIAABCEAAAnkigADNEzYSJYrAa6+9ZkuWLHHZjxw50pYuXZqoosgXAhCAAAQgAIECIoAALSDwFJudQMmSJe2iiy6ywoX/95HUvM6ff/45e0TOIAABCEAAAhDwPYH//dr7vik0wM8Eihcvbq1bt7batWsHmqGV8Y0bNw6ccwABCEAAAhCAQHoQYBV8etzHtGlFr169bMyYMbZ3715r166dlS5dOm3aRkMgAAEIQAACEPgvAQQon4SUIqAh+EsuuSSl6kRlIAABCEAAAhCILwGG4OPLk9wgAAEIQAACEIAABHIhgADNBRCXIQABCEAAAhCAAATiSyAqATp//nybPn26bd68OVvpWiTy2Wef2eeff+62Qwy++Ntvv9mUKVNs4cKFwcEcQwACEIAABCCQJgTWr19vkydPtmXLlh3QIv3+T5061aQHgi0n7RAcj+P0JpCrAL3tttts9OjR9sMPP9i1115rq1evdkTkMPyKK66wDz/80F555RW7/fbbTftyy+RAvHv37rZo0SIXPm7cOBfOHwhAAAIQgAAE0oPAe++9Z3369HG64J577rGJEycGGjZo0CB77LHHnB646qqrbOXKle5aTtohkJiDjCCQ4yIkPdHs3r3bHn/8cQdjx44dNm3aNCc8x44da9rzW6uWZRKns2bNspNOOsntZPPggw86FzqdO3e2Hj16WPv27U2udjAIQAACEIAABPxNQB1O6t3s37+/HX744e73ftiwYe63fvny5fbJJ5/Ym2++6Xw7y7PJq6++an379rWctIO/iVD7WAnk2ANap04dGzJkiMtTw+/fffddwE/j4sWLrWnTpoHydKxe0j179rinoeOOO85dO+SQQ6xUqVK2Zs2aQFwOkktg3759pmkUq1atSm7BlAYBCEAAAr4moOHyP/74w73+/PPPQFsK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qhJgFXyq3pko6lWrVq1szvXl0P+ZZ55xfh67d+8eRQ5EgQAEIAABCGQGgWXLltm6desiNvbHH39017799lvTlpuR7IgjjrBq1apFukx4lAQQoFGCSsVoF198sc2dO9c5YJdD6FtuucX+9a9/pWJVqRMEIAABCECgQAn8/e9/N+2JnptpSltOduKJJ9orr7ySUxSuRUEAARoFpFSNon1mBw0aZJoLWqlSJStWrFiqVpV6QQACEIAABAqUgKantW7d2tq0aROxHr///ruVKVMm4vVx48a5qW4RI3AhagII0KhRpWZE7drAUEBq3htqBQEIQAACqUVA4jI/v5nyE6ptVXMyDd9/+OGHrnPoL3/5izVs2DCn6DFd279/vz3//PNuz/pZs2ZZyZIlrUmTJi4PrQdR/b744ots4TEVEBJZW12PGTMmEFqlShU74YQT7LDDDguE5fUAAZpXcglOp3kqepUoUSKmkrSH9Z49e9wHMKaEWZE1r6Vq1aqxJiM+BCAAAQhAwNcEVq5caU8++aRt3LjRraN45JFH8rQlp8SapsN16NDBCd0LL7zQ2rZt69ZnxAOQpttde+211qNHD5MA1fahEqC9evVyvbt/+9vfsoXnt0xNWejZs6cTvBK/GnG96qqrbPTo0dauXbt8ZY8AzRe+xCV+9913bfny5Xku4NVXX405rZ5qrrjiipjTkQACEIAABCDgVwLyp33jjTcGqq9ePwk89TTmNBwfSPD/B998841dd911rgOoUaNGLlRi9KijjrIuXbo4gahATQVYunSp1a1bNzB1TkP/mkana6tWrbIGDRq4fen/P2vX67pixQqrU6eOF+TqWKhQIVPP5w8//OCEqHpnVXeFB9tPP/1khxxyiGnqniy38oLTaqR1+PDhgaCnn37annrqKQRogEiaHegpRx+WZs2aJaVlM2fOND3dYBCAAAQgAIF0JCBxJ1+foabfP/UkBv8GFilSxPVaHn300dmir1mzJuLI5JQpU6xz587miU8lrFixoi1cuNDlr3M5un/nnXdMQ9nKa+LEiXbMMcfYvffea1qlr41lypcv7wSiejglGBVfvY6qi0Y4PevXr59b/yGxOmfOHNc7Wbt2bXvvvfdc+F133eX8mupd5Wl1/8CBA+3666/PsTwv/0jvYqgy82v0gOaXYALT6wlGTx7JsNCnpWSUSRkQgAAE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" /><!-- --></p> +<p><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAqAAAAHgCAYAAAB6jN80AAAEGWlDQ1BrQ0dDb2xvclNwYWNlR2VuZXJpY1JHQgAAOI2NVV1oHFUUPrtzZyMkzlNsNIV0qD8NJQ2TVjShtLp/3d02bpZJNtoi6GT27s6Yyc44M7v9oU9FUHwx6psUxL+3gCAo9Q/bPrQvlQol2tQgKD60+INQ6Ium65k7M5lpurHeZe58853vnnvuuWfvBei5qliWkRQBFpquLRcy4nOHj4g9K5CEh6AXBqFXUR0rXalMAjZPC3e1W99Dwntf2dXd/p+tt0YdFSBxH2Kz5qgLiI8B8KdVy3YBevqRHz/qWh72Yui3MUDEL3q44WPXw3M+fo1pZuQs4tOIBVVTaoiXEI/MxfhGDPsxsNZfoE1q66ro5aJim3XdoLFw72H+n23BaIXzbcOnz5mfPoTvYVz7KzUl5+FRxEuqkp9G/Ajia219thzg25abkRE/BpDc3pqvphHvRFys2weqvp+krbWKIX7nhDbzLOItiM8358pTwdirqpPFnMF2xLc1WvLyOwTAibpbmvHHcvttU57y5+XqNZrLe3lE/Pq8eUj2fXKfOe3pfOjzhJYtB/yll5SDFcSDiH+hRkH25+L+sdxKEAMZahrlSX8ukqMOWy/jXW2m6M9LDBc31B9LFuv6gVKg/0Szi3KAr1kGq1GMjU/aLbnq6/lRxc4XfJ98hTargX++DbMJBSiYMIe9Ck1YAxFkKEAG3xbYaKmDDgYyFK0UGYpfoWYXG+fAPPI6tJnNwb7ClP7IyF+D+bjOtCpkhz6CFrIa/I6sFtNl8auFXGMTP34sNwI/JhkgEtmDz14ySfaRcTIBInmKPE32kxyyE2Tv+thKbEVePDfW/byMM1Kmm0XdObS7oGD/MypMXFPXrCwOtoYjyyn7BV29/MZfsVzpLDdRtuIZnbpXzvlf+ev8MvYr/Gqk4H/kV/G3csdazLuyTMPsbFhzd1UabQbjFvDRmcWJxR3zcfHkVw9GfpbJmeev9F08WW8uDkaslwX6avlWGU6NRKz0g/SHtCy9J30o/ca9zX3Kfc19zn3BXQKRO8ud477hLnAfc1/G9mrzGlrfexZ5GLdn6ZZrrEohI2wVHhZywjbhUWEy8icMCGNCUdiBlq3r+xafL549HQ5jH+an+1y+LlYBifuxAvRN/lVVVOlwlCkdVm9NOL5BE4wkQ2SMlDZU97hX86EilU/lUmkQUztTE6mx1EEPh7OmdqBtAvv8HdWpbrJS6tJj3n0CWdM6busNzRV3S9KTYhqvNiqWmuroiKgYhshMjmhTh9ptWhsF7970j/SbMrsPE1suR5z7DMC+P/Hs+y7ijrQAlhyAgccjbhjPygfeBTjzhNqy28EdkUh8C+DU9+z2v/oyeH791OncxHOs5y2AtTc7nb/f73TWPkD/qwBnjX8BoJ98VQNcC+8AAEAASURBVHgB7N0JvJRz///xT3vatGgvLVIhbVKSFLmVu9xyVxTuiIjsIbKULHdua9lvQmQp0crdQpYQIS1E+6aFKKVdy/mf9/f3v6Y508ycmXPOzJnl9X08TnPNtX6v5zWn85nvWiAjMxkJAQQQQAABBBBAAIE4CRSM03W4DAIIIIAAAggggAACToAAlA8CAggggAACCCCAQFwFCEDjys3FEEAAAQQQQAABBAhA+QwggAACCCCAAAIIxFWAADSu3FwMAQQQQAABBBBAgACUzwACCCCAAAIIIIBAXAUIQOPKnfuLPfvss9avXz+79dZbQ55s37591r9/f7ffd99959vvnnvusQcffND3/pVXXnH7fPPNN751/gtLlixx28eNG+e/2j788EPTua6++mp74YUX7K+//sqynTcIIIAAAggggEA4gQKMAxqOJ/G2nXfeeTZ58mSXsQULFljjxo0Py+T//vc/69y5s1uv4LF79+5u+dhjj7XSpUubF5SuWbPGmjRpYhUqVLD58+e7bd7Jdu/ebS1btrStW7e6bdrn4MGDdt1119lzzz1nTZs2tYIFC7pztWvXzj755BPvUF4RQAABBBBAAIGwApSAhuVJzI0KIo844gh7++23g2ZwzJgxWYLJoDtlrqxVq5apRHXlypV2ww03ZNlNJaiLFy+2t956ywWo2jhx4kQXfD722GM2b948mzt3rtv+6aefulLRLCfgDQIIIIAAAgggEEIgLQPQbdu2uYDp559/diwbNmywzZs3ZyE6cOCA/fjjjzZt2jRbvXp1lm16s3PnTrdeE0nt3bvXZs+e7X527dp12L5akd35tm/f7s6n82aXFHyqhDOwalzH7dmzxwWKKimNJF100UV2ySWX2KhRo+zdd991h2hZP/fdd5+ddtppvtM89NBDduaZZ9rNN9/sW9ezZ0+7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EEAgPwXmzJljb731Vo6zoDnQo01FixY1TagSafrrr7/szjvvdKPJaJijJUuW2A033BDp4eyHQEILJFUAOmPGDOvdu7cb+slT1fBPf/75p3300UcEoB4KrwgggAACYQUU3ClprvN4pO+//96+/vrrqC6lsTTViUelp5ruUk3PVCJKv4eoGNk5QQWSKgDdvXu3m2c20FKzLvjPyhS4nfcIIIAAAggEChQoUMDN4Be4Phbvo62yVx40hqaCTy9pmX4PngavyS6QVJ2QWrZsaS+//LItXrzY566pODUIfYsWLXzrWEAAAQQQQCDZBWrXru3721alShU3K6Gq8UkIpIJAUpWA9unTx1VhnHvuuaZfRn173bhxozVt2tSuueaaVHge3AMCCCCAAAI+AfVvmDt3rt11112+dSwgkAoCSRWAlihRwkaNGmWff/65LV261NSLsX79+m6eegWjJAQQQAABBBBAAIHEF0iaKnhN56U2NAo027Zt6xqON2jQwJV+Enwm/geNHCKAAAIIIIAAAp5AUgSg8+bNs3/84x82evRoL9/uVe1Bzz77bHv77bezrOcNAggggAACCCCAQOIKJHwAql5/l19+uTVv3tyuu+66LJL//e9/3TaNC6phmEgIIIAAAggggAACiS+Q8AGoxk3TFJzDhg2zI488Moto8eLF7eqrr3ZV8u+++26WbbxBAAEEEEAAAQQQSEyBpAhANfxSuHTWWWe53vDh9mEbAggggAACCCCAQGIIJHwAeuyxx9qiRYvCaq1Zs8aOO+64sPuwEQEEEEAAAQQQQCAxBBI+AFXppwab/+abb4KKaRzQ999/31q1ahV0OysRQAABBBBAAAEEEksg4ccBrVSpkg0aNMjNAX/llVdamzZt3NRpGzZscDMiPfXUU24s0DPOOCOxZMkNAggggAACCCCAQFCBhA9AlWv1gi9VqpSbcvO5557z3Yjmye3atavddtttVrhwUtyKL+8sIIAAAgjkr0BGRoa99957ccnEzz//7K4zduzYqK6nwhblM9rjdBH9jfzb3/4W1fXYGYF4CSRN1HbBBReYfrZu3epmQapZs6ZVrVo1Xk5cBwEEEEAgBQW+/fbbuN7VwoULo7qegk8VwER73F9//WWawIUANCpudo6jQNIEoJ5J2bJlLbte8d6+ifw6ffp0++6771znKZXikhBAAAEEUltA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m3tNawF9u65UqVJcDU4//fS4Xo+LIYAAAsEE1LTooYcesnPPPdfuuOMOmzt3rm83lUI+//zzdv7555tqbR5//PEsQaGq01V79PLLL1vXrl2tZ8+e9uGHH/qO18KMGTPsiiuusB49erh9/TeqedNNN91kO3futEGDBrlNd999t33wwQe2f/9+u/LKK23x4sVufV7kxf/aibxMCWgiPx3yhkAeCpQoUcL9B6lXlXq+8sorrt1R3bp17cILL7Rhw4aZvo03b97cOnfunCdXLlmyZJ6ch5MggAACORVQ4HfOOefYrl27rH///rZ8+XJr06aN/fTTT67a+/LLL7dJkybZVVddZaVKlXKB6v/+9z8XIBYoUMAFlKpCP/roo12AOWvWLOvYsaNrP3/CCSfYtGnTXGCqUs4WLVqYzrd582ZfdnW90aNH23/+8x9r0qSJjR071k488USrUqWKHTx40EaOHOmC2oYNG7pjc5MX30WTYIEANAkeEllEIK8EFHyWLVvWnW7AgAFZTqs2SyQEEEAg1QReeukl1/ZdgaC+ZCupI5BKMZs2bWqvvfaaC0BV+qmkYFVtNxUIqsRTSV+mP/nkEytYsKBr26naJLWXVwCq0s0777zTBg8e7Pa94IILXPtO98bvn2LFirlAU/vqS7/agCofXvrmm29ynRfvXMnwShV8Mjwl8ogAAggggAACORKYN2+e6+TjBZ86yTPPPOOqvrVNgWGHDh1851YppkonFRB6SesUfCrptXr16rZjxw5Xrb5s2TI788wzvV1dqaqCy2hTbvMS7fXye38C0Px+AlwfAQQQQAABBGImoJE/QjUHUqcg1Qr5b1e1u0o41R7TS/7bta5QoUJu0/bt2101utpy+qciRYr4v41oObd5iegiCbQTAWgCPQyyggACCCCAAAJ5K6B27v49z3V2dTTS8Ef16tVz1fPz58/3XXTjxo2ufWezZs1860ItqKRUP+qE5KXffvvNN76yt857VXCrpHb4gSm3eQk8X6K/JwBN9CdE/hBAAAEEEEAgxwLqna4h6J544glXZa5g8/7773cdhtTes1atWq79pqrS161bZ7fffrsrAY10FI/LLrvM3nzzTddGVON8DhkyJGiAqRsoX768uw/1wt+2bVuWe8qLvGQ5YYK/IQBN8AdE9hBAAAEEEEAg5wIqyVRHI5V4VqhQwQ21dMMN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sEycOFGio6MlNDRUWrRoYYJcM4skQAIkQAK+JEAF1Je0eS8SMAgBmOr79u1rkNQymSRAAiRAAkYjwElIRisxppcESIAESIAESIAEDE6ACqjBC5DJJwESIAESIAESIAGjEaACarQSY3pJgARIgARIgARIwOAEqIAavACZfBIgARIgARIgARIwGgEqoEYrMaaXBEiABEiABEiABAxOgAqowQuQyScBEiABEiABEiABoxGgAmq0EmN6SYAESIAESIAESMDgBKiAGrwAmXwSIAESIAESIAESMBoBKqBGKzGmlwRIgARIgARIgAQMToAKqMELkMknARIgARIgARIgAaMR8FoBvXTpksTExMiRI0c85lVrPI8XYSAJkAAJkAAJkIBuCWh912uNp9uMMmEZTsArBXTPnj3Sp08fOXr0qERGRsrq1atdJkhrPJcn8yAJkAAJkAAJkIDuCWh912uNp/sMM4EZSiCnN1ebNWuWTJo0SapUqSJdunSRfv36SZs2bSQgIMDpMlrjOZ3EHRIwIYH//vtPHj58qHL+4MEDWbZsmfrAq169urz88sty8+ZNiYqKkoSEBNXmcDy9cu/ePfu90nsNM513584dyZYtW5pZtlgssnLlStm/f78ULVpUhgwZItmzP/q2v3v3rixZskSOHz8urVq1kiZNmri8Hu6TJ08el2HeHkQ9Qlk7yvz581UacGzcuHGSP39+x+B0byclJQnyiPTjvthfsWKFHDx4UEJCQmTgwIF2FlpvsmPHDtm0aZPcuHFD3nvvvVRccubMmeqdo/XajJexBLS+67XGy9jU8Wp6J6BZAcXD5fTp01K5cmWVp+LFi0vevHnlzJkzUqZMGXs+tcS7fv26xMXF2c8JDQ2V0qVL2/e5QQJmIAAFBw/ms2fPpspufHy84OcoeLHj9zjSsmVLadeu3eNcwhTnQuGfN2+e13nF83D06NEuz9uwYYPg50qgVI0dO1aKFCniKtirY2vWrJHY2Fi356ATISPlySefVMpiymuePHnSLYuUcd3tQwFNKc8++6xSbJ944omUQdzPBALovbR1MgUFBUmFChXUXbS86xFRa7xMSDovqXMCmk3wFy5ckMDAQKcegQIFCsiVK1ecsqglHh7SI0eOtP8clVGni3GHBPyYAMZRu1I+MzPLv/32W2Ze3m+uvWXLFp/mBS/pjHgO4jq+LmP0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" /><!-- --></p> <p>The following command will approximate the older version of the gene plot (where DTU determined the fill colour):</p> <pre class="r"><code>plot_gene(mydtu, "MIX6", fillby="DTU", shapeby="none")</code></pre> <p><img src="data:image/png;base64,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" /><!-- --></p> diff --git a/man/call_DTU.Rd b/man/call_DTU.Rd index 16fa9ed..4df817a 100644 --- a/man/call_DTU.Rd +++ b/man/call_DTU.Rd @@ -11,7 +11,7 @@ call_DTU(annot = NULL, TARGET_COL = "target_id", PARENT_COL = "parent_id", dprop_thresh = 0.2, correction = "BH", scaling = 1, testmode = "both", qboot = TRUE, qbootnum = 0L, qrep_thresh = 0.95, rboot = TRUE, rrep_thresh = 0.85, description = NA_character_, verbose = TRUE, - threads = 1L, seed = NA_integer_, dbg = "0") + threads = 1L, seed = NA_integer_, reckless = FALSE, dbg = "0") } \arguments{ \item{annot}{A data.table matching transcript identifiers to gene identifiers. Any additional columns are allowed but ignored.} @@ -64,7 +64,9 @@ call_DTU(annot = NULL, TARGET_COL = "target_id", PARENT_COL = "parent_id", \item{seed}{A numeric integer used to initialise the random number engine. Use this only if reproducible bootstrap selections are required. (Default NA)} -\item{dbg}{Debugging mode. Interrupt execution at the specified flag-point. Used to speed up code-tests by avoiding irrelevant downstream processing. (Default 0: do not interrupt)} +\item{reckless}{RATs normally aborts if any inconsistency is detected among the transcript IDs found in the annotation and the quantifications. Enabling reckless mode will downgrade this error to a warning and allow RATs to continue the run. Not recommended unless you know why the inconsistency exists and how it will affect the results. (Default FALSE)} + +\item{dbg}{Debugging mode only. Interrupt execution at the specified flag-point. Used to speed up code-tests by avoiding irrelevant downstream processing. (Default 0: do not interrupt)} } \value{ List of mixed types. Contains a list of runtime settings, a table of gene-level results, a table of transcript-level results, and a list of two tables with the transcript abundaces. diff --git a/man/combine_sim_dtu.Rd b/man/combine_sim_dtu.Rd deleted file mode 100644 index 7ac8e7f..0000000 --- a/man/combine_sim_dtu.Rd +++ /dev/null @@ -1,19 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/data_simulators.R -\name{combine_sim_dtu} -\alias{combine_sim_dtu} -\title{Combine simulation details with DTU calls, in preparation for plotting.} -\usage{ -combine_sim_dtu(sim, dtuo) -} -\arguments{ -\item{sim}{An object generated with countrange_sim(), containing the simulated data details with which the \code{dtu} object was calculated.} - -\item{dtuo}{The object with the DTU results corresponding to the \code{sim} object's data.} -} -\value{ -dataframe -} -\description{ -Combine simulation details with DTU calls, in preparation for plotting. -} diff --git a/man/countrange_sim.Rd b/man/countrange_sim.Rd deleted file mode 100644 index 2ad76a3..0000000 --- a/man/countrange_sim.Rd +++ /dev/null @@ -1,26 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/data_simulators.R -\name{countrange_sim} -\alias{countrange_sim} -\title{Generate artificial read-count data for simulated 2-transcript genes, -systematically covering a broad range of proportions and magnitudes.} -\usage{ -countrange_sim(proportions = seq(0, 1, 0.01), magnitudes = c(1, 5, 10, 30, - 100, 500, 1000)) -} -\arguments{ -\item{proportions}{Range and step of proportions for 1st transcript. Sibling transcript complemented from these.} - -\item{magnitudes}{vector of read-count sizes to use.} -} -\value{ -list containing: \code{data} a minimal sleuth-like object. - \code{anno} a dataframe matching \code{target_id} to \code{parent_id}. - \code{sim} a dataframe with the simulation parameters per transcript. -} -\description{ -For each level of transcript proportions in condition A, all proportion levels are -generated for condition B as possible new states. Therefore the number of transcripts -generated is 2 * N^2 * M, where 2 is the number of gene isoforms per paramater combination, -N is the number of proportion levels and M the number of magnitude levels. -} diff --git a/man/parameters_are_good.Rd b/man/parameters_are_good.Rd index 7f2d27b..1ec7bc7 100644 --- a/man/parameters_are_good.Rd +++ b/man/parameters_are_good.Rd @@ -7,7 +7,7 @@ parameters_are_good(annot, count_data_A, count_data_B, boot_data_A, boot_data_B, TARGET_COL, PARENT_COL, correction, testmode, scaling, threads, seed, p_thresh, abund_thresh, dprop_thresh, qboot, qbootnum, qrep_thresh, rboot, - rrep_thresh) + rrep_thresh, reckless) } \arguments{ \item{annot}{Annotation dataframe.} @@ -49,6 +49,8 @@ parameters_are_good(annot, count_data_A, count_data_B, boot_data_A, boot_data_B, \item{rboot}{Whether to bootstrap against samples.} \item{rrep_thresh}{Confidence threshold.} + +\item{reckless}{whether to ignore detected annotation discrepancies} } \value{ List: \itemize{ diff --git a/man/plot_sim.Rd b/man/plot_sim.Rd deleted file mode 100644 index 7c5c160..0000000 --- a/man/plot_sim.Rd +++ /dev/null @@ -1,16 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/data_simulators.R -\name{plot_sim} -\alias{plot_sim} -\title{Plot relationship of parameters.} -\usage{ -plot_sim(data, type = "AvBvM") -} -\arguments{ -\item{data}{the output from combine_sim_dtu()} - -\item{type}{(str) "AvBvM", "B/AvM", "AvBvMprop", "B/AvMprop", "B-AvM"} -} -\description{ -Plot relationship of parameters. -} diff --git a/man/sim_boot_data.Rd b/man/sim_boot_data.Rd index b78c3fc..c17f343 100644 --- a/man/sim_boot_data.Rd +++ b/man/sim_boot_data.Rd @@ -5,7 +5,7 @@ \title{Generate an artificial dataset of bootstrapped abundance estimates, for code-testing or examples.} \usage{ sim_boot_data(errannot_inconsistent = FALSE, PARENT_COL = "parent_id", - TARGET_COL = "target_id") + TARGET_COL = "target_id", clean = FALSE) } \arguments{ \item{errannot_inconsistent}{Logical. Introduces an inconsistency in the transcript IDs, for testing of sanity checks. (FALSE)} @@ -13,6 +13,8 @@ sim_boot_data(errannot_inconsistent = FALSE, PARENT_COL = "parent_id", \item{PARENT_COL}{Name for the bootdtraps column containing counts.} \item{TARGET_COL}{Name for annotation column containing transcript identification.} + +\item{clean}{Logical. Remove the intentional inconsistency of IDs between annotation and abundances.} } \value{ A list with 3 elements. First a data.frame with the corresponding annotation. diff --git a/man/sim_count_data.Rd b/man/sim_count_data.Rd index 094c672..22b7e8f 100644 --- a/man/sim_count_data.Rd +++ b/man/sim_count_data.Rd @@ -5,7 +5,7 @@ \title{Generate an artificial dataset of abundance estimates, for code-testing or examples.} \usage{ sim_count_data(errannot_inconsistent = FALSE, PARENT_COL = "parent_id", - TARGET_COL = "target_id") + TARGET_COL = "target_id", clean = FALSE) } \arguments{ \item{errannot_inconsistent}{Logical. Introduces an inconsistency in the transcript IDs, for testing of sanity checks. (FALSE)} @@ -13,6 +13,8 @@ sim_count_data(errannot_inconsistent = FALSE, PARENT_COL = "parent_id", \item{PARENT_COL}{Name for the bootdtraps column containing counts.} \item{TARGET_COL}{Name for annotation column containing transcript identification.} + +\item{clean}{Logical. Remove the intentional inconsistency of IDs between annotation and abundances.} } \value{ A list with 3 elements. First, a data.frame with the corresponding annotation table. diff --git a/tests/testthat/test_1_internal-structures.R b/tests/testthat/test_1_internal-structures.R index da012bc..4d2e067 100644 --- a/tests/testthat/test_1_internal-structures.R +++ b/tests/testthat/test_1_internal-structures.R @@ -17,13 +17,13 @@ test_that("The reporting structures are created correctly", { expect_type(full$Parameters, "list") expect_true(typeof(full$Parameters) == typeof(short$Parameters)) - expect_length(full$Parameters, 25) + expect_length(full$Parameters, 26) expect_length(short$Parameters, 2) expect_named(full$Parameters, c("description", "time", "rats_version", "R_version", "var_name", "cond_A", "cond_B", "data_type", "num_replic_A", "num_replic_B", "num_genes", "num_transc", "tests", "p_thresh", "abund_thresh", "dprop_thresh", "correction", "abund_scaling", "quant_boot", "quant_reprod_thresh", "quant_bootnum", - "rep_boot", "rep_reprod_thresh", "rep_bootnum", "seed")) + "rep_boot", "rep_reprod_thresh", "rep_bootnum", "seed", "reckless")) expect_named(short$Parameters, c("num_replic_A", "num_replic_B")) expect_true(is.data.frame(full$Genes)) diff --git a/tests/testthat/test_3_input-checks.R b/tests/testthat/test_3_input-checks.R index 5343bc6..6d434ab 100644 --- a/tests/testthat/test_3_input-checks.R +++ b/tests/testthat/test_3_input-checks.R @@ -3,146 +3,202 @@ context("DTU Input checks") #============================================================================== -test_that("The input checks work", { +test_that("No false alarms", { name_A <- "one" name_B <- "two" - wrong_name <- "RUBBISH_COLUMN_NAME" - # Emulate bootstrap data. - sim1 <- sim_boot_data() - sim2 <- sim_boot_data(errannot_inconsistent=FALSE, PARENT_COL="parent", TARGET_COL="target") - # Emulate non-bootstrap data. - counts_A <- sim1$boots_A[[1]] - counts_B <- sim1$boots_B[[1]] - - # No false alarms with valid calls. - expect_silent(call_DTU(annot= sim2$annot, boot_data_A= sim2$boots_A, boot_data_B= sim2$boots_B, name_A = "AAAA", name_B = "BBBB", varname= "waffles", p_thresh= 0.01, abund_thresh= 10, + sim <- sim_boot_data(clean=TRUE, errannot_inconsistent=FALSE, TARGET_COL= "target", PARENT_COL= "parent") + expect_silent(call_DTU(annot= sim$annot, boot_data_A= sim$boots_A, boot_data_B= sim$boots_B, name_A = "AAAA", name_B = "BBBB", varname= "waffles", p_thresh= 0.01, abund_thresh= 10, rrep_thresh = 0.6, qrep_thresh = 0.8, testmode= "transc", correction= "bonferroni", verbose= FALSE, rboot= FALSE, qboot=TRUE, qbootnum= 100, TARGET_COL= "target", PARENT_COL= "parent", threads= 2, dbg= "prep", scaling=c(10, 11, 20, 21))) - expect_silent(call_DTU(annot= sim1$annot, boot_data_A= sim1$boots_A, boot_data_B= sim1$boots_B, verbose = FALSE, dbg= "prep", scaling=30)) - expect_silent(call_DTU(annot= sim1$annot, boot_data_A= sim1$boots_A, boot_data_B= sim1$boots_B, rboot=FALSE, qboot= FALSE, verbose = FALSE, dbg= "prep")) - - # Mixed input formats. - expect_silent(call_DTU(annot= sim1$annot, name_A= name_A, name_B= name_B, verbose = FALSE, - boot_data_A= sim1$boots_A, boot_data_B= sim1$boots_B, count_data_A= counts_A, count_data_B= counts_B, dbg= "prep")) - expect_warning(call_DTU(annot= sim1$annot, verbose = TRUE, boot_data_A= sim1$boots_A, boot_data_B= sim1$boots_B, - count_data_A= counts_A, count_data_B= counts_B, qbootnum= 100, dbg= "prep"), - "Only the bootstrapped data will be used", fixed= TRUE) + + sim <- sim_boot_data(clean=TRUE, errannot_inconsistent=FALSE) + expect_silent(call_DTU(annot= sim$annot, boot_data_A= sim$boots_A, boot_data_B= sim$boots_B, verbose = FALSE, dbg= "prep", scaling=30)) + expect_silent(call_DTU(annot= sim$annot, boot_data_A= sim$boots_A, boot_data_B= sim$boots_B, rboot=FALSE, qboot= FALSE, verbose = FALSE, dbg= "prep")) + expect_silent(call_DTU(annot= sim$annot, boot_data_A= sim$boots_A, boot_data_B= sim$boots_B, verbose = FALSE, dbg= "prep")) + expect_silent(call_DTU(annot= sim$annot, count_data_A= sim$boots_A[[1]], count_data_B= sim$boots_B[[1]], verbose = FALSE, dbg= "prep")) +}) + +#============================================================================== +test_that("Feature ID inconsistencies abort or warn", { + sim <- sim_boot_data(clean=TRUE, errannot_inconsistent=TRUE) + + expect_error(call_DTU(annot= sim$annot, boot_data_A= sim$boots_A, boot_data_B= sim$boots_B, verbose = FALSE, dbg= "prep"), + "Inconsistent set of transcript IDs across samples", fixed= TRUE) + expect_error(call_DTU(annot= sim$annot, count_data_A= sim$boots_A[[1]], count_data_B= sim$boots_B[[1]], verbose = FALSE, dbg= "prep"), + "Transcript IDs do not match completely between conditions", fixed= TRUE) + expect_error(call_DTU(annot= sim$annot, boot_data_A= sim$boots_B, boot_data_B= sim$boots_A, verbose = FALSE, dbg= "prep"), + "The transcript IDs in the quantifications and the annotation do not match", fixed= TRUE) + expect_error(call_DTU(annot= sim$annot, count_data_A= sim$boots_B[[1]], count_data_B= sim$boots_A[[1]], verbose = FALSE, dbg= "prep"), + "The transcript IDs in the quantifications and the annotation do not match", fixed= TRUE) + + expect_warning(call_DTU(annot= sim$annot, boot_data_A= sim$boots_A, boot_data_B= sim$boots_B, verbose = TRUE, dbg= "prep", reckless=TRUE), + "Inconsistent set of transcript IDs across samples", fixed= TRUE) + expect_warning(call_DTU(annot= sim$annot, count_data_A= sim$boots_A[[1]], count_data_B= sim$boots_B[[1]], verbose = TRUE, dbg= "prep", reckless=TRUE), + "Transcript IDs do not match completely between conditions", fixed= TRUE) + expect_warning(call_DTU(annot= sim$annot, boot_data_A= sim$boots_B, boot_data_B= sim$boots_A, verbose = TRUE, dbg= "prep", reckless=TRUE), + "The transcript IDs in the quantifications and the annotation do not match", fixed= TRUE) + expect_warning(call_DTU(annot= sim$annot, count_data_A= sim$boots_B[[1]], count_data_B= sim$boots_A[[1]], verbose = TRUE, dbg= "prep", reckless=TRUE), + "The transcript IDs in the quantifications and the annotation do not match", fixed= TRUE) + + expect_silent(call_DTU(annot= sim$annot, boot_data_A= sim$boots_A, boot_data_B= sim$boots_B, verbose = FALSE, dbg= "prep", reckless=TRUE)) + expect_silent(call_DTU(annot= sim$annot, count_data_A= sim$boots_A[[1]], count_data_B= sim$boots_B[[1]], verbose = FALSE, dbg= "prep", reckless=TRUE)) + expect_silent(call_DTU(annot= sim$annot, boot_data_A= sim$boots_B, boot_data_B= sim$boots_A, verbose = FALSE, dbg= "prep", reckless=TRUE)) + expect_silent(call_DTU(annot= sim$annot, count_data_A= sim$boots_B[[1]], count_data_B= sim$boots_A[[1]], verbose = FALSE, dbg= "prep", reckless=TRUE)) +}) + +#============================================================================== +test_that("Annotation format is checked", { + sim <- sim_boot_data(clean=TRUE) # Annotation is not a dataframe. - expect_error(call_DTU(annot= list("not", "a", "dataframe"), boot_data_A= sim1$boots_A, boot_data_B= sim1$boots_B, name_A= name_A, name_B= name_B, verbose = FALSE, dbg= "prep"), "annot is not a data.frame") + expect_error(call_DTU(annot= list("not", "a", "dataframe"), boot_data_A= sim$boots_A, boot_data_B= sim$boots_B, name_A= name_A, name_B= name_B, verbose = FALSE, dbg= "prep"), + "annot is not a data.frame") # Annotation field names. - expect_error(call_DTU(annot= sim1$annot, boot_data_A= sim1$boots_A, boot_data_B= sim1$boots_B, name_A= name_A, name_B= name_B, TARGET_COL= wrong_name, verbose = FALSE, dbg= "prep"), + expect_error(call_DTU(annot= sim$annot, boot_data_A= sim$boots_A, boot_data_B= sim$boots_B, name_A= name_A, name_B= name_B, TARGET_COL= "wrong_name", verbose = FALSE, dbg= "prep"), "target and/or parent IDs field names do not exist in annot", fixed= TRUE) - expect_error(call_DTU(annot= sim1$annot, boot_data_A= sim1$boots_A, boot_data_B= sim1$boots_B, name_A= name_A, name_B= name_B, PARENT_COL= wrong_name, verbose = FALSE, dbg= "prep"), + expect_error(call_DTU(annot= sim$annot, boot_data_A= sim$boots_A, boot_data_B= sim$boots_B, name_A= name_A, name_B= name_B, PARENT_COL= "wrong_name", verbose = FALSE, dbg= "prep"), "target and/or parent IDs field names do not exist in annot", fixed= TRUE) - # Inconsistent annotation. - sim3 <- sim_boot_data(errannot_inconsistent= TRUE) - expect_error(call_DTU(annot= sim3$annot, boot_data_A= sim3$boots_A, boot_data_B= sim3$boots_B, name_A= name_A, name_B= name_B, verbose = FALSE, dbg= "prep"), - "Inconsistent set of transcript IDs", fixed= TRUE) - # Non unique IDs. - a <- copy(sim1$annot) + + # Non unique transcript IDs. + a <- copy(sim$annot) a[1, "target_id"] <- a[2, "target_id"] - expect_error(call_DTU(annot= a, boot_data_A= sim1$boots_A, boot_data_B= sim1$boots_B, name_A= name_A, name_B= name_B, verbose = FALSE, dbg= "prep"), "transcript identifiers are not unique") + expect_error(call_DTU(annot= a, boot_data_A= sim$boots_A, boot_data_B= sim$boots_B, name_A= name_A, name_B= name_B, verbose = FALSE, dbg= "prep"), + "transcript identifiers are not unique") +}) + +#============================================================================== +test_that("Quantification formats are checked", { + sim <- sim_boot_data(clean=TRUE) + + # Redundant quantification formats. + expect_silent(call_DTU(annot= sim$annot, verbose = FALSE, dbg= "prep", boot_data_A= sim$boots_A, boot_data_B= sim$boots_B, count_data_A= sim$boots_A[[1]], count_data_B= sim$boots_B[[1]])) + expect_warning(call_DTU(annot= sim$annot, verbose = TRUE, dbg= "prep", boot_data_A= sim$boots_A, boot_data_B= sim$boots_B, count_data_A= sim$boots_A[[1]], count_data_B= sim$boots_B[[1]]), + "Only the bootstrapped data will be used", fixed= TRUE) # Boot data is not a list of datatables. - expect_error(call_DTU(annot= sim1$annot, boot_data_A= c("not", "a", "list"), boot_data_B= sim1$boots_B, verbose = FALSE, dbg= "prep"), "bootstrap data are not lists") - expect_error(call_DTU(annot= sim1$annot, boot_data_A= sim1$boots_A, boot_data_B= c("not", "a", "list"), verbose = FALSE, dbg= "prep"), "bootstrap data are not lists") - expect_error(call_DTU(annot= sim1$annot, boot_data_A= list( list("not"), list("a"), list("table")), boot_data_B= sim1$boots_B, verbose = FALSE, dbg= "prep"), "bootstrap data are not lists") - expect_error(call_DTU(annot= sim1$annot, boot_data_A= sim1$boots_A, boot_data_B= list( list("not"), list("a"), list("table")), verbose = FALSE, dbg= "prep"), "bootstrap data are not lists") - expect_error(call_DTU(annot= sim1$annot, boot_data_A= list(data.frame(a="not", b="a", c="table")), boot_data_B= sim1$boots_B, verbose = FALSE, dbg= "prep"), "not lists of data.tables") - expect_error(call_DTU(annot= sim1$annot, boot_data_A= sim1$boots_A, boot_data_B= list(data.frame(a="not", b="a", c="table")), verbose = FALSE, dbg= "prep"), "not lists of data.tables") + expect_error(call_DTU(annot= sim$annot, boot_data_A= c("not", "a", "list"), boot_data_B= sim$boots_B, verbose = FALSE, dbg= "prep"), "bootstrap data are not lists") + expect_error(call_DTU(annot= sim$annot, boot_data_A= sim$boots_A, boot_data_B= c("not", "a", "list"), verbose = FALSE, dbg= "prep"), "bootstrap data are not lists") + expect_error(call_DTU(annot= sim$annot, boot_data_A= list( list("not"), list("a"), list("table")), boot_data_B= sim$boots_B, verbose = FALSE, dbg= "prep"), "bootstrap data are not lists") + expect_error(call_DTU(annot= sim$annot, boot_data_A= sim$boots_A, boot_data_B= list( list("not"), list("a"), list("table")), verbose = FALSE, dbg= "prep"), "bootstrap data are not lists") + expect_error(call_DTU(annot= sim$annot, boot_data_A= list(data.frame(a="not", b="a", c="table")), boot_data_B= sim$boots_B, verbose = FALSE, dbg= "prep"), "not lists of data.tables") + expect_error(call_DTU(annot= sim$annot, boot_data_A= sim$boots_A, boot_data_B= list(data.frame(a="not", b="a", c="table")), verbose = FALSE, dbg= "prep"), "not lists of data.tables") # Counts data is not datatables. - expect_error(call_DTU(annot= sim1$annot, count_data_A= c("not", "a", "list"), count_data_B= counts_B, verbose = FALSE, dbg= "prep"), "counts data are not data.tables") - expect_error(call_DTU(annot= sim1$annot, count_data_A= counts_A, count_data_B= c("not", "a", "list"), verbose = FALSE, dbg= "prep"), "counts data are not data.tables") - expect_error(call_DTU(annot= sim1$annot, count_data_A= data.frame(a="not", b="a", c="table"), count_data_B= counts_B, verbose = FALSE, dbg= "prep"), "counts data are not data.tables") - expect_error(call_DTU(annot= sim1$annot, count_data_A= counts_A, count_data_B= data.frame(a="not", b="a", c="table"), verbose = FALSE, dbg= "prep"), "counts data are not data.tables") + expect_error(call_DTU(annot= sim$annot, count_data_A= c("not", "a", "list"), count_data_B= sim$boots_B[[1]], verbose = FALSE, dbg= "prep"), "counts data are not data.tables") + expect_error(call_DTU(annot= sim$annot, count_data_A= sim$boots_A[[1]], count_data_B= c("not", "a", "list"), verbose = FALSE, dbg= "prep"), "counts data are not data.tables") + expect_error(call_DTU(annot= sim$annot, count_data_A= data.frame(a="not", b="a", c="table"), count_data_B= sim$boots_B[[1]], verbose = FALSE, dbg= "prep"), "counts data are not data.tables") + expect_error(call_DTU(annot= sim$annot, count_data_A= sim$boots_A[[1]], count_data_B= data.frame(a="not", b="a", c="table"), verbose = FALSE, dbg= "prep"), "counts data are not data.tables") +}) + +#============================================================================== +test_that("Bootstrap parameters are checked", { + sim <- sim_boot_data(clean=TRUE) # Number of bootstraps. - expect_warning(call_DTU(annot= sim1$annot, boot_data_A= sim1$boots_A, boot_data_B= sim1$boots_B, name_A= name_A, name_B= name_B, verbose = TRUE, dbg= "prep"), + expect_warning(call_DTU(annot= sim$annot, boot_data_A= sim$boots_A, boot_data_B= sim$boots_B, name_A= name_A, name_B= name_B, verbose = TRUE, dbg= "prep"), "few bootstrap iterations", fixed= TRUE) - expect_error(call_DTU(annot= sim1$annot, boot_data_A= sim1$boots_A, boot_data_B= sim1$boots_B, name_A= name_A, name_B= name_B, qbootnum = -5, verbose = FALSE, dbg= "prep"), + expect_error(call_DTU(annot= sim$annot, boot_data_A= sim$boots_A, boot_data_B= sim$boots_B, name_A= name_A, name_B= name_B, qbootnum = -5, verbose = FALSE, dbg= "prep"), "Invalid number of bootstraps", fixed= TRUE) - expect_warning(call_DTU(annot= sim1$annot, boot_data_A= sim1$boots_A, boot_data_B= sim1$boots_B, name_A= name_A, name_B= name_B, qbootnum = 5, verbose = TRUE, dbg= "prep"), + expect_warning(call_DTU(annot= sim$annot, boot_data_A= sim$boots_A, boot_data_B= sim$boots_B, name_A= name_A, name_B= name_B, qbootnum = 5, verbose = TRUE, dbg= "prep"), "qbootnum is low", fixed= TRUE) - expect_warning(call_DTU(annot= sim1$annot, boot_data_A= sim1$boots_A, boot_data_B= sim1$boots_B, name_A= name_A, name_B= name_B, qbootnum = 5000, verbose = TRUE, dbg= "prep"), + expect_warning(call_DTU(annot= sim$annot, boot_data_A= sim$boots_A, boot_data_B= sim$boots_B, name_A= name_A, name_B= name_B, qbootnum = 5000, verbose = TRUE, dbg= "prep"), "number of quantification bootstraps is very high", fixed= TRUE) - expect_error(call_DTU(annot= sim1$annot, boot_data_A= sim1$boots_A, boot_data_B= sim1$boots_B, name_A= name_A, name_B= name_B, qbootnum = 5000000000000, verbose = FALSE, dbg= "prep"), + expect_error(call_DTU(annot= sim$annot, boot_data_A= sim$boots_A, boot_data_B= sim$boots_B, name_A= name_A, name_B= name_B, qbootnum = 5000000000000, verbose = FALSE, dbg= "prep"), "number of quantification bootstraps would exceed the maximum capacity", fixed= TRUE) # Bootstraps without boot data. - expect_warning(call_DTU(annot= sim1$annot, count_data_A= counts_A, count_data_B= counts_B, qboot=TRUE, qbootnum=2, verbose= TRUE, dbg= "prep"), + expect_warning(call_DTU(annot= sim$annot, count_data_A= sim$boots_A[[1]], count_data_B= sim$boots_B[[1]], qboot=TRUE, qbootnum=2, verbose= TRUE, dbg= "prep"), "qboot is TRUE but no bootstrapped estimates", fixed= TRUE) + # Confidence threshold. + expect_error(call_DTU(annot= sim$annot, boot_data_A= sim$boots_A, boot_data_B= sim$boots_B, name_A= name_A, name_B= name_B, rrep_thresh = -2, verbose = FALSE, dbg= "prep"), + "Invalid reproducibility threshold", fixed= TRUE) + expect_error(call_DTU(annot= sim$annot, boot_data_A= sim$boots_A, boot_data_B= sim$boots_B, name_A= name_A, name_B= name_B, rrep_thresh = 2, verbose = FALSE, dbg= "prep"), + "Invalid reproducibility threshold", fixed= TRUE) + expect_error(call_DTU(annot= sim$annot, boot_data_A= sim$boots_A, boot_data_B= sim$boots_B, name_A= name_A, name_B= name_B, qrep_thresh = -2, verbose = FALSE, dbg= "prep"), + "Invalid reproducibility threshold", fixed= TRUE) + expect_error(call_DTU(annot= sim$annot, boot_data_A= sim$boots_A, boot_data_B= sim$boots_B, name_A= name_A, name_B= name_B, qrep_thresh = 2, verbose = FALSE, dbg= "prep"), + "Invalid reproducibility threshold", fixed= TRUE) +}) + +#============================================================================== +test_that("Testing parameters are checked", { + sim <- sim_boot_data(clean=TRUE) + # Correction method. - expect_error(call_DTU(annot= sim1$annot, boot_data_A= sim1$boots_A, boot_data_B= sim1$boots_B, name_A= name_A, name_B= name_B, correction= wrong_name, verbose= FALSE, dbg= "prep"), + expect_error(call_DTU(annot= sim$annot, boot_data_A= sim$boots_A, boot_data_B= sim$boots_B, name_A= name_A, name_B= name_B, correction= "wrong_name", verbose= FALSE, dbg= "prep"), "Invalid p-value correction method name", fixed= TRUE) - # Verbose is bool. - expect_error(call_DTU(annot= sim1$annot, boot_data_A= sim1$boots_A, boot_data_B= sim1$boots_B, name_A= name_A, name_B= name_B, verbose="yes", dbg= "prep"), - "not interpretable as logical", fixed= TRUE) - # Tests. - expect_error(call_DTU(annot= sim1$annot, boot_data_A= sim1$boots_A, boot_data_B= sim1$boots_B, name_A= name_A, name_B= name_B, testmode="GCSE", verbose = FALSE, dbg= "prep"), + expect_error(call_DTU(annot= sim$annot, boot_data_A= sim$boots_A, boot_data_B= sim$boots_B, name_A= name_A, name_B= name_B, testmode="GCSE", verbose = FALSE, dbg= "prep"), "Unrecognized value for testmode", fixed= TRUE) - expect_silent(call_DTU(annot= sim1$annot, boot_data_A= sim1$boots_A, boot_data_B= sim1$boots_B, name_A= name_A, name_B= name_B, testmode="genes", verbose = FALSE, rboot=FALSE, qboot = FALSE, dbg= "prep")) - expect_silent(call_DTU(annot= sim1$annot, boot_data_A= sim1$boots_A, boot_data_B= sim1$boots_B, name_A= name_A, name_B= name_B, testmode="transc", verbose = FALSE, rboot=FALSE, qboot = FALSE, dbg= "prep")) + expect_silent(call_DTU(annot= sim$annot, boot_data_A= sim$boots_A, boot_data_B= sim$boots_B, name_A= name_A, name_B= name_B, testmode="genes", verbose = FALSE, rboot=FALSE, qboot = FALSE, dbg= "prep")) + expect_silent(call_DTU(annot= sim$annot, boot_data_A= sim$boots_A, boot_data_B= sim$boots_B, name_A= name_A, name_B= name_B, testmode="transc", verbose = FALSE, rboot=FALSE, qboot = FALSE, dbg= "prep")) - expect_error(call_DTU(annot= sim1$annot, boot_data_A= sim1$boots_A, boot_data_B= sim1$boots_B, name_A= name_A, name_B= name_B, qboot="GCSE", verbose = FALSE, dbg= "prep"), + expect_error(call_DTU(annot= sim$annot, boot_data_A= sim$boots_A, boot_data_B= sim$boots_B, name_A= name_A, name_B= name_B, qboot="GCSE", verbose = FALSE, dbg= "prep"), "Unrecognized value for qboot", fixed= TRUE) - expect_error(call_DTU(annot= sim1$annot, boot_data_A= sim1$boots_A, boot_data_B= sim1$boots_B, name_A= name_A, name_B= name_B, rboot="GCSE", verbose = FALSE, dbg= "prep"), + expect_error(call_DTU(annot= sim$annot, boot_data_A= sim$boots_A, boot_data_B= sim$boots_B, name_A= name_A, name_B= name_B, rboot="GCSE", verbose = FALSE, dbg= "prep"), "Unrecognized value for rboot", fixed= TRUE) +}) - # Probability threshold. - expect_error(call_DTU(annot= sim1$annot, boot_data_A= sim1$boots_A, boot_data_B= sim1$boots_B, name_A= name_A, name_B= name_B, p_thresh = 666, verbose = FALSE, dbg= "prep"), +#============================================================================== +test_that("Thresholds are checked", { + sim <- sim_boot_data(clean=TRUE) + + # Probability threshold. + expect_error(call_DTU(annot= sim$annot, boot_data_A= sim$boots_A, boot_data_B= sim$boots_B, name_A= name_A, name_B= name_B, p_thresh = 666, verbose = FALSE, dbg= "prep"), "Invalid p-value threshold", fixed= TRUE) - expect_error(call_DTU(annot= sim1$annot, boot_data_A= sim1$boots_A, boot_data_B= sim1$boots_B, name_A= name_A, name_B= name_B, p_thresh = -0.05, verbose = FALSE, dbg= "prep"), + expect_error(call_DTU(annot= sim$annot, boot_data_A= sim$boots_A, boot_data_B= sim$boots_B, name_A= name_A, name_B= name_B, p_thresh = -0.05, verbose = FALSE, dbg= "prep"), "Invalid p-value threshold", fixed= TRUE) # Read counts threshold. - expect_error(call_DTU(annot= sim1$annot, boot_data_A= sim1$boots_A, boot_data_B= sim1$boots_B, name_A= name_A, name_B= name_B, abund_thresh = -5, verbose = FALSE, dbg= "prep"), + expect_error(call_DTU(annot= sim$annot, boot_data_A= sim$boots_A, boot_data_B= sim$boots_B, name_A= name_A, name_B= name_B, abund_thresh = -5, verbose = FALSE, dbg= "prep"), "Invalid abundance threshold", fixed= TRUE) # Proportion change threshold. - expect_error(call_DTU(annot= sim1$annot, boot_data_A= sim1$boots_A, boot_data_B= sim1$boots_B, name_A= name_A, name_B= name_B, dprop_thresh = -2, verbose = FALSE, dbg= "prep"), + expect_error(call_DTU(annot= sim$annot, boot_data_A= sim$boots_A, boot_data_B= sim$boots_B, name_A= name_A, name_B= name_B, dprop_thresh = -2, verbose = FALSE, dbg= "prep"), "Invalid proportion difference threshold", fixed= TRUE) - expect_error(call_DTU(annot= sim1$annot, boot_data_A= sim1$boots_A, boot_data_B= sim1$boots_B, name_A= name_A, name_B= name_B, dprop_thresh = 2, verbose = FALSE, dbg= "prep"), + expect_error(call_DTU(annot= sim$annot, boot_data_A= sim$boots_A, boot_data_B= sim$boots_B, name_A= name_A, name_B= name_B, dprop_thresh = 2, verbose = FALSE, dbg= "prep"), "Invalid proportion difference threshold", fixed= TRUE) +}) - # Confidence threshold. - expect_error(call_DTU(annot= sim1$annot, boot_data_A= sim1$boots_A, boot_data_B= sim1$boots_B, name_A= name_A, name_B= name_B, rrep_thresh = -2, verbose = FALSE, dbg= "prep"), - "Invalid reproducibility threshold", fixed= TRUE) - expect_error(call_DTU(annot= sim1$annot, boot_data_A= sim1$boots_A, boot_data_B= sim1$boots_B, name_A= name_A, name_B= name_B, rrep_thresh = 2, verbose = FALSE, dbg= "prep"), - "Invalid reproducibility threshold", fixed= TRUE) - expect_error(call_DTU(annot= sim1$annot, boot_data_A= sim1$boots_A, boot_data_B= sim1$boots_B, name_A= name_A, name_B= name_B, qrep_thresh = -2, verbose = FALSE, dbg= "prep"), - "Invalid reproducibility threshold", fixed= TRUE) - expect_error(call_DTU(annot= sim1$annot, boot_data_A= sim1$boots_A, boot_data_B= sim1$boots_B, name_A= name_A, name_B= name_B, qrep_thresh = 2, verbose = FALSE, dbg= "prep"), - "Invalid reproducibility threshold", fixed= TRUE) - - # Number of threads. - expect_error(call_DTU(annot= sim1$annot, boot_data_A= sim1$boots_A, boot_data_B= sim1$boots_B, name_A= name_A, name_B= name_B, threads = 0, verbose= FALSE, dbg= "prep"), - "Invalid number of threads", fixed= TRUE) - expect_error(call_DTU(annot= sim1$annot, boot_data_A= sim1$boots_A, boot_data_B= sim1$boots_B, name_A= name_A, name_B= name_B, threads = -4, verbose= FALSE, dbg= "prep"), - "Invalid number of threads", fixed= TRUE) - expect_silent(call_DTU(annot= sim1$annot, boot_data_A= sim1$boots_A, boot_data_B= sim1$boots_B, name_A= name_A, name_B= name_B, threads = parallel::detectCores(logical=FALSE), verbose= FALSE, dbg= "prep")) - expect_silent(call_DTU(annot= sim1$annot, boot_data_A= sim1$boots_A, boot_data_B= sim1$boots_B, name_A= name_A, name_B= name_B, threads = parallel::detectCores(logical=TRUE), verbose= FALSE, dbg= "prep")) - expect_error(call_DTU(annot= sim1$annot, boot_data_A= sim1$boots_A, boot_data_B= sim1$boots_B, name_A= name_A, name_B= name_B, threads = parallel::detectCores(logical=TRUE) + 1, verbose= FALSE, dbg= "prep"), - "threads exceed", fixed= TRUE) - +#============================================================================== +test_that("Scaling parameters are checked", { + sim <- sim_boot_data(clean=TRUE) + # Scaling of abundances. - expect_error(call_DTU(annot= sim1$annot, boot_data_A= sim1$boots_A, boot_data_B= sim1$boots_B, verbose = FALSE, dbg= "prep", scaling=0), + expect_error(call_DTU(annot= sim$annot, boot_data_A= sim$boots_A, boot_data_B= sim$boots_B, verbose = FALSE, dbg= "prep", scaling=0), "Invalid scaling factor", fixed= TRUE) - expect_error(call_DTU(annot= sim1$annot, boot_data_A= sim1$boots_A, boot_data_B= sim1$boots_B, verbose = FALSE, dbg= "prep", scaling=-33), + expect_error(call_DTU(annot= sim$annot, boot_data_A= sim$boots_A, boot_data_B= sim$boots_B, verbose = FALSE, dbg= "prep", scaling=-33), "Invalid scaling factor", fixed= TRUE) - expect_error(call_DTU(annot= sim1$annot, boot_data_A= sim1$boots_A, boot_data_B= sim1$boots_B, verbose = FALSE, dbg= "prep", scaling=c(2,3,4)), + expect_error(call_DTU(annot= sim$annot, boot_data_A= sim$boots_A, boot_data_B= sim$boots_B, verbose = FALSE, dbg= "prep", scaling=c(2,3,4)), "Invalid scaling factor", fixed= TRUE) - expect_error(call_DTU(annot= sim1$annot, boot_data_A= sim1$boots_A, boot_data_B= sim1$boots_B, verbose = FALSE, dbg= "prep", scaling=c(1,2,3,4,5)), + expect_error(call_DTU(annot= sim$annot, boot_data_A= sim$boots_A, boot_data_B= sim$boots_B, verbose = FALSE, dbg= "prep", scaling=c(1,2,3,4,5)), "Invalid scaling factor", fixed= TRUE) - expect_error(call_DTU(annot= sim1$annot, boot_data_A= sim1$boots_A, boot_data_B= sim1$boots_B, verbose = FALSE, dbg= "prep", scaling=c(1,0,2,3,4)), + expect_error(call_DTU(annot= sim$annot, boot_data_A= sim$boots_A, boot_data_B= sim$boots_B, verbose = FALSE, dbg= "prep", scaling=c(1,0,2,3,4)), "Invalid scaling factor", fixed= TRUE) - expect_error(call_DTU(annot= sim1$annot, boot_data_A= sim1$boots_A, boot_data_B= sim1$boots_B, verbose = FALSE, dbg= "prep", scaling=c(1,2,-3,4,5)), + expect_error(call_DTU(annot= sim$annot, boot_data_A= sim$boots_A, boot_data_B= sim$boots_B, verbose = FALSE, dbg= "prep", scaling=c(1,2,-3,4,5)), "Invalid scaling factor", fixed= TRUE) }) +#============================================================================== +test_that("General behaviour parameters are checked", { + sim <- sim_boot_data(clean=TRUE) + + # Number of threads. + expect_error(call_DTU(annot= sim$annot, boot_data_A= sim$boots_A, boot_data_B= sim$boots_B, name_A= name_A, name_B= name_B, threads = 0, verbose= FALSE, dbg= "prep"), + "Invalid number of threads", fixed= TRUE) + expect_error(call_DTU(annot= sim$annot, boot_data_A= sim$boots_A, boot_data_B= sim$boots_B, name_A= name_A, name_B= name_B, threads = -4, verbose= FALSE, dbg= "prep"), + "Invalid number of threads", fixed= TRUE) + expect_silent(call_DTU(annot= sim$annot, boot_data_A= sim$boots_A, boot_data_B= sim$boots_B, name_A= name_A, name_B= name_B, threads = parallel::detectCores(logical=FALSE), verbose= FALSE, dbg= "prep")) + expect_silent(call_DTU(annot= sim$annot, boot_data_A= sim$boots_A, boot_data_B= sim$boots_B, name_A= name_A, name_B= name_B, threads = parallel::detectCores(logical=TRUE), verbose= FALSE, dbg= "prep")) + expect_error(call_DTU(annot= sim$annot, boot_data_A= sim$boots_A, boot_data_B= sim$boots_B, name_A= name_A, name_B= name_B, threads = parallel::detectCores(logical=TRUE) + 1, verbose= FALSE, dbg= "prep"), + "threads exceed", fixed= TRUE) + + # Verbose is bool. + expect_error(call_DTU(annot= sim$annot, boot_data_A= sim$boots_A, boot_data_B= sim$boots_B, name_A= name_A, name_B= name_B, verbose="yes", dbg= "prep"), + "not interpretable as logical", fixed= TRUE) +}) +#EOF diff --git a/tests/testthat/test_4_steps.R b/tests/testthat/test_4_steps.R index a1c064e..7a012b8 100644 --- a/tests/testthat/test_4_steps.R +++ b/tests/testthat/test_4_steps.R @@ -4,8 +4,8 @@ context("RATs main") #============================================================================== test_that("The paramater interpretations are correct", { - sim1 <- sim_boot_data() - sim2 <- sim_count_data() + sim1 <- sim_boot_data(clean=TRUE) + sim2 <- sim_count_data(clean=TRUE) # Bootstraps or counts? expect_equal(2, call_DTU(dbg='prep', annot= sim1$annot, boot_data_A= sim1$boots_A, boot_data_B= sim1$boots_B, verbose = FALSE)[[1]]) @@ -33,7 +33,7 @@ test_that("The index is received", { sim <- sim_boot_data() # tidy_annot() should be tested separately. expect_equal(tidy_annot(sim$annot), - call_DTU(dbg='indx', annot= sim$annot, boot_data_A= sim$boots_A, boot_data_B= sim$boots_B, verbose = FALSE)) + call_DTU(dbg='indx', annot= sim$annot, boot_data_A= sim$boots_A, boot_data_B= sim$boots_B, verbose = FALSE, reckless=TRUE)) }) @@ -43,9 +43,9 @@ test_that("Scaling is applied", { # Single factor. S <- 10 - bdt <- call_DTU(dbg='bootin', annot= sim$annot, boot_data_A= sim$boots_A, boot_data_B= sim$boots_B, verbose = FALSE, scaling=S) - cdt <- call_DTU(dbg='countin', annot= sim$annot, boot_data_A= sim$boots_A, boot_data_B= sim$boots_B, verbose = FALSE, scaling=S) - sdt <- call_DTU(dbg='scale', annot= sim$annot, boot_data_A= sim$boots_A, boot_data_B= sim$boots_B, verbose = FALSE, scaling=S) + bdt <- call_DTU(dbg='bootin', annot= sim$annot, boot_data_A= sim$boots_A, boot_data_B= sim$boots_B, verbose = FALSE, scaling=S, reckless=TRUE) + cdt <- call_DTU(dbg='countin', annot= sim$annot, boot_data_A= sim$boots_A, boot_data_B= sim$boots_B, verbose = FALSE, scaling=S, reckless=TRUE) + sdt <- call_DTU(dbg='scale', annot= sim$annot, boot_data_A= sim$boots_A, boot_data_B= sim$boots_B, verbose = FALSE, scaling=S, reckless=TRUE) expect_equal(S * cdt[[1]], sdt[[1]]) expect_equal(S * cdt[[2]], sdt[[2]]) for (b in 1:length(bdt$bootA)) { @@ -57,9 +57,9 @@ test_that("Scaling is applied", { # Vector. S <- c(10, 20, 30, 40) - bdt <- call_DTU(dbg='bootin', annot= sim$annot, boot_data_A= sim$boots_A, boot_data_B= sim$boots_B, verbose = FALSE, scaling=S) - cdt <- call_DTU(dbg='countin', annot= sim$annot, boot_data_A= sim$boots_A, boot_data_B= sim$boots_B, verbose = FALSE, scaling=S) - sdt <- call_DTU(dbg='scale', annot= sim$annot, boot_data_A= sim$boots_A, boot_data_B= sim$boots_B, verbose = FALSE, scaling=S) + bdt <- call_DTU(dbg='bootin', annot= sim$annot, boot_data_A= sim$boots_A, boot_data_B= sim$boots_B, verbose = FALSE, scaling=S, reckless=TRUE) + cdt <- call_DTU(dbg='countin', annot= sim$annot, boot_data_A= sim$boots_A, boot_data_B= sim$boots_B, verbose = FALSE, scaling=S, reckless=TRUE) + sdt <- call_DTU(dbg='scale', annot= sim$annot, boot_data_A= sim$boots_A, boot_data_B= sim$boots_B, verbose = FALSE, scaling=S, reckless=TRUE) expect_equal(S[1] * cdt[[1]]$V1, sdt[[1]]$V1) expect_equal(S[2] * cdt[[1]]$V2, sdt[[1]]$V2) @@ -78,7 +78,7 @@ test_that("Parameters are recorded", { description='Test.',name_A='cA', name_B='cB', varname='testing', p_thresh=0.001, abund_thresh=1, dprop_thresh=0.15, correction='bonferroni', qboot=TRUE, qbootnum=99, qrep_thresh=0.8, rboot=TRUE, rrep_thresh=0.6, - testmode="genes", seed=666, verbose = FALSE)$Parameters + testmode="genes", seed=666, verbose = FALSE, reckless=TRUE)$Parameters expect_equal(param$description, 'Test.') expect_true(!is.na(param$time)) diff --git a/tests/testthat/test_5_output.R b/tests/testthat/test_5_output.R index 2ddccfc..bdc7810 100644 --- a/tests/testthat/test_5_output.R +++ b/tests/testthat/test_5_output.R @@ -4,7 +4,7 @@ context("DTU Output") #============================================================================== test_that("The output structure is correct", { - sim <- sim_boot_data() + sim <- sim_boot_data(clean=TRUE) mydtu <- call_DTU(annot= sim$annot, boot_data_A= sim$boots_A, boot_data_B= sim$boots_B, name_A= "ONE", name_B= "TWO", qbootnum=2, qboot=TRUE, rboot=TRUE, verbose = FALSE) expect_type(mydtu, "list") @@ -12,12 +12,12 @@ test_that("The output structure is correct", { expect_named(mydtu, c("Parameters", "Genes", "Transcripts", "Abundances")) expect_type(mydtu$Parameters, "list") - expect_length(mydtu$Parameters, 25) + expect_length(mydtu$Parameters, 26) expect_named(mydtu$Parameters, c("description", "time", "rats_version", "R_version", "var_name", "cond_A", "cond_B", "data_type", "num_replic_A", "num_replic_B", "num_genes", "num_transc", "tests", "p_thresh", "abund_thresh", "dprop_thresh", "correction", "abund_scaling", "quant_boot", "quant_reprod_thresh", "quant_bootnum", - "rep_boot", "rep_reprod_thresh", "rep_bootnum", "seed")) + "rep_boot", "rep_reprod_thresh", "rep_bootnum", "seed", "reckless")) expect_true(is.data.frame(mydtu$Genes)) expect_equal(dim(mydtu$Genes)[2], 26) @@ -126,8 +126,8 @@ test_that("The output content is complete", { counts_A <- data_A[[2]] counts_B <- data_B[[1]] - mydtu <- list(call_DTU(annot= sim$annot, count_data_A = counts_A, count_data_B = counts_B, rboot=FALSE, qboot=FALSE, verbose = FALSE, description="test"), - call_DTU(annot= sim$annot, boot_data_A = data_A, boot_data_B = data_B, rboot=TRUE, qboot=TRUE, qbootnum=2, verbose = FALSE, description="test") + mydtu <- list(call_DTU(annot= sim$annot, count_data_A = counts_A, count_data_B = counts_B, rboot=FALSE, qboot=FALSE, verbose = FALSE, description="test", reckless=TRUE), + call_DTU(annot= sim$annot, boot_data_A = data_A, boot_data_B = data_B, rboot=TRUE, qboot=TRUE, qbootnum=2, verbose = FALSE, description="test", reckless=TRUE) ) for (x in length(mydtu)) { @@ -150,6 +150,8 @@ test_that("The output content is complete", { expect_false(is.na(mydtu[[x]]$Parameters$"time")) expect_false(is.na(mydtu[[x]]$Parameters$"rep_boot")) expect_false(is.na(mydtu[[x]]$Parameters$"quant_boot")) + # expect_false(is.na(mydtu[[x]]$Parameters$"seed")) # Actually it may be NA, if no specific seed is given. + expect_false(is.na(mydtu[[x]]$Parameters$"reckless")) if (x>1) { expect_false(is.na(mydtu[[x]]$Parameters$"rep_bootnum")) expect_false(is.na(mydtu[[x]]$Parameters$"quant_bootnum")) @@ -234,8 +236,8 @@ test_that("The result is consistent across input data formats", { counts_A <- data_A[[2]] counts_B <- data_B[[1]] - mydtu <- list(call_DTU(annot= sim$annot, boot_data_A = data_A, boot_data_B = data_B, rboot=FALSE, qboot=FALSE, verbose = FALSE), - call_DTU(annot= sim$annot, count_data_A = counts_A, count_data_B = counts_B, rboot=FALSE, qboot=FALSE, verbose = FALSE)) + mydtu <- list(call_DTU(annot= sim$annot, boot_data_A = data_A, boot_data_B = data_B, rboot=FALSE, qboot=FALSE, verbose = FALSE, reckless=TRUE), + call_DTU(annot= sim$annot, count_data_A = counts_A, count_data_B = counts_B, rboot=FALSE, qboot=FALSE, verbose = FALSE, reckless=TRUE)) expect_equal(mydtu[[1]][[2]][, seq(1,7), with=FALSE], mydtu[[2]][[2]][, seq(1,7), with=FALSE]) expect_equal(mydtu[[1]][[3]][, seq(1,4), with=FALSE], mydtu[[2]][[3]][, seq(1,4), with=FALSE]) @@ -248,7 +250,7 @@ test_that("Filters work correctly", { # !!! ensure correct response to specific scenarios. sim <- sim_boot_data() - mydtu <- call_DTU(annot= sim$annot, boot_data_A=sim$boots_A, boot_data_B=sim$boots_B, name_A= "ONE", name_B= "TWO", abund_thresh=8, dprop_thresh=0.1, verbose = FALSE, rboot=FALSE, qboot = FALSE, seed=666) + mydtu <- call_DTU(annot= sim$annot, boot_data_A=sim$boots_A, boot_data_B=sim$boots_B, name_A= "ONE", name_B= "TWO", abund_thresh=8, dprop_thresh=0.1, verbose = FALSE, rboot=FALSE, qboot = FALSE, seed=666, reckless=TRUE) expect_equivalent(as.list(mydtu$Genes["1A1B", list(known_transc, detect_transc, elig_transc, elig, elig_fx)]), list(2, 2, 2, TRUE, TRUE)) diff --git a/tests/testthat/test_6_reports.R b/tests/testthat/test_6_reports.R index 4ab0f39..0e1fce5 100644 --- a/tests/testthat/test_6_reports.R +++ b/tests/testthat/test_6_reports.R @@ -5,7 +5,7 @@ context("DTU Reports") #============================================================================== test_that("The summaries work", { sim <- sim_boot_data() - mydtu <- call_DTU(annot= sim$annot, boot_data_A= sim$boots_A, boot_data_B= sim$boots_B, name_A= "ONE", name_B= "TWO", qboot=FALSE, rboot=FALSE, verbose = FALSE) + mydtu <- call_DTU(annot= sim$annot, boot_data_A= sim$boots_A, boot_data_B= sim$boots_B, name_A= "ONE", name_B= "TWO", qboot=FALSE, rboot=FALSE, verbose = FALSE, reckless=TRUE) expect_silent(ids <- get_dtu_ids(mydtu)) expect_type(ids, "list") @@ -40,7 +40,7 @@ test_that("The summaries work", { expect_false(any(is.na(tally))) # Lower effect size threshold to verify that DTU changes accordingly. - mydtu <- call_DTU(annot= sim$annot, boot_data_A= sim$boots_A, boot_data_B= sim$boots_B, name_A= "ONE", name_B= "TWO", qboot=FALSE, rboot=FALSE, verbose = FALSE, dprop_thresh=0.1) + mydtu <- call_DTU(annot= sim$annot, boot_data_A= sim$boots_A, boot_data_B= sim$boots_B, name_A= "ONE", name_B= "TWO", qboot=FALSE, rboot=FALSE, verbose = FALSE, dprop_thresh=0.1, reckless=TRUE) expect_silent(ids <- get_dtu_ids(mydtu)) expect_equal(ids[[1]], c("1A1B", "MIX6", "CC")) @@ -64,7 +64,7 @@ test_that("The summaries work", { #============================================================================== test_that("The isoform switching summaries work", { sim <- sim_boot_data() - mydtu <- call_DTU(annot= sim$annot, boot_data_A= sim$boots_A, boot_data_B= sim$boots_B, name_A= "ONE", name_B= "TWO", qboot=FALSE, rboot=FALSE, verbose = FALSE, dprop_thresh=0.1) + mydtu <- call_DTU(annot= sim$annot, boot_data_A= sim$boots_A, boot_data_B= sim$boots_B, name_A= "ONE", name_B= "TWO", qboot=FALSE, rboot=FALSE, verbose = FALSE, dprop_thresh=0.1, reckless=TRUE) expect_silent(ids <- get_switch_ids(mydtu)) expect_type(ids, "list") @@ -90,7 +90,7 @@ test_that("The isoform switching summaries work", { #============================================================================== test_that("The plurality summaries work", { sim <- sim_boot_data() - mydtu <- call_DTU(annot= sim$annot, boot_data_A= sim$boots_A, boot_data_B= sim$boots_B, name_A= "ONE", name_B= "TWO", qboot=FALSE, rboot=FALSE, verbose = FALSE, dprop_thresh=0.1) + mydtu <- call_DTU(annot= sim$annot, boot_data_A= sim$boots_A, boot_data_B= sim$boots_B, name_A= "ONE", name_B= "TWO", qboot=FALSE, rboot=FALSE, verbose = FALSE, dprop_thresh=0.1, reckless=TRUE) expect_silent(ids <- get_plurality_ids(mydtu)) expect_type(ids, "list") @@ -107,7 +107,7 @@ test_that("The plurality summaries work", { expect_equal(tally[[2]], c(2, 1)) expect_equal(tally[[2]], as.vector(sapply(ids, length))) - mydtu <- call_DTU(annot= sim$annot, boot_data_A= sim$boots_A, boot_data_B= sim$boots_B, name_A= "ONE", name_B= "TWO", qboot=FALSE, rboot=FALSE, verbose = FALSE, dprop_thresh=0.3) + mydtu <- call_DTU(annot= sim$annot, boot_data_A= sim$boots_A, boot_data_B= sim$boots_B, name_A= "ONE", name_B= "TWO", qboot=FALSE, rboot=FALSE, verbose = FALSE, dprop_thresh=0.3, reckless=TRUE) expect_silent(ids <- get_plurality_ids(mydtu)) expect_silent(tally <- dtu_plurality_summary(mydtu)) expect_named(ids, c("2", "1")) @@ -119,7 +119,7 @@ test_that("The plurality summaries work", { #============================================================================== test_that("The gene plotting commands work", { sim <- sim_boot_data() - mydtu <- call_DTU(annot= sim$annot, boot_data_A= sim$boots_A, boot_data_B= sim$boots_B, name_A= "ONE", name_B= "TWO", qbootnum=2, verbose = FALSE) + mydtu <- call_DTU(annot= sim$annot, boot_data_A= sim$boots_A, boot_data_B= sim$boots_B, name_A= "ONE", name_B= "TWO", qbootnum=2, verbose = FALSE, reckless=TRUE) expect_silent(plot_gene(dtuo=mydtu, pid="MIX6")) expect_silent(plot_gene(dtuo=mydtu, pid="MIX6", style="bycondition")) @@ -155,10 +155,28 @@ test_that("The gene plotting commands work", { expect_silent(plot_gene(dtuo=mydtu, pid="MIX6", style="byisoform", shapeby="none")) }) +#============================================================================== +test_that("The all gene scenarios can be plotted", { + sim <- sim_boot_data() + mydtu <- call_DTU(annot= sim$annot, boot_data_A= sim$boots_A, boot_data_B= sim$boots_B, qbootnum=2, verbose = FALSE, reckless=TRUE) + + expect_silent(plot_gene(dtuo=mydtu, pid="1A1B")) + expect_silent(plot_gene(dtuo=mydtu, pid="1A1N")) # + expect_silent(plot_gene(dtuo=mydtu, pid="1B1C")) ## + expect_silent(plot_gene(dtuo=mydtu, pid="1D1C")) + expect_silent(plot_gene(dtuo=mydtu, pid="ALLA")) + expect_silent(plot_gene(dtuo=mydtu, pid="ALLB")) + expect_silent(plot_gene(dtuo=mydtu, pid="CC")) + expect_silent(plot_gene(dtuo=mydtu, pid="LC")) + expect_silent(plot_gene(dtuo=mydtu, pid="MIX6")) + expect_silent(plot_gene(dtuo=mydtu, pid="NIB")) ## + expect_silent(plot_gene(dtuo=mydtu, pid="NN")) +}) + #============================================================================== test_that("The overview plotting commands work", { sim <- sim_boot_data() - mydtu <- call_DTU(annot= sim$annot, boot_data_A= sim$boots_A, boot_data_B= sim$boots_B, name_A= "ONE", name_B= "TWO", qbootnum=2, verbose = FALSE) + mydtu <- call_DTU(annot= sim$annot, boot_data_A= sim$boots_A, boot_data_B= sim$boots_B, name_A= "ONE", name_B= "TWO", qbootnum=2, verbose = FALSE, reckless=TRUE) expect_silent(plot_overview(mydtu)) expect_silent(plot_overview(dtuo=mydtu, type="tvolcano")) diff --git a/vignettes/input.Rmd b/vignettes/input.Rmd index 8bbba78..be59177 100644 --- a/vignettes/input.Rmd +++ b/vignettes/input.Rmd @@ -103,8 +103,8 @@ RATs comes with data emulators, intended to be used for testing the code. Howeve use for showcasing how RATs works. By default, RATs reports on its progress and produces a summary report. These can be suppressed using the -`verbose = FALSE` parameter to the call. To prevent cluttering this tutorial with verbose output, we will use this -option in all the examples. +`verbose = FALSE` parameter. This also suppresses some warnings generated by RATs when checking the sanity of its input, +so we do not recommend it for general use. However, to prevent cluttering this tutorial with verbose output, we will use this option in our examples. If you choose to allow verbose output when trying out the examples below using the emulated data, you will get some **warnings** about the number of bootstraps. The warning is triggered because the emulated dataset used in the examples immitates only the structure of @@ -120,7 +120,7 @@ First, let's emulate some data to work with: ```{r, eval=FALSE} # Simulate some data. -simdat <- sim_count_data() +simdat <- sim_count_data(clean=TRUE) # For convenience let's assign the contents of the list to separate variables mycond_A <- simdat[[2]] # Simulated abundances for one condition. mycond_B <- simdat[[3]] # Simulated abundances for other condition. @@ -162,7 +162,7 @@ First, let's emulate some data, as we did before. ```{r} # Simulate some data. (Notice it is a different function than before.) -simdat <- sim_boot_data() +simdat <- sim_boot_data(clean=TRUE) # For convenience let's assign the contents of the list to separate variables mycond_A <- simdat[[2]] # Simulated bootstrapped data for one condition. @@ -501,22 +501,29 @@ You can mix and match scaling options as per your needs, so take care to ensure on TPM values, which is extremely underpowered and not recommended. Please, provide appropriate scaling factors for your data. -*** - - -# Annotation discrepancies +## Annotation discrepancies Different annotation versions often preserve transcript IDs, despite altering the details of the transcript model. +They also tend to include more or fewer transcripts, affecting the result of quantification. It is important to use the same annotation throughout the workflow, otherwise the abundances will not be comparable in a meaningful way. -All internal operations and the output of RATs are based on the annotation provided: +RATs will abort the run if the set of feature IDs in the provided annotation does not match fully the set of IDs in the quantifications. +If this happens, ensure you are using the exact same annotation throughout your workflow. + +For special use cases, RATs provides the option to ignore the discrepancy and pretend everything is OK. Do this at your own risk. + +```{r, eval=FALSE} +mydtu <- call_DTU(annot= myannot, boot_data_A= mydata$boot_data_A, + boot_data_B= mydata$boot_data_B, + reckless=TRUE, verbose=TRUE) +``` + -* Any transcript IDs present in the data but missing from the annotation will be silently ignored and -will not show up in the output, as they cannot be matched to the gene IDs. -* Any transcript/gene ID present in the annotation but missing from the data will be included in the output as zero expression. -* If the samples appear to have been quantified with different annotations from one another, RATs will abort. +In reckless mode, all internal operations and the output of RATs are based on the annotation provided: +* Any transcript IDs present in the data but missing from the annotation will be ignored and will not show up in the output at all, as they cannot be matched to the gene IDs. +* Any transcript ID present in the annotation but missing from the data will be included in the output as zero expression. They can be identified later as `NA` values in `$Transcripts[, .(stdevA, stdevB)]` as these fields are not used downstream by RATs. `NA` values in other numeric fields are explicitly overwritten with `0` to allow downstream interoperability. *** diff --git a/vignettes/output.Rmd b/vignettes/output.Rmd index 2d91416..16f6b28 100644 --- a/vignettes/output.Rmd +++ b/vignettes/output.Rmd @@ -1,7 +1,7 @@ --- title: 'RATs: Raw Output' author: "Kimon Froussios" -date: "05 JAN 2018" +date: "09 MAR 2018" output: html_document: keep_md: yes @@ -31,7 +31,7 @@ Set up an example. ```{r} # Simulate some data. -simdat <- sim_boot_data() +simdat <- sim_boot_data(clean=TRUE) # For convenience let's assign the contents of the list to separate variables mycond_A <- simdat[[2]] # Simulated bootstrapped data for one condition. mycond_B <- simdat[[3]] # Simulated bootstrapped data for other condition. @@ -168,9 +168,10 @@ print( names(mydtu$Parameters) ) * `rep_reprod_thresh` - (num) The value passed to the `rrep_thresh` parameter, if `rboot==TRUE`.. * `rep_boot` - (bool) The value passed to the `rboot` parameter. * `rep_bootnum` - (int) The number of replicate bootstrapping iterations (currently M*N, where M and N are the numbers of samples in the two conditions), if `rboot==TRUE`. -* `seed` - (int) Custom seed for the random generator. +* `seed` - (int) Custom seed for the random generator. `NA` if none was specified. +* `reckless` - (bool) The value passed to the `reckless` parameter. -**Note:** If bootstraps are disabled, the bootstrap-related fields may have `NA` values despite any values that were passed to their respective parameters. +**Note:** If bootstraps are disabled, the bootstrap-related fields may be `NA`, regardless of supplied values, to reflect the fact that they were not used. ## Genes diff --git a/vignettes/plots.Rmd b/vignettes/plots.Rmd index 88cd16a..5bd2580 100644 --- a/vignettes/plots.Rmd +++ b/vignettes/plots.Rmd @@ -35,7 +35,7 @@ Set up an example. ```{r} # Simulate some data. -simdat <- sim_boot_data() +simdat <- sim_boot_data(clean=TRUE) # For convenience let's assign the contents of the list to separate variables mycond_A <- simdat[[2]] # Simulated bootstrapped data for one condition. mycond_B <- simdat[[3]] # Simulated bootstrapped data for other condition. From f1adf02aad8ac74211074be00aa08294961fc7ee Mon Sep 17 00:00:00 2001 From: fruce-ki <jack_ohara_097@hotmail.com> Date: Fri, 9 Mar 2018 17:53:57 +0000 Subject: [PATCH 3/5] 0.6.2-2 --- DESCRIPTION | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index aeb2231..0d8190f 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,7 +1,7 @@ Type: Package Package: rats -Version: 0.6.2-1 -Date: 2018-03-07 +Version: 0.6.2-2 +Date: 2018-03-09 Title: Relative Abundance of Transcripts Encoding: UTF-8 Authors: c(person("Kimon Froussios", role=c("aut"), email="k.froussios@dundee.ac.uk"), From e997a79ed0e2b5c02d8f6b8618d9ddfe9769d870 Mon Sep 17 00:00:00 2001 From: fruce-ki <jack_ohara_097@hotmail.com> Date: Tue, 13 Mar 2018 10:17:59 +0000 Subject: [PATCH 4/5] returning min valid abund_thresh to 0 instead of 1 Initially changed as an idea towards fixing the filtering bug, but additional explicit checks have been put in place since then, thus changed range of valid values no longer needed. --- R/func.R | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/R/func.R b/R/func.R index bca65ba..830fe67 100644 --- a/R/func.R +++ b/R/func.R @@ -67,8 +67,8 @@ parameters_are_good <- function(annot, count_data_A, count_data_B, boot_data_A, return(list("error"=TRUE, "message"="Invalid p-value threshold!")) if ((!is.numeric(dprop_thresh)) || dprop_thresh < 0 || dprop_thresh > 1) return(list("error"=TRUE, "message"="Invalid proportion difference threshold! Must be between 0 and 1.")) - if ((!is.numeric(abund_thresh)) || abund_thresh < 1) - return(list("error"=TRUE, "message"="Invalid abundance threshold! Must be a count >= 1.")) + if ((!is.numeric(abund_thresh)) || abund_thresh < 0) + return(list("error"=TRUE, "message"="Invalid abundance threshold! Must be a count >= 0.")) if ((!is.numeric(qbootnum)) || qbootnum < 0) return(list("error"=TRUE, "message"="Invalid number of bootstraps! Must be a positive integer number.")) if (!is.logical(qboot)) From 1c4ff4da379ffa4d4b7087e768dcd419256105fe Mon Sep 17 00:00:00 2001 From: fruce-ki <jack_ohara_097@hotmail.com> Date: Tue, 13 Mar 2018 17:56:27 +0000 Subject: [PATCH 5/5] 0.6.3 --- DESCRIPTION | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index 0d8190f..779f6d0 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,7 +1,7 @@ Type: Package Package: rats -Version: 0.6.2-2 -Date: 2018-03-09 +Version: 0.6.3 +Date: 2018-03-13 Title: Relative Abundance of Transcripts Encoding: UTF-8 Authors: c(person("Kimon Froussios", role=c("aut"), email="k.froussios@dundee.ac.uk"),